Skip to content

Commit b10590f

Browse files
authored
Merge pull request #18 from kubit-ui/feature/new-improvements-and-table-component-v2
Feature/new improvements and table component v2
2 parents b5b56f0 + ecc0f86 commit b10590f

File tree

287 files changed

+7861
-284
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

287 files changed

+7861
-284
lines changed

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@kubit-ui-web/react-components",
3-
"version": "1.6.2",
3+
"version": "1.7.0",
44
"description": "Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience",
55
"author": {
66
"name": "Kubit",
@@ -111,8 +111,8 @@
111111
"@types/react-dom": "^18.3.0",
112112
"@types/styled-components": "^5.1.34",
113113
"@types/ungap__structured-clone": "^1.2.0",
114-
"@typescript-eslint/eslint-plugin": "^7.14.1",
115-
"@typescript-eslint/parser": "^7.14.1",
114+
"@typescript-eslint/eslint-plugin": "^7.15.0",
115+
"@typescript-eslint/parser": "^7.15.0",
116116
"@ungap/structured-clone": "^1.2.0",
117117
"@vitejs/plugin-react": "^4.3.1",
118118
"babel-jest": "^29.7.0",
@@ -127,13 +127,13 @@
127127
"eslint-plugin-n": "^17.9.0",
128128
"eslint-plugin-node": "^11.1.0",
129129
"eslint-plugin-prettier": "5.1.3",
130-
"eslint-plugin-promise": "^6.2.0",
130+
"eslint-plugin-promise": "^6.4.0",
131131
"eslint-plugin-react": "^7.34.3",
132132
"eslint-plugin-react-hooks": "^4.6.2",
133133
"eslint-plugin-react-refresh": "^0.4.7",
134134
"eslint-plugin-storybook": "^0.8.0",
135135
"eslint-plugin-unused-imports": "^4.0.0",
136-
"globals": "^15.6.0",
136+
"globals": "^15.8.0",
137137
"gts": "^5.3.1",
138138
"html-validate": "^8.20.1",
139139
"jest": "^29.7.0",
@@ -151,9 +151,9 @@
151151
"ts-jest": "^29.1.5",
152152
"tsc-alias": "1.8.10",
153153
"typedoc": "^0.26.3",
154-
"typedoc-plugin-markdown": "^4.1.0",
155-
"typescript": "^5.5.2",
156-
"vite": "^5.3.2",
154+
"typedoc-plugin-markdown": "^4.1.2",
155+
"typescript": "^5.5.3",
156+
"vite": "^5.3.3",
157157
"vite-tsconfig-paths": "^4.3.2",
158158
"yarn-deduplicate": "^6.0.2"
159159
},
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
export { ActionBottomSheetUnControlled as ActionBottomSheet } from './actionBottomSheetUnControlled';
2-
export { ActionBottomSheetControlled } from './actionBottomSheetControlled';
2+
export {
3+
ActionBottomSheetControlled,
4+
ActionBottomSheetControlledStructure,
5+
} from './actionBottomSheetControlled';
36
export * from './types';

