@recursica/mui-adapter 0.5.0 → 0.7.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 (212) hide show
  1. package/ARCHITECTURE.md +15 -0
  2. package/CHANGELOG.md +15 -0
  3. package/SETUP.md +77 -0
  4. package/USAGE.md +55 -0
  5. package/dist/mui-adapter.cjs +74 -1
  6. package/dist/mui-adapter.cjs.map +1 -1
  7. package/dist/mui-adapter.css +1 -1
  8. package/dist/mui-adapter.js +6863 -205
  9. package/dist/mui-adapter.js.map +1 -1
  10. package/dist/src/components/Accordion/Accordion.d.ts +43 -2
  11. package/dist/src/components/AssistiveElement/AssistiveElement.d.ts +6 -2
  12. package/dist/src/components/Autocomplete/Autocomplete.d.ts +12 -2
  13. package/dist/src/components/Avatar/Avatar.d.ts +10 -3
  14. package/dist/src/components/Badge/Badge.d.ts +10 -3
  15. package/dist/src/components/Breadcrumb/Breadcrumb.d.ts +9 -3
  16. package/dist/src/components/Button/Button.d.ts +2 -17
  17. package/dist/src/components/Card/Card.d.ts +38 -3
  18. package/dist/src/components/Checkbox/Checkbox.d.ts +13 -2
  19. package/dist/src/components/Checkbox/CheckboxGroup.d.ts +18 -0
  20. package/dist/src/components/Checkbox/index.d.ts +5 -1
  21. package/dist/src/components/Chip/Chip.d.ts +9 -2
  22. package/dist/src/components/Container/Container.d.ts +1 -5
  23. package/dist/src/components/DatePicker/DatePicker.d.ts +2 -1
  24. package/dist/src/components/Dropdown/Dropdown.d.ts +12 -2
  25. package/dist/src/components/Flex/Flex.d.ts +2 -22
  26. package/dist/src/components/FormControlLayout/FormControlLayout.d.ts +5 -2
  27. package/dist/src/components/FormControlWrapper/FormControlWrapper.d.ts +9 -2
  28. package/dist/src/components/Group/Group.d.ts +2 -7
  29. package/dist/src/components/HoverCard/HoverCard.d.ts +28 -2
  30. package/dist/src/components/Label/Label.d.ts +6 -2
  31. package/dist/src/components/Link/Link.d.ts +2 -6
  32. package/dist/src/components/Loader/Loader.d.ts +2 -7
  33. package/dist/src/components/Menu/Menu.d.ts +25 -3
  34. package/dist/src/components/Modal/Modal.d.ts +37 -2
  35. package/dist/src/components/NumberInput/NumberInput.d.ts +12 -2
  36. package/dist/src/components/Pagination/Pagination.d.ts +12 -3
  37. package/dist/src/components/Pagination/Pagination.icons.d.ts +8 -0
  38. package/dist/src/components/Panel/Panel.d.ts +52 -3
  39. package/dist/src/components/Radio/Radio.d.ts +13 -3
  40. package/dist/src/components/Radio/RadioGroup.d.ts +9 -0
  41. package/dist/src/components/ReadOnlyField/ReadOnlyBooleanField.d.ts +5 -0
  42. package/dist/src/components/ReadOnlyField/ReadOnlyField.d.ts +4 -2
  43. package/dist/src/components/ReadOnlyField/ReadOnlySwitchField.d.ts +5 -0
  44. package/dist/src/components/ReadOnlyField/ReadOnlyTextField.d.ts +8 -0
  45. package/dist/src/components/ReadOnlyField/WithReadOnlyWrapper.d.ts +28 -0
  46. package/dist/src/components/ReadOnlyField/index.d.ts +1 -0
  47. package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +21 -3
  48. package/dist/src/components/Slider/Slider.d.ts +18 -2
  49. package/dist/src/components/Stack/Stack.d.ts +2 -5
  50. package/dist/src/components/Stepper/Stepper.d.ts +41 -2
  51. package/dist/src/components/Switch/Switch.d.ts +10 -3
  52. package/dist/src/components/Switch/SwitchGroup.d.ts +13 -0
  53. package/dist/src/components/Table/Table.d.ts +2 -1
  54. package/dist/src/components/Tabs/Tabs.d.ts +20 -3
  55. package/dist/src/components/Text/Text.d.ts +2 -16
  56. package/dist/src/components/TextArea/TextArea.d.ts +12 -2
  57. package/dist/src/components/TextField/TextField.d.ts +12 -2
  58. package/dist/src/components/TimePicker/TimePicker.d.ts +2 -1
  59. package/dist/src/components/Timeline/Timeline.d.ts +15 -2
  60. package/dist/src/components/Timeline/TimelineItem.d.ts +18 -0
  61. package/dist/src/components/Title/Title.d.ts +2 -15
  62. package/dist/src/components/Toast/Toast.d.ts +20 -2
  63. package/dist/src/components/Tooltip/Tooltip.d.ts +28 -3
  64. package/dist/src/components/TransferList/TransferList.d.ts +2 -1
  65. package/dist/src/components/Typography/Typography.d.ts +1 -1
  66. package/dist/src/utils/RequireAccessibleLabel.d.ts +1 -18
  67. package/dist/src/utils/filterStylingProps.d.ts +1 -11
  68. package/llms.txt +16 -0
  69. package/package.json +14 -3
  70. package/src/components/Accordion/Accordion.module.css +294 -56
  71. package/src/components/Accordion/Accordion.stories.tsx +131 -21
  72. package/src/components/Accordion/Accordion.tsx +260 -5
  73. package/src/components/AssistiveElement/AssistiveElement.module.css +114 -20
  74. package/src/components/AssistiveElement/AssistiveElement.stories.tsx +60 -20
  75. package/src/components/AssistiveElement/AssistiveElement.tsx +81 -5
  76. package/src/components/Autocomplete/Autocomplete.module.css +319 -42
  77. package/src/components/Autocomplete/Autocomplete.stories.tsx +175 -23
  78. package/src/components/Autocomplete/Autocomplete.tsx +181 -6
  79. package/src/components/Avatar/Avatar.module.css +343 -73
  80. package/src/components/Avatar/Avatar.stories.tsx +94 -22
  81. package/src/components/Avatar/Avatar.tsx +99 -6
  82. package/src/components/Badge/Badge.module.css +127 -29
  83. package/src/components/Badge/Badge.stories.tsx +65 -22
  84. package/src/components/Badge/Badge.tsx +67 -6
  85. package/src/components/Breadcrumb/Breadcrumb.module.css +25 -5
  86. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +57 -22
  87. package/src/components/Breadcrumb/Breadcrumb.tsx +59 -6
  88. package/src/components/Button/Button.module.css +19 -61
  89. package/src/components/Button/Button.stories.tsx +24 -23
  90. package/src/components/Button/Button.tsx +7 -18
  91. package/src/components/Card/Card.module.css +154 -38
  92. package/src/components/Card/Card.stories.tsx +117 -19
  93. package/src/components/Card/Card.tsx +181 -5
  94. package/src/components/Checkbox/Checkbox.module.css +249 -39
  95. package/src/components/Checkbox/Checkbox.stories.tsx +81 -19
  96. package/src/components/Checkbox/Checkbox.tsx +246 -5
  97. package/src/components/Checkbox/CheckboxGroup.stories.tsx +139 -0
  98. package/src/components/Checkbox/CheckboxGroup.tsx +137 -0
  99. package/src/components/Checkbox/index.ts +6 -1
  100. package/src/components/Chip/Chip.module.css +246 -43
  101. package/src/components/Chip/Chip.stories.tsx +101 -21
  102. package/src/components/Chip/Chip.tsx +136 -6
  103. package/src/components/Container/Container.stories.tsx +103 -20
  104. package/src/components/Container/Container.tsx +1 -13
  105. package/src/components/DatePicker/DatePicker.stories.tsx +125 -19
  106. package/src/components/DatePicker/DatePicker.tsx +3 -1
  107. package/src/components/Dropdown/Dropdown.module.css +291 -41
  108. package/src/components/Dropdown/Dropdown.stories.tsx +80 -21
  109. package/src/components/Dropdown/Dropdown.tsx +180 -6
  110. package/src/components/FileInput/FileInput.stories.tsx +2 -19
  111. package/src/components/FileUpload/FileUpload.stories.tsx +2 -19
  112. package/src/components/Flex/Flex.stories.tsx +113 -20
  113. package/src/components/Flex/Flex.tsx +16 -26
  114. package/src/components/FormControlLayout/FormControlLayout.module.css +92 -0
  115. package/src/components/FormControlLayout/FormControlLayout.stories.tsx +67 -20
  116. package/src/components/FormControlLayout/FormControlLayout.tsx +69 -4
  117. package/src/components/FormControlWrapper/FormControlWrapper.module.css +87 -0
  118. package/src/components/FormControlWrapper/FormControlWrapper.stories.tsx +116 -22
  119. package/src/components/FormControlWrapper/FormControlWrapper.tsx +126 -6
  120. package/src/components/Group/Group.stories.tsx +6 -30
  121. package/src/components/Group/Group.tsx +14 -9
  122. package/src/components/HoverCard/HoverCard.module.css +90 -22
  123. package/src/components/HoverCard/HoverCard.stories.tsx +158 -21
  124. package/src/components/HoverCard/HoverCard.tsx +147 -5
  125. package/src/components/Label/Label.module.css +140 -35
  126. package/src/components/Label/Label.stories.tsx +108 -21
  127. package/src/components/Label/Label.tsx +82 -5
  128. package/src/components/Link/Link.module.css +4 -3
  129. package/src/components/Link/Link.stories.tsx +2 -8
  130. package/src/components/Link/Link.tsx +1 -5
  131. package/src/components/Loader/Loader.module.css +1 -2
  132. package/src/components/Loader/Loader.tsx +1 -7
  133. package/src/components/Menu/IMPLEMENTATION_NOTES.md +4 -0
  134. package/src/components/Menu/Menu.module.css +285 -51
  135. package/src/components/Menu/Menu.stories.tsx +229 -25
  136. package/src/components/Menu/Menu.tsx +73 -6
  137. package/src/components/Modal/Modal.module.css +171 -35
  138. package/src/components/Modal/Modal.stories.tsx +66 -22
  139. package/src/components/Modal/Modal.tsx +215 -5
  140. package/src/components/NumberInput/NumberInput.module.css +276 -42
  141. package/src/components/NumberInput/NumberInput.stories.tsx +83 -20
  142. package/src/components/NumberInput/NumberInput.tsx +136 -6
  143. package/src/components/Pagination/IMPLEMENTATION_NOTES.md +3 -0
  144. package/src/components/Pagination/Pagination.icons.tsx +66 -0
  145. package/src/components/Pagination/Pagination.module.css +234 -20
  146. package/src/components/Pagination/Pagination.stories.tsx +34 -21
  147. package/src/components/Pagination/Pagination.tsx +74 -6
  148. package/src/components/Panel/Panel.module.css +206 -38
  149. package/src/components/Panel/Panel.stories.tsx +214 -22
  150. package/src/components/Panel/Panel.tsx +130 -5
  151. package/src/components/Radio/Radio.module.css +235 -37
  152. package/src/components/Radio/Radio.stories.tsx +77 -19
  153. package/src/components/Radio/Radio.tsx +210 -5
  154. package/src/components/Radio/RadioGroup.stories.tsx +117 -0
  155. package/src/components/Radio/RadioGroup.tsx +125 -0
  156. package/src/components/ReadOnlyField/ReadOnlyBooleanField.tsx +21 -0
  157. package/src/components/ReadOnlyField/ReadOnlyField.module.css +53 -15
  158. package/src/components/ReadOnlyField/ReadOnlyField.stories.tsx +147 -19
  159. package/src/components/ReadOnlyField/ReadOnlyField.tsx +105 -5
  160. package/src/components/ReadOnlyField/ReadOnlySwitchField.tsx +21 -0
  161. package/src/components/ReadOnlyField/ReadOnlyTextField.tsx +48 -0
  162. package/src/components/ReadOnlyField/WithReadOnlyWrapper.tsx +93 -0
  163. package/src/components/ReadOnlyField/index.ts +1 -0
  164. package/src/components/SegmentedControl/SegmentedControl.module.css +179 -47
  165. package/src/components/SegmentedControl/SegmentedControl.stories.tsx +102 -20
  166. package/src/components/SegmentedControl/SegmentedControl.tsx +140 -6
  167. package/src/components/Slider/Slider.module.css +539 -86
  168. package/src/components/Slider/Slider.stories.tsx +157 -19
  169. package/src/components/Slider/Slider.tsx +283 -5
  170. package/src/components/Stack/Stack.stories.tsx +4 -25
  171. package/src/components/Stack/Stack.tsx +1 -5
  172. package/src/components/Stepper/IMPLEMENTATION_NOTES.md +4 -0
  173. package/src/components/Stepper/Stepper.module.css +410 -71
  174. package/src/components/Stepper/Stepper.stories.tsx +146 -20
  175. package/src/components/Stepper/Stepper.tsx +147 -6
  176. package/src/components/Switch/Switch.module.css +259 -39
  177. package/src/components/Switch/Switch.stories.tsx +98 -19
  178. package/src/components/Switch/Switch.tsx +200 -6
  179. package/src/components/Switch/SwitchGroup.stories.tsx +132 -0
  180. package/src/components/Switch/SwitchGroup.tsx +120 -0
  181. package/src/components/Table/Table.stories.tsx +1 -19
  182. package/src/components/Table/Table.tsx +3 -1
  183. package/src/components/Tabs/IMPLEMENTATION_NOTES.md +4 -0
  184. package/src/components/Tabs/Tabs.module.css +422 -79
  185. package/src/components/Tabs/Tabs.stories.tsx +156 -20
  186. package/src/components/Tabs/Tabs.tsx +86 -6
  187. package/src/components/Text/Text.stories.tsx +5 -17
  188. package/src/components/Text/Text.tsx +1 -15
  189. package/src/components/TextArea/TextArea.module.css +155 -32
  190. package/src/components/TextArea/TextArea.stories.tsx +80 -21
  191. package/src/components/TextArea/TextArea.tsx +146 -6
  192. package/src/components/TextField/TextField.module.css +261 -42
  193. package/src/components/TextField/TextField.stories.tsx +147 -20
  194. package/src/components/TextField/TextField.tsx +169 -6
  195. package/src/components/TimePicker/TimePicker.stories.tsx +2 -19
  196. package/src/components/TimePicker/TimePicker.tsx +3 -1
  197. package/src/components/Timeline/Timeline.module.css +365 -76
  198. package/src/components/Timeline/Timeline.stories.tsx +114 -21
  199. package/src/components/Timeline/Timeline.tsx +83 -5
  200. package/src/components/Timeline/TimelineItem.tsx +90 -0
  201. package/src/components/Title/Title.stories.tsx +0 -18
  202. package/src/components/Title/Title.tsx +1 -7
  203. package/src/components/Toast/Toast.module.css +166 -28
  204. package/src/components/Toast/Toast.stories.tsx +54 -22
  205. package/src/components/Toast/Toast.tsx +124 -5
  206. package/src/components/Tooltip/Tooltip.module.css +89 -24
  207. package/src/components/Tooltip/Tooltip.stories.tsx +152 -22
  208. package/src/components/Tooltip/Tooltip.tsx +88 -5
  209. package/src/components/TransferList/TransferList.stories.tsx +1 -19
  210. package/src/components/TransferList/TransferList.tsx +3 -1
  211. package/src/utils/RequireAccessibleLabel.ts +1 -12
  212. package/src/utils/filterStylingProps.ts +7 -20
