@recursica/mantine-adapter 0.21.0 → 0.22.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.
Files changed (80) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/mantine-adapter.cjs +1 -1
  3. package/dist/mantine-adapter.cjs.map +1 -1
  4. package/dist/mantine-adapter.css +1 -1
  5. package/dist/mantine-adapter.js +1570 -1455
  6. package/dist/mantine-adapter.js.map +1 -1
  7. package/dist/src/components/AutoComplete/AutoComplete.d.ts +9 -0
  8. package/dist/src/components/Avatar/Avatar.d.ts +1 -1
  9. package/dist/src/components/Badge/Badge.d.ts +1 -1
  10. package/dist/src/components/Button/Button.d.ts +1 -1
  11. package/dist/src/components/Card/Card.d.ts +1 -1
  12. package/dist/src/components/Flex/Flex.d.ts +1 -1
  13. package/dist/src/components/Link/Link.d.ts +1 -1
  14. package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +6 -1
  15. package/dist/src/components/Text/Text.d.ts +1 -1
  16. package/dist/src/components/Toast/Toast.d.ts +1 -1
  17. package/dist/src/components/index.d.ts +1 -0
  18. package/package.json +5 -2
  19. package/src/GlobalExemptions.modules.css +13 -0
  20. package/src/components/AutoComplete/AUTOCOMPLETE_IMPLEMENTATION_NOTES.md +21 -0
  21. package/src/components/AutoComplete/AutoComplete.module.css +311 -0
  22. package/src/components/AutoComplete/AutoComplete.stories.tsx +187 -0
  23. package/src/components/AutoComplete/AutoComplete.tsx +154 -0
  24. package/src/components/Avatar/Avatar.module.css +40 -36
  25. package/src/components/Badge/Badge.module.css +4 -1
  26. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +3 -10
  27. package/src/components/Button/Button.module.css +215 -56
  28. package/src/components/Button/Button.stories.tsx +27 -0
  29. package/src/components/Button/Button.tsx +10 -3
  30. package/src/components/Card/Card.module.css +58 -1
  31. package/src/components/Card/Card.stories.tsx +4 -2
  32. package/src/components/Checkbox/Checkbox.module.css +74 -46
  33. package/src/components/Checkbox/Checkbox.stories.tsx +3 -0
  34. package/src/components/Checkbox/CheckboxGroup.tsx +1 -9
  35. package/src/components/Chip/Chip.module.css +19 -1
  36. package/src/components/DatePicker/DatePicker.module.css +45 -0
  37. package/src/components/Dropdown/Dropdown.module.css +42 -15
  38. package/src/components/Dropdown/Dropdown.stories.tsx +3 -0
  39. package/src/components/Dropdown/Dropdown.tsx +5 -1
  40. package/src/components/FileInput/FileInput.module.css +50 -0
  41. package/src/components/FileUpload/FileUpload.module.css +43 -0
  42. package/src/components/FormControlLayout/FormControlLayout.module.css +12 -2
  43. package/src/components/FormControlWrapper/FormControlWrapper.module.css +66 -0
  44. package/src/components/HoverCard/HoverCard.module.css +12 -5
  45. package/src/components/Label/Label.module.css +11 -3
  46. package/src/components/Link/Link.module.css +8 -0
  47. package/src/components/Menu/Menu.module.css +73 -30
  48. package/src/components/Modal/Modal.module.css +92 -47
  49. package/src/components/NumberInput/NumberInput.module.css +46 -15
  50. package/src/components/NumberInput/NumberInput.tsx +5 -1
  51. package/src/components/Pagination/Pagination.module.css +123 -41
  52. package/src/components/Panel/Panel.module.css +55 -3
  53. package/src/components/Popover/Popover.module.css +6 -4
  54. package/src/components/Radio/Radio.module.css +72 -59
  55. package/src/components/Radio/Radio.stories.tsx +3 -0
  56. package/src/components/Radio/RadioGroup.tsx +1 -8
  57. package/src/components/ReadOnlyField/ReadOnlyField.module.css +14 -0
  58. package/src/components/ReadOnlyField/ReadOnlyField.tsx +16 -1
  59. package/src/components/SegmentedControl/SegmentedControl.module.css +106 -41
  60. package/src/components/SegmentedControl/SegmentedControl.stories.tsx +1 -4
  61. package/src/components/SegmentedControl/SegmentedControl.tsx +18 -4
  62. package/src/components/Slider/Slider.module.css +89 -0
  63. package/src/components/Stepper/Stepper.module.css +53 -2
  64. package/src/components/Switch/Switch.module.css +62 -23
  65. package/src/components/Switch/Switch.stories.tsx +3 -0
  66. package/src/components/Switch/Switch.tsx +1 -0
  67. package/src/components/Switch/SwitchGroup.tsx +3 -10
  68. package/src/components/Tabs/Tabs.module.css +33 -12
  69. package/src/components/TextArea/TextArea.module.css +58 -120
  70. package/src/components/TextArea/TextArea.stories.tsx +3 -0
  71. package/src/components/TextArea/TextArea.tsx +7 -3
  72. package/src/components/TextField/TextField.module.css +46 -15
  73. package/src/components/TextField/TextField.tsx +5 -1
  74. package/src/components/TimePicker/TimePicker.module.css +44 -0
  75. package/src/components/Timeline/Timeline.module.css +6 -0
  76. package/src/components/Toast/Toast.module.css +56 -1
  77. package/src/components/Toast/Toast.tsx +1 -1
  78. package/src/components/Tooltip/Tooltip.module.css +9 -0
  79. package/src/components/TransferList/TransferList.module.css +41 -0
  80. package/src/components/index.ts +1 -0
