@ptcwebops/ptcw-design 3.0.2 → 3.0.4

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 (122) hide show
  1. package/dist/cjs/embedded-form.cjs.entry.js +108 -0
  2. package/dist/cjs/footer-form.cjs.entry.js +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/max-width-container.cjs.entry.js +54 -0
  5. package/dist/cjs/ptc-button.cjs.entry.js +52 -0
  6. package/dist/cjs/ptc-data-lookup.cjs.entry.js +496 -0
  7. package/dist/cjs/ptc-filter-dropdown_4.cjs.entry.js +1 -1
  8. package/dist/cjs/ptc-filter-level-theater.cjs.entry.js +6 -1
  9. package/dist/cjs/{embedded-form_9.cjs.entry.js → ptc-form-checkbox_3.cjs.entry.js} +12 -804
  10. package/dist/cjs/ptc-form.cjs.entry.js +1 -1
  11. package/dist/cjs/ptc-modal-quiz.cjs.entry.js +1 -1
  12. package/dist/cjs/ptc-pricing-packaging-table.cjs.entry.js +7 -5
  13. package/dist/cjs/ptc-quote.cjs.entry.js +3 -2
  14. package/dist/cjs/ptc-spacer.cjs.entry.js +38 -0
  15. package/dist/cjs/ptc-title.cjs.entry.js +78 -0
  16. package/dist/cjs/ptc-value-led-card.cjs.entry.js +21 -0
  17. package/dist/cjs/ptc-value-led-content-highlight.cjs.entry.js +19 -0
  18. package/dist/cjs/ptc-value-led-content.cjs.entry.js +19 -0
  19. package/dist/cjs/ptc-value-led-intro.cjs.entry.js +20 -0
  20. package/dist/cjs/ptc-value-led-layout.cjs.entry.js +2 -2
  21. package/dist/cjs/ptc-value-led-speed-bump.cjs.entry.js +32 -0
  22. package/dist/cjs/ptcw-design.cjs.js +1 -1
  23. package/dist/collection/collection-manifest.json +5 -1
  24. package/dist/collection/components/organism-bundles/form/embedded-form/embedded-form.js +1 -1
  25. package/dist/collection/components/organism-bundles/form/footer-form/footer-form.js +1 -1
  26. package/dist/collection/components/organism-bundles/form/ptc-form/ptc-form.js +1 -1
  27. package/dist/collection/components/ptc-button/ptc-button.css +42 -0
  28. package/dist/collection/components/ptc-button/ptc-button.js +20 -1
  29. package/dist/collection/components/ptc-filter-dropdown/ptc-filter-dropdown.js +1 -1
  30. package/dist/collection/components/ptc-filter-level-theater/ptc-filter-level-theater.js +27 -1
  31. package/dist/collection/components/ptc-modal-quiz/ptc-modal-quiz.css +6 -1
  32. package/dist/collection/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.js +7 -5
  33. package/dist/collection/components/ptc-quote/ptc-quote.css +28 -0
  34. package/dist/collection/components/ptc-quote/ptc-quote.js +4 -3
  35. package/dist/collection/components/ptc-select/ptc-select.js +4 -4
  36. package/dist/collection/components/ptc-textfield/ptc-textfield.js +12 -16
  37. package/dist/collection/components/ptc-value-led-card/ptc-value-led-card.css +36 -0
  38. package/dist/collection/components/ptc-value-led-card/ptc-value-led-card.js +60 -0
  39. package/dist/collection/components/ptc-value-led-content/ptc-value-led-content.css +12 -0
  40. package/dist/collection/components/ptc-value-led-content/ptc-value-led-content.js +18 -0
  41. package/dist/collection/components/ptc-value-led-content-highlight/ptc-value-led-content-highlight.css +31 -0
  42. package/dist/collection/components/ptc-value-led-content-highlight/ptc-value-led-content-highlight.js +18 -0
  43. package/dist/collection/components/ptc-value-led-intro/ptc-value-led-intro.css +16 -0
  44. package/dist/collection/components/ptc-value-led-intro/ptc-value-led-intro.js +42 -0
  45. package/dist/collection/components/ptc-value-led-layout/ptc-value-led-layout.css +22 -3
  46. package/dist/collection/components/ptc-value-led-layout/ptc-value-led-layout.js +1 -1
  47. package/dist/collection/components/ptc-value-led-speed-bump/ptc-value-led-speed-bump.css +63 -0
  48. package/dist/collection/components/ptc-value-led-speed-bump/ptc-value-led-speed-bump.js +97 -0
  49. package/dist/custom-elements/index.d.ts +30 -6
  50. package/dist/custom-elements/index.js +139 -571
  51. package/dist/esm/embedded-form.entry.js +104 -0
  52. package/dist/esm/footer-form.entry.js +1 -1
  53. package/dist/esm/loader.js +1 -1
  54. package/dist/esm/max-width-container.entry.js +50 -0
  55. package/dist/esm/ptc-button.entry.js +48 -0
  56. package/dist/esm/ptc-data-lookup.entry.js +492 -0
  57. package/dist/esm/ptc-filter-dropdown_4.entry.js +1 -1
  58. package/dist/esm/ptc-filter-level-theater.entry.js +6 -1
  59. package/dist/esm/{embedded-form_9.entry.js → ptc-form-checkbox_3.entry.js} +14 -800
  60. package/dist/esm/ptc-form.entry.js +1 -1
  61. package/dist/esm/ptc-modal-quiz.entry.js +1 -1
  62. package/dist/esm/ptc-pricing-packaging-table.entry.js +7 -5
  63. package/dist/esm/ptc-quote.entry.js +3 -2
  64. package/dist/esm/ptc-spacer.entry.js +34 -0
  65. package/dist/esm/ptc-title.entry.js +74 -0
  66. package/dist/esm/ptc-value-led-card.entry.js +17 -0
  67. package/dist/esm/ptc-value-led-content-highlight.entry.js +15 -0
  68. package/dist/esm/ptc-value-led-content.entry.js +15 -0
  69. package/dist/esm/ptc-value-led-intro.entry.js +16 -0
  70. package/dist/esm/ptc-value-led-layout.entry.js +2 -2
  71. package/dist/esm/ptc-value-led-speed-bump.entry.js +28 -0
  72. package/dist/esm/ptcw-design.js +1 -1
  73. package/dist/ptcw-design/p-036234e7.entry.js +1 -0
  74. package/dist/ptcw-design/{p-ed2cc9da.entry.js → p-08ed517e.entry.js} +1 -1
  75. package/dist/ptcw-design/p-137ddeeb.entry.js +1 -0
  76. package/dist/ptcw-design/p-18dfffd3.entry.js +359 -0
  77. package/dist/ptcw-design/p-236073e1.entry.js +1 -0
  78. package/dist/ptcw-design/p-2e4af711.entry.js +1 -0
  79. package/dist/ptcw-design/p-33c054ff.entry.js +1 -0
  80. package/dist/ptcw-design/{p-f00b4b73.entry.js → p-3ca391ab.entry.js} +1 -1
  81. package/dist/ptcw-design/p-3faffecb.entry.js +1 -0
  82. package/dist/ptcw-design/p-49f06645.entry.js +1 -0
  83. package/dist/ptcw-design/p-641bd525.entry.js +1 -0
  84. package/dist/ptcw-design/p-744b640e.entry.js +1 -0
  85. package/dist/ptcw-design/p-752f779c.entry.js +1 -0
  86. package/dist/ptcw-design/p-7aa6b7e5.entry.js +1 -0
  87. package/dist/ptcw-design/p-7c079ff8.entry.js +1 -0
  88. package/dist/ptcw-design/p-92bbd407.entry.js +1 -0
  89. package/dist/ptcw-design/p-9a36f7a3.entry.js +1 -0
  90. package/dist/ptcw-design/p-a5bbf47d.entry.js +1 -0
  91. package/dist/ptcw-design/p-d2c400e2.entry.js +1 -0
  92. package/dist/ptcw-design/p-f1c77113.entry.js +1 -0
  93. package/dist/ptcw-design/ptcw-design.css +2 -2
  94. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  95. package/dist/types/components/ptc-button/ptc-button.d.ts +4 -0
  96. package/dist/types/components/ptc-filter-level-theater/ptc-filter-level-theater.d.ts +1 -0
  97. package/dist/types/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.d.ts +2 -0
  98. package/dist/types/components/ptc-quote/ptc-quote.d.ts +1 -1
  99. package/dist/types/components/ptc-select/ptc-select.d.ts +1 -1
  100. package/dist/types/components/ptc-textfield/ptc-textfield.d.ts +1 -1
  101. package/dist/types/components/ptc-value-led-card/ptc-value-led-card.d.ts +5 -0
  102. package/dist/types/components/ptc-value-led-content/ptc-value-led-content.d.ts +3 -0
  103. package/dist/types/components/ptc-value-led-content-highlight/ptc-value-led-content-highlight.d.ts +3 -0
  104. package/dist/types/components/ptc-value-led-intro/ptc-value-led-intro.d.ts +4 -0
  105. package/dist/types/components/ptc-value-led-speed-bump/ptc-value-led-speed-bump.d.ts +10 -0
  106. package/dist/types/components.d.ts +93 -75
  107. package/package.json +1 -1
  108. package/readme.md +1 -1
  109. package/dist/cjs/ptc-pricing-table.cjs.entry.js +0 -536
  110. package/dist/collection/components/ptc-pricing-table/ptc-pricing-table.css +0 -278
  111. package/dist/collection/components/ptc-pricing-table/ptc-pricing-table.js +0 -680
  112. package/dist/esm/ptc-pricing-table.entry.js +0 -532
  113. package/dist/ptcw-design/p-220f86c0.entry.js +0 -1
  114. package/dist/ptcw-design/p-4a865061.entry.js +0 -1
  115. package/dist/ptcw-design/p-b0b4ebd6.entry.js +0 -359
  116. package/dist/ptcw-design/p-b2d01ad4.entry.js +0 -1
  117. package/dist/ptcw-design/p-c20538ec.entry.js +0 -1
  118. package/dist/ptcw-design/p-e8bd06a4.entry.js +0 -1
  119. package/dist/ptcw-design/p-f2621425.entry.js +0 -1
  120. package/dist/ptcw-design/p-f29c71fe.entry.js +0 -1
  121. package/dist/types/components/ptc-pricing-table/ptc-pricing-table.d.ts +0 -110
  122. package/dist/types/utils/eloqua.d.ts +0 -8
