@economic/taco 2.7.2 → 2.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. package/dist/components/Select2/Select2.d.ts +4 -5
  2. package/dist/components/Select2/components/Context.d.ts +4 -6
  3. package/dist/components/Select2/components/Create.d.ts +2 -1
  4. package/dist/components/Select2/types.d.ts +4 -0
  5. package/dist/components/Table3/components/columns/cell/controls/{TextAreaControl.d.ts → TextareaControl.d.ts} +1 -1
  6. package/dist/components/Table3/types.d.ts +1 -1
  7. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js +9 -0
  8. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
  9. package/dist/esm/packages/taco/src/components/Input/Input.js +15 -12
  10. package/dist/esm/packages/taco/src/components/Input/Input.js.map +1 -1
  11. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +3 -0
  12. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js.map +1 -1
  13. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +9 -2
  14. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
  15. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  16. package/dist/esm/packages/taco/src/components/Select2/components/Context.js.map +1 -1
  17. package/dist/esm/packages/taco/src/components/Select2/components/Create.js.map +1 -1
  18. package/dist/esm/packages/taco/src/components/Table3/Table3.js +0 -6
  19. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  20. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +1 -1
  21. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -1
  22. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +2 -1
  23. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -1
  24. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js +2 -2
  25. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js.map +1 -1
  26. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/{TextAreaControl.js → TextareaControl.js} +3 -3
  27. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/{TextAreaControl.js.map → TextareaControl.js.map} +1 -1
  28. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +8 -1
  29. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -1
  30. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js +3 -1
  31. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js.map +1 -1
  32. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +14 -12
  33. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -1
  34. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
  35. package/dist/esm/packages/taco/src/components/Textarea/Textarea.js +4 -0
  36. package/dist/esm/packages/taco/src/components/Textarea/Textarea.js.map +1 -1
  37. package/dist/taco.cjs.development.js +70 -37
  38. package/dist/taco.cjs.development.js.map +1 -1
  39. package/dist/taco.cjs.production.min.js +1 -1
  40. package/dist/taco.cjs.production.min.js.map +1 -1
  41. package/package.json +2 -2
  42. package/types.json +6902 -7119
