@saas-ui/react 3.0.0-alpha.1 → 3.0.0-alpha.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (237) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/components/app-shell/index.d.cts +1 -1
  3. package/dist/components/app-shell/index.d.ts +1 -1
  4. package/dist/components/navbar/index.d.cts +3 -3
  5. package/dist/components/navbar/index.d.ts +3 -3
  6. package/dist/components/persona/index.d.cts +1 -1
  7. package/dist/components/persona/index.d.ts +1 -1
  8. package/dist/components/sidebar/index.d.cts +12 -12
  9. package/dist/components/sidebar/index.d.ts +12 -12
  10. package/dist/index.cjs +2 -12
  11. package/dist/index.js +2 -12
  12. package/package.json +4 -6
  13. package/src/components/app-shell/app-shell.recipe.ts +0 -52
  14. package/src/components/app-shell/app-shell.stories.tsx +0 -51
  15. package/src/components/app-shell/app-shell.tsx +0 -94
  16. package/src/components/app-shell/index.ts +0 -3
  17. package/src/components/breadcrumbs/breadcrumb.stories.tsx +0 -17
  18. package/src/components/breadcrumbs/breadcrumb.tsx +0 -36
  19. package/src/components/breadcrumbs/index.ts +0 -1
  20. package/src/components/breadcrumbs/namespace.ts +0 -8
  21. package/src/components/button/button.recipe.ts +0 -182
  22. package/src/components/button/button.stories.tsx +0 -99
  23. package/src/components/button/button.tsx +0 -55
  24. package/src/components/button/index.ts +0 -2
  25. package/src/components/checkbox/checkbox.tsx +0 -26
  26. package/src/components/checkbox/index.ts +0 -2
  27. package/src/components/close-button/close-button.stories.tsx +0 -12
  28. package/src/components/close-button/close-button.tsx +0 -18
  29. package/src/components/close-button/index.ts +0 -2
  30. package/src/components/command/command.recipe.ts +0 -17
  31. package/src/components/command/command.stories.tsx +0 -47
  32. package/src/components/command/command.tsx +0 -50
  33. package/src/components/command/index.ts +0 -1
  34. package/src/components/dialog/dialog.tsx +0 -67
  35. package/src/components/dialog/index.ts +0 -1
  36. package/src/components/dialog/namespace.ts +0 -18
  37. package/src/components/drawer/drawer.tsx +0 -57
  38. package/src/components/drawer/index.ts +0 -3
  39. package/src/components/drawer/namespace.ts +0 -19
  40. package/src/components/grid-list/grid-list.recipe.ts +0 -113
  41. package/src/components/icon-badge/icon-badge.recipe.ts +0 -57
  42. package/src/components/icon-badge/icon-badge.stories.tsx +0 -38
  43. package/src/components/icon-badge/icon-badge.tsx +0 -59
  44. package/src/components/icon-badge/index.ts +0 -2
  45. package/src/components/icons/create-icon.tsx +0 -41
  46. package/src/components/icons/icons.tsx +0 -119
  47. package/src/components/icons/index.ts +0 -1
  48. package/src/components/input-group/index.ts +0 -1
  49. package/src/components/input-group/input-group.tsx +0 -46
  50. package/src/components/link/index.ts +0 -2
  51. package/src/components/link/link.stories.tsx +0 -17
  52. package/src/components/link/link.test.tsx +0 -33
  53. package/src/components/link/link.tsx +0 -27
  54. package/src/components/loading-overlay/index.ts +0 -1
  55. package/src/components/loading-overlay/loading-overlay.recipe.ts +0 -61
  56. package/src/components/loading-overlay/loading-overlay.stories.tsx +0 -68
  57. package/src/components/loading-overlay/loading-overlay.tsx +0 -54
  58. package/src/components/loading-overlay/namespace.ts +0 -7
  59. package/src/components/navbar/index.ts +0 -1
  60. package/src/components/navbar/namespace.ts +0 -9
  61. package/src/components/navbar/navbar.recipe.ts +0 -109
  62. package/src/components/navbar/navbar.stories.tsx +0 -435
  63. package/src/components/navbar/navbar.test.tsx +0 -49
  64. package/src/components/navbar/navbar.tsx +0 -39
  65. package/src/components/number-input/index.ts +0 -2
  66. package/src/components/number-input/number-input.tsx +0 -41
  67. package/src/components/password-input/index.ts +0 -2
  68. package/src/components/password-input/password-input.tsx +0 -93
  69. package/src/components/persona/index.ts +0 -2
  70. package/src/components/persona/namespace.ts +0 -18
  71. package/src/components/persona/persona-primitive.tsx +0 -220
  72. package/src/components/persona/persona.recipe.ts +0 -94
  73. package/src/components/persona/persona.stories.tsx +0 -101
  74. package/src/components/persona/persona.tsx +0 -142
  75. package/src/components/pin-input/index.ts +0 -2
  76. package/src/components/pin-input/pin-input.tsx +0 -36
  77. package/src/components/radio/index.ts +0 -2
  78. package/src/components/radio/radio.tsx +0 -27
  79. package/src/components/search-input/index.ts +0 -2
  80. package/src/components/search-input/search-input.stories.tsx +0 -63
  81. package/src/components/search-input/search-input.tsx +0 -134
  82. package/src/components/select/index.ts +0 -1
  83. package/src/components/select/namespace.ts +0 -18
  84. package/src/components/select/select.tsx +0 -135
  85. package/src/components/sidebar/index.ts +0 -7
  86. package/src/components/sidebar/namespace.ts +0 -27
  87. package/src/components/sidebar/sidebar-item.recipe.ts +0 -65
  88. package/src/components/sidebar/sidebar.recipe.ts +0 -237
  89. package/src/components/sidebar/sidebar.stories.tsx +0 -903
  90. package/src/components/sidebar/sidebar.tsx +0 -208
  91. package/src/components/spinner/index.ts +0 -2
  92. package/src/components/spinner/spinner.stories.tsx +0 -19
  93. package/src/components/spinner/spinner.tsx +0 -21
  94. package/src/components/steps/index.ts +0 -1
  95. package/src/components/steps/namespace.ts +0 -16
  96. package/src/components/steps/steps.tsx +0 -82
  97. package/src/components/switch/index.ts +0 -3
  98. package/src/components/switch/switch.tsx +0 -39
  99. package/src/compositions/accordion.tsx +0 -47
  100. package/src/compositions/action-bar.tsx +0 -40
  101. package/src/compositions/alert.tsx +0 -51
  102. package/src/compositions/avatar.tsx +0 -74
  103. package/src/compositions/blockquote.tsx +0 -31
  104. package/src/compositions/checkbox-card.tsx +0 -57
  105. package/src/compositions/checkbox.tsx +0 -25
  106. package/src/compositions/clipboard.tsx +0 -107
  107. package/src/compositions/color-mode.tsx +0 -65
  108. package/src/compositions/data-list.tsx +0 -37
  109. package/src/compositions/empty-state.tsx +0 -34
  110. package/src/compositions/field.tsx +0 -33
  111. package/src/compositions/file-button.tsx +0 -166
  112. package/src/compositions/hover-card.tsx +0 -35
  113. package/src/compositions/link-button.tsx +0 -12
  114. package/src/compositions/menu.tsx +0 -108
  115. package/src/compositions/native-select.tsx +0 -57
  116. package/src/compositions/pagination.tsx +0 -207
  117. package/src/compositions/popover.tsx +0 -58
  118. package/src/compositions/progress-circle.tsx +0 -37
  119. package/src/compositions/progress.tsx +0 -40
  120. package/src/compositions/prose.tsx +0 -264
  121. package/src/compositions/provider.tsx +0 -12
  122. package/src/compositions/radio-card.tsx +0 -57
  123. package/src/compositions/radio.tsx +0 -24
  124. package/src/compositions/rating.tsx +0 -27
  125. package/src/compositions/segmented-control.tsx +0 -47
  126. package/src/compositions/skeleton.tsx +0 -44
  127. package/src/compositions/slider.tsx +0 -53
  128. package/src/compositions/stat.tsx +0 -75
  129. package/src/compositions/status.tsx +0 -29
  130. package/src/compositions/stepper-input.tsx +0 -49
  131. package/src/compositions/tag.tsx +0 -39
  132. package/src/compositions/timeline.tsx +0 -17
  133. package/src/compositions/toaster.tsx +0 -43
  134. package/src/compositions/toggle-tip.tsx +0 -62
  135. package/src/compositions/tooltip.tsx +0 -46
  136. package/src/index.ts +0 -7
  137. package/src/preset.ts +0 -9
  138. package/src/provider/index.ts +0 -4
  139. package/src/provider/sui-provider.tsx +0 -34
  140. package/src/provider/use-link.test.tsx +0 -60
  141. package/src/provider/use-link.tsx +0 -13
  142. package/src/styled-system/create-recipe-context.tsx +0 -91
  143. package/src/styled-system/create-slot-recipe-context.tsx +0 -188
  144. package/src/styled-system/empty.ts +0 -7
  145. package/src/styled-system/factory.types.ts +0 -11
  146. package/src/theme/animation-styles.ts +0 -53
  147. package/src/theme/breakpoints.ts +0 -11
  148. package/src/theme/conditions.ts +0 -26
  149. package/src/theme/fluid-font-sizes.ts +0 -65
  150. package/src/theme/global-css.ts +0 -94
  151. package/src/theme/index.ts +0 -72
  152. package/src/theme/layer-styles.ts +0 -116
  153. package/src/theme/recipes/chakra/accordion.ts +0 -145
  154. package/src/theme/recipes/chakra/action-bar.ts +0 -62
  155. package/src/theme/recipes/chakra/alert.ts +0 -157
  156. package/src/theme/recipes/chakra/avatar.ts +0 -141
  157. package/src/theme/recipes/chakra/badge.ts +0 -67
  158. package/src/theme/recipes/chakra/blockquote.ts +0 -83
  159. package/src/theme/recipes/chakra/breadcrumb.ts +0 -94
  160. package/src/theme/recipes/chakra/card.ts +0 -99
  161. package/src/theme/recipes/chakra/checkbox-card.ts +0 -212
  162. package/src/theme/recipes/chakra/checkbox.ts +0 -70
  163. package/src/theme/recipes/chakra/checkmark.ts +0 -83
  164. package/src/theme/recipes/chakra/code.ts +0 -17
  165. package/src/theme/recipes/chakra/collapsible.ts +0 -20
  166. package/src/theme/recipes/chakra/container.ts +0 -26
  167. package/src/theme/recipes/chakra/data-list.ts +0 -80
  168. package/src/theme/recipes/chakra/dialog.ts +0 -225
  169. package/src/theme/recipes/chakra/drawer.ts +0 -201
  170. package/src/theme/recipes/chakra/editable.ts +0 -88
  171. package/src/theme/recipes/chakra/empty-state.ts +0 -88
  172. package/src/theme/recipes/chakra/field.ts +0 -68
  173. package/src/theme/recipes/chakra/fieldset.ts +0 -62
  174. package/src/theme/recipes/chakra/file-upload.ts +0 -96
  175. package/src/theme/recipes/chakra/heading.ts +0 -27
  176. package/src/theme/recipes/chakra/hover-card.ts +0 -68
  177. package/src/theme/recipes/chakra/icon.ts +0 -30
  178. package/src/theme/recipes/chakra/input-addon.ts +0 -40
  179. package/src/theme/recipes/chakra/input.ts +0 -96
  180. package/src/theme/recipes/chakra/kbd.ts +0 -60
  181. package/src/theme/recipes/chakra/link.ts +0 -37
  182. package/src/theme/recipes/chakra/list.ts +0 -67
  183. package/src/theme/recipes/chakra/mark.ts +0 -27
  184. package/src/theme/recipes/chakra/menu.ts +0 -124
  185. package/src/theme/recipes/chakra/native-select.ts +0 -140
  186. package/src/theme/recipes/chakra/number-input.ts +0 -115
  187. package/src/theme/recipes/chakra/pin-input.ts +0 -27
  188. package/src/theme/recipes/chakra/popover.ts +0 -86
  189. package/src/theme/recipes/chakra/progress-circle.ts +0 -94
  190. package/src/theme/recipes/chakra/progress.ts +0 -127
  191. package/src/theme/recipes/chakra/radio-card.ts +0 -220
  192. package/src/theme/recipes/chakra/radio-group.ts +0 -72
  193. package/src/theme/recipes/chakra/radiomark.ts +0 -107
  194. package/src/theme/recipes/chakra/rating-group.ts +0 -94
  195. package/src/theme/recipes/chakra/segment-group.ts +0 -117
  196. package/src/theme/recipes/chakra/select.ts +0 -282
  197. package/src/theme/recipes/chakra/separator.ts +0 -51
  198. package/src/theme/recipes/chakra/skeleton.ts +0 -53
  199. package/src/theme/recipes/chakra/skip-nav-link.ts +0 -34
  200. package/src/theme/recipes/chakra/slider.ts +0 -178
  201. package/src/theme/recipes/chakra/spinner.ts +0 -32
  202. package/src/theme/recipes/chakra/stat.ts +0 -79
  203. package/src/theme/recipes/chakra/status.ts +0 -48
  204. package/src/theme/recipes/chakra/steps.ts +0 -218
  205. package/src/theme/recipes/chakra/switch.ts +0 -167
  206. package/src/theme/recipes/chakra/table.ts +0 -172
  207. package/src/theme/recipes/chakra/tabs.ts +0 -280
  208. package/src/theme/recipes/chakra/tag.ts +0 -131
  209. package/src/theme/recipes/chakra/textarea.ts +0 -88
  210. package/src/theme/recipes/chakra/timeline.ts +0 -138
  211. package/src/theme/recipes/chakra/toast.ts +0 -96
  212. package/src/theme/recipes/chakra/tooltip.ts +0 -40
  213. package/src/theme/recipes.ts +0 -46
  214. package/src/theme/semantic-tokens/colors.ts +0 -403
  215. package/src/theme/semantic-tokens/radii.ts +0 -7
  216. package/src/theme/semantic-tokens/shadows.ts +0 -52
  217. package/src/theme/slot-recipes.ts +0 -104
  218. package/src/theme/text-styles.ts +0 -39
  219. package/src/theme/tokens/animations.ts +0 -8
  220. package/src/theme/tokens/aspect-ratios.ts +0 -10
  221. package/src/theme/tokens/blurs.ts +0 -12
  222. package/src/theme/tokens/borders.ts +0 -9
  223. package/src/theme/tokens/colors.ts +0 -177
  224. package/src/theme/tokens/cursor.ts +0 -12
  225. package/src/theme/tokens/durations.ts +0 -11
  226. package/src/theme/tokens/easings.ts +0 -10
  227. package/src/theme/tokens/font-sizes.ts +0 -20
  228. package/src/theme/tokens/font-weights.ts +0 -13
  229. package/src/theme/tokens/fonts.ts +0 -15
  230. package/src/theme/tokens/keyframes.ts +0 -173
  231. package/src/theme/tokens/letter-spacing.ts +0 -9
  232. package/src/theme/tokens/line-heights.ts +0 -19
  233. package/src/theme/tokens/radius.ts +0 -18
  234. package/src/theme/tokens/sizes.ts +0 -71
  235. package/src/theme/tokens/spacing.ts +0 -38
  236. package/src/theme/tokens/z-indices.ts +0 -34
  237. package/src/theme/utils.ts +0 -46
