@kgalexander/mcreate 0.0.9 → 0.0.11

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.mjs CHANGED
@@ -50,10 +50,6 @@ import {
50
50
  TooltipTrigger,
51
51
  cn,
52
52
  formatBorder,
53
- formatNumber,
54
- formatOpenHouseDate,
55
- formatOpenHouseTime,
56
- formatPrice,
57
53
  getElementDisplayName,
58
54
  getParentByIdx,
59
55
  getParentIdx,
@@ -65,7 +61,7 @@ import {
65
61
  useEditorStore,
66
62
  useSidebarContext,
67
63
  useUser
68
- } from "./chunk-Y52MW7DH.mjs";
64
+ } from "./chunk-TDZCSKBT.mjs";
69
65
 
70
66
  // src/core/editor/components/email-template-v2/header.tsx
71
67
  import { ArrowLeftIcon, CopyIcon, MegaphoneIcon, MoreHorizontalIcon, PencilIcon, TrashIcon } from "lucide-react";
@@ -7814,7 +7810,7 @@ function useAutoSave() {
7814
7810
  // src/core/editor/components/email-template-v2/template-page.tsx
7815
7811
  import "react-json-view-lite/dist/index.css";
7816
7812
  import { jsx as jsx67, jsxs as jsxs52 } from "react/jsx-runtime";
7817
- var Editor2 = lazy(() => import("./core-C5QQJGQ7.mjs").then((module) => ({
7813
+ var Editor2 = lazy(() => import("./core-F5E63TCH.mjs").then((module) => ({
7818
7814
  default: module.Editor
7819
7815
  })));
7820
7816
  function TemplatePage({
@@ -7885,760 +7881,8 @@ function TemplatePage({
7885
7881
  }
7886
7882
  ) });
7887
7883
  }
7888
-
7889
- // src/mjml-components/property-better/index.ts
7890
- import { BodyComponent } from "mjml-core";
7891
- var MjColproperty = class extends BodyComponent {
7892
- constructor() {
7893
- super(...arguments);
7894
- this.componentHeadStyle = (breakpoint) => `
7895
- @media only screen and (max-width:${breakpoint}) {
7896
- .property-better-image-row,
7897
- .property-better-content-row {
7898
- width: 100% !important;
7899
- }
7900
- }
7901
- `;
7902
- }
7903
- render() {
7904
- const href = this.getAttribute("href");
7905
- const price = formatPrice(this.getAttribute("price"));
7906
- const address = this.getAttribute("address");
7907
- const city = this.getAttribute("city");
7908
- const beds = formatNumber(this.getAttribute("beds"));
7909
- const baths = formatNumber(this.getAttribute("baths"));
7910
- const sqft = formatNumber(this.getAttribute("sqft"));
7911
- const description = this.getAttribute("description");
7912
- const imageSrc = this.getAttribute("image-src");
7913
- const imageAlt = this.getAttribute("image-alt");
7914
- const status = this.getAttribute("status");
7915
- const statusColor = this.getAttribute("status-color");
7916
- const isNew = this.getAttribute("is-new");
7917
- const brokerage = this.getAttribute("brokerage");
7918
- const mlsLogo = this.getAttribute("mls-logo");
7919
- const width = this.getAttribute("width");
7920
- const borderRadius = this.getAttribute("border-radius");
7921
- const isOpenHouse = this.getAttribute("is-open-house");
7922
- const rawDate = this.getAttribute("open-house-date");
7923
- const rawTime = this.getAttribute("open-house-time");
7924
- const openHouseDate = formatOpenHouseDate(rawDate);
7925
- const [startTime, endTime] = rawTime ? rawTime.split("-") : ["", ""];
7926
- const openHouseTime = startTime && endTime ? `${formatOpenHouseTime(startTime)}-${formatOpenHouseTime(endTime)}` : "";
7927
- const fontFamily = this.getAttribute("font-family");
7928
- const textColor = this.getAttribute("text-color");
7929
- const isDescription = this.getAttribute("is-description");
7930
- const isBrokerage = this.getAttribute("is-brokerage");
7931
- const isStatus = this.getAttribute("is-status");
7932
- const border = parseBorder(this.getAttribute("border"));
7933
- const strokeWeight = border.width;
7934
- const borderRadiusNum = parseInt(borderRadius, 10) || 0;
7935
- const innerBorderRadius = `${Math.max(0, borderRadiusNum - strokeWeight)}px`;
7936
- const imageWidth = "100%";
7937
- const mlsLogoWidth = "32px";
7938
- const mlsLogoHtml = mlsLogo ? `
7939
- <tr>
7940
- <td colspan="2" align="right" valign="bottom" style="height:${mlsLogoWidth};padding:0 4px 4px 0">
7941
- <img src="${mlsLogo}" border="0" alt="MLS Logo" style="display:block;font-weight:700;font-size:14px;color:#0041d9;height:${mlsLogoWidth};width:${mlsLogoWidth};border-radius:4px" class="CToWUd" data-bit="iit" width="100%">
7942
- </td>
7943
- </tr>
7944
- ` : "";
7945
- const statusBadge = `
7946
- <table role="presentation" cellpadding="0" cellspacing="0" border="0" style="margin-left:8px">
7947
- <tbody>
7948
- <tr>
7949
- ${isStatus ? `
7950
- <td valign="top">
7951
- <span class="property-status-badge" style="display:table;background-color:#fffffe;border-radius:${borderRadius};font-weight:700;font-size:12px;line-height:1.5em;letter-spacing:0.0012em;margin:0;padding:1px 0;"><i style="letter-spacing:3px">&nbsp;</i><span style="color:${statusColor};font-size:18px;line-height:1;vertical-align:-1px;">\u25CF</span>&nbsp;<span style="color:#111116;">${status}</span><i style="letter-spacing:5px">&nbsp;</i></span>
7952
- </td>
7953
- ` : ""}
7954
- ${isNew ? `
7955
- ${isStatus ? `<td width="4" style="font-size:0px;line-height:0px">&nbsp;</td>` : ""}
7956
- <td valign="top">
7957
- <span class="property-new-badge" style="display:table;background-color:#d03c0b;border-radius:${borderRadius};font-weight:700;font-size:12px;line-height:1.5em;letter-spacing:0.0012em;margin:0;padding:2px 0 1px 0"><i style="letter-spacing:5px">&nbsp;</i><span style="color:#ffffff">New</span><i style="letter-spacing:5px">&nbsp;</i></span>
7958
- </td>
7959
- ` : ""}
7960
- </tr>
7961
- </tbody>
7962
- </table>
7963
- `;
7964
- const openHouseHtml = isOpenHouse ? `
7965
- <tr>
7966
- <td>
7967
- <table>
7968
- <tbody>
7969
- <tr>
7970
- <td valign="top" align="right" style="padding:3px 4px 8px 0px;font-size:0">
7971
- <img src="https://www.clipartmax.com/png/small/2-21103_home-house-silhouette-icon-building-transparent-background-home-icon.png" border="0" alt="House Icon" width="16" style="display:block;font-weight:700;font-size:14px;color:#2a2a33" class="CToWUd" data-bit="iit">
7972
- </td>
7973
- <td valign="top" align="left" style="font-size:0; padding:0px 0px 0px 0px;">
7974
- <strong style="font-size:14px;line-height:24px;color:${textColor};margin:0;padding:0">
7975
- <abbr title="open house" style="text-decoration:none">Open:</abbr>
7976
- &nbsp;
7977
- </strong>
7978
- </td>
7979
- <td valign="top" align="left" style="font-size:0; padding:0px 0px 0px 0px;">
7980
- <span style="white-space:nowrap; font-size:14px;line-height:24px;color:${textColor};margin:0;padding:0;display:inline-block; font-weight:500; text-decoration:none">
7981
- ${openHouseDate} ${openHouseTime}
7982
- </span>
7983
- </td>
7984
- </tr>
7985
- </tbody>
7986
- </table>
7987
- </td>
7988
- </tr>
7989
- ` : "";
7990
- const brokerageHtml = brokerage ? `
7991
- <tr>
7992
- <td class="property-brokerage" style="padding: 0px 0px 8px 0px; font-size: 10px; font-weight: 300; line-height: 1; text-align: left; color:${textColor};">
7993
- ${brokerage}
7994
- </td>
7995
- </tr>
7996
- ` : "";
7997
- const descriptionHtml = description ? `
7998
- <tr>
7999
- <td style="padding: 0px 0px 0px 0px; font-weight: 400; font-size: 14px; line-height: 1.5; text-align: left; color: ${textColor};">
8000
- ${description}
8001
- </td>
8002
- </tr>
8003
- ` : "";
8004
- return this.renderMJML(`
8005
- <mj-table width="${width}" font-family="${fontFamily}">
8006
- <tr class="property-better-image-row">
8007
- <td align="center" valign="top" background="${imageSrc}" style="background-repeat:no-repeat;background-position:center;background-size:cover;background-color:#eeeef0; border-radius:${innerBorderRadius} ${innerBorderRadius} 0 0;">
8008
- <a href="${href}" style="text-decoration:none;display:block;border-radius:12px 12px 0 0" target="_blank">
8009
- <table role="presentation" align="center" cellpadding="0" cellspacing="0" border="0" style="width:${imageWidth}">
8010
- <tbody>
8011
- <tr>
8012
- <td align="left" valign="top" height="40" style="height:40px;padding-top:8px;">
8013
- ${isStatus || isNew ? statusBadge : ""}
8014
- </td>
8015
- <td align="right" valign="top" height="40" style="height:40px;padding:6px 2px 0 0"></td>
8016
- </tr>
8017
- <tr>
8018
- <td class="property-image-spacer" colspan="2" role="img" aria-label="${imageAlt}"></td>
8019
- </tr>
8020
- ${false ? mlsLogoHtml : ""}
8021
- </tbody>
8022
- </table>
8023
- </a>
8024
- </td>
8025
- </tr>
8026
-
8027
- <tr class="property-better-content-row">
8028
- <td align="left">
8029
- <a href="${href}" style="text-decoration:none;display:block; padding:12px 8px 12px 8px;" target="_blank">
8030
- <table>
8031
- <tbody>
8032
-
8033
- <tr>
8034
- <td class="property-price" style="padding: 0px 0px 8px 0px; font-size: 20px; font-weight: 600; line-height: 1; text-align: left; color: ${textColor};">
8035
- ${price}
8036
- </td>
8037
- </tr>
8038
-
8039
- <tr>
8040
- <td class="property-details" style="padding: 0px 0px 8px 0px; font-size: 14px; line-height: 1; text-align: left; color: ${textColor};">
8041
- <b>${beds}</b>&nbsp;<abbr title="bedrooms" style="text-decoration:none">bd</abbr>
8042
-
8043
- <span class="property-details-separator" >|</span>
8044
-
8045
- <b>${baths}</b>&nbsp;<abbr title="bathrooms" style="text-decoration:none">ba</abbr>
8046
-
8047
- <span class="property-details-separator" >|</span>
8048
-
8049
- <b>${sqft}</b>&nbsp;<abbr title="square feet" style="text-decoration:none">sqft</abbr>
8050
- </td>
8051
- </tr>
8052
-
8053
- <tr>
8054
- <td class="property-address" style="padding: 0px 0px 8px 0px; font-size: 14px; line-height: 1; text-align: left; color: ${textColor};">
8055
- ${address}, ${city}
8056
- </td>
8057
- </tr>
8058
-
8059
- ${openHouseHtml}
8060
-
8061
- <tr>
8062
- <td>
8063
- <table>
8064
- <tbody>
8065
- ${isBrokerage ? brokerageHtml : ""}
8066
- ${isDescription ? descriptionHtml : ""}
8067
- </tbody>
8068
- </table>
8069
- </td>
8070
- </tr>
8071
- </tbody>
8072
- </table>
8073
- </a>
8074
- </td>
8075
- </tr>
8076
- </mj-table>
8077
- `);
8078
- }
8079
- };
8080
- MjColproperty.componentName = "mj-colproperty";
8081
- MjColproperty.endingTag = false;
8082
- MjColproperty.dependencies = {
8083
- "mj-column": ["mj-colproperty"],
8084
- "mj-colproperty": []
8085
- };
8086
- MjColproperty.allowedAttributes = {
8087
- "image-src": "string",
8088
- "image-alt": "string",
8089
- "price": "string",
8090
- "address": "string",
8091
- "city": "string",
8092
- "country": "string",
8093
- "beds": "string",
8094
- "baths": "string",
8095
- "sqft": "string",
8096
- "href": "string",
8097
- "status": "string",
8098
- "status-color": "color",
8099
- "is-new": "string",
8100
- "brokerage": "string",
8101
- "mls-logo": "string",
8102
- "width": "string",
8103
- "border-radius": "string",
8104
- "description": "string",
8105
- "is-open-house": "string",
8106
- "open-house-date": "string",
8107
- "open-house-time": "string",
8108
- "border": "string",
8109
- "font-family": "string",
8110
- "text-color": "color",
8111
- "is-description": "string",
8112
- "is-brokerage": "string",
8113
- "is-status": "string"
8114
- };
8115
- MjColproperty.defaultAttributes = {
8116
- "image-src": "https://cornerstonepropertymgmt.com/wp-content/themes/cornerstone/assets/img/nofeaturedimage.jpg",
8117
- "image-alt": "Photo of a Property",
8118
- "price": "$0",
8119
- "address": "123 Main Street",
8120
- "city": "City, ST 00000",
8121
- "country": "USA",
8122
- "beds": "--",
8123
- "baths": "--",
8124
- "sqft": "--",
8125
- "href": "#",
8126
- "status": "Empty",
8127
- "status-color": "#B8B8B8",
8128
- "is-new": "",
8129
- "brokerage": "",
8130
- "mls-logo": "https://t4.ftcdn.net/jpg/06/71/92/37/360_F_671923740_x0zOL3OIuUAnSF6sr7PuznCI5bQFKhI0.jpg",
8131
- "border-radius": "0px",
8132
- "width": "100%",
8133
- "description": "",
8134
- "is-open-house": "",
8135
- "open-house-date": "",
8136
- "open-house-time": "",
8137
- "border": "string",
8138
- "font-family": "Arial, sans-serif",
8139
- "text-color": "#111116",
8140
- "is-description": "",
8141
- "is-brokerage": "",
8142
- "is-status": ""
8143
- };
8144
-
8145
- // src/mjml-components/property-singletwo/index.ts
8146
- import { BodyComponent as BodyComponent2 } from "mjml-core";
8147
- var MjPropertysingletwo = class extends BodyComponent2 {
8148
- constructor(initialDatas = {}) {
8149
- super(initialDatas);
8150
- this.componentHeadStyle = (breakpoint) => `
8151
- @media only screen and (max-width:${breakpoint}) {
8152
- .property-image-section-${this.uniqueId} {
8153
- border-radius: ${this.innerBorderRadius} ${this.innerBorderRadius} 0 0 !important;
8154
- }
8155
-
8156
- .property-content-section-${this.uniqueId} {
8157
- border-radius: 0 0 ${this.borderRadius} ${this.borderRadius} !important;
8158
- }
8159
- }
8160
- `;
8161
- const border = parseBorder(this.getAttribute("border"));
8162
- const borderRadius = this.getAttribute("border-radius");
8163
- const strokeWeight = border.width;
8164
- const borderRadiusNum = parseInt(borderRadius, 10) || 0;
8165
- const innerBorderRadius = `${Math.max(0, borderRadiusNum - strokeWeight)}px`;
8166
- this.borderRadius = this.getAttribute("border-radius");
8167
- this.innerBorderRadius = innerBorderRadius;
8168
- this.uniqueId = Math.random().toString(36).slice(2, 8);
8169
- }
8170
- render() {
8171
- const href = this.getAttribute("href");
8172
- const price = formatPrice(this.getAttribute("price"));
8173
- const address = this.getAttribute("address");
8174
- const city = this.getAttribute("city");
8175
- const beds = formatNumber(this.getAttribute("beds"));
8176
- const baths = formatNumber(this.getAttribute("baths"));
8177
- const sqft = formatNumber(this.getAttribute("sqft"));
8178
- const description = this.getAttribute("description");
8179
- const imageSrc = this.getAttribute("image-src");
8180
- const imageAlt = this.getAttribute("image-alt");
8181
- const status = this.getAttribute("status");
8182
- const statusColor = this.getAttribute("status-color");
8183
- const isNew = this.getAttribute("is-new");
8184
- const brokerage = this.getAttribute("brokerage");
8185
- const mlsLogo = this.getAttribute("mls-logo");
8186
- const width = this.getAttribute("width");
8187
- const borderRadius = this.getAttribute("border-radius");
8188
- const isOpenHouse = this.getAttribute("is-open-house");
8189
- const rawDate = this.getAttribute("open-house-date");
8190
- const rawTime = this.getAttribute("open-house-time");
8191
- const openHouseDate = formatOpenHouseDate(rawDate);
8192
- const [startTime, endTime] = rawTime ? rawTime.split("-") : ["", ""];
8193
- const openHouseTime = startTime && endTime ? `${formatOpenHouseTime(startTime)}-${formatOpenHouseTime(endTime)}` : "";
8194
- const fontFamily = this.getAttribute("font-family");
8195
- const textColor = this.getAttribute("text-color");
8196
- const isDescription = this.getAttribute("is-description");
8197
- const isBrokerage = this.getAttribute("is-brokerage");
8198
- const isStatus = this.getAttribute("is-status");
8199
- const border = parseBorder(this.getAttribute("border"));
8200
- const strokeWeight = border.width;
8201
- const borderRadiusNum = parseInt(borderRadius, 10) || 0;
8202
- const innerBorderRadius = `${Math.max(0, borderRadiusNum - strokeWeight)}px`;
8203
- const imageWidth = "243px";
8204
- const mlsLogoHeight = "32px";
8205
- const mlsLogoHtml = mlsLogo ? `
8206
- <tr>
8207
- <td colspan="2" align="right" valign="bottom" style="height:${mlsLogoHeight};padding:0 4px 4px 0">
8208
- <img src="${mlsLogo}" border="0" alt="MLS" style="display:block;font-weight:700;font-size:14px;color:#0041d9;height:${mlsLogoHeight};width:${mlsLogoHeight};border-radius:4px">
8209
- </td>
8210
- </tr>
8211
- ` : "";
8212
- const statusBadge = `
8213
- <table role="presentation" cellpadding="0" cellspacing="0" border="0" style="margin-left:8px">
8214
- <tbody>
8215
- <tr>
8216
- ${isStatus ? `
8217
- <td valign="top">
8218
- <span class="property-status-badge" style=" display:table;background-color:#fffffe;border-radius:${borderRadius};font-weight:700;font-size:12px;line-height:1.5em;letter-spacing:0.0012em;margin:0;padding:1px 0;"><i style="letter-spacing:3px">&nbsp;</i><span style="color:${statusColor};font-size:18px;line-height:1;vertical-align:-1px;">\u25CF</span>&nbsp;<span style="color:#111116;">${status}</span><i style="letter-spacing:5px">&nbsp;</i></span>
8219
- </td>
8220
- ` : ""}
8221
- ${isNew ? `
8222
- ${isStatus ? `<td width="4" style="font-size:0px;line-height:0px">&nbsp;</td>` : ""}
8223
- <td valign="top">
8224
- <span class="property-new-badge" style="display:table;background-color:#d03c0b;border-radius:${borderRadius};font-weight:700;font-size:12px;line-height:1.5em;letter-spacing:0.0012em;margin:0;padding:2px 0 1px 0"><i style="letter-spacing:5px">&nbsp;</i><span style="color:#ffffff">New</span><i style="letter-spacing:5px">&nbsp;</i></span>
8225
- </td>
8226
- ` : ""}
8227
- </tr>
8228
- </tbody>
8229
- </table>
8230
- `;
8231
- const openHouseHtml = isOpenHouse ? `
8232
- <tr>
8233
- <td>
8234
- <table>
8235
- <tbody>
8236
- <tr>
8237
- <td valign="top" align="right" style="padding:3px 4px 8px 0px;font-size:0">
8238
- <img src="https://www.clipartmax.com/png/small/2-21103_home-house-silhouette-icon-building-transparent-background-home-icon.png" border="0" alt="House Icon" width="16" style="display:block;font-weight:700;font-size:14px;color:#2a2a33">
8239
- </td>
8240
- <td valign="top" align="left" style="font-size:0; padding:0px 0px 0px 0px;">
8241
- <strong style="font-size:14px;line-height:24px;color:#2a2a33;margin:0;padding:0">
8242
- <abbr title="open house" style="text-decoration:none">Open:</abbr>
8243
- &nbsp;
8244
- </strong>
8245
- </td>
8246
- <td valign="top" align="left" style="font-size:0; padding:0px 0px 0px 0px;">
8247
- <span style="white-space:nowrap;font-family:'Open Sans',Helvetica,Arial,sans-serif;font-size:14px;line-height:24px;color:#2a2a33;margin:0;padding:0;display:inline-block; font-weight:500; text-decoration:none">
8248
- ${openHouseDate} ${openHouseTime}
8249
- </span>
8250
- </td>
8251
- </tr>
8252
- </tbody>
8253
- </table>
8254
- </td>
8255
- </tr>
8256
- ` : "";
8257
- const brokerageHtml = brokerage ? `
8258
- <tr>
8259
- <td style="padding: 0px 0px 8px 0px; font-size: 10px; font-weight: 300; line-height: 1.5em; text-align: left; color:${textColor};">
8260
- ${brokerage}
8261
- </td>
8262
- </tr>
8263
- ` : "";
8264
- const descriptionHtml = description ? `
8265
- <tr>
8266
- <td style="padding: 0px 0px 0px 0px; font-weight: 400; font-size: 14px; line-height: 1.5; text-align: left; color: ${textColor};">
8267
- ${description}
8268
- </td>
8269
- </tr>
8270
- ` : "";
8271
- return this.renderMJML(`
8272
- <mj-table width="${width}" font-family="${fontFamily}">
8273
- <tr>
8274
- <th class="property-image-section-single-two property-image-section-${this.uniqueId}" align="center" valign="top" background="${imageSrc}" style="background-repeat:no-repeat;background-position:center;background-size:cover;background-color:#eeeef0;border-radius:${innerBorderRadius} 0 0 ${innerBorderRadius};width:${imageWidth}">
8275
- <a class="property-image-link" href="${href}" style="text-decoration:none;display:block;border-radius:${borderRadius} 0 0 ${borderRadius}" target="_blank">
8276
- <table role="presentation" class="property-image-overlay-single-two" align="center" cellpadding="0" cellspacing="0" border="0" style="width:${imageWidth}">
8277
- <tbody>
8278
- <tr>
8279
- <td align="left" valign="top" height="40" style="height:40px;padding-top:8px">
8280
- ${isStatus || isNew ? statusBadge : ""}
8281
- </td>
8282
- <td align="right" valign="top" height="40" style="height:40px;padding:6px 2px 0 0"></td>
8283
- </tr>
8284
- <tr>
8285
- <td class="property-image-spacer-single-two" colspan="2" style="padding-bottom:121px" role="img" aria-label="${imageAlt}"></td>
8286
- </tr>
8287
- ${false ? mlsLogoHtml : ""}
8288
- </tbody>
8289
- </table>
8290
- </a>
8291
- </th>
8292
- <th class="property-content-section-single-two property-content-section-${this.uniqueId}" valign="top" align="center" >
8293
- <a class="property-content-link" href="${href}" style="text-decoration:none;display:block;border-radius:0 ${borderRadius} ${borderRadius} 0" target="_blank">
8294
- <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
8295
- <tbody>
8296
- <tr>
8297
- <td class="property-content-inner" valign="top" align="left" style="padding:12px">
8298
- <table role="presentation" cellpadding="0" cellspacing="0" border="0">
8299
- <tbody>
8300
-
8301
- <tr>
8302
- <td class="property-price" style="padding: 0px 0px 8px 0px; font-size: 20px; font-weight: 600; line-height: 1.2em; text-align: left; color: ${textColor};">
8303
- ${price}
8304
- </td>
8305
- </tr>
8306
-
8307
- <tr>
8308
- <td class="property-details" style="padding: 0px 0px 8px 0px; font-size: 14px; line-height: 1.5em; text-align: left; color: ${textColor}; font-weight: 400;">
8309
- <b>${beds}</b>&nbsp;<abbr title="bedrooms" style="text-decoration:none">bd</abbr>
8310
- <span style="font-family:Arial,sans-serif;color:#7e7f8e;padding:0 4px 0 2px">|</span>
8311
- <b>${baths}</b>&nbsp;<abbr title="bathrooms" style="text-decoration:none">ba</abbr>
8312
- <span style="font-family:Arial,sans-serif;color:#7e7f8e;padding:0 4px 0 2px">|</span>
8313
- <b>${sqft}</b>&nbsp;<abbr title="square feet" style="text-decoration:none">sqft</abbr>
8314
- </td>
8315
- </tr>
8316
- <tr>
8317
- <td class="property-address" style="padding: 0px 0px 8px 0px; font-size: 14px; line-height: 1.5em; text-align: left; color: ${textColor}; font-weight: 400;">
8318
- ${address}, ${city}
8319
- </td>
8320
- </tr>
8321
- ${openHouseHtml}
8322
-
8323
- <tr>
8324
- <td>
8325
- <table>
8326
- <tbody>
8327
- ${isBrokerage ? brokerageHtml : ""}
8328
- ${isDescription ? descriptionHtml : ""}
8329
- </tbody>
8330
- </table>
8331
- </td>
8332
- </tr>
8333
- </tbody>
8334
- </table>
8335
- </td>
8336
- </tr>
8337
- </tbody>
8338
- </table>
8339
- </a>
8340
- </th>
8341
- </tr>
8342
- </mj-table>
8343
- `);
8344
- }
8345
- };
8346
- MjPropertysingletwo.componentName = "mj-propertysingletwo";
8347
- MjPropertysingletwo.endingTag = false;
8348
- MjPropertysingletwo.dependencies = {
8349
- "mj-column": ["mj-propertysingletwo"],
8350
- "mj-propertysingletwo": []
8351
- };
8352
- MjPropertysingletwo.allowedAttributes = {
8353
- "image-src": "string",
8354
- "image-alt": "string",
8355
- "price": "string",
8356
- "address": "string",
8357
- "city": "string",
8358
- "country": "string",
8359
- "beds": "string",
8360
- "baths": "string",
8361
- "sqft": "string",
8362
- "href": "string",
8363
- "status": "string",
8364
- "status-color": "color",
8365
- "is-new": "string",
8366
- "brokerage": "string",
8367
- "mls-logo": "string",
8368
- "width": "string",
8369
- "border-radius": "string",
8370
- "description": "string",
8371
- "is-open-house": "string",
8372
- "open-house-date": "string",
8373
- "open-house-time": "string",
8374
- "border": "string",
8375
- "font-family": "string",
8376
- "text-color": "color",
8377
- "is-description": "string",
8378
- "is-brokerage": "string",
8379
- "is-status": "string"
8380
- };
8381
- MjPropertysingletwo.defaultAttributes = {
8382
- "image-src": "https://cornerstonepropertymgmt.com/wp-content/themes/cornerstone/assets/img/nofeaturedimage.jpg",
8383
- "image-alt": "Photo of a Property",
8384
- "price": "$0",
8385
- "address": "123 Main Street",
8386
- "city": "City, ST 00000",
8387
- "country": "USA",
8388
- "beds": "--",
8389
- "baths": "--",
8390
- "sqft": "--",
8391
- "href": "#",
8392
- "status": "Empty",
8393
- "status-color": "#B8B8B8",
8394
- "is-new": "",
8395
- "brokerage": "",
8396
- "mls-logo": "https://t4.ftcdn.net/jpg/06/71/92/37/360_F_671923740_x0zOL3OIuUAnSF6sr7PuznCI5bQFKhI0.jpg",
8397
- "border-radius": "0px",
8398
- "width": "100%",
8399
- "description": "",
8400
- "is-open-house": "",
8401
- "open-house-date": "",
8402
- "open-house-time": "",
8403
- "border": "none",
8404
- "font-family": "Arial, sans-serif",
8405
- "text-color": "#111116",
8406
- "is-description": "",
8407
- "is-brokerage": "",
8408
- "is-status": ""
8409
- };
8410
-
8411
- // src/mjml-components/property-triple-better/index.ts
8412
- import { BodyComponent as BodyComponent3 } from "mjml-core";
8413
- var MjPropertytriplebetter = class extends BodyComponent3 {
8414
- constructor(initialDatas = {}) {
8415
- super(initialDatas);
8416
- this.componentHeadStyle = (breakpoint) => `
8417
- @media only screen and (max-width:${breakpoint}) {
8418
- .property-triple-row-${this.uniqueId} {
8419
- display: block !important;
8420
- padding: 0 !important;
8421
- }
8422
- .property-triple-card-wrapper-${this.uniqueId} {
8423
- display: block !important;
8424
- width: 100% !important;
8425
- }
8426
- .property-triple-card-${this.uniqueId} {
8427
- width: 100% !important;
8428
- border-radius: ${this.borderRadius} !important;
8429
- }
8430
- .property-triple-spacer-${this.uniqueId} {
8431
-
8432
- }
8433
- .property-triple-image-spacer-${this.uniqueId} {
8434
-
8435
- }
8436
- .property-triple-spacer-top,
8437
- .property-triple-spacer-bottom {
8438
- display: none !important;
8439
- }
8440
- .property-triple-card-row-${this.uniqueId},
8441
- .property-triple-content-row-${this.uniqueId} {
8442
- display: table-cell !important;
8443
- vertical-align: top !important;
8444
-
8445
- }
8446
- .property-triple-image-${this.uniqueId} {
8447
- width: 600px !important;
8448
- border-radius: ${this.innerBorderRadius} 0 0 ${this.innerBorderRadius} !important;
8449
- }
8450
-
8451
- .property-triple-content-${this.uniqueId} {
8452
- width: 600px!important;
8453
- height: 100% !important;
8454
- border-radius: 0 ${this.innerBorderRadius} ${this.innerBorderRadius} 0 !important;
8455
- }
8456
- .property-triple-section-column {
8457
- width: 100% !important;
8458
- }
8459
- }
8460
- `;
8461
- this.borderRadius = this.getAttribute("border-radius");
8462
- this.uniqueId = Math.random().toString(36).slice(2, 8);
8463
- const border = parseBorder(this.getAttribute("border"));
8464
- const strokeWeight = border.width;
8465
- const borderRadiusNum = parseInt(this.borderRadius, 10) || 0;
8466
- this.innerBorderRadius = `${Math.max(0, borderRadiusNum - strokeWeight)}px`;
8467
- }
8468
- renderCard(index) {
8469
- const href = this.getAttribute(`href-${index}`);
8470
- const price = formatPrice(this.getAttribute(`price-${index}`));
8471
- const beds = formatNumber(this.getAttribute(`beds-${index}`));
8472
- const baths = formatNumber(this.getAttribute(`baths-${index}`));
8473
- const sqft = formatNumber(this.getAttribute(`sqft-${index}`));
8474
- const city = this.getAttribute(`city-${index}`);
8475
- const imageSrc = this.getAttribute(`image-src-${index}`);
8476
- const borderRadius = this.getAttribute("border-radius");
8477
- const imageHeight = this.getAttribute("image-height");
8478
- const border = this.getAttribute("border");
8479
- const fontFamily = this.getAttribute("font-family");
8480
- const textColor = this.getAttribute("text-color");
8481
- const backgroundColor = this.getAttribute("background-color");
8482
- const parsedBorder = parseBorder(border);
8483
- const strokeWeight = parsedBorder.width;
8484
- const borderRadiusNum = parseInt(borderRadius, 10) || 0;
8485
- const innerBorderRadius = `${Math.max(0, borderRadiusNum - strokeWeight)}px`;
8486
- return `
8487
- <table class="property-triple-card-${this.uniqueId} property-triple-table" role="presentation" align="center" cellpadding="0" cellspacing="0" border="0" style="width:100%; border:${border}; border-radius:${borderRadius}; border-collapse:separate;${backgroundColor !== "transparent" ? ` background-color:${backgroundColor};` : ""}">
8488
- <tbody>
8489
- <tr class="property-triple-card-row-${this.uniqueId}">
8490
- <td class="property-triple-image-${this.uniqueId}" align="center" background="${imageSrc}" style="background-repeat:no-repeat;background-position:center;background-size:cover;border-radius:${innerBorderRadius} ${innerBorderRadius} 0px 0px;background-color:#f1f1f4 ">
8491
- <a style="text-decoration:none" href="${href}" target="_blank">
8492
- <table role="presentation" align="center" cellpadding="0" cellspacing="0" border="0" style="width:100% height:100%">
8493
- <tbody>
8494
- <tr>
8495
- <td class="property-triple-image-spacer-${this.uniqueId}" style="height:${imageHeight};width:100%" role="img" aria-label="Photo of a Property"></td>
8496
- </tr>
8497
- </tbody>
8498
- </table>
8499
- </a>
8500
- </td>
8501
- </tr>
8502
- <tr class="property-triple-content-row-${this.uniqueId}">
8503
- <td class="property-triple-content-${this.uniqueId}">
8504
- <a href="${href}" style="text-decoration:none" target="_blank">
8505
- <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
8506
- <tbody>
8507
- <tr>
8508
- <td align="left" valign="top" style="padding:4px 6px 8px 8px">
8509
- <strong style="display:block;font-family:${fontFamily};font-size:14px;line-height:24px;color:${textColor};font-weight:700">${price}</strong>
8510
- <p style="font-family:${fontFamily};font-size:12px;line-height:16px;font-weight:400;color:${textColor};font-style:normal;margin:0;padding:0 0 4px 0">
8511
- <b>${beds}</b>&nbsp;<abbr title="bedrooms" style="text-decoration:none">bd</abbr>
8512
- <span style="color:#d1d1d5">|</span>
8513
- <b>${baths}</b>&nbsp;<abbr title="bathrooms" style="text-decoration:none">ba</abbr>
8514
- <span style="color:#d1d1d5">|</span>
8515
- <b>${sqft}</b>&nbsp;<abbr title="square feet" style="text-decoration:none">sqft</abbr>
8516
- </p>
8517
- <p style="font-family:${fontFamily};font-size:12px;line-height:16px;font-weight:400;color:${textColor};font-style:normal;margin:0;padding:0">${city}</p>
8518
- </td>
8519
- </tr>
8520
- </tbody>
8521
- </table>
8522
- </a>
8523
- </td>
8524
- </tr>
8525
- </tbody>
8526
- </table>
8527
- `;
8528
- }
8529
- render() {
8530
- const width = this.getAttribute("width");
8531
- const gap = this.getAttribute("gap");
8532
- const backgroundColor = this.getAttribute("background-color");
8533
- const card1 = this.renderCard(1);
8534
- const card2 = this.renderCard(2);
8535
- const card3 = this.renderCard(3);
8536
- return this.renderMJML(`
8537
- <mj-table align="center" width="${width}" padding="0">
8538
- <tr class="property-triple-row-${this.uniqueId}">
8539
- <th class="property-triple-card-wrapper-${this.uniqueId}" valign="top" align="center" width="100px" ">
8540
- ${card1}
8541
- </th>
8542
- <th class="property-triple-spacer-${this.uniqueId}" style="font-size:0px;line-height:16px;font-weight:normal;width:4px; height:4px">&nbsp;</th>
8543
- <th class="property-triple-card-wrapper-${this.uniqueId}" valign="top" align="center" width="100px" ">
8544
- ${card2}
8545
- </th>
8546
- <th class="property-triple-spacer-${this.uniqueId}" style="font-size:0px;line-height:16px;font-weight:normal;width:4px; height:4px">&nbsp;</th>
8547
- <th class="property-triple-card-wrapper-${this.uniqueId}" valign="top" align="center" width="100px" ">
8548
- ${card3}
8549
- </th>
8550
- </tr>
8551
- </mj-table>
8552
- `);
8553
- }
8554
- };
8555
- MjPropertytriplebetter.componentName = "mj-propertytriple";
8556
- MjPropertytriplebetter.endingTag = false;
8557
- MjPropertytriplebetter.dependencies = {
8558
- "mj-column": ["mj-propertytriple"],
8559
- "mj-propertytriple": []
8560
- };
8561
- MjPropertytriplebetter.allowedAttributes = {
8562
- // Global
8563
- "width": "string",
8564
- "card-width": "string",
8565
- "gap": "string",
8566
- "border-radius": "string",
8567
- "border": "string",
8568
- "image-height": "string",
8569
- "font-family": "string",
8570
- "text-color": "string",
8571
- "background-color": "string",
8572
- // Card 1
8573
- "image-src-1": "string",
8574
- "href-1": "string",
8575
- "price-1": "string",
8576
- "beds-1": "string",
8577
- "baths-1": "string",
8578
- "sqft-1": "string",
8579
- "city-1": "string",
8580
- // Card 2
8581
- "image-src-2": "string",
8582
- "href-2": "string",
8583
- "price-2": "string",
8584
- "beds-2": "string",
8585
- "baths-2": "string",
8586
- "sqft-2": "string",
8587
- "city-2": "string",
8588
- // Card 3
8589
- "image-src-3": "string",
8590
- "href-3": "string",
8591
- "price-3": "string",
8592
- "beds-3": "string",
8593
- "baths-3": "string",
8594
- "sqft-3": "string",
8595
- "city-3": "string"
8596
- };
8597
- MjPropertytriplebetter.defaultAttributes = {
8598
- // Global
8599
- "width": "100%",
8600
- "card-width": "160px",
8601
- "gap": "12px",
8602
- "border-radius": "0px",
8603
- "border": "1px solid #d1d1d5",
8604
- "image-height": "102px",
8605
- "font-family": "'Open Sans',Helvetica,Arial,sans-serif",
8606
- "text-color": "#2a2a33",
8607
- "background-color": "transparent",
8608
- // Card 1
8609
- "image-src-1": "https://cornerstonepropertymgmt.com/wp-content/themes/cornerstone/assets/img/nofeaturedimage.jpg",
8610
- "href-1": "#",
8611
- "price-1": "$0",
8612
- "beds-1": "--",
8613
- "baths-1": "--",
8614
- "sqft-1": "--",
8615
- "city-1": "City",
8616
- // Card 2
8617
- "image-src-2": "https://cornerstonepropertymgmt.com/wp-content/themes/cornerstone/assets/img/nofeaturedimage.jpg",
8618
- "href-2": "#",
8619
- "price-2": "$0",
8620
- "beds-2": "--",
8621
- "baths-2": "--",
8622
- "sqft-2": "--",
8623
- "city-2": "City",
8624
- // Card 3
8625
- "image-src-3": "https://cornerstonepropertymgmt.com/wp-content/themes/cornerstone/assets/img/nofeaturedimage.jpg",
8626
- "href-3": "#",
8627
- "price-3": "$0",
8628
- "beds-3": "--",
8629
- "baths-3": "--",
8630
- "sqft-3": "--",
8631
- "city-3": "City"
8632
- };
8633
-
8634
- // src/index.tsx
8635
- var index_default = MjColproperty;
8636
7884
  export {
8637
7885
  Editor,
8638
- MjColproperty,
8639
- MjPropertysingletwo,
8640
- MjPropertytriplebetter,
8641
7886
  TemplatePage,
8642
- index_default as default,
8643
7887
  json2mjml
8644
7888
  };