@veeqo/ui 14.10.2 → 14.10.3-beta-3

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 (272) hide show
  1. package/dist/components/Accordion/Accordion.cjs +19 -16
  2. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +19 -16
  4. package/dist/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/components/Accordion/Accordion.module.scss.cjs +9 -0
  6. package/dist/components/Accordion/Accordion.module.scss.cjs.map +1 -0
  7. package/dist/components/Accordion/Accordion.module.scss.js +7 -0
  8. package/dist/components/Accordion/Accordion.module.scss.js.map +1 -0
  9. package/dist/components/Action/Action.d.ts +4 -4
  10. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.cjs +2 -2
  11. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.cjs.map +1 -1
  12. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.js +1 -1
  13. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.cjs +2 -2
  14. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.cjs.map +1 -1
  15. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.js +1 -1
  16. package/dist/components/Card/Card.cjs +36 -9
  17. package/dist/components/Card/Card.cjs.map +1 -1
  18. package/dist/components/Card/Card.d.ts +10 -5
  19. package/dist/components/Card/Card.js +29 -2
  20. package/dist/components/Card/Card.js.map +1 -1
  21. package/dist/components/Card/Card.module.scss.cjs +9 -0
  22. package/dist/components/Card/Card.module.scss.cjs.map +1 -0
  23. package/dist/components/Card/Card.module.scss.js +7 -0
  24. package/dist/components/Card/Card.module.scss.js.map +1 -0
  25. package/dist/components/Card/index.d.ts +1 -0
  26. package/dist/components/CardHeader/CardHeader.cjs +3 -3
  27. package/dist/components/CardHeader/CardHeader.cjs.map +1 -1
  28. package/dist/components/CardHeader/CardHeader.js +3 -3
  29. package/dist/components/CardHeader/CardHeader.js.map +1 -1
  30. package/dist/components/CardHeader/CardHeader.module.scss.cjs +9 -0
  31. package/dist/components/CardHeader/CardHeader.module.scss.cjs.map +1 -0
  32. package/dist/components/CardHeader/CardHeader.module.scss.js +7 -0
  33. package/dist/components/CardHeader/CardHeader.module.scss.js.map +1 -0
  34. package/dist/components/DataTable/DataTable.cjs +3 -3
  35. package/dist/components/DataTable/DataTable.cjs.map +1 -1
  36. package/dist/components/DataTable/DataTable.d.ts +4 -4
  37. package/dist/components/DataTable/DataTable.js +3 -3
  38. package/dist/components/DataTable/DataTable.js.map +1 -1
  39. package/dist/components/DataTable/components/ActionBar.cjs +3 -8
  40. package/dist/components/DataTable/components/ActionBar.cjs.map +1 -1
  41. package/dist/components/DataTable/components/ActionBar.js +3 -7
  42. package/dist/components/DataTable/components/ActionBar.js.map +1 -1
  43. package/dist/components/DataTable/components/Cell.cjs +15 -4
  44. package/dist/components/DataTable/components/Cell.cjs.map +1 -1
  45. package/dist/components/DataTable/components/Cell.d.ts +6 -2
  46. package/dist/components/DataTable/components/Cell.js +15 -4
  47. package/dist/components/DataTable/components/Cell.js.map +1 -1
  48. package/dist/components/DataTable/components/ColumnDivider.cjs +4 -6
  49. package/dist/components/DataTable/components/ColumnDivider.cjs.map +1 -1
  50. package/dist/components/DataTable/components/ColumnDivider.d.ts +0 -1
  51. package/dist/components/DataTable/components/ColumnDivider.js +5 -5
  52. package/dist/components/DataTable/components/ColumnDivider.js.map +1 -1
  53. package/dist/components/DataTable/components/ColumnHeader.cjs +8 -9
  54. package/dist/components/DataTable/components/ColumnHeader.cjs.map +1 -1
  55. package/dist/components/DataTable/components/ColumnHeader.d.ts +16 -6
  56. package/dist/components/DataTable/components/ColumnHeader.js +7 -8
  57. package/dist/components/DataTable/components/ColumnHeader.js.map +1 -1
  58. package/dist/components/DataTable/components/DataTable.module.scss.cjs +9 -0
  59. package/dist/components/DataTable/components/DataTable.module.scss.cjs.map +1 -0
  60. package/dist/components/DataTable/components/DataTable.module.scss.js +7 -0
  61. package/dist/components/DataTable/components/DataTable.module.scss.js.map +1 -0
  62. package/dist/components/DataTable/components/EmptyBodyContent.cjs +13 -5
  63. package/dist/components/DataTable/components/EmptyBodyContent.cjs.map +1 -1
  64. package/dist/components/DataTable/components/EmptyBodyContent.d.ts +10 -3
  65. package/dist/components/DataTable/components/EmptyBodyContent.js +12 -4
  66. package/dist/components/DataTable/components/EmptyBodyContent.js.map +1 -1
  67. package/dist/components/DataTable/components/Header.cjs +16 -4
  68. package/dist/components/DataTable/components/Header.cjs.map +1 -1
  69. package/dist/components/DataTable/components/Header.d.ts +2 -1
  70. package/dist/components/DataTable/components/Header.js +16 -4
  71. package/dist/components/DataTable/components/Header.js.map +1 -1
  72. package/dist/components/DataTable/components/LoadingCellContent.cjs +7 -7
  73. package/dist/components/DataTable/components/LoadingCellContent.cjs.map +1 -1
  74. package/dist/components/DataTable/components/LoadingCellContent.d.ts +5 -1
  75. package/dist/components/DataTable/components/LoadingCellContent.js +6 -6
  76. package/dist/components/DataTable/components/LoadingCellContent.js.map +1 -1
  77. package/dist/components/DataTable/components/NoWrap.cjs +7 -3
  78. package/dist/components/DataTable/components/NoWrap.cjs.map +1 -1
  79. package/dist/components/DataTable/components/NoWrap.d.ts +6 -1
  80. package/dist/components/DataTable/components/NoWrap.js +6 -2
  81. package/dist/components/DataTable/components/NoWrap.js.map +1 -1
  82. package/dist/components/DataTable/components/Row.cjs +21 -24
  83. package/dist/components/DataTable/components/Row.cjs.map +1 -1
  84. package/dist/components/DataTable/components/Row.d.ts +5 -2
  85. package/dist/components/DataTable/components/Row.js +20 -23
  86. package/dist/components/DataTable/components/Row.js.map +1 -1
  87. package/dist/components/DataTable/components/ScrollContainer.cjs +7 -3
  88. package/dist/components/DataTable/components/ScrollContainer.cjs.map +1 -1
  89. package/dist/components/DataTable/components/ScrollContainer.d.ts +6 -1
  90. package/dist/components/DataTable/components/ScrollContainer.js +6 -2
  91. package/dist/components/DataTable/components/ScrollContainer.js.map +1 -1
  92. package/dist/components/DataTable/components/StickyHead.cjs +3 -11
  93. package/dist/components/DataTable/components/StickyHead.cjs.map +1 -1
  94. package/dist/components/DataTable/components/StickyHead.d.ts +2 -1
  95. package/dist/components/DataTable/components/StickyHead.js +3 -11
  96. package/dist/components/DataTable/components/StickyHead.js.map +1 -1
  97. package/dist/components/DataTable/components/TableGrid.cjs +47 -5
  98. package/dist/components/DataTable/components/TableGrid.cjs.map +1 -1
  99. package/dist/components/DataTable/components/TableGrid.d.ts +10 -3
  100. package/dist/components/DataTable/components/TableGrid.js +46 -4
  101. package/dist/components/DataTable/components/TableGrid.js.map +1 -1
  102. package/dist/components/DataTable/components/Truncate.cjs +7 -3
  103. package/dist/components/DataTable/components/Truncate.cjs.map +1 -1
  104. package/dist/components/DataTable/components/Truncate.d.ts +6 -1
  105. package/dist/components/DataTable/components/Truncate.js +6 -2
  106. package/dist/components/DataTable/components/Truncate.js.map +1 -1
  107. package/dist/components/DataTable/components/Wrapper.cjs +11 -8
  108. package/dist/components/DataTable/components/Wrapper.cjs.map +1 -1
  109. package/dist/components/DataTable/components/Wrapper.d.ts +5 -2
  110. package/dist/components/DataTable/components/Wrapper.js +10 -7
  111. package/dist/components/DataTable/components/Wrapper.js.map +1 -1
  112. package/dist/components/DataTable/constants.cjs +0 -2
  113. package/dist/components/DataTable/constants.cjs.map +1 -1
  114. package/dist/components/DataTable/constants.js +1 -2
  115. package/dist/components/DataTable/constants.js.map +1 -1
  116. package/dist/components/DataTable/hooks/useTableId.cjs +23 -0
  117. package/dist/components/DataTable/hooks/useTableId.cjs.map +1 -0
  118. package/dist/components/DataTable/hooks/useTableId.d.ts +13 -0
  119. package/dist/components/DataTable/hooks/useTableId.js +21 -0
  120. package/dist/components/DataTable/hooks/useTableId.js.map +1 -0
  121. package/dist/components/DataTable/utils/generateTableCss.cjs +44 -80
  122. package/dist/components/DataTable/utils/generateTableCss.cjs.map +1 -1
  123. package/dist/components/DataTable/utils/generateTableCss.d.ts +7 -1
  124. package/dist/components/DataTable/utils/generateTableCss.js +44 -80
  125. package/dist/components/DataTable/utils/generateTableCss.js.map +1 -1
  126. package/dist/components/DateInputField/DateInputField.cjs +1 -1
  127. package/dist/components/DateInputField/DateInputField.js +1 -1
  128. package/dist/components/DatePicker/DatePicker.cjs +1 -1
  129. package/dist/components/DatePicker/DatePicker.js +1 -1
  130. package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -1
  131. package/dist/components/DateRangePicker/DateRangePicker.js +1 -1
  132. package/dist/components/DimensionsInput/DimensionsInput.d.ts +10 -10
  133. package/dist/components/FilterTag/styled.d.ts +1 -1
  134. package/dist/components/Flex/FlexCol/FlexCol.d.ts +1 -1
  135. package/dist/components/Flex/FlexRow/FlexRow.d.ts +1 -1
  136. package/dist/components/Grid/Grid.cjs +24 -0
  137. package/dist/components/Grid/Grid.cjs.map +1 -0
  138. package/dist/components/Grid/Grid.d.ts +3 -0
  139. package/dist/components/Grid/Grid.js +18 -0
  140. package/dist/components/Grid/Grid.js.map +1 -0
  141. package/dist/components/Grid/Grid.module.scss.cjs +9 -0
  142. package/dist/components/Grid/Grid.module.scss.cjs.map +1 -0
  143. package/dist/components/Grid/Grid.module.scss.js +7 -0
  144. package/dist/components/Grid/Grid.module.scss.js.map +1 -0
  145. package/dist/components/Grid/index.d.ts +2 -3
  146. package/dist/components/LegacyDataTable/LegacyDataTable.d.ts +1 -1
  147. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.cjs +9 -0
  148. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.cjs.map +1 -0
  149. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.js +7 -0
  150. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.js.map +1 -0
  151. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.cjs +8 -8
  152. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.cjs.map +1 -1
  153. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.js +8 -7
  154. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.js.map +1 -1
  155. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.cjs +9 -0
  156. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.cjs.map +1 -0
  157. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.js +7 -0
  158. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.js.map +1 -0
  159. package/dist/components/LegacyDataTable/SpecificState/SpecificState.cjs +8 -5
  160. package/dist/components/LegacyDataTable/SpecificState/SpecificState.cjs.map +1 -1
  161. package/dist/components/LegacyDataTable/SpecificState/SpecificState.js +8 -5
  162. package/dist/components/LegacyDataTable/SpecificState/SpecificState.js.map +1 -1
  163. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.cjs +9 -0
  164. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.cjs.map +1 -0
  165. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.js +7 -0
  166. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.js.map +1 -0
  167. package/dist/components/LegacyDataTable/StickyHeader.cjs.map +1 -1
  168. package/dist/components/LegacyDataTable/StickyHeader.js.map +1 -1
  169. package/dist/components/LegacyDataTable/cells/ClickableCell.cjs +6 -8
  170. package/dist/components/LegacyDataTable/cells/ClickableCell.cjs.map +1 -1
  171. package/dist/components/LegacyDataTable/cells/ClickableCell.d.ts +1 -1
  172. package/dist/components/LegacyDataTable/cells/ClickableCell.js +4 -5
  173. package/dist/components/LegacyDataTable/cells/ClickableCell.js.map +1 -1
  174. package/dist/components/LegacyDataTable/cells/EditableCell.cjs +5 -8
  175. package/dist/components/LegacyDataTable/cells/EditableCell.cjs.map +1 -1
  176. package/dist/components/LegacyDataTable/cells/EditableCell.d.ts +1 -1
  177. package/dist/components/LegacyDataTable/cells/EditableCell.js +3 -5
  178. package/dist/components/LegacyDataTable/cells/EditableCell.js.map +1 -1
  179. package/dist/components/LegacyDataTable/cells/cells.module.scss.cjs +9 -0
  180. package/dist/components/LegacyDataTable/cells/cells.module.scss.cjs.map +1 -0
  181. package/dist/components/LegacyDataTable/cells/cells.module.scss.js +7 -0
  182. package/dist/components/LegacyDataTable/cells/cells.module.scss.js.map +1 -0
  183. package/dist/components/LegacyDataTable/styled.cjs +145 -104
  184. package/dist/components/LegacyDataTable/styled.cjs.map +1 -1
  185. package/dist/components/LegacyDataTable/styled.d.ts +40 -28
  186. package/dist/components/LegacyDataTable/styled.js +144 -103
  187. package/dist/components/LegacyDataTable/styled.js.map +1 -1
  188. package/dist/components/LegacyDataTable/utils/index.cjs +12 -8
  189. package/dist/components/LegacyDataTable/utils/index.cjs.map +1 -1
  190. package/dist/components/LegacyDataTable/utils/index.d.ts +5 -0
  191. package/dist/components/LegacyDataTable/utils/index.js +12 -8
  192. package/dist/components/LegacyDataTable/utils/index.js.map +1 -1
  193. package/dist/components/Pagination/styled.d.ts +11 -11
  194. package/dist/components/PhoneInput/index.d.ts +10 -10
  195. package/dist/components/Search/Search.d.ts +10 -10
  196. package/dist/components/SimpleTable/SimpleTable.cjs +20 -7
  197. package/dist/components/SimpleTable/SimpleTable.cjs.map +1 -1
  198. package/dist/components/SimpleTable/SimpleTable.d.ts +9 -7
  199. package/dist/components/SimpleTable/SimpleTable.js +15 -2
  200. package/dist/components/SimpleTable/SimpleTable.js.map +1 -1
  201. package/dist/components/SimpleTable/SimpleTable.module.scss.cjs +9 -0
  202. package/dist/components/SimpleTable/SimpleTable.module.scss.cjs.map +1 -0
  203. package/dist/components/SimpleTable/SimpleTable.module.scss.js +7 -0
  204. package/dist/components/SimpleTable/SimpleTable.module.scss.js.map +1 -0
  205. package/dist/components/Text/Text.d.ts +1 -1
  206. package/dist/components/TextField/TextField.d.ts +10 -10
  207. package/dist/components/TextField/index.d.ts +10 -10
  208. package/dist/components/UploadFile/UploadFile.cjs +7 -2
  209. package/dist/components/UploadFile/UploadFile.cjs.map +1 -1
  210. package/dist/components/UploadFile/UploadFile.js +7 -2
  211. package/dist/components/UploadFile/UploadFile.js.map +1 -1
  212. package/dist/components/UploadFile/UploadFile.module.scss.cjs +9 -0
  213. package/dist/components/UploadFile/UploadFile.module.scss.cjs.map +1 -0
  214. package/dist/components/UploadFile/UploadFile.module.scss.js +7 -0
  215. package/dist/components/UploadFile/UploadFile.module.scss.js.map +1 -0
  216. package/dist/components/View/View.cjs +37 -9
  217. package/dist/components/View/View.cjs.map +1 -1
  218. package/dist/components/View/View.js +35 -7
  219. package/dist/components/View/View.js.map +1 -1
  220. package/dist/components/View/View.module.scss.cjs +9 -0
  221. package/dist/components/View/View.module.scss.cjs.map +1 -0
  222. package/dist/components/View/View.module.scss.js +7 -0
  223. package/dist/components/View/View.module.scss.js.map +1 -0
  224. package/dist/components/ViewTab/ViewTab.d.ts +1 -1
  225. package/dist/components/index.d.ts +1 -1
  226. package/dist/index.cjs +10 -10
  227. package/dist/index.js +1 -1
  228. package/package.json +1 -1
  229. package/dist/components/Accordion/styled.cjs +0 -49
  230. package/dist/components/Accordion/styled.cjs.map +0 -1
  231. package/dist/components/Accordion/styled.d.ts +0 -26
  232. package/dist/components/Accordion/styled.js +0 -34
  233. package/dist/components/Accordion/styled.js.map +0 -1
  234. package/dist/components/Card/styled.cjs +0 -50
  235. package/dist/components/Card/styled.cjs.map +0 -1
  236. package/dist/components/Card/styled.d.ts +0 -16
  237. package/dist/components/Card/styled.js +0 -40
  238. package/dist/components/Card/styled.js.map +0 -1
  239. package/dist/components/CardHeader/styled.cjs +0 -15
  240. package/dist/components/CardHeader/styled.cjs.map +0 -1
  241. package/dist/components/CardHeader/styled.d.ts +0 -2
  242. package/dist/components/CardHeader/styled.js +0 -8
  243. package/dist/components/CardHeader/styled.js.map +0 -1
  244. package/dist/components/Grid/index.cjs +0 -20
  245. package/dist/components/Grid/index.cjs.map +0 -1
  246. package/dist/components/Grid/index.js +0 -14
  247. package/dist/components/Grid/index.js.map +0 -1
  248. package/dist/components/LegacyDataTable/SpecificState/styled.cjs +0 -21
  249. package/dist/components/LegacyDataTable/SpecificState/styled.cjs.map +0 -1
  250. package/dist/components/LegacyDataTable/SpecificState/styled.d.ts +0 -17
  251. package/dist/components/LegacyDataTable/SpecificState/styled.js +0 -12
  252. package/dist/components/LegacyDataTable/SpecificState/styled.js.map +0 -1
  253. package/dist/components/LegacyDataTable/cells/styled.cjs +0 -14
  254. package/dist/components/LegacyDataTable/cells/styled.cjs.map +0 -1
  255. package/dist/components/LegacyDataTable/cells/styled.d.ts +0 -1
  256. package/dist/components/LegacyDataTable/cells/styled.js +0 -8
  257. package/dist/components/LegacyDataTable/cells/styled.js.map +0 -1
  258. package/dist/components/SimpleTable/styled.cjs +0 -34
  259. package/dist/components/SimpleTable/styled.cjs.map +0 -1
  260. package/dist/components/SimpleTable/styled.d.ts +0 -15
  261. package/dist/components/SimpleTable/styled.js +0 -23
  262. package/dist/components/SimpleTable/styled.js.map +0 -1
  263. package/dist/components/UploadFile/styled.cjs +0 -54
  264. package/dist/components/UploadFile/styled.cjs.map +0 -1
  265. package/dist/components/UploadFile/styled.d.ts +0 -4
  266. package/dist/components/UploadFile/styled.js +0 -48
  267. package/dist/components/UploadFile/styled.js.map +0 -1
  268. package/dist/components/View/styled.cjs +0 -53
  269. package/dist/components/View/styled.cjs.map +0 -1
  270. package/dist/components/View/styled.d.ts +0 -37
  271. package/dist/components/View/styled.js +0 -41
  272. package/dist/components/View/styled.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Card.cjs","sources":["../../../src/components/Card/Card.tsx"],"sourcesContent":["import React, { ReactNode, useState } from 'react';\n\nimport { CardHeader } from '../CardHeader';\nimport { Surface, Body, FullBleed, Footer, CardElevation, Section } from './styled';\n\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\n\ntype CardAction = {\n title: string;\n onClick: () => void;\n};\n\nexport type CardProps = {\n className?: string;\n style?: React.CSSProperties;\n title?: string;\n subtitle?: string;\n headerTitleSlot?: React.ReactNode;\n headerActionSlot?: React.ReactNode;\n action?: CardAction;\n collapsable?: boolean;\n elevation?: CardElevation;\n accent?: 'info' | 'success' | 'error';\n children: ReactNode;\n onClose?: () => void;\n renderFooter?: () => ReactNode;\n};\n\nexport const Card = ({\n className,\n style,\n title,\n subtitle,\n headerTitleSlot,\n headerActionSlot,\n action,\n collapsable,\n elevation,\n accent,\n children,\n onClose,\n renderFooter,\n}: CardProps) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n\n const showHeader = title || headerTitleSlot !== undefined;\n const headerMarkup = showHeader && (\n <CardHeader\n title={title}\n subtitle={subtitle}\n titleSlot={headerTitleSlot}\n actionSlot={headerActionSlot}\n action={action}\n onClickClose={onClose}\n isCollapsed={isCollapsed}\n onClickCollapse={collapsable ? toggleCollapsed : undefined}\n />\n );\n\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (\n <Body\n animate={showBody ? 'expanded' : 'collapsed'}\n variants={collapseAnimationVariants}\n transition={{ duration: 0.3, ease: 'easeOut' }}\n >\n <Section>{children}</Section>\n </Body>\n );\n\n const footerMarkup = renderFooter !== undefined && <Footer>{renderFooter()}</Footer>;\n\n return (\n <Surface className={className} style={style} elevation={elevation} accent={accent}>\n {headerMarkup}\n {bodyMarkup}\n {footerMarkup}\n </Surface>\n );\n};\n\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n"],"names":["useState","React","CardHeader","Body","Section","Footer","Surface","FullBleed"],"mappings":";;;;;;;;;;AAKA,MAAM,yBAAyB,GAAG;AAChC,IAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;AAC5B,IAAA,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;CACzB;AAuBM,MAAM,IAAI,GAAG,CAAC,EACnB,SAAS,EACT,KAAK,EACL,KAAK,EACL,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,SAAS,EACT,MAAM,EACN,QAAQ,EACR,OAAO,EACP,YAAY,GACF,KAAI;IACd,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAErD,MAAM,eAAe,GAAG,MAAK;AAC3B,QAAA,cAAc,CAAC,CAAC,WAAW,CAAC;AAC9B,IAAA,CAAC;AAED,IAAA,MAAM,UAAU,GAAG,KAAK,IAAI,eAAe,KAAK,SAAS;IACzD,MAAM,YAAY,GAAG,UAAU,KAC7BC,sBAAA,CAAA,aAAA,CAACC,qBAAU,EAAA,EACT,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS,EAAA,CAC1D,CACH;IAED,MAAM,QAAQ,GAAG,CAAC,WAAW,IAAI,CAAC,WAAW,KAAK,CAAC,WAAW;AAC9D,IAAA,MAAM,UAAU,IACdD,sBAAA,CAAA,aAAA,CAACE,WAAI,EAAA,EACH,OAAO,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,EAC5C,QAAQ,EAAE,yBAAyB,EACnC,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAA;AAE9C,QAAAF,sBAAA,CAAA,aAAA,CAACG,cAAO,EAAA,IAAA,EAAE,QAAQ,CAAW,CACxB,CACR;AAED,IAAA,MAAM,YAAY,GAAG,YAAY,KAAK,SAAS,IAAIH,sBAAA,CAAA,aAAA,CAACI,aAAM,EAAA,IAAA,EAAE,YAAY,EAAE,CAAU;AAEpF,IAAA,QACEJ,sBAAA,CAAA,aAAA,CAACK,cAAO,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAA;QAC9E,YAAY;QACZ,UAAU;QACV,YAAY,CACL;AAEd;AAEA,IAAI,CAAC,OAAO,GAAGA,cAAO;AACtB,IAAI,CAAC,OAAO,GAAGF,cAAO;AACtB,IAAI,CAAC,SAAS,GAAGG,gBAAS;AAC1B,IAAI,CAAC,MAAM,GAAGF,aAAM;;;;"}
