@appcorp/app-corp-vista 0.3.77 → 0.3.79

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.
@@ -13,11 +13,11 @@ var vista_button_type_1 = require("../../type/vista-button-type");
13
13
  var VistaChatMessagesV2 = function (_a) {
14
14
  var chatIsLoading = _a.chatIsLoading, handleLoadMore = _a.handleLoadMore, messages = _a.messages, psychic = _a.psychic, showLoadMore = _a.showLoadMore, user = _a.user;
15
15
  var lastDate = '';
16
- return (react_1.default.createElement("div", { className: "overflow-y-scroll" },
16
+ return (react_1.default.createElement("div", { className: "overflow-y-scroll no-scrollbar" },
17
17
  showLoadMore && (react_1.default.createElement("div", { className: "flex flex-row justify-center" },
18
18
  react_1.default.createElement(vista_button_v1_1.VistaButtonV1, { variant: chatIsLoading
19
19
  ? vista_button_type_1.VISTA_BUTTON_VARIANT.ICON
20
- : vista_button_type_1.VISTA_BUTTON_VARIANT.SECONDARY, label: chatIsLoading ? '' : 'Load Previous Chats...', handleOnClick: handleLoadMore, className: "inline-flex max-w-48 transition-all duration-1000 !bg-white", icon: react_1.default.createElement("div", { role: "status", className: "h-6 w-6 border-4 border-primary border-t-transparent rounded-full animate-spin" },
20
+ : vista_button_type_1.VISTA_BUTTON_VARIANT.SECONDARY, label: chatIsLoading ? '' : 'Load Previous Chats...', handleOnClick: handleLoadMore, className: "inline-flex max-w-48 transition-all duration-1000 bg-white", icon: react_1.default.createElement("div", { role: "status", className: "h-6 w-6 border-4 border-primary border-t-transparent rounded-full animate-spin" },
21
21
  react_1.default.createElement("span", { className: "sr-only" }, "Loading...")) }))),
22
22
  messages.map(function (_a, ind) {
23
23
  var _b, _c;
@@ -23,7 +23,7 @@ var VistaChatV2 = function (_a) {
23
23
  return (react_1.default.createElement("div", { className: "relative h-screen overflow-hidden max-w-7xl mx-auto grid grid-cols-6 ".concat(containerClassName) },
24
24
  sideBarNode && (react_1.default.createElement("div", { className: "col-span-1 h-full" },
25
25
  react_1.default.createElement(vista_chat_side_bar_v2_1.VistaChatSideBarV2, { sideBarHeading: sideBarHeading, sideBarNode: sideBarNode }))),
26
- react_1.default.createElement("section", { className: "flex flex-col h-full w-full mx-auto overflow-scroll ".concat(!sideBarNode ? 'col-span-6' : 'col-span-5') },
26
+ react_1.default.createElement("section", { className: "flex flex-col h-full w-full mx-auto overflow-scroll no-scrollbar ".concat(!sideBarNode ? 'col-span-6' : 'col-span-5') },
27
27
  react_1.default.createElement(vista_chat_heading_v1_1.VistaChatHeadingV1, { estimatedBalance: estimatedBalance, heading: name, timer: timer }),
28
28
  showBanner && (react_1.default.createElement(vista_banner_v1_1.VistaBannerV1, { description: bannerDescription, heading: bannerHeading })),
29
29
  react_1.default.createElement("div", { className: "overflow-y-auto h-full flex flex-col justify-end p-4" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appcorp/app-corp-vista",
3
- "version": "0.3.77",
3
+ "version": "0.3.79",
4
4
  "scripts": {
5
5
  "build": "yarn clean && yarn build:ts && cp package.json lib && cp README.md lib && cp yarn.lock lib",
6
6
  "build:next": "next build",
@@ -40,8 +40,11 @@
40
40
  "@next/third-parties": "^15",
41
41
  "@pdfme/common": "^5",
42
42
  "@pdfme/generator": "^5",
43
+ "@pdfme/schemas": "^5.5.6",
44
+ "@pdfme/ui": "^5.5.6",
43
45
  "@react-jvectormap/core": "^1.0.4",
44
46
  "@react-jvectormap/world": "^1.1.2",
47
+ "@react-pakistan/react-design-collection": "^1.2.14",
45
48
  "@react-pakistan/react-icon-collection": "^3.5.0",
46
49
  "@react-pakistan/util-functions": "^1.24.81",
47
50
  "@remixicon/react": "^4.6.0",
@@ -246,29 +246,6 @@ exports.creditReceiptTemplateV1 = {
246
246
  fontName: 'font_regular',
247
247
  readOnly: false,
248
248
  },
249
- {
250
- name: 'marketingNote',
251
- type: 'text',
252
- position: { x: 177, y: 103 },
253
- required: false,
254
- content: '',
255
- width: 60,
256
- height: 8,
257
- rotate: 90,
258
- alignment: 'middle',
259
- verticalAlignment: 'middle',
260
- fontSize: 8,
261
- lineHeight: 1,
262
- characterSpacing: 0,
263
- fontColor: '#909E98',
264
- backgroundColor: '',
265
- opacity: 1,
266
- strikethrough: false,
267
- underline: false,
268
- dynamicFontSize: { min: 6, max: 8, fit: 'vertical' },
269
- fontName: 'font_light',
270
- readOnly: false,
271
- },
272
249
  {
273
250
  name: 'companyValue',
274
251
  type: 'text',
@@ -248,29 +248,6 @@ exports.creditReceiptTemplateV2 = {
248
248
  fontName: 'font_regular',
249
249
  readOnly: false,
250
250
  },
251
- {
252
- name: 'marketingNote',
253
- type: 'text',
254
- position: { x: 177, y: 103 },
255
- required: false,
256
- content: '',
257
- width: 60,
258
- height: 8,
259
- rotate: 90,
260
- alignment: 'middle',
261
- verticalAlignment: 'middle',
262
- fontSize: 8,
263
- lineHeight: 1,
264
- characterSpacing: 0,
265
- fontColor: '#909E98',
266
- backgroundColor: '',
267
- opacity: 1,
268
- strikethrough: false,
269
- underline: false,
270
- dynamicFontSize: { min: 6, max: 8, fit: 'vertical' },
271
- fontName: 'font_light',
272
- readOnly: false,
273
- },
274
251
  {
275
252
  name: 'companyValue',
276
253
  type: 'text',
@@ -246,29 +246,6 @@ exports.debitReceiptTemplateV1 = {
246
246
  fontName: 'font_regular',
247
247
  readOnly: false,
248
248
  },
249
- {
250
- name: 'marketingNote',
251
- type: 'text',
252
- position: { x: 177, y: 103 },
253
- required: false,
254
- content: '',
255
- width: 60,
256
- height: 8,
257
- rotate: 90,
258
- alignment: 'middle',
259
- verticalAlignment: 'middle',
260
- fontSize: 8,
261
- lineHeight: 1,
262
- characterSpacing: 0,
263
- fontColor: '#909E98',
264
- backgroundColor: '',
265
- opacity: 1,
266
- strikethrough: false,
267
- underline: false,
268
- dynamicFontSize: { min: 6, max: 8, fit: 'vertical' },
269
- fontName: 'font_light',
270
- readOnly: false,
271
- },
272
249
  {
273
250
  name: 'companyValue',
274
251
  type: 'text',
@@ -0,0 +1,2 @@
1
+ import { Template } from '@pdfme/common';
2
+ export declare const socialMediaMarketingTemplateV1: Template;
@@ -0,0 +1,383 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.socialMediaMarketingTemplateV1 = void 0;
4
+ var mm_to_px_1 = require("../utils/mm-to-px");
5
+ exports.socialMediaMarketingTemplateV1 = {
6
+ schemas: [
7
+ [
8
+ // Orange vertical stripe (right side)
9
+ // {
10
+ // name: 'rightStripe',
11
+ // type: 'image',
12
+ // // SVG rectangle as data URI to act as decorative stripe
13
+ // content:
14
+ // 'data:image/svg+xml;utf8,' +
15
+ // encodeURIComponent(
16
+ // `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53 297" preserveAspectRatio="none"><rect width="100%" height="100%" fill="#F5A623"/></svg>`,
17
+ // ),
18
+ // position: { x: 157, y: 0 },
19
+ // width: 53,
20
+ // height: 297,
21
+ // rotate: 0,
22
+ // opacity: 1,
23
+ // readOnly: true,
24
+ // },
25
+ // Logo tagline text (top right)
26
+ {
27
+ name: 'logoTagline',
28
+ type: 'text',
29
+ content: 'TAGLINE HERE',
30
+ position: { x: 165, y: 12 },
31
+ width: 40,
32
+ height: 5,
33
+ fontSize: 8,
34
+ fontColor: '#F5A623',
35
+ alignment: 'left',
36
+ fontName: 'font_regular',
37
+ },
38
+ // Logo text
39
+ {
40
+ name: 'logoText',
41
+ type: 'text',
42
+ content: 'LOGO',
43
+ position: { x: 165, y: 18 },
44
+ width: 40,
45
+ height: 10,
46
+ fontSize: 18,
47
+ fontColor: '#F5A623',
48
+ alignment: 'left',
49
+ fontName: 'font_bold',
50
+ characterSpacing: 0,
51
+ lineHeight: 1,
52
+ },
53
+ // Main heading - "We are"
54
+ {
55
+ name: 'headingLine1',
56
+ type: 'text',
57
+ content: 'We are',
58
+ position: { x: 15, y: 25 },
59
+ width: 90,
60
+ height: 12,
61
+ fontSize: 32,
62
+ fontColor: '#2C3E50',
63
+ alignment: 'left',
64
+ fontName: 'font_bold',
65
+ characterSpacing: 0,
66
+ lineHeight: 1.2,
67
+ },
68
+ // Main heading - "Social Media" (yellow)
69
+ {
70
+ name: 'headingLine2',
71
+ type: 'text',
72
+ content: 'Social Media',
73
+ position: { x: 15, y: 40 },
74
+ width: 130,
75
+ height: 12,
76
+ fontSize: 32,
77
+ fontColor: '#F5A623',
78
+ alignment: 'left',
79
+ fontName: 'font_light',
80
+ characterSpacing: 0,
81
+ lineHeight: 1.2,
82
+ },
83
+ // Main heading - "Marketing"
84
+ {
85
+ name: 'headingLine3',
86
+ type: 'text',
87
+ content: 'Marketing',
88
+ position: { x: 15, y: 53 },
89
+ width: 90,
90
+ height: 12,
91
+ fontSize: 32,
92
+ fontColor: '#2C3E50',
93
+ alignment: 'left',
94
+ fontName: 'font_regular',
95
+ characterSpacing: 0,
96
+ lineHeight: 1.2,
97
+ },
98
+ // Main heading - "Expert"
99
+ {
100
+ name: 'headingLine4',
101
+ type: 'text',
102
+ content: 'Expert',
103
+ position: { x: 15, y: 66 },
104
+ width: 90,
105
+ height: 12,
106
+ fontSize: 32,
107
+ fontColor: '#2C3E50',
108
+ alignment: 'left',
109
+ fontName: 'font_regular',
110
+ characterSpacing: 0,
111
+ lineHeight: 1.2,
112
+ },
113
+ // Description text
114
+ {
115
+ name: 'description',
116
+ type: 'text',
117
+ content: 'Lorem ipsum dolor sit amet aliquip consectetur adipisicing elit ullamco sed do eiusmod tempor incididunt.',
118
+ position: { x: 15, y: 82 },
119
+ width: 85,
120
+ height: 15,
121
+ fontSize: 9,
122
+ fontColor: '#5A5A5A',
123
+ alignment: 'left',
124
+ fontName: 'font_regular',
125
+ lineHeight: 1.4,
126
+ },
127
+ // Date label vertical line (yellow)
128
+ // {
129
+ // name: 'dateLine',
130
+ // type: 'image',
131
+ // content:
132
+ // 'data:image/svg+xml;utf8,' +
133
+ // encodeURIComponent(
134
+ // `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 15" preserveAspectRatio="none"><rect width="100%" height="100%" fill="#F5A623"/></svg>`,
135
+ // ),
136
+ // position: { x: 15, y: 105 },
137
+ // width: 2,
138
+ // height: 15,
139
+ // rotate: 0,
140
+ // opacity: 1,
141
+ // readOnly: true,
142
+ // },
143
+ // Date day text
144
+ {
145
+ name: 'dateDay',
146
+ type: 'text',
147
+ content: 'MONDAY',
148
+ position: { x: 20, y: 106 },
149
+ width: 50,
150
+ height: 6,
151
+ fontSize: 11,
152
+ fontColor: '#2C3E50',
153
+ alignment: 'left',
154
+ fontName: 'font_regular',
155
+ characterSpacing: 0.5,
156
+ },
157
+ // Date month text
158
+ {
159
+ name: 'dateMonth',
160
+ type: 'text',
161
+ content: 'SEPTEMBER 24',
162
+ position: { x: 20, y: 112 },
163
+ width: 50,
164
+ height: 6,
165
+ fontSize: 11,
166
+ fontColor: '#2C3E50',
167
+ alignment: 'left',
168
+ fontName: 'font_regular',
169
+ characterSpacing: 0.5,
170
+ },
171
+ // Event type - "join online" (yellow)
172
+ {
173
+ name: 'eventType',
174
+ type: 'text',
175
+ content: 'join online',
176
+ position: { x: 15, y: 138 },
177
+ width: 60,
178
+ height: 10,
179
+ fontSize: 22,
180
+ fontColor: '#F5A623',
181
+ alignment: 'left',
182
+ fontName: 'font_light',
183
+ fontStyle: 'italic',
184
+ },
185
+ // Event subtitle
186
+ {
187
+ name: 'eventSubtitle',
188
+ type: 'text',
189
+ content: 'TRAINING SESSION',
190
+ position: { x: 15, y: 150 },
191
+ width: 60,
192
+ height: 6,
193
+ fontSize: 10,
194
+ fontColor: '#2C3E50',
195
+ alignment: 'left',
196
+ fontName: 'font_regular',
197
+ },
198
+ // // Contact button background (yellow)
199
+ // {
200
+ // name: 'contactButtonBg',
201
+ // type: 'image',
202
+ // content:
203
+ // 'data:image/svg+xml;utf8,' +
204
+ // encodeURIComponent(
205
+ // `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35 8" preserveAspectRatio="none"><rect width="100%" height="100%" fill="#F5A623"/></svg>`,
206
+ // ),
207
+ // position: { x: 15, y: 165 },
208
+ // width: 35,
209
+ // height: 8,
210
+ // rotate: 0,
211
+ // opacity: 1,
212
+ // readOnly: true,
213
+ // },
214
+ // Contact button text
215
+ {
216
+ name: 'contactButtonText',
217
+ type: 'text',
218
+ content: 'CONTACT US',
219
+ position: { x: 17, y: 166.5 },
220
+ width: 30,
221
+ height: 5,
222
+ fontSize: 10,
223
+ fontColor: '#FFFFFF',
224
+ alignment: 'center',
225
+ fontName: 'font_regular',
226
+ },
227
+ // Website URL
228
+ {
229
+ name: 'websiteUrl',
230
+ type: 'text',
231
+ content: 'WWW.YOURSITE.COM',
232
+ position: { x: 15, y: 180 },
233
+ width: 70,
234
+ height: 8,
235
+ fontSize: 14,
236
+ fontColor: '#2C3E50',
237
+ alignment: 'left',
238
+ fontName: 'font_regular',
239
+ },
240
+ // // Phone icon background (yellow square)
241
+ // {
242
+ // name: 'phoneIconBg',
243
+ // type: 'image',
244
+ // content:
245
+ // 'data:image/svg+xml;utf8,' +
246
+ // encodeURIComponent(
247
+ // `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8" preserveAspectRatio="none"><rect width="100%" height="100%" fill="#F5A623"/></svg>`,
248
+ // ),
249
+ // position: { x: 15, y: 195 },
250
+ // width: 8,
251
+ // height: 8,
252
+ // rotate: 0,
253
+ // opacity: 1,
254
+ // readOnly: true,
255
+ // },
256
+ // More info label
257
+ {
258
+ name: 'moreInfoLabel',
259
+ type: 'text',
260
+ content: 'More info',
261
+ position: { x: 26, y: 195 },
262
+ width: 30,
263
+ height: 5,
264
+ fontSize: 9,
265
+ fontColor: '#2C3E50',
266
+ alignment: 'left',
267
+ fontName: 'font_regular',
268
+ },
269
+ // Phone number
270
+ {
271
+ name: 'phoneNumber',
272
+ type: 'text',
273
+ content: '+000 123 456 789',
274
+ position: { x: 26, y: 199 },
275
+ width: 50,
276
+ height: 6,
277
+ fontSize: 11,
278
+ fontColor: '#2C3E50',
279
+ alignment: 'left',
280
+ fontName: 'font_bold',
281
+ },
282
+ // Main circular image frame background (yellow circle)
283
+ // {
284
+ // name: 'imageCircleBg',
285
+ // type: 'image',
286
+ // // SVG circle as data URI for decorative circular frame
287
+ // content:
288
+ // 'data:image/svg+xml;utf8,' +
289
+ // encodeURIComponent(
290
+ // `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 108 108" preserveAspectRatio="xMidYMid meet"><circle cx="54" cy="54" r="54" fill="#F5A623"/></svg>`,
291
+ // ),
292
+ // position: { x: 92, y: 72 },
293
+ // width: 108,
294
+ // height: 108,
295
+ // rotate: 0,
296
+ // opacity: 1,
297
+ // readOnly: true,
298
+ // },
299
+ // Main image (circular/oval)
300
+ // {
301
+ // name: 'mainImage',
302
+ // type: 'image',
303
+ // content: '',
304
+ // position: { x: 98, y: 78 },
305
+ // width: 96,
306
+ // height: 96,
307
+ // rotate: 0,
308
+ // opacity: 1,
309
+ // },
310
+ // // Social media icons background circles (bottom right)
311
+ // // Facebook
312
+ // {
313
+ // name: 'facebookIconBg',
314
+ // type: 'image',
315
+ // content:
316
+ // 'data:image/svg+xml;utf8,' +
317
+ // encodeURIComponent(
318
+ // `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 6" preserveAspectRatio="xMidYMid meet"><circle cx="3" cy="3" r="3" fill="#F5A623"/></svg>`,
319
+ // ),
320
+ // position: { x: 163, y: 212 },
321
+ // width: 6,
322
+ // height: 6,
323
+ // rotate: 0,
324
+ // opacity: 1,
325
+ // readOnly: true,
326
+ // },
327
+ // // Twitter
328
+ // {
329
+ // name: 'twitterIconBg',
330
+ // type: 'image',
331
+ // content:
332
+ // 'data:image/svg+xml;utf8,' +
333
+ // encodeURIComponent(
334
+ // `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 6" preserveAspectRatio="xMidYMid meet"><circle cx="3" cy="3" r="3" fill="#F5A623"/></svg>`,
335
+ // ),
336
+ // position: { x: 171, y: 212 },
337
+ // width: 6,
338
+ // height: 6,
339
+ // rotate: 0,
340
+ // opacity: 1,
341
+ // readOnly: true,
342
+ // },
343
+ // // YouTube
344
+ // {
345
+ // name: 'youtubeIconBg',
346
+ // type: 'image',
347
+ // content:
348
+ // 'data:image/svg+xml;utf8,' +
349
+ // encodeURIComponent(
350
+ // `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 6" preserveAspectRatio="xMidYMid meet"><circle cx="3" cy="3" r="3" fill="#F5A623"/></svg>`,
351
+ // ),
352
+ // position: { x: 179, y: 212 },
353
+ // width: 6,
354
+ // height: 6,
355
+ // rotate: 0,
356
+ // opacity: 1,
357
+ // readOnly: true,
358
+ // },
359
+ // // Instagram
360
+ // {
361
+ // name: 'instagramIconBg',
362
+ // type: 'image',
363
+ // content:
364
+ // 'data:image/svg+xml;utf8,' +
365
+ // encodeURIComponent(
366
+ // `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 6" preserveAspectRatio="xMidYMid meet"><circle cx="3" cy="3" r="3" fill="#F5A623"/></svg>`,
367
+ // ),
368
+ // position: { x: 187, y: 212 },
369
+ // width: 6,
370
+ // height: 6,
371
+ // rotate: 0,
372
+ // opacity: 1,
373
+ // readOnly: true,
374
+ // },
375
+ ],
376
+ ],
377
+ basePdf: {
378
+ width: (0, mm_to_px_1.pxToMm)(1080),
379
+ height: (0, mm_to_px_1.pxToMm)(1080),
380
+ padding: [0, 0, 0, 0],
381
+ },
382
+ pdfmeVersion: '5.4.1',
383
+ };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Converts millimeters to pixels
3
+ * Standard conversion: 1mm = 3.7795275591 pixels (at 96 DPI)
4
+ * @param mm - Value in millimeters
5
+ * @returns Rounded pixel value
6
+ */
7
+ export declare const mmToPx: (mm: number) => number;
8
+ /**
9
+ * Converts pixels to millimeters
10
+ * Standard conversion: 1px = 0.26458333333 millimeters (at 96 DPI)
11
+ * @param px - Value in pixels
12
+ * @returns Rounded millimeter value
13
+ */
14
+ export declare const pxToMm: (px: number) => number;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pxToMm = exports.mmToPx = void 0;
4
+ /**
5
+ * Converts millimeters to pixels
6
+ * Standard conversion: 1mm = 3.7795275591 pixels (at 96 DPI)
7
+ * @param mm - Value in millimeters
8
+ * @returns Rounded pixel value
9
+ */
10
+ var mmToPx = function (mm) {
11
+ var MM_TO_PX_RATIO = 3.7795275591;
12
+ return Math.round(mm * MM_TO_PX_RATIO);
13
+ };
14
+ exports.mmToPx = mmToPx;
15
+ /**
16
+ * Converts pixels to millimeters
17
+ * Standard conversion: 1px = 0.26458333333 millimeters (at 96 DPI)
18
+ * @param px - Value in pixels
19
+ * @returns Rounded millimeter value
20
+ */
21
+ var pxToMm = function (px) {
22
+ var PX_TO_MM_RATIO = 0.26458333333;
23
+ return Math.round(px * PX_TO_MM_RATIO);
24
+ };
25
+ exports.pxToMm = pxToMm;
@@ -0,0 +1,14 @@
1
+ export declare const pdfFonts: {
2
+ font_light: {
3
+ data: string;
4
+ fallback: boolean;
5
+ };
6
+ font_regular: {
7
+ data: string;
8
+ fallback: boolean;
9
+ };
10
+ font_bold: {
11
+ data: string;
12
+ fallback: boolean;
13
+ };
14
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pdfFonts = void 0;
4
+ var inter_light_1 = require("@react-pakistan/react-design-collection/fonts/inter-light");
5
+ var inter_regular_1 = require("@react-pakistan/react-design-collection/fonts/inter-regular");
6
+ var inter_bold_1 = require("@react-pakistan/react-design-collection/fonts/inter-bold");
7
+ exports.pdfFonts = {
8
+ font_light: {
9
+ data: inter_light_1.interLight,
10
+ fallback: false,
11
+ },
12
+ font_regular: {
13
+ data: inter_regular_1.interRegular,
14
+ fallback: false,
15
+ },
16
+ font_bold: {
17
+ data: inter_bold_1.interBold,
18
+ fallback: true,
19
+ },
20
+ };