tee3apps-cms-sdk-react 0.0.1

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 (43) hide show
  1. package/.env +11 -0
  2. package/README.md +255 -0
  3. package/dist/index.d.ts +5 -0
  4. package/dist/index.js +13 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.mjs +13 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +33 -0
  9. package/rollup.config.js +43 -0
  10. package/src/Components/BoxRenderer.tsx +108 -0
  11. package/src/Components/ComponentRenderer.tsx +29 -0
  12. package/src/Components/ImageComponent.tsx +68 -0
  13. package/src/Components/RowComponent.tsx +66 -0
  14. package/src/Components/TextComponent.tsx +47 -0
  15. package/src/ErrorBoundary.tsx +35 -0
  16. package/src/Page.tsx +124 -0
  17. package/src/PageComponents/BoxComponent.tsx +397 -0
  18. package/src/PageComponents/RowComponent.tsx +113 -0
  19. package/src/PageComponents/Visual-Components/CarouselComponent.tsx +366 -0
  20. package/src/PageComponents/Visual-Components/GroupBrandComponent.tsx +391 -0
  21. package/src/PageComponents/Visual-Components/GroupCategoryComponent.tsx +425 -0
  22. package/src/PageComponents/Visual-Components/GroupImageList.tsx +669 -0
  23. package/src/PageComponents/Visual-Components/GroupProductComponent.tsx +671 -0
  24. package/src/PageComponents/Visual-Components/GroupVideoList.tsx +590 -0
  25. package/src/PageComponents/Visual-Components/ImageComponent.tsx +163 -0
  26. package/src/PageComponents/Visual-Components/LinkComponent.tsx +68 -0
  27. package/src/PageComponents/Visual-Components/LottieComponent.tsx +213 -0
  28. package/src/PageComponents/Visual-Components/NavigationComponent.tsx +178 -0
  29. package/src/PageComponents/Visual-Components/Styles/ProductListViewOne.tsx +102 -0
  30. package/src/PageComponents/Visual-Components/Styles/ProductListViewTwo.tsx +104 -0
  31. package/src/PageComponents/Visual-Components/Styles/product-list-view-one.css +166 -0
  32. package/src/PageComponents/Visual-Components/Styles/product-list-view-two.css +182 -0
  33. package/src/PageComponents/Visual-Components/TabComponent.tsx +1169 -0
  34. package/src/PageComponents/Visual-Components/TextComponent.tsx +114 -0
  35. package/src/PageComponents/Visual-Components/VideoComponent.tsx +191 -0
  36. package/src/PageComponents/Visual-Components/tab.css +697 -0
  37. package/src/common.interface.ts +216 -0
  38. package/src/const.ts +6 -0
  39. package/src/env.d.ts +15 -0
  40. package/src/index.css +82 -0
  41. package/src/index.ts +2 -0
  42. package/src/types.ts +234 -0
  43. package/tsconfig.json +20 -0
