@fluid-topics/ft-radio 1.3.15 → 1.3.16

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.
@@ -6,4 +6,4 @@ export declare const FtRadioCssVariables: {
6
6
  borderColor: import("@fluid-topics/ft-wc-utils").FtCssVariable;
7
7
  colorOnSurfaceDisabled: import("@fluid-topics/ft-wc-utils").FtCssVariable;
8
8
  };
9
- export declare const styles: import("lit").CSSResult;
9
+ export declare const classicStyles: import("lit").CSSResult;
@@ -10,7 +10,7 @@ export const FtRadioCssVariables = {
10
10
  colorOnSurfaceDisabled: FtCssVariableFactory.external(designSystemVariables.colorOnSurfaceDisabled, "Design system"),
11
11
  };
12
12
  // language=CSS
13
- export const styles = css `
13
+ export const classicStyles = css `
14
14
  * {
15
15
  box-sizing: border-box;
16
16
  }
@@ -0,0 +1,8 @@
1
+ import { FtBaseRadioGroup, FtBaseRadioGroupProperties } from "./ft-base-radio-group";
2
+ import { DesignSystemFamily } from "@fluid-topics/design-system-variables";
3
+ declare const FtdsRadioGroup_base: import("@fluid-topics/ft-wc-utils").FtdsBaseType<typeof FtBaseRadioGroup>;
4
+ export declare class FtdsRadioGroup extends FtdsRadioGroup_base implements FtBaseRadioGroupProperties {
5
+ family: DesignSystemFamily;
6
+ static styles: import("lit").CSSResult[];
7
+ }
8
+ export {};
@@ -0,0 +1,15 @@
1
+ import { FtBaseRadioGroup } from "./ft-base-radio-group";
2
+ import { safariEllipsisFix, toFtdsBase } from "@fluid-topics/ft-wc-utils";
3
+ import { designSystemGroupStyles } from "./ftds-radio-group.styles";
4
+ import { DesignSystemFamily } from "@fluid-topics/design-system-variables";
5
+ class FtdsRadioGroup extends toFtdsBase(FtBaseRadioGroup) {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.family = DesignSystemFamily.brand;
9
+ }
10
+ }
11
+ FtdsRadioGroup.styles = [
12
+ safariEllipsisFix,
13
+ designSystemGroupStyles,
14
+ ];
15
+ export { FtdsRadioGroup };
@@ -0,0 +1 @@
1
+ export declare const designSystemGroupStyles: import("lit").CSSResult;
@@ -0,0 +1,13 @@
1
+ import { css } from "lit";
2
+ import { radio } from "@fluid-topics/ft-wc-utils";
3
+ export const designSystemGroupStyles = css `
4
+ :host {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: ${radio.verticalGap}
8
+ }
9
+
10
+ :host(:focus-visible) {
11
+ outline: none;
12
+ }
13
+ `;
@@ -0,0 +1,11 @@
1
+ import { FtBaseRadio, FtBaseRadioProperties } from "./ft-base-radio";
2
+ import { ClassInfo } from "lit/directives/class-map.js";
3
+ import { DesignSystemFamily } from "@fluid-topics/design-system-variables";
4
+ declare const FtdsRadio_base: import("@fluid-topics/ft-wc-utils").FtdsBaseType<typeof FtBaseRadio>;
5
+ export declare class FtdsRadio extends FtdsRadio_base implements FtBaseRadioProperties {
6
+ family: DesignSystemFamily;
7
+ static styles: import("lit").CSSResult[];
8
+ get radioClasses(): ClassInfo;
9
+ get typographyVariant(): string;
10
+ }
11
+ export {};
@@ -0,0 +1,25 @@
1
+ import { FtBaseRadio } from "./ft-base-radio";
2
+ import { FtTypographyVariants } from "@fluid-topics/ft-typography/build/ft-typography.properties";
3
+ import { safariEllipsisFix, toFtdsBase } from "@fluid-topics/ft-wc-utils";
4
+ import { designSystemStyles } from "./ftds-radio.styles";
5
+ import { DesignSystemFamily } from "@fluid-topics/design-system-variables";
6
+ class FtdsRadio extends toFtdsBase(FtBaseRadio) {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.family = DesignSystemFamily.brand;
10
+ }
11
+ get radioClasses() {
12
+ return {
13
+ ...super.radioClasses,
14
+ ...this.getDesignSystemBaseClasses(),
15
+ };
16
+ }
17
+ get typographyVariant() {
18
+ return FtTypographyVariants.body2medium;
19
+ }
20
+ }
21
+ FtdsRadio.styles = [
22
+ safariEllipsisFix,
23
+ designSystemStyles,
24
+ ];
25
+ export { FtdsRadio };
@@ -0,0 +1,3 @@
1
+ import { radio } from "@fluid-topics/ft-wc-utils";
2
+ export { radio as FtdsRadioCssVariables };
3
+ export declare const designSystemStyles: import("lit").CSSResult;
@@ -0,0 +1,113 @@
1
+ import { css } from "lit";
2
+ import { radio, setVariable } from "@fluid-topics/ft-wc-utils";
3
+ import { FtRippleCssVariables } from "@fluid-topics/ft-ripple";
4
+ export { radio as FtdsRadioCssVariables };
5
+ export const designSystemStyles = css `
6
+ * {
7
+ box-sizing: border-box;
8
+ --input-size: calc(${radio.circleSize} + 2 * (${radio.focusOutlineOffset} + ${radio.focusOutlineWidth}));
9
+ --input-margin: calc(-1 * ${radio.focusOutlineOffset} - ${radio.focusOutlineWidth});
10
+ }
11
+
12
+ .ft-radio {
13
+ box-sizing: border-box;
14
+ color: ${radio.color};
15
+
16
+ display: inline-flex;
17
+ align-items: center;
18
+ gap: ${radio.horizontalGap};
19
+ }
20
+
21
+ .ft-radio--disabled:not(.ft-radio--checked) {
22
+ opacity: ${radio.unselectedDisabledComponentOpacity}
23
+ }
24
+
25
+ .ft-radio--disabled.ft-radio--checked {
26
+ opacity: ${radio.selectedDisabledComponentOpacity}
27
+ }
28
+
29
+ input {
30
+ opacity: 0;
31
+ position: absolute;
32
+ width: var(--input-size);
33
+ height: var(--input-size);
34
+ margin: 0;
35
+ }
36
+
37
+ .ft-radio--box-container {
38
+ position: relative;
39
+ width: var(--input-size);
40
+ height: var(--input-size);
41
+ margin: var(--input-margin);
42
+
43
+ display: flex;
44
+ justify-content: center;
45
+ align-items: center;
46
+ flex-shrink: 0;
47
+ }
48
+
49
+ .ft-radio ft-ripple {
50
+ z-index: 0;
51
+ ${setVariable(FtRippleCssVariables.color, radio.unselectedStateLayerColor)};
52
+ ${setVariable(FtRippleCssVariables.backgroundColor, radio.unselectedStateLayerColor)};
53
+ ${setVariable(FtRippleCssVariables.opacityContentOnSurfaceHover, radio.unselectedHoverStateLayerOpacity)};
54
+ ${setVariable(FtRippleCssVariables.opacityContentOnSurfaceFocused, radio.unselectedFocusStateLayerOpacity)};
55
+ ${setVariable(FtRippleCssVariables.opacityContentOnSurfacePressed, radio.unselectedActiveStateLayerOpacity)};
56
+ }
57
+
58
+ .ft-radio--checked ft-ripple {
59
+ ${setVariable(FtRippleCssVariables.color, radio.selectedStateLayerColor)};
60
+ ${setVariable(FtRippleCssVariables.backgroundColor, radio.selectedStateLayerColor)};
61
+ ${setVariable(FtRippleCssVariables.opacityContentOnSurfaceHover, radio.selectedHoverStateLayerOpacity)};
62
+ ${setVariable(FtRippleCssVariables.opacityContentOnSurfaceFocused, radio.selectedFocusStateLayerOpacity)};
63
+ ${setVariable(FtRippleCssVariables.opacityContentOnSurfacePressed, radio.selectedActiveStateLayerOpacity)};
64
+ }
65
+
66
+ .ft-radio--box {
67
+ z-index: 1;
68
+ border: 2px solid ${radio.unselectedBorderColor};
69
+ border-radius: 50%;
70
+
71
+ display: flex;
72
+ justify-content: center;
73
+ align-items: center;
74
+
75
+ width: ${radio.circleSize};
76
+ height: ${radio.circleSize};
77
+ }
78
+
79
+ .ft-radio--box:after {
80
+ content: " ";
81
+ background-color: ${radio.selectedRadioColor};
82
+
83
+ border-radius: 50%;
84
+
85
+ width: calc(${radio.circleSize} - 8px);
86
+ height: calc(${radio.circleSize} - 8px);
87
+
88
+ transform: scale(0);
89
+ transition: transform 100ms ease;
90
+ }
91
+
92
+ .ft-radio--checked .ft-radio--box {
93
+ border-color: ${radio.selectedRadioColor};
94
+ }
95
+
96
+
97
+ .ft-radio--checked .ft-radio--box:after {
98
+ transform: scale(1);
99
+ }
100
+
101
+ .ft-radio--disabled .ft-radio--box {
102
+ background-color: transparent;
103
+ }
104
+
105
+ .ft-radio:has(:focus-visible) .ft-radio--box {
106
+ outline: ${radio.focusOutlineWidth} solid ${radio.focusFocusRingColor};
107
+ outline-offset: ${radio.focusOutlineOffset};
108
+ }
109
+
110
+ .ft-radio ft-typography {
111
+ padding-right: 2px;
112
+ }
113
+ `;
package/build/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from "./ft-radio";
2
2
  export * from "./ft-radio.styles";
