@veeqo/ui 14.10.0-beta-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 (90) hide show
  1. package/dist/components/DataTable/DataTable.cjs +3 -3
  2. package/dist/components/DataTable/DataTable.cjs.map +1 -1
  3. package/dist/components/DataTable/DataTable.js +3 -3
  4. package/dist/components/DataTable/DataTable.js.map +1 -1
  5. package/dist/components/DataTable/components/DataTable.module.scss.cjs +2 -2
  6. package/dist/components/DataTable/components/DataTable.module.scss.cjs.map +1 -1
  7. package/dist/components/DataTable/components/DataTable.module.scss.js +2 -2
  8. package/dist/components/DataTable/components/DataTable.module.scss.js.map +1 -1
  9. package/dist/components/DataTable/components/EmptyBodyContent.cjs +4 -1
  10. package/dist/components/DataTable/components/EmptyBodyContent.cjs.map +1 -1
  11. package/dist/components/DataTable/components/EmptyBodyContent.js +4 -1
  12. package/dist/components/DataTable/components/EmptyBodyContent.js.map +1 -1
  13. package/dist/components/DataTable/components/Header.cjs +1 -1
  14. package/dist/components/DataTable/components/Header.cjs.map +1 -1
  15. package/dist/components/DataTable/components/Header.js +1 -1
  16. package/dist/components/DataTable/components/Header.js.map +1 -1
  17. package/dist/components/DataTable/components/StickyHead.cjs +3 -11
  18. package/dist/components/DataTable/components/StickyHead.cjs.map +1 -1
  19. package/dist/components/DataTable/components/StickyHead.d.ts +2 -1
  20. package/dist/components/DataTable/components/StickyHead.js +3 -11
  21. package/dist/components/DataTable/components/StickyHead.js.map +1 -1
  22. package/dist/components/DataTable/components/TableGrid.cjs +38 -2
  23. package/dist/components/DataTable/components/TableGrid.cjs.map +1 -1
  24. package/dist/components/DataTable/components/TableGrid.d.ts +5 -6
  25. package/dist/components/DataTable/components/TableGrid.js +39 -3
  26. package/dist/components/DataTable/components/TableGrid.js.map +1 -1
  27. package/dist/components/DataTable/utils/generateTableCss.cjs +44 -80
  28. package/dist/components/DataTable/utils/generateTableCss.cjs.map +1 -1
  29. package/dist/components/DataTable/utils/generateTableCss.d.ts +7 -1
  30. package/dist/components/DataTable/utils/generateTableCss.js +44 -80
  31. package/dist/components/DataTable/utils/generateTableCss.js.map +1 -1
  32. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.cjs +2 -2
  33. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.cjs.map +1 -1
  34. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.js +2 -2
  35. package/dist/components/LegacyDataTable/LegacyDataTable.module.scss.js.map +1 -1
  36. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.cjs +2 -2
  37. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.cjs.map +1 -1
  38. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.js +2 -2
  39. package/dist/components/LegacyDataTable/SkeletonContent/SkeletonContent.module.scss.js.map +1 -1
  40. package/dist/components/LegacyDataTable/cells/cells.module.scss.cjs +2 -2
  41. package/dist/components/LegacyDataTable/cells/cells.module.scss.cjs.map +1 -1
  42. package/dist/components/LegacyDataTable/cells/cells.module.scss.js +2 -2
  43. package/dist/components/LegacyDataTable/cells/cells.module.scss.js.map +1 -1
  44. package/dist/components/LegacyDataTable/styled.cjs +31 -36
  45. package/dist/components/LegacyDataTable/styled.cjs.map +1 -1
  46. package/dist/components/LegacyDataTable/styled.js +31 -36
  47. package/dist/components/LegacyDataTable/styled.js.map +1 -1
  48. package/dist/components/Search/Search.cjs +16 -10
  49. package/dist/components/Search/Search.cjs.map +1 -1
  50. package/dist/components/Search/Search.d.ts +1 -1
  51. package/dist/components/Search/Search.js +16 -10
  52. package/dist/components/Search/Search.js.map +1 -1
  53. package/dist/components/Search/Search.module.scss.cjs +9 -0
  54. package/dist/components/Search/Search.module.scss.cjs.map +1 -0
  55. package/dist/components/Search/Search.module.scss.js +7 -0
  56. package/dist/components/Search/Search.module.scss.js.map +1 -0
  57. package/dist/components/Stepper/Stepper.cjs +15 -8
  58. package/dist/components/Stepper/Stepper.cjs.map +1 -1
  59. package/dist/components/Stepper/Stepper.d.ts +1 -8
  60. package/dist/components/Stepper/Stepper.js +15 -8
  61. package/dist/components/Stepper/Stepper.js.map +1 -1
  62. package/dist/components/Stepper/Stepper.module.scss.cjs +9 -0
  63. package/dist/components/Stepper/Stepper.module.scss.cjs.map +1 -0
  64. package/dist/components/Stepper/Stepper.module.scss.js +7 -0
  65. package/dist/components/Stepper/Stepper.module.scss.js.map +1 -0
  66. package/dist/components/Stepper/types.d.ts +8 -0
  67. package/dist/components/Toggle/Toggle.cjs +11 -5
  68. package/dist/components/Toggle/Toggle.cjs.map +1 -1
  69. package/dist/components/Toggle/Toggle.js +11 -5
  70. package/dist/components/Toggle/Toggle.js.map +1 -1
  71. package/dist/components/Toggle/Toggle.module.scss.cjs +9 -0
  72. package/dist/components/Toggle/Toggle.module.scss.cjs.map +1 -0
  73. package/dist/components/Toggle/Toggle.module.scss.js +7 -0
  74. package/dist/components/Toggle/Toggle.module.scss.js.map +1 -0
  75. package/package.json +1 -1
  76. package/dist/components/Search/styled.cjs +0 -45
  77. package/dist/components/Search/styled.cjs.map +0 -1
  78. package/dist/components/Search/styled.d.ts +0 -308
  79. package/dist/components/Search/styled.js +0 -37
  80. package/dist/components/Search/styled.js.map +0 -1
  81. package/dist/components/Stepper/styled.cjs +0 -33
  82. package/dist/components/Stepper/styled.cjs.map +0 -1
  83. package/dist/components/Stepper/styled.d.ts +0 -12
  84. package/dist/components/Stepper/styled.js +0 -25
  85. package/dist/components/Stepper/styled.js.map +0 -1
  86. package/dist/components/Toggle/styled.cjs +0 -20
  87. package/dist/components/Toggle/styled.cjs.map +0 -1
  88. package/dist/components/Toggle/styled.d.ts +0 -12
  89. package/dist/components/Toggle/styled.js +0 -11
  90. package/dist/components/Toggle/styled.js.map +0 -1
