@economic/taco 1.36.0 → 1.37.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Icon/components/EyeOff.d.ts +3 -0
- package/dist/components/Icon/components/EyeOn.d.ts +3 -0
- package/dist/components/Icon/components/index.d.ts +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Menu/components/Item.d.ts +1 -1
- package/dist/components/Menu/components/Link.d.ts +1 -1
- package/dist/components/Navigation2/components/Link.d.ts +1 -1
- package/dist/components/Provider/Localization.d.ts +1 -0
- package/dist/components/Select2/components/Option.d.ts +1 -1
- package/dist/components/Select2/components/Search.d.ts +1 -1
- package/dist/components/Select2/components/Trigger.d.ts +1 -0
- package/dist/components/Table2/Table2.d.ts +1 -0
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/EyeOff.js +19 -0
- package/dist/esm/packages/taco/src/components/Icon/components/EyeOff.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/EyeOn.js +19 -0
- package/dist/esm/packages/taco/src/components/Icon/components/EyeOn.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/index.js +4 -0
- package/dist/esm/packages/taco/src/components/Icon/components/index.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/Select2.js +1 -0
- package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Create.js +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Create.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +3 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js +51 -38
- package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +1 -1
- package/dist/taco.cjs.development.js +89 -40
- 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 +10 -3
@@ -1460,6 +1460,36 @@ function IconExport(props, svgRef) {
|
|
1460
1460
|
}
|
1461
1461
|
var Export = /*#__PURE__*/React.forwardRef(IconExport);
|
1462
1462
|
|
1463
|
+
function IconEyeOff(props, svgRef) {
|
1464
|
+
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
1465
|
+
fill: "none",
|
1466
|
+
xmlns: "http://www.w3.org/2000/svg",
|
1467
|
+
viewBox: "0 0 24 24",
|
1468
|
+
ref: svgRef
|
1469
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
1470
|
+
fillRule: "evenodd",
|
1471
|
+
clipRule: "evenodd",
|
1472
|
+
d: "M3.53 2.47a.75.75 0 00-1.06 1.06l3.605 3.605a10.258 10.258 0 00-4.097 6.208.75.75 0 101.466.314 8.757 8.757 0 013.71-5.443l1.987 1.988a4 4 0 005.656 5.656l5.673 5.672a.75.75 0 101.06-1.06l-18-18zm10.207 12.328l-3.535-3.535a2.5 2.5 0 003.535 3.535zM12.061 9L16 12.94A4 4 0 0012.06 9zM8.815 5.754l1.218 1.218a8.753 8.753 0 0110.523 6.685.75.75 0 101.467-.314C21.032 8.718 16.922 5.25 12 5.25c-1.112 0-2.182.177-3.185.504z",
|
1473
|
+
fill: "currentColor"
|
1474
|
+
}));
|
1475
|
+
}
|
1476
|
+
var EyeOff = /*#__PURE__*/React.forwardRef(IconEyeOff);
|
1477
|
+
|
1478
|
+
function IconEyeOn(props, svgRef) {
|
1479
|
+
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
1480
|
+
fill: "none",
|
1481
|
+
xmlns: "http://www.w3.org/2000/svg",
|
1482
|
+
viewBox: "0 0 24 24",
|
1483
|
+
ref: svgRef
|
1484
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
1485
|
+
fillRule: "evenodd",
|
1486
|
+
clipRule: "evenodd",
|
1487
|
+
d: "M3.444 13.657a8.753 8.753 0 0117.112 0 .75.75 0 101.466-.314C21.033 8.718 16.922 5.25 12 5.25c-4.922 0-9.031 3.468-10.022 8.093a.75.75 0 101.466.314zM14.5 13a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.5 0a4 4 0 11-8 0 4 4 0 018 0z",
|
1488
|
+
fill: "currentColor"
|
1489
|
+
}));
|
1490
|
+
}
|
1491
|
+
var EyeOn = /*#__PURE__*/React.forwardRef(IconEyeOn);
|
1492
|
+
|
1463
1493
|
function IconFilterSolid(props, svgRef) {
|
1464
1494
|
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
1465
1495
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -3139,6 +3169,8 @@ const icons = {
|
|
3139
3169
|
'export-to-excel': ExportToExcel,
|
3140
3170
|
'export-to-pdf': ExportToPdf,
|
3141
3171
|
export: Export,
|
3172
|
+
'eye-off': EyeOff,
|
3173
|
+
'eye-on': EyeOn,
|
3142
3174
|
'filter-solid': FilterSolid,
|
3143
3175
|
filter: Filter,
|
3144
3176
|
'graph-solid': GraphSolid,
|
@@ -3960,6 +3992,7 @@ const defaultLocalisationTexts = {
|
|
3960
3992
|
selectAll: 'Select all rows'
|
3961
3993
|
},
|
3962
3994
|
menu: {
|
3995
|
+
hideColumn: 'Hide column',
|
3963
3996
|
freezeColumns: (count = 1) => count === 1 ? 'Freeze the first column' : `Freeze first ${count} columns`,
|
3964
3997
|
unfreezeColumns: 'Unfreeze all columns'
|
3965
3998
|
}
|
@@ -9261,6 +9294,7 @@ const Button$2 = /*#__PURE__*/React__default.forwardRef(function Select2TriggerB
|
|
9261
9294
|
const Single = /*#__PURE__*/React__default.forwardRef(function Select2TriggerSingle(props, ref) {
|
9262
9295
|
const {
|
9263
9296
|
children,
|
9297
|
+
emptyValue,
|
9264
9298
|
value,
|
9265
9299
|
...buttonProps
|
9266
9300
|
} = props;
|
@@ -9273,7 +9307,7 @@ const Single = /*#__PURE__*/React__default.forwardRef(function Select2TriggerSin
|
|
9273
9307
|
const currentValue = children.find(matchesValue(value));
|
9274
9308
|
let output;
|
9275
9309
|
if (currentValue) {
|
9276
|
-
if (tags) {
|
9310
|
+
if (tags && emptyValue !== undefined && emptyValue !== value) {
|
9277
9311
|
output = /*#__PURE__*/React__default.createElement(Tag$1, {
|
9278
9312
|
className: "truncate",
|
9279
9313
|
color: currentValue.props.color,
|
@@ -9297,6 +9331,7 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
|
|
9297
9331
|
var _buttonRef$current;
|
9298
9332
|
const {
|
9299
9333
|
children,
|
9334
|
+
emptyValue: _,
|
9300
9335
|
values = [],
|
9301
9336
|
...buttonProps
|
9302
9337
|
} = props;
|
@@ -9612,7 +9647,7 @@ const getNextColor = options => {
|
|
9612
9647
|
}, {});
|
9613
9648
|
const colors = Object.keys(occurences);
|
9614
9649
|
if (colors.length) {
|
9615
|
-
return colors.sort((a, b) => occurences[
|
9650
|
+
return colors.sort((a, b) => occurences[a] - occurences[b])[0];
|
9616
9651
|
}
|
9617
9652
|
return undefined;
|
9618
9653
|
};
|
@@ -9847,6 +9882,7 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
9847
9882
|
"data-taco": "Select2"
|
9848
9883
|
}, /*#__PURE__*/React__default.createElement(Trigger$7, Object.assign({}, otherProps, {
|
9849
9884
|
"aria-haspopup": "listbox",
|
9885
|
+
emptyValue: emptyValue,
|
9850
9886
|
onBlur: handleBlur,
|
9851
9887
|
onKeyDown: handleKeyDown,
|
9852
9888
|
ref: internalRef
|
@@ -12871,7 +12907,7 @@ const EditingCell = /*#__PURE__*/React__default.memo( /*#__PURE__*/React__defaul
|
|
12871
12907
|
}));
|
12872
12908
|
|
12873
12909
|
const Header$1 = function Header(props) {
|
12874
|
-
var _header$column$column, _header$column$column2, _asc$desc$header$colu, _header$column$column4, _header$column$column5, _header$column$column6, _header$column$column7, _asc$desc$header$colu2, _header$column$column8
|
12910
|
+
var _header$column$column, _header$column$column2, _asc$desc$header$colu, _header$column$column4, _header$column$column5, _header$column$column6, _header$column$column7, _asc$desc$header$colu2, _header$column$column8;
|
12875
12911
|
const {
|
12876
12912
|
header,
|
12877
12913
|
index,
|
@@ -12977,8 +13013,7 @@ const Header$1 = function Header(props) {
|
|
12977
13013
|
className: "pointer-events-none -my-0.5"
|
12978
13014
|
})
|
12979
13015
|
}[header.column.getIsSorted()]) !== null && _asc$desc$header$colu2 !== void 0 ? _asc$desc$header$colu2 : null), !isInternalColumn(header.column.id) && ((_header$column$column8 = header.column.columnDef.meta) !== null && _header$column$column8 !== void 0 && _header$column$column8.menu || enableColumnFreezing) ? /*#__PURE__*/React__default.createElement(HeaderMenu, {
|
12980
|
-
|
12981
|
-
enableColumnFreezing: enableColumnFreezing,
|
13016
|
+
header: header,
|
12982
13017
|
table: table,
|
12983
13018
|
columnIndex: index
|
12984
13019
|
}) : null), header.column.getCanResize() ? /*#__PURE__*/React__default.createElement(Tooltip, {
|
@@ -13003,46 +13038,62 @@ const Header$1 = function Header(props) {
|
|
13003
13038
|
}))) : null);
|
13004
13039
|
};
|
13005
13040
|
const HeaderMenu = ({
|
13006
|
-
|
13007
|
-
enableColumnFreezing,
|
13041
|
+
header,
|
13008
13042
|
table,
|
13009
13043
|
columnIndex
|
13010
13044
|
}) => {
|
13045
|
+
var _header$column$column9;
|
13011
13046
|
const [open, setOpen] = React__default.useState(false);
|
13012
13047
|
const {
|
13013
13048
|
texts
|
13014
13049
|
} = useLocalization();
|
13050
|
+
const menu = (_header$column$column9 = header.column.columnDef.meta) === null || _header$column$column9 === void 0 ? void 0 : _header$column$column9.menu;
|
13051
|
+
const meta = table.options.meta;
|
13015
13052
|
const {
|
13016
13053
|
frozenColumnsCount,
|
13017
13054
|
setFrozenColumnsCount
|
13018
|
-
} =
|
13055
|
+
} = meta;
|
13019
13056
|
const columns = table.getVisibleLeafColumns();
|
13020
13057
|
const {
|
13021
13058
|
columnVisibility,
|
13022
13059
|
columnOrder
|
13023
13060
|
} = table.getState();
|
13024
13061
|
const visibleInternalColumnsCount = React__default.useMemo(() => columns.filter(column => isInternalFrozenColumn(column.id)).length, [columns]);
|
13025
|
-
const columnPosition = columnIndex + 1;
|
13026
|
-
const externalFrozenColumnsCount = columnPosition - visibleInternalColumnsCount;
|
13027
|
-
const isSomeExternalColumnFrozen = frozenColumnsCount !== 0;
|
13028
|
-
const freeAllColumns = () => {
|
13029
|
-
setFrozenColumnsCount(0);
|
13030
|
-
};
|
13031
|
-
const freezeColumns = () => {
|
13032
|
-
setFrozenColumnsCount(externalFrozenColumnsCount);
|
13033
|
-
};
|
13034
13062
|
const className = cn('-my-0.5 -mr-1 -ml-0.5 hidden !h-6 !min-h-[theme(spacing.6)] !w-6 !min-w-[theme(spacing.6)] flex-shrink-0 justify-end group-hover/header:flex', {
|
13035
13063
|
'!flex': open
|
13036
13064
|
});
|
13037
|
-
const
|
13038
|
-
|
13039
|
-
|
13040
|
-
|
13041
|
-
|
13042
|
-
|
13043
|
-
|
13044
|
-
|
13045
|
-
}
|
13065
|
+
const menuItems = [];
|
13066
|
+
if (table.options.enableHiding) {
|
13067
|
+
// we do this in the next tick, otherwise the menu closes and react throws a "state update on unmounted component" error
|
13068
|
+
const handleClick = () => setTimeout(() => header.column.toggleVisibility(), 1);
|
13069
|
+
menuItems.push( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
13070
|
+
icon: "eye-off",
|
13071
|
+
onClick: handleClick
|
13072
|
+
}, texts.table2.columns.menu.hideColumn));
|
13073
|
+
}
|
13074
|
+
if (meta.enableColumnFreezing) {
|
13075
|
+
const columnPosition = columnIndex + 1;
|
13076
|
+
const externalFrozenColumnsCount = columnPosition - visibleInternalColumnsCount;
|
13077
|
+
const isSomeExternalColumnFrozen = frozenColumnsCount !== 0;
|
13078
|
+
const freeAllColumns = () => {
|
13079
|
+
setFrozenColumnsCount(0);
|
13080
|
+
};
|
13081
|
+
const freezeColumns = () => {
|
13082
|
+
setFrozenColumnsCount(externalFrozenColumnsCount);
|
13083
|
+
};
|
13084
|
+
menuItems.push( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
13085
|
+
icon: "column-freeze",
|
13086
|
+
onClick: freezeColumns,
|
13087
|
+
key: "_freeze-columns_"
|
13088
|
+
}, texts.table2.columns.menu.freezeColumns(externalFrozenColumnsCount)));
|
13089
|
+
if (isSomeExternalColumnFrozen) {
|
13090
|
+
menuItems.push( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
13091
|
+
icon: "column-unfreeze",
|
13092
|
+
onClick: freeAllColumns,
|
13093
|
+
key: "_unfreeze-columns_"
|
13094
|
+
}, texts.table2.columns.menu.unfreezeColumns));
|
13095
|
+
}
|
13096
|
+
}
|
13046
13097
|
React__default.useEffect(() => {
|
13047
13098
|
// Update column pinning/freezing whenever frozen columns count changes, or column order or visiblity changes
|
13048
13099
|
const totalFrozenColumnsCount = visibleInternalColumnsCount + frozenColumnsCount;
|
@@ -13059,23 +13110,21 @@ const HeaderMenu = ({
|
|
13059
13110
|
open: open,
|
13060
13111
|
onChange: setOpen
|
13061
13112
|
};
|
13062
|
-
let menuComponent = null;
|
13063
13113
|
if (menu) {
|
13064
|
-
|
13065
|
-
|
13066
|
-
|
13067
|
-
|
13068
|
-
|
13069
|
-
|
13070
|
-
|
13071
|
-
}
|
13072
|
-
|
13073
|
-
children: menuContentWithFreezingItems
|
13074
|
-
});
|
13114
|
+
const customMenu = menu({
|
13115
|
+
trigger: undefined
|
13116
|
+
});
|
13117
|
+
const customItems = React__default.Children.toArray(customMenu.props.children.props.children);
|
13118
|
+
if (customItems.length) {
|
13119
|
+
if (menuItems.length) {
|
13120
|
+
menuItems.push( /*#__PURE__*/React__default.createElement(Menu$1.Separator, null));
|
13121
|
+
}
|
13122
|
+
menuItems.push(...customItems);
|
13075
13123
|
}
|
13076
|
-
} else if (enableColumnFreezing) {
|
13077
|
-
menuComponent = /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, freezeMenuItems));
|
13078
13124
|
}
|
13125
|
+
const menuComponent = /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, menuItems.map((item, key) => /*#__PURE__*/React__default.cloneElement(item, {
|
13126
|
+
key
|
13127
|
+
}))));
|
13079
13128
|
// This div catches the mousedown events from menu item and menu trigger and prevents
|
13080
13129
|
// mousedown event from bubbling up to the Header component to prevent toggling sorting
|
13081
13130
|
return menuComponent ? /*#__PURE__*/React__default.createElement("div", {
|