@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
@@ -1,2 +1,2 @@
1
- import{ChevronDown as x,ChevronRight as w}from"@atom-learning/icons";import*as n from"react";import{styled as h}from"../../stitches.js";import{Icon as C}from"../icon/Icon.js";import{Table as i}from"../table/Table.js";import{useDataTable as E}from"./DataTableContext.js";import{DataTableDataCell as D}from"./DataTableDataCell.js";import{DataTableRowSelectionCheckbox as S}from"./DataTableRowSelectionCheckbox.js";const v=h(i.Row,{bg:"initial",variants:{isSelected:{true:{"&:nth-child(odd), &:nth-child(even)":{bg:"$primary100"}}},isDisabled:{true:{opacity:"30%"}},isFocusable:{true:{transition:"transform 150ms ease-in-out, box-shadow 150ms ease-in-out","&:hover":{transform:"translateY(-1px)",boxShadow:"0px 4px 11px 0px hsla(0, 0%, 12%, 0.12)",position:"relative",zIndex:3},"&:focus":{outline:"2px solid $primary500",outlineOffset:"-4px","& td":{bg:"transparent"}}}}}}),d=e=>e?!!(e.closest("button, a, input, select, textarea")||e.getAttribute("role")==="button"):!1,k=({row:e,rowAction:r})=>{const{enableRowSelection:m,disabledRows:l,getCanSomeRowsExpand:p}=E(),s=!!(l!=null&&l[e.id]),g=e.getToggleExpandedHandler(),u=e.getToggleSelectedHandler(),b=()=>e.getIsSomeSelected()?"indeterminate":e.getIsSelected(),c=(t,o)=>{!r||!o.target.closest("tr")||d(o.target)||r(t.original,o)},f=t=>{if(t.key==="Enter"||t.key===" "){if(d(t.target))return;t.preventDefault(),c(e,t)}if(t.key==="ArrowDown"){t.preventDefault();const o=t.target.closest("tr"),a=o==null?void 0:o.nextElementSibling;a&&a.tagName==="TR"&&a.focus()}if(t.key==="ArrowUp"){t.preventDefault();const o=t.target.closest("tr"),a=o==null?void 0:o.previousElementSibling;a&&a.tagName==="TR"&&a.focus()}};return n.createElement(v,{isSelected:e.getIsSelected(),isDisabled:s,isFocusable:!!r&&!s,...r&&{onClick:t=>c(e,t),tabIndex:0,css:{cursor:"pointer"},onKeyDown:f}},p()&&n.createElement(i.Cell,{"data-testid":`expand-icon-${e.id}`,css:{width:"$4",cursor:e.getCanExpand()?"pointer":"auto"},onClick:g},e.getCanExpand()&&n.createElement(C,{is:e.getIsExpanded()?x:w})),m&&n.createElement(i.Cell,{css:{width:"$4"}},n.createElement(S,{row:e,checked:b(),onCheckedChange:u})),e.getVisibleCells().map((t,o)=>n.createElement(D,{key:t.id,cell:t})))};export{k as DataTableRow};
1
+ import{ChevronDown as f,ChevronRight as h}from"@atom-learning/icons";import*as n from"react";import{styled as w}from"../../stitches.js";import{Icon as D}from"../icon/Icon.js";import{Table as i}from"../table/Table.js";import{useDataTable as C}from"./DataTableContext.js";import{DataTableDataCell as E}from"./DataTableDataCell.js";import{DataTableRowSelectionCheckbox as S}from"./DataTableRowSelectionCheckbox.js";const v=w(i.Row,{bg:"initial",position:"relative",variants:{isSelected:{true:{"&:nth-child(odd), &:nth-child(even)":{bg:"$primary100"}}},isDisabled:{true:{opacity:"30%"}},isFocusable:{true:{transform:"translateY(0)",boxShadow:"0px 4px 11px 0px hsla(0, 0%, 12%, 0)",transition:"transform 300ms ease-in-out, box-shadow 300ms ease-in-out","&:hover":{transform:"translateY(-1px)",boxShadow:"0px 4px 11px 0px hsla(0, 0%, 12%, 0.12)",transitionDuration:"100ms",zIndex:3},"&:focus":{outline:"2px solid $primary500",outlineOffset:"-4px","& td":{bg:"transparent"}}}}}}),d=e=>e?!!(e.closest("button, a, input, select, textarea")||e.getAttribute("role")==="button"):!1,k=({row:e,rowAction:r})=>{const{enableRowSelection:p,disabledRows:l,getCanSomeRowsExpand:m}=C(),s=!!(l!=null&&l[e.id]),g=e.getToggleExpandedHandler(),u=e.getToggleSelectedHandler(),b=()=>e.getIsSomeSelected()?"indeterminate":e.getIsSelected(),c=(t,o)=>{!r||!o.target.closest("tr")||d(o.target)||r(t.original,o)},x=t=>{if(t.key==="Enter"||t.key===" "){if(d(t.target))return;t.preventDefault(),c(e,t)}if(t.key==="ArrowDown"){t.preventDefault();const o=t.target.closest("tr"),a=o==null?void 0:o.nextElementSibling;a&&a.tagName==="TR"&&a.focus()}if(t.key==="ArrowUp"){t.preventDefault();const o=t.target.closest("tr"),a=o==null?void 0:o.previousElementSibling;a&&a.tagName==="TR"&&a.focus()}};return n.createElement(v,{isSelected:e.getIsSelected(),isDisabled:s,isFocusable:!!r&&!s,...r&&{onClick:t=>c(e,t),tabIndex:0,css:{cursor:"pointer"},onKeyDown:x}},m()&&n.createElement(i.Cell,{"data-testid":`expand-icon-${e.id}`,css:{width:"$4",cursor:e.getCanExpand()?"pointer":"auto"},onClick:g},e.getCanExpand()&&n.createElement(D,{is:e.getIsExpanded()?f:h})),p&&n.createElement(i.Cell,{css:{width:"$4"}},n.createElement(S,{row:e,checked:b(),onCheckedChange:u})),e.getVisibleCells().map((t,o)=>n.createElement(E,{key:t.id,cell:t})))};export{k as DataTableRow};
2
2
  //# sourceMappingURL=DataTableRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableRow.js","sources":["../../../src/components/data-table/DataTableRow.tsx"],"sourcesContent":["import { ChevronDown, ChevronRight } from '@atom-learning/icons'\nimport type { Row } from '@tanstack/react-table'\nimport * as React from 'react'\n\nimport { styled } from '~/stitches'\n\nimport { Icon } from '../icon'\nimport { Table } from '../table'\nimport { useDataTable } from './DataTableContext'\nimport { DataTableDataCell } from './DataTableDataCell'\nimport { DataTableRowSelectionCheckbox } from './DataTableRowSelectionCheckbox'\n\nexport type DataTableRowProps = React.ComponentProps<typeof Table.Row> & {\n row: Row<Record<string, unknown>>\n rowAction?: (row: Record<string, unknown>, event: React.MouseEvent) => void\n}\n\nconst StyledRow = styled(Table.Row, {\n bg: 'initial',\n variants: {\n isSelected: {\n true: {\n '&:nth-child(odd), &:nth-child(even)': {\n bg: '$primary100'\n }\n }\n },\n isDisabled: {\n true: {\n opacity: '30%'\n }\n },\n isFocusable: {\n true: {\n transition: 'transform 150ms ease-in-out, box-shadow 150ms ease-in-out',\n '&:hover': {\n transform: 'translateY(-1px)',\n boxShadow: '0px 4px 11px 0px hsla(0, 0%, 12%, 0.12)',\n position: 'relative',\n zIndex: 3\n },\n '&:focus': {\n outline: '2px solid $primary500',\n outlineOffset: '-4px',\n '& td': {\n bg: 'transparent'\n }\n }\n }\n }\n }\n})\n\nconst isElementInteractive = (element: Element | null): boolean => {\n if (!element) return false\n if (element.closest('button, a, input, select, textarea')) return true\n if (element.getAttribute('role') === 'button') return true\n return false\n}\n\nexport const DataTableRow = ({ row, rowAction }: DataTableRowProps) => {\n const { enableRowSelection, disabledRows, getCanSomeRowsExpand } =\n useDataTable()\n\n const isDisabled = !!disabledRows?.[row.id]\n\n const toggleExpandHandler = row.getToggleExpandedHandler()\n const toggleSelectHandler = row.getToggleSelectedHandler()\n\n const getCheckedState = (): boolean | 'indeterminate' => {\n if (row.getIsSomeSelected()) return 'indeterminate'\n return row.getIsSelected()\n }\n\n const handleRowClick = (\n rowData: Row<Record<string, unknown>>,\n event: React.MouseEvent<HTMLTableRowElement>\n ) => {\n if (!rowAction) return\n\n // Skip if clicking on an interactive element\n const rowElement = (event.target as Element).closest('tr')\n if (!rowElement || isElementInteractive(event.target as Element)) {\n return\n }\n\n rowAction(rowData.original, event)\n }\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n if (isElementInteractive(event.target as Element)) {\n return\n }\n event.preventDefault()\n handleRowClick(\n row,\n event as unknown as React.MouseEvent<HTMLTableRowElement>\n )\n }\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n const currentRow = (event.target as HTMLElement).closest('tr')\n const nextRow = currentRow?.nextElementSibling as HTMLElement\n if (nextRow && nextRow.tagName === 'TR') {\n nextRow.focus()\n }\n }\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n const currentRow = (event.target as HTMLElement).closest('tr')\n const previousRow = currentRow?.previousElementSibling as HTMLElement\n if (previousRow && previousRow.tagName === 'TR') {\n previousRow.focus()\n }\n }\n }\n\n return (\n <StyledRow\n isSelected={row.getIsSelected()}\n isDisabled={isDisabled}\n isFocusable={!!rowAction && !isDisabled}\n {...(rowAction && {\n onClick: (event) => handleRowClick(row, event),\n tabIndex: 0,\n css: { cursor: 'pointer' },\n onKeyDown: handleKeyDown\n })}\n >\n {getCanSomeRowsExpand() && (\n <Table.Cell\n data-testid={`expand-icon-${row.id}`}\n css={{ width: '$4', cursor: row.getCanExpand() ? 'pointer' : 'auto' }}\n onClick={toggleExpandHandler}\n >\n {row.getCanExpand() && (\n <Icon is={row.getIsExpanded() ? ChevronDown : ChevronRight} />\n )}\n </Table.Cell>\n )}\n\n {enableRowSelection && (\n <Table.Cell css={{ width: '$4' }}>\n <DataTableRowSelectionCheckbox\n row={row}\n checked={getCheckedState()}\n onCheckedChange={toggleSelectHandler}\n />\n </Table.Cell>\n )}\n {row.getVisibleCells().map((cell, i) => {\n return <DataTableDataCell key={cell.id} cell={cell} />\n })}\n </StyledRow>\n )\n}\n"],"names":["StyledRow","styled","Table","isElementInteractive","element","DataTableRow","row","rowAction","enableRowSelection","disabledRows","getCanSomeRowsExpand","useDataTable","isDisabled","toggleExpandHandler","toggleSelectHandler","getCheckedState","handleRowClick","rowData","event","handleKeyDown","currentRow","nextRow","previousRow","React","Icon","ChevronDown","ChevronRight","DataTableRowSelectionCheckbox","cell","i","DataTableDataCell"],"mappings":"4ZAiBA,MAAMA,EAAYC,EAAOC,EAAM,IAAK,CAClC,GAAI,UACJ,SAAU,CACR,WAAY,CACV,KAAM,CACJ,sCAAuC,CACrC,GAAI,aACN,CACF,CACF,EACA,WAAY,CACV,KAAM,CACJ,QAAS,KACX,CACF,EACA,YAAa,CACX,KAAM,CACJ,WAAY,4DACZ,UAAW,CACT,UAAW,mBACX,UAAW,0CACX,SAAU,WACV,OAAQ,CACV,EACA,UAAW,CACT,QAAS,wBACT,cAAe,OACf,OAAQ,CACN,GAAI,aACN,CACF,CACF,CACF,CACF,CACF,CAAC,EAEKC,EAAwBC,GACvBA,EACD,GAAAA,EAAQ,QAAQ,oCAAoC,GACpDA,EAAQ,aAAa,MAAM,IAAM,UAFhB,GAMVC,EAAe,CAAC,CAAE,IAAAC,EAAK,UAAAC,CAAU,IAAyB,CACrE,KAAM,CAAE,mBAAAC,EAAoB,aAAAC,EAAc,qBAAAC,CAAqB,EAC7DC,EAEIC,EAAAA,EAAa,CAAC,EAACH,GAAA,MAAAA,EAAeH,EAAI,KAElCO,EAAsBP,EAAI,2BAC1BQ,EAAsBR,EAAI,yBAAyB,EAEnDS,EAAkB,IAClBT,EAAI,kBAA4B,EAAA,gBAC7BA,EAAI,cAAc,EAGrBU,EAAiB,CACrBC,EACAC,IACG,CACC,CAACX,GAID,CADgBW,EAAM,OAAmB,QAAQ,IAAI,GACtCf,EAAqBe,EAAM,MAAiB,GAI/DX,EAAUU,EAAQ,SAAUC,CAAK,CACnC,EAEMC,EAAiBD,GAAoD,CACzE,GAAIA,EAAM,MAAQ,SAAWA,EAAM,MAAQ,IAAK,CAC9C,GAAIf,EAAqBe,EAAM,MAAiB,EAC9C,OAEFA,EAAM,iBACNF,EACEV,EACAY,CACF,CACF,CACA,GAAIA,EAAM,MAAQ,YAAa,CAC7BA,EAAM,iBACN,MAAME,EAAcF,EAAM,OAAuB,QAAQ,IAAI,EACvDG,EAAUD,GAAA,YAAAA,EAAY,mBACxBC,GAAWA,EAAQ,UAAY,MACjCA,EAAQ,MAEZ,CAAA,CACA,GAAIH,EAAM,MAAQ,UAAW,CAC3BA,EAAM,iBACN,MAAME,EAAcF,EAAM,OAAuB,QAAQ,IAAI,EACvDI,EAAcF,GAAA,KAAAA,OAAAA,EAAY,uBAC5BE,GAAeA,EAAY,UAAY,MACzCA,EAAY,MAEhB,CAAA,CACF,EAEA,OACEC,EAAA,cAACvB,EAAA,CACC,WAAYM,EAAI,cAAA,EAChB,WAAYM,EACZ,YAAa,CAAC,CAACL,GAAa,CAACK,EAC5B,GAAIL,GAAa,CAChB,QAAUW,GAAUF,EAAeV,EAAKY,CAAK,EAC7C,SAAU,EACV,IAAK,CAAE,OAAQ,SAAU,EACzB,UAAWC,CACb,GAECT,EAAqB,GACpBa,EAAA,cAACrB,EAAM,KAAN,CACC,cAAa,eAAeI,EAAI,KAChC,IAAK,CAAE,MAAO,KAAM,OAAQA,EAAI,eAAiB,UAAY,MAAO,EACpE,QAASO,GAERP,EAAI,gBACHiB,EAAA,cAACC,EAAA,CAAK,GAAIlB,EAAI,cAAc,EAAImB,EAAcC,CAAc,CAAA,CAEhE,EAGDlB,GACCe,EAAA,cAACrB,EAAM,KAAN,CAAW,IAAK,CAAE,MAAO,IAAK,CAAA,EAC7BqB,EAAA,cAACI,EAAA,CACC,IAAKrB,EACL,QAASS,EAAgB,EACzB,gBAAiBD,CACnB,CAAA,CACF,EAEDR,EAAI,gBAAA,EAAkB,IAAI,CAACsB,EAAMC,IACzBN,EAAA,cAACO,EAAA,CAAkB,IAAKF,EAAK,GAAI,KAAMA,CAAM,CAAA,CACrD,CACH,CAEJ"}
