@economic/taco 1.21.9 → 1.22.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/Select2/Select2.d.ts +1 -1
- package/dist/components/Select2/Select2.stories.d.ts +7 -1
- package/dist/components/Select2/components/Collection.d.ts +2 -1
- package/dist/components/Select2/components/Group.d.ts +9 -2
- package/dist/components/Select2/components/Option.d.ts +2 -0
- package/dist/components/Select2/hooks/useChildren.d.ts +4 -3
- package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +2 -1
- package/dist/components/Table2/types.d.ts +2 -1
- package/dist/components/Table2/utilities/columns.d.ts +2 -2
- package/dist/esm/packages/taco/src/components/Select2/Select2.js +6 -6
- package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Collection.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Group.js +10 -3
- package/dist/esm/packages/taco/src/components/Select2/components/Group.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Option.js +7 -2
- 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 +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js +29 -11
- package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/utilities.js +1 -1
- package/dist/esm/packages/taco/src/components/Select2/utilities.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/Table2.js +2 -1
- package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js +3 -3
- package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +2 -2
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +1 -0
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/types.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +11 -6
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
- package/dist/taco.cjs.development.js +72 -35
- 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 +42 -15
@@ -189,10 +189,15 @@ function createRowSelectionColumn(enableMultipleRowSelection, lastSelectedRowInd
|
|
189
189
|
};
|
190
190
|
}
|
191
191
|
const ExpandCell = /*#__PURE__*/React__default.memo(({
|
192
|
-
|
193
|
-
|
192
|
+
expandedRowRenderer,
|
193
|
+
row,
|
194
194
|
texts
|
195
195
|
}) => {
|
196
|
+
const hasExpandedRow = expandedRowRenderer(row.original);
|
197
|
+
if (!hasExpandedRow) {
|
198
|
+
return null;
|
199
|
+
}
|
200
|
+
const isExpanded = row.getIsExpanded();
|
196
201
|
return /*#__PURE__*/React__default.createElement(Tooltip, {
|
197
202
|
title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand, /*#__PURE__*/React__default.createElement(Shortcut, {
|
198
203
|
className: "ml-2",
|
@@ -204,12 +209,12 @@ const ExpandCell = /*#__PURE__*/React__default.memo(({
|
|
204
209
|
icon: isExpanded ? 'chevron-down' : 'chevron-right',
|
205
210
|
onClick: event => {
|
206
211
|
event.stopPropagation();
|
207
|
-
toggleExpanded();
|
212
|
+
row.toggleExpanded();
|
208
213
|
},
|
209
214
|
tabIndex: -1
|
210
215
|
}));
|
211
216
|
});
|
212
|
-
function createRowExpansionColumn(texts) {
|
217
|
+
function createRowExpansionColumn(expandedRowRenderer, texts) {
|
213
218
|
return {
|
214
219
|
id: COLUMN_ID_FOR_EXPANSION,
|
215
220
|
header: ({
|
@@ -230,8 +235,8 @@ function createRowExpansionColumn(texts) {
|
|
230
235
|
cell: ({
|
231
236
|
row
|
232
237
|
}) => /*#__PURE__*/React__default.createElement(ExpandCell, {
|
233
|
-
|
234
|
-
|
238
|
+
expandedRowRenderer: expandedRowRenderer,
|
239
|
+
row: row,
|
235
240
|
texts: texts
|
236
241
|
}),
|
237
242
|
meta: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table2/utilities/columns.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { CellContext, DisplayColumnDef, Row, TableMeta } from '@tanstack/react-table';\nimport { Checkbox } from '../../Checkbox/Checkbox';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { RowDragHandler, Table2RowActionProps } from '../types';\nimport { Menu } from '../../Menu/Menu';\nimport { Icon } from '../../Icon/Icon';\nimport { LocalizationTexts } from '../../Provider/Localization';\nimport { useRowContext } from '../components/row/Context';\n\nexport const COLUMN_ID_FOR_DRAGGABLE = '__draggable';\nexport const COLUMN_ID_FOR_SELECTION = '__select';\nexport const COLUMN_ID_FOR_EXPANSION = '__expansion';\nexport const COLUMN_ID_FOR_ACTIONS = '__actions';\n\nexport const isInternalColumn = (id: string) =>\n id === COLUMN_ID_FOR_SELECTION ||\n id === COLUMN_ID_FOR_EXPANSION ||\n id === COLUMN_ID_FOR_ACTIONS ||\n id === COLUMN_ID_FOR_DRAGGABLE;\n\nexport const MIN_COLUMN_SIZE = 80; // accounts for padding and sort controls\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\nexport function createRowDraggableColumn<TType = any>(\n onRowDrag: RowDragHandler<TType>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_DRAGGABLE,\n cell: ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n const onDragStart = (event: React.DragEvent): void => {\n const rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n\n meta.setDragging(rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {}));\n\n const data = rows.map(row => row.original);\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'wcag-blue rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.appendChild(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n onRowDrag(data, showPlaceholder, setDataTransfer);\n };\n\n const onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n meta.setDragging({});\n };\n\n return (\n <div draggable onDragStart={onDragStart} onDragEnd={onDragEnd}>\n <Icon\n aria-label={texts.table2.columns.drag.tooltip}\n name=\"drag\"\n className=\"text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed]]/row:text-white\"\n />\n </div>\n );\n },\n meta: {\n align: 'center',\n className: 'items-center !px-0',\n disableTruncation: true,\n headerClassName: 'items-center !px-0',\n },\n // sizing\n enableResizing: false,\n size: 10,\n };\n}\n\nconst SelectCell = React.memo(({ lastSelectedRowIndex, rowIndex, isSelected, table, tableRef, texts, toggleSelected }: any) => {\n const meta = table.options.meta as TableMeta<any>;\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n\n if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(lastSelectedRowIndex?.current || 0, rowIndex);\n\n table\n .getRowModel()\n .rows.slice(fromIndex, toIndex + 1)\n .forEach(row => row.toggleSelected(true));\n } else {\n toggleSelected();\n }\n\n lastSelectedRowIndex.current = rowIndex;\n meta.setActiveRowIndex(rowIndex);\n tableRef.current?.focus();\n };\n\n return (\n <Tooltip\n title={\n <>\n {isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n <Shortcut className=\"ml-2\" keys={['Space']} />\n </>\n }>\n <Checkbox\n aria-label={isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n className=\"hover:border-blue !mt-[0.45rem]\"\n checked={isSelected}\n onClick={handleClick}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\nexport function createRowSelectionColumn<TType = any>(\n enableMultipleRowSelection: boolean,\n lastSelectedRowIndex: React.MutableRefObject<number | undefined>,\n onRowDrag: RowDragHandler<TType> | undefined,\n tableRef: React.RefObject<HTMLDivElement>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n let header;\n let cell;\n\n if (enableMultipleRowSelection) {\n header = ({ table }) => (\n <Tooltip\n title={\n <>\n {table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll}\n <Shortcut className=\"ml-2\" keys={['Ctrl', 'A']} />\n </>\n }>\n <Checkbox\n aria-label={\n table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll\n }\n className=\"hover:border-blue !mt-0\"\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={checked => table.toggleAllPageRowsSelected(checked)}\n onClick={() => {\n tableRef.current?.focus();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n cell = ({ row, table }) => (\n <SelectCell\n lastSelectedRowIndex={lastSelectedRowIndex}\n rowIndex={row.index}\n isSelected={row.getIsSelected()}\n table={table}\n tableRef={tableRef}\n texts={texts}\n toggleSelected={row.toggleSelected}\n />\n );\n } else {\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const className =\n 'border-grey-300 focus:yt-focus flex h-5 w-5 mt-[0.45rem] flex-shrink-0 items-center justify-center self-start rounded-full border-2 bg-white hover:border-[5px] aria-checked:border-blue-500 aria-checked:bg-blue-500 hover:aria-checked:border-blue-300';\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n row.toggleSelected();\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <button\n className={className}\n aria-checked={row.getIsSelected()}\n onClick={handleClick}\n role=\"radio\"\n tabIndex={-1}\n type=\"button\">\n {row.getIsSelected() ? <span className=\"h-2.5 w-2.5 rounded-full bg-white\" /> : null}\n </button>\n );\n };\n }\n\n return {\n id: COLUMN_ID_FOR_SELECTION,\n header,\n cell,\n meta: {\n align: 'center',\n className: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n disableTruncation: true,\n headerClassName: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n },\n // sizing\n enableResizing: false,\n size: 46,\n };\n}\n\nconst ExpandCell = React.memo(({ isExpanded, toggleExpanded, texts }: any) => {\n return (\n <Tooltip\n title={\n <>\n {isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n <Shortcut className=\"ml-2\" keys={['Ctrl', isExpanded ? '←' : '→']} />\n </>\n }>\n <IconButton\n title={isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n appearance=\"discrete\"\n icon={isExpanded ? 'chevron-down' : 'chevron-right'}\n onClick={event => {\n event.stopPropagation();\n toggleExpanded();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\n\nexport function createRowExpansionColumn<TType = any>(texts: LocalizationTexts): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_EXPANSION,\n header: ({ table }) => (\n <Tooltip\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }>\n <IconButton\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }\n appearance=\"discrete\"\n className=\"-mb-2 -mt-1.5\"\n icon={table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double'}\n onClick={event => {\n event.stopPropagation();\n table.toggleAllRowsExpanded(table.getIsSomeRowsExpanded() ? false : true);\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n cell: ({ row }: CellContext<TType, any>) => (\n <ExpandCell isExpanded={row.getIsExpanded()} toggleExpanded={row.toggleExpanded} texts={texts} />\n ),\n\n meta: {\n align: 'center',\n className: 'items-center !p-0',\n disableTruncation: true,\n headerClassName: 'items-center hover:!bg-white !p-0',\n },\n // sizing\n enableResizing: false,\n size: 36,\n };\n}\n\nconst getActionPropertyValue = (property, row) => (typeof property === 'function' ? property(row) : property);\n\nconst RowActionsCell = React.memo(({ row, actions, moreActions, table, texts }: any) => {\n const { isActive, isHovered } = useRowContext();\n\n if (!isHovered && !isActive) {\n return null;\n }\n\n const isVisible = (action: Table2RowActionProps<any>) =>\n typeof action.visible !== 'undefined'\n ? typeof action.visible === 'function'\n ? action.visible(row.original)\n : action.visible\n : true;\n\n const visibleActions = actions.filter(isVisible);\n const visibleMoreActions = moreActions.filter(isVisible);\n\n // If the row is not the active row or the hovered row then actions are hidden.\n const actionClassName = 'group-hover/row:flex group-[[aria-current]]/row:flex hidden';\n\n // only actions in the active row should be tabbable\n const tabIndex = table.options.meta.activeRowIndex === row.index ? 0 : -1;\n\n return (\n <span className=\"-mb-2 -mt-1.5 flex justify-end text-right\">\n {visibleActions.map((action, i) => (\n <IconButton\n key={i}\n className={actionClassName}\n aria-label={getActionPropertyValue(action.ariaLabel, row.original)}\n appearance=\"discrete\"\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={event => {\n event.stopPropagation();\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}\n tabIndex={tabIndex}\n tooltip={getActionPropertyValue(action.text, row.original)}\n />\n ))}\n {visibleMoreActions.length ? (\n <IconButton\n className={actionClassName}\n aria-label={texts.table2.columns.actions.tooltip}\n appearance=\"discrete\"\n icon=\"more\"\n onClick={event => {\n event.preventDefault();\n }}\n tabIndex={tabIndex}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {visibleMoreActions.map((action, i) => (\n <Menu.Item\n key={i}\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={() => {\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}>\n {getActionPropertyValue(action.text, row.original)}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n tooltip={texts.table2.columns.actions.tooltip}\n />\n ) : null}\n </span>\n );\n});\n\nexport function createRowActionsColumn<TType = any>(rowActions, texts: LocalizationTexts): DisplayColumnDef<TType, any> {\n const actions: Table2RowActionProps<TType>[] = rowActions.length === 4 ? rowActions : rowActions.slice(0, 3);\n const moreActions: Table2RowActionProps<TType>[] = rowActions.slice(rowActions.length === 4 ? 4 : 3);\n\n return {\n id: COLUMN_ID_FOR_ACTIONS,\n cell: ({ row, table }) => (\n <RowActionsCell row={row} actions={actions} moreActions={moreActions} texts={texts} table={table} />\n ),\n meta: {\n align: 'right',\n className: (row: Row<any>) =>\n cn(\n 'items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 bg-transparent !px-1',\n {\n 'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)] group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]':\n !row.getIsSelected(),\n 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected(),\n }\n ),\n disableTruncation: true,\n headerClassName: 'hover:!bg-white !px-1',\n },\n // sizing\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID_FOR_DRAGGABLE","COLUMN_ID_FOR_SELECTION","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_ACTIONS","isInternalColumn","id","MIN_COLUMN_SIZE","toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","createRowDraggableColumn","onRowDrag","texts","cell","row","table","meta","options","GHOST_ELEMENT_ID","onDragStart","event","rows","getIsSelected","getSelectedRowModel","setDragging","reduce","dragging","rowBeingDragged","data","map","original","dataTransfer","setData","JSON","stringify","showPlaceholder","text","ghost","document","createElement","className","innerText","body","appendChild","setDragImage","setDataTransfer","onDragEnd","getElementById","remove","React","draggable","Icon","table2","columns","drag","tooltip","name","align","disableTruncation","headerClassName","enableResizing","size","SelectCell","memo","lastSelectedRowIndex","rowIndex","isSelected","tableRef","toggleSelected","handleClick","stopPropagation","shiftKey","current","getRowModel","slice","forEach","setActiveRowIndex","focus","Tooltip","title","select","deselect","Shortcut","keys","Checkbox","checked","onClick","onChange","tabIndex","createRowSelectionColumn","enableMultipleRowSelection","header","getIsAllPageRowsSelected","deselectAll","selectAll","indeterminate","getIsSomePageRowsSelected","toggleAllPageRowsSelected","index","role","type","ExpandCell","isExpanded","toggleExpanded","expansion","collapse","expand","IconButton","appearance","icon","createRowExpansionColumn","getIsSomeRowsExpanded","collapseAll","expandAll","toggleAllRowsExpanded","getIsExpanded","getActionPropertyValue","property","RowActionsCell","actions","moreActions","isActive","isHovered","useRowContext","isVisible","action","visible","visibleActions","filter","visibleMoreActions","actionClassName","activeRowIndex","i","key","ariaLabel","dialog","undefined","disabled","length","preventDefault","menu","menuProps","Menu","Content","Item","createRowActionsColumn","rowActions","cn"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table2/utilities/columns.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { CellContext, DisplayColumnDef, Row, TableMeta } from '@tanstack/react-table';\nimport { Checkbox } from '../../Checkbox/Checkbox';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { RowDragHandler, RowExpansionRenderer, Table2RowActionProps } from '../types';\nimport { Menu } from '../../Menu/Menu';\nimport { Icon } from '../../Icon/Icon';\nimport { LocalizationTexts } from '../../Provider/Localization';\nimport { useRowContext } from '../components/row/Context';\n\nexport const COLUMN_ID_FOR_DRAGGABLE = '__draggable';\nexport const COLUMN_ID_FOR_SELECTION = '__select';\nexport const COLUMN_ID_FOR_EXPANSION = '__expansion';\nexport const COLUMN_ID_FOR_ACTIONS = '__actions';\n\nexport const isInternalColumn = (id: string) =>\n id === COLUMN_ID_FOR_SELECTION ||\n id === COLUMN_ID_FOR_EXPANSION ||\n id === COLUMN_ID_FOR_ACTIONS ||\n id === COLUMN_ID_FOR_DRAGGABLE;\n\nexport const MIN_COLUMN_SIZE = 80; // accounts for padding and sort controls\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\nexport function createRowDraggableColumn<TType = any>(\n onRowDrag: RowDragHandler<TType>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_DRAGGABLE,\n cell: ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n const onDragStart = (event: React.DragEvent): void => {\n const rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n\n meta.setDragging(rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {}));\n\n const data = rows.map(row => row.original);\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'wcag-blue rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.appendChild(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n onRowDrag(data, showPlaceholder, setDataTransfer);\n };\n\n const onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n meta.setDragging({});\n };\n\n return (\n <div draggable onDragStart={onDragStart} onDragEnd={onDragEnd}>\n <Icon\n aria-label={texts.table2.columns.drag.tooltip}\n name=\"drag\"\n className=\"text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed]]/row:text-white\"\n />\n </div>\n );\n },\n meta: {\n align: 'center',\n className: 'items-center !px-0',\n disableTruncation: true,\n headerClassName: 'items-center !px-0',\n },\n // sizing\n enableResizing: false,\n size: 10,\n };\n}\n\nconst SelectCell = React.memo(({ lastSelectedRowIndex, rowIndex, isSelected, table, tableRef, texts, toggleSelected }: any) => {\n const meta = table.options.meta as TableMeta<any>;\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n\n if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(lastSelectedRowIndex?.current || 0, rowIndex);\n\n table\n .getRowModel()\n .rows.slice(fromIndex, toIndex + 1)\n .forEach(row => row.toggleSelected(true));\n } else {\n toggleSelected();\n }\n\n lastSelectedRowIndex.current = rowIndex;\n meta.setActiveRowIndex(rowIndex);\n tableRef.current?.focus();\n };\n\n return (\n <Tooltip\n title={\n <>\n {isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n <Shortcut className=\"ml-2\" keys={['Space']} />\n </>\n }>\n <Checkbox\n aria-label={isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect}\n className=\"hover:border-blue !mt-[0.45rem]\"\n checked={isSelected}\n onClick={handleClick}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\nexport function createRowSelectionColumn<TType = any>(\n enableMultipleRowSelection: boolean,\n lastSelectedRowIndex: React.MutableRefObject<number | undefined>,\n onRowDrag: RowDragHandler<TType> | undefined,\n tableRef: React.RefObject<HTMLDivElement>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n let header;\n let cell;\n\n if (enableMultipleRowSelection) {\n header = ({ table }) => (\n <Tooltip\n title={\n <>\n {table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll}\n <Shortcut className=\"ml-2\" keys={['Ctrl', 'A']} />\n </>\n }>\n <Checkbox\n aria-label={\n table.getIsAllPageRowsSelected()\n ? texts.table2.columns.select.deselectAll\n : texts.table2.columns.select.selectAll\n }\n className=\"hover:border-blue !mt-0\"\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={checked => table.toggleAllPageRowsSelected(checked)}\n onClick={() => {\n tableRef.current?.focus();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n cell = ({ row, table }) => (\n <SelectCell\n lastSelectedRowIndex={lastSelectedRowIndex}\n rowIndex={row.index}\n isSelected={row.getIsSelected()}\n table={table}\n tableRef={tableRef}\n texts={texts}\n toggleSelected={row.toggleSelected}\n />\n );\n } else {\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const className =\n 'border-grey-300 focus:yt-focus flex h-5 w-5 mt-[0.45rem] flex-shrink-0 items-center justify-center self-start rounded-full border-2 bg-white hover:border-[5px] aria-checked:border-blue-500 aria-checked:bg-blue-500 hover:aria-checked:border-blue-300';\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n row.toggleSelected();\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <button\n className={className}\n aria-checked={row.getIsSelected()}\n onClick={handleClick}\n role=\"radio\"\n tabIndex={-1}\n type=\"button\">\n {row.getIsSelected() ? <span className=\"h-2.5 w-2.5 rounded-full bg-white\" /> : null}\n </button>\n );\n };\n }\n\n return {\n id: COLUMN_ID_FOR_SELECTION,\n header,\n cell,\n meta: {\n align: 'center',\n className: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n disableTruncation: true,\n headerClassName: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n },\n // sizing\n enableResizing: false,\n size: 46,\n };\n}\n\nconst ExpandCell = React.memo(({ expandedRowRenderer, row, texts }: any) => {\n const hasExpandedRow = expandedRowRenderer(row.original);\n\n if (!hasExpandedRow) {\n return null;\n }\n\n const isExpanded = row.getIsExpanded();\n\n return (\n <Tooltip\n title={\n <>\n {isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n <Shortcut className=\"ml-2\" keys={['Ctrl', isExpanded ? '←' : '→']} />\n </>\n }>\n <IconButton\n title={isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand}\n appearance=\"discrete\"\n icon={isExpanded ? 'chevron-down' : 'chevron-right'}\n onClick={event => {\n event.stopPropagation();\n row.toggleExpanded();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n});\n\nexport function createRowExpansionColumn<TType = any>(\n expandedRowRenderer: RowExpansionRenderer<TType>,\n texts: LocalizationTexts\n): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_EXPANSION,\n header: ({ table }) => (\n <Tooltip\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }>\n <IconButton\n title={\n table.getIsSomeRowsExpanded()\n ? texts.table2.columns.expansion.collapseAll\n : texts.table2.columns.expansion.expandAll\n }\n appearance=\"discrete\"\n className=\"-mb-2 -mt-1.5\"\n icon={table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double'}\n onClick={event => {\n event.stopPropagation();\n table.toggleAllRowsExpanded(table.getIsSomeRowsExpanded() ? false : true);\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n cell: ({ row }: CellContext<TType, any>) => (\n <ExpandCell expandedRowRenderer={expandedRowRenderer} row={row} texts={texts} />\n ),\n\n meta: {\n align: 'center',\n className: 'items-center !p-0',\n disableTruncation: true,\n headerClassName: 'items-center hover:!bg-white !p-0',\n },\n // sizing\n enableResizing: false,\n size: 36,\n };\n}\n\nconst getActionPropertyValue = (property, row) => (typeof property === 'function' ? property(row) : property);\n\nconst RowActionsCell = React.memo(({ row, actions, moreActions, table, texts }: any) => {\n const { isActive, isHovered } = useRowContext();\n\n if (!isHovered && !isActive) {\n return null;\n }\n\n const isVisible = (action: Table2RowActionProps<any>) =>\n typeof action.visible !== 'undefined'\n ? typeof action.visible === 'function'\n ? action.visible(row.original)\n : action.visible\n : true;\n\n const visibleActions = actions.filter(isVisible);\n const visibleMoreActions = moreActions.filter(isVisible);\n\n // If the row is not the active row or the hovered row then actions are hidden.\n const actionClassName = 'group-hover/row:flex group-[[aria-current]]/row:flex hidden';\n\n // only actions in the active row should be tabbable\n const tabIndex = table.options.meta.activeRowIndex === row.index ? 0 : -1;\n\n return (\n <span className=\"-mb-2 -mt-1.5 flex justify-end text-right\">\n {visibleActions.map((action, i) => (\n <IconButton\n key={i}\n className={actionClassName}\n aria-label={getActionPropertyValue(action.ariaLabel, row.original)}\n appearance=\"discrete\"\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={event => {\n event.stopPropagation();\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}\n tabIndex={tabIndex}\n tooltip={getActionPropertyValue(action.text, row.original)}\n />\n ))}\n {visibleMoreActions.length ? (\n <IconButton\n className={actionClassName}\n aria-label={texts.table2.columns.actions.tooltip}\n appearance=\"discrete\"\n icon=\"more\"\n onClick={event => {\n event.preventDefault();\n }}\n tabIndex={tabIndex}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {visibleMoreActions.map((action, i) => (\n <Menu.Item\n key={i}\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={() => {\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}>\n {getActionPropertyValue(action.text, row.original)}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n tooltip={texts.table2.columns.actions.tooltip}\n />\n ) : null}\n </span>\n );\n});\n\nexport function createRowActionsColumn<TType = any>(rowActions, texts: LocalizationTexts): DisplayColumnDef<TType, any> {\n const actions: Table2RowActionProps<TType>[] = rowActions.length === 4 ? rowActions : rowActions.slice(0, 3);\n const moreActions: Table2RowActionProps<TType>[] = rowActions.slice(rowActions.length === 4 ? 4 : 3);\n\n return {\n id: COLUMN_ID_FOR_ACTIONS,\n cell: ({ row, table }) => (\n <RowActionsCell row={row} actions={actions} moreActions={moreActions} texts={texts} table={table} />\n ),\n meta: {\n align: 'right',\n className: (row: Row<any>) =>\n cn(\n 'items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 bg-transparent !px-1',\n {\n 'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)] group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]':\n !row.getIsSelected(),\n 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected(),\n }\n ),\n disableTruncation: true,\n headerClassName: 'hover:!bg-white !px-1',\n },\n // sizing\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID_FOR_DRAGGABLE","COLUMN_ID_FOR_SELECTION","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_ACTIONS","isInternalColumn","id","MIN_COLUMN_SIZE","toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","createRowDraggableColumn","onRowDrag","texts","cell","row","table","meta","options","GHOST_ELEMENT_ID","onDragStart","event","rows","getIsSelected","getSelectedRowModel","setDragging","reduce","dragging","rowBeingDragged","data","map","original","dataTransfer","setData","JSON","stringify","showPlaceholder","text","ghost","document","createElement","className","innerText","body","appendChild","setDragImage","setDataTransfer","onDragEnd","getElementById","remove","React","draggable","Icon","table2","columns","drag","tooltip","name","align","disableTruncation","headerClassName","enableResizing","size","SelectCell","memo","lastSelectedRowIndex","rowIndex","isSelected","tableRef","toggleSelected","handleClick","stopPropagation","shiftKey","current","getRowModel","slice","forEach","setActiveRowIndex","focus","Tooltip","title","select","deselect","Shortcut","keys","Checkbox","checked","onClick","onChange","tabIndex","createRowSelectionColumn","enableMultipleRowSelection","header","getIsAllPageRowsSelected","deselectAll","selectAll","indeterminate","getIsSomePageRowsSelected","toggleAllPageRowsSelected","index","role","type","ExpandCell","expandedRowRenderer","hasExpandedRow","isExpanded","getIsExpanded","expansion","collapse","expand","IconButton","appearance","icon","toggleExpanded","createRowExpansionColumn","getIsSomeRowsExpanded","collapseAll","expandAll","toggleAllRowsExpanded","getActionPropertyValue","property","RowActionsCell","actions","moreActions","isActive","isHovered","useRowContext","isVisible","action","visible","visibleActions","filter","visibleMoreActions","actionClassName","activeRowIndex","i","key","ariaLabel","dialog","undefined","disabled","length","preventDefault","menu","menuProps","Menu","Content","Item","createRowActionsColumn","rowActions","cn"],"mappings":"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"}
|
@@ -7908,7 +7908,7 @@ const Tag$1 = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
7908
7908
|
}) : null);
|
7909
7909
|
});
|
7910
7910
|
|
7911
|
-
const createOptionClassName = () => 'group mb-px flex
|
7911
|
+
const createOptionClassName = () => 'group mb-px flex w-full text-sm flex-shrink-0 font-normal cursor-pointer items-center rounded bg-white px-2 leading-8 text-black aria-hidden:hidden gap-1.5 bg-white hover:wcag-grey-200 aria-current:wcag-grey-200 aria-disabled:text-black/25 aria-disabled:pointer-events-none';
|
7912
7912
|
const createCollectionClassName = () => 'flex flex-col gap-px';
|
7913
7913
|
|
7914
7914
|
const Select2Context = /*#__PURE__*/React__default.createContext({});
|
@@ -8125,6 +8125,7 @@ const Option$1 = /*#__PURE__*/React__default.forwardRef(function Select2Option(p
|
|
8125
8125
|
const {
|
8126
8126
|
children,
|
8127
8127
|
color,
|
8128
|
+
description,
|
8128
8129
|
icon,
|
8129
8130
|
...otherProps
|
8130
8131
|
} = props;
|
@@ -8172,14 +8173,18 @@ const Option$1 = /*#__PURE__*/React__default.forwardRef(function Select2Option(p
|
|
8172
8173
|
ref: ref
|
8173
8174
|
}), hasValue ? /*#__PURE__*/React__default.createElement(Icon, {
|
8174
8175
|
name: "tick",
|
8175
|
-
className: "
|
8176
|
+
className: "pointer-events-none invisible -mx-0.5 !h-4 !w-4 group-aria-selected:visible"
|
8176
8177
|
}) : null, isTag ? /*#__PURE__*/React__default.createElement(Tag$1, {
|
8177
8178
|
className: "pointer-events-none",
|
8178
8179
|
color: color,
|
8179
8180
|
icon: icon
|
8180
8181
|
}, children) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, icon ? typeof icon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
|
8181
8182
|
name: icon
|
8182
|
-
}) : icon : null,
|
8183
|
+
}) : icon : null, /*#__PURE__*/React__default.createElement("span", {
|
8184
|
+
className: "flex flex-col"
|
8185
|
+
}, /*#__PURE__*/React__default.createElement("span", null, children), description ? /*#__PURE__*/React__default.createElement("span", {
|
8186
|
+
className: "text-grey-700 -mt-1.5 mb-1.5 text-xs"
|
8187
|
+
}, description) : null)), popover ? /*#__PURE__*/React__default.createElement(IconButton, {
|
8183
8188
|
rounded: true,
|
8184
8189
|
icon: "ellipsis-vertical",
|
8185
8190
|
appearance: "discrete",
|
@@ -8197,11 +8202,18 @@ const Option$1 = /*#__PURE__*/React__default.forwardRef(function Select2Option(p
|
|
8197
8202
|
});
|
8198
8203
|
|
8199
8204
|
const Group$2 = /*#__PURE__*/React__default.forwardRef(function Select2Group(props, ref) {
|
8205
|
+
const {
|
8206
|
+
children,
|
8207
|
+
heading,
|
8208
|
+
...attributes
|
8209
|
+
} = props;
|
8200
8210
|
const className = cn(createCollectionClassName(), props.className);
|
8201
|
-
return /*#__PURE__*/React__default.createElement(Group$1, Object.assign({},
|
8211
|
+
return /*#__PURE__*/React__default.createElement(Group$1, Object.assign({}, attributes, {
|
8202
8212
|
className: className,
|
8203
8213
|
ref: ref
|
8204
|
-
})
|
8214
|
+
}), /*#__PURE__*/React__default.createElement(Title$3, {
|
8215
|
+
className: "sticky top-0 bg-white px-2 font-bold leading-8"
|
8216
|
+
}, heading), children);
|
8205
8217
|
});
|
8206
8218
|
|
8207
8219
|
const Title$4 = /*#__PURE__*/React__default.forwardRef(function Select2Title(props, ref) {
|
@@ -8375,7 +8387,7 @@ const Multiple = /*#__PURE__*/React__default.forwardRef(function Select2TriggerM
|
|
8375
8387
|
tags
|
8376
8388
|
} = useSelect2Context();
|
8377
8389
|
const buttonRef = useMergedRef(ref);
|
8378
|
-
const valuesAsChildren = values.map(value => children.find(c => c.props.value === value));
|
8390
|
+
const valuesAsChildren = values.map(value => children.find(c => c.props.value === value)).filter(c => !!c);
|
8379
8391
|
let content;
|
8380
8392
|
let {
|
8381
8393
|
className
|
@@ -8608,6 +8620,7 @@ const Search$1 = /*#__PURE__*/React__default.forwardRef(function ListboxSearch(p
|
|
8608
8620
|
})));
|
8609
8621
|
});
|
8610
8622
|
|
8623
|
+
const isGroup = child => !!child.props.heading;
|
8611
8624
|
const useChildren = ({
|
8612
8625
|
children: initialChildren,
|
8613
8626
|
emptyValue,
|
@@ -8617,9 +8630,15 @@ const useChildren = ({
|
|
8617
8630
|
value
|
8618
8631
|
}) => {
|
8619
8632
|
const [searchQuery, setSearchQuery] = React__default.useState('');
|
8633
|
+
// flatten children that might be inside groups
|
8620
8634
|
// support empty value - probably a more elegant way to achieve this
|
8621
|
-
const
|
8622
|
-
const initial = initialChildren ||
|
8635
|
+
const flattenedChildren = React__default.useMemo(() => {
|
8636
|
+
const initial = (initialChildren === null || initialChildren === void 0 ? void 0 : initialChildren.map(child => {
|
8637
|
+
if (isGroup(child)) {
|
8638
|
+
return child.props.children;
|
8639
|
+
}
|
8640
|
+
return child;
|
8641
|
+
}).flatMap(c => c)) || [];
|
8623
8642
|
if (emptyValue !== undefined && !multiple) {
|
8624
8643
|
return [/*#__PURE__*/React__default.createElement(Option$1, {
|
8625
8644
|
key: "__empty",
|
@@ -8632,8 +8651,8 @@ const useChildren = ({
|
|
8632
8651
|
// set an initial value if none is set, we have to trigger state updates for controlled components
|
8633
8652
|
React__default.useEffect(() => {
|
8634
8653
|
if (!multiple && emptyValue === undefined && value === undefined) {
|
8635
|
-
var
|
8636
|
-
setValue(
|
8654
|
+
var _flattenedChildren$;
|
8655
|
+
setValue(flattenedChildren === null || flattenedChildren === void 0 ? void 0 : (_flattenedChildren$ = flattenedChildren[0]) === null || _flattenedChildren$ === void 0 ? void 0 : _flattenedChildren$.props.value);
|
8637
8656
|
}
|
8638
8657
|
}, []);
|
8639
8658
|
React__default.useEffect(() => {
|
@@ -8643,20 +8662,31 @@ const useChildren = ({
|
|
8643
8662
|
}, [open]);
|
8644
8663
|
// apply filtering
|
8645
8664
|
const filteredChildren = React__default.useMemo(() => {
|
8646
|
-
return
|
8647
|
-
if (child
|
8648
|
-
|
8665
|
+
return initialChildren.map(child => {
|
8666
|
+
if (isGroup(child)) {
|
8667
|
+
const filteredGroupChildren = child.props.children.filter(groupChild => filterOption(groupChild, searchQuery));
|
8668
|
+
return filteredGroupChildren.length ? /*#__PURE__*/React__default.cloneElement(child, {}, filteredGroupChildren) : null;
|
8649
8669
|
}
|
8650
|
-
return
|
8651
|
-
});
|
8652
|
-
}, [
|
8670
|
+
return filterOption(child, searchQuery) ? child : null;
|
8671
|
+
}).filter(child => !!child);
|
8672
|
+
}, [flattenedChildren, searchQuery]);
|
8653
8673
|
return {
|
8654
|
-
|
8674
|
+
flattenedChildren,
|
8655
8675
|
filteredChildren,
|
8656
8676
|
searchQuery,
|
8657
8677
|
setSearchQuery
|
8658
8678
|
};
|
8659
8679
|
};
|
8680
|
+
const filterOption = (child, searchQuery) => {
|
8681
|
+
var _child$props$textValu, _child$props$descript;
|
8682
|
+
if ((_child$props$textValu = child.props.textValue) !== null && _child$props$textValu !== void 0 && _child$props$textValu.toLowerCase().includes(searchQuery.toLowerCase())) {
|
8683
|
+
return true;
|
8684
|
+
}
|
8685
|
+
if ((_child$props$descript = child.props.description) !== null && _child$props$descript !== void 0 && _child$props$descript.toLowerCase().includes(searchQuery.toLowerCase())) {
|
8686
|
+
return true;
|
8687
|
+
}
|
8688
|
+
return String(child.props.children).toLowerCase().includes(searchQuery.toLowerCase());
|
8689
|
+
};
|
8660
8690
|
|
8661
8691
|
const getNextColor = options => {
|
8662
8692
|
const occurences = options.reduce((occurences, option) => {
|
@@ -8780,7 +8810,7 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
8780
8810
|
const setValue = createListboxValueSetter(multiple, _setValue);
|
8781
8811
|
const [validationError, setValidationError] = React__default.useState();
|
8782
8812
|
const {
|
8783
|
-
|
8813
|
+
flattenedChildren,
|
8784
8814
|
filteredChildren,
|
8785
8815
|
searchQuery,
|
8786
8816
|
setSearchQuery
|
@@ -8853,7 +8883,7 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
8853
8883
|
emptyValue: emptyValue,
|
8854
8884
|
multiple: multiple || tags,
|
8855
8885
|
name: name,
|
8856
|
-
options:
|
8886
|
+
options: flattenedChildren.map(child => child.props.value),
|
8857
8887
|
parentRef: internalRef,
|
8858
8888
|
setValue: setValue,
|
8859
8889
|
value: value
|
@@ -8865,7 +8895,7 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
8865
8895
|
onBlur: handleBlur,
|
8866
8896
|
onKeyDown: handleKeyDown,
|
8867
8897
|
ref: internalRef
|
8868
|
-
}),
|
8898
|
+
}), flattenedChildren)), /*#__PURE__*/React__default.createElement(PopoverPrimitive.Portal, null, /*#__PURE__*/React__default.createElement(PopoverPrimitive.Content, {
|
8869
8899
|
asChild: true,
|
8870
8900
|
align: "start",
|
8871
8901
|
onOpenAutoFocus: event => {
|
@@ -8887,10 +8917,10 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
8887
8917
|
style: {
|
8888
8918
|
minWidth: dimensions !== null && dimensions !== void 0 && dimensions.width ? `${dimensions.width}px` : undefined
|
8889
8919
|
}
|
8890
|
-
}, !disableSearch && (
|
8920
|
+
}, !disableSearch && (flattenedChildren.length > 0 || onCreate) ? /*#__PURE__*/React__default.createElement(Search$1, {
|
8891
8921
|
placeholder: onCreate ? texts.select2.searchOrCreate : texts.select2.search,
|
8892
8922
|
ref: searchRef
|
8893
|
-
}) : null,
|
8923
|
+
}) : null, flattenedChildren.length <= 0 ? /*#__PURE__*/React__default.createElement("div", {
|
8894
8924
|
className: "text-grey-700 -mt-0.5 flex h-8 items-center px-2",
|
8895
8925
|
role: "presentation"
|
8896
8926
|
}, "No results found...") : /*#__PURE__*/React__default.createElement(Root$1, {
|
@@ -8905,7 +8935,7 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
8905
8935
|
value: value
|
8906
8936
|
}, /*#__PURE__*/React__default.createElement(Collection, null, filteredChildren), onCreate ? /*#__PURE__*/React__default.createElement(Create, {
|
8907
8937
|
onCreate: onCreate,
|
8908
|
-
options:
|
8938
|
+
options: flattenedChildren
|
8909
8939
|
}) : null))))));
|
8910
8940
|
});
|
8911
8941
|
Select2.Option = Option$1;
|
@@ -10435,12 +10465,12 @@ const RowContext = /*#__PURE__*/React__default.createContext({
|
|
10435
10465
|
isActive: false,
|
10436
10466
|
editMode: {
|
10437
10467
|
validationErrors: null,
|
10438
|
-
setValidationErrors: () =>
|
10468
|
+
setValidationErrors: () => undefined,
|
10439
10469
|
rowMoveReason: {},
|
10440
|
-
setRowMoveReason: () =>
|
10470
|
+
setRowMoveReason: () => undefined
|
10441
10471
|
},
|
10442
10472
|
isHovered: false,
|
10443
|
-
setIsHovered: () =>
|
10473
|
+
setIsHovered: () => undefined
|
10444
10474
|
});
|
10445
10475
|
const RowContextProvider = ({
|
10446
10476
|
isActiveRow,
|
@@ -10663,10 +10693,15 @@ function createRowSelectionColumn(enableMultipleRowSelection, lastSelectedRowInd
|
|
10663
10693
|
};
|
10664
10694
|
}
|
10665
10695
|
const ExpandCell = /*#__PURE__*/React__default.memo(({
|
10666
|
-
|
10667
|
-
|
10696
|
+
expandedRowRenderer,
|
10697
|
+
row,
|
10668
10698
|
texts
|
10669
10699
|
}) => {
|
10700
|
+
const hasExpandedRow = expandedRowRenderer(row.original);
|
10701
|
+
if (!hasExpandedRow) {
|
10702
|
+
return null;
|
10703
|
+
}
|
10704
|
+
const isExpanded = row.getIsExpanded();
|
10670
10705
|
return /*#__PURE__*/React__default.createElement(Tooltip, {
|
10671
10706
|
title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isExpanded ? texts.table2.columns.expansion.collapse : texts.table2.columns.expansion.expand, /*#__PURE__*/React__default.createElement(Shortcut$1, {
|
10672
10707
|
className: "ml-2",
|
@@ -10678,12 +10713,12 @@ const ExpandCell = /*#__PURE__*/React__default.memo(({
|
|
10678
10713
|
icon: isExpanded ? 'chevron-down' : 'chevron-right',
|
10679
10714
|
onClick: event => {
|
10680
10715
|
event.stopPropagation();
|
10681
|
-
toggleExpanded();
|
10716
|
+
row.toggleExpanded();
|
10682
10717
|
},
|
10683
10718
|
tabIndex: -1
|
10684
10719
|
}));
|
10685
10720
|
});
|
10686
|
-
function createRowExpansionColumn(texts) {
|
10721
|
+
function createRowExpansionColumn(expandedRowRenderer, texts) {
|
10687
10722
|
return {
|
10688
10723
|
id: COLUMN_ID_FOR_EXPANSION,
|
10689
10724
|
header: ({
|
@@ -10704,8 +10739,8 @@ function createRowExpansionColumn(texts) {
|
|
10704
10739
|
cell: ({
|
10705
10740
|
row
|
10706
10741
|
}) => /*#__PURE__*/React__default.createElement(ExpandCell, {
|
10707
|
-
|
10708
|
-
|
10742
|
+
expandedRowRenderer: expandedRowRenderer,
|
10743
|
+
row: row,
|
10709
10744
|
texts: texts
|
10710
10745
|
}),
|
10711
10746
|
meta: {
|
@@ -12044,8 +12079,8 @@ function useColumnDefinitions(children, options, tableRef) {
|
|
12044
12079
|
});
|
12045
12080
|
}
|
12046
12081
|
});
|
12047
|
-
if (options.enableRowExpansion) {
|
12048
|
-
columns.unshift(columnHelper.display(createRowExpansionColumn(texts)));
|
12082
|
+
if (options.enableRowExpansion && options.expandedRowRenderer) {
|
12083
|
+
columns.unshift(columnHelper.display(createRowExpansionColumn(options.expandedRowRenderer, texts)));
|
12049
12084
|
defaultColumnPinning.unshift(COLUMN_ID_FOR_EXPANSION);
|
12050
12085
|
}
|
12051
12086
|
if (options.enableRowSelection) {
|
@@ -12237,6 +12272,7 @@ function useTable$1(children, props, ref) {
|
|
12237
12272
|
enableRowExpansion,
|
12238
12273
|
enableRowSelection,
|
12239
12274
|
enableMultipleRowSelection,
|
12275
|
+
expandedRowRenderer,
|
12240
12276
|
onRowDrag
|
12241
12277
|
}, ref);
|
12242
12278
|
const lastSortedOrFilteredRows = React__default.useRef(null);
|
@@ -13871,6 +13907,7 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
|
|
13871
13907
|
},
|
13872
13908
|
className: "col-span-full"
|
13873
13909
|
}) : null, virtualiser.virtualItems.map(virtualRow => {
|
13910
|
+
var _expandedRowRenderer;
|
13874
13911
|
const row = rows[virtualRow.index];
|
13875
13912
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
|
13876
13913
|
key: row.id
|
@@ -13894,7 +13931,7 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
|
|
13894
13931
|
}))), row.getIsExpanded() && expandedRowRenderer ? /*#__PURE__*/React__default.createElement(ExpandedRow, {
|
13895
13932
|
index: virtualRow.index,
|
13896
13933
|
setSize: setExpandedRowSizes
|
13897
|
-
}, expandedRowRenderer(row.original)) : null);
|
13934
|
+
}, (_expandedRowRenderer = expandedRowRenderer(row.original)) === null || _expandedRowRenderer === void 0 ? void 0 : _expandedRowRenderer()) : null);
|
13898
13935
|
}), virtualiserOffsets.bottom ? /*#__PURE__*/React__default.createElement("div", {
|
13899
13936
|
style: {
|
13900
13937
|
height: virtualiserOffsets.bottom
|