@economic/taco 1.38.2 → 1.40.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.
- package/dist/components/Provider/Localization.d.ts +15 -1
- package/dist/components/Table2/Table2.d.ts +16 -1
- package/dist/components/Table2/components/column/Base.d.ts +2 -0
- package/dist/components/Table2/components/filters/components/ColumnFilter.d.ts +1 -0
- package/dist/components/Table2/components/filters/components/EmptyFilter.d.ts +13 -0
- package/dist/components/Table2/hooks/useTableShortcuts.d.ts +2 -0
- package/dist/components/Table2/types.d.ts +11 -3
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +3 -3
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +15 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js +1 -1
- package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/Table2.js +33 -13
- package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js +3 -3
- package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js +4 -2
- package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +79 -24
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js +14 -6
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js +63 -0
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js +3 -2
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +7 -2
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +4 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js +46 -0
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table2/types.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +4 -0
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/keyboard.js +1 -1
- package/dist/esm/packages/taco/src/utils/keyboard.js.map +1 -1
- package/dist/taco.cjs.development.js +259 -57
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/package.json +2 -3
- package/types.json +189 -29
|
@@ -185,7 +185,7 @@ export declare const defaultLocalisationTexts: {
|
|
|
185
185
|
filters: {
|
|
186
186
|
button: string;
|
|
187
187
|
buttons: {
|
|
188
|
-
|
|
188
|
+
addNewFilter: string;
|
|
189
189
|
clearFilters: string;
|
|
190
190
|
};
|
|
191
191
|
comparators: {
|
|
@@ -202,9 +202,23 @@ export declare const defaultLocalisationTexts: {
|
|
|
202
202
|
isEmpty: string;
|
|
203
203
|
isNotEmpty: string;
|
|
204
204
|
};
|
|
205
|
+
conditions: {
|
|
206
|
+
and: string;
|
|
207
|
+
where: string;
|
|
208
|
+
};
|
|
209
|
+
emptyFilter: {
|
|
210
|
+
condition: string;
|
|
211
|
+
value: string;
|
|
212
|
+
};
|
|
205
213
|
tooltip: string;
|
|
206
214
|
total: string;
|
|
207
215
|
};
|
|
216
|
+
footer: {
|
|
217
|
+
summary: {
|
|
218
|
+
records: string;
|
|
219
|
+
selected: string;
|
|
220
|
+
};
|
|
221
|
+
};
|
|
208
222
|
rowDensity: {
|
|
209
223
|
tooltip: string;
|
|
210
224
|
compact: string;
|
|
@@ -50,7 +50,7 @@ export declare type Table2Texts = {
|
|
|
50
50
|
filters: {
|
|
51
51
|
button: string;
|
|
52
52
|
buttons: {
|
|
53
|
-
|
|
53
|
+
addNewFilter: string;
|
|
54
54
|
clearFilters: string;
|
|
55
55
|
};
|
|
56
56
|
comparators: {
|
|
@@ -67,9 +67,23 @@ export declare type Table2Texts = {
|
|
|
67
67
|
isEmpty: string;
|
|
68
68
|
isNotEmpty: string;
|
|
69
69
|
};
|
|
70
|
+
conditions: {
|
|
71
|
+
and: string;
|
|
72
|
+
where: string;
|
|
73
|
+
};
|
|
74
|
+
emptyFilter: {
|
|
75
|
+
condition: string;
|
|
76
|
+
value: string;
|
|
77
|
+
};
|
|
70
78
|
tooltip: string;
|
|
71
79
|
total: string;
|
|
72
80
|
};
|
|
81
|
+
footer: {
|
|
82
|
+
summary: {
|
|
83
|
+
records: string;
|
|
84
|
+
selected: string;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
73
87
|
rowDensity: {
|
|
74
88
|
tooltip: string;
|
|
75
89
|
compact: string;
|
|
@@ -102,6 +116,7 @@ export declare type Table2Ref = HTMLDivElement & {
|
|
|
102
116
|
resetRowExpansion: () => void;
|
|
103
117
|
resetRowSelection: () => void;
|
|
104
118
|
resetSorting: () => void;
|
|
119
|
+
toggleEditing: () => void;
|
|
105
120
|
};
|
|
106
121
|
};
|
|
107
122
|
export declare type ForwardedTable2WithStatics = React.ForwardRefExoticComponent<Table2Props<any>> & {
|
|
@@ -2,11 +2,13 @@ import React from 'react';
|
|
|
2
2
|
import { Column as RTColumn, Table as RTTable } from '@tanstack/react-table';
|
|
3
3
|
export declare type ColumnBaseProps<TType = any> = React.HTMLAttributes<HTMLDivElement> & {
|
|
4
4
|
column: RTColumn<TType, any>;
|
|
5
|
+
frozenColumnIds: string[];
|
|
5
6
|
scrolled: boolean;
|
|
6
7
|
table: RTTable<TType>;
|
|
7
8
|
};
|
|
8
9
|
export declare const ColumnBase: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
9
10
|
column: RTColumn<any, any>;
|
|
11
|
+
frozenColumnIds: string[];
|
|
10
12
|
scrolled: boolean;
|
|
11
13
|
table: RTTable<any>;
|
|
12
14
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Column as RTColumn, Table as RTTable } from '@tanstack/react-table';
|
|
3
|
+
import { Select2Value } from '../../../../Select2/Select2';
|
|
4
|
+
export declare type EmptyFilterProps = {
|
|
5
|
+
allColumns: RTColumn<any, any>[];
|
|
6
|
+
table: RTTable<any>;
|
|
7
|
+
onChange?: (value: Select2Value) => void;
|
|
8
|
+
onRemove?: () => void;
|
|
9
|
+
filteredColumns: RTColumn<any, any>[];
|
|
10
|
+
emptyFilterCount: Number;
|
|
11
|
+
index: Number;
|
|
12
|
+
};
|
|
13
|
+
export declare const EmptyFilter: (props: EmptyFilterProps) => JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ColumnFiltersState, ColumnOrderState, ColumnSizingState, OnChangeFn, Row, SortingState, VisibilityState } from '@tanstack/react-table';
|
|
2
|
+
import { BuiltInSortingFn, ColumnFiltersState, ColumnOrderState, ColumnSizingState, OnChangeFn, Row, SortingState, VisibilityState } from '@tanstack/react-table';
|
|
3
3
|
import { DialogProps } from '../Dialog/Dialog';
|
|
4
4
|
import { IconName } from '../Icon/Icon';
|
|
5
5
|
import { MenuProps } from '../Menu/Menu';
|
|
@@ -42,7 +42,7 @@ export declare type Table2ColumnControlProps = {
|
|
|
42
42
|
'data-inline-editing-component'?: 'true';
|
|
43
43
|
};
|
|
44
44
|
export declare type Table2ColumnControlRenderer<TType = any> = ((props: Table2ColumnControlProps, row?: TType) => JSX.Element) | 'datepicker' | 'input' | 'switch';
|
|
45
|
-
export declare type SortFn<TType = unknown> = (rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1;
|
|
45
|
+
export declare type SortFn<TType = unknown> = ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1) | BuiltInSortingFn | 'auto';
|
|
46
46
|
export declare type Table2ColumnProps<TType = any> = {
|
|
47
47
|
accessor: string;
|
|
48
48
|
align?: CellAlignment;
|
|
@@ -90,7 +90,7 @@ export declare type Table2Settings = {
|
|
|
90
90
|
export declare type RowClickHandler<TType = any> = (row: TType) => void;
|
|
91
91
|
export declare type RowDragHandler<TType = any> = (rows: TType[], showPlaceholder: (string: any) => void, setDataTransfer: (data: string) => void) => void;
|
|
92
92
|
export declare type RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;
|
|
93
|
-
export declare type RowSelectionHandler<TType = any> = (rows: TType[]) => void;
|
|
93
|
+
export declare type RowSelectionHandler<TType = any> = (rows: TType[], allSelected: boolean) => void;
|
|
94
94
|
export declare type RowExpansionRenderer<TType = any> = (row: TType) => (() => JSX.Element) | null;
|
|
95
95
|
export declare type SortHandler = OnChangeFn<SortingState>;
|
|
96
96
|
export declare type SettingsHandler = OnChangeFn<Table2Settings>;
|
|
@@ -101,6 +101,13 @@ export declare type DataColumnIndexes = {
|
|
|
101
101
|
dataColumnEndOffset: number;
|
|
102
102
|
};
|
|
103
103
|
export declare type Table2Children<TType = any> = (React.ReactElement<Table2ColumnProps<TType>> | boolean | null | undefined)[];
|
|
104
|
+
export declare type Table2ShortcutHandlerFn<TType = any> = (row: TType) => void;
|
|
105
|
+
export declare type Table2ShortcutHandlerObject<TType = any> = {
|
|
106
|
+
handler: Table2ShortcutHandlerFn<TType>;
|
|
107
|
+
meta?: boolean;
|
|
108
|
+
shift?: boolean;
|
|
109
|
+
};
|
|
110
|
+
export declare type Table2Shortcuts<TType = any> = Record<string, Table2ShortcutHandlerFn<TType> | Table2ShortcutHandlerObject<TType>>;
|
|
104
111
|
export declare type Table2Props<TType = any> = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {
|
|
105
112
|
actionsForRow?: Table2RowActionRenderer<TType>[];
|
|
106
113
|
actionsForRowLength?: number;
|
|
@@ -132,6 +139,7 @@ export declare type Table2Props<TType = any> = Omit<React.HTMLAttributes<HTMLDiv
|
|
|
132
139
|
onRowDrop?: RowDropHandler<TType>;
|
|
133
140
|
onRowSelect?: RowSelectionHandler<TType>;
|
|
134
141
|
onSave?: SaveHandler<TType>;
|
|
142
|
+
shortcuts?: Table2Shortcuts<TType>;
|
|
135
143
|
toolbarLeft?: JSX.Element;
|
|
136
144
|
toolbarRight?: JSX.Element;
|
|
137
145
|
settings?: Table2Settings;
|
|
@@ -243,15 +243,15 @@ const DrawerContent = /*#__PURE__*/React__default.forwardRef(function Content(pr
|
|
|
243
243
|
ref: contentRef,
|
|
244
244
|
"data-taco": "drawer",
|
|
245
245
|
className: containerClassName
|
|
246
|
-
}, /*#__PURE__*/React__default.createElement("div", Object.assign({
|
|
246
|
+
}, output, /*#__PURE__*/React__default.createElement("div", Object.assign({
|
|
247
247
|
className: dragHandlerClassName
|
|
248
248
|
}, dragHandleProps, {
|
|
249
249
|
"data-testid": "resize-handler",
|
|
250
250
|
ref: dragHandlerRef
|
|
251
|
-
})),
|
|
251
|
+
})), showCloseButton ? /*#__PURE__*/React__default.createElement(Close, null, /*#__PURE__*/React__default.createElement(IconButton, {
|
|
252
252
|
appearance: "discrete",
|
|
253
253
|
"aria-label": texts.drawer.close,
|
|
254
|
-
className: "absolute
|
|
254
|
+
className: "absolute right-0 top-0 mr-2 mt-4",
|
|
255
255
|
icon: "close"
|
|
256
256
|
})) : null);
|
|
257
257
|
const styleProp = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.js","sources":["../../../../../../../../src/components/Drawer/components/Content.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { Group, GroupProps } from '../../Group/Group';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { useLocalization } from '../../Provider/Localization';\nimport { Backdrop } from '../../Backdrop/Backdrop';\nimport { useCurrentMenu } from '../../Menu/Context';\nimport { useCurrentDrawer } from '../Context';\nimport {\n getBackdropClassNames,\n getDrawerContainerClassNames,\n getDrawerContentClassNames,\n getDrawerDragHandlerClassNames,\n} from '../util';\nimport { useDraggable } from '../../../utils/hooks/useDraggable';\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport { FocusScope } from '@react-aria/focus';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { useGlobalKeyDown } from '../../../hooks/useGlobalKeyDown';\n\nconst RESIZE_MIN = 360;\nconst RESIZE_MAX = 1000;\n\nexport type DrawerContentRenderProps = {\n close: () => void;\n};\n\nexport enum DrawerAnimationDefinition {\n Visible = 'visible',\n Hidden = 'hidden',\n}\n\nconst RenderPropWrapper = React.forwardRef(function RenderPropWrapper({ children, onClick, renderProps }: any, ref) {\n const close = () => {\n onClick(new CustomEvent('close'));\n };\n\n return children({ close, ref, ...renderProps });\n});\n\nexport type DrawerTitleProps = React.HTMLAttributes<HTMLHeadingElement>;\nexport const Title = React.forwardRef(function DrawerTitle(props: DrawerTitleProps, ref: React.Ref<HTMLHeadingElement>) {\n const { className, children, ...otherProps } = props;\n /**\n * By design in default drawer version Title has grey separator, but we might have exceptions like Drawer + Tabs scenario,\n * where we might want to hide the grey separator. For this reason separator was rendedr with using of classNames,\n * so it can be easily overriden in exceptional scenarious.\n * */\n const cName = cn('grow-0 py-4 pl-4 justyfy-self-start mb-0 border-b-[1px] border-grey-300', className);\n return (\n <DialogPrimitive.Title className={cName} {...otherProps} ref={ref}>\n <span className=\"line-clamp-2 inline-block w-4/6 overflow-y-hidden\">{children}</span>\n </DialogPrimitive.Title>\n );\n});\n\nexport type DrawerFooterProps = React.HTMLAttributes<HTMLDivElement>;\nexport const Footer = React.forwardRef(function DrawerFooter(props: DrawerFooterProps, ref: React.Ref<HTMLDivElement>) {\n const { className, ...otherProps } = props;\n /**\n * The same scenario as Title, grey separator rendered using classNames to have posibility to override it.\n */\n const cName = cn('mt-auto flex justify-end grow-0 p-4 border-t-[1px] border-grey-300', props.className);\n return <div {...otherProps} className={cName} ref={ref} />;\n});\n\nexport const Actions = React.forwardRef(function Actions(props: GroupProps, ref: React.Ref<HTMLDivElement>) {\n const { className, ...otherProps } = props;\n const cName = cn('absolute top-0 right-10 mr-[8px] mt-4', className);\n return <Group {...otherProps} className={cName} ref={ref} />;\n});\n\nexport type DrawerCloseProps = React.HTMLAttributes<HTMLButtonElement>;\nexport const Close = React.forwardRef(function DrawerClose(props: DrawerCloseProps, ref: React.Ref<HTMLButtonElement>) {\n const { onClose } = useCurrentDrawer();\n\n return <DialogPrimitive.Close {...props} onClick={onClose} ref={ref} asChild />;\n});\n\n/**\n * It is container component, needed to provide default scrolling behaviour and padding, to simplyfy usage, requested by feature devs.\n * It is optional to use InnerContent component, if consumer need to implement custom behaviour or paddings for inner content,\n * then it's simply enough to render children and wrap them in custom implementation.\n */\nexport type DrawerInnerContentProps = React.HTMLAttributes<HTMLDivElement> & {\n /**\n * Consumer might want to use innerContent component to apply default paddings, but want to implement custom scrolling behaviour,\n * default value - true\n */\n isScrollable?: boolean;\n};\nexport const InnerContent = React.forwardRef(function InnerContent(\n props: DrawerInnerContentProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const { className, isScrollable = true, children, ...otherProps } = props;\n const cName = cn(\n 'grow flex flex-col',\n {\n 'overflow-y-hidden': isScrollable,\n 'p-4': !isScrollable,\n },\n className\n );\n return (\n <div {...otherProps} className={cName} ref={ref}>\n {isScrollable ? <ScrollArea className=\"w-full gap-y-0.5 p-4\">{children}</ScrollArea> : children}\n </div>\n );\n});\n\nconst Portal = (props: DialogPrimitive.DialogPortalProps) => {\n const { children, ...otherProps } = props;\n const { open = false, variant, outlet } = useCurrentDrawer();\n\n const backdropClassNames = React.useMemo(() => {\n return getBackdropClassNames(open);\n }, [open]);\n\n if (!outlet) {\n return null;\n }\n\n return (\n <DialogPrimitive.Portal {...otherProps} container={outlet ?? undefined}>\n {variant === 'overlay' ? (\n <DialogPrimitive.Overlay forceMount>\n {/* Animate backdrop appearance for overlay version of Drawer */}\n <Backdrop className={backdropClassNames} />\n </DialogPrimitive.Overlay>\n ) : null}\n {children}\n </DialogPrimitive.Portal>\n );\n};\n\ntype UntrappedFocusDrawerContentProps = React.HTMLAttributes<HTMLDivElement> & {\n onEscape: (event: KeyboardEvent) => void;\n};\nconst UntrappedFocusDrawerContent = React.forwardRef(function EmbeddedDrawerContent(\n props: UntrappedFocusDrawerContentProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const { onEscape, children, ...otherProps } = props;\n\n useGlobalKeyDown('Escape', onEscape);\n\n return (\n <div {...otherProps} ref={ref}>\n <FocusScope autoFocus={true} restoreFocus={true}>\n {children}\n </FocusScope>\n </div>\n );\n});\n\nexport type DrawerContentProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {\n /** An accessible label to be announced when the side drawer is opened */\n 'aria-label': string;\n children: Omit<React.ReactNode, 'Function'> | ((props: DrawerContentRenderProps) => JSX.Element);\n};\nexport const DrawerContent = React.forwardRef(function Content(\n props: DrawerContentProps,\n externalRef: React.Ref<HTMLDivElement>\n) {\n const {\n size,\n onClose,\n onResize,\n open = false,\n closeOnEscape,\n variant,\n focusTrap,\n showCloseButton,\n setOpen,\n } = useCurrentDrawer();\n const { className, style, children, ...otherProps } = props;\n const { texts } = useLocalization();\n const ref = useMergedRef<HTMLDivElement>(externalRef);\n\n // if the drawer was opened by a menu, we need to close the menu when the drawer closes\n // the menu is still open (and mounted) because it is the trigger for the drawer\n const menu = useCurrentMenu();\n let handleCloseAutoFocus: DialogPrimitive.DialogContentProps['onCloseAutoFocus'];\n\n if (menu) {\n handleCloseAutoFocus = () => {\n menu.close();\n };\n }\n\n const containerClassName: string = React.useMemo(() => cn(getDrawerContainerClassNames(variant), className), [className]);\n\n const { contentClassName, dragHandlerClassName } = React.useMemo(() => {\n const contentClassName = getDrawerContentClassNames(size, variant, open);\n const dragHandlerClassName: string = getDrawerDragHandlerClassNames();\n return { contentClassName, dragHandlerClassName };\n }, [size, variant, open]);\n\n const handleEscapeKeyDown = (event: KeyboardEvent) => {\n const isTargetInsideDrawerContent = ref.current?.contains(event.target as HTMLElement);\n if (isTargetInsideDrawerContent) {\n if (!closeOnEscape) {\n event.preventDefault();\n } else {\n setOpen && setOpen(false);\n if (onClose) {\n onClose();\n }\n }\n }\n };\n\n const [containerWidth, setContainerWidth] = React.useState<number>();\n\n const dragHandlerRef = React.useRef<HTMLDivElement>(null);\n const {\n position,\n dragging,\n handleProps: dragHandleProps,\n resetPosition,\n } = useDraggable(useMergedRef<HTMLDivElement>(dragHandlerRef));\n\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (onResize) {\n onResize(position.x);\n }\n }, [position]);\n\n React.useEffect(() => {\n setContainerWidth(contentRef.current?.offsetWidth);\n }, [contentRef, open]);\n\n const resizedWidth = React.useMemo((): number | undefined => {\n if (containerWidth) {\n return Math.min(RESIZE_MAX, Math.max(RESIZE_MIN, containerWidth - position.x || 0));\n }\n return;\n }, [containerWidth, position]);\n\n React.useEffect(() => {\n if (!dragging && resizedWidth) {\n setContainerWidth(resizedWidth);\n resetPosition();\n }\n }, [dragging]);\n\n let output;\n\n if (typeof children === 'function') {\n output = (\n <Close>\n <RenderPropWrapper>{children}</RenderPropWrapper>\n </Close>\n );\n } else {\n output = children;\n }\n\n const content = (\n <div ref={contentRef} data-taco=\"drawer\" className={containerClassName}>\n <div className={dragHandlerClassName} {...dragHandleProps} data-testid=\"resize-handler\" ref={dragHandlerRef} />\n {output}\n {showCloseButton ? (\n <Close>\n <IconButton\n appearance=\"discrete\"\n aria-label={texts.drawer.close}\n className=\"absolute top-0 right-0 mt-4 mr-2\"\n icon=\"close\"\n />\n </Close>\n ) : null}\n </div>\n );\n\n const styleProp = {\n ...style,\n ...{ width: resizedWidth },\n };\n\n return focusTrap ? (\n <DialogPrimitive.Content\n forceMount\n {...otherProps}\n className={contentClassName}\n onEscapeKeyDown={handleEscapeKeyDown}\n onInteractOutside={variant === 'overlay' ? undefined : event => event.preventDefault()}\n onCloseAutoFocus={handleCloseAutoFocus}\n ref={ref}\n style={styleProp}>\n {content}\n </DialogPrimitive.Content>\n ) : (\n <UntrappedFocusDrawerContent onEscape={handleEscapeKeyDown} className={contentClassName} style={styleProp} ref={ref}>\n {content}\n </UntrappedFocusDrawerContent>\n );\n});\n\nexport const Content = React.forwardRef(function Content(props: DrawerContentProps, externalRef: React.Ref<HTMLDivElement>) {\n const { children } = props;\n\n return (\n <Portal>\n <DrawerContent {...props} ref={externalRef}>\n {children}\n </DrawerContent>\n </Portal>\n );\n});\n"],"names":["RESIZE_MIN","RESIZE_MAX","DrawerAnimationDefinition","RenderPropWrapper","React","forwardRef","children","onClick","renderProps","ref","close","CustomEvent","Title","DrawerTitle","props","className","otherProps","cName","cn","DialogPrimitive","Footer","DrawerFooter","Actions","Group","Close","DrawerClose","onClose","useCurrentDrawer","asChild","InnerContent","isScrollable","ScrollArea","Portal","open","variant","outlet","backdropClassNames","useMemo","getBackdropClassNames","container","undefined","forceMount","Backdrop","UntrappedFocusDrawerContent","EmbeddedDrawerContent","onEscape","useGlobalKeyDown","FocusScope","autoFocus","restoreFocus","DrawerContent","Content","externalRef","size","onResize","closeOnEscape","focusTrap","showCloseButton","setOpen","style","texts","useLocalization","useMergedRef","menu","useCurrentMenu","handleCloseAutoFocus","containerClassName","getDrawerContainerClassNames","contentClassName","dragHandlerClassName","getDrawerContentClassNames","getDrawerDragHandlerClassNames","handleEscapeKeyDown","event","isTargetInsideDrawerContent","current","contains","target","preventDefault","containerWidth","setContainerWidth","useState","dragHandlerRef","useRef","position","dragging","handleProps","dragHandleProps","resetPosition","useDraggable","contentRef","useEffect","x","offsetWidth","resizedWidth","Math","min","max","output","content","IconButton","appearance","drawer","icon","styleProp","width","onEscapeKeyDown","onInteractOutside","onCloseAutoFocus"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Content.js","sources":["../../../../../../../../src/components/Drawer/components/Content.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { Group, GroupProps } from '../../Group/Group';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { useLocalization } from '../../Provider/Localization';\nimport { Backdrop } from '../../Backdrop/Backdrop';\nimport { useCurrentMenu } from '../../Menu/Context';\nimport { useCurrentDrawer } from '../Context';\nimport {\n getBackdropClassNames,\n getDrawerContainerClassNames,\n getDrawerContentClassNames,\n getDrawerDragHandlerClassNames,\n} from '../util';\nimport { useDraggable } from '../../../utils/hooks/useDraggable';\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport { FocusScope } from '@react-aria/focus';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { useGlobalKeyDown } from '../../../hooks/useGlobalKeyDown';\n\nconst RESIZE_MIN = 360;\nconst RESIZE_MAX = 1000;\n\nexport type DrawerContentRenderProps = {\n close: () => void;\n};\n\nexport enum DrawerAnimationDefinition {\n Visible = 'visible',\n Hidden = 'hidden',\n}\n\nconst RenderPropWrapper = React.forwardRef(function RenderPropWrapper({ children, onClick, renderProps }: any, ref) {\n const close = () => {\n onClick(new CustomEvent('close'));\n };\n\n return children({ close, ref, ...renderProps });\n});\n\nexport type DrawerTitleProps = React.HTMLAttributes<HTMLHeadingElement>;\nexport const Title = React.forwardRef(function DrawerTitle(props: DrawerTitleProps, ref: React.Ref<HTMLHeadingElement>) {\n const { className, children, ...otherProps } = props;\n /**\n * By design in default drawer version Title has grey separator, but we might have exceptions like Drawer + Tabs scenario,\n * where we might want to hide the grey separator. For this reason separator was rendedr with using of classNames,\n * so it can be easily overriden in exceptional scenarious.\n * */\n const cName = cn('grow-0 py-4 pl-4 justyfy-self-start mb-0 border-b-[1px] border-grey-300', className);\n return (\n <DialogPrimitive.Title className={cName} {...otherProps} ref={ref}>\n <span className=\"line-clamp-2 inline-block w-4/6 overflow-y-hidden\">{children}</span>\n </DialogPrimitive.Title>\n );\n});\n\nexport type DrawerFooterProps = React.HTMLAttributes<HTMLDivElement>;\nexport const Footer = React.forwardRef(function DrawerFooter(props: DrawerFooterProps, ref: React.Ref<HTMLDivElement>) {\n const { className, ...otherProps } = props;\n /**\n * The same scenario as Title, grey separator rendered using classNames to have posibility to override it.\n */\n const cName = cn('mt-auto flex justify-end grow-0 p-4 border-t-[1px] border-grey-300', props.className);\n return <div {...otherProps} className={cName} ref={ref} />;\n});\n\nexport const Actions = React.forwardRef(function Actions(props: GroupProps, ref: React.Ref<HTMLDivElement>) {\n const { className, ...otherProps } = props;\n const cName = cn('absolute top-0 right-10 mr-[8px] mt-4', className);\n return <Group {...otherProps} className={cName} ref={ref} />;\n});\n\nexport type DrawerCloseProps = React.HTMLAttributes<HTMLButtonElement>;\nexport const Close = React.forwardRef(function DrawerClose(props: DrawerCloseProps, ref: React.Ref<HTMLButtonElement>) {\n const { onClose } = useCurrentDrawer();\n\n return <DialogPrimitive.Close {...props} onClick={onClose} ref={ref} asChild />;\n});\n\n/**\n * It is container component, needed to provide default scrolling behaviour and padding, to simplyfy usage, requested by feature devs.\n * It is optional to use InnerContent component, if consumer need to implement custom behaviour or paddings for inner content,\n * then it's simply enough to render children and wrap them in custom implementation.\n */\nexport type DrawerInnerContentProps = React.HTMLAttributes<HTMLDivElement> & {\n /**\n * Consumer might want to use innerContent component to apply default paddings, but want to implement custom scrolling behaviour,\n * default value - true\n */\n isScrollable?: boolean;\n};\nexport const InnerContent = React.forwardRef(function InnerContent(\n props: DrawerInnerContentProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const { className, isScrollable = true, children, ...otherProps } = props;\n const cName = cn(\n 'grow flex flex-col',\n {\n 'overflow-y-hidden': isScrollable,\n 'p-4': !isScrollable,\n },\n className\n );\n return (\n <div {...otherProps} className={cName} ref={ref}>\n {isScrollable ? <ScrollArea className=\"w-full gap-y-0.5 p-4\">{children}</ScrollArea> : children}\n </div>\n );\n});\n\nconst Portal = (props: DialogPrimitive.DialogPortalProps) => {\n const { children, ...otherProps } = props;\n const { open = false, variant, outlet } = useCurrentDrawer();\n\n const backdropClassNames = React.useMemo(() => {\n return getBackdropClassNames(open);\n }, [open]);\n\n if (!outlet) {\n return null;\n }\n\n return (\n <DialogPrimitive.Portal {...otherProps} container={outlet ?? undefined}>\n {variant === 'overlay' ? (\n <DialogPrimitive.Overlay forceMount>\n {/* Animate backdrop appearance for overlay version of Drawer */}\n <Backdrop className={backdropClassNames} />\n </DialogPrimitive.Overlay>\n ) : null}\n {children}\n </DialogPrimitive.Portal>\n );\n};\n\ntype UntrappedFocusDrawerContentProps = React.HTMLAttributes<HTMLDivElement> & {\n onEscape: (event: KeyboardEvent) => void;\n};\nconst UntrappedFocusDrawerContent = React.forwardRef(function EmbeddedDrawerContent(\n props: UntrappedFocusDrawerContentProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const { onEscape, children, ...otherProps } = props;\n\n useGlobalKeyDown('Escape', onEscape);\n\n return (\n <div {...otherProps} ref={ref}>\n <FocusScope autoFocus={true} restoreFocus={true}>\n {children}\n </FocusScope>\n </div>\n );\n});\n\nexport type DrawerContentProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {\n /** An accessible label to be announced when the side drawer is opened */\n 'aria-label': string;\n children: Omit<React.ReactNode, 'Function'> | ((props: DrawerContentRenderProps) => JSX.Element);\n};\nexport const DrawerContent = React.forwardRef(function Content(\n props: DrawerContentProps,\n externalRef: React.Ref<HTMLDivElement>\n) {\n const {\n size,\n onClose,\n onResize,\n open = false,\n closeOnEscape,\n variant,\n focusTrap,\n showCloseButton,\n setOpen,\n } = useCurrentDrawer();\n const { className, style, children, ...otherProps } = props;\n const { texts } = useLocalization();\n const ref = useMergedRef<HTMLDivElement>(externalRef);\n\n // if the drawer was opened by a menu, we need to close the menu when the drawer closes\n // the menu is still open (and mounted) because it is the trigger for the drawer\n const menu = useCurrentMenu();\n let handleCloseAutoFocus: DialogPrimitive.DialogContentProps['onCloseAutoFocus'];\n\n if (menu) {\n handleCloseAutoFocus = () => {\n menu.close();\n };\n }\n\n const containerClassName: string = React.useMemo(() => cn(getDrawerContainerClassNames(variant), className), [className]);\n\n const { contentClassName, dragHandlerClassName } = React.useMemo(() => {\n const contentClassName = getDrawerContentClassNames(size, variant, open);\n const dragHandlerClassName: string = getDrawerDragHandlerClassNames();\n return { contentClassName, dragHandlerClassName };\n }, [size, variant, open]);\n\n const handleEscapeKeyDown = (event: KeyboardEvent) => {\n const isTargetInsideDrawerContent = ref.current?.contains(event.target as HTMLElement);\n if (isTargetInsideDrawerContent) {\n if (!closeOnEscape) {\n event.preventDefault();\n } else {\n setOpen && setOpen(false);\n if (onClose) {\n onClose();\n }\n }\n }\n };\n\n const [containerWidth, setContainerWidth] = React.useState<number>();\n\n const dragHandlerRef = React.useRef<HTMLDivElement>(null);\n const {\n position,\n dragging,\n handleProps: dragHandleProps,\n resetPosition,\n } = useDraggable(useMergedRef<HTMLDivElement>(dragHandlerRef));\n\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (onResize) {\n onResize(position.x);\n }\n }, [position]);\n\n React.useEffect(() => {\n setContainerWidth(contentRef.current?.offsetWidth);\n }, [contentRef, open]);\n\n const resizedWidth = React.useMemo((): number | undefined => {\n if (containerWidth) {\n return Math.min(RESIZE_MAX, Math.max(RESIZE_MIN, containerWidth - position.x || 0));\n }\n return;\n }, [containerWidth, position]);\n\n React.useEffect(() => {\n if (!dragging && resizedWidth) {\n setContainerWidth(resizedWidth);\n resetPosition();\n }\n }, [dragging]);\n\n let output;\n\n if (typeof children === 'function') {\n output = (\n <Close>\n <RenderPropWrapper>{children}</RenderPropWrapper>\n </Close>\n );\n } else {\n output = children;\n }\n\n const content = (\n <div ref={contentRef} data-taco=\"drawer\" className={containerClassName}>\n {output}\n <div className={dragHandlerClassName} {...dragHandleProps} data-testid=\"resize-handler\" ref={dragHandlerRef} />\n {showCloseButton ? (\n <Close>\n <IconButton\n appearance=\"discrete\"\n aria-label={texts.drawer.close}\n className=\"absolute right-0 top-0 mr-2 mt-4\"\n icon=\"close\"\n />\n </Close>\n ) : null}\n </div>\n );\n\n const styleProp = {\n ...style,\n ...{ width: resizedWidth },\n };\n\n return focusTrap ? (\n <DialogPrimitive.Content\n forceMount\n {...otherProps}\n className={contentClassName}\n onEscapeKeyDown={handleEscapeKeyDown}\n onInteractOutside={variant === 'overlay' ? undefined : event => event.preventDefault()}\n onCloseAutoFocus={handleCloseAutoFocus}\n ref={ref}\n style={styleProp}>\n {content}\n </DialogPrimitive.Content>\n ) : (\n <UntrappedFocusDrawerContent onEscape={handleEscapeKeyDown} className={contentClassName} style={styleProp} ref={ref}>\n {content}\n </UntrappedFocusDrawerContent>\n );\n});\n\nexport const Content = React.forwardRef(function Content(props: DrawerContentProps, externalRef: React.Ref<HTMLDivElement>) {\n const { children } = props;\n\n return (\n <Portal>\n <DrawerContent {...props} ref={externalRef}>\n {children}\n </DrawerContent>\n </Portal>\n );\n});\n"],"names":["RESIZE_MIN","RESIZE_MAX","DrawerAnimationDefinition","RenderPropWrapper","React","forwardRef","children","onClick","renderProps","ref","close","CustomEvent","Title","DrawerTitle","props","className","otherProps","cName","cn","DialogPrimitive","Footer","DrawerFooter","Actions","Group","Close","DrawerClose","onClose","useCurrentDrawer","asChild","InnerContent","isScrollable","ScrollArea","Portal","open","variant","outlet","backdropClassNames","useMemo","getBackdropClassNames","container","undefined","forceMount","Backdrop","UntrappedFocusDrawerContent","EmbeddedDrawerContent","onEscape","useGlobalKeyDown","FocusScope","autoFocus","restoreFocus","DrawerContent","Content","externalRef","size","onResize","closeOnEscape","focusTrap","showCloseButton","setOpen","style","texts","useLocalization","useMergedRef","menu","useCurrentMenu","handleCloseAutoFocus","containerClassName","getDrawerContainerClassNames","contentClassName","dragHandlerClassName","getDrawerContentClassNames","getDrawerDragHandlerClassNames","handleEscapeKeyDown","event","isTargetInsideDrawerContent","current","contains","target","preventDefault","containerWidth","setContainerWidth","useState","dragHandlerRef","useRef","position","dragging","handleProps","dragHandleProps","resetPosition","useDraggable","contentRef","useEffect","x","offsetWidth","resizedWidth","Math","min","max","output","content","IconButton","appearance","drawer","icon","styleProp","width","onEscapeKeyDown","onInteractOutside","onCloseAutoFocus"],"mappings":"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"}
|
|
@@ -118,7 +118,7 @@ const defaultLocalisationTexts = {
|
|
|
118
118
|
filters: {
|
|
119
119
|
button: 'Filters',
|
|
120
120
|
buttons: {
|
|
121
|
-
|
|
121
|
+
addNewFilter: 'Add new filter',
|
|
122
122
|
clearFilters: 'Clear all filters'
|
|
123
123
|
},
|
|
124
124
|
comparators: {
|
|
@@ -135,9 +135,23 @@ const defaultLocalisationTexts = {
|
|
|
135
135
|
isEmpty: 'Is empty',
|
|
136
136
|
isNotEmpty: 'Is not empty'
|
|
137
137
|
},
|
|
138
|
+
conditions: {
|
|
139
|
+
and: 'And',
|
|
140
|
+
where: 'Where'
|
|
141
|
+
},
|
|
142
|
+
emptyFilter: {
|
|
143
|
+
condition: 'Condition',
|
|
144
|
+
value: 'Value'
|
|
145
|
+
},
|
|
138
146
|
tooltip: 'Apply filters',
|
|
139
147
|
total: 'Viewing [CURRENT] of [TOTAL]'
|
|
140
148
|
},
|
|
149
|
+
footer: {
|
|
150
|
+
summary: {
|
|
151
|
+
records: 'Records:',
|
|
152
|
+
selected: 'Records selected:'
|
|
153
|
+
}
|
|
154
|
+
},
|
|
141
155
|
rowDensity: {
|
|
142
156
|
tooltip: 'Row density',
|
|
143
157
|
compact: 'compact',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Localization.js","sources":["../../../../../../../src/components/Provider/Localization.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Locale } from '../../types';\nimport { CalendarTexts } from '../Calendar/Calendar';\nimport { ComboboxTexts } from '../Combobox/Combobox';\nimport { DialogTexts } from '../Dialog/Dialog';\nimport { PaginationTexts } from '../Pagination/Pagination';\nimport { ListboxTexts } from '../Listbox/Listbox';\nimport { ToastsTexts } from '../Toast/Toast';\nimport { DatepickerTexts } from '../Datepicker/Datepicker';\nimport { HeaderTexts } from '../Header/Header';\nimport { HangerTexts } from '../Hanger/Hanger';\nimport { SelectTexts } from '../Select/Select';\nimport { TourTexts } from '../Tour/Tour';\nimport { TableTexts } from '../Table/Table';\nimport { Table2Texts } from '../Table2/Table2';\nimport { SearchInputTexts } from '../SearchInput/SearchInput';\nimport { Select2Texts } from '../Select2/Select2';\nimport { BannerTexts } from '../Banner/Banner';\nimport { DrawerTexts } from '../Drawer/Drawer';\n\nexport type LocalizationTexts = {\n /** Localized texts and aria-labels for [Banner](component:banner) component */\n banner: BannerTexts;\n /** Localized texts and aria-labels for [Calendar](component:calendar) component */\n calendar: CalendarTexts;\n /** Localized texts and aria-labels for [Combobox](component:combobox) component */\n combobox: ComboboxTexts;\n /** Localized texts and aria-labels for [DatePicker](component:datepicker) component */\n datepicker: DatepickerTexts;\n /** Localized texts and aria-labels for [Dialog](component:dialog) component */\n dialog: DialogTexts;\n /** Localized texts and aria-labels for [Hanger](component:hanger) component */\n hanger: HangerTexts;\n /** Localized texts and aria-labels for [Header](component:header) component */\n header: HeaderTexts;\n /** Localized texts and aria-labels for [Listbox](component:listbox) component */\n listbox: ListboxTexts;\n /** Localized texts and aria-labels for [Pagination](component:pagination) component */\n pagination: PaginationTexts;\n /** Localized texts and aria-labels for [Table](component:table) component */\n table: TableTexts;\n /** Localized texts and aria-labels for [Table2](component:table2) component */\n table2: Table2Texts;\n /** Localized texts and aria-labels for [SearchInput](component:searchinput) component */\n searchInput: SearchInputTexts;\n /** Localized texts and aria-labels for [Select](component:select) component */\n select: SelectTexts;\n /** Localized texts and aria-labels for [Select2](component:select2) component */\n select2: Select2Texts;\n /** Localized texts and aria-labels for [Toast](component:toast) component */\n toasts: ToastsTexts;\n /** Localized texts and aria-labels for [Tour](component:tour) component */\n tour: TourTexts;\n /** Localized texts and aria-labels for [Drawer](component:drawer) component */\n drawer: DrawerTexts;\n};\n\nexport type Localization = {\n /**\n * Provide the language code used in application.\n * Default value is `en-GB`\n */\n locale: Locale;\n /** Provide the texts and aria-labels for components used within the provider */\n texts: LocalizationTexts;\n /** Provide the formatting */\n formatting: {\n /** Default value is `dd.mm.yy` */\n date: string;\n };\n};\n\nexport const defaultLocalisationTexts = {\n banner: {\n close: 'Close',\n },\n calendar: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n actions: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n today: 'Today',\n },\n },\n combobox: {\n tooltip: 'Search in list',\n },\n datepicker: {\n calendar: 'Calendar',\n clear: 'Clear',\n expand: 'Show calendar',\n shortcuts: 'Shortcuts',\n },\n dialog: {\n close: 'Close',\n drag: 'Drag',\n },\n hanger: {\n close: 'Close',\n },\n header: {\n addAgreement: 'Add agreement',\n logout: 'Log off',\n more: 'More',\n new: 'New',\n search: 'Search for agreement...',\n },\n listbox: {\n loading: 'Loading results...',\n empty: 'No results found',\n allOption: 'All',\n },\n pagination: {\n label: 'Pagination',\n pageSize: 'Items per page',\n showingXofYofTotal: 'Showing [X] - [Y] of [total]',\n actions: {\n firstPage: 'Goto first page',\n firstPageWithShortcut: 'Goto first page (Home)',\n previousPage: 'Goto previous page',\n previousPageWithShortcut: 'Goto previous page (Page Up)',\n nextPage: 'Goto next page',\n nextPageWithShortcut: 'Goto next page (Page Down)',\n lastPage: 'Goto last page',\n lastPageWithShortcut: 'Goto last page (End)',\n pageX: 'Goto page [X]',\n },\n },\n table: {\n actions: 'Other actions',\n edit: 'Edit (e)',\n copy: 'Copy (c)',\n del: 'Delete (del)',\n newSubRow: 'New row (shift + n)',\n loading: 'Loading...',\n },\n table2: {\n columns: {\n resize: {\n tooltip: 'Resize column',\n },\n actions: {\n tooltip: 'Other actions',\n },\n drag: {\n tooltip: 'Drag row',\n },\n expansion: {\n collapse: 'Collapse row',\n collapseAll: 'Collapse all rows',\n expand: 'Expand row',\n expandAll: 'Expand all rows',\n },\n select: {\n deselect: 'Deselect row',\n deselectAll: 'Deselect all rows',\n select: 'Select row',\n selectAll: 'Select all rows',\n },\n menu: {\n hideColumn: 'Hide column',\n freezeColumns: (count = 1) => (count === 1 ? 'Freeze the first column' : `Freeze first ${count} columns`),\n unfreezeColumns: 'Unfreeze all columns',\n },\n },\n columnSettings: {\n search: 'Search column...',\n tooltip: 'Column settings',\n button: 'Columns',\n noResults: 'No results',\n },\n editing: {\n button: 'Edit',\n tooltip: 'Edit',\n tooltipDisabled: 'There are no visible columns that support editing',\n rowIndicator: {\n rowWillMove: 'Row will move due to sorting',\n rowWillBeHidden: 'Row will hide due to filtering',\n rowWillMoveReasonSearch:\n 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',\n rowWillMoveReasonFilter:\n \"Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row\",\n rowWillMoveReasonSorting:\n \"Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row\",\n },\n },\n filters: {\n button: 'Filters',\n buttons: {\n addFilter: 'Add Filter',\n clearFilters: 'Clear all filters',\n },\n comparators: {\n contains: 'Contains',\n doesNotContain: 'Does not contain',\n isEqualTo: 'Is',\n isNotEqualTo: 'Is not',\n isGreaterThan: 'Is greater than',\n isLessThan: 'Is less than',\n isBetween: 'Is between',\n isOneOf: 'Is one of',\n isNoneOf: 'Is none of',\n isAllOf: 'Is all of',\n isEmpty: 'Is empty',\n isNotEmpty: 'Is not empty',\n },\n tooltip: 'Apply filters',\n total: 'Viewing [CURRENT] of [TOTAL]',\n },\n rowDensity: {\n tooltip: 'Row density',\n compact: 'compact',\n normal: 'normal',\n comfortable: 'comfortable',\n spacious: 'spacious',\n },\n search: {\n placeholder: 'Search...',\n },\n shortcuts: {\n tooltip: 'View keyboard shortcuts',\n search: 'Search',\n filter: 'Filter',\n previousRow: 'Previous row',\n nextRow: 'Next row',\n editCell: 'Edit cell',\n previousColumn: 'Previous column',\n nextColumn: 'Next column',\n rowClick: 'Activate current row',\n selectRow: 'Select current row',\n selectAllRows: 'Select all rows',\n expandRow: 'Expand current row',\n collapseRow: 'Collapse current row',\n },\n },\n searchInput: {\n button: 'Search',\n placeholder: 'Search...',\n clear: 'Clear',\n },\n select: {\n allOptionsSelected: 'All',\n },\n select2: {\n allSelect: 'Select all',\n allDeselect: 'Deselect all',\n cancel: 'Cancel',\n chooseColor: 'Pick a color',\n create: 'Create',\n delete: 'Delete',\n save: 'Save',\n search: 'Search...',\n searchOrCreate: 'Search or create...',\n },\n toasts: {\n dismiss: 'Dismiss',\n },\n tour: {\n back: 'Back',\n close: 'Close',\n skip: 'Close and complete',\n last: 'Done',\n next: 'Next',\n open: 'Open',\n },\n drawer: {\n close: 'Close',\n },\n};\n\nexport const defaultLocalizationContext: Localization = {\n locale: 'en-GB',\n texts: defaultLocalisationTexts,\n formatting: {\n date: 'dd.mm.yy',\n },\n};\n\nexport const LocalizationContext = React.createContext<Localization>(defaultLocalizationContext);\nexport interface LocalizationProviderProps {\n children: React.ReactNode;\n localization?: Localization;\n}\nexport const LocalizationProvider: React.FC<LocalizationProviderProps> = ({ localization, children }) => {\n return (\n <LocalizationContext.Provider value={localization ?? defaultLocalizationContext}>{children}</LocalizationContext.Provider>\n );\n};\n\nexport const useLocalization = () => React.useContext(LocalizationContext);\n"],"names":["defaultLocalisationTexts","banner","close","calendar","months","weekdaysShort","weekdays","actions","previousMonth","nextMonth","previousYear","nextYear","today","combobox","tooltip","datepicker","clear","expand","shortcuts","dialog","drag","hanger","header","addAgreement","logout","more","new","search","listbox","loading","empty","allOption","pagination","label","pageSize","showingXofYofTotal","firstPage","firstPageWithShortcut","previousPage","previousPageWithShortcut","nextPage","nextPageWithShortcut","lastPage","lastPageWithShortcut","pageX","table","edit","copy","del","newSubRow","table2","columns","resize","expansion","collapse","collapseAll","expandAll","select","deselect","deselectAll","selectAll","menu","hideColumn","freezeColumns","count","unfreezeColumns","columnSettings","button","noResults","editing","tooltipDisabled","rowIndicator","rowWillMove","rowWillBeHidden","rowWillMoveReasonSearch","rowWillMoveReasonFilter","rowWillMoveReasonSorting","filters","buttons","addFilter","clearFilters","comparators","contains","doesNotContain","isEqualTo","isNotEqualTo","isGreaterThan","isLessThan","isBetween","isOneOf","isNoneOf","isAllOf","isEmpty","isNotEmpty","total","rowDensity","compact","normal","comfortable","spacious","placeholder","filter","previousRow","nextRow","editCell","previousColumn","nextColumn","rowClick","selectRow","selectAllRows","expandRow","collapseRow","searchInput","allOptionsSelected","select2","allSelect","allDeselect","cancel","chooseColor","create","delete","save","searchOrCreate","toasts","dismiss","tour","back","skip","last","next","open","drawer","defaultLocalizationContext","locale","texts","formatting","date","LocalizationContext","React","LocalizationProvider","localization","children","Provider","value","useLocalization"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Localization.js","sources":["../../../../../../../src/components/Provider/Localization.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Locale } from '../../types';\nimport { CalendarTexts } from '../Calendar/Calendar';\nimport { ComboboxTexts } from '../Combobox/Combobox';\nimport { DialogTexts } from '../Dialog/Dialog';\nimport { PaginationTexts } from '../Pagination/Pagination';\nimport { ListboxTexts } from '../Listbox/Listbox';\nimport { ToastsTexts } from '../Toast/Toast';\nimport { DatepickerTexts } from '../Datepicker/Datepicker';\nimport { HeaderTexts } from '../Header/Header';\nimport { HangerTexts } from '../Hanger/Hanger';\nimport { SelectTexts } from '../Select/Select';\nimport { TourTexts } from '../Tour/Tour';\nimport { TableTexts } from '../Table/Table';\nimport { Table2Texts } from '../Table2/Table2';\nimport { SearchInputTexts } from '../SearchInput/SearchInput';\nimport { Select2Texts } from '../Select2/Select2';\nimport { BannerTexts } from '../Banner/Banner';\nimport { DrawerTexts } from '../Drawer/Drawer';\n\nexport type LocalizationTexts = {\n /** Localized texts and aria-labels for [Banner](component:banner) component */\n banner: BannerTexts;\n /** Localized texts and aria-labels for [Calendar](component:calendar) component */\n calendar: CalendarTexts;\n /** Localized texts and aria-labels for [Combobox](component:combobox) component */\n combobox: ComboboxTexts;\n /** Localized texts and aria-labels for [DatePicker](component:datepicker) component */\n datepicker: DatepickerTexts;\n /** Localized texts and aria-labels for [Dialog](component:dialog) component */\n dialog: DialogTexts;\n /** Localized texts and aria-labels for [Hanger](component:hanger) component */\n hanger: HangerTexts;\n /** Localized texts and aria-labels for [Header](component:header) component */\n header: HeaderTexts;\n /** Localized texts and aria-labels for [Listbox](component:listbox) component */\n listbox: ListboxTexts;\n /** Localized texts and aria-labels for [Pagination](component:pagination) component */\n pagination: PaginationTexts;\n /** Localized texts and aria-labels for [Table](component:table) component */\n table: TableTexts;\n /** Localized texts and aria-labels for [Table2](component:table2) component */\n table2: Table2Texts;\n /** Localized texts and aria-labels for [SearchInput](component:searchinput) component */\n searchInput: SearchInputTexts;\n /** Localized texts and aria-labels for [Select](component:select) component */\n select: SelectTexts;\n /** Localized texts and aria-labels for [Select2](component:select2) component */\n select2: Select2Texts;\n /** Localized texts and aria-labels for [Toast](component:toast) component */\n toasts: ToastsTexts;\n /** Localized texts and aria-labels for [Tour](component:tour) component */\n tour: TourTexts;\n /** Localized texts and aria-labels for [Drawer](component:drawer) component */\n drawer: DrawerTexts;\n};\n\nexport type Localization = {\n /**\n * Provide the language code used in application.\n * Default value is `en-GB`\n */\n locale: Locale;\n /** Provide the texts and aria-labels for components used within the provider */\n texts: LocalizationTexts;\n /** Provide the formatting */\n formatting: {\n /** Default value is `dd.mm.yy` */\n date: string;\n };\n};\n\nexport const defaultLocalisationTexts = {\n banner: {\n close: 'Close',\n },\n calendar: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n actions: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n today: 'Today',\n },\n },\n combobox: {\n tooltip: 'Search in list',\n },\n datepicker: {\n calendar: 'Calendar',\n clear: 'Clear',\n expand: 'Show calendar',\n shortcuts: 'Shortcuts',\n },\n dialog: {\n close: 'Close',\n drag: 'Drag',\n },\n hanger: {\n close: 'Close',\n },\n header: {\n addAgreement: 'Add agreement',\n logout: 'Log off',\n more: 'More',\n new: 'New',\n search: 'Search for agreement...',\n },\n listbox: {\n loading: 'Loading results...',\n empty: 'No results found',\n allOption: 'All',\n },\n pagination: {\n label: 'Pagination',\n pageSize: 'Items per page',\n showingXofYofTotal: 'Showing [X] - [Y] of [total]',\n actions: {\n firstPage: 'Goto first page',\n firstPageWithShortcut: 'Goto first page (Home)',\n previousPage: 'Goto previous page',\n previousPageWithShortcut: 'Goto previous page (Page Up)',\n nextPage: 'Goto next page',\n nextPageWithShortcut: 'Goto next page (Page Down)',\n lastPage: 'Goto last page',\n lastPageWithShortcut: 'Goto last page (End)',\n pageX: 'Goto page [X]',\n },\n },\n table: {\n actions: 'Other actions',\n edit: 'Edit (e)',\n copy: 'Copy (c)',\n del: 'Delete (del)',\n newSubRow: 'New row (shift + n)',\n loading: 'Loading...',\n },\n table2: {\n columns: {\n resize: {\n tooltip: 'Resize column',\n },\n actions: {\n tooltip: 'Other actions',\n },\n drag: {\n tooltip: 'Drag row',\n },\n expansion: {\n collapse: 'Collapse row',\n collapseAll: 'Collapse all rows',\n expand: 'Expand row',\n expandAll: 'Expand all rows',\n },\n select: {\n deselect: 'Deselect row',\n deselectAll: 'Deselect all rows',\n select: 'Select row',\n selectAll: 'Select all rows',\n },\n menu: {\n hideColumn: 'Hide column',\n freezeColumns: (count = 1) => (count === 1 ? 'Freeze the first column' : `Freeze first ${count} columns`),\n unfreezeColumns: 'Unfreeze all columns',\n },\n },\n columnSettings: {\n search: 'Search column...',\n tooltip: 'Column settings',\n button: 'Columns',\n noResults: 'No results',\n },\n editing: {\n button: 'Edit',\n tooltip: 'Edit',\n tooltipDisabled: 'There are no visible columns that support editing',\n rowIndicator: {\n rowWillMove: 'Row will move due to sorting',\n rowWillBeHidden: 'Row will hide due to filtering',\n rowWillMoveReasonSearch:\n 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',\n rowWillMoveReasonFilter:\n \"Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row\",\n rowWillMoveReasonSorting:\n \"Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row\",\n },\n },\n filters: {\n button: 'Filters',\n buttons: {\n addNewFilter: 'Add new filter',\n clearFilters: 'Clear all filters',\n },\n comparators: {\n contains: 'Contains',\n doesNotContain: 'Does not contain',\n isEqualTo: 'Is',\n isNotEqualTo: 'Is not',\n isGreaterThan: 'Is greater than',\n isLessThan: 'Is less than',\n isBetween: 'Is between',\n isOneOf: 'Is one of',\n isNoneOf: 'Is none of',\n isAllOf: 'Is all of',\n isEmpty: 'Is empty',\n isNotEmpty: 'Is not empty',\n },\n conditions: {\n and: 'And',\n where: 'Where',\n },\n emptyFilter: {\n condition: 'Condition',\n value: 'Value',\n },\n tooltip: 'Apply filters',\n total: 'Viewing [CURRENT] of [TOTAL]',\n },\n footer: {\n summary: {\n records: 'Records:',\n selected: 'Records selected:',\n },\n },\n rowDensity: {\n tooltip: 'Row density',\n compact: 'compact',\n normal: 'normal',\n comfortable: 'comfortable',\n spacious: 'spacious',\n },\n search: {\n placeholder: 'Search...',\n },\n shortcuts: {\n tooltip: 'View keyboard shortcuts',\n search: 'Search',\n filter: 'Filter',\n previousRow: 'Previous row',\n nextRow: 'Next row',\n editCell: 'Edit cell',\n previousColumn: 'Previous column',\n nextColumn: 'Next column',\n rowClick: 'Activate current row',\n selectRow: 'Select current row',\n selectAllRows: 'Select all rows',\n expandRow: 'Expand current row',\n collapseRow: 'Collapse current row',\n },\n },\n searchInput: {\n button: 'Search',\n placeholder: 'Search...',\n clear: 'Clear',\n },\n select: {\n allOptionsSelected: 'All',\n },\n select2: {\n allSelect: 'Select all',\n allDeselect: 'Deselect all',\n cancel: 'Cancel',\n chooseColor: 'Pick a color',\n create: 'Create',\n delete: 'Delete',\n save: 'Save',\n search: 'Search...',\n searchOrCreate: 'Search or create...',\n },\n toasts: {\n dismiss: 'Dismiss',\n },\n tour: {\n back: 'Back',\n close: 'Close',\n skip: 'Close and complete',\n last: 'Done',\n next: 'Next',\n open: 'Open',\n },\n drawer: {\n close: 'Close',\n },\n};\n\nexport const defaultLocalizationContext: Localization = {\n locale: 'en-GB',\n texts: defaultLocalisationTexts,\n formatting: {\n date: 'dd.mm.yy',\n },\n};\n\nexport const LocalizationContext = React.createContext<Localization>(defaultLocalizationContext);\nexport interface LocalizationProviderProps {\n children: React.ReactNode;\n localization?: Localization;\n}\nexport const LocalizationProvider: React.FC<LocalizationProviderProps> = ({ localization, children }) => {\n return (\n <LocalizationContext.Provider value={localization ?? defaultLocalizationContext}>{children}</LocalizationContext.Provider>\n );\n};\n\nexport const useLocalization = () => React.useContext(LocalizationContext);\n"],"names":["defaultLocalisationTexts","banner","close","calendar","months","weekdaysShort","weekdays","actions","previousMonth","nextMonth","previousYear","nextYear","today","combobox","tooltip","datepicker","clear","expand","shortcuts","dialog","drag","hanger","header","addAgreement","logout","more","new","search","listbox","loading","empty","allOption","pagination","label","pageSize","showingXofYofTotal","firstPage","firstPageWithShortcut","previousPage","previousPageWithShortcut","nextPage","nextPageWithShortcut","lastPage","lastPageWithShortcut","pageX","table","edit","copy","del","newSubRow","table2","columns","resize","expansion","collapse","collapseAll","expandAll","select","deselect","deselectAll","selectAll","menu","hideColumn","freezeColumns","count","unfreezeColumns","columnSettings","button","noResults","editing","tooltipDisabled","rowIndicator","rowWillMove","rowWillBeHidden","rowWillMoveReasonSearch","rowWillMoveReasonFilter","rowWillMoveReasonSorting","filters","buttons","addNewFilter","clearFilters","comparators","contains","doesNotContain","isEqualTo","isNotEqualTo","isGreaterThan","isLessThan","isBetween","isOneOf","isNoneOf","isAllOf","isEmpty","isNotEmpty","conditions","and","where","emptyFilter","condition","value","total","footer","summary","records","selected","rowDensity","compact","normal","comfortable","spacious","placeholder","filter","previousRow","nextRow","editCell","previousColumn","nextColumn","rowClick","selectRow","selectAllRows","expandRow","collapseRow","searchInput","allOptionsSelected","select2","allSelect","allDeselect","cancel","chooseColor","create","delete","save","searchOrCreate","toasts","dismiss","tour","back","skip","last","next","open","drawer","defaultLocalizationContext","locale","texts","formatting","date","LocalizationContext","React","LocalizationProvider","localization","children","Provider","useLocalization"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shortcut.js","sources":["../../../../../../../src/components/Shortcut/Shortcut.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { isMacOs, KeyDownHandlerOptions } from '../../utils/keyboard';\n\nconst replaceWithShortform = (key: string) => {\n switch (key) {\n case 'Delete':\n return 'Del';\n\n case 'Space':\n case ' ':\n return '␣';\n\n default:\n return key;\n }\n};\n\nconst getShortcutText = (key: string | KeyDownHandlerOptions) => {\n if (!key) {\n return [];\n }\n\n if (typeof key === 'string') {\n return [replaceWithShortform(key)];\n }\n\n const keys: string[] = [];\n\n if (key.shift) {\n keys.push(isMacOs() ? '⇧' : 'Shift');\n }\n\n if (key.meta) {\n keys.push(isMacOs() ? '⌘' : 'Ctrl');\n }\n\n keys.push(replaceWithShortform(key.key));\n\n return keys;\n};\n\nexport type ShortcutProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n keys: string | KeyDownHandlerOptions;\n};\n\nexport const Shortcut = ({ keys, ...props }: ShortcutProps) => {\n const className = cn('inline-flex gap-0.5', props.className);\n const texts = getShortcutText(keys);\n\n return (\n <span {...props} className={className}>\n {texts.map(key => (\n <kbd key={key} className=\"font-display bg-grey-300/[0.25] rounded px-1 text-center\">\n {key}\n </kbd>\n ))}\n </span>\n );\n};\n"],"names":["replaceWithShortform","key","getShortcutText","keys","shift","push","isMacOs","meta","Shortcut","props","className","cn","texts","React","map"],"mappings":";;;;AAIA,MAAMA,oBAAoB,GAAIC,GAAW;EACrC,QAAQA,GAAG;IACP,KAAK,QAAQ;MACT,OAAO,KAAK;IAEhB,KAAK,OAAO;IACZ,KAAK,GAAG;MACJ,OAAO,GAAG;IAEd;MACI,
|
|
1
|
+
{"version":3,"file":"Shortcut.js","sources":["../../../../../../../src/components/Shortcut/Shortcut.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { isMacOs, KeyDownHandlerOptions } from '../../utils/keyboard';\n\nconst replaceWithShortform = (key: string) => {\n switch (key) {\n case 'Delete':\n return 'Del';\n\n case 'Space':\n case ' ':\n return '␣';\n\n default:\n return String(key).toLocaleUpperCase();\n }\n};\n\nconst getShortcutText = (key: string | KeyDownHandlerOptions) => {\n if (!key) {\n return [];\n }\n\n if (typeof key === 'string') {\n return [replaceWithShortform(key)];\n }\n\n const keys: string[] = [];\n\n if (key.shift) {\n keys.push(isMacOs() ? '⇧' : 'Shift');\n }\n\n if (key.meta) {\n keys.push(isMacOs() ? '⌘' : 'Ctrl');\n }\n\n keys.push(replaceWithShortform(key.key));\n\n return keys;\n};\n\nexport type ShortcutProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n keys: string | KeyDownHandlerOptions;\n};\n\nexport const Shortcut = ({ keys, ...props }: ShortcutProps) => {\n const className = cn('inline-flex gap-0.5', props.className);\n const texts = getShortcutText(keys);\n\n return (\n <span {...props} className={className}>\n {texts.map(key => (\n <kbd key={key} className=\"font-display bg-grey-300/[0.25] rounded px-1 text-center\">\n {key}\n </kbd>\n ))}\n </span>\n );\n};\n"],"names":["replaceWithShortform","key","String","toLocaleUpperCase","getShortcutText","keys","shift","push","isMacOs","meta","Shortcut","props","className","cn","texts","React","map"],"mappings":";;;;AAIA,MAAMA,oBAAoB,GAAIC,GAAW;EACrC,QAAQA,GAAG;IACP,KAAK,QAAQ;MACT,OAAO,KAAK;IAEhB,KAAK,OAAO;IACZ,KAAK,GAAG;MACJ,OAAO,GAAG;IAEd;MACI,OAAOC,MAAM,CAACD,GAAG,CAAC,CAACE,iBAAiB,EAAE;;AAElD,CAAC;AAED,MAAMC,eAAe,GAAIH,GAAmC;EACxD,IAAI,CAACA,GAAG,EAAE;IACN,OAAO,EAAE;;EAGb,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACzB,OAAO,CAACD,oBAAoB,CAACC,GAAG,CAAC,CAAC;;EAGtC,MAAMI,IAAI,GAAa,EAAE;EAEzB,IAAIJ,GAAG,CAACK,KAAK,EAAE;IACXD,IAAI,CAACE,IAAI,CAACC,OAAO,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC;;EAGxC,IAAIP,GAAG,CAACQ,IAAI,EAAE;IACVJ,IAAI,CAACE,IAAI,CAACC,OAAO,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC;;EAGvCH,IAAI,CAACE,IAAI,CAACP,oBAAoB,CAACC,GAAG,CAACA,GAAG,CAAC,CAAC;EAExC,OAAOI,IAAI;AACf,CAAC;MAMYK,QAAQ,GAAG,CAAC;EAAEL,IAAI;EAAE,GAAGM;CAAsB;EACtD,MAAMC,SAAS,GAAGC,EAAE,CAAC,qBAAqB,EAAEF,KAAK,CAACC,SAAS,CAAC;EAC5D,MAAME,KAAK,GAAGV,eAAe,CAACC,IAAI,CAAC;EAEnC,oBACIU,uDAAUJ,KAAK;IAAEC,SAAS,EAAEA;MACvBE,KAAK,CAACE,GAAG,CAACf,GAAG,iBACVc;IAAKd,GAAG,EAAEA,GAAG;IAAEW,SAAS,EAAC;KACpBX,GAAG,CAEX,CAAC,CACC;AAEf;;;;"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import { useMergedRef } from '../../hooks/useMergedRef.js';
|
|
4
|
+
import { useLocalization } from '../Provider/Localization.js';
|
|
4
5
|
import { Group } from '../Group/Group.js';
|
|
5
6
|
import { _finallyRethrows, _catch } from '../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
|
|
7
|
+
import { getCellSizingClasses } from './utilities/cell.js';
|
|
6
8
|
import { Cell } from './components/column/Cell.js';
|
|
7
9
|
import { Header } from './components/column/Header.js';
|
|
8
10
|
import { Footer } from './components/column/Footer.js';
|
|
@@ -57,7 +59,8 @@ const BaseTable2 = /*#__PURE__*/React__default.forwardRef(function BaseTable2(pr
|
|
|
57
59
|
resetFiltering: () => table.resetColumnFilters(),
|
|
58
60
|
resetRowExpansion: () => table.resetExpanded(),
|
|
59
61
|
resetRowSelection: () => table.resetRowSelection(),
|
|
60
|
-
resetSorting: () => table.resetSorting()
|
|
62
|
+
resetSorting: () => table.resetSorting(),
|
|
63
|
+
toggleEditing: () => meta.editMode.toggleEditing()
|
|
61
64
|
};
|
|
62
65
|
}
|
|
63
66
|
}, [table, tableRef.current]);
|
|
@@ -268,11 +271,7 @@ const BaseTable2 = /*#__PURE__*/React__default.forwardRef(function BaseTable2(pr
|
|
|
268
271
|
const enableSettingsButton = table.options.enableHiding || meta.enableColumnReordering;
|
|
269
272
|
const hasInternalToolbar = enableSettingsButton || meta.editMode.enableEditMode || table.options.enableColumnFilters || meta.enableRowDensity || table.options.enableGlobalFilter;
|
|
270
273
|
const hasToolbar = hasInternalToolbar || !!toolbarLeft || !toolbarRight;
|
|
271
|
-
const
|
|
272
|
-
const summaryIds = Object.keys(footers);
|
|
273
|
-
const visibleIds = Object.keys(columnVisibility).filter(c => !columnVisibility[c]);
|
|
274
|
-
return summaryIds.length && summaryIds.some(v => !visibleIds.includes(v));
|
|
275
|
-
}, [footers, columnVisibility]);
|
|
274
|
+
const frozenColumnIds = table.getLeftVisibleLeafColumns().map(c => c.id);
|
|
276
275
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
277
276
|
className: "-m-0.5 flex h-full w-[calc(100%_+_0.25rem)] flex-col gap-4 overflow-hidden p-0.5"
|
|
278
277
|
}, hasToolbar ? /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -321,6 +320,7 @@ const BaseTable2 = /*#__PURE__*/React__default.forwardRef(function BaseTable2(pr
|
|
|
321
320
|
key: headerGroup.id,
|
|
322
321
|
role: "row"
|
|
323
322
|
}, headerGroup.headers.map((header, columnIndex) => /*#__PURE__*/React__default.createElement(Header, {
|
|
323
|
+
frozenColumnIds: frozenColumnIds,
|
|
324
324
|
key: header.id,
|
|
325
325
|
header: header,
|
|
326
326
|
index: columnIndex,
|
|
@@ -350,6 +350,7 @@ const BaseTable2 = /*#__PURE__*/React__default.forwardRef(function BaseTable2(pr
|
|
|
350
350
|
table: table
|
|
351
351
|
}, row.getVisibleCells().map((cell, columnIndex) => /*#__PURE__*/React__default.createElement(Cell, {
|
|
352
352
|
cell: cell,
|
|
353
|
+
frozenColumnIds: frozenColumnIds,
|
|
353
354
|
key: `${cell.id}_${cell.getValue()}`,
|
|
354
355
|
index: columnIndex,
|
|
355
356
|
isLastRow: virtualRow.index === rows.length - 1,
|
|
@@ -371,27 +372,46 @@ const BaseTable2 = /*#__PURE__*/React__default.forwardRef(function BaseTable2(pr
|
|
|
371
372
|
className: "col-span-full"
|
|
372
373
|
}) : null) : /*#__PURE__*/React__default.createElement("div", {
|
|
373
374
|
className: "col-span-full min-h-[theme(spacing.8)]"
|
|
374
|
-
}, EmptyState ? /*#__PURE__*/React__default.createElement(EmptyState, null) : null),
|
|
375
|
-
role: "rowgroup",
|
|
375
|
+
}, EmptyState ? /*#__PURE__*/React__default.createElement(EmptyState, null) : null), /*#__PURE__*/React__default.createElement("div", {
|
|
376
376
|
className: "contents",
|
|
377
|
-
"data-taco": "table2-footer"
|
|
378
|
-
|
|
379
|
-
|
|
377
|
+
"data-taco": "table2-footer",
|
|
378
|
+
role: "rowgroup"
|
|
379
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
380
380
|
role: "row",
|
|
381
381
|
className: "contents"
|
|
382
|
-
}, footerGroup.headers.map((footer, cellIndex) => /*#__PURE__*/React__default.createElement(Footer, {
|
|
382
|
+
}, table.getFooterGroups().map(footerGroup => footerGroup.headers.map((footer, cellIndex) => /*#__PURE__*/React__default.createElement(Footer, {
|
|
383
383
|
key: footer.id,
|
|
384
384
|
footer: footer,
|
|
385
|
+
frozenColumnIds: frozenColumnIds,
|
|
385
386
|
index: cellIndex,
|
|
386
387
|
scrolled: scrolled,
|
|
387
388
|
table: table
|
|
388
|
-
}, footers[footer.id] ? footers[footer.id](rows.map(row => row.original[footer.id])) : null)))))
|
|
389
|
+
}, footers[footer.id] ? footers[footer.id](rows.map(row => row.original[footer.id])) : null)))))), /*#__PURE__*/React__default.createElement(Summary, {
|
|
390
|
+
length: length !== null && length !== void 0 ? length : rows.length,
|
|
391
|
+
table: table
|
|
392
|
+
}), !!_experimentalActionsForTable && table.options.enableRowSelection && (table.getIsSomeRowsSelected() || table.getIsAllRowsSelected()) ? /*#__PURE__*/React__default.createElement(BatchActionsMenu, {
|
|
389
393
|
className: "fixed-center-x bottom-0 z-50 mb-4 print:hidden",
|
|
390
394
|
actionsForTable: _experimentalActionsForTable,
|
|
391
395
|
summary: _experimentalActionsForTableSummary,
|
|
392
396
|
table: table
|
|
393
397
|
}) : null);
|
|
394
398
|
});
|
|
399
|
+
const Summary = ({
|
|
400
|
+
length,
|
|
401
|
+
table
|
|
402
|
+
}) => {
|
|
403
|
+
const {
|
|
404
|
+
texts
|
|
405
|
+
} = useLocalization();
|
|
406
|
+
const selectedLength = table.getIsAllRowsSelected() ? length : table.getSelectedRowModel().rows.length;
|
|
407
|
+
const label = selectedLength > 0 ? texts.table2.footer.summary.selected : texts.table2.footer.summary.records;
|
|
408
|
+
const total = selectedLength > 0 ? selectedLength : length;
|
|
409
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
410
|
+
className: "z-10 -mt-4"
|
|
411
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
412
|
+
className: cn('-mt-10 ml-px h-7 w-fit rounded-bl bg-white !pr-2 shadow-[6px_0px_6px_theme(colors.white)]', getCellSizingClasses('normal'))
|
|
413
|
+
}, label, "\u00A0", /*#__PURE__*/React__default.createElement("strong", null, total)));
|
|
414
|
+
};
|
|
395
415
|
const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref) {
|
|
396
416
|
const key = React__default.useMemo(() => String('tableKey_' + String(props.children)), [props.children]);
|
|
397
417
|
return /*#__PURE__*/React__default.createElement(BaseTable2, Object.assign({}, props, {
|