@economic/taco 2.47.0-server.7 → 2.47.0-server.8

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 (53) hide show
  1. package/dist/components/Calendar/Calendar.d.ts +1 -0
  2. package/dist/components/Table3/features/useEditingState.d.ts +1 -1
  3. package/dist/components/Table3/features/useTableEditing.d.ts +2 -2
  4. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +32 -1
  5. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  6. package/dist/esm/index.css +10 -2
  7. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js +12 -11
  8. package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
  9. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +15 -6
  10. package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
  11. package/dist/esm/packages/taco/src/components/Menu/components/Content.js +1 -1
  12. package/dist/esm/packages/taco/src/components/Menu/components/Content.js.map +1 -1
  13. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +2 -2
  14. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
  15. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js +5 -1
  16. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js.map +1 -1
  17. package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js +11 -6
  18. package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js.map +1 -1
  19. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js +44 -27
  20. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js.map +1 -1
  21. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js +5 -8
  22. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js.map +1 -1
  23. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js +2 -2
  24. package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
  25. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js +1 -1
  26. package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -1
  27. package/dist/esm/packages/taco/src/primitives/BubbleSelect.js +1 -1
  28. package/dist/esm/packages/taco/src/primitives/BubbleSelect.js.map +1 -1
  29. package/dist/esm/packages/taco/src/primitives/Button.js +1 -6
  30. package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
  31. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/EmptyStateBody.js +9 -2
  32. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/EmptyStateBody.js.map +1 -1
  33. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js +4 -1
  34. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -1
  35. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/dataTypes.js +6 -2
  36. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/dataTypes.js.map +1 -1
  37. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js +9 -1
  38. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js.map +1 -1
  39. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +8 -3
  40. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
  41. package/dist/esm/packages/taco/src/utils/dom.js +9 -1
  42. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  43. package/dist/esm/packages/taco/src/utils/keyboard.js +5 -2
  44. package/dist/esm/packages/taco/src/utils/keyboard.js.map +1 -1
  45. package/dist/hooks/useGlobalKeyDown.d.ts +1 -1
  46. package/dist/index.css +10 -2
  47. package/dist/primitives/Table/useTableManager/util/dataTypes.d.ts +1 -1
  48. package/dist/taco.cjs.development.js +180 -84
  49. package/dist/taco.cjs.development.js.map +1 -1
  50. package/dist/taco.cjs.production.min.js +1 -1
  51. package/dist/taco.cjs.production.min.js.map +1 -1
  52. package/dist/utils/keyboard.d.ts +1 -1
  53. package/package.json +2 -1
@@ -3,20 +3,27 @@ import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '.
3
3
 
4
4
  var _excluded = ["emptyState", "isReady", "reason"];