src/components/backToTop/backToTopControlled.tsx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,9 @@ const BackToTopControlledComponent = React.forwardRef(
2525

2626
const innerRef = React.useRef<HTMLButtonElement | null>(null);
2727

28-
React.useImperativeHandle(
29-
ref,
30-
() => {
31-
return innerRef?.current as HTMLButtonElement;
32-
},
33-
[]
34-
);
28+
React.useImperativeHandle(ref, () => {
29+
return innerRef?.current as HTMLButtonElement;
30+
}, []);
3531

3632
const { state, setRef } = useManageState({
3733
states: Object.values(BackToTopStateType) as States,

src/components/button/buttonStandAlone.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export const ButtonStandAloneStructure = (props: IButtonStandAlone): JSX.Element
1515

1616
return (
1717
<>
18-
{props.loader && (
18+
{props.loader && props.loading && (
1919
<>
2020
{typeof props.loader === 'object' && 'variant' in props.loader ? (
2121
<ButtonLoaderStyled>

src/components/button/types/button.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ type ButtonAriaAttributes = Pick<
1818
| 'aria-expanded'
1919
| 'aria-pressed'
2020
| 'aria-disabled'
21+
| 'aria-hidden'
2122
>;
2223

2324
/**

src/components/calendar/selector/selector.tsx

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,12 @@ export const Selector = (props: ISelector): JSX.Element => {
4141
);
4242
};
4343

44-
const renderButtonSelector = (type: string, showSelector: boolean, ariaLabel?: string) => {
44+
const renderButtonSelector = (
45+
type: string,
46+
showSelector: boolean,
47+
ariaLabel?: string,
48+
role?: string
49+
) => {
4550
const buttonState = showSelector ? ButtonStateType.DISABLED : ButtonStateType.DEFAULT;
4651

4752
const selectorToShow = () => {
@@ -73,6 +78,7 @@ export const Selector = (props: ISelector): JSX.Element => {
7378
<Button
7479
aria-label={ariaLabel}
7580
disabled={showSelector}
81+
role={role}
7682
size={sizeSelectorButton || props.styles?.selectorOptions?.sizeSelectorButton}
7783
variant={variantSelectorButton || props.styles?.selectorOptions?.variantSelectorButton}
7884
onClick={handleClickButtonSelector}
@@ -101,29 +107,21 @@ export const Selector = (props: ISelector): JSX.Element => {
101107
onChangeCurrentDate(dateHelpers.getAddMonths(auxCurrentDate, 1));
102108
};
103109

104-
const handleOnClickBack: React.MouseEventHandler<HTMLDivElement> = event => {
105-
onClickLeftIcon();
106-
props.onLeftIconClick?.(event);
107-
};
108-
109110
const handleOnClickLeftIcon: React.MouseEventHandler<HTMLButtonElement> = event => {
110111
onClickLeftIcon();
111112
leftArrowIcon.onClick?.(event);
112-
};
113-
114-
const handleOnClickRight: React.MouseEventHandler<HTMLDivElement> = event => {
115-
onClickRightIcon();
116-
props.onRightIconClick?.(event);
113+
props.onLeftIconClick?.(event);
117114
};
118115

119116
const handleOnClickRightIcon: React.MouseEventHandler<HTMLButtonElement> = event => {
120117
onClickRightIcon();
121118
rightArrowIcon.onClick?.(event);
119+
props.onRightIconClick?.(event);
122120
};
123121

124122
return (
125123
<SelectorStyled isDaySelector={isDaySelector} styles={props.styles}>
126-
<IconAndBackTextStyled styles={props.styles} onClick={handleOnClickBack}>
124+
<IconAndBackTextStyled styles={props.styles}>
127125
<ElementOrIcon
128126
color={iconArrowDisabled(props.minDate) ? props.styles?.colorArrowDisabled : undefined}
129127
customIconStyles={props.styles?.leftArrow}
@@ -147,20 +145,23 @@ export const Selector = (props: ISelector): JSX.Element => {
147145
renderButtonSelector(
148146
CalendarElementType.DAY,
149147
props.showDaySelector,
150-
props.configAccesibility?.daySelectorAriaLabel
148+
props.configAccesibility?.daySelectorAriaLabel,
149+
props.configAccesibility?.daySelectorRole
151150
)}
152151
{renderButtonSelector(
153152
CalendarElementType.MONTH,
154153
props.showMonthSelector,
155-
props.configAccesibility?.monthSelectorAriaLabel
154+
props.configAccesibility?.monthSelectorAriaLabel,
155+
props.configAccesibility?.monthSelectorRole
156156
)}
157157
{renderButtonSelector(
158158
CalendarElementType.YEAR,
159159
props.showYearSelector,
160-
props.configAccesibility?.yearSelectorAriaLabel
160+
props.configAccesibility?.yearSelectorAriaLabel,
161+
props.configAccesibility?.yearSelectorRole
161162
)}
162163
</OptionsStyled>
163-
<RightIconStyled showCustomSelector={showCustomSelector} onClick={handleOnClickRight}>
164+
<RightIconStyled showCustomSelector={showCustomSelector}>
164165
<ElementOrIcon
165166
color={iconArrowDisabled(props.maxDate) ? props.styles?.colorArrowDisabled : undefined}
166167
customIconStyles={props.styles?.rightArrow}

src/components/calendar/selector/types/selector.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ export interface ISelector {
3939
sizeSelectorButton?: string;
4040
};
4141
configAccesibility?: {
42+
monthSelectorRole?: string;
43+
yearSelectorRole?: string;
44+
daySelectorRole?: string;
4245
monthSelectorAriaLabel?: string;
4346
yearSelectorAriaLabel?: string;
4447
daySelectorAriaLabel?: string;

src/components/calendar/types/calendar.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ export type IConfigAccesibility = {
2828
monthSelectorAriaLabel?: string;
2929
yearSelectorAriaLabel?: string;
3030
backToMonthAriaLabel?: string;
31+
monthSelectorRole?: string;
32+
yearSelectorRole?: string;
33+
daySelectorRole?: string;
3134
};
3235
export interface ICalendarStandAlone<V = undefined extends string ? unknown : string> {
3336
id?: string;

src/components/checkbox/checkbox.styled.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,34 @@ type SpanChecked = {
1212
$isChecked?: boolean;
1313
};
1414

15-
export const CheckboxContainerStyled = styled.div`
15+
export const CheckboxContainerStyled = styled.div<ThemeStylesType>`
1616
width: fit-content;
17+
${props => getStyles(props.styles?.container)}
1718
`;
1819

19-
export const CheckboxIconLabelWrapperStyled = styled.div`
20+
export const CheckboxIconLabelWrapperStyled = styled.div<ThemeStylesType>`
2021
display: flex;
2122
flex-direction: row;
2223
align-items: flex-start;
24+
${props => getStyles(props.styles?.iconLabelWrapper)}
2325
`;
2426

2527
export const CheckboxStyled = styled.input<ThemeStylesType>`
26-
${props => getStyles(props.styles?.checkbox)}
2728
appearance: none;
2829
cursor: pointer;
2930
display: grid;
3031
place-content: center;
3132
&:disabled {
3233
cursor: default;
3334
}
35+
${props => getStyles(props.styles?.checkbox)}
3436
`;
3537

36-
export const CheckboxFrameStyled = styled.div`
38+
export const CheckboxFrameStyled = styled.div<ThemeStylesType>`
3739
position: relative;
3840
height: fit-content;
3941
width: fit-content;
42+
${props => getStyles(props.styles?.frameContainer)}
4043
`;
4144

4245
export const CheckedIcon = styled.span<ThemeStylesType & SpanChecked>`

src/components/checkbox/checkboxStandAlone.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,9 @@ const CheckboxStandAloneComponent = (
122122
};
123123

124124
return (
125-
<CheckboxContainerStyled>
126-
<CheckboxIconLabelWrapperStyled>
127-
<CheckboxFrameStyled>
125+
<CheckboxContainerStyled styles={styles}>
126+
<CheckboxIconLabelWrapperStyled styles={styles}>
127+
<CheckboxFrameStyled styles={styles}>
128128
<CheckboxStyled
129129
ref={ref}
130130
aria-describedby={buildAriaDescribedBy({

0 commit comments

Comments
 (0)