ugcinc-render 1.8.170 → 1.8.171

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,13 @@ 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;
1111
1118
  messages?: ImMessage[];
1112
1119
  }
1113
1120
 
package/dist/index.d.ts CHANGED
@@ -1108,6 +1108,13 @@ 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;
1111
1118
  messages?: ImMessage[];
1112
1119
  }
1113
1120
 
package/dist/index.js CHANGED
@@ -5293,7 +5293,15 @@ 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
5297
5305
  };
5298
5306
  var FONT_FAMILY2 = getFontFamily("apple");
5299
5307
  function calculateAutoWidthAndLines3({
@@ -5592,6 +5600,64 @@ function generateMessageElements2(props, calculatedMessages) {
5592
5600
  }
5593
5601
  return elements;
5594
5602
  }
5603
+ function generateHeaderTextElements(props, calculatedMessages) {
5604
+ if (calculatedMessages.length === 0) {
5605
+ return [];
5606
+ }
5607
+ const elements = [];
5608
+ const width = props.width ?? 1206;
5609
+ const messageHeaderImessageText = props.messageHeaderImessageText ?? MESSAGE_DEFAULTS2.messageHeaderImessageText;
5610
+ const messageHeaderTimestampText = props.messageHeaderTimestampText ?? MESSAGE_DEFAULTS2.messageHeaderTimestampText;
5611
+ const messageHeaderTimestampGap = props.messageHeaderTimestampGap ?? MESSAGE_DEFAULTS2.messageHeaderTimestampGap;
5612
+ const messageHeaderImessageGap = props.messageHeaderImessageGap ?? MESSAGE_DEFAULTS2.messageHeaderImessageGap;
5613
+ const messageHeaderTextColor = props.messageHeaderTextColor ?? MESSAGE_DEFAULTS2.messageHeaderTextColor;
5614
+ const messageHeaderFontSize = props.messageHeaderFontSize ?? MESSAGE_DEFAULTS2.messageHeaderFontSize;
5615
+ const messageHeaderLetterSpacing = props.messageHeaderLetterSpacing ?? MESSAGE_DEFAULTS2.messageHeaderLetterSpacing;
5616
+ const firstMessage = calculatedMessages[0];
5617
+ let firstMessageTop = firstMessage.top;
5618
+ if (firstMessage.imageY !== void 0) {
5619
+ firstMessageTop = firstMessage.imageY;
5620
+ }
5621
+ const timestampBottom = firstMessageTop - messageHeaderTimestampGap;
5622
+ const timestampTop = timestampBottom - messageHeaderFontSize;
5623
+ elements.push({
5624
+ id: "message-header-timestamp",
5625
+ type: "text",
5626
+ x: 0,
5627
+ y: timestampTop,
5628
+ width,
5629
+ height: messageHeaderFontSize,
5630
+ zIndex: 4,
5631
+ text: messageHeaderTimestampText,
5632
+ font: "apple",
5633
+ fontWeight: 400,
5634
+ fontSize: messageHeaderFontSize,
5635
+ letterSpacing: messageHeaderLetterSpacing,
5636
+ color: messageHeaderTextColor,
5637
+ textAlign: "center",
5638
+ verticalAlign: "middle"
5639
+ });
5640
+ const imessageBottom = timestampTop - messageHeaderImessageGap;
5641
+ const imessageTop = imessageBottom - messageHeaderFontSize;
5642
+ elements.push({
5643
+ id: "message-header-imessage",
5644
+ type: "text",
5645
+ x: 0,
5646
+ y: imessageTop,
5647
+ width,
5648
+ height: messageHeaderFontSize,
5649
+ zIndex: 4,
5650
+ text: messageHeaderImessageText,
5651
+ font: "apple",
5652
+ fontWeight: 400,
5653
+ fontSize: messageHeaderFontSize,
5654
+ letterSpacing: messageHeaderLetterSpacing,
5655
+ color: messageHeaderTextColor,
5656
+ textAlign: "center",
5657
+ verticalAlign: "middle"
5658
+ });
5659
+ return elements;
5660
+ }
5595
5661
  function buildImageUrls2(props) {
5596
5662
  const imageUrls = {};
5597
5663
  const messages = props.messages ?? [];
@@ -5607,10 +5673,12 @@ function convertPropsToElements2(props) {
5607
5673
  const height = props.height ?? 2622;
5608
5674
  const calculatedMessages = calculateMessagePositions2(props);
5609
5675
  const messageElements = generateMessageElements2(props, calculatedMessages);
5610
- messageElements.sort((a, b) => (a.zIndex ?? 0) - (b.zIndex ?? 0));
5676
+ const headerTextElements = generateHeaderTextElements(props, calculatedMessages);
5677
+ const allElements = [...messageElements, ...headerTextElements];
5678
+ allElements.sort((a, b) => (a.zIndex ?? 0) - (b.zIndex ?? 0));
5611
5679
  const imageUrls = buildImageUrls2(props);
5612
5680
  return {
5613
- elements: messageElements,
5681
+ elements: allElements,
5614
5682
  imageUrls,
5615
5683
  width,
5616
5684
  height
@@ -5641,7 +5709,7 @@ var defaultIMessageDmProps = {
5641
5709
  username: "aidan gollan",
5642
5710
  usernameTop: 355,
5643
5711
  usernameBottom: 404,
5644
- usernameLeft: 429,
5712
+ usernameLeft: 452,
5645
5713
  usernameRight: 752,
5646
5714
  usernameFontSize: 36,
5647
5715
  usernameLetterSpacing: 0.8,
@@ -5754,7 +5822,15 @@ var defaultIMessageDmProps = {
5754
5822
  senderImageLeft: 336,
5755
5823
  senderImageHeight: 1120,
5756
5824
  senderImageGapToText: 3,
5757
- senderImageBorderRadius: 30,
5825
+ senderImageBorderRadius: 51,
5826
+ // Message area header text (above first message)
5827
+ messageHeaderImessageText: "iMessage",
5828
+ messageHeaderTimestampText: "Today 12:16 PM",
5829
+ messageHeaderTimestampGap: 36,
5830
+ messageHeaderImessageGap: 39,
5831
+ messageHeaderTextColor: "#626167",
5832
+ messageHeaderFontSize: 36,
5833
+ messageHeaderLetterSpacing: 0.5,
5758
5834
  // Example messages
5759
5835
  messages: [
5760
5836
  { 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 +7062,14 @@ var iMessageDmPropsSchema = import_zod.z.object({
6986
7062
  senderImageHeight: import_zod.z.number().optional(),
6987
7063
  senderImageGapToText: import_zod.z.number().optional(),
6988
7064
  senderImageBorderRadius: import_zod.z.number().optional(),
7065
+ // Message area header text
7066
+ messageHeaderImessageText: import_zod.z.string().optional(),
7067
+ messageHeaderTimestampText: import_zod.z.string().optional(),
7068
+ messageHeaderTimestampGap: import_zod.z.number().optional(),
7069
+ messageHeaderImessageGap: import_zod.z.number().optional(),
7070
+ messageHeaderTextColor: import_zod.z.string().optional(),
7071
+ messageHeaderFontSize: import_zod.z.number().optional(),
7072
+ messageHeaderLetterSpacing: import_zod.z.number().optional(),
6989
7073
  // Messages
6990
7074
  messages: import_zod.z.array(import_zod.z.object({
6991
7075
  id: import_zod.z.string(),
package/dist/index.mjs CHANGED
@@ -4339,7 +4339,15 @@ 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
4343
4351
  };
4344
4352
  var FONT_FAMILY2 = getFontFamily("apple");
4345
4353
  function calculateAutoWidthAndLines3({
@@ -4638,6 +4646,64 @@ function generateMessageElements2(props, calculatedMessages) {
4638
4646
  }
4639
4647
  return elements;
4640
4648
  }
4649
+ function generateHeaderTextElements(props, calculatedMessages) {
4650
+ if (calculatedMessages.length === 0) {
4651
+ return [];
4652
+ }
4653
+ const elements = [];
4654
+ const width = props.width ?? 1206;
4655
+ const messageHeaderImessageText = props.messageHeaderImessageText ?? MESSAGE_DEFAULTS2.messageHeaderImessageText;
4656
+ const messageHeaderTimestampText = props.messageHeaderTimestampText ?? MESSAGE_DEFAULTS2.messageHeaderTimestampText;
4657
+ const messageHeaderTimestampGap = props.messageHeaderTimestampGap ?? MESSAGE_DEFAULTS2.messageHeaderTimestampGap;
4658
+ const messageHeaderImessageGap = props.messageHeaderImessageGap ?? MESSAGE_DEFAULTS2.messageHeaderImessageGap;
4659
+ const messageHeaderTextColor = props.messageHeaderTextColor ?? MESSAGE_DEFAULTS2.messageHeaderTextColor;
4660
+ const messageHeaderFontSize = props.messageHeaderFontSize ?? MESSAGE_DEFAULTS2.messageHeaderFontSize;
4661
+ const messageHeaderLetterSpacing = props.messageHeaderLetterSpacing ?? MESSAGE_DEFAULTS2.messageHeaderLetterSpacing;
4662
+ const firstMessage = calculatedMessages[0];
4663
+ let firstMessageTop = firstMessage.top;
4664
+ if (firstMessage.imageY !== void 0) {
4665
+ firstMessageTop = firstMessage.imageY;
4666
+ }
4667
+ const timestampBottom = firstMessageTop - messageHeaderTimestampGap;
4668
+ const timestampTop = timestampBottom - messageHeaderFontSize;
4669
+ elements.push({
4670
+ id: "message-header-timestamp",
4671
+ type: "text",
4672
+ x: 0,
4673
+ y: timestampTop,
4674
+ width,
4675
+ height: messageHeaderFontSize,
4676
+ zIndex: 4,
4677
+ text: messageHeaderTimestampText,
4678
+ font: "apple",
4679
+ fontWeight: 400,
4680
+ fontSize: messageHeaderFontSize,
4681
+ letterSpacing: messageHeaderLetterSpacing,
4682
+ color: messageHeaderTextColor,
4683
+ textAlign: "center",
4684
+ verticalAlign: "middle"
4685
+ });
4686
+ const imessageBottom = timestampTop - messageHeaderImessageGap;
4687
+ const imessageTop = imessageBottom - messageHeaderFontSize;
4688
+ elements.push({
4689
+ id: "message-header-imessage",
4690
+ type: "text",
4691
+ x: 0,
4692
+ y: imessageTop,
4693
+ width,
4694
+ height: messageHeaderFontSize,
4695
+ zIndex: 4,
4696
+ text: messageHeaderImessageText,
4697
+ font: "apple",
4698
+ fontWeight: 400,
4699
+ fontSize: messageHeaderFontSize,
4700
+ letterSpacing: messageHeaderLetterSpacing,
4701
+ color: messageHeaderTextColor,
4702
+ textAlign: "center",
4703
+ verticalAlign: "middle"
4704
+ });
4705
+ return elements;
4706
+ }
4641
4707
  function buildImageUrls2(props) {
4642
4708
  const imageUrls = {};
4643
4709
  const messages = props.messages ?? [];
@@ -4653,10 +4719,12 @@ function convertPropsToElements2(props) {
4653
4719
  const height = props.height ?? 2622;
4654
4720
  const calculatedMessages = calculateMessagePositions2(props);
4655
4721
  const messageElements = generateMessageElements2(props, calculatedMessages);
4656
- messageElements.sort((a, b) => (a.zIndex ?? 0) - (b.zIndex ?? 0));
4722
+ const headerTextElements = generateHeaderTextElements(props, calculatedMessages);
4723
+ const allElements = [...messageElements, ...headerTextElements];
4724
+ allElements.sort((a, b) => (a.zIndex ?? 0) - (b.zIndex ?? 0));
4657
4725
  const imageUrls = buildImageUrls2(props);
4658
4726
  return {
4659
- elements: messageElements,
4727
+ elements: allElements,
4660
4728
  imageUrls,
4661
4729
  width,
4662
4730
  height
@@ -4687,7 +4755,7 @@ var defaultIMessageDmProps = {
4687
4755
  username: "aidan gollan",
4688
4756
  usernameTop: 355,
4689
4757
  usernameBottom: 404,
4690
- usernameLeft: 429,
4758
+ usernameLeft: 452,
4691
4759
  usernameRight: 752,
4692
4760
  usernameFontSize: 36,
4693
4761
  usernameLetterSpacing: 0.8,
@@ -4800,7 +4868,15 @@ var defaultIMessageDmProps = {
4800
4868
  senderImageLeft: 336,
4801
4869
  senderImageHeight: 1120,
4802
4870
  senderImageGapToText: 3,
4803
- senderImageBorderRadius: 30,
4871
+ senderImageBorderRadius: 51,
4872
+ // Message area header text (above first message)
4873
+ messageHeaderImessageText: "iMessage",
4874
+ messageHeaderTimestampText: "Today 12:16 PM",
4875
+ messageHeaderTimestampGap: 36,
4876
+ messageHeaderImessageGap: 39,
4877
+ messageHeaderTextColor: "#626167",
4878
+ messageHeaderFontSize: 36,
4879
+ messageHeaderLetterSpacing: 0.5,
4804
4880
  // Example messages
4805
4881
  messages: [
4806
4882
  { 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 +5825,14 @@ var iMessageDmPropsSchema = z.object({
5749
5825
  senderImageHeight: z.number().optional(),
5750
5826
  senderImageGapToText: z.number().optional(),
5751
5827
  senderImageBorderRadius: z.number().optional(),
5828
+ // Message area header text
5829
+ messageHeaderImessageText: z.string().optional(),
5830
+ messageHeaderTimestampText: z.string().optional(),
5831
+ messageHeaderTimestampGap: z.number().optional(),
5832
+ messageHeaderImessageGap: z.number().optional(),
5833
+ messageHeaderTextColor: z.string().optional(),
5834
+ messageHeaderFontSize: z.number().optional(),
5835
+ messageHeaderLetterSpacing: z.number().optional(),
5752
5836
  // Messages
5753
5837
  messages: z.array(z.object({
5754
5838
  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.171",
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",