@veeqo/ui 14.9.1 → 14.10.0-beta-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.cjs +2 -2
  2. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.cjs.map +1 -1
  3. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/DodecadeCalendar.js +1 -1
  4. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.cjs +2 -2
  5. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.cjs.map +1 -1
  6. package/dist/components/Calendars/components/subcomponents/CalendarGrid/subCalendars/YearCalendar.js +1 -1
  7. package/dist/components/DataTable/DataTable.cjs +3 -3
  8. package/dist/components/DataTable/DataTable.cjs.map +1 -1
  9. package/dist/components/DataTable/DataTable.d.ts +4 -4
  10. package/dist/components/DataTable/DataTable.js +3 -3
  11. package/dist/components/DataTable/DataTable.js.map +1 -1
  12. package/dist/components/DataTable/components/ActionBar.cjs +3 -8
  13. package/dist/components/DataTable/components/ActionBar.cjs.map +1 -1
  14. package/dist/components/DataTable/components/ActionBar.js +3 -7
  15. package/dist/components/DataTable/components/ActionBar.js.map +1 -1
  16. package/dist/components/DataTable/components/Cell.cjs +15 -4
  17. package/dist/components/DataTable/components/Cell.cjs.map +1 -1
  18. package/dist/components/DataTable/components/Cell.d.ts +6 -2
  19. package/dist/components/DataTable/components/Cell.js +15 -4
  20. package/dist/components/DataTable/components/Cell.js.map +1 -1
  21. package/dist/components/DataTable/components/ColumnDivider.cjs +4 -6
  22. package/dist/components/DataTable/components/ColumnDivider.cjs.map +1 -1
  23. package/dist/components/DataTable/components/ColumnDivider.d.ts +0 -1
  24. package/dist/components/DataTable/components/ColumnDivider.js +5 -5
  25. package/dist/components/DataTable/components/ColumnDivider.js.map +1 -1
  26. package/dist/components/DataTable/components/ColumnHeader.cjs +8 -9
  27. package/dist/components/DataTable/components/ColumnHeader.cjs.map +1 -1
  28. package/dist/components/DataTable/components/ColumnHeader.d.ts +16 -6
  29. package/dist/components/DataTable/components/ColumnHeader.js +7 -8
  30. package/dist/components/DataTable/components/ColumnHeader.js.map +1 -1
  31. package/dist/components/DataTable/components/DataTable.module.scss.cjs +9 -0
  32. package/dist/components/DataTable/components/DataTable.module.scss.cjs.map +1 -0
  33. package/dist/components/DataTable/components/DataTable.module.scss.js +7 -0
  34. package/dist/components/DataTable/components/DataTable.module.scss.js.map +1 -0
  35. package/dist/components/DataTable/components/EmptyBodyContent.cjs +13 -5
  36. package/dist/components/DataTable/components/EmptyBodyContent.cjs.map +1 -1
  37. package/dist/components/DataTable/components/EmptyBodyContent.d.ts +10 -3
  38. package/dist/components/DataTable/components/EmptyBodyContent.js +12 -4
  39. package/dist/components/DataTable/components/EmptyBodyContent.js.map +1 -1
  40. package/dist/components/DataTable/components/Header.cjs +16 -4
  41. package/dist/components/DataTable/components/Header.cjs.map +1 -1
  42. package/dist/components/DataTable/components/Header.d.ts +2 -1
  43. package/dist/components/DataTable/components/Header.js +16 -4
  44. package/dist/components/DataTable/components/Header.js.map +1 -1
  45. package/dist/components/DataTable/components/LoadingCellContent.cjs +7 -7
  46. package/dist/components/DataTable/components/LoadingCellContent.cjs.map +1 -1
  47. package/dist/components/DataTable/components/LoadingCellContent.d.ts +5 -1
  48. package/dist/components/DataTable/components/LoadingCellContent.js +6 -6
  49. package/dist/components/DataTable/components/LoadingCellContent.js.map +1 -1
  50. package/dist/components/DataTable/components/NoWrap.cjs +7 -3
  51. package/dist/components/DataTable/components/NoWrap.cjs.map +1 -1
  52. package/dist/components/DataTable/components/NoWrap.d.ts +6 -1
  53. package/dist/components/DataTable/components/NoWrap.js +6 -2
  54. package/dist/components/DataTable/components/NoWrap.js.map +1 -1
  55. package/dist/components/DataTable/components/Row.cjs +21 -24
  56. package/dist/components/DataTable/components/Row.cjs.map +1 -1
  57. package/dist/components/DataTable/components/Row.d.ts +5 -2
  58. package/dist/components/DataTable/components/Row.js +20 -23
  59. package/dist/components/DataTable/components/Row.js.map +1 -1
  60. package/dist/components/DataTable/components/ScrollContainer.cjs +7 -3
  61. package/dist/components/DataTable/components/ScrollContainer.cjs.map +1 -1
  62. package/dist/components/DataTable/components/ScrollContainer.d.ts +6 -1
  63. package/dist/components/DataTable/components/ScrollContainer.js +6 -2
  64. package/dist/components/DataTable/components/ScrollContainer.js.map +1 -1
  65. package/dist/components/DataTable/components/StickyHead.cjs +3 -11
  66. package/dist/components/DataTable/components/StickyHead.cjs.map +1 -1
  67. package/dist/components/DataTable/components/StickyHead.d.ts +2 -1
  68. package/dist/components/DataTable/components/StickyHead.js +3 -11
  69. package/dist/components/DataTable/components/StickyHead.js.map +1 -1
  70. package/dist/components/DataTable/components/TableGrid.cjs +49 -5
  71. package/dist/components/DataTable/components/TableGrid.cjs.map +1 -1
  72. package/dist/components/DataTable/components/TableGrid.d.ts +10 -3
  73. package/dist/components/DataTable/components/TableGrid.js +48 -4
  74. package/dist/components/DataTable/components/TableGrid.js.map +1 -1
  75. package/dist/components/DataTable/components/Truncate.cjs +7 -3
  76. package/dist/components/DataTable/components/Truncate.cjs.map +1 -1
  77. package/dist/components/DataTable/components/Truncate.d.ts +6 -1
  78. package/dist/components/DataTable/components/Truncate.js +6 -2
  79. package/dist/components/DataTable/components/Truncate.js.map +1 -1
  80. package/dist/components/DataTable/components/Wrapper.cjs +11 -8
  81. package/dist/components/DataTable/components/Wrapper.cjs.map +1 -1
  82. package/dist/components/DataTable/components/Wrapper.d.ts +5 -2
  83. package/dist/components/DataTable/components/Wrapper.js +10 -7
  84. package/dist/components/DataTable/components/Wrapper.js.map +1 -1
  85. package/dist/components/DataTable/constants.cjs +0 -2
  86. package/dist/components/DataTable/constants.cjs.map +1 -1
  87. package/dist/components/DataTable/constants.js +1 -2
  88. package/dist/components/DataTable/constants.js.map +1 -1
  89. package/dist/components/DataTable/hooks/useTableId.cjs +23 -0
  90. package/dist/components/DataTable/hooks/useTableId.cjs.map +1 -0
  91. package/dist/components/DataTable/hooks/useTableId.d.ts +13 -0
  92. package/dist/components/DataTable/hooks/useTableId.js +21 -0
  93. package/dist/components/DataTable/hooks/useTableId.js.map +1 -0
  94. package/dist/components/DataTable/utils/generateTableCss.cjs +44 -80
  95. package/dist/components/DataTable/utils/generateTableCss.cjs.map +1 -1
  96. package/dist/components/DataTable/utils/generateTableCss.d.ts +7 -1
  97. package/dist/components/DataTable/utils/generateTableCss.js +44 -80
  98. package/dist/components/DataTable/utils/generateTableCss.js.map +1 -1
  99. package/dist/components/DateInputField/DateInputField.cjs +1 -1
  100. package/dist/components/DateInputField/DateInputField.js +1 -1
  101. package/dist/components/DatePicker/DatePicker.cjs +1 -1
  102. package/dist/components/DatePicker/DatePicker.js +1 -1
  103. package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -1
  104. package/dist/components/DateRangePicker/DateRangePicker.js +1 -1
  105. package/dist/components/Grid/Grid.cjs +24 -0
  106. package/dist/components/Grid/Grid.cjs.map +1 -0
  107. package/dist/components/Grid/Grid.d.ts +3 -0
  108. package/dist/components/Grid/Grid.js +18 -0
  109. package/dist/components/Grid/Grid.js.map +1 -0
  110. package/dist/components/Grid/Grid.module.scss.cjs +9 -0
  111. package/dist/components/Grid/Grid.module.scss.cjs.map +1 -0
  112. package/dist/components/Grid/Grid.module.scss.js +7 -0
  113. package/dist/components/Grid/Grid.module.scss.js.map +1 -0
  114. package/dist/components/Grid/index.d.ts +2 -3
  115. package/dist/components/LegacyDataTable/LegacyDataTable.d.ts +1 -1
  116. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.cjs +9 -0
  117. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.cjs.map +1 -0
  118. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.js +7 -0
  119. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.js.map +1 -0
  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 +8 -7
  123. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.js.map +1 -1
  124. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.cjs +9 -0
  125. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.cjs.map +1 -0
  126. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.js +7 -0
  127. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.js.map +1 -0
  128. package/dist/components/LegacyDataTable/SpecificState/SpecificState.cjs +8 -5
  129. package/dist/components/LegacyDataTable/SpecificState/SpecificState.cjs.map +1 -1
  130. package/dist/components/LegacyDataTable/SpecificState/SpecificState.js +8 -5
  131. package/dist/components/LegacyDataTable/SpecificState/SpecificState.js.map +1 -1
  132. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.cjs +9 -0
  133. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.cjs.map +1 -0
  134. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.js +7 -0
  135. package/dist/components/LegacyDataTable/SpecificState/SpecificState.module.scss.js.map +1 -0
  136. package/dist/components/LegacyDataTable/StickyHeader.cjs.map +1 -1
  137. package/dist/components/LegacyDataTable/StickyHeader.js.map +1 -1
  138. package/dist/components/LegacyDataTable/cells/ClickableCell.cjs +6 -8
  139. package/dist/components/LegacyDataTable/cells/ClickableCell.cjs.map +1 -1
  140. package/dist/components/LegacyDataTable/cells/ClickableCell.d.ts +1 -1
  141. package/dist/components/LegacyDataTable/cells/ClickableCell.js +4 -5
  142. package/dist/components/LegacyDataTable/cells/ClickableCell.js.map +1 -1
  143. package/dist/components/LegacyDataTable/cells/EditableCell.cjs +5 -8
  144. package/dist/components/LegacyDataTable/cells/EditableCell.cjs.map +1 -1
  145. package/dist/components/LegacyDataTable/cells/EditableCell.d.ts +1 -1
  146. package/dist/components/LegacyDataTable/cells/EditableCell.js +3 -5
  147. package/dist/components/LegacyDataTable/cells/EditableCell.js.map +1 -1
  148. package/dist/components/LegacyDataTable/cells/cells.module.scss.cjs +9 -0
  149. package/dist/components/LegacyDataTable/cells/cells.module.scss.cjs.map +1 -0
  150. package/dist/components/LegacyDataTable/cells/cells.module.scss.js +7 -0
  151. package/dist/components/LegacyDataTable/cells/cells.module.scss.js.map +1 -0
  152. package/dist/components/LegacyDataTable/styled.cjs +121 -104
  153. package/dist/components/LegacyDataTable/styled.cjs.map +1 -1
  154. package/dist/components/LegacyDataTable/styled.d.ts +40 -28
  155. package/dist/components/LegacyDataTable/styled.js +120 -103
  156. package/dist/components/LegacyDataTable/styled.js.map +1 -1
  157. package/dist/components/Search/Search.cjs +16 -10
  158. package/dist/components/Search/Search.cjs.map +1 -1
  159. package/dist/components/Search/Search.d.ts +1 -1
  160. package/dist/components/Search/Search.js +16 -10
  161. package/dist/components/Search/Search.js.map +1 -1
  162. package/dist/components/Search/Search.module.scss.cjs +9 -0
  163. package/dist/components/Search/Search.module.scss.cjs.map +1 -0
  164. package/dist/components/Search/Search.module.scss.js +7 -0
  165. package/dist/components/Search/Search.module.scss.js.map +1 -0
  166. package/dist/components/Stepper/Stepper.cjs +15 -8
  167. package/dist/components/Stepper/Stepper.cjs.map +1 -1
  168. package/dist/components/Stepper/Stepper.d.ts +1 -8
  169. package/dist/components/Stepper/Stepper.js +15 -8
  170. package/dist/components/Stepper/Stepper.js.map +1 -1
  171. package/dist/components/Stepper/Stepper.module.scss.cjs +9 -0
  172. package/dist/components/Stepper/Stepper.module.scss.cjs.map +1 -0
  173. package/dist/components/Stepper/Stepper.module.scss.js +7 -0
  174. package/dist/components/Stepper/Stepper.module.scss.js.map +1 -0
  175. package/dist/components/Stepper/types.d.ts +8 -0
  176. package/dist/components/Toggle/Toggle.cjs +11 -5
  177. package/dist/components/Toggle/Toggle.cjs.map +1 -1
  178. package/dist/components/Toggle/Toggle.js +11 -5
  179. package/dist/components/Toggle/Toggle.js.map +1 -1
  180. package/dist/components/Toggle/Toggle.module.scss.cjs +9 -0
  181. package/dist/components/Toggle/Toggle.module.scss.cjs.map +1 -0
  182. package/dist/components/Toggle/Toggle.module.scss.js +7 -0
  183. package/dist/components/Toggle/Toggle.module.scss.js.map +1 -0
  184. package/dist/index.cjs +10 -10
  185. package/dist/index.js +1 -1
  186. package/package.json +1 -1
  187. package/dist/components/Grid/index.cjs +0 -20
  188. package/dist/components/Grid/index.cjs.map +0 -1
  189. package/dist/components/Grid/index.js +0 -14
  190. package/dist/components/Grid/index.js.map +0 -1
  191. package/dist/components/LegacyDataTable/SpecificState/styled.cjs +0 -21
  192. package/dist/components/LegacyDataTable/SpecificState/styled.cjs.map +0 -1
  193. package/dist/components/LegacyDataTable/SpecificState/styled.d.ts +0 -17
  194. package/dist/components/LegacyDataTable/SpecificState/styled.js +0 -12
  195. package/dist/components/LegacyDataTable/SpecificState/styled.js.map +0 -1
  196. package/dist/components/LegacyDataTable/cells/styled.cjs +0 -14
  197. package/dist/components/LegacyDataTable/cells/styled.cjs.map +0 -1
  198. package/dist/components/LegacyDataTable/cells/styled.d.ts +0 -1
  199. package/dist/components/LegacyDataTable/cells/styled.js +0 -8
  200. package/dist/components/LegacyDataTable/cells/styled.js.map +0 -1
  201. package/dist/components/Search/styled.cjs +0 -45
  202. package/dist/components/Search/styled.cjs.map +0 -1
  203. package/dist/components/Search/styled.d.ts +0 -308
  204. package/dist/components/Search/styled.js +0 -37
  205. package/dist/components/Search/styled.js.map +0 -1
  206. package/dist/components/Stepper/styled.cjs +0 -33
  207. package/dist/components/Stepper/styled.cjs.map +0 -1
  208. package/dist/components/Stepper/styled.d.ts +0 -12
  209. package/dist/components/Stepper/styled.js +0 -25
  210. package/dist/components/Stepper/styled.js.map +0 -1
  211. package/dist/components/Toggle/styled.cjs +0 -20
  212. package/dist/components/Toggle/styled.cjs.map +0 -1
  213. package/dist/components/Toggle/styled.d.ts +0 -12
  214. package/dist/components/Toggle/styled.js +0 -11
  215. package/dist/components/Toggle/styled.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"styled.cjs","sources":["../../../src/components/LegacyDataTable/styled.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { NoWrapType, StripedType } from './utils/types';\nimport { ScrollPosition } from './utils/constants';\n\nconst { text, sizes } = theme;\nconst { blue } = theme.colors.secondary;\nconst { grey } = theme.colors.neutral;\nconst { scrollbar } = theme.colors.system;\n\nconst fixedColumnShadow = `\n position: absolute;\n top: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n transition: box-shadow .3s;\n`;\n\nconst startFixedColumnShadow = `\n box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\n\nconst endFixedColumnShadow = `\n box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\n\ntype WrapperPropTypes = {\n scrollDisabled: boolean;\n scrollPosition?: ScrollPosition;\n lastStartFixedColumnsIndex?: number;\n firstEndFixedColumnsIndex?: number;\n showScrollbar?: boolean;\n};\n\nexport const TooltipContent = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nexport const Wrapper = styled.div<WrapperPropTypes>`\n width: 100%;\n overflow-x: ${(props) => (props.scrollDisabled ? 'hidden' : 'auto')};\n overflow-y: hidden;\n position: relative;\n border-top: 1px solid ${grey.dark};\n border-bottom: 1px solid ${grey.dark};\n\n ${({ showScrollbar }) =>\n showScrollbar\n ? `\n scrollbar-width: auto;\n\n &::-webkit-scrollbar {\n margin-top: 10px;\n width: 6px;\n height: 6px;\n }\n \n &::-webkit-scrollbar-track {\n background: ${scrollbar.background}; \n }\n \n &::-webkit-scrollbar-thumb {\n background: ${scrollbar.thumb};\n border-radius: 4px; \n }\n `\n : ''}\n\n ${({ scrollDisabled, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, scrollPosition }) =>\n scrollDisabled\n ? ''\n : `\n td:nth-child(${lastStartFixedColumnsIndex}):after,\n th:nth-child(${lastStartFixedColumnsIndex}):after {\n right: 0;\n transform: translate(100%);\n ${fixedColumnShadow};\n\n ${\n scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end\n ? startFixedColumnShadow\n : ''\n };\n };\n\n td:nth-last-child(${firstEndFixedColumnsIndex}):after,\n th:nth-last-child(${firstEndFixedColumnsIndex}):after {\n left: 0;\n transform: translate(-100%);\n ${fixedColumnShadow};\n\n ${\n scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle\n ? endFixedColumnShadow\n : ''\n };\n };\n `}\n`;\n\nexport const WrapperBordered = styled(Wrapper)`\n border: 1px solid ${grey.dark};\n border-radius: 4px;\n`;\n\nexport const Head = styled.thead`\n background-color: white;\n`;\n\nexport const Body = styled.tbody<{ fixedColumnsStyle?: string }>`\n tr {\n ${({ fixedColumnsStyle }) => fixedColumnsStyle};\n }\n\n & + & > tr:first-child > td {\n border-top: 1px solid ${grey.base};\n }\n\n tr:not(:first-child) > td {\n border-top: 1px solid transparent;\n }\n\n &&& tr:hover td {\n background-color: #ebf4fb; /* TODO: Remove magic hex value */\n }\n`;\n\nexport const Foot = styled.tfoot`\n & td {\n background-color: ${grey.lightest};\n padding: 1.5rem 1rem;\n border-top: 1px solid ${blue.base};\n }\n`;\n\nexport interface RowProps {\n accentColor?: string;\n}\n\nexport const Row = styled.tr<RowProps>`\n &.hidden {\n visibility: collapse;\n }\n\n ${({ accentColor }) =>\n accentColor &&\n `\n & > td: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\nexport interface CellProps {\n align?: 'left' | 'center' | 'right';\n grow?: boolean;\n}\n\nexport const Cell = styled.td<CellProps>`\n position: relative;\n padding: 1.25rem 1rem;\n text-align: ${({ align }) => align || 'left'};\n background-color: white;\n\n font-family: ${text.bodySmall.fontFamily};\n font-size: ${text.bodySmall.fontSize};\n font-weight: ${text.bodySmall.fontWeight};\n color: ${text.bodySmall.color};\n line-height: ${sizes.base};\n\n width: ${({ grow }) => (grow ? '100%' : 'auto')};\n\n & > * {\n vertical-align: middle;\n }\n`;\n\nexport const HeaderCell = styled(Cell).attrs({\n as: 'th',\n})`\n user-select: none;\n border-bottom: 1px solid ${grey.dark};\n\n font-family: ${text.bodySmallBold.fontFamily};\n font-size: ${text.bodySmallBold.fontSize};\n font-weight: ${text.bodySmallBold.fontWeight};\n color: ${text.bodySmallBold.color};\n\n & span {\n white-space: pre-line;\n }\n\n &.sortable:hover {\n cursor: pointer;\n background-color: ${grey.light};\n }\n`;\n\nconst alignmentMap = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n};\n\nexport interface HeaderCellLayoutProps {\n align?: 'left' | 'center' | 'right';\n}\n\nexport const HeaderCellLayout = styled.div<HeaderCellLayoutProps>`\n display: flex;\n align-items: center;\n justify-content: ${({ align }) => (align ? alignmentMap[align] : 'flex-start')};\n\n & > * + * {\n margin-left: 0.25rem;\n }\n`;\n\ntype TablePropTypes = {\n striped?: StripedType;\n noWrap?: NoWrapType;\n tableLoading?: boolean;\n isFixedLayout?: boolean;\n};\n\nexport const Table = styled.table<TablePropTypes>`\n width: 100%;\n border-spacing: 0;\n table-layout: ${({ isFixedLayout }) => (isFixedLayout ? 'fixed' : 'auto')};\n\n ${({ striped }) =>\n striped &&\n `\n & ${Body}:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}\n\n & * {\n box-sizing: border-box;\n\n ${({ tableLoading }) =>\n tableLoading &&\n `\n user-select: none;\n pointer-events: none;\n `}\n }\n\n ${({ noWrap }) =>\n noWrap &&\n `\n & ${HeaderCell}, & ${HeaderCell} span {\n white-space: nowrap;\n }\n `}\n`;\n\nexport const Footer = styled.tfoot<{ fixedColumnsStyle?: string }>`\n tr {\n ${({ fixedColumnsStyle }) => fixedColumnsStyle};\n }\n\n & ${Cell} {\n border-top: 1px solid ${grey.dark};\n background-color: ${grey.lightest};\n padding-top: ${sizes.base};\n padding-bottom: ${sizes.base};\n line-height: 2rem;\n }\n`;\n\nexport const StickyHeaderWrapper = styled.div`\n position: fixed;\n top: 0;\n z-index: 2;\n overflow-x: hidden;\n`;\n\nexport const FakeHeaderTable = styled(Table)``;\n"],"names":["theme","styled","ScrollPosition"],"mappings":"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"}