3
- export * from "./ft-radio.properties";
3
+ export * from "./ftds-radio";
4
+ export * from "./ftds-radio.styles";
4
5
  export * from "./ft-radio-group";
5
6
  export * from "./ft-radio-group.styles";
6
- export * from "./ft-radio-group.properties";
7
+ export * from "./ftds-radio-group";
8
+ export * from "./ftds-radio-group.styles";
package/build/index.js CHANGED
@@ -1,11 +1,17 @@
1
1
  import { customElement } from "@fluid-topics/ft-wc-utils";
2
2
  import { FtRadio } from "./ft-radio";
3
+ import { FtdsRadio } from "./ftds-radio";
3
4
  import { FtRadioGroup } from "./ft-radio-group";
5
+ import { FtdsRadioGroup } from "./ftds-radio-group";
4
6
  export * from "./ft-radio";
5
7
  export * from "./ft-radio.styles";
6
- export * from "./ft-radio.properties";
8
+ export * from "./ftds-radio";
9
+ export * from "./ftds-radio.styles";
7
10
  export * from "./ft-radio-group";
8
11
  export * from "./ft-radio-group.styles";
9
- export * from "./ft-radio-group.properties";
12
+ export * from "./ftds-radio-group";
13
+ export * from "./ftds-radio-group.styles";
10
14
  customElement("ft-radio")(FtRadio);
