@economic/taco 1.22.2 → 1.22.4

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 (34) hide show
  1. package/dist/components/Table2/Table2.d.ts +2 -3
  2. package/dist/components/Table2/Table2.stories.d.ts +0 -1
  3. package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +4 -5
  4. package/dist/components/Table2/hooks/useTable.d.ts +2 -2
  5. package/dist/components/Table2/types.d.ts +4 -3
  6. package/dist/esm/packages/taco/src/components/Provider/Localization.js +2 -2
  7. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  8. package/dist/esm/packages/taco/src/components/Select2/components/Option.js +1 -1
  9. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  10. package/dist/esm/packages/taco/src/components/Table2/Table2.js +10 -23
  11. package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
  12. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +9 -12
  13. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -1
  14. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +9 -7
  15. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
  16. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -1
  17. package/dist/esm/packages/taco/src/components/Table2/types.js.map +1 -1
  18. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js +2 -2
  19. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +1 -1
  20. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +25 -18
  21. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
  22. package/dist/esm/packages/taco/src/components/Tag/Tag.js +2 -1
  23. package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
  24. package/dist/taco.cjs.development.js +60 -165
  25. package/dist/taco.cjs.development.js.map +1 -1
  26. package/dist/taco.cjs.production.min.js +1 -1
  27. package/dist/taco.cjs.production.min.js.map +1 -1
  28. package/package.json +2 -2
  29. package/types.json +15 -15
  30. package/dist/components/Table2/hooks/useSeparatedChildren.d.ts +0 -1
  31. package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js +0 -92
  32. package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js.map +0 -1
  33. package/dist/esm/packages/taco/src/components/Table2/hooks/useSeparatedChildren.js +0 -21
  34. package/dist/esm/packages/taco/src/components/Table2/hooks/useSeparatedChildren.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cell.js","sources":["../../../../../../../../src/components/Table2/utilities/cell.ts"],"sourcesContent":["import cn from 'classnames';\nimport { Column } from '@tanstack/react-table';\nimport { CellAlignment, RowDensity } from '../types';\nimport { COLUMN_ID_FOR_EXPANSION, COLUMN_ID_FOR_SELECTION } from './columns';\n\nconst getDensityPadding = (density: RowDensity, editing = false) => {\n switch (density) {\n case 'compact':\n return editing ? 'py-0' : 'py-1.5';\n case 'comfortable':\n return editing ? 'py-2' : 'py-3.5';\n case 'spacious':\n return editing ? 'py-3' : 'py-5';\n default:\n return editing ? 'py-1' : 'py-2.5';\n }\n};\n\nexport const getCellSizingClasses = (density: RowDensity = 'normal', editing = false) => {\n return cn('min-h-0 flex items-start', getDensityPadding(density, editing), editing ? 'px-[7px]' : 'px-4');\n};\n\nexport const getCellAlignmentClasses = (alignment: CellAlignment = 'left') => ({\n 'justify-start text-left': alignment === 'left',\n 'justify-end text-right': alignment === 'right',\n 'justify-center text-center': alignment === 'center',\n});\n\nexport const getPinnedShadowClasses = (column: Column<any, any>, columnPinning: string[], isHorizontallyOffset: boolean) => {\n const pinned = !!column.getIsPinned();\n\n // react-table has column.getPinnedIndex() but it does not exclude hidden columns, so the number is wrong\n const pinnedIndex = columnPinning.indexOf(column.id);\n const isLastPinned = pinned && pinnedIndex === columnPinning.length - 1;\n const hidePinnedShadow =\n !isHorizontallyOffset && (column.id === COLUMN_ID_FOR_EXPANSION || column.id === COLUMN_ID_FOR_SELECTION);\n\n return {\n 'shadow-[6px_0px_6px_rgb(0_0_0/8%),1px_0px_0px_theme(colors.grey.300)]': isLastPinned && isHorizontallyOffset,\n 'shadow-[1px_0px_0px_theme(colors.grey.300)]': isLastPinned && !isHorizontallyOffset && !hidePinnedShadow,\n };\n};\n\nexport const isKeyboardFocusableElement = (element: Element) => {\n const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];\n\n return (\n focussableNodeNames.includes(element.nodeName) &&\n !element.hasAttribute('disabled') &&\n !element.hasAttribute('readonly') &&\n !element.getAttribute('aria-hidden')\n );\n};\n"],"names":["getDensityPadding","density","editing","getCellSizingClasses","cn","getCellAlignmentClasses","alignment","getPinnedShadowClasses","column","columnPinning","isHorizontallyOffset","pinned","getIsPinned","pinnedIndex","indexOf","id","isLastPinned","length","hidePinnedShadow","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_SELECTION","isKeyboardFocusableElement","element","focussableNodeNames","includes","nodeName","hasAttribute","getAttribute"],"mappings":";;;AAKA,MAAMA,iBAAiB,GAAG,CAACC,OAAmB,EAAEC,OAAO,GAAG,KAAK;EAC3D,QAAQD,OAAO;IACX,KAAK,SAAS;MACV,OAAOC,OAAO,GAAG,MAAM,GAAG,QAAQ;IACtC,KAAK,aAAa;MACd,OAAOA,OAAO,GAAG,MAAM,GAAG,QAAQ;IACtC,KAAK,UAAU;MACX,OAAOA,OAAO,GAAG,MAAM,GAAG,MAAM;IACpC;MACI,OAAOA,OAAO,GAAG,MAAM,GAAG,QAAQ;;AAE9C,CAAC;MAEYC,oBAAoB,GAAG,CAACF,UAAsB,QAAQ,EAAEC,OAAO,GAAG,KAAK;EAChF,OAAOE,EAAE,CAAC,0BAA0B,EAAEJ,iBAAiB,CAACC,OAAO,EAAEC,OAAO,CAAC,EAAEA,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAC7G;MAEaG,uBAAuB,GAAG,CAACC,YAA2B,MAAM,MAAM;EAC3E,yBAAyB,EAAEA,SAAS,KAAK,MAAM;EAC/C,wBAAwB,EAAEA,SAAS,KAAK,OAAO;EAC/C,4BAA4B,EAAEA,SAAS,KAAK;CAC/C;MAEYC,sBAAsB,GAAG,CAACC,MAAwB,EAAEC,aAAuB,EAAEC,oBAA6B;EACnH,MAAMC,MAAM,GAAG,CAAC,CAACH,MAAM,CAACI,WAAW,EAAE;;EAGrC,MAAMC,WAAW,GAAGJ,aAAa,CAACK,OAAO,CAACN,MAAM,CAACO,EAAE,CAAC;EACpD,MAAMC,YAAY,GAAGL,MAAM,IAAIE,WAAW,KAAKJ,aAAa,CAACQ,MAAM,GAAG,CAAC;EACvE,MAAMC,gBAAgB,GAClB,CAACR,oBAAoB,KAAKF,MAAM,CAACO,EAAE,KAAKI,uBAAuB,IAAIX,MAAM,CAACO,EAAE,KAAKK,uBAAuB,CAAC;EAE7G,OAAO;IACH,uEAAuE,EAAEJ,YAAY,IAAIN,oBAAoB;IAC7G,6CAA6C,EAAEM,YAAY,IAAI,CAACN,oBAAoB,IAAI,CAACQ;GAC5F;AACL;MAEaG,0BAA0B,GAAIC,OAAgB;EACvD,MAAMC,mBAAmB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC;EAErF,OACIA,mBAAmB,CAACC,QAAQ,CAACF,OAAO,CAACG,QAAQ,CAAC,IAC9C,CAACH,OAAO,CAACI,YAAY,CAAC,UAAU,CAAC,IACjC,CAACJ,OAAO,CAACI,YAAY,CAAC,UAAU,CAAC,IACjC,CAACJ,OAAO,CAACK,YAAY,CAAC,aAAa,CAAC;AAE5C;;;;"}
1
+ {"version":3,"file":"cell.js","sources":["../../../../../../../../src/components/Table2/utilities/cell.ts"],"sourcesContent":["import cn from 'classnames';\nimport { Column } from '@tanstack/react-table';\nimport { CellAlignment, RowDensity } from '../types';\nimport { COLUMN_ID_FOR_EXPANSION, COLUMN_ID_FOR_SELECTION } from './columns';\n\nconst getDensitySizing = (density: RowDensity, editing = false) => {\n switch (density) {\n case 'compact':\n return editing ? 'py-0' : 'py-1.5';\n case 'comfortable':\n return editing ? 'py-2' : 'py-3.5';\n case 'spacious':\n return editing ? 'py-3' : 'py-5';\n default:\n return editing ? 'py-1' : 'py-2.5';\n }\n};\n\nexport const getCellSizingClasses = (density: RowDensity = 'normal', editing = false) => {\n return cn('min-h-0 flex items-start', getDensitySizing(density, editing), editing ? 'px-[7px]' : 'px-4');\n};\n\nexport const getCellAlignmentClasses = (alignment: CellAlignment = 'left') => ({\n 'justify-start text-left': alignment === 'left',\n 'justify-end text-right': alignment === 'right',\n 'justify-center text-center': alignment === 'center',\n});\n\nexport const getPinnedShadowClasses = (column: Column<any, any>, columnPinning: string[], isHorizontallyOffset: boolean) => {\n const pinned = !!column.getIsPinned();\n\n // react-table has column.getPinnedIndex() but it does not exclude hidden columns, so the number is wrong\n const pinnedIndex = columnPinning.indexOf(column.id);\n const isLastPinned = pinned && pinnedIndex === columnPinning.length - 1;\n const hidePinnedShadow =\n !isHorizontallyOffset && (column.id === COLUMN_ID_FOR_EXPANSION || column.id === COLUMN_ID_FOR_SELECTION);\n\n return {\n 'shadow-[6px_0px_6px_rgb(0_0_0/8%),1px_0px_0px_theme(colors.grey.300)]': isLastPinned && isHorizontallyOffset,\n 'shadow-[1px_0px_0px_theme(colors.grey.300)]': isLastPinned && !isHorizontallyOffset && !hidePinnedShadow,\n };\n};\n\nexport const isKeyboardFocusableElement = (element: Element) => {\n const focussableNodeNames = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'DETAILS'];\n\n return (\n focussableNodeNames.includes(element.nodeName) &&\n !element.hasAttribute('disabled') &&\n !element.hasAttribute('readonly') &&\n !element.getAttribute('aria-hidden')\n );\n};\n"],"names":["getDensitySizing","density","editing","getCellSizingClasses","cn","getCellAlignmentClasses","alignment","getPinnedShadowClasses","column","columnPinning","isHorizontallyOffset","pinned","getIsPinned","pinnedIndex","indexOf","id","isLastPinned","length","hidePinnedShadow","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_SELECTION","isKeyboardFocusableElement","element","focussableNodeNames","includes","nodeName","hasAttribute","getAttribute"],"mappings":";;;AAKA,MAAMA,gBAAgB,GAAG,CAACC,OAAmB,EAAEC,OAAO,GAAG,KAAK;EAC1D,QAAQD,OAAO;IACX,KAAK,SAAS;MACV,OAAOC,OAAO,GAAG,MAAM,GAAG,QAAQ;IACtC,KAAK,aAAa;MACd,OAAOA,OAAO,GAAG,MAAM,GAAG,QAAQ;IACtC,KAAK,UAAU;MACX,OAAOA,OAAO,GAAG,MAAM,GAAG,MAAM;IACpC;MACI,OAAOA,OAAO,GAAG,MAAM,GAAG,QAAQ;;AAE9C,CAAC;MAEYC,oBAAoB,GAAG,CAACF,UAAsB,QAAQ,EAAEC,OAAO,GAAG,KAAK;EAChF,OAAOE,EAAE,CAAC,0BAA0B,EAAEJ,gBAAgB,CAACC,OAAO,EAAEC,OAAO,CAAC,EAAEA,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAC5G;MAEaG,uBAAuB,GAAG,CAACC,YAA2B,MAAM,MAAM;EAC3E,yBAAyB,EAAEA,SAAS,KAAK,MAAM;EAC/C,wBAAwB,EAAEA,SAAS,KAAK,OAAO;EAC/C,4BAA4B,EAAEA,SAAS,KAAK;CAC/C;MAEYC,sBAAsB,GAAG,CAACC,MAAwB,EAAEC,aAAuB,EAAEC,oBAA6B;EACnH,MAAMC,MAAM,GAAG,CAAC,CAACH,MAAM,CAACI,WAAW,EAAE;;EAGrC,MAAMC,WAAW,GAAGJ,aAAa,CAACK,OAAO,CAACN,MAAM,CAACO,EAAE,CAAC;EACpD,MAAMC,YAAY,GAAGL,MAAM,IAAIE,WAAW,KAAKJ,aAAa,CAACQ,MAAM,GAAG,CAAC;EACvE,MAAMC,gBAAgB,GAClB,CAACR,oBAAoB,KAAKF,MAAM,CAACO,EAAE,KAAKI,uBAAuB,IAAIX,MAAM,CAACO,EAAE,KAAKK,uBAAuB,CAAC;EAE7G,OAAO;IACH,uEAAuE,EAAEJ,YAAY,IAAIN,oBAAoB;IAC7G,6CAA6C,EAAEM,YAAY,IAAI,CAACN,oBAAoB,IAAI,CAACQ;GAC5F;AACL;MAEaG,0BAA0B,GAAIC,OAAgB;EACvD,MAAMC,mBAAmB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC;EAErF,OACIA,mBAAmB,CAACC,QAAQ,CAACF,OAAO,CAACG,QAAQ,CAAC,IAC9C,CAACH,OAAO,CAACI,YAAY,CAAC,UAAU,CAAC,IACjC,CAACJ,OAAO,CAACI,YAAY,CAAC,UAAU,CAAC,IACjC,CAACJ,OAAO,CAACK,YAAY,CAAC,aAAa,CAAC;AAE5C;;;;"}
@@ -66,7 +66,6 @@ function createRowDraggableColumn(onRowDrag, texts) {
66
66
  meta: {
67
67
  align: 'center',
68
68
  className: 'items-center !px-0',
69
- disableTruncation: true,
70
69
  headerClassName: 'items-center !px-0'
71
70
  },
72
71
  // sizing
@@ -104,7 +103,7 @@ const SelectCell = /*#__PURE__*/React__default.memo(({
104
103
  }))
105
104
  }, /*#__PURE__*/React__default.createElement(Checkbox, {
106
105
  "aria-label": isSelected ? texts.table2.columns.select.select : texts.table2.columns.select.deselect,
107
- className: "hover:border-blue !mt-[0.45rem]",
106
+ className: "hover:border-blue !mt-0",
108
107
  checked: isSelected,
109
108
  onClick: handleClick,
110
109
  // this is necessary to remove console spam from eslint
@@ -180,7 +179,6 @@ function createRowSelectionColumn(enableMultipleRowSelection, lastSelectedRowInd
180
179
  meta: {
181
180
  align: 'center',
182
181
  className: onRowDrag ? '!pl-0 !pr-3' : '!px-3',
183
- disableTruncation: true,
184
182
  headerClassName: onRowDrag ? '!pl-0 !pr-3' : '!px-3'
185
183
  },
186
184
  // sizing
@@ -242,7 +240,6 @@ function createRowExpansionColumn(expandedRowRenderer, texts) {
242
240
  meta: {
243
241
  align: 'center',
244
242
  className: 'items-center !p-0',
245
- disableTruncation: true,
246
243
  headerClassName: 'items-center hover:!bg-white !p-0'
247
244
  },
248
245
  // sizing
@@ -255,6 +252,8 @@ const RowActionsCell = /*#__PURE__*/React__default.memo(({
255
252
  row,
256
253
  actions,
257
254
  moreActions,
255
+ isEditing,
256
+ shouldPauseHoverState,
258
257
  table,
259
258
  texts
260
259
  }) => {
@@ -262,7 +261,7 @@ const RowActionsCell = /*#__PURE__*/React__default.memo(({
262
261
  isActive,
263
262
  isHovered
264
263
  } = useRowContext();
265
- if (!isHovered && !isActive) {
264
+ if (!isActive && (!isHovered || shouldPauseHoverState) || isEditing) {
266
265
  return null;
267
266
  }
268
267
  const isVisible = action => typeof action.visible !== 'undefined' ? typeof action.visible === 'function' ? action.visible(row.original) : action.visible : true;
@@ -273,7 +272,7 @@ const RowActionsCell = /*#__PURE__*/React__default.memo(({
273
272
  // only actions in the active row should be tabbable
274
273
  const tabIndex = table.options.meta.activeRowIndex === row.index ? 0 : -1;
275
274
  return /*#__PURE__*/React__default.createElement("span", {
276
- className: "-mb-2 -mt-1.5 flex justify-end text-right"
275
+ className: "-mb-2 -mt-2 flex justify-end text-right"
277
276
  }, visibleActions.map((action, i) => /*#__PURE__*/React__default.createElement(IconButton, {
278
277
  key: i,
279
278
  className: actionClassName,
@@ -321,20 +320,28 @@ function createRowActionsColumn(rowActions, texts) {
321
320
  cell: ({
322
321
  row,
323
322
  table
324
- }) => /*#__PURE__*/React__default.createElement(RowActionsCell, {
325
- row: row,
326
- actions: actions,
327
- moreActions: moreActions,
328
- texts: texts,
329
- table: table
330
- }),
323
+ }) => {
324
+ var _table$options$meta, _table$options$meta2;
325
+ return /*#__PURE__*/React__default.createElement(RowActionsCell, {
326
+ row: row,
327
+ actions: actions,
328
+ moreActions: moreActions,
329
+ texts: texts,
330
+ table: table,
331
+ isEditing: !!((_table$options$meta = table.options.meta) !== null && _table$options$meta !== void 0 && _table$options$meta.editMode.isEditing),
332
+ shouldPauseHoverState: !!((_table$options$meta2 = table.options.meta) !== null && _table$options$meta2 !== void 0 && _table$options$meta2.shouldPauseHoverState)
333
+ });
334
+ },
331
335
  meta: {
332
336
  align: 'right',
333
- className: row => cn('items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 bg-transparent !px-1', {
334
- 'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)] group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]': !row.getIsSelected(),
335
- 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected()
336
- }),
337
- disableTruncation: true,
337
+ className: (row, table) => {
338
+ var _table$options$meta3;
339
+ return cn('items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 bg-transparent !px-1', {
340
+ 'group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.200)]': !row.getIsSelected(),
341
+ 'group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]': !row.getIsSelected() && (!((_table$options$meta3 = table.options.meta) !== null && _table$options$meta3 !== void 0 && _table$options$meta3.shouldPauseHoverState) || table.options.meta.editMode.isEditing),
342
+ 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected()
343
+ });
344
+ },
338
345
  headerClassName: 'hover:!bg-white !px-1'
339
346
  },
340
347
  // sizing
@@ -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, 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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"}
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 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\"\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 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 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, isEditing, shouldPauseHoverState, table, texts }: any) => {\n const { isActive, isHovered } = useRowContext();\n\n if ((!isActive && (!isHovered || shouldPauseHoverState)) || isEditing) {\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-2 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\n row={row}\n actions={actions}\n moreActions={moreActions}\n texts={texts}\n table={table}\n isEditing={!!table.options.meta?.editMode.isEditing}\n shouldPauseHoverState={!!table.options.meta?.shouldPauseHoverState}\n />\n ),\n meta: {\n align: 'right',\n className: (row: Row<any>, table: 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)]': !row.getIsSelected(),\n 'group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]':\n !row.getIsSelected() &&\n (!table.options.meta?.shouldPauseHoverState || table.options.meta.editMode.isEditing),\n 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected(),\n }\n ),\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","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","isEditing","shouldPauseHoverState","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","editMode","cn"],"mappings":"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"}
@@ -32,7 +32,8 @@ const Tag = /*#__PURE__*/React__default.forwardRef((props, ref) => {
32
32
  }, color ? TAG_COLORS[color] : TAG_COLORS.grey, props.className);
33
33
  return /*#__PURE__*/React__default.createElement("span", Object.assign({}, otherProps, {
34
34
  className: className,
35
- ref: ref
35
+ ref: ref,
36
+ "data-taco": "tag"
36
37
  }), /*#__PURE__*/React__default.createElement("span", {
37
38
  className: "truncate px-2",
38
39
  ref: textRef
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sources":["../../../../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName, IconProps } from '../Icon/Icon';\n\nexport const TAG_COLORS = {\n green: 'wcag-green-100',\n yellow: 'wcag-yellow-100',\n red: 'wcag-red-100',\n blue: 'wcag-blue-100',\n purple: 'wcag-purple-100',\n orange: 'wcag-orange-100',\n brown: 'wcag-brown-100',\n pink: 'wcag-pink-100',\n grey: 'wcag-grey-200',\n};\n\nexport type TagColor = keyof typeof TAG_COLORS;\n\nexport type TagProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n children: string;\n color?: TagColor;\n disabled?: boolean;\n icon?: React.ReactElement<IconProps> | IconName;\n readOnly?: boolean;\n onDelete?: (event: React.MouseEvent<SVGSVGElement>) => void;\n};\n\nexport const Tag = React.forwardRef<HTMLSpanElement, TagProps>((props, ref) => {\n const { children, color, disabled, icon, readOnly, onDelete, ...otherProps } = props;\n const textRef = React.useRef<HTMLDivElement>(null);\n\n const className = cn(\n 'inline-flex items-center rounded h-6 cursor-default',\n {\n 'opacity-50': disabled,\n 'hover:bg-opacity-75': !disabled,\n 'cursor-pointer': !!otherProps.onClick,\n 'pointer-events-none': disabled || readOnly,\n },\n color ? TAG_COLORS[color] : TAG_COLORS.grey,\n props.className\n );\n\n return (\n <span {...otherProps} className={className} ref={ref}>\n <span className=\"truncate px-2\" ref={textRef}>\n {icon ? (\n typeof icon === 'string' ? (\n <Icon name={icon} className=\"mr-1 -ml-1 -mt-0.5 !h-5 !w-5\" />\n ) : (\n React.cloneElement(icon, { className: 'mr-1 -ml-1 -mt-0.5 !h-5 !w-5' })\n )\n ) : null}\n {children}\n </span>\n {onDelete ? (\n <Icon\n name=\"close\"\n onClick={onDelete}\n className=\"-ml-1.5 !h-6 !w-5 flex-shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5\"\n />\n ) : null}\n </span>\n );\n});\n"],"names":["TAG_COLORS","green","yellow","red","blue","purple","orange","brown","pink","grey","Tag","React","forwardRef","props","ref","children","color","disabled","icon","readOnly","onDelete","otherProps","textRef","useRef","className","cn","onClick","Icon","name","cloneElement"],"mappings":";;;;MAIaA,UAAU,GAAG;EACtBC,KAAK,EAAE,gBAAgB;EACvBC,MAAM,EAAE,iBAAiB;EACzBC,GAAG,EAAE,cAAc;EACnBC,IAAI,EAAE,eAAe;EACrBC,MAAM,EAAE,iBAAiB;EACzBC,MAAM,EAAE,iBAAiB;EACzBC,KAAK,EAAE,gBAAgB;EACvBC,IAAI,EAAE,eAAe;EACrBC,IAAI,EAAE;;MAcGC,GAAG,gBAAGC,cAAK,CAACC,UAAU,CAA4B,CAACC,KAAK,EAAEC,GAAG;EACtE,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;GAAY,GAAGR,KAAK;EACpF,MAAMS,OAAO,GAAGX,cAAK,CAACY,MAAM,CAAiB,IAAI,CAAC;EAElD,MAAMC,SAAS,GAAGC,EAAE,CAChB,qDAAqD,EACrD;IACI,YAAY,EAAER,QAAQ;IACtB,qBAAqB,EAAE,CAACA,QAAQ;IAChC,gBAAgB,EAAE,CAAC,CAACI,UAAU,CAACK,OAAO;IACtC,qBAAqB,EAAET,QAAQ,IAAIE;GACtC,EACDH,KAAK,GAAGhB,UAAU,CAACgB,KAAK,CAAC,GAAGhB,UAAU,CAACS,IAAI,EAC3CI,KAAK,CAACW,SAAS,CAClB;EAED,oBACIb,uDAAUU,UAAU;IAAEG,SAAS,EAAEA,SAAS;IAAEV,GAAG,EAAEA;mBAC7CH;IAAMa,SAAS,EAAC,eAAe;IAACV,GAAG,EAAEQ;KAChCJ,IAAI,GACD,OAAOA,IAAI,KAAK,QAAQ,gBACpBP,6BAACgB,IAAI;IAACC,IAAI,EAAEV,IAAI;IAAEM,SAAS,EAAC;IAAiC,gBAE7Db,cAAK,CAACkB,YAAY,CAACX,IAAI,EAAE;IAAEM,SAAS,EAAE;GAAgC,CACzE,GACD,IAAI,EACPT,QAAQ,CACN,EACNK,QAAQ,gBACLT,6BAACgB,IAAI;IACDC,IAAI,EAAC,OAAO;IACZF,OAAO,EAAEN,QAAQ;IACjBI,SAAS,EAAC;IACZ,GACF,IAAI,CACL;AAEf,CAAC;;;;"}
1
+ {"version":3,"file":"Tag.js","sources":["../../../../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName, IconProps } from '../Icon/Icon';\n\nexport const TAG_COLORS = {\n green: 'wcag-green-100',\n yellow: 'wcag-yellow-100',\n red: 'wcag-red-100',\n blue: 'wcag-blue-100',\n purple: 'wcag-purple-100',\n orange: 'wcag-orange-100',\n brown: 'wcag-brown-100',\n pink: 'wcag-pink-100',\n grey: 'wcag-grey-200',\n};\n\nexport type TagColor = keyof typeof TAG_COLORS;\n\nexport type TagProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n children: string;\n color?: TagColor;\n disabled?: boolean;\n icon?: React.ReactElement<IconProps> | IconName;\n readOnly?: boolean;\n onDelete?: (event: React.MouseEvent<SVGSVGElement>) => void;\n};\n\nexport const Tag = React.forwardRef<HTMLSpanElement, TagProps>((props, ref) => {\n const { children, color, disabled, icon, readOnly, onDelete, ...otherProps } = props;\n const textRef = React.useRef<HTMLDivElement>(null);\n\n const className = cn(\n 'inline-flex items-center rounded h-6 cursor-default',\n {\n 'opacity-50': disabled,\n 'hover:bg-opacity-75': !disabled,\n 'cursor-pointer': !!otherProps.onClick,\n 'pointer-events-none': disabled || readOnly,\n },\n color ? TAG_COLORS[color] : TAG_COLORS.grey,\n props.className\n );\n\n return (\n <span {...otherProps} className={className} ref={ref} data-taco=\"tag\">\n <span className=\"truncate px-2\" ref={textRef}>\n {icon ? (\n typeof icon === 'string' ? (\n <Icon name={icon} className=\"mr-1 -ml-1 -mt-0.5 !h-5 !w-5\" />\n ) : (\n React.cloneElement(icon, { className: 'mr-1 -ml-1 -mt-0.5 !h-5 !w-5' })\n )\n ) : null}\n {children}\n </span>\n {onDelete ? (\n <Icon\n name=\"close\"\n onClick={onDelete}\n className=\"-ml-1.5 !h-6 !w-5 flex-shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5\"\n />\n ) : null}\n </span>\n );\n});\n"],"names":["TAG_COLORS","green","yellow","red","blue","purple","orange","brown","pink","grey","Tag","React","forwardRef","props","ref","children","color","disabled","icon","readOnly","onDelete","otherProps","textRef","useRef","className","cn","onClick","Icon","name","cloneElement"],"mappings":";;;;MAIaA,UAAU,GAAG;EACtBC,KAAK,EAAE,gBAAgB;EACvBC,MAAM,EAAE,iBAAiB;EACzBC,GAAG,EAAE,cAAc;EACnBC,IAAI,EAAE,eAAe;EACrBC,MAAM,EAAE,iBAAiB;EACzBC,MAAM,EAAE,iBAAiB;EACzBC,KAAK,EAAE,gBAAgB;EACvBC,IAAI,EAAE,eAAe;EACrBC,IAAI,EAAE;;MAcGC,GAAG,gBAAGC,cAAK,CAACC,UAAU,CAA4B,CAACC,KAAK,EAAEC,GAAG;EACtE,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;GAAY,GAAGR,KAAK;EACpF,MAAMS,OAAO,GAAGX,cAAK,CAACY,MAAM,CAAiB,IAAI,CAAC;EAElD,MAAMC,SAAS,GAAGC,EAAE,CAChB,qDAAqD,EACrD;IACI,YAAY,EAAER,QAAQ;IACtB,qBAAqB,EAAE,CAACA,QAAQ;IAChC,gBAAgB,EAAE,CAAC,CAACI,UAAU,CAACK,OAAO;IACtC,qBAAqB,EAAET,QAAQ,IAAIE;GACtC,EACDH,KAAK,GAAGhB,UAAU,CAACgB,KAAK,CAAC,GAAGhB,UAAU,CAACS,IAAI,EAC3CI,KAAK,CAACW,SAAS,CAClB;EAED,oBACIb,uDAAUU,UAAU;IAAEG,SAAS,EAAEA,SAAS;IAAEV,GAAG,EAAEA,GAAG;iBAAY;mBAC5DH;IAAMa,SAAS,EAAC,eAAe;IAACV,GAAG,EAAEQ;KAChCJ,IAAI,GACD,OAAOA,IAAI,KAAK,QAAQ,gBACpBP,6BAACgB,IAAI;IAACC,IAAI,EAAEV,IAAI;IAAEM,SAAS,EAAC;IAAiC,gBAE7Db,cAAK,CAACkB,YAAY,CAACX,IAAI,EAAE;IAAEM,SAAS,EAAE;GAAgC,CACzE,GACD,IAAI,EACPT,QAAQ,CACN,EACNK,QAAQ,gBACLT,6BAACgB,IAAI;IACDC,IAAI,EAAC,OAAO;IACZF,OAAO,EAAEN,QAAQ;IACjBI,SAAS,EAAC;IACZ,GACF,IAAI,CACL;AAEf,CAAC;;;;"}