valtech-components 2.0.26 → 2.0.28

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 (308) hide show
  1. package/ng-package.json +10 -0
  2. package/package.json +12 -14
  3. package/src/lib/components/atoms/avatar/avatar.component.scss +20 -0
  4. package/src/lib/components/atoms/avatar/avatar.component.ts +29 -0
  5. package/src/lib/components/atoms/avatar/types.ts +6 -0
  6. package/src/lib/components/atoms/box/box.component.scss +57 -0
  7. package/src/lib/components/atoms/box/box.component.ts +38 -0
  8. package/src/lib/components/atoms/box/types.ts +8 -0
  9. package/src/lib/components/atoms/button/button.component.scss +5 -0
  10. package/src/lib/components/atoms/button/button.component.ts +53 -0
  11. package/src/lib/components/atoms/button/factory.ts +444 -0
  12. package/src/lib/components/atoms/display/display.component.scss +17 -0
  13. package/src/lib/components/atoms/display/display.component.ts +25 -0
  14. package/src/lib/components/atoms/display/types.ts +7 -0
  15. package/src/lib/components/atoms/divider/divider.component.scss +62 -0
  16. package/src/lib/components/atoms/divider/divider.component.ts +18 -0
  17. package/src/lib/components/atoms/divider/types.ts +5 -0
  18. package/src/lib/components/atoms/href/href.component.scss +25 -0
  19. package/src/lib/components/atoms/href/href.component.ts +43 -0
  20. package/src/lib/components/atoms/href/types.ts +10 -0
  21. package/src/lib/components/atoms/icon/icon.component.scss +33 -0
  22. package/src/lib/components/atoms/icon/icon.component.ts +20 -0
  23. package/src/lib/components/atoms/icon/types.ts +7 -0
  24. package/src/lib/components/atoms/image/image.component.scss +70 -0
  25. package/src/lib/components/atoms/image/image.component.ts +40 -0
  26. package/src/lib/components/atoms/image/types.ts +11 -0
  27. package/src/lib/components/atoms/progress-bar/progress-bar.component.scss +22 -0
  28. package/src/lib/components/atoms/progress-bar/progress-bar.component.ts +29 -0
  29. package/src/lib/components/atoms/progress-bar/types.ts +10 -0
  30. package/src/lib/components/atoms/text/text.component.scss +33 -0
  31. package/src/lib/components/atoms/text/text.component.ts +23 -0
  32. package/src/lib/components/atoms/text/types.ts +8 -0
  33. package/src/lib/components/atoms/title/title.component.scss +17 -0
  34. package/src/lib/components/atoms/title/title.component.ts +27 -0
  35. package/src/lib/components/atoms/title/types.ts +8 -0
  36. package/src/lib/components/molecules/alert-box/alert-box.component.scss +10 -0
  37. package/src/lib/components/molecules/alert-box/alert-box.component.ts +28 -0
  38. package/{lib/components/molecules/alert-box/types.d.ts → src/lib/components/molecules/alert-box/types.ts} +4 -3
  39. package/src/lib/components/molecules/button-group/button-group.component.scss +31 -0
  40. package/src/lib/components/molecules/button-group/button-group.component.ts +44 -0
  41. package/src/lib/components/molecules/button-group/types.ts +7 -0
  42. package/src/lib/components/molecules/card/card.component.scss +46 -0
  43. package/src/lib/components/molecules/card/card.component.ts +218 -0
  44. package/src/lib/components/molecules/card/types.ts +36 -0
  45. package/src/lib/components/molecules/check-input/check-input.component.scss +0 -0
  46. package/src/lib/components/molecules/check-input/check-input.component.ts +16 -0
  47. package/src/lib/components/molecules/comment-input/comment-input.component.scss +0 -0
  48. package/src/lib/components/molecules/comment-input/comment-input.component.ts +22 -0
  49. package/src/lib/components/molecules/content-loader/content-loader.component.scss +42 -0
  50. package/src/lib/components/molecules/content-loader/content-loader.component.ts +27 -0
  51. package/src/lib/components/molecules/content-loader/types.ts +8 -0
  52. package/src/lib/components/molecules/date-input/date-input.component.scss +11 -0
  53. package/src/lib/components/molecules/date-input/date-input.component.ts +47 -0
  54. package/src/lib/components/molecules/email-input/email-input.component.scss +0 -0
  55. package/src/lib/components/molecules/email-input/email-input.component.ts +20 -0
  56. package/src/lib/components/molecules/file-input/file-input.component.scss +11 -0
  57. package/src/lib/components/molecules/file-input/file-input.component.ts +56 -0
  58. package/src/lib/components/molecules/hint/hint.component.scss +5 -0
  59. package/src/lib/components/molecules/hint/hint.component.ts +42 -0
  60. package/src/lib/components/molecules/hour-input/hour-input.component.scss +0 -0
  61. package/src/lib/components/molecules/hour-input/hour-input.component.ts +19 -0
  62. package/src/lib/components/molecules/link/link.component.scss +5 -0
  63. package/src/lib/components/molecules/link/link.component.ts +52 -0
  64. package/src/lib/components/molecules/link/types.ts +10 -0
  65. package/src/lib/components/molecules/links-cake/links-cake.component.scss +9 -0
  66. package/src/lib/components/molecules/links-cake/links-cake.component.ts +30 -0
  67. package/{lib/components/molecules/links-cake/types.d.ts → src/lib/components/molecules/links-cake/types.ts} +4 -3
  68. package/src/lib/components/molecules/notes-box/notes-box.component.scss +5 -0
  69. package/src/lib/components/molecules/notes-box/notes-box.component.ts +28 -0
  70. package/src/lib/components/molecules/notes-box/types.ts +9 -0
  71. package/src/lib/components/molecules/number-input/number-input.component.scss +0 -0
  72. package/src/lib/components/molecules/number-input/number-input.component.ts +19 -0
  73. package/src/lib/components/molecules/password-input/password-input.component.scss +7 -0
  74. package/src/lib/components/molecules/password-input/password-input.component.ts +33 -0
  75. package/src/lib/components/molecules/pin-input/pin-input.component.scss +13 -0
  76. package/src/lib/components/molecules/pin-input/pin-input.component.ts +42 -0
  77. package/src/lib/components/molecules/progress-status/progress-status.component.scss +41 -0
  78. package/src/lib/components/molecules/progress-status/progress-status.component.ts +70 -0
  79. package/src/lib/components/molecules/progress-status/types.ts +11 -0
  80. package/src/lib/components/molecules/prompter/prompter.component.scss +34 -0
  81. package/src/lib/components/molecules/prompter/prompter.component.ts +58 -0
  82. package/{lib/components/molecules/prompter/types.d.ts → src/lib/components/molecules/prompter/types.ts} +7 -6
  83. package/src/lib/components/molecules/radio-input/radio-input.component.scss +0 -0
  84. package/src/lib/components/molecules/radio-input/radio-input.component.ts +27 -0
  85. package/src/lib/components/molecules/searchbar/searchbar.component.scss +9 -0
  86. package/src/lib/components/molecules/searchbar/searchbar.component.ts +47 -0
  87. package/src/lib/components/molecules/text-input/text-input.component.scss +1 -0
  88. package/src/lib/components/molecules/text-input/text-input.component.ts +19 -0
  89. package/src/lib/components/molecules/title-block/title-block.component.scss +36 -0
  90. package/src/lib/components/molecules/title-block/title-block.component.ts +50 -0
  91. package/src/lib/components/molecules/title-block/types.ts +14 -0
  92. package/src/lib/components/organisms/banner/banner.component.scss +45 -0
  93. package/src/lib/components/organisms/banner/banner.component.ts +57 -0
  94. package/src/lib/components/organisms/banner/types.ts +13 -0
  95. package/src/lib/components/organisms/footer/footer.component.scss +3 -0
  96. package/src/lib/components/organisms/footer/footer.component.ts +40 -0
  97. package/{lib/components/organisms/footer/types.d.ts → src/lib/components/organisms/footer/types.ts} +4 -3
  98. package/src/lib/components/organisms/form/factory.ts +11 -0
  99. package/src/lib/components/organisms/form/form-footer/form-footer.component.scss +0 -0
  100. package/src/lib/components/organisms/form/form-footer/form-footer.component.ts +63 -0
  101. package/src/lib/components/organisms/form/form.component.scss +16 -0
  102. package/src/lib/components/organisms/form/form.component.ts +183 -0
  103. package/src/lib/components/organisms/header/header.component.scss +0 -0
  104. package/src/lib/components/organisms/header/header.component.ts +32 -0
  105. package/{lib/components/organisms/header/types.d.ts → src/lib/components/organisms/header/types.ts} +4 -3
  106. package/src/lib/components/organisms/no-content/no-content.component.scss +11 -0
  107. package/src/lib/components/organisms/no-content/no-content.component.ts +32 -0
  108. package/{lib/components/organisms/no-content/types.d.ts → src/lib/components/organisms/no-content/types.ts} +3 -2
  109. package/src/lib/components/organisms/toolbar/toolbar.component.scss +13 -0
  110. package/src/lib/components/organisms/toolbar/toolbar.component.ts +119 -0
  111. package/src/lib/components/organisms/toolbar/types.ts +12 -0
  112. package/src/lib/components/organisms/wizard/types.ts +24 -0
  113. package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.scss +0 -0
  114. package/src/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.ts +90 -0
  115. package/src/lib/components/organisms/wizard/wizard.component.scss +15 -0
  116. package/src/lib/components/organisms/wizard/wizard.component.ts +99 -0
  117. package/src/lib/components/templates/layout/layout.component.scss +22 -0
  118. package/src/lib/components/templates/layout/layout.component.ts +14 -0
  119. package/src/lib/components/templates/simple/simple.component.scss +30 -0
  120. package/src/lib/components/templates/simple/simple.component.ts +60 -0
  121. package/{lib/components/templates/simple/types.d.ts → src/lib/components/templates/simple/types.ts} +6 -5
  122. package/src/lib/components/types.ts +122 -0
  123. package/src/lib/services/download.service.ts +58 -0
  124. package/src/lib/services/in-app-browser.service.ts +19 -0
  125. package/src/lib/services/lang-provider/components/lang-settings.ts +14 -0
  126. package/src/lib/services/lang-provider/components/theme-settings.ts +16 -0
  127. package/src/lib/services/lang-provider/content.ts +14 -0
  128. package/src/lib/services/lang-provider/lang-provider.service.ts +38 -0
  129. package/src/lib/services/lang-provider/types.ts +25 -0
  130. package/src/lib/services/local-storage.service.ts +18 -0
  131. package/src/lib/services/navigation.service.ts +39 -0
  132. package/src/lib/services/theme.service.ts +102 -0
  133. package/{lib/services/types.d.ts → src/lib/services/types.ts} +4 -2
  134. package/src/lib/shared/constants/storage.ts +2 -0
  135. package/src/lib/shared/utils/dom.ts +19 -0
  136. package/{public-api.d.ts → src/public-api.ts} +13 -0
  137. package/tsconfig.lib.json +14 -0
  138. package/tsconfig.lib.prod.json +10 -0
  139. package/tsconfig.spec.json +14 -0
  140. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +0 -31
  141. package/esm2022/lib/components/atoms/avatar/types.mjs +0 -2
  142. package/esm2022/lib/components/atoms/box/box.component.mjs +0 -47
  143. package/esm2022/lib/components/atoms/box/types.mjs +0 -2
  144. package/esm2022/lib/components/atoms/button/button.component.mjs +0 -69
  145. package/esm2022/lib/components/atoms/button/factory.mjs +0 -217
  146. package/esm2022/lib/components/atoms/display/display.component.mjs +0 -28
  147. package/esm2022/lib/components/atoms/display/types.mjs +0 -2
  148. package/esm2022/lib/components/atoms/divider/divider.component.mjs +0 -17
  149. package/esm2022/lib/components/atoms/divider/types.mjs +0 -2
  150. package/esm2022/lib/components/atoms/href/href.component.mjs +0 -51
  151. package/esm2022/lib/components/atoms/href/types.mjs +0 -2
  152. package/esm2022/lib/components/atoms/icon/icon.component.mjs +0 -18
  153. package/esm2022/lib/components/atoms/icon/types.mjs +0 -2
  154. package/esm2022/lib/components/atoms/image/image.component.mjs +0 -50
  155. package/esm2022/lib/components/atoms/image/types.mjs +0 -2
  156. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +0 -36
  157. package/esm2022/lib/components/atoms/progress-bar/types.mjs +0 -2
  158. package/esm2022/lib/components/atoms/text/text.component.mjs +0 -24
  159. package/esm2022/lib/components/atoms/text/types.mjs +0 -2
  160. package/esm2022/lib/components/atoms/title/title.component.mjs +0 -31
  161. package/esm2022/lib/components/atoms/title/types.mjs +0 -2
  162. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +0 -32
  163. package/esm2022/lib/components/molecules/alert-box/types.mjs +0 -2
  164. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +0 -49
  165. package/esm2022/lib/components/molecules/button-group/types.mjs +0 -2
  166. package/esm2022/lib/components/molecules/card/card.component.mjs +0 -369
  167. package/esm2022/lib/components/molecules/card/types.mjs +0 -16
  168. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +0 -15
  169. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +0 -23
  170. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +0 -32
  171. package/esm2022/lib/components/molecules/content-loader/types.mjs +0 -2
  172. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +0 -73
  173. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +0 -19
  174. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +0 -69
  175. package/esm2022/lib/components/molecules/hint/hint.component.mjs +0 -52
  176. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +0 -18
  177. package/esm2022/lib/components/molecules/link/link.component.mjs +0 -37
  178. package/esm2022/lib/components/molecules/link/types.mjs +0 -2
  179. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +0 -37
  180. package/esm2022/lib/components/molecules/links-cake/types.mjs +0 -2
  181. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +0 -33
  182. package/esm2022/lib/components/molecules/notes-box/types.mjs +0 -2
  183. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +0 -18
  184. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +0 -44
  185. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +0 -45
  186. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +0 -94
  187. package/esm2022/lib/components/molecules/progress-status/types.mjs +0 -2
  188. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +0 -84
  189. package/esm2022/lib/components/molecules/prompter/types.mjs +0 -2
  190. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +0 -33
  191. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +0 -61
  192. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +0 -18
  193. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +0 -77
  194. package/esm2022/lib/components/molecules/title-block/types.mjs +0 -2
  195. package/esm2022/lib/components/organisms/banner/banner.component.mjs +0 -75
  196. package/esm2022/lib/components/organisms/banner/types.mjs +0 -2
  197. package/esm2022/lib/components/organisms/footer/footer.component.mjs +0 -50
  198. package/esm2022/lib/components/organisms/footer/types.mjs +0 -2
  199. package/esm2022/lib/components/organisms/form/factory.mjs +0 -8
  200. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +0 -76
  201. package/esm2022/lib/components/organisms/form/form.component.mjs +0 -230
  202. package/esm2022/lib/components/organisms/header/header.component.mjs +0 -33
  203. package/esm2022/lib/components/organisms/header/types.mjs +0 -2
  204. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +0 -34
  205. package/esm2022/lib/components/organisms/no-content/types.mjs +0 -2
  206. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +0 -168
  207. package/esm2022/lib/components/organisms/toolbar/types.mjs +0 -2
  208. package/esm2022/lib/components/organisms/wizard/types.mjs +0 -7
  209. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +0 -107
  210. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +0 -103
  211. package/esm2022/lib/components/templates/layout/layout.component.mjs +0 -19
  212. package/esm2022/lib/components/templates/simple/simple.component.mjs +0 -72
  213. package/esm2022/lib/components/templates/simple/types.mjs +0 -2
  214. package/esm2022/lib/components/types.mjs +0 -36
  215. package/esm2022/lib/services/download.service.mjs +0 -63
  216. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +0 -13
  217. package/esm2022/lib/services/lang-provider/components/theme-settings.mjs +0 -15
  218. package/esm2022/lib/services/lang-provider/content.mjs +0 -8
  219. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +0 -39
  220. package/esm2022/lib/services/lang-provider/types.mjs +0 -14
  221. package/esm2022/lib/services/local-storage.service.mjs +0 -16
  222. package/esm2022/lib/services/theme.service.mjs +0 -97
  223. package/esm2022/lib/services/types.mjs +0 -3
  224. package/esm2022/lib/shared/constants/storage.mjs +0 -3
  225. package/esm2022/lib/shared/utils/dom.mjs +0 -17
  226. package/esm2022/public-api.mjs +0 -88
  227. package/esm2022/valtech-components.mjs +0 -5
  228. package/fesm2022/valtech-components.mjs +0 -2987
  229. package/fesm2022/valtech-components.mjs.map +0 -1
  230. package/index.d.ts +0 -5
  231. package/lib/components/atoms/avatar/avatar.component.d.ts +0 -12
  232. package/lib/components/atoms/avatar/types.d.ts +0 -6
  233. package/lib/components/atoms/box/box.component.d.ts +0 -12
  234. package/lib/components/atoms/box/types.d.ts +0 -7
  235. package/lib/components/atoms/button/button.component.d.ts +0 -20
  236. package/lib/components/atoms/button/factory.d.ts +0 -71
  237. package/lib/components/atoms/display/display.component.d.ts +0 -10
  238. package/lib/components/atoms/display/types.d.ts +0 -6
  239. package/lib/components/atoms/divider/divider.component.d.ts +0 -10
  240. package/lib/components/atoms/divider/types.d.ts +0 -5
  241. package/lib/components/atoms/href/href.component.d.ts +0 -15
  242. package/lib/components/atoms/href/types.d.ts +0 -9
  243. package/lib/components/atoms/icon/icon.component.d.ts +0 -10
  244. package/lib/components/atoms/icon/types.d.ts +0 -6
  245. package/lib/components/atoms/image/image.component.d.ts +0 -12
  246. package/lib/components/atoms/image/types.d.ts +0 -11
  247. package/lib/components/atoms/progress-bar/progress-bar.component.d.ts +0 -10
  248. package/lib/components/atoms/progress-bar/types.d.ts +0 -9
  249. package/lib/components/atoms/text/text.component.d.ts +0 -10
  250. package/lib/components/atoms/text/types.d.ts +0 -7
  251. package/lib/components/atoms/title/title.component.d.ts +0 -10
  252. package/lib/components/atoms/title/types.d.ts +0 -7
  253. package/lib/components/molecules/alert-box/alert-box.component.d.ts +0 -10
  254. package/lib/components/molecules/button-group/button-group.component.d.ts +0 -13
  255. package/lib/components/molecules/button-group/types.d.ts +0 -6
  256. package/lib/components/molecules/card/card.component.d.ts +0 -16
  257. package/lib/components/molecules/card/types.d.ts +0 -32
  258. package/lib/components/molecules/check-input/check-input.component.d.ts +0 -8
  259. package/lib/components/molecules/comment-input/comment-input.component.d.ts +0 -10
  260. package/lib/components/molecules/content-loader/content-loader.component.d.ts +0 -10
  261. package/lib/components/molecules/content-loader/types.d.ts +0 -7
  262. package/lib/components/molecules/date-input/date-input.component.d.ts +0 -10
  263. package/lib/components/molecules/email-input/email-input.component.d.ts +0 -10
  264. package/lib/components/molecules/file-input/file-input.component.d.ts +0 -15
  265. package/lib/components/molecules/hint/hint.component.d.ts +0 -11
  266. package/lib/components/molecules/hour-input/hour-input.component.d.ts +0 -10
  267. package/lib/components/molecules/link/link.component.d.ts +0 -12
  268. package/lib/components/molecules/link/types.d.ts +0 -6
  269. package/lib/components/molecules/links-cake/links-cake.component.d.ts +0 -10
  270. package/lib/components/molecules/notes-box/notes-box.component.d.ts +0 -10
  271. package/lib/components/molecules/notes-box/types.d.ts +0 -8
  272. package/lib/components/molecules/number-input/number-input.component.d.ts +0 -10
  273. package/lib/components/molecules/password-input/password-input.component.d.ts +0 -11
  274. package/lib/components/molecules/pin-input/pin-input.component.d.ts +0 -15
  275. package/lib/components/molecules/progress-status/progress-status.component.d.ts +0 -14
  276. package/lib/components/molecules/progress-status/types.d.ts +0 -10
  277. package/lib/components/molecules/prompter/prompter.component.d.ts +0 -12
  278. package/lib/components/molecules/radio-input/radio-input.component.d.ts +0 -10
  279. package/lib/components/molecules/searchbar/searchbar.component.d.ts +0 -14
  280. package/lib/components/molecules/text-input/text-input.component.d.ts +0 -10
  281. package/lib/components/molecules/title-block/title-block.component.d.ts +0 -10
  282. package/lib/components/molecules/title-block/types.d.ts +0 -12
  283. package/lib/components/organisms/banner/banner.component.d.ts +0 -14
  284. package/lib/components/organisms/banner/types.d.ts +0 -12
  285. package/lib/components/organisms/footer/footer.component.d.ts +0 -12
  286. package/lib/components/organisms/form/factory.d.ts +0 -5
  287. package/lib/components/organisms/form/form-footer/form-footer.component.d.ts +0 -15
  288. package/lib/components/organisms/form/form.component.d.ts +0 -23
  289. package/lib/components/organisms/header/header.component.d.ts +0 -12
  290. package/lib/components/organisms/no-content/no-content.component.d.ts +0 -12
  291. package/lib/components/organisms/toolbar/toolbar.component.d.ts +0 -21
  292. package/lib/components/organisms/toolbar/types.d.ts +0 -11
  293. package/lib/components/organisms/wizard/types.d.ts +0 -20
  294. package/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.d.ts +0 -21
  295. package/lib/components/organisms/wizard/wizard.component.d.ts +0 -22
  296. package/lib/components/templates/layout/layout.component.d.ts +0 -5
  297. package/lib/components/templates/simple/simple.component.d.ts +0 -7
  298. package/lib/components/types.d.ts +0 -113
  299. package/lib/services/download.service.d.ts +0 -8
  300. package/lib/services/lang-provider/components/lang-settings.d.ts +0 -3
  301. package/lib/services/lang-provider/components/theme-settings.d.ts +0 -3
  302. package/lib/services/lang-provider/content.d.ts +0 -6
  303. package/lib/services/lang-provider/lang-provider.service.d.ts +0 -17
  304. package/lib/services/lang-provider/types.d.ts +0 -15
  305. package/lib/services/local-storage.service.d.ts +0 -6
  306. package/lib/services/theme.service.d.ts +0 -27
  307. package/lib/shared/constants/storage.d.ts +0 -2
  308. package/lib/shared/utils/dom.d.ts +0 -3