@@ -0,0 +1,496 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-cd9a1b1a.js');
6
+
7
+ // Define the ElqLib class
8
+ class ElqLib {
9
+ constructor(params) {
10
+ this.params = params;
11
+ this.url_vars = {};
12
+ this.visitor_elq_id = null;
13
+ this.field_mappings = [];
14
+ this.callback_queue = [];
15
+ this.fields_populated = false;
16
+ this.user_elq_email = '';
17
+ this.user_elq_firstname = '';
18
+ this.user_elq_lastname = '';
19
+ // Merge defaults with params
20
+ const defaults = {
21
+ elq_site_id: '',
22
+ elq_visitor_lookup_key: '',
23
+ elq_recipient_id_lookup_key: '',
24
+ elq_contact_lookup_key: '',
25
+ elq_field_email_rec_id: 'V_EmailRecipientID',
26
+ elq_field_contact_email: 'C_EmailAddress',
27
+ elq_field_visitor_email: 'V_Email_Address',
28
+ elq_field_visitor_firstname: 'V_First_Name',
29
+ elq_field_visitor_lastname: 'V_Last_Name',
30
+ notme_link_id: 'not-me-link-id',
31
+ notme_fields_class: null,
32
+ notme_message: 'Not {name}? Click here.',
33
+ notme_message_noname: 'Not your details below? Click here.',
34
+ };
35
+ this.params = Object.assign(Object.assign({}, defaults), this.params);
36
+ this.init();
37
+ }
38
+ init() {
39
+ // Merge defaults with user-provided params if not already done in the constructor
40
+ // ...
41
+ // Set Eloqua site ID
42
+ this.setEloquaSiteId();
43
+ // Load Eloqua scripts
44
+ this.async_load();
45
+ // Store URL variables
46
+ this.store_url_vars();
47
+ // Store visitor's Eloqua IDgit
48
+ this.store_visitor_elq_id();
49
+ // init noteme link;
50
+ this.init_notme();
51
+ // Set the global Eloqua callback function
52
+ window.SetElqContent = this.eloqua_callback.bind(this);
53
+ }
54
+ setEloquaSiteId() {
55
+ if (this.params.elq_site_id) {
56
+ ElqLib._elqQ.push(['elqSetSiteId', this.params.elq_site_id]);
57
+ ElqLib._elqQ.push(['elqUseFirstPartyCookie', 'tracking.ptc.com']);
58
+ ElqLib._elqQ.push(['elqTrackPageView', window.location.href]);
59
+ }
60
+ }
61
+ fire_pageview(url) {
62
+ try {
63
+ if (typeof url === 'undefined') {
64
+ ElqLib._elqQ.push(['elqTrackPageView']);
65
+ }
66
+ else {
67
+ ElqLib._elqQ.push(['elqTrackPageView', url]);
68
+ }
69
+ console.log('TRACKING: Eloqua pageview fired for URL: ' + (url || 'current page'));
70
+ }
71
+ catch (e) {
72
+ console.log('TRACKING: Could not fire Eloqua pageview: ', e);
73
+ }
74
+ }
75
+ find_eloqua_contact() {
76
+ console.log('CONTACT LOOKUP: Attempting to find Eloqua contact...');
77
+ // Queue callback action for the return of lookup
78
+ this.callback_queue.push(this.handle_visitor_lookup.bind(this));
79
+ // Start with a recipient lookup if ID was supplied in URL
80
+ if (this.visitor_elq_id !== null) {
81
+ this.lookup_visitor_by_recipient_id();
82
+ }
83
+ else {
84
+ // If no visitor ID, attempt to do a visitor lookup with an Eloqua cookie
85
+ this.lookup_visitor_by_cookie(); //preference center
86
+ this.lookup_contact_by_email();
87
+ }
88
+ }
89
+ add_field_mapping(mapping) {
90
+ this.field_mappings.push(mapping);
91
+ }
92
+ add_queue_action(action) {
93
+ this.callback_queue.push(action);
94
+ }
95
+ store_url_vars() {
96
+ // Clear the current url_vars
97
+ this.url_vars = {};
98
+ // Split the URL by the '?' to get the query string part
99
+ const queryString = window.location.search.substring(1);
100
+ // Split the query string by '&' to get each key-value pair
101
+ queryString.split('&').forEach(paramString => {
102
+ // Split the key-value pairs by '=' to separate keys and values
103
+ let [key, value] = paramString.split('=');
104
+ // Decode URI components to handle URL encoding
105
+ key = decodeURIComponent(key);
106
+ value = decodeURIComponent(value);
107
+ // Store the key-value pair in the url_vars object
108
+ this.url_vars[key] = value;
109
+ });
110
+ // Optionally, log the stored URL variables
111
+ console.log('URL variables stored:', this.url_vars);
112
+ }
113
+ store_visitor_elq_id() {
114
+ console.log("INIT: Looking for visitor's Eloqua ID in URL...");
115
+ const elqIdParam = this.url_vars['elq'];
116
+ if (elqIdParam) {
117
+ const elqId = elqIdParam.toUpperCase().replace(/(.{8})(.{4})(.{4})(.{4})(.{12})/, '$1-$2-$3-$4-$5');
118
+ this.visitor_elq_id = elqId;
119
+ console.log(`INIT: ...visitor Eloqua ID found in URL: ${elqId}`);
120
+ }
121
+ else {
122
+ this.visitor_elq_id = null;
123
+ console.log('INIT: ...no visitor Eloqua ID found in URL');
124
+ }
125
+ }
126
+ // private merge(root: any, ...sources: any[]): any {
127
+ // sources.forEach(source => {
128
+ // for (const key in source) {
129
+ // if (source.hasOwnProperty(key)) {
130
+ // root[key] = source[key];
131
+ // }
132
+ // }
133
+ // });
134
+ // return root;
135
+ // }
136
+ eloqua_callback() {
137
+ console.log('LOOKUP: Eloqua lookup finished');
138
+ // Process each action in the callback queue
139
+ let actionSucceeded = true;
140
+ while (actionSucceeded && this.callback_queue.length > 0) {
141
+ const action = this.callback_queue.shift();
142
+ if (action) {
143
+ console.log(`QUEUE: Executing action`);
144
+ actionSucceeded = action(); // Execute the action. It must return a boolean indicating success.
145
+ if (actionSucceeded) {
146
+ console.log('QUEUE: Action executed successfully, removed from queue');
147
+ }
148
+ else {
149
+ console.log('QUEUE: Action failed, re-adding to queue');
150
+ this.callback_queue.unshift(action); // Re-add the action to the front of the queue
151
+ break; // Break out of the loop if an action fails
152
+ }
153
+ }
154
+ }
155
+ // After processing the queue, update user details or perform other operations
156
+ if (actionSucceeded) {
157
+ this.update_user_details();
158
+ this.populate_mapped_fields();
159
+ }
160
+ // ...additional code to handle the aftermath of callback processing...
161
+ }
162
+ lookup_visitor_by_cookie() {
163
+ if (this.params.elq_visitor_lookup_key != '') {
164
+ ElqLib._elqQ.push(['elqDataLookup', escape(this.params.elq_visitor_lookup_key), '']);
165
+ console.log('LOOKUP: Visitor lookup sent using Eloqua cookie');
166
+ }
167
+ else {
168
+ console.log('LOOKUP: A visitor lookup cannot be performed as no lookup key was defined');
169
+ }
170
+ }
171
+ lookup_visitor_by_recipient_id() {
172
+ if (this.params.elq_recipient_id_lookup_key != '') {
173
+ ElqLib._elqQ.push([
174
+ 'elqDataLookup',
175
+ escape(this.params.elq_recipient_id_lookup_key),
176
+ '<' + this.params.elq_field_email_rec_id + '>' + this.visitor_elq_id + '</' + this.params.elq_field_email_rec_id + '>',
177
+ ]);
178
+ console.log('LOOKUP: Visitor lookup sent using email recipient id: ' + this.visitor_elq_id);
179
+ }
180
+ else {
181
+ console.log('LOOKUP: A visitor lookup cannot be performed as no lookup key was defined');
182
+ }
183
+ }
184
+ lookup_contact_by_email() {
185
+ if (this.params.elq_contact_lookup_key != '') {
186
+ ElqLib._elqQ.push([
187
+ 'elqDataLookup',
188
+ escape(this.params.elq_contact_lookup_key),
189
+ '<' + this.params.elq_field_contact_email + '>' + this.user_elq_email + '</' + this.params.elq_field_contact_email + '>',
190
+ ]);
191
+ console.log('LOOKUP: Contact lookup sent using email address: ' + this.user_elq_email);
192
+ }
193
+ else {
194
+ console.log('LOOKUP: A visitor lookup cannot be performed as no lookup key was defined');
195
+ }
196
+ }
197
+ handle_visitor_lookup() {
198
+ //console.log('Contact Email: ' + this.params.elq_field_contact_email)
199
+ const email = window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email); //it was elq_field_visitor_email ( V_Email_Address)
200
+ if (email) {
201
+ console.log(`LOOKUP: Found contact email address: ${email}`);
202
+ this.user_elq_email = email.trim();
203
+ this.lookup_contact_by_email();
204
+ this.callback_queue.push(this.handle_contact_lookup.bind(this));
205
+ return true;
206
+ }
207
+ else {
208
+ return false;
209
+ }
210
+ }
211
+ handle_contact_lookup() {
212
+ if (window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email) != '') {
213
+ console.log('LOOKUP: Found contact email address: ' + window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email));
214
+ return true;
215
+ }
216
+ else {
217
+ return false;
218
+ }
219
+ }
220
+ populate_mapped_fields() {
221
+ console.log('MAPPING: Starting field mapping');
222
+ //debugger;
223
+ this.field_mappings.forEach(({ elementId, elqFieldName }) => {
224
+ const fieldValue = window.GetElqContentPersonalizationValue(elqFieldName);
225
+ if (elementId !== 'contact-country') {
226
+ const element = document.getElementById(elementId);
227
+ console.log('element ID of field mappings: ' + element);
228
+ console.log('fieldValue ID of field mappings: ' + fieldValue);
229
+ if (element && fieldValue) {
230
+ element.value = fieldValue;
231
+ //element.style.display = 'none'; // Hide the field.
232
+ if (element.closest('ptc-textfield')) {
233
+ element.closest('ptc-textfield').style.display = 'none';
234
+ }
235
+ else if (element.closest('ptc-select')) {
236
+ element.closest('ptc-select').style.display = 'none';
237
+ }
238
+ this.fields_populated = true;
239
+ }
240
+ }
241
+ else {
242
+ const countryEle = document.getElementById(elementId);
243
+ if (countryEle && fieldValue) {
244
+ countryEle.textContent = fieldValue;
245
+ }
246
+ // debugger;
247
+ if (countryEle.closest('ptc-select')) {
248
+ countryEle.closest('ptc-select').style.display = 'none';
249
+ }
250
+ }
251
+ });
252
+ console.log('MAPPING: Finished ');
253
+ if (this.fields_populated) {
254
+ this.update_notme_link();
255
+ }
256
+ }
257
+ update_user_details() {
258
+ console.log('displaying user info...');
259
+ if (window.GetElqContentPersonalizationValue(this.params.elq_field_contact_email) !== '') {
260
+ document
261
+ .querySelectorAll('input[type=text], input[type=tel], input[name="phonenumber"], input[name="phonenumbertwo"], input[type=email], select, textarea, span.mdc-select__selected-text')
262
+ .forEach((element) => {
263
+ if (element.tagName === 'SPAN') {
264
+ const spanText = element;
265
+ const spanEloquaName = spanText.getAttribute('data-eloqua-name');
266
+ if (spanEloquaName !== null) {
267
+ const spanElqValue = window.GetElqContentPersonalizationValue(spanEloquaName);
268
+ if (spanElqValue !== '' && spanElqValue.length > 0) {
269
+ spanText.textContent = spanElqValue;
270
+ }
271
+ }
272
+ }
273
+ else if (element.className.includes('intl-tel-input')) {
274
+ const telInput = element;
275
+ const eloquaName = telInput.getAttribute('data-eloqua-name');
276
+ if (eloquaName !== null) {
277
+ const elqValue = window.GetElqContentPersonalizationValue(eloquaName);
278
+ if (elqValue !== '' && elqValue.length > 0) {
279
+ setTimeout(() => {
280
+ telInput.placeholder = elqValue;
281
+ }, 1000);
282
+ }
283
+ }
284
+ }
285
+ else {
286
+ const input = element;
287
+ const eloquaName = input.getAttribute('data-eloqua-name');
288
+ if (eloquaName !== null) {
289
+ const elqValue = window.GetElqContentPersonalizationValue(eloquaName);
290
+ if (elqValue !== '' && elqValue.length > 0) {
291
+ input.value = elqValue;
292
+ }
293
+ }
294
+ }
295
+ });
296
+ }
297
+ if (this.user_elq_email == '' && window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_email) != '') {
298
+ this.user_elq_email = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_email);
299
+ }
300
+ if (this.user_elq_firstname == '' && window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_firstname) != '') {
301
+ this.user_elq_firstname = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_firstname);
302
+ }
303
+ if (this.user_elq_lastname == '' && window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_lastname) != '') {
304
+ this.user_elq_lastname = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_lastname);
305
+ }
306
+ }
307
+ update_notme_link() {
308
+ // Assuming the user's first and last name are available from Eloqua fields
309
+ const firstName = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_firstname);
310
+ const lastName = window.GetElqContentPersonalizationValue(this.params.elq_field_visitor_lastname);
311
+ const notMeLinkElement = document.getElementById(this.params.notme_link_id);
312
+ const topAdditional = document.getElementById('not-me-additional-top');
313
+ const bottomAdditional = document.getElementById('not-me-additional-bottom');
314
+ if (notMeLinkElement) {
315
+ let message = this.params.notme_message;
316
+ console.log('first name: ' + firstName);
317
+ if (firstName && lastName) {
318
+ message = this.params.notme_message.replace('{name}', lastName + ' ' + firstName);
319
+ }
320
+ notMeLinkElement.innerHTML = `<a href="#">${message}</a>`;
321
+ topAdditional.innerHTML = "Please fill out additional information.";
322
+ bottomAdditional.innerHTML = "Click the button below to recieve email confirmation.";
323
+ topAdditional.style.display = 'block';
324
+ bottomAdditional.style.display = 'block';
325
+ notMeLinkElement.onclick = this.remove_user_details.bind(this);
326
+ }
327
+ }
328
+ init_notme() {
329
+ const topAdditional = document.getElementById('not-me-additional-top');
330
+ const bottomAdditional = document.getElementById('not-me-additional-bottom');
331
+ if (topAdditional)
332
+ topAdditional.style.display = 'none';
333
+ if (bottomAdditional)
334
+ bottomAdditional.style.display = 'none';
335
+ }
336
+ remove_user_details(e) {
337
+ e.preventDefault();
338
+ this.user_elq_email = '';
339
+ this.user_elq_firstname = '';
340
+ this.user_elq_lastname = '';
341
+ // $('.' + this.params.notme_fields_class).val('');
342
+ const linkDiv = document.getElementById(this.params.notme_link_id);
343
+ const topAdditional = document.getElementById('not-me-additional-top');
344
+ const bottomAdditional = document.getElementById('not-me-additional-bottom');
345
+ linkDiv.querySelector('a').remove();
346
+ topAdditional.style.display = 'none';
347
+ bottomAdditional.style.display = 'none';
348
+ this.refreshForm();
349
+ return false;
350
+ }
351
+ refreshForm() {
352
+ this.field_mappings.forEach(({ elementId }) => {
353
+ if (elementId !== 'contact-country') {
354
+ const element = document.getElementById(elementId);
355
+ if (element) {
356
+ console.log('element: ' + element);
357
+ element.value = ''; // Reset the value
358
+ if (element.closest('ptc-textfield')) {
359
+ element.closest('ptc-textfield').style.display = '';
360
+ }
361
+ else if (element.closest('ptc-select')) {
362
+ element.closest('ptc-select').style.display = '';
363
+ }
364
+ }
365
+ }
366
+ else {
367
+ const countryEle = document.getElementById(elementId);
368
+ if (countryEle) {
369
+ countryEle.textContent = '';
370
+ }
371
+ // debugger;
372
+ if (countryEle.closest('ptc-select')) {
373
+ countryEle.closest('ptc-select').style.display = '';
374
+ }
375
+ }
376
+ });
377
+ this.clearEloquaCookie('elq-uid'); // Optionally clear the Eloqua cookie
378
+ this.fields_populated = false;
379
+ //this.update_notme_link(); // Update the 'Not Me' link if necessary
380
+ }
381
+ clearEloquaCookie(name) {
382
+ document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
383
+ console.log('cookie cleared');
384
+ }
385
+ // Private Method to load Eloqua Scripts
386
+ async_load() {
387
+ const scriptUrl = 'https://img.en25.com/i/elqCfg.min.js';
388
+ const scriptElement = document.createElement('script');
389
+ scriptElement.type = 'text/javascript';
390
+ scriptElement.async = true;
391
+ scriptElement.src = scriptUrl;
392
+ // Error handling for script loading
393
+ scriptElement.onerror = errorEvent => {
394
+ console.log(`Error loading script: ${errorEvent}`);
395
+ };
396
+ // Append the script element to the head of the document, or before the first script tag found
397
+ const firstScriptTag = document.getElementsByTagName('script')[0];
398
+ if (firstScriptTag && firstScriptTag.parentNode) {
399
+ firstScriptTag.parentNode.insertBefore(scriptElement, firstScriptTag);
400
+ }
401
+ else {
402
+ document.head.appendChild(scriptElement);
403
+ }
404
+ console.log(`Async loading of script ${scriptUrl} initiated.`);
405
+ }
406
+ }
407
+ ElqLib._elqQ = window['_elqQ'] || [];
408
+ // Static member initialization
409
+ //ElqLib._elqQ = window['_elqQ'] || [];
410
+
411
+ const ptcDataLookupCss = ":host{display:block}#not-me-link-id{color:var(--color-gray-10);font-family:var(--ptc-font-latin);font-size:var(--ptc-font-size-medium);font-style:normal;font-weight:var(--ptc-font-weight-bold);line-height:normal;margin-bottom:var(--ptc-element-spacing-03);position:relative}#not-me-link-id a{color:var(--color-blue-07);font-family:var(--ptc-font-latin);font-size:var(--ptc-font-size-medium);font-style:normal;font-weight:var(--ptc-font-weight-bold);line-height:normal;text-decoration-line:underline}.not-me-additional-text{color:var(--color-gray-10);font-family:var(--ptc-font-latin);font-size:var(--ptc-font-size-medium);font-style:normal;font-weight:var(--ptc-font-weight-regular);line-height:normal;margin-bottom:var(--ptc-element-spacing-03)}.not-me-additional-text#not-me-additional-bottom{margin-bottom:unset;margin-top:var(--ptc-element-spacing-03)}.ptc-embedded-form>div{max-width:273px;overflow-wrap:break-word}.ptc-embedded-form .iti__country-name{color:var(--color-gray-12)}.ptc-embedded-form .iti--separate-dial-code.iti--show-flags .iti__selected-dial-code{color:var(--color-gray-12)}.ptc-embedded-form .mdc-menu-surface--open{z-index:99999}";
412
+
413
+ const PtcDataLookup = class {
414
+ constructor(hostRef) {
415
+ index.registerInstance(this, hostRef);
416
+ this.elqSiteId = undefined;
417
+ this.elqVisitorLookupKey = undefined;
418
+ this.elqRecipientIdLookupKey = undefined;
419
+ this.elqContactLookupKey = undefined;
420
+ this.elqFieldEmailRecId = 'V_EmailRecipientID';
421
+ this.elqFieldContactEmail = 'C_EmailAddress';
422
+ this.elqFieldVisitorEmail = 'V_Email_Address';
423
+ this.elqFieldVisitorFirstname = 'C_FirstName';
424
+ this.elqFieldVisitorLastname = 'C_LastName';
425
+ this.notmeLinkId = undefined;
426
+ this.notmeFieldsClass = undefined;
427
+ this.notmeMessage = undefined;
428
+ this.notmeMessageNoname = undefined;
429
+ this.isBlindSubmit = true;
430
+ this.isInitialized = false;
431
+ }
432
+ componentWillLoad() {
433
+ this.initializeElqLib();
434
+ if (this.isBlindSubmit) {
435
+ this.populateBlindField();
436
+ }
437
+ }
438
+ initializeElqLib() {
439
+ this.elqLib = new ElqLib({
440
+ elq_site_id: this.elqSiteId,
441
+ elq_visitor_lookup_key: this.elqVisitorLookupKey,
442
+ elq_recipient_id_lookup_key: this.elqRecipientIdLookupKey,
443
+ elq_contact_lookup_key: this.elqContactLookupKey,
444
+ elq_field_email_rec_id: this.elqFieldEmailRecId,
445
+ elq_field_contact_email: this.elqFieldContactEmail,
446
+ elq_field_visitor_email: this.elqFieldVisitorEmail,
447
+ elq_field_visitor_firstname: this.elqFieldVisitorFirstname,
448
+ elq_field_visitor_lastname: this.elqFieldVisitorLastname,
449
+ notme_link_id: this.notmeLinkId,
450
+ notme_fields_class: this.notmeFieldsClass,
451
+ notme_message: this.notmeMessage,
452
+ notme_message_noname: this.notmeMessageNoname,
453
+ });
454
+ this.isInitialized = true;
455
+ }
456
+ populateBlindField() {
457
+ this.elqLib.add_field_mapping({ elementId: 'contact-phone', elqFieldName: 'C_BusPhone' });
458
+ this.elqLib.add_field_mapping({ elementId: 'contact-email', elqFieldName: 'C_EmailAddress' });
459
+ this.elqLib.add_field_mapping({ elementId: 'contact-firstname', elqFieldName: 'C_FirstName' });
460
+ this.elqLib.add_field_mapping({ elementId: 'contact-lastname', elqFieldName: 'C_LastName' });
461
+ this.elqLib.add_field_mapping({ elementId: 'contact-country', elqFieldName: 'C_Country' });
462
+ this.elqLib.add_field_mapping({ elementId: 'contact-phone', elqFieldName: 'C_BusPhone' });
463
+ this.elqLib.add_field_mapping({ elementId: 'company', elqFieldName: 'C_Company' });
464
+ this.elqLib.add_field_mapping({ elementId: 'contact-zipcode', elqFieldName: 'C_Zip_Postal' });
465
+ this.elqLib.add_field_mapping({ elementId: 'contact-job-category', elqFieldName: 'C_Job_Role1' });
466
+ this.elqLib.add_field_mapping({ elementId: 'contact-job-function', elqFieldName: 'C_Job_Function1' });
467
+ this.elqLib.add_field_mapping({ elementId: 'contact-jp-job-title', elqFieldName: 'C_Title' });
468
+ }
469
+ getCookie(name) {
470
+ let cookieValue = null;
471
+ if (document.cookie) {
472
+ const cookies = document.cookie.split(';');
473
+ for (let cookie of cookies) {
474
+ const [key, value] = cookie.trim().split('=');
475
+ if (key === name) {
476
+ cookieValue = decodeURIComponent(value);
477
+ break;
478
+ }
479
+ }
480
+ }
481
+ return cookieValue;
482
+ }
483
+ async performDataLookup() {
484
+ if (this.isInitialized) {
485
+ this.elqLib.user_elq_email = this.getCookie('elq-uid');
486
+ this.elqLib.find_eloqua_contact();
487
+ }
488
+ }
489
+ render() {
490
+ return index.h("slot", null);
491
+ }
492
+ get el() { return index.getElement(this); }
493
+ };
494
+ PtcDataLookup.style = ptcDataLookupCss;
495
+
496
+ exports.ptc_data_lookup = PtcDataLookup;
@@ -38,7 +38,7 @@ const PtcFilterDropdown = class {
38
38
  radioItem.checked = false;
39
39
  }