@@ -1,79 +1,422 @@
1
- /* EXEMPTIONS:
2
- This component is a placeholder stub. Once fully implemented, its specific
3
- tokens will be fully wired up to direct styles. */
4
-
5
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_active-text_font-family */
6
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_active-text_font-size */
7
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_active-text_font-style */
8
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_active-text_font-weight */
9
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_active-text_letter-spacing */
10
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_active-text_line-height */
11
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_active-text_text-decoration */
12
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_active-text_text-transform */
13
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_inactive-text_font-family */
14
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_inactive-text_font-size */
15
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_inactive-text_font-style */
16
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_inactive-text_font-weight */
17
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_inactive-text_letter-spacing */
18
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_inactive-text_line-height */
19
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_inactive-text_text-decoration */
20
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_inactive-text_text-transform */
21
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_max-width */
22
- /* recursica-ignore: --recursica_ui-kit_components_tabs_properties_min-width */
23
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_element-gap */
24
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_horizontal-padding */
25
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_icon-size */
26
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_space-between-tabs */
27
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_tab-content-alignment */
28
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_vertical-padding */
29
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_element-gap */
30
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_horizontal-padding */
31
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_icon-size */
32
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_space-between-tabs */
33
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_tab-content-alignment */
34
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_vertical-padding */
35
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_active_border-size */
36
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_active_colors_background */
37
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_active_colors_border-color */
38
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_active_colors_icon-color */
39
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_active_colors_text-color */
40
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_border-radius */
41
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_hover-color */
42
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_hover-opacity */
43
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_inactive_border-size */
44
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_inactive_colors_background */
45
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_inactive_colors_border-color */
46
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_inactive_colors_icon-color */
47
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_properties_inactive_colors_text-color */
48
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_variants_orientation_horizontal_properties_tabs-content-gap */
49
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_default_variants_orientation_vertical_properties_tabs-content-gap */
50
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_active_border-size */
51
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_active_colors_background */
52
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_active_colors_border-color */
53
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_active_colors_icon-color */
54
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_active_colors_text-color */
55
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_border-radius */
56
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_hover-color */
57
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_hover-opacity */
58
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_inactive_border-size */
59
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_inactive_colors_background */
60
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_inactive_colors_border-color */
61
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_inactive_colors_icon-color */
62
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_properties_inactive_colors_text-color */
63
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_variants_orientation_horizontal_properties_tabs-content-gap */
64
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_outline_variants_orientation_vertical_properties_tabs-content-gap */
65
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_active_border-size */
66
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_active_colors_background */
67
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_active_colors_border-color */
68
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_active_colors_icon-color */
69
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_active_colors_text-color */
70
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_border-radius */
71
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_hover-color */
72
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_hover-opacity */
73
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_inactive_border-size */
74
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_inactive_colors_background */
75
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_inactive_colors_border-color */
76
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_inactive_colors_icon-color */
77
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_properties_inactive_colors_text-color */
78
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_variants_orientation_horizontal_properties_tabs-content-gap */
79
- /* recursica-ignore: --recursica_ui-kit_components_tabs_variants_styles_pills_variants_orientation_vertical_properties_tabs-content-gap */
1
+ /*
2
+ Recursica Tabs CSS module natively binding to Figma variables.
3
+ */
4
+
5
+ .root {
6
+ width: 100%;
7
+ }
8
+
9
+ /*
10
+ Mantine Tabs Anatomy:
11
+ .root
12
+ .list (container for tabs)
13
+ .tab (individual tab)
14
+ .panel (content)
15
+ */
16
+
17
+ /* ---------------------------------
18
+ ORIENTATION & SPACING
19
+ --------------------------------- */
20
+
21
+ /* Horizontal Orientation */
22
+ .root[data-orientation="horizontal"] {
23
+ --tabs-element-gap: var(
24
+ --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_element-gap
25
+ );
26
+ --tabs-horizontal-padding: var(
27
+ --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_horizontal-padding
28
+ );
29
+ --tabs-icon-size: var(
30
+ --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_icon-size
31
+ );
32
+ --tabs-space-between-tabs: var(
33
+ --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_space-between-tabs
34
+ );
35
+ --tabs-vertical-padding: var(
36
+ --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_vertical-padding
37
+ );
38
+ --tabs-content-alignment: var(
39
+ --recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_tab-content-alignment
40
+ );
41
+ }
42
+
43
+ .root[data-orientation="horizontal"] .list {
44
+ gap: var(--tabs-space-between-tabs);
45
+ width: 100%;
46
+ }
47
+
48
+ /* Vertical Orientation */
49
+ .root[data-orientation="vertical"] {
50
+ --tabs-element-gap: var(
51
+ --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_element-gap
52
+ );
53
+ --tabs-horizontal-padding: var(
54
+ --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_horizontal-padding
55
+ );
56
+ --tabs-icon-size: var(
57
+ --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_icon-size
58
+ );
59
+ --tabs-space-between-tabs: var(
60
+ --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_space-between-tabs
61
+ );
62
+ --tabs-vertical-padding: var(
63
+ --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_vertical-padding
64
+ );
65
+ --tabs-content-alignment: var(
66
+ --recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_tab-content-alignment
67
+ );
68
+ }
69
+
70
+ .root[data-orientation="vertical"] .list {
71
+ gap: var(--tabs-space-between-tabs);
72
+ }
73
+
74
+ /* ---------------------------------
75
+ VARIANTS
76
+ --------------------------------- */
77
+
78
+ .root[data-variant="default"][data-orientation] {
79
+ --tabs-active-border-size: var(
80
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_active_border-size
81
+ ) !important;
82
+ --tabs-inactive-border-size: var(
83
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_inactive_border-size
84
+ ) !important;
85
+ --tabs-border-radius: var(
86
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_border-radius
87
+ ) !important;
88
+ --tabs-border-color: var(
89
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_inactive_colors_border-color
90
+ ) !important;
91
+ --tabs-color: var(
92
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_active_colors_border-color
93
+ ) !important;
94
+ --tabs-hover-color: var(
95
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_hover-color
96
+ );
97
+ --tabs-hover-opacity: var(
98
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_hover-opacity
99
+ );
100
+ }
101
+
102
+ .root[data-variant="default"][data-orientation="horizontal"] .list {
103
+ margin-bottom: var(
104
+ --recursica_ui-kit_components_tabs_variants_styles_default_variants_orientation_horizontal_properties_tabs-content-gap
105
+ );
106
+ }
107
+
108
+ .root[data-variant="default"][data-orientation="vertical"] .list {
109
+ margin-right: var(
110
+ --recursica_ui-kit_components_tabs_variants_styles_default_variants_orientation_vertical_properties_tabs-content-gap
111
+ );
112
+ }
113
+
114
+ /* Outline Variant */
115
+ .root[data-variant="outline"][data-orientation] {
116
+ --tabs-active-border-size: var(
117
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_active_border-size
118
+ ) !important;
119
+ --tabs-inactive-border-size: var(
120
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_inactive_border-size
121
+ ) !important;
122
+ --tabs-border-radius: var(
123
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_border-radius
124
+ ) !important;
125
+ --tabs-border-color: var(
126
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_inactive_colors_border-color
127
+ ) !important;
128
+ --tabs-color: var(
129
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_active_colors_border-color
130
+ ) !important;
131
+ --tabs-hover-color: var(
132
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_hover-color
133
+ );
134
+ --tabs-hover-opacity: var(
135
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_hover-opacity
136
+ );
137
+ }
138
+
139
+ .root[data-variant="outline"][data-orientation="horizontal"] .list {
140
+ margin-bottom: var(
141
+ --recursica_ui-kit_components_tabs_variants_styles_outline_variants_orientation_horizontal_properties_tabs-content-gap
142
+ );
143
+ }
144
+
145
+ .root[data-variant="outline"][data-orientation="vertical"] .list {
146
+ margin-right: var(
147
+ --recursica_ui-kit_components_tabs_variants_styles_outline_variants_orientation_vertical_properties_tabs-content-gap
148
+ );
149
+ }
150
+
151
+ /* Pills Variant */
152
+ .root[data-variant="pills"][data-orientation] {
153
+ --tabs-active-border-size: var(
154
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_active_border-size
155
+ );
156
+ --tabs-inactive-border-size: var(
157
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_inactive_border-size
158
+ );
159
+ --tabs-border-radius: var(
160
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_border-radius
161
+ );
162
+ --tabs-hover-color: var(
163
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_hover-color
164
+ );
165
+ --tabs-hover-opacity: var(
166
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_hover-opacity
167
+ );
168
+ }
169
+
170
+ .root[data-variant="pills"][data-orientation="horizontal"] .list {
171
+ margin-bottom: var(
172
+ --recursica_ui-kit_components_tabs_variants_styles_pills_variants_orientation_horizontal_properties_tabs-content-gap
173
+ );
174
+ }
175
+
176
+ .root[data-variant="pills"][data-orientation="vertical"] .list {
177
+ margin-right: var(
178
+ --recursica_ui-kit_components_tabs_variants_styles_pills_variants_orientation_vertical_properties_tabs-content-gap
179
+ );
180
+ }
181
+
182
+ /* ---------------------------------
183
+ TAB ELEMENT
184
+ --------------------------------- */
185
+ .root .tab {
186
+ min-width: var(--recursica_ui-kit_components_tabs_properties_min-width);
187
+ max-width: var(--recursica_ui-kit_components_tabs_properties_max-width);
188
+ padding: var(--tabs-vertical-padding) var(--tabs-horizontal-padding);
189
+ gap: var(--tabs-element-gap);
190
+ display: flex;
191
+ align-items: center;
192
+ justify-content: var(--tabs-content-alignment);
193
+ cursor: pointer;
194
+ position: relative;
195
+
196
+ /* Typography (Inactive by default) */
197
+ font-family: var(
198
+ --recursica_ui-kit_components_tabs_properties_inactive-text_font-family
199
+ );
200
+ font-size: var(
201
+ --recursica_ui-kit_components_tabs_properties_inactive-text_font-size
202
+ );
203
+ font-style: var(
204
+ --recursica_ui-kit_components_tabs_properties_inactive-text_font-style
205
+ );
206
+ font-weight: var(
207
+ --recursica_ui-kit_components_tabs_properties_inactive-text_font-weight
208
+ );
209
+ letter-spacing: var(
210
+ --recursica_ui-kit_components_tabs_properties_inactive-text_letter-spacing
211
+ );
212
+ line-height: var(
213
+ --recursica_ui-kit_components_tabs_properties_inactive-text_line-height
214
+ );
215
+ text-decoration: var(
216
+ --recursica_ui-kit_components_tabs_properties_inactive-text_text-decoration
217
+ );
218
+ text-transform: var(
219
+ --recursica_ui-kit_components_tabs_properties_inactive-text_text-transform
220
+ );
221
+ }
222
+
223
+ /* Hover effect (moved to bottom for specificity, see end of file) */
224
+
225
+ .root .tab[data-active] {
226
+ font-family: var(
227
+ --recursica_ui-kit_components_tabs_properties_active-text_font-family
228
+ );
229
+ font-size: var(
230
+ --recursica_ui-kit_components_tabs_properties_active-text_font-size
231
+ );
232
+ font-style: var(
233
+ --recursica_ui-kit_components_tabs_properties_active-text_font-style
234
+ );
235
+ font-weight: var(
236
+ --recursica_ui-kit_components_tabs_properties_active-text_font-weight
237
+ );
238
+ letter-spacing: var(
239
+ --recursica_ui-kit_components_tabs_properties_active-text_letter-spacing
240
+ );
241
+ line-height: var(
242
+ --recursica_ui-kit_components_tabs_properties_active-text_line-height
243
+ );
244
+ text-decoration: var(
245
+ --recursica_ui-kit_components_tabs_properties_active-text_text-decoration
246
+ );
247
+ text-transform: var(
248
+ --recursica_ui-kit_components_tabs_properties_active-text_text-transform
249
+ );
250
+ }
251
+
252
+ /* Icon support */
253
+ .root .tab svg {
254
+ width: var(--tabs-icon-size);
255
+ height: var(--tabs-icon-size);
256
+ }
257
+
258
+ /* Disabled State */
259
+ .root .tab[data-disabled] {
260
+ opacity: var(--recursica_brand_states_disabled);
261
+ cursor: not-allowed;
262
+ }
263
+
264
+ /* ---------------------------------
265
+ COLORS
266
+ Because colors are defined per-layer and theme via generic variable structures,
267
+ we rely on Mantine injecting the correct data-variant attributes, but we must
268
+ map the colors in our CSS. Recursica handles dark/light automatically via root.
269
+ --------------------------------- */
270
+
271
+ /* ---------------------------------
272
+ BORDER RADIUS GEOMETRY
273
+ --------------------------------- */
274
+
275
+ /* Pills get full radius on all sides */
276
+ .root[data-variant="pills"] .tab {
277
+ border-radius: var(--tabs-border-radius);
278
+ }
279
+
280
+ /* Default & Outline Horizontal get top radius only so they sit flush on the panel */
281
+ .root[data-variant="default"][data-orientation="horizontal"]:not(
282
+ [data-inverted]
283
+ )
284
+ .tab,
285
+ .root[data-variant="outline"][data-orientation="horizontal"]:not(
286
+ [data-inverted]
287
+ )
288
+ .tab {
289
+ border-radius: var(--tabs-border-radius) var(--tabs-border-radius) 0 0;
290
+ }
291
+
292
+ /* Inverted horizontal tabs hang downwards, so bottom corners are rounded */
293
+ .root[data-variant="default"][data-orientation="horizontal"][data-inverted]
294
+ .tab,
295
+ .root[data-variant="outline"][data-orientation="horizontal"][data-inverted]
296
+ .tab {
297
+ border-radius: 0 0 var(--tabs-border-radius) var(--tabs-border-radius);
298
+ }
299
+
300
+ /* Default & Outline Vertical get left radius only so they sit flush against the right-side panel */
301
+ .root[data-variant="default"][data-orientation="vertical"] .tab,
302
+ .root[data-variant="outline"][data-orientation="vertical"] .tab {
303
+ border-radius: var(--tabs-border-radius) 0 0 var(--tabs-border-radius);
304
+ }
305
+
306
+ /* Default Variant Colors */
307
+ .root[data-variant="default"] .tab {
308
+ background-color: var(
309
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_inactive_colors_background
310
+ );
311
+ color: var(
312
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_inactive_colors_text-color
313
+ );
314
+ }
315
+ .root[data-variant="default"] .tab svg {
316
+ color: var(
317
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_inactive_colors_icon-color
318
+ );
319
+ }
320
+
321
+ .root[data-variant="default"] .tab[data-active] {
322
+ background-color: var(
323
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_active_colors_background
324
+ );
325
+ color: var(
326
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_active_colors_text-color
327
+ );
328
+ }
329
+ .root[data-variant="default"] .tab[data-active] svg {
330
+ color: var(
331
+ --recursica_ui-kit_components_tabs_variants_styles_default_properties_active_colors_icon-color
332
+ );
333
+ }
334
+
335
+ /* Outline Variant Colors */
336
+ .root[data-variant="outline"] .tab {
337
+ background-color: var(
338
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_inactive_colors_background
339
+ );
340
+ color: var(
341
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_inactive_colors_text-color
342
+ );
343
+ }
344
+ .root[data-variant="outline"] .tab svg {
345
+ color: var(
346
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_inactive_colors_icon-color
347
+ );
348
+ }
349
+
350
+ .root[data-variant="outline"] .tab[data-active] {
351
+ background-color: var(
352
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_active_colors_background
353
+ );
354
+ color: var(
355
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_active_colors_text-color
356
+ );
357
+ }
358
+ .root[data-variant="outline"] .tab[data-active] svg {
359
+ color: var(
360
+ --recursica_ui-kit_components_tabs_variants_styles_outline_properties_active_colors_icon-color
361
+ );
362
+ }
363
+
364
+ /* Pills Variant Colors */
365
+ .root[data-variant="pills"] .tab {
366
+ background-color: var(
367
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_inactive_colors_background
368
+ );
369
+ color: var(
370
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_inactive_colors_text-color
371
+ );
372
+ border: var(--tabs-inactive-border-size) solid
373
+ var(
374
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_inactive_colors_border-color
375
+ );
376
+ }
377
+ .root[data-variant="pills"] .tab svg {
378
+ color: var(
379
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_inactive_colors_icon-color
380
+ );
381
+ }
382
+
383
+ .root[data-variant="pills"] .tab[data-active] {
384
+ background-color: var(
385
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_active_colors_background
386
+ );
387
+ color: var(
388
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_active_colors_text-color
389
+ );
390
+ border: var(--tabs-active-border-size) solid
391
+ var(
392
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_active_colors_border-color
393
+ );
394
+ }
395
+ .root[data-variant="pills"] .tab[data-active] svg {
396
+ color: var(
397
+ --recursica_ui-kit_components_tabs_variants_styles_pills_properties_active_colors_icon-color
398
+ );
399
+ }
400
+
401
+ /* Content panel */
402
+ .root .panel {
403
+ /* Recursica doesn't define panel colors intrinsically, leaves it to child content */
404
+ }
405
+
406
+ /* Hover state uses a pseudo-element to apply opacity to the background without fading the text */
407
+ .root[data-variant] .tab:not([data-active]):hover::before {
408
+ content: "";
409
+ position: absolute;
410
+ inset: 0;
411
+ border-radius: inherit;
412
+ background-color: var(--tabs-hover-color);
413
+ opacity: var(--tabs-hover-opacity);
414
+ pointer-events: none;
415
+ z-index: 0;
416
+ }
417
+
418
+ /* Ensure tab content sits above the hover background */
419
+ .root .tab > * {
420
+ z-index: 1;
421
+ position: relative;
422
+ }