1
+ {"version":3,"file":"DataTableRow.js","sources":["../../../src/components/data-table/DataTableRow.tsx"],"sourcesContent":["import { ChevronDown, ChevronRight } from '@atom-learning/icons'\nimport type { Row } from '@tanstack/react-table'\nimport * as React from 'react'\n\nimport { styled } from '~/stitches'\n\nimport { Icon } from '../icon'\nimport { Table } from '../table'\nimport { useDataTable } from './DataTableContext'\nimport { DataTableDataCell } from './DataTableDataCell'\nimport { DataTableRowSelectionCheckbox } from './DataTableRowSelectionCheckbox'\n\nexport type DataTableRowProps = React.ComponentProps<typeof Table.Row> & {\n row: Row<Record<string, unknown>>\n rowAction?: (row: Record<string, unknown>, event: React.MouseEvent) => void\n}\n\nconst StyledRow = styled(Table.Row, {\n bg: 'initial',\n position: 'relative',\n variants: {\n isSelected: {\n true: {\n '&:nth-child(odd), &:nth-child(even)': {\n bg: '$primary100'\n }\n }\n },\n isDisabled: {\n true: {\n opacity: '30%'\n }\n },\n isFocusable: {\n true: {\n transform: 'translateY(0)',\n boxShadow: '0px 4px 11px 0px hsla(0, 0%, 12%, 0)',\n transition: 'transform 300ms ease-in-out, box-shadow 300ms ease-in-out',\n '&:hover': {\n transform: 'translateY(-1px)',\n boxShadow: '0px 4px 11px 0px hsla(0, 0%, 12%, 0.12)',\n transitionDuration: '100ms',\n zIndex: 3\n },\n '&:focus': {\n outline: '2px solid $primary500',\n outlineOffset: '-4px',\n '& td': {\n bg: 'transparent'\n }\n }\n }\n }\n }\n})\n\nconst isElementInteractive = (element: Element | null): boolean => {\n if (!element) return false\n if (element.closest('button, a, input, select, textarea')) return true\n if (element.getAttribute('role') === 'button') return true\n return false\n}\n\nexport const DataTableRow = ({ row, rowAction }: DataTableRowProps) => {\n const { enableRowSelection, disabledRows, getCanSomeRowsExpand } =\n useDataTable()\n\n const isDisabled = !!disabledRows?.[row.id]\n\n const toggleExpandHandler = row.getToggleExpandedHandler()\n const toggleSelectHandler = row.getToggleSelectedHandler()\n\n const getCheckedState = (): boolean | 'indeterminate' => {\n if (row.getIsSomeSelected()) return 'indeterminate'\n return row.getIsSelected()\n }\n\n const handleRowClick = (\n rowData: Row<Record<string, unknown>>,\n event: React.MouseEvent<HTMLTableRowElement>\n ) => {\n if (!rowAction) return\n\n // Skip if clicking on an interactive element\n const rowElement = (event.target as Element).closest('tr')\n if (!rowElement || isElementInteractive(event.target as Element)) {\n return\n }\n\n rowAction(rowData.original, event)\n }\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n if (isElementInteractive(event.target as Element)) {\n return\n }\n event.preventDefault()\n handleRowClick(\n row,\n event as unknown as React.MouseEvent<HTMLTableRowElement>\n )\n }\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n const currentRow = (event.target as HTMLElement).closest('tr')\n const nextRow = currentRow?.nextElementSibling as HTMLElement\n if (nextRow && nextRow.tagName === 'TR') {\n nextRow.focus()\n }\n }\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n const currentRow = (event.target as HTMLElement).closest('tr')\n const previousRow = currentRow?.previousElementSibling as HTMLElement\n if (previousRow && previousRow.tagName === 'TR') {\n previousRow.focus()\n }\n }\n }\n\n return (\n <StyledRow\n isSelected={row.getIsSelected()}\n isDisabled={isDisabled}\n isFocusable={!!rowAction && !isDisabled}\n {...(rowAction && {\n onClick: (event) => handleRowClick(row, event),\n tabIndex: 0,\n css: { cursor: 'pointer' },\n onKeyDown: handleKeyDown\n })}\n >\n {getCanSomeRowsExpand() && (\n <Table.Cell\n data-testid={`expand-icon-${row.id}`}\n css={{ width: '$4', cursor: row.getCanExpand() ? 'pointer' : 'auto' }}\n onClick={toggleExpandHandler}\n >\n {row.getCanExpand() && (\n <Icon is={row.getIsExpanded() ? ChevronDown : ChevronRight} />\n )}\n </Table.Cell>\n )}\n\n {enableRowSelection && (\n <Table.Cell css={{ width: '$4' }}>\n <DataTableRowSelectionCheckbox\n row={row}\n checked={getCheckedState()}\n onCheckedChange={toggleSelectHandler}\n />\n </Table.Cell>\n )}\n {row.getVisibleCells().map((cell, i) => {\n return <DataTableDataCell key={cell.id} cell={cell} />\n })}\n </StyledRow>\n )\n}\n"],"names":["StyledRow","styled","Table","isElementInteractive","element","DataTableRow","row","rowAction","enableRowSelection","disabledRows","getCanSomeRowsExpand","useDataTable","isDisabled","toggleExpandHandler","toggleSelectHandler","getCheckedState","handleRowClick","rowData","event","handleKeyDown","currentRow","nextRow","previousRow","React","Icon","ChevronDown","ChevronRight","DataTableRowSelectionCheckbox","cell","i","DataTableDataCell"],"mappings":"4ZAiBA,MAAMA,EAAYC,EAAOC,EAAM,IAAK,CAClC,GAAI,UACJ,SAAU,WACV,SAAU,CACR,WAAY,CACV,KAAM,CACJ,sCAAuC,CACrC,GAAI,aACN,CACF,CACF,EACA,WAAY,CACV,KAAM,CACJ,QAAS,KACX,CACF,EACA,YAAa,CACX,KAAM,CACJ,UAAW,gBACX,UAAW,uCACX,WAAY,4DACZ,UAAW,CACT,UAAW,mBACX,UAAW,0CACX,mBAAoB,QACpB,OAAQ,CACV,EACA,UAAW,CACT,QAAS,wBACT,cAAe,OACf,OAAQ,CACN,GAAI,aACN,CACF,CACF,CACF,CACF,CACF,CAAC,EAEKC,EAAwBC,GACvBA,EACD,CAAAA,EAAAA,EAAQ,QAAQ,oCAAoC,GACpDA,EAAQ,aAAa,MAAM,IAAM,UAFhB,GAMVC,EAAe,CAAC,CAAE,IAAAC,EAAK,UAAAC,CAAU,IAAyB,CACrE,KAAM,CAAE,mBAAAC,EAAoB,aAAAC,EAAc,qBAAAC,CAAqB,EAC7DC,EAAa,EAETC,EAAa,CAAC,EAACH,GAAA,MAAAA,EAAeH,EAAI,KAElCO,EAAsBP,EAAI,yBAAyB,EACnDQ,EAAsBR,EAAI,2BAE1BS,EAAkB,IAClBT,EAAI,kBAAkB,EAAU,gBAC7BA,EAAI,cAAA,EAGPU,EAAiB,CACrBC,EACAC,IACG,CACC,CAACX,GAID,CADgBW,EAAM,OAAmB,QAAQ,IAAI,GACtCf,EAAqBe,EAAM,MAAiB,GAI/DX,EAAUU,EAAQ,SAAUC,CAAK,CACnC,EAEMC,EAAiBD,GAAoD,CACzE,GAAIA,EAAM,MAAQ,SAAWA,EAAM,MAAQ,IAAK,CAC9C,GAAIf,EAAqBe,EAAM,MAAiB,EAC9C,OAEFA,EAAM,iBACNF,EACEV,EACAY,CACF,CACF,CACA,GAAIA,EAAM,MAAQ,YAAa,CAC7BA,EAAM,iBACN,MAAME,EAAcF,EAAM,OAAuB,QAAQ,IAAI,EACvDG,EAAUD,GAAA,KAAA,OAAAA,EAAY,mBACxBC,GAAWA,EAAQ,UAAY,MACjCA,EAAQ,MAAM,CAElB,CACA,GAAIH,EAAM,MAAQ,UAAW,CAC3BA,EAAM,iBACN,MAAME,EAAcF,EAAM,OAAuB,QAAQ,IAAI,EACvDI,EAAcF,GAAA,YAAAA,EAAY,uBAC5BE,GAAeA,EAAY,UAAY,MACzCA,EAAY,OAEhB,CACF,EAEA,OACEC,EAAA,cAACvB,EAAA,CACC,WAAYM,EAAI,cAAc,EAC9B,WAAYM,EACZ,YAAa,CAAC,CAACL,GAAa,CAACK,EAC5B,GAAIL,GAAa,CAChB,QAAUW,GAAUF,EAAeV,EAAKY,CAAK,EAC7C,SAAU,EACV,IAAK,CAAE,OAAQ,SAAU,EACzB,UAAWC,CACb,CAECT,EAAAA,EAAAA,GACCa,EAAA,cAACrB,EAAM,KAAN,CACC,cAAa,eAAeI,EAAI,KAChC,IAAK,CAAE,MAAO,KAAM,OAAQA,EAAI,aAAa,EAAI,UAAY,MAAO,EACpE,QAASO,CAERP,EAAAA,EAAI,gBACHiB,EAAA,cAACC,EAAA,CAAK,GAAIlB,EAAI,gBAAkBmB,EAAcC,CAAAA,CAAc,CAEhE,EAGDlB,GACCe,EAAA,cAACrB,EAAM,KAAN,CAAW,IAAK,CAAE,MAAO,IAAK,GAC7BqB,EAAA,cAACI,EAAA,CACC,IAAKrB,EACL,QAASS,IACT,gBAAiBD,CAAAA,CACnB,CACF,EAEDR,EAAI,gBAAkB,EAAA,IAAI,CAACsB,EAAMC,IACzBN,EAAA,cAACO,EAAA,CAAkB,IAAKF,EAAK,GAAI,KAAMA,CAAAA,CAAM,CACrD,CACH,CAEJ"}
@@ -1,2 +1,2 @@
1
- import*as c from"@radix-ui/react-visually-hidden";import*as t from"react";import{Checkbox as n}from"../checkbox/Checkbox.js";import{Label as m}from"../label/Label.js";import{useDataTable as i}from"./DataTableContext.js";const d=({row:e,checked:l,onCheckedChange:a,label:r=`Row ${e.id} selection`})=>{const{tableId:o}=i();return t.createElement(t.Fragment,null,t.createElement(c.Root,null,t.createElement(m,{htmlFor:`${o}_row_${e.id}_selection`},r)),t.createElement(n,{size:"lg",style:{"--depth":e.depth},css:{ml:"calc((var(--depth, 0) * 2) * 4px)"},checked:l,onCheckedChange:a,name:`${o}_row_${e.id}_selection`,disabled:!e.getCanSelect()}))};export{d as DataTableRowSelectionCheckbox};
1
+ import*as c from"@radix-ui/react-visually-hidden";import*as t from"react";import{Checkbox as n}from"../checkbox/Checkbox.js";import{Label as m}from"../label/Label.js";import{useDataTable as i}from"./DataTableContext.js";const d=({row:e,checked:l,onCheckedChange:r,label:a=`Row ${e.id} selection`})=>{const{tableId:o}=i();return t.createElement(t.Fragment,null,t.createElement(c.Root,null,t.createElement(m,{htmlFor:`${o}_row_${e.id}_selection`},a)),t.createElement(n,{size:"lg",style:{"--depth":e.depth},css:{mr:"$3",ml:"calc((var(--depth, 0) * 2) * 4px)"},checked:l,onCheckedChange:r,name:`${o}_row_${e.id}_selection`,disabled:!e.getCanSelect()}))};export{d as DataTableRowSelectionCheckbox};
2
2
  //# sourceMappingURL=DataTableRowSelectionCheckbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableRowSelectionCheckbox.js","sources":["../../../src/components/data-table/DataTableRowSelectionCheckbox.tsx"],"sourcesContent":["import * as VisuallyHidden from '@radix-ui/react-visually-hidden'\nimport type { Row } from '@tanstack/react-table'\nimport * as React from 'react'\n\nimport { Checkbox } from '../checkbox'\nimport { Label } from '../label'\nimport { useDataTable } from './DataTableContext'\n\nexport const DataTableRowSelectionCheckbox = ({\n row,\n checked,\n onCheckedChange,\n label = `Row ${row.id} selection`\n}: {\n row: Row<Record<string, unknown>>\n checked: boolean | 'indeterminate'\n onCheckedChange: (value: boolean) => void\n label?: string\n}): React.ReactElement => {\n const { tableId } = useDataTable()\n\n return (\n <>\n <VisuallyHidden.Root>\n <Label htmlFor={`${tableId}_row_${row.id}_selection`}>{label}</Label>\n </VisuallyHidden.Root>\n <Checkbox\n size=\"lg\"\n style={{ '--depth': row.depth }}\n css={{ ml: 'calc((var(--depth, 0) * 2) * 4px)' }}\n checked={checked}\n onCheckedChange={onCheckedChange}\n name={`${tableId}_row_${row.id}_selection`}\n disabled={!row.getCanSelect()}\n />\n </>\n )\n}\n"],"names":["DataTableRowSelectionCheckbox","row","checked","onCheckedChange","label","tableId","useDataTable","React","VisuallyHidden","Label","Checkbox"],"mappings":"4NAQa,MAAAA,EAAgC,CAAC,CAC5C,IAAAC,EACA,QAAAC,EACA,gBAAAC,EACA,MAAAC,EAAQ,OAAOH,EAAI,cACrB,IAK0B,CACxB,KAAM,CAAE,QAAAI,CAAQ,EAAIC,IAEpB,OACEC,EAAA,cAAAA,EAAA,SACEA,KAAAA,EAAA,cAACC,EAAe,KAAf,KACCD,EAAA,cAACE,EAAA,CAAM,QAAS,GAAGJ,SAAeJ,EAAI,gBAAiBG,CAAM,CAC/D,EACAG,EAAA,cAACG,EAAA,CACC,KAAK,KACL,MAAO,CAAE,UAAWT,EAAI,KAAM,EAC9B,IAAK,CAAE,GAAI,mCAAoC,EAC/C,QAASC,EACT,gBAAiBC,EACjB,KAAM,GAAGE,SAAeJ,EAAI,eAC5B,SAAU,CAACA,EAAI,aACjB,CAAA,CAAA,CACF,CAEJ"}