1
+ {"version":3,"file":"styled.cjs","sources":["../../../src/components/LegacyDataTable/styled.tsx"],"sourcesContent":["import React, { createContext, useContext, useRef } from 'react';\nimport { buildClassnames, assignCssVars } from '../../utils';\nimport styles from './LegacyDataTable.module.scss';\nimport { ScrollPosition } from './utils/constants';\n\n/* --- Instance ID for scoped styles --- */\n\nlet legacyTableIdCounter = 0;\n\nfunction useLegacyTableId(): string {\n const idRef = useRef<string | null>(null);\n\n if (idRef.current === null) {\n legacyTableIdCounter += 1;\n idRef.current = `ldt-${legacyTableIdCounter}`;\n }\n\n return idRef.current;\n}\n\n/**\n * Reset the counter between test runs for deterministic snapshots.\n * @internal Test utility only.\n */\nexport function resetLegacyTableIdCounter(): void {\n legacyTableIdCounter = 0;\n}\n\nconst TableIdContext = createContext<string>('');\n\n/* --- Wrapper --- */\n\ntype WrapperPropTypes = {\n scrollDisabled: boolean;\n scrollPosition?: ScrollPosition;\n lastStartFixedColumnsIndex?: number;\n firstEndFixedColumnsIndex?: number;\n showScrollbar?: boolean;\n children?: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n};\n\nfunction getScopedShadowRules({\n scrollDisabled,\n scrollPosition,\n lastStartFixedColumnsIndex,\n firstEndFixedColumnsIndex,\n}: Pick<WrapperPropTypes, 'scrollDisabled' | 'scrollPosition' | 'lastStartFixedColumnsIndex' | 'firstEndFixedColumnsIndex'>): string[] {\n if (scrollDisabled) return [];\n if (!lastStartFixedColumnsIndex && !firstEndFixedColumnsIndex) return [];\n\n const fixedColumnShadow = 'position: absolute; top: 0; bottom: -1px; width: 30px; content: \"\"; pointer-events: none; box-sizing: border-box; transition: box-shadow .3s;';\n\n const startShadowVisible =\n scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end;\n const endShadowVisible =\n scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle;\n\n const startShadow = startShadowVisible\n ? 'box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);'\n : '';\n const endShadow = endShadowVisible\n ? 'box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);'\n : '';\n\n const rules: string[] = [];\n\n if (lastStartFixedColumnsIndex) {\n rules.push(\n `td:nth-child(${lastStartFixedColumnsIndex}):after, th:nth-child(${lastStartFixedColumnsIndex}):after { right: 0; transform: translate(100%); ${fixedColumnShadow} ${startShadow} }`,\n );\n }\n\n if (firstEndFixedColumnsIndex) {\n rules.push(\n `td:nth-last-child(${firstEndFixedColumnsIndex}):after, th:nth-last-child(${firstEndFixedColumnsIndex}):after { left: 0; transform: translate(-100%); ${fixedColumnShadow} ${endShadow} }`,\n );\n }\n\n return rules;\n}\n\nexport const Wrapper = React.forwardRef<HTMLDivElement, WrapperPropTypes>(\n (\n {\n scrollDisabled,\n scrollPosition,\n lastStartFixedColumnsIndex,\n firstEndFixedColumnsIndex,\n showScrollbar,\n className,\n children,\n ...rest\n },\n ref,\n ) => {\n const tableId = useLegacyTableId();\n const shadowRules = getScopedShadowRules({\n scrollDisabled,\n scrollPosition,\n lastStartFixedColumnsIndex,\n firstEndFixedColumnsIndex,\n });\n const scopeSelector = `[data-legacy-table-id=\"${tableId}\"]`;\n const scopedStyle = shadowRules.length > 0\n ? shadowRules.map((rule) => {\n const braceIndex = rule.indexOf('{');\n if (braceIndex === -1) return `${scopeSelector} ${rule}`;\n const selectorPart = rule.slice(0, braceIndex).trim();\n const bodyPart = rule.slice(braceIndex);\n const scopedSelectors = selectorPart\n .split(',')\n .map((sel) => `${scopeSelector} ${sel.trim()}`)\n .join(', ');\n return `${scopedSelectors} ${bodyPart}`;\n }).join('\\n')\n : '';\n\n return (\n <div\n ref={ref}\n data-legacy-table-id={tableId}\n className={buildClassnames([\n styles.wrapper,\n scrollDisabled ? styles.wrapperScrollDisabled : styles.wrapperScrollEnabled,\n showScrollbar && styles.wrapperShowScrollbar,\n className,\n ])}\n {...rest}\n >\n {scopedStyle && <style>{scopedStyle}</style>}\n <TableIdContext.Provider value={tableId}>\n {children}\n </TableIdContext.Provider>\n </div>\n );\n },\n);\n\nWrapper.displayName = 'Wrapper';\n\nexport const WrapperBordered = React.forwardRef<HTMLDivElement, WrapperPropTypes>(\n (props, ref) => (\n <Wrapper ref={ref} {...props} className={buildClassnames([styles.wrapperBordered, props.className])} />\n ),\n);\n\nWrapperBordered.displayName = 'WrapperBordered';\n\n/* --- TooltipContent --- */\n\nexport const TooltipContent = ({ children, ...rest }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={styles.tooltipContent} {...rest}>\n {children}\n </div>\n);\n\n/* --- Head --- */\n\nexport const Head = ({ children, ...rest }: React.HTMLAttributes<HTMLTableSectionElement>) => (\n <thead className={styles.head} {...rest}>\n {children}\n </thead>\n);\n\n/* --- Body --- */\n\ninterface BodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {\n fixedColumnsStyle?: string;\n}\n\nexport const Body = ({ fixedColumnsStyle, className, children, ...rest }: BodyProps) => {\n const tableId = useContext(TableIdContext);\n const shouldRenderStyle = fixedColumnsStyle && tableId;\n return (\n <tbody className={buildClassnames([styles.body, styles.bodyBorderTop, className])} {...rest}>\n {/* Style rendered inside tbody: technically invalid HTML but browsers handle it correctly.\n This feature (fixedColumnsStyle) has zero production usage. Moving to a portal or\n hoisting to Wrapper would require API changes for a dead feature. */}\n {shouldRenderStyle && <style>{`[data-legacy-table-id=\"${tableId}\"] .${styles.body} tr { ${fixedColumnsStyle} }`}</style>}\n {children}\n </tbody>\n );\n};\n\n/* --- Foot --- */\n\nexport const Foot = ({ children, ...rest }: React.HTMLAttributes<HTMLTableSectionElement>) => (\n <tfoot className={styles.foot} {...rest}>\n {children}\n </tfoot>\n);\n\n/* --- Row --- */\n\nexport interface RowProps extends React.HTMLAttributes<HTMLTableRowElement> {\n accentColor?: string;\n}\n\nexport const Row = ({ accentColor, className, children, style, ...rest }: RowProps) => (\n <tr\n className={buildClassnames([styles.row, accentColor && styles.rowAccentColor, className])}\n style={{\n ...assignCssVars({ rowAccentColor: accentColor }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </tr>\n);\n\n/* --- Cell --- */\n\nexport interface CellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n align?: 'left' | 'center' | 'right';\n grow?: boolean;\n}\n\nexport const Cell = ({ align, grow, className, children, style, ...rest }: CellProps) => (\n <td\n className={buildClassnames([styles.cell, grow && styles.cellGrow, className])}\n style={{\n ...assignCssVars({ cellAlign: align }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </td>\n);\n\n/* --- HeaderCell --- */\n\nexport interface HeaderCellProps extends React.ThHTMLAttributes<HTMLTableCellElement> {\n align?: 'left' | 'center' | 'right';\n grow?: boolean;\n}\n\nexport const HeaderCell = ({ align, grow, className, children, style, ...rest }: HeaderCellProps) => (\n <th\n className={buildClassnames([styles.headerCell, grow && styles.cellGrow, className])}\n style={{\n ...assignCssVars({ cellAlign: align }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </th>\n);\n\n/* --- HeaderCellLayout --- */\n\nconst alignmentMap: Record<string, string> = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n};\n\nexport interface HeaderCellLayoutProps extends React.HTMLAttributes<HTMLDivElement> {\n align?: 'left' | 'center' | 'right';\n}\n\nexport const HeaderCellLayout = ({ align, className, children, style, ...rest }: HeaderCellLayoutProps) => (\n <div\n className={buildClassnames([styles.headerCellLayout, className])}\n style={{\n ...assignCssVars({ layoutAlign: align ? alignmentMap[align] : undefined }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </div>\n);\n\n/* --- Table --- */\n\ninterface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {\n striped?: boolean;\n noWrap?: boolean;\n tableLoading?: boolean;\n isFixedLayout?: boolean;\n}\n\nexport const Table = React.forwardRef<HTMLTableElement, TableProps>(\n ({ striped, noWrap, tableLoading, isFixedLayout, className, children, ...rest }, ref) => (\n <table\n ref={ref}\n className={buildClassnames([\n styles.table,\n isFixedLayout && styles.tableFixedLayout,\n tableLoading && styles.tableLoading,\n striped && styles.tableStriped,\n noWrap && styles.tableNoWrap,\n className,\n ])}\n {...rest}\n >\n {children}\n </table>\n ),\n);\n\nTable.displayName = 'Table';\n\n/* --- Footer --- */\n\ninterface FooterProps extends React.HTMLAttributes<HTMLTableSectionElement> {\n fixedColumnsStyle?: string;\n}\n\nexport const Footer = ({ fixedColumnsStyle, className, children, ...rest }: FooterProps) => {\n const tableId = useContext(TableIdContext);\n const shouldRenderStyle = fixedColumnsStyle && tableId;\n return (\n <tfoot className={buildClassnames([styles.footer, className])} {...rest}>\n {shouldRenderStyle && <style>{`[data-legacy-table-id=\"${tableId}\"] .${styles.footer} tr { ${fixedColumnsStyle} }`}</style>}\n {children}\n </tfoot>\n );\n};\n\n/* --- StickyHeaderWrapper --- */\n\nexport const StickyHeaderWrapper = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.stickyHeaderWrapper, className])} {...rest}>\n {children}\n </div>\n ),\n);\n\nStickyHeaderWrapper.displayName = 'StickyHeaderWrapper';\n\n/* --- FakeHeaderTable (same as Table) --- */\n\nexport const FakeHeaderTable = Table;\n"],"names":["useRef","createContext","ScrollPosition","React","buildClassnames","styles","useContext","assignCssVars"],"mappings":"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"}
@@ -1,46 +1,58 @@
1
- import { NoWrapType, StripedType } from './utils/types';
1
+ import React from 'react';
2
2
  import { ScrollPosition } from './utils/constants';
