valtech-components 2.0.45 → 2.0.46

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 (331) hide show
  1. package/ng-package.json +10 -0
  2. package/package.json +15 -13
  3. package/release.sh +76 -0
  4. package/src/lib/components/atoms/avatar/avatar.component.scss +20 -0
  5. package/src/lib/components/atoms/avatar/avatar.component.ts +29 -0
  6. package/src/lib/components/atoms/avatar/types.ts +6 -0
  7. package/src/lib/components/atoms/box/box.component.scss +57 -0
  8. package/src/lib/components/atoms/box/box.component.ts +38 -0
  9. package/src/lib/components/atoms/box/types.ts +8 -0
  10. package/src/lib/components/atoms/button/button.component.scss +5 -0
  11. package/src/lib/components/atoms/button/button.component.ts +53 -0
  12. package/src/lib/components/atoms/button/factory.ts +444 -0
  13. package/src/lib/components/atoms/display/display.component.scss +17 -0
  14. package/src/lib/components/atoms/display/display.component.ts +25 -0
  15. package/src/lib/components/atoms/display/types.ts +7 -0
  16. package/src/lib/components/atoms/divider/divider.component.scss +62 -0
  17. package/src/lib/components/atoms/divider/divider.component.ts +18 -0
  18. package/src/lib/components/atoms/divider/types.ts +5 -0
  19. package/src/lib/components/atoms/href/href.component.scss +25 -0
  20. package/src/lib/components/atoms/href/href.component.ts +43 -0
  21. package/src/lib/components/atoms/href/types.ts +10 -0
  22. package/src/lib/components/atoms/icon/icon.component.scss +33 -0
  23. package/src/lib/components/atoms/icon/icon.component.ts +21 -0
  24. package/src/lib/components/atoms/icon/types.ts +7 -0
  25. package/src/lib/components/atoms/image/image.component.scss +70 -0
  26. package/src/lib/components/atoms/image/image.component.ts +40 -0
  27. package/src/lib/components/atoms/image/types.ts +11 -0
  28. package/src/lib/components/atoms/progress-bar/progress-bar.component.scss +22 -0
  29. package/src/lib/components/atoms/progress-bar/progress-bar.component.ts +29 -0
  30. package/src/lib/components/atoms/progress-bar/types.ts +10 -0
  31. package/src/lib/components/atoms/text/text.component.scss +33 -0
  32. package/src/lib/components/atoms/text/text.component.ts +23 -0
  33. package/src/lib/components/atoms/text/types.ts +8 -0
  34. package/src/lib/components/atoms/title/title.component.scss +17 -0
  35. package/src/lib/components/atoms/title/title.component.ts +27 -0
  36. package/src/lib/components/atoms/title/types.ts +8 -0
  37. package/src/lib/components/molecules/alert-box/alert-box.component.scss +10 -0
  38. package/src/lib/components/molecules/alert-box/alert-box.component.ts +28 -0
  39. package/{lib/components/molecules/alert-box/types.d.ts → src/lib/components/molecules/alert-box/types.ts} +4 -3
  40. package/src/lib/components/molecules/button-group/button-group.component.scss +31 -0
  41. package/src/lib/components/molecules/button-group/button-group.component.ts +44 -0
  42. package/src/lib/components/molecules/button-group/types.ts +7 -0
  43. package/src/lib/components/molecules/card/card.component.scss +46 -0
  44. package/src/lib/components/molecules/card/card.component.ts +218 -0
  45. package/src/lib/components/molecules/card/types.ts +36 -0
  46. package/src/lib/components/molecules/check-input/check-input.component.scss +0 -0
  47. package/src/lib/components/molecules/check-input/check-input.component.ts +16 -0
  48. package/src/lib/components/molecules/comment-input/comment-input.component.scss +0 -0
  49. package/src/lib/components/molecules/comment-input/comment-input.component.ts +22 -0
  50. package/src/lib/components/molecules/content-loader/content-loader.component.scss +42 -0
  51. package/src/lib/components/molecules/content-loader/content-loader.component.ts +27 -0
  52. package/src/lib/components/molecules/content-loader/types.ts +8 -0
  53. package/src/lib/components/molecules/date-input/date-input.component.scss +11 -0
  54. package/src/lib/components/molecules/date-input/date-input.component.ts +47 -0
  55. package/src/lib/components/molecules/email-input/email-input.component.scss +0 -0
  56. package/src/lib/components/molecules/email-input/email-input.component.ts +20 -0
  57. package/src/lib/components/molecules/expandable-text/expandable-text.component.ts +89 -0
  58. package/src/lib/components/molecules/expandable-text/types.ts +6 -0
  59. package/src/lib/components/molecules/file-input/file-input.component.scss +11 -0
  60. package/src/lib/components/molecules/file-input/file-input.component.ts +56 -0
  61. package/src/lib/components/molecules/hint/hint.component.scss +5 -0
  62. package/src/lib/components/molecules/hint/hint.component.ts +42 -0
  63. package/src/lib/components/molecules/hour-input/hour-input.component.scss +0 -0
  64. package/src/lib/components/molecules/hour-input/hour-input.component.ts +19 -0
  65. package/src/lib/components/molecules/link/link.component.scss +5 -0
  66. package/src/lib/components/molecules/link/link.component.ts +52 -0
  67. package/src/lib/components/molecules/link/types.ts +10 -0
  68. package/src/lib/components/molecules/links-cake/links-cake.component.scss +9 -0
  69. package/src/lib/components/molecules/links-cake/links-cake.component.ts +30 -0
  70. package/{lib/components/molecules/links-cake/types.d.ts → src/lib/components/molecules/links-cake/types.ts} +4 -3
  71. package/src/lib/components/molecules/notes-box/notes-box.component.scss +5 -0
  72. package/src/lib/components/molecules/notes-box/notes-box.component.ts +28 -0
  73. package/src/lib/components/molecules/notes-box/types.ts +9 -0
  74. package/src/lib/components/molecules/number-input/number-input.component.scss +0 -0
  75. package/src/lib/components/molecules/number-input/number-input.component.ts +19 -0
  76. package/src/lib/components/molecules/password-input/password-input.component.scss +7 -0
  77. package/src/lib/components/molecules/password-input/password-input.component.ts +33 -0
  78. package/src/lib/components/molecules/pin-input/pin-input.component.scss +13 -0
  79. package/src/lib/components/molecules/pin-input/pin-input.component.ts +42 -0
  80. package/src/lib/components/molecules/progress-status/progress-status.component.scss +41 -0
  81. package/src/lib/components/molecules/progress-status/progress-status.component.ts +70 -0
  82. package/src/lib/components/molecules/progress-status/types.ts +11 -0
  83. package/src/lib/components/molecules/prompter/prompter.component.scss +34 -0
  84. package/src/lib/components/molecules/prompter/prompter.component.ts +58 -0
  85. package/{lib/components/molecules/prompter/types.d.ts → src/lib/components/molecules/prompter/types.ts} +7 -6
  86. package/src/lib/components/molecules/radio-input/radio-input.component.scss +0 -0
  87. package/src/lib/components/molecules/radio-input/radio-input.component.ts +27 -0
  88. package/src/lib/components/molecules/searchbar/searchbar.component.scss +9 -0
  89. package/src/lib/components/molecules/searchbar/searchbar.component.ts +47 -0
  90. package/src/lib/components/molecules/text-input/text-input.component.scss +1 -0
  91. package/src/lib/components/molecules/text-input/text-input.component.ts +19 -0
  92. package/src/lib/components/molecules/title-block/title-block.component.scss +36 -0
  93. package/src/lib/components/molecules/title-block/title-block.component.ts +50 -0
  94. package/src/lib/components/molecules/title-block/types.ts +14 -0
  95. package/src/lib/components/organisms/banner/banner.component.scss +45 -0
  96. package/src/lib/components/organisms/banner/banner.component.ts +57 -0
  97. package/src/lib/components/organisms/banner/types.ts +13 -0
  98. package/src/lib/components/organisms/footer/footer.component.scss +3 -0
  99. package/src/lib/components/organisms/footer/footer.component.ts +40 -0
  100. package/{lib/components/organisms/footer/types.d.ts → src/lib/components/organisms/footer/types.ts} +4 -3
  101. package/src/lib/components/organisms/form/factory.ts +11 -0
  102. package/src/lib/components/organisms/form/form-footer/form-footer.component.scss +0 -0
  103. package/src/lib/components/organisms/form/form-footer/form-footer.component.ts +63 -0
  104. package/src/lib/components/organisms/form/form.component.scss +16 -0
  105. package/src/lib/components/organisms/form/form.component.ts +183 -0
  106. package/src/lib/components/organisms/header/header.component.scss +0 -0
  107. package/src/lib/components/organisms/header/header.component.ts +31 -0
  108. package/{lib/components/organisms/header/types.d.ts → src/lib/components/organisms/header/types.ts} +4 -3
  109. package/src/lib/components/organisms/item-list/item-list.component.scss +41 -0
  110. package/src/lib/components/organisms/item-list/item-list.component.ts +223 -0
  111. package/src/lib/components/organisms/item-list/types.ts +42 -0
  112. package/src/lib/components/organisms/no-content/no-content.component.scss +11 -0
  113. package/src/lib/components/organisms/no-content/no-content.component.ts +37 -0
  114. package/{lib/components/organisms/no-content/types.d.ts → src/lib/components/organisms/no-content/types.ts} +4 -3
  115. package/src/lib/components/organisms/toolbar/toolbar.component.scss +13 -0
  116. package/src/lib/components/organisms/toolbar/toolbar.component.ts +123 -0
  117. package/src/lib/components/organisms/toolbar/types.ts +12 -0
  118. package/src/lib/components/organisms/wizard/types.ts +24 -0
  119. package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.scss +0 -0
  120. package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.ts +90 -0
  121. package/src/lib/components/organisms/wizard/wizard.component.scss +15 -0
  122. package/src/lib/components/organisms/wizard/wizard.component.ts +99 -0
  123. package/src/lib/components/templates/layout/layout.component.scss +22 -0
  124. package/src/lib/components/templates/layout/layout.component.ts +14 -0
  125. package/src/lib/components/templates/simple/simple.component.ts +75 -0
  126. package/{lib/components/templates/simple/types.d.ts → src/lib/components/templates/simple/types.ts} +6 -5
  127. package/src/lib/components/types.ts +122 -0
  128. package/src/lib/services/download.service.ts +58 -0
  129. package/src/lib/services/icons.service.ts +36 -0
  130. package/src/lib/services/in-app-browser.service.ts +19 -0
  131. package/src/lib/services/lang-provider/components/lang-settings.ts +14 -0
  132. package/src/lib/services/lang-provider/components/theme-settings.ts +16 -0
  133. package/src/lib/services/lang-provider/content.ts +14 -0
  134. package/src/lib/services/lang-provider/lang-provider.service.ts +38 -0
  135. package/src/lib/services/lang-provider/types.ts +25 -0
  136. package/src/lib/services/local-storage.service.ts +18 -0
  137. package/src/lib/services/navigation.service.ts +39 -0
  138. package/src/lib/services/theme.service.ts +102 -0
  139. package/{lib/services/types.d.ts → src/lib/services/types.ts} +4 -2
  140. package/src/lib/shared/constants/storage.ts +2 -0
  141. package/src/lib/shared/utils/dom.ts +19 -0
  142. package/src/lib/shared/utils/styles.ts +27 -0
  143. package/{public-api.d.ts → src/public-api.ts} +13 -0
  144. package/tsconfig.lib.json +14 -0
  145. package/tsconfig.lib.prod.json +10 -0
  146. package/tsconfig.spec.json +14 -0
  147. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +0 -31
  148. package/esm2022/lib/components/atoms/avatar/types.mjs +0 -2
  149. package/esm2022/lib/components/atoms/box/box.component.mjs +0 -47
  150. package/esm2022/lib/components/atoms/box/types.mjs +0 -2
  151. package/esm2022/lib/components/atoms/button/button.component.mjs +0 -69
  152. package/esm2022/lib/components/atoms/button/factory.mjs +0 -217
  153. package/esm2022/lib/components/atoms/display/display.component.mjs +0 -28
  154. package/esm2022/lib/components/atoms/display/types.mjs +0 -2
  155. package/esm2022/lib/components/atoms/divider/divider.component.mjs +0 -17
  156. package/esm2022/lib/components/atoms/divider/types.mjs +0 -2
  157. package/esm2022/lib/components/atoms/href/href.component.mjs +0 -51
  158. package/esm2022/lib/components/atoms/href/types.mjs +0 -2
  159. package/esm2022/lib/components/atoms/icon/icon.component.mjs +0 -19
  160. package/esm2022/lib/components/atoms/icon/types.mjs +0 -2
  161. package/esm2022/lib/components/atoms/image/image.component.mjs +0 -50
  162. package/esm2022/lib/components/atoms/image/types.mjs +0 -2
  163. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +0 -36
  164. package/esm2022/lib/components/atoms/progress-bar/types.mjs +0 -2
  165. package/esm2022/lib/components/atoms/text/text.component.mjs +0 -24
  166. package/esm2022/lib/components/atoms/text/types.mjs +0 -2
  167. package/esm2022/lib/components/atoms/title/title.component.mjs +0 -31
  168. package/esm2022/lib/components/atoms/title/types.mjs +0 -2
  169. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +0 -32
  170. package/esm2022/lib/components/molecules/alert-box/types.mjs +0 -2
  171. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +0 -49
  172. package/esm2022/lib/components/molecules/button-group/types.mjs +0 -2
  173. package/esm2022/lib/components/molecules/card/card.component.mjs +0 -365
  174. package/esm2022/lib/components/molecules/card/types.mjs +0 -16
  175. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +0 -15
  176. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +0 -23
  177. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +0 -32
  178. package/esm2022/lib/components/molecules/content-loader/types.mjs +0 -2
  179. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +0 -73
  180. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +0 -19
  181. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +0 -58
  182. package/esm2022/lib/components/molecules/expandable-text/types.mjs +0 -2
  183. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +0 -69
  184. package/esm2022/lib/components/molecules/hint/hint.component.mjs +0 -52
  185. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +0 -18
  186. package/esm2022/lib/components/molecules/link/link.component.mjs +0 -53
  187. package/esm2022/lib/components/molecules/link/types.mjs +0 -2
  188. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +0 -37
  189. package/esm2022/lib/components/molecules/links-cake/types.mjs +0 -2
  190. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +0 -33
  191. package/esm2022/lib/components/molecules/notes-box/types.mjs +0 -2
  192. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +0 -18
  193. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +0 -44
  194. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +0 -45
  195. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +0 -94
  196. package/esm2022/lib/components/molecules/progress-status/types.mjs +0 -2
  197. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +0 -84
  198. package/esm2022/lib/components/molecules/prompter/types.mjs +0 -2
  199. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +0 -33
  200. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +0 -61
  201. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +0 -18
  202. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +0 -77
  203. package/esm2022/lib/components/molecules/title-block/types.mjs +0 -2
  204. package/esm2022/lib/components/organisms/banner/banner.component.mjs +0 -75
  205. package/esm2022/lib/components/organisms/banner/types.mjs +0 -2
  206. package/esm2022/lib/components/organisms/footer/footer.component.mjs +0 -50
  207. package/esm2022/lib/components/organisms/footer/types.mjs +0 -2
  208. package/esm2022/lib/components/organisms/form/factory.mjs +0 -8
  209. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +0 -76
  210. package/esm2022/lib/components/organisms/form/form.component.mjs +0 -230
  211. package/esm2022/lib/components/organisms/header/header.component.mjs +0 -32
  212. package/esm2022/lib/components/organisms/header/types.mjs +0 -2
  213. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +0 -362
  214. package/esm2022/lib/components/organisms/item-list/types.mjs +0 -2
  215. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +0 -44
  216. package/esm2022/lib/components/organisms/no-content/types.mjs +0 -2
  217. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +0 -171
  218. package/esm2022/lib/components/organisms/toolbar/types.mjs +0 -2
  219. package/esm2022/lib/components/organisms/wizard/types.mjs +0 -7
  220. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +0 -107
  221. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +0 -103
  222. package/esm2022/lib/components/templates/layout/layout.component.mjs +0 -19
  223. package/esm2022/lib/components/templates/simple/simple.component.mjs +0 -102
  224. package/esm2022/lib/components/templates/simple/types.mjs +0 -2
  225. package/esm2022/lib/components/types.mjs +0 -36
  226. package/esm2022/lib/services/download.service.mjs +0 -63
  227. package/esm2022/lib/services/icons.service.mjs +0 -30
  228. package/esm2022/lib/services/in-app-browser.service.mjs +0 -24
  229. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +0 -13
  230. package/esm2022/lib/services/lang-provider/components/theme-settings.mjs +0 -15
  231. package/esm2022/lib/services/lang-provider/content.mjs +0 -8
  232. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +0 -39
  233. package/esm2022/lib/services/lang-provider/types.mjs +0 -14
  234. package/esm2022/lib/services/local-storage.service.mjs +0 -16
  235. package/esm2022/lib/services/navigation.service.mjs +0 -39
  236. package/esm2022/lib/services/theme.service.mjs +0 -97
  237. package/esm2022/lib/services/types.mjs +0 -3
  238. package/esm2022/lib/shared/constants/storage.mjs +0 -3
  239. package/esm2022/lib/shared/utils/dom.mjs +0 -17
  240. package/esm2022/lib/shared/utils/styles.mjs +0 -25
  241. package/esm2022/public-api.mjs +0 -95
  242. package/esm2022/valtech-components.mjs +0 -5
  243. package/fesm2022/valtech-components.mjs +0 -3556
  244. package/fesm2022/valtech-components.mjs.map +0 -1
  245. package/index.d.ts +0 -5
  246. package/lib/components/atoms/avatar/avatar.component.d.ts +0 -12
  247. package/lib/components/atoms/avatar/types.d.ts +0 -6
  248. package/lib/components/atoms/box/box.component.d.ts +0 -12
  249. package/lib/components/atoms/box/types.d.ts +0 -7
  250. package/lib/components/atoms/button/button.component.d.ts +0 -20
  251. package/lib/components/atoms/button/factory.d.ts +0 -71
  252. package/lib/components/atoms/display/display.component.d.ts +0 -10
  253. package/lib/components/atoms/display/types.d.ts +0 -6
  254. package/lib/components/atoms/divider/divider.component.d.ts +0 -10
  255. package/lib/components/atoms/divider/types.d.ts +0 -5
  256. package/lib/components/atoms/href/href.component.d.ts +0 -15
  257. package/lib/components/atoms/href/types.d.ts +0 -9
  258. package/lib/components/atoms/icon/icon.component.d.ts +0 -11
  259. package/lib/components/atoms/icon/types.d.ts +0 -6
  260. package/lib/components/atoms/image/image.component.d.ts +0 -12
  261. package/lib/components/atoms/image/types.d.ts +0 -11
  262. package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +0 -10
  263. package/lib/components/atoms/progress-bar/types.d.ts +0 -9
  264. package/lib/components/atoms/text/text.component.d.ts +0 -10
  265. package/lib/components/atoms/text/types.d.ts +0 -7
  266. package/lib/components/atoms/title/title.component.d.ts +0 -10
  267. package/lib/components/atoms/title/types.d.ts +0 -7
  268. package/lib/components/molecules/alert-box/alert-box.component.d.ts +0 -10
  269. package/lib/components/molecules/button-group/button-group.component.d.ts +0 -13
  270. package/lib/components/molecules/button-group/types.d.ts +0 -6
  271. package/lib/components/molecules/card/card.component.d.ts +0 -16
  272. package/lib/components/molecules/card/types.d.ts +0 -32
  273. package/lib/components/molecules/check-input/check-input.component.d.ts +0 -8
  274. package/lib/components/molecules/comment-input/comment-input.component.d.ts +0 -10
  275. package/lib/components/molecules/content-loader/content-loader.component.d.ts +0 -10
  276. package/lib/components/molecules/content-loader/types.d.ts +0 -7
  277. package/lib/components/molecules/date-input/date-input.component.d.ts +0 -10
  278. package/lib/components/molecules/email-input/email-input.component.d.ts +0 -10
  279. package/lib/components/molecules/expandable-text/expandable-text.component.d.ts +0 -13
  280. package/lib/components/molecules/expandable-text/types.d.ts +0 -6
  281. package/lib/components/molecules/file-input/file-input.component.d.ts +0 -15
  282. package/lib/components/molecules/hint/hint.component.d.ts +0 -11
  283. package/lib/components/molecules/hour-input/hour-input.component.d.ts +0 -10
  284. package/lib/components/molecules/link/link.component.d.ts +0 -14
  285. package/lib/components/molecules/link/types.d.ts +0 -9
  286. package/lib/components/molecules/links-cake/links-cake.component.d.ts +0 -10
  287. package/lib/components/molecules/notes-box/notes-box.component.d.ts +0 -10
  288. package/lib/components/molecules/notes-box/types.d.ts +0 -8
  289. package/lib/components/molecules/number-input/number-input.component.d.ts +0 -10
  290. package/lib/components/molecules/password-input/password-input.component.d.ts +0 -11
  291. package/lib/components/molecules/pin-input/pin-input.component.d.ts +0 -15
  292. package/lib/components/molecules/progress-status/progress-status.component.d.ts +0 -14
  293. package/lib/components/molecules/progress-status/types.d.ts +0 -10
  294. package/lib/components/molecules/prompter/prompter.component.d.ts +0 -12
  295. package/lib/components/molecules/radio-input/radio-input.component.d.ts +0 -10
  296. package/lib/components/molecules/searchbar/searchbar.component.d.ts +0 -14
  297. package/lib/components/molecules/text-input/text-input.component.d.ts +0 -10
  298. package/lib/components/molecules/title-block/title-block.component.d.ts +0 -10
  299. package/lib/components/molecules/title-block/types.d.ts +0 -12
  300. package/lib/components/organisms/banner/banner.component.d.ts +0 -14
  301. package/lib/components/organisms/banner/types.d.ts +0 -12
  302. package/lib/components/organisms/footer/footer.component.d.ts +0 -12
  303. package/lib/components/organisms/form/factory.d.ts +0 -5
  304. package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +0 -15
  305. package/lib/components/organisms/form/form.component.d.ts +0 -23
  306. package/lib/components/organisms/header/header.component.d.ts +0 -12
  307. package/lib/components/organisms/item-list/item-list.component.d.ts +0 -23
  308. package/lib/components/organisms/item-list/types.d.ts +0 -38
  309. package/lib/components/organisms/no-content/no-content.component.d.ts +0 -12
  310. package/lib/components/organisms/toolbar/toolbar.component.d.ts +0 -21
  311. package/lib/components/organisms/toolbar/types.d.ts +0 -11
  312. package/lib/components/organisms/wizard/types.d.ts +0 -20
  313. package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +0 -21
  314. package/lib/components/organisms/wizard/wizard.component.d.ts +0 -22
  315. package/lib/components/templates/layout/layout.component.d.ts +0 -5
  316. package/lib/components/templates/simple/simple.component.d.ts +0 -10
  317. package/lib/components/types.d.ts +0 -113
  318. package/lib/services/download.service.d.ts +0 -8
  319. package/lib/services/icons.service.d.ts +0 -6
  320. package/lib/services/in-app-browser.service.d.ts +0 -9
  321. package/lib/services/lang-provider/components/lang-settings.d.ts +0 -3
  322. package/lib/services/lang-provider/components/theme-settings.d.ts +0 -3
  323. package/lib/services/lang-provider/content.d.ts +0 -6
  324. package/lib/services/lang-provider/lang-provider.service.d.ts +0 -17
  325. package/lib/services/lang-provider/types.d.ts +0 -15
  326. package/lib/services/local-storage.service.d.ts +0 -6
  327. package/lib/services/navigation.service.d.ts +0 -15
  328. package/lib/services/theme.service.d.ts +0 -27
  329. package/lib/shared/constants/storage.d.ts +0 -2
  330. package/lib/shared/utils/dom.d.ts +0 -3
  331. package/lib/shared/utils/styles.d.ts +0 -1
