@coveord/plasma-mantine 54.0.0 → 54.0.2

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 (85) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +42 -38
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/collection/Collection.d.ts.map +1 -1
  5. package/dist/cjs/components/collection/CollectionContext.d.ts +1 -1
  6. package/dist/cjs/components/collection/CollectionContext.d.ts.map +1 -1
  7. package/dist/cjs/components/collection/enhanceWithCollectionProps.d.ts +1 -6
  8. package/dist/cjs/components/collection/enhanceWithCollectionProps.d.ts.map +1 -1
  9. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  10. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  11. package/dist/cjs/components/header/Header.context.d.ts +1 -1
  12. package/dist/cjs/components/header/Header.context.d.ts.map +1 -1
  13. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -10
  14. package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts +1 -1
  15. package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
  16. package/dist/cjs/components/menu/Menu.d.ts +1 -1
  17. package/dist/cjs/components/table/Table.d.ts.map +1 -1
  18. package/dist/cjs/components/table/Table.js +17 -0
  19. package/dist/cjs/components/table/Table.js.map +1 -1
  20. package/dist/cjs/components/table/TableContext.d.ts.map +1 -1
  21. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  22. package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts +1 -1
  23. package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
  24. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  25. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts +1 -1
  26. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts.map +1 -1
  27. package/dist/cjs/components/table/table-actions/TableHeaderActions.d.ts.map +1 -1
  28. package/dist/cjs/components/table/table-actions/TableHeaderActions.js +10 -5
  29. package/dist/cjs/components/table/table-actions/TableHeaderActions.js.map +1 -1
  30. package/dist/cjs/components/table/table-header/Th.d.ts.map +1 -1
  31. package/dist/cjs/components/table/use-table.d.ts.map +1 -1
  32. package/dist/cjs/hooks/useControlledList.d.ts.map +1 -1
  33. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  34. package/dist/cjs/theme/Theme.js +0 -6
  35. package/dist/cjs/theme/Theme.js.map +1 -1
  36. package/dist/cjs/utils/createFactoryComponent.d.ts.map +1 -1
  37. package/dist/cjs/utils/overrideComponent.d.ts.map +1 -1
  38. package/dist/esm/components/collection/Collection.d.ts.map +1 -1
  39. package/dist/esm/components/collection/CollectionContext.d.ts +1 -1
  40. package/dist/esm/components/collection/CollectionContext.d.ts.map +1 -1
  41. package/dist/esm/components/collection/enhanceWithCollectionProps.d.ts +1 -6
  42. package/dist/esm/components/collection/enhanceWithCollectionProps.d.ts.map +1 -1
  43. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  44. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  45. package/dist/esm/components/header/Header.context.d.ts +1 -1
  46. package/dist/esm/components/header/Header.context.d.ts.map +1 -1
  47. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -10
  48. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts +1 -1
  49. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
  50. package/dist/esm/components/menu/Menu.d.ts +1 -1
  51. package/dist/esm/components/table/Table.d.ts.map +1 -1
  52. package/dist/esm/components/table/Table.js +20 -1
  53. package/dist/esm/components/table/Table.js.map +1 -1
  54. package/dist/esm/components/table/TableContext.d.ts.map +1 -1
  55. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  56. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts +1 -1
  57. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
  58. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  59. package/dist/esm/components/table/table-actions/TableActionContext.d.ts +1 -1
  60. package/dist/esm/components/table/table-actions/TableActionContext.d.ts.map +1 -1
  61. package/dist/esm/components/table/table-actions/TableHeaderActions.d.ts.map +1 -1
  62. package/dist/esm/components/table/table-actions/TableHeaderActions.js +10 -5
  63. package/dist/esm/components/table/table-actions/TableHeaderActions.js.map +1 -1
  64. package/dist/esm/components/table/table-header/Th.d.ts.map +1 -1
  65. package/dist/esm/components/table/use-table.d.ts.map +1 -1
  66. package/dist/esm/hooks/useControlledList.d.ts.map +1 -1
  67. package/dist/esm/theme/Theme.d.ts.map +1 -1
  68. package/dist/esm/theme/Theme.js +1 -7
  69. package/dist/esm/theme/Theme.js.map +1 -1
  70. package/dist/esm/utils/createFactoryComponent.d.ts.map +1 -1
  71. package/dist/esm/utils/overrideComponent.d.ts.map +1 -1
  72. package/package.json +35 -34
  73. package/src/components/button/__tests__/ButtonWithDisabledTooltip.spec.tsx +1 -1
  74. package/src/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.tsx +4 -4
  75. package/src/components/header/__tests__/Header.spec.tsx +21 -22
  76. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -10
  77. package/src/components/inline-confirm/__tests__/InlineConfirm.spec.tsx +2 -2
  78. package/src/components/table/Table.tsx +17 -1
  79. package/src/components/table/__tests__/TableActions.spec.tsx +57 -17
  80. package/src/components/table/__tests__/TableColumnsSelector.spec.tsx +6 -6
  81. package/src/components/table/table-actions/TableHeaderActions.tsx +9 -7
  82. package/src/theme/Theme.tsx +0 -5
  83. package/dist/cjs/styles/Title.module.css +0 -5
  84. package/dist/esm/styles/Title.module.css +0 -5
  85. package/src/styles/Title.module.css +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAUA,OAAO,EAiBH,oBAAoB,EAoBvB,MAAM,eAAe,CAAC;AA+BvB,eAAO,MAAM,WAAW,EAAE,oBAuNxB,CAAC"}
1
+ {"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAUA,OAAO,EAiBH,oBAAoB,EAmBvB,MAAM,eAAe,CAAC;AA8BvB,eAAO,MAAM,WAAW,EAAE,oBAoNxB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ArrowHeadLeftSize16Px, ArrowHeadRightSize16Px, CheckSize16Px, CrossSize16Px, FilterSize16Px, InfoSize16Px, InfoSize24Px } from '@coveord/plasma-react-icons';
3
3
  import { color } from '@coveord/plasma-tokens';
4
- import { ActionIcon, Alert, Anchor, AppShellNavbar, Badge, Button, Checkbox, CloseButton, ColorSwatch, Combobox, ComboboxSearch, Divider, Input, InputWrapper, List, Loader, MenuItem, Modal, MultiSelect, NavLink, Notification, Pagination, Popover, Radio, ScrollArea, SegmentedControl, Select, Skeleton, Stepper, Tabs, Text, TextInput, Title, Tooltip, createTheme } from '@mantine/core';
4
+ import { ActionIcon, Alert, Anchor, AppShellNavbar, Badge, Button, Checkbox, CloseButton, ColorSwatch, Combobox, ComboboxSearch, Divider, Input, InputWrapper, List, Loader, MenuItem, Modal, MultiSelect, NavLink, Notification, Pagination, Popover, Radio, ScrollArea, SegmentedControl, Select, Skeleton, Stepper, Tabs, Text, TextInput, Tooltip, createTheme } from '@mantine/core';
5
5
  import { DatePicker } from '@mantine/dates';
6
6
  import ActionIconClasses from '../styles/ActionIcon.module.css';
7
7
  import AlertClasses from '../styles/Alert.module.css';
@@ -27,7 +27,6 @@ import SkeletonClasses from '../styles/Skeleton.module.css';
27
27
  import StepperClasses from '../styles/Stepper.module.css';
28
28
  import TabsClasses from '../styles/Tabs.module.css';
29
29
  import TextClasses from '../styles/Text.module.css';
30
- import TitleClasses from '../styles/Title.module.css';
31
30
  import { NotificationVars } from '../vars/Notification.vars';
32
31
  import { TextVars } from '../vars/Text.vars';
33
32
  import { PlasmaColors } from './PlasmaColors';
@@ -312,11 +311,6 @@ export const plasmaTheme = createTheme({
312
311
  radius: 8
313
312
  }
314
313
  }),