3
+ /**
4
+ * Reset the counter between test runs for deterministic snapshots.
5
+ * @internal Test utility only.
6
+ */
7
+ export declare function resetLegacyTableIdCounter(): void;
3
8
  type WrapperPropTypes = {
4
9
  scrollDisabled: boolean;
5
10
  scrollPosition?: ScrollPosition;
6
11
  lastStartFixedColumnsIndex?: number;
7
12
  firstEndFixedColumnsIndex?: number;
8
13
  showScrollbar?: boolean;
14
+ children?: React.ReactNode;
15
+ className?: string;
16
+ style?: React.CSSProperties;
9
17
  };
10
- export declare const TooltipContent: import("styled-components").StyledComponent<"div", any, {}, never>;
11
- export declare const Wrapper: import("styled-components").StyledComponent<"div", any, WrapperPropTypes, never>;
12
- export declare const WrapperBordered: import("styled-components").StyledComponent<"div", any, WrapperPropTypes, never>;
13
- export declare const Head: import("styled-components").StyledComponent<"thead", any, {}, never>;
14
- export declare const Body: import("styled-components").StyledComponent<"tbody", any, {
15
- fixedColumnsStyle?: string | undefined;
16
- }, never>;
17
- export declare const Foot: import("styled-components").StyledComponent<"tfoot", any, {}, never>;
18
- export interface RowProps {
18
+ export declare const Wrapper: React.ForwardRefExoticComponent<WrapperPropTypes & React.RefAttributes<HTMLDivElement>>;
19
+ export declare const WrapperBordered: React.ForwardRefExoticComponent<WrapperPropTypes & React.RefAttributes<HTMLDivElement>>;
20
+ export declare const TooltipContent: ({ children, ...rest }: React.HTMLAttributes<HTMLDivElement>) => React.JSX.Element;
21
+ export declare const Head: ({ children, ...rest }: React.HTMLAttributes<HTMLTableSectionElement>) => React.JSX.Element;
22
+ interface BodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {
23
+ fixedColumnsStyle?: string;
24
+ }
25
+ export declare const Body: ({ fixedColumnsStyle, className, children, ...rest }: BodyProps) => React.JSX.Element;
26
+ export declare const Foot: ({ children, ...rest }: React.HTMLAttributes<HTMLTableSectionElement>) => React.JSX.Element;
27
+ export interface RowProps extends React.HTMLAttributes<HTMLTableRowElement> {
19
28
  accentColor?: string;
20
29
  }
21
- export declare const Row: import("styled-components").StyledComponent<"tr", any, RowProps, never>;
22
- export interface CellProps {
30
+ export declare const Row: ({ accentColor, className, children, style, ...rest }: RowProps) => React.JSX.Element;
31
+ export interface CellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
32
+ align?: 'left' | 'center' | 'right';
33
+ grow?: boolean;
34
+ }
35
+ export declare const Cell: ({ align, grow, className, children, style, ...rest }: CellProps) => React.JSX.Element;
36
+ export interface HeaderCellProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
23
37
  align?: 'left' | 'center' | 'right';
24
38
  grow?: boolean;
25
39
  }