@@ -0,0 +1,223 @@
1
+ import { NgClass, NgStyle } from '@angular/common';
2
+ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
3
+ import { RouterLink } from '@angular/router';
4
+ import {
5
+ IonAvatar,
6
+ IonButton,
7
+ IonIcon,
8
+ IonItem,
9
+ IonLabel,
10
+ IonList,
11
+ IonListHeader,
12
+ IonNote,
13
+ IonSpinner,
14
+ } from '@ionic/angular/standalone';
15
+ import { IconService } from '../../../services/icons.service';
16
+ import { resolveColor } from '../../../shared/utils/styles';
17
+ import { ComponentStates } from '../../types';
18
+ import { ListMetadata } from './types';
19
+
20
+ @Component({
21
+ selector: 'val-item-list',
22
+ standalone: true,
23
+ imports: [
24
+ RouterLink,
25
+ NgStyle,
26
+ NgClass,
27
+ IonList,
28
+ IonListHeader,
29
+ IonLabel,
30
+ IonNote,
31
+ IonItem,
32
+ IonAvatar,
33
+ IonIcon,
34
+ IonButton,
35
+ IonSpinner,
36
+ ],
37
+ template: `
38
+ <div>
39
+ <ion-list
40
+ [inset]="props.rounded"
41
+ [class.shadowed]="props.shadowed"
42
+ [class.bordered]="props.bordered"
43
+ [ngStyle]="{
44
+ 'border-color': props.bordered ? this.color : '',
45
+ }"
46
+ >
47
+ <ion-list-header>
48
+ <ion-label>{{ props.title }}</ion-label>
49
+ </ion-list-header>
50
+ @for (item of props.items; track item.text) {
51
+ @if (item.mode == 'justext') {
52
+ <ion-item
53
+ [lines]="item.lines"
54
+ [button]="item.clickable"
55
+ [disabled]="item.disabled"
56
+ (click)="clickHandler(item.token)"
57
+ >
58
+ @if (item.unreadIndicator) {
59
+ <div class="unread-indicator-wrapper" slot="start">
60
+ <div class="unread-indicator"></div>
61
+ </div>
62
+ }
63
+
64
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
65
+ <h2>{{ item.text }}</h2>
66
+
67
+ @if (item.comments) {
68
+ <ion-note color="medium"> {{ item.comments }} </ion-note>
69
+ }
70
+ </ion-label>
71
+
72
+ @if (item.endNote) {
73
+ <ion-note slot="end">{{ item.endNote }}</ion-note>
74
+ }
75
+ </ion-item>
76
+ }
77
+
78
+ @if (item.mode == 'actionable') {
79
+ <ion-item [lines]="item.lines" [button]="item.clickable" [disabled]="item.disabled">
80
+ @if (item.unreadIndicator) {
81
+ <div class="unread-indicator-wrapper" slot="start">
82
+ <div class="unread-indicator"></div>
83
+ </div>
84
+ }
85
+
86
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
87
+ <h2>{{ item.text }}</h2>
88
+
89
+ @if (item.comments) {
90
+ <ion-note color="medium"> {{ item.comments }} </ion-note>
91
+ }
92
+ </ion-label>
93
+
94
+ @if (item.actions) {
95
+ @for (action of item.actions; track action.token) {
96
+ <ion-button
97
+ fill="outline"
98
+ color="dark"
99
+ slot="end"
100
+ [disabled]="action.state === states.WORKING"
101
+ (click)="onActionClickHandler(action.token)"
102
+ >
103
+ @if (action.state !== states.WORKING) {
104
+ @if (action.icon) {
105
+ <ion-icon aria-hidden="true" [name]="action.icon" size="medium" slot="start"></ion-icon>
106
+ }
107
+
108
+ {{ action.description }}
109
+ }
110
+
111
+ @if (action.state === states.WORKING) {
112
+ <ion-spinner class="action-spinner" name="circular"></ion-spinner>
113
+ }
114
+ </ion-button>
115
+ }
116
+ }
117
+ </ion-item>
118
+ }
119
+
120
+ @if (item.mode == 'route') {
121
+ <ion-item
122
+ [lines]="item.lines"
123
+ [button]="item.clickable"
124
+ [disabled]="item.disabled"
125
+ (click)="clickHandler(item.token)"
126
+ [routerLink]="item.routerLink"
127
+ >
128
+ @if (item.unreadIndicator) {
129
+ <div class="unread-indicator-wrapper" slot="start">
130
+ <div class="unread-indicator"></div>
131
+ </div>
132
+ }
133
+
134
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
135
+ <h2>{{ item.text }}</h2>
136
+
137
+ @if (item.comments) {
138
+ <ion-note color="medium"> {{ item.comments }} </ion-note>
139
+ }
140
+ </ion-label>
141
+ </ion-item>
142
+ }
143
+
144
+ @if (item.mode == 'subtitule') {
145
+ <ion-item
146
+ [lines]="item.lines"
147
+ [button]="item.clickable"
148
+ [disabled]="item.disabled"
149
+ (click)="clickHandler(item.token)"
150
+ >
151
+ @if (item.unreadIndicator) {
152
+ <div class="unread-indicator-wrapper" slot="start">
153
+ <div class="unread-indicator"></div>
154
+ </div>
155
+ }
156
+
157
+ <ion-label [ngClass]="{ 'ion-text-nowrap': item.ellipsis }">
158
+ <h1>{{ item.text }}</h1>
159
+ <p>{{ item.subtitle }}</p>
160
+ </ion-label>
161
+ </ion-item>
162
+ }
163
+
164
+ @if (item.mode == 'avatar') {
165
+ <ion-item
166
+ [lines]="item.lines"
167
+ [button]="item.clickable"
168
+ [disabled]="item.disabled"
169
+ (click)="clickHandler(item.token)"
170
+ >
171
+ <ion-avatar aria-hidden="true" slot="start">
172
+ <img alt="" [src]="item.image" />
173
+ </ion-avatar>
174
+ <ion-label>{{ item.text }}</ion-label>
175
+ </ion-item>
176
+ }
177
+
178
+ @if (item.mode == 'icon') {
179
+ <ion-item
180
+ [lines]="item.lines"
181
+ [button]="item.clickable"
182
+ [disabled]="item.disabled"
183
+ (click)="clickHandler(item.token)"
184
+ >
185
+ <ion-icon aria-hidden="true" [name]="item.icon" size="medium" slot="start"></ion-icon>
186
+ <ion-label>{{ item.text }}</ion-label>
187
+ </ion-item>
188
+ }
189
+ }
190
+ </ion-list>
191
+ </div>
192
+ `,
193
+ styleUrls: ['./item-list.component.scss'],
194
+ })
195
+ export class ItemListComponent implements OnInit {
196
+ states = ComponentStates;
197
+ defaultColor = 'primary';
198
+
199
+ @Input()
200
+ props: ListMetadata;
201
+
202
+ @Output()
203
+ onClick = new EventEmitter<string>();
204
+
205
+ @Output()
206
+ onActionClick = new EventEmitter<string>();
207
+
208
+ constructor(icon: IconService) {}
209
+
210
+ ngOnInit() {}
211
+
212
+ clickHandler(token?: string) {
213
+ this.onClick.emit(token);
214
+ }
215
+
216
+ onActionClickHandler(token?: string) {
217
+ this.onActionClick.emit(token);
218
+ }
219
+
220
+ color() {
221
+ return resolveColor(this.props.color || this.defaultColor);
222
+ }
223
+ }
@@ -0,0 +1,42 @@
1
+ import { Color } from '@ionic/core';
2
+ import { ComponentState } from '../../types';
3
+
4
+ export type ItemAction = {
5
+ token: string;
6
+ icon?: string;
7
+ description: string;
8
+ state: ComponentState;
9
+ };
10
+
11
+ export interface ItemMetadata {
12
+ token?: string;
13
+ mode: 'justext' | 'subtitule' | 'avatar' | 'icon' | 'route' | 'actionable';
14
+ text: string;
15
+ image?: string;
16
+ icon?: string;
17
+ comments?: string;
18
+ subtitle?: string;
19
+ endNote?: string;
20
+ actions?: ItemAction[];
21
+
22
+ color?: string;
23
+ lines?: 'full' | 'inset' | 'none';
24
+ button?: boolean;
25
+ detail?: boolean;
26
+ clickable?: boolean;
27
+ detailIcon?: string;
28
+ disabled?: boolean;
29
+ ellipsis?: boolean;
30
+ href?: string;
31
+ routerLink?: string | any[];
32
+ unreadIndicator?: boolean;
33
+ }
34
+
35
+ export interface ListMetadata {
36
+ color: Color;
37
+ bordered: boolean;
38
+ rounded: boolean;
39
+ shadowed: boolean;
40
+ title: string;
41
+ items: ItemMetadata[];
42
+ }
@@ -0,0 +1,11 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ .image-container {
4
+ display: flex;
5
+ justify-content: center;
6
+ margin-bottom: pxToRem(16);
7
+ }
8
+
9
+ val-image .image {
10
+ margin: 0 auto;
11
+ }
@@ -0,0 +1,37 @@
1
+ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
2
+ import { ImageComponent } from '../../atoms/image/image.component';
3
+ import { BannerComponent } from '../banner/banner.component';
4
+ import { NoContentMetadata } from './types';
5
+
6
+ @Component({
7
+ selector: 'val-no-content',
8
+ standalone: true,
9
+ imports: [ImageComponent, BannerComponent],
10
+ template: `
11
+ @if (props.topContent) {
12
+ <div>
13
+ <val-banner [props]="props.topContent" (onClick)="onClickHandler($event)"></val-banner>
14
+ </div>
15
+ }
16
+ <val-image class="image-container" [props]="props.image"></val-image>
17
+ <div>
18
+ <val-banner [props]="props.bottomContent" (onClick)="onClickHandler($event)"></val-banner>
19
+ </div>
20
+ `,
21
+ styleUrls: ['./no-content.component.scss'],
22
+ })
23
+ export class NoContentComponent implements OnInit {
24
+ @Input()
25
+ props: NoContentMetadata;
26
+
27
+ @Output()
28
+ onClick = new EventEmitter<string>();
29
+
30
+ constructor() {}
31
+
32
+ ngOnInit() {}
33
+
34
+ onClickHandler(token: string) {
35
+ this.onClick.emit(token);
36
+ }
37
+ }
@@ -1,7 +1,8 @@
1
1
  import { ImageMetadata } from '../../atoms/image/types';