315
- Title: Title.extend({
316
- classNames: {
317
- root: TitleClasses.root
318
- }
319
- }),
320
314
  Tooltip: Tooltip.extend({
321
315
  defaultProps: {
322
316
  color: 'navy',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/theme/Theme.tsx"],"sourcesContent":["import {\n ArrowHeadLeftSize16Px,\n ArrowHeadRightSize16Px,\n CheckSize16Px,\n CrossSize16Px,\n FilterSize16Px,\n InfoSize16Px,\n InfoSize24Px,\n} from '@coveord/plasma-react-icons';\nimport {color} from '@coveord/plasma-tokens';\nimport {\n ActionIcon,\n Alert,\n Anchor,\n AppShellNavbar,\n Badge,\n Button,\n Checkbox,\n CloseButton,\n ColorSwatch,\n Combobox,\n ComboboxSearch,\n Divider,\n Input,\n InputWrapper,\n List,\n Loader,\n MantineThemeOverride,\n MenuItem,\n Modal,\n MultiSelect,\n NavLink,\n Notification,\n Pagination,\n Popover,\n Radio,\n ScrollArea,\n SegmentedControl,\n Select,\n Skeleton,\n Stepper,\n Tabs,\n Text,\n TextInput,\n Title,\n Tooltip,\n createTheme,\n} from '@mantine/core';\nimport {DatePicker} from '@mantine/dates';\nimport ActionIconClasses from '../styles/ActionIcon.module.css';\nimport AlertClasses from '../styles/Alert.module.css';\nimport AnchorClasses from '../styles/Anchor.module.css';\nimport AppShellNavBarClasses from '../styles/AppShellNavBar.module.css';\nimport BadgeClasses from '../styles/Badge.module.css';\nimport ButtonClasses from '../styles/Button.module.css';\nimport CheckboxClasses from '../styles/Checkbox.module.css';\nimport ComboboxClasses from '../styles/Combobox.module.css';\nimport DatePickerClasses from '../styles/DatePicker.module.css';\nimport InputClasses from '../styles/Input.module.css';\nimport InputWrapperClasses from '../styles/InputWrapper.module.css';\nimport ListClasses from '../styles/List.module.css';\nimport ModalClasses from '../styles/Modal.module.css';\nimport NavLinkClasses from '../styles/NavLink.module.css';\nimport NotificationClasses from '../styles/Notification.module.css';\nimport PaginationClasses from '../styles/Pagination.module.css';\nimport RadioClasses from '../styles/Radio.module.css';\nimport ScrollAreaClasses from '../styles/ScrollArea.module.css';\nimport SegmentedControlClasses from '../styles/SegmentedControl.module.css';\nimport SelectClasses from '../styles/Select.module.css';\nimport SkeletonClasses from '../styles/Skeleton.module.css';\nimport StepperClasses from '../styles/Stepper.module.css';\nimport TabsClasses from '../styles/Tabs.module.css';\nimport TextClasses from '../styles/Text.module.css';\nimport TitleClasses from '../styles/Title.module.css';\nimport {NotificationVars} from '../vars/Notification.vars';\nimport {TextVars} from '../vars/Text.vars';\nimport {PlasmaColors} from './PlasmaColors';\n\nexport const plasmaTheme: MantineThemeOverride = createTheme({\n // These are overrides over https://github.com/mantinedev/mantine/blob/master/packages/%40mantine/core/src/core/MantineProvider/default-theme.ts\n fontFamily: 'canada-type-gibson, sans-serif',\n black: color.primary.gray[9],\n defaultRadius: 8,\n lineHeights: {md: '1.5'},\n spacing: {\n xs: '8px',\n sm: '16px',\n md: '24px',\n lg: '32px',\n xl: '40px',\n },\n primaryColor: 'action',\n headings: {\n fontFamily: 'canada-type-gibson, sans-serif',\n fontWeight: '500',\n sizes: {\n h1: {fontSize: '48px', lineHeight: '1.5', fontWeight: '300'},\n h2: {fontSize: '32px', lineHeight: '1.5', fontWeight: '500'},\n h3: {fontSize: '24px', lineHeight: '1.5', fontWeight: '500'},\n h4: {fontSize: '18px', lineHeight: '1.5', fontWeight: '300'},\n h5: {fontSize: '14px', lineHeight: '1.5', fontWeight: '500'},\n h6: {fontSize: '12px', lineHeight: '1.5', fontWeight: '500'},\n },\n },\n shadows: {\n xs: '0px 1px 0px rgba(4, 8, 31, 0.08)',\n sm: '0px 2px 4px rgba(4, 8, 31, 0.12)',\n md: '0px 4px 8px rgba(4, 8, 31, 0.08)',\n lg: '0px 8px 16px rgba(7, 12, 41, 0.06)',\n xl: '0px 16px 24px rgba(4, 8, 31, 0.06)',\n },\n colors: PlasmaColors,\n components: {\n ActionIcon: ActionIcon.extend({\n classNames: {root: ActionIconClasses.root},\n }),\n Alert: Alert.extend({\n defaultProps: {\n icon: <InfoSize16Px height={16} />,\n color: 'navy',\n },\n classNames: AlertClasses,\n }),\n Anchor: Anchor.extend({\n defaultProps: {\n color: 'action.6',\n },\n classNames: {root: AnchorClasses.root},\n }),\n AppShellNavbar: AppShellNavbar.extend({\n classNames: {navbar: AppShellNavBarClasses.navbar},\n }),\n Badge: Badge.extend({\n classNames: {root: BadgeClasses.root},\n defaultProps: {\n variant: 'light',\n },\n }),\n Button: Button.extend({\n classNames: ButtonClasses,\n }),\n Checkbox: Checkbox.extend({\n defaultProps: {\n radius: 'sm',\n },\n classNames: {label: CheckboxClasses.label, input: CheckboxClasses.input},\n }),\n CloseButton: CloseButton.extend({\n defaultProps: {\n icon: <CrossSize16Px height={16} aria-label=\"close\" />,\n },\n }),\n ColorSwatch: ColorSwatch.extend({\n defaultProps: {\n size: 8,\n withShadow: false,\n },\n }),\n Combobox: Combobox.extend({\n classNames: {option: SelectClasses.option, search: ComboboxClasses.search},\n }),\n ComboboxSearch: ComboboxSearch.extend({\n defaultProps: {\n placeholder: 'Search',\n rightSection: <FilterSize16Px height={16} color=\"gray.5\" />,\n },\n }),\n DatePicker: DatePicker.extend({\n classNames: {monthCell: DatePickerClasses.monthCell},\n }),\n Divider: Divider.extend({\n defaultProps: {\n color: 'gray.3',\n },\n }),\n Input: Input.extend({\n classNames: InputClasses,\n }),\n InputWrapper: InputWrapper.extend({\n classNames: InputWrapperClasses,\n }),\n Loader: Loader.extend({\n defaultProps: {\n type: 'dots',\n color: 'action',\n role: 'presentation',\n },\n }),\n List: List.extend({\n classNames: {root: ListClasses.root},\n }),\n MenuItem: MenuItem.extend({\n defaultProps: {\n fw: 300,\n },\n }),\n Modal: Modal.extend({\n classNames: ModalClasses,\n }),\n ModalOverlay: Modal.Overlay.extend({\n defaultProps: {\n color: color.primary.navy[9],\n backgroundOpacity: 0.9,\n },\n }),\n ModalRoot: Modal.Root.extend({\n defaultProps: {\n padding: 'lg',\n },\n }),\n MultiSelect: MultiSelect.extend({defaultProps: {hidePickedOptions: true}}),\n NavLink: NavLink.extend({classNames: NavLinkClasses}),\n Notification: Notification.extend({\n defaultProps: {\n icon: <InfoSize24Px height={24} />,\n color: 'info',\n },\n classNames: {\n root: NotificationClasses.root,\n icon: NotificationClasses.icon,\n closeButton: NotificationClasses.closeButton,\n },\n vars: NotificationVars,\n }),\n Pagination: Pagination.extend({\n classNames: PaginationClasses,\n vars: () => ({root: {'--pagination-control-fz': 'var(--mantine-font-size-sm)'}}),\n defaultProps: {\n nextIcon: ArrowHeadRightSize16Px,\n previousIcon: ArrowHeadLeftSize16Px,\n },\n }),\n Popover: Popover.extend({\n defaultProps: {\n shadow: 'md',\n withArrow: true,\n },\n }),\n Radio: Radio.extend({\n classNames: {labelWrapper: RadioClasses.labelWrapper},\n }),\n ScrollArea: ScrollArea.extend({\n classNames: {viewport: ScrollAreaClasses.viewport},\n }),\n SegmentedControl: SegmentedControl.extend({\n classNames: SegmentedControlClasses,\n }),\n Select: Select.extend({\n defaultProps: {withCheckIcon: false, allowDeselect: false},\n classNames: {input: SelectClasses.input, option: SelectClasses.option},\n }),\n Skeleton: Skeleton.extend({\n classNames: {root: SkeletonClasses.root},\n }),\n Stepper: Stepper.extend({\n defaultProps: {\n size: 'xs',\n completedIcon: <CheckSize16Px />,\n },\n classNames: {\n step: StepperClasses.step,\n stepIcon: StepperClasses.stepIcon,\n stepCompletedIcon: StepperClasses.stepCompletedIcon,\n stepDescription: StepperClasses.stepDescription,\n separator: StepperClasses.separator,\n verticalSeparator: StepperClasses.verticalSeparator,\n },\n }),\n Tabs: Tabs.extend({\n classNames: {list: TabsClasses.list, tab: TabsClasses.tab},\n }),\n Text: Text.extend({\n classNames: TextClasses,\n vars: TextVars,\n }),\n TextInput: TextInput.extend({\n defaultProps: {\n radius: 8,\n },\n }),\n Title: Title.extend({\n classNames: {root: TitleClasses.root},\n }),\n Tooltip: Tooltip.extend({\n defaultProps: {\n color: 'navy',\n maw: 300,\n multiline: true,\n withArrow: true,\n zIndex: 10000,\n },\n }),\n },\n});\n"],"names":["ArrowHeadLeftSize16Px","ArrowHeadRightSize16Px","CheckSize16Px","CrossSize16Px","FilterSize16Px","InfoSize16Px","InfoSize24Px","color","ActionIcon","Alert","Anchor","AppShellNavbar","Badge","Button","Checkbox","CloseButton","ColorSwatch","Combobox","ComboboxSearch","Divider","Input","InputWrapper","List","Loader","MenuItem","Modal","MultiSelect","NavLink","Notification","Pagination","Popover","Radio","ScrollArea","SegmentedControl","Select","Skeleton","Stepper","Tabs","Text","TextInput","Title","Tooltip","createTheme","DatePicker","ActionIconClasses","AlertClasses","AnchorClasses","AppShellNavBarClasses","BadgeClasses","ButtonClasses","CheckboxClasses","ComboboxClasses","DatePickerClasses","InputClasses","InputWrapperClasses","ListClasses","ModalClasses","NavLinkClasses","NotificationClasses","PaginationClasses","RadioClasses","ScrollAreaClasses","SegmentedControlClasses","SelectClasses","SkeletonClasses","StepperClasses","TabsClasses","TextClasses","TitleClasses","NotificationVars","TextVars","PlasmaColors","plasmaTheme","fontFamily","black","primary","gray","defaultRadius","lineHeights","md","spacing","xs","sm","lg","xl","primaryColor","headings","fontWeight","sizes","h1","fontSize","lineHeight","h2","h3","h4","h5","h6","shadows","colors","components","extend","classNames","root","defaultProps","icon","height","navbar","variant","radius","label","input","aria-label","size","withShadow","option","search","placeholder","rightSection","monthCell","type","role","fw","ModalOverlay","Overlay","navy","backgroundOpacity","ModalRoot","Root","padding","hidePickedOptions","closeButton","vars","nextIcon","previousIcon","shadow","withArrow","labelWrapper","viewport","withCheckIcon","allowDeselect","completedIcon","step","stepIcon","stepCompletedIcon","stepDescription","separator","verticalSeparator","list","tab","maw","multiline","zIndex"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SACIA,qBAAqB,EACrBC,sBAAsB,EACtBC,aAAa,EACbC,aAAa,EACbC,cAAc,EACdC,YAAY,EACZC,YAAY,QACT,8BAA8B;AACrC,SAAQC,KAAK,QAAO,yBAAyB;AAC7C,SACIC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNC,cAAc,EACdC,KAAK,EACLC,MAAM,EACNC,QAAQ,EACRC,WAAW,EACXC,WAAW,EACXC,QAAQ,EACRC,cAAc,EACdC,OAAO,EACPC,KAAK,EACLC,YAAY,EACZC,IAAI,EACJC,MAAM,EAENC,QAAQ,EACRC,KAAK,EACLC,WAAW,EACXC,OAAO,EACPC,YAAY,EACZC,UAAU,EACVC,OAAO,EACPC,KAAK,EACLC,UAAU,EACVC,gBAAgB,EAChBC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,IAAI,EACJC,IAAI,EACJC,SAAS,EACTC,KAAK,EACLC,OAAO,EACPC,WAAW,QACR,gBAAgB;AACvB,SAAQC,UAAU,QAAO,iBAAiB;AAC1C,OAAOC,uBAAuB,kCAAkC;AAChE,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,mBAAmB,8BAA8B;AACxD,OAAOC,2BAA2B,sCAAsC;AACxE,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,mBAAmB,8BAA8B;AACxD,OAAOC,qBAAqB,gCAAgC;AAC5D,OAAOC,qBAAqB,gCAAgC;AAC5D,OAAOC,uBAAuB,kCAAkC;AAChE,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,yBAAyB,oCAAoC;AACpE,OAAOC,iBAAiB,4BAA4B;AACpD,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,oBAAoB,+BAA+B;AAC1D,OAAOC,yBAAyB,oCAAoC;AACpE,OAAOC,uBAAuB,kCAAkC;AAChE,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,uBAAuB,kCAAkC;AAChE,OAAOC,6BAA6B,wCAAwC;AAC5E,OAAOC,mBAAmB,8BAA8B;AACxD,OAAOC,qBAAqB,gCAAgC;AAC5D,OAAOC,oBAAoB,+BAA+B;AAC1D,OAAOC,iBAAiB,4BAA4B;AACpD,OAAOC,iBAAiB,4BAA4B;AACpD,OAAOC,kBAAkB,6BAA6B;AACtD,SAAQC,gBAAgB,QAAO,4BAA4B;AAC3D,SAAQC,QAAQ,QAAO,oBAAoB;AAC3C,SAAQC,YAAY,QAAO,iBAAiB;AAE5C,OAAO,MAAMC,cAAoC9B,YAAY;IACzD,gJAAgJ;IAChJ+B,YAAY;IACZC,OAAOnE,MAAMoE,OAAO,CAACC,IAAI,CAAC,EAAE;IAC5BC,eAAe;IACfC,aAAa;QAACC,IAAI;IAAK;IACvBC,SAAS;QACLC,IAAI;QACJC,IAAI;QACJH,IAAI;QACJI,IAAI;QACJC,IAAI;IACR;IACAC,cAAc;IACdC,UAAU;QACNb,YAAY;QACZc,YAAY;QACZC,OAAO;YACHC,IAAI;gBAACC,UAAU;gBAAQC,YAAY;gBAAOJ,YAAY;YAAK;YAC3DK,IAAI;gBAACF,UAAU;gBAAQC,YAAY;gBAAOJ,YAAY;YAAK;YAC3DM,IAAI;gBAACH,UAAU;gBAAQC,YAAY;gBAAOJ,YAAY;YAAK;YAC3DO,IAAI;gBAACJ,UAAU;gBAAQC,YAAY;gBAAOJ,YAAY;YAAK;YAC3DQ,IAAI;gBAACL,UAAU;gBAAQC,YAAY;gBAAOJ,YAAY;YAAK;YAC3DS,IAAI;gBAACN,UAAU;gBAAQC,YAAY;gBAAOJ,YAAY;YAAK;QAC/D;IACJ;IACAU,SAAS;QACLhB,IAAI;QACJC,IAAI;QACJH,IAAI;QACJI,IAAI;QACJC,IAAI;IACR;IACAc,QAAQ3B;IACR4B,YAAY;QACR3F,YAAYA,WAAW4F,MAAM,CAAC;YAC1BC,YAAY;gBAACC,MAAM1D,kBAAkB0D,IAAI;YAAA;QAC7C;QACA7F,OAAOA,MAAM2F,MAAM,CAAC;YAChBG,cAAc;gBACVC,oBAAM,KAACnG;oBAAaoG,QAAQ;;gBAC5BlG,OAAO;YACX;YACA8F,YAAYxD;QAChB;QACAnC,QAAQA,OAAO0F,MAAM,CAAC;YAClBG,cAAc;gBACVhG,OAAO;YACX;YACA8F,YAAY;gBAACC,MAAMxD,cAAcwD,IAAI;YAAA;QACzC;QACA3F,gBAAgBA,eAAeyF,MAAM,CAAC;YAClCC,YAAY;gBAACK,QAAQ3D,sBAAsB2D,MAAM;YAAA;QACrD;QACA9F,OAAOA,MAAMwF,MAAM,CAAC;YAChBC,YAAY;gBAACC,MAAMtD,aAAasD,IAAI;YAAA;YACpCC,cAAc;gBACVI,SAAS;YACb;QACJ;QACA9F,QAAQA,OAAOuF,MAAM,CAAC;YAClBC,YAAYpD;QAChB;QACAnC,UAAUA,SAASsF,MAAM,CAAC;YACtBG,cAAc;gBACVK,QAAQ;YACZ;YACAP,YAAY;gBAACQ,OAAO3D,gBAAgB2D,KAAK;gBAAEC,OAAO5D,gBAAgB4D,KAAK;YAAA;QAC3E;QACA/F,aAAaA,YAAYqF,MAAM,CAAC;YAC5BG,cAAc;gBACVC,oBAAM,KAACrG;oBAAcsG,QAAQ;oBAAIM,cAAW;;YAChD;QACJ;QACA/F,aAAaA,YAAYoF,MAAM,CAAC;YAC5BG,cAAc;gBACVS,MAAM;gBACNC,YAAY;YAChB;QACJ;QACAhG,UAAUA,SAASmF,MAAM,CAAC;YACtBC,YAAY;gBAACa,QAAQnD,cAAcmD,MAAM;gBAAEC,QAAQhE,gBAAgBgE,MAAM;YAAA;QAC7E;QACAjG,gBAAgBA,eAAekF,MAAM,CAAC;YAClCG,cAAc;gBACVa,aAAa;gBACbC,4BAAc,KAACjH;oBAAeqG,QAAQ;oBAAIlG,OAAM;;YACpD;QACJ;QACAoC,YAAYA,WAAWyD,MAAM,CAAC;YAC1BC,YAAY;gBAACiB,WAAWlE,kBAAkBkE,SAAS;YAAA;QACvD;QACAnG,SAASA,QAAQiF,MAAM,CAAC;YACpBG,cAAc;gBACVhG,OAAO;YACX;QACJ;QACAa,OAAOA,MAAMgF,MAAM,CAAC;YAChBC,YAAYhD;QAChB;QACAhC,cAAcA,aAAa+E,MAAM,CAAC;YAC9BC,YAAY/C;QAChB;QACA/B,QAAQA,OAAO6E,MAAM,CAAC;YAClBG,cAAc;gBACVgB,MAAM;gBACNhH,OAAO;gBACPiH,MAAM;YACV;QACJ;QACAlG,MAAMA,KAAK8E,MAAM,CAAC;YACdC,YAAY;gBAACC,MAAM/C,YAAY+C,IAAI;YAAA;QACvC;QACA9E,UAAUA,SAAS4E,MAAM,CAAC;YACtBG,cAAc;gBACVkB,IAAI;YACR;QACJ;QACAhG,OAAOA,MAAM2E,MAAM,CAAC;YAChBC,YAAY7C;QAChB;QACAkE,cAAcjG,MAAMkG,OAAO,CAACvB,MAAM,CAAC;YAC/BG,cAAc;gBACVhG,OAAOA,MAAMoE,OAAO,CAACiD,IAAI,CAAC,EAAE;gBAC5BC,mBAAmB;YACvB;QACJ;QACAC,WAAWrG,MAAMsG,IAAI,CAAC3B,MAAM,CAAC;YACzBG,cAAc;gBACVyB,SAAS;YACb;QACJ;QACAtG,aAAaA,YAAY0E,MAAM,CAAC;YAACG,cAAc;gBAAC0B,mBAAmB;YAAI;QAAC;QACxEtG,SAASA,QAAQyE,MAAM,CAAC;YAACC,YAAY5C;QAAc;QACnD7B,cAAcA,aAAawE,MAAM,CAAC;YAC9BG,cAAc;gBACVC,oBAAM,KAAClG;oBAAamG,QAAQ;;gBAC5BlG,OAAO;YACX;YACA8F,YAAY;gBACRC,MAAM5C,oBAAoB4C,IAAI;gBAC9BE,MAAM9C,oBAAoB8C,IAAI;gBAC9B0B,aAAaxE,oBAAoBwE,WAAW;YAChD;YACAC,MAAM9D;QACV;QACAxC,YAAYA,WAAWuE,MAAM,CAAC;YAC1BC,YAAY1C;YACZwE,MAAM,IAAO,CAAA;oBAAC7B,MAAM;wBAAC,2BAA2B;oBAA6B;gBAAC,CAAA;YAC9EC,cAAc;gBACV6B,UAAUnI;gBACVoI,cAAcrI;YAClB;QACJ;QACA8B,SAASA,QAAQsE,MAAM,CAAC;YACpBG,cAAc;gBACV+B,QAAQ;gBACRC,WAAW;YACf;QACJ;QACAxG,OAAOA,MAAMqE,MAAM,CAAC;YAChBC,YAAY;gBAACmC,cAAc5E,aAAa4E,YAAY;YAAA;QACxD;QACAxG,YAAYA,WAAWoE,MAAM,CAAC;YAC1BC,YAAY;gBAACoC,UAAU5E,kBAAkB4E,QAAQ;YAAA;QACrD;QACAxG,kBAAkBA,iBAAiBmE,MAAM,CAAC;YACtCC,YAAYvC;QAChB;QACA5B,QAAQA,OAAOkE,MAAM,CAAC;YAClBG,cAAc;gBAACmC,eAAe;gBAAOC,eAAe;YAAK;YACzDtC,YAAY;gBAACS,OAAO/C,cAAc+C,KAAK;gBAAEI,QAAQnD,cAAcmD,MAAM;YAAA;QACzE;QACA/E,UAAUA,SAASiE,MAAM,CAAC;YACtBC,YAAY;gBAACC,MAAMtC,gBAAgBsC,IAAI;YAAA;QAC3C;QACAlE,SAASA,QAAQgE,MAAM,CAAC;YACpBG,cAAc;gBACVS,MAAM;gBACN4B,6BAAe,KAAC1I;YACpB;YACAmG,YAAY;gBACRwC,MAAM5E,eAAe4E,IAAI;gBACzBC,UAAU7E,eAAe6E,QAAQ;gBACjCC,mBAAmB9E,eAAe8E,iBAAiB;gBACnDC,iBAAiB/E,eAAe+E,eAAe;gBAC/CC,WAAWhF,eAAegF,SAAS;gBACnCC,mBAAmBjF,eAAeiF,iBAAiB;YACvD;QACJ;QACA7G,MAAMA,KAAK+D,MAAM,CAAC;YACdC,YAAY;gBAAC8C,MAAMjF,YAAYiF,IAAI;gBAAEC,KAAKlF,YAAYkF,GAAG;YAAA;QAC7D;QACA9G,MAAMA,KAAK8D,MAAM,CAAC;YACdC,YAAYlC;YACZgE,MAAM7D;QACV;QACA/B,WAAWA,UAAU6D,MAAM,CAAC;YACxBG,cAAc;gBACVK,QAAQ;YACZ;QACJ;QACApE,OAAOA,MAAM4D,MAAM,CAAC;YAChBC,YAAY;gBAACC,MAAMlC,aAAakC,IAAI;YAAA;QACxC;QACA7D,SAASA,QAAQ2D,MAAM,CAAC;YACpBG,cAAc;gBACVhG,OAAO;gBACP8I,KAAK;gBACLC,WAAW;gBACXf,WAAW;gBACXgB,QAAQ;YACZ;QACJ;IACJ;AACJ,GAAG"}
1
+ {"version":3,"sources":["../../../src/theme/Theme.tsx"],"sourcesContent":["import {\n ArrowHeadLeftSize16Px,\n ArrowHeadRightSize16Px,\n CheckSize16Px,\n CrossSize16Px,\n FilterSize16Px,\n InfoSize16Px,\n InfoSize24Px,\n} from '@coveord/plasma-react-icons';\nimport {color} from '@coveord/plasma-tokens';\nimport {\n ActionIcon,\n Alert,\n Anchor,\n AppShellNavbar,\n Badge,\n Button,\n Checkbox,\n CloseButton,\n ColorSwatch,\n Combobox,\n ComboboxSearch,\n Divider,\n Input,\n InputWrapper,\n List,\n Loader,\n MantineThemeOverride,\n MenuItem,\n Modal,\n MultiSelect,\n NavLink,\n Notification,\n Pagination,\n Popover,\n Radio,\n ScrollArea,\n SegmentedControl,\n Select,\n Skeleton,\n Stepper,\n Tabs,\n Text,\n TextInput,\n Tooltip,\n createTheme,\n} from '@mantine/core';\nimport {DatePicker} from '@mantine/dates';\nimport ActionIconClasses from '../styles/ActionIcon.module.css';\nimport AlertClasses from '../styles/Alert.module.css';\nimport AnchorClasses from '../styles/Anchor.module.css';\nimport AppShellNavBarClasses from '../styles/AppShellNavBar.module.css';\nimport BadgeClasses from '../styles/Badge.module.css';\nimport ButtonClasses from '../styles/Button.module.css';\nimport CheckboxClasses from '../styles/Checkbox.module.css';\nimport ComboboxClasses from '../styles/Combobox.module.css';\nimport DatePickerClasses from '../styles/DatePicker.module.css';\nimport InputClasses from '../styles/Input.module.css';\nimport InputWrapperClasses from '../styles/InputWrapper.module.css';\nimport ListClasses from '../styles/List.module.css';\nimport ModalClasses from '../styles/Modal.module.css';\nimport NavLinkClasses from '../styles/NavLink.module.css';\nimport NotificationClasses from '../styles/Notification.module.css';\nimport PaginationClasses from '../styles/Pagination.module.css';\nimport RadioClasses from '../styles/Radio.module.css';\nimport ScrollAreaClasses from '../styles/ScrollArea.module.css';\nimport SegmentedControlClasses from '../styles/SegmentedControl.module.css';\nimport SelectClasses from '../styles/Select.module.css';\nimport SkeletonClasses from '../styles/Skeleton.module.css';\nimport StepperClasses from '../styles/Stepper.module.css';\nimport TabsClasses from '../styles/Tabs.module.css';\nimport TextClasses from '../styles/Text.module.css';\nimport {NotificationVars} from '../vars/Notification.vars';\nimport {TextVars} from '../vars/Text.vars';\nimport {PlasmaColors} from './PlasmaColors';\n\nexport const plasmaTheme: MantineThemeOverride = createTheme({\n // These are overrides over https://github.com/mantinedev/mantine/blob/master/packages/%40mantine/core/src/core/MantineProvider/default-theme.ts\n fontFamily: 'canada-type-gibson, sans-serif',\n black: color.primary.gray[9],\n defaultRadius: 8,\n lineHeights: {md: '1.5'},\n spacing: {\n xs: '8px',\n sm: '16px',\n md: '24px',\n lg: '32px',\n xl: '40px',\n },\n primaryColor: 'action',\n headings: {\n fontFamily: 'canada-type-gibson, sans-serif',\n fontWeight: '500',\n sizes: {\n h1: {fontSize: '48px', lineHeight: '1.5', fontWeight: '300'},\n h2: {fontSize: '32px', lineHeight: '1.5', fontWeight: '500'},\n h3: {fontSize: '24px', lineHeight: '1.5', fontWeight: '500'},\n h4: {fontSize: '18px', lineHeight: '1.5', fontWeight: '300'},\n h5: {fontSize: '14px', lineHeight: '1.5', fontWeight: '500'},\n h6: {fontSize: '12px', lineHeight: '1.5', fontWeight: '500'},\n },\n },\n shadows: {\n xs: '0px 1px 0px rgba(4, 8, 31, 0.08)',\n sm: '0px 2px 4px rgba(4, 8, 31, 0.12)',\n md: '0px 4px 8px rgba(4, 8, 31, 0.08)',\n lg: '0px 8px 16px rgba(7, 12, 41, 0.06)',\n xl: '0px 16px 24px rgba(4, 8, 31, 0.06)',\n },\n colors: PlasmaColors,\n components: {\n ActionIcon: ActionIcon.extend({\n classNames: {root: ActionIconClasses.root},\n }),\n Alert: Alert.extend({\n defaultProps: {\n icon: <InfoSize16Px height={16} />,\n color: 'navy',\n },\n classNames: AlertClasses,\n }),\n Anchor: Anchor.extend({\n defaultProps: {\n color: 'action.6',\n },\n classNames: {root: AnchorClasses.root},\n }),\n AppShellNavbar: AppShellNavbar.extend({\n classNames: {navbar: AppShellNavBarClasses.navbar},\n }),\n Badge: Badge.extend({\n classNames: {root: BadgeClasses.root},\n defaultProps: {\n variant: 'light',\n },\n }),\n Button: Button.extend({\n classNames: ButtonClasses,\n }),\n Checkbox: Checkbox.extend({\n defaultProps: {\n radius: 'sm',\n },\n classNames: {label: CheckboxClasses.label, input: CheckboxClasses.input},\n }),\n CloseButton: CloseButton.extend({\n defaultProps: {\n icon: <CrossSize16Px height={16} aria-label=\"close\" />,\n },\n }),\n ColorSwatch: ColorSwatch.extend({\n defaultProps: {\n size: 8,\n withShadow: false,\n },\n }),\n Combobox: Combobox.extend({\n classNames: {option: SelectClasses.option, search: ComboboxClasses.search},\n }),\n ComboboxSearch: ComboboxSearch.extend({\n defaultProps: {\n placeholder: 'Search',\n rightSection: <FilterSize16Px height={16} color=\"gray.5\" />,\n },\n }),\n DatePicker: DatePicker.extend({\n classNames: {monthCell: DatePickerClasses.monthCell},\n }),\n Divider: Divider.extend({\n defaultProps: {\n color: 'gray.3',\n },\n }),\n Input: Input.extend({\n classNames: InputClasses,\n }),\n InputWrapper: InputWrapper.extend({\n classNames: InputWrapperClasses,\n }),\n Loader: Loader.extend({\n defaultProps: {\n type: 'dots',\n color: 'action',\n role: 'presentation',\n },\n }),\n List: List.extend({\n classNames: {root: ListClasses.root},\n }),\n MenuItem: MenuItem.extend({\n defaultProps: {\n fw: 300,\n },\n }),\n Modal: Modal.extend({\n classNames: ModalClasses,\n }),\n ModalOverlay: Modal.Overlay.extend({\n defaultProps: {\n color: color.primary.navy[9],\n backgroundOpacity: 0.9,\n },\n }),\n ModalRoot: Modal.Root.extend({\n defaultProps: {\n padding: 'lg',\n },\n }),\n MultiSelect: MultiSelect.extend({defaultProps: {hidePickedOptions: true}}),\n NavLink: NavLink.extend({classNames: NavLinkClasses}),\n Notification: Notification.extend({\n defaultProps: {\n icon: <InfoSize24Px height={24} />,\n color: 'info',\n },\n classNames: {\n root: NotificationClasses.root,\n icon: NotificationClasses.icon,\n closeButton: NotificationClasses.closeButton,\n },\n vars: NotificationVars,\n }),\n Pagination: Pagination.extend({\n classNames: PaginationClasses,\n vars: () => ({root: {'--pagination-control-fz': 'var(--mantine-font-size-sm)'}}),\n defaultProps: {\n nextIcon: ArrowHeadRightSize16Px,\n previousIcon: ArrowHeadLeftSize16Px,\n },\n }),\n Popover: Popover.extend({\n defaultProps: {\n shadow: 'md',\n withArrow: true,\n },\n }),\n Radio: Radio.extend({\n classNames: {labelWrapper: RadioClasses.labelWrapper},\n }),\n ScrollArea: ScrollArea.extend({\n classNames: {viewport: ScrollAreaClasses.viewport},\n }),\n SegmentedControl: SegmentedControl.extend({\n classNames: SegmentedControlClasses,\n }),\n Select: Select.extend({\n defaultProps: {withCheckIcon: false, allowDeselect: false},\n classNames: {input: SelectClasses.input, option: SelectClasses.option},\n }),\n Skeleton: Skeleton.extend({\n classNames: {root: SkeletonClasses.root},\n }),\n Stepper: Stepper.extend({\n defaultProps: {\n size: 'xs',\n completedIcon: <CheckSize16Px />,\n },\n classNames: {\n step: StepperClasses.step,\n stepIcon: StepperClasses.stepIcon,\n stepCompletedIcon: StepperClasses.stepCompletedIcon,\n stepDescription: StepperClasses.stepDescription,\n separator: StepperClasses.separator,\n verticalSeparator: StepperClasses.verticalSeparator,\n },\n }),\n Tabs: Tabs.extend({\n classNames: {list: TabsClasses.list, tab: TabsClasses.tab},\n }),\n Text: Text.extend({\n classNames: TextClasses,\n vars: TextVars,\n }),\n TextInput: TextInput.extend({\n defaultProps: {\n radius: 8,\n },\n }),\n Tooltip: Tooltip.extend({\n defaultProps: {\n color: 'navy',\n maw: 300,\n multiline: true,\n withArrow: true,\n zIndex: 10000,\n },\n }),\n },\n});\n"],"names":["ArrowHeadLeftSize16Px","ArrowHeadRightSize16Px","CheckSize16Px","CrossSize16Px","FilterSize16Px","InfoSize16Px","InfoSize24Px","color","ActionIcon","Alert","Anchor","AppShellNavbar","Badge","Button","Checkbox","CloseButton","ColorSwatch","Combobox","ComboboxSearch","Divider","Input","InputWrapper","List","Loader","MenuItem","Modal","MultiSelect","NavLink","Notification","Pagination","Popover","Radio","ScrollArea","SegmentedControl","Select","Skeleton","Stepper","Tabs","Text","TextInput","Tooltip","createTheme","DatePicker","ActionIconClasses","AlertClasses","AnchorClasses","AppShellNavBarClasses","BadgeClasses","ButtonClasses","CheckboxClasses","ComboboxClasses","DatePickerClasses","InputClasses","InputWrapperClasses","ListClasses","ModalClasses","NavLinkClasses","NotificationClasses","PaginationClasses","RadioClasses","ScrollAreaClasses","SegmentedControlClasses","SelectClasses","SkeletonClasses","StepperClasses","TabsClasses","TextClasses","NotificationVars","TextVars","PlasmaColors","plasmaTheme","fontFamily","black","primary","gray","defaultRadius","lineHeights","md","spacing","xs","sm","lg","xl","primaryColor","headings","fontWeight","sizes","h1","fontSize","lineHeight","h2","h3","h4","h5","h6","shadows","colors","components","extend","classNames","root","defaultProps","icon","height","navbar","variant","radius","label","input","aria-label","size","withShadow","option","search","placeholder","rightSection","monthCell","type","role","fw","ModalOverlay","Overlay","navy","backgroundOpacity","ModalRoot","Root","padding","hidePickedOptions","closeButton","vars","nextIcon","previousIcon","shadow","withArrow","labelWrapper","viewport","withCheckIcon","allowDeselect","completedIcon","step","stepIcon","stepCompletedIcon","stepDescription","separator","verticalSeparator","list","tab","maw","multiline","zIndex"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createFactoryComponent.d.ts","sourceRoot":"","sources":["../../../src/utils/createFactoryComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAErF,eAAO,MAAM,QAAQ,oBAA4B,CAAC;AAElD,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,cAAc,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC"}
1
+ {"version":3,"file":"createFactoryComponent.d.ts","sourceRoot":"","sources":["../../../src/utils/createFactoryComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAErF,eAAO,MAAM,QAAQ,aAAc,CAAC,KAAG,CAAU,CAAC;AAElD,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,cAAc,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"overrideComponent.d.ts","sourceRoot":"","sources":["../../../src/utils/overrideComponent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,oRAS7B,CAAC"}
1
+ {"version":3,"file":"overrideComponent.d.ts","sourceRoot":"","sources":["../../../src/utils/overrideComponent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,8IAIf,SAAS,cACR,gBAAgB,KAC7B,CAAC,CAAC,GAAG,IAAI,EAAE,WAAW,SAAS,CAAC,KAAK,WAAW,SAAS,CAAC,CAAC,GAAG,SAAS,GAAG,gBAG5E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coveord/plasma-mantine",
3
- "version": "54.0.0",
3
+ "version": "54.0.2",
4
4
  "description": "A Plasma flavoured Mantine theme",
5
5
  "keywords": [
6
6
  "plasma",
@@ -33,54 +33,55 @@
33
33
  "@dnd-kit/utilities": "3.2.2",
34
34
  "@mantine/utils": "6.0.21",
35
35
  "@monaco-editor/react": "4.6.0",
36
- "@swc/helpers": "0.5.6",
37
- "@tanstack/react-table": "8.16.0",
38
- "@tanstack/table-core": "8.16.0",
39
- "clsx": "2.0.0",
40
- "dayjs": "1.11.10",
36
+ "@swc/helpers": "0.5.11",
37
+ "@tanstack/react-table": "8.17.3",
38
+ "@tanstack/table-core": "8.17.3",
39
+ "clsx": "2.1.1",
40
+ "dayjs": "1.11.11",
41
41
  "fast-deep-equal": "3.1.3",
42
42
  "lodash.debounce": "4.0.8",
43
43
  "lodash.defaultsdeep": "4.6.1",
44
- "monaco-editor": "0.46.0",
45
- "@coveord/plasma-react-icons": "54.0.0",
46
- "@coveord/plasma-tokens": "54.0.0"
44
+ "monaco-editor": "0.49.0",
45
+ "@coveord/plasma-react-icons": "54.0.1",
46
+ "@coveord/plasma-tokens": "54.0.1"
47
47
  },
48
48
  "devDependencies": {
49
- "@mantine/carousel": "7.6.1",
50
- "@mantine/code-highlight": "7.6.1",
51
- "@mantine/core": "7.6.1",
52
- "@mantine/dates": "7.6.1",
53
- "@mantine/form": "7.6.1",
54
- "@mantine/hooks": "7.6.1",
55
- "@mantine/modals": "7.6.1",
56
- "@mantine/notifications": "7.6.1",
49
+ "@mantine/carousel": "7.10.1",
50
+ "@mantine/code-highlight": "7.10.1",
51
+ "@mantine/core": "7.10.1",
52
+ "@mantine/dates": "7.10.1",
53
+ "@mantine/form": "7.10.1",
54
+ "@mantine/hooks": "7.10.1",
55
+ "@mantine/modals": "7.10.1",
56
+ "@mantine/notifications": "7.10.1",
57
57
  "@swc/cli": "0.3.12",
58
- "@swc/core": "1.5.0",
59
- "@testing-library/jest-dom": "6.4.2",
60
- "@testing-library/react": "15.0.5",
58
+ "@swc/core": "1.5.27",
59
+ "@testing-library/dom": "10.1.0",
60
+ "@testing-library/jest-dom": "6.4.5",
61
+ "@testing-library/react": "16.0.0",
61
62
  "@testing-library/user-event": "14.5.2",
62
- "@types/lodash.debounce": "4.0.7",
63
+ "@types/lodash.debounce": "4.0.9",
63
64
  "@types/lodash.defaultsdeep": "4.6.9",
64
- "@types/react": "18.3.1",
65
+ "@types/react": "18.3.3",
65
66
  "@types/react-dom": "18.3.0",
66
67
  "embla-carousel-react": "7.1.0",
67
- "eslint-plugin-testing-library": "6.2.0",
68
- "eslint-plugin-vitest": "0.3.22",
69
- "eslint-plugin-vitest-globals": "1.4.0",
68
+ "eslint-plugin-testing-library": "6.2.2",
69
+ "eslint-plugin-vitest": "0.5.4",
70
+ "eslint-plugin-vitest-globals": "1.5.0",
70
71
  "identity-obj-proxy": "3.0.0",
71
- "jsdom": "24.0.0",
72
- "postcss": "8.4.32",
72
+ "jsdom": "24.1.0",
73
+ "postcss": "8.4.38",
73
74
  "postcss-preset-mantine": "^1.11.0",
74
75
  "postcss-simple-vars": "^7.0.1",
75
- "publint": "0.2.7",
76
+ "publint": "0.2.8",
76
77
  "react": "18.3.1",
77
78
  "react-dom": "18.3.1",
78
- "rimraf": "5.0.5",
79
- "sass": "1.66.1",
80
- "tslib": "2.6.2",
81
- "typescript": "5.3.3",
82
- "vitest": "1.3.1",
83
- "eslint-config-plasma": "54.0.0"
79
+ "rimraf": "5.0.7",
80
+ "sass": "1.77.4",
81
+ "tslib": "2.6.3",
82
+ "typescript": "5.4.5",
83
+ "vitest": "1.6.0",
84
+ "eslint-config-plasma": "54.0.1"
84
85
  },
85
86
  "peerDependencies": {
86
87
  "@mantine/carousel": "^7.6.1",
@@ -13,7 +13,7 @@ describe('ButtonWithDisabledTooltip', () => {
13
13
  expect(button).toBeDisabled();
14
14
  expect(screen.queryByRole('tooltip', {name: /tooltip message/i})).not.toBeInTheDocument();
15
15
  await user.hover(button);
16
- expect(screen.getByRole('tooltip', {name: /tooltip message/i})).toBeInTheDocument();
16
+ expect(await screen.findByRole('tooltip', {name: /tooltip message/i})).toBeInTheDocument();
17
17
  });
18
18
 
19
19
  it('does not show the tooltip when hovering over the button if it is not disabled', async () => {
@@ -1,5 +1,5 @@
1
1
  import {useForm} from '@mantine/form';
2
- import {render, screen, userEvent} from '@test-utils';
2
+ import {render, screen, userEvent, waitFor} from '@test-utils';
3
3
  import {DateRangePickerValue} from '../DateRangePickerInlineCalendar';
4
4
 
5
5
  import {DateRangePickerPopoverCalendar} from '../DateRangePickerPopoverCalendar';
@@ -51,12 +51,12 @@ describe('DateRangePickerPopoverCalendar', () => {
51
51
 
52
52
  await user.click(screen.getByRole('textbox', {name: 'Start'}));
53
53
  // click once for the start, once for the end
54
- await user.click(screen.getByRole('button', {name: '8 January 2022'}));
54
+ await user.click(await screen.findByRole('button', {name: '8 January 2022'}));
55
55
  await user.click(screen.getByRole('button', {name: '14 February 2022'}));
56
56
 
57
57
  // hides the calendar when the second date is clicked
58
- expect(await screen.findByRole('button', {name: '8 January 2022'})).not.toBeVisible();
59
- expect(await screen.findByRole('button', {name: '8 February 2022'})).not.toBeVisible();
58
+ await waitFor(() => expect(screen.queryByRole('button', {name: '8 January 2022'})).not.toBeVisible());
59
+ expect(screen.queryByRole('button', {name: '8 February 2022'})).not.toBeVisible();
60
60
 
61
61
  expect(screen.getByTestId('json')).toHaveTextContent('["2022-01-08T00:00:00.000Z","2022-02-14T00:00:00.000Z"]');
62
62
 
@@ -1,52 +1,51 @@
1
1
  import {Anchor} from '@mantine/core';
2
- import {render, screen} from '@test-utils';
2
+ import {render, screen, within} from '@test-utils';
3
3
 
4
4
  import {Header} from '../Header';
5
5
 
6
6
  describe('Header', () => {
7
7
  it('renders a heading of level 1 with the specified children within', () => {
8
- render(<Header>child</Header>);
8
+ render(
9
+ <Header>
10
+ <div data-testid="child" />
11
+ </Header>,
12
+ );
9
13
 
10
14
  const header = screen.getByRole('heading');
11
- expect(header).toMatchInlineSnapshot(`
12
- <h1
13
- class="_root_4eabcc _title_69e643 mantine-PlasmaHeader-title m-8a5d1357 mantine-Title-root"
14
- data-order="1"
15
- data-variant="primary"
16
- style="--title-fw: var(--mantine-h1-font-weight); --title-lh: var(--mantine-h1-line-height); --title-fz: var(--mantine-h1-font-size);"
17
- >
18
- child
19
- </h1>
20
- `);
15
+ expect(within(header).getByTestId('child')).toBeVisible();
21
16
  });
22
17
 
23
18
  it('renders the specified breadcrumbs above the title', async () => {
24
- const {container, rerender} = render(
19
+ const {rerender} = render(
25
20
  <Header>
26
- Title
27
- <Header.Breadcrumbs>
21
+ <Header.Breadcrumbs data-testid="breadcrumbs-after">
28
22
  <Anchor>One</Anchor>
29
23
  <Anchor>Two</Anchor>
30
24
  <Anchor>Three</Anchor>
31
25
  </Header.Breadcrumbs>
26
+ <div data-testid="title">Title</div>
32
27
  </Header>,
33
28
  );
34
- const titleFirst = container;
29
+
30
+ // title follows breadcrumbs even if declared after
31
+ expect(screen.getByTestId('breadcrumbs-after').compareDocumentPosition(screen.getByTestId('title'))).toBe(
32
+ Node.DOCUMENT_POSITION_FOLLOWING,
33
+ );
35
34
 
36
35
  rerender(
37
36
  <Header>
38
- <Header.Breadcrumbs>
37
+ <div data-testid="title">Title</div>
38
+ <Header.Breadcrumbs data-testid="breadcrumbs-after">
39
39
  <Anchor>One</Anchor>
40
40
  <Anchor>Two</Anchor>
41
41
  <Anchor>Three</Anchor>
42
42
  </Header.Breadcrumbs>
43
- Title
44
43
  </Header>,
45
44
  );
46
- const breadcrumbsFirst = container;
47
-
48
- expect(titleFirst).toMatchSnapshot();
49
- expect(breadcrumbsFirst).toEqual(titleFirst);
45
+ // title still follows breadcrumbs
46
+ expect(screen.getByTestId('breadcrumbs-after').compareDocumentPosition(screen.getByTestId('title'))).toBe(
47
+ Node.DOCUMENT_POSITION_FOLLOWING,
48
+ );
50
49
  });
51
50
 
52
51
  it('renders a doc link icon if a doc anchor is provided', async () => {
@@ -8,19 +8,19 @@ exports[`Header > renders the specified breadcrumbs above the title 1`] = `
8
8
  @media (max-width: 35.99375em) {.mantine-visible-from-xs {display: none !important;}}@media (min-width: 36em) {.mantine-hidden-from-xs {display: none !important;}}@media (max-width: 47.99375em) {.mantine-visible-from-sm {display: none !important;}}@media (min-width: 48em) {.mantine-hidden-from-sm {display: none !important;}}@media (max-width: 61.99375em) {.mantine-visible-from-md {display: none !important;}}@media (min-width: 62em) {.mantine-hidden-from-md {display: none !important;}}@media (max-width: 74.99375em) {.mantine-visible-from-lg {display: none !important;}}@media (min-width: 75em) {.mantine-hidden-from-lg {display: none !important;}}@media (max-width: 87.99375em) {.mantine-visible-from-xl {display: none !important;}}@media (min-width: 88em) {.mantine-hidden-from-xl {display: none !important;}}
9
9
  </style>
10
10
  <div
11
- class="_root_69e643 mantine-PlasmaHeader-root m-4081bf90 mantine-Group-root"
11
+ class="_root_69e643 mantine-PlasmaHeader-root m_4081bf90 mantine-Group-root"
12
12
  data-variant="primary"
13
13
  style="--group-gap: var(--mantine-spacing-md); --group-align: center; --group-justify: space-between; --group-wrap: nowrap;"
14
14
  >
15
15
  <div
16
- class="m-6d731127 mantine-Stack-root"
16
+ class="m_6d731127 mantine-Stack-root"
17
17
  style="--stack-gap: 0rem; --stack-align: stretch; --stack-justify: flex-start;"
18
18
  >
19
19
  <div
20
- class="m-8b3717df mantine-Breadcrumbs-root"
20
+ class="m_8b3717df mantine-Breadcrumbs-root"
21
21
  >
22
22
  <a
23
- class="mantine-focus-auto _root_a623ec m-849cf0da _breadcrumbsRoot_69e643 mantine-PlasmaHeader-breadcrumbsRoot m-f678d540 mantine-Breadcrumbs-breadcrumb m-b6d8b162 mantine-Text-root mantine-Anchor-root"
23
+ class="mantine-focus-auto _root_a623ec m_849cf0da _breadcrumbsRoot_69e643 mantine-PlasmaHeader-breadcrumbsRoot m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root"
24
24
  color="action.6"
25
25
  data-underline="hover"
26
26
  style="--text-color: var(--mantine-color-action-6); --text-fz: var(--mantine-font-size-sm);"
@@ -28,12 +28,12 @@ exports[`Header > renders the specified breadcrumbs above the title 1`] = `
28
28
  One
29
29
  </a>
30
30
  <div
31
- class="_breadcrumbsSeparator_69e643 mantine-PlasmaHeader-breadcrumbsSeparator m-3b8f2208 mantine-Breadcrumbs-separator"
31
+ class="_breadcrumbsSeparator_69e643 mantine-PlasmaHeader-breadcrumbsSeparator m_3b8f2208 mantine-Breadcrumbs-separator"
32
32
  >
33
33
  /
34
34
  </div>
35
35
  <a
36
- class="mantine-focus-auto _root_a623ec m-849cf0da _breadcrumbsRoot_69e643 mantine-PlasmaHeader-breadcrumbsRoot m-f678d540 mantine-Breadcrumbs-breadcrumb m-b6d8b162 mantine-Text-root mantine-Anchor-root"
36
+ class="mantine-focus-auto _root_a623ec m_849cf0da _breadcrumbsRoot_69e643 mantine-PlasmaHeader-breadcrumbsRoot m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root"
37
37
  color="action.6"
38
38
  data-underline="hover"
39
39
  style="--text-color: var(--mantine-color-action-6); --text-fz: var(--mantine-font-size-sm);"
@@ -41,12 +41,12 @@ exports[`Header > renders the specified breadcrumbs above the title 1`] = `
41
41
  Two
42
42
  </a>
43
43
  <div
44
- class="_breadcrumbsSeparator_69e643 mantine-PlasmaHeader-breadcrumbsSeparator m-3b8f2208 mantine-Breadcrumbs-separator"
44
+ class="_breadcrumbsSeparator_69e643 mantine-PlasmaHeader-breadcrumbsSeparator m_3b8f2208 mantine-Breadcrumbs-separator"
45
45
  >
46
46
  /
47
47
  </div>
48
48
  <a
49
- class="mantine-focus-auto _root_a623ec m-849cf0da _breadcrumbsRoot_69e643 mantine-PlasmaHeader-breadcrumbsRoot m-f678d540 mantine-Breadcrumbs-breadcrumb m-b6d8b162 mantine-Text-root mantine-Anchor-root"
49
+ class="mantine-focus-auto _root_a623ec m_849cf0da _breadcrumbsRoot_69e643 mantine-PlasmaHeader-breadcrumbsRoot m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root"
50
50
  color="action.6"
51
51
  data-underline="hover"
52
52
  style="--text-color: var(--mantine-color-action-6); --text-fz: var(--mantine-font-size-sm);"
@@ -55,7 +55,7 @@ exports[`Header > renders the specified breadcrumbs above the title 1`] = `
55
55
  </a>
56
56
  </div>
57
57
  <h1
58
- class="_root_4eabcc _title_69e643 mantine-PlasmaHeader-title m-8a5d1357 mantine-Title-root"
58
+ class="_root_4eabcc _title_69e643 mantine-PlasmaHeader-title m_8a5d1357 mantine-Title-root"
59
59
  data-order="1"
60
60
  data-variant="primary"
61
61
  style="--title-fw: var(--mantine-h1-font-weight); --title-lh: var(--mantine-h1-line-height); --title-fz: var(--mantine-h1-font-size);"
@@ -63,7 +63,7 @@ exports[`Header > renders the specified breadcrumbs above the title 1`] = `
63
63
  Title
64
64
  </h1>
65
65
  <p
66
- class="mantine-focus-auto _description_69e643 mantine-PlasmaHeader-description m-b6d8b162 mantine-Text-root"
66
+ class="mantine-focus-auto _description_69e643 mantine-PlasmaHeader-description m_b6d8b162 mantine-Text-root"
67
67
  data-size="md"
68
68
  style="--text-fz: var(--mantine-font-size-md); --text-lh: var(--mantine-line-height-md);"
69
69
  />
@@ -45,7 +45,7 @@ describe('InlineConfirm', () => {
45
45
  );
46
46
 
47
47
  await user.click(screen.getByRole('button', {name: /open menu/i}));
48
- await user.click(screen.getByRole('menuitem', {name: /delete/i}));
48
+ await user.click(await screen.findByRole('menuitem', {name: /delete/i}));
49
49
 
50
50
  expect(onClickSpy).toHaveBeenCalledTimes(1);
51
51
  });
@@ -172,6 +172,6 @@ describe('InlineConfirm', () => {
172
172
 
173
173
  await user.hover(deleteButton.parentElement);
174
174
 
175
- expect(screen.getByRole('tooltip', {name: /You shall not pass/i})).toBeInTheDocument();
175
+ expect(await screen.findByRole('tooltip', {name: /You shall not pass/i})).toBeInTheDocument();
176
176
  });
177
177
  });
@@ -9,7 +9,7 @@ import {
9
9
  useReactTable,
10
10
  } from '@tanstack/react-table';
11
11
  import isEqual from 'fast-deep-equal';
12
- import {Children, ForwardedRef, ReactElement, useRef} from 'react';
12
+ import {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';
13
13
  import {CustomComponentThemeExtend, identity} from '../../utils';
14
14
  import classes from './Table.module.css';
15
15
  import {TableLayout, TableProps} from './Table.types';
@@ -197,6 +197,22 @@ export const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElem
197
197
  },
198
198
  }));
199
199
 
200
+ useEffect(() => {
201
+ // Update the selected rows data when the data prop changes
202
+ if (store.getSelectedRows().length > 0) {
203
+ store.setRowSelection((old) => {
204
+ const rowsById = table.getRowModel().rowsById;
205
+ const newSelection = {...old};
206
+ Object.keys(old).forEach((rowId) => {
207
+ if (rowsById[rowId]) {
208
+ newSelection[rowId] = rowsById[rowId].original;
209
+ }
210
+ });
211
+ return isEqual(newSelection, old) ? old : newSelection;
212
+ });
213
+ }
214
+ }, [data]);
215
+
200
216
  const containerRef = useRef<HTMLDivElement>();
201
217
  useClickOutside(
202
218
  () => {
@@ -1,11 +1,11 @@
1
1
  import {ColumnDef, createColumnHelper} from '@tanstack/table-core';
2
2
  import {render, screen, userEvent, waitFor, within} from '@test-utils';
3
+ import {useState} from 'react';
3
4
 
4
5
  import {Table} from '../Table';
5
6
  import {useTable} from '../use-table';
6
7
 
7
8
  type RowData = {name: string};
8
-
9
9
  const columnHelper = createColumnHelper<RowData>();
10
10
  const columns: Array<ColumnDef<RowData>> = [columnHelper.accessor('name', {enableSorting: false})];
11
11
 
@@ -23,7 +23,7 @@ describe('Table.Actions', () => {
23
23
  getRowActions={(selected: RowData[]) => [
24
24
  {
25
25
  group: '$$primary',
26
- component: <Table.ActionItem leftSection={null}>Eat {selected[0].name}</Table.ActionItem>,
26
+ component: <Table.ActionItem>Eat {selected[0].name}</Table.ActionItem>,
27
27
  },
28
28
  ]}
29
29
  >
@@ -60,19 +60,11 @@ describe('Table.Actions', () => {
60
60
  getRowActions={(selected: RowData[]) => [
61
61
  {
62
62
  group: 'secondary',
63
- component: (
64
- <Table.ActionItem key="peel" leftSection={null}>
65
- Peel {selected[0].name}
66
- </Table.ActionItem>
67
- ),
63
+ component: <Table.ActionItem key="peel">Peel {selected[0].name}</Table.ActionItem>,
68
64
  },
69
65
  {
70
66
  group: 'secondary',
71
- component: (
72
- <Table.ActionItem key="chop" leftSection={null}>
73
- Chop {selected[0].name}
74
- </Table.ActionItem>
75
- ),
67
+ component: <Table.ActionItem key="chop">Chop {selected[0].name}</Table.ActionItem>,
76
68
  },
77
69
  ]}
78
70
  >
@@ -107,7 +99,7 @@ describe('Table.Actions', () => {
107
99
  getRowActions={(selected: RowData[]) => [
108
100
  {
109
101
  group: '$$primary',
110
- component: <Table.ActionItem leftSection={null}>Eat {selected[0].name}</Table.ActionItem>,
102
+ component: <Table.ActionItem>Eat {selected[0].name}</Table.ActionItem>,
111
103
  },
112
104
  ]}
113
105
  >
@@ -135,7 +127,7 @@ describe('Table.Actions', () => {
135
127
  getRowActions={(selected: RowData[]) => [
136
128
  {
137
129
  group: '$$primary',
138
- component: <Table.ActionItem leftSection={null}>Eat {selected[0].name}</Table.ActionItem>,
130
+ component: <Table.ActionItem>Eat {selected[0].name}</Table.ActionItem>,
139
131
  },
140
132
  ]}
141
133
  >
@@ -151,6 +143,56 @@ describe('Table.Actions', () => {
151
143
  expect(screen.queryByRole('button', {name: 'Eat vegetable'})).not.toBeInTheDocument();
152
144
  });
153
145
 
146
+ it('keeps the selected row data in sync with the data prop', async () => {
147
+ // When a row is selected and the data prop changes, the selected row data should be updated with the new data without having to reselect the row
148
+ type Food = {name: string; status: 'fresh' | 'eaten'};
149
+ const foodColumnHelper = createColumnHelper<Food>();
150
+ const myColumns: Array<ColumnDef<Food>> = [foodColumnHelper.accessor('name', {enableSorting: false})];
151
+ const user = userEvent.setup();
152
+
153
+ const Fixture = () => {
154
+ const [data, setData] = useState<Food[]>([{name: 'fruit', status: 'fresh'}]);
155
+ const eatFruit = () => setData([{name: 'fruit', status: 'eaten'}]);
156
+
157
+ const store = useTable<Food>();
158
+ return (
159
+ <Table<Food>
160
+ store={store}
161
+ data={data}
162
+ columns={myColumns}
163
+ getRowActions={(selected: Food[]) => [
164
+ {
165
+ group: '$$primary',
166
+ component:
167
+ selected[0].status === 'fresh' ? (
168
+ <Table.ActionItem key="eat" onClick={eatFruit}>
169
+ Eat
170
+ </Table.ActionItem>
171
+ ) : null,
172
+ },
173
+ {
174
+ group: '$$primary',
175
+ component:
176
+ selected[0].status === 'eaten' ? (
177
+ <Table.ActionItem key="trash">Throw away</Table.ActionItem>
178
+ ) : null,
179
+ },
180
+ ]}
181
+ >
182
+ <Table.Header />
183
+ </Table>
184
+ );
185
+ };
186
+ render(<Fixture />);
187
+ await user.click(screen.getByRole('cell', {name: 'fruit'}));
188
+ expect(screen.getByRole('button', {name: 'Eat'})).toBeVisible();
189
+ expect(screen.queryByRole('button', {name: 'Throw away'})).not.toBeInTheDocument();
190
+
191
+ await user.click(screen.getByRole('button', {name: 'Eat'}));
192
+ expect(screen.queryByRole('button', {name: 'Eat'})).not.toBeInTheDocument();
193
+ expect(screen.getByRole('button', {name: 'Throw away'})).toBeVisible();
194
+ });
195
+
154
196
  describe('when multi row selection is enabled', () => {
155
197
  it('passes down an array of selected rows', async () => {
156
198
  const user = userEvent.setup();
@@ -166,9 +208,7 @@ describe('Table.Actions', () => {
166
208
  {
167
209
  group: '$$primary',
168
210
  component: (
169
- <Table.ActionItem leftSection={null}>
170
- Eat {data.map((d) => d.name).join(', ')}
171
- </Table.ActionItem>
211
+ <Table.ActionItem>Eat {data.map((d) => d.name).join(', ')}</Table.ActionItem>
172
212
  ),
173
213
  },
174
214
  ]}