@digital-realty/ix-widget 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ix-launchpad.d.ts
CHANGED
package/dist/ix-launchpad.js
CHANGED
|
@@ -10,7 +10,6 @@ import './ix-nav-item.js';
|
|
|
10
10
|
import './ix-nav-list.js';
|
|
11
11
|
import { IxLaunchpadStyles } from './styles/launchpad-styles.js';
|
|
12
12
|
import { contacts, news, promotions, resources, } from './assets/gapi-default-data.js';
|
|
13
|
-
const IMG_URL = 'https://gp-tst.digitalrealty.com/_next/image?url=https%3A%2F%2Ftst-cms-strapi.digitalrealtytrust.com';
|
|
14
13
|
let IxLaunchpad = class IxLaunchpad extends LitElement {
|
|
15
14
|
constructor() {
|
|
16
15
|
super(...arguments);
|
|
@@ -21,6 +20,7 @@ let IxLaunchpad = class IxLaunchpad extends LitElement {
|
|
|
21
20
|
this.contacts = {};
|
|
22
21
|
this.resources = [];
|
|
23
22
|
this.promotions = [];
|
|
23
|
+
this.knowledgebase = 'https://gp-dev.digitalrealty.com/standalone/knowledge-base/widgets';
|
|
24
24
|
this._news = news;
|
|
25
25
|
this._contacts = contacts;
|
|
26
26
|
this._resources = resources;
|
|
@@ -76,66 +76,11 @@ let IxLaunchpad = class IxLaunchpad extends LitElement {
|
|
|
76
76
|
|
|
77
77
|
<nav>${this.renderNavigation()}</nav>
|
|
78
78
|
|
|
79
|
-
<
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
></
|
|
84
|
-
|
|
85
|
-
<div class="news-info">
|
|
86
|
-
<h2>Resources</h2>
|
|
87
|
-
<div class="resources">
|
|
88
|
-
${this._resources.map(item => {
|
|
89
|
-
var _a, _b;
|
|
90
|
-
return html ` <ix-info-card type="info-card-resources"
|
|
91
|
-
><img
|
|
92
|
-
slot="image"
|
|
93
|
-
name="image"
|
|
94
|
-
alt="${item.thumbnail.alternativeText}"
|
|
95
|
-
src="${`${IMG_URL}${encodeURIComponent(item.thumbnail.url)}&w=3840&q=75`}"
|
|
96
|
-
/>
|
|
97
|
-
<div slot="label">${(_b = (_a = item.topics) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.name}</div>
|
|
98
|
-
<div slot="title">${item.title}</div>
|
|
99
|
-
<ix-button
|
|
100
|
-
slot="cta"
|
|
101
|
-
type="button"
|
|
102
|
-
has-icon
|
|
103
|
-
trailing-icon
|
|
104
|
-
appearance="text"
|
|
105
|
-
>
|
|
106
|
-
<ix-icon slot="icon">chevron_right</ix-icon>
|
|
107
|
-
Learn more
|
|
108
|
-
</ix-button>
|
|
109
|
-
</ix-info-card>`;
|
|
110
|
-
})}
|
|
111
|
-
</div>
|
|
112
|
-
|
|
113
|
-
<h2 class="">News & Promotions</h2>
|
|
114
|
-
<div class="newsAndPromotions">
|
|
115
|
-
${this._promotions.map(item => html ` <ix-info-card type="info-card">
|
|
116
|
-
<img
|
|
117
|
-
slot="image"
|
|
118
|
-
name="image"
|
|
119
|
-
alt="${item.thumbnail.alternativeText}"
|
|
120
|
-
src="${`${IMG_URL}${encodeURIComponent(item.thumbnail.url)}&w=3840&q=75`}"
|
|
121
|
-
/>
|
|
122
|
-
<div slot="title">${item.title}</div>
|
|
123
|
-
<div slot="description">${item.abstract}</div>
|
|
124
|
-
<ix-button
|
|
125
|
-
slot="cta"
|
|
126
|
-
type="button"
|
|
127
|
-
has-icon
|
|
128
|
-
trailing-icon
|
|
129
|
-
appearance="text"
|
|
130
|
-
>
|
|
131
|
-
<ix-icon slot="icon">chevron_right</ix-icon>
|
|
132
|
-
Learn more
|
|
133
|
-
</ix-button>
|
|
134
|
-
</ix-info-card>`)}
|
|
135
|
-
</div>
|
|
136
|
-
</div>
|
|
137
|
-
|
|
138
|
-
<ix-contacts .contacts=${this._contacts}></ix-contacts>
|
|
79
|
+
<iframe
|
|
80
|
+
class="knowledge-base"
|
|
81
|
+
title="knowledge base"
|
|
82
|
+
.src=${this.knowledgebase}
|
|
83
|
+
></iframe>
|
|
139
84
|
</div>
|
|
140
85
|
<nav class="side-nav">${this.renderNavigation()}</nav>
|
|
141
86
|
</div>
|
|
@@ -166,6 +111,9 @@ __decorate([
|
|
|
166
111
|
__decorate([
|
|
167
112
|
property({ type: Array })
|
|
168
113
|
], IxLaunchpad.prototype, "promotions", void 0);
|
|
114
|
+
__decorate([
|
|
115
|
+
property({ type: String })
|
|
116
|
+
], IxLaunchpad.prototype, "knowledgebase", void 0);
|
|
169
117
|
__decorate([
|
|
170
118
|
state()
|
|
171
119
|
], IxLaunchpad.prototype, "_news", void 0);
|
package/dist/ix-launchpad.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ix-launchpad.js","sourceRoot":"","sources":["../src/ix-launchpad.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,8BAA8B,CAAC;AACtC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,SAAS,GACV,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"ix-launchpad.js","sourceRoot":"","sources":["../src/ix-launchpad.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } 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 {\n contacts,\n news,\n promotions,\n resources,\n} from './assets/gapi-default-data.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}\n\nexport interface TableDataItem {\n columns: string[];\n rows?: string[];\n header: string;\n href: string;\n disabled?: 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 = [];\n\n @property({ type: Object }) contacts = {};\n\n @property({ type: Array }) resources = [];\n\n @property({ type: Array }) promotions = [];\n\n @property({ type: String }) knowledgebase =\n 'https://gp-dev.digitalrealty.com/standalone/knowledge-base/widgets';\n\n @state() _news = news;\n\n @state() _contacts = contacts;\n\n @state() _resources = resources;\n\n @state() _promotions = promotions;\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 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 <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 >\n </ix-table-data>\n\n <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 >\n </ix-table-data>\n\n <nav>${this.renderNavigation()}</nav>\n\n <iframe\n class=\"knowledge-base\"\n title=\"knowledge base\"\n .src=${this.knowledgebase}\n ></iframe>\n </div>\n <nav class=\"side-nav\">${this.renderNavigation()}</nav>\n </div>\n </section>\n </main>\n `;\n }\n}\n"]}
|
|
@@ -176,6 +176,7 @@ export const IxLaunchpadStyles = css `
|
|
|
176
176
|
.container > nav {
|
|
177
177
|
overflow: auto;
|
|
178
178
|
max-height: 100vh;
|
|
179
|
+
padding-bottom: 4rem;
|
|
179
180
|
}
|
|
180
181
|
.container .content > nav {
|
|
181
182
|
display: none;
|
|
@@ -187,5 +188,11 @@ export const IxLaunchpadStyles = css `
|
|
|
187
188
|
display: none;
|
|
188
189
|
}
|
|
189
190
|
}
|
|
191
|
+
|
|
192
|
+
.knowledge-base {
|
|
193
|
+
border: none;
|
|
194
|
+
height: 1700px;
|
|
195
|
+
margin: -2rem;
|
|
196
|
+
}
|
|
190
197
|
`;
|
|
191
198
|
//# sourceMappingURL=launchpad-styles.js.map
|
|
@@ -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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmMnC,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 font-size: 2em;\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 margin: 0px;\n font-family: 'Red Hat Display', sans-serif;\n font-style: normal;\n font-weight: bold;\n font-size: 34px;\n line-height: 40px;\n letter-spacing: 0.35px;\n color: rgb(9, 34, 65);\n }\n h2 {\n margin: 0px;\n font-family: 'Red Hat Display', sans-serif;\n font-style: normal;\n font-weight: normal;\n font-size: 24px;\n line-height: 32px;\n letter-spacing: 0em;\n color: rgb(9, 34, 65);\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 }\n .news-info .newsAndPromotions {\n display: flex;\n gap: 44px;\n flex-wrap: wrap;\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 }\n .container {\n display: grid;\n grid-template-columns: minmax(760px, 1176px) minmax(310px, 584px);\n }\n .container > nav {\n overflow: auto;\n max-height: 100vh;\n padding-bottom: 4rem;\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"]}
|
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": "1.0.
|
|
6
|
+
"version": "1.0.15",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"module": "dist/index.js",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@adobe/lit-mobx": "^2.2.2",
|
|
41
41
|
"@digital-realty/ix-button": "^3.2.31",
|
|
42
|
-
"@digital-realty/ix-grid": "^1.0.
|
|
42
|
+
"@digital-realty/ix-grid": "^1.0.34",
|
|
43
43
|
"@digital-realty/ix-icon": "^1.0.36",
|
|
44
44
|
"@digital-realty/ix-list": "^1.0.7",
|
|
45
45
|
"@digital-realty/theme": "^1.0.29",
|
|
@@ -126,5 +126,5 @@
|
|
|
126
126
|
"README.md",
|
|
127
127
|
"LICENSE"
|
|
128
128
|
],
|
|
129
|
-
"gitHead": "
|
|
129
|
+
"gitHead": "ab5bf1ed4a7f908b9f35d8853dcad9fe8eb33408"
|
|
130
130
|
}
|