ugcinc-render 1.8.172 → 1.8.174
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/index.d.mts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +80 -10
- package/dist/index.mjs +80 -10
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1117,6 +1117,14 @@ interface IMessageDmCompositionProps {
|
|
|
1117
1117
|
messageHeaderLetterSpacing?: number;
|
|
1118
1118
|
messageHeaderLeft?: number;
|
|
1119
1119
|
messageHeaderRight?: number;
|
|
1120
|
+
showReadReceipt?: boolean;
|
|
1121
|
+
readReceiptText?: string;
|
|
1122
|
+
readReceiptGap?: number;
|
|
1123
|
+
readReceiptFontSize?: number;
|
|
1124
|
+
readReceiptLetterSpacing?: number;
|
|
1125
|
+
readReceiptColor?: string;
|
|
1126
|
+
readReceiptLeft?: number;
|
|
1127
|
+
readReceiptRight?: number;
|
|
1120
1128
|
messages?: ImMessage[];
|
|
1121
1129
|
}
|
|
1122
1130
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1117,6 +1117,14 @@ interface IMessageDmCompositionProps {
|
|
|
1117
1117
|
messageHeaderLetterSpacing?: number;
|
|
1118
1118
|
messageHeaderLeft?: number;
|
|
1119
1119
|
messageHeaderRight?: number;
|
|
1120
|
+
showReadReceipt?: boolean;
|
|
1121
|
+
readReceiptText?: string;
|
|
1122
|
+
readReceiptGap?: number;
|
|
1123
|
+
readReceiptFontSize?: number;
|
|
1124
|
+
readReceiptLetterSpacing?: number;
|
|
1125
|
+
readReceiptColor?: string;
|
|
1126
|
+
readReceiptLeft?: number;
|
|
1127
|
+
readReceiptRight?: number;
|
|
1120
1128
|
messages?: ImMessage[];
|
|
1121
1129
|
}
|
|
1122
1130
|
|
package/dist/index.js
CHANGED
|
@@ -5297,13 +5297,22 @@ var MESSAGE_DEFAULTS2 = {
|
|
|
5297
5297
|
// Message area header text (above first message)
|
|
5298
5298
|
messageHeaderImessageText: "iMessage",
|
|
5299
5299
|
messageHeaderTimestampText: "Today 12:16 PM",
|
|
5300
|
-
messageHeaderTimestampGap:
|
|
5301
|
-
messageHeaderImessageGap:
|
|
5300
|
+
messageHeaderTimestampGap: 30,
|
|
5301
|
+
messageHeaderImessageGap: 5,
|
|
5302
5302
|
messageHeaderTextColor: "#626167",
|
|
5303
|
-
messageHeaderFontSize:
|
|
5304
|
-
messageHeaderLetterSpacing:
|
|
5303
|
+
messageHeaderFontSize: 34,
|
|
5304
|
+
messageHeaderLetterSpacing: 1.25,
|
|
5305
5305
|
messageHeaderLeft: 0,
|
|
5306
|
-
messageHeaderRight: 1206
|
|
5306
|
+
messageHeaderRight: 1206,
|
|
5307
|
+
// Read receipt (under last sender message)
|
|
5308
|
+
showReadReceipt: true,
|
|
5309
|
+
readReceiptText: "Read 12:16 PM",
|
|
5310
|
+
readReceiptGap: 47,
|
|
5311
|
+
readReceiptFontSize: 34,
|
|
5312
|
+
readReceiptLetterSpacing: 1.25,
|
|
5313
|
+
readReceiptColor: "#626167",
|
|
5314
|
+
readReceiptLeft: 0,
|
|
5315
|
+
readReceiptRight: 1158
|
|
5307
5316
|
};
|
|
5308
5317
|
var FONT_FAMILY2 = getFontFamily("apple");
|
|
5309
5318
|
function calculateAutoWidthAndLines3({
|
|
@@ -5662,6 +5671,48 @@ function generateHeaderTextElements(props, calculatedMessages) {
|
|
|
5662
5671
|
});
|
|
5663
5672
|
return elements;
|
|
5664
5673
|
}
|
|
5674
|
+
function generateReadReceiptElement(props, calculatedMessages) {
|
|
5675
|
+
const showReadReceipt = props.showReadReceipt ?? MESSAGE_DEFAULTS2.showReadReceipt;
|
|
5676
|
+
if (!showReadReceipt) {
|
|
5677
|
+
return [];
|
|
5678
|
+
}
|
|
5679
|
+
let lastSenderMessage = null;
|
|
5680
|
+
for (let i = calculatedMessages.length - 1; i >= 0; i--) {
|
|
5681
|
+
if (calculatedMessages[i].message.sender === "user") {
|
|
5682
|
+
lastSenderMessage = calculatedMessages[i];
|
|
5683
|
+
break;
|
|
5684
|
+
}
|
|
5685
|
+
}
|
|
5686
|
+
if (!lastSenderMessage) {
|
|
5687
|
+
return [];
|
|
5688
|
+
}
|
|
5689
|
+
const readReceiptText = props.readReceiptText ?? MESSAGE_DEFAULTS2.readReceiptText;
|
|
5690
|
+
const readReceiptGap = props.readReceiptGap ?? MESSAGE_DEFAULTS2.readReceiptGap;
|
|
5691
|
+
const readReceiptFontSize = props.readReceiptFontSize ?? MESSAGE_DEFAULTS2.readReceiptFontSize;
|
|
5692
|
+
const readReceiptLetterSpacing = props.readReceiptLetterSpacing ?? MESSAGE_DEFAULTS2.readReceiptLetterSpacing;
|
|
5693
|
+
const readReceiptColor = props.readReceiptColor ?? MESSAGE_DEFAULTS2.readReceiptColor;
|
|
5694
|
+
const readReceiptLeft = props.readReceiptLeft ?? MESSAGE_DEFAULTS2.readReceiptLeft;
|
|
5695
|
+
const readReceiptRight = props.readReceiptRight ?? MESSAGE_DEFAULTS2.readReceiptRight;
|
|
5696
|
+
const readReceiptWidth = readReceiptRight - readReceiptLeft;
|
|
5697
|
+
const readReceiptTop = lastSenderMessage.bottom + readReceiptGap - readReceiptFontSize;
|
|
5698
|
+
return [{
|
|
5699
|
+
id: "read-receipt",
|
|
5700
|
+
type: "text",
|
|
5701
|
+
x: readReceiptLeft,
|
|
5702
|
+
y: readReceiptTop,
|
|
5703
|
+
width: readReceiptWidth,
|
|
5704
|
+
height: readReceiptFontSize,
|
|
5705
|
+
zIndex: 4,
|
|
5706
|
+
text: readReceiptText,
|
|
5707
|
+
font: "apple",
|
|
5708
|
+
fontWeight: 600,
|
|
5709
|
+
fontSize: readReceiptFontSize,
|
|
5710
|
+
letterSpacing: readReceiptLetterSpacing,
|
|
5711
|
+
color: readReceiptColor,
|
|
5712
|
+
textAlign: "right",
|
|
5713
|
+
verticalAlign: "middle"
|
|
5714
|
+
}];
|
|
5715
|
+
}
|
|
5665
5716
|
function buildImageUrls2(props) {
|
|
5666
5717
|
const imageUrls = {};
|
|
5667
5718
|
const messages = props.messages ?? [];
|
|
@@ -5678,7 +5729,8 @@ function convertPropsToElements2(props) {
|
|
|
5678
5729
|
const calculatedMessages = calculateMessagePositions2(props);
|
|
5679
5730
|
const messageElements = generateMessageElements2(props, calculatedMessages);
|
|
5680
5731
|
const headerTextElements = generateHeaderTextElements(props, calculatedMessages);
|
|
5681
|
-
const
|
|
5732
|
+
const readReceiptElements = generateReadReceiptElement(props, calculatedMessages);
|
|
5733
|
+
const allElements = [...messageElements, ...headerTextElements, ...readReceiptElements];
|
|
5682
5734
|
allElements.sort((a, b) => (a.zIndex ?? 0) - (b.zIndex ?? 0));
|
|
5683
5735
|
const imageUrls = buildImageUrls2(props);
|
|
5684
5736
|
return {
|
|
@@ -5830,13 +5882,22 @@ var defaultIMessageDmProps = {
|
|
|
5830
5882
|
// Message area header text (above first message)
|
|
5831
5883
|
messageHeaderImessageText: "iMessage",
|
|
5832
5884
|
messageHeaderTimestampText: "Today 12:16 PM",
|
|
5833
|
-
messageHeaderTimestampGap:
|
|
5834
|
-
messageHeaderImessageGap:
|
|
5885
|
+
messageHeaderTimestampGap: 30,
|
|
5886
|
+
messageHeaderImessageGap: 5,
|
|
5835
5887
|
messageHeaderTextColor: "#626167",
|
|
5836
|
-
messageHeaderFontSize:
|
|
5837
|
-
messageHeaderLetterSpacing:
|
|
5888
|
+
messageHeaderFontSize: 34,
|
|
5889
|
+
messageHeaderLetterSpacing: 1.25,
|
|
5838
5890
|
messageHeaderLeft: 0,
|
|
5839
5891
|
messageHeaderRight: 1206,
|
|
5892
|
+
// Read receipt (under last sender message)
|
|
5893
|
+
showReadReceipt: true,
|
|
5894
|
+
readReceiptText: "Read 12:16 PM",
|
|
5895
|
+
readReceiptGap: 47,
|
|
5896
|
+
readReceiptFontSize: 34,
|
|
5897
|
+
readReceiptLetterSpacing: 1.25,
|
|
5898
|
+
readReceiptColor: "#626167",
|
|
5899
|
+
readReceiptLeft: 0,
|
|
5900
|
+
readReceiptRight: 1158,
|
|
5840
5901
|
// Example messages
|
|
5841
5902
|
messages: [
|
|
5842
5903
|
{ id: "msg-1", sender: "user", text: "heyyy fae, help me slide on this baddie pls \u{1F64F}", imageUrl: "https://n14dcpakf8w1fekl.public.blob.vercel-storage.com/media/06c3ed1c-eefb-4a60-b0c4-5fb872811ba0/pinterest-1766175214139-0-JpXmGIxVWdjEJ3qxGyoC4DAi2KAZrg.jpg" },
|
|
@@ -7078,6 +7139,15 @@ var iMessageDmPropsSchema = import_zod.z.object({
|
|
|
7078
7139
|
messageHeaderLetterSpacing: import_zod.z.number().optional(),
|
|
7079
7140
|
messageHeaderLeft: import_zod.z.number().optional(),
|
|
7080
7141
|
messageHeaderRight: import_zod.z.number().optional(),
|
|
7142
|
+
// Read receipt
|
|
7143
|
+
showReadReceipt: import_zod.z.boolean().optional(),
|
|
7144
|
+
readReceiptText: import_zod.z.string().optional(),
|
|
7145
|
+
readReceiptGap: import_zod.z.number().optional(),
|
|
7146
|
+
readReceiptFontSize: import_zod.z.number().optional(),
|
|
7147
|
+
readReceiptLetterSpacing: import_zod.z.number().optional(),
|
|
7148
|
+
readReceiptColor: import_zod.z.string().optional(),
|
|
7149
|
+
readReceiptLeft: import_zod.z.number().optional(),
|
|
7150
|
+
readReceiptRight: import_zod.z.number().optional(),
|
|
7081
7151
|
// Messages
|
|
7082
7152
|
messages: import_zod.z.array(import_zod.z.object({
|
|
7083
7153
|
id: import_zod.z.string(),
|
package/dist/index.mjs
CHANGED
|
@@ -4343,13 +4343,22 @@ var MESSAGE_DEFAULTS2 = {
|
|
|
4343
4343
|
// Message area header text (above first message)
|
|
4344
4344
|
messageHeaderImessageText: "iMessage",
|
|
4345
4345
|
messageHeaderTimestampText: "Today 12:16 PM",
|
|
4346
|
-
messageHeaderTimestampGap:
|
|
4347
|
-
messageHeaderImessageGap:
|
|
4346
|
+
messageHeaderTimestampGap: 30,
|
|
4347
|
+
messageHeaderImessageGap: 5,
|
|
4348
4348
|
messageHeaderTextColor: "#626167",
|
|
4349
|
-
messageHeaderFontSize:
|
|
4350
|
-
messageHeaderLetterSpacing:
|
|
4349
|
+
messageHeaderFontSize: 34,
|
|
4350
|
+
messageHeaderLetterSpacing: 1.25,
|
|
4351
4351
|
messageHeaderLeft: 0,
|
|
4352
|
-
messageHeaderRight: 1206
|
|
4352
|
+
messageHeaderRight: 1206,
|
|
4353
|
+
// Read receipt (under last sender message)
|
|
4354
|
+
showReadReceipt: true,
|
|
4355
|
+
readReceiptText: "Read 12:16 PM",
|
|
4356
|
+
readReceiptGap: 47,
|
|
4357
|
+
readReceiptFontSize: 34,
|
|
4358
|
+
readReceiptLetterSpacing: 1.25,
|
|
4359
|
+
readReceiptColor: "#626167",
|
|
4360
|
+
readReceiptLeft: 0,
|
|
4361
|
+
readReceiptRight: 1158
|
|
4353
4362
|
};
|
|
4354
4363
|
var FONT_FAMILY2 = getFontFamily("apple");
|
|
4355
4364
|
function calculateAutoWidthAndLines3({
|
|
@@ -4708,6 +4717,48 @@ function generateHeaderTextElements(props, calculatedMessages) {
|
|
|
4708
4717
|
});
|
|
4709
4718
|
return elements;
|
|
4710
4719
|
}
|
|
4720
|
+
function generateReadReceiptElement(props, calculatedMessages) {
|
|
4721
|
+
const showReadReceipt = props.showReadReceipt ?? MESSAGE_DEFAULTS2.showReadReceipt;
|
|
4722
|
+
if (!showReadReceipt) {
|
|
4723
|
+
return [];
|
|
4724
|
+
}
|
|
4725
|
+
let lastSenderMessage = null;
|
|
4726
|
+
for (let i = calculatedMessages.length - 1; i >= 0; i--) {
|
|
4727
|
+
if (calculatedMessages[i].message.sender === "user") {
|
|
4728
|
+
lastSenderMessage = calculatedMessages[i];
|
|
4729
|
+
break;
|
|
4730
|
+
}
|
|
4731
|
+
}
|
|
4732
|
+
if (!lastSenderMessage) {
|
|
4733
|
+
return [];
|
|
4734
|
+
}
|
|
4735
|
+
const readReceiptText = props.readReceiptText ?? MESSAGE_DEFAULTS2.readReceiptText;
|
|
4736
|
+
const readReceiptGap = props.readReceiptGap ?? MESSAGE_DEFAULTS2.readReceiptGap;
|
|
4737
|
+
const readReceiptFontSize = props.readReceiptFontSize ?? MESSAGE_DEFAULTS2.readReceiptFontSize;
|
|
4738
|
+
const readReceiptLetterSpacing = props.readReceiptLetterSpacing ?? MESSAGE_DEFAULTS2.readReceiptLetterSpacing;
|
|
4739
|
+
const readReceiptColor = props.readReceiptColor ?? MESSAGE_DEFAULTS2.readReceiptColor;
|
|
4740
|
+
const readReceiptLeft = props.readReceiptLeft ?? MESSAGE_DEFAULTS2.readReceiptLeft;
|
|
4741
|
+
const readReceiptRight = props.readReceiptRight ?? MESSAGE_DEFAULTS2.readReceiptRight;
|
|
4742
|
+
const readReceiptWidth = readReceiptRight - readReceiptLeft;
|
|
4743
|
+
const readReceiptTop = lastSenderMessage.bottom + readReceiptGap - readReceiptFontSize;
|
|
4744
|
+
return [{
|
|
4745
|
+
id: "read-receipt",
|
|
4746
|
+
type: "text",
|
|
4747
|
+
x: readReceiptLeft,
|
|
4748
|
+
y: readReceiptTop,
|
|
4749
|
+
width: readReceiptWidth,
|
|
4750
|
+
height: readReceiptFontSize,
|
|
4751
|
+
zIndex: 4,
|
|
4752
|
+
text: readReceiptText,
|
|
4753
|
+
font: "apple",
|
|
4754
|
+
fontWeight: 600,
|
|
4755
|
+
fontSize: readReceiptFontSize,
|
|
4756
|
+
letterSpacing: readReceiptLetterSpacing,
|
|
4757
|
+
color: readReceiptColor,
|
|
4758
|
+
textAlign: "right",
|
|
4759
|
+
verticalAlign: "middle"
|
|
4760
|
+
}];
|
|
4761
|
+
}
|
|
4711
4762
|
function buildImageUrls2(props) {
|
|
4712
4763
|
const imageUrls = {};
|
|
4713
4764
|
const messages = props.messages ?? [];
|
|
@@ -4724,7 +4775,8 @@ function convertPropsToElements2(props) {
|
|
|
4724
4775
|
const calculatedMessages = calculateMessagePositions2(props);
|
|
4725
4776
|
const messageElements = generateMessageElements2(props, calculatedMessages);
|
|
4726
4777
|
const headerTextElements = generateHeaderTextElements(props, calculatedMessages);
|
|
4727
|
-
const
|
|
4778
|
+
const readReceiptElements = generateReadReceiptElement(props, calculatedMessages);
|
|
4779
|
+
const allElements = [...messageElements, ...headerTextElements, ...readReceiptElements];
|
|
4728
4780
|
allElements.sort((a, b) => (a.zIndex ?? 0) - (b.zIndex ?? 0));
|
|
4729
4781
|
const imageUrls = buildImageUrls2(props);
|
|
4730
4782
|
return {
|
|
@@ -4876,13 +4928,22 @@ var defaultIMessageDmProps = {
|
|
|
4876
4928
|
// Message area header text (above first message)
|
|
4877
4929
|
messageHeaderImessageText: "iMessage",
|
|
4878
4930
|
messageHeaderTimestampText: "Today 12:16 PM",
|
|
4879
|
-
messageHeaderTimestampGap:
|
|
4880
|
-
messageHeaderImessageGap:
|
|
4931
|
+
messageHeaderTimestampGap: 30,
|
|
4932
|
+
messageHeaderImessageGap: 5,
|
|
4881
4933
|
messageHeaderTextColor: "#626167",
|
|
4882
|
-
messageHeaderFontSize:
|
|
4883
|
-
messageHeaderLetterSpacing:
|
|
4934
|
+
messageHeaderFontSize: 34,
|
|
4935
|
+
messageHeaderLetterSpacing: 1.25,
|
|
4884
4936
|
messageHeaderLeft: 0,
|
|
4885
4937
|
messageHeaderRight: 1206,
|
|
4938
|
+
// Read receipt (under last sender message)
|
|
4939
|
+
showReadReceipt: true,
|
|
4940
|
+
readReceiptText: "Read 12:16 PM",
|
|
4941
|
+
readReceiptGap: 47,
|
|
4942
|
+
readReceiptFontSize: 34,
|
|
4943
|
+
readReceiptLetterSpacing: 1.25,
|
|
4944
|
+
readReceiptColor: "#626167",
|
|
4945
|
+
readReceiptLeft: 0,
|
|
4946
|
+
readReceiptRight: 1158,
|
|
4886
4947
|
// Example messages
|
|
4887
4948
|
messages: [
|
|
4888
4949
|
{ id: "msg-1", sender: "user", text: "heyyy fae, help me slide on this baddie pls \u{1F64F}", imageUrl: "https://n14dcpakf8w1fekl.public.blob.vercel-storage.com/media/06c3ed1c-eefb-4a60-b0c4-5fb872811ba0/pinterest-1766175214139-0-JpXmGIxVWdjEJ3qxGyoC4DAi2KAZrg.jpg" },
|
|
@@ -5841,6 +5902,15 @@ var iMessageDmPropsSchema = z.object({
|
|
|
5841
5902
|
messageHeaderLetterSpacing: z.number().optional(),
|
|
5842
5903
|
messageHeaderLeft: z.number().optional(),
|
|
5843
5904
|
messageHeaderRight: z.number().optional(),
|
|
5905
|
+
// Read receipt
|
|
5906
|
+
showReadReceipt: z.boolean().optional(),
|
|
5907
|
+
readReceiptText: z.string().optional(),
|
|
5908
|
+
readReceiptGap: z.number().optional(),
|
|
5909
|
+
readReceiptFontSize: z.number().optional(),
|
|
5910
|
+
readReceiptLetterSpacing: z.number().optional(),
|
|
5911
|
+
readReceiptColor: z.string().optional(),
|
|
5912
|
+
readReceiptLeft: z.number().optional(),
|
|
5913
|
+
readReceiptRight: z.number().optional(),
|
|
5844
5914
|
// Messages
|
|
5845
5915
|
messages: z.array(z.object({
|
|
5846
5916
|
id: z.string(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugcinc-render",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.174",
|
|
4
4
|
"description": "Unified rendering package for UGC Inc - shared types, components, and compositions for pixel-perfect client/server rendering",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|