@carbon/ibm-products-web-components 0.13.0 → 0.14.0-rc.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.
- package/README.md +10 -0
- package/es/components/side-panel/_story-assets/index.d.ts +5 -0
- package/es/components/side-panel/_story-assets/index.js +213 -0
- package/es/components/side-panel/_story-assets/index.js.map +1 -0
- package/es/components/side-panel/side-panel.test.d.ts +3 -7
- package/es/components/side-panel/side-panel.test.js +204 -8
- package/es/components/side-panel/side-panel.test.js.map +1 -1
- package/es/components/side-panel/story-styles.scss.js +13 -0
- package/es/components/side-panel/story-styles.scss.js.map +1 -0
- package/es/package.json.js +1 -1
- package/es-custom/components/side-panel/_story-assets/index.d.ts +5 -0
- package/es-custom/components/side-panel/_story-assets/index.js +213 -0
- package/es-custom/components/side-panel/_story-assets/index.js.map +1 -0
- package/es-custom/components/side-panel/side-panel.test.d.ts +3 -7
- package/es-custom/components/side-panel/side-panel.test.js +204 -8
- package/es-custom/components/side-panel/side-panel.test.js.map +1 -1
- package/es-custom/components/side-panel/story-styles.scss.js +13 -0
- package/es-custom/components/side-panel/story-styles.scss.js.map +1 -0
- package/es-custom/package.json.js +1 -1
- package/lib/components/side-panel/_story-assets/index.d.ts +5 -0
- package/lib/components/side-panel/side-panel.test.d.ts +3 -7
- package/package.json +12 -7
- package/telemetry.yml +10 -0
package/README.md
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# @carbon/ibm-products-web-components
|
2
|
+
|
3
|
+
## <picture><source height="20" width="20" media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ibm-telemetry/telemetry-js/main/docs/images/ibm-telemetry-dark.svg"><source height="20" width="20" media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/ibm-telemetry/telemetry-js/main/docs/images/ibm-telemetry-light.svg"><img height="20" width="20" alt="IBM Telemetry" src="https://raw.githubusercontent.com/ibm-telemetry/telemetry-js/main/docs/images/ibm-telemetry-light.svg"></picture> IBM Telemetry
|
4
|
+
|
5
|
+
This package uses IBM Telemetry to collect de-identified and anonymized metrics
|
6
|
+
data. By installing this package as a dependency you are agreeing to telemetry
|
7
|
+
collection. To opt out, see
|
8
|
+
[Opting out of IBM Telemetry data collection](https://github.com/ibm-telemetry/telemetry-js/tree/main#opting-out-of-ibm-telemetry-data-collection).
|
9
|
+
For more information on the data being collected, please see the
|
10
|
+
[IBM Telemetry documentation](https://github.com/ibm-telemetry/telemetry-js/tree/main#ibm-telemetry-collection-basics).
|
@@ -0,0 +1,5 @@
|
|
1
|
+
export declare const getContent: (index: any) => import("lit-html").TemplateResult<1> | null;
|
2
|
+
export declare const getSubTitle: (index: any) => import("lit-html").TemplateResult<1> | null;
|
3
|
+
export declare const getActionToolbarItems: (index: any) => import("lit-html").TemplateResult<1> | null;
|
4
|
+
export declare const getActionItems: (index: any) => import("lit-html").TemplateResult<1> | null;
|
5
|
+
export declare const getSlug: (index: any) => import("lit-html").TemplateResult<1> | null;
|
@@ -0,0 +1,213 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { html } from 'lit';
|
9
|
+
import styles from '../story-styles.scss.js';
|
10
|
+
import { BUTTON_KIND } from '@carbon/web-components/es/components/button/defs.js';
|
11
|
+
|
12
|
+
/**
|
13
|
+
* Copyright IBM Corp. 2024, 2024
|
14
|
+
*
|
15
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
17
|
+
*/
|
18
|
+
const storyPrefix = 'side-panel-stories__';
|
19
|
+
const getContent = (index) => {
|
20
|
+
switch (index) {
|
21
|
+
case 1:
|
22
|
+
return html `
|
23
|
+
<style>
|
24
|
+
${styles}
|
25
|
+
</style>
|
26
|
+
<h5>Section</h5>
|
27
|
+
<cds-text-input
|
28
|
+
label="Input A"
|
29
|
+
id="side-panel-story-text-input-a"
|
30
|
+
class="${storyPrefix}text-input"
|
31
|
+
></cds-text-input>
|
32
|
+
<cds-text-input
|
33
|
+
label="Input B"
|
34
|
+
id="side-panel-story-text-input-b"
|
35
|
+
class="${storyPrefix}text-input"
|
36
|
+
></cds-text-input>
|
37
|
+
`;
|
38
|
+
case 2:
|
39
|
+
return html `
|
40
|
+
<style>
|
41
|
+
${styles}
|
42
|
+
</style>
|
43
|
+
<h5>Section</h5>
|
44
|
+
<div class="${storyPrefix}text-inputs">
|
45
|
+
<cds-text-input
|
46
|
+
label="Input A"
|
47
|
+
id="side-panel-story-text-input-a"
|
48
|
+
></cds-text-input>
|
49
|
+
<cds-text-input
|
50
|
+
label="Input B"
|
51
|
+
id="side-panel-story-text-input-b"
|
52
|
+
></cds-text-input>
|
53
|
+
</div>
|
54
|
+
<div class="${storyPrefix}text-inputs">
|
55
|
+
<cds-text-input
|
56
|
+
label="Input C"
|
57
|
+
id="side-panel-story-text-input-c"
|
58
|
+
></cds-text-input>
|
59
|
+
<cds-text-input
|
60
|
+
label="Input D"
|
61
|
+
id="side-panel-story-text-input-d"
|
62
|
+
></cds-text-input>
|
63
|
+
</div>
|
64
|
+
<div class="${storyPrefix}textarea-container">
|
65
|
+
<cds-textarea
|
66
|
+
label="Notes"
|
67
|
+
value="This is a text area"
|
68
|
+
></cds-textarea>
|
69
|
+
<cds-textarea
|
70
|
+
label="Notes"
|
71
|
+
value="This is a text area"
|
72
|
+
></cds-textarea>
|
73
|
+
<cds-textarea
|
74
|
+
label="Notes"
|
75
|
+
value="This is a text area"
|
76
|
+
></cds-textarea>
|
77
|
+
</div>
|
78
|
+
`;
|
79
|
+
default:
|
80
|
+
return null;
|
81
|
+
}
|
82
|
+
};
|
83
|
+
const getSubTitle = (index) => {
|
84
|
+
switch (index) {
|
85
|
+
case 1:
|
86
|
+
return html `<div slot="subtitle">This is your subtitle slot.</div>`;
|
87
|
+
case 2:
|
88
|
+
return html `<div slot="subtitle">
|
89
|
+
I am your subtitle slot for <strong>adding detail</strong> that can be
|
90
|
+
one or two lines.
|
91
|
+
</div>`;
|
92
|
+
default:
|
93
|
+
return null;
|
94
|
+
}
|
95
|
+
};
|
96
|
+
const getActionToolbarItems = (index) => {
|
97
|
+
switch (index) {
|
98
|
+
case 1:
|
99
|
+
return html `
|
100
|
+
<cds-button slot="action-toolbar">Copy</cds-button>
|
101
|
+
<cds-button
|
102
|
+
slot="action-toolbar"
|
103
|
+
aria-label="Settings"
|
104
|
+
has-icon-only="true"
|
105
|
+
kind=${BUTTON_KIND.GHOST}
|
106
|
+
size="sm"
|
107
|
+
tooltip-text="Settings"
|
108
|
+
>
|
109
|
+
</cds-button>
|
110
|
+
<cds-button
|
111
|
+
slot="action-toolbar"
|
112
|
+
aria-label="Delete"
|
113
|
+
has-icon-only="true"
|
114
|
+
kind=${BUTTON_KIND.GHOST}
|
115
|
+
size="sm"
|
116
|
+
tooltip-text="Delete"
|
117
|
+
>
|
118
|
+
</cds-button>
|
119
|
+
`;
|
120
|
+
default:
|
121
|
+
return null;
|
122
|
+
}
|
123
|
+
};
|
124
|
+
// TODO: There are problems switching this
|
125
|
+
const getActionItems = (index) => {
|
126
|
+
switch (index) {
|
127
|
+
case 1:
|
128
|
+
return html `<cds-button key="p" slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
129
|
+
>Primary</cds-button
|
130
|
+
>`;
|
131
|
+
case 2:
|
132
|
+
return html `
|
133
|
+
<cds-button slot="actions" kind=${BUTTON_KIND.GHOST}>Ghost</cds-button>
|
134
|
+
<cds-button slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
135
|
+
>Primary</cds-button
|
136
|
+
>
|
137
|
+
`;
|
138
|
+
case 3:
|
139
|
+
return html ` <cds-button slot="actions" kind=${BUTTON_KIND.DANGER}
|
140
|
+
>Danger</cds-button
|
141
|
+
>
|
142
|
+
<cds-button slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
143
|
+
>Primary</cds-button
|
144
|
+
>`;
|
145
|
+
case 4:
|
146
|
+
return html ` <cds-button slot="actions" kind=${BUTTON_KIND.GHOST}
|
147
|
+
>Ghost</cds-button
|
148
|
+
>
|
149
|
+
<cds-button slot="actions" kind=${BUTTON_KIND.SECONDARY}
|
150
|
+
>Secondary</cds-button
|
151
|
+
>
|
152
|
+
<cds-button slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
153
|
+
>Primary</cds-button
|
154
|
+
>`;
|
155
|
+
case 5:
|
156
|
+
return html `<cds-button
|
157
|
+
key="danger"
|
158
|
+
slot="actions"
|
159
|
+
kind=${BUTTON_KIND.DANGER}
|
160
|
+
>Danger</cds-button
|
161
|
+
>
|
162
|
+
<cds-button key="secondary" slot="actions" kind=${BUTTON_KIND.SECONDARY}
|
163
|
+
>Secondary</cds-button
|
164
|
+
>
|
165
|
+
<cds-button key="primary" slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
166
|
+
>Primary</cds-button
|
167
|
+
>`;
|
168
|
+
case 6:
|
169
|
+
return html `<cds-button
|
170
|
+
key="danger"
|
171
|
+
slot="actions"
|
172
|
+
kind=${BUTTON_KIND.DANGER}
|
173
|
+
>Danger</cds-button
|
174
|
+
>
|
175
|
+
<cds-button key="tertiary" slot="actions" kind=${BUTTON_KIND.TERTIARY}
|
176
|
+
>Tertiary</cds-button
|
177
|
+
>
|
178
|
+
<cds-button key="secondary" slot="actions" kind=${BUTTON_KIND.SECONDARY}
|
179
|
+
>Secondary</cds-button
|
180
|
+
>
|
181
|
+
<cds-button key="primary" slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
182
|
+
>Primary</cds-button
|
183
|
+
>`;
|
184
|
+
default:
|
185
|
+
return null;
|
186
|
+
}
|
187
|
+
};
|
188
|
+
const getSlug = (index) => {
|
189
|
+
switch (index) {
|
190
|
+
case 1:
|
191
|
+
return html `<cds-slug size="xs" alignment="bottom-right">
|
192
|
+
<div slot="body-text">
|
193
|
+
<p class="secondary">AI Explained</p>
|
194
|
+
<h1>84%</h1>
|
195
|
+
<p class="secondary bold">Confidence score</p>
|
196
|
+
<!-- //cspell: disable -->
|
197
|
+
<p class="secondary">
|
198
|
+
Lorem ipsum dolor sit amet, di os consectetur adipiscing elit, sed
|
199
|
+
do eiusmod tempor incididunt ut fsil labore et dolore magna aliqua.
|
200
|
+
</p>
|
201
|
+
<!-- //cspell: enable -->
|
202
|
+
<hr />
|
203
|
+
<p class="secondary">Model type</p>
|
204
|
+
<p class="bold">Foundation model</p>
|
205
|
+
</div>
|
206
|
+
</cds-slug>`;
|
207
|
+
default:
|
208
|
+
return null;
|
209
|
+
}
|
210
|
+
};
|
211
|
+
|
212
|
+
export { getActionItems, getActionToolbarItems, getContent, getSlug, getSubTitle };
|
213
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/side-panel/_story-assets/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;AAKG;AAKH,MAAM,WAAW,GAAG,sBAAsB;AAE7B,MAAA,UAAU,GAAG,CAAC,KAAK,KAAI;IAClC,QAAQ,KAAK;AACX,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA;;YAEL,MAAM;;;;;;mBAMC,WAAW,CAAA;;;;;mBAKX,WAAW,CAAA;;OAEvB;AACH,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA;;YAEL,MAAM;;;sBAGI,WAAW,CAAA;;;;;;;;;;sBAUX,WAAW,CAAA;;;;;;;;;;sBAUX,WAAW,CAAA;;;;;;;;;;;;;;OAc1B;AAEH,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB;AAEa,MAAA,WAAW,GAAG,CAAC,KAAK,KAAI;IACnC,QAAQ,KAAK;AACX,QAAA,KAAK,CAAC;YACJ,OAAO,IAAI,CAAA,CAAA,sDAAA,CAAwD;AACrE,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAA;;;aAGJ;AACT,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB;AAEa,MAAA,qBAAqB,GAAG,CAAC,KAAK,KAAI;IAC7C,QAAQ,KAAK;AACX,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA;;;;;;AAMA,eAAA,EAAA,WAAW,CAAC,KAAK;;;;;;;;;AASjB,eAAA,EAAA,WAAW,CAAC,KAAK;;;;;OAK3B;AACH,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB;AAEA;AACa,MAAA,cAAc,GAAG,CAAC,KAAK,KAAI;IACtC,QAAQ,KAAK;AACX,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAA2C,wCAAA,EAAA,WAAW,CAAC,OAAO;;QAEvE;AACJ,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA;AACyB,wCAAA,EAAA,WAAW,CAAC,KAAK,CAAA;AACjB,wCAAA,EAAA,WAAW,CAAC,OAAO;;;OAGtD;AACH,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAoC,iCAAA,EAAA,WAAW,CAAC,MAAM;;;AAG7B,wCAAA,EAAA,WAAW,CAAC,OAAO;;UAEnD;AACN,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAoC,iCAAA,EAAA,WAAW,CAAC,KAAK;;;AAG5B,wCAAA,EAAA,WAAW,CAAC,SAAS;;;AAGrB,wCAAA,EAAA,WAAW,CAAC,OAAO;;UAEnD;AACN,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAA;;;AAGA,eAAA,EAAA,WAAW,CAAC,MAAM;;;AAGuB,wDAAA,EAAA,WAAW,CAAC,SAAS;;;AAGvB,sDAAA,EAAA,WAAW,CAAC,OAAO;;UAEjE;AACN,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAA;;;AAGA,eAAA,EAAA,WAAW,CAAC,MAAM;;;AAGsB,uDAAA,EAAA,WAAW,CAAC,QAAQ;;;AAGnB,wDAAA,EAAA,WAAW,CAAC,SAAS;;;AAGvB,sDAAA,EAAA,WAAW,CAAC,OAAO;;UAEjE;AACN,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB;AAEa,MAAA,OAAO,GAAG,CAAC,KAAK,KAAI;IAC/B,QAAQ,KAAK;AACX,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAA;;;;;;;;;;;;;;;kBAeC;AACd,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB;;;;"}
|
@@ -1,7 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*/
|
7
|
-
export {};
|
1
|
+
import './index';
|
2
|
+
import '@carbon/web-components/es/components/text-input/index.js';
|
3
|
+
import '@carbon/web-components/es/components/slug/index.js';
|
@@ -5,9 +5,14 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
|
8
|
-
import {
|
9
|
-
import { fixture, html } from '@open-wc/testing';
|
8
|
+
import { describe, it, expect, afterEach } from 'vitest';
|
9
|
+
import { fixture, oneEvent, html } from '@open-wc/testing';
|
10
10
|
import { SIDE_PANEL_SIZE, SIDE_PANEL_PLACEMENT } from './defs.js';
|
11
|
+
import { prefix } from '../../globals/settings.js';
|
12
|
+
import './side-panel.js';
|
13
|
+
import { getContent, getSlug, getActionToolbarItems, getSubTitle, getActionItems } from './_story-assets/index.js';
|
14
|
+
import '@carbon/web-components/es/components/text-input/index.js';
|
15
|
+
import '@carbon/web-components/es/components/slug/index.js';
|
11
16
|
|
12
17
|
/**
|
13
18
|
* Copyright IBM Corp. 2024, 2024
|
@@ -15,7 +20,6 @@ import { SIDE_PANEL_SIZE, SIDE_PANEL_PLACEMENT } from './defs.js';
|
|
15
20
|
* This source code is licensed under the Apache-2.0 license found in the
|
16
21
|
* LICENSE file in the root directory of this source tree.
|
17
22
|
*/
|
18
|
-
vi.mock('@carbon/icons/lib/close/20', () => vi.fn().mockReturnValue({}));
|
19
23
|
const defaultProps = {
|
20
24
|
animateTitle: true,
|
21
25
|
includeOverlay: true,
|
@@ -28,8 +32,10 @@ const defaultProps = {
|
|
28
32
|
selectorPageContent: '',
|
29
33
|
size: SIDE_PANEL_SIZE.MEDIUM,
|
30
34
|
title: 'Side panel title',
|
35
|
+
condensedActions: false,
|
31
36
|
};
|
32
|
-
const
|
37
|
+
const blockClass = `${prefix}--side-panel`;
|
38
|
+
const template = (props = defaultProps, children = getContent(1)) => html `
|
33
39
|
<c4p-side-panel
|
34
40
|
?animate-title=${props.animateTitle}
|
35
41
|
?include-overlay=${props.includeOverlay && !props.slideIn}
|
@@ -43,14 +49,204 @@ const template = (props = defaultProps) => html `
|
|
43
49
|
?slide-in=${props.slideIn}
|
44
50
|
.title=${props.title}
|
45
51
|
>
|
46
|
-
|
52
|
+
${children}
|
47
53
|
</c4p-side-panel>
|
48
54
|
`;
|
49
55
|
describe('c4p-side-panel', () => {
|
50
56
|
it('should render a side panel', async () => {
|
51
|
-
await fixture(template());
|
52
|
-
|
53
|
-
expect(
|
57
|
+
const sidePanel = (await fixture(template()));
|
58
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeTruthy();
|
59
|
+
expect(sidePanel).toBeDefined();
|
60
|
+
});
|
61
|
+
it('should render a side panel on the left', async () => {
|
62
|
+
var _a, _b, _c;
|
63
|
+
const sidePanel = (await fixture(template(Object.assign(Object.assign({}, defaultProps), { placement: SIDE_PANEL_PLACEMENT.LEFT }))));
|
64
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.placement).toBe('left');
|
65
|
+
const dialogShadowEl = (_b = (_a = sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(`.${blockClass}`)) === null || _b === void 0 ? void 0 : _b[0];
|
66
|
+
if (dialogShadowEl) {
|
67
|
+
const transform = (_c = window.getComputedStyle(dialogShadowEl)) === null || _c === void 0 ? void 0 : _c.transform;
|
68
|
+
expect(transform).toBe('matrix(1, 0, 0, 1, -414, 0)');
|
69
|
+
}
|
70
|
+
});
|
71
|
+
it('should render a side panel on the right', async () => {
|
72
|
+
var _a, _b, _c;
|
73
|
+
const sidePanel = (await fixture(template()));
|
74
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.placement).toBe('right');
|
75
|
+
const dialogShadowEl = (_b = (_a = sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(`.${blockClass}`)) === null || _b === void 0 ? void 0 : _b[0];
|
76
|
+
if (dialogShadowEl) {
|
77
|
+
const transform = (_c = window.getComputedStyle(dialogShadowEl)) === null || _c === void 0 ? void 0 : _c.transform;
|
78
|
+
expect(transform).toBe('matrix(1, 0, 0, 1, 414, 0)');
|
79
|
+
}
|
80
|
+
});
|
81
|
+
it('should render a side panel with overlay and close when clicked outside', async () => {
|
82
|
+
var _a, _b;
|
83
|
+
const sidePanel = (await fixture(template()));
|
84
|
+
// Expect the side panel has include-overlay attribute
|
85
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.includeOverlay).toBeTruthy();
|
86
|
+
// get the overlay element by class .c4p--side-panel__overlay
|
87
|
+
const overlayElement = (_b = (_a = sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(`.${blockClass}__overlay`)) === null || _b === void 0 ? void 0 : _b[0];
|
88
|
+
// expect the element is present
|
89
|
+
expect(overlayElement).toBeDefined();
|
90
|
+
// ensure its tab index is -1
|
91
|
+
expect(overlayElement === null || overlayElement === void 0 ? void 0 : overlayElement.getAttribute('tabindex')).toBe('-1');
|
92
|
+
// ensure open attribute present
|
93
|
+
expect(overlayElement === null || overlayElement === void 0 ? void 0 : overlayElement.hasAttribute('open')).toBeTruthy();
|
94
|
+
// ensure the preventCloseOnClickOutside property is disabled
|
95
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.preventCloseOnClickOutside).toBeFalsy();
|
96
|
+
// add event listener `cds-side-panel-beingclosed` event
|
97
|
+
const eventBeforeClose = oneEvent(sidePanel,
|
98
|
+
// getting event name ie., `cds-side-panel-beingclosed`
|
99
|
+
sidePanel.constructor.eventBeforeClose);
|
100
|
+
// add event listener `cds-side-panel-closed` event
|
101
|
+
const eventClose = oneEvent(sidePanel,
|
102
|
+
// getting event name ie., `cds-side-panel-closed`
|
103
|
+
sidePanel.constructor.eventClose);
|
104
|
+
// dispatch `cds-side-panel-beingclosed` and `cds-side-panel-closed` events on overlay element click
|
105
|
+
overlayElement === null || overlayElement === void 0 ? void 0 : overlayElement.dispatchEvent(new Event('click'));
|
106
|
+
// listen to `cds-side-panel-beingclosed` and `cds-side-panel-closed` event
|
107
|
+
// and take the details of events
|
108
|
+
const { detail: beforeCloseDetail } = await eventBeforeClose;
|
109
|
+
const { detail: closeDetail } = await eventClose;
|
110
|
+
// make sure both events are triggered by overlay element
|
111
|
+
expect(beforeCloseDetail === null || beforeCloseDetail === void 0 ? void 0 : beforeCloseDetail.triggeredBy).toBe(overlayElement);
|
112
|
+
expect(closeDetail === null || closeDetail === void 0 ? void 0 : closeDetail.triggeredBy).toBe(overlayElement);
|
113
|
+
// expect the side panel is closed
|
114
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeFalsy();
|
115
|
+
// expect overlay also closed
|
116
|
+
expect(overlayElement === null || overlayElement === void 0 ? void 0 : overlayElement.hasAttribute('open')).toBeFalsy();
|
117
|
+
});
|
118
|
+
it('should close side panel on escape keydown', async () => {
|
119
|
+
const sidePanel = (await fixture(template()));
|
120
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeTruthy();
|
121
|
+
// add event listener `cds-side-panel-beingclosed` event
|
122
|
+
const eventBeforeClose = oneEvent(sidePanel,
|
123
|
+
// getting event name ie., `cds-side-panel-beingclosed`
|
124
|
+
sidePanel.constructor.eventBeforeClose);
|
125
|
+
// add event listener `cds-side-panel-closed` event
|
126
|
+
const eventClose = oneEvent(sidePanel,
|
127
|
+
// getting event name ie., `cds-side-panel-closed`
|
128
|
+
sidePanel.constructor.eventClose);
|
129
|
+
// press the escape key
|
130
|
+
document === null || document === void 0 ? void 0 : document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape' }));
|
131
|
+
// listen to `cds-side-panel-beingclosed` and `cds-side-panel-closed` event
|
132
|
+
// and take the details of events
|
133
|
+
const { detail: beforeCloseDetail } = await eventBeforeClose;
|
134
|
+
const { detail: closeDetail } = await eventClose;
|
135
|
+
// make sure both events are triggered from document
|
136
|
+
expect(beforeCloseDetail === null || beforeCloseDetail === void 0 ? void 0 : beforeCloseDetail.triggeredBy).toBe(document);
|
137
|
+
expect(closeDetail === null || closeDetail === void 0 ? void 0 : closeDetail.triggeredBy).toBe(document);
|
138
|
+
// expect the side panel is closed
|
139
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeFalsy();
|
140
|
+
});
|
141
|
+
it('should close side panel on the close button click', async () => {
|
142
|
+
var _a;
|
143
|
+
const sidePanel = (await fixture(template()));
|
144
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeTruthy();
|
145
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.closeIconDescription).toBe('Close');
|
146
|
+
// get the close button
|
147
|
+
const closeButton = (_a = sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('cds-icon-button');
|
148
|
+
// ensure the close button is present
|
149
|
+
expect(closeButton).toBeDefined();
|
150
|
+
// add event listener `cds-side-panel-beingclosed` event
|
151
|
+
const eventBeforeClose = oneEvent(sidePanel,
|
152
|
+
// getting event name ie., `cds-side-panel-beingclosed`
|
153
|
+
sidePanel.constructor.eventBeforeClose);
|
154
|
+
// add event listener `cds-side-panel-closed` event
|
155
|
+
const eventClose = oneEvent(sidePanel,
|
156
|
+
// getting event name ie., `cds-side-panel-closed`
|
157
|
+
sidePanel.constructor.eventClose);
|
158
|
+
// click on the close button
|
159
|
+
closeButton === null || closeButton === void 0 ? void 0 : closeButton.dispatchEvent(new Event('click'));
|
160
|
+
// listen to `cds-side-panel-beingclosed` and `cds-side-panel-closed` event
|
161
|
+
// and take the details of events
|
162
|
+
const { detail: beforeCloseDetail } = await eventBeforeClose;
|
163
|
+
const { detail: closeDetail } = await eventClose;
|
164
|
+
// make sure both events are triggered by overlay element
|
165
|
+
expect(beforeCloseDetail === null || beforeCloseDetail === void 0 ? void 0 : beforeCloseDetail.triggeredBy).toBe(closeButton);
|
166
|
+
expect(closeDetail === null || closeDetail === void 0 ? void 0 : closeDetail.triggeredBy).toBe(closeButton);
|
167
|
+
// expect the side panel is closed
|
168
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeFalsy();
|
169
|
+
});
|
170
|
+
it('should render a slug', async () => {
|
171
|
+
const sidePanel = (await fixture(template(defaultProps, getSlug(1))));
|
172
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeTruthy();
|
173
|
+
// ensure there is a slug present
|
174
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel._hasSlug).toBeTruthy();
|
175
|
+
// locate slug element
|
176
|
+
const slug = sidePanel.querySelector('cds-slug');
|
177
|
+
// expect the slug element is present
|
178
|
+
expect(slug).toBeDefined();
|
179
|
+
// expect the default slug size is xs
|
180
|
+
expect(slug.size).toBe('xs');
|
181
|
+
});
|
182
|
+
it('should render navigation button', async () => {
|
183
|
+
const sidePanel = (await fixture(template(defaultProps, getActionToolbarItems(1))));
|
184
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeTruthy();
|
185
|
+
// get the copy button
|
186
|
+
const copyButton = Array.prototype.find.call(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.querySelectorAll('cds-button'), (el) => el.innerHTML === 'Copy');
|
187
|
+
// expect copy button to be present
|
188
|
+
expect(copyButton).toBeDefined();
|
189
|
+
});
|
190
|
+
it('should render a slide-in side panel', async () => {
|
191
|
+
var _a, _b;
|
192
|
+
const sidePanel = (await fixture(template(Object.assign(Object.assign({}, defaultProps), { slideIn: true }))));
|
193
|
+
expect(sidePanel.slideIn).toBeTruthy();
|
194
|
+
expect(sidePanel.includeOverlay).toBeFalsy();
|
195
|
+
// try to get the overlay element by class .c4p--side-panel__overlay
|
196
|
+
const overlayElement = (_b = (_a = sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(`.${blockClass}__overlay`)) === null || _b === void 0 ? void 0 : _b[0];
|
197
|
+
// expect the element is not present
|
198
|
+
expect(overlayElement).not.toBeDefined();
|
199
|
+
});
|
200
|
+
it('should call the eventNavigateBack callback', async () => {
|
201
|
+
var _a;
|
202
|
+
const prevStep = () => {
|
203
|
+
var _a;
|
204
|
+
(_a = document
|
205
|
+
.querySelector(`${prefix}-side-panel`)) === null || _a === void 0 ? void 0 : _a.setAttribute('current-step', '1');
|
206
|
+
};
|
207
|
+
const sidePanel = (await fixture(html `<c4p-side-panel
|
208
|
+
?animate-title=${defaultProps.animateTitle}
|
209
|
+
?condensed-actions=${defaultProps.condensedActions}
|
210
|
+
current-step="1"
|
211
|
+
?include-overlay=${defaultProps.includeOverlay && !defaultProps.slideIn}
|
212
|
+
selector-initial-focus=${defaultProps.selectorInitialFocus}
|
213
|
+
label-text="${defaultProps.label}"
|
214
|
+
?open=${defaultProps.open}
|
215
|
+
placement=${defaultProps.placement}
|
216
|
+
?prevent-close-on-click-outside=${defaultProps.preventCloseOnClickOutside}
|
217
|
+
selector-page-content=${defaultProps.selectorPageContent}
|
218
|
+
size=${defaultProps.size}
|
219
|
+
?slide-in=${defaultProps.slideIn}
|
220
|
+
.title=${defaultProps.title}
|
221
|
+
@c4p-side-panel-navigate-back=${prevStep}
|
222
|
+
>${getContent(1)}</<c4p-side-panel`));
|
223
|
+
const backButton = (_a = sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`.${prefix}--side-panel__navigation-back-button`);
|
224
|
+
// create event listener
|
225
|
+
const eventNavigateBack = oneEvent(sidePanel, sidePanel.constructor.eventNavigateBack);
|
226
|
+
// dispatch the event from click of back button
|
227
|
+
backButton === null || backButton === void 0 ? void 0 : backButton.dispatchEvent(new Event('click'));
|
228
|
+
// expect the detail object of eventNavigateBack method
|
229
|
+
const { detail } = await eventNavigateBack;
|
230
|
+
expect(detail).toBeDefined();
|
231
|
+
});
|
232
|
+
it('should render subtitle text', async () => {
|
233
|
+
const sidePanel = (await fixture(template(defaultProps, getSubTitle(1))));
|
234
|
+
const subTitleText = sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.querySelector(`.${prefix}--side-panel__subtitle-text`);
|
235
|
+
expect(subTitleText).toBeDefined();
|
236
|
+
});
|
237
|
+
it('should render at least one action item', async () => {
|
238
|
+
const sidePanel = (await fixture(template(defaultProps, getActionItems(1))));
|
239
|
+
const actionItems = sidePanel.querySelectorAll(`.${prefix}--action-set__action-button`);
|
240
|
+
expect(actionItems).toHaveLength(1);
|
241
|
+
});
|
242
|
+
it('should render only 3 action items even if too many items exists', async () => {
|
243
|
+
const sidePanel = (await fixture(template(defaultProps, getActionItems(6))));
|
244
|
+
const actionItems = sidePanel.querySelectorAll(`.${prefix}--action-set__action-button`);
|
245
|
+
expect(actionItems).toHaveLength(3);
|
246
|
+
});
|
247
|
+
afterEach(() => {
|
248
|
+
// Clears the DOM after each test
|
249
|
+
document.body.innerHTML = '';
|
54
250
|
});
|
55
251
|
});
|
56
252
|
//# sourceMappingURL=side-panel.test.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"side-panel.test.js","sources":["../../../src/components/side-panel/side-panel.test.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;AAKG;AAEH,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AAKxE,MAAM,YAAY,GAAG;AACnB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,oBAAoB,EAAE,EAAE;AACxB,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,oBAAoB,CAAC,KAAK;AACrC,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,mBAAmB,EAAE,EAAE;IACvB,IAAI,EAAE,eAAe,CAAC,MAAM;AAC5B,IAAA,KAAK,EAAE,kBAAkB;CAC1B;AAED,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,YAAY,KAAK,IAAI,CAAA;;AAE1B,mBAAA,EAAA,KAAK,CAAC,YAAY;AAChB,qBAAA,EAAA,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO;AAChC,2BAAA,EAAA,KAAK,CAAC,oBAAoB;AACrC,gBAAA,EAAA,KAAK,CAAC,KAAK,CAAA;AACjB,UAAA,EAAA,KAAK,CAAC,IAAI;AACN,cAAA,EAAA,KAAK,CAAC,SAAS;AACO,oCAAA,EAAA,KAAK,CAAC,0BAA0B;AAC1C,0BAAA,EAAA,KAAK,CAAC,mBAAmB;AAC1C,SAAA,EAAA,KAAK,CAAC,IAAI;AACL,cAAA,EAAA,KAAK,CAAC,OAAO;AAChB,WAAA,EAAA,KAAK,CAAC,KAAK;;;;CAIvB;AAED,QAAQ,CAAC,gBAAgB,EAAE,MAAK;AAC9B,IAAA,EAAE,CAAC,4BAA4B,EAAE,YAAW;AAC1C,QAAA,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAuB,CAAC;AACjE,QAAA,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;AAC5B,KAAC,CAAC;AACJ,CAAC,CAAC"}
|
1
|
+
{"version":3,"file":"side-panel.test.js","sources":["../../../src/components/side-panel/side-panel.test.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { css } from 'lit';
|
9
|
+
|
10
|
+
var styles = css([".side-panel-stories__body-content{display:flex;flex-direction:column;gap:1rem;padding:1rem}.side-panel-stories__text-inputs{display:flex;gap:1rem}.side-panel-stories__text-inputs>*{flex-basis:50%}.side-panel-stories__story-container{block-size:100vh;display:grid;grid-template-rows:3rem 1fr;inline-size:100vw;inset-block-start:0;inset-inline-start:0;position:fixed}.side-panel-stories__story-header{background:var(--cds-background-inverse,#393939)}.side-panel-stories__story-content{align-items:center;display:flex;justify-content:center;position:relative}"]);
|
11
|
+
|
12
|
+
export { styles as default };
|
13
|
+
//# sourceMappingURL=story-styles.scss.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"story-styles.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
package/es/package.json.js
CHANGED
@@ -0,0 +1,5 @@
|
|
1
|
+
export declare const getContent: (index: any) => import("lit-html").TemplateResult<1> | null;
|
2
|
+
export declare const getSubTitle: (index: any) => import("lit-html").TemplateResult<1> | null;
|
3
|
+
export declare const getActionToolbarItems: (index: any) => import("lit-html").TemplateResult<1> | null;
|
4
|
+
export declare const getActionItems: (index: any) => import("lit-html").TemplateResult<1> | null;
|
5
|
+
export declare const getSlug: (index: any) => import("lit-html").TemplateResult<1> | null;
|
@@ -0,0 +1,213 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { html } from 'lit';
|
9
|
+
import styles from '../story-styles.scss.js';
|
10
|
+
import { BUTTON_KIND } from '@carbon/web-components/es/components/button/defs.js';
|
11
|
+
|
12
|
+
/**
|
13
|
+
* Copyright IBM Corp. 2024, 2024
|
14
|
+
*
|
15
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
17
|
+
*/
|
18
|
+
const storyPrefix = 'side-panel-stories__';
|
19
|
+
const getContent = (index) => {
|
20
|
+
switch (index) {
|
21
|
+
case 1:
|
22
|
+
return html `
|
23
|
+
<style>
|
24
|
+
${styles}
|
25
|
+
</style>
|
26
|
+
<h5>Section</h5>
|
27
|
+
<cds-custom-text-input
|
28
|
+
label="Input A"
|
29
|
+
id="side-panel-story-text-input-a"
|
30
|
+
class="${storyPrefix}text-input"
|
31
|
+
></cds-custom-text-input>
|
32
|
+
<cds-custom-text-input
|
33
|
+
label="Input B"
|
34
|
+
id="side-panel-story-text-input-b"
|
35
|
+
class="${storyPrefix}text-input"
|
36
|
+
></cds-custom-text-input>
|
37
|
+
`;
|
38
|
+
case 2:
|
39
|
+
return html `
|
40
|
+
<style>
|
41
|
+
${styles}
|
42
|
+
</style>
|
43
|
+
<h5>Section</h5>
|
44
|
+
<div class="${storyPrefix}text-inputs">
|
45
|
+
<cds-custom-text-input
|
46
|
+
label="Input A"
|
47
|
+
id="side-panel-story-text-input-a"
|
48
|
+
></cds-custom-text-input>
|
49
|
+
<cds-custom-text-input
|
50
|
+
label="Input B"
|
51
|
+
id="side-panel-story-text-input-b"
|
52
|
+
></cds-custom-text-input>
|
53
|
+
</div>
|
54
|
+
<div class="${storyPrefix}text-inputs">
|
55
|
+
<cds-custom-text-input
|
56
|
+
label="Input C"
|
57
|
+
id="side-panel-story-text-input-c"
|
58
|
+
></cds-custom-text-input>
|
59
|
+
<cds-custom-text-input
|
60
|
+
label="Input D"
|
61
|
+
id="side-panel-story-text-input-d"
|
62
|
+
></cds-custom-text-input>
|
63
|
+
</div>
|
64
|
+
<div class="${storyPrefix}textarea-container">
|
65
|
+
<cds-custom-textarea
|
66
|
+
label="Notes"
|
67
|
+
value="This is a text area"
|
68
|
+
></cds-custom-textarea>
|
69
|
+
<cds-custom-textarea
|
70
|
+
label="Notes"
|
71
|
+
value="This is a text area"
|
72
|
+
></cds-custom-textarea>
|
73
|
+
<cds-custom-textarea
|
74
|
+
label="Notes"
|
75
|
+
value="This is a text area"
|
76
|
+
></cds-custom-textarea>
|
77
|
+
</div>
|
78
|
+
`;
|
79
|
+
default:
|
80
|
+
return null;
|
81
|
+
}
|
82
|
+
};
|
83
|
+
const getSubTitle = (index) => {
|
84
|
+
switch (index) {
|
85
|
+
case 1:
|
86
|
+
return html `<div slot="subtitle">This is your subtitle slot.</div>`;
|
87
|
+
case 2:
|
88
|
+
return html `<div slot="subtitle">
|
89
|
+
I am your subtitle slot for <strong>adding detail</strong> that can be
|
90
|
+
one or two lines.
|
91
|
+
</div>`;
|
92
|
+
default:
|
93
|
+
return null;
|
94
|
+
}
|
95
|
+
};
|
96
|
+
const getActionToolbarItems = (index) => {
|
97
|
+
switch (index) {
|
98
|
+
case 1:
|
99
|
+
return html `
|
100
|
+
<cds-custom-button slot="action-toolbar">Copy</cds-custom-button>
|
101
|
+
<cds-custom-button
|
102
|
+
slot="action-toolbar"
|
103
|
+
aria-label="Settings"
|
104
|
+
has-icon-only="true"
|
105
|
+
kind=${BUTTON_KIND.GHOST}
|
106
|
+
size="sm"
|
107
|
+
tooltip-text="Settings"
|
108
|
+
>
|
109
|
+
</cds-custom-button>
|
110
|
+
<cds-custom-button
|
111
|
+
slot="action-toolbar"
|
112
|
+
aria-label="Delete"
|
113
|
+
has-icon-only="true"
|
114
|
+
kind=${BUTTON_KIND.GHOST}
|
115
|
+
size="sm"
|
116
|
+
tooltip-text="Delete"
|
117
|
+
>
|
118
|
+
</cds-custom-button>
|
119
|
+
`;
|
120
|
+
default:
|
121
|
+
return null;
|
122
|
+
}
|
123
|
+
};
|
124
|
+
// TODO: There are problems switching this
|
125
|
+
const getActionItems = (index) => {
|
126
|
+
switch (index) {
|
127
|
+
case 1:
|
128
|
+
return html `<cds-custom-button key="p" slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
129
|
+
>Primary</cds-custom-button
|
130
|
+
>`;
|
131
|
+
case 2:
|
132
|
+
return html `
|
133
|
+
<cds-custom-button slot="actions" kind=${BUTTON_KIND.GHOST}>Ghost</cds-custom-button>
|
134
|
+
<cds-custom-button slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
135
|
+
>Primary</cds-custom-button
|
136
|
+
>
|
137
|
+
`;
|
138
|
+
case 3:
|
139
|
+
return html ` <cds-custom-button slot="actions" kind=${BUTTON_KIND.DANGER}
|
140
|
+
>Danger</cds-custom-button
|
141
|
+
>
|
142
|
+
<cds-custom-button slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
143
|
+
>Primary</cds-custom-button
|
144
|
+
>`;
|
145
|
+
case 4:
|
146
|
+
return html ` <cds-custom-button slot="actions" kind=${BUTTON_KIND.GHOST}
|
147
|
+
>Ghost</cds-custom-button
|
148
|
+
>
|
149
|
+
<cds-custom-button slot="actions" kind=${BUTTON_KIND.SECONDARY}
|
150
|
+
>Secondary</cds-custom-button
|
151
|
+
>
|
152
|
+
<cds-custom-button slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
153
|
+
>Primary</cds-custom-button
|
154
|
+
>`;
|
155
|
+
case 5:
|
156
|
+
return html `<cds-custom-button
|
157
|
+
key="danger"
|
158
|
+
slot="actions"
|
159
|
+
kind=${BUTTON_KIND.DANGER}
|
160
|
+
>Danger</cds-custom-button
|
161
|
+
>
|
162
|
+
<cds-custom-button key="secondary" slot="actions" kind=${BUTTON_KIND.SECONDARY}
|
163
|
+
>Secondary</cds-custom-button
|
164
|
+
>
|
165
|
+
<cds-custom-button key="primary" slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
166
|
+
>Primary</cds-custom-button
|
167
|
+
>`;
|
168
|
+
case 6:
|
169
|
+
return html `<cds-custom-button
|
170
|
+
key="danger"
|
171
|
+
slot="actions"
|
172
|
+
kind=${BUTTON_KIND.DANGER}
|
173
|
+
>Danger</cds-custom-button
|
174
|
+
>
|
175
|
+
<cds-custom-button key="tertiary" slot="actions" kind=${BUTTON_KIND.TERTIARY}
|
176
|
+
>Tertiary</cds-custom-button
|
177
|
+
>
|
178
|
+
<cds-custom-button key="secondary" slot="actions" kind=${BUTTON_KIND.SECONDARY}
|
179
|
+
>Secondary</cds-custom-button
|
180
|
+
>
|
181
|
+
<cds-custom-button key="primary" slot="actions" kind=${BUTTON_KIND.PRIMARY}
|
182
|
+
>Primary</cds-custom-button
|
183
|
+
>`;
|
184
|
+
default:
|
185
|
+
return null;
|
186
|
+
}
|
187
|
+
};
|
188
|
+
const getSlug = (index) => {
|
189
|
+
switch (index) {
|
190
|
+
case 1:
|
191
|
+
return html `<cds-custom-slug size="xs" alignment="bottom-right">
|
192
|
+
<div slot="body-text">
|
193
|
+
<p class="secondary">AI Explained</p>
|
194
|
+
<h1>84%</h1>
|
195
|
+
<p class="secondary bold">Confidence score</p>
|
196
|
+
<!-- //cspell: disable -->
|
197
|
+
<p class="secondary">
|
198
|
+
Lorem ipsum dolor sit amet, di os consectetur adipiscing elit, sed
|
199
|
+
do eiusmod tempor incididunt ut fsil labore et dolore magna aliqua.
|
200
|
+
</p>
|
201
|
+
<!-- //cspell: enable -->
|
202
|
+
<hr />
|
203
|
+
<p class="secondary">Model type</p>
|
204
|
+
<p class="bold">Foundation model</p>
|
205
|
+
</div>
|
206
|
+
</cds-custom-slug>`;
|
207
|
+
default:
|
208
|
+
return null;
|
209
|
+
}
|
210
|
+
};
|
211
|
+
|
212
|
+
export { getActionItems, getActionToolbarItems, getContent, getSlug, getSubTitle };
|
213
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/side-panel/_story-assets/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;AAKG;AAKH,MAAM,WAAW,GAAG,sBAAsB;AAE7B,MAAA,UAAU,GAAG,CAAC,KAAK,KAAI;IAClC,QAAQ,KAAK;AACX,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA;;YAEL,MAAM;;;;;;mBAMC,WAAW,CAAA;;;;;mBAKX,WAAW,CAAA;;OAEvB;AACH,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA;;YAEL,MAAM;;;sBAGI,WAAW,CAAA;;;;;;;;;;sBAUX,WAAW,CAAA;;;;;;;;;;sBAUX,WAAW,CAAA;;;;;;;;;;;;;;OAc1B;AAEH,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB;AAEa,MAAA,WAAW,GAAG,CAAC,KAAK,KAAI;IACnC,QAAQ,KAAK;AACX,QAAA,KAAK,CAAC;YACJ,OAAO,IAAI,CAAA,CAAA,sDAAA,CAAwD;AACrE,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAA;;;aAGJ;AACT,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB;AAEa,MAAA,qBAAqB,GAAG,CAAC,KAAK,KAAI;IAC7C,QAAQ,KAAK;AACX,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA;;;;;;AAMA,eAAA,EAAA,WAAW,CAAC,KAAK;;;;;;;;;AASjB,eAAA,EAAA,WAAW,CAAC,KAAK;;;;;OAK3B;AACH,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB;AAEA;AACa,MAAA,cAAc,GAAG,CAAC,KAAK,KAAI;IACtC,QAAQ,KAAK;AACX,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAA2C,wCAAA,EAAA,WAAW,CAAC,OAAO;;QAEvE;AACJ,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA;AACyB,wCAAA,EAAA,WAAW,CAAC,KAAK,CAAA;AACjB,wCAAA,EAAA,WAAW,CAAC,OAAO;;;OAGtD;AACH,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAoC,iCAAA,EAAA,WAAW,CAAC,MAAM;;;AAG7B,wCAAA,EAAA,WAAW,CAAC,OAAO;;UAEnD;AACN,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAoC,iCAAA,EAAA,WAAW,CAAC,KAAK;;;AAG5B,wCAAA,EAAA,WAAW,CAAC,SAAS;;;AAGrB,wCAAA,EAAA,WAAW,CAAC,OAAO;;UAEnD;AACN,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAA;;;AAGA,eAAA,EAAA,WAAW,CAAC,MAAM;;;AAGuB,wDAAA,EAAA,WAAW,CAAC,SAAS;;;AAGvB,sDAAA,EAAA,WAAW,CAAC,OAAO;;UAEjE;AACN,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAA;;;AAGA,eAAA,EAAA,WAAW,CAAC,MAAM;;;AAGsB,uDAAA,EAAA,WAAW,CAAC,QAAQ;;;AAGnB,wDAAA,EAAA,WAAW,CAAC,SAAS;;;AAGvB,sDAAA,EAAA,WAAW,CAAC,OAAO;;UAEjE;AACN,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB;AAEa,MAAA,OAAO,GAAG,CAAC,KAAK,KAAI;IAC/B,QAAQ,KAAK;AACX,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,IAAI,CAAA,CAAA;;;;;;;;;;;;;;;kBAeC;AACd,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB;;;;"}
|
@@ -1,7 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*/
|
7
|
-
export {};
|
1
|
+
import './index';
|
2
|
+
import '@carbon/web-components/es-custom/components/text-input/index.js';
|
3
|
+
import '@carbon/web-components/es-custom/components/slug/index.js';
|
@@ -5,9 +5,14 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
|
8
|
-
import {
|
9
|
-
import { fixture, html } from '@open-wc/testing';
|
8
|
+
import { describe, it, expect, afterEach } from 'vitest';
|
9
|
+
import { fixture, oneEvent, html } from '@open-wc/testing';
|
10
10
|
import { SIDE_PANEL_SIZE, SIDE_PANEL_PLACEMENT } from './defs.js';
|
11
|
+
import { prefix } from '../../globals/settings.js';
|
12
|
+
import './side-panel.js';
|
13
|
+
import { getContent, getSlug, getActionToolbarItems, getSubTitle, getActionItems } from './_story-assets/index.js';
|
14
|
+
import '@carbon/web-components/es-custom/components/text-input/index.js';
|
15
|
+
import '@carbon/web-components/es-custom/components/slug/index.js';
|
11
16
|
|
12
17
|
/**
|
13
18
|
* Copyright IBM Corp. 2024, 2024
|
@@ -15,7 +20,6 @@ import { SIDE_PANEL_SIZE, SIDE_PANEL_PLACEMENT } from './defs.js';
|
|
15
20
|
* This source code is licensed under the Apache-2.0 license found in the
|
16
21
|
* LICENSE file in the root directory of this source tree.
|
17
22
|
*/
|
18
|
-
vi.mock('@carbon/icons/lib/close/20', () => vi.fn().mockReturnValue({}));
|
19
23
|
const defaultProps = {
|
20
24
|
animateTitle: true,
|
21
25
|
includeOverlay: true,
|
@@ -28,8 +32,10 @@ const defaultProps = {
|
|
28
32
|
selectorPageContent: '',
|
29
33
|
size: SIDE_PANEL_SIZE.MEDIUM,
|
30
34
|
title: 'Side panel title',
|
35
|
+
condensedActions: false,
|
31
36
|
};
|
32
|
-
const
|
37
|
+
const blockClass = `${prefix}--side-panel`;
|
38
|
+
const template = (props = defaultProps, children = getContent(1)) => html `
|
33
39
|
<c4p-side-panel
|
34
40
|
?animate-title=${props.animateTitle}
|
35
41
|
?include-overlay=${props.includeOverlay && !props.slideIn}
|
@@ -43,14 +49,204 @@ const template = (props = defaultProps) => html `
|
|
43
49
|
?slide-in=${props.slideIn}
|
44
50
|
.title=${props.title}
|
45
51
|
>
|
46
|
-
|
52
|
+
${children}
|
47
53
|
</c4p-side-panel>
|
48
54
|
`;
|
49
55
|
describe('c4p-side-panel', () => {
|
50
56
|
it('should render a side panel', async () => {
|
51
|
-
await fixture(template());
|
52
|
-
|
53
|
-
expect(
|
57
|
+
const sidePanel = (await fixture(template()));
|
58
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeTruthy();
|
59
|
+
expect(sidePanel).toBeDefined();
|
60
|
+
});
|
61
|
+
it('should render a side panel on the left', async () => {
|
62
|
+
var _a, _b, _c;
|
63
|
+
const sidePanel = (await fixture(template(Object.assign(Object.assign({}, defaultProps), { placement: SIDE_PANEL_PLACEMENT.LEFT }))));
|
64
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.placement).toBe('left');
|
65
|
+
const dialogShadowEl = (_b = (_a = sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(`.${blockClass}`)) === null || _b === void 0 ? void 0 : _b[0];
|
66
|
+
if (dialogShadowEl) {
|
67
|
+
const transform = (_c = window.getComputedStyle(dialogShadowEl)) === null || _c === void 0 ? void 0 : _c.transform;
|
68
|
+
expect(transform).toBe('matrix(1, 0, 0, 1, -414, 0)');
|
69
|
+
}
|
70
|
+
});
|
71
|
+
it('should render a side panel on the right', async () => {
|
72
|
+
var _a, _b, _c;
|
73
|
+
const sidePanel = (await fixture(template()));
|
74
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.placement).toBe('right');
|
75
|
+
const dialogShadowEl = (_b = (_a = sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(`.${blockClass}`)) === null || _b === void 0 ? void 0 : _b[0];
|
76
|
+
if (dialogShadowEl) {
|
77
|
+
const transform = (_c = window.getComputedStyle(dialogShadowEl)) === null || _c === void 0 ? void 0 : _c.transform;
|
78
|
+
expect(transform).toBe('matrix(1, 0, 0, 1, 414, 0)');
|
79
|
+
}
|
80
|
+
});
|
81
|
+
it('should render a side panel with overlay and close when clicked outside', async () => {
|
82
|
+
var _a, _b;
|
83
|
+
const sidePanel = (await fixture(template()));
|
84
|
+
// Expect the side panel has include-overlay attribute
|
85
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.includeOverlay).toBeTruthy();
|
86
|
+
// get the overlay element by class .c4p--side-panel__overlay
|
87
|
+
const overlayElement = (_b = (_a = sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(`.${blockClass}__overlay`)) === null || _b === void 0 ? void 0 : _b[0];
|
88
|
+
// expect the element is present
|
89
|
+
expect(overlayElement).toBeDefined();
|
90
|
+
// ensure its tab index is -1
|
91
|
+
expect(overlayElement === null || overlayElement === void 0 ? void 0 : overlayElement.getAttribute('tabindex')).toBe('-1');
|
92
|
+
// ensure open attribute present
|
93
|
+
expect(overlayElement === null || overlayElement === void 0 ? void 0 : overlayElement.hasAttribute('open')).toBeTruthy();
|
94
|
+
// ensure the preventCloseOnClickOutside property is disabled
|
95
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.preventCloseOnClickOutside).toBeFalsy();
|
96
|
+
// add event listener `cds-custom-side-panel-beingclosed` event
|
97
|
+
const eventBeforeClose = oneEvent(sidePanel,
|
98
|
+
// getting event name ie., `cds-custom-side-panel-beingclosed`
|
99
|
+
sidePanel.constructor.eventBeforeClose);
|
100
|
+
// add event listener `cds-custom-side-panel-closed` event
|
101
|
+
const eventClose = oneEvent(sidePanel,
|
102
|
+
// getting event name ie., `cds-custom-side-panel-closed`
|
103
|
+
sidePanel.constructor.eventClose);
|
104
|
+
// dispatch `cds-custom-side-panel-beingclosed` and `cds-custom-side-panel-closed` events on overlay element click
|
105
|
+
overlayElement === null || overlayElement === void 0 ? void 0 : overlayElement.dispatchEvent(new Event('click'));
|
106
|
+
// listen to `cds-custom-side-panel-beingclosed` and `cds-custom-side-panel-closed` event
|
107
|
+
// and take the details of events
|
108
|
+
const { detail: beforeCloseDetail } = await eventBeforeClose;
|
109
|
+
const { detail: closeDetail } = await eventClose;
|
110
|
+
// make sure both events are triggered by overlay element
|
111
|
+
expect(beforeCloseDetail === null || beforeCloseDetail === void 0 ? void 0 : beforeCloseDetail.triggeredBy).toBe(overlayElement);
|
112
|
+
expect(closeDetail === null || closeDetail === void 0 ? void 0 : closeDetail.triggeredBy).toBe(overlayElement);
|
113
|
+
// expect the side panel is closed
|
114
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeFalsy();
|
115
|
+
// expect overlay also closed
|
116
|
+
expect(overlayElement === null || overlayElement === void 0 ? void 0 : overlayElement.hasAttribute('open')).toBeFalsy();
|
117
|
+
});
|
118
|
+
it('should close side panel on escape keydown', async () => {
|
119
|
+
const sidePanel = (await fixture(template()));
|
120
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeTruthy();
|
121
|
+
// add event listener `cds-custom-side-panel-beingclosed` event
|
122
|
+
const eventBeforeClose = oneEvent(sidePanel,
|
123
|
+
// getting event name ie., `cds-custom-side-panel-beingclosed`
|
124
|
+
sidePanel.constructor.eventBeforeClose);
|
125
|
+
// add event listener `cds-custom-side-panel-closed` event
|
126
|
+
const eventClose = oneEvent(sidePanel,
|
127
|
+
// getting event name ie., `cds-custom-side-panel-closed`
|
128
|
+
sidePanel.constructor.eventClose);
|
129
|
+
// press the escape key
|
130
|
+
document === null || document === void 0 ? void 0 : document.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape' }));
|
131
|
+
// listen to `cds-custom-side-panel-beingclosed` and `cds-custom-side-panel-closed` event
|
132
|
+
// and take the details of events
|
133
|
+
const { detail: beforeCloseDetail } = await eventBeforeClose;
|
134
|
+
const { detail: closeDetail } = await eventClose;
|
135
|
+
// make sure both events are triggered from document
|
136
|
+
expect(beforeCloseDetail === null || beforeCloseDetail === void 0 ? void 0 : beforeCloseDetail.triggeredBy).toBe(document);
|
137
|
+
expect(closeDetail === null || closeDetail === void 0 ? void 0 : closeDetail.triggeredBy).toBe(document);
|
138
|
+
// expect the side panel is closed
|
139
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeFalsy();
|
140
|
+
});
|
141
|
+
it('should close side panel on the close button click', async () => {
|
142
|
+
var _a;
|
143
|
+
const sidePanel = (await fixture(template()));
|
144
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeTruthy();
|
145
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.closeIconDescription).toBe('Close');
|
146
|
+
// get the close button
|
147
|
+
const closeButton = (_a = sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('cds-custom-icon-button');
|
148
|
+
// ensure the close button is present
|
149
|
+
expect(closeButton).toBeDefined();
|
150
|
+
// add event listener `cds-custom-side-panel-beingclosed` event
|
151
|
+
const eventBeforeClose = oneEvent(sidePanel,
|
152
|
+
// getting event name ie., `cds-custom-side-panel-beingclosed`
|
153
|
+
sidePanel.constructor.eventBeforeClose);
|
154
|
+
// add event listener `cds-custom-side-panel-closed` event
|
155
|
+
const eventClose = oneEvent(sidePanel,
|
156
|
+
// getting event name ie., `cds-custom-side-panel-closed`
|
157
|
+
sidePanel.constructor.eventClose);
|
158
|
+
// click on the close button
|
159
|
+
closeButton === null || closeButton === void 0 ? void 0 : closeButton.dispatchEvent(new Event('click'));
|
160
|
+
// listen to `cds-custom-side-panel-beingclosed` and `cds-custom-side-panel-closed` event
|
161
|
+
// and take the details of events
|
162
|
+
const { detail: beforeCloseDetail } = await eventBeforeClose;
|
163
|
+
const { detail: closeDetail } = await eventClose;
|
164
|
+
// make sure both events are triggered by overlay element
|
165
|
+
expect(beforeCloseDetail === null || beforeCloseDetail === void 0 ? void 0 : beforeCloseDetail.triggeredBy).toBe(closeButton);
|
166
|
+
expect(closeDetail === null || closeDetail === void 0 ? void 0 : closeDetail.triggeredBy).toBe(closeButton);
|
167
|
+
// expect the side panel is closed
|
168
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeFalsy();
|
169
|
+
});
|
170
|
+
it('should render a slug', async () => {
|
171
|
+
const sidePanel = (await fixture(template(defaultProps, getSlug(1))));
|
172
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeTruthy();
|
173
|
+
// ensure there is a slug present
|
174
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel._hasSlug).toBeTruthy();
|
175
|
+
// locate slug element
|
176
|
+
const slug = sidePanel.querySelector('cds-custom-slug');
|
177
|
+
// expect the slug element is present
|
178
|
+
expect(slug).toBeDefined();
|
179
|
+
// expect the default slug size is xs
|
180
|
+
expect(slug.size).toBe('xs');
|
181
|
+
});
|
182
|
+
it('should render navigation button', async () => {
|
183
|
+
const sidePanel = (await fixture(template(defaultProps, getActionToolbarItems(1))));
|
184
|
+
expect(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.open).toBeTruthy();
|
185
|
+
// get the copy button
|
186
|
+
const copyButton = Array.prototype.find.call(sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.querySelectorAll('cds-custom-button'), (el) => el.innerHTML === 'Copy');
|
187
|
+
// expect copy button to be present
|
188
|
+
expect(copyButton).toBeDefined();
|
189
|
+
});
|
190
|
+
it('should render a slide-in side panel', async () => {
|
191
|
+
var _a, _b;
|
192
|
+
const sidePanel = (await fixture(template(Object.assign(Object.assign({}, defaultProps), { slideIn: true }))));
|
193
|
+
expect(sidePanel.slideIn).toBeTruthy();
|
194
|
+
expect(sidePanel.includeOverlay).toBeFalsy();
|
195
|
+
// try to get the overlay element by class .c4p--side-panel__overlay
|
196
|
+
const overlayElement = (_b = (_a = sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(`.${blockClass}__overlay`)) === null || _b === void 0 ? void 0 : _b[0];
|
197
|
+
// expect the element is not present
|
198
|
+
expect(overlayElement).not.toBeDefined();
|
199
|
+
});
|
200
|
+
it('should call the eventNavigateBack callback', async () => {
|
201
|
+
var _a;
|
202
|
+
const prevStep = () => {
|
203
|
+
var _a;
|
204
|
+
(_a = document
|
205
|
+
.querySelector(`${prefix}-side-panel`)) === null || _a === void 0 ? void 0 : _a.setAttribute('current-step', '1');
|
206
|
+
};
|
207
|
+
const sidePanel = (await fixture(html `<c4p-side-panel
|
208
|
+
?animate-title=${defaultProps.animateTitle}
|
209
|
+
?condensed-actions=${defaultProps.condensedActions}
|
210
|
+
current-step="1"
|
211
|
+
?include-overlay=${defaultProps.includeOverlay && !defaultProps.slideIn}
|
212
|
+
selector-initial-focus=${defaultProps.selectorInitialFocus}
|
213
|
+
label-text="${defaultProps.label}"
|
214
|
+
?open=${defaultProps.open}
|
215
|
+
placement=${defaultProps.placement}
|
216
|
+
?prevent-close-on-click-outside=${defaultProps.preventCloseOnClickOutside}
|
217
|
+
selector-page-content=${defaultProps.selectorPageContent}
|
218
|
+
size=${defaultProps.size}
|
219
|
+
?slide-in=${defaultProps.slideIn}
|
220
|
+
.title=${defaultProps.title}
|
221
|
+
@c4p-side-panel-navigate-back=${prevStep}
|
222
|
+
>${getContent(1)}</<c4p-side-panel`));
|
223
|
+
const backButton = (_a = sidePanel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`.${prefix}--side-panel__navigation-back-button`);
|
224
|
+
// create event listener
|
225
|
+
const eventNavigateBack = oneEvent(sidePanel, sidePanel.constructor.eventNavigateBack);
|
226
|
+
// dispatch the event from click of back button
|
227
|
+
backButton === null || backButton === void 0 ? void 0 : backButton.dispatchEvent(new Event('click'));
|
228
|
+
// expect the detail object of eventNavigateBack method
|
229
|
+
const { detail } = await eventNavigateBack;
|
230
|
+
expect(detail).toBeDefined();
|
231
|
+
});
|
232
|
+
it('should render subtitle text', async () => {
|
233
|
+
const sidePanel = (await fixture(template(defaultProps, getSubTitle(1))));
|
234
|
+
const subTitleText = sidePanel === null || sidePanel === void 0 ? void 0 : sidePanel.querySelector(`.${prefix}--side-panel__subtitle-text`);
|
235
|
+
expect(subTitleText).toBeDefined();
|
236
|
+
});
|
237
|
+
it('should render at least one action item', async () => {
|
238
|
+
const sidePanel = (await fixture(template(defaultProps, getActionItems(1))));
|
239
|
+
const actionItems = sidePanel.querySelectorAll(`.${prefix}--action-set__action-button`);
|
240
|
+
expect(actionItems).toHaveLength(1);
|
241
|
+
});
|
242
|
+
it('should render only 3 action items even if too many items exists', async () => {
|
243
|
+
const sidePanel = (await fixture(template(defaultProps, getActionItems(6))));
|
244
|
+
const actionItems = sidePanel.querySelectorAll(`.${prefix}--action-set__action-button`);
|
245
|
+
expect(actionItems).toHaveLength(3);
|
246
|
+
});
|
247
|
+
afterEach(() => {
|
248
|
+
// Clears the DOM after each test
|
249
|
+
document.body.innerHTML = '';
|
54
250
|
});
|
55
251
|
});
|
56
252
|
//# sourceMappingURL=side-panel.test.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"side-panel.test.js","sources":["../../../src/components/side-panel/side-panel.test.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;AAKG;AAEH,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AAKxE,MAAM,YAAY,GAAG;AACnB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,oBAAoB,EAAE,EAAE;AACxB,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,oBAAoB,CAAC,KAAK;AACrC,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,mBAAmB,EAAE,EAAE;IACvB,IAAI,EAAE,eAAe,CAAC,MAAM;AAC5B,IAAA,KAAK,EAAE,kBAAkB;CAC1B;AAED,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,YAAY,KAAK,IAAI,CAAA;;AAE1B,mBAAA,EAAA,KAAK,CAAC,YAAY;AAChB,qBAAA,EAAA,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO;AAChC,2BAAA,EAAA,KAAK,CAAC,oBAAoB;AACrC,gBAAA,EAAA,KAAK,CAAC,KAAK,CAAA;AACjB,UAAA,EAAA,KAAK,CAAC,IAAI;AACN,cAAA,EAAA,KAAK,CAAC,SAAS;AACO,oCAAA,EAAA,KAAK,CAAC,0BAA0B;AAC1C,0BAAA,EAAA,KAAK,CAAC,mBAAmB;AAC1C,SAAA,EAAA,KAAK,CAAC,IAAI;AACL,cAAA,EAAA,KAAK,CAAC,OAAO;AAChB,WAAA,EAAA,KAAK,CAAC,KAAK;;;;CAIvB;AAED,QAAQ,CAAC,gBAAgB,EAAE,MAAK;AAC9B,IAAA,EAAE,CAAC,4BAA4B,EAAE,YAAW;AAC1C,QAAA,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAuB,CAAC;AACjE,QAAA,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;AAC5B,KAAC,CAAC;AACJ,CAAC,CAAC"}
|
1
|
+
{"version":3,"file":"side-panel.test.js","sources":["../../../src/components/side-panel/side-panel.test.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { css } from 'lit';
|
9
|
+
|
10
|
+
var styles = css([".side-panel-stories__body-content{display:flex;flex-direction:column;gap:1rem;padding:1rem}.side-panel-stories__text-inputs{display:flex;gap:1rem}.side-panel-stories__text-inputs>*{flex-basis:50%}.side-panel-stories__story-container{block-size:100vh;display:grid;grid-template-rows:3rem 1fr;inline-size:100vw;inset-block-start:0;inset-inline-start:0;position:fixed}.side-panel-stories__story-header{background:var(--cds-custom-background-inverse,#393939)}.side-panel-stories__story-content{align-items:center;display:flex;justify-content:center;position:relative}"]);
|
11
|
+
|
12
|
+
export { styles as default };
|
13
|
+
//# sourceMappingURL=story-styles.scss.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"story-styles.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
export declare const getContent: (index: any) => import("lit-html").TemplateResult<1> | null;
|
2
|
+
export declare const getSubTitle: (index: any) => import("lit-html").TemplateResult<1> | null;
|
3
|
+
export declare const getActionToolbarItems: (index: any) => import("lit-html").TemplateResult<1> | null;
|
4
|
+
export declare const getActionItems: (index: any) => import("lit-html").TemplateResult<1> | null;
|
5
|
+
export declare const getSlug: (index: any) => import("lit-html").TemplateResult<1> | null;
|
@@ -1,7 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*/
|
7
|
-
export {};
|
1
|
+
import './index';
|
2
|
+
import '@carbon/web-components/es/components/text-input/index.js';
|
3
|
+
import '@carbon/web-components/es/components/slug/index.js';
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@carbon/ibm-products-web-components",
|
3
3
|
"description": "Carbon for IBM Products Web Components",
|
4
|
-
"version": "0.
|
4
|
+
"version": "0.14.0-rc.0",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"main": "es/index.js",
|
7
7
|
"module": "es/index.js",
|
@@ -17,7 +17,8 @@
|
|
17
17
|
"es/**/*",
|
18
18
|
"es-custom/**/*",
|
19
19
|
"lib/**/*",
|
20
|
-
"scss/**/*"
|
20
|
+
"scss/**/*",
|
21
|
+
"telemetry.yml"
|
21
22
|
],
|
22
23
|
"publishConfig": {
|
23
24
|
"access": "public",
|
@@ -30,7 +31,8 @@
|
|
30
31
|
"./dist/*": "./dist/*",
|
31
32
|
"./scss/*": "./scss/*",
|
32
33
|
"./custom-elements.json": "./custom-elements.json",
|
33
|
-
"./package.json": "./package.json"
|
34
|
+
"./package.json": "./package.json",
|
35
|
+
"./telemetry.yml": "./telemetry.yml"
|
34
36
|
},
|
35
37
|
"keywords": [
|
36
38
|
"carbon",
|
@@ -44,6 +46,7 @@
|
|
44
46
|
"build": "yarn clean && node tasks/build.js && yarn wca",
|
45
47
|
"build:storybook": "storybook build --quiet",
|
46
48
|
"clean": "rimraf es lib scss dist storybook-static",
|
49
|
+
"postinstall": "ibmtelemetry --config=telemetry.yml",
|
47
50
|
"preview": "vite preview",
|
48
51
|
"storybook": "storybook dev -p 3000",
|
49
52
|
"test": "vitest run",
|
@@ -51,9 +54,10 @@
|
|
51
54
|
"coverage": "vitest run --coverage"
|
52
55
|
},
|
53
56
|
"dependencies": {
|
54
|
-
"@carbon/ibm-products-styles": "^2.
|
57
|
+
"@carbon/ibm-products-styles": "^2.61.0-rc.0",
|
55
58
|
"@carbon/styles": "1.75.0",
|
56
59
|
"@carbon/web-components": "2.25.0",
|
60
|
+
"@ibm/telemetry-js": "^1.9.1",
|
57
61
|
"lit": "^3.1.0"
|
58
62
|
},
|
59
63
|
"devDependencies": {
|
@@ -66,7 +70,7 @@
|
|
66
70
|
"@rollup/plugin-alias": "^5.1.1",
|
67
71
|
"@rollup/plugin-commonjs": "^28.0.1",
|
68
72
|
"@rollup/plugin-json": "^6.1.0",
|
69
|
-
"@rollup/plugin-node-resolve": "^
|
73
|
+
"@rollup/plugin-node-resolve": "^16.0.0",
|
70
74
|
"@rollup/plugin-typescript": "^12.1.1",
|
71
75
|
"@storybook/addon-essentials": "^8.6.2",
|
72
76
|
"@storybook/addon-links": "^8.6.2",
|
@@ -85,7 +89,7 @@
|
|
85
89
|
"eslint": "^9.14.0",
|
86
90
|
"eslint-config-carbon": "^3.19.0",
|
87
91
|
"globby": "^14.0.2",
|
88
|
-
"happy-dom": "^
|
92
|
+
"happy-dom": "^17.0.0",
|
89
93
|
"playwright": "^1.51.1",
|
90
94
|
"postcss": "^8.4.47",
|
91
95
|
"remark-gfm": "^4.0.0",
|
@@ -98,8 +102,9 @@
|
|
98
102
|
"tslib": "^2.8.1",
|
99
103
|
"typescript": "^5.5.3",
|
100
104
|
"vite": "^6.0.3",
|
105
|
+
"vite-tsconfig-paths": "^5.1.4",
|
101
106
|
"vitest": "^3.0.1",
|
102
107
|
"web-component-analyzer": "2.0.0"
|
103
108
|
},
|
104
|
-
"gitHead": "
|
109
|
+
"gitHead": "1ae84b1d3e24190c7235618e084dc950a1cc8842"
|
105
110
|
}
|
package/telemetry.yml
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# yaml-language-server: $schema=https://unpkg.com/@ibm/telemetry-config-schema@v1/dist/config.schema.json
|
2
|
+
version: 1
|
3
|
+
projectId: 8a79d901-a9c0-4672-94a4-fa8eea139832
|
4
|
+
endpoint: 'https://www-api.ibm.com/ibm-telemetry/v1/metrics'
|
5
|
+
collect:
|
6
|
+
npm:
|
7
|
+
dependencies: null
|
8
|
+
js:
|
9
|
+
functions: {}
|
10
|
+
tokens: null
|