ugcinc-render 1.8.170 → 1.8.172

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 CHANGED
@@ -1108,6 +1108,15 @@ interface IMessageDmCompositionProps {
1108
1108
  senderImageHeight?: number;
1109
1109
  senderImageGapToText?: number;
1110
1110
  senderImageBorderRadius?: number;
1111
+ messageHeaderImessageText?: string;
1112
+ messageHeaderTimestampText?: string;
1113
+ messageHeaderTimestampGap?: number;
1114
+ messageHeaderImessageGap?: number;
1115
+ messageHeaderTextColor?: string;
1116
+ messageHeaderFontSize?: number;
1117
+ messageHeaderLetterSpacing?: number;
1118
+ messageHeaderLeft?: number;
1119
+ messageHeaderRight?: number;
1111
1120
  messages?: ImMessage[];
1112
1121
  }
1113
1122
 
package/dist/index.d.ts CHANGED
@@ -1108,6 +1108,15 @@ interface IMessageDmCompositionProps {
1108
1108
  senderImageHeight?: number;
1109
1109
  senderImageGapToText?: number;
1110
1110
  senderImageBorderRadius?: number;
1111
+ messageHeaderImessageText?: string;
1112
+ messageHeaderTimestampText?: string;
1113
+ messageHeaderTimestampGap?: number;
1114
+ messageHeaderImessageGap?: number;
1115
+ messageHeaderTextColor?: string;
1116
+ messageHeaderFontSize?: number;
1117
+ messageHeaderLetterSpacing?: number;
1118
+ messageHeaderLeft?: number;
1119
+ messageHeaderRight?: number;
1111
1120
  messages?: ImMessage[];
1112
1121
  }
1113
1122
 
package/dist/index.js CHANGED
@@ -5293,7 +5293,17 @@ var MESSAGE_DEFAULTS2 = {
5293
5293
  senderImageLeft: 336,
5294
5294
  senderImageHeight: 1120,
5295
5295
  senderImageGapToText: 3,
5296
- senderImageBorderRadius: 30
5296
+ senderImageBorderRadius: 51,
5297
+ // Message area header text (above first message)
5298
+ messageHeaderImessageText: "iMessage",
5299
+ messageHeaderTimestampText: "Today 12:16 PM",
5300
+ messageHeaderTimestampGap: 36,
5301
+ messageHeaderImessageGap: 39,
5302
+ messageHeaderTextColor: "#626167",
5303
+ messageHeaderFontSize: 36,
5304
+ messageHeaderLetterSpacing: 0.5,
5305
+ messageHeaderLeft: 0,
5306
+ messageHeaderRight: 1206
5297
5307
  };
5298
5308
  var FONT_FAMILY2 = getFontFamily("apple");
