valtech-components 2.0.28 → 2.0.29

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 (312) hide show
  1. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +31 -0
  2. package/esm2022/lib/components/atoms/avatar/types.mjs +2 -0
  3. package/esm2022/lib/components/atoms/box/box.component.mjs +47 -0
  4. package/esm2022/lib/components/atoms/box/types.mjs +2 -0
  5. package/esm2022/lib/components/atoms/button/button.component.mjs +69 -0
  6. package/esm2022/lib/components/atoms/button/factory.mjs +217 -0
  7. package/esm2022/lib/components/atoms/display/display.component.mjs +28 -0
  8. package/esm2022/lib/components/atoms/display/types.mjs +2 -0
  9. package/esm2022/lib/components/atoms/divider/divider.component.mjs +17 -0
  10. package/esm2022/lib/components/atoms/divider/types.mjs +2 -0
  11. package/esm2022/lib/components/atoms/href/href.component.mjs +51 -0
  12. package/esm2022/lib/components/atoms/href/types.mjs +2 -0
  13. package/esm2022/lib/components/atoms/icon/icon.component.mjs +18 -0
  14. package/esm2022/lib/components/atoms/icon/types.mjs +2 -0
  15. package/esm2022/lib/components/atoms/image/image.component.mjs +50 -0
  16. package/esm2022/lib/components/atoms/image/types.mjs +2 -0
  17. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +36 -0
  18. package/esm2022/lib/components/atoms/progress-bar/types.mjs +2 -0
  19. package/esm2022/lib/components/atoms/text/text.component.mjs +24 -0
  20. package/esm2022/lib/components/atoms/text/types.mjs +2 -0
  21. package/esm2022/lib/components/atoms/title/title.component.mjs +31 -0
  22. package/esm2022/lib/components/atoms/title/types.mjs +2 -0
  23. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +32 -0
  24. package/esm2022/lib/components/molecules/alert-box/types.mjs +2 -0
  25. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +49 -0
  26. package/esm2022/lib/components/molecules/button-group/types.mjs +2 -0
  27. package/esm2022/lib/components/molecules/card/card.component.mjs +365 -0
  28. package/esm2022/lib/components/molecules/card/types.mjs +16 -0
  29. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +15 -0
  30. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +23 -0
  31. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +32 -0
  32. package/esm2022/lib/components/molecules/content-loader/types.mjs +2 -0
  33. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +73 -0
  34. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +19 -0
  35. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +69 -0
  36. package/esm2022/lib/components/molecules/hint/hint.component.mjs +52 -0
  37. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +18 -0
  38. package/esm2022/lib/components/molecules/link/link.component.mjs +53 -0
  39. package/esm2022/lib/components/molecules/link/types.mjs +2 -0
  40. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +37 -0
  41. package/esm2022/lib/components/molecules/links-cake/types.mjs +2 -0
  42. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +33 -0
  43. package/esm2022/lib/components/molecules/notes-box/types.mjs +2 -0
  44. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +18 -0
  45. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +44 -0
  46. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +45 -0
  47. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +94 -0
  48. package/esm2022/lib/components/molecules/progress-status/types.mjs +2 -0
  49. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +84 -0
  50. package/esm2022/lib/components/molecules/prompter/types.mjs +2 -0
  51. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +33 -0
  52. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +61 -0
  53. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +18 -0
  54. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +77 -0
  55. package/esm2022/lib/components/molecules/title-block/types.mjs +2 -0
  56. package/esm2022/lib/components/organisms/banner/banner.component.mjs +75 -0
  57. package/esm2022/lib/components/organisms/banner/types.mjs +2 -0
  58. package/esm2022/lib/components/organisms/footer/footer.component.mjs +50 -0
  59. package/esm2022/lib/components/organisms/footer/types.mjs +2 -0
  60. package/esm2022/lib/components/organisms/form/factory.mjs +8 -0
  61. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +76 -0
  62. package/esm2022/lib/components/organisms/form/form.component.mjs +230 -0
  63. package/esm2022/lib/components/organisms/header/header.component.mjs +33 -0
  64. package/esm2022/lib/components/organisms/header/types.mjs +2 -0
  65. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +34 -0
  66. package/esm2022/lib/components/organisms/no-content/types.mjs +2 -0
  67. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +168 -0
  68. package/esm2022/lib/components/organisms/toolbar/types.mjs +2 -0
  69. package/esm2022/lib/components/organisms/wizard/types.mjs +7 -0
  70. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +107 -0
  71. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +103 -0
  72. package/esm2022/lib/components/templates/layout/layout.component.mjs +19 -0
  73. package/esm2022/lib/components/templates/simple/simple.component.mjs +80 -0
  74. package/esm2022/lib/components/templates/simple/types.mjs +2 -0
  75. package/esm2022/lib/components/types.mjs +36 -0
  76. package/esm2022/lib/services/download.service.mjs +63 -0
  77. package/esm2022/lib/services/in-app-browser.service.mjs +24 -0
  78. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +13 -0
  79. package/esm2022/lib/services/lang-provider/components/theme-settings.mjs +15 -0
  80. package/esm2022/lib/services/lang-provider/content.mjs +8 -0
  81. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +39 -0
  82. package/esm2022/lib/services/lang-provider/types.mjs +14 -0
  83. package/esm2022/lib/services/local-storage.service.mjs +16 -0
  84. package/esm2022/lib/services/navigation.service.mjs +39 -0
  85. package/esm2022/lib/services/theme.service.mjs +97 -0
  86. package/esm2022/lib/services/types.mjs +3 -0
  87. package/esm2022/lib/shared/constants/storage.mjs +3 -0
  88. package/esm2022/lib/shared/utils/dom.mjs +17 -0
  89. package/esm2022/public-api.mjs +88 -0
  90. package/esm2022/valtech-components.mjs +5 -0
  91. package/fesm2022/valtech-components.mjs +3064 -0
  92. package/fesm2022/valtech-components.mjs.map +1 -0
  93. package/index.d.ts +5 -0
  94. package/lib/components/atoms/avatar/avatar.component.d.ts +12 -0
  95. package/lib/components/atoms/avatar/types.d.ts +6 -0
  96. package/lib/components/atoms/box/box.component.d.ts +12 -0
  97. package/lib/components/atoms/box/types.d.ts +7 -0
  98. package/lib/components/atoms/button/button.component.d.ts +20 -0
  99. package/lib/components/atoms/button/factory.d.ts +71 -0
  100. package/lib/components/atoms/display/display.component.d.ts +10 -0
  101. package/lib/components/atoms/display/types.d.ts +6 -0
  102. package/lib/components/atoms/divider/divider.component.d.ts +10 -0
  103. package/lib/components/atoms/divider/types.d.ts +5 -0
  104. package/lib/components/atoms/href/href.component.d.ts +15 -0
  105. package/lib/components/atoms/href/types.d.ts +9 -0
  106. package/lib/components/atoms/icon/icon.component.d.ts +10 -0
  107. package/lib/components/atoms/icon/types.d.ts +6 -0
  108. package/lib/components/atoms/image/image.component.d.ts +12 -0
  109. package/lib/components/atoms/image/types.d.ts +11 -0
  110. package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +10 -0
  111. package/lib/components/atoms/progress-bar/types.d.ts +9 -0
  112. package/lib/components/atoms/text/text.component.d.ts +10 -0
  113. package/lib/components/atoms/text/types.d.ts +7 -0
  114. package/lib/components/atoms/title/title.component.d.ts +10 -0
  115. package/lib/components/atoms/title/types.d.ts +7 -0
  116. package/lib/components/molecules/alert-box/alert-box.component.d.ts +10 -0
  117. package/{src/lib/components/molecules/alert-box/types.ts → lib/components/molecules/alert-box/types.d.ts} +3 -4
  118. package/lib/components/molecules/button-group/button-group.component.d.ts +13 -0
  119. package/lib/components/molecules/button-group/types.d.ts +6 -0
  120. package/lib/components/molecules/card/card.component.d.ts +16 -0
  121. package/lib/components/molecules/card/types.d.ts +32 -0
  122. package/lib/components/molecules/check-input/check-input.component.d.ts +8 -0
  123. package/lib/components/molecules/comment-input/comment-input.component.d.ts +10 -0
  124. package/lib/components/molecules/content-loader/content-loader.component.d.ts +10 -0
  125. package/lib/components/molecules/content-loader/types.d.ts +7 -0
  126. package/lib/components/molecules/date-input/date-input.component.d.ts +10 -0
  127. package/lib/components/molecules/email-input/email-input.component.d.ts +10 -0
  128. package/lib/components/molecules/file-input/file-input.component.d.ts +15 -0
  129. package/lib/components/molecules/hint/hint.component.d.ts +11 -0
  130. package/lib/components/molecules/hour-input/hour-input.component.d.ts +10 -0
  131. package/lib/components/molecules/link/link.component.d.ts +14 -0
  132. package/lib/components/molecules/link/types.d.ts +9 -0
  133. package/lib/components/molecules/links-cake/links-cake.component.d.ts +10 -0
  134. package/{src/lib/components/molecules/links-cake/types.ts → lib/components/molecules/links-cake/types.d.ts} +3 -4
  135. package/lib/components/molecules/notes-box/notes-box.component.d.ts +10 -0
  136. package/lib/components/molecules/notes-box/types.d.ts +8 -0
  137. package/lib/components/molecules/number-input/number-input.component.d.ts +10 -0
  138. package/lib/components/molecules/password-input/password-input.component.d.ts +11 -0
  139. package/lib/components/molecules/pin-input/pin-input.component.d.ts +15 -0
  140. package/lib/components/molecules/progress-status/progress-status.component.d.ts +14 -0
  141. package/lib/components/molecules/progress-status/types.d.ts +10 -0
  142. package/lib/components/molecules/prompter/prompter.component.d.ts +12 -0
  143. package/{src/lib/components/molecules/prompter/types.ts → lib/components/molecules/prompter/types.d.ts} +6 -7
  144. package/lib/components/molecules/radio-input/radio-input.component.d.ts +10 -0
  145. package/lib/components/molecules/searchbar/searchbar.component.d.ts +14 -0
  146. package/lib/components/molecules/text-input/text-input.component.d.ts +10 -0
  147. package/lib/components/molecules/title-block/title-block.component.d.ts +10 -0
  148. package/lib/components/molecules/title-block/types.d.ts +12 -0
  149. package/lib/components/organisms/banner/banner.component.d.ts +14 -0
  150. package/lib/components/organisms/banner/types.d.ts +12 -0
  151. package/lib/components/organisms/footer/footer.component.d.ts +12 -0
  152. package/{src/lib/components/organisms/footer/types.ts → lib/components/organisms/footer/types.d.ts} +3 -4
  153. package/lib/components/organisms/form/factory.d.ts +5 -0
  154. package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +15 -0
  155. package/lib/components/organisms/form/form.component.d.ts +23 -0
  156. package/lib/components/organisms/header/header.component.d.ts +12 -0
  157. package/{src/lib/components/organisms/header/types.ts → lib/components/organisms/header/types.d.ts} +3 -4
  158. package/lib/components/organisms/no-content/no-content.component.d.ts +12 -0
  159. package/{src/lib/components/organisms/no-content/types.ts → lib/components/organisms/no-content/types.d.ts} +2 -3
  160. package/lib/components/organisms/toolbar/toolbar.component.d.ts +21 -0
  161. package/lib/components/organisms/toolbar/types.d.ts +11 -0
  162. package/lib/components/organisms/wizard/types.d.ts +20 -0
  163. package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +21 -0
  164. package/lib/components/organisms/wizard/wizard.component.d.ts +22 -0
  165. package/lib/components/templates/layout/layout.component.d.ts +5 -0
  166. package/lib/components/templates/simple/simple.component.d.ts +10 -0
  167. package/{src/lib/components/templates/simple/types.ts → lib/components/templates/simple/types.d.ts} +5 -6
  168. package/lib/components/types.d.ts +113 -0
  169. package/lib/services/download.service.d.ts +8 -0
  170. package/lib/services/in-app-browser.service.d.ts +9 -0
  171. package/lib/services/lang-provider/components/lang-settings.d.ts +3 -0
  172. package/lib/services/lang-provider/components/theme-settings.d.ts +3 -0
  173. package/lib/services/lang-provider/content.d.ts +6 -0
  174. package/lib/services/lang-provider/lang-provider.service.d.ts +17 -0
  175. package/lib/services/lang-provider/types.d.ts +15 -0
  176. package/lib/services/local-storage.service.d.ts +6 -0
  177. package/lib/services/navigation.service.d.ts +15 -0
  178. package/lib/services/theme.service.d.ts +27 -0
  179. package/{src/lib/services/types.ts → lib/services/types.d.ts} +2 -4
  180. package/lib/shared/constants/storage.d.ts +2 -0
  181. package/lib/shared/utils/dom.d.ts +3 -0
  182. package/package.json +14 -11
  183. package/{src/public-api.ts → public-api.d.ts} +0 -13
  184. package/ng-package.json +0 -10
  185. package/src/lib/components/atoms/avatar/avatar.component.scss +0 -20
  186. package/src/lib/components/atoms/avatar/avatar.component.ts +0 -29
  187. package/src/lib/components/atoms/avatar/types.ts +0 -6
  188. package/src/lib/components/atoms/box/box.component.scss +0 -57
  189. package/src/lib/components/atoms/box/box.component.ts +0 -38
  190. package/src/lib/components/atoms/box/types.ts +0 -8
  191. package/src/lib/components/atoms/button/button.component.scss +0 -5
  192. package/src/lib/components/atoms/button/button.component.ts +0 -53
  193. package/src/lib/components/atoms/button/factory.ts +0 -444
  194. package/src/lib/components/atoms/display/display.component.scss +0 -17
  195. package/src/lib/components/atoms/display/display.component.ts +0 -25
  196. package/src/lib/components/atoms/display/types.ts +0 -7
  197. package/src/lib/components/atoms/divider/divider.component.scss +0 -62
  198. package/src/lib/components/atoms/divider/divider.component.ts +0 -18
  199. package/src/lib/components/atoms/divider/types.ts +0 -5
  200. package/src/lib/components/atoms/href/href.component.scss +0 -25
  201. package/src/lib/components/atoms/href/href.component.ts +0 -43
  202. package/src/lib/components/atoms/href/types.ts +0 -10
  203. package/src/lib/components/atoms/icon/icon.component.scss +0 -33
  204. package/src/lib/components/atoms/icon/icon.component.ts +0 -20
  205. package/src/lib/components/atoms/icon/types.ts +0 -7
  206. package/src/lib/components/atoms/image/image.component.scss +0 -70
  207. package/src/lib/components/atoms/image/image.component.ts +0 -40
  208. package/src/lib/components/atoms/image/types.ts +0 -11
  209. package/src/lib/components/atoms/progress-bar/progress-bar.component.scss +0 -22
  210. package/src/lib/components/atoms/progress-bar/progress-bar.component.ts +0 -29
  211. package/src/lib/components/atoms/progress-bar/types.ts +0 -10
  212. package/src/lib/components/atoms/text/text.component.scss +0 -33
  213. package/src/lib/components/atoms/text/text.component.ts +0 -23
  214. package/src/lib/components/atoms/text/types.ts +0 -8
  215. package/src/lib/components/atoms/title/title.component.scss +0 -17
  216. package/src/lib/components/atoms/title/title.component.ts +0 -27
  217. package/src/lib/components/atoms/title/types.ts +0 -8
  218. package/src/lib/components/molecules/alert-box/alert-box.component.scss +0 -10
  219. package/src/lib/components/molecules/alert-box/alert-box.component.ts +0 -28
  220. package/src/lib/components/molecules/button-group/button-group.component.scss +0 -31
  221. package/src/lib/components/molecules/button-group/button-group.component.ts +0 -44
  222. package/src/lib/components/molecules/button-group/types.ts +0 -7
  223. package/src/lib/components/molecules/card/card.component.scss +0 -46
  224. package/src/lib/components/molecules/card/card.component.ts +0 -218
  225. package/src/lib/components/molecules/card/types.ts +0 -36
  226. package/src/lib/components/molecules/check-input/check-input.component.scss +0 -0
  227. package/src/lib/components/molecules/check-input/check-input.component.ts +0 -16
  228. package/src/lib/components/molecules/comment-input/comment-input.component.scss +0 -0
  229. package/src/lib/components/molecules/comment-input/comment-input.component.ts +0 -22
  230. package/src/lib/components/molecules/content-loader/content-loader.component.scss +0 -42
  231. package/src/lib/components/molecules/content-loader/content-loader.component.ts +0 -27
  232. package/src/lib/components/molecules/content-loader/types.ts +0 -8
  233. package/src/lib/components/molecules/date-input/date-input.component.scss +0 -11
  234. package/src/lib/components/molecules/date-input/date-input.component.ts +0 -47
  235. package/src/lib/components/molecules/email-input/email-input.component.scss +0 -0
  236. package/src/lib/components/molecules/email-input/email-input.component.ts +0 -20
  237. package/src/lib/components/molecules/file-input/file-input.component.scss +0 -11
  238. package/src/lib/components/molecules/file-input/file-input.component.ts +0 -56
  239. package/src/lib/components/molecules/hint/hint.component.scss +0 -5
  240. package/src/lib/components/molecules/hint/hint.component.ts +0 -42
  241. package/src/lib/components/molecules/hour-input/hour-input.component.scss +0 -0
  242. package/src/lib/components/molecules/hour-input/hour-input.component.ts +0 -19
  243. package/src/lib/components/molecules/link/link.component.scss +0 -5
  244. package/src/lib/components/molecules/link/link.component.ts +0 -52
  245. package/src/lib/components/molecules/link/types.ts +0 -10
  246. package/src/lib/components/molecules/links-cake/links-cake.component.scss +0 -9
  247. package/src/lib/components/molecules/links-cake/links-cake.component.ts +0 -30
  248. package/src/lib/components/molecules/notes-box/notes-box.component.scss +0 -5
  249. package/src/lib/components/molecules/notes-box/notes-box.component.ts +0 -28
  250. package/src/lib/components/molecules/notes-box/types.ts +0 -9
  251. package/src/lib/components/molecules/number-input/number-input.component.scss +0 -0
  252. package/src/lib/components/molecules/number-input/number-input.component.ts +0 -19
  253. package/src/lib/components/molecules/password-input/password-input.component.scss +0 -7
  254. package/src/lib/components/molecules/password-input/password-input.component.ts +0 -33
  255. package/src/lib/components/molecules/pin-input/pin-input.component.scss +0 -13
  256. package/src/lib/components/molecules/pin-input/pin-input.component.ts +0 -42
  257. package/src/lib/components/molecules/progress-status/progress-status.component.scss +0 -41
  258. package/src/lib/components/molecules/progress-status/progress-status.component.ts +0 -70
  259. package/src/lib/components/molecules/progress-status/types.ts +0 -11
  260. package/src/lib/components/molecules/prompter/prompter.component.scss +0 -34
  261. package/src/lib/components/molecules/prompter/prompter.component.ts +0 -58
  262. package/src/lib/components/molecules/radio-input/radio-input.component.scss +0 -0
  263. package/src/lib/components/molecules/radio-input/radio-input.component.ts +0 -27
  264. package/src/lib/components/molecules/searchbar/searchbar.component.scss +0 -9
  265. package/src/lib/components/molecules/searchbar/searchbar.component.ts +0 -47
  266. package/src/lib/components/molecules/text-input/text-input.component.scss +0 -1
  267. package/src/lib/components/molecules/text-input/text-input.component.ts +0 -19
  268. package/src/lib/components/molecules/title-block/title-block.component.scss +0 -36
  269. package/src/lib/components/molecules/title-block/title-block.component.ts +0 -50
  270. package/src/lib/components/molecules/title-block/types.ts +0 -14
  271. package/src/lib/components/organisms/banner/banner.component.scss +0 -45
  272. package/src/lib/components/organisms/banner/banner.component.ts +0 -57
  273. package/src/lib/components/organisms/banner/types.ts +0 -13
  274. package/src/lib/components/organisms/footer/footer.component.scss +0 -3
  275. package/src/lib/components/organisms/footer/footer.component.ts +0 -40
  276. package/src/lib/components/organisms/form/factory.ts +0 -11
  277. package/src/lib/components/organisms/form/form-footer/form-footer.component.scss +0 -0
  278. package/src/lib/components/organisms/form/form-footer/form-footer.component.ts +0 -63
  279. package/src/lib/components/organisms/form/form.component.scss +0 -16
  280. package/src/lib/components/organisms/form/form.component.ts +0 -183
  281. package/src/lib/components/organisms/header/header.component.scss +0 -0
  282. package/src/lib/components/organisms/header/header.component.ts +0 -32
  283. package/src/lib/components/organisms/no-content/no-content.component.scss +0 -11
  284. package/src/lib/components/organisms/no-content/no-content.component.ts +0 -32
  285. package/src/lib/components/organisms/toolbar/toolbar.component.scss +0 -13
  286. package/src/lib/components/organisms/toolbar/toolbar.component.ts +0 -119
  287. package/src/lib/components/organisms/toolbar/types.ts +0 -12
  288. package/src/lib/components/organisms/wizard/types.ts +0 -24
  289. package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.scss +0 -0
  290. package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.ts +0 -90
  291. package/src/lib/components/organisms/wizard/wizard.component.scss +0 -15
  292. package/src/lib/components/organisms/wizard/wizard.component.ts +0 -99
  293. package/src/lib/components/templates/layout/layout.component.scss +0 -22
  294. package/src/lib/components/templates/layout/layout.component.ts +0 -14
  295. package/src/lib/components/templates/simple/simple.component.scss +0 -30
  296. package/src/lib/components/templates/simple/simple.component.ts +0 -60
  297. package/src/lib/components/types.ts +0 -122
  298. package/src/lib/services/download.service.ts +0 -58
  299. package/src/lib/services/in-app-browser.service.ts +0 -19
  300. package/src/lib/services/lang-provider/components/lang-settings.ts +0 -14
  301. package/src/lib/services/lang-provider/components/theme-settings.ts +0 -16
  302. package/src/lib/services/lang-provider/content.ts +0 -14
  303. package/src/lib/services/lang-provider/lang-provider.service.ts +0 -38
  304. package/src/lib/services/lang-provider/types.ts +0 -25
  305. package/src/lib/services/local-storage.service.ts +0 -18
  306. package/src/lib/services/navigation.service.ts +0 -39
  307. package/src/lib/services/theme.service.ts +0 -102
  308. package/src/lib/shared/constants/storage.ts +0 -2
  309. package/src/lib/shared/utils/dom.ts +0 -19
  310. package/tsconfig.lib.json +0 -14
  311. package/tsconfig.lib.prod.json +0 -10
  312. package/tsconfig.spec.json +0 -14
