@digital-realty/ix-widget 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +30 -0
  3. package/dist/IxWidget.d.ts +6 -0
  4. package/dist/IxWidget.js +85 -0
  5. package/dist/IxWidget.js.map +1 -0
  6. package/dist/assets/columns.d.ts +5 -0
  7. package/dist/assets/columns.js +45 -0
  8. package/dist/assets/columns.js.map +1 -0
  9. package/dist/assets/contacts.d.ts +17 -0
  10. package/dist/assets/contacts.js +88 -0
  11. package/dist/assets/contacts.js.map +1 -0
  12. package/dist/assets/data.d.ts +2243 -0
  13. package/dist/assets/data.js +2354 -0
  14. package/dist/assets/data.js.map +1 -0
  15. package/dist/assets/iconset.d.ts +16 -0
  16. package/dist/assets/iconset.js +18 -0
  17. package/dist/assets/iconset.js.map +1 -0
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.js +2 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/ix-action-list.d.ts +8 -0
  22. package/dist/ix-action-list.js +108 -0
  23. package/dist/ix-action-list.js.map +1 -0
  24. package/dist/ix-contacts.d.ts +9 -0
  25. package/dist/ix-contacts.js +137 -0
  26. package/dist/ix-contacts.js.map +1 -0
  27. package/dist/ix-info-card.d.ts +10 -0
  28. package/dist/ix-info-card.js +164 -0
  29. package/dist/ix-info-card.js.map +1 -0
  30. package/dist/ix-launchpad.d.ts +14 -0
  31. package/dist/ix-launchpad.js +188 -0
  32. package/dist/ix-launchpad.js.map +1 -0
  33. package/dist/ix-nav-item.d.ts +8 -0
  34. package/dist/ix-nav-item.js +98 -0
  35. package/dist/ix-nav-item.js.map +1 -0
  36. package/dist/ix-nav-list.d.ts +8 -0
  37. package/dist/ix-nav-list.js +44 -0
  38. package/dist/ix-nav-list.js.map +1 -0
  39. package/dist/ix-news-feed.d.ts +9 -0
  40. package/dist/ix-news-feed.js +243 -0
  41. package/dist/ix-news-feed.js.map +1 -0
  42. package/dist/ix-status-counter-group.d.ts +8 -0
  43. package/dist/ix-status-counter-group.js +115 -0
  44. package/dist/ix-status-counter-group.js.map +1 -0
  45. package/dist/ix-status-counter.d.ts +12 -0
  46. package/dist/ix-status-counter.js +163 -0
  47. package/dist/ix-status-counter.js.map +1 -0
  48. package/dist/ix-table-data.d.ts +12 -0
  49. package/dist/ix-table-data.js +99 -0
  50. package/dist/ix-table-data.js.map +1 -0
  51. package/dist/ix-widget.d.ts +1 -0
  52. package/dist/ix-widget.js +3 -0
  53. package/dist/ix-widget.js.map +1 -0
  54. package/dist/ix-widget.min.js +1 -0
  55. package/dist/styles/launchpad-styles.d.ts +1 -0
  56. package/dist/styles/launchpad-styles.js +221 -0
  57. package/dist/styles/launchpad-styles.js.map +1 -0
  58. package/package.json +128 -0
