components-test-pb 0.1.3 → 0.1.5

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 (195) hide show
  1. package/dist/components/Button/src/Button.d.ts +2 -0
  2. package/dist/components/Button/src/Button.js +8 -0
  3. package/dist/components/Button/src/Button.types.d.ts +17 -0
  4. package/dist/components/Button/src/index.d.ts +5 -0
  5. package/dist/components/Button/src/index.js +4 -0
  6. package/dist/components/Button/src/renderButton.d.ts +3 -0
  7. package/dist/components/Button/src/renderButton.js +6 -0
  8. package/dist/{Components/Button → components/Button/src}/useButton.d.ts +1 -1
  9. package/dist/components/Button/src/useButton.js +15 -0
  10. package/dist/{Components/Button → components/Button/src}/useButtonStyles.styles.d.ts +2 -2
  11. package/dist/components/Button/src/useButtonStyles.styles.js +30 -0
  12. package/dist/components/index.d.ts +2 -0
  13. package/dist/components/index.js +1 -0
  14. package/dist/index.d.ts +4 -12
  15. package/dist/index.js +2 -7
  16. package/dist/utilities/index.d.ts +2 -2
  17. package/dist/utilities/index.js +1 -1
  18. package/dist/utilities/src/ARIA/index.d.ts +2 -0
  19. package/dist/utilities/src/ARIA/index.js +1 -0
  20. package/dist/utilities/src/ARIA/types.d.ts +18 -0
  21. package/dist/utilities/src/ARIA/useARIAButtonProps.d.ts +2 -0
  22. package/dist/utilities/src/ARIA/useARIAButtonProps.js +61 -0
  23. package/dist/utilities/src/compose/assertSlots.d.ts +5 -0
  24. package/dist/utilities/src/compose/assertSlots.js +13 -0
  25. package/dist/utilities/src/compose/index.d.ts +3 -0
  26. package/dist/utilities/src/compose/index.js +2 -0
  27. package/dist/utilities/src/compose/slot.d.ts +11 -0
  28. package/dist/utilities/src/compose/slot.js +25 -0
  29. package/dist/utilities/src/compose/types.d.ts +59 -0
  30. package/dist/utilities/src/index.d.ts +4 -0
  31. package/dist/utilities/src/index.js +2 -0
  32. package/package.json +4 -5
  33. package/src/components/Button/src/Button.tsx +10 -0
  34. package/src/components/Button/src/Button.types.ts +32 -0
  35. package/src/components/Button/src/index.ts +12 -0
  36. package/src/components/Button/src/renderButton.tsx +12 -0
  37. package/src/components/Button/src/useButton.ts +26 -0
  38. package/src/components/Button/src/useButtonStyles.styles.ts +77 -0
  39. package/src/components/index.ts +16 -0
  40. package/src/index.ts +36 -72
  41. package/src/utilities/index.ts +30 -2
  42. package/src/utilities/src/ARIA/index.ts +11 -0
  43. package/src/utilities/src/ARIA/types.ts +58 -0
  44. package/src/utilities/src/ARIA/useARIAButtonProps.ts +74 -0
  45. package/src/utilities/src/compose/assertSlots.ts +20 -0
  46. package/src/utilities/src/compose/index.ts +25 -0
  47. package/src/utilities/src/compose/slot.ts +49 -0
  48. package/src/utilities/src/compose/types.ts +120 -0
  49. package/src/utilities/src/index.ts +35 -0
  50. package/tsconfig.json +2 -2
  51. package/dist/Components/Button/Button.d.ts +0 -3
  52. package/dist/Components/Button/Button.js +0 -8
  53. package/dist/Components/Button/Button.types.d.ts +0 -15
  54. package/dist/Components/Button/index.d.ts +0 -5
  55. package/dist/Components/Button/index.js +0 -4
  56. package/dist/Components/Button/renderButton.d.ts +0 -3
  57. package/dist/Components/Button/renderButton.js +0 -6
  58. package/dist/Components/Button/useButton.js +0 -19
  59. package/dist/Components/Button/useButtonStyles.styles.js +0 -145
  60. package/dist/Components/Table/Table.d.ts +0 -3
  61. package/dist/Components/Table/Table.js +0 -8
  62. package/dist/Components/Table/Table.types.d.ts +0 -9
  63. package/dist/Components/Table/TableBody.d.ts +0 -3
  64. package/dist/Components/Table/TableBody.js +0 -8
  65. package/dist/Components/Table/TableBody.types.d.ts +0 -6
  66. package/dist/Components/Table/TableBody.types.js +0 -1
  67. package/dist/Components/Table/TableCell.d.ts +0 -3
  68. package/dist/Components/Table/TableCell.js +0 -8
  69. package/dist/Components/Table/TableCell.types.d.ts +0 -6
  70. package/dist/Components/Table/TableCell.types.js +0 -1
  71. package/dist/Components/Table/TableHeader.d.ts +0 -3
  72. package/dist/Components/Table/TableHeader.js +0 -8
  73. package/dist/Components/Table/TableHeader.types.d.ts +0 -6
  74. package/dist/Components/Table/TableHeader.types.js +0 -1
  75. package/dist/Components/Table/TableHeaderCell.d.ts +0 -3
  76. package/dist/Components/Table/TableHeaderCell.js +0 -8
  77. package/dist/Components/Table/TableHeaderCell.types.d.ts +0 -10
  78. package/dist/Components/Table/TableHeaderCell.types.js +0 -1
  79. package/dist/Components/Table/TableRow.d.ts +0 -3
  80. package/dist/Components/Table/TableRow.js +0 -8
  81. package/dist/Components/Table/TableRow.types.d.ts +0 -8
  82. package/dist/Components/Table/TableRow.types.js +0 -1
  83. package/dist/Components/Table/index.d.ts +0 -30
  84. package/dist/Components/Table/index.js +0 -24
  85. package/dist/Components/Table/renderTable.d.ts +0 -3
  86. package/dist/Components/Table/renderTable.js +0 -6
  87. package/dist/Components/Table/renderTableBody.d.ts +0 -3
  88. package/dist/Components/Table/renderTableBody.js +0 -6
  89. package/dist/Components/Table/renderTableCell.d.ts +0 -3
  90. package/dist/Components/Table/renderTableCell.js +0 -6
  91. package/dist/Components/Table/renderTableHeader.d.ts +0 -3
  92. package/dist/Components/Table/renderTableHeader.js +0 -6
  93. package/dist/Components/Table/renderTableHeaderCell.d.ts +0 -3
  94. package/dist/Components/Table/renderTableHeaderCell.js +0 -6
  95. package/dist/Components/Table/renderTableRow.d.ts +0 -3
  96. package/dist/Components/Table/renderTableRow.js +0 -6
  97. package/dist/Components/Table/useTable.d.ts +0 -2
  98. package/dist/Components/Table/useTable.js +0 -9
  99. package/dist/Components/Table/useTableBody.d.ts +0 -2
  100. package/dist/Components/Table/useTableBody.js +0 -6
  101. package/dist/Components/Table/useTableBodyStyles.styles.d.ts +0 -4
  102. package/dist/Components/Table/useTableBodyStyles.styles.js +0 -12
  103. package/dist/Components/Table/useTableCell.d.ts +0 -2
  104. package/dist/Components/Table/useTableCell.js +0 -6
  105. package/dist/Components/Table/useTableCellStyles.styles.d.ts +0 -4
  106. package/dist/Components/Table/useTableCellStyles.styles.js +0 -17
  107. package/dist/Components/Table/useTableHeader.d.ts +0 -2
  108. package/dist/Components/Table/useTableHeader.js +0 -6
  109. package/dist/Components/Table/useTableHeaderCell.d.ts +0 -2
  110. package/dist/Components/Table/useTableHeaderCell.js +0 -12
  111. package/dist/Components/Table/useTableHeaderCellStyles.styles.d.ts +0 -4
  112. package/dist/Components/Table/useTableHeaderCellStyles.styles.js +0 -27
  113. package/dist/Components/Table/useTableHeaderStyles.styles.d.ts +0 -4
  114. package/dist/Components/Table/useTableHeaderStyles.styles.js +0 -12
  115. package/dist/Components/Table/useTableRow.d.ts +0 -2
  116. package/dist/Components/Table/useTableRow.js +0 -8
  117. package/dist/Components/Table/useTableRowStyles.styles.d.ts +0 -4
  118. package/dist/Components/Table/useTableRowStyles.styles.js +0 -31
  119. package/dist/Components/Table/useTableStyles.styles.d.ts +0 -4
  120. package/dist/Components/Table/useTableStyles.styles.js +0 -22
  121. package/dist/Components/Text/Text.d.ts +0 -3
  122. package/dist/Components/Text/Text.js +0 -8
  123. package/dist/Components/Text/Text.types.d.ts +0 -11
  124. package/dist/Components/Text/Text.types.js +0 -1
  125. package/dist/Components/Text/index.d.ts +0 -5
  126. package/dist/Components/Text/index.js +0 -4
  127. package/dist/Components/Text/renderText.d.ts +0 -3
  128. package/dist/Components/Text/renderText.js +0 -6
  129. package/dist/Components/Text/useText.d.ts +0 -2
  130. package/dist/Components/Text/useText.js +0 -10
  131. package/dist/Components/Text/useTextStyles.styles.d.ts +0 -4
  132. package/dist/Components/Text/useTextStyles.styles.js +0 -74
  133. package/dist/Theme/tokens.d.ts +0 -81
  134. package/dist/Theme/tokens.js +0 -80
  135. package/dist/Types/compose/index.d.ts +0 -1
  136. package/dist/Types/compose/index.js +0 -1
  137. package/dist/Types/compose/types.d.ts +0 -34
  138. package/dist/Types/utils/index.d.ts +0 -1
  139. package/dist/Types/utils/index.js +0 -1
  140. package/dist/Types/utils/types.d.ts +0 -168
  141. package/dist/Types/utils/types.js +0 -2
  142. package/dist/utilities/useARIAButtonProps.d.ts +0 -16
  143. package/dist/utilities/useARIAButtonProps.js +0 -75
  144. package/src/Components/Button/Button.tsx +0 -13
  145. package/src/Components/Button/Button.types.ts +0 -26
  146. package/src/Components/Button/index.ts +0 -11
  147. package/src/Components/Button/renderButton.tsx +0 -9
  148. package/src/Components/Button/useButton.ts +0 -27
  149. package/src/Components/Button/useButtonStyles.styles.ts +0 -198
  150. package/src/Components/Table/Table.tsx +0 -13
  151. package/src/Components/Table/Table.types.ts +0 -13
  152. package/src/Components/Table/TableBody.tsx +0 -13
  153. package/src/Components/Table/TableBody.types.ts +0 -9
  154. package/src/Components/Table/TableCell.tsx +0 -13
  155. package/src/Components/Table/TableCell.types.ts +0 -9
  156. package/src/Components/Table/TableHeader.tsx +0 -13
  157. package/src/Components/Table/TableHeader.types.ts +0 -9
  158. package/src/Components/Table/TableHeaderCell.tsx +0 -13
  159. package/src/Components/Table/TableHeaderCell.types.ts +0 -13
  160. package/src/Components/Table/TableRow.tsx +0 -13
  161. package/src/Components/Table/TableRow.types.ts +0 -12
  162. package/src/Components/Table/index.ts +0 -35
  163. package/src/Components/Table/renderTable.tsx +0 -9
  164. package/src/Components/Table/renderTableBody.tsx +0 -9
  165. package/src/Components/Table/renderTableCell.tsx +0 -9
  166. package/src/Components/Table/renderTableHeader.tsx +0 -9
  167. package/src/Components/Table/renderTableHeaderCell.tsx +0 -9
  168. package/src/Components/Table/renderTableRow.tsx +0 -9
  169. package/src/Components/Table/useTable.ts +0 -14
  170. package/src/Components/Table/useTableBody.ts +0 -9
  171. package/src/Components/Table/useTableBodyStyles.styles.ts +0 -23
  172. package/src/Components/Table/useTableCell.ts +0 -9
  173. package/src/Components/Table/useTableCellStyles.styles.ts +0 -28
  174. package/src/Components/Table/useTableHeader.ts +0 -9
  175. package/src/Components/Table/useTableHeaderCell.ts +0 -19
  176. package/src/Components/Table/useTableHeaderCellStyles.styles.ts +0 -40
  177. package/src/Components/Table/useTableHeaderStyles.styles.ts +0 -23
  178. package/src/Components/Table/useTableRow.ts +0 -13
  179. package/src/Components/Table/useTableRowStyles.styles.ts +0 -45
  180. package/src/Components/Table/useTableStyles.styles.ts +0 -35
  181. package/src/Components/Text/Text.tsx +0 -13
  182. package/src/Components/Text/Text.types.ts +0 -21
  183. package/src/Components/Text/index.ts +0 -11
  184. package/src/Components/Text/renderText.tsx +0 -9
  185. package/src/Components/Text/useText.ts +0 -15
  186. package/src/Components/Text/useTextStyles.styles.ts +0 -103
  187. package/src/Theme/tokens.ts +0 -98
  188. package/src/Types/compose/index.ts +0 -12
  189. package/src/Types/compose/types.ts +0 -87
  190. package/src/Types/utils/index.ts +0 -30
  191. package/src/Types/utils/types.ts +0 -223
  192. package/src/utilities/useARIAButtonProps.ts +0 -106
  193. /package/dist/{Components/Button → components/Button/src}/Button.types.js +0 -0
  194. /package/dist/{Types/compose → utilities/src/ARIA}/types.js +0 -0
  195. /package/dist/{Components/Table/Table.types.js → utilities/src/compose/types.js} +0 -0
