venice-ui 3.0.5 → 3.0.6
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.
- package/dist/cjs/components/Filters/Filters.styles.js +8 -1
- package/dist/cjs/components/Pagination/Pagination.js +2 -2
- package/dist/cjs/components/Table/Table.js +4 -4
- package/dist/cjs/components/Table/Table.styles.js +1 -1
- package/dist/esm/components/Filters/Filters.styles.js +8 -1
- package/dist/esm/components/Pagination/Pagination.js +2 -2
- package/dist/esm/components/Table/Table.js +4 -4
- package/dist/esm/components/Table/Table.styles.js +1 -1
- package/dist/types/components/Pagination/Pagination.d.ts +1 -1
- package/dist/types/components/Table/Table.d.ts +2 -1
- package/dist/types/components/Table/Table.styles.d.ts +4 -1
- package/package.json +1 -1
|
@@ -17,6 +17,12 @@ exports.FilterTrigerRoot = styled_components_1.default.div `
|
|
|
17
17
|
cursor: pointer;
|
|
18
18
|
color: ${({ theme, config, isActive }) => isActive ? config.color.activeText : config.color.text};
|
|
19
19
|
border: none;
|
|
20
|
+
font-size: ${({ theme, config, size }) => config.size.triger[size].fontSize}px;
|
|
21
|
+
line-height: ${({ theme, config, size }) => config.size.triger[size].lineHeight}px;
|
|
22
|
+
|
|
23
|
+
${({ isActive, config }) => isActive
|
|
24
|
+
? `box-shadow: 0 0 0 ${config.size.triger.common.activeShadowWidth}px ${config.color.activeShadow};`
|
|
25
|
+
: ''}
|
|
20
26
|
|
|
21
27
|
&:hover {
|
|
22
28
|
background: ${({ theme, config }) => config.color.hover.background};
|
|
@@ -32,7 +38,8 @@ exports.FilterCounter = styled_components_1.default.div `
|
|
|
32
38
|
border-radius: ${({ theme, config, size }) => config.size.counter[size].radius}px;
|
|
33
39
|
font-size: ${({ theme, config, size }) => config.size.counter[size].fontSize}px;
|
|
34
40
|
line-height: ${({ theme, config, size }) => config.size.counter[size].lineHeight}px;
|
|
35
|
-
padding: 0
|
|
41
|
+
padding: 0
|
|
42
|
+
${({ theme, config, size }) => config.size.counter[size].paddingX}px;
|
|
36
43
|
`;
|
|
37
44
|
exports.FiltersArea = styled_components_1.default.div `
|
|
38
45
|
width: 100%;
|
|
@@ -11,7 +11,7 @@ const react_1 = __importDefault(require("react"));
|
|
|
11
11
|
const Dropdown_1 = require("../Dropdown");
|
|
12
12
|
const config_2 = require("../../config");
|
|
13
13
|
const styled_components_1 = require("styled-components");
|
|
14
|
-
const Pagination = ({ theme, themeVariant = 'default', currentPage, totalPages, pageSize, onPageChange, onPageSizeChange, availableValues = [10, 20, 50],
|
|
14
|
+
const Pagination = ({ theme, themeVariant = 'default', currentPage, totalPages, pageSize, onPageChange, onPageSizeChange, availableValues = [10, 20, 50], label = config_2.wordbook.pagination.dropdownLabel, }) => {
|
|
15
15
|
const resolvedThemeData = (0, config_1.resolveThemeWithComponentsConfig)({
|
|
16
16
|
theme,
|
|
17
17
|
themeVariant,
|
|
@@ -56,7 +56,7 @@ const Pagination = ({ theme, themeVariant = 'default', currentPage, totalPages,
|
|
|
56
56
|
react_1.default.createElement(Icon_1.Icon, { name: 'back', size: "md", onClick: () => onPageChange(Math.max(1, currentPage - 1)), isDisabled: currentPage === 1 }),
|
|
57
57
|
pageNumbers.map((num, idx) => num === '...' ? (react_1.default.createElement("span", { key: `ellipsis-${idx}` }, "...")) : (react_1.default.createElement(Pagination_styles_1.PaginationItem, { key: num, onClick: () => onPageChange(Number(num)), isActive: num === currentPage, theme: resolvedTheme, config: paginationConfig }, num))),
|
|
58
58
|
react_1.default.createElement(Icon_1.Icon, { name: 'forward', size: "md", onClick: () => onPageChange(Math.min(totalPages, currentPage + 1)), isDisabled: currentPage === totalPages })),
|
|
59
|
-
react_1.default.createElement(Dropdown_1.Dropdown, { size: "sm", label:
|
|
59
|
+
react_1.default.createElement(Dropdown_1.Dropdown, { size: "sm", label: label, labelPosition: "left", handleChange: (name, value) => {
|
|
60
60
|
const num = Number(value);
|
|
61
61
|
if (!isNaN(num) && num > 0) {
|
|
62
62
|
onPageSizeChange(num);
|
|
@@ -47,7 +47,7 @@ const Cell_1 = require("./Cell");
|
|
|
47
47
|
const Table = ({ theme, themeVariant = 'default', headers, elements, hover = true, selectable = true, filtrable = false, pagination = false, sortable = true, sort = {
|
|
48
48
|
name: '',
|
|
49
49
|
order: 'none',
|
|
50
|
-
}, pageSize = 20, moreActions = [], onRowClick,
|
|
50
|
+
}, pageSize = 20, moreActions = [], onRowClick, labels, paginationCounters }) => {
|
|
51
51
|
const resolvedThemeData = (0, config_1.resolveThemeWithComponentsConfig)({
|
|
52
52
|
theme,
|
|
53
53
|
themeVariant,
|
|
@@ -153,15 +153,15 @@ const Table = ({ theme, themeVariant = 'default', headers, elements, hover = tru
|
|
|
153
153
|
(filtrable || pagination) && (react_1.default.createElement(Table_styles_1.TableHeader, { theme: resolvedTheme, config: tableConfig, right: pagination && !filtrable },
|
|
154
154
|
react_1.default.createElement(react_1.default.Fragment, null,
|
|
155
155
|
filtrable && (react_1.default.createElement(Table_styles_1.HeaderSection, null,
|
|
156
|
-
react_1.default.createElement(Filters_1.Filters, { labels:
|
|
156
|
+
react_1.default.createElement(Filters_1.Filters, { labels: labels, headers: headers, elements: initialElementsRef.current &&
|
|
157
157
|
initialElementsRef.current.length > 0
|
|
158
158
|
? initialElementsRef.current
|
|
159
159
|
: elements, fullElements: initialElementsRef.current &&
|
|
160
160
|
initialElementsRef.current.length > 0
|
|
161
161
|
? initialElementsRef.current
|
|
162
162
|
: elements, handleSubmitFilters: handleApplyFilters, externalClearSignal: filtersClearSignal, onClear: handleClearFilters }))),
|
|
163
|
-
pagination && (react_1.default.createElement(Table_styles_1.HeaderSection,
|
|
164
|
-
react_1.default.createElement(Pagination_1.Pagination, { currentPage: currentPage, totalPages: totalPages, pageSize: currentPageSize, onPageChange: setCurrentPage, onPageSizeChange: setCurrentPageSize })))))),
|
|
163
|
+
pagination && (react_1.default.createElement(Table_styles_1.HeaderSection, { right: true },
|
|
164
|
+
react_1.default.createElement(Pagination_1.Pagination, { currentPage: currentPage, totalPages: totalPages, pageSize: currentPageSize, onPageChange: setCurrentPage, onPageSizeChange: setCurrentPageSize, label: labels?.pagination, availableValues: paginationCounters })))))),
|
|
165
165
|
react_1.default.createElement(Table_styles_1.TableContentWrapper, null,
|
|
166
166
|
react_1.default.createElement(Table_styles_1.TableContent, { theme: resolvedTheme, config: tableConfig, cellPadding: "0", cellSpacing: "0" },
|
|
167
167
|
react_1.default.createElement(Table_styles_1.TableHead, null,
|
|
@@ -29,7 +29,7 @@ exports.TableContentWrapper = styled_components_1.default.div `
|
|
|
29
29
|
exports.HeaderSection = styled_components_1.default.div `
|
|
30
30
|
display: flex;
|
|
31
31
|
align-items: center;
|
|
32
|
-
justify-content:
|
|
32
|
+
justify-content: ${({ right }) => (right ? 'flex-end' : 'flex-start')};
|
|
33
33
|
width: 50%;
|
|
34
34
|
`;
|
|
35
35
|
exports.TableContent = styled_components_1.default.table `
|
|
@@ -11,6 +11,12 @@ export const FilterTrigerRoot = styled.div `
|
|
|
11
11
|
cursor: pointer;
|
|
12
12
|
color: ${({ theme, config, isActive }) => isActive ? config.color.activeText : config.color.text};
|
|
13
13
|
border: none;
|
|
14
|
+
font-size: ${({ theme, config, size }) => config.size.triger[size].fontSize}px;
|
|
15
|
+
line-height: ${({ theme, config, size }) => config.size.triger[size].lineHeight}px;
|
|
16
|
+
|
|
17
|
+
${({ isActive, config }) => isActive
|
|
18
|
+
? `box-shadow: 0 0 0 ${config.size.triger.common.activeShadowWidth}px ${config.color.activeShadow};`
|
|
19
|
+
: ''}
|
|
14
20
|
|
|
15
21
|
&:hover {
|
|
16
22
|
background: ${({ theme, config }) => config.color.hover.background};
|
|
@@ -26,7 +32,8 @@ export const FilterCounter = styled.div `
|
|
|
26
32
|
border-radius: ${({ theme, config, size }) => config.size.counter[size].radius}px;
|
|
27
33
|
font-size: ${({ theme, config, size }) => config.size.counter[size].fontSize}px;
|
|
28
34
|
line-height: ${({ theme, config, size }) => config.size.counter[size].lineHeight}px;
|
|
29
|
-
padding: 0
|
|
35
|
+
padding: 0
|
|
36
|
+
${({ theme, config, size }) => config.size.counter[size].paddingX}px;
|
|
30
37
|
`;
|
|
31
38
|
export const FiltersArea = styled.div `
|
|
32
39
|
width: 100%;
|
|
@@ -5,7 +5,7 @@ import React from 'react';
|
|
|
5
5
|
import { Dropdown } from '../Dropdown';
|
|
6
6
|
import { wordbook } from '../../config';
|
|
7
7
|
import { ThemeProvider } from 'styled-components';
|
|
8
|
-
export const Pagination = ({ theme, themeVariant = 'default', currentPage, totalPages, pageSize, onPageChange, onPageSizeChange, availableValues = [10, 20, 50],
|
|
8
|
+
export const Pagination = ({ theme, themeVariant = 'default', currentPage, totalPages, pageSize, onPageChange, onPageSizeChange, availableValues = [10, 20, 50], label = wordbook.pagination.dropdownLabel, }) => {
|
|
9
9
|
const resolvedThemeData = resolveThemeWithComponentsConfig({
|
|
10
10
|
theme,
|
|
11
11
|
themeVariant,
|
|
@@ -50,7 +50,7 @@ export const Pagination = ({ theme, themeVariant = 'default', currentPage, total
|
|
|
50
50
|
React.createElement(Icon, { name: 'back', size: "md", onClick: () => onPageChange(Math.max(1, currentPage - 1)), isDisabled: currentPage === 1 }),
|
|
51
51
|
pageNumbers.map((num, idx) => num === '...' ? (React.createElement("span", { key: `ellipsis-${idx}` }, "...")) : (React.createElement(PaginationItem, { key: num, onClick: () => onPageChange(Number(num)), isActive: num === currentPage, theme: resolvedTheme, config: paginationConfig }, num))),
|
|
52
52
|
React.createElement(Icon, { name: 'forward', size: "md", onClick: () => onPageChange(Math.min(totalPages, currentPage + 1)), isDisabled: currentPage === totalPages })),
|
|
53
|
-
React.createElement(Dropdown, { size: "sm", label:
|
|
53
|
+
React.createElement(Dropdown, { size: "sm", label: label, labelPosition: "left", handleChange: (name, value) => {
|
|
54
54
|
const num = Number(value);
|
|
55
55
|
if (!isNaN(num) && num > 0) {
|
|
56
56
|
onPageSizeChange(num);
|
|
@@ -11,7 +11,7 @@ import { Cell } from './Cell';
|
|
|
11
11
|
export const Table = ({ theme, themeVariant = 'default', headers, elements, hover = true, selectable = true, filtrable = false, pagination = false, sortable = true, sort = {
|
|
12
12
|
name: '',
|
|
13
13
|
order: 'none',
|
|
14
|
-
}, pageSize = 20, moreActions = [], onRowClick,
|
|
14
|
+
}, pageSize = 20, moreActions = [], onRowClick, labels, paginationCounters }) => {
|
|
15
15
|
const resolvedThemeData = resolveThemeWithComponentsConfig({
|
|
16
16
|
theme,
|
|
17
17
|
themeVariant,
|
|
@@ -117,15 +117,15 @@ export const Table = ({ theme, themeVariant = 'default', headers, elements, hove
|
|
|
117
117
|
(filtrable || pagination) && (React.createElement(TableHeader, { theme: resolvedTheme, config: tableConfig, right: pagination && !filtrable },
|
|
118
118
|
React.createElement(React.Fragment, null,
|
|
119
119
|
filtrable && (React.createElement(HeaderSection, null,
|
|
120
|
-
React.createElement(Filters, { labels:
|
|
120
|
+
React.createElement(Filters, { labels: labels, headers: headers, elements: initialElementsRef.current &&
|
|
121
121
|
initialElementsRef.current.length > 0
|
|
122
122
|
? initialElementsRef.current
|
|
123
123
|
: elements, fullElements: initialElementsRef.current &&
|
|
124
124
|
initialElementsRef.current.length > 0
|
|
125
125
|
? initialElementsRef.current
|
|
126
126
|
: elements, handleSubmitFilters: handleApplyFilters, externalClearSignal: filtersClearSignal, onClear: handleClearFilters }))),
|
|
127
|
-
pagination && (React.createElement(HeaderSection,
|
|
128
|
-
React.createElement(Pagination, { currentPage: currentPage, totalPages: totalPages, pageSize: currentPageSize, onPageChange: setCurrentPage, onPageSizeChange: setCurrentPageSize })))))),
|
|
127
|
+
pagination && (React.createElement(HeaderSection, { right: true },
|
|
128
|
+
React.createElement(Pagination, { currentPage: currentPage, totalPages: totalPages, pageSize: currentPageSize, onPageChange: setCurrentPage, onPageSizeChange: setCurrentPageSize, label: labels?.pagination, availableValues: paginationCounters })))))),
|
|
129
129
|
React.createElement(TableContentWrapper, null,
|
|
130
130
|
React.createElement(TableContent, { theme: resolvedTheme, config: tableConfig, cellPadding: "0", cellSpacing: "0" },
|
|
131
131
|
React.createElement(TableHead, null,
|
|
@@ -23,7 +23,7 @@ export const TableContentWrapper = styled.div `
|
|
|
23
23
|
export const HeaderSection = styled.div `
|
|
24
24
|
display: flex;
|
|
25
25
|
align-items: center;
|
|
26
|
-
justify-content:
|
|
26
|
+
justify-content: ${({ right }) => (right ? 'flex-end' : 'flex-start')};
|
|
27
27
|
width: 50%;
|
|
28
28
|
`;
|
|
29
29
|
export const TableContent = styled.table `
|
|
@@ -9,7 +9,7 @@ interface IPaginationProps {
|
|
|
9
9
|
onPageChange: (page: number) => void;
|
|
10
10
|
onPageSizeChange: (size: number) => void;
|
|
11
11
|
availableValues?: number[];
|
|
12
|
-
|
|
12
|
+
label?: string;
|
|
13
13
|
}
|
|
14
14
|
export declare const Pagination: FC<IPaginationProps>;
|
|
15
15
|
export {};
|
|
@@ -15,7 +15,8 @@ interface ITableProps {
|
|
|
15
15
|
pageSize?: number;
|
|
16
16
|
onRowClick?: (id: string) => void;
|
|
17
17
|
pagination?: boolean;
|
|
18
|
-
|
|
18
|
+
labels?: IFilterLabels;
|
|
19
|
+
paginationCounters?: number[];
|
|
19
20
|
}
|
|
20
21
|
export interface ITableHeaderProps {
|
|
21
22
|
name: string;
|
|
@@ -8,7 +8,10 @@ interface ITableHeaderProps {
|
|
|
8
8
|
}
|
|
9
9
|
export declare const TableHeader: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, ITableHeaderProps, never>;
|
|
10
10
|
export declare const TableContentWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
11
|
-
|
|
11
|
+
interface IHeaderSectionProps {
|
|
12
|
+
right?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const HeaderSection: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, IHeaderSectionProps, never>;
|
|
12
15
|
interface ITableContentProps {
|
|
13
16
|
theme: AppTheme;
|
|
14
17
|
config: any;
|