@@ -0,0 +1,163 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, LitElement, css } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import '@digital-realty/ix-icon/ix-icon.js';
5
+ import './IxWidget.js';
6
+ import { laptop, loader } from './assets/iconset.js';
7
+ let IxStatusCounter = class IxStatusCounter extends LitElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.value = undefined;
11
+ this.header = 'status';
12
+ this.icon = laptop;
13
+ this.apiUrl = undefined;
14
+ }
15
+ connectedCallback() {
16
+ // super.connectedCallback();
17
+ /* if (this.apiUrl) {
18
+ fetch(this.apiUrl)
19
+ .then((response) => response.json())
20
+ .then((data) => {
21
+ console.log(data);
22
+ this.value = data.value;
23
+ this.loading = false;
24
+ });
25
+ } */
26
+ }
27
+ render() {
28
+ return html `<ix-widget type="status-counter">
29
+ <div class="content">
30
+ <div class="info">
31
+ ${this.value ? html `<h3>${this.value.toLocaleString()}</h3>` : loader}
32
+ <h2>${this.header}</h2>
33
+ </div>
34
+ <ix-icon>${this.icon}</ix-icon>
35
+ </div>
36
+ </ix-widget>`;
37
+ }
38
+ };
39
+ IxStatusCounter.styles = css `
40
+ ix-widget {
41
+ --ix-widget-background: rgb(200, 223, 250);
42
+ --ix-widget-padding: 36.5px 20px 36.5px 24px;
43
+ --ix-icon-font-size: 5rem;
44
+ --ix-icon-line-height: 1;
45
+ }
46
+ h2 {
47
+ margin: 0px;
48
+ font-family: 'Open Sans', sans-serif;
49
+ font-style: normal;
50
+ font-weight: 400;
51
+ font-size: 16px;
52
+ line-height: 20px;
53
+ letter-spacing: 0.15px;
54
+ color: rgb(9, 34, 65);
55
+ }
56
+ h3 {
57
+ margin: 0px;
58
+ font-family: 'Red Hat Display', sans-serif;
59
+ font-style: normal;
60
+ font-weight: bold;
61
+ font-size: 34px;
62
+ line-height: 40px;
63
+ letter-spacing: 0.35px;
64
+ color: rgb(9, 34, 65);
65
+ }
66
+ .content {
67
+ display: flex;
68
+ -webkit-box-pack: justify;
69
+ justify-content: space-between;
70
+ -webkit-box-align: center;
71
+ align-items: center;
72
+ cursor: pointer;
73
+ }
74
+ ix-icon {
75
+ background-color: rgb(255, 255, 255);
76
+ border-radius: 50%;
77
+ display: flex;
78
+ -webkit-box-pack: center;
79
+ justify-content: center;
80
+ -webkit-box-align: center;
81
+ align-items: center;
82
+ width: 60px;
83
+ height: 60px;
84
+ font-size: 36px;
85
+ }
86
+ .info svg {
87
+ stroke: blue;
88
+ }
89
+ svg {
90
+ width: 24px;
91
+ margin: auto;
92
+ }
93
+
94
+ @media (min-width: 1200px) {
95
+ svg {
96
+ width: 36px;
97
+ margin: auto;
98
+ }
99
+ }
100
+
101
+ @media (max-width: 1349px) {
102
+ .content {
103
+ display: flex;
104
+ flex-direction: row-reverse;
105
+ -webkit-box-align: center;
106
+ align-items: center;
107
+ justify-content: left;
108
+ }
109
+ ix-icon {
110
+ width: 24px;
111
+ height: 24px;
112
+ }
113
+
114
+ ix-widget {
115
+ --ix-widget-background: white;
116
+ }
117
+ .info {
118
+ display: flex;
119
+ align-items: center;
120
+ justify-content: space-between;
121
+ width: 100%;
122
+ flex-direction: row-reverse;
123
+ }
124
+ h2 {
125
+ margin: 0px;
126
+ font-family: 'Open Sans', sans-serif;
127
+ font-style: normal;
128
+ font-weight: 400;
129
+ font-size: 16px;
130
+ line-height: 20px;
131
+ letter-spacing: 0.15px;
132
+ color: rgb(9, 34, 65);
133
+ padding-left: 8px;
134
+ }
135
+ h3 {
136
+ margin: 0px;
137
+ font-family: 'Open Sans', sans-serif;
138
+ font-style: normal;
139
+ font-weight: 700;
140
+ font-size: 14px;
141
+ line-height: 24px;
142
+ letter-spacing: 0.1px;
143
+ color: rgb(9, 34, 65);
144
+ }
145
+ }
146
+ `;
147
+ __decorate([
148
+ property({ type: Number })
149
+ ], IxStatusCounter.prototype, "value", void 0);
150
+ __decorate([
151
+ property({ type: String })
152
+ ], IxStatusCounter.prototype, "header", void 0);
153
+ __decorate([
154
+ property({ type: Object })
155
+ ], IxStatusCounter.prototype, "icon", void 0);
156
+ __decorate([
157
+ property({ type: String })
158
+ ], IxStatusCounter.prototype, "apiUrl", void 0);
159
+ IxStatusCounter = __decorate([
160
+ customElement('ix-status-counter')
161
+ ], IxStatusCounter);
162
+ export { IxStatusCounter };
163
+ //# sourceMappingURL=ix-status-counter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ix-status-counter.js","sourceRoot":"","sources":["../src/ix-status-counter.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,oCAAoC,CAAC;AAC5C,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG9C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QA8GuB,UAAK,GAAuB,SAAS,CAAC;QAEtC,WAAM,GAAG,QAAQ,CAAC;QAElB,SAAI,GAAG,MAAM,CAAC;QAEd,WAAM,GAAuB,SAAS,CAAC;IA0BrE,CAAC;IAxBC,iBAAiB;QACf,6BAA6B;QAC7B;;;;;;;;YAQI;IACN,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;YAGH,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM;gBAC/D,IAAI,CAAC,MAAM;;mBAER,IAAI,CAAC,IAAI;;iBAEX,CAAC;IAChB,CAAC;;AA5IM,sBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2GlB,AA3GY,CA2GX;AAE0B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAuC;AAEtC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAAmB;AAElB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAe;AAEd;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAAwC;AApHxD,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CA8I3B","sourcesContent":["import { html, LitElement, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '@digital-realty/ix-icon/ix-icon.js';\nimport './IxWidget.js';\nimport { laptop, loader } from './assets/iconset.js';\n\n@customElement('ix-status-counter')\nexport class IxStatusCounter extends LitElement {\n static styles = css`\n ix-widget {\n --ix-widget-background: rgb(200, 223, 250);\n --ix-widget-padding: 36.5px 20px 36.5px 24px;\n --ix-icon-font-size: 5rem;\n --ix-icon-line-height: 1;\n }\n h2 {\n margin: 0px;\n font-family: 'Open Sans', sans-serif;\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 20px;\n letter-spacing: 0.15px;\n color: rgb(9, 34, 65);\n }\n h3 {\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 .content {\n display: flex;\n -webkit-box-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n align-items: center;\n cursor: pointer;\n }\n ix-icon {\n background-color: rgb(255, 255, 255);\n border-radius: 50%;\n display: flex;\n -webkit-box-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n align-items: center;\n width: 60px;\n height: 60px;\n font-size: 36px;\n }\n .info svg {\n stroke: blue;\n }\n svg {\n width: 24px;\n margin: auto;\n }\n\n @media (min-width: 1200px) {\n svg {\n width: 36px;\n margin: auto;\n }\n }\n\n @media (max-width: 1349px) {\n .content {\n display: flex;\n flex-direction: row-reverse;\n -webkit-box-align: center;\n align-items: center;\n justify-content: left;\n }\n ix-icon {\n width: 24px;\n height: 24px;\n }\n\n ix-widget {\n --ix-widget-background: white;\n }\n .info {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n flex-direction: row-reverse;\n }\n h2 {\n margin: 0px;\n font-family: 'Open Sans', sans-serif;\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 20px;\n letter-spacing: 0.15px;\n color: rgb(9, 34, 65);\n padding-left: 8px;\n }\n h3 {\n margin: 0px;\n font-family: 'Open Sans', sans-serif;\n font-style: normal;\n font-weight: 700;\n font-size: 14px;\n line-height: 24px;\n letter-spacing: 0.1px;\n color: rgb(9, 34, 65);\n }\n }\n `;\n\n @property({ type: Number }) value: number | undefined = undefined;\n\n @property({ type: String }) header = 'status';\n\n @property({ type: Object }) icon = laptop;\n\n @property({ type: String }) apiUrl: string | undefined = undefined;\n\n connectedCallback() {\n // super.connectedCallback();\n /* if (this.apiUrl) {\n fetch(this.apiUrl)\n .then((response) => response.json())\n .then((data) => {\n console.log(data);\n this.value = data.value;\n this.loading = false; \n }); \n } */\n }\n\n protected override render() {\n return html`<ix-widget type=\"status-counter\">\n <div class=\"content\">\n <div class=\"info\">\n ${this.value ? html`<h3>${this.value.toLocaleString()}</h3>` : loader}\n <h2>${this.header}</h2>\n </div>\n <ix-icon>${this.icon}</ix-icon>\n </div>\n </ix-widget>`;\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { LitElement } from 'lit';
2
+ import '@digital-realty/ix-icon/ix-icon.js';
3
+ import '@digital-realty/ix-grid/ix-grid.js';
4
+ import './ix-widget.js';
5
+ export declare class IxTableData extends LitElement {
6
+ static styles: import("lit").CSSResult;
7
+ columns: never[];
8
+ rows: never[];
9
+ pageSize: number;
10
+ header: string;
11
+ protected render(): import("lit").TemplateResult<1>;
12
+ }
@@ -0,0 +1,99 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, LitElement, css } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import '@digital-realty/ix-icon/ix-icon.js';
5
+ import '@digital-realty/ix-grid/ix-grid.js';
6
+ import './ix-widget.js';
7
+ let IxTableData = class IxTableData extends LitElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.columns = [];
11
+ this.rows = [];
12
+ this.pageSize = 5;
13
+ this.header = 'title';
14
+ }
15
+ render() {
16
+ return html `<ix-widget>
17
+ <ix-grid
18
+ .columns=${this.columns}
19
+ .rows=${this.rows}
20
+ .pageSize=${this.pageSize}
21
+ .rowLimit=${this.rows.length}
22
+ ?hide-filters=${true}
23
+ add-params-to-url="false"
24
+ ><div slot="header" class="header">
25
+ <h2>${this.header}</h2>
26
+ <ix-button type="button" has-icon trailing-icon appearance="text">
27
+ <ix-icon slot="icon">chevron_right</ix-icon>
28
+ View all
29
+ </ix-button>
30
+ </div>
31
+ </ix-grid>
32
+ </ix-widget>`;
33
+ }
34
+ };
35
+ IxTableData.styles = css `
36
+ ix-widget {
37
+ --ix-widget-padding: 0;
38
+ --ix-widget-border: 1px solid #e0e0e0;
39
+ }
40
+ .header {
41
+ height: 56px;
42
+ display: flex;
43
+ -webkit-box-pack: justify;
44
+ justify-content: space-between;
45
+ -webkit-box-align: center;
46
+ align-items: center;
47
+ padding-right: 7px;
48
+ width: 100%;
49
+ }
50
+ h2 {
51
+ margin: 0px;
52
+ font-family: 'Red Hat Display', sans-serif;
53
+ font-style: normal;
54
+ font-weight: bold;
55
+ font-size: 20px;
56
+ line-height: 24px;
57
+ letter-spacing: 0.15px;
58
+ color: rgb(9, 34, 65);
59
+ }
60
+ .status {
61
+ display: flex;
62
+ flex-direction: row;
63
+ -webkit-box-align: center;
64
+ align-items: center;
65
+ padding: 2px 12px;
66
+ width: 185px;
67
+ height: 28px;
68
+ left: 0px;
69
+ top: 0px;
70
+ border-radius: 68px;
71
+ flex: 0 0 auto;
72
+ order: 0;
73
+ -webkit-box-flex: 0;
74
+ color: white;
75
+ -webkit-box-pack: center;
76
+ justify-content: center;
77
+ background: rgb(76, 175, 80);
78
+ }
79
+ ix-grid {
80
+ --_cell-padding: 0;
81
+ }
82
+ `;
83
+ __decorate([
84
+ property({ type: Array })
85
+ ], IxTableData.prototype, "columns", void 0);
86
+ __decorate([
87
+ property({ type: Array })
88
+ ], IxTableData.prototype, "rows", void 0);
89
+ __decorate([
90
+ property({ type: Number })
91
+ ], IxTableData.prototype, "pageSize", void 0);
92
+ __decorate([
93
+ property({ type: String })
94
+ ], IxTableData.prototype, "header", void 0);
95
+ IxTableData = __decorate([
96
+ customElement('ix-table-data')
97
+ ], IxTableData);
98
+ export { IxTableData };
99
+ //# sourceMappingURL=ix-table-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ix-table-data.js","sourceRoot":"","sources":["../src/ix-table-data.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,oCAAoC,CAAC;AAC5C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,gBAAgB,CAAC;AAGjB,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IAApC;;QAkDsB,YAAO,GAAG,EAAE,CAAC;QAEb,SAAI,GAAG,EAAE,CAAC;QAET,aAAQ,GAAG,CAAC,CAAC;QAEb,WAAM,GAAG,OAAO,CAAC;IAqB/C,CAAC;IAnBoB,MAAM;QACvB,OAAO,IAAI,CAAA;;mBAEI,IAAI,CAAC,OAAO;gBACf,IAAI,CAAC,IAAI;oBACL,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,IAAI,CAAC,MAAM;wBACZ,IAAI;;;gBAGZ,IAAI,CAAC,MAAM;;;;;;;iBAOV,CAAC;IAChB,CAAC;;AA3EM,kBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+ClB,AA/CY,CA+CX;AAEyB;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;4CAAc;AAEb;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;yCAAW;AAET;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAc;AAEb;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAAkB;AAxDlC,WAAW;IADvB,aAAa,CAAC,eAAe,CAAC;GAClB,WAAW,CA6EvB","sourcesContent":["import { html, LitElement, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '@digital-realty/ix-icon/ix-icon.js';\nimport '@digital-realty/ix-grid/ix-grid.js';\nimport './ix-widget.js';\n\n@customElement('ix-table-data')\nexport class IxTableData extends LitElement {\n static styles = css`\n ix-widget {\n --ix-widget-padding: 0;\n --ix-widget-border: 1px solid #e0e0e0;\n }\n .header {\n height: 56px;\n display: flex;\n -webkit-box-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n align-items: center;\n padding-right: 7px;\n width: 100%;\n }\n h2 {\n margin: 0px;\n font-family: 'Red Hat Display', sans-serif;\n font-style: normal;\n font-weight: bold;\n font-size: 20px;\n line-height: 24px;\n letter-spacing: 0.15px;\n color: rgb(9, 34, 65);\n }\n .status {\n display: flex;\n flex-direction: row;\n -webkit-box-align: center;\n align-items: center;\n padding: 2px 12px;\n width: 185px;\n height: 28px;\n left: 0px;\n top: 0px;\n border-radius: 68px;\n flex: 0 0 auto;\n order: 0;\n -webkit-box-flex: 0;\n color: white;\n -webkit-box-pack: center;\n justify-content: center;\n background: rgb(76, 175, 80);\n }\n ix-grid {\n --_cell-padding: 0;\n }\n `;\n\n @property({ type: Array }) columns = [];\n\n @property({ type: Array }) rows = [];\n\n @property({ type: Number }) pageSize = 5;\n\n @property({ type: String }) header = 'title';\n\n protected override render() {\n return html`<ix-widget>\n <ix-grid\n .columns=${this.columns}\n .rows=${this.rows}\n .pageSize=${this.pageSize}\n .rowLimit=${this.rows.length}\n ?hide-filters=${true}\n add-params-to-url=\"false\"\n ><div slot=\"header\" class=\"header\">\n <h2>${this.header}</h2>\n <ix-button type=\"button\" has-icon trailing-icon appearance=\"text\">\n <ix-icon slot=\"icon\">chevron_right</ix-icon>\n View all\n </ix-button>\n </div>\n </ix-grid>\n </ix-widget>`;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { IxWidget } from './IxWidget.js';
2
+ window.customElements.define('ix-widget', IxWidget);
3
+ //# sourceMappingURL=ix-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ix-widget.js","sourceRoot":"","sources":["../src/ix-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC","sourcesContent":["import { IxWidget } from './IxWidget.js';\n\nwindow.customElements.define('ix-widget', IxWidget);\n"]}
@@ -0,0 +1 @@
1
+ import{__decorate}from"tslib";import{css,LitElement,html}from"lit";import{property}from"lit/decorators.js";class IxWidget extends LitElement{constructor(){super(...arguments),this.type="default"}render(){return html`<div class="card" type="${this.type}"><slot></slot></div>`}}IxWidget.styles=css`.card{border-radius:.75rem;background:var(--ix-widget-background,#fff);padding:var(--ix-widget-padding,16px 24px 32px);border:var(--ix-widget-border,none)}[type=status-counter].card{margin-bottom:0;--ix-widget-padding:0;--ix-widget-padding:1rem}@media (min-width:1350px){[type=status-counter].card{--ix-widget-padding:36.5px 20px 36.5px 24px}}[type=status-counter-group].card{--ix-widget-padding:0;--ix-widget-background:transparent}@media (max-width:1349px){[type=status-counter-group].card{--ix-widget-padding:1rem;--ix-widget-background:white;box-shadow:rgba(0,0,0,.2) 0 2px 1px -1px,rgba(0,0,0,.14) 0 1px 1px 0,rgba(0,0,0,.12) 0 1px 3px 0}}[type=info-card].card{display:block;max-width:348px;border-radius:.5rem;border:1px solid #e0e0e0;position:relative;overflow:auto;aspect-ratio:1/1.47}[type=info-card-2].card{display:block;max-width:348px;border-radius:.5rem;border:1px solid #e0e0e0;position:relative;overflow:hidden;aspect-ratio:1/.85}[type=action-list].card{box-shadow:rgba(0,0,0,.2) 0 2px 1px -1px,rgba(0,0,0,.14) 0 1px 1px 0,rgba(0,0,0,.12) 0 1px 3px 0}[type=news-feed].card{display:flex;flex-direction:column;background:#fff;box-shadow:rgba(0,0,0,.12) 0 12px 20px -12px,#e1e4e8 0 0 0 1px inset;border-radius:12px;padding-bottom:11px}`,__decorate([property({type:String})],IxWidget.prototype,"type",void 0),window.customElements.define("ix-widget",IxWidget);
@@ -0,0 +1 @@
1
+ export declare const IxLaunchpadStyles: import("lit").CSSResult;
@@ -0,0 +1,221 @@
1
+ import { css } from 'lit';
2
+ export const IxLaunchpadStyles = css `
3
+ .outer {
4
+ height: 100vh;
5
+ background-color: rgb(245, 247, 255);
6
+ }
7
+ main {
8
+ height: 100%;
9
+ margin-left: 0px;
10
+ margin-top: 72px;
11
+ margin-bottom: 72px;
12
+ transition: margin-left 195ms cubic-bezier(0.4, 0, 0.6, 1) 0ms;
13
+ }
14
+ .inner {
15
+ height: 100%;
16
+ width: 100%;
17
+ overflow-y: overlay;
18
+ display: flex;
19
+ flex-direction: column;
20
+ }
21
+ header {
22
+ min-height: 60px;
23
+ background-color: rgba(245, 247, 255, 0.85);
24
+ backdrop-filter: blur(6px);
25
+ display: flex;
26
+ flex-flow: column-reverse wrap;
27
+ -webkit-box-pack: center;
28
+ justify-content: center;
29
+ -webkit-box-align: center;
30
+ align-items: center;
31
+ gap: 20px;
32
+ padding: 16px 24px 16px 7px;
33
+ position: sticky;
34
+ top: 0px;
35
+ right: 0px;
36
+ z-index: 1000;
37
+ }
38
+ header > div {
39
+ margin-right: auto;
40
+ display: flex;
41
+ -webkit-box-pack: start;
42
+ justify-content: start;
43
+ -webkit-box-align: center;
44
+ align-items: center;
45
+ }
46
+ header > div > h1 {
47
+ display: block;
48
+ font-size: 2em;
49
+ margin-block-start: 0.67em;
50
+ margin-block-end: 0.67em;
51
+ margin-inline-start: 0px;
52
+ margin-inline-end: 0px;
53
+ font-weight: bold;
54
+ margin: 0px;
55
+ font-family: 'Red Hat Display', sans-serif;
56
+ font-style: normal;
57
+ font-weight: bold;
58
+ font-size: 34px;
59
+ line-height: 40px;
60
+ letter-spacing: 0.35px;
61
+ color: rgb(9, 34, 65);
62
+ }
63
+ h2 {
64
+ margin: 0px;
65
+ font-family: 'Red Hat Display', sans-serif;
66
+ font-style: normal;
67
+ font-weight: normal;
68
+ font-size: 24px;
69
+ line-height: 32px;
70
+ letter-spacing: 0em;
71
+ color: rgb(9, 34, 65);
72
+ margin-bottom: 24px;
73
+ }
74
+ .content {
75
+ display: flex;
76
+ flex-direction: column;
77
+ gap: 24px;
78
+ }
79
+ nav {
80
+ display: flex;
81
+ flex-direction: column;
82
+ gap: 24px;
83
+ }
84
+ section {
85
+ flex: 1 1 0%;
86
+ padding-right: 0px;
87
+ padding-left: 0px;
88
+ padding-bottom: 64px;
89
+ }
90
+ .container {
91
+ display: flex;
92
+ flex-direction: column;
93
+ padding-top: 0px;
94
+ padding-left: 16px;
95
+ padding-right: 16px;
96
+ gap: 32px;
97
+ }
98
+
99
+ .resources {
100
+ margin-bottom: 44px;
101
+ }
102
+ .news-info .newsAndPromotions {
103
+ display: flex;
104
+ gap: 44px;
105
+ flex-wrap: wrap;
106
+ }
107
+
108
+ @media (max-width: 1199px) {
109
+ ix-table-data,
110
+ ix-action-list,
111
+ .news-info {
112
+ display: none;
113
+ }
114
+ }
115
+
116
+ @media (min-width: 800px) and (max-width: 1349px) {
117
+ nav {
118
+ display: flex;
119
+ align-items: flex-start;
120
+ gap: 32px;
121
+ }
122
+ nav > * {
123
+ width: 100%;
124
+ display: flex;
125
+ flex-direction: column;
126
+ }
127
+ }
128
+
129
+ @media (min-width: 600px) {
130
+ header {
131
+ min-height: 100px;
132
+ flex-direction: row;
133
+ -webkit-box-align: center;
134
+ align-items: center;
135
+ gap: 21px;
136
+ }
137
+ main {
138
+ margin-top: 88px;
139
+ }
140
+ .container {
141
+ padding: 0px;
142
+ }
143
+ }
144
+ @media (min-width: 900px) {
145
+ .content {
146
+ gap: 32px;
147
+ }
148
+ main {
149
+ margin-left: 0px;
150
+ margin-bottom: 0px;
151
+ }
152
+ header {
153
+ padding-top: 12px;
154
+ min-height: 92px;
155
+ padding-bottom: 8px;
156
+ }
157
+ section {
158
+ padding-right: 32px;
159
+ padding-bottom: 48px;
160
+ }
161
+ }
162
+ @media (min-width: 1200px) {
163
+ header {
164
+ min-height: 100px;
165
+ padding-bottom: 16px;
166
+ padding-top: 27px;
167
+ }
168
+ .container {
169
+ margin-top: -100px;
170
+ background-image: url(/images/buildings-placeholder.png);
171
+ background-repeat: no-repeat;
172
+ background-position: right bottom;
173
+ }
174
+ section {
175
+ padding-right: 0px;
176
+ padding-bottom: 0px;
177
+ }
178
+ .content {
179
+ gap: 44px;
180
+ overflow: auto;
181
+ max-height: 100vh;
182
+ padding-top: 120px;
183
+ padding-bottom: 32px;
184
+ padding-right: 44px;
185
+ }
186
+ .container {
187
+ margin-top: -100px;
188
+ background-image: url(/images/buildings-placeholder.png);
189
+ background-repeat: no-repeat;
190
+ background-position: right bottom;
191
+ }
192
+ main {
193
+ margin-top: 0px;
194
+ /* margin-left: 112px; */
195
+ }
196
+ }
197
+
198
+ @media (min-width: 1350px) {
199
+ .container {
200
+ display: grid;
201
+ grid-template-columns: minmax(760px, 1176px) minmax(310px, 584px);
202
+ }
203
+ .container > nav {
204
+ overflow: auto;
205
+ max-height: 100vh;
206
+ padding-top: 120px;
207
+ padding-bottom: 32px;
208
+ padding-right: 20px;
209
+ }
210
+ .container .content > nav {
211
+ display: none;
212
+ }
213
+ }
214
+
215
+ @media (max-width: 1349px) {
216
+ .container > nav {
217
+ display: none;
218
+ }
219
+ }
220
+ `;
221
+ //# sourceMappingURL=launchpad-styles.js.map
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0NnC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const IxLaunchpadStyles = css`\n .outer {\n height: 100vh;\n background-color: rgb(245, 247, 255);\n }\n main {\n height: 100%;\n margin-left: 0px;\n margin-top: 72px;\n margin-bottom: 72px;\n transition: margin-left 195ms cubic-bezier(0.4, 0, 0.6, 1) 0ms;\n }\n .inner {\n height: 100%;\n width: 100%;\n overflow-y: overlay;\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 main {\n margin-top: 88px;\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 margin-top: -100px;\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 overflow: auto;\n max-height: 100vh;\n padding-top: 120px;\n padding-bottom: 32px;\n padding-right: 44px;\n }\n .container {\n margin-top: -100px;\n background-image: url(/images/buildings-placeholder.png);\n background-repeat: no-repeat;\n background-position: right bottom;\n }\n main {\n margin-top: 0px;\n /* margin-left: 112px; */\n }\n }\n\n @media (min-width: 1350px) {\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-top: 120px;\n padding-bottom: 32px;\n padding-right: 20px;\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"]}
package/package.json ADDED
@@ -0,0 +1,128 @@
1
+ {
2
+ "name": "@digital-realty/ix-widget",
3
+ "description": "Webcomponent ix-widget following open-wc recommendations",
4
+ "license": "MIT",
5
+ "author": "Digital Realty",
6
+ "version": "1.0.1",
7
+ "type": "module",
8
+ "main": "dist/index.js",
9
+ "module": "dist/index.js",
10
+ "exports": {
11
+ ".": "./dist/index.js",
12
+ "./ix-action-list.js": "./dist/ix-action-list.js",
13
+ "./ix-contacts.js": "./dist/ix-contacts.js",
14
+ "./ix-info-card.js": "./dist/ix-info-card.js",
15
+ "./ix-launchpad.js": "./dist/ix-launchpad.js",
16
+ "./ix-nav-item.js": "./dist/ix-nav-item.js",
17
+ "./ix-nav-list.js": "./dist/ix-nav-list.js",
18
+ "./ix-news-feed.js": "./dist/ix-news-feed.js",
19
+ "./ix-status-counter-group.js": "./dist/ix-status-counter-group.js",
20
+ "./ix-status-counter.js": "./dist/ix-status-counter.js",
21
+ "./ix-table-data.js": "./dist/ix-table-data.js",
22
+ "./ix-widget.js": "./dist/ix-widget.js",
23
+ "./ix-widget.min.js": "./dist/ix-widget.min.js",
24
+ "./IxWidget": "./dist/react/IxWidget.js"
25
+ },
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "scripts": {
30
+ "analyze": "cem analyze --litelement",
31
+ "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
32
+ "build": "tsc && npm run analyze -- --exclude dist && rollup -c",
33
+ "prepublish": "tsc && npm run analyze -- --exclude dist",
34
+ "lint": "eslint --ext .ts,.html . --ignore-path .gitignore && prettier \"**/*.ts\" --check --ignore-path .gitignore",
35
+ "format": "eslint --ext .ts,.html . --fix --ignore-path .gitignore && prettier \"**/*.ts\" --write --ignore-path .gitignore",
36
+ "test": "tsc && wtr --coverage",
37
+ "test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\""
38
+ },
39
+ "dependencies": {
40
+ "@digital-realty/ix-button": "^3.2.31",
41
+ "@digital-realty/ix-grid": "^1.0.29",
42
+ "@digital-realty/ix-icon": "^1.0.36",
43
+ "@digital-realty/ix-list": "^1.0.7",
44
+ "@digital-realty/theme": "^1.0.27",
45
+ "@lit/react": "^1.0.2",
46
+ "@material/web": "1.2.0",
47
+ "date-fns": "^3.6.0",
48
+ "lit": "^2.0.2",
49
+ "markdown-it": "^14.1.0",
50
+ "react": "^18.2.0"
51
+ },
52
+ "devDependencies": {
53
+ "@custom-elements-manifest/analyzer": "^0.4.17",
54
+ "@open-wc/eslint-config": "^9.2.1",
55
+ "@open-wc/testing": "^3.1.6",
56
+ "@types/markdown-it": "^14.1.1",
57
+ "@types/react": "^18.2.22",
58
+ "@typescript-eslint/eslint-plugin": "^5.48.0",
59
+ "@typescript-eslint/parser": "^5.48.0",
60
+ "@web/dev-server": "^0.1.34",
61
+ "@web/test-runner": "^0.14.0",
62
+ "concurrently": "^5.3.0",
63
+ "eslint": "^8.31.0",
64
+ "eslint-config-prettier": "^8.3.0",
65
+ "husky": "^4.3.8",
66
+ "lint-staged": "^10.5.4",
67
+ "prettier": "^2.4.1",
68
+ "rollup-plugin-minify-html-literals": "^1.2.6",
69
+ "rollup-plugin-summary": "^2.0.0",
70
+ "rollup-plugin-uglify": "^6.0.4",
71
+ "tslib": "^2.3.1",
72
+ "typescript": "^5.1.6"
73
+ },
74
+ "customElements": "custom-elements.json",
75
+ "eslintConfig": {
76
+ "parser": "@typescript-eslint/parser",
77
+ "root": true,
78
+ "extends": [
79
+ "@open-wc/eslint-config",
80
+ "eslint-config-prettier",
81
+ "plugin:json/recommended"
82
+ ],
83
+ "plugins": [
84
+ "@typescript-eslint"
85
+ ],
86
+ "rules": {
87
+ "no-unused-vars": "off",
88
+ "@typescript-eslint/no-unused-vars": [
89
+ "error"
90
+ ],
91
+ "class-methods-use-this": "off",
92
+ "import/no-unresolved": "off",
93
+ "import/extensions": [
94
+ "error",
95
+ "always",
96
+ {
97
+ "ignorePackages": true
98
+ }
99
+ ]
100
+ },
101
+ "globals": {
102
+ "ShadowRootInit": true
103
+ }
104
+ },
105
+ "prettier": {
106
+ "singleQuote": true,
107
+ "arrowParens": "avoid"
108
+ },
109
+ "husky": {
110
+ "hooks": {
111
+ "pre-commit": "lint-staged"
112
+ }
113
+ },
114
+ "lint-staged": {
115
+ "*.ts": [
116
+ "eslint --fix",
117
+ "prettier --write"
118
+ ]
119
+ },
120
+ "files": [
121
+ "/dist",
122
+ "!/dist/test",
123
+ "package.json",
124
+ "README.md",
125
+ "LICENSE"
126
+ ],
127
+ "gitHead": "ee9b46e8efa1df8ef9dd22ec6f7235bc22c69d6d"
128
+ }