@veeqo/ui 14.10.0-beta-2 → 14.10.1

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 (197) hide show
  1. package/dist/components/Action/styles/button.module.scss.cjs +2 -2
  2. package/dist/components/Action/styles/button.module.scss.cjs.map +1 -1
  3. package/dist/components/Action/styles/button.module.scss.js +2 -2
  4. package/dist/components/Action/styles/button.module.scss.js.map +1 -1
  5. package/dist/components/Action/styles/link.module.scss.cjs +2 -2
  6. package/dist/components/Action/styles/link.module.scss.cjs.map +1 -1
  7. package/dist/components/Action/styles/link.module.scss.js +2 -2
  8. package/dist/components/Action/styles/link.module.scss.js.map +1 -1
  9. package/dist/components/Action/utils.cjs +14 -12
  10. package/dist/components/Action/utils.cjs.map +1 -1
  11. package/dist/components/Action/utils.js +14 -12
  12. package/dist/components/Action/utils.js.map +1 -1
  13. package/dist/components/Button/Button.cjs +37 -37
  14. package/dist/components/Button/Button.cjs.map +1 -1
  15. package/dist/components/Button/Button.d.ts +4 -13
  16. package/dist/components/Button/Button.js +37 -37
  17. package/dist/components/Button/Button.js.map +1 -1
  18. package/dist/components/Button/types.d.ts +7 -16
  19. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.cjs +2 -2
  20. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.cjs.map +1 -1
  21. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.js +1 -1
  22. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.cjs +2 -2
  23. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.cjs.map +1 -1
  24. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.js +1 -1
  25. package/dist/components/DataTable/DataTable.cjs +3 -3
  26. package/dist/components/DataTable/DataTable.cjs.map +1 -1
  27. package/dist/components/DataTable/DataTable.d.ts +4 -4
  28. package/dist/components/DataTable/DataTable.js +3 -3
  29. package/dist/components/DataTable/DataTable.js.map +1 -1
  30. package/dist/components/DataTable/components/ActionBar.cjs +8 -3
  31. package/dist/components/DataTable/components/ActionBar.cjs.map +1 -1
  32. package/dist/components/DataTable/components/ActionBar.js +7 -3
  33. package/dist/components/DataTable/components/ActionBar.js.map +1 -1
  34. package/dist/components/DataTable/components/Cell.cjs +4 -15
  35. package/dist/components/DataTable/components/Cell.cjs.map +1 -1
  36. package/dist/components/DataTable/components/Cell.d.ts +2 -6
  37. package/dist/components/DataTable/components/Cell.js +4 -15
  38. package/dist/components/DataTable/components/Cell.js.map +1 -1
  39. package/dist/components/DataTable/components/ColumnDivider.cjs +6 -4
  40. package/dist/components/DataTable/components/ColumnDivider.cjs.map +1 -1
  41. package/dist/components/DataTable/components/ColumnDivider.d.ts +1 -0
  42. package/dist/components/DataTable/components/ColumnDivider.js +5 -5
  43. package/dist/components/DataTable/components/ColumnDivider.js.map +1 -1
  44. package/dist/components/DataTable/components/ColumnHeader.cjs +9 -8
  45. package/dist/components/DataTable/components/ColumnHeader.cjs.map +1 -1
  46. package/dist/components/DataTable/components/ColumnHeader.d.ts +6 -16
  47. package/dist/components/DataTable/components/ColumnHeader.js +8 -7
  48. package/dist/components/DataTable/components/ColumnHeader.js.map +1 -1
  49. package/dist/components/DataTable/components/EmptyBodyContent.cjs +5 -13
  50. package/dist/components/DataTable/components/EmptyBodyContent.cjs.map +1 -1
  51. package/dist/components/DataTable/components/EmptyBodyContent.d.ts +3 -10
  52. package/dist/components/DataTable/components/EmptyBodyContent.js +4 -12
  53. package/dist/components/DataTable/components/EmptyBodyContent.js.map +1 -1
  54. package/dist/components/DataTable/components/Header.cjs +4 -16
  55. package/dist/components/DataTable/components/Header.cjs.map +1 -1
  56. package/dist/components/DataTable/components/Header.d.ts +1 -2
  57. package/dist/components/DataTable/components/Header.js +4 -16
  58. package/dist/components/DataTable/components/Header.js.map +1 -1
  59. package/dist/components/DataTable/components/LoadingCellContent.cjs +7 -7
  60. package/dist/components/DataTable/components/LoadingCellContent.cjs.map +1 -1
  61. package/dist/components/DataTable/components/LoadingCellContent.d.ts +1 -5
  62. package/dist/components/DataTable/components/LoadingCellContent.js +6 -6
  63. package/dist/components/DataTable/components/LoadingCellContent.js.map +1 -1
  64. package/dist/components/DataTable/components/NoWrap.cjs +3 -7
  65. package/dist/components/DataTable/components/NoWrap.cjs.map +1 -1
  66. package/dist/components/DataTable/components/NoWrap.d.ts +1 -6
  67. package/dist/components/DataTable/components/NoWrap.js +2 -6
  68. package/dist/components/DataTable/components/NoWrap.js.map +1 -1
  69. package/dist/components/DataTable/components/Row.cjs +24 -21
  70. package/dist/components/DataTable/components/Row.cjs.map +1 -1
  71. package/dist/components/DataTable/components/Row.d.ts +2 -5
  72. package/dist/components/DataTable/components/Row.js +23 -20
  73. package/dist/components/DataTable/components/Row.js.map +1 -1
  74. package/dist/components/DataTable/components/ScrollContainer.cjs +3 -7
  75. package/dist/components/DataTable/components/ScrollContainer.cjs.map +1 -1
  76. package/dist/components/DataTable/components/ScrollContainer.d.ts +1 -6
  77. package/dist/components/DataTable/components/ScrollContainer.js +2 -6
  78. package/dist/components/DataTable/components/ScrollContainer.js.map +1 -1
  79. package/dist/components/DataTable/components/StickyHead.cjs +11 -3
  80. package/dist/components/DataTable/components/StickyHead.cjs.map +1 -1
  81. package/dist/components/DataTable/components/StickyHead.d.ts +1 -2
  82. package/dist/components/DataTable/components/StickyHead.js +11 -3
  83. package/dist/components/DataTable/components/StickyHead.js.map +1 -1
  84. package/dist/components/DataTable/components/TableGrid.cjs +5 -49
  85. package/dist/components/DataTable/components/TableGrid.cjs.map +1 -1
  86. package/dist/components/DataTable/components/TableGrid.d.ts +3 -10
  87. package/dist/components/DataTable/components/TableGrid.js +4 -48
  88. package/dist/components/DataTable/components/TableGrid.js.map +1 -1
  89. package/dist/components/DataTable/components/Truncate.cjs +3 -7
  90. package/dist/components/DataTable/components/Truncate.cjs.map +1 -1
  91. package/dist/components/DataTable/components/Truncate.d.ts +1 -6
  92. package/dist/components/DataTable/components/Truncate.js +2 -6
  93. package/dist/components/DataTable/components/Truncate.js.map +1 -1
  94. package/dist/components/DataTable/components/Wrapper.cjs +8 -11
  95. package/dist/components/DataTable/components/Wrapper.cjs.map +1 -1
  96. package/dist/components/DataTable/components/Wrapper.d.ts +2 -5
  97. package/dist/components/DataTable/components/Wrapper.js +7 -10
  98. package/dist/components/DataTable/components/Wrapper.js.map +1 -1
  99. package/dist/components/DataTable/constants.cjs +2 -0
  100. package/dist/components/DataTable/constants.cjs.map +1 -1
  101. package/dist/components/DataTable/constants.js +2 -1
  102. package/dist/components/DataTable/constants.js.map +1 -1
  103. package/dist/components/DataTable/utils/generateTableCss.cjs +80 -44
  104. package/dist/components/DataTable/utils/generateTableCss.cjs.map +1 -1
  105. package/dist/components/DataTable/utils/generateTableCss.d.ts +1 -7
  106. package/dist/components/DataTable/utils/generateTableCss.js +80 -44
  107. package/dist/components/DataTable/utils/generateTableCss.js.map +1 -1
  108. package/dist/components/DateInputField/DateInputField.cjs +1 -1
  109. package/dist/components/DateInputField/DateInputField.js +1 -1
  110. package/dist/components/DatePicker/DatePicker.cjs +1 -1
  111. package/dist/components/DatePicker/DatePicker.js +1 -1
  112. package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -1
  113. package/dist/components/DateRangePicker/DateRangePicker.js +1 -1
  114. package/dist/components/Grid/index.cjs +20 -0
  115. package/dist/components/Grid/index.cjs.map +1 -0
  116. package/dist/components/Grid/index.d.ts +3 -2
  117. package/dist/components/Grid/index.js +14 -0
  118. package/dist/components/Grid/index.js.map +1 -0
  119. package/dist/components/LegacyDataTable/LegacyDataTable.d.ts +1 -1
  120. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.cjs +8 -8
  121. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.cjs.map +1 -1
  122. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.js +7 -8
  123. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.js.map +1 -1
  124. package/dist/components/LegacyDataTable/SpecificState/SpecificState.cjs +5 -8
  125. package/dist/components/LegacyDataTable/SpecificState/SpecificState.cjs.map +1 -1
  126. package/dist/components/LegacyDataTable/SpecificState/SpecificState.js +5 -8
  127. package/dist/components/LegacyDataTable/SpecificState/SpecificState.js.map +1 -1
  128. package/dist/components/LegacyDataTable/SpecificState/styled.cjs +21 -0
  129. package/dist/components/LegacyDataTable/SpecificState/styled.cjs.map +1 -0
  130. package/dist/components/LegacyDataTable/SpecificState/styled.d.ts +17 -0
  131. package/dist/components/LegacyDataTable/SpecificState/styled.js +12 -0
  132. package/dist/components/LegacyDataTable/SpecificState/styled.js.map +1 -0
  133. package/dist/components/LegacyDataTable/StickyHeader.cjs.map +1 -1
  134. package/dist/components/LegacyDataTable/StickyHeader.js.map +1 -1
  135. package/dist/components/LegacyDataTable/cells/ClickableCell.cjs +8 -6
  136. package/dist/components/LegacyDataTable/cells/ClickableCell.cjs.map +1 -1
  137. package/dist/components/LegacyDataTable/cells/ClickableCell.d.ts +1 -1
  138. package/dist/components/LegacyDataTable/cells/ClickableCell.js +5 -4
  139. package/dist/components/LegacyDataTable/cells/ClickableCell.js.map +1 -1
  140. package/dist/components/LegacyDataTable/cells/EditableCell.cjs +8 -5
  141. package/dist/components/LegacyDataTable/cells/EditableCell.cjs.map +1 -1
  142. package/dist/components/LegacyDataTable/cells/EditableCell.d.ts +1 -1
  143. package/dist/components/LegacyDataTable/cells/EditableCell.js +5 -3
  144. package/dist/components/LegacyDataTable/cells/EditableCell.js.map +1 -1
  145. package/dist/components/LegacyDataTable/cells/styled.cjs +14 -0
  146. package/dist/components/LegacyDataTable/cells/styled.cjs.map +1 -0
  147. package/dist/components/LegacyDataTable/cells/styled.d.ts +1 -0
  148. package/dist/components/LegacyDataTable/cells/styled.js +8 -0
  149. package/dist/components/LegacyDataTable/cells/styled.js.map +1 -0
  150. package/dist/components/LegacyDataTable/styled.cjs +104 -121
  151. package/dist/components/LegacyDataTable/styled.cjs.map +1 -1
  152. package/dist/components/LegacyDataTable/styled.d.ts +28 -40
  153. package/dist/components/LegacyDataTable/styled.js +103 -120
  154. package/dist/components/LegacyDataTable/styled.js.map +1 -1
  155. package/dist/components/Pagination/styled.d.ts +1 -6
  156. package/dist/components/VideoModal/styled.d.ts +1 -6
  157. package/dist/index.cjs +10 -10
  158. package/dist/index.js +1 -1
  159. package/package.json +1 -1
  160. package/dist/components/Button/Button.module.scss.cjs +0 -9
  161. package/dist/components/Button/Button.module.scss.cjs.map +0 -1
  162. package/dist/components/Button/Button.module.scss.js +0 -7
  163. package/dist/components/Button/Button.module.scss.js.map +0 -1
  164. package/dist/components/DataTable/components/DataTable.module.scss.cjs +0 -9
  165. package/dist/components/DataTable/components/DataTable.module.scss.cjs.map +0 -1
  166. package/dist/components/DataTable/components/DataTable.module.scss.js +0 -7
  167. package/dist/components/DataTable/components/DataTable.module.scss.js.map +0 -1
  168. package/dist/components/DataTable/hooks/useTableId.cjs +0 -23
  169. package/dist/components/DataTable/hooks/useTableId.cjs.map +0 -1
  170. package/dist/components/DataTable/hooks/useTableId.d.ts +0 -13
  171. package/dist/components/DataTable/hooks/useTableId.js +0 -21
  172. package/dist/components/DataTable/hooks/useTableId.js.map +0 -1
  173. package/dist/components/Grid/Grid.cjs +0 -24
  174. package/dist/components/Grid/Grid.cjs.map +0 -1
  175. package/dist/components/Grid/Grid.d.ts +0 -3
  176. package/dist/components/Grid/Grid.js +0 -18
  177. package/dist/components/Grid/Grid.js.map +0 -1
  178. package/dist/components/Grid/Grid.module.scss.cjs +0 -9
  179. package/dist/components/Grid/Grid.module.scss.cjs.map +0 -1
  180. package/dist/components/Grid/Grid.module.scss.js +0 -7
  181. package/dist/components/Grid/Grid.module.scss.js.map +0 -1
  182. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.cjs +0 -9
  183. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.cjs.map +0 -1
  184. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.js +0 -7
  185. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.js.map +0 -1
  186. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.cjs +0 -9
  187. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.cjs.map +0 -1
  188. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.js +0 -7
  189. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.js.map +0 -1
  190. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.cjs +0 -9
  191. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.cjs.map +0 -1
  192. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.js +0 -7
  193. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.js.map +0 -1
  194. package/dist/components/LegacyDataTable/cells/cells.module.scss.cjs +0 -9
  195. package/dist/components/LegacyDataTable/cells/cells.module.scss.cjs.map +0 -1
  196. package/dist/components/LegacyDataTable/cells/cells.module.scss.js +0 -7
  197. package/dist/components/LegacyDataTable/cells/cells.module.scss.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Row.cjs","sources":["../../../../src/components/DataTable/components/Row.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames, assignCssVars } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface RowProps extends React.HTMLAttributes<HTMLTableRowElement> {\n accentColor?: string;\n selected?: boolean;\n expanded?: boolean;\n disabled?: boolean;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const Row = React.forwardRef<HTMLTableRowElement, RowProps>(\n // expanded and disabled are destructured to prevent them leaking to the DOM via ...rest.\n // They are used by parent components for state tracking.\n ({ accentColor, selected, expanded: _expanded, disabled: _disabled, className, children, style, ...rest }, ref) => (\n <tr\n ref={ref}\n className={buildClassnames([\n styles.row,\n selected && styles.rowSelected,\n accentColor && styles.rowAccentColor,\n className,\n ])}\n style={{\n ...assignCssVars({\n rowAccentColor: accentColor,\n }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </tr>\n ),\n);\n\nRow.displayName = 'Row';\n"],"names":["React","buildClassnames","styles","assignCssVars"],"mappings":";;;;;;;;;;;;AAaO,MAAM,GAAG,GAAGA,sBAAK,CAAC,UAAU;AACjC;AACA;AACA,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MAC5GA,sBAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAEC,+BAAe,CAAC;AACzB,QAAAC,gBAAM,CAAC,GAAG;QACV,QAAQ,IAAIA,gBAAM,CAAC,WAAW;QAC9B,WAAW,IAAIA,gBAAM,CAAC,cAAc;QACpC,SAAS;KACV,CAAC,EACF,KAAK,EAAE;AACL,QAAA,GAAGC,2BAAa,CAAC;AACf,YAAA,cAAc,EAAE,WAAW;SAC5B,CAAC;AACF,QAAA,GAAG,KAAK;AACT,KAAA,EAAA,GACG,IAAI,EAAA,EAEP,QAAQ,CACN,CACN;AAGH,GAAG,CAAC,WAAW,GAAG,KAAK;;;;"}
1
+ {"version":3,"file":"Row.cjs","sources":["../../../../src/components/DataTable/components/Row.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { theme } from '../../../theme';\n\nexport interface RowProps {\n accentColor?: string;\n selected?: boolean;\n expanded?: boolean;\n disabled?: boolean;\n}\n\nexport const Row = styled.tr<RowProps>`\n display: contents;\n\n ${({ selected }) =>\n selected &&\n `\n &&&& > td {\n background-color: ${theme.colors.brand.blue.lightest};\n }\n `};\n\n ${({ accentColor }) =>\n accentColor &&\n `\n &> *:first-child {\n position: relative;\n }\n\n & > *:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor};\n }\n `}\n`;\n"],"names":["styled","theme"],"mappings":";;;;;;;;;AAUO,MAAM,GAAG,GAAGA,uBAAM,CAAC,EAAE,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,iBAAA,EAGxB,CAAC,EAAE,QAAQ,EAAE,KACb,QAAQ;AACR,IAAA;;AAEsB,wBAAA,EAAAC,WAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAA;;AAEvD,EAAA,CAAA,CAAA,CAAA,EAEC,CAAC,EAAE,WAAW,EAAE,KAChB,WAAW;AACX,IAAA;;;;;;;;;;;;0BAYsB,WAAW,CAAA;;AAElC,EAAA,CAAA,CAAA;;;;"}
@@ -1,10 +1,7 @@
1
- import React from 'react';
2
- export interface RowProps extends React.HTMLAttributes<HTMLTableRowElement> {
1
+ export interface RowProps {
3
2
  accentColor?: string;
4
3
  selected?: boolean;
5
4
  expanded?: boolean;
6
5
  disabled?: boolean;
7
- children?: React.ReactNode;
8
- className?: string;
9
6
  }
10
- export declare const Row: React.ForwardRefExoticComponent<RowProps & React.RefAttributes<HTMLTableRowElement>>;
7
+ export declare const Row: import("styled-components").StyledComponent<"tr", any, RowProps, never>;
@@ -1,24 +1,27 @@
1
- import React__default from 'react';
2
- import { buildClassnames } from '../../../utils/buildClassnames.js';
3
- import 'uid/secure';
4
- import { assignCssVars } from '../../../utils/assignCssVars.js';
5
- import styles from './DataTable.module.scss.js';
1
+ import styled from 'styled-components';
2
+ import { theme } from '../../../theme/index.js';
6
3
 
7
- const Row = React__default.forwardRef(
8
- // expanded and disabled are destructured to prevent them leaking to the DOM via ...rest.
9
- // They are used by parent components for state tracking.
10
- ({ accentColor, selected, expanded: _expanded, disabled: _disabled, className, children, style, ...rest }, ref) => (React__default.createElement("tr", { ref: ref, className: buildClassnames([
11
- styles.row,
12
- selected && styles.rowSelected,
13
- accentColor && styles.rowAccentColor,
14
- className,
15
- ]), style: {
16
- ...assignCssVars({
17
- rowAccentColor: accentColor,
18
- }),
19
- ...style,
20
- }, ...rest }, children)));
21
- Row.displayName = 'Row';
4
+ const Row = styled.tr.withConfig({ displayName: "vui--Row", componentId: "vui--ryxbs1" }) `display:contents;${({ selected }) => selected &&
5
+ `
6
+ &&&& > td {
7
+ background-color: ${theme.colors.brand.blue.lightest};
8
+ }
9
+ `};${({ accentColor }) => accentColor &&
10
+ `
11
+ &> *:first-child {
12
+ position: relative;
13
+ }
14
+
15
+ & > *:first-child::before {
16
+ content: "";
17
+ position: absolute;
18
+ top: 0;
19
+ left: 0;
20
+ bottom: 0;
21
+ width: 4px;
22
+ background-color: ${accentColor};
23
+ }
24
+ `}`;
22
25
 
23
26
  export { Row };
24
27
  //# sourceMappingURL=Row.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Row.js","sources":["../../../../src/components/DataTable/components/Row.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames, assignCssVars } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface RowProps extends React.HTMLAttributes<HTMLTableRowElement> {\n accentColor?: string;\n selected?: boolean;\n expanded?: boolean;\n disabled?: boolean;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const Row = React.forwardRef<HTMLTableRowElement, RowProps>(\n // expanded and disabled are destructured to prevent them leaking to the DOM via ...rest.\n // They are used by parent components for state tracking.\n ({ accentColor, selected, expanded: _expanded, disabled: _disabled, className, children, style, ...rest }, ref) => (\n <tr\n ref={ref}\n className={buildClassnames([\n styles.row,\n selected && styles.rowSelected,\n accentColor && styles.rowAccentColor,\n className,\n ])}\n style={{\n ...assignCssVars({\n rowAccentColor: accentColor,\n }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </tr>\n ),\n);\n\nRow.displayName = 'Row';\n"],"names":["React"],"mappings":";;;;;;AAaO,MAAM,GAAG,GAAGA,cAAK,CAAC,UAAU;AACjC;AACA;AACA,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MAC5GA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,CAAC;AACzB,QAAA,MAAM,CAAC,GAAG;QACV,QAAQ,IAAI,MAAM,CAAC,WAAW;QAC9B,WAAW,IAAI,MAAM,CAAC,cAAc;QACpC,SAAS;KACV,CAAC,EACF,KAAK,EAAE;AACL,QAAA,GAAG,aAAa,CAAC;AACf,YAAA,cAAc,EAAE,WAAW;SAC5B,CAAC;AACF,QAAA,GAAG,KAAK;AACT,KAAA,EAAA,GACG,IAAI,EAAA,EAEP,QAAQ,CACN,CACN;AAGH,GAAG,CAAC,WAAW,GAAG,KAAK;;;;"}
1
+ {"version":3,"file":"Row.js","sources":["../../../../src/components/DataTable/components/Row.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { theme } from '../../../theme';\n\nexport interface RowProps {\n accentColor?: string;\n selected?: boolean;\n expanded?: boolean;\n disabled?: boolean;\n}\n\nexport const Row = styled.tr<RowProps>`\n display: contents;\n\n ${({ selected }) =>\n selected &&\n `\n &&&& > td {\n background-color: ${theme.colors.brand.blue.lightest};\n }\n `};\n\n ${({ accentColor }) =>\n accentColor &&\n `\n &> *:first-child {\n position: relative;\n }\n\n & > *:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor};\n }\n `}\n`;\n"],"names":[],"mappings":";;;AAUO,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,iBAAA,EAGxB,CAAC,EAAE,QAAQ,EAAE,KACb,QAAQ;AACR,IAAA;;AAEsB,wBAAA,EAAA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAA;;AAEvD,EAAA,CAAA,CAAA,CAAA,EAEC,CAAC,EAAE,WAAW,EAAE,KAChB,WAAW;AACX,IAAA;;;;;;;;;;;;0BAYsB,WAAW,CAAA;;AAElC,EAAA,CAAA,CAAA;;;;"}
@@ -1,16 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
- var buildClassnames = require('../../../utils/buildClassnames.cjs');
5
- require('uid/secure');
6
- var DataTable_module = require('./DataTable.module.scss.cjs');
3
+ var styled = require('styled-components');
7
4
 
8
5
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
9
6
 
10
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
7
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
11
8
 
12
- const ScrollContainer = React__default.default.forwardRef(({ className, children, ...rest }, ref) => (React__default.default.createElement("div", { ref: ref, className: buildClassnames.buildClassnames([DataTable_module.scrollContainer, className]), ...rest }, children)));
13
- ScrollContainer.displayName = 'ScrollContainer';
9
+ const ScrollContainer = styled__default.default.div.withConfig({ displayName: "vui--ScrollContainer", componentId: "vui--1bx96p0" }) `position:relative;width:100%;overflow-x:auto;overflow-y:hidden;`;
14
10
 
15
11
  exports.ScrollContainer = ScrollContainer;
16
12
  //# sourceMappingURL=ScrollContainer.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollContainer.cjs","sources":["../../../../src/components/DataTable/components/ScrollContainer.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface ScrollContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const ScrollContainer = React.forwardRef<HTMLDivElement, ScrollContainerProps>(\n ({ className, children, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.scrollContainer, className])} {...rest}>\n {children}\n </div>\n ),\n);\n\nScrollContainer.displayName = 'ScrollContainer';\n"],"names":["React","buildClassnames","styles"],"mappings":";;;;;;;;;;;MASa,eAAe,GAAGA,sBAAK,CAAC,UAAU,CAC7C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACpCA,8CAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAEC,+BAAe,CAAC,CAACC,gBAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,EAAA,GAAM,IAAI,IACrF,QAAQ,CACL,CACP;AAGH,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
1
+ {"version":3,"file":"ScrollContainer.cjs","sources":["../../../../src/components/DataTable/components/ScrollContainer.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const ScrollContainer = styled.div`\n position: relative;\n width: 100%;\n overflow-x: auto;\n overflow-y: hidden;\n`;\n"],"names":["styled"],"mappings":";;;;;;;;MAEa,eAAe,GAAGA,uBAAM,CAAC,GAAG;;;;"}
@@ -1,6 +1 @@
1
- import React from 'react';
2
- export interface ScrollContainerProps extends React.HTMLAttributes<HTMLDivElement> {
3
- children?: React.ReactNode;
4
- className?: string;
5
- }
6
- export declare const ScrollContainer: React.ForwardRefExoticComponent<ScrollContainerProps & React.RefAttributes<HTMLDivElement>>;
1
+ export declare const ScrollContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,10 +1,6 @@
1
- import React__default from 'react';
2
- import { buildClassnames } from '../../../utils/buildClassnames.js';
3
- import 'uid/secure';
4
- import styles from './DataTable.module.scss.js';
1
+ import styled from 'styled-components';
5
2
 
6
- const ScrollContainer = React__default.forwardRef(({ className, children, ...rest }, ref) => (React__default.createElement("div", { ref: ref, className: buildClassnames([styles.scrollContainer, className]), ...rest }, children)));
7
- ScrollContainer.displayName = 'ScrollContainer';
3
+ const ScrollContainer = styled.div.withConfig({ displayName: "vui--ScrollContainer", componentId: "vui--1bx96p0" }) `position:relative;width:100%;overflow-x:auto;overflow-y:hidden;`;
8
4
 
9
5
  export { ScrollContainer };
10
6
  //# sourceMappingURL=ScrollContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollContainer.js","sources":["../../../../src/components/DataTable/components/ScrollContainer.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface ScrollContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const ScrollContainer = React.forwardRef<HTMLDivElement, ScrollContainerProps>(\n ({ className, children, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.scrollContainer, className])} {...rest}>\n {children}\n </div>\n ),\n);\n\nScrollContainer.displayName = 'ScrollContainer';\n"],"names":["React"],"mappings":";;;;;MASa,eAAe,GAAGA,cAAK,CAAC,UAAU,CAC7C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACpCA,sCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,EAAA,GAAM,IAAI,IACrF,QAAQ,CACL,CACP;AAGH,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
1
+ {"version":3,"file":"ScrollContainer.js","sources":["../../../../src/components/DataTable/components/ScrollContainer.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const ScrollContainer = styled.div`\n position: relative;\n width: 100%;\n overflow-x: auto;\n overflow-y: hidden;\n`;\n"],"names":[],"mappings":";;MAEa,eAAe,GAAG,MAAM,CAAC,GAAG;;;;"}
@@ -125,10 +125,18 @@ function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths,
125
125
  boxShadow: shadows.Shadows.base,
126
126
  top: `${stickyHeaderTop}px` || '0px',
127
127
  };
128
- // Generate rules to sync sticky columns with "real" columns
129
- const columnRules = cellWidths.map((width, index) => `th:nth-child(${index + 1}) { width: ${width}px; }`);
128
+ // Generate styles to sync sticky columns with "real" columns
129
+ const columnsCss = cellWidths
130
+ .map((width, index) => `
131
+ & th:nth-child(${index + 1}) {
132
+ width: ${width}px;
133
+ }
134
+ `)
135
+ .join('');
136
+ // Append to generated table styles
137
+ const allCss = tableCss + columnsCss;
130
138
  return (React__default.default.createElement("div", { style: containerStyle, ref: stickyContainerRef },
131
- React__default.default.createElement(TableGrid.TableGrid, { tableCss: tableCss, extraRules: columnRules },
139
+ React__default.default.createElement(TableGrid.TableGrid, { css: allCss },
132
140
  React__default.default.createElement("thead", null, children))));
133
141
  }
134
142
 
@@ -1 +1 @@
1
- {"version":3,"file":"StickyHead.cjs","sources":["../../../../src/components/DataTable/components/StickyHead.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { CSSProperties, ReactNode, RefObject, useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\n\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nimport { TableCssOutput } from '../utils/generateTableCss';\nimport { Shadows } from '../../../theme/modules/shadows';\n\nexport interface StickyHeadProps {\n tableCss: TableCssOutput;\n children?: ReactNode;\n intersectionTargetRef: RefObject<HTMLElement>;\n containerRef: RefObject<HTMLElement>;\n cellWidths: number[];\n stickyHeaderTop?: number;\n}\n\nexport function StickyHead({\n children,\n intersectionTargetRef,\n containerRef,\n cellWidths,\n tableCss,\n stickyHeaderTop = 0,\n}: StickyHeadProps) {\n const stickyContainerRef = useRef<HTMLDivElement>(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n\n const lastLeftValue = useRef<null | number>(null);\n const THROTTE_TIME_MS = 30;\n\n const updateContainerDimensions = () => {\n const targetRect = containerRef.current?.getBoundingClientRect();\n const newRect = {\n left: targetRect?.left || 0,\n width: targetRect?.width || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n\n const updateContainerScrollPosition = () => {\n if (!containerRef.current) return;\n const xScrollOffset = containerRef.current.scrollLeft;\n stickyContainerRef.current?.scrollTo(xScrollOffset, 0);\n };\n\n // Configure intersection observer to toggle sticky header on/off\n\n useEffect(() => {\n if (!intersectionTargetRef.current) return;\n const options = {\n rootMargin: `-${stickyHeaderTop}px 100% 0px 100%`,\n threshold: 1.0,\n };\n const intersectionCallback: IntersectionObserverCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n\n // Calculate sticky header position and size to match table container\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when container element is resized\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const resizeObserverCallback = throttle(updateContainerDimensions, THROTTE_TIME_MS); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when document scrolls\n // will only call updateContainerDimensions on horizontal scroll\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const scrollCallback = throttle(() => {\n const { left } = containerRef.current?.getBoundingClientRect() || {};\n if (left && lastLeftValue.current !== left) {\n updateContainerDimensions();\n lastLeftValue.current = left;\n }\n }, THROTTE_TIME_MS); // Throttle events\n document.addEventListener('scroll', scrollCallback);\n return () => document.removeEventListener('scroll', scrollCallback); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Sync container scrolling\n\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n\n useEffect(() => {\n containerRef.current?.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n containerRef.current?.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n\n // Render sticky header\n\n if (!isVisible) return null;\n\n const containerStyle: CSSProperties = {\n ...containerRect,\n height: headerCellHeight,\n position: 'fixed',\n zIndex: 5,\n overflowX: 'hidden',\n overflowY: 'hidden',\n borderBottom: `1px solid ${theme.colors.neutral.grey.base}`,\n borderTop: `1px solid ${theme.colors.neutral.grey.base}`,\n boxShadow: Shadows.base,\n top: `${stickyHeaderTop}px` || '0px',\n };\n\n // Generate rules to sync sticky columns with \"real\" columns\n const columnRules = cellWidths.map(\n (width, index) => `th:nth-child(${index + 1}) { width: ${width}px; }`,\n );\n\n return (\n <div style={containerStyle} ref={stickyContainerRef}>\n <TableGrid tableCss={tableCss} extraRules={columnRules}>\n <thead>{children}</thead>\n </TableGrid>\n </div>\n );\n}\n"],"names":["useRef","useState","useEffect","throttle","ResizeObserver","headerCellHeight","theme","Shadows","React","TableGrid"],"mappings":"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"}
1
+ {"version":3,"file":"StickyHead.cjs","sources":["../../../../src/components/DataTable/components/StickyHead.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { CSSProperties, ReactNode, RefObject, useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\n\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nimport { Shadows } from '../../../theme/modules/shadows';\n\nexport interface StickyHeadProps {\n tableCss: string;\n children?: ReactNode;\n intersectionTargetRef: RefObject<HTMLElement>;\n containerRef: RefObject<HTMLElement>;\n cellWidths: number[];\n stickyHeaderTop?: number;\n}\n\nexport function StickyHead({\n children,\n intersectionTargetRef,\n containerRef,\n cellWidths,\n tableCss,\n stickyHeaderTop = 0,\n}: StickyHeadProps) {\n const stickyContainerRef = useRef<HTMLDivElement>(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n\n const lastLeftValue = useRef<null | number>(null);\n const THROTTE_TIME_MS = 30;\n\n const updateContainerDimensions = () => {\n const targetRect = containerRef.current?.getBoundingClientRect();\n const newRect = {\n left: targetRect?.left || 0,\n width: targetRect?.width || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n\n const updateContainerScrollPosition = () => {\n if (!containerRef.current) return;\n const xScrollOffset = containerRef.current.scrollLeft;\n stickyContainerRef.current?.scrollTo(xScrollOffset, 0);\n };\n\n // Configure intersection observer to toggle sticky header on/off\n\n useEffect(() => {\n if (!intersectionTargetRef.current) return;\n const options = {\n rootMargin: `-${stickyHeaderTop}px 100% 0px 100%`,\n threshold: 1.0,\n };\n const intersectionCallback: IntersectionObserverCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n\n // Calculate sticky header position and size to match table container\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when container element is resized\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const resizeObserverCallback = throttle(updateContainerDimensions, THROTTE_TIME_MS); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when document scrolls\n // will only call updateContainerDimensions on horizontal scroll\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const scrollCallback = throttle(() => {\n const { left } = containerRef.current?.getBoundingClientRect() || {};\n if (left && lastLeftValue.current !== left) {\n updateContainerDimensions();\n lastLeftValue.current = left;\n }\n }, THROTTE_TIME_MS); // Throttle events\n document.addEventListener('scroll', scrollCallback);\n return () => document.removeEventListener('scroll', scrollCallback); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Sync container scrolling\n\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n\n useEffect(() => {\n containerRef.current?.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n containerRef.current?.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n\n // Render sticky header\n\n if (!isVisible) return null;\n\n const containerStyle: CSSProperties = {\n ...containerRect,\n height: headerCellHeight,\n position: 'fixed',\n zIndex: 5,\n overflowX: 'hidden',\n overflowY: 'hidden',\n borderBottom: `1px solid ${theme.colors.neutral.grey.base}`,\n borderTop: `1px solid ${theme.colors.neutral.grey.base}`,\n boxShadow: Shadows.base,\n top: `${stickyHeaderTop}px` || '0px',\n };\n\n // Generate styles to sync sticky columns with \"real\" columns\n const columnsCss = cellWidths\n .map(\n (width, index) => `\n & th:nth-child(${index + 1}) {\n width: ${width}px;\n }\n `,\n )\n .join('');\n // Append to generated table styles\n const allCss = tableCss + columnsCss;\n\n return (\n <div style={containerStyle} ref={stickyContainerRef}>\n <TableGrid css={allCss}>\n <thead>{children}</thead>\n </TableGrid>\n </div>\n );\n}\n"],"names":["useRef","useState","useEffect","throttle","ResizeObserver","headerCellHeight","theme","Shadows","React","TableGrid"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import React, { ReactNode, RefObject } from 'react';
2
- import { TableCssOutput } from '../utils/generateTableCss';
3
2
  export interface StickyHeadProps {
4
- tableCss: TableCssOutput;
3
+ tableCss: string;
5
4
  children?: ReactNode;
6
5
  intersectionTargetRef: RefObject<HTMLElement>;
7
6
  containerRef: RefObject<HTMLElement>;
@@ -117,10 +117,18 @@ function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths,
117
117
  boxShadow: Shadows.base,
118
118
  top: `${stickyHeaderTop}px` || '0px',
119
119
  };
120
- // Generate rules to sync sticky columns with "real" columns
121
- const columnRules = cellWidths.map((width, index) => `th:nth-child(${index + 1}) { width: ${width}px; }`);
120
+ // Generate styles to sync sticky columns with "real" columns
121
+ const columnsCss = cellWidths
122
+ .map((width, index) => `
123
+ & th:nth-child(${index + 1}) {
124
+ width: ${width}px;
125
+ }
126
+ `)
127
+ .join('');
128
+ // Append to generated table styles
129
+ const allCss = tableCss + columnsCss;
122
130
  return (React__default.createElement("div", { style: containerStyle, ref: stickyContainerRef },
123
- React__default.createElement(TableGrid, { tableCss: tableCss, extraRules: columnRules },
131
+ React__default.createElement(TableGrid, { css: allCss },
124
132
  React__default.createElement("thead", null, children))));
125
133
  }
126
134
 
@@ -1 +1 @@
1
- {"version":3,"file":"StickyHead.js","sources":["../../../../src/components/DataTable/components/StickyHead.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { CSSProperties, ReactNode, RefObject, useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\n\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nimport { TableCssOutput } from '../utils/generateTableCss';\nimport { Shadows } from '../../../theme/modules/shadows';\n\nexport interface StickyHeadProps {\n tableCss: TableCssOutput;\n children?: ReactNode;\n intersectionTargetRef: RefObject<HTMLElement>;\n containerRef: RefObject<HTMLElement>;\n cellWidths: number[];\n stickyHeaderTop?: number;\n}\n\nexport function StickyHead({\n children,\n intersectionTargetRef,\n containerRef,\n cellWidths,\n tableCss,\n stickyHeaderTop = 0,\n}: StickyHeadProps) {\n const stickyContainerRef = useRef<HTMLDivElement>(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n\n const lastLeftValue = useRef<null | number>(null);\n const THROTTE_TIME_MS = 30;\n\n const updateContainerDimensions = () => {\n const targetRect = containerRef.current?.getBoundingClientRect();\n const newRect = {\n left: targetRect?.left || 0,\n width: targetRect?.width || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n\n const updateContainerScrollPosition = () => {\n if (!containerRef.current) return;\n const xScrollOffset = containerRef.current.scrollLeft;\n stickyContainerRef.current?.scrollTo(xScrollOffset, 0);\n };\n\n // Configure intersection observer to toggle sticky header on/off\n\n useEffect(() => {\n if (!intersectionTargetRef.current) return;\n const options = {\n rootMargin: `-${stickyHeaderTop}px 100% 0px 100%`,\n threshold: 1.0,\n };\n const intersectionCallback: IntersectionObserverCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n\n // Calculate sticky header position and size to match table container\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when container element is resized\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const resizeObserverCallback = throttle(updateContainerDimensions, THROTTE_TIME_MS); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when document scrolls\n // will only call updateContainerDimensions on horizontal scroll\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const scrollCallback = throttle(() => {\n const { left } = containerRef.current?.getBoundingClientRect() || {};\n if (left && lastLeftValue.current !== left) {\n updateContainerDimensions();\n lastLeftValue.current = left;\n }\n }, THROTTE_TIME_MS); // Throttle events\n document.addEventListener('scroll', scrollCallback);\n return () => document.removeEventListener('scroll', scrollCallback); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Sync container scrolling\n\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n\n useEffect(() => {\n containerRef.current?.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n containerRef.current?.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n\n // Render sticky header\n\n if (!isVisible) return null;\n\n const containerStyle: CSSProperties = {\n ...containerRect,\n height: headerCellHeight,\n position: 'fixed',\n zIndex: 5,\n overflowX: 'hidden',\n overflowY: 'hidden',\n borderBottom: `1px solid ${theme.colors.neutral.grey.base}`,\n borderTop: `1px solid ${theme.colors.neutral.grey.base}`,\n boxShadow: Shadows.base,\n top: `${stickyHeaderTop}px` || '0px',\n };\n\n // Generate rules to sync sticky columns with \"real\" columns\n const columnRules = cellWidths.map(\n (width, index) => `th:nth-child(${index + 1}) { width: ${width}px; }`,\n );\n\n return (\n <div style={containerStyle} ref={stickyContainerRef}>\n <TableGrid tableCss={tableCss} extraRules={columnRules}>\n <thead>{children}</thead>\n </TableGrid>\n </div>\n );\n}\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"StickyHead.js","sources":["../../../../src/components/DataTable/components/StickyHead.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { CSSProperties, ReactNode, RefObject, useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\n\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nimport { Shadows } from '../../../theme/modules/shadows';\n\nexport interface StickyHeadProps {\n tableCss: string;\n children?: ReactNode;\n intersectionTargetRef: RefObject<HTMLElement>;\n containerRef: RefObject<HTMLElement>;\n cellWidths: number[];\n stickyHeaderTop?: number;\n}\n\nexport function StickyHead({\n children,\n intersectionTargetRef,\n containerRef,\n cellWidths,\n tableCss,\n stickyHeaderTop = 0,\n}: StickyHeadProps) {\n const stickyContainerRef = useRef<HTMLDivElement>(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n\n const lastLeftValue = useRef<null | number>(null);\n const THROTTE_TIME_MS = 30;\n\n const updateContainerDimensions = () => {\n const targetRect = containerRef.current?.getBoundingClientRect();\n const newRect = {\n left: targetRect?.left || 0,\n width: targetRect?.width || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n\n const updateContainerScrollPosition = () => {\n if (!containerRef.current) return;\n const xScrollOffset = containerRef.current.scrollLeft;\n stickyContainerRef.current?.scrollTo(xScrollOffset, 0);\n };\n\n // Configure intersection observer to toggle sticky header on/off\n\n useEffect(() => {\n if (!intersectionTargetRef.current) return;\n const options = {\n rootMargin: `-${stickyHeaderTop}px 100% 0px 100%`,\n threshold: 1.0,\n };\n const intersectionCallback: IntersectionObserverCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n\n // Calculate sticky header position and size to match table container\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when container element is resized\n\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const resizeObserverCallback = throttle(updateContainerDimensions, THROTTE_TIME_MS); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Update dimensions when document scrolls\n // will only call updateContainerDimensions on horizontal scroll\n useEffect(() => {\n if (!isVisible) return;\n if (!containerRef.current) return;\n const scrollCallback = throttle(() => {\n const { left } = containerRef.current?.getBoundingClientRect() || {};\n if (left && lastLeftValue.current !== left) {\n updateContainerDimensions();\n lastLeftValue.current = left;\n }\n }, THROTTE_TIME_MS); // Throttle events\n document.addEventListener('scroll', scrollCallback);\n return () => document.removeEventListener('scroll', scrollCallback); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n\n // Sync container scrolling\n\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n\n useEffect(() => {\n containerRef.current?.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n containerRef.current?.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n\n // Render sticky header\n\n if (!isVisible) return null;\n\n const containerStyle: CSSProperties = {\n ...containerRect,\n height: headerCellHeight,\n position: 'fixed',\n zIndex: 5,\n overflowX: 'hidden',\n overflowY: 'hidden',\n borderBottom: `1px solid ${theme.colors.neutral.grey.base}`,\n borderTop: `1px solid ${theme.colors.neutral.grey.base}`,\n boxShadow: Shadows.base,\n top: `${stickyHeaderTop}px` || '0px',\n };\n\n // Generate styles to sync sticky columns with \"real\" columns\n const columnsCss = cellWidths\n .map(\n (width, index) => `\n & th:nth-child(${index + 1}) {\n width: ${width}px;\n }\n `,\n )\n .join('');\n // Append to generated table styles\n const allCss = tableCss + columnsCss;\n\n return (\n <div style={containerStyle} ref={stickyContainerRef}>\n <TableGrid css={allCss}>\n <thead>{children}</thead>\n </TableGrid>\n </div>\n );\n}\n"],"names":["React"],"mappings":"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"}
@@ -1,58 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
- var buildClassnames = require('../../../utils/buildClassnames.cjs');
5
- require('uid/secure');
6
- var useTableId = require('../hooks/useTableId.cjs');
7
- var DataTable_module = require('./DataTable.module.scss.cjs');
3
+ var styled = require('styled-components');
4
+ var index = require('../../../theme/index.cjs');
8
5
 
9
6
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
10
7
 
11
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
8
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
12
9
 
13
- /**
14
- * Prefixes each selector in a rule with the scope selector.
15
- * Handles comma-separated selector lists (e.g. "th::after, td::after { ... }")
16
- * by scoping every selector, not just the first.
17
- */
18
- function scopeRule(scopeSelector, rule) {
19
- const braceIndex = rule.indexOf('{');
20
- if (braceIndex === -1)
21
- return `${scopeSelector} ${rule}`;
22
- const selectorPart = rule.slice(0, braceIndex).trim();
23
- const bodyPart = rule.slice(braceIndex);
24
- const scopedSelectors = selectorPart
25
- .split(',')
26
- .map((selector) => `${scopeSelector} ${selector.trim()}`)
27
- .join(', ');
28
- return `${scopedSelectors} ${bodyPart}`;
29
- }
30
- /**
31
- * Builds a complete scoped stylesheet from properties and rules.
32
- * No CSS nesting dependency.
33
- */
34
- function buildScopedStyle(scopeSelector, properties, rules) {
35
- const parts = [];
36
- if (properties) {
37
- parts.push(`${scopeSelector} { ${properties} }`);
38
- }
39
- rules.forEach((rule) => {
40
- parts.push(scopeRule(scopeSelector, rule));
41
- });
42
- return parts.join('\n');
43
- }
44
- const TableGrid = React__default.default.forwardRef(({ tableCss, extraRules, className, children, style, ...rest }, ref) => {
45
- const tableId = useTableId.useTableId();
46
- const scopeSelector = `[data-table-id="${tableId}"]`;
47
- const scopedStyle = React.useMemo(() => {
48
- const allRules = extraRules ? [...tableCss.rules, ...extraRules] : tableCss.rules;
49
- return buildScopedStyle(scopeSelector, tableCss.properties, allRules);
50
- }, [tableCss, extraRules, scopeSelector]);
51
- return (React__default.default.createElement(React__default.default.Fragment, null,
52
- scopedStyle && React__default.default.createElement("style", null, scopedStyle),
53
- React__default.default.createElement("table", { ref: ref, "data-table-id": tableId, className: buildClassnames.buildClassnames([DataTable_module.tableGrid, className]), style: style, ...rest }, children)));
54
- });
55
- TableGrid.displayName = 'TableGrid';
10
+ const defaultDensity = 'base';
11
+ const TableGrid = styled__default.default.table.withConfig({ displayName: "vui--TableGrid", componentId: "vui--1fsix8g" }) `min-width:100%;width:max-content;display:grid;& thead,& tbody,& tfoot{display:contents;}--density:${index.theme.sizes[defaultDensity]};&& tr:hover td{background-color:#f2f8fc;}${({ css }) => css}`;
56
12
 
57
13
  exports.TableGrid = TableGrid;
58
14
  //# sourceMappingURL=TableGrid.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableGrid.cjs","sources":["../../../../src/components/DataTable/components/TableGrid.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { buildClassnames } from '../../../utils';\nimport { useTableId } from '../hooks/useTableId';\nimport { TableCssOutput } from '../utils/generateTableCss';\nimport styles from './DataTable.module.scss';\n\nexport interface TableGridProps extends React.TableHTMLAttributes<HTMLTableElement> {\n /** Structured CSS output from generateTableCss */\n tableCss: TableCssOutput;\n /** Additional CSS rules to scope to this table (e.g. StickyHead column widths) */\n extraRules?: string[];\n children?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Prefixes each selector in a rule with the scope selector.\n * Handles comma-separated selector lists (e.g. \"th::after, td::after { ... }\")\n * by scoping every selector, not just the first.\n */\nfunction scopeRule(scopeSelector: string, rule: string): string {\n const braceIndex = rule.indexOf('{');\n if (braceIndex === -1) return `${scopeSelector} ${rule}`;\n\n const selectorPart = rule.slice(0, braceIndex).trim();\n const bodyPart = rule.slice(braceIndex);\n\n const scopedSelectors = selectorPart\n .split(',')\n .map((selector) => `${scopeSelector} ${selector.trim()}`)\n .join(', ');\n\n return `${scopedSelectors} ${bodyPart}`;\n}\n\n/**\n * Builds a complete scoped stylesheet from properties and rules.\n * No CSS nesting dependency.\n */\nfunction buildScopedStyle(scopeSelector: string, properties: string, rules: string[]): string {\n const parts: string[] = [];\n\n if (properties) {\n parts.push(`${scopeSelector} { ${properties} }`);\n }\n\n rules.forEach((rule) => {\n parts.push(scopeRule(scopeSelector, rule));\n });\n\n return parts.join('\\n');\n}\n\nexport const TableGrid = React.forwardRef<HTMLTableElement, TableGridProps>(\n ({ tableCss, extraRules, className, children, style, ...rest }, ref) => {\n const tableId = useTableId();\n const scopeSelector = `[data-table-id=\"${tableId}\"]`;\n\n const scopedStyle = useMemo(() => {\n const allRules = extraRules ? [...tableCss.rules, ...extraRules] : tableCss.rules;\n return buildScopedStyle(scopeSelector, tableCss.properties, allRules);\n }, [tableCss, extraRules, scopeSelector]);\n\n return (\n <>\n {scopedStyle && <style>{scopedStyle}</style>}\n <table\n ref={ref}\n data-table-id={tableId}\n className={buildClassnames([styles.tableGrid, className])}\n style={style}\n {...rest}\n >\n {children}\n </table>\n </>\n );\n },\n);\n\nTableGrid.displayName = 'TableGrid';\n"],"names":["React","useTableId","useMemo","buildClassnames","styles"],"mappings":";;;;;;;;;;;;AAeA;;;;AAIG;AACH,SAAS,SAAS,CAAC,aAAqB,EAAE,IAAY,EAAA;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IACpC,IAAI,UAAU,KAAK,EAAE;AAAE,QAAA,OAAO,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,IAAI,EAAE;AAExD,IAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAEvC,MAAM,eAAe,GAAG;SACrB,KAAK,CAAC,GAAG;AACT,SAAA,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,QAAQ,CAAC,IAAI,EAAE,EAAE;SACvD,IAAI,CAAC,IAAI,CAAC;AAEb,IAAA,OAAO,CAAA,EAAG,eAAe,CAAA,CAAA,EAAI,QAAQ,EAAE;AACzC;AAEA;;;AAGG;AACH,SAAS,gBAAgB,CAAC,aAAqB,EAAE,UAAkB,EAAE,KAAe,EAAA;IAClF,MAAM,KAAK,GAAa,EAAE;AAE1B,IAAA,IAAI,UAAU,EAAE;QACd,KAAK,CAAC,IAAI,CAAC,CAAA,EAAG,aAAa,CAAA,GAAA,EAAM,UAAU,CAAA,EAAA,CAAI,CAAC;AACjD,IAAA;AAED,IAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;QACrB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAC5C,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACzB;AAEO,MAAM,SAAS,GAAGA,sBAAK,CAAC,UAAU,CACvC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,KAAI;AACrE,IAAA,MAAM,OAAO,GAAGC,qBAAU,EAAE;AAC5B,IAAA,MAAM,aAAa,GAAG,CAAA,gBAAA,EAAmB,OAAO,IAAI;AAEpD,IAAA,MAAM,WAAW,GAAGC,aAAO,CAAC,MAAK;QAC/B,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK;QACjF,OAAO,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IACvE,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAEzC,IAAA,QACEF,sBAAA,CAAA,aAAA,CAAAA,sBAAA,CAAA,QAAA,EAAA,IAAA;QACG,WAAW,IAAIA,sBAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQ,WAAW,CAAS;AAC5C,QAAAA,sBAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EACE,GAAG,EAAE,GAAG,EAAA,eAAA,EACO,OAAO,EACtB,SAAS,EAAEG,+BAAe,CAAC,CAACC,gBAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EACzD,KAAK,EAAE,KAAK,EAAA,GACR,IAAI,EAAA,EAEP,QAAQ,CACH,CACP;AAEP,CAAC;AAGH,SAAS,CAAC,WAAW,GAAG,WAAW;;;;"}
1
+ {"version":3,"file":"TableGrid.cjs","sources":["../../../../src/components/DataTable/components/TableGrid.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { theme } from '../../../theme';\n\nconst defaultDensity = 'base';\n\nexport interface TableGridProps {\n css: string;\n}\n\nexport const TableGrid = styled.table<TableGridProps>`\n min-width: 100%;\n width: max-content; /* Fixes sticky element bug in Firefox - https://bugzilla.mozilla.org/show_bug.cgi?id=1585254#c3 */\n display: grid;\n\n & thead,\n & tbody,\n & tfoot {\n display: contents;\n }\n\n --density: ${theme.sizes[defaultDensity]};\n\n && tr:hover td {\n background-color: #f2f8fc;\n }\n\n ${({ css }) => css}/* CSS styles generate by hooks */\n`;\n"],"names":["styled","theme"],"mappings":";;;;;;;;;AAGA,MAAM,cAAc,GAAG,MAAM;AAMtB,MAAM,SAAS,GAAGA,uBAAM,CAAC,KAAK,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA,kGAAA,EAWtBC,WAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA,0CAAA,EAMtC,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;;;;"}
@@ -1,11 +1,4 @@
1
- import React from 'react';
2
- import { TableCssOutput } from '../utils/generateTableCss';
3
- export interface TableGridProps extends React.TableHTMLAttributes<HTMLTableElement> {
4
- /** Structured CSS output from generateTableCss */
5
- tableCss: TableCssOutput;
6
- /** Additional CSS rules to scope to this table (e.g. StickyHead column widths) */
7
- extraRules?: string[];
8
- children?: React.ReactNode;
9
- className?: string;
1
+ export interface TableGridProps {
2
+ css: string;
10
3
  }
11
- export declare const TableGrid: React.ForwardRefExoticComponent<TableGridProps & React.RefAttributes<HTMLTableElement>>;
4
+ export declare const TableGrid: import("styled-components").StyledComponent<"table", any, TableGridProps, never>;
@@ -1,52 +1,8 @@
1
- import React__default, { useMemo } from 'react';
2
- import { buildClassnames } from '../../../utils/buildClassnames.js';
3
- import 'uid/secure';
4
- import { useTableId } from '../hooks/useTableId.js';
5
- import styles from './DataTable.module.scss.js';
1
+ import styled from 'styled-components';
2
+ import { theme } from '../../../theme/index.js';
6
3
 
7
- /**
8
- * Prefixes each selector in a rule with the scope selector.
9
- * Handles comma-separated selector lists (e.g. "th::after, td::after { ... }")
10
- * by scoping every selector, not just the first.
11
- */
12
- function scopeRule(scopeSelector, rule) {
13
- const braceIndex = rule.indexOf('{');
14
- if (braceIndex === -1)
15
- return `${scopeSelector} ${rule}`;
16
- const selectorPart = rule.slice(0, braceIndex).trim();
17
- const bodyPart = rule.slice(braceIndex);
18
- const scopedSelectors = selectorPart
19
- .split(',')
20
- .map((selector) => `${scopeSelector} ${selector.trim()}`)
21
- .join(', ');
22
- return `${scopedSelectors} ${bodyPart}`;
23
- }
24
- /**
25
- * Builds a complete scoped stylesheet from properties and rules.
26
- * No CSS nesting dependency.
27
- */
28
- function buildScopedStyle(scopeSelector, properties, rules) {
29
- const parts = [];
30
- if (properties) {
31
- parts.push(`${scopeSelector} { ${properties} }`);
32
- }
33
- rules.forEach((rule) => {
34
- parts.push(scopeRule(scopeSelector, rule));
35
- });
36
- return parts.join('\n');
37
- }
38
- const TableGrid = React__default.forwardRef(({ tableCss, extraRules, className, children, style, ...rest }, ref) => {
39
- const tableId = useTableId();
40
- const scopeSelector = `[data-table-id="${tableId}"]`;
41
- const scopedStyle = useMemo(() => {
42
- const allRules = extraRules ? [...tableCss.rules, ...extraRules] : tableCss.rules;
43
- return buildScopedStyle(scopeSelector, tableCss.properties, allRules);
44
- }, [tableCss, extraRules, scopeSelector]);
45
- return (React__default.createElement(React__default.Fragment, null,
46
- scopedStyle && React__default.createElement("style", null, scopedStyle),
47
- React__default.createElement("table", { ref: ref, "data-table-id": tableId, className: buildClassnames([styles.tableGrid, className]), style: style, ...rest }, children)));
48
- });
49
- TableGrid.displayName = 'TableGrid';
4
+ const defaultDensity = 'base';
5
+ const TableGrid = styled.table.withConfig({ displayName: "vui--TableGrid", componentId: "vui--1fsix8g" }) `min-width:100%;width:max-content;display:grid;& thead,& tbody,& tfoot{display:contents;}--density:${theme.sizes[defaultDensity]};&& tr:hover td{background-color:#f2f8fc;}${({ css }) => css}`;
50
6
 
51
7
  export { TableGrid };
52
8
  //# sourceMappingURL=TableGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableGrid.js","sources":["../../../../src/components/DataTable/components/TableGrid.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { buildClassnames } from '../../../utils';\nimport { useTableId } from '../hooks/useTableId';\nimport { TableCssOutput } from '../utils/generateTableCss';\nimport styles from './DataTable.module.scss';\n\nexport interface TableGridProps extends React.TableHTMLAttributes<HTMLTableElement> {\n /** Structured CSS output from generateTableCss */\n tableCss: TableCssOutput;\n /** Additional CSS rules to scope to this table (e.g. StickyHead column widths) */\n extraRules?: string[];\n children?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Prefixes each selector in a rule with the scope selector.\n * Handles comma-separated selector lists (e.g. \"th::after, td::after { ... }\")\n * by scoping every selector, not just the first.\n */\nfunction scopeRule(scopeSelector: string, rule: string): string {\n const braceIndex = rule.indexOf('{');\n if (braceIndex === -1) return `${scopeSelector} ${rule}`;\n\n const selectorPart = rule.slice(0, braceIndex).trim();\n const bodyPart = rule.slice(braceIndex);\n\n const scopedSelectors = selectorPart\n .split(',')\n .map((selector) => `${scopeSelector} ${selector.trim()}`)\n .join(', ');\n\n return `${scopedSelectors} ${bodyPart}`;\n}\n\n/**\n * Builds a complete scoped stylesheet from properties and rules.\n * No CSS nesting dependency.\n */\nfunction buildScopedStyle(scopeSelector: string, properties: string, rules: string[]): string {\n const parts: string[] = [];\n\n if (properties) {\n parts.push(`${scopeSelector} { ${properties} }`);\n }\n\n rules.forEach((rule) => {\n parts.push(scopeRule(scopeSelector, rule));\n });\n\n return parts.join('\\n');\n}\n\nexport const TableGrid = React.forwardRef<HTMLTableElement, TableGridProps>(\n ({ tableCss, extraRules, className, children, style, ...rest }, ref) => {\n const tableId = useTableId();\n const scopeSelector = `[data-table-id=\"${tableId}\"]`;\n\n const scopedStyle = useMemo(() => {\n const allRules = extraRules ? [...tableCss.rules, ...extraRules] : tableCss.rules;\n return buildScopedStyle(scopeSelector, tableCss.properties, allRules);\n }, [tableCss, extraRules, scopeSelector]);\n\n return (\n <>\n {scopedStyle && <style>{scopedStyle}</style>}\n <table\n ref={ref}\n data-table-id={tableId}\n className={buildClassnames([styles.tableGrid, className])}\n style={style}\n {...rest}\n >\n {children}\n </table>\n </>\n );\n },\n);\n\nTableGrid.displayName = 'TableGrid';\n"],"names":["React"],"mappings":";;;;;;AAeA;;;;AAIG;AACH,SAAS,SAAS,CAAC,aAAqB,EAAE,IAAY,EAAA;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IACpC,IAAI,UAAU,KAAK,EAAE;AAAE,QAAA,OAAO,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,IAAI,EAAE;AAExD,IAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAEvC,MAAM,eAAe,GAAG;SACrB,KAAK,CAAC,GAAG;AACT,SAAA,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,QAAQ,CAAC,IAAI,EAAE,EAAE;SACvD,IAAI,CAAC,IAAI,CAAC;AAEb,IAAA,OAAO,CAAA,EAAG,eAAe,CAAA,CAAA,EAAI,QAAQ,EAAE;AACzC;AAEA;;;AAGG;AACH,SAAS,gBAAgB,CAAC,aAAqB,EAAE,UAAkB,EAAE,KAAe,EAAA;IAClF,MAAM,KAAK,GAAa,EAAE;AAE1B,IAAA,IAAI,UAAU,EAAE;QACd,KAAK,CAAC,IAAI,CAAC,CAAA,EAAG,aAAa,CAAA,GAAA,EAAM,UAAU,CAAA,EAAA,CAAI,CAAC;AACjD,IAAA;AAED,IAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;QACrB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAC5C,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACzB;AAEO,MAAM,SAAS,GAAGA,cAAK,CAAC,UAAU,CACvC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,KAAI;AACrE,IAAA,MAAM,OAAO,GAAG,UAAU,EAAE;AAC5B,IAAA,MAAM,aAAa,GAAG,CAAA,gBAAA,EAAmB,OAAO,IAAI;AAEpD,IAAA,MAAM,WAAW,GAAG,OAAO,CAAC,MAAK;QAC/B,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK;QACjF,OAAO,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IACvE,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAEzC,IAAA,QACEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA;QACG,WAAW,IAAIA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQ,WAAW,CAAS;AAC5C,QAAAA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EACE,GAAG,EAAE,GAAG,EAAA,eAAA,EACO,OAAO,EACtB,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EACzD,KAAK,EAAE,KAAK,EAAA,GACR,IAAI,EAAA,EAEP,QAAQ,CACH,CACP;AAEP,CAAC;AAGH,SAAS,CAAC,WAAW,GAAG,WAAW;;;;"}
1
+ {"version":3,"file":"TableGrid.js","sources":["../../../../src/components/DataTable/components/TableGrid.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { theme } from '../../../theme';\n\nconst defaultDensity = 'base';\n\nexport interface TableGridProps {\n css: string;\n}\n\nexport const TableGrid = styled.table<TableGridProps>`\n min-width: 100%;\n width: max-content; /* Fixes sticky element bug in Firefox - https://bugzilla.mozilla.org/show_bug.cgi?id=1585254#c3 */\n display: grid;\n\n & thead,\n & tbody,\n & tfoot {\n display: contents;\n }\n\n --density: ${theme.sizes[defaultDensity]};\n\n && tr:hover td {\n background-color: #f2f8fc;\n }\n\n ${({ css }) => css}/* CSS styles generate by hooks */\n`;\n"],"names":[],"mappings":";;;AAGA,MAAM,cAAc,GAAG,MAAM;AAMtB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA,kGAAA,EAWtB,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA,0CAAA,EAMtC,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;;;;"}
@@ -1,16 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
- var buildClassnames = require('../../../utils/buildClassnames.cjs');
5
- require('uid/secure');
6
- var DataTable_module = require('./DataTable.module.scss.cjs');
3
+ var styled = require('styled-components');
7
4
 
8
5
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
9
6
 
10
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
7
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
11
8
 
12
- const Truncate = React__default.default.forwardRef(({ className, children, ...rest }, ref) => (React__default.default.createElement("div", { ref: ref, className: buildClassnames.buildClassnames([DataTable_module.truncate, className]), ...rest }, children)));
13
- Truncate.displayName = 'Truncate';
9
+ const Truncate = styled__default.default.div.withConfig({ displayName: "vui--Truncate", componentId: "vui--14fzkum" }) `overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;
14
10
 
15
11
  exports.Truncate = Truncate;
16
12
  //# sourceMappingURL=Truncate.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Truncate.cjs","sources":["../../../../src/components/DataTable/components/Truncate.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface TruncateProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const Truncate = React.forwardRef<HTMLDivElement, TruncateProps>(\n ({ className, children, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.truncate, className])} {...rest}>\n {children}\n </div>\n ),\n);\n\nTruncate.displayName = 'Truncate';\n"],"names":["React","buildClassnames","styles"],"mappings":";;;;;;;;;;;MASa,QAAQ,GAAGA,sBAAK,CAAC,UAAU,CACtC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACpCA,8CAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAEC,+BAAe,CAAC,CAACC,gBAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAA,GAAM,IAAI,IAC9E,QAAQ,CACL,CACP;AAGH,QAAQ,CAAC,WAAW,GAAG,UAAU;;;;"}
1
+ {"version":3,"file":"Truncate.cjs","sources":["../../../../src/components/DataTable/components/Truncate.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const Truncate = styled.div`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n"],"names":["styled"],"mappings":";;;;;;;;MAEa,QAAQ,GAAGA,uBAAM,CAAC,GAAG;;;;"}
@@ -1,6 +1 @@
1
- import React from 'react';
2
- export interface TruncateProps extends React.HTMLAttributes<HTMLDivElement> {
3
- children?: React.ReactNode;
4
- className?: string;
5
- }
6
- export declare const Truncate: React.ForwardRefExoticComponent<TruncateProps & React.RefAttributes<HTMLDivElement>>;
1
+ export declare const Truncate: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,10 +1,6 @@
1
- import React__default from 'react';
2
- import { buildClassnames } from '../../../utils/buildClassnames.js';
3
- import 'uid/secure';
4
- import styles from './DataTable.module.scss.js';
1
+ import styled from 'styled-components';
5
2
 
6
- const Truncate = React__default.forwardRef(({ className, children, ...rest }, ref) => (React__default.createElement("div", { ref: ref, className: buildClassnames([styles.truncate, className]), ...rest }, children)));
7
- Truncate.displayName = 'Truncate';
3
+ const Truncate = styled.div.withConfig({ displayName: "vui--Truncate", componentId: "vui--14fzkum" }) `overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;
8
4
 
9
5
  export { Truncate };
10
6
  //# sourceMappingURL=Truncate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Truncate.js","sources":["../../../../src/components/DataTable/components/Truncate.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../../utils';\nimport styles from './DataTable.module.scss';\n\nexport interface TruncateProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport const Truncate = React.forwardRef<HTMLDivElement, TruncateProps>(\n ({ className, children, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.truncate, className])} {...rest}>\n {children}\n </div>\n ),\n);\n\nTruncate.displayName = 'Truncate';\n"],"names":["React"],"mappings":";;;;;MASa,QAAQ,GAAGA,cAAK,CAAC,UAAU,CACtC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACpCA,sCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAA,GAAM,IAAI,IAC9E,QAAQ,CACL,CACP;AAGH,QAAQ,CAAC,WAAW,GAAG,UAAU;;;;"}
1
+ {"version":3,"file":"Truncate.js","sources":["../../../../src/components/DataTable/components/Truncate.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const Truncate = styled.div`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n"],"names":[],"mappings":";;MAEa,QAAQ,GAAG,MAAM,CAAC,GAAG;;;;"}
@@ -1,21 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
- var buildClassnames = require('../../../utils/buildClassnames.cjs');
5
- require('uid/secure');
6
- var DataTable_module = require('./DataTable.module.scss.cjs');
3
+ var styled = require('styled-components');
4
+ var index = require('../../../theme/index.cjs');
7
5
 
8
6
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
9
7
 
10
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
8
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
11
9
 
12
- const borderModeClassMap = {
13
- full: DataTable_module.borderFull,
14
- vertical: DataTable_module.borderVertical,
15
- none: DataTable_module.borderNone,
10
+ const borderModeStyles = {
11
+ full: `border-width: 1px; border-radius: ${index.theme.radius.base};`,
12
+ vertical: 'border-width: 0; border-top-width: 1px; border-bottom-width: 1px;',
13
+ none: 'border-width: 0;',
16
14
  };
17
- const Wrapper = React__default.default.forwardRef(({ borderMode = 'full', className, children, ...rest }, ref) => (React__default.default.createElement("div", { ref: ref, className: buildClassnames.buildClassnames([DataTable_module.wrapper, borderModeClassMap[borderMode], className]), ...rest }, children)));
18
- Wrapper.displayName = 'Wrapper';
15
+ const Wrapper = styled__default.default.div.withConfig({ displayName: "vui--Wrapper", componentId: "vui--5gfhdd" }) `width:100%;position:relative;border-style:solid;border-color:${index.theme.colors.neutral.grey.dark};${({ borderMode = 'full' }) => borderModeStyles[borderMode]} &,& *{box-sizing:border-box;}.hideHeaderDetails th{> *{opacity:0.1;}.th-divider{opacity:1;}}`;
19
16
 
20
17
  exports.Wrapper = Wrapper;
21
18
  //# sourceMappingURL=Wrapper.cjs.map