5
5
  function EmptyStateBody(props) {
6
+ var _ref$current, _ref$current$parentNo;
6
7
  var Placeholder = props.emptyState,
7
8
  isReady = props.isReady,
8
9
  reason = props.reason,
9
10
  attributes = _objectWithoutPropertiesLoose(props, _excluded);
11
+ var ref = React__default.useRef(null);
10
12
  if (!isReady) {
11
13
  return /*#__PURE__*/React__default.createElement("tbody", Object.assign({}, attributes, {
12
14
  className: "!auto-rows-fr"
13
15
  }));
14
16
  }
15
17
  return /*#__PURE__*/React__default.createElement("tbody", Object.assign({}, attributes, {
16
- className: "!auto-rows-fr"
18
+ ref: ref,
19
+ className: "!auto-rows-fr",
20
+ "data-taco": "empty-state"
17
21
  }), /*#__PURE__*/React__default.createElement("tr", {
18
- className: "!auto-rows-fr"
22
+ className: "!auto-rows-fr "
19
23
  }, /*#__PURE__*/React__default.createElement("td", {
24
+ style: {
25
+ maxWidth: ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : (_ref$current$parentNo = _ref$current.parentNode) === null || _ref$current$parentNo === void 0 ? void 0 : _ref$current$parentNo.clientWidth
26
+ },
20
27
  className: "col-span-full !border-0 !p-0 hover:!bg-white"
21
28
  }, Placeholder ? /*#__PURE__*/React__default.createElement(Placeholder, {
22
29
  reason: reason
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyStateBody.js","sources":["../../../../../../../../../../src/primitives/Table/Core/components/Body/EmptyStateBody.tsx"],"sourcesContent":["import React from 'react';\nimport { TableEmptyStateReason, TableEmptyStateRenderer } from '../../../types';\n\ntype EmptyStateProps = React.HTMLAttributes<HTMLTableSectionElement> & {\n emptyState?: TableEmptyStateRenderer;\n isReady: boolean;\n reason: TableEmptyStateReason;\n};\n\nexport function EmptyStateBody(props: EmptyStateProps) {\n const { emptyState: Placeholder, isReady, reason, ...attributes } = props;\n\n if (!isReady) {\n return <tbody {...attributes} className=\"!auto-rows-fr\" />;\n }\n\n return (\n <tbody {...attributes} className=\"!auto-rows-fr\">\n <tr className=\"!auto-rows-fr\">\n <td className=\"col-span-full !border-0 !p-0 hover:!bg-white\">\n {Placeholder ? <Placeholder reason={reason} /> : undefined}\n </td>\n </tr>\n </tbody>\n );\n}\n"],"names":["EmptyStateBody","props","Placeholder","emptyState","isReady","reason","attributes","_objectWithoutPropertiesLoose","_excluded","React","className","undefined"],"mappings":";;;;SASgBA,cAAcA,CAACC,KAAsB;EACjD,IAAoBC,WAAW,GAAqCD,KAAK,CAAjEE,UAAU;IAAeC,OAAO,GAA4BH,KAAK,CAAxCG,OAAO;IAAEC,MAAM,GAAoBJ,KAAK,CAA/BI,MAAM;IAAKC,UAAU,GAAAC,6BAAA,CAAKN,KAAK,EAAAO,SAAA;EAEzE,IAAI,CAACJ,OAAO,EAAE;IACV,oBAAOK,wDAAWH,UAAU;MAAEI,SAAS,EAAC;OAAkB;;EAG9D,oBACID,wDAAWH,UAAU;IAAEI,SAAS,EAAC;mBAC7BD;IAAIC,SAAS,EAAC;kBACVD;IAAIC,SAAS,EAAC;KACTR,WAAW,gBAAGO,6BAACP,WAAW;IAACG,MAAM,EAAEA;IAAU,GAAGM,SAAS,CACzD,CACJ,CACD;AAEhB;;;;"}
1
+ {"version":3,"file":"EmptyStateBody.js","sources":["../../../../../../../../../../src/primitives/Table/Core/components/Body/EmptyStateBody.tsx"],"sourcesContent":["import React from 'react';\nimport { TableEmptyStateReason, TableEmptyStateRenderer } from '../../../types';\n\ntype EmptyStateProps = React.HTMLAttributes<HTMLTableSectionElement> & {\n emptyState?: TableEmptyStateRenderer;\n isReady: boolean;\n reason: TableEmptyStateReason;\n};\n\nexport function EmptyStateBody(props: EmptyStateProps) {\n const { emptyState: Placeholder, isReady, reason, ...attributes } = props;\n const ref = React.useRef<HTMLTableSectionElement>(null);\n\n if (!isReady) {\n return <tbody {...attributes} className=\"!auto-rows-fr\" />;\n }\n\n return (\n <tbody {...attributes} ref={ref} className=\"!auto-rows-fr\" data-taco=\"empty-state\">\n <tr className=\"!auto-rows-fr \">\n <td\n style={{ maxWidth: (ref?.current?.parentNode as Element)?.clientWidth }}\n className=\"col-span-full !border-0 !p-0 hover:!bg-white\">\n {Placeholder ? <Placeholder reason={reason} /> : undefined}\n </td>\n </tr>\n </tbody>\n );\n}\n"],"names":["EmptyStateBody","props","Placeholder","emptyState","isReady","reason","attributes","_objectWithoutPropertiesLoose","_excluded","ref","React","useRef","className","style","maxWidth","_ref$current","current","_ref$current$parentNo","parentNode","clientWidth","undefined"],"mappings":";;;;SASgBA,cAAcA,CAACC,KAAsB;;EACjD,IAAoBC,WAAW,GAAqCD,KAAK,CAAjEE,UAAU;IAAeC,OAAO,GAA4BH,KAAK,CAAxCG,OAAO;IAAEC,MAAM,GAAoBJ,KAAK,CAA/BI,MAAM;IAAKC,UAAU,GAAAC,6BAAA,CAAKN,KAAK,EAAAO,SAAA;EACzE,IAAMC,GAAG,GAAGC,cAAK,CAACC,MAAM,CAA0B,IAAI,CAAC;EAEvD,IAAI,CAACP,OAAO,EAAE;IACV,oBAAOM,wDAAWJ,UAAU;MAAEM,SAAS,EAAC;OAAkB;;EAG9D,oBACIF,wDAAWJ,UAAU;IAAEG,GAAG,EAAEA,GAAG;IAAEG,SAAS,EAAC,eAAe;iBAAW;mBACjEF;IAAIE,SAAS,EAAC;kBACVF;IACIG,KAAK,EAAE;MAAEC,QAAQ,EAAGL,GAAG,aAAHA,GAAG,wBAAAM,YAAA,GAAHN,GAAG,CAAEO,OAAO,cAAAD,YAAA,wBAAAE,qBAAA,GAAZF,YAAA,CAAcG,UAAsB,cAAAD,qBAAA,uBAApCA,qBAAA,CAAsCE;KAAa;IACvEP,SAAS,EAAC;KACTV,WAAW,gBAAGQ,6BAACR,WAAW;IAACG,MAAM,EAAEA;IAAU,GAAGe,SAAS,CACzD,CACJ,CACD;AAEhB;;;;"}
@@ -14,7 +14,10 @@ function useTableFontSizeListener(table) {
14
14
  var _column$columnDef$min;
15
15
  var columnName = _ref[0],
16
16
  prevColumnSize = _ref[1];
17
- var column = table.getColumn(columnName);
17
+ // table.getColumn(columName) throw error in strict dev mode. Related thread: https://github.com/TanStack/table/discussions/5505
18
+ var column = table.getAllColumns().find(function (x) {
19
+ return x.id === columnName;
20
+ });
18
21
  if (isInternalColumn(columnName)) {
19
22
  var _column$getSize;
20
23
  return [columnName, (_column$getSize = column === null || column === void 0 ? void 0 : column.getSize()) !== null && _column$getSize !== void 0 ? _column$getSize : prevColumnSize];
@@ -1 +1 @@
1
- {"version":3,"file":"useTableFontSizeListener.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLazyEffect } from '../../../../hooks/useLazyEffect';\nimport { FontSizes } from '../../../../types';\nimport { getCellMinWidth, isInternalColumn } from '../util/columns';\n\nexport function useTableFontSizeListener<TType = unknown>(table: ReactTable<TType>) {\n const meta = table.options.meta as ReactTableMeta<TType>;\n const previousFontSizeRef = React.useRef(meta.fontSize.size);\n\n useLazyEffect(() => {\n const cellWidthDifference = getCellWidthDifference(`${previousFontSizeRef.current}-${meta.fontSize.size}`);\n const globalMinSize = getCellMinWidth(meta.fontSize.size);\n\n table.setColumnSizing(sizes => {\n return Object.fromEntries(\n Object.entries(sizes).map(([columnName, prevColumnSize]) => {\n const column = table.getColumn(columnName);\n\n if (isInternalColumn(columnName)) {\n return [columnName, column?.getSize() ?? prevColumnSize];\n }\n\n // Prevents width value in the setting to go below the minColumnSize\n const minColumnSize = column?.columnDef.minSize ?? globalMinSize;\n const newSize = Math.max(minColumnSize, prevColumnSize + cellWidthDifference);\n return [columnName, newSize];\n })\n );\n });\n previousFontSizeRef.current = meta.fontSize.size;\n }, [meta.fontSize.size]);\n}\n\nfunction getCellWidthDifference(fontSizeKey: string) {\n switch (fontSizeKey) {\n case `${FontSizes.small}-${FontSizes.medium}`:\n case `${FontSizes.medium}-${FontSizes.large}`:\n return 8;\n\n case `${FontSizes.medium}-${FontSizes.small}`:\n case `${FontSizes.large}-${FontSizes.medium}`:\n return -8;\n\n case `${FontSizes.small}-${FontSizes.large}`:\n return 16;\n\n case `${FontSizes.large}-${FontSizes.small}`:\n return -16;\n\n default:\n return 0;\n }\n}\n"],"names":["useTableFontSizeListener","table","meta","options","previousFontSizeRef","React","useRef","fontSize","size","useLazyEffect","cellWidthDifference","getCellWidthDifference","current","globalMinSize","getCellMinWidth","setColumnSizing","sizes","Object","fromEntries","entries","map","_ref","columnName","prevColumnSize","column","getColumn","isInternalColumn","_column$getSize","getSize","minColumnSize","_column$columnDef$min","columnDef","minSize","newSize","Math","max","fontSizeKey","FontSizes","small","medium","large"],"mappings":";;;;;SAMgBA,wBAAwBA,CAAkBC,KAAwB;EAC9E,IAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAA6B;EACxD,IAAME,mBAAmB,GAAGC,cAAK,CAACC,MAAM,CAACJ,IAAI,CAACK,QAAQ,CAACC,IAAI,CAAC;EAE5DC,aAAa,CAAC;IACV,IAAMC,mBAAmB,GAAGC,sBAAsB,CAAIP,mBAAmB,CAACQ,OAAO,SAAIV,IAAI,CAACK,QAAQ,CAACC,IAAM,CAAC;IAC1G,IAAMK,aAAa,GAAGC,eAAe,CAACZ,IAAI,CAACK,QAAQ,CAACC,IAAI,CAAC;IAEzDP,KAAK,CAACc,eAAe,CAAC,UAAAC,KAAK;MACvB,OAAOC,MAAM,CAACC,WAAW,CACrBD,MAAM,CAACE,OAAO,CAACH,KAAK,CAAC,CAACI,GAAG,CAAC,UAAAC,IAAA;;YAAEC,UAAU,GAAAD,IAAA;UAAEE,cAAc,GAAAF,IAAA;QAClD,IAAMG,MAAM,GAAGvB,KAAK,CAACwB,SAAS,CAACH,UAAU,CAAC;QAE1C,IAAII,gBAAgB,CAACJ,UAAU,CAAC,EAAE;UAAA,IAAAK,eAAA;UAC9B,OAAO,CAACL,UAAU,GAAAK,eAAA,GAAEH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,OAAO,EAAE,cAAAD,eAAA,cAAAA,eAAA,GAAIJ,cAAc,CAAC;;;QAI5D,IAAMM,aAAa,IAAAC,qBAAA,GAAGN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,SAAS,CAACC,OAAO,cAAAF,qBAAA,cAAAA,qBAAA,GAAIjB,aAAa;QAChE,IAAMoB,OAAO,GAAGC,IAAI,CAACC,GAAG,CAACN,aAAa,EAAEN,cAAc,GAAGb,mBAAmB,CAAC;QAC7E,OAAO,CAACY,UAAU,EAAEW,OAAO,CAAC;OAC/B,CAAC,CACL;KACJ,CAAC;IACF7B,mBAAmB,CAACQ,OAAO,GAAGV,IAAI,CAACK,QAAQ,CAACC,IAAI;GACnD,EAAE,CAACN,IAAI,CAACK,QAAQ,CAACC,IAAI,CAAC,CAAC;AAC5B;AAEA,SAASG,sBAAsBA,CAACyB,WAAmB;EAC/C,QAAQA,WAAW;IACf,KAAQC,SAAS,CAACC,KAAK,SAAID,SAAS,CAACE,MAAM;IAC3C,KAAQF,SAAS,CAACE,MAAM,SAAIF,SAAS,CAACG,KAAK;MACvC,OAAO,CAAC;IAEZ,KAAQH,SAAS,CAACE,MAAM,SAAIF,SAAS,CAACC,KAAK;IAC3C,KAAQD,SAAS,CAACG,KAAK,SAAIH,SAAS,CAACE,MAAM;MACvC,OAAO,CAAC,CAAC;IAEb,KAAQF,SAAS,CAACC,KAAK,SAAID,SAAS,CAACG,KAAK;MACtC,OAAO,EAAE;IAEb,KAAQH,SAAS,CAACG,KAAK,SAAIH,SAAS,CAACC,KAAK;MACtC,OAAO,CAAC,EAAE;IAEd;MACI,OAAO,CAAC;;AAEpB;;;;"}
1
+ {"version":3,"file":"useTableFontSizeListener.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLazyEffect } from '../../../../hooks/useLazyEffect';\nimport { FontSizes } from '../../../../types';\nimport { getCellMinWidth, isInternalColumn } from '../util/columns';\n\nexport function useTableFontSizeListener<TType = unknown>(table: ReactTable<TType>) {\n const meta = table.options.meta as ReactTableMeta<TType>;\n const previousFontSizeRef = React.useRef(meta.fontSize.size);\n\n useLazyEffect(() => {\n const cellWidthDifference = getCellWidthDifference(`${previousFontSizeRef.current}-${meta.fontSize.size}`);\n const globalMinSize = getCellMinWidth(meta.fontSize.size);\n\n table.setColumnSizing(sizes => {\n return Object.fromEntries(\n Object.entries(sizes).map(([columnName, prevColumnSize]) => {\n // table.getColumn(columName) throw error in strict dev mode. Related thread: https://github.com/TanStack/table/discussions/5505\n const column = table.getAllColumns().find(x => x.id === columnName);\n\n if (isInternalColumn(columnName)) {\n return [columnName, column?.getSize() ?? prevColumnSize];\n }\n\n // Prevents width value in the setting to go below the minColumnSize\n const minColumnSize = column?.columnDef.minSize ?? globalMinSize;\n const newSize = Math.max(minColumnSize, prevColumnSize + cellWidthDifference);\n return [columnName, newSize];\n })\n );\n });\n previousFontSizeRef.current = meta.fontSize.size;\n }, [meta.fontSize.size]);\n}\n\nfunction getCellWidthDifference(fontSizeKey: string) {\n switch (fontSizeKey) {\n case `${FontSizes.small}-${FontSizes.medium}`:\n case `${FontSizes.medium}-${FontSizes.large}`:\n return 8;\n\n case `${FontSizes.medium}-${FontSizes.small}`:\n case `${FontSizes.large}-${FontSizes.medium}`:\n return -8;\n\n case `${FontSizes.small}-${FontSizes.large}`:\n return 16;\n\n case `${FontSizes.large}-${FontSizes.small}`:\n return -16;\n\n default:\n return 0;\n }\n}\n"],"names":["useTableFontSizeListener","table","meta","options","previousFontSizeRef","React","useRef","fontSize","size","useLazyEffect","cellWidthDifference","getCellWidthDifference","current","globalMinSize","getCellMinWidth","setColumnSizing","sizes","Object","fromEntries","entries","map","_ref","columnName","prevColumnSize","column","getAllColumns","find","x","id","isInternalColumn","_column$getSize","getSize","minColumnSize","_column$columnDef$min","columnDef","minSize","newSize","Math","max","fontSizeKey","FontSizes","small","medium","large"],"mappings":";;;;;SAMgBA,wBAAwBA,CAAkBC,KAAwB;EAC9E,IAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAA6B;EACxD,IAAME,mBAAmB,GAAGC,cAAK,CAACC,MAAM,CAACJ,IAAI,CAACK,QAAQ,CAACC,IAAI,CAAC;EAE5DC,aAAa,CAAC;IACV,IAAMC,mBAAmB,GAAGC,sBAAsB,CAAIP,mBAAmB,CAACQ,OAAO,SAAIV,IAAI,CAACK,QAAQ,CAACC,IAAM,CAAC;IAC1G,IAAMK,aAAa,GAAGC,eAAe,CAACZ,IAAI,CAACK,QAAQ,CAACC,IAAI,CAAC;IAEzDP,KAAK,CAACc,eAAe,CAAC,UAAAC,KAAK;MACvB,OAAOC,MAAM,CAACC,WAAW,CACrBD,MAAM,CAACE,OAAO,CAACH,KAAK,CAAC,CAACI,GAAG,CAAC,UAAAC,IAAA;;YAAEC,UAAU,GAAAD,IAAA;UAAEE,cAAc,GAAAF,IAAA;;QAElD,IAAMG,MAAM,GAAGvB,KAAK,CAACwB,aAAa,EAAE,CAACC,IAAI,CAAC,UAAAC,CAAC;UAAA,OAAIA,CAAC,CAACC,EAAE,KAAKN,UAAU;UAAC;QAEnE,IAAIO,gBAAgB,CAACP,UAAU,CAAC,EAAE;UAAA,IAAAQ,eAAA;UAC9B,OAAO,CAACR,UAAU,GAAAQ,eAAA,GAAEN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,OAAO,EAAE,cAAAD,eAAA,cAAAA,eAAA,GAAIP,cAAc,CAAC;;;QAI5D,IAAMS,aAAa,IAAAC,qBAAA,GAAGT,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEU,SAAS,CAACC,OAAO,cAAAF,qBAAA,cAAAA,qBAAA,GAAIpB,aAAa;QAChE,IAAMuB,OAAO,GAAGC,IAAI,CAACC,GAAG,CAACN,aAAa,EAAET,cAAc,GAAGb,mBAAmB,CAAC;QAC7E,OAAO,CAACY,UAAU,EAAEc,OAAO,CAAC;OAC/B,CAAC,CACL;KACJ,CAAC;IACFhC,mBAAmB,CAACQ,OAAO,GAAGV,IAAI,CAACK,QAAQ,CAACC,IAAI;GACnD,EAAE,CAACN,IAAI,CAACK,QAAQ,CAACC,IAAI,CAAC,CAAC;AAC5B;AAEA,SAASG,sBAAsBA,CAAC4B,WAAmB;EAC/C,QAAQA,WAAW;IACf,KAAQC,SAAS,CAACC,KAAK,SAAID,SAAS,CAACE,MAAM;IAC3C,KAAQF,SAAS,CAACE,MAAM,SAAIF,SAAS,CAACG,KAAK;MACvC,OAAO,CAAC;IAEZ,KAAQH,SAAS,CAACE,MAAM,SAAIF,SAAS,CAACC,KAAK;IAC3C,KAAQD,SAAS,CAACG,KAAK,SAAIH,SAAS,CAACE,MAAM;MACvC,OAAO,CAAC,CAAC;IAEb,KAAQF,SAAS,CAACC,KAAK,SAAID,SAAS,CAACG,KAAK;MACtC,OAAO,EAAE;IAEb,KAAQH,SAAS,CAACG,KAAK,SAAIH,SAAS,CAACC,KAAK;MACtC,OAAO,CAAC,EAAE;IAEd;MACI,OAAO,CAAC;;AAEpB;;;;"}
@@ -37,9 +37,13 @@ var dataTypes = {
37
37
  if (value === undefined) {
38
38
  return '';
39
39
  }
40
- return new Intl.NumberFormat(options === null || options === void 0 ? void 0 : (_options$localization2 = options.localization) === null || _options$localization2 === void 0 ? void 0 : _options$localization2.locale, {
40
+ var formatter = new Intl.NumberFormat(options === null || options === void 0 ? void 0 : (_options$localization2 = options.localization) === null || _options$localization2 === void 0 ? void 0 : _options$localization2.locale, {
41
41
  minimumFractionDigits: 2
42
- }).format(Number(value));
42
+ });
43
+ var decimalSeperator = formatter.format(1.1).substring(1, 2);
44
+ var localisedValue = formatter.format(Number(value));
45
+ var localisedValueWithoutThousandsSeperator = decimalSeperator === '.' ? localisedValue.replace(',', '') : localisedValue.replace('.', '');
46
+ return [localisedValue, localisedValueWithoutThousandsSeperator];
43
47
  }
44
48
  }
45
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dataTypes.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/dataTypes.ts"],"sourcesContent":["import { SortingFnOption as ReactTableSortingFnOption } from '@tanstack/react-table';\nimport * as date from '../../../../utils/date';\nimport { TableColumnAlignment, TableColumnDataType, TableFilterComparator } from '../../types';\nimport { Localization } from '../../../../components/Provider/Localization';\n\nexport type TableDataType<TType = unknown> = {\n align?: TableColumnAlignment;\n sortingFn: ReactTableSortingFnOption<TType>;\n filterComparators: TableFilterComparator[];\n getDisplayValue?: (value: any, options?: { localization: Localization }) => string;\n};\n\nconst dataTypes: Record<TableColumnDataType | 'auto', TableDataType> = {\n auto: {\n sortingFn: 'auto',\n filterComparators: [\n TableFilterComparator.Contains,\n TableFilterComparator.DoesNotContain,\n TableFilterComparator.IsEqualTo,\n TableFilterComparator.IsNotEqualTo,\n TableFilterComparator.IsEmpty,\n TableFilterComparator.IsNotEmpty,\n ],\n },\n // base\n text: {\n sortingFn: 'alphanumeric',\n filterComparators: [\n TableFilterComparator.Contains,\n TableFilterComparator.DoesNotContain,\n TableFilterComparator.IsEqualTo,\n TableFilterComparator.IsNotEqualTo,\n TableFilterComparator.IsEmpty,\n TableFilterComparator.IsNotEmpty,\n ],\n },\n number: {\n sortingFn: 'basic',\n filterComparators: [\n TableFilterComparator.IsEqualTo,\n TableFilterComparator.IsNotEqualTo,\n TableFilterComparator.IsGreaterThan,\n TableFilterComparator.IsLessThan,\n TableFilterComparator.IsGreaterThanOrEqualTo,\n TableFilterComparator.IsLessThanOrEqualTo,\n TableFilterComparator.IsBetween,\n TableFilterComparator.IsEmpty,\n TableFilterComparator.IsNotEmpty,\n ],\n },\n datetime: {\n sortingFn: 'datetime',\n filterComparators: [\n TableFilterComparator.IsEqualTo,\n TableFilterComparator.IsNotEqualTo,\n TableFilterComparator.IsGreaterThan,\n TableFilterComparator.IsLessThan,\n TableFilterComparator.IsGreaterThanOrEqualTo,\n TableFilterComparator.IsLessThanOrEqualTo,\n TableFilterComparator.IsBetween,\n TableFilterComparator.IsEmpty,\n TableFilterComparator.IsNotEmpty,\n ],\n getDisplayValue: (value: string | Date, options) => {\n return date.format(value, options?.localization?.formatting.date) ?? '';\n },\n },\n boolean: {\n sortingFn: 'basic',\n filterComparators: [TableFilterComparator.IsEqualTo, TableFilterComparator.IsNotEqualTo],\n },\n // advanced\n amount: {\n align: 'right',\n sortingFn: 'basic',\n filterComparators: [\n TableFilterComparator.IsEqualTo,\n TableFilterComparator.IsNotEqualTo,\n TableFilterComparator.IsGreaterThan,\n TableFilterComparator.IsLessThan,\n TableFilterComparator.IsGreaterThanOrEqualTo,\n TableFilterComparator.IsLessThanOrEqualTo,\n TableFilterComparator.IsBetween,\n TableFilterComparator.IsEmpty,\n TableFilterComparator.IsNotEmpty,\n ],\n getDisplayValue: (value: number | bigint | string, options) => {\n if (value === undefined) {\n return '';\n }\n\n return new Intl.NumberFormat(options?.localization?.locale, { minimumFractionDigits: 2 }).format(Number(value));\n },\n },\n};\n\nexport function getDataTypeProperties<TType = unknown>(dataType: TableColumnDataType | undefined): TableDataType<TType> {\n return (dataTypes[dataType ?? 'text'] ?? dataTypes.text) as TableDataType<TType>;\n}\n"],"names":["dataTypes","auto","sortingFn","filterComparators","TableFilterComparator","Contains","DoesNotContain","IsEqualTo","IsNotEqualTo","IsEmpty","IsNotEmpty","text","number","IsGreaterThan","IsLessThan","IsGreaterThanOrEqualTo","IsLessThanOrEqualTo","IsBetween","datetime","getDisplayValue","value","options","_date$format","date","_options$localization","localization","formatting","amount","align","undefined","Intl","NumberFormat","_options$localization2","locale","minimumFractionDigits","format","Number","getDataTypeProperties","dataType","_dataTypes"],"mappings":"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"}
1
+ {"version":3,"file":"dataTypes.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/dataTypes.ts"],"sourcesContent":["import { SortingFnOption as ReactTableSortingFnOption } from '@tanstack/react-table';\nimport * as date from '../../../../utils/date';\nimport { TableColumnAlignment, TableColumnDataType, TableFilterComparator } from '../../types';\nimport { Localization } from '../../../../components/Provider/Localization';\n\nexport type TableDataType<TType = unknown> = {\n align?: TableColumnAlignment;\n sortingFn: ReactTableSortingFnOption<TType>;\n filterComparators: TableFilterComparator[];\n getDisplayValue?: (value: any, options?: { localization: Localization }) => string | string[];\n};\n\nconst dataTypes: Record<TableColumnDataType | 'auto', TableDataType> = {\n auto: {\n sortingFn: 'auto',\n filterComparators: [\n TableFilterComparator.Contains,\n TableFilterComparator.DoesNotContain,\n TableFilterComparator.IsEqualTo,\n TableFilterComparator.IsNotEqualTo,\n TableFilterComparator.IsEmpty,\n TableFilterComparator.IsNotEmpty,\n ],\n },\n // base\n text: {\n sortingFn: 'alphanumeric',\n filterComparators: [\n TableFilterComparator.Contains,\n TableFilterComparator.DoesNotContain,\n TableFilterComparator.IsEqualTo,\n TableFilterComparator.IsNotEqualTo,\n TableFilterComparator.IsEmpty,\n TableFilterComparator.IsNotEmpty,\n ],\n },\n number: {\n sortingFn: 'basic',\n filterComparators: [\n TableFilterComparator.IsEqualTo,\n TableFilterComparator.IsNotEqualTo,\n TableFilterComparator.IsGreaterThan,\n TableFilterComparator.IsLessThan,\n TableFilterComparator.IsGreaterThanOrEqualTo,\n TableFilterComparator.IsLessThanOrEqualTo,\n TableFilterComparator.IsBetween,\n TableFilterComparator.IsEmpty,\n TableFilterComparator.IsNotEmpty,\n ],\n },\n datetime: {\n sortingFn: 'datetime',\n filterComparators: [\n TableFilterComparator.IsEqualTo,\n TableFilterComparator.IsNotEqualTo,\n TableFilterComparator.IsGreaterThan,\n TableFilterComparator.IsLessThan,\n TableFilterComparator.IsGreaterThanOrEqualTo,\n TableFilterComparator.IsLessThanOrEqualTo,\n TableFilterComparator.IsBetween,\n TableFilterComparator.IsEmpty,\n TableFilterComparator.IsNotEmpty,\n ],\n getDisplayValue: (value: string | Date, options) => {\n return date.format(value, options?.localization?.formatting.date) ?? '';\n },\n },\n boolean: {\n sortingFn: 'basic',\n filterComparators: [TableFilterComparator.IsEqualTo, TableFilterComparator.IsNotEqualTo],\n },\n // advanced\n amount: {\n align: 'right',\n sortingFn: 'basic',\n filterComparators: [\n TableFilterComparator.IsEqualTo,\n TableFilterComparator.IsNotEqualTo,\n TableFilterComparator.IsGreaterThan,\n TableFilterComparator.IsLessThan,\n TableFilterComparator.IsGreaterThanOrEqualTo,\n TableFilterComparator.IsLessThanOrEqualTo,\n TableFilterComparator.IsBetween,\n TableFilterComparator.IsEmpty,\n TableFilterComparator.IsNotEmpty,\n ],\n getDisplayValue: (value: number | bigint | string, options) => {\n if (value === undefined) {\n return '';\n }\n\n const formatter = new Intl.NumberFormat(options?.localization?.locale, { minimumFractionDigits: 2 });\n const decimalSeperator = formatter.format(1.1).substring(1, 2);\n\n const localisedValue = formatter.format(Number(value));\n const localisedValueWithoutThousandsSeperator =\n decimalSeperator === '.' ? localisedValue.replace(',', '') : localisedValue.replace('.', '');\n\n return [localisedValue, localisedValueWithoutThousandsSeperator];\n },\n },\n};\n\nexport function getDataTypeProperties<TType = unknown>(dataType: TableColumnDataType | undefined): TableDataType<TType> {\n return (dataTypes[dataType ?? 'text'] ?? dataTypes.text) as TableDataType<TType>;\n}\n"],"names":["dataTypes","auto","sortingFn","filterComparators","TableFilterComparator","Contains","DoesNotContain","IsEqualTo","IsNotEqualTo","IsEmpty","IsNotEmpty","text","number","IsGreaterThan","IsLessThan","IsGreaterThanOrEqualTo","IsLessThanOrEqualTo","IsBetween","datetime","getDisplayValue","value","options","_date$format","date","_options$localization","localization","formatting","amount","align","undefined","formatter","Intl","NumberFormat","_options$localization2","locale","minimumFractionDigits","decimalSeperator","format","substring","localisedValue","Number","localisedValueWithoutThousandsSeperator","replace","getDataTypeProperties","dataType","_dataTypes"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { createForOfIteratorHelperLoose as _createForOfIteratorHelperLoose } from '../../../../../../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import get from 'lodash-es/get';
2
3
  import { getDataTypeProperties } from './dataTypes.js';
3
4
  import { isWeakContains } from './filtering.js';
@@ -20,7 +21,14 @@ function isMatched(searchQuery, cellValue, dataType, localization) {
20
21
  var cellDisplayValue = dataTypeProperties.getDisplayValue(cellValue, {
21
22
  localization: localization
22
23
  });
23
- if (cellDisplayValue !== undefined && isWeakContains(cellDisplayValue, searchQuery)) {
24
+ if (Array.isArray(cellDisplayValue)) {
25
+ for (var _iterator = _createForOfIteratorHelperLoose(cellDisplayValue), _step; !(_step = _iterator()).done;) {
26
+ var displayValue = _step.value;
27
+ if (isWeakContains(displayValue, searchQuery)) {
28
+ return true;
29
+ }
30
+ }
31
+ } else if (cellDisplayValue !== undefined && isWeakContains(cellDisplayValue, searchQuery)) {
24
32
  return true;
25
33
  }
26
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/search.ts"],"sourcesContent":["import { Table as ReactTable, TableMeta as ReactTableMeta, Row as ReactTableRow } from '@tanstack/react-table';\nimport get from 'lodash/get';\nimport { isWeakContains } from './filtering';\nimport { getDataTypeProperties } from './dataTypes';\nimport { TableColumnDataType } from '../../types';\nimport { Localization } from '../../../../components/Provider/Localization';\n\nconst flattenCellValue = (cellValue: object | string) => {\n return typeof cellValue === 'object' ? Object.values(cellValue).map(flattenCellValue) : cellValue;\n};\n\nexport function isMatched<TType = unknown>(\n searchQuery: string,\n cellValue: any,\n dataType: TableColumnDataType | undefined,\n localization: Localization\n) {\n if (typeof cellValue === 'object') {\n return flattenCellValue(cellValue)\n .flat(Infinity)\n .find(y => isWeakContains(y, searchQuery));\n } else {\n const cellValueAsString = String(cellValue ?? '');\n\n if (cellValueAsString !== undefined && isWeakContains(cellValueAsString, searchQuery)) {\n return true;\n } else {\n const dataTypeProperties = getDataTypeProperties<TType>(dataType);\n\n if (dataTypeProperties.getDisplayValue) {\n const cellDisplayValue = dataTypeProperties.getDisplayValue(cellValue, { localization });\n\n if (cellDisplayValue !== undefined && isWeakContains(cellDisplayValue, searchQuery)) {\n return true;\n }\n }\n }\n }\n\n return false;\n}\n\nexport function globalFilterFn<TType = unknown>(\n row: ReactTableRow<TType>,\n columnId: string,\n searchQuery: string,\n localization: Localization\n) {\n try {\n if (row.original) {\n const cellValue = row.original[columnId];\n const dataType = row._getAllCellsByColumnId()[columnId]?.column.columnDef.meta?.dataType;\n return isMatched(searchQuery, cellValue, dataType, localization);\n }\n } catch {\n // we don't care, just fail silently and return no results\n }\n\n return false;\n}\n\nexport function resetHighlightedColumnIndexes<TType = unknown>(\n searchQuery: string | undefined,\n table: ReactTable<TType>,\n localization: Localization\n) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n let firstRowIndex: undefined | number;\n\n if (searchQuery) {\n const indexes: number[][] = [];\n const columns = table.getVisibleLeafColumns();\n const rowGrouping = table.getState().grouping;\n\n table.getRowModel().rows.forEach((row, rowIndex) => {\n columns.forEach((column, columnIndex) => {\n try {\n let allowSearch = true;\n\n if (rowGrouping?.length) {\n // if it's the grouped row, only allow search of the grouped column - because that's all that's visible\n if (row.getIsGrouped()) {\n allowSearch = column.getIsGrouped();\n }\n // otherwise for other rows, don't search the grouped column - because it isn't visible\n else if (rowGrouping.includes(column.id)) {\n allowSearch = false;\n }\n }\n\n if (column.getIsVisible() && column.columnDef.enableGlobalFilter && allowSearch) {\n const cellValue = get(row.original, column.id);\n const dataType = column.columnDef.meta?.dataType;\n\n if (isMatched(searchQuery, cellValue, dataType, localization)) {\n indexes.push([rowIndex, columnIndex]);\n }\n }\n } catch (e) {\n //\n }\n });\n });\n\n tableMeta.search.setHighlightedColumnIndexes(indexes);\n\n if (indexes.length) {\n firstRowIndex = indexes[0][0];\n tableMeta.search.setCurrentHighlightColumnIndex(0);\n } else {\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n } else {\n tableMeta.search.setHighlightedColumnIndexes([]);\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n\n if (firstRowIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(firstRowIndex);\n }\n\n return firstRowIndex;\n}\n"],"names":["flattenCellValue","cellValue","Object","values","map","isMatched","searchQuery","dataType","localization","flat","Infinity","find","y","isWeakContains","cellValueAsString","String","undefined","dataTypeProperties","getDataTypeProperties","getDisplayValue","cellDisplayValue","globalFilterFn","row","columnId","original","_row$_getAllCellsByCo","_row$_getAllCellsByCo2","_getAllCellsByColumnId","column","columnDef","meta","_unused","resetHighlightedColumnIndexes","table","tableMeta","options","firstRowIndex","indexes","columns","getVisibleLeafColumns","rowGrouping","getState","grouping","getRowModel","rows","forEach","rowIndex","columnIndex","allowSearch","length","getIsGrouped","includes","id","getIsVisible","enableGlobalFilter","_column$columnDef$met","get","push","e","search","setHighlightedColumnIndexes","setCurrentHighlightColumnIndex","rowActive","setRowActiveIndex"],"mappings":";;;;AAOA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,SAA0B;EAChD,OAAO,OAAOA,SAAS,KAAK,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAACF,SAAS,CAAC,CAACG,GAAG,CAACJ,gBAAgB,CAAC,GAAGC,SAAS;AACrG,CAAC;SAEeI,SAASA,CACrBC,WAAmB,EACnBL,SAAc,EACdM,QAAyC,EACzCC,YAA0B;EAE1B,IAAI,OAAOP,SAAS,KAAK,QAAQ,EAAE;IAC/B,OAAOD,gBAAgB,CAACC,SAAS,CAAC,CAC7BQ,IAAI,CAACC,QAAQ,CAAC,CACdC,IAAI,CAAC,UAAAC,CAAC;MAAA,OAAIC,cAAc,CAACD,CAAC,EAAEN,WAAW,CAAC;MAAC;GACjD,MAAM;IACH,IAAMQ,iBAAiB,GAAGC,MAAM,CAACd,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,EAAE,CAAC;IAEjD,IAAIa,iBAAiB,KAAKE,SAAS,IAAIH,cAAc,CAACC,iBAAiB,EAAER,WAAW,CAAC,EAAE;MACnF,OAAO,IAAI;KACd,MAAM;MACH,IAAMW,kBAAkB,GAAGC,qBAAqB,CAAQX,QAAQ,CAAC;MAEjE,IAAIU,kBAAkB,CAACE,eAAe,EAAE;QACpC,IAAMC,gBAAgB,GAAGH,kBAAkB,CAACE,eAAe,CAAClB,SAAS,EAAE;UAAEO,YAAY,EAAZA;SAAc,CAAC;QAExF,IAAIY,gBAAgB,KAAKJ,SAAS,IAAIH,cAAc,CAACO,gBAAgB,EAAEd,WAAW,CAAC,EAAE;UACjF,OAAO,IAAI;;;;;EAM3B,OAAO,KAAK;AAChB;SAEgBe,cAAcA,CAC1BC,GAAyB,EACzBC,QAAgB,EAChBjB,WAAmB,EACnBE,YAA0B;EAE1B,IAAI;IACA,IAAIc,GAAG,CAACE,QAAQ,EAAE;MAAA,IAAAC,qBAAA,EAAAC,sBAAA;MACd,IAAMzB,SAAS,GAAGqB,GAAG,CAACE,QAAQ,CAACD,QAAQ,CAAC;MACxC,IAAMhB,QAAQ,IAAAkB,qBAAA,GAAGH,GAAG,CAACK,sBAAsB,EAAE,CAACJ,QAAQ,CAAC,cAAAE,qBAAA,wBAAAC,sBAAA,GAAtCD,qBAAA,CAAwCG,MAAM,CAACC,SAAS,CAACC,IAAI,cAAAJ,sBAAA,uBAA7DA,sBAAA,CAA+DnB,QAAQ;MACxF,OAAOF,SAAS,CAACC,WAAW,EAAEL,SAAS,EAAEM,QAAQ,EAAEC,YAAY,CAAC;;GAEvE,CAAC,OAAAuB,OAAA,EAAM;;;EAIR,OAAO,KAAK;AAChB;SAEgBC,6BAA6BA,CACzC1B,WAA+B,EAC/B2B,KAAwB,EACxBzB,YAA0B;EAE1B,IAAM0B,SAAS,GAAGD,KAAK,CAACE,OAAO,CAACL,IAA6B;EAC7D,IAAIM,aAAiC;EAErC,IAAI9B,WAAW,EAAE;IACb,IAAM+B,OAAO,GAAe,EAAE;IAC9B,IAAMC,OAAO,GAAGL,KAAK,CAACM,qBAAqB,EAAE;IAC7C,IAAMC,WAAW,GAAGP,KAAK,CAACQ,QAAQ,EAAE,CAACC,QAAQ;IAE7CT,KAAK,CAACU,WAAW,EAAE,CAACC,IAAI,CAACC,OAAO,CAAC,UAACvB,GAAG,EAAEwB,QAAQ;MAC3CR,OAAO,CAACO,OAAO,CAAC,UAACjB,MAAM,EAAEmB,WAAW;QAChC,IAAI;UACA,IAAIC,WAAW,GAAG,IAAI;UAEtB,IAAIR,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAES,MAAM,EAAE;;YAErB,IAAI3B,GAAG,CAAC4B,YAAY,EAAE,EAAE;cACpBF,WAAW,GAAGpB,MAAM,CAACsB,YAAY,EAAE;;;iBAGlC,IAAIV,WAAW,CAACW,QAAQ,CAACvB,MAAM,CAACwB,EAAE,CAAC,EAAE;cACtCJ,WAAW,GAAG,KAAK;;;UAI3B,IAAIpB,MAAM,CAACyB,YAAY,EAAE,IAAIzB,MAAM,CAACC,SAAS,CAACyB,kBAAkB,IAAIN,WAAW,EAAE;YAAA,IAAAO,qBAAA;YAC7E,IAAMtD,SAAS,GAAGuD,GAAG,CAAClC,GAAG,CAACE,QAAQ,EAAEI,MAAM,CAACwB,EAAE,CAAC;YAC9C,IAAM7C,QAAQ,IAAAgD,qBAAA,GAAG3B,MAAM,CAACC,SAAS,CAACC,IAAI,cAAAyB,qBAAA,uBAArBA,qBAAA,CAAuBhD,QAAQ;YAEhD,IAAIF,SAAS,CAACC,WAAW,EAAEL,SAAS,EAAEM,QAAQ,EAAEC,YAAY,CAAC,EAAE;cAC3D6B,OAAO,CAACoB,IAAI,CAAC,CAACX,QAAQ,EAAEC,WAAW,CAAC,CAAC;;;SAGhD,CAAC,OAAOW,CAAC,EAAE;;;OAGf,CAAC;KACL,CAAC;IAEFxB,SAAS,CAACyB,MAAM,CAACC,2BAA2B,CAACvB,OAAO,CAAC;IAErD,IAAIA,OAAO,CAACY,MAAM,EAAE;MAChBb,aAAa,GAAGC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7BH,SAAS,CAACyB,MAAM,CAACE,8BAA8B,CAAC,CAAC,CAAC;KACrD,MAAM;MACH3B,SAAS,CAACyB,MAAM,CAACE,8BAA8B,CAAC7C,SAAS,CAAC;;GAEjE,MAAM;IACHkB,SAAS,CAACyB,MAAM,CAACC,2BAA2B,CAAC,EAAE,CAAC;IAChD1B,SAAS,CAACyB,MAAM,CAACE,8BAA8B,CAAC7C,SAAS,CAAC;;EAG9D,IAAIoB,aAAa,KAAKpB,SAAS,EAAE;IAC7BkB,SAAS,CAAC4B,SAAS,CAACC,iBAAiB,CAAC3B,aAAa,CAAC;;EAGxD,OAAOA,aAAa;AACxB;;;;"}
1
+ {"version":3,"file":"search.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/search.ts"],"sourcesContent":["import { Table as ReactTable, TableMeta as ReactTableMeta, Row as ReactTableRow } from '@tanstack/react-table';\nimport get from 'lodash/get';\nimport { isWeakContains } from './filtering';\nimport { getDataTypeProperties } from './dataTypes';\nimport { TableColumnDataType } from '../../types';\nimport { Localization } from '../../../../components/Provider/Localization';\n\nconst flattenCellValue = (cellValue: object | string) => {\n return typeof cellValue === 'object' ? Object.values(cellValue).map(flattenCellValue) : cellValue;\n};\n\nexport function isMatched<TType = unknown>(\n searchQuery: string,\n cellValue: any,\n dataType: TableColumnDataType | undefined,\n localization: Localization\n) {\n if (typeof cellValue === 'object') {\n return flattenCellValue(cellValue)\n .flat(Infinity)\n .find(y => isWeakContains(y, searchQuery));\n } else {\n const cellValueAsString = String(cellValue ?? '');\n\n if (cellValueAsString !== undefined && isWeakContains(cellValueAsString, searchQuery)) {\n return true;\n } else {\n const dataTypeProperties = getDataTypeProperties<TType>(dataType);\n\n if (dataTypeProperties.getDisplayValue) {\n const cellDisplayValue = dataTypeProperties.getDisplayValue(cellValue, { localization });\n\n if (Array.isArray(cellDisplayValue)) {\n for (const displayValue of cellDisplayValue) {\n if (isWeakContains(displayValue, searchQuery)) {\n return true;\n }\n }\n } else if (cellDisplayValue !== undefined && isWeakContains(cellDisplayValue, searchQuery)) {\n return true;\n }\n }\n }\n }\n\n return false;\n}\n\nexport function globalFilterFn<TType = unknown>(\n row: ReactTableRow<TType>,\n columnId: string,\n searchQuery: string,\n localization: Localization\n) {\n try {\n if (row.original) {\n const cellValue = row.original[columnId];\n const dataType = row._getAllCellsByColumnId()[columnId]?.column.columnDef.meta?.dataType;\n return isMatched(searchQuery, cellValue, dataType, localization);\n }\n } catch {\n // we don't care, just fail silently and return no results\n }\n\n return false;\n}\n\nexport function resetHighlightedColumnIndexes<TType = unknown>(\n searchQuery: string | undefined,\n table: ReactTable<TType>,\n localization: Localization\n) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n let firstRowIndex: undefined | number;\n\n if (searchQuery) {\n const indexes: number[][] = [];\n const columns = table.getVisibleLeafColumns();\n const rowGrouping = table.getState().grouping;\n\n table.getRowModel().rows.forEach((row, rowIndex) => {\n columns.forEach((column, columnIndex) => {\n try {\n let allowSearch = true;\n\n if (rowGrouping?.length) {\n // if it's the grouped row, only allow search of the grouped column - because that's all that's visible\n if (row.getIsGrouped()) {\n allowSearch = column.getIsGrouped();\n }\n // otherwise for other rows, don't search the grouped column - because it isn't visible\n else if (rowGrouping.includes(column.id)) {\n allowSearch = false;\n }\n }\n\n if (column.getIsVisible() && column.columnDef.enableGlobalFilter && allowSearch) {\n const cellValue = get(row.original, column.id);\n const dataType = column.columnDef.meta?.dataType;\n\n if (isMatched(searchQuery, cellValue, dataType, localization)) {\n indexes.push([rowIndex, columnIndex]);\n }\n }\n } catch (e) {\n //\n }\n });\n });\n\n tableMeta.search.setHighlightedColumnIndexes(indexes);\n\n if (indexes.length) {\n firstRowIndex = indexes[0][0];\n tableMeta.search.setCurrentHighlightColumnIndex(0);\n } else {\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n } else {\n tableMeta.search.setHighlightedColumnIndexes([]);\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n\n if (firstRowIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(firstRowIndex);\n }\n\n return firstRowIndex;\n}\n"],"names":["flattenCellValue","cellValue","Object","values","map","isMatched","searchQuery","dataType","localization","flat","Infinity","find","y","isWeakContains","cellValueAsString","String","undefined","dataTypeProperties","getDataTypeProperties","getDisplayValue","cellDisplayValue","Array","isArray","_iterator","_createForOfIteratorHelperLoose","_step","done","displayValue","value","globalFilterFn","row","columnId","original","_row$_getAllCellsByCo","_row$_getAllCellsByCo2","_getAllCellsByColumnId","column","columnDef","meta","_unused","resetHighlightedColumnIndexes","table","tableMeta","options","firstRowIndex","indexes","columns","getVisibleLeafColumns","rowGrouping","getState","grouping","getRowModel","rows","forEach","rowIndex","columnIndex","allowSearch","length","getIsGrouped","includes","id","getIsVisible","enableGlobalFilter","_column$columnDef$met","get","push","e","search","setHighlightedColumnIndexes","setCurrentHighlightColumnIndex","rowActive","setRowActiveIndex"],"mappings":"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"}
@@ -117,10 +117,15 @@ function processChildren(child, columns, defaultSizing, defaultSorting, defaultV
117
117
  };
118
118
  } else if (dataTypeProperties.getDisplayValue) {
119
119
  var dataTypeRenderer = function dataTypeRenderer(value) {
120
- var _dataTypeProperties$g, _dataTypeProperties$g2;
121
- return (_dataTypeProperties$g = (_dataTypeProperties$g2 = dataTypeProperties.getDisplayValue) === null || _dataTypeProperties$g2 === void 0 ? void 0 : _dataTypeProperties$g2.call(dataTypeProperties, value, {
120
+ var _dataTypeProperties$g;
121
+ var displayValue = (_dataTypeProperties$g = dataTypeProperties.getDisplayValue) === null || _dataTypeProperties$g === void 0 ? void 0 : _dataTypeProperties$g.call(dataTypeProperties, value, {
122
122
  localization: localization
123
- })) !== null && _dataTypeProperties$g !== void 0 ? _dataTypeProperties$g : value;
123
+ });
124
+ if (Array.isArray(displayValue)) {
125
+ var _displayValue$;
126
+ return (_displayValue$ = displayValue[0]) !== null && _displayValue$ !== void 0 ? _displayValue$ : value;
127
+ }
128
+ return displayValue !== null && displayValue !== void 0 ? displayValue : value;
124
129
  };
125
130
  column.cell = function (info) {
126
131
  return dataTypeRenderer(info.getValue());
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/setup.ts"],"sourcesContent":["import React from 'react';\nimport {\n createColumnHelper,\n getExpandedRowModel,\n getFilteredRowModel,\n getGroupedRowModel,\n getSortedRowModel,\n TableOptions as ReactTableOptions,\n Row as ReactTableRow,\n Column as ReactTableColumn,\n ColumnDef as ReactTableColumnDef,\n ColumnPinningState as ReactTableColumnPinningState,\n ColumnSizingState as ReactTableColumnSizingState,\n ColumnSort as ReactTableColumnSort,\n TableState as ReactTableState,\n VisibilityState as ReactTableVisibilityState,\n} from '@tanstack/react-table';\nimport get from 'lodash/get';\nimport { useTableManagerInternalColumns, useTableManagerInternalColumn } from '../types';\nimport { TableColumnProps, TableFeatureProps, TableGroupProps, TableProps, TableSettings } from '../../types';\nimport { getSortingFn } from './sorting';\nimport { ensureOrdering, freezeUptoExternalColumn, getCellMinWidth, unfreezeAllExternalColumns } from './columns';\nimport { columnFilterFn } from './filtering';\nimport { globalFilterFn } from './search';\nimport { ignoreInternalColumns } from './settings';\nimport { getDataTypeProperties } from './dataTypes';\nimport { Localization } from '../../../../components/Provider/Localization';\n\n// mapping children to react-table columns\nfunction processChildren<TType>(\n child: React.ReactChild | React.ReactFragment | React.ReactPortal,\n columns: ReactTableColumnDef<TType>[],\n defaultSizing: ReactTableColumnSizingState,\n defaultSorting: ReactTableColumnSort[],\n defaultVisibility: ReactTableVisibilityState,\n settings: TableSettings,\n defaultRowGroupColumnId: keyof TType | undefined,\n localization: Localization\n): ReactTableColumnDef<TType>[] {\n const columnHelper = createColumnHelper<TType>();\n\n if (React.isValidElement<TableGroupProps>(child) && child.props.children) {\n const { children, id, header } = child.props;\n\n columns.push(\n columnHelper.group({\n id,\n header,\n columns: React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n []\n ),\n // we don't want to let column groups be grouped/aggregrated\n enableGrouping: false,\n })\n );\n } else if (React.isValidElement<TableColumnProps<TType>>(child) && (child.props.accessor || child.props.id)) {\n const {\n id: untypedId,\n accessor: accessorKey = untypedId,\n // renderers\n renderer,\n aggregate,\n footer,\n header,\n // options\n aggregationFn,\n defaultHidden,\n defaultWidth,\n enableEditing = !!child.props.control,\n enableFiltering: enableColumnFilter = true,\n enableGrouping = false,\n enableHiding = true,\n enableOrdering = true,\n enablePrinting = true,\n enableResizing = true,\n enableSearch: enableGlobalFilter = true,\n enableSorting = true,\n enableTruncate = false,\n minWidth: minSize = getCellMinWidth(settings.fontSize),\n sort,\n sortFn,\n ...meta\n } = child.props;\n const id = untypedId as string;\n const dataTypeProperties = getDataTypeProperties<TType>(child.props.dataType);\n\n if (defaultHidden && enableHiding) {\n defaultVisibility[id] = false;\n }\n\n if (defaultWidth) {\n defaultSizing[id] = defaultWidth as any;\n }\n\n const isGrouped = defaultRowGroupColumnId === id;\n\n if (child.props.sort !== undefined || isGrouped) {\n defaultSorting.push({\n id,\n desc: sort === 'desc',\n });\n }\n\n const column: ReactTableColumnDef<TType, any> = {\n id,\n accessorKey,\n // To avoid errors caused by undefined row data values, we pass accessorFn as a preventive measure\n // accessorKey can be dot notated strings, so we use lodash.get to access deeply nested children\n accessorFn: row => get(row, accessorKey),\n header: header,\n // features\n enableColumnFilter,\n enableGlobalFilter,\n enableGrouping,\n enableHiding: isGrouped ? false : enableHiding,\n enableResizing,\n enableSorting,\n // config - sizing\n minSize,\n // meta\n meta: {\n ...(meta as any),\n align: meta.align ?? dataTypeProperties.align,\n defaultWidth,\n enableOrdering: isGrouped ? false : enableOrdering,\n enablePrinting,\n enableTruncate,\n enableEditing,\n header,\n renderer,\n },\n };\n\n // renderers - use defined renderers first, then fall back to data type renderers (if there is one)\n if (typeof renderer === 'function') {\n column.cell = info => renderer(info.getValue(), info.row.original);\n } else if (dataTypeProperties.getDisplayValue) {\n const dataTypeRenderer = (value: any) => dataTypeProperties.getDisplayValue?.(value, { localization }) ?? value;\n column.cell = info => dataTypeRenderer(info.getValue());\n (column.meta as any).renderer = dataTypeRenderer;\n }\n\n if (typeof footer === 'function') {\n column.footer = info =>\n footer(info.table.getRowModel().rows.flatMap(row => (row.original !== undefined ? row.original : [])));\n }\n\n // config - filtering\n if (enableColumnFilter) {\n column.filterFn = 'tacoFilter' as any;\n }\n\n // config - grouping/aggregation\n if (enableGrouping) {\n column.aggregationFn = aggregationFn;\n\n if (typeof aggregate === 'function') {\n column.aggregatedCell = info => aggregate(info.getValue(), info.row.original);\n }\n }\n\n // config - sorting\n if (enableSorting) {\n column.sortingFn = getSortingFn<TType>(child.props.dataType, sortFn);\n column.sortDescFirst = false;\n column.sortUndefined = 1;\n }\n\n columns.push(column);\n }\n\n return columns;\n}\n\nfunction createInternalColumn<TType = unknown>(\n id: string,\n column: useTableManagerInternalColumn<TType>,\n defaultSizing: ReactTableColumnSizingState\n) {\n if (column.size) {\n defaultSizing[id] = column.size;\n }\n\n return {\n id,\n accessorKey: id,\n header: column.header,\n cell: column.renderer,\n // features\n enableColumnFilter: false,\n enableGlobalFilter: false,\n enableGrouping: false,\n enableHiding: false,\n enableResizing: false,\n enableSorting: false,\n // config - sizing\n size: column.size,\n minSize: column.size,\n // meta\n meta: {\n ...(column.meta as any),\n enableOrdering: false,\n enablePrinting: false,\n enableTruncate: false,\n },\n } as ReactTableColumnDef<TType, any>;\n}\n\nexport function mapTableChildrenToColumns<TType = unknown>(\n props: TableProps<TType>,\n settings: TableSettings,\n options: TableFeatureProps<TType>,\n internalColumns: useTableManagerInternalColumns<TType> | undefined,\n localization: Localization\n) {\n const { children, defaultRowGroupColumnId } = props;\n const defaultSizing: ReactTableColumnSizingState = {};\n const defaultSorting: ReactTableColumnSort[] = [];\n const defaultVisibility: ReactTableVisibilityState = {};\n\n const columns = React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n\n []\n );\n\n if (internalColumns) {\n if (options.enableRowExpansion && props.rowExpansionRenderer && internalColumns.rowExpansion) {\n const column = createInternalColumn<TType>('__expansion', internalColumns.rowExpansion, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowSelection && internalColumns.rowSelection) {\n const column = createInternalColumn<TType>('__select', internalColumns.rowSelection, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowDrag && props.onRowDrag && internalColumns.rowDrag) {\n const column = createInternalColumn<TType>('__drag', internalColumns.rowDrag, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowActions && props.rowActions?.length && internalColumns.rowActions) {\n const column = createInternalColumn<TType>('__actions', internalColumns.rowActions, defaultSizing);\n columns.push(column);\n }\n }\n\n return { columns, defaultSizing, defaultSorting, defaultVisibility };\n}\n\nexport function configureReactTableOptions<TType = unknown>(\n options: TableFeatureProps<TType>,\n props: TableProps<TType>,\n localization: Localization\n) {\n // We don't want to expose internal Tanstack Table row, so we need to wrap enableRowSelection callback into additional function,\n // which receives the React Table Row object and passes row.original to a callback.\n const reactTableEnableRowSelection =\n typeof options.enableRowSelection === 'function'\n ? (row: ReactTableRow<TType>) => (options.enableRowSelection as (row: TType) => boolean)(row.original)\n : options.enableRowSelection;\n\n let getRowId;\n\n if (props.rowIdentityAccessor) {\n getRowId = (originalRow: TType | undefined, index: number) => {\n if (originalRow) {\n return String(originalRow[props.rowIdentityAccessor as string]);\n }\n\n return String(index);\n };\n }\n\n const tableOptions: Partial<ReactTableOptions<TType>> = {\n defaultColumn: {\n enableColumnFilter: options.enableFiltering || true,\n enableGrouping: false,\n enableHiding: options.enableColumnHiding || true,\n enableResizing: options.enableColumnResizing || true,\n enableGlobalFilter: options.enableSearch || true,\n enableSorting: options.enableSorting || true,\n minSize: 1,\n // the default is 150, which is a bit random\n size: 1,\n },\n enableColumnFilters: options.enableFiltering ?? false,\n enableColumnResizing: options.enableColumnResizing ?? false,\n enableExpanding: options.enableRowExpansion ?? false,\n enableGrouping: true, // users can't customise row grouping, so it can just be always enabled and left to the defaultRowGroupColumnId prop\n enableHiding: options.enableColumnHiding ?? false,\n enablePinning: options.enableColumnFreezing ?? false,\n enableRowPinning: true, // users can't customise row pinning, so it can just be always enabled\n enableRowSelection: reactTableEnableRowSelection ?? false,\n enableSorting: options.enableSorting ?? false,\n // models for default features\n getExpandedRowModel: getExpandedRowModel<TType>(),\n getGroupedRowModel: getGroupedRowModel<TType>(),\n getRowId,\n groupedColumnMode: false,\n };\n\n if (tableOptions.enableColumnResizing) {\n tableOptions.columnResizeMode = 'onChange';\n }\n\n if (tableOptions.enableColumnFilters) {\n // enter controlled filter mode (controlled could be local state, but usually the server)\n if (props.onChangeFilter) {\n // tableOptions.manualFiltering = true;\n // we don't set it because it breaks global filtering (used for search, which is fully client side)\n //\n // tableOptions.onColumnFiltersChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onFilter\n } else {\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.filterFns = {\n tacoFilter: (row: ReactTableRow<TType>, columnId: string, filter: any) =>\n columnFilterFn(row.getValue(columnId), filter),\n };\n }\n }\n\n if (options.enableSearch) {\n // always set these because enableGlobalFilter can be toggled on and off by the user\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.globalFilterFn = (row: ReactTableRow<TType>, columnId: string, searchQuery: any) =>\n globalFilterFn(row, columnId, searchQuery, localization);\n tableOptions.getColumnCanGlobalFilter = (column: ReactTableColumn<TType>) =>\n column.columnDef.meta?.enableSearch !== false && column.getIsVisible();\n\n // enter controlled search mode (controlled could be local state, but usually the server)\n if (props.onChangeSearch) {\n if (props._experimentalDataLoader2) {\n tableOptions.manualFiltering = true;\n } else {\n // tableOptions.manualFiltering = true;\n // we don't set this because controlled search is not currently supported, search is always client side\n //\n // tableOptions.onGlobalFilterChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSearch.\n //\n // we also don't always filter when searching, we have the highlight functionality as the default\n // and filtering can be toggled by the user\n }\n }\n }\n\n if (tableOptions.enableSorting) {\n // enter controlled sort mode (controlled could be local state, but usually the server)\n if (props.onChangeSort) {\n tableOptions.manualSorting = true;\n\n // tableOptions.onSortingChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSort\n } else {\n tableOptions.getSortedRowModel = getSortedRowModel();\n }\n }\n\n return tableOptions;\n}\n\nexport function useReactTableInitialState<TType = unknown>(\n props: TableProps<TType>,\n columns: ReactTableColumnDef<TType>[],\n persistedSettings: TableSettings,\n defaults: {\n defaultSizing: ReactTableColumnSizingState;\n defaultSorting: ReactTableColumnSort[];\n defaultVisibility: ReactTableVisibilityState;\n }\n): Partial<ReactTableState> {\n return React.useMemo(() => {\n const ignoreNotDefinedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n const columnPinning: ReactTableColumnPinningState =\n persistedSettings.columnPinning ?? props.defaultSettings?.columnPinning ?? {};\n\n const columnOrder = ensureOrdering<TType>(\n columns,\n persistedSettings.columnOrder ?? props.defaultSettings?.columnOrder,\n columnPinning.left\n );\n\n // ensure internal columns are pinned, and are pinned in the correct order\n if (columnPinning?.left?.length) {\n columnPinning.left = freezeUptoExternalColumn(\n columnOrder.indexOf(columnPinning.left[columnPinning.left.length - 1]),\n columnOrder\n );\n } else {\n if (props.defaultColumnFreezingIndex) {\n columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);\n } else {\n columnPinning.left = unfreezeAllExternalColumns(columnOrder);\n }\n }\n\n const state: Partial<ReactTableState> = {\n columnFilters: persistedSettings.columnFilters ?? props.defaultSettings?.columnFilters ?? [],\n columnOrder,\n columnPinning,\n columnSizing: ignoreInternalColumns(\n persistedSettings.columnSizing ?? props.defaultSettings?.columnSizing ?? defaults.defaultSizing ?? {}\n ),\n columnVisibility:\n persistedSettings.columnVisibility ?? props.defaultSettings?.columnVisibility ?? defaults.defaultVisibility ?? {},\n globalFilter: persistedSettings.searchQuery ?? props.defaultSettings?.searchQuery,\n sorting: persistedSettings.sorting\n ? persistedSettings.sorting.filter(ignoreNotDefinedColumns)\n : props.defaultSettings?.sorting ?? defaults.defaultSorting,\n };\n\n if (props.defaultRowGroupColumnId) {\n state.grouping = [props.defaultRowGroupColumnId as string];\n // row groups should (all) always be expanded by default\n state.expanded = true;\n }\n\n return state;\n }, []);\n}\n"],"names":["processChildren","child","columns","defaultSizing","defaultSorting","defaultVisibility","settings","defaultRowGroupColumnId","localization","columnHelper","createColumnHelper","React","isValidElement","props","children","_child$props","id","header","push","group","Children","toArray","reduce","enableGrouping","accessor","_meta$align","_child$props2","untypedId","_child$props2$accesso","accessorKey","renderer","aggregate","footer","aggregationFn","defaultHidden","defaultWidth","_child$props2$enableE","enableEditing","control","_child$props2$enableF","enableFiltering","enableColumnFilter","_child$props2$enableG","_child$props2$enableH","enableHiding","_child$props2$enableO","enableOrdering","_child$props2$enableP","enablePrinting","_child$props2$enableR","enableResizing","_child$props2$enableS","enableSearch","enableGlobalFilter","_child$props2$enableS2","enableSorting","_child$props2$enableT","enableTruncate","_child$props2$minWidt","minWidth","minSize","getCellMinWidth","fontSize","sort","sortFn","meta","_objectWithoutPropertiesLoose","_excluded","dataTypeProperties","getDataTypeProperties","dataType","isGrouped","undefined","desc","column","accessorFn","row","get","_extends","align","cell","info","getValue","original","getDisplayValue","dataTypeRenderer","value","_dataTypeProperties$g","_dataTypeProperties$g2","call","table","getRowModel","rows","flatMap","filterFn","aggregatedCell","sortingFn","getSortingFn","sortDescFirst","sortUndefined","createInternalColumn","size","mapTableChildrenToColumns","options","internalColumns","_props$rowActions","enableRowExpansion","rowExpansionRenderer","rowExpansion","unshift","enableRowSelection","rowSelection","enableRowDrag","onRowDrag","rowDrag","enableRowActions","rowActions","length","configureReactTableOptions","reactTableEnableRowSelection","getRowId","rowIdentityAccessor","originalRow","index","String","tableOptions","defaultColumn","enableColumnHiding","enableColumnResizing","enableColumnFilters","_options$enableFilter","_options$enableColumn","enableExpanding","_options$enableRowExp","_options$enableColumn2","enablePinning","_options$enableColumn3","enableColumnFreezing","enableRowPinning","_options$enableSortin","getExpandedRowModel","getGroupedRowModel","groupedColumnMode","columnResizeMode","onChangeFilter","getFilteredRowModel","filterFns","tacoFilter","columnId","filter","columnFilterFn","globalFilterFn","searchQuery","getColumnCanGlobalFilter","_column$columnDef$met","columnDef","getIsVisible","onChangeSearch","_experimentalDataLoader2","manualFiltering","onChangeSort","manualSorting","getSortedRowModel","useReactTableInitialState","persistedSettings","defaults","useMemo","ignoreNotDefinedColumns","find","definedColumn","columnPinning","_ref","_persistedSettings$co","_props$defaultSetting","defaultSettings","columnOrder","ensureOrdering","_persistedSettings$co2","_props$defaultSetting2","left","_columnPinning$left","freezeUptoExternalColumn","indexOf","defaultColumnFreezingIndex","unfreezeAllExternalColumns","state","columnFilters","_ref2","_persistedSettings$co3","_props$defaultSetting3","columnSizing","ignoreInternalColumns","_ref3","_ref4","_persistedSettings$co4","_props$defaultSetting4","columnVisibility","_ref5","_ref6","_persistedSettings$co5","_props$defaultSetting5","globalFilter","_persistedSettings$se","_props$defaultSetting6","sorting","_props$defaultSetting7","_props$defaultSetting8","grouping","expanded"],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/setup.ts"],"sourcesContent":["import React from 'react';\nimport {\n createColumnHelper,\n getExpandedRowModel,\n getFilteredRowModel,\n getGroupedRowModel,\n getSortedRowModel,\n TableOptions as ReactTableOptions,\n Row as ReactTableRow,\n Column as ReactTableColumn,\n ColumnDef as ReactTableColumnDef,\n ColumnPinningState as ReactTableColumnPinningState,\n ColumnSizingState as ReactTableColumnSizingState,\n ColumnSort as ReactTableColumnSort,\n TableState as ReactTableState,\n VisibilityState as ReactTableVisibilityState,\n} from '@tanstack/react-table';\nimport get from 'lodash/get';\nimport { useTableManagerInternalColumns, useTableManagerInternalColumn } from '../types';\nimport { TableColumnProps, TableFeatureProps, TableGroupProps, TableProps, TableSettings } from '../../types';\nimport { getSortingFn } from './sorting';\nimport { ensureOrdering, freezeUptoExternalColumn, getCellMinWidth, unfreezeAllExternalColumns } from './columns';\nimport { columnFilterFn } from './filtering';\nimport { globalFilterFn } from './search';\nimport { ignoreInternalColumns } from './settings';\nimport { getDataTypeProperties } from './dataTypes';\nimport { Localization } from '../../../../components/Provider/Localization';\n\n// mapping children to react-table columns\nfunction processChildren<TType>(\n child: React.ReactChild | React.ReactFragment | React.ReactPortal,\n columns: ReactTableColumnDef<TType>[],\n defaultSizing: ReactTableColumnSizingState,\n defaultSorting: ReactTableColumnSort[],\n defaultVisibility: ReactTableVisibilityState,\n settings: TableSettings,\n defaultRowGroupColumnId: keyof TType | undefined,\n localization: Localization\n): ReactTableColumnDef<TType>[] {\n const columnHelper = createColumnHelper<TType>();\n\n if (React.isValidElement<TableGroupProps>(child) && child.props.children) {\n const { children, id, header } = child.props;\n\n columns.push(\n columnHelper.group({\n id,\n header,\n columns: React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n []\n ),\n // we don't want to let column groups be grouped/aggregrated\n enableGrouping: false,\n })\n );\n } else if (React.isValidElement<TableColumnProps<TType>>(child) && (child.props.accessor || child.props.id)) {\n const {\n id: untypedId,\n accessor: accessorKey = untypedId,\n // renderers\n renderer,\n aggregate,\n footer,\n header,\n // options\n aggregationFn,\n defaultHidden,\n defaultWidth,\n enableEditing = !!child.props.control,\n enableFiltering: enableColumnFilter = true,\n enableGrouping = false,\n enableHiding = true,\n enableOrdering = true,\n enablePrinting = true,\n enableResizing = true,\n enableSearch: enableGlobalFilter = true,\n enableSorting = true,\n enableTruncate = false,\n minWidth: minSize = getCellMinWidth(settings.fontSize),\n sort,\n sortFn,\n ...meta\n } = child.props;\n const id = untypedId as string;\n const dataTypeProperties = getDataTypeProperties<TType>(child.props.dataType);\n\n if (defaultHidden && enableHiding) {\n defaultVisibility[id] = false;\n }\n\n if (defaultWidth) {\n defaultSizing[id] = defaultWidth as any;\n }\n\n const isGrouped = defaultRowGroupColumnId === id;\n\n if (child.props.sort !== undefined || isGrouped) {\n defaultSorting.push({\n id,\n desc: sort === 'desc',\n });\n }\n\n const column: ReactTableColumnDef<TType, any> = {\n id,\n accessorKey,\n // To avoid errors caused by undefined row data values, we pass accessorFn as a preventive measure\n // accessorKey can be dot notated strings, so we use lodash.get to access deeply nested children\n accessorFn: row => get(row, accessorKey),\n header: header,\n // features\n enableColumnFilter,\n enableGlobalFilter,\n enableGrouping,\n enableHiding: isGrouped ? false : enableHiding,\n enableResizing,\n enableSorting,\n // config - sizing\n minSize,\n // meta\n meta: {\n ...(meta as any),\n align: meta.align ?? dataTypeProperties.align,\n defaultWidth,\n enableOrdering: isGrouped ? false : enableOrdering,\n enablePrinting,\n enableTruncate,\n enableEditing,\n header,\n renderer,\n },\n };\n\n // renderers - use defined renderers first, then fall back to data type renderers (if there is one)\n if (typeof renderer === 'function') {\n column.cell = info => renderer(info.getValue(), info.row.original);\n } else if (dataTypeProperties.getDisplayValue) {\n const dataTypeRenderer = (value: any) => {\n const displayValue = dataTypeProperties.getDisplayValue?.(value, { localization });\n\n if (Array.isArray(displayValue)) {\n return displayValue[0] ?? value;\n }\n\n return displayValue ?? value;\n };\n column.cell = info => dataTypeRenderer(info.getValue());\n (column.meta as any).renderer = dataTypeRenderer;\n }\n\n if (typeof footer === 'function') {\n column.footer = info =>\n footer(info.table.getRowModel().rows.flatMap(row => (row.original !== undefined ? row.original : [])));\n }\n\n // config - filtering\n if (enableColumnFilter) {\n column.filterFn = 'tacoFilter' as any;\n }\n\n // config - grouping/aggregation\n if (enableGrouping) {\n column.aggregationFn = aggregationFn;\n\n if (typeof aggregate === 'function') {\n column.aggregatedCell = info => aggregate(info.getValue(), info.row.original);\n }\n }\n\n // config - sorting\n if (enableSorting) {\n column.sortingFn = getSortingFn<TType>(child.props.dataType, sortFn);\n column.sortDescFirst = false;\n column.sortUndefined = 1;\n }\n\n columns.push(column);\n }\n\n return columns;\n}\n\nfunction createInternalColumn<TType = unknown>(\n id: string,\n column: useTableManagerInternalColumn<TType>,\n defaultSizing: ReactTableColumnSizingState\n) {\n if (column.size) {\n defaultSizing[id] = column.size;\n }\n\n return {\n id,\n accessorKey: id,\n header: column.header,\n cell: column.renderer,\n // features\n enableColumnFilter: false,\n enableGlobalFilter: false,\n enableGrouping: false,\n enableHiding: false,\n enableResizing: false,\n enableSorting: false,\n // config - sizing\n size: column.size,\n minSize: column.size,\n // meta\n meta: {\n ...(column.meta as any),\n enableOrdering: false,\n enablePrinting: false,\n enableTruncate: false,\n },\n } as ReactTableColumnDef<TType, any>;\n}\n\nexport function mapTableChildrenToColumns<TType = unknown>(\n props: TableProps<TType>,\n settings: TableSettings,\n options: TableFeatureProps<TType>,\n internalColumns: useTableManagerInternalColumns<TType> | undefined,\n localization: Localization\n) {\n const { children, defaultRowGroupColumnId } = props;\n const defaultSizing: ReactTableColumnSizingState = {};\n const defaultSorting: ReactTableColumnSort[] = [];\n const defaultVisibility: ReactTableVisibilityState = {};\n\n const columns = React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId,\n localization\n ),\n\n []\n );\n\n if (internalColumns) {\n if (options.enableRowExpansion && props.rowExpansionRenderer && internalColumns.rowExpansion) {\n const column = createInternalColumn<TType>('__expansion', internalColumns.rowExpansion, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowSelection && internalColumns.rowSelection) {\n const column = createInternalColumn<TType>('__select', internalColumns.rowSelection, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowDrag && props.onRowDrag && internalColumns.rowDrag) {\n const column = createInternalColumn<TType>('__drag', internalColumns.rowDrag, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowActions && props.rowActions?.length && internalColumns.rowActions) {\n const column = createInternalColumn<TType>('__actions', internalColumns.rowActions, defaultSizing);\n columns.push(column);\n }\n }\n\n return { columns, defaultSizing, defaultSorting, defaultVisibility };\n}\n\nexport function configureReactTableOptions<TType = unknown>(\n options: TableFeatureProps<TType>,\n props: TableProps<TType>,\n localization: Localization\n) {\n // We don't want to expose internal Tanstack Table row, so we need to wrap enableRowSelection callback into additional function,\n // which receives the React Table Row object and passes row.original to a callback.\n const reactTableEnableRowSelection =\n typeof options.enableRowSelection === 'function'\n ? (row: ReactTableRow<TType>) => (options.enableRowSelection as (row: TType) => boolean)(row.original)\n : options.enableRowSelection;\n\n let getRowId;\n\n if (props.rowIdentityAccessor) {\n getRowId = (originalRow: TType | undefined, index: number) => {\n if (originalRow) {\n return String(originalRow[props.rowIdentityAccessor as string]);\n }\n\n return String(index);\n };\n }\n\n const tableOptions: Partial<ReactTableOptions<TType>> = {\n defaultColumn: {\n enableColumnFilter: options.enableFiltering || true,\n enableGrouping: false,\n enableHiding: options.enableColumnHiding || true,\n enableResizing: options.enableColumnResizing || true,\n enableGlobalFilter: options.enableSearch || true,\n enableSorting: options.enableSorting || true,\n minSize: 1,\n // the default is 150, which is a bit random\n size: 1,\n },\n enableColumnFilters: options.enableFiltering ?? false,\n enableColumnResizing: options.enableColumnResizing ?? false,\n enableExpanding: options.enableRowExpansion ?? false,\n enableGrouping: true, // users can't customise row grouping, so it can just be always enabled and left to the defaultRowGroupColumnId prop\n enableHiding: options.enableColumnHiding ?? false,\n enablePinning: options.enableColumnFreezing ?? false,\n enableRowPinning: true, // users can't customise row pinning, so it can just be always enabled\n enableRowSelection: reactTableEnableRowSelection ?? false,\n enableSorting: options.enableSorting ?? false,\n // models for default features\n getExpandedRowModel: getExpandedRowModel<TType>(),\n getGroupedRowModel: getGroupedRowModel<TType>(),\n getRowId,\n groupedColumnMode: false,\n };\n\n if (tableOptions.enableColumnResizing) {\n tableOptions.columnResizeMode = 'onChange';\n }\n\n if (tableOptions.enableColumnFilters) {\n // enter controlled filter mode (controlled could be local state, but usually the server)\n if (props.onChangeFilter) {\n // tableOptions.manualFiltering = true;\n // we don't set it because it breaks global filtering (used for search, which is fully client side)\n //\n // tableOptions.onColumnFiltersChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onFilter\n } else {\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.filterFns = {\n tacoFilter: (row: ReactTableRow<TType>, columnId: string, filter: any) =>\n columnFilterFn(row.getValue(columnId), filter),\n };\n }\n }\n\n if (options.enableSearch) {\n // always set these because enableGlobalFilter can be toggled on and off by the user\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.globalFilterFn = (row: ReactTableRow<TType>, columnId: string, searchQuery: any) =>\n globalFilterFn(row, columnId, searchQuery, localization);\n tableOptions.getColumnCanGlobalFilter = (column: ReactTableColumn<TType>) =>\n column.columnDef.meta?.enableSearch !== false && column.getIsVisible();\n\n // enter controlled search mode (controlled could be local state, but usually the server)\n if (props.onChangeSearch) {\n if (props._experimentalDataLoader2) {\n tableOptions.manualFiltering = true;\n } else {\n // tableOptions.manualFiltering = true;\n // we don't set this because controlled search is not currently supported, search is always client side\n //\n // tableOptions.onGlobalFilterChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSearch.\n //\n // we also don't always filter when searching, we have the highlight functionality as the default\n // and filtering can be toggled by the user\n }\n }\n }\n\n if (tableOptions.enableSorting) {\n // enter controlled sort mode (controlled could be local state, but usually the server)\n if (props.onChangeSort) {\n tableOptions.manualSorting = true;\n\n // tableOptions.onSortingChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSort\n } else {\n tableOptions.getSortedRowModel = getSortedRowModel();\n }\n }\n\n return tableOptions;\n}\n\nexport function useReactTableInitialState<TType = unknown>(\n props: TableProps<TType>,\n columns: ReactTableColumnDef<TType>[],\n persistedSettings: TableSettings,\n defaults: {\n defaultSizing: ReactTableColumnSizingState;\n defaultSorting: ReactTableColumnSort[];\n defaultVisibility: ReactTableVisibilityState;\n }\n): Partial<ReactTableState> {\n return React.useMemo(() => {\n const ignoreNotDefinedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n const columnPinning: ReactTableColumnPinningState =\n persistedSettings.columnPinning ?? props.defaultSettings?.columnPinning ?? {};\n\n const columnOrder = ensureOrdering<TType>(\n columns,\n persistedSettings.columnOrder ?? props.defaultSettings?.columnOrder,\n columnPinning.left\n );\n\n // ensure internal columns are pinned, and are pinned in the correct order\n if (columnPinning?.left?.length) {\n columnPinning.left = freezeUptoExternalColumn(\n columnOrder.indexOf(columnPinning.left[columnPinning.left.length - 1]),\n columnOrder\n );\n } else {\n if (props.defaultColumnFreezingIndex) {\n columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);\n } else {\n columnPinning.left = unfreezeAllExternalColumns(columnOrder);\n }\n }\n\n const state: Partial<ReactTableState> = {\n columnFilters: persistedSettings.columnFilters ?? props.defaultSettings?.columnFilters ?? [],\n columnOrder,\n columnPinning,\n columnSizing: ignoreInternalColumns(\n persistedSettings.columnSizing ?? props.defaultSettings?.columnSizing ?? defaults.defaultSizing ?? {}\n ),\n columnVisibility:\n persistedSettings.columnVisibility ?? props.defaultSettings?.columnVisibility ?? defaults.defaultVisibility ?? {},\n globalFilter: persistedSettings.searchQuery ?? props.defaultSettings?.searchQuery,\n sorting: persistedSettings.sorting\n ? persistedSettings.sorting.filter(ignoreNotDefinedColumns)\n : props.defaultSettings?.sorting ?? defaults.defaultSorting,\n };\n\n if (props.defaultRowGroupColumnId) {\n state.grouping = [props.defaultRowGroupColumnId as string];\n // row groups should (all) always be expanded by default\n state.expanded = true;\n }\n\n return state;\n }, []);\n}\n"],"names":["processChildren","child","columns","defaultSizing","defaultSorting","defaultVisibility","settings","defaultRowGroupColumnId","localization","columnHelper","createColumnHelper","React","isValidElement","props","children","_child$props","id","header","push","group","Children","toArray","reduce","enableGrouping","accessor","_meta$align","_child$props2","untypedId","_child$props2$accesso","accessorKey","renderer","aggregate","footer","aggregationFn","defaultHidden","defaultWidth","_child$props2$enableE","enableEditing","control","_child$props2$enableF","enableFiltering","enableColumnFilter","_child$props2$enableG","_child$props2$enableH","enableHiding","_child$props2$enableO","enableOrdering","_child$props2$enableP","enablePrinting","_child$props2$enableR","enableResizing","_child$props2$enableS","enableSearch","enableGlobalFilter","_child$props2$enableS2","enableSorting","_child$props2$enableT","enableTruncate","_child$props2$minWidt","minWidth","minSize","getCellMinWidth","fontSize","sort","sortFn","meta","_objectWithoutPropertiesLoose","_excluded","dataTypeProperties","getDataTypeProperties","dataType","isGrouped","undefined","desc","column","accessorFn","row","get","_extends","align","cell","info","getValue","original","getDisplayValue","dataTypeRenderer","value","displayValue","_dataTypeProperties$g","call","Array","isArray","_displayValue$","table","getRowModel","rows","flatMap","filterFn","aggregatedCell","sortingFn","getSortingFn","sortDescFirst","sortUndefined","createInternalColumn","size","mapTableChildrenToColumns","options","internalColumns","_props$rowActions","enableRowExpansion","rowExpansionRenderer","rowExpansion","unshift","enableRowSelection","rowSelection","enableRowDrag","onRowDrag","rowDrag","enableRowActions","rowActions","length","configureReactTableOptions","reactTableEnableRowSelection","getRowId","rowIdentityAccessor","originalRow","index","String","tableOptions","defaultColumn","enableColumnHiding","enableColumnResizing","enableColumnFilters","_options$enableFilter","_options$enableColumn","enableExpanding","_options$enableRowExp","_options$enableColumn2","enablePinning","_options$enableColumn3","enableColumnFreezing","enableRowPinning","_options$enableSortin","getExpandedRowModel","getGroupedRowModel","groupedColumnMode","columnResizeMode","onChangeFilter","getFilteredRowModel","filterFns","tacoFilter","columnId","filter","columnFilterFn","globalFilterFn","searchQuery","getColumnCanGlobalFilter","_column$columnDef$met","columnDef","getIsVisible","onChangeSearch","_experimentalDataLoader2","manualFiltering","onChangeSort","manualSorting","getSortedRowModel","useReactTableInitialState","persistedSettings","defaults","useMemo","ignoreNotDefinedColumns","find","definedColumn","columnPinning","_ref","_persistedSettings$co","_props$defaultSetting","defaultSettings","columnOrder","ensureOrdering","_persistedSettings$co2","_props$defaultSetting2","left","_columnPinning$left","freezeUptoExternalColumn","indexOf","defaultColumnFreezingIndex","unfreezeAllExternalColumns","state","columnFilters","_ref2","_persistedSettings$co3","_props$defaultSetting3","columnSizing","ignoreInternalColumns","_ref3","_ref4","_persistedSettings$co4","_props$defaultSetting4","columnVisibility","_ref5","_ref6","_persistedSettings$co5","_props$defaultSetting5","globalFilter","_persistedSettings$se","_props$defaultSetting6","sorting","_props$defaultSetting7","_props$defaultSetting8","grouping","expanded"],"mappings":"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"}
@@ -86,7 +86,15 @@ function isElementInteractive(element) {
86
86
  if (!element) {
87
87
  return false;
88
88
  }
89
- return ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'LABEL', 'OPTION'].includes(element.tagName) && !element.hidden && !element.disabled && !element.readOnly;
89
+ var interactiveElements = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'LABEL', 'OPTION'];
90
+ var isInteractive = interactiveElements.includes(element.tagName) && !element.hidden && !element.disabled && !element.readOnly;
91
+ // sometimes buttons contain content like an icon, and we can't rely on pointer events being disabled
92
+ // so search for a focusable parent
93
+ if (!isInteractive) {
94
+ var focusableParent = element.closest(FOCUSABLE_ELEMENTS.join(','));
95
+ return focusableParent ? interactiveElements.includes(focusableParent.tagName) : false;
96
+ }
97
+ return isInteractive;
90
98
  }
91
99
  function isElementInsideTable3OrReport(element) {
92
100
  return !!(element !== null && element !== void 0 && element.closest('[data-taco^=table]'));
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sources":["../../../../../../src/utils/dom.ts"],"sourcesContent":["// taken from react-aria\nconst FOCUSABLE_ELEMENTS = [\n '[tabindex]:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]',\n 'details:not([disabled])',\n 'summary:not(:disabled)',\n];\n\nexport const hasFocusableElement = (element: HTMLElement | null) => {\n if (!element) {\n return null;\n }\n\n return !!element.querySelector(FOCUSABLE_ELEMENTS.join(','));\n};\n\nexport const isOverflowing = (element: HTMLElement | null) =>\n element !== null ? element.scrollWidth > element.offsetWidth : false;\n\nexport const getIndexOfFirstChildOverflowingParent = (element: HTMLElement, overscan = 0) => {\n let index = 0;\n let boundaryChildIndex: number | null = null;\n const clientRect = element.getBoundingClientRect();\n\n for (const child of Array.from(element.children)) {\n const right = child.getBoundingClientRect().right - clientRect.left;\n const width = clientRect.width - overscan;\n\n if (right > width) {\n boundaryChildIndex = index;\n break;\n }\n index++;\n }\n\n return boundaryChildIndex;\n};\n\nexport const getNextFocussableElement = (currentElement: HTMLElement | null) => {\n if (!currentElement) {\n return null;\n }\n\n let focussableElements = [...document.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENTS.join(','))];\n const currentElementIndex = focussableElements.indexOf(currentElement);\n\n if (currentElementIndex > -1) {\n focussableElements = focussableElements\n .slice(currentElementIndex + 1)\n .filter(element => element.getAttribute('tabindex') !== '-1');\n\n if (focussableElements.length) {\n focussableElements = focussableElements.filter(element => (element as any).checkVisibility?.() ?? true);\n return focussableElements[0] ?? null;\n }\n }\n\n return null;\n};\n\nconst getOverlaySelector = (element: Element | null) => {\n switch (element?.getAttribute('role')) {\n case 'dialog':\n return `[aria-controls='${element.id}']`;\n\n case 'menu':\n return `#${element.getAttribute('aria-labelledby')}`;\n\n default:\n return undefined;\n }\n};\n\nexport function isElementTriggeredFromContainer(element: Element | null, container: Element | null) {\n const selector = getOverlaySelector(element) ?? getOverlaySelector(element?.closest('[role=dialog],[role=menu]') ?? null);\n\n if (selector) {\n if (container?.querySelector(selector)) {\n return true;\n }\n\n const elementInDocument = document.querySelector(selector);\n\n // if the element does exist, see if it is itself connected to somethng that was triggered from the container\n if (elementInDocument) {\n return isElementTriggeredFromContainer(elementInDocument, container);\n }\n\n return false;\n }\n\n return false;\n}\n\nexport function isElementInsideOrTriggeredFromContainer(element: Element | null, container: Element | null) {\n return isElementTriggeredFromContainer(element, container) || !!container?.contains(element);\n}\n\nexport function isElementInsideOverlay(element: Element | null) {\n return !!element?.closest('[role=dialog],[role=menu]');\n}\n\nexport function isSiblingElementInsideSameParentOverlay(element: Element | null, sibling: Element | null) {\n return !!element?.closest('[role=dialog],[role=menu]')?.contains(sibling);\n}\n\nexport function isElementInteractive(element: Element | null) {\n if (!element) {\n return false;\n }\n\n return (\n ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'LABEL', 'OPTION'].includes(element.tagName) &&\n !(element as HTMLElement).hidden &&\n !(element as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement).disabled &&\n !(element as HTMLInputElement | HTMLTextAreaElement).readOnly\n );\n}\n\nexport function isElementInsideTable3OrReport(element: Element | null) {\n return !!element?.closest('[data-taco^=table]');\n}\n\nexport function setDataFocusAttribute(target: Element) {\n target.setAttribute('data-focus', 'programmatic');\n\n const cleanup = () => {\n target.removeAttribute('data-focus');\n target.removeEventListener('blur', cleanup);\n };\n\n target.addEventListener('blur', cleanup);\n}\n"],"names":["FOCUSABLE_ELEMENTS","hasFocusableElement","element","querySelector","join","getIndexOfFirstChildOverflowingParent","overscan","index","boundaryChildIndex","clientRect","getBoundingClientRect","_i","_Array$from","Array","from","children","length","child","right","left","width","getNextFocussableElement","currentElement","focussableElements","concat","document","querySelectorAll","currentElementIndex","indexOf","slice","filter","getAttribute","_focussableElements$","_element$checkVisibil","_element$checkVisibil2","checkVisibility","call","getOverlaySelector","id","undefined","isElementTriggeredFromContainer","container","selector","_getOverlaySelector","_element$closest","closest","elementInDocument","isElementInsideOrTriggeredFromContainer","contains","isElementInsideOverlay","isSiblingElementInsideSameParentOverlay","sibling","_element$closest2","isElementInteractive","includes","tagName","hidden","disabled","readOnly","isElementInsideTable3OrReport","setDataFocusAttribute","target","setAttribute","cleanup","removeAttribute","removeEventListener","addEventListener"],"mappings":"AAAA;AACA,IAAMA,kBAAkB,GAAG,CACvB,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,SAAS,EACT,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,CAC3B;IAEYC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,OAA2B;EAC3D,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,IAAI;;EAGf,OAAO,CAAC,CAACA,OAAO,CAACC,aAAa,CAACH,kBAAkB,CAACI,IAAI,CAAC,GAAG,CAAC,CAAC;AAChE;IAKaC,qCAAqC,GAAG,SAAxCA,qCAAqCA,CAAIH,OAAoB,EAAEI,QAAQ;MAARA,QAAQ;IAARA,QAAQ,GAAG,CAAC;;EACpF,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,kBAAkB,GAAkB,IAAI;EAC5C,IAAMC,UAAU,GAAGP,OAAO,CAACQ,qBAAqB,EAAE;EAElD,SAAAC,EAAA,MAAAC,WAAA,GAAoBC,KAAK,CAACC,IAAI,CAACZ,OAAO,CAACa,QAAQ,CAAC,EAAAJ,EAAA,GAAAC,WAAA,CAAAI,MAAA,EAAAL,EAAA,IAAE;IAA7C,IAAMM,KAAK,GAAAL,WAAA,CAAAD,EAAA;IACZ,IAAMO,KAAK,GAAGD,KAAK,CAACP,qBAAqB,EAAE,CAACQ,KAAK,GAAGT,UAAU,CAACU,IAAI;IACnE,IAAMC,KAAK,GAAGX,UAAU,CAACW,KAAK,GAAGd,QAAQ;IAEzC,IAAIY,KAAK,GAAGE,KAAK,EAAE;MACfZ,kBAAkB,GAAGD,KAAK;MAC1B;;IAEJA,KAAK,EAAE;;EAGX,OAAOC,kBAAkB;AAC7B;IAEaa,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,cAAkC;EACvE,IAAI,CAACA,cAAc,EAAE;IACjB,OAAO,IAAI;;EAGf,IAAIC,kBAAkB,MAAAC,MAAA,CAAOC,QAAQ,CAACC,gBAAgB,CAAc1B,kBAAkB,CAACI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;EAClG,IAAMuB,mBAAmB,GAAGJ,kBAAkB,CAACK,OAAO,CAACN,cAAc,CAAC;EAEtE,IAAIK,mBAAmB,GAAG,CAAC,CAAC,EAAE;IAC1BJ,kBAAkB,GAAGA,kBAAkB,CAClCM,KAAK,CAACF,mBAAmB,GAAG,CAAC,CAAC,CAC9BG,MAAM,CAAC,UAAA5B,OAAO;MAAA,OAAIA,OAAO,CAAC6B,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI;MAAC;IAEjE,IAAIR,kBAAkB,CAACP,MAAM,EAAE;MAAA,IAAAgB,oBAAA;MAC3BT,kBAAkB,GAAGA,kBAAkB,CAACO,MAAM,CAAC,UAAA5B,OAAO;QAAA,IAAA+B,qBAAA,EAAAC,sBAAA;QAAA,QAAAD,qBAAA,IAAAC,sBAAA,GAAKhC,OAAe,CAACiC,eAAe,cAAAD,sBAAA,uBAA/BA,sBAAA,CAAAE,IAAA,CAAAlC,QAAmC,cAAA+B,qBAAA,cAAAA,qBAAA,GAAI,IAAI;QAAC;MACvG,QAAAD,oBAAA,GAAOT,kBAAkB,CAAC,CAAC,CAAC,cAAAS,oBAAA,cAAAA,oBAAA,GAAI,IAAI;;;EAI5C,OAAO,IAAI;AACf;AAEA,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAInC,OAAuB;EAC/C,QAAQA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE6B,YAAY,CAAC,MAAM,CAAC;IACjC,KAAK,QAAQ;MACT,4BAA0B7B,OAAO,CAACoC,EAAE;IAExC,KAAK,MAAM;MACP,aAAWpC,OAAO,CAAC6B,YAAY,CAAC,iBAAiB,CAAC;IAEtD;MACI,OAAOQ,SAAS;;AAE5B,CAAC;SAEeC,+BAA+BA,CAACtC,OAAuB,EAAEuC,SAAyB;;EAC9F,IAAMC,QAAQ,IAAAC,mBAAA,GAAGN,kBAAkB,CAACnC,OAAO,CAAC,cAAAyC,mBAAA,cAAAA,mBAAA,GAAIN,kBAAkB,EAAAO,gBAAA,GAAC1C,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE2C,OAAO,CAAC,2BAA2B,CAAC,cAAAD,gBAAA,cAAAA,gBAAA,GAAI,IAAI,CAAC;EAEzH,IAAIF,QAAQ,EAAE;IACV,IAAID,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEtC,aAAa,CAACuC,QAAQ,CAAC,EAAE;MACpC,OAAO,IAAI;;IAGf,IAAMI,iBAAiB,GAAGrB,QAAQ,CAACtB,aAAa,CAACuC,QAAQ,CAAC;;IAG1D,IAAII,iBAAiB,EAAE;MACnB,OAAON,+BAA+B,CAACM,iBAAiB,EAAEL,SAAS,CAAC;;IAGxE,OAAO,KAAK;;EAGhB,OAAO,KAAK;AAChB;SAEgBM,uCAAuCA,CAAC7C,OAAuB,EAAEuC,SAAyB;EACtG,OAAOD,+BAA+B,CAACtC,OAAO,EAAEuC,SAAS,CAAC,IAAI,CAAC,EAACA,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEO,QAAQ,CAAC9C,OAAO,CAAC;AAChG;SAEgB+C,sBAAsBA,CAAC/C,OAAuB;EAC1D,OAAO,CAAC,EAACA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAE2C,OAAO,CAAC,2BAA2B,CAAC;AAC1D;SAEgBK,uCAAuCA,CAAChD,OAAuB,EAAEiD,OAAuB;;EACpG,OAAO,CAAC,EAACjD,OAAO,aAAPA,OAAO,gBAAAkD,iBAAA,GAAPlD,OAAO,CAAE2C,OAAO,CAAC,2BAA2B,CAAC,cAAAO,iBAAA,eAA7CA,iBAAA,CAA+CJ,QAAQ,CAACG,OAAO,CAAC;AAC7E;SAEgBE,oBAAoBA,CAACnD,OAAuB;EACxD,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,KAAK;;EAGhB,OACI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAACoD,QAAQ,CAACpD,OAAO,CAACqD,OAAO,CAAC,IAC3F,CAAErD,OAAuB,CAACsD,MAAM,IAChC,CAAEtD,OAA0F,CAACuD,QAAQ,IACrG,CAAEvD,OAAkD,CAACwD,QAAQ;AAErE;SAEgBC,6BAA6BA,CAACzD,OAAuB;EACjE,OAAO,CAAC,EAACA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAE2C,OAAO,CAAC,oBAAoB,CAAC;AACnD;SAEgBe,qBAAqBA,CAACC,MAAe;EACjDA,MAAM,CAACC,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC;EAEjD,IAAMC,OAAO,GAAG,SAAVA,OAAOA;IACTF,MAAM,CAACG,eAAe,CAAC,YAAY,CAAC;IACpCH,MAAM,CAACI,mBAAmB,CAAC,MAAM,EAAEF,OAAO,CAAC;GAC9C;EAEDF,MAAM,CAACK,gBAAgB,CAAC,MAAM,EAAEH,OAAO,CAAC;AAC5C;;;;"}
1
+ {"version":3,"file":"dom.js","sources":["../../../../../../src/utils/dom.ts"],"sourcesContent":["// taken from react-aria\nconst FOCUSABLE_ELEMENTS = [\n '[tabindex]:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]',\n 'details:not([disabled])',\n 'summary:not(:disabled)',\n];\n\nexport const hasFocusableElement = (element: HTMLElement | null) => {\n if (!element) {\n return null;\n }\n\n return !!element.querySelector(FOCUSABLE_ELEMENTS.join(','));\n};\n\nexport const isOverflowing = (element: HTMLElement | null) =>\n element !== null ? element.scrollWidth > element.offsetWidth : false;\n\nexport const getIndexOfFirstChildOverflowingParent = (element: HTMLElement, overscan = 0) => {\n let index = 0;\n let boundaryChildIndex: number | null = null;\n const clientRect = element.getBoundingClientRect();\n\n for (const child of Array.from(element.children)) {\n const right = child.getBoundingClientRect().right - clientRect.left;\n const width = clientRect.width - overscan;\n\n if (right > width) {\n boundaryChildIndex = index;\n break;\n }\n index++;\n }\n\n return boundaryChildIndex;\n};\n\nexport const getNextFocussableElement = (currentElement: HTMLElement | null) => {\n if (!currentElement) {\n return null;\n }\n\n let focussableElements = [...document.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENTS.join(','))];\n const currentElementIndex = focussableElements.indexOf(currentElement);\n\n if (currentElementIndex > -1) {\n focussableElements = focussableElements\n .slice(currentElementIndex + 1)\n .filter(element => element.getAttribute('tabindex') !== '-1');\n\n if (focussableElements.length) {\n focussableElements = focussableElements.filter(element => (element as any).checkVisibility?.() ?? true);\n return focussableElements[0] ?? null;\n }\n }\n\n return null;\n};\n\nconst getOverlaySelector = (element: Element | null) => {\n switch (element?.getAttribute('role')) {\n case 'dialog':\n return `[aria-controls='${element.id}']`;\n\n case 'menu':\n return `#${element.getAttribute('aria-labelledby')}`;\n\n default:\n return undefined;\n }\n};\n\nexport function isElementTriggeredFromContainer(element: Element | null, container: Element | null) {\n const selector = getOverlaySelector(element) ?? getOverlaySelector(element?.closest('[role=dialog],[role=menu]') ?? null);\n\n if (selector) {\n if (container?.querySelector(selector)) {\n return true;\n }\n\n const elementInDocument = document.querySelector(selector);\n\n // if the element does exist, see if it is itself connected to somethng that was triggered from the container\n if (elementInDocument) {\n return isElementTriggeredFromContainer(elementInDocument, container);\n }\n\n return false;\n }\n\n return false;\n}\n\nexport function isElementInsideOrTriggeredFromContainer(element: Element | null, container: Element | null) {\n return isElementTriggeredFromContainer(element, container) || !!container?.contains(element);\n}\n\nexport function isElementInsideOverlay(element: Element | null) {\n return !!element?.closest('[role=dialog],[role=menu]');\n}\n\nexport function isSiblingElementInsideSameParentOverlay(element: Element | null, sibling: Element | null) {\n return !!element?.closest('[role=dialog],[role=menu]')?.contains(sibling);\n}\n\nexport function isElementInteractive(element: Element | null) {\n if (!element) {\n return false;\n }\n\n const interactiveElements = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'LABEL', 'OPTION'];\n\n const isInteractive =\n interactiveElements.includes(element.tagName) &&\n !(element as HTMLElement).hidden &&\n !(element as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement).disabled &&\n !(element as HTMLInputElement | HTMLTextAreaElement).readOnly;\n\n // sometimes buttons contain content like an icon, and we can't rely on pointer events being disabled\n // so search for a focusable parent\n if (!isInteractive) {\n const focusableParent = element.closest(FOCUSABLE_ELEMENTS.join(','));\n return focusableParent ? interactiveElements.includes(focusableParent.tagName) : false;\n }\n\n return isInteractive;\n}\n\nexport function isElementInsideTable3OrReport(element: Element | null) {\n return !!element?.closest('[data-taco^=table]');\n}\n\nexport function setDataFocusAttribute(target: Element) {\n target.setAttribute('data-focus', 'programmatic');\n\n const cleanup = () => {\n target.removeAttribute('data-focus');\n target.removeEventListener('blur', cleanup);\n };\n\n target.addEventListener('blur', cleanup);\n}\n"],"names":["FOCUSABLE_ELEMENTS","hasFocusableElement","element","querySelector","join","getIndexOfFirstChildOverflowingParent","overscan","index","boundaryChildIndex","clientRect","getBoundingClientRect","_i","_Array$from","Array","from","children","length","child","right","left","width","getNextFocussableElement","currentElement","focussableElements","concat","document","querySelectorAll","currentElementIndex","indexOf","slice","filter","getAttribute","_focussableElements$","_element$checkVisibil","_element$checkVisibil2","checkVisibility","call","getOverlaySelector","id","undefined","isElementTriggeredFromContainer","container","selector","_getOverlaySelector","_element$closest","closest","elementInDocument","isElementInsideOrTriggeredFromContainer","contains","isElementInsideOverlay","isSiblingElementInsideSameParentOverlay","sibling","_element$closest2","isElementInteractive","interactiveElements","isInteractive","includes","tagName","hidden","disabled","readOnly","focusableParent","isElementInsideTable3OrReport","setDataFocusAttribute","target","setAttribute","cleanup","removeAttribute","removeEventListener","addEventListener"],"mappings":"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"}
@@ -17,12 +17,15 @@ function shouldTriggerShortcut(event, key) {
17
17
  }
18
18
  return event.key.toLowerCase() === keyOptions.key.toLowerCase();
19
19
  }
20
- function createShortcutKeyDownHandler(key, handler, stopPropagation) {
20
+ function createShortcutKeyDownHandler(key, handler, stopPropagation, element) {
21
21
  if (stopPropagation === void 0) {
22
22
  stopPropagation = true;
23
23
  }
24
24
  return function (event) {
25
- if (event.target !== event.currentTarget && isElementInteractive(event.target) && !isPressingMetaKey(event)) {
25
+ var dialog = document.querySelector('[role="dialog"]');
26
+ var isOutsideDialog = element && dialog && !dialog.contains(element);
27
+ if (event.target !== event.currentTarget && isElementInteractive(event.target) && !isPressingMetaKey(event) || isOutsideDialog // Avoid triggering shortcut if dialog is open and element is outside the dialog
28
+ ) {
26
29
  return;
27
30
  }
28
31
  var condition = shouldTriggerShortcut(event, key);
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.js","sources":["../../../../../../src/utils/keyboard.ts"],"sourcesContent":["import React from 'react';\nimport { isElementInteractive } from './dom';\n\nexport type KeyDownHandlerOptions = { key: string; meta?: boolean; shift?: boolean };\n\nexport function isPressingMetaKey<T = Element>(event: KeyboardEvent | React.KeyboardEvent<T>) {\n return isMacOs() ? event.metaKey : event.ctrlKey;\n}\n\nexport function shouldTriggerShortcut<T = Element>(\n event: KeyboardEvent | React.KeyboardEvent<T>,\n key: string | KeyDownHandlerOptions\n) {\n const keyOptions: KeyDownHandlerOptions = typeof key === 'string' ? { key, meta: false, shift: false } : key;\n\n if (\n (keyOptions.meta && (isMacOs() ? !event.metaKey : !event.ctrlKey)) ||\n (!keyOptions.meta && (isMacOs() ? event.metaKey : event.ctrlKey))\n ) {\n return false;\n }\n\n if ((keyOptions.shift && !event.shiftKey) || (keyOptions.shift === false && event.shiftKey)) {\n return false;\n }\n\n return event.key.toLowerCase() === keyOptions.key.toLowerCase();\n}\n\nexport function createShortcutKeyDownHandler<T = Element>(\n key: string | KeyDownHandlerOptions,\n handler: (event: KeyboardEvent | React.KeyboardEvent<T>) => void,\n stopPropagation = true\n) {\n return function (event: KeyboardEvent | React.KeyboardEvent<T>) {\n if (\n event.target !== event.currentTarget &&\n isElementInteractive(event.target as HTMLElement) &&\n !isPressingMetaKey(event)\n ) {\n return;\n }\n\n const condition = shouldTriggerShortcut(event, key);\n\n if (condition) {\n if (stopPropagation) {\n // stops react handlers bubbling up to global\n event.stopPropagation();\n // stops global handlers bubbling up to other global\n (event as KeyboardEvent).stopImmediatePropagation?.();\n }\n\n handler(event);\n }\n };\n}\n\nexport const isMacOs = () => window?.navigator.userAgent.includes('Mac');\n"],"names":["isPressingMetaKey","event","isMacOs","metaKey","ctrlKey","shouldTriggerShortcut","key","keyOptions","meta","shift","shiftKey","toLowerCase","createShortcutKeyDownHandler","handler","stopPropagation","target","currentTarget","isElementInteractive","condition","_event$stopImmediateP","stopImmediatePropagation","call","_window","window","navigator","userAgent","includes"],"mappings":";;SAKgBA,iBAAiBA,CAAcC,KAA6C;EACxF,OAAOC,OAAO,EAAE,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK,CAACG,OAAO;AACpD;SAEgBC,qBAAqBA,CACjCJ,KAA6C,EAC7CK,GAAmC;EAEnC,IAAMC,UAAU,GAA0B,OAAOD,GAAG,KAAK,QAAQ,GAAG;IAAEA,GAAG,EAAHA,GAAG;IAAEE,IAAI,EAAE,KAAK;IAAEC,KAAK,EAAE;GAAO,GAAGH,GAAG;EAE5G,IACKC,UAAU,CAACC,IAAI,KAAKN,OAAO,EAAE,GAAG,CAACD,KAAK,CAACE,OAAO,GAAG,CAACF,KAAK,CAACG,OAAO,CAAC,IAChE,CAACG,UAAU,CAACC,IAAI,KAAKN,OAAO,EAAE,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK,CAACG,OAAO,CAAE,EACnE;IACE,OAAO,KAAK;;EAGhB,IAAKG,UAAU,CAACE,KAAK,IAAI,CAACR,KAAK,CAACS,QAAQ,IAAMH,UAAU,CAACE,KAAK,KAAK,KAAK,IAAIR,KAAK,CAACS,QAAS,EAAE;IACzF,OAAO,KAAK;;EAGhB,OAAOT,KAAK,CAACK,GAAG,CAACK,WAAW,EAAE,KAAKJ,UAAU,CAACD,GAAG,CAACK,WAAW,EAAE;AACnE;SAEgBC,4BAA4BA,CACxCN,GAAmC,EACnCO,OAAgE,EAChEC,eAAe;MAAfA,eAAe;IAAfA,eAAe,GAAG,IAAI;;EAEtB,OAAO,UAAUb,KAA6C;IAC1D,IACIA,KAAK,CAACc,MAAM,KAAKd,KAAK,CAACe,aAAa,IACpCC,oBAAoB,CAAChB,KAAK,CAACc,MAAqB,CAAC,IACjD,CAACf,iBAAiB,CAACC,KAAK,CAAC,EAC3B;MACE;;IAGJ,IAAMiB,SAAS,GAAGb,qBAAqB,CAACJ,KAAK,EAAEK,GAAG,CAAC;IAEnD,IAAIY,SAAS,EAAE;MACX,IAAIJ,eAAe,EAAE;QAAA,IAAAK,qBAAA;;QAEjBlB,KAAK,CAACa,eAAe,EAAE;;QAEtB,CAAAK,qBAAA,GAAAlB,KAAuB,CAACmB,wBAAwB,cAAAD,qBAAA,uBAAhDA,qBAAA,CAAAE,IAAA,CAAApB,MAAoD;;MAGzDY,OAAO,CAACZ,KAAK,CAAC;;GAErB;AACL;IAEaC,OAAO,GAAG,SAAVA,OAAOA;EAAA,IAAAoB,OAAA;EAAA,QAAAA,OAAA,GAASC,MAAM,cAAAD,OAAA,uBAANA,OAAA,CAAQE,SAAS,CAACC,SAAS,CAACC,QAAQ,CAAC,KAAK,CAAC;AAAA;;;;"}
1
+ {"version":3,"file":"keyboard.js","sources":["../../../../../../src/utils/keyboard.ts"],"sourcesContent":["import React from 'react';\nimport { isElementInteractive } from './dom';\n\nexport type KeyDownHandlerOptions = { key: string; meta?: boolean; shift?: boolean };\n\nexport function isPressingMetaKey<T = Element>(event: KeyboardEvent | React.KeyboardEvent<T>) {\n return isMacOs() ? event.metaKey : event.ctrlKey;\n}\n\nexport function shouldTriggerShortcut<T = Element>(\n event: KeyboardEvent | React.KeyboardEvent<T>,\n key: string | KeyDownHandlerOptions\n) {\n const keyOptions: KeyDownHandlerOptions = typeof key === 'string' ? { key, meta: false, shift: false } : key;\n\n if (\n (keyOptions.meta && (isMacOs() ? !event.metaKey : !event.ctrlKey)) ||\n (!keyOptions.meta && (isMacOs() ? event.metaKey : event.ctrlKey))\n ) {\n return false;\n }\n\n if ((keyOptions.shift && !event.shiftKey) || (keyOptions.shift === false && event.shiftKey)) {\n return false;\n }\n\n return event.key.toLowerCase() === keyOptions.key.toLowerCase();\n}\n\nexport function createShortcutKeyDownHandler<T = Element>(\n key: string | KeyDownHandlerOptions,\n handler: (event: KeyboardEvent | React.KeyboardEvent<T>) => void,\n stopPropagation = true,\n element?: HTMLElement | null\n) {\n return function (event: KeyboardEvent | React.KeyboardEvent<T>) {\n const dialog = document.querySelector('[role=\"dialog\"]');\n const isOutsideDialog = element && dialog && !dialog.contains(element);\n\n if (\n (event.target !== event.currentTarget &&\n isElementInteractive(event.target as HTMLElement) &&\n !isPressingMetaKey(event)) ||\n isOutsideDialog // Avoid triggering shortcut if dialog is open and element is outside the dialog\n ) {\n return;\n }\n\n const condition = shouldTriggerShortcut(event, key);\n\n if (condition) {\n if (stopPropagation) {\n // stops react handlers bubbling up to global\n event.stopPropagation();\n // stops global handlers bubbling up to other global\n (event as KeyboardEvent).stopImmediatePropagation?.();\n }\n\n handler(event);\n }\n };\n}\n\nexport const isMacOs = () => window?.navigator.userAgent.includes('Mac');\n"],"names":["isPressingMetaKey","event","isMacOs","metaKey","ctrlKey","shouldTriggerShortcut","key","keyOptions","meta","shift","shiftKey","toLowerCase","createShortcutKeyDownHandler","handler","stopPropagation","element","dialog","document","querySelector","isOutsideDialog","contains","target","currentTarget","isElementInteractive","condition","_event$stopImmediateP","stopImmediatePropagation","call","_window","window","navigator","userAgent","includes"],"mappings":";;SAKgBA,iBAAiBA,CAAcC,KAA6C;EACxF,OAAOC,OAAO,EAAE,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK,CAACG,OAAO;AACpD;SAEgBC,qBAAqBA,CACjCJ,KAA6C,EAC7CK,GAAmC;EAEnC,IAAMC,UAAU,GAA0B,OAAOD,GAAG,KAAK,QAAQ,GAAG;IAAEA,GAAG,EAAHA,GAAG;IAAEE,IAAI,EAAE,KAAK;IAAEC,KAAK,EAAE;GAAO,GAAGH,GAAG;EAE5G,IACKC,UAAU,CAACC,IAAI,KAAKN,OAAO,EAAE,GAAG,CAACD,KAAK,CAACE,OAAO,GAAG,CAACF,KAAK,CAACG,OAAO,CAAC,IAChE,CAACG,UAAU,CAACC,IAAI,KAAKN,OAAO,EAAE,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK,CAACG,OAAO,CAAE,EACnE;IACE,OAAO,KAAK;;EAGhB,IAAKG,UAAU,CAACE,KAAK,IAAI,CAACR,KAAK,CAACS,QAAQ,IAAMH,UAAU,CAACE,KAAK,KAAK,KAAK,IAAIR,KAAK,CAACS,QAAS,EAAE;IACzF,OAAO,KAAK;;EAGhB,OAAOT,KAAK,CAACK,GAAG,CAACK,WAAW,EAAE,KAAKJ,UAAU,CAACD,GAAG,CAACK,WAAW,EAAE;AACnE;SAEgBC,4BAA4BA,CACxCN,GAAmC,EACnCO,OAAgE,EAChEC,eAAe,EACfC,OAA4B;MAD5BD,eAAe;IAAfA,eAAe,GAAG,IAAI;;EAGtB,OAAO,UAAUb,KAA6C;IAC1D,IAAMe,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,iBAAiB,CAAC;IACxD,IAAMC,eAAe,GAAGJ,OAAO,IAAIC,MAAM,IAAI,CAACA,MAAM,CAACI,QAAQ,CAACL,OAAO,CAAC;IAEtE,IACKd,KAAK,CAACoB,MAAM,KAAKpB,KAAK,CAACqB,aAAa,IACjCC,oBAAoB,CAACtB,KAAK,CAACoB,MAAqB,CAAC,IACjD,CAACrB,iBAAiB,CAACC,KAAK,CAAC,IAC7BkB,eAAe;MACjB;MACE;;IAGJ,IAAMK,SAAS,GAAGnB,qBAAqB,CAACJ,KAAK,EAAEK,GAAG,CAAC;IAEnD,IAAIkB,SAAS,EAAE;MACX,IAAIV,eAAe,EAAE;QAAA,IAAAW,qBAAA;;QAEjBxB,KAAK,CAACa,eAAe,EAAE;;QAEtB,CAAAW,qBAAA,GAAAxB,KAAuB,CAACyB,wBAAwB,cAAAD,qBAAA,uBAAhDA,qBAAA,CAAAE,IAAA,CAAA1B,MAAoD;;MAGzDY,OAAO,CAACZ,KAAK,CAAC;;GAErB;AACL;IAEaC,OAAO,GAAG,SAAVA,OAAOA;EAAA,IAAA0B,OAAA;EAAA,QAAAA,OAAA,GAASC,MAAM,cAAAD,OAAA,uBAANA,OAAA,CAAQE,SAAS,CAACC,SAAS,CAACC,QAAQ,CAAC,KAAK,CAAC;AAAA;;;;"}
@@ -1,2 +1,2 @@
1
1
  import { KeyDownHandlerOptions } from '../utils/keyboard';
2
- export declare const useGlobalKeyDown: (shortcut: string | KeyDownHandlerOptions | undefined, handler: (event: KeyboardEvent) => void) => void;
2
+ export declare const useGlobalKeyDown: (shortcut: string | KeyDownHandlerOptions | undefined, handler: (event: KeyboardEvent) => void, element?: HTMLElement | null | undefined) => void;
package/dist/index.css CHANGED
@@ -603,10 +603,14 @@ table[data-taco^='table'] thead tr:last-child {
603
603
 
604
604
  /* bottom border for column groups */
605
605
 
606
- table[data-taco^='table'] thead tr:not(:last-child) th:before {
607
- @apply bg-grey-300 absolute bottom-0 left-2 right-2 h-[2px] content-[''];
606
+ table[data-taco^='table'] thead tr:not(:last-child) th {
607
+ @apply print:border-grey-300 print:border-b;
608
608
  }
609
609
 
610
+ table[data-taco^='table'] thead tr:not(:last-child) th:before {
611
+ @apply bg-grey-300 absolute bottom-0 left-2 right-2 h-[2px] content-[''];
612
+ }
613
+
610
614
  table[data-taco^='table'] tfoot {
611
615
  /* z-indexes & layout */
612
616
  @apply sticky bottom-0 isolate z-20;
@@ -627,6 +631,10 @@ table[data-taco^='table'] tbody {
627
631
  @apply print:!h-auto;
628
632
  }
629
633
 
634
+ table[data-taco^='table']:has([data-taco='empty-state']) {
635
+ @apply overflow-x-hidden;
636
+ }
637
+
630
638
  table[data-taco^='table'] tr {
631
639
  /* styling */
632
640
  @apply relative bg-white outline-none;
@@ -7,6 +7,6 @@ export declare type TableDataType<TType = unknown> = {
7
7
  filterComparators: TableFilterComparator[];
8
8
  getDisplayValue?: (value: any, options?: {
9
9
  localization: Localization;
10
- }) => string;
10
+ }) => string | string[];
11
11
  };
12
12
  export declare function getDataTypeProperties<TType = unknown>(dataType: TableColumnDataType | undefined): TableDataType<TType>;