mcdev 7.6.3 → 7.7.1

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.
Files changed (147) hide show
  1. package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
  2. package/.github/ISSUE_TEMPLATE/task.md +1 -1
  3. package/.github/workflows/coverage-base-update.yml +2 -2
  4. package/.github/workflows/coverage-develop-branch.yml +3 -1
  5. package/.github/workflows/coverage-main-branch.yml +3 -1
  6. package/.github/workflows/coverage.yml +5 -3
  7. package/.mcdev-validations.js +0 -0
  8. package/@types/lib/Builder.d.ts +14 -0
  9. package/@types/lib/Builder.d.ts.map +1 -1
  10. package/@types/lib/MetadataTypeDefinitions.d.ts +2 -0
  11. package/@types/lib/MetadataTypeDefinitions.d.ts.map +1 -1
  12. package/@types/lib/MetadataTypeInfo.d.ts +2 -0
  13. package/@types/lib/MetadataTypeInfo.d.ts.map +1 -1
  14. package/@types/lib/index.d.ts +17 -8
  15. package/@types/lib/index.d.ts.map +1 -1
  16. package/@types/lib/metadataTypes/Asset.d.ts +11 -3
  17. package/@types/lib/metadataTypes/Asset.d.ts.map +1 -1
  18. package/@types/lib/metadataTypes/DataExtension.d.ts.map +1 -1
  19. package/@types/lib/metadataTypes/DomainVerification.d.ts +180 -0
  20. package/@types/lib/metadataTypes/DomainVerification.d.ts.map +1 -0
  21. package/@types/lib/metadataTypes/Event.d.ts.map +1 -1
  22. package/@types/lib/metadataTypes/Journey.d.ts +7 -4
  23. package/@types/lib/metadataTypes/Journey.d.ts.map +1 -1
  24. package/@types/lib/metadataTypes/MetadataType.d.ts +15 -7
  25. package/@types/lib/metadataTypes/MetadataType.d.ts.map +1 -1
  26. package/@types/lib/metadataTypes/MobileKeyword.d.ts +2 -10
  27. package/@types/lib/metadataTypes/MobileKeyword.d.ts.map +1 -1
  28. package/@types/lib/metadataTypes/MobileMessage.d.ts +2 -10
  29. package/@types/lib/metadataTypes/MobileMessage.d.ts.map +1 -1
  30. package/@types/lib/metadataTypes/SendClassification.d.ts.map +1 -1
  31. package/@types/lib/metadataTypes/SenderProfile.d.ts +7 -0
  32. package/@types/lib/metadataTypes/SenderProfile.d.ts.map +1 -1
  33. package/@types/lib/metadataTypes/TransactionalEmail.d.ts +2 -2
  34. package/@types/lib/metadataTypes/TransactionalEmail.d.ts.map +1 -1
  35. package/@types/lib/metadataTypes/TriggeredSend.d.ts +8 -0
  36. package/@types/lib/metadataTypes/TriggeredSend.d.ts.map +1 -1
  37. package/@types/lib/metadataTypes/Verification.d.ts +0 -9
  38. package/@types/lib/metadataTypes/Verification.d.ts.map +1 -1
  39. package/@types/lib/metadataTypes/definitions/DomainVerification.definition.d.ts +100 -0
  40. package/@types/lib/metadataTypes/definitions/DomainVerification.definition.d.ts.map +1 -0
  41. package/@types/lib/metadataTypes/definitions/Journey.definition.d.ts +1 -1
  42. package/@types/lib/util/devops.d.ts.map +1 -1
  43. package/@types/lib/util/replaceContentBlockReference.d.ts +2 -1
  44. package/@types/lib/util/replaceContentBlockReference.d.ts.map +1 -1
  45. package/@types/lib/util/util.d.ts +42 -1
  46. package/@types/lib/util/util.d.ts.map +1 -1
  47. package/@types/lib/util/validations.d.ts.map +1 -1
  48. package/@types/types/mcdev.d.d.ts +34 -0
  49. package/@types/types/mcdev.d.d.ts.map +1 -1
  50. package/boilerplate/config.json +11 -0
  51. package/boilerplate/files/eslint.config.js +98 -3
  52. package/boilerplate/forcedUpdates.json +4 -0
  53. package/boilerplate/gitignore-template +1 -1
  54. package/boilerplate/npm-dependencies.json +1 -0
  55. package/eslint.config.js +4 -3
  56. package/lib/Builder.js +114 -54
  57. package/lib/Deployer.js +2 -2
  58. package/lib/MetadataTypeDefinitions.js +2 -0
  59. package/lib/MetadataTypeInfo.js +2 -0
  60. package/lib/cli.js +127 -3
  61. package/lib/index.js +217 -164
  62. package/lib/metadataTypes/Asset.js +76 -22
  63. package/lib/metadataTypes/DataExtension.js +10 -2
  64. package/lib/metadataTypes/DomainVerification.js +246 -0
  65. package/lib/metadataTypes/Event.js +21 -9
  66. package/lib/metadataTypes/Journey.js +339 -223
  67. package/lib/metadataTypes/MetadataType.js +153 -106
  68. package/lib/metadataTypes/MobileKeyword.js +5 -2
  69. package/lib/metadataTypes/MobileMessage.js +5 -2
  70. package/lib/metadataTypes/SendClassification.js +5 -0
  71. package/lib/metadataTypes/SenderProfile.js +102 -3
  72. package/lib/metadataTypes/TransactionalEmail.js +3 -1
  73. package/lib/metadataTypes/Verification.js +3 -1
  74. package/lib/metadataTypes/definitions/DomainVerification.definition.js +71 -0
  75. package/lib/metadataTypes/definitions/Journey.definition.js +7 -1
  76. package/lib/metadataTypes/definitions/SendClassification.definition.js +2 -2
  77. package/lib/metadataTypes/definitions/SenderProfile.definition.js +1 -1
  78. package/lib/util/config.js +6 -0
  79. package/lib/util/devops.js +130 -154
  80. package/lib/util/file.js +3 -3
  81. package/lib/util/replaceContentBlockReference.js +10 -3
  82. package/lib/util/util.js +96 -14
  83. package/lib/util/validations.js +34 -14
  84. package/package.json +10 -10
  85. package/test/general.test.js +339 -96
  86. package/test/mockRoot/.mcdev-validations.js +66 -0
  87. package/test/mockRoot/.mcdevrc.json +30 -2
  88. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset_htmlblock.asset-block-meta.html +1 -0
  89. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset_htmlblock.asset-block-meta.json +39 -0
  90. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset_withCBBK_notexisting.asset-block-meta.html +4 -0
  91. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset_withCBBK_notexisting.asset-block-meta.json +39 -0
  92. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset_withCBBK_preexisting.asset-block-meta.html +4 -0
  93. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset_withCBBK_preexisting.asset-block-meta.json +39 -0
  94. package/test/mockRoot/deploy/testInstance/testBU/asset/message/testNew_assetMessage/testNew_assetMessage.asset-message-meta.json +435 -0
  95. package/test/mockRoot/deploy/testInstance/testBU/asset/message/testNew_assetMessage/views.html.content.asset-message-meta.html +150 -0
  96. package/test/mockRoot/deploy/testInstance/testBU/asset/message/testNew_asset_templatebasedemail/testNew_asset_templatebasedemail.asset-message-meta.json +305 -0
  97. package/test/mockRoot/deploy/testInstance/testBU/asset/message/testNew_asset_templatebasedemail/views.html.content.asset-message-meta.html +150 -0
  98. package/test/mockRoot/deploy/testInstance/testBU/asset/template/testNew_asset_template/content.asset-template-meta.html +150 -0
  99. package/test/mockRoot/deploy/testInstance/testBU/asset/template/testNew_asset_template/testNew_asset_template.asset-template-meta.json +116 -0
  100. package/test/mockRoot/deploy/testInstance/testBU/domainVerification/joern.berkefeld.New@accenture.com.domainVerification-meta.json +6 -0
  101. package/test/mockRoot/deploy/testInstance/testBU/domainVerification/joern.berkefeld@accenture.com.domainVerification-meta.json +6 -0
  102. package/test/mockRoot/deploy/testInstance/testBU/domainVerification/mcdev.accenture.com.domainVerification-meta.json +6 -0
  103. package/test/mockRoot/deploy/testInstance/testBU/journey/testNew_temail_notPublished.journey-meta.json +213 -0
  104. package/test/mockRoot/deploy/testInstance/testBU/senderProfile/testExisting_senderProfile.senderProfile-meta.json +1 -0
  105. package/test/mockRoot/deploy/testInstance/testBU/senderProfile/testNew_senderProfile.senderProfile-meta.json +1 -0
  106. package/test/resourceFactory.js +7 -24
  107. package/test/resources/9999999/asset/v1/content/assets/post-response-key=testNew_assetMessage.json +441 -0
  108. package/test/resources/9999999/asset/v1/content/assets/post-response-key=testNew_asset_htmlblock.json +59 -0
  109. package/test/resources/9999999/asset/v1/content/assets/post-response-key=testNew_asset_template.json +147 -0
  110. package/test/resources/9999999/asset/v1/content/assets/post-response-key=testNew_asset_templatebasedemail.json +322 -0
  111. package/test/resources/9999999/asset/v1/content/assets/post-response-key=testNew_asset_withCBBK_notexisting.json +59 -0
  112. package/test/resources/9999999/asset/v1/content/assets/post-response-key=testNew_asset_withCBBK_preexisting.json +59 -0
  113. package/test/resources/9999999/asset-deploy2/block/testBlacklist_asset_htmlblock.asset-block-meta.html +1 -0
  114. package/test/resources/9999999/asset-deploy2/block/testBlacklist_asset_htmlblock.asset-block-meta.json +39 -0
  115. package/test/resources/9999999/automation/clone-expected.json +61 -0
  116. package/test/resources/9999999/dataExtension/retrieve-CustomerKey=testExisting_dataExtension-response.xml +52 -0
  117. package/test/resources/9999999/dataExtension-deploy/testBlacklist_dataExtension.dataExtension-meta.json +20 -0
  118. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,dataextension,hidden,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml +137 -0
  119. package/test/resources/9999999/domainVerification/create-expected.json +3 -0
  120. package/test/resources/9999999/domainVerification/get-sap-expected.json +6 -0
  121. package/test/resources/9999999/domainVerification/update-expected.json +6 -0
  122. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_temail/put-response-paused.json +219 -0
  123. package/test/resources/9999999/interaction/v1/interactions/key_testNew_temail_notPublished/get-response.json +218 -0
  124. package/test/resources/9999999/interaction/v1/interactions/post-response.json +216 -0
  125. package/test/resources/9999999/journey/create-transactionaEmail-publish-expected.json +217 -0
  126. package/test/resources/9999999/messaging/v1/domainverification/delete/post-response.txt +1 -0
  127. package/test/resources/9999999/messaging/v1/domainverification/get-response.json +43 -0
  128. package/test/resources/9999999/messaging/v1/domainverification/post-response.txt +1 -0
  129. package/test/resources/9999999/messaging/v1/domainverification/update/post-response.txt +1 -0
  130. package/test/resources/9999999/messaging/v1/email/definitions/get-response.json +7 -0
  131. package/test/resources/9999999/messaging/v1/email/definitions/testNew_temail_notPublished/get-response.json +26 -0
  132. package/test/resources/9999999/query/clone-expected.json +8 -0
  133. package/test/resources/9999999/query/clone-expected.sql +7 -0
  134. package/test/resources/9999999/senderProfile/create-response.xml +1 -1
  135. package/test/resources/9999999/senderProfile/post-expected.json +1 -1
  136. package/test/resources/9999999/transactionalEmail/create-publish-expected.json +20 -0
  137. package/test/type.asset.test.js +216 -9
  138. package/test/type.automation.test.js +1 -1
  139. package/test/type.domainVerification.test.js +169 -0
  140. package/test/type.journey.test.js +107 -21
  141. package/test/type.script.test.js +1 -1
  142. package/test/type.sendClassification.test.js +3 -3
  143. package/test/type.senderProfile.test.js +26 -6
  144. package/test/type.transactionalEmail.test.js +5 -5
  145. package/test/type.triggeredSend.test.js +1 -1
  146. package/test/utils.js +8 -0
  147. package/types/mcdev.d.js +12 -0