@@ -1 +1 @@
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 useScopedShadowCss({\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 = `\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\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 startBlock = lastStartFixedColumnsIndex ? `\n td:nth-child(${lastStartFixedColumnsIndex}):after,\n th:nth-child(${lastStartFixedColumnsIndex}):after {\n right: 0;\n transform: translate(100%);\n ${fixedColumnShadow}\n ${startShadow}\n }\n ` : '';\n\n const endBlock = firstEndFixedColumnsIndex ? `\n td:nth-last-child(${firstEndFixedColumnsIndex}):after,\n th:nth-last-child(${firstEndFixedColumnsIndex}):after {\n left: 0;\n transform: translate(-100%);\n ${fixedColumnShadow}\n ${endShadow}\n }\n ` : '';\n\n return `${startBlock}${endBlock}`;\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 scopedCss = useScopedShadowCss({\n scrollDisabled,\n scrollPosition,\n lastStartFixedColumnsIndex,\n firstEndFixedColumnsIndex,\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 {scopedCss && <style>{`[data-legacy-table-id=\"${tableId}\"] { ${scopedCss} }`}</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 scopeSelector = tableId ? `[data-legacy-table-id=\"${tableId}\"]` : '';\n return (\n <tbody className={buildClassnames([styles.body, styles.bodyBorderTop, className])} {...rest}>\n {/* SAFETY: fixedColumnsStyle is internally generated by convertFixedColumnInlineStyleToStyled. Do not pass user-controlled strings. */}\n {fixedColumnsStyle && <style>{`${scopeSelector} .${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 scopeSelector = tableId ? `[data-legacy-table-id=\"${tableId}\"]` : '';\n return (\n <tfoot className={buildClassnames([styles.footer, className])} {...rest}>\n {fixedColumnsStyle && <style>{`${scopeSelector} .${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
+ {"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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"}
@@ -16,21 +16,12 @@ function useLegacyTableId() {
16
16
  return idRef.current;
17
17
  }
18
18
  const TableIdContext = createContext('');
19
- function useScopedShadowCss({ scrollDisabled, scrollPosition, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, }) {
19
+ function getScopedShadowRules({ scrollDisabled, scrollPosition, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, }) {
20
20
  if (scrollDisabled)
21
- return '';
21
+ return [];
22
22
  if (!lastStartFixedColumnsIndex && !firstEndFixedColumnsIndex)
23
- return '';
24
- const fixedColumnShadow = `
25
- position: absolute;
26
- top: 0;
27
- bottom: -1px;
28
- width: 30px;
29
- content: "";
30
- pointer-events: none;
31
- box-sizing: border-box;
32
- transition: box-shadow .3s;
33
- `;
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;';
34
25
  const startShadowVisible = scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end;
35
26
  const endShadowVisible = scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle;
36
27
  const startShadow = startShadowVisible
@@ -39,41 +30,45 @@ function useScopedShadowCss({ scrollDisabled, scrollPosition, lastStartFixedColu
39
30
  const endShadow = endShadowVisible
40
31
  ? 'box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);'
41
32
  : '';
42
- const startBlock = lastStartFixedColumnsIndex ? `
43
- td:nth-child(${lastStartFixedColumnsIndex}):after,
44
- th:nth-child(${lastStartFixedColumnsIndex}):after {
45
- right: 0;
46
- transform: translate(100%);
47
- ${fixedColumnShadow}
48
- ${startShadow}
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} }`);
49
36
  }
50
- ` : '';
51
- const endBlock = firstEndFixedColumnsIndex ? `
52
- td:nth-last-child(${firstEndFixedColumnsIndex}):after,
53
- th:nth-last-child(${firstEndFixedColumnsIndex}):after {
54
- left: 0;
55
- transform: translate(-100%);
56
- ${fixedColumnShadow}
57
- ${endShadow}
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} }`);
58
39
  }
59
- ` : '';
60
- return `${startBlock}${endBlock}`;
40
+ return rules;
61
41
  }
62
42
  const Wrapper = React__default.forwardRef(({ scrollDisabled, scrollPosition, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, showScrollbar, className, children, ...rest }, ref) => {
63
43
  const tableId = useLegacyTableId();
64
- const scopedCss = useScopedShadowCss({
44
+ const shadowRules = getScopedShadowRules({
65
45
  scrollDisabled,
66
46
  scrollPosition,
67
47
  lastStartFixedColumnsIndex,
68
48
  firstEndFixedColumnsIndex,
69
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
+ : '';
70
65
  return (React__default.createElement("div", { ref: ref, "data-legacy-table-id": tableId, className: buildClassnames([
71
66
  styles.wrapper,
72
67
  scrollDisabled ? styles.wrapperScrollDisabled : styles.wrapperScrollEnabled,
73
68
  showScrollbar && styles.wrapperShowScrollbar,
74
69
  className,
75
70
  ]), ...rest },
76
- scopedCss && React__default.createElement("style", null, `[data-legacy-table-id="${tableId}"] { ${scopedCss} }`),
71
+ scopedStyle && React__default.createElement("style", null, scopedStyle),
77
72
  React__default.createElement(TableIdContext.Provider, { value: tableId }, children)));
78
73
  });
79
74
  Wrapper.displayName = 'Wrapper';
@@ -85,9 +80,9 @@ const TooltipContent = ({ children, ...rest }) => (React__default.createElement(
85
80
  const Head = ({ children, ...rest }) => (React__default.createElement("thead", { className: styles.head, ...rest }, children));
86
81
  const Body = ({ fixedColumnsStyle, className, children, ...rest }) => {
87
82
  const tableId = useContext(TableIdContext);
88
- const scopeSelector = tableId ? `[data-legacy-table-id="${tableId}"]` : '';
83
+ const shouldRenderStyle = fixedColumnsStyle && tableId;
89
84
  return (React__default.createElement("tbody", { className: buildClassnames([styles.body, styles.bodyBorderTop, className]), ...rest },
90
- fixedColumnsStyle && React__default.createElement("style", null, `${scopeSelector} .${styles.body} tr { ${fixedColumnsStyle} }`),
85
+ shouldRenderStyle && React__default.createElement("style", null, `[data-legacy-table-id="${tableId}"] .${styles.body} tr { ${fixedColumnsStyle} }`),
91
86
  children));
92
87
  };
93
88
  const Row = ({ accentColor, className, children, style, ...rest }) => (React__default.createElement("tr", { className: buildClassnames([styles.row, accentColor && styles.rowAccentColor, className]), style: {
@@ -123,9 +118,9 @@ const Table = React__default.forwardRef(({ striped, noWrap, tableLoading, isFixe
123
118
  Table.displayName = 'Table';
124
119
  const Footer = ({ fixedColumnsStyle, className, children, ...rest }) => {
125
120
  const tableId = useContext(TableIdContext);
126
- const scopeSelector = tableId ? `[data-legacy-table-id="${tableId}"]` : '';
121
+ const shouldRenderStyle = fixedColumnsStyle && tableId;
127
122
  return (React__default.createElement("tfoot", { className: buildClassnames([styles.footer, className]), ...rest },
128
- fixedColumnsStyle && React__default.createElement("style", null, `${scopeSelector} .${styles.footer} tr { ${fixedColumnsStyle} }`),
123
+ shouldRenderStyle && React__default.createElement("style", null, `[data-legacy-table-id="${tableId}"] .${styles.footer} tr { ${fixedColumnsStyle} }`),
129
124
  children));
130
125
  };
131
126
  /* --- StickyHeaderWrapper --- */
@@ -1 +1 @@
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 useScopedShadowCss({\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 = `\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\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 startBlock = lastStartFixedColumnsIndex ? `\n td:nth-child(${lastStartFixedColumnsIndex}):after,\n th:nth-child(${lastStartFixedColumnsIndex}):after {\n right: 0;\n transform: translate(100%);\n ${fixedColumnShadow}\n ${startShadow}\n }\n ` : '';\n\n const endBlock = firstEndFixedColumnsIndex ? `\n td:nth-last-child(${firstEndFixedColumnsIndex}):after,\n th:nth-last-child(${firstEndFixedColumnsIndex}):after {\n left: 0;\n transform: translate(-100%);\n ${fixedColumnShadow}\n ${endShadow}\n }\n ` : '';\n\n return `${startBlock}${endBlock}`;\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 scopedCss = useScopedShadowCss({\n scrollDisabled,\n scrollPosition,\n lastStartFixedColumnsIndex,\n firstEndFixedColumnsIndex,\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 {scopedCss && <style>{`[data-legacy-table-id=\"${tableId}\"] { ${scopedCss} }`}</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 scopeSelector = tableId ? `[data-legacy-table-id=\"${tableId}\"]` : '';\n return (\n <tbody className={buildClassnames([styles.body, styles.bodyBorderTop, className])} {...rest}>\n {/* SAFETY: fixedColumnsStyle is internally generated by convertFixedColumnInlineStyleToStyled. Do not pass user-controlled strings. */}\n {fixedColumnsStyle && <style>{`${scopeSelector} .${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 scopeSelector = tableId ? `[data-legacy-table-id=\"${tableId}\"]` : '';\n return (\n <tfoot className={buildClassnames([styles.footer, className])} {...rest}>\n {fixedColumnsStyle && <style>{`${scopeSelector} .${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":";;;;;;;AAKA;AAEA,IAAI,oBAAoB,GAAG,CAAC;AAE5B,SAAS,gBAAgB,GAAA;AACvB,IAAA,MAAM,KAAK,GAAG,MAAM,CAAgB,IAAI,CAAC;AAEzC,IAAA,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE;QAC1B,oBAAoB,IAAI,CAAC;AACzB,QAAA,KAAK,CAAC,OAAO,GAAG,CAAA,IAAA,EAAO,oBAAoB,EAAE;AAC9C,IAAA;IAED,OAAO,KAAK,CAAC,OAAO;AACtB;AAUA,MAAM,cAAc,GAAG,aAAa,CAAS,EAAE,CAAC;AAehD,SAAS,kBAAkB,CAAC,EAC1B,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,yBAAyB,GACgG,EAAA;AACzH,IAAA,IAAI,cAAc;AAAE,QAAA,OAAO,EAAE;AAC7B,IAAA,IAAI,CAAC,0BAA0B,IAAI,CAAC,yBAAyB;AAAE,QAAA,OAAO,EAAE;AAExE,IAAA,MAAM,iBAAiB,GAAG;;;;;;;;;GASzB;AAED,IAAA,MAAM,kBAAkB,GACtB,cAAc,KAAK,cAAc,CAAC,MAAM,IAAI,cAAc,KAAK,cAAc,CAAC,GAAG;AACnF,IAAA,MAAM,gBAAgB,GACpB,cAAc,KAAK,cAAc,CAAC,KAAK,IAAI,cAAc,KAAK,cAAc,CAAC,MAAM;IAErF,MAAM,WAAW,GAAG;AAClB,UAAE;UACA,EAAE;IACN,MAAM,SAAS,GAAG;AAChB,UAAE;UACA,EAAE;AAEN,IAAA,MAAM,UAAU,GAAG,0BAA0B,GAAG;mBAC/B,0BAA0B,CAAA;mBAC1B,0BAA0B,CAAA;;;QAGrC,iBAAiB;QACjB,WAAW;;GAEhB,GAAG,EAAE;AAEN,IAAA,MAAM,QAAQ,GAAG,yBAAyB,GAAG;wBACvB,yBAAyB,CAAA;wBACzB,yBAAyB,CAAA;;;QAGzC,iBAAiB;QACjB,SAAS;;GAEd,GAAG,EAAE;AAEN,IAAA,OAAO,CAAA,EAAG,UAAU,CAAA,EAAG,QAAQ,EAAE;AACnC;AAEO,MAAM,OAAO,GAAGA,cAAK,CAAC,UAAU,CACrC,CACE,EACE,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,yBAAyB,EACzB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EACD,GAAG,KACD;AACF,IAAA,MAAM,OAAO,GAAG,gBAAgB,EAAE;IAClC,MAAM,SAAS,GAAG,kBAAkB,CAAC;QACnC,cAAc;QACd,cAAc;QACd,0BAA0B;QAC1B,yBAAyB;AAC1B,KAAA,CAAC;IAEF,QACEA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,GAAG,EAAA,sBAAA,EACc,OAAO,EAC7B,SAAS,EAAE,eAAe,CAAC;AACzB,YAAA,MAAM,CAAC,OAAO;YACd,cAAc,GAAG,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,oBAAoB;YAC3E,aAAa,IAAI,MAAM,CAAC,oBAAoB;YAC5C,SAAS;AACV,SAAA,CAAC,KACE,IAAI,EAAA;AAEP,QAAA,SAAS,IAAIA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQ,CAAA,uBAAA,EAA0B,OAAO,CAAA,KAAA,EAAQ,SAAS,IAAI,CAAS;AACrF,QAAAA,cAAA,CAAA,aAAA,CAAC,cAAc,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,OAAO,EAAA,EACpC,QAAQ,CACe,CACtB;AAEV,CAAC;AAGH,OAAO,CAAC,WAAW,GAAG,SAAS;AAExB,MAAM,eAAe,GAAGA,cAAK,CAAC,UAAU,CAC7C,CAAC,KAAK,EAAE,GAAG,MACTA,cAAA,CAAA,aAAA,CAAC,OAAO,IAAC,GAAG,EAAE,GAAG,EAAA,GAAM,KAAK,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAA,CAAI,CACxG;AAGH,eAAe,CAAC,WAAW,GAAG,iBAAiB;AAE/C;AAEO,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAwC,MACxFA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,cAAc,EAAA,GAAM,IAAI,EAAA,EAC5C,QAAQ,CACL;AAGR;AAEO,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAiD,MACvFA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAO,SAAS,EAAE,MAAM,CAAC,IAAI,EAAA,GAAM,IAAI,EAAA,EACpC,QAAQ,CACH;AASH,MAAM,IAAI,GAAG,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAa,KAAI;AACrF,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC;AAC1C,IAAA,MAAM,aAAa,GAAG,OAAO,GAAG,CAAA,uBAAA,EAA0B,OAAO,CAAA,EAAA,CAAI,GAAG,EAAE;AAC1E,IAAA,QACEA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAO,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,KAAM,IAAI,EAAA;QAExF,iBAAiB,IAAIA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQ,CAAA,EAAG,aAAa,CAAA,EAAA,EAAK,MAAM,CAAC,IAAI,CAAA,MAAA,EAAS,iBAAiB,CAAA,EAAA,CAAI,CAAS;QACpG,QAAQ,CACH;AAEZ;AAgBO,MAAM,GAAG,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAY,MAChFA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EACE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,IAAI,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,EACzF,KAAK,EAAE;AACL,QAAA,GAAG,aAAa,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;AACjD,QAAA,GAAG,KAAK;AACT,KAAA,EAAA,GACG,IAAI,EAAA,EAEP,QAAQ,CACN;MAUM,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAa,MAClFA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EACE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAC7E,KAAK,EAAE;AACL,QAAA,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACtC,QAAA,GAAG,KAAK;AACT,KAAA,EAAA,GACG,IAAI,EAAA,EAEP,QAAQ,CACN;MAUM,UAAU,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAmB,MAC9FA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EACE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EACnF,KAAK,EAAE;AACL,QAAA,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACtC,QAAA,GAAG,KAAK;AACT,KAAA,EAAA,GACG,IAAI,EAAA,EAEP,QAAQ,CACN;AAGP;AAEA,MAAM,YAAY,GAA2B;AAC3C,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,UAAU;CAClB;AAMM,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAyB,MACpGA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,EAChE,KAAK,EAAE;AACL,QAAA,GAAG,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,EAAE,CAAC;AAC1E,QAAA,GAAG,KAAK;AACT,KAAA,EAAA,GACG,IAAI,EAAA,EAEP,QAAQ,CACL;AAYD,MAAM,KAAK,GAAGA,cAAK,CAAC,UAAU,CACnC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MAClFA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,eAAe,CAAC;AACzB,QAAA,MAAM,CAAC,KAAK;QACZ,aAAa,IAAI,MAAM,CAAC,gBAAgB;QACxC,YAAY,IAAI,MAAM,CAAC,YAAY;QACnC,OAAO,IAAI,MAAM,CAAC,YAAY;QAC9B,MAAM,IAAI,MAAM,CAAC,WAAW;QAC5B,SAAS;AACV,KAAA,CAAC,KACE,IAAI,EAAA,EAEP,QAAQ,CACH,CACT;AAGH,KAAK,CAAC,WAAW,GAAG,OAAO;AAQpB,MAAM,MAAM,GAAG,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAe,KAAI;AACzF,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC;AAC1C,IAAA,MAAM,aAAa,GAAG,OAAO,GAAG,CAAA,uBAAA,EAA0B,OAAO,CAAA,EAAA,CAAI,GAAG,EAAE;AAC1E,IAAA,QACEA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAO,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAM,IAAI,EAAA;QACpE,iBAAiB,IAAIA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQ,CAAA,EAAG,aAAa,CAAA,EAAA,EAAK,MAAM,CAAC,MAAM,CAAA,MAAA,EAAS,iBAAiB,CAAA,EAAA,CAAI,CAAS;QACtG,QAAQ,CACH;AAEZ;AAEA;MAEa,mBAAmB,GAAGA,cAAK,CAAC,UAAU,CACjD,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,MACpCA,sCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,EAAA,GAAM,IAAI,IACzF,QAAQ,CACL,CACP;AAGH,mBAAmB,CAAC,WAAW,GAAG,qBAAqB;AAEvD;AAEO,MAAM,eAAe,GAAG;;;;"}
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;
@@ -1,32 +1,38 @@
1
1
  import React__default from 'react';
2
- import { theme } from '../../theme/index.js';
3
2
  import { withLabels } from '../../hoc/withLabels/withLabels.js';
4
- import { sizes } from '../../theme/modules/sizes.js';
3
+ import { buildClassnames } from '../../utils/buildClassnames.js';
4
+ import 'uid/secure';
5
5
  import { Button } from '../Button/Button.js';
6
+ import { Loader } from '../Loader/Loader.js';
7
+ import { TextField } from '../TextField/index.js';
6
8
  import { ReactComponent as CrossIcon } from '../../icons/design-system/components/CrossIcon.js';
7
9
  import { ReactComponent as SearchIcon } from '../../icons/design-system/components/SearchIcon.js';
8
- import { Container, Input, IconContainer } from './styled.js';
9
- import { Loader } from '../Loader/Loader.js';
10
+ import styles from './Search.module.scss.js';
10
11
 
11
12
  const Search = withLabels(({ type = 'text', disabled = false, onClearClick, onChange, value = '', className = '', isLoading = false, fill, reversed = false, autoComplete = 'on', ...otherProps }) => {
12
13
  const shouldShowClear = value && value.length > 0;
14
+ const iconPosition = reversed ? 'left' : 'right';
13
15
  const onClickSearch = () => {
14
16
  onChange === null || onChange === void 0 ? void 0 : onChange(value);
15
17
  };
16
18
  const renderIcon = () => {
17
19
  if (isLoading) {
18
- return React__default.createElement(Loader, { height: 24, color: fill || theme.colors.secondary.blue.base });
20
+ return React__default.createElement(Loader, { height: 24, color: fill || 'var(--colors-secondary-blue-base)' });
19
21
  }
20
22
  if (shouldShowClear && onClearClick) {
21
23
  return (React__default.createElement(Button, { variant: "unstyled", onClick: onClearClick, style: { display: 'flex' }, "aria-label": "Clear text", type: "button" },
22
- React__default.createElement(CrossIcon, { color: fill || theme.colors.neutral.ink.dark })));
24
+ React__default.createElement(CrossIcon, { color: fill || 'var(--colors-neutral-ink-dark)' })));
23
25
  }
24
26
  return (React__default.createElement(Button, { variant: "unstyled", onClick: onClickSearch, style: { display: 'flex' }, "aria-label": "Search", disabled: disabled, type: "button" },
25
- React__default.createElement(SearchIcon, { color: fill || theme.colors.neutral.ink.dark, height: sizes.md, width: sizes.md })));
27
+ React__default.createElement(SearchIcon, { color: fill || 'var(--colors-neutral-ink-dark)' })));
26
28
  };
27
- return (React__default.createElement(Container, { className: className, iconPosition: reversed ? 'left' : 'right' },
28
- React__default.createElement(Input, { type: type, value: value, onChange: onChange, disabled: disabled, autoComplete: autoComplete, ...otherProps }),
29
- React__default.createElement(IconContainer, null, renderIcon())));
29
+ return (React__default.createElement("div", { className: buildClassnames([
30
+ styles.searchContainer,
31
+ iconPosition === 'left' ? styles.iconLeft : styles.iconRight,
32
+ className,
33
+ ]) },
34
+ React__default.createElement(TextField, { className: styles.searchInput, type: type, value: value, onChange: onChange, disabled: disabled, autoComplete: autoComplete, ...otherProps }),
35
+ React__default.createElement("div", { className: styles.iconContainer }, renderIcon())));
30
36
  });
31
37
 
32
38
  export { Search };
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","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":["React"],"mappings":";;;;;;;;;;MAYa,MAAM,GAAG,UAAU,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,OAAOA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAA,CAAI;AAC/E,QAAA;QACD,IAAI,eAAe,IAAI,YAAY,EAAE;YACnC,QACEA,cAAA,CAAA,aAAA,CAAC,MAAM,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,gBAAAA,cAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EAAC,KAAK,EAAE,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAA,CAAI,CACpD;AAEZ,QAAA;AACD,QAAA,QACEA,cAAA,CAAA,aAAA,CAAC,MAAM,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,YAAAA,cAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EACT,KAAK,EAAE,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAC5C,MAAM,EAAE,KAAK,CAAC,EAAE,EAChB,KAAK,EAAE,KAAK,CAAC,EAAE,EAAA,CACf,CACK;AAEb,IAAA,CAAC;AAED,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,SAAS,IAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,EAAA;QACxEA,cAAA,CAAA,aAAA,CAAC,KAAK,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,QAAAA,cAAA,CAAA,aAAA,CAAC,aAAa,EAAA,IAAA,EAAE,UAAU,EAAE,CAAiB,CACnC;AAEhB,CAAC;;;;"}
1
+ {"version":3,"file":"Search.js","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":["React"],"mappings":";;;;;;;;;;;MAaa,MAAM,GAAG,UAAU,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,OAAOA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,mCAAmC,GAAI;AAClF,QAAA;QACD,IAAI,eAAe,IAAI,YAAY,EAAE;YACnC,QACEA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EACL,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,gBACf,YAAY,EACvB,IAAI,EAAC,QAAQ,EAAA;gBAEbA,cAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EAAC,KAAK,EAAE,IAAI,IAAI,gCAAgC,EAAA,CAAI,CACvD;AAEZ,QAAA;AACD,QAAA,QACEA,cAAA,CAAA,aAAA,CAAC,MAAM,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;YAEbA,cAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAC,KAAK,EAAE,IAAI,IAAI,gCAAgC,EAAA,CAAI,CACxD;AAEb,IAAA,CAAC;AAED,IAAA,QACEA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,eAAe,CAAC;AACzB,YAAA,MAAM,CAAC,eAAe;AACtB,YAAA,YAAY,KAAK,MAAM,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS;YAC5D,SAAS;SACV,CAAC,EAAA;AAEF,QAAAA,cAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EACR,SAAS,EAAE,MAAM,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;QACFA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,aAAa,EAAA,EAAG,UAAU,EAAE,CAAO,CACtD;AAEV,CAAC;;;;"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var ___$insertStyle = require('../../_virtual/____insertStyle.cjs');
4
+
5
+ ___$insertStyle("._searchContainer_12ul5_1 {\n position: relative;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n border-radius: var(--radius-base);\n}\n\n._searchInput_12ul5_9 {\n flex-grow: 2;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n._iconContainer_12ul5_15 {\n position: absolute;\n}\n\n._iconLeft_12ul5_19 ._searchInput_12ul5_9 {\n padding-left: var(--sizes-10);\n}\n._iconLeft_12ul5_19 ._iconContainer_12ul5_15 {\n left: var(--sizes-sm);\n}\n\n._iconRight_12ul5_26 ._searchInput_12ul5_9 {\n padding-right: var(--sizes-10);\n}\n._iconRight_12ul5_26 ._iconContainer_12ul5_15 {\n right: var(--sizes-sm);\n}");
6
+ var styles = {"searchContainer":"_searchContainer_12ul5_1","searchInput":"_searchInput_12ul5_9","iconContainer":"_iconContainer_12ul5_15","iconLeft":"_iconLeft_12ul5_19","iconRight":"_iconRight_12ul5_26"};
7
+
8
+ module.exports = styles;
9
+ //# sourceMappingURL=Search.module.scss.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Search.module.scss.cjs","sources":["../../../src/components/Search/Search.module.scss"],"sourcesContent":[".searchContainer {\n position: relative;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n border-radius: var(--radius-base);\n}\n\n.searchInput {\n flex-grow: 2;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.iconContainer {\n position: absolute;\n}\n\n.iconLeft {\n .searchInput {\n padding-left: var(--sizes-10);\n }\n\n .iconContainer {\n left: var(--sizes-sm);\n }\n}\n\n.iconRight {\n .searchInput {\n padding-right: var(--sizes-10);\n }\n\n .iconContainer {\n right: var(--sizes-sm);\n }\n}\n"],"names":[],"mappings":";;;;AACE,eAAA,CAAA,2nBAAA;AACA,aAAA,CAAA,iBAAA,CAAA,0BAAA,CAAA,aAAA,CAAA,sBAAA,CAAA,eAAA,CAAA,yBAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,WAAA,CAAA,qBAAA;;;;"}
@@ -0,0 +1,7 @@
1
+ import insertStyle from '../../_virtual/____insertStyle.js';
2
+
3
+ insertStyle("._searchContainer_12ul5_1 {\n position: relative;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n border-radius: var(--radius-base);\n}\n\n._searchInput_12ul5_9 {\n flex-grow: 2;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n._iconContainer_12ul5_15 {\n position: absolute;\n}\n\n._iconLeft_12ul5_19 ._searchInput_12ul5_9 {\n padding-left: var(--sizes-10);\n}\n._iconLeft_12ul5_19 ._iconContainer_12ul5_15 {\n left: var(--sizes-sm);\n}\n\n._iconRight_12ul5_26 ._searchInput_12ul5_9 {\n padding-right: var(--sizes-10);\n}\n._iconRight_12ul5_26 ._iconContainer_12ul5_15 {\n right: var(--sizes-sm);\n}");
4
+ var styles = {"searchContainer":"_searchContainer_12ul5_1","searchInput":"_searchInput_12ul5_9","iconContainer":"_iconContainer_12ul5_15","iconLeft":"_iconLeft_12ul5_19","iconRight":"_iconRight_12ul5_26"};
5
+
6
+ export { styles as default };
7
+ //# sourceMappingURL=Search.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Search.module.scss.js","sources":["../../../src/components/Search/Search.module.scss"],"sourcesContent":[".searchContainer {\n position: relative;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n border-radius: var(--radius-base);\n}\n\n.searchInput {\n flex-grow: 2;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.iconContainer {\n position: absolute;\n}\n\n.iconLeft {\n .searchInput {\n padding-left: var(--sizes-10);\n }\n\n .iconContainer {\n left: var(--sizes-sm);\n }\n}\n\n.iconRight {\n .searchInput {\n padding-right: var(--sizes-10);\n }\n\n .iconContainer {\n right: var(--sizes-sm);\n }\n}\n"],"names":["___$insertStyle"],"mappings":";;AACEA,WAAA,CAAA,2nBAAA;AACA,aAAA,CAAA,iBAAA,CAAA,0BAAA,CAAA,aAAA,CAAA,sBAAA,CAAA,eAAA,CAAA,yBAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,WAAA,CAAA,qBAAA;;;;"}
@@ -1,10 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index = require('../../theme/index.cjs');
5
- var styled = require('./styled.cjs');
4
+ var buildClassnames = require('../../utils/buildClassnames.cjs');
5
+ require('uid/secure');
6
6
  var MinusIcon = require('../../icons/design-system/components/MinusIcon.cjs');
7
7
  var PlusIcon = require('../../icons/custom/components/PlusIcon.cjs');
8
+ var Stepper_module = require('./Stepper.module.scss.cjs');
9
+ var index = require('../../theme/index.cjs');
8
10
 
9
11
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
10
12
 
@@ -12,12 +14,17 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
12
14
 
13
15
  const Stepper = ({ onIncrement, onDecrement, disabled, hasError, size }) => {
14
16
  const compact = size === 'sm';
15
- return (React__default.default.createElement(styled.ContainerStack, { hasError: hasError, disabled: disabled, direction: "horizontal", alignY: "center", spacing: "none" },
16
- React__default.default.createElement(styled.StepButton, { type: "button", "aria-label": "Decrement", onClick: onDecrement, disabled: disabled, compact: compact },
17
- React__default.default.createElement(MinusIcon.ReactComponent, { height: index.theme.sizes.base, width: index.theme.sizes.base, color: index.theme.colors.neutral.ink.base })),
18
- React__default.default.createElement(styled.StepperDivider, { compact: compact }),
19
- React__default.default.createElement(styled.StepButton, { type: "button", "aria-label": "Increment", onClick: onIncrement, disabled: disabled, compact: compact },
20
- React__default.default.createElement(PlusIcon.PlusIcon, { height: index.theme.sizes.base, width: index.theme.sizes.base, color: index.theme.colors.neutral.ink.base }))));
17
+ return (React__default.default.createElement("div", { className: buildClassnames.buildClassnames([
18
+ Stepper_module.container,
19
+ compact ? Stepper_module.compact : undefined,
20
+ hasError ? Stepper_module.error : undefined,
21
+ disabled ? Stepper_module.disabled : undefined,
22
+ ]) },
23
+ React__default.default.createElement("button", { type: "button", "aria-label": "Decrement", onClick: onDecrement, disabled: disabled, className: Stepper_module.stepperButton },
24
+ React__default.default.createElement(MinusIcon.ReactComponent, { height: index.theme.sizes.base, width: index.theme.sizes.base })),
25
+ React__default.default.createElement("div", { className: Stepper_module.divider }),
26
+ React__default.default.createElement("button", { type: "button", "aria-label": "Increment", onClick: onIncrement, disabled: disabled, className: Stepper_module.stepperButton },
27
+ React__default.default.createElement(PlusIcon.PlusIcon, { height: index.theme.sizes.base, width: index.theme.sizes.base }))));
21
28
  };
22
29
 
23
30
  exports.Stepper = Stepper;
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.cjs","sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import React from 'react';\nimport { theme } from '../../theme';\nimport { ComponentSizeType } from '../types';\n\nimport { ContainerStack, StepButton, StepperDivider } from './styled';\nimport { MinusIcon, PlusIcon } from '../../icons';\n\nexport interface StepperProps {\n onIncrement: () => void;\n onDecrement: () => void;\n disabled?: boolean;\n hasError?: boolean;\n size?: ComponentSizeType;\n}\n\nexport const Stepper = ({ onIncrement, onDecrement, disabled, hasError, size }: StepperProps) => {\n const compact = size === 'sm';\n\n return (\n <ContainerStack\n hasError={hasError}\n disabled={disabled}\n direction=\"horizontal\"\n alignY=\"center\"\n spacing=\"none\"\n >\n <StepButton\n type=\"button\"\n aria-label=\"Decrement\"\n onClick={onDecrement}\n disabled={disabled}\n compact={compact}\n >\n <MinusIcon\n height={theme.sizes.base}\n width={theme.sizes.base}\n color={theme.colors.neutral.ink.base}\n />\n </StepButton>\n <StepperDivider compact={compact} />\n <StepButton\n type=\"button\"\n aria-label=\"Increment\"\n onClick={onIncrement}\n disabled={disabled}\n compact={compact}\n >\n <PlusIcon\n height={theme.sizes.base}\n width={theme.sizes.base}\n color={theme.colors.neutral.ink.base}\n />\n </StepButton>\n </ContainerStack>\n );\n};\n"],"names":["React","ContainerStack","StepButton","MinusIcon","theme","StepperDivider","PlusIcon"],"mappings":";;;;;;;;;;;;AAeO,MAAM,OAAO,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAgB,KAAI;AAC9F,IAAA,MAAM,OAAO,GAAG,IAAI,KAAK,IAAI;IAE7B,QACEA,qCAACC,qBAAc,EAAA,EACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,YAAY,EACtB,MAAM,EAAC,QAAQ,EACf,OAAO,EAAC,MAAM,EAAA;AAEd,QAAAD,sBAAA,CAAA,aAAA,CAACE,iBAAU,EAAA,EACT,IAAI,EAAC,QAAQ,EAAA,YAAA,EACF,WAAW,EACtB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAAA;AAEhB,YAAAF,sBAAA,CAAA,aAAA,CAACG,wBAAS,EAAA,EACR,MAAM,EAAEC,WAAK,CAAC,KAAK,CAAC,IAAI,EACxB,KAAK,EAAEA,WAAK,CAAC,KAAK,CAAC,IAAI,EACvB,KAAK,EAAEA,WAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GACpC,CACS;AACb,QAAAJ,sBAAA,CAAA,aAAA,CAACK,qBAAc,EAAA,EAAC,OAAO,EAAE,OAAO,EAAA,CAAI;AACpC,QAAAL,sBAAA,CAAA,aAAA,CAACE,iBAAU,EAAA,EACT,IAAI,EAAC,QAAQ,EAAA,YAAA,EACF,WAAW,EACtB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAAA;AAEhB,YAAAF,sBAAA,CAAA,aAAA,CAACM,iBAAQ,EAAA,EACP,MAAM,EAAEF,WAAK,CAAC,KAAK,CAAC,IAAI,EACxB,KAAK,EAAEA,WAAK,CAAC,KAAK,CAAC,IAAI,EACvB,KAAK,EAAEA,WAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAA,CACpC,CACS,CACE;AAErB;;;;"}
1
+ {"version":3,"file":"Stepper.cjs","sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../utils';\nimport { MinusIcon, PlusIcon } from '../../icons';\nimport styles from './Stepper.module.scss';\nimport { StepperProps } from './types';\n\nimport { theme } from '../../theme';\n\nexport const Stepper = ({ onIncrement, onDecrement, disabled, hasError, size }: StepperProps) => {\n const compact = size === 'sm';\n\n return (\n <div\n className={buildClassnames([\n styles.container,\n compact ? styles.compact : undefined,\n hasError ? styles.error : undefined,\n disabled ? styles.disabled : undefined,\n ])}\n >\n <button\n type=\"button\"\n aria-label=\"Decrement\"\n onClick={onDecrement}\n disabled={disabled}\n className={styles.stepperButton}\n >\n <MinusIcon height={theme.sizes.base} width={theme.sizes.base} />\n </button>\n <div className={styles.divider} />\n <button\n type=\"button\"\n aria-label=\"Increment\"\n onClick={onIncrement}\n disabled={disabled}\n className={styles.stepperButton}\n >\n <PlusIcon height={theme.sizes.base} width={theme.sizes.base} />\n </button>\n </div>\n );\n};\n"],"names":["React","buildClassnames","styles","MinusIcon","theme","PlusIcon"],"mappings":";;;;;;;;;;;;;;AAQO,MAAM,OAAO,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAgB,KAAI;AAC9F,IAAA,MAAM,OAAO,GAAG,IAAI,KAAK,IAAI;AAE7B,IAAA,QACEA,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAEC,+BAAe,CAAC;AACzB,YAAAC,cAAM,CAAC,SAAS;YAChB,OAAO,GAAGA,cAAM,CAAC,OAAO,GAAG,SAAS;YACpC,QAAQ,GAAGA,cAAM,CAAC,KAAK,GAAG,SAAS;YACnC,QAAQ,GAAGA,cAAM,CAAC,QAAQ,GAAG,SAAS;SACvC,CAAC,EAAA;AAEF,QAAAF,sBAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,gBACF,WAAW,EACtB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAEE,cAAM,CAAC,aAAa,EAAA;AAE/B,YAAAF,sBAAA,CAAA,aAAA,CAACG,wBAAS,EAAA,EAAC,MAAM,EAAEC,WAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAEA,WAAK,CAAC,KAAK,CAAC,IAAI,GAAI,CACzD;AACT,QAAAJ,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEE,cAAM,CAAC,OAAO,EAAA,CAAI;AAClC,QAAAF,sBAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,gBACF,WAAW,EACtB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAEE,cAAM,CAAC,aAAa,EAAA;YAE/BF,sBAAA,CAAA,aAAA,CAACK,iBAAQ,IAAC,MAAM,EAAED,WAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAEA,WAAK,CAAC,KAAK,CAAC,IAAI,EAAA,CAAI,CACxD,CACL;AAEV;;;;"}
@@ -1,10 +1,3 @@
1
1
  import React from 'react';
2
- import { ComponentSizeType } from '../types';
3
- export interface StepperProps {
4
- onIncrement: () => void;
5
- onDecrement: () => void;
6
- disabled?: boolean;
7
- hasError?: boolean;
8
- size?: ComponentSizeType;
9
- }
2
+ import { StepperProps } from './types';
10
3
  export declare const Stepper: ({ onIncrement, onDecrement, disabled, hasError, size }: StepperProps) => React.JSX.Element;