@ptcwebops/ptcw-design 3.8.8 → 3.9.0

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 (72) hide show
  1. package/dist/cjs/icon-asset_12.cjs.entry.js +1063 -0
  2. package/dist/cjs/interfaces-574e6df7.js +15 -0
  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-background-video.cjs.entry.js +68 -0
  6. package/dist/cjs/ptc-breadcrumb_2.cjs.entry.js +164 -0
  7. package/dist/cjs/ptc-icon-component.cjs.entry.js +4 -4
  8. package/dist/cjs/ptc-img.cjs.entry.js +133 -0
  9. package/dist/cjs/ptc-modal.cjs.entry.js +194 -0
  10. package/dist/cjs/ptc-office-location-card.cjs.entry.js +63 -0
  11. package/dist/cjs/ptc-office-locations.cjs.entry.js +249 -0
  12. package/dist/cjs/ptc-picture.cjs.entry.js +163 -0
  13. package/dist/cjs/ptcw-design.cjs.js +1 -1
  14. package/dist/cjs/show-map-icon-c1cca913.js +10 -0
  15. package/dist/collection/components/icon-asset/media/solid.svg +3 -3
  16. package/dist/collection/components/ptc-icon-component/ptc-icon-component.css +7 -3
  17. package/dist/collection/components/ptc-icon-component/ptc-icon-component.js +3 -3
  18. package/dist/collection/components/ptc-office-locations/ptc-office-locations.js +31 -3
  19. package/dist/collection/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.js +15 -3
  20. package/dist/custom-elements/index.js +47 -10
  21. package/dist/esm/icon-asset_12.entry.js +1048 -0
  22. package/dist/esm/interfaces-4caedd26.js +12 -0
  23. package/dist/esm/loader.js +1 -1
  24. package/dist/esm/max-width-container.entry.js +50 -0
  25. package/dist/esm/ptc-background-video.entry.js +64 -0
  26. package/dist/esm/ptc-breadcrumb_2.entry.js +159 -0
  27. package/dist/esm/ptc-icon-component.entry.js +4 -4
  28. package/dist/esm/ptc-img.entry.js +129 -0
  29. package/dist/esm/ptc-modal.entry.js +190 -0
  30. package/dist/esm/ptc-office-location-card.entry.js +59 -0
  31. package/dist/esm/ptc-office-locations.entry.js +245 -0
  32. package/dist/esm/ptc-picture.entry.js +159 -0
  33. package/dist/esm/ptcw-design.js +1 -1
  34. package/dist/esm/show-map-icon-6d9dce32.js +8 -0
  35. package/dist/ptcw-design/media/solid.svg +3 -3
  36. package/dist/ptcw-design/p-02c5454e.entry.js +1 -0
  37. package/dist/ptcw-design/p-197d3724.entry.js +1 -0
  38. package/dist/ptcw-design/p-2f4f6ccd.js +1 -0
  39. package/dist/ptcw-design/p-3bbfda70.entry.js +1 -0
  40. package/dist/ptcw-design/p-5a811838.entry.js +1 -0
  41. package/dist/ptcw-design/p-6a3d3888.entry.js +1 -0
  42. package/dist/ptcw-design/p-711bcdad.js +1 -0
  43. package/dist/ptcw-design/p-7739676e.entry.js +1 -0
  44. package/dist/ptcw-design/p-85f20e16.entry.js +1 -0
  45. package/dist/ptcw-design/p-99d44b9b.entry.js +1 -0
  46. package/dist/ptcw-design/p-a6a66ea0.entry.js +1 -0
  47. package/dist/ptcw-design/p-afa09845.entry.js +1 -0
  48. package/dist/ptcw-design/ptcw-design.css +1 -1
  49. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  50. package/dist/types/components/ptc-office-locations/ptc-office-locations.d.ts +4 -0
  51. package/dist/types/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.d.ts +1 -0
  52. package/package.json +1 -1
  53. package/readme.md +1 -1
  54. package/dist/cjs/icon-asset_16.cjs.entry.js +0 -1479
  55. package/dist/cjs/ptc-link.cjs.entry.js +0 -91
  56. package/dist/cjs/ptc-pricing-add-on-card.cjs.entry.js +0 -28
  57. package/dist/cjs/ptc-pricing-add-on-section.cjs.entry.js +0 -50
  58. package/dist/cjs/ptc-pricing-packaging-table.cjs.entry.js +0 -370
  59. package/dist/cjs/ptc-readmore.cjs.entry.js +0 -93
  60. package/dist/esm/icon-asset_16.entry.js +0 -1460
  61. package/dist/esm/ptc-link.entry.js +0 -87
  62. package/dist/esm/ptc-pricing-add-on-card.entry.js +0 -24
  63. package/dist/esm/ptc-pricing-add-on-section.entry.js +0 -46
  64. package/dist/esm/ptc-pricing-packaging-table.entry.js +0 -366
  65. package/dist/esm/ptc-readmore.entry.js +0 -89
  66. package/dist/ptcw-design/p-25fbffd9.entry.js +0 -1
  67. package/dist/ptcw-design/p-33a7506c.entry.js +0 -1
  68. package/dist/ptcw-design/p-b18b5261.entry.js +0 -1
  69. package/dist/ptcw-design/p-b81a6576.entry.js +0 -1
  70. package/dist/ptcw-design/p-e28086c9.entry.js +0 -1
  71. package/dist/ptcw-design/p-edfaa4b5.entry.js +0 -1
  72. package/dist/ptcw-design/p-f0329b38.entry.js +0 -1
