@atom-learning/components 5.12.1 → 5.13.0-beta.0

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 (183) hide show
  1. package/dist/components/accordion/Accordion.d.ts +2 -0
  2. package/dist/components/accordion/AccordionContent.d.ts +2 -0
  3. package/dist/components/accordion/AccordionItem.d.ts +2 -0
  4. package/dist/components/accordion/AccordionTrigger.d.ts +2 -0
  5. package/dist/components/action-icon/ActionIcon.d.ts +3 -1
  6. package/dist/components/alert-dialog/AlertDialog.d.ts +4 -0
  7. package/dist/components/alert-dialog/AlertDialogContent.d.ts +2 -0
  8. package/dist/components/avatar/Avatar.d.ts +4 -0
  9. package/dist/components/badge/Badge.d.ts +13 -1
  10. package/dist/components/badge/BadgeIcon.d.ts +4 -0
  11. package/dist/components/badge/BadgeText.d.ts +4 -0
  12. package/dist/components/banner/Banner.d.ts +2 -2
  13. package/dist/components/banner/BannerContainer.d.ts +4 -0
  14. package/dist/components/banner/banner-regular/BannerRegular.d.ts +108 -474
  15. package/dist/components/banner/banner-regular/BannerRegularContent.d.ts +4 -0
  16. package/dist/components/banner/banner-regular/BannerRegularDismiss.d.ts +6 -2
  17. package/dist/components/banner/banner-slim/BannerSlim.d.ts +108 -474
  18. package/dist/components/banner/banner-slim/BannerSlimContainer.d.ts +2 -0
  19. package/dist/components/banner/banner-slim/BannerSlimContent.d.ts +4 -0
  20. package/dist/components/banner/banner-slim/BannerSlimDismiss.d.ts +6 -2
  21. package/dist/components/box/Box.d.ts +2 -0
  22. package/dist/components/button/Button.d.ts +2 -0
  23. package/dist/components/calendar/Day.d.ts +2 -0
  24. package/dist/components/carousel/Carousel.d.ts +6 -0
  25. package/dist/components/carousel/CarouselPagination.d.ts +2 -0
  26. package/dist/components/carousel/CarouselSlide.d.ts +2 -0
  27. package/dist/components/carousel/CarouselSlider.d.ts +2 -0
  28. package/dist/components/checkbox/Checkbox.d.ts +2 -0
  29. package/dist/components/checkbox/Checkbox.js +1 -1
  30. package/dist/components/checkbox/Checkbox.js.map +1 -1
  31. package/dist/components/checkbox-group/CheckboxGroup.d.ts +96 -90
  32. package/dist/components/checkbox-tree/CheckboxTree.d.ts +352 -344
  33. package/dist/components/chip/Chip.d.ts +14 -0
  34. package/dist/components/chip-dismissible-group/ChipDismissibleGroupItem.d.ts +6 -0
  35. package/dist/components/chip-toggle-group/ChipToggleGroupItem.d.ts +6 -0
  36. package/dist/components/combobox/Combobox.d.ts +10 -0
  37. package/dist/components/combobox/ComboboxInput.d.ts +2 -0
  38. package/dist/components/combobox/ComboboxList.d.ts +2 -0
  39. package/dist/components/combobox/ComboboxOption.d.ts +2 -0
  40. package/dist/components/combobox/ComboboxPopover.d.ts +2 -0
  41. package/dist/components/data-table/DataTable.d.ts +56 -26
  42. package/dist/components/data-table/DataTableHead.d.ts +3 -1
  43. package/dist/components/data-table/DataTableHead.js +1 -1
  44. package/dist/components/data-table/DataTableHead.js.map +1 -1
  45. package/dist/components/data-table/DataTableHeaderCell.d.ts +3 -1
  46. package/dist/components/data-table/DataTableHeaderCell.js +1 -1
  47. package/dist/components/data-table/DataTableHeaderCell.js.map +1 -1
  48. package/dist/components/data-table/DataTableLoading.d.ts +2 -0
  49. package/dist/components/data-table/DataTableRow.js +1 -1
  50. package/dist/components/data-table/DataTableRow.js.map +1 -1
  51. package/dist/components/data-table/DataTableRowSelectionCheckbox.js +1 -1
  52. package/dist/components/data-table/DataTableRowSelectionCheckbox.js.map +1 -1
  53. package/dist/components/data-table/DataTableTable.d.ts +2 -0
  54. package/dist/components/data-table/DataTableTable.js +1 -1
  55. package/dist/components/data-table/DataTableTable.js.map +1 -1
  56. package/dist/components/data-table/pagination/Pagination.d.ts +2 -0
  57. package/dist/components/dialog/Dialog.d.ts +12 -2
  58. package/dist/components/dialog/DialogBackground.d.ts +4 -0
  59. package/dist/components/dialog/DialogClose.d.ts +2 -0
  60. package/dist/components/dialog/DialogContent.d.ts +2 -0
  61. package/dist/components/dismissible/index.d.ts +2 -2
  62. package/dist/components/dismissible-group/index.d.ts +3 -3
  63. package/dist/components/divider/Divider.d.ts +2 -0
  64. package/dist/components/drawer/Drawer.d.ts +8 -0
  65. package/dist/components/drawer/DrawerContent.d.ts +2 -0
  66. package/dist/components/drawer/DrawerFooter.d.ts +2 -0
  67. package/dist/components/drawer/DrawerHeader.d.ts +2 -0
  68. package/dist/components/drawer/DrawerMain.d.ts +2 -0
  69. package/dist/components/drawer/DrawerOverlay.d.ts +2 -0
  70. package/dist/components/drawer/DrawerTrigger.d.ts +2 -0
  71. package/dist/components/dropdown-menu/DropdownMenu.d.ts +10 -0
  72. package/dist/components/dropdown-menu/DropdownMenuContent.d.ts +2 -0
  73. package/dist/components/dropdown-menu/DropdownMenuItem.d.ts +2 -0
  74. package/dist/components/dropdown-menu/DropdownMenuSeparator.d.ts +2 -0
  75. package/dist/components/dropdown-menu/DropdownMenuTrigger.d.ts +2 -0
  76. package/dist/components/empty-state/EmptyState.d.ts +14 -0
  77. package/dist/components/empty-state/EmptyStateBody.d.ts +4 -0
  78. package/dist/components/empty-state/EmptyStateImage.d.ts +4 -0
  79. package/dist/components/empty-state/EmptyStateTitle.d.ts +2 -0
  80. package/dist/components/flex/Flex.d.ts +2 -0
  81. package/dist/components/form/Form.d.ts +2 -0
  82. package/dist/components/grid/Grid.d.ts +2 -0
  83. package/dist/components/heading/Heading.d.ts +2 -0
  84. package/dist/components/icon/Icon.d.ts +2 -0
  85. package/dist/components/image/Image.d.ts +2 -0
  86. package/dist/components/inline-message/InlineMessage.d.ts +4 -0
  87. package/dist/components/input/Input.d.ts +6 -0
  88. package/dist/components/keyboard-shortcut/KeyboardShortcut.d.ts +4 -0
  89. package/dist/components/keyboard-shortcut/index.d.ts +8 -2
  90. package/dist/components/label/Label.d.ts +2 -0
  91. package/dist/components/link/Link.d.ts +2 -0
  92. package/dist/components/list/List.d.ts +4 -0
  93. package/dist/components/markdown-content/MarkdownContent.d.ts +4 -0
  94. package/dist/components/markdown-content/components/MarkdownEmphasis.d.ts +2 -0
  95. package/dist/components/navigation/NavigationMenu.d.ts +18 -0
  96. package/dist/components/navigation/NavigationMenuDropdownContent.d.ts +2 -0
  97. package/dist/components/navigation/NavigationMenuDropdownItem.d.ts +4 -0
  98. package/dist/components/navigation/NavigationMenuDropdownTrigger.d.ts +2 -0
  99. package/dist/components/navigation/NavigationMenuLink.d.ts +2 -0
  100. package/dist/components/navigation-menu-vertical/NavigationMenuVertical.d.ts +184 -162
  101. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionContent.d.ts +2 -0
  102. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionTrigger.d.ts +2 -0
  103. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalIcon.d.ts +4 -0
  104. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItem.d.ts +2 -0
  105. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalLink.d.ts +2 -0
  106. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalList.d.ts +2 -0
  107. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalText.d.ts +4 -0
  108. package/dist/components/number-input/NumberInputStepper.d.ts +6 -2
  109. package/dist/components/pagination/PaginationNextButton.d.ts +6 -2
  110. package/dist/components/pagination/PaginationPreviousButton.d.ts +6 -2
  111. package/dist/components/popover/Popover.d.ts +4 -0
  112. package/dist/components/popover/PopoverContent.d.ts +2 -0
  113. package/dist/components/progress-bar/ProgressBar.d.ts +2 -0
  114. package/dist/components/radio-button/RadioButton.d.ts +2 -0
  115. package/dist/components/radio-button/RadioButtonGroup.d.ts +2 -0
  116. package/dist/components/radio-button-field/RadioButtonField.d.ts +2 -0
  117. package/dist/components/radio-card/RadioCard.d.ts +2 -0
  118. package/dist/components/section-message/SectionMessage.d.ts +4 -0
  119. package/dist/components/segmented-control/SegmentedControl.d.ts +25 -9
  120. package/dist/components/segmented-control/SegmentedControlContent.d.ts +2 -0
  121. package/dist/components/segmented-control/SegmentedControlDescription.d.ts +4 -0
  122. package/dist/components/segmented-control/SegmentedControlHeading.d.ts +4 -0
  123. package/dist/components/segmented-control/SegmentedControlItem.d.ts +4 -0
  124. package/dist/components/segmented-control/SegmentedControlRoot.d.ts +10 -0
  125. package/dist/components/select/Select.d.ts +2 -0
  126. package/dist/components/side-bar/SideBar.d.ts +16 -0
  127. package/dist/components/side-bar/SideBarComponents.d.ts +15 -1
  128. package/dist/components/slider/Slider.d.ts +4 -0
  129. package/dist/components/sortable/Handle.d.ts +6 -2
  130. package/dist/components/sortable/index.d.ts +3 -3
  131. package/dist/components/spacer/Spacer.d.ts +2 -0
  132. package/dist/components/stepper/StepperStepBullet.d.ts +4 -0
  133. package/dist/components/stepper/StepperStepContainer.d.ts +4 -0
  134. package/dist/components/stepper/StepperStepLabel.d.ts +5 -1
  135. package/dist/components/switch/Switch.d.ts +2 -0
  136. package/dist/components/table/Table.d.ts +17 -1
  137. package/dist/components/table/Table.js +1 -1
  138. package/dist/components/table/Table.js.map +1 -1
  139. package/dist/components/table/TableBody.d.ts +2 -0
  140. package/dist/components/table/TableCell.d.ts +2 -0
  141. package/dist/components/table/TableCell.js +1 -1
  142. package/dist/components/table/TableCell.js.map +1 -1
  143. package/dist/components/table/TableFooter.d.ts +2 -0
  144. package/dist/components/table/TableFooterCell.d.ts +2 -0
  145. package/dist/components/table/TableHeader.d.ts +3 -1
  146. package/dist/components/table/TableHeaderCell.d.ts +2 -0
  147. package/dist/components/table/TableHeaderCell.js +1 -1
  148. package/dist/components/table/TableHeaderCell.js.map +1 -1
  149. package/dist/components/table/TableRow.d.ts +2 -0
  150. package/dist/components/tabs/Tabs.d.ts +8 -0
  151. package/dist/components/tabs/TabsContent.d.ts +2 -0
  152. package/dist/components/tabs/TabsTrigger.d.ts +2 -0
  153. package/dist/components/tabs/TabsTriggerList.d.ts +2 -0
  154. package/dist/components/text/Text.d.ts +2 -0
  155. package/dist/components/textarea/Textarea.d.ts +2 -0
  156. package/dist/components/tile/Tile.d.ts +2 -0
  157. package/dist/components/tile/TileGroup.d.ts +2 -0
  158. package/dist/components/tile-interactive/TileInteractive.d.ts +4 -0
  159. package/dist/components/tile-toggle-group/TileToggleGroupItem.d.ts +6 -0
  160. package/dist/components/toast/Toast.d.ts +4 -0
  161. package/dist/components/toggle-group/ToggleGroupButton.d.ts +4 -0
  162. package/dist/components/toggle-group/ToggleGroupItem.d.ts +4 -0
  163. package/dist/components/toggle-group/ToggleGroupRoot.d.ts +2 -0
  164. package/dist/components/toggle-group/index.d.ts +14 -2
  165. package/dist/components/tooltip/Tooltip.d.ts +4 -0
  166. package/dist/components/tooltip/TooltipContent.d.ts +2 -0
  167. package/dist/components/top-bar/TopBar.d.ts +12 -2
  168. package/dist/components/top-bar/TopBarBrand.d.ts +6 -0
  169. package/dist/components/tree/Tree.d.ts +267 -243
  170. package/dist/components/tree/TreeCollapsible.d.ts +2 -0
  171. package/dist/components/tree/TreeCollapsibleContent.d.ts +2 -0
  172. package/dist/components/tree/TreeIcon.d.ts +4 -0
  173. package/dist/components/tree/TreeItemContent.d.ts +2 -0
  174. package/dist/components/tree/TreeListItem.d.ts +2 -0
  175. package/dist/components/video/Video.d.ts +2 -0
  176. package/dist/docgen.json +1 -1
  177. package/dist/experiments/color-scheme/ColorScheme.d.ts +2 -0
  178. package/dist/index.cjs.js +1 -1
  179. package/dist/index.cjs.js.map +1 -1
  180. package/dist/stitches.d.ts +22 -0
  181. package/dist/utilities/no-overflow-wrapper/NoOverflowWrapper.d.ts +2 -0
  182. package/package.json +2 -2
  183. package/CHANGELOG.md +0 -221