@@ -0,0 +1,216 @@
1
+ export interface ModeProps {
2
+ isScroll: boolean;
3
+ isVisible: boolean;
4
+ top: string;
5
+ bottom: string;
6
+ flexView?: boolean;
7
+ colspan?: number;
8
+ height?: string;
9
+ width?: string;
10
+ left?: string;
11
+ right?: string;
12
+ radius?: string;
13
+ }
14
+
15
+ export interface DeviceModes {
16
+ web: ModeProps;
17
+ mobileweb: ModeProps;
18
+ mobileapp: ModeProps;
19
+ tablet: ModeProps;
20
+ }
21
+
22
+ export interface TextStyle {
23
+ headingTag: string;
24
+ fontSize: number;
25
+ fontStyle: {
26
+ isBold: boolean;
27
+ isItalic: boolean;
28
+ isUnderLine: boolean;
29
+ isStrikeThrough: boolean;
30
+ };
31
+ fontColor: string;
32
+ textAlign: string;
33
+ fontFamily: string;
34
+ }
35
+
36
+ export interface TextProps {
37
+ text: { all: string };
38
+ style: TextStyle;
39
+ linktype: string;
40
+ link: {
41
+ url: string;
42
+ target: string;
43
+ };
44
+ height: string;
45
+ mode: DeviceModes;
46
+ }
47
+
48
+ export interface LinkProps {
49
+ text: { all: string };
50
+ url: string;
51
+ target: string;
52
+ framename: string;
53
+ }
54
+
55
+ export interface BoxProps {
56
+ bgColor: string;
57
+ align: string;
58
+ justify: string;
59
+ compOrder: string;
60
+ bgsize: string;
61
+ layout: string;
62
+ mode: DeviceModes;
63
+ }
64
+
65
+ export interface RowProps {
66
+ minHeight: string;
67
+ bgColor: string;
68
+ bgImage: string;
69
+ align: string;
70
+ justify: string;
71
+ nowrap: boolean;
72
+ bgsize: string;
73
+ mode: DeviceModes;
74
+ }
75
+
76
+ export interface ImageData {
77
+ isDynamic: boolean;
78
+ shape: string;
79
+ url: string;
80
+ alt: string;
81
+ }
82
+
83
+ export interface ImageModeProps {
84
+ borderRadius: number;
85
+ width: string;
86
+ height: string;
87
+ }
88
+
89
+ export interface ImageComponentProps {
90
+ images: {
91
+ all: ImageData;
92
+ };
93
+ mode: {
94
+ web: ImageModeProps;
95
+ mobileweb: ImageModeProps;
96
+ mobileapp: ImageModeProps;
97
+ tablet: ImageModeProps;
98
+ };
99
+ linktype: string;
100
+ link: {
101
+ url: string;
102
+ target: string;
103
+ };
104
+ product: {
105
+ _id: string;
106
+ code: string;
107
+ name: object;
108
+ pd_type: string;
109
+ };
110
+ page: {
111
+ _id: string;
112
+ code: string;
113
+ name: object;
114
+ pg_type: string;
115
+ facet_params: any[];
116
+ track_params: any[];
117
+ };
118
+ tag: {
119
+ _id: string;
120
+ code: string;
121
+ name: object;
122
+ tagtype: string;
123
+ };
124
+ type: any[];
125
+ }
126
+
127
+ export interface ProductImage {
128
+ shapeImageId: string;
129
+ height: number;
130
+ width: number;
131
+ shape: string;
132
+ isDynamic: boolean;
133
+ url: string;
134
+ }
135
+
136
+ export interface Product {
137
+ _id: string;
138
+ code: string;
139
+ name: string | { all: string };
140
+ image: ProductImage;
141
+ isActive: boolean;
142
+ }
143
+
144
+ export interface GroupProductStatic {
145
+ _id: string;
146
+ code: string;
147
+ name: string;
148
+ }
149
+
150
+ export interface GroupProductDynamic {
151
+ code: string;
152
+ name: { all: string };
153
+ list: Product[];
154
+ isActive: boolean;
155
+ }
156
+
157
+ export interface GroupProductData {
158
+ static: GroupProductStatic;
159
+ dynamic: GroupProductDynamic;
160
+ }
161
+
162
+ export interface HeaderTextStyle {
163
+ fontSize: number;
164
+ fontColor: string;
165
+ isBold: boolean;
166
+ isItalic: boolean;
167
+ isUnderline: boolean;
168
+ }
169
+
170
+ export interface DeviceBooleanProps {
171
+ web: boolean;
172
+ mobileweb: boolean;
173
+ mobileapp: boolean;
174
+ tablet: boolean;
175
+ }
176
+
177
+ export interface DeviceLayoutProps {
178
+ web: string;
179
+ mobileweb: string;
180
+ mobileapp: string;
181
+ tablet: string;
182
+ }
183
+
184
+ export interface GroupProductComponentProps {
185
+ headerText: { all: string };
186
+ type: string;
187
+ groupproduct: GroupProductData;
188
+ activeStatus: boolean;
189
+ headerImage: string;
190
+ selectedProducts: Product[];
191
+ items: Product[];
192
+ style: DeviceLayoutProps;
193
+ showItems:Product[]
194
+ cardColor: string;
195
+ showProductName: DeviceBooleanProps;
196
+ headerTextStyle: HeaderTextStyle;
197
+ layout: DeviceLayoutProps;
198
+ showHeader: DeviceBooleanProps;
199
+ isHorizontalScroll: DeviceBooleanProps;
200
+ headerBackground: string;
201
+ }
202
+
203
+ export interface ComponentData {
204
+ name: string;
205
+ props: TextProps | LinkProps | ImageComponentProps | GroupProductComponentProps;
206
+ }
207
+
208
+ export interface BoxData {
209
+ props: BoxProps;
210
+ components: ComponentData[];
211
+ }
212
+
213
+ export interface RowData {
214
+ props: RowProps;
215
+ columns: BoxData[];
216
+ }
package/src/const.ts ADDED
@@ -0,0 +1,6 @@
1
+ export const ENCRYPT_KEY =import.meta.env.VITE_HASHKEY
2
+ export const REGION = import.meta.env.VITE_REGION;
3
+ export const ENDPOINT = import.meta.env.VITE_ENDPOINT;
4
+ export const ACCESS_KEY_ID = import.meta.env.VITE_ACCESS_KEY_ID;
5
+ export const SECRET_ACCESS_KEY = import.meta.env.VITE_SECRET_ACCESS_KEY;
6
+ export const Linodeurl=`https://pim.in-maa-1.linodeobjects.com/`
package/src/env.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ /// <reference types="vite/client" />
2
+
3
+ interface ImportMetaEnv {
4
+ readonly VITE_MY_SECRET: string;
5
+ readonly VITE_HASHKEY: string;
6
+ readonly VITE_REGION: string;
7
+ readonly VITE_ENDPOINT: string;
8
+ readonly VITE_ACCESS_KEY_ID: string;
9
+ readonly VITE_SECRET_ACCESS_KEY: string;
10
+ // Add other variables here as needed
11
+ }
12
+
13
+ interface ImportMeta {
14
+ readonly env: ImportMetaEnv;
15
+ }
package/src/index.css ADDED
@@ -0,0 +1,82 @@
1
+ /* Webkit browsers (Chrome, Safari) */
2
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
3
+ :root {
4
+ --font-primary: 'Inter', sans-serif;
5
+ }
6
+
7
+ body {
8
+ margin: 0;
9
+ padding: 0;
10
+ font-family: var(--font-primary);
11
+ background-color: #f9f9f9; /* optional */
12
+ color: #1a1a1a; /* optional */
13
+ }
14
+ .groupBrandCarousel::-webkit-scrollbar {
15
+ height: 8px;
16
+ width: 8px;
17
+ }
18
+
19
+ .groupBrandCarousel::-webkit-scrollbar-thumb {
20
+ background-color: #888;
21
+ border-radius: 4px;
22
+ }
23
+
24
+ .groupBrandCarousel::-webkit-scrollbar-track {
25
+ background-color: #f1f1f1;
26
+ }
27
+
28
+ /* Firefox */
29
+ .groupBrandCarousel {
30
+ scrollbar-width: thin;
31
+ scrollbar-color: #888 #f1f1f1;
32
+ }
33
+ .GroupImageComponent{
34
+ container-type: inline-size;
35
+
36
+ }
37
+ .GroupBrandComponent{
38
+ container-type: inline-size;
39
+
40
+ }
41
+ .GroupProductComponent {
42
+ container-type: inline-size;
43
+ }
44
+
45
+ @container (max-width: 480px) {
46
+ .groupProductCarousel {
47
+ gap: 8px !important;
48
+ }
49
+
50
+ .productImageSlide {
51
+ min-width: 100px !important;
52
+ }
53
+ }
54
+
55
+ /* -------------- IMAGE STYLES --------------- */
56
+
57
+ .image-box {
58
+
59
+ width: 100%;
60
+ /* height: 280px; */
61
+ overflow: hidden;
62
+ display: flex;
63
+ align-items: center;
64
+ justify-content: center;
65
+
66
+ }
67
+
68
+ .fitted-image {
69
+ width: 100%;
70
+ height: 100%;
71
+ }
72
+ .mainpagearea{
73
+ background-color: rgb(205, 205, 205);
74
+ width: 100%;
75
+ flex: flex;
76
+ justify-items: center;
77
+ }
78
+ .pagerender{
79
+ /* background-color: #888; */
80
+ width: 95%;
81
+
82
+ }
package/src/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ import Page from "./Page";
2
+ export default Page
package/src/types.ts ADDED
@@ -0,0 +1,234 @@
1
+ export type LOVItem = {
2
+ id: string;
3
+ code: string;
4
+ name: string;
5
+ };
6
+
7
+ export interface TextStyle {
8
+ headingTag: string;
9
+ fontSize: number;
10
+ fontStyle: {
11
+ isBold: boolean;
12
+ isItalic: boolean;
13
+ isUnderLine: boolean;
14
+ isStrikeThrough: boolean;
15
+ };
16
+ fontColor: string;
17
+ textAlign: string;
18
+ fontFamily: string;
19
+ }
20
+
21
+ export interface TextProps {
22
+ text: { all: string };
23
+ style: TextStyle;
24
+ linktype: string;
25
+ link: {
26
+ url: string;
27
+ target: string;
28
+ };
29
+ height: string;
30
+ mode: DeviceModes;
31
+ }
32
+
33
+ export interface LinkProps {
34
+ text: { all: string };
35
+ url: string;
36
+ target: string;
37
+ framename: string;
38
+ }
39
+
40
+ export interface ImageData {
41
+ isDynamic: boolean;
42
+ shape: string;
43
+ url: string;
44
+ alt: string;
45
+ }
46
+
47
+ export interface ImageModeProps {
48
+ borderRadius: number;
49
+ width: string;
50
+ height: string;
51
+ bgColor?: string;
52
+ // borderRadius?:string;
53
+ }
54
+
55
+ export interface DeviceModes {
56
+ web: ImageModeProps | ButtonModeProps;
57
+ mobileweb: ImageModeProps | ButtonModeProps;
58
+ mobileapp: ImageModeProps | ButtonModeProps;
59
+ tablet: ImageModeProps | ButtonModeProps;
60
+ }
61
+
62
+
63
+ export interface ImageComponentProps {
64
+ images: {
65
+ all: ImageData;
66
+ };
67
+ mode: DeviceModes;
68
+ linktype: string;
69
+ link: {
70
+ url: string;
71
+ target: string;
72
+ };
73
+ product: {
74
+ _id: string;
75
+ code: string;
76
+ name: object;
77
+ pd_type: string;
78
+ };
79
+ page: {
80
+ _id: string;
81
+ code: string;
82
+ name: object;
83
+ pg_type: string;
84
+ facet_params: any[];
85
+ track_params: any[];
86
+ };
87
+ tag: {
88
+ _id: string;
89
+ code: string;
90
+ name: object;
91
+ tagtype: string;
92
+ };
93
+ type: any[];
94
+ }
95
+
96
+ export type ComponentProps = {
97
+ columnSize?: string;
98
+ name?: { all?: string };
99
+ type?: string;
100
+ required?: boolean;
101
+ helperText?: string;
102
+ multiSelect?: boolean;
103
+ lov?: LOVItem[];
104
+ pattern?: string;
105
+ min?: number;
106
+ max?: number;
107
+ step?: number;
108
+ suffix?: string;
109
+ format?: string;
110
+ postaltype?: string;
111
+ textArea?: boolean;
112
+ minLength?: number;
113
+ maxLength?: number;
114
+ termsandcondition?: { all?: string };
115
+ onText?: string;
116
+ offText?: string;
117
+ code?: string;
118
+ pd_id?:{ _id: string; code: string; name: object; pd_type: string; }
119
+ // Image component props
120
+ images?: { all: ImageData };
121
+ linktype?: string;
122
+ link?: {
123
+ url: string;
124
+ target: string;
125
+ };
126
+ mode?: DeviceModes;
127
+ product?: {
128
+ _id: string;
129
+ code: string;
130
+ name: object;
131
+ pd_type: string;
132
+ pd_id?:any;
133
+ product_data?:any;
134
+ };
135
+ page?: {
136
+ _id: string;
137
+ code: string;
138
+ name: object;
139
+ pg_type: string;
140
+ facet_params: any[];
141
+ track_params: any[];
142
+ };
143
+ tag?: {
144
+ _id: string;
145
+ tag_id?:any;
146
+ code: string;
147
+ name: object;
148
+ tagtype: string;
149
+ };
150
+ // Text component props
151
+ text?: any;
152
+ style?: TextStyle;
153
+ height?: string;
154
+ disabled?: boolean;
155
+ bgColor?: string;
156
+ radius?: string;
157
+ };
158
+
159
+ export type Component = {
160
+ name: string;
161
+ props: ComponentProps;
162
+ type: any[];
163
+ };
164
+
165
+ export type Box = {
166
+ name: string;
167
+ props: {
168
+ bgColor: string;
169
+ bgImage: any;
170
+ align: string;
171
+ justify: string;
172
+ compOrder: string;
173
+ bgsize: string;
174
+ layout: string;
175
+ mode: {
176
+ web: {
177
+ colspan: number;
178
+ isVisible: boolean;
179
+ height: string;
180
+ top: string;
181
+ bottom: string;
182
+ left: string;
183
+ right: string;
184
+ radius: string;
185
+ };
186
+ mobileweb: any;
187
+ mobileapp: any;
188
+ tablet: any;
189
+ };
190
+ };
191
+ components: Component[];
192
+ };
193
+
194
+ export interface ButtonModeProps {
195
+ radius?: string;
196
+ borderRadius?: number;
197
+
198
+ bgColor?: string;
199
+ textstyle?: {
200
+ fontSize: number;
201
+ fontColor: string;
202
+ fontStyle: {
203
+ isBold: boolean;
204
+ isItalic: boolean;
205
+ isUnderLine: boolean;
206
+ isStrikeThrough: boolean;
207
+ };
208
+ };
209
+ }
210
+ export type Row = {
211
+ name: string;
212
+ props: {
213
+ minHeight: string;
214
+ bgColor: string;
215
+ bgImage: string;
216
+ align: string;
217
+ justify: string;
218
+ nowrap: boolean;
219
+ bgsize: string;
220
+ mode: {
221
+ web: {
222
+ isScroll: boolean;
223
+ isVisible: boolean;
224
+ top: string;
225
+ bottom: string;
226
+ flexView: boolean;
227
+ };
228
+ mobileweb: any;
229
+ mobileapp: any;
230
+ tablet: any;
231
+ };
232
+ };
233
+ columns: Box[];
234
+ };
package/tsconfig.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es5",
4
+ "lib": ["dom", "dom.iterable", "esnext"],
5
+ "allowJs": true,
6
+ "skipLibCheck": true,
7
+ "esModuleInterop": true,
8
+ "allowSyntheticDefaultImports": true,
9
+ "strict": true,
10
+ "forceConsistentCasingInFileNames": true,
11
+ "noFallthroughCasesInSwitch": true,
12
+ "module": "esnext",
13
+ "moduleResolution": "node",
14
+ "resolveJsonModule": true,
15
+ "isolatedModules": true,
16
+ "noEmit": true,
17
+ "jsx": "react-jsx"
18
+ },
19
+ "include": ["src"]
20
+ }