/** * Outer wrapper that sits between the surrounding page and the table card, * providing the breathing room called out in the Figma frame (node * 5177:12455). Padding (`sp3 sp5` = 16px / 32px) and the `grey4` * page-tinted background are applied in both full view AND quick view so * the table card has the same surrounding chrome in the side panel as * on the full detail page. Quick view additionally fills the panel's * vertical space (`height: 100%`) so the inner scroll container can * scroll. */ export declare const TableWrapperContainer: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { $isQuickViewMode?: boolean; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; /** * Bordered, rounded "card" that frames the JE table. In quick view (side * panel) it stretches to the parent drawer's height so the inner scroll * container can scroll. In full view (transaction detail page) it sizes to * content so the page itself owns the vertical scroll. The card chrome * (border + radius + grey5 background) is always-on to match the Missing * Receipts / Transaction Categorization pattern. * * Note: we intentionally do NOT apply `overflow: hidden` here because that * would establish a scroll container and break the page-relative * `position: sticky` behavior of the header and totals row. The inner * `StickyHeaderContainer` and `StickyTotalsRow` each carry matching * `border-*-radius` so they sit flush against the card's rounded corners. */ export declare const ListViewContainer: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { $isQuickViewMode?: boolean; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; /** * Horizontal scroll container shared by the populated and empty tables. * Vertical overflow is left to the page (or the side-panel drawer in quick * view) so the table doesn't introduce a scroll-within-scroll experience. */ export declare const TableScrollContainer: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { $isQuickView?: boolean; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; /** * Inner flex column that holds the sticky header, the rows, and the sticky * totals row. Keeping `display: flex; flex-direction: column;` allows the * `position: sticky` header / footer to pin against this scrolling parent. */ export declare const TableScrollContent: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; /** * Per-row wrapper used by both the populated table and the skeleton/empty * table. Carries the standard JE row height and the bottom separator. */ export declare const RowWrapper: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; /** * Sticky wrapper that pins the JE header to the top of the scroll container. * Visual chrome (background fill, border-bottom, top-corner radius) lives on * the inner `HeaderContainer` inside `JournalEntryTableHeader` so the header * matches the Figma "Table Row" component (frame 5177:12461) on its own and * renders correctly in isolation (e.g. in stories) — this wrapper now owns * only the positioning concern. */ export declare const StickyHeaderContainer: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { isQuickViewMode?: boolean; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; /** * Sticky totals row pinned to the bottom of the scroll container. Implements * the 32px Figma footer (frame 5177:12750) which fills with the * `Light Theme Colors/Background` token (#F3F7F7) -- mapped to * `theme.colors.background` in our palette. (Earlier `grey3` / #E9F0F0 * was a slightly greener, darker tint that didn't match the design.) * * No `border-top` here: the last `RowWrapper` above already paints a * `border-bottom` (because the totals row is the actual `:last-child` of * the scroll content, so the data row above it is not). Adding a * `border-top` here would stack on top of that and render a 2px double * border between the last data row and the totals row. */ export declare const StickyTotalsRow: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const RowFlex: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { isHovered?: boolean; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const HeaderRowFlex: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; /** * Inline "Dr"/"Cr" prefix shown to the left of the amount field in * debit/credit cells. Color and weight follow the Figma greyMid label. */ export declare const AmountPrefix: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLSpanElement>, {}>; /** * Static "—" placeholder shown when a line is not posted on this * side (e.g. a "credit" row's "debit" cell). */ export declare const EmptyAmountCellPlaceholder: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { $textAlign?: "center" | "left" | "right"; }, import('react').DetailedHTMLProps, HTMLSpanElement>, {}>;