@@ -24,6 +24,8 @@ export declare const StyledChipContent: import("@atom-learning/stitches-react/ty
24
24
  textMinimal: string;
25
25
  background: string;
26
26
  backgroundAccent: string;
27
+ black: string;
28
+ white: string;
27
29
  grey100: string;
28
30
  grey200: string;
29
31
  grey300: string;
@@ -400,6 +402,8 @@ export declare const StyledRoot: import("@atom-learning/stitches-react/types/sty
400
402
  textMinimal: string;
401
403
  background: string;
402
404
  backgroundAccent: string;
405
+ black: string;
406
+ white: string;
403
407
  grey100: string;
404
408
  grey200: string;
405
409
  grey300: string;
@@ -770,6 +774,8 @@ export declare const StyledRoot: import("@atom-learning/stitches-react/types/sty
770
774
  textMinimal: string;
771
775
  background: string;
772
776
  backgroundAccent: string;
777
+ black: string;
778
+ white: string;
773
779
  grey100: string;
774
780
  grey200: string;
775
781
  grey300: string;
@@ -1150,6 +1156,8 @@ export declare const ChipRootContext: React.Context<Omit<Omit<Omit<React.Detaile
1150
1156
  textMinimal: string;
1151
1157
  background: string;
1152
1158
  backgroundAccent: string;
1159
+ black: string;
1160
+ white: string;
1153
1161
  grey100: string;
1154
1162
  grey200: string;
1155
1163
  grey300: string;
@@ -1522,6 +1530,8 @@ export declare const ChipRootContext: React.Context<Omit<Omit<Omit<React.Detaile
1522
1530
  textMinimal: string;
1523
1531
  background: string;
1524
1532
  backgroundAccent: string;
1533
+ black: string;
1534
+ white: string;
1525
1535
  grey100: string;
1526
1536
  grey200: string;
1527
1537
  grey300: string;
@@ -1903,6 +1913,8 @@ export declare const Chip: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.
1903
1913
  textMinimal: string;
1904
1914
  background: string;
1905
1915
  backgroundAccent: string;
1916
+ black: string;
1917
+ white: string;
1906
1918
  grey100: string;
1907
1919
  grey200: string;
1908
1920
  grey300: string;
@@ -2275,6 +2287,8 @@ export declare const Chip: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.
2275
2287
  textMinimal: string;
2276
2288
  background: string;
2277
2289
  backgroundAccent: string;
2290
+ black: string;
2291
+ white: string;
2278
2292
  grey100: string;
2279
2293
  grey200: string;
2280
2294
  grey300: string;
@@ -34,6 +34,8 @@ declare const StyledChipDismissibleGroupItem: import("@atom-learning/stitches-re
34
34
  textMinimal: string;
35
35
  background: string;
36
36
  backgroundAccent: string;
37
+ black: string;
38
+ white: string;
37
39
  grey100: string;
38
40
  grey200: string;
39
41
  grey300: string;
@@ -406,6 +408,8 @@ declare const StyledChipDismissibleGroupItem: import("@atom-learning/stitches-re
406
408
  textMinimal: string;
407
409
  background: string;
408
410
  backgroundAccent: string;
411
+ black: string;
412
+ white: string;
409
413
  grey100: string;
410
414
  grey200: string;
411
415
  grey300: string;
@@ -781,6 +785,8 @@ declare const StyledChipDismissibleGroupItem: import("@atom-learning/stitches-re
781
785
  textMinimal: string;
782
786
  background: string;
783
787
  backgroundAccent: string;
788
+ black: string;
789
+ white: string;
784
790
  grey100: string;
785
791
  grey200: string;
786
792
  grey300: string;
@@ -34,6 +34,8 @@ declare const StyledChipToggleGroupItem: import("@atom-learning/stitches-react/t
34
34
  textMinimal: string;
35
35
  background: string;
36
36
  backgroundAccent: string;
37
+ black: string;
38
+ white: string;
37
39
  grey100: string;
38
40
  grey200: string;
39
41
  grey300: string;
@@ -406,6 +408,8 @@ declare const StyledChipToggleGroupItem: import("@atom-learning/stitches-react/t
406
408
  textMinimal: string;
407
409
  background: string;
408
410
  backgroundAccent: string;
411
+ black: string;
412
+ white: string;
409
413
  grey100: string;
410
414
  grey200: string;
411
415
  grey300: string;
@@ -781,6 +785,8 @@ declare const StyledChipToggleGroupItem: import("@atom-learning/stitches-react/t
781
785
  textMinimal: string;
782
786
  background: string;
783
787
  backgroundAccent: string;
788
+ black: string;
789
+ white: string;
784
790
  grey100: string;
785
791
  grey200: string;
786
792
  grey300: string;
@@ -23,6 +23,8 @@ export declare const Combobox: import("@atom-learning/stitches-react/types/style
23
23
  textMinimal: string;
24
24
  background: string;
25
25
  backgroundAccent: string;
26
+ black: string;
27
+ white: string;
26
28
  grey100: string;
27
29
  grey200: string;
28
30
  grey300: string;
@@ -393,6 +395,8 @@ export declare const Combobox: import("@atom-learning/stitches-react/types/style
393
395
  textMinimal: string;
394
396
  background: string;
395
397
  backgroundAccent: string;
398
+ black: string;
399
+ white: string;
396
400
  grey100: string;
397
401
  grey200: string;
398
402
  grey300: string;
@@ -770,6 +774,8 @@ export declare const Combobox: import("@atom-learning/stitches-react/types/style
770
774
  textMinimal: string;
771
775
  background: string;
772
776
  backgroundAccent: string;
777
+ black: string;
778
+ white: string;
773
779
  grey100: string;
774
780
  grey200: string;
775
781
  grey300: string;
@@ -1140,6 +1146,8 @@ export declare const Combobox: import("@atom-learning/stitches-react/types/style
1140
1146
  textMinimal: string;
1141
1147
  background: string;
1142
1148
  backgroundAccent: string;
1149
+ black: string;
1150
+ white: string;
1143
1151
  grey100: string;
1144
1152
  grey200: string;
1145
1153
  grey300: string;
@@ -1509,6 +1517,8 @@ export declare const Combobox: import("@atom-learning/stitches-react/types/style
1509
1517
  textMinimal: string;
1510
1518
  background: string;
1511
1519
  backgroundAccent: string;
1520
+ black: string;
1521
+ white: string;
1512
1522
  grey100: string;
1513
1523
  grey200: string;
1514
1524
  grey300: string;
@@ -26,6 +26,8 @@ export declare const StyledComboboxInput: import("@atom-learning/stitches-react/
26
26
  textMinimal: string;
27
27
  background: string;
28
28
  backgroundAccent: string;
29
+ black: string;
30
+ white: string;
29
31
  grey100: string;
30
32
  grey200: string;
31
33
  grey300: string;
@@ -22,6 +22,8 @@ export declare const ComboboxList: import("@atom-learning/stitches-react/types/s
22
22
  textMinimal: string;
23
23
  background: string;
24
24
  backgroundAccent: string;
25
+ black: string;
26
+ white: string;
25
27
  grey100: string;
26
28
  grey200: string;
27
29
  grey300: string;
@@ -22,6 +22,8 @@ export declare const ComboboxOption: import("@atom-learning/stitches-react/types
22
22
  textMinimal: string;
23
23
  background: string;
24
24
  backgroundAccent: string;
25
+ black: string;
26
+ white: string;
25
27
  grey100: string;
26
28
  grey200: string;
27
29
  grey300: string;
@@ -22,6 +22,8 @@ export declare const ComboboxPopover: import("@atom-learning/stitches-react/type
22
22
  textMinimal: string;
23
23
  background: string;
24
24
  backgroundAccent: string;
25
+ black: string;
26
+ white: string;
25
27
  grey100: string;
26
28
  grey200: string;
27
29
  grey300: string;
@@ -6,7 +6,7 @@
6
6
  export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defaultSort, initialState, disabledRows, enableRowSelection, onRowSelectionChange, children }: {
7
7
  columns: any;
8
8
  defaultSort?: import("./DataTable.types").TDefaultSort;
9
- children: import("react").ReactNode;
9
+ children: React.ReactNode;
10
10
  initialState?: import("./DataTable.types").InitialState;
11
11
  disabledRows?: Record<string, boolean>;
12
12
  enableRowSelection?: boolean | ((row: import("@tanstack/table-core").Row<unknown>) => boolean);
@@ -52,6 +52,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
52
52
  textMinimal: string;
53
53
  background: string;
54
54
  backgroundAccent: string;
55
+ black: string;
56
+ white: string;
55
57
  grey100: string;
56
58
  grey200: string;
57
59
  grey300: string;
@@ -398,7 +400,7 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
398
400
  };
399
401
  }> | undefined;
400
402
  }, "children"> & {
401
- rowAction?: (row: Record<string, unknown>, event: import("react").MouseEvent) => void;
403
+ rowAction?: (row: Record<string, unknown>, event: React.MouseEvent) => void;
402
404
  }) => import("react").JSX.Element;
403
405
  /** Default table data cell implementation for `DataTable`
404
406
  *
@@ -440,6 +442,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
440
442
  textMinimal: string;
441
443
  background: string;
442
444
  backgroundAccent: string;
445
+ black: string;
446
+ white: string;
443
447
  grey100: string;
444
448
  grey200: string;
445
449
  grey300: string;
@@ -793,7 +797,7 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
793
797
  }, "ref"> & import("react").RefAttributes<HTMLTableElement>, "children" | "numberOfStickyColumns"> & Partial<Pick<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, "ref"> & {
794
798
  ref?: ((instance: HTMLTableSectionElement | null) => void) | import("react").RefObject<HTMLTableSectionElement> | null | undefined;
795
799
  }, "css" | "theme" | "isSticky"> & import("@atom-learning/stitches-react/types/styled-component").TransformProps<{
796
- theme?: "light" | "white" | "primary" | "primaryDark" | "primaryLight" | undefined;
800
+ theme?: "white" | "light" | "primary" | "primaryDark" | "primaryLight" | undefined;
797
801
  isSticky?: boolean | "true" | undefined;
798
802
  }, {
799
803
  sm: string;
@@ -820,6 +824,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
820
824
  textMinimal: string;
821
825
  background: string;
822
826
  backgroundAccent: string;
827
+ black: string;
828
+ white: string;
823
829
  grey100: string;
824
830
  grey200: string;
825
831
  grey300: string;
@@ -1169,6 +1175,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
1169
1175
  sortable?: boolean;
1170
1176
  isSticky?: boolean;
1171
1177
  stickyOffset?: number;
1178
+ showTotalInFirstColumn?: boolean;
1179
+ totalSuffix?: string;
1172
1180
  headerCss?: import("../..").CSS;
1173
1181
  }, "theme" | "sortable">> & Partial<Pick<Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, "ref"> & {
1174
1182
  ref?: ((instance: HTMLTableSectionElement | null) => void) | import("react").RefObject<HTMLTableSectionElement> | null | undefined;
@@ -1199,6 +1207,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
1199
1207
  textMinimal: string;
1200
1208
  background: string;
1201
1209
  backgroundAccent: string;
1210
+ black: string;
1211
+ white: string;
1202
1212
  grey100: string;
1203
1213
  grey200: string;
1204
1214
  grey300: string;
@@ -1551,8 +1561,10 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
1551
1561
  headerCss?: import("../..").CSS;
1552
1562
  numberOfStickyColumns?: number;
1553
1563
  scrollContainerCss?: import("../..").CSS;
1564
+ showTotalInFirstColumn?: boolean;
1565
+ totalSuffix?: string;
1554
1566
  };
1555
- rowAction?: (row: Record<string, unknown>, event: import("react").MouseEvent) => void;
1567
+ rowAction?: (row: Record<string, unknown>, event: React.MouseEvent) => void;
1556
1568
  } & {
1557
1569
  idColumn?: string;
1558
1570
  onDragAndDrop?: (onDragAndDropData: {
@@ -1592,6 +1604,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
1592
1604
  textMinimal: string;
1593
1605
  background: string;
1594
1606
  backgroundAccent: string;
1607
+ black: string;
1608
+ white: string;
1595
1609
  grey100: string;
1596
1610
  grey200: string;
1597
1611
  grey300: string;
@@ -1938,7 +1952,7 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
1938
1952
  };
1939
1953
  }> | undefined;
1940
1954
  }, "size" | "type" | "as"> & {
1941
- size: import("react").ComponentProps<typeof import("..").Text>["size"];
1955
+ size: React.ComponentProps<typeof import("..").Text>["size"];
1942
1956
  type?: "text" | "number" | "email" | "password" | "tel" | "url" | "search";
1943
1957
  as?: never;
1944
1958
  }, "appearance" | "size" | "state"> & {
@@ -1985,7 +1999,7 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
1985
1999
  defaultValue?: string;
1986
2000
  onValueChange?: (newValue: string) => void;
1987
2001
  clearText?: string;
1988
- onChange?: (e: import("react").ChangeEvent<HTMLInputElement>) => void;
2002
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
1989
2003
  } & {
1990
2004
  label: string;
1991
2005
  hideLabel?: boolean;
@@ -1996,10 +2010,10 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
1996
2010
  * If you need more customisation options, you can build your own implementation
1997
2011
  * with `useDataTable` and the UI-only `Table` components.
1998
2012
  */
1999
- Head: ({ sortable, theme, isSticky, stickyOffset, style, css, ...props }: Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, "ref"> & {
2013
+ Head: ({ sortable, theme, isSticky, stickyOffset, showTotalInFirstColumn, totalSuffix, style, css, ...props }: Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, "ref"> & {
2000
2014
  ref?: ((instance: HTMLTableSectionElement | null) => void) | import("react").RefObject<HTMLTableSectionElement> | null | undefined;
2001
2015
  }, "css" | "theme" | "isSticky"> & import("@atom-learning/stitches-react/types/styled-component").TransformProps<{
2002
- theme?: "light" | "white" | "primary" | "primaryDark" | "primaryLight" | undefined;
2016
+ theme?: "white" | "light" | "primary" | "primaryDark" | "primaryLight" | undefined;
2003
2017
  isSticky?: boolean | "true" | undefined;
2004
2018
  }, {
2005
2019
  sm: string;
@@ -2026,6 +2040,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
2026
2040
  textMinimal: string;
2027
2041
  background: string;
2028
2042
  backgroundAccent: string;
2043
+ black: string;
2044
+ white: string;
2029
2045
  grey100: string;
2030
2046
  grey200: string;
2031
2047
  grey300: string;
@@ -2375,14 +2391,16 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
2375
2391
  sortable?: boolean;
2376
2392
  isSticky?: boolean;
2377
2393
  stickyOffset?: number;
2394
+ showTotalInFirstColumn?: boolean;
2395
+ totalSuffix?: string;
2378
2396
  headerCss?: import("../..").CSS;
2379
- }) => import("react").ReactElement;
2397
+ }) => React.ReactElement;
2380
2398
  /** Default header implementation for `DataTable`
2381
2399
  *
2382
2400
  * Can be configured to make the column sortable. If you need more customisation options,
2383
2401
  * you can build your own implementation with the UI-only `Table` components.
2384
2402
  */
2385
- HeaderCell: ({ header, children, css, ...props }: Omit<Omit<import("react").DetailedHTMLProps<import("react").ThHTMLAttributes<HTMLTableHeaderCellElement>, HTMLTableHeaderCellElement>, "ref"> & {
2403
+ HeaderCell: ({ header, includeTotal, totalSuffix, children, css, ...props }: Omit<Omit<import("react").DetailedHTMLProps<import("react").ThHTMLAttributes<HTMLTableHeaderCellElement>, HTMLTableHeaderCellElement>, "ref"> & {
2386
2404
  ref?: ((instance: HTMLTableHeaderCellElement | null) => void) | import("react").RefObject<HTMLTableHeaderCellElement> | null | undefined;
2387
2405
  }, "css"> & import("@atom-learning/stitches-react/types/styled-component").TransformProps<{}, {
2388
2406
  sm: string;
@@ -2409,6 +2427,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
2409
2427
  textMinimal: string;
2410
2428
  background: string;
2411
2429
  backgroundAccent: string;
2430
+ black: string;
2431
+ white: string;
2412
2432
  grey100: string;
2413
2433
  grey200: string;
2414
2434
  grey300: string;
@@ -2756,6 +2776,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
2756
2776
  }> | undefined;
2757
2777
  } & {
2758
2778
  header: import("@tanstack/table-core").Header<Record<string, unknown>, unknown>;
2779
+ includeTotal?: boolean;
2780
+ totalSuffix?: string;
2759
2781
  }) => import("react").JSX.Element;
2760
2782
  /** Default pagination implementation for `DataTable`
2761
2783
  *
@@ -2804,6 +2826,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
2804
2826
  textMinimal: string;
2805
2827
  background: string;
2806
2828
  backgroundAccent: string;
2829
+ black: string;
2830
+ white: string;
2807
2831
  grey100: string;
2808
2832
  grey200: string;
2809
2833
  grey300: string;
@@ -3177,7 +3201,7 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
3177
3201
  * If you need more customisation, you can compose your own implentation, `asyncDataState`
3178
3202
  * can be retrieved from `useDataTable`
3179
3203
  */
3180
- Loading: (props: import("react").ComponentProps<import("@atom-learning/stitches-react/types/styled-component").StyledComponent<({ css, message, size, ...props }: {
3204
+ Loading: (props: React.ComponentProps<import("@atom-learning/stitches-react/types/styled-component").StyledComponent<({ css, message, size, ...props }: {
3181
3205
  message?: string;
3182
3206
  size?: "sm" | "md" | "lg";
3183
3207
  css?: import("../..").CSS;
@@ -3205,6 +3229,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
3205
3229
  textMinimal: string;
3206
3230
  background: string;
3207
3231
  backgroundAccent: string;
3232
+ black: string;
3233
+ white: string;
3208
3234
  grey100: string;
3209
3235
  grey200: string;
3210
3236
  grey300: string;
@@ -3562,7 +3588,7 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
3562
3588
  *
3563
3589
  */
3564
3590
  Error: ({ children }: {
3565
- children: (retry?: import("./DataTable.types").DataTableContextType["runAsyncData"]) => import("react").ReactElement;
3591
+ children: (retry?: import("./DataTable.types").DataTableContextType["runAsyncData"]) => React.ReactElement;
3566
3592
  }) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
3567
3593
  /** Empty state implementation for `DataTable`.
3568
3594
  *
@@ -3601,6 +3627,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
3601
3627
  textMinimal: string;
3602
3628
  background: string;
3603
3629
  backgroundAccent: string;
3630
+ black: string;
3631
+ white: string;
3604
3632
  grey100: string;
3605
3633
  grey200: string;
3606
3634
  grey300: string;
@@ -3973,6 +4001,8 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
3973
4001
  textMinimal: string;
3974
4002
  background: string;
3975
4003
  backgroundAccent: string;
4004
+ black: string;
4005
+ white: string;
3976
4006
  grey100: string;
3977
4007
  grey200: string;
3978
4008
  grey300: string;
@@ -4335,31 +4365,31 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
4335
4365
  checked: boolean | "indeterminate";
4336
4366
  onCheckedChange: (value: boolean) => void;
4337
4367
  label?: string;
4338
- }) => import("react").ReactElement;
4368
+ }) => React.ReactElement;
4339
4369
  /** Bulk actions for selected rows.
4340
4370
  *
4341
4371
  * Renders a toolbar with actions that can be applied to all selected rows
4342
4372
  */
4343
4373
  BulkActions: (({ children, ...rest }: {
4344
4374
  css?: import("../..").CSS;
4345
- children: import("react").ReactElement<import("react").ComponentProps<({ children }: {
4346
- children: import("react").ReactElement;
4347
- }) => import("react").ReactElement | null>> | import("react").ReactElement<import("react").ComponentProps<({ cancelLabel, children }: {
4375
+ children: React.ReactElement<React.ComponentProps<({ children }: {
4376
+ children: React.ReactElement;
4377
+ }) => React.ReactElement | null>> | React.ReactElement<React.ComponentProps<({ cancelLabel, children }: {
4348
4378
  cancelLabel?: string;
4349
- children: import("react").ReactNode;
4350
- }) => import("react").JSX.Element | null>> | [import("react").ReactElement<import("react").ComponentProps<({ children }: {
4351
- children: import("react").ReactElement;
4352
- }) => import("react").ReactElement | null>>, import("react").ReactElement<import("react").ComponentProps<({ cancelLabel, children }: {
4379
+ children: React.ReactNode;
4380
+ }) => import("react").JSX.Element | null>> | [React.ReactElement<React.ComponentProps<({ children }: {
4381
+ children: React.ReactElement;
4382
+ }) => React.ReactElement | null>>, React.ReactElement<React.ComponentProps<({ cancelLabel, children }: {
4353
4383
  cancelLabel?: string;
4354
- children: import("react").ReactNode;
4384
+ children: React.ReactNode;
4355
4385
  }) => import("react").JSX.Element | null>>];
4356
4386
  }) => import("react").JSX.Element) & {
4357
4387
  DefaultActions: ({ children }: {
4358
- children: import("react").ReactElement;
4359
- }) => import("react").ReactElement | null;
4388
+ children: React.ReactElement;
4389
+ }) => React.ReactElement | null;
4360
4390
  SelectedRowActions: ({ cancelLabel, children }: {
4361
4391
  cancelLabel?: string;
4362
- children: import("react").ReactNode;
4392
+ children: React.ReactNode;
4363
4393
  }) => import("react").JSX.Element | null;
4364
4394
  };
4365
4395
  /** Bulk actions for selected rows.
@@ -4368,12 +4398,12 @@ export declare const DataTable: (({ columns, data: dataProp, getAsyncData, defau
4368
4398
  */
4369
4399
  BulkActionsFloating: (({ css, children, ...rest }: {
4370
4400
  css?: import("../..").CSS;
4371
- children: import("react").ReactNode;
4401
+ children: React.ReactNode;
4372
4402
  }) => import("react").JSX.Element | null) & {
4373
4403
  SelectedRowActions: ({ cancelLabel, showDividers, children }: {
4374
4404
  cancelLabel?: string;
4375
4405
  showDividers?: boolean;
4376
- children: import("react").ReactNode;
4406
+ children: React.ReactNode;
4377
4407
  }) => import("react").JSX.Element | null;
4378
4408
  };
4379
4409
  };
@@ -5,7 +5,9 @@ type DataTableHeadProps = Omit<React.ComponentProps<typeof Table.Header>, 'child
5
5
  sortable?: boolean;
6
6
  isSticky?: boolean;
7
7
  stickyOffset?: number;
8
+ showTotalInFirstColumn?: boolean;
9
+ totalSuffix?: string;
8
10
  headerCss?: CSS;
9
11
  };
10
- export declare const DataTableHead: ({ sortable, theme, isSticky, stickyOffset, style, css, ...props }: DataTableHeadProps) => React.ReactElement;
12
+ export declare const DataTableHead: ({ sortable, theme, isSticky, stickyOffset, showTotalInFirstColumn, totalSuffix, style, css, ...props }: DataTableHeadProps) => React.ReactElement;
11
13
  export {};
@@ -1,2 +1,2 @@
1
- import*as t from"react";import{Table as s}from"../table/Table.js";import{DataTableSelectAllRowsCheckbox as C}from"./DataTableSelectAllRowsCheckbox.js";import{useDataTable as D}from"./DataTableContext.js";import{DataTable as H}from"./DataTable.js";const k=({sortable:u=!0,theme:h="light",isSticky:a=!1,stickyOffset:r=0,style:v,css:E,...R})=>{var d;const{getHeaderGroups:w,setIsSortable:m,enableRowSelection:y,getCanSomeRowsExpand:S,tablePosition:e,setTablePosition:g}=D();t.useEffect(()=>{m(u)},[u,m]);const l=t.useRef(null),i=t.useRef(null),T=t.useRef(0),[f,x]=t.useState(0),[c,p]=t.useState(!1),b=(d=l==null?void 0:l.current)==null?void 0:d.closest("thead");if(b&&(e==null?void 0:e.offsetTop)===null){const o=b.getBoundingClientRect().height,n=r+o;e&&g({...e,offsetTop:n||0})}return t.useEffect(()=>{if(!!a&&(!i.current&&l.current&&(i.current=l.current.closest("table")),i.current&&(e==null?void 0:e.top)!==null&&(e==null?void 0:e.bottom)!==null)){const o=(e==null?void 0:e.top)!=null&&(e==null?void 0:e.bottom)!=null&&e.top<r&&e.bottom>100?-e.top+r:0;o!==0&&p(!0),T.current=o,x(o),requestAnimationFrame(()=>{p(!1)})}},[a,r,e]),t.createElement(s.Header,{theme:h,style:{...v,"--header-offset":`${f}px`},css:{position:"relative",zIndex:3,"& tr:not(:last-child) > th":{borderBottom:"none"},"& tr:not(:first-child) > th":{borderRadius:"0 !important"},...E},...R},w().map(o=>t.createElement(s.Row,{key:o.id,ref:l,css:{...a&&f!==0&&{transform:"translateY(var(--header-offset))",opacity:c?0:1,transition:c?"none":"opacity 100ms",transitionDelay:c?"0ms":"150ms","& th:last-child:before":{content:"",position:"absolute",right:0,top:0,bottom:0,width:"100%",boxShadow:"$0",pointerEvents:"none"}}}},S()&&t.createElement(s.HeaderCell,{css:{width:"$4"}}),y&&t.createElement(s.HeaderCell,{css:{width:"$4"}},t.createElement(C,null)),o.headers.map(n=>t.createElement(H.HeaderCell,{header:n,key:n.id})))))};export{k as DataTableHead};
1
+ import*as t from"react";import{Table as r}from"../table/Table.js";import{DataTableSelectAllRowsCheckbox as k}from"./DataTableSelectAllRowsCheckbox.js";import{useDataTable as $}from"./DataTableContext.js";import{DataTable as I}from"./DataTable.js";const A=({sortable:u=!0,theme:b="light",isSticky:s=!1,stickyOffset:n=0,showTotalInFirstColumn:v,totalSuffix:E,style:y,css:R,...S})=>{var d;const{getHeaderGroups:T,setIsSortable:m,enableRowSelection:w,getCanSomeRowsExpand:x,tablePosition:e,setTablePosition:g}=$();t.useEffect(()=>{m(u)},[u,m]);const l=t.useRef(null),i=t.useRef(null),C=t.useRef(0),[f,D]=t.useState(0),[c,p]=t.useState(!1),h=(d=l==null?void 0:l.current)==null?void 0:d.closest("thead");if(h&&(e==null?void 0:e.offsetTop)===null){const o=h.getBoundingClientRect().height,a=n+o;e&&g({...e,offsetTop:a||0})}return t.useEffect(()=>{if(!!s&&(!i.current&&l.current&&(i.current=l.current.closest("table")),i.current&&(e==null?void 0:e.top)!==null&&(e==null?void 0:e.bottom)!==null)){const o=(e==null?void 0:e.top)!=null&&(e==null?void 0:e.bottom)!=null&&e.top<n&&e.bottom>100?-e.top+n:0;o!==0&&p(!0),C.current=o,D(o),requestAnimationFrame(()=>{p(!1)})}},[s,n,e]),t.createElement(r.Header,{theme:b,style:{...y,"--header-offset":`${f}px`},css:{position:"relative",zIndex:3,"& tr:not(:last-child) > th":{borderBottom:"none"},"& tr:not(:first-child) > th":{borderRadius:"0 !important"},...R},...S},T().map(o=>t.createElement(r.Row,{key:o.id,ref:l,css:{...s&&f!==0&&{transform:"translateY(var(--header-offset))",opacity:c?0:1,transition:c?"none":"opacity 100ms",transitionDelay:c?"0ms":"150ms","& th:last-child:before":{content:"",position:"absolute",right:0,top:0,bottom:0,width:"100%",boxShadow:"$0",pointerEvents:"none"}}}},x()&&t.createElement(r.HeaderCell,{css:{width:"$4"}}),w&&t.createElement(r.HeaderCell,{css:{width:"$4"}},t.createElement(k,null)),o.headers.map((a,H)=>t.createElement(I.HeaderCell,{header:a,key:a.id,includeTotal:H===0&&v,totalSuffix:E})))))};export{A as DataTableHead};
2
2
  //# sourceMappingURL=DataTableHead.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableHead.js","sources":["../../../src/components/data-table/DataTableHead.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { CSS } from '~/stitches'\n\nimport { Table } from '../table'\nimport { DataTableSelectAllRowsCheckbox } from './DataTableSelectAllRowsCheckbox'\nimport { DataTable, useDataTable } from './index'\n\ntype DataTableHeadProps = Omit<\n React.ComponentProps<typeof Table.Header>,\n 'children'\n> & {\n sortable?: boolean\n isSticky?: boolean\n stickyOffset?: number\n headerCss?: CSS\n}\n\nexport const DataTableHead = ({\n sortable = true,\n theme = 'light',\n isSticky = false,\n stickyOffset = 0,\n style,\n css,\n ...props\n}: DataTableHeadProps): React.ReactElement => {\n const {\n getHeaderGroups,\n setIsSortable,\n enableRowSelection,\n getCanSomeRowsExpand,\n tablePosition,\n setTablePosition\n } = useDataTable()\n\n React.useEffect(() => {\n setIsSortable(sortable)\n }, [sortable, setIsSortable])\n\n const tableHeaderRowRef = React.useRef<HTMLTableRowElement>(null)\n const tableRef = React.useRef<HTMLTableElement | null>(null)\n const headerOffsetRef = React.useRef(0)\n\n const [headerOffset, setHeaderOffset] = React.useState<number>(0)\n const [headerHide, setHeaderHide] = React.useState<boolean>(false)\n\n const tableHeadElement = tableHeaderRowRef?.current?.closest('thead')\n\n if (tableHeadElement && tablePosition?.offsetTop === null) {\n const tableHeadHeight = tableHeadElement.getBoundingClientRect().height\n const intersectionOffset = stickyOffset + tableHeadHeight\n if (tablePosition) {\n setTablePosition({ ...tablePosition, offsetTop: intersectionOffset || 0 })\n }\n }\n\n React.useEffect(() => {\n if (!isSticky) return\n\n if (!tableRef.current && tableHeaderRowRef.current) {\n tableRef.current = tableHeaderRowRef.current.closest(\n 'table'\n ) as HTMLTableElement | null\n }\n\n if (tableRef.current) {\n if (tablePosition?.top !== null && tablePosition?.bottom !== null) {\n const newOffset =\n tablePosition?.top != null &&\n tablePosition?.bottom != null &&\n tablePosition.top < stickyOffset &&\n tablePosition.bottom > 100\n ? -tablePosition.top + stickyOffset\n : 0\n\n if (newOffset !== 0) setHeaderHide(true)\n\n headerOffsetRef.current = newOffset\n setHeaderOffset(newOffset)\n\n requestAnimationFrame(() => {\n setHeaderHide(false)\n })\n }\n }\n }, [isSticky, stickyOffset, tablePosition])\n\n return (\n <Table.Header\n theme={theme}\n style={{\n ...style,\n '--header-offset': `${headerOffset}px`\n }}\n css={{\n position: 'relative',\n zIndex: 3,\n '& tr:not(:last-child) > th': {\n borderBottom: 'none'\n },\n '& tr:not(:first-child) > th': {\n borderRadius: '0 !important'\n },\n ...css\n }}\n {...props}\n >\n {getHeaderGroups().map((headerGroup) => {\n return (\n <Table.Row\n key={headerGroup.id}\n ref={tableHeaderRowRef}\n css={{\n ...(isSticky &&\n headerOffset !== 0 && {\n transform: `translateY(var(--header-offset))`,\n opacity: headerHide ? 0 : 1,\n transition: headerHide ? 'none' : `opacity 100ms`,\n transitionDelay: headerHide ? '0ms' : `150ms`,\n '& th:last-child:before': {\n content: '',\n position: 'absolute',\n right: 0,\n top: 0,\n bottom: 0,\n width: '100%',\n boxShadow: '$0',\n pointerEvents: 'none'\n }\n })\n }}\n >\n {getCanSomeRowsExpand() && (\n <Table.HeaderCell css={{ width: '$4' }} />\n )}\n {enableRowSelection && (\n <Table.HeaderCell css={{ width: '$4' }}>\n <DataTableSelectAllRowsCheckbox />\n </Table.HeaderCell>\n )}\n {headerGroup.headers.map((header) => (\n <DataTable.HeaderCell header={header} key={header.id} />\n ))}\n </Table.Row>\n )\n })}\n </Table.Header>\n )\n}\n"],"names":["DataTableHead","sortable","theme","isSticky","stickyOffset","style","css","props","_a","getHeaderGroups","setIsSortable","enableRowSelection","getCanSomeRowsExpand","tablePosition","setTablePosition","useDataTable","React","tableHeaderRowRef","tableRef","headerOffsetRef","headerOffset","setHeaderOffset","headerHide","setHeaderHide","tableHeadElement","tableHeadHeight","intersectionOffset","newOffset","Table","headerGroup","DataTableSelectAllRowsCheckbox","header","DataTable"],"mappings":"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"}
1
+ {"version":3,"file":"DataTableHead.js","sources":["../../../src/components/data-table/DataTableHead.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { CSS } from '~/stitches'\n\nimport { Table } from '../table'\nimport { DataTableSelectAllRowsCheckbox } from './DataTableSelectAllRowsCheckbox'\nimport { DataTable, useDataTable } from './index'\n\ntype DataTableHeadProps = Omit<\n React.ComponentProps<typeof Table.Header>,\n 'children'\n> & {\n sortable?: boolean\n isSticky?: boolean\n stickyOffset?: number\n showTotalInFirstColumn?: boolean\n totalSuffix?: string\n headerCss?: CSS\n}\n\nexport const DataTableHead = ({\n sortable = true,\n theme = 'light',\n isSticky = false,\n stickyOffset = 0,\n showTotalInFirstColumn,\n totalSuffix,\n style,\n css,\n ...props\n}: DataTableHeadProps): React.ReactElement => {\n const {\n getHeaderGroups,\n setIsSortable,\n enableRowSelection,\n getCanSomeRowsExpand,\n tablePosition,\n setTablePosition\n } = useDataTable()\n\n React.useEffect(() => {\n setIsSortable(sortable)\n }, [sortable, setIsSortable])\n\n const tableHeaderRowRef = React.useRef<HTMLTableRowElement>(null)\n const tableRef = React.useRef<HTMLTableElement | null>(null)\n const headerOffsetRef = React.useRef(0)\n\n const [headerOffset, setHeaderOffset] = React.useState<number>(0)\n const [headerHide, setHeaderHide] = React.useState<boolean>(false)\n\n const tableHeadElement = tableHeaderRowRef?.current?.closest('thead')\n\n if (tableHeadElement && tablePosition?.offsetTop === null) {\n const tableHeadHeight = tableHeadElement.getBoundingClientRect().height\n const intersectionOffset = stickyOffset + tableHeadHeight\n if (tablePosition) {\n setTablePosition({ ...tablePosition, offsetTop: intersectionOffset || 0 })\n }\n }\n\n React.useEffect(() => {\n if (!isSticky) return\n\n if (!tableRef.current && tableHeaderRowRef.current) {\n tableRef.current = tableHeaderRowRef.current.closest(\n 'table'\n ) as HTMLTableElement | null\n }\n\n if (tableRef.current) {\n if (tablePosition?.top !== null && tablePosition?.bottom !== null) {\n const newOffset =\n tablePosition?.top != null &&\n tablePosition?.bottom != null &&\n tablePosition.top < stickyOffset &&\n tablePosition.bottom > 100\n ? -tablePosition.top + stickyOffset\n : 0\n\n if (newOffset !== 0) setHeaderHide(true)\n\n headerOffsetRef.current = newOffset\n setHeaderOffset(newOffset)\n\n requestAnimationFrame(() => {\n setHeaderHide(false)\n })\n }\n }\n }, [isSticky, stickyOffset, tablePosition])\n\n return (\n <Table.Header\n theme={theme}\n style={{\n ...style,\n '--header-offset': `${headerOffset}px`\n }}\n css={{\n position: 'relative',\n zIndex: 3,\n '& tr:not(:last-child) > th': {\n borderBottom: 'none'\n },\n '& tr:not(:first-child) > th': {\n borderRadius: '0 !important'\n },\n ...css\n }}\n {...props}\n >\n {getHeaderGroups().map((headerGroup) => {\n return (\n <Table.Row\n key={headerGroup.id}\n ref={tableHeaderRowRef}\n css={{\n ...(isSticky &&\n headerOffset !== 0 && {\n transform: `translateY(var(--header-offset))`,\n opacity: headerHide ? 0 : 1,\n transition: headerHide ? 'none' : `opacity 100ms`,\n transitionDelay: headerHide ? '0ms' : `150ms`,\n '& th:last-child:before': {\n content: '',\n position: 'absolute',\n right: 0,\n top: 0,\n bottom: 0,\n width: '100%',\n boxShadow: '$0',\n pointerEvents: 'none'\n }\n })\n }}\n >\n {getCanSomeRowsExpand() && (\n <Table.HeaderCell css={{ width: '$4' }} />\n )}\n {enableRowSelection && (\n <Table.HeaderCell css={{ width: '$4' }}>\n <DataTableSelectAllRowsCheckbox />\n </Table.HeaderCell>\n )}\n {headerGroup.headers.map((header, index) => (\n <DataTable.HeaderCell\n header={header}\n key={header.id}\n includeTotal={index === 0 && showTotalInFirstColumn}\n totalSuffix={totalSuffix}\n />\n ))}\n </Table.Row>\n )\n })}\n </Table.Header>\n )\n}\n"],"names":["DataTableHead","sortable","theme","isSticky","stickyOffset","showTotalInFirstColumn","totalSuffix","style","css","props","_a","getHeaderGroups","setIsSortable","enableRowSelection","getCanSomeRowsExpand","tablePosition","setTablePosition","useDataTable","React","tableHeaderRowRef","tableRef","headerOffsetRef","headerOffset","setHeaderOffset","headerHide","setHeaderHide","tableHeadElement","tableHeadHeight","intersectionOffset","newOffset","Table","headerGroup","DataTableSelectAllRowsCheckbox","header","index","DataTable"],"mappings":"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"}
@@ -3,6 +3,8 @@ import * as React from 'react';
3
3
  import { Table } from '../table';
4
4
  type DataTableHeaderProps = React.ComponentProps<typeof Table.HeaderCell> & {
5
5
  header: Header<Record<string, unknown>, unknown>;
6
+ includeTotal?: boolean;
7
+ totalSuffix?: string;
6
8
  };
7
- export declare const DataTableHeaderCell: ({ header, children, css, ...props }: DataTableHeaderProps) => React.JSX.Element;
9
+ export declare const DataTableHeaderCell: ({ header, includeTotal, totalSuffix, children, css, ...props }: DataTableHeaderProps) => React.JSX.Element;
8
10
  export {};
@@ -1,2 +1,2 @@
1
- import{ArrowUp as u,ArrowDown as b}from"@atom-learning/icons";import{styled as g}from"@atom-learning/stitches-react";import{flexRender as y}from"@tanstack/react-table";import*as t from"react";import{useHover as v}from"react-aria";import{Flex as s}from"../flex/Flex.js";import{Icon as x}from"../icon/Icon.js";import{Table as S}from"../table/Table.js";import{useDataTable as h}from"./DataTableContext.js";const D=g(S.HeaderCell,{variants:{isSortable:{true:{cursor:"pointer",position:"relative","& > *":{position:"relative"},"&:before":{content:"",position:"absolute",inset:0,opacity:0,backgroundColor:"$primary100",transition:"opacity 200ms ease"},"&:hover":{"&::before":{opacity:.5}}}}}}),k={asc:u,desc:b},w=({direction:e})=>t.createElement(x,{is:k[e],size:"sm",css:{position:"absolute",left:"$1",stroke:"$primary900"}}),C=({header:e,children:E,css:l,...c})=>{const a=e.column.getIsSorted(),{isSortable:o}=h(),i=e.column.getCanSort(),{hoverProps:m,isHovered:p}=v({}),d=(r,f)=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),f(r))},n=e.column.getToggleSortingHandler();return t.createElement(D,{isSortable:o&&i,colSpan:e.colSpan,onClick:o&&i&&n?n:void 0,onKeyDown:r=>o&&i&&n&&d(r,n),tabIndex:o&&i?0:-1,...m,css:l,...c},t.createElement(s,{align:"center",justify:e.colSpan>1?"center":"flex-start"},y(e.column.columnDef.header,e.getContext()),a&&o&&t.createElement(s,{align:"center",css:{position:"relative",width:"24px",height:"24px",ml:"$2",bg:p?"$primary200":"$primary100",borderRadius:"$0"}},t.createElement(w,{direction:a}))))};export{C as DataTableHeaderCell};
1
+ import{ArrowUp as S,ArrowDown as x}from"@atom-learning/icons";import{styled as m}from"@atom-learning/stitches-react";import{flexRender as E}from"@tanstack/react-table";import*as r from"react";import{useHover as k}from"react-aria";import{Flex as c}from"../flex/Flex.js";import{Icon as C}from"../icon/Icon.js";import{Table as D}from"../table/Table.js";import{useDataTable as T}from"./DataTableContext.js";import{Text as H}from"../text/Text.js";const I=m(H,{color:"$grey600",whiteSpace:"nowrap",display:"none","@media (min-width: 800px)":{display:"block"}}),R=m(D.HeaderCell,{variants:{isSortable:{true:{cursor:"pointer",position:"relative","& > *":{position:"relative"},"&:before":{content:"",position:"absolute",inset:0,opacity:0,backgroundColor:"$primary100",transition:"opacity 200ms ease"},"&:hover":{"&::before":{opacity:.5}}}}}}),z={asc:S,desc:x},A=({direction:e})=>r.createElement(C,{is:z[e],size:"sm",css:{position:"absolute",left:"$1",stroke:"$primary900"}}),F=({header:e,includeTotal:p=!1,totalSuffix:d="items",children:K,css:f,...u})=>{var a,l;const s=e.column.getIsSorted(),{isSortable:t,getRowModel:g}=T(),i=e.column.getCanSort(),y=(l=(a=g())==null?void 0:a.rows)==null?void 0:l.length,{hoverProps:b,isHovered:v}=k({}),h=(o,w)=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),w(o))},n=e.column.getToggleSortingHandler();return r.createElement(R,{isSortable:t&&i,colSpan:e.colSpan,onClick:t&&i&&n?n:void 0,onKeyDown:o=>t&&i&&n&&h(o,n),tabIndex:t&&i?0:-1,...b,css:f,...u},r.createElement(c,{align:"center",gap:1,justify:e.colSpan>1?"center":"flex-start"},E(e.column.columnDef.header,e.getContext()),s&&t&&r.createElement(c,{align:"center",css:{position:"relative",width:"24px",height:"24px",ml:"$2",bg:v?"$primary200":"$primary100",borderRadius:"$0"}},r.createElement(A,{direction:s})),p&&r.createElement(I,{size:"sm",weight:"normal"},"(",y," ",d,")")))};export{F as DataTableHeaderCell};
2
2
  //# sourceMappingURL=DataTableHeaderCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableHeaderCell.js","sources":["../../../src/components/data-table/DataTableHeaderCell.tsx"],"sourcesContent":["import { ArrowDown, ArrowUp } from '@atom-learning/icons'\nimport { styled } from '@atom-learning/stitches-react'\nimport type { Header } from '@tanstack/react-table'\nimport { flexRender } from '@tanstack/react-table'\nimport * as React from 'react'\nimport { useHover } from 'react-aria'\n\nimport { Flex } from '../flex'\nimport { Icon } from '../icon'\nimport { Table } from '../table'\nimport { useDataTable } from './DataTableContext'\ntype DataTableHeaderProps = React.ComponentProps<typeof Table.HeaderCell> & {\n header: Header<Record<string, unknown>, unknown>\n}\n\nconst StyledTableHeaderCell = styled(Table.HeaderCell, {\n variants: {\n isSortable: {\n true: {\n cursor: 'pointer',\n position: 'relative',\n '& > *': {\n position: 'relative'\n },\n '&:before': {\n content: '',\n position: 'absolute',\n inset: 0,\n opacity: 0,\n backgroundColor: '$primary100',\n transition: 'opacity 200ms ease'\n },\n '&:hover': {\n '&::before': {\n opacity: 0.5\n }\n }\n }\n }\n }\n})\n\nconst sortIcons = {\n asc: ArrowUp,\n desc: ArrowDown\n}\n\nconst SortIcon = ({ direction }: { direction: 'asc' | 'desc' }) => (\n <Icon\n is={sortIcons[direction]}\n size=\"sm\"\n css={{ position: 'absolute', left: '$1', stroke: '$primary900' }}\n />\n)\n\nexport const DataTableHeaderCell = ({\n header,\n children,\n css,\n ...props\n}: DataTableHeaderProps) => {\n const sortDirection = header.column.getIsSorted()\n const { isSortable: isSortableTable } = useDataTable()\n // false for display columns, e.g. \"Actions\"\n const isDataColumn = header.column.getCanSort()\n\n const { hoverProps, isHovered } = useHover({})\n\n const handleKeyDown = (\n event: React.KeyboardEvent<HTMLTableCellElement>,\n callback: (event: unknown) => void | undefined\n ) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n callback(event as unknown)\n }\n }\n\n const headerSortingHandler = header.column.getToggleSortingHandler()\n\n return (\n <StyledTableHeaderCell\n isSortable={isSortableTable && isDataColumn}\n colSpan={header.colSpan}\n onClick={\n isSortableTable && isDataColumn && headerSortingHandler\n ? headerSortingHandler\n : undefined\n }\n onKeyDown={(event) =>\n isSortableTable &&\n isDataColumn &&\n headerSortingHandler &&\n handleKeyDown(event, headerSortingHandler)\n }\n tabIndex={isSortableTable && isDataColumn ? 0 : -1}\n {...hoverProps}\n css={css}\n {...props}\n >\n <Flex\n align=\"center\"\n justify={header.colSpan > 1 ? 'center' : 'flex-start'}\n >\n {flexRender(header.column.columnDef.header, header.getContext())}\n {sortDirection && isSortableTable && (\n <Flex\n align=\"center\"\n css={{\n position: 'relative',\n width: '24px',\n height: '24px',\n ml: '$2',\n bg: isHovered ? '$primary200' : '$primary100',\n borderRadius: '$0'\n }}\n >\n <SortIcon direction={sortDirection} />\n </Flex>\n )}\n </Flex>\n </StyledTableHeaderCell>\n )\n}\n"],"names":["StyledTableHeaderCell","styled","Table","sortIcons","ArrowUp","ArrowDown","SortIcon","direction","React","Icon","DataTableHeaderCell","header","children","css","props","sortDirection","isSortableTable","useDataTable","isDataColumn","hoverProps","isHovered","useHover","handleKeyDown","event","callback","headerSortingHandler","Flex","flexRender"],"mappings":"mZAeA,MAAMA,EAAwBC,EAAOC,EAAM,WAAY,CACrD,SAAU,CACR,WAAY,CACV,KAAM,CACJ,OAAQ,UACR,SAAU,WACV,QAAS,CACP,SAAU,UACZ,EACA,WAAY,CACV,QAAS,GACT,SAAU,WACV,MAAO,EACP,QAAS,EACT,gBAAiB,cACjB,WAAY,oBACd,EACA,UAAW,CACT,YAAa,CACX,QAAS,EACX,CACF,CACF,CACF,CACF,CACF,CAAC,EAEKC,EAAY,CAChB,IAAKC,EACL,KAAMC,CACR,EAEMC,EAAW,CAAC,CAAE,UAAAC,CAAU,IAC5BC,EAAA,cAACC,EAAA,CACC,GAAIN,EAAUI,GACd,KAAK,KACL,IAAK,CAAE,SAAU,WAAY,KAAM,KAAM,OAAQ,aAAc,EACjE,EAGWG,EAAsB,CAAC,CAClC,OAAAC,EACA,SAAAC,EACA,IAAAC,KACGC,CACL,IAA4B,CAC1B,MAAMC,EAAgBJ,EAAO,OAAO,YAAY,EAC1C,CAAE,WAAYK,CAAgB,EAAIC,EAAa,EAE/CC,EAAeP,EAAO,OAAO,aAE7B,CAAE,WAAAQ,EAAY,UAAAC,CAAU,EAAIC,EAAS,CAAA,CAAE,EAEvCC,EAAgB,CACpBC,EACAC,IACG,EACCD,EAAM,MAAQ,SAAWA,EAAM,MAAQ,OACzCA,EAAM,eACNC,EAAAA,EAASD,CAAgB,EAE7B,EAEME,EAAuBd,EAAO,OAAO,wBAAwB,EAEnE,OACEH,EAAA,cAACR,EAAA,CACC,WAAYgB,GAAmBE,EAC/B,QAASP,EAAO,QAChB,QACEK,GAAmBE,GAAgBO,EAC/BA,EACA,OAEN,UAAYF,GACVP,GACAE,GACAO,GACAH,EAAcC,EAAOE,CAAoB,EAE3C,SAAUT,GAAmBE,EAAe,EAAI,GAC/C,GAAGC,EACJ,IAAKN,EACJ,GAAGC,CAAAA,EAEJN,EAAA,cAACkB,EAAA,CACC,MAAM,SACN,QAASf,EAAO,QAAU,EAAI,SAAW,YAExCgB,EAAAA,EAAWhB,EAAO,OAAO,UAAU,OAAQA,EAAO,YAAY,EAC9DI,GAAiBC,GAChBR,EAAA,cAACkB,EAAA,CACC,MAAM,SACN,IAAK,CACH,SAAU,WACV,MAAO,OACP,OAAQ,OACR,GAAI,KACJ,GAAIN,EAAY,cAAgB,cAChC,aAAc,IAChB,GAEAZ,EAAA,cAACF,EAAA,CAAS,UAAWS,CAAAA,CAAe,CACtC,CAEJ,CACF,CAEJ"}
1
+ {"version":3,"file":"DataTableHeaderCell.js","sources":["../../../src/components/data-table/DataTableHeaderCell.tsx"],"sourcesContent":["import { ArrowDown, ArrowUp } from '@atom-learning/icons'\nimport { styled } from '@atom-learning/stitches-react'\nimport type { Header } from '@tanstack/react-table'\nimport { flexRender } from '@tanstack/react-table'\nimport * as React from 'react'\nimport { useHover } from 'react-aria'\n\nimport { Flex } from '../flex'\nimport { Icon } from '../icon'\nimport { Table } from '../table'\nimport { useDataTable } from './DataTableContext'\nimport { Text } from '../text'\ntype DataTableHeaderProps = React.ComponentProps<typeof Table.HeaderCell> & {\n header: Header<Record<string, unknown>, unknown>\n includeTotal?: boolean\n totalSuffix?: string\n}\n\nconst StyledCount = styled(Text, {\n color: '$grey600',\n whiteSpace: 'nowrap',\n display: 'none',\n '@media (min-width: 800px)': {\n display: 'block'\n }\n})\n\nconst StyledTableHeaderCell = styled(Table.HeaderCell, {\n variants: {\n isSortable: {\n true: {\n cursor: 'pointer',\n position: 'relative',\n '& > *': {\n position: 'relative'\n },\n '&:before': {\n content: '',\n position: 'absolute',\n inset: 0,\n opacity: 0,\n backgroundColor: '$primary100',\n transition: 'opacity 200ms ease'\n },\n '&:hover': {\n '&::before': {\n opacity: 0.5\n }\n }\n }\n }\n }\n})\n\nconst sortIcons = {\n asc: ArrowUp,\n desc: ArrowDown\n}\n\nconst SortIcon = ({ direction }: { direction: 'asc' | 'desc' }) => (\n <Icon\n is={sortIcons[direction]}\n size=\"sm\"\n css={{ position: 'absolute', left: '$1', stroke: '$primary900' }}\n />\n)\n\nexport const DataTableHeaderCell = ({\n header,\n includeTotal = false,\n totalSuffix = 'items',\n children,\n css,\n ...props\n}: DataTableHeaderProps) => {\n const sortDirection = header.column.getIsSorted()\n const { isSortable: isSortableTable, getRowModel } = useDataTable()\n // false for display columns, e.g. \"Actions\"\n const isDataColumn = header.column.getCanSort()\n\n const totalRows = getRowModel()?.rows?.length\n\n const { hoverProps, isHovered } = useHover({})\n\n const handleKeyDown = (\n event: React.KeyboardEvent<HTMLTableCellElement>,\n callback: (event: unknown) => void | undefined\n ) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n callback(event as unknown)\n }\n }\n\n const headerSortingHandler = header.column.getToggleSortingHandler()\n\n return (\n <StyledTableHeaderCell\n isSortable={isSortableTable && isDataColumn}\n colSpan={header.colSpan}\n onClick={\n isSortableTable && isDataColumn && headerSortingHandler\n ? headerSortingHandler\n : undefined\n }\n onKeyDown={(event) =>\n isSortableTable &&\n isDataColumn &&\n headerSortingHandler &&\n handleKeyDown(event, headerSortingHandler)\n }\n tabIndex={isSortableTable && isDataColumn ? 0 : -1}\n {...hoverProps}\n css={css}\n {...props}\n >\n <Flex\n align=\"center\"\n gap={1}\n justify={header.colSpan > 1 ? 'center' : 'flex-start'}\n >\n {flexRender(header.column.columnDef.header, header.getContext())}\n {sortDirection && isSortableTable && (\n <Flex\n align=\"center\"\n css={{\n position: 'relative',\n width: '24px',\n height: '24px',\n ml: '$2',\n bg: isHovered ? '$primary200' : '$primary100',\n borderRadius: '$0'\n }}\n >\n <SortIcon direction={sortDirection} />\n </Flex>\n )}\n {includeTotal && (\n <StyledCount size=\"sm\" weight=\"normal\">\n ({totalRows} {totalSuffix})\n </StyledCount>\n )}\n </Flex>\n </StyledTableHeaderCell>\n )\n}\n"],"names":["StyledCount","styled","Text","StyledTableHeaderCell","Table","sortIcons","ArrowUp","ArrowDown","SortIcon","direction","React","Icon","DataTableHeaderCell","header","includeTotal","totalSuffix","children","css","props","_a","_b","sortDirection","isSortableTable","getRowModel","useDataTable","isDataColumn","totalRows","hoverProps","isHovered","useHover","handleKeyDown","event","callback","headerSortingHandler","Flex","flexRender"],"mappings":"0bAkBA,MAAMA,EAAcC,EAAOC,EAAM,CAC/B,MAAO,WACP,WAAY,SACZ,QAAS,OACT,4BAA6B,CAC3B,QAAS,OACX,CACF,CAAC,EAEKC,EAAwBF,EAAOG,EAAM,WAAY,CACrD,SAAU,CACR,WAAY,CACV,KAAM,CACJ,OAAQ,UACR,SAAU,WACV,QAAS,CACP,SAAU,UACZ,EACA,WAAY,CACV,QAAS,GACT,SAAU,WACV,MAAO,EACP,QAAS,EACT,gBAAiB,cACjB,WAAY,oBACd,EACA,UAAW,CACT,YAAa,CACX,QAAS,EACX,CACF,CACF,CACF,CACF,CACF,CAAC,EAEKC,EAAY,CAChB,IAAKC,EACL,KAAMC,CACR,EAEMC,EAAW,CAAC,CAAE,UAAAC,CAAU,IAC5BC,EAAA,cAACC,EAAA,CACC,GAAIN,EAAUI,GACd,KAAK,KACL,IAAK,CAAE,SAAU,WAAY,KAAM,KAAM,OAAQ,aAAc,EACjE,EAGWG,EAAsB,CAAC,CAClC,OAAAC,EACA,aAAAC,EAAe,GACf,YAAAC,EAAc,QACd,SAAAC,EACA,IAAAC,KACGC,CACL,IAA4B,CA1E5B,IAAAC,EAAAC,EA2EE,MAAMC,EAAgBR,EAAO,OAAO,YAAY,EAC1C,CAAE,WAAYS,EAAiB,YAAAC,CAAY,EAAIC,IAE/CC,EAAeZ,EAAO,OAAO,aAE7Ba,GAAYN,GAAAD,EAAAI,EAAY,IAAZ,YAAAJ,EAAe,OAAf,KAAAC,OAAAA,EAAqB,OAEjC,CAAE,WAAAO,EAAY,UAAAC,CAAU,EAAIC,EAAS,CAAA,CAAE,EAEvCC,EAAgB,CACpBC,EACAC,IACG,EACCD,EAAM,MAAQ,SAAWA,EAAM,MAAQ,OACzCA,EAAM,eAAA,EACNC,EAASD,CAAgB,EAE7B,EAEME,EAAuBpB,EAAO,OAAO,wBAAwB,EAEnE,OACEH,EAAA,cAACP,EAAA,CACC,WAAYmB,GAAmBG,EAC/B,QAASZ,EAAO,QAChB,QACES,GAAmBG,GAAgBQ,EAC/BA,EACA,OAEN,UAAYF,GACVT,GACAG,GACAQ,GACAH,EAAcC,EAAOE,CAAoB,EAE3C,SAAUX,GAAmBG,EAAe,EAAI,GAC/C,GAAGE,EACJ,IAAKV,EACJ,GAAGC,CAAAA,EAEJR,EAAA,cAACwB,EAAA,CACC,MAAM,SACN,IAAK,EACL,QAASrB,EAAO,QAAU,EAAI,SAAW,cAExCsB,EAAWtB,EAAO,OAAO,UAAU,OAAQA,EAAO,WAAA,CAAY,EAC9DQ,GAAiBC,GAChBZ,EAAA,cAACwB,EAAA,CACC,MAAM,SACN,IAAK,CACH,SAAU,WACV,MAAO,OACP,OAAQ,OACR,GAAI,KACJ,GAAIN,EAAY,cAAgB,cAChC,aAAc,IAChB,GAEAlB,EAAA,cAACF,EAAA,CAAS,UAAWa,CAAe,CAAA,CACtC,EAEDP,GACCJ,EAAA,cAACV,EAAA,CAAY,KAAK,KAAK,OAAO,QAAA,EAAS,IACnC0B,EAAU,IAAEX,EAAY,GAC5B,CAEJ,CACF,CAEJ"}
@@ -27,6 +27,8 @@ declare const PendingState: import("@atom-learning/stitches-react/types/styled-c
27
27
  textMinimal: string;
28
28
  background: string;
29
29
  backgroundAccent: string;
30
+ black: string;
31
+ white: string;
30
32
  grey100: string;
31
33
  grey200: string;
32
34
  grey300: string;