1
+ {"version":3,"file":"DataTableRowSelectionCheckbox.js","sources":["../../../src/components/data-table/DataTableRowSelectionCheckbox.tsx"],"sourcesContent":["import * as VisuallyHidden from '@radix-ui/react-visually-hidden'\nimport type { Row } from '@tanstack/react-table'\nimport * as React from 'react'\n\nimport { Checkbox } from '../checkbox'\nimport { Label } from '../label'\nimport { useDataTable } from './DataTableContext'\n\nexport const DataTableRowSelectionCheckbox = ({\n row,\n checked,\n onCheckedChange,\n label = `Row ${row.id} selection`\n}: {\n row: Row<Record<string, unknown>>\n checked: boolean | 'indeterminate'\n onCheckedChange: (value: boolean) => void\n label?: string\n}): React.ReactElement => {\n const { tableId } = useDataTable()\n\n return (\n <>\n <VisuallyHidden.Root>\n <Label htmlFor={`${tableId}_row_${row.id}_selection`}>{label}</Label>\n </VisuallyHidden.Root>\n <Checkbox\n size=\"lg\"\n style={{ '--depth': row.depth }}\n css={{ mr: '$3', ml: 'calc((var(--depth, 0) * 2) * 4px)' }}\n checked={checked}\n onCheckedChange={onCheckedChange}\n name={`${tableId}_row_${row.id}_selection`}\n disabled={!row.getCanSelect()}\n />\n </>\n )\n}\n"],"names":["DataTableRowSelectionCheckbox","row","checked","onCheckedChange","label","tableId","useDataTable","React","VisuallyHidden","Label","Checkbox"],"mappings":"4NAQa,MAAAA,EAAgC,CAAC,CAC5C,IAAAC,EACA,QAAAC,EACA,gBAAAC,EACA,MAAAC,EAAQ,OAAOH,EAAI,cACrB,IAK0B,CACxB,KAAM,CAAE,QAAAI,CAAQ,EAAIC,EAAa,EAEjC,OACEC,EAAA,cAAAA,EAAA,SAAA,KACEA,EAAA,cAACC,EAAe,KAAf,KACCD,EAAA,cAACE,EAAA,CAAM,QAAS,GAAGJ,SAAeJ,EAAI,cAAA,EAAiBG,CAAM,CAC/D,EACAG,EAAA,cAACG,EAAA,CACC,KAAK,KACL,MAAO,CAAE,UAAWT,EAAI,KAAM,EAC9B,IAAK,CAAE,GAAI,KAAM,GAAI,mCAAoC,EACzD,QAASC,EACT,gBAAiBC,EACjB,KAAM,GAAGE,SAAeJ,EAAI,eAC5B,SAAU,CAACA,EAAI,aACjB,CAAA,CAAA,CACF,CAEJ"}
@@ -10,6 +10,8 @@ export type DataTableTableProps = Omit<React.ComponentProps<typeof Table>, 'chil
10
10
  headerCss?: CSS;