2
2
  import { BannerMetadata } from '../../organisms/banner/types';
3
+
3
4
  export type NoContentMetadata = {
4
- image: ImageMetadata;
5
- topContent?: BannerMetadata;
6
- bottomContent: BannerMetadata;
5
+ image: ImageMetadata;
6
+ topContent?: BannerMetadata;
7
+ bottomContent: BannerMetadata;
7
8
  };
@@ -0,0 +1,13 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ ion-button {
4
+ font-family: var(--ion-default-font), Arial, sans-serif;
5
+ }
6
+
7
+ .left-buttons {
8
+ margin-left: pxToRem(-16);
9
+ }
10
+
11
+ .background {
12
+ background: var(--ion-background-color);
13
+ }
@@ -0,0 +1,123 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
3
+ import { NavController } from '@ionic/angular';
4
+ import { IonButton, IonButtons, IonIcon, IonText, IonTitle, IonToolbar } from '@ionic/angular/standalone';
5
+ import { addIcons } from 'ionicons';
6
+ import { chevronBackOutline } from 'ionicons/icons';
7
+ import { AvatarComponent } from '../../atoms/avatar/avatar.component';
8
+ import { ImageComponent } from '../../atoms/image/image.component';
9
+ import { ToolbarAction, ToolbarActionType } from '../../types';
10
+ import { ToolbarMetadata } from './types';
11
+
12
+ @Component({
13
+ selector: 'val-toolbar',
14
+ standalone: true,
15
+ imports: [
16
+ CommonModule,
17
+ IonToolbar,
18
+ IonButtons,
19
+ IonButton,
20
+ IonIcon,
21
+ IonText,
22
+ IonTitle,
23
+ AvatarComponent,
24
+ ImageComponent,
25
+ ],
26
+ template: `
27
+ <ion-toolbar [color]="props.color" [class.background]="props.color === 'background'">
28
+ <ng-container *ngIf="props.withBack">
29
+ <ion-buttons class="left-buttons" slot="start" *ngIf="props.withBack">
30
+ <ion-button fill="clear" (click)="goBack()" [color]="props.textColor">
31
+ <ion-icon name="chevron-back-outline" [slot]="props.backText ? 'start' : 'icon-only'"></ion-icon>
32
+ <ion-text *ngIf="props.backText">{{ props.backText }}</ion-text>
33
+ </ion-button>
34
+ </ion-buttons>
35
+ </ng-container>
36
+ <ng-container *ngIf="props.withActions">
37
+ <ion-buttons slot="end" *ngIf="someInRight()">
38
+ <ng-container *ngFor="let action of rightActions()">
39
+ <ion-button *ngIf="action.type === actionTypes.ICON" (click)="clickHandler(action.token)">
40
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
41
+ </ion-button>
42
+ <val-avatar
43
+ *ngIf="action.type === actionTypes.AVATAR"
44
+ [props]="{ size: 'small', image: action.description, default: '' }"
45
+ (onClick)="clickHandler(action.token)"
46
+ ></val-avatar>
47
+ <val-image
48
+ *ngIf="action.type === actionTypes.IMAGE"
49
+ [props]="action.image"
50
+ (click)="clickHandler(action.token)"
51
+ ></val-image>
52
+ <ion-button *ngIf="action.type === actionTypes.BUTTON" (click)="clickHandler(action.token)">{{
53
+ action.description
54
+ }}</ion-button>
55
+ </ng-container>
56
+ </ion-buttons>
57
+ <ion-buttons slot="start" *ngIf="someInLeft()">
58
+ <ng-container *ngFor="let action of leftActions()">
59
+ <ion-button *ngIf="action.type === actionTypes.ICON" (click)="clickHandler(action.token)">
60
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
61
+ </ion-button>
62
+ <val-avatar
63
+ *ngIf="action.type === actionTypes.AVATAR"
64
+ [props]="{ size: 'small', image: action.description, default: '' }"
65
+ (onClick)="clickHandler(action.token)"
66
+ ></val-avatar>
67
+ <val-image
68
+ *ngIf="action.type === actionTypes.IMAGE"
69
+ [props]="action.image"
70
+ (click)="clickHandler(action.token)"
71
+ ></val-image>
72
+ <ion-button *ngIf="action.type === actionTypes.BUTTON" (click)="clickHandler(action.token)">{{
73
+ action.description
74
+ }}</ion-button>
75
+ </ng-container>
76
+ </ion-buttons>
77
+ </ng-container>
78
+ <ion-title *ngIf="props.title" [color]="props.textColor">{{ props.title }}</ion-title>
79
+ <!-- experimental -->
80
+ <ng-content select="[toolbar-bottom]"></ng-content>
81
+ </ion-toolbar>
82
+ `,
83
+ styleUrls: ['./toolbar.component.scss'],
84
+ })
85
+ export class ToolbarComponent implements OnInit {
86
+ @Input()
87
+ props: ToolbarMetadata;
88
+
89
+ @Output()
90
+ onClick = new EventEmitter<string>();
91
+
92
+ actionTypes = ToolbarActionType;
93
+
94
+ constructor(private navCtrl: NavController) {
95
+ addIcons({ chevronBackOutline });
96
+ }
97
+
98
+ ngOnInit() {}
99
+
100
+ goBack(): void {
101
+ this.navCtrl.back();
102
+ }
103
+
104
+ rightActions(): ToolbarAction[] {
105
+ return this.props.actions.filter(x => x.position === 'right');
106
+ }
107
+
108
+ leftActions(): ToolbarAction[] {
109
+ return this.props.actions.filter(x => x.position === 'left');
110
+ }
111
+
112
+ someInRight(): boolean {
113
+ return !!this.props.actions.find(x => x.position === 'right');
114
+ }
115
+
116
+ someInLeft(): boolean {
117
+ return !!this.props.actions.find(x => x.position === 'left');
118
+ }
119
+
120
+ clickHandler(token?: string) {
121
+ this.onClick.emit(token);
122
+ }
123
+ }
@@ -0,0 +1,12 @@
1
+ import { Color } from '@ionic/core';
2
+ import { ToolbarAction } from '../../types';
3
+
4
+ export type ToolbarMetadata = {
5
+ withBack: boolean;
6
+ backText?: string;
7
+ withActions: boolean;
8
+ color?: Color;
9
+ textColor?: Color;
10
+ title: string;
11
+ actions: ToolbarAction[];
12
+ };
@@ -0,0 +1,24 @@
1
+ import { ButtonMetadata, ComponentState } from '../../types';
2
+ import { NoContentMetadata } from '../no-content/types';
3
+
4
+ export type WizardMetadata = {
5
+ state: ComponentState;
6
+ current: number;
7
+ steps: Steps;
8
+ error: Step;
9
+ };
10
+
11
+ export type Step = {
12
+ titles: NoContentMetadata;
13
+ buttons: ButtonMetadata[];
14
+ };
15
+
16
+ export type Steps = {
17
+ [step: number]: Step;
18
+ };
19
+
20
+ export enum MOTION {
21
+ BACKWARD,
22
+ FORWARD,
23
+ RETRY,
24
+ }
@@ -0,0 +1,90 @@
1
+ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
2
+ import { ProgressBarComponent } from '../../../atoms/progress-bar/progress-bar.component';
3
+ import { ButtonGroupComponent } from '../../../molecules/button-group/button-group.component';
4
+ import { ButtonMetadata, ComponentStates } from '../../../types';
5
+ import { FooterComponent } from '../../footer/footer.component';
6
+ import { MOTION, Step, WizardMetadata } from '../types';
7
+
8
+ @Component({
9
+ selector: 'val-wizard-footer',
10
+ standalone: true,
11
+ imports: [FooterComponent, ProgressBarComponent, ButtonGroupComponent],
12
+ template: `
13
+ <val-footer
14
+ [props]="{
15
+ bordered: false,
16
+ translucent: false,
17
+ toolbar: {
18
+ title: '',
19
+ actions: [],
20
+ color: 'background',
21
+ withBack: false,
22
+ withActions: false,
23
+ },
24
+ }"
25
+ >
26
+ <val-progress-bar
27
+ extra
28
+ [props]="{ progress: Progress, color: '', type: 'determinate', buffer: 1, size: 'small', rounded: false }"
29
+ ></val-progress-bar>
30
+ <val-button-group
31
+ extra
32
+ [props]="{ buttons: actions, position: 'left', columned: false }"
33
+ position="spaced"
34
+ (onClick)="clickHandler($event)"
35
+ ></val-button-group>
36
+ </val-footer>
37
+ `,
38
+ styleUrls: ['./wizard-footer.component.scss'],
39
+ })
40
+ export class WizardFooterComponent implements OnInit {
41
+ @Input()
42
+ props: WizardMetadata;
43
+
44
+ @Output()
45
+ onClick = new EventEmitter<{ current: number; motion: MOTION }>();
46
+
47
+ wrapperId = 'wizard-wrapper';
48
+
49
+ constructor() {}
50
+
51
+ ngOnInit() {}
52
+
53
+ clickHandler(token?: string) {
54
+ if (!token) {
55
+ return;
56
+ }
57
+ if (token.includes('right')) {
58
+ this.tryToStep(MOTION.FORWARD);
59
+ }
60
+ if (token.includes('left')) {
61
+ this.tryToStep(MOTION.BACKWARD);
62
+ }
63
+ }
64
+
65
+ get Current(): Step {
66
+ return this.props.steps[this.props.current];
67
+ }
68
+
69
+ get Progress(): number {
70
+ if (this.props.steps && this.props.current) {
71
+ return this.props.current / Object.keys(this.props.steps).length;
72
+ }
73
+ return 0;
74
+ }
75
+
76
+ get actions(): ButtonMetadata[] {
77
+ if (this.props.state === ComponentStates.ERROR && this.Current.buttons.length > 1) {
78
+ this.Current.buttons[1].state = ComponentStates.DISABLED;
79
+ }
80
+
81
+ if (this.props.current === 1 && this.Current.buttons.length > 1) {
82
+ return [this.Current.buttons[1]];
83
+ }
84
+ return this.Current.buttons;
85
+ }
86
+
87
+ tryToStep(motion: MOTION): void {
88
+ this.onClick.emit({ current: this.props.current, motion });
89
+ }
90
+ }
@@ -0,0 +1,15 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ .wrapper {
4
+ height: auto;
5
+ display: flex;
6
+ flex-direction: column;
7
+ justify-content: space-between;
8
+ position: relative;
9
+ }
10
+
11
+ .step {
12
+ min-height: pxToRem(150);
13
+ margin: 16px 0;
14
+ text-align: center;
15
+ }