robbyson-frontend-library 0.0.1-rc1

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 (241) hide show
  1. package/dist/components/accordion/accordion.interface.js +1 -0
  2. package/dist/components/assets/assets.interfaces.js +1 -0
  3. package/dist/components/badge/badge.interface.js +1 -0
  4. package/dist/components/balloon/balloon.interface.js +1 -0
  5. package/dist/components/base-component.prop.interface.js +1 -0
  6. package/dist/components/base-page.prop.interface.js +1 -0
  7. package/dist/components/base-test.prop.interface.js +1 -0
  8. package/dist/components/basic-button/basic-button.interface.js +1 -0
  9. package/dist/components/checkbox/checkbox.interface.js +1 -0
  10. package/dist/components/colors/colors.interfaces.js +1 -0
  11. package/dist/components/context-menu/context-menu.interface.js +1 -0
  12. package/dist/components/divider/divider.interface.js +1 -0
  13. package/dist/components/icon-button/icon-button.interface.js +1 -0
  14. package/dist/components/image-progress-graph/image-progress-graph.interface.js +1 -0
  15. package/dist/components/index.js +5 -0
  16. package/dist/components/menu.interface.js +1 -0
  17. package/dist/components/modal/modal.interface.js +1 -0
  18. package/dist/components/mood-button/mood-button.interface.js +1 -0
  19. package/dist/components/pages/base-app-page.component.js +46 -0
  20. package/dist/components/pages/base-app-page.styles.js +13 -0
  21. package/dist/components/pagination/pagination.interface.js +1 -0
  22. package/dist/components/profile-image/profile-image.interface.js +1 -0
  23. package/dist/components/progress-bar/progress-bar.interface.js +1 -0
  24. package/dist/components/progress-tracker/progress-tracker.interface.js +1 -0
  25. package/dist/components/radio-button/radio-button.interface.js +1 -0
  26. package/dist/components/scroll-box/scroll-box.interface.js +1 -0
  27. package/dist/components/search-input/search-input.interfaces.js +1 -0
  28. package/dist/components/select/select.interface.js +1 -0
  29. package/dist/components/sidebar/sidebar.interface.js +1 -0
  30. package/dist/components/snackbar/snackbar.interface.js +1 -0
  31. package/dist/components/speed-dial/speed-dial.interface.js +1 -0
  32. package/dist/components/spin-edit/spin-edit.interface.js +1 -0
  33. package/dist/components/switch/switch.interface.js +1 -0
  34. package/dist/components/tag-expand/tag-expand.interface.js +1 -0
  35. package/dist/components/tags/tags.interface.js +1 -0
  36. package/dist/components/text-field/text-field.interface.js +1 -0
  37. package/dist/components/timer/timer.interface.js +1 -0
  38. package/dist/components/toggle-icon-button/toggle-icon-button.interface.js +1 -0
  39. package/dist/components/tooltip/tooltip.interface.js +1 -0
  40. package/dist/components/transitions/transitions.interfaces.js +1 -0
  41. package/dist/components/typography/typography.interfaces.js +1 -0
  42. package/dist/components/upload/upload.interface.js +1 -0
  43. package/dist/constants/index.js +1 -0
  44. package/dist/constants/layout-dimensions.constants.js +10 -0
  45. package/dist/factories/base.factory.js +6 -0
  46. package/dist/factories/index.js +1 -0
  47. package/dist/factories/response.factory.js +77 -0
  48. package/dist/index.js +19 -0
  49. package/dist/ioc.js +18 -0
  50. package/dist/models/angel-friend-status.model.js +25 -0
  51. package/dist/models/base.repository.model.js +6 -0
  52. package/dist/models/result-level.model.js +24 -0
  53. package/dist/models/send-user-to-login.model.js +6 -0
  54. package/dist/models/term-of-use.model.js +24 -0
  55. package/dist/models/theme-base.js +44 -0
  56. package/dist/models/user-mirror.model.js +24 -0
  57. package/dist/models/user-session.model.js +24 -0
  58. package/dist/repositories/angel-friend.repository.interface.js +1 -0
  59. package/dist/repositories/authentication.repository.interface.js +1 -0
  60. package/dist/repositories/base.repository.js +185 -0
  61. package/dist/repositories/locale.repository.interface.js +1 -0
  62. package/dist/repositories/results.repository.interface.js +1 -0
  63. package/dist/repositories/terms-of-use.repository.interface.js +1 -0
  64. package/dist/repositories/theme.repository.interface.js +1 -0
  65. package/dist/repositories/user.repository.interface.js +1 -0
  66. package/dist/services/angel-friend.service.interface.js +1 -0
  67. package/dist/services/authentication.service.interface.js +1 -0
  68. package/dist/services/locale.service.interface.js +1 -0
  69. package/dist/services/results.service.interface.js +1 -0
  70. package/dist/services/terms-of-use.service.interface.js +1 -0
  71. package/dist/services/theme.service.interface.js +1 -0
  72. package/dist/services/user.service.interface.js +1 -0
  73. package/dist/states/index.js +3 -0
  74. package/dist/states/main-container/app.state.interface.js +2 -0
  75. package/dist/states/main-container/plataform.state.interface.js +1 -0
  76. package/dist/states/main-container/root-app.state.interface.js +1 -0
  77. package/dist/utils/build-error/buildError.util.interface.js +1 -0
  78. package/dist/utils/build-error/buildError.util.js +13 -0
  79. package/dist/utils/cache-control.js +121 -0
  80. package/dist/utils/index.js +5 -0
  81. package/dist/utils/query-params/index.js +34 -0
  82. package/dist/utils/robbyson-navigate.js +53 -0
  83. package/importComponents.js +113 -0
  84. package/index.d.ts +43 -0
  85. package/package.json +40 -0
  86. package/src/components/accordion/accordion.interface.ts +26 -0
  87. package/src/components/accordion/accordion.types.d.ts +9 -0
  88. package/src/components/accordion/index.d.ts +1 -0
  89. package/src/components/assets/assets.interfaces.tsx +5 -0
  90. package/src/components/assets/assets.types.d.ts +9 -0
  91. package/src/components/assets/index.d.ts +1 -0
  92. package/src/components/badge/badge.interface.ts +11 -0
  93. package/src/components/badge/badge.types.d.ts +9 -0
  94. package/src/components/badge/index.d.ts +1 -0
  95. package/src/components/balloon/balloon.interface.ts +14 -0
  96. package/src/components/balloon/balloon.types.d.ts +9 -0
  97. package/src/components/balloon/index.d.ts +1 -0
  98. package/src/components/base-component.prop.interface.tsx +4 -0
  99. package/src/components/base-page.prop.interface.tsx +4 -0
  100. package/src/components/base-test.prop.interface.tsx +3 -0
  101. package/src/components/basic-button/basic-button.interface.tsx +10 -0
  102. package/src/components/basic-button/basic-button.types.d.ts +9 -0
  103. package/src/components/basic-button/index.d.ts +1 -0
  104. package/src/components/checkbox/checkbox.interface.ts +8 -0
  105. package/src/components/checkbox/checkbox.types.d.ts +9 -0
  106. package/src/components/checkbox/index.d.ts +1 -0
  107. package/src/components/colors/colors.interfaces.tsx +5 -0
  108. package/src/components/colors/colors.types.d.ts +9 -0
  109. package/src/components/colors/index.d.ts +1 -0
  110. package/src/components/context-menu/context-menu.interface.ts +22 -0
  111. package/src/components/context-menu/context-menu.types.d.ts +9 -0
  112. package/src/components/context-menu/index.d.ts +1 -0
  113. package/src/components/divider/divider.interface.tsx +4 -0
  114. package/src/components/divider/divider.types.d.ts +9 -0
  115. package/src/components/divider/index.d.ts +1 -0
  116. package/src/components/icon-button/icon-button.interface.ts +7 -0
  117. package/src/components/icon-button/icon-button.types.d.ts +9 -0
  118. package/src/components/icon-button/index.d.ts +1 -0
  119. package/src/components/image-progress-graph/image-progress-graph.interface.ts +13 -0
  120. package/src/components/image-progress-graph/image-progress-graph.types.d.ts +9 -0
  121. package/src/components/image-progress-graph/index.d.ts +1 -0
  122. package/src/components/index.tsx +5 -0
  123. package/src/components/menu.interface.tsx +10 -0
  124. package/src/components/modal/index.d.ts +1 -0
  125. package/src/components/modal/modal.interface.ts +20 -0
  126. package/src/components/modal/modal.types.d.ts +10 -0
  127. package/src/components/mood-button/index.d.ts +1 -0
  128. package/src/components/mood-button/mood-button.interface.ts +10 -0
  129. package/src/components/mood-button/mood-button.types.d.ts +9 -0
  130. package/src/components/pages/base-app-page.component.tsx +65 -0
  131. package/src/components/pages/base-app-page.styles.ts +45 -0
  132. package/src/components/pagination/index.d.ts +1 -0
  133. package/src/components/pagination/pagination.interface.ts +14 -0
  134. package/src/components/pagination/pagination.types.d.ts +10 -0
  135. package/src/components/profile-image/index.d.ts +1 -0
  136. package/src/components/profile-image/profile-image.interface.ts +6 -0
  137. package/src/components/profile-image/profile-image.types.d.ts +9 -0
  138. package/src/components/progress-bar/index.d.ts +1 -0
  139. package/src/components/progress-bar/progress-bar.interface.tsx +8 -0
  140. package/src/components/progress-bar/progress-bar.types.d.ts +9 -0
  141. package/src/components/progress-tracker/index.d.ts +1 -0
  142. package/src/components/progress-tracker/progress-tracker.interface.tsx +6 -0
  143. package/src/components/progress-tracker/progress-tracker.types.d.ts +9 -0
  144. package/src/components/radio-button/index.d.ts +1 -0
  145. package/src/components/radio-button/radio-button.interface.ts +5 -0
  146. package/src/components/radio-button/radio-button.types.d.ts +9 -0
  147. package/src/components/scroll-box/index.d.ts +1 -0
  148. package/src/components/scroll-box/scroll-box.interface.ts +9 -0
  149. package/src/components/scroll-box/scroll-box.types.d.ts +9 -0
  150. package/src/components/search-input/index.d.ts +1 -0
  151. package/src/components/search-input/search-input.interfaces.ts +14 -0
  152. package/src/components/search-input/search-input.types.d.ts +9 -0
  153. package/src/components/select/index.d.ts +1 -0
  154. package/src/components/select/select.interface.tsx +18 -0
  155. package/src/components/select/select.types.d.ts +9 -0
  156. package/src/components/sidebar/index.d.ts +1 -0
  157. package/src/components/sidebar/sidebar.interface.ts +12 -0
  158. package/src/components/sidebar/sidebar.types.d.ts +9 -0
  159. package/src/components/snackbar/index.d.ts +1 -0
  160. package/src/components/snackbar/snackbar.interface.ts +16 -0
  161. package/src/components/snackbar/snackbar.types.d.ts +9 -0
  162. package/src/components/speed-dial/index.d.ts +1 -0
  163. package/src/components/speed-dial/speed-dial.interface.ts +16 -0
  164. package/src/components/speed-dial/speed-dial.types.d.ts +9 -0
  165. package/src/components/spin-edit/index.d.ts +1 -0
  166. package/src/components/spin-edit/spin-edit.interface.ts +12 -0
  167. package/src/components/spin-edit/spin-edit.types.d.ts +9 -0
  168. package/src/components/switch/index.d.ts +1 -0
  169. package/src/components/switch/switch.interface.ts +7 -0
  170. package/src/components/switch/switch.types.d.ts +9 -0
  171. package/src/components/tag-expand/index.d.ts +1 -0
  172. package/src/components/tag-expand/tag-expand.interface.ts +9 -0
  173. package/src/components/tag-expand/tag-expand.types.d.ts +9 -0
  174. package/src/components/tags/index.d.ts +1 -0
  175. package/src/components/tags/tags.interface.ts +16 -0
  176. package/src/components/tags/tags.types.d.ts +9 -0
  177. package/src/components/text-field/index.d.ts +1 -0
  178. package/src/components/text-field/text-field.interface.tsx +27 -0
  179. package/src/components/text-field/text-field.types.d.ts +9 -0
  180. package/src/components/timer/index.d.ts +1 -0
  181. package/src/components/timer/timer.interface.ts +12 -0
  182. package/src/components/timer/timer.types.d.ts +9 -0
  183. package/src/components/toggle-icon-button/index.d.ts +1 -0
  184. package/src/components/toggle-icon-button/toggle-icon-button.interface.ts +16 -0
  185. package/src/components/toggle-icon-button/toggle-icon-button.types.d.ts +9 -0
  186. package/src/components/tooltip/index.d.ts +1 -0
  187. package/src/components/tooltip/tooltip.interface.ts +21 -0
  188. package/src/components/tooltip/tooltip.types.d.ts +9 -0
  189. package/src/components/transitions/index.d.ts +1 -0
  190. package/src/components/transitions/transitions.interfaces.ts +5 -0
  191. package/src/components/transitions/transitions.types.d.ts +9 -0
  192. package/src/components/typography/index.d.ts +1 -0
  193. package/src/components/typography/typography.interfaces.tsx +5 -0
  194. package/src/components/typography/typography.types.d.ts +9 -0
  195. package/src/components/upload/index.d.ts +1 -0
  196. package/src/components/upload/upload.interface.tsx +20 -0
  197. package/src/components/upload/upload.types.d.ts +7 -0
  198. package/src/constants/index.ts +1 -0
  199. package/src/constants/layout-dimensions.constants.ts +6 -0
  200. package/src/factories/base.factory.ts +1 -0
  201. package/src/factories/index.ts +1 -0
  202. package/src/factories/response.factory.ts +79 -0
  203. package/src/index.ts +26 -0
  204. package/src/ioc.ts +18 -0
  205. package/src/models/angel-friend-status.model.ts +7 -0
  206. package/src/models/base.repository.model.ts +3 -0
  207. package/src/models/index.d.ts +7 -0
  208. package/src/models/result-level.model.ts +6 -0
  209. package/src/models/send-user-to-login.model.ts +10 -0
  210. package/src/models/term-of-use.model.ts +6 -0
  211. package/src/models/theme-base.ts +171 -0
  212. package/src/models/user-mirror.model.ts +10 -0
  213. package/src/models/user-session.model.ts +103 -0
  214. package/src/repositories/angel-friend.repository.interface.ts +5 -0
  215. package/src/repositories/authentication.repository.interface.ts +14 -0
  216. package/src/repositories/base.repository.tsx +128 -0
  217. package/src/repositories/index.d.ts +7 -0
  218. package/src/repositories/locale.repository.interface.ts +4 -0
  219. package/src/repositories/results.repository.interface.ts +5 -0
  220. package/src/repositories/terms-of-use.repository.interface.ts +6 -0
  221. package/src/repositories/theme.repository.interface.ts +5 -0
  222. package/src/repositories/user.repository.interface.ts +15 -0
  223. package/src/services/angel-friend.service.interface.ts +3 -0
  224. package/src/services/authentication.service.interface.ts +17 -0
  225. package/src/services/index.d.ts +7 -0
  226. package/src/services/locale.service.interface.ts +4 -0
  227. package/src/services/results.service.interface.ts +3 -0
  228. package/src/services/terms-of-use.service.interface.ts +7 -0
  229. package/src/services/theme.service.interface.ts +8 -0
  230. package/src/services/user.service.interface.ts +14 -0
  231. package/src/states/index.ts +3 -0
  232. package/src/states/main-container/app.state.interface.ts +7 -0
  233. package/src/states/main-container/plataform.state.interface.ts +5 -0
  234. package/src/states/main-container/root-app.state.interface.ts +15 -0
  235. package/src/utils/build-error/buildError.util.interface.ts +5 -0
  236. package/src/utils/build-error/buildError.util.ts +13 -0
  237. package/src/utils/cache-control.tsx +92 -0
  238. package/src/utils/index.ts +5 -0
  239. package/src/utils/query-params/index.ts +38 -0
  240. package/src/utils/robbyson-navigate.ts +76 -0
  241. package/tsconfig.json +30 -0
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "robbyson-frontend-library",
3
+ "version": "0.0.1-rc1",
4
+ "description": "Robbyson frontend Library",
5
+ "main": "./dist/index.js",
6
+ "license": "MIT",
7
+ "author": {
8
+ "name": "Robbyson Systems S/A",
9
+ "email": "contact@robbyson.com",
10
+ "url": "https://www.robbyson.com"
11
+ },
12
+ "scripts": {
13
+ "watch": "yarn clean && tsc -w",
14
+ "build:dev": "yarn clean && tsc --build",
15
+ "build:prod": "yarn clean && tsc",
16
+ "clean": "rm -rf dist",
17
+ "import-components": "node importComponents"
18
+ },
19
+ "devDependencies": {
20
+ "@types/axios": "^0.14.0",
21
+ "@types/crypto-js": "^4.1.1",
22
+ "@types/history": "^5.0.0",
23
+ "@types/react": "^18.0.27",
24
+ "@types/styled-components": "^5.1.26",
25
+ "styled-components": "^5.3.9",
26
+ "typescript": "^4.9.5"
27
+ },
28
+ "dependencies": {
29
+ "axios": "^1.3.5",
30
+ "crypto-js": "^4.1.1",
31
+ "localforage": "^1.10.0",
32
+ "moment": "^2.29.4",
33
+ "react": "^18.2.0",
34
+ "react-inlinesvg": "^3.0.2",
35
+ "query-string": "^8.1.0",
36
+ "react-toastify": "^9.1.2",
37
+ "redux-micro-frontend": "^1.3.0",
38
+ "redux-persist": "^6.0.0"
39
+ }
40
+ }
@@ -0,0 +1,26 @@
1
+ import { IBaseComponentProp } from "../base-component.prop.interface";
2
+
3
+ export interface IAccordionProps<T> extends IBaseComponentProp {
4
+ titleLocaleHandle?: string;
5
+ variant?: 'primary' | 'secondary';
6
+ options: IOptionsAccordion[];
7
+ }
8
+
9
+ export interface IAccordionState {
10
+ options: IOptionsAccordion[];
11
+ }
12
+
13
+ export interface IOptionsAccordion {
14
+ title: string;
15
+ choiseMode?: boolean;
16
+ isOpen?: boolean;
17
+ isCheckAll?: boolean;
18
+ isCheck?: boolean;
19
+ content: IOptionsContentAccordion[];
20
+ }
21
+
22
+ export interface IOptionsContentAccordion {
23
+ text: string;
24
+ checked?: boolean;
25
+ isCheck?: boolean;
26
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module "styleguide/Accordion" {
5
+ import { IAccordionProps } from "robbyson-frontend-library";
6
+ const Accordion: React.ComponentType<IAccordionProps<any>>;
7
+
8
+ export default Accordion;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './accordion.interface';
@@ -0,0 +1,5 @@
1
+ import { IBaseComponentProp } from "../base-component.prop.interface";
2
+
3
+ export interface IAssetsProps<T> extends React.DOMAttributes<T>, IBaseComponentProp {
4
+
5
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/Assets' {
5
+ import { IAssetsProps } from "robbyson-frontend-library";
6
+ const Assets: React.ComponentType<IAssetsProps<any>>;
7
+
8
+ export default Assets;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './assets.interfaces';
@@ -0,0 +1,11 @@
1
+ import { IconHandle } from "../../models";
2
+ import { IBaseComponentProp } from "../base-component.prop.interface";
3
+
4
+ export interface IBadgeProps extends IBaseComponentProp {
5
+ value?: number;
6
+ type: 'icon' | 'number';
7
+ size: 'small' | 'normal'
8
+ iconHandle?: IconHandle;
9
+ onUpdate?(value:number):void;
10
+ color?: string;
11
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/Badge' {
5
+ import { IBadgeProps } from "robbyson-frontend-library";
6
+ const Badge: React.ComponentType<IBadgeProps>;
7
+
8
+ export default Badge;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './badge.interface';
@@ -0,0 +1,14 @@
1
+ import { IBaseComponentProp } from "../base-component.prop.interface";
2
+
3
+ export interface IBalloonProps<T> extends React.HTMLAttributes<T>, IBaseComponentProp {
4
+ variant?:
5
+ | "right-top"
6
+ | "right-bottom"
7
+ | "bottom-right"
8
+ | "bottom-left"
9
+ | "left-top"
10
+ | "left-bottom";
11
+ width: string;
12
+ height: string;
13
+ titleLocaleHandle: string;
14
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module "styleguide/Balloon" {
5
+ import { IBalloonProps } from "robbyson-frontend-library";
6
+ const Balloon: React.ComponentType<IBalloonProps<any>>;
7
+
8
+ export default Balloon;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './balloon.interface';
@@ -0,0 +1,4 @@
1
+ import { IBaseTestProp } from "./base-test.prop.interface";
2
+ export interface IBaseComponentProp extends IBaseTestProp {
3
+
4
+ }
@@ -0,0 +1,4 @@
1
+ import { IBaseTestProp } from "./base-test.prop.interface";
2
+
3
+ export interface IBasePageProp extends IBaseTestProp{
4
+ }
@@ -0,0 +1,3 @@
1
+ export interface IBaseTestProp {
2
+ dataTestId: string;
3
+ }
@@ -0,0 +1,10 @@
1
+ import { IconHandle } from "../../models";
2
+ import { IBaseComponentProp } from "../base-component.prop.interface";
3
+ export interface IBasicButtonProps<T> extends React.ButtonHTMLAttributes<T>, IBaseComponentProp {
4
+ iconAlign?: string;
5
+ hasIcon?: Boolean;
6
+ iconHandle?: IconHandle;
7
+ textLocaleHandle?: string;
8
+ variant: 'primary' | 'secondary' | 'tertiary'
9
+ shape?: 'round' | 'square'
10
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/BasicButton' {
5
+ import { IBasicButtonProps } from "robbyson-frontend-library";
6
+ const BasicButton: React.ComponentType<IBasicButtonProps<any>>;
7
+
8
+ export default BasicButton;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './basic-button.interface';
@@ -0,0 +1,8 @@
1
+ import { IBaseComponentProp } from "../base-component.prop.interface";
2
+
3
+ export interface ICheckboxProps<T> extends React.InputHTMLAttributes<T>, IBaseComponentProp {
4
+ indeterminate?: boolean;
5
+ labelLocaleHandle?: string;
6
+ infoTextLocaleHandle?: string;
7
+ id: string;
8
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/Checkbox' {
5
+ import { ICheckboxProps } from "robbyson-frontend-library";
6
+ const Checkbox: React.ComponentType<ICheckboxProps<any>>;
7
+
8
+ export default Checkbox;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './checkbox.interface';
@@ -0,0 +1,5 @@
1
+ import { IBaseComponentProp } from "../base-component.prop.interface";
2
+
3
+ export interface IColorsProps<T> extends React.DOMAttributes<T>, IBaseComponentProp {
4
+
5
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/Colors' {
5
+ import { IColorsProps } from "robbyson-frontend-library";
6
+ const Colors: React.ComponentType<IColorsProps<any>>;
7
+
8
+ export default Colors;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './colors.interfaces';
@@ -0,0 +1,22 @@
1
+ import { IBaseComponentProp } from "../base-component.prop.interface";
2
+
3
+ export interface IContextMenuProps extends IBaseComponentProp {
4
+ items: DefaultItem[] | CheckboxItem;
5
+ onClickItem: (key: string[]) => void;
6
+ selectedItemsKeys: string[];
7
+ className?: string;
8
+ children: React.ReactNode;
9
+ }
10
+
11
+ export interface DefaultItem {
12
+ labelLocaleHandle: string;
13
+ key: string;
14
+ }
15
+
16
+ export interface CheckboxItem {
17
+ [titleLocaleHandle: string]: DefaultItem[];
18
+ }
19
+
20
+ export interface IContextMenuState {
21
+ show: boolean;
22
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/ContextMenu' {
5
+ import { IContextMenuProps } from "robbyson-frontend-library";
6
+ const ContextMenu: React.ComponentType<IContextMenuProps<any>>;
7
+
8
+ export default ContextMenu;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './context-menu.interface';
@@ -0,0 +1,4 @@
1
+ import { IBaseComponentProp } from "../base-component.prop.interface";
2
+ export interface IDividerProps<T> extends React.HTMLAttributes<T>, IBaseComponentProp {
3
+ align?: 'vertical' | 'horizontal';
4
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/Divider' {
5
+ import { IDividerProps } from "robbyson-frontend-library";
6
+ const Divider: React.ComponentType<IDividerProps<any>>;
7
+
8
+ export default Divider;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './divider.interface';
@@ -0,0 +1,7 @@
1
+ import { IconHandle } from "../../models";
2
+ import { IBaseComponentProp } from "../base-component.prop.interface";
3
+
4
+ export interface IIconButtonProps<T> extends React.ButtonHTMLAttributes<T>, IBaseComponentProp {
5
+ iconHandle: IconHandle;
6
+ variant: "primary" | "secondary";
7
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module "styleguide/IconButton" {
5
+ import { IIconButtonProps } from "robbyson-frontend-library";
6
+ const IconButton: React.ComponentType<IIconButtonProps<any>>;
7
+
8
+ export default IconButton;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './icon-button.interface';
@@ -0,0 +1,13 @@
1
+ import { IconHandle } from "../../models";
2
+ import { IBaseComponentProp } from "../base-component.prop.interface";
3
+
4
+ export interface IImageProgressGraphProps extends IBaseComponentProp {
5
+ value?: number;
6
+ goalValue?: number;
7
+ imagePath: string;
8
+ barColor?: string;
9
+ indicatorIcon?: IconHandle;
10
+ goalIcon?: IconHandle;
11
+ showGoalIcon?:boolean;
12
+ variant: 'simple' | 'general-level';
13
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/ImageProgressGraph' {
5
+ import { IImageProgressGraphProps } from "robbyson-frontend-library";
6
+ const ImageProgressGraph: React.ComponentType<IImageProgressGraphProps>;
7
+
8
+ export default ImageProgressGraph;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './image-progress-graph.interface';
@@ -0,0 +1,5 @@
1
+ export * from "./base-component.prop.interface";
2
+ export * from "./base-page.prop.interface";
3
+ export * from "./base-test.prop.interface";
4
+ export * from "./pages/base-app-page.component";
5
+ export * from "./menu.interface";
@@ -0,0 +1,10 @@
1
+ export type MenuItem = {
2
+ captionLocale: string,
3
+ iconHandle: string,
4
+ linkTo: string,
5
+ disabled?: boolean
6
+ }
7
+
8
+ export interface IMenuProps {
9
+ items: MenuItem[]
10
+ }
@@ -0,0 +1 @@
1
+ export * from './modal.interface';
@@ -0,0 +1,20 @@
1
+ import { IBaseComponentProp } from "../base-component.prop.interface";
2
+
3
+ type ActionButton = {
4
+ titleLocaleHandle: string;
5
+ action: any;
6
+ }
7
+
8
+ export interface IModalState {
9
+ hidden:boolean;
10
+ }
11
+
12
+
13
+ export interface IModalProps extends IBaseComponentProp {
14
+ children: any;
15
+ width?: number;
16
+ height?: number;
17
+ titleHandleLocale: string;
18
+ actionButtons?: ActionButton[];
19
+ exitOnOverlay?: boolean;
20
+ }
@@ -0,0 +1,10 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module "styleguide/Modal" {
5
+ import { IModalProps } from "robbyson-frontend-library";
6
+ const Modal: React.ComponentType<IModalProps>;
7
+
8
+ export default Modal;
9
+ }
10
+
@@ -0,0 +1 @@
1
+ export * from './mood-button.interface';
@@ -0,0 +1,10 @@
1
+
2
+ import { IBaseComponentProp } from "../base-component.prop.interface";
3
+
4
+ type IconHandleMoodButton = 'work-bold' | 'family-bold' | 'relationship-bold' | 'health-bold';
5
+ type SizeMoodButton = 'medium' | 'large';
6
+
7
+ export interface IMoodButtonProps<T> extends React.ButtonHTMLAttributes<T>, IBaseComponentProp {
8
+ iconHandle: IconHandleMoodButton;
9
+ size?: SizeMoodButton;
10
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module "styleguide/MoodButton" {
5
+ import { IMoodButtonProps } from "robbyson-frontend-library";
6
+ const MoodButton: React.ComponentType<IMoodButtonProps<any>>;
7
+
8
+ export default MoodButton;
9
+ }
@@ -0,0 +1,65 @@
1
+ import React from "react";
2
+ import { IoC } from "../../ioc";
3
+ import {
4
+ IAuthenticationService,
5
+ ILocaleService,
6
+ IThemeService,
7
+ } from "../../services";
8
+ import SVG from "react-inlinesvg";
9
+
10
+ import {
11
+ PageContainer,
12
+ Header,
13
+ Title,
14
+ ContextMenu,
15
+ Content,
16
+ } from "./base-app-page.styles";
17
+ import { RobbysonNavigate } from "../../utils";
18
+
19
+ export abstract class BaseAppPage<T, T1> extends React.Component<T, T1> {
20
+ protected headerLocale: string = "Header Locale";
21
+
22
+ protected _localeService: ILocaleService;
23
+ protected _authenticationService: IAuthenticationService;
24
+ protected _themeService: IThemeService;
25
+
26
+ constructor(props: T) {
27
+ super(props);
28
+ this.translate = this.translate.bind(this);
29
+ this._localeService = IoC.GetInstance<ILocaleService>("LocaleService");
30
+ this._authenticationService = IoC.GetInstance<IAuthenticationService>(
31
+ "AuthenticationService"
32
+ );
33
+ this._themeService = IoC.GetInstance<IThemeService>("ThemeService");
34
+ }
35
+
36
+ public translate(text?: string): string {
37
+ return this._localeService.getLocaleByHandle(text || "");
38
+ }
39
+
40
+ abstract contextMenu(): React.ReactNode;
41
+
42
+ abstract renderPage(): React.ReactNode;
43
+
44
+ public render() {
45
+ return (
46
+ <PageContainer>
47
+ <Header>
48
+ <div>
49
+ <SVG
50
+ src={this._themeService.getIconAssetUrl(
51
+ "left-arrow-large"
52
+ )}
53
+ onClick={() => RobbysonNavigate.back()}
54
+ />
55
+ <Title>{this.translate(this.headerLocale)}</Title>
56
+ </div>
57
+ <ContextMenu className="body-2-book">
58
+ {this.contextMenu()}
59
+ </ContextMenu>
60
+ </Header>
61
+ <Content>{this.renderPage()}</Content>
62
+ </PageContainer>
63
+ );
64
+ }
65
+ }
@@ -0,0 +1,45 @@
1
+ import { LayoutDimensions } from "../../constants";
2
+ import styled from "styled-components";
3
+
4
+ const SIDEBAR_WIDTH = 72;
5
+
6
+ export const PageContainer = styled.div`
7
+ padding: 32px 55px 47px calc(${SIDEBAR_WIDTH}px + 55px);
8
+
9
+ background: var(--solid-background);
10
+ height: 100%;
11
+
12
+ @media (max-width: ${LayoutDimensions._width.ipadMini}px) {
13
+ padding: 32px 24px 24px calc(${SIDEBAR_WIDTH}px + 24px);
14
+ }
15
+
16
+ @media (max-width: ${LayoutDimensions._width.mobile}px) {
17
+ padding: 24px 16px 16px calc(${SIDEBAR_WIDTH}px + 16px);
18
+ }
19
+ `;
20
+
21
+ export const Header = styled.div`
22
+ display: flex !important;
23
+ flex-direction: row !important;
24
+ justify-content: space-between !important;
25
+ align-items: center !important;
26
+ padding-bottom: 8px;
27
+ gap: 16px !important;
28
+
29
+ & > div {
30
+ display: flex;
31
+ align-items: center;
32
+ }
33
+
34
+ svg {
35
+ cursor: pointer;
36
+ }
37
+ `;
38
+
39
+ export const ContextMenu = styled.div``;
40
+
41
+ export const Title = styled.h4`
42
+ margin-left: 12px;
43
+ `;
44
+
45
+ export const Content = styled.div``;
@@ -0,0 +1 @@
1
+ export * from './pagination.interface';
@@ -0,0 +1,14 @@
1
+ import { IBaseComponentProp } from "../base-component.prop.interface";
2
+
3
+ export interface IPaginationState {
4
+ activePage: number;
5
+ firstPage: number;
6
+ lastPage: number;
7
+ }
8
+
9
+ export interface IPaginationProps extends IBaseComponentProp {
10
+ totalPages:number;
11
+ maxViewPage?: number;
12
+ activePage?: number;
13
+ onPageChange?(page:number):void;
14
+ }
@@ -0,0 +1,10 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module "styleguide/Pagination" {
5
+ import { IPaginationProps } from "robbyson-frontend-library";
6
+ const Pagination: React.ComponentType<IPaginationProps>;
7
+
8
+ export default Pagination;
9
+ }
10
+
@@ -0,0 +1 @@
1
+ export * from './profile-image.interface';
@@ -0,0 +1,6 @@
1
+ import { IBaseComponentProp } from "../base-component.prop.interface";
2
+
3
+ export interface IProfileImageProps extends IBaseComponentProp {
4
+ size?: 'small' | 'medium' | 'high';
5
+ imagePath: string;
6
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/ProfileImage' {
5
+ import { IProfileImageProps } from "robbyson-frontend-library";
6
+ const ProfileImage: React.ComponentType<IProfileImageProps>;
7
+
8
+ export default ProfileImage;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './progress-bar.interface';
@@ -0,0 +1,8 @@
1
+ import { IconHandle } from "../../models";
2
+ import { IBaseComponentProp } from "../base-component.prop.interface";
3
+ export interface IProgressBarProps<T> extends React.HTMLAttributes<T>, IBaseComponentProp {
4
+ labelLocaleHandle?: string;
5
+ values: Array<string | number>;
6
+ currentValue: string | number;
7
+ coinValue?: any;
8
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/ProgressBar' {
5
+ import { IProgressBarProps } from "robbyson-frontend-library";
6
+ const ProgressBar: React.ComponentType<IProgressBarProps<any>>;
7
+
8
+ export default ProgressBar;
9
+ }
@@ -0,0 +1 @@
1
+ export * from "./progress-tracker.interface";
@@ -0,0 +1,6 @@
1
+ import { IBaseComponentProp } from "../base-component.prop.interface";
2
+
3
+ export interface IProgressTrackerProps<T> extends React.HTMLAttributes<T>, IBaseComponentProp {
4
+ steps: number;
5
+ currentStep: number;
6
+ }