1
+ {"version":3,"file":"Card.cjs","sources":["../../../src/components/Card/Card.tsx"],"sourcesContent":["import React, { ReactNode, useState } from 'react';\nimport { motion } from 'framer-motion';\n\nimport { CardHeader } from '../CardHeader';\nimport { buildClassnames } from '../../utils';\nimport styles from './Card.module.scss';\n\nexport type CardElevation = 0 | 1 | 2 | 3 | 4;\n\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\n\ntype CardAction = {\n title: string;\n onClick: () => void;\n};\n\nexport type CardProps = {\n className?: string;\n style?: React.CSSProperties;\n title?: string;\n subtitle?: string;\n headerTitleSlot?: React.ReactNode;\n headerActionSlot?: React.ReactNode;\n action?: CardAction;\n collapsable?: boolean;\n elevation?: CardElevation;\n accent?: 'info' | 'success' | 'error';\n children: ReactNode;\n onClose?: () => void;\n renderFooter?: () => ReactNode;\n};\n\n/* --- Sub-components --- */\n\nexport interface SurfaceProps extends React.HTMLAttributes<HTMLDivElement> {\n elevation?: CardElevation;\n accent?: 'info' | 'success' | 'error';\n children?: ReactNode;\n}\n\n/**\n * Stable class used for styled-components selector interpolation.\n * Consumers (e.g. Modal) use `& > ${Card.Surface}` in template literals,\n * which calls `.toString()` and expects a CSS class selector.\n */\nconst SURFACE_STABLE_CLASS = 'veeqo-card-surface';\n\nconst Surface = React.forwardRef<HTMLDivElement, SurfaceProps>(\n ({ elevation = 1, accent, className, children, ...rest }, ref) => (\n <div\n ref={ref}\n className={buildClassnames([\n SURFACE_STABLE_CLASS,\n styles.surface,\n styles[`elevation-${elevation}`],\n accent ? styles[`accent-${accent}`] : undefined,\n className,\n ])}\n {...rest}\n >\n {children}\n </div>\n ),\n);\nSurface.displayName = 'Card.Surface';\nSurface.toString = () => `.${SURFACE_STABLE_CLASS}`;\n\nconst Section = React.forwardRef<HTMLElement, React.HTMLAttributes<HTMLElement>>(\n ({ className, ...rest }, ref) => (\n <section ref={ref} className={buildClassnames([styles.section, className])} {...rest} />\n ),\n);\nSection.displayName = 'Card.Section';\n\nconst FullBleed = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.fullBleed, className])} {...rest} />\n ),\n);\nFullBleed.displayName = 'Card.FullBleed';\n\nconst FOOTER_STABLE_CLASS = 'veeqo-card-footer';\n\nconst Footer = React.forwardRef<HTMLElement, React.HTMLAttributes<HTMLElement>>(\n ({ className, ...rest }, ref) => (\n <footer ref={ref} className={buildClassnames([FOOTER_STABLE_CLASS, styles.footer, className])} {...rest} />\n ),\n);\nFooter.displayName = 'Card.Footer';\nFooter.toString = () => `.${FOOTER_STABLE_CLASS}`;\n\n/* --- Main Card component --- */\n\nexport const Card = ({\n className,\n style,\n title,\n subtitle,\n headerTitleSlot,\n headerActionSlot,\n action,\n collapsable,\n elevation,\n accent,\n children,\n onClose,\n renderFooter,\n}: CardProps) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n\n const showHeader = title || headerTitleSlot !== undefined;\n const headerMarkup = showHeader && (\n <CardHeader\n title={title}\n subtitle={subtitle}\n titleSlot={headerTitleSlot}\n actionSlot={headerActionSlot}\n action={action}\n onClickClose={onClose}\n isCollapsed={isCollapsed}\n onClickCollapse={collapsable ? toggleCollapsed : undefined}\n />\n );\n\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (\n <motion.div\n className={styles.body}\n animate={showBody ? 'expanded' : 'collapsed'}\n variants={collapseAnimationVariants}\n transition={{ duration: 0.3, ease: 'easeOut' }}\n >\n <Section>{children}</Section>\n </motion.div>\n );\n\n const footerMarkup = renderFooter !== undefined && <Footer>{renderFooter()}</Footer>;\n\n return (\n <Surface className={className} style={style} elevation={elevation} accent={accent}>\n {headerMarkup}\n {bodyMarkup}\n {footerMarkup}\n </Surface>\n );\n};\n\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n"],"names":["React","buildClassnames","styles","useState","CardHeader","motion"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React, { ReactNode } from 'react';
2
- import { CardElevation } from './styled';
2
+ export type CardElevation = 0 | 1 | 2 | 3 | 4;
3
3
  type CardAction = {
4
4
  title: string;
5
5
  onClick: () => void;
@@ -19,11 +19,16 @@ export type CardProps = {
19
19
  onClose?: () => void;
20
20
  renderFooter?: () => ReactNode;
21
21
  };
22
+ export interface SurfaceProps extends React.HTMLAttributes<HTMLDivElement> {
23
+ elevation?: CardElevation;
24
+ accent?: 'info' | 'success' | 'error';
25
+ children?: ReactNode;
26
+ }
22
27
  export declare const Card: {
23
28
  ({ className, style, title, subtitle, headerTitleSlot, headerActionSlot, action, collapsable, elevation, accent, children, onClose, renderFooter, }: CardProps): React.JSX.Element;
24
- Surface: import("styled-components").StyledComponent<"div", any, import("./styled").SurfaceProps, never>;
25
- Section: import("styled-components").StyledComponent<"section", any, {}, never>;
26
- FullBleed: import("styled-components").StyledComponent<"div", any, {}, never>;
27
- Footer: import("styled-components").StyledComponent<"footer", any, {}, never>;
29
+ Surface: React.ForwardRefExoticComponent<SurfaceProps & React.RefAttributes<HTMLDivElement>>;
30
+ Section: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & React.RefAttributes<HTMLElement>>;
31
+ FullBleed: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
32
+ Footer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & React.RefAttributes<HTMLElement>>;
28
33
  };
29
34
  export {};
@@ -1,11 +1,38 @@
1
1
  import React__default, { useState } from 'react';
2
+ import { motion } from 'framer-motion';
2
3
  import { CardHeader } from '../CardHeader/CardHeader.js';
3
- import { Body, Section, Footer, Surface, FullBleed } from './styled.js';
4
+ import { buildClassnames } from '../../utils/buildClassnames.js';
5
+ import 'uid/secure';
6
+ import styles from './Card.module.scss.js';
4
7
 
5
8
  const collapseAnimationVariants = {
6
9
  expanded: { height: 'auto' },
7
10
  collapsed: { height: 0 },
8
11
  };
12
+ /**
13
+ * Stable class used for styled-components selector interpolation.
14
+ * Consumers (e.g. Modal) use `& > ${Card.Surface}` in template literals,
15
+ * which calls `.toString()` and expects a CSS class selector.
16
+ */
17
+ const SURFACE_STABLE_CLASS = 'veeqo-card-surface';
18
+ const Surface = React__default.forwardRef(({ elevation = 1, accent, className, children, ...rest }, ref) => (React__default.createElement("div", { ref: ref, className: buildClassnames([
19
+ SURFACE_STABLE_CLASS,
20
+ styles.surface,
21
+ styles[`elevation-${elevation}`],
22
+ accent ? styles[`accent-${accent}`] : undefined,
23
+ className,
24
+ ]), ...rest }, children)));
25
+ Surface.displayName = 'Card.Surface';
26
+ Surface.toString = () => `.${SURFACE_STABLE_CLASS}`;
27
+ const Section = React__default.forwardRef(({ className, ...rest }, ref) => (React__default.createElement("section", { ref: ref, className: buildClassnames([styles.section, className]), ...rest })));
28
+ Section.displayName = 'Card.Section';
29
+ const FullBleed = React__default.forwardRef(({ className, ...rest }, ref) => (React__default.createElement("div", { ref: ref, className: buildClassnames([styles.fullBleed, className]), ...rest })));
30
+ FullBleed.displayName = 'Card.FullBleed';
31
+ const FOOTER_STABLE_CLASS = 'veeqo-card-footer';
32
+ const Footer = React__default.forwardRef(({ className, ...rest }, ref) => (React__default.createElement("footer", { ref: ref, className: buildClassnames([FOOTER_STABLE_CLASS, styles.footer, className]), ...rest })));
33
+ Footer.displayName = 'Card.Footer';
34
+ Footer.toString = () => `.${FOOTER_STABLE_CLASS}`;
35
+ /* --- Main Card component --- */
9
36
  const Card = ({ className, style, title, subtitle, headerTitleSlot, headerActionSlot, action, collapsable, elevation, accent, children, onClose, renderFooter, }) => {
10
37
  const [isCollapsed, setIsCollapsed] = useState(false);
11
38
  const toggleCollapsed = () => {
@@ -14,7 +41,7 @@ const Card = ({ className, style, title, subtitle, headerTitleSlot, headerAction
14
41
  const showHeader = title || headerTitleSlot !== undefined;
15
42
  const headerMarkup = showHeader && (React__default.createElement(CardHeader, { title: title, subtitle: subtitle, titleSlot: headerTitleSlot, actionSlot: headerActionSlot, action: action, onClickClose: onClose, isCollapsed: isCollapsed, onClickCollapse: collapsable ? toggleCollapsed : undefined }));
16
43
  const showBody = (collapsable && !isCollapsed) || !collapsable;
17
- const bodyMarkup = (React__default.createElement(Body, { animate: showBody ? 'expanded' : 'collapsed', variants: collapseAnimationVariants, transition: { duration: 0.3, ease: 'easeOut' } },
44
+ const bodyMarkup = (React__default.createElement(motion.div, { className: styles.body, animate: showBody ? 'expanded' : 'collapsed', variants: collapseAnimationVariants, transition: { duration: 0.3, ease: 'easeOut' } },
18
45
  React__default.createElement(Section, null, children)));
19
46
  const footerMarkup = renderFooter !== undefined && React__default.createElement(Footer, null, renderFooter());
20
47
  return (React__default.createElement(Surface, { className: className, style: style, elevation: elevation, accent: accent },
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sources":["../../../src/components/Card/Card.tsx"],"sourcesContent":["import React, { ReactNode, useState } from 'react';\n\nimport { CardHeader } from '../CardHeader';\nimport { Surface, Body, FullBleed, Footer, CardElevation, Section } from './styled';\n\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\n\ntype CardAction = {\n title: string;\n onClick: () => void;\n};\n\nexport type CardProps = {\n className?: string;\n style?: React.CSSProperties;\n title?: string;\n subtitle?: string;\n headerTitleSlot?: React.ReactNode;\n headerActionSlot?: React.ReactNode;\n action?: CardAction;\n collapsable?: boolean;\n elevation?: CardElevation;\n accent?: 'info' | 'success' | 'error';\n children: ReactNode;\n onClose?: () => void;\n renderFooter?: () => ReactNode;\n};\n\nexport const Card = ({\n className,\n style,\n title,\n subtitle,\n headerTitleSlot,\n headerActionSlot,\n action,\n collapsable,\n elevation,\n accent,\n children,\n onClose,\n renderFooter,\n}: CardProps) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n\n const showHeader = title || headerTitleSlot !== undefined;\n const headerMarkup = showHeader && (\n <CardHeader\n title={title}\n subtitle={subtitle}\n titleSlot={headerTitleSlot}\n actionSlot={headerActionSlot}\n action={action}\n onClickClose={onClose}\n isCollapsed={isCollapsed}\n onClickCollapse={collapsable ? toggleCollapsed : undefined}\n />\n );\n\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (\n <Body\n animate={showBody ? 'expanded' : 'collapsed'}\n variants={collapseAnimationVariants}\n transition={{ duration: 0.3, ease: 'easeOut' }}\n >\n <Section>{children}</Section>\n </Body>\n );\n\n const footerMarkup = renderFooter !== undefined && <Footer>{renderFooter()}</Footer>;\n\n return (\n <Surface className={className} style={style} elevation={elevation} accent={accent}>\n {headerMarkup}\n {bodyMarkup}\n {footerMarkup}\n </Surface>\n );\n};\n\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n"],"names":["React"],"mappings":";;;;AAKA,MAAM,yBAAyB,GAAG;AAChC,IAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;AAC5B,IAAA,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;CACzB;AAuBM,MAAM,IAAI,GAAG,CAAC,EACnB,SAAS,EACT,KAAK,EACL,KAAK,EACL,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,SAAS,EACT,MAAM,EACN,QAAQ,EACR,OAAO,EACP,YAAY,GACF,KAAI;IACd,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAErD,MAAM,eAAe,GAAG,MAAK;AAC3B,QAAA,cAAc,CAAC,CAAC,WAAW,CAAC;AAC9B,IAAA,CAAC;AAED,IAAA,MAAM,UAAU,GAAG,KAAK,IAAI,eAAe,KAAK,SAAS;IACzD,MAAM,YAAY,GAAG,UAAU,KAC7BA,cAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EACT,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS,EAAA,CAC1D,CACH;IAED,MAAM,QAAQ,GAAG,CAAC,WAAW,IAAI,CAAC,WAAW,KAAK,CAAC,WAAW;AAC9D,IAAA,MAAM,UAAU,IACdA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EACH,OAAO,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,EAC5C,QAAQ,EAAE,yBAAyB,EACnC,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAA;AAE9C,QAAAA,cAAA,CAAA,aAAA,CAAC,OAAO,EAAA,IAAA,EAAE,QAAQ,CAAW,CACxB,CACR;AAED,IAAA,MAAM,YAAY,GAAG,YAAY,KAAK,SAAS,IAAIA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,IAAA,EAAE,YAAY,EAAE,CAAU;AAEpF,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,OAAO,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAA;QAC9E,YAAY;QACZ,UAAU;QACV,YAAY,CACL;AAEd;AAEA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,IAAI,CAAC,SAAS,GAAG,SAAS;AAC1B,IAAI,CAAC,MAAM,GAAG,MAAM;;;;"}
1
+ {"version":3,"file":"Card.js","sources":["../../../src/components/Card/Card.tsx"],"sourcesContent":["import React, { ReactNode, useState } from 'react';\nimport { motion } from 'framer-motion';\n\nimport { CardHeader } from '../CardHeader';\nimport { buildClassnames } from '../../utils';\nimport styles from './Card.module.scss';\n\nexport type CardElevation = 0 | 1 | 2 | 3 | 4;\n\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\n\ntype CardAction = {\n title: string;\n onClick: () => void;\n};\n\nexport type CardProps = {\n className?: string;\n style?: React.CSSProperties;\n title?: string;\n subtitle?: string;\n headerTitleSlot?: React.ReactNode;\n headerActionSlot?: React.ReactNode;\n action?: CardAction;\n collapsable?: boolean;\n elevation?: CardElevation;\n accent?: 'info' | 'success' | 'error';\n children: ReactNode;\n onClose?: () => void;\n renderFooter?: () => ReactNode;\n};\n\n/* --- Sub-components --- */\n\nexport interface SurfaceProps extends React.HTMLAttributes<HTMLDivElement> {\n elevation?: CardElevation;\n accent?: 'info' | 'success' | 'error';\n children?: ReactNode;\n}\n\n/**\n * Stable class used for styled-components selector interpolation.\n * Consumers (e.g. Modal) use `& > ${Card.Surface}` in template literals,\n * which calls `.toString()` and expects a CSS class selector.\n */\nconst SURFACE_STABLE_CLASS = 'veeqo-card-surface';\n\nconst Surface = React.forwardRef<HTMLDivElement, SurfaceProps>(\n ({ elevation = 1, accent, className, children, ...rest }, ref) => (\n <div\n ref={ref}\n className={buildClassnames([\n SURFACE_STABLE_CLASS,\n styles.surface,\n styles[`elevation-${elevation}`],\n accent ? styles[`accent-${accent}`] : undefined,\n className,\n ])}\n {...rest}\n >\n {children}\n </div>\n ),\n);\nSurface.displayName = 'Card.Surface';\nSurface.toString = () => `.${SURFACE_STABLE_CLASS}`;\n\nconst Section = React.forwardRef<HTMLElement, React.HTMLAttributes<HTMLElement>>(\n ({ className, ...rest }, ref) => (\n <section ref={ref} className={buildClassnames([styles.section, className])} {...rest} />\n ),\n);\nSection.displayName = 'Card.Section';\n\nconst FullBleed = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.fullBleed, className])} {...rest} />\n ),\n);\nFullBleed.displayName = 'Card.FullBleed';\n\nconst FOOTER_STABLE_CLASS = 'veeqo-card-footer';\n\nconst Footer = React.forwardRef<HTMLElement, React.HTMLAttributes<HTMLElement>>(\n ({ className, ...rest }, ref) => (\n <footer ref={ref} className={buildClassnames([FOOTER_STABLE_CLASS, styles.footer, className])} {...rest} />\n ),\n);\nFooter.displayName = 'Card.Footer';\nFooter.toString = () => `.${FOOTER_STABLE_CLASS}`;\n\n/* --- Main Card component --- */\n\nexport const Card = ({\n className,\n style,\n title,\n subtitle,\n headerTitleSlot,\n headerActionSlot,\n action,\n collapsable,\n elevation,\n accent,\n children,\n onClose,\n renderFooter,\n}: CardProps) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n\n const showHeader = title || headerTitleSlot !== undefined;\n const headerMarkup = showHeader && (\n <CardHeader\n title={title}\n subtitle={subtitle}\n titleSlot={headerTitleSlot}\n actionSlot={headerActionSlot}\n action={action}\n onClickClose={onClose}\n isCollapsed={isCollapsed}\n onClickCollapse={collapsable ? toggleCollapsed : undefined}\n />\n );\n\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (\n <motion.div\n className={styles.body}\n animate={showBody ? 'expanded' : 'collapsed'}\n variants={collapseAnimationVariants}\n transition={{ duration: 0.3, ease: 'easeOut' }}\n >\n <Section>{children}</Section>\n </motion.div>\n );\n\n const footerMarkup = renderFooter !== undefined && <Footer>{renderFooter()}</Footer>;\n\n return (\n <Surface className={className} style={style} elevation={elevation} accent={accent}>\n {headerMarkup}\n {bodyMarkup}\n {footerMarkup}\n </Surface>\n );\n};\n\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n"],"names":["React"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var ___$insertStyle = require('../../_virtual/____insertStyle.cjs');
4
+
5
+ ___$insertStyle("._surface_1a6rc_1 {\n position: relative;\n width: 100%;\n background-color: white;\n border: var(--sizes-line) solid var(--colors-neutral-grey-base);\n border-radius: var(--radius-md);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n/* Elevation levels */\n._elevation-0_1a6rc_12 {\n box-shadow: none;\n}\n\n._elevation-1_1a6rc_16 {\n box-shadow: var(--shadows-sm);\n}\n\n._elevation-2_1a6rc_20 {\n box-shadow: var(--shadows-base);\n}\n\n._elevation-3_1a6rc_24 {\n box-shadow: var(--shadows-md);\n}\n\n._elevation-4_1a6rc_28 {\n box-shadow: var(--shadows-lg);\n}\n\n/* Accent bar via pseudo-element */\n._accent-info_1a6rc_33::after,\n._accent-success_1a6rc_34::after,\n._accent-error_1a6rc_35::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: var(--sizes-xs);\n}\n\n._accent-info_1a6rc_33::after {\n background-color: var(--colors-secondary-blue-base);\n}\n\n._accent-success_1a6rc_34::after {\n background-color: var(--colors-secondary-green-base);\n}\n\n._accent-error_1a6rc_35::after {\n background-color: var(--colors-secondary-red-base);\n}\n\n/* Body: motion.div wrapper for collapse */\n._body_1a6rc_57 {\n overflow-y: hidden;\n}\n._body_1a6rc_57:not(:first-child) > ._section_1a6rc_60:first-child {\n margin-top: 0;\n}\n\n/* Section */\n._section_1a6rc_60 {\n padding-right: var(--sizes-md);\n padding-left: var(--sizes-md);\n margin-top: var(--sizes-md);\n margin-bottom: var(--sizes-md);\n font-family: var(--text-body-font-family);\n font-size: var(--text-body-font-size);\n font-weight: var(--text-body-font-weight);\n line-height: var(--text-body-line-height);\n color: var(--text-body-color);\n}\n._section_1a6rc_60 + ._section_1a6rc_60 {\n border-top: var(--sizes-line) solid var(--colors-neutral-grey-base);\n padding-top: var(--sizes-md);\n}\n\n/* FullBleed */\n._fullBleed_1a6rc_82 {\n margin-left: calc(-1 * var(--sizes-md));\n margin-right: calc(-1 * var(--sizes-md));\n}\n\n/* Footer */\n._footer_1a6rc_88 {\n margin-top: var(--sizes-base);\n padding: var(--sizes-md);\n z-index: 2;\n}");
6
+ var styles = {"surface":"_surface_1a6rc_1","elevation-0":"_elevation-0_1a6rc_12","elevation-1":"_elevation-1_1a6rc_16","elevation-2":"_elevation-2_1a6rc_20","elevation-3":"_elevation-3_1a6rc_24","elevation-4":"_elevation-4_1a6rc_28","accent-info":"_accent-info_1a6rc_33","accent-success":"_accent-success_1a6rc_34","accent-error":"_accent-error_1a6rc_35","body":"_body_1a6rc_57","section":"_section_1a6rc_60","fullBleed":"_fullBleed_1a6rc_82","footer":"_footer_1a6rc_88"};
7
+
8
+ module.exports = styles;
9
+ //# sourceMappingURL=Card.module.scss.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.module.scss.cjs","sources":["../../../src/components/Card/Card.module.scss"],"sourcesContent":[".surface {\n position: relative;\n width: 100%;\n background-color: white;\n border: var(--sizes-line) solid var(--colors-neutral-grey-base);\n border-radius: var(--radius-md);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n/* Elevation levels */\n.elevation-0 {\n box-shadow: none;\n}\n\n.elevation-1 {\n box-shadow: var(--shadows-sm);\n}\n\n.elevation-2 {\n box-shadow: var(--shadows-base);\n}\n\n.elevation-3 {\n box-shadow: var(--shadows-md);\n}\n\n.elevation-4 {\n box-shadow: var(--shadows-lg);\n}\n\n/* Accent bar via pseudo-element */\n.accent-info::after,\n.accent-success::after,\n.accent-error::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: var(--sizes-xs);\n}\n\n.accent-info::after {\n background-color: var(--colors-secondary-blue-base);\n}\n\n.accent-success::after {\n background-color: var(--colors-secondary-green-base);\n}\n\n.accent-error::after {\n background-color: var(--colors-secondary-red-base);\n}\n\n/* Body: motion.div wrapper for collapse */\n.body {\n overflow-y: hidden;\n\n &:not(:first-child) > .section:first-child {\n margin-top: 0;\n }\n}\n\n/* Section */\n.section {\n padding-right: var(--sizes-md);\n padding-left: var(--sizes-md);\n margin-top: var(--sizes-md);\n margin-bottom: var(--sizes-md);\n\n font-family: var(--text-body-font-family);\n font-size: var(--text-body-font-size);\n font-weight: var(--text-body-font-weight);\n line-height: var(--text-body-line-height);\n color: var(--text-body-color);\n\n & + & {\n border-top: var(--sizes-line) solid var(--colors-neutral-grey-base);\n padding-top: var(--sizes-md);\n }\n}\n\n/* FullBleed */\n.fullBleed {\n margin-left: calc(-1 * var(--sizes-md));\n margin-right: calc(-1 * var(--sizes-md));\n}\n\n/* Footer */\n.footer {\n margin-top: var(--sizes-base);\n padding: var(--sizes-md);\n z-index: 2;\n}\n"],"names":[],"mappings":";;;;AACE,eAAA,CAAA,8iEAAA;AACA,aAAA,CAAA,SAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,gBAAA,CAAA,0BAAA,CAAA,cAAA,CAAA,wBAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,SAAA,CAAA,mBAAA,CAAA,WAAA,CAAA,qBAAA,CAAA,QAAA,CAAA,kBAAA;;;;"}
@@ -0,0 +1,7 @@
1
+ import insertStyle from '../../_virtual/____insertStyle.js';
2
+
3
+ insertStyle("._surface_1a6rc_1 {\n position: relative;\n width: 100%;\n background-color: white;\n border: var(--sizes-line) solid var(--colors-neutral-grey-base);\n border-radius: var(--radius-md);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n/* Elevation levels */\n._elevation-0_1a6rc_12 {\n box-shadow: none;\n}\n\n._elevation-1_1a6rc_16 {\n box-shadow: var(--shadows-sm);\n}\n\n._elevation-2_1a6rc_20 {\n box-shadow: var(--shadows-base);\n}\n\n._elevation-3_1a6rc_24 {\n box-shadow: var(--shadows-md);\n}\n\n._elevation-4_1a6rc_28 {\n box-shadow: var(--shadows-lg);\n}\n\n/* Accent bar via pseudo-element */\n._accent-info_1a6rc_33::after,\n._accent-success_1a6rc_34::after,\n._accent-error_1a6rc_35::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: var(--sizes-xs);\n}\n\n._accent-info_1a6rc_33::after {\n background-color: var(--colors-secondary-blue-base);\n}\n\n._accent-success_1a6rc_34::after {\n background-color: var(--colors-secondary-green-base);\n}\n\n._accent-error_1a6rc_35::after {\n background-color: var(--colors-secondary-red-base);\n}\n\n/* Body: motion.div wrapper for collapse */\n._body_1a6rc_57 {\n overflow-y: hidden;\n}\n._body_1a6rc_57:not(:first-child) > ._section_1a6rc_60:first-child {\n margin-top: 0;\n}\n\n/* Section */\n._section_1a6rc_60 {\n padding-right: var(--sizes-md);\n padding-left: var(--sizes-md);\n margin-top: var(--sizes-md);\n margin-bottom: var(--sizes-md);\n font-family: var(--text-body-font-family);\n font-size: var(--text-body-font-size);\n font-weight: var(--text-body-font-weight);\n line-height: var(--text-body-line-height);\n color: var(--text-body-color);\n}\n._section_1a6rc_60 + ._section_1a6rc_60 {\n border-top: var(--sizes-line) solid var(--colors-neutral-grey-base);\n padding-top: var(--sizes-md);\n}\n\n/* FullBleed */\n._fullBleed_1a6rc_82 {\n margin-left: calc(-1 * var(--sizes-md));\n margin-right: calc(-1 * var(--sizes-md));\n}\n\n/* Footer */\n._footer_1a6rc_88 {\n margin-top: var(--sizes-base);\n padding: var(--sizes-md);\n z-index: 2;\n}");
4
+ var styles = {"surface":"_surface_1a6rc_1","elevation-0":"_elevation-0_1a6rc_12","elevation-1":"_elevation-1_1a6rc_16","elevation-2":"_elevation-2_1a6rc_20","elevation-3":"_elevation-3_1a6rc_24","elevation-4":"_elevation-4_1a6rc_28","accent-info":"_accent-info_1a6rc_33","accent-success":"_accent-success_1a6rc_34","accent-error":"_accent-error_1a6rc_35","body":"_body_1a6rc_57","section":"_section_1a6rc_60","fullBleed":"_fullBleed_1a6rc_82","footer":"_footer_1a6rc_88"};
5
+
6
+ export { styles as default };
7
+ //# sourceMappingURL=Card.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.module.scss.js","sources":["../../../src/components/Card/Card.module.scss"],"sourcesContent":[".surface {\n position: relative;\n width: 100%;\n background-color: white;\n border: var(--sizes-line) solid var(--colors-neutral-grey-base);\n border-radius: var(--radius-md);\n overflow: hidden;\n box-sizing: border-box;\n}\n\n/* Elevation levels */\n.elevation-0 {\n box-shadow: none;\n}\n\n.elevation-1 {\n box-shadow: var(--shadows-sm);\n}\n\n.elevation-2 {\n box-shadow: var(--shadows-base);\n}\n\n.elevation-3 {\n box-shadow: var(--shadows-md);\n}\n\n.elevation-4 {\n box-shadow: var(--shadows-lg);\n}\n\n/* Accent bar via pseudo-element */\n.accent-info::after,\n.accent-success::after,\n.accent-error::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: var(--sizes-xs);\n}\n\n.accent-info::after {\n background-color: var(--colors-secondary-blue-base);\n}\n\n.accent-success::after {\n background-color: var(--colors-secondary-green-base);\n}\n\n.accent-error::after {\n background-color: var(--colors-secondary-red-base);\n}\n\n/* Body: motion.div wrapper for collapse */\n.body {\n overflow-y: hidden;\n\n &:not(:first-child) > .section:first-child {\n margin-top: 0;\n }\n}\n\n/* Section */\n.section {\n padding-right: var(--sizes-md);\n padding-left: var(--sizes-md);\n margin-top: var(--sizes-md);\n margin-bottom: var(--sizes-md);\n\n font-family: var(--text-body-font-family);\n font-size: var(--text-body-font-size);\n font-weight: var(--text-body-font-weight);\n line-height: var(--text-body-line-height);\n color: var(--text-body-color);\n\n & + & {\n border-top: var(--sizes-line) solid var(--colors-neutral-grey-base);\n padding-top: var(--sizes-md);\n }\n}\n\n/* FullBleed */\n.fullBleed {\n margin-left: calc(-1 * var(--sizes-md));\n margin-right: calc(-1 * var(--sizes-md));\n}\n\n/* Footer */\n.footer {\n margin-top: var(--sizes-base);\n padding: var(--sizes-md);\n z-index: 2;\n}\n"],"names":["___$insertStyle"],"mappings":";;AACEA,WAAA,CAAA,8iEAAA;AACA,aAAA,CAAA,SAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,gBAAA,CAAA,0BAAA,CAAA,cAAA,CAAA,wBAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,SAAA,CAAA,mBAAA,CAAA,WAAA,CAAA,qBAAA,CAAA,QAAA,CAAA,kBAAA;;;;"}
@@ -1 +1,2 @@
1
1
  export { Card } from './Card';
2
+ export type { CardElevation, SurfaceProps } from './Card';
@@ -3,7 +3,7 @@
3
3
  var React = require('react');
4
4
  var Text = require('../Text/Text.cjs');
5
5
  var Button = require('../Button/Button.cjs');
6
- var styled = require('./styled.cjs');
6
+ var CardHeader_module = require('./CardHeader.module.scss.cjs');
7
7
  var CrossIcon = require('../../icons/design-system/components/CrossIcon.cjs');
8
8
  var DownArrowIcon = require('../../icons/design-system/components/DownArrowIcon.cjs');
9
9
  var UpArrowIcon = require('../../icons/design-system/components/UpArrowIcon.cjs');
@@ -12,8 +12,8 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
12
12
 
13
13
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
14
14
 
15
- const CardHeader = ({ id, title, subtitle, titleSlot, headerVariant = 'headingSmall', action, actionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React__default.default.createElement(styled.Header, null,
16
- React__default.default.createElement(styled.HeaderGrid, null,
15
+ const CardHeader = ({ id, title, subtitle, titleSlot, headerVariant = 'headingSmall', action, actionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React__default.default.createElement("header", { className: CardHeader_module.header },
16
+ React__default.default.createElement("div", { className: CardHeader_module.headerActions },
17
17
  titleSlot || (React__default.default.createElement(Text.Text, { id: id, variant: headerVariant }, title)),
18
18
  action && (React__default.default.createElement(Button.Button, { variant: "link", onClick: action.onClick }, action.title)),
19
19
  actionSlot,
@@ -1 +1 @@
1
- {"version":3,"file":"CardHeader.cjs","sources":["../../../src/components/CardHeader/CardHeader.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { HeaderVariant } from '../Text/types';\nimport { DownArrowIcon, UpArrowIcon, CrossIcon } from '../../icons';\n\ntype CardHeaderAction = {\n title: string;\n onClick: () => void;\n};\n\nexport interface CardHeaderProps {\n id?: string;\n title?: string;\n subtitle?: string;\n titleSlot?: React.ReactNode;\n headerVariant?: HeaderVariant;\n action?: CardHeaderAction;\n actionSlot?: React.ReactNode;\n isCollapsed?: boolean;\n onClickCollapse?: () => void;\n onClickClose?: () => void;\n}\n\nexport const CardHeader = ({\n id,\n title,\n subtitle,\n titleSlot,\n headerVariant = 'headingSmall',\n action,\n actionSlot,\n isCollapsed,\n onClickCollapse,\n onClickClose,\n}: CardHeaderProps) => (\n <Header>\n <HeaderGrid>\n {titleSlot || (\n <Text id={id} variant={headerVariant}>\n {title}\n </Text>\n )}\n {action && (\n <Button variant=\"link\" onClick={action.onClick}>\n {action.title}\n </Button>\n )}\n {actionSlot}\n {onClickCollapse && (\n <Button\n variant=\"flat\"\n iconSlot={isCollapsed ? <DownArrowIcon /> : <UpArrowIcon />}\n onClick={onClickCollapse}\n />\n )}\n {onClickClose && (\n <Button\n variant=\"flat\"\n iconSlot={<CrossIcon />}\n onClick={onClickClose}\n aria-label=\"Close\"\n type=\"button\"\n />\n )}\n </HeaderGrid>\n {subtitle && <Text variant=\"subheadingSmall\">{subtitle}</Text>}\n </Header>\n);\n"],"names":["React","Header","HeaderGrid","Text","Button","DownArrowIcon","UpArrowIcon","CrossIcon"],"mappings":";;;;;;;;;;;;;;AA0BO,MAAM,UAAU,GAAG,CAAC,EACzB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,SAAS,EACT,aAAa,GAAG,cAAc,EAC9B,MAAM,EACN,UAAU,EACV,WAAW,EACX,eAAe,EACf,YAAY,GACI,MAChBA,qCAACC,aAAM,EAAA,IAAA;AACL,IAAAD,sBAAA,CAAA,aAAA,CAACE,iBAAU,EAAA,IAAA;AACR,QAAA,SAAS,KACRF,sBAAA,CAAA,aAAA,CAACG,SAAI,IAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAA,EACjC,KAAK,CACD,CACR;AACA,QAAA,MAAM,KACLH,sBAAA,CAAA,aAAA,CAACI,aAAM,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAA,EAC3C,MAAM,CAAC,KAAK,CACN,CACV;QACA,UAAU;AACV,QAAA,eAAe,KACdJ,sBAAA,CAAA,aAAA,CAACI,aAAM,EAAA,EACL,OAAO,EAAC,MAAM,EACd,QAAQ,EAAE,WAAW,GAAGJ,sBAAA,CAAA,aAAA,CAACK,4BAAa,EAAA,IAAA,CAAG,GAAGL,sBAAA,CAAA,aAAA,CAACM,0BAAW,EAAA,IAAA,CAAG,EAC3D,OAAO,EAAE,eAAe,GACxB,CACH;QACA,YAAY,KACXN,sBAAA,CAAA,aAAA,CAACI,aAAM,EAAA,EACL,OAAO,EAAC,MAAM,EACd,QAAQ,EAAEJ,sBAAA,CAAA,aAAA,CAACO,wBAAS,OAAG,EACvB,OAAO,EAAE,YAAY,EAAA,YAAA,EACV,OAAO,EAClB,IAAI,EAAC,QAAQ,EAAA,CACb,CACH,CACU;AACZ,IAAA,QAAQ,IAAIP,sBAAA,CAAA,aAAA,CAACG,SAAI,EAAA,EAAC,OAAO,EAAC,iBAAiB,EAAA,EAAE,QAAQ,CAAQ,CACvD;;;;"}
1
+ {"version":3,"file":"CardHeader.cjs","sources":["../../../src/components/CardHeader/CardHeader.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport styles from './CardHeader.module.scss';\nimport { HeaderVariant } from '../Text/types';\nimport { DownArrowIcon, UpArrowIcon, CrossIcon } from '../../icons';\n\ntype CardHeaderAction = {\n title: string;\n onClick: () => void;\n};\n\nexport interface CardHeaderProps {\n id?: string;\n title?: string;\n subtitle?: string;\n titleSlot?: React.ReactNode;\n headerVariant?: HeaderVariant;\n action?: CardHeaderAction;\n actionSlot?: React.ReactNode;\n isCollapsed?: boolean;\n onClickCollapse?: () => void;\n onClickClose?: () => void;\n}\n\nexport const CardHeader = ({\n id,\n title,\n subtitle,\n titleSlot,\n headerVariant = 'headingSmall',\n action,\n actionSlot,\n isCollapsed,\n onClickCollapse,\n onClickClose,\n}: CardHeaderProps) => (\n <header className={styles.header}>\n <div className={styles.headerActions}>\n {titleSlot || (\n <Text id={id} variant={headerVariant}>\n {title}\n </Text>\n )}\n {action && (\n <Button variant=\"link\" onClick={action.onClick}>\n {action.title}\n </Button>\n )}\n {actionSlot}\n {onClickCollapse && (\n <Button\n variant=\"flat\"\n iconSlot={isCollapsed ? <DownArrowIcon /> : <UpArrowIcon />}\n onClick={onClickCollapse}\n />\n )}\n {onClickClose && (\n <Button\n variant=\"flat\"\n iconSlot={<CrossIcon />}\n onClick={onClickClose}\n aria-label=\"Close\"\n type=\"button\"\n />\n )}\n </div>\n {subtitle && <Text variant=\"subheadingSmall\">{subtitle}</Text>}\n </header>\n);\n"],"names":["React","styles","Text","Button","DownArrowIcon","UpArrowIcon","CrossIcon"],"mappings":";;;;;;;;;;;;;;AA0BO,MAAM,UAAU,GAAG,CAAC,EACzB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,SAAS,EACT,aAAa,GAAG,cAAc,EAC9B,MAAM,EACN,UAAU,EACV,WAAW,EACX,eAAe,EACf,YAAY,GACI,MAChBA,sBAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAQ,SAAS,EAAEC,iBAAM,CAAC,MAAM,EAAA;AAC9B,IAAAD,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEC,iBAAM,CAAC,aAAa,EAAA;AACjC,QAAA,SAAS,KACRD,sBAAA,CAAA,aAAA,CAACE,SAAI,IAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAA,EACjC,KAAK,CACD,CACR;AACA,QAAA,MAAM,KACLF,sBAAA,CAAA,aAAA,CAACG,aAAM,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAA,EAC3C,MAAM,CAAC,KAAK,CACN,CACV;QACA,UAAU;AACV,QAAA,eAAe,KACdH,sBAAA,CAAA,aAAA,CAACG,aAAM,EAAA,EACL,OAAO,EAAC,MAAM,EACd,QAAQ,EAAE,WAAW,GAAGH,sBAAA,CAAA,aAAA,CAACI,4BAAa,EAAA,IAAA,CAAG,GAAGJ,sBAAA,CAAA,aAAA,CAACK,0BAAW,EAAA,IAAA,CAAG,EAC3D,OAAO,EAAE,eAAe,GACxB,CACH;QACA,YAAY,KACXL,sBAAA,CAAA,aAAA,CAACG,aAAM,EAAA,EACL,OAAO,EAAC,MAAM,EACd,QAAQ,EAAEH,sBAAA,CAAA,aAAA,CAACM,wBAAS,OAAG,EACvB,OAAO,EAAE,YAAY,EAAA,YAAA,EACV,OAAO,EAClB,IAAI,EAAC,QAAQ,EAAA,CACb,CACH,CACG;AACL,IAAA,QAAQ,IAAIN,sBAAA,CAAA,aAAA,CAACE,SAAI,EAAA,EAAC,OAAO,EAAC,iBAAiB,EAAA,EAAE,QAAQ,CAAQ,CACvD;;;;"}
@@ -1,13 +1,13 @@
1
1
  import React__default from 'react';
2
2
  import { Text } from '../Text/Text.js';
3
3
  import { Button } from '../Button/Button.js';
4
- import { Header, HeaderGrid } from './styled.js';
4
+ import styles from './CardHeader.module.scss.js';
5
5
  import { ReactComponent as CrossIcon } from '../../icons/design-system/components/CrossIcon.js';
6
6
  import { ReactComponent as DownArrowIcon } from '../../icons/design-system/components/DownArrowIcon.js';
7
7
  import { ReactComponent as UpArrowIcon } from '../../icons/design-system/components/UpArrowIcon.js';
8
8
 
9
- const CardHeader = ({ id, title, subtitle, titleSlot, headerVariant = 'headingSmall', action, actionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React__default.createElement(Header, null,
10
- React__default.createElement(HeaderGrid, null,
9
+ const CardHeader = ({ id, title, subtitle, titleSlot, headerVariant = 'headingSmall', action, actionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React__default.createElement("header", { className: styles.header },
10
+ React__default.createElement("div", { className: styles.headerActions },
11
11
  titleSlot || (React__default.createElement(Text, { id: id, variant: headerVariant }, title)),
12
12
  action && (React__default.createElement(Button, { variant: "link", onClick: action.onClick }, action.title)),
13
13
  actionSlot,
@@ -1 +1 @@
1
- {"version":3,"file":"CardHeader.js","sources":["../../../src/components/CardHeader/CardHeader.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { HeaderVariant } from '../Text/types';\nimport { DownArrowIcon, UpArrowIcon, CrossIcon } from '../../icons';\n\ntype CardHeaderAction = {\n title: string;\n onClick: () => void;\n};\n\nexport interface CardHeaderProps {\n id?: string;\n title?: string;\n subtitle?: string;\n titleSlot?: React.ReactNode;\n headerVariant?: HeaderVariant;\n action?: CardHeaderAction;\n actionSlot?: React.ReactNode;\n isCollapsed?: boolean;\n onClickCollapse?: () => void;\n onClickClose?: () => void;\n}\n\nexport const CardHeader = ({\n id,\n title,\n subtitle,\n titleSlot,\n headerVariant = 'headingSmall',\n action,\n actionSlot,\n isCollapsed,\n onClickCollapse,\n onClickClose,\n}: CardHeaderProps) => (\n <Header>\n <HeaderGrid>\n {titleSlot || (\n <Text id={id} variant={headerVariant}>\n {title}\n </Text>\n )}\n {action && (\n <Button variant=\"link\" onClick={action.onClick}>\n {action.title}\n </Button>\n )}\n {actionSlot}\n {onClickCollapse && (\n <Button\n variant=\"flat\"\n iconSlot={isCollapsed ? <DownArrowIcon /> : <UpArrowIcon />}\n onClick={onClickCollapse}\n />\n )}\n {onClickClose && (\n <Button\n variant=\"flat\"\n iconSlot={<CrossIcon />}\n onClick={onClickClose}\n aria-label=\"Close\"\n type=\"button\"\n />\n )}\n </HeaderGrid>\n {subtitle && <Text variant=\"subheadingSmall\">{subtitle}</Text>}\n </Header>\n);\n"],"names":["React"],"mappings":";;;;;;;;AA0BO,MAAM,UAAU,GAAG,CAAC,EACzB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,SAAS,EACT,aAAa,GAAG,cAAc,EAC9B,MAAM,EACN,UAAU,EACV,WAAW,EACX,eAAe,EACf,YAAY,GACI,MAChBA,6BAAC,MAAM,EAAA,IAAA;AACL,IAAAA,cAAA,CAAA,aAAA,CAAC,UAAU,EAAA,IAAA;AACR,QAAA,SAAS,KACRA,cAAA,CAAA,aAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAA,EACjC,KAAK,CACD,CACR;AACA,QAAA,MAAM,KACLA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAA,EAC3C,MAAM,CAAC,KAAK,CACN,CACV;QACA,UAAU;AACV,QAAA,eAAe,KACdA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAC,MAAM,EACd,QAAQ,EAAE,WAAW,GAAGA,cAAA,CAAA,aAAA,CAAC,aAAa,EAAA,IAAA,CAAG,GAAGA,cAAA,CAAA,aAAA,CAAC,WAAW,EAAA,IAAA,CAAG,EAC3D,OAAO,EAAE,eAAe,GACxB,CACH;QACA,YAAY,KACXA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAC,MAAM,EACd,QAAQ,EAAEA,cAAA,CAAA,aAAA,CAAC,SAAS,OAAG,EACvB,OAAO,EAAE,YAAY,EAAA,YAAA,EACV,OAAO,EAClB,IAAI,EAAC,QAAQ,EAAA,CACb,CACH,CACU;AACZ,IAAA,QAAQ,IAAIA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,OAAO,EAAC,iBAAiB,EAAA,EAAE,QAAQ,CAAQ,CACvD;;;;"}
1
+ {"version":3,"file":"CardHeader.js","sources":["../../../src/components/CardHeader/CardHeader.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport styles from './CardHeader.module.scss';\nimport { HeaderVariant } from '../Text/types';\nimport { DownArrowIcon, UpArrowIcon, CrossIcon } from '../../icons';\n\ntype CardHeaderAction = {\n title: string;\n onClick: () => void;\n};\n\nexport interface CardHeaderProps {\n id?: string;\n title?: string;\n subtitle?: string;\n titleSlot?: React.ReactNode;\n headerVariant?: HeaderVariant;\n action?: CardHeaderAction;\n actionSlot?: React.ReactNode;\n isCollapsed?: boolean;\n onClickCollapse?: () => void;\n onClickClose?: () => void;\n}\n\nexport const CardHeader = ({\n id,\n title,\n subtitle,\n titleSlot,\n headerVariant = 'headingSmall',\n action,\n actionSlot,\n isCollapsed,\n onClickCollapse,\n onClickClose,\n}: CardHeaderProps) => (\n <header className={styles.header}>\n <div className={styles.headerActions}>\n {titleSlot || (\n <Text id={id} variant={headerVariant}>\n {title}\n </Text>\n )}\n {action && (\n <Button variant=\"link\" onClick={action.onClick}>\n {action.title}\n </Button>\n )}\n {actionSlot}\n {onClickCollapse && (\n <Button\n variant=\"flat\"\n iconSlot={isCollapsed ? <DownArrowIcon /> : <UpArrowIcon />}\n onClick={onClickCollapse}\n />\n )}\n {onClickClose && (\n <Button\n variant=\"flat\"\n iconSlot={<CrossIcon />}\n onClick={onClickClose}\n aria-label=\"Close\"\n type=\"button\"\n />\n )}\n </div>\n {subtitle && <Text variant=\"subheadingSmall\">{subtitle}</Text>}\n </header>\n);\n"],"names":["React"],"mappings":";;;;;;;;AA0BO,MAAM,UAAU,GAAG,CAAC,EACzB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,SAAS,EACT,aAAa,GAAG,cAAc,EAC9B,MAAM,EACN,UAAU,EACV,WAAW,EACX,eAAe,EACf,YAAY,GACI,MAChBA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAQ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAA;AAC9B,IAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,aAAa,EAAA;AACjC,QAAA,SAAS,KACRA,cAAA,CAAA,aAAA,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAA,EACjC,KAAK,CACD,CACR;AACA,QAAA,MAAM,KACLA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAA,EAC3C,MAAM,CAAC,KAAK,CACN,CACV;QACA,UAAU;AACV,QAAA,eAAe,KACdA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAC,MAAM,EACd,QAAQ,EAAE,WAAW,GAAGA,cAAA,CAAA,aAAA,CAAC,aAAa,EAAA,IAAA,CAAG,GAAGA,cAAA,CAAA,aAAA,CAAC,WAAW,EAAA,IAAA,CAAG,EAC3D,OAAO,EAAE,eAAe,GACxB,CACH;QACA,YAAY,KACXA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAC,MAAM,EACd,QAAQ,EAAEA,cAAA,CAAA,aAAA,CAAC,SAAS,OAAG,EACvB,OAAO,EAAE,YAAY,EAAA,YAAA,EACV,OAAO,EAClB,IAAI,EAAC,QAAQ,EAAA,CACb,CACH,CACG;AACL,IAAA,QAAQ,IAAIA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,OAAO,EAAC,iBAAiB,EAAA,EAAE,QAAQ,CAAQ,CACvD;;;;"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var ___$insertStyle = require('../../_virtual/____insertStyle.cjs');
4
+
5
+ ___$insertStyle("._header_176rk_1 {\n padding-top: var(--sizes-md);\n padding-right: var(--sizes-md);\n padding-left: var(--sizes-md);\n margin-bottom: var(--sizes-md);\n}\n._header_176rk_1 > * + * {\n margin-top: var(--sizes-xs);\n}\n\n._headerActions_176rk_11 {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n}\n._headerActions_176rk_11 > *:first-child {\n flex: 1;\n}");
6
+ var styles = {"header":"_header_176rk_1","headerActions":"_headerActions_176rk_11"};
7
+
8
+ module.exports = styles;
9
+ //# sourceMappingURL=CardHeader.module.scss.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardHeader.module.scss.cjs","sources":["../../../src/components/CardHeader/CardHeader.module.scss"],"sourcesContent":[".header {\n padding-top: var(--sizes-md);\n padding-right: var(--sizes-md);\n padding-left: var(--sizes-md);\n margin-bottom: var(--sizes-md);\n\n & > * + * {\n margin-top: var(--sizes-xs);\n }\n}\n\n.headerActions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n & > *:first-child {\n flex: 1;\n }\n}\n"],"names":[],"mappings":";;;;AACE,eAAA,CAAA,mYAAA;AACA,aAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,eAAA,CAAA,yBAAA;;;;"}
@@ -0,0 +1,7 @@
1
+ import insertStyle from '../../_virtual/____insertStyle.js';
2
+
3
+ insertStyle("._header_176rk_1 {\n padding-top: var(--sizes-md);\n padding-right: var(--sizes-md);\n padding-left: var(--sizes-md);\n margin-bottom: var(--sizes-md);\n}\n._header_176rk_1 > * + * {\n margin-top: var(--sizes-xs);\n}\n\n._headerActions_176rk_11 {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n}\n._headerActions_176rk_11 > *:first-child {\n flex: 1;\n}");
4
+ var styles = {"header":"_header_176rk_1","headerActions":"_headerActions_176rk_11"};
5
+
6
+ export { styles as default };
7
+ //# sourceMappingURL=CardHeader.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardHeader.module.scss.js","sources":["../../../src/components/CardHeader/CardHeader.module.scss"],"sourcesContent":[".header {\n padding-top: var(--sizes-md);\n padding-right: var(--sizes-md);\n padding-left: var(--sizes-md);\n margin-bottom: var(--sizes-md);\n\n & > * + * {\n margin-top: var(--sizes-xs);\n }\n}\n\n.headerActions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n & > *:first-child {\n flex: 1;\n }\n}\n"],"names":["___$insertStyle"],"mappings":";;AACEA,WAAA,CAAA,mYAAA;AACA,aAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,eAAA,CAAA,yBAAA;;;;"}
@@ -98,7 +98,7 @@ const DataTable = ({ actionBarSlot, borderMode, columns: initialColumns, emptySt
98
98
  }));
99
99
  return (React__default.default.createElement(Wrapper.Wrapper, { borderMode: borderMode },
100
100
  React__default.default.createElement(ScrollContainer.ScrollContainer, { ref: scrollContainerRef, onScroll: onScroll },
101
- React__default.default.createElement(TableGrid.TableGrid, { css: tableCss, ref: tableRef, role: "table" },
101
+ React__default.default.createElement(TableGrid.TableGrid, { tableCss: tableCss, ref: tableRef, role: "table" },
102
102
  React__default.default.createElement("thead", { role: "rowgroup" },
103
103
  React__default.default.createElement(Row.Row, { role: "row" }, visible.map((column, i) => renderHeader.renderHeader({
104
104
  column,
@@ -114,7 +114,7 @@ const DataTable = ({ actionBarSlot, borderMode, columns: initialColumns, emptySt
114
114
  if (rows.length === 0) {
115
115
  return (React__default.default.createElement(Wrapper.Wrapper, { borderMode: borderMode },
116
116
  React__default.default.createElement(ScrollContainer.ScrollContainer, { ref: scrollContainerRef, onScroll: onScroll },
117
- React__default.default.createElement(TableGrid.TableGrid, { css: tableCss, ref: tableRef, role: "table" },
117
+ React__default.default.createElement(TableGrid.TableGrid, { tableCss: tableCss, ref: tableRef, role: "table" },
118
118
  React__default.default.createElement("thead", { role: "rowgroup" },
119
119
  React__default.default.createElement(Row.Row, { role: "row" }, visible.map((column, i) => renderHeader.renderHeader({
120
120
  column,
@@ -185,7 +185,7 @@ const DataTable = ({ actionBarSlot, borderMode, columns: initialColumns, emptySt
185
185
  React__default.default.createElement(ScrollContainer.ScrollContainer, { ref: scrollContainerRef, onScroll: onScroll },
186
186
  enableStickyHeader && (React__default.default.createElement(StickyHead.StickyHead, { tableCss: tableCss, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef, cellWidths: adjustedCellWidths, stickyHeaderTop: stickyHeaderTop }, headersMarkup)),
187
187
  React__default.default.createElement("div", { ref: intersectionTargetRef, style: { height: 0 } }),
188
- React__default.default.createElement(TableGrid.TableGrid, { css: tableCss, ref: tableRef, role: "table" },
188
+ React__default.default.createElement(TableGrid.TableGrid, { tableCss: tableCss, ref: tableRef, role: "table" },
189
189
  React__default.default.createElement("thead", { role: "rowgroup" }, headersMarkup),
190
190
  renderBody(),
191
191
  shouldRenderFooter && (React__default.default.createElement("tfoot", { role: "rowgroup" },
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.cjs","sources":["../../../src/components/DataTable/DataTable.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-redundant-roles */\n\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\n\nimport { useDragToScroll, useScrollPosition } from '../../hooks';\n\nimport { generateTableCss } from './utils';\nimport { DataTableProps, CustomState, TableRow } from './types';\n\nimport { useCellWidths, useColumns, useSelection } from './hooks';\n\nimport {\n renderCell,\n renderFooter,\n renderHeader,\n renderLoadingCell,\n renderNestedCell,\n} from './renderers';\n\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\n\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../icons';\n\nconst defaultEmptyState: CustomState = {\n iconSlot: <InfoIcon width={48} height={48} />,\n heading: 'No results',\n};\n\nconst emptyAction = () => {};\n\nexport const DataTable = ({\n actionBarSlot,\n borderMode,\n columns: initialColumns,\n emptyState = defaultEmptyState,\n expandedRowIds,\n loading,\n loadingRowCount,\n onChangeSort,\n rows,\n disabledRowIds,\n selectionMode,\n selectionState,\n setExpanded,\n sortState,\n stripingMode,\n enableStickyHeader,\n resizeableColumns,\n onResizeColumns,\n columnWidths,\n stickyHeaderTop,\n}: DataTableProps) => {\n // Refs\n\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const tableRef = useRef<HTMLTableElement>(null);\n const intersectionTargetRef = useRef<HTMLDivElement>(null);\n\n useDragToScroll({ targetRef: scrollContainerRef, ignoreClassName: 'th-divider' });\n\n // Configure row selection\n\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !disabledRowIds?.includes(id));\n\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n\n // Assign actions\n\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n\n // Process columns\n\n const columnsWithSelection = [selectionColumn, ...initialColumns];\n const allColumns = selectionEnabled ? columnsWithSelection : initialColumns;\n\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const {\n visible,\n pinnedLeft,\n pinnedRight,\n setColumnWidth,\n columnWidths: calcColumnWidths,\n } = useColumns(allColumns, tableRef, onResizeColumns, columnWidths);\n const adjustedCellWidths =\n cellWidths.length === visible.length\n ? (visible.map((col, i) =>\n Number.isNaN(calcColumnWidths[col.id] || '') ? cellWidths[i] : calcColumnWidths[col.id],\n ) as number[])\n : cellWidths;\n\n // Generate styles\n const { scrollPosition, onScroll, enableTransition } = useScrollPosition({\n containerRef: scrollContainerRef,\n });\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths: adjustedCellWidths,\n scrollPosition,\n columnWidths: calcColumnWidths,\n columns: visible,\n stripingMode,\n enableTransition,\n });\n\n // Render states\n\n if (loading) {\n const loadingRows: Array<TableRow> = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n\n return (\n <Wrapper borderMode={borderMode}>\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n <TableGrid css={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n </thead>\n <tbody role=\"rowgroup\">\n {loadingRows.map((row) => (\n <Row key={row.id}>{visible.map((col) => renderLoadingCell(row, col))}</Row>\n ))}\n </tbody>\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n }\n\n if (rows.length === 0) {\n return (\n <Wrapper borderMode={borderMode}>\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n <TableGrid css={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n </thead>\n <tbody role=\"rowgroup\">\n <EmptyBodyContent columnCount={visible.length}>\n <EmptyBodyGlyphWrapper>\n {/* Should be 48x48px */}\n {emptyState.iconSlot}\n </EmptyBodyGlyphWrapper>\n <Stack spacing=\"sm\" alignX=\"center\">\n <Text variant=\"headingMedium\">{emptyState.heading}</Text>\n {emptyState.subheading && (\n <Text variant=\"subheadingMedium\">{emptyState.subheading}</Text>\n )}\n </Stack>\n </EmptyBodyContent>\n </tbody>\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n }\n\n const renderRow = (row: TableRow) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n\n return (\n <Row role=\"row\" key={row.id} accentColor={accentColor} className={e2eClassName} {...rowState}>\n {visible.map((col) => renderCell(row, col, actions, rowState))}\n </Row>\n );\n };\n\n const renderNestedRow = (nestedRow: TableRow, rowId: TableRow['id']) => {\n const nestedRowE2eClassName = nestedRow?.data?.e2eClassNames?.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (\n <Row role=\"row\" key={nestedRow.id} className={nestedRowE2eClassName}>\n {visible.map((col) => renderNestedCell(nestedRow, col, rowState))}\n </Row>\n );\n };\n\n const renderSection = (row: TableRow) => {\n const isExpanded = expandedRowIds?.includes(row.id);\n return (\n <tbody role=\"rowgroup\" key={row.id}>\n {renderRow(row)}\n {isExpanded && row.nestedRows?.map((nestedRow) => renderNestedRow(nestedRow, row.id))}\n </tbody>\n );\n };\n\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n\n if (hasNestedRows) {\n return (\n <tbody role=\"rowgroup\">\n {rows.map((row) => {\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds?.includes(row.id);\n const nestedRowElements =\n (isExpanded &&\n row.nestedRows?.map((nestedRow) => renderNestedRow(nestedRow, row.id))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })}\n </tbody>\n );\n }\n\n return <tbody role=\"rowgroup\">{rows.map(renderRow)}</tbody>;\n };\n\n const headersMarkup = (\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n );\n\n const shouldRenderFooter = initialColumns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!actionBarSlot;\n\n return (\n <Wrapper borderMode={borderMode}>\n {shouldRenderActionBar && (\n <ActionBar\n selectionColumn={selectionColumn}\n intersectionTargetRef={intersectionTargetRef}\n containerRef={scrollContainerRef}\n >\n {actionBarSlot}\n </ActionBar>\n )}\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n {enableStickyHeader && (\n <StickyHead\n tableCss={tableCss}\n intersectionTargetRef={intersectionTargetRef}\n containerRef={scrollContainerRef}\n cellWidths={adjustedCellWidths}\n stickyHeaderTop={stickyHeaderTop}\n >\n {headersMarkup}\n </StickyHead>\n )}\n <div ref={intersectionTargetRef} style={{ height: 0 }} />\n <TableGrid css={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">{headersMarkup}</thead>\n {renderBody()}\n {shouldRenderFooter && (\n <tfoot role=\"rowgroup\">\n <Row role=\"row\">{visible.map((column) => renderFooter({ column }))}</Row>\n </tfoot>\n )}\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n};\n\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\n\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n"],"names":["React","InfoIcon","useRef","useDragToScroll","useSelection","useCellWidths","useColumns","useScrollPosition","generateTableCss","Wrapper","ScrollContainer","TableGrid","Row","renderHeader","renderLoadingCell","EmptyBodyContent","EmptyBodyGlyphWrapper","Stack","Text","getRowState","renderCell","renderNestedCell","ActionBar","StickyHead","renderFooter","Cell","ColumnMenu","SelectionCell","SelectionHeader","Header","Truncate","NoWrap"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.cjs","sources":["../../../src/components/DataTable/DataTable.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-redundant-roles */\n\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\n\nimport { useDragToScroll, useScrollPosition } from '../../hooks';\n\nimport { generateTableCss } from './utils';\nimport { DataTableProps, CustomState, TableRow } from './types';\n\nimport { useCellWidths, useColumns, useSelection } from './hooks';\n\nimport {\n renderCell,\n renderFooter,\n renderHeader,\n renderLoadingCell,\n renderNestedCell,\n} from './renderers';\n\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\n\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../icons';\n\nconst defaultEmptyState: CustomState = {\n iconSlot: <InfoIcon width={48} height={48} />,\n heading: 'No results',\n};\n\nconst emptyAction = () => {};\n\nexport const DataTable = ({\n actionBarSlot,\n borderMode,\n columns: initialColumns,\n emptyState = defaultEmptyState,\n expandedRowIds,\n loading,\n loadingRowCount,\n onChangeSort,\n rows,\n disabledRowIds,\n selectionMode,\n selectionState,\n setExpanded,\n sortState,\n stripingMode,\n enableStickyHeader,\n resizeableColumns,\n onResizeColumns,\n columnWidths,\n stickyHeaderTop,\n}: DataTableProps) => {\n // Refs\n\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const tableRef = useRef<HTMLTableElement>(null);\n const intersectionTargetRef = useRef<HTMLDivElement>(null);\n\n useDragToScroll({ targetRef: scrollContainerRef, ignoreClassName: 'th-divider' });\n\n // Configure row selection\n\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !disabledRowIds?.includes(id));\n\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n\n // Assign actions\n\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n\n // Process columns\n\n const columnsWithSelection = [selectionColumn, ...initialColumns];\n const allColumns = selectionEnabled ? columnsWithSelection : initialColumns;\n\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const {\n visible,\n pinnedLeft,\n pinnedRight,\n setColumnWidth,\n columnWidths: calcColumnWidths,\n } = useColumns(allColumns, tableRef, onResizeColumns, columnWidths);\n const adjustedCellWidths =\n cellWidths.length === visible.length\n ? (visible.map((col, i) =>\n Number.isNaN(calcColumnWidths[col.id] || '') ? cellWidths[i] : calcColumnWidths[col.id],\n ) as number[])\n : cellWidths;\n\n // Generate styles\n const { scrollPosition, onScroll, enableTransition } = useScrollPosition({\n containerRef: scrollContainerRef,\n });\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths: adjustedCellWidths,\n scrollPosition,\n columnWidths: calcColumnWidths,\n columns: visible,\n stripingMode,\n enableTransition,\n });\n\n // Render states\n\n if (loading) {\n const loadingRows: Array<TableRow> = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n\n return (\n <Wrapper borderMode={borderMode}>\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n <TableGrid tableCss={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n </thead>\n <tbody role=\"rowgroup\">\n {loadingRows.map((row) => (\n <Row key={row.id}>{visible.map((col) => renderLoadingCell(row, col))}</Row>\n ))}\n </tbody>\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n }\n\n if (rows.length === 0) {\n return (\n <Wrapper borderMode={borderMode}>\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n <TableGrid tableCss={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n </thead>\n <tbody role=\"rowgroup\">\n <EmptyBodyContent columnCount={visible.length}>\n <EmptyBodyGlyphWrapper>\n {/* Should be 48x48px */}\n {emptyState.iconSlot}\n </EmptyBodyGlyphWrapper>\n <Stack spacing=\"sm\" alignX=\"center\">\n <Text variant=\"headingMedium\">{emptyState.heading}</Text>\n {emptyState.subheading && (\n <Text variant=\"subheadingMedium\">{emptyState.subheading}</Text>\n )}\n </Stack>\n </EmptyBodyContent>\n </tbody>\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n }\n\n const renderRow = (row: TableRow) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n\n return (\n <Row role=\"row\" key={row.id} accentColor={accentColor} className={e2eClassName} {...rowState}>\n {visible.map((col) => renderCell(row, col, actions, rowState))}\n </Row>\n );\n };\n\n const renderNestedRow = (nestedRow: TableRow, rowId: TableRow['id']) => {\n const nestedRowE2eClassName = nestedRow?.data?.e2eClassNames?.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (\n <Row role=\"row\" key={nestedRow.id} className={nestedRowE2eClassName}>\n {visible.map((col) => renderNestedCell(nestedRow, col, rowState))}\n </Row>\n );\n };\n\n const renderSection = (row: TableRow) => {\n const isExpanded = expandedRowIds?.includes(row.id);\n return (\n <tbody role=\"rowgroup\" key={row.id}>\n {renderRow(row)}\n {isExpanded && row.nestedRows?.map((nestedRow) => renderNestedRow(nestedRow, row.id))}\n </tbody>\n );\n };\n\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n\n if (hasNestedRows) {\n return (\n <tbody role=\"rowgroup\">\n {rows.map((row) => {\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds?.includes(row.id);\n const nestedRowElements =\n (isExpanded &&\n row.nestedRows?.map((nestedRow) => renderNestedRow(nestedRow, row.id))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })}\n </tbody>\n );\n }\n\n return <tbody role=\"rowgroup\">{rows.map(renderRow)}</tbody>;\n };\n\n const headersMarkup = (\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n );\n\n const shouldRenderFooter = initialColumns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!actionBarSlot;\n\n return (\n <Wrapper borderMode={borderMode}>\n {shouldRenderActionBar && (\n <ActionBar\n selectionColumn={selectionColumn}\n intersectionTargetRef={intersectionTargetRef}\n containerRef={scrollContainerRef}\n >\n {actionBarSlot}\n </ActionBar>\n )}\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n {enableStickyHeader && (\n <StickyHead\n tableCss={tableCss}\n intersectionTargetRef={intersectionTargetRef}\n containerRef={scrollContainerRef}\n cellWidths={adjustedCellWidths}\n stickyHeaderTop={stickyHeaderTop}\n >\n {headersMarkup}\n </StickyHead>\n )}\n <div ref={intersectionTargetRef} style={{ height: 0 }} />\n <TableGrid tableCss={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">{headersMarkup}</thead>\n {renderBody()}\n {shouldRenderFooter && (\n <tfoot role=\"rowgroup\">\n <Row role=\"row\">{visible.map((column) => renderFooter({ column }))}</Row>\n </tfoot>\n )}\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n};\n\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\n\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n"],"names":["React","InfoIcon","useRef","useDragToScroll","useSelection","useCellWidths","useColumns","useScrollPosition","generateTableCss","Wrapper","ScrollContainer","TableGrid","Row","renderHeader","renderLoadingCell","EmptyBodyContent","EmptyBodyGlyphWrapper","Stack","Text","getRowState","renderCell","renderNestedCell","ActionBar","StickyHead","renderFooter","Cell","ColumnMenu","SelectionCell","SelectionHeader","Header","Truncate","NoWrap"],"mappings":"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"}
@@ -12,11 +12,11 @@ export declare const DataTable: {
12
12
  stripingMode: string;
13
13
  enableStickyHeader: boolean;
14
14
  };
15
- Cell: import("styled-components").StyledComponent<"td", any, import("./components/Cell").CellProps, never>;
15
+ Cell: React.ForwardRefExoticComponent<import("./components/Cell").CellProps & React.RefAttributes<HTMLTableCellElement>>;
16
16
  ColumnMenu: typeof ColumnMenu;
17
17
  SelectionCell: typeof SelectionCell;
18
18
  SelectionHeader: typeof SelectionHeader;
19
- Header: import("styled-components").StyledComponent<"th", any, import("./types").HeaderProps, never>;
20
- Truncate: import("styled-components").StyledComponent<"div", any, {}, never>;
21
- NoWrap: import("styled-components").StyledComponent<"div", any, {}, never>;
19
+ Header: React.ForwardRefExoticComponent<import("./types").HeaderProps & React.RefAttributes<HTMLTableCellElement>>;
20
+ Truncate: React.ForwardRefExoticComponent<import("./components/Truncate").TruncateProps & React.RefAttributes<HTMLDivElement>>;
21
+ NoWrap: React.ForwardRefExoticComponent<import("./components/NoWrap").NoWrapProps & React.RefAttributes<HTMLDivElement>>;
22
22
  };
@@ -92,7 +92,7 @@ const DataTable = ({ actionBarSlot, borderMode, columns: initialColumns, emptySt
92
92
  }));
93
93
  return (React__default.createElement(Wrapper, { borderMode: borderMode },
94
94
  React__default.createElement(ScrollContainer, { ref: scrollContainerRef, onScroll: onScroll },
95
- React__default.createElement(TableGrid, { css: tableCss, ref: tableRef, role: "table" },
95
+ React__default.createElement(TableGrid, { tableCss: tableCss, ref: tableRef, role: "table" },
96
96
  React__default.createElement("thead", { role: "rowgroup" },
97
97
  React__default.createElement(Row, { role: "row" }, visible.map((column, i) => renderHeader({
98
98
  column,
@@ -108,7 +108,7 @@ const DataTable = ({ actionBarSlot, borderMode, columns: initialColumns, emptySt
108
108
  if (rows.length === 0) {
109
109
  return (React__default.createElement(Wrapper, { borderMode: borderMode },
110
110
  React__default.createElement(ScrollContainer, { ref: scrollContainerRef, onScroll: onScroll },
111
- React__default.createElement(TableGrid, { css: tableCss, ref: tableRef, role: "table" },
111
+ React__default.createElement(TableGrid, { tableCss: tableCss, ref: tableRef, role: "table" },
112
112
  React__default.createElement("thead", { role: "rowgroup" },
113
113
  React__default.createElement(Row, { role: "row" }, visible.map((column, i) => renderHeader({
114
114
  column,
@@ -179,7 +179,7 @@ const DataTable = ({ actionBarSlot, borderMode, columns: initialColumns, emptySt
179
179
  React__default.createElement(ScrollContainer, { ref: scrollContainerRef, onScroll: onScroll },
180
180
  enableStickyHeader && (React__default.createElement(StickyHead, { tableCss: tableCss, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef, cellWidths: adjustedCellWidths, stickyHeaderTop: stickyHeaderTop }, headersMarkup)),
181
181
  React__default.createElement("div", { ref: intersectionTargetRef, style: { height: 0 } }),
182
- React__default.createElement(TableGrid, { css: tableCss, ref: tableRef, role: "table" },
182
+ React__default.createElement(TableGrid, { tableCss: tableCss, ref: tableRef, role: "table" },
183
183
  React__default.createElement("thead", { role: "rowgroup" }, headersMarkup),
184
184
  renderBody(),
185
185
  shouldRenderFooter && (React__default.createElement("tfoot", { role: "rowgroup" },
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","sources":["../../../src/components/DataTable/DataTable.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-redundant-roles */\n\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\n\nimport { useDragToScroll, useScrollPosition } from '../../hooks';\n\nimport { generateTableCss } from './utils';\nimport { DataTableProps, CustomState, TableRow } from './types';\n\nimport { useCellWidths, useColumns, useSelection } from './hooks';\n\nimport {\n renderCell,\n renderFooter,\n renderHeader,\n renderLoadingCell,\n renderNestedCell,\n} from './renderers';\n\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\n\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../icons';\n\nconst defaultEmptyState: CustomState = {\n iconSlot: <InfoIcon width={48} height={48} />,\n heading: 'No results',\n};\n\nconst emptyAction = () => {};\n\nexport const DataTable = ({\n actionBarSlot,\n borderMode,\n columns: initialColumns,\n emptyState = defaultEmptyState,\n expandedRowIds,\n loading,\n loadingRowCount,\n onChangeSort,\n rows,\n disabledRowIds,\n selectionMode,\n selectionState,\n setExpanded,\n sortState,\n stripingMode,\n enableStickyHeader,\n resizeableColumns,\n onResizeColumns,\n columnWidths,\n stickyHeaderTop,\n}: DataTableProps) => {\n // Refs\n\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const tableRef = useRef<HTMLTableElement>(null);\n const intersectionTargetRef = useRef<HTMLDivElement>(null);\n\n useDragToScroll({ targetRef: scrollContainerRef, ignoreClassName: 'th-divider' });\n\n // Configure row selection\n\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !disabledRowIds?.includes(id));\n\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n\n // Assign actions\n\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n\n // Process columns\n\n const columnsWithSelection = [selectionColumn, ...initialColumns];\n const allColumns = selectionEnabled ? columnsWithSelection : initialColumns;\n\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const {\n visible,\n pinnedLeft,\n pinnedRight,\n setColumnWidth,\n columnWidths: calcColumnWidths,\n } = useColumns(allColumns, tableRef, onResizeColumns, columnWidths);\n const adjustedCellWidths =\n cellWidths.length === visible.length\n ? (visible.map((col, i) =>\n Number.isNaN(calcColumnWidths[col.id] || '') ? cellWidths[i] : calcColumnWidths[col.id],\n ) as number[])\n : cellWidths;\n\n // Generate styles\n const { scrollPosition, onScroll, enableTransition } = useScrollPosition({\n containerRef: scrollContainerRef,\n });\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths: adjustedCellWidths,\n scrollPosition,\n columnWidths: calcColumnWidths,\n columns: visible,\n stripingMode,\n enableTransition,\n });\n\n // Render states\n\n if (loading) {\n const loadingRows: Array<TableRow> = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n\n return (\n <Wrapper borderMode={borderMode}>\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n <TableGrid css={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n </thead>\n <tbody role=\"rowgroup\">\n {loadingRows.map((row) => (\n <Row key={row.id}>{visible.map((col) => renderLoadingCell(row, col))}</Row>\n ))}\n </tbody>\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n }\n\n if (rows.length === 0) {\n return (\n <Wrapper borderMode={borderMode}>\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n <TableGrid css={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n </thead>\n <tbody role=\"rowgroup\">\n <EmptyBodyContent columnCount={visible.length}>\n <EmptyBodyGlyphWrapper>\n {/* Should be 48x48px */}\n {emptyState.iconSlot}\n </EmptyBodyGlyphWrapper>\n <Stack spacing=\"sm\" alignX=\"center\">\n <Text variant=\"headingMedium\">{emptyState.heading}</Text>\n {emptyState.subheading && (\n <Text variant=\"subheadingMedium\">{emptyState.subheading}</Text>\n )}\n </Stack>\n </EmptyBodyContent>\n </tbody>\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n }\n\n const renderRow = (row: TableRow) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n\n return (\n <Row role=\"row\" key={row.id} accentColor={accentColor} className={e2eClassName} {...rowState}>\n {visible.map((col) => renderCell(row, col, actions, rowState))}\n </Row>\n );\n };\n\n const renderNestedRow = (nestedRow: TableRow, rowId: TableRow['id']) => {\n const nestedRowE2eClassName = nestedRow?.data?.e2eClassNames?.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (\n <Row role=\"row\" key={nestedRow.id} className={nestedRowE2eClassName}>\n {visible.map((col) => renderNestedCell(nestedRow, col, rowState))}\n </Row>\n );\n };\n\n const renderSection = (row: TableRow) => {\n const isExpanded = expandedRowIds?.includes(row.id);\n return (\n <tbody role=\"rowgroup\" key={row.id}>\n {renderRow(row)}\n {isExpanded && row.nestedRows?.map((nestedRow) => renderNestedRow(nestedRow, row.id))}\n </tbody>\n );\n };\n\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n\n if (hasNestedRows) {\n return (\n <tbody role=\"rowgroup\">\n {rows.map((row) => {\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds?.includes(row.id);\n const nestedRowElements =\n (isExpanded &&\n row.nestedRows?.map((nestedRow) => renderNestedRow(nestedRow, row.id))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })}\n </tbody>\n );\n }\n\n return <tbody role=\"rowgroup\">{rows.map(renderRow)}</tbody>;\n };\n\n const headersMarkup = (\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n );\n\n const shouldRenderFooter = initialColumns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!actionBarSlot;\n\n return (\n <Wrapper borderMode={borderMode}>\n {shouldRenderActionBar && (\n <ActionBar\n selectionColumn={selectionColumn}\n intersectionTargetRef={intersectionTargetRef}\n containerRef={scrollContainerRef}\n >\n {actionBarSlot}\n </ActionBar>\n )}\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n {enableStickyHeader && (\n <StickyHead\n tableCss={tableCss}\n intersectionTargetRef={intersectionTargetRef}\n containerRef={scrollContainerRef}\n cellWidths={adjustedCellWidths}\n stickyHeaderTop={stickyHeaderTop}\n >\n {headersMarkup}\n </StickyHead>\n )}\n <div ref={intersectionTargetRef} style={{ height: 0 }} />\n <TableGrid css={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">{headersMarkup}</thead>\n {renderBody()}\n {shouldRenderFooter && (\n <tfoot role=\"rowgroup\">\n <Row role=\"row\">{visible.map((column) => renderFooter({ column }))}</Row>\n </tfoot>\n )}\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n};\n\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\n\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.js","sources":["../../../src/components/DataTable/DataTable.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-redundant-roles */\n\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\n\nimport { useDragToScroll, useScrollPosition } from '../../hooks';\n\nimport { generateTableCss } from './utils';\nimport { DataTableProps, CustomState, TableRow } from './types';\n\nimport { useCellWidths, useColumns, useSelection } from './hooks';\n\nimport {\n renderCell,\n renderFooter,\n renderHeader,\n renderLoadingCell,\n renderNestedCell,\n} from './renderers';\n\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\n\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../icons';\n\nconst defaultEmptyState: CustomState = {\n iconSlot: <InfoIcon width={48} height={48} />,\n heading: 'No results',\n};\n\nconst emptyAction = () => {};\n\nexport const DataTable = ({\n actionBarSlot,\n borderMode,\n columns: initialColumns,\n emptyState = defaultEmptyState,\n expandedRowIds,\n loading,\n loadingRowCount,\n onChangeSort,\n rows,\n disabledRowIds,\n selectionMode,\n selectionState,\n setExpanded,\n sortState,\n stripingMode,\n enableStickyHeader,\n resizeableColumns,\n onResizeColumns,\n columnWidths,\n stickyHeaderTop,\n}: DataTableProps) => {\n // Refs\n\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const tableRef = useRef<HTMLTableElement>(null);\n const intersectionTargetRef = useRef<HTMLDivElement>(null);\n\n useDragToScroll({ targetRef: scrollContainerRef, ignoreClassName: 'th-divider' });\n\n // Configure row selection\n\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !disabledRowIds?.includes(id));\n\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n\n // Assign actions\n\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n\n // Process columns\n\n const columnsWithSelection = [selectionColumn, ...initialColumns];\n const allColumns = selectionEnabled ? columnsWithSelection : initialColumns;\n\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const {\n visible,\n pinnedLeft,\n pinnedRight,\n setColumnWidth,\n columnWidths: calcColumnWidths,\n } = useColumns(allColumns, tableRef, onResizeColumns, columnWidths);\n const adjustedCellWidths =\n cellWidths.length === visible.length\n ? (visible.map((col, i) =>\n Number.isNaN(calcColumnWidths[col.id] || '') ? cellWidths[i] : calcColumnWidths[col.id],\n ) as number[])\n : cellWidths;\n\n // Generate styles\n const { scrollPosition, onScroll, enableTransition } = useScrollPosition({\n containerRef: scrollContainerRef,\n });\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths: adjustedCellWidths,\n scrollPosition,\n columnWidths: calcColumnWidths,\n columns: visible,\n stripingMode,\n enableTransition,\n });\n\n // Render states\n\n if (loading) {\n const loadingRows: Array<TableRow> = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n\n return (\n <Wrapper borderMode={borderMode}>\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n <TableGrid tableCss={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n </thead>\n <tbody role=\"rowgroup\">\n {loadingRows.map((row) => (\n <Row key={row.id}>{visible.map((col) => renderLoadingCell(row, col))}</Row>\n ))}\n </tbody>\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n }\n\n if (rows.length === 0) {\n return (\n <Wrapper borderMode={borderMode}>\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n <TableGrid tableCss={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n </thead>\n <tbody role=\"rowgroup\">\n <EmptyBodyContent columnCount={visible.length}>\n <EmptyBodyGlyphWrapper>\n {/* Should be 48x48px */}\n {emptyState.iconSlot}\n </EmptyBodyGlyphWrapper>\n <Stack spacing=\"sm\" alignX=\"center\">\n <Text variant=\"headingMedium\">{emptyState.heading}</Text>\n {emptyState.subheading && (\n <Text variant=\"subheadingMedium\">{emptyState.subheading}</Text>\n )}\n </Stack>\n </EmptyBodyContent>\n </tbody>\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n }\n\n const renderRow = (row: TableRow) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n\n return (\n <Row role=\"row\" key={row.id} accentColor={accentColor} className={e2eClassName} {...rowState}>\n {visible.map((col) => renderCell(row, col, actions, rowState))}\n </Row>\n );\n };\n\n const renderNestedRow = (nestedRow: TableRow, rowId: TableRow['id']) => {\n const nestedRowE2eClassName = nestedRow?.data?.e2eClassNames?.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (\n <Row role=\"row\" key={nestedRow.id} className={nestedRowE2eClassName}>\n {visible.map((col) => renderNestedCell(nestedRow, col, rowState))}\n </Row>\n );\n };\n\n const renderSection = (row: TableRow) => {\n const isExpanded = expandedRowIds?.includes(row.id);\n return (\n <tbody role=\"rowgroup\" key={row.id}>\n {renderRow(row)}\n {isExpanded && row.nestedRows?.map((nestedRow) => renderNestedRow(nestedRow, row.id))}\n </tbody>\n );\n };\n\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n\n if (hasNestedRows) {\n return (\n <tbody role=\"rowgroup\">\n {rows.map((row) => {\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds?.includes(row.id);\n const nestedRowElements =\n (isExpanded &&\n row.nestedRows?.map((nestedRow) => renderNestedRow(nestedRow, row.id))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })}\n </tbody>\n );\n }\n\n return <tbody role=\"rowgroup\">{rows.map(renderRow)}</tbody>;\n };\n\n const headersMarkup = (\n <Row role=\"row\">\n {visible.map((column, i) =>\n renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }),\n )}\n </Row>\n );\n\n const shouldRenderFooter = initialColumns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!actionBarSlot;\n\n return (\n <Wrapper borderMode={borderMode}>\n {shouldRenderActionBar && (\n <ActionBar\n selectionColumn={selectionColumn}\n intersectionTargetRef={intersectionTargetRef}\n containerRef={scrollContainerRef}\n >\n {actionBarSlot}\n </ActionBar>\n )}\n <ScrollContainer ref={scrollContainerRef} onScroll={onScroll}>\n {enableStickyHeader && (\n <StickyHead\n tableCss={tableCss}\n intersectionTargetRef={intersectionTargetRef}\n containerRef={scrollContainerRef}\n cellWidths={adjustedCellWidths}\n stickyHeaderTop={stickyHeaderTop}\n >\n {headersMarkup}\n </StickyHead>\n )}\n <div ref={intersectionTargetRef} style={{ height: 0 }} />\n <TableGrid tableCss={tableCss} ref={tableRef} role=\"table\">\n <thead role=\"rowgroup\">{headersMarkup}</thead>\n {renderBody()}\n {shouldRenderFooter && (\n <tfoot role=\"rowgroup\">\n <Row role=\"row\">{visible.map((column) => renderFooter({ column }))}</Row>\n </tfoot>\n )}\n </TableGrid>\n </ScrollContainer>\n </Wrapper>\n );\n};\n\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\n\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n"],"names":["React"],"mappings":"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"}