@economic/taco 2.49.1 → 2.49.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Hanger/Hanger.d.ts +1 -0
- package/dist/esm/index.css +18 -2
- package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +13 -0
- package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +7 -0
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Dialog/components/Content.js +2 -2
- package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Hanger/Hanger.js +4 -2
- package/dist/esm/packages/taco/src/components/Hanger/Hanger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +11 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateNewRow.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateNewRow.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Tag/Tag.js +1 -1
- package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleGrid.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleGrid.js.map +1 -1
- package/dist/index.css +18 -2
- package/dist/taco.cjs.development.js +39 -8
- 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
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useTableStyleGrid.js","sources":["../../../../../../../../../src/primitives/Table/Core/features/useTableStyleGrid.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { TableFontSize } from '../../types';\nimport { getCellMinWidth, isInternalColumn } from '../../useTableManager/util/columns';\n\nexport function useTableStyleGrid<TType = unknown>(tableId: string, table: ReactTable<TType>, fontSize: TableFontSize) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const allVisibleColumns = table.getVisibleLeafColumns();\n const columnSizing = table.getState().columnSizing;\n const globalMinSize = getCellMinWidth(fontSize);\n\n // header body ?footer\n const gridTemplateRows = table.getRowModel().rows.length ? 'min-content 1fr min-content' : 'min-content 1fr';\n\n return React.useMemo(() => {\n let printGridTemplateColumns = 0;\n const printHiddenColumns: string[] = [];\n\n const gridTemplateColumns = allVisibleColumns.reduce((accum, column, index) => {\n if (table.options.enableGrouping && column.getIsGrouped()) {\n return accum;\n }\n\n const minSize = column.columnDef.minSize ?? globalMinSize;\n const width = columnSizing[column.id] as number | 'grow';\n\n let size;\n\n if (isInternalColumn(column.id)) {\n if (column.id === '__actions') {\n const minWidth = tableMeta.rowActions.rowActionsLength * 32 + 8; /* button margins l+r */\n size = `minmax(${minWidth}px, auto)`;\n } else {\n // getSize method is used instead of columnSizing state because internal columns have defined widths\n size = `${column.getSize()}px`;\n }\n } else if (width !== undefined) {\n const isLastColumn = index === allVisibleColumns.length - 1;\n\n if (width === 'grow' || (Number.isNaN(width) && !isLastColumn)) {\n size = `minmax(max-content, 1fr)`;\n } else {\n const minWidth = width < minSize ? minSize : width;\n\n if (isLastColumn) {\n size = `minmax(${minWidth}px, auto)`;\n } else {\n size = `${minWidth}px`;\n }\n }\n } else {\n size = `minmax(max-content, auto)`;\n }\n\n // printing\n if (column.columnDef.meta?.enablePrinting === false) {\n printHiddenColumns.push(column.id);\n } else {\n printGridTemplateColumns++;\n }\n\n return `${accum} ${size}`.trim();\n }, '');\n\n // normal grid\n const style: React.CSSProperties = {\n gridTemplateColumns,\n gridTemplateRows,\n };\n\n // printing grid\n // we have to be specific so that nested tables don't inherit the same css\n const hiddenColumns = printHiddenColumns\n .map(\n id =>\n `table[data-taco^='table']#${tableId} > thead > tr > th[data-cell-id='${id}']\\n,table[data-taco^='table']#${tableId} > tbody > tr > td[data-cell-id='${id}']\\n`\n )\n .join(',');\n const stylesheet = `@media print { table[data-taco^='table']#${tableId} { grid-template-columns: repeat(${printGridTemplateColumns}, auto) !important; }\n table[data-taco^='table']#${tableId} [data-cell-id^='__']${\n hiddenColumns ? `, ${hiddenColumns}` : ''\n } { display: none; }}`;\n\n return { style, stylesheet };\n }, [allVisibleColumns, columnSizing, globalMinSize, tableMeta.rowActions.rowActionsLength]);\n}\n"],"names":["useTableStyleGrid","tableId","table","fontSize","tableMeta","options","meta","allVisibleColumns","getVisibleLeafColumns","columnSizing","getState","globalMinSize","getCellMinWidth","gridTemplateRows","getRowModel","rows","length","React","useMemo","printGridTemplateColumns","printHiddenColumns","gridTemplateColumns","reduce","accum","column","index","enableGrouping","getIsGrouped","minSize","_column$columnDef$min","columnDef","width","id","size","isInternalColumn","minWidth","rowActions","rowActionsLength","getSize","undefined","isLastColumn","Number","isNaN","_column$columnDef$met","enablePrinting","push","trim","style","hiddenColumns","map","join","stylesheet"],"mappings":"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
|
1
|
+
{"version":3,"file":"useTableStyleGrid.js","sources":["../../../../../../../../../src/primitives/Table/Core/features/useTableStyleGrid.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { TableFontSize } from '../../types';\nimport { getCellMinWidth, isInternalColumn } from '../../useTableManager/util/columns';\n\nexport function useTableStyleGrid<TType = unknown>(tableId: string, table: ReactTable<TType>, fontSize: TableFontSize) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const allVisibleColumns = table.getVisibleLeafColumns();\n const columnSizing = table.getState().columnSizing;\n const globalMinSize = getCellMinWidth(fontSize);\n\n // header body ?footer\n const gridTemplateRows = table.getRowModel().rows.length ? 'min-content 1fr min-content' : 'min-content 1fr';\n\n return React.useMemo(() => {\n let printGridTemplateColumns = 0;\n const printHiddenColumns: string[] = [];\n\n const gridTemplateColumns = allVisibleColumns.reduce((accum, column, index) => {\n if (table.options.enableGrouping && column.getIsGrouped()) {\n return accum;\n }\n\n const minSize = column.columnDef.minSize ?? globalMinSize;\n const width = columnSizing[column.id] as number | 'grow';\n\n let size;\n\n if (isInternalColumn(column.id)) {\n if (column.id === '__actions') {\n const minWidth = tableMeta.rowActions.rowActionsLength * 32 + 8; /* button margins l+r */\n size = `minmax(${minWidth}px, auto)`;\n } else {\n // getSize method is used instead of columnSizing state because internal columns have defined widths\n size = `${column.getSize()}px`;\n }\n } else if (width !== undefined) {\n const isLastColumn = index === allVisibleColumns.length - 1;\n\n if (width === 'grow' || (Number.isNaN(width) && !isLastColumn)) {\n size = `minmax(max-content, 1fr)`;\n } else {\n const minWidth = width < minSize ? minSize : width;\n\n if (isLastColumn) {\n size = `minmax(${minWidth}px, auto)`;\n } else {\n size = `${minWidth}px`;\n }\n }\n } else {\n size = `minmax(max-content, auto)`;\n }\n\n // printing\n if (column.columnDef.meta?.enablePrinting === false) {\n printHiddenColumns.push(column.id);\n } else {\n printGridTemplateColumns++;\n }\n\n return `${accum} ${size}`.trim();\n }, '');\n\n // normal grid\n const style: React.CSSProperties = {\n gridTemplateColumns,\n gridTemplateRows,\n };\n\n // printing grid\n // we have to be specific so that nested tables don't inherit the same css\n const hiddenColumns = printHiddenColumns\n .map(\n id =>\n `table[data-taco^='table']#${tableId} > thead > tr > th[data-cell-id='${id}']\\n,table[data-taco^='table']#${tableId} > tbody > tr > td[data-cell-id='${id}']\\n`\n )\n .join(',');\n const stylesheet = `@media print { table[data-taco^='table']#${tableId} { grid-template-columns: repeat(${printGridTemplateColumns}, auto) !important; }\n table[data-taco^='table']#${tableId} [data-cell-id^='__']${\n hiddenColumns ? `, ${hiddenColumns}` : ''\n } { display: none; } table[data-taco^='table']#${tableId} tr { page-break-inside: avoid; break-inside: avoid;}}`;\n\n return { style, stylesheet };\n }, [allVisibleColumns, columnSizing, globalMinSize, tableMeta.rowActions.rowActionsLength]);\n}\n"],"names":["useTableStyleGrid","tableId","table","fontSize","tableMeta","options","meta","allVisibleColumns","getVisibleLeafColumns","columnSizing","getState","globalMinSize","getCellMinWidth","gridTemplateRows","getRowModel","rows","length","React","useMemo","printGridTemplateColumns","printHiddenColumns","gridTemplateColumns","reduce","accum","column","index","enableGrouping","getIsGrouped","minSize","_column$columnDef$min","columnDef","width","id","size","isInternalColumn","minWidth","rowActions","rowActionsLength","getSize","undefined","isLastColumn","Number","isNaN","_column$columnDef$met","enablePrinting","push","trim","style","hiddenColumns","map","join","stylesheet"],"mappings":"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"}
|
package/dist/index.css
CHANGED
@@ -166,6 +166,11 @@
|
|
166
166
|
@apply invisible;
|
167
167
|
}
|
168
168
|
|
169
|
+
/* When the dialog is open, all elements are aria-hidden except for the dialog content */
|
170
|
+
[aria-hidden='true'] {
|
171
|
+
@apply print:hidden;
|
172
|
+
}
|
173
|
+
|
169
174
|
.wcag-transparent {
|
170
175
|
@apply bg-black/[0.08] text-black;
|
171
176
|
}
|
@@ -411,6 +416,12 @@
|
|
411
416
|
bottom: 3px;
|
412
417
|
}
|
413
418
|
|
419
|
+
/* When dealing with nested dialogs, the dialog behind remains rendered because it only receives the [aria-hidden] attribute but not display: none.
|
420
|
+
As a result, tabs in the hidden dialog remain visible, as they still have the visible class assigned. To properly hide them, we need to override their visibility. */
|
421
|
+
[data-taco='backdrop'][aria-hidden='true'] [role='tablist'] [role='tab'].visible {
|
422
|
+
visibility: hidden;
|
423
|
+
}
|
424
|
+
|
414
425
|
/* label inside label is invalid html, but the client is littered with it */
|
415
426
|
[data-taco='label'] [data-taco='label'] {
|
416
427
|
min-height: 0;
|
@@ -574,7 +585,7 @@ table[data-taco^='table'] {
|
|
574
585
|
|
575
586
|
table[data-taco^='table'] thead {
|
576
587
|
/* z-indexes & layout */
|
577
|
-
@apply sticky top-0 isolate z-20;
|
588
|
+
@apply sticky top-0 isolate z-20 print:static;
|
578
589
|
/* grid */
|
579
590
|
@apply col-span-full grid auto-rows-min grid-cols-[subgrid];
|
580
591
|
}
|
@@ -613,7 +624,7 @@ table[data-taco^='table'] thead tr:not(:last-child) th:before {
|
|
613
624
|
|
614
625
|
table[data-taco^='table'] tfoot {
|
615
626
|
/* z-indexes & layout */
|
616
|
-
@apply sticky bottom-0 isolate z-20;
|
627
|
+
@apply sticky bottom-0 isolate z-20 print:static;
|
617
628
|
/* grid */
|
618
629
|
@apply col-span-full grid grid-cols-[subgrid];
|
619
630
|
}
|
@@ -1403,3 +1414,8 @@ table[data-taco^='table'][data-table-row-height='tall'] tr[data-row-create] td,
|
|
1403
1414
|
table[data-taco^='table'][data-table-row-height='extra-tall'] tr[data-row-create] td {
|
1404
1415
|
@apply !min-h-[41px] !pt-[10px];
|
1405
1416
|
}
|
1417
|
+
|
1418
|
+
/* Hiding CreateNewRow using CSS to ensure higher specificity for hiding the row */
|
1419
|
+
table[data-taco^='table'] tr[data-row-create] {
|
1420
|
+
@apply print:hidden;
|
1421
|
+
}
|
@@ -6392,6 +6392,7 @@ const useDatepicker = ({
|
|
6392
6392
|
} = useLocalization();
|
6393
6393
|
const [internalValue, setInternalValue] = React.useState((_format = format(value, formatting.date)) !== null && _format !== void 0 ? _format : '');
|
6394
6394
|
const originalValueAsDate = parse(value);
|
6395
|
+
const [invalid, setInvalid] = React.useState(false);
|
6395
6396
|
// update internal value if it changed 'externally'
|
6396
6397
|
React.useEffect(() => {
|
6397
6398
|
const formattedValue = format(value, formatting.date);
|
@@ -6405,6 +6406,10 @@ const useDatepicker = ({
|
|
6405
6406
|
const valueAsDate = parseFromCustomString(event.target.value, 'dd.mm.yy', originalValueAsDate === null || originalValueAsDate === void 0 ? void 0 : originalValueAsDate.getMonth(), originalValueAsDate === null || originalValueAsDate === void 0 ? void 0 : originalValueAsDate.getFullYear());
|
6406
6407
|
const formattedValue = valueAsDate ? format(valueAsDate) || '' : '';
|
6407
6408
|
event.target.value = formattedValue;
|
6409
|
+
if (valueAsDate && calendar !== null && calendar !== void 0 && calendar.disabledDays) {
|
6410
|
+
// setting invalid state if user manually write a disabled date.
|
6411
|
+
setInvalid(reactDayPicker.isMatch(valueAsDate, calendar === null || calendar === void 0 ? void 0 : calendar.disabledDays));
|
6412
|
+
}
|
6408
6413
|
if (onChange) {
|
6409
6414
|
event.detail = valueAsDate;
|
6410
6415
|
onChange(event);
|
@@ -6435,6 +6440,7 @@ const useDatepicker = ({
|
|
6435
6440
|
const inputProps = {
|
6436
6441
|
...props,
|
6437
6442
|
autoComplete: 'off',
|
6443
|
+
invalid,
|
6438
6444
|
onBlur: handleInputBlur,
|
6439
6445
|
onChange: handleInputChange,
|
6440
6446
|
onKeyDown: handleKeyDown,
|
@@ -6604,11 +6610,24 @@ const Datepicker = /*#__PURE__*/React.forwardRef(function Datepicker(props, ref)
|
|
6604
6610
|
e.preventDefault();
|
6605
6611
|
(_input$ref$current = input.ref.current) === null || _input$ref$current === void 0 ? void 0 : _input$ref$current.focus();
|
6606
6612
|
}, [input.ref]);
|
6613
|
+
// Allow preventing default keyDown behaviour if consumer (in our internal case it's Table3) wants to handle it.
|
6614
|
+
// We need to have this option for the situations, when Datepicker is used as inline edititng control in Table3,
|
6615
|
+
// without it, datepicker cannot be set into detailed editing mode by pressing "Enter",
|
6616
|
+
// because input.onKeydown is triggering 'focusout', which resets the detailed edititng mode.
|
6617
|
+
const handleInputKeyDown = event => {
|
6618
|
+
var _props$onKeyDown;
|
6619
|
+
(_props$onKeyDown = props.onKeyDown) === null || _props$onKeyDown === void 0 ? void 0 : _props$onKeyDown.call(props, event);
|
6620
|
+
if (!event.defaultPrevented) {
|
6621
|
+
var _input$onKeyDown;
|
6622
|
+
(_input$onKeyDown = input.onKeyDown) === null || _input$onKeyDown === void 0 ? void 0 : _input$onKeyDown.call(input, event);
|
6623
|
+
}
|
6624
|
+
};
|
6607
6625
|
return /*#__PURE__*/React.createElement("span", {
|
6608
6626
|
className: className,
|
6609
6627
|
"data-taco": "datepicker",
|
6610
6628
|
style: style
|
6611
6629
|
}, /*#__PURE__*/React.createElement(Input, Object.assign({}, input, {
|
6630
|
+
onKeyDown: handleInputKeyDown,
|
6612
6631
|
button: input.readOnly ? undefined : (/*#__PURE__*/React.createElement(IconButton, {
|
6613
6632
|
"aria-label": texts.datepicker.expand,
|
6614
6633
|
disabled: input.disabled || input.readOnly,
|
@@ -6787,8 +6806,8 @@ const Content$4 = /*#__PURE__*/React.forwardRef(function DialogContent(props, re
|
|
6787
6806
|
const {
|
6788
6807
|
texts
|
6789
6808
|
} = useLocalization();
|
6790
|
-
const className = cn('relative bg-white animate-[fade-in_150ms] rounded', getDialogPositionClassnames(), getDialogSizeClassnames(dialog.size), 'print:w-full print:h-
|
6791
|
-
const containerClassName = cn('bg-white p-6 rounded relative z-10 shadow print:p-0 print:overflow-visible print:h-
|
6809
|
+
const className = cn('relative bg-white animate-[fade-in_150ms] rounded', getDialogPositionClassnames(), getDialogSizeClassnames(dialog.size), 'print:w-full print:h-max print:m-0 print:overflow-visible');
|
6810
|
+
const containerClassName = cn('bg-white p-6 rounded relative z-10 shadow print:p-0', 'print:overflow-visible print:h-max print:!transform-none print:!static print:!inset-0 print:!m-0', {
|
6792
6811
|
'rounded-b-none': !!dialog.elements.extra
|
6793
6812
|
}, props.className);
|
6794
6813
|
const handleEscapeKeyDown = event => {
|
@@ -7547,7 +7566,8 @@ const Title$3 = /*#__PURE__*/React.forwardRef(function DialogTitle(props, ref) {
|
|
7547
7566
|
});
|
7548
7567
|
const Content$6 = /*#__PURE__*/React.forwardRef(function HangerContent(props, ref) {
|
7549
7568
|
const {
|
7550
|
-
placement: side
|
7569
|
+
placement: side,
|
7570
|
+
hideWhenDetached = false
|
7551
7571
|
} = props;
|
7552
7572
|
const context = React.useContext(HangerContext);
|
7553
7573
|
const {
|
@@ -7563,7 +7583,8 @@ const Content$6 = /*#__PURE__*/React.forwardRef(function HangerContent(props, re
|
|
7563
7583
|
onInteractOutside: handleInteractOutside,
|
7564
7584
|
side: side,
|
7565
7585
|
sideOffset: 1,
|
7566
|
-
ref: ref
|
7586
|
+
ref: ref,
|
7587
|
+
hideWhenDetached: hideWhenDetached
|
7567
7588
|
}, props.children, /*#__PURE__*/React.createElement(UnstyledArrow, {
|
7568
7589
|
className: "text-blue-500"
|
7569
7590
|
}), /*#__PURE__*/React.createElement(PopoverPrimitive.Close, {
|
@@ -12036,7 +12057,7 @@ function useTableStyleGrid(tableId, table, fontSize) {
|
|
12036
12057
|
// we have to be specific so that nested tables don't inherit the same css
|
12037
12058
|
const hiddenColumns = printHiddenColumns.map(id => `table[data-taco^='table']#${tableId} > thead > tr > th[data-cell-id='${id}']\n,table[data-taco^='table']#${tableId} > tbody > tr > td[data-cell-id='${id}']\n`).join(',');
|
12038
12059
|
const stylesheet = `@media print { table[data-taco^='table']#${tableId} { grid-template-columns: repeat(${printGridTemplateColumns}, auto) !important; }
|
12039
|
-
table[data-taco^='table']#${tableId} [data-cell-id^='__']${hiddenColumns ? `, ${hiddenColumns}` : ''} { display: none; }}`;
|
12060
|
+
table[data-taco^='table']#${tableId} [data-cell-id^='__']${hiddenColumns ? `, ${hiddenColumns}` : ''} { display: none; } table[data-taco^='table']#${tableId} tr { page-break-inside: avoid; break-inside: avoid;}}`;
|
12040
12061
|
return {
|
12041
12062
|
style,
|
12042
12063
|
stylesheet
|
@@ -15104,7 +15125,7 @@ const Tag$1 = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
15104
15125
|
name: icon,
|
15105
15126
|
className: "-ml-1 mr-1 !h-5 !w-5"
|
15106
15127
|
})) : (/*#__PURE__*/React__default.cloneElement(icon, {
|
15107
|
-
className: 'mr-1 -ml-1
|
15128
|
+
className: cn(icon.props.className, 'mr-1 -ml-1')
|
15108
15129
|
})) : null, /*#__PURE__*/React__default.createElement("span", {
|
15109
15130
|
className: "truncate"
|
15110
15131
|
}, children)), onDelete ? (/*#__PURE__*/React__default.createElement(Icon, {
|
@@ -19935,11 +19956,21 @@ const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditin
|
|
19935
19956
|
props.onChange(newDate);
|
19936
19957
|
}
|
19937
19958
|
};
|
19959
|
+
const handleDatepickerInputKeyDown = event => {
|
19960
|
+
// When in detailed mode, we want to handle the change, when 'Enter' is pressed.
|
19961
|
+
// To make it possible, we just need to prevent handleInputKeyDown from being executed, and give the full control to Datepicker,
|
19962
|
+
// by doing this, Datepicker will exit "detailed mode" by itself when a valid date change event is triggered.
|
19963
|
+
// In any other cases we'll just execute the "handleInputKeyDown" handler.
|
19964
|
+
if (isDetailedMode && event.key === 'Enter' && event.target.value !== '') {
|
19965
|
+
return;
|
19966
|
+
}
|
19967
|
+
handleInputKeyDown(event);
|
19968
|
+
};
|
19938
19969
|
return /*#__PURE__*/React__default.createElement(Datepicker, Object.assign({}, commonProps, {
|
19939
19970
|
invalid: invalid,
|
19940
19971
|
onChange: handleChange,
|
19941
19972
|
onFocus: handleFocus,
|
19942
|
-
onKeyDown:
|
19973
|
+
onKeyDown: handleDatepickerInputKeyDown,
|
19943
19974
|
ref: controlRef,
|
19944
19975
|
value: valueAsDate
|
19945
19976
|
}));
|
@@ -20445,7 +20476,7 @@ function CreateNewRow(props) {
|
|
20445
20476
|
keys: shortcut
|
20446
20477
|
});
|
20447
20478
|
}
|
20448
|
-
const className = cn('group/row border-grey-300 !sticky z-[21]
|
20479
|
+
const className = cn('group/row border-grey-300 !sticky z-[21]', {
|
20449
20480
|
'bottom-10': tableMeta.footer.isEnabled,
|
20450
20481
|
'bottom-0': !tableMeta.footer.isEnabled,
|
20451
20482
|
'border-b': !isScrolled
|