@fluid-topics/ft-button 1.1.85 → 1.1.86

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.
@@ -1,13 +1,18 @@
1
1
  import { FtBaseButton } from "./ft-base-button";
2
2
  import { FtdsButtonProperties } from "./ftds-button.properties";
3
3
  import { ClassInfo } from "lit/directives/class-map.js";
4
- export declare class FtdsButton extends FtBaseButton implements FtdsButtonProperties {
4
+ import { DesignSystemFamily } from "@fluid-topics/design-system-variables";
5
+ import { FtIconVariants } from "@fluid-topics/ft-icon";
6
+ declare const FtdsButton_base: import("@fluid-topics/ft-wc-utils").FtdsBaseType<typeof FtBaseButton>;
7
+ export declare class FtdsButton extends FtdsButton_base implements FtdsButtonProperties {
5
8
  primary: boolean;
6
9
  secondary: boolean;
7
10
  tertiary: boolean;
8
- neutral: boolean;
9
- small: boolean;
11
+ round: boolean;
12
+ family: DesignSystemFamily;
13
+ iconVariant: FtIconVariants;
10
14
  static styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
11
15
  get buttonClasses(): ClassInfo;
12
16
  get typographyVariant(): string;
13
17
  }
18
+ export {};
@@ -7,35 +7,44 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { FtBaseButton } from "./ft-base-button";
8
8
  import { property } from "lit/decorators.js";
9
9
  import { FtTypographyVariants } from "@fluid-topics/ft-typography/build/ft-typography.properties";
10
- import { safariEllipsisFix } from "@fluid-topics/ft-wc-utils";
10
+ import { safariEllipsisFix, toFtdsBase } from "@fluid-topics/ft-wc-utils";
11
11
  import { designSystemStyles } from "./ftds-button.styles";
12
- class FtdsButton extends FtBaseButton {
12
+ import { DesignSystemFamily, DesignSystemSize } from "@fluid-topics/design-system-variables";
13
+ import { FtIconVariants } from "@fluid-topics/ft-icon";
14
+ class FtdsButton extends toFtdsBase(FtBaseButton) {
13
15
  constructor() {
14
16
  super(...arguments);
15
17
  this.primary = false;
16
18
  this.secondary = false;
17
19
  this.tertiary = false;
18
- this.neutral = false;
19
- this.small = false;
20
+ this.round = false;
21
+ this.family = DesignSystemFamily.brand;
22
+ this.iconVariant = FtIconVariants.fluid_topics;
20
23
  }
21
24
  get buttonClasses() {
22
25
  return {
23
26
  "ft-button": true,
24
27
  "ft-button--primary": this.primary,
25
28
  "ft-button--secondary": this.secondary,
26
- "ft-button--tertiary": this.tertiary || (!this.primary && !this.secondary && !this.neutral),
27
- "ft-button--neutral": this.neutral,
28
- "ft-button--large": !this.small,
29
- "ft-button--small": this.small,
29
+ "ft-button--tertiary": this.tertiary || (!this.primary && !this.secondary),
30
30
  "ft-button--icon-only": !this.hasTextContent(),
31
31
  "ft-button--trailing-icon": this.trailingIcon,
32
32
  "ft-button--loading": this.trailingIcon,
33
33
  "ft-no-text-select": true,
34
34
  "ft-button--no-icon": !this.icon,
35
+ "ft-button--round": this.round,
36
+ ...this.getDesignSystemBaseClasses()
35
37
  };
36
38
  }
37
39
  get typographyVariant() {
38
- return this.small ? FtTypographyVariants.caption1medium : FtTypographyVariants.body2medium;
40
+ switch (this.size) {
41
+ case DesignSystemSize.large:
42
+ return FtTypographyVariants.body2medium;
43
+ case DesignSystemSize.medium:
44
+ return FtTypographyVariants.caption1medium;
45
+ case DesignSystemSize.small:
46
+ return FtTypographyVariants.caption2medium;
47
+ }
39
48
  }
40
49
  }
41
50
  FtdsButton.styles = [
@@ -53,8 +62,5 @@ __decorate([
53
62
  ], FtdsButton.prototype, "tertiary", void 0);
54
63
  __decorate([
55
64
  property({ type: Boolean })
56
- ], FtdsButton.prototype, "neutral", void 0);
57
- __decorate([
58
- property({ type: Boolean })
59
- ], FtdsButton.prototype, "small", void 0);
65
+ ], FtdsButton.prototype, "round", void 0);
60
66
  export { FtdsButton };
@@ -83,6 +83,11 @@ export const designSystemStyles = [
83
83
  display: none;
84
84
  }
85
85
 
86
+ .ft-button.ft-button--icon-only {
87
+ padding: unset;
88
+ border-radius: 50%;
89
+ }
90
+
86
91
  /** Primary styles **/
87
92
 
88
93
  .ft-button--primary {
@@ -158,7 +163,7 @@ export const designSystemStyles = [
158
163
 
159
164
  /** Neutral styles **/
160
165
 
161
- .ft-button--neutral {
166
+ .ftds--family-neutral {
162
167
  ${setVariable(FtLoaderCssVariables.color, button.neutralIconColor)};
163
168
 
164
169
  ${setVariable(FtRippleCssVariables.backgroundColor, button.neutralStateLayerColor)};
@@ -172,17 +177,17 @@ export const designSystemStyles = [
172
177
  border-style: none;
173
178
  }
174
179
 
175
- .ft-button--neutral[disabled] {
180
+ .ftds--family-neutral[disabled] {
176
181
  opacity: ${button.neutralDisabledComponentOpacity};
177
182
  }
178
183
 
179
- .ft-button--neutral ft-icon {
184
+ .ftds--family-neutral ft-icon {
180
185
  color: ${button.neutralIconColor};
181
186
  }
182
187
 
183
188
  /** Large styles **/
184
189
 
185
- .ft-button--large {
190
+ .ftds--size-large {
186
191
  ${setVariable(FtIconCssVariables.size, button.largeIconSize)};
187
192
  ${setVariable(FtLoaderCssVariables.size, button.largeIconSize)};
188
193
 
@@ -193,19 +198,41 @@ export const designSystemStyles = [
193
198
  border-width: ${button.largeBorderWidth};
194
199
  }
195
200
 
196
- .ft-button--large:focus-visible {
201
+ .ftds--size-large:focus-visible {
197
202
  outline-width: ${button.largeFocusOutlineWidth};
198
203
  outline-offset: ${button.largeFocusOutlineOffset};
199
204
  }
200
205
 
201
- .ft-button--large.ft-button--icon-only {
206
+ .ftds--size-large.ft-button--icon-only {
202
207
  width: ${button.largeIconOnlyWidth};
203
- padding: unset;
204
208
  }
205
209
 
206
210
  /** Small styles **/
207
211
 
208
- .ft-button--small {
212
+ .ftds--size-medium {
213
+ ${setVariable(FtIconCssVariables.size, button.mediumIconSize)};
214
+ ${setVariable(FtLoaderCssVariables.size, button.mediumIconSize)};
215
+
216
+ height: ${button.mediumHeight};
217
+ padding: 0 ${button.mediumHorizontalPadding};
218
+ gap: ${button.mediumGap};
219
+ border-radius: ${button.mediumBorderRadius};
220
+ border-width: ${button.mediumBorderWidth};
221
+ }
222
+
223
+ .ftds--size-medium:focus-visible {
224
+ outline-width: ${button.mediumFocusOutlineWidth};
225
+ outline-offset: ${button.mediumFocusOutlineOffset};
226
+ }
227
+
228
+ .ftds--size-medium.ft-button--icon-only {
229
+ width: ${button.mediumIconOnlyWidth};
230
+ }
231
+
232
+
233
+ /** Small styles **/
234
+
235
+ .ftds--size-small {
209
236
  ${setVariable(FtIconCssVariables.size, button.smallIconSize)};
210
237
  ${setVariable(FtLoaderCssVariables.size, button.smallIconSize)};
211
238
 
@@ -216,14 +243,13 @@ export const designSystemStyles = [
216
243
  border-width: ${button.smallBorderWidth};
217
244
  }
218
245
 
219
- .ft-button--small:focus-visible {
246
+ .ftds--size-small:focus-visible {
220
247
  outline-width: ${button.smallFocusOutlineWidth};
221
248
  outline-offset: ${button.smallFocusOutlineOffset};
222
249
  }
223
250
 
224
- .ft-button--small.ft-button--icon-only {
251
+ .ftds--size-small.ft-button--icon-only {
225
252
  width: ${button.smallIconOnlyWidth};
226
- padding: unset;
227
253
  }
228
254
  `,
229
255
  noTextSelect
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-button",
3
- "version": "1.1.85",
3
+ "version": "1.1.86",
4
4
  "description": "A generic Fluid Topics tag",
5
5
  "keywords": [
6
6
  "Lit"
@@ -19,14 +19,14 @@
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/design-system-variables": "0.0.24",
23
- "@fluid-topics/ft-icon": "1.1.85",
24
- "@fluid-topics/ft-loader": "1.1.85",
25
- "@fluid-topics/ft-ripple": "1.1.85",
26
- "@fluid-topics/ft-tooltip": "1.1.85",
27
- "@fluid-topics/ft-typography": "1.1.85",
28
- "@fluid-topics/ft-wc-utils": "1.1.85",
22
+ "@fluid-topics/design-system-variables": "0.0.28",
23
+ "@fluid-topics/ft-icon": "1.1.86",
24
+ "@fluid-topics/ft-loader": "1.1.86",
25
+ "@fluid-topics/ft-ripple": "1.1.86",
26
+ "@fluid-topics/ft-tooltip": "1.1.86",
27
+ "@fluid-topics/ft-typography": "1.1.86",
28
+ "@fluid-topics/ft-wc-utils": "1.1.86",
29
29
  "lit": "3.1.0"
30
30
  },
31
- "gitHead": "7f23fb0e267fb0bcdd20de5b2fb39ab5940983d5"
31
+ "gitHead": "60d49f4812a4175a83e64c61f8ccbdd7c2b5b2e9"
32
32
  }