26
- export declare const Cell: import("styled-components").StyledComponent<"td", any, CellProps, never>;
27
- export declare const HeaderCell: import("styled-components").StyledComponent<"td", any, CellProps & {
28
- as: string;
29
- }, "as">;
30
- export interface HeaderCellLayoutProps {
40
+ export declare const HeaderCell: ({ align, grow, className, children, style, ...rest }: HeaderCellProps) => React.JSX.Element;
41
+ export interface HeaderCellLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
31
42
  align?: 'left' | 'center' | 'right';
32
43
  }
33
- export declare const HeaderCellLayout: import("styled-components").StyledComponent<"div", any, HeaderCellLayoutProps, never>;
34
- type TablePropTypes = {
35
- striped?: StripedType;
36
- noWrap?: NoWrapType;
44
+ export declare const HeaderCellLayout: ({ align, className, children, style, ...rest }: HeaderCellLayoutProps) => React.JSX.Element;
45
+ interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {
46
+ striped?: boolean;
47
+ noWrap?: boolean;
37
48
  tableLoading?: boolean;
38
49
  isFixedLayout?: boolean;
39
- };
40
- export declare const Table: import("styled-components").StyledComponent<"table", any, TablePropTypes, never>;
41
- export declare const Footer: import("styled-components").StyledComponent<"tfoot", any, {
42
- fixedColumnsStyle?: string | undefined;
43
- }, never>;
44
- export declare const StickyHeaderWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
45
- export declare const FakeHeaderTable: import("styled-components").StyledComponent<"table", any, TablePropTypes, never>;
50
+ }
51
+ export declare const Table: React.ForwardRefExoticComponent<TableProps & React.RefAttributes<HTMLTableElement>>;
52
+ interface FooterProps extends React.HTMLAttributes<HTMLTableSectionElement> {
53
+ fixedColumnsStyle?: string;
54
+ }
55
+ export declare const Footer: ({ fixedColumnsStyle, className, children, ...rest }: FooterProps) => React.JSX.Element;
56
+ export declare const StickyHeaderWrapper: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
57
+ export declare const FakeHeaderTable: React.ForwardRefExoticComponent<TableProps & React.RefAttributes<HTMLTableElement>>;
46
58
  export {};
@@ -1,116 +1,133 @@
1
- import styled from 'styled-components';
2
- import { theme } from '../../theme/index.js';
1
+ import React__default, { createContext, useRef, useContext } from 'react';
2
+ import { buildClassnames } from '../../utils/buildClassnames.js';
3
+ import 'uid/secure';
4
+ import { assignCssVars } from '../../utils/assignCssVars.js';
5
+ import styles from './LegacyDataTable.module.scss.js';
3
6
  import { ScrollPosition } from './utils/constants.js';
4
7
 