@@ -18,6 +18,9 @@ The \`Radio\` component represents a fundamental standalone boolean selection no
18
18
  },
19
19
  },
20
20
  argTypes: {
21
+ disabled: {
22
+ control: "boolean",
23
+ },
21
24
  checked: {
22
25
  control: "boolean",
23
26
  },
@@ -99,14 +99,7 @@ export const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(
99
99
  defaultValue={defaultValue}
100
100
  >
101
101
  <div className={styles.groupRoot} data-layout={formLayout}>
102
- {React.Children.map(children, (child) => {
103
- if (React.isValidElement(child)) {
104
- return React.cloneElement(child as React.ReactElement<any>, {
105
- disabled: readOnly || (child.props as any).disabled,
106
- });
107
- }
108
- return child;
109
- })}
102
+ {children}
110
103
  </div>
111
104
  </MantineRadio.Group>
112
105
  }
@@ -1,3 +1,17 @@
1
+ /* LAYOUT SPACING OVERRIDES:
2
+ - Sets the --form-control-margin-bottom spacing hook to map component-specific layout tokens. */
3
+ .layoutOverride {
4
+ --form-control-margin-bottom: var(
5
+ --recursica_ui-kit_components_read-only-field_variants_layouts_stacked_properties_top-bottom-margin
6
+ );
7
+ }
8
+
9
+ .layoutOverride[data-form-layout="side-by-side"] {
10
+ --form-control-margin-bottom: var(
11
+ --recursica_ui-kit_components_read-only-field_variants_layouts_side-by-side_properties_top-bottom-margin
12
+ );
13
+ }
14
+
1
15
  /* HARDCODED VALUES:
2
16
  - margin: 0; padding: overrides native paragraph margins mapping back to form element flows.
3
17
  */
@@ -14,6 +14,7 @@ import {
14
14
  FormControlWrapper,
15
15
  } from "../FormControlWrapper/FormControlWrapper";
16
16
  import { ReadOnlyTextField } from "./ReadOnlyTextField";
17
+ import styles from "./ReadOnlyField.module.css";
17
18
 
18
19
  export interface RecursicaReadOnlyFieldProps
19
20
  extends Omit<
@@ -40,7 +41,15 @@ export type ReadOnlyFieldProps =
40
41
  */
41
42
  export const ReadOnlyField = forwardRef<HTMLDivElement, ReadOnlyFieldProps>(
42
43
  function ReadOnlyField(
43
- { value, type = "text", emptyValueComponent, overStyled = false, ...rest },
44
+ {
45
+ value,
46
+ type = "text",
47
+ emptyValueComponent,
48
+ overStyled = false,
49
+ className,
50
+ style,
51
+ ...rest
52
+ },
44
53
  ref,
45
54
  ) {
46
55
  let content: React.ReactNode = null;
@@ -87,10 +96,16 @@ export const ReadOnlyField = forwardRef<HTMLDivElement, ReadOnlyFieldProps>(
87
96
  break;
88
97
  }
89
98
 
99
+ const wrapperClass = className
100
+ ? `${styles.layoutOverride} ${className}`
101
+ : styles.layoutOverride;
102
+
90
103
  return (
91
104
  <FormControlWrapper
92
105
  ref={ref}
93
106
  overStyled={overStyled as true}
107
+ className={wrapperClass}
108
+ style={style}
94
109
  {...(sanitizedProps as any)}
95
110
  >
96
111
  {content}
@@ -1,77 +1,104 @@
1
1
  /* HARDCODED VALUES:
2
2
  - border-style: solid; on container and indicator
3
3
  - background-color: transparent; on label hover (overriding Mantine)
4
- - !important usage to strictly enforce Figma tokens over Mantine's inline calculation
4
+ - Scope prefix .root to enforce Figma tokens over Mantine's inline calculation without using !important
5
5
  */
6
6
 
7
7
  .root {
8
8
  background-color: var(
9
- --recursica_ui-kit_components_segmented-control_properties_container_colors_background
10
- ) !important;
9
+ --recursica_ui-kit_components_segmented-control_properties_colors_background
10
+ );
11
11
  border: var(
12
- --recursica_ui-kit_components_segmented-control_properties_container_border-size
12
+ --recursica_ui-kit_components_segmented-control_properties_border-size
13
13
  )
14
14
  solid
15
15
  var(
16
- --recursica_ui-kit_components_segmented-control_properties_container_colors_border-color
16
+ --recursica_ui-kit_components_segmented-control_properties_colors_border-color
17
17
  );
18
18
  border-radius: var(
19
- --recursica_ui-kit_components_segmented-control_properties_container_border-radius
20
- ) !important;
19
+ --recursica_ui-kit_components_segmented-control_properties_border-radius
20
+ );
21
21
  padding: var(
22
- --recursica_ui-kit_components_segmented-control_properties_container_padding-vertical
22
+ --recursica_ui-kit_components_segmented-control_properties_padding-vertical
23
23
  )
24
24
  var(
25
- --recursica_ui-kit_components_segmented-control_properties_container_padding-horizontal
26
- ) !important;
25
+ --recursica_ui-kit_components_segmented-control_properties_padding-horizontal
26
+ );
27
27
  box-shadow: var(
28
- --recursica_ui-kit_components_segmented-control_properties_container_elevation
28
+ --recursica_ui-kit_components_segmented-control_properties_elevation,
29
+ none
29
30
  );
30
31
  gap: var(--recursica_ui-kit_components_segmented-control_properties_item-gap);
31
32
  }
32
33
 
33
- .label {
34
+ .root .label {
34
35
  padding-left: var(
35
36
  --recursica_ui-kit_components_segmented-control-item_properties_item_padding-horizontal
36
- ) !important;
37
+ );
37
38
  padding-right: var(
38
39
  --recursica_ui-kit_components_segmented-control-item_properties_item_padding-horizontal
39
- ) !important;
40
+ );
40
41
  height: var(
41
42
  --recursica_ui-kit_components_segmented-control-item_properties_item_height
42
- ) !important;
43
+ );
43
44
  border-radius: var(
44
- --recursica_ui-kit_components_segmented-control-item_properties_item_border-radius
45
- ) !important;
45
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected_border-radius,
46
+ var(
47
+ --recursica_ui-kit_components_segmented-control-item_properties_item_border-radius
48
+ )
49
+ );
50
+
51
+ border: var(
52
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected_border-size
53
+ )
54
+ solid
55
+ var(
56
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected_colors_border-color
57
+ );
58
+ background-color: var(
59
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected_colors_background
60
+ );
61
+ box-shadow: var(
62
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected_elevation
63
+ );
46
64
 
47
65
  font-family: var(
48
- --recursica_ui-kit_components_segmented-control-item_properties_text_font-family
66
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected-text_font-family,
67
+ inherit
49
68
  );
50
69
  font-size: var(
51
- --recursica_ui-kit_components_segmented-control-item_properties_text_font-size
70
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected-text_font-size,
71
+ inherit
52
72
  );
53
73
  font-style: var(
54
- --recursica_ui-kit_components_segmented-control-item_properties_text_font-style
74
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected-text_font-style,
75
+ inherit
55
76
  );
56
77
  font-weight: var(
57
- --recursica_ui-kit_components_segmented-control-item_properties_text_font-weight
78
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected-text_font-weight,
79
+ inherit
58
80
  );
59
81
  letter-spacing: var(
60
- --recursica_ui-kit_components_segmented-control-item_properties_text_letter-spacing
82
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected-text_letter-spacing,
83
+ inherit
61
84
  );
62
85
  line-height: var(
63
- --recursica_ui-kit_components_segmented-control-item_properties_text_line-height
86
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected-text_line-height,
87
+ inherit
64
88
  );
65
89
  text-decoration: var(
66
- --recursica_ui-kit_components_segmented-control-item_properties_text_text-decoration
90
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected-text_text-decoration,
91
+ inherit
67
92
  );
68
93
  text-transform: var(
69
- --recursica_ui-kit_components_segmented-control-item_properties_text_text-transform
94
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected-text_text-transform,
95
+ inherit
70
96
  );
71
97
 
72
98
  color: var(
73
- --recursica_ui-kit_components_segmented-control_properties_colors_text
74
- ) !important;
99
+ --recursica_ui-kit_components_segmented-control-item_properties_unselected_colors_text-color,
100
+ inherit
101
+ );
75
102
 
76
103
  display: flex;
77
104
  align-items: center;
@@ -79,7 +106,7 @@
79
106
  }
80
107
 
81
108
  /* Mantine natively wraps label contents in an innerLabel span */
82
- .label :global(.mantine-SegmentedControl-innerLabel) {
109
+ .root .label :global(.mantine-SegmentedControl-innerLabel) {
83
110
  display: flex;
84
111
  align-items: center;
85
112
  justify-content: center;
@@ -88,7 +115,7 @@
88
115
  );
89
116
  }
90
117
 
91
- .label svg {
118
+ .root .label svg {
92
119
  width: var(
93
120
  --recursica_ui-kit_components_segmented-control-item_properties_item_icon-size
94
121
  );
@@ -99,40 +126,78 @@
99
126
  }
100
127
 
101
128
  /* Mantine adds a background on hover, we must strictly strip it */
102
- .label:hover {
103
- background-color: transparent !important;
129
+ .root .label:hover {
130
+ background-color: transparent;
104
131
  }
105
132
 
106
133
  /* Mantine adds separators via ::before on the .control */
107
- .control::before {
134
+ .root .control::before {
108
135
  background-color: var(
109
136
  --recursica_ui-kit_components_segmented-control_properties_colors_divider-color
110
- ) !important;
137
+ );
138
+ width: var(
139
+ --recursica_ui-kit_components_segmented-control_properties_divider-size
140
+ );
111
141
  }
112
142
 
113
143
  /* Indicator (the moving selected block) */
114
- .indicator {
144
+ .root .indicator {
115
145
  background-color: var(
116
146
  --recursica_ui-kit_components_segmented-control-item_properties_selected_colors_background
117
- ) !important;
147
+ );
118
148
  border: var(
119
149
  --recursica_ui-kit_components_segmented-control-item_properties_selected_border-size
120
150
  )
121
151
  solid
122
152
  var(
123
153
  --recursica_ui-kit_components_segmented-control-item_properties_selected_colors_border-color
124
- ) !important;
154
+ );
125
155
  box-shadow: var(
126
156
  --recursica_ui-kit_components_segmented-control-item_properties_selected_elevation
127
- ) !important;
157
+ );
128
158
  border-radius: var(
129
- --recursica_ui-kit_components_segmented-control-item_properties_item_border-radius
130
- ) !important;
159
+ --recursica_ui-kit_components_segmented-control-item_properties_selected_border-radius,
160
+ var(
161
+ --recursica_ui-kit_components_segmented-control-item_properties_item_border-radius
162
+ )
163
+ );
131
164
  }
132
165
 
133
166
  /* Selected label text color override */
134
- .control[data-active] .label {
167
+ .root .control[data-active] .label {
135
168
  color: var(
136
169
  --recursica_ui-kit_components_segmented-control-item_properties_selected_colors_text-color
137
- ) !important;
170
+ );
171
+ font-family: var(
172
+ --recursica_ui-kit_components_segmented-control-item_properties_selected-text_font-family,
173
+ inherit
174
+ );
175
+ font-size: var(
176
+ --recursica_ui-kit_components_segmented-control-item_properties_selected-text_font-size,
177
+ inherit
178
+ );
179
+ font-style: var(
180
+ --recursica_ui-kit_components_segmented-control-item_properties_selected-text_font-style,
181
+ inherit
182
+ );
183
+ font-weight: var(
184
+ --recursica_ui-kit_components_segmented-control-item_properties_selected-text_font-weight,
185
+ inherit
186
+ );
187
+ letter-spacing: var(
188
+ --recursica_ui-kit_components_segmented-control-item_properties_selected-text_letter-spacing,
189
+ inherit
190
+ );
191
+ line-height: var(
192
+ --recursica_ui-kit_components_segmented-control-item_properties_selected-text_line-height,
193
+ inherit
194
+ );
195
+ text-decoration: var(
196
+ --recursica_ui-kit_components_segmented-control-item_properties_selected-text_text-decoration,
197
+ inherit
198
+ );
199
+ text-transform: var(
200
+ --recursica_ui-kit_components_segmented-control-item_properties_selected-text_text-transform,
201
+ inherit
202
+ );
138
203
  }
@@ -21,9 +21,7 @@ const meta: Meta<typeof SegmentedControl> = {
21
21
  fullWidth: {
22
22
  control: "boolean",
23
23
  },
24
- disabled: {
25
- control: "boolean",
26
- },
24
+ disabled: { table: { disable: true } },
27
25
  data: { table: { disable: true } },
28
26
  defaultChecked: { table: { disable: true } },
29
27
  },
@@ -37,7 +35,6 @@ export const Default: Story = {
37
35
  data: ["React", "Angular", "Vue", "Svelte"],
38
36
  orientation: "horizontal",
39
37
  fullWidth: false,
40
- disabled: false,
41
38
  },
42
39
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
43
40
  render: ({ withLayer, layer, ...args }: any) => {
@@ -14,12 +14,23 @@ export interface RecursicaSegmentedControlProps {
14
14
  orientation?: "horizontal" | "vertical";
15
15
  /** If true, the control will take up the full width of its container */
16
16
  fullWidth?: boolean;
17
+ /**
18
+ * SegmentedControl should NOT be allowed to be disabled by design.
19
+ * This component explicitly disables the `disabled` prop.
20
+ */
21
+ disabled?: never;
17
22
  }
18
23
 
19
24
  export type SegmentedControlProps = RecursicaOverStyled<
20
25
  Omit<
21
26
  MantineSegmentedControlProps,
22
- "variant" | "size" | "radius" | "color" | "classNames" | "className"
27
+ | "variant"
28
+ | "size"
29
+ | "radius"
30
+ | "color"
31
+ | "classNames"
32
+ | "className"
33
+ | "disabled"
23
34
  > & {
24
35
  className?: string;
25
36
  classNames?: Partial<Record<string, string>>;
@@ -70,9 +81,12 @@ const _SegmentedControl = forwardRef<HTMLDivElement, SegmentedControlProps>(
70
81
  ref,
71
82
  ) {
72
83
  const sanitizedProps = filterStylingProps(rest, overStyled);
73
- const stylingParams = useSegmentedControlClassNames(
74
- sanitizedProps as Record<string, unknown>,
75
- );
84
+ const restRecord = sanitizedProps as Record<string, unknown>;
85
+
86
+ // Explicitly prevent consumers from bypassing the disabled restriction
87
+ delete restRecord["disabled"];
88
+
89
+ const stylingParams = useSegmentedControlClassNames(restRecord);
76
90
 
77
91
  return (
78
92
  <MantineSegmentedControl
@@ -0,0 +1,89 @@
1
+ /*
2
+ * EXEMPTIONS:
3
+ * - Slider is a "Coming Soon" stub component.
4
+ * - It renders a placeholder and has no active implementation or CSS stylesheet yet.
5
+ * - The following tokens generated by Figma are ignored until the component is fully built.
6
+ */
7
+
8
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_icon-size */
9
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-border-radius */
10
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-border-size */
11
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-gap */
12
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-height */
13
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-padding-left */
14
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-padding-right */
15
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-padding-vertical */
16
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-text_font-family */
17
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-text_font-size */
18
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-text_font-style */
19
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-text_font-weight */
20
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-text_letter-spacing */
21
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-text_line-height */
22
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-text_text-decoration */
23
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-text_text-transform */
24
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_input-width */
25
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_min-max-label_font-family */
26
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_min-max-label_font-size */
27
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_min-max-label_font-style */
28
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_min-max-label_font-weight */
29
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_min-max-label_letter-spacing */
30
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_min-max-label_line-height */
31
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_min-max-label_text-decoration */
32
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_min-max-label_text-transform */
33
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_read-only-value_font-family */
34
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_read-only-value_font-size */
35
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_read-only-value_font-style */
36
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_read-only-value_font-weight */
37
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_read-only-value_letter-spacing */
38
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_read-only-value_line-height */
39
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_read-only-value_text-decoration */
40
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_read-only-value_text-transform */
41
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_step-indicator-border-radius */
42
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_step-indicator-width */
43
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_thumb-border-radius */
44
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_thumb-elevation */
45
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_thumb-size */
46
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_track-border-radius */
47
+ /* recursica-ignore: --recursica_ui-kit_components_slider_properties_track-height */
48
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_layouts_side-by-side_properties_top-bottom-margin */
49
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_layouts_stacked_properties_top-bottom-margin */
50
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_default_properties_input-border-size */
51
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_disabled_properties_input-border-size */
52
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_error_properties_input-border-size */
53
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_focus_properties_input-border-size */
54
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_default_properties_colors_icon-color */
55
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_default_properties_colors_input-background */
56
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_default_properties_colors_input-border-color */
57
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_default_properties_colors_input-text */
58
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_default_properties_colors_step-indicator-color */
59
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_default_properties_colors_step-indicator-color-active */
60
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_default_properties_colors_thumb */
61
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_default_properties_colors_track */
62
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_default_properties_colors_track-active */
63
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_icon-color */
64
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_input-background */
65
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_input-border-color */
66
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_input-text */
67
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_step-indicator-color */
68
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_step-indicator-color-active */
69
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_thumb */
70
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_track */
71
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_track-active */
72
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_error_properties_colors_icon-color */
73
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_error_properties_colors_input-background */
74
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_error_properties_colors_input-border-color */
75
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_error_properties_colors_input-text */
76
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_error_properties_colors_step-indicator-color */
77
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_error_properties_colors_step-indicator-color-active */
78
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_error_properties_colors_thumb */
79
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_error_properties_colors_track */
80
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_error_properties_colors_track-active */
81
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_icon-color */
82
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_input-background */
83
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_input-border-color */
84
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_input-text */
85
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_step-indicator-color */
86
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_step-indicator-color-active */
87
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_thumb */
88
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_track */
89
+ /* recursica-ignore: --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_track-active */
@@ -108,8 +108,29 @@
108
108
  --stepper-border-radius: var(
109
109
  --recursica_ui-kit_components_stepper_variants_sizes_large_properties_indicator-border-radius
110
110
  );
111
+ --stepper-font-family: var(
112
+ --recursica_ui-kit_components_stepper_variants_sizes_large_properties_step-number-text_font-family
113
+ );
111
114
  --stepper-font-size: var(
112
- --recursica_ui-kit_components_stepper_variants_sizes_large_properties_step-number-font-size
115
+ --recursica_ui-kit_components_stepper_variants_sizes_large_properties_step-number-text_font-size
116
+ );
117
+ --stepper-font-style: var(
118
+ --recursica_ui-kit_components_stepper_variants_sizes_large_properties_step-number-text_font-style
119
+ );
120
+ --stepper-font-weight: var(
121
+ --recursica_ui-kit_components_stepper_variants_sizes_large_properties_step-number-text_font-weight
122
+ );
123
+ --stepper-letter-spacing: var(
124
+ --recursica_ui-kit_components_stepper_variants_sizes_large_properties_step-number-text_letter-spacing
125
+ );
126
+ --stepper-line-height: var(
127
+ --recursica_ui-kit_components_stepper_variants_sizes_large_properties_step-number-text_line-height
128
+ );
129
+ --stepper-text-decoration: var(
130
+ --recursica_ui-kit_components_stepper_variants_sizes_large_properties_step-number-text_text-decoration
131
+ );
132
+ --stepper-text-transform: var(
133
+ --recursica_ui-kit_components_stepper_variants_sizes_large_properties_step-number-text_text-transform
113
134
  );
114
135
  --stepper-svg-size: var(
115
136
  --recursica_ui-kit_components_stepper_variants_sizes_large_properties_completed-icon-size
@@ -129,8 +150,29 @@
129
150
  --stepper-border-radius: var(
130
151
  --recursica_ui-kit_components_stepper_variants_sizes_small_properties_indicator-border-radius
131
152
  );
153
+ --stepper-font-family: var(
154
+ --recursica_ui-kit_components_stepper_variants_sizes_small_properties_step-number-text_font-family
155
+ );
132
156
  --stepper-font-size: var(
133
- --recursica_ui-kit_components_stepper_variants_sizes_small_properties_step-number-font-size
157
+ --recursica_ui-kit_components_stepper_variants_sizes_small_properties_step-number-text_font-size
158
+ );
159
+ --stepper-font-style: var(
160
+ --recursica_ui-kit_components_stepper_variants_sizes_small_properties_step-number-text_font-style
161
+ );
162
+ --stepper-font-weight: var(
163
+ --recursica_ui-kit_components_stepper_variants_sizes_small_properties_step-number-text_font-weight
164
+ );
165
+ --stepper-letter-spacing: var(
166
+ --recursica_ui-kit_components_stepper_variants_sizes_small_properties_step-number-text_letter-spacing
167
+ );
168
+ --stepper-line-height: var(
169
+ --recursica_ui-kit_components_stepper_variants_sizes_small_properties_step-number-text_line-height
170
+ );
171
+ --stepper-text-decoration: var(
172
+ --recursica_ui-kit_components_stepper_variants_sizes_small_properties_step-number-text_text-decoration
173
+ );
174
+ --stepper-text-transform: var(
175
+ --recursica_ui-kit_components_stepper_variants_sizes_small_properties_step-number-text_text-transform
134
176
  );
135
177
  --stepper-svg-size: var(
136
178
  --recursica_ui-kit_components_stepper_variants_sizes_small_properties_completed-icon-size
@@ -209,7 +251,16 @@
209
251
  min-height: var(--stepper-indicator-size);
210
252
  border-width: var(--stepper-border-size);
211
253
  border-radius: 50%; /* Override Figma token to ensure perfectly circular indicators */
254
+
255
+ font-family: var(--stepper-font-family);
212
256
  font-size: var(--stepper-font-size);
257
+ font-style: var(--stepper-font-style);
258
+ font-weight: var(--stepper-font-weight);
259
+ letter-spacing: var(--stepper-letter-spacing);
260
+ line-height: var(--stepper-line-height);
261
+ text-decoration: var(--stepper-text-decoration);
262
+ text-transform: var(--stepper-text-transform);
263
+
213
264
  display: flex;
214
265
  align-items: center;
215
266
  justify-content: center;