@economic/taco 2.12.0 → 2.13.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 +1 -0
- package/dist/components/Select2/components/Option.d.ts +7 -5
- package/dist/components/Table3/Table3.d.ts +9 -1
- package/dist/components/Table3/components/columns/header/Group.d.ts +15 -0
- package/dist/components/Table3/components/columns/header/Header.d.ts +5 -0
- package/dist/components/Table3/components/columns/internal/EditingActions.d.ts +1 -1
- package/dist/components/Table3/hooks/features/useHeaderOffsetStyle.d.ts +3 -0
- package/dist/components/Table3/types.d.ts +7 -0
- package/dist/esm/index.css +24 -6
- package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +1 -1
- package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +4 -1
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +1 -0
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Option.js +13 -6
- package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +7 -6
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/Table3.js +25 -8
- package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js +70 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +26 -8
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +13 -9
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +8 -5
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +14 -2
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useHeaderOffsetStyle.js +24 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useHeaderOffsetStyle.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +30 -7
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
- package/dist/index.css +24 -6
- package/dist/taco.cjs.development.js +221 -54
- 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 -2
- package/types.json +7274 -6482
@@ -4426,6 +4426,7 @@ const defaultLocalisationTexts = {
|
|
4426
4426
|
condition: 'Condition',
|
4427
4427
|
value: 'Value'
|
4428
4428
|
},
|
4429
|
+
hiddenColumn: 'Hidden column',
|
4429
4430
|
tooltip: 'Apply filters',
|
4430
4431
|
total: 'Viewing [CURRENT] of [TOTAL]'
|
4431
4432
|
},
|
@@ -5558,7 +5559,7 @@ const useCombobox = ({
|
|
5558
5559
|
// event handlers
|
5559
5560
|
const handleInputBlur = event => {
|
5560
5561
|
event.persist();
|
5561
|
-
if (event.relatedTarget === listRef.current) {
|
5562
|
+
if (listRef.current && event.relatedTarget === listRef.current) {
|
5562
5563
|
event.preventDefault();
|
5563
5564
|
return;
|
5564
5565
|
}
|
@@ -6740,7 +6741,10 @@ const DrawerContent = /*#__PURE__*/React__default.forwardRef(function Content(pr
|
|
6740
6741
|
}, dragHandleProps, {
|
6741
6742
|
"data-testid": "resize-handler",
|
6742
6743
|
ref: dragHandlerRef
|
6743
|
-
})
|
6744
|
+
}), dragging ? /*#__PURE__*/React__default.createElement("div", {
|
6745
|
+
"data-testid": "resize-hit-area",
|
6746
|
+
className: "fixed bottom-0 left-0 right-0 top-0"
|
6747
|
+
}) : null), showCloseButton ? /*#__PURE__*/React__default.createElement(Close$3, null, /*#__PURE__*/React__default.createElement(IconButton, {
|
6744
6748
|
appearance: "discrete",
|
6745
6749
|
"aria-label": texts.drawer.close,
|
6746
6750
|
className: "absolute right-0 top-0 mr-2 mt-4",
|
@@ -9851,7 +9855,8 @@ const Option$1 = /*#__PURE__*/React__default.forwardRef(function Select2Option(p
|
|
9851
9855
|
children,
|
9852
9856
|
color,
|
9853
9857
|
description,
|
9854
|
-
|
9858
|
+
prefix,
|
9859
|
+
postfix,
|
9855
9860
|
className: cName,
|
9856
9861
|
...otherProps
|
9857
9862
|
} = props;
|
@@ -9905,14 +9910,20 @@ const Option$1 = /*#__PURE__*/React__default.forwardRef(function Select2Option(p
|
|
9905
9910
|
}) : null, isTag ? /*#__PURE__*/React__default.createElement(Tag$1, {
|
9906
9911
|
className: "pointer-events-none my-1",
|
9907
9912
|
color: color,
|
9908
|
-
icon:
|
9909
|
-
}, children) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null,
|
9910
|
-
name:
|
9911
|
-
}) :
|
9913
|
+
icon: prefix
|
9914
|
+
}, children) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, prefix ? typeof prefix === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
|
9915
|
+
name: prefix
|
9916
|
+
}) : prefix : null, /*#__PURE__*/React__default.createElement("span", {
|
9917
|
+
className: "flex w-full justify-between"
|
9918
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
9912
9919
|
className: "flex flex-col"
|
9913
9920
|
}, /*#__PURE__*/React__default.createElement("span", null, children), description ? /*#__PURE__*/React__default.createElement("span", {
|
9914
9921
|
className: "text-grey-700 -mt-1.5 mb-1.5 text-xs"
|
9915
|
-
}, description) : null)
|
9922
|
+
}, description) : null), /*#__PURE__*/React__default.createElement("span", {
|
9923
|
+
className: "mt-1 flex flex-col"
|
9924
|
+
}, postfix ? typeof postfix === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
|
9925
|
+
name: postfix
|
9926
|
+
}) : postfix : null))), popover ? /*#__PURE__*/React__default.createElement(IconButton, {
|
9916
9927
|
icon: "ellipsis-vertical",
|
9917
9928
|
appearance: "discrete",
|
9918
9929
|
className: cn('group-aria-current:visible invisible -mr-1 ml-auto !h-5 min-h-[theme(spacing.6)] !w-5 min-w-[theme(spacing.6)] hover:!bg-black/[.08] focus:!shadow-none group-hover:visible', {
|
@@ -10062,13 +10073,14 @@ const Single = /*#__PURE__*/React__default.forwardRef(function Select2TriggerSin
|
|
10062
10073
|
className: "truncate",
|
10063
10074
|
color: currentValue.props.color,
|
10064
10075
|
disabled: disabled,
|
10065
|
-
icon: currentValue.props.
|
10076
|
+
icon: currentValue.props.prefix,
|
10066
10077
|
readOnly: readOnly
|
10067
10078
|
}, currentValue.props.children);
|
10068
10079
|
} else {
|
10069
|
-
output = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, currentValue.props.
|
10070
|
-
name: currentValue.props.
|
10071
|
-
|
10080
|
+
output = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, currentValue.props.prefix ? typeof currentValue.props.prefix === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
|
10081
|
+
name: currentValue.props.prefix,
|
10082
|
+
className: "mr-1 !h-5 !w-5"
|
10083
|
+
}) : currentValue.props.prefix : null, currentValue.props.children);
|
10072
10084
|
}
|
10073
10085
|
}
|
10074
10086
|
return /*#__PURE__*/React__default.createElement(Button$2, Object.assign({}, buttonProps, {
|
@@ -10115,7 +10127,7 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
|
|
10115
10127
|
className: "truncate",
|
10116
10128
|
color: tags ? child.props.color : undefined,
|
10117
10129
|
disabled: disabled,
|
10118
|
-
icon: child.props.
|
10130
|
+
icon: child.props.prefix,
|
10119
10131
|
onDelete: event => {
|
10120
10132
|
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
10121
10133
|
event === null || event === void 0 ? void 0 : event.preventDefault();
|
@@ -10183,7 +10195,7 @@ const MultipleValue = ({
|
|
10183
10195
|
}),
|
10184
10196
|
color: tags ? child.props.color : undefined,
|
10185
10197
|
disabled: disabled,
|
10186
|
-
icon: child.props.
|
10198
|
+
icon: child.props.prefix,
|
10187
10199
|
onDelete: open ? createClickHandler(child.props.value) : undefined,
|
10188
10200
|
readOnly: readOnly
|
10189
10201
|
}, child.props.children);
|
@@ -16194,6 +16206,7 @@ function Header$2(props) {
|
|
16194
16206
|
children,
|
16195
16207
|
column,
|
16196
16208
|
header,
|
16209
|
+
hasSeparator,
|
16197
16210
|
scrollToIndex,
|
16198
16211
|
table
|
16199
16212
|
} = props;
|
@@ -16229,10 +16242,13 @@ function Header$2(props) {
|
|
16229
16242
|
canResize: column.getCanResize(),
|
16230
16243
|
canSort,
|
16231
16244
|
children: children !== null && children !== void 0 ? children : columnMeta.header,
|
16245
|
+
colSpan: header.colSpan,
|
16232
16246
|
hasMenu: isMenuAvailable(table, header),
|
16247
|
+
hasSeparator,
|
16233
16248
|
id: header.id,
|
16234
16249
|
index: header.index,
|
16235
16250
|
isFrozen: isFrozenColumn(header, table),
|
16251
|
+
isPlaceholder: header.isPlaceholder,
|
16236
16252
|
isPrinting: tableMeta.isPrinting,
|
16237
16253
|
isResizing: column.getIsResizing(),
|
16238
16254
|
length: table.getRowModel().rows.length,
|
@@ -16257,10 +16273,13 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
|
|
16257
16273
|
canHide,
|
16258
16274
|
canResize,
|
16259
16275
|
canSort,
|
16276
|
+
colSpan,
|
16260
16277
|
hasMenu,
|
16278
|
+
hasSeparator,
|
16261
16279
|
id,
|
16262
16280
|
index,
|
16263
16281
|
isFrozen,
|
16282
|
+
isPlaceholder,
|
16264
16283
|
isPrinting,
|
16265
16284
|
isResizing,
|
16266
16285
|
length,
|
@@ -16274,19 +16293,22 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
|
|
16274
16293
|
sortDirection,
|
16275
16294
|
table
|
16276
16295
|
} = props;
|
16277
|
-
const className = cn('sticky
|
16296
|
+
const className = cn('sticky font-bold border-b-2 box-content group/column relative', '[[role="table"][data-resizing="true"]_&]:pointer-events-none', 'px-[var(--table3-cell-padding-x)]', {
|
16297
|
+
'!border-white': isPlaceholder,
|
16278
16298
|
'h-10 items-center': !isPrinting,
|
16279
16299
|
'pb-2': isPrinting,
|
16280
16300
|
'cursor-pointer select-none': canSort,
|
16281
|
-
'hover:bg-grey-100': canSort || canResize || hasMenu,
|
16301
|
+
'hover:bg-grey-100': !isPlaceholder && (canSort || canResize || hasMenu),
|
16282
16302
|
'focus-within:bg-grey-100': hasMenu,
|
16283
|
-
'!pointer-events-all !bg-grey-100': isResizing,
|
16303
|
+
'!pointer-events-all !bg-grey-100': !isPlaceholder && isResizing,
|
16284
16304
|
// z-indexes
|
16285
16305
|
'z-10 hover:z-20': !isFrozen && !isResizing,
|
16286
16306
|
'z-20': !isFrozen && isResizing,
|
16287
|
-
'
|
16307
|
+
// when column is frozen, we need to increase it's z-index when it's hovered,
|
16308
|
+
// so that resize handler appears on top of next frozen cell, and didn't get cut by it.
|
16309
|
+
'!z-30 hover:!z-40': isFrozen,
|
16288
16310
|
'!z-40': isFrozen && isResizing
|
16289
|
-
}, meta.headerClassName);
|
16311
|
+
}, colSpan > 1 ? `col-span-${colSpan}` : '', meta.headerClassName);
|
16290
16312
|
const [internalRef, setInternalRef] = React__default.useState(null);
|
16291
16313
|
React__default.useLayoutEffect(() => {
|
16292
16314
|
if (internalRef && length) {
|
@@ -16309,7 +16331,7 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
|
|
16309
16331
|
"data-column-index": index,
|
16310
16332
|
role: "columnheader",
|
16311
16333
|
ref: setInternalRef
|
16312
|
-
}), isInternalColumn$1(id) ? children : /*#__PURE__*/React__default.createElement(Tooltip, {
|
16334
|
+
}), isPlaceholder ? null : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isInternalColumn$1(id) ? children : /*#__PURE__*/React__default.createElement(Tooltip, {
|
16313
16335
|
title: String((_meta$tooltip = meta === null || meta === void 0 ? void 0 : meta.tooltip) !== null && _meta$tooltip !== void 0 ? _meta$tooltip : children),
|
16314
16336
|
placement: "top"
|
16315
16337
|
}, /*#__PURE__*/React__default.createElement("span", {
|
@@ -16334,11 +16356,19 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
|
|
16334
16356
|
scrollToIndex: scrollToIndex,
|
16335
16357
|
sortDirection: sortDirection,
|
16336
16358
|
table: table
|
16337
|
-
}) : null, canResize ? /*#__PURE__*/React__default.createElement(Resizer, {
|
16359
|
+
}) : null), hasSeparator ? /*#__PURE__*/React__default.createElement(HeaderSeparator, null) : null, !isPlaceholder && canResize ? /*#__PURE__*/React__default.createElement(Resizer, {
|
16338
16360
|
isResizing: isResizing,
|
16339
16361
|
onResize: handleResize
|
16340
16362
|
}) : null);
|
16341
16363
|
});
|
16364
|
+
function HeaderSeparator() {
|
16365
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
16366
|
+
"data-taco": "header-separator",
|
16367
|
+
className: cn('invisible absolute right-[0.5px] top-0 flex h-full w-2 touch-none select-none justify-center py-2 group-hover/header:visible')
|
16368
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
16369
|
+
className: cn('bg-grey-300 h-full w-[1px]')
|
16370
|
+
}));
|
16371
|
+
}
|
16342
16372
|
|
16343
16373
|
const RowContext$1 = /*#__PURE__*/React__default.createContext({
|
16344
16374
|
isHovered: false,
|
@@ -17552,6 +17582,7 @@ const savingIndicatorHideDelay = 3000;
|
|
17552
17582
|
const COLUMN_ID$1 = '__editing_actions';
|
17553
17583
|
const MemoedCell$1 = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
|
17554
17584
|
const {
|
17585
|
+
hasChanges,
|
17555
17586
|
isCurrentRow,
|
17556
17587
|
isEditing,
|
17557
17588
|
row,
|
@@ -17560,8 +17591,6 @@ const MemoedCell$1 = /*#__PURE__*/React__default.memo(function MemoedCell(props)
|
|
17560
17591
|
const tableMeta = table.options.meta;
|
17561
17592
|
const savingState = tableMeta.editing.savingStates && tableMeta.editing.savingStates[row.id];
|
17562
17593
|
const [isSavedIndicatorVisible, setIsSavingIndicatorVisible] = React__default.useState(false);
|
17563
|
-
const changeset = tableMeta.editing.changes ? Object.keys(tableMeta.editing.changes) : [];
|
17564
|
-
const isRowInEditingState = changeset.indexOf(row.id) >= 0;
|
17565
17594
|
const {
|
17566
17595
|
texts
|
17567
17596
|
} = useLocalization();
|
@@ -17583,14 +17612,14 @@ const MemoedCell$1 = /*#__PURE__*/React__default.memo(function MemoedCell(props)
|
|
17583
17612
|
title: texts.table3.editing.saving.progress
|
17584
17613
|
}, /*#__PURE__*/React__default.createElement(Spinner, {
|
17585
17614
|
delay: 0,
|
17586
|
-
className: "!text-grey-700 mr-1
|
17615
|
+
className: "!text-grey-700 mr-1 !h-5 !w-5"
|
17587
17616
|
}));
|
17588
17617
|
} else if (isSavedIndicatorVisible) {
|
17589
17618
|
content = /*#__PURE__*/React__default.createElement(Tooltip, {
|
17590
17619
|
title: texts.table3.editing.saving.complete
|
17591
17620
|
}, /*#__PURE__*/React__default.createElement(Icon, {
|
17592
17621
|
name: "tick",
|
17593
|
-
className: "!text-grey-700 mr-1"
|
17622
|
+
className: "!text-grey-700 mr-1 !h-5 !w-5"
|
17594
17623
|
}));
|
17595
17624
|
}
|
17596
17625
|
}
|
@@ -17601,11 +17630,11 @@ const MemoedCell$1 = /*#__PURE__*/React__default.memo(function MemoedCell(props)
|
|
17601
17630
|
icon: "more",
|
17602
17631
|
menu: menuProps => /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
17603
17632
|
icon: "tick",
|
17604
|
-
disabled: !
|
17633
|
+
disabled: !hasChanges,
|
17605
17634
|
onClick: () => tableMeta.editing.saveChangesIfNeeded()
|
17606
17635
|
}, texts.table3.editing.actions.save), /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
17607
17636
|
icon: "close",
|
17608
|
-
disabled: !
|
17637
|
+
disabled: !hasChanges,
|
17609
17638
|
onClick: () => tableMeta.editing.resetChange(row.id)
|
17610
17639
|
}, texts.table3.editing.actions.clear), /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
17611
17640
|
icon: "undo",
|
@@ -17614,12 +17643,15 @@ const MemoedCell$1 = /*#__PURE__*/React__default.memo(function MemoedCell(props)
|
|
17614
17643
|
tabIndex: isCurrentRow ? 0 : -1
|
17615
17644
|
}));
|
17616
17645
|
}
|
17646
|
+
const contentClassName = cn('flex items-center justify-end text-right', {
|
17647
|
+
'-mb-2 -mt-2': isCurrentRow
|
17648
|
+
});
|
17617
17649
|
return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, props, {
|
17618
17650
|
className: cn({
|
17619
17651
|
'!sticky': !!content
|
17620
17652
|
})
|
17621
17653
|
}), content ? /*#__PURE__*/React__default.createElement("span", {
|
17622
|
-
className:
|
17654
|
+
className: contentClassName
|
17623
17655
|
}, content) : undefined);
|
17624
17656
|
});
|
17625
17657
|
function Cell$2(props) {
|
@@ -17627,12 +17659,14 @@ function Cell$2(props) {
|
|
17627
17659
|
rowIndex
|
17628
17660
|
} = React__default.useContext(RowContext$1);
|
17629
17661
|
const tableMeta = props.table.options.meta;
|
17662
|
+
const changeset = tableMeta.editing.changes ? Object.keys(tableMeta.editing.changes) : [];
|
17630
17663
|
return /*#__PURE__*/React__default.createElement(MemoedCell$1, Object.assign({}, props, {
|
17664
|
+
hasChanges: changeset.indexOf(props.row.id) >= 0,
|
17631
17665
|
isCurrentRow: tableMeta.currentRow.currentRowIndex === rowIndex,
|
17632
17666
|
isEditing: tableMeta.editing.isEditing
|
17633
17667
|
}));
|
17634
17668
|
}
|
17635
|
-
const EDITING_ACTIONS_WIDTH =
|
17669
|
+
const EDITING_ACTIONS_WIDTH = 60;
|
17636
17670
|
function createRowEditingActionsColumn() {
|
17637
17671
|
return {
|
17638
17672
|
id: COLUMN_ID$1,
|
@@ -17641,7 +17675,7 @@ function createRowEditingActionsColumn() {
|
|
17641
17675
|
footer: Footer$4,
|
17642
17676
|
meta: {
|
17643
17677
|
align: 'right',
|
17644
|
-
className: cn('items-center print:opacity-0 [[role="table"][data-editing="true"]_&]:group-[[data-current="true"]]/row:sticky right-0 !pl-0 !pr-1', '[[role="table"][data-editing="true"]_&]:group-[[data-current="true"]]/row:shadow-[-
|
17678
|
+
className: cn('items-center print:opacity-0 [[role="table"][data-editing="true"]_&]:group-[[data-current="true"]]/row:sticky right-0 !pl-0 !pr-1', '[[role="table"][data-editing="true"]_&]:group-[[data-current="true"]]/row:shadow-[-6px_0px_6px_var(--table3-row-actions-shadow)]', 'group-[[data-current="true"][data-selected="false"]]/row:text-grey-200', 'group-[[data-selected="true"]]/row:text-blue-100', 'group-[[data-selected="false"]:hover]/row:text-grey-100'),
|
17645
17679
|
enableOrdering: false,
|
17646
17680
|
enableSearch: false,
|
17647
17681
|
enableTruncate: false,
|
@@ -18575,6 +18609,69 @@ function createRowDragColumn(onRowDrag) {
|
|
18575
18609
|
};
|
18576
18610
|
}
|
18577
18611
|
|
18612
|
+
function Group$3(props) {
|
18613
|
+
const {
|
18614
|
+
children,
|
18615
|
+
column,
|
18616
|
+
header,
|
18617
|
+
table,
|
18618
|
+
hasSeparator
|
18619
|
+
} = props;
|
18620
|
+
const columnMeta = React__default.useMemo(() => column.columnDef.meta, []);
|
18621
|
+
const tableMeta = table.options.meta;
|
18622
|
+
const memoedProps = {
|
18623
|
+
align: 'center',
|
18624
|
+
children: children !== null && children !== void 0 ? children : columnMeta.header,
|
18625
|
+
colSpan: header.colSpan,
|
18626
|
+
hasSeparator,
|
18627
|
+
id: header.id,
|
18628
|
+
index: header.index,
|
18629
|
+
isPrinting: tableMeta.isPrinting,
|
18630
|
+
length: table.getRowModel().rows.length,
|
18631
|
+
meta: columnMeta,
|
18632
|
+
table
|
18633
|
+
};
|
18634
|
+
return /*#__PURE__*/React__default.createElement(MemoedGroup, Object.assign({}, memoedProps));
|
18635
|
+
}
|
18636
|
+
const MemoedGroup = /*#__PURE__*/React__default.memo(function MemoedGroup(props) {
|
18637
|
+
var _meta$tooltip;
|
18638
|
+
const {
|
18639
|
+
align,
|
18640
|
+
children,
|
18641
|
+
colSpan,
|
18642
|
+
hasSeparator,
|
18643
|
+
id,
|
18644
|
+
isPrinting,
|
18645
|
+
meta,
|
18646
|
+
table
|
18647
|
+
} = props;
|
18648
|
+
const containerClassName = cn('sticky px-2 mb-[2px]', {
|
18649
|
+
'h-10': !isPrinting
|
18650
|
+
}, colSpan > 1 ? `col-span-${colSpan}` : '');
|
18651
|
+
const innerClassName = cn('font-bold box-content group/column relative', 'px-[var(--table3-cell-padding-x)]', {
|
18652
|
+
'h-full items-center': !isPrinting,
|
18653
|
+
'pb-2': isPrinting,
|
18654
|
+
'border-b-2': !!children
|
18655
|
+
}, meta.headerClassName);
|
18656
|
+
if (table.options.debugAll) {
|
18657
|
+
console.log('header group render', id);
|
18658
|
+
}
|
18659
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
18660
|
+
className: containerClassName,
|
18661
|
+
"data-taco": "table3-column-group",
|
18662
|
+
"data-align": align
|
18663
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
18664
|
+
className: innerClassName
|
18665
|
+
}, /*#__PURE__*/React__default.createElement(Tooltip, {
|
18666
|
+
title: String((_meta$tooltip = meta === null || meta === void 0 ? void 0 : meta.tooltip) !== null && _meta$tooltip !== void 0 ? _meta$tooltip : children),
|
18667
|
+
placement: "top"
|
18668
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
18669
|
+
className: cn({
|
18670
|
+
truncate: !isPrinting
|
18671
|
+
})
|
18672
|
+
}, children)), hasSeparator ? /*#__PURE__*/React__default.createElement(HeaderSeparator, null) : null));
|
18673
|
+
});
|
18674
|
+
|
18578
18675
|
function getSortingFn$1(dataType, customFnOrBuiltIn) {
|
18579
18676
|
if (typeof customFnOrBuiltIn === 'function') {
|
18580
18677
|
return (rowA, rowB, columnId) => customFnOrBuiltIn(rowA.original, rowB.original, columnId);
|
@@ -18596,13 +18693,12 @@ function useConvertChildrenToColumns(props, options, editing) {
|
|
18596
18693
|
return React__default.useMemo(() => {
|
18597
18694
|
var _props$actionsForRow;
|
18598
18695
|
const columnHelper = reactTable$1.createColumnHelper();
|
18599
|
-
const columns = [];
|
18600
18696
|
const defaultColumnSizing = {};
|
18601
18697
|
const defaultColumnVisibility = {};
|
18602
18698
|
const defaultSorting = [];
|
18603
|
-
|
18604
|
-
|
18605
|
-
if ( /*#__PURE__*/React__default.isValidElement(child) && child.props.accessor) {
|
18699
|
+
function processChild(child) {
|
18700
|
+
var _child$type, _child$type2;
|
18701
|
+
if ( /*#__PURE__*/React__default.isValidElement(child) && ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'Table3Column' && child.props.accessor) {
|
18606
18702
|
var _child$props$enableRe, _child$props$enableFi, _child$props$enableSo, _child$props$enableHi, _child$props$enableOr, _child$props$enablePr, _child$props$enableSe, _child$props$enableTr;
|
18607
18703
|
if (child.props.defaultWidth) {
|
18608
18704
|
defaultColumnSizing[child.props.accessor] = child.props.defaultWidth === 'grow' ? '1fr' : child.props.defaultWidth;
|
@@ -18616,7 +18712,8 @@ function useConvertChildrenToColumns(props, options, editing) {
|
|
18616
18712
|
desc: child.props.sort === 'desc'
|
18617
18713
|
});
|
18618
18714
|
}
|
18619
|
-
|
18715
|
+
// return regular column definition
|
18716
|
+
return {
|
18620
18717
|
accessorKey: child.props.accessor,
|
18621
18718
|
id: child.props.accessor,
|
18622
18719
|
header: Header$2,
|
@@ -18653,9 +18750,31 @@ function useConvertChildrenToColumns(props, options, editing) {
|
|
18653
18750
|
renderer: child.props.renderer,
|
18654
18751
|
tooltip: child.props.tooltip
|
18655
18752
|
}
|
18753
|
+
};
|
18754
|
+
} else if ( /*#__PURE__*/React__default.isValidElement(child) && ((_child$type2 = child.type) === null || _child$type2 === void 0 ? void 0 : _child$type2.displayName) === 'Table3Group' && child.props.children) {
|
18755
|
+
// return column group definition
|
18756
|
+
return columnHelper.group({
|
18757
|
+
id: child.props.id,
|
18758
|
+
header: Group$3,
|
18759
|
+
columns: processChildren(child.props.children),
|
18760
|
+
meta: {
|
18761
|
+
align: 'center',
|
18762
|
+
enableOrdering: false,
|
18763
|
+
enableSearch: false,
|
18764
|
+
enableTruncate: false,
|
18765
|
+
header: child.props.header
|
18766
|
+
}
|
18656
18767
|
});
|
18657
18768
|
}
|
18658
|
-
|
18769
|
+
return;
|
18770
|
+
}
|
18771
|
+
function processChildren(children) {
|
18772
|
+
return React__default.Children.toArray(children).map(processChild)
|
18773
|
+
// compiler cannot get filtering out undefined items, so using the type casting here
|
18774
|
+
.filter(child => !!child); // need to remove undefined array items after processing the children
|
18775
|
+
}
|
18776
|
+
|
18777
|
+
const columns = processChildren(props.children);
|
18659
18778
|
if (options.enableRowExpansion && props.expandedRowRenderer) {
|
18660
18779
|
columns.unshift(columnHelper.display(createRowExpansionColumn$1(props.expandedRowRenderer)));
|
18661
18780
|
}
|
@@ -18677,7 +18796,7 @@ function useConvertChildrenToColumns(props, options, editing) {
|
|
18677
18796
|
defaultColumnVisibility,
|
18678
18797
|
defaultSorting
|
18679
18798
|
};
|
18680
|
-
}, []);
|
18799
|
+
}, [editing.isEditing]);
|
18681
18800
|
}
|
18682
18801
|
|
18683
18802
|
function usePrinting(isEnabled, loadAll, showWarningWhenPrintingLargeDataset = true) {
|
@@ -19700,18 +19819,27 @@ function FilterColumn(props) {
|
|
19700
19819
|
value = null,
|
19701
19820
|
...attributes
|
19702
19821
|
} = props;
|
19822
|
+
const {
|
19823
|
+
texts
|
19824
|
+
} = useLocalization();
|
19703
19825
|
return /*#__PURE__*/React__default.createElement(Select2, Object.assign({}, attributes, {
|
19704
19826
|
className: "!w-32 flex-shrink-0",
|
19705
19827
|
emptyValue: null,
|
19706
19828
|
onChange: handleChange,
|
19707
19829
|
value: value
|
19708
19830
|
}), allColumns.map(column => {
|
19709
|
-
var _column$columnDef$met;
|
19831
|
+
var _column$columnDef$met, _column$parent, _column$parent$column;
|
19710
19832
|
return /*#__PURE__*/React__default.createElement(Select2.Option, {
|
19711
19833
|
key: column.id,
|
19712
19834
|
value: column.id,
|
19835
|
+
postfix: !column.getIsVisible() ? /*#__PURE__*/React__default.createElement(Tooltip, {
|
19836
|
+
title: texts.table3.filters.hiddenColumn
|
19837
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
19838
|
+
name: "eye-off",
|
19839
|
+
className: "text-grey-500"
|
19840
|
+
})) : undefined,
|
19713
19841
|
disabled: column.id !== value && (!column.getCanFilter() || !!filters.find(f => f.id === column.id))
|
19714
|
-
}, (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.header);
|
19842
|
+
}, ((_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.header) + (column.parent ? ` (${(_column$parent = column.parent) === null || _column$parent === void 0 ? void 0 : (_column$parent$column = _column$parent.columnDef.meta) === null || _column$parent$column === void 0 ? void 0 : _column$parent$column.header})` : ''));
|
19715
19843
|
}));
|
19716
19844
|
}
|
19717
19845
|
|
@@ -20715,7 +20843,7 @@ function RowHeight(props) {
|
|
20715
20843
|
}
|
20716
20844
|
|
20717
20845
|
const Column$4 = /*#__PURE__*/React__default.forwardRef(function Column(props, ref) {
|
20718
|
-
var _column$columnDef$met;
|
20846
|
+
var _column$parent, _column$parent$column, _column$columnDef$met;
|
20719
20847
|
const {
|
20720
20848
|
column,
|
20721
20849
|
draggable = false,
|
@@ -20729,6 +20857,7 @@ const Column$4 = /*#__PURE__*/React__default.forwardRef(function Column(props, r
|
|
20729
20857
|
});
|
20730
20858
|
const attributes = draggable ? dragAttributes : undefined;
|
20731
20859
|
const isVisible = column.getIsVisible();
|
20860
|
+
const parentText = column.parent ? (_column$parent = column.parent) === null || _column$parent === void 0 ? void 0 : (_column$parent$column = _column$parent.columnDef.meta) === null || _column$parent$column === void 0 ? void 0 : _column$parent$column.header : null;
|
20732
20861
|
return /*#__PURE__*/React__default.createElement("div", Object.assign({}, attributes, {
|
20733
20862
|
key: column.id,
|
20734
20863
|
className: className,
|
@@ -20739,7 +20868,9 @@ const Column$4 = /*#__PURE__*/React__default.forwardRef(function Column(props, r
|
|
20739
20868
|
className: "text-grey-500 group-hover/column:text-grey-700 -mx-2 !h-5"
|
20740
20869
|
}) : null, /*#__PURE__*/React__default.createElement("span", {
|
20741
20870
|
className: "flex-grow truncate"
|
20742
|
-
}, (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.header
|
20871
|
+
}, (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.header, parentText ? /*#__PURE__*/React__default.createElement("span", {
|
20872
|
+
className: "italic"
|
20873
|
+
}, " (", parentText, ")") : null), canHide ? /*#__PURE__*/React__default.createElement(Checkbox, {
|
20743
20874
|
checked: isVisible,
|
20744
20875
|
onChange: () => column.toggleVisibility(!isVisible)
|
20745
20876
|
}) : null);
|
@@ -20757,8 +20888,8 @@ function ColumnSettingsPopover(props) {
|
|
20757
20888
|
const allColumns = table.getAllLeafColumns();
|
20758
20889
|
const tableMeta = table.options.meta;
|
20759
20890
|
const columns = React__default.useMemo(() => allColumns.filter(column => !isInternalColumn$1(column.id)).filter(column => {
|
20760
|
-
var _column$columnDef$met2;
|
20761
|
-
return query !== null && query !== void 0 && query.length ? (_column$columnDef$met2 = column.columnDef.meta) === null || _column$columnDef$met2 === void 0 ? void 0 : _column$columnDef$met2.header.toLowerCase().includes(query.toLowerCase()) : true;
|
20891
|
+
var _column$columnDef$met2, _column$parent2, _column$parent2$colum;
|
20892
|
+
return query !== null && query !== void 0 && query.length ? ((_column$columnDef$met2 = column.columnDef.meta) === null || _column$columnDef$met2 === void 0 ? void 0 : _column$columnDef$met2.header.toLowerCase().includes(query.toLowerCase())) || ((_column$parent2 = column.parent) === null || _column$parent2 === void 0 ? void 0 : (_column$parent2$colum = _column$parent2.columnDef.meta) === null || _column$parent2$colum === void 0 ? void 0 : _column$parent2$colum.header.toLowerCase().includes(query.toLowerCase())) : true;
|
20762
20893
|
}), [allColumns, query]);
|
20763
20894
|
const listClassName = 'flex max-h-64 flex-col gap-y-px overflow-auto';
|
20764
20895
|
const handleReorder = (activeId, overId) => {
|
@@ -20773,7 +20904,7 @@ function ColumnSettingsPopover(props) {
|
|
20773
20904
|
return /*#__PURE__*/React__default.createElement(Popover, Object.assign({}, popoverProps, {
|
20774
20905
|
anchor: trigger
|
20775
20906
|
}), /*#__PURE__*/React__default.createElement(Popover.Content, null, /*#__PURE__*/React__default.createElement("div", {
|
20776
|
-
className: "flex w-
|
20907
|
+
className: "flex max-w-sm flex-col gap-2"
|
20777
20908
|
}, table.options.enableHiding ? /*#__PURE__*/React__default.createElement(Input, {
|
20778
20909
|
onChange: event => setQuery(event.target.value),
|
20779
20910
|
placeholder: texts.table3.columnSettings.search,
|
@@ -21052,6 +21183,26 @@ const useCssVars = (height, fontSize) => {
|
|
21052
21183
|
};
|
21053
21184
|
};
|
21054
21185
|
|
21186
|
+
// header height: 40px, border bottom height: 2px;
|
21187
|
+
const HEADER_COLUMN_HEIGHT = 42;
|
21188
|
+
function getHeaderTopOffset(depth) {
|
21189
|
+
return HEADER_COLUMN_HEIGHT * (depth - 1);
|
21190
|
+
}
|
21191
|
+
function useHeaderOffsetStyle(tableId, table) {
|
21192
|
+
const headers = table.getFlatHeaders();
|
21193
|
+
const style = React__default.useMemo(() => {
|
21194
|
+
// 'new Set' will remove all duplicates and leave only unique values,
|
21195
|
+
// in the end we should get only one depht value per array item, example: [1, 2, 3], which we will iterate through later.
|
21196
|
+
const headerDepths = [...new Set(headers.map(header => header.depth))];
|
21197
|
+
return headerDepths.map(depth => {
|
21198
|
+
return `#${tableId} [data-taco="table2-header"] [role="row"]:nth-child(${depth}) [role="columnheader"],
|
21199
|
+
#${tableId} [data-taco="table2-header"] [role="row"]:nth-child(${depth}) [data-taco="table3-column-group"]
|
21200
|
+
{ top: ${getHeaderTopOffset(depth)}px }`;
|
21201
|
+
}).join('\r\n');
|
21202
|
+
}, [headers, tableId]);
|
21203
|
+
return style;
|
21204
|
+
}
|
21205
|
+
|
21055
21206
|
function useTable3DataLoader(fetch, fetchAll, options = {
|
21056
21207
|
pageSize: 100
|
21057
21208
|
}) {
|
@@ -21180,6 +21331,11 @@ function useTable3DataLoader(fetch, fetchAll, options = {
|
|
21180
21331
|
function Column$5(_) {
|
21181
21332
|
return null;
|
21182
21333
|
}
|
21334
|
+
Column$5.displayName = 'Table3Column';
|
21335
|
+
function Group$4(_) {
|
21336
|
+
return null;
|
21337
|
+
}
|
21338
|
+
Group$4.displayName = 'Table3Group';
|
21183
21339
|
// Cast the old forwardRef to the new one
|
21184
21340
|
const fixedForwardRef = React__default.forwardRef;
|
21185
21341
|
const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
@@ -21272,10 +21428,13 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
|
21272
21428
|
opacity: 0.999
|
21273
21429
|
};
|
21274
21430
|
const columnFreezingStyle = useColumnFreezingStyle(props.id, table);
|
21431
|
+
const headerOffsetStyle = useHeaderOffsetStyle(props.id, table);
|
21275
21432
|
const isServerLoadingAndNotReady = tableMeta.isUsingServer && props.length === undefined;
|
21276
21433
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, columnFreezingStyle ? /*#__PURE__*/React__default.createElement("style", {
|
21277
21434
|
"data-taco": "table3-column-freezing-styles"
|
21278
|
-
}, columnFreezingStyle) : null, /*#__PURE__*/React__default.createElement(
|
21435
|
+
}, columnFreezingStyle) : null, headerOffsetStyle ? /*#__PURE__*/React__default.createElement("style", {
|
21436
|
+
"data-taco": "table3-column-header-offset-styles"
|
21437
|
+
}, headerOffsetStyle) : null, /*#__PURE__*/React__default.createElement(Toolbar, {
|
21279
21438
|
table: table,
|
21280
21439
|
tableProps: props,
|
21281
21440
|
total: length,
|
@@ -21294,7 +21453,6 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
|
21294
21453
|
"data-taco": "table2",
|
21295
21454
|
onBlur: handleBlur,
|
21296
21455
|
onFocus: handleFocus,
|
21297
|
-
onMouseDownCapture: handleMouseCapture,
|
21298
21456
|
onScroll: handleScroll,
|
21299
21457
|
ref: internalRef,
|
21300
21458
|
role: "table",
|
@@ -21308,14 +21466,22 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
|
21308
21466
|
className: "contents",
|
21309
21467
|
key: headerGroup.id,
|
21310
21468
|
role: "row"
|
21311
|
-
}, headerGroup.headers.map(header =>
|
21312
|
-
|
21313
|
-
|
21314
|
-
|
21315
|
-
|
21316
|
-
|
21469
|
+
}, headerGroup.headers.map((header, index) => {
|
21470
|
+
var _headerGroup$headers;
|
21471
|
+
// We need to render separator if column is not the last in array, if index is not equal to freeze column index,
|
21472
|
+
// if next element is not placeholder and if column itself is not placeholder.
|
21473
|
+
const hasSeparator = index !== tableMeta.columnFreezing.frozenColumnIndex && index !== headerGroup.headers.length - 1 && (!((_headerGroup$headers = headerGroup.headers[index + 1]) !== null && _headerGroup$headers !== void 0 && _headerGroup$headers.isPlaceholder) || !header.isPlaceholder);
|
21474
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
|
21475
|
+
key: header.id
|
21476
|
+
}, reactTable$1.flexRender(header.column.columnDef.header, {
|
21477
|
+
...header.getContext(),
|
21478
|
+
scrollToIndex,
|
21479
|
+
hasSeparator
|
21480
|
+
}));
|
21481
|
+
})))), table.getRowModel().rows.length ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(focus.FocusScope, {
|
21317
21482
|
autoFocus: tableMeta.editing.isEditing
|
21318
21483
|
}, /*#__PURE__*/React__default.createElement("div", {
|
21484
|
+
onMouseDownCapture: handleMouseCapture,
|
21319
21485
|
className: "group/body contents",
|
21320
21486
|
"data-taco": "table2-body",
|
21321
21487
|
role: "rowgroup",
|
@@ -21351,6 +21517,7 @@ const Table3 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
|
21351
21517
|
}));
|
21352
21518
|
});
|
21353
21519
|
Table3.Column = Column$5;
|
21520
|
+
Table3.Group = Group$4;
|
21354
21521
|
|
21355
21522
|
const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(props, ref) {
|
21356
21523
|
const {
|
@@ -22108,7 +22275,7 @@ Layout$1.Page = Page;
|
|
22108
22275
|
Layout$1.Sidebar = Sidebar;
|
22109
22276
|
Layout$1.Content = Content$9;
|
22110
22277
|
|
22111
|
-
const Group$
|
22278
|
+
const Group$5 = /*#__PURE__*/React__default.forwardRef(function Group(props, ref) {
|
22112
22279
|
const {
|
22113
22280
|
children,
|
22114
22281
|
defaultExpanded = false,
|
@@ -22267,7 +22434,7 @@ const Navigation2 = /*#__PURE__*/React__default.forwardRef(function Navigation2(
|
|
22267
22434
|
}
|
22268
22435
|
}), children);
|
22269
22436
|
});
|
22270
|
-
Navigation2.Group = Group$
|
22437
|
+
Navigation2.Group = Group$5;
|
22271
22438
|
Navigation2.Link = Link$2;
|
22272
22439
|
Navigation2.Section = Section;
|
22273
22440
|
Navigation2.Content = Content$a;
|