@digital-realty/ix-widget 2.1.31 → 2.1.33

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.
@@ -6,6 +6,7 @@ import './ix-news-feed.js';
6
6
  import './ix-table-data.js';
7
7
  import './ix-nav-item.js';
8
8
  import './ix-nav-list.js';
9
+ import '@digital-realty/ix-dialog/ix-dialog.js';
9
10
  export interface NavItem {
10
11
  icon: string;
11
12
  target: string;
@@ -27,6 +28,9 @@ export interface InfoCardItem {
27
28
  title: string;
28
29
  abstract: string;
29
30
  uid: string;
31
+ video?: {
32
+ url: string;
33
+ };
30
34
  }
31
35
  export interface TableDataItem {
32
36
  columns: string[];
@@ -46,11 +50,17 @@ export declare class IxLaunchpad extends LitElement {
46
50
  resources: InfoCardItem[];
47
51
  promotions: InfoCardItem[];
48
52
  kbImgBaseUrl: string;
53
+ kbVideoBaseUrl: string;
49
54
  kbLinkBaseUrl: string;
50
55
  kbNewsViewAllUrl: string;
51
56
  knowledgebase: string;
52
57
  updates: TableDataItem;
53
58
  actions: TableDataItem;
59
+ showVideoModal: boolean;
60
+ videoUrl: string;
61
+ videoTitle: string;
62
+ handleResourceOpen: (videoUrl: string | undefined, videoTitle?: string) => (e: Event) => void;
63
+ handleResourceClosed: () => void;
54
64
  renderNavigation: () => import("lit-html").TemplateResult<1>;
55
65
  renderTicketUpdatesGrid: () => import("lit-html").TemplateResult<1>;
56
66
  renderActionsRequiredGrid: () => import("lit-html").TemplateResult<1>;
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { html, LitElement, nothing } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
3
+ import { customElement, property, state } from 'lit/decorators.js';
4
4
  import './ix-status-counter-group.js';
5
5
  import './ix-contacts.js';
6
6
  import './ix-info-card.js';
@@ -9,6 +9,8 @@ import './ix-table-data.js';
9
9
  import './ix-nav-item.js';
10
10
  import './ix-nav-list.js';
11
11
  import { IxLaunchpadStyles } from './styles/launchpad-styles.js';
12
+ import { testIdTransform } from './utils/testIdTransform.js';
13
+ import '@digital-realty/ix-dialog/ix-dialog.js';
12
14
  let IxLaunchpad = class IxLaunchpad extends LitElement {
13
15
  constructor() {
14
16
  super(...arguments);
@@ -20,6 +22,7 @@ let IxLaunchpad = class IxLaunchpad extends LitElement {
20
22
  this.resources = [];
21
23
  this.promotions = [];
22
24
  this.kbImgBaseUrl = '';
25
+ this.kbVideoBaseUrl = '';
23
26
  this.kbLinkBaseUrl = '';
24
27
  this.kbNewsViewAllUrl = '/knowledge-base/category/whats-new/';
25
28
  this.knowledgebase = '';
@@ -36,8 +39,25 @@ let IxLaunchpad = class IxLaunchpad extends LitElement {
36
39
  href: '',
37
40
  disabled: true,
38
41
  };
42
+ this.showVideoModal = false;
43
+ this.videoUrl = '';
44
+ this.videoTitle = '';
45
+ this.handleResourceOpen = (videoUrl, videoTitle = '') => (e) => {
46
+ if (!videoUrl)
47
+ return;
48
+ e.preventDefault();
49
+ this.videoUrl = `${this.kbVideoBaseUrl}${encodeURIComponent(videoUrl)}`;
50
+ this.videoTitle = videoTitle;
51
+ this.showVideoModal = true;
52
+ };
53
+ this.handleResourceClosed = () => {
54
+ this.showVideoModal = false;
55
+ };
39
56
  this.renderNavigation = () => html `
40
- ${this.nav.map((nav) => html ` <ix-nav-list .header="${nav.header}">
57
+ ${this.nav.map((nav) => html ` <ix-nav-list
58
+ .header="${nav.header}"
59
+ data-testid=${`lp-navigation-${testIdTransform(nav.header)}`}
60
+ >
41
61
  ${nav.items.map((item) => html `<ix-nav-item .icon=${item === null || item === void 0 ? void 0 : item.icon} .target=${item === null || item === void 0 ? void 0 : item.target}
42
62
  >${item.name}</ix-nav-item
43
63
  >`)}
@@ -51,6 +71,7 @@ let IxLaunchpad = class IxLaunchpad extends LitElement {
51
71
  ?disabled=${this.updates.disabled}
52
72
  emptyDescription="No Recent Service Ticket Updates"
53
73
  showViewAllButtonOnEmpty
74
+ data-testid="lp-ticketUpdates"
54
75
  >
55
76
  </ix-table-data>`;
56
77
  this.renderActionsRequiredGrid = () => html `<ix-table-data
@@ -60,12 +81,30 @@ let IxLaunchpad = class IxLaunchpad extends LitElement {
60
81
  .href=${this.actions.href}
61
82
  ?disabled=${this.actions.disabled}
62
83
  emptyDescription="No Pending Actions"
84
+ data-testid="lp-yourActionRequired"
63
85
  >
64
86
  </ix-table-data>`;
65
87
  }
66
88
  render() {
67
89
  var _a, _b, _c;
68
90
  return html `
91
+ ${this.showVideoModal
92
+ ? html `<ix-dialog open @close=${this.handleResourceClosed}>
93
+ <div id="videoPlayer" class="headline" slot="headline">
94
+ <span class="title">${this.videoTitle}</span>
95
+ <ix-icon-button @click=${this.handleResourceClosed} icon="close">
96
+ </ix-icon-button>
97
+ </div>
98
+ <div slot="content">
99
+ <video
100
+ src=${this.videoUrl}
101
+ controls=""
102
+ autoplay=""
103
+ controlslist="nodownload"
104
+ ></video>
105
+ </div>
106
+ </ix-dialog>`
107
+ : nothing}
69
108
  <main class="wrapper">
70
109
  <section>
71
110
  <div class="container">
@@ -97,6 +136,7 @@ let IxLaunchpad = class IxLaunchpad extends LitElement {
97
136
  uid: `${this.kbLinkBaseUrl}${item.uid}`,
98
137
  }))}
99
138
  .href=${this.kbNewsViewAllUrl}
139
+ data-testid="lp-newsFeed"
100
140
  ></ix-news-feed>`
101
141
  : nothing}
102
142
  ${((_b = this.resources) === null || _b === void 0 ? void 0 : _b.length)
@@ -104,17 +144,19 @@ let IxLaunchpad = class IxLaunchpad extends LitElement {
104
144
  <h2>Resources</h2>
105
145
  <div class="resources">
106
146
  ${this.resources.map(item => {
107
- var _a, _b, _c;
147
+ var _a, _b, _c, _d;
108
148
  return html ` <a
109
149
  href=${`${this.kbLinkBaseUrl}${item.uid}`}
150
+ data-testid="lp-resourceItem"
151
+ @click=${this.handleResourceOpen((_a = item.video) === null || _a === void 0 ? void 0 : _a.url, item.title)}
110
152
  ><ix-info-card type="info-card-resources"
111
153
  ><img
112
154
  slot="image"
113
155
  name="image"
114
- alt=${((_a = item === null || item === void 0 ? void 0 : item.thumbnail) === null || _a === void 0 ? void 0 : _a.alternativeText) || ''}
156
+ alt=${((_b = item === null || item === void 0 ? void 0 : item.thumbnail) === null || _b === void 0 ? void 0 : _b.alternativeText) || ''}
115
157
  src="${`${this.kbImgBaseUrl}${encodeURIComponent(item.thumbnail.url)}&w=3840&q=75`}"
116
158
  />
117
- ${((_c = (_b = item.topics) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.name)
159
+ ${((_d = (_c = item.topics) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.name)
118
160
  ? html `<div slot="label">
119
161
  ${item.topics[0].name}
120
162
  </div>`
@@ -147,6 +189,7 @@ let IxLaunchpad = class IxLaunchpad extends LitElement {
147
189
  <div class="newsAndPromotions">
148
190
  ${this.promotions.map(item => html ` <a
149
191
  href=${`${this.kbLinkBaseUrl}${item.uid}`}
192
+ data-testid="lp-newsPromotionsItem"
150
193
  ><ix-info-card type="info-card">
151
194
  <img
152
195
  slot="image"
@@ -172,7 +215,10 @@ let IxLaunchpad = class IxLaunchpad extends LitElement {
172
215
  </div>`
173
216
  : nothing}
174
217
  ${((_c = this.contacts) === null || _c === void 0 ? void 0 : _c.email)
175
- ? html `<ix-contacts .contacts=${this.contacts}></ix-contacts>`
218
+ ? html `<ix-contacts
219
+ .contacts=${this.contacts}
220
+ data-testid="lp-contacts"
221
+ ></ix-contacts>`
176
222
  : nothing}
177
223
  </div>
178
224
  <nav>
@@ -214,6 +260,9 @@ __decorate([
214
260
  __decorate([
215
261
  property({ type: String, attribute: 'kb-img-base-url' })
216
262
  ], IxLaunchpad.prototype, "kbImgBaseUrl", void 0);
263
+ __decorate([
264
+ property({ type: String, attribute: 'kb-video-base-url' })
265
+ ], IxLaunchpad.prototype, "kbVideoBaseUrl", void 0);
217
266
  __decorate([
218
267
  property({ type: String, attribute: 'kb-link-base-url' })
219
268
  ], IxLaunchpad.prototype, "kbLinkBaseUrl", void 0);
@@ -229,6 +278,15 @@ __decorate([
229
278
  __decorate([
230
279
  property({ type: Object })
231
280
  ], IxLaunchpad.prototype, "actions", void 0);
281
+ __decorate([
282
+ state()
283
+ ], IxLaunchpad.prototype, "showVideoModal", void 0);
284
+ __decorate([
285
+ state()
286
+ ], IxLaunchpad.prototype, "videoUrl", void 0);
287
+ __decorate([
288
+ state()
289
+ ], IxLaunchpad.prototype, "videoTitle", void 0);
232
290
  IxLaunchpad = __decorate([
233
291
  customElement('ix-launchpad')
234
292
  ], IxLaunchpad);
@@ -1 +1 @@
1
- {"version":3,"file":"ix-launchpad.js","sourceRoot":"","sources":["../src/ix-launchpad.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport './ix-status-counter-group.js';\nimport './ix-contacts.js';\nimport './ix-info-card.js';\nimport './ix-news-feed.js';\nimport './ix-table-data.js';\nimport './ix-nav-item.js';\nimport './ix-nav-list.js';\nimport { IxLaunchpadStyles } from './styles/launchpad-styles.js';\n\nexport interface NavItem {\n icon: string;\n target: string;\n name: string;\n}\n\nexport interface NavList {\n header: string;\n items: NavItem[];\n}\n\nexport interface Topic {\n name: string;\n}\n\nexport interface InfoCardItem {\n thumbnail: {\n alternativeText: string;\n url: string;\n };\n topics: Topic[];\n title: string;\n abstract: string;\n uid: string;\n}\n\nexport interface TableDataItem {\n columns: string[];\n rows?: string[];\n header: string;\n href: string;\n disabled?: boolean;\n isAuthorizedToView?: boolean;\n}\n\n@customElement('ix-launchpad')\nexport class IxLaunchpad extends LitElement {\n static styles = [IxLaunchpadStyles];\n\n @property({ type: Object }) data = {};\n\n @property({ type: Array }) status = [];\n\n @property({ type: Array }) nav = [];\n\n @property({ type: Array }) news: InfoCardItem[] = [];\n\n @property({ type: Object }) contacts: any = {};\n\n @property({ type: Array }) resources: InfoCardItem[] = [];\n\n @property({ type: Array }) promotions: InfoCardItem[] = [];\n\n @property({ type: String, attribute: 'kb-img-base-url' }) kbImgBaseUrl = '';\n\n @property({ type: String, attribute: 'kb-link-base-url' }) kbLinkBaseUrl = '';\n\n @property({ type: String, attribute: 'kb-news-view-all-url' })\n kbNewsViewAllUrl = '/knowledge-base/category/whats-new/';\n\n @property({ type: String }) knowledgebase = '';\n\n @property({ type: Object }) updates: TableDataItem = {\n columns: [],\n rows: [],\n header: '',\n href: '',\n };\n\n @property({ type: Object }) actions: TableDataItem = {\n columns: [],\n rows: [],\n header: '',\n href: '',\n disabled: true,\n };\n\n renderNavigation = () => html`\n ${this.nav.map(\n (nav: NavList) => html` <ix-nav-list .header=\"${nav.header}\">\n ${nav.items.map(\n (item: NavItem) =>\n html`<ix-nav-item .icon=${item?.icon} .target=${item?.target}\n >${item.name}</ix-nav-item\n >`\n )}\n </ix-nav-list>`\n )}\n `;\n\n renderTicketUpdatesGrid = () => html`<ix-table-data\n .columns=${this.updates.columns}\n .rows=${this.updates.rows}\n .header=${this.updates.header}\n .href=${this.updates.href}\n ?disabled=${this.updates.disabled}\n emptyDescription=\"No Recent Service Ticket Updates\"\n showViewAllButtonOnEmpty\n >\n </ix-table-data>`;\n\n renderActionsRequiredGrid = () => html`<ix-table-data\n .columns=${this.actions.columns}\n .rows=${this.actions.rows}\n .header=${this.actions.header}\n .href=${this.actions.href}\n ?disabled=${this.actions.disabled}\n emptyDescription=\"No Pending Actions\"\n >\n </ix-table-data>`;\n\n protected override render() {\n return html`\n <main class=\"wrapper\">\n <section>\n <div class=\"container\">\n <div class=\"content\">\n <ix-status-counter-group\n .data=${this.status}\n ></ix-status-counter-group>\n\n <nav>${this.renderNavigation()}</nav>\n\n ${this.actions.isAuthorizedToView\n ? this.renderActionsRequiredGrid()\n : nothing}\n ${this.updates.isAuthorizedToView\n ? this.renderTicketUpdatesGrid()\n : nothing}\n ${this.knowledgebase !== ''\n ? html` <iframe\n class=\"knowledge-base\"\n title=\"knowledge base\"\n .src=${this.knowledgebase}\n ></iframe>`\n : nothing}\n ${this.news?.length\n ? html`<ix-news-feed\n header=\"What's New\"\n .data=${this.news.map(item => ({\n ...item,\n uid: `${this.kbLinkBaseUrl}${item.uid}`,\n }))}\n .href=${this.kbNewsViewAllUrl}\n ></ix-news-feed>`\n : nothing}\n ${this.resources?.length\n ? html`<div class=\"news-info\">\n <h2>Resources</h2>\n <div class=\"resources\">\n ${this.resources.map(\n item => html` <a\n href=${`${this.kbLinkBaseUrl}${item.uid}`}\n ><ix-info-card type=\"info-card-resources\"\n ><img\n slot=\"image\"\n name=\"image\"\n alt=${item?.thumbnail?.alternativeText || ''}\n src=\"${`${this.kbImgBaseUrl}${encodeURIComponent(\n item.thumbnail.url\n )}&w=3840&q=75`}\"\n />\n ${item.topics?.[0]?.name\n ? html`<div slot=\"label\">\n ${item.topics[0].name}\n </div>`\n : nothing}\n <div slot=\"title\">${item.title}</div>\n ${item.abstract\n ? html`<div\n slot=\"description\"\n class=\"news-item-description\"\n >\n ${item.abstract}\n </div>`\n : nothing}\n <ix-button\n slot=\"cta\"\n type=\"button\"\n has-icon\n trailing-icon\n appearance=\"text\"\n >\n <ix-icon slot=\"icon\">chevron_right</ix-icon>\n Learn more\n </ix-button>\n </ix-info-card></a\n >`\n )}\n </div>\n\n <h2 class=\"\">News &amp; Promotions</h2>\n <div class=\"newsAndPromotions\">\n ${this.promotions.map(\n item => html` <a\n href=${`${this.kbLinkBaseUrl}${item.uid}`}\n ><ix-info-card type=\"info-card\">\n <img\n slot=\"image\"\n name=\"image\"\n alt=\"${item.thumbnail.alternativeText}\"\n src=\"${`${this.kbImgBaseUrl}${encodeURIComponent(\n item.thumbnail.url\n )}&w=3840&q=75`}\"\n />\n <div slot=\"title\">${item.title}</div>\n <div slot=\"description\">${item.abstract}</div>\n <ix-button\n slot=\"cta\"\n type=\"button\"\n has-icon\n trailing-icon\n appearance=\"text\"\n >\n <ix-icon slot=\"icon\">chevron_right</ix-icon>\n Learn more\n </ix-button>\n </ix-info-card></a\n >`\n )}\n </div>\n </div>`\n : nothing}\n ${this.contacts?.email\n ? html`<ix-contacts .contacts=${this.contacts}></ix-contacts>`\n : nothing}\n </div>\n <nav>\n <div\n class=\"side-nav\"\n style=\"top:calc(var(--header-height) + var(--intraportal-nav-height, 0px));\"\n >\n ${this.renderNavigation()}\n </div>\n </nav>\n </div>\n </section>\n </main>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ix-launchpad.js","sourceRoot":"","sources":["../src/ix-launchpad.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport './ix-status-counter-group.js';\nimport './ix-contacts.js';\nimport './ix-info-card.js';\nimport './ix-news-feed.js';\nimport './ix-table-data.js';\nimport './ix-nav-item.js';\nimport './ix-nav-list.js';\nimport { IxLaunchpadStyles } from './styles/launchpad-styles.js';\nimport { testIdTransform } from './utils/testIdTransform.js';\nimport '@digital-realty/ix-dialog/ix-dialog.js';\n\nexport interface NavItem {\n icon: string;\n target: string;\n name: string;\n}\n\nexport interface NavList {\n header: string;\n items: NavItem[];\n}\n\nexport interface Topic {\n name: string;\n}\n\nexport interface InfoCardItem {\n thumbnail: {\n alternativeText: string;\n url: string;\n };\n topics: Topic[];\n title: string;\n abstract: string;\n uid: string;\n video?: {\n url: string;\n };\n}\n\nexport interface TableDataItem {\n columns: string[];\n rows?: string[];\n header: string;\n href: string;\n disabled?: boolean;\n isAuthorizedToView?: boolean;\n}\n\n@customElement('ix-launchpad')\nexport class IxLaunchpad extends LitElement {\n static styles = [IxLaunchpadStyles];\n\n @property({ type: Object }) data = {};\n\n @property({ type: Array }) status = [];\n\n @property({ type: Array }) nav = [];\n\n @property({ type: Array }) news: InfoCardItem[] = [];\n\n @property({ type: Object }) contacts: any = {};\n\n @property({ type: Array }) resources: InfoCardItem[] = [];\n\n @property({ type: Array }) promotions: InfoCardItem[] = [];\n\n @property({ type: String, attribute: 'kb-img-base-url' }) kbImgBaseUrl = '';\n\n @property({ type: String, attribute: 'kb-video-base-url' }) kbVideoBaseUrl =\n '';\n\n @property({ type: String, attribute: 'kb-link-base-url' }) kbLinkBaseUrl = '';\n\n @property({ type: String, attribute: 'kb-news-view-all-url' })\n kbNewsViewAllUrl = '/knowledge-base/category/whats-new/';\n\n @property({ type: String }) knowledgebase = '';\n\n @property({ type: Object }) updates: TableDataItem = {\n columns: [],\n rows: [],\n header: '',\n href: '',\n };\n\n @property({ type: Object }) actions: TableDataItem = {\n columns: [],\n rows: [],\n header: '',\n href: '',\n disabled: true,\n };\n\n @state() showVideoModal = false;\n\n @state() videoUrl = '';\n\n @state() videoTitle = '';\n\n handleResourceOpen =\n (videoUrl: string | undefined, videoTitle: string = '') =>\n (e: Event) => {\n if (!videoUrl) return;\n e.preventDefault();\n this.videoUrl = `${this.kbVideoBaseUrl}${encodeURIComponent(videoUrl)}`;\n this.videoTitle = videoTitle;\n this.showVideoModal = true;\n };\n\n handleResourceClosed = () => {\n this.showVideoModal = false;\n };\n\n renderNavigation = () => html`\n ${this.nav.map(\n (nav: NavList) => html` <ix-nav-list\n .header=\"${nav.header}\"\n data-testid=${`lp-navigation-${testIdTransform(nav.header)}`}\n >\n ${nav.items.map(\n (item: NavItem) =>\n html`<ix-nav-item .icon=${item?.icon} .target=${item?.target}\n >${item.name}</ix-nav-item\n >`\n )}\n </ix-nav-list>`\n )}\n `;\n\n renderTicketUpdatesGrid = () => html`<ix-table-data\n .columns=${this.updates.columns}\n .rows=${this.updates.rows}\n .header=${this.updates.header}\n .href=${this.updates.href}\n ?disabled=${this.updates.disabled}\n emptyDescription=\"No Recent Service Ticket Updates\"\n showViewAllButtonOnEmpty\n data-testid=\"lp-ticketUpdates\"\n >\n </ix-table-data>`;\n\n renderActionsRequiredGrid = () => html`<ix-table-data\n .columns=${this.actions.columns}\n .rows=${this.actions.rows}\n .header=${this.actions.header}\n .href=${this.actions.href}\n ?disabled=${this.actions.disabled}\n emptyDescription=\"No Pending Actions\"\n data-testid=\"lp-yourActionRequired\"\n >\n </ix-table-data>`;\n\n protected override render() {\n return html`\n ${this.showVideoModal\n ? html`<ix-dialog open @close=${this.handleResourceClosed}>\n <div id=\"videoPlayer\" class=\"headline\" slot=\"headline\">\n <span class=\"title\">${this.videoTitle}</span>\n <ix-icon-button @click=${this.handleResourceClosed} icon=\"close\">\n </ix-icon-button>\n </div>\n <div slot=\"content\">\n <video\n src=${this.videoUrl}\n controls=\"\"\n autoplay=\"\"\n controlslist=\"nodownload\"\n ></video>\n </div>\n </ix-dialog>`\n : nothing}\n <main class=\"wrapper\">\n <section>\n <div class=\"container\">\n <div class=\"content\">\n <ix-status-counter-group\n .data=${this.status}\n ></ix-status-counter-group>\n\n <nav>${this.renderNavigation()}</nav>\n\n ${this.actions.isAuthorizedToView\n ? this.renderActionsRequiredGrid()\n : nothing}\n ${this.updates.isAuthorizedToView\n ? this.renderTicketUpdatesGrid()\n : nothing}\n ${this.knowledgebase !== ''\n ? html` <iframe\n class=\"knowledge-base\"\n title=\"knowledge base\"\n .src=${this.knowledgebase}\n ></iframe>`\n : nothing}\n ${this.news?.length\n ? html`<ix-news-feed\n header=\"What's New\"\n .data=${this.news.map(item => ({\n ...item,\n uid: `${this.kbLinkBaseUrl}${item.uid}`,\n }))}\n .href=${this.kbNewsViewAllUrl}\n data-testid=\"lp-newsFeed\"\n ></ix-news-feed>`\n : nothing}\n ${this.resources?.length\n ? html`<div class=\"news-info\">\n <h2>Resources</h2>\n <div class=\"resources\">\n ${this.resources.map(\n item => html` <a\n href=${`${this.kbLinkBaseUrl}${item.uid}`}\n data-testid=\"lp-resourceItem\"\n @click=${this.handleResourceOpen(\n item.video?.url,\n item.title\n )}\n ><ix-info-card type=\"info-card-resources\"\n ><img\n slot=\"image\"\n name=\"image\"\n alt=${item?.thumbnail?.alternativeText || ''}\n src=\"${`${this.kbImgBaseUrl}${encodeURIComponent(\n item.thumbnail.url\n )}&w=3840&q=75`}\"\n />\n ${item.topics?.[0]?.name\n ? html`<div slot=\"label\">\n ${item.topics[0].name}\n </div>`\n : nothing}\n <div slot=\"title\">${item.title}</div>\n ${item.abstract\n ? html`<div\n slot=\"description\"\n class=\"news-item-description\"\n >\n ${item.abstract}\n </div>`\n : nothing}\n <ix-button\n slot=\"cta\"\n type=\"button\"\n has-icon\n trailing-icon\n appearance=\"text\"\n >\n <ix-icon slot=\"icon\">chevron_right</ix-icon>\n Learn more\n </ix-button>\n </ix-info-card></a\n >`\n )}\n </div>\n\n <h2 class=\"\">News &amp; Promotions</h2>\n <div class=\"newsAndPromotions\">\n ${this.promotions.map(\n item => html` <a\n href=${`${this.kbLinkBaseUrl}${item.uid}`}\n data-testid=\"lp-newsPromotionsItem\"\n ><ix-info-card type=\"info-card\">\n <img\n slot=\"image\"\n name=\"image\"\n alt=\"${item.thumbnail.alternativeText}\"\n src=\"${`${this.kbImgBaseUrl}${encodeURIComponent(\n item.thumbnail.url\n )}&w=3840&q=75`}\"\n />\n <div slot=\"title\">${item.title}</div>\n <div slot=\"description\">${item.abstract}</div>\n <ix-button\n slot=\"cta\"\n type=\"button\"\n has-icon\n trailing-icon\n appearance=\"text\"\n >\n <ix-icon slot=\"icon\">chevron_right</ix-icon>\n Learn more\n </ix-button>\n </ix-info-card></a\n >`\n )}\n </div>\n </div>`\n : nothing}\n ${this.contacts?.email\n ? html`<ix-contacts\n .contacts=${this.contacts}\n data-testid=\"lp-contacts\"\n ></ix-contacts>`\n : nothing}\n </div>\n <nav>\n <div\n class=\"side-nav\"\n style=\"top:calc(var(--header-height) + var(--intraportal-nav-height, 0px));\"\n >\n ${this.renderNavigation()}\n </div>\n </nav>\n </div>\n </section>\n </main>\n `;\n }\n}\n"]}
@@ -4,6 +4,7 @@ import { customElement, property } from 'lit/decorators.js';
4
4
  import './IxWidget.js';
5
5
  import './ix-status-counter.js';
6
6
  import { laptop, users, mySites, dcim, locations } from './assets/iconset.js';
7
+ import { testIdTransform } from './utils/testIdTransform.js';
7
8
  const iconMap = {
8
9
  laptop,
9
10
  users,
@@ -32,6 +33,7 @@ let IxStatusCounterGroup = class IxStatusCounterGroup extends LitElement {
32
33
  .header=${header}
33
34
  .icon=${iconMap[icon]}
34
35
  .target=${target}
36
+ data-testid="lp-${testIdTransform(header)}"
35
37
  >
36
38
  </ix-status-counter>`;
37
39
  })}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-status-counter-group.js","sourceRoot":"","sources":["../src/ix-status-counter-group.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,eAAe,CAAC;AACvB,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE9E,MAAM,OAAO,GAAG;IACd,MAAM;IACN,KAAK;IACL,OAAO;IACP,IAAI;IACJ,SAAS;CACV,CAAC;AAGK,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,UAAU;IAA7C;;QA6HsB,SAAI,GAAG,EAAE,CAAC;IAwBvC,CAAC;IAtBoB,MAAM;;QACvB,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAA,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAA;;;YAGH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC9B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAC7C,OAAO,IAAI,CAAA;wBACC,KAAK,GAAG,CAAC;uBACV,KAAK;wBACJ,MAAM;sBACR,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM;;iCAEG,CAAC;QACxB,CAAC,CAAC;;;iBAGK,CAAC;IAChB,CAAC;;AAnJM,2BAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0HlB,AA1HY,CA0HX;AAEyB;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;kDAAW;AA7H1B,oBAAoB;IADhC,aAAa,CAAC,yBAAyB,CAAC;GAC5B,oBAAoB,CAqJhC","sourcesContent":["import { html, LitElement, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport './IxWidget.js';\nimport './ix-status-counter.js';\nimport { laptop, users, mySites, dcim, locations } from './assets/iconset.js';\n\nconst iconMap = {\n laptop,\n users,\n mySites,\n dcim,\n locations,\n};\n\n@customElement('ix-status-counter-group')\nexport class IxStatusCounterGroup extends LitElement {\n static styles = css`\n .layout {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n @media (min-width: 1350px) {\n .layout {\n grid-gap: 44px 32px;\n }\n .layout .b1 {\n grid-column-start: 1;\n grid-column-end: 2;\n }\n .layout .b2 {\n grid-column-start: 2;\n grid-column-end: 4;\n }\n .layout .b3 {\n grid-column-start: 1;\n grid-column-end: 2;\n }\n .layout .b4 {\n grid-column-start: 2;\n grid-column-end: 4;\n }\n\n ix-status-counter {\n --ix-widget-padding: 1rem;\n }\n\n .layout.x5 {\n grid-gap: 44px 32px;\n }\n .layout.x5 .b1 {\n grid-column-start: 1;\n grid-column-end: 2;\n }\n .layout.x5 .b2 {\n grid-column-start: 2;\n grid-column-end: 4;\n }\n .layout.x5 .b3 {\n grid-column-start: 4;\n grid-column-end: 6;\n }\n .layout.x5 .b4 {\n grid-column-start: 1;\n grid-column-end: 3;\n }\n .layout.x5 .b5 {\n grid-column-start: 3;\n grid-column-end: 6;\n }\n }\n\n @media (max-width: 1349px) {\n .layout {\n grid-gap: 0 24px;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n background: linear-gradient(\n 90deg,\n rgba(0, 0, 0, 0) calc(50% - 1px),\n rgba(9, 34, 65, 0.12) calc(50%),\n rgba(0, 0, 0, 0) calc(50% + 1px)\n );\n }\n .layout .b1 {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 1;\n }\n .layout .b2 {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 2;\n }\n .layout .b3 {\n grid-column-start: 2;\n grid-column-end: 3;\n grid-row-start: 1;\n }\n .layout .b4 {\n grid-column-start: 2;\n grid-column-end: 3;\n grid-row-start: 2;\n }\n\n .layout.x5 {\n grid-gap: 0 24px;\n background: linear-gradient(\n 90deg,\n rgba(0, 0, 0, 0) calc(50% - 1px),\n rgba(9, 34, 65, 0.12) calc(50%),\n rgba(0, 0, 0, 0) calc(50% + 1px)\n );\n }\n .layout.x5 .b1 {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 1;\n }\n .layout.x5 .b2 {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 2;\n }\n .layout.x5 .b3 {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 3;\n }\n .layout.x5 .b4 {\n grid-column-start: 2;\n grid-column-end: 3;\n grid-row-start: 1;\n }\n .layout.x5 .b5 {\n grid-column-start: 2;\n grid-column-end: 3;\n grid-row-start: 2;\n }\n }\n `;\n\n @property({ type: Array }) data = [];\n\n protected override render() {\n if (!this.data?.length) {\n return html``;\n }\n return html`<ix-widget type=\"status-counter-group\">\n <div class=\"content\">\n <div class=\"layout\">\n ${this.data.map((item, index) => {\n const { value, header, icon, target } = item;\n return html`<ix-status-counter\n class=\"b${index + 1}\"\n .value=${value}\n .header=${header}\n .icon=${iconMap[icon]}\n .target=${target}\n >\n </ix-status-counter>`;\n })}\n </div>\n </div>\n </ix-widget>`;\n }\n}\n"]}
1
+ {"version":3,"file":"ix-status-counter-group.js","sourceRoot":"","sources":["../src/ix-status-counter-group.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,eAAe,CAAC;AACvB,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,OAAO,GAAG;IACd,MAAM;IACN,KAAK;IACL,OAAO;IACP,IAAI;IACJ,SAAS;CACV,CAAC;AAGK,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,UAAU;IAA7C;;QA6HsB,SAAI,GAAG,EAAE,CAAC;IAyBvC,CAAC;IAvBoB,MAAM;;QACvB,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAA,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAA;;;YAGH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC9B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAC7C,OAAO,IAAI,CAAA;wBACC,KAAK,GAAG,CAAC;uBACV,KAAK;wBACJ,MAAM;sBACR,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM;gCACE,eAAe,CAAC,MAAM,CAAC;;iCAEtB,CAAC;QACxB,CAAC,CAAC;;;iBAGK,CAAC;IAChB,CAAC;;AApJM,2BAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0HlB,AA1HY,CA0HX;AAEyB;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;kDAAW;AA7H1B,oBAAoB;IADhC,aAAa,CAAC,yBAAyB,CAAC;GAC5B,oBAAoB,CAsJhC","sourcesContent":["import { html, LitElement, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport './IxWidget.js';\nimport './ix-status-counter.js';\nimport { laptop, users, mySites, dcim, locations } from './assets/iconset.js';\nimport { testIdTransform } from './utils/testIdTransform.js';\n\nconst iconMap = {\n laptop,\n users,\n mySites,\n dcim,\n locations,\n};\n\n@customElement('ix-status-counter-group')\nexport class IxStatusCounterGroup extends LitElement {\n static styles = css`\n .layout {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n @media (min-width: 1350px) {\n .layout {\n grid-gap: 44px 32px;\n }\n .layout .b1 {\n grid-column-start: 1;\n grid-column-end: 2;\n }\n .layout .b2 {\n grid-column-start: 2;\n grid-column-end: 4;\n }\n .layout .b3 {\n grid-column-start: 1;\n grid-column-end: 2;\n }\n .layout .b4 {\n grid-column-start: 2;\n grid-column-end: 4;\n }\n\n ix-status-counter {\n --ix-widget-padding: 1rem;\n }\n\n .layout.x5 {\n grid-gap: 44px 32px;\n }\n .layout.x5 .b1 {\n grid-column-start: 1;\n grid-column-end: 2;\n }\n .layout.x5 .b2 {\n grid-column-start: 2;\n grid-column-end: 4;\n }\n .layout.x5 .b3 {\n grid-column-start: 4;\n grid-column-end: 6;\n }\n .layout.x5 .b4 {\n grid-column-start: 1;\n grid-column-end: 3;\n }\n .layout.x5 .b5 {\n grid-column-start: 3;\n grid-column-end: 6;\n }\n }\n\n @media (max-width: 1349px) {\n .layout {\n grid-gap: 0 24px;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n background: linear-gradient(\n 90deg,\n rgba(0, 0, 0, 0) calc(50% - 1px),\n rgba(9, 34, 65, 0.12) calc(50%),\n rgba(0, 0, 0, 0) calc(50% + 1px)\n );\n }\n .layout .b1 {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 1;\n }\n .layout .b2 {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 2;\n }\n .layout .b3 {\n grid-column-start: 2;\n grid-column-end: 3;\n grid-row-start: 1;\n }\n .layout .b4 {\n grid-column-start: 2;\n grid-column-end: 3;\n grid-row-start: 2;\n }\n\n .layout.x5 {\n grid-gap: 0 24px;\n background: linear-gradient(\n 90deg,\n rgba(0, 0, 0, 0) calc(50% - 1px),\n rgba(9, 34, 65, 0.12) calc(50%),\n rgba(0, 0, 0, 0) calc(50% + 1px)\n );\n }\n .layout.x5 .b1 {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 1;\n }\n .layout.x5 .b2 {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 2;\n }\n .layout.x5 .b3 {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 3;\n }\n .layout.x5 .b4 {\n grid-column-start: 2;\n grid-column-end: 3;\n grid-row-start: 1;\n }\n .layout.x5 .b5 {\n grid-column-start: 2;\n grid-column-end: 3;\n grid-row-start: 2;\n }\n }\n `;\n\n @property({ type: Array }) data = [];\n\n protected override render() {\n if (!this.data?.length) {\n return html``;\n }\n return html`<ix-widget type=\"status-counter-group\">\n <div class=\"content\">\n <div class=\"layout\">\n ${this.data.map((item, index) => {\n const { value, header, icon, target } = item;\n return html`<ix-status-counter\n class=\"b${index + 1}\"\n .value=${value}\n .header=${header}\n .icon=${iconMap[icon]}\n .target=${target}\n data-testid=\"lp-${testIdTransform(header)}\"\n >\n </ix-status-counter>`;\n })}\n </div>\n </div>\n </ix-widget>`;\n }\n}\n"]}
@@ -119,6 +119,15 @@ export const IxLaunchpadStyles = css `
119
119
  width: 348px;
120
120
  }
121
121
 
122
+ #videoPlayer.headline {
123
+ justify-content: space-between;
124
+ }
125
+
126
+ video {
127
+ max-width: 100%;
128
+ height: calc(100vh - 10rem);
129
+ }
130
+
122
131
  @media (max-width: 1199px) {
123
132
  ix-table-data,
124
133
  ix-action-list,
@@ -1 +1 @@
1
- {"version":3,"file":"launchpad-styles.js","sourceRoot":"","sources":["../../src/styles/launchpad-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2NnC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const IxLaunchpadStyles = css`\n .wrapper {\n margin-left: 0px;\n transition: margin-left 195ms cubic-bezier(0.4, 0, 0.6, 1) 0ms;\n display: flex;\n flex-direction: column;\n }\n header {\n min-height: 60px;\n background-color: rgba(245, 247, 255, 0.85);\n backdrop-filter: blur(6px);\n display: flex;\n flex-flow: column-reverse wrap;\n -webkit-box-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n align-items: center;\n gap: 20px;\n padding: 16px 24px 16px 7px;\n position: sticky;\n top: 0px;\n right: 0px;\n z-index: 1000;\n }\n header > div {\n margin-right: auto;\n display: flex;\n -webkit-box-pack: start;\n justify-content: start;\n -webkit-box-align: center;\n align-items: center;\n }\n header > div > h1 {\n display: block;\n margin-block-start: 0.67em;\n margin-block-end: 0.67em;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n font-weight: bold;\n font-family: var(--text-page-title-font, sans-serif);\n font-size: var(--text-page-title-size, 2.125rem);\n letter-spacing: var(--text-page-title-letter-spacing, 0.01029412em);\n line-height: var(--text-page-title-line-height, 1.17647059em);\n font-weight: var(--text-page-title-weight, bold);\n text-decoration: var(--text-page-title-decoration, none);\n text-transform: var(--text-page-title-transform, none);\n }\n h2 {\n margin: 0px;\n font-family: var(--text-heading-font, sans-serif);\n font-size: 24px;\n letter-spacing: var(--text-heading-letter-spacing, 0.0075em);\n line-height: var(--text-heading-line-height, 1.2em);\n font-weight: normal;\n text-decoration: var(--text-heading-decoration, none);\n text-transform: var(--text-heading-transform, none);\n margin-bottom: 24px;\n }\n .content {\n display: flex;\n flex-direction: column;\n gap: 24px;\n }\n nav {\n display: flex;\n flex-direction: column;\n gap: 24px;\n }\n section {\n flex: 1 1 0%;\n padding-right: 0px;\n padding-left: 0px;\n padding-bottom: 64px;\n }\n .container {\n display: flex;\n flex-direction: column;\n padding-top: 0px;\n padding-left: 16px;\n padding-right: 16px;\n gap: 32px;\n }\n\n .resources {\n margin-bottom: 44px;\n cursor: pointer;\n }\n\n .resources ix-button {\n pointer-events: none;\n }\n\n .news-info .newsAndPromotions,\n .news-info .resources {\n display: flex;\n gap: 44px;\n flex-wrap: wrap;\n }\n\n .news-info a {\n text-decoration: none;\n color: inherit;\n }\n\n .news-item-description {\n margin: 10px 0 0;\n font-family: var(--root-primary-font);\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 28px;\n letter-spacing: 0.44px;\n position: relative;\n color: white;\n }\n\n ix-info-card {\n width: 348px;\n }\n\n @media (max-width: 1199px) {\n ix-table-data,\n ix-action-list,\n .news-info {\n display: none;\n }\n }\n\n @media (min-width: 800px) and (max-width: 1349px) {\n nav {\n display: flex;\n align-items: flex-start;\n gap: 32px;\n }\n nav > * {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n }\n\n @media (min-width: 600px) {\n header {\n min-height: 100px;\n flex-direction: row;\n -webkit-box-align: center;\n align-items: center;\n gap: 21px;\n }\n .container {\n padding: 0px;\n }\n }\n @media (min-width: 900px) {\n .content {\n gap: 32px;\n }\n main {\n margin-left: 0px;\n margin-bottom: 0px;\n }\n header {\n padding-top: 12px;\n min-height: 92px;\n padding-bottom: 8px;\n }\n section {\n padding-right: 32px;\n padding-bottom: 48px;\n }\n }\n @media (min-width: 1200px) {\n header {\n min-height: 100px;\n padding-bottom: 16px;\n padding-top: 27px;\n }\n .container {\n /* background-image: url(/images/buildings-placeholder.png); */\n background-repeat: no-repeat;\n background-position: right bottom;\n }\n section {\n padding-right: 0px;\n padding-bottom: 0px;\n }\n .content {\n gap: 44px;\n }\n }\n\n @media (min-width: 1350px) {\n .side-nav {\n position: sticky;\n top: 0;\n display: flex;\n flex-direction: column;\n gap: 2rem;\n }\n .container {\n display: grid;\n grid-template-columns: minmax(760px, 1176px) minmax(310px, 584px);\n }\n .container .content > nav {\n display: none;\n }\n }\n\n @media (max-width: 1349px) {\n .container > nav {\n display: none;\n }\n }\n\n .knowledge-base {\n border: none;\n height: 1700px;\n margin: -2rem;\n }\n`;\n"]}
1
+ {"version":3,"file":"launchpad-styles.js","sourceRoot":"","sources":["../../src/styles/launchpad-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoOnC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const IxLaunchpadStyles = css`\n .wrapper {\n margin-left: 0px;\n transition: margin-left 195ms cubic-bezier(0.4, 0, 0.6, 1) 0ms;\n display: flex;\n flex-direction: column;\n }\n header {\n min-height: 60px;\n background-color: rgba(245, 247, 255, 0.85);\n backdrop-filter: blur(6px);\n display: flex;\n flex-flow: column-reverse wrap;\n -webkit-box-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n align-items: center;\n gap: 20px;\n padding: 16px 24px 16px 7px;\n position: sticky;\n top: 0px;\n right: 0px;\n z-index: 1000;\n }\n header > div {\n margin-right: auto;\n display: flex;\n -webkit-box-pack: start;\n justify-content: start;\n -webkit-box-align: center;\n align-items: center;\n }\n header > div > h1 {\n display: block;\n margin-block-start: 0.67em;\n margin-block-end: 0.67em;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n font-weight: bold;\n font-family: var(--text-page-title-font, sans-serif);\n font-size: var(--text-page-title-size, 2.125rem);\n letter-spacing: var(--text-page-title-letter-spacing, 0.01029412em);\n line-height: var(--text-page-title-line-height, 1.17647059em);\n font-weight: var(--text-page-title-weight, bold);\n text-decoration: var(--text-page-title-decoration, none);\n text-transform: var(--text-page-title-transform, none);\n }\n h2 {\n margin: 0px;\n font-family: var(--text-heading-font, sans-serif);\n font-size: 24px;\n letter-spacing: var(--text-heading-letter-spacing, 0.0075em);\n line-height: var(--text-heading-line-height, 1.2em);\n font-weight: normal;\n text-decoration: var(--text-heading-decoration, none);\n text-transform: var(--text-heading-transform, none);\n margin-bottom: 24px;\n }\n .content {\n display: flex;\n flex-direction: column;\n gap: 24px;\n }\n nav {\n display: flex;\n flex-direction: column;\n gap: 24px;\n }\n section {\n flex: 1 1 0%;\n padding-right: 0px;\n padding-left: 0px;\n padding-bottom: 64px;\n }\n .container {\n display: flex;\n flex-direction: column;\n padding-top: 0px;\n padding-left: 16px;\n padding-right: 16px;\n gap: 32px;\n }\n\n .resources {\n margin-bottom: 44px;\n cursor: pointer;\n }\n\n .resources ix-button {\n pointer-events: none;\n }\n\n .news-info .newsAndPromotions,\n .news-info .resources {\n display: flex;\n gap: 44px;\n flex-wrap: wrap;\n }\n\n .news-info a {\n text-decoration: none;\n color: inherit;\n }\n\n .news-item-description {\n margin: 10px 0 0;\n font-family: var(--root-primary-font);\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 28px;\n letter-spacing: 0.44px;\n position: relative;\n color: white;\n }\n\n ix-info-card {\n width: 348px;\n }\n\n #videoPlayer.headline {\n justify-content: space-between;\n }\n\n video {\n max-width: 100%;\n height: calc(100vh - 10rem);\n }\n\n @media (max-width: 1199px) {\n ix-table-data,\n ix-action-list,\n .news-info {\n display: none;\n }\n }\n\n @media (min-width: 800px) and (max-width: 1349px) {\n nav {\n display: flex;\n align-items: flex-start;\n gap: 32px;\n }\n nav > * {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n }\n\n @media (min-width: 600px) {\n header {\n min-height: 100px;\n flex-direction: row;\n -webkit-box-align: center;\n align-items: center;\n gap: 21px;\n }\n .container {\n padding: 0px;\n }\n }\n @media (min-width: 900px) {\n .content {\n gap: 32px;\n }\n main {\n margin-left: 0px;\n margin-bottom: 0px;\n }\n header {\n padding-top: 12px;\n min-height: 92px;\n padding-bottom: 8px;\n }\n section {\n padding-right: 32px;\n padding-bottom: 48px;\n }\n }\n @media (min-width: 1200px) {\n header {\n min-height: 100px;\n padding-bottom: 16px;\n padding-top: 27px;\n }\n .container {\n /* background-image: url(/images/buildings-placeholder.png); */\n background-repeat: no-repeat;\n background-position: right bottom;\n }\n section {\n padding-right: 0px;\n padding-bottom: 0px;\n }\n .content {\n gap: 44px;\n }\n }\n\n @media (min-width: 1350px) {\n .side-nav {\n position: sticky;\n top: 0;\n display: flex;\n flex-direction: column;\n gap: 2rem;\n }\n .container {\n display: grid;\n grid-template-columns: minmax(760px, 1176px) minmax(310px, 584px);\n }\n .container .content > nav {\n display: none;\n }\n }\n\n @media (max-width: 1349px) {\n .container > nav {\n display: none;\n }\n }\n\n .knowledge-base {\n border: none;\n height: 1700px;\n margin: -2rem;\n }\n`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const testIdTransform: (str: string) => string;
@@ -0,0 +1,2 @@
1
+ export const testIdTransform = (str) => str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (m, chr) => chr.toUpperCase());
2
+ //# sourceMappingURL=testIdTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testIdTransform.js","sourceRoot":"","sources":["../../src/utils/testIdTransform.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CAC7C,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC","sourcesContent":["export const testIdTransform = (str: string) =>\n str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (m, chr) => chr.toUpperCase());\n"]}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent ix-widget following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "Digital Realty",
6
- "version": "2.1.31",
6
+ "version": "2.1.33",
7
7
  "type": "module",
8
8
  "main": "dist/index.js",
9
9
  "module": "dist/index.js",
@@ -39,6 +39,7 @@
39
39
  "dependencies": {
40
40
  "@adobe/lit-mobx": "^2.2.2",
41
41
  "@digital-realty/ix-button": "^3.3.7",
42
+ "@digital-realty/ix-dialog": "^1.1.7",
42
43
  "@digital-realty/ix-grid": "^1.1.28",
43
44
  "@digital-realty/ix-icon": "^1.1.6",
44
45
  "@digital-realty/ix-list": "^1.1.6",
@@ -128,5 +129,5 @@
128
129
  "README.md",
129
130
  "LICENSE"
130
131
  ],
131
- "gitHead": "485ac1d17df94ca4127adf6c222dc475deef5fb3"
132
+ "gitHead": "06102f3800cd8a8ec3d9994da287298a042ba859"
132
133
  }