@@ -1,45 +0,0 @@
1
- @import '../../styles/mixins.scss';
2
-
3
- .content-container {
4
- display: flex;
5
- justify-content: space-between;
6
-
7
- &.center {
8
- flex-direction: column;
9
- }
10
-
11
- &.column {
12
- flex-direction: row;
13
- }
14
-
15
- &.row {
16
- flex-direction: column;
17
- }
18
-
19
- &.middle {
20
- align-items: center;
21
- }
22
-
23
- &.top {
24
- align-items: flex-start;
25
- }
26
-
27
- &.bottom {
28
- align-items: flex-end;
29
- }
30
-
31
- &.hybrid {
32
- flex-direction: column;
33
- align-items: flex-start;
34
-
35
- @include media-medium {
36
- flex-direction: row;
37
- align-items: center;
38
- }
39
- }
40
- }
41
-
42
- .buttons-container {
43
- align-items: center;
44
- display: flex;
45
- }
@@ -1,57 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
3
- import { BoxComponent } from '../../atoms/box/box.component';
4
- import { ButtonGroupComponent } from '../../molecules/button-group/button-group.component';
5
- import { TitleBlockComponent } from '../../molecules/title-block/title-block.component';
6
- import { BannerMetadata } from './types';
7
-
8
- @Component({
9
- selector: 'val-banner',
10
- standalone: true,
11
- imports: [CommonModule, BoxComponent, TitleBlockComponent, ButtonGroupComponent],
12
- template: `
13
- <val-box
14
- [props]="{ icon: props.closable ? 'close-outline' : '', bordered: props.bordered, color: '' }"
15
- (onClick)="closeHandler()"
16
- >
17
- <div [ngClass]="['content-container', props.mode, props.alignment]" body>
18
- <val-title-block
19
- [props]="{
20
- position: props.mode === 'center' ? 'center' : 'left',
21
- aboveTitle: props.content.aboveTitle,
22
- title: props.content.title,
23
- bellowTitle: props.content.bellowTitle,
24
- }"
25
- ></val-title-block>
26
- <val-button-group
27
- class="buttons-container"
28
- [props]="{ position: props.mode === 'center' ? 'center' : 'left', buttons: props.actions, columned: false }"
29
- (onClick)="clickHandler($event)"
30
- ></val-button-group>
31
- </div>
32
- </val-box>
33
- `,
34
- styleUrls: ['./banner.component.scss'],
35
- })
36
- export class BannerComponent implements OnInit {
37
- @Input()
38
- props: BannerMetadata;
39
-
40
- @Output()
41
- onClick = new EventEmitter<string>();
42
-
43
- @Output()
44
- onClose = new EventEmitter();
45
-
46
- constructor() {}
47
-
48
- ngOnInit() {}
49
-
50
- clickHandler(token?: string) {
51
- this.onClick.emit(token);
52
- }
53
-
54
- closeHandler() {
55
- this.onClose.emit();
56
- }
57
- }
@@ -1,13 +0,0 @@
1
- import { Color } from '@ionic/core';
2
- import { TitleBlockMetada } from '../../molecules/title-block/types';
3
- import { ButtonMetadata } from '../../types';
4
-
5
- export type BannerMetadata = {
6
- color: Color;
7
- bordered: boolean;
8
- closable: boolean;
9
- mode: 'row' | 'column' | 'hybrid' | 'center';
10
- alignment: 'center' | 'middle' | 'bottom';
11
- actions: ButtonMetadata[];
12
- content: TitleBlockMetada;
13
- };
@@ -1,3 +0,0 @@
1
- .background {
2
- background: var(--ion-background-color);
3
- }
@@ -1,40 +0,0 @@
1
- import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
2
- import { FooterMetadata } from './types';
3
- import { IonFooter } from '@ionic/angular/standalone';
4
- import { ToolbarComponent } from '../toolbar/toolbar.component';
5
-
6
- @Component({
7
- selector: 'val-footer',
8
- standalone: true,
9
- imports: [IonFooter, ToolbarComponent],
10
- template: `
11
- <ion-footer
12
- [class.ion-no-border]="!props.bordered"
13
- [translucent]="props.translucent"
14
- [class.background]="props.toolbar.color === 'background'"
15
- >
16
- <val-toolbar
17
- *ngIf="props.toolbar.title || props.toolbar.withActions || props.toolbar.withBack"
18
- [props]="props.toolbar"
19
- (onClick)="clickHandler($event)"
20
- ></val-toolbar>
21
- <ng-content select="[extra]"></ng-content>
22
- </ion-footer>
23
- `,
24
- styleUrls: ['./footer.component.scss'],
25
- })
26
- export class FooterComponent implements OnInit {
27
- @Input()
28
- props: FooterMetadata;
29
-
30
- @Output()
31
- onClick = new EventEmitter<string>();
32
-
33
- constructor() {}
34
-
35
- ngOnInit() {}
36
-
37
- clickHandler(token?: string) {
38
- this.onClick.emit(token);
39
- }
40
- }
@@ -1,11 +0,0 @@
1
- import { ValidatorFn, Validators } from '@angular/forms';
2
-
3
- export const maxLength = (
4
- field: string,
5
- max: number
6
- ): { validator: ValidatorFn; error: string } => {
7
- return {
8
- validator: Validators.maxLength(max),
9
- error: `El campo ${field} no debe superar los ${max} caracteres.`,
10
- };
11
- };
@@ -1,63 +0,0 @@
1
- import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
3
- import { ButtonGroupComponent } from '../../../molecules/button-group/button-group.component';
4
- import { ButtonMetadata, ComponentStates, FormSubmit } from '../../../types';
5
- import { FooterComponent } from '../../footer/footer.component';
6
-
7
- @Component({
8
- selector: 'val-form-footer',
9
- standalone: true,
10
- imports: [FooterComponent, ButtonGroupComponent],
11
- template: `
12
- <val-footer
13
- [props]="{
14
- bordered: false,
15
- translucent: false,
16
- toolbar: {
17
- title: '',
18
- actions: [],
19
- color: 'background',
20
- withBack: false,
21
- withActions: false,
22
- },
23
- }"
24
- >
25
- <val-button-group
26
- extra
27
- [props]="{ buttons: actions, position: 'center', columned: false }"
28
- (onClick)="submitHandler($event)"
29
- ></val-button-group>
30
- </val-footer>
31
- `,
32
- styleUrls: ['./form-footer.component.scss'],
33
- })
34
- export class FormFooterComponent implements OnInit {
35
- @Input()
36
- form: FormGroup;
37
-
38
- @Input()
39
- action: ButtonMetadata;
40
-
41
- @Output()
42
- onSubmit = new EventEmitter<FormSubmit>();
43
-
44
- constructor() {}
45
-
46
- ngOnInit() {}
47
-
48
- async submitHandler(token?: string) {
49
- this.onSubmit.emit({ fields: this.form.value, token });
50
- }
51
-
52
- get actions(): ButtonMetadata[] {
53
- if (!this.form) {
54
- return [];
55
- }
56
-
57
- if (this.form.valid) {
58
- this.action.state = ComponentStates.ENABLED;
59
- }
60
-
61
- return [this.action];
62
- }
63
- }
@@ -1,16 +0,0 @@
1
- @import '../../styles/mixins.scss';
2
-
3
- .container {
4
- }
5
-
6
- .section {
7
- margin-top: pxToRem(16);
8
- }
9
-
10
- .input {
11
- margin: pxToRem(8) 0;
12
-
13
- @include media-medium {
14
- margin: pxToRem(12) 0;
15
- }
16
- }
@@ -1,183 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';
3
- import { FormBuilder, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
4
- import { isAtEnd } from '../../../shared/utils/dom';
5
- import { DisplayComponent } from '../../atoms/display/display.component';
6
- import { DividerComponent } from '../../atoms/divider/divider.component';
7
- import { TitleComponent } from '../../atoms/title/title.component';
8
- import { ButtonGroupComponent } from '../../molecules/button-group/button-group.component';
9
- import { CheckInputComponent } from '../../molecules/check-input/check-input.component';
10
- import { CommentInputComponent } from '../../molecules/comment-input/comment-input.component';
11
- import { DateInputComponent } from '../../molecules/date-input/date-input.component';
12
- import { EmailInputComponent } from '../../molecules/email-input/email-input.component';
13
- import { FileInputComponent } from '../../molecules/file-input/file-input.component';
14
- import { HintComponent } from '../../molecules/hint/hint.component';
15
- import { HourInputComponent } from '../../molecules/hour-input/hour-input.component';
16
- import { NumberInputComponent } from '../../molecules/number-input/number-input.component';
17
- import { PasswordInputComponent } from '../../molecules/password-input/password-input.component';
18
- import { PinInputComponent } from '../../molecules/pin-input/pin-input.component';
19
- import { RadioInputComponent } from '../../molecules/radio-input/radio-input.component';
20
- import { TextInputComponent } from '../../molecules/text-input/text-input.component';
21
- import { ButtonMetadata, ComponentStates, FormMetadata, FormSubmit, InputMetadata, InputType } from '../../types';
22
-
23
- @Component({
24
- selector: 'val-form',
25
- standalone: true,
26
- imports: [
27
- CommonModule,
28
- ReactiveFormsModule,
29
- DisplayComponent,
30
- TitleComponent,
31
- TextInputComponent,
32
- CheckInputComponent,
33
- ButtonGroupComponent,
34
- DividerComponent,
35
- HintComponent,
36
- CommentInputComponent,
37
- DateInputComponent,
38
- FileInputComponent,
39
- HourInputComponent,
40
- EmailInputComponent,
41
- NumberInputComponent,
42
- RadioInputComponent,
43
- PasswordInputComponent,
44
- PinInputComponent,
45
- ],
46
- template: `
47
- <div class="container">
48
- <form [formGroup]="form">
49
- <val-display
50
- [props]="{
51
- content: props.name,
52
- color: 'dark',
53
- size: 'large',
54
- }"
55
- ></val-display>
56
- <div class="section" *ngFor="let s of props.sections">
57
- <val-title [props]="{ content: s.name, size: 'large', color: '', bold: false }"></val-title>
58
- <div class="input" *ngFor="let f of s.fields">
59
- <val-title [props]="{ content: f.label, size: 'small', color: 'dark', bold: false }"></val-title>
60
- <ng-container *ngIf="f.type === types.TEXT">
61
- <val-text-input [props]="getFieldProp(f)"></val-text-input>
62
- </ng-container>
63
- <ng-container *ngIf="f.type === types.CHECK">
64
- <val-check-input></val-check-input>
65
- </ng-container>
66
- <ng-container *ngIf="f.type === types.COMMENT">
67
- <val-comment-input [props]="getFieldProp(f)"></val-comment-input>
68
- </ng-container>
69
- <ng-container *ngIf="f.type === types.DATE">
70
- <val-date-input [props]="getFieldProp(f)"></val-date-input>
71
- </ng-container>
72
- <ng-container *ngIf="f.type === types.EMAIL">
73
- <val-email-input [props]="getFieldProp(f)"></val-email-input>
74
- </ng-container>
75
- <ng-container *ngIf="f.type === types.FILE">
76
- <val-file-input [props]="getFieldProp(f)"></val-file-input>
77
- </ng-container>
78
- <ng-container *ngIf="f.type === types.HOUR">
79
- <val-hour-input [props]="getFieldProp(f)"></val-hour-input>
80
- </ng-container>
81
- <ng-container *ngIf="f.type === types.NUMBER">
82
- <val-number-input [props]="getFieldProp(f)"></val-number-input>
83
- </ng-container>
84
- <ng-container *ngIf="f.type === types.PASSWORD">
85
- <val-password-input [props]="getFieldProp(f)"></val-password-input>
86
- </ng-container>
87
- <ng-container *ngIf="f.type === types.PIN_CODE">
88
- <val-pin-input [props]="getFieldProp(f)"></val-pin-input>
89
- </ng-container>
90
- <ng-container *ngIf="f.type === types.RADIO">
91
- <val-radio-input [props]="getFieldProp(f)"></val-radio-input>
92
- </ng-container>
93
- <ng-container *ngIf="f.type === types.SELECT">
94
- <!-- <val-select-input></val-select-input> -->
95
- </ng-container>
96
- <val-hint [props]="getFieldProp(f)"></val-hint>
97
- </div>
98
- <val-divider [props]="{ fill: 'solid', size: 'medium', color: 'medium' }"></val-divider>
99
- </div>
100
- <val-button-group
101
- [props]="{ buttons: actions, position: 'center', columned: false }"
102
- (onClick)="submitHandler($event)"
103
- ></val-button-group>
104
- </form>
105
- </div>
106
- `,
107
- styleUrls: ['./form.component.scss'],
108
- })
109
- export class FormComponent implements OnInit {
110
- @Input()
111
- props: FormMetadata;
112
-
113
- @Output()
114
- onSubmit = new EventEmitter<FormSubmit>();
115
-
116
- @Output()
117
- onInvalid = new EventEmitter();
118
-
119
- form: FormGroup;
120
- types = InputType;
121
-
122
- constructor(
123
- private fb: FormBuilder,
124
- private elementRef: ElementRef
125
- ) {}
126
-
127
- ngOnInit() {
128
- const formControls = {};
129
- this.props.sections.forEach(section => {
130
- section.fields.forEach(field => {
131
- formControls[field.name] = [undefined, field.validators || []];
132
- });
133
- });
134
- this.form = this.fb.group(formControls);
135
- }
136
-
137
- async submitHandler(token?: string) {
138
- this.onSubmit.emit({ fields: this.form.value, token });
139
- }
140
-
141
- getControl(field: string): FormControl {
142
- return this.Form.get(field) as FormControl;
143
- }
144
-
145
- getFieldProp(field: InputMetadata): InputMetadata {
146
- return {
147
- ...field,
148
- control: this.getControl(field.name),
149
- };
150
- }
151
-
152
- get isAtEndOfForm(): boolean {
153
- return isAtEnd(this.elementRef);
154
- }
155
-
156
- get Form(): FormGroup {
157
- return this.form;
158
- }
159
-
160
- get actions(): ButtonMetadata[] {
161
- if (!this.form) {
162
- return [];
163
- }
164
-
165
- if (this.form.valid) {
166
- this.props.actions.state = ComponentStates.ENABLED;
167
- }
168
-
169
- if (this.props.state === ComponentStates.WORKING) {
170
- this.props.actions.state = ComponentStates.WORKING;
171
- }
172
-
173
- if (this.props.state === ComponentStates.ENABLED) {
174
- this.props.actions.state = ComponentStates.ENABLED;
175
- }
176
-
177
- if (this.props.state === ComponentStates.DISABLED) {
178
- this.props.actions.state = ComponentStates.DISABLED;
179
- }
180
-
181
- return [this.props.actions];
182
- }
183
- }
@@ -1,32 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
3
- import { IonHeader } from '@ionic/angular/standalone';
4
- import { ToolbarComponent } from '../toolbar/toolbar.component';
5
- import { HeaderMetadata } from './types';
6
-
7
- @Component({
8
- selector: 'val-header',
9
- standalone: true,
10
- imports: [NgClass, IonHeader, ToolbarComponent],
11
- template: `
12
- <ion-header [class.ion-no-border]="!props.bordered" [translucent]="props.translucent">
13
- <val-toolbar [props]="props.toolbar" (onClick)="clickHandler($event)"></val-toolbar>
14
- </ion-header>
15
- `,
16
- styleUrls: ['./header.component.scss'],
17
- })
18
- export class HeaderComponent implements OnInit {
19
- @Input()
20
- props: HeaderMetadata;
21
-
22
- @Output()
23
- onClick = new EventEmitter<string>();
24
-
25
- constructor() {}
26
-
27
- ngOnInit() {}
28
-
29
- clickHandler(token?: string) {
30
- this.onClick.emit(token);
31
- }
32
- }
@@ -1,11 +0,0 @@
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
- }
@@ -1,32 +0,0 @@
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
- <val-image class="image-container" [props]="props.image"></val-image>
12
- <div>
13
- <val-banner [props]="props.content" (onClick)="onClickHandler($event)"></val-banner>
14
- </div>
15
- `,
16
- styleUrls: ['./no-content.component.scss'],
17
- })
18
- export class NoContentComponent implements OnInit {
19
- @Input()
20
- props: NoContentMetadata;
21
-
22
- @Output()
23
- onClick = new EventEmitter<string>();
24
-
25
- constructor() {}
26
-
27
- ngOnInit() {}
28
-
29
- onClickHandler(token: string) {
30
- this.onClick.emit(token);
31
- }
32
- }
@@ -1,13 +0,0 @@
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
- }
@@ -1,119 +0,0 @@
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 { AvatarComponent } from '../../atoms/avatar/avatar.component';
6
- import { ImageComponent } from '../../atoms/image/image.component';
7
- import { ToolbarAction, ToolbarActionType } from '../../types';
8
- import { ToolbarMetadata } from './types';
9
-
10
- @Component({
11
- selector: 'val-toolbar',
12
- standalone: true,
13
- imports: [
14
- CommonModule,
15
- IonToolbar,
16
- IonButtons,
17
- IonButton,
18
- IonIcon,
19
- IonText,
20
- IonTitle,
21
- AvatarComponent,
22
- ImageComponent,
23
- ],
24
- template: `
25
- <ion-toolbar [color]="props.color" [class.background]="props.color === 'background'">
26
- <ng-container *ngIf="props.withBack">
27
- <ion-buttons class="left-buttons" slot="start" *ngIf="props.withBack">
28
- <ion-button fill="clear" (click)="goBack()" [color]="props.textColor">
29
- <ion-icon name="chevron-back-outline" [slot]="props.backText ? 'start' : 'icon-only'"></ion-icon>
30
- <ion-text *ngIf="props.backText">{{ props.backText }}</ion-text>
31
- </ion-button>
32
- </ion-buttons>
33
- </ng-container>
34
- <ng-container *ngIf="props.withActions">
35
- <ion-buttons slot="end" *ngIf="someInRight()">
36
- <ng-container *ngFor="let action of rightActions()">
37
- <ion-button *ngIf="action.type === actionTypes.ICON" (click)="clickHandler(action.token)">
38
- <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
39
- </ion-button>
40
- <val-avatar
41
- *ngIf="action.type === actionTypes.AVATAR"
42
- [props]="{ size: 'small', image: action.description, default: '' }"
43
- (onClick)="clickHandler(action.token)"
44
- ></val-avatar>
45
- <val-image
46
- *ngIf="action.type === actionTypes.IMAGE"
47
- [props]="action.image"
48
- (click)="clickHandler(action.token)"
49
- ></val-image>
50
- <ion-button *ngIf="action.type === actionTypes.BUTTON" (click)="clickHandler(action.token)">{{
51
- action.description
52
- }}</ion-button>
53
- </ng-container>
54
- </ion-buttons>
55
- <ion-buttons slot="start" *ngIf="someInLeft()">
56
- <ng-container *ngFor="let action of leftActions()">
57
- <ion-button *ngIf="action.type === actionTypes.ICON" (click)="clickHandler(action.token)">
58
- <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
59
- </ion-button>
60
- <val-avatar
61
- *ngIf="action.type === actionTypes.AVATAR"
62
- [props]="{ size: 'small', image: action.description, default: '' }"
63
- (onClick)="clickHandler(action.token)"
64
- ></val-avatar>
65
- <val-image
66
- *ngIf="action.type === actionTypes.IMAGE"
67
- [props]="action.image"
68
- (click)="clickHandler(action.token)"
69
- ></val-image>
70
- <ion-button *ngIf="action.type === actionTypes.BUTTON" (click)="clickHandler(action.token)">{{
71
- action.description
72
- }}</ion-button>
73
- </ng-container>
74
- </ion-buttons>
75
- </ng-container>
76
- <ion-title *ngIf="props.title" [color]="props.textColor">{{ props.title }}</ion-title>
77
- <!-- experimental -->
78
- <ng-content select="[toolbar-bottom]"></ng-content>
79
- </ion-toolbar>
80
- `,
81
- styleUrls: ['./toolbar.component.scss'],
82
- })
83
- export class ToolbarComponent implements OnInit {
84
- @Input()
85
- props: ToolbarMetadata;
86
-
87
- @Output()
88
- onClick = new EventEmitter<string>();
89
-
90
- actionTypes = ToolbarActionType;
91
-
92
- constructor(private navCtrl: NavController) {}
93
-
94
- ngOnInit() {}
95
-
96
- goBack(): void {
97
- this.navCtrl.back();
98
- }
99
-
100
- rightActions(): ToolbarAction[] {
101
- return this.props.actions.filter(x => x.position === 'right');
102
- }
103
-
104
- leftActions(): ToolbarAction[] {
105
- return this.props.actions.filter(x => x.position === 'left');
106
- }
107
-
108
- someInRight(): boolean {
109
- return !!this.props.actions.find(x => x.position === 'right');
110
- }
111
-
112
- someInLeft(): boolean {
113
- return !!this.props.actions.find(x => x.position === 'left');
114
- }
115
-
116
- clickHandler(token?: string) {
117
- this.onClick.emit(token);
118
- }
119
- }
@@ -1,12 +0,0 @@
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
- };