@ascentgl/ads-ui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1302) hide show
  1. package/README.md +7 -0
  2. package/esm2022/ascentgl-ads-ui.mjs +5 -0
  3. package/esm2022/index.mjs +87 -0
  4. package/esm2022/lib/components/avatar/avatar.component.mjs +50 -0
  5. package/esm2022/lib/components/avatar/avatar.module.mjs +19 -0
  6. package/esm2022/lib/components/avatar/avatar.types.mjs +2 -0
  7. package/esm2022/lib/components/avatar/index.mjs +2 -0
  8. package/esm2022/lib/components/avatar/public-api.mjs +3 -0
  9. package/esm2022/lib/components/badge/index.mjs +2 -0
  10. package/esm2022/lib/components/badge/numeric-badge.component.mjs +35 -0
  11. package/esm2022/lib/components/badge/numeric-badge.module.mjs +19 -0
  12. package/esm2022/lib/components/badge/public-api.mjs +3 -0
  13. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +62 -0
  14. package/esm2022/lib/components/breadcrumb/breadcrumb.module.mjs +21 -0
  15. package/esm2022/lib/components/breadcrumb/breadcrumb.type.mjs +2 -0
  16. package/esm2022/lib/components/breadcrumb/breadcrumb.visual-processor.mjs +151 -0
  17. package/esm2022/lib/components/breadcrumb/index.mjs +2 -0
  18. package/esm2022/lib/components/breadcrumb/public-api.mjs +4 -0
  19. package/esm2022/lib/components/buttons/button/button.component.mjs +31 -0
  20. package/esm2022/lib/components/buttons/button/button.module.mjs +19 -0
  21. package/esm2022/lib/components/buttons/button/index.mjs +2 -0
  22. package/esm2022/lib/components/buttons/button/public-api.mjs +3 -0
  23. package/esm2022/lib/components/buttons/button-container/button-container.component.mjs +17 -0
  24. package/esm2022/lib/components/buttons/button-container/button-container.module.mjs +18 -0
  25. package/esm2022/lib/components/buttons/button-container/index.mjs +2 -0
  26. package/esm2022/lib/components/buttons/button-container/public-api.mjs +3 -0
  27. package/esm2022/lib/components/buttons/icon-button/icon-button.component.mjs +36 -0
  28. package/esm2022/lib/components/buttons/icon-button/icon-button.module.mjs +20 -0
  29. package/esm2022/lib/components/buttons/icon-button/index.mjs +2 -0
  30. package/esm2022/lib/components/buttons/icon-button/public-api.mjs +3 -0
  31. package/esm2022/lib/components/buttons/link-button/index.mjs +2 -0
  32. package/esm2022/lib/components/buttons/link-button/link-button.component.mjs +18 -0
  33. package/esm2022/lib/components/buttons/link-button/link-button.module.mjs +20 -0
  34. package/esm2022/lib/components/buttons/link-button/public-api.mjs +3 -0
  35. package/esm2022/lib/components/buttons/selection-button/index.mjs +2 -0
  36. package/esm2022/lib/components/buttons/selection-button/public-api.mjs +3 -0
  37. package/esm2022/lib/components/buttons/selection-button/selection-button.component.mjs +60 -0
  38. package/esm2022/lib/components/buttons/selection-button/selection-button.module.mjs +20 -0
  39. package/esm2022/lib/components/card/card.component.mjs +11 -0
  40. package/esm2022/lib/components/card/card.module.mjs +18 -0
  41. package/esm2022/lib/components/card/index.mjs +2 -0
  42. package/esm2022/lib/components/card/public-api.mjs +3 -0
  43. package/esm2022/lib/components/chip/chip.component.mjs +45 -0
  44. package/esm2022/lib/components/chip/chip.module.mjs +19 -0
  45. package/esm2022/lib/components/chip/chip.types.mjs +2 -0
  46. package/esm2022/lib/components/chip/index.mjs +2 -0
  47. package/esm2022/lib/components/chip/public-api.mjs +3 -0
  48. package/esm2022/lib/components/divider/divider.component.mjs +43 -0
  49. package/esm2022/lib/components/divider/divider.module.mjs +18 -0
  50. package/esm2022/lib/components/divider/index.mjs +2 -0
  51. package/esm2022/lib/components/divider/public-api.mjs +3 -0
  52. package/esm2022/lib/components/drag-and-drop-list/dom.element.mjs +62 -0
  53. package/esm2022/lib/components/drag-and-drop-list/drag-and-drop-list.component.mjs +349 -0
  54. package/esm2022/lib/components/drag-and-drop-list/drag-and-drop-list.enums.mjs +2 -0
  55. package/esm2022/lib/components/drag-and-drop-list/drag-and-drop-list.module.mjs +18 -0
  56. package/esm2022/lib/components/drag-and-drop-list/dragged.placeholder.mjs +63 -0
  57. package/esm2022/lib/components/drag-and-drop-list/index.mjs +2 -0
  58. package/esm2022/lib/components/drag-and-drop-list/public-api.mjs +3 -0
  59. package/esm2022/lib/components/error-page/error-page-code/error-page-code.component.mjs +14 -0
  60. package/esm2022/lib/components/error-page/error-page-code/error-page-code.module.mjs +18 -0
  61. package/esm2022/lib/components/error-page/error-page-code/index.mjs +2 -0
  62. package/esm2022/lib/components/error-page/error-page-code/public-api.mjs +3 -0
  63. package/esm2022/lib/components/error-page/error-page.component.mjs +110 -0
  64. package/esm2022/lib/components/error-page/error-page.module.mjs +25 -0
  65. package/esm2022/lib/components/error-page/error-page.types.mjs +7 -0
  66. package/esm2022/lib/components/error-page/index.mjs +2 -0
  67. package/esm2022/lib/components/error-page/public-api.mjs +4 -0
  68. package/esm2022/lib/components/expansion-panel/expansion-panel.component.mjs +33 -0
  69. package/esm2022/lib/components/expansion-panel/expansion-panel.module.mjs +36 -0
  70. package/esm2022/lib/components/expansion-panel/index.mjs +2 -0
  71. package/esm2022/lib/components/expansion-panel/public-api.mjs +3 -0
  72. package/esm2022/lib/components/footer/container/footer-container.component.mjs +11 -0
  73. package/esm2022/lib/components/footer/container/footer-container.module.mjs +16 -0
  74. package/esm2022/lib/components/footer/container/index.mjs +2 -0
  75. package/esm2022/lib/components/footer/container/public-api.mjs +3 -0
  76. package/esm2022/lib/components/footer/footer.component.mjs +35 -0
  77. package/esm2022/lib/components/footer/footer.component.types.mjs +2 -0
  78. package/esm2022/lib/components/footer/footer.module.mjs +18 -0
  79. package/esm2022/lib/components/footer/index.mjs +2 -0
  80. package/esm2022/lib/components/footer/public-api.mjs +4 -0
  81. package/esm2022/lib/components/form-fields/abstracts/abstract.base.component.mjs +155 -0
  82. package/esm2022/lib/components/form-fields/abstracts/abstract.dropdown.component.mjs +108 -0
  83. package/esm2022/lib/components/form-fields/abstracts/abstract.input.component.mjs +52 -0
  84. package/esm2022/lib/components/form-fields/area/index.mjs +2 -0
  85. package/esm2022/lib/components/form-fields/area/public-api.mjs +3 -0
  86. package/esm2022/lib/components/form-fields/area/textarea.component.mjs +37 -0
  87. package/esm2022/lib/components/form-fields/area/textarea.module.mjs +55 -0
  88. package/esm2022/lib/components/form-fields/common/dropdown-option-template.directive.mjs +17 -0
  89. package/esm2022/lib/components/form-fields/common/error/error.component.mjs +29 -0
  90. package/esm2022/lib/components/form-fields/common/hint/hint.component.mjs +36 -0
  91. package/esm2022/lib/components/form-fields/common/input.tooltip.component.mjs +38 -0
  92. package/esm2022/lib/components/form-fields/common/success/success.component.mjs +29 -0
  93. package/esm2022/lib/components/form-fields/datepickers/date-picker/datepicker.component.mjs +61 -0
  94. package/esm2022/lib/components/form-fields/datepickers/date-picker/datepicker.module.mjs +87 -0
  95. package/esm2022/lib/components/form-fields/datepickers/date-picker/index.mjs +2 -0
  96. package/esm2022/lib/components/form-fields/datepickers/date-picker/public-api.mjs +3 -0
  97. package/esm2022/lib/components/form-fields/datepickers/datetime-picker/custom-datetime-format.mjs +36 -0
  98. package/esm2022/lib/components/form-fields/datepickers/datetime-picker/custom-datetime.adapter.mjs +49 -0
  99. package/esm2022/lib/components/form-fields/datepickers/datetime-picker/datetime-picker-format-directive.mjs +66 -0
  100. package/esm2022/lib/components/form-fields/datepickers/datetime-picker/datetime-template.formatter.mjs +171 -0
  101. package/esm2022/lib/components/form-fields/datepickers/datetime-picker/datetimepicker.component.mjs +398 -0
  102. package/esm2022/lib/components/form-fields/datepickers/datetime-picker/datetimepicker.module.mjs +87 -0
  103. package/esm2022/lib/components/form-fields/datepickers/datetime-picker/index.mjs +2 -0
  104. package/esm2022/lib/components/form-fields/datepickers/datetime-picker/public-api.mjs +3 -0
  105. package/esm2022/lib/components/form-fields/datepickers/time-picker/index.mjs +2 -0
  106. package/esm2022/lib/components/form-fields/datepickers/time-picker/public-api.mjs +3 -0
  107. package/esm2022/lib/components/form-fields/datepickers/time-picker/timepicker.component.mjs +77 -0
  108. package/esm2022/lib/components/form-fields/datepickers/time-picker/timepicker.module.mjs +90 -0
  109. package/esm2022/lib/components/form-fields/dropdowns/dropdown/dropdown.component.mjs +194 -0
  110. package/esm2022/lib/components/form-fields/dropdowns/dropdown/dropdown.module.mjs +71 -0
  111. package/esm2022/lib/components/form-fields/dropdowns/dropdown/index.mjs +2 -0
  112. package/esm2022/lib/components/form-fields/dropdowns/dropdown/public-api.mjs +3 -0
  113. package/esm2022/lib/components/form-fields/dropdowns/input-dropdown/index.mjs +2 -0
  114. package/esm2022/lib/components/form-fields/dropdowns/input-dropdown/input-dropdown.component.mjs +103 -0
  115. package/esm2022/lib/components/form-fields/dropdowns/input-dropdown/input-dropdown.module.mjs +67 -0
  116. package/esm2022/lib/components/form-fields/dropdowns/input-dropdown/public-api.mjs +3 -0
  117. package/esm2022/lib/components/form-fields/dropdowns/multi-select-dropdown/index.mjs +2 -0
  118. package/esm2022/lib/components/form-fields/dropdowns/multi-select-dropdown/multi-select-dropdown.component.mjs +67 -0
  119. package/esm2022/lib/components/form-fields/dropdowns/multi-select-dropdown/multi-select-dropdown.module.mjs +71 -0
  120. package/esm2022/lib/components/form-fields/dropdowns/multi-select-dropdown/public-api.mjs +3 -0
  121. package/esm2022/lib/components/form-fields/input/index.mjs +2 -0
  122. package/esm2022/lib/components/form-fields/input/input.component.mjs +72 -0
  123. package/esm2022/lib/components/form-fields/input/input.module.mjs +55 -0
  124. package/esm2022/lib/components/form-fields/input/public-api.mjs +3 -0
  125. package/esm2022/lib/components/form-fields/search-fields/search-dropdown/index.mjs +2 -0
  126. package/esm2022/lib/components/form-fields/search-fields/search-dropdown/public-api.mjs +3 -0
  127. package/esm2022/lib/components/form-fields/search-fields/search-dropdown/search-dropdown-highlighter.pipe.mjs +33 -0
  128. package/esm2022/lib/components/form-fields/search-fields/search-dropdown/search-dropdown.component.mjs +683 -0
  129. package/esm2022/lib/components/form-fields/search-fields/search-dropdown/search-dropdown.component.types.mjs +2 -0
  130. package/esm2022/lib/components/form-fields/search-fields/search-dropdown/search-dropdown.module.mjs +75 -0
  131. package/esm2022/lib/components/form-fields/search-fields/search-input/index.mjs +2 -0
  132. package/esm2022/lib/components/form-fields/search-fields/search-input/public-api.mjs +3 -0
  133. package/esm2022/lib/components/form-fields/search-fields/search-input/search-input.component.mjs +43 -0
  134. package/esm2022/lib/components/form-fields/search-fields/search-input/search-input.module.mjs +67 -0
  135. package/esm2022/lib/components/form-fields/selection-fields/checkbox/checkbox.component.mjs +47 -0
  136. package/esm2022/lib/components/form-fields/selection-fields/checkbox/checkbox.module.mjs +39 -0
  137. package/esm2022/lib/components/form-fields/selection-fields/checkbox/index.mjs +2 -0
  138. package/esm2022/lib/components/form-fields/selection-fields/checkbox/public-api.mjs +3 -0
  139. package/esm2022/lib/components/form-fields/selection-fields/radio-button/index.mjs +2 -0
  140. package/esm2022/lib/components/form-fields/selection-fields/radio-button/public-api.mjs +3 -0
  141. package/esm2022/lib/components/form-fields/selection-fields/radio-button/radio-button.component.mjs +53 -0
  142. package/esm2022/lib/components/form-fields/selection-fields/radio-button/radio-button.module.mjs +55 -0
  143. package/esm2022/lib/components/form-fields/selection-fields/slide-toggle/index.mjs +2 -0
  144. package/esm2022/lib/components/form-fields/selection-fields/slide-toggle/public-api.mjs +3 -0
  145. package/esm2022/lib/components/form-fields/selection-fields/slide-toggle/slide-toggle.component.mjs +56 -0
  146. package/esm2022/lib/components/form-fields/selection-fields/slide-toggle/slide-toggle.module.mjs +39 -0
  147. package/esm2022/lib/components/form-fields/selection-fields/slider/index.mjs +2 -0
  148. package/esm2022/lib/components/form-fields/selection-fields/slider/public-api.mjs +3 -0
  149. package/esm2022/lib/components/form-fields/selection-fields/slider/slider.component.mjs +44 -0
  150. package/esm2022/lib/components/form-fields/selection-fields/slider/slider.module.mjs +43 -0
  151. package/esm2022/lib/components/general/color-palette/colors.enums.mjs +39 -0
  152. package/esm2022/lib/components/header/container/header-container.component.mjs +19 -0
  153. package/esm2022/lib/components/header/container/header-container.module.mjs +16 -0
  154. package/esm2022/lib/components/header/container/index.mjs +2 -0
  155. package/esm2022/lib/components/header/container/public-api.mjs +3 -0
  156. package/esm2022/lib/components/header/header.component.mjs +11 -0
  157. package/esm2022/lib/components/header/header.module.mjs +16 -0
  158. package/esm2022/lib/components/header/index.mjs +2 -0
  159. package/esm2022/lib/components/header/org-display-text/index.mjs +2 -0
  160. package/esm2022/lib/components/header/org-display-text/org-display-text.component.mjs +22 -0
  161. package/esm2022/lib/components/header/org-display-text/org-display-text.module.mjs +18 -0
  162. package/esm2022/lib/components/header/org-display-text/public-api.mjs +3 -0
  163. package/esm2022/lib/components/header/public-api.mjs +3 -0
  164. package/esm2022/lib/components/icon-hover/icon-hover.component.mjs +33 -0
  165. package/esm2022/lib/components/icon-hover/icon-hover.module.mjs +16 -0
  166. package/esm2022/lib/components/icon-hover/index.mjs +2 -0
  167. package/esm2022/lib/components/icon-hover/public-api.mjs +3 -0
  168. package/esm2022/lib/components/logo/ascent-logo/ascent-logo.component.mjs +29 -0
  169. package/esm2022/lib/components/logo/ascent-logo/ascent-logo.module.mjs +18 -0
  170. package/esm2022/lib/components/logo/ascent-logo/index.mjs +2 -0
  171. package/esm2022/lib/components/logo/ascent-logo/public-api.mjs +3 -0
  172. package/esm2022/lib/components/logo/primary-logo/index.mjs +2 -0
  173. package/esm2022/lib/components/logo/primary-logo/primary-logo.component.mjs +37 -0
  174. package/esm2022/lib/components/logo/primary-logo/primary-logo.module.mjs +18 -0
  175. package/esm2022/lib/components/logo/primary-logo/public-api.mjs +3 -0
  176. package/esm2022/lib/components/main-menu/index.mjs +2 -0
  177. package/esm2022/lib/components/main-menu/main-menu-bottom-sheet/main-menu-bottom-sheet.component.mjs +22 -0
  178. package/esm2022/lib/components/main-menu/main-menu.component.mjs +76 -0
  179. package/esm2022/lib/components/main-menu/main-menu.module.mjs +45 -0
  180. package/esm2022/lib/components/main-menu/main-menu.types.mjs +2 -0
  181. package/esm2022/lib/components/main-menu/public-api.mjs +4 -0
  182. package/esm2022/lib/components/modal/index.mjs +2 -0
  183. package/esm2022/lib/components/modal/modal.component.mjs +41 -0
  184. package/esm2022/lib/components/modal/modal.module.mjs +22 -0
  185. package/esm2022/lib/components/modal/public-api.mjs +3 -0
  186. package/esm2022/lib/components/navigation/dashboard-edit-icon/dashboard-edit-icon.component.mjs +46 -0
  187. package/esm2022/lib/components/navigation/dashboard-edit-icon/dashboard-edit-icon.module.mjs +18 -0
  188. package/esm2022/lib/components/navigation/dashboard-edit-icon/index.mjs +2 -0
  189. package/esm2022/lib/components/navigation/dashboard-edit-icon/public-api.mjs +3 -0
  190. package/esm2022/lib/components/navigation/index.mjs +2 -0
  191. package/esm2022/lib/components/navigation/navigation-actions-container/index.mjs +2 -0
  192. package/esm2022/lib/components/navigation/navigation-actions-container/navigation-actions-container.component.mjs +20 -0
  193. package/esm2022/lib/components/navigation/navigation-actions-container/navigation-actions-container.module.mjs +18 -0
  194. package/esm2022/lib/components/navigation/navigation-actions-container/public-api.mjs +3 -0
  195. package/esm2022/lib/components/navigation/navigation-collapse-handle/index.mjs +2 -0
  196. package/esm2022/lib/components/navigation/navigation-collapse-handle/navigation-collapse-handle.component.mjs +48 -0
  197. package/esm2022/lib/components/navigation/navigation-collapse-handle/navigation-collapse-handle.module.mjs +18 -0
  198. package/esm2022/lib/components/navigation/navigation-collapse-handle/public-api.mjs +3 -0
  199. package/esm2022/lib/components/navigation/navigation-header/index.mjs +2 -0
  200. package/esm2022/lib/components/navigation/navigation-header/navigation-header.component.mjs +25 -0
  201. package/esm2022/lib/components/navigation/navigation-header/navigation-header.module.mjs +16 -0
  202. package/esm2022/lib/components/navigation/navigation-header/public-api.mjs +3 -0
  203. package/esm2022/lib/components/navigation/navigation-item/index.mjs +2 -0
  204. package/esm2022/lib/components/navigation/navigation-item/navigation-item.component.mjs +74 -0
  205. package/esm2022/lib/components/navigation/navigation-item/navigation-item.module.mjs +21 -0
  206. package/esm2022/lib/components/navigation/navigation-item/public-api.mjs +3 -0
  207. package/esm2022/lib/components/navigation/navigation-items-container/index.mjs +2 -0
  208. package/esm2022/lib/components/navigation/navigation-items-container/navigation-items-container.component.mjs +11 -0
  209. package/esm2022/lib/components/navigation/navigation-items-container/navigation-items-container.module.mjs +16 -0
  210. package/esm2022/lib/components/navigation/navigation-items-container/public-api.mjs +3 -0
  211. package/esm2022/lib/components/navigation/navigation.component.mjs +25 -0
  212. package/esm2022/lib/components/navigation/navigation.module.mjs +16 -0
  213. package/esm2022/lib/components/navigation/public-api.mjs +3 -0
  214. package/esm2022/lib/components/navigation/side-navigation/side-navigation-container/index.mjs +2 -0
  215. package/esm2022/lib/components/navigation/side-navigation/side-navigation-container/public-api.mjs +3 -0
  216. package/esm2022/lib/components/navigation/side-navigation/side-navigation-container/side-navigation-container.component.mjs +11 -0
  217. package/esm2022/lib/components/navigation/side-navigation/side-navigation-container/side-navigation-container.module.mjs +16 -0
  218. package/esm2022/lib/components/navigation/side-navigation/side-navigation-item/index.mjs +2 -0
  219. package/esm2022/lib/components/navigation/side-navigation/side-navigation-item/public-api.mjs +3 -0
  220. package/esm2022/lib/components/navigation/side-navigation/side-navigation-item/side-navigation-item.component.mjs +67 -0
  221. package/esm2022/lib/components/navigation/side-navigation/side-navigation-item/side-navigation-item.module.mjs +21 -0
  222. package/esm2022/lib/components/navigation/sub-navigation-item/index.mjs +2 -0
  223. package/esm2022/lib/components/navigation/sub-navigation-item/public-api.mjs +3 -0
  224. package/esm2022/lib/components/navigation/sub-navigation-item/sub-navigation-item.component.mjs +36 -0
  225. package/esm2022/lib/components/navigation/sub-navigation-item/sub-navigation-item.module.mjs +18 -0
  226. package/esm2022/lib/components/navigation/sub-navigation-items-container/index.mjs +2 -0
  227. package/esm2022/lib/components/navigation/sub-navigation-items-container/public-api.mjs +3 -0
  228. package/esm2022/lib/components/navigation/sub-navigation-items-container/sub-navigation-items-container.component.mjs +11 -0
  229. package/esm2022/lib/components/navigation/sub-navigation-items-container/sub-navigation-items-container.module.mjs +16 -0
  230. package/esm2022/lib/components/pagination/container/index.mjs +2 -0
  231. package/esm2022/lib/components/pagination/container/pagination-container.component.mjs +11 -0
  232. package/esm2022/lib/components/pagination/container/pagination-container.module.mjs +16 -0
  233. package/esm2022/lib/components/pagination/container/public-api.mjs +3 -0
  234. package/esm2022/lib/components/pagination/index.mjs +2 -0
  235. package/esm2022/lib/components/pagination/pagination.component.mjs +85 -0
  236. package/esm2022/lib/components/pagination/pagination.module.mjs +19 -0
  237. package/esm2022/lib/components/pagination/public-api.mjs +3 -0
  238. package/esm2022/lib/components/progress-indicators/progress-bar/index.mjs +2 -0
  239. package/esm2022/lib/components/progress-indicators/progress-bar/progress-bar.component.mjs +78 -0
  240. package/esm2022/lib/components/progress-indicators/progress-bar/progress-bar.module.mjs +19 -0
  241. package/esm2022/lib/components/progress-indicators/progress-bar/public-api.mjs +3 -0
  242. package/esm2022/lib/components/progress-indicators/progress-indicator-spinner/index.mjs +2 -0
  243. package/esm2022/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.component.mjs +79 -0
  244. package/esm2022/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.module.mjs +19 -0
  245. package/esm2022/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.types.mjs +8 -0
  246. package/esm2022/lib/components/progress-indicators/progress-indicator-spinner/public-api.mjs +3 -0
  247. package/esm2022/lib/components/progress-indicators/progress-spinner/index.mjs +2 -0
  248. package/esm2022/lib/components/progress-indicators/progress-spinner/progress-spinner.component.mjs +95 -0
  249. package/esm2022/lib/components/progress-indicators/progress-spinner/progress-spinner.module.mjs +22 -0
  250. package/esm2022/lib/components/progress-indicators/progress-spinner/public-api.mjs +3 -0
  251. package/esm2022/lib/components/progress-stepper/index.mjs +2 -0
  252. package/esm2022/lib/components/progress-stepper/progress-step.types.mjs +2 -0
  253. package/esm2022/lib/components/progress-stepper/progress-stepper.component.mjs +106 -0
  254. package/esm2022/lib/components/progress-stepper/progress-stepper.module.mjs +27 -0
  255. package/esm2022/lib/components/progress-stepper/public-api.mjs +4 -0
  256. package/esm2022/lib/components/rating/index.mjs +2 -0
  257. package/esm2022/lib/components/rating/public-api.mjs +3 -0
  258. package/esm2022/lib/components/rating/rating.component.mjs +69 -0
  259. package/esm2022/lib/components/rating/rating.module.mjs +19 -0
  260. package/esm2022/lib/components/shell-layout/index.mjs +2 -0
  261. package/esm2022/lib/components/shell-layout/public-api.mjs +3 -0
  262. package/esm2022/lib/components/shell-layout/shell-layout.component.mjs +25 -0
  263. package/esm2022/lib/components/shell-layout/shell-layout.module.mjs +18 -0
  264. package/esm2022/lib/components/snackbars/inline-snackbar/index.mjs +2 -0
  265. package/esm2022/lib/components/snackbars/inline-snackbar/inline-snackbar.component.mjs +63 -0
  266. package/esm2022/lib/components/snackbars/inline-snackbar/inline-snackbar.module.mjs +19 -0
  267. package/esm2022/lib/components/snackbars/inline-snackbar/public-api.mjs +3 -0
  268. package/esm2022/lib/components/snackbars/snackbar/index.mjs +2 -0
  269. package/esm2022/lib/components/snackbars/snackbar/public-api.mjs +3 -0
  270. package/esm2022/lib/components/snackbars/snackbar/snackbar.component.mjs +30 -0
  271. package/esm2022/lib/components/snackbars/snackbar/snackbar.module.mjs +21 -0
  272. package/esm2022/lib/components/splash-page/index.mjs +2 -0
  273. package/esm2022/lib/components/splash-page/public-api.mjs +3 -0
  274. package/esm2022/lib/components/splash-page/splash-page.component.mjs +20 -0
  275. package/esm2022/lib/components/splash-page/splash-page.module.mjs +18 -0
  276. package/esm2022/lib/components/stepper-condensed/condensed-helpers.mjs +97 -0
  277. package/esm2022/lib/components/stepper-condensed/condensed-step.type.mjs +12 -0
  278. package/esm2022/lib/components/stepper-condensed/index.mjs +2 -0
  279. package/esm2022/lib/components/stepper-condensed/public-api.mjs +5 -0
  280. package/esm2022/lib/components/stepper-condensed/stepper-condensed.component.mjs +149 -0
  281. package/esm2022/lib/components/stepper-condensed/stepper-condensed.module.mjs +28 -0
  282. package/esm2022/lib/components/submenu/submenu-container/index.mjs +2 -0
  283. package/esm2022/lib/components/submenu/submenu-container/public-api.mjs +3 -0
  284. package/esm2022/lib/components/submenu/submenu-container/submenu-container.component.mjs +22 -0
  285. package/esm2022/lib/components/submenu/submenu-container/submenu-container.module.mjs +18 -0
  286. package/esm2022/lib/components/submenu/submenu-heading/index.mjs +2 -0
  287. package/esm2022/lib/components/submenu/submenu-heading/public-api.mjs +3 -0
  288. package/esm2022/lib/components/submenu/submenu-heading/submenu-heading.component.mjs +17 -0
  289. package/esm2022/lib/components/submenu/submenu-heading/submenu-heading.module.mjs +18 -0
  290. package/esm2022/lib/components/submenu/submenu-item/index.mjs +2 -0
  291. package/esm2022/lib/components/submenu/submenu-item/public-api.mjs +3 -0
  292. package/esm2022/lib/components/submenu/submenu-item/submenu-item.component.mjs +28 -0
  293. package/esm2022/lib/components/submenu/submenu-item/submenu-item.module.mjs +19 -0
  294. package/esm2022/lib/components/submenu/submenu-secondary-item/index.mjs +2 -0
  295. package/esm2022/lib/components/submenu/submenu-secondary-item/public-api.mjs +3 -0
  296. package/esm2022/lib/components/submenu/submenu-secondary-item/submenu-secondary-item.component.mjs +33 -0
  297. package/esm2022/lib/components/submenu/submenu-secondary-item/submenu-secondary-item.module.mjs +19 -0
  298. package/esm2022/lib/components/table/index.mjs +2 -0
  299. package/esm2022/lib/components/table/public-api.mjs +3 -0
  300. package/esm2022/lib/components/table/table.component.mjs +81 -0
  301. package/esm2022/lib/components/table/table.module.mjs +20 -0
  302. package/esm2022/lib/components/tags/create-tag/create-tag.component.mjs +218 -0
  303. package/esm2022/lib/components/tags/create-tag/create-tag.module.mjs +43 -0
  304. package/esm2022/lib/components/tags/create-tag/index.mjs +2 -0
  305. package/esm2022/lib/components/tags/create-tag/public-api.mjs +3 -0
  306. package/esm2022/lib/components/tags/tag/index.mjs +2 -0
  307. package/esm2022/lib/components/tags/tag/public-api.mjs +4 -0
  308. package/esm2022/lib/components/tags/tag/tag.component.mjs +68 -0
  309. package/esm2022/lib/components/tags/tag/tag.module.mjs +19 -0
  310. package/esm2022/lib/components/tags/tag/tag.types.mjs +2 -0
  311. package/esm2022/lib/components/tags/tag-container/index.mjs +2 -0
  312. package/esm2022/lib/components/tags/tag-container/public-api.mjs +3 -0
  313. package/esm2022/lib/components/tags/tag-container/tag-container.component.mjs +11 -0
  314. package/esm2022/lib/components/tags/tag-container/tag-container.module.mjs +18 -0
  315. package/esm2022/lib/components/timeline-stepper/index.mjs +2 -0
  316. package/esm2022/lib/components/timeline-stepper/public-api.mjs +5 -0
  317. package/esm2022/lib/components/timeline-stepper/timeline-helpers.mjs +97 -0
  318. package/esm2022/lib/components/timeline-stepper/timeline-step.type.mjs +12 -0
  319. package/esm2022/lib/components/timeline-stepper/timeline-stepper.component.mjs +148 -0
  320. package/esm2022/lib/components/timeline-stepper/timeline-stepper.module.mjs +28 -0
  321. package/esm2022/lib/components/vertical-stepper/index.mjs +2 -0
  322. package/esm2022/lib/components/vertical-stepper/public-api.mjs +5 -0
  323. package/esm2022/lib/components/vertical-stepper/vertical-helpers.mjs +98 -0
  324. package/esm2022/lib/components/vertical-stepper/vertical-step.type.mjs +12 -0
  325. package/esm2022/lib/components/vertical-stepper/vertical-stepper.component.mjs +125 -0
  326. package/esm2022/lib/components/vertical-stepper/vertical-stepper.module.mjs +28 -0
  327. package/esm2022/lib/components/widgets/widget-actions/index.mjs +2 -0
  328. package/esm2022/lib/components/widgets/widget-actions/public-api.mjs +3 -0
  329. package/esm2022/lib/components/widgets/widget-actions/widget-actions.component.mjs +11 -0
  330. package/esm2022/lib/components/widgets/widget-actions/widget-actions.module.mjs +16 -0
  331. package/esm2022/lib/components/widgets/widget-bar/index.mjs +2 -0
  332. package/esm2022/lib/components/widgets/widget-bar/public-api.mjs +3 -0
  333. package/esm2022/lib/components/widgets/widget-bar/widget-bar.component.mjs +20 -0
  334. package/esm2022/lib/components/widgets/widget-bar/widget-bar.module.mjs +18 -0
  335. package/esm2022/lib/components/widgets/widget-container/index.mjs +2 -0
  336. package/esm2022/lib/components/widgets/widget-container/public-api.mjs +3 -0
  337. package/esm2022/lib/components/widgets/widget-container/widget-container.component.mjs +11 -0
  338. package/esm2022/lib/components/widgets/widget-container/widget-container.module.mjs +18 -0
  339. package/esm2022/lib/components/widgets/widget-footer/index.mjs +2 -0
  340. package/esm2022/lib/components/widgets/widget-footer/public-api.mjs +3 -0
  341. package/esm2022/lib/components/widgets/widget-footer/widget-footer.component.mjs +11 -0
  342. package/esm2022/lib/components/widgets/widget-footer/widget-footer.module.mjs +18 -0
  343. package/esm2022/lib/components/widgets/widget-header/index.mjs +2 -0
  344. package/esm2022/lib/components/widgets/widget-header/public-api.mjs +3 -0
  345. package/esm2022/lib/components/widgets/widget-header/widget-header.component.mjs +11 -0
  346. package/esm2022/lib/components/widgets/widget-header/widget-header.module.mjs +18 -0
  347. package/esm2022/lib/components/widgets/widget-preview/index.mjs +2 -0
  348. package/esm2022/lib/components/widgets/widget-preview/public-api.mjs +3 -0
  349. package/esm2022/lib/components/widgets/widget-preview/widget-preview.component.mjs +25 -0
  350. package/esm2022/lib/components/widgets/widget-preview/widget-preview.module.mjs +18 -0
  351. package/esm2022/lib/components/widgets/widget-thumbnail/index.mjs +2 -0
  352. package/esm2022/lib/components/widgets/widget-thumbnail/public-api.mjs +3 -0
  353. package/esm2022/lib/components/widgets/widget-thumbnail/widget-thumbnail.component.mjs +100 -0
  354. package/esm2022/lib/components/widgets/widget-thumbnail/widget-thumbnail.module.mjs +20 -0
  355. package/esm2022/lib/components/widgets/widget-thumbnail-container/index.mjs +2 -0
  356. package/esm2022/lib/components/widgets/widget-thumbnail-container/public-api.mjs +3 -0
  357. package/esm2022/lib/components/widgets/widget-thumbnail-container/widget-thumbnail-container.component.mjs +12 -0
  358. package/esm2022/lib/components/widgets/widget-thumbnail-container/widget-thumbnail-container.module.mjs +18 -0
  359. package/esm2022/lib/components/widgets/widget-title/index.mjs +2 -0
  360. package/esm2022/lib/components/widgets/widget-title/public-api.mjs +3 -0
  361. package/esm2022/lib/components/widgets/widget-title/widget-title.component.mjs +22 -0
  362. package/esm2022/lib/components/widgets/widget-title/widget-title.module.mjs +18 -0
  363. package/esm2022/lib/components/wizard-stepper/index.mjs +2 -0
  364. package/esm2022/lib/components/wizard-stepper/public-api.mjs +4 -0
  365. package/esm2022/lib/components/wizard-stepper/wizard-stepper.component.mjs +28 -0
  366. package/esm2022/lib/components/wizard-stepper/wizard-stepper.module.mjs +20 -0
  367. package/esm2022/lib/components/wizard-stepper/wizard-stepper.types.mjs +2 -0
  368. package/esm2022/lib/services/viewport/viewport.service.interface.mjs +2 -0
  369. package/esm2022/lib/services/viewport/viewport.service.mjs +32 -0
  370. package/esm2022/lib/services/window/window.service.interface.mjs +2 -0
  371. package/esm2022/lib/services/window/window.service.mjs +29 -0
  372. package/esm2022/src/lib/components/avatar/ascentgl-ads-ui-src-lib-components-avatar.mjs +5 -0
  373. package/esm2022/src/lib/components/avatar/avatar.component.mjs +50 -0
  374. package/esm2022/src/lib/components/avatar/avatar.module.mjs +19 -0
  375. package/esm2022/src/lib/components/avatar/avatar.types.mjs +2 -0
  376. package/esm2022/src/lib/components/avatar/public-api.mjs +3 -0
  377. package/esm2022/src/lib/components/buttons/button-container/ascentgl-ads-ui-src-lib-components-buttons-button-container.mjs +5 -0
  378. package/esm2022/src/lib/components/buttons/button-container/button-container.component.mjs +17 -0
  379. package/esm2022/src/lib/components/buttons/button-container/button-container.module.mjs +18 -0
  380. package/esm2022/src/lib/components/buttons/button-container/public-api.mjs +3 -0
  381. package/esm2022/src/lib/components/buttons/selection-button/ascentgl-ads-ui-src-lib-components-buttons-selection-button.mjs +5 -0
  382. package/esm2022/src/lib/components/buttons/selection-button/public-api.mjs +3 -0
  383. package/esm2022/src/lib/components/buttons/selection-button/selection-button.component.mjs +60 -0
  384. package/esm2022/src/lib/components/buttons/selection-button/selection-button.module.mjs +20 -0
  385. package/esm2022/src/lib/components/card/ascentgl-ads-ui-src-lib-components-card.mjs +5 -0
  386. package/esm2022/src/lib/components/card/card.component.mjs +11 -0
  387. package/esm2022/src/lib/components/card/card.module.mjs +18 -0
  388. package/esm2022/src/lib/components/card/public-api.mjs +3 -0
  389. package/esm2022/src/lib/components/divider/ascentgl-ads-ui-src-lib-components-divider.mjs +5 -0
  390. package/esm2022/src/lib/components/divider/divider.component.mjs +43 -0
  391. package/esm2022/src/lib/components/divider/divider.module.mjs +18 -0
  392. package/esm2022/src/lib/components/divider/public-api.mjs +3 -0
  393. package/esm2022/src/lib/components/drag-and-drop-list/ascentgl-ads-ui-src-lib-components-drag-and-drop-list.mjs +5 -0
  394. package/esm2022/src/lib/components/drag-and-drop-list/dom.element.mjs +62 -0
  395. package/esm2022/src/lib/components/drag-and-drop-list/drag-and-drop-list.component.mjs +349 -0
  396. package/esm2022/src/lib/components/drag-and-drop-list/drag-and-drop-list.enums.mjs +2 -0
  397. package/esm2022/src/lib/components/drag-and-drop-list/drag-and-drop-list.module.mjs +18 -0
  398. package/esm2022/src/lib/components/drag-and-drop-list/dragged.placeholder.mjs +63 -0
  399. package/esm2022/src/lib/components/drag-and-drop-list/public-api.mjs +3 -0
  400. package/esm2022/src/lib/components/error-page/error-page-code/ascentgl-ads-ui-src-lib-components-error-page-error-page-code.mjs +5 -0
  401. package/esm2022/src/lib/components/error-page/error-page-code/error-page-code.component.mjs +14 -0
  402. package/esm2022/src/lib/components/error-page/error-page-code/error-page-code.module.mjs +18 -0
  403. package/esm2022/src/lib/components/error-page/error-page-code/public-api.mjs +3 -0
  404. package/esm2022/src/lib/components/footer/ascentgl-ads-ui-src-lib-components-footer.mjs +5 -0
  405. package/esm2022/src/lib/components/footer/container/ascentgl-ads-ui-src-lib-components-footer-container.mjs +5 -0
  406. package/esm2022/src/lib/components/footer/container/footer-container.component.mjs +11 -0
  407. package/esm2022/src/lib/components/footer/container/footer-container.module.mjs +16 -0
  408. package/esm2022/src/lib/components/footer/container/public-api.mjs +3 -0
  409. package/esm2022/src/lib/components/footer/footer.component.mjs +35 -0
  410. package/esm2022/src/lib/components/footer/footer.component.types.mjs +2 -0
  411. package/esm2022/src/lib/components/footer/footer.module.mjs +18 -0
  412. package/esm2022/src/lib/components/footer/public-api.mjs +4 -0
  413. package/esm2022/src/lib/components/header/ascentgl-ads-ui-src-lib-components-header.mjs +5 -0
  414. package/esm2022/src/lib/components/header/container/ascentgl-ads-ui-src-lib-components-header-container.mjs +5 -0
  415. package/esm2022/src/lib/components/header/container/header-container.component.mjs +19 -0
  416. package/esm2022/src/lib/components/header/container/header-container.module.mjs +16 -0
  417. package/esm2022/src/lib/components/header/container/public-api.mjs +3 -0
  418. package/esm2022/src/lib/components/header/header.component.mjs +11 -0
  419. package/esm2022/src/lib/components/header/header.module.mjs +16 -0
  420. package/esm2022/src/lib/components/header/org-display-text/ascentgl-ads-ui-src-lib-components-header-org-display-text.mjs +5 -0
  421. package/esm2022/src/lib/components/header/org-display-text/org-display-text.component.mjs +22 -0
  422. package/esm2022/src/lib/components/header/org-display-text/org-display-text.module.mjs +18 -0
  423. package/esm2022/src/lib/components/header/org-display-text/public-api.mjs +3 -0
  424. package/esm2022/src/lib/components/header/public-api.mjs +3 -0
  425. package/esm2022/src/lib/components/logo/primary-logo/ascentgl-ads-ui-src-lib-components-logo-primary-logo.mjs +5 -0
  426. package/esm2022/src/lib/components/logo/primary-logo/primary-logo.component.mjs +37 -0
  427. package/esm2022/src/lib/components/logo/primary-logo/primary-logo.module.mjs +18 -0
  428. package/esm2022/src/lib/components/logo/primary-logo/public-api.mjs +3 -0
  429. package/esm2022/src/lib/components/main-menu/ascentgl-ads-ui-src-lib-components-main-menu.mjs +5 -0
  430. package/esm2022/src/lib/components/main-menu/main-menu-bottom-sheet/main-menu-bottom-sheet.component.mjs +22 -0
  431. package/esm2022/src/lib/components/main-menu/main-menu.component.mjs +76 -0
  432. package/esm2022/src/lib/components/main-menu/main-menu.module.mjs +45 -0
  433. package/esm2022/src/lib/components/main-menu/main-menu.types.mjs +2 -0
  434. package/esm2022/src/lib/components/main-menu/public-api.mjs +4 -0
  435. package/esm2022/src/lib/components/navigation/ascentgl-ads-ui-src-lib-components-navigation.mjs +5 -0
  436. package/esm2022/src/lib/components/navigation/dashboard-edit-icon/ascentgl-ads-ui-src-lib-components-navigation-dashboard-edit-icon.mjs +5 -0
  437. package/esm2022/src/lib/components/navigation/dashboard-edit-icon/dashboard-edit-icon.component.mjs +46 -0
  438. package/esm2022/src/lib/components/navigation/dashboard-edit-icon/dashboard-edit-icon.module.mjs +18 -0
  439. package/esm2022/src/lib/components/navigation/dashboard-edit-icon/public-api.mjs +3 -0
  440. package/esm2022/src/lib/components/navigation/navigation-actions-container/ascentgl-ads-ui-src-lib-components-navigation-navigation-actions-container.mjs +5 -0
  441. package/esm2022/src/lib/components/navigation/navigation-actions-container/navigation-actions-container.component.mjs +20 -0
  442. package/esm2022/src/lib/components/navigation/navigation-actions-container/navigation-actions-container.module.mjs +18 -0
  443. package/esm2022/src/lib/components/navigation/navigation-actions-container/public-api.mjs +3 -0
  444. package/esm2022/src/lib/components/navigation/navigation-collapse-handle/ascentgl-ads-ui-src-lib-components-navigation-navigation-collapse-handle.mjs +5 -0
  445. package/esm2022/src/lib/components/navigation/navigation-collapse-handle/navigation-collapse-handle.component.mjs +48 -0
  446. package/esm2022/src/lib/components/navigation/navigation-collapse-handle/navigation-collapse-handle.module.mjs +18 -0
  447. package/esm2022/src/lib/components/navigation/navigation-collapse-handle/public-api.mjs +3 -0
  448. package/esm2022/src/lib/components/navigation/navigation-header/ascentgl-ads-ui-src-lib-components-navigation-navigation-header.mjs +5 -0
  449. package/esm2022/src/lib/components/navigation/navigation-header/navigation-header.component.mjs +25 -0
  450. package/esm2022/src/lib/components/navigation/navigation-header/navigation-header.module.mjs +16 -0
  451. package/esm2022/src/lib/components/navigation/navigation-header/public-api.mjs +3 -0
  452. package/esm2022/src/lib/components/navigation/navigation-item/ascentgl-ads-ui-src-lib-components-navigation-navigation-item.mjs +5 -0
  453. package/esm2022/src/lib/components/navigation/navigation-item/navigation-item.component.mjs +74 -0
  454. package/esm2022/src/lib/components/navigation/navigation-item/navigation-item.module.mjs +21 -0
  455. package/esm2022/src/lib/components/navigation/navigation-item/public-api.mjs +3 -0
  456. package/esm2022/src/lib/components/navigation/navigation-items-container/ascentgl-ads-ui-src-lib-components-navigation-navigation-items-container.mjs +5 -0
  457. package/esm2022/src/lib/components/navigation/navigation-items-container/navigation-items-container.component.mjs +11 -0
  458. package/esm2022/src/lib/components/navigation/navigation-items-container/navigation-items-container.module.mjs +16 -0
  459. package/esm2022/src/lib/components/navigation/navigation-items-container/public-api.mjs +3 -0
  460. package/esm2022/src/lib/components/navigation/navigation.component.mjs +25 -0
  461. package/esm2022/src/lib/components/navigation/navigation.module.mjs +16 -0
  462. package/esm2022/src/lib/components/navigation/public-api.mjs +3 -0
  463. package/esm2022/src/lib/components/navigation/side-navigation/side-navigation-container/ascentgl-ads-ui-src-lib-components-navigation-side-navigation-side-navigation-container.mjs +5 -0
  464. package/esm2022/src/lib/components/navigation/side-navigation/side-navigation-container/public-api.mjs +3 -0
  465. package/esm2022/src/lib/components/navigation/side-navigation/side-navigation-container/side-navigation-container.component.mjs +11 -0
  466. package/esm2022/src/lib/components/navigation/side-navigation/side-navigation-container/side-navigation-container.module.mjs +16 -0
  467. package/esm2022/src/lib/components/navigation/side-navigation/side-navigation-item/ascentgl-ads-ui-src-lib-components-navigation-side-navigation-side-navigation-item.mjs +5 -0
  468. package/esm2022/src/lib/components/navigation/side-navigation/side-navigation-item/public-api.mjs +3 -0
  469. package/esm2022/src/lib/components/navigation/side-navigation/side-navigation-item/side-navigation-item.component.mjs +67 -0
  470. package/esm2022/src/lib/components/navigation/side-navigation/side-navigation-item/side-navigation-item.module.mjs +21 -0
  471. package/esm2022/src/lib/components/navigation/sub-navigation-item/ascentgl-ads-ui-src-lib-components-navigation-sub-navigation-item.mjs +5 -0
  472. package/esm2022/src/lib/components/navigation/sub-navigation-item/public-api.mjs +3 -0
  473. package/esm2022/src/lib/components/navigation/sub-navigation-item/sub-navigation-item.component.mjs +36 -0
  474. package/esm2022/src/lib/components/navigation/sub-navigation-item/sub-navigation-item.module.mjs +18 -0
  475. package/esm2022/src/lib/components/navigation/sub-navigation-items-container/ascentgl-ads-ui-src-lib-components-navigation-sub-navigation-items-container.mjs +5 -0
  476. package/esm2022/src/lib/components/navigation/sub-navigation-items-container/public-api.mjs +3 -0
  477. package/esm2022/src/lib/components/navigation/sub-navigation-items-container/sub-navigation-items-container.component.mjs +11 -0
  478. package/esm2022/src/lib/components/navigation/sub-navigation-items-container/sub-navigation-items-container.module.mjs +16 -0
  479. package/esm2022/src/lib/components/pagination/ascentgl-ads-ui-src-lib-components-pagination.mjs +5 -0
  480. package/esm2022/src/lib/components/pagination/container/ascentgl-ads-ui-src-lib-components-pagination-container.mjs +5 -0
  481. package/esm2022/src/lib/components/pagination/container/pagination-container.component.mjs +11 -0
  482. package/esm2022/src/lib/components/pagination/container/pagination-container.module.mjs +16 -0
  483. package/esm2022/src/lib/components/pagination/container/public-api.mjs +3 -0
  484. package/esm2022/src/lib/components/pagination/pagination.component.mjs +85 -0
  485. package/esm2022/src/lib/components/pagination/pagination.module.mjs +19 -0
  486. package/esm2022/src/lib/components/pagination/public-api.mjs +3 -0
  487. package/esm2022/src/lib/components/progress-indicators/progress-bar/ascentgl-ads-ui-src-lib-components-progress-indicators-progress-bar.mjs +5 -0
  488. package/esm2022/src/lib/components/progress-indicators/progress-bar/progress-bar.component.mjs +78 -0
  489. package/esm2022/src/lib/components/progress-indicators/progress-bar/progress-bar.module.mjs +19 -0
  490. package/esm2022/src/lib/components/progress-indicators/progress-bar/public-api.mjs +3 -0
  491. package/esm2022/src/lib/components/progress-indicators/progress-indicator-spinner/ascentgl-ads-ui-src-lib-components-progress-indicators-progress-indicator-spinner.mjs +5 -0
  492. package/esm2022/src/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.component.mjs +79 -0
  493. package/esm2022/src/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.module.mjs +19 -0
  494. package/esm2022/src/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.types.mjs +8 -0
  495. package/esm2022/src/lib/components/progress-indicators/progress-indicator-spinner/public-api.mjs +3 -0
  496. package/esm2022/src/lib/components/progress-indicators/progress-spinner/ascentgl-ads-ui-src-lib-components-progress-indicators-progress-spinner.mjs +5 -0
  497. package/esm2022/src/lib/components/progress-indicators/progress-spinner/progress-spinner.component.mjs +95 -0
  498. package/esm2022/src/lib/components/progress-indicators/progress-spinner/progress-spinner.module.mjs +22 -0
  499. package/esm2022/src/lib/components/progress-indicators/progress-spinner/public-api.mjs +3 -0
  500. package/esm2022/src/lib/components/progress-stepper/ascentgl-ads-ui-src-lib-components-progress-stepper.mjs +5 -0
  501. package/esm2022/src/lib/components/progress-stepper/progress-step.types.mjs +2 -0
  502. package/esm2022/src/lib/components/progress-stepper/progress-stepper.component.mjs +106 -0
  503. package/esm2022/src/lib/components/progress-stepper/progress-stepper.module.mjs +27 -0
  504. package/esm2022/src/lib/components/progress-stepper/public-api.mjs +4 -0
  505. package/esm2022/src/lib/components/rating/ascentgl-ads-ui-src-lib-components-rating.mjs +5 -0
  506. package/esm2022/src/lib/components/rating/public-api.mjs +3 -0
  507. package/esm2022/src/lib/components/rating/rating.component.mjs +69 -0
  508. package/esm2022/src/lib/components/rating/rating.module.mjs +19 -0
  509. package/esm2022/src/lib/components/shell-layout/ascentgl-ads-ui-src-lib-components-shell-layout.mjs +5 -0
  510. package/esm2022/src/lib/components/shell-layout/public-api.mjs +3 -0
  511. package/esm2022/src/lib/components/shell-layout/shell-layout.component.mjs +25 -0
  512. package/esm2022/src/lib/components/shell-layout/shell-layout.module.mjs +18 -0
  513. package/esm2022/src/lib/components/splash-page/ascentgl-ads-ui-src-lib-components-splash-page.mjs +5 -0
  514. package/esm2022/src/lib/components/splash-page/public-api.mjs +3 -0
  515. package/esm2022/src/lib/components/splash-page/splash-page.component.mjs +20 -0
  516. package/esm2022/src/lib/components/splash-page/splash-page.module.mjs +18 -0
  517. package/esm2022/src/lib/components/submenu/submenu-container/ascentgl-ads-ui-src-lib-components-submenu-submenu-container.mjs +5 -0
  518. package/esm2022/src/lib/components/submenu/submenu-container/public-api.mjs +3 -0
  519. package/esm2022/src/lib/components/submenu/submenu-container/submenu-container.component.mjs +22 -0
  520. package/esm2022/src/lib/components/submenu/submenu-container/submenu-container.module.mjs +18 -0
  521. package/esm2022/src/lib/components/submenu/submenu-heading/ascentgl-ads-ui-src-lib-components-submenu-submenu-heading.mjs +5 -0
  522. package/esm2022/src/lib/components/submenu/submenu-heading/public-api.mjs +3 -0
  523. package/esm2022/src/lib/components/submenu/submenu-heading/submenu-heading.component.mjs +17 -0
  524. package/esm2022/src/lib/components/submenu/submenu-heading/submenu-heading.module.mjs +18 -0
  525. package/esm2022/src/lib/components/submenu/submenu-item/ascentgl-ads-ui-src-lib-components-submenu-submenu-item.mjs +5 -0
  526. package/esm2022/src/lib/components/submenu/submenu-item/public-api.mjs +3 -0
  527. package/esm2022/src/lib/components/submenu/submenu-item/submenu-item.component.mjs +28 -0
  528. package/esm2022/src/lib/components/submenu/submenu-item/submenu-item.module.mjs +19 -0
  529. package/esm2022/src/lib/components/submenu/submenu-secondary-item/ascentgl-ads-ui-src-lib-components-submenu-submenu-secondary-item.mjs +5 -0
  530. package/esm2022/src/lib/components/submenu/submenu-secondary-item/public-api.mjs +3 -0
  531. package/esm2022/src/lib/components/submenu/submenu-secondary-item/submenu-secondary-item.component.mjs +33 -0
  532. package/esm2022/src/lib/components/submenu/submenu-secondary-item/submenu-secondary-item.module.mjs +19 -0
  533. package/esm2022/src/lib/components/tags/tag-container/ascentgl-ads-ui-src-lib-components-tags-tag-container.mjs +5 -0
  534. package/esm2022/src/lib/components/tags/tag-container/public-api.mjs +3 -0
  535. package/esm2022/src/lib/components/tags/tag-container/tag-container.component.mjs +11 -0
  536. package/esm2022/src/lib/components/tags/tag-container/tag-container.module.mjs +18 -0
  537. package/esm2022/src/lib/components/timeline-stepper/ascentgl-ads-ui-src-lib-components-timeline-stepper.mjs +5 -0
  538. package/esm2022/src/lib/components/timeline-stepper/public-api.mjs +5 -0
  539. package/esm2022/src/lib/components/timeline-stepper/timeline-helpers.mjs +97 -0
  540. package/esm2022/src/lib/components/timeline-stepper/timeline-step.type.mjs +12 -0
  541. package/esm2022/src/lib/components/timeline-stepper/timeline-stepper.component.mjs +148 -0
  542. package/esm2022/src/lib/components/timeline-stepper/timeline-stepper.module.mjs +28 -0
  543. package/esm2022/src/lib/components/vertical-stepper/ascentgl-ads-ui-src-lib-components-vertical-stepper.mjs +5 -0
  544. package/esm2022/src/lib/components/vertical-stepper/public-api.mjs +5 -0
  545. package/esm2022/src/lib/components/vertical-stepper/vertical-helpers.mjs +98 -0
  546. package/esm2022/src/lib/components/vertical-stepper/vertical-step.type.mjs +12 -0
  547. package/esm2022/src/lib/components/vertical-stepper/vertical-stepper.component.mjs +125 -0
  548. package/esm2022/src/lib/components/vertical-stepper/vertical-stepper.module.mjs +28 -0
  549. package/esm2022/src/lib/components/widgets/widget-actions/ascentgl-ads-ui-src-lib-components-widgets-widget-actions.mjs +5 -0
  550. package/esm2022/src/lib/components/widgets/widget-actions/public-api.mjs +3 -0
  551. package/esm2022/src/lib/components/widgets/widget-actions/widget-actions.component.mjs +11 -0
  552. package/esm2022/src/lib/components/widgets/widget-actions/widget-actions.module.mjs +16 -0
  553. package/esm2022/src/lib/components/widgets/widget-bar/ascentgl-ads-ui-src-lib-components-widgets-widget-bar.mjs +5 -0
  554. package/esm2022/src/lib/components/widgets/widget-bar/public-api.mjs +3 -0
  555. package/esm2022/src/lib/components/widgets/widget-bar/widget-bar.component.mjs +20 -0
  556. package/esm2022/src/lib/components/widgets/widget-bar/widget-bar.module.mjs +18 -0
  557. package/esm2022/src/lib/components/widgets/widget-container/ascentgl-ads-ui-src-lib-components-widgets-widget-container.mjs +5 -0
  558. package/esm2022/src/lib/components/widgets/widget-container/public-api.mjs +3 -0
  559. package/esm2022/src/lib/components/widgets/widget-container/widget-container.component.mjs +11 -0
  560. package/esm2022/src/lib/components/widgets/widget-container/widget-container.module.mjs +18 -0
  561. package/esm2022/src/lib/components/widgets/widget-footer/ascentgl-ads-ui-src-lib-components-widgets-widget-footer.mjs +5 -0
  562. package/esm2022/src/lib/components/widgets/widget-footer/public-api.mjs +3 -0
  563. package/esm2022/src/lib/components/widgets/widget-footer/widget-footer.component.mjs +11 -0
  564. package/esm2022/src/lib/components/widgets/widget-footer/widget-footer.module.mjs +18 -0
  565. package/esm2022/src/lib/components/widgets/widget-header/ascentgl-ads-ui-src-lib-components-widgets-widget-header.mjs +5 -0
  566. package/esm2022/src/lib/components/widgets/widget-header/public-api.mjs +3 -0
  567. package/esm2022/src/lib/components/widgets/widget-header/widget-header.component.mjs +11 -0
  568. package/esm2022/src/lib/components/widgets/widget-header/widget-header.module.mjs +18 -0
  569. package/esm2022/src/lib/components/widgets/widget-preview/ascentgl-ads-ui-src-lib-components-widgets-widget-preview.mjs +5 -0
  570. package/esm2022/src/lib/components/widgets/widget-preview/public-api.mjs +3 -0
  571. package/esm2022/src/lib/components/widgets/widget-preview/widget-preview.component.mjs +25 -0
  572. package/esm2022/src/lib/components/widgets/widget-preview/widget-preview.module.mjs +18 -0
  573. package/esm2022/src/lib/components/widgets/widget-thumbnail/ascentgl-ads-ui-src-lib-components-widgets-widget-thumbnail.mjs +5 -0
  574. package/esm2022/src/lib/components/widgets/widget-thumbnail/public-api.mjs +3 -0
  575. package/esm2022/src/lib/components/widgets/widget-thumbnail/widget-thumbnail.component.mjs +100 -0
  576. package/esm2022/src/lib/components/widgets/widget-thumbnail/widget-thumbnail.module.mjs +20 -0
  577. package/esm2022/src/lib/components/widgets/widget-thumbnail-container/ascentgl-ads-ui-src-lib-components-widgets-widget-thumbnail-container.mjs +5 -0
  578. package/esm2022/src/lib/components/widgets/widget-thumbnail-container/public-api.mjs +3 -0
  579. package/esm2022/src/lib/components/widgets/widget-thumbnail-container/widget-thumbnail-container.component.mjs +12 -0
  580. package/esm2022/src/lib/components/widgets/widget-thumbnail-container/widget-thumbnail-container.module.mjs +18 -0
  581. package/esm2022/src/lib/components/widgets/widget-title/ascentgl-ads-ui-src-lib-components-widgets-widget-title.mjs +5 -0
  582. package/esm2022/src/lib/components/widgets/widget-title/public-api.mjs +3 -0
  583. package/esm2022/src/lib/components/widgets/widget-title/widget-title.component.mjs +22 -0
  584. package/esm2022/src/lib/components/widgets/widget-title/widget-title.module.mjs +18 -0
  585. package/esm2022/src/lib/components/wizard-stepper/ascentgl-ads-ui-src-lib-components-wizard-stepper.mjs +5 -0
  586. package/esm2022/src/lib/components/wizard-stepper/public-api.mjs +4 -0
  587. package/esm2022/src/lib/components/wizard-stepper/wizard-stepper.component.mjs +28 -0
  588. package/esm2022/src/lib/components/wizard-stepper/wizard-stepper.module.mjs +20 -0
  589. package/esm2022/src/lib/components/wizard-stepper/wizard-stepper.types.mjs +2 -0
  590. package/fesm2022/ascentgl-ads-ui-src-lib-components-avatar.mjs +72 -0
  591. package/fesm2022/ascentgl-ads-ui-src-lib-components-avatar.mjs.map +1 -0
  592. package/fesm2022/ascentgl-ads-ui-src-lib-components-buttons-button-container.mjs +39 -0
  593. package/fesm2022/ascentgl-ads-ui-src-lib-components-buttons-button-container.mjs.map +1 -0
  594. package/fesm2022/ascentgl-ads-ui-src-lib-components-buttons-selection-button.mjs +83 -0
  595. package/fesm2022/ascentgl-ads-ui-src-lib-components-buttons-selection-button.mjs.map +1 -0
  596. package/fesm2022/ascentgl-ads-ui-src-lib-components-card.mjs +33 -0
  597. package/fesm2022/ascentgl-ads-ui-src-lib-components-card.mjs.map +1 -0
  598. package/fesm2022/ascentgl-ads-ui-src-lib-components-divider.mjs +65 -0
  599. package/fesm2022/ascentgl-ads-ui-src-lib-components-divider.mjs.map +1 -0
  600. package/fesm2022/ascentgl-ads-ui-src-lib-components-drag-and-drop-list.mjs +494 -0
  601. package/fesm2022/ascentgl-ads-ui-src-lib-components-drag-and-drop-list.mjs.map +1 -0
  602. package/fesm2022/ascentgl-ads-ui-src-lib-components-error-page-error-page-code.mjs +36 -0
  603. package/fesm2022/ascentgl-ads-ui-src-lib-components-error-page-error-page-code.mjs.map +1 -0
  604. package/fesm2022/ascentgl-ads-ui-src-lib-components-footer-container.mjs +31 -0
  605. package/fesm2022/ascentgl-ads-ui-src-lib-components-footer-container.mjs.map +1 -0
  606. package/fesm2022/ascentgl-ads-ui-src-lib-components-footer.mjs +57 -0
  607. package/fesm2022/ascentgl-ads-ui-src-lib-components-footer.mjs.map +1 -0
  608. package/fesm2022/ascentgl-ads-ui-src-lib-components-header-container.mjs +39 -0
  609. package/fesm2022/ascentgl-ads-ui-src-lib-components-header-container.mjs.map +1 -0
  610. package/fesm2022/ascentgl-ads-ui-src-lib-components-header-org-display-text.mjs +44 -0
  611. package/fesm2022/ascentgl-ads-ui-src-lib-components-header-org-display-text.mjs.map +1 -0
  612. package/fesm2022/ascentgl-ads-ui-src-lib-components-header.mjs +31 -0
  613. package/fesm2022/ascentgl-ads-ui-src-lib-components-header.mjs.map +1 -0
  614. package/fesm2022/ascentgl-ads-ui-src-lib-components-logo-primary-logo.mjs +59 -0
  615. package/fesm2022/ascentgl-ads-ui-src-lib-components-logo-primary-logo.mjs.map +1 -0
  616. package/fesm2022/ascentgl-ads-ui-src-lib-components-main-menu.mjs +135 -0
  617. package/fesm2022/ascentgl-ads-ui-src-lib-components-main-menu.mjs.map +1 -0
  618. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-dashboard-edit-icon.mjs +67 -0
  619. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-dashboard-edit-icon.mjs.map +1 -0
  620. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-navigation-actions-container.mjs +42 -0
  621. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-navigation-actions-container.mjs.map +1 -0
  622. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-navigation-collapse-handle.mjs +69 -0
  623. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-navigation-collapse-handle.mjs.map +1 -0
  624. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-navigation-header.mjs +45 -0
  625. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-navigation-header.mjs.map +1 -0
  626. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-navigation-item.mjs +98 -0
  627. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-navigation-item.mjs.map +1 -0
  628. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-navigation-items-container.mjs +31 -0
  629. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-navigation-items-container.mjs.map +1 -0
  630. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-side-navigation-side-navigation-container.mjs +31 -0
  631. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-side-navigation-side-navigation-container.mjs.map +1 -0
  632. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-side-navigation-side-navigation-item.mjs +91 -0
  633. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-side-navigation-side-navigation-item.mjs.map +1 -0
  634. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-sub-navigation-item.mjs +58 -0
  635. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-sub-navigation-item.mjs.map +1 -0
  636. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-sub-navigation-items-container.mjs +31 -0
  637. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation-sub-navigation-items-container.mjs.map +1 -0
  638. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation.mjs +45 -0
  639. package/fesm2022/ascentgl-ads-ui-src-lib-components-navigation.mjs.map +1 -0
  640. package/fesm2022/ascentgl-ads-ui-src-lib-components-pagination-container.mjs +31 -0
  641. package/fesm2022/ascentgl-ads-ui-src-lib-components-pagination-container.mjs.map +1 -0
  642. package/fesm2022/ascentgl-ads-ui-src-lib-components-pagination.mjs +107 -0
  643. package/fesm2022/ascentgl-ads-ui-src-lib-components-pagination.mjs.map +1 -0
  644. package/fesm2022/ascentgl-ads-ui-src-lib-components-progress-indicators-progress-bar.mjs +100 -0
  645. package/fesm2022/ascentgl-ads-ui-src-lib-components-progress-indicators-progress-bar.mjs.map +1 -0
  646. package/fesm2022/ascentgl-ads-ui-src-lib-components-progress-indicators-progress-indicator-spinner.mjs +109 -0
  647. package/fesm2022/ascentgl-ads-ui-src-lib-components-progress-indicators-progress-indicator-spinner.mjs.map +1 -0
  648. package/fesm2022/ascentgl-ads-ui-src-lib-components-progress-indicators-progress-spinner.mjs +120 -0
  649. package/fesm2022/ascentgl-ads-ui-src-lib-components-progress-indicators-progress-spinner.mjs.map +1 -0
  650. package/fesm2022/ascentgl-ads-ui-src-lib-components-progress-stepper.mjs +136 -0
  651. package/fesm2022/ascentgl-ads-ui-src-lib-components-progress-stepper.mjs.map +1 -0
  652. package/fesm2022/ascentgl-ads-ui-src-lib-components-rating.mjs +91 -0
  653. package/fesm2022/ascentgl-ads-ui-src-lib-components-rating.mjs.map +1 -0
  654. package/fesm2022/ascentgl-ads-ui-src-lib-components-shell-layout.mjs +47 -0
  655. package/fesm2022/ascentgl-ads-ui-src-lib-components-shell-layout.mjs.map +1 -0
  656. package/fesm2022/ascentgl-ads-ui-src-lib-components-splash-page.mjs +42 -0
  657. package/fesm2022/ascentgl-ads-ui-src-lib-components-splash-page.mjs.map +1 -0
  658. package/fesm2022/ascentgl-ads-ui-src-lib-components-submenu-submenu-container.mjs +44 -0
  659. package/fesm2022/ascentgl-ads-ui-src-lib-components-submenu-submenu-container.mjs.map +1 -0
  660. package/fesm2022/ascentgl-ads-ui-src-lib-components-submenu-submenu-heading.mjs +39 -0
  661. package/fesm2022/ascentgl-ads-ui-src-lib-components-submenu-submenu-heading.mjs.map +1 -0
  662. package/fesm2022/ascentgl-ads-ui-src-lib-components-submenu-submenu-item.mjs +51 -0
  663. package/fesm2022/ascentgl-ads-ui-src-lib-components-submenu-submenu-item.mjs.map +1 -0
  664. package/fesm2022/ascentgl-ads-ui-src-lib-components-submenu-submenu-secondary-item.mjs +56 -0
  665. package/fesm2022/ascentgl-ads-ui-src-lib-components-submenu-submenu-secondary-item.mjs.map +1 -0
  666. package/fesm2022/ascentgl-ads-ui-src-lib-components-tags-tag-container.mjs +33 -0
  667. package/fesm2022/ascentgl-ads-ui-src-lib-components-tags-tag-container.mjs.map +1 -0
  668. package/fesm2022/ascentgl-ads-ui-src-lib-components-timeline-stepper.mjs +286 -0
  669. package/fesm2022/ascentgl-ads-ui-src-lib-components-timeline-stepper.mjs.map +1 -0
  670. package/fesm2022/ascentgl-ads-ui-src-lib-components-vertical-stepper.mjs +264 -0
  671. package/fesm2022/ascentgl-ads-ui-src-lib-components-vertical-stepper.mjs.map +1 -0
  672. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-actions.mjs +31 -0
  673. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-actions.mjs.map +1 -0
  674. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-bar.mjs +42 -0
  675. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-bar.mjs.map +1 -0
  676. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-container.mjs +33 -0
  677. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-container.mjs.map +1 -0
  678. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-footer.mjs +33 -0
  679. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-footer.mjs.map +1 -0
  680. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-header.mjs +33 -0
  681. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-header.mjs.map +1 -0
  682. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-preview.mjs +47 -0
  683. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-preview.mjs.map +1 -0
  684. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-thumbnail-container.mjs +34 -0
  685. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-thumbnail-container.mjs.map +1 -0
  686. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-thumbnail.mjs +123 -0
  687. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-thumbnail.mjs.map +1 -0
  688. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-title.mjs +44 -0
  689. package/fesm2022/ascentgl-ads-ui-src-lib-components-widgets-widget-title.mjs.map +1 -0
  690. package/fesm2022/ascentgl-ads-ui-src-lib-components-wizard-stepper.mjs +51 -0
  691. package/fesm2022/ascentgl-ads-ui-src-lib-components-wizard-stepper.mjs.map +1 -0
  692. package/fesm2022/ascentgl-ads-ui.mjs +8117 -0
  693. package/fesm2022/ascentgl-ads-ui.mjs.map +1 -0
  694. package/index.d.ts +86 -0
  695. package/lib/components/avatar/avatar.component.d.ts +30 -0
  696. package/lib/components/avatar/avatar.module.d.ts +9 -0
  697. package/lib/components/avatar/avatar.types.d.ts +1 -0
  698. package/lib/components/avatar/index.d.ts +1 -0
  699. package/lib/components/avatar/public-api.d.ts +2 -0
  700. package/lib/components/badge/index.d.ts +1 -0
  701. package/lib/components/badge/numeric-badge.component.d.ts +22 -0
  702. package/lib/components/badge/numeric-badge.module.d.ts +9 -0
  703. package/lib/components/badge/public-api.d.ts +2 -0
  704. package/lib/components/breadcrumb/breadcrumb.component.d.ts +37 -0
  705. package/lib/components/breadcrumb/breadcrumb.module.d.ts +11 -0
  706. package/lib/components/breadcrumb/breadcrumb.type.d.ts +7 -0
  707. package/lib/components/breadcrumb/breadcrumb.visual-processor.d.ts +16 -0
  708. package/lib/components/breadcrumb/index.d.ts +1 -0
  709. package/lib/components/breadcrumb/public-api.d.ts +3 -0
  710. package/lib/components/buttons/button/button.component.d.ts +24 -0
  711. package/lib/components/buttons/button/button.module.d.ts +9 -0
  712. package/lib/components/buttons/button/index.d.ts +1 -0
  713. package/lib/components/buttons/button/public-api.d.ts +2 -0
  714. package/lib/components/buttons/button-container/button-container.component.d.ts +9 -0
  715. package/lib/components/buttons/button-container/button-container.module.d.ts +8 -0
  716. package/lib/components/buttons/button-container/index.d.ts +1 -0
  717. package/lib/components/buttons/button-container/public-api.d.ts +2 -0
  718. package/lib/components/buttons/icon-button/icon-button.component.d.ts +25 -0
  719. package/lib/components/buttons/icon-button/icon-button.module.d.ts +10 -0
  720. package/lib/components/buttons/icon-button/index.d.ts +1 -0
  721. package/lib/components/buttons/icon-button/public-api.d.ts +2 -0
  722. package/lib/components/buttons/link-button/index.d.ts +1 -0
  723. package/lib/components/buttons/link-button/link-button.component.d.ts +9 -0
  724. package/lib/components/buttons/link-button/link-button.module.d.ts +10 -0
  725. package/lib/components/buttons/link-button/public-api.d.ts +2 -0
  726. package/lib/components/buttons/selection-button/index.d.ts +1 -0
  727. package/lib/components/buttons/selection-button/public-api.d.ts +2 -0
  728. package/lib/components/buttons/selection-button/selection-button.component.d.ts +40 -0
  729. package/lib/components/buttons/selection-button/selection-button.module.d.ts +10 -0
  730. package/lib/components/card/card.component.d.ts +5 -0
  731. package/lib/components/card/card.module.d.ts +8 -0
  732. package/lib/components/card/index.d.ts +1 -0
  733. package/lib/components/card/public-api.d.ts +2 -0
  734. package/lib/components/chip/chip.component.d.ts +27 -0
  735. package/lib/components/chip/chip.module.d.ts +9 -0
  736. package/lib/components/chip/chip.types.d.ts +4 -0
  737. package/lib/components/chip/index.d.ts +1 -0
  738. package/lib/components/chip/public-api.d.ts +2 -0
  739. package/lib/components/divider/divider.component.d.ts +26 -0
  740. package/lib/components/divider/divider.module.d.ts +8 -0
  741. package/lib/components/divider/index.d.ts +1 -0
  742. package/lib/components/divider/public-api.d.ts +2 -0
  743. package/lib/components/drag-and-drop-list/dom.element.d.ts +17 -0
  744. package/lib/components/drag-and-drop-list/drag-and-drop-list.component.d.ts +82 -0
  745. package/lib/components/drag-and-drop-list/drag-and-drop-list.enums.d.ts +8 -0
  746. package/lib/components/drag-and-drop-list/drag-and-drop-list.module.d.ts +8 -0
  747. package/lib/components/drag-and-drop-list/dragged.placeholder.d.ts +14 -0
  748. package/lib/components/drag-and-drop-list/index.d.ts +1 -0
  749. package/lib/components/drag-and-drop-list/public-api.d.ts +2 -0
  750. package/lib/components/error-page/error-page-code/error-page-code.component.d.ts +5 -0
  751. package/lib/components/error-page/error-page-code/error-page-code.module.d.ts +8 -0
  752. package/lib/components/error-page/error-page-code/index.d.ts +1 -0
  753. package/lib/components/error-page/error-page-code/public-api.d.ts +2 -0
  754. package/lib/components/error-page/error-page.component.d.ts +49 -0
  755. package/lib/components/error-page/error-page.module.d.ts +15 -0
  756. package/lib/components/error-page/error-page.types.d.ts +22 -0
  757. package/lib/components/error-page/index.d.ts +1 -0
  758. package/lib/components/error-page/public-api.d.ts +3 -0
  759. package/lib/components/expansion-panel/expansion-panel.component.d.ts +21 -0
  760. package/lib/components/expansion-panel/expansion-panel.module.d.ts +10 -0
  761. package/lib/components/expansion-panel/index.d.ts +1 -0
  762. package/lib/components/expansion-panel/public-api.d.ts +2 -0
  763. package/lib/components/footer/container/footer-container.component.d.ts +5 -0
  764. package/lib/components/footer/container/footer-container.module.d.ts +7 -0
  765. package/lib/components/footer/container/index.d.ts +1 -0
  766. package/lib/components/footer/container/public-api.d.ts +2 -0
  767. package/lib/components/footer/footer.component.d.ts +22 -0
  768. package/lib/components/footer/footer.component.types.d.ts +12 -0
  769. package/lib/components/footer/footer.module.d.ts +8 -0
  770. package/lib/components/footer/index.d.ts +1 -0
  771. package/lib/components/footer/public-api.d.ts +3 -0
  772. package/lib/components/form-fields/abstracts/abstract.base.component.d.ts +57 -0
  773. package/lib/components/form-fields/abstracts/abstract.dropdown.component.d.ts +44 -0
  774. package/lib/components/form-fields/abstracts/abstract.input.component.d.ts +24 -0
  775. package/lib/components/form-fields/area/index.d.ts +1 -0
  776. package/lib/components/form-fields/area/public-api.d.ts +2 -0
  777. package/lib/components/form-fields/area/textarea.component.d.ts +12 -0
  778. package/lib/components/form-fields/area/textarea.module.d.ts +17 -0
  779. package/lib/components/form-fields/common/dropdown-option-template.directive.d.ts +11 -0
  780. package/lib/components/form-fields/common/error/error.component.d.ts +7 -0
  781. package/lib/components/form-fields/common/hint/hint.component.d.ts +11 -0
  782. package/lib/components/form-fields/common/input.tooltip.component.d.ts +11 -0
  783. package/lib/components/form-fields/common/success/success.component.d.ts +7 -0
  784. package/lib/components/form-fields/datepickers/date-picker/datepicker.component.d.ts +24 -0
  785. package/lib/components/form-fields/datepickers/date-picker/datepicker.module.d.ts +22 -0
  786. package/lib/components/form-fields/datepickers/date-picker/index.d.ts +1 -0
  787. package/lib/components/form-fields/datepickers/date-picker/public-api.d.ts +2 -0
  788. package/lib/components/form-fields/datepickers/datetime-picker/custom-datetime-format.d.ts +18 -0
  789. package/lib/components/form-fields/datepickers/datetime-picker/custom-datetime.adapter.d.ts +11 -0
  790. package/lib/components/form-fields/datepickers/datetime-picker/datetime-picker-format-directive.d.ts +22 -0
  791. package/lib/components/form-fields/datepickers/datetime-picker/datetime-template.formatter.d.ts +13 -0
  792. package/lib/components/form-fields/datepickers/datetime-picker/datetimepicker.component.d.ts +118 -0
  793. package/lib/components/form-fields/datepickers/datetime-picker/datetimepicker.module.d.ts +21 -0
  794. package/lib/components/form-fields/datepickers/datetime-picker/index.d.ts +1 -0
  795. package/lib/components/form-fields/datepickers/datetime-picker/public-api.d.ts +2 -0
  796. package/lib/components/form-fields/datepickers/time-picker/index.d.ts +1 -0
  797. package/lib/components/form-fields/datepickers/time-picker/public-api.d.ts +2 -0
  798. package/lib/components/form-fields/datepickers/time-picker/timepicker.component.d.ts +26 -0
  799. package/lib/components/form-fields/datepickers/time-picker/timepicker.module.d.ts +22 -0
  800. package/lib/components/form-fields/dropdowns/dropdown/dropdown.component.d.ts +64 -0
  801. package/lib/components/form-fields/dropdowns/dropdown/dropdown.module.d.ts +21 -0
  802. package/lib/components/form-fields/dropdowns/dropdown/index.d.ts +1 -0
  803. package/lib/components/form-fields/dropdowns/dropdown/public-api.d.ts +2 -0
  804. package/lib/components/form-fields/dropdowns/input-dropdown/index.d.ts +1 -0
  805. package/lib/components/form-fields/dropdowns/input-dropdown/input-dropdown.component.d.ts +47 -0
  806. package/lib/components/form-fields/dropdowns/input-dropdown/input-dropdown.module.d.ts +20 -0
  807. package/lib/components/form-fields/dropdowns/input-dropdown/public-api.d.ts +2 -0
  808. package/lib/components/form-fields/dropdowns/multi-select-dropdown/index.d.ts +1 -0
  809. package/lib/components/form-fields/dropdowns/multi-select-dropdown/multi-select-dropdown.component.d.ts +26 -0
  810. package/lib/components/form-fields/dropdowns/multi-select-dropdown/multi-select-dropdown.module.d.ts +21 -0
  811. package/lib/components/form-fields/dropdowns/multi-select-dropdown/public-api.d.ts +2 -0
  812. package/lib/components/form-fields/input/index.d.ts +1 -0
  813. package/lib/components/form-fields/input/input.component.d.ts +29 -0
  814. package/lib/components/form-fields/input/input.module.d.ts +17 -0
  815. package/lib/components/form-fields/input/public-api.d.ts +2 -0
  816. package/lib/components/form-fields/search-fields/search-dropdown/index.d.ts +1 -0
  817. package/lib/components/form-fields/search-fields/search-dropdown/public-api.d.ts +2 -0
  818. package/lib/components/form-fields/search-fields/search-dropdown/search-dropdown-highlighter.pipe.d.ts +13 -0
  819. package/lib/components/form-fields/search-fields/search-dropdown/search-dropdown.component.d.ts +195 -0
  820. package/lib/components/form-fields/search-fields/search-dropdown/search-dropdown.component.types.d.ts +10 -0
  821. package/lib/components/form-fields/search-fields/search-dropdown/search-dropdown.module.d.ts +22 -0
  822. package/lib/components/form-fields/search-fields/search-input/index.d.ts +1 -0
  823. package/lib/components/form-fields/search-fields/search-input/public-api.d.ts +2 -0
  824. package/lib/components/form-fields/search-fields/search-input/search-input.component.d.ts +15 -0
  825. package/lib/components/form-fields/search-fields/search-input/search-input.module.d.ts +20 -0
  826. package/lib/components/form-fields/selection-fields/checkbox/checkbox.component.d.ts +17 -0
  827. package/lib/components/form-fields/selection-fields/checkbox/checkbox.module.d.ts +13 -0
  828. package/lib/components/form-fields/selection-fields/checkbox/index.d.ts +1 -0
  829. package/lib/components/form-fields/selection-fields/checkbox/public-api.d.ts +2 -0
  830. package/lib/components/form-fields/selection-fields/radio-button/index.d.ts +1 -0
  831. package/lib/components/form-fields/selection-fields/radio-button/public-api.d.ts +2 -0
  832. package/lib/components/form-fields/selection-fields/radio-button/radio-button.component.d.ts +28 -0
  833. package/lib/components/form-fields/selection-fields/radio-button/radio-button.module.d.ts +17 -0
  834. package/lib/components/form-fields/selection-fields/slide-toggle/index.d.ts +1 -0
  835. package/lib/components/form-fields/selection-fields/slide-toggle/public-api.d.ts +2 -0
  836. package/lib/components/form-fields/selection-fields/slide-toggle/slide-toggle.component.d.ts +19 -0
  837. package/lib/components/form-fields/selection-fields/slide-toggle/slide-toggle.module.d.ts +13 -0
  838. package/lib/components/form-fields/selection-fields/slider/index.d.ts +1 -0
  839. package/lib/components/form-fields/selection-fields/slider/public-api.d.ts +2 -0
  840. package/lib/components/form-fields/selection-fields/slider/slider.component.d.ts +20 -0
  841. package/lib/components/form-fields/selection-fields/slider/slider.module.d.ts +14 -0
  842. package/lib/components/general/color-palette/colors.enums.d.ts +37 -0
  843. package/lib/components/header/container/header-container.component.d.ts +9 -0
  844. package/lib/components/header/container/header-container.module.d.ts +7 -0
  845. package/lib/components/header/container/index.d.ts +1 -0
  846. package/lib/components/header/container/public-api.d.ts +2 -0
  847. package/lib/components/header/header.component.d.ts +5 -0
  848. package/lib/components/header/header.module.d.ts +7 -0
  849. package/lib/components/header/index.d.ts +1 -0
  850. package/lib/components/header/org-display-text/index.d.ts +1 -0
  851. package/lib/components/header/org-display-text/org-display-text.component.d.ts +13 -0
  852. package/lib/components/header/org-display-text/org-display-text.module.d.ts +8 -0
  853. package/lib/components/header/org-display-text/public-api.d.ts +2 -0
  854. package/lib/components/header/public-api.d.ts +2 -0
  855. package/lib/components/icon-hover/icon-hover.component.d.ts +23 -0
  856. package/lib/components/icon-hover/icon-hover.module.d.ts +7 -0
  857. package/lib/components/icon-hover/index.d.ts +1 -0
  858. package/lib/components/icon-hover/public-api.d.ts +2 -0
  859. package/lib/components/logo/ascent-logo/ascent-logo.component.d.ts +19 -0
  860. package/lib/components/logo/ascent-logo/ascent-logo.module.d.ts +8 -0
  861. package/lib/components/logo/ascent-logo/index.d.ts +1 -0
  862. package/lib/components/logo/ascent-logo/public-api.d.ts +2 -0
  863. package/lib/components/logo/primary-logo/index.d.ts +1 -0
  864. package/lib/components/logo/primary-logo/primary-logo.component.d.ts +21 -0
  865. package/lib/components/logo/primary-logo/primary-logo.module.d.ts +8 -0
  866. package/lib/components/logo/primary-logo/public-api.d.ts +2 -0
  867. package/lib/components/main-menu/index.d.ts +1 -0
  868. package/lib/components/main-menu/main-menu-bottom-sheet/main-menu-bottom-sheet.component.d.ts +11 -0
  869. package/lib/components/main-menu/main-menu.component.d.ts +42 -0
  870. package/lib/components/main-menu/main-menu.module.d.ts +15 -0
  871. package/lib/components/main-menu/main-menu.types.d.ts +8 -0
  872. package/lib/components/main-menu/public-api.d.ts +3 -0
  873. package/lib/components/modal/index.d.ts +1 -0
  874. package/lib/components/modal/modal.component.d.ts +27 -0
  875. package/lib/components/modal/modal.module.d.ts +12 -0
  876. package/lib/components/modal/public-api.d.ts +2 -0
  877. package/lib/components/navigation/dashboard-edit-icon/dashboard-edit-icon.component.d.ts +30 -0
  878. package/lib/components/navigation/dashboard-edit-icon/dashboard-edit-icon.module.d.ts +8 -0
  879. package/lib/components/navigation/dashboard-edit-icon/index.d.ts +1 -0
  880. package/lib/components/navigation/dashboard-edit-icon/public-api.d.ts +2 -0
  881. package/lib/components/navigation/index.d.ts +1 -0
  882. package/lib/components/navigation/navigation-actions-container/index.d.ts +1 -0
  883. package/lib/components/navigation/navigation-actions-container/navigation-actions-container.component.d.ts +9 -0
  884. package/lib/components/navigation/navigation-actions-container/navigation-actions-container.module.d.ts +8 -0
  885. package/lib/components/navigation/navigation-actions-container/public-api.d.ts +2 -0
  886. package/lib/components/navigation/navigation-collapse-handle/index.d.ts +1 -0
  887. package/lib/components/navigation/navigation-collapse-handle/navigation-collapse-handle.component.d.ts +31 -0
  888. package/lib/components/navigation/navigation-collapse-handle/navigation-collapse-handle.module.d.ts +8 -0
  889. package/lib/components/navigation/navigation-collapse-handle/public-api.d.ts +2 -0
  890. package/lib/components/navigation/navigation-header/index.d.ts +1 -0
  891. package/lib/components/navigation/navigation-header/navigation-header.component.d.ts +13 -0
  892. package/lib/components/navigation/navigation-header/navigation-header.module.d.ts +7 -0
  893. package/lib/components/navigation/navigation-header/public-api.d.ts +2 -0
  894. package/lib/components/navigation/navigation-item/index.d.ts +1 -0
  895. package/lib/components/navigation/navigation-item/navigation-item.component.d.ts +52 -0
  896. package/lib/components/navigation/navigation-item/navigation-item.module.d.ts +11 -0
  897. package/lib/components/navigation/navigation-item/public-api.d.ts +2 -0
  898. package/lib/components/navigation/navigation-items-container/index.d.ts +1 -0
  899. package/lib/components/navigation/navigation-items-container/navigation-items-container.component.d.ts +5 -0
  900. package/lib/components/navigation/navigation-items-container/navigation-items-container.module.d.ts +7 -0
  901. package/lib/components/navigation/navigation-items-container/public-api.d.ts +2 -0
  902. package/lib/components/navigation/navigation.component.d.ts +13 -0
  903. package/lib/components/navigation/navigation.module.d.ts +7 -0
  904. package/lib/components/navigation/public-api.d.ts +2 -0
  905. package/lib/components/navigation/side-navigation/side-navigation-container/index.d.ts +1 -0
  906. package/lib/components/navigation/side-navigation/side-navigation-container/public-api.d.ts +2 -0
  907. package/lib/components/navigation/side-navigation/side-navigation-container/side-navigation-container.component.d.ts +5 -0
  908. package/lib/components/navigation/side-navigation/side-navigation-container/side-navigation-container.module.d.ts +7 -0
  909. package/lib/components/navigation/side-navigation/side-navigation-item/index.d.ts +1 -0
  910. package/lib/components/navigation/side-navigation/side-navigation-item/public-api.d.ts +2 -0
  911. package/lib/components/navigation/side-navigation/side-navigation-item/side-navigation-item.component.d.ts +45 -0
  912. package/lib/components/navigation/side-navigation/side-navigation-item/side-navigation-item.module.d.ts +11 -0
  913. package/lib/components/navigation/sub-navigation-item/index.d.ts +1 -0
  914. package/lib/components/navigation/sub-navigation-item/public-api.d.ts +2 -0
  915. package/lib/components/navigation/sub-navigation-item/sub-navigation-item.component.d.ts +28 -0
  916. package/lib/components/navigation/sub-navigation-item/sub-navigation-item.module.d.ts +8 -0
  917. package/lib/components/navigation/sub-navigation-items-container/index.d.ts +1 -0
  918. package/lib/components/navigation/sub-navigation-items-container/public-api.d.ts +2 -0
  919. package/lib/components/navigation/sub-navigation-items-container/sub-navigation-items-container.component.d.ts +5 -0
  920. package/lib/components/navigation/sub-navigation-items-container/sub-navigation-items-container.module.d.ts +7 -0
  921. package/lib/components/pagination/container/index.d.ts +1 -0
  922. package/lib/components/pagination/container/pagination-container.component.d.ts +5 -0
  923. package/lib/components/pagination/container/pagination-container.module.d.ts +7 -0
  924. package/lib/components/pagination/container/public-api.d.ts +2 -0
  925. package/lib/components/pagination/index.d.ts +1 -0
  926. package/lib/components/pagination/pagination.component.d.ts +41 -0
  927. package/lib/components/pagination/pagination.module.d.ts +9 -0
  928. package/lib/components/pagination/public-api.d.ts +2 -0
  929. package/lib/components/progress-indicators/progress-bar/index.d.ts +1 -0
  930. package/lib/components/progress-indicators/progress-bar/progress-bar.component.d.ts +48 -0
  931. package/lib/components/progress-indicators/progress-bar/progress-bar.module.d.ts +9 -0
  932. package/lib/components/progress-indicators/progress-bar/public-api.d.ts +2 -0
  933. package/lib/components/progress-indicators/progress-indicator-spinner/index.d.ts +1 -0
  934. package/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.component.d.ts +33 -0
  935. package/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.module.d.ts +9 -0
  936. package/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.types.d.ts +6 -0
  937. package/lib/components/progress-indicators/progress-indicator-spinner/public-api.d.ts +2 -0
  938. package/lib/components/progress-indicators/progress-spinner/index.d.ts +1 -0
  939. package/lib/components/progress-indicators/progress-spinner/progress-spinner.component.d.ts +37 -0
  940. package/lib/components/progress-indicators/progress-spinner/progress-spinner.module.d.ts +11 -0
  941. package/lib/components/progress-indicators/progress-spinner/public-api.d.ts +2 -0
  942. package/lib/components/progress-stepper/index.d.ts +1 -0
  943. package/lib/components/progress-stepper/progress-step.types.d.ts +5 -0
  944. package/lib/components/progress-stepper/progress-stepper.component.d.ts +42 -0
  945. package/lib/components/progress-stepper/progress-stepper.module.d.ts +10 -0
  946. package/lib/components/progress-stepper/public-api.d.ts +3 -0
  947. package/lib/components/rating/index.d.ts +1 -0
  948. package/lib/components/rating/public-api.d.ts +2 -0
  949. package/lib/components/rating/rating.component.d.ts +22 -0
  950. package/lib/components/rating/rating.module.d.ts +9 -0
  951. package/lib/components/shell-layout/index.d.ts +1 -0
  952. package/lib/components/shell-layout/public-api.d.ts +2 -0
  953. package/lib/components/shell-layout/shell-layout.component.d.ts +13 -0
  954. package/lib/components/shell-layout/shell-layout.module.d.ts +8 -0
  955. package/lib/components/snackbars/inline-snackbar/index.d.ts +1 -0
  956. package/lib/components/snackbars/inline-snackbar/inline-snackbar.component.d.ts +31 -0
  957. package/lib/components/snackbars/inline-snackbar/inline-snackbar.module.d.ts +9 -0
  958. package/lib/components/snackbars/inline-snackbar/public-api.d.ts +2 -0
  959. package/lib/components/snackbars/snackbar/index.d.ts +1 -0
  960. package/lib/components/snackbars/snackbar/public-api.d.ts +2 -0
  961. package/lib/components/snackbars/snackbar/snackbar.component.d.ts +22 -0
  962. package/lib/components/snackbars/snackbar/snackbar.module.d.ts +11 -0
  963. package/lib/components/splash-page/index.d.ts +1 -0
  964. package/lib/components/splash-page/public-api.d.ts +2 -0
  965. package/lib/components/splash-page/splash-page.component.d.ts +14 -0
  966. package/lib/components/splash-page/splash-page.module.d.ts +8 -0
  967. package/lib/components/stepper-condensed/condensed-helpers.d.ts +24 -0
  968. package/lib/components/stepper-condensed/condensed-step.type.d.ts +43 -0
  969. package/lib/components/stepper-condensed/index.d.ts +1 -0
  970. package/lib/components/stepper-condensed/public-api.d.ts +4 -0
  971. package/lib/components/stepper-condensed/stepper-condensed.component.d.ts +61 -0
  972. package/lib/components/stepper-condensed/stepper-condensed.module.d.ts +11 -0
  973. package/lib/components/submenu/submenu-container/index.d.ts +1 -0
  974. package/lib/components/submenu/submenu-container/public-api.d.ts +2 -0
  975. package/lib/components/submenu/submenu-container/submenu-container.component.d.ts +9 -0
  976. package/lib/components/submenu/submenu-container/submenu-container.module.d.ts +8 -0
  977. package/lib/components/submenu/submenu-heading/index.d.ts +1 -0
  978. package/lib/components/submenu/submenu-heading/public-api.d.ts +2 -0
  979. package/lib/components/submenu/submenu-heading/submenu-heading.component.d.ts +9 -0
  980. package/lib/components/submenu/submenu-heading/submenu-heading.module.d.ts +8 -0
  981. package/lib/components/submenu/submenu-item/index.d.ts +1 -0
  982. package/lib/components/submenu/submenu-item/public-api.d.ts +2 -0
  983. package/lib/components/submenu/submenu-item/submenu-item.component.d.ts +16 -0
  984. package/lib/components/submenu/submenu-item/submenu-item.module.d.ts +9 -0
  985. package/lib/components/submenu/submenu-secondary-item/index.d.ts +1 -0
  986. package/lib/components/submenu/submenu-secondary-item/public-api.d.ts +2 -0
  987. package/lib/components/submenu/submenu-secondary-item/submenu-secondary-item.component.d.ts +18 -0
  988. package/lib/components/submenu/submenu-secondary-item/submenu-secondary-item.module.d.ts +9 -0
  989. package/lib/components/table/index.d.ts +1 -0
  990. package/lib/components/table/public-api.d.ts +2 -0
  991. package/lib/components/table/table.component.d.ts +35 -0
  992. package/lib/components/table/table.module.d.ts +10 -0
  993. package/lib/components/tags/create-tag/create-tag.component.d.ts +85 -0
  994. package/lib/components/tags/create-tag/create-tag.module.d.ts +14 -0
  995. package/lib/components/tags/create-tag/index.d.ts +1 -0
  996. package/lib/components/tags/create-tag/public-api.d.ts +2 -0
  997. package/lib/components/tags/tag/index.d.ts +1 -0
  998. package/lib/components/tags/tag/public-api.d.ts +3 -0
  999. package/lib/components/tags/tag/tag.component.d.ts +34 -0
  1000. package/lib/components/tags/tag/tag.module.d.ts +9 -0
  1001. package/lib/components/tags/tag/tag.types.d.ts +6 -0
  1002. package/lib/components/tags/tag-container/index.d.ts +1 -0
  1003. package/lib/components/tags/tag-container/public-api.d.ts +2 -0
  1004. package/lib/components/tags/tag-container/tag-container.component.d.ts +5 -0
  1005. package/lib/components/tags/tag-container/tag-container.module.d.ts +8 -0
  1006. package/lib/components/timeline-stepper/index.d.ts +1 -0
  1007. package/lib/components/timeline-stepper/public-api.d.ts +4 -0
  1008. package/lib/components/timeline-stepper/timeline-helpers.d.ts +24 -0
  1009. package/lib/components/timeline-stepper/timeline-step.type.d.ts +43 -0
  1010. package/lib/components/timeline-stepper/timeline-stepper.component.d.ts +61 -0
  1011. package/lib/components/timeline-stepper/timeline-stepper.module.d.ts +11 -0
  1012. package/lib/components/vertical-stepper/index.d.ts +1 -0
  1013. package/lib/components/vertical-stepper/public-api.d.ts +4 -0
  1014. package/lib/components/vertical-stepper/vertical-helpers.d.ts +24 -0
  1015. package/lib/components/vertical-stepper/vertical-step.type.d.ts +45 -0
  1016. package/lib/components/vertical-stepper/vertical-stepper.component.d.ts +58 -0
  1017. package/lib/components/vertical-stepper/vertical-stepper.module.d.ts +11 -0
  1018. package/lib/components/widgets/widget-actions/index.d.ts +1 -0
  1019. package/lib/components/widgets/widget-actions/public-api.d.ts +2 -0
  1020. package/lib/components/widgets/widget-actions/widget-actions.component.d.ts +5 -0
  1021. package/lib/components/widgets/widget-actions/widget-actions.module.d.ts +7 -0
  1022. package/lib/components/widgets/widget-bar/index.d.ts +1 -0
  1023. package/lib/components/widgets/widget-bar/public-api.d.ts +2 -0
  1024. package/lib/components/widgets/widget-bar/widget-bar.component.d.ts +9 -0
  1025. package/lib/components/widgets/widget-bar/widget-bar.module.d.ts +8 -0
  1026. package/lib/components/widgets/widget-container/index.d.ts +1 -0
  1027. package/lib/components/widgets/widget-container/public-api.d.ts +2 -0
  1028. package/lib/components/widgets/widget-container/widget-container.component.d.ts +5 -0
  1029. package/lib/components/widgets/widget-container/widget-container.module.d.ts +8 -0
  1030. package/lib/components/widgets/widget-footer/index.d.ts +1 -0
  1031. package/lib/components/widgets/widget-footer/public-api.d.ts +2 -0
  1032. package/lib/components/widgets/widget-footer/widget-footer.component.d.ts +5 -0
  1033. package/lib/components/widgets/widget-footer/widget-footer.module.d.ts +8 -0
  1034. package/lib/components/widgets/widget-header/index.d.ts +1 -0
  1035. package/lib/components/widgets/widget-header/public-api.d.ts +2 -0
  1036. package/lib/components/widgets/widget-header/widget-header.component.d.ts +5 -0
  1037. package/lib/components/widgets/widget-header/widget-header.module.d.ts +8 -0
  1038. package/lib/components/widgets/widget-preview/index.d.ts +1 -0
  1039. package/lib/components/widgets/widget-preview/public-api.d.ts +2 -0
  1040. package/lib/components/widgets/widget-preview/widget-preview.component.d.ts +28 -0
  1041. package/lib/components/widgets/widget-preview/widget-preview.module.d.ts +8 -0
  1042. package/lib/components/widgets/widget-thumbnail/index.d.ts +1 -0
  1043. package/lib/components/widgets/widget-thumbnail/public-api.d.ts +2 -0
  1044. package/lib/components/widgets/widget-thumbnail/widget-thumbnail.component.d.ts +68 -0
  1045. package/lib/components/widgets/widget-thumbnail/widget-thumbnail.module.d.ts +10 -0
  1046. package/lib/components/widgets/widget-thumbnail-container/index.d.ts +1 -0
  1047. package/lib/components/widgets/widget-thumbnail-container/public-api.d.ts +2 -0
  1048. package/lib/components/widgets/widget-thumbnail-container/widget-thumbnail-container.component.d.ts +5 -0
  1049. package/lib/components/widgets/widget-thumbnail-container/widget-thumbnail-container.module.d.ts +8 -0
  1050. package/lib/components/widgets/widget-title/index.d.ts +1 -0
  1051. package/lib/components/widgets/widget-title/public-api.d.ts +2 -0
  1052. package/lib/components/widgets/widget-title/widget-title.component.d.ts +13 -0
  1053. package/lib/components/widgets/widget-title/widget-title.module.d.ts +8 -0
  1054. package/lib/components/wizard-stepper/index.d.ts +1 -0
  1055. package/lib/components/wizard-stepper/public-api.d.ts +3 -0
  1056. package/lib/components/wizard-stepper/wizard-stepper.component.d.ts +12 -0
  1057. package/lib/components/wizard-stepper/wizard-stepper.module.d.ts +10 -0
  1058. package/lib/components/wizard-stepper/wizard-stepper.types.d.ts +4 -0
  1059. package/lib/services/viewport/viewport.service.d.ts +22 -0
  1060. package/lib/services/viewport/viewport.service.interface.d.ts +6 -0
  1061. package/lib/services/window/window.service.d.ts +12 -0
  1062. package/lib/services/window/window.service.interface.d.ts +7 -0
  1063. package/package.json +340 -0
  1064. package/src/assets/sass/ads-ui/abstracts/_functions.scss +15 -0
  1065. package/src/assets/sass/ads-ui/abstracts/_mixins.scss +88 -0
  1066. package/src/assets/sass/ads-ui/abstracts/_variables.scss +125 -0
  1067. package/src/assets/sass/ads-ui/base/_reset.scss +41 -0
  1068. package/src/assets/sass/ads-ui/base/_typography.scss +188 -0
  1069. package/src/assets/sass/ads-ui/base/_utilities.scss +105 -0
  1070. package/src/assets/sass/ads-ui/main.scss +9 -0
  1071. package/src/assets/sass/ads-ui/overrides/_ag-grid.scss +2 -0
  1072. package/src/assets/sass/ads-ui/overrides/_angular-material.scss +10 -0
  1073. package/src/assets/sass/ads-ui/overrides/angular-material/_bottom-sheet.scss +10 -0
  1074. package/src/assets/sass/ads-ui/overrides/angular-material/_datetimepicker.scss +250 -0
  1075. package/src/assets/sass/ads-ui/overrides/angular-material/_dropdown.scss +32 -0
  1076. package/src/assets/sass/ads-ui/overrides/angular-material/_expansion-panel.scss +19 -0
  1077. package/src/assets/sass/ads-ui/overrides/angular-material/_html.scss +18 -0
  1078. package/src/assets/sass/ads-ui/overrides/angular-material/_mat-list.scss +45 -0
  1079. package/src/assets/sass/ads-ui/overrides/angular-material/_modal.scss +42 -0
  1080. package/src/assets/sass/ads-ui/overrides/angular-material/_search-dropdown-modal.scss +32 -0
  1081. package/src/assets/sass/ads-ui/overrides/angular-material/_snackbar.scss +37 -0
  1082. package/src/assets/sass/ads-ui/overrides/angular-material/_tabs.scss +63 -0
  1083. package/src/assets/sass/ads-ui/overrides/angular-material/_tooltip.scss +73 -0
  1084. package/src/assets/sass/ads-ui/themes/_ads-palette.scss +98 -0
  1085. package/src/lib/components/avatar/avatar.component.d.ts +30 -0
  1086. package/src/lib/components/avatar/avatar.module.d.ts +9 -0
  1087. package/src/lib/components/avatar/avatar.types.d.ts +1 -0
  1088. package/src/lib/components/avatar/index.d.ts +5 -0
  1089. package/src/lib/components/avatar/public-api.d.ts +2 -0
  1090. package/src/lib/components/buttons/button-container/button-container.component.d.ts +9 -0
  1091. package/src/lib/components/buttons/button-container/button-container.module.d.ts +8 -0
  1092. package/src/lib/components/buttons/button-container/index.d.ts +5 -0
  1093. package/src/lib/components/buttons/button-container/public-api.d.ts +2 -0
  1094. package/src/lib/components/buttons/selection-button/index.d.ts +5 -0
  1095. package/src/lib/components/buttons/selection-button/public-api.d.ts +2 -0
  1096. package/src/lib/components/buttons/selection-button/selection-button.component.d.ts +40 -0
  1097. package/src/lib/components/buttons/selection-button/selection-button.module.d.ts +10 -0
  1098. package/src/lib/components/card/card.component.d.ts +5 -0
  1099. package/src/lib/components/card/card.module.d.ts +8 -0
  1100. package/src/lib/components/card/index.d.ts +5 -0
  1101. package/src/lib/components/card/public-api.d.ts +2 -0
  1102. package/src/lib/components/divider/divider.component.d.ts +26 -0
  1103. package/src/lib/components/divider/divider.module.d.ts +8 -0
  1104. package/src/lib/components/divider/index.d.ts +5 -0
  1105. package/src/lib/components/divider/public-api.d.ts +2 -0
  1106. package/src/lib/components/drag-and-drop-list/dom.element.d.ts +17 -0
  1107. package/src/lib/components/drag-and-drop-list/drag-and-drop-list.component.d.ts +82 -0
  1108. package/src/lib/components/drag-and-drop-list/drag-and-drop-list.enums.d.ts +8 -0
  1109. package/src/lib/components/drag-and-drop-list/drag-and-drop-list.module.d.ts +8 -0
  1110. package/src/lib/components/drag-and-drop-list/dragged.placeholder.d.ts +14 -0
  1111. package/src/lib/components/drag-and-drop-list/index.d.ts +5 -0
  1112. package/src/lib/components/drag-and-drop-list/public-api.d.ts +2 -0
  1113. package/src/lib/components/error-page/error-page-code/error-page-code.component.d.ts +5 -0
  1114. package/src/lib/components/error-page/error-page-code/error-page-code.module.d.ts +8 -0
  1115. package/src/lib/components/error-page/error-page-code/index.d.ts +5 -0
  1116. package/src/lib/components/error-page/error-page-code/public-api.d.ts +2 -0
  1117. package/src/lib/components/footer/container/footer-container.component.d.ts +5 -0
  1118. package/src/lib/components/footer/container/footer-container.module.d.ts +7 -0
  1119. package/src/lib/components/footer/container/index.d.ts +5 -0
  1120. package/src/lib/components/footer/container/public-api.d.ts +2 -0
  1121. package/src/lib/components/footer/footer.component.d.ts +22 -0
  1122. package/src/lib/components/footer/footer.component.types.d.ts +12 -0
  1123. package/src/lib/components/footer/footer.module.d.ts +8 -0
  1124. package/src/lib/components/footer/index.d.ts +5 -0
  1125. package/src/lib/components/footer/public-api.d.ts +3 -0
  1126. package/src/lib/components/header/container/header-container.component.d.ts +9 -0
  1127. package/src/lib/components/header/container/header-container.module.d.ts +7 -0
  1128. package/src/lib/components/header/container/index.d.ts +5 -0
  1129. package/src/lib/components/header/container/public-api.d.ts +2 -0
  1130. package/src/lib/components/header/header.component.d.ts +5 -0
  1131. package/src/lib/components/header/header.module.d.ts +7 -0
  1132. package/src/lib/components/header/index.d.ts +5 -0
  1133. package/src/lib/components/header/org-display-text/index.d.ts +5 -0
  1134. package/src/lib/components/header/org-display-text/org-display-text.component.d.ts +13 -0
  1135. package/src/lib/components/header/org-display-text/org-display-text.module.d.ts +8 -0
  1136. package/src/lib/components/header/org-display-text/public-api.d.ts +2 -0
  1137. package/src/lib/components/header/public-api.d.ts +2 -0
  1138. package/src/lib/components/logo/primary-logo/index.d.ts +5 -0
  1139. package/src/lib/components/logo/primary-logo/primary-logo.component.d.ts +21 -0
  1140. package/src/lib/components/logo/primary-logo/primary-logo.module.d.ts +8 -0
  1141. package/src/lib/components/logo/primary-logo/public-api.d.ts +2 -0
  1142. package/src/lib/components/main-menu/index.d.ts +5 -0
  1143. package/src/lib/components/main-menu/main-menu-bottom-sheet/main-menu-bottom-sheet.component.d.ts +11 -0
  1144. package/src/lib/components/main-menu/main-menu.component.d.ts +42 -0
  1145. package/src/lib/components/main-menu/main-menu.module.d.ts +15 -0
  1146. package/src/lib/components/main-menu/main-menu.types.d.ts +8 -0
  1147. package/src/lib/components/main-menu/public-api.d.ts +3 -0
  1148. package/src/lib/components/navigation/dashboard-edit-icon/dashboard-edit-icon.component.d.ts +30 -0
  1149. package/src/lib/components/navigation/dashboard-edit-icon/dashboard-edit-icon.module.d.ts +8 -0
  1150. package/src/lib/components/navigation/dashboard-edit-icon/index.d.ts +5 -0
  1151. package/src/lib/components/navigation/dashboard-edit-icon/public-api.d.ts +2 -0
  1152. package/src/lib/components/navigation/index.d.ts +5 -0
  1153. package/src/lib/components/navigation/navigation-actions-container/index.d.ts +5 -0
  1154. package/src/lib/components/navigation/navigation-actions-container/navigation-actions-container.component.d.ts +9 -0
  1155. package/src/lib/components/navigation/navigation-actions-container/navigation-actions-container.module.d.ts +8 -0
  1156. package/src/lib/components/navigation/navigation-actions-container/public-api.d.ts +2 -0
  1157. package/src/lib/components/navigation/navigation-collapse-handle/index.d.ts +5 -0
  1158. package/src/lib/components/navigation/navigation-collapse-handle/navigation-collapse-handle.component.d.ts +31 -0
  1159. package/src/lib/components/navigation/navigation-collapse-handle/navigation-collapse-handle.module.d.ts +8 -0
  1160. package/src/lib/components/navigation/navigation-collapse-handle/public-api.d.ts +2 -0
  1161. package/src/lib/components/navigation/navigation-header/index.d.ts +5 -0
  1162. package/src/lib/components/navigation/navigation-header/navigation-header.component.d.ts +13 -0
  1163. package/src/lib/components/navigation/navigation-header/navigation-header.module.d.ts +7 -0
  1164. package/src/lib/components/navigation/navigation-header/public-api.d.ts +2 -0
  1165. package/src/lib/components/navigation/navigation-item/index.d.ts +5 -0
  1166. package/src/lib/components/navigation/navigation-item/navigation-item.component.d.ts +52 -0
  1167. package/src/lib/components/navigation/navigation-item/navigation-item.module.d.ts +11 -0
  1168. package/src/lib/components/navigation/navigation-item/public-api.d.ts +2 -0
  1169. package/src/lib/components/navigation/navigation-items-container/index.d.ts +5 -0
  1170. package/src/lib/components/navigation/navigation-items-container/navigation-items-container.component.d.ts +5 -0
  1171. package/src/lib/components/navigation/navigation-items-container/navigation-items-container.module.d.ts +7 -0
  1172. package/src/lib/components/navigation/navigation-items-container/public-api.d.ts +2 -0
  1173. package/src/lib/components/navigation/navigation.component.d.ts +13 -0
  1174. package/src/lib/components/navigation/navigation.module.d.ts +7 -0
  1175. package/src/lib/components/navigation/public-api.d.ts +2 -0
  1176. package/src/lib/components/navigation/side-navigation/side-navigation-container/index.d.ts +5 -0
  1177. package/src/lib/components/navigation/side-navigation/side-navigation-container/public-api.d.ts +2 -0
  1178. package/src/lib/components/navigation/side-navigation/side-navigation-container/side-navigation-container.component.d.ts +5 -0
  1179. package/src/lib/components/navigation/side-navigation/side-navigation-container/side-navigation-container.module.d.ts +7 -0
  1180. package/src/lib/components/navigation/side-navigation/side-navigation-item/index.d.ts +5 -0
  1181. package/src/lib/components/navigation/side-navigation/side-navigation-item/public-api.d.ts +2 -0
  1182. package/src/lib/components/navigation/side-navigation/side-navigation-item/side-navigation-item.component.d.ts +45 -0
  1183. package/src/lib/components/navigation/side-navigation/side-navigation-item/side-navigation-item.module.d.ts +11 -0
  1184. package/src/lib/components/navigation/sub-navigation-item/index.d.ts +5 -0
  1185. package/src/lib/components/navigation/sub-navigation-item/public-api.d.ts +2 -0
  1186. package/src/lib/components/navigation/sub-navigation-item/sub-navigation-item.component.d.ts +28 -0
  1187. package/src/lib/components/navigation/sub-navigation-item/sub-navigation-item.module.d.ts +8 -0
  1188. package/src/lib/components/navigation/sub-navigation-items-container/index.d.ts +5 -0
  1189. package/src/lib/components/navigation/sub-navigation-items-container/public-api.d.ts +2 -0
  1190. package/src/lib/components/navigation/sub-navigation-items-container/sub-navigation-items-container.component.d.ts +5 -0
  1191. package/src/lib/components/navigation/sub-navigation-items-container/sub-navigation-items-container.module.d.ts +7 -0
  1192. package/src/lib/components/pagination/container/index.d.ts +5 -0
  1193. package/src/lib/components/pagination/container/pagination-container.component.d.ts +5 -0
  1194. package/src/lib/components/pagination/container/pagination-container.module.d.ts +7 -0
  1195. package/src/lib/components/pagination/container/public-api.d.ts +2 -0
  1196. package/src/lib/components/pagination/index.d.ts +5 -0
  1197. package/src/lib/components/pagination/pagination.component.d.ts +41 -0
  1198. package/src/lib/components/pagination/pagination.module.d.ts +9 -0
  1199. package/src/lib/components/pagination/public-api.d.ts +2 -0
  1200. package/src/lib/components/progress-indicators/progress-bar/index.d.ts +5 -0
  1201. package/src/lib/components/progress-indicators/progress-bar/progress-bar.component.d.ts +48 -0
  1202. package/src/lib/components/progress-indicators/progress-bar/progress-bar.module.d.ts +9 -0
  1203. package/src/lib/components/progress-indicators/progress-bar/public-api.d.ts +2 -0
  1204. package/src/lib/components/progress-indicators/progress-indicator-spinner/index.d.ts +5 -0
  1205. package/src/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.component.d.ts +33 -0
  1206. package/src/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.module.d.ts +9 -0
  1207. package/src/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.types.d.ts +6 -0
  1208. package/src/lib/components/progress-indicators/progress-indicator-spinner/public-api.d.ts +2 -0
  1209. package/src/lib/components/progress-indicators/progress-spinner/index.d.ts +5 -0
  1210. package/src/lib/components/progress-indicators/progress-spinner/progress-spinner.component.d.ts +37 -0
  1211. package/src/lib/components/progress-indicators/progress-spinner/progress-spinner.module.d.ts +11 -0
  1212. package/src/lib/components/progress-indicators/progress-spinner/public-api.d.ts +2 -0
  1213. package/src/lib/components/progress-stepper/index.d.ts +5 -0
  1214. package/src/lib/components/progress-stepper/progress-step.types.d.ts +5 -0
  1215. package/src/lib/components/progress-stepper/progress-stepper.component.d.ts +42 -0
  1216. package/src/lib/components/progress-stepper/progress-stepper.module.d.ts +10 -0
  1217. package/src/lib/components/progress-stepper/public-api.d.ts +3 -0
  1218. package/src/lib/components/rating/index.d.ts +5 -0
  1219. package/src/lib/components/rating/public-api.d.ts +2 -0
  1220. package/src/lib/components/rating/rating.component.d.ts +22 -0
  1221. package/src/lib/components/rating/rating.module.d.ts +9 -0
  1222. package/src/lib/components/shell-layout/index.d.ts +5 -0
  1223. package/src/lib/components/shell-layout/public-api.d.ts +2 -0
  1224. package/src/lib/components/shell-layout/shell-layout.component.d.ts +13 -0
  1225. package/src/lib/components/shell-layout/shell-layout.module.d.ts +8 -0
  1226. package/src/lib/components/splash-page/index.d.ts +5 -0
  1227. package/src/lib/components/splash-page/public-api.d.ts +2 -0
  1228. package/src/lib/components/splash-page/splash-page.component.d.ts +14 -0
  1229. package/src/lib/components/splash-page/splash-page.module.d.ts +8 -0
  1230. package/src/lib/components/submenu/submenu-container/index.d.ts +5 -0
  1231. package/src/lib/components/submenu/submenu-container/public-api.d.ts +2 -0
  1232. package/src/lib/components/submenu/submenu-container/submenu-container.component.d.ts +9 -0
  1233. package/src/lib/components/submenu/submenu-container/submenu-container.module.d.ts +8 -0
  1234. package/src/lib/components/submenu/submenu-heading/index.d.ts +5 -0
  1235. package/src/lib/components/submenu/submenu-heading/public-api.d.ts +2 -0
  1236. package/src/lib/components/submenu/submenu-heading/submenu-heading.component.d.ts +9 -0
  1237. package/src/lib/components/submenu/submenu-heading/submenu-heading.module.d.ts +8 -0
  1238. package/src/lib/components/submenu/submenu-item/index.d.ts +5 -0
  1239. package/src/lib/components/submenu/submenu-item/public-api.d.ts +2 -0
  1240. package/src/lib/components/submenu/submenu-item/submenu-item.component.d.ts +16 -0
  1241. package/src/lib/components/submenu/submenu-item/submenu-item.module.d.ts +9 -0
  1242. package/src/lib/components/submenu/submenu-secondary-item/index.d.ts +5 -0
  1243. package/src/lib/components/submenu/submenu-secondary-item/public-api.d.ts +2 -0
  1244. package/src/lib/components/submenu/submenu-secondary-item/submenu-secondary-item.component.d.ts +18 -0
  1245. package/src/lib/components/submenu/submenu-secondary-item/submenu-secondary-item.module.d.ts +9 -0
  1246. package/src/lib/components/tags/tag-container/index.d.ts +5 -0
  1247. package/src/lib/components/tags/tag-container/public-api.d.ts +2 -0
  1248. package/src/lib/components/tags/tag-container/tag-container.component.d.ts +5 -0
  1249. package/src/lib/components/tags/tag-container/tag-container.module.d.ts +8 -0
  1250. package/src/lib/components/timeline-stepper/index.d.ts +5 -0
  1251. package/src/lib/components/timeline-stepper/public-api.d.ts +4 -0
  1252. package/src/lib/components/timeline-stepper/timeline-helpers.d.ts +24 -0
  1253. package/src/lib/components/timeline-stepper/timeline-step.type.d.ts +43 -0
  1254. package/src/lib/components/timeline-stepper/timeline-stepper.component.d.ts +61 -0
  1255. package/src/lib/components/timeline-stepper/timeline-stepper.module.d.ts +11 -0
  1256. package/src/lib/components/vertical-stepper/index.d.ts +5 -0
  1257. package/src/lib/components/vertical-stepper/public-api.d.ts +4 -0
  1258. package/src/lib/components/vertical-stepper/vertical-helpers.d.ts +24 -0
  1259. package/src/lib/components/vertical-stepper/vertical-step.type.d.ts +45 -0
  1260. package/src/lib/components/vertical-stepper/vertical-stepper.component.d.ts +58 -0
  1261. package/src/lib/components/vertical-stepper/vertical-stepper.module.d.ts +11 -0
  1262. package/src/lib/components/widgets/widget-actions/index.d.ts +5 -0
  1263. package/src/lib/components/widgets/widget-actions/public-api.d.ts +2 -0
  1264. package/src/lib/components/widgets/widget-actions/widget-actions.component.d.ts +5 -0
  1265. package/src/lib/components/widgets/widget-actions/widget-actions.module.d.ts +7 -0
  1266. package/src/lib/components/widgets/widget-bar/index.d.ts +5 -0
  1267. package/src/lib/components/widgets/widget-bar/public-api.d.ts +2 -0
  1268. package/src/lib/components/widgets/widget-bar/widget-bar.component.d.ts +9 -0
  1269. package/src/lib/components/widgets/widget-bar/widget-bar.module.d.ts +8 -0
  1270. package/src/lib/components/widgets/widget-container/index.d.ts +5 -0
  1271. package/src/lib/components/widgets/widget-container/public-api.d.ts +2 -0
  1272. package/src/lib/components/widgets/widget-container/widget-container.component.d.ts +5 -0
  1273. package/src/lib/components/widgets/widget-container/widget-container.module.d.ts +8 -0
  1274. package/src/lib/components/widgets/widget-footer/index.d.ts +5 -0
  1275. package/src/lib/components/widgets/widget-footer/public-api.d.ts +2 -0
  1276. package/src/lib/components/widgets/widget-footer/widget-footer.component.d.ts +5 -0
  1277. package/src/lib/components/widgets/widget-footer/widget-footer.module.d.ts +8 -0
  1278. package/src/lib/components/widgets/widget-header/index.d.ts +5 -0
  1279. package/src/lib/components/widgets/widget-header/public-api.d.ts +2 -0
  1280. package/src/lib/components/widgets/widget-header/widget-header.component.d.ts +5 -0
  1281. package/src/lib/components/widgets/widget-header/widget-header.module.d.ts +8 -0
  1282. package/src/lib/components/widgets/widget-preview/index.d.ts +5 -0
  1283. package/src/lib/components/widgets/widget-preview/public-api.d.ts +2 -0
  1284. package/src/lib/components/widgets/widget-preview/widget-preview.component.d.ts +28 -0
  1285. package/src/lib/components/widgets/widget-preview/widget-preview.module.d.ts +8 -0
  1286. package/src/lib/components/widgets/widget-thumbnail/index.d.ts +5 -0
  1287. package/src/lib/components/widgets/widget-thumbnail/public-api.d.ts +2 -0
  1288. package/src/lib/components/widgets/widget-thumbnail/widget-thumbnail.component.d.ts +68 -0
  1289. package/src/lib/components/widgets/widget-thumbnail/widget-thumbnail.module.d.ts +10 -0
  1290. package/src/lib/components/widgets/widget-thumbnail-container/index.d.ts +5 -0
  1291. package/src/lib/components/widgets/widget-thumbnail-container/public-api.d.ts +2 -0
  1292. package/src/lib/components/widgets/widget-thumbnail-container/widget-thumbnail-container.component.d.ts +5 -0
  1293. package/src/lib/components/widgets/widget-thumbnail-container/widget-thumbnail-container.module.d.ts +8 -0
  1294. package/src/lib/components/widgets/widget-title/index.d.ts +5 -0
  1295. package/src/lib/components/widgets/widget-title/public-api.d.ts +2 -0
  1296. package/src/lib/components/widgets/widget-title/widget-title.component.d.ts +13 -0
  1297. package/src/lib/components/widgets/widget-title/widget-title.module.d.ts +8 -0
  1298. package/src/lib/components/wizard-stepper/index.d.ts +5 -0
  1299. package/src/lib/components/wizard-stepper/public-api.d.ts +3 -0
  1300. package/src/lib/components/wizard-stepper/wizard-stepper.component.d.ts +12 -0
  1301. package/src/lib/components/wizard-stepper/wizard-stepper.module.d.ts +10 -0
  1302. package/src/lib/components/wizard-stepper/wizard-stepper.types.d.ts +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ascentgl-ads-ui.mjs","sources":["../../../../libs/ads-ui/src/lib/components/avatar/avatar.component.ts","../../../../libs/ads-ui/src/lib/components/avatar/avatar.component.html","../../../../libs/ads-ui/src/lib/components/avatar/avatar.module.ts","../../../../libs/ads-ui/src/lib/components/icon-hover/icon-hover.component.ts","../../../../libs/ads-ui/src/lib/components/icon-hover/icon-hover.component.html","../../../../libs/ads-ui/src/lib/components/icon-hover/icon-hover.module.ts","../../../../libs/ads-ui/src/lib/components/badge/numeric-badge.component.ts","../../../../libs/ads-ui/src/lib/components/badge/numeric-badge.component.html","../../../../libs/ads-ui/src/lib/components/badge/numeric-badge.module.ts","../../../../libs/ads-ui/src/lib/components/breadcrumb/breadcrumb.visual-processor.ts","../../../../libs/ads-ui/src/lib/components/buttons/icon-button/icon-button.component.ts","../../../../libs/ads-ui/src/lib/components/buttons/icon-button/icon-button.component.html","../../../../libs/ads-ui/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../libs/ads-ui/src/lib/components/breadcrumb/breadcrumb.component.html","../../../../libs/ads-ui/src/lib/components/buttons/icon-button/icon-button.module.ts","../../../../libs/ads-ui/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../../libs/ads-ui/src/lib/components/buttons/button/button.component.ts","../../../../libs/ads-ui/src/lib/components/buttons/button/button.component.html","../../../../libs/ads-ui/src/lib/components/buttons/button/button.module.ts","../../../../libs/ads-ui/src/lib/components/buttons/button-container/button-container.component.ts","../../../../libs/ads-ui/src/lib/components/buttons/button-container/button-container.component.html","../../../../libs/ads-ui/src/lib/components/buttons/button-container/button-container.module.ts","../../../../libs/ads-ui/src/lib/components/card/card.component.ts","../../../../libs/ads-ui/src/lib/components/card/card.component.html","../../../../libs/ads-ui/src/lib/components/card/card.module.ts","../../../../libs/ads-ui/src/lib/components/general/color-palette/colors.enums.ts","../../../../libs/ads-ui/src/lib/components/tags/create-tag/create-tag.component.ts","../../../../libs/ads-ui/src/lib/components/tags/create-tag/create-tag.component.html","../../../../libs/ads-ui/src/lib/components/tags/create-tag/create-tag.module.ts","../../../../libs/ads-ui/src/lib/components/divider/divider.component.ts","../../../../libs/ads-ui/src/lib/components/divider/divider.component.html","../../../../libs/ads-ui/src/lib/components/divider/divider.module.ts","../../../../libs/ads-ui/src/lib/components/drag-and-drop-list/dom.element.ts","../../../../libs/ads-ui/src/lib/components/drag-and-drop-list/dragged.placeholder.ts","../../../../libs/ads-ui/src/lib/components/drag-and-drop-list/drag-and-drop-list.component.ts","../../../../libs/ads-ui/src/lib/components/drag-and-drop-list/drag-and-drop-list.component.html","../../../../libs/ads-ui/src/lib/components/drag-and-drop-list/drag-and-drop-list.module.ts","../../../../libs/ads-ui/src/lib/components/error-page/error-page.types.ts","../../../../libs/ads-ui/src/lib/components/error-page/error-page.component.ts","../../../../libs/ads-ui/src/lib/components/error-page/error-page.component.html","../../../../libs/ads-ui/src/lib/components/error-page/error-page-code/error-page-code.component.ts","../../../../libs/ads-ui/src/lib/components/error-page/error-page-code/error-page-code.module.ts","../../../../libs/ads-ui/src/lib/components/error-page/error-page.module.ts","../../../../libs/ads-ui/src/lib/components/footer/footer.component.ts","../../../../libs/ads-ui/src/lib/components/footer/footer.component.html","../../../../libs/ads-ui/src/lib/components/footer/footer.module.ts","../../../../libs/ads-ui/src/lib/components/footer/container/footer-container.component.ts","../../../../libs/ads-ui/src/lib/components/footer/container/footer-container.component.html","../../../../libs/ads-ui/src/lib/components/footer/container/footer-container.module.ts","../../../../libs/ads-ui/src/lib/components/header/header.component.ts","../../../../libs/ads-ui/src/lib/components/header/header.component.html","../../../../libs/ads-ui/src/lib/components/header/header.module.ts","../../../../libs/ads-ui/src/lib/components/header/container/header-container.component.ts","../../../../libs/ads-ui/src/lib/components/header/container/header-container.component.html","../../../../libs/ads-ui/src/lib/components/header/container/header-container.module.ts","../../../../libs/ads-ui/src/lib/components/header/org-display-text/org-display-text.component.ts","../../../../libs/ads-ui/src/lib/components/header/org-display-text/org-display-text.component.html","../../../../libs/ads-ui/src/lib/components/header/org-display-text/org-display-text.module.ts","../../../../libs/ads-ui/src/lib/components/buttons/link-button/link-button.component.ts","../../../../libs/ads-ui/src/lib/components/buttons/link-button/link-button.component.html","../../../../libs/ads-ui/src/lib/components/buttons/link-button/link-button.module.ts","../../../../libs/ads-ui/src/lib/components/logo/primary-logo/primary-logo.component.ts","../../../../libs/ads-ui/src/lib/components/logo/primary-logo/primary-logo.component.html","../../../../libs/ads-ui/src/lib/components/logo/primary-logo/primary-logo.module.ts","../../../../libs/ads-ui/src/lib/components/logo/ascent-logo/ascent-logo.component.ts","../../../../libs/ads-ui/src/lib/components/logo/ascent-logo/ascent-logo.component.html","../../../../libs/ads-ui/src/lib/components/logo/ascent-logo/ascent-logo.module.ts","../../../../libs/ads-ui/src/lib/components/main-menu/main-menu-bottom-sheet/main-menu-bottom-sheet.component.ts","../../../../libs/ads-ui/src/lib/components/main-menu/main-menu-bottom-sheet/main-menu-bottom-sheet.component.html","../../../../libs/ads-ui/src/lib/components/main-menu/main-menu.component.ts","../../../../libs/ads-ui/src/lib/components/main-menu/main-menu.component.html","../../../../libs/ads-ui/src/lib/components/main-menu/main-menu.module.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation.component.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation.component.html","../../../../libs/ads-ui/src/lib/components/navigation/navigation.module.ts","../../../../libs/ads-ui/src/lib/components/navigation/dashboard-edit-icon/dashboard-edit-icon.component.ts","../../../../libs/ads-ui/src/lib/components/navigation/dashboard-edit-icon/dashboard-edit-icon.component.html","../../../../libs/ads-ui/src/lib/components/navigation/dashboard-edit-icon/dashboard-edit-icon.module.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation-actions-container/navigation-actions-container.component.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation-actions-container/navigation-actions-container.component.html","../../../../libs/ads-ui/src/lib/components/navigation/navigation-actions-container/navigation-actions-container.module.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation-collapse-handle/navigation-collapse-handle.component.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation-collapse-handle/navigation-collapse-handle.component.html","../../../../libs/ads-ui/src/lib/components/navigation/navigation-collapse-handle/navigation-collapse-handle.module.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation-header/navigation-header.component.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation-header/navigation-header.component.html","../../../../libs/ads-ui/src/lib/components/navigation/navigation-header/navigation-header.module.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation-item/navigation-item.component.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation-item/navigation-item.component.html","../../../../libs/ads-ui/src/lib/components/navigation/navigation-item/navigation-item.module.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation-items-container/navigation-items-container.component.ts","../../../../libs/ads-ui/src/lib/components/navigation/navigation-items-container/navigation-items-container.module.ts","../../../../libs/ads-ui/src/lib/components/navigation/side-navigation/side-navigation-container/side-navigation-container.component.ts","../../../../libs/ads-ui/src/lib/components/navigation/side-navigation/side-navigation-container/side-navigation-container.component.html","../../../../libs/ads-ui/src/lib/components/navigation/side-navigation/side-navigation-container/side-navigation-container.module.ts","../../../../libs/ads-ui/src/lib/components/navigation/side-navigation/side-navigation-item/side-navigation-item.component.ts","../../../../libs/ads-ui/src/lib/components/navigation/side-navigation/side-navigation-item/side-navigation-item.component.html","../../../../libs/ads-ui/src/lib/components/navigation/side-navigation/side-navigation-item/side-navigation-item.module.ts","../../../../libs/ads-ui/src/lib/components/navigation/sub-navigation-item/sub-navigation-item.component.ts","../../../../libs/ads-ui/src/lib/components/navigation/sub-navigation-item/sub-navigation-item.component.html","../../../../libs/ads-ui/src/lib/components/navigation/sub-navigation-item/sub-navigation-item.module.ts","../../../../libs/ads-ui/src/lib/components/navigation/sub-navigation-items-container/sub-navigation-items-container.component.ts","../../../../libs/ads-ui/src/lib/components/navigation/sub-navigation-items-container/sub-navigation-items-container.component.html","../../../../libs/ads-ui/src/lib/components/navigation/sub-navigation-items-container/sub-navigation-items-container.module.ts","../../../../libs/ads-ui/src/lib/components/pagination/pagination.component.ts","../../../../libs/ads-ui/src/lib/components/pagination/pagination.component.html","../../../../libs/ads-ui/src/lib/components/pagination/pagination.module.ts","../../../../libs/ads-ui/src/lib/components/pagination/container/pagination-container.component.ts","../../../../libs/ads-ui/src/lib/components/pagination/container/pagination-container.component.html","../../../../libs/ads-ui/src/lib/components/pagination/container/pagination-container.module.ts","../../../../libs/ads-ui/src/lib/components/progress-indicators/progress-bar/progress-bar.component.ts","../../../../libs/ads-ui/src/lib/components/progress-indicators/progress-bar/progress-bar.component.html","../../../../libs/ads-ui/src/lib/components/progress-indicators/progress-bar/progress-bar.module.ts","../../../../libs/ads-ui/src/lib/components/progress-indicators/progress-spinner/progress-spinner.component.ts","../../../../libs/ads-ui/src/lib/components/progress-indicators/progress-spinner/progress-spinner.component.html","../../../../libs/ads-ui/src/lib/components/progress-indicators/progress-spinner/progress-spinner.module.ts","../../../../libs/ads-ui/src/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.types.ts","../../../../libs/ads-ui/src/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.component.ts","../../../../libs/ads-ui/src/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.component.html","../../../../libs/ads-ui/src/lib/components/progress-indicators/progress-indicator-spinner/progress-indicator-spinner.module.ts","../../../../libs/ads-ui/src/lib/components/progress-stepper/progress-stepper.component.ts","../../../../libs/ads-ui/src/lib/components/progress-stepper/progress-stepper.component.html","../../../../libs/ads-ui/src/lib/components/progress-stepper/progress-stepper.module.ts","../../../../libs/ads-ui/src/lib/components/rating/rating.component.ts","../../../../libs/ads-ui/src/lib/components/rating/rating.component.html","../../../../libs/ads-ui/src/lib/components/rating/rating.module.ts","../../../../libs/ads-ui/src/lib/components/buttons/selection-button/selection-button.component.ts","../../../../libs/ads-ui/src/lib/components/buttons/selection-button/selection-button.component.html","../../../../libs/ads-ui/src/lib/components/buttons/selection-button/selection-button.module.ts","../../../../libs/ads-ui/src/lib/components/shell-layout/shell-layout.component.ts","../../../../libs/ads-ui/src/lib/components/shell-layout/shell-layout.component.html","../../../../libs/ads-ui/src/lib/components/shell-layout/shell-layout.module.ts","../../../../libs/ads-ui/src/lib/components/splash-page/splash-page.component.ts","../../../../libs/ads-ui/src/lib/components/splash-page/splash-page.component.html","../../../../libs/ads-ui/src/lib/components/splash-page/splash-page.module.ts","../../../../libs/ads-ui/src/lib/components/stepper-condensed/condensed-step.type.ts","../../../../libs/ads-ui/src/lib/components/stepper-condensed/condensed-helpers.ts","../../../../libs/ads-ui/src/lib/components/stepper-condensed/stepper-condensed.component.ts","../../../../libs/ads-ui/src/lib/components/stepper-condensed/stepper-condensed.component.html","../../../../libs/ads-ui/src/lib/components/stepper-condensed/stepper-condensed.module.ts","../../../../libs/ads-ui/src/lib/components/submenu/submenu-container/submenu-container.component.ts","../../../../libs/ads-ui/src/lib/components/submenu/submenu-container/submenu-container.component.html","../../../../libs/ads-ui/src/lib/components/submenu/submenu-container/submenu-container.module.ts","../../../../libs/ads-ui/src/lib/components/submenu/submenu-heading/submenu-heading.component.ts","../../../../libs/ads-ui/src/lib/components/submenu/submenu-heading/submenu-heading.component.html","../../../../libs/ads-ui/src/lib/components/submenu/submenu-heading/submenu-heading.module.ts","../../../../libs/ads-ui/src/lib/components/submenu/submenu-item/submenu-item.component.ts","../../../../libs/ads-ui/src/lib/components/submenu/submenu-item/submenu-item.component.html","../../../../libs/ads-ui/src/lib/components/submenu/submenu-item/submenu-item.module.ts","../../../../libs/ads-ui/src/lib/components/submenu/submenu-secondary-item/submenu-secondary-item.component.ts","../../../../libs/ads-ui/src/lib/components/submenu/submenu-secondary-item/submenu-secondary-item.component.html","../../../../libs/ads-ui/src/lib/components/submenu/submenu-secondary-item/submenu-secondary-item.module.ts","../../../../libs/ads-ui/src/lib/components/tags/tag/tag.component.ts","../../../../libs/ads-ui/src/lib/components/tags/tag/tag.component.html","../../../../libs/ads-ui/src/lib/components/tags/tag/tag.module.ts","../../../../libs/ads-ui/src/lib/components/tags/tag-container/tag-container.component.ts","../../../../libs/ads-ui/src/lib/components/tags/tag-container/tag-container.component.html","../../../../libs/ads-ui/src/lib/components/tags/tag-container/tag-container.module.ts","../../../../libs/ads-ui/src/lib/components/timeline-stepper/timeline-step.type.ts","../../../../libs/ads-ui/src/lib/components/timeline-stepper/timeline-helpers.ts","../../../../libs/ads-ui/src/lib/components/timeline-stepper/timeline-stepper.component.ts","../../../../libs/ads-ui/src/lib/components/timeline-stepper/timeline-stepper.component.html","../../../../libs/ads-ui/src/lib/components/timeline-stepper/timeline-stepper.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/abstracts/abstract.base.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/abstracts/abstract.input.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/abstracts/abstract.dropdown.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/common/input.tooltip.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/common/error/error.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/common/error/error.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/common/hint/hint.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/common/success/success.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/common/success/success.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/checkbox/checkbox.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/checkbox/checkbox.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/dropdowns/dropdown/dropdown.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/dropdowns/dropdown/dropdown.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/checkbox/checkbox.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/dropdowns/dropdown/dropdown.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/dropdowns/multi-select-dropdown/multi-select-dropdown.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/dropdowns/multi-select-dropdown/multi-select-dropdown.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/input/input.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/input/input.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/input/input.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/area/textarea.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/area/textarea.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/area/textarea.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/dropdowns/input-dropdown/input-dropdown.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/dropdowns/input-dropdown/input-dropdown.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/dropdowns/input-dropdown/input-dropdown.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/search-fields/search-dropdown/search-dropdown-highlighter.pipe.ts","../../../../libs/ads-ui/src/lib/components/form-fields/search-fields/search-dropdown/search-dropdown.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/search-fields/search-dropdown/search-dropdown.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/search-fields/search-dropdown/search-dropdown.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/search-fields/search-input/search-input.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/search-fields/search-input/search-input.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/search-fields/search-input/search-input.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/datepickers/datetime-picker/custom-datetime-format.ts","../../../../libs/ads-ui/src/lib/components/form-fields/datepickers/datetime-picker/datetime-template.formatter.ts","../../../../libs/ads-ui/src/lib/components/form-fields/datepickers/datetime-picker/datetime-picker-format-directive.ts","../../../../libs/ads-ui/src/lib/components/form-fields/datepickers/datetime-picker/datetimepicker.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/datepickers/datetime-picker/datetimepicker.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/datepickers/datetime-picker/custom-datetime.adapter.ts","../../../../libs/ads-ui/src/lib/components/form-fields/datepickers/datetime-picker/datetimepicker.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/datepickers/date-picker/datepicker.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/datepickers/date-picker/datepicker.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/datepickers/time-picker/timepicker.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/datepickers/time-picker/timepicker.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/radio-button/radio-button.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/radio-button/radio-button.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/radio-button/radio-button.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/slide-toggle/slide-toggle.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/slide-toggle/slide-toggle.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/slide-toggle/slide-toggle.module.ts","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/slider/slider.component.ts","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/slider/slider.component.html","../../../../libs/ads-ui/src/lib/components/form-fields/selection-fields/slider/slider.module.ts","../../../../libs/ads-ui/src/lib/components/snackbars/inline-snackbar/inline-snackbar.component.ts","../../../../libs/ads-ui/src/lib/components/snackbars/inline-snackbar/inline-snackbar.component.html","../../../../libs/ads-ui/src/lib/components/snackbars/inline-snackbar/inline-snackbar.module.ts","../../../../libs/ads-ui/src/lib/components/snackbars/snackbar/snackbar.component.ts","../../../../libs/ads-ui/src/lib/components/snackbars/snackbar/snackbar.component.html","../../../../libs/ads-ui/src/lib/components/snackbars/snackbar/snackbar.module.ts","../../../../libs/ads-ui/src/lib/components/vertical-stepper/vertical-step.type.ts","../../../../libs/ads-ui/src/lib/components/vertical-stepper/vertical-helpers.ts","../../../../libs/ads-ui/src/lib/components/vertical-stepper/vertical-stepper.component.ts","../../../../libs/ads-ui/src/lib/components/vertical-stepper/vertical-stepper.component.html","../../../../libs/ads-ui/src/lib/components/vertical-stepper/vertical-stepper.module.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-actions/widget-actions.component.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-actions/widget-actions.component.html","../../../../libs/ads-ui/src/lib/components/widgets/widget-actions/widget-actions.module.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-bar/widget-bar.component.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-bar/widget-bar.component.html","../../../../libs/ads-ui/src/lib/components/widgets/widget-bar/widget-bar.module.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-container/widget-container.component.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-container/widget-container.component.html","../../../../libs/ads-ui/src/lib/components/widgets/widget-container/widget-container.module.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-footer/widget-footer.component.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-footer/widget-footer.component.html","../../../../libs/ads-ui/src/lib/components/widgets/widget-footer/widget-footer.module.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-header/widget-header.component.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-header/widget-header.component.html","../../../../libs/ads-ui/src/lib/components/widgets/widget-header/widget-header.module.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-preview/widget-preview.component.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-preview/widget-preview.component.html","../../../../libs/ads-ui/src/lib/components/widgets/widget-preview/widget-preview.module.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-thumbnail/widget-thumbnail.component.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-thumbnail/widget-thumbnail.component.html","../../../../libs/ads-ui/src/lib/components/widgets/widget-thumbnail/widget-thumbnail.module.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-thumbnail-container/widget-thumbnail-container.component.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-thumbnail-container/widget-thumbnail-container.component.html","../../../../libs/ads-ui/src/lib/components/widgets/widget-thumbnail-container/widget-thumbnail-container.module.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-title/widget-title.component.ts","../../../../libs/ads-ui/src/lib/components/widgets/widget-title/widget-title.component.html","../../../../libs/ads-ui/src/lib/components/widgets/widget-title/widget-title.module.ts","../../../../libs/ads-ui/src/lib/components/wizard-stepper/wizard-stepper.component.ts","../../../../libs/ads-ui/src/lib/components/wizard-stepper/wizard-stepper.component.html","../../../../libs/ads-ui/src/lib/components/wizard-stepper/wizard-stepper.module.ts","../../../../libs/ads-ui/src/lib/services/viewport/viewport.service.ts","../../../../libs/ads-ui/src/lib/services/window/window.service.ts","../../../../libs/ads-ui/src/lib/components/modal/modal.component.ts","../../../../libs/ads-ui/src/lib/components/modal/modal.component.html","../../../../libs/ads-ui/src/lib/components/modal/modal.module.ts","../../../../libs/ads-ui/src/lib/components/chip/chip.component.ts","../../../../libs/ads-ui/src/lib/components/chip/chip.component.html","../../../../libs/ads-ui/src/lib/components/chip/chip.module.ts","../../../../libs/ads-ui/src/lib/components/expansion-panel/expansion-panel.component.ts","../../../../libs/ads-ui/src/lib/components/expansion-panel/expansion-panel.component.html","../../../../libs/ads-ui/src/lib/components/expansion-panel/expansion-panel.module.ts","../../../../libs/ads-ui/src/lib/components/table/table.component.ts","../../../../libs/ads-ui/src/lib/components/table/table.component.html","../../../../libs/ads-ui/src/lib/components/table/table.module.ts","../../../../libs/ads-ui/src/ascentgl-ads-ui.ts"],"sourcesContent":["import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconUserCircle } from '@ascentgl/ads-icons/icons';\nimport { Size } from './avatar.types';\n\n@Component({\n selector: 'ads-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n})\nexport class AdsAvatarComponent implements OnChanges {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register(adsIconUserCircle);\n }\n\n /**\n * The alt text for the avatar\n */\n @Input() alt?: string = 'Avatar for user';\n\n /**\n * The id attribute for the avatar icon\n */\n @Input() id = 'ads-avatar';\n\n /**\n * The size of the avatar\n */\n @Input() size: Size = 'md';\n\n /**\n * The path to the image to display\n */\n @Input() src?: string;\n\n /**\n * @ignore\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.size?.currentValue) {\n this.size = changes.size.currentValue;\n }\n\n if (changes?.image?.currentValue) {\n this.src = changes.image.currentValue;\n }\n }\n}\n","<div class=\"avatar\" [ngClass]=\"size\">\n <img *ngIf=\"src; else icon\" [src]=\"src\" [alt]=\"alt\" />\n <ng-template #icon>\n <ads-icon [id]=\"id\" name=\"user_circle\" [size]=\"size\" theme=\"primary\"></ads-icon>\n </ng-template>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsAvatarComponent } from './avatar.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n\n@NgModule({\n declarations: [AdsAvatarComponent],\n imports: [CommonModule, AdsIconModule],\n exports: [AdsAvatarComponent],\n})\nexport class AdsAvatarModule {}\n","import { Component, input, output } from '@angular/core';\n\n@Component({\n selector: 'ads-icon-hover',\n styleUrls: ['icon-hover.component.scss'],\n templateUrl: 'icon-hover.component.html',\n})\nexport class AdsIconHoverComponent {\n /**\n * The aria-label for the button\n */\n ariaLabel = input<string>('');\n /**\n * Whether the icon button is disabled.\n */\n disabled = input<boolean>(false);\n\n /**\n * The unique ID for the icon button.\n */\n id = input<string>('');\n\n /**\n * Event emitted when the icon button is clicked.\n */\n clicked = output();\n\n /** @ignore */\n public onClick(): void {\n this.clicked.emit();\n }\n}\n","<button\n class=\"icon-hover\"\n type=\"button\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.id]=\"id()\"\n [disabled]=\"disabled()\"\n (click)=\"onClick()\"\n>\n <ng-content></ng-content>\n</button>\n","import { NgModule } from '@angular/core';\nimport { AdsIconHoverComponent } from './icon-hover.component';\n\n@NgModule({\n exports: [AdsIconHoverComponent],\n declarations: [AdsIconHoverComponent],\n})\nexport class AdsIconHoverModule {}\n","import { Component, computed, input } from '@angular/core';\nimport { adsIcon } from '@ascentgl/ads-icons/icons';\nimport { AdsIconHoverComponent } from '../icon-hover';\n\nexport enum BadgeColor {\n primary = 'primary',\n secondary = 'secondary',\n alert = 'alert',\n}\n\n@Component({\n selector: 'ads-numeric-badge',\n templateUrl: './numeric-badge.component.html',\n styleUrls: ['../icon-hover/icon-hover.component.scss', './numeric-badge.component.scss'],\n})\nexport class AdsNumericBadgeComponent extends AdsIconHoverComponent {\n /** choose badge color mode \"primary\" or \"alert\" **/\n color = input<BadgeColor>(BadgeColor.secondary);\n\n /** provide icon name. NOTE: the icon must be registered in icon registry **/\n name = input<adsIcon>('bell');\n\n /** choose ads icon theme **/\n theme = input<'iconPrimary' | 'primary' | 'success' | 'warn' | 'white'>('iconPrimary');\n\n /** set badge value as number **/\n value = input<number>(0);\n\n /** @ignore **/\n calculatedValue = computed<string>(() => {\n return this.value().toString().length > 2 ? '99..' : this.value().toString();\n });\n}\n","<button\n class=\"icon-hover color-{{ color() }}\"\n type=\"button\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.id]=\"id()\"\n [disabled]=\"disabled()\"\n (click)=\"onClick()\"\n>\n <ads-icon\n [name]=\"name()\"\n [size]=\"'sm'\"\n [theme]=\"theme()\"\n [matBadgeSize]=\"'small'\"\n [matBadge]=\"calculatedValue()\"\n ></ads-icon>\n</button>\n","import { NgModule } from '@angular/core';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { MatBadge } from '@angular/material/badge';\nimport { AdsNumericBadgeComponent } from './numeric-badge.component';\n\n@NgModule({\n declarations: [AdsNumericBadgeComponent],\n exports: [AdsNumericBadgeComponent],\n imports: [AdsIconModule, MatBadge],\n})\nexport class AdsNumericBadgeModule {}\n","import { signal } from '@angular/core';\n\nexport class BreadcrumbVisualProcessor {\n canScrollLeft = signal<boolean>(false);\n canScrollRight = signal<boolean>(false);\n\n private position: {\n containerWidth: number;\n listWidth: number;\n listX: number;\n } = {\n containerWidth: 0,\n listWidth: 0,\n listX: 0,\n };\n\n constructor(\n private containerElement: HTMLElement,\n private listElement: HTMLElement,\n ) {\n this.scrollActiveIntoView();\n this.calculatePositions();\n this.toggleScrollButtons();\n }\n\n onWindowResize(): void {\n this.calculatePositions();\n\n /**\n * disable animation when we reposition breadcrumb list on window resize\n */\n this.listElement.classList.remove('animated');\n\n /**\n * if list is scrolled to the left, but we have empty space to the right - reposition the list\n * to fill the empty space\n */\n if (this.position.listX < 0) {\n const diff = this.position.containerWidth - this.position.listWidth;\n\n if (this.position.listX < diff) {\n this.applyScrollPos(diff);\n }\n }\n\n this.toggleScrollButtons();\n }\n\n onScrollLeft(): void {\n let [, scrollStep] = this.beforeApplyScrollPos();\n\n /**\n * make sure scrollStep is not more than current x position of the list;\n * otherwise the list will be scrolled too much to the left\n */\n if (scrollStep > this.position.listX * -1) {\n scrollStep = this.position.listX * -1;\n }\n\n /**\n * calculate new list x position (scrolling to the left)\n */\n let listX = this.position.listX + scrollStep;\n\n /**\n * if the remainder of the scrollable width is too small (less than 100px);\n * set listX position to 0\n * NOTE: remainder correction is done to avoid possible extra tiny scroll step remaining\n */\n const remainingScrollWidth = listX * -1;\n\n if (remainingScrollWidth <= 100) {\n listX = 0;\n }\n\n this.applyScrollPos(listX);\n }\n\n onScrollRight(): void {\n const [maxScrollDistance, maxScrollStep] = this.beforeApplyScrollPos();\n\n let scrollStep = maxScrollStep;\n\n /**\n * make sure scrollStep is not less than current x position of the list;\n * otherwise the list will be scrolled too much to the right\n */\n if (scrollStep > maxScrollDistance + this.position.listX) {\n scrollStep = maxScrollDistance + this.position.listX;\n }\n\n /**\n * calculate new list x position (scrolling to the right)\n */\n let listX = Math.round(this.position.listX - scrollStep);\n\n /**\n * if the remainder of the scrollable width is too small (less than 100px);\n * add remainder to the x position to scroll all the way to the right\n * NOTE: remainder correction is done to avoid possible extra tiny scroll step remaining\n */\n const remainingScrollWidth = this.position.listWidth - (listX * -1 + this.position.containerWidth);\n\n if (remainingScrollWidth <= 100) {\n listX -= remainingScrollWidth;\n }\n\n this.applyScrollPos(listX);\n }\n\n private beforeApplyScrollPos(): [number, number] {\n this.calculatePositions();\n\n /**\n * make sure that scrolling is animated\n */\n this.listElement.classList.add('animated');\n\n /**\n * get max scroll distance which is the difference between container width and breadcrumbs list width\n */\n const maxScrollDistance = this.position.listWidth - this.position.containerWidth;\n\n /**\n * calculate max scroll step that is not more than 50% of the list but not less than 50px\n */\n const maxScrollStep = Math.max(maxScrollDistance * 0.5, 50);\n\n return [maxScrollDistance, maxScrollStep];\n }\n\n private applyScrollPos(listX: number): void {\n /**\n * scroll breadcrumb list by changing its left position\n */\n this.listElement.style.left = listX + 'px';\n\n /**\n * store new x position\n */\n this.position.listX = listX;\n\n this.toggleScrollButtons();\n }\n\n private toggleScrollButtons(): void {\n const listIsBiggerThanContainer = this.position.containerWidth < this.position.listWidth;\n\n /**\n * we can scroll to the left if list is bigger than container and current list x position is on 0\n */\n this.canScrollLeft.set(listIsBiggerThanContainer && this.position.listX < 0);\n\n /**\n * we can scroll to the right if list width plus its x position is greater than container width\n * NOTE: since x position is a negative value or null, we add it to list width\n */\n this.canScrollRight.set(\n listIsBiggerThanContainer && this.position.listWidth + this.position.listX > this.position.containerWidth,\n );\n }\n\n private scrollActiveIntoView(): void {\n /**\n * gert active breadcrumb\n */\n const active = this.listElement.querySelector('.breadcrumb.active');\n\n /**\n * if found scroll it into view\n */\n if (active) {\n active.scrollIntoView({ behavior: 'instant', inline: 'center' });\n\n /**\n * replace scrollLeft of the container with x position of the list as we use x position\n * for scrolling\n */\n if (this.containerElement.scrollLeft) {\n this.listElement.style.left = this.containerElement.scrollLeft * -1 + 'px';\n this.containerElement.scrollLeft = 0;\n }\n }\n }\n\n private calculatePositions(): void {\n this.position = {\n containerWidth: this.containerElement.offsetWidth,\n listWidth: this.listElement.offsetWidth,\n listX: this.listElement.offsetLeft,\n };\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ads-icon-button',\n templateUrl: './icon-button.component.html',\n styleUrls: ['./icon-button.component.scss'],\n})\nexport class AdsIconButtonComponent {\n /**\n * aria-label for the button\n */\n @Input() ariaLabel!: string;\n\n /**\n * The unique ID for the icon button\n */\n @Input() id!: string;\n\n /**\n * Theme color palette for the component\n */\n @Input() theme: 'primary' | 'success' | 'warn' | 'white' = 'primary';\n\n /**\n * Whether the button is disabled\n */\n @Input() disabled = false;\n\n /**\n * Sets the \"type\" attribute on the button\n */\n @Input() type: 'button' | 'submit' | 'reset' = 'button';\n}\n","<button\n type=\"button\"\n class=\"ads-icon-btn\"\n [ngClass]=\"['bg-' + theme]\"\n [disabled]=\"disabled\"\n [type]=\"type\"\n [attr.aria-label]=\"ariaLabel\"\n [id]=\"id\"\n>\n <span class=\"icon-wrapper\">\n <ng-content></ng-content>\n </span>\n</button>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n input,\n OnChanges,\n SimpleChange,\n viewChild,\n} from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconChevronLeft, adsIconChevronRight } from '@ascentgl/ads-icons/icons';\nimport { Breadcrumb } from './breadcrumb.type';\nimport { BreadcrumbVisualProcessor } from './breadcrumb.visual-processor';\nimport { asapScheduler } from 'rxjs';\n\n@Component({\n selector: 'ads-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n})\nexport class AdsBreadcrumbComponent<T> implements OnChanges, AfterViewInit {\n /** @ignore */\n containerRef = viewChild<ElementRef>('container');\n\n /** @ignore */\n listRef = viewChild<ElementRef>('list');\n\n /** provide an array of breadcrumbs of Breadcrumb<T> type */\n breadcrumbs = input.required<Breadcrumb<T>[]>();\n\n /** set to \"true\" to show sequence number for every breadcrumb */\n showNumber = input<boolean>(false);\n\n /** @ignore */\n visualProcessor?: BreadcrumbVisualProcessor;\n\n /** @ignore */\n constructor(\n private registry: AdsIconRegistry,\n private cdr: ChangeDetectorRef,\n ) {\n this.registry.register([adsIconChevronLeft, adsIconChevronRight]);\n }\n\n /** @ignore */\n ngOnChanges(changes: { breadcrumbs: SimpleChange }): void {\n if (changes.breadcrumbs && !changes.breadcrumbs.isFirstChange()) {\n asapScheduler.schedule(() => this.visualProcessor?.onWindowResize());\n }\n }\n\n /** @ignore */\n ngAfterViewInit(): void {\n this.visualProcessor = new BreadcrumbVisualProcessor(\n this.containerRef()?.nativeElement,\n this.listRef()?.nativeElement,\n );\n\n this.cdr.detectChanges();\n }\n\n /** @ignore */\n @HostListener('window:resize') resize(): void {\n this.visualProcessor?.onWindowResize();\n }\n\n /** @ignore */\n onClick(breadcrumb: Breadcrumb<T>): void {\n breadcrumb.callback(breadcrumb.payload);\n }\n\n /** @ignore */\n scrollLeft(): void {\n this.visualProcessor?.onScrollLeft();\n }\n\n /** @ignore */\n scrollRight(): void {\n this.visualProcessor?.onScrollRight();\n }\n}\n","@if (breadcrumbs().length > 1 && visualProcessor?.canScrollLeft()) {\n <div class=\"scroller-wrapper\">\n <ads-icon-button [type]=\"'button'\" class=\"scroller left\" [theme]=\"'white'\" (click)=\"scrollLeft()\">\n <ads-icon [name]=\"'chevron_left'\" [size]=\"'xxxs'\" [theme]=\"'primary'\" />\n </ads-icon-button>\n </div>\n}\n<div\n class=\"container\"\n #container\n [ngClass]=\"{\n 'can-scroll-left': visualProcessor?.canScrollLeft(),\n 'can-scroll-right': visualProcessor?.canScrollRight(),\n }\"\n>\n <div class=\"list\" #list>\n @for (breadcrumb of breadcrumbs(); track $index) {\n <div\n class=\"breadcrumb\"\n (click)=\"!breadcrumb.active ? onClick(breadcrumb) : null\"\n [ngClass]=\"{ active: breadcrumb.active, 'has-badge': showNumber() }\"\n >\n @if (showNumber()) {\n <span class=\"badge\">{{ $index + 1 }}</span>\n }\n <span class=\"label-primary\">{{ breadcrumb.primaryLabel }}</span>\n @if (breadcrumb.secondaryLabel && !breadcrumb.active) {\n <span class=\"label-secondary\">{{ breadcrumb.secondaryLabel }}</span>\n }\n </div>\n @if (!$last) {\n <ads-icon class=\"separator\" [name]=\"'chevron_right'\" [color]=\"'#8484a0'\" [size]=\"'xxxs'\" />\n }\n }\n </div>\n</div>\n@if (breadcrumbs().length > 1 && visualProcessor?.canScrollRight()) {\n <div class=\"scroller-wrapper right\">\n <ads-icon-button class=\"scroller\" [theme]=\"'white'\" (click)=\"scrollRight()\">\n <ads-icon [name]=\"'chevron_right'\" [size]=\"'xxxs'\" [theme]=\"'primary'\" />\n </ads-icon-button>\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsIconButtonComponent } from './icon-button.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n declarations: [AdsIconButtonComponent],\n exports: [AdsIconButtonComponent],\n imports: [CommonModule, MatButtonModule, AdsIconModule],\n})\nexport class AdsIconButtonModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsBreadcrumbComponent } from './breadcrumb.component';\nimport { RouterModule } from '@angular/router';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsIconButtonModule } from '../buttons/icon-button';\n\n@NgModule({\n imports: [CommonModule, RouterModule, AdsIconModule, AdsIconButtonModule],\n declarations: [AdsBreadcrumbComponent],\n exports: [AdsBreadcrumbComponent],\n})\nexport class AdsBreadcrumbModule {}\n","import { Component, computed, input, Signal } from '@angular/core';\n\nexport type Variant = 'primary' | 'error' | 'secondary';\nexport type Size = 'base' | 'sm' | 'xs';\n\n@Component({\n selector: 'ads-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class AdsButtonComponent {\n /** The unique ID for the button */\n id = input<string>('');\n\n /** The button appearance style */\n variant = input<Variant>('primary');\n\n /** Whether the button is disabled */\n disabled = input<boolean>(false);\n\n /** Whether the button is a smaller version */\n size = input<Size>('base');\n\n /** Whether the button is rounded or squared */\n rounded = input<boolean>(false);\n\n /** Sets the \"type\" attribute on the button */\n type = input<'button' | 'submit' | 'reset'>('button');\n\n /** @ignore */\n calcVariant: Signal<Variant> = computed(() => (this.variant() === 'secondary' ? 'primary' : this.variant()));\n\n /** @ignore */\n calcReverse: Signal<boolean> = computed(() => this.variant() === 'secondary');\n}\n","<button\n mat-flat-button\n [id]=\"id()\"\n [class.rounded]=\"rounded()\"\n [class.reverse]=\"calcReverse()\"\n [ngClass]=\"[calcVariant(), size()]\"\n [disabled]=\"disabled()\"\n [disableRipple]=\"true\"\n>\n <ng-content></ng-content>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AdsButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [AdsButtonComponent],\n exports: [AdsButtonComponent],\n imports: [CommonModule, MatButtonModule],\n})\nexport class AdsButtonModule {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ads-button-container',\n templateUrl: './button-container.component.html',\n styleUrls: ['./button-container.component.scss'],\n})\nexport class AdsButtonContainerComponent {\n /** How buttons in the container should be placed */\n justify = input<'flex-start' | 'flex-end' | 'center'>('flex-start');\n\n /** The gap between elements */\n gap = input<number>(16);\n}\n","<div class=\"button-container\" [style.justify-content]=\"justify()\" [style.gap]=\"gap() + 'px'\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsButtonContainerComponent } from './button-container.component';\n\n@NgModule({\n declarations: [AdsButtonContainerComponent],\n imports: [CommonModule],\n exports: [AdsButtonContainerComponent],\n})\nexport class AdsButtonContainerModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-card',\n styleUrls: ['card.component.scss'],\n templateUrl: 'card.component.html',\n})\nexport class AdsCardComponent {}\n","<div class=\"card\"><ng-content></ng-content></div>\n<div class=\"drop-zone\"></div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AdsCardComponent } from './card.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AdsCardComponent],\n declarations: [AdsCardComponent],\n})\nexport class AdsCardModule {}\n","export enum Colors {\n White = 'white',\n Muted30 = 'muted-30',\n Muted50 = 'muted-50',\n Muted = 'muted',\n Light30 = 'light-30',\n Light80 = 'light-80',\n Light = 'light',\n LightOpacity50 = 'light-opacity-50',\n Medium30 = 'medium-30',\n Medium50 = 'medium-50',\n Medium = 'medium',\n MediumOpacity50 = 'medium-opacity-50',\n Dark10 = 'dark-10',\n Dark30 = 'dark-30',\n Dark50 = 'dark-50',\n Dark80 = 'dark-80',\n Dark90 = 'dark-90',\n Dark = 'dark',\n Black = 'black',\n Primary = 'primary',\n PrimaryHover = 'primary-hover',\n PrimaryPressed = 'primary-pressed',\n Secondary = 'secondary',\n SecondaryHover = 'secondary-hover',\n SecondaryPressed = 'secondary-pressed',\n Link = 'link',\n LinkHover = 'link-hover',\n LinkPressed = 'link-pressed',\n Error = 'error',\n ErrorHover = 'error-hover',\n ErrorPressed = 'error-pressed',\n Success = 'success',\n SuccessHover = 'success-hover',\n SuccessPressed = 'success-pressed',\n Logo = 'logo',\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChange,\n ViewChild,\n} from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconPlus } from '@ascentgl/ads-icons/icons';\nimport { Subscription } from 'rxjs';\nimport { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { Colors } from '../../general/color-palette/colors.enums';\nimport { Tag } from '../tag';\n\n@Component({\n selector: 'ads-create-tag',\n templateUrl: './create-tag.component.html',\n styleUrls: ['./create-tag.component.scss'],\n})\nexport class AdsCreateTagComponent implements OnChanges, OnDestroy {\n constructor(\n private fb: FormBuilder,\n private registry: AdsIconRegistry,\n ) {\n this.registry.register(adsIconPlus);\n this.createForm();\n }\n\n /** The total number of tags that can be created */\n limit = input<number>(10);\n\n /** Holds all the tags you create or tags you previously created. Required for proper unique tag validation\n * and total number of existing tags calculation */\n tags = input<Tag[]>([]);\n\n /** The color palette for the tag background */\n palette = input<Colors[]>([\n Colors.Primary,\n Colors.PrimaryPressed,\n Colors.Secondary,\n Colors.SecondaryPressed,\n Colors.Light30,\n Colors.Light,\n Colors.Medium,\n Colors.Dark10,\n ]);\n\n /** Reference to a tag which can be used for editing existing tags */\n tag = input<Tag>();\n\n /** If true - all the letters will be transformed to lowercase */\n lowercase = input<boolean>(false);\n\n /** Total number of characters that can be in input field */\n maxlength = input<number>(30);\n\n /** If true - only alphanumeric characters are allowed */\n alphanumeric = input<boolean>(true);\n\n /** Event emitted when a tag is created */\n @Output() tagCreated = new EventEmitter<Tag>();\n\n /** Event emitted when an existing tag has been updated */\n @Output() tagUpdated = new EventEmitter<Tag>();\n\n /** @ignore */\n form!: FormGroup;\n\n /** @ignore */\n selectedColor = '';\n\n /** @ignore */\n showInput = false;\n\n /** @ignore\n * preset positions are required to properly control how overlay is positioned relative to the button\n * NOTE: default positioning is not optimal\n * NOTE: if none of the positions fits - overlay will be positioned automatically\n */\n positions: ConnectionPositionPair[] = [\n new ConnectionPositionPair({ originX: 'end', originY: 'top' }, { overlayX: 'end', overlayY: 'top' }, 0, 0),\n new ConnectionPositionPair({ originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'bottom' }, 0, 24),\n new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'top' }, 0, 0),\n new ConnectionPositionPair(\n { originX: 'start', originY: 'bottom' },\n { overlayX: 'start', overlayY: 'bottom' },\n 0,\n 24,\n ),\n ];\n\n /** @ignore */\n @ViewChild('tagInput') tagInput?: ElementRef;\n\n /** @ignore */\n private tagControlSubscription?: Subscription;\n\n /** @ignore */\n ngOnChanges(changes: { tag?: SimpleChange; palette?: SimpleChange; suggestions?: SimpleChange }): void {\n if (changes.tag && changes.tag.currentValue && this.form) {\n this.form.patchValue(changes.tag.currentValue);\n this.selectedColor = changes.tag.currentValue.color;\n this.showInput = true;\n }\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this.tagControlSubscription?.unsubscribe();\n }\n\n /** @ignore */\n addTag(): void {\n this.tagCreated.emit(this.getModifiedTag());\n this.reset();\n }\n\n /** @ignore */\n updateTag(): void {\n this.tagUpdated.emit(this.getModifiedTag());\n this.reset();\n }\n\n /** @ignore */\n onColorChange(color: string): void {\n this.selectedColor = color === this.selectedColor ? '' : color;\n this.form.patchValue({ color: this.selectedColor });\n }\n\n /** @ignore */\n reset(): void {\n this.resetForm();\n this.selectedColor = '';\n this.showInput = false;\n this.tag();\n }\n\n /** @ignore */\n hide(): void {\n /**\n * reset form if we are closing after editing an existing tag\n * to avoid existing tag being loaded when we create a new one\n */\n if (this.form.value.id) {\n this.reset();\n } else {\n this.showInput = false;\n }\n }\n\n /** @ignore */\n displayInput(): void {\n this.setDefaultSelectedColor();\n this.showInput = true;\n\n setTimeout(() => {\n if (this.tagInput) {\n this.tagInput.nativeElement.focus();\n }\n });\n }\n\n /** @ignore */\n isValueInvalid(): boolean {\n /**\n * value is invalid if form us invalid\n * OR palette is enabled, but we have no color selected\n * OR tag is not unique\n * tag is not unique if already exists a tag with such name\n * AND color\n * AND current tag's id is different from existing tag's id\n */\n return (\n !this.form.valid ||\n !this.selectedColor ||\n this.tags().filter((tag) => {\n return (\n this.trimTagName(tag.tag) === this.trimTagName(this.form.value.tag) &&\n tag.color === this.form.value.color &&\n tag.id !== this.form.value.id\n );\n }).length > 0\n );\n }\n\n /** @ignore */\n private createForm(): void {\n this.form = this.fb.group({\n tag: new FormControl('', [Validators.required, Validators.maxLength(this.maxlength())]),\n color: new FormControl(''),\n id: new FormControl(''),\n });\n\n this.form.controls.tag.valueChanges.subscribe((value) => {\n const modifiedValue = this.formatTagName(value);\n\n /** update form value only if it got modified*/\n if (modifiedValue !== value) {\n this.form.controls.tag.setValue(modifiedValue, { emitEvent: false });\n }\n });\n }\n\n /** @ignore */\n private resetForm(): void {\n this.form.reset({ tag: '', color: '', id: '' });\n }\n\n /** @ignore */\n private getModifiedTag(): Tag {\n return {\n id: this.form.value.id,\n tag: this.form.value.tag.trim(), //make sure tag value does not contain trailing slash\n color: this.form.value.color,\n };\n }\n\n /** @ignore */\n private setDefaultSelectedColor(): void {\n /**\n * set default color only if tag id is empty - meaning it is a new tag\n */\n if (!this.form.value.id && !this.form.value.color && this.palette.length) {\n this.onColorChange(this.palette()[0]);\n }\n }\n\n /** @ignore */\n private formatTagName(tagName: string): string {\n let formattedName = tagName;\n\n /** if \"alphanumeric\" is true - allow only alphanumerics and spaces */\n if (this.alphanumeric()) {\n formattedName = formattedName.replace(/[^a-z0-9\\s]/gi, '');\n }\n\n /** if \"lowercase\" is true - turn all letters to lowercase */\n if (this.lowercase()) {\n formattedName = formattedName.toLowerCase();\n }\n\n /** do not allow space at the beginning of the string*/\n if (formattedName.startsWith(' ')) {\n formattedName = formattedName.replace(/^\\s+/gm, '');\n }\n\n /** do not allow multi-space sequences*/\n if (formattedName.includes(' ')) {\n formattedName = formattedName.replace(/\\s\\s+/gm, ' ');\n }\n\n return formattedName;\n }\n\n /** @ignore */\n private trimTagName(tagName: string): string {\n return tagName.trim().toLowerCase();\n }\n\n /** @ignore */\n getBackgroundColor(color: string): string {\n return `var(--color-${color})`;\n }\n}\n","<div class=\"container\">\n @if (showInput) {\n <form [formGroup]=\"form\">\n <div class=\"tag-overlay-trigger\" cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\"></div>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayOpen]=\"true\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n (backdropClick)=\"hide()\"\n (detach)=\"hide()\"\n >\n <div class=\"tag-overlay\">\n <input #tagInput formControlName=\"tag\" [attr.maxlength]=\"maxlength()\" />\n <div class=\"tag-configuration\">\n <div class=\"color-picker\">\n @for (color of palette(); track color) {\n <div\n class=\"color\"\n [class.selected]=\"selectedColor === color\"\n [ngStyle]=\"{\n 'background-color': getBackgroundColor(color),\n opacity: selectedColor && selectedColor !== color ? 0.2 : 1,\n }\"\n (click)=\"onColorChange(color)\"\n ></div>\n }\n </div>\n <div class=\"actions\">\n <ads-button [variant]=\"'secondary'\" size=\"sm\" (click)=\"reset()\">{{ 'Cancel' | transloco }} </ads-button>\n @if (!tag()) {\n <ads-button size=\"sm\" [disabled]=\"isValueInvalid()\" (click)=\"addTag()\"\n >{{ 'Add' | transloco }}\n </ads-button>\n } @else {\n <ads-button size=\"sm\" [disabled]=\"isValueInvalid()\" (click)=\"updateTag()\">\n {{ 'Save' | transloco }}\n </ads-button>\n }\n </div>\n </div>\n </div>\n </ng-template>\n </form>\n }\n\n @if (this.tags().length < this.limit()) {\n <ads-button (click)=\"displayInput()\" size=\"xs\">\n {{ 'AddTag' | transloco }}\n </ads-button>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsCreateTagComponent } from './create-tag.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsButtonModule } from '../../buttons/button';\nimport { TranslocoPipe } from '@jsverse/transloco';\n\n@NgModule({\n declarations: [AdsCreateTagComponent],\n imports: [\n CommonModule,\n MatButtonModule,\n OverlayModule,\n ReactiveFormsModule,\n AdsIconModule,\n AdsButtonModule,\n TranslocoPipe,\n ],\n exports: [AdsCreateTagComponent],\n})\nexport class AdsCreateTagModule {}\n","import { Component, Input, OnChanges } from '@angular/core';\n\nexport type DividerStyle = {\n margin: string | number;\n 'background-color': string;\n};\n\n@Component({\n selector: 'ads-divider',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss'],\n})\nexport class DividerComponent implements OnChanges {\n /**\n * The divider left and right margin\n */\n @Input() margin: string | number = 0;\n\n /**\n * The divider color\n */\n @Input() color: 'primary' | 'secondary' | 'light' = 'light';\n\n /** @ignore */\n public style!: DividerStyle;\n\n /** @ignore */\n private colors = {\n primary: '--color-primary',\n secondary: '--color-secondary',\n light: '--color-light',\n };\n\n /** @ignore */\n ngOnChanges(): void {\n this.setDividerStyle();\n }\n\n /** @ignore */\n private setDividerStyle() {\n this.style = {\n margin: `0 ${this.margin}px`,\n 'background-color': `var(${this.colors[this.color] || this.colors['light']})`,\n };\n }\n}\n","<div [ngStyle]=\"style\" class=\"ads-divider\"></div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DividerComponent } from './divider.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [DividerComponent],\n declarations: [DividerComponent],\n})\nexport class AdsDividerModule {}\n","import { dragAndDropListClass } from './drag-and-drop-list.enums';\n\nexport class DomElement {\n constructor(private domElement: HTMLElement) {}\n\n get dom(): HTMLElement {\n return this.domElement;\n }\n\n canDrop(): boolean {\n return !this.dom.classList.contains(dragAndDropListClass.NO_DROP);\n }\n\n canDrag(): boolean {\n return !this.dom.classList.contains(dragAndDropListClass.NO_DRAG);\n }\n\n isDropBlocked(): boolean {\n return this.dom.classList.contains(dragAndDropListClass.DROP_BLOCKED);\n }\n\n makeDraggable(): void {\n this.dom.setAttribute('draggable', 'true');\n }\n\n makeUnDraggable(): void {\n this.dom.removeAttribute('draggable');\n }\n\n unblockDrop(): void {\n this.dom.classList.remove(dragAndDropListClass.DROP_BLOCKED);\n }\n\n clone(): HTMLElement {\n const clone: HTMLElement = this.dom.cloneNode(true) as HTMLElement;\n\n clone.classList.add(dragAndDropListClass.DRAGGED_PLACEHOLDER);\n\n const targetRect: DOMRect = this.dom.getBoundingClientRect();\n\n /**\n * preserve target dimensions\n */\n clone.style.width = targetRect.width + 'px';\n clone.style.height = targetRect.height + 'px';\n\n /**\n * modify clone styles\n */\n Object.assign(clone.style, {\n position: 'fixed', //required to allow free dragging of the clone\n pointerEvents: 'none', // required to allow drag events for items under the clone\n zIndex: '1000', // required to make sure that draggable element is positioned over other elements\n });\n\n return clone;\n }\n\n blockDrop(): void {\n this.dom.classList.add(dragAndDropListClass.DROP_BLOCKED);\n }\n\n draggedOver(): void {\n this.dom.classList.add(dragAndDropListClass.DRAGGED_OVER);\n }\n\n draggedOut(): void {\n this.dom.classList.remove(dragAndDropListClass.DRAGGED_OVER);\n this.unblockDrop();\n }\n\n isDragged(): void {\n this.dom.classList.add(dragAndDropListClass.IS_DRAGGED);\n }\n\n isNotDragged(): void {\n this.dom.classList.remove(dragAndDropListClass.IS_DRAGGED);\n }\n}\n","import { DomElement } from './dom.element';\nimport { Renderer2 } from '@angular/core';\n\ntype COORDS = { x: number; y: number };\n\nexport class DraggedPlaceholder {\n readonly domElement: HTMLElement;\n private readonly positions: { x: number; y: number } = { x: 0, y: 0 };\n private readonly scrollUnsubscribeFunction?: () => void;\n private cursorPos: COORDS = { x: 0, y: 0 };\n\n constructor(\n element: DomElement,\n container: HTMLElement,\n event: DragEvent,\n private renderer: Renderer2,\n ) {\n this.domElement = element.clone();\n\n /**\n * get target element DOMRect data\n */\n const targetRect: DOMRect = element.dom.getBoundingClientRect();\n\n /**\n * save cursor position relative to target element\n * this will help calculate dragged item position relative to the cursor\n */\n this.positions = {\n x: event.clientX - targetRect.left,\n y: event.clientY - targetRect.top,\n };\n\n this.hideDefaultDragPlaceholder(event);\n\n /**\n * add clone to the list\n */\n container.append(this.domElement);\n\n this.scrollUnsubscribeFunction = this.renderer.listen('document', 'scroll', (): void => {\n this.setDomPosition();\n });\n\n /**\n * make initial placeholder positioning\n */\n this.reposition(event);\n }\n\n remove(): void {\n this.domElement.remove();\n\n if (this.scrollUnsubscribeFunction) {\n this.scrollUnsubscribeFunction();\n }\n }\n\n reposition(event: MouseEvent): void {\n this.cursorPos = { x: event.clientX, y: event.clientY };\n this.setDomPosition();\n }\n\n private setDomPosition(): void {\n /**\n * position placeholder relative to the cursor\n */\n this.domElement.style.left = this.cursorPos.x - this.positions.x + 'px';\n this.domElement.style.top = this.cursorPos.y - this.positions.y + 'px';\n }\n\n private hideDefaultDragPlaceholder(event: DragEvent): void {\n const placeholder: HTMLImageElement = document.createElement('img');\n placeholder.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';\n\n Object.assign(placeholder.style, {\n display: 'block',\n width: '0',\n height: '0',\n });\n\n /**\n * replace default browser drag placeholder with transparent image\n */\n event.dataTransfer?.setDragImage(placeholder, 0, 0);\n }\n}\n","import { AfterContentInit, Component, ElementRef, Input, OnDestroy, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DomElement } from './dom.element';\nimport { DraggedPlaceholder } from './dragged.placeholder';\nimport { dragAndDropListClass } from './drag-and-drop-list.enums';\nimport { GENERIC_COLLECTION } from '@ascentgl/ads-utils';\n\nexport type DROP_CALLBACK_INDEXES = { before: number; after: number };\nexport type UNSUBSCRIBE_FUNCTIONS_COLLECTION = GENERIC_COLLECTION<() => void>;\n\n@Component({\n selector: 'ads-drag-and-drop-list',\n styleUrls: ['drag-and-drop-list.component.scss'],\n templateUrl: 'drag-and-drop-list.component.html',\n})\nexport class AdsDragAndDropListComponent implements OnInit, AfterContentInit, OnDestroy {\n /** @ignore */\n @ViewChild('draggableList', { read: ElementRef, static: true }) draggableList?: ElementRef;\n /** @ignore */\n @ViewChild('dynamicContent', { read: ElementRef, static: true }) dynamicContent?: ElementRef;\n\n /** This external method will be called after the item is dropped into new position */\n @Input() dropCallback?: (sourceIndexes: DROP_CALLBACK_INDEXES, targetIndexes: DROP_CALLBACK_INDEXES) => void;\n\n /** Callback function that can be used to determine if item can be dropped on the selected target */\n @Input() canDropCallback?: (sourceIndex: number, targetIndex: number) => boolean;\n\n /** Callback function that can be used to determine if item can be dragged */\n @Input() canDragCallback?: (sourceIndex: number) => boolean;\n\n /** If total items count is less than this value, drag&drop will be disabled */\n @Input() minCountToDrag = 2;\n\n /** Provide subject element, which will allow to refresh the list. NOTE: refreshing is required every time the list is updated from the outside */\n @Input() refresh: Subject<void> = new Subject<void>();\n\n /** @ignore */\n private draggedElement: DomElement | null = null;\n /** @ignore */\n private draggedPlaceholder: DraggedPlaceholder | null = null;\n /** @ignore */\n private unsubscribeFromDocumentDragOver?: () => void;\n /** @ignore */\n private unsubscribeFunctions: Map<HTMLElement, UNSUBSCRIBE_FUNCTIONS_COLLECTION> = new Map();\n /** @ignore */\n private ngUnsubscribe: Subject<void> = new Subject();\n\n private draggedOverElement: DomElement | null = null;\n\n /** @ignore */\n constructor(private renderer: Renderer2) {}\n\n /** @ignore */\n ngOnInit(): void {\n /**\n * if refresh command was emitted - refresh elements\n * NOTE: we do it in timeout to allow DOM to redraw first\n */\n this.refresh.pipe(takeUntil(this.ngUnsubscribe)).subscribe((): void => {\n setTimeout(() => this.refreshElements());\n });\n }\n\n /** @ignore */\n ngAfterContentInit(): void {\n this.refreshElements();\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this.unsubscribeFromEventListeners();\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n /** @ignore */\n onListDragLeave(event: DragEvent): void {\n /**\n * if we dragged out of the element - unselect it\n */\n if (\n event.relatedTarget instanceof HTMLElement &&\n this.draggedOverElement &&\n !this.draggedOverElement.dom.contains(event.relatedTarget)\n ) {\n this.unselectDraggedOverElement();\n }\n }\n\n /** @ignore */\n onDragStart = (event: DragEvent): void => {\n /**\n * NOTE: register dragover for document body to overcome Firefox issue where clientX and clientY are 0 in 'drag' event\n */\n this.unsubscribeFromDocumentDragOver = this.renderer.listen(document.body, 'dragover', this.onDragOverBody);\n\n /**\n * store currently dragged element\n */\n this.draggedElement = this.getElement(event);\n\n /**\n * replace default browser dragged element with the custom one\n */\n this.draggedPlaceholder = new DraggedPlaceholder(\n this.draggedElement,\n this.draggableList?.nativeElement,\n event,\n this.renderer,\n );\n\n /**\n * mark dragged element with special class\n */\n this.draggedElement.isDragged();\n\n /**\n * block drop into the dragged element\n */\n this.draggedElement.blockDrop();\n };\n\n /** @ignore */\n onDragEnd = (): void => {\n /**\n * remove special class from dragged element mark dragged element\n */\n this.draggedElement?.isNotDragged();\n\n this.draggedElement = null;\n\n /**\n * if we subscribed to document dragover - unsubscribe from it\n */\n if (this.unsubscribeFromDocumentDragOver) {\n this.unsubscribeFromDocumentDragOver();\n }\n\n /**\n * remove dragged placeholder from DOM\n */\n this.draggedPlaceholder?.remove();\n this.draggedPlaceholder = null;\n };\n\n /** @ignore\n * NOTE: we rely on onDragOver instead of DragEnter and DragLeave because those events also fire when we enter and leave\n * child elements - the behavior we don't need\n */\n onDragOver = (event: DragEvent): void => {\n /**\n * NOTE: this is required for \"drop\" event to work\n */\n event.preventDefault();\n\n /**\n * do nothing if we have no dragged element, or we are still over the same element\n */\n if (!this.draggedElement || this.draggedOverElement?.dom === event.currentTarget) {\n return;\n }\n\n /**\n * make sure previous dragged over element is marked as \"dragged out\"\n */\n this.unselectDraggedOverElement();\n\n this.draggedOverElement = this.getElement(event);\n\n /**\n * do nothing if dragged element and element, we are dragging over is the same\n */\n if (this.isDraggingOverSelf(this.draggedOverElement)) {\n return;\n }\n\n this.draggedOverElement.draggedOver();\n\n /**\n * if drop is blocked - add special class to the dragged element\n */\n if (this.canDrop()) {\n this.draggedOverElement.unblockDrop();\n } else {\n this.draggedOverElement.blockDrop();\n }\n };\n\n /** @ignore */\n onDrop = (event: DragEvent): void => {\n /**\n * if drop is blocked - do nothing\n */\n if (!this.canDrop()) return;\n\n this.unselectDraggedOverElement();\n\n const target: DomElement = this.getElement(event);\n\n /**\n * preserve drop blocked state before cleaning classes - it will be needed later\n */\n const isTargetBlocked: boolean = target.isDropBlocked();\n\n this.getElement(event).draggedOut();\n\n /**\n * if we have no dragged element, we are dropping on self or target is blocked - do nothing\n */\n if (!this.draggedElement || this.isDraggingOverSelf(target) || isTargetBlocked) {\n return;\n }\n\n const sourceIndex: number = this.getElementIndex(this.draggedElement);\n const targetIndex: number = this.getElementIndex(target);\n\n /**\n * if source index is less than target index - means we are dragging down;\n * otherwise we are dragging up\n * NOTE: we utilise \"before\" method for element insertion in both cases, because \"after\" can\n * break order of \"drag-static\" elements (if they are present)\n */\n if (sourceIndex < targetIndex) {\n const allElements: HTMLElement[] = this.getAllElements();\n\n /**\n * loop through all element beginning with next to the currently dragged element\n * and ending with drop target element and move all of them up;\n * this will result in target element being moved down to required position\n */\n for (let i: number = sourceIndex + 1; i <= targetIndex; i++) {\n const target: HTMLElement = allElements[i];\n\n if (target) {\n this.draggedElement.dom.before(target);\n }\n }\n } else {\n target.dom.before(this.draggedElement.dom);\n }\n\n /**\n * if possible emit indexes old and new indexes of the repositioned items\n */\n if (this.dropCallback) {\n this.dropCallback(\n {\n before: sourceIndex,\n after: this.getElementIndex(this.draggedElement),\n },\n {\n before: targetIndex,\n after: this.getElementIndex(target),\n },\n );\n }\n };\n\n /** @ignore */\n onMouseEnter = (event: MouseEvent): void => {\n this.setCanDrag(this.getElement(event));\n };\n\n /** @ignore */\n private unselectDraggedOverElement(): void {\n /**\n * make sure previous dragged over element is marked as \"dragged out\"\n */\n this.draggedOverElement?.draggedOut();\n this.draggedOverElement = null;\n }\n\n /** @ignore */\n private setCanDrag(element: DomElement): void {\n /**\n * if special class is set for the element - forbid dragging\n */\n if (!element.canDrag()) {\n element.makeUnDraggable();\n return;\n }\n\n /**\n * make sure dragging the item is not forbidden by external function\n */\n if (this.canDragCallback) {\n if (this.canDragCallback(this.getElementIndex(element))) {\n element.makeDraggable();\n } else {\n element.makeUnDraggable();\n }\n return;\n }\n element.makeDraggable();\n }\n\n /** @ignore */\n private onDragOverBody = (event: DragEvent): void => {\n this.draggedPlaceholder?.reposition(event);\n };\n\n /** @ignore */\n private canDrop(): boolean {\n if (!this.draggedElement || !this.draggedOverElement) return false;\n\n /**\n * if special class is set for the element - forbid dropping;\n * otherwise make sure dropping over the item is not forbidden by external function\n */\n if (!this.draggedOverElement.canDrop()) {\n return false;\n } else if (this.canDropCallback) {\n return this.canDropCallback(\n this.getElementIndex(this.draggedElement),\n this.getElementIndex(this.draggedOverElement),\n );\n }\n\n return true;\n }\n\n /** @ignore */\n private refreshElements(): void {\n /**\n * unsubscribe from all event listeners\n */\n this.unsubscribeFromEventListeners();\n\n /**\n * make sure no placeholder are still visible\n */\n document.querySelectorAll('.' + dragAndDropListClass.DRAGGED_PLACEHOLDER).forEach((element) => {\n element.remove();\n });\n\n /**\n * get all elements that can participate in drag and drop\n */\n const elements: HTMLElement[] = this.getAllElements();\n\n /**\n * make sure we have enough elements to continue\n */\n if (elements.length < this.minCountToDrag) {\n return;\n }\n\n /**\n * add required callbacks to all elements,\n * preserving their unsubscribe functions\n */\n elements.forEach((element: HTMLElement): void => {\n const functions: UNSUBSCRIBE_FUNCTIONS_COLLECTION = {};\n\n functions['dragstart'] = this.renderer.listen(element, 'dragstart', this.onDragStart);\n functions['dragend'] = this.renderer.listen(element, 'dragend', this.onDragEnd);\n functions['dragover'] = this.renderer.listen(element, 'dragover', this.onDragOver);\n functions['drop'] = this.renderer.listen(element, 'drop', this.onDrop);\n functions['mouseenter'] = this.renderer.listen(element, 'mouseenter', this.onMouseEnter);\n\n this.unsubscribeFunctions.set(element, functions);\n });\n }\n\n /** @ignore */\n private unsubscribeFromEventListeners(): void {\n this.unsubscribeFunctions.forEach((collection) => {\n Object.values(collection).forEach((func) => func());\n });\n\n this.unsubscribeFunctions = new Map();\n }\n\n /** @ignore */\n private getAllElements(): HTMLElement[] {\n const result: HTMLElement[] = [];\n\n if (this.draggableList) {\n /**\n * loop through immediate children of the list\n */\n (<HTMLElement[]>Array.from(this.draggableList.nativeElement.children)).forEach((element: HTMLElement): void => {\n /**\n * element is static if it has both \"no-drop\" and \"no-drag\" classes\n */\n const isStatic: boolean =\n element.classList.contains(dragAndDropListClass.NO_DROP) &&\n element.classList.contains(dragAndDropListClass.NO_DRAG);\n\n /**\n * ignore static elements and dragged placeholder element from the list\n */\n if (!isStatic && !element.classList.contains(dragAndDropListClass.DRAGGED_PLACEHOLDER)) {\n result.push(element);\n }\n });\n }\n\n return result;\n }\n\n /** @ignore */\n private getElement(event: DragEvent | MouseEvent): DomElement {\n return new DomElement(<HTMLElement>event.currentTarget);\n }\n\n /** @ignore */\n private getElementIndex(element: DomElement): number {\n return this.getAllElements().indexOf(element.dom);\n }\n\n /** @ignore */\n private isDraggingOverSelf(element: DomElement | null): boolean {\n return this.draggedElement?.dom === element?.dom;\n }\n}\n","<div class=\"draggable-list\" #draggableList (dragleave)=\"onListDragLeave($event)\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AdsDragAndDropListComponent } from './drag-and-drop-list.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AdsDragAndDropListComponent],\n declarations: [AdsDragAndDropListComponent],\n})\nexport class AdsDragAndDropListModule {}\n","import { adsIcon } from '@ascentgl/ads-icons/icons';\n\nexport type ErrorPageConfig = {\n code: number;\n icon?: adsIcon;\n message: string;\n summary?: string;\n infoColumns?: ErrorPageInfoColumn[];\n showBackButton?: boolean;\n backButtonLabel?: string;\n showHomeButton?: boolean;\n homeButtonLabel?: string;\n};\n\nexport type ErrorPageInfoColumn = {\n header?: string;\n body: string;\n alignment?: 'left' | 'right' | 'center' | 'justify';\n};\n\nexport enum ErrorPageDefault {\n backButtonLabel = 'Go Back',\n homeButtonLabel = 'Return Home',\n errorCode = 404,\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n SimpleChange,\n ViewChild,\n} from '@angular/core';\nimport { ErrorPageConfig, ErrorPageDefault } from './error-page.types';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { Location } from '@angular/common';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { adsIconLock, adsIconPlusCircle, adsIconSearch, adsIconWarning } from '@ascentgl/ads-icons/icons';\n\n@Component({\n selector: 'ads-error-page',\n templateUrl: './error-page.component.html',\n styleUrls: ['./error-page.component.scss'],\n})\nexport class AdsErrorPageComponent implements OnChanges, AfterViewInit {\n constructor(\n private cdr: ChangeDetectorRef,\n private registry: AdsIconRegistry,\n private location: Location,\n private sanitizer: DomSanitizer,\n ) {\n /** Register basic icons. NOTE: any existing icon can be used if registered before */\n this.registry.register([adsIconWarning, adsIconLock, adsIconPlusCircle, adsIconSearch]);\n }\n\n /** Path to logo image file */\n @Input() logoSrc = 'https://cdn.ascentgl.com/img/ascent-logo-white.svg';\n\n /** Alt text for logo image */\n @Input() logoAlt = 'Ascent Global Logistics';\n\n /** Error page configuration object */\n @Input() config: ErrorPageConfig = {\n code: 404,\n message: 'This Page Looks a Little Lost',\n };\n\n /** @ignore */\n iconAsSvg?: SafeHtml;\n\n /** @ignore */\n defaults: typeof ErrorPageDefault = ErrorPageDefault;\n\n /** @ignore */\n @ViewChild('errorRepresentation') errorRepresentation?: ElementRef;\n\n /** @ignore */\n @ViewChild('errorCode') errorCode?: ElementRef;\n\n /** @ignore */\n @ViewChild('codeImage') codeImage?: ElementRef;\n\n /** @ignore */\n ngOnChanges(changes: { config: SimpleChange }): void {\n if (changes.config && changes.config.currentValue) {\n this.setIcon();\n }\n }\n\n /** @ignore */\n ngAfterViewInit(): void {\n /**this method is required to properly calculate error code size and scale when component is being loaded,\n * further recalculation will happen on window resize*/\n this.cdr.detectChanges();\n }\n\n /** @ignore */\n @HostListener('window:resize') resize(): void {\n /** this method is needed to activate on resize change detection in the component */\n }\n\n /** @ignore */\n back(): void {\n this.location.back();\n }\n\n /** @ignore */\n adjustStyles(): { fontSize?: string; lineHeight?: string; scale?: number } {\n if (!this.errorRepresentation || !this.errorCode) return {};\n\n /**\n * NOTE: error code font size is calculated based on error representation height,\n * so that error code fits vertically\n * NOTE: error code scale is calculated based on error representation width,\n * so that error code fits horizontally\n */\n return {\n fontSize: this.errorRepresentation.nativeElement.offsetHeight + 'px',\n lineHeight: this.errorRepresentation.nativeElement.offsetHeight + 'px',\n scale:\n this.errorRepresentation.nativeElement.offsetWidth < this.errorCode.nativeElement.offsetWidth\n ? this.errorRepresentation.nativeElement.offsetWidth / this.errorCode.nativeElement.offsetWidth\n : 1,\n };\n }\n\n /** @ignore */\n private setIcon(): void {\n if (this.config.icon) {\n let svg = this.registry.get(this.config.icon);\n\n if (!svg) {\n svg = this.registry.get('warning');\n console.warn(`Icon \"${this.config.icon}\" not found`);\n }\n\n this.iconAsSvg = this.sanitizer.bypassSecurityTrustHtml(<string>svg);\n } else {\n this.iconAsSvg = undefined;\n }\n }\n}\n","<div class=\"error-page-container\">\n <div class=\"body\">\n <div class=\"body-header\"><img [src]=\"logoSrc\" [alt]=\"logoAlt\" /></div>\n <div class=\"body-error-representation\" #errorRepresentation [ngClass]=\"{ svg: iconAsSvg }\">\n <div *ngIf=\"iconAsSvg; else code\" class=\"error-icon {{ config.icon }}\" [innerHTML]=\"iconAsSvg\"></div>\n <ng-template #code>\n <span class=\"error-code\" #errorCode [ngStyle]=\"adjustStyles()\">\n {{ config.code || defaults.errorCode }}\n </span>\n </ng-template>\n </div>\n <div class=\"body-error-message\" *ngIf=\"config.message\">{{ config.message }}</div>\n <div class=\"body-error-summary\" *ngIf=\"config.summary\">{{ config.summary }}</div>\n </div>\n <div class=\"footer\" *ngIf=\"config.infoColumns?.length || config.showHomeButton || config.showBackButton\">\n <div class=\"footer-info-columns\" *ngIf=\"config.infoColumns?.length\">\n <!-- default alignment for single column is \"center\", otherwise - \"left\" -->\n <div\n *ngFor=\"let column of config.infoColumns\"\n class=\"footer-info-column\"\n [ngStyle]=\"{\n 'text-align': column.alignment ? column.alignment : (config.infoColumns?.length ?? 1) > 1 ? 'left' : 'center',\n }\"\n >\n <div class=\"footer-column-header\" *ngIf=\"column.header\">{{ column.header }}</div>\n <div class=\"footer-column-body\" [innerHTML]=\"column.body\"></div>\n </div>\n </div>\n <div class=\"footer-buttons\" *ngIf=\"config.showHomeButton || config.showBackButton\">\n <ads-button *ngIf=\"config.showBackButton\" variant=\"secondary\" (click)=\"back()\">{{\n config.backButtonLabel || defaults.backButtonLabel\n }}</ads-button>\n <ads-button *ngIf=\"config.showHomeButton\" variant=\"primary\" routerLink=\"/\">{{\n config.homeButtonLabel || defaults.homeButtonLabel\n }}</ads-button>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-error-page-code',\n template: ``,\n})\nexport class AdsErrorPageCodeComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsErrorPageCodeComponent } from './error-page-code.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [AdsErrorPageCodeComponent],\n exports: [AdsErrorPageCodeComponent],\n})\nexport class AdsErrorPageCodeModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsErrorPageComponent } from './error-page.component';\nimport { AdsButtonModule } from '../buttons/button';\nimport { RouterModule } from '@angular/router';\nimport { AdsErrorPageCodeModule } from './error-page-code';\n\n/**\n * todo: remove AdsErrorPageCodeModule after POD is updated\n * NOTE: currently AdsErrorPageCodeModule is provided as legacy to avoid POD compilation errors\n */\n@NgModule({\n declarations: [AdsErrorPageComponent],\n imports: [CommonModule, AdsButtonModule, RouterModule, AdsErrorPageCodeModule],\n exports: [AdsErrorPageComponent],\n})\nexport class AdsErrorPageModule {}\n","import { Component, Input } from '@angular/core';\nimport { Copyright, Link } from './footer.component.types';\n\n@Component({\n selector: 'ads-footer',\n styleUrls: ['footer.component.scss'],\n templateUrl: 'footer.component.html',\n})\nexport class AdsFooterComponent {\n /**\n * Alt text for the footer logo\n */\n @Input() alt = 'Logo';\n\n /**\n * Copyright text to display\n */\n @Input() copyright: Copyright = {\n text: `&copy; ${new Date().getFullYear()} Ads&trade; is an Ascent Global Logistics Technology`,\n };\n\n /**\n * Links to display in the footer\n */\n @Input() links: Link[] = [];\n\n /**\n * Path to the logo to display\n */\n @Input() logoSrc?: string;\n}\n","<div class=\"footer\">\n <div class=\"links\">\n @for (link of links; track $index) {\n <a class=\"tertiary-link text-xs\" [href]=\"link.href\" [target]=\"link.target || '_self'\">{{ link.text }}</a>\n }\n </div>\n <div class=\"footer-right\">\n <div class=\"copyright\">\n @if (copyright.href) {\n <a\n class=\"secondary-link text-xs\"\n [href]=\"copyright.href\"\n [target]=\"copyright.target || '_self'\"\n [innerHtml]=\"copyright.text\"\n ></a>\n } @else {\n <span [innerHtml]=\"copyright.text\"></span>\n }\n </div>\n @if (logoSrc) {\n <div class=\"logo\">\n <img [attr.src]=\"logoSrc\" alt=\"{{ alt }}\" />\n </div>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AdsFooterComponent } from './footer.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AdsFooterComponent],\n declarations: [AdsFooterComponent],\n})\nexport class AdsFooterModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-footer-container',\n styleUrls: ['footer-container.component.scss'],\n templateUrl: 'footer-container.component.html',\n})\nexport class AdsFooterContainerComponent {}\n","<footer>\n <ng-content></ng-content>\n</footer>\n","import { NgModule } from '@angular/core';\nimport { AdsFooterContainerComponent } from './footer-container.component';\n\n@NgModule({\n exports: [AdsFooterContainerComponent],\n declarations: [AdsFooterContainerComponent],\n})\nexport class AdsFooterContainerModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-header',\n styleUrls: ['header.component.scss'],\n templateUrl: 'header.component.html',\n})\nexport class AdsHeaderComponent {}\n","<div class=\"header\">\n <div class=\"addon-left\">\n <ng-content select=\"[left]\"></ng-content>\n </div>\n <ng-content select=\"[logo]\"></ng-content>\n <div class=\"addon-right\">\n <ng-content select=\"[right]\"></ng-content>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { AdsHeaderComponent } from './header.component';\n\n@NgModule({\n exports: [AdsHeaderComponent],\n declarations: [AdsHeaderComponent],\n})\nexport class AdsHeaderModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ads-header-container',\n styleUrls: ['header-container.component.scss'],\n templateUrl: 'header-container.component.html',\n})\nexport class AdsHeaderContainerComponent {\n /**\n * Whether the viewport is mobile\n */\n @Input() isMobile = false;\n}\n","<header [class.mobile]=\"isMobile\">\n <ng-content></ng-content>\n</header>\n","import { NgModule } from '@angular/core';\n\nimport { AdsHeaderContainerComponent } from './header-container.component';\n\n@NgModule({\n exports: [AdsHeaderContainerComponent],\n declarations: [AdsHeaderContainerComponent],\n})\nexport class AdsHeaderContainerModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ads-org-display-text',\n styleUrls: ['org-display-text.component.scss'],\n templateUrl: 'org-display-text.component.html',\n})\nexport class AdsOrgDisplayTextComponent {\n /**\n * Organization text to display\n */\n @Input() text!: string;\n\n /**\n * Whether the viewport is mobile\n */\n @Input() isMobile = false;\n}\n","<span *ngIf=\"!isMobile\" class=\"org-display-text\">{{ text }}</span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AdsOrgDisplayTextComponent } from './org-display-text.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AdsOrgDisplayTextComponent],\n declarations: [AdsOrgDisplayTextComponent],\n})\nexport class AdsOrgDisplayTextModule {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ads-link-button',\n templateUrl: './link-button.component.html',\n styleUrls: ['./link-button.component.scss'],\n})\nexport class AdsLinkButtonComponent {\n /** The unique ID for the button */\n id = input<string>('');\n\n /** Whether the button is disabled */\n disabled = input<boolean>(false);\n}\n","<button mat-flat-button [id]=\"id()\" [disabled]=\"disabled()\" [disableRipple]=\"true\">\n <ng-content select=\"[icon]\"></ng-content>\n <ng-content></ng-content>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AdsLinkButtonComponent } from './link-button.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n\n@NgModule({\n declarations: [AdsLinkButtonComponent],\n exports: [AdsLinkButtonComponent],\n imports: [CommonModule, MatButtonModule, AdsIconModule],\n})\nexport class AdsLinkButtonModule {}\n","import { Component, HostListener, input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'ads-primary-logo',\n styleUrls: ['primary-logo.component.scss'],\n templateUrl: 'primary-logo.component.html',\n})\nexport class AdsPrimaryLogoComponent implements OnInit {\n isMobile = false;\n\n /**\n * Mobile width\n */\n mobileWidth = input<number>(768);\n\n /**\n * Whether the navigation is collapsed\n */\n isCollapsed = input<boolean>(false);\n\n /** @ignore */\n @HostListener('window:resize', ['$event'])\n onResize() {\n this.checkScreenSize();\n }\n\n /** @ignore */\n ngOnInit(): void {\n this.checkScreenSize();\n }\n\n /** @ignore */\n private checkScreenSize(): void {\n this.isMobile = window.innerWidth <= this.mobileWidth();\n }\n}\n","<picture>\n @if (isMobile || isCollapsed()) {\n <svg class=\"logo-svg\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"32\" viewBox=\"0 0 24 32\">\n <path\n d=\"M20.5547 3.69959C18.4527 1.6106 15.6421 0.377465 12.6734 0.241829C9.70483 0.106194 6.79227 1.07784 4.50651 2.96635V0.663115H0V31.994L4.50218 27.517V21.1981C6.86303 23.1293 9.87957 24.0849 12.9287 23.8677C15.9778 23.6504 18.8265 22.2769 20.8864 20.0308C22.9463 17.7848 24.06 14.8377 23.9975 11.7985C23.935 8.75926 22.701 5.85999 20.5504 3.69959H20.5547ZM12.1446 19.6627C10.6356 19.6669 9.15923 19.2258 7.90244 18.3953C6.64565 17.5647 5.66496 16.3819 5.08451 14.9968C4.50406 13.6116 4.34996 12.0864 4.64172 10.6141C4.93348 9.14178 5.65798 7.78868 6.7235 6.72608C7.78901 5.66348 9.14763 4.93917 10.6273 4.64484C12.107 4.35051 13.6413 4.49941 15.0359 5.07268C16.4304 5.64595 17.6226 6.61781 18.4614 7.86521C19.3002 9.11262 19.748 10.5795 19.748 12.0801C19.7468 14.087 18.9461 16.0118 17.5211 17.4329C16.096 18.8541 14.1628 19.6558 12.1446 19.6627Z\"\n />\n </svg>\n } @else {\n <svg class=\"logo-svg\" xmlns=\"http://www.w3.org/2000/svg\" width=\"80\" height=\"35\" viewBox=\"0 0 80 35\">\n <path\n d=\"M15.4308 12.8987C13.8528 11.3239 11.7428 10.3942 9.51421 10.292C7.28561 10.1897 5.09909 10.9222 3.38313 12.346V10.6096H0V34.2293L3.37987 30.8542V26.0905C5.15222 27.5464 7.41679 28.2668 9.70582 28.103C11.9948 27.9393 14.1334 26.9038 15.6799 25.2105C17.2263 23.5173 18.0623 21.2956 18.0154 19.0043C17.9685 16.7131 17.0421 14.5274 15.4276 12.8987H15.4308ZM9.11719 24.933C7.98435 24.9362 6.87602 24.6037 5.93252 23.9775C4.98903 23.3513 4.2528 22.4597 3.81704 21.4155C3.38128 20.3712 3.2656 19.2213 3.48463 18.1114C3.70366 17.0015 4.24756 15.9814 5.04746 15.1803C5.84737 14.3793 6.86731 13.8332 7.97815 13.6113C9.089 13.3894 10.2408 13.5017 11.2877 13.9339C12.3347 14.366 13.2296 15.0987 13.8593 16.0391C14.4891 16.9795 14.8252 18.0853 14.8252 19.2166C14.8244 20.7296 14.2232 22.1806 13.1534 23.252C12.0836 24.3234 10.6323 24.9278 9.11719 24.933Z\"\n />\n <path\n d=\"M38.2118 19.2167C38.2119 17.2546 37.565 15.3472 36.3711 13.7889C35.1772 12.2306 33.5028 11.1082 31.6064 10.5951C29.71 10.082 27.6972 10.2067 25.8788 10.9499C24.0605 11.6932 22.5378 13.0137 21.5459 14.7074C20.5541 16.4011 20.1483 18.3737 20.3912 20.3207C20.6341 22.2677 21.5122 24.0807 22.8899 25.4796C24.2676 26.8785 26.0682 27.7855 28.0136 28.0605C29.9589 28.3355 31.9409 27.9632 33.6532 27.0011C34.9526 26.2641 36.0481 25.216 36.841 23.951L34.1058 22.2439C33.5193 23.1737 32.677 23.9151 31.6797 24.3794C30.6823 24.8437 29.5722 25.0112 28.482 24.862C27.3917 24.7128 26.3677 24.2532 25.5322 23.538C24.6967 22.8229 24.0852 21.8825 23.7708 20.8295H38.2151L38.2118 19.2167ZM23.7708 17.6071C24.1208 16.4233 24.8449 15.3844 25.835 14.6454C26.825 13.9065 28.0279 13.5072 29.2639 13.5072C30.5 13.5072 31.7028 13.9065 32.6929 14.6454C33.6829 15.3844 34.407 16.4233 34.757 17.6071H23.7708Z\"\n />\n <path d=\"M66.3569 10.3986H63.0128V28.0972H66.3569V10.3986Z\" />\n <path d=\"M71.14 19.2495L80 28.0972H75.4837L66.6205 19.2495L75.4837 10.3986H80L71.14 19.2495Z\" />\n <path d=\"M56.5265 0H41.304V2.84191H56.5265V0Z\" />\n <path d=\"M40.5882 28.0971H37.0032L48.9174 5.35858L60.8316 28.0971H57.2466L48.9174 12.2L40.5882 28.0971Z\" />\n </svg>\n }\n</picture>\n","import { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AdsPrimaryLogoComponent } from './primary-logo.component';\n\n@NgModule({\n imports: [CommonModule, NgOptimizedImage],\n exports: [AdsPrimaryLogoComponent],\n declarations: [AdsPrimaryLogoComponent],\n})\nexport class AdsPrimaryLogoModule {}\n","import { Component, input } from '@angular/core';\n\nexport enum AdsAscentLogoColor {\n Regular = 'regular',\n Teal = 'teal',\n}\n\n@Component({\n selector: 'ads-ascent-logo',\n styleUrls: ['ascent-logo.component.scss'],\n templateUrl: 'ascent-logo.component.html',\n})\nexport class AdsAscentLogoComponent {\n /** @ignore */\n protected readonly AscentLogoColor = AdsAscentLogoColor;\n\n /**\n * Logo size\n */\n size = input<'large' | 'small'>('large');\n\n /**\n * Logo color\n */\n color = input<AdsAscentLogoColor>(AdsAscentLogoColor.Teal);\n}\n","<picture>\n @if (color() === AscentLogoColor.Teal) {\n <svg [ngClass]=\"size()\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 165 29\" fill=\"none\">\n <g clip-path=\"url(#clip0_353_5425)\">\n <path\n d=\"M12.598 16.0262C13.1314 16.5593 13.4946 17.2386 13.6419 17.9781C13.7892 18.7177 13.7138 19.4843 13.4253 20.181C13.1368 20.8778 12.6482 21.4733 12.0212 21.8923C11.3943 22.3112 10.6571 22.5349 9.90305 22.5349C9.14897 22.5349 8.41183 22.3112 7.78487 21.8923C7.1579 21.4733 6.66928 20.8778 6.3808 20.181C6.09232 19.4843 6.01694 18.7177 6.16421 17.9781C6.31147 17.2386 6.67475 16.5593 7.20811 16.0262C7.56177 15.6719 7.98184 15.3908 8.44428 15.199C8.90671 15.0072 9.40242 14.9085 9.90305 14.9085C10.4037 14.9085 10.8994 15.0072 11.3618 15.199C11.8243 15.3908 12.2443 15.6719 12.598 16.0262ZM19.8477 8.78113C19.2638 8.20288 18.5218 7.81033 17.7152 7.65296C16.9086 7.49559 16.0735 7.58043 15.315 7.89677C14.5566 8.21311 13.9087 8.74683 13.4529 9.43069C12.9972 10.1145 12.754 10.918 12.754 11.7398C12.754 12.5616 12.9972 13.365 13.4529 14.0489C13.9087 14.7327 14.5566 15.2664 15.315 15.5828C16.0735 15.8991 16.9086 15.984 17.7152 15.8266C18.5218 15.6692 19.2638 15.2767 19.8477 14.6984C20.2387 14.3113 20.5491 13.8504 20.7609 13.3426C20.9727 12.8348 21.0817 12.29 21.0817 11.7398C21.0817 11.1895 20.9727 10.6448 20.7609 10.1369C20.5491 9.62912 20.2387 9.16829 19.8477 8.78113ZM27.2502 8.11491C27.9143 7.45025 28.3664 6.60361 28.5494 5.68204C28.7324 4.76046 28.6381 3.80531 28.2784 2.93733C27.9186 2.06935 27.3096 1.32751 26.5284 0.805587C25.7471 0.283668 24.8286 0.00509644 23.889 0.00509644C22.9494 0.00509644 22.0309 0.283668 21.2497 0.805587C20.4684 1.32751 19.8594 2.06935 19.4996 2.93733C19.1399 3.80531 19.0456 4.76046 19.2286 5.68204C19.4116 6.60361 19.8637 7.45025 20.5278 8.11491C21.4177 9.0023 22.6231 9.50063 23.8798 9.50063C25.1364 9.50063 26.3418 9.0023 27.2317 8.11491H27.2502ZM14.9436 23.7803C14.5635 24.1608 14.3047 24.6456 14.1999 25.1732C14.0952 25.7008 14.1492 26.2477 14.3552 26.7446C14.5612 27.2415 14.9099 27.6662 15.3572 27.965C15.8045 28.2638 16.3304 28.4233 16.8683 28.4233C17.4062 28.4233 17.932 28.2638 18.3793 27.965C18.8266 27.6662 19.1753 27.2415 19.3813 26.7446C19.5873 26.2477 19.6413 25.7008 19.5366 25.1732C19.4319 24.6456 19.1731 24.1608 18.7929 23.7803C18.2815 23.2717 17.5895 22.9863 16.8683 22.9863C16.147 22.9863 15.4551 23.2717 14.9436 23.7803ZM21.157 16.0262C20.6237 16.5593 20.2604 17.2386 20.1131 17.9781C19.9659 18.7177 20.0413 19.4843 20.3297 20.181C20.6182 20.8778 21.1068 21.4733 21.7338 21.8923C22.3608 22.3112 23.0979 22.5349 23.852 22.5349C24.6061 22.5349 25.3432 22.3112 25.9702 21.8923C26.5971 21.4733 27.0858 20.8778 27.3742 20.181C27.6627 19.4843 27.7381 18.7177 27.5908 17.9781C27.4436 17.2386 27.0803 16.5593 26.5469 16.0262C25.8322 15.3185 24.8671 14.9215 23.8612 14.9215C22.8554 14.9215 21.8903 15.3185 21.1756 16.0262H21.157ZM33.7967 8.78113C33.2128 8.20288 32.4708 7.81033 31.6642 7.65296C30.8576 7.49559 30.0225 7.58043 29.264 7.89677C28.5055 8.21311 27.8576 8.74683 27.4019 9.43069C26.9461 10.1145 26.703 10.918 26.703 11.7398C26.703 12.5616 26.9461 13.365 27.4019 14.0489C27.8576 14.7327 28.5055 15.2664 29.264 15.5828C30.0225 15.8991 30.8576 15.984 31.6642 15.8266C32.4708 15.6692 33.2128 15.2767 33.7967 14.6984C34.1889 14.3125 34.5007 13.8526 34.7141 13.3455C34.9275 12.8383 35.0382 12.2939 35.0399 11.7436C35.0417 11.1934 34.9343 10.6483 34.7241 10.1398C34.5139 9.6313 34.205 9.16951 33.8152 8.78113H33.7967ZM0.79576 23.7803C0.415596 24.1608 0.156791 24.6456 0.0520592 25.1732C-0.0526731 25.7008 0.00136908 26.2477 0.207354 26.7446C0.413339 27.2415 0.76202 27.6662 1.20932 27.965C1.65663 28.2638 2.18247 28.4233 2.72039 28.4233C3.25831 28.4233 3.78415 28.2638 4.23146 27.965C4.67876 27.6662 5.02744 27.2415 5.23343 26.7446C5.43941 26.2477 5.49345 25.7008 5.38872 25.1732C5.28399 24.6456 5.02519 24.1608 4.64502 23.7803C4.39237 23.5274 4.09235 23.3267 3.76211 23.1898C3.43187 23.0529 3.07788 22.9825 2.72039 22.9825C2.3629 22.9825 2.00892 23.0529 1.67867 23.1898C1.34843 23.3267 1.04841 23.5274 0.79576 23.7803ZM40.5375 16.0262C40.0044 15.4929 39.3252 15.1296 38.5856 14.9823C37.846 14.8351 37.0794 14.9104 36.3827 15.1989C35.686 15.4874 35.0905 15.976 34.6715 16.603C34.2525 17.23 34.0289 17.9671 34.0289 18.7212C34.0289 19.4753 34.2525 20.2124 34.6715 20.8394C35.0905 21.4663 35.686 21.9549 36.3827 22.2434C37.0794 22.5319 37.846 22.6073 38.5856 22.46C39.3252 22.3128 40.0044 21.9495 40.5375 21.4161C41.2509 20.7007 41.6515 19.7315 41.6515 18.7212C41.6515 17.7108 41.2509 16.7417 40.5375 16.0262Z\"\n fill=\"url(#paint0_linear_353_5425)\"\n />\n <path\n d=\"M71.0956 25.9224L73.2562 22.8272C74.352 23.552 75.5251 24.1525 76.7539 24.6177C77.7336 24.969 78.7665 25.1489 79.8074 25.1497C80.8503 25.1979 81.884 24.9354 82.7776 24.3956C83.1242 24.1955 83.412 23.9075 83.6118 23.5606C83.8116 23.2138 83.9164 22.8204 83.9157 22.4201C83.9268 22.1375 83.8719 21.8561 83.7555 21.5984C83.639 21.3406 83.4642 21.1135 83.2449 20.935C82.6082 20.4925 81.8757 20.2071 81.1074 20.1022L77.4849 19.4915C75.5325 19.1399 74.0612 18.4953 73.0712 17.5576C72.5741 17.0822 72.1845 16.506 71.9284 15.8676C71.6722 15.2293 71.5555 14.5435 71.586 13.8564C71.5595 12.9759 71.7429 12.1017 72.121 11.3061C72.4991 10.5105 73.0611 9.81625 73.7605 9.28077C75.2132 8.12723 77.1194 7.55046 79.4789 7.55046C80.8634 7.54789 82.2409 7.7458 83.5687 8.13804C84.9587 8.56661 86.2811 9.18965 87.4966 9.98864L85.3407 13.0005C84.3808 12.3679 83.3396 11.8683 82.2455 11.5154C81.2587 11.2068 80.2306 11.0508 79.1967 11.0527C78.3047 11.0099 77.4198 11.2303 76.6521 11.6866C76.3506 11.8703 76.1031 12.1306 75.9349 12.4411C75.7667 12.7515 75.6837 13.101 75.6944 13.4539C75.6752 13.7312 75.7227 14.0091 75.833 14.2643C75.9433 14.5194 76.1131 14.7445 76.3282 14.9205C77.0137 15.3433 77.7851 15.6074 78.586 15.6931L82.1669 16.3779C84.2025 16.7572 85.7108 17.4234 86.7055 18.3719C87.1989 18.85 87.5862 19.4267 87.8421 20.0644C88.098 20.7021 88.2167 21.3865 88.1906 22.0731C88.1981 22.9718 87.9886 23.859 87.5799 24.6593C87.1532 25.4812 86.5571 26.2034 85.8311 26.7783C85.0386 27.3946 84.1424 27.8647 83.1847 28.1662C82.1274 28.511 81.0213 28.6828 79.9092 28.6751C78.2476 28.6907 76.5935 28.4503 75.005 27.9626C73.5821 27.542 72.2544 26.8491 71.0956 25.9224ZM100.641 24.6177C101.587 24.624 102.523 24.4301 103.389 24.0486C104.235 23.6736 104.981 23.1027 105.563 22.3831L108.339 25.159C107.361 26.2662 106.153 27.1471 104.8 27.7406C103.407 28.3752 101.894 28.7019 100.363 28.6983C98.9721 28.7063 97.5944 28.4292 96.3148 27.884C95.0842 27.3641 93.9703 26.6027 93.0392 25.6448C92.1011 24.6715 91.3625 23.5242 90.8647 22.2674C90.3283 20.9453 90.0578 19.5303 90.069 18.1035C90.0587 16.6873 90.3292 15.2831 90.8647 13.9721C91.3577 12.7303 92.0937 11.5996 93.0296 10.6462C93.9655 9.69287 95.0824 8.93605 96.3148 8.42025C97.5937 7.8728 98.9719 7.59557 100.363 7.60597C101.907 7.59931 103.436 7.90296 104.86 8.49889C106.244 9.06665 107.488 9.92861 108.506 11.025L105.656 13.9952C105.001 13.2509 104.203 12.6453 103.31 12.214C102.442 11.8062 101.493 11.5976 100.534 11.6033C99.7439 11.5944 98.9613 11.7593 98.2418 12.0863C97.5222 12.4133 96.8833 12.8944 96.3703 13.4955C95.2698 14.7859 94.6653 16.4262 94.6653 18.1221C94.6653 19.8179 95.2698 21.4583 96.3703 22.7486C96.904 23.3511 97.5624 23.8302 98.2998 24.153C99.0371 24.4757 99.8358 24.6343 100.641 24.6177ZM127.581 25.6771C126.445 26.641 125.159 27.4116 123.773 27.958C122.398 28.4598 120.943 28.7075 119.48 28.689C118.083 28.6962 116.699 28.4191 115.413 27.8747C114.168 27.3589 113.041 26.5955 112.1 25.6309C110.161 23.6055 109.082 20.9077 109.089 18.1035C109.079 16.6807 109.334 15.2686 109.843 13.9397C110.313 12.7025 111.018 11.5682 111.92 10.5993C112.837 9.63566 113.942 8.87094 115.167 8.35279C116.392 7.83463 117.71 7.57412 119.04 7.58748C120.334 7.57286 121.616 7.82963 122.804 8.34124C123.992 8.85284 125.06 9.60791 125.938 10.5577C126.817 11.5232 127.5 12.6497 127.951 13.8749C128.45 15.2218 128.698 16.6488 128.682 18.085V19.2278H113.623C113.806 20.7608 114.535 22.1767 115.677 23.2159C116.77 24.2488 118.221 24.8176 119.725 24.8027C120.651 24.8061 121.57 24.6334 122.431 24.2938C123.236 23.9907 123.965 23.5172 124.569 22.9059L127.581 25.6771ZM118.994 11.3118C118.354 11.3 117.717 11.4167 117.123 11.6551C116.529 11.8935 115.988 12.2488 115.533 12.6998C114.536 13.7035 113.887 15.0009 113.683 16.401H124.324C124.107 15.0155 123.459 13.7335 122.473 12.7368C122.019 12.2766 121.477 11.9131 120.879 11.6682C120.281 11.4233 119.64 11.3021 118.994 11.3118ZM131.337 28.2819V7.89282H135.936V11.2332C136.622 10.1079 137.575 9.16999 138.712 8.50352C139.842 7.87248 141.119 7.55314 142.413 7.57822C143.355 7.54695 144.292 7.71364 145.164 8.0675C146.037 8.42135 146.826 8.95448 147.479 9.63239C148.138 10.33 148.651 11.1513 148.989 12.0487C149.327 12.9462 149.484 13.9019 149.45 14.8603V28.2772H144.852V16.1558C144.91 14.8643 144.475 13.5989 143.635 12.6165C143.225 12.17 142.723 11.8183 142.164 11.5857C141.605 11.3532 141.001 11.2455 140.396 11.2702C139.521 11.2585 138.658 11.4771 137.893 11.904C137.118 12.3507 136.457 12.9696 135.959 13.713V28.2819H131.337ZM154.785 22.9105V11.557H150.672V7.89282H154.785V4.7144L159.383 1.30003V7.89282H164.121V11.557H159.383V21.8927C159.383 22.8981 159.599 23.6106 160.031 24.0301C160.463 24.4496 161.195 24.6593 162.229 24.6593C162.658 24.6626 163.087 24.6286 163.51 24.5575C164.015 24.4635 164.513 24.3352 165 24.1735V28.0367C164.355 28.2361 163.694 28.38 163.024 28.4669C162.37 28.5549 161.71 28.6013 161.049 28.6057C159.019 28.6057 157.466 28.1246 156.39 27.1623C155.314 26.1999 154.778 24.7827 154.785 22.9105ZM66.6681 9.4936C65.1876 8.22285 63.1396 7.58748 60.5241 7.58748C59.1392 7.59187 57.7598 7.76273 56.4157 8.09638C55.5404 8.31315 54.6797 8.58512 53.8387 8.91066V12.9311C54.8259 12.4676 55.8504 12.0884 56.9015 11.7976C57.7899 11.5547 58.7056 11.4257 59.6265 11.4136C61.1687 11.4136 62.3361 11.7591 63.1288 12.45C63.5322 12.8343 63.8468 13.3022 64.0506 13.8208C64.2544 14.3395 64.3424 14.8964 64.3085 15.4526V17.3448C63.4366 16.9313 62.5231 16.6118 61.5835 16.3917C60.6725 16.1865 59.7414 16.0841 58.8076 16.0864C56.4203 16.0864 54.5281 16.6277 53.1309 17.7103C52.4478 18.2857 51.9039 19.0084 51.5401 19.8241C51.1763 20.6399 51.0021 21.5274 51.0304 22.4201C51.0086 23.2675 51.1788 24.1088 51.5281 24.8812C51.8774 25.6535 52.3969 26.3368 53.0476 26.88C54.3893 28.0336 56.1181 28.6088 58.2339 28.6057C59.3319 28.6185 60.4225 28.4255 61.4494 28.0367C62.5061 27.6024 63.4726 26.9748 64.2993 26.1861V28.2634H68.8564V14.9899C68.8626 12.6211 68.1331 10.7921 66.6681 9.50286V9.4936ZM64.3085 23.7155C63.6542 24.2698 62.9028 24.6981 62.0924 24.9786C61.2581 25.2536 60.3847 25.3911 59.5062 25.3857C58.4382 25.4388 57.3817 25.1451 56.4944 24.5483C56.1352 24.3028 55.843 23.9715 55.6443 23.5845C55.4456 23.1976 55.3466 22.7671 55.3562 22.3322C55.3445 21.8588 55.441 21.3889 55.6382 20.9584C55.8354 20.5279 56.1282 20.148 56.4944 19.8477C57.2531 19.3203 58.0813 19.0566 59.5895 19.0566C60.4213 19.0508 61.2518 19.1252 62.0693 19.2787C62.8449 19.4333 63.5974 19.6868 64.3085 20.0328V23.7155Z\"\n fill=\"#004987\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_353_5425\"\n x1=\"7.54584\"\n y1=\"34.3843\"\n x2=\"33.8846\"\n y2=\"8.04551\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#004987\" />\n <stop offset=\"0.25\" stop-color=\"#004C89\" />\n <stop offset=\"0.44\" stop-color=\"#00568F\" />\n <stop offset=\"0.62\" stop-color=\"#00669A\" />\n <stop offset=\"0.78\" stop-color=\"#007DAA\" />\n <stop offset=\"0.93\" stop-color=\"#009BBD\" />\n <stop offset=\"1\" stop-color=\"#00ABC8\" />\n </linearGradient>\n <clipPath id=\"clip0_353_5425\">\n <rect width=\"165\" height=\"28.689\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n } @else {\n <svg [ngClass]=\"size()\" class=\"logo-svg\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 165 29\" fill=\"none\">\n <g clip-path=\"url(#clip0_353_5433)\">\n <path\n d=\"M12.598 16.0262C13.1314 16.5593 13.4946 17.2386 13.6419 17.9781C13.7892 18.7177 13.7138 19.4843 13.4253 20.181C13.1368 20.8778 12.6482 21.4733 12.0212 21.8923C11.3943 22.3112 10.6571 22.5349 9.90305 22.5349C9.14897 22.5349 8.41183 22.3112 7.78487 21.8923C7.1579 21.4733 6.66928 20.8778 6.3808 20.181C6.09232 19.4843 6.01694 18.7177 6.16421 17.9781C6.31147 17.2386 6.67475 16.5593 7.20811 16.0262C7.56177 15.6719 7.98184 15.3908 8.44428 15.199C8.90671 15.0072 9.40242 14.9085 9.90305 14.9085C10.4037 14.9085 10.8994 15.0072 11.3618 15.199C11.8243 15.3908 12.2443 15.6719 12.598 16.0262ZM19.8477 8.78113C19.2638 8.20288 18.5218 7.81033 17.7152 7.65296C16.9086 7.49559 16.0735 7.58043 15.315 7.89677C14.5566 8.21311 13.9087 8.74683 13.4529 9.43069C12.9972 10.1145 12.754 10.918 12.754 11.7398C12.754 12.5616 12.9972 13.365 13.4529 14.0489C13.9087 14.7327 14.5566 15.2664 15.315 15.5828C16.0735 15.8991 16.9086 15.984 17.7152 15.8266C18.5218 15.6692 19.2638 15.2767 19.8477 14.6984C20.2387 14.3113 20.5491 13.8504 20.7609 13.3426C20.9727 12.8348 21.0817 12.29 21.0817 11.7398C21.0817 11.1895 20.9727 10.6448 20.7609 10.1369C20.5491 9.62912 20.2387 9.16829 19.8477 8.78113ZM27.2502 8.11491C27.9143 7.45025 28.3664 6.60361 28.5494 5.68204C28.7324 4.76046 28.6381 3.80531 28.2784 2.93733C27.9186 2.06935 27.3096 1.32751 26.5284 0.805587C25.7471 0.283668 24.8286 0.00509644 23.889 0.00509644C22.9494 0.00509644 22.0309 0.283668 21.2497 0.805587C20.4684 1.32751 19.8594 2.06935 19.4996 2.93733C19.1399 3.80531 19.0456 4.76046 19.2286 5.68204C19.4116 6.60361 19.8637 7.45025 20.5278 8.11491C21.4177 9.0023 22.6231 9.50063 23.8798 9.50063C25.1364 9.50063 26.3418 9.0023 27.2317 8.11491H27.2502ZM14.9436 23.7803C14.5635 24.1608 14.3047 24.6456 14.1999 25.1732C14.0952 25.7008 14.1492 26.2477 14.3552 26.7446C14.5612 27.2415 14.9099 27.6662 15.3572 27.965C15.8045 28.2638 16.3304 28.4233 16.8683 28.4233C17.4062 28.4233 17.932 28.2638 18.3793 27.965C18.8266 27.6662 19.1753 27.2415 19.3813 26.7446C19.5873 26.2477 19.6413 25.7008 19.5366 25.1732C19.4319 24.6456 19.1731 24.1608 18.7929 23.7803C18.2815 23.2717 17.5895 22.9863 16.8683 22.9863C16.147 22.9863 15.4551 23.2717 14.9436 23.7803ZM21.157 16.0262C20.6237 16.5593 20.2604 17.2386 20.1131 17.9781C19.9659 18.7177 20.0413 19.4843 20.3297 20.181C20.6182 20.8778 21.1068 21.4733 21.7338 21.8923C22.3608 22.3112 23.0979 22.5349 23.852 22.5349C24.6061 22.5349 25.3432 22.3112 25.9702 21.8923C26.5971 21.4733 27.0858 20.8778 27.3742 20.181C27.6627 19.4843 27.7381 18.7177 27.5908 17.9781C27.4436 17.2386 27.0803 16.5593 26.5469 16.0262C25.8322 15.3185 24.8671 14.9215 23.8612 14.9215C22.8554 14.9215 21.8903 15.3185 21.1756 16.0262H21.157ZM33.7967 8.78113C33.2128 8.20288 32.4708 7.81033 31.6642 7.65296C30.8576 7.49559 30.0225 7.58043 29.264 7.89677C28.5055 8.21311 27.8576 8.74683 27.4019 9.43069C26.9461 10.1145 26.703 10.918 26.703 11.7398C26.703 12.5616 26.9461 13.365 27.4019 14.0489C27.8576 14.7327 28.5055 15.2664 29.264 15.5828C30.0225 15.8991 30.8576 15.984 31.6642 15.8266C32.4708 15.6692 33.2128 15.2767 33.7967 14.6984C34.1889 14.3125 34.5007 13.8526 34.7141 13.3455C34.9275 12.8383 35.0382 12.2939 35.0399 11.7436C35.0417 11.1934 34.9343 10.6483 34.7241 10.1398C34.5139 9.6313 34.205 9.16951 33.8152 8.78113H33.7967ZM0.79576 23.7803C0.415596 24.1608 0.156791 24.6456 0.0520592 25.1732C-0.0526731 25.7008 0.00136908 26.2477 0.207354 26.7446C0.413339 27.2415 0.76202 27.6662 1.20932 27.965C1.65663 28.2638 2.18247 28.4233 2.72039 28.4233C3.25831 28.4233 3.78415 28.2638 4.23146 27.965C4.67876 27.6662 5.02744 27.2415 5.23343 26.7446C5.43941 26.2477 5.49345 25.7008 5.38872 25.1732C5.28399 24.6456 5.02519 24.1608 4.64502 23.7803C4.39237 23.5274 4.09235 23.3267 3.76211 23.1898C3.43187 23.0529 3.07788 22.9825 2.72039 22.9825C2.3629 22.9825 2.00892 23.0529 1.67867 23.1898C1.34843 23.3267 1.04841 23.5274 0.79576 23.7803ZM40.5375 16.0262C40.0044 15.4929 39.3252 15.1296 38.5856 14.9823C37.846 14.8351 37.0794 14.9104 36.3827 15.1989C35.686 15.4874 35.0905 15.976 34.6715 16.603C34.2525 17.23 34.0289 17.9671 34.0289 18.7212C34.0289 19.4753 34.2525 20.2124 34.6715 20.8394C35.0905 21.4663 35.686 21.9549 36.3827 22.2434C37.0794 22.5319 37.846 22.6073 38.5856 22.46C39.3252 22.3128 40.0044 21.9495 40.5375 21.4161C41.2509 20.7007 41.6515 19.7315 41.6515 18.7212C41.6515 17.7108 41.2509 16.7417 40.5375 16.0262Z\"\n />\n <path\n d=\"M71.0956 25.9224L73.2562 22.8272C74.352 23.552 75.5251 24.1526 76.7539 24.6177C77.7336 24.969 78.7665 25.149 79.8074 25.1498C80.8503 25.1979 81.884 24.9354 82.7776 24.3956C83.1242 24.1955 83.412 23.9075 83.6118 23.5606C83.8116 23.2138 83.9164 22.8204 83.9157 22.4201C83.9268 22.1375 83.8719 21.8562 83.7555 21.5984C83.639 21.3406 83.4642 21.1135 83.2449 20.935C82.6082 20.4925 81.8757 20.2071 81.1074 20.1022L77.4849 19.4915C75.5325 19.1399 74.0612 18.4953 73.0712 17.5576C72.5741 17.0822 72.1845 16.506 71.9284 15.8676C71.6722 15.2293 71.5555 14.5436 71.586 13.8564C71.5595 12.9759 71.7429 12.1018 72.121 11.3061C72.4991 10.5105 73.0611 9.81626 73.7605 9.28079C75.2132 8.12724 77.1194 7.55047 79.4789 7.55047C80.8634 7.5479 82.2409 7.74582 83.5687 8.13805C84.9587 8.56663 86.2811 9.18967 87.4966 9.98866L85.3407 13.0005C84.3808 12.3679 83.3396 11.8683 82.2455 11.5154C81.2587 11.2068 80.2306 11.0508 79.1967 11.0527C78.3047 11.0099 77.4198 11.2303 76.6521 11.6866C76.3506 11.8703 76.1031 12.1307 75.9349 12.4411C75.7667 12.7515 75.6837 13.101 75.6944 13.4539C75.6752 13.7312 75.7227 14.0091 75.833 14.2643C75.9433 14.5195 76.1131 14.7445 76.3282 14.9205C77.0137 15.3434 77.7851 15.6074 78.586 15.6932L82.1669 16.3779C84.2025 16.7572 85.7108 17.4235 86.7055 18.3719C87.1989 18.85 87.5862 19.4267 87.8421 20.0644C88.098 20.7021 88.2167 21.3865 88.1906 22.0731C88.1981 22.9718 87.9886 23.859 87.5799 24.6593C87.1532 25.4813 86.5571 26.2034 85.8311 26.7783C85.0386 27.3947 84.1424 27.8647 83.1847 28.1662C82.1274 28.511 81.0213 28.6829 79.9092 28.6752C78.2476 28.6907 76.5935 28.4504 75.005 27.9627C73.5821 27.5421 72.2544 26.8491 71.0956 25.9224ZM100.641 24.6177C101.587 24.624 102.523 24.4301 103.389 24.0486C104.235 23.6736 104.981 23.1027 105.563 22.3831L108.339 25.159C107.361 26.2662 106.153 27.1472 104.8 27.7406C103.407 28.3752 101.894 28.7019 100.363 28.6983C98.9721 28.7063 97.5944 28.4292 96.3148 27.884C95.0842 27.3642 93.9703 26.6027 93.0392 25.6448C92.1011 24.6715 91.3625 23.5242 90.8647 22.2674C90.3283 20.9453 90.0578 19.5303 90.069 18.1036C90.0587 16.6873 90.3292 15.2831 90.8647 13.9721C91.3577 12.7304 92.0937 11.5996 93.0296 10.6463C93.9655 9.69289 95.0824 8.93607 96.3148 8.42026C97.5937 7.87281 98.9719 7.59559 100.363 7.60599C101.907 7.59932 103.436 7.90297 104.86 8.4989C106.244 9.06667 107.488 9.92862 108.506 11.025L105.656 13.9952C105.001 13.2509 104.203 12.6453 103.31 12.214C102.442 11.8062 101.493 11.5976 100.534 11.6033C99.7439 11.5944 98.9613 11.7593 98.2418 12.0863C97.5222 12.4133 96.8833 12.8944 96.3703 13.4956C95.2698 14.7859 94.6653 16.4262 94.6653 18.1221C94.6653 19.8179 95.2698 21.4583 96.3703 22.7486C96.904 23.3511 97.5624 23.8303 98.2998 24.153C99.0371 24.4758 99.8358 24.6343 100.641 24.6177ZM127.581 25.6772C126.445 26.641 125.159 27.4116 123.773 27.958C122.398 28.4598 120.943 28.7075 119.48 28.689C118.083 28.6962 116.699 28.4191 115.413 27.8747C114.168 27.3589 113.041 26.5955 112.1 25.6309C110.161 23.6056 109.082 20.9077 109.089 18.1036C109.079 16.6808 109.334 15.2686 109.843 13.9397C110.313 12.7025 111.018 11.5682 111.92 10.5994C112.837 9.63567 113.942 8.87096 115.167 8.3528C116.392 7.83465 117.71 7.57413 119.04 7.58749C120.334 7.57287 121.616 7.82964 122.804 8.34125C123.992 8.85286 125.06 9.60792 125.938 10.5577C126.817 11.5232 127.5 12.6497 127.951 13.8749C128.45 15.2218 128.698 16.6488 128.682 18.0851V19.2278H113.623C113.806 20.7609 114.535 22.1767 115.677 23.2159C116.77 24.2488 118.221 24.8176 119.725 24.8028C120.651 24.8061 121.57 24.6334 122.431 24.2938C123.236 23.9907 123.965 23.5173 124.569 22.9059L127.581 25.6772ZM118.994 11.3118C118.354 11.3 117.717 11.4167 117.123 11.6552C116.529 11.8936 115.988 12.2488 115.533 12.6998C114.536 13.7035 113.887 15.0009 113.683 16.401H124.324C124.107 15.0156 123.459 13.7335 122.473 12.7368C122.019 12.2766 121.477 11.9131 120.879 11.6682C120.281 11.4233 119.64 11.3021 118.994 11.3118ZM131.337 28.2819V7.89283H135.936V11.2332C136.622 10.1079 137.575 9.17001 138.712 8.50353C139.842 7.8725 141.119 7.55316 142.413 7.57823C143.355 7.54697 144.292 7.71366 145.164 8.06751C146.037 8.42136 146.826 8.95449 147.479 9.63241C148.138 10.33 148.651 11.1513 148.989 12.0488C149.327 12.9462 149.484 13.9019 149.45 14.8604V28.2773H144.852V16.1558C144.91 14.8643 144.475 13.5989 143.635 12.6165C143.225 12.17 142.723 11.8183 142.164 11.5857C141.605 11.3532 141.001 11.2455 140.396 11.2702C139.521 11.2586 138.658 11.4771 137.893 11.904C137.118 12.3507 136.457 12.9696 135.959 13.713V28.2819H131.337ZM154.785 22.9105V11.5571H150.672V7.89283H154.785V4.71442L159.383 1.30005V7.89283H164.121V11.5571H159.383V21.8927C159.383 22.8982 159.599 23.6106 160.031 24.0301C160.463 24.4496 161.195 24.6593 162.229 24.6593C162.658 24.6626 163.087 24.6286 163.51 24.5575C164.015 24.4635 164.513 24.3352 165 24.1735V28.0367C164.355 28.2361 163.694 28.3801 163.024 28.467C162.37 28.555 161.71 28.6013 161.049 28.6057C159.019 28.6057 157.466 28.1246 156.39 27.1623C155.314 26.2 154.778 24.7827 154.785 22.9105ZM66.6681 9.49362C65.1876 8.22287 63.1396 7.58749 60.5241 7.58749C59.1392 7.59189 57.7598 7.76274 56.4157 8.0964C55.5404 8.31317 54.6797 8.58514 53.8387 8.91067V12.9311C54.8259 12.4676 55.8504 12.0884 56.9015 11.7976C57.7899 11.5547 58.7056 11.4257 59.6265 11.4136C61.1687 11.4136 62.3361 11.7591 63.1288 12.45C63.5322 12.8343 63.8468 13.3022 64.0506 13.8208C64.2544 14.3395 64.3424 14.8964 64.3085 15.4526V17.3448C63.4366 16.9313 62.5231 16.6118 61.5835 16.3918C60.6725 16.1865 59.7414 16.0841 58.8076 16.0864C56.4203 16.0864 54.5281 16.6277 53.1309 17.7103C52.4478 18.2857 51.9039 19.0084 51.5401 19.8242C51.1763 20.6399 51.0021 21.5274 51.0304 22.4201C51.0086 23.2675 51.1788 24.1088 51.5281 24.8812C51.8774 25.6535 52.3969 26.3369 53.0476 26.8801C54.3893 28.0336 56.1181 28.6088 58.2339 28.6057C59.3319 28.6185 60.4225 28.4255 61.4494 28.0367C62.5061 27.6024 63.4726 26.9748 64.2993 26.1861V28.2634H68.8564V14.9899C68.8626 12.6211 68.1331 10.7921 66.6681 9.50288V9.49362ZM64.3085 23.7155C63.6542 24.2698 62.9028 24.6981 62.0924 24.9786C61.2581 25.2536 60.3847 25.3911 59.5062 25.3857C58.4382 25.4389 57.3817 25.1451 56.4944 24.5483C56.1352 24.3028 55.843 23.9715 55.6443 23.5845C55.4456 23.1976 55.3466 22.7671 55.3562 22.3322C55.3445 21.8588 55.441 21.389 55.6382 20.9584C55.8354 20.5279 56.1282 20.1481 56.4944 19.8478C57.2531 19.3203 58.0813 19.0566 59.5895 19.0566C60.4213 19.0508 61.2518 19.1252 62.0693 19.2787C62.8449 19.4334 63.5974 19.6868 64.3085 20.0328V23.7155Z\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_353_5433\">\n <rect width=\"165\" height=\"28.689\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n }\n</picture>\n","import { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AdsAscentLogoComponent } from './ascent-logo.component';\n\n@NgModule({\n imports: [CommonModule, NgOptimizedImage],\n exports: [AdsAscentLogoComponent],\n declarations: [AdsAscentLogoComponent],\n})\nexport class AdsAscentLogoModule {}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_BOTTOM_SHEET_DATA } from '@angular/material/bottom-sheet';\nimport { MainMenuItem } from '../main-menu.types';\n\nexport interface MainMenuData {\n menuItems: MainMenuItem[];\n}\n\n@Component({\n selector: 'ads-main-menu-bottom-sheet',\n styleUrls: ['main-menu-bottom-sheet.component.scss'],\n templateUrl: 'main-menu-bottom-sheet.component.html',\n})\nexport class AdsMainMenuBottomSheetComponent {\n constructor(@Inject(MAT_BOTTOM_SHEET_DATA) public data: MainMenuData) {}\n}\n","<mat-nav-list>\n @for (item of data.menuItems; track item) {\n @if (item.href) {\n <mat-list-item [routerLink]=\"item.href\" routerLinkActive=\"selected\">\n <ng-container *ngTemplateOutlet=\"text; context: { menuItem: item }\" />\n </mat-list-item>\n } @else {\n <mat-list-item>\n <ng-container *ngTemplateOutlet=\"text; context: { menuItem: item }\" />\n </mat-list-item>\n }\n }\n</mat-nav-list>\n\n<ng-template #text let-item=\"menuItem\">\n <div class=\"container\">\n @if (item.icon) {\n <ads-icon [id]=\"item.id\" [name]=\"item.icon\" size=\"sm\" theme=\"primary\"></ads-icon>\n }\n <span>{{ item.text }}</span>\n </div>\n</ng-template>\n","import { Component, input, OnChanges, OnInit, SimpleChange, ViewChild } from '@angular/core';\nimport { MatBottomSheet, MatBottomSheetRef } from '@angular/material/bottom-sheet';\nimport { NavigationStart, Router } from '@angular/router';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconMenuMoreInfo } from '@ascentgl/ads-icons/icons';\nimport { filter } from 'rxjs/operators';\nimport { AdsMainMenuBottomSheetComponent } from './main-menu-bottom-sheet/main-menu-bottom-sheet.component';\nimport { MainMenuItem } from './main-menu.types';\nimport { MatMenu } from '@angular/material/menu';\n\n@Component({\n selector: 'ads-main-menu',\n styleUrls: ['main-menu.component.scss'],\n templateUrl: 'main-menu.component.html',\n})\nexport class AdsMainMenuComponent implements OnChanges, OnInit {\n constructor(\n private bottomSheet: MatBottomSheet,\n private registry: AdsIconRegistry,\n private router: Router,\n ) {\n this.registry.register(adsIconMenuMoreInfo);\n }\n /** @ignore */\n @ViewChild('menu') menu?: MatMenu;\n\n /**\n * Array of menu items to display in the main menu\n */\n menuItems = input.required<MainMenuItem[]>();\n\n /** Id attribute for the main menu trigger element */\n id = input<string>('ads-main-menu');\n\n /**\n * Whether the navigation is collapsed\n */\n isCollapsed = input<boolean>(false);\n\n /**\n * Whether the viewport is mobile\n */\n isMobile = input<boolean>(false);\n\n /** @ignore */\n private bottomSheetRef?: MatBottomSheetRef<AdsMainMenuBottomSheetComponent>;\n\n /** @ignore */\n ngOnInit(): void {\n this.router.events.pipe(filter((event) => event instanceof NavigationStart)).subscribe(() => {\n this.bottomSheetRef?.dismiss();\n });\n }\n\n /** @ignore */\n ngOnChanges(changes: { isMobile: SimpleChange }): void {\n if (changes.isMobile) {\n const footerMenu = document.querySelector('.ads-bottom-sheet-panel');\n\n /**\n * if we are going from mobile to desktop size;\n * hide menu (to avoid its being animated) and dismiss it\n */\n if (footerMenu?.parentElement && !changes.isMobile.currentValue) {\n footerMenu.remove();\n this.bottomSheetRef?.dismiss();\n }\n }\n }\n\n /** @ignore */\n public openBottomSheet(): void {\n this.bottomSheetRef = this.bottomSheet.open(AdsMainMenuBottomSheetComponent, {\n data: { menuItems: this.menuItems() },\n panelClass: 'ads-bottom-sheet-panel',\n disableClose: false,\n });\n }\n\n protected readonly menubar = menubar;\n}\n","<ng-container *ngIf=\"isMobile(); else desktop\">\n @if (isCollapsed()) {\n <button mat-icon-button (click)=\"openBottomSheet()\">\n <ads-icon [id]=\"id()\" name=\"menu_more_info\" size=\"sm\" theme=\"primary\"></ads-icon>\n </button>\n }\n</ng-container>\n\n<ng-template #desktop>\n <button mat-icon-button [matMenuTriggerFor]=\"menu\">\n <ads-icon [id]=\"id()\" name=\"menu_more_info\" size=\"sm\" theme=\"primary\"></ads-icon>\n </button>\n <mat-menu #menu=\"matMenu\" [class]=\"'ads-mat-menu'\">\n @for (item of menuItems(); track item) {\n @if (item.href) {\n <button mat-menu-item [routerLink]=\"item.href\" routerLinkActive=\"selected\">\n <ng-container *ngTemplateOutlet=\"text; context: { menuItem: item }\" />\n </button>\n } @else {\n <button mat-menu-item>\n <ng-container *ngTemplateOutlet=\"text; context: { menuItem: item }\" />\n </button>\n }\n }\n </mat-menu>\n</ng-template>\n\n<ng-template #text let-item=\"menuItem\">\n <div class=\"container\">\n @if (item.icon) {\n <ads-icon [id]=\"item.id\" [name]=\"item.icon\" size=\"sm\" theme=\"primary\"></ads-icon>\n }\n <span>{{ item.text }}</span>\n </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { RouterModule } from '@angular/router';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsMainMenuBottomSheetComponent } from './main-menu-bottom-sheet/main-menu-bottom-sheet.component';\nimport { AdsMainMenuComponent } from './main-menu.component';\nimport { MatIconButton } from '@angular/material/button';\n\n@NgModule({\n imports: [\n CommonModule,\n MatBottomSheetModule,\n MatListModule,\n MatMenuModule,\n AdsIconModule,\n RouterModule,\n MatIconButton,\n ],\n exports: [AdsMainMenuComponent],\n declarations: [AdsMainMenuComponent, AdsMainMenuBottomSheetComponent],\n})\nexport class AdsMainMenuModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ads-navigation',\n styleUrls: ['./navigation.component.scss'],\n templateUrl: 'navigation.component.html',\n})\nexport class AdsNavigationComponent {\n /**\n * Whether the navigation is collapsed\n */\n @Input() isCollapsed = false;\n\n /**\n * Whether the viewport is mobile\n */\n @Input() isMobile = false;\n}\n","<nav [class.collapsed]=\"isCollapsed\" [class.mobile]=\"isMobile\">\n <ng-content></ng-content>\n</nav>\n<div class=\"overlay\" [class.mobile]=\"isMobile\"></div>\n","import { NgModule } from '@angular/core';\nimport { AdsNavigationComponent } from './navigation.component';\n\n@NgModule({\n exports: [AdsNavigationComponent],\n declarations: [AdsNavigationComponent],\n})\nexport class AdsNavigationModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconEditDashboard } from '@ascentgl/ads-icons/icons';\n\n@Component({\n selector: 'ads-dashboard-edit-icon',\n styleUrls: ['dashboard-edit-icon.component.scss'],\n templateUrl: 'dashboard-edit-icon.component.html',\n})\nexport class AdsDashboardEditIconComponent {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register(adsIconEditDashboard);\n }\n\n /**\n * The unique ID for the dashboard edit icon\n */\n @Input() id!: string;\n\n /**\n * Whether the navigation is collapsed\n */\n @Input() isCollapsed = false;\n\n /**\n * Whether the viewport is mobile\n */\n @Input() isMobile = false;\n\n /**\n * Text to display with the edit dashboard button\n */\n // @Input() editText = 'Edit Dashboard';\n\n /**\n * Event emitted when the edit dashboard button is clicked\n */\n @Output() editClicked: EventEmitter<null> = new EventEmitter();\n\n /** @ignore */\n onEditClick() {\n this.editClicked.emit();\n }\n}\n","<div class=\"big-circle\">\n <div\n class=\"edit-handle\"\n tabindex=\"0\"\n (keyup.enter)=\"onEditClick()\"\n (click)=\"onEditClick()\"\n [class.collapsed]=\"isCollapsed\"\n [class.mobile]=\"isMobile\"\n [id]=\"id\"\n >\n <ads-icon class=\"edit-icon\" name=\"edit_dashboard\" style=\"width: 28px; height: 28px\" theme=\"primary\"></ads-icon>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsDashboardEditIconComponent } from './dashboard-edit-icon.component';\n\n@NgModule({\n imports: [AdsIconModule],\n exports: [AdsDashboardEditIconComponent],\n declarations: [AdsDashboardEditIconComponent],\n})\nexport class AdsDashboardEditIconModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ads-navigation-actions-container',\n styleUrls: ['navigation-actions-container.component.scss'],\n templateUrl: 'navigation-actions-container.component.html',\n})\nexport class AdsNavigationActionsContainerComponent {\n /**\n * Whether the navigation is collapsed\n */\n @Input() isCollapsed = false;\n}\n","<div *ngIf=\"!isCollapsed\" class=\"navigation-actions\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AdsNavigationActionsContainerComponent } from './navigation-actions-container.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AdsNavigationActionsContainerComponent],\n declarations: [AdsNavigationActionsContainerComponent],\n})\nexport class AdsNavigationActionsContainerModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconMenuMoreInfo } from '@ascentgl/ads-icons/icons';\n\n@Component({\n selector: 'ads-navigation-collapse-handle',\n styleUrls: ['navigation-collapse-handle.component.scss'],\n templateUrl: 'navigation-collapse-handle.component.html',\n})\nexport class AdsNavigationCollapseHandleComponent {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register(adsIconMenuMoreInfo);\n }\n\n /**\n * The unique ID for the collapse handle\n */\n @Input() id!: string;\n\n /**\n * Whether the navigation is collapsed\n */\n @Input() isCollapsed = false;\n\n /**\n * Whether the viewport is mobile\n */\n @Input() isMobile = false;\n\n /**\n * Text to display in the collapse menu button\n */\n @Input() handleText = 'Collapse Menu';\n\n /**\n * Event emitted when the collapse menu button is clicked\n */\n @Output() handleClicked: EventEmitter<null> = new EventEmitter();\n\n /** @ignore */\n onHandleClick() {\n this.handleClicked.emit();\n }\n}\n","<div\n class=\"handle\"\n tabindex=\"0\"\n (keyup.enter)=\"onHandleClick()\"\n (click)=\"onHandleClick()\"\n [class.collapsed]=\"isCollapsed\"\n [class.mobile]=\"isMobile\"\n [id]=\"id\"\n>\n <ads-icon class=\"handle-icon\" name=\"menu_more_info\" size=\"sm\"></ads-icon>\n <span class=\"handle-text\">{{ handleText }}</span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsNavigationCollapseHandleComponent } from './navigation-collapse-handle.component';\n\n@NgModule({\n imports: [AdsIconModule],\n exports: [AdsNavigationCollapseHandleComponent],\n declarations: [AdsNavigationCollapseHandleComponent],\n})\nexport class AdsNavigationCollapseHandleModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ads-navigation-header',\n styleUrls: ['navigation-header.component.scss'],\n templateUrl: 'navigation-header.component.html',\n})\nexport class AdsNavigationHeaderComponent {\n /**\n * Whether the navigation is collapsed\n */\n @Input() isCollapsed = false;\n\n /**\n * Whether the viewport is mobile\n */\n @Input() isMobile = false;\n}\n","<header [class.collapsed]=\"isCollapsed\" [class.mobile]=\"isMobile\">\n <ng-content></ng-content>\n</header>\n","import { NgModule } from '@angular/core';\nimport { AdsNavigationHeaderComponent } from './navigation-header.component';\n\n@NgModule({\n exports: [AdsNavigationHeaderComponent],\n declarations: [AdsNavigationHeaderComponent],\n})\nexport class AdsNavigationHeaderModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconChevronDown, adsIconChevronRight } from '@ascentgl/ads-icons/icons';\n\n@Component({\n selector: 'ads-navigation-item',\n styleUrls: ['navigation-item.component.scss'],\n templateUrl: 'navigation-item.component.html',\n})\nexport class AdsNavigationItemComponent {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register([adsIconChevronDown, adsIconChevronRight]);\n }\n\n /**\n * Whether the navigation item is active\n */\n @Input() active = false;\n\n /**\n * Whether the submenu items are displayed\n */\n @Input() displaySubNavigation = false;\n\n /**\n * Whether a navigation item has submenu items\n */\n @Input() hasSubmenu = false;\n\n /**\n * Icon to display\n */\n // @Input() icon!: adsIcon;\n\n /**\n * The unique ID for the navigation item\n */\n @Input() id!: string;\n\n /**\n * Whether the navigation is collapsed\n */\n @Input() isCollapsed = false;\n\n /**\n * Text to display\n */\n @Input() label!: string;\n\n /**\n * Path to navigate to when navigation item is clicked\n */\n @Input() path: string | undefined;\n\n /**\n * Enable tooltip\n */\n @Input() enableTooltip = false;\n\n /**\n * Event emitted when a navigation item is clicked\n */\n @Output() itemSelected: EventEmitter<null> = new EventEmitter();\n\n /** @ignore */\n public onItemSelected(): void {\n if (this.hasSubmenu) {\n this.displaySubNavigation = !this.displaySubNavigation;\n }\n\n this.itemSelected.emit();\n }\n\n /** @ignore */\n public toggleSubNavigation(): void {\n this.displaySubNavigation = !this.displaySubNavigation;\n }\n}\n","<a\n class=\"navigation-item\"\n [class.active]=\"active\"\n [class.collapsed]=\"isCollapsed\"\n [routerLink]=\"[path]\"\n (click)=\"onItemSelected()\"\n routerLinkActive=\"active\"\n #tooltip=\"matTooltip\"\n [matTooltip]=\"label\"\n [matTooltipDisabled]=\"!enableTooltip\"\n matTooltipPosition=\"right\"\n [id]=\"id\"\n>\n <div class=\"navigation-item-text\">\n {{ label }}\n </div>\n <div *ngIf=\"hasSubmenu\" class=\"navigation-submenu-icon\">\n <ads-icon\n *ngIf=\"displaySubNavigation; else subNavCollapsed\"\n class=\"center\"\n name=\"chevron_down\"\n size=\"xxs\"\n ></ads-icon>\n <ng-template #subNavCollapsed>\n <ads-icon class=\"center\" name=\"chevron_right\" size=\"xxs\"></ads-icon>\n </ng-template>\n </div>\n</a>\n<ng-content *ngIf=\"displaySubNavigation && !isCollapsed\"></ng-content>\n","import { NgModule } from '@angular/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { AdsNavigationItemComponent } from './navigation-item.component';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n@NgModule({\n imports: [CommonModule, RouterModule, MatTooltipModule, AdsIconModule],\n exports: [AdsNavigationItemComponent],\n declarations: [AdsNavigationItemComponent],\n})\nexport class AdsNavigationItemModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-navigation-items-container',\n styles: [\n `\n :host {\n flex: 1;\n }\n `,\n ],\n template: '<ng-content></ng-content>',\n})\nexport class AdsNavigationItemsContainerComponent {}\n","import { NgModule } from '@angular/core';\nimport { AdsNavigationItemsContainerComponent } from './navigation-items-container.component';\n\n@NgModule({\n exports: [AdsNavigationItemsContainerComponent],\n declarations: [AdsNavigationItemsContainerComponent],\n})\nexport class AdsNavigationItemsContainerModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-side-navigation-container',\n styleUrls: ['side-navigation-container.component.scss'],\n templateUrl: 'side-navigation-container.component.html',\n})\nexport class AdsSideNavigationContainerComponent {}\n","<div class=\"side-navigation\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { AdsSideNavigationContainerComponent } from './side-navigation-container.component';\n\n@NgModule({\n exports: [AdsSideNavigationContainerComponent],\n declarations: [AdsSideNavigationContainerComponent],\n})\nexport class AdsSideNavigationContainerModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconChevronDown, adsIconChevronRight } from '@ascentgl/ads-icons/icons';\n\n@Component({\n selector: 'ads-side-navigation-item',\n styleUrls: ['side-navigation-item.component.scss'],\n templateUrl: 'side-navigation-item.component.html',\n})\nexport class AdsSideNavigationItemComponent {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register([adsIconChevronDown, adsIconChevronRight]);\n }\n /**\n * Whether the navigation item is active\n */\n @Input() active = false;\n\n /**\n * Whether the submenu items are displayed\n */\n @Input() displaySubNavigation = false;\n\n /**\n * The unique ID for the item\n */\n @Input() id!: string;\n\n /**\n * The text to display\n */\n @Input() label!: string;\n\n /**\n * Path to navigate to\n */\n @Input() path!: string;\n\n /**\n * Whether the navigation is collapsed\n */\n @Input() isCollapsed = false;\n\n /**\n * Whether a navigation item has submenu items\n */\n @Input() hasSubmenu = false;\n\n /**\n * Event emitted when a navigation item is clicked\n */\n @Output() itemSelected: EventEmitter<null> = new EventEmitter();\n\n /** @ignore */\n public onItemSelected(): void {\n if (this.hasSubmenu) {\n this.displaySubNavigation = !this.displaySubNavigation;\n }\n\n this.itemSelected.emit();\n }\n\n /** @ignore */\n public toggleSubNavigation(): void {\n this.displaySubNavigation = !this.displaySubNavigation;\n }\n}\n","<a\n class=\"side-navigation-item\"\n [class.active]=\"active\"\n [class.collapsed]=\"isCollapsed\"\n [routerLink]=\"[path]\"\n (click)=\"onItemSelected()\"\n routerLinkActive=\"active\"\n [id]=\"id\"\n>\n <div class=\"navigation-item-text\">\n {{ label }}\n </div>\n <!-- <div *ngIf=\"hasSubmenu\" class=\"navigation-submenu-icon\">\n <ads-icon\n *ngIf=\"displaySubNavigation; else subNavCollapsed\"\n class=\"center\"\n name=\"chevron_down\"\n size=\"xxs\"\n ></ads-icon>\n <ng-template #subNavCollapsed>\n <ads-icon class=\"center\" name=\"chevron_right\" size=\"xxs\"></ads-icon>\n </ng-template>\n </div> -->\n</a>\n<ng-content *ngIf=\"displaySubNavigation && !isCollapsed\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RouterModule } from '@angular/router';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n\nimport { AdsSideNavigationItemComponent } from './side-navigation-item.component';\n\n@NgModule({\n imports: [CommonModule, RouterModule, MatTooltipModule, AdsIconModule],\n exports: [AdsSideNavigationItemComponent],\n declarations: [AdsSideNavigationItemComponent],\n})\nexport class AdsSideNavigationItemModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'ads-sub-navigation-item',\n styleUrls: ['sub-navigation-item.component.scss'],\n templateUrl: 'sub-navigation-item.component.html',\n})\nexport class AdsSubNavigationItemComponent {\n /**\n * Whether the submenu item is active\n */\n @Input() active = false;\n\n /**\n * The unique ID for the submenu item\n */\n @Input() id!: string;\n\n /**\n * The text to display\n */\n @Input() label!: string;\n\n /**\n * The path to navigate to\n */\n @Input() path!: string;\n\n /**\n * Event emitted when a submenu item is clicked\n */\n @Output() submenuItemSelected: EventEmitter<null> = new EventEmitter();\n\n /** @ignore */\n public onSubmenuItemSelected(): void {\n this.submenuItemSelected.emit();\n }\n}\n","<a\n class=\"sub-navigation-item\"\n [class.active]=\"active\"\n [id]=\"id\"\n [routerLink]=\"[path]\"\n routerLinkActive=\"active\"\n (click)=\"onSubmenuItemSelected()\"\n >{{ label }}</a\n>\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { AdsSubNavigationItemComponent } from './sub-navigation-item.component';\n\n@NgModule({\n imports: [RouterModule],\n exports: [AdsSubNavigationItemComponent],\n declarations: [AdsSubNavigationItemComponent],\n})\nexport class AdsSubNavigationItemModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-sub-navigation-items-container',\n styleUrls: ['sub-navigation-items-container.component.scss'],\n templateUrl: 'sub-navigation-items-container.component.html',\n})\nexport class AdsSubNavigationItemsContainerComponent {}\n","<div class=\"sub-navigation-items-container\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { AdsSubNavigationItemsContainerComponent } from './sub-navigation-items-container.component';\n\n@NgModule({\n exports: [AdsSubNavigationItemsContainerComponent],\n declarations: [AdsSubNavigationItemsContainerComponent],\n})\nexport class AdsSubNavigationItemsContainerModule {}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconChevronLeft, adsIconChevronRight, adsIconMenuMoreInfo } from '@ascentgl/ads-icons/icons';\n\n@Component({\n selector: 'ads-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss'],\n})\nexport class AdsPaginationComponent implements OnChanges {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register([adsIconChevronLeft, adsIconChevronRight, adsIconMenuMoreInfo]);\n }\n\n /**\n * The total number of pages\n */\n @Input() totalPages!: number;\n\n /**\n * The current page\n */\n @Input() currentPage!: number;\n\n /**\n * Event emitted when a page button is clicked\n */\n @Output() goToPage: EventEmitter<number> = new EventEmitter<number>();\n\n /**\n * Event emitted when the next page button is clicked\n */\n @Output() goToNextPage: EventEmitter<null> = new EventEmitter<null>();\n\n /**\n * Event emitted when the previous page button is clicked\n */\n @Output() goToPreviousPage: EventEmitter<null> = new EventEmitter<null>();\n\n /** @ignore */\n public pages: number[] = [];\n\n /** @ignore */\n ngOnChanges(changes: SimpleChanges): void {\n if (\n (changes.currentPage && changes.currentPage.currentValue) ||\n (changes.totalPages && changes.totalPages.currentValue)\n ) {\n this.pages = this.getPagesToDisplay();\n }\n }\n\n /** @ignore */\n public onGoToPage(page: number): void {\n this.goToPage.emit(page);\n }\n\n /** @ignore */\n public onGoToNextPage(): void {\n this.goToNextPage.emit();\n }\n\n /** @ignore */\n public onGoToPreviousPage(): void {\n this.goToPreviousPage.emit();\n }\n\n /** @ignore */\n private getPagesToDisplay(): number[] {\n if (this.totalPages <= 7) {\n return [...Array(this.totalPages).keys()].map((x) => ++x);\n }\n\n if (this.currentPage > 5) {\n if (this.currentPage >= this.totalPages - 4) {\n return [\n 1,\n -1,\n this.totalPages - 4,\n this.totalPages - 3,\n this.totalPages - 2,\n this.totalPages - 1,\n this.totalPages,\n ];\n } else {\n return [1, -1, this.currentPage - 1, this.currentPage, this.currentPage + 1, -1, this.totalPages];\n }\n }\n\n return [1, 2, 3, 4, 5, -1, this.totalPages];\n }\n}\n","<nav aria-label=\"Pagination\">\n <ul>\n <li>\n <button\n aria-label=\"Go To Previous Page\"\n [attr.aria-disabled]=\"currentPage === 1\"\n [disabled]=\"currentPage === 1\"\n id=\"paginationPrevious\"\n (click)=\"onGoToPreviousPage()\"\n >\n <ads-icon name=\"chevron_left\" size=\"xs\" theme=\"primary\"></ads-icon>\n </button>\n </li>\n <li *ngFor=\"let page of pages\">\n <a\n *ngIf=\"page !== -1; else more\"\n class=\"internal\"\n role=\"button\"\n [attr.aria-current]=\"page === currentPage\"\n [attr.aria-label]=\"page === currentPage ? 'Current Page, Page ' + page : 'Go to Page ' + page\"\n [class.current]=\"page === currentPage\"\n [id]=\"'paginationPage' + page\"\n tabindex=\"0\"\n (click)=\"onGoToPage(page)\"\n (keyup.enter)=\"onGoToPage(page)\"\n >{{ page }}</a\n >\n <ng-template #more>\n <a class=\"more\">\n <ads-icon name=\"menu_more_info\" size=\"xs\" theme=\"primary\"></ads-icon>\n </a>\n </ng-template>\n </li>\n <li>\n <button\n aria-label=\"Go To Next Page\"\n [attr.aria-disabled]=\"currentPage === totalPages\"\n [disabled]=\"currentPage === totalPages\"\n id=\"paginationNext\"\n (click)=\"onGoToNextPage()\"\n >\n <ads-icon name=\"chevron_right\" size=\"xs\" theme=\"primary\"></ads-icon>\n </button>\n </li>\n </ul>\n</nav>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsPaginationComponent } from './pagination.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n\n@NgModule({\n imports: [CommonModule, AdsIconModule],\n declarations: [AdsPaginationComponent],\n exports: [AdsPaginationComponent],\n})\nexport class AdsPaginationModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-pagination-container',\n styleUrls: ['pagination-container.component.scss'],\n templateUrl: 'pagination-container.component.html',\n})\nexport class AdsPaginationContainerComponent {}\n","<div class=\"pagination-container\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { AdsPaginationContainerComponent } from './pagination-container.component';\n\n@NgModule({\n declarations: [AdsPaginationContainerComponent],\n exports: [AdsPaginationContainerComponent],\n})\nexport class AdsPaginationContainerModule {}\n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconSortDescending } from '@ascentgl/ads-icons/icons';\n\ntype Theme = 'primary' | 'success' | 'medium';\n\n@Component({\n selector: 'ads-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n})\nexport class AdsProgressBarComponent implements OnChanges {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register(adsIconSortDescending);\n }\n\n /**\n * The unique ID for the progress bar\n */\n @Input() id!: string;\n\n /**\n * Whether or not the progress bar is disabled\n */\n @Input() disabled = false;\n\n /**\n * Aria label for the progress element\n */\n @Input() ariaLabel!: string;\n\n /**\n * The max value of the progress bar\n */\n @Input() max = 100;\n\n /**\n * The value of the progress bar\n */\n @Input() value = 0;\n\n /**\n * @ignore\n * Only show the marker if the bar has progress and is not completed\n */\n get showMarker(): boolean {\n return this.value > 0 && this.value < this.max;\n }\n\n /** @ignore */\n public color: Theme = 'primary';\n\n /** @ignore */\n public markerPosition!: string;\n\n /** @ignore */\n ngOnChanges(changes: SimpleChanges): void {\n if (this.value > this.max) {\n console.warn(\n `The current value (${this.value}) of the progress bar is greater than the max (${this.max}). Did you forget to add the 'max' attribute?`,\n );\n }\n\n if (changes.value || changes.max) {\n this.color = this.getColor(this.value, this.max, this.disabled);\n this.markerPosition = this.getMarkerPosition(this.value, this.max);\n }\n\n if (changes.disabled) {\n this.color = this.getColor(this.value, this.max, this.disabled);\n }\n\n if (changes.ariaLabel) {\n this.ariaLabel = this.getLabel(this.max);\n }\n }\n\n /** @ignore */\n private getColor(value: number, max: number, disabled: boolean): Theme {\n return disabled ? 'medium' : value >= max ? 'success' : 'primary';\n }\n\n /** @ignore */\n private getLabel(max: number): string {\n return this.ariaLabel ?? `A bounded progress bar from 0 to ${max}`;\n }\n\n /** @ignore */\n private getMarkerPosition(value: number, max: number): string {\n return `calc(${(value / max) * 100}% + 5.5px)`;\n }\n}\n","<div class=\"progress-container\" [ngClass]=\"color\" [class.completed]=\"value >= max\">\n <div class=\"progress-marker\" [ngStyle]=\"{ width: markerPosition }\">\n <ads-icon *ngIf=\"showMarker\" name=\"sort_descending\" size=\"xxxs\"></ads-icon>\n </div>\n <progress\n role=\"progressbar\"\n aria-valuemin=\"0\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-label]=\"ariaLabel\"\n [value]=\"value\"\n [max]=\"max\"\n [id]=\"id\"\n ></progress>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsProgressBarComponent } from './progress-bar.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n\n@NgModule({\n imports: [CommonModule, AdsIconModule],\n declarations: [AdsProgressBarComponent],\n exports: [AdsProgressBarComponent],\n})\nexport class AdsProgressBarModule {}\n","import { ChangeDetectorRef, Component, ElementRef, HostListener, Input, OnInit } from '@angular/core';\nimport { DomHelper, GENERIC_COLLECTION } from '@ascentgl/ads-utils';\n\nexport enum SpinnerSize {\n xSmall = 'x-small',\n small = 'small',\n normal = 'normal',\n}\n\n@Component({\n selector: 'ads-progress-spinner',\n templateUrl: './progress-spinner.component.html',\n styleUrls: ['./progress-spinner.component.scss'],\n})\nexport class AdsProgressSpinnerComponent implements OnInit {\n /** set spinner z-index */\n @Input() zIndex = 1;\n\n /** set spinner scrollContainer. This is useful when the spinner is inside dialog window **/\n @Input() scrollContainer: HTMLElement | 'auto' | 'none' = 'none';\n\n /** set spinner size */\n @Input() size: SpinnerSize = SpinnerSize.normal;\n\n /** set spinner diameter (overrides \"size\") */\n @Input() diameter?: number;\n\n computedDiameter = 100;\n isSticky = false;\n computedStyles?: CSSStyleDeclaration;\n\n private readonly sizes = {\n [SpinnerSize.xSmall]: 50,\n [SpinnerSize.small]: 70,\n [SpinnerSize.normal]: 100,\n };\n\n constructor(\n protected ref: ElementRef,\n private cdr: ChangeDetectorRef,\n ) {}\n\n /** @ignore */\n ngOnInit(): void {\n let scrollContainer: HTMLElement | Window | 'auto' | 'none' = this.scrollContainer;\n\n if (this.scrollContainer == 'auto') {\n scrollContainer = DomHelper.getScrollableParent(this.ref.nativeElement);\n }\n\n /**\n * if scroll container is HTMLElement, make spinner stick to it's dimensions\n */\n if (scrollContainer instanceof HTMLElement) {\n this.scrollContainer = scrollContainer;\n this.isSticky = true;\n this.computedStyles = getComputedStyle(scrollContainer);\n }\n\n if (this.diameter) {\n this.computedDiameter = this.diameter;\n } else {\n this.computedDiameter = this.sizes[this.size];\n }\n }\n\n /** @ignore */\n getOverlayStyles(): GENERIC_COLLECTION {\n const container = <HTMLElement>this.scrollContainer;\n\n const computedStyles: GENERIC_COLLECTION = this.computedStyles ?? {};\n\n /**\n * subtract .5px from width to avoid \"accidental\" appearance of scrollbars on resize\n */\n return {\n zIndex: this.zIndex,\n height: container.clientHeight + 'px',\n width: container.clientWidth - 0.5 + 'px',\n top: computedStyles.paddingTop ? '-' + computedStyles.paddingTop : 0,\n left: computedStyles.paddingLeft ? '-' + computedStyles.paddingLeft : 0,\n };\n }\n\n /**\n * @ignore\n * required for proper change detection\n * NOTE: REALLY REQUIRED\n */\n @HostListener('window:resize') resize(): void {\n /**\n * additional change detection allows to avoid overlay sizing issues when window is being resized\n */\n this.cdr.detectChanges();\n }\n}\n","@if (isSticky) {\n <div class=\"spinner-container\">\n <div class=\"spinner-overlay\" [ngStyle]=\"getOverlayStyles()\">\n <mat-spinner [diameter]=\"computedDiameter\" aria-label=\"progress spinner\"></mat-spinner>\n </div>\n </div>\n} @else {\n <div class=\"spinner-overlay window\" [ngStyle]=\"{ zIndex }\">\n <mat-spinner [diameter]=\"computedDiameter\" aria-label=\"progress spinner\"></mat-spinner>\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsGestureModule } from '@ascentgl/ads-utils';\nimport { AdsProgressSpinnerComponent } from './progress-spinner.component';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@NgModule({\n declarations: [AdsProgressSpinnerComponent],\n imports: [CommonModule, AdsIconModule, AdsGestureModule, MatProgressSpinnerModule],\n exports: [AdsProgressSpinnerComponent],\n providers: [{ provide: Window, useValue: window }],\n})\nexport class AdsProgressSpinnerModule {}\n","export enum ProgressIndicatorSpinnerDefault {\n diameter = 52,\n padding = 11,\n fontSize = 20,\n max = 10,\n}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChange } from '@angular/core';\nimport { ProgressIndicatorSpinnerDefault } from './progress-indicator-spinner.types';\n\n@Component({\n selector: 'ads-progress-indicator-spinner',\n templateUrl: './progress-indicator-spinner.component.html',\n styleUrls: ['./progress-indicator-spinner.component.scss'],\n})\nexport class AdsProgressIndicatorSpinnerComponent implements OnChanges {\n /** Spinner diameter in pixels. Default is 52. Cannot be less than 20 */\n @Input() diameter: number = ProgressIndicatorSpinnerDefault.diameter;\n\n /** Max progress value. Default is 10. Cannot be less than 0 */\n @Input() max: number = ProgressIndicatorSpinnerDefault.max;\n\n /** Current progress value. Cannot be less than 0 or more than \"max\"*/\n @Input() value = 0;\n\n /** Event emitted percentage is updated after value changes */\n @Output() percentageUpdated = new EventEmitter<number>();\n\n /** @ignore */\n percentage = 0;\n\n /** @ignore */\n readonly defaults: typeof ProgressIndicatorSpinnerDefault = ProgressIndicatorSpinnerDefault;\n\n /** @ignore */\n ngOnChanges(changes: { value: SimpleChange; max: SimpleChange; diameter: SimpleChange }): void {\n if (changes.max) {\n this.calculateMax();\n }\n\n if (changes.value) {\n this.calculateValue();\n }\n\n if (changes.diameter) {\n this.calculateDiameter();\n }\n }\n\n /** @ignore */\n private calculateMax(): void {\n if (this.max < 1) {\n this.max = 1;\n }\n\n this.calculateValue();\n }\n\n /** @ignore */\n private calculateValue(): void {\n if (this.value < 0) {\n this.value = 0;\n }\n\n if (this.value > this.max) {\n this.value = this.max;\n }\n\n this.calculatePercentage();\n }\n\n /** @ignore */\n private calculatePercentage(): void {\n const newPercentage = Math.round((this.value * 100) / this.max);\n\n if (newPercentage != this.percentage) {\n this.percentage = newPercentage;\n this.percentageUpdated.emit(this.percentage);\n }\n }\n\n /** @ignore */\n private calculateDiameter(): void {\n if (this.diameter < 20) {\n this.diameter = 20;\n }\n }\n}\n","<!-- real padding will be calculated based on default padding and font size -->\n<div\n class=\"progress-indicator-wrapper\"\n [ngStyle]=\"{ padding: (diameter * defaults.padding) / defaults.diameter + 'px' }\"\n>\n <mat-spinner [mode]=\"'determinate'\" [diameter]=\"diameter\" [value]=\"percentage\"></mat-spinner>\n <!-- real font size is calculated based on default diameter and font size -->\n <div\n class=\"progress-value\"\n [ngStyle]=\"{\n fontSize: (diameter * defaults.fontSize) / defaults.diameter + 'px',\n width: diameter + 'px',\n height: diameter + 'px',\n }\"\n >\n <!-- hidden value is used to calculate visible value scale -->\n <span class=\"hidden-value\" #hiddenValue>{{ value }}</span>\n <!-- scale value only if it has more than 3 characters -->\n <!-- the text should not be wider than 70% of diameter -->\n <span\n class=\"visible-value\"\n [ngStyle]=\"{\n scale: hiddenValue.textContent!.length > 3 ? (this.diameter * 0.7) / hiddenValue.clientWidth : 1,\n }\"\n >{{ value }}</span\n >\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsProgressIndicatorSpinnerComponent } from './progress-indicator-spinner.component';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@NgModule({\n declarations: [AdsProgressIndicatorSpinnerComponent],\n imports: [CommonModule, MatProgressSpinnerModule],\n exports: [AdsProgressIndicatorSpinnerComponent],\n})\nexport class AdsProgressIndicatorSpinnerModule {}\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n OnInit,\n ViewChildren,\n QueryList,\n ElementRef,\n AfterViewInit,\n Renderer2,\n ViewChild,\n SimpleChanges,\n OnChanges,\n} from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconCheckCircle } from '@ascentgl/ads-icons/icons';\nimport { ProgressStep } from './progress-step.types';\n\n@Component({\n selector: 'ads-progress-stepper',\n templateUrl: './progress-stepper.component.html',\n styleUrls: ['./progress-stepper.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AdsProgressStepperComponent implements AfterViewInit, OnChanges, OnInit {\n constructor(\n private renderer: Renderer2,\n private registry: AdsIconRegistry,\n private window: Window,\n ) {\n this.registry.register(adsIconCheckCircle);\n }\n\n /** @ignore */\n @ViewChild('stepper') stepper!: ElementRef;\n\n /** @ignore */\n @ViewChildren('stepElements') stepElements!: QueryList<ElementRef>;\n\n /** Whether the viewport is mobile */\n @Input() isMobile = false;\n\n /** Padding of parent container */\n @Input() containerPadding = 24;\n\n /** Steps to display */\n @Input() steps!: ProgressStep[];\n\n /** @ignore */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public styles: any = {};\n\n /** @ignore */\n private focusedIndex = 0;\n\n /** @ignore */\n ngAfterViewInit() {\n if (this.isMobile) {\n this.focusedIndex = this.getLastCompletedStepIndex(this.steps);\n this.centerCurrentStep(this.focusedIndex);\n }\n }\n\n /** @ignore */\n ngOnChanges(changes: SimpleChanges) {\n if (changes?.isMobile && !changes.isMobile.firstChange) {\n this.focusedIndex = this.getLastCompletedStepIndex(this.steps);\n this.centerCurrentStep(this.focusedIndex);\n }\n\n if (changes?.steps && changes.steps?.currentValue && !changes.steps?.firstChange) {\n if (this.isMobile) {\n this.focusedIndex = this.getLastCompletedStepIndex(this.steps);\n this.centerCurrentStep(this.focusedIndex);\n }\n }\n }\n\n /** @ignore */\n ngOnInit() {\n this.styles = {\n step: {\n 'grid-template-columns': `repeat(${this.steps.length}, minmax(150px, 1fr))`,\n },\n };\n }\n\n /** @ignore */\n public onSwipeLeft(): void {\n if (this.focusedIndex === this.steps.length - this.calculateStepsPerViewport() || !this.isMobile) {\n return;\n }\n\n this.focusedIndex++;\n this.centerCurrentStep(this.focusedIndex);\n }\n\n /** @ignore */\n public onSwipeRight(): void {\n if (this.focusedIndex === 0 || !this.isMobile) {\n return;\n }\n\n this.focusedIndex--;\n this.centerCurrentStep(this.focusedIndex);\n }\n\n /** @ignore */\n private centerCurrentStep(focusedIndex: number): void {\n if (focusedIndex === 0) {\n this.renderer.setStyle(this.stepper.nativeElement, 'margin-left', '0px');\n return;\n }\n\n const stepWidth = this.stepElements.first.nativeElement.getBoundingClientRect().width;\n const offset = focusedIndex * stepWidth;\n this.renderer.setStyle(this.stepper.nativeElement, 'margin-left', `-${offset}px`);\n }\n\n /** @ignore */\n private getLastCompletedStepIndex(steps: ProgressStep[]): number {\n return steps.map((step) => step.completed).lastIndexOf(true);\n }\n\n /** @ignore */\n private calculateStepsPerViewport(): number {\n const stepWidth = this.stepElements.first.nativeElement.getBoundingClientRect().width;\n return Math.floor((this.window.innerWidth - this.containerPadding) / stepWidth);\n }\n}\n","<div\n #stepper\n adsGesture\n class=\"progress-stepper\"\n [ngStyle]=\"styles?.step\"\n [draggable]=\"false\"\n (gestureleft)=\"onSwipeLeft()\"\n (gestureright)=\"onSwipeRight()\"\n>\n <div\n #stepElements\n class=\"progress-stepper-step\"\n [draggable]=\"false\"\n *ngFor=\"let step of steps; let index = index; let first = first; let last = last\"\n >\n <div class=\"progress-bar\" [class.first]=\"first\" [class.last]=\"last\">\n <div\n class=\"progress-bar-highlight\"\n [class.completed]=\"step.completed\"\n [class.roundedLeft]=\"first || (!steps[index - 1].completed && step.completed)\"\n [class.roundedRight]=\"\n last || (!steps[index + 1].completed && step.completed) || (first && !steps[index + 1].completed)\n \"\n ></div>\n </div>\n <div class=\"progress-step-info\" [class.first]=\"first\" [class.last]=\"last\">\n <div class=\"progress-step-info-container\">\n <div class=\"title\">\n <div class=\"title-text\">{{ step.title }}</div>\n <div class=\"title-completed-icon\" *ngIf=\"step.completed\">\n <ads-icon name=\"check_circle\" size=\"xxs\" color=\"#5756B3\"></ads-icon>\n </div>\n </div>\n <div *ngIf=\"step?.date\" class=\"date\">{{ step?.date }}</div>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsProgressStepperComponent } from './progress-stepper.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsGestureDirection, AdsGestureModule, ADS_GESTURE_DEFAULT_OPTIONS } from '@ascentgl/ads-utils';\n\n@NgModule({\n declarations: [AdsProgressStepperComponent],\n imports: [CommonModule, AdsIconModule, AdsGestureModule],\n exports: [AdsProgressStepperComponent],\n providers: [\n { provide: ADS_GESTURE_DEFAULT_OPTIONS, useValue: { direction: AdsGestureDirection.DIRECTION_HORIZONTAL } },\n { provide: Window, useValue: window },\n ],\n})\nexport class AdsProgressStepperModule {}\n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport {\n adsIcon,\n adsIconStar,\n adsIconStar25,\n adsIconStar50,\n adsIconStar75,\n adsIconStarFull,\n} from '@ascentgl/ads-icons/icons';\n\n@Component({\n selector: 'ads-rating',\n templateUrl: './rating.component.html',\n styleUrls: ['./rating.component.scss'],\n})\nexport class AdsRatingComponent implements OnChanges {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register([adsIconStar, adsIconStar25, adsIconStar50, adsIconStar75, adsIconStarFull]);\n }\n\n /** The rating value */\n @Input() rating = 0;\n\n /** The total number of possible starts */\n @Input() scale = 5;\n\n /** The color theme for the icons */\n @Input() theme: 'iconPrimary' | 'primary' | 'secondary' | 'success' | 'warn' = 'primary';\n\n /** @ignore */\n public stars!: adsIcon[];\n\n /** @ignore */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.rating || changes?.scale) {\n if (this.rating > this.scale) {\n console.warn('AdsRatingComponent: Rating value is greater than the scale');\n }\n\n this.stars = this.getRatingIcons(this.rating, this.scale);\n }\n }\n\n /** @ignore */\n private getRatingIcons(rating: number, scale: number): adsIcon[] {\n const icons: adsIcon[] = [];\n const full = Math.floor(rating);\n const partial = rating - Math.floor(rating);\n\n if (partial) {\n for (let i = 0; i < full; i++) {\n icons.push('star_full');\n }\n\n if (partial >= 0.75) {\n icons.push('star_75');\n } else if (partial >= 0.5) {\n icons.push('star_50');\n } else if (partial >= 0.25) {\n icons.push('star_25');\n }\n\n while (icons.length < scale) {\n icons.push('star');\n }\n } else {\n for (let i = 0; i < scale; i++) {\n icons.push(i < rating ? 'star_full' : 'star');\n }\n }\n\n return icons;\n }\n}\n","<div class=\"rating\">\n <ads-icon *ngFor=\"let star of stars\" [name]=\"star\" [theme]=\"theme\" size=\"sm\"></ads-icon>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsRatingComponent } from './rating.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n\n@NgModule({\n declarations: [AdsRatingComponent],\n imports: [CommonModule, AdsIconModule],\n exports: [AdsRatingComponent],\n})\nexport class AdsRatingModule {}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIcon, adsIconCheck } from '@ascentgl/ads-icons/icons';\n\n@Component({\n selector: 'ads-selection-button',\n templateUrl: './selection-button.component.html',\n styleUrls: ['./selection-button.component.scss'],\n})\nexport class AdsSelectionButtonComponent {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register(adsIconCheck);\n }\n\n /** @ignore */\n @ViewChild('button') button!: ElementRef;\n\n /**\n * aria-label for the button\n */\n @Input() ariaLabel!: string;\n\n /**\n * Whether the button is disabled\n */\n @Input() disabled = false;\n\n /**\n * The icon to display\n */\n @Input() icon!: adsIcon;\n\n /**\n * The unique ID for the selection button\n */\n @Input() id!: string;\n\n /** Whether to show the active icon when button is in the active state */\n @Input() showActiveIcon = true;\n\n /**\n * Event emitted when the button is clicked\n */\n @Output() stateChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @ignore */\n public active = false;\n\n /** @ignore */\n public onClick() {\n if (this.disabled) {\n return;\n }\n\n this.active = !this.active;\n\n this.stateChanged.emit(this.active);\n }\n\n /** @ignore */\n public onMouseleave() {\n if (!this.active) {\n this.button.nativeElement.blur();\n }\n }\n}\n","<button\n #button\n [id]=\"id\"\n class=\"selection-button\"\n [class.active]=\"active\"\n [disabled]=\"disabled\"\n (click)=\"onClick()\"\n (mouseleave)=\"onMouseleave()\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <ads-icon [name]=\"icon\" size=\"md\"></ads-icon>\n <span *ngIf=\"showActiveIcon\" class=\"icon-badge\">\n <ads-icon name=\"check\" size=\"xxs\"></ads-icon>\n </span>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatRippleModule } from '@angular/material/core';\nimport { AdsSelectionButtonComponent } from './selection-button.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n\n@NgModule({\n declarations: [AdsSelectionButtonComponent],\n imports: [CommonModule, MatRippleModule, AdsIconModule],\n exports: [AdsSelectionButtonComponent],\n})\nexport class AdsSelectionButtonModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ads-shell-layout',\n templateUrl: './shell-layout.component.html',\n styleUrls: ['./shell-layout.component.scss'],\n})\nexport class ShellLayoutComponent {\n /**\n * Whether the navigation is collapsed\n */\n @Input() isCollapsed = false;\n\n /**\n * Whether the viewport is mobile\n */\n @Input() isMobile = false;\n}\n","<!-- <div class=\"shell\" [class.mobile]=\"isMobile\" [class.collapsed]=\"isCollapsed\">\n <div class=\"shell-container\">\n <ng-content select=\"[navigation]\"></ng-content>\n <div class=\"shell-header\">\n <ng-content select=\"[header]\"></ng-content> \n <main class=\"main-content\">\n <ng-content></ng-content>\n </main>\n <ng-content select=\"[widgetbar]\"></ng-content>\n </div>\n </div>\n <ng-content select=\"[footer]\"></ng-content>\n</div> -->\n\n<div class=\"shell\" [class.mobile]=\"isMobile\" [class.collapsed]=\"isCollapsed\">\n <div class=\"container\">\n <ng-content select=\"[header]\"></ng-content>\n <main class=\"main-content\">\n <ng-content></ng-content>\n </main>\n <ng-content select=\"[widgetbar]\"></ng-content>\n </div>\n <ng-content select=\"[footer]\"></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ShellLayoutComponent } from './shell-layout.component';\n\n@NgModule({\n declarations: [ShellLayoutComponent],\n exports: [ShellLayoutComponent],\n imports: [CommonModule],\n})\nexport class AdsShellLayoutModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ads-splash-page',\n templateUrl: './splash-page.component.html',\n styleUrls: ['./splash-page.component.scss'],\n})\nexport class AdsSplashPageComponent {\n /**\n * Alt text for the logo\n */\n @Input() alt!: string;\n\n /**\n * Logo to display\n */\n @Input() imageSrc!: string;\n @Input() text = 'Coming Soon';\n}\n","<div class=\"splash-page-container\">\n <img [src]=\"imageSrc\" [alt]=\"alt\" />\n <h1>{{ text }}</h1>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AdsSplashPageComponent } from './splash-page.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [AdsSplashPageComponent],\n exports: [AdsSplashPageComponent],\n})\nexport class AdsSplashPageModule {}\n","import { adsIcon } from '@ascentgl/ads-icons/icons';\n\nexport type CondensedStepBase = {\n title: string;\n subtitle?: string;\n date?: Date;\n icon?: adsIcon;\n status?: CondensedStepStatus;\n};\n\nexport type CondensedStepWithStatus = CondensedStepBase & { status: CondensedStepStatus };\n\nexport type CondensedStep = {\n title: string;\n subtitle?: string;\n date?: Date;\n icon: adsIcon;\n status: CondensedStepStatus;\n};\n\nexport type CondensedStyle = {\n circle: CondensedCircleStyle;\n lineBefore: CondensedLineStyle;\n lineAfter: CondensedLineStyle;\n skipped: CondensedCircleStyle;\n};\n\nexport type CondensedCircleStyle = {\n width: string;\n height: string;\n 'border-radius': string;\n};\n\nexport type CondensedLineStyle = {\n width: string;\n top: string;\n};\n\nexport enum CondensedStepStatus {\n Completed = 'completed',\n Current = 'current',\n Future = 'future',\n Skipped = 'skipped',\n Rejected = 'rejected',\n Alert = 'alert',\n Disabled = 'disabled',\n DisabledRejected = 'disabled-rejected',\n}\n","import { CondensedStep, CondensedStepStatus, CondensedStepBase, CondensedStepWithStatus } from './condensed-step.type';\nimport { adsIcon } from '@ascentgl/ads-icons/icons';\n\n/**\n * Sets a steps status based on multiple criteria\n * @param currentStep CondensedStep\n * @param index number\n * @param steps CondensedStep[]\n * @returns CondensedStep\n */\nexport function setCondensedStepStatus(\n currentStep: CondensedStepBase,\n index: number,\n steps: CondensedStepBase[],\n): CondensedStepWithStatus {\n // if step already has a status use it\n if (currentStep.status) {\n return currentStep as CondensedStep;\n }\n\n // if step is not the first, and previous step is rejected or disabled/rejected all other steps after it\n // should be disabled/rejected\n if (\n (index > 0 && getPreviousCondensedStepStatus(index, steps) === CondensedStepStatus.Rejected) ||\n getPreviousCondensedStepStatus(index, steps) === CondensedStepStatus.DisabledRejected\n ) {\n currentStep.status = CondensedStepStatus.DisabledRejected;\n // if step has a date, that step has been completed\n } else if (currentStep.date) {\n currentStep.status = CondensedStepStatus.Completed;\n // if step is not the first, and previous step has a date or if step is the first and the next step does\n // not have a date then step is current\n } else if (\n (index > 0 && steps[index - 1]?.date) ||\n (index === 0 && !steps[index + 1]?.date) ||\n getPreviousCondensedStepStatus(index, steps) === CondensedStepStatus.Skipped\n ) {\n currentStep.status = CondensedStepStatus.Current;\n // step is a future step\n } else {\n currentStep.status = CondensedStepStatus.Future;\n }\n\n return currentStep as CondensedStep;\n}\n\n/**\n * Takes a step and sets its itcon based on the steps status.\n * Status must be set prior to running this function.\n * @param currentStep CondensedStep\n * @returns CondensedStep\n */\nexport function setCondensedStepIcon(currentStep: CondensedStepWithStatus): CondensedStep {\n switch (currentStep.status) {\n case CondensedStepStatus.Completed:\n currentStep.icon = 'check';\n break;\n case CondensedStepStatus.Skipped:\n currentStep.icon = 'stepper_circle';\n break;\n case CondensedStepStatus.Disabled:\n currentStep.icon = 'minus';\n break;\n case CondensedStepStatus.Alert:\n currentStep.icon = 'exclamation';\n break;\n case CondensedStepStatus.Rejected:\n case CondensedStepStatus.DisabledRejected:\n currentStep.icon = 'cross';\n break;\n default:\n break;\n }\n\n return currentStep as CondensedStep;\n}\n\n/**\n * Returns the status of the previous step\n * @param index number\n * @param steps CondensedStep\n * @returns CondensedStepStatus\n */\nexport function getPreviousCondensedStepStatus(\n index: number,\n steps: CondensedStepBase[],\n): CondensedStepStatus | undefined {\n return steps[index - 1] && steps[index - 1].status;\n}\n\nexport function getCondensedStepperSampleData(): CondensedStep[] {\n return [\n { title: 'Order Entered', icon: <adsIcon>'check', subtitle: 'Date', status: CondensedStepStatus.Completed },\n {\n title: 'Out For Bid',\n icon: <adsIcon>'check',\n subtitle: 'Date',\n status: CondensedStepStatus.Future,\n },\n {\n title: 'Options Recieved',\n icon: <adsIcon>'check',\n subtitle: 'Date',\n status: CondensedStepStatus.Future,\n },\n { title: 'Awarded', icon: <adsIcon>'check', subtitle: 'Date', status: CondensedStepStatus.Future },\n { title: 'Shipment In-Transit', icon: <adsIcon>'check', subtitle: 'Date', status: CondensedStepStatus.Future },\n { title: 'Delivered', icon: <adsIcon>'check', subtitle: 'Date', status: CondensedStepStatus.Future },\n ]\n .map(setCondensedStepStatus)\n .map(setCondensedStepIcon);\n}\n","import { ViewChildren } from '@angular/core';\nimport { Component, ElementRef, Input, OnChanges, OnInit, QueryList, Renderer2, SimpleChanges } from '@angular/core';\nimport { CondensedStep, CondensedStepStatus, CondensedStyle } from './condensed-step.type';\n\n@Component({\n selector: 'ads-stepper-condensed',\n styleUrls: ['./stepper-condensed.component.scss'],\n templateUrl: './stepper-condensed.component.html',\n})\nexport class AdsCondensedStepperComponent implements OnInit, OnChanges {\n constructor(\n private element: ElementRef,\n private renderer: Renderer2,\n private window: Window,\n ) {}\n\n /**\n * The unique ID for the condensed stepper\n */\n @Input() id!: string;\n\n /**\n * The steps to display\n */\n @Input() public condensedsteps: CondensedStep[] = [];\n\n /**\n * The size of the icons\n */\n @Input() public iconSize: 'xxs' | 'sm' | 'md' | 'lg' = 'sm';\n\n /**\n * Whether the viewport is mobile\n */\n @Input() isMobile = false;\n\n /** @ignore */\n @ViewChildren('stepElements') stepElements!: QueryList<ElementRef>;\n\n /** @ignore */\n public focusedStepIndex!: number;\n\n /** @ignore */\n public stepStatus = CondensedStepStatus;\n\n /** @ignore */\n public style!: CondensedStyle;\n\n /** @ignore */\n private iconMap = {\n xxs: { size: 6, padding: 8 },\n sm: { size: 24, padding: 16 },\n md: { size: 32, padding: 24 },\n lg: { size: 48, padding: 32 },\n };\n\n /** @ignore */\n private shouldScroll = false;\n\n /** @ignore */\n private stepWidth!: number;\n\n /** @ignore */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.iconSize && !changes.iconSize.firstChange) {\n this.setCircleSize();\n }\n\n if (changes.isMobile && !changes.isMobile.firstChange) {\n this.resetStepperScrollState();\n this.setStepperScrollState();\n }\n }\n\n /** @ignore */\n ngOnInit(): void {\n this.focusedStepIndex = this.condensedsteps.findIndex(\n (step: CondensedStep) => step.status === this.stepStatus.Current,\n );\n this.setCircleSize();\n }\n\n /** @ignore */\n public onSwipeLeft() {\n // Ignore swipe if last step already focused\n if (this.isLastStep(this.focusedStepIndex)) {\n return;\n }\n\n this.focusedStepIndex = ++this.focusedStepIndex;\n\n if (this.shouldScroll) {\n this.centerFocusedStep();\n }\n }\n\n /** @ignore */\n public onSwipeRight() {\n // Ignore swipe if first step already focused\n if (this.isFirstStep(this.focusedStepIndex)) {\n return;\n }\n\n this.focusedStepIndex = --this.focusedStepIndex;\n\n if (this.shouldScroll) {\n this.centerFocusedStep();\n }\n }\n\n /** @ignore */\n private centerFocusedStep(): void {\n const halfOfViewport = this.window.innerWidth / 2;\n const middleOfFocusedStep = this.focusedStepIndex * this.stepWidth + this.stepWidth / 2;\n this.renderer.setStyle(this.element.nativeElement, 'margin-left', `${halfOfViewport - middleOfFocusedStep}px`);\n }\n\n /** @ignore */\n private isFirstStep(index: number): boolean {\n return index === 0;\n }\n\n /** @ignore */\n private isLastStep(index: number): boolean {\n return index === this.condensedsteps.length - 1;\n }\n\n /** @ignore */\n private resetStepperScrollState() {\n this.shouldScroll = false;\n this.renderer.setStyle(this.element.nativeElement, 'margin-left', '0');\n }\n\n /** @ignore */\n private setCircleSize(): void {\n const { size, padding } = this.iconMap[this.iconSize];\n const circleSize = size + padding;\n\n this.style = {\n circle: {\n width: `${circleSize}px`,\n height: `${circleSize}px`,\n 'border-radius': `${circleSize / 2}px`,\n },\n lineBefore: {\n width: `calc(50% - ${circleSize / 2 - 4}px)`,\n top: `${circleSize / 2}px`,\n },\n lineAfter: {\n width: `calc(50% - ${circleSize / 2 - 6}px)`,\n top: `${circleSize / 2}px`,\n },\n skipped: {\n width: `${circleSize - 4}px`,\n height: `${circleSize - 4}px`,\n 'border-radius': `${circleSize / 2}px`,\n },\n };\n }\n\n /** @ignore */\n private setStepperScrollState() {\n this.stepWidth = this.stepElements.first.nativeElement.getBoundingClientRect().width;\n\n if (Math.floor(this.condensedsteps.length * this.stepWidth) > this.window.innerWidth) {\n this.stepElements.forEach((step) => this.renderer.setStyle(step.nativeElement, 'flex', '0 0 0'));\n this.shouldScroll = true;\n this.centerFocusedStep();\n } else {\n this.stepElements.forEach((step) => this.renderer.setStyle(step.nativeElement, 'flex', '1'));\n }\n }\n}\n","<div class=\"stepper-condensed\" [class.mobile]=\"isMobile\" [id]=\"id\">\n <ng-container *ngFor=\"let step of condensedsteps; let first = first; let last = last; let index = index\">\n <div\n #stepElements\n adsGesture\n class=\"step\"\n [class.focused]=\"index === focusedStepIndex\"\n (gestureleft)=\"onSwipeLeft()\"\n (gestureright)=\"onSwipeRight()\"\n >\n <div class=\"title-subtitle\">\n <span class=\"title\">{{ step.title }}</span>\n <span class=\"subtitle\">\n <ng-container *ngIf=\"step?.date; else subtitle\">{{ step.date | date: 'shortDate' }}</ng-container>\n <ng-template #subtitle>{{ step?.subtitle }}</ng-template>\n </span>\n </div>\n\n <!-- <div *ngIf=\"!first\" class=\"line before\" [ngClass]=\"step.status\" [ngStyle]=\"style.lineBefore\"></div> -->\n <div class=\"step-icon-wrapper\">\n <div\n class=\"step-icon\"\n [ngClass]=\"step.status\"\n [ngStyle]=\"step.status === stepStatus.Skipped ? style.skipped : style.circle\"\n [matTooltip]=\"step.title\"\n [matTooltipDisabled]=\"false\"\n >\n <ads-icon [name]=\"step.icon\" style=\"height: 6px; width: 6px\" color=\"white\"></ads-icon>\n </div>\n </div>\n <div\n *ngIf=\"!last\"\n class=\"line after\"\n [ngClass]=\"condensedsteps[index + 1].status\"\n [ngStyle]=\"style.lineAfter\"\n ></div>\n </div>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsCondensedStepperComponent } from './stepper-condensed.component';\nimport { AdsGestureDirection, AdsGestureModule, ADS_GESTURE_DEFAULT_OPTIONS } from '@ascentgl/ads-utils';\n\n@NgModule({\n imports: [CommonModule, MatTooltipModule, AdsIconModule, AdsGestureModule],\n exports: [AdsCondensedStepperComponent],\n declarations: [AdsCondensedStepperComponent],\n providers: [\n { provide: Window, useValue: window },\n { provide: ADS_GESTURE_DEFAULT_OPTIONS, useValue: { direction: AdsGestureDirection.DIRECTION_HORIZONTAL } },\n ],\n})\nexport class AdsCondensedStepperModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ads-submenu-container',\n templateUrl: './submenu-container.component.html',\n styleUrls: ['./submenu-container.component.scss'],\n})\nexport class AdsSubmenuContainerComponent {\n /** Background color for the container */\n @Input() background: 'muted-50' | 'muted-30' = 'muted-50';\n\n /** Border color for the container */\n @Input() border: 'medium-50' | 'primary' = 'medium-50';\n}\n","<div class=\"submenu-container\" [ngClass]=\"['border-' + border, 'bg-' + background]\">\n <ul class=\"submenu\">\n <ng-content></ng-content>\n </ul>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsSubmenuContainerComponent } from './submenu-container.component';\n\n@NgModule({\n declarations: [AdsSubmenuContainerComponent],\n imports: [CommonModule],\n exports: [AdsSubmenuContainerComponent],\n})\nexport class AdsSubmenuContainerModule {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ads-submenu-heading',\n templateUrl: './submenu-heading.component.html',\n styleUrls: ['./submenu-heading.component.scss'],\n})\nexport class AdsSubmenuHeadingComponent {\n /** Heading text to display */\n heading = input.required<string>();\n\n /** The id attribute for the submenu heading */\n id = input<string>();\n}\n","<div class=\"submenu-heading\" [attr.id]=\"id()\">{{ heading() }}</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsSubmenuHeadingComponent } from './submenu-heading.component';\n\n@NgModule({\n declarations: [AdsSubmenuHeadingComponent],\n imports: [CommonModule],\n exports: [AdsSubmenuHeadingComponent],\n})\nexport class AdsSubmenuHeadingModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'ads-submenu-item',\n templateUrl: './submenu-item.component.html',\n styleUrls: ['./submenu-item.component.scss'],\n})\nexport class AdsSubmenuItemComponent {\n /** The id attribute for the submenu item */\n @Input() id!: string;\n\n /** Submenu item text to display */\n @Input() label!: string;\n\n /** Path to navigate to when submenu item is clicked */\n @Input() path?: string | undefined;\n\n /** Event emitted when a submenu item is clicked */\n @Output() itemClicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** @ignore */\n onItemClick() {\n this.itemClicked.emit();\n }\n}\n","<li class=\"submenu-item\">\n <a [attr.id]=\"id\" [routerLink]=\"[path]\" routerLinkActive=\"active\" (click)=\"onItemClick()\">\n {{ label }}\n </a>\n</li>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsSubmenuItemComponent } from './submenu-item.component';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n declarations: [AdsSubmenuItemComponent],\n imports: [CommonModule, RouterModule],\n exports: [AdsSubmenuItemComponent],\n})\nexport class AdsSubmenuItemModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'ads-submenu-secondary-item',\n templateUrl: './submenu-secondary-item.component.html',\n styleUrls: ['./submenu-secondary-item.component.scss'],\n})\nexport class AdsSubmenuSecondaryItemComponent {\n /** Whether the item is active */\n @Input() active = false;\n\n /** The id attribute for the submenu secondary item */\n @Input() id!: string;\n\n /** Secondary submenu item text to display */\n @Input() label!: string;\n\n /** Path to navigate to when secondary submenu item is clicked */\n @Input() path: string | undefined;\n\n /** Event emitted when secondary submenu item is clicked */\n @Output() itemClicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** @ignore */\n onItemClick() {\n this.itemClicked.emit();\n }\n}\n","<li class=\"submenu-secondary-item\">\n <a *ngIf=\"path\" [attr.id]=\"id\" class=\"here\" [routerLink]=\"[path]\" routerLinkActive=\"active\">\n {{ label }}\n </a>\n <a *ngIf=\"!path\" [attr.id]=\"id\" [class.active]=\"active\" (click)=\"onItemClick()\">{{ label }}</a>\n</li>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsSubmenuSecondaryItemComponent } from './submenu-secondary-item.component';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n declarations: [AdsSubmenuSecondaryItemComponent],\n imports: [CommonModule, RouterModule],\n exports: [AdsSubmenuSecondaryItemComponent],\n})\nexport class AdsSubmenuSecondaryItemModule {}\n","import { Component, ChangeDetectionStrategy, input, output } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconCross } from '@ascentgl/ads-icons/icons';\nimport { Colors } from '../../general/color-palette/colors.enums';\nimport { Tag } from './tag.types';\n\n@Component({\n selector: 'ads-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AdsTagComponent {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register(adsIconCross);\n }\n\n /** The color of the tag */\n color = input.required<Colors>();\n\n /** The unique id of the tag */\n id = input.required<string>();\n\n /** Whether the tag is removeable */\n removable = input<boolean>(true);\n\n /** The text of the tag */\n tag = input.required<string>();\n\n /** Event emitted when the remove icon is clicked */\n remove = output<string>();\n\n /** Event emitted when a tag is selected */\n selected = output<Tag>();\n\n /** @ignore */\n onRemove() {\n this.remove.emit(this.id());\n }\n\n /** @ignore */\n onSelected() {\n this.selected.emit({\n id: this.id(),\n color: this.color(),\n tag: this.tag(),\n });\n }\n\n /** @ignore */\n private darkTitleColorList = [\n Colors.Muted,\n Colors.Light30,\n Colors.Light80,\n Colors.Light,\n Colors.Medium30,\n Colors.Medium50,\n ];\n\n /** @ignore */\n\n isDarkTitle(): boolean {\n return this.darkTitleColorList.includes(this.color());\n }\n\n /** @ignore */\n getBackgroundColor(): string {\n return `var(--color-${this.color()})`;\n }\n\n /** @ignore */\n getTextColor(): string {\n if (this.isDarkTitle()) {\n return `var(--color-${Colors.Dark})`;\n }\n return `var(--color-${Colors.White})`;\n }\n}\n","<div\n class=\"tag\"\n [ngStyle]=\"{\n 'background-color': getBackgroundColor(),\n color: getTextColor(),\n }\"\n>\n <span class=\"tag-text\" (click)=\"onSelected()\">{{ tag() }}</span>\n\n @if (removable()) {\n <ads-icon\n [id]=\"'ads-tag-' + id()\"\n name=\"cross\"\n size=\"xxxs\"\n (click)=\"onRemove()\"\n [stroke]=\"isDarkTitle() ? 'dark' : 'white'\"\n />\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsTagComponent } from './tag.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n\n@NgModule({\n declarations: [AdsTagComponent],\n imports: [CommonModule, AdsIconModule],\n exports: [AdsTagComponent],\n})\nexport class AdsTagModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-tag-container',\n templateUrl: './tag-container.component.html',\n styleUrls: ['./tag-container.component.scss'],\n})\nexport class AdsTagContainerComponent {}\n","<div class=\"tag-container\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsTagContainerComponent } from './tag-container.component';\n\n@NgModule({\n declarations: [AdsTagContainerComponent],\n imports: [CommonModule],\n exports: [AdsTagContainerComponent],\n})\nexport class AdsTagContainerModule {}\n","import { adsIcon } from '@ascentgl/ads-icons/icons';\n\nexport type TimelineStepBase = {\n title: string;\n subtitle?: string;\n date?: Date;\n icon?: adsIcon;\n status?: TimelineStepStatus;\n};\n\nexport type TimelineStepWithStatus = TimelineStepBase & { status: TimelineStepStatus };\n\nexport type TimelineStep = {\n title: string;\n subtitle?: string;\n date?: Date;\n icon: adsIcon;\n status: TimelineStepStatus;\n};\n\nexport type TimelineStyle = {\n circle: CircleStyle;\n lineBefore: LineStyle;\n lineAfter: LineStyle;\n skipped: CircleStyle;\n};\n\nexport type CircleStyle = {\n width: string;\n height: string;\n 'border-radius': string;\n};\n\nexport type LineStyle = {\n width: string;\n top: string;\n};\n\nexport enum TimelineStepStatus {\n Completed = 'completed',\n Current = 'current',\n Future = 'future',\n Skipped = 'skipped',\n Rejected = 'rejected',\n Alert = 'alert',\n Disabled = 'disabled',\n DisabledRejected = 'disabled-rejected',\n}\n","import { TimelineStep, TimelineStepStatus, TimelineStepBase, TimelineStepWithStatus } from './timeline-step.type';\nimport { adsIcon } from '@ascentgl/ads-icons/icons';\n\n/**\n * Sets a steps status based on multiple criteria\n * @param currentStep TimelineStep\n * @param index number\n * @param steps TimelineStep[]\n * @returns TimelineStep\n */\nexport function setStepStatus(\n currentStep: TimelineStepBase,\n index: number,\n steps: TimelineStepBase[],\n): TimelineStepWithStatus {\n // if step already has a status use it\n if (currentStep.status) {\n return currentStep as TimelineStep;\n }\n\n // if step is not the first, and previous step is rejected or disabled/rejected all other steps after it\n // should be disabled/rejected\n if (\n (index > 0 && getPreviousStepStatus(index, steps) === TimelineStepStatus.Rejected) ||\n getPreviousStepStatus(index, steps) === TimelineStepStatus.DisabledRejected\n ) {\n currentStep.status = TimelineStepStatus.DisabledRejected;\n // if step has a date, that step has been completed\n } else if (currentStep.date) {\n currentStep.status = TimelineStepStatus.Completed;\n // if step is not the first, and previous step has a date or if step is the first and the next step does\n // not have a date then step is current\n } else if (\n (index > 0 && steps[index - 1]?.date) ||\n (index === 0 && !steps[index + 1]?.date) ||\n getPreviousStepStatus(index, steps) === TimelineStepStatus.Skipped\n ) {\n currentStep.status = TimelineStepStatus.Current;\n // step is a future step\n } else {\n currentStep.status = TimelineStepStatus.Future;\n }\n\n return currentStep as TimelineStep;\n}\n\n/**\n * Takes a step and sets its itcon based on the steps status.\n * Status must be set prior to running this function.\n * @param currentStep TimelineStep\n * @returns TimelineStep\n */\nexport function setStepIcon(currentStep: TimelineStepWithStatus): TimelineStep {\n switch (currentStep.status) {\n case TimelineStepStatus.Completed:\n currentStep.icon = 'check';\n break;\n case TimelineStepStatus.Skipped:\n currentStep.icon = 'stepper_circle';\n break;\n case TimelineStepStatus.Disabled:\n currentStep.icon = 'minus';\n break;\n case TimelineStepStatus.Alert:\n currentStep.icon = 'exclamation';\n break;\n case TimelineStepStatus.Rejected:\n case TimelineStepStatus.DisabledRejected:\n currentStep.icon = 'cross';\n break;\n default:\n break;\n }\n\n return currentStep as TimelineStep;\n}\n\n/**\n * Returns the status of the previous step\n * @param index number\n * @param steps TimelineStep\n * @returns TimelineStepStatus\n */\nexport function getPreviousStepStatus(index: number, steps: TimelineStepBase[]): TimelineStepStatus | undefined {\n return steps[index - 1] && steps[index - 1].status;\n}\n\nexport function getTimelineStepperSampleData(): TimelineStep[] {\n return [\n { title: 'Order Placed', icon: <adsIcon>'check', date: new Date('05/09/2021') },\n {\n title: 'Acknowledged',\n icon: <adsIcon>'file_complete',\n date: new Date('05/10/2021'),\n },\n {\n title: 'In Production',\n icon: <adsIcon>'assembly_production_conveyer',\n subtitle: 'test',\n status: TimelineStepStatus.Skipped,\n },\n { title: 'Booked', icon: <adsIcon>'calendar_star' },\n { title: 'Documents', icon: <adsIcon>'file_multi' },\n { title: 'In Transit', icon: <adsIcon>'truck_fast' },\n { title: 'Delivered', icon: <adsIcon>'box_check' },\n ]\n .map(setStepStatus)\n .map(setStepIcon);\n}\n","import { ViewChildren } from '@angular/core';\nimport { Component, ElementRef, Input, OnChanges, OnInit, QueryList, Renderer2, SimpleChanges } from '@angular/core';\nimport { TimelineStep, TimelineStepStatus, TimelineStyle } from './timeline-step.type';\n\n@Component({\n selector: 'ads-timeline-stepper',\n styleUrls: ['./timeline-stepper.component.scss'],\n templateUrl: './timeline-stepper.component.html',\n})\nexport class AdsTimelineStepperComponent implements OnInit, OnChanges {\n constructor(\n private element: ElementRef,\n private renderer: Renderer2,\n private window: Window,\n ) {}\n\n /**\n * The unique ID for the timeline stepper\n */\n @Input() id!: string;\n\n /**\n * The steps to display\n */\n @Input() public steps: TimelineStep[] = [];\n\n /**\n * The size of the icons\n */\n @Input() public iconSize: 'sm' | 'md' | 'lg' = 'sm';\n\n /**\n * Whether the viewport is mobile\n */\n @Input() isMobile = false;\n\n /** @ignore */\n @ViewChildren('stepElements') stepElements!: QueryList<ElementRef>;\n\n /** @ignore */\n public focusedStepIndex!: number;\n\n /** @ignore */\n public stepStatus = TimelineStepStatus;\n\n /** @ignore */\n public style!: TimelineStyle;\n\n /** @ignore */\n private iconMap = {\n sm: { size: 24, padding: 16 },\n md: { size: 32, padding: 24 },\n lg: { size: 48, padding: 32 },\n };\n\n /** @ignore */\n private shouldScroll = false;\n\n /** @ignore */\n private stepWidth!: number;\n\n /** @ignore */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.iconSize && !changes.iconSize.firstChange) {\n this.setCircleSize();\n }\n\n if (changes.isMobile && !changes.isMobile.firstChange) {\n this.resetStepperScrollState();\n this.setStepperScrollState();\n }\n }\n\n /** @ignore */\n ngOnInit(): void {\n this.focusedStepIndex = this.steps.findIndex((step: TimelineStep) => step.status === this.stepStatus.Current);\n this.setCircleSize();\n }\n\n /** @ignore */\n public onSwipeLeft() {\n // Ignore swipe if last step already focused\n if (this.isLastStep(this.focusedStepIndex)) {\n return;\n }\n\n this.focusedStepIndex = ++this.focusedStepIndex;\n\n if (this.shouldScroll) {\n this.centerFocusedStep();\n }\n }\n\n /** @ignore */\n public onSwipeRight() {\n // Ignore swipe if first step already focused\n if (this.isFirstStep(this.focusedStepIndex)) {\n return;\n }\n\n this.focusedStepIndex = --this.focusedStepIndex;\n\n if (this.shouldScroll) {\n this.centerFocusedStep();\n }\n }\n\n /** @ignore */\n private centerFocusedStep(): void {\n const halfOfViewport = this.window.innerWidth / 2;\n const middleOfFocusedStep = this.focusedStepIndex * this.stepWidth + this.stepWidth / 2;\n this.renderer.setStyle(this.element.nativeElement, 'margin-left', `${halfOfViewport - middleOfFocusedStep}px`);\n }\n\n /** @ignore */\n private isFirstStep(index: number): boolean {\n return index === 0;\n }\n\n /** @ignore */\n private isLastStep(index: number): boolean {\n return index === this.steps.length - 1;\n }\n\n /** @ignore */\n private resetStepperScrollState() {\n this.shouldScroll = false;\n this.renderer.setStyle(this.element.nativeElement, 'margin-left', '0');\n }\n\n /** @ignore */\n private setCircleSize(): void {\n const { size, padding } = this.iconMap[this.iconSize];\n const circleSize = size + padding;\n\n this.style = {\n circle: {\n width: `${circleSize}px`,\n height: `${circleSize}px`,\n 'border-radius': `${circleSize / 2}px`,\n },\n lineBefore: {\n width: `calc(50% - ${circleSize / 2 - 4}px)`,\n top: `${circleSize / 2}px`,\n },\n lineAfter: {\n width: `calc(50% - ${circleSize / 2 - 6}px)`,\n top: `${circleSize / 2}px`,\n },\n skipped: {\n width: `${circleSize - 4}px`,\n height: `${circleSize - 4}px`,\n 'border-radius': `${circleSize / 2}px`,\n },\n };\n }\n\n /** @ignore */\n private setStepperScrollState() {\n this.stepWidth = this.stepElements.first.nativeElement.getBoundingClientRect().width;\n\n if (Math.floor(this.steps.length * this.stepWidth) > this.window.innerWidth) {\n this.stepElements.forEach((step) => this.renderer.setStyle(step.nativeElement, 'flex', '0 0 0'));\n this.shouldScroll = true;\n this.centerFocusedStep();\n } else {\n this.stepElements.forEach((step) => this.renderer.setStyle(step.nativeElement, 'flex', '1'));\n }\n }\n}\n","<div class=\"timeline-stepper\" [class.mobile]=\"isMobile\" [id]=\"id\">\n <ng-container *ngFor=\"let step of steps; let first = first; let last = last; let index = index\">\n <div\n #stepElements\n adsGesture\n class=\"step\"\n [class.focused]=\"index === focusedStepIndex\"\n (gestureleft)=\"onSwipeLeft()\"\n (gestureright)=\"onSwipeRight()\"\n >\n <div *ngIf=\"!first\" class=\"line before\" [ngClass]=\"step.status\" [ngStyle]=\"style.lineBefore\"></div>\n <div class=\"step-icon-wrapper\">\n <div\n class=\"step-icon\"\n [ngClass]=\"step.status\"\n [ngStyle]=\"step.status === stepStatus.Skipped ? style.skipped : style.circle\"\n [matTooltip]=\"step.title\"\n [matTooltipDisabled]=\"false\"\n >\n <ads-icon [name]=\"step.icon\" [size]=\"iconSize\" color=\"white\"></ads-icon>\n </div>\n </div>\n <div *ngIf=\"!last\" class=\"line after\" [ngClass]=\"steps[index + 1].status\" [ngStyle]=\"style.lineAfter\"></div>\n <span class=\"title\">{{ step.title }}</span>\n <span class=\"subtitle\">\n <ng-container *ngIf=\"step?.date; else subtitle\">{{ step.date | date: 'shortDate' }}</ng-container>\n <ng-template #subtitle>{{ step?.subtitle }}</ng-template>\n </span>\n </div>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsTimelineStepperComponent } from './timeline-stepper.component';\nimport { AdsGestureDirection, AdsGestureModule, ADS_GESTURE_DEFAULT_OPTIONS } from '@ascentgl/ads-utils';\n\n@NgModule({\n imports: [CommonModule, MatTooltipModule, AdsIconModule, AdsGestureModule],\n exports: [AdsTimelineStepperComponent],\n declarations: [AdsTimelineStepperComponent],\n providers: [\n { provide: Window, useValue: window },\n { provide: ADS_GESTURE_DEFAULT_OPTIONS, useValue: { direction: AdsGestureDirection.DIRECTION_HORIZONTAL } },\n ],\n})\nexport class AdsTimelineStepperModule {}\n","import { AfterViewInit, Directive, inject, Input, OnChanges, SimpleChange } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport {\n adsIconCheckCircleFilled,\n adsIconWarning,\n adsIconWarningV2,\n adsIconVisibilityEye,\n adsIconVisibilityEyeNone,\n} from '@ascentgl/ads-icons/icons';\nimport { AbstractControl, FormControl, Validators } from '@angular/forms';\nimport { GENERIC_COLLECTION } from '@ascentgl/ads-utils';\nimport { asapScheduler } from 'rxjs';\n\n@Directive()\nexport abstract class AbstractBaseComponent implements OnChanges, AfterViewInit {\n /** Form control, associated with input field */\n @Input() set control(control: AbstractControl | null) {\n /**\n * NOTE: we use setter and internal \"valueControl\" here\n * to allow pass children of FormGroup (which are all typed as AbstractControl instances)\n *\n */\n if (control instanceof FormControl) {\n this.valueControl = control;\n } else {\n throw Error('Control must be a \"FormControl\" instance');\n }\n }\n\n /** @ignore */\n displayControl: FormControl = new FormControl();\n\n /** If true, invalid field will immediately become dirty to display the error */\n @Input() immediateValidation = false;\n\n /** Object, containing key=>value pairs for errors and their translated messages */\n @Input() errorMessages: GENERIC_COLLECTION<string> = {};\n\n /** Hint message, displayed under the control */\n @Input() hint?: string;\n\n /** Success message, displayed under the control */\n @Input() successMessage?: string;\n\n /** Optional \"id\" attribute for input field */\n @Input() id = '';\n\n /** Optional control field label */\n @Input() label?: string;\n\n /** @ignore */\n @Input() showFooter = true;\n\n /** @ignore */\n protected registry: AdsIconRegistry = inject(AdsIconRegistry);\n\n /** @ignore */\n get required() {\n return this.valueControl.hasValidator(Validators.required);\n }\n\n /** Component width. Must include units of measure: px, %, em, rem, etc. */\n @Input() width = '100%';\n\n /** @ignore */\n valueControl: FormControl = new FormControl();\n\n /** @ignore */\n private readonly genericError: string = 'Something went wrong';\n\n /** @ignore */\n protected readonly defaultErrorMessages: GENERIC_COLLECTION<string> = {};\n\n /** @ignore */\n private readonly requiredErrorMessage: string = 'Field is <strong>required</strong>';\n\n constructor() {\n this.registry.register([\n adsIconWarning,\n adsIconWarningV2,\n adsIconCheckCircleFilled,\n adsIconVisibilityEye,\n adsIconVisibilityEyeNone,\n ]);\n }\n\n ngOnChanges(changes: { immediateValidation: SimpleChange }): void {\n if (changes.immediateValidation && !changes.immediateValidation.isFirstChange()) {\n this.ngAfterViewInit();\n }\n }\n\n /** @ignore */\n ngAfterViewInit(): void {\n this.touchInvalid(this.valueControl);\n }\n\n /** @ignore */\n displayFirstError(control: FormControl = this.valueControl): string {\n if (!control.errors) return this.genericError;\n\n /**\n * NOTE: we are showing only the first error in a row\n */\n const firstErrorKey: string = Object.keys(control.errors)[0];\n\n /**\n * merge defaultErrorMessages, required error messages (which is always available)\n * and configured errorMessages\n */\n const errorMessages: GENERIC_COLLECTION<string> = {\n ...this.defaultErrorMessages,\n ...{ required: this.requiredErrorMessage },\n ...this.errorMessages,\n };\n\n if (typeof errorMessages[firstErrorKey] === 'string') {\n return errorMessages[firstErrorKey];\n } else {\n console.warn(`No translation for error ${firstErrorKey}`);\n return `${this.genericError} (${firstErrorKey})`;\n }\n }\n\n /** @ignore */\n protected touchInvalid(control: FormControl): void {\n if (this.immediateValidation) {\n asapScheduler.schedule(() => control.markAsTouched({ onlySelf: true }));\n }\n }\n\n /** @ignore */\n protected syncState(): void {\n if (this.displayControl.disabled !== this.valueControl.disabled) {\n this.valueControl.disabled ? this.displayControl.disable() : this.displayControl.enable();\n }\n\n if (this.valueControl.pristine) {\n this.displayControl.markAsPristine();\n }\n\n if (this.valueControl.untouched) {\n /**\n * if displayControl is touched and contains invalid value - clear it up before marking it as untouched\n * NOTE: this is required to properly reset displayControl when valueControl is reset\n */\n if (this.displayControl.touched && this.displayControl.invalid) {\n this.displayControl.setValue(null, { emitEvent: false });\n }\n this.displayControl.markAsUntouched();\n } else if (this.displayControl.untouched) {\n this.displayControl.markAsTouched();\n }\n\n if (this.valueControl.valid !== this.displayControl.valid) {\n this.displayControl.setErrors(this.valueControl.errors);\n this.displayControl.updateValueAndValidity({ emitEvent: false });\n }\n }\n\n /** @ignore */\n canShowError(): boolean {\n return !!this.valueControl.errors && (this.valueControl.touched || this.immediateValidation);\n }\n\n /** @ignore */\n canShowSuccess(): boolean {\n return !this.valueControl.errors && this.valueControl.touched && !!this.successMessage;\n }\n}\n","import { Directive, Input } from '@angular/core';\nimport { AbstractBaseComponent } from './abstract.base.component';\n\nexport type FieldSize = 'base' | 'xs';\n\n@Directive()\nexport abstract class AbstractInputComponent extends AbstractBaseComponent {\n @Input() showExclamationOnError = false;\n\n /** If true, clear button will appear in the input if it is not empty */\n @Input() showClearButton = false;\n\n /** Tooltip message, displayed over tooltip icon */\n @Input() tooltip?: string;\n\n /** Empty input field placeholder */\n @Input() placeholder = '';\n\n /** Whether the Input is a smaller version */\n @Input() size: FieldSize = 'base';\n\n /** @ignore */\n get showExclamation() {\n return this.showExclamationOnError && this.valueControl.invalid && this.valueControl.touched;\n }\n\n /** @ignore */\n get canClear() {\n return this.showClearButton && !!this.valueControl.value;\n }\n\n /** @ignore */\n clear(event: MouseEvent): void {\n this.valueControl.setValue(null);\n\n this.valueControl.markAsTouched();\n\n /**\n * stop even propagation so that calendar won't open on \"clear\" button click\n */\n event.stopPropagation();\n }\n\n /** @ignore */\n get smallSize(): boolean {\n return this.size === 'xs';\n }\n}\n","import { Directive, Input, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AbstractInputComponent } from './abstract.input.component';\nimport { GENERIC_COLLECTION, ObjectHelper } from '@ascentgl/ads-utils';\n\nexport type DropdownComponentOption = string | number | GENERIC_COLLECTION | null | boolean;\n\nexport type DropdownComponentOptions =\n | DropdownComponentOption[]\n | GENERIC_COLLECTION<DropdownComponentOption>\n | Map<DropdownComponentOption, DropdownComponentOption>;\n\nexport type DropdownComponentDisplayedOptions = Map<DropdownComponentOption, string>;\n\n@Directive()\nexport abstract class AbstractDropdownComponent extends AbstractInputComponent implements OnDestroy {\n /** If options contain objects, provide object property name that will be used as display value in dropdown */\n @Input() displayValueKey?: string;\n\n /** Enable/disable options sorting */\n @Input() sortOptions = true;\n\n /** Set to true if you want dropdown items to fit content rather than dropdown width */\n @Input() fitContent = false;\n\n /** @ignore */\n public displayedOptions: DropdownComponentDisplayedOptions = new Map();\n\n /** @ignore */\n protected controlSubscription?: Subscription;\n\n /** @ignore */\n protected readonly genericDisplayedValue: string = '-UNSET-';\n\n /** @ignore */\n protected readonly noDisplayedValueWarning: string = 'No display value is set for select box option';\n\n /** @ignore */\n ngOnDestroy(): void {\n this.unsubscribeFromControl();\n }\n\n /** @ignore */\n applySorting = (\n a: { key: DropdownComponentOption; value: string },\n b: {\n key: DropdownComponentOption;\n value: string;\n },\n ): number => (this.sortOptions ? a.value.localeCompare(b.value) : 0);\n\n /** @ignore */\n protected processOptions(options?: DropdownComponentOptions): void {\n this.displayedOptions = new Map();\n\n if (!options) {\n return;\n }\n\n /**\n * if options is an array - use option as key and extract displayed value from option;\n * if options is a map - use key as key and extract displayed value from option;\n * if options is an object - use object keys as keys and extract displayed value from value\n */\n if (options instanceof Array) {\n options.forEach((option) => this.displayedOptions.set(option, this.getDisplayedValue(option)));\n } else if (options instanceof Map) {\n options.forEach((option, key) => this.displayedOptions.set(key, this.getDisplayedValue(option)));\n } else {\n for (const key in options) {\n this.displayedOptions.set(key, this.getDisplayedValue(options[key]));\n }\n }\n }\n\n /** @ignore */\n protected unsubscribeFromControl() {\n this.controlSubscription?.unsubscribe();\n }\n\n /** @ignore */\n protected getDisplayedValue(\n option: DropdownComponentOption,\n displayValueKey: string | undefined = this.displayValueKey,\n originalOption?: DropdownComponentOption,\n ): string {\n if (!originalOption) {\n originalOption = option;\n }\n\n if (option === null || option === undefined) {\n return '';\n } else if (typeof option == 'string') {\n return option;\n } else if (typeof option == 'number' || typeof option == 'boolean') {\n return option.toString();\n } else if (displayValueKey) {\n /**\n * break displayValueKey into parts to be able to drill down the option properties and sub properties\n */\n const parts = displayValueKey.split('.');\n\n /**\n * extract first part of displayValueKey\n */\n const firstPart = parts.shift() ?? '';\n\n /**\n * if we still have parts and option property is not an object - display generic value\n * (we won't be able to drill down anymore)\n */\n if (parts.length && !ObjectHelper.isObject(option[firstPart])) {\n return this.getGenericDisplayedValue(originalOption);\n }\n\n /**\n * extract displayedValue from the next level of option, if possible\n */\n return this.getDisplayedValue(option[firstPart], parts.join('.'), originalOption);\n } else {\n return this.getGenericDisplayedValue(originalOption);\n }\n }\n\n /** @ignore */\n protected getGenericDisplayedValue(option: DropdownComponentOption): string {\n console.warn(this.noDisplayedValueWarning, option);\n return this.genericDisplayedValue;\n }\n}\n","import { Component, input } from '@angular/core';\nimport { AdsIconModule, AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconInformation } from '@ascentgl/ads-icons/icons';\nimport { MatTooltip } from '@angular/material/tooltip';\n\n@Component({\n selector: 'ads-input-tooltip',\n template: `<ads-icon\n [matTooltip]=\"tooltip()\"\n [matTooltipPosition]=\"'above'\"\n [name]=\"'information'\"\n [size]=\"smallSize() ? 'xxs' : 'sm'\"\n [theme]=\"'iconPrimary'\"\n [style.top]=\"iconPosition\"\n />`,\n styles: `\n ads-icon {\n position: relative;\n top: 12px;\n }\n `,\n standalone: true,\n imports: [AdsIconModule, MatTooltip],\n})\nexport class AdsInputTooltipComponent {\n tooltip = input.required<string>();\n\n smallSize = input<boolean>(false);\n\n constructor(private registry: AdsIconRegistry) {\n this.registry.register([adsIconInformation]);\n }\n\n get iconPosition(): string {\n return this.smallSize() ? '3px' : '12px';\n }\n}\n","import { Component, input } from '@angular/core';\nimport { MatError } from '@angular/material/form-field';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n\n@Component({\n selector: 'ads-error',\n templateUrl: './error.component.html',\n styleUrls: ['./error.component.scss'],\n standalone: true,\n imports: [MatError, AdsIconModule],\n animations: [\n trigger('fadeInOut', [\n state('in', style({ opacity: 1, transform: 'translateX(0)' })),\n transition('void => *', [style({ opacity: 0, transform: 'translateY(-30%)' }), animate('300ms ease-in')]),\n ]),\n ],\n})\nexport class AdsErrorComponent {\n /** Set text to show error */\n error = input.required<string>();\n}\n","<mat-error class=\"mat-error\" [@fadeInOut]>\n <div class=\"error\">\n <ads-icon [name]=\"'warning_v2'\" [size]=\"'xxs'\" [theme]=\"'warn'\" [stroke]=\"'warn'\" />\n <span [innerHTML]=\"error()\"></span>\n </div>\n</mat-error>\n","import { Component, input, OnInit } from '@angular/core';\nimport { MatHint } from '@angular/material/form-field';\nimport { NgIf } from '@angular/common';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'ads-hint',\n template: `<mat-hint [@fadeInOut]=\"state\" [innerHTML]=\"hint()\" />`,\n styleUrls: ['./hint.component.scss'],\n standalone: true,\n imports: [MatHint, NgIf],\n animations: [\n trigger('fadeInOut', [\n state('off', style({ opacity: 1, transform: 'translateX(0)' })),\n state('on', style({ opacity: 1, transform: 'translateX(0)' })),\n transition('void => on', [style({ opacity: 0, transform: 'translateY(-30%)' }), animate('300ms linear')]),\n ]),\n ],\n})\nexport class AdsHintComponent implements OnInit {\n control = input.required<FormControl>();\n hint = input.required<string>();\n\n state = 'off';\n\n ngOnInit(): void {\n if (this.control().touched) {\n this.state = 'on';\n }\n }\n}\n","import { Component, input } from '@angular/core';\nimport { MatError } from '@angular/material/form-field';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n\n@Component({\n selector: 'ads-success',\n templateUrl: './success.component.html',\n styleUrls: ['./success.component.scss'],\n standalone: true,\n imports: [MatError, AdsIconModule],\n animations: [\n trigger('fadeInOut', [\n state('in', style({ opacity: 1, transform: 'translateX(0)' })),\n transition('void => *', [style({ opacity: 0, transform: 'translateY(-30%)' }), animate('300ms ease-in')]),\n ]),\n ],\n})\nexport class AdsSuccessComponent {\n /** Set text to show success */\n success = input.required<string>();\n}\n","<div [@fadeInOut] class=\"container\">\n <div class=\"success\">\n <ads-icon [name]=\"'check_circle_filled'\" [size]=\"'xxs'\" [theme]=\"'success'\" [stroke]=\"'white'\" />\n <span [innerHTML]=\"success()\"></span>\n </div>\n</div>\n","import { Component, Input, OnChanges, SimpleChange } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport { AbstractBaseComponent } from '../../abstracts/abstract.base.component';\n\n@Component({\n selector: 'ads-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n})\nexport class AdsCheckboxComponent extends AbstractBaseComponent implements OnChanges {\n /** Set to \"true\" to make the checkbox indeterminate */\n @Input() indeterminate = false;\n\n @Input() width = 'fit-content';\n\n /** @ignore */\n ngOnChanges(changes: { required: SimpleChange; immediateValidation: SimpleChange }): void {\n if (changes.required) {\n if (this.required) {\n this.valueControl.addValidators(Validators.required);\n } else {\n this.valueControl.removeValidators(Validators.required);\n }\n }\n }\n\n /** @ignore */\n toggleCheck(): void {\n if (this.valueControl.disabled) return;\n\n if (this.indeterminate) {\n this.indeterminate = false;\n }\n this.valueControl.setValue(!this.valueControl.value);\n }\n}\n","<div [ngStyle]=\"{ width: width }\">\n <div class=\"ads-checkbox\" (click)=\"toggleCheck()\" [ngClass]=\"{ disabled: valueControl.disabled }\">\n <div class=\"checkbox-ripple\">\n <div class=\"checkbox-container\">\n @if (valueControl.value && !indeterminate) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"14\"\n height=\"12\"\n viewBox=\"0 0 14 12\"\n fill=\"none\"\n class=\"check-icon\"\n >\n <path d=\"M2 6L5.75 10.5L12 1.5\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n }\n\n @if (indeterminate) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"4\"\n viewBox=\"0 0 12 4\"\n fill=\"none\"\n class=\"indeterminate-icon\"\n >\n <path\n d=\"M11.5385 0.5H0.461538C0.206638 0.5 0 0.723858 0 1V3C0 3.27614 0.206638 3.5 0.461538 3.5H11.5385C11.7934 3.5 12 3.27614 12 3V1C12 0.723858 11.7934 0.5 11.5385 0.5Z\"\n />\n </svg>\n }\n </div>\n </div>\n @if (label) {\n <span class=\"checkbox-label\">{{ label }}</span>\n }\n </div>\n\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n","import { Component, Input, OnChanges, SimpleChange, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { GENERIC_COLLECTION, ObjectHelper } from '@ascentgl/ads-utils';\nimport {\n AbstractDropdownComponent,\n DropdownComponentOption,\n DropdownComponentOptions,\n} from '../../abstracts/abstract.dropdown.component';\nimport { MatSelect } from '@angular/material/select';\nimport { MatOption } from '@angular/material/core';\nimport { adsIconChevronDown, adsIconCross, adsIconWarning, adsIconWarningV2 } from '@ascentgl/ads-icons/icons';\nimport { Colors } from '../../../general/color-palette/colors.enums';\n\n@Component({\n selector: 'ads-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['../../input/input.component.scss', './dropdown.component.scss'],\n})\nexport class AdsDropdownComponent extends AbstractDropdownComponent implements OnChanges {\n /** Provide function that will allow to calculate option display value */\n @Input() displayValueFormatter?: ((option: DropdownComponentOption) => string) | undefined;\n\n /** Set dropdown mode \"normal\" or \"pill\" */\n @Input() mode: 'normal' | 'pill' = 'normal';\n\n /** Set to true to add empty value to the dropdown */\n @Input() hasEmptyValue = false;\n\n /** Set to true if you want to show a checkmark near selected option */\n @Input() checkSelected = true;\n\n /** Contains dropdown options */\n @Input() options?: DropdownComponentOptions;\n\n /** @ignore */\n @ViewChild('panel') panel?: MatSelect;\n\n /** @ignore */\n readonly isMultiselect: boolean = false;\n\n /** @ignore */\n readonly showChips: boolean = false;\n\n /** @ignore */\n displayedOptionsArray: DropdownComponentOption[] = [];\n\n /** @ignore */\n protected readonly Colors = Colors;\n\n constructor() {\n super();\n this.registry.register([adsIconCross, adsIconChevronDown, adsIconWarning, adsIconWarningV2]);\n }\n\n /** @ignore */\n ngOnChanges(changes: { options: SimpleChange; immediateValidation: SimpleChange }): void {\n if (changes.options) {\n this.processOptions();\n this.mapControlValue();\n }\n }\n\n onOptionRemoved(option: DropdownComponentOption) {\n const copy = [...this.valueControl.value];\n const index = copy.indexOf(option);\n\n if (index > -1) {\n copy.splice(index, 1);\n this.valueControl.setValue(copy);\n }\n }\n\n /** @ignore */\n onOpened() {\n const selected = this.panel?.selected;\n\n if (selected instanceof MatOption) {\n (<GENERIC_COLLECTION>selected)._element.nativeElement?.scrollIntoView({ block: 'center' });\n }\n }\n\n /** @ignore */\n protected processOptions(): void {\n this.displayedOptionsArray = [];\n /**\n * turn DropdownComponentOptions into DropdownComponentDisplayedOptions\n */\n super.processOptions(this.options);\n\n this.displayedOptionsArray = Array.from(this.displayedOptions.keys()).sort(this.applyArraySorting);\n\n this.setControlValueSubscription();\n }\n\n /** @ignore */\n protected setControlValueSubscription(): void {\n /**\n * if the first option key is an object - subscribe to control\n * to make sure it's value is always a valid object\n */\n if (ObjectHelper.isObject(this.displayedOptions.keys().next().value)) {\n this.subscribeToControl();\n } else {\n this.unsubscribeFromControl();\n }\n }\n\n /** @ignore */\n /**\n * NOTE: this method is needed because if control value is an object, it MUST reference the same\n * object as corresponding dropdown option, thus here we replace dropdown option with control value if needed\n */\n protected mapControlValue(control: FormControl = this.valueControl): void {\n this.replaceDisplayedOptionWithControlValue(control.value);\n }\n\n /** @ignore */\n protected subscribeToControl(control: FormControl = this.valueControl): void {\n this.unsubscribeFromControl();\n\n this.controlSubscription = control?.valueChanges.subscribe(() => {\n this.mapControlValue(control);\n });\n }\n\n /** @ignore */\n protected replaceDisplayedOptionWithControlValue(controlValue: DropdownComponentOption): void {\n /**\n * if control value is not an object - we don't need to continue\n */\n if (!ObjectHelper.isObject(controlValue)) return;\n\n /**\n * if displayed options already contain control value - we don't need to continue\n */\n if (this.displayedOptions.get(controlValue)) return;\n\n /**\n * loop through displayed options\n */\n for (const [key, value] of this.displayedOptions) {\n /**\n * if displayed option key is an object, and it is equal to control value - we need to replace\n * displayed option key with control value to ensure that objects can be matched\n * NOTE in order to object1 === object2 it must be THE SAME object\n */\n if (\n ObjectHelper.isObject(key) &&\n ObjectHelper.deepEqual(<GENERIC_COLLECTION>controlValue, <GENERIC_COLLECTION>key)\n ) {\n /**\n * delete existing entry from displayedOptions\n */\n this.displayedOptions.delete(key);\n\n /**\n * add new entry to map\n */\n this.displayedOptions.set(controlValue, value);\n\n return;\n }\n }\n }\n\n /** @ignore */\n protected getGenericDisplayedValue(option: DropdownComponentOption): string {\n if (!this.displayValueFormatter) {\n console.warn(this.noDisplayedValueWarning, option);\n }\n\n return this.genericDisplayedValue;\n }\n\n /** @ignore */\n private applyArraySorting = (a: DropdownComponentOption, b: DropdownComponentOption): number => {\n if (this.sortOptions) {\n const val1 = this.displayedOptions.get(a);\n const val2 = this.displayedOptions.get(b);\n\n if (val1 && val2) {\n return val1.localeCompare(val2);\n }\n }\n\n return 0;\n };\n\n /** @ignore */\n chipName(option: MatOption): string {\n return (this.displayValueFormatter ? this.displayValueFormatter(option) : this.displayedOptions.get(option)) || '';\n }\n\n /** @ignore */\n toggleOption(option: DropdownComponentOption) {\n const currentValue = this.valueControl.value || [];\n const index = currentValue.indexOf(option);\n\n if (index === -1) {\n currentValue.push(option);\n } else {\n currentValue.splice(index, 1);\n }\n\n this.valueControl.setValue([...currentValue]); // Ensure the form control is updated\n }\n\n /** @ignore */\n onCheckboxChange(option: DropdownComponentOption) {\n this.toggleOption(option); // Update the option on checkbox change\n }\n}\n","<div [ngStyle]=\"{ minWidth: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"'ads-dropdown-panel' + (fitContent ? ' fit-content' : '')\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option [value]=\"option\" [ngClass]=\"{ checkbox: isMultiselect && checkSelected }\">\n @if (isMultiselect && checkSelected) {\n <ads-checkbox\n width=\"100%\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n />\n } @else {\n <span\n [innerHTML]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n}\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { AdsCheckboxComponent } from './checkbox.component';\nimport { CommonModule } from '@angular/common';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsInputTooltipComponent } from '../../common/input.tooltip.component';\nimport { AdsSuccessComponent } from '../../common/success/success.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n AdsHintComponent,\n AdsErrorComponent,\n AdsInputTooltipComponent,\n AdsSuccessComponent,\n ],\n declarations: [AdsCheckboxComponent],\n exports: [AdsCheckboxComponent],\n})\nexport class AdsCheckboxModule {}\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { AdsDropdownComponent } from './dropdown.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { MatInputModule } from '@angular/material/input';\nimport { CommonModule } from '@angular/common';\nimport { MatIconButton } from '@angular/material/button';\nimport { AdsInputTooltipComponent } from '../../common/input.tooltip.component';\nimport { MatIcon } from '@angular/material/icon';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\nimport { AdsSuccessComponent } from '../../common/success/success.component';\nimport { AdsTagModule } from '../../../tags/tag';\nimport { AdsCheckboxModule } from '../../selection-fields/checkbox';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatSelectModule,\n AdsIconModule,\n MatInputModule,\n MatIconButton,\n AdsInputTooltipComponent,\n MatIcon,\n AdsErrorComponent,\n AdsHintComponent,\n AdsSuccessComponent,\n AdsTagModule,\n AdsCheckboxModule,\n ],\n declarations: [AdsDropdownComponent],\n exports: [AdsDropdownComponent],\n})\nexport class AdsDropdownModule {}\n","import { Component, Input } from '@angular/core';\nimport { AdsDropdownComponent } from '../dropdown';\nimport { FormControl } from '@angular/forms';\nimport { DropdownComponentOption } from '../../abstracts/abstract.dropdown.component';\n\n@Component({\n selector: 'ads-multi-select-dropdown',\n templateUrl: '../dropdown/dropdown.component.html',\n styleUrls: [\n '../../input/input.component.scss',\n '../dropdown/dropdown.component.scss',\n './multi-select-dropdown.component.scss',\n ],\n})\nexport class AdsMultiSelectDropdownComponent extends AdsDropdownComponent {\n /** @ignore */\n public hasEmptyValue = false;\n\n /** @ignore */\n public declare displayValueFormatter?: ((option: DropdownComponentOption) => string) | undefined;\n\n /** @ignore */\n public readonly isMultiselect: boolean = true;\n\n /** if set to true selected values will be shown as chips */\n @Input() showChips = true;\n\n /** @ignore */\n protected setControlValueSubscription(): void {\n /**\n * We always subscribe to form control value to make sure it is an array\n */\n this.subscribeToControl();\n }\n\n /** @ignore */\n get canClear() {\n return this.showClearButton && this.valueControl.value.length;\n }\n\n /** @ignore */\n /**\n * NOTE: this method is needed because if control value is an object, it MUST reference the same\n * object as corresponding dropdown option, thus here we replace dropdown option with control value if needed\n */\n protected mapControlValue(control: FormControl = this.valueControl): void {\n /**\n * make sure control value is array\n */\n if (!(control.value instanceof Array)) {\n control.setValue([]);\n\n return;\n }\n\n /**\n * loop through control values and make sure they exist in options\n */\n control.value.forEach((value) => {\n this.replaceDisplayedOptionWithControlValue(value);\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { MatInputModule } from '@angular/material/input';\nimport { CommonModule } from '@angular/common';\nimport { AdsMultiSelectDropdownComponent } from './multi-select-dropdown.component';\nimport { AdsInputTooltipComponent } from '../../common/input.tooltip.component';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { AdsSuccessComponent } from '../../common/success/success.component';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\nimport { AdsTagModule } from '../../../tags/tag';\nimport { AdsCheckboxModule } from '../../selection-fields/checkbox';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatSelectModule,\n AdsIconModule,\n MatInputModule,\n AdsInputTooltipComponent,\n MatIconButton,\n MatIcon,\n AdsSuccessComponent,\n AdsErrorComponent,\n AdsHintComponent,\n AdsTagModule,\n AdsCheckboxModule,\n ],\n declarations: [AdsMultiSelectDropdownComponent],\n exports: [AdsMultiSelectDropdownComponent],\n})\nexport class AdsMultiSelectDropdownModule {}\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { AbstractInputComponent } from '../abstracts/abstract.input.component';\nimport { GENERIC_COLLECTION } from '@ascentgl/ads-utils';\n\n@Component({\n selector: 'ads-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss', '../common/common.input.component.scss'],\n})\nexport class AdsInputComponent extends AbstractInputComponent implements OnInit {\n /** Maximum amount of characters in the input field */\n @Input() maxlength = 255;\n\n /** Possible input type (as per HTML documentation). NOTE: not all types are allowed */\n @Input() type: 'text' | 'number' | 'email' | 'password' | 'url' | 'pattern' | 'tel' = 'text';\n\n /** Provide regular expression pattern if input type is set to \"pattern\" */\n @Input() pattern: string | RegExp = '';\n\n /** Provide \"default\" value that will be used when control value is cleared */\n @Input() defaultValue?: unknown;\n\n /** mark input field as readonly */\n @Input() readonly = false;\n\n /** mark input field as readonly */\n @Input() isPasswordField = false;\n\n /** @ignore */\n @ViewChild('input') input?: ElementRef;\n\n /** @ignore */\n hidePassword = true;\n\n /** @ignore */\n protected readonly defaultErrorMessages: GENERIC_COLLECTION<string> = {\n pattern: 'Provided value does not match pattern',\n };\n\n ngOnInit(): void {\n /**\n * if default value is provided - emit it when input is cleared\n */\n if (this.defaultValue !== undefined) {\n this.valueControl?.valueChanges.subscribe((value) => {\n if (!value && value !== this.defaultValue) {\n this.valueControl.setValue(this.defaultValue);\n }\n });\n }\n }\n\n /** @ignore */\n showHidePassword(): void {\n this.hidePassword = !this.hidePassword;\n }\n}\n","<div [ngStyle]=\"{ minWidth: width }\">\n <mat-form-field\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': canClear,\n readonly: readonly,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <input\n #input\n matInput\n [maxlength]=\"maxlength\"\n [readonly]=\"readonly\"\n [pattern]=\"pattern\"\n [id]=\"id\"\n [type]=\"isPasswordField ? (hidePassword ? 'password' : 'text') : type\"\n [formControl]=\"valueControl\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n />\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon class=\"cross-icon\" name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" />\n </button>\n }\n\n @if (isPasswordField && !readonly) {\n <button type=\"button\" mat-icon-button matTextSuffix (click)=\"showHidePassword()\" class=\"action-icon\">\n <ads-icon\n class=\"visibility-eye\"\n [name]=\"hidePassword ? 'visibility_eye_none' : 'visibility_eye'\"\n [size]=\"smallSize ? 'xxs' : 'sm'\"\n theme=\"white\"\n stroke=\"iconPrimary\"\n />\n </button>\n }\n </mat-form-field>\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n}\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsInputComponent } from './input.component';\nimport { CommonModule } from '@angular/common';\nimport { AdsInputTooltipComponent } from '../common/input.tooltip.component';\nimport { MatIconButton } from '@angular/material/button';\nimport { AdsSuccessComponent } from '../common/success/success.component';\nimport { AdsErrorComponent } from '../common/error/error.component';\nimport { AdsHintComponent } from '../common/hint/hint.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatInputModule,\n ReactiveFormsModule,\n AdsIconModule,\n AdsInputTooltipComponent,\n MatIconButton,\n AdsSuccessComponent,\n AdsErrorComponent,\n AdsHintComponent,\n ],\n declarations: [AdsInputComponent],\n exports: [AdsInputComponent],\n})\nexport class AdsInputModule {}\n","import { Component, Input } from '@angular/core';\nimport { AbstractInputComponent } from '../abstracts/abstract.input.component';\n\n@Component({\n selector: 'ads-textarea',\n templateUrl: './textarea.component.html',\n styleUrls: ['../input/input.component.scss', './textarea.component.scss', '../common/common.input.component.scss'],\n})\nexport class AdsTextareaComponent extends AbstractInputComponent {\n /** Maximum amount of characters in the input field */\n @Input() maxlength = 2000;\n\n /** Maximum number of rows */\n @Input() rows = 5;\n\n /** Set to false to disallow resize */\n @Input() canResize = true;\n}\n","<div [ngStyle]=\"{ minWidth: width }\">\n <mat-form-field\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': canClear && !showExclamation,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n <mat-label *ngIf=\"label || required\">{{ label }}</mat-label>\n <textarea\n matInput\n [rows]=\"rows\"\n [maxlength]=\"maxlength\"\n [id]=\"id\"\n [formControl]=\"valueControl\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [ngStyle]=\"{ resize: canResize ? null : 'none' }\"\n >\n </textarea>\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\">\n <ads-icon name=\"cross\" size=\"xxs\" [theme]=\"'iconPrimary'\" />\n </button>\n }\n </mat-form-field>\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n</div>\n\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" />\n}\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { CommonModule } from '@angular/common';\nimport { MatIconButton } from '@angular/material/button';\nimport { AdsInputTooltipComponent } from '../common/input.tooltip.component';\nimport { AdsSuccessComponent } from '../common/success/success.component';\nimport { AdsErrorComponent } from '../common/error/error.component';\nimport { AdsHintComponent } from '../common/hint/hint.component';\nimport { AdsTextareaComponent } from './textarea.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatInputModule,\n ReactiveFormsModule,\n AdsIconModule,\n MatIconButton,\n AdsInputTooltipComponent,\n AdsSuccessComponent,\n AdsErrorComponent,\n AdsHintComponent,\n ],\n declarations: [AdsTextareaComponent],\n exports: [AdsTextareaComponent],\n})\nexport class AdsTextareaModule {}\n","import { Component, Input, OnChanges, SimpleChange, ViewChild } from '@angular/core';\nimport { AdsDropdownComponent } from '../dropdown';\nimport { FormControl } from '@angular/forms';\nimport { DropdownComponentOptions } from '../../abstracts/abstract.dropdown.component';\nimport { AbstractInputComponent } from '../../abstracts/abstract.input.component';\nimport { asapScheduler } from 'rxjs';\n\n@Component({\n selector: 'ads-input-dropdown',\n templateUrl: './input-dropdown.component.html',\n styleUrls: ['./input-dropdown.component.scss'],\n})\nexport class AdsInputDropdownComponent extends AbstractInputComponent implements OnChanges {\n /** Maximum amount of characters in the input field */\n @Input() maxlength = 255;\n\n /** Possible input type (as per HTML documentation). NOTE: not all types are allowed */\n @Input() type: 'text' | 'number' | 'email' | 'password' | 'url' | 'pattern' = 'text';\n\n /** Provide regular expression pattern if input type is set to \"pattern\" */\n @Input() pattern: string | RegExp = '';\n\n /** Dropdown control, associated with input field */\n @Input() dropdownControl: FormControl = new FormControl();\n\n /** Optional \"id\" attribute for dropdown field */\n @Input() dropdownId = '';\n\n /** Optional dropdown control field label */\n @Input() dropdownLabel?: string;\n\n /** Empty dropdown field placeholder */\n @Input() dropdownPlaceholder = '';\n\n /** Input field width. Must include units of measure: px, %, em, rem, etc. */\n @Input() inputWidth = '70%';\n\n /** Input field width. Must include units of measure: px, %, em, rem, etc. */\n @Input() dropdownWidth = '30%';\n\n /** Is set and dropdown contains only one option - it will be selected automatically. */\n @Input() autoSelectSingleDropdownOption = false;\n\n /** Contains dropdown options */\n @Input() options?: DropdownComponentOptions;\n\n /** If options contain objects, provide object property name that will be used as display value in dropdown */\n @Input() displayValueKey?: string;\n\n /** Set to true to add empty value to the dropdown */\n @Input() hasEmptyValue = true;\n\n /** Set to true if you want dropdown items to fit content rather than dropdown width */\n @Input() fitContent = true;\n\n /** @ignore */\n @ViewChild(AdsDropdownComponent) dropdownComponent?: AdsDropdownComponent;\n\n /** @ignore */\n isSingleOptionSelected = false;\n\n /** @ignore */\n ngOnChanges(changes: { options: SimpleChange; immediateValidation: SimpleChange }): void {\n if (changes.options && this.autoSelectSingleDropdownOption) {\n asapScheduler.schedule(() => {\n if (this.dropdownComponent?.displayedOptions.size === 1) {\n /**\n * get first displayed option\n */\n const first = this.dropdownComponent.displayedOptions.keys().next().value;\n\n /**\n * if control value does not equal the first option already - select the first option\n */\n if (this.dropdownControl.value !== first) {\n this.dropdownControl.setValue(first);\n }\n\n this.isSingleOptionSelected = true;\n } else {\n this.isSingleOptionSelected = false;\n }\n });\n }\n }\n}\n","<div class=\"form-field-wrapper\" [ngStyle]=\"{ width: width }\">\n <div class=\"form-controls-wrapper\">\n <div\n class=\"text-box\"\n [ngClass]=\"{\n invalid: dropdownControl.invalid && dropdownControl.touched,\n 'success-label': canShowSuccess(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: inputWidth }\"\n >\n <ads-input\n [control]=\"valueControl\"\n [maxlength]=\"maxlength\"\n [id]=\"id\"\n [pattern]=\"pattern\"\n [label]=\"label\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [errorMessages]=\"errorMessages\"\n [showExclamationOnError]=\"showExclamationOnError\"\n [showClearButton]=\"showClearButton\"\n [immediateValidation]=\"immediateValidation\"\n [showFooter]=\"false\"\n [size]=\"size\"\n [successMessage]=\"successMessage\"\n />\n </div>\n <div\n class=\"select-box\"\n [ngClass]=\"{ invalid: valueControl.invalid && valueControl.touched }\"\n [ngStyle]=\"{ width: dropdownWidth }\"\n >\n @if (isSingleOptionSelected) {\n <ads-input\n [control]=\"dropdownControl\"\n [id]=\"dropdownId\"\n [readonly]=\"true\"\n [label]=\"dropdownLabel\"\n [placeholder]=\"dropdownPlaceholder\"\n [immediateValidation]=\"immediateValidation\"\n [showFooter]=\"false\"\n [size]=\"size\"\n [successMessage]=\"successMessage\"\n />\n } @else {\n <ads-dropdown\n [hasEmptyValue]=\"hasEmptyValue\"\n [control]=\"dropdownControl\"\n [id]=\"dropdownId\"\n [options]=\"options\"\n [label]=\"dropdownLabel\"\n [placeholder]=\"dropdownPlaceholder\"\n [immediateValidation]=\"immediateValidation\"\n [displayValueKey]=\"displayValueKey\"\n [fitContent]=\"fitContent\"\n [showFooter]=\"false\"\n [checkSelected]=\"false\"\n [size]=\"size\"\n [successMessage]=\"successMessage\"\n />\n }\n </div>\n </div>\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n</div>\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsInputDropdownComponent } from './input-dropdown.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { AdsInputModule } from '../../input';\nimport { AdsDropdownModule } from '../dropdown';\nimport { AdsInputTooltipComponent } from '../../common/input.tooltip.component';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\nimport { AdsSuccessComponent } from '../../common/success/success.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatDividerModule,\n MatFormFieldModule,\n MatSelectModule,\n MatInputModule,\n ReactiveFormsModule,\n AdsIconModule,\n AdsInputModule,\n AdsDropdownModule,\n AdsInputTooltipComponent,\n AdsErrorComponent,\n AdsHintComponent,\n AdsSuccessComponent,\n ],\n declarations: [AdsInputDropdownComponent],\n exports: [AdsInputDropdownComponent],\n})\nexport class AdsInputDropdownModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { SearchDropdownDisplayControlValue } from './search-dropdown.component.types';\n\n@Pipe({\n name: 'adsSearchDropdownHighlighter',\n})\nexport class AdsSearchDropdownHighlighterPipe implements PipeTransform {\n transform(optionValue: string, filter: SearchDropdownDisplayControlValue): string {\n if (filter) {\n const value = typeof filter == 'string' ? filter : filter.value;\n\n const re = new RegExp(value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'igm');\n\n return optionValue.replace(re, '<span class=\"highlighted-text\">$&</span>');\n }\n\n return optionValue;\n }\n}\n\n@NgModule({\n declarations: [AdsSearchDropdownHighlighterPipe],\n exports: [AdsSearchDropdownHighlighterPipe],\n})\nexport class AdsSearchDropdownHighlighterPipeModule {}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n contentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n signal,\n SimpleChange,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { debounce, map, tap } from 'rxjs/operators';\nimport { AbstractControl, FormControl, Validators } from '@angular/forms';\nimport { MatAutocomplete, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport {\n AbstractDropdownComponent,\n DropdownComponentDisplayedOptions,\n DropdownComponentOption,\n DropdownComponentOptions,\n} from '../../abstracts/abstract.dropdown.component';\nimport { Observable, of, Subscription, timer } from 'rxjs';\nimport { adsIconChevronDown, adsIconSearch } from '@ascentgl/ads-icons/icons';\nimport { DomHelper, GENERIC_COLLECTION } from '@ascentgl/ads-utils';\nimport {\n SearchDropdownComponentOptions,\n SearchDropdownDisplayControlValue,\n SearchDropdownStaticOption,\n} from './search-dropdown.component.types';\nimport { MatOption } from '@angular/material/core';\nimport { TEMPLATE_TYPE } from '../../common/dropdown-option-template.directive';\nimport { SafeHtml } from '@angular/platform-browser';\n\ntype CustomMatOption = (MatOption & { modified?: boolean }) | undefined | null;\n\n@Component({\n selector: 'ads-search-dropdown',\n templateUrl: './search-dropdown.component.html',\n styleUrls: [\n '../../input/input.component.scss',\n '../../dropdowns/dropdown/dropdown.component.scss',\n './search-dropdown.component.scss',\n ],\n})\nexport class AdsSearchDropdownComponent\n extends AbstractDropdownComponent\n implements OnChanges, OnInit, AfterViewInit, OnDestroy\n{\n /** @ignore */\n optionRef = contentChild.required<TemplateRef<TEMPLATE_TYPE>>(TemplateRef<TEMPLATE_TYPE>);\n\n /** Maximum amount of characters in the input field */\n @Input() maxlength = 255;\n\n /** Set to additional paneClass if required*/\n @Input() panelClass = '';\n\n /** Contains dropdown options */\n @Input() options?: Observable<SearchDropdownComponentOptions>;\n\n /** If \"true\", component will not try to load additional options */\n @Input() staticOptions = false;\n\n /** If \"true\" and \"staticOptions\" is also true additional filter will be applied to remove options that do not match input value */\n @Input() filterOptions = true;\n\n /** If \"true\", emitSearchValueInput will emit empty values too */\n @Input() emitEmptyValues = false;\n\n /** If \"true\", first time focusing on input will start loading suggestions if input has a value */\n @Input() loadSuggestionOnInit = false;\n\n /** Provide configuration for default option that can be displayed if no results were found */\n @Input() noDataOption: SearchDropdownStaticOption | undefined;\n\n /** Provide configuration for default option that can be displayed if no intended results were found */\n @Input() moreDataOption: SearchDropdownStaticOption | undefined;\n\n /** Provide configuration for default option that can be displayed if needed */\n @Input() staticDataOption: SearchDropdownStaticOption | undefined;\n\n /** Provide event that is fired when enter key is down while input value is being set */\n @Input() onEnterKeyDown: ((currentInputValue: string) => void) | undefined;\n\n /** Provide callback that will vbe executed when user clicks on magnifying glass icon */\n @Input() searchIconClickCallback: ((currentInputValue: string) => void) | undefined;\n\n /** Provide callback that will vbe executed when user clicks on magnifying glass icon */\n @Input() displayValueFormatter: ((value: string, option: DropdownComponentOption) => string | SafeHtml) | undefined;\n\n /** If \"true\", will read option template provided via \"ng-template dropdown-option\" selector */\n @Input() useOptionTemplate = false;\n\n /** set minimum amount of characters to start search */\n @Input() minValueLength = 1;\n\n /** Set to \"true\" to prevent click even propagation */\n @Input() preventClick = false;\n\n /** @ignore */\n @Input() closePanelEnabled = true;\n\n /**\n * NOTE: INPUT PARAMS BELOW ARE OVERRIDDEN BECAUSE FOR SOME UNKNOWN REASON STORYBOOK WON'T SHOW THEM FROM PARENT CLASS\n */\n\n /** Form control, associated with input field */\n @Input() set control(control: AbstractControl | null) {\n super.control = control;\n }\n\n /** Object, containing key=>value pairs for errors and their translated messages */\n @Input() errorMessages: GENERIC_COLLECTION<string> = {};\n\n /** Hint message, displayed under the control */\n @Input() declare hint?: string;\n\n /** Optional \"id\" attribute for input field */\n @Input() id = '';\n\n /** Optional control field label */\n @Input() declare label?: string;\n\n /** Empty input field placeholder */\n @Input() placeholder = '';\n\n /**\n * END OF OVERRIDDEN PARAMETERS\n */\n\n /** Emits currently input search value. Use it to react and generate fresh options list, based on the value */\n @Output() emitSearchValueInput: EventEmitter<string> = new EventEmitter();\n\n /** @ignore */\n @ViewChild(MatAutocompleteTrigger) trigger?: MatAutocompleteTrigger;\n\n /** @ignore */\n @ViewChild('input') input?: ElementRef;\n\n /** @ignore */\n @ViewChild('moreDataMatOption') moreDataMatOption?: MatOption;\n\n /** @ignore */\n @ViewChild('noDataMatOption') noDataMatOption?: MatOption;\n\n /** @ignore */\n @ViewChild('staticDataMatOption') staticDataMatOption?: MatOption;\n\n /** @ignore */\n @ViewChild('auto') auto?: MatAutocomplete;\n\n /** @ignore */\n loading = signal<boolean>(false);\n\n /** @ignore */\n private isInternalValueSet = false;\n\n /** @ignore */\n private displayedControlSubscription?: Subscription;\n\n /** @ignore */\n private valueControlSubscription?: Subscription;\n\n /** @ignore */\n private optionsSubscription?: Subscription;\n\n /** @ignore */\n private valueControlStatusSubscription?: Subscription;\n\n /** @ignore */\n private ignoreOnBlur = false;\n\n /** @ignore */\n private initialSuggestionsChecked = false;\n\n /** @ignore */\n private unsubscribeFromScroll?: () => void;\n\n /** @ignore */\n private previousControlValue?: string;\n\n /** @ignore */\n private allOptions: DropdownComponentDisplayedOptions = new Map();\n\n constructor(\n private cdr: ChangeDetectorRef,\n private renderer: Renderer2,\n private ref: ElementRef,\n ) {\n super();\n this.registry.register([adsIconSearch, adsIconChevronDown]);\n }\n\n /** @ignore */\n ngOnChanges(changes: { options: SimpleChange; immediateValidation: SimpleChange }): void {\n if (changes.options) {\n this.processOptions();\n }\n super.ngOnChanges(changes);\n }\n\n /** @ignore */\n ngOnInit(): void {\n this.setValidators();\n this.setupSubscriptions();\n\n this.cdr.detectChanges();\n }\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this.overrideKeydownHandler();\n }\n\n /** @ignore */\n ngOnDestroy() {\n if (this.unsubscribeFromScroll) this.unsubscribeFromScroll();\n this.unsubscribeFromOptions();\n this.unsubscribeFromDisplayedControl();\n this.valueControlSubscription?.unsubscribe();\n this.valueControlStatusSubscription?.unsubscribe();\n }\n\n /** @ignore */\n get canSearch(): boolean {\n return !this.loading() && !this.displayControl.disabled && !!this.searchIconClickCallback;\n }\n\n /** @ignore */\n get canUseMoreDataOption(): boolean {\n return !!this.moreDataOption && !!this.displayedOptions.size && !this.loading();\n }\n\n /** @ignore */\n get canUseNoDataOption(): boolean {\n return (\n !!this.noDataOption &&\n !this.displayedOptions.size &&\n !this.loading() &&\n !!this.displayControl.value &&\n this.displayControl.dirty\n );\n }\n\n /** @ignore */\n get canUseStaticOption(): boolean {\n return !!this.staticDataOption && !this.loading();\n }\n\n /** @ignore */\n get showDropdownIcon(): boolean {\n return this.staticOptions && (!!this.displayedOptions.size || !!this.allOptions.size);\n }\n\n /** @ignore */\n onSearchIconClick(event: MouseEvent): void {\n event.stopPropagation();\n\n if (this.searchIconClickCallback) {\n this.searchIconClickCallback(this.input?.nativeElement.value);\n }\n }\n\n /** @ignore */\n onKeyDown(eventTarget: EventTarget | null): void {\n if (this.preventClick) {\n return;\n }\n\n if (!(eventTarget instanceof HTMLInputElement)) return;\n\n /**\n * if one of static options was selected when \"Enter\"\n * key was clicked - execute return displayedValue back\n * and execute static option onClick events\n */\n if (this.moreDataMatOption?.selected) {\n eventTarget.value = this.getDisplayedValueAsString();\n\n this.activateStaticOption(this.moreDataOption);\n } else if (this.noDataMatOption?.selected) {\n eventTarget.value = this.getDisplayedValueAsString();\n\n this.activateStaticOption(this.noDataOption);\n } else if (this.staticDataMatOption?.selected) {\n eventTarget.value = this.getDisplayedValueAsString();\n\n this.activateStaticOption(this.staticDataOption);\n } else {\n /**\n * otherwise if displayed value is different from input value - sync them\n * NOTE: this happens when option is selected in dropdown and \"Enter\" key is pressed\n * because \"onInput\" event does not fire in that case\n * if displayed value is the same as input value, and we have onEnterKeyDown callback - execute it\n * NOTE: this happens when value is input directly into input field\n */\n if (this.getDisplayedValueAsString() != eventTarget.value) {\n this.displayControl.setValue(eventTarget.value, { emitEvent: false });\n } else if (this.onEnterKeyDown) {\n this.onEnterKeyDown(eventTarget.value);\n }\n\n this.unselectComponent();\n }\n }\n\n /** @ignore */\n onBlur(): void {\n this.displayControl.markAsTouched();\n this.valueControl.markAsTouched();\n\n if (!this.preventClick) {\n /**\n * if action onBlur is allowed and value is a string - apply it to form control before blurring\n * NOTE: this may happen if value was input into control but\n * no existing options were explicitly selected\n */\n if (!this.ignoreOnBlur && typeof this.displayControl.value == 'string') {\n this.setControlValueFromString(this.displayControl.value);\n }\n\n this.ignoreOnBlur = false;\n }\n\n /**\n * if we are still loading - stop it\n */\n if (this.loading()) {\n this.loading.set(false);\n\n /**\n * unsubscribe from options to prevent their further processing\n */\n this.unsubscribeFromOptions();\n\n /**\n * unsubscribe from display control change to prevent it from sending the data\n */\n this.unsubscribeFromDisplayedControl();\n\n /**\n * resubscribe it again to return to normal workflow\n */\n this.subscribeToDisplayedControlValueChanged();\n\n /**\n * set loadSuggestionOnInit to resume loading when control is focused again\n */\n this.resetInitialState();\n }\n\n if (this.closePanelEnabled && !this.preventClick) this.trigger?.closePanel();\n }\n\n /** @ignore */\n onFocus(): void {\n /**\n * if we have no displayed options,\n * we can load data on initial value,\n * we are not dealing with static options,\n * initial suggestions are not yet loaded,\n * and we have input value or can emit empty values - we can start loading suggestions\n */\n if (\n !this.displayedOptions.size &&\n this.loadSuggestionOnInit &&\n !this.staticOptions &&\n !this.initialSuggestionsChecked &&\n (this.input?.nativeElement.value || this.emitEmptyValues)\n ) {\n this.loading.set(true);\n\n this.unsubscribeFromOptions();\n\n /**\n * if we are loading on init and display control has value - mark it as dirty for consistency\n */\n if (this.loadSuggestionOnInit && this.displayControl.value && this.displayControl.pristine) {\n this.displayControl.markAsDirty();\n }\n\n this.emitSearchValueInput.emit(this.input?.nativeElement.value);\n }\n\n this.initialSuggestionsChecked = true;\n }\n\n /** @ignore */\n onInput(eventTarget: EventTarget | null): void {\n if (eventTarget instanceof HTMLInputElement) {\n const value = eventTarget.value.trim();\n\n /**\n * if new trimmed value is different from current trimmed value and new trimmed value is either empty or\n * fits min length - use it\n * NOTE: this allows to avoid reacting on empty strings being input\n * also spaces in the end of the string will be ignored until they are followed by a different character\n */\n if (value !== this.getDisplayedValueAsString(false).trim() && (!value || value.length >= this.minValueLength)) {\n this.displayControl.setValue(eventTarget.value);\n }\n }\n }\n\n /** @ignore */\n getDisplayedValueAsString(checkAdditionalFormatting = true): string {\n let value = '';\n\n if (this.displayControl.value) {\n value =\n typeof this.displayControl.value == 'string'\n ? this.displayControl.value\n : (this.displayControl.value.value ?? '');\n }\n\n if (checkAdditionalFormatting && this.mustApplyAdditionalFiltering() && this.previousControlValue !== value) {\n this.previousControlValue = value;\n\n this.displayedOptions = new Map();\n\n this.allOptions.forEach((optionValue, option) => {\n if (optionValue.toLowerCase().includes(value.toLowerCase())) {\n this.displayedOptions.set(option, optionValue);\n }\n });\n }\n\n return value;\n }\n\n /** @ignore */\n reset(): void {\n this.displayedOptions = new Map(this.allOptions);\n }\n\n /** @ignore */\n onStaticOptionMouseDown(event: MouseEvent, option: SearchDropdownStaticOption): void {\n /**\n * only proceed if left mouse button was clicked\n */\n if (event.button !== 0) return;\n\n this.activateStaticOption(option);\n }\n\n /** @ignore */\n onOptionMouseDown(event: MouseEvent, option: CustomMatOption): void {\n /**\n * only proceed if left mouse button was clicked\n */\n if (event.button !== 0) return;\n\n this.modifyOptionClickEvent(option);\n\n if (this.preventClick) return;\n\n /**\n * NOTE: we set displayControl value in mousedown event to override value setting in onClick\n * and avoid UI artifacts connected with it\n */\n this.displayControl.setValue(option?.value);\n }\n\n /** @ignore */\n displayFn = (option?: { key: DropdownComponentOption; value: string }): string => {\n return option ? option.value : '';\n };\n\n /** @ignore */\n resetInitialState(): void {\n this.loadSuggestionOnInit = true;\n this.initialSuggestionsChecked = false;\n }\n\n /** @ignore */\n canShowError(): boolean {\n return !!this.displayControl.errors && (this.displayControl.touched || this.immediateValidation);\n }\n\n /** @ignore */\n protected touchInvalid(control: FormControl): void {\n super.touchInvalid(control);\n super.touchInvalid(this.displayControl);\n }\n\n /** @ignore */\n protected processOptions(): void {\n this.allOptions = new Map();\n\n /**\n * if options are not provided - reset\n */\n if (!this.options) {\n this.loading.set(false);\n this.displayedOptions = new Map();\n return;\n }\n\n /**\n * \"processOptions\" is fired any time options change - thus we need to set loading to true when it happens\n */\n this.loading.set(true);\n\n /**\n * subscribe to options to extract displayedOptions from them\n * NOTE: we do not use displayedOptions as Observable because\n * we may need displayedOptions directly on onKeyDown event\n */\n this.optionsSubscription = this.options.subscribe((options: DropdownComponentOptions) => {\n this.loading.set(false);\n\n /**\n * turn DropdownComponentOptions into DropdownComponentDisplayedOptions\n */\n super.processOptions(options);\n\n this.allOptions = new Map(this.displayedOptions);\n });\n }\n\n /** @ignore */\n protected setupSubscriptions(): void {\n this.controlValueToDisplayedControlValue();\n\n /**\n * subscribe to control value change to synchronize the value when changed externally\n */\n this.valueControlSubscription = this.valueControl.valueChanges.subscribe(() => {\n if (!this.isInternalValueSet) {\n this.controlValueToDisplayedControlValue();\n }\n });\n\n /**\n * sync display control statuses with value control status for proper error display\n */\n this.valueControlStatusSubscription = this.valueControl.statusChanges.subscribe(() => this.syncState());\n\n this.subscribeToDisplayedControlValueChanged();\n\n /**\n * listen to scroll to reposition the dropdown\n */\n this.unsubscribeFromScroll = this.renderer.listen(\n DomHelper.getScrollableParent(this.ref.nativeElement),\n 'scroll',\n () => {\n if (this.trigger?.panelOpen) this.trigger.updatePosition();\n },\n );\n\n this.syncState();\n }\n\n /** @ignore */\n private subscribeToDisplayedControlValueChanged(): void {\n this.displayedControlSubscription = this.displayControl.valueChanges\n .pipe(\n map((value?: SearchDropdownDisplayControlValue) => {\n if (!value) value = '';\n return value;\n }),\n tap((value) => {\n /**\n * mark displayControl as dirty\n * because MatAutocomplete does not do it automatically\n */\n this.displayControl.markAsDirty();\n\n /**\n * unsubscribe from previous options to stop loading them\n */\n this.unsubscribeFromOptions();\n\n /**\n * stop processing if value is not provided\n */\n if (!value) {\n /**\n * clear displayed options if value is not provided\n */\n if (!this.staticOptions) {\n this.displayedOptions = new Map();\n }\n\n this.setControlValue(null);\n\n if (this.loading()) {\n /**\n * set loadSuggestionOnInit to resume loading when control is focused again\n * NOTE: this is required because by the time onBlur happens - loading is false and\n * this method will not be fired from onBlur\n */\n this.resetInitialState();\n }\n } else if (typeof value != 'string') {\n this.setControlValueFromOption(value.key, false);\n }\n this.loading.set(this.canEmitValue(value));\n }),\n debounce((value) => {\n return this.canEmitValue(value) && value ? timer(500) : of({});\n }),\n )\n .subscribe((value: SearchDropdownDisplayControlValue) => {\n if (this.canEmitValue(value)) {\n this.emitSearchValueInput.emit(<string>value);\n }\n });\n }\n\n /** @ignore */\n private unsubscribeFromOptions(): void {\n this.optionsSubscription?.unsubscribe();\n }\n\n private unsubscribeFromDisplayedControl(): void {\n this.displayedControlSubscription?.unsubscribe();\n }\n\n /** @ignore */\n displayFirstError(control: FormControl = this.displayControl): string {\n return super.displayFirstError(control);\n }\n\n /** @ignore */\n clear(event?: MouseEvent): void {\n event?.stopPropagation();\n\n if (event && event.button !== 0) {\n return;\n }\n this.displayControl.setValue(null);\n this.displayControl.markAsTouched();\n\n if (this.closePanelEnabled) this.trigger?.closePanel();\n }\n\n /** @ignore */\n togglePanel(event?: MouseEvent): void {\n event?.stopPropagation();\n if (this.trigger?.panelOpen) {\n if (this.closePanelEnabled) this.trigger?.closePanel();\n } else {\n this.trigger?.openPanel();\n this.input?.nativeElement.focus();\n }\n }\n\n /** @ignore */\n private controlValueToDisplayedControlValue(): void {\n /**\n * extract displayable value as string from valueControl, if it is not empty\n */\n const displayedValue = this.valueControl.value\n ? this.getDisplayedValue(this.valueControl.value)\n : this.valueControl.value;\n\n /**\n * use it to build displayedControl value\n */\n this.displayControl.setValue(\n displayedValue ? { key: this.valueControl.value, value: displayedValue } : this.valueControl.value,\n { emitEvent: false },\n );\n }\n\n private mustApplyAdditionalFiltering(): boolean {\n return !this.staticOptions || (this.staticOptions && this.filterOptions);\n }\n\n /** @ignore */\n private unselectComponent(): void {\n if (this.input?.nativeElement instanceof HTMLInputElement) {\n this.input.nativeElement.blur();\n }\n }\n\n /** @ignore */\n private activateStaticOption(option?: SearchDropdownStaticOption): void {\n if (!option) return;\n\n /**\n * ignoreOnBlur to \"true\" to disable\n * component's input onBlur event\n * NOTE: this is needed when we click on static options\n */\n this.ignoreOnBlur = true;\n\n this.moreDataMatOption?.deselect();\n this.noDataMatOption?.deselect();\n\n if (option.onClick) {\n option.onClick(this.input?.nativeElement.value);\n }\n\n this.unselectComponent();\n }\n\n /** @ignore */\n private setValidators(): void {\n /**\n * make sure displayControl has the same validators as control\n */\n this.displayControl.addValidators(this.valueControl.validator ?? []);\n /**\n * required validator must be set manually in this component\n * because controls are disconnected from input field\n */\n if (this.required) {\n this.valueControl.addValidators(Validators.required);\n this.displayControl.addValidators(Validators.required);\n }\n this.valueControl.updateValueAndValidity({ emitEvent: false });\n this.displayControl.updateValueAndValidity({ emitEvent: false });\n }\n\n /** @ignore */\n private canEmitValue(value: SearchDropdownDisplayControlValue): boolean {\n /**\n * only emit event if value is a string, and we can emit empty values, or it is not empty\n * NOTE: it disallows to emit explicitly selected \"REAL\" values\n */\n return !this.staticOptions && typeof value == 'string' && (this.emitEmptyValues || !!value);\n }\n\n /** @ignore */\n private setControlValueFromString(displayedValue: string): void {\n let isValueApplied = false;\n\n /**\n * loop through displayedOptions;\n * if matching displayedOption value found - use displayedOptions option as control value\n */\n for (const [option, value] of this.displayedOptions) {\n if (value.toLowerCase() === displayedValue.toLowerCase()) {\n this.setControlValueFromOption(option);\n isValueApplied = true;\n break;\n }\n }\n\n if (!isValueApplied) {\n this.clear();\n }\n }\n\n /** @ignore */\n private setControlValueFromOption(option: DropdownComponentOption | null, skipSame = true): void {\n this.unselectComponent();\n\n this.setControlValue(option, skipSame);\n }\n\n private setControlValue(option: DropdownComponentOption | null, skipSame = true) {\n /**\n * only update control value if it differs from provided one\n * NOTE: we need this check to avoid emitting control value change\n * when the same dropdown option is selected in dropdown several times\n */\n if (skipSame && this.valueControl.value === option) {\n return;\n }\n\n this.valueControl.markAsTouched();\n this.valueControl.markAsDirty();\n\n /**\n * toggle isInternalValueSet to make\n * sure internal subscription to control value will\n * ignore this setValue event\n */\n this.isInternalValueSet = true;\n this.valueControl.setValue(option);\n this.isInternalValueSet = false;\n }\n\n private overrideKeydownHandler(): void {\n if (this.trigger) {\n const handler = this.trigger._handleKeydown;\n\n /**\n * this allows to block default keydown handler if needed\n */\n this.trigger._handleKeydown = (event: KeyboardEvent): void => {\n const option = <CustomMatOption>this.trigger?.activeOption;\n\n this.modifyOptionClickEvent(option);\n\n handler.call(this.trigger, event);\n\n /**\n * make sure option does not lose \"selected\" state if click is prevented\n * NOTE: this is d one for \"nicety\"\n */\n if (this.preventClick && option && event.key === 'Enter') {\n this.auto?._keyManager.setActiveItem(option);\n }\n };\n }\n }\n\n private modifyOptionClickEvent(option: CustomMatOption): void {\n /**\n * modify \"_selectViaInteraction\" method of the option\n * so that we can block its selection if needed\n */\n if (option && !option.modified) {\n option.modified = true;\n\n const handler = option._selectViaInteraction;\n\n option._selectViaInteraction = () => {\n if (this.preventClick) {\n this.auto?._keyManager.setActiveItem(-1);\n return;\n }\n handler.call(option);\n };\n }\n }\n}\n","<div class=\"form-control-row\" [ngStyle]=\"{ width: width }\">\n <mat-form-field\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'is-open': trigger?.panelOpen,\n invalid: canShowError(),\n 'success-label': canShowSuccess(),\n 'x-small': smallSize,\n }\"\n >\n @if ((label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <input\n #input\n [disabled]=\"displayControl.disabled\"\n (keydown.enter)=\"onKeyDown($event.target)\"\n (blur)=\"onBlur()\"\n (input)=\"onInput($event.target)\"\n (focus)=\"onFocus()\"\n type=\"text\"\n [autocomplete]=\"'none'\"\n [id]=\"id\"\n matInput\n [value]=\"getDisplayedValueAsString()\"\n [attr.maxlength]=\"maxlength\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [displayWith]=\"displayFn\"\n [disableRipple]=\"true\"\n [class]=\"\n 'ads-dropdown-panel' +\n (fitContent ? ' fit-content' : '') +\n (loading() ? ' loading' : '') +\n (preventClick ? '' : ' clickable') +\n ' ' +\n panelClass\n \"\n >\n @for (option of displayedOptions | keyvalue: applySorting; track $index) {\n <mat-option #opt [value]=\"option\" (mousedown)=\"onOptionMouseDown($event, opt)\">\n @if (useOptionTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"optionRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: option.key, value: option.value }\"\n ></ng-template>\n } @else {\n <span\n [innerHtml]=\"\n displayValueFormatter\n ? displayValueFormatter(\n option!.value! | adsSearchDropdownHighlighter: displayControl.value,\n option.key\n )\n : (option!.value! | adsSearchDropdownHighlighter: displayControl.value)\n \"\n ></span>\n }\n </mat-option>\n }\n\n @if (canUseMoreDataOption) {\n <hr class=\"no-results-hr\" />\n <mat-option #moreDataMatOption class=\"extra\" [disabled]=\"!moreDataOption!.onClick\">\n <ng-container\n [ngTemplateOutlet]=\"extraOptionValue\"\n [ngTemplateOutletContext]=\"{ $implicit: moreDataOption }\"\n />\n </mat-option>\n }\n\n @if (canUseNoDataOption) {\n <mat-option #noDataMatOption class=\"extra\" [disabled]=\"!noDataOption!.onClick\">\n <ng-container [ngTemplateOutlet]=\"extraOptionValue\" [ngTemplateOutletContext]=\"{ $implicit: noDataOption }\" />\n </mat-option>\n }\n\n @if (canUseStaticOption) {\n @if (displayedOptions.size) {\n <hr class=\"no-results-hr\" />\n }\n <mat-option #staticDataMatOption class=\"extra\" [disabled]=\"!staticDataOption!.onClick\">\n <ng-container\n [ngTemplateOutlet]=\"extraOptionValue\"\n [ngTemplateOutletContext]=\"{ $implicit: staticDataOption }\"\n />\n </mat-option>\n }\n </mat-autocomplete>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n @if (showDropdownIcon) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"togglePanel($event)\" class=\"action-icon\">\n <ads-icon name=\"chevron_down\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"chevron-down\" />\n </button>\n }\n @if (!staticOptions && loading()) {\n <mat-spinner matTextSuffix diameter=\"22\" />\n }\n @if (!staticOptions && !loading()) {\n <button\n matTextSuffix\n type=\"button\"\n mat-icon-button\n [disabled]=\"!canSearch\"\n (click)=\"canSearch ? onSearchIconClick($event) : null\"\n class=\"action-icon\"\n >\n <ads-icon name=\"search\" size=\"md\" [theme]=\"'iconPrimary'\" class=\"search-icon\" />\n </button>\n }\n </mat-form-field>\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n</div>\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n}\n\n<ng-template #extraOptionValue let-option>\n <span\n (click)=\"$event.stopPropagation()\"\n (mousedown)=\"onStaticOptionMouseDown($event, option!)\"\n [innerHTML]=\"option!.label\"\n ></span>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsSearchDropdownComponent } from './search-dropdown.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { AdsSearchDropdownHighlighterPipeModule } from './search-dropdown-highlighter.pipe';\nimport { CommonModule } from '@angular/common';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatIconButton } from '@angular/material/button';\nimport { AdsInputTooltipComponent } from '../../common/input.tooltip.component';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\nimport { AdsSuccessComponent } from '../../common/success/success.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatFormFieldModule,\n AdsIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n MatSelectModule,\n AdsSearchDropdownHighlighterPipeModule,\n MatDatepickerModule,\n MatIconButton,\n AdsInputTooltipComponent,\n AdsErrorComponent,\n AdsHintComponent,\n AdsSuccessComponent,\n ],\n declarations: [AdsSearchDropdownComponent],\n exports: [AdsSearchDropdownComponent],\n})\nexport class AdsSearchDropdownModule {}\n","import { Component, Input } from '@angular/core';\nimport { AdsInputComponent } from '../../input';\nimport { adsIconSearch } from '@ascentgl/ads-icons/icons';\n\n@Component({\n selector: 'ads-search-input',\n templateUrl: './search-input.component.html',\n styleUrls: ['../../input/input.component.scss'],\n})\nexport class AdsSearchInputComponent extends AdsInputComponent {\n /** a callback function that will be called every time when enter button or search icons are clicked */\n @Input() searchCallback?: (value: string) => void;\n\n /** set to true if you want to execute searchCallback when icon is clicked */\n @Input() isIconClickable = false;\n\n constructor() {\n super();\n this.registry.register(adsIconSearch);\n }\n\n /** ignore */\n get canClick() {\n return this.isIconClickable && this.valueControl.value;\n }\n\n /** ignore */\n onSearch() {\n if (this.valueControl.value && this.searchCallback) {\n this.searchCallback(this.valueControl.value);\n }\n }\n}\n","<div [ngStyle]=\"{ minWidth: width }\">\n <mat-form-field\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <input\n matInput\n (keydown.enter)=\"onSearch()\"\n [maxlength]=\"maxlength\"\n [pattern]=\"pattern\"\n [id]=\"id\"\n [type]=\"type\"\n [formControl]=\"valueControl\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n />\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n\n <button\n matTextSuffix\n type=\"button\"\n mat-icon-button\n [disabled]=\"!canClick\"\n (click)=\"canClick ? onSearch() : null\"\n class=\"action-icon\"\n >\n <ads-icon name=\"search\" size=\"md\" [theme]=\"'iconPrimary'\" class=\"search-icon\" />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n}\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsSearchInputComponent } from './search-input.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { CommonModule } from '@angular/common';\nimport { MatIconButton } from '@angular/material/button';\nimport { AdsInputTooltipComponent } from '../../common/input.tooltip.component';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\nimport { AdsSuccessComponent } from '../../common/success/success.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatFormFieldModule,\n AdsIconModule,\n MatInputModule,\n MatProgressSpinnerModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n MatSelectModule,\n MatIconButton,\n AdsInputTooltipComponent,\n AdsErrorComponent,\n AdsHintComponent,\n AdsSuccessComponent,\n ],\n declarations: [AdsSearchInputComponent],\n exports: [AdsSearchInputComponent],\n})\nexport class AdsSearchInputModule {}\n","export const FORMAT_TIME = 'HH:mm';\nexport const FORMAT_DATE = 'MM/dd/yyyy';\nexport const FORMAT_DATETIME = 'MM/dd/yyyy HH:mm';\n\nexport interface DateTimeParseDisplay {\n dateInput?: string;\n datetimeInput?: string;\n timeInput?: string;\n}\n\nexport class CustomDateTimeFormat {\n private _parse: DateTimeParseDisplay = {\n dateInput: FORMAT_DATE,\n datetimeInput: FORMAT_DATETIME,\n timeInput: FORMAT_TIME,\n };\n private _display: DateTimeParseDisplay = {\n dateInput: FORMAT_DATE,\n datetimeInput: FORMAT_DATETIME,\n timeInput: FORMAT_TIME,\n };\n\n set parse(parse: DateTimeParseDisplay) {\n this._parse = Object.assign({}, this._parse, parse);\n }\n\n get parse(): DateTimeParseDisplay {\n return this._parse;\n }\n\n set display(display: DateTimeParseDisplay) {\n this._display = Object.assign({}, this._display, display);\n }\n\n get display(): DateTimeParseDisplay {\n return this._display;\n }\n\n updateParse(parse: DateTimeParseDisplay): void {\n this.parse = parse;\n }\n\n updateDisplay(display: DateTimeParseDisplay): void {\n this.display = display;\n }\n}\n","import { MatCalendarView } from '@mat-datetimepicker/core/datetimepicker/calendar';\n\nexport class DatetimeTemplateFormatter {\n private container: HTMLElement | null = null;\n private isFirstRun = true;\n\n run(view: MatCalendarView): void {\n /**\n * make sure container has proper class to encapsulate styles\n */\n this.container = document.querySelector('mat-datetimepicker-content');\n this.container?.classList.add('ads-datetimepicker-calendar');\n\n /**\n * if isFirstRun=true (we've just opened the picker)\n * hide container to allow concealed rearranging\n */\n if (this.isFirstRun) {\n this.container?.classList.add('hidden');\n }\n\n setTimeout(() => {\n this.rearrangeTemplate(view);\n this.isFirstRun = false;\n });\n }\n\n reset(): void {\n this.isFirstRun = true;\n }\n\n private rearrangeTemplate(view: MatCalendarView): void {\n const calendar: HTMLElement | null = document.querySelector('mat-datetimepicker-calendar');\n\n if (!calendar) return;\n\n /**\n * make sure calendar only has one \"view\" class\n */\n calendar.classList.remove('clock', 'month', 'year', 'multi-year');\n calendar.classList.add(view);\n\n const header: HTMLElement | null = calendar.querySelector('.mat-datetimepicker-calendar-header');\n const content: HTMLElement | null = calendar.querySelector('.mat-datetimepicker-calendar-content');\n\n if (!header || !content) return;\n\n /**\n * get all the buttons that we need to rearrange\n */\n const yearButton = header.querySelector('.mat-datetimepicker-calendar-header-year');\n const monthButton = content.querySelector('.mat-datetimepicker-calendar-period-button');\n const prevButton =\n content.querySelector('.mat-datetimepicker-calendar-previous-button') ??\n header.querySelector('.mat-datetimepicker-calendar-previous-button');\n const nextButton =\n content.querySelector('.mat-datetimepicker-calendar-next-button') ??\n header.querySelector('.mat-datetimepicker-calendar-next-button');\n\n /**\n * create headerLine1 that will contain month name, year value and year prev/next buttons\n */\n const headerLine1 = header.querySelector('.header.line-1') ?? document.createElement('div');\n headerLine1.className = 'header line-1';\n headerLine1.innerHTML = '';\n\n /**\n * create headerSubLine1 that will contain month name and year value\n */\n const headerSubLine1 = document.createElement('div');\n headerSubLine1.className = 'sub-line-1';\n\n if (yearButton) {\n const svg: HTMLElement | null = yearButton.querySelector('.arrow-down');\n const monthShortcut: HTMLElement | null = document.createElement('div');\n if (view !== 'year' && view !== 'clock') {\n monthShortcut.className = 'month-shortcut';\n monthShortcut.innerHTML = monthButton?.textContent?.slice(0, 3) || '';\n yearButton.prepend(monthShortcut);\n /**\n * create arrow down icon\n */\n const arrowSVG = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"11\" height=\"8\" viewBox=\"0 0 11 8\" fill=\"none\">\n <path d=\"M0.5 0.0178223L10.5 0.0178224L5.5 7.01782L0.5 0.0178223Z\" />\n </svg>`;\n\n const arrowDiv = document.createElement('div');\n arrowDiv.className = 'arrow-down';\n arrowDiv.innerHTML = arrowSVG;\n /**\n * append arrow to the button\n */\n yearButton.append(arrowDiv);\n }\n\n /**\n * remove svg on a year view\n */\n if (svg && (view === 'year' || view === 'clock')) {\n svg.remove();\n }\n\n /**\n * remove svg on a year view\n */\n const monthEl: HTMLElement | null = yearButton.querySelector('.month-shortcut');\n\n if (monthEl && (view === 'year' || view === 'clock')) {\n monthEl.remove();\n }\n\n /**\n * append year to subLine1\n */\n headerSubLine1.append(yearButton);\n }\n\n /**\n * only append headerSubLine1 to he headerLine1 if it has items\n */\n if (headerSubLine1.hasChildNodes() && view !== 'clock') {\n headerLine1.append(headerSubLine1);\n }\n\n /**\n * create headerSubLine2 that will contain year prev/next buttons\n */\n const headerSubLine2 = document.createElement('div');\n headerSubLine2.className = 'sub-line-2';\n\n if (prevButton) {\n headerSubLine2.append(prevButton);\n }\n\n if (nextButton) {\n headerSubLine2.append(nextButton);\n }\n\n /**\n * only append headerSubLine2 to he headerLine1 if it has items\n */\n if (headerSubLine2.hasChildNodes()) {\n headerLine1.append(headerSubLine2);\n }\n\n /**\n * only append headerLine1 header if it has items\n */\n if (headerLine1.hasChildNodes()) {\n header.prepend(headerLine1);\n }\n\n /**\n * remove existing div to headerLine2 that will contain date and time information\n */\n const headerLine2 = header.querySelector('.mat-datetimepicker-calendar-header-date-time');\n\n if (headerLine2) {\n headerLine2.remove();\n }\n\n /**\n * make sure calendar container is not hidden anymore\n */\n this.container?.classList.remove('hidden');\n\n /**\n * Add event listeners to the buttons to detect month changes\n */\n\n if (this.isFirstRun) {\n this.addMonthChangeListeners(prevButton, nextButton);\n }\n }\n\n private addMonthChangeListeners(prevButton: Element | null, nextButton: Element | null): void {\n if (prevButton) {\n prevButton.addEventListener('click', () => {\n this.clearHeaderLine1();\n });\n }\n\n if (nextButton) {\n nextButton.addEventListener('click', () => {\n this.clearHeaderLine1();\n });\n }\n }\n\n /**\n * Remove old month label and prevent duplicate arrow down\n */\n private clearHeaderLine1(): void {\n const monthLabel = document.querySelector('.month-shortcut');\n const arrowIcon = document.querySelector('.arrow-down');\n if (monthLabel && arrowIcon) {\n monthLabel.remove();\n arrowIcon.remove();\n this.run('month');\n }\n }\n}\n","import { Directive, Inject, Input, NgModule, OnChanges, Optional } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { MAT_DATETIME_FORMATS } from '@mat-datetimepicker/core';\nimport { CustomDateTimeFormat } from './custom-datetime-format';\nimport { GENERIC_COLLECTION } from '@ascentgl/ads-utils';\n\n@Directive({\n selector: '[dateTimePickerFormat]',\n providers: [\n {\n provide: MAT_DATETIME_FORMATS,\n useClass: CustomDateTimeFormat,\n },\n ],\n})\nexport class DateTimePickerFormatDirective implements OnChanges {\n /** Custom display format that will override current format for this component */\n @Input() customDisplayFormat: GENERIC_COLLECTION = {};\n /** Set to use custom display format, overriding the one, provided by locale */\n @Input() overrideDisplayFormat = true;\n\n ngOnChanges() {\n if (this.overrideDisplayFormat) {\n this.format.updateDisplay(this.customDisplayFormat);\n this.format.updateParse(this.customDisplayFormat);\n this.ngControl.valueAccessor?.writeValue(this.ngControl.value);\n }\n }\n\n constructor(\n @Inject(MAT_DATETIME_FORMATS) private format: CustomDateTimeFormat,\n @Optional() private ngControl: NgControl,\n ) {}\n}\n\n@NgModule({\n imports: [],\n declarations: [DateTimePickerFormatDirective],\n exports: [DateTimePickerFormatDirective],\n})\nexport class DateTimePickerFormatDirectiveModule {}\n","import {\n Input,\n Component,\n OnInit,\n OnDestroy,\n SimpleChange,\n OnChanges,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n inject,\n} from '@angular/core';\nimport { AbstractInputComponent } from '../../abstracts/abstract.input.component';\nimport { FormControl, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { adsIconCross, adsIconDatepicker, adsIconTimepicker } from '@ascentgl/ads-icons/icons';\nimport { MatDatetimepickerType } from '@mat-datetimepicker/core/datetimepicker/datetimepicker-type';\nimport { GENERIC_COLLECTION } from '@ascentgl/ads-utils';\nimport { add } from 'date-fns';\nimport { FORMAT_DATETIME } from './custom-datetime-format';\nimport { MatDatetimepickerComponent, MatDatetimepickerInputEvent } from '@mat-datetimepicker/core';\nimport { MatCalendarView } from '@mat-datetimepicker/core/datetimepicker/calendar';\nimport { DatetimeTemplateFormatter } from './datetime-template.formatter';\n\n@Component({\n selector: 'ads-datetimepicker',\n templateUrl: './datetimepicker.component.html',\n styleUrls: ['../../input/input.component.scss', './datetimepicker.component.scss'],\n})\nexport class AdsDatetimepickerComponent extends AbstractInputComponent implements OnChanges, OnInit, OnDestroy {\n /** @ignore */\n @ViewChild(MatDatetimepickerComponent) picker?: MatDatetimepickerComponent<unknown>;\n\n /** Choose between 12 and 24 hour time input mode. NOTE: twelveHour=true may have minor issues when allowPastValues=false */\n @Input() twelveHour = false;\n\n /** Set time offset relative to GMT. If parameter is omitted offset will be calculated based on browser info */\n @Input() offset?: number;\n\n /** Allow or forbid choosing date values from the past */\n @Input() allowPastValues = true;\n\n /** Set to inputting value manually */\n @Input() allowManualInput = true;\n\n /** Whether to use key shortcuts (\"y\", \"n\", \"t\") for setting the value */\n @Input() useShortcuts = true;\n\n /** Set to use custom display format, overriding the one, provided by locale */\n @Input() overrideDisplayFormat = true;\n\n /** Show or hide time picker */\n @Input() showTimePicker = true;\n\n /** if overrideDisplayFormat=true, this display format will be used */\n @Input() customDisplayFormat: string = FORMAT_DATETIME;\n\n /** @ignore */\n @ViewChild('input') input?: ElementRef;\n\n /** @ignore */\n customDisplayFormatOverride: GENERIC_COLLECTION = {};\n\n /** @ignore */\n type: MatDatetimepickerType = 'datetime';\n\n /** @ignore */\n minDate?: string;\n\n /** @ignore */\n protected shortcuts: GENERIC_COLLECTION = {\n y: -1, //yesterday\n n: 0, //now\n t: 1, //tomorrow\n };\n\n /** @ignore */\n protected readonly defaultErrorMessages: GENERIC_COLLECTION<string> = {\n matDatepickerParse: 'Date and Time must appear in this format: MM/DD/YYYY HH:mm',\n matDatepickerMin: 'The value is too old',\n };\n\n /** @ignore */\n private subscriptions: Subscription[] = [];\n\n /** @ignore */\n private isDisplayValueChangeRegistered = false;\n\n private cdr = inject(ChangeDetectorRef);\n\n private templateFormatter = new DatetimeTemplateFormatter();\n\n constructor() {\n super();\n this.registry.register([adsIconCross, adsIconDatepicker, adsIconTimepicker]);\n }\n\n /** @ignore */\n ngOnInit(): void {\n this.setupSubscriptions();\n this.applyCustomFormat();\n this.cdr.detectChanges();\n }\n /** @ignore */\n ngOnChanges(changes: {\n customDisplayFormat: SimpleChange;\n offset: SimpleChange;\n showTimePicker: SimpleChange;\n immediateValidation: SimpleChange;\n }): void {\n if (changes.customDisplayFormat || changes.showTimePicker) {\n this.applyCustomFormat();\n }\n\n if (changes.offset && !changes.offset.isFirstChange()) {\n this.syncDisplayedValue();\n }\n\n super.ngOnChanges(changes);\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\n }\n\n /** @ignore */\n toggle(event: MouseEvent): void {\n event.stopPropagation();\n if (this.picker?.opened) {\n this.picker.close();\n } else {\n this.picker?.open();\n }\n }\n\n /** @ignore */\n get showExclamation() {\n return this.showExclamationOnError && this.displayControl.invalid && this.displayControl.touched;\n }\n\n get canClear() {\n return this.showClearButton && !!this.input?.nativeElement.value;\n }\n\n /** @ignore */\n canShowError(): boolean {\n return !!this.displayControl.errors && (this.displayControl.touched || this.immediateValidation);\n }\n\n /** @ignore */\n displayFirstError(control: FormControl = this.displayControl): string {\n /**\n * if we have format error - make sure to show it first\n */\n if (this.displayControl.errors?.matDatepickerParse) {\n this.displayControl.setErrors({ matDatepickerParse: this.displayControl.errors?.matDatepickerParse });\n }\n\n return super.displayFirstError(control);\n }\n\n /** @ignore */\n onKeyDown(event: KeyboardEvent): void {\n if (!(event.target instanceof HTMLInputElement)) {\n return;\n }\n\n /**\n * blur input to make sure the value is applied\n */\n if (event.key === 'Enter' && event.target instanceof HTMLInputElement) {\n this.setMinValue();\n event.target.blur();\n return;\n }\n\n if (!this.useShortcuts) {\n return;\n }\n\n const shortcutOffset = this.shortcuts[event.key.toLowerCase()];\n\n /**\n * if one of the shortcuts was clicked - set current date value accordingly\n */\n if (shortcutOffset !== undefined) {\n /**\n * create date object. taking into account shortcut offset (yesterday, now, tomorrow)\n */\n const value: Date = this.createDate(shortcutOffset);\n\n /**\n * set date object to required offset value, and apply it to valueControl\n * (it will eventually sync displayControl too)\n */\n this.onChanged(this.dateToRequiredOffset(value).toISOString());\n\n event.preventDefault();\n }\n }\n\n /** @ignore */\n touchControls(): void {\n if (!this.displayControl.touched) {\n this.displayControl.markAsTouched();\n }\n\n if (!this.valueControl.touched) {\n this.valueControl.markAsTouched();\n }\n\n if (!this.displayControl.dirty) {\n this.displayControl.markAsDirty();\n }\n\n if (!this.valueControl.dirty) {\n this.valueControl.markAsDirty();\n }\n }\n\n /** @ignore */\n clear(event: MouseEvent): void {\n /**\n * stop even propagation so that calendar won't open on \"clear\" button click\n */\n event.stopPropagation();\n\n this.displayControl.setValue(null);\n\n this.onChanged(this.displayControl.value);\n }\n\n /** @ignore */\n mousedown(event: MouseEvent): void {\n event.preventDefault();\n }\n\n /** @ignore */\n onOpened(): void {\n this.templateFormatter.reset();\n this.setMinValue();\n this.isDisplayValueChangeRegistered = false;\n }\n\n /** @ignore */\n onClosed(): void {\n /**\n * NOTE: this is needed to override an issue when closing a dropdown passes focus to input\n * when allowManualInput is false\n */\n if (!this.allowManualInput) {\n this.input?.nativeElement.blur();\n }\n\n /**\n * if control value is empty, displayControl with be cleared (brought to initial state)\n */\n this.syncEmptyValues();\n\n /**\n * focus on control value and select time part\n */\n if (!this.showTimePicker && this.isDisplayValueChangeRegistered && this.type !== 'date') {\n this.input?.nativeElement.focus();\n\n const spacePosition = this.input?.nativeElement.value.lastIndexOf(' ');\n const totalLength = this.input?.nativeElement.value.length;\n\n if (spacePosition > -1) {\n this.input?.nativeElement.setSelectionRange(spacePosition + 1, spacePosition + (totalLength - spacePosition));\n }\n }\n }\n\n /** @ignore */\n onChanged(event: MatDatetimepickerInputEvent<string> | string | null): void {\n const value = event === null ? null : typeof event == 'string' ? event : event.value;\n\n /**\n * sync valueControl errors with displayControl errors\n * NOTE: this is needed for \"invalid format\" errors that are calculated for displayControl\n * by MatDatetimepicker component\n */\n this.valueControl.setErrors(this.displayControl.errors);\n\n this.onDisplayedValueChange(value ? new Date(value) : null);\n\n /**\n * mark controls as touched and dirty to ensure proper error display\n */\n this.touchControls();\n }\n\n onViewChanged(view: MatCalendarView) {\n this.templateFormatter.run(view);\n }\n\n /** @ignore */\n protected touchInvalid(control: FormControl): void {\n super.touchInvalid(control);\n super.touchInvalid(this.displayControl);\n }\n\n /** @ignore */\n protected applyCustomFormat(): void {\n this.customDisplayFormatOverride = {};\n\n if (this.overrideDisplayFormat) {\n this.customDisplayFormatOverride.datetimeInput = this.customDisplayFormat;\n }\n\n if (!this.showTimePicker) {\n if (this.overrideDisplayFormat) {\n this.customDisplayFormatOverride.dateInput = this.customDisplayFormat;\n } else {\n this.customDisplayFormatOverride.dateInput = FORMAT_DATETIME;\n }\n }\n }\n\n /** @ignore */\n protected setControlValue(control: FormControl, value: string | null = null, emitEvent = true): void {\n if (control.value !== value) {\n control.setValue(value, { emitEvent: emitEvent });\n }\n }\n\n /** @ignore */\n protected onSyncDisplayedValue(valueToApply: string = this.valueControl.value): void {\n /**\n * always make sure that date string is in UTC format\n */\n const value: Date = new Date(valueToApply + (valueToApply.endsWith('Z') ? '' : 'Z'));\n\n this.setControlValue(this.displayControl, this.dateToRequiredOffset(value).toISOString());\n }\n\n /** @ignore */\n protected onDisplayedValueChange(value: Date | null): void {\n let newValue: null | string = null;\n\n if (value) {\n newValue = this.displayedValueToControlValue(value);\n }\n\n /**\n * only set value if it did change\n */\n if (newValue === this.valueControl.value) {\n return;\n }\n\n /**\n * set control value reverting offset calculation\n */\n this.setControlValue(this.valueControl, newValue);\n }\n\n /** @ignore */\n protected displayedValueToControlValue(value: Date): string {\n return this.dateToActualOffset(value).toISOString();\n }\n\n /** @ignore */\n protected setMinValue(): void {\n /**\n * calculate minimum allowed datetime if needed\n */\n if (!this.allowPastValues) {\n this.minDate = this.dateToRequiredOffset().toISOString();\n }\n }\n\n /** @ignore */\n protected addOffset(date: Date, offset: number): Date {\n return add(date, { minutes: offset });\n }\n\n /** @ignore */\n protected removeOffset(date: Date, offset: number): Date {\n return add(date, { minutes: offset * -1 });\n }\n\n /** @ignore */\n protected getActualDateOffset(value: Date = this.createDate()): number {\n return value.getTimezoneOffset() * -1;\n }\n\n /** @ignore */\n protected getRequiredOffset(value: Date = this.createDate()): number {\n return this.offset ? this.offset * 60 : this.getActualDateOffset(value);\n }\n\n /** @ignore */\n protected createDate(daysShift = 0): Date {\n let value: Date = new Date();\n\n if (daysShift) {\n value = this.addOffset(value, daysShift * 24 * 60);\n }\n\n return value;\n }\n\n /** @ignore */\n private setupSubscriptions(): void {\n /**\n *\n *sync display control statuses with value control status for proper error display\n * make sure \"displayControl\" disabled state and value are synchronized with \"control\" disabled state and value\n */\n this.subscriptions.push(this.valueControl.statusChanges.subscribe(() => this.syncState()));\n this.subscriptions.push(this.valueControl.valueChanges.subscribe(() => this.syncDisplayedValue()));\n\n /**\n * NOTE: registering display value change is needed to know when to focus time part of datetime if showTimePicker is false\n */\n this.subscriptions.push(\n this.displayControl.valueChanges.subscribe(() => (this.isDisplayValueChangeRegistered = true)),\n );\n\n /**\n * make sure displayControl has the same validators as control\n */\n this.displayControl.addValidators(this.valueControl.validator ?? []);\n /**\n * required validator must be set manually in this component\n * because valueControl is disconnected from input field\n */\n if (this.required) {\n this.valueControl.addValidators(Validators.required);\n }\n this.valueControl.updateValueAndValidity({ emitEvent: false });\n this.displayControl.updateValueAndValidity({ emitEvent: false });\n /**\n * perform initial synchronizations\n */\n this.syncState();\n this.syncDisplayedValue();\n }\n\n /** @ignore */\n private syncDisplayedValue(): void {\n /**\n * if control value is empty, displayControl with be cleared (brought to initial state)\n */\n if (this.syncEmptyValues()) return;\n\n this.onSyncDisplayedValue();\n }\n\n /** @ignore */\n private syncEmptyValues(): boolean {\n if (this.valueControl.value) return false;\n\n this.setControlValue(this.displayControl, this.valueControl.value, false);\n\n return true;\n }\n\n /** @ignore */\n private dateToRequiredOffset(value: Date = this.createDate()): Date {\n value = this.removeOffset(value, this.getActualDateOffset(value));\n return this.addOffset(value, this.getRequiredOffset(value));\n }\n\n /** @ignore */\n private dateToActualOffset(value: Date = this.createDate()): Date {\n value = this.addOffset(value, this.getActualDateOffset(value));\n return this.removeOffset(value, this.getRequiredOffset(value));\n }\n}\n","<div [ngStyle]=\"{ minWidth: width }\">\n <mat-form-field\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n invalid: canShowError(),\n manual: allowManualInput,\n 'success-label': canShowSuccess(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <mat-datetimepicker\n #datetimePicker\n (viewChanged)=\"onViewChanged($event)\"\n (opened)=\"onOpened()\"\n (closed)=\"onClosed()\"\n [type]=\"type === 'datetime' ? (showTimePicker ? 'datetime' : 'date') : type\"\n [openOnFocus]=\"!allowManualInput\"\n [twelvehour]=\"twelveHour\"\n [timeInterval]=\"5\"\n [mode]=\"'portrait'\"\n />\n <input\n (dateChange)=\"onChanged($event)\"\n dateTimePickerFormat\n [overrideDisplayFormat]=\"overrideDisplayFormat || (type === 'datetime' ? !showTimePicker : false)\"\n [customDisplayFormat]=\"customDisplayFormatOverride\"\n [ngClass]=\"{ invisible: !valueControl.value }\"\n #input\n matInput\n (keydown)=\"allowManualInput ? onKeyDown($event) : null\"\n (input)=\"touchControls()\"\n (blur)=\"touchControls()\"\n [tabIndex]=\"allowManualInput ? 0 : -1\"\n [min]=\"minDate || null\"\n [readonly]=\"!allowManualInput\"\n [formControl]=\"displayControl\"\n [matDatetimepicker]=\"datetimePicker\"\n autocomplete=\"false\"\n [id]=\"id\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n />\n @if (type === 'time') {\n <button\n matTextSuffix\n type=\"button\"\n mat-icon-button\n (click)=\"toggle($event)\"\n [disabled]=\"!showTimePicker\"\n class=\"action-icon\"\n >\n <ads-icon class=\"picker\" name=\"timepicker\" [size]=\"smallSize ? 'xxs' : 'sm'\" [stroke]=\"'iconPrimary'\" />\n </button>\n } @else {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"toggle($event)\" class=\"action-icon\">\n <ads-icon class=\"picker\" name=\"datepicker\" [size]=\"smallSize ? 'xxs' : 'sm'\" [stroke]=\"'iconPrimary'\" />\n @if (type === 'datetime') {\n <ads-icon\n class=\"sub-timepicker mat-mdc-button-persistent-ripple picker\"\n name=\"timepicker\"\n size=\"xxs\"\n [stroke]=\"'iconPrimary'\"\n />\n }\n </button>\n }\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon class=\"cross-icon\" name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" />\n </button>\n }\n </mat-form-field>\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" />\n}\n","import { NativeDateAdapter } from '@angular/material/core';\nimport { GENERIC_COLLECTION } from '@ascentgl/ads-utils';\nimport { format } from 'date-fns';\nimport { Injectable } from '@angular/core';\nimport { FORMAT_DATETIME, FORMAT_TIME } from './custom-datetime-format';\n\n@Injectable()\nexport class CustomDatetimeAdapter extends NativeDateAdapter {\n constructor() {\n super();\n }\n format(date: Date, displayFormat: string | GENERIC_COLLECTION): string {\n if (typeof displayFormat === 'string') {\n return format(date, displayFormat);\n } else {\n return super.format(date, displayFormat);\n }\n }\n\n parse(value: string, parseFormat?: string): Date | null {\n if (parseFormat === FORMAT_TIME) {\n /**\n * we need to add date before we parse manually input time value\n */\n value = format(new Date(), 'yyyy-MM-dd') + ' ' + this.inferTime(value);\n } else if (parseFormat === FORMAT_DATETIME) {\n const [date, time] = value.split(' ');\n\n value = time ? date + ' ' + this.inferTime(time) : value;\n }\n return super.parse(value, parseFormat);\n }\n\n private inferTime(value: string): string {\n /**\n * this allows to construct valid time when only 1 or 2 characters are input\n */\n if (value.length === 1) {\n return `0${value}:00`;\n } else if (value.length === 2) {\n return `${value}:00`;\n }\n\n return value;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DateAdapter } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsDatetimepickerComponent } from './datetimepicker.component';\nimport { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { DateTimePickerFormatDirectiveModule } from './datetime-picker-format-directive';\nimport { MatIconButton } from '@angular/material/button';\nimport { AdsInputTooltipComponent } from '../../common/input.tooltip.component';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\nimport { AdsSuccessComponent } from '../../common/success/success.component';\nimport { CustomDatetimeAdapter } from './custom-datetime.adapter';\n\n@NgModule({\n imports: [\n CommonModule,\n MatDatepickerModule,\n MatFormFieldModule,\n MatNativeDatetimeModule,\n MatInputModule,\n ReactiveFormsModule,\n AdsIconModule,\n MatDatetimepickerModule,\n MatIconModule,\n DateTimePickerFormatDirectiveModule,\n MatIconButton,\n AdsInputTooltipComponent,\n AdsErrorComponent,\n AdsHintComponent,\n AdsSuccessComponent,\n ],\n declarations: [AdsDatetimepickerComponent],\n exports: [AdsDatetimepickerComponent],\n providers: [\n {\n provide: DateAdapter,\n useClass: CustomDatetimeAdapter,\n },\n ],\n})\nexport class AdsDatetimepickerModule {}\n","import { Component, Input } from '@angular/core';\nimport { AdsDatetimepickerComponent } from '../datetime-picker';\nimport { MatDatetimepickerType } from '@mat-datetimepicker/core/datetimepicker/datetimepicker-type';\nimport { format } from 'date-fns';\nimport { FORMAT_DATE } from '../datetime-picker/custom-datetime-format';\nimport { GENERIC_COLLECTION } from '@ascentgl/ads-utils';\n\n@Component({\n selector: 'ads-datepicker',\n templateUrl: '../datetime-picker/datetimepicker.component.html',\n styleUrls: ['../../input/input.component.scss', '../datetime-picker/datetimepicker.component.scss'],\n})\nexport class AdsDatepickerComponent extends AdsDatetimepickerComponent {\n /** if overrideDisplayFormat=true, this display format will be used */\n @Input() customDisplayFormat: string = FORMAT_DATE;\n\n /** @ignore */\n type: MatDatetimepickerType = 'date';\n\n /** @ignore */\n twelveHour = false;\n\n /** @ignore */\n showTimePicker = false;\n\n /** @ignore */\n protected readonly defaultErrorMessages: GENERIC_COLLECTION<string> = {\n matDatepickerParse: 'Date must appear in this format: MM/DD/YYYY',\n };\n\n /** @ignore */\n protected applyCustomFormat(): void {\n this.customDisplayFormatOverride = {};\n\n if (this.overrideDisplayFormat) {\n this.customDisplayFormatOverride = { dateInput: this.customDisplayFormat };\n }\n }\n\n /** @ignore */\n protected displayedValueToControlValue(value: Date): string {\n return format(value, 'yyyy-MM-dd');\n }\n\n /** @ignore */\n protected onSyncDisplayedValue(valueToApply: string = this.valueControl.value): void {\n if (this.valueControl.value !== null) {\n valueToApply = this.valueControl.value + 'T00:00:00';\n }\n this.setControlValue(this.displayControl, valueToApply);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DateAdapter, MatNativeDateModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { MatDatetimepickerModule } from '@mat-datetimepicker/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { AdsDatepickerComponent } from './datepicker.component';\nimport { DateTimePickerFormatDirectiveModule } from '../datetime-picker/datetime-picker-format-directive';\nimport { AdsInputTooltipComponent } from '../../common/input.tooltip.component';\nimport { CustomDatetimeAdapter } from '../datetime-picker/custom-datetime.adapter';\nimport { MatIconButton } from '@angular/material/button';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\nimport { AdsSuccessComponent } from '../../common/success/success.component';\n@NgModule({\n imports: [\n CommonModule,\n MatDatepickerModule,\n MatFormFieldModule,\n MatInputModule,\n MatNativeDateModule,\n ReactiveFormsModule,\n AdsIconModule,\n MatDatetimepickerModule,\n MatIconModule,\n DateTimePickerFormatDirectiveModule,\n AdsInputTooltipComponent,\n MatIconButton,\n AdsErrorComponent,\n AdsHintComponent,\n AdsSuccessComponent,\n ],\n declarations: [AdsDatepickerComponent],\n exports: [AdsDatepickerComponent],\n providers: [\n {\n provide: DateAdapter,\n useClass: CustomDatetimeAdapter,\n },\n ],\n})\nexport class AdsDatepickerModule {}\n","import { Component, Input } from '@angular/core';\nimport { AdsDatetimepickerComponent } from '../datetime-picker';\nimport { MatDatetimepickerType } from '@mat-datetimepicker/core/datetimepicker/datetimepicker-type';\nimport { GENERIC_COLLECTION } from '@ascentgl/ads-utils';\nimport { format } from 'date-fns';\nimport { FORMAT_TIME } from '../datetime-picker/custom-datetime-format';\nimport { adsIconTimepicker } from '@ascentgl/ads-icons/icons';\nimport { MatDatetimepickerInputEvent } from '@mat-datetimepicker/core';\n\n@Component({\n selector: 'ads-timepicker',\n templateUrl: '../datetime-picker/datetimepicker.component.html',\n styleUrls: ['../../input/input.component.scss', '../datetime-picker/datetimepicker.component.scss'],\n})\nexport class AdsTimepickerComponent extends AdsDatetimepickerComponent {\n /** if overrideDisplayFormat=true, this display format will be used */\n @Input() customDisplayFormat: string = FORMAT_TIME;\n\n /** @ignore */\n type: MatDatetimepickerType = 'time';\n\n /** @ignore */\n protected shortcuts: GENERIC_COLLECTION = {\n n: 0, //now\n };\n\n /** @ignore */\n protected readonly defaultErrorMessages: GENERIC_COLLECTION<string> = {\n matDatepickerParse: 'Time must appear in this format: HH:mm',\n };\n\n constructor() {\n super();\n this.registry.register([adsIconTimepicker]);\n }\n\n /** @ignore */\n onChanged(event: MatDatetimepickerInputEvent<string> | string | null): void {\n /**\n * NOTE: this is needed to clear values when input field is cleared;\n * otherwise the timepicker will be set to 00:00\n */\n if (this.displayControl.value && !this.input?.nativeElement.value) {\n this.setControlValue(this.displayControl, null);\n this.setControlValue(this.valueControl, null);\n } else {\n super.onChanged(event);\n }\n }\n\n /** @ignore */\n protected applyCustomFormat(): void {\n this.customDisplayFormatOverride = {};\n\n if (this.overrideDisplayFormat) {\n this.customDisplayFormatOverride = { timeInput: this.customDisplayFormat };\n }\n }\n\n /** @ignore */\n protected displayedValueToControlValue(value: Date): string {\n return format(this.addOffset(value, this.getRequiredOffset(value) * -1), 'HH:mm:00');\n }\n\n /** @ignore */\n protected onSyncDisplayedValue(valueToApply: string = this.valueControl.value): void {\n if (this.valueControl.value !== null) {\n valueToApply = format(this.createDate(), 'yyyy-MM-dd') + ' ' + this.valueControl.value;\n }\n\n super.onSyncDisplayedValue(valueToApply);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DateAdapter, MatNativeDateModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { AdsTimepickerComponent } from './timepicker.component';\nimport { DateTimePickerFormatDirectiveModule } from '../datetime-picker/datetime-picker-format-directive';\nimport { AdsInputTooltipComponent } from '../../common/input.tooltip.component';\nimport { MatIconButton } from '@angular/material/button';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\nimport { AdsSuccessComponent } from '../../common/success/success.component';\nimport { CustomDatetimeAdapter } from '../datetime-picker/custom-datetime.adapter';\n\n@NgModule({\n imports: [\n CommonModule,\n MatDatetimepickerModule,\n MatDatepickerModule,\n MatFormFieldModule,\n MatNativeDatetimeModule,\n MatNativeDateModule,\n MatInputModule,\n ReactiveFormsModule,\n AdsIconModule,\n MatIconModule,\n DateTimePickerFormatDirectiveModule,\n MatIconButton,\n AdsInputTooltipComponent,\n AdsErrorComponent,\n AdsHintComponent,\n AdsSuccessComponent,\n ],\n declarations: [AdsTimepickerComponent],\n exports: [AdsTimepickerComponent],\n providers: [\n {\n provide: DateAdapter,\n useClass: CustomDatetimeAdapter,\n },\n ],\n})\nexport class AdsTimepickerModule {}\n","import { Component, contentChild, Input, OnChanges, SimpleChange, TemplateRef } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport { AdsDropdownComponent } from '../../dropdowns/dropdown';\nimport { TEMPLATE_TYPE } from '../../common/dropdown-option-template.directive';\n\n@Component({\n selector: 'ads-radio-button',\n templateUrl: './radio-button.component.html',\n styleUrls: ['./radio-button.component.scss'],\n})\nexport class AdsRadioButtonComponent extends AdsDropdownComponent implements OnChanges {\n /** @ignore */\n optionRef = contentChild.required<TemplateRef<TEMPLATE_TYPE>>(TemplateRef<TEMPLATE_TYPE>);\n\n /** Set to \"true\" to make the checkbox indeterminate */\n @Input() vertical = false;\n\n /** Enable/disable options sorting */\n @Input() sortOptions = false;\n\n /** If \"true\", will read option template provided via \"ng-template radio-option\" selector */\n @Input() useOptionTemplate = false;\n\n /** @ignore */\n fitContent = false;\n\n /** @ignore */\n placeholder = '';\n\n /** @ignore */\n declare label?: string;\n\n /** @ignore */\n ngOnChanges(changes: { required: SimpleChange; options: SimpleChange; immediateValidation: SimpleChange }): void {\n super.ngOnChanges(changes);\n\n if (changes.required) {\n if (this.required) {\n this.valueControl.addValidators(Validators.required);\n } else {\n this.valueControl.removeValidators(Validators.required);\n }\n }\n }\n}\n","<div class=\"form-control-row\" [ngStyle]=\"{ minWidth: width }\">\n <mat-radio-group\n [id]=\"id\"\n [ngClass]=\"{\n vertical: vertical,\n 'radio-invalid': valueControl.invalid && (valueControl.touched || immediateValidation),\n }\"\n [formControl]=\"valueControl\"\n >\n @for (option of displayedOptions | keyvalue: applySorting; track $index) {\n <mat-radio-button [value]=\"option.key\">\n @if (useOptionTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"optionRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: option.key, value: option.value }\"\n ></ng-template>\n } @else {\n {{ displayValueFormatter ? displayValueFormatter(option.key) : option.value }}\n }\n </mat-radio-button>\n }\n </mat-radio-group>\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" />\n}\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { AdsRadioButtonComponent } from './radio-button.component';\nimport { CommonModule } from '@angular/common';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatInputModule } from '@angular/material/input';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\nimport { AdsInputTooltipComponent } from '../../common/input.tooltip.component';\nimport { AdsSearchDropdownHighlighterPipeModule } from '../../search-fields/search-dropdown/search-dropdown-highlighter.pipe';\nimport { AdsSuccessComponent } from '../../common/success/success.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatRadioModule,\n MatOptionModule,\n MatInputModule,\n AdsErrorComponent,\n AdsHintComponent,\n AdsInputTooltipComponent,\n AdsSearchDropdownHighlighterPipeModule,\n AdsSuccessComponent,\n ],\n declarations: [AdsRadioButtonComponent],\n exports: [AdsRadioButtonComponent],\n})\nexport class AdsRadioButtonModule {}\n","import { Component, Input } from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\nimport { AbstractBaseComponent } from '../../abstracts/abstract.base.component';\n\n@Component({\n selector: 'ads-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n})\nexport class AdsSlideToggleComponent extends AbstractBaseComponent {\n /** @ignore */\n valueControl: FormControl = new FormControl();\n\n /** Form control, associated with input field */\n @Input() set control(control: AbstractControl | null) {\n /**\n * NOTE: we use setter and internal \"valueControl\" here\n * to allow pass children of FormGroup (which are all typed as AbstractControl instances)\n *\n */\n if (control instanceof FormControl) {\n this.valueControl = control;\n } else {\n throw Error('Control must be a \"FormControl\" instance');\n }\n }\n\n /** Optional \"label\" attribute for slide toggle field */\n @Input() label = '';\n\n /** Optional \"id\" attribute for slide toggle field */\n @Input() id = '';\n\n /** Component width. Must include units of measure: px, %, em, rem, etc. */\n @Input() width = 'fit-content';\n\n /** @ignore */\n toggle() {\n if (this.valueControl.disabled) return;\n\n this.valueControl.setValue(!this.valueControl.value);\n }\n}\n","<div class=\"ads-toggle\">\n <div\n class=\"toggle-container\"\n [class.checked]=\"valueControl.value\"\n [class.disabled]=\"valueControl.disabled\"\n (click)=\"toggle()\"\n [ngStyle]=\"{ width: width }\"\n >\n <div class=\"toggle-track\">\n <span class=\"toggle-label\">{{ valueControl.value ? 'On' : 'Off' }}</span>\n </div>\n <div class=\"toggle-handle\"></div>\n </div>\n</div>\n@if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { AdsSlideToggleComponent } from './slide-toggle.component';\nimport { CommonModule } from '@angular/common';\nimport { AdsInputTooltipComponent } from '../../common/input.tooltip.component';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\nimport { AdsSuccessComponent } from '../../common/success/success.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n AdsInputTooltipComponent,\n AdsErrorComponent,\n AdsHintComponent,\n AdsSuccessComponent,\n ],\n declarations: [AdsSlideToggleComponent],\n exports: [AdsSlideToggleComponent],\n})\nexport class AdsSlideToggle {}\n","import { Component, Input } from '@angular/core';\nimport { AdsCheckboxComponent } from '../checkbox';\n\n@Component({\n selector: 'ads-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.scss'],\n})\nexport class AdsSliderComponent extends AdsCheckboxComponent {\n /** Set minimum slider value */\n @Input() min = 0;\n\n /** Set maximum slider value */\n @Input() max = 100;\n\n /** Set slider step value */\n @Input() step = 1;\n\n /** How often to show ticks. Relative to the step so that a tick always appears on a step. Ex: Tick interval of 4 with a step of 3 will draw a tick every 4 steps (every 12 values). */\n @Input() tickInterval?: 'auto' | number;\n\n /** Whether to invert slider direction */\n @Input() invert = false;\n\n /** Whether to show the thumb label */\n @Input() thumbLabel = true;\n\n /** @ignore */\n label = '';\n}\n","<div>\n <mat-slider [id]=\"id\" [ngStyle]=\"{ width: width }\" [min]=\"min\" [max]=\"max\" [step]=\"step\" aria-label=\"slider\"\n ><input matSliderThumb [formControl]=\"valueControl\" />\n </mat-slider>\n @if (valueControl.touched && valueControl.errors) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { AdsSliderComponent } from './slider.component';\nimport { CommonModule } from '@angular/common';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatInputModule } from '@angular/material/input';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsErrorComponent } from '../../common/error/error.component';\nimport { AdsHintComponent } from '../../common/hint/hint.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatSliderModule,\n MatInputModule,\n AdsIconModule,\n AdsErrorComponent,\n AdsHintComponent,\n ],\n declarations: [AdsSliderComponent],\n exports: [AdsSliderComponent],\n})\nexport class AdsSliderModule {}\n","import { AfterViewInit, Component, Input, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'ads-inline-snackbar',\n templateUrl: './inline-snackbar.component.html',\n styleUrls: ['./inline-snackbar.component.scss'],\n})\nexport class AdsInlineSnackbarComponent implements OnInit, AfterViewInit {\n /** Set panel class for the snackbar. It determines snackbar color */\n @Input() panelClass: 'success' | 'warn' | 'primary' = 'success';\n\n /** Set message that will be shown on snackbar */\n @Input() message = 'Inline Snackbar';\n\n /** Set action button label */\n @Input() action = 'Click here';\n\n /** Set callback function that will be executed when action button is clicked. The button will be visible only if callback is set */\n @Input() actionCallback?: () => void;\n\n /** Set action2 button label */\n @Input() action2 = 'Click here';\n\n /** Set callback2 function that will be executed when action button is clicked. The button will be visible only if callback is set */\n @Input() actionCallback2?: () => void;\n\n /** @ignore */\n visible = false;\n\n constructor(private snackBar: MatSnackBar) {}\n\n /** @ignore */\n ngOnInit(): void {\n /**\n * connect regular snackbar to make sure all the required snackbar styles are linked\n */\n this.snackBar.open(this.message || 'X', this.action || 'X');\n this.snackBar.dismiss();\n }\n\n /** @ignore */\n click(): boolean {\n if (this.actionCallback) this.actionCallback();\n\n return false;\n }\n\n /** @ignore */\n click2(): boolean {\n if (this.actionCallback2) this.actionCallback2();\n\n return false;\n }\n\n /** @ignore */\n ngAfterViewInit(): void {\n setTimeout(() => (this.visible = true), 1);\n }\n}\n","<div class=\"mat-snack-bar-container {{ panelClass }}\" [ngClass]=\"{ visible: visible }\">\n <div class=\"mat-simple-snackbar\">\n <span class=\"message\">{{ message }}</span>\n <div class=\"links\" *ngIf=\"actionCallback || actionCallback2\">\n <a href=\"#\" *ngIf=\"actionCallback\" (click)=\"click()\">\n {{ action }}\n </a>\n <a href=\"#\" *ngIf=\"actionCallback2\" (click)=\"click2()\">\n {{ action2 }}\n </a>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsInlineSnackbarComponent } from './inline-snackbar.component';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\n\n@NgModule({\n declarations: [AdsInlineSnackbarComponent],\n imports: [CommonModule, MatSnackBarModule],\n exports: [AdsInlineSnackbarComponent],\n})\nexport class AdsInlineSnackbarModule {}\n","import { Component, inject } from '@angular/core';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\n\nexport type SnackBarData = {\n title?: string;\n message: string;\n hideActionButton?: boolean;\n buttonCaption?: string;\n};\n\n@Component({\n selector: 'ads-snackbar',\n templateUrl: './snackbar.component.html',\n styleUrls: ['./snackbar.component.scss'],\n})\nexport class AdsSnackbarComponent {\n data: SnackBarData = inject(MAT_SNACK_BAR_DATA);\n snackBarRef = inject(MatSnackBarRef);\n readonly defaultButtonCaption = 'CloseButton';\n protected readonly PanelClass = PanelClass;\n\n get buttonPanelClass(): PanelClass {\n const panelClass = this.snackBarRef.containerInstance.snackBarConfig.panelClass as PanelClass;\n return panelClass === PanelClass.Error ? PanelClass.Error : PanelClass.Secondary;\n }\n}\n\nexport enum PanelClass {\n Primary = 'primary',\n Secondary = 'secondary',\n Error = 'error',\n}\n","<div class=\"container\">\n <div>\n @if (data.title) {\n <div class=\"snackbar-title\" [innerHTML]=\"data.title\"></div>\n }\n <span [innerHTML]=\"data.message\"></span>\n </div>\n @if (!data.hideActionButton) {\n <ads-button [variant]=\"buttonPanelClass\" (click)=\"snackBarRef.dismissWithAction()\"\n >{{ data.buttonCaption ?? (defaultButtonCaption | transloco) }}\n </ads-button>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { AdsSnackbarComponent } from './snackbar.component';\nimport { AdsButtonModule } from '../../buttons/button';\nimport { TranslocoPipe } from '@jsverse/transloco';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [AdsButtonModule, MatSnackBarModule, TranslocoPipe, CommonModule],\n declarations: [AdsSnackbarComponent],\n exports: [AdsSnackbarComponent],\n})\nexport class AdsSnackbarModule {}\n","import { adsIcon } from '@ascentgl/ads-icons/icons';\n\nexport type VerticalStepBase = {\n title: string;\n subtitle?: string;\n date?: Date;\n icon?: adsIcon;\n status?: VerticalStepStatus;\n};\n\nexport type VerticalStepWithStatus = VerticalStepBase & { status: VerticalStepStatus };\n\nexport type VerticalStep = {\n title: string;\n subtitle?: string;\n date?: Date;\n icon: adsIcon;\n status: VerticalStepStatus;\n onClick?: (step: VerticalStep) => void;\n isClickable?: boolean;\n};\n\nexport type VerticalStyle = {\n circle: VerticalCircleStyle;\n lineBefore: VerticalLineStyle;\n lineAfter: VerticalLineStyle;\n skipped: VerticalCircleStyle;\n};\n\nexport type VerticalCircleStyle = {\n width: string;\n height: string;\n 'border-radius': string;\n};\n\nexport type VerticalLineStyle = {\n width: string;\n top: string;\n};\n\nexport enum VerticalStepStatus {\n Completed = 'completed',\n Current = 'current',\n Future = 'future',\n Skipped = 'skipped',\n Rejected = 'rejected',\n Alert = 'alert',\n Disabled = 'disabled',\n DisabledRejected = 'disabled-rejected',\n}\n","import { VerticalStep, VerticalStepStatus, VerticalStepBase, VerticalStepWithStatus } from './vertical-step.type';\nimport { adsIcon } from '@ascentgl/ads-icons/icons';\n\n/**\n * Sets a steps status based on multiple criteria\n * @param currentStep VerticalStep\n * @param index number\n * @param steps VrticalStep[]\n * @returns VerticalStep\n */\nexport function setVerticalStepStatus(\n currentStep: VerticalStepBase,\n index: number,\n steps: VerticalStepBase[],\n): VerticalStepWithStatus {\n // if step already has a status use it\n if (currentStep.status) {\n return currentStep as VerticalStep;\n }\n\n // if step is not the first, and previous step is rejected or disabled/rejected all other steps after it\n // should be disabled/rejected\n if (\n (index > 0 && getPreviousVerticalStepStatus(index, steps) === VerticalStepStatus.Rejected) ||\n getPreviousVerticalStepStatus(index, steps) === VerticalStepStatus.DisabledRejected\n ) {\n currentStep.status = VerticalStepStatus.DisabledRejected;\n // if step has a date, that step has been completed\n } else if (currentStep.date) {\n currentStep.status = VerticalStepStatus.Completed;\n // if step is not the first, and previous step has a date or if step is the first and the next step does\n // not have a date then step is current\n } else if (\n (index > 0 && steps[index - 1]?.date) ||\n (index === 0 && !steps[index + 1]?.date) ||\n getPreviousVerticalStepStatus(index, steps) === VerticalStepStatus.Skipped\n ) {\n currentStep.status = VerticalStepStatus.Current;\n // step is a future step\n } else {\n currentStep.status = VerticalStepStatus.Future;\n }\n\n return currentStep as VerticalStep;\n}\n\n/**\n * Takes a step and sets its itcon based on the steps status.\n * Status must be set prior to running this function.\n * @param currentStep VerticalStep\n * @returns VerticalStep\n */\nexport function setVerticalStepIcon(currentStep: VerticalStepWithStatus): VerticalStep {\n switch (currentStep.status) {\n case VerticalStepStatus.Completed:\n currentStep.icon = 'check';\n break;\n case VerticalStepStatus.Skipped:\n currentStep.icon = 'stepper_circle';\n break;\n case VerticalStepStatus.Disabled:\n currentStep.icon = 'minus';\n break;\n case VerticalStepStatus.Alert:\n currentStep.icon = 'exclamation';\n break;\n case VerticalStepStatus.Rejected:\n case VerticalStepStatus.DisabledRejected:\n currentStep.icon = 'cross';\n break;\n default:\n break;\n }\n\n return currentStep as VerticalStep;\n}\n\n/**\n * Returns the status of the previous step\n * @param index number\n * @param steps VerticalStep\n * @returns VerticalStepStatus\n */\nexport function getPreviousVerticalStepStatus(\n index: number,\n steps: VerticalStepBase[],\n): VerticalStepStatus | undefined {\n return steps[index - 1] && steps[index - 1].status;\n}\n\nexport function getVerticalStepperSampleData(): VerticalStep[] {\n return [\n {\n title: 'Details',\n icon: <adsIcon>'warehouse',\n },\n {\n title: 'Route',\n icon: <adsIcon>'location_filled',\n },\n {\n title: 'Cargo',\n icon: <adsIcon>'luggage',\n },\n {\n title: 'Scheduled',\n icon: <adsIcon>'calendar_star',\n },\n { title: 'Submit', icon: <adsIcon>'check' },\n ]\n .map(setVerticalStepStatus)\n .map(setVerticalStepIcon);\n}\n","import { ViewChildren } from '@angular/core';\nimport { Component, ElementRef, Input, OnChanges, OnInit, QueryList, Renderer2, SimpleChanges } from '@angular/core';\nimport { VerticalStep, VerticalStepStatus, VerticalStyle } from './vertical-step.type';\n\n@Component({\n selector: 'ads-vertical-stepper',\n styleUrls: ['./vertical-stepper.component.scss'],\n templateUrl: './vertical-stepper.component.html',\n})\nexport class AdsVerticalStepperComponent implements OnInit, OnChanges {\n constructor(\n private element: ElementRef,\n private renderer: Renderer2,\n private window: Window,\n ) {}\n\n /**\n * The unique ID for the vertical stepper\n */\n @Input() id!: string;\n\n /**\n * The steps to display\n */\n @Input() public verticalsteps: VerticalStep[] = [];\n\n /**\n * The size of the icons\n */\n @Input() public iconSize: 'sm' | 'md' | 'lg' = 'sm';\n\n /**\n * Whether the viewport is mobile\n */\n @Input() isMobile = false;\n\n /**\n * Enable tooltip\n */\n @Input() enableTooltip = false;\n\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n isLinear: boolean = false;\n\n /** @ignore */\n @ViewChildren('stepElements') stepElements!: QueryList<ElementRef>;\n\n /** @ignore */\n focusedStepIndex!: number;\n\n /** @ignore */\n stepStatus = VerticalStepStatus;\n\n /** @ignore */\n style!: VerticalStyle;\n\n /** @ignore */\n private iconMap = {\n sm: { size: 24, padding: 16 },\n md: { size: 32, padding: 24 },\n lg: { size: 48, padding: 32 },\n };\n\n /** @ignore */\n private shouldScroll = false;\n\n /** @ignore */\n private stepWidth!: number;\n\n /** @ignore */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.iconSize && !changes.iconSize.firstChange) {\n this.setCircleSize();\n }\n\n if (changes.isMobile && !changes.isMobile.firstChange) {\n this.resetStepperScrollState();\n this.setStepperScrollState();\n }\n }\n\n /** @ignore */\n ngOnInit(): void {\n this.focusedStepIndex = this.verticalsteps.findIndex(\n (step: VerticalStep) => step.status === this.stepStatus.Current,\n );\n this.setCircleSize();\n }\n\n /** @ignore */\n private centerFocusedStep(): void {\n const halfOfViewport = this.window.innerWidth / 2;\n const middleOfFocusedStep = this.focusedStepIndex * this.stepWidth + this.stepWidth / 2;\n this.renderer.setStyle(this.element.nativeElement, 'margin-left', `${halfOfViewport - middleOfFocusedStep}px`);\n }\n\n /** @ignore */\n private resetStepperScrollState(): void {\n this.shouldScroll = false;\n this.renderer.setStyle(this.element.nativeElement, 'margin-left', '0');\n }\n\n /** @ignore */\n private setCircleSize(): void {\n const { size, padding } = this.iconMap[this.iconSize];\n const circleSize = size + padding;\n\n this.style = {\n circle: {\n width: `${circleSize}px`,\n height: `${circleSize}px`,\n 'border-radius': `${circleSize / 2}px`,\n },\n lineBefore: {\n width: `calc(50% - ${circleSize / 2 - 4}px)`,\n top: `${circleSize / 2}px`,\n },\n lineAfter: {\n width: `calc(50% - ${circleSize / 2 - 6}px)`,\n top: `${circleSize / 2}px`,\n },\n skipped: {\n width: `${circleSize - 4}px`,\n height: `${circleSize - 4}px`,\n 'border-radius': `${circleSize / 2}px`,\n },\n };\n }\n\n /** @ignore */\n private setStepperScrollState(): void {\n this.stepWidth = this.stepElements.first.nativeElement.getBoundingClientRect().width;\n\n if (Math.floor(this.verticalsteps.length * this.stepWidth) > this.window.innerWidth) {\n this.stepElements.forEach((step) => this.renderer.setStyle(step.nativeElement, 'flex', '0 0 0'));\n this.shouldScroll = true;\n this.centerFocusedStep();\n } else {\n this.stepElements.forEach((step) => this.renderer.setStyle(step.nativeElement, 'flex', '1'));\n }\n }\n}\n","<div class=\"vertical-stepper\" aria-orientation=\"vertical\" [class.mobile]=\"isMobile\" [id]=\"id\">\n <ng-container *ngFor=\"let step of verticalsteps; let first = first; let last = last; let index = index\">\n <div\n #stepElements\n class=\"step\"\n [class.focused]=\"index === focusedStepIndex\"\n [ngClass]=\"{ clickable: step.onClick && step.isClickable !== false }\"\n >\n <div *ngIf=\"!first\" class=\"line before\" [ngClass]=\"step.status\" [ngStyle]=\"style.lineBefore\"></div>\n <div class=\"step-icon-wrapper\" (click)=\"step.onClick && step.isClickable !== false ? step.onClick!(step) : null\">\n <div\n class=\"step-icon\"\n [ngClass]=\"step.status\"\n [ngStyle]=\"step.status === stepStatus.Skipped ? style.skipped : style.circle\"\n [matTooltip]=\"step.title\"\n [matTooltipDisabled]=\"!enableTooltip\"\n >\n <ads-icon [name]=\"step.icon\" [size]=\"iconSize\" color=\"white\"></ads-icon>\n </div>\n </div>\n <span class=\"title\" (click)=\"step.onClick && step.isClickable !== false ? step.onClick!(step) : null\">{{\n step.title\n }}</span>\n </div>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AdsVerticalStepperComponent } from './vertical-stepper.component';\nimport { AdsGestureDirection, AdsGestureModule, ADS_GESTURE_DEFAULT_OPTIONS } from '@ascentgl/ads-utils';\n\n@NgModule({\n imports: [CommonModule, MatTooltipModule, AdsIconModule, AdsGestureModule],\n exports: [AdsVerticalStepperComponent],\n declarations: [AdsVerticalStepperComponent],\n providers: [\n { provide: Window, useValue: window },\n { provide: ADS_GESTURE_DEFAULT_OPTIONS, useValue: { direction: AdsGestureDirection.DIRECTION_HORIZONTAL } },\n ],\n})\nexport class AdsVerticalStepperModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-widget-actions',\n styleUrls: ['widget-actions.component.scss'],\n templateUrl: 'widget-actions.component.html',\n})\nexport class AdsWidgetActionsComponent {}\n","<div class=\"widget-actions\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { AdsWidgetActionsComponent } from './widget-actions.component';\n\n@NgModule({\n exports: [AdsWidgetActionsComponent],\n declarations: [AdsWidgetActionsComponent],\n})\nexport class AdsWidgetActionsModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ads-widget-bar',\n styleUrls: ['widget-bar.component.scss'],\n templateUrl: 'widget-bar.component.html',\n})\nexport class AdsWidgetBarComponent {\n /**\n * Whether the viewport is mobile\n */\n @Input() isMobile = false;\n}\n","<div class=\"widget-bar\" *ngIf=\"!isMobile\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AdsWidgetBarComponent } from './widget-bar.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AdsWidgetBarComponent],\n declarations: [AdsWidgetBarComponent],\n})\nexport class AdsWidgetBarModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-widget-container',\n templateUrl: './widget-container.component.html',\n styleUrls: ['./widget-container.component.scss'],\n})\nexport class AdsWidgetContainerComponent {}\n","<div class=\"widget-container\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AdsWidgetContainerComponent } from './widget-container.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AdsWidgetContainerComponent],\n declarations: [AdsWidgetContainerComponent],\n})\nexport class AdsWidgetContainerModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-widget-footer',\n templateUrl: './widget-footer.component.html',\n styleUrls: ['./widget-footer.component.scss'],\n})\nexport class AdsWidgetFooterComponent {}\n","<div class=\"widget-footer\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AdsWidgetFooterComponent } from './widget-footer.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AdsWidgetFooterComponent],\n declarations: [AdsWidgetFooterComponent],\n})\nexport class AdsWidgetFooterModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-widget-header',\n templateUrl: './widget-header.component.html',\n styleUrls: ['./widget-header.component.scss'],\n})\nexport class WidgetHeaderComponent {}\n","<div class=\"widget-header\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { WidgetHeaderComponent } from './widget-header.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [WidgetHeaderComponent],\n declarations: [WidgetHeaderComponent],\n})\nexport class AdsWidgetHeaderModule {}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'ads-widget-preview',\n styleUrls: ['widget-preview.component.scss'],\n templateUrl: 'widget-preview.component.html',\n})\nexport class AdsWidgetPreviewComponent implements OnInit {\n /**\n * alt text for the preview image\n */\n @Input() alt!: string;\n\n /**\n * Text to display that describes the widget\n */\n @Input() description!: string;\n\n /**\n * Path to the thumbnail image to display\n */\n @Input() thumbnail!: string;\n\n /**\n * Left position\n */\n @Input() left!: number;\n\n /**\n * Right position\n */\n @Input() top!: number;\n\n /** @ignore */\n ngOnInit(): void {\n this.top = this.top - 200;\n }\n}\n","<div class=\"widget-preview\" [style.top]=\"top + 'px'\" [style.left]=\"left + 'px'\">\n <img class=\"widget-preview-thumbnail\" [src]=\"thumbnail\" [alt]=\"alt\" />\n <div class=\"widget-preview-description\">{{ description }}</div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AdsWidgetPreviewComponent } from './widget-preview.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AdsWidgetPreviewComponent],\n declarations: [AdsWidgetPreviewComponent],\n})\nexport class AdsWidgetPreviewModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIcon, adsIconDrag } from '@ascentgl/ads-icons/icons';\n\n@Component({\n selector: 'ads-widget-thumbnail',\n styleUrls: ['widget-thumbnail.component.scss'],\n templateUrl: 'widget-thumbnail.component.html',\n})\nexport class AdsWidgetThumbnailComponent {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register([adsIconDrag]);\n }\n\n /**\n * Whether or not the widget is already on the dashboard\n */\n @Input() active = false;\n\n /**\n * Whether or not the widget drag event should be disabled\n */\n @Input() disabled = false;\n\n /**\n * The icon to display on the widget thumbnail\n */\n @Input() icon!: adsIcon;\n\n /**\n * The unique ID for the widget thumbnail\n */\n @Input() id!: string;\n\n /**\n * The text to display on the widget thumbnail\n */\n @Input() text!: string;\n\n /**\n * Event emitted when widget is added via keyboard\n */\n @Output() widgetAdd: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * Event emitted when widget loses focus\n */\n @Output() widgetBlur: EventEmitter<null> = new EventEmitter<null>();\n\n /**\n * Event emitted when widget dragstart event occurs\n */\n @Output() widgetDrag: EventEmitter<DragEvent> = new EventEmitter<DragEvent>();\n\n /**\n * Event emitted when widget is focused via keyboard\n */\n @Output() widgetFocus: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n\n /**\n * Event emitted when mouse enters widget\n */\n @Output() widgetHover: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n /**\n * Event emitted when mouse leaves widget\n */\n @Output() widgetLeave: EventEmitter<null> = new EventEmitter<null>();\n\n /** @ignore */\n public onWidgetBlur(): void {\n this.widgetBlur.emit();\n }\n\n /** @ignore */\n public onWidgetDrag(event: DragEvent): void {\n this.widgetDrag.emit(event);\n }\n\n /** @ignore */\n public onWidgetDragEnd(event: DragEvent): void {\n (event.target as HTMLElement).blur();\n }\n\n /** @ignore */\n public onWidgetEnter(event: Event): void {\n this.widgetAdd.emit(event);\n }\n\n /** @ignore */\n public onWidgetFocus(event: FocusEvent): void {\n this.widgetFocus.emit(event);\n }\n\n /** @ignore */\n public onWidgetHover(event: MouseEvent): void {\n this.widgetHover.emit(event);\n }\n\n /** @ignore */\n public onWidgetLeave(): void {\n this.widgetLeave.emit();\n }\n}\n","<div\n tabindex=\"0\"\n class=\"widget-thumbnail\"\n [class.active]=\"active\"\n [class.disabled]=\"disabled\"\n [draggable]=\"!disabled\"\n [id]=\"id\"\n (dragstart)=\"onWidgetDrag($event)\"\n (dragend)=\"onWidgetDragEnd($event)\"\n (keyup.enter)=\"onWidgetEnter($event)\"\n (mouseenter)=\"onWidgetHover($event)\"\n (mouseleave)=\"onWidgetLeave()\"\n (focus)=\"onWidgetFocus($event)\"\n (blur)=\"onWidgetBlur()\"\n>\n <ads-icon class=\"widget-thumbnail-drag\" name=\"drag\" size=\"sm\" theme=\"primary\"></ads-icon>\n <div class=\"widget-thumbnail-text\">{{ text }}</div>\n <div class=\"widget-thumbnail-icons\">\n <div class=\"widget-active\"></div>\n <ads-icon [name]=\"icon\" theme=\"primary\" size=\"xs\"></ads-icon>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { AdsWidgetThumbnailComponent } from './widget-thumbnail.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [CommonModule, AdsIconModule, OverlayModule],\n exports: [AdsWidgetThumbnailComponent],\n declarations: [AdsWidgetThumbnailComponent],\n})\nexport class AdsWidgetThumbnailModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ads-widget-thumbnail-container',\n styleUrls: ['widget-thumbnail-container.component.scss'],\n templateUrl: 'widget-thumbnail-container.component.html',\n})\nexport class AdsWidgetThumbnailContainerComponent {}\n","<div class=\"widget-thumbnail-container\" cdkDropList cdkDropListOrientation=\"horizontal\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport { AdsWidgetThumbnailContainerComponent } from './widget-thumbnail-container.component';\n\n@NgModule({\n imports: [DragDropModule],\n exports: [AdsWidgetThumbnailContainerComponent],\n declarations: [AdsWidgetThumbnailContainerComponent],\n})\nexport class AdsWidgetThumbnailContainerModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ads-widget-title',\n templateUrl: './widget-title.component.html',\n})\nexport class WidgetTitleComponent {\n /**\n * The title text to display\n */\n @Input() title!: string;\n\n /**\n * The color of the title text\n */\n @Input() color: 'medium' | 'primary' | 'secondary' = 'medium';\n}\n","<div class=\"text-card-sub-title\" [ngClass]=\"color\">{{ title }}</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { WidgetTitleComponent } from './widget-title.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [WidgetTitleComponent],\n declarations: [WidgetTitleComponent],\n})\nexport class AdsWidgetTitleModule {}\n","import { Component, EventEmitter, Output } from '@angular/core';\nimport { CdkStepper } from '@angular/cdk/stepper';\nimport { StepClickEvent } from './wizard-stepper.types';\n\n@Component({\n selector: 'ads-wizard-stepper',\n templateUrl: './wizard-stepper.component.html',\n styleUrls: ['./wizard-stepper.component.scss'],\n providers: [{ provide: CdkStepper, useExisting: AdsWizardStepperComponent }],\n})\nexport class AdsWizardStepperComponent extends CdkStepper {\n /** Event emitted when a step is clicked */\n @Output() stepClick: EventEmitter<StepClickEvent> = new EventEmitter();\n\n /** @ignore */\n public onStepClick(previouslySelectedIndex: number, selectedIndex: number): void {\n this.stepClick.emit({\n previouslySelectedIndex,\n selectedIndex,\n });\n }\n}\n","<div class=\"stepper\">\n <ng-container *ngFor=\"let step of steps; let first = first; let last = last; let index = index\">\n <div class=\"step\" [ngClass]=\"{ complete: step.completed, error: step.hasError, current: selectedIndex === index }\">\n <div *ngIf=\"!first\" class=\"line before\"></div>\n <div class=\"step-icon\" (click)=\"onStepClick(selectedIndex, index)\">\n <ads-icon *ngIf=\"step.completed && !step.hasError\" name=\"check\" color=\"#fff\" size=\"sm\"></ads-icon>\n <ads-icon *ngIf=\"step.hasError\" name=\"exclamation\" color=\"#fff\" size=\"sm\"></ads-icon>\n <span *ngIf=\"!step.completed && !step.hasError\" class=\"step-count\">{{ index + 1 }}</span>\n </div>\n <div *ngIf=\"!last\" class=\"line after\"></div>\n <ng-container [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-container>\n </div>\n </ng-container>\n</div>\n<div [ngTemplateOutlet]=\"selected ? selected.content : null\"></div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsWizardStepperComponent } from './wizard-stepper.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\n\n@NgModule({\n declarations: [AdsWizardStepperComponent],\n imports: [CommonModule, AdsIconModule, CdkStepperModule],\n exports: [AdsWizardStepperComponent],\n})\nexport class AdsWizardStepperModule {}\n","import { Injectable } from '@angular/core';\nimport { BreakpointObserver, Breakpoints, BreakpointState } from '@angular/cdk/layout';\nimport { Observable } from 'rxjs';\nimport { IViewportService } from './viewport.service.interface';\n\n@Injectable({ providedIn: 'root' })\nexport class ViewportService implements IViewportService {\n constructor(private breakpointObserver: BreakpointObserver) {}\n\n /**\n * Whether one or more media queries match the current viewport size.\n * @param breakpoints\n * @returns boolean\n */\n public isMatched(breakpoints: string | string[] = Breakpoints.Handset): boolean {\n return this.breakpointObserver.isMatched(breakpoints);\n }\n\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes in matching of the given queries.\n * @param breakpoints\n * @returns Observable<BreakpointState>\n */\n public observe(breakpoints: string | string[] = Breakpoints.Handset): Observable<BreakpointState> {\n return this.breakpointObserver.observe(breakpoints);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { IWindowService } from './window.service.interface';\n\n@Injectable({ providedIn: 'root' })\nexport class WindowService implements IWindowService {\n get innerHeight(): number {\n return window.innerHeight;\n }\n\n get innerWidth(): number {\n return window.innerWidth;\n }\n\n get search(): string {\n return window.location.search;\n }\n\n reload(): void {\n window.location.reload();\n }\n\n setTimeout(callback: (...args: unknown[]) => void, ms?: number | undefined, ...args: unknown[]): number {\n return window.setTimeout(callback, ms, args);\n }\n\n public clearTimeout(id: number): void {\n window.clearTimeout(id);\n }\n}\n","import { Component, Inject, TemplateRef } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconCross } from '@ascentgl/ads-icons/icons';\n\nexport type AdsModalData = {\n title: string;\n content: string;\n hideCancel?: boolean;\n cancelButtonText?: string;\n isExitIntent?: boolean;\n confirmButtonText?: string;\n template?: TemplateRef<unknown>;\n};\n\nexport enum ModalPanelClass {\n Confirmation = 'ads-confirmation',\n}\n\n@Component({\n selector: 'ads-modal',\n templateUrl: './modal.component.html',\n})\nexport class AdsModalComponent {\n constructor(\n private dialogRef: MatDialogRef<AdsModalComponent>,\n private registry: AdsIconRegistry,\n @Inject(MAT_DIALOG_DATA) public data: AdsModalData,\n ) {\n this.registry.register(adsIconCross);\n }\n\n public onCancel(): void {\n this.dialogRef.close(false);\n }\n\n public onSubmit(): void {\n this.dialogRef.close(true);\n }\n\n public onClose(): void {\n this.dialogRef.close();\n }\n}\n","<div mat-dialog-title>\n {{ data.title }}\n <div class=\"cross-icon-container\">\n <ads-icon name=\"cross\" size=\"xxs\" theme=\"primary\" (click)=\"onClose()\" />\n </div>\n</div>\n\n<div mat-dialog-content>\n @if (data.template) {\n <ng-container [ngTemplateOutlet]=\"data.template\" [ngTemplateOutletContext]=\"{ $implicit: data }\" />\n }\n {{ data.content }}\n</div>\n\n<div mat-dialog-actions>\n @if (!data.hideCancel) {\n <ads-button variant=\"secondary\" (click)=\"onCancel()\">\n @if (data.cancelButtonText) {\n {{ data.cancelButtonText | transloco }}\n } @else {\n {{ (data.isExitIntent ? 'DoNotSave' : 'Cancel') | transloco }}\n }\n </ads-button>\n }\n <ads-button variant=\"primary\" (click)=\"onSubmit()\">\n @if (data.confirmButtonText) {\n {{ data.confirmButtonText | transloco }}\n } @else {\n {{ (data.isExitIntent ? 'Save' : 'Confirm') | transloco }}\n }\n </ads-button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { AdsButtonModule } from '../buttons/button';\nimport { AdsModalComponent } from './modal.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { TranslocoPipe } from '@jsverse/transloco';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@NgModule({\n imports: [MatDialogModule, AdsButtonModule, AdsIconModule, TranslocoPipe, NgTemplateOutlet],\n declarations: [AdsModalComponent],\n exports: [AdsModalComponent],\n})\nexport class AdsModalModule {}\n","import { Component, input, output } from '@angular/core';\nimport { Chip } from './chip.types';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconCheck, adsIconCross } from '@ascentgl/ads-icons/icons';\n\n@Component({\n selector: 'ads-chip',\n templateUrl: './chip.component.html',\n styleUrls: ['./chip.component.scss'],\n})\nexport class AdsChipComponent {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register([adsIconCross, adsIconCheck]);\n }\n\n /** The unique id of the chip */\n id = input.required<string>();\n\n /** The text of the chip */\n title = input.required<string>();\n\n /** Show check icon before text */\n showCheckedIcon = input<boolean>(false);\n\n /** Disable chip */\n disabled = input<boolean>(false);\n\n /** Show delete icon before text */\n deletable = input<boolean>(false);\n\n /** Event emitted when the remove icon is clicked */\n deleted = output<string>();\n\n /** Event emitted when a chip is selected */\n selected = output<Chip>();\n\n /** @ignore */\n onSelected() {\n this.selected.emit({\n id: this.id(),\n title: this.title(),\n });\n }\n\n /** @ignore */\n onDelete() {\n if (!this.disabled()) {\n this.deleted.emit(this.id());\n }\n }\n}\n","<div class=\"chip\" [class.disabled]=\"disabled()\" tabindex=\"0\">\n @if (showCheckedIcon()) {\n <ads-icon name=\"check\" />\n }\n <span (click)=\"onSelected()\">{{ title() }}</span>\n @if (deletable()) {\n <ads-icon name=\"cross\" class=\"chip-delete\" (click)=\"onDelete()\" />\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { AdsChipComponent } from './chip.component';\nimport { NgClass, NgStyle } from '@angular/common';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\n\n@NgModule({\n declarations: [AdsChipComponent],\n exports: [AdsChipComponent],\n imports: [NgClass, NgStyle, AdsIconModule],\n})\nexport class AdsChipModule {}\n","import { Component, input } from '@angular/core';\nimport { AdsIconRegistry } from '@ascentgl/ads-icons';\nimport { adsIconChevronDown, adsIconChevronUp } from '@ascentgl/ads-icons/icons';\nimport { Colors } from '../general/color-palette/colors.enums';\n\n@Component({\n selector: 'ads-expansion-panel',\n templateUrl: './expansion-panel.component.html',\n styleUrls: ['./expansion-panel.component.scss'],\n})\nexport class AdsExpansionPanelComponent {\n constructor(private registry: AdsIconRegistry) {\n this.registry.register([adsIconChevronDown, adsIconChevronUp]);\n }\n\n /** @ignore */\n protected readonly Colors = Colors;\n\n /** The unique id of the chip */\n id = input<string>('');\n\n /** The header text */\n header = input.required<string>();\n\n /** Whether the AccordionItem is expanded. */\n isExpanded = input<boolean>(false);\n\n /** Whether the AccordionItem is disabled. */\n disabled = input<boolean>(false);\n\n /** Component width. Must include units of measure: px, %, em, rem, etc. */\n width = input<string>('100%');\n}\n","<mat-expansion-panel [expanded]=\"isExpanded()\" [ngStyle]=\"{ width: width() }\" #panel [disabled]=\"disabled()\">\n <mat-expansion-panel-header>\n <mat-panel-title> {{ header() }}</mat-panel-title>\n <mat-panel-description>\n @if (panel.expanded) {\n <ads-icon size=\"xs\" name=\"chevron_down\" theme=\"iconPrimary\" />\n } @else {\n <ads-icon size=\"xs\" name=\"chevron_up\" theme=\"iconPrimary\" />\n }\n </mat-panel-description>\n </mat-expansion-panel-header>\n <ng-content />\n</mat-expansion-panel>\n","import { NgModule } from '@angular/core';\nimport { AdsExpansionPanelComponent } from './expansion-panel.component';\nimport { NgClass, NgStyle } from '@angular/common';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport {\n MatExpansionPanel,\n MatExpansionPanelDescription,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n} from '@angular/material/expansion';\n\n@NgModule({\n declarations: [AdsExpansionPanelComponent],\n exports: [AdsExpansionPanelComponent],\n imports: [\n NgClass,\n NgStyle,\n AdsIconModule,\n MatExpansionPanel,\n MatExpansionPanelTitle,\n MatExpansionPanelHeader,\n MatExpansionPanelDescription,\n ],\n})\nexport class AdsExpansionPanelModule {}\n","import { Component, HostListener, Input } from '@angular/core';\nimport { GENERIC_COLLECTION } from '@ascentgl/ads-utils';\nimport { ColDef, FirstDataRenderedEvent, GridApi, GridOptions, GridReadyEvent } from 'ag-grid-community';\n\n@Component({\n selector: 'ads-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n})\nexport class AdsTableComponent {\n /** The grid's width */\n @Input() width = '100%';\n\n /** The grid's height */\n @Input() height = '100%';\n\n /** The grid options for ag-Grid */\n @Input() gridOptions?: GridOptions;\n\n /** The data to be displayed in the grid */\n @Input() rowData!: GENERIC_COLLECTION[];\n\n /** The column definitions for the grid */\n @Input() columnDefs!: ColDef[];\n\n /** Default column definitions that will be applied to all columns */\n @Input() defaultColDef: ColDef<GENERIC_COLLECTION> = {};\n\n /** @ignore */\n getDefaultColDef(): ColDef<GENERIC_COLLECTION> {\n return {\n ...this.defaultColDef,\n unSortIcon: true,\n };\n }\n\n /** @ignore */\n private gridApi?: GridApi;\n\n /** @ignore */\n @HostListener('window:resize') resize(): void {\n this.gridApi?.sizeColumnsToFit();\n }\n\n /** @ignore */\n onGridReady(params: GridReadyEvent): void {\n this.gridApi = params.api;\n this.resize();\n }\n\n /** @ignore */\n onFirstDataRendered(params: FirstDataRenderedEvent): void {\n params.api.sizeColumnsToFit();\n }\n\n /** @ignore */\n getAgGridIcons(): GENERIC_COLLECTION {\n return {\n sortAscending:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"7\" height=\"13\" viewBox=\"0 0 7 13\" fill=\"none\">\\n' +\n ' <path d=\"M3.5 2.29227L5.12266 4.70574L1.87734 4.70574L3.5 2.29227Z\" stroke-width=\"2\"/>\\n' +\n '</svg>',\n sortDescending:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"7\" height=\"13\" viewBox=\"0 0 7 13\" fill=\"none\">\\n' +\n ' <path d=\"M3.5 10.5738L1.87734 8.16029L5.12266 8.16029L3.5 10.5738Z\" stroke-width=\"2\"/>\\n' +\n '</svg>',\n\n sortUnSort:\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"7\" height=\"13\" viewBox=\"0 0 7 13\" fill=\"none\">\\n' +\n ' <path d=\"M3.5 2.29227L5.12266 4.70574L1.87734 4.70574L3.5 2.29227Z\" stroke-width=\"2\"/>\\n' +\n ' <path d=\"M3.5 10.5738L1.87734 8.16029L5.12266 8.16029L3.5 10.5738Z\" stroke-width=\"2\"/>\\n' +\n '</svg>',\n };\n }\n\n /** @ignore */\n gridReady($event: GridReadyEvent): void {\n return this.gridOptions?.onGridReady ? this.gridOptions.onGridReady($event) : this.onGridReady($event);\n }\n\n /** @ignore */\n firstDataRendered($event: FirstDataRenderedEvent): void {\n return this.gridOptions?.onFirstDataRendered\n ? this.gridOptions.onFirstDataRendered($event)\n : this.onFirstDataRendered($event);\n }\n}\n","<ag-grid-angular\n [ngStyle]=\"{ width: width, height: height }\"\n [icons]=\"getAgGridIcons()\"\n class=\"ag-theme-quartz\"\n [gridOptions]=\"gridOptions\"\n [rowData]=\"rowData\"\n [columnDefs]=\"columnDefs\"\n [defaultColDef]=\"getDefaultColDef()\"\n (gridReady)=\"gridReady($event)\"\n (firstDataRendered)=\"firstDataRendered($event)\"\n/>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdsTableComponent } from './table.component';\nimport { AdsIconModule } from '@ascentgl/ads-icons';\nimport { AgGridAngular } from 'ag-grid-angular';\n\n@NgModule({\n declarations: [AdsTableComponent],\n imports: [CommonModule, AdsIconModule, AgGridAngular],\n exports: [AdsTableComponent],\n})\nexport class AdsTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i3.AdsIconButtonComponent","i3","i4","i5.AdsButtonComponent","i4.AdsButtonComponent","i5","i6","i2.AdsHintComponent","i3.AdsErrorComponent","i4.AdsSuccessComponent","i7","i8.AdsInputTooltipComponent","i9.AdsErrorComponent","i10.AdsHintComponent","i11.AdsSuccessComponent","i12.AdsTagComponent","i13.AdsCheckboxComponent","i7.AdsInputTooltipComponent","i9.AdsSuccessComponent","i10.AdsErrorComponent","i11.AdsHintComponent","i6.AdsInputTooltipComponent","i8.AdsSuccessComponent","i2.AdsInputComponent","i3.AdsDropdownComponent","i4.AdsInputTooltipComponent","i5.AdsErrorComponent","i6.AdsHintComponent","i7.AdsSuccessComponent","i9.AdsInputTooltipComponent","i12.AdsSuccessComponent","i13.AdsSearchDropdownHighlighterPipe","i8.AdsErrorComponent","i9.AdsHintComponent","i10.AdsSuccessComponent","i7.DateTimePickerFormatDirective","i9","i4.AdsErrorComponent","i5.AdsHintComponent","i2.AdsErrorComponent","i3.AdsHintComponent","i1.AdsButtonComponent","i3.AdsButtonComponent"],"mappings":"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"}