40
40
  });
41
- this.emitSelectedOptions();
41
+ //this.emitSelectedOptions();
42
42
  }
43
43
  emitSelectedOptions() {
44
44
  // debugger
@@ -14,6 +14,7 @@ const PtcFilterLevelTheater = class {
14
14
  this.lastSelectedTab = 1;
15
15
  this.lastSelectedTabGroup = undefined;
16
16
  this.selectedTabGroup = 'landing-tab';
17
+ this.enableFilters = undefined;
17
18
  }
18
19
  selectTab(tabNumber, tabGroup) {
19
20
  this.lastSelectedTab = this.selectedTab; // Store the last selected tab before updating
@@ -35,6 +36,8 @@ const PtcFilterLevelTheater = class {
35
36
  });
36
37
  }
37
38
  else {
39
+ this.lastSelectedTab = 0;
40
+ this.lastSelectedTabGroup = 'landing-tab';
38
41
  this.selectTab(this.lastSelectedTab, this.lastSelectedTabGroup);
39
42
  this.filterCliked.emit({
40
43
  'sender': this,
@@ -47,7 +50,9 @@ const PtcFilterLevelTheater = class {
47
50
  return (index.h(index.Host, null, this.renderBackgroundImage(), index.h("div", { class: "ptc-container flt-wrapper" }, this.renderFilterSection(), index.h("div", { class: "content-tab-wrapper" }, index.h("div", { class: "flt-tab-wrapper" }, index.h("div", { class: "tab-list" }, index.h("div", { class: { 'tab-box': true, 'active-box': (this.selectedTab === 1 && this.selectedTabGroup === 'side-tabs') }, onClick: () => this.selectTab(1, 'side-tabs') }, "Manufacturing excellence through insight"), index.h("div", { class: { 'tab-box': true, 'active-box': (this.selectedTab === 2 && this.selectedTabGroup === 'side-tabs') }, onClick: () => this.selectTab(2, 'side-tabs') }, "Deliver transformational impact"), index.h("div", { class: { 'tab-box': true, 'active-box': (this.selectedTab === 3 && this.selectedTabGroup === 'side-tabs') }, onClick: () => this.selectTab(3, 'side-tabs') }, "Aligning to your business strategy"), index.h("div", { class: { 'tab-box': true, 'active-box': (this.selectedTab === 4 && this.selectedTabGroup === 'side-tabs') }, onClick: () => this.selectTab(4, 'side-tabs') }, "Prove and scale value"), index.h("ptc-button", { type: "button", color: "ptc-quaternary", "link-href": "#form-section", "text-align": 'center', styles: "a{display:block}" }, "Get Started"), this.renderSocialMediaIcon())), index.h("div", { class: "flt-content-wrap" }, index.h("div", { class: { 'flt-content': true, 'landing-slide': true, 'active-tab': (this.selectedTab === 1 && this.selectedTabGroup === 'landing-tab') } }, index.h("ptc-title", { type: 'h1', upperline: "no-upperline", "title-margin": "margin-flush", "title-color": "white" }, "ThingWorx Digital Performance Management"), index.h("p", null, "What could you do with more production time? Drive revenue? Reduce costs?"), index.h("p", null, "Description Tab Item Rechtsschutzversicherungsgesellschaften ", index.h("a", { href: "/en/" }, "internal link"), ", ", index.h("a", { href: "http://www.google.com" }, "External Link"), ", ", index.h("a", { href: "/en/resources/digital-download/Part-1-Cummins-Drives-Sustainability-Using-Creo-Generative-Design" }, "slug url"), ", ", index.h("strong", null, "bold"), ", ", index.h("em", null, "italics")), index.h("p", null, "Gaining the insight to key initiatives that remove production constraints can be challenging. Data is spread across systems and bottleneck reporting is manual, late, and error-prone. ThingWorx delivers the insight you need to make digital transformation possible. It provides real-time, closed-loop problem-solving which empowers your team with timely insights about bottlenecks, root causes, and the improvements that your initiatives actually deliver."), index.h("p", null, "We invite you to discover more with the videos and material in this microsite. Simply click on the options to the right to get started."), index.h("p", null, "Key Features:"), index.h("ul", null, index.h("li", null, "Real-time Production Dashboard"), index.h("li", null, "Bottleneck Analytics"), index.h("li", null, "Action Tracker"), index.h("li", null, "Scorecard")), index.h("ptc-theater-video-playlist", null, index.h("ptc-theater-video", { "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideo1.jpg", "card-number": 0, "video-id": "6275116780001", "modal-type": "only-video" }))), index.h("div", { class: { 'flt-content': true, 'active-tab': (this.selectedTab === 1 && this.selectedTabGroup === 'side-tabs') } }, index.h("ptc-title", { type: 'h2', upperline: "no-upperline", "title-margin": "margin-flush", "title-color": "white" }, "Accelerate operational impact and sustain excellence"), index.h("p", null, "What if you could use your existing data to improve performance throughput by up to 20%? Depending on your business, this might drive your site capacity by up to 50%\u2014which you could use to increase revenue or reduce operating costs. You might also reinvest that capacity to further drive flexibility or focus on additional continuous improvement."), index.h("p", null, "Digital Performance Management provides manufacturers with the solution for closed-loop operational excellence. It can help your team realize the promise of Industry 4.0 to deliver true transformational impact, and enable you to identify and resolve manufacturing constraints more rapidly\u2014all to rapidly advance your productivity."), index.h("ptc-theater-video-playlist", null, index.h("ptc-theater-video", { "vtag-name": 'manager-tag', "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideo1.jpg", "card-title": "Accelerate Operational Impact and Sustain Excellence", "card-number": 0, "video-id": "6275116780001", "card-description": 'Description DPM Main Item Rechtsschutzversicherungsgesellschaften <a href="/en/">internal link</a>, <a href="http://www.google.com">External Link</a>, <a href="/en/resources/digital-download/Part-1-Cummins-Drives-Sustainability-Using-Creo-Generative-Design">slug url</a>, <strong>bold</strong>, <em>italics</em>' }, index.h("ptc-title", { type: 'h3', upperline: 'no-upperline', "title-color": "white", "title-size": "x-large", "title-margin": 'margin-flush' }, "Accelerate Operational Impact and Sustain Excellence"), index.h("ptc-spacer", null), index.h("p", { class: "dpm-v-p" }, "Since the beginning of manufacturing, companies have pursued world-class performance through continuous improvement. Digital is the paradigm shift that offers a huge new advantage."), index.h("p", null, "Manufacturing environments are extraordinarily complex with a multitude of variables and disparate data sources. There are functionally siloed people, shared and dedicated processes, and multiple products\u2014and they all need to be harmoniously synchronized to effectively problem solve."), index.h("p", null, "These challenges often mean that thousands of variables are managed through inefficient, incomplete, and\u2014unfortunately\u2014out-of-date reporting efforts."), index.h("p", null, "These realities make world class performance difficult to attain. While best in class factories can operate at 85% ", index.h("a", { href: "/en/solutions/improving-efficiency/increasing-asset-efficiency/capacity-utilization", tabindex: "0" }, "capacity utilization"), ", or ", index.h("a", { href: "/en/solutions/digital-manufacturing/overall-equipment-effectiveness", tabindex: "0" }, "OEE (overall equipment effectiveness)"), ", most companies still fall short of this performance level. Instead, they operate closer to an average of 40\u201360% OEE."), index.h("h3", { class: "dpm-v-h3" }, "Digital Performance Management provides manufacturers with an industry solution for closed-loop operational excellence. "), index.h("ul", { class: "dpm-v-ul" }, index.h("li", null, "Achieve true transformational impact by capturing and sustaining double-digit efficiency improvements at scale. "), index.h("li", null, "Identify and resolve manufacturing constraints more rapidly, understanding the dynamics between bottlenecks and the prioritized order of bottlenecks to address. "))), index.h("ptc-theater-video", { "vtag-name": 'leader-tag, vp-tag', "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideoNew1.jpg", "card-title": "Introduction to Digital Performance Management", "card-number": 1, "video-id": "6275114763001", "card-description": "Identify, prioritize, and resolve the biggest bottlenecks that constrain manufacturing productivity." }, index.h("ptc-title", { type: 'h3', upperline: 'no-upperline', "title-color": "white", "title-size": "x-large", "title-margin": 'margin-flush' }, "Introduction to Digital Performance Management"), index.h("ptc-spacer", null), index.h("p", { class: "dpm-v-p" }, "Digital Performance Management replaces out-of-date, siloed reporting tools with a closed-loop solution that drives operational excellence, by helping to identify, prioritize, and solve the biggest issues that constrain production efficiency. The solution systematically identifies bottlenecks and prioritizes actions for improvement. It collects and normalizes production data to a standard metric: time lost. This helps customers engage every level of the organization to help solve problems and regain lost hours of production."), index.h("p", null, "The solution creates a closed-loop cycle that manufacturers can use to monitor current performance, prioritize areas to improve production, analyze production losses to determine root cause loss reasons, improve performance with prescriptive, targeted actions, and confirm performance levels within and across facilities."), index.h("p", null, "For the first time, Digital Performance Management links frontline, operational data to bottom line financial impact."), index.h("h3", { class: "dpm-v-h3" }, "Digital Performance Management closed loop approach to operational excellence"), index.h("ul", { class: "dpm-v-ul" }, index.h("ul", null, index.h("li", null, "Prioritize production improvement with Bottleneck Analysis"), index.h("li", null, "Analyze production losses with Performance Analysis"), index.h("li", null, "Track performance improvements with Action Tracker"), index.h("li", null, "View site-level performance and compare across similar manufacturing sites with Scorecard"), index.h("li", null, "Monitor current performance with Production Dashboard")))))), index.h("div", { class: { 'flt-content': true, 'active-tab': (this.selectedTab === 2 && this.selectedTabGroup === 'side-tabs') } }, index.h("ptc-title", { type: 'h2', upperline: "no-upperline", "title-margin": "margin-flush", "title-color": "white" }, " Deliver transformational impact ThingWorx Digital Performance Management"), index.h("p", null, "What could you do with?"), index.h("p", null, "Gaining the insight to key initiatives that remove production constraints can be challenging. Data is spread across systems and bottleneck reporting is manual, late, and error-prone. ThingWorx delivers the insight you need to make digital transformation possible. It provides real-time, closed-loop problem-solving which empowers your team with timely insights about bottlenecks, root causes, and the improvements that your initiatives actually deliver."), index.h("p", null, "We invite you to discover more with the videos and material in this microsite. Simply click on the options to the right to get started."), index.h("ptc-theater-video-playlist", null, index.h("ptc-theater-video", { "vtag-name": 'manager-tag', "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideoNew5.jpg", "card-title": "Title Video Item Rechtsschutzversicherungsgesellschaften", "card-number": 0, "video-id": "6275116783001", "card-description": "Test Industry 4.0 technology can help drive true transformational impact, but leading manufacturers let business and financial impact prioritize the transformation." }, index.h("ptc-title", { type: 'h3', upperline: 'no-upperline', "title-color": "white", "title-size": "x-large", "title-margin": 'margin-flush' }, "Deliver transformational impact ThingWorx Digital Drive improvement from the ground up to engage the full organization"), index.h("ptc-spacer", null), index.h("p", null, "As a large manufacturer, with 30+ sites, what would it mean if you could unlock up to 20% additional productivity time at each of these sites?"), index.h("p", null, "How would you take advantage of this opportunity? You could drive more revenue but hold costs the same, reduce costs but maintain your current output, increase service levels, decrease lead times\u2014or some combination to drive measurable and sustainable P&L impact for your company. Time truly is the universal language of value in manufacturing."), index.h("p", null, "A $5 billion company with 50 sites that adopts Digital Performance Management can fulfill an additional $2 million in orders with the additional capacity without additional CapEx. Or the company could cut $2 million in operating costs. Either way, margins improve while the costs per unit decrease. While these numbers sound good on their own, at enterprise scale across 50 sites this yields an additional $100 million to the bottom line that can be reinvested in any number of ways including R&D, employee training, or capital improvements."), index.h("p", null, "PTC\u2019s customers have utilized additional capacity to improve their product mix, drive down order backlogs, increase service levels, improve morale, and even drive down inventories to lower their working capital. With PTC\u2019s Digital Performance Management solution, manufacturers can realize the true value of time across their enterprise. "), index.h("h3", { class: "dpm-v-h3" }, "Operationally, these improvements are driven by reductions in: "), index.h("ul", { class: "dpm-v-ul" }, index.h("li", null, "Planned and unplanned downtime "), index.h("li", null, "Changeover time "), index.h("li", null, "Speed losses based on best demonstrated speeds by SKU "), index.h("li", null, "Small stops or micro stops "), index.h("li", null, "Scrap losses "))), index.h("ptc-theater-video", { "vtag-name": 'leader-tag, vp-tag', "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideoNew3.jpg", "card-title": "Deliver transformational impact ThingWorx Digital PTC 2 ", "card-number": 1, "video-id": "6275111939001", "card-description": "Industry 4.0 technology can help drive true transformational impact, but leading manufacturers let business and financial impact prioritize the transformation." }, index.h("h3", null, " Deliver transformational impact ThingWorx Digitaltest 2", index.h("a", { href: "#" }, " link test 2"), " Some test content")), index.h("ptc-theater-video", { "vtag-name": 'leader-tag, vp-tag', "thumb-img": "https://www.ptc.com/-/media/Images/dpm/imagebc.jpg", "card-title": "Deliver transformational impact ThingWorx Digital PTC 3", "card-number": 2, "video-id": "6275114998001", "card-description": "Industry 4.0 technology can help drive true transformational impact, but leading manufacturers let business and financial impact prioritize the transformation." }, index.h("h3", null, "Deliver transformational impact ThingWorx Digital test 3", index.h("a", { href: "#" }, " link test 3"), " Some test content")))), index.h("div", { class: { 'flt-content': true, 'active-tab': (this.selectedTab === 3 && this.selectedTabGroup === 'side-tabs') } }, index.h("ptc-title", { type: 'h2', upperline: "no-upperline", "title-margin": "margin-flush", "title-color": "white" }, "Aligning to your business strategy ThingWorx Digital Performance Management"), index.h("p", null, "Drive revenue? Reduce costs?"), index.h("p", null, "We invite you to discover more with the videos and material in this microsite. Simply click on the options to the right to get started."), index.h("p", null, "Key Features:"), index.h("ul", null, index.h("li", null, "Real-time Production Dashboard"), index.h("li", null, "Bottleneck Analytics"), index.h("li", null, "Action Tracker"), index.h("li", null, "Scorecard")), index.h("ptc-theater-video-playlist", null, index.h("ptc-theater-video", { "vtag-name": 'manager-tag', "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideo1.jpg", "card-title": "Test Why Digital Performance Management from PTC 1", "card-number": 0, "video-id": "6275116780001", "card-description": "Test Industry 4.0 technology can help drive true transformational impact, but leading manufacturers let business and financial impact prioritize the transformation." }, index.h("ptc-title", { type: 'h3', upperline: 'no-upperline', "title-color": "white", "title-size": "x-large", "title-margin": 'margin-flush' }, "Drive improvement from the ground up to engage the full organization"), index.h("ptc-spacer", null), index.h("p", null, "As a large manufacturer, with 30+ sites, what would it mean if you could unlock up to 20% additional productivity time at each of these sites?"), index.h("p", null, "How would you take advantage of this opportunity? You could drive more revenue but hold costs the same, reduce costs but maintain your current output, increase service levels, decrease lead times\u2014or some combination to drive measurable and sustainable P&L impact for your company. Time truly is the universal language of value in manufacturing."), index.h("p", null, "A $5 billion company with 50 sites that adopts Digital Performance Management can fulfill an additional $2 million in orders with the additional capacity without additional CapEx. Or the company could cut $2 million in operating costs. Either way, margins improve while the costs per unit decrease. While these numbers sound good on their own, at enterprise scale across 50 sites this yields an additional $100 million to the bottom line that can be reinvested in any number of ways including R&D, employee training, or capital improvements."), index.h("p", null, "PTC\u2019s customers have utilized additional capacity to improve their product mix, drive down order backlogs, increase service levels, improve morale, and even drive down inventories to lower their working capital. With PTC\u2019s Digital Performance Management solution, manufacturers can realize the true value of time across their enterprise. "), index.h("h3", { class: "dpm-v-h3" }, "Operationally, these improvements are driven by reductions in: "), index.h("ul", { class: "dpm-v-ul" }, index.h("li", null, "Planned and unplanned downtime "), index.h("li", null, "Changeover time "), index.h("li", null, "Speed losses based on best demonstrated speeds by SKU "), index.h("li", null, "Small stops or micro stops "), index.h("li", null, "Scrap losses "))), index.h("ptc-theater-video", { "vtag-name": 'leader-tag, vp-tag', "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideo1.jpg", "card-title": "Why Digital Performance Management from PTC 2 ", "card-number": 1, "video-id": "6275114763001", "card-description": "Industry 4.0 technology can help drive true transformational impact, but leading manufacturers let business and financial impact prioritize the transformation." }, index.h("h3", null, "test 2", index.h("a", { href: "#" }, " link test 2"), " Some test content")), index.h("ptc-theater-video", { "vtag-name": 'leader-tag, vp-tag', "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideo1.jpg", "card-title": "Why Digital Performance Management from PTC 3", "card-number": 2, "video-id": "6275114998001", "card-description": "Industry 4.0 technology can help drive true transformational impact, but leading manufacturers let business and financial impact prioritize the transformation." }, index.h("h3", null, "test 3", index.h("a", { href: "#" }, " link test 3"), " Some test content")), index.h("ptc-theater-video", { "vtag-name": 'leader-tag, vp-tag, manager-tag', "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideo1.jpg", "card-title": "Why Digital Performance Management from PTC 2 ", "card-number": 3, "video-id": "6275114763001", "card-description": "Industry 4.0 technology can help drive true transformational impact, but leading manufacturers let business and financial impact prioritize the transformation." }, index.h("h3", null, "test 2", index.h("a", { href: "#" }, " link test 2"), " Some test content")))), index.h("div", { class: { 'flt-content': true, 'active-tab': (this.selectedTab === 4 && this.selectedTabGroup === 'side-tabs') } }, index.h("ptc-title", { type: 'h2', upperline: "no-upperline", "title-margin": "margin-flush", "title-color": "white" }, " Prove and scale value ThingWorx Digital Performance Management"), index.h("p", null, "What could you do with more production time? Reduce costs?"), index.h("p", null, "Gaining the insight to key initiatives that remove production constraints can be challenging. Data is spread across systems and bottleneck reporting is manual, late, and error-prone. ThingWorx delivers the insight you need to make digital transformation possible. It provides real-time, closed-loop problem-solving which empowers your team with timely insights about bottlenecks, root causes, and the improvements that your initiatives actually deliver."), index.h("p", null, "Key Features:"), index.h("ul", null, index.h("li", null, "Real-time Production Dashboard"), index.h("li", null, "Bottleneck Analytics"))), index.h("div", { class: { 'flt-content': true, 'active-tab': (this.selectedTab === 1 && this.selectedTabGroup === 'filter-tabs') } }, index.h("ptc-title", { type: 'h2', upperline: "no-upperline", "title-margin": "margin-flush", "title-color": "white" }, "Landing slide from filter option"), index.h("p", null, "What could you do with more production time? Reduce costs?"), index.h("p", null, "Gaining the insight to key initiatives that remove production constraints can be challenging. Data is spread across systems and bottleneck reporting is manual, late, and error-prone. ThingWorx delivers the insight you need to make digital transformation possible. It provides real-time, closed-loop problem"), index.h("ptc-theater-video-playlist", null, index.h("ptc-theater-video", { "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideo1.jpg", "card-number": 0, "video-id": "6275116780001", "modal-type": "only-video" }))), index.h("div", { class: { 'flt-content': true, 'active-tab': (this.selectedTab === 2 && this.selectedTabGroup === 'filter-tabs') } }, index.h("ptc-title", { type: 'h2', upperline: "no-upperline", "title-margin": "margin-flush", "title-color": "white" }, "Landing slide from filter option 2"), index.h("p", null, "What could you do with more production time? Reduce costs?"), index.h("p", null, "Gaining the insight to key initiatives that remove production constraints can be challenging. Data is spread across systems and bottleneck reporting is manual, late, and error-prone. ThingWorx delivers the insight you need to make digital transformation possible. It provides real-time, closed-loop problem"), index.h("ptc-theater-video-playlist", null, index.h("ptc-theater-video", { "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideoNew1.jpg", "card-number": 0, "video-id": "6275116780001", "modal-type": "only-video" }))), index.h("div", { class: { 'flt-content': true, 'active-tab': (this.selectedTab === 3 && this.selectedTabGroup === 'filter-tabs') } }, index.h("ptc-title", { type: 'h2', upperline: "no-upperline", "title-margin": "margin-flush", "title-color": "white" }, "Landing slide from filter option 3"), index.h("p", null, "What could you do with more production time? Reduce costs?"), index.h("p", null, "Gaining the insight to key initiatives that remove production constraints can be challenging. Data is spread across systems and bottleneck reporting is manual, late, and error-prone. ThingWorx delivers the insight you need to make digital transformation possible. It provides real-time, closed-loop problem"), index.h("ptc-theater-video-playlist", null, index.h("ptc-theater-video", { "thumb-img": "https://www.ptc.com/-/media/Images/dpm/posterVideo1.jpg", "card-number": 0, "video-id": "6275116780001", "modal-type": "only-video" }))))))));
48
51
  }
49
52
  renderFilterSection() {
50
- return (index.h("div", { class: "filter-section" }, index.h("ptc-filter-dropdown", { placeholder: "Job Title" }, index.h("span", { "tab-id": '1', "tag-name": "leader-tag" }, "Continuous Improvement Leader"), index.h("span", { "tab-id": '2', "tag-name": "manager-tag" }, "Plant Manager"), index.h("span", { "tab-id": '3', "tag-name": "vp-tag" }, "VP of Global Manufacturing"))));
53
+ if (this.enableFilters) {
54
+ return (index.h("div", { class: "filter-section" }, index.h("ptc-filter-dropdown", { placeholder: "Job Title" }, index.h("span", { "tab-id": '1', "tag-name": "leader-tag" }, "Continuous Improvement Leader"), index.h("span", { "tab-id": '2', "tag-name": "manager-tag" }, "Plant Manager"), index.h("span", { "tab-id": '3', "tag-name": "vp-tag" }, "VP of Global Manufacturing"))));
55
+ }
51
56
  }
52
57
  renderBackgroundImage() {
53
58
  return (index.h("div", { class: "flt-bg-image-wrapper" }, index.h("div", { class: {