@@ -1 +1 @@
1
- {"version":3,"file":"useParentStylesheets.js","sources":["../../../../../../../../../../../src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.ts"],"sourcesContent":["import React from 'react';\n\nconst PRINT_STYLES = `\n@page {\n margin: 16px;\n}\n\n@media print {\n html, body, #root {\n overflow: auto !important;\n height: auto !important;\n width: auto !important;\n }\n\n #root {\n /* chrome sometimes crops the bottom content of page and this padding will make sure that we see the whole content*/\n padding-bottom: 20px;\n }\n\n [role=\"table\"] {\n border-width: 0 !important;\n overflow-y: hidden !important;\n }\n\n [role=\"table\"] [role=\"columnheader\"] {\n border-bottom-width: 1px !important;\n }\n\n /*\n * Summary row cells\n */\n [role=\"table\"] [role=\"rowgroup\"]:last-child [role=\"cell\"] {\n border-width: 0 !important;\n }\n\n [role=\"table\"] a {\n color: rgb(28 28 28);\n }\n\n [data-taco=\"alert\"],\n [data-taco=\"banner\"],\n [data-taco=\"hanger\"],\n [data-taco=\"toast\"],\n [data-taco=\"table3-toolbar\"],\n [data-taco=\"tooltip\"],\n /*\n * Tour components\n */\n [id^=\"react-joyride\"]\n {\n display: none !important;\n }\n}\n`;\n\nexport function useParentStylesheets(iframeWindow: Window | null | undefined) {\n const [ready, setReady] = React.useState(false);\n\n React.useEffect(() => {\n if (!iframeWindow) {\n return;\n }\n\n const parentDocument = iframeWindow.parent.document;\n const iframeDocument = iframeWindow.document;\n\n // add our custom print styles\n const customPrintStyles = iframeDocument.createElement('style');\n\n if (customPrintStyles) {\n customPrintStyles.innerHTML = PRINT_STYLES;\n iframeDocument.head.appendChild(customPrintStyles);\n }\n\n // Get style tags from the parent\n const parentStylesheets = Array.from(\n parentDocument.querySelectorAll('style:not([data-taco=\"table3-column-freezing-styles\"])')\n );\n // Get linked stylesheets from the parent\n const linkStylesheets = Array.from(parentDocument.querySelectorAll('[rel=\"stylesheet\"]'));\n\n // We want to add tailwind styles specifically but there is no guarenteed way to know which style tag has\n // tailwind styles, so we add all the styles present in the parent frame\n parentStylesheets.forEach(parentStyle => {\n const styleTag = iframeDocument.createElement('style');\n\n styleTag.innerHTML = parentStyle.innerHTML;\n iframeDocument.head.appendChild(styleTag);\n });\n\n // Add all link tags that are stylesheets, to the iframe head, so that we include the taco and client styles\n linkStylesheets.forEach(linkStylesheet => {\n const linkTag = iframeDocument.createElement('link');\n\n linkTag.setAttribute('rel', 'stylesheet');\n linkTag.setAttribute('href', linkStylesheet.getAttribute('href') ?? '');\n\n iframeDocument.head.appendChild(linkTag);\n });\n\n setReady(true);\n }, [iframeWindow]);\n\n return ready;\n}\n"],"names":["PRINT_STYLES","useParentStylesheets","iframeWindow","ready","setReady","React","useState","useEffect","parentDocument","parent","document","iframeDocument","customPrintStyles","createElement","innerHTML","head","appendChild","parentStylesheets","Array","from","querySelectorAll","linkStylesheets","forEach","parentStyle","styleTag","linkStylesheet","linkTag","setAttribute","_linkStylesheet$getAt","getAttribute"],"mappings":";;AAEA,MAAMA,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDjB;SAEeC,oBAAoBA,CAACC,YAAuC;EACxE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EAE/CD,cAAK,CAACE,SAAS,CAAC;IACZ,IAAI,CAACL,YAAY,EAAE;MACf;;IAGJ,MAAMM,cAAc,GAAGN,YAAY,CAACO,MAAM,CAACC,QAAQ;IACnD,MAAMC,cAAc,GAAGT,YAAY,CAACQ,QAAQ;;IAG5C,MAAME,iBAAiB,GAAGD,cAAc,CAACE,aAAa,CAAC,OAAO,CAAC;IAE/D,IAAID,iBAAiB,EAAE;MACnBA,iBAAiB,CAACE,SAAS,GAAGd,YAAY;MAC1CW,cAAc,CAACI,IAAI,CAACC,WAAW,CAACJ,iBAAiB,CAAC;;;IAItD,MAAMK,iBAAiB,GAAGC,KAAK,CAACC,IAAI,CAChCX,cAAc,CAACY,gBAAgB,CAAC,wDAAwD,CAAC,CAC5F;;IAED,MAAMC,eAAe,GAAGH,KAAK,CAACC,IAAI,CAACX,cAAc,CAACY,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;;;IAIzFH,iBAAiB,CAACK,OAAO,CAACC,WAAW;MACjC,MAAMC,QAAQ,GAAGb,cAAc,CAACE,aAAa,CAAC,OAAO,CAAC;MAEtDW,QAAQ,CAACV,SAAS,GAAGS,WAAW,CAACT,SAAS;MAC1CH,cAAc,CAACI,IAAI,CAACC,WAAW,CAACQ,QAAQ,CAAC;KAC5C,CAAC;;IAGFH,eAAe,CAACC,OAAO,CAACG,cAAc;;MAClC,MAAMC,OAAO,GAAGf,cAAc,CAACE,aAAa,CAAC,MAAM,CAAC;MAEpDa,OAAO,CAACC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC;MACzCD,OAAO,CAACC,YAAY,CAAC,MAAM,GAAAC,qBAAA,GAAEH,cAAc,CAACI,YAAY,CAAC,MAAM,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CAAC;MAEvEjB,cAAc,CAACI,IAAI,CAACC,WAAW,CAACU,OAAO,CAAC;KAC3C,CAAC;IAEFtB,QAAQ,CAAC,IAAI,CAAC;GACjB,EAAE,CAACF,YAAY,CAAC,CAAC;EAElB,OAAOC,KAAK;AAChB;;;;"}
1
+ {"version":3,"file":"useParentStylesheets.js","sources":["../../../../../../../../../../../src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.ts"],"sourcesContent":["import React from 'react';\n\nconst PRINT_STYLES = `\n@page {\n margin: 16px;\n}\n\n@media print {\n html, body, #root {\n // hides horizontal scrollbar\n overflow-x: none !important;\n overflow-y: auto !important;\n height: auto !important;\n width: auto !important;\n }\n\n #root {\n /* chrome sometimes crops the bottom content of page and this padding will make sure that we see the whole content*/\n padding-bottom: 20px;\n }\n\n [role=\"table\"] {\n border-width: 0 !important;\n overflow-y: hidden !important;\n }\n\n [role=\"table\"] [role=\"columnheader\"] {\n border-bottom-width: 1px !important;\n }\n\n /*\n * Summary row cells\n */\n [role=\"table\"] [role=\"rowgroup\"]:last-child [role=\"cell\"] {\n border-width: 0 !important;\n }\n\n [role=\"table\"] a {\n color: rgb(28 28 28);\n }\n\n [data-taco=\"alert\"],\n [data-taco=\"banner\"],\n [data-taco=\"hanger\"],\n [data-taco=\"toast\"],\n [data-taco=\"table3-toolbar\"],\n [data-taco=\"tooltip\"],\n /*\n * Tour components\n */\n [id^=\"react-joyride\"]\n {\n display: none !important;\n }\n}\n`;\n\nexport function useParentStylesheets(iframeWindow: Window | null | undefined) {\n const [ready, setReady] = React.useState(false);\n\n React.useEffect(() => {\n if (!iframeWindow) {\n return;\n }\n\n const parentDocument = iframeWindow.parent.document;\n const iframeDocument = iframeWindow.document;\n\n // add our custom print styles\n const customPrintStyles = iframeDocument.createElement('style');\n\n if (customPrintStyles) {\n customPrintStyles.innerHTML = PRINT_STYLES;\n iframeDocument.head.appendChild(customPrintStyles);\n }\n\n // Get style tags from the parent\n const parentStylesheets = Array.from(\n parentDocument.querySelectorAll('style:not([data-taco=\"table3-column-freezing-styles\"])')\n );\n // Get linked stylesheets from the parent\n const linkStylesheets = Array.from(parentDocument.querySelectorAll('[rel=\"stylesheet\"]'));\n\n // We want to add tailwind styles specifically but there is no guarenteed way to know which style tag has\n // tailwind styles, so we add all the styles present in the parent frame\n parentStylesheets.forEach(parentStyle => {\n const styleTag = iframeDocument.createElement('style');\n\n styleTag.innerHTML = parentStyle.innerHTML;\n iframeDocument.head.appendChild(styleTag);\n });\n\n // Add all link tags that are stylesheets, to the iframe head, so that we include the taco and client styles\n linkStylesheets.forEach(linkStylesheet => {\n const linkTag = iframeDocument.createElement('link');\n\n linkTag.setAttribute('rel', 'stylesheet');\n linkTag.setAttribute('href', linkStylesheet.getAttribute('href') ?? '');\n\n iframeDocument.head.appendChild(linkTag);\n });\n\n setReady(true);\n }, [iframeWindow]);\n\n return ready;\n}\n"],"names":["PRINT_STYLES","useParentStylesheets","iframeWindow","ready","setReady","React","useState","useEffect","parentDocument","parent","document","iframeDocument","customPrintStyles","createElement","innerHTML","head","appendChild","parentStylesheets","Array","from","querySelectorAll","linkStylesheets","forEach","parentStyle","styleTag","linkStylesheet","linkTag","setAttribute","_linkStylesheet$getAt","getAttribute"],"mappings":";;AAEA,MAAMA,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDjB;SAEeC,oBAAoBA,CAACC,YAAuC;EACxE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EAE/CD,cAAK,CAACE,SAAS,CAAC;IACZ,IAAI,CAACL,YAAY,EAAE;MACf;;IAGJ,MAAMM,cAAc,GAAGN,YAAY,CAACO,MAAM,CAACC,QAAQ;IACnD,MAAMC,cAAc,GAAGT,YAAY,CAACQ,QAAQ;;IAG5C,MAAME,iBAAiB,GAAGD,cAAc,CAACE,aAAa,CAAC,OAAO,CAAC;IAE/D,IAAID,iBAAiB,EAAE;MACnBA,iBAAiB,CAACE,SAAS,GAAGd,YAAY;MAC1CW,cAAc,CAACI,IAAI,CAACC,WAAW,CAACJ,iBAAiB,CAAC;;;IAItD,MAAMK,iBAAiB,GAAGC,KAAK,CAACC,IAAI,CAChCX,cAAc,CAACY,gBAAgB,CAAC,wDAAwD,CAAC,CAC5F;;IAED,MAAMC,eAAe,GAAGH,KAAK,CAACC,IAAI,CAACX,cAAc,CAACY,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;;;IAIzFH,iBAAiB,CAACK,OAAO,CAACC,WAAW;MACjC,MAAMC,QAAQ,GAAGb,cAAc,CAACE,aAAa,CAAC,OAAO,CAAC;MAEtDW,QAAQ,CAACV,SAAS,GAAGS,WAAW,CAACT,SAAS;MAC1CH,cAAc,CAACI,IAAI,CAACC,WAAW,CAACQ,QAAQ,CAAC;KAC5C,CAAC;;IAGFH,eAAe,CAACC,OAAO,CAACG,cAAc;;MAClC,MAAMC,OAAO,GAAGf,cAAc,CAACE,aAAa,CAAC,MAAM,CAAC;MAEpDa,OAAO,CAACC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC;MACzCD,OAAO,CAACC,YAAY,CAAC,MAAM,GAAAC,qBAAA,GAAEH,cAAc,CAACI,YAAY,CAAC,MAAM,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CAAC;MAEvEjB,cAAc,CAACI,IAAI,CAACC,WAAW,CAACU,OAAO,CAAC;KAC3C,CAAC;IAEFtB,QAAQ,CAAC,IAAI,CAAC;GACjB,EAAE,CAACF,YAAY,CAAC,CAAC;EAElB,OAAOC,KAAK;AAChB;;;;"}
@@ -6,18 +6,20 @@ function useSettingsStateListener(table, onChangeSettings) {
6
6
  React__default.useEffect(() => {
7
7
  let handler;
8
8
  if (typeof onChangeSettings === 'function') {
9
- handler = setTimeout(() => onChangeSettings({
10
- // adding a new setting? you need to add it to the print settings in PrintButton.tsx!
11
- columnFreezingIndex: meta.columnFreezing.frozenColumnIndex,
12
- columnOrder: state.columnOrder,
13
- columnSizing: state.columnSizing,
14
- columnVisibility: state.columnVisibility,
15
- excludeUnmatchedRecordsInSearch: meta.search.excludeUnmatchedResults,
16
- fontSize: meta.fontSize.size,
17
- rowHeight: meta.rowHeight.height,
18
- showWarningWhenPrintingLargeDataset: meta.printing.printWarningDialogVisibility,
19
- sorting: state.sorting
20
- }), 250);
9
+ handler = setTimeout(() => {
10
+ onChangeSettings({
11
+ // adding a new setting? you need to add it to the print settings in PrintButton.tsx!
12
+ columnFreezingIndex: meta.columnFreezing.frozenColumnIndex,
13
+ columnOrder: meta.columnOrdering.isEnabled ? state.columnOrder : undefined,
14
+ columnSizing: table.options.enableColumnResizing ? state.columnSizing : undefined,
15
+ columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,
16
+ excludeUnmatchedRecordsInSearch: meta.search.excludeUnmatchedResults,
17
+ fontSize: meta.fontSize.isEnabled ? meta.fontSize.size : undefined,
18
+ rowHeight: meta.rowHeight.isEnabled ? meta.rowHeight.height : undefined,
19
+ showWarningWhenPrintingLargeDataset: meta.printing.printWarningDialogVisibility,
20
+ sorting: state.sorting
21
+ });
22
+ }, 250);
21
23
  }
22
24
  return () => clearTimeout(handler);
23
25
  }, [meta.columnFreezing.frozenColumnIndex, state.columnOrder, state.columnSizing, state.columnVisibility, meta.search.excludeUnmatchedResults, meta.fontSize.size, meta.rowHeight.height, meta.printing.printWarningDialogVisibility, state.sorting]);
@@ -1 +1 @@
1
- {"version":3,"file":"useSettingsStateListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useSettingsStateListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Table3SettingsHandler } from '../../types';\n\nexport function useSettingsStateListener<TType = unknown>(\n table: RTable<TType>,\n onChangeSettings: Table3SettingsHandler | undefined\n) {\n const meta = table.options.meta as TableMeta<TType>;\n const state = table.getState();\n\n React.useEffect(() => {\n let handler;\n\n if (typeof onChangeSettings === 'function') {\n handler = setTimeout(\n () =>\n onChangeSettings({\n // adding a new setting? you need to add it to the print settings in PrintButton.tsx!\n columnFreezingIndex: meta.columnFreezing.frozenColumnIndex,\n columnOrder: state.columnOrder,\n columnSizing: state.columnSizing,\n columnVisibility: state.columnVisibility,\n excludeUnmatchedRecordsInSearch: meta.search.excludeUnmatchedResults,\n fontSize: meta.fontSize.size,\n rowHeight: meta.rowHeight.height,\n showWarningWhenPrintingLargeDataset: meta.printing.printWarningDialogVisibility,\n sorting: state.sorting,\n }),\n 250\n );\n }\n\n return () => clearTimeout(handler);\n }, [\n meta.columnFreezing.frozenColumnIndex,\n state.columnOrder,\n state.columnSizing,\n state.columnVisibility,\n meta.search.excludeUnmatchedResults,\n meta.fontSize.size,\n meta.rowHeight.height,\n meta.printing.printWarningDialogVisibility,\n state.sorting,\n ]);\n}\n"],"names":["useSettingsStateListener","table","onChangeSettings","meta","options","state","getState","React","useEffect","handler","setTimeout","columnFreezingIndex","columnFreezing","frozenColumnIndex","columnOrder","columnSizing","columnVisibility","excludeUnmatchedRecordsInSearch","search","excludeUnmatchedResults","fontSize","size","rowHeight","height","showWarningWhenPrintingLargeDataset","printing","printWarningDialogVisibility","sorting","clearTimeout"],"mappings":";;SAIgBA,wBAAwBA,CACpCC,KAAoB,EACpBC,gBAAmD;EAEnD,MAAMC,IAAI,GAAGF,KAAK,CAACG,OAAO,CAACD,IAAwB;EACnD,MAAME,KAAK,GAAGJ,KAAK,CAACK,QAAQ,EAAE;EAE9BC,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIC,OAAO;IAEX,IAAI,OAAOP,gBAAgB,KAAK,UAAU,EAAE;MACxCO,OAAO,GAAGC,UAAU,CAChB,MACIR,gBAAgB,CAAC;;QAEbS,mBAAmB,EAAER,IAAI,CAACS,cAAc,CAACC,iBAAiB;QAC1DC,WAAW,EAAET,KAAK,CAACS,WAAW;QAC9BC,YAAY,EAAEV,KAAK,CAACU,YAAY;QAChCC,gBAAgB,EAAEX,KAAK,CAACW,gBAAgB;QACxCC,+BAA+B,EAAEd,IAAI,CAACe,MAAM,CAACC,uBAAuB;QACpEC,QAAQ,EAAEjB,IAAI,CAACiB,QAAQ,CAACC,IAAI;QAC5BC,SAAS,EAAEnB,IAAI,CAACmB,SAAS,CAACC,MAAM;QAChCC,mCAAmC,EAAErB,IAAI,CAACsB,QAAQ,CAACC,4BAA4B;QAC/EC,OAAO,EAAEtB,KAAK,CAACsB;OAClB,CAAC,EACN,GAAG,CACN;;IAGL,OAAO,MAAMC,YAAY,CAACnB,OAAO,CAAC;GACrC,EAAE,CACCN,IAAI,CAACS,cAAc,CAACC,iBAAiB,EACrCR,KAAK,CAACS,WAAW,EACjBT,KAAK,CAACU,YAAY,EAClBV,KAAK,CAACW,gBAAgB,EACtBb,IAAI,CAACe,MAAM,CAACC,uBAAuB,EACnChB,IAAI,CAACiB,QAAQ,CAACC,IAAI,EAClBlB,IAAI,CAACmB,SAAS,CAACC,MAAM,EACrBpB,IAAI,CAACsB,QAAQ,CAACC,4BAA4B,EAC1CrB,KAAK,CAACsB,OAAO,CAChB,CAAC;AACN;;;;"}
1
+ {"version":3,"file":"useSettingsStateListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useSettingsStateListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Table3SettingsHandler } from '../../types';\n\nexport function useSettingsStateListener<TType = unknown>(\n table: RTable<TType>,\n onChangeSettings: Table3SettingsHandler | undefined\n) {\n const meta = table.options.meta as TableMeta<TType>;\n const state = table.getState();\n\n React.useEffect(() => {\n let handler;\n\n if (typeof onChangeSettings === 'function') {\n handler = setTimeout(() => {\n onChangeSettings({\n // adding a new setting? you need to add it to the print settings in PrintButton.tsx!\n columnFreezingIndex: meta.columnFreezing.frozenColumnIndex,\n columnOrder: meta.columnOrdering.isEnabled ? state.columnOrder : undefined,\n columnSizing: table.options.enableColumnResizing ? state.columnSizing : undefined,\n columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,\n excludeUnmatchedRecordsInSearch: meta.search.excludeUnmatchedResults,\n fontSize: meta.fontSize.isEnabled ? meta.fontSize.size : undefined,\n rowHeight: meta.rowHeight.isEnabled ? meta.rowHeight.height : undefined,\n showWarningWhenPrintingLargeDataset: meta.printing.printWarningDialogVisibility,\n sorting: state.sorting,\n });\n }, 250);\n }\n\n return () => clearTimeout(handler);\n }, [\n meta.columnFreezing.frozenColumnIndex,\n state.columnOrder,\n state.columnSizing,\n state.columnVisibility,\n meta.search.excludeUnmatchedResults,\n meta.fontSize.size,\n meta.rowHeight.height,\n meta.printing.printWarningDialogVisibility,\n state.sorting,\n ]);\n}\n"],"names":["useSettingsStateListener","table","onChangeSettings","meta","options","state","getState","React","useEffect","handler","setTimeout","columnFreezingIndex","columnFreezing","frozenColumnIndex","columnOrder","columnOrdering","isEnabled","undefined","columnSizing","enableColumnResizing","columnVisibility","enableHiding","excludeUnmatchedRecordsInSearch","search","excludeUnmatchedResults","fontSize","size","rowHeight","height","showWarningWhenPrintingLargeDataset","printing","printWarningDialogVisibility","sorting","clearTimeout"],"mappings":";;SAIgBA,wBAAwBA,CACpCC,KAAoB,EACpBC,gBAAmD;EAEnD,MAAMC,IAAI,GAAGF,KAAK,CAACG,OAAO,CAACD,IAAwB;EACnD,MAAME,KAAK,GAAGJ,KAAK,CAACK,QAAQ,EAAE;EAE9BC,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIC,OAAO;IAEX,IAAI,OAAOP,gBAAgB,KAAK,UAAU,EAAE;MACxCO,OAAO,GAAGC,UAAU,CAAC;QACjBR,gBAAgB,CAAC;;UAEbS,mBAAmB,EAAER,IAAI,CAACS,cAAc,CAACC,iBAAiB;UAC1DC,WAAW,EAAEX,IAAI,CAACY,cAAc,CAACC,SAAS,GAAGX,KAAK,CAACS,WAAW,GAAGG,SAAS;UAC1EC,YAAY,EAAEjB,KAAK,CAACG,OAAO,CAACe,oBAAoB,GAAGd,KAAK,CAACa,YAAY,GAAGD,SAAS;UACjFG,gBAAgB,EAAEnB,KAAK,CAACG,OAAO,CAACiB,YAAY,GAAGhB,KAAK,CAACe,gBAAgB,GAAGH,SAAS;UACjFK,+BAA+B,EAAEnB,IAAI,CAACoB,MAAM,CAACC,uBAAuB;UACpEC,QAAQ,EAAEtB,IAAI,CAACsB,QAAQ,CAACT,SAAS,GAAGb,IAAI,CAACsB,QAAQ,CAACC,IAAI,GAAGT,SAAS;UAClEU,SAAS,EAAExB,IAAI,CAACwB,SAAS,CAACX,SAAS,GAAGb,IAAI,CAACwB,SAAS,CAACC,MAAM,GAAGX,SAAS;UACvEY,mCAAmC,EAAE1B,IAAI,CAAC2B,QAAQ,CAACC,4BAA4B;UAC/EC,OAAO,EAAE3B,KAAK,CAAC2B;SAClB,CAAC;OACL,EAAE,GAAG,CAAC;;IAGX,OAAO,MAAMC,YAAY,CAACxB,OAAO,CAAC;GACrC,EAAE,CACCN,IAAI,CAACS,cAAc,CAACC,iBAAiB,EACrCR,KAAK,CAACS,WAAW,EACjBT,KAAK,CAACa,YAAY,EAClBb,KAAK,CAACe,gBAAgB,EACtBjB,IAAI,CAACoB,MAAM,CAACC,uBAAuB,EACnCrB,IAAI,CAACsB,QAAQ,CAACC,IAAI,EAClBvB,IAAI,CAACwB,SAAS,CAACC,MAAM,EACrBzB,IAAI,CAAC2B,QAAQ,CAACC,4BAA4B,EAC1C1B,KAAK,CAAC2B,OAAO,CAChB,CAAC;AACN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n ColumnFilter as RTColumnFilter,\n ColumnOrderState,\n ColumnSizingState,\n ColumnSort as RTTableColumnSort,\n SortingState,\n VisibilityState,\n BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\n\nexport type Table3SortDirection = 'asc' | 'desc';\nexport type Table3SortFn<TType = unknown> =\n | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n | BuiltInSortingFn\n | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (\n value: TValue,\n row: TType\n) => JSX.Element | string | number | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | number | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type Table3ColumnAlignment = 'left' | 'center' | 'right';\nexport type Table3ColumnDataType = 'auto' | 'number' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n className?: string;\n disabled?: boolean;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement>;\n setValue: (value: any) => void;\n value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'numberInput'\n | 'switch'\n | 'textarea';\n\ntype ValueOf<T> = T[keyof T];\n\nexport type Table3ColumnProps<TType = unknown> = ValueOf<{\n [K in keyof TType]: {\n accessor: K;\n } & {\n align?: Table3ColumnAlignment;\n className?: Table3ColumnClassNameHandler<TType>;\n control?: Table3ColumnControlRenderer<TType>;\n dataType?: Table3ColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: number | 'grow';\n enableFiltering?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n filters?: Table3FilterComparator[];\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n minWidth?: number;\n renderer?: Table3ColumnRenderer<TType[K], TType>;\n sort?: Table3SortDirection;\n sortFn?: Table3SortFn<TType>;\n tooltip?: string;\n };\n}>;\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element | null;\n\n// table\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n columnFreezingIndex?: number;\n columnOrder?: ColumnOrderState;\n columnSizing?: ColumnSizingState;\n columnVisibility?: VisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n fontSize?: Table3FontSize;\n rowHeight?: Table3RowHeight;\n showWarningWhenPrintingLargeDataset?: boolean;\n sorting?: SortingState;\n};\nexport type Table3SettingsHandler = (settings: Table3Settings) => void | Promise<void>;\n\nexport enum Table3FilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsEmpty,\n IsNotEmpty,\n IsLessThanOrEqualTo,\n IsGreaterThanOrEqualTo,\n HasAnyOf,\n HasAllOf,\n HasNoneOf,\n}\n\nexport type Table3FilterValue = {\n comparator: Table3FilterComparator;\n value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3LoadPageHandler = (\n pageIndex: number,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3RowGotoHandler = (\n column: string,\n query: string,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type Table3ColumnSort = RTTableColumnSort;\nexport type Table3SortHandler = (sorting: Table3ColumnSort[]) => void;\nexport type TableStrategy = {\n renderBody: () => JSX.Element | JSX.Element[] | null;\n scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n handler: Table3ShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n string,\n Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n enableColumnFreezing: boolean;\n enableColumnHiding: boolean;\n enableColumnOrdering: boolean;\n enableColumnResizing: boolean;\n enableFontSize: boolean;\n enableFooter: boolean;\n enablePrinting: boolean;\n enableRowDrag: boolean;\n enableRowDrop: boolean;\n enableRowExpansion: boolean;\n enableRowGoto: boolean;\n enableRowHeight: boolean;\n enableRowSelection: boolean;\n enableRowSelectionSingle: boolean;\n enableEditing: boolean;\n enableFiltering: boolean;\n enableSearch: boolean;\n enableSorting: boolean;\n};\n\nexport type Table3CommonProps<TType = unknown> = Partial<Table3Options> & {\n actionsForRow?: Table3RowActionRenderer<TType>[];\n actionsForRowLength?: number;\n autoFocus?: boolean;\n children: (JSX.Element | boolean | null | undefined)[];\n data: TType[];\n defaultColumnFreezingIndex?: number;\n defaultCurrentRowIndex?: number;\n defaultSettings?: Table3Settings;\n emptyState?: () => JSX.Element | null;\n expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n id: string;\n onChangeSettings?: Table3SettingsHandler;\n onRowClick?: Table3RowClickHandler<TType>;\n onRowDrag?: Table3RowDragHandler<TType>;\n onRowDrop?: Table3RowDropHandler<TType>;\n onRowGoto?: Table3RowGotoHandler;\n onRowSelect?: Table3RowSelectionHandler<TType>;\n onFilter?: Table3FilterHandler;\n onSave?: Table3SaveHandler<TType>;\n onSort?: Table3SortHandler;\n preset?: Table3Preset;\n shortcuts?: Table3Shortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n};\n\ninterface Table3ClientProps<TType = unknown> extends Table3CommonProps<TType> {\n length?: never;\n loadPage?: never;\n loadAll?: never;\n pageSize?: never;\n}\n\ninterface Table3ServerProps<TType = unknown> extends Table3CommonProps<TType> {\n length: number | undefined;\n loadPage: Table3LoadPageHandler;\n loadAll: Table3LoadAllHandler;\n pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = Table3ClientProps<TType> | Table3ServerProps<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: (enabled: boolean | undefined) => void;\n };\n};\n\nexport type Table3Texts = {\n columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n menu: {\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n editing: {\n actions: {\n tooltip: string;\n save: string;\n clear: string;\n exit: string;\n };\n buttons: {\n edit: {\n text: string;\n tooltip: string;\n };\n };\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n saving: {\n progress: string;\n complete: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isEmpty: string;\n isNotEmpty: string;\n isBefore: string;\n isAfter: string;\n isLessThanOrEqualTo: string;\n isGreaterThanOrEqualTo: string;\n isOnOrBefore: string;\n isOnOrAfter: string;\n hasAnyOf: string;\n hasAllOf: string;\n hasNoneOf: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n tooltip: string;\n total: string;\n };\n fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n warningDialog: {\n title: string;\n description: string;\n checkboxVisibilityLabel: string;\n cancelButtonText: string;\n printButtonText: string;\n };\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n otherOptions: {\n tooltip: string;\n };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IA6GYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,+EAAU;EACVA,iGAAmB;EACnBA,wGAAsB;EACtBA,4EAAQ;EACRA,4EAAQ;EACRA,8EAAS;AACb,CAAC,EAfWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n ColumnFilter as RTColumnFilter,\n ColumnOrderState,\n ColumnSizingState,\n ColumnSort as RTTableColumnSort,\n SortingState,\n VisibilityState,\n BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\n\nexport type Table3SortDirection = 'asc' | 'desc';\nexport type Table3SortFn<TType = unknown> =\n | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n | BuiltInSortingFn\n | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (\n value: TValue,\n row: TType\n) => JSX.Element | string | number | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | number | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type Table3ColumnAlignment = 'left' | 'center' | 'right';\nexport type Table3ColumnDataType = 'auto' | 'number' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n className?: string;\n disabled?: boolean;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement>;\n setValue: (value: any) => void;\n value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'switch'\n | 'textarea';\n\ntype ValueOf<T> = T[keyof T];\n\nexport type Table3ColumnProps<TType = unknown> = ValueOf<{\n [K in keyof TType]: {\n accessor: K;\n } & {\n align?: Table3ColumnAlignment;\n className?: Table3ColumnClassNameHandler<TType>;\n control?: Table3ColumnControlRenderer<TType>;\n dataType?: Table3ColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: number | 'grow';\n enableFiltering?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n filters?: Table3FilterComparator[];\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n minWidth?: number;\n renderer?: Table3ColumnRenderer<TType[K], TType>;\n sort?: Table3SortDirection;\n sortFn?: Table3SortFn<TType>;\n tooltip?: string;\n };\n}>;\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element | null;\n\n// table\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n columnFreezingIndex?: number;\n columnOrder?: ColumnOrderState;\n columnSizing?: ColumnSizingState;\n columnVisibility?: VisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n fontSize?: Table3FontSize;\n rowHeight?: Table3RowHeight;\n showWarningWhenPrintingLargeDataset?: boolean;\n sorting?: SortingState;\n};\nexport type Table3SettingsHandler = (settings: Table3Settings) => void | Promise<void>;\n\nexport enum Table3FilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsEmpty,\n IsNotEmpty,\n IsLessThanOrEqualTo,\n IsGreaterThanOrEqualTo,\n HasAnyOf,\n HasAllOf,\n HasNoneOf,\n}\n\nexport type Table3FilterValue = {\n comparator: Table3FilterComparator;\n value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3LoadPageHandler = (\n pageIndex: number,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3RowGotoHandler = (\n column: string,\n query: string,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type Table3ColumnSort = RTTableColumnSort;\nexport type Table3SortHandler = (sorting: Table3ColumnSort[]) => void;\nexport type TableStrategy = {\n renderBody: () => JSX.Element | JSX.Element[] | null;\n scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n handler: Table3ShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n string,\n Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n enableColumnFreezing: boolean;\n enableColumnHiding: boolean;\n enableColumnOrdering: boolean;\n enableColumnResizing: boolean;\n enableFontSize: boolean;\n enableFooter: boolean;\n enablePrinting: boolean;\n enableRowDrag: boolean;\n enableRowDrop: boolean;\n enableRowExpansion: boolean;\n enableRowGoto: boolean;\n enableRowHeight: boolean;\n enableRowSelection: boolean;\n enableRowSelectionSingle: boolean;\n enableEditing: boolean;\n enableFiltering: boolean;\n enableSearch: boolean;\n enableSorting: boolean;\n};\n\nexport type Table3CommonProps<TType = unknown> = Partial<Table3Options> & {\n actionsForRow?: Table3RowActionRenderer<TType>[];\n actionsForRowLength?: number;\n autoFocus?: boolean;\n children: (JSX.Element | boolean | null | undefined)[];\n data: TType[];\n defaultColumnFreezingIndex?: number;\n defaultCurrentRowIndex?: number;\n defaultSettings?: Table3Settings;\n emptyState?: () => JSX.Element | null;\n expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n id: string;\n onChangeSettings?: Table3SettingsHandler;\n onRowClick?: Table3RowClickHandler<TType>;\n onRowDrag?: Table3RowDragHandler<TType>;\n onRowDrop?: Table3RowDropHandler<TType>;\n onRowGoto?: Table3RowGotoHandler;\n onRowSelect?: Table3RowSelectionHandler<TType>;\n onFilter?: Table3FilterHandler;\n onSave?: Table3SaveHandler<TType>;\n onSort?: Table3SortHandler;\n preset?: Table3Preset;\n shortcuts?: Table3Shortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n};\n\ninterface Table3ClientProps<TType = unknown> extends Table3CommonProps<TType> {\n length?: never;\n loadPage?: never;\n loadAll?: never;\n pageSize?: never;\n}\n\ninterface Table3ServerProps<TType = unknown> extends Table3CommonProps<TType> {\n length: number | undefined;\n loadPage: Table3LoadPageHandler;\n loadAll: Table3LoadAllHandler;\n pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = Table3ClientProps<TType> | Table3ServerProps<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: (enabled: boolean | undefined) => void;\n };\n};\n\nexport type Table3Texts = {\n columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n menu: {\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n editing: {\n actions: {\n tooltip: string;\n save: string;\n clear: string;\n exit: string;\n };\n buttons: {\n edit: {\n text: string;\n tooltip: string;\n };\n };\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n saving: {\n progress: string;\n complete: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isEmpty: string;\n isNotEmpty: string;\n isBefore: string;\n isAfter: string;\n isLessThanOrEqualTo: string;\n isGreaterThanOrEqualTo: string;\n isOnOrBefore: string;\n isOnOrAfter: string;\n hasAnyOf: string;\n hasAllOf: string;\n hasNoneOf: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n tooltip: string;\n total: string;\n };\n fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n warningDialog: {\n title: string;\n description: string;\n checkboxVisibilityLabel: string;\n cancelButtonText: string;\n printButtonText: string;\n };\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n otherOptions: {\n tooltip: string;\n };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IA4GYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,+EAAU;EACVA,iGAAmB;EACnBA,wGAAsB;EACtBA,4EAAQ;EACRA,4EAAQ;EACRA,8EAAS;AACb,CAAC,EAfWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
@@ -15,6 +15,10 @@ const Textarea = /*#__PURE__*/forwardRef(function Textarea(props, ref) {
15
15
  // if it has scroll height then the browser reverts to native scrolling behaviour only
16
16
  // so we manually override it to ensure _our_ desired behaviour remains intact
17
17
  const handleKeyDown = event => {
18
+ // prevent any external keyboard shortcuts from executing while typing single characters in textarea
19
+ if (event.key.length === 1) {
20
+ event.stopPropagation();
21
+ }
18
22
  if (event.key === 'Home' || event.key === 'End') {
19
23
  event.preventDefault();
20
24
  const position = event.key === 'End' ? event.currentTarget.value.length : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","sources":["../../../../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { getInputClasses } from '../Input/util';\n\nexport type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement> & {\n /** Draws attention to the textarea by changing its style and making it visually prominent */\n highlighted?: boolean;\n /* Whether the input is in an invalid state */\n invalid?: boolean;\n /** Value of the textarea */\n value?: string;\n};\n\nexport const Textarea = React.forwardRef(function Textarea(props: TextareaProps, ref: React.Ref<HTMLTextAreaElement>) {\n const { defaultValue: _, highlighted, invalid, onKeyDown, ...otherProps } = props;\n const classNames = cn(getInputClasses(props), 'py-1 min-h-[75px] disabled:resize-none', props.className);\n\n // home and end keys only navigate to the start/end of textarea value if the textarea container does not scroll\n // if it has scroll height then the browser reverts to native scrolling behaviour only\n // so we manually override it to ensure _our_ desired behaviour remains intact\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (event.key === 'Home' || event.key === 'End') {\n event.preventDefault();\n const position = event.key === 'End' ? event.currentTarget.value.length : 0;\n event.currentTarget.setSelectionRange(position, position);\n event.currentTarget.scrollTop = event.key === 'End' ? event.currentTarget.scrollHeight : 0;\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n return <textarea {...otherProps} className={classNames} data-taco=\"textarea\" onKeyDown={handleKeyDown} ref={ref} />;\n});\n"],"names":["Textarea","React","props","ref","defaultValue","_","highlighted","invalid","onKeyDown","otherProps","classNames","cn","getInputClasses","className","handleKeyDown","event","key","preventDefault","position","currentTarget","value","length","setSelectionRange","scrollTop","scrollHeight"],"mappings":";;;;MAaaA,QAAQ,gBAAGC,UAAgB,CAAC,SAASD,QAAQA,CAACE,KAAoB,EAAEC,GAAmC;EAChH,MAAM;IAAEC,YAAY,EAAEC,CAAC;IAAEC,WAAW;IAAEC,OAAO;IAAEC,SAAS;IAAE,GAAGC;GAAY,GAAGP,KAAK;EACjF,MAAMQ,UAAU,GAAGC,EAAE,CAACC,eAAe,CAACV,KAAK,CAAC,EAAE,wCAAwC,EAAEA,KAAK,CAACW,SAAS,CAAC;;;;EAKxG,MAAMC,aAAa,GAAIC,KAA+C;IAClE,IAAIA,KAAK,CAACC,GAAG,KAAK,MAAM,IAAID,KAAK,CAACC,GAAG,KAAK,KAAK,EAAE;MAC7CD,KAAK,CAACE,cAAc,EAAE;MACtB,MAAMC,QAAQ,GAAGH,KAAK,CAACC,GAAG,KAAK,KAAK,GAAGD,KAAK,CAACI,aAAa,CAACC,KAAK,CAACC,MAAM,GAAG,CAAC;MAC3EN,KAAK,CAACI,aAAa,CAACG,iBAAiB,CAACJ,QAAQ,EAAEA,QAAQ,CAAC;MACzDH,KAAK,CAACI,aAAa,CAACI,SAAS,GAAGR,KAAK,CAACC,GAAG,KAAK,KAAK,GAAGD,KAAK,CAACI,aAAa,CAACK,YAAY,GAAG,CAAC;;IAG9F,IAAIhB,SAAS,EAAE;MACXA,SAAS,CAACO,KAAK,CAAC;;GAEvB;EAED,oBAAOd,4CAAcQ,UAAU;IAAEI,SAAS,EAAEH,UAAU;iBAAY,UAAU;IAACF,SAAS,EAAEM,aAAa;IAAEX,GAAG,EAAEA;KAAO;AACvH,CAAC;;;;"}
1
+ {"version":3,"file":"Textarea.js","sources":["../../../../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react';\nimport cn from 'classnames';\nimport { getInputClasses } from '../Input/util';\n\nexport type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement> & {\n /** Draws attention to the textarea by changing its style and making it visually prominent */\n highlighted?: boolean;\n /* Whether the input is in an invalid state */\n invalid?: boolean;\n /** Value of the textarea */\n value?: string;\n};\n\nexport const Textarea = React.forwardRef(function Textarea(props: TextareaProps, ref: React.Ref<HTMLTextAreaElement>) {\n const { defaultValue: _, highlighted, invalid, onKeyDown, ...otherProps } = props;\n const classNames = cn(getInputClasses(props), 'py-1 min-h-[75px] disabled:resize-none', props.className);\n\n // home and end keys only navigate to the start/end of textarea value if the textarea container does not scroll\n // if it has scroll height then the browser reverts to native scrolling behaviour only\n // so we manually override it to ensure _our_ desired behaviour remains intact\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // prevent any external keyboard shortcuts from executing while typing single characters in textarea\n if (event.key.length === 1) {\n event.stopPropagation();\n }\n\n if (event.key === 'Home' || event.key === 'End') {\n event.preventDefault();\n const position = event.key === 'End' ? event.currentTarget.value.length : 0;\n event.currentTarget.setSelectionRange(position, position);\n event.currentTarget.scrollTop = event.key === 'End' ? event.currentTarget.scrollHeight : 0;\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n return <textarea {...otherProps} className={classNames} data-taco=\"textarea\" onKeyDown={handleKeyDown} ref={ref} />;\n});\n"],"names":["Textarea","React","props","ref","defaultValue","_","highlighted","invalid","onKeyDown","otherProps","classNames","cn","getInputClasses","className","handleKeyDown","event","key","length","stopPropagation","preventDefault","position","currentTarget","value","setSelectionRange","scrollTop","scrollHeight"],"mappings":";;;;MAaaA,QAAQ,gBAAGC,UAAgB,CAAC,SAASD,QAAQA,CAACE,KAAoB,EAAEC,GAAmC;EAChH,MAAM;IAAEC,YAAY,EAAEC,CAAC;IAAEC,WAAW;IAAEC,OAAO;IAAEC,SAAS;IAAE,GAAGC;GAAY,GAAGP,KAAK;EACjF,MAAMQ,UAAU,GAAGC,EAAE,CAACC,eAAe,CAACV,KAAK,CAAC,EAAE,wCAAwC,EAAEA,KAAK,CAACW,SAAS,CAAC;;;;EAKxG,MAAMC,aAAa,GAAIC,KAA+C;;IAElE,IAAIA,KAAK,CAACC,GAAG,CAACC,MAAM,KAAK,CAAC,EAAE;MACxBF,KAAK,CAACG,eAAe,EAAE;;IAG3B,IAAIH,KAAK,CAACC,GAAG,KAAK,MAAM,IAAID,KAAK,CAACC,GAAG,KAAK,KAAK,EAAE;MAC7CD,KAAK,CAACI,cAAc,EAAE;MACtB,MAAMC,QAAQ,GAAGL,KAAK,CAACC,GAAG,KAAK,KAAK,GAAGD,KAAK,CAACM,aAAa,CAACC,KAAK,CAACL,MAAM,GAAG,CAAC;MAC3EF,KAAK,CAACM,aAAa,CAACE,iBAAiB,CAACH,QAAQ,EAAEA,QAAQ,CAAC;MACzDL,KAAK,CAACM,aAAa,CAACG,SAAS,GAAGT,KAAK,CAACC,GAAG,KAAK,KAAK,GAAGD,KAAK,CAACM,aAAa,CAACI,YAAY,GAAG,CAAC;;IAG9F,IAAIjB,SAAS,EAAE;MACXA,SAAS,CAACO,KAAK,CAAC;;GAEvB;EAED,oBAAOd,4CAAcQ,UAAU;IAAEI,SAAS,EAAEH,UAAU;iBAAY,UAAU;IAACF,SAAS,EAAEM,aAAa;IAAEX,GAAG,EAAEA;KAAO;AACvH,CAAC;;;;"}
@@ -4829,23 +4829,26 @@ const InputWithoutDeprecatedFeatures = /*#__PURE__*/React.forwardRef(function In
4829
4829
  ...attributes
4830
4830
  } = props;
4831
4831
  const internalRef = useMergedRef(ref);
4832
- let handleKeyDown = onKeyDown;
4833
- // home and end keys only navigate to the start/end of input value if the input container does not scroll
4834
- // if it has scroll height then the browser reverts to native scrolling behaviour only
4835
- // so we manually override it to ensure _our_ desired behaviour remains intact
4836
- // only the 'text', 'search', 'url', 'tel', 'password' input types support setSelectionRange
4837
- if (validSetSelectionRangeTypes.includes(type)) {
4838
- handleKeyDown = event => {
4832
+ const handleKeyDown = event => {
4833
+ // prevent any external keyboard shortcuts from executing while typing single characters in input
4834
+ if (event.key.length === 1) {
4835
+ event.stopPropagation();
4836
+ }
4837
+ // home and end keys only navigate to the start/end of input value if the input container does not scroll
4838
+ // if it has scroll height then the browser reverts to native scrolling behaviour only
4839
+ // so we manually override it to ensure _our_ desired behaviour remains intact
4840
+ // only the 'text', 'search', 'url', 'tel', 'password' input types support setSelectionRange
4841
+ if (validSetSelectionRangeTypes.includes(type)) {
4839
4842
  if (!event.shiftKey && (event.key === 'Home' || event.key === 'End')) {
4840
4843
  event.preventDefault();
4841
4844
  const position = event.key === 'End' ? event.currentTarget.value.length : 0;
4842
4845
  event.currentTarget.setSelectionRange(position, position);
4843
4846
  }
4844
- if (typeof onKeyDown === 'function') {
4845
- onKeyDown(event);
4846
- }
4847
- };
4848
- }
4847
+ }
4848
+ if (typeof onKeyDown === 'function') {
4849
+ onKeyDown(event);
4850
+ }
4851
+ };
4849
4852
  const prefixRef = React.useRef(null);
4850
4853
  const prefixRect = useBoundingClientRectListener(prefixRef);
4851
4854
  const postfixRef = React.useRef(null);
@@ -5093,6 +5096,9 @@ const ScrollableList = /*#__PURE__*/React.forwardRef(function ScrollableList(pro
5093
5096
  const index = nextIndex !== undefined ? nextIndex : currentIndex;
5094
5097
  onKeyDown(event, index);
5095
5098
  }
5099
+ // Stops the keyboard event from propagating so that keyboard event on other components outside the scrollable
5100
+ // list are not executed.
5101
+ event.stopPropagation();
5096
5102
  };
5097
5103
  const handleClick = index => event => {
5098
5104
  setCurrentIndex(index);
@@ -6145,6 +6151,8 @@ const Content$4 = /*#__PURE__*/React.forwardRef(function DialogContent(props, re
6145
6151
  } else if (dialog.onClose) {
6146
6152
  dialog.onClose();
6147
6153
  }
6154
+ // Stops event from propogating outside the dialog.
6155
+ event.stopPropagation();
6148
6156
  };
6149
6157
  // the chosen behaviour in taco is that outside clicks do not close the dialog
6150
6158
  const handleInteractOutside = event => event.preventDefault();
@@ -6158,12 +6166,19 @@ const Content$4 = /*#__PURE__*/React.forwardRef(function DialogContent(props, re
6158
6166
  } else {
6159
6167
  output = props.children;
6160
6168
  }
6169
+ const onKeyDown = event => {
6170
+ if (event.key !== 'Escape') {
6171
+ // Stops event from propogating outside the dialog.
6172
+ event.stopPropagation();
6173
+ }
6174
+ };
6161
6175
  return /*#__PURE__*/React.createElement(DialogPrimitive.Portal, null, /*#__PURE__*/React.createElement(DialogPrimitive.Overlay, {
6162
6176
  asChild: true
6163
6177
  }, /*#__PURE__*/React.createElement(Backdrop, null, /*#__PURE__*/React.createElement(DialogPrimitive.Content, Object.assign({}, props, {
6164
6178
  className: className,
6165
6179
  onEscapeKeyDown: handleEscapeKeyDown,
6166
6180
  onInteractOutside: handleInteractOutside,
6181
+ onKeyDown: onKeyDown,
6167
6182
  ref: internalRef,
6168
6183
  style: {
6169
6184
  ...props.style,
@@ -9122,8 +9137,15 @@ const SearchInput2 = /*#__PURE__*/React__default.forwardRef(function SearchInput
9122
9137
  if (settingsContent) {
9123
9138
  const settingsClassname = cn('border-grey-300 absolute left-0 right-0 -mt-0.5 hidden top-full group-focus-within:flex focus-within:flex flex-col gap-y-4 rounded-b border border-t-0 bg-white p-3 shadow !pt-[calc(theme(spacing.3)_+_theme(spacing[0.5]))]');
9124
9139
  return /*#__PURE__*/React__default.createElement("div", {
9125
- className: "group relative z-10 [&_[data-taco='input-container']]:z-10",
9126
- ref: containerRef
9140
+ className: cn('group relative', {
9141
+ 'z-10 [&_[data-taco=input-container]]:z-10': focused
9142
+ }),
9143
+ ref: containerRef,
9144
+ // create a new stacking context so our internal z-indexes don't effect external components
9145
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context
9146
+ style: {
9147
+ opacity: 0.999
9148
+ }
9127
9149
  }, input, /*#__PURE__*/React__default.createElement("div", {
9128
9150
  className: settingsClassname,
9129
9151
  onClickCapture: () => {
@@ -16177,7 +16199,7 @@ function DisplayCell(props) {
16177
16199
  index,
16178
16200
  tableRef
16179
16201
  };
16180
- }, [row.original, props.children, value]);
16202
+ }, [row.original, props.children, value, tableMeta.columnFreezing.frozenColumnIndex]);
16181
16203
  const memoedHighlight = React__default.useMemo(() => {
16182
16204
  var _tableMeta$search$que;
16183
16205
  if (!tableMeta.search.isHighlightingEnabled || !columnMeta.enableSearch) {
@@ -16314,6 +16336,7 @@ const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
16314
16336
  const {
16315
16337
  actions,
16316
16338
  actionsLength,
16339
+ fontSize,
16317
16340
  isCurrentRow,
16318
16341
  isEditing,
16319
16342
  isResizingColumn,
@@ -16348,8 +16371,13 @@ const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
16348
16371
  const visibleActions = actions.map(action => action(row.original)).filter(action => !!action);
16349
16372
  const actionsOnRow = visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);
16350
16373
  const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);
16374
+ const className = cn('-mb-2 flex justify-end pl-2 text-right', {
16375
+ // Adjust negative margin on row actions cell to ensure that the cell aligns vertically.
16376
+ '-mt-2': fontSize === 'small',
16377
+ '-mt-1.5': fontSize !== 'small'
16378
+ });
16351
16379
  content = /*#__PURE__*/React__default.createElement("span", {
16352
- className: "-mb-2 -mt-1.5 flex justify-end pl-2 text-right",
16380
+ className: className,
16353
16381
  ref: ref
16354
16382
  }, actionsOnRow.map((button, index) => {
16355
16383
  var _ref, _button$props$tooltip;
@@ -16385,6 +16413,7 @@ function Cell$1(context) {
16385
16413
  return /*#__PURE__*/React__default.createElement(MemoedCell, Object.assign({}, context, {
16386
16414
  actions: tableMeta.rowActions.actionsForRow,
16387
16415
  actionsLength: tableMeta.rowActions.actionsForRowLength,
16416
+ fontSize: tableMeta.fontSize.size,
16388
16417
  isCurrentRow: tableMeta.currentRow.currentRowIndex === rowIndex,
16389
16418
  isEditing: tableMeta.editing.isEditing,
16390
16419
  isResizingColumn: !!context.table.getState().columnSizingInfo.isResizingColumn,
@@ -16766,18 +16795,20 @@ function useSettingsStateListener$1(table, onChangeSettings) {
16766
16795
  React__default.useEffect(() => {
16767
16796
  let handler;
16768
16797
  if (typeof onChangeSettings === 'function') {
16769
- handler = setTimeout(() => onChangeSettings({
16770
- // adding a new setting? you need to add it to the print settings in PrintButton.tsx!
16771
- columnFreezingIndex: meta.columnFreezing.frozenColumnIndex,
16772
- columnOrder: state.columnOrder,
16773
- columnSizing: state.columnSizing,
16774
- columnVisibility: state.columnVisibility,
16775
- excludeUnmatchedRecordsInSearch: meta.search.excludeUnmatchedResults,
16776
- fontSize: meta.fontSize.size,
16777
- rowHeight: meta.rowHeight.height,
16778
- showWarningWhenPrintingLargeDataset: meta.printing.printWarningDialogVisibility,
16779
- sorting: state.sorting
16780
- }), 250);
16798
+ handler = setTimeout(() => {
16799
+ onChangeSettings({
16800
+ // adding a new setting? you need to add it to the print settings in PrintButton.tsx!
16801
+ columnFreezingIndex: meta.columnFreezing.frozenColumnIndex,
16802
+ columnOrder: meta.columnOrdering.isEnabled ? state.columnOrder : undefined,
16803
+ columnSizing: table.options.enableColumnResizing ? state.columnSizing : undefined,
16804
+ columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,
16805
+ excludeUnmatchedRecordsInSearch: meta.search.excludeUnmatchedResults,
16806
+ fontSize: meta.fontSize.isEnabled ? meta.fontSize.size : undefined,
16807
+ rowHeight: meta.rowHeight.isEnabled ? meta.rowHeight.height : undefined,
16808
+ showWarningWhenPrintingLargeDataset: meta.printing.printWarningDialogVisibility,
16809
+ sorting: state.sorting
16810
+ });
16811
+ }, 250);
16781
16812
  }
16782
16813
  return () => clearTimeout(handler);
16783
16814
  }, [meta.columnFreezing.frozenColumnIndex, state.columnOrder, state.columnSizing, state.columnVisibility, meta.search.excludeUnmatchedResults, meta.fontSize.size, meta.rowHeight.height, meta.printing.printWarningDialogVisibility, state.sorting]);
@@ -17551,6 +17582,10 @@ const Textarea = /*#__PURE__*/React.forwardRef(function Textarea(props, ref) {
17551
17582
  // if it has scroll height then the browser reverts to native scrolling behaviour only
17552
17583
  // so we manually override it to ensure _our_ desired behaviour remains intact
17553
17584
  const handleKeyDown = event => {
17585
+ // prevent any external keyboard shortcuts from executing while typing single characters in textarea
17586
+ if (event.key.length === 1) {
17587
+ event.stopPropagation();
17588
+ }
17554
17589
  if (event.key === 'Home' || event.key === 'End') {
17555
17590
  event.preventDefault();
17556
17591
  const position = event.key === 'End' ? event.currentTarget.value.length : 0;
@@ -17569,7 +17604,7 @@ const Textarea = /*#__PURE__*/React.forwardRef(function Textarea(props, ref) {
17569
17604
  }));
17570
17605
  });
17571
17606
 
17572
- const TextAreaControl = /*#__PURE__*/React__default.forwardRef(function TextAreaControl(props, externalRef) {
17607
+ const TextareaControl = /*#__PURE__*/React__default.forwardRef(function TextareaControl(props, externalRef) {
17573
17608
  const {
17574
17609
  onKeyDown: handleKeyDown,
17575
17610
  onChange: handleChange,
@@ -17787,7 +17822,7 @@ const EditingControl = /*#__PURE__*/React__default.forwardRef(function Control(p
17787
17822
  ref: refCallback
17788
17823
  }));
17789
17824
  } else if (controlRenderer === 'textarea') {
17790
- return /*#__PURE__*/React__default.createElement(TextAreaControl, Object.assign({}, props, {
17825
+ return /*#__PURE__*/React__default.createElement(TextareaControl, Object.assign({}, props, {
17791
17826
  isCellInDetailMode: isCellInDetailMode,
17792
17827
  onKeyDown: handleInputKeyDown,
17793
17828
  ref: refCallback
@@ -17899,7 +17934,7 @@ const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditin
17899
17934
  return removeMoveReason;
17900
17935
  }, [value]);
17901
17936
  const controlRenderer = (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.control;
17902
- const className = cn('!px-2 py-[var(--table3-row-padding)]', {
17937
+ const className = cn('!px-[0.4375rem] py-[calc(var(--table3-row-padding)_-_0.06rem)]', {
17903
17938
  relative: (isCurrentRow || isHovered) && controlRenderer === 'textarea',
17904
17939
  // Need to set higher z-index, so that the current row textarea (in expanded state) overlaps rows below
17905
17940
  'z-10': isCurrentRow,
@@ -17919,6 +17954,7 @@ const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditin
17919
17954
  validationErrors: []
17920
17955
  }), /*#__PURE__*/React__default.createElement("div", {
17921
17956
  className: className,
17957
+ "data-align": columnMeta.align,
17922
17958
  "data-column-index": index,
17923
17959
  role: "cell",
17924
17960
  ref: cellRef
@@ -19944,7 +19980,9 @@ const PRINT_STYLES = `
19944
19980
 
19945
19981
  @media print {
19946
19982
  html, body, #root {
19947
- overflow: auto !important;
19983
+ // hides horizontal scrollbar
19984
+ overflow-x: none !important;
19985
+ overflow-y: auto !important;
19948
19986
  height: auto !important;
19949
19987
  width: auto !important;
19950
19988
  }
@@ -20690,11 +20728,6 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
20690
20728
  const bodyRef = React__default.useRef(null);
20691
20729
  React__default.useEffect(() => {
20692
20730
  const handleKeyDown = event => {
20693
- var _bodyRef$current;
20694
- // prevent global shortcuts activating while active in other elements, like inputs or buttons
20695
- if (isEventTriggeredOnInteractiveElement(event.target) && !(bodyRef !== null && bodyRef !== void 0 && (_bodyRef$current = bodyRef.current) !== null && _bodyRef$current !== void 0 && _bodyRef$current.contains(event.target))) {
20696
- return;
20697
- }
20698
20731
  tableMeta.hoverState.handleKeyDown(event);
20699
20732
  tableMeta.currentRow.handleKeyDown(event, table.getRowModel().rows.length, scrollToIndex);
20700
20733
  tableMeta.rowClick.handleKeyDown(event, table);