@@ -0,0 +1,150 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
5
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6
+ <style type="text/css">
7
+ ReadMsgBody{ width: 100%;}
8
+ .ExternalClass {width: 100%;}
9
+ .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;}
10
+ body {-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;margin:0 !important;}
11
+ p { margin: 1em 0;}
12
+ table td { border-collapse: collapse;}
13
+ img {outline:0;}
14
+ a img {border:none;}
15
+ @-ms-viewport{ width: device-width;}
16
+ </style>
17
+ <style type="text/css">
18
+ @media only screen and (max-width: 480px) {
19
+ .container {width: 100% !important;}
20
+ .footer { width:auto !important; margin-left:0; }
21
+ .mobile-hidden { display:none !important; }
22
+ .logo { display:block !important; padding:0 !important; }
23
+ img { max-width:100% !important; height:auto !important; max-height:auto !important;}
24
+ .header img{max-width:100% !important;height:auto !important; max-height:auto !important;}
25
+ .photo img { width:100% !important; max-width:100% !important; height:auto !important;}
26
+ .drop { display:block !important; width: 100% !important; float:left; clear:both;}
27
+ .footerlogo { display:block !important; width: 100% !important; padding-top:15px; float:left; clear:both;}
28
+ .nav4, .nav5, .nav6 { display: none !important; }
29
+ .tableBlock {width:100% !important;}
30
+ .responsive-td {width:100% !important; display:block !important; padding:0 !important; }
31
+ .fluid, .fluid-centered {
32
+ width: 100% !important;
33
+ max-width: 100% !important;
34
+ height: auto !important;
35
+ margin-left: auto !important;
36
+ margin-right: auto !important;
37
+ }
38
+ .fluid-centered {
39
+ margin-left: auto !important;
40
+ margin-right: auto !important;
41
+ }
42
+ /* MOBILE GLOBAL STYLES - DO NOT CHANGE */
43
+ body { padding: 0px !important; font-size: 16px !important; line-height: 150% !important;}
44
+ h1 { font-size: 22px !important; line-height: normal !important;}
45
+ h2 { font-size: 20px !important; line-height: normal !important;}
46
+ h3 { font-size: 18px !important; line-height: normal !important;}
47
+ .buttonstyles {
48
+ font-family:arial,helvetica,sans-serif !important;
49
+ font-size: 16px !important;
50
+ color: #FFFFFF !important;
51
+ padding: 10px !important;
52
+ }
53
+ /* END OF MOBILE GLOBAL STYLES - DO NOT CHANGE */
54
+ }
55
+ @media only screen and (max-width: 640px) {
56
+ .container { width:100% !important; }
57
+ .mobile-hidden { display:none !important; }
58
+ .logo { display:block !important; padding:0 !important; }
59
+ .photo img { width:100% !important; height:auto !important;}
60
+ .nav5, .nav6 { display: none !important;}
61
+ .fluid, .fluid-centered {
62
+ width: 100% !important;
63
+ max-width: 100% !important;
64
+ height: auto !important;
65
+ margin-left: auto !important;
66
+ margin-right: auto !important;
67
+ }
68
+ .fluid-centered {
69
+ margin-left: auto !important;
70
+ margin-right: auto !important;
71
+ }
72
+ }
73
+ </style>
74
+ <!--[if mso]>
75
+ <style type="text/css">
76
+ /* Begin Outlook Font Fix */
77
+ body, table, td {
78
+ font-family: Arial, Helvetica, sans-serif ;
79
+ font-size:16px;
80
+ color:#000000;
81
+ line-height:1;
82
+ }
83
+ /* End Outlook Font Fix */
84
+ </style>
85
+ <![endif]-->
86
+ </head>
87
+ <body bgcolor="#ffffff" text="#000000" style="background-color: #ffffff; color: #000000; padding: 0px; -webkit-text-size-adjust:none; font-size: 16px; font-family:arial,helvetica,sans-serif;">
88
+ <div style="font-size:0; line-height:0;"><custom name="opencounter" type="tracking"><custom name="usermatch" type="tracking" /></div>
89
+ <table width="100%" border="0" cellpadding="0" cellspacing="0" align="center">
90
+ <tr>
91
+ <td align="center" valign="top">
92
+ <custom type="header"/>
93
+ </td>
94
+ </tr>
95
+ <tr>
96
+ <td align="center">
97
+ <table cellspacing="0" cellpadding="0" border="0" width="600" class="container" align="center">
98
+ <tr>
99
+ <td>
100
+ <table class="tb_properties border_style" style="background-color:#FFFFFF;" cellspacing="0" cellpadding="0" bgcolor="#ffffff" width="100%">
101
+ <tr>
102
+ <td align="center" valign="top">
103
+ <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%">
104
+ <tr>
105
+ <!-- added padding here -->
106
+ <td class="content_padding" style="">
107
+ <!-- end of comment -->
108
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
109
+ <tr> <!-- top slot -->
110
+ <td align="center" class="header" valign="top">
111
+ <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%">
112
+ <tbody>
113
+ <tr>
114
+ <td align="left" valign="top">
115
+ <table cellspacing="0" cellpadding="0" style="width:100%">
116
+ <tbody>
117
+ <tr>
118
+ <td class="responsive-td" valign="top" style="width: 100%;">
119
+ <div data-type="slot" data-key="banner">
120
+ </div>
121
+ </td>
122
+ </tr>
123
+ </tbody>
124
+ </table>
125
+ </td>
126
+ </tr>
127
+ </tbody>
128
+ </table>
129
+ </td>
130
+ </tr>
131
+ </table>
132
+ </td>
133
+ </tr>
134
+ </table>
135
+ </td>
136
+ </tr>
137
+ </table>
138
+ </td>
139
+ </tr>
140
+ </table>
141
+ </td>
142
+ </tr>
143
+ <tr>
144
+ <td valign="top">
145
+ <custom type="footer" />
146
+ </td>
147
+ </tr>
148
+ </table>
149
+ </body>
150
+ </html>
@@ -0,0 +1,305 @@
1
+ {
2
+ "customerKey": "testNew_asset_templatebasedemail",
3
+ "contentType": "application/vnd.etmc.email.Message; kind=template",
4
+ "assetType": {
5
+ "name": "templatebasedemail",
6
+ "displayName": "Template-Based Email"
7
+ },
8
+ "name": "testNew_asset_templatebasedemail",
9
+ "description": "",
10
+ "createdBy": {},
11
+ "modifiedBy": {},
12
+ "memberId": "9999999",
13
+ "status": {
14
+ "name": "Draft"
15
+ },
16
+ "meta": {
17
+ "globalStyles": {
18
+ "isLocked": false,
19
+ "template": {
20
+ "background-color": "#FFFFFF",
21
+ "border-color": "",
22
+ "border-width": "0px",
23
+ "border-style": "solid"
24
+ },
25
+ "body": {
26
+ "background-color": "#FFFFFF",
27
+ "font-family": "Arial,helvetica,sans-serif",
28
+ "font-size": "16px",
29
+ "color": "#000000",
30
+ "line-height": 1,
31
+ "margin": "0px",
32
+ "padding": "0px",
33
+ "content-padding-top": "0px",
34
+ "content-padding-right": "0px",
35
+ "content-padding-bottom": "0px",
36
+ "content-padding-left": "0px"
37
+ },
38
+ "h1": {
39
+ "font-family": "Arial,helvetica,sans-serif",
40
+ "font-size": "28px",
41
+ "color": "#181818",
42
+ "line-height": 1,
43
+ "font-weight": "bold",
44
+ "font-style": "normal"
45
+ },
46
+ "h2": {
47
+ "font-family": "Arial,helvetica,sans-serif",
48
+ "font-size": "22px",
49
+ "color": "#181818",
50
+ "line-height": 1,
51
+ "font-weight": "bold",
52
+ "font-style": "normal"
53
+ },
54
+ "h3": {
55
+ "font-family": "Arial,helvetica,sans-serif",
56
+ "font-size": "20px",
57
+ "color": "#181818",
58
+ "line-height": 1,
59
+ "font-weight": "bold",
60
+ "font-style": "normal"
61
+ },
62
+ "links": {
63
+ "font-weight": "normal",
64
+ "color": "#0176d3",
65
+ "text-decoration": "none"
66
+ },
67
+ "buttons": {
68
+ "font-family": "Arial,helvetica,sans-serif",
69
+ "font-size": "16px",
70
+ "color": "#FFFFFF",
71
+ "background-color": "#5D5D5D",
72
+ "border-radius": "3px",
73
+ "padding": "10px",
74
+ "border-color": "#5D5D5D",
75
+ "border-width": "1px",
76
+ "border-style": "solid"
77
+ },
78
+ "mobile": {
79
+ "body": {
80
+ "padding": "0px",
81
+ "font-size": "16px",
82
+ "line-height": 1.5
83
+ },
84
+ "h1": {
85
+ "font-size": "22px",
86
+ "line-height": 1
87
+ },
88
+ "h2": {
89
+ "font-size": "20px",
90
+ "line-height": 1
91
+ },
92
+ "h3": {
93
+ "font-size": "18px",
94
+ "line-height": 1
95
+ },
96
+ "buttons": {
97
+ "font-family": "Arial,helvetica,sans-serif",
98
+ "font-size": "16px",
99
+ "color": "#FFFFFF",
100
+ "padding": "10px"
101
+ }
102
+ }
103
+ }
104
+ },
105
+ "views": {
106
+ "subjectline": {
107
+ "contentType": "application/vnd.etmc.email.View; kind=subjectline",
108
+ "thumbnail": {},
109
+ "content": "my subject",
110
+ "meta": {},
111
+ "availableViews": [],
112
+ "data": {
113
+ "email": {
114
+ "options": {
115
+ "generateFrom": ""
116
+ }
117
+ }
118
+ },
119
+ "modelVersion": 2
120
+ },
121
+ "preheader": {
122
+ "thumbnail": {},
123
+ "availableViews": [],
124
+ "data": {
125
+ "email": {
126
+ "options": {
127
+ "generateFrom": ""
128
+ }
129
+ }
130
+ },
131
+ "modelVersion": 2
132
+ },
133
+ "html": {
134
+ "thumbnail": {},
135
+ "availableViews": [],
136
+ "slots": {
137
+ "banner": {
138
+ "design": "<p style=\"font-family:Arial;color:#ccc;font-size:12px;text-align:center;vertical-align:middle;font-weight:bold;height:150px;display:flex;flex-direction:column;justify-content:center;padding:10px;margin:0;border: #cccccc dashed 1px;\">Drop blocks or content here</p>",
139
+ "availableViews": [],
140
+ "blocks": {},
141
+ "slots": {},
142
+ "data": {
143
+ "email": {
144
+ "options": {
145
+ "generateFrom": ""
146
+ }
147
+ }
148
+ },
149
+ "modelVersion": 2
150
+ }
151
+ },
152
+ "template": {
153
+ "content": "",
154
+ "meta": {
155
+ "contentHash": 1850388723
156
+ },
157
+ "slots": {
158
+ "banner": {
159
+ "locked": false,
160
+ "availableViews": [],
161
+ "data": {
162
+ "email": {
163
+ "options": {
164
+ "generateFrom": ""
165
+ }
166
+ }
167
+ },
168
+ "modelVersion": 2
169
+ }
170
+ },
171
+ "r__asset_key": "testNew_asset_template"
172
+ },
173
+ "data": {
174
+ "email": {
175
+ "options": {
176
+ "generateFrom": ""
177
+ }
178
+ }
179
+ },
180
+ "modelVersion": 2
181
+ },
182
+ "text": {
183
+ "thumbnail": {},
184
+ "availableViews": [],
185
+ "data": {
186
+ "email": {
187
+ "options": {
188
+ "generateFrom": "html"
189
+ }
190
+ }
191
+ },
192
+ "generateFrom": "html",
193
+ "modelVersion": 2
194
+ },
195
+ "viewAsAWebPage": {
196
+ "thumbnail": {},
197
+ "availableViews": [],
198
+ "data": {
199
+ "email": {
200
+ "options": {
201
+ "generateFrom": ""
202
+ }
203
+ }
204
+ },
205
+ "modelVersion": 2
206
+ },
207
+ "subscriptioncenter": {
208
+ "thumbnail": {},
209
+ "availableViews": [],
210
+ "data": {
211
+ "email": {
212
+ "options": {
213
+ "generateFrom": ""
214
+ }
215
+ }
216
+ },
217
+ "modelVersion": 2
218
+ },
219
+ "forwardHTML": {
220
+ "thumbnail": {},
221
+ "availableViews": [],
222
+ "data": {
223
+ "email": {
224
+ "options": {
225
+ "generateFrom": ""
226
+ }
227
+ }
228
+ },
229
+ "modelVersion": 2
230
+ },
231
+ "forwardText": {
232
+ "thumbnail": {},
233
+ "availableViews": [],
234
+ "data": {
235
+ "email": {
236
+ "options": {
237
+ "generateFrom": ""
238
+ }
239
+ }
240
+ },
241
+ "modelVersion": 2
242
+ }
243
+ },
244
+ "availableViews": [
245
+ "subjectline",
246
+ "preheader",
247
+ "html",
248
+ "text",
249
+ "viewAsAWebPage",
250
+ "subscriptioncenter",
251
+ "forwardHTML",
252
+ "forwardText"
253
+ ],
254
+ "data": {
255
+ "email": {
256
+ "options": {
257
+ "characterEncoding": "utf-8"
258
+ },
259
+ "attributes": [
260
+ {
261
+ "displayName": "__AdditionalEmailAttribute1",
262
+ "name": "__AdditionalEmailAttribute1",
263
+ "value": "",
264
+ "order": 1,
265
+ "channel": "email",
266
+ "attributeType": "AdditionalEmailAttribute"
267
+ },
268
+ {
269
+ "displayName": "__AdditionalEmailAttribute2",
270
+ "name": "__AdditionalEmailAttribute2",
271
+ "value": "",
272
+ "order": 2,
273
+ "channel": "email",
274
+ "attributeType": "AdditionalEmailAttribute"
275
+ },
276
+ {
277
+ "displayName": "__AdditionalEmailAttribute3",
278
+ "name": "__AdditionalEmailAttribute3",
279
+ "value": "",
280
+ "order": 3,
281
+ "channel": "email",
282
+ "attributeType": "AdditionalEmailAttribute"
283
+ },
284
+ {
285
+ "displayName": "__AdditionalEmailAttribute4",
286
+ "name": "__AdditionalEmailAttribute4",
287
+ "value": "",
288
+ "order": 4,
289
+ "channel": "email",
290
+ "attributeType": "AdditionalEmailAttribute"
291
+ },
292
+ {
293
+ "displayName": "__AdditionalEmailAttribute5",
294
+ "name": "__AdditionalEmailAttribute5",
295
+ "value": "",
296
+ "order": 5,
297
+ "channel": "email",
298
+ "attributeType": "AdditionalEmailAttribute"
299
+ }
300
+ ]
301
+ }
302
+ },
303
+ "modelVersion": 2,
304
+ "r__folder_Path": "Content Builder"
305
+ }
@@ -0,0 +1,150 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
5
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6
+ <style type="text/css">
7
+ ReadMsgBody{ width: 100%;}
8
+ .ExternalClass {width: 100%;}
9
+ .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;}
10
+ body {-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;margin:0 !important;}
11
+ p { margin: 1em 0;}
12
+ table td { border-collapse: collapse;}
13
+ img {outline:0;}
14
+ a img {border:none;}
15
+ @-ms-viewport{ width: device-width;}
16
+ </style>
17
+ <style type="text/css">
18
+ @media only screen and (max-width: 480px) {
19
+ .container {width: 100% !important;}
20
+ .footer { width:auto !important; margin-left:0; }
21
+ .mobile-hidden { display:none !important; }
22
+ .logo { display:block !important; padding:0 !important; }
23
+ img { max-width:100% !important; height:auto !important; max-height:auto !important;}
24
+ .header img{max-width:100% !important;height:auto !important; max-height:auto !important;}
25
+ .photo img { width:100% !important; max-width:100% !important; height:auto !important;}
26
+ .drop { display:block !important; width: 100% !important; float:left; clear:both;}
27
+ .footerlogo { display:block !important; width: 100% !important; padding-top:15px; float:left; clear:both;}
28
+ .nav4, .nav5, .nav6 { display: none !important; }
29
+ .tableBlock {width:100% !important;}
30
+ .responsive-td {width:100% !important; display:block !important; padding:0 !important; }
31
+ .fluid, .fluid-centered {
32
+ width: 100% !important;
33
+ max-width: 100% !important;
34
+ height: auto !important;
35
+ margin-left: auto !important;
36
+ margin-right: auto !important;
37
+ }
38
+ .fluid-centered {
39
+ margin-left: auto !important;
40
+ margin-right: auto !important;
41
+ }
42
+ /* MOBILE GLOBAL STYLES - DO NOT CHANGE */
43
+ body { padding: 0px !important; font-size: 16px !important; line-height: 150% !important;}
44
+ h1 { font-size: 22px !important; line-height: normal !important;}
45
+ h2 { font-size: 20px !important; line-height: normal !important;}
46
+ h3 { font-size: 18px !important; line-height: normal !important;}
47
+ .buttonstyles {
48
+ font-family:arial,helvetica,sans-serif !important;
49
+ font-size: 16px !important;
50
+ color: #FFFFFF !important;
51
+ padding: 10px !important;
52
+ }
53
+ /* END OF MOBILE GLOBAL STYLES - DO NOT CHANGE */
54
+ }
55
+ @media only screen and (max-width: 640px) {
56
+ .container { width:100% !important; }
57
+ .mobile-hidden { display:none !important; }
58
+ .logo { display:block !important; padding:0 !important; }
59
+ .photo img { width:100% !important; height:auto !important;}
60
+ .nav5, .nav6 { display: none !important;}
61
+ .fluid, .fluid-centered {
62
+ width: 100% !important;
63
+ max-width: 100% !important;
64
+ height: auto !important;
65
+ margin-left: auto !important;
66
+ margin-right: auto !important;
67
+ }
68
+ .fluid-centered {
69
+ margin-left: auto !important;
70
+ margin-right: auto !important;
71
+ }
72
+ }
73
+ </style>
74
+ <!--[if mso]>
75
+ <style type="text/css">
76
+ /* Begin Outlook Font Fix */
77
+ body, table, td {
78
+ font-family: Arial, Helvetica, sans-serif ;
79
+ font-size:16px;
80
+ color:#000000;
81
+ line-height:1;
82
+ }
83
+ /* End Outlook Font Fix */
84
+ </style>
85
+ <![endif]-->
86
+ </head>
87
+ <body bgcolor="#ffffff" text="#000000" style="background-color: #ffffff; color: #000000; padding: 0px; -webkit-text-size-adjust:none; font-size: 16px; font-family:arial,helvetica,sans-serif;">
88
+ <div style="font-size:0; line-height:0;"><custom name="opencounter" type="tracking"><custom name="usermatch" type="tracking" /></div>
89
+ <table width="100%" border="0" cellpadding="0" cellspacing="0" align="center">
90
+ <tr>
91
+ <td align="center" valign="top">
92
+ <custom type="header"/>
93
+ </td>
94
+ </tr>
95
+ <tr>
96
+ <td align="center">
97
+ <table cellspacing="0" cellpadding="0" border="0" width="600" class="container" align="center">
98
+ <tr>
99
+ <td>
100
+ <table class="tb_properties border_style" style="background-color:#FFFFFF;" cellspacing="0" cellpadding="0" bgcolor="#ffffff" width="100%">
101
+ <tr>
102
+ <td align="center" valign="top">
103
+ <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%">
104
+ <tr>
105
+ <!-- added padding here -->
106
+ <td class="content_padding" style="">
107
+ <!-- end of comment -->
108
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
109
+ <tr> <!-- top slot -->
110
+ <td align="center" class="header" valign="top">
111
+ <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%">
112
+ <tbody>
113
+ <tr>
114
+ <td align="left" valign="top">
115
+ <table cellspacing="0" cellpadding="0" style="width:100%">
116
+ <tbody>
117
+ <tr>
118
+ <td class="responsive-td" valign="top" style="width: 100%;">
119
+ <div data-type="slot" data-key="banner">
120
+ </div>
121
+ </td>
122
+ </tr>
123
+ </tbody>
124
+ </table>
125
+ </td>
126
+ </tr>
127
+ </tbody>
128
+ </table>
129
+ </td>
130
+ </tr>
131
+ </table>
132
+ </td>
133
+ </tr>
134
+ </table>
135
+ </td>
136
+ </tr>
137
+ </table>
138
+ </td>
139
+ </tr>
140
+ </table>
141
+ </td>
142
+ </tr>
143
+ <tr>
144
+ <td valign="top">
145
+ <custom type="footer" />
146
+ </td>
147
+ </tr>
148
+ </table>
149
+ </body>
150
+ </html>