@@ -1,91 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-4b85b38a.js');
6
- const utils = require('./utils-03d92070.js');
7
-
8
- const ptcLinkCss = "h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card{word-break:break-word;hyphens:manual;-webkit-hyphens:manual;-moz-hyphens:manual;-ms-hyphens:manual}@supports (hyphenate-limit-chars: 12 3 3){h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card{hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;hyphenate-limit-chars:12 3 3;hyphenate-limit-lines:2;hyphenate-limit-last:always;hyphenate-limit-zone:6%;-webkit-hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;-webkit-hyphenate-limit-chars:12 3 3;-webkit-hyphenate-limit-lines:2;-moz-hyphens:auto;-moz-hyphenate-limit-chars:12 3 3;-moz-hyphenate-limit-lines:2;-ms-hyphens:auto;-ms-hyphenate-limit-chars:12 3 3;-ms-hyphenate-limit-lines:2}}:host{display:block}.disabled{pointer-events:none;cursor:default;text-decoration:none}.ptc-link{display:inline-block;color:var(--color-gray-10);font-weight:var(--ptc-font-weight-extrabold);position:relative;line-height:var(--ptc-line-height-densest);outline:none;text-decoration:none;transition:color var(--ptc-transition-fast) var(--ptc-ease-inout)}.simple{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--color-green-06);text-decoration-thickness:2px;transition:text-decoration-color var(--ptc-transition-medium) var(--ptc-ease-inout)}.simple:hover{color:var(--color-green-06);transition:text-decoration-color var(--ptc-transition-medium) var(--ptc-ease-inout)}.global{font-style:var(--ptc-letter-spacing-normal);font-weight:var(--ptc-font-weight-bold);font-size:var(--ptc-font-size-x-small);text-decoration-line:underline;color:var(--color-hyperlink);transition:color var(--ptc-transition-medium) var(--ptc-ease-out)}.global:visited{color:var(--color-blue-10)}.global:active,.global:visited:active{color:var(--color-blue-09)}.global:hover,.global:visited:hover{color:var(--color-blue-08)}.global.disabled{color:var(--color-gray-04) !important;cursor:not-allowed}.product-link{font-weight:var(--ptc-font-weight-extrabold);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--color-green-06);text-decoration-thickness:2px;transition:text-decoration-color var(--ptc-transition-medium) var(--ptc-ease-inout)}.product-link:hover{color:var(--color-green-06);transition:text-decoration-color var(--ptc-transition-medium) var(--ptc-ease-inout)}.underline{border-bottom:2px solid var(--color-green-06)}.underline:hover{color:#00890B;border-bottom:2px solid #00890B}.small{font-size:var(--ptc-font-size-xx-small)}.medium{font-size:var(--ptc-font-size-x-small)}.medium-large{font-size:var(--ptc-font-size-small)}.large{font-size:var(--ptc-font-size-medium)}.nav-title:focus,.nav-title-link:focus,.nav-card-link:focus,.primary-nav-link:focus,.secondary-nav-link:focus,.footer-nav-link:focus,.copyright-link:focus{outline:3px solid var(--color-blue-07);outline-offset:2px}.nav-title{box-sizing:border-box;color:var(--color-white);display:inline-block;font-size:var(--ptc-font-size-x-small);font-stretch:100%;font-weight:var(--ptc-font-weight-extrabold);letter-spacing:var(--ptc-letter-spacing-normal);line-height:var(--ptc-line-height-dense);list-style:none;margin-bottom:var(--ptc-element-spacing-02);text-align:left}.primary-nav-link{background-color:transparent;box-sizing:border-box;color:var(--color-gray-01);display:inline-block;font-size:var(--ptc-font-size-x-small);font-stretch:100%;font-weight:var(--ptc-font-weight-extrabold);letter-spacing:var(--ptc-letter-spacing-normal);line-height:var(--ptc-line-height-dense);list-style:none;margin:var(--ptc-element-spacing-01) var(--ptc-element-spacing-03);padding:var(--ptc-element-spacing-02) var(--ptc-element-spacing-06);position:relative;text-decoration:none;transition:background-color var(--ptc-transition-medium) var(--ptc-ease-inout)}.primary-nav-link:hover{border-radius:var(--ptc-border-radius-standard);background-color:var(--color-gray-12);text-decoration:none;outline:none}.nav-title-link{background-color:transparent;box-sizing:border-box;color:var(--color-white);font-size:var(--ptc-font-size-xxx-small);font-stretch:100%;font-weight:var(--ptc-font-weight-extrabold);line-height:var(--ptc-line-height-densest);list-style:none;text-align:left;text-decoration-color:var(--color-white);text-decoration:none;transition:border-color var(--ptc-transition-medium) var(--ptc-ease-inout);border-bottom:1.5px solid transparent;display:inline-block}.nav-title-link:hover{color:var(--color-white);border-bottom:1.5px solid var(--color-green-06)}.nav-card-link{background-color:transparent;box-sizing:border-box;color:var(--color-white);font-stretch:100%;font-weight:var(--ptc-font-weight-extrabold);line-height:var(--ptc-line-height-densest);list-style:none;text-align:left;text-decoration:none;text-decoration-color:var(--color-white);transition:border-color var(--ptc-transition-medium) var(--ptc-ease-inout);display:inline-block;font-size:var(--ptc-font-size-small)}@media only screen and (min-width: 1200px){.nav-card-link{font-size:var(--ptc-font-size-xxx-small)}}.nav-card-link:hover{color:var(--color-white);text-decoration:underline var(--color-green-06) solid 1px;text-underline-offset:2px}.secondary-nav-link{display:inline-block;background-color:transparent;box-sizing:border-box;color:var(--color-white);font-size:var(--ptc-font-size-xxx-small);font-stretch:100%;font-style:normal;font-weight:var(--ptc-font-weight-semibold);letter-spacing:var(--ptc-letter-spacing-normal);line-height:var(--ptc-line-height-densest);list-style:none;margin-bottom:var(--ptc-element-spacing-03);text-align:left;text-decoration:none;transition:border-color var(--ptc-transition-medium) var(--ptc-ease-inout);border-bottom:1.5px solid transparent;white-space:nowrap}.secondary-nav-link:hover{color:var(--color-white);border-bottom:1.5px solid var(--color-green-06);border-radius:0;text-decoration:none}.footer-nav-link{color:var(--color-white);transition:border var(--ptc-transition-medium) var(--ptc-ease-inout), color var(--ptc-transition-medium) var(--ptc-ease-inout);border-bottom:1px solid transparent;outline:none;text-decoration:none;font-weight:var(--ptc-font-weight-semibold);letter-spacing:var(--ptc-letter-spacing-normal);line-height:var(--ptc-line-height-densest);text-align:left;font-size:var(--ptc-font-size-x-small)}.footer-nav-link:hover{outline:none;text-decoration:none;border-bottom:0.1rem solid var(--color-green-06);color:var(--color-green-06)}.copyright-link{color:var(--color-white);font-size:var(--ptc-font-size-xx-small);font-weight:var(--ptc-font-weight-normal);line-height:var(--ptc-line-height-loose);display:inline-block}.d-green-underline{color:var(--color-white);font-weight:var(--ptc-font-weight-extrabold);line-height:var(--ptc-line-height-densest);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--color-green-06);text-underline-offset:5px;transition:text-decoration-color var(--ptc-transition-medium) var(--ptc-ease-inout)}.d-green-underline:hover{color:var(--color-green-06)}.d-white-underline{color:var(--color-white);font-weight:var(--ptc-font-weight-extrabold);line-height:var(--ptc-line-height-densest);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--color-white);text-underline-offset:5px}.link-area-cover-parent{position:static}.link-area-cover-parent::after{content:\"\";position:absolute;width:100%;height:100%;inset:0;z-index:2}.standard-link,.blog-link{font-weight:800;line-height:1;display:flex;align-items:center;color:var(--color-gray-10);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--color-green-06);text-underline-offset:5px;transition:text-decoration-color var(--ptc-transition-medium) var(--ptc-ease-inout)}.standard-link:hover,.blog-link:hover{color:var(--color-green-06)}.w-thin{font-weight:var(--ptc-font-weight-thin)}.w-regular{font-weight:var(--ptc-font-weight-regular)}.w-medium{font-weight:var(--ptc-font-weight-medium)}.w-semibold{font-weight:var(--ptc-font-weight-semibold)}.w-bold{font-weight:var(--ptc-font-weight-bold)}.w-extrabold{font-weight:var(--ptc-font-weight-extrabold)}.w-black{font-weight:var(--ptc-font-weight-black)}.utility-nav-link{background-color:transparent;box-sizing:border-box;color:var(--color-gray-13);font-stretch:100%;font-weight:var(--ptc-font-weight-semibold);line-height:var(--ptc-line-height-densest);list-style:none;text-align:left;text-decoration:none;text-decoration-color:var(--color-green-06);transition:border-color var(--ptc-transition-medium) var(--ptc-ease-inout);display:inline-block;font-size:var(--ptc-font-size-x-small)}.utility-nav-link:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--color-green-06);text-decoration-thickness:2px;transition:text-decoration-color var(--ptc-transition-medium) var(--ptc-ease-inout)}";
9
-
10
- const PtcLink = class {
11
- constructor(hostRef) {
12
- index.registerInstance(this, hostRef);
13
- this.disabled = false;
14
- this.external = false;
15
- this.href = undefined;
16
- this.target = '_self';
17
- this.linkTitle = undefined;
18
- this.theme = 'simple';
19
- this.fontSize = 'medium';
20
- this.fontWeight = undefined;
21
- this.linkArea = undefined;
22
- this.seoCompatibilityMode = false;
23
- this.styles = undefined;
24
- }
25
- seoCompRender() {
26
- const classMap = this.getCssClassMap();
27
- const [TagType, firstChild] = utils.getSeoTagType(this.el, "a");
28
- const html = firstChild && firstChild.innerHTML;
29
- if (this.el == firstChild) {
30
- this.el.innerHTML = '';
31
- }
32
- return (index.h(index.Host, null, this.styles && index.h("style", null, this.styles), index.h(TagType, { class: classMap, innerHTML: html, href: this.href, target: this.external ? '_blank' : this.target, title: this.linkTitle }, index.h("slot", null))));
33
- }
34
- standardRender() {
35
- const classMap = this.getCssClassMap();
36
- return (index.h(index.Host, null, this.styles && index.h("style", null, this.styles), index.h("a", { class: classMap, href: this.href, target: this.external ? '_blank' : this.target, title: this.linkTitle }, index.h("slot", null))));
37
- }
38
- // render() {
39
- // const classMap = this.getCssClassMap();
40
- // return (
41
- // <Host>
42
- // {this.styles && <style>{this.styles}</style>}
43
- // <a class={classMap} href={this.href} target={this.external ? '_blank' : this.target} title={this.linkTitle}>
44
- // <slot></slot>
45
- // </a>
46
- // </Host>
47
- // );
48
- // }
49
- render() {
50
- if (this.seoCompatibilityMode) {
51
- return this.seoCompRender();
52
- }
53
- else {
54
- return this.standardRender();
55
- }
56
- }
57
- getCssClassMap() {
58
- const classOptions = [
59
- 'simple',
60
- 'underline',
61
- 'nav-title',
62
- 'primary-nav-link',
63
- 'nav-title-link',
64
- 'nav-card-link',
65
- 'secondary-nav-link',
66
- 'footer-nav-link',
67
- 'copyright-link',
68
- 'product-link',
69
- 'd-green-underline',
70
- 'd-white-underline',
71
- 'global',
72
- 'utility-nav-link'
73
- ];
74
- let mainClass = this.theme;
75
- if (classOptions.indexOf(mainClass) < 0) {
76
- mainClass = 'simple'; // fallback to simple class if theme is unavailable
77
- }
78
- return {
79
- ['ptc-link']: true,
80
- [mainClass]: true,
81
- ['disabled']: this.disabled,
82
- [this.fontSize]: true,
83
- [this.linkArea]: this.linkArea ? true : false,
84
- [this.fontWeight]: this.fontWeight ? true : false,
85
- };
86
- }
87
- get el() { return index.getElement(this); }
88
- };
89
- PtcLink.style = ptcLinkCss;
90
-
91
- exports.ptc_link = PtcLink;
@@ -1,28 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-4b85b38a.js');
6
-
7
- const ptcPricingAddOnCardCss = "h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card{word-break:break-word;hyphens:manual;-webkit-hyphens:manual;-moz-hyphens:manual;-ms-hyphens:manual}@supports (hyphenate-limit-chars: 12 3 3){h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card{hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;hyphenate-limit-chars:12 3 3;hyphenate-limit-lines:2;hyphenate-limit-last:always;hyphenate-limit-zone:6%;-webkit-hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;-webkit-hyphenate-limit-chars:12 3 3;-webkit-hyphenate-limit-lines:2;-moz-hyphens:auto;-moz-hyphenate-limit-chars:12 3 3;-moz-hyphenate-limit-lines:2;-ms-hyphens:auto;-ms-hyphenate-limit-chars:12 3 3;-ms-hyphenate-limit-lines:2}}:host{display:block;height:99%}.add-on-card{padding:var(--ptc-element-spacing-06);border-top:var(--color-gray-10) solid var(--ptc-element-spacing-01);background-color:white;border-radius:var(--ptc-border-radius-standard);box-shadow:var(--ptc-shadow-x-small);height:100%;box-sizing:border-box;word-break:break-word}";
8
-
9
- const PtcPricingAddOnCard = class {
10
- constructor(hostRef) {
11
- index.registerInstance(this, hostRef);
12
- this.cardTitle = undefined;
13
- this.cardPricingText = undefined;
14
- this.cardCtaHref = null;
15
- this.cardCtaText = null;
16
- this.cardCtaTarget = null;
17
- this.cardDisclaimer = null;
18
- }
19
- render() {
20
- return (index.h(index.Host, null, index.h("div", { class: "add-on-card" }, index.h("ptc-title", { type: "h4", "text-align": "left", "title-size": "medium", upperline: "no-upperline", "title-height": "densest", "title-margin": "margin-flush", "title-weight": "w-7" }, this.cardTitle), index.h("ptc-para", { "font-size": "small", "font-weight": "w-4", "para-align": "left", "para-line-h": "line-height-p", "para-margin": "margin-flush" }, index.h("slot", { name: "card-pricing" })), index.h("ptc-spacer", { breakpoint: "small", size: "medium" }), index.h("ptc-spacer", { breakpoint: "x-small", size: "large" }), index.h("ptc-para", { "font-size": "x-small", "font-weight": "w-4", "para-align": "left", "para-line-h": "line-height-p", "para-margin": "margin-flush" }, (this.el.querySelector('[slot="card-body"]').innerHTML.toString().length <= 300) ?
21
- index.h("slot", { name: "card-body" }) :
22
- index.h("ptc-readmore", { "more-text": "More", "less-text": "Less" }, index.h("slot", { name: "card-body" })), index.h("slot", { name: "card-body" })), this.cardCtaHref && this.cardCtaText && index.h(index.Fragment, null, index.h("ptc-spacer", { breakpoint: "small", size: "x-large" }), index.h("ptc-spacer", { breakpoint: "small", size: "xx-small" }), index.h("ptc-spacer", { breakpoint: "x-small", size: "xx-large" }), index.h("ptc-spacer", { breakpoint: "x-small", size: "xx-small" }), index.h("ptc-button", { type: "link", color: "ptc-tertiary", "link-href": this.cardCtaHref, target: this.cardCtaTarget }, index.h("ptc-tooltip", { "text-display": "inline", "max-length": "30", "z-index": "z-2", description: this.cardCtaText, position: "bottom" }))), this.cardDisclaimer && index.h(index.Fragment, null, index.h("ptc-spacer", { breakpoint: "small", size: "medium" }), index.h("ptc-spacer", { breakpoint: "x-small", size: "large" }), index.h("ptc-para", { "font-size": "xx-small", "font-weight": "w-6", "para-align": "left", "para-color": "primary-grey", "para-line-h": "line-height-p", "para-margin": "margin-flush" }, (this.cardDisclaimer.length <= 150) ? index.h("slot", { name: "card-disclaimer" }) : index.h("ptc-readmore", { "more-text": "More", "less-text": "Less" }, index.h("slot", { name: "card-disclaimer" })))))));
23
- }
24
- get el() { return index.getElement(this); }
25
- };
26
- PtcPricingAddOnCard.style = ptcPricingAddOnCardCss;
27
-
28
- exports.ptc_pricing_add_on_card = PtcPricingAddOnCard;
@@ -1,50 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-4b85b38a.js');
6
-
7
- const ptcPricingAddOnSectionCss = "h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card{word-break:break-word;hyphens:manual;-webkit-hyphens:manual;-moz-hyphens:manual;-ms-hyphens:manual}@supports (hyphenate-limit-chars: 12 3 3){h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card{hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;hyphenate-limit-chars:12 3 3;hyphenate-limit-lines:2;hyphenate-limit-last:always;hyphenate-limit-zone:6%;-webkit-hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;-webkit-hyphenate-limit-chars:12 3 3;-webkit-hyphenate-limit-lines:2;-moz-hyphens:auto;-moz-hyphenate-limit-chars:12 3 3;-moz-hyphenate-limit-lines:2;-ms-hyphens:auto;-ms-hyphenate-limit-chars:12 3 3;-ms-hyphenate-limit-lines:2}}:host{display:block}";
8
-
9
- const PtcPricingAddOnSection = class {
10
- constructor(hostRef) {
11
- index.registerInstance(this, hostRef);
12
- this.cardCount = undefined;
13
- this.cardData = [];
14
- this.sectionTitle = "";
15
- }
16
- componentWillLoad() {
17
- if (this.cardCount > 8) {
18
- this.cardCount = 8;
19
- }
20
- for (let i = 0; i < this.cardCount; i++) {
21
- let title = this.el.querySelector(`[slot="card-title-${i + 1}"]`);
22
- let pricing = this.el.querySelector(`[slot="card-pricing-${i + 1}"]`);
23
- let cta = this.el.querySelector(`[slot="card-cta-${i + 1}"]`);
24
- let disclaimer = this.el.querySelector(`[slot="card-disclaimer-${i + 1}"]`);
25
- let data = {
26
- title: title === null || title === void 0 ? void 0 : title.innerHTML.toString(),
27
- pricing: pricing === null || pricing === void 0 ? void 0 : pricing.innerHTML.toString(),
28
- cta: {
29
- linkHref: (cta === null || cta === void 0 ? void 0 : cta.getAttribute('href')) || "",
30
- linkText: (cta === null || cta === void 0 ? void 0 : cta.innerHTML.toString()) || "",
31
- linkTarget: (cta === null || cta === void 0 ? void 0 : cta.getAttribute('target')) || "_blank",
32
- },
33
- disclaimer: (disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.innerHTML.toString()) || "",
34
- };
35
- title === null || title === void 0 ? void 0 : title.remove();
36
- cta === null || cta === void 0 ? void 0 : cta.remove();
37
- this.cardData.push(data);
38
- }
39
- if (this.cardData.length != this.cardCount) {
40
- this.cardData = [];
41
- }
42
- }
43
- render() {
44
- return (index.h(index.Host, null, index.h("ptc-title", { type: "h3", "text-align": "left", "title-size": "large", upperline: "no-upperline", "title-height": "densest", "title-margin": "margin-flush", "title-weight": "w-7" }, this.sectionTitle), index.h("ptc-spacer", { breakpoint: "small", size: "medium" }), index.h("ptc-spacer", { breakpoint: "x-small", size: "large" }), index.h("div", { class: "is-grid has-col-gap-md" }, this.cardData.map((data, ind) => index.h("div", { class: "is-col-12 is-col-6-md is-col-4-lg is-col-3-xl" }, index.h("ptc-pricing-add-on-card", { "card-title": data.title, "card-pricing-text": data.pricing, "card-cta-href": data.cta.linkHref, "card-cta-text": data.cta.linkText, "card-cta-target": data.cta.linkTarget, "card-disclaimer": data.disclaimer }, index.h("span", { slot: "card-pricing" }, index.h("slot", { name: `card-pricing-${ind + 1}` })), index.h("div", { slot: "card-body" }, index.h("slot", { name: `card-body-${ind + 1}` })), index.h("span", { slot: "card-disclaimer" }, index.h("slot", { name: `card-disclaimer-${ind + 1}` }))))))));
45
- }
46
- get el() { return index.getElement(this); }
47
- };
48
- PtcPricingAddOnSection.style = ptcPricingAddOnSectionCss;
49
-
50
- exports.ptc_pricing_add_on_section = PtcPricingAddOnSection;
@@ -1,370 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-4b85b38a.js');
6
-
7
- const ptcPricingPackagingTableCss = "h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card{word-break:break-word;hyphens:manual;-webkit-hyphens:manual;-moz-hyphens:manual;-ms-hyphens:manual}@supports (hyphenate-limit-chars: 12 3 3){h1,h2,h3,h4,h5,h6,p,ul,li,ptc-subnav,ptc-tab-list,ptc-link,ptc-square-card{hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;hyphenate-limit-chars:12 3 3;hyphenate-limit-lines:2;hyphenate-limit-last:always;hyphenate-limit-zone:6%;-webkit-hyphens:auto;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;-webkit-hyphenate-limit-chars:12 3 3;-webkit-hyphenate-limit-lines:2;-moz-hyphens:auto;-moz-hyphenate-limit-chars:12 3 3;-moz-hyphenate-limit-lines:2;-ms-hyphens:auto;-ms-hyphenate-limit-chars:12 3 3;-ms-hyphenate-limit-lines:2}}:host{display:block}:host #pricing-table{position:relative;overflow-wrap:break-word}:host #vertical-scroll-content-clipper.normal{display:none}:host #vertical-scroll-content-clipper.sticky{display:block;z-index:20;position:fixed;top:0;width:100%;height:var(--sticky-stop-at, 50px)}:host #table-container{width:100%;overflow-x:auto;border-radius:var(--ptc-border-radius-standard);box-shadow:var(--ptc-shadow-x-small);position:relative}:host #table-body{width:100%;overflow-x:scroll;position:relative}:host .scroll-button{display:flex;align-items:center;position:absolute;z-index:15;height:100%}:host .scroll-button#previous-scroll-button div{margin-right:var(--ptc-element-spacing-02);border-radius:0px var(--ptc-element-spacing-01) var(--ptc-element-spacing-01) 0px}:host .scroll-button#previous-scroll-button div ptc-para{margin-right:var(--ptc-element-spacing-04)}:host .scroll-button#next-scroll-button{transform:translateX(-100%)}:host .scroll-button#next-scroll-button div{margin-left:var(--ptc-element-spacing-02);border-radius:var(--ptc-element-spacing-01) 0px 0px var(--ptc-element-spacing-01)}:host .scroll-button#next-scroll-button div ptc-para{margin-left:var(--ptc-element-spacing-04)}:host .scroll-button div{display:inline-block;width:fit-content;height:36px;background-color:white;color:black;box-shadow:var(--ptc-shadow-x-medium);display:flex;justify-content:center;align-items:center}:host .scroll-button div icon-asset{display:flex;justify-content:center;align-items:center;width:36px;height:100%}:host .scroll-button div ptc-para{display:none;white-space:nowrap}:host .table-filler-cell{display:none;min-width:var(--filler-cell-width, 0px);max-width:var(--filler-cell-width, 0px);height:100%;box-sizing:content-box;padding:var(--ptc-element-spacing-04) var(--ptc-element-spacing-06) var(--ptc-element-spacing-04) var(--ptc-element-spacing-06);border-bottom:1px solid var(--color-gray-02)}:host .table-filler-cell.show{display:table-cell}:host #table-header{display:table-row;background:var(--color-gray-10);color:white;z-index:10}:host #table-header.normal{position:relative}:host #table-header.sticky{position:fixed;top:var(--sticky-stop-at, 50px);border-top-left-radius:var(--ptc-border-radius-standard);border-top-right-radius:var(--ptc-border-radius-standard);overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none;box-shadow:0 16px 16px -16px grey}:host #table-header.sticky::-webkit-scrollbar{display:none}:host #table-header .table-cell{min-width:var(--cell-width-xxs, 180px);max-width:var(--cell-width-xxs, 180px);box-sizing:content-box;padding:var(--ptc-element-spacing-04) var(--ptc-element-spacing-06) var(--ptc-element-spacing-04) var(--ptc-element-spacing-06);border-right:1px solid var(--color-gray-07);text-align:center;display:table-cell;vertical-align:middle}:host #table-header .table-cell.table-last-cell{border-right:none}:host #table-header .table-cell ptc-link a.ptc-link{line-height:var(--ptc-line-height-p)}:host #table-header .table-filler-cell{border-bottom:none;border-left:1px solid var(--color-gray-07)}:host #table-header-placeholder.normal{position:absolute;top:0;display:table-row;opacity:0}:host #table-header-placeholder.sticky{position:relative;display:table-row;opacity:0;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}:host #table-header-placeholder .table-cell{min-width:var(--cell-width-xxs, 180px);max-width:var(--cell-width-xxs, 180px);box-sizing:content-box;padding:var(--ptc-element-spacing-04) var(--ptc-element-spacing-06) var(--ptc-element-spacing-04) var(--ptc-element-spacing-06);border-right:1px solid var(--color-gray-07);text-align:center;display:table-cell;vertical-align:middle}:host #table-header-placeholder .table-cell.table-last-cell{border-right:none}:host #table-header-placeholder .table-filler-cell{border-bottom:none;border-left:1px solid var(--color-gray-07)}:host .desktop-header-first-cell{display:table-cell;position:sticky;left:0;z-index:10}:host .mobile-sticky-row-header{display:block;position:sticky;left:0;background-color:var(--color-gray-01);border-bottom:1px solid var(--color-gray-02);padding:var(--ptc-element-spacing-04) var(--ptc-element-spacing-06) var(--ptc-element-spacing-04) var(--ptc-element-spacing-06)}:host .table-row{display:table-row;background-color:white}:host .table-row .table-cell{min-width:var(--cell-width-xxs, 180px);max-width:var(--cell-width-xxs, 180px);box-sizing:content-box;padding:var(--ptc-element-spacing-04) var(--ptc-element-spacing-06) var(--ptc-element-spacing-04) var(--ptc-element-spacing-06);border-right:1px solid var(--color-gray-02);border-bottom:1px solid var(--color-gray-02);text-align:center;display:table-cell;vertical-align:middle}:host .table-row .table-cell.table-last-cell{border-right:none}:host .table-row .table-filler-cell{border-left:1px solid var(--color-gray-02)}:host .table-cta-row{display:table-row;background-color:white}:host .table-cta-row .table-cell{min-width:var(--cell-width-xxs, 180px);max-width:var(--cell-width-xxs, 180px);box-sizing:content-box;padding:var(--ptc-element-spacing-06);border-right:1px solid var(--color-gray-02);border-bottom:1px solid var(--color-gray-02);text-align:center;display:table-cell;vertical-align:middle}:host .table-cta-row .table-cell.table-last-cell{border-right:none}:host .table-cta-row .table-filler-cell{border-left:1px solid var(--color-gray-02)}@media only screen and (min-width: 768px){:host .table-descriptor{max-width:768px;margin:auto}}@media only screen and (min-width: 992px){:host .scroll-button{height:100%;top:0}:host .scroll-button div ptc-para{display:none}:host .scroll-button div:hover{cursor:pointer}:host .scroll-button div:hover ptc-para{display:block}:host .scroll-button#previous-scroll-button{right:0;transform:translateX(100%)}:host #horizontal-scroll-shadow{display:block;position:absolute;top:0;left:0;height:100%;width:var(--ptc-element-spacing-06);background:linear-gradient(90deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0) 100%);z-index:1}:host #table-header.sticky{box-shadow:none}:host #table-header .table-cell{min-width:var(--cell-width-md, 225px);max-width:var(--cell-width-md, 225px)}:host #table-header .last-column-tooltip .tooltip{right:4px}:host #table-header-placeholder .table-cell{min-width:var(--cell-width-md, 225px);max-width:var(--cell-width-md, 225px)}:host #table-header-placeholder .last-column-tooltip .tooltip{right:-4px}:host .desktop-sticky-row-header{min-width:var(--desktop-row-header-cell-width-md, 275px);max-width:var(--desktop-row-header-cell-width-md, 275px);box-sizing:content-box;padding:var(--ptc-element-spacing-04) var(--ptc-element-spacing-06) var(--ptc-element-spacing-04) var(--ptc-element-spacing-06);border-right:1px solid var(--color-gray-02);border-bottom:1px solid var(--color-gray-02);display:table-cell;vertical-align:middle;position:sticky;left:0;background-color:white;z-index:5}:host .desktop-sticky-row-header.desktop-alternate-row{background-color:var(--color-gray-01)}:host .desktop-header-first-cell{min-width:var(--desktop-row-header-cell-width-md, 275px);max-width:var(--desktop-row-header-cell-width-md, 275px);box-sizing:content-box;padding:var(--ptc-element-spacing-04) var(--ptc-element-spacing-06) var(--ptc-element-spacing-04) var(--ptc-element-spacing-06);border-right:1px solid var(--color-gray-07);display:table-cell;vertical-align:middle;position:sticky;left:0;z-index:10;background:var(--color-gray-10)}:host .table-row .table-cell{min-width:var(--cell-width-md, 225px);max-width:var(--cell-width-md, 225px)}:host .table-row.desktop-alternate-row{background-color:var(--color-gray-01)}:host .mobile-sticky-row-header{display:none}:host .table-cta-row{display:table-row}:host .table-cta-row .table-cell{min-width:var(--cell-width-md, 225px);max-width:var(--cell-width-md, 225px)}:host .table-cta-row .last-column-tooltip .tooltip{right:-4px}}";
8
-
9
- const PtcPricingPackagingTable = class {
10
- constructor(hostRef) {
11
- index.registerInstance(this, hostRef);
12
- this.verticalScrollContentClipperHeightOptions = {
13
- withSubNav: {
14
- desktop: 104,
15
- mobile: 80
16
- },
17
- withoutSubNav: {
18
- desktop: 40,
19
- mobile: 24
20
- }
21
- };
22
- this.handleVerticalScroll = () => {
23
- let verticalScrollContentClipper = this.el.shadowRoot.querySelector("#vertical-scroll-content-clipper");
24
- let tableContainer = this.el.shadowRoot.querySelector("#table-container");
25
- let tableBody = this.el.shadowRoot.querySelector("#table-body");
26
- let tableHeaderPlaceholder = this.el.shadowRoot.querySelector("#table-header-placeholder");
27
- let tableHeader = this.el.shadowRoot.querySelector("#table-header");
28
- const scrollTopPosition = window.scrollY || document.documentElement.scrollTop;
29
- if (scrollTopPosition < this.lastScrollTop) {
30
- // Scrolling up
31
- if (tableHeaderPlaceholder.getBoundingClientRect().top >= this.stickyTopAt) {
32
- // Unstick header
33
- this.headerType = "normal";
34
- tableHeader.style.top = '0px';
35
- }
36
- if (this.headerType === "sticky") {
37
- // Scroll the sticky header out of the window along with the table
38
- if (tableContainer.getBoundingClientRect().bottom > tableHeader.getBoundingClientRect().bottom) {
39
- if (tableHeader.getBoundingClientRect().top < this.stickyTopAt) {
40
- tableHeader.style.top = `${Math.min(tableContainer.getBoundingClientRect().bottom - tableHeader.clientHeight, this.stickyTopAt)}px`;
41
- verticalScrollContentClipper.style.top = `${(tableHeader.getBoundingClientRect().top - verticalScrollContentClipper.clientHeight)}px`;
42
- }
43
- }
44
- }
45
- }
46
- else if (scrollTopPosition > this.lastScrollTop) {
47
- // Scrolling down
48
- if (tableHeaderPlaceholder.getBoundingClientRect().top < this.stickyTopAt) {
49
- // Stick header
50
- this.headerType = "sticky";
51
- tableHeader.style.top = `${this.stickyTopAt}px`;
52
- tableHeader.style.width = `${tableBody.getBoundingClientRect().width}px`;
53
- // tableHeader.scrollLeft = tableBody.scrollLeft;
54
- }
55
- if (this.headerType === "sticky") {
56
- // Scroll the sticky header back into view along with the table
57
- if (tableContainer.getBoundingClientRect().bottom <= tableHeader.getBoundingClientRect().bottom) {
58
- tableHeader.style.top = `${(tableContainer.getBoundingClientRect().bottom - tableHeader.clientHeight)}px`;
59
- verticalScrollContentClipper.style.top = `${(tableHeader.getBoundingClientRect().top - verticalScrollContentClipper.clientHeight)}px`;
60
- }
61
- }
62
- }
63
- this.lastScrollTop = scrollTopPosition <= 0 ? 0 : scrollTopPosition;
64
- };
65
- this.handleHorizontalScroll = () => {
66
- let tableHeader = this.el.shadowRoot.querySelector("#table-header");
67
- let tableBody = this.el.shadowRoot.querySelector("#table-body");
68
- tableHeader.scrollLeft = tableBody.scrollLeft;
69
- this.handleScrollButtonsVisibility();
70
- };
71
- this.handleScrollButtonsVisibility = () => {
72
- let tableBody = this.el.shadowRoot.querySelector("#table-body");
73
- let previousScrollButton = this.el.shadowRoot.querySelector("#previous-scroll-button");
74
- let nextScrollButton = this.el.shadowRoot.querySelector("#next-scroll-button");
75
- let horizontalScrollShadow = this.el.shadowRoot.querySelector("#horizontal-scroll-shadow");
76
- if (tableBody.scrollLeft === 0) {
77
- previousScrollButton.style.visibility = 'hidden';
78
- horizontalScrollShadow.style.visibility = 'hidden';
79
- }
80
- else {
81
- previousScrollButton.style.visibility = 'visible';
82
- horizontalScrollShadow.style.visibility = 'visible';
83
- }
84
- if ([-1, 0, 1].includes(Math.trunc(tableBody.scrollWidth - tableBody.scrollLeft) - Math.trunc(tableBody.getBoundingClientRect().width))) {
85
- nextScrollButton.style.visibility = 'hidden';
86
- }
87
- else {
88
- nextScrollButton.style.visibility = 'visible';
89
- }
90
- };
91
- this.handleForwardScroll = () => {
92
- let scrollAdded = 0;
93
- let tableBody = this.el.shadowRoot.querySelector("#table-body");
94
- let intervalId = setInterval(() => {
95
- scrollAdded += this.scrollAmount;
96
- if ((scrollAdded == this.scrollLimit) || [-1, 0, 1].includes(Math.trunc(tableBody.scrollWidth - tableBody.scrollLeft) - Math.trunc(tableBody.getBoundingClientRect().width))) {
97
- clearInterval(intervalId);
98
- }
99
- tableBody.scrollLeft += scrollAdded;
100
- }, this.scrollTimeInterval);
101
- };
102
- this.handleBackwardScroll = () => {
103
- let scrollReduced = 0;
104
- let pricingTable = this.el.shadowRoot.querySelector("#pricing-table");
105
- let tableBody = this.el.shadowRoot.querySelector("#table-body");
106
- let intervalId = setInterval(() => {
107
- scrollReduced += this.scrollAmount;
108
- if ((scrollReduced == this.scrollLimit) || (pricingTable.getBoundingClientRect().left >= tableBody.getBoundingClientRect().right)) {
109
- clearInterval(intervalId);
110
- }
111
- tableBody.scrollLeft -= scrollReduced;
112
- }, this.scrollTimeInterval);
113
- };
114
- this.setFillerCellWidth = (fillerWidth) => {
115
- this.el.style.setProperty('--filler-cell-width', `${fillerWidth}px`);
116
- };
117
- this.expandTableCells = () => {
118
- let pricingTable = this.el.shadowRoot.querySelector("#pricing-table");
119
- let desktopHeaderFirstCell = this.el.shadowRoot.querySelector(".desktop-header-first-cell");
120
- let emptySpace = pricingTable.getBoundingClientRect().width - desktopHeaderFirstCell.getBoundingClientRect().width;
121
- let fillerWidth = (emptySpace / this.dataCols);
122
- if (this.isDesktopView) {
123
- this.el.style.setProperty('--cell-width-xxs', `${this.cellWidthXXS}px`);
124
- this.el.style.setProperty('--cell-width-md', `${fillerWidth - this.cellLeftRightPadding}px`);
125
- }
126
- else {
127
- this.el.style.setProperty('--cell-width-xxs', `${fillerWidth - this.cellLeftRightPadding}px`);
128
- this.el.style.setProperty('--cell-width-md', `${this.cellWidthMD}px`);
129
- }
130
- };
131
- this.handleFillEmptySpace = () => {
132
- let pricingTable = this.el.shadowRoot.querySelector("#pricing-table");
133
- let tableHeaderPlaceholder = this.el.shadowRoot.querySelector("#table-header-placeholder");
134
- if (tableHeaderPlaceholder.getBoundingClientRect().right < pricingTable.getBoundingClientRect().right) {
135
- this.hasEmptySpace = true;
136
- this.expandTableCells();
137
- }
138
- };
139
- this.resetWidthVariables = () => {
140
- this.el.style.setProperty('--cell-width-xxs', `${this.cellWidthXXS}px`);
141
- this.el.style.setProperty('--cell-width-md', `${this.cellWidthMD}px`);
142
- };
143
- this.handleTableReset = () => {
144
- let verticalScrollContentClipper = this.el.shadowRoot.querySelector("#vertical-scroll-content-clipper");
145
- let tableHeader = this.el.shadowRoot.querySelector("#table-header");
146
- let tableBody = this.el.shadowRoot.querySelector("#table-body");
147
- let nextScrollButton = this.el.shadowRoot.querySelector("#next-scroll-button");
148
- let desktopHeaderFirstCell = this.el.shadowRoot.querySelector(".desktop-header-first-cell");
149
- let horizontalScrollShadow = this.el.shadowRoot.querySelector("#horizontal-scroll-shadow");
150
- this.isDesktopView = (window.innerWidth >= 992);
151
- this.resetWidthVariables();
152
- if (this.pageWithSubnav) {
153
- if (this.isDesktopView) {
154
- this.stickyTopAt = this.verticalScrollContentClipperHeightOptions["withSubNav"]["desktop"];
155
- }
156
- else {
157
- this.stickyTopAt = this.verticalScrollContentClipperHeightOptions["withSubNav"]["mobile"];
158
- }
159
- }
160
- else {
161
- if (this.isDesktopView) {
162
- this.stickyTopAt = this.verticalScrollContentClipperHeightOptions["withoutSubNav"]["desktop"];
163
- }
164
- else {
165
- this.stickyTopAt = this.verticalScrollContentClipperHeightOptions["withoutSubNav"]["mobile"];
166
- }
167
- }
168
- this.el.style.setProperty('--sticky-stop-at', `${this.stickyTopAt}px`);
169
- const bodyBackgroundColor = window.getComputedStyle(document.body, null).getPropertyValue('background-color');
170
- if (bodyBackgroundColor === ("rgba(0, 0, 0, 0)" )) {
171
- verticalScrollContentClipper.style.backgroundColor = "white";
172
- }
173
- else {
174
- verticalScrollContentClipper.style.backgroundColor = bodyBackgroundColor;
175
- }
176
- verticalScrollContentClipper.style.width = `${tableBody.getBoundingClientRect().width + 20}px`;
177
- verticalScrollContentClipper.style.transform = `translateX(-10px)`;
178
- tableHeader.style.width = `${tableBody.getBoundingClientRect().width}px`;
179
- tableHeader.scrollLeft = tableBody.scrollLeft;
180
- nextScrollButton.style.left = `${tableBody.getBoundingClientRect().width}px`;
181
- horizontalScrollShadow.style.left = `${desktopHeaderFirstCell.getBoundingClientRect().width}px`;
182
- this.handleScrollButtonsVisibility();
183
- this.handleFillEmptySpace();
184
- };
185
- this.preProcessTableDescription = () => {
186
- let tableDescription = this.el.querySelector('[slot="table-description"]');
187
- if (tableDescription) {
188
- this.tableDescription = tableDescription;
189
- }
190
- };
191
- this.preProcessdesktopHeaderFirstCell = () => {
192
- let desktopHeaderFirstCellSlot = this.el.querySelector('[slot="desktop-header-first-cell"]');
193
- let desktopHeaderFirstCellText = desktopHeaderFirstCellSlot.innerHTML;
194
- this.el.insertAdjacentHTML('afterbegin', `<span slot="placeholder-desktop-header-first-cell">${desktopHeaderFirstCellText}</span>`);
195
- };
196
- this.preProcessColumnHeaders = () => {
197
- let columnHeaders = this.el.querySelectorAll('[slot^="column-header"]');
198
- for (let i = 0; i < this.dataCols; i++) {
199
- let slotValue = columnHeaders[i].getAttribute('slot');
200
- let headerText = columnHeaders[i].innerHTML;
201
- this.el.insertAdjacentHTML('afterbegin', `<span slot="placeholder-${slotValue}">${headerText}</span>`);
202
- }
203
- };
204
- this.preProcessHeaderLinks = () => {
205
- let headerLink;
206
- for (let i = 0; i < this.dataCols; i++) {
207
- headerLink = this.el.querySelector(`[slot^="header-link-${i + 1}"]`);
208
- if (headerLink) {
209
- let linkHref = headerLink.getAttribute('href');
210
- let linkText = headerLink.innerHTML;
211
- let linkTarget = headerLink.getAttribute('target');
212
- let linkTitle = headerLink.getAttribute('title');
213
- this.columnHeaderLinks.push({ linkHref, linkText, linkTarget, linkTitle });
214
- headerLink.remove();
215
- }
216
- else {
217
- this.columnHeaderLinks.push(null);
218
- }
219
- }
220
- };
221
- this.preProcessRowHeaders = () => {
222
- let rowHeader;
223
- for (let i = 0; i < this.dataRows; i++) {
224
- rowHeader = this.el.querySelector(`[slot^="row-header-${i + 1}"]`);
225
- let tableRowHeaderP = rowHeader.querySelectorAll('.table-row-header-p');
226
- for (let i = 0; i < tableRowHeaderP.length; i++) {
227
- let ptcPara = document.createElement('ptc-para');
228
- ptcPara.setAttribute("font-size", "small");
229
- ptcPara.setAttribute("font-weight", "w-6");
230
- ptcPara.setAttribute("para-align", "left");
231
- ptcPara.setAttribute("para-color", "primary-grey");
232
- ptcPara.setAttribute("para-line-h", "line-height-p");
233
- ptcPara.setAttribute("para-margin", "margin-flush");
234
- ptcPara.innerHTML = tableRowHeaderP[i].innerHTML;
235
- tableRowHeaderP[i].replaceWith(ptcPara);
236
- }
237
- let slotValue = rowHeader.getAttribute('slot');
238
- let headerContent = rowHeader.innerHTML;
239
- this.el.insertAdjacentHTML('afterbegin', `<div slot="desktop-${slotValue}">${headerContent}</div><div slot="mobile-${slotValue}">${headerContent}</div>`);
240
- rowHeader.remove();
241
- }
242
- };
243
- this.preProcessCtaButtons = () => {
244
- let ctaButton;
245
- this.showCtaButtonsRow = false;
246
- for (let i = 0; i < this.dataCols; i++) {
247
- ctaButton = this.el.querySelector(`[slot^="cta-button-${i + 1}"]`);
248
- if (ctaButton) {
249
- let linkHref = ctaButton.getAttribute('href');
250
- let linkText = ctaButton.innerHTML;
251
- let linkTarget = ctaButton.getAttribute('target');
252
- let linkTitle = ctaButton.getAttribute('title');
253
- this.ctaButtons.push({ linkHref, linkText, linkTarget, linkTitle });
254
- ctaButton.remove();
255
- this.showCtaButtonsRow = true;
256
- }
257
- else {
258
- this.ctaButtons.push(null);
259
- }
260
- }
261
- };
262
- this.preProcessDisclaimers = () => {
263
- let disclaimers = this.el.querySelectorAll('[slot^="disclaimer"]');
264
- for (let i = 0; i < this.disclaimerCount; i++) {
265
- this.disclaimers.push(disclaimers[i].innerHTML);
266
- }
267
- };
268
- this.pageWithSubnav = false;
269
- this.tableTitle = undefined;
270
- this.tableSubTitle = "";
271
- this.dataRows = undefined;
272
- this.dataCols = undefined;
273
- this.disclaimerCount = 0;
274
- this.isDesktopView = undefined;
275
- this.cellWidthXXS = 180;
276
- this.cellWidthMD = 225;
277
- this.cellLeftRightPadding = 48;
278
- this.headerType = "normal";
279
- this.lastScrollTop = undefined;
280
- this.scrollTimeInterval = 25;
281
- this.scrollAmount = 5;
282
- this.scrollLimit = 50;
283
- this.stickyTopAt = undefined;
284
- this.columnHeaderLinks = [];
285
- this.hasEmptySpace = false;
286
- this.showFillerCells = false;
287
- this.showCtaButtonsRow = undefined;
288
- this.ctaButtons = [];
289
- this.disclaimers = [];
290
- this.tableDescription = undefined;
291
- }
292
- componentWillLoad() {
293
- this.preProcessTableDescription();
294
- this.preProcessdesktopHeaderFirstCell();
295
- this.preProcessColumnHeaders();
296
- this.preProcessHeaderLinks();
297
- this.preProcessRowHeaders();
298
- this.preProcessCtaButtons();
299
- this.preProcessDisclaimers();
300
- }
301
- componentDidLoad() {
302
- this.handleTableReset();
303
- window.addEventListener("scroll", () => this.handleVerticalScroll());
304
- window.addEventListener("resize", () => this.handleTableReset());
305
- }
306
- render() {
307
- const TableTitle = () => {
308
- return (this.tableTitle && index.h(index.Fragment, null, index.h("div", { class: "table-descriptor" }, index.h("ptc-title", { type: "h2", "text-align": "center", "title-size": "xx-large", upperline: "no-upperline", "title-height": "densest", "title-margin": "margin-flush", "title-weight": "w-8" }, this.tableTitle)), (this.tableSubTitle)
309
- ? index.h(index.Fragment, null, index.h("ptc-spacer", { breakpoint: "small", size: "x-small" }), index.h("ptc-spacer", { breakpoint: "x-small", size: "small" }))
310
- : (this.tableDescription)
311
- ? index.h(index.Fragment, null, index.h("ptc-spacer", { breakpoint: "small", size: "small" }), index.h("ptc-spacer", { breakpoint: "x-small", size: "medium" }))
312
- : null));
313
- };
314
- const TableSubTitle = () => {
315
- return (this.tableSubTitle && index.h(index.Fragment, null, index.h("div", { class: "table-descriptor" }, index.h("ptc-title", { type: "h3", "text-align": "center", "title-size": "large", upperline: "no-upperline", "title-height": "densest", "title-margin": "margin-flush", "title-weight": "w-7" }, this.tableSubTitle)), index.h("ptc-spacer", { breakpoint: "small", size: "medium" }), index.h("ptc-spacer", { breakpoint: "x-small", size: "large" })));
316
- };
317
- const TableDescription = () => {
318
- return (this.tableDescription && index.h(index.Fragment, null, index.h("div", { class: "table-descriptor" }, index.h("ptc-para", { "font-size": "small", "font-weight": "w-4", "para-align": "center", "para-line-h": "line-height-p", "para-margin": "margin-flush" }, (this.tableDescription.innerText.length <= 500) ?
319
- index.h("slot", { name: "table-description" }) :
320
- index.h("ptc-readmore", { "more-text": "More", "less-text": "Less" }, index.h("slot", { name: "table-description" }))))));
321
- };
322
- const TableHeader = () => {
323
- return index.h("div", { id: "table-header", class: this.headerType, onScroll: () => this.handleHorizontalScroll() }, index.h("div", { class: `desktop-header-first-cell` }, (this.isDesktopView) ?
324
- index.h("ptc-para", { "font-size": "medium", "font-weight": "w-7", "para-align": "left", "para-color": "white", "para-line-h": "line-height-p", "para-margin": "margin-flush" }, index.h("slot", { name: "desktop-header-first-cell" }))
325
- : null, index.h("div", { class: "scroll-button", id: "previous-scroll-button" }, index.h("div", { onClick: () => this.handleBackwardScroll() }, index.h("icon-asset", { type: "solid", size: "medium", name: "chevron-left", color: "primary-gray" }), index.h("ptc-para", { "font-size": "small", "font-weight": "w-6", "para-align": "justify", "para-color": "primary-grey", "para-line-h": "line-height-p", "para-margin": "margin-flush" }, "More"))), index.h("div", { class: "scroll-button", id: "next-scroll-button" }, index.h("div", { onClick: () => this.handleForwardScroll() }, index.h("ptc-para", { "font-size": "small", "font-weight": "w-6", "para-align": "justify", "para-color": "primary-grey", "para-line-h": "line-height-p", "para-margin": "margin-flush" }, "More"), index.h("icon-asset", { type: "solid", size: "medium", name: "chevron-right", color: "primary-gray" })))), ([...Array(this.dataCols).keys()]).map(col => {
326
- return index.h("div", { class: `table-cell ${(col + 1) === this.dataCols ? "table-last-cell" : ""}` }, index.h("ptc-para", { "font-size": "medium", "font-weight": "w-7", "para-align": "center", "para-color": "white", "para-line-h": "line-height-densest", "para-margin": "margin-flush", "para-z-index": "z-1" }, index.h("slot", { name: `column-header-${col + 1}` })), ((this.columnHeaderLinks.length === this.dataCols) && (this.columnHeaderLinks[col])) ? index.h(index.Fragment, null, index.h("ptc-spacer", { breakpoint: 'small', size: "small" }), index.h("ptc-spacer", { breakpoint: 'x-small', size: "medium" }), index.h("ptc-link", { "font-size": "medium", "font-weight": "w-extrabold", href: `${this.columnHeaderLinks[col].linkHref}`, "link-area": "undefined", target: `${this.columnHeaderLinks[col].linkTarget}`, theme: "d-green-underline", styles: "a.ptc-link {line-height: var(--ptc-line-height-p);}", "link-title": this.columnHeaderLinks[col].linkTitle }, this.isDesktopView ?
327
- index.h("ptc-tooltip", { class: (col === (this.dataCols - 1)) ? "last-column-tooltip" : "", "text-display": "inline", "max-length": "30", "z-index": "z-2", description: this.columnHeaderLinks[col].linkText, position: "top" })
328
- : this.columnHeaderLinks[col].linkText)) : null);
329
- }), index.h("div", { class: `table-filler-cell ${this.showFillerCells ? "show" : ""}` }));
330
- };
331
- const TableHeaderPlaceholder = () => {
332
- return index.h("div", { id: "table-header-placeholder", class: this.headerType }, index.h("div", { class: `desktop-header-first-cell` }, (this.isDesktopView) ?
333
- index.h("ptc-para", { "font-size": "medium", "font-weight": "w-7", "para-align": "left", "para-color": "white", "para-line-h": "line-height-p", "para-margin": "margin-flush" }, index.h("slot", { name: "placeholder-desktop-header-first-cell" }))
334
- : null), ([...Array(this.dataCols).keys()]).map(col => {
335
- return index.h("div", { class: `table-cell ${(col + 1) === this.dataCols ? "table-last-cell" : ""}` }, index.h("ptc-para", { "font-size": "medium", "font-weight": "w-7", "para-align": "center", "para-color": "white", "para-line-h": "line-height-densest", "para-margin": "margin-flush", "para-z-index": "z-1" }, index.h("slot", { name: `placeholder-column-header-${col + 1}` })), ((this.columnHeaderLinks.length === this.dataCols) && (this.columnHeaderLinks[col])) ? index.h(index.Fragment, null, index.h("ptc-spacer", { breakpoint: 'small', size: "small" }), index.h("ptc-spacer", { breakpoint: 'x-small', size: "medium" }), index.h("ptc-link", { "font-size": "medium", "font-weight": "w-extrabold", href: `${this.columnHeaderLinks[col].linkHref}`, "link-area": "undefined", target: `${this.columnHeaderLinks[col].linkTarget}`, theme: "d-green-underline", styles: "a.ptc-link {line-height: var(--ptc-line-height-p);}", "link-title": this.columnHeaderLinks[col].linkTitle }, this.isDesktopView ?
336
- index.h("ptc-tooltip", { class: (col === (this.dataCols - 1)) ? "last-column-tooltip" : "", "text-display": "inline", "max-length": "30", "z-index": "z-2", description: this.columnHeaderLinks[col].linkText, position: "top" })
337
- : this.columnHeaderLinks[col].linkText)) : null);
338
- }), index.h("div", { class: `table-filler-cell ${this.showFillerCells ? "show" : ""}` }));
339
- };
340
- const TableDataRows = () => {
341
- return ([...Array(this.dataRows).keys()]).map(row => {
342
- return index.h(index.Fragment, null, index.h("div", { class: "mobile-sticky-row-header" }, index.h("slot", { name: `mobile-row-header-${row + 1}` })), index.h("div", { class: `table-row ${(this.isDesktopView && (row % 2 != 0)) ? "desktop-alternate-row" : ""}` }, (this.isDesktopView) ?
343
- index.h("div", { class: `desktop-sticky-row-header ${(this.isDesktopView && (row % 2 != 0)) ? "desktop-alternate-row" : ""}` }, index.h("slot", { name: `desktop-row-header-${row + 1}` })) : null, ([...Array(this.dataCols).keys()]).map(col => {
344
- return index.h("div", { class: `table-cell ${(col + 1) === this.dataCols ? "table-last-cell" : ""}` }, index.h("slot", { name: `cell-r${row + 1}-c${col + 1}` }));
345
- }), index.h("div", { class: `table-filler-cell ${this.showFillerCells ? "show" : ""}` })));
346
- });
347
- };
348
- const TableCtaRow = () => {
349
- return (this.showCtaButtonsRow) ?
350
- index.h("div", { class: "table-cta-row" }, (this.isDesktopView) ?
351
- index.h("div", { class: "desktop-sticky-row-header" })
352
- : null, ([...Array(this.dataCols).keys()]).map(col => {
353
- return index.h("div", { class: `table-cell ${(col + 1) === this.dataCols ? "table-last-cell" : ""}` }, (this.ctaButtons[col]) ?
354
- index.h("ptc-button", { type: "link", color: "ptc-tertiary", "link-href": this.ctaButtons[col].linkHref, target: `${this.ctaButtons[col].linkTarget}`, "link-title": this.ctaButtons[col].linkTitle }, this.isDesktopView ?
355
- index.h("ptc-tooltip", { class: (col === (this.dataCols - 1)) ? "last-column-tooltip" : "", "text-display": "inline", "max-length": "30", "z-index": "z-2", description: this.ctaButtons[col].linkText, position: "top" })
356
- : this.ctaButtons[col].linkText) : null);
357
- }), index.h("div", { class: `table-filler-cell ${this.showFillerCells ? "show" : ""}` })) : null;
358
- };
359
- const TableDisclaimers = () => {
360
- return ((this.disclaimerCount > 0) && index.h(index.Fragment, null, index.h("ptc-spacer", { breakpoint: "small", size: "medium" }), index.h("ptc-spacer", { breakpoint: "x-small", size: "large" }), this.disclaimers.map((_disclaimer, ind) => {
361
- return index.h(index.Fragment, null, index.h("ptc-para", { "font-size": "xx-small", "font-weight": "w-6", "para-align": "center", "para-color": "primary-grey", "para-line-h": "line-height-p", "para-margin": "margin-flush" }, index.h("slot", { name: `disclaimer-${ind + 1}` })), (ind != (this.disclaimerCount - 1)) ? index.h("ptc-spacer", { size: "xx-small" }) : null);
362
- })));
363
- };
364
- return (index.h(index.Host, null, index.h("div", { id: "pricing-table" }, index.h(TableTitle, null), index.h(TableSubTitle, null), index.h(TableDescription, null), index.h("ptc-spacer", { breakpoint: "small", size: "xx-large" }), index.h("ptc-spacer", { breakpoint: "small", size: "xx-small" }), index.h("ptc-spacer", { breakpoint: "x-small", size: "xxx-large" }), index.h("ptc-spacer", { breakpoint: "x-small", size: "xx-small" }), index.h("div", { id: "vertical-scroll-content-clipper", class: this.headerType }), index.h("div", { id: "table-container" }, index.h("div", { id: "horizontal-scroll-shadow" }), index.h("div", { id: "table-body", onScroll: () => this.handleHorizontalScroll() }, index.h(TableHeader, null), index.h(TableHeaderPlaceholder, null), index.h(TableDataRows, null), index.h(TableCtaRow, null))), index.h(TableDisclaimers, null))));
365
- }
366
- get el() { return index.getElement(this); }
367
- };
368
- PtcPricingPackagingTable.style = ptcPricingPackagingTableCss;
369
-
370
- exports.ptc_pricing_packaging_table = PtcPricingPackagingTable;