[go: nahoru, domu]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(vwc-accordion): viv-388 accordion #683

Merged
merged 41 commits into from
May 23, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
e44c5ac
add expansion-panel-list bare-bones
JoelGraham93 Feb 26, 2021
c6d045b
add multi support and open close methods
JoelGraham93 Feb 26, 2021
a47a4ca
add tests
JoelGraham93 Feb 26, 2021
71a6596
Merge branch 'master' into viv-388-expansion-panel-list
yinonov Mar 1, 2021
111440c
Merge branch 'master' into viv-388-expansion-panel-list
yinonov Mar 15, 2021
4d991fb
Merge branch 'master' into viv-388-expansion-panel-list
yinonov Mar 30, 2021
0ef7f67
Merge branch 'master' into viv-388-expansion-panel-list
JoelGraham93 Mar 31, 2021
4c589b2
lint fixes
JoelGraham93 Mar 31, 2021
8b0d1be
change openAll to prop
JoelGraham93 Mar 31, 2021
6b8447b
update tests
JoelGraham93 Mar 31, 2021
1e650cf
Merge branch 'master' into viv-388-expansion-panel-list
yinonov Apr 1, 2021
0acbe7e
Merge branch 'master' into viv-388-expansion-panel-list
yinonov Apr 1, 2021
39db549
Merge branch 'master' into viv-388-expansion-panel-list
yinonov Apr 2, 2021
8fbd163
Merge branch 'master' into viv-388-expansion-panel-list
yinonov Apr 3, 2021
6fd0a2c
Merge branch 'master' into viv-388-expansion-panel-list
yinonov Apr 25, 2021
fcfe078
Merge branch 'master' into viv-388-expansion-panel-list
JoelGraham93 Apr 27, 2021
df562eb
rename expansion-panel-list to accordion
JoelGraham93 Apr 27, 2021
1498fdb
split accordion and expansion-panel packages
JoelGraham93 Apr 27, 2021
040a733
prevent icon overriding toggle
JoelGraham93 Apr 27, 2021
80cd6e6
remove unused deps
JoelGraham93 Apr 27, 2021
96704dd
add indicator icon set prop
JoelGraham93 Apr 27, 2021
36e38a6
update tests
JoelGraham93 Apr 27, 2021
6c4814a
Merge branch 'master' into viv-388-expansion-panel-list
JoelGraham93 Apr 28, 2021
6a3d110
add leadingToggle prop
JoelGraham93 Apr 28, 2021
faa8e11
Merge branch 'master' into viv-388-expansion-panel-list
yinonov Apr 29, 2021
acb7fe2
Merge branch 'master' into viv-388-expansion-panel-list
JoelGraham93 May 3, 2021
c9db3f2
update stories
JoelGraham93 May 3, 2021
7a0ba18
update padding
JoelGraham93 May 3, 2021
33ea7c7
Merge branch 'master' into viv-388-expansion-panel-list
JoelGraham93 May 5, 2021
b1d743e
update package version
JoelGraham93 May 5, 2021
e2e18c9
Merge branch 'master' into viv-388-expansion-panel-list
JoelGraham93 May 7, 2021
2ba4f2c
update accordion dep versions
JoelGraham93 May 7, 2021
aa72405
Merge branch 'master' into viv-388-expansion-panel-list
JoelGraham93 May 10, 2021
609c881
Merge branch 'master' into viv-388-expansion-panel-list
yinonov May 12, 2021
95e080a
Merge branch 'master' into viv-388-expansion-panel-list
yinonov May 14, 2021
5c13a4c
Merge branch 'master' into viv-388-expansion-panel-list
JoelGraham93 May 16, 2021
397ee17
Merge branch 'master' into viv-388-expansion-panel-list
JoelGraham93 May 18, 2021
0c0e1f7
update dep versions
JoelGraham93 May 18, 2021
b966df0
Merge branch 'master' into viv-388-expansion-panel-list
JoelGraham93 May 21, 2021
f9ef63a
update package version
JoelGraham93 May 21, 2021
ccd6777
fix test
JoelGraham93 May 21, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add tests
  • Loading branch information
JoelGraham93 committed Feb 26, 2021
commit a47a4ca10e2f14abb09ae48860fadb78d81c5ebc
12 changes: 12 additions & 0 deletions __snapshots__/expansion panel list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# `expansion panel list`

#### `should have internal contents`

```html
<div class="expansion-panel-list">
<slot>
</slot>
</div>

```

Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
import { LitElement, property } from 'lit-element';
import { VWCExpansionPanelBase } from './vwc-expansion-panel-base.js';

/* TODO
* - add nested panel support
* - verify items in expansionPanels list
*/

export abstract class VWCExpansionPanelListBase extends LitElement {
@property({ type: Boolean, reflect: true })
multi = false;
Expand Down
68 changes: 68 additions & 0 deletions components/expansion-panel/test/expansion-panel-list.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import '../vwc-expansion-panel.js';
import '../vwc-expansion-panel-list.js';
import {
textToDomToParent,
waitNextTask,
isolatedElementsCreation,
} from '../../../test/test-helpers.js';
import { chaiDomDiff } from '@open-wc/semantic-dom-diff';

chai.use(chaiDomDiff);

const COMPONENT_NAME = 'vwc-expansion-panel-list';

describe('expansion panel list', () => {
let addElement = isolatedElementsCreation();

it('should be defined as a custom element', () => {
assert.exists(
customElements.get(COMPONENT_NAME, 'vwc-expansion-panel-list element is not defined')
);
});

it('should have internal contents', async () => {
const [actualElement] = addElement(
textToDomToParent(`
<${COMPONENT_NAME}></${COMPONENT_NAME}>
`)
);
await waitNextTask();
expect(actualElement.shadowRoot.innerHTML).to.equalSnapshot();
});

describe(`expansion panel visibility`, function () {
let actualElement;
beforeEach(async () => {
[actualElement] = addElement(
textToDomToParent(`
<${COMPONENT_NAME}>
<vwc-expansion-panel header="panel 1" open></vwc-expansion-panel>
<vwc-expansion-panel header="panel 2" open></vwc-expansion-panel>
<vwc-expansion-panel header="panel 3"></vwc-expansion-panel>
<vwc-expansion-panel header="panel 3"></vwc-expansion-panel>
</${COMPONENT_NAME}>
`)
);
await waitNextTask();
});

it('should only allow one expansion panel open at a time', async () => {
const openExpansionPanels = actualElement.getOpened();
expect(openExpansionPanels.length).to.equal(1)
});

it('should allow multiple expansion panels open when set to multi', async () => {
actualElement.multi = true;
await waitNextTask();
actualElement.openAll();
const openExpansionPanels = actualElement.getOpened();
expect(openExpansionPanels.length).to.equal(4)
});

it('should have all expansion panels closed', async () => {
actualElement.closeAll();
const openExpansionPanels = actualElement.getOpened();
expect(openExpansionPanels.length).to.equal(0)
});
});
});