15
+ customElement("ftds-radio")(FtdsRadio);
11
16
  customElement("ft-radio-group")(FtRadioGroup);
17
+ customElement("ftds-radio-group")(FtdsRadioGroup);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-radio",
3
- "version": "1.3.15",
3
+ "version": "1.3.16",
4
4
  "description": "A radio component",
5
5
  "keywords": [
6
6
  "Lit"
@@ -19,10 +19,10 @@
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/ft-ripple": "1.3.15",
23
- "@fluid-topics/ft-typography": "1.3.15",
24
- "@fluid-topics/ft-wc-utils": "1.3.15",
22
+ "@fluid-topics/ft-ripple": "1.3.16",
23
+ "@fluid-topics/ft-typography": "1.3.16",
24
+ "@fluid-topics/ft-wc-utils": "1.3.16",
25
25
  "lit": "3.1.0"
26
26
  },
27
- "gitHead": "5aa2861244264a93f9ce941c3541191eb22a4650"
27
+ "gitHead": "092d409b397263ffef1f860386137eea8e5f7c2c"
28
28
  }
@@ -1,3 +0,0 @@
1
- export interface FtRadioGroupProperties {
2
- name: string;
3
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,6 +0,0 @@
1
- export interface FtRadioProperties {
2
- value: string;
3
- checked: boolean;
4
- ariaChecked: string;
5
- disabled: boolean;
6
- }
@@ -1 +0,0 @@
1
- export {};