@@ -1,75 +0,0 @@
1
- const noop = () => { };
2
- export const useARIAButtonProps = (tag, props = {}) => {
3
- const { disabled, disabledFocusable, onClick, onKeyDown, onKeyUp, ...rest } = props;
4
- const isDisabled = disabled || disabledFocusable;
5
- const handleClick = (e) => {
6
- if (isDisabled) {
7
- e.preventDefault();
8
- e.stopPropagation();
9
- return;
10
- }
11
- onClick?.(e);
12
- };
13
- if (tag === 'button') {
14
- const result = {
15
- ...rest,
16
- onClick: handleClick,
17
- onKeyDown: isDisabled ? (e) => {
18
- e.preventDefault();
19
- e.stopPropagation();
20
- } : onKeyDown,
21
- onKeyUp: isDisabled ? (e) => {
22
- e.preventDefault();
23
- e.stopPropagation();
24
- } : onKeyUp,
25
- };
26
- if (disabled && !disabledFocusable) {
27
- result.disabled = '';
28
- }
29
- else if (disabledFocusable) {
30
- result['aria-disabled'] = 'true';
31
- }
32
- return result;
33
- }
34
- const handleKeyDown = (e) => {
35
- if (isDisabled) {
36
- e.preventDefault();
37
- e.stopPropagation();
38
- return;
39
- }
40
- if (e.key === 'Enter') {
41
- e.preventDefault();
42
- e.target?.click();
43
- }
44
- onKeyDown?.(e);
45
- };
46
- const handleKeyUp = (e) => {
47
- if (isDisabled) {
48
- e.preventDefault();
49
- e.stopPropagation();
50
- return;
51
- }
52
- if (e.key === ' ') {
53
- e.preventDefault();
54
- e.target?.click();
55
- }
56
- onKeyUp?.(e);
57
- };
58
- const result = {
59
- ...rest,
60
- role: 'button',
61
- onClick: handleClick,
62
- onKeyDown: handleKeyDown,
63
- onKeyUp: handleKeyUp,
64
- };
65
- if (isDisabled) {
66
- result['aria-disabled'] = 'true';
67
- if (tag === 'a') {
68
- delete result.href;
69
- }
70
- }
71
- if (!disabled || disabledFocusable) {
72
- result.tabIndex = rest.tabIndex ?? 0;
73
- }
74
- return result;
75
- };
@@ -1,13 +0,0 @@
1
- import type { FC } from '../../Types/utils/types.js';
2
- import type { ButtonProps } from './Button.types.js';
3
- import { useButton } from './useButton.js';
4
- import { renderButton } from './renderButton.js';
5
- import { useButtonStyles } from './useButtonStyles.styles.js';
6
-
7
- export const Button: FC<ButtonProps> = (props) => {
8
- const state = useButton(props);
9
-
10
- useButtonStyles(state);
11
-
12
- return renderButton(state);
13
- };
@@ -1,26 +0,0 @@
1
- import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
- import { DistributiveOmit } from '../../Types/utils/types.js';
3
-
4
- export type ButtonSlots = {
5
- root: NonNullable<Slot<'a'>>;
6
- };
7
-
8
- export type ButtonSize = 'small' | 'medium' | 'large';
9
-
10
- export type ButtonProps = ComponentProps<ButtonSlots> & {
11
- appearance?: 'secondary' | 'primary' | 'tertiary';
12
- disabled?: boolean;
13
- disabledFocusable?: boolean;
14
- shape?: 'rounded' | 'circular' | 'square';
15
- size?: ButtonSize;
16
- };
17
-
18
- export type ButtonBaseProps = DistributiveOmit<ButtonProps, 'appearance' | 'size' | 'shape'>;
19
-
20
- export type ButtonState = ComponentState<ButtonSlots> &
21
- Required<
22
- Pick<
23
- ButtonProps,
24
- 'appearance' | 'disabled' | 'disabledFocusable' | 'shape' | 'size'
25
- >
26
- >;
@@ -1,11 +0,0 @@
1
- export type {
2
- ButtonSlots,
3
- ButtonProps,
4
- ButtonBaseProps,
5
- ButtonState
6
- } from './Button.types.js';
7
-
8
- export { Button } from './Button.js';
9
- export { useButton } from './useButton.js';
10
- export { renderButton } from './renderButton.js';
11
- export { useButtonStyles } from './useButtonStyles.styles.js';
@@ -1,9 +0,0 @@
1
- import type { Element } from '../../Types/utils/types.js';
2
- import type { ButtonState } from './Button.types.js';
3
-
4
- export const renderButton = (state: ButtonState): Element => {
5
- const Root = state.components.root;
6
- const { as: _as, ...rootProps } = state.root;
7
-
8
- return <Root {...rootProps} />;
9
- };
@@ -1,27 +0,0 @@
1
- import type { ButtonProps, ButtonState } from './Button.types.js';
2
- import { useARIAButtonProps } from '../../utilities/useARIAButtonProps.js';
3
- import type { ARIAButtonType } from '../../utilities/useARIAButtonProps.js';
4
-
5
- export const useButton = (props: ButtonProps): ButtonState => {
6
- const { appearance, shape, size, disabled, disabledFocusable, ...buttonProps } = props;
7
-
8
- const tag = (buttonProps.as ?? 'button') as ARIAButtonType;
9
-
10
- const ariaButtonProps = useARIAButtonProps(tag, {
11
- ...buttonProps,
12
- disabled,
13
- disabledFocusable,
14
- });
15
-
16
- return {
17
- appearance: appearance ?? 'secondary',
18
- shape: shape ?? 'rounded',
19
- size: size ?? 'medium',
20
- disabled: disabled ?? false,
21
- disabledFocusable: disabledFocusable ?? false,
22
-
23
- components: { root: tag },
24
-
25
- root: { as: tag, ...ariaButtonProps } as ButtonState['root'],
26
- };
27
- };
@@ -1,198 +0,0 @@
1
- import { makeStyles, makeResetStyles, mergeClasses, shorthands } from 'css-engine-test-pb';
2
- import { SlotClassNames } from '../../Types/compose/types.js';
3
- import { ButtonSlots, ButtonState } from './Button.types.js';
4
- import { Tokens } from '../../Theme/tokens.js';
5
-
6
- export const buttonClassNames: SlotClassNames<ButtonSlots> = {
7
- root: 'Button'
8
- };
9
-
10
- const useRootBaseClassName = makeResetStyles({
11
- alignItems: 'center',
12
- boxSizing: 'border-box',
13
- display: 'inline-flex',
14
- justifyContent: 'center',
15
- textDecorationLine: 'none',
16
- verticalAlign: 'center',
17
-
18
- margin: 0,
19
- overflow: 'hidden',
20
-
21
- backgroundColor: Tokens.colorNeutralBackground1,
22
- color: Tokens.colorNeutralForeground1,
23
- border: `${Tokens.strokeWidthThin} solid ${Tokens.colorNeutralStroke1}`,
24
-
25
- fontFamily: Tokens.fontFamilyBase,
26
- outlineStyle: 'none',
27
-
28
- ':hover': {
29
- backgroundColor: Tokens.colorNeutralBackground1Hover,
30
- borderColor: Tokens.colorNeutralStroke1Hover,
31
- color: Tokens.colorNeutralForeground1,
32
-
33
- cursor: 'pointer'
34
- },
35
-
36
- ':hover:active,:active:focus-visible': {
37
- backgroundColor: Tokens.colorNeutralBackground1Pressed,
38
- borderColor: Tokens.colorNeutralStroke1Pressed,
39
- color: Tokens.colorNeutralForeground1,
40
-
41
- outlineStyle: 'none'
42
- },
43
-
44
- padding: '5px 12px',
45
- minWidth: '96px',
46
- borderRadius: Tokens.borderRadiusMedium,
47
-
48
- fontSize: Tokens.fontSize300,
49
- fontWeight: Tokens.fontWeightRegular,
50
- lineHeight: Tokens.lineHeight300,
51
-
52
- transitionDuration: Tokens.durationNormal,
53
- transitionProperty: 'background, border, color',
54
- transitionTimingFunction: Tokens.curveEasy
55
- });
56
-
57
- const useRootStyles = makeStyles({
58
- primary: {
59
- backgroundColor: Tokens.colorBrandBackground,
60
- ...shorthands.borderColor('transparent'),
61
- color: Tokens.colorBrandForeground1,
62
-
63
- ':hover': {
64
- backgroundColor: Tokens.colorBrandBackgroundHover,
65
- ...shorthands.borderColor('transparent'),
66
- color: Tokens.colorBrandForeground1Hover
67
- },
68
-
69
- ':hover:active,:active:focus-visible': {
70
- backgroundColor: Tokens.colorBrandBackgroundPressed,
71
- ...shorthands.borderColor('transparent'),
72
- color: Tokens.colorBrandForeground1Hover
73
- },
74
- },
75
- secondary: {},
76
- tertiary: {
77
- backgroundColor: 'transparent',
78
- ...shorthands.borderColor('transparent'),
79
- color: Tokens.colorNeutralForeground1,
80
-
81
- ':hover': {
82
- backgroundColor: 'transparent',
83
- ...shorthands.borderColor('transparent'),
84
- color: Tokens.colorBrandBackground
85
- },
86
-
87
- ':hover:active,:active:focus-visible': {
88
- backgroundColor: 'transparent',
89
- ...shorthands.borderColor('transparent'),
90
- color: Tokens.colorBrandBackgroundPressed
91
- },
92
- },
93
-
94
- circular: { borderRadius: Tokens.borderRadiusCircular },
95
- rounded: {},
96
- square: { borderRadius: Tokens.borderRadiusNone },
97
-
98
- small: {
99
- minWidth: '64px',
100
- padding: '3px 8px',
101
- borderRadius: Tokens.borderRadiusMedium,
102
-
103
- fontSize: Tokens.fontSize200,
104
- fontWeight: Tokens.fontWeightRegular,
105
- lineHeight: Tokens.lineHeight200
106
- },
107
- medium: {},
108
- large: {
109
- minWidth: '96px',
110
- padding: '8px 16px',
111
- borderRadius: Tokens.borderRadiusMedium,
112
-
113
- fontSize: Tokens.fontSize400,
114
- fontWeight: Tokens.fontWeightMedium,
115
- lineHeight: Tokens.lineHeight400
116
- }
117
- });
118
-
119
- const useRootDisabledstyles = makeStyles({
120
- base: {
121
- backgroundColor: Tokens.colorNeutralBackgroundDisabled,
122
- ...shorthands.borderColor(Tokens.colorNeutralStrokeDisabled),
123
- color: Tokens.colorNeutralForegroundDisabled,
124
-
125
- cursor: 'not-allowed',
126
-
127
- ':hover': {
128
- backgroundColor: Tokens.colorNeutralBackgroundDisabled,
129
- ...shorthands.borderColor(Tokens.colorNeutralStrokeDisabled),
130
- color: Tokens.colorNeutralForegroundDisabled,
131
-
132
- cursor: 'not-allowed'
133
- },
134
-
135
- ':hover:active,:active:focus-visible': {
136
- backgroundColor: Tokens.colorNeutralBackgroundDisabled,
137
- ...shorthands.borderColor(Tokens.colorNeutralStrokeDisabled),
138
- color: Tokens.colorNeutralForegroundDisabled,
139
-
140
- cursor: 'not-allowed'
141
- }
142
- },
143
- primary: {
144
- ...shorthands.borderColor('transparent'),
145
-
146
- ':hover': {
147
- ...shorthands.borderColor('transparent')
148
- },
149
-
150
- ':hover:active,:active:focus-visible': {
151
- ...shorthands.borderColor('transparent')
152
- }
153
- },
154
- secondary: {},
155
- tertiary: {
156
- backgroundColor: 'transparent',
157
- ...shorthands.borderColor('transparent'),
158
-
159
- ':hover': {
160
- backgroundColor: 'transparent',
161
- ...shorthands.borderColor('transparent')
162
- },
163
-
164
- ':hover:active,:active:focus-visible': {
165
- backgroundColor: 'transparent',
166
- ...shorthands.borderColor('transparent')
167
- }
168
- }
169
- });
170
-
171
- export const useButtonStyles = (state: ButtonState): ButtonState => {
172
-
173
- const rootBaseClassName = useRootBaseClassName();
174
-
175
- const rootStyles = useRootStyles();
176
- const rootDisabledStyles = useRootDisabledstyles();
177
-
178
- const { appearance, disabled, disabledFocusable, shape, size } = state;
179
-
180
- const isDisabled = disabled || disabledFocusable;
181
-
182
- state.root.className = mergeClasses(
183
- buttonClassNames.root,
184
- rootBaseClassName,
185
-
186
- appearance && rootStyles[appearance],
187
-
188
- rootStyles[size],
189
- rootStyles[shape],
190
-
191
- isDisabled && rootDisabledStyles.base,
192
- appearance && isDisabled && rootDisabledStyles[appearance],
193
-
194
- state.root.className,
195
- );
196
-
197
- return state;
198
- };
@@ -1,13 +0,0 @@
1
- import type { FC } from '../../Types/utils/types.js';
2
- import type { TableProps } from './Table.types.js';
3
- import { useTable } from './useTable.js';
4
- import { renderTable } from './renderTable.js';
5
- import { useTableStyles } from './useTableStyles.styles.js';
6
-
7
- export const Table: FC<TableProps> = (props) => {
8
- const state = useTable(props);
9
-
10
- useTableStyles(state);
11
-
12
- return renderTable(state);
13
- };
@@ -1,13 +0,0 @@
1
- import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
-
3
- export type TableSlots = {
4
- root: NonNullable<Slot<'table'>>;
5
- };
6
-
7
- export type TableProps = ComponentProps<TableSlots> & {
8
- size?: 'small' | 'medium';
9
- sortable?: boolean;
10
- };
11
-
12
- export type TableState = ComponentState<TableSlots> &
13
- Required<Pick<TableProps, 'size' | 'sortable'>>;
@@ -1,13 +0,0 @@
1
- import type { FC } from '../../Types/utils/types.js';
2
- import type { TableBodyProps } from './TableBody.types.js';
3
- import { useTableBody } from './useTableBody.js';
4
- import { renderTableBody } from './renderTableBody.js';
5
- import { useTableBodyStyles } from './useTableBodyStyles.styles.js';
6
-
7
- export const TableBody: FC<TableBodyProps> = (props) => {
8
- const state = useTableBody(props);
9
-
10
- useTableBodyStyles(state);
11
-
12
- return renderTableBody(state);
13
- };
@@ -1,9 +0,0 @@
1
- import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
-
3
- export type TableBodySlots = {
4
- root: NonNullable<Slot<'tbody'>>;
5
- };
6
-
7
- export type TableBodyProps = ComponentProps<TableBodySlots>;
8
-
9
- export type TableBodyState = ComponentState<TableBodySlots>;
@@ -1,13 +0,0 @@
1
- import type { FC } from '../../Types/utils/types.js';
2
- import type { TableCellProps } from './TableCell.types.js';
3
- import { useTableCell } from './useTableCell.js';
4
- import { renderTableCell } from './renderTableCell.js';
5
- import { useTableCellStyles } from './useTableCellStyles.styles.js';
6
-
7
- export const TableCell: FC<TableCellProps> = (props) => {
8
- const state = useTableCell(props);
9
-
10
- useTableCellStyles(state);
11
-
12
- return renderTableCell(state);
13
- };
@@ -1,9 +0,0 @@
1
- import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
-
3
- export type TableCellSlots = {
4
- root: NonNullable<Slot<'td'>>;
5
- };
6
-
7
- export type TableCellProps = ComponentProps<TableCellSlots>;
8
-
9
- export type TableCellState = ComponentState<TableCellSlots>;
@@ -1,13 +0,0 @@
1
- import type { FC } from '../../Types/utils/types.js';
2
- import type { TableHeaderProps } from './TableHeader.types.js';
3
- import { useTableHeader } from './useTableHeader.js';
4
- import { renderTableHeader } from './renderTableHeader.js';
5
- import { useTableHeaderStyles } from './useTableHeaderStyles.styles.js';
6
-
7
- export const TableHeader: FC<TableHeaderProps> = (props) => {
8
- const state = useTableHeader(props);
9
-
10
- useTableHeaderStyles(state);
11
-
12
- return renderTableHeader(state);
13
- };
@@ -1,9 +0,0 @@
1
- import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
-
3
- export type TableHeaderSlots = {
4
- root: NonNullable<Slot<'thead'>>;
5
- };
6
-
7
- export type TableHeaderProps = ComponentProps<TableHeaderSlots>;
8
-
9
- export type TableHeaderState = ComponentState<TableHeaderSlots>;
@@ -1,13 +0,0 @@
1
- import type { FC } from '../../Types/utils/types.js';
2
- import type { TableHeaderCellProps } from './TableHeaderCell.types.js';
3
- import { useTableHeaderCell } from './useTableHeaderCell.js';
4
- import { renderTableHeaderCell } from './renderTableHeaderCell.js';
5
- import { useTableHeaderCellStyles } from './useTableHeaderCellStyles.styles.js';
6
-
7
- export const TableHeaderCell: FC<TableHeaderCellProps> = (props) => {
8
- const state = useTableHeaderCell(props);
9
-
10
- useTableHeaderCellStyles(state);
11
-
12
- return renderTableHeaderCell(state);
13
- };
@@ -1,13 +0,0 @@
1
- import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
-
3
- export type TableHeaderCellSlots = {
4
- root: NonNullable<Slot<'th'>>;
5
- };
6
-
7
- export type TableHeaderCellProps = ComponentProps<TableHeaderCellSlots> & {
8
- sortDirection?: 'ascending' | 'descending';
9
- };
10
-
11
- export type TableHeaderCellState = ComponentState<TableHeaderCellSlots> & {
12
- sortDirection?: 'ascending' | 'descending';
13
- };
@@ -1,13 +0,0 @@
1
- import type { FC } from '../../Types/utils/types.js';
2
- import type { TableRowProps } from './TableRow.types.js';
3
- import { useTableRow } from './useTableRow.js';
4
- import { renderTableRow } from './renderTableRow.js';
5
- import { useTableRowStyles } from './useTableRowStyles.styles.js';
6
-
7
- export const TableRow: FC<TableRowProps> = (props) => {
8
- const state = useTableRow(props);
9
-
10
- useTableRowStyles(state);
11
-
12
- return renderTableRow(state);
13
- };
@@ -1,12 +0,0 @@
1
- import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
-
3
- export type TableRowSlots = {
4
- root: NonNullable<Slot<'tr'>>;
5
- };
6
-
7
- export type TableRowProps = ComponentProps<TableRowSlots> & {
8
- appearance?: 'none' | 'brand';
9
- };
10
-
11
- export type TableRowState = ComponentState<TableRowSlots> &
12
- Required<Pick<TableRowProps, 'appearance'>>;
@@ -1,35 +0,0 @@
1
- export type { TableSlots, TableProps, TableState } from './Table.types.js';
2
- export { Table } from './Table.js';
3
- export { useTable } from './useTable.js';
4
- export { renderTable } from './renderTable.js';
5
- export { useTableStyles } from './useTableStyles.styles.js';
6
-
7
- export type { TableHeaderSlots, TableHeaderProps, TableHeaderState } from './TableHeader.types.js';
8
- export { TableHeader } from './TableHeader.js';
9
- export { useTableHeader } from './useTableHeader.js';
10
- export { renderTableHeader } from './renderTableHeader.js';
11
- export { useTableHeaderStyles } from './useTableHeaderStyles.styles.js';
12
-
13
- export type { TableBodySlots, TableBodyProps, TableBodyState } from './TableBody.types.js';
14
- export { TableBody } from './TableBody.js';
15
- export { useTableBody } from './useTableBody.js';
16
- export { renderTableBody } from './renderTableBody.js';
17
- export { useTableBodyStyles } from './useTableBodyStyles.styles.js';
18
-
19
- export type { TableRowSlots, TableRowProps, TableRowState } from './TableRow.types.js';
20
- export { TableRow } from './TableRow.js';
21
- export { useTableRow } from './useTableRow.js';
22
- export { renderTableRow } from './renderTableRow.js';
23
- export { useTableRowStyles } from './useTableRowStyles.styles.js';
24
-
25
- export type { TableHeaderCellSlots, TableHeaderCellProps, TableHeaderCellState } from './TableHeaderCell.types.js';
26
- export { TableHeaderCell } from './TableHeaderCell.js';
27
- export { useTableHeaderCell } from './useTableHeaderCell.js';
28
- export { renderTableHeaderCell } from './renderTableHeaderCell.js';
29
- export { useTableHeaderCellStyles } from './useTableHeaderCellStyles.styles.js';
30
-
31
- export type { TableCellSlots, TableCellProps, TableCellState } from './TableCell.types.js';
32
- export { TableCell } from './TableCell.js';
33
- export { useTableCell } from './useTableCell.js';
34
- export { renderTableCell } from './renderTableCell.js';
35
- export { useTableCellStyles } from './useTableCellStyles.styles.js';
@@ -1,9 +0,0 @@
1
- import type { Element } from '../../Types/utils/types.js';
2
- import type { TableState } from './Table.types.js';
3
-
4
- export const renderTable = (state: TableState): Element => {
5
- const Root = state.components.root;
6
- const { as: _as, ...rootProps } = state.root;
7
-
8
- return <Root {...rootProps} />;
9
- };
@@ -1,9 +0,0 @@
1
- import type { Element } from '../../Types/utils/types.js';
2
- import type { TableBodyState } from './TableBody.types.js';
3
-
4
- export const renderTableBody = (state: TableBodyState): Element => {
5
- const Root = state.components.root;
6
- const { as: _as, ...rootProps } = state.root;
7
-
8
- return <Root {...rootProps} />;
9
- };
@@ -1,9 +0,0 @@
1
- import type { Element } from '../../Types/utils/types.js';
2
- import type { TableCellState } from './TableCell.types.js';
3
-
4
- export const renderTableCell = (state: TableCellState): Element => {
5
- const Root = state.components.root;
6
- const { as: _as, ...rootProps } = state.root;
7
-
8
- return <Root {...rootProps} />;
9
- };
@@ -1,9 +0,0 @@
1
- import type { Element } from '../../Types/utils/types.js';
2
- import type { TableHeaderState } from './TableHeader.types.js';
3
-
4
- export const renderTableHeader = (state: TableHeaderState): Element => {
5
- const Root = state.components.root;
6
- const { as: _as, ...rootProps } = state.root;
7
-
8
- return <Root {...rootProps} />;
9
- };
@@ -1,9 +0,0 @@
1
- import type { Element } from '../../Types/utils/types.js';
2
- import type { TableHeaderCellState } from './TableHeaderCell.types.js';
3
-
4
- export const renderTableHeaderCell = (state: TableHeaderCellState): Element => {
5
- const Root = state.components.root;
6
- const { as: _as, ...rootProps } = state.root;
7
-
8
- return <Root {...rootProps} />;
9
- };
@@ -1,9 +0,0 @@
1
- import type { Element } from '../../Types/utils/types.js';
2
- import type { TableRowState } from './TableRow.types.js';
3
-
4
- export const renderTableRow = (state: TableRowState): Element => {
5
- const Root = state.components.root;
6
- const { as: _as, ...rootProps } = state.root;
7
-
8
- return <Root {...rootProps} />;
9
- };
@@ -1,14 +0,0 @@
1
- import type { TableProps, TableState } from './Table.types.js';
2
-
3
- export const useTable = (props: TableProps): TableState => {
4
- const { size, sortable, ...rest } = props;
5
-
6
- return {
7
- size: size ?? 'medium',
8
- sortable: sortable ?? false,
9
-
10
- components: { root: 'table' },
11
-
12
- root: { ...rest } as TableState['root'],
13
- };
14
- };
@@ -1,9 +0,0 @@
1
- import type { TableBodyProps, TableBodyState } from './TableBody.types.js';
2
-
3
- export const useTableBody = (props: TableBodyProps): TableBodyState => {
4
- return {
5
- components: { root: 'tbody' },
6
-
7
- root: { ...props } as TableBodyState['root'],
8
- };
9
- };