@coveord/plasma-mantine 56.1.4 → 56.1.5

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 (66) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +54 -53
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.d.ts +3 -3
  5. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.d.ts.map +1 -1
  6. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.js +1 -1
  7. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.js.map +1 -1
  8. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.d.ts +3 -3
  9. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.d.ts.map +1 -1
  10. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.js +1 -1
  11. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.js.map +1 -1
  12. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  13. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  14. package/dist/cjs/components/header/HeaderDocAnchor/HeaderDocAnchor.js +1 -1
  15. package/dist/cjs/components/header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
  16. package/dist/cjs/components/header/HeaderRight/HeaderRight.js +1 -1
  17. package/dist/cjs/components/header/HeaderRight/HeaderRight.js.map +1 -1
  18. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts +1 -1
  19. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  20. package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  21. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts +1 -1
  22. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  23. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  24. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts +1 -1
  25. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  26. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  27. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts +1 -1
  28. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts.map +1 -1
  29. package/dist/cjs/components/table/table-actions/TableActionsList.js.map +1 -1
  30. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.d.ts +3 -3
  31. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.d.ts.map +1 -1
  32. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.js +1 -1
  33. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.js.map +1 -1
  34. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.d.ts +3 -3
  35. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.d.ts.map +1 -1
  36. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.js +1 -1
  37. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.js.map +1 -1
  38. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  39. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  40. package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.js +1 -1
  41. package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
  42. package/dist/esm/components/header/HeaderRight/HeaderRight.js +1 -1
  43. package/dist/esm/components/header/HeaderRight/HeaderRight.js.map +1 -1
  44. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts +1 -1
  45. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  46. package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  47. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts +1 -1
  48. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  49. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  50. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts +1 -1
  51. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  52. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  53. package/dist/esm/components/table/table-actions/TableActionsList.d.ts +1 -1
  54. package/dist/esm/components/table/table-actions/TableActionsList.d.ts.map +1 -1
  55. package/dist/esm/components/table/table-actions/TableActionsList.js.map +1 -1
  56. package/package.json +1 -1
  57. package/src/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.tsx +1 -1
  58. package/src/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.tsx +1 -1
  59. package/src/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.tsx +1 -1
  60. package/src/components/header/HeaderDocAnchor/HeaderDocAnchor.tsx +1 -1
  61. package/src/components/header/HeaderRight/HeaderRight.tsx +1 -1
  62. package/src/components/table/__tests__/Table.spec.tsx +1 -1
  63. package/src/components/table/layouts/row-layout/RowLayout.tsx +1 -1
  64. package/src/components/table/layouts/row-layout/RowLayoutBody.tsx +1 -1
  65. package/src/components/table/layouts/row-layout/RowLayoutHeader.tsx +1 -1
  66. package/src/components/table/table-actions/TableActionsList.tsx +1 -1
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Anchor, Tooltip, factory, useProps } from '@mantine/core';
3
- import { useHeaderContext } from '../Header.context';
3
+ import { useHeaderContext } from '../Header.context.js';
4
4
  import { InfoToken } from '../../info-token/index.js';
5
5
  const defaultProps = {
6
6
  position: 'right',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/header/HeaderDocAnchor/HeaderDocAnchor.tsx"],"sourcesContent":["import {\n Anchor,\n AnchorProps,\n CompoundStylesApiProps,\n Factory,\n Tooltip,\n TooltipProps,\n factory,\n useProps,\n} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {useHeaderContext} from '../Header.context';\nimport {InfoToken} from '../../info-token/index.js';\n\nexport type HeaderDocAnchorStyleNames = 'docAnchorTooltip' | 'docAnchor';\n\nexport interface HeaderDocAnchorProps\n extends Pick<TooltipProps, 'position'>,\n CompoundStylesApiProps<HeaderDocAnchorFactory>,\n Omit<AnchorProps, 'classNames' | 'styles' | 'variant' | 'vars'> {\n /**\n * A href pointing to documentation related to the current panel.\n * When provided, an info icon is rendered next to the title as link to this documentation\n */\n href: string;\n /**\n * The tooltip text shown when hovering over the doc link icon\n */\n label?: ReactNode;\n /**\n * React component to add the tooltip and anchor on\n */\n children?: ReactNode;\n}\n\nexport type HeaderDocAnchorFactory = Factory<{\n props: HeaderDocAnchorProps;\n ref: HTMLAnchorElement;\n stylesNames: HeaderDocAnchorStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<HeaderDocAnchorProps> = {\n position: 'right',\n children: <InfoToken variant=\"question\" />,\n};\n\nexport const HeaderDocAnchor = factory<HeaderDocAnchorFactory>((_props, ref) => {\n const props = useProps('PlasmaHeaderActions', defaultProps, _props);\n const {className, classNames, styles, style, children, label, position, vars, ...others} = props;\n\n const ctx = useHeaderContext();\n\n return (\n <Tooltip\n label={label}\n disabled={!label}\n position={position}\n classNames={{tooltip: ctx.getStyles('docAnchorTooltip', {classNames, styles, props}).className}}\n >\n <Anchor\n ref={ref}\n inline\n target=\"_blank\"\n {...ctx.getStyles('docAnchor', {classNames, styles, props, style, className})}\n {...others}\n >\n {children}\n </Anchor>\n </Tooltip>\n );\n});\n"],"names":["Anchor","Tooltip","factory","useProps","useHeaderContext","InfoToken","defaultProps","position","children","variant","HeaderDocAnchor","_props","ref","props","className","classNames","styles","style","label","vars","others","ctx","disabled","tooltip","getStyles","inline","target"],"mappings":";AAAA,SACIA,MAAM,EAINC,OAAO,EAEPC,OAAO,EACPC,QAAQ,QACL,gBAAgB;AAEvB,SAAQC,gBAAgB,QAAO,oBAAoB;AACnD,SAAQC,SAAS,QAAO,4BAA4B;AA8BpD,MAAMC,eAA8C;IAChDC,UAAU;IACVC,wBAAU,KAACH;QAAUI,SAAQ;;AACjC;AAEA,OAAO,MAAMC,kBAAkBR,QAAgC,CAACS,QAAQC;IACpE,MAAMC,QAAQV,SAAS,uBAAuBG,cAAcK;IAC5D,MAAM,EAACG,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,KAAK,EAAET,QAAQ,EAAEU,KAAK,EAAEX,QAAQ,EAAEY,IAAI,EAAE,GAAGC,QAAO,GAAGP;IAE3F,MAAMQ,MAAMjB;IAEZ,qBACI,KAACH;QACGiB,OAAOA;QACPI,UAAU,CAACJ;QACXX,UAAUA;QACVQ,YAAY;YAACQ,SAASF,IAAIG,SAAS,CAAC,oBAAoB;gBAACT;gBAAYC;gBAAQH;YAAK,GAAGC,SAAS;QAAA;kBAE9F,cAAA,KAACd;YACGY,KAAKA;YACLa,MAAM;YACNC,QAAO;YACN,GAAGL,IAAIG,SAAS,CAAC,aAAa;gBAACT;gBAAYC;gBAAQH;gBAAOI;gBAAOH;YAAS,EAAE;YAC5E,GAAGM,MAAM;sBAETZ;;;AAIjB,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/header/HeaderDocAnchor/HeaderDocAnchor.tsx"],"sourcesContent":["import {\n Anchor,\n AnchorProps,\n CompoundStylesApiProps,\n Factory,\n Tooltip,\n TooltipProps,\n factory,\n useProps,\n} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {useHeaderContext} from '../Header.context.js';\nimport {InfoToken} from '../../info-token/index.js';\n\nexport type HeaderDocAnchorStyleNames = 'docAnchorTooltip' | 'docAnchor';\n\nexport interface HeaderDocAnchorProps\n extends Pick<TooltipProps, 'position'>,\n CompoundStylesApiProps<HeaderDocAnchorFactory>,\n Omit<AnchorProps, 'classNames' | 'styles' | 'variant' | 'vars'> {\n /**\n * A href pointing to documentation related to the current panel.\n * When provided, an info icon is rendered next to the title as link to this documentation\n */\n href: string;\n /**\n * The tooltip text shown when hovering over the doc link icon\n */\n label?: ReactNode;\n /**\n * React component to add the tooltip and anchor on\n */\n children?: ReactNode;\n}\n\nexport type HeaderDocAnchorFactory = Factory<{\n props: HeaderDocAnchorProps;\n ref: HTMLAnchorElement;\n stylesNames: HeaderDocAnchorStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<HeaderDocAnchorProps> = {\n position: 'right',\n children: <InfoToken variant=\"question\" />,\n};\n\nexport const HeaderDocAnchor = factory<HeaderDocAnchorFactory>((_props, ref) => {\n const props = useProps('PlasmaHeaderActions', defaultProps, _props);\n const {className, classNames, styles, style, children, label, position, vars, ...others} = props;\n\n const ctx = useHeaderContext();\n\n return (\n <Tooltip\n label={label}\n disabled={!label}\n position={position}\n classNames={{tooltip: ctx.getStyles('docAnchorTooltip', {classNames, styles, props}).className}}\n >\n <Anchor\n ref={ref}\n inline\n target=\"_blank\"\n {...ctx.getStyles('docAnchor', {classNames, styles, props, style, className})}\n {...others}\n >\n {children}\n </Anchor>\n </Tooltip>\n );\n});\n"],"names":["Anchor","Tooltip","factory","useProps","useHeaderContext","InfoToken","defaultProps","position","children","variant","HeaderDocAnchor","_props","ref","props","className","classNames","styles","style","label","vars","others","ctx","disabled","tooltip","getStyles","inline","target"],"mappings":";AAAA,SACIA,MAAM,EAINC,OAAO,EAEPC,OAAO,EACPC,QAAQ,QACL,gBAAgB;AAEvB,SAAQC,gBAAgB,QAAO,uBAAuB;AACtD,SAAQC,SAAS,QAAO,4BAA4B;AA8BpD,MAAMC,eAA8C;IAChDC,UAAU;IACVC,wBAAU,KAACH;QAAUI,SAAQ;;AACjC;AAEA,OAAO,MAAMC,kBAAkBR,QAAgC,CAACS,QAAQC;IACpE,MAAMC,QAAQV,SAAS,uBAAuBG,cAAcK;IAC5D,MAAM,EAACG,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,KAAK,EAAET,QAAQ,EAAEU,KAAK,EAAEX,QAAQ,EAAEY,IAAI,EAAE,GAAGC,QAAO,GAAGP;IAE3F,MAAMQ,MAAMjB;IAEZ,qBACI,KAACH;QACGiB,OAAOA;QACPI,UAAU,CAACJ;QACXX,UAAUA;QACVQ,YAAY;YAACQ,SAASF,IAAIG,SAAS,CAAC,oBAAoB;gBAACT;gBAAYC;gBAAQH;YAAK,GAAGC,SAAS;QAAA;kBAE9F,cAAA,KAACd;YACGY,KAAKA;YACLa,MAAM;YACNC,QAAO;YACN,GAAGL,IAAIG,SAAS,CAAC,aAAa;gBAACT;gBAAYC;gBAAQH;gBAAOI;gBAAOH;YAAS,EAAE;YAC5E,GAAGM,MAAM;sBAETZ;;;AAIjB,GAAG"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Group, factory, useProps } from '@mantine/core';
