robbyson-frontend-library 0.0.1-rc1 → 0.0.1-rc11
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.
- package/dist/components/drawer/drawer.interface.js +1 -0
- package/dist/components/filter/filter.interface.js +1 -0
- package/dist/components/header-context-menu/header-context-menu.interface.js +1 -0
- package/dist/components/loading/loading.interface.js +1 -0
- package/dist/components/overlay/overlay.interface.js +1 -0
- package/dist/components/pages/base-app-page.component.js +20 -5
- package/dist/components/pages/base-app-page.styles.js +14 -5
- package/dist/components/pdf-viewer/pdf-viewer.interface.js +1 -0
- package/dist/components/range-date-picker/range-date-picker.interface.js +1 -0
- package/dist/components/sort/sort.interface.js +1 -0
- package/dist/components/tab/tab.interface.js +1 -0
- package/dist/components/terms-of-use/terms-of-use.interface.js +1 -0
- package/dist/components/time-picker/time-picker.interface.js +1 -0
- package/dist/components/tree-date-picker/tree-date-picker.interface.js +1 -0
- package/dist/constants/layout-dimensions.constants.js +4 -3
- package/dist/factories/index.js +1 -0
- package/dist/factories/query-params.factory.js +52 -0
- package/dist/factories/response.factory.js +3 -2
- package/dist/index.js +7 -0
- package/dist/models/document.model.js +24 -0
- package/dist/models/guidance-category.model.js +24 -0
- package/dist/models/guidance-query.model.js +24 -0
- package/dist/models/guidance.model.js +40 -0
- package/dist/models/http-response.model.js +11 -0
- package/dist/models/humor-list.model.js +24 -0
- package/dist/models/humor-register.model.js +40 -0
- package/dist/models/theme-base.js +4 -0
- package/dist/repositories/base.repository.js +9 -0
- package/dist/repositories/document.repository.interface.js +1 -0
- package/dist/repositories/guidance.repository.interface.js +1 -0
- package/dist/repositories/humor.repository.interface.js +1 -0
- package/dist/services/document.service.interface.js +1 -0
- package/dist/services/dtos/example.dto.js +1 -0
- package/dist/services/dtos/index.js +1 -0
- package/dist/services/guidance.service.interface.js +1 -0
- package/dist/services/humor.service.interface.js +1 -0
- package/dist/services/validations.service.interface.js +1 -0
- package/dist/utils/build-error/buildError.util.js +1 -1
- package/dist/utils/date.utils.js +30 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/layout.utils.js +10 -0
- package/dist/utils/robbyson-navigate.js +34 -1
- package/index.d.ts +18 -5
- package/package.json +7 -5
- package/src/components/accordion/accordion.interface.ts +2 -1
- package/src/components/badge/badge.interface.ts +3 -2
- package/src/components/balloon/balloon.interface.ts +2 -2
- package/src/components/base-component.prop.interface.ts +2 -0
- package/src/components/{base-page.prop.interface.tsx → base-page.prop.interface.ts} +1 -2
- package/src/components/basic-button/{basic-button.interface.tsx → basic-button.interface.ts} +4 -1
- package/src/components/date-picker/date-picker.interface.ts +13 -0
- package/src/components/date-picker/date-picker.types.d.ts +10 -0
- package/src/components/date-picker/index.d.ts +1 -0
- package/src/components/drawer/drawer.interface.ts +10 -0
- package/src/components/drawer/drawer.types.d.ts +10 -0
- package/src/components/drawer/index.d.ts +1 -0
- package/src/components/filter/basic-button.types.d.ts +9 -0
- package/src/components/filter/filter.interface.tsx +61 -0
- package/src/components/filter/index.d.ts +1 -0
- package/src/components/header-context-menu/header-context-menu.interface.ts +13 -0
- package/src/components/header-context-menu/header-context-menu.types.d.ts +9 -0
- package/src/components/header-context-menu/index.d.ts +1 -0
- package/src/components/loading/index.d.ts +1 -0
- package/src/components/loading/loading.interface.ts +10 -0
- package/src/components/loading/loading.types.d.ts +9 -0
- package/src/components/{menu.interface.tsx → menu.interface.ts} +6 -0
- package/src/components/modal/modal.interface.ts +19 -9
- package/src/components/mood-button/mood-button.interface.ts +2 -2
- package/src/components/overlay/index.d.ts +1 -0
- package/src/components/overlay/overlay.interface.ts +7 -0
- package/src/components/overlay/overlay.types.d.ts +9 -0
- package/src/components/pages/base-app-page.component.tsx +15 -13
- package/src/components/pages/base-app-page.styles.ts +53 -7
- package/src/components/pagination/pagination.interface.ts +2 -2
- package/src/components/pdf-viewer/index.d.ts +1 -0
- package/src/components/pdf-viewer/pdf-viewer.interface.ts +5 -0
- package/src/components/pdf-viewer/pdf-viewer.types.d.ts +10 -0
- package/src/components/range-date-picker/index.d.ts +1 -0
- package/src/components/range-date-picker/range-date-picker.interface.ts +16 -0
- package/src/components/range-date-picker/range-date-picker.types.d.ts +10 -0
- package/src/components/scroll-box/scroll-box.interface.ts +2 -1
- package/src/components/sidebar/sidebar.interface.ts +13 -9
- package/src/components/sort/index.d.ts +1 -0
- package/src/components/sort/sort.interface.ts +28 -0
- package/src/components/sort/sort.types.d.ts +9 -0
- package/src/components/tab/index.d.ts +1 -0
- package/src/components/tab/tab.interface.ts +16 -0
- package/src/components/tab/tab.types.d.ts +9 -0
- package/src/components/tags/tags.interface.ts +2 -1
- package/src/components/terms-of-use/index.d.ts +1 -0
- package/src/components/terms-of-use/terms-of-use.interface.tsx +13 -0
- package/src/components/terms-of-use/terms-of-use.types.d.ts +11 -0
- package/src/components/text-field/text-field.interface.ts +41 -0
- package/src/components/time-picker/index.d.ts +1 -0
- package/src/components/time-picker/time-picker.interface.ts +15 -0
- package/src/components/time-picker/time-picker.types.d.ts +9 -0
- package/src/components/toggle-icon-button/toggle-icon-button.interface.ts +1 -1
- package/src/components/tree-date-picker/index.d.ts +1 -0
- package/src/components/tree-date-picker/tree-date-picker.interface.ts +30 -0
- package/src/components/tree-date-picker/tree-date-picker.types.d.ts +10 -0
- package/src/constants/layout-dimensions.constants.ts +4 -3
- package/src/factories/index.ts +2 -1
- package/src/factories/query-params.factory.ts +82 -0
- package/src/factories/response.factory.ts +17 -12
- package/src/index.ts +9 -1
- package/src/models/document.model.ts +27 -0
- package/src/models/guidance-category.model.ts +8 -0
- package/src/models/guidance-query.model.ts +11 -0
- package/src/models/guidance.model.ts +58 -0
- package/src/models/http-response.model.ts +14 -0
- package/src/models/humor-list.model.ts +23 -0
- package/src/models/humor-register.model.ts +35 -0
- package/src/models/index.d.ts +7 -0
- package/src/models/theme-base.ts +16 -1
- package/src/repositories/{base.repository.tsx → base.repository.ts} +11 -0
- package/src/repositories/document.repository.interface.ts +17 -0
- package/src/repositories/guidance.repository.interface.ts +11 -0
- package/src/repositories/humor.repository.interface.ts +10 -0
- package/src/repositories/index.d.ts +4 -1
- package/src/services/authentication.service.interface.ts +2 -0
- package/src/services/document.service.interface.ts +20 -0
- package/src/services/dtos/example.dto.ts +1 -0
- package/src/services/dtos/index.ts +1 -0
- package/src/services/guidance.service.interface.ts +27 -0
- package/src/services/humor.service.interface.ts +12 -0
- package/src/services/index.d.ts +5 -0
- package/src/services/theme.service.interface.ts +2 -1
- package/src/services/validations.service.interface.ts +7 -0
- package/src/states/main-container/root-app.state.interface.ts +8 -1
- package/src/utils/build-error/buildError.util.ts +1 -1
- package/src/utils/date.utils.ts +35 -0
- package/src/utils/index.ts +2 -1
- package/src/utils/layout.utils.ts +7 -0
- package/src/utils/robbyson-navigate.ts +45 -2
- package/tsconfig.json +4 -1
- package/src/components/base-component.prop.interface.tsx +0 -4
- package/src/components/snackbar/index.d.ts +0 -1
- package/src/components/snackbar/snackbar.interface.ts +0 -16
- package/src/components/snackbar/snackbar.types.d.ts +0 -9
- package/src/components/text-field/text-field.interface.tsx +0 -27
- /package/dist/components/{snackbar/snackbar.interface.js → date-picker/date-picker.interface.js} +0 -0
- /package/src/components/assets/{assets.interfaces.tsx → assets.interfaces.ts} +0 -0
- /package/src/components/{base-test.prop.interface.tsx → base-test.prop.interface.ts} +0 -0
- /package/src/components/colors/{colors.interfaces.tsx → colors.interfaces.ts} +0 -0
- /package/src/components/divider/{divider.interface.tsx → divider.interface.ts} +0 -0
- /package/src/components/{index.tsx → index.ts} +0 -0
- /package/src/components/progress-bar/{progress-bar.interface.tsx → progress-bar.interface.ts} +0 -0
- /package/src/components/progress-tracker/{progress-tracker.interface.tsx → progress-tracker.interface.ts} +0 -0
- /package/src/components/select/{select.interface.tsx → select.interface.ts} +0 -0
- /package/src/components/typography/{typography.interfaces.tsx → typography.interfaces.ts} +0 -0
- /package/src/components/upload/{upload.interface.tsx → upload.interface.ts} +0 -0
package/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export * from "./src/models";
|
|
|
3
3
|
export * from "./src/factories";
|
|
4
4
|
export * from "./src/repositories/";
|
|
5
5
|
export * from "./src/services/";
|
|
6
|
-
export * from "./src/utils"
|
|
6
|
+
export * from "./src/utils";
|
|
7
7
|
export * from "./src/constants";
|
|
8
8
|
export * from "./src/components/";
|
|
9
9
|
export * from "./src/components/assets";
|
|
@@ -11,17 +11,16 @@ export * from "./src/components/badge";
|
|
|
11
11
|
export * from "./src/components/basic-button";
|
|
12
12
|
export * from "./src/components/colors";
|
|
13
13
|
export * from "./src/components/checkbox";
|
|
14
|
-
export * from "./src/components/divider"
|
|
14
|
+
export * from "./src/components/divider";
|
|
15
15
|
export * from "./src/components/context-menu";
|
|
16
|
-
export * from "./src/components/speed-dial"
|
|
16
|
+
export * from "./src/components/speed-dial";
|
|
17
17
|
export * from "./src/components/icon-button";
|
|
18
18
|
export * from "./src/components/mood-button";
|
|
19
19
|
export * from "./src/components/profile-image";
|
|
20
|
-
export * from "./src/components/progress-bar"
|
|
20
|
+
export * from "./src/components/progress-bar";
|
|
21
21
|
export * from "./src/components/progress-tracker";
|
|
22
22
|
export * from "./src/components/radio-button";
|
|
23
23
|
export * from "./src/components/search-input";
|
|
24
|
-
export * from "./src/components/snackbar";
|
|
25
24
|
export * from "./src/components/spin-edit";
|
|
26
25
|
export * from "./src/components/switch";
|
|
27
26
|
export * from "./src/components/tag-expand";
|
|
@@ -32,6 +31,7 @@ export * from "./src/components/typography";
|
|
|
32
31
|
export * from "./src/components/tags";
|
|
33
32
|
export * from "./src/components/timer";
|
|
34
33
|
export * from "./src/components/sidebar";
|
|
34
|
+
export * from "./src/components/toggle-icon-button";
|
|
35
35
|
export * from "./src/components/scroll-box";
|
|
36
36
|
export * from "./src/components/select";
|
|
37
37
|
export * from "./src/components/accordion";
|
|
@@ -40,4 +40,17 @@ export * from "./src/components/modal";
|
|
|
40
40
|
export * from "./src/components/pagination";
|
|
41
41
|
export * from "./src/components/upload";
|
|
42
42
|
export * from "./src/components/balloon";
|
|
43
|
+
export * from "./src/components/pdf-viewer";
|
|
43
44
|
export * from "./src/components/toggle-icon-button";
|
|
45
|
+
export * from "./src/components/terms-of-use";
|
|
46
|
+
export * from "./src/components/overlay";
|
|
47
|
+
export * from "./src/components/header-context-menu";
|
|
48
|
+
export * from "./src/components/sort";
|
|
49
|
+
export * from "./src/components/drawer";
|
|
50
|
+
export * from "./src/components/loading";
|
|
51
|
+
export * from "./src/components/date-picker";
|
|
52
|
+
export * from "./src/components/range-date-picker";
|
|
53
|
+
export * from "./src/components/tree-date-picker";
|
|
54
|
+
export * from "./src/components/tab";
|
|
55
|
+
export * from "./src/components/filter";
|
|
56
|
+
export * from "./src/components/time-picker";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "robbyson-frontend-library",
|
|
3
|
-
"version": "0.0.1-
|
|
3
|
+
"version": "0.0.1-rc11",
|
|
4
4
|
"description": "Robbyson frontend Library",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@types/axios": "^0.14.0",
|
|
21
21
|
"@types/crypto-js": "^4.1.1",
|
|
22
|
-
"@types/
|
|
23
|
-
"@types/react": "
|
|
22
|
+
"@types/lodash": "^4.14.199",
|
|
23
|
+
"@types/react": "~18.0.24",
|
|
24
24
|
"@types/styled-components": "^5.1.26",
|
|
25
25
|
"styled-components": "^5.3.9",
|
|
26
26
|
"typescript": "^4.9.5"
|
|
@@ -28,13 +28,15 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"axios": "^1.3.5",
|
|
30
30
|
"crypto-js": "^4.1.1",
|
|
31
|
+
"history": "^5.3.0",
|
|
31
32
|
"localforage": "^1.10.0",
|
|
33
|
+
"lodash": "^4.17.21",
|
|
32
34
|
"moment": "^2.29.4",
|
|
35
|
+
"query-string": "^8.1.0",
|
|
33
36
|
"react": "^18.2.0",
|
|
34
37
|
"react-inlinesvg": "^3.0.2",
|
|
35
|
-
"query-string": "^8.1.0",
|
|
36
38
|
"react-toastify": "^9.1.2",
|
|
37
39
|
"redux-micro-frontend": "^1.3.0",
|
|
38
40
|
"redux-persist": "^6.0.0"
|
|
39
41
|
}
|
|
40
|
-
}
|
|
42
|
+
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import { IconHandle } from "../../models";
|
|
2
3
|
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
4
|
|
|
4
|
-
export interface IBadgeProps extends IBaseComponentProp {
|
|
5
|
+
export interface IBadgeProps extends IBaseComponentProp, React.HTMLAttributes<any> {
|
|
5
6
|
value?: number;
|
|
6
7
|
type: 'icon' | 'number';
|
|
7
8
|
size: 'small' | 'normal'
|
|
8
9
|
iconHandle?: IconHandle;
|
|
9
10
|
onUpdate?(value:number):void;
|
|
10
11
|
color?: string;
|
|
11
|
-
}
|
|
12
|
+
}
|
package/src/components/basic-button/{basic-button.interface.tsx → basic-button.interface.ts}
RENAMED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { IconHandle } from "../../models";
|
|
2
2
|
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
|
+
|
|
4
|
+
export type BasicButtonVariant = 'primary' | 'secondary' | 'tertiary';
|
|
5
|
+
|
|
3
6
|
export interface IBasicButtonProps<T> extends React.ButtonHTMLAttributes<T>, IBaseComponentProp {
|
|
4
7
|
iconAlign?: string;
|
|
5
8
|
hasIcon?: Boolean;
|
|
6
9
|
iconHandle?: IconHandle;
|
|
7
10
|
textLocaleHandle?: string;
|
|
8
|
-
variant:
|
|
11
|
+
variant: BasicButtonVariant
|
|
9
12
|
shape?: 'round' | 'square'
|
|
10
13
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
import { ITextFieldProps } from "../text-field";
|
|
3
|
+
|
|
4
|
+
export interface IDatePickerProps extends IBaseComponentProp {
|
|
5
|
+
onConfirm: (date: Date) => void;
|
|
6
|
+
selectedDate: Date | null;
|
|
7
|
+
customInputOptions?: Omit<ITextFieldProps, "value">;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface IDatePickerState {
|
|
11
|
+
selectedDate: Date | null;
|
|
12
|
+
}
|
|
13
|
+
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/DatePicker" {
|
|
5
|
+
import { IDatePickerProps } from "robbyson-frontend-library";
|
|
6
|
+
|
|
7
|
+
const DatePicker: React.ComponentType<IDatePickerProps>;
|
|
8
|
+
|
|
9
|
+
export default DatePicker;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./date-picker.interface"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
|
|
3
|
+
export interface IDrawerProps extends IBaseComponentProp {
|
|
4
|
+
showOverlay: boolean;
|
|
5
|
+
onClick(): void;
|
|
6
|
+
scrollBoxHeight: string;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
overlayZindex?: string;
|
|
9
|
+
titleLocaleHandle?: string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/Drawer" {
|
|
5
|
+
import { IDrawerProps } from "robbyson-frontend-library";
|
|
6
|
+
|
|
7
|
+
const Drawer: React.ComponentType<IDrawerProps>;
|
|
8
|
+
|
|
9
|
+
export default Drawer;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './drawer.interface';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module 'styleguide/Filter' {
|
|
5
|
+
import { IFilterProps } from "robbyson-frontend-library";
|
|
6
|
+
const Filter: React.ComponentType<IFilterProps>;
|
|
7
|
+
|
|
8
|
+
export default Filter;
|
|
9
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { IconHandle } from "../../models";
|
|
2
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
|
+
|
|
4
|
+
export interface IFilterState {
|
|
5
|
+
filters: Array<
|
|
6
|
+
IFilter & {
|
|
7
|
+
searchCategories?: Array<string | undefined>;
|
|
8
|
+
showCategoryFilter?: boolean;
|
|
9
|
+
}
|
|
10
|
+
>;
|
|
11
|
+
width: number;
|
|
12
|
+
changedFilters: Array<
|
|
13
|
+
| {
|
|
14
|
+
id: number;
|
|
15
|
+
variant: IFilter["variant"];
|
|
16
|
+
option: IOption;
|
|
17
|
+
}
|
|
18
|
+
| undefined
|
|
19
|
+
>;
|
|
20
|
+
searchingFilter: number | undefined;
|
|
21
|
+
filterReturn: IFilterReturn;
|
|
22
|
+
openFilter: number | undefined;
|
|
23
|
+
oldFilters: Array<IFilter>
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface IFilterProps extends IBaseComponentProp {
|
|
27
|
+
filters: Array<IFilter>;
|
|
28
|
+
type: "default" | "sidebar";
|
|
29
|
+
showMobileOrSideBar: boolean;
|
|
30
|
+
subtitle?: string;
|
|
31
|
+
onFilter(filter: {}): void;
|
|
32
|
+
onClose?(): void;
|
|
33
|
+
debounceTime?: number;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface IFilter {
|
|
37
|
+
title: string;
|
|
38
|
+
variant: "radio" | "checkbox";
|
|
39
|
+
id: number;
|
|
40
|
+
options: Array<IOption>;
|
|
41
|
+
searchInput?: boolean;
|
|
42
|
+
searchInputValue?: string;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface IOption {
|
|
46
|
+
name: string;
|
|
47
|
+
value: string | number;
|
|
48
|
+
hasChildren?: boolean;
|
|
49
|
+
iconHandle?: IconHandle;
|
|
50
|
+
checked?: boolean;
|
|
51
|
+
category?: string;
|
|
52
|
+
bagdeValue?: number;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface IFilterReturn {
|
|
56
|
+
[key: string]: any;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export type IOptionsByCategories = Array<
|
|
60
|
+
{ category: string; options: [IOption & { realIndex: number }] } | undefined
|
|
61
|
+
>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './filter.interface';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
|
|
3
|
+
export interface IHeaderContextMenuProps extends IBaseComponentProp {
|
|
4
|
+
onClick?(buttonName: string | undefined): void;
|
|
5
|
+
buttons: Array<IHeaderContextMenuButtons>;
|
|
6
|
+
activeButton?: IHeaderContextMenuButtons;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface IHeaderContextMenuState {
|
|
10
|
+
activeButton: undefined | IHeaderContextMenuButtons;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type IHeaderContextMenuButtons = "notification" | "quiz" | "informative" | "chat" | "guidance_all" | "guidance_favorites";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module 'styleguide/HeaderContextMenu' {
|
|
5
|
+
import { IHeaderContextMenuProps } from "robbyson-frontend-library";
|
|
6
|
+
const HeaderContextMenu: React.ComponentType<IHeaderContextMenuProps>;
|
|
7
|
+
|
|
8
|
+
export default HeaderContextMenu;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './header-context-menu.interface';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './loading.interface';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/Loader" {
|
|
5
|
+
import { ILoaderProps } from "robbyson-frontend-library";
|
|
6
|
+
const Loader: React.ComponentType<ILoaderProps>;
|
|
7
|
+
|
|
8
|
+
export default Loader;
|
|
9
|
+
}
|
|
@@ -3,8 +3,14 @@ export type MenuItem = {
|
|
|
3
3
|
iconHandle: string,
|
|
4
4
|
linkTo: string,
|
|
5
5
|
disabled?: boolean
|
|
6
|
+
matchPath?: string;
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
export interface IMenuProps {
|
|
9
10
|
items: MenuItem[]
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface IMenuState {
|
|
14
|
+
expanded: boolean,
|
|
15
|
+
location: string,
|
|
10
16
|
}
|
|
@@ -1,20 +1,30 @@
|
|
|
1
1
|
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
import { BasicButtonVariant } from "../basic-button";
|
|
2
3
|
|
|
3
4
|
type ActionButton = {
|
|
4
5
|
titleLocaleHandle: string;
|
|
5
6
|
action: any;
|
|
6
|
-
|
|
7
|
+
variant?: BasicButtonVariant;
|
|
8
|
+
};
|
|
7
9
|
|
|
8
10
|
export interface IModalState {
|
|
9
|
-
hidden:boolean;
|
|
11
|
+
hidden: boolean;
|
|
10
12
|
}
|
|
11
13
|
|
|
14
|
+
export interface IModalProps extends IBaseComponentProp {
|
|
15
|
+
children: any;
|
|
16
|
+
width?: number;
|
|
17
|
+
height?: number;
|
|
18
|
+
closeIcon?: boolean;
|
|
19
|
+
titleHandleLocale?: string;
|
|
20
|
+
actionButtons?: ActionButton[];
|
|
21
|
+
overlayZindex?: string;
|
|
22
|
+
onCloseModal?(): void;
|
|
23
|
+
isOpen?: boolean;
|
|
24
|
+
enableDrawer?: boolean;
|
|
25
|
+
}
|
|
12
26
|
|
|
13
|
-
export interface
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
height?: number;
|
|
17
|
-
titleHandleLocale: string;
|
|
18
|
-
actionButtons?: ActionButton[];
|
|
19
|
-
exitOnOverlay?: boolean;
|
|
27
|
+
export interface IModalActions extends IBaseComponentProp {
|
|
28
|
+
actionButtons?: ActionButton[];
|
|
29
|
+
className?: string;
|
|
20
30
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
|
|
2
|
+
import { IconHandle } from "../../models";
|
|
2
3
|
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
4
|
|
|
4
|
-
type IconHandleMoodButton = 'work-bold' | 'family-bold' | 'relationship-bold' | 'health-bold';
|
|
5
5
|
type SizeMoodButton = 'medium' | 'large';
|
|
6
6
|
|
|
7
7
|
export interface IMoodButtonProps<T> extends React.ButtonHTMLAttributes<T>, IBaseComponentProp {
|
|
8
|
-
iconHandle:
|
|
8
|
+
iconHandle: IconHandle;
|
|
9
9
|
size?: SizeMoodButton;
|
|
10
10
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './overlay.interface';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/Overlay" {
|
|
5
|
+
import { IOverlayProps } from "robbyson-frontend-library";
|
|
6
|
+
const Overlay: React.ComponentType<IOverlayProps<any>>;
|
|
7
|
+
|
|
8
|
+
export default Overlay;
|
|
9
|
+
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { IoC } from "../../ioc";
|
|
3
3
|
import {
|
|
4
|
-
IAuthenticationService,
|
|
5
4
|
ILocaleService,
|
|
6
|
-
IThemeService
|
|
5
|
+
IThemeService
|
|
7
6
|
} from "../../services";
|
|
8
|
-
import SVG from "react-inlinesvg";
|
|
9
7
|
|
|
10
8
|
import {
|
|
11
9
|
PageContainer,
|
|
@@ -13,45 +11,49 @@ import {
|
|
|
13
11
|
Title,
|
|
14
12
|
ContextMenu,
|
|
15
13
|
Content,
|
|
14
|
+
LeftArrowLarge,
|
|
15
|
+
Block,
|
|
16
16
|
} from "./base-app-page.styles";
|
|
17
17
|
import { RobbysonNavigate } from "../../utils";
|
|
18
|
+
import { QueryParamsFactory } from "../../factories/query-params.factory";
|
|
18
19
|
|
|
19
20
|
export abstract class BaseAppPage<T, T1> extends React.Component<T, T1> {
|
|
20
21
|
protected headerLocale: string = "Header Locale";
|
|
21
|
-
|
|
22
|
+
protected abstract paramsValidValues: {};
|
|
23
|
+
protected abstract paramsDefaultValues: {};
|
|
22
24
|
protected _localeService: ILocaleService;
|
|
23
|
-
protected _authenticationService: IAuthenticationService;
|
|
24
25
|
protected _themeService: IThemeService;
|
|
25
26
|
|
|
26
27
|
constructor(props: T) {
|
|
27
28
|
super(props);
|
|
28
29
|
this.translate = this.translate.bind(this);
|
|
29
30
|
this._localeService = IoC.GetInstance<ILocaleService>("LocaleService");
|
|
30
|
-
this._authenticationService = IoC.GetInstance<IAuthenticationService>(
|
|
31
|
-
"AuthenticationService"
|
|
32
|
-
);
|
|
33
31
|
this._themeService = IoC.GetInstance<IThemeService>("ThemeService");
|
|
34
32
|
}
|
|
35
33
|
|
|
36
|
-
public translate(text?: string): string {
|
|
37
|
-
return this._localeService.getLocaleByHandle(text || "");
|
|
34
|
+
public translate(text?: string, ...args: string[]): string {
|
|
35
|
+
return this._localeService.getLocaleByHandle(text || "", ...args);
|
|
38
36
|
}
|
|
39
37
|
|
|
40
|
-
|
|
38
|
+
abstract contextMenu(): React.ReactNode;
|
|
41
39
|
|
|
42
|
-
|
|
40
|
+
abstract renderPage(): React.ReactNode;
|
|
43
41
|
|
|
44
42
|
public render() {
|
|
43
|
+
QueryParamsFactory.validate(this.paramsValidValues, this.paramsDefaultValues)
|
|
45
44
|
return (
|
|
46
45
|
<PageContainer>
|
|
47
46
|
<Header>
|
|
48
47
|
<div>
|
|
49
|
-
<
|
|
48
|
+
<LeftArrowLarge
|
|
50
49
|
src={this._themeService.getIconAssetUrl(
|
|
51
50
|
"left-arrow-large"
|
|
52
51
|
)}
|
|
53
52
|
onClick={() => RobbysonNavigate.back()}
|
|
54
53
|
/>
|
|
54
|
+
|
|
55
|
+
<Block />
|
|
56
|
+
|
|
55
57
|
<Title>{this.translate(this.headerLocale)}</Title>
|
|
56
58
|
</div>
|
|
57
59
|
<ContextMenu className="body-2-book">
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { LayoutDimensions } from "../../constants";
|
|
2
2
|
import styled from "styled-components";
|
|
3
|
+
import SVG from "react-inlinesvg";
|
|
3
4
|
|
|
4
5
|
const SIDEBAR_WIDTH = 72;
|
|
5
6
|
|
|
6
7
|
export const PageContainer = styled.div`
|
|
7
8
|
padding: 32px 55px 47px calc(${SIDEBAR_WIDTH}px + 55px);
|
|
8
9
|
|
|
9
|
-
background: var(--solid-background);
|
|
10
10
|
height: 100%;
|
|
11
11
|
|
|
12
|
-
@media (max-width: ${LayoutDimensions.
|
|
13
|
-
padding: 32px 24px
|
|
12
|
+
@media (max-width: ${LayoutDimensions.width.horizontalIpadMini}px) {
|
|
13
|
+
padding: 32px 24px;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
@media (max-width: ${LayoutDimensions.
|
|
17
|
-
padding: 24px 16px
|
|
16
|
+
@media (max-width: ${LayoutDimensions.width.mobile}px) {
|
|
17
|
+
padding: 24px 16px;
|
|
18
18
|
}
|
|
19
19
|
`;
|
|
20
20
|
|
|
@@ -26,6 +26,11 @@ export const Header = styled.div`
|
|
|
26
26
|
padding-bottom: 8px;
|
|
27
27
|
gap: 16px !important;
|
|
28
28
|
|
|
29
|
+
@media (max-width: ${LayoutDimensions.width.horizontalIpadMini}px) {
|
|
30
|
+
flex-direction: column !important;
|
|
31
|
+
align-items: flex-start !important;
|
|
32
|
+
}
|
|
33
|
+
|
|
29
34
|
& > div {
|
|
30
35
|
display: flex;
|
|
31
36
|
align-items: center;
|
|
@@ -36,10 +41,51 @@ export const Header = styled.div`
|
|
|
36
41
|
}
|
|
37
42
|
`;
|
|
38
43
|
|
|
39
|
-
export const ContextMenu = styled.div
|
|
44
|
+
export const ContextMenu = styled.div`
|
|
45
|
+
-ms-overflow-style: none;
|
|
46
|
+
scrollbar-width: none;
|
|
47
|
+
overflow-y: scroll;
|
|
48
|
+
&::-webkit-scrollbar {
|
|
49
|
+
display: none;
|
|
50
|
+
}
|
|
51
|
+
@media (max-width: ${LayoutDimensions.width.horizontalIpadMini}px) {
|
|
52
|
+
width: 100%;
|
|
53
|
+
}
|
|
54
|
+
`;
|
|
40
55
|
|
|
41
56
|
export const Title = styled.h4`
|
|
42
57
|
margin-left: 12px;
|
|
43
58
|
`;
|
|
44
59
|
|
|
45
|
-
|
|
60
|
+
const PADDING_TOP_DESKTOP = 32;
|
|
61
|
+
const PADDING_TOP_MOBILE = 32;
|
|
62
|
+
const PADDING_BOTTOM_DESKTOP = 47;
|
|
63
|
+
const PADDING_BOTTOM_MOBILE = 32;
|
|
64
|
+
const HEADER_HEIGHT_DESKTOP = 48;
|
|
65
|
+
const HEADER_HEIGHT_MOBILE = 99;
|
|
66
|
+
|
|
67
|
+
export const Content = styled.div`
|
|
68
|
+
height: calc(100vh - ${PADDING_TOP_DESKTOP + PADDING_BOTTOM_DESKTOP + HEADER_HEIGHT_DESKTOP}px);
|
|
69
|
+
|
|
70
|
+
@media (max-width: ${LayoutDimensions.width.horizontalIpadMini}px) {
|
|
71
|
+
height: calc(100vh - ${PADDING_TOP_MOBILE + PADDING_BOTTOM_MOBILE + HEADER_HEIGHT_MOBILE}px);
|
|
72
|
+
}
|
|
73
|
+
`;
|
|
74
|
+
|
|
75
|
+
export const LeftArrowLarge = styled(SVG)`
|
|
76
|
+
display: none;
|
|
77
|
+
|
|
78
|
+
@media (min-width: ${LayoutDimensions.width.horizontalIpadMini + 1}px) {
|
|
79
|
+
display: block;
|
|
80
|
+
}
|
|
81
|
+
`;
|
|
82
|
+
|
|
83
|
+
export const Block = styled.div`
|
|
84
|
+
display: none;
|
|
85
|
+
|
|
86
|
+
@media (max-width: ${LayoutDimensions.width.horizontalIpadMini}px) {
|
|
87
|
+
display: block;
|
|
88
|
+
width: 24px;
|
|
89
|
+
height: 24px;
|
|
90
|
+
}
|
|
91
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './pdf-viewer.interface';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/PDFViewer" {
|
|
5
|
+
import { IPDFViewerProps } from "robbyson-frontend-library";
|
|
6
|
+
const PDFViewer: React.ComponentType<IPDFViewerProps>;
|
|
7
|
+
|
|
8
|
+
export default PDFViewer;
|
|
9
|
+
}
|
|
10
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './range-date-picker.interface';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
import { ITextFieldProps } from "../text-field";
|
|
3
|
+
|
|
4
|
+
export interface IRangeDatePickerProps
|
|
5
|
+
extends IBaseComponentProp {
|
|
6
|
+
onConfirm: (startDate: Date, endDate: Date) => void;
|
|
7
|
+
startDate: Date | null;
|
|
8
|
+
endDate: Date | null;
|
|
9
|
+
customInputOptions?: Omit<ITextFieldProps, "value">,
|
|
10
|
+
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface IRangeDatePickerState {
|
|
14
|
+
startDate: Date | null;
|
|
15
|
+
endDate: Date | null;
|
|
16
|
+
}
|