@fluid-topics/ft-accordion 0.1.16 → 0.2.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/build/ft-accordion-item.d.ts +2 -2
- package/build/ft-accordion-item.js +51 -57
- package/build/ft-accordion.d.ts +2 -3
- package/build/ft-accordion.inline-styles.js +417 -0
- package/build/ft-accordion.js +10 -17
- package/build/ft-accordion.light.js +259 -308
- package/build/ft-accordion.min.js +291 -330
- package/build/index.d.ts +3 -0
- package/build/index.js +8 -0
- package/build/inline-styles.d.ts +2 -0
- package/build/inline-styles.js +6 -0
- package/package.json +8 -8
|
@@ -12,11 +12,11 @@ export declare const FtAccordionItemCssVariables: {
|
|
|
12
12
|
};
|
|
13
13
|
export declare class FtAccordionItem extends FtLitElement implements FtAccordionItemProperties {
|
|
14
14
|
static elementDefinitions: ElementDefinitionsMap;
|
|
15
|
-
|
|
15
|
+
static styles: import("lit").CSSResult;
|
|
16
16
|
icon: string;
|
|
17
17
|
label: string;
|
|
18
18
|
active: boolean;
|
|
19
|
-
protected
|
|
19
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
20
20
|
protected update(props: PropertyValues): void;
|
|
21
21
|
private onToggleKeyDown;
|
|
22
22
|
}
|
|
@@ -6,68 +6,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { css, html } from "lit";
|
|
8
8
|
import { property } from "lit/decorators.js";
|
|
9
|
-
import {
|
|
9
|
+
import { designSystemVariables, FtCssVariable, FtLitElement } from "@fluid-topics/ft-wc-utils";
|
|
10
10
|
import { FtRipple } from "@fluid-topics/ft-ripple";
|
|
11
11
|
import { FtTypography } from "@fluid-topics/ft-typography";
|
|
12
|
-
import {
|
|
12
|
+
import { FtIcon } from "@fluid-topics/ft-icon";
|
|
13
13
|
export const FtAccordionItemCssVariables = {
|
|
14
14
|
horizontalSpacing: FtCssVariable.create("--ft-accordion-toggle-horizontal-spacing", "SIZE", "16px"),
|
|
15
15
|
verticalSpacing: FtCssVariable.create("--ft-accordion-toggle-vertical-spacing", "SIZE", "16px"),
|
|
16
16
|
colorOutline: FtCssVariable.external(designSystemVariables.colorOutline, "Design system"),
|
|
17
17
|
};
|
|
18
|
-
|
|
18
|
+
export class FtAccordionItem extends FtLitElement {
|
|
19
19
|
constructor() {
|
|
20
20
|
super(...arguments);
|
|
21
21
|
this.icon = "";
|
|
22
22
|
this.label = "";
|
|
23
23
|
this.active = false;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
getStyles() {
|
|
27
|
-
return css `
|
|
28
|
-
.ft-accordion-item {
|
|
29
|
-
display: flex;
|
|
30
|
-
flex-direction: column;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.ft-accordion-item--toggle {
|
|
34
|
-
flex-shrink: 0;
|
|
35
|
-
flex-grow: 0;
|
|
36
|
-
position: relative;
|
|
37
|
-
display: flex;
|
|
38
|
-
align-items: center;
|
|
39
|
-
cursor: pointer;
|
|
40
|
-
padding: ${FtAccordionItemCssVariables.verticalSpacing} ${FtAccordionItemCssVariables.horizontalSpacing};
|
|
41
|
-
gap: calc(${FtAccordionItemCssVariables.horizontalSpacing} / 2);
|
|
42
|
-
outline: none;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.ft-accordion-item--label {
|
|
46
|
-
flex-grow: 1;
|
|
47
|
-
flex-shrink: 1;
|
|
48
|
-
display: block;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.ft-accordion-item--content {
|
|
52
|
-
box-sizing: border-box;
|
|
53
|
-
flex-shrink: 1;
|
|
54
|
-
flex-grow: 1;
|
|
55
|
-
overflow: hidden;
|
|
56
|
-
height: 0;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.ft-accordion-item--active .ft-accordion-item--content {
|
|
60
|
-
height: initial;
|
|
61
|
-
overflow: visible;
|
|
62
|
-
padding: ${FtAccordionItemCssVariables.verticalSpacing} ${FtAccordionItemCssVariables.horizontalSpacing};
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.ft-accordion-item--separator {
|
|
66
|
-
border-bottom: 1px solid ${FtAccordionItemCssVariables.colorOutline};
|
|
67
|
-
}
|
|
68
|
-
`;
|
|
69
|
-
}
|
|
70
|
-
getTemplate() {
|
|
25
|
+
render() {
|
|
71
26
|
return html `
|
|
72
27
|
<div class="ft-accordion-item ${this.active ? "ft-accordion-item--active" : ""}">
|
|
73
28
|
<div class="ft-accordion-item--toggle"
|
|
@@ -77,7 +32,7 @@ let FtAccordionItem = class FtAccordionItem extends FtLitElement {
|
|
|
77
32
|
tabindex="0">
|
|
78
33
|
<ft-ripple part="toggle-ripple"></ft-ripple>
|
|
79
34
|
${this.icon ? html `
|
|
80
|
-
<
|
|
35
|
+
<ft-icon variant="material">${this.icon}</ft-icon>
|
|
81
36
|
` : null}
|
|
82
37
|
${this.label ? html `
|
|
83
38
|
<ft-typography class="ft-accordion-item--label" variant="body1" part="label">${this.label}
|
|
@@ -85,7 +40,7 @@ let FtAccordionItem = class FtAccordionItem extends FtLitElement {
|
|
|
85
40
|
` : html `
|
|
86
41
|
<slot class="ft-accordion-item--label" name="toggle" part="label"></slot>
|
|
87
42
|
`}
|
|
88
|
-
<
|
|
43
|
+
<ft-icon variant="material">${this.active ? "expand_less" : "expand_more"}</ft-icon>
|
|
89
44
|
</div>
|
|
90
45
|
<div class="ft-accordion-item--content" part="content" @focusin=${() => this.active = true}>
|
|
91
46
|
<slot></slot>
|
|
@@ -106,12 +61,55 @@ let FtAccordionItem = class FtAccordionItem extends FtLitElement {
|
|
|
106
61
|
this.active = !this.active;
|
|
107
62
|
}
|
|
108
63
|
}
|
|
109
|
-
}
|
|
64
|
+
}
|
|
110
65
|
FtAccordionItem.elementDefinitions = {
|
|
111
66
|
"ft-ripple": FtRipple,
|
|
112
67
|
"ft-typography": FtTypography,
|
|
113
|
-
"
|
|
68
|
+
"ft-icon": FtIcon,
|
|
114
69
|
};
|
|
70
|
+
// language=CSS
|
|
71
|
+
FtAccordionItem.styles = css `
|
|
72
|
+
.ft-accordion-item {
|
|
73
|
+
display: flex;
|
|
74
|
+
flex-direction: column;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.ft-accordion-item--toggle {
|
|
78
|
+
flex-shrink: 0;
|
|
79
|
+
flex-grow: 0;
|
|
80
|
+
position: relative;
|
|
81
|
+
display: flex;
|
|
82
|
+
align-items: center;
|
|
83
|
+
cursor: pointer;
|
|
84
|
+
padding: ${FtAccordionItemCssVariables.verticalSpacing} ${FtAccordionItemCssVariables.horizontalSpacing};
|
|
85
|
+
gap: calc(${FtAccordionItemCssVariables.horizontalSpacing} / 2);
|
|
86
|
+
outline: none;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.ft-accordion-item--label {
|
|
90
|
+
flex-grow: 1;
|
|
91
|
+
flex-shrink: 1;
|
|
92
|
+
display: block;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.ft-accordion-item--content {
|
|
96
|
+
box-sizing: border-box;
|
|
97
|
+
flex-shrink: 1;
|
|
98
|
+
flex-grow: 1;
|
|
99
|
+
overflow: hidden;
|
|
100
|
+
height: 0;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.ft-accordion-item--active .ft-accordion-item--content {
|
|
104
|
+
height: initial;
|
|
105
|
+
overflow: visible;
|
|
106
|
+
padding: ${FtAccordionItemCssVariables.verticalSpacing} ${FtAccordionItemCssVariables.horizontalSpacing};
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.ft-accordion-item--separator {
|
|
110
|
+
border-bottom: 1px solid ${FtAccordionItemCssVariables.colorOutline};
|
|
111
|
+
}
|
|
112
|
+
`;
|
|
115
113
|
__decorate([
|
|
116
114
|
property({ type: String })
|
|
117
115
|
], FtAccordionItem.prototype, "icon", void 0);
|
|
@@ -121,8 +119,4 @@ __decorate([
|
|
|
121
119
|
__decorate([
|
|
122
120
|
property({ type: Boolean, reflect: true })
|
|
123
121
|
], FtAccordionItem.prototype, "active", void 0);
|
|
124
|
-
FtAccordionItem = __decorate([
|
|
125
|
-
customElement("ft-accordion-item")
|
|
126
|
-
], FtAccordionItem);
|
|
127
|
-
export { FtAccordionItem };
|
|
128
122
|
//# sourceMappingURL=ft-accordion-item.js.map
|
package/build/ft-accordion.d.ts
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { ElementDefinitionsMap, FtLitElement } from "@fluid-topics/ft-wc-utils";
|
|
2
|
-
export * from "./ft-accordion-item";
|
|
3
2
|
export interface FtAccordionProperties {
|
|
4
3
|
multi?: boolean;
|
|
5
4
|
}
|
|
6
5
|
export declare const FtAccordionCssVariables: {};
|
|
7
6
|
export declare class FtAccordion extends FtLitElement implements FtAccordionProperties {
|
|
8
7
|
static elementDefinitions: ElementDefinitionsMap;
|
|
9
|
-
|
|
8
|
+
static styles: import("lit").CSSResult;
|
|
10
9
|
multi: boolean;
|
|
11
10
|
private content;
|
|
12
|
-
protected
|
|
11
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
13
12
|
private onChange;
|
|
14
13
|
}
|
|
15
14
|
//# sourceMappingURL=ft-accordion.d.ts.map
|