3
- import { useHeaderContext } from '../Header.context';
3
+ import { useHeaderContext } from '../Header.context.js';
4
4
  const defaultProps = {
5
5
  gap: 'sm'
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/header/HeaderRight/HeaderRight.tsx"],"sourcesContent":["import {CompoundStylesApiProps, Factory, Group, GroupProps, factory, useProps} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {useHeaderContext} from '../Header.context';\n\nexport type HeaderRightStyleNames = 'right';\n\nexport interface HeaderRightProps\n extends Omit<GroupProps, 'classNames' | 'styles' | 'vars' | 'children'>,\n CompoundStylesApiProps<HeaderRightFactory> {\n children: ReactNode;\n}\n\nexport type HeaderRightFactory = Factory<{\n props: HeaderRightProps;\n ref: HTMLDivElement;\n stylesNames: HeaderRightStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<HeaderRightProps> = {\n gap: 'sm',\n};\n\nexport const HeaderRight = factory<HeaderRightFactory>((_props, ref) => {\n const props = useProps('HeaderRight', defaultProps, _props);\n const {gap, className, classNames, styles, style, children, vars, ...others} = props;\n const ctx = useHeaderContext();\n\n return (\n <Group\n ref={ref}\n gap={gap}\n {...ctx.getStyles('right', {className, style, classNames, styles, props})}\n {...others}\n >\n {children}\n </Group>\n );\n});\n"],"names":["Group","factory","useProps","useHeaderContext","defaultProps","gap","HeaderRight","_props","ref","props","className","classNames","styles","style","children","vars","others","ctx","getStyles"],"mappings":";AAAA,SAAyCA,KAAK,EAAcC,OAAO,EAAEC,QAAQ,QAAO,gBAAgB;AAEpG,SAAQC,gBAAgB,QAAO,oBAAoB;AAiBnD,MAAMC,eAA0C;IAC5CC,KAAK;AACT;AAEA,OAAO,MAAMC,cAAcL,QAA4B,CAACM,QAAQC;IAC5D,MAAMC,QAAQP,SAAS,eAAeE,cAAcG;IACpD,MAAM,EAACF,GAAG,EAAEK,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,IAAI,EAAE,GAAGC,QAAO,GAAGP;IAC/E,MAAMQ,MAAMd;IAEZ,qBACI,KAACH;QACGQ,KAAKA;QACLH,KAAKA;QACJ,GAAGY,IAAIC,SAAS,CAAC,SAAS;YAACR;YAAWG;YAAOF;YAAYC;YAAQH;QAAK,EAAE;QACxE,GAAGO,MAAM;kBAETF;;AAGb,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/header/HeaderRight/HeaderRight.tsx"],"sourcesContent":["import {CompoundStylesApiProps, Factory, Group, GroupProps, factory, useProps} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {useHeaderContext} from '../Header.context.js';\n\nexport type HeaderRightStyleNames = 'right';\n\nexport interface HeaderRightProps\n extends Omit<GroupProps, 'classNames' | 'styles' | 'vars' | 'children'>,\n CompoundStylesApiProps<HeaderRightFactory> {\n children: ReactNode;\n}\n\nexport type HeaderRightFactory = Factory<{\n props: HeaderRightProps;\n ref: HTMLDivElement;\n stylesNames: HeaderRightStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<HeaderRightProps> = {\n gap: 'sm',\n};\n\nexport const HeaderRight = factory<HeaderRightFactory>((_props, ref) => {\n const props = useProps('HeaderRight', defaultProps, _props);\n const {gap, className, classNames, styles, style, children, vars, ...others} = props;\n const ctx = useHeaderContext();\n\n return (\n <Group\n ref={ref}\n gap={gap}\n {...ctx.getStyles('right', {className, style, classNames, styles, props})}\n {...others}\n >\n {children}\n </Group>\n );\n});\n"],"names":["Group","factory","useProps","useHeaderContext","defaultProps","gap","HeaderRight","_props","ref","props","className","classNames","styles","style","children","vars","others","ctx","getStyles"],"mappings":";AAAA,SAAyCA,KAAK,EAAcC,OAAO,EAAEC,QAAQ,QAAO,gBAAgB;AAEpG,SAAQC,gBAAgB,QAAO,uBAAuB;AAiBtD,MAAMC,eAA0C;IAC5CC,KAAK;AACT;AAEA,OAAO,MAAMC,cAAcL,QAA4B,CAACM,QAAQC;IAC5D,MAAMC,QAAQP,SAAS,eAAeE,cAAcG;IACpD,MAAM,EAACF,GAAG,EAAEK,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,IAAI,EAAE,GAAGC,QAAO,GAAGP;IAC/E,MAAMQ,MAAMd;IAEZ,qBACI,KAACH;QACGQ,KAAKA;QACLH,KAAKA;QACJ,GAAGY,IAAIC,SAAS,CAAC,SAAS;YAACR;YAAWG;YAAOF;YAAYC;YAAQH;QAAK,EAAE;QACxE,GAAGO,MAAM;kBAETF;;AAGb,GAAG"}
@@ -1,6 +1,6 @@
1
1
  import { Factory, MantineComponent, StylesApiProps } from '@mantine/core';
2
2
  import { ReactNode } from 'react';
3
- import { TableLayout } from '../../Table.types';
3
+ import { TableLayout } from '../../Table.types.js';
4
4
  import { RowLayoutBodyStylesNames } from './RowLayoutBody.js';
5
5
  import { RowLayoutHeaderStyleNames } from './RowLayoutHeader.js';
6
6
  type RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutBodyStylesNames;
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAgB,wBAAwB,EAAC,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EAAkB,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAEhF,KAAK,oBAAoB,GAAG,yBAAyB,GAAG,wBAAwB,CAAC;AACjF,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;IACnC,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,gBAAgB,EAAE,WAAW,CAAC;CACjC,CAAC,CAAC;AAGH,eAAO,MAAM,SAAS,EAYhB,gBAAgB,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAgB,wBAAwB,EAAC,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EAAkB,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAEhF,KAAK,oBAAoB,GAAG,yBAAyB,GAAG,wBAAwB,CAAC;AACjF,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;IACnC,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,gBAAgB,EAAE,WAAW,CAAC;CACjC,CAAC,CAAC;AAGH,eAAO,MAAM,SAAS,EAYhB,gBAAgB,CAAC,gBAAgB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"sourcesContent":["import {IconList} from '@coveord/plasma-react-icons';\nimport {Factory, MantineComponent, StylesApiProps, useProps, useStyles} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {identity} from '../../../../utils/index.js';\nimport {TableLayout} from '../../Table.types';\nimport classes from './RowLayout.module.css';\nimport {RowLayoutBody, RowLayoutBodyStylesNames} from './RowLayoutBody.js';\nimport {RowLayoutProvider} from './RowLayoutContext.js';\nimport {RowLayoutHeader, RowLayoutHeaderStyleNames} from './RowLayoutHeader.js';\n\ntype RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutBodyStylesNames;\nexport interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {\n children: ReactNode;\n}\n\nexport type RowLayoutFactory = Factory<{\n ref?: never;\n props: RowLayoutProps;\n stylesNames: RowLayoutStylesNames;\n staticComponents: TableLayout;\n}>;\nconst defaultProps: Partial<RowLayoutProps> = {};\n\nexport const RowLayout = ((props: RowLayoutProps) => {\n const {children, styles, classNames, unstyled} = useProps('PlasmaRowLayout', defaultProps, props);\n const getStyles = useStyles<RowLayoutFactory>({\n name: 'PlasmaRowLayout',\n classes,\n props,\n styles,\n classNames,\n unstyled,\n });\n\n return <RowLayoutProvider value={{getStyles}}>{children}</RowLayoutProvider>;\n}) as MantineComponent<RowLayoutFactory>;\n\nRowLayout.Body = RowLayoutBody;\nRowLayout.Header = RowLayoutHeader;\nRowLayout.Icon = IconList;\nRowLayout.displayName = 'Rows';\nRowLayout.extend = identity;\n"],"names":["IconList","useProps","useStyles","identity","classes","RowLayoutBody","RowLayoutProvider","RowLayoutHeader","defaultProps","RowLayout","props","children","styles","classNames","unstyled","getStyles","name","value","Body","Header","Icon","displayName","extend"],"mappings":";AAAA,SAAQA,QAAQ,QAAO,8BAA8B;AACrD,SAAmDC,QAAQ,EAAEC,SAAS,QAAO,gBAAgB;AAE7F,SAAQC,QAAQ,QAAO,6BAA6B;AAEpD,OAAOC,aAAa,yBAAyB;AAC7C,SAAQC,aAAa,QAAiC,qBAAqB;AAC3E,SAAQC,iBAAiB,QAAO,wBAAwB;AACxD,SAAQC,eAAe,QAAkC,uBAAuB;AAahF,MAAMC,eAAwC,CAAC;AAE/C,OAAO,MAAMC,YAAa,CAACC;IACvB,MAAM,EAACC,QAAQ,EAAEC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAC,GAAGb,SAAS,mBAAmBO,cAAcE;IAC3F,MAAMK,YAAYb,UAA4B;QAC1Cc,MAAM;QACNZ;QACAM;QACAE;QACAC;QACAC;IACJ;IAEA,qBAAO,KAACR;QAAkBW,OAAO;YAACF;QAAS;kBAAIJ;;AACnD,EAAyC;AAEzCF,UAAUS,IAAI,GAAGb;AACjBI,UAAUU,MAAM,GAAGZ;AACnBE,UAAUW,IAAI,GAAGpB;AACjBS,UAAUY,WAAW,GAAG;AACxBZ,UAAUa,MAAM,GAAGnB"}
1
+ {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"sourcesContent":["import {IconList} from '@coveord/plasma-react-icons';\nimport {Factory, MantineComponent, StylesApiProps, useProps, useStyles} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {identity} from '../../../../utils/index.js';\nimport {TableLayout} from '../../Table.types.js';\nimport classes from './RowLayout.module.css';\nimport {RowLayoutBody, RowLayoutBodyStylesNames} from './RowLayoutBody.js';\nimport {RowLayoutProvider} from './RowLayoutContext.js';\nimport {RowLayoutHeader, RowLayoutHeaderStyleNames} from './RowLayoutHeader.js';\n\ntype RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutBodyStylesNames;\nexport interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {\n children: ReactNode;\n}\n\nexport type RowLayoutFactory = Factory<{\n ref?: never;\n props: RowLayoutProps;\n stylesNames: RowLayoutStylesNames;\n staticComponents: TableLayout;\n}>;\nconst defaultProps: Partial<RowLayoutProps> = {};\n\nexport const RowLayout = ((props: RowLayoutProps) => {\n const {children, styles, classNames, unstyled} = useProps('PlasmaRowLayout', defaultProps, props);\n const getStyles = useStyles<RowLayoutFactory>({\n name: 'PlasmaRowLayout',\n classes,\n props,\n styles,\n classNames,\n unstyled,\n });\n\n return <RowLayoutProvider value={{getStyles}}>{children}</RowLayoutProvider>;\n}) as MantineComponent<RowLayoutFactory>;\n\nRowLayout.Body = RowLayoutBody;\nRowLayout.Header = RowLayoutHeader;\nRowLayout.Icon = IconList;\nRowLayout.displayName = 'Rows';\nRowLayout.extend = identity;\n"],"names":["IconList","useProps","useStyles","identity","classes","RowLayoutBody","RowLayoutProvider","RowLayoutHeader","defaultProps","RowLayout","props","children","styles","classNames","unstyled","getStyles","name","value","Body","Header","Icon","displayName","extend"],"mappings":";AAAA,SAAQA,QAAQ,QAAO,8BAA8B;AACrD,SAAmDC,QAAQ,EAAEC,SAAS,QAAO,gBAAgB;AAE7F,SAAQC,QAAQ,QAAO,6BAA6B;AAEpD,OAAOC,aAAa,yBAAyB;AAC7C,SAAQC,aAAa,QAAiC,qBAAqB;AAC3E,SAAQC,iBAAiB,QAAO,wBAAwB;AACxD,SAAQC,eAAe,QAAkC,uBAAuB;AAahF,MAAMC,eAAwC,CAAC;AAE/C,OAAO,MAAMC,YAAa,CAACC;IACvB,MAAM,EAACC,QAAQ,EAAEC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAC,GAAGb,SAAS,mBAAmBO,cAAcE;IAC3F,MAAMK,YAAYb,UAA4B;QAC1Cc,MAAM;QACNZ;QACAM;QACAE;QACAC;QACAC;IACJ;IAEA,qBAAO,KAACR;QAAkBW,OAAO;YAACF;QAAS;kBAAIJ;;AACnD,EAAyC;AAEzCF,UAAUS,IAAI,GAAGb;AACjBI,UAAUU,MAAM,GAAGZ;AACnBE,UAAUW,IAAI,GAAGpB;AACjBS,UAAUY,WAAW,GAAG;AACxBZ,UAAUa,MAAM,GAAGnB"}
@@ -1,7 +1,7 @@
1
1
  import { BoxProps, CompoundStylesApiProps, Factory } from '@mantine/core';
2
2
  import { ForwardedRef } from 'react';
3
3
  import { CustomComponentThemeExtend } from '../../../../utils/index.js';
4
- import { TableLayoutProps } from '../../Table.types';
4
+ import { TableLayoutProps } from '../../Table.types.js';
5
5
  export type RowLayoutBodyStylesNames = 'row' | 'cell' | 'collapsibleRow' | 'collapsibleWrapper';
6
6
  export interface RowLayoutBodyProps<T> extends BoxProps, TableLayoutProps<T>, CompoundStylesApiProps<RowLayoutBodyFactory> {
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayoutBody.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,QAAQ,EAAY,sBAAsB,EAAE,OAAO,EAAW,MAAM,eAAe,CAAC;AAGjG,OAAO,EAAC,YAAY,EAA4B,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAC,0BAA0B,EAAW,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAOnD,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAEhG,MAAM,WAAW,kBAAkB,CAAC,CAAC,CACjC,SAAQ,QAAQ,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,sBAAsB,CAAC,oBAAoB,CAAC;CAAG;AAEvD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IACvC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,GAAG,EAAE,mBAAmB,CAAC;IACzB,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAIH,eAAO,MAAM,aAAa;KAAI,CAAC,SAAU,kBAAkB,CAAC,CAAC,CAAC,GAAG;QAAC,GAAG,CAAC,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAA;KAAC;;eAR/F,kBAAkB,CAAC,OAAO,CAAC;aAC7B,mBAAmB;qBACX,wBAAwB;kBAC3B,IAAI;;CA6GjB,CAAC"}
1
+ {"version":3,"file":"RowLayoutBody.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,QAAQ,EAAY,sBAAsB,EAAE,OAAO,EAAW,MAAM,eAAe,CAAC;AAGjG,OAAO,EAAC,YAAY,EAA4B,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAC,0BAA0B,EAAW,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAOtD,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAEhG,MAAM,WAAW,kBAAkB,CAAC,CAAC,CACjC,SAAQ,QAAQ,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,sBAAsB,CAAC,oBAAoB,CAAC;CAAG;AAEvD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IACvC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,GAAG,EAAE,mBAAmB,CAAC;IACzB,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAIH,eAAO,MAAM,aAAa;KAAI,CAAC,SAAU,kBAAkB,CAAC,CAAC,CAAC,GAAG;QAAC,GAAG,CAAC,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAA;KAAC;;eAR/F,kBAAkB,CAAC,OAAO,CAAC;aAC7B,mBAAmB;qBACX,wBAAwB;kBAC3B,IAAI;;CA6GjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"sourcesContent":["import {Box, BoxProps, Collapse, CompoundStylesApiProps, Factory, useProps} from '@mantine/core';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {ForwardedRef, Fragment, type MouseEvent} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils/index.js';\nimport {TableLayoutProps} from '../../Table.types';\nimport {useTableContext} from '../../TableContext.js';\nimport {TableCollapsibleColumn} from '../../table-column/TableCollapsibleColumn.js';\nimport {TableSelectableColumn} from '../../table-column/TableSelectableColumn.js';\nimport {TableLoading} from '../../table-loading/TableLoading.js';\nimport {useRowLayout} from './RowLayoutContext.js';\n\nexport type RowLayoutBodyStylesNames = 'row' | 'cell' | 'collapsibleRow' | 'collapsibleWrapper';\n\nexport interface RowLayoutBodyProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\nexport type RowLayoutBodyFactory = Factory<{\n props: RowLayoutBodyProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutBodyStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutBodyProps<unknown>> = {};\n\nexport const RowLayoutBody = <T,>(props: RowLayoutBodyProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {\n getRowExpandedContent,\n onRowDoubleClick,\n loading,\n classNames,\n className,\n styles,\n style,\n getRowAttributes,\n ...others\n } = useProps('RowLayoutBody', defaultProps as RowLayoutBodyProps<T>, props);\n const {table, store} = useTableContext<T>();\n const toggleCollapsible = (el: HTMLTableRowElement) => {\n const cell = el.children[el.children.length - 1] as HTMLTableCellElement;\n cell.querySelector('button').click();\n };\n\n const rows = table.getRowModel()?.rows.map((row) => {\n const rowChildren = getRowExpandedContent?.(row.original, row.index, row) ?? null;\n const isSelected = !!row.getIsSelected();\n const shouldKeepSelection = store.rowSelectionForced && isSelected;\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (rowChildren) {\n toggleCollapsible(event.currentTarget);\n }\n if (store.rowSelectionEnabled && !store.multiRowSelectionEnabled && !shouldKeepSelection) {\n row.toggleSelected();\n }\n };\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={onClick}\n onDoubleClick={() => {\n onRowDoubleClick?.(row.original, row.index, row);\n }}\n data-selectable={store.rowSelectionEnabled}\n data-selected={isSelected}\n data-multi-selection={store.multiRowSelectionEnabled}\n aria-selected={isSelected}\n data-testid={row.id}\n {...ctx.getStyles('row', {classNames, className, styles, style})}\n {...(getRowAttributes?.(row.original, row.index, row) ?? {})}\n {...others}\n >\n {row.getVisibleCells().map((cell) => {\n const columnSizing = {\n ...defaultColumnSizing,\n size: cell.column.columnDef.size,\n minSize: cell.column.columnDef.minSize,\n maxSize: cell.column.columnDef.maxSize,\n };\n\n const onCollapsibleCellClick = (event: MouseEvent<HTMLTableCellElement>) => {\n if (cell.column.id === TableSelectableColumn.id && store.rowSelectionEnabled) {\n event.stopPropagation();\n }\n };\n\n return (\n <td\n key={cell.id}\n data-testid={cell.id}\n className={ctx.getStyles('cell', {classNames, styles}).className}\n style={{\n width: columnSizing.size ? `${columnSizing.size}px` : 'auto',\n minWidth: `${columnSizing.minSize}px`,\n maxWidth: `${columnSizing.maxSize}px`,\n ...ctx.getStyles('cell', {classNames, styles}).style,\n }}\n data-collapsible-cell={cell.column.id === TableCollapsibleColumn.id}\n onClick={onCollapsibleCellClick}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr {...ctx.getStyles('collapsibleRow', {classNames, styles})}>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box {...ctx.getStyles('collapsibleWrapper', {classNames, styles})} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nRowLayoutBody.extend = identity as CustomComponentThemeExtend<RowLayoutBodyFactory>;\n"],"names":["Box","Collapse","useProps","flexRender","defaultColumnSizing","Fragment","identity","useTableContext","TableCollapsibleColumn","TableSelectableColumn","TableLoading","useRowLayout","defaultProps","RowLayoutBody","props","ctx","getRowExpandedContent","onRowDoubleClick","loading","classNames","className","styles","style","getRowAttributes","others","table","store","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","map","row","rowChildren","original","index","isSelected","getIsSelected","shouldKeepSelection","rowSelectionForced","onClick","event","currentTarget","rowSelectionEnabled","multiRowSelectionEnabled","toggleSelected","tr","onDoubleClick","data-selectable","data-selected","data-multi-selection","aria-selected","data-testid","id","getStyles","getVisibleCells","columnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","stopPropagation","td","width","minWidth","maxWidth","data-collapsible-cell","visible","getContext","colSpan","getAllColumns","padding","in","getIsExpanded","px","py","extend"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"sourcesContent":["import {Box, BoxProps, Collapse, CompoundStylesApiProps, Factory, useProps} from '@mantine/core';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {ForwardedRef, Fragment, type MouseEvent} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils/index.js';\nimport {TableLayoutProps} from '../../Table.types.js';\nimport {useTableContext} from '../../TableContext.js';\nimport {TableCollapsibleColumn} from '../../table-column/TableCollapsibleColumn.js';\nimport {TableSelectableColumn} from '../../table-column/TableSelectableColumn.js';\nimport {TableLoading} from '../../table-loading/TableLoading.js';\nimport {useRowLayout} from './RowLayoutContext.js';\n\nexport type RowLayoutBodyStylesNames = 'row' | 'cell' | 'collapsibleRow' | 'collapsibleWrapper';\n\nexport interface RowLayoutBodyProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\nexport type RowLayoutBodyFactory = Factory<{\n props: RowLayoutBodyProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutBodyStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutBodyProps<unknown>> = {};\n\nexport const RowLayoutBody = <T,>(props: RowLayoutBodyProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {\n getRowExpandedContent,\n onRowDoubleClick,\n loading,\n classNames,\n className,\n styles,\n style,\n getRowAttributes,\n ...others\n } = useProps('RowLayoutBody', defaultProps as RowLayoutBodyProps<T>, props);\n const {table, store} = useTableContext<T>();\n const toggleCollapsible = (el: HTMLTableRowElement) => {\n const cell = el.children[el.children.length - 1] as HTMLTableCellElement;\n cell.querySelector('button').click();\n };\n\n const rows = table.getRowModel()?.rows.map((row) => {\n const rowChildren = getRowExpandedContent?.(row.original, row.index, row) ?? null;\n const isSelected = !!row.getIsSelected();\n const shouldKeepSelection = store.rowSelectionForced && isSelected;\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (rowChildren) {\n toggleCollapsible(event.currentTarget);\n }\n if (store.rowSelectionEnabled && !store.multiRowSelectionEnabled && !shouldKeepSelection) {\n row.toggleSelected();\n }\n };\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={onClick}\n onDoubleClick={() => {\n onRowDoubleClick?.(row.original, row.index, row);\n }}\n data-selectable={store.rowSelectionEnabled}\n data-selected={isSelected}\n data-multi-selection={store.multiRowSelectionEnabled}\n aria-selected={isSelected}\n data-testid={row.id}\n {...ctx.getStyles('row', {classNames, className, styles, style})}\n {...(getRowAttributes?.(row.original, row.index, row) ?? {})}\n {...others}\n >\n {row.getVisibleCells().map((cell) => {\n const columnSizing = {\n ...defaultColumnSizing,\n size: cell.column.columnDef.size,\n minSize: cell.column.columnDef.minSize,\n maxSize: cell.column.columnDef.maxSize,\n };\n\n const onCollapsibleCellClick = (event: MouseEvent<HTMLTableCellElement>) => {\n if (cell.column.id === TableSelectableColumn.id && store.rowSelectionEnabled) {\n event.stopPropagation();\n }\n };\n\n return (\n <td\n key={cell.id}\n data-testid={cell.id}\n className={ctx.getStyles('cell', {classNames, styles}).className}\n style={{\n width: columnSizing.size ? `${columnSizing.size}px` : 'auto',\n minWidth: `${columnSizing.minSize}px`,\n maxWidth: `${columnSizing.maxSize}px`,\n ...ctx.getStyles('cell', {classNames, styles}).style,\n }}\n data-collapsible-cell={cell.column.id === TableCollapsibleColumn.id}\n onClick={onCollapsibleCellClick}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr {...ctx.getStyles('collapsibleRow', {classNames, styles})}>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box {...ctx.getStyles('collapsibleWrapper', {classNames, styles})} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nRowLayoutBody.extend = identity as CustomComponentThemeExtend<RowLayoutBodyFactory>;\n"],"names":["Box","Collapse","useProps","flexRender","defaultColumnSizing","Fragment","identity","useTableContext","TableCollapsibleColumn","TableSelectableColumn","TableLoading","useRowLayout","defaultProps","RowLayoutBody","props","ctx","getRowExpandedContent","onRowDoubleClick","loading","classNames","className","styles","style","getRowAttributes","others","table","store","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","map","row","rowChildren","original","index","isSelected","getIsSelected","shouldKeepSelection","rowSelectionForced","onClick","event","currentTarget","rowSelectionEnabled","multiRowSelectionEnabled","toggleSelected","tr","onDoubleClick","data-selectable","data-selected","data-multi-selection","aria-selected","data-testid","id","getStyles","getVisibleCells","columnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","stopPropagation","td","width","minWidth","maxWidth","data-collapsible-cell","visible","getContext","colSpan","getAllColumns","padding","in","getIsExpanded","px","py","extend"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { BoxProps, CompoundStylesApiProps } from '@mantine/core';
2
2
  import { ForwardedRef } from 'react';
3
3
  import { CustomComponentThemeExtend } from '../../../../utils/index.js';
4
- import { TableLayoutProps } from '../../Table.types';
4
+ import { TableLayoutProps } from '../../Table.types.js';
5
5
  import { RowLayoutBodyFactory } from './RowLayoutBody.js';
6
6
  export type RowLayoutHeaderStyleNames = 'headerRow';
7
7
  export interface RowLayoutHeaderProps<T> extends BoxProps, TableLayoutProps<T>, CompoundStylesApiProps<RowLayoutBodyFactory> {
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayoutHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,sBAAsB,EAAoB,MAAM,eAAe,CAAC;AAClF,OAAO,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAC,0BAA0B,EAAW,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAGxD,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,oBAAoB,CAAC,CAAC,CACnC,SAAQ,QAAQ,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,sBAAsB,CAAC,oBAAoB,CAAC;CAAG;AAWvD,eAAO,MAAM,eAAe;KAAI,CAAC,SAAU,oBAAoB,CAAC,CAAC,CAAC,GAAG;QAAC,GAAG,CAAC,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAA;KAAC;;eARnG,oBAAoB,CAAC,OAAO,CAAC;aAC/B,mBAAmB;qBACX,yBAAyB;kBAC5B,IAAI;;CAmCjB,CAAC"}
1
+ {"version":3,"file":"RowLayoutHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,sBAAsB,EAAoB,MAAM,eAAe,CAAC;AAClF,OAAO,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAC,0BAA0B,EAAW,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAGxD,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,oBAAoB,CAAC,CAAC,CACnC,SAAQ,QAAQ,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,sBAAsB,CAAC,oBAAoB,CAAC;CAAG;AAWvD,eAAO,MAAM,eAAe;KAAI,CAAC,SAAU,oBAAoB,CAAC,CAAC,CAAC,GAAG;QAAC,GAAG,CAAC,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAA;KAAC;;eARnG,oBAAoB,CAAC,OAAO,CAAC;aAC/B,mBAAmB;qBACX,yBAAyB;kBAC5B,IAAI;;CAmCjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutHeader.tsx"],"sourcesContent":["import {BoxProps, CompoundStylesApiProps, Factory, useProps} from '@mantine/core';\nimport {ForwardedRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils/index.js';\nimport {TableLayoutProps} from '../../Table.types';\nimport {useTableContext} from '../../TableContext.js';\nimport {Th} from '../../table-header/Th.js';\nimport {RowLayoutBodyFactory} from './RowLayoutBody.js';\nimport {useRowLayout} from './RowLayoutContext.js';\n\nexport type RowLayoutHeaderStyleNames = 'headerRow';\n\nexport interface RowLayoutHeaderProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\ntype RowLayoutHeaderFactory = Factory<{\n props: RowLayoutHeaderProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutHeaderStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutHeaderProps<unknown>> = {};\n\nexport const RowLayoutHeader = <T,>(props: RowLayoutHeaderProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {\n getRowExpandedContent: _getRowExpandedContent,\n getRowActions: _getRowActions,\n loading: _loading,\n getRowAttributes: _getRowAttributes,\n onRowDoubleClick: _onRowDoubleClick,\n className,\n style,\n classNames,\n styles,\n ...others\n } = useProps('RowLayoutHeader', defaultProps as RowLayoutHeaderProps<T>, props);\n const {table, store} = useTableContext<T>();\n\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr\n key={headerGroup.id}\n data-selectable={store.rowSelectionEnabled}\n data-multi-selection={store.multiRowSelectionEnabled}\n {...ctx.getStyles('headerRow', {className, classNames, styles, style})}\n {...others}\n >\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\nRowLayoutHeader.extend = identity as CustomComponentThemeExtend<RowLayoutHeaderFactory>;\n"],"names":["useProps","identity","useTableContext","Th","useRowLayout","defaultProps","RowLayoutHeader","props","ctx","getRowExpandedContent","_getRowExpandedContent","getRowActions","_getRowActions","loading","_loading","getRowAttributes","_getRowAttributes","onRowDoubleClick","_onRowDoubleClick","className","style","classNames","styles","others","table","store","headers","getHeaderGroups","map","headerGroup","tr","data-selectable","rowSelectionEnabled","data-multi-selection","multiRowSelectionEnabled","getStyles","columnHeader","header","id","extend"],"mappings":";AAAA,SAAmDA,QAAQ,QAAO,gBAAgB;AAElF,SAAoCC,QAAQ,QAAO,6BAA6B;AAEhF,SAAQC,eAAe,QAAO,wBAAwB;AACtD,SAAQC,EAAE,QAAO,2BAA2B;AAE5C,SAAQC,YAAY,QAAO,wBAAwB;AAgBnD,MAAMC,eAAuD,CAAC;AAE9D,OAAO,MAAMC,kBAAkB,CAAKC;IAChC,MAAMC,MAAMJ;IACZ,MAAM,EACFK,uBAAuBC,sBAAsB,EAC7CC,eAAeC,cAAc,EAC7BC,SAASC,QAAQ,EACjBC,kBAAkBC,iBAAiB,EACnCC,kBAAkBC,iBAAiB,EACnCC,SAAS,EACTC,KAAK,EACLC,UAAU,EACVC,MAAM,EACN,GAAGC,QACN,GAAGvB,SAAS,mBAAmBK,cAAyCE;IACzE,MAAM,EAACiB,KAAK,EAAEC,KAAK,EAAC,GAAGvB;IAEvB,MAAMwB,UAAUF,MAAMG,eAAe,GAAGC,GAAG,CAAC,CAACC,4BACzC,KAACC;YAEGC,mBAAiBN,MAAMO,mBAAmB;YAC1CC,wBAAsBR,MAAMS,wBAAwB;YACnD,GAAG1B,IAAI2B,SAAS,CAAC,aAAa;gBAAChB;gBAAWE;gBAAYC;gBAAQF;YAAK,EAAE;YACrE,GAAGG,MAAM;sBAETM,YAAYH,OAAO,CAACE,GAAG,CAAC,CAACQ,6BACtB,KAACjC;oBAAyBkC,QAAQD;mBAAzBA,aAAaE,EAAE;WAPvBT,YAAYS,EAAE;IAW3B,qBAAO;kBAAGZ;;AACd,EAAE;AACFpB,gBAAgBiC,MAAM,GAAGtC"}
1
+ {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutHeader.tsx"],"sourcesContent":["import {BoxProps, CompoundStylesApiProps, Factory, useProps} from '@mantine/core';\nimport {ForwardedRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils/index.js';\nimport {TableLayoutProps} from '../../Table.types.js';\nimport {useTableContext} from '../../TableContext.js';\nimport {Th} from '../../table-header/Th.js';\nimport {RowLayoutBodyFactory} from './RowLayoutBody.js';\nimport {useRowLayout} from './RowLayoutContext.js';\n\nexport type RowLayoutHeaderStyleNames = 'headerRow';\n\nexport interface RowLayoutHeaderProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\ntype RowLayoutHeaderFactory = Factory<{\n props: RowLayoutHeaderProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutHeaderStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutHeaderProps<unknown>> = {};\n\nexport const RowLayoutHeader = <T,>(props: RowLayoutHeaderProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {\n getRowExpandedContent: _getRowExpandedContent,\n getRowActions: _getRowActions,\n loading: _loading,\n getRowAttributes: _getRowAttributes,\n onRowDoubleClick: _onRowDoubleClick,\n className,\n style,\n classNames,\n styles,\n ...others\n } = useProps('RowLayoutHeader', defaultProps as RowLayoutHeaderProps<T>, props);\n const {table, store} = useTableContext<T>();\n\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr\n key={headerGroup.id}\n data-selectable={store.rowSelectionEnabled}\n data-multi-selection={store.multiRowSelectionEnabled}\n {...ctx.getStyles('headerRow', {className, classNames, styles, style})}\n {...others}\n >\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\nRowLayoutHeader.extend = identity as CustomComponentThemeExtend<RowLayoutHeaderFactory>;\n"],"names":["useProps","identity","useTableContext","Th","useRowLayout","defaultProps","RowLayoutHeader","props","ctx","getRowExpandedContent","_getRowExpandedContent","getRowActions","_getRowActions","loading","_loading","getRowAttributes","_getRowAttributes","onRowDoubleClick","_onRowDoubleClick","className","style","classNames","styles","others","table","store","headers","getHeaderGroups","map","headerGroup","tr","data-selectable","rowSelectionEnabled","data-multi-selection","multiRowSelectionEnabled","getStyles","columnHeader","header","id","extend"],"mappings":";AAAA,SAAmDA,QAAQ,QAAO,gBAAgB;AAElF,SAAoCC,QAAQ,QAAO,6BAA6B;AAEhF,SAAQC,eAAe,QAAO,wBAAwB;AACtD,SAAQC,EAAE,QAAO,2BAA2B;AAE5C,SAAQC,YAAY,QAAO,wBAAwB;AAgBnD,MAAMC,eAAuD,CAAC;AAE9D,OAAO,MAAMC,kBAAkB,CAAKC;IAChC,MAAMC,MAAMJ;IACZ,MAAM,EACFK,uBAAuBC,sBAAsB,EAC7CC,eAAeC,cAAc,EAC7BC,SAASC,QAAQ,EACjBC,kBAAkBC,iBAAiB,EACnCC,kBAAkBC,iBAAiB,EACnCC,SAAS,EACTC,KAAK,EACLC,UAAU,EACVC,MAAM,EACN,GAAGC,QACN,GAAGvB,SAAS,mBAAmBK,cAAyCE;IACzE,MAAM,EAACiB,KAAK,EAAEC,KAAK,EAAC,GAAGvB;IAEvB,MAAMwB,UAAUF,MAAMG,eAAe,GAAGC,GAAG,CAAC,CAACC,4BACzC,KAACC;YAEGC,mBAAiBN,MAAMO,mBAAmB;YAC1CC,wBAAsBR,MAAMS,wBAAwB;YACnD,GAAG1B,IAAI2B,SAAS,CAAC,aAAa;gBAAChB;gBAAWE;gBAAYC;gBAAQF;YAAK,EAAE;YACrE,GAAGG,MAAM;sBAETM,YAAYH,OAAO,CAACE,GAAG,CAAC,CAACQ,6BACtB,KAACjC;oBAAyBkC,QAAQD;mBAAzBA,aAAaE,EAAE;WAPvBT,YAAYS,EAAE;IAW3B,qBAAO;kBAAGZ;;AACd,EAAE;AACFpB,gBAAgBiC,MAAM,GAAGtC"}
@@ -1,6 +1,6 @@
1
1
  import { CompoundStylesApiProps, ExtendComponent, Factory, MenuProps } from '@mantine/core';
2
2
  import { ReactNode } from 'react';
3
- import { TableAction } from '../Table.types';
3
+ import { TableAction } from '../Table.types.js';
4
4
  export type TableActionsListStylesNames = 'actionsTarget' | 'actionsDropdown' | 'actionsTooltip' | 'actionsGroup' | 'actionsGroupLabel' | 'actionsGroupDivider' | 'actionsGroupItems';
5
5
  export interface TableActionsListProps extends Omit<MenuProps, 'classNames' | 'styles' | 'vars' | 'variant'>, CompoundStylesApiProps<TableActionsListFactory> {
6
6
  actions: TableAction[];
@@ -1 +1 @@
1
- {"version":3,"file":"TableActionsList.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-actions/TableActionsList.tsx"],"names":[],"mappings":"AACA,OAAO,EAEH,sBAAsB,EAEtB,eAAe,EACf,OAAO,EAEP,SAAS,EAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAoB,SAAS,EAAW,MAAM,OAAO,CAAC;AAI7D,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAI3C,MAAM,MAAM,2BAA2B,GACjC,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,mBAAmB,GACnB,qBAAqB,GACrB,mBAAmB,CAAC;AAE1B,MAAM,WAAW,qBACb,SAAQ,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC,EACjE,sBAAsB,CAAC,uBAAuB,CAAC;IACnD,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,KAAK,uBAAuB,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,2BAA2B,CAAC;IACzC,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC;CACjC,CAAC,CAAC;AAmBH,eAAO,MAAM,gBAAgB;YAAW,qBAAqB;kBAuI3B,eAAe,CAAC,uBAAuB,CAAC;eA/J/D,qBAAqB;aACvB,cAAc;qBACN,2BAA2B;kBAC9B,IAAI;iBACL,OAAO,GAAG,UAAU;;CAoIhC,CAAC"}
1
+ {"version":3,"file":"TableActionsList.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-actions/TableActionsList.tsx"],"names":[],"mappings":"AACA,OAAO,EAEH,sBAAsB,EAEtB,eAAe,EACf,OAAO,EAEP,SAAS,EAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAoB,SAAS,EAAW,MAAM,OAAO,CAAC;AAI7D,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAI9C,MAAM,MAAM,2BAA2B,GACjC,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,mBAAmB,GACnB,qBAAqB,GACrB,mBAAmB,CAAC;AAE1B,MAAM,WAAW,qBACb,SAAQ,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC,EACjE,sBAAsB,CAAC,uBAAuB,CAAC;IACnD,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,KAAK,uBAAuB,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,2BAA2B,CAAC;IACzC,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC;CACjC,CAAC,CAAC;AAmBH,eAAO,MAAM,gBAAgB;YAAW,qBAAqB;kBAuI3B,eAAe,CAAC,uBAAuB,CAAC;eA/J/D,qBAAqB;aACvB,cAAc;qBACN,2BAA2B;kBAC9B,IAAI;iBACL,OAAO,GAAG,UAAU;;CAoIhC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-actions/TableActionsList.tsx"],"sourcesContent":["import {MoreSize16Px} from '@coveord/plasma-react-icons';\nimport {\n Box,\n CompoundStylesApiProps,\n CSSProperties,\n ExtendComponent,\n Factory,\n Menu,\n MenuProps,\n Tooltip,\n useProps,\n} from '@mantine/core';\nimport {MouseEventHandler, ReactNode, useState} from 'react';\nimport {ActionIcon} from '../../action-icon/index.js';\nimport {Button} from '../../button/index.js';\nimport {InlineConfirm} from '../../inline-confirm/index.js';\nimport {TableAction} from '../Table.types';\nimport {useTableContext} from '../TableContext.js';\nimport {TableActionProvider} from './TableActionContext.js';\n\nexport type TableActionsListStylesNames =\n | 'actionsTarget'\n | 'actionsDropdown'\n | 'actionsTooltip'\n | 'actionsGroup'\n | 'actionsGroupLabel'\n | 'actionsGroupDivider'\n | 'actionsGroupItems';\n\nexport interface TableActionsListProps\n extends Omit<MenuProps, 'classNames' | 'styles' | 'vars' | 'variant'>,\n CompoundStylesApiProps<TableActionsListFactory> {\n actions: TableAction[];\n /**\n * Label for the more menu\n * @default 'More' when variant is 'split', 'Actions' when variant is 'combined'\n */\n label?: string;\n /**\n * Label for the primary actions group when variant is 'combined'\n * @default ''\n */\n primaryGroupLabel?: string;\n icon?: ReactNode;\n}\n\ntype TableActionsListFactory = Factory<{\n props: TableActionsListProps;\n ref: HTMLDivElement;\n stylesNames: TableActionsListStylesNames;\n compound: true;\n variant: 'split' | 'combined';\n}>;\n\nconst defaultProps: Partial<TableActionsListProps> = {\n label: 'More',\n primaryGroupLabel: '',\n icon: <MoreSize16Px height={16} />,\n};\n\ninterface ActionsDict {\n $$primary: TableAction[];\n $$confirmPrompt: TableAction[];\n secondary: Record<string, Array<TableAction['component']>>;\n}\n\ninterface ActionGroup {\n name: string;\n actions: ReactNode[];\n}\n\nexport const TableActionsList = (props: TableActionsListProps) => {\n const {getStyles} = useTableContext();\n const {\n actions,\n icon,\n label,\n primaryGroupLabel,\n classNames,\n styles,\n vars: _vars,\n variant,\n ...others\n } = useProps('PlasmaTableActionsListColumn', defaultProps, props);\n const [opened, setOpened] = useState(false);\n\n const onClick: MouseEventHandler = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setOpened((prevState) => !prevState);\n };\n const onChange = (newOpened: boolean) => {\n if (!newOpened) {\n setOpened(false);\n }\n };\n\n const actionsGroups: ActionsDict = actions.reduce<ActionsDict>(\n (acc, action) => {\n if (action.group === '$$primary') {\n acc.$$primary.push(action);\n } else if (action.group === '$$confirmPrompt') {\n acc.$$confirmPrompt.push(action);\n } else {\n if (acc.secondary[action.group]) {\n acc.secondary[action.group].push(action.component);\n } else {\n acc.secondary[action.group] = [action.component];\n }\n }\n return acc;\n },\n {$$primary: [], $$confirmPrompt: [], secondary: {}},\n );\n\n const primaryActions = actionsGroups.$$primary.map((action) => action.component);\n const confirmPrompts = actionsGroups.$$confirmPrompt.map((confirmPromptAction) => confirmPromptAction.component);\n const secondaryActionGroups = Object.entries(actionsGroups.secondary).map(\n ([group, groupActions]): ActionGroup => ({\n name: group,\n actions: groupActions,\n }),\n );\n\n if (variant === 'split') {\n return (\n <InlineConfirm>\n {confirmPrompts}\n <TableActionProvider value={{primary: true}}>{primaryActions}</TableActionProvider>\n {secondaryActionGroups.length > 0 ? (\n <TableActionProvider value={{primary: false}}>\n <Menu withinPortal={false} {...others} keepMounted>\n <Menu.Target>\n <Button.Quaternary\n {...getStyles('actionsTarget', {styles, classNames})}\n leftSection={icon}\n >\n {label}\n </Button.Quaternary>\n </Menu.Target>\n <Menu.Dropdown {...getStyles('actionsDropdown', {styles, classNames})}>\n <ActionsGroupsMenuItems\n classNames={classNames}\n styles={styles}\n actionGroups={secondaryActionGroups}\n />\n </Menu.Dropdown>\n </Menu>\n </TableActionProvider>\n ) : null}\n </InlineConfirm>\n );\n }\n return (\n <InlineConfirm>\n {confirmPrompts}\n <TableActionProvider value={{primary: false}}>\n <Menu opened={opened} onChange={onChange} {...others} keepMounted>\n <Menu.Target>\n <Tooltip label={label} {...getStyles('actionsTooltip', {styles, classNames})}>\n <ActionIcon.Quaternary\n {...getStyles('actionsTarget', {styles, classNames})}\n onClick={onClick}\n >\n {icon}\n </ActionIcon.Quaternary>\n </Tooltip>\n </Menu.Target>\n <Menu.Dropdown {...getStyles('actionsDropdown', {styles, classNames})}>\n <ActionsGroupsMenuItems\n classNames={classNames}\n styles={styles}\n actionGroups={\n primaryActions.length > 0\n ? [{name: primaryGroupLabel, actions: primaryActions}, ...secondaryActionGroups]\n : secondaryActionGroups\n }\n />\n </Menu.Dropdown>\n </Menu>\n </TableActionProvider>\n </InlineConfirm>\n );\n};\n\ninterface ActionsGroupsMenuItemsProps {\n styles: Partial<Record<TableActionsListStylesNames, CSSProperties>>;\n classNames: Partial<Record<TableActionsListStylesNames, string>>;\n actionGroups: ActionGroup[];\n}\n\nconst ActionsGroupsMenuItems = ({styles, classNames, actionGroups}: ActionsGroupsMenuItemsProps) => {\n const {getStyles} = useTableContext();\n return actionGroups.map(({name, actions}, index) => (\n <Box key={name} {...getStyles('actionsGroup', {styles, classNames})}>\n {actionGroups.length > 1 ? (\n <Menu.Label {...getStyles('actionsGroupLabel', {styles, classNames})}>{name}</Menu.Label>\n ) : null}\n <Box {...getStyles('actionsGroupItems', {styles, classNames})}>{actions}</Box>\n {index < actionGroups.length - 1 ? (\n <Menu.Divider {...getStyles('actionsGroupDivider', {styles, classNames})} />\n ) : null}\n </Box>\n ));\n};\n\nTableActionsList.extend = (input: ExtendComponent<TableActionsListFactory>) => input;\n"],"names":["MoreSize16Px","Box","Menu","Tooltip","useProps","useState","ActionIcon","Button","InlineConfirm","useTableContext","TableActionProvider","defaultProps","label","primaryGroupLabel","icon","height","TableActionsList","props","getStyles","actions","classNames","styles","vars","_vars","variant","others","opened","setOpened","onClick","e","preventDefault","stopPropagation","prevState","onChange","newOpened","actionsGroups","reduce","acc","action","group","$$primary","push","$$confirmPrompt","secondary","component","primaryActions","map","confirmPrompts","confirmPromptAction","secondaryActionGroups","Object","entries","groupActions","name","value","primary","length","withinPortal","keepMounted","Target","Quaternary","leftSection","Dropdown","ActionsGroupsMenuItems","actionGroups","index","Label","Divider","extend","input"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-actions/TableActionsList.tsx"],"sourcesContent":["import {MoreSize16Px} from '@coveord/plasma-react-icons';\nimport {\n Box,\n CompoundStylesApiProps,\n CSSProperties,\n ExtendComponent,\n Factory,\n Menu,\n MenuProps,\n Tooltip,\n useProps,\n} from '@mantine/core';\nimport {MouseEventHandler, ReactNode, useState} from 'react';\nimport {ActionIcon} from '../../action-icon/index.js';\nimport {Button} from '../../button/index.js';\nimport {InlineConfirm} from '../../inline-confirm/index.js';\nimport {TableAction} from '../Table.types.js';\nimport {useTableContext} from '../TableContext.js';\nimport {TableActionProvider} from './TableActionContext.js';\n\nexport type TableActionsListStylesNames =\n | 'actionsTarget'\n | 'actionsDropdown'\n | 'actionsTooltip'\n | 'actionsGroup'\n | 'actionsGroupLabel'\n | 'actionsGroupDivider'\n | 'actionsGroupItems';\n\nexport interface TableActionsListProps\n extends Omit<MenuProps, 'classNames' | 'styles' | 'vars' | 'variant'>,\n CompoundStylesApiProps<TableActionsListFactory> {\n actions: TableAction[];\n /**\n * Label for the more menu\n * @default 'More' when variant is 'split', 'Actions' when variant is 'combined'\n */\n label?: string;\n /**\n * Label for the primary actions group when variant is 'combined'\n * @default ''\n */\n primaryGroupLabel?: string;\n icon?: ReactNode;\n}\n\ntype TableActionsListFactory = Factory<{\n props: TableActionsListProps;\n ref: HTMLDivElement;\n stylesNames: TableActionsListStylesNames;\n compound: true;\n variant: 'split' | 'combined';\n}>;\n\nconst defaultProps: Partial<TableActionsListProps> = {\n label: 'More',\n primaryGroupLabel: '',\n icon: <MoreSize16Px height={16} />,\n};\n\ninterface ActionsDict {\n $$primary: TableAction[];\n $$confirmPrompt: TableAction[];\n secondary: Record<string, Array<TableAction['component']>>;\n}\n\ninterface ActionGroup {\n name: string;\n actions: ReactNode[];\n}\n\nexport const TableActionsList = (props: TableActionsListProps) => {\n const {getStyles} = useTableContext();\n const {\n actions,\n icon,\n label,\n primaryGroupLabel,\n classNames,\n styles,\n vars: _vars,\n variant,\n ...others\n } = useProps('PlasmaTableActionsListColumn', defaultProps, props);\n const [opened, setOpened] = useState(false);\n\n const onClick: MouseEventHandler = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setOpened((prevState) => !prevState);\n };\n const onChange = (newOpened: boolean) => {\n if (!newOpened) {\n setOpened(false);\n }\n };\n\n const actionsGroups: ActionsDict = actions.reduce<ActionsDict>(\n (acc, action) => {\n if (action.group === '$$primary') {\n acc.$$primary.push(action);\n } else if (action.group === '$$confirmPrompt') {\n acc.$$confirmPrompt.push(action);\n } else {\n if (acc.secondary[action.group]) {\n acc.secondary[action.group].push(action.component);\n } else {\n acc.secondary[action.group] = [action.component];\n }\n }\n return acc;\n },\n {$$primary: [], $$confirmPrompt: [], secondary: {}},\n );\n\n const primaryActions = actionsGroups.$$primary.map((action) => action.component);\n const confirmPrompts = actionsGroups.$$confirmPrompt.map((confirmPromptAction) => confirmPromptAction.component);\n const secondaryActionGroups = Object.entries(actionsGroups.secondary).map(\n ([group, groupActions]): ActionGroup => ({\n name: group,\n actions: groupActions,\n }),\n );\n\n if (variant === 'split') {\n return (\n <InlineConfirm>\n {confirmPrompts}\n <TableActionProvider value={{primary: true}}>{primaryActions}</TableActionProvider>\n {secondaryActionGroups.length > 0 ? (\n <TableActionProvider value={{primary: false}}>\n <Menu withinPortal={false} {...others} keepMounted>\n <Menu.Target>\n <Button.Quaternary\n {...getStyles('actionsTarget', {styles, classNames})}\n leftSection={icon}\n >\n {label}\n </Button.Quaternary>\n </Menu.Target>\n <Menu.Dropdown {...getStyles('actionsDropdown', {styles, classNames})}>\n <ActionsGroupsMenuItems\n classNames={classNames}\n styles={styles}\n actionGroups={secondaryActionGroups}\n />\n </Menu.Dropdown>\n </Menu>\n </TableActionProvider>\n ) : null}\n </InlineConfirm>\n );\n }\n return (\n <InlineConfirm>\n {confirmPrompts}\n <TableActionProvider value={{primary: false}}>\n <Menu opened={opened} onChange={onChange} {...others} keepMounted>\n <Menu.Target>\n <Tooltip label={label} {...getStyles('actionsTooltip', {styles, classNames})}>\n <ActionIcon.Quaternary\n {...getStyles('actionsTarget', {styles, classNames})}\n onClick={onClick}\n >\n {icon}\n </ActionIcon.Quaternary>\n </Tooltip>\n </Menu.Target>\n <Menu.Dropdown {...getStyles('actionsDropdown', {styles, classNames})}>\n <ActionsGroupsMenuItems\n classNames={classNames}\n styles={styles}\n actionGroups={\n primaryActions.length > 0\n ? [{name: primaryGroupLabel, actions: primaryActions}, ...secondaryActionGroups]\n : secondaryActionGroups\n }\n />\n </Menu.Dropdown>\n </Menu>\n </TableActionProvider>\n </InlineConfirm>\n );\n};\n\ninterface ActionsGroupsMenuItemsProps {\n styles: Partial<Record<TableActionsListStylesNames, CSSProperties>>;\n classNames: Partial<Record<TableActionsListStylesNames, string>>;\n actionGroups: ActionGroup[];\n}\n\nconst ActionsGroupsMenuItems = ({styles, classNames, actionGroups}: ActionsGroupsMenuItemsProps) => {\n const {getStyles} = useTableContext();\n return actionGroups.map(({name, actions}, index) => (\n <Box key={name} {...getStyles('actionsGroup', {styles, classNames})}>\n {actionGroups.length > 1 ? (\n <Menu.Label {...getStyles('actionsGroupLabel', {styles, classNames})}>{name}</Menu.Label>\n ) : null}\n <Box {...getStyles('actionsGroupItems', {styles, classNames})}>{actions}</Box>\n {index < actionGroups.length - 1 ? (\n <Menu.Divider {...getStyles('actionsGroupDivider', {styles, classNames})} />\n ) : null}\n </Box>\n ));\n};\n\nTableActionsList.extend = (input: ExtendComponent<TableActionsListFactory>) => input;\n"],"names":["MoreSize16Px","Box","Menu","Tooltip","useProps","useState","ActionIcon","Button","InlineConfirm","useTableContext","TableActionProvider","defaultProps","label","primaryGroupLabel","icon","height","TableActionsList","props","getStyles","actions","classNames","styles","vars","_vars","variant","others","opened","setOpened","onClick","e","preventDefault","stopPropagation","prevState","onChange","newOpened","actionsGroups","reduce","acc","action","group","$$primary","push","$$confirmPrompt","secondary","component","primaryActions","map","confirmPrompts","confirmPromptAction","secondaryActionGroups","Object","entries","groupActions","name","value","primary","length","withinPortal","keepMounted","Target","Quaternary","leftSection","Dropdown","ActionsGroupsMenuItems","actionGroups","index","Label","Divider","extend","input"],"mappings":";AAAA,SAAQA,YAAY,QAAO,8BAA8B;AACzD,SACIC,GAAG,EAKHC,IAAI,EAEJC,OAAO,EACPC,QAAQ,QACL,gBAAgB;AACvB,SAAsCC,QAAQ,QAAO,QAAQ;AAC7D,SAAQC,UAAU,QAAO,6BAA6B;AACtD,SAAQC,MAAM,QAAO,wBAAwB;AAC7C,SAAQC,aAAa,QAAO,gCAAgC;AAE5D,SAAQC,eAAe,QAAO,qBAAqB;AACnD,SAAQC,mBAAmB,QAAO,0BAA0B;AAoC5D,MAAMC,eAA+C;IACjDC,OAAO;IACPC,mBAAmB;IACnBC,oBAAM,KAACd;QAAae,QAAQ;;AAChC;AAaA,OAAO,MAAMC,mBAAmB,CAACC;IAC7B,MAAM,EAACC,SAAS,EAAC,GAAGT;IACpB,MAAM,EACFU,OAAO,EACPL,IAAI,EACJF,KAAK,EACLC,iBAAiB,EACjBO,UAAU,EACVC,MAAM,EACNC,MAAMC,KAAK,EACXC,OAAO,EACP,GAAGC,QACN,GAAGrB,SAAS,gCAAgCO,cAAcM;IAC3D,MAAM,CAACS,QAAQC,UAAU,GAAGtB,SAAS;IAErC,MAAMuB,UAA6B,CAACC;QAChCA,EAAEC,cAAc;QAChBD,EAAEE,eAAe;QACjBJ,UAAU,CAACK,YAAc,CAACA;IAC9B;IACA,MAAMC,WAAW,CAACC;QACd,IAAI,CAACA,WAAW;YACZP,UAAU;QACd;IACJ;IAEA,MAAMQ,gBAA6BhB,QAAQiB,MAAM,CAC7C,CAACC,KAAKC;QACF,IAAIA,OAAOC,KAAK,KAAK,aAAa;YAC9BF,IAAIG,SAAS,CAACC,IAAI,CAACH;QACvB,OAAO,IAAIA,OAAOC,KAAK,KAAK,mBAAmB;YAC3CF,IAAIK,eAAe,CAACD,IAAI,CAACH;QAC7B,OAAO;YACH,IAAID,IAAIM,SAAS,CAACL,OAAOC,KAAK,CAAC,EAAE;gBAC7BF,IAAIM,SAAS,CAACL,OAAOC,KAAK,CAAC,CAACE,IAAI,CAACH,OAAOM,SAAS;YACrD,OAAO;gBACHP,IAAIM,SAAS,CAACL,OAAOC,KAAK,CAAC,GAAG;oBAACD,OAAOM,SAAS;iBAAC;YACpD;QACJ;QACA,OAAOP;IACX,GACA;QAACG,WAAW,EAAE;QAAEE,iBAAiB,EAAE;QAAEC,WAAW,CAAC;IAAC;IAGtD,MAAME,iBAAiBV,cAAcK,SAAS,CAACM,GAAG,CAAC,CAACR,SAAWA,OAAOM,SAAS;IAC/E,MAAMG,iBAAiBZ,cAAcO,eAAe,CAACI,GAAG,CAAC,CAACE,sBAAwBA,oBAAoBJ,SAAS;IAC/G,MAAMK,wBAAwBC,OAAOC,OAAO,CAAChB,cAAcQ,SAAS,EAAEG,GAAG,CACrE,CAAC,CAACP,OAAOa,aAAa,GAAmB,CAAA;YACrCC,MAAMd;YACNpB,SAASiC;QACb,CAAA;IAGJ,IAAI5B,YAAY,SAAS;QACrB,qBACI,MAAChB;;gBACIuC;8BACD,KAACrC;oBAAoB4C,OAAO;wBAACC,SAAS;oBAAI;8BAAIV;;gBAC7CI,sBAAsBO,MAAM,GAAG,kBAC5B,KAAC9C;oBAAoB4C,OAAO;wBAACC,SAAS;oBAAK;8BACvC,cAAA,MAACrD;wBAAKuD,cAAc;wBAAQ,GAAGhC,MAAM;wBAAEiC,WAAW;;0CAC9C,KAACxD,KAAKyD,MAAM;0CACR,cAAA,KAACpD,OAAOqD,UAAU;oCACb,GAAG1C,UAAU,iBAAiB;wCAACG;wCAAQD;oCAAU,EAAE;oCACpDyC,aAAa/C;8CAEZF;;;0CAGT,KAACV,KAAK4D,QAAQ;gCAAE,GAAG5C,UAAU,mBAAmB;oCAACG;oCAAQD;gCAAU,EAAE;0CACjE,cAAA,KAAC2C;oCACG3C,YAAYA;oCACZC,QAAQA;oCACR2C,cAAcf;;;;;qBAK9B;;;IAGhB;IACA,qBACI,MAACzC;;YACIuC;0BACD,KAACrC;gBAAoB4C,OAAO;oBAACC,SAAS;gBAAK;0BACvC,cAAA,MAACrD;oBAAKwB,QAAQA;oBAAQO,UAAUA;oBAAW,GAAGR,MAAM;oBAAEiC,WAAW;;sCAC7D,KAACxD,KAAKyD,MAAM;sCACR,cAAA,KAACxD;gCAAQS,OAAOA;gCAAQ,GAAGM,UAAU,kBAAkB;oCAACG;oCAAQD;gCAAU,EAAE;0CACxE,cAAA,KAACd,WAAWsD,UAAU;oCACjB,GAAG1C,UAAU,iBAAiB;wCAACG;wCAAQD;oCAAU,EAAE;oCACpDQ,SAASA;8CAERd;;;;sCAIb,KAACZ,KAAK4D,QAAQ;4BAAE,GAAG5C,UAAU,mBAAmB;gCAACG;gCAAQD;4BAAU,EAAE;sCACjE,cAAA,KAAC2C;gCACG3C,YAAYA;gCACZC,QAAQA;gCACR2C,cACInB,eAAeW,MAAM,GAAG,IAClB;oCAAC;wCAACH,MAAMxC;wCAAmBM,SAAS0B;oCAAc;uCAAMI;iCAAsB,GAC9EA;;;;;;;;AAQtC,EAAE;AAQF,MAAMc,yBAAyB,CAAC,EAAC1C,MAAM,EAAED,UAAU,EAAE4C,YAAY,EAA8B;IAC3F,MAAM,EAAC9C,SAAS,EAAC,GAAGT;IACpB,OAAOuD,aAAalB,GAAG,CAAC,CAAC,EAACO,IAAI,EAAElC,OAAO,EAAC,EAAE8C,sBACtC,MAAChE;YAAgB,GAAGiB,UAAU,gBAAgB;gBAACG;gBAAQD;YAAU,EAAE;;gBAC9D4C,aAAaR,MAAM,GAAG,kBACnB,KAACtD,KAAKgE,KAAK;oBAAE,GAAGhD,UAAU,qBAAqB;wBAACG;wBAAQD;oBAAU,EAAE;8BAAGiC;qBACvE;8BACJ,KAACpD;oBAAK,GAAGiB,UAAU,qBAAqB;wBAACG;wBAAQD;oBAAU,EAAE;8BAAGD;;gBAC/D8C,QAAQD,aAAaR,MAAM,GAAG,kBAC3B,KAACtD,KAAKiE,OAAO;oBAAE,GAAGjD,UAAU,uBAAuB;wBAACG;wBAAQD;oBAAU,EAAE;qBACxE;;WAPEiC;AAUlB;AAEArC,iBAAiBoD,MAAM,GAAG,CAACC,QAAoDA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coveord/plasma-mantine",
3
- "version": "56.1.4",
3
+ "version": "56.1.5",
4
4
  "description": "A Plasma flavoured Mantine theme",
5
5
  "keywords": [
6
6
  "plasma",
@@ -1,5 +1,5 @@
1
1
  import {Anchor, type AnchorProps, type PolymorphicFactory, polymorphicFactory} from '@mantine/core';
2
- import {useHeaderContext} from '../Header.context';
2
+ import {useHeaderContext} from '../Header.context.js';
3
3
 
4
4
  export type HeaderBreadcrumbAnchorStyleNames = 'breadcrumbAnchor';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import {type PolymorphicFactory, polymorphicFactory, Text, type TextProps} from '@mantine/core';
2
- import {useHeaderContext} from '../Header.context';
2
+ import {useHeaderContext} from '../Header.context.js';
3
3
 
4
4
  export type HeaderBreadcrumbTextStyleNames = 'breadcrumbText';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import {Breadcrumbs, BreadcrumbsProps, CompoundStylesApiProps, Factory, factory} from '@mantine/core';
2
- import {useHeaderContext} from '../Header.context';
2
+ import {useHeaderContext} from '../Header.context.js';
3
3
 
4
4
  export type HeaderBreadcrumbsStyleNames = 'breadcrumbsRoot' | 'breadcrumbsSeparator';
5
5
  export interface HeaderBreadcrumbsProps
@@ -9,7 +9,7 @@ import {
9
9
  useProps,
10
10
  } from '@mantine/core';
11
11
  import {ReactNode} from 'react';
12
- import {useHeaderContext} from '../Header.context';
12
+ import {useHeaderContext} from '../Header.context.js';
13
13
  import {InfoToken} from '../../info-token/index.js';
14
14
 
15
15
  export type HeaderDocAnchorStyleNames = 'docAnchorTooltip' | 'docAnchor';
@@ -1,6 +1,6 @@
1
1
  import {CompoundStylesApiProps, Factory, Group, GroupProps, factory, useProps} from '@mantine/core';
2
2
  import {ReactNode} from 'react';
3
- import {useHeaderContext} from '../Header.context';
3
+ import {useHeaderContext} from '../Header.context.js';
4
4
 
5
5
  export type HeaderRightStyleNames = 'right';
6
6
 
@@ -3,7 +3,7 @@ import {render, screen, userEvent, within} from '@test-utils';
3
3
 
4
4
  import {useState} from 'react';
5
5
  import {Table} from '../Table.js';
6
- import {TableLayout} from '../Table.types';
6
+ import {TableLayout} from '../Table.types.js';
7
7
  import {useTable} from '../use-table.js';
8
8
 
9
9
  type RowData = {id: string; firstName: string; lastName?: string};
@@ -2,7 +2,7 @@ import {IconList} from '@coveord/plasma-react-icons';
2
2
  import {Factory, MantineComponent, StylesApiProps, useProps, useStyles} from '@mantine/core';
3
3
  import {ReactNode} from 'react';
4
4
  import {identity} from '../../../../utils/index.js';
5
- import {TableLayout} from '../../Table.types';
5
+ import {TableLayout} from '../../Table.types.js';
6
6
  import classes from './RowLayout.module.css';
7
7
  import {RowLayoutBody, RowLayoutBodyStylesNames} from './RowLayoutBody.js';
8
8
  import {RowLayoutProvider} from './RowLayoutContext.js';
@@ -3,7 +3,7 @@ import {flexRender} from '@tanstack/react-table';
3
3
  import {defaultColumnSizing} from '@tanstack/table-core';
4
4
  import {ForwardedRef, Fragment, type MouseEvent} from 'react';
5
5
  import {CustomComponentThemeExtend, identity} from '../../../../utils/index.js';
6
- import {TableLayoutProps} from '../../Table.types';
6
+ import {TableLayoutProps} from '../../Table.types.js';
7
7
  import {useTableContext} from '../../TableContext.js';
8
8
  import {TableCollapsibleColumn} from '../../table-column/TableCollapsibleColumn.js';
9
9
  import {TableSelectableColumn} from '../../table-column/TableSelectableColumn.js';
@@ -1,7 +1,7 @@
1
1
  import {BoxProps, CompoundStylesApiProps, Factory, useProps} from '@mantine/core';
2
2
  import {ForwardedRef} from 'react';
3
3
  import {CustomComponentThemeExtend, identity} from '../../../../utils/index.js';
4
- import {TableLayoutProps} from '../../Table.types';
4
+ import {TableLayoutProps} from '../../Table.types.js';
5
5
  import {useTableContext} from '../../TableContext.js';
6
6
  import {Th} from '../../table-header/Th.js';
7
7
  import {RowLayoutBodyFactory} from './RowLayoutBody.js';
@@ -14,7 +14,7 @@ import {MouseEventHandler, ReactNode, useState} from 'react';
14
14
  import {ActionIcon} from '../../action-icon/index.js';
15
15
  import {Button} from '../../button/index.js';
16
16
  import {InlineConfirm} from '../../inline-confirm/index.js';
17
- import {TableAction} from '../Table.types';
17
+ import {TableAction} from '../Table.types.js';
18
18
  import {useTableContext} from '../TableContext.js';
19
19
  import {TableActionProvider} from './TableActionContext.js';
20
20