5
- const { text, sizes } = theme;
6
- const { blue } = theme.colors.secondary;
7
- const { grey } = theme.colors.neutral;
8
- const { scrollbar } = theme.colors.system;
9
- const fixedColumnShadow = `
10
- position: absolute;
11
- top: 0;
12
- bottom: -1px;
13
- width: 30px;
14
- content: "";
15
- pointer-events: none;
16
- box-sizing: border-box;
17
- transition: box-shadow .3s;
18
- `;
19
- const startFixedColumnShadow = `
20
- box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);
21
- `;
22
- const endFixedColumnShadow = `
23
- box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);
24
- `;
25
- const TooltipContent = styled.div.withConfig({ displayName: "vui--TooltipContent", componentId: "vui--11ytygc" }) `display:flex;flex-direction:row;align-items:center;`;
26
- const Wrapper = styled.div.withConfig({ displayName: "vui--Wrapper", componentId: "vui--1g4i0cu" }) `width:100%;overflow-x:${(props) => (props.scrollDisabled ? 'hidden' : 'auto')};overflow-y:hidden;position:relative;border-top:1px solid ${grey.dark};border-bottom:1px solid ${grey.dark};${({ showScrollbar }) => showScrollbar
27
- ? `
28
- scrollbar-width: auto;
29
-
30
- &::-webkit-scrollbar {
31
- margin-top: 10px;
32
- width: 6px;
33
- height: 6px;
34
- }
35
-
36
- &::-webkit-scrollbar-track {
37
- background: ${scrollbar.background};
8
+ /* --- Instance ID for scoped styles --- */
9
+ let legacyTableIdCounter = 0;
10
+ function useLegacyTableId() {
11
+ const idRef = useRef(null);
12
+ if (idRef.current === null) {
13
+ legacyTableIdCounter += 1;
14
+ idRef.current = `ldt-${legacyTableIdCounter}`;
38
15
  }
39
-
40
- &::-webkit-scrollbar-thumb {
41
- background: ${scrollbar.thumb};
42
- border-radius: 4px;
16
+ return idRef.current;
17
+ }
18
+ const TableIdContext = createContext('');
19
+ function getScopedShadowRules({ scrollDisabled, scrollPosition, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, }) {
20
+ if (scrollDisabled)
21
+ return [];
22
+ if (!lastStartFixedColumnsIndex && !firstEndFixedColumnsIndex)
23
+ return [];
24
+ const fixedColumnShadow = 'position: absolute; top: 0; bottom: -1px; width: 30px; content: ""; pointer-events: none; box-sizing: border-box; transition: box-shadow .3s;';
25
+ const startShadowVisible = scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end;
26
+ const endShadowVisible = scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle;
27
+ const startShadow = startShadowVisible
28
+ ? 'box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);'
29
+ : '';
30
+ const endShadow = endShadowVisible
31
+ ? 'box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);'
32
+ : '';
33
+ const rules = [];
34
+ if (lastStartFixedColumnsIndex) {
35
+ rules.push(`td:nth-child(${lastStartFixedColumnsIndex}):after, th:nth-child(${lastStartFixedColumnsIndex}):after { right: 0; transform: translate(100%); ${fixedColumnShadow} ${startShadow} }`);
43
36
  }
44
- `
45
- : ''} ${({ scrollDisabled, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, scrollPosition }) => scrollDisabled
46
- ? ''
47
- : `
48
- td:nth-child(${lastStartFixedColumnsIndex}):after,
49
- th:nth-child(${lastStartFixedColumnsIndex}):after {
50
- right: 0;
51
- transform: translate(100%);
52
- ${fixedColumnShadow};
53
-
54
- ${scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end
55
- ? startFixedColumnShadow
56
- : ''};
57
- };
58
-
59
- td:nth-last-child(${firstEndFixedColumnsIndex}):after,
60
- th:nth-last-child(${firstEndFixedColumnsIndex}):after {
61
- left: 0;
62
- transform: translate(-100%);
63
- ${fixedColumnShadow};
64
-
65
- ${scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle
66
- ? endFixedColumnShadow
67
- : ''};
68
- };
69
- `}`;
70
- const WrapperBordered = styled(Wrapper).withConfig({ displayName: "vui--WrapperBordered", componentId: "vui--wtdkab" }) `border:1px solid ${grey.dark};border-radius:4px;`;
71
- const Head = styled.thead.withConfig({ displayName: "vui--Head", componentId: "vui--1j5avrf" }) `background-color:white;`;
72
- const Body = styled.tbody.withConfig({ displayName: "vui--Body", componentId: "vui--n8uysg" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& + & > tr:first-child > td{border-top:1px solid ${grey.base};}tr:not(:first-child)> td{border-top:1px solid transparent;}&&& tr:hover td{background-color:#ebf4fb;}`;
73
- styled.tfoot.withConfig({ displayName: "vui--Foot", componentId: "vui--qckqty" }) `& td{background-color:${grey.lightest};padding:1.5rem 1rem;border-top:1px solid ${blue.base};}`;
74
- const Row = styled.tr.withConfig({ displayName: "vui--Row", componentId: "vui--10drh9k" }) `&.hidden{visibility:collapse;}${({ accentColor }) => accentColor &&
75
- `
76
- & > td:first-child::before {
77
- content: "";
78
- position: absolute;
79
- top: 0;
80
- left: 0;
81
- bottom: 0;
82
- width: 4px;
83
- background-color: ${accentColor};
37
+ if (firstEndFixedColumnsIndex) {
38
+ rules.push(`td:nth-last-child(${firstEndFixedColumnsIndex}):after, th:nth-last-child(${firstEndFixedColumnsIndex}):after { left: 0; transform: translate(-100%); ${fixedColumnShadow} ${endShadow} }`);
84
39
  }
85
- `}`;
86
- const Cell = styled.td.withConfig({ displayName: "vui--Cell", componentId: "vui--tljl4p" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};width:${({ grow }) => (grow ? '100%' : 'auto')};& > *{vertical-align:middle;}`;
87
- const HeaderCell = styled(Cell).attrs({
88
- as: 'th',
89
- }).withConfig({ displayName: "vui--HeaderCell", componentId: "vui--10p2duv" }) `user-select:none;border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};& span{white-space:pre-line;}&.sortable:hover{cursor:pointer;background-color:${grey.light};}`;
40
+ return rules;
41
+ }
42
+ const Wrapper = React__default.forwardRef(({ scrollDisabled, scrollPosition, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, showScrollbar, className, children, ...rest }, ref) => {
43
+ const tableId = useLegacyTableId();
44
+ const shadowRules = getScopedShadowRules({
45
+ scrollDisabled,
46
+ scrollPosition,
47
+ lastStartFixedColumnsIndex,
48
+ firstEndFixedColumnsIndex,
49
+ });
50
+ const scopeSelector = `[data-legacy-table-id="${tableId}"]`;
51
+ const scopedStyle = shadowRules.length > 0
52
+ ? shadowRules.map((rule) => {
53
+ const braceIndex = rule.indexOf('{');
54
+ if (braceIndex === -1)
55
+ return `${scopeSelector} ${rule}`;
56
+ const selectorPart = rule.slice(0, braceIndex).trim();
57
+ const bodyPart = rule.slice(braceIndex);
58
+ const scopedSelectors = selectorPart
59
+ .split(',')
60
+ .map((sel) => `${scopeSelector} ${sel.trim()}`)
61
+ .join(', ');
62
+ return `${scopedSelectors} ${bodyPart}`;
63
+ }).join('\n')
64
+ : '';
65
+ return (React__default.createElement("div", { ref: ref, "data-legacy-table-id": tableId, className: buildClassnames([
66
+ styles.wrapper,
67
+ scrollDisabled ? styles.wrapperScrollDisabled : styles.wrapperScrollEnabled,
68
+ showScrollbar && styles.wrapperShowScrollbar,
69
+ className,
70
+ ]), ...rest },
71
+ scopedStyle && React__default.createElement("style", null, scopedStyle),
72
+ React__default.createElement(TableIdContext.Provider, { value: tableId }, children)));
73
+ });
74
+ Wrapper.displayName = 'Wrapper';
75
+ const WrapperBordered = React__default.forwardRef((props, ref) => (React__default.createElement(Wrapper, { ref: ref, ...props, className: buildClassnames([styles.wrapperBordered, props.className]) })));
76
+ WrapperBordered.displayName = 'WrapperBordered';
77
+ /* --- TooltipContent --- */
78
+ const TooltipContent = ({ children, ...rest }) => (React__default.createElement("div", { className: styles.tooltipContent, ...rest }, children));
79
+ /* --- Head --- */
80
+ const Head = ({ children, ...rest }) => (React__default.createElement("thead", { className: styles.head, ...rest }, children));
81
+ const Body = ({ fixedColumnsStyle, className, children, ...rest }) => {
82
+ const tableId = useContext(TableIdContext);
83
+ const shouldRenderStyle = fixedColumnsStyle && tableId;
84
+ return (React__default.createElement("tbody", { className: buildClassnames([styles.body, styles.bodyBorderTop, className]), ...rest },
85
+ shouldRenderStyle && React__default.createElement("style", null, `[data-legacy-table-id="${tableId}"] .${styles.body} tr { ${fixedColumnsStyle} }`),
86
+ children));
87
+ };
88
+ const Row = ({ accentColor, className, children, style, ...rest }) => (React__default.createElement("tr", { className: buildClassnames([styles.row, accentColor && styles.rowAccentColor, className]), style: {
89
+ ...assignCssVars({ rowAccentColor: accentColor }),
90
+ ...style,
91
+ }, ...rest }, children));
92
+ const Cell = ({ align, grow, className, children, style, ...rest }) => (React__default.createElement("td", { className: buildClassnames([styles.cell, grow && styles.cellGrow, className]), style: {
93
+ ...assignCssVars({ cellAlign: align }),
94
+ ...style,
95
+ }, ...rest }, children));
96
+ const HeaderCell = ({ align, grow, className, children, style, ...rest }) => (React__default.createElement("th", { className: buildClassnames([styles.headerCell, grow && styles.cellGrow, className]), style: {
97
+ ...assignCssVars({ cellAlign: align }),
98
+ ...style,
99
+ }, ...rest }, children));
100
+ /* --- HeaderCellLayout --- */
90
101
  const alignmentMap = {
91
102
  left: 'flex-start',
92
103
  center: 'center',
93
104
  right: 'flex-end',
94
105
  };
95
- const HeaderCellLayout = styled.div.withConfig({ displayName: "vui--HeaderCellLayout", componentId: "vui--13i0t50" }) `display:flex;align-items:center;justify-content:${({ align }) => (align ? alignmentMap[align] : 'flex-start')};& > * + *{margin-left:0.25rem;}`;
96
- const Table = styled.table.withConfig({ displayName: "vui--Table", componentId: "vui--1bp83gy" }) `width:100%;border-spacing:0;table-layout:${({ isFixedLayout }) => (isFixedLayout ? 'fixed' : 'auto')};${({ striped }) => striped &&
97
- `
98
- & ${Body}:nth-child(even) td {
99
- background-color: ${grey.lightest};
100
- }
101
- `} & *{box-sizing:border-box;${({ tableLoading }) => tableLoading &&
102
- `
103
- user-select: none;
104
- pointer-events: none;
105
- `}}${({ noWrap }) => noWrap &&
106
- `
107
- & ${HeaderCell}, & ${HeaderCell} span {
108
- white-space: nowrap;
109
- }
110
- `}`;
111
- const Footer = styled.tfoot.withConfig({ displayName: "vui--Footer", componentId: "vui--44p3gi" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& ${Cell}{border-top:1px solid ${grey.dark};background-color:${grey.lightest};padding-top:${sizes.base};padding-bottom:${sizes.base};line-height:2rem;}`;
112
- const StickyHeaderWrapper = styled.div.withConfig({ displayName: "vui--StickyHeaderWrapper", componentId: "vui--wokb93" }) `position:fixed;top:0;z-index:2;overflow-x:hidden;`;
113
- const FakeHeaderTable = styled(Table).withConfig({ displayName: "vui--FakeHeaderTable", componentId: "vui--6s4d56" }) ``;
106
+ const HeaderCellLayout = ({ align, className, children, style, ...rest }) => (React__default.createElement("div", { className: buildClassnames([styles.headerCellLayout, className]), style: {
107
+ ...assignCssVars({ layoutAlign: align ? alignmentMap[align] : undefined }),
108
+ ...style,
109
+ }, ...rest }, children));
110
+ const Table = React__default.forwardRef(({ striped, noWrap, tableLoading, isFixedLayout, className, children, ...rest }, ref) => (React__default.createElement("table", { ref: ref, className: buildClassnames([
111
+ styles.table,
112
+ isFixedLayout && styles.tableFixedLayout,
113
+ tableLoading && styles.tableLoading,
114
+ striped && styles.tableStriped,
115
+ noWrap && styles.tableNoWrap,
116
+ className,
117
+ ]), ...rest }, children)));
118
+ Table.displayName = 'Table';
119
+ const Footer = ({ fixedColumnsStyle, className, children, ...rest }) => {
120
+ const tableId = useContext(TableIdContext);
121
+ const shouldRenderStyle = fixedColumnsStyle && tableId;
122
+ return (React__default.createElement("tfoot", { className: buildClassnames([styles.footer, className]), ...rest },
123
+ shouldRenderStyle && React__default.createElement("style", null, `[data-legacy-table-id="${tableId}"] .${styles.footer} tr { ${fixedColumnsStyle} }`),
124
+ children));
125
+ };
126
+ /* --- StickyHeaderWrapper --- */
127
+ const StickyHeaderWrapper = React__default.forwardRef(({ className, children, ...rest }, ref) => (React__default.createElement("div", { ref: ref, className: buildClassnames([styles.stickyHeaderWrapper, className]), ...rest }, children)));
128
+ StickyHeaderWrapper.displayName = 'StickyHeaderWrapper';
129
+ /* --- FakeHeaderTable (same as Table) --- */
130
+ const FakeHeaderTable = Table;
114
131
 
115
132
  export { Body, Cell, FakeHeaderTable, Footer, Head, HeaderCell, HeaderCellLayout, Row, StickyHeaderWrapper, Table, TooltipContent, Wrapper, WrapperBordered };
116
133
  //# sourceMappingURL=styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../../src/components/LegacyDataTable/styled.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { NoWrapType, StripedType } from './utils/types';\nimport { ScrollPosition } from './utils/constants';\n\nconst { text, sizes } = theme;\nconst { blue } = theme.colors.secondary;\nconst { grey } = theme.colors.neutral;\nconst { scrollbar } = theme.colors.system;\n\nconst fixedColumnShadow = `\n position: absolute;\n top: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n transition: box-shadow .3s;\n`;\n\nconst startFixedColumnShadow = `\n box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\n\nconst endFixedColumnShadow = `\n box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\n\ntype WrapperPropTypes = {\n scrollDisabled: boolean;\n scrollPosition?: ScrollPosition;\n lastStartFixedColumnsIndex?: number;\n firstEndFixedColumnsIndex?: number;\n showScrollbar?: boolean;\n};\n\nexport const TooltipContent = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nexport const Wrapper = styled.div<WrapperPropTypes>`\n width: 100%;\n overflow-x: ${(props) => (props.scrollDisabled ? 'hidden' : 'auto')};\n overflow-y: hidden;\n position: relative;\n border-top: 1px solid ${grey.dark};\n border-bottom: 1px solid ${grey.dark};\n\n ${({ showScrollbar }) =>\n showScrollbar\n ? `\n scrollbar-width: auto;\n\n &::-webkit-scrollbar {\n margin-top: 10px;\n width: 6px;\n height: 6px;\n }\n \n &::-webkit-scrollbar-track {\n background: ${scrollbar.background}; \n }\n \n &::-webkit-scrollbar-thumb {\n background: ${scrollbar.thumb};\n border-radius: 4px; \n }\n `\n : ''}\n\n ${({ scrollDisabled, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, scrollPosition }) =>\n scrollDisabled\n ? ''\n : `\n td:nth-child(${lastStartFixedColumnsIndex}):after,\n th:nth-child(${lastStartFixedColumnsIndex}):after {\n right: 0;\n transform: translate(100%);\n ${fixedColumnShadow};\n\n ${\n scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end\n ? startFixedColumnShadow\n : ''\n };\n };\n\n td:nth-last-child(${firstEndFixedColumnsIndex}):after,\n th:nth-last-child(${firstEndFixedColumnsIndex}):after {\n left: 0;\n transform: translate(-100%);\n ${fixedColumnShadow};\n\n ${\n scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle\n ? endFixedColumnShadow\n : ''\n };\n };\n `}\n`;\n\nexport const WrapperBordered = styled(Wrapper)`\n border: 1px solid ${grey.dark};\n border-radius: 4px;\n`;\n\nexport const Head = styled.thead`\n background-color: white;\n`;\n\nexport const Body = styled.tbody<{ fixedColumnsStyle?: string }>`\n tr {\n ${({ fixedColumnsStyle }) => fixedColumnsStyle};\n }\n\n & + & > tr:first-child > td {\n border-top: 1px solid ${grey.base};\n }\n\n tr:not(:first-child) > td {\n border-top: 1px solid transparent;\n }\n\n &&& tr:hover td {\n background-color: #ebf4fb; /* TODO: Remove magic hex value */\n }\n`;\n\nexport const Foot = styled.tfoot`\n & td {\n background-color: ${grey.lightest};\n padding: 1.5rem 1rem;\n border-top: 1px solid ${blue.base};\n }\n`;\n\nexport interface RowProps {\n accentColor?: string;\n}\n\nexport const Row = styled.tr<RowProps>`\n &.hidden {\n visibility: collapse;\n }\n\n ${({ accentColor }) =>\n accentColor &&\n `\n & > td: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\nexport interface CellProps {\n align?: 'left' | 'center' | 'right';\n grow?: boolean;\n}\n\nexport const Cell = styled.td<CellProps>`\n position: relative;\n padding: 1.25rem 1rem;\n text-align: ${({ align }) => align || 'left'};\n background-color: white;\n\n font-family: ${text.bodySmall.fontFamily};\n font-size: ${text.bodySmall.fontSize};\n font-weight: ${text.bodySmall.fontWeight};\n color: ${text.bodySmall.color};\n line-height: ${sizes.base};\n\n width: ${({ grow }) => (grow ? '100%' : 'auto')};\n\n & > * {\n vertical-align: middle;\n }\n`;\n\nexport const HeaderCell = styled(Cell).attrs({\n as: 'th',\n})`\n user-select: none;\n border-bottom: 1px solid ${grey.dark};\n\n font-family: ${text.bodySmallBold.fontFamily};\n font-size: ${text.bodySmallBold.fontSize};\n font-weight: ${text.bodySmallBold.fontWeight};\n color: ${text.bodySmallBold.color};\n\n & span {\n white-space: pre-line;\n }\n\n &.sortable:hover {\n cursor: pointer;\n background-color: ${grey.light};\n }\n`;\n\nconst alignmentMap = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n};\n\nexport interface HeaderCellLayoutProps {\n align?: 'left' | 'center' | 'right';\n}\n\nexport const HeaderCellLayout = styled.div<HeaderCellLayoutProps>`\n display: flex;\n align-items: center;\n justify-content: ${({ align }) => (align ? alignmentMap[align] : 'flex-start')};\n\n & > * + * {\n margin-left: 0.25rem;\n }\n`;\n\ntype TablePropTypes = {\n striped?: StripedType;\n noWrap?: NoWrapType;\n tableLoading?: boolean;\n isFixedLayout?: boolean;\n};\n\nexport const Table = styled.table<TablePropTypes>`\n width: 100%;\n border-spacing: 0;\n table-layout: ${({ isFixedLayout }) => (isFixedLayout ? 'fixed' : 'auto')};\n\n ${({ striped }) =>\n striped &&\n `\n & ${Body}:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}\n\n & * {\n box-sizing: border-box;\n\n ${({ tableLoading }) =>\n tableLoading &&\n `\n user-select: none;\n pointer-events: none;\n `}\n }\n\n ${({ noWrap }) =>\n noWrap &&\n `\n & ${HeaderCell}, & ${HeaderCell} span {\n white-space: nowrap;\n }\n `}\n`;\n\nexport const Footer = styled.tfoot<{ fixedColumnsStyle?: string }>`\n tr {\n ${({ fixedColumnsStyle }) => fixedColumnsStyle};\n }\n\n & ${Cell} {\n border-top: 1px solid ${grey.dark};\n background-color: ${grey.lightest};\n padding-top: ${sizes.base};\n padding-bottom: ${sizes.base};\n line-height: 2rem;\n }\n`;\n\nexport const StickyHeaderWrapper = styled.div`\n position: fixed;\n top: 0;\n z-index: 2;\n overflow-x: hidden;\n`;\n\nexport const FakeHeaderTable = styled(Table)``;\n"],"names":[],"mappings":";;;;AAKA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK;AAC7B,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS;AACvC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO;AACrC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM;AAEzC,MAAM,iBAAiB,GAAG;;;;;;;;;CASzB;AAED,MAAM,sBAAsB,GAAG;;CAE9B;AAED,MAAM,oBAAoB,GAAG;;CAE5B;MAUY,cAAc,GAAG,MAAM,CAAC,GAAG;AAMjC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,cAAA,EAAA,WAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA,sBAAA,EAEjB,CAAC,KAAK,MAAM,KAAK,CAAC,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC,6DAG3C,IAAI,CAAC,IAAI,CAAA,yBAAA,EACN,IAAI,CAAC,IAAI,CAAA,CAAA,EAElC,CAAC,EAAE,aAAa,EAAE,KAClB;AACE,MAAE;;;;;;;;;;AAUY,kBAAA,EAAA,SAAS,CAAC,UAAU,CAAA;;;;AAIpB,kBAAA,EAAA,SAAS,CAAC,KAAK,CAAA;;;AAG9B,IAAA;AACC,MAAE,EAAE,CAAA,CAAA,EAEN,CAAC,EAAE,cAAc,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,cAAc,EAAE,KAC1F;AACE,MAAE;AACF,MAAE;mBACW,0BAA0B,CAAA;mBAC1B,0BAA0B,CAAA;;;QAGrC,iBAAiB,CAAA;;QAGjB,cAAc,KAAK,cAAc,CAAC,MAAM,IAAI,cAAc,KAAK,cAAc,CAAC;AAC5E,UAAE;AACF,UAAE,EACN,CAAA;;;wBAGkB,yBAAyB,CAAA;wBACzB,yBAAyB,CAAA;;;QAGzC,iBAAiB,CAAA;;QAGjB,cAAc,KAAK,cAAc,CAAC,KAAK,IAAI,cAAc,KAAK,cAAc,CAAC;AAC3E,UAAE;AACF,UAAE,EACN,CAAA;;AAEH,EAAA,CAAA,CAAA;AAGI,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,iBAAA,EACxB,IAAI,CAAC,IAAI;MAIlB,IAAI,GAAG,MAAM,CAAC,KAAK;MAInB,IAAI,GAAG,MAAM,CAAC,KAAK,4EAE1B,CAAC,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,sDAItB,IAAI,CAAC,IAAI,CAAA,uGAAA;AAYjB,MAAM,CAAC,KAAK,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,sBAAA,EAER,IAAI,CAAC,QAAQ,CAAA,0CAAA,EAET,IAAI,CAAC,IAAI;AAQ9B,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA,8BAAA,EAKxB,CAAC,EAAE,WAAW,EAAE,KAChB,WAAW;AACX,IAAA;;;;;;;;0BAQsB,WAAW,CAAA;;AAElC,EAAA,CAAA,CAAA;AAQI,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,kDAAA,EAGb,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,MAAM,CAAA,oCAAA,EAG7B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAA,WAAA,EAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,gBACrB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAA,OAAA,EAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA,aAAA,EACd,KAAK,CAAC,IAAI,CAAA,OAAA,EAEhB,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAO1C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;AAC3C,IAAA,EAAE,EAAE,IAAI;AACT,CAAA,CAAC,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA,yCAAA,EAE2B,IAAI,CAAC,IAAI,gBAErB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAA,WAAA,EAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAA,aAAA,EACzB,IAAI,CAAC,aAAa,CAAC,UAAU,UACnC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAA,+EAAA,EAQX,IAAI,CAAC,KAAK;AAIlC,MAAM,YAAY,GAAG;AACnB,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,UAAU;CAClB;AAMM,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA,gDAAA,EAGrB,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;AAczE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA,yCAAA,EAGf,CAAC,EAAE,aAAa,EAAE,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC,CAAA,CAAA,EAEvE,CAAC,EAAE,OAAO,EAAE,KACZ,OAAO;AACP,IAAA;QACI,IAAI,CAAA;AACc,wBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;AAEpC,EAAA,CAAA,CAAA,2BAAA,EAKG,CAAC,EAAE,YAAY,EAAE,KACjB,YAAY;AACZ,IAAA;;;AAGD,IAAA,CAAA,CAAA,CAAA,EAGD,CAAC,EAAE,MAAM,EAAE,KACX,MAAM;AACN,IAAA;AACI,MAAA,EAAA,UAAU,OAAO,UAAU,CAAA;;;AAGhC,EAAA,CAAA,CAAA;AAGI,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EAE5B,CAAC,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,CAAA,IAAA,EAG5C,IAAI,CAAA,sBAAA,EACkB,IAAI,CAAC,IAAI,CAAA,kBAAA,EACb,IAAI,CAAC,QAAQ,CAAA,aAAA,EAClB,KAAK,CAAC,IAAI,CAAA,gBAAA,EACP,KAAK,CAAC,IAAI;MAKnB,mBAAmB,GAAG,MAAM,CAAC,GAAG;MAOhC,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"styled.js","sources":["../../../src/components/LegacyDataTable/styled.tsx"],"sourcesContent":["import React, { createContext, useContext, useRef } from 'react';\nimport { buildClassnames, assignCssVars } from '../../utils';\nimport styles from './LegacyDataTable.module.scss';\nimport { ScrollPosition } from './utils/constants';\n\n/* --- Instance ID for scoped styles --- */\n\nlet legacyTableIdCounter = 0;\n\nfunction useLegacyTableId(): string {\n const idRef = useRef<string | null>(null);\n\n if (idRef.current === null) {\n legacyTableIdCounter += 1;\n idRef.current = `ldt-${legacyTableIdCounter}`;\n }\n\n return idRef.current;\n}\n\n/**\n * Reset the counter between test runs for deterministic snapshots.\n * @internal Test utility only.\n */\nexport function resetLegacyTableIdCounter(): void {\n legacyTableIdCounter = 0;\n}\n\nconst TableIdContext = createContext<string>('');\n\n/* --- Wrapper --- */\n\ntype WrapperPropTypes = {\n scrollDisabled: boolean;\n scrollPosition?: ScrollPosition;\n lastStartFixedColumnsIndex?: number;\n firstEndFixedColumnsIndex?: number;\n showScrollbar?: boolean;\n children?: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n};\n\nfunction getScopedShadowRules({\n scrollDisabled,\n scrollPosition,\n lastStartFixedColumnsIndex,\n firstEndFixedColumnsIndex,\n}: Pick<WrapperPropTypes, 'scrollDisabled' | 'scrollPosition' | 'lastStartFixedColumnsIndex' | 'firstEndFixedColumnsIndex'>): string[] {\n if (scrollDisabled) return [];\n if (!lastStartFixedColumnsIndex && !firstEndFixedColumnsIndex) return [];\n\n const fixedColumnShadow = 'position: absolute; top: 0; bottom: -1px; width: 30px; content: \"\"; pointer-events: none; box-sizing: border-box; transition: box-shadow .3s;';\n\n const startShadowVisible =\n scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end;\n const endShadowVisible =\n scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle;\n\n const startShadow = startShadowVisible\n ? 'box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);'\n : '';\n const endShadow = endShadowVisible\n ? 'box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);'\n : '';\n\n const rules: string[] = [];\n\n if (lastStartFixedColumnsIndex) {\n rules.push(\n `td:nth-child(${lastStartFixedColumnsIndex}):after, th:nth-child(${lastStartFixedColumnsIndex}):after { right: 0; transform: translate(100%); ${fixedColumnShadow} ${startShadow} }`,\n );\n }\n\n if (firstEndFixedColumnsIndex) {\n rules.push(\n `td:nth-last-child(${firstEndFixedColumnsIndex}):after, th:nth-last-child(${firstEndFixedColumnsIndex}):after { left: 0; transform: translate(-100%); ${fixedColumnShadow} ${endShadow} }`,\n );\n }\n\n return rules;\n}\n\nexport const Wrapper = React.forwardRef<HTMLDivElement, WrapperPropTypes>(\n (\n {\n scrollDisabled,\n scrollPosition,\n lastStartFixedColumnsIndex,\n firstEndFixedColumnsIndex,\n showScrollbar,\n className,\n children,\n ...rest\n },\n ref,\n ) => {\n const tableId = useLegacyTableId();\n const shadowRules = getScopedShadowRules({\n scrollDisabled,\n scrollPosition,\n lastStartFixedColumnsIndex,\n firstEndFixedColumnsIndex,\n });\n const scopeSelector = `[data-legacy-table-id=\"${tableId}\"]`;\n const scopedStyle = shadowRules.length > 0\n ? shadowRules.map((rule) => {\n const braceIndex = rule.indexOf('{');\n if (braceIndex === -1) return `${scopeSelector} ${rule}`;\n const selectorPart = rule.slice(0, braceIndex).trim();\n const bodyPart = rule.slice(braceIndex);\n const scopedSelectors = selectorPart\n .split(',')\n .map((sel) => `${scopeSelector} ${sel.trim()}`)\n .join(', ');\n return `${scopedSelectors} ${bodyPart}`;\n }).join('\\n')\n : '';\n\n return (\n <div\n ref={ref}\n data-legacy-table-id={tableId}\n className={buildClassnames([\n styles.wrapper,\n scrollDisabled ? styles.wrapperScrollDisabled : styles.wrapperScrollEnabled,\n showScrollbar && styles.wrapperShowScrollbar,\n className,\n ])}\n {...rest}\n >\n {scopedStyle && <style>{scopedStyle}</style>}\n <TableIdContext.Provider value={tableId}>\n {children}\n </TableIdContext.Provider>\n </div>\n );\n },\n);\n\nWrapper.displayName = 'Wrapper';\n\nexport const WrapperBordered = React.forwardRef<HTMLDivElement, WrapperPropTypes>(\n (props, ref) => (\n <Wrapper ref={ref} {...props} className={buildClassnames([styles.wrapperBordered, props.className])} />\n ),\n);\n\nWrapperBordered.displayName = 'WrapperBordered';\n\n/* --- TooltipContent --- */\n\nexport const TooltipContent = ({ children, ...rest }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={styles.tooltipContent} {...rest}>\n {children}\n </div>\n);\n\n/* --- Head --- */\n\nexport const Head = ({ children, ...rest }: React.HTMLAttributes<HTMLTableSectionElement>) => (\n <thead className={styles.head} {...rest}>\n {children}\n </thead>\n);\n\n/* --- Body --- */\n\ninterface BodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {\n fixedColumnsStyle?: string;\n}\n\nexport const Body = ({ fixedColumnsStyle, className, children, ...rest }: BodyProps) => {\n const tableId = useContext(TableIdContext);\n const shouldRenderStyle = fixedColumnsStyle && tableId;\n return (\n <tbody className={buildClassnames([styles.body, styles.bodyBorderTop, className])} {...rest}>\n {/* Style rendered inside tbody: technically invalid HTML but browsers handle it correctly.\n This feature (fixedColumnsStyle) has zero production usage. Moving to a portal or\n hoisting to Wrapper would require API changes for a dead feature. */}\n {shouldRenderStyle && <style>{`[data-legacy-table-id=\"${tableId}\"] .${styles.body} tr { ${fixedColumnsStyle} }`}</style>}\n {children}\n </tbody>\n );\n};\n\n/* --- Foot --- */\n\nexport const Foot = ({ children, ...rest }: React.HTMLAttributes<HTMLTableSectionElement>) => (\n <tfoot className={styles.foot} {...rest}>\n {children}\n </tfoot>\n);\n\n/* --- Row --- */\n\nexport interface RowProps extends React.HTMLAttributes<HTMLTableRowElement> {\n accentColor?: string;\n}\n\nexport const Row = ({ accentColor, className, children, style, ...rest }: RowProps) => (\n <tr\n className={buildClassnames([styles.row, accentColor && styles.rowAccentColor, className])}\n style={{\n ...assignCssVars({ rowAccentColor: accentColor }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </tr>\n);\n\n/* --- Cell --- */\n\nexport interface CellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n align?: 'left' | 'center' | 'right';\n grow?: boolean;\n}\n\nexport const Cell = ({ align, grow, className, children, style, ...rest }: CellProps) => (\n <td\n className={buildClassnames([styles.cell, grow && styles.cellGrow, className])}\n style={{\n ...assignCssVars({ cellAlign: align }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </td>\n);\n\n/* --- HeaderCell --- */\n\nexport interface HeaderCellProps extends React.ThHTMLAttributes<HTMLTableCellElement> {\n align?: 'left' | 'center' | 'right';\n grow?: boolean;\n}\n\nexport const HeaderCell = ({ align, grow, className, children, style, ...rest }: HeaderCellProps) => (\n <th\n className={buildClassnames([styles.headerCell, grow && styles.cellGrow, className])}\n style={{\n ...assignCssVars({ cellAlign: align }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </th>\n);\n\n/* --- HeaderCellLayout --- */\n\nconst alignmentMap: Record<string, string> = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n};\n\nexport interface HeaderCellLayoutProps extends React.HTMLAttributes<HTMLDivElement> {\n align?: 'left' | 'center' | 'right';\n}\n\nexport const HeaderCellLayout = ({ align, className, children, style, ...rest }: HeaderCellLayoutProps) => (\n <div\n className={buildClassnames([styles.headerCellLayout, className])}\n style={{\n ...assignCssVars({ layoutAlign: align ? alignmentMap[align] : undefined }),\n ...style,\n }}\n {...rest}\n >\n {children}\n </div>\n);\n\n/* --- Table --- */\n\ninterface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {\n striped?: boolean;\n noWrap?: boolean;\n tableLoading?: boolean;\n isFixedLayout?: boolean;\n}\n\nexport const Table = React.forwardRef<HTMLTableElement, TableProps>(\n ({ striped, noWrap, tableLoading, isFixedLayout, className, children, ...rest }, ref) => (\n <table\n ref={ref}\n className={buildClassnames([\n styles.table,\n isFixedLayout && styles.tableFixedLayout,\n tableLoading && styles.tableLoading,\n striped && styles.tableStriped,\n noWrap && styles.tableNoWrap,\n className,\n ])}\n {...rest}\n >\n {children}\n </table>\n ),\n);\n\nTable.displayName = 'Table';\n\n/* --- Footer --- */\n\ninterface FooterProps extends React.HTMLAttributes<HTMLTableSectionElement> {\n fixedColumnsStyle?: string;\n}\n\nexport const Footer = ({ fixedColumnsStyle, className, children, ...rest }: FooterProps) => {\n const tableId = useContext(TableIdContext);\n const shouldRenderStyle = fixedColumnsStyle && tableId;\n return (\n <tfoot className={buildClassnames([styles.footer, className])} {...rest}>\n {shouldRenderStyle && <style>{`[data-legacy-table-id=\"${tableId}\"] .${styles.footer} tr { ${fixedColumnsStyle} }`}</style>}\n {children}\n </tfoot>\n );\n};\n\n/* --- StickyHeaderWrapper --- */\n\nexport const StickyHeaderWrapper = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...rest }, ref) => (\n <div ref={ref} className={buildClassnames([styles.stickyHeaderWrapper, className])} {...rest}>\n {children}\n </div>\n ),\n);\n\nStickyHeaderWrapper.displayName = 'StickyHeaderWrapper';\n\n/* --- FakeHeaderTable (same as Table) --- */\n\nexport const FakeHeaderTable = Table;\n"],"names":["React"],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index = require('../../theme/index.cjs');
5
4
  var withLabels = require('../../hoc/withLabels/withLabels.cjs');
6
- var sizes = require('../../theme/modules/sizes.cjs');
5
+ var buildClassnames = require('../../utils/buildClassnames.cjs');
6
+ require('uid/secure');
7
7
  var Button = require('../Button/Button.cjs');
8
+ var Loader = require('../Loader/Loader.cjs');
9
+ var index = require('../TextField/index.cjs');
8
10
  var CrossIcon = require('../../icons/design-system/components/CrossIcon.cjs');
9
11
  var SearchIcon = require('../../icons/design-system/components/SearchIcon.cjs');
10
- var styled = require('./styled.cjs');
11
- var Loader = require('../Loader/Loader.cjs');
12
+ var Search_module = require('./Search.module.scss.cjs');
12
13
 
13
14
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
15
 
@@ -16,23 +17,28 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
16
17
 
17
18
  const Search = withLabels.withLabels(({ type = 'text', disabled = false, onClearClick, onChange, value = '', className = '', isLoading = false, fill, reversed = false, autoComplete = 'on', ...otherProps }) => {
18
19
  const shouldShowClear = value && value.length > 0;
20
+ const iconPosition = reversed ? 'left' : 'right';
19
21
  const onClickSearch = () => {
20
22
  onChange === null || onChange === void 0 ? void 0 : onChange(value);
21
23
  };
22
24
  const renderIcon = () => {
23
25
  if (isLoading) {
24
- return React__default.default.createElement(Loader.Loader, { height: 24, color: fill || index.theme.colors.secondary.blue.base });
26
+ return React__default.default.createElement(Loader.Loader, { height: 24, color: fill || 'var(--colors-secondary-blue-base)' });
25
27
  }
26
28
  if (shouldShowClear && onClearClick) {
27
29
  return (React__default.default.createElement(Button.Button, { variant: "unstyled", onClick: onClearClick, style: { display: 'flex' }, "aria-label": "Clear text", type: "button" },
28
- React__default.default.createElement(CrossIcon.ReactComponent, { color: fill || index.theme.colors.neutral.ink.dark })));
30
+ React__default.default.createElement(CrossIcon.ReactComponent, { color: fill || 'var(--colors-neutral-ink-dark)' })));
29
31
  }
30
32
  return (React__default.default.createElement(Button.Button, { variant: "unstyled", onClick: onClickSearch, style: { display: 'flex' }, "aria-label": "Search", disabled: disabled, type: "button" },
31
- React__default.default.createElement(SearchIcon.ReactComponent, { color: fill || index.theme.colors.neutral.ink.dark, height: sizes.sizes.md, width: sizes.sizes.md })));
33
+ React__default.default.createElement(SearchIcon.ReactComponent, { color: fill || 'var(--colors-neutral-ink-dark)' })));
32
34
  };
33
- return (React__default.default.createElement(styled.Container, { className: className, iconPosition: reversed ? 'left' : 'right' },
34
- React__default.default.createElement(styled.Input, { type: type, value: value, onChange: onChange, disabled: disabled, autoComplete: autoComplete, ...otherProps }),
35
- React__default.default.createElement(styled.IconContainer, null, renderIcon())));
35
+ return (React__default.default.createElement("div", { className: buildClassnames.buildClassnames([
36
+ Search_module.searchContainer,
37
+ iconPosition === 'left' ? Search_module.iconLeft : Search_module.iconRight,
38
+ className,
39
+ ]) },
40
+ React__default.default.createElement(index.TextField, { className: Search_module.searchInput, type: type, value: value, onChange: onChange, disabled: disabled, autoComplete: autoComplete, ...otherProps }),
41
+ React__default.default.createElement("div", { className: Search_module.iconContainer }, renderIcon())));
36
42
  });
37
43
 
38
44
  exports.Search = Search;
@@ -1 +1 @@
1
- {"version":3,"file":"Search.cjs","sources":["../../../src/components/Search/Search.tsx"],"sourcesContent":["import React from 'react';\n\nimport { theme } from '../../theme';\nimport { withLabels } from '../../hoc';\nimport { SearchProps } from './types';\nimport { sizes } from '../../theme/modules/sizes';\n\nimport { Button } from '../Button';\nimport { CrossIcon, SearchIcon } from '../../icons';\n\nimport { Container, Input, IconContainer, Loader } from './styled';\n\nexport const Search = withLabels(\n ({\n type = 'text',\n disabled = false,\n onClearClick,\n onChange,\n value = '',\n className = '',\n isLoading = false,\n fill,\n reversed = false,\n autoComplete = 'on',\n ...otherProps\n }: SearchProps) => {\n const shouldShowClear = value && value.length > 0;\n\n const onClickSearch = () => {\n onChange?.(value);\n };\n\n const renderIcon = () => {\n if (isLoading) {\n return <Loader height={24} color={fill || theme.colors.secondary.blue.base} />;\n }\n if (shouldShowClear && onClearClick) {\n return (\n <Button\n variant=\"unstyled\"\n onClick={onClearClick}\n style={{ display: 'flex' }}\n aria-label=\"Clear text\"\n type=\"button\"\n >\n <CrossIcon color={fill || theme.colors.neutral.ink.dark} />\n </Button>\n );\n }\n return (\n <Button\n variant=\"unstyled\"\n onClick={onClickSearch}\n style={{ display: 'flex' }}\n aria-label=\"Search\"\n disabled={disabled}\n type=\"button\"\n >\n <SearchIcon\n color={fill || theme.colors.neutral.ink.dark}\n height={sizes.md}\n width={sizes.md}\n />\n </Button>\n );\n };\n\n return (\n <Container className={className} iconPosition={reversed ? 'left' : 'right'}>\n <Input\n type={type}\n value={value}\n onChange={onChange}\n disabled={disabled}\n autoComplete={autoComplete}\n {...otherProps}\n />\n <IconContainer>{renderIcon()}</IconContainer>\n </Container>\n );\n },\n);\n"],"names":["withLabels","React","Loader","theme","Button","CrossIcon","SearchIcon","sizes","Container","Input","IconContainer"],"mappings":";;;;;;;;;;;;;;;;MAYa,MAAM,GAAGA,qBAAU,CAC9B,CAAC,EACC,IAAI,GAAG,MAAM,EACb,QAAQ,GAAG,KAAK,EAChB,YAAY,EACZ,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,EAAE,EACd,SAAS,GAAG,KAAK,EACjB,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,YAAY,GAAG,IAAI,EACnB,GAAG,UAAU,EACD,KAAI;IAChB,MAAM,eAAe,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;IAEjD,MAAM,aAAa,GAAG,MAAK;AACzB,QAAA,QAAQ,aAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAG,KAAK,CAAC;AACnB,IAAA,CAAC;IAED,MAAM,UAAU,GAAG,MAAK;AACtB,QAAA,IAAI,SAAS,EAAE;YACb,OAAOC,sBAAA,CAAA,aAAA,CAACC,aAAM,EAAA,EAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,IAAIC,WAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAA,CAAI;AAC/E,QAAA;QACD,IAAI,eAAe,IAAI,YAAY,EAAE;YACnC,QACEF,sBAAA,CAAA,aAAA,CAACG,aAAM,EAAA,EACL,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,gBACf,YAAY,EACvB,IAAI,EAAC,QAAQ,EAAA;AAEb,gBAAAH,sBAAA,CAAA,aAAA,CAACI,wBAAS,EAAA,EAAC,KAAK,EAAE,IAAI,IAAIF,WAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAA,CAAI,CACpD;AAEZ,QAAA;AACD,QAAA,QACEF,sBAAA,CAAA,aAAA,CAACG,aAAM,EAAA,EACL,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAA,YAAA,EACf,QAAQ,EACnB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,QAAQ,EAAA;AAEb,YAAAH,sBAAA,CAAA,aAAA,CAACK,yBAAU,EAAA,EACT,KAAK,EAAE,IAAI,IAAIH,WAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAC5C,MAAM,EAAEI,WAAK,CAAC,EAAE,EAChB,KAAK,EAAEA,WAAK,CAAC,EAAE,EAAA,CACf,CACK;AAEb,IAAA,CAAC;AAED,IAAA,QACEN,sBAAA,CAAA,aAAA,CAACO,gBAAS,IAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,EAAA;QACxEP,sBAAA,CAAA,aAAA,CAACQ,YAAK,IACJ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAAA,GACtB,UAAU,EAAA,CACd;AACF,QAAAR,sBAAA,CAAA,aAAA,CAACS,oBAAa,EAAA,IAAA,EAAE,UAAU,EAAE,CAAiB,CACnC;AAEhB,CAAC;;;;"}
1
+ {"version":3,"file":"Search.cjs","sources":["../../../src/components/Search/Search.tsx"],"sourcesContent":["import React from 'react';\n\nimport { withLabels } from '../../hoc';\nimport { buildClassnames } from '../../utils';\nimport { SearchProps } from './types';\n\nimport { Button } from '../Button';\nimport { Loader } from '../Loader';\nimport { TextField } from '../TextField';\nimport { CrossIcon, SearchIcon } from '../../icons';\n\nimport styles from './Search.module.scss';\n\nexport const Search = withLabels(\n ({\n type = 'text',\n disabled = false,\n onClearClick,\n onChange,\n value = '',\n className = '',\n isLoading = false,\n fill,\n reversed = false,\n autoComplete = 'on',\n ...otherProps\n }: SearchProps) => {\n const shouldShowClear = value && value.length > 0;\n const iconPosition = reversed ? 'left' : 'right';\n\n const onClickSearch = () => {\n onChange?.(value);\n };\n\n const renderIcon = () => {\n if (isLoading) {\n return <Loader height={24} color={fill || 'var(--colors-secondary-blue-base)'} />;\n }\n if (shouldShowClear && onClearClick) {\n return (\n <Button\n variant=\"unstyled\"\n onClick={onClearClick}\n style={{ display: 'flex' }}\n aria-label=\"Clear text\"\n type=\"button\"\n >\n <CrossIcon color={fill || 'var(--colors-neutral-ink-dark)'} />\n </Button>\n );\n }\n return (\n <Button\n variant=\"unstyled\"\n onClick={onClickSearch}\n style={{ display: 'flex' }}\n aria-label=\"Search\"\n disabled={disabled}\n type=\"button\"\n >\n <SearchIcon color={fill || 'var(--colors-neutral-ink-dark)'} />\n </Button>\n );\n };\n\n return (\n <div\n className={buildClassnames([\n styles.searchContainer,\n iconPosition === 'left' ? styles.iconLeft : styles.iconRight,\n className,\n ])}\n >\n <TextField\n className={styles.searchInput}\n type={type}\n value={value}\n onChange={onChange}\n disabled={disabled}\n autoComplete={autoComplete}\n {...otherProps}\n />\n <div className={styles.iconContainer}>{renderIcon()}</div>\n </div>\n );\n },\n);\n"],"names":["withLabels","React","Loader","Button","CrossIcon","SearchIcon","buildClassnames","styles","TextField"],"mappings":";;;;;;;;;;;;;;;;;MAaa,MAAM,GAAGA,qBAAU,CAC9B,CAAC,EACC,IAAI,GAAG,MAAM,EACb,QAAQ,GAAG,KAAK,EAChB,YAAY,EACZ,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,EAAE,EACd,SAAS,GAAG,KAAK,EACjB,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,YAAY,GAAG,IAAI,EACnB,GAAG,UAAU,EACD,KAAI;IAChB,MAAM,eAAe,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;IACjD,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO;IAEhD,MAAM,aAAa,GAAG,MAAK;AACzB,QAAA,QAAQ,aAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAG,KAAK,CAAC;AACnB,IAAA,CAAC;IAED,MAAM,UAAU,GAAG,MAAK;AACtB,QAAA,IAAI,SAAS,EAAE;AACb,YAAA,OAAOC,sBAAA,CAAA,aAAA,CAACC,aAAM,EAAA,EAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,mCAAmC,GAAI;AAClF,QAAA;QACD,IAAI,eAAe,IAAI,YAAY,EAAE;YACnC,QACED,sBAAA,CAAA,aAAA,CAACE,aAAM,EAAA,EACL,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,gBACf,YAAY,EACvB,IAAI,EAAC,QAAQ,EAAA;gBAEbF,sBAAA,CAAA,aAAA,CAACG,wBAAS,EAAA,EAAC,KAAK,EAAE,IAAI,IAAI,gCAAgC,EAAA,CAAI,CACvD;AAEZ,QAAA;AACD,QAAA,QACEH,sBAAA,CAAA,aAAA,CAACE,aAAM,EAAA,EACL,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAA,YAAA,EACf,QAAQ,EACnB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,QAAQ,EAAA;YAEbF,sBAAA,CAAA,aAAA,CAACI,yBAAU,EAAA,EAAC,KAAK,EAAE,IAAI,IAAI,gCAAgC,EAAA,CAAI,CACxD;AAEb,IAAA,CAAC;AAED,IAAA,QACEJ,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAEK,+BAAe,CAAC;AACzB,YAAAC,aAAM,CAAC,eAAe;AACtB,YAAA,YAAY,KAAK,MAAM,GAAGA,aAAM,CAAC,QAAQ,GAAGA,aAAM,CAAC,SAAS;YAC5D,SAAS;SACV,CAAC,EAAA;AAEF,QAAAN,sBAAA,CAAA,aAAA,CAACO,eAAS,EAAA,EACR,SAAS,EAAED,aAAM,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAAA,GACtB,UAAU,EAAA,CACd;QACFN,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEM,aAAM,CAAC,aAAa,EAAA,EAAG,UAAU,EAAE,CAAO,CACtD;AAEV,CAAC;;;;"}
@@ -293,7 +293,7 @@ export declare const Search: React.ForwardRefExoticComponent<{
293
293
  wrap?: string | undefined;
294
294
  } & {
295
295
  value?: string | undefined;
296
- type?: import("..").TextFieldType | undefined;
296
+ type?: import("../TextField").TextFieldType | undefined;
297
297
  onChange?: ((value: string) => void) | undefined;
298
298
  hasError?: boolean | undefined;
299
299
  disabledMessage?: React.ReactNode;