@@ -0,0 +1,218 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
3
+ import {
4
+ IonButton,
5
+ IonButtons,
6
+ IonCard,
7
+ IonCardContent,
8
+ IonCardHeader,
9
+ IonCardSubtitle,
10
+ IonCardTitle,
11
+ IonCheckbox,
12
+ IonIcon,
13
+ } from '@ionic/angular/standalone';
14
+ import { AvatarComponent } from '../../atoms/avatar/avatar.component';
15
+ import { ButtonComponent } from '../../atoms/button/button.component';
16
+ import { ImageComponent } from '../../atoms/image/image.component';
17
+ import { TextComponent } from '../../atoms/text/text.component';
18
+ import { ToolbarActionType } from '../../types';
19
+ import { CardClickEvent, CardMetadata, CardSection, CardType } from './types';
20
+
21
+ @Component({
22
+ selector: 'val-card',
23
+ standalone: true,
24
+ imports: [
25
+ CommonModule,
26
+ ButtonComponent,
27
+ AvatarComponent,
28
+ ImageComponent,
29
+ TextComponent,
30
+ IonCard,
31
+ IonCardContent,
32
+ IonCardHeader,
33
+ IonCardTitle,
34
+ IonCardSubtitle,
35
+ IonCheckbox,
36
+ IonButtons,
37
+ IonButton,
38
+ IonIcon,
39
+ ],
40
+ template: `
41
+ <ion-card *ngIf="props.type === types.native">
42
+ <img alt="image" [src]="props.image" />
43
+ <ion-card-header *ngIf="props.title || props.overtitle">
44
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
45
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
46
+ </ion-card-header>
47
+
48
+ <ion-card-content *ngIf="props.content">{{ props.content }}</ion-card-content>
49
+
50
+ <val-button
51
+ *ngFor="let b of props.footerActions"
52
+ [props]="b"
53
+ (click)="clickHandler(sections.footer, b.token)"
54
+ ></val-button>
55
+ </ion-card>
56
+
57
+ <ion-card
58
+ *ngIf="props.type === types.tappable"
59
+ (click)="clickHandler(sections.content, props.token)"
60
+ class="tapable"
61
+ >
62
+ <img alt="image" [src]="props.image" />
63
+ <ion-card-header *ngIf="props.title || props.overtitle">
64
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
65
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
66
+ </ion-card-header>
67
+
68
+ <ion-card-content *ngIf="props.content">{{ props.content }}</ion-card-content>
69
+ </ion-card>
70
+
71
+ <ion-card
72
+ *ngIf="props.type === types.checker"
73
+ (click)="clickHandler(sections.content, props.token)"
74
+ class="tapable"
75
+ >
76
+ <ion-card-header *ngIf="props.title || props.overtitle" class="checker">
77
+ <div>
78
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
79
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
80
+ </div>
81
+ <div>
82
+ <ion-checkbox [checked]="props.selected"></ion-checkbox>
83
+ </div>
84
+ </ion-card-header>
85
+
86
+ <ion-card-content *ngIf="props.content">{{ props.content }}</ion-card-content>
87
+ </ion-card>
88
+
89
+ <ion-card *ngIf="props.type === types.complex" class="complex">
90
+ <ion-card-header class="complex-header">
91
+ <ion-buttons style="display: flex; align-items: center" *ngIf="props.leftActions.length > 0">
92
+ <ng-container *ngFor="let action of props.leftActions">
93
+ <ion-button
94
+ *ngIf="action.type === actionTypes.ICON"
95
+ (click)="clickHandler(sections.headerLeft, action.token)"
96
+ >
97
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
98
+ </ion-button>
99
+ <val-avatar
100
+ style="margin-right: 4px; cursor: pointer"
101
+ *ngIf="action.type === actionTypes.AVATAR"
102
+ [props]="{ size: 'small', image: action.description, default: '' }"
103
+ (onClick)="clickHandler(sections.headerLeft, action.token)"
104
+ ></val-avatar>
105
+ <val-image
106
+ *ngIf="action.type === actionTypes.IMAGE"
107
+ [props]="action.image"
108
+ (click)="clickHandler(sections.headerLeft, action.token)"
109
+ ></val-image>
110
+ <ion-button
111
+ *ngIf="action.type === actionTypes.BUTTON"
112
+ (click)="clickHandler(sections.headerLeft, action.token)"
113
+ >
114
+ {{ action.description }}
115
+ </ion-button>
116
+ <div *ngIf="props.headerText">
117
+ <val-text [props]="{ content: props.headerText, color: 'dark', bold: true, size: 'medium' }" />
118
+ </div>
119
+ </ng-container>
120
+ </ion-buttons>
121
+ <ion-buttons style="display: flex; align-items: center" *ngIf="props.rightActions.length > 0">
122
+ <ng-container *ngFor="let action of props.rightActions">
123
+ <ion-button
124
+ *ngIf="action.type === actionTypes.ICON"
125
+ (click)="clickHandler(sections.headerRight, action.token)"
126
+ >
127
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
128
+ </ion-button>
129
+ <val-avatar
130
+ style="margin-right: 4px; cursor: pointer"
131
+ *ngIf="action.type === actionTypes.AVATAR"
132
+ [props]="{ size: 'small', image: action.description, default: '' }"
133
+ (onClick)="clickHandler(sections.headerRight, action.token)"
134
+ ></val-avatar>
135
+ <val-image
136
+ *ngIf="action.type === actionTypes.IMAGE"
137
+ [props]="action.image"
138
+ (click)="clickHandler(sections.headerRight, action.token)"
139
+ ></val-image>
140
+ <ion-button
141
+ *ngIf="action.type === actionTypes.BUTTON"
142
+ (click)="clickHandler(sections.headerRight, action.token)"
143
+ >
144
+ {{ action.description }}
145
+ </ion-button>
146
+ </ng-container>
147
+ </ion-buttons>
148
+ </ion-card-header>
149
+
150
+ <div class="tapable" (click)="clickHandler(sections.content, props.token)">
151
+ <ion-card-header *ngIf="props.title || props.overtitle" class="complex-header">
152
+ <div>
153
+ <ion-card-subtitle *ngIf="props.overtitle">{{ props.overtitle }}</ion-card-subtitle>
154
+ <ion-card-title *ngIf="props.title">{{ props.title }}</ion-card-title>
155
+ </div>
156
+ </ion-card-header>
157
+
158
+ <img alt="image" [src]="props.image" />
159
+ <ion-card-content *ngIf="props.content" class="complex-content">{{ props.content }}</ion-card-content>
160
+ </div>
161
+ <val-button
162
+ *ngFor="let b of props.footerActions"
163
+ [props]="b"
164
+ (click)="clickHandler(sections.footer, b.token)"
165
+ ></val-button>
166
+ <ion-buttons
167
+ style="display: flex; align-items: center; justify-content: flex-end; margin: 8px"
168
+ *ngIf="props.footerComplexActions.length > 0"
169
+ >
170
+ <ng-container *ngFor="let action of props.footerComplexActions">
171
+ <ion-button
172
+ *ngIf="action.type === actionTypes.ICON"
173
+ (click)="clickHandler(sections.footerExtra, action.token)"
174
+ >
175
+ <ion-icon slot="icon-only" [name]="action.description" color="dark"></ion-icon>
176
+ </ion-button>
177
+ <val-avatar
178
+ style="margin-right: 4px; cursor: pointer"
179
+ *ngIf="action.type === actionTypes.AVATAR"
180
+ [props]="{ size: 'small', image: action.description, default: '' }"
181
+ (onClick)="clickHandler(sections.footerExtra, action.token)"
182
+ ></val-avatar>
183
+ <val-image
184
+ *ngIf="action.type === actionTypes.IMAGE"
185
+ [props]="action.image"
186
+ (click)="clickHandler(sections.footerExtra, action.token)"
187
+ ></val-image>
188
+ <ion-button
189
+ *ngIf="action.type === actionTypes.BUTTON"
190
+ (click)="clickHandler(sections.footerExtra, action.token)"
191
+ color="dark"
192
+ >
193
+ {{ action.description }}
194
+ </ion-button>
195
+ </ng-container>
196
+ </ion-buttons>
197
+ </ion-card>
198
+ `,
199
+ styleUrls: ['./card.component.scss'],
200
+ })
201
+ export class CardComponent implements OnInit {
202
+ @Input() props: CardMetadata;
203
+
204
+ @Output()
205
+ onClick = new EventEmitter<CardClickEvent>();
206
+
207
+ types = CardType;
208
+ actionTypes = ToolbarActionType;
209
+ sections = CardSection;
210
+
211
+ constructor() {}
212
+
213
+ ngOnInit() {}
214
+
215
+ clickHandler(section: CardSection, token?: string) {
216
+ this.onClick.emit({ section, token });
217
+ }
218
+ }
@@ -0,0 +1,36 @@
1
+ import { ButtonMetadata, ToolbarAction } from '../../types';
2
+
3
+ export enum CardType {
4
+ native = 'native',
5
+ checker = 'checker',
6
+ tappable = 'tappable',
7
+ complex = 'complex',
8
+ }
9
+
10
+ export interface CardClickEvent {
11
+ section: CardSection;
12
+ token?: string;
13
+ }
14
+
15
+ export enum CardSection {
16
+ headerLeft,
17
+ headerRight,
18
+ content,
19
+ footer,
20
+ footerExtra,
21
+ }
22
+
23
+ export interface CardMetadata {
24
+ token?: string;
25
+ type: CardType;
26
+ title?: string;
27
+ overtitle?: string;
28
+ content?: string;
29
+ image?: string;
30
+ footerActions: ButtonMetadata[];
31
+ footerComplexActions: ToolbarAction[];
32
+ leftActions: ToolbarAction[];
33
+ rightActions: ToolbarAction[];
34
+ selected: boolean;
35
+ headerText?: string;
36
+ }
@@ -0,0 +1,16 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, OnInit } from '@angular/core';
3
+ import { IonCheckbox } from '@ionic/angular/standalone';
4
+
5
+ @Component({
6
+ selector: 'val-check-input',
7
+ standalone: true,
8
+ imports: [CommonModule, IonCheckbox],
9
+ template: ` <ion-checkbox>I agree to the terms and conditions</ion-checkbox> `,
10
+ styleUrls: ['./check-input.component.scss'],
11
+ })
12
+ export class CheckInputComponent implements OnInit {
13
+ constructor() {}
14
+
15
+ ngOnInit() {}
16
+ }
@@ -0,0 +1,22 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, OnInit } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { IonCheckbox, IonTextarea } from '@ionic/angular/standalone';
5
+ import { InputMetadata } from '../../types';
6
+
7
+ @Component({
8
+ selector: 'val-comment-input',
9
+ standalone: true,
10
+ imports: [CommonModule, ReactiveFormsModule, IonCheckbox, IonTextarea],
11
+ template: `
12
+ <ion-textarea [formControl]="props.control" [counter]="true" [maxlength]="props.range.max"></ion-textarea>
13
+ `,
14
+ styleUrls: ['./comment-input.component.scss'],
15
+ })
16
+ export class CommentInputComponent implements OnInit {
17
+ @Input() props: InputMetadata;
18
+
19
+ constructor() {}
20
+
21
+ ngOnInit() {}
22
+ }
@@ -0,0 +1,42 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ .small {
4
+ width: pxToRem(24);
5
+ height: pxToRem(24);
6
+ }
7
+
8
+ .medium {
9
+ width: pxToRem(38);
10
+ height: pxToRem(38);
11
+ }
12
+
13
+ .large {
14
+ width: pxToRem(48);
15
+ height: pxToRem(48);
16
+ }
17
+
18
+ .spinner-wrapper {
19
+ width: 100%;
20
+ text-align: center;
21
+
22
+ &.small {
23
+ height: pxToRem(72);
24
+ padding-top: pxToRem(24);
25
+
26
+ @include body-small;
27
+ }
28
+
29
+ &.medium {
30
+ height: pxToRem(98);
31
+ padding-top: pxToRem(32);
32
+
33
+ @include body-medium;
34
+ }
35
+
36
+ &.large {
37
+ height: pxToRem(108);
38
+ padding-top: pxToRem(42);
39
+
40
+ @include body-large;
41
+ }
42
+ }
@@ -0,0 +1,27 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, OnInit } from '@angular/core';
3
+ import { IonSpinner, IonText } from '@ionic/angular/standalone';
4
+ import { ContentLoaderMetadata } from './types';
5
+
6
+ @Component({
7
+ selector: 'val-content-loader',
8
+ standalone: true,
9
+ imports: [CommonModule, IonSpinner, IonText],
10
+ template: `
11
+ <div [ngClass]="['spinner-wrapper', props.size]">
12
+ <ion-spinner [ngClass]="[props.size]" [name]="props.name" [color]="props.color"></ion-spinner>
13
+ <ion-text [color]="props.color">
14
+ <p>{{ props.text }}</p>
15
+ </ion-text>
16
+ </div>
17
+ `,
18
+ styleUrls: ['./content-loader.component.scss'],
19
+ })
20
+ export class ContentLoaderComponent implements OnInit {
21
+ @Input()
22
+ props: ContentLoaderMetadata;
23
+
24
+ constructor() {}
25
+
26
+ ngOnInit() {}
27
+ }
@@ -0,0 +1,8 @@
1
+ import { Color } from '@ionic/core';
2
+
3
+ export interface ContentLoaderMetadata {
4
+ color: Color;
5
+ size: 'small' | 'medium' | 'large';
6
+ name: 'circular' | 'crescent' | 'dots' | 'lines-sharp';
7
+ text: string;
8
+ }
@@ -0,0 +1,11 @@
1
+ @import '../../organisms/form/form.component.scss';
2
+
3
+ .button-container {
4
+ display: flex;
5
+ flex-direction: column;
6
+ align-items: flex-start;
7
+ }
8
+
9
+ .action {
10
+ margin-top: pxToRem(4);
11
+ }
@@ -0,0 +1,47 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, OnInit } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { IonDatetime, IonDatetimeButton, IonModal } from '@ionic/angular/standalone';
5
+ import { InputMetadata } from '../../types';
6
+
7
+ @Component({
8
+ selector: 'val-date-input',
9
+ standalone: true,
10
+ imports: [CommonModule, ReactiveFormsModule, IonDatetime, IonDatetimeButton, IonModal],
11
+ template: `
12
+ <div class="button-container">
13
+ <ion-datetime-button class="action" datetime="datetime"></ion-datetime-button>
14
+ </div>
15
+ <ion-modal [keepContentsMounted]="true">
16
+ <ng-template>
17
+ <ion-datetime
18
+ [formControl]="props.control"
19
+ id="datetime"
20
+ presentation="date"
21
+ locale="es-ES"
22
+ [firstDayOfWeek]="1"
23
+ [showDefaultButtons]="true"
24
+ doneText="Aceptar"
25
+ cancelText="Cancelar"
26
+ formatOptions="{
27
+ date: { weekday: 'short', month: 'long', day: '2-digit' },
28
+ time: {
29
+ hour: '2-digit',
30
+ minute: '2-digit',
31
+ },
32
+ }"
33
+ >
34
+ <span slot="title">{{ props.hint }}</span>
35
+ </ion-datetime>
36
+ </ng-template>
37
+ </ion-modal>
38
+ `,
39
+ styleUrls: ['./date-input.component.scss'],
40
+ })
41
+ export class DateInputComponent implements OnInit {
42
+ @Input() props: InputMetadata;
43
+
44
+ constructor() {}
45
+
46
+ ngOnInit() {}
47
+ }
@@ -0,0 +1,20 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, OnInit } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { IonInput } from '@ionic/angular/standalone';
5
+ import { InputMetadata } from '../../types';
6
+
7
+ @Component({
8
+ selector: 'val-email-input',
9
+ standalone: true,
10
+ imports: [CommonModule, ReactiveFormsModule, IonInput],
11
+ template: ` <ion-input [formControl]="props.control" type="email" [placeholder]="props.placeholder"></ion-input> `,
12
+ styleUrls: ['./email-input.component.scss'],
13
+ })
14
+ export class EmailInputComponent implements OnInit {
15
+ @Input() props: InputMetadata;
16
+
17
+ constructor() {}
18
+
19
+ ngOnInit() {}
20
+ }
@@ -0,0 +1,11 @@
1
+ @import '../../organisms/form/form.component.scss';
2
+
3
+ .file-container {
4
+ margin-top: pxToRem(4);
5
+ }
6
+
7
+ .name-container {
8
+ display: flex;
9
+ flex-direction: row;
10
+ align-items: flex-start;
11
+ }
@@ -0,0 +1,56 @@
1
+ import { Component, Input, OnInit, ViewChild } from '@angular/core';
2
+ import { IonIcon } from '@ionic/angular/standalone';
3
+ import { ButtonComponent } from '../../atoms/button/button.component';
4
+ import { PrimarySolidDefaultRoundButton } from '../../atoms/button/factory';
5
+ import { TextComponent } from '../../atoms/text/text.component';
6
+ import { ButtonMetadata, InputMetadata } from '../../types';
7
+
8
+ @Component({
9
+ selector: 'val-file-input',
10
+ standalone: true,
11
+ imports: [IonIcon, TextComponent, ButtonComponent],
12
+ template: `
13
+ <div class="file-container">
14
+ <input style="display: none" type="file" (change)="onFileSelected($event)" #fileInput />
15
+ <div class="name-container">
16
+ <ion-icon [name]="selectedFile ? 'checkmark-circle-outline' : 'alert-circle-outline'"></ion-icon>
17
+ <val-text
18
+ style="margin-left: 4px;"
19
+ [props]="{
20
+ content: selectedFile ? selectedFile.name : 'No has seleccionado archivo',
21
+ color: 'dark',
22
+ bold: false,
23
+ size: 'medium',
24
+ }"
25
+ ></val-text>
26
+ </div>
27
+ <val-button [props]="contrastButton" (onClick)="fileInput.click()"></val-button>
28
+ </div>
29
+ `,
30
+ styleUrls: ['./file-input.component.scss'],
31
+ })
32
+ export class FileInputComponent implements OnInit {
33
+ @ViewChild('fileInput') fileInput;
34
+
35
+ @Input() props: InputMetadata;
36
+
37
+ contrastButton: ButtonMetadata = {
38
+ ...PrimarySolidDefaultRoundButton('Subir archivo'),
39
+ color: 'light',
40
+ };
41
+ selectedFile: File;
42
+
43
+ constructor() {}
44
+
45
+ ngOnInit() {}
46
+
47
+ onFileSelected(event): void {
48
+ this.selectedFile = event.target.files[0];
49
+ this.props.control.setValue(this.selectedFile);
50
+ }
51
+
52
+ reset(): void {
53
+ this.selectedFile = null;
54
+ this.fileInput.nativeElement.value = '';
55
+ }
56
+ }
@@ -0,0 +1,5 @@
1
+ @import '../../organisms/form/form.component.scss';
2
+
3
+ .hint-container {
4
+ margin-top: pxToRem(4);
5
+ }
@@ -0,0 +1,42 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, OnInit } from '@angular/core';
3
+ import { TextComponent } from '../../atoms/text/text.component';
4
+ import { InputMetadata } from '../../types';
5
+
6
+ @Component({
7
+ selector: 'val-hint',
8
+ standalone: true,
9
+ imports: [CommonModule, TextComponent],
10
+ template: `
11
+ <div class="hint-container" *ngIf="props.control.invalid && (props.control.touched || props.control.dirty)">
12
+ <val-text
13
+ *ngFor="let e of Errors"
14
+ [props]="{
15
+ content: e,
16
+ color: 'danger',
17
+ bold: false,
18
+ size: 'small',
19
+ }"
20
+ ></val-text>
21
+ </div>
22
+ `,
23
+ styleUrls: ['./hint.component.scss'],
24
+ })
25
+ export class HintComponent implements OnInit {
26
+ @Input() props: InputMetadata;
27
+
28
+ constructor() {}
29
+
30
+ ngOnInit() {}
31
+
32
+ get Errors(): string[] {
33
+ const keys = Object.keys(this.props.errors);
34
+ const errors = [];
35
+ keys.map((e: string) => {
36
+ if (this.props.control.hasError(e)) {
37
+ errors.push(this.props.errors[e]);
38
+ }
39
+ });
40
+ return errors;
41
+ }
42
+ }
@@ -0,0 +1,19 @@
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
3
+ import { IonDatetime } from '@ionic/angular/standalone';
4
+ import { InputMetadata } from '../../types';
5
+
6
+ @Component({
7
+ selector: 'val-hour-input',
8
+ standalone: true,
9
+ imports: [ReactiveFormsModule, IonDatetime],
10
+ template: ` <ion-datetime [formControl]="props.control" presentation="time"></ion-datetime>`,
11
+ styleUrls: ['./hour-input.component.scss'],
12
+ })
13
+ export class HourInputComponent implements OnInit {
14
+ @Input() props: InputMetadata;
15
+
16
+ constructor() {}
17
+
18
+ ngOnInit() {}
19
+ }
@@ -0,0 +1,5 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ ion-button {
4
+ font-family: var(--ion-default-font), Arial, sans-serif;
5
+ }
@@ -0,0 +1,52 @@
1
+ import { Component, EventEmitter, inject, Input, OnInit, Output } from '@angular/core';
2
+ import { IonButton, IonIcon, IonText } from '@ionic/angular/standalone';
3
+ import { addIcons } from 'ionicons';
4
+ import { chevronForwardOutline } from 'ionicons/icons';
5
+ import { NavigationService } from '../../../services/navigation.service';
6
+ import { LinkMetadata } from './types';
7
+
8
+ @Component({
9
+ selector: 'val-link',
10
+ standalone: true,
11
+ imports: [IonButton, IonIcon, IonText],
12
+ template: `
13
+ <div>
14
+ <ion-button type="button" [color]="props.color" fill="clear" [size]="props.size" (click)="onClickHandler()">
15
+ <ion-icon slot="end" name="chevron-forward-outline"></ion-icon>
16
+ <ion-text>{{ props.text }}</ion-text>
17
+ </ion-button>
18
+ </div>
19
+ `,
20
+ styleUrls: ['./link.component.scss'],
21
+ })
22
+ export class LinkComponent implements OnInit {
23
+ @Input()
24
+ props: LinkMetadata;
25
+
26
+ @Output()
27
+ onClick = new EventEmitter<string>();
28
+
29
+ service = inject(NavigationService);
30
+
31
+ constructor() {
32
+ addIcons({ chevronForwardOutline });
33
+ }
34
+
35
+ ngOnInit() {}
36
+
37
+ onClickHandler() {
38
+ this.onClick.emit(this.props.token);
39
+
40
+ switch (this.props.type) {
41
+ case 'internal':
42
+ this.service.navigateByUrl(this.props.link);
43
+ break;
44
+ case 'browse':
45
+ this.service.navigateInApp(this.props.link);
46
+ break;
47
+ case 'tab':
48
+ this.service.openInNewTab(this.props.link);
49
+ break;
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,10 @@
1
+ import { Color } from '@ionic/core';
2
+
3
+ export interface LinkMetadata {
4
+ token?: string;
5
+ text: string;
6
+ size: 'small' | 'default' | 'large';
7
+ color: Color;
8
+ type: 'internal' | 'tab' | 'browse';
9
+ link: string;
10
+ }