@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.
Files changed (39) hide show
  1. package/dist/components/Select2/Select2.d.ts +1 -1
  2. package/dist/components/Select2/Select2.stories.d.ts +7 -1
  3. package/dist/components/Select2/components/Collection.d.ts +2 -1
  4. package/dist/components/Select2/components/Group.d.ts +9 -2
  5. package/dist/components/Select2/components/Option.d.ts +2 -0
  6. package/dist/components/Select2/hooks/useChildren.d.ts +4 -3
  7. package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +2 -1
  8. package/dist/components/Table2/types.d.ts +2 -1
  9. package/dist/components/Table2/utilities/columns.d.ts +2 -2
  10. package/dist/esm/packages/taco/src/components/Select2/Select2.js +6 -6
  11. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  12. package/dist/esm/packages/taco/src/components/Select2/components/Collection.js.map +1 -1
  13. package/dist/esm/packages/taco/src/components/Select2/components/Group.js +10 -3
  14. package/dist/esm/packages/taco/src/components/Select2/components/Group.js.map +1 -1
  15. package/dist/esm/packages/taco/src/components/Select2/components/Option.js +7 -2
  16. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  17. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +1 -1
  18. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  19. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js +29 -11
  20. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js.map +1 -1
  21. package/dist/esm/packages/taco/src/components/Select2/utilities.js +1 -1
  22. package/dist/esm/packages/taco/src/components/Select2/utilities.js.map +1 -1
  23. package/dist/esm/packages/taco/src/components/Table2/Table2.js +2 -1
  24. package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
  25. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js +3 -3
  26. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +1 -1
  27. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +2 -2
  28. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
  29. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +1 -0
  30. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -1
  31. package/dist/esm/packages/taco/src/components/Table2/types.js.map +1 -1
  32. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +11 -6
  33. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
  34. package/dist/taco.cjs.development.js +72 -35
  35. package/dist/taco.cjs.development.js.map +1 -1
  36. package/dist/taco.cjs.production.min.js +1 -1
  37. package/dist/taco.cjs.production.min.js.map +1 -1
  38. package/package.json +2 -2
  39. 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
- isExpanded,
193
- toggleExpanded,
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
- isExpanded: row.getIsExpanded(),
234
- toggleExpanded: row.toggleExpanded,
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 h-8 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';
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: "group-aria-selected:visible pointer-events-none invisible -mx-1 !h-4 !w-4"
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, children), popover ? /*#__PURE__*/React__default.createElement(IconButton, {
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({}, props, {
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 allChildren = React__default.useMemo(() => {
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 _allChildren$;
8636
- setValue(allChildren === null || allChildren === void 0 ? void 0 : (_allChildren$ = allChildren[0]) === null || _allChildren$ === void 0 ? void 0 : _allChildren$.props.value);
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 allChildren.filter(child => {
8647
- if (child.props.textValue) {
8648
- return child.props.textValue.toLowerCase().includes(searchQuery.toLowerCase());
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 String(child.props.children).toLowerCase().includes(searchQuery.toLowerCase());
8651
- });
8652
- }, [allChildren, searchQuery]);
8670
+ return filterOption(child, searchQuery) ? child : null;
8671
+ }).filter(child => !!child);
8672
+ }, [flattenedChildren, searchQuery]);
8653
8673
  return {
8654
- allChildren,
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
- allChildren,
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: allChildren.map(child => child.props.value),
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
- }), allChildren)), /*#__PURE__*/React__default.createElement(PopoverPrimitive.Portal, null, /*#__PURE__*/React__default.createElement(PopoverPrimitive.Content, {
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 && (allChildren.length > 0 || onCreate) ? /*#__PURE__*/React__default.createElement(Search$1, {
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, allChildren.length <= 0 ? /*#__PURE__*/React__default.createElement("div", {
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: allChildren
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
- isExpanded,
10667
- toggleExpanded,
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
- isExpanded: row.getIsExpanded(),
10708
- toggleExpanded: row.toggleExpanded,
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