@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.
@@ -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
- protected getStyles(): import("lit").CSSResult;
15
+ static styles: import("lit").CSSResult;
16
16
  icon: string;
17
17
  label: string;
18
18
  active: boolean;
19
- protected getTemplate(): import("lit-html").TemplateResult<1>;
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 { customElement, designSystemVariables, FtCssVariable, FtLitElement } from "@fluid-topics/ft-wc-utils";
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 { Icon } from "@material/mwc-icon";
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
- let FtAccordionItem = class FtAccordionItem extends FtLitElement {
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
- // language=CSS
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
- <mwc-icon>${this.icon}</mwc-icon>
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
- <mwc-icon>${this.active ? "expand_less" : "expand_more"}</mwc-icon>
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
- "mwc-icon": Icon,
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
@@ -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
- protected getStyles(): import("lit").CSSResult;
8
+ static styles: import("lit").CSSResult;
10
9
  multi: boolean;
11
10
  private content;
12
- protected getTemplate(): import("lit-html").TemplateResult<1>;
11
+ protected render(): import("lit-html").TemplateResult<1>;
13
12
  private onChange;
14
13
  }
15
14
  //# sourceMappingURL=ft-accordion.d.ts.map