@economic/taco 1.36.0 → 1.37.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/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", {
|