@sarasanalytics-com/design-system 0.0.41 → 0.0.43

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 (376) hide show
  1. package/.editorconfig +16 -0
  2. package/.eslintrc.json +23 -0
  3. package/.storybook/main.ts +21 -0
  4. package/.storybook/manager.ts +17 -0
  5. package/.storybook/preview-head.html +5 -0
  6. package/.storybook/preview.ts +66 -0
  7. package/.storybook/tsconfig.doc.json +10 -0
  8. package/.storybook/tsconfig.json +11 -0
  9. package/.storybook/typings.d.ts +4 -0
  10. package/.vscode/extensions.json +7 -0
  11. package/.vscode/launch.json +20 -0
  12. package/.vscode/settings.json +13 -0
  13. package/.vscode/tasks.json +42 -0
  14. package/README.md +34 -13
  15. package/angular.json +195 -0
  16. package/build-storybook.log +45 -0
  17. package/documentation.json +0 -0
  18. package/generate-public-api.js +59 -0
  19. package/package.json +73 -18
  20. package/projects/component-library/README.md +24 -0
  21. package/projects/component-library/ng-package.json +8 -0
  22. package/projects/component-library/package.json +12 -0
  23. package/projects/component-library/src/interfaces/avatar-interface.ts +6 -0
  24. package/projects/component-library/src/interfaces/button-interface.ts +37 -0
  25. package/{interfaces/card-carousel-interface.d.ts → projects/component-library/src/interfaces/card-carousel-interface.ts} +2 -1
  26. package/projects/component-library/src/interfaces/chip-interface.ts +11 -0
  27. package/projects/component-library/src/interfaces/grid-interface.ts +24 -0
  28. package/projects/component-library/src/interfaces/icon-interface.ts +21 -0
  29. package/projects/component-library/src/interfaces/select-interface.ts +20 -0
  30. package/projects/component-library/src/interfaces/tab-interface.ts +6 -0
  31. package/{interfaces/toast-interface.d.ts → projects/component-library/src/interfaces/toast-interface.ts} +1 -1
  32. package/projects/component-library/src/lib/accordion/accordion.component.css +188 -0
  33. package/projects/component-library/src/lib/accordion/accordion.component.html +151 -0
  34. package/projects/component-library/src/lib/accordion/accordion.component.spec.ts +23 -0
  35. package/projects/component-library/src/lib/accordion/accordion.component.ts +129 -0
  36. package/projects/component-library/src/lib/avatar/avatar.component.css +48 -0
  37. package/projects/component-library/src/lib/avatar/avatar.component.html +5 -0
  38. package/projects/component-library/src/lib/avatar/avatar.component.spec.ts +23 -0
  39. package/projects/component-library/src/lib/avatar/avatar.component.ts +50 -0
  40. package/projects/component-library/src/lib/button/button.component.css +145 -0
  41. package/projects/component-library/src/lib/button/button.component.html +25 -0
  42. package/projects/component-library/src/lib/button/button.component.spec.ts +23 -0
  43. package/projects/component-library/src/lib/button/button.component.ts +82 -0
  44. package/projects/component-library/src/lib/calendar-header/calendar-header.component.css +67 -0
  45. package/projects/component-library/src/lib/calendar-header/calendar-header.component.html +20 -0
  46. package/projects/component-library/src/lib/calendar-header/calendar-header.component.spec.ts +23 -0
  47. package/projects/component-library/src/lib/calendar-header/calendar-header.component.ts +191 -0
  48. package/projects/component-library/src/lib/card/card-body/card-body.component.css +0 -0
  49. package/projects/component-library/src/lib/card/card-body/card-body.component.html +1 -0
  50. package/projects/component-library/src/lib/card/card-body/card-body.component.spec.ts +23 -0
  51. package/projects/component-library/src/lib/card/card-body/card-body.component.ts +12 -0
  52. package/projects/component-library/src/lib/card/card-custom-header/card-custom-header.component.css +70 -0
  53. package/projects/component-library/src/lib/card/card-custom-header/card-custom-header.component.html +1 -0
  54. package/projects/component-library/src/lib/card/card-custom-header/card-custom-header.component.spec.ts +23 -0
  55. package/projects/component-library/src/lib/card/card-custom-header/card-custom-header.component.ts +13 -0
  56. package/projects/component-library/src/lib/card/card-footer-actions/card-footer-actions.component.css +4 -0
  57. package/projects/component-library/src/lib/card/card-footer-actions/card-footer-actions.component.html +3 -0
  58. package/projects/component-library/src/lib/card/card-footer-actions/card-footer-actions.component.spec.ts +23 -0
  59. package/projects/component-library/src/lib/card/card-footer-actions/card-footer-actions.component.ts +12 -0
  60. package/projects/component-library/src/lib/card/card-icon/card-icon.component.css +0 -0
  61. package/projects/component-library/src/lib/card/card-icon/card-icon.component.html +1 -0
  62. package/projects/component-library/src/lib/card/card-icon/card-icon.component.spec.ts +23 -0
  63. package/projects/component-library/src/lib/card/card-icon/card-icon.component.ts +12 -0
  64. package/projects/component-library/src/lib/card/card-title-actions/card-title-actions.component.css +3 -0
  65. package/projects/component-library/src/lib/card/card-title-actions/card-title-actions.component.html +1 -0
  66. package/projects/component-library/src/lib/card/card-title-actions/card-title-actions.component.spec.ts +23 -0
  67. package/projects/component-library/src/lib/card/card-title-actions/card-title-actions.component.ts +12 -0
  68. package/projects/component-library/src/lib/card/card.component.css +149 -0
  69. package/projects/component-library/src/lib/card/card.component.html +46 -0
  70. package/projects/component-library/src/lib/card/card.component.spec.ts +23 -0
  71. package/projects/component-library/src/lib/card/card.component.ts +47 -0
  72. package/projects/component-library/src/lib/card/checkbox-card/checkbox-card.component.css +79 -0
  73. package/projects/component-library/src/lib/card/checkbox-card/checkbox-card.component.html +55 -0
  74. package/projects/component-library/src/lib/card/checkbox-card/checkbox-card.component.spec.ts +23 -0
  75. package/projects/component-library/src/lib/card/checkbox-card/checkbox-card.component.ts +44 -0
  76. package/projects/component-library/src/lib/card/guide-card/guide-card.component.css +80 -0
  77. package/projects/component-library/src/lib/card/guide-card/guide-card.component.html +24 -0
  78. package/projects/component-library/src/lib/card/guide-card/guide-card.component.spec.ts +23 -0
  79. package/projects/component-library/src/lib/card/guide-card/guide-card.component.ts +19 -0
  80. package/projects/component-library/src/lib/card-carousel/card-carousel.component.css +91 -0
  81. package/projects/component-library/src/lib/card-carousel/card-carousel.component.html +54 -0
  82. package/projects/component-library/src/lib/card-carousel/card-carousel.component.spec.ts +23 -0
  83. package/projects/component-library/src/lib/card-carousel/card-carousel.component.ts +89 -0
  84. package/projects/component-library/src/lib/checkbox/checkbox.component.css +79 -0
  85. package/projects/component-library/src/lib/checkbox/checkbox.component.html +27 -0
  86. package/projects/component-library/src/lib/checkbox/checkbox.component.spec.ts +23 -0
  87. package/projects/component-library/src/lib/checkbox/checkbox.component.ts +38 -0
  88. package/projects/component-library/src/lib/chips/chips.component.css +129 -0
  89. package/projects/component-library/src/lib/chips/chips.component.html +17 -0
  90. package/projects/component-library/src/lib/chips/chips.component.spec.ts +23 -0
  91. package/projects/component-library/src/lib/chips/chips.component.ts +54 -0
  92. package/projects/component-library/src/lib/component-library.component.spec.ts +23 -0
  93. package/projects/component-library/src/lib/component-library.component.ts +16 -0
  94. package/projects/component-library/src/lib/component-library.service.spec.ts +16 -0
  95. package/projects/component-library/src/lib/component-library.service.ts +9 -0
  96. package/projects/component-library/src/lib/datepicker/datepicker.component.css +33 -0
  97. package/projects/component-library/src/lib/datepicker/datepicker.component.html +11 -0
  98. package/projects/component-library/src/lib/datepicker/datepicker.component.spec.ts +23 -0
  99. package/projects/component-library/src/lib/datepicker/datepicker.component.ts +36 -0
  100. package/projects/component-library/src/lib/form-input/form-input.component.css +164 -0
  101. package/projects/component-library/src/lib/form-input/form-input.component.html +55 -0
  102. package/projects/component-library/src/lib/form-input/form-input.component.spec.ts +23 -0
  103. package/projects/component-library/src/lib/form-input/form-input.component.ts +282 -0
  104. package/projects/component-library/src/lib/form-select/form-select.component.css +158 -0
  105. package/projects/component-library/src/lib/form-select/form-select.component.html +38 -0
  106. package/projects/component-library/src/lib/form-select/form-select.component.spec.ts +23 -0
  107. package/projects/component-library/src/lib/form-select/form-select.component.ts +72 -0
  108. package/projects/component-library/src/lib/grid-cell/grid-cell.component.css +78 -0
  109. package/projects/component-library/src/lib/grid-cell/grid-cell.component.html +31 -0
  110. package/projects/component-library/src/lib/grid-cell/grid-cell.component.spec.ts +23 -0
  111. package/projects/component-library/src/lib/grid-cell/grid-cell.component.ts +89 -0
  112. package/projects/component-library/src/lib/header/header.component.css +62 -0
  113. package/projects/component-library/src/lib/header/header.component.html +23 -0
  114. package/projects/component-library/src/lib/header/header.component.spec.ts +23 -0
  115. package/projects/component-library/src/lib/header/header.component.ts +28 -0
  116. package/projects/component-library/src/lib/icon/icon.component.css +65 -0
  117. package/projects/component-library/src/lib/icon/icon.component.html +9 -0
  118. package/projects/component-library/src/lib/icon/icon.component.ts +64 -0
  119. package/projects/component-library/src/lib/icon/icon.service.ts +26 -0
  120. package/projects/component-library/src/lib/left-nav/left-nav.component.css +109 -0
  121. package/projects/component-library/src/lib/left-nav/left-nav.component.html +51 -0
  122. package/projects/component-library/src/lib/left-nav/left-nav.component.spec.ts +23 -0
  123. package/projects/component-library/src/lib/left-nav/left-nav.component.ts +180 -0
  124. package/projects/component-library/src/lib/list/list.component.css +28 -0
  125. package/projects/component-library/src/lib/list/list.component.html +10 -0
  126. package/projects/component-library/src/lib/list/list.component.spec.ts +23 -0
  127. package/projects/component-library/src/lib/list/list.component.ts +15 -0
  128. package/projects/component-library/src/lib/message-banner/message-banner.component.css +52 -0
  129. package/projects/component-library/src/lib/message-banner/message-banner.component.html +15 -0
  130. package/projects/component-library/src/lib/message-banner/message-banner.component.spec.ts +23 -0
  131. package/projects/component-library/src/lib/message-banner/message-banner.component.ts +31 -0
  132. package/projects/component-library/src/lib/page-layout/page-layout.component.css +76 -0
  133. package/projects/component-library/src/lib/page-layout/page-layout.component.html +30 -0
  134. package/projects/component-library/src/lib/page-layout/page-layout.component.spec.ts +23 -0
  135. package/projects/component-library/src/lib/page-layout/page-layout.component.ts +14 -0
  136. package/projects/component-library/src/lib/progress-bar/progress-bar.component.css +30 -0
  137. package/projects/component-library/src/lib/progress-bar/progress-bar.component.html +4 -0
  138. package/projects/component-library/src/lib/progress-bar/progress-bar.component.spec.ts +23 -0
  139. package/projects/component-library/src/lib/progress-bar/progress-bar.component.ts +24 -0
  140. package/projects/component-library/src/lib/radio-button/radio-button.component.css +128 -0
  141. package/projects/component-library/src/lib/radio-button/radio-button.component.html +28 -0
  142. package/projects/component-library/src/lib/radio-button/radio-button.component.spec.ts +23 -0
  143. package/projects/component-library/src/lib/radio-button/radio-button.component.ts +35 -0
  144. package/projects/component-library/src/lib/scrolling-cards/scrolling-cards.component.css +118 -0
  145. package/projects/component-library/src/lib/scrolling-cards/scrolling-cards.component.html +11 -0
  146. package/projects/component-library/src/lib/scrolling-cards/scrolling-cards.component.spec.ts +23 -0
  147. package/projects/component-library/src/lib/scrolling-cards/scrolling-cards.component.ts +74 -0
  148. package/projects/component-library/src/lib/spinner/spinner.component.css +41 -0
  149. package/projects/component-library/src/lib/spinner/spinner.component.html +1 -0
  150. package/projects/component-library/src/lib/spinner/spinner.component.spec.ts +23 -0
  151. package/projects/component-library/src/lib/spinner/spinner.component.ts +15 -0
  152. package/projects/component-library/src/lib/stepper/stepper.component.css +96 -0
  153. package/projects/component-library/src/lib/stepper/stepper.component.html +14 -0
  154. package/projects/component-library/src/lib/stepper/stepper.component.spec.ts +23 -0
  155. package/projects/component-library/src/lib/stepper/stepper.component.ts +61 -0
  156. package/projects/component-library/src/lib/tabs/tabs.component.css +100 -0
  157. package/projects/component-library/src/lib/tabs/tabs.component.html +16 -0
  158. package/projects/component-library/src/lib/tabs/tabs.component.spec.ts +23 -0
  159. package/projects/component-library/src/lib/tabs/tabs.component.ts +37 -0
  160. package/projects/component-library/src/lib/toast/toast.component.css +115 -0
  161. package/projects/component-library/src/lib/toast/toast.component.html +29 -0
  162. package/projects/component-library/src/lib/toast/toast.component.spec.ts +23 -0
  163. package/projects/component-library/src/lib/toast/toast.component.ts +87 -0
  164. package/projects/component-library/src/lib/tool-tip/tool-tip.component.css +144 -0
  165. package/projects/component-library/src/lib/tool-tip/tool-tip.component.html +31 -0
  166. package/projects/component-library/src/lib/tool-tip/tool-tip.component.spec.ts +23 -0
  167. package/projects/component-library/src/lib/tool-tip/tool-tip.component.ts +37 -0
  168. package/{public-api.d.ts → projects/component-library/src/public-api.ts} +13 -0
  169. package/projects/component-library/src/shared/formly-field-wrapper/formly-field-wrapper.component.css +0 -0
  170. package/projects/component-library/src/shared/formly-field-wrapper/formly-field-wrapper.component.html +22 -0
  171. package/projects/component-library/src/shared/formly-field-wrapper/formly-field-wrapper.component.spec.ts +23 -0
  172. package/projects/component-library/src/shared/formly-field-wrapper/formly-field-wrapper.component.ts +13 -0
  173. package/projects/component-library/src/utils/validators.ts +100 -0
  174. package/projects/component-library/tsconfig.lib.json +14 -0
  175. package/projects/component-library/tsconfig.lib.prod.json +10 -0
  176. package/projects/component-library/tsconfig.spec.json +14 -0
  177. package/sarasanalytics-com-design-system-0.0.21.tgz +0 -0
  178. package/src/Saras-logo.svg +15 -0
  179. package/src/app/app.component.css +82 -0
  180. package/src/app/app.component.html +663 -0
  181. package/src/app/app.component.spec.ts +29 -0
  182. package/src/app/app.component.ts +1341 -0
  183. package/src/app/app.config.ts +56 -0
  184. package/src/app/app.routes.ts +3 -0
  185. package/src/app/data.ts +52 -0
  186. package/src/app/kitchen-sink/kitchen-sink.component.css +30 -0
  187. package/src/app/kitchen-sink/kitchen-sink.component.html +7 -0
  188. package/src/app/kitchen-sink/kitchen-sink.component.spec.ts +23 -0
  189. package/src/app/kitchen-sink/kitchen-sink.component.ts +92 -0
  190. package/src/assets/.gitkeep +0 -0
  191. package/src/assets/analysis.svg +1 -0
  192. package/src/assets/arrowRightOutlined.svg +1 -0
  193. package/src/assets/avatar.svg +1 -0
  194. package/src/assets/bpn.svg +1 -0
  195. package/src/assets/businessStatsFilled.svg +1 -0
  196. package/src/assets/channelkey.svg +1 -0
  197. package/src/assets/chatHelpOutlined.svg +1 -0
  198. package/src/assets/checkCircleFilled.svg +1 -0
  199. package/src/assets/checkCircleOutlined.svg +1 -0
  200. package/src/assets/checkOutlined.svg +1 -0
  201. package/src/assets/circleFilled.svg +1 -0
  202. package/src/assets/closeBlueOutlined.svg +1 -0
  203. package/src/assets/closeCircleFilled.svg +1 -0
  204. package/src/assets/closeOutlined.svg +1 -0
  205. package/src/assets/dataonavatar.svg +1 -0
  206. package/src/assets/datonAvatar.png +0 -0
  207. package/src/assets/desktopSpeakerOutlined.svg +1 -0
  208. package/src/assets/disabledCheckboxFilled.svg +1 -0
  209. package/src/assets/doubleDownOutlined.svg +1 -0
  210. package/src/assets/downChevronOutlined.svg +3 -0
  211. package/src/assets/downOutlined.svg +1 -0
  212. package/src/assets/errorCircleOutlined.svg +1 -0
  213. package/src/assets/errorCrossOutlined.svg +3 -0
  214. package/src/assets/eyeFilled.svg +1 -0
  215. package/src/assets/eyeOff.svg +3 -0
  216. package/src/assets/eyeOutlined.svg +1 -0
  217. package/src/assets/formDetailsOutlined.svg +1 -0
  218. package/src/assets/gridViewOutlined.svg +1 -0
  219. package/src/assets/headsetOutlined.svg +3 -0
  220. package/src/assets/homeOutlined.svg +1 -0
  221. package/src/assets/icons/analysis1.svg +1 -0
  222. package/src/assets/infoCircleOutlined.svg +3 -0
  223. package/src/assets/infoTriangleFilled.svg +1 -0
  224. package/src/assets/infoTriangleOutlined.svg +1 -0
  225. package/src/assets/innosupps.svg +1 -0
  226. package/src/assets/leftChevronCircle.svg +2 -0
  227. package/src/assets/locationOutlined.svg +1 -0
  228. package/src/assets/loginDashboard.png +0 -0
  229. package/src/assets/mailOutlined.svg +1 -0
  230. package/src/assets/multiConnectionHub.svg +1 -0
  231. package/src/assets/murad.svg +1 -0
  232. package/src/assets/personOutlined.svg +1 -0
  233. package/src/assets/pricingIcon.svg +3 -0
  234. package/src/assets/rightChevronCircle.svg +1 -0
  235. package/src/assets/rightChevronOutlined.svg +1 -0
  236. package/src/assets/sarasFullLogo.svg +13 -0
  237. package/src/assets/sarasWhite.svg +1 -0
  238. package/src/assets/settingsOutlined.svg +1 -0
  239. package/src/assets/sourcesOutlined.svg +1 -0
  240. package/src/assets/tabDesktopArrowClockwiseOutlined.svg +1 -0
  241. package/src/assets/targetScanOutlined.svg +1 -0
  242. package/src/assets/timerOutlined.svg +5 -0
  243. package/src/assets/upwardTriangleFilled.svg +1 -0
  244. package/src/custom-theme.scss +37 -0
  245. package/src/favicon.ico +0 -0
  246. package/src/index.html +23 -0
  247. package/src/main.ts +6 -0
  248. package/src/stories/GettingStarted.mdx +233 -0
  249. package/src/stories/KitchenSink.stories.ts +109 -0
  250. package/src/stories/accordion.stories.ts +234 -0
  251. package/src/stories/avatar.stories.ts +45 -0
  252. package/src/stories/card-carousel.stories.ts +136 -0
  253. package/src/stories/card.stories.ts +242 -0
  254. package/src/stories/checkbox.stories.ts +238 -0
  255. package/src/stories/chips.stories.ts +61 -0
  256. package/src/stories/custom-button.stories.ts +89 -0
  257. package/src/stories/datepicker.stories.ts +78 -0
  258. package/src/stories/form-input.stories.ts +166 -0
  259. package/src/stories/gridCell.stories.ts +234 -0
  260. package/src/stories/header.stories.ts +61 -0
  261. package/src/stories/icon.stories.ts +65 -0
  262. package/src/stories/leftnav.stories.ts +67 -0
  263. package/src/stories/message-banner.stories.ts +116 -0
  264. package/src/stories/page-layout.stories.ts +200 -0
  265. package/src/stories/progress-bar.stories.ts +40 -0
  266. package/src/stories/radio-button.stories.ts +80 -0
  267. package/src/stories/scrolling-card.stories.ts +36 -0
  268. package/src/stories/selectInput.stories.ts +176 -0
  269. package/src/stories/stepper.stories.ts +92 -0
  270. package/src/stories/tabs.stories.ts +97 -0
  271. package/src/stories/toast.stories.ts +74 -0
  272. package/src/stories/tool-tip.stories.ts +45 -0
  273. package/{styles → src}/styles.css +27 -0
  274. package/src/svg.d.ts +1 -0
  275. package/tsconfig.app.json +14 -0
  276. package/tsconfig.json +42 -0
  277. package/tsconfig.spec.json +14 -0
  278. package/esm2022/interfaces/avatar-interface.mjs +0 -2
  279. package/esm2022/interfaces/button-interface.mjs +0 -10
  280. package/esm2022/interfaces/card-carousel-interface.mjs +0 -2
  281. package/esm2022/interfaces/chip-interface.mjs +0 -2
  282. package/esm2022/interfaces/grid-interface.mjs +0 -2
  283. package/esm2022/interfaces/guide-card-interface.mjs +0 -2
  284. package/esm2022/interfaces/icon-interface.mjs +0 -16
  285. package/esm2022/interfaces/message-banner.mjs +0 -2
  286. package/esm2022/interfaces/option-interface.mjs +0 -2
  287. package/esm2022/interfaces/select-interface.mjs +0 -2
  288. package/esm2022/interfaces/tab-interface.mjs +0 -2
  289. package/esm2022/interfaces/toast-interface.mjs +0 -2
  290. package/esm2022/lib/avatar/avatar.component.mjs +0 -56
  291. package/esm2022/lib/button/button.component.mjs +0 -100
  292. package/esm2022/lib/calendar-header/calendar-header.component.mjs +0 -168
  293. package/esm2022/lib/card/card-body/card-body.component.mjs +0 -11
  294. package/esm2022/lib/card/card-custom-header/card-custom-header.component.mjs +0 -11
  295. package/esm2022/lib/card/card-footer-actions/card-footer-actions.component.mjs +0 -11
  296. package/esm2022/lib/card/card-icon/card-icon.component.mjs +0 -11
  297. package/esm2022/lib/card/card-title-actions/card-title-actions.component.mjs +0 -11
  298. package/esm2022/lib/card/card.component.mjs +0 -97
  299. package/esm2022/lib/card/checkbox-card/checkbox-card.component.mjs +0 -41
  300. package/esm2022/lib/card/guide-card/guide-card.component.mjs +0 -19
  301. package/esm2022/lib/card-carousel/card-carousel.component.mjs +0 -87
  302. package/esm2022/lib/checkbox/checkbox.component.mjs +0 -38
  303. package/esm2022/lib/chips/chips.component.mjs +0 -62
  304. package/esm2022/lib/component-library.component.mjs +0 -19
  305. package/esm2022/lib/component-library.service.mjs +0 -14
  306. package/esm2022/lib/datepicker/datepicker.component.mjs +0 -40
  307. package/esm2022/lib/form-input/form-input.component.mjs +0 -219
  308. package/esm2022/lib/form-select/form-select.component.mjs +0 -77
  309. package/esm2022/lib/grid-cell/grid-cell.component.mjs +0 -84
  310. package/esm2022/lib/header/header.component.mjs +0 -37
  311. package/esm2022/lib/icon/icon.component.mjs +0 -73
  312. package/esm2022/lib/icon/icon.service.mjs +0 -28
  313. package/esm2022/lib/left-nav/left-nav.component.mjs +0 -146
  314. package/esm2022/lib/list/list.component.mjs +0 -23
  315. package/esm2022/lib/message-banner/message-banner.component.mjs +0 -43
  316. package/esm2022/lib/page-layout/page-layout.component.mjs +0 -21
  317. package/esm2022/lib/progress-bar/progress-bar.component.mjs +0 -29
  318. package/esm2022/lib/radio-button/radio-button.component.mjs +0 -33
  319. package/esm2022/lib/scrolling-cards/scrolling-cards.component.mjs +0 -59
  320. package/esm2022/lib/spinner/spinner.component.mjs +0 -22
  321. package/esm2022/lib/stepper/stepper.component.mjs +0 -64
  322. package/esm2022/lib/tabs/tabs.component.mjs +0 -38
  323. package/esm2022/lib/toast/toast.component.mjs +0 -100
  324. package/esm2022/lib/tool-tip/tool-tip.component.mjs +0 -41
  325. package/esm2022/public-api.mjs +0 -55
  326. package/esm2022/sarasanalytics-com-design-system.mjs +0 -5
  327. package/esm2022/utils/validators.mjs +0 -97
  328. package/fesm2022/sarasanalytics-com-design-system.mjs +0 -1891
  329. package/fesm2022/sarasanalytics-com-design-system.mjs.map +0 -1
  330. package/index.d.ts +0 -5
  331. package/interfaces/avatar-interface.d.ts +0 -6
  332. package/interfaces/button-interface.d.ts +0 -22
  333. package/interfaces/chip-interface.d.ts +0 -11
  334. package/interfaces/grid-interface.d.ts +0 -24
  335. package/interfaces/icon-interface.d.ts +0 -4
  336. package/interfaces/select-interface.d.ts +0 -20
  337. package/interfaces/tab-interface.d.ts +0 -6
  338. package/lib/avatar/avatar.component.d.ts +0 -18
  339. package/lib/button/button.component.d.ts +0 -32
  340. package/lib/calendar-header/calendar-header.component.d.ts +0 -31
  341. package/lib/card/card-body/card-body.component.d.ts +0 -5
  342. package/lib/card/card-custom-header/card-custom-header.component.d.ts +0 -5
  343. package/lib/card/card-footer-actions/card-footer-actions.component.d.ts +0 -5
  344. package/lib/card/card-icon/card-icon.component.d.ts +0 -5
  345. package/lib/card/card-title-actions/card-title-actions.component.d.ts +0 -5
  346. package/lib/card/card.component.d.ts +0 -28
  347. package/lib/card/checkbox-card/checkbox-card.component.d.ts +0 -12
  348. package/lib/card/guide-card/guide-card.component.d.ts +0 -8
  349. package/lib/card-carousel/card-carousel.component.d.ts +0 -27
  350. package/lib/checkbox/checkbox.component.d.ts +0 -9
  351. package/lib/chips/chips.component.d.ts +0 -22
  352. package/lib/component-library.component.d.ts +0 -5
  353. package/lib/component-library.service.d.ts +0 -6
  354. package/lib/datepicker/datepicker.component.d.ts +0 -9
  355. package/lib/form-input/form-input.component.d.ts +0 -67
  356. package/lib/form-select/form-select.component.d.ts +0 -18
  357. package/lib/grid-cell/grid-cell.component.d.ts +0 -20
  358. package/lib/header/header.component.d.ts +0 -14
  359. package/lib/icon/icon.component.d.ts +0 -24
  360. package/lib/icon/icon.service.d.ts +0 -12
  361. package/lib/left-nav/left-nav.component.d.ts +0 -47
  362. package/lib/list/list.component.d.ts +0 -10
  363. package/lib/message-banner/message-banner.component.d.ts +0 -19
  364. package/lib/page-layout/page-layout.component.d.ts +0 -8
  365. package/lib/progress-bar/progress-bar.component.d.ts +0 -13
  366. package/lib/radio-button/radio-button.component.d.ts +0 -12
  367. package/lib/scrolling-cards/scrolling-cards.component.d.ts +0 -36
  368. package/lib/spinner/spinner.component.d.ts +0 -7
  369. package/lib/stepper/stepper.component.d.ts +0 -17
  370. package/lib/tabs/tabs.component.d.ts +0 -15
  371. package/lib/toast/toast.component.d.ts +0 -33
  372. package/lib/tool-tip/tool-tip.component.d.ts +0 -15
  373. package/utils/validators.d.ts +0 -6
  374. /package/{interfaces/guide-card-interface.d.ts → projects/component-library/src/interfaces/guide-card-interface.ts} +0 -0
  375. /package/{interfaces/message-banner.d.ts → projects/component-library/src/interfaces/message-banner.ts} +0 -0
  376. /package/{interfaces/option-interface.d.ts → projects/component-library/src/interfaces/option-interface.ts} +0 -0