5299
5309
  function calculateAutoWidthAndLines3({
@@ -5592,6 +5602,66 @@ function generateMessageElements2(props, calculatedMessages) {
5592
5602
  }
5593
5603
  return elements;
5594
5604
  }
5605
+ function generateHeaderTextElements(props, calculatedMessages) {
5606
+ if (calculatedMessages.length === 0) {
5607
+ return [];
5608
+ }
5609
+ const elements = [];
5610
+ const messageHeaderImessageText = props.messageHeaderImessageText ?? MESSAGE_DEFAULTS2.messageHeaderImessageText;
5611
+ const messageHeaderTimestampText = props.messageHeaderTimestampText ?? MESSAGE_DEFAULTS2.messageHeaderTimestampText;
5612
+ const messageHeaderTimestampGap = props.messageHeaderTimestampGap ?? MESSAGE_DEFAULTS2.messageHeaderTimestampGap;
5613
+ const messageHeaderImessageGap = props.messageHeaderImessageGap ?? MESSAGE_DEFAULTS2.messageHeaderImessageGap;
5614
+ const messageHeaderTextColor = props.messageHeaderTextColor ?? MESSAGE_DEFAULTS2.messageHeaderTextColor;
5615
+ const messageHeaderFontSize = props.messageHeaderFontSize ?? MESSAGE_DEFAULTS2.messageHeaderFontSize;
5616
+ const messageHeaderLetterSpacing = props.messageHeaderLetterSpacing ?? MESSAGE_DEFAULTS2.messageHeaderLetterSpacing;
5617
+ const messageHeaderLeft = props.messageHeaderLeft ?? MESSAGE_DEFAULTS2.messageHeaderLeft;
5618
+ const messageHeaderRight = props.messageHeaderRight ?? MESSAGE_DEFAULTS2.messageHeaderRight;
5619
+ const messageHeaderWidth = messageHeaderRight - messageHeaderLeft;
5620
+ const firstMessage = calculatedMessages[0];
5621
+ let firstMessageTop = firstMessage.top;
5622
+ if (firstMessage.imageY !== void 0) {
5623
+ firstMessageTop = firstMessage.imageY;
5624
+ }
5625
+ const timestampBottom = firstMessageTop - messageHeaderTimestampGap;
5626
+ const timestampTop = timestampBottom - messageHeaderFontSize;
5627
+ elements.push({
5628
+ id: "message-header-timestamp",
5629
+ type: "text",
5630
+ x: messageHeaderLeft,
5631
+ y: timestampTop,
5632
+ width: messageHeaderWidth,
5633
+ height: messageHeaderFontSize,
5634
+ zIndex: 4,
5635
+ text: messageHeaderTimestampText,
5636
+ font: "apple",
5637
+ fontWeight: 400,
5638
+ fontSize: messageHeaderFontSize,
5639
+ letterSpacing: messageHeaderLetterSpacing,
5640
+ color: messageHeaderTextColor,
5641
+ textAlign: "center",
5642
+ verticalAlign: "middle"
5643
+ });
5644
+ const imessageBottom = timestampTop - messageHeaderImessageGap;
5645
+ const imessageTop = imessageBottom - messageHeaderFontSize;
5646
+ elements.push({
5647
+ id: "message-header-imessage",
5648
+ type: "text",
5649
+ x: messageHeaderLeft,
5650
+ y: imessageTop,
5651
+ width: messageHeaderWidth,
5652
+ height: messageHeaderFontSize,
5653
+ zIndex: 4,
5654
+ text: messageHeaderImessageText,
5655
+ font: "apple",
5656
+ fontWeight: 400,
5657
+ fontSize: messageHeaderFontSize,
5658
+ letterSpacing: messageHeaderLetterSpacing,
5659
+ color: messageHeaderTextColor,
5660
+ textAlign: "center",
5661
+ verticalAlign: "middle"
5662
+ });
5663
+ return elements;
5664
+ }
5595
5665
  function buildImageUrls2(props) {
5596
5666
  const imageUrls = {};
5597
5667
  const messages = props.messages ?? [];
@@ -5607,10 +5677,12 @@ function convertPropsToElements2(props) {
5607
5677
  const height = props.height ?? 2622;
5608
5678
  const calculatedMessages = calculateMessagePositions2(props);
5609
5679
  const messageElements = generateMessageElements2(props, calculatedMessages);
5610
- messageElements.sort((a, b) => (a.zIndex ?? 0) - (b.zIndex ?? 0));
5680
+ const headerTextElements = generateHeaderTextElements(props, calculatedMessages);
5681
+ const allElements = [...messageElements, ...headerTextElements];
5682
+ allElements.sort((a, b) => (a.zIndex ?? 0) - (b.zIndex ?? 0));
5611
5683
  const imageUrls = buildImageUrls2(props);
5612
5684
  return {
5613
- elements: messageElements,
5685
+ elements: allElements,
5614
5686
  imageUrls,
5615
5687
  width,
5616
5688
  height
@@ -5641,7 +5713,7 @@ var defaultIMessageDmProps = {
5641
5713
  username: "aidan gollan",
5642
5714
  usernameTop: 355,
5643
5715
  usernameBottom: 404,
5644
- usernameLeft: 429,
5716
+ usernameLeft: 452,
5645
5717
  usernameRight: 752,
5646
5718
  usernameFontSize: 36,
5647
5719
  usernameLetterSpacing: 0.8,
@@ -5754,7 +5826,17 @@ var defaultIMessageDmProps = {
5754
5826
  senderImageLeft: 336,
5755
5827
  senderImageHeight: 1120,
5756
5828
  senderImageGapToText: 3,
5757
- senderImageBorderRadius: 30,
5829
+ senderImageBorderRadius: 51,
5830
+ // Message area header text (above first message)
5831
+ messageHeaderImessageText: "iMessage",
5832
+ messageHeaderTimestampText: "Today 12:16 PM",
5833
+ messageHeaderTimestampGap: 36,
5834
+ messageHeaderImessageGap: 39,
5835
+ messageHeaderTextColor: "#626167",
5836
+ messageHeaderFontSize: 36,
5837
+ messageHeaderLetterSpacing: 0.5,
5838
+ messageHeaderLeft: 0,
5839
+ messageHeaderRight: 1206,
5758
5840
  // Example messages
5759
5841
  messages: [
5760
5842
  { 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" },
@@ -6986,6 +7068,16 @@ var iMessageDmPropsSchema = import_zod.z.object({
6986
7068
  senderImageHeight: import_zod.z.number().optional(),
6987
7069
  senderImageGapToText: import_zod.z.number().optional(),
6988
7070
  senderImageBorderRadius: import_zod.z.number().optional(),
7071
+ // Message area header text
7072
+ messageHeaderImessageText: import_zod.z.string().optional(),
7073
+ messageHeaderTimestampText: import_zod.z.string().optional(),
7074
+ messageHeaderTimestampGap: import_zod.z.number().optional(),
7075
+ messageHeaderImessageGap: import_zod.z.number().optional(),
7076
+ messageHeaderTextColor: import_zod.z.string().optional(),
7077
+ messageHeaderFontSize: import_zod.z.number().optional(),
7078
+ messageHeaderLetterSpacing: import_zod.z.number().optional(),
7079
+ messageHeaderLeft: import_zod.z.number().optional(),
7080
+ messageHeaderRight: import_zod.z.number().optional(),
6989
7081
  // Messages
6990
7082
  messages: import_zod.z.array(import_zod.z.object({
6991
7083
  id: import_zod.z.string(),
package/dist/index.mjs CHANGED
@@ -4339,7 +4339,17 @@ var MESSAGE_DEFAULTS2 = {
4339
4339
  senderImageLeft: 336,
4340
4340
  senderImageHeight: 1120,
4341
4341
  senderImageGapToText: 3,
4342
- senderImageBorderRadius: 30
4342
+ senderImageBorderRadius: 51,
4343
+ // Message area header text (above first message)
4344
+ messageHeaderImessageText: "iMessage",
4345
+ messageHeaderTimestampText: "Today 12:16 PM",
4346
+ messageHeaderTimestampGap: 36,
4347
+ messageHeaderImessageGap: 39,
4348
+ messageHeaderTextColor: "#626167",
4349
+ messageHeaderFontSize: 36,
4350
+ messageHeaderLetterSpacing: 0.5,
4351
+ messageHeaderLeft: 0,
4352
+ messageHeaderRight: 1206
4343
4353
  };
4344
4354
  var FONT_FAMILY2 = getFontFamily("apple");
4345
4355
  function calculateAutoWidthAndLines3({
@@ -4638,6 +4648,66 @@ function generateMessageElements2(props, calculatedMessages) {
4638
4648
  }
4639
4649
  return elements;
4640
4650
  }
4651
+ function generateHeaderTextElements(props, calculatedMessages) {
4652
+ if (calculatedMessages.length === 0) {
4653
+ return [];
4654
+ }
4655
+ const elements = [];
4656
+ const messageHeaderImessageText = props.messageHeaderImessageText ?? MESSAGE_DEFAULTS2.messageHeaderImessageText;
4657
+ const messageHeaderTimestampText = props.messageHeaderTimestampText ?? MESSAGE_DEFAULTS2.messageHeaderTimestampText;
4658
+ const messageHeaderTimestampGap = props.messageHeaderTimestampGap ?? MESSAGE_DEFAULTS2.messageHeaderTimestampGap;
4659
+ const messageHeaderImessageGap = props.messageHeaderImessageGap ?? MESSAGE_DEFAULTS2.messageHeaderImessageGap;
4660
+ const messageHeaderTextColor = props.messageHeaderTextColor ?? MESSAGE_DEFAULTS2.messageHeaderTextColor;
4661
+ const messageHeaderFontSize = props.messageHeaderFontSize ?? MESSAGE_DEFAULTS2.messageHeaderFontSize;
4662
+ const messageHeaderLetterSpacing = props.messageHeaderLetterSpacing ?? MESSAGE_DEFAULTS2.messageHeaderLetterSpacing;
4663
+ const messageHeaderLeft = props.messageHeaderLeft ?? MESSAGE_DEFAULTS2.messageHeaderLeft;
4664
+ const messageHeaderRight = props.messageHeaderRight ?? MESSAGE_DEFAULTS2.messageHeaderRight;
4665
+ const messageHeaderWidth = messageHeaderRight - messageHeaderLeft;
4666
+ const firstMessage = calculatedMessages[0];
4667
+ let firstMessageTop = firstMessage.top;
4668
+ if (firstMessage.imageY !== void 0) {
4669
+ firstMessageTop = firstMessage.imageY;
4670
+ }
4671
+ const timestampBottom = firstMessageTop - messageHeaderTimestampGap;
4672
+ const timestampTop = timestampBottom - messageHeaderFontSize;
4673
+ elements.push({
4674
+ id: "message-header-timestamp",
4675
+ type: "text",
4676
+ x: messageHeaderLeft,
4677
+ y: timestampTop,
4678
+ width: messageHeaderWidth,
4679
+ height: messageHeaderFontSize,
4680
+ zIndex: 4,
4681
+ text: messageHeaderTimestampText,
4682
+ font: "apple",
4683
+ fontWeight: 400,
4684
+ fontSize: messageHeaderFontSize,
4685
+ letterSpacing: messageHeaderLetterSpacing,
4686
+ color: messageHeaderTextColor,
4687
+ textAlign: "center",
4688
+ verticalAlign: "middle"
4689
+ });
4690
+ const imessageBottom = timestampTop - messageHeaderImessageGap;
4691
+ const imessageTop = imessageBottom - messageHeaderFontSize;
4692
+ elements.push({
4693
+ id: "message-header-imessage",
4694
+ type: "text",
4695
+ x: messageHeaderLeft,
4696
+ y: imessageTop,
4697
+ width: messageHeaderWidth,
4698
+ height: messageHeaderFontSize,
4699
+ zIndex: 4,
4700
+ text: messageHeaderImessageText,
4701
+ font: "apple",
4702
+ fontWeight: 400,
4703
+ fontSize: messageHeaderFontSize,
4704
+ letterSpacing: messageHeaderLetterSpacing,
4705
+ color: messageHeaderTextColor,
4706
+ textAlign: "center",
4707
+ verticalAlign: "middle"
4708
+ });
4709
+ return elements;
4710
+ }
4641
4711
  function buildImageUrls2(props) {
4642
4712
  const imageUrls = {};
4643
4713
  const messages = props.messages ?? [];
@@ -4653,10 +4723,12 @@ function convertPropsToElements2(props) {
4653
4723
  const height = props.height ?? 2622;
4654
4724
  const calculatedMessages = calculateMessagePositions2(props);
4655
4725
  const messageElements = generateMessageElements2(props, calculatedMessages);
4656
- messageElements.sort((a, b) => (a.zIndex ?? 0) - (b.zIndex ?? 0));
4726
+ const headerTextElements = generateHeaderTextElements(props, calculatedMessages);
4727
+ const allElements = [...messageElements, ...headerTextElements];
4728
+ allElements.sort((a, b) => (a.zIndex ?? 0) - (b.zIndex ?? 0));
4657
4729
  const imageUrls = buildImageUrls2(props);
4658
4730
  return {
4659
- elements: messageElements,
4731
+ elements: allElements,
4660
4732
  imageUrls,
4661
4733
  width,
4662
4734
  height
@@ -4687,7 +4759,7 @@ var defaultIMessageDmProps = {
4687
4759
  username: "aidan gollan",
4688
4760
  usernameTop: 355,
4689
4761
  usernameBottom: 404,
4690
- usernameLeft: 429,
4762
+ usernameLeft: 452,
4691
4763
  usernameRight: 752,
4692
4764
  usernameFontSize: 36,
4693
4765
  usernameLetterSpacing: 0.8,
@@ -4800,7 +4872,17 @@ var defaultIMessageDmProps = {
4800
4872
  senderImageLeft: 336,
4801
4873
  senderImageHeight: 1120,
4802
4874
  senderImageGapToText: 3,
4803
- senderImageBorderRadius: 30,
4875
+ senderImageBorderRadius: 51,
4876
+ // Message area header text (above first message)
4877
+ messageHeaderImessageText: "iMessage",
4878
+ messageHeaderTimestampText: "Today 12:16 PM",
4879
+ messageHeaderTimestampGap: 36,
4880
+ messageHeaderImessageGap: 39,
4881
+ messageHeaderTextColor: "#626167",
4882
+ messageHeaderFontSize: 36,
4883
+ messageHeaderLetterSpacing: 0.5,
4884
+ messageHeaderLeft: 0,
4885
+ messageHeaderRight: 1206,
4804
4886
  // Example messages
4805
4887
  messages: [
4806
4888
  { 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" },
@@ -5749,6 +5831,16 @@ var iMessageDmPropsSchema = z.object({
5749
5831
  senderImageHeight: z.number().optional(),
5750
5832
  senderImageGapToText: z.number().optional(),
5751
5833
  senderImageBorderRadius: z.number().optional(),
5834
+ // Message area header text
5835
+ messageHeaderImessageText: z.string().optional(),
5836
+ messageHeaderTimestampText: z.string().optional(),
5837
+ messageHeaderTimestampGap: z.number().optional(),
5838
+ messageHeaderImessageGap: z.number().optional(),
5839
+ messageHeaderTextColor: z.string().optional(),
5840
+ messageHeaderFontSize: z.number().optional(),
5841
+ messageHeaderLetterSpacing: z.number().optional(),
5842
+ messageHeaderLeft: z.number().optional(),
5843
+ messageHeaderRight: z.number().optional(),
5752
5844
  // Messages
5753
5845
  messages: z.array(z.object({
5754
5846
  id: z.string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugcinc-render",
3
- "version": "1.8.170",
3
+ "version": "1.8.172",
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",