11
11
  numberOfStickyColumns?: number;
12
12
  scrollContainerCss?: CSS;
13
+ showTotalInFirstColumn?: boolean;
14
+ totalSuffix?: string;
13
15
  };
14
16
  rowAction?: (row: Record<string, unknown>, event: React.MouseEvent) => void;
15
17
  };
@@ -1,2 +1,2 @@
1
- import*as e from"react";import{Table as A}from"../table/Table.js";import{DataTable as g}from"./DataTable.js";import{AsyncDataState as L}from"./DataTable.types.js";import{useDataTable as B}from"./DataTableContext.js";import{DataTableLoading as P}from"./DataTableLoading.js";const _=({sortable:k,striped:E,theme:S="white",css:h,scrollOptions:t={numberOfStickyColumns:0,stickyHeaderOffset:0,hasStickyHeader:!1},rowAction:v,...C})=>{const{asyncDataState:O,getTotalRows:w,getCanSomeRowsExpand:m,rowSelection:f,enableRowSelection:d,tableId:H,setTablePosition:i}=B(),r=e.useRef(null),R=e.useRef(!1),l=e.useRef(!1),n=e.useMemo(()=>typeof document>"u"?null:document.body,[]);e.useEffect(()=>{if(!n||typeof IntersectionObserver>"u")return;const o=()=>{if(r.current){const s=r.current.getBoundingClientRect().top,c=r.current.getBoundingClientRect().bottom;i(u=>({...u,top:s,bottom:c}))}l.current=!1},a=()=>{l.current||(requestAnimationFrame(o),l.current=!0)};if(!r.current)return;const p=(t==null?void 0:t.stickyHeaderOffset)||0,T={rootMargin:`-${p}px 0px -${p}px 0px`,threshold:0},x=s=>{if(!s||s.length===0)return;const c=s[0];R.current=c.isIntersecting,n&&(c.isIntersecting?n==null||n.addEventListener("scroll",a):n==null||n.removeEventListener("scroll",a)),i(u=>({...u,isVisible:c.isIntersecting}))},b=new IntersectionObserver(x,T);return r.current&&(t.hasStickyHeader||Object.keys(f||{}).length>0)&&b.observe(r.current),()=>{b.disconnect(),n&&(n==null||n.removeEventListener("scroll",a))}},[f,t.hasStickyHeader,t==null?void 0:t.stickyHeaderOffset,n,i]);const y=O===L.PENDING,D=!y&&w()===0,I=()=>{let o=0;return m()&&!!d?o=2:(m()||!!d)&&(o=1),`${H}_${o}_control_columns`};return D?null:e.createElement(e.Fragment,null,e.createElement(P,null),e.createElement("div",{style:{display:"contents"}},e.createElement(A,{...C,ref:r,numberOfStickyColumns:t.numberOfStickyColumns,scrollContainerCss:{...t.scrollContainerCss},scrollContainerkey:I(),css:{...h,...y&&{opacity:.5,pointerEvents:"none",transition:"opacity 250ms linear 150ms"}}},e.createElement(g.Head,{theme:S,sortable:k,isSticky:t.hasStickyHeader,stickyOffset:t.stickyHeaderOffset,css:t.headerCss}),e.createElement(g.Body,{striped:E,rowAction:v}))))};export{_ as DataTableTable};
1
+ import*as t from"react";import{styled as F}from"../../stitches.js";import{Box as A}from"../box/Box.js";import{Table as B}from"../table/Table.js";import{DataTable as g}from"./DataTable.js";import{AsyncDataState as L}from"./DataTable.types.js";import{useDataTable as _}from"./DataTableContext.js";import{DataTableLoading as P}from"./DataTableLoading.js";const M=F(A,{p:"$2",bg:"white",borderRadius:"$3"}),N=({sortable:h,striped:w,theme:C="white",css:S,scrollOptions:e={numberOfStickyColumns:0,stickyHeaderOffset:0,hasStickyHeader:!1,showTotalInFirstColumn:!0,totalSuffix:"items"},rowAction:k,...E})=>{const{asyncDataState:O,getTotalRows:v,getCanSomeRowsExpand:m,rowSelection:f,enableRowSelection:d,tableId:x,setTablePosition:l}=_(),n=t.useRef(null),I=t.useRef(!1),c=t.useRef(!1),r=t.useMemo(()=>typeof window>"u"?null:window,[]);t.useEffect(()=>{if(!r||typeof IntersectionObserver>"u")return;const o=()=>{if(n.current){const s=n.current.getBoundingClientRect().top,i=n.current.getBoundingClientRect().bottom;l(u=>({...u,top:s,bottom:i}))}c.current=!1},a=()=>{c.current||(requestAnimationFrame(o),c.current=!0)};if(!n.current)return;const b=(e==null?void 0:e.stickyHeaderOffset)||0,R={rootMargin:`-${b}px 0px -${b}px 0px`,threshold:0},D=s=>{if(!s||s.length===0)return;const i=s[0];I.current=i.isIntersecting,r&&(i.isIntersecting?r==null||r.addEventListener("scroll",a):r==null||r.removeEventListener("scroll",a)),l(u=>({...u,isVisible:i.isIntersecting}))},y=new IntersectionObserver(D,R);return n.current&&(e.hasStickyHeader||Object.keys(f||{}).length>0)&&y.observe(n.current),()=>{y.disconnect(),r&&(r==null||r.removeEventListener("scroll",a))}},[f,e.hasStickyHeader,e==null?void 0:e.stickyHeaderOffset,r,l]);const p=O===L.PENDING,T=!p&&v()===0,H=()=>{let o=0;return m()&&!!d?o=2:(m()||!!d)&&(o=1),`${x}_${o}_control_columns`};return T?null:t.createElement(t.Fragment,null,t.createElement(P,null),t.createElement(M,null,t.createElement(B,{corners:"round",size:"lg",...E,ref:n,numberOfStickyColumns:e.numberOfStickyColumns,scrollContainerCss:{...e.scrollContainerCss},scrollContainerkey:H(),css:{...S,...p&&{opacity:.5,pointerEvents:"none",transition:"opacity 250ms linear 150ms"}}},t.createElement(g.Head,{theme:C,sortable:h,isSticky:e.hasStickyHeader,stickyOffset:e.stickyHeaderOffset,css:e.headerCss,showTotalInFirstColumn:e.showTotalInFirstColumn,totalSuffix:e.totalSuffix}),t.createElement(g.Body,{striped:w,rowAction:k}))))};export{N as DataTableTable};
2
2
  //# sourceMappingURL=DataTableTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableTable.js","sources":["../../../src/components/data-table/DataTableTable.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { CSS } from '~/stitches'\n\nimport { Table } from '../table'\nimport { TableBody } from '../table/TableBody'\nimport { DataTable } from './DataTable'\nimport { AsyncDataState } from './DataTable.types'\nimport { useDataTable } from './DataTableContext'\nimport { DataTableHead } from './DataTableHead'\nimport { DataTableLoading } from './DataTableLoading'\n\nexport type DataTableTableProps = Omit<\n React.ComponentProps<typeof Table>,\n 'children' | 'numberOfStickyColumns'\n> &\n Partial<\n Pick<React.ComponentProps<typeof DataTableHead>, 'theme' | 'sortable'>\n > &\n Partial<Pick<React.ComponentProps<typeof TableBody>, 'striped'>> & {\n scrollOptions?: {\n hasStickyHeader?: boolean\n stickyHeaderOffset?: number\n headerCss?: CSS\n numberOfStickyColumns?: number\n scrollContainerCss?: CSS\n }\n rowAction?: (row: Record<string, unknown>, event: React.MouseEvent) => void\n }\n\nexport const DataTableTable = ({\n sortable,\n striped,\n theme = 'white',\n css,\n scrollOptions = {\n numberOfStickyColumns: 0,\n stickyHeaderOffset: 0,\n hasStickyHeader: false\n },\n rowAction,\n ...props\n}: DataTableTableProps): JSX.Element | null => {\n const {\n asyncDataState,\n getTotalRows,\n getCanSomeRowsExpand,\n rowSelection,\n enableRowSelection,\n tableId,\n setTablePosition\n } = useDataTable()\n\n const tableRef = React.useRef<HTMLTableElement | null>(null)\n const isTableVisible = React.useRef(false)\n const isScrolling = React.useRef<boolean>(false)\n\n const scrollTarget = React.useMemo(() => {\n if (typeof document === 'undefined') return null\n return document.body\n }, [])\n\n React.useEffect(() => {\n if (!scrollTarget || typeof IntersectionObserver === 'undefined') {\n return\n }\n\n const updatePosition = () => {\n if (tableRef.current) {\n const tableTop = tableRef.current.getBoundingClientRect().top\n const tableBottom = tableRef.current.getBoundingClientRect().bottom\n\n setTablePosition((prevPosition) => ({\n ...prevPosition,\n top: tableTop,\n bottom: tableBottom\n }))\n }\n isScrolling.current = false\n }\n\n const handleScroll = () => {\n if (!isScrolling.current) {\n requestAnimationFrame(updatePosition)\n isScrolling.current = true\n }\n }\n\n if (!tableRef.current) return\n\n const observerOffset = scrollOptions?.stickyHeaderOffset || 0\n\n const observerOptions = {\n rootMargin: `-${observerOffset}px 0px -${observerOffset}px 0px`,\n threshold: 0\n }\n\n const handleTableIntersection = (entries: IntersectionObserverEntry[]) => {\n if (!entries || entries.length === 0) return\n const entry = entries[0]\n\n isTableVisible.current = entry.isIntersecting\n\n if (scrollTarget) {\n if (entry.isIntersecting) {\n // add scroll listener\n scrollTarget?.addEventListener('scroll', handleScroll)\n } else {\n // remove scroll listener\n scrollTarget?.removeEventListener('scroll', handleScroll)\n }\n }\n\n setTablePosition((prevPosition) => ({\n ...prevPosition,\n isVisible: entry.isIntersecting\n }))\n }\n\n const tableObserver = new IntersectionObserver(\n handleTableIntersection,\n observerOptions\n )\n\n //only track table position if we have a sticky header or bulk actions active\n if (\n tableRef.current &&\n (scrollOptions.hasStickyHeader ||\n Object.keys(rowSelection || {}).length > 0)\n ) {\n tableObserver.observe(tableRef.current)\n }\n\n return () => {\n tableObserver.disconnect()\n if (scrollTarget) {\n scrollTarget?.removeEventListener('scroll', handleScroll)\n }\n }\n }, [\n rowSelection,\n scrollOptions.hasStickyHeader,\n scrollOptions?.stickyHeaderOffset,\n scrollTarget,\n setTablePosition\n ])\n\n const isPending = asyncDataState === AsyncDataState.PENDING\n const isEmpty = !isPending && getTotalRows() === 0\n\n const buildScrollContainerKey = (): string => {\n let controlColumnCount = 0\n\n if (getCanSomeRowsExpand() && !!enableRowSelection) {\n controlColumnCount = 2\n } else if (getCanSomeRowsExpand() || !!enableRowSelection) {\n controlColumnCount = 1\n }\n\n return `${tableId}_${controlColumnCount}_control_columns`\n }\n\n if (isEmpty) return null\n\n return (\n <>\n <DataTableLoading />\n <div style={{ display: 'contents' }}>\n <Table\n {...props}\n ref={tableRef}\n numberOfStickyColumns={scrollOptions.numberOfStickyColumns}\n scrollContainerCss={{\n ...scrollOptions.scrollContainerCss\n }}\n scrollContainerkey={buildScrollContainerKey()}\n css={{\n ...css,\n ...(isPending && {\n opacity: 0.5,\n pointerEvents: 'none',\n transition: 'opacity 250ms linear 150ms'\n })\n }}\n >\n <DataTable.Head\n theme={theme}\n sortable={sortable}\n isSticky={scrollOptions.hasStickyHeader}\n stickyOffset={scrollOptions.stickyHeaderOffset}\n css={scrollOptions.headerCss}\n />\n <DataTable.Body striped={striped} rowAction={rowAction} />\n </Table>\n </div>\n </>\n )\n}\n"],"names":["DataTableTable","sortable","striped","theme","css","scrollOptions","rowAction","props","asyncDataState","getTotalRows","getCanSomeRowsExpand","rowSelection","enableRowSelection","tableId","setTablePosition","useDataTable","tableRef","React","isTableVisible","isScrolling","scrollTarget","updatePosition","tableTop","tableBottom","prevPosition","handleScroll","observerOffset","observerOptions","handleTableIntersection","entries","entry","tableObserver","isPending","AsyncDataState","isEmpty","buildScrollContainerKey","controlColumnCount","DataTableLoading","Table","DataTable"],"mappings":"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"}