@@ -1,67 +0,0 @@
1
- import { defineRecipe } from '@chakra-ui/react'
2
-
3
- export const badgeRecipe = defineRecipe({
4
- className: 'chakra-badge',
5
- base: {
6
- display: 'inline-flex',
7
- alignItems: 'center',
8
- borderRadius: 'l2',
9
- gap: '1',
10
- fontWeight: 'medium',
11
- fontVariantNumeric: 'tabular-nums',
12
- whiteSpace: 'nowrap',
13
- userSelect: 'none',
14
- },
15
- variants: {
16
- variant: {
17
- solid: {
18
- bg: 'colorPalette.solid',
19
- color: 'colorPalette.contrast',
20
- },
21
- subtle: {
22
- bg: 'colorPalette.subtle',
23
- color: 'colorPalette.fg',
24
- },
25
- outline: {
26
- color: 'colorPalette.fg',
27
- shadow: 'inset 0 0 0px 1px var(--shadow-color)',
28
- shadowColor: 'colorPalette.muted',
29
- },
30
- surface: {
31
- bg: 'colorPalette.subtle',
32
- color: 'colorPalette.fg',
33
- shadow: 'inset 0 0 0px 1px var(--shadow-color)',
34
- shadowColor: 'colorPalette.muted',
35
- },
36
- plain: {
37
- color: 'colorPalette.fg',
38
- },
39
- },
40
- size: {
41
- xs: {
42
- textStyle: '2xs',
43
- px: '1',
44
- minH: '4',
45
- },
46
- sm: {
47
- textStyle: 'xs',
48
- px: '1.5',
49
- minH: '5',
50
- },
51
- md: {
52
- textStyle: 'sm',
53
- px: '2',
54
- minH: '6',
55
- },
56
- lg: {
57
- textStyle: 'sm',
58
- px: '2.5',
59
- minH: '7',
60
- },
61
- },
62
- },
63
- defaultVariants: {
64
- variant: 'subtle',
65
- size: 'sm',
66
- },
67
- })
@@ -1,83 +0,0 @@
1
- import { defineSlotRecipe } from '@chakra-ui/react'
2
- import { blockquoteAnatomy } from '@chakra-ui/react/anatomy'
3
-
4
- export const blockquoteSlotRecipe = defineSlotRecipe({
5
- className: 'chakra-blockquote',
6
- slots: blockquoteAnatomy.keys(),
7
- base: {
8
- root: {
9
- position: 'relative',
10
- display: 'flex',
11
- flexDirection: 'column',
12
- gap: '2',
13
- },
14
- caption: {
15
- textStyle: 'sm',
16
- color: 'fg.muted',
17
- },
18
- icon: {
19
- boxSize: '5',
20
- },
21
- },
22
-
23
- variants: {
24
- justify: {
25
- start: {
26
- root: {
27
- alignItems: 'flex-start',
28
- textAlign: 'start',
29
- },
30
- },
31
- center: {
32
- root: {
33
- alignItems: 'center',
34
- textAlign: 'center',
35
- },
36
- },
37
- end: {
38
- root: {
39
- alignItems: 'flex-end',
40
- textAlign: 'end',
41
- },
42
- },
43
- },
44
-
45
- variant: {
46
- subtle: {
47
- root: {
48
- paddingX: '5',
49
- borderStartWidth: '4px',
50
- borderStartColor: 'colorPalette.muted',
51
- },
52
- icon: {
53
- color: 'colorPalette.fg',
54
- },
55
- },
56
-
57
- solid: {
58
- root: {
59
- paddingX: '5',
60
- borderStartWidth: '4px',
61
- borderStartColor: 'colorPalette.solid',
62
- },
63
- icon: {
64
- color: 'colorPalette.solid',
65
- },
66
- },
67
-
68
- plain: {
69
- root: {
70
- paddingX: '5',
71
- },
72
- icon: {
73
- color: 'colorPalette.solid',
74
- },
75
- },
76
- },
77
- },
78
-
79
- defaultVariants: {
80
- variant: 'subtle',
81
- justify: 'start',
82
- },
83
- })
@@ -1,94 +0,0 @@
1
- import { defineSlotRecipe } from '@chakra-ui/react'
2
- import { breadcrumbAnatomy } from '@chakra-ui/react/anatomy'
3
-
4
- export const breadcrumbSlotRecipe = defineSlotRecipe({
5
- className: 'chakra-breadcrumb',
6
- slots: breadcrumbAnatomy.keys(),
7
- base: {
8
- list: {
9
- display: 'flex',
10
- alignItems: 'center',
11
- wordBreak: 'break-word',
12
- color: 'fg.muted',
13
- },
14
- link: {
15
- outline: '0',
16
- textDecoration: 'none',
17
- borderRadius: 'l1',
18
- focusRing: 'outside',
19
- display: 'inline-flex',
20
- alignItems: 'center',
21
- gap: '2',
22
- },
23
- item: {
24
- display: 'inline-flex',
25
- alignItems: 'center',
26
- },
27
- separator: {
28
- color: 'fg.muted',
29
- opacity: '0.8',
30
- _icon: {
31
- boxSize: '1em',
32
- },
33
- },
34
- ellipsis: {
35
- display: 'inline-flex',
36
- alignItems: 'center',
37
- justifyContent: 'center',
38
- _icon: {
39
- boxSize: '1em',
40
- },
41
- },
42
- },
43
-
44
- variants: {
45
- variant: {
46
- underline: {
47
- link: {
48
- color: 'colorPalette.fg',
49
- textDecoration: 'underline',
50
- textUnderlineOffset: '0.2em',
51
- textDecorationColor: 'colorPalette.muted',
52
- },
53
- currentLink: {
54
- color: 'colorPalette.fg',
55
- },
56
- },
57
- plain: {
58
- link: {
59
- color: 'fg.muted',
60
- _hover: { color: 'fg' },
61
- },
62
- currentLink: {
63
- color: 'fg',
64
- },
65
- },
66
- },
67
-
68
- size: {
69
- sm: {
70
- list: {
71
- gap: '1',
72
- textStyle: 'xs',
73
- },
74
- },
75
- md: {
76
- list: {
77
- gap: '1.5',
78
- textStyle: 'sm',
79
- },
80
- },
81
- lg: {
82
- list: {
83
- gap: '2',
84
- textStyle: 'md',
85
- },
86
- },
87
- },
88
- },
89
-
90
- defaultVariants: {
91
- variant: 'plain',
92
- size: 'md',
93
- },
94
- })
@@ -1,99 +0,0 @@
1
- import { defineSlotRecipe } from '@chakra-ui/react'
2
- import { cardAnatomy } from '@chakra-ui/react/anatomy'
3
-
4
- export const cardSlotRecipe = defineSlotRecipe({
5
- className: 'chakra-card',
6
- slots: cardAnatomy.keys(),
7
- base: {
8
- root: {
9
- display: 'flex',
10
- flexDirection: 'column',
11
- position: 'relative',
12
- minWidth: '0',
13
- wordWrap: 'break-word',
14
- borderRadius: 'l3',
15
- color: 'fg',
16
- textAlign: 'start',
17
- },
18
- title: {
19
- fontWeight: 'semibold',
20
- },
21
- description: {
22
- color: 'fg.muted',
23
- fontSize: 'sm',
24
- },
25
- header: {
26
- paddingInline: 'var(--card-padding)',
27
- paddingTop: 'var(--card-padding)',
28
- display: 'flex',
29
- flexDirection: 'column',
30
- gap: '1.5',
31
- },
32
- body: {
33
- padding: 'var(--card-padding)',
34
- flex: '1',
35
- display: 'flex',
36
- flexDirection: 'column',
37
- },
38
- footer: {
39
- display: 'flex',
40
- alignItems: 'center',
41
- gap: '2',
42
- paddingInline: 'var(--card-padding)',
43
- paddingBottom: 'var(--card-padding)',
44
- },
45
- },
46
- variants: {
47
- size: {
48
- sm: {
49
- root: {
50
- '--card-padding': 'spacing.4',
51
- },
52
- title: {
53
- textStyle: 'md',
54
- },
55
- },
56
- md: {
57
- root: {
58
- '--card-padding': 'spacing.6',
59
- },
60
- title: {
61
- textStyle: 'lg',
62
- },
63
- },
64
- lg: {
65
- root: {
66
- '--card-padding': 'spacing.7',
67
- },
68
- title: {
69
- textStyle: 'xl',
70
- },
71
- },
72
- },
73
-
74
- variant: {
75
- elevated: {
76
- root: {
77
- bg: 'bg.panel',
78
- boxShadow: 'md',
79
- },
80
- },
81
- outline: {
82
- root: {
83
- bg: 'bg.panel',
84
- borderWidth: '1px',
85
- borderColor: 'border',
86
- },
87
- },
88
- subtle: {
89
- root: {
90
- bg: 'bg.muted',
91
- },
92
- },
93
- },
94
- },
95
- defaultVariants: {
96
- variant: 'outline',
97
- size: 'md',
98
- },
99
- })
@@ -1,212 +0,0 @@
1
- import { defineSlotRecipe } from '@chakra-ui/react'
2
- import { checkboxCardAnatomy } from '@chakra-ui/react/anatomy'
3
-
4
- import { checkmarkRecipe } from './checkmark'
5
-
6
- export const checkboxCardSlotRecipe = defineSlotRecipe({
7
- slots: checkboxCardAnatomy.keys(),
8
- className: 'chakra-checkbox-card',
9
- base: {
10
- root: {
11
- display: 'flex',
12
- flexDirection: 'column',
13
- userSelect: 'none',
14
- position: 'relative',
15
- borderRadius: 'l2',
16
- flex: '1',
17
- focusVisibleRing: 'outside',
18
- _disabled: {
19
- opacity: '0.8',
20
- borderColor: 'border.subtle',
21
- },
22
- _invalid: {
23
- outline: '2px solid',
24
- outlineColor: 'border.error',
25
- },
26
- },
27
- control: {
28
- display: 'inline-flex',
29
- flex: '1',
30
- position: 'relative',
31
- borderRadius: 'inherit',
32
- justifyContent: 'var(--checkbox-card-justify)',
33
- alignItems: 'var(--checkbox-card-align)',
34
- },
35
- label: {
36
- fontWeight: 'medium',
37
- display: 'flex',
38
- alignItems: 'center',
39
- gap: '2',
40
- _disabled: {
41
- opacity: '0.5',
42
- },
43
- },
44
- description: {
45
- opacity: '0.64',
46
- textStyle: 'sm',
47
- },
48
- addon: {
49
- _disabled: {
50
- opacity: '0.5',
51
- },
52
- },
53
- indicator: checkmarkRecipe.base,
54
- content: {
55
- display: 'flex',
56
- flexDirection: 'column',
57
- flex: '1',
58
- gap: '1',
59
- justifyContent: 'var(--checkbox-card-justify)',
60
- alignItems: 'var(--checkbox-card-align)',
61
- },
62
- },
63
-
64
- variants: {
65
- size: {
66
- sm: {
67
- root: {
68
- textStyle: 'sm',
69
- },
70
- control: {
71
- padding: '3',
72
- gap: '1.5',
73
- },
74
- addon: {
75
- px: '3',
76
- py: '1.5',
77
- borderTopWidth: '1px',
78
- },
79
- indicator: checkmarkRecipe.variants?.size.sm,
80
- },
81
- md: {
82
- root: {
83
- textStyle: 'sm',
84
- },
85
- control: {
86
- padding: '4',
87
- gap: '2.5',
88
- },
89
- addon: {
90
- px: '4',
91
- py: '2',
92
- borderTopWidth: '1px',
93
- },
94
- indicator: checkmarkRecipe.variants?.size.md,
95
- },
96
- lg: {
97
- root: {
98
- textStyle: 'md',
99
- },
100
- control: {
101
- padding: '4',
102
- gap: '3.5',
103
- },
104
- addon: {
105
- px: '4',
106
- py: '2',
107
- borderTopWidth: '1px',
108
- },
109
- indicator: checkmarkRecipe.variants?.size.lg,
110
- },
111
- },
112
-
113
- variant: {
114
- surface: {
115
- root: {
116
- borderWidth: '1px',
117
- borderColor: 'border',
118
- _checked: {
119
- bg: 'colorPalette.subtle',
120
- color: 'colorPalette.fg',
121
- borderColor: 'colorPalette.muted',
122
- },
123
- _disabled: {
124
- bg: 'bg.muted',
125
- },
126
- },
127
- indicator: checkmarkRecipe.variants?.variant.solid,
128
- },
129
-
130
- subtle: {
131
- root: {
132
- bg: 'bg.muted',
133
- },
134
- control: {
135
- _checked: {
136
- bg: 'colorPalette.muted',
137
- color: 'colorPalette.fg',
138
- },
139
- },
140
- indicator: checkmarkRecipe.variants?.variant.plain,
141
- },
142
-
143
- outline: {
144
- root: {
145
- borderWidth: '1px',
146
- borderColor: 'border',
147
- _checked: {
148
- boxShadow: '0 0 0 1px var(--shadow-color)',
149
- boxShadowColor: 'colorPalette.solid',
150
- borderColor: 'colorPalette.solid',
151
- },
152
- },
153
- indicator: checkmarkRecipe.variants?.variant.solid,
154
- },
155
-
156
- solid: {
157
- root: {
158
- borderWidth: '1px',
159
- _checked: {
160
- bg: 'colorPalette.solid',
161
- color: 'colorPalette.contrast',
162
- borderColor: 'colorPalette.solid',
163
- },
164
- },
165
- indicator: checkmarkRecipe.variants?.variant.inverted,
166
- },
167
- },
168
-
169
- justify: {
170
- start: {
171
- root: { '--checkbox-card-justify': 'flex-start' },
172
- },
173
- end: {
174
- root: { '--checkbox-card-justify': 'flex-end' },
175
- },
176
- center: {
177
- root: { '--checkbox-card-justify': 'center' },
178
- },
179
- },
180
-
181
- align: {
182
- start: {
183
- root: { '--checkbox-card-align': 'flex-start' },
184
- content: { textAlign: 'start' },
185
- },
186
- end: {
187
- root: { '--checkbox-card-align': 'flex-end' },
188
- content: { textAlign: 'end' },
189
- },
190
- center: {
191
- root: { '--checkbox-card-align': 'center' },
192
- content: { textAlign: 'center' },
193
- },
194
- },
195
-
196
- orientation: {
197
- vertical: {
198
- control: { flexDirection: 'column' },
199
- },
200
- horizontal: {
201
- control: { flexDirection: 'row' },
202
- },
203
- },
204
- },
205
-
206
- defaultVariants: {
207
- size: 'md',
208
- variant: 'outline',
209
- align: 'start',
210
- orientation: 'horizontal',
211
- },
212
- })
@@ -1,70 +0,0 @@
1
- import { defineSlotRecipe } from '@chakra-ui/react'
2
- import { checkboxAnatomy } from '@chakra-ui/react/anatomy'
3
-
4
- import { checkmarkRecipe } from './checkmark'
5
-
6
- export const checkboxSlotRecipe = defineSlotRecipe({
7
- slots: checkboxAnatomy.keys(),
8
- className: 'chakra-checkbox',
9
- base: {
10
- root: {
11
- display: 'inline-flex',
12
- gap: '2',
13
- alignItems: 'center',
14
- verticalAlign: 'top',
15
- position: 'relative',
16
- },
17
-
18
- control: checkmarkRecipe.base,
19
-
20
- label: {
21
- fontWeight: 'medium',
22
- userSelect: 'none',
23
- _disabled: {
24
- opacity: '0.5',
25
- },
26
- },
27
- },
28
-
29
- variants: {
30
- size: {
31
- xs: {
32
- root: { gap: '1.5' },
33
- label: { textStyle: 'xs' },
34
- control: checkmarkRecipe.variants?.size?.xs,
35
- },
36
- sm: {
37
- root: { gap: '2' },
38
- label: { textStyle: 'sm' },
39
- control: checkmarkRecipe.variants?.size?.sm,
40
- },
41
- md: {
42
- root: { gap: '2.5' },
43
- label: { textStyle: 'sm' },
44
- control: checkmarkRecipe.variants?.size?.md,
45
- },
46
- lg: {
47
- root: { gap: '3' },
48
- label: { textStyle: 'md' },
49
- control: checkmarkRecipe.variants?.size?.lg,
50
- },
51
- },
52
-
53
- variant: {
54
- outline: {
55
- control: checkmarkRecipe.variants?.variant?.outline,
56
- },
57
- solid: {
58
- control: checkmarkRecipe.variants?.variant?.solid,
59
- },
60
- subtle: {
61
- control: checkmarkRecipe.variants?.variant?.subtle,
62
- },
63
- },
64
- },
65
-
66
- defaultVariants: {
67
- variant: 'solid',
68
- size: 'md',
69
- },
70
- })
@@ -1,83 +0,0 @@
1
- import { defineRecipe } from '@chakra-ui/react'
2
-
3
- export const checkmarkRecipe = defineRecipe({
4
- className: 'chakra-checkmark',
5
- base: {
6
- display: 'inline-flex',
7
- alignItems: 'center',
8
- justifyContent: 'center',
9
- flexShrink: '0',
10
- color: 'white',
11
- borderWidth: '1px',
12
- borderColor: 'transparent',
13
- borderRadius: 'l1',
14
- focusVisibleRing: 'outside',
15
- _invalid: {
16
- colorPalette: 'red',
17
- borderColor: 'border.error',
18
- },
19
- _disabled: {
20
- opacity: '0.5',
21
- },
22
- },
23
- variants: {
24
- size: {
25
- xs: {
26
- boxSize: '3',
27
- },
28
- sm: {
29
- boxSize: '4',
30
- },
31
- md: {
32
- boxSize: '5',
33
- p: '0.5',
34
- },
35
- lg: {
36
- boxSize: '6',
37
- p: '0.5',
38
- },
39
- },
40
-
41
- variant: {
42
- solid: {
43
- borderColor: 'border',
44
- '&:is([data-state=checked], [data-state=indeterminate])': {
45
- bg: 'colorPalette.solid',
46
- color: 'colorPalette.contrast',
47
- borderColor: 'colorPalette.solid',
48
- },
49
- },
50
- outline: {
51
- borderColor: 'border',
52
- '&:is([data-state=checked], [data-state=indeterminate])': {
53
- color: 'colorPalette.fg',
54
- borderColor: 'colorPalette.solid',
55
- },
56
- },
57
- subtle: {
58
- bg: 'colorPalette.muted',
59
- borderColor: 'colorPalette.muted',
60
- '&:is([data-state=checked], [data-state=indeterminate])': {
61
- color: 'colorPalette.fg',
62
- },
63
- },
64
- plain: {
65
- '&:is([data-state=checked], [data-state=indeterminate])': {
66
- color: 'colorPalette.fg',
67
- },
68
- },
69
- inverted: {
70
- borderColor: 'border',
71
- color: 'colorPalette.fg',
72
- '&:is([data-state=checked], [data-state=indeterminate])': {
73
- borderColor: 'colorPalette.solid',
74
- },
75
- },
76
- },
77
- },
78
-
79
- defaultVariants: {
80
- variant: 'solid',
81
- size: 'md',
82
- },
83
- })