@economic/taco 2.49.1 → 2.49.3
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/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
|