1
+ {"version":3,"file":"DataTableTable.js","sources":["../../../src/components/data-table/DataTableTable.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { CSS, styled } from '~/stitches'\n\nimport { Box } from '../box'\nimport { Table } from '../table'\nimport { TableBody } from '../table/TableBody'\nimport { DataTable } from './DataTable'\nimport { AsyncDataState } from './DataTable.types'\nimport { useDataTable } from './DataTableContext'\nimport { DataTableHead } from './DataTableHead'\nimport { DataTableLoading } from './DataTableLoading'\n\nconst TableContainer = styled(Box, {\n p: '$2',\n bg: 'white',\n borderRadius: '$3'\n})\n\nexport type DataTableTableProps = Omit<\n React.ComponentProps<typeof Table>,\n 'children' | 'numberOfStickyColumns'\n> &\n Partial<\n Pick<React.ComponentProps<typeof DataTableHead>, 'theme' | 'sortable'>\n > &\n Partial<Pick<React.ComponentProps<typeof TableBody>, 'striped'>> & {\n scrollOptions?: {\n hasStickyHeader?: boolean\n stickyHeaderOffset?: number\n headerCss?: CSS\n numberOfStickyColumns?: number\n scrollContainerCss?: CSS\n showTotalInFirstColumn?: boolean\n totalSuffix?: string\n }\n rowAction?: (row: Record<string, unknown>, event: React.MouseEvent) => void\n }\n\nexport const DataTableTable = ({\n sortable,\n striped,\n theme = 'white',\n css,\n scrollOptions = {\n numberOfStickyColumns: 0,\n stickyHeaderOffset: 0,\n hasStickyHeader: false,\n showTotalInFirstColumn: true,\n totalSuffix: 'items'\n },\n rowAction,\n ...props\n}: DataTableTableProps): JSX.Element | null => {\n const {\n asyncDataState,\n getTotalRows,\n getCanSomeRowsExpand,\n rowSelection,\n enableRowSelection,\n tableId,\n setTablePosition\n } = useDataTable()\n\n const tableRef = React.useRef<HTMLTableElement | null>(null)\n const isTableVisible = React.useRef(false)\n const isScrolling = React.useRef<boolean>(false)\n\n const scrollTarget = React.useMemo(() => {\n if (typeof window === 'undefined') return null\n return window\n }, [])\n\n React.useEffect(() => {\n if (!scrollTarget || typeof IntersectionObserver === 'undefined') {\n return\n }\n\n const updatePosition = () => {\n if (tableRef.current) {\n const tableTop = tableRef.current.getBoundingClientRect().top\n const tableBottom = tableRef.current.getBoundingClientRect().bottom\n\n setTablePosition((prevPosition) => ({\n ...prevPosition,\n top: tableTop,\n bottom: tableBottom\n }))\n }\n isScrolling.current = false\n }\n\n const handleScroll = () => {\n if (!isScrolling.current) {\n requestAnimationFrame(updatePosition)\n isScrolling.current = true\n }\n }\n\n if (!tableRef.current) return\n\n const observerOffset = scrollOptions?.stickyHeaderOffset || 0\n\n const observerOptions = {\n rootMargin: `-${observerOffset}px 0px -${observerOffset}px 0px`,\n threshold: 0\n }\n\n const handleTableIntersection = (entries: IntersectionObserverEntry[]) => {\n if (!entries || entries.length === 0) return\n const entry = entries[0]\n\n isTableVisible.current = entry.isIntersecting\n\n if (scrollTarget) {\n if (entry.isIntersecting) {\n // add scroll listener\n scrollTarget?.addEventListener('scroll', handleScroll)\n } else {\n // remove scroll listener\n scrollTarget?.removeEventListener('scroll', handleScroll)\n }\n }\n\n setTablePosition((prevPosition) => ({\n ...prevPosition,\n isVisible: entry.isIntersecting\n }))\n }\n\n const tableObserver = new IntersectionObserver(\n handleTableIntersection,\n observerOptions\n )\n\n //only track table position if we have a sticky header or bulk actions active\n if (\n tableRef.current &&\n (scrollOptions.hasStickyHeader ||\n Object.keys(rowSelection || {}).length > 0)\n ) {\n tableObserver.observe(tableRef.current)\n }\n\n return () => {\n tableObserver.disconnect()\n if (scrollTarget) {\n scrollTarget?.removeEventListener('scroll', handleScroll)\n }\n }\n }, [\n rowSelection,\n scrollOptions.hasStickyHeader,\n scrollOptions?.stickyHeaderOffset,\n scrollTarget,\n setTablePosition\n ])\n\n const isPending = asyncDataState === AsyncDataState.PENDING\n const isEmpty = !isPending && getTotalRows() === 0\n\n const buildScrollContainerKey = (): string => {\n let controlColumnCount = 0\n\n if (getCanSomeRowsExpand() && !!enableRowSelection) {\n controlColumnCount = 2\n } else if (getCanSomeRowsExpand() || !!enableRowSelection) {\n controlColumnCount = 1\n }\n\n return `${tableId}_${controlColumnCount}_control_columns`\n }\n\n if (isEmpty) return null\n\n return (\n <>\n <DataTableLoading />\n <TableContainer>\n <Table\n corners=\"round\"\n size=\"lg\"\n {...props}\n ref={tableRef}\n numberOfStickyColumns={scrollOptions.numberOfStickyColumns}\n scrollContainerCss={{\n ...scrollOptions.scrollContainerCss\n }}\n scrollContainerkey={buildScrollContainerKey()}\n css={{\n ...css,\n ...(isPending && {\n opacity: 0.5,\n pointerEvents: 'none',\n transition: 'opacity 250ms linear 150ms'\n })\n }}\n >\n <DataTable.Head\n theme={theme}\n sortable={sortable}\n isSticky={scrollOptions.hasStickyHeader}\n stickyOffset={scrollOptions.stickyHeaderOffset}\n css={scrollOptions.headerCss}\n showTotalInFirstColumn={scrollOptions.showTotalInFirstColumn}\n totalSuffix={scrollOptions.totalSuffix}\n />\n <DataTable.Body striped={striped} rowAction={rowAction} />\n </Table>\n </TableContainer>\n </>\n )\n}\n"],"names":["TableContainer","styled","Box","DataTableTable","sortable","striped","theme","css","scrollOptions","rowAction","props","asyncDataState","getTotalRows","getCanSomeRowsExpand","rowSelection","enableRowSelection","tableId","setTablePosition","useDataTable","tableRef","React","isTableVisible","isScrolling","scrollTarget","updatePosition","tableTop","tableBottom","prevPosition","handleScroll","observerOffset","observerOptions","handleTableIntersection","entries","entry","tableObserver","isPending","AsyncDataState","isEmpty","buildScrollContainerKey","controlColumnCount","DataTableLoading","Table","DataTable"],"mappings":"gWAaA,MAAMA,EAAiBC,EAAOC,EAAK,CACjC,EAAG,KACH,GAAI,QACJ,aAAc,IAChB,CAAC,EAsBYC,EAAiB,CAAC,CAC7B,SAAAC,EACA,QAAAC,EACA,MAAAC,EAAQ,QACR,IAAAC,EACA,cAAAC,EAAgB,CACd,sBAAuB,EACvB,mBAAoB,EACpB,gBAAiB,GACjB,uBAAwB,GACxB,YAAa,OACf,EACA,UAAAC,KACGC,CACL,IAA+C,CAC7C,KAAM,CACJ,eAAAC,EACA,aAAAC,EACA,qBAAAC,EACA,aAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,iBAAAC,CACF,EAAIC,EAAa,EAEXC,EAAWC,EAAM,OAAgC,IAAI,EACrDC,EAAiBD,EAAM,OAAO,EAAK,EACnCE,EAAcF,EAAM,OAAgB,EAAK,EAEzCG,EAAeH,EAAM,QAAQ,IAC7B,OAAO,OAAW,IAAoB,KACnC,OACN,CAAE,CAAA,EAELA,EAAM,UAAU,IAAM,CACpB,GAAI,CAACG,GAAgB,OAAO,qBAAyB,IACnD,OAGF,MAAMC,EAAiB,IAAM,CAC3B,GAAIL,EAAS,QAAS,CACpB,MAAMM,EAAWN,EAAS,QAAQ,wBAAwB,IACpDO,EAAcP,EAAS,QAAQ,sBAAA,EAAwB,OAE7DF,EAAkBU,IAAkB,CAClC,GAAGA,EACH,IAAKF,EACL,OAAQC,CACV,EAAE,CACJ,CACAJ,EAAY,QAAU,EACxB,EAEMM,EAAe,IAAM,CACpBN,EAAY,UACf,sBAAsBE,CAAc,EACpCF,EAAY,QAAU,GAE1B,EAEA,GAAI,CAACH,EAAS,QAAS,OAEvB,MAAMU,GAAiBrB,GAAA,KAAAA,OAAAA,EAAe,qBAAsB,EAEtDsB,EAAkB,CACtB,WAAY,IAAID,YAAyBA,UACzC,UAAW,CACb,EAEME,EAA2BC,GAAyC,CACxE,GAAI,CAACA,GAAWA,EAAQ,SAAW,EAAG,OACtC,MAAMC,EAAQD,EAAQ,GAEtBX,EAAe,QAAUY,EAAM,eAE3BV,IACEU,EAAM,eAERV,GAAA,MAAAA,EAAc,iBAAiB,SAAUK,GAGzCL,GAAA,MAAAA,EAAc,oBAAoB,SAAUK,CAIhDX,GAAAA,EAAkBU,IAAkB,CAClC,GAAGA,EACH,UAAWM,EAAM,cACnB,EAAE,CACJ,EAEMC,EAAgB,IAAI,qBACxBH,EACAD,CACF,EAGA,OACEX,EAAS,UACRX,EAAc,iBACb,OAAO,KAAKM,GAAgB,CAAE,CAAA,EAAE,OAAS,IAE3CoB,EAAc,QAAQf,EAAS,OAAO,EAGjC,IAAM,CACXe,EAAc,aACVX,IACFA,GAAA,MAAAA,EAAc,oBAAoB,SAAUK,CAEhD,EAAA,CACF,EAAG,CACDd,EACAN,EAAc,gBACdA,GAAA,KAAA,OAAAA,EAAe,mBACfe,EACAN,CACF,CAAC,EAED,MAAMkB,EAAYxB,IAAmByB,EAAe,QAC9CC,EAAU,CAACF,GAAavB,MAAmB,EAE3C0B,EAA0B,IAAc,CAC5C,IAAIC,EAAqB,EAEzB,OAAI1B,EAA0B,GAAA,CAAC,CAACE,EAC9BwB,EAAqB,GACZ1B,EAAAA,GAA0B,CAAC,CAACE,KACrCwB,EAAqB,GAGhB,GAAGvB,KAAWuB,mBACvB,EAEA,OAAIF,EAAgB,KAGlBjB,EAAA,cAAAA,EAAA,cACEA,EAAA,cAACoB,EAAA,IAAiB,EAClBpB,EAAA,cAACpB,EAAA,KACCoB,EAAA,cAACqB,EAAA,CACC,QAAQ,QACR,KAAK,KACJ,GAAG/B,EACJ,IAAKS,EACL,sBAAuBX,EAAc,sBACrC,mBAAoB,CAClB,GAAGA,EAAc,kBACnB,EACA,mBAAoB8B,EAAwB,EAC5C,IAAK,CACH,GAAG/B,EACH,GAAI4B,GAAa,CACf,QAAS,GACT,cAAe,OACf,WAAY,4BACd,CACF,CAEAf,EAAAA,EAAA,cAACsB,EAAU,KAAV,CACC,MAAOpC,EACP,SAAUF,EACV,SAAUI,EAAc,gBACxB,aAAcA,EAAc,mBAC5B,IAAKA,EAAc,UACnB,uBAAwBA,EAAc,uBACtC,YAAaA,EAAc,WAC7B,CAAA,EACAY,EAAA,cAACsB,EAAU,KAAV,CAAe,QAASrC,EAAS,UAAWI,CAAW,CAAA,CAC1D,CACF,CACF,CAEJ"}
@@ -24,6 +24,8 @@ declare const StyledNav: import("@atom-learning/stitches-react/types/styled-comp
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;
@@ -22,6 +22,8 @@ export declare const Dialog: import("@atom-learning/stitches-react/types/styled-
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;
@@ -391,6 +393,8 @@ export declare const Dialog: import("@atom-learning/stitches-react/types/styled-
391
393
  textMinimal: string;
392
394
  background: string;
393
395
  backgroundAccent: string;
396
+ black: string;
397
+ white: string;
394
398
  grey100: string;
395
399
  grey200: string;
396
400
  grey300: string;
@@ -759,6 +763,8 @@ export declare const Dialog: import("@atom-learning/stitches-react/types/styled-
759
763
  textMinimal: string;
760
764
  background: string;
761
765
  backgroundAccent: string;
766
+ black: string;
767
+ white: string;
762
768
  grey100: string;
763
769
  grey200: string;
764
770
  grey300: string;
@@ -1128,6 +1134,8 @@ export declare const Dialog: import("@atom-learning/stitches-react/types/styled-
1128
1134
  textMinimal: string;
1129
1135
  background: string;
1130
1136
  backgroundAccent: string;
1137
+ black: string;
1138
+ white: string;
1131
1139
  grey100: string;
1132
1140
  grey200: string;
1133
1141
  grey300: string;
@@ -1500,6 +1508,8 @@ export declare const Dialog: import("@atom-learning/stitches-react/types/styled-
1500
1508
  textMinimal: string;
1501
1509
  background: string;
1502
1510
  backgroundAccent: string;
1511
+ black: string;
1512
+ white: string;
1503
1513
  grey100: string;
1504
1514
  grey200: string;
1505
1515
  grey300: string;
@@ -1849,8 +1859,8 @@ export declare const Dialog: import("@atom-learning/stitches-react/types/styled-
1849
1859
  closeDialogText?: string;
1850
1860
  showCloseButton?: boolean;
1851
1861
  }) => import("react").JSX.Element;
1852
- Heading: ({ css, ...props }: import("react").ComponentProps<typeof import("..").Heading>) => import("react").JSX.Element;
1853
- Footer: ({ css, ...props }: import("react").ComponentProps<typeof import("..").Flex>) => import("react").JSX.Element;
1862
+ Heading: ({ css, ...props }: React.ComponentProps<typeof import("..").Heading>) => import("react").JSX.Element;
1863
+ Footer: ({ css, ...props }: React.ComponentProps<typeof import("..").Flex>) => import("react").JSX.Element;
1854
1864
  Description: import("react").ForwardRefExoticComponent<import("@radix-ui/react-dialog").DialogDescriptionProps & import("react").RefAttributes<HTMLParagraphElement>>;
1855
1865
  Title: import("react").ForwardRefExoticComponent<import("@radix-ui/react-dialog").DialogTitleProps & import("react").RefAttributes<HTMLHeadingElement>>;
1856
1866
  Trigger: import("react").ForwardRefExoticComponent<import("@radix-ui/react-dialog").DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -22,6 +22,8 @@ export declare const DialogBackground: import("@atom-learning/stitches-react/typ
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;
@@ -390,6 +392,8 @@ export declare const DialogBackground: import("@atom-learning/stitches-react/typ
390
392
  textMinimal: string;
391
393
  background: string;
392
394
  backgroundAccent: string;
395
+ black: string;
396
+ white: string;
393
397
  grey100: string;
394
398
  grey200: string;
395
399
  grey300: string;
@@ -22,6 +22,8 @@ export declare const DialogClose: import("@atom-learning/stitches-react/types/st
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;
@@ -25,6 +25,8 @@ declare const StyledDialogContent: import("@atom-learning/stitches-react/types/s
25
25
  textMinimal: string;
26
26
  background: string;
27
27
  backgroundAccent: string;
28
+ black: string;
29
+ white: string;
28
30
  grey100: string;
29
31
  grey200: string;
30
32
  grey300: string;
@@ -1,6 +1,6 @@
1
1
  export declare const Dismissible: {
2
- ({ disabled, dismissed, onDismiss, ...rest }: import("react").PropsWithChildren<import("./DismissibleRoot").IDismissibleRootInternalProps & import("./DismissibleRoot").IDismissibleRootProps>): import("react").JSX.Element;
2
+ ({ disabled, dismissed, onDismiss, ...rest }: React.PropsWithChildren<import("./DismissibleRoot").IDismissibleRootInternalProps & import("./DismissibleRoot").IDismissibleRootProps>): import("react").JSX.Element;
3
3
  displayName: string;
4
4
  } & {
5
- Trigger: ({ asChild, ...rest }: import("react").PropsWithChildren<import("./DismissibleTrigger").IDismissibleTriggerProps>) => import("react").JSX.Element;
5
+ Trigger: ({ asChild, ...rest }: React.PropsWithChildren<import("./DismissibleTrigger").IDismissibleTriggerProps>) => import("react").JSX.Element;
6
6
  };
@@ -1,7 +1,7 @@
1
1
  export declare const DismissibleGroup: {
2
- ({ as: Component, disabled, onDismiss, ...rest }: import("react").PropsWithChildren<import("./DismissibleGroupRoot").IDismissibleGroupRootProps>): import("react").JSX.Element;
2
+ ({ as: Component, disabled, onDismiss, ...rest }: React.PropsWithChildren<import("./DismissibleGroupRoot").IDismissibleGroupRootProps>): import("react").JSX.Element;
3
3
  displayName: string;
4
4
  } & {
5
- Item: ({ children, value, disabled: itemDisabled, ...rest }: import("react").PropsWithChildren<import("./DismissibleGroupItem").TDismissibleGroupItemProps>) => import("react").JSX.Element;
6
- Trigger: ({ asChild, ...rest }: import("react").PropsWithChildren<import("../../components/dismissible/DismissibleTrigger").IDismissibleTriggerProps>) => import("react").JSX.Element;
5
+ Item: ({ children, value, disabled: itemDisabled, ...rest }: React.PropsWithChildren<import("./DismissibleGroupItem").TDismissibleGroupItemProps>) => import("react").JSX.Element;
6
+ Trigger: ({ asChild, ...rest }: React.PropsWithChildren<import("../../components/dismissible/DismissibleTrigger").IDismissibleTriggerProps>) => import("react").JSX.Element;
7
7
  };
@@ -25,6 +25,8 @@ export declare const StyledDivider: import("@atom-learning/stitches-react/types/
25
25
  textMinimal: string;
26
26
  background: string;
27
27
  backgroundAccent: string;
28
+ black: string;
29
+ white: string;
28
30
  grey100: string;
29
31
  grey200: string;
30
32
  grey300: string;
@@ -30,6 +30,8 @@ export declare const Drawer: {
30
30
  textMinimal: string;
31
31
  background: string;
32
32
  backgroundAccent: string;
33
+ black: string;
34
+ white: string;
33
35
  grey100: string;
34
36
  grey200: string;
35
37
  grey300: string;
@@ -399,6 +401,8 @@ export declare const Drawer: {
399
401
  textMinimal: string;
400
402
  background: string;
401
403
  backgroundAccent: string;
404
+ black: string;
405
+ white: string;
402
406
  grey100: string;
403
407
  grey200: string;
404
408
  grey300: string;
@@ -768,6 +772,8 @@ export declare const Drawer: {
768
772
  textMinimal: string;
769
773
  background: string;
770
774
  backgroundAccent: string;
775
+ black: string;
776
+ white: string;
771
777
  grey100: string;
772
778
  grey200: string;
773
779
  grey300: string;
@@ -1137,6 +1143,8 @@ export declare const Drawer: {
1137
1143
  textMinimal: string;
1138
1144
  background: string;
1139
1145
  backgroundAccent: string;
1146
+ black: string;
1147
+ white: string;
1140
1148
  grey100: string;
1141
1149
  grey200: string;
1142
1150
  grey300: string;
@@ -26,6 +26,8 @@ export declare const StyledContent: import("@atom-learning/stitches-react/types/
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 DrawerFooter: 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 DrawerHeader: 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 DrawerMain: import("@atom-learning/stitches-react/types/sty
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 DrawerOverlay: 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 DrawerTrigger: 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;
@@ -24,6 +24,8 @@ export declare const DropdownMenu: import("@atom-learning/stitches-react/types/s
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;
@@ -393,6 +395,8 @@ export declare const DropdownMenu: import("@atom-learning/stitches-react/types/s
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;
@@ -762,6 +766,8 @@ export declare const DropdownMenu: import("@atom-learning/stitches-react/types/s
762
766
  textMinimal: string;
763
767
  background: string;
764
768
  backgroundAccent: string;
769
+ black: string;
770
+ white: string;
765
771
  grey100: string;
766
772
  grey200: string;
767
773
  grey300: string;
@@ -1135,6 +1141,8 @@ export declare const DropdownMenu: import("@atom-learning/stitches-react/types/s
1135
1141
  textMinimal: string;
1136
1142
  background: string;
1137
1143
  backgroundAccent: string;
1144
+ black: string;
1145
+ white: string;
1138
1146
  grey100: string;
1139
1147
  grey200: string;
1140
1148
  grey300: string;
@@ -1504,6 +1512,8 @@ export declare const DropdownMenu: import("@atom-learning/stitches-react/types/s
1504
1512
  textMinimal: string;
1505
1513
  background: string;
1506
1514
  backgroundAccent: string;
1515
+ black: string;
1516
+ white: string;
1507
1517
  grey100: string;
1508
1518
  grey200: string;
1509
1519
  grey300: string;
@@ -22,6 +22,8 @@ export declare const DropdownMenuContent: import("@atom-learning/stitches-react/
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;
@@ -56,6 +56,8 @@ export declare const DropdownMenuItem: import("@atom-learning/stitches-react/typ
56
56
  textMinimal: string;
57
57
  background: string;
58
58
  backgroundAccent: string;
59
+ black: string;
60
+ white: string;
59
61
  grey100: string;
60
62
  grey200: string;
61
63
  grey300: string;
@@ -22,6 +22,8 @@ export declare const DropdownMenuSeparator: import("@atom-learning/stitches-reac
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 DropdownMenuTrigger: import("@atom-learning/stitches-react/
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;
@@ -29,6 +29,8 @@ declare const EmptyStateContainer: import("@atom-learning/stitches-react/types/s
29
29
  textMinimal: string;
30
30
  background: string;
31
31
  backgroundAccent: string;
32
+ black: string;
33
+ white: string;
32
34
  grey100: string;
33
35
  grey200: string;
34
36
  grey300: string;
@@ -399,6 +401,8 @@ declare const EmptyStateContainer: import("@atom-learning/stitches-react/types/s
399
401
  textMinimal: string;
400
402
  background: string;
401
403
  backgroundAccent: string;
404
+ black: string;
405
+ white: string;
402
406
  grey100: string;
403
407
  grey200: string;
404
408
  grey300: string;
@@ -778,6 +782,8 @@ export declare const EmptyState: {
778
782
  textMinimal: string;
779
783
  background: string;
780
784
  backgroundAccent: string;
785
+ black: string;
786
+ white: string;
781
787
  grey100: string;
782
788
  grey200: string;
783
789
  grey300: string;
@@ -1152,6 +1158,8 @@ export declare const EmptyState: {
1152
1158
  textMinimal: string;
1153
1159
  background: string;
1154
1160
  backgroundAccent: string;
1161
+ black: string;
1162
+ white: string;
1155
1163
  grey100: string;
1156
1164
  grey200: string;
1157
1165
  grey300: string;
@@ -1527,6 +1535,8 @@ export declare const EmptyState: {
1527
1535
  textMinimal: string;
1528
1536
  background: string;
1529
1537
  backgroundAccent: string;
1538
+ black: string;
1539
+ white: string;
1530
1540
  grey100: string;
1531
1541
  grey200: string;
1532
1542
  grey300: string;
@@ -1907,6 +1917,8 @@ export declare const EmptyState: {
1907
1917
  textMinimal: string;
1908
1918
  background: string;
1909
1919
  backgroundAccent: string;
1920
+ black: string;
1921
+ white: string;
1910
1922
  grey100: string;
1911
1923
  grey200: string;
1912
1924
  grey300: string;
@@ -2281,6 +2293,8 @@ export declare const EmptyState: {
2281
2293
  textMinimal: string;
2282
2294
  background: string;
2283
2295
  backgroundAccent: string;
2296
+ black: string;
2297
+ white: string;
2284
2298
  grey100: string;
2285
2299
  grey200: string;
2286
2300
  grey300: string;
@@ -31,6 +31,8 @@ declare const StyledEmptyStateBody: import("@atom-learning/stitches-react/types/
31
31
  textMinimal: string;
32
32
  background: string;
33
33
  backgroundAccent: string;
34
+ black: string;
35
+ white: string;
34
36
  grey100: string;
35
37
  grey200: string;
36
38
  grey300: string;
@@ -404,6 +406,8 @@ declare const StyledEmptyStateBody: import("@atom-learning/stitches-react/types/
404
406
  textMinimal: string;
405
407
  background: string;
406
408
  backgroundAccent: string;
409
+ black: string;
410
+ white: string;
407
411
  grey100: string;
408
412
  grey200: string;
409
413
  grey300: string;
@@ -29,6 +29,8 @@ declare const StyledEmptyStateImage: import("@atom-learning/stitches-react/types
29
29
  textMinimal: string;
30
30
  background: string;
31
31
  backgroundAccent: string;
32
+ black: string;
33
+ white: string;
32
34
  grey100: string;
33
35
  grey200: string;
34
36
  grey300: string;
@@ -404,6 +406,8 @@ declare const StyledEmptyStateImage: import("@atom-learning/stitches-react/types
404
406
  textMinimal: string;
405
407
  background: string;
406
408
  backgroundAccent: string;
409
+ black: string;
410
+ white: string;
407
411
  grey100: string;
408
412
  grey200: string;
409
413
  grey300: string;
@@ -25,6 +25,8 @@ declare const StyledEmptyStateTitle: import("@atom-learning/stitches-react/types
25
25
  textMinimal: string;
26
26
  background: string;
27
27
  backgroundAccent: string;
28
+ black: string;
29
+ white: string;
28
30
  grey100: string;
29
31
  grey200: string;
30
32
  grey300: string;
@@ -28,6 +28,8 @@ export declare const Flex: import("@atom-learning/stitches-react/types/styled-co
28
28
  textMinimal: string;
29
29
  background: string;
30
30
  backgroundAccent: string;
31
+ black: string;
32
+ white: string;
31
33
  grey100: string;
32
34
  grey200: string;
33
35
  grey300: string;
@@ -25,6 +25,8 @@ declare const StyledForm: import("@atom-learning/stitches-react/types/styled-com
25
25
  textMinimal: string;
26
26
  background: string;
27
27
  backgroundAccent: string;
28
+ black: string;
29
+ white: string;
28
30
  grey100: string;
29
31
  grey200: string;
30
32
  grey300: string;
@@ -25,6 +25,8 @@ declare const GridContainer: import("@atom-learning/stitches-react/types/styled-
25
25
  textMinimal: string;
26
26
  background: string;
27
27
  backgroundAccent: string;
28
+ black: string;
29
+ white: string;
28
30
  grey100: string;
29
31
  grey200: string;
30
32
  grey300: string;