package/package.json CHANGED
@@ -1,25 +1,80 @@
1
1
  {
2
2
  "name": "@sarasanalytics-com/design-system",
3
- "version": "0.0.41",
4
- "peerDependencies": {
5
- "@angular/common": "^17.2.0",
6
- "@angular/core": "^17.2.0"
3
+ "version": "0.0.43",
4
+ "scripts": {
5
+ "ng": "ng",
6
+ "start": "ng serve",
7
+ "build": "ng build",
8
+ "watch": "ng build --watch --configuration development",
9
+ "test": "ng test",
10
+ "start-storybook": "ng run sadlc:storybook",
11
+ "build-storybook": "ng run sadlc:build-storybook",
12
+ "chromatic": "npx chromatic --project-token chpt_c15abbd7dcf38ca",
13
+ "generate-public-api": "node generate-public-api.js",
14
+ "build-component-library": "ng build component-library && npm run copy-styles",
15
+ "lint": "ng lint",
16
+ "copy-styles": "copyfiles -u 1 src/styles.css dist/component-library/styles"
7
17
  },
18
+ "private": false,
8
19
  "dependencies": {
9
- "tslib": "^2.3.0"
20
+ "@angular/animations": "^17.1.0",
21
+ "@angular/cdk": "^17.3.6",
22
+ "@angular/common": "^17.1.0",
23
+ "@angular/compiler": "^17.1.0",
24
+ "@angular/core": "^17.1.0",
25
+ "@angular/forms": "^17.1.0",
26
+ "@angular/material": "^17.3.6",
27
+ "@angular/platform-browser": "^17.1.0",
28
+ "@angular/platform-browser-dynamic": "^17.1.0",
29
+ "@angular/router": "^17.1.0",
30
+ "@fontsource/material-icons": "^5.0.18",
31
+ "@fontsource/roboto": "^5.0.13",
32
+ "@material-ui/core": "^4.12.4",
33
+ "@mui/icons-material": "^5.15.17",
34
+ "@mui/material": "^5.15.17",
35
+ "@ng-select/ng-select": "^12.0.7",
36
+ "@ngx-formly/core": "^6.3.0",
37
+ "ag-grid-angular": "^31.2.0",
38
+ "ag-grid-community": "^31.2.0",
39
+ "rxjs": "~7.8.0",
40
+ "tslib": "^2.3.0",
41
+ "zone.js": "~0.14.3"
10
42
  },
11
- "sideEffects": false,
12
- "module": "fesm2022/sarasanalytics-com-design-system.mjs",
13
- "typings": "index.d.ts",
14
- "exports": {
15
- "./package.json": {
16
- "default": "./package.json"
17
- },
18
- ".": {
19
- "types": "./index.d.ts",
20
- "esm2022": "./esm2022/sarasanalytics-com-design-system.mjs",
21
- "esm": "./esm2022/sarasanalytics-com-design-system.mjs",
22
- "default": "./fesm2022/sarasanalytics-com-design-system.mjs"
23
- }
43
+ "devDependencies": {
44
+ "@angular-devkit/build-angular": "^17.1.3",
45
+ "@angular-eslint/builder": "17.3.0",
46
+ "@angular-eslint/eslint-plugin": "17.3.0",
47
+ "@angular-eslint/eslint-plugin-template": "17.3.0",
48
+ "@angular-eslint/schematics": "17.3.0",
49
+ "@angular-eslint/template-parser": "17.3.0",
50
+ "@angular/cli": "^17.1.3",
51
+ "@angular/compiler-cli": "^17.1.0",
52
+ "@chromatic-com/storybook": "^1.2.18",
53
+ "@compodoc/compodoc": "^1.1.23",
54
+ "@mdx-js/react": "^3.0.1",
55
+ "@storybook/addon-actions": "^8.1.4",
56
+ "@storybook/addon-docs": "^8.1.3",
57
+ "@storybook/addon-essentials": "^8.0.0",
58
+ "@storybook/addon-interactions": "^8.0.0",
59
+ "@storybook/addon-links": "^8.0.0",
60
+ "@storybook/angular": "^8.0.0",
61
+ "@storybook/blocks": "^8.0.0",
62
+ "@storybook/test": "^8.0.0",
63
+ "@types/jasmine": "~5.1.0",
64
+ "@typescript-eslint/eslint-plugin": "^7.2.0",
65
+ "@typescript-eslint/parser": "^7.2.0",
66
+ "chromatic": "^11.0.8",
67
+ "copyfiles": "^2.4.1",
68
+ "eslint": "^8.57.0",
69
+ "eslint-plugin-angular": "^4.1.0",
70
+ "jasmine-core": "~5.1.0",
71
+ "karma": "~6.4.0",
72
+ "karma-chrome-launcher": "~3.2.0",
73
+ "karma-coverage": "~2.2.0",
74
+ "karma-jasmine": "~5.1.0",
75
+ "karma-jasmine-html-reporter": "~2.1.0",
76
+ "ng-packagr": "^17.2.0",
77
+ "storybook": "^8.0.0",
78
+ "typescript": "~5.3.2"
24
79
  }
25
80
  }
@@ -0,0 +1,24 @@
1
+ # TestLibrary
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project component-library` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project component-library`.
8
+ > Note: Don't forget to add `--project component-library` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build component-library` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build component-library`, go to the dist folder `cd dist/component-library` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test component-library` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "dest": "../../dist/component-library",
4
+ "assets": ["./assets"],
5
+ "lib": {
6
+ "entryFile": "src/public-api.ts"
7
+ }
8
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "@sarasanalytics-com/design-system",
3
+ "version": "0.0.43",
4
+ "peerDependencies": {
5
+ "@angular/common": "^17.2.0",
6
+ "@angular/core": "^17.2.0"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.3.0"
10
+ },
11
+ "sideEffects": false
12
+ }
@@ -0,0 +1,6 @@
1
+ export interface AvatarInterface {
2
+ id: string | number,
3
+ size: string,
4
+ imagePath: string,
5
+ altText: string
6
+ }
@@ -0,0 +1,37 @@
1
+ export interface ButtonInterface {
2
+ id: string | number,
3
+ text: string,
4
+ type: string,
5
+ size: ButtonSize,
6
+ state: string,
7
+ imagePath?: string,
8
+ iconPosition?: ButtonIconPosition,
9
+ href?: string,
10
+ hrefTarget?: string,
11
+ isSubmit?: boolean,
12
+ }
13
+
14
+ export const buttonSizes = [
15
+ 'small', 'medium', 'large'
16
+ ] as const;
17
+
18
+ type PredefinedButtonSizes = typeof buttonSizes[number];
19
+
20
+ export type ButtonSize = PredefinedButtonSizes | string;
21
+
22
+ export const buttonPosition = [
23
+ 'left', 'right', 'both'
24
+ ] as const;
25
+
26
+ type PredefinedButtonPositions = typeof buttonPosition[number]
27
+
28
+ export type ButtonIconPosition = PredefinedButtonPositions | string;
29
+
30
+
31
+ export const buttonType = [
32
+ 'primary', 'outline', 'transparent'
33
+ ] as const;
34
+
35
+ type PredefinedButtonType = typeof buttonType[number]
36
+
37
+ export type ButtonType = PredefinedButtonType | string;
@@ -1,4 +1,5 @@
1
1
  import { IconName } from "./icon-interface";
2
+
2
3
  export interface CardCarousel {
3
4
  id: number;
4
5
  avatarIcon: IconName;
@@ -6,4 +7,4 @@ export interface CardCarousel {
6
7
  subtitle: string;
7
8
  logoIcon: IconName;
8
9
  body: string;
9
- }
10
+ }
@@ -0,0 +1,11 @@
1
+ export interface ChipInterface {
2
+ id: string | number,
3
+ text: string,
4
+ type: string,
5
+ state: string,
6
+ filling: string,
7
+ iconPosition?: string,
8
+ iconPath?: string,
9
+ largeStateIcon?: string,
10
+ largeStateText?: string
11
+ }
@@ -0,0 +1,24 @@
1
+ import { ButtonInterface } from "./button-interface";
2
+ import { ChipInterface } from "./chip-interface";
3
+ import { AvatarInterface } from "./avatar-interface";
4
+ export interface GridInterface {
5
+ cellType: string,
6
+ viewText: boolean,
7
+ viewLeadingIcon: boolean,
8
+ viewTrailingIcon: boolean,
9
+ viewButton: boolean,
10
+ viewChip: boolean,
11
+ viewAvatar: boolean,
12
+ iconPath?: string,
13
+ chipConfig?: ChipInterface[],
14
+ buttonConfig?: ButtonInterface,
15
+ avatarConfig?: AvatarInterface,
16
+ text?: string | number,
17
+ subText?: string | number,
18
+ interactiveLink?: string,
19
+ interactiveLinkTarget?: string,
20
+ chipClicked?(evt: any): any,
21
+ linkClicked?(evt: any): any,
22
+ buttonClicked?(evt: any): any,
23
+ avatarClicked?(evt: any): any
24
+ }
@@ -0,0 +1,21 @@
1
+ export const iconNames = [
2
+ 'analysis', 'arrowRightOutlined', 'avatar',
3
+ 'businessStatsFilled', 'chatHelpOutlined', 'checkCircleFilled',
4
+ 'checkCircleOutlined', 'checkOutlined', 'circleFilled',
5
+ 'closeBlueOutlined', 'closeCircleFilled', 'closeOutlined',
6
+ 'doubleDownOutlined', 'eyeFilled',
7
+ 'eyeOutlined', 'formDetailsOutlined', 'gridViewOutlined',
8
+ 'homeOutlined', 'infoCircleOutlined', 'infoTriangleFilled',
9
+ 'infoTriangleOutlined', 'innosupps', 'locationOutlined',
10
+ 'mailOutlined', 'multiConnectionHub', 'personOutlined',
11
+ 'rightChevronOutlined', 'sarasWhite', 'settingsOutlined',
12
+ 'sourcesOutlined', 'targetScanOutlined', 'upwardTriangleFilled',
13
+ 'headsetOutlined', 'sarasFullLogo', 'leftChevronCircle', 'rightChevronCircle', 'errorCircleOutlined',
14
+ 'errorCrossOutlined', 'downChevronOutlined'
15
+ ] as const;
16
+
17
+ // Define a type for the predefined icon names
18
+ type PredefinedIconName = typeof iconNames[number];
19
+
20
+ // Define IconName as a union of PredefinedIconName and string
21
+ export type IconName = PredefinedIconName | string;
@@ -0,0 +1,20 @@
1
+ import { FormlyFieldProps } from "@ngx-formly/core"
2
+ interface SelectSubInterface {
3
+ label: string,
4
+ supportText: string,
5
+ dropIcon: string,
6
+ dropIconPosition: string,
7
+ multiple: boolean,
8
+ iconPath: string,
9
+ type: string,
10
+ text?: string,
11
+ state: string,
12
+ filling: string,
13
+ iconPosition: string,
14
+ }
15
+
16
+ export interface SelectInterface extends FormlyFieldProps {
17
+ options: any,
18
+ disabled: boolean,
19
+ params: SelectSubInterface
20
+ }
@@ -0,0 +1,6 @@
1
+ export interface TabInterface {
2
+ tabName: string,
3
+ tabIcon?: string,
4
+ iconPosition?: string,
5
+ badgeContent?: string,
6
+ }
@@ -9,4 +9,4 @@ export interface IToast {
9
9
  closable?: boolean;
10
10
  filled?: boolean;
11
11
  width?: number | string;
12
- }
12
+ }
@@ -0,0 +1,188 @@
1
+ .accordion-cards-container {
2
+ display: grid;
3
+ grid-template-columns: repeat(auto-fill, 37.875rem);
4
+ gap: 1.75rem 2rem;
5
+ max-width: -webkit-fill-available;
6
+ }
7
+
8
+ .advancedAccordion .accordion-cards-container {
9
+ display: grid;
10
+ grid-template-columns: repeat(auto-fill, 37.6rem);
11
+ gap: 1.75rem 2rem;
12
+ max-width: -webkit-fill-available;
13
+ }
14
+
15
+ .accordion-container .panel-title {
16
+ color: var(--text-highemphasis, #1C1B20);
17
+ font-family: var(--font-family, Roboto);
18
+ font-size: var(--small-16px);
19
+ font-style: normal;
20
+ font-weight: 400;
21
+ line-height: var(--medium-24px);
22
+ letter-spacing: 0.5px;
23
+ }
24
+
25
+ .panel-container {
26
+ display: flex;
27
+ gap: var(--small-8px, 8px);
28
+ }
29
+
30
+ .tooltip-icon {
31
+ display: flex;
32
+ align-items: center;
33
+ }
34
+
35
+ ::ng-deep .accordion-container.mat-accordion>.mat-expansion-panel-spacing:last-child,
36
+ .mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing {
37
+ width: -webkit-fill-available;
38
+ display: flex;
39
+ flex-direction: column;
40
+ }
41
+
42
+ ::ng-deep .accordion-container .mat-expansion-panel-body {
43
+ display: flex;
44
+ flex-direction: column;
45
+ gap: var(--medium-20px);
46
+ }
47
+
48
+ ::ng-deep .accordion-container .mat-expansion-panel-header {
49
+ display: flex;
50
+ height: var(--large-56px, 56px);
51
+ flex-direction: column;
52
+ align-items: flex-start;
53
+ gap: var(--small-16px);
54
+ flex-shrink: 0;
55
+ }
56
+
57
+ ::ng-deep .card-selected .sa-card-accordion-wrapper {
58
+ border-radius: var(--small-4px, 4px);
59
+ border: 1px solid var(--primary-500);
60
+ background: var(--structural-white);
61
+ }
62
+
63
+ .accordion-container .custom-divider {
64
+ width: 100%;
65
+ height: 0.063rem;
66
+ background-color: var(--grey-100);
67
+ }
68
+
69
+ .accordion-container .chip {
70
+ background-color: red;
71
+ }
72
+
73
+ ::ng-deep.accordion-container .panel-container .small {
74
+ --chip-height: var(--medium-24px);
75
+ }
76
+
77
+ .advancedAccordion.mat-expansion-panel:not([class*=mat-elevation-z]) {
78
+ box-shadow: none;
79
+ border: none;
80
+ }
81
+
82
+ ::ng-deep.accordion-container .advancedAccordion .mat-expansion-panel-header {
83
+ padding: var(--small-16px) var(--small-16px) var(--small-16px) var(--small-16px);
84
+ }
85
+
86
+ .advancedAccordion .disclaimer-container {
87
+ display: flex;
88
+ gap: var(--small-8px);
89
+ height: 2.875rem;
90
+ padding: var(--small-12px) var(--small-16px);
91
+ align-items: center;
92
+ border-radius: var(--small-8px);
93
+ border: 1px solid var(--grey-100);
94
+ background: var(--structural-neutral3);
95
+ }
96
+
97
+ .advancedAccordion .disclaimer-style {
98
+ color: var(--text-mediumemphasis);
99
+
100
+ /* Roboto/Body/Medium */
101
+ font-family: var(--font);
102
+ font-size: var(--small-14px);
103
+ font-style: normal;
104
+ font-weight: 400;
105
+ line-height: var(--medium-20px);
106
+ letter-spacing: 0.25px;
107
+ }
108
+
109
+ .accordion-advanced-container {
110
+ display: flex;
111
+ flex-direction: column;
112
+ gap: var(--small-16px);
113
+ }
114
+
115
+ .d-flex {
116
+ display: flex;
117
+ }
118
+
119
+ ::ng-deep.disabled-card .sa-card-accordion-wrapper {
120
+ cursor: auto;
121
+ }
122
+
123
+ .advancedAccordion.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover {
124
+ background: none;
125
+ }
126
+
127
+ .advanced-title {
128
+ color: var(--primary-500);
129
+ font-family: var(--font);
130
+ font-size: var(--small-14px);
131
+ font-style: normal;
132
+ font-weight: 400;
133
+ line-height: 1.375rem;
134
+ letter-spacing: 0.25px;
135
+ }
136
+
137
+ .align-center {
138
+ align-items: center;
139
+ }
140
+
141
+ ::ng-deep.advancedAccordion .mat-expansion-panel-header-title {
142
+ color: var(--primary-500);
143
+ }
144
+
145
+ .advancedAccordion .panel-container .material-icons {
146
+ font-size: 1.375rem;
147
+ }
148
+
149
+ .disabled-icon {
150
+ padding: 0.563rem var(--small-8px) var(--small-8px) var(--small-8px);
151
+ }
152
+
153
+ .advancedAccordion .chip-container {
154
+ margin-left: auto;
155
+ }
156
+
157
+ .accordions-container {
158
+ display: flex;
159
+ flex-direction: column;
160
+ gap: var(--medium-24px);
161
+ }
162
+
163
+ ::ng-deep .accordion-container .mat-expansion-panel:not([class*=mat-elevation-z]) {
164
+ border: 1px solid var(--grey-100);
165
+ background: var(--structural-white);
166
+ box-shadow: none;
167
+ }
168
+
169
+ ::ng-deep .accordion-container.mat-accordion .mat-expansion-panel:first-of-type {
170
+ border-radius: var(--small-8px);
171
+ }
172
+
173
+ /* hiding hovering background */
174
+ ::ng-deep .accordion-container .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover {
175
+ background: none;
176
+ }
177
+
178
+ ::ng-deep .advancedAccordion .mat-expansion-panel-body {
179
+ padding-left: 0;
180
+ padding-right: 0;
181
+ }
182
+
183
+ .disclaimer-buttons-container {
184
+ display: flex;
185
+ margin-left: auto;
186
+ align-items: center;
187
+ gap: var(--small-12px);
188
+ }
@@ -0,0 +1,151 @@
1
+ <mat-accordion class="accordion-container">
2
+
3
+ <mat-expansion-panel hideToggle [expanded]="props?.['accordionExpanded'] || 'false'" (opened)="onAccordionOpened()"
4
+ (closed)="onAccordionClosed()">
5
+ <mat-expansion-panel-header>
6
+ <mat-panel-title>
7
+ <div class="panel-container">
8
+ hey {{props?.['accordionExpanded']}}
9
+ @if(props?.['accordionExpanded']){
10
+ <span class="d-flex align-center">
11
+ <sa-icon [icon]="props?.['expandedIcon']" class="d-flex" size="16"></sa-icon>
12
+ </span>
13
+ }@else{
14
+ <span class="d-flex align-center">
15
+ <sa-icon [icon]="props?.['collapsedIcon']" class="d-flex" size="20"></sa-icon>
16
+ </span>
17
+ }
18
+ <span class="panel-title">{{props?.['panelTitle']}} hey {{props?.['accordionExpanded']}}</span>
19
+ <div>
20
+ <!-- <sa-chip *ngIf="props?.['titleChip']" [type]="props['titleChip']?.['type']"
21
+ [state]="props['titleChip']?.['state']" [filling]="props['titleChip']?.['filling']"
22
+ [text]="getChipText()"></sa-chip> -->
23
+ </div>
24
+ </div>
25
+ </mat-panel-title>
26
+ </mat-expansion-panel-header>
27
+ <div class="custom-divider"></div>
28
+ <div class="accordion-cards-container">
29
+ <div *ngFor="let subFeature of props?.['featuresList']">
30
+ <sa-card [column]="false" [showCardHeader]="true" [showCardBody]="false"
31
+ [width]="props?.['featureCardWidth'] || '632px'" [showHeaderBodyDivider]="false"
32
+ [customWrapperClass]="props?.['customWrapperClass']" (click)="onCardClick(subFeature)"
33
+ class="{{subFeature?.['disabled'] && subFeature?.['isSelected'] ? 'card-selected' : ''}}{{subFeature?.['disabled'] ? 'disabled-card': ''}}">
34
+ <sa-card-title-header>
35
+ <div class="sa-card-accordion-title-container">
36
+ @if(subFeature?.['disabled']){
37
+ <span class="disabled-icon">
38
+ <sa-icon icon="disabledCheckboxFilled"
39
+ customClass="auto-dimensions disabled-checkbox-icon" class="d-flex"></sa-icon>
40
+ </span>
41
+ }@else{
42
+ <mat-checkbox class="checkbox-style" [(ngModel)]="subFeature.isSelected"
43
+ (click)="onCheckboxClick(subFeature)"></mat-checkbox>
44
+ }
45
+ <div class="sa-card-title-icon-container">
46
+ <div class="sa-card-custom-title">
47
+ {{subFeature?.title}}
48
+ </div>
49
+ @if(subFeature?.tooltip){
50
+ <span class="tooltip-container">
51
+ <sa-icon [icon]="props?.['tooltipIcon'] || 'infoCircleOutlined'"
52
+ customClass="accordion-info-icon" [matTooltip]="subFeature?.tooltip"
53
+ matTooltipClass="custom-tooltip" class="tooltip-icon"></sa-icon>
54
+ </span>
55
+ }
56
+ </div>
57
+ </div>
58
+ </sa-card-title-header>
59
+ </sa-card>
60
+ </div>
61
+ </div>
62
+ <!-- Advanced Features accordion -->
63
+ <div *ngIf="props?.['advancedFeatures'] && props['advancedFeatures'].length > 0"
64
+ class="advanced-features-section">
65
+ <mat-expansion-panel hideToggle [expanded]="props?.['advancedFeaturesExpanded'] || 'false'"
66
+ (opened)="onAdvancedFeaturesOpened()" (closed)="onAdvancedFeaturesClosed()" class="advancedAccordion">
67
+ <mat-expansion-panel-header>
68
+ <mat-panel-title>
69
+ <div class="panel-container">
70
+ @if(!props?.['advancedFeaturesExpanded']){
71
+ <span class="d-flex align-center">
72
+ <sa-icon icon="sourcesOutlined" class="d-flex" customClass="colored-icon"
73
+ size="16"></sa-icon>
74
+ </span>
75
+ }@else{
76
+ <span class="material-icons">
77
+ expand_more
78
+ </span>
79
+ }
80
+ <span class="advanced-title">{{ props?.['advancedFeaturesExpanded'] ?
81
+ props?.['advancedFeatureToggleTitle'] :
82
+ props?.['advancedFeatureTitle'] }}</span>
83
+ </div>
84
+ </mat-panel-title>
85
+ </mat-expansion-panel-header>
86
+ <div class="accordion-advanced-container">
87
+ <div class="disclaimer-container">
88
+ <span class="tooltip-container">
89
+ <sa-icon icon="infoCircleOutlined" customClass="accordion-info-icon"
90
+ class="tooltip-icon"></sa-icon>
91
+ </span>
92
+ <span class="disclaimer-style">{{props?.['advancedFeatureDisclaimer']}}</span>
93
+ @if(props?.['advancedFeatureDisclaimerButtons']) {
94
+ <div class="disclaimer-buttons-container">
95
+ <ng-container *ngFor="let button of props['advancedFeatureDisclaimerButtons']">
96
+ <sa-button [text]="button.text" [type]="button.type" [size]="button.size"
97
+ [state]="button.state" [iconPosition]="button.iconPosition" [icon]="button.icon"
98
+ [buttonIconSize]="button.buttonIconSize"
99
+ (click)="actionHandler(button, $event)"></sa-button>
100
+ </ng-container>
101
+ </div>
102
+ }
103
+ </div>
104
+ <div class="accordion-cards-container">
105
+ <div *ngFor="let subFeature of props?.['advancedFeatures']">
106
+ <sa-card [column]="false" [showCardHeader]="true" [showCardBody]="false"
107
+ [width]="props?.['advancedFeatureCardWidth'] || '632px'" [showHeaderBodyDivider]="false"
108
+ [customWrapperClass]="props?.['customWrapperClass']" (click)="onCardClick(subFeature)"
109
+ class="{{!subFeature?.['disabled'] && subFeature?.['isSelected'] ? 'card-selected' : ''}}{{subFeature?.['disabled'] ? 'disabled-card': ''}}">
110
+ <sa-card-title-header>
111
+ <div class="sa-card-accordion-title-container">
112
+ @if(subFeature?.['disabled']){
113
+ <span class="disabled-icon">
114
+ <sa-icon icon="disabledCheckboxFilled"
115
+ customClass="auto-dimensions disabled-checkbox-icon"
116
+ class="d-flex"></sa-icon>
117
+ </span>
118
+ }@else{
119
+ <mat-checkbox class="checkbox-style" [(ngModel)]="subFeature.isSelected"
120
+ (click)="onCheckboxClick(subFeature)"></mat-checkbox>
121
+ }
122
+ <div class="sa-card-title-icon-container">
123
+ <div class="sa-card-custom-title">
124
+ {{subFeature?.title}}
125
+ </div>
126
+ @if(subFeature?.tooltip){
127
+ <span class="tooltip-container">
128
+ <sa-icon [icon]="props?.['advancedTooltipIcon'] || 'infoCircleOutlined'"
129
+ customClass="accordion-info-icon" [matTooltip]="subFeature?.tooltip"
130
+ matTooltipClass="custom-tooltip" class="tooltip-icon"></sa-icon>
131
+ </span>
132
+ }
133
+ </div>
134
+ @if(subFeature?.featureChip){
135
+ <div class="chip-container">
136
+ <sa-chip [type]="subFeature.featureChip?.['type']"
137
+ [state]="subFeature.featureChip?.['state']"
138
+ [filling]="subFeature.featureChip?.['filling']"
139
+ [text]="subFeature.featureChip?.['label']"></sa-chip>
140
+ </div>
141
+ }
142
+ </div>
143
+ </sa-card-title-header>
144
+ </sa-card>
145
+ </div>
146
+ </div>
147
+ </div>
148
+ </mat-expansion-panel>
149
+ </div>
150
+ </mat-expansion-panel>
151
+ </mat-accordion>
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { AccordionComponent } from './accordion.component';
4
+
5
+ describe('AccordionComponent', () => {
6
+ let component: AccordionComponent;
7
+ let fixture: ComponentFixture<AccordionComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ imports: [AccordionComponent]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(AccordionComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });