@cloudscape-design/components 3.0.1309 → 3.0.1311
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.
- package/app-layout/runtime-drawer/index.js +1 -1
- package/app-layout/runtime-drawer/index.js.map +1 -1
- package/app-layout/visual-refresh/drawers.d.ts.map +1 -1
- package/app-layout/visual-refresh/drawers.js +3 -0
- package/app-layout/visual-refresh/drawers.js.map +1 -1
- package/app-layout/visual-refresh/styles.css.js +87 -86
- package/app-layout/visual-refresh/styles.scoped.css +176 -164
- package/app-layout/visual-refresh/styles.selectors.js +87 -86
- package/app-layout/visual-refresh/tools.d.ts.map +1 -1
- package/app-layout/visual-refresh/tools.js +2 -0
- package/app-layout/visual-refresh/tools.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
- package/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +84 -84
- package/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
- package/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
- package/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +6 -6
- package/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
- package/breadcrumb-group/implementation.d.ts.map +1 -1
- package/breadcrumb-group/implementation.js +2 -2
- package/breadcrumb-group/implementation.js.map +1 -1
- package/breadcrumb-group/item/item.d.ts.map +1 -1
- package/breadcrumb-group/item/item.js +2 -1
- package/breadcrumb-group/item/item.js.map +1 -1
- package/button/internal.d.ts +3 -0
- package/button/internal.d.ts.map +1 -1
- package/button/internal.js +2 -2
- package/button/internal.js.map +1 -1
- package/button-dropdown/internal.d.ts.map +1 -1
- package/button-dropdown/internal.js +4 -3
- package/button-dropdown/internal.js.map +1 -1
- package/button-dropdown/styles.css.js +22 -21
- package/button-dropdown/styles.scoped.css +33 -29
- package/button-dropdown/styles.selectors.js +22 -21
- package/button-group/icon-toggle-button-item.js +1 -1
- package/button-group/icon-toggle-button-item.js.map +1 -1
- package/dropdown/internal.d.ts.map +1 -1
- package/dropdown/internal.js +14 -2
- package/dropdown/internal.js.map +1 -1
- package/expandable-section/expandable-section-header.d.ts.map +1 -1
- package/expandable-section/expandable-section-header.js +5 -5
- package/expandable-section/expandable-section-header.js.map +1 -1
- package/expandable-section/styles.css.js +36 -35
- package/expandable-section/styles.scoped.css +81 -66
- package/expandable-section/styles.selectors.js +36 -35
- package/icon/generated/icons.d.ts +1 -0
- package/icon/generated/icons.d.ts.map +1 -1
- package/icon/generated/icons.js +2 -0
- package/icon/generated/icons.js.map +1 -1
- package/icon-provider/interfaces.d.ts +1 -1
- package/icon-provider/interfaces.d.ts.map +1 -1
- package/icon-provider/interfaces.js.map +1 -1
- package/internal/base-component/styles.scoped.css +5 -1
- package/internal/components/button-trigger/index.d.ts.map +1 -1
- package/internal/components/button-trigger/index.js +3 -2
- package/internal/components/button-trigger/index.js.map +1 -1
- package/internal/components/button-trigger/styles.css.js +15 -14
- package/internal/components/button-trigger/styles.scoped.css +35 -29
- package/internal/components/button-trigger/styles.selectors.js +15 -14
- package/internal/components/drag-handle/styles.css.js +14 -14
- package/internal/components/drag-handle/styles.scoped.css +20 -19
- package/internal/components/drag-handle/styles.selectors.js +14 -14
- package/internal/components/drag-handle-wrapper/index.d.ts.map +1 -1
- package/internal/components/drag-handle-wrapper/index.js +6 -3
- package/internal/components/drag-handle-wrapper/index.js.map +1 -1
- package/internal/components/drag-handle-wrapper/portal-overlay.d.ts +2 -0
- package/internal/components/drag-handle-wrapper/portal-overlay.d.ts.map +1 -1
- package/internal/components/drag-handle-wrapper/portal-overlay.js +2 -2
- package/internal/components/drag-handle-wrapper/portal-overlay.js.map +1 -1
- package/internal/components/expand-toggle-button/index.js +2 -2
- package/internal/components/expand-toggle-button/index.js.map +1 -1
- package/internal/environment.js +2 -2
- package/internal/environment.json +2 -2
- package/internal/generated/styles/tokens.d.ts +1 -0
- package/internal/generated/styles/tokens.js +1 -0
- package/internal/generated/theming/index.cjs +33 -0
- package/internal/generated/theming/index.cjs.d.ts +9 -0
- package/internal/generated/theming/index.d.ts +9 -0
- package/internal/generated/theming/index.js +33 -0
- package/internal/hooks/use-mouse-down-target.js +2 -2
- package/internal/hooks/use-mouse-down-target.js.map +1 -1
- package/internal/hooks/use-portal-mode-classes/index.d.ts.map +1 -1
- package/internal/hooks/use-portal-mode-classes/index.js +4 -2
- package/internal/hooks/use-portal-mode-classes/index.js.map +1 -1
- package/internal/hooks/use-visual-mode/index.d.ts +2 -1
- package/internal/hooks/use-visual-mode/index.d.ts.map +1 -1
- package/internal/hooks/use-visual-mode/index.js +2 -1
- package/internal/hooks/use-visual-mode/index.js.map +1 -1
- package/internal/manifest.json +1 -1
- package/manifest.json +2 -2
- package/package.json +1 -1
- package/status-indicator/internal.d.ts.map +1 -1
- package/status-indicator/internal.js +4 -3
- package/status-indicator/internal.js.map +1 -1
- package/status-indicator/styles.css.js +25 -24
- package/status-indicator/styles.scoped.css +75 -40
- package/status-indicator/styles.selectors.js +25 -24
- package/table/header-cell/group-header-cell.d.ts.map +1 -1
- package/table/header-cell/group-header-cell.js +3 -15
- package/table/header-cell/group-header-cell.js.map +1 -1
- package/table/header-cell/styles.css.js +33 -33
- package/table/header-cell/styles.scoped.css +73 -73
- package/table/header-cell/styles.selectors.js +33 -33
- package/table/header-cell/th-element.d.ts +6 -6
- package/table/header-cell/th-element.d.ts.map +1 -1
- package/table/header-cell/th-element.js +4 -3
- package/table/header-cell/th-element.js.map +1 -1
- package/table/interfaces.d.ts +11 -0
- package/table/interfaces.d.ts.map +1 -1
- package/table/interfaces.js.map +1 -1
- package/table/internal.d.ts.map +1 -1
- package/table/internal.js +104 -99
- package/table/internal.js.map +1 -1
- package/table/skeleton-rows.d.ts +38 -0
- package/table/skeleton-rows.d.ts.map +1 -0
- package/table/skeleton-rows.js +33 -0
- package/table/skeleton-rows.js.map +1 -0
- package/table/sticky-columns/use-sticky-columns.d.ts +3 -1
- package/table/sticky-columns/use-sticky-columns.d.ts.map +1 -1
- package/table/sticky-columns/use-sticky-columns.js +31 -7
- package/table/sticky-columns/use-sticky-columns.js.map +1 -1
- package/table/styles.css.js +36 -35
- package/table/styles.scoped.css +48 -42
- package/table/styles.selectors.js +36 -35
- package/table/thead.d.ts.map +1 -1
- package/table/thead.js +1 -1
- package/table/thead.js.map +1 -1
- package/test-utils/dom/table/index.js +1 -1
- package/test-utils/dom/table/index.js.map +1 -1
- package/test-utils/selectors/table/index.js +1 -1
- package/test-utils/selectors/table/index.js.map +1 -1
- package/theming/index.d.ts +3 -1
- package/theming/index.d.ts.map +1 -1
- package/theming/index.js +55 -0
- package/theming/index.js.map +1 -1
- package/tree-view/tree-item/index.d.ts.map +1 -1
- package/tree-view/tree-item/index.js +2 -1
- package/tree-view/tree-item/index.js.map +1 -1
- package/tree-view/tree-item/styles.css.js +10 -9
- package/tree-view/tree-item/styles.scoped.css +19 -12
- package/tree-view/tree-item/styles.selectors.js +10 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-sticky-columns.js","sourceRoot":"","sources":["../../../../src/table/sticky-columns/use-sticky-columns.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useResizeObserver, useStableCallback } from '@cloudscape-design/component-toolkit/internal';\nimport { getLogicalBoundingClientRect, getScrollInlineStart } from '@cloudscape-design/component-toolkit/internal';\n\nimport AsyncStore, { ReadonlyAsyncStore } from '../../area-chart/async-store';\nimport {\n CellOffsets,\n StickyColumnsCellState,\n StickyColumnsProps,\n StickyColumnsState,\n StickyColumnsWrapperState,\n} from './interfaces';\nimport { isCellStatesEqual, isWrapperStatesEqual, updateCellOffsets } from './utils';\n\n// We allow the table to have a minimum of 148px of available space besides the sum of the widths of the sticky columns\n// This value is an UX recommendation and is approximately 1/3 of our smallest breakpoint (465px)\nconst MINIMUM_SCROLLABLE_SPACE = 148;\n\nexport interface StickyColumnsModel {\n store: ReadonlyAsyncStore<StickyColumnsState>;\n style: {\n wrapper?: React.CSSProperties;\n };\n refs: {\n table: React.RefCallback<HTMLElement>;\n wrapper: React.RefCallback<HTMLElement>;\n cell: (columnId: PropertyKey, node: null | HTMLElement) => void;\n };\n}\n\nexport function useStickyColumns({\n visibleColumns,\n stickyColumnsFirst,\n stickyColumnsLast,\n}: StickyColumnsProps): StickyColumnsModel {\n const store = useMemo(() => new StickyColumnsStore(), []);\n const wrapperRef = useRef<HTMLElement>(null) as React.MutableRefObject<null | HTMLElement>;\n const tableRef = useRef<HTMLElement>(null) as React.MutableRefObject<null | HTMLElement>;\n const cellsRef = useRef(new Map<PropertyKey, HTMLElement>());\n\n const hasStickyColumns = stickyColumnsFirst + stickyColumnsLast > 0;\n\n const updateStickyStyles = useStableCallback(() => {\n if (wrapperRef.current && tableRef.current) {\n store.updateCellStyles({\n wrapper: wrapperRef.current,\n table: tableRef.current,\n cells: cellsRef.current,\n visibleColumns,\n stickyColumnsFirst,\n stickyColumnsLast,\n });\n }\n });\n\n useResizeObserver(wrapperRef, updateStickyStyles);\n\n useResizeObserver(tableRef, updateStickyStyles);\n\n useEffect(() => {\n if (wrapperRef.current && tableRef.current) {\n store.updateCellStyles({\n wrapper: wrapperRef.current,\n table: tableRef.current,\n cells: cellsRef.current,\n visibleColumns,\n stickyColumnsFirst,\n stickyColumnsLast,\n });\n }\n }, [store, stickyColumnsFirst, stickyColumnsLast, visibleColumns]);\n\n // Update wrapper styles imperatively to avoid unnecessary re-renders.\n useEffect(() => {\n if (!hasStickyColumns) {\n return;\n }\n\n const selector = (state: StickyColumnsState) => state.wrapperState;\n\n const updateWrapperStyles = (state: StickyColumnsWrapperState, prev: StickyColumnsWrapperState) => {\n if (isWrapperStatesEqual(state, prev)) {\n return;\n }\n\n if (wrapperRef.current) {\n wrapperRef.current.style.scrollPaddingInlineStart = state.scrollPaddingInlineStart + 'px';\n wrapperRef.current.style.scrollPaddingInlineEnd = state.scrollPaddingInlineEnd + 'px';\n }\n };\n\n const unsubscribe = store.subscribe(selector, (newState, prevState) =>\n updateWrapperStyles(selector(newState), selector(prevState))\n );\n return unsubscribe;\n }, [store, hasStickyColumns]);\n\n const setWrapper = useCallback(\n (node: null | HTMLElement) => {\n if (wrapperRef.current) {\n wrapperRef.current.removeEventListener('scroll', updateStickyStyles);\n }\n if (node && hasStickyColumns) {\n node.addEventListener('scroll', updateStickyStyles);\n }\n wrapperRef.current = node;\n },\n [hasStickyColumns, updateStickyStyles]\n );\n\n const setTable = useCallback((node: null | HTMLElement) => {\n tableRef.current = node;\n }, []);\n\n const setCell = useCallback((columnId: PropertyKey, node: null | HTMLElement) => {\n if (node) {\n cellsRef.current.set(columnId, node);\n } else {\n cellsRef.current.delete(columnId);\n }\n }, []);\n\n return {\n store,\n style: {\n // Provide wrapper styles as props so that a re-render won't cause invalidation.\n wrapper: hasStickyColumns ? { ...store.get().wrapperState } : undefined,\n },\n refs: { wrapper: setWrapper, table: setTable, cell: setCell },\n };\n}\n\ninterface UseStickyCellStylesProps {\n stickyColumns: StickyColumnsModel;\n columnId: PropertyKey;\n getClassName: (styles: null | StickyColumnsCellState) => Record<string, boolean>;\n}\n\ninterface StickyCellStyles {\n ref: React.RefCallback<HTMLElement>;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function useStickyCellStyles({\n stickyColumns,\n columnId,\n getClassName,\n}: UseStickyCellStylesProps): StickyCellStyles {\n const setCell = stickyColumns.refs.cell;\n\n // unsubscribeRef to hold the function to unsubscribe from the store's updates\n const unsubscribeRef = useRef<null | (() => void)>(null);\n\n // refCallback updates the cell ref and sets up the store subscription\n const refCallback = useCallback(\n (cellElement: null | HTMLElement) => {\n if (unsubscribeRef.current) {\n // Unsubscribe before we do any updates to avoid leaving any subscriptions hanging\n unsubscribeRef.current();\n }\n\n // Update cellRef and the store's state to point to the new DOM node\n setCell(columnId, cellElement);\n\n // Update cell styles imperatively to avoid unnecessary re-renders.\n const selector = (state: StickyColumnsState) => state.cellState.get(columnId) ?? null;\n\n const updateCellStyles = (state: null | StickyColumnsCellState, prev: null | StickyColumnsCellState) => {\n if (isCellStatesEqual(state, prev)) {\n return;\n }\n\n const className = getClassName(state);\n if (cellElement) {\n Object.keys(className).forEach(key => {\n if (className[key]) {\n cellElement.classList.add(key);\n } else {\n cellElement.classList.remove(key);\n }\n });\n cellElement.style.insetInlineStart =\n state?.offset.insetInlineStart !== undefined ? `${state.offset.insetInlineStart}px` : '';\n cellElement.style.insetInlineEnd =\n state?.offset.insetInlineEnd !== undefined ? `${state.offset.insetInlineEnd}px` : '';\n }\n };\n\n // If the node is not null (i.e., the table cell is being mounted or updated, not unmounted),\n // set up a new subscription to the store's updates\n if (cellElement) {\n unsubscribeRef.current = stickyColumns.store.subscribe(selector, (newState, prevState) => {\n updateCellStyles(selector(newState), selector(prevState));\n });\n }\n },\n\n // getClassName is expected to be pure\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [columnId, setCell, stickyColumns.store]\n );\n\n // Provide cell styles as props so that a re-render won't cause invalidation.\n const cellStyles = stickyColumns.store.get().cellState.get(columnId);\n return {\n ref: refCallback,\n className: cellStyles ? clsx(getClassName(cellStyles)) : undefined,\n style: cellStyles?.offset ?? undefined,\n };\n}\n\ninterface UpdateCellStylesProps {\n wrapper: HTMLElement;\n table: HTMLElement;\n cells: Map<PropertyKey, HTMLElement>;\n visibleColumns: readonly PropertyKey[];\n stickyColumnsFirst: number;\n stickyColumnsLast: number;\n}\n\nclass StickyColumnsStore extends AsyncStore<StickyColumnsState> {\n private cellOffsets: CellOffsets = {\n offsets: new Map(),\n stickyWidthInlineStart: 0,\n stickyWidthInlineEnd: 0,\n };\n private isStuckToTheInlineStart = false;\n private isStuckToTheInlineEnd = false;\n private padInlineStart = false;\n\n constructor() {\n super({ cellState: new Map(), wrapperState: { scrollPaddingInlineStart: 0, scrollPaddingInlineEnd: 0 } });\n }\n\n public updateCellStyles(props: UpdateCellStylesProps) {\n const hasStickyColumns = props.stickyColumnsFirst + props.stickyColumnsLast > 0;\n const hadStickyColumns = this.cellOffsets.offsets.size > 0;\n\n if (hasStickyColumns || hadStickyColumns) {\n this.updateScroll(props);\n this.updateCellOffsets(props);\n this.set(() => ({\n cellState: this.generateCellStyles(props),\n wrapperState: {\n scrollPaddingInlineStart: this.cellOffsets.stickyWidthInlineStart,\n scrollPaddingInlineEnd: this.cellOffsets.stickyWidthInlineEnd,\n },\n }));\n }\n }\n\n private updateScroll(props: UpdateCellStylesProps) {\n const wrapperScrollInlineStart = getScrollInlineStart(props.wrapper);\n const wrapperScrollWidth = props.wrapper.scrollWidth;\n const wrapperClientWidth = props.wrapper.clientWidth;\n const tablePaddingInlineStart = parseFloat(getComputedStyle(props.table).paddingInlineStart) || 0;\n const tablePaddingInlineEnd = parseFloat(getComputedStyle(props.table).paddingInlineEnd) || 0;\n\n this.isStuckToTheInlineStart = wrapperScrollInlineStart > tablePaddingInlineStart;\n\n // Math.ceil() is used here to address an edge-case in certain browsers, where they return non-integer wrapperScrollInlineStart values\n // which are lower than expected (sub-pixel difference), resulting in the table always being in the \"stuck to the right\" state\n this.isStuckToTheInlineEnd =\n Math.ceil(wrapperScrollInlineStart) < wrapperScrollWidth - wrapperClientWidth - tablePaddingInlineEnd;\n\n this.padInlineStart = tablePaddingInlineStart !== 0 && this.isStuckToTheInlineStart;\n }\n\n private generateCellStyles = (props: UpdateCellStylesProps): Map<PropertyKey, StickyColumnsCellState> => {\n const isEnabled = this.isEnabled(props);\n const lastLeftStickyColumnIndex = props.stickyColumnsFirst - 1;\n const lastRightStickyColumnIndex = props.visibleColumns.length - props.stickyColumnsLast;\n\n return props.visibleColumns.reduce((acc, columnId, index) => {\n let stickySide = 'non-sticky';\n if (index < props.stickyColumnsFirst) {\n stickySide = 'inline-start';\n } else if (index >= props.visibleColumns.length - props.stickyColumnsLast) {\n stickySide = 'inline-end';\n }\n\n if (!isEnabled || stickySide === 'non-sticky') {\n return acc;\n }\n\n // Determine the offset of the sticky column using the `cellOffsets` state object\n const isFirstColumn = index === 0;\n const stickyColumnOffsetLeft = this.cellOffsets.offsets.get(columnId)?.first ?? 0;\n const stickyColumnOffsetRight = this.cellOffsets.offsets.get(columnId)?.last ?? 0;\n\n acc.set(columnId, {\n padInlineStart: isFirstColumn && this.padInlineStart,\n lastInsetInlineStart: this.isStuckToTheInlineStart && lastLeftStickyColumnIndex === index,\n lastInsetInlineEnd: this.isStuckToTheInlineEnd && lastRightStickyColumnIndex === index,\n offset: {\n insetInlineStart: stickySide === 'inline-start' ? stickyColumnOffsetLeft : undefined,\n insetInlineEnd: stickySide === 'inline-end' ? stickyColumnOffsetRight : undefined,\n },\n });\n return acc;\n }, new Map<PropertyKey, StickyColumnsCellState>());\n };\n\n private updateCellOffsets = (props: UpdateCellStylesProps): void => {\n this.cellOffsets = updateCellOffsets(props.cells, props);\n };\n\n private isEnabled = (props: UpdateCellStylesProps): boolean => {\n const noStickyColumns = props.stickyColumnsFirst + props.stickyColumnsLast === 0;\n if (noStickyColumns) {\n return false;\n }\n\n const wrapperWidth = getLogicalBoundingClientRect(props.wrapper).inlineSize;\n const tableWidth = getLogicalBoundingClientRect(props.table).inlineSize;\n const isWrapperScrollable = tableWidth > wrapperWidth;\n if (!isWrapperScrollable) {\n return false;\n }\n\n const totalStickySpace = this.cellOffsets.stickyWidthInlineStart + this.cellOffsets.stickyWidthInlineEnd;\n const tablePaddingLeft = parseFloat(getComputedStyle(props.table).paddingLeft) || 0;\n const tablePaddingRight = parseFloat(getComputedStyle(props.table).paddingRight) || 0;\n const hasEnoughScrollableSpace =\n totalStickySpace + MINIMUM_SCROLLABLE_SPACE + tablePaddingLeft + tablePaddingRight < wrapperWidth;\n if (!hasEnoughScrollableSpace) {\n return false;\n }\n\n return true;\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"use-sticky-columns.js","sourceRoot":"","sources":["../../../../src/table/sticky-columns/use-sticky-columns.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useResizeObserver, useStableCallback } from '@cloudscape-design/component-toolkit/internal';\nimport { getLogicalBoundingClientRect, getScrollInlineStart } from '@cloudscape-design/component-toolkit/internal';\n\nimport AsyncStore, { ReadonlyAsyncStore } from '../../area-chart/async-store';\nimport {\n CellOffsets,\n StickyColumnsCellState,\n StickyColumnsProps,\n StickyColumnsState,\n StickyColumnsWrapperState,\n} from './interfaces';\nimport { isCellStatesEqual, isWrapperStatesEqual, updateCellOffsets } from './utils';\n\n// We allow the table to have a minimum of 148px of available space besides the sum of the widths of the sticky columns\n// This value is an UX recommendation and is approximately 1/3 of our smallest breakpoint (465px)\nconst MINIMUM_SCROLLABLE_SPACE = 148;\n\nexport interface StickyColumnsModel {\n store: ReadonlyAsyncStore<StickyColumnsState>;\n style: {\n wrapper?: React.CSSProperties;\n };\n refs: {\n table: React.RefCallback<HTMLElement>;\n wrapper: React.RefCallback<HTMLElement>;\n cell: (columnId: PropertyKey, node: null | HTMLElement) => void;\n };\n}\n\nexport function useStickyColumns({\n visibleColumns,\n stickyColumnsFirst,\n stickyColumnsLast,\n}: StickyColumnsProps): StickyColumnsModel {\n const store = useMemo(() => new StickyColumnsStore(), []);\n const wrapperRef = useRef<HTMLElement>(null) as React.MutableRefObject<null | HTMLElement>;\n const tableRef = useRef<HTMLElement>(null) as React.MutableRefObject<null | HTMLElement>;\n const cellsRef = useRef(new Map<PropertyKey, HTMLElement>());\n\n const hasStickyColumns = stickyColumnsFirst + stickyColumnsLast > 0;\n\n const updateStickyStyles = useStableCallback(() => {\n if (wrapperRef.current && tableRef.current) {\n store.updateCellStyles({\n wrapper: wrapperRef.current,\n table: tableRef.current,\n cells: cellsRef.current,\n visibleColumns,\n stickyColumnsFirst,\n stickyColumnsLast,\n });\n }\n });\n\n useResizeObserver(wrapperRef, updateStickyStyles);\n\n useResizeObserver(tableRef, updateStickyStyles);\n\n useEffect(() => {\n if (wrapperRef.current && tableRef.current) {\n store.updateCellStyles({\n wrapper: wrapperRef.current,\n table: tableRef.current,\n cells: cellsRef.current,\n visibleColumns,\n stickyColumnsFirst,\n stickyColumnsLast,\n });\n }\n }, [store, stickyColumnsFirst, stickyColumnsLast, visibleColumns]);\n\n // Update wrapper styles imperatively to avoid unnecessary re-renders.\n useEffect(() => {\n if (!hasStickyColumns) {\n return;\n }\n\n const selector = (state: StickyColumnsState) => state.wrapperState;\n\n const updateWrapperStyles = (state: StickyColumnsWrapperState, prev: StickyColumnsWrapperState) => {\n if (isWrapperStatesEqual(state, prev)) {\n return;\n }\n\n if (wrapperRef.current) {\n wrapperRef.current.style.scrollPaddingInlineStart = state.scrollPaddingInlineStart + 'px';\n wrapperRef.current.style.scrollPaddingInlineEnd = state.scrollPaddingInlineEnd + 'px';\n }\n };\n\n const unsubscribe = store.subscribe(selector, (newState, prevState) =>\n updateWrapperStyles(selector(newState), selector(prevState))\n );\n return unsubscribe;\n }, [store, hasStickyColumns]);\n\n const setWrapper = useCallback(\n (node: null | HTMLElement) => {\n if (wrapperRef.current) {\n wrapperRef.current.removeEventListener('scroll', updateStickyStyles);\n }\n if (node && hasStickyColumns) {\n node.addEventListener('scroll', updateStickyStyles);\n }\n wrapperRef.current = node;\n },\n [hasStickyColumns, updateStickyStyles]\n );\n\n const setTable = useCallback((node: null | HTMLElement) => {\n tableRef.current = node;\n }, []);\n\n const setCell = useCallback((columnId: PropertyKey, node: null | HTMLElement) => {\n if (node) {\n cellsRef.current.set(columnId, node);\n } else {\n cellsRef.current.delete(columnId);\n }\n }, []);\n\n return {\n store,\n style: {\n // Provide wrapper styles as props so that a re-render won't cause invalidation.\n wrapper: hasStickyColumns ? { ...store.get().wrapperState } : undefined,\n },\n refs: { wrapper: setWrapper, table: setTable, cell: setCell },\n };\n}\n\ninterface UseStickyCellStylesProps {\n stickyColumns: StickyColumnsModel;\n columnId: PropertyKey;\n getClassName: (styles: null | StickyColumnsCellState) => Record<string, boolean>;\n // Optional column to inherit the boundary shadow flags from. Used by group header cells\n // that span multiple leaves: the cell's offset is owned by `columnId` (one of its child\n // leaves), but the boundary shadow lives on a different leaf (the group's boundary child).\n // The hook keeps a single subscription/writer and merges the boundary leaf's\n // `lastInsetInlineStart` / `lastInsetInlineEnd` into the cell state passed to getClassName.\n boundaryColumnId?: PropertyKey;\n}\n\ninterface StickyCellStyles {\n ref: React.RefCallback<HTMLElement>;\n className?: string;\n style?: React.CSSProperties;\n}\n\n// Merges the boundary leaf's shadow flags into the position leaf's cell state.\n// Returns the position state untouched when there is no boundary column or no boundary state.\nfunction mergeBoundaryShadow(\n positionState: null | StickyColumnsCellState,\n boundaryState: null | StickyColumnsCellState\n): null | StickyColumnsCellState {\n if (!positionState || !boundaryState) {\n return positionState;\n }\n if (\n positionState.lastInsetInlineStart === boundaryState.lastInsetInlineStart &&\n positionState.lastInsetInlineEnd === boundaryState.lastInsetInlineEnd\n ) {\n return positionState;\n }\n return {\n ...positionState,\n lastInsetInlineStart: positionState.lastInsetInlineStart || boundaryState.lastInsetInlineStart,\n lastInsetInlineEnd: positionState.lastInsetInlineEnd || boundaryState.lastInsetInlineEnd,\n };\n}\n\nexport function useStickyCellStyles({\n stickyColumns,\n columnId,\n getClassName,\n boundaryColumnId,\n}: UseStickyCellStylesProps): StickyCellStyles {\n const setCell = stickyColumns.refs.cell;\n\n // unsubscribeRef to hold the function to unsubscribe from the store's updates\n const unsubscribeRef = useRef<null | (() => void)>(null);\n\n // refCallback updates the cell ref and sets up the store subscription\n const refCallback = useCallback(\n (cellElement: null | HTMLElement) => {\n if (unsubscribeRef.current) {\n // Unsubscribe before we do any updates to avoid leaving any subscriptions hanging\n unsubscribeRef.current();\n }\n\n // Update cellRef and the store's state to point to the new DOM node\n setCell(columnId, cellElement);\n\n // Update cell styles imperatively to avoid unnecessary re-renders.\n const selector = (state: StickyColumnsState) => {\n const positionState = state.cellState.get(columnId) ?? null;\n const boundaryState = boundaryColumnId !== undefined ? (state.cellState.get(boundaryColumnId) ?? null) : null;\n return mergeBoundaryShadow(positionState, boundaryState);\n };\n\n const updateCellStyles = (state: null | StickyColumnsCellState, prev: null | StickyColumnsCellState) => {\n if (isCellStatesEqual(state, prev)) {\n return;\n }\n\n const className = getClassName(state);\n if (cellElement) {\n Object.keys(className).forEach(key => {\n if (className[key]) {\n cellElement.classList.add(key);\n } else {\n cellElement.classList.remove(key);\n }\n });\n cellElement.style.insetInlineStart =\n state?.offset.insetInlineStart !== undefined ? `${state.offset.insetInlineStart}px` : '';\n cellElement.style.insetInlineEnd =\n state?.offset.insetInlineEnd !== undefined ? `${state.offset.insetInlineEnd}px` : '';\n }\n };\n\n // If the node is not null (i.e., the table cell is being mounted or updated, not unmounted),\n // set up a new subscription to the store's updates\n if (cellElement) {\n unsubscribeRef.current = stickyColumns.store.subscribe(selector, (newState, prevState) => {\n updateCellStyles(selector(newState), selector(prevState));\n });\n }\n },\n\n // getClassName is expected to be pure\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [columnId, boundaryColumnId, setCell, stickyColumns.store]\n );\n\n // Provide cell styles as props so that a re-render won't cause invalidation.\n const storeState = stickyColumns.store.get();\n const positionStyles = storeState.cellState.get(columnId) ?? null;\n const boundaryStyles = boundaryColumnId !== undefined ? (storeState.cellState.get(boundaryColumnId) ?? null) : null;\n const mergedStyles = mergeBoundaryShadow(positionStyles, boundaryStyles);\n return {\n ref: refCallback,\n className: mergedStyles ? clsx(getClassName(mergedStyles)) : undefined,\n style: positionStyles?.offset ?? undefined,\n };\n}\n\ninterface UpdateCellStylesProps {\n wrapper: HTMLElement;\n table: HTMLElement;\n cells: Map<PropertyKey, HTMLElement>;\n visibleColumns: readonly PropertyKey[];\n stickyColumnsFirst: number;\n stickyColumnsLast: number;\n}\n\nclass StickyColumnsStore extends AsyncStore<StickyColumnsState> {\n private cellOffsets: CellOffsets = {\n offsets: new Map(),\n stickyWidthInlineStart: 0,\n stickyWidthInlineEnd: 0,\n };\n private isStuckToTheInlineStart = false;\n private isStuckToTheInlineEnd = false;\n private padInlineStart = false;\n\n constructor() {\n super({ cellState: new Map(), wrapperState: { scrollPaddingInlineStart: 0, scrollPaddingInlineEnd: 0 } });\n }\n\n public updateCellStyles(props: UpdateCellStylesProps) {\n const hasStickyColumns = props.stickyColumnsFirst + props.stickyColumnsLast > 0;\n const hadStickyColumns = this.cellOffsets.offsets.size > 0;\n\n if (hasStickyColumns || hadStickyColumns) {\n this.updateScroll(props);\n this.updateCellOffsets(props);\n this.set(() => ({\n cellState: this.generateCellStyles(props),\n wrapperState: {\n scrollPaddingInlineStart: this.cellOffsets.stickyWidthInlineStart,\n scrollPaddingInlineEnd: this.cellOffsets.stickyWidthInlineEnd,\n },\n }));\n }\n }\n\n private updateScroll(props: UpdateCellStylesProps) {\n const wrapperScrollInlineStart = getScrollInlineStart(props.wrapper);\n const wrapperScrollWidth = props.wrapper.scrollWidth;\n const wrapperClientWidth = props.wrapper.clientWidth;\n const tablePaddingInlineStart = parseFloat(getComputedStyle(props.table).paddingInlineStart) || 0;\n const tablePaddingInlineEnd = parseFloat(getComputedStyle(props.table).paddingInlineEnd) || 0;\n\n this.isStuckToTheInlineStart = wrapperScrollInlineStart > tablePaddingInlineStart;\n\n // Math.ceil() is used here to address an edge-case in certain browsers, where they return non-integer wrapperScrollInlineStart values\n // which are lower than expected (sub-pixel difference), resulting in the table always being in the \"stuck to the right\" state\n this.isStuckToTheInlineEnd =\n Math.ceil(wrapperScrollInlineStart) < wrapperScrollWidth - wrapperClientWidth - tablePaddingInlineEnd;\n\n this.padInlineStart = tablePaddingInlineStart !== 0 && this.isStuckToTheInlineStart;\n }\n\n private generateCellStyles = (props: UpdateCellStylesProps): Map<PropertyKey, StickyColumnsCellState> => {\n const isEnabled = this.isEnabled(props);\n const lastLeftStickyColumnIndex = props.stickyColumnsFirst - 1;\n const lastRightStickyColumnIndex = props.visibleColumns.length - props.stickyColumnsLast;\n\n return props.visibleColumns.reduce((acc, columnId, index) => {\n let stickySide = 'non-sticky';\n if (index < props.stickyColumnsFirst) {\n stickySide = 'inline-start';\n } else if (index >= props.visibleColumns.length - props.stickyColumnsLast) {\n stickySide = 'inline-end';\n }\n\n if (!isEnabled || stickySide === 'non-sticky') {\n return acc;\n }\n\n // Determine the offset of the sticky column using the `cellOffsets` state object\n const isFirstColumn = index === 0;\n const stickyColumnOffsetLeft = this.cellOffsets.offsets.get(columnId)?.first ?? 0;\n const stickyColumnOffsetRight = this.cellOffsets.offsets.get(columnId)?.last ?? 0;\n\n acc.set(columnId, {\n padInlineStart: isFirstColumn && this.padInlineStart,\n lastInsetInlineStart: this.isStuckToTheInlineStart && lastLeftStickyColumnIndex === index,\n lastInsetInlineEnd: this.isStuckToTheInlineEnd && lastRightStickyColumnIndex === index,\n offset: {\n insetInlineStart: stickySide === 'inline-start' ? stickyColumnOffsetLeft : undefined,\n insetInlineEnd: stickySide === 'inline-end' ? stickyColumnOffsetRight : undefined,\n },\n });\n return acc;\n }, new Map<PropertyKey, StickyColumnsCellState>());\n };\n\n private updateCellOffsets = (props: UpdateCellStylesProps): void => {\n this.cellOffsets = updateCellOffsets(props.cells, props);\n };\n\n private isEnabled = (props: UpdateCellStylesProps): boolean => {\n const noStickyColumns = props.stickyColumnsFirst + props.stickyColumnsLast === 0;\n if (noStickyColumns) {\n return false;\n }\n\n const wrapperWidth = getLogicalBoundingClientRect(props.wrapper).inlineSize;\n const tableWidth = getLogicalBoundingClientRect(props.table).inlineSize;\n const isWrapperScrollable = tableWidth > wrapperWidth;\n if (!isWrapperScrollable) {\n return false;\n }\n\n const totalStickySpace = this.cellOffsets.stickyWidthInlineStart + this.cellOffsets.stickyWidthInlineEnd;\n const tablePaddingLeft = parseFloat(getComputedStyle(props.table).paddingLeft) || 0;\n const tablePaddingRight = parseFloat(getComputedStyle(props.table).paddingRight) || 0;\n const hasEnoughScrollableSpace =\n totalStickySpace + MINIMUM_SCROLLABLE_SPACE + tablePaddingLeft + tablePaddingRight < wrapperWidth;\n if (!hasEnoughScrollableSpace) {\n return false;\n }\n\n return true;\n };\n}\n"]}
|
package/table/styles.css.js
CHANGED
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"root": "
|
|
5
|
-
"tools": "
|
|
6
|
-
"tools-filtering": "awsui_tools-
|
|
7
|
-
"tools-align-right": "awsui_tools-align-
|
|
8
|
-
"tools-pagination": "awsui_tools-
|
|
9
|
-
"tools-preferences": "awsui_tools-
|
|
10
|
-
"tools-small": "awsui_tools-
|
|
11
|
-
"table": "
|
|
12
|
-
"table-layout-fixed": "awsui_table-layout-
|
|
13
|
-
"wrapper": "
|
|
14
|
-
"variant-stacked": "awsui_variant-
|
|
15
|
-
"wrapper-content-measure": "awsui_wrapper-content-
|
|
16
|
-
"variant-container": "awsui_variant-
|
|
17
|
-
"has-footer": "awsui_has-
|
|
18
|
-
"has-header": "awsui_has-
|
|
19
|
-
"cell-merged": "awsui_cell-
|
|
20
|
-
"cell-merged-content": "awsui_cell-merged-
|
|
21
|
-
"empty": "
|
|
22
|
-
"loading": "
|
|
23
|
-
"selection-control": "awsui_selection-
|
|
24
|
-
"selection-control-header": "awsui_selection-control-
|
|
25
|
-
"selection-control-content-spans-rows": "awsui_selection-control-content-spans-
|
|
26
|
-
"header-secondary": "awsui_header-
|
|
27
|
-
"variant-full-page": "awsui_variant-full-
|
|
28
|
-
"table-has-header": "awsui_table-has-
|
|
29
|
-
"header-controls": "awsui_header-
|
|
30
|
-
"variant-embedded": "awsui_variant-
|
|
31
|
-
"variant-borderless": "awsui_variant-
|
|
32
|
-
"footer-wrapper": "awsui_footer-
|
|
33
|
-
"footer": "
|
|
34
|
-
"footer-with-pagination": "awsui_footer-with-
|
|
35
|
-
"footer-pagination": "awsui_footer-
|
|
36
|
-
"thead-active": "awsui_thead-
|
|
37
|
-
"row": "
|
|
38
|
-
"row-selected": "awsui_row-
|
|
4
|
+
"root": "awsui_root_wih1l_1llkg_153",
|
|
5
|
+
"tools": "awsui_tools_wih1l_1llkg_164",
|
|
6
|
+
"tools-filtering": "awsui_tools-filtering_wih1l_1llkg_173",
|
|
7
|
+
"tools-align-right": "awsui_tools-align-right_wih1l_1llkg_186",
|
|
8
|
+
"tools-pagination": "awsui_tools-pagination_wih1l_1llkg_190",
|
|
9
|
+
"tools-preferences": "awsui_tools-preferences_wih1l_1llkg_190",
|
|
10
|
+
"tools-small": "awsui_tools-small_wih1l_1llkg_196",
|
|
11
|
+
"table": "awsui_table_wih1l_1llkg_200",
|
|
12
|
+
"table-layout-fixed": "awsui_table-layout-fixed_wih1l_1llkg_206",
|
|
13
|
+
"wrapper": "awsui_wrapper_wih1l_1llkg_210",
|
|
14
|
+
"variant-stacked": "awsui_variant-stacked_wih1l_1llkg_217",
|
|
15
|
+
"wrapper-content-measure": "awsui_wrapper-content-measure_wih1l_1llkg_217",
|
|
16
|
+
"variant-container": "awsui_variant-container_wih1l_1llkg_217",
|
|
17
|
+
"has-footer": "awsui_has-footer_wih1l_1llkg_220",
|
|
18
|
+
"has-header": "awsui_has-header_wih1l_1llkg_223",
|
|
19
|
+
"cell-merged": "awsui_cell-merged_wih1l_1llkg_240",
|
|
20
|
+
"cell-merged-content": "awsui_cell-merged-content_wih1l_1llkg_252",
|
|
21
|
+
"empty": "awsui_empty_wih1l_1llkg_268",
|
|
22
|
+
"loading": "awsui_loading_wih1l_1llkg_272",
|
|
23
|
+
"selection-control": "awsui_selection-control_wih1l_1llkg_281",
|
|
24
|
+
"selection-control-header": "awsui_selection-control-header_wih1l_1llkg_288",
|
|
25
|
+
"selection-control-content-spans-rows": "awsui_selection-control-content-spans-rows_wih1l_1llkg_293",
|
|
26
|
+
"header-secondary": "awsui_header-secondary_wih1l_1llkg_300",
|
|
27
|
+
"variant-full-page": "awsui_variant-full-page_wih1l_1llkg_311",
|
|
28
|
+
"table-has-header": "awsui_table-has-header_wih1l_1llkg_317",
|
|
29
|
+
"header-controls": "awsui_header-controls_wih1l_1llkg_328",
|
|
30
|
+
"variant-embedded": "awsui_variant-embedded_wih1l_1llkg_337",
|
|
31
|
+
"variant-borderless": "awsui_variant-borderless_wih1l_1llkg_337",
|
|
32
|
+
"footer-wrapper": "awsui_footer-wrapper_wih1l_1llkg_342",
|
|
33
|
+
"footer": "awsui_footer_wih1l_1llkg_342",
|
|
34
|
+
"footer-with-pagination": "awsui_footer-with-pagination_wih1l_1llkg_350",
|
|
35
|
+
"footer-pagination": "awsui_footer-pagination_wih1l_1llkg_358",
|
|
36
|
+
"thead-active": "awsui_thead-active_wih1l_1llkg_362",
|
|
37
|
+
"row": "awsui_row_wih1l_1llkg_363",
|
|
38
|
+
"row-selected": "awsui_row-selected_wih1l_1llkg_364",
|
|
39
|
+
"skeleton-loading-cell": "awsui_skeleton-loading-cell_wih1l_1llkg_368"
|
|
39
40
|
};
|
|
40
41
|
|
package/table/styles.scoped.css
CHANGED
|
@@ -150,7 +150,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
150
150
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
151
151
|
SPDX-License-Identifier: Apache-2.0
|
|
152
152
|
*/
|
|
153
|
-
.
|
|
153
|
+
.awsui_root_wih1l_1llkg_153:not(#\9) {
|
|
154
154
|
font-size: var(--font-size-body-m-a7nh2n, 14px);
|
|
155
155
|
line-height: var(--line-height-body-m-2mh3ke, 20px);
|
|
156
156
|
color: var(--color-text-body-default-vvtq8u, #0f141a);
|
|
@@ -161,7 +161,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
161
161
|
inline-size: 100%;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
.
|
|
164
|
+
.awsui_tools_wih1l_1llkg_164:not(#\9) {
|
|
165
165
|
display: flex;
|
|
166
166
|
align-items: flex-end;
|
|
167
167
|
flex-wrap: wrap;
|
|
@@ -170,64 +170,64 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
170
170
|
padding-block-end: var(--space-table-header-tools-bottom-d9u5kf, 0px);
|
|
171
171
|
padding-inline: 0;
|
|
172
172
|
}
|
|
173
|
-
.awsui_tools-
|
|
173
|
+
.awsui_tools-filtering_wih1l_1llkg_173:not(#\9) {
|
|
174
174
|
max-inline-size: 100%;
|
|
175
175
|
}
|
|
176
176
|
@supports (flex-basis: fit-content) {
|
|
177
|
-
.awsui_tools-
|
|
177
|
+
.awsui_tools-filtering_wih1l_1llkg_173:not(#\9) {
|
|
178
178
|
flex: 1 1 fit-content;
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
@supports not (flex-basis: fit-content) {
|
|
182
|
-
.awsui_tools-
|
|
182
|
+
.awsui_tools-filtering_wih1l_1llkg_173:not(#\9) {
|
|
183
183
|
flex: 1 1 auto;
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
|
-
.awsui_tools-align-
|
|
186
|
+
.awsui_tools-align-right_wih1l_1llkg_186:not(#\9) {
|
|
187
187
|
display: flex;
|
|
188
188
|
margin-inline-start: auto;
|
|
189
189
|
}
|
|
190
|
-
.awsui_tools-
|
|
190
|
+
.awsui_tools-pagination_wih1l_1llkg_190 + .awsui_tools-preferences_wih1l_1llkg_190:not(#\9) {
|
|
191
191
|
border-inline-start: var(--border-divider-section-width-uwo8my, 1px) solid var(--color-border-divider-default-nr68jt, #c6c6cd);
|
|
192
192
|
box-sizing: border-box;
|
|
193
193
|
margin-inline-start: var(--space-xs-ymlm0b, 8px);
|
|
194
194
|
padding-inline-start: var(--space-xs-ymlm0b, 8px);
|
|
195
195
|
}
|
|
196
|
-
.awsui_tools-
|
|
196
|
+
.awsui_tools-small_wih1l_1llkg_196 > .awsui_tools-filtering_wih1l_1llkg_173:not(#\9) {
|
|
197
197
|
flex-basis: 100%;
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
-
.
|
|
200
|
+
.awsui_table_wih1l_1llkg_200:not(#\9) {
|
|
201
201
|
inline-size: 100%;
|
|
202
202
|
border-spacing: 0;
|
|
203
203
|
position: relative;
|
|
204
204
|
box-sizing: border-box;
|
|
205
205
|
}
|
|
206
|
-
.awsui_table-layout-
|
|
206
|
+
.awsui_table-layout-fixed_wih1l_1llkg_206:not(#\9) {
|
|
207
207
|
table-layout: fixed;
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
-
.
|
|
210
|
+
.awsui_wrapper_wih1l_1llkg_210:not(#\9) {
|
|
211
211
|
position: relative;
|
|
212
212
|
box-sizing: border-box;
|
|
213
213
|
inline-size: 100%;
|
|
214
214
|
overflow-x: auto;
|
|
215
215
|
scrollbar-width: none; /* Hide scrollbar in Firefox */
|
|
216
216
|
}
|
|
217
|
-
.
|
|
217
|
+
.awsui_wrapper_wih1l_1llkg_210.awsui_variant-stacked_wih1l_1llkg_217 > .awsui_table_wih1l_1llkg_200:not(#\9), .awsui_wrapper_wih1l_1llkg_210.awsui_variant-stacked_wih1l_1llkg_217 > .awsui_wrapper-content-measure_wih1l_1llkg_217:not(#\9), .awsui_wrapper_wih1l_1llkg_210.awsui_variant-container_wih1l_1llkg_217 > .awsui_table_wih1l_1llkg_200:not(#\9), .awsui_wrapper_wih1l_1llkg_210.awsui_variant-container_wih1l_1llkg_217 > .awsui_wrapper-content-measure_wih1l_1llkg_217:not(#\9) {
|
|
218
218
|
padding-inline: var(--space-table-horizontal-suurzj, 20px);
|
|
219
219
|
}
|
|
220
|
-
.
|
|
220
|
+
.awsui_wrapper_wih1l_1llkg_210.awsui_variant-stacked_wih1l_1llkg_217:not(#\9):not(.awsui_has-footer_wih1l_1llkg_220), .awsui_wrapper_wih1l_1llkg_210.awsui_variant-container_wih1l_1llkg_217:not(#\9):not(.awsui_has-footer_wih1l_1llkg_220) {
|
|
221
221
|
padding-block-end: var(--space-table-content-bottom-tlfqmq, 4px);
|
|
222
222
|
}
|
|
223
|
-
.
|
|
223
|
+
.awsui_wrapper_wih1l_1llkg_210:not(#\9):not(.awsui_has-header_wih1l_1llkg_223) {
|
|
224
224
|
border-start-end-radius: var(--border-radius-container-nsfwmm, 16px);
|
|
225
225
|
border-start-start-radius: var(--border-radius-container-nsfwmm, 16px);
|
|
226
226
|
}
|
|
227
|
-
.
|
|
227
|
+
.awsui_wrapper_wih1l_1llkg_210:not(#\9)::-webkit-scrollbar {
|
|
228
228
|
display: none; /* Hide scrollbar in Safari and Chrome */
|
|
229
229
|
}
|
|
230
|
-
body[data-awsui-focus-visible=true] .
|
|
230
|
+
body[data-awsui-focus-visible=true] .awsui_wrapper_wih1l_1llkg_210:not(#\9):focus {
|
|
231
231
|
outline: 2px dotted transparent;
|
|
232
232
|
outline-offset: 2px;
|
|
233
233
|
border-start-start-radius: var(--border-radius-container-nsfwmm, 16px);
|
|
@@ -237,19 +237,19 @@ body[data-awsui-focus-visible=true] .awsui_wrapper_wih1l_1ru4o_210:not(#\9):focu
|
|
|
237
237
|
box-shadow: 0 0 0 2px var(--color-border-item-focused-uk47pl, #006ce0);
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
-
.awsui_cell-
|
|
240
|
+
.awsui_cell-merged_wih1l_1llkg_240:not(#\9) {
|
|
241
241
|
text-align: center;
|
|
242
242
|
padding-block: 0;
|
|
243
243
|
padding-inline: 0;
|
|
244
244
|
}
|
|
245
|
-
.awsui_cell-
|
|
245
|
+
.awsui_cell-merged_wih1l_1llkg_240.awsui_has-footer_wih1l_1llkg_220:not(#\9) {
|
|
246
246
|
/*
|
|
247
247
|
Add a bottom border to the body cell of an empty table as a separator between the
|
|
248
248
|
table and the footer
|
|
249
249
|
*/
|
|
250
250
|
border-block-end: var(--border-divider-section-width-uwo8my, 1px) solid var(--color-border-divider-default-nr68jt, #c6c6cd);
|
|
251
251
|
}
|
|
252
|
-
.awsui_cell-merged-
|
|
252
|
+
.awsui_cell-merged-content_wih1l_1llkg_252:not(#\9) {
|
|
253
253
|
box-sizing: border-box;
|
|
254
254
|
inline-size: 100%;
|
|
255
255
|
padding-block-start: var(--space-scaled-m-m892r9, 16px);
|
|
@@ -257,7 +257,7 @@ body[data-awsui-focus-visible=true] .awsui_wrapper_wih1l_1ru4o_210:not(#\9):focu
|
|
|
257
257
|
padding-inline: var(--space-l-2ud1p3, 20px);
|
|
258
258
|
}
|
|
259
259
|
@supports (position: sticky) {
|
|
260
|
-
.awsui_cell-merged-
|
|
260
|
+
.awsui_cell-merged-content_wih1l_1llkg_252:not(#\9) {
|
|
261
261
|
position: sticky;
|
|
262
262
|
inset-inline-start: 0;
|
|
263
263
|
margin-block: 0;
|
|
@@ -265,11 +265,11 @@ body[data-awsui-focus-visible=true] .awsui_wrapper_wih1l_1ru4o_210:not(#\9):focu
|
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
267
|
|
|
268
|
-
.
|
|
268
|
+
.awsui_empty_wih1l_1llkg_268:not(#\9) {
|
|
269
269
|
color: var(--color-text-empty-tlohug, #656871);
|
|
270
270
|
}
|
|
271
271
|
|
|
272
|
-
.
|
|
272
|
+
.awsui_loading_wih1l_1llkg_272:not(#\9) {
|
|
273
273
|
/* used in test-utils */
|
|
274
274
|
}
|
|
275
275
|
|
|
@@ -278,26 +278,26 @@ The min/max/width token values in Visual Refresh should align
|
|
|
278
278
|
the table header and body cells selection control with the table
|
|
279
279
|
filter search icon.
|
|
280
280
|
*/
|
|
281
|
-
.awsui_selection-
|
|
281
|
+
.awsui_selection-control_wih1l_1llkg_281:not(#\9) {
|
|
282
282
|
box-sizing: border-box;
|
|
283
283
|
max-inline-size: var(--size-table-selection-horizontal-qqiajd, 40px);
|
|
284
284
|
min-inline-size: var(--size-table-selection-horizontal-qqiajd, 40px);
|
|
285
285
|
position: relative;
|
|
286
286
|
inline-size: var(--size-table-selection-horizontal-qqiajd, 40px);
|
|
287
287
|
}
|
|
288
|
-
.awsui_selection-
|
|
288
|
+
.awsui_selection-control_wih1l_1llkg_281.awsui_selection-control-header_wih1l_1llkg_288:not(#\9) {
|
|
289
289
|
padding-block: var(--space-scaled-xs-xwoogq, 8px);
|
|
290
290
|
padding-inline: var(--space-scaled-l-sej05l, 20px);
|
|
291
291
|
border-inline-start: var(--border-width-item-selected-yv93vd, 2px) solid transparent;
|
|
292
292
|
}
|
|
293
|
-
.awsui_selection-control-content-spans-
|
|
293
|
+
.awsui_selection-control-content-spans-rows_wih1l_1llkg_293:not(#\9) {
|
|
294
294
|
display: flex;
|
|
295
295
|
flex-direction: column;
|
|
296
296
|
justify-content: flex-end;
|
|
297
297
|
block-size: 100%;
|
|
298
298
|
}
|
|
299
299
|
|
|
300
|
-
.awsui_header-
|
|
300
|
+
.awsui_header-secondary_wih1l_1llkg_300:not(#\9) {
|
|
301
301
|
overflow: auto;
|
|
302
302
|
scrollbar-width: none; /* Firefox */
|
|
303
303
|
box-sizing: border-box;
|
|
@@ -308,46 +308,46 @@ filter search icon.
|
|
|
308
308
|
border-end-end-radius: 0;
|
|
309
309
|
background: var(--color-background-table-header-hdjxos, #ffffff);
|
|
310
310
|
}
|
|
311
|
-
.awsui_header-
|
|
311
|
+
.awsui_header-secondary_wih1l_1llkg_300.awsui_variant-full-page_wih1l_1llkg_311:not(#\9) {
|
|
312
312
|
background: var(--color-background-layout-main-5ilwcb, #ffffff);
|
|
313
313
|
}
|
|
314
|
-
.awsui_header-
|
|
314
|
+
.awsui_header-secondary_wih1l_1llkg_300.awsui_variant-stacked_wih1l_1llkg_217 > .awsui_table_wih1l_1llkg_200:not(#\9), .awsui_header-secondary_wih1l_1llkg_300.awsui_variant-container_wih1l_1llkg_217 > .awsui_table_wih1l_1llkg_200:not(#\9) {
|
|
315
315
|
padding-inline: var(--space-table-horizontal-suurzj, 20px);
|
|
316
316
|
}
|
|
317
|
-
.awsui_header-
|
|
317
|
+
.awsui_header-secondary_wih1l_1llkg_300.awsui_variant-stacked_wih1l_1llkg_217:not(#\9):not(.awsui_table-has-header_wih1l_1llkg_317), .awsui_header-secondary_wih1l_1llkg_300.awsui_variant-container_wih1l_1llkg_217:not(#\9):not(.awsui_table-has-header_wih1l_1llkg_317) {
|
|
318
318
|
border-start-start-radius: var(--border-radius-container-nsfwmm, 16px);
|
|
319
319
|
border-start-end-radius: var(--border-radius-container-nsfwmm, 16px);
|
|
320
320
|
}
|
|
321
|
-
.awsui_header-
|
|
321
|
+
.awsui_header-secondary_wih1l_1llkg_300:not(#\9)::-webkit-scrollbar {
|
|
322
322
|
display: none; /* Safari and Chrome */
|
|
323
323
|
}
|
|
324
|
-
.awsui_header-
|
|
324
|
+
.awsui_header-secondary_wih1l_1llkg_300.awsui_table-has-header_wih1l_1llkg_317:not(#\9) {
|
|
325
325
|
border-block-start: var(--border-divider-list-width-tdfx1x, 1px) solid var(--color-border-container-divider-9huz1a, transparent);
|
|
326
326
|
}
|
|
327
327
|
|
|
328
|
-
.awsui_header-
|
|
328
|
+
.awsui_header-controls_wih1l_1llkg_328:not(#\9) {
|
|
329
329
|
padding-block: var(--space-container-header-top-am4vzw, 12px) var(--space-container-header-bottom-2taq8v, 8px);
|
|
330
330
|
}
|
|
331
|
-
.awsui_header-
|
|
331
|
+
.awsui_header-controls_wih1l_1llkg_328.awsui_variant-full-page_wih1l_1llkg_311:not(#\9) {
|
|
332
332
|
padding-block: 0 calc(var(--space-container-header-bottom-2taq8v, 8px) + var(--space-table-header-tools-full-page-bottom-9m47g6, 4px));
|
|
333
333
|
}
|
|
334
|
-
.awsui_header-
|
|
334
|
+
.awsui_header-controls_wih1l_1llkg_328.awsui_variant-stacked_wih1l_1llkg_217:not(#\9), .awsui_header-controls_wih1l_1llkg_328.awsui_variant-container_wih1l_1llkg_217:not(#\9) {
|
|
335
335
|
padding-inline: calc(var(--space-table-horizontal-suurzj, 20px) + var(--space-table-header-horizontal-kb5ww2, 0px));
|
|
336
336
|
}
|
|
337
|
-
.awsui_header-
|
|
337
|
+
.awsui_header-controls_wih1l_1llkg_328.awsui_variant-embedded_wih1l_1llkg_337:not(#\9), .awsui_header-controls_wih1l_1llkg_328.awsui_variant-borderless_wih1l_1llkg_337:not(#\9) {
|
|
338
338
|
padding-inline: var(--space-table-header-horizontal-kb5ww2, 0px);
|
|
339
339
|
padding-block-start: var(--space-table-embedded-header-top-twu628, 0px);
|
|
340
340
|
}
|
|
341
341
|
|
|
342
|
-
.awsui_footer-
|
|
342
|
+
.awsui_footer-wrapper_wih1l_1llkg_342.awsui_variant-stacked_wih1l_1llkg_217:not(#\9), .awsui_footer-wrapper_wih1l_1llkg_342.awsui_variant-container_wih1l_1llkg_217:not(#\9) {
|
|
343
343
|
padding-inline: var(--space-table-horizontal-suurzj, 20px);
|
|
344
344
|
}
|
|
345
345
|
|
|
346
|
-
.
|
|
346
|
+
.awsui_footer_wih1l_1llkg_342:not(#\9) {
|
|
347
347
|
padding-block: var(--space-scaled-s-8ozaad, 12px);
|
|
348
348
|
padding-inline: var(--space-table-footer-horizontal-l5g495, 0px);
|
|
349
349
|
}
|
|
350
|
-
.awsui_footer-with-
|
|
350
|
+
.awsui_footer-with-pagination_wih1l_1llkg_350:not(#\9) {
|
|
351
351
|
display: flex;
|
|
352
352
|
flex-direction: row;
|
|
353
353
|
justify-content: space-between;
|
|
@@ -355,12 +355,18 @@ filter search icon.
|
|
|
355
355
|
flex-wrap: wrap;
|
|
356
356
|
gap: var(--space-scaled-s-8ozaad, 12px);
|
|
357
357
|
}
|
|
358
|
-
.awsui_footer-
|
|
358
|
+
.awsui_footer-pagination_wih1l_1llkg_358:not(#\9) {
|
|
359
359
|
margin-inline-start: auto;
|
|
360
360
|
}
|
|
361
361
|
|
|
362
|
-
.awsui_thead-
|
|
363
|
-
.
|
|
364
|
-
.awsui_row-
|
|
362
|
+
.awsui_thead-active_wih1l_1llkg_362:not(#\9),
|
|
363
|
+
.awsui_row_wih1l_1llkg_363:not(#\9),
|
|
364
|
+
.awsui_row-selected_wih1l_1llkg_364:not(#\9) {
|
|
365
365
|
/* used in test-utils */
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
.awsui_skeleton-loading-cell_wih1l_1llkg_368:not(#\9) {
|
|
369
|
+
padding-block: 0;
|
|
370
|
+
padding-inline: 0;
|
|
371
|
+
border-block-end: none;
|
|
366
372
|
}
|
|
@@ -2,40 +2,41 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"root": "
|
|
6
|
-
"tools": "
|
|
7
|
-
"tools-filtering": "awsui_tools-
|
|
8
|
-
"tools-align-right": "awsui_tools-align-
|
|
9
|
-
"tools-pagination": "awsui_tools-
|
|
10
|
-
"tools-preferences": "awsui_tools-
|
|
11
|
-
"tools-small": "awsui_tools-
|
|
12
|
-
"table": "
|
|
13
|
-
"table-layout-fixed": "awsui_table-layout-
|
|
14
|
-
"wrapper": "
|
|
15
|
-
"variant-stacked": "awsui_variant-
|
|
16
|
-
"wrapper-content-measure": "awsui_wrapper-content-
|
|
17
|
-
"variant-container": "awsui_variant-
|
|
18
|
-
"has-footer": "awsui_has-
|
|
19
|
-
"has-header": "awsui_has-
|
|
20
|
-
"cell-merged": "awsui_cell-
|
|
21
|
-
"cell-merged-content": "awsui_cell-merged-
|
|
22
|
-
"empty": "
|
|
23
|
-
"loading": "
|
|
24
|
-
"selection-control": "awsui_selection-
|
|
25
|
-
"selection-control-header": "awsui_selection-control-
|
|
26
|
-
"selection-control-content-spans-rows": "awsui_selection-control-content-spans-
|
|
27
|
-
"header-secondary": "awsui_header-
|
|
28
|
-
"variant-full-page": "awsui_variant-full-
|
|
29
|
-
"table-has-header": "awsui_table-has-
|
|
30
|
-
"header-controls": "awsui_header-
|
|
31
|
-
"variant-embedded": "awsui_variant-
|
|
32
|
-
"variant-borderless": "awsui_variant-
|
|
33
|
-
"footer-wrapper": "awsui_footer-
|
|
34
|
-
"footer": "
|
|
35
|
-
"footer-with-pagination": "awsui_footer-with-
|
|
36
|
-
"footer-pagination": "awsui_footer-
|
|
37
|
-
"thead-active": "awsui_thead-
|
|
38
|
-
"row": "
|
|
39
|
-
"row-selected": "awsui_row-
|
|
5
|
+
"root": "awsui_root_wih1l_1llkg_153",
|
|
6
|
+
"tools": "awsui_tools_wih1l_1llkg_164",
|
|
7
|
+
"tools-filtering": "awsui_tools-filtering_wih1l_1llkg_173",
|
|
8
|
+
"tools-align-right": "awsui_tools-align-right_wih1l_1llkg_186",
|
|
9
|
+
"tools-pagination": "awsui_tools-pagination_wih1l_1llkg_190",
|
|
10
|
+
"tools-preferences": "awsui_tools-preferences_wih1l_1llkg_190",
|
|
11
|
+
"tools-small": "awsui_tools-small_wih1l_1llkg_196",
|
|
12
|
+
"table": "awsui_table_wih1l_1llkg_200",
|
|
13
|
+
"table-layout-fixed": "awsui_table-layout-fixed_wih1l_1llkg_206",
|
|
14
|
+
"wrapper": "awsui_wrapper_wih1l_1llkg_210",
|
|
15
|
+
"variant-stacked": "awsui_variant-stacked_wih1l_1llkg_217",
|
|
16
|
+
"wrapper-content-measure": "awsui_wrapper-content-measure_wih1l_1llkg_217",
|
|
17
|
+
"variant-container": "awsui_variant-container_wih1l_1llkg_217",
|
|
18
|
+
"has-footer": "awsui_has-footer_wih1l_1llkg_220",
|
|
19
|
+
"has-header": "awsui_has-header_wih1l_1llkg_223",
|
|
20
|
+
"cell-merged": "awsui_cell-merged_wih1l_1llkg_240",
|
|
21
|
+
"cell-merged-content": "awsui_cell-merged-content_wih1l_1llkg_252",
|
|
22
|
+
"empty": "awsui_empty_wih1l_1llkg_268",
|
|
23
|
+
"loading": "awsui_loading_wih1l_1llkg_272",
|
|
24
|
+
"selection-control": "awsui_selection-control_wih1l_1llkg_281",
|
|
25
|
+
"selection-control-header": "awsui_selection-control-header_wih1l_1llkg_288",
|
|
26
|
+
"selection-control-content-spans-rows": "awsui_selection-control-content-spans-rows_wih1l_1llkg_293",
|
|
27
|
+
"header-secondary": "awsui_header-secondary_wih1l_1llkg_300",
|
|
28
|
+
"variant-full-page": "awsui_variant-full-page_wih1l_1llkg_311",
|
|
29
|
+
"table-has-header": "awsui_table-has-header_wih1l_1llkg_317",
|
|
30
|
+
"header-controls": "awsui_header-controls_wih1l_1llkg_328",
|
|
31
|
+
"variant-embedded": "awsui_variant-embedded_wih1l_1llkg_337",
|
|
32
|
+
"variant-borderless": "awsui_variant-borderless_wih1l_1llkg_337",
|
|
33
|
+
"footer-wrapper": "awsui_footer-wrapper_wih1l_1llkg_342",
|
|
34
|
+
"footer": "awsui_footer_wih1l_1llkg_342",
|
|
35
|
+
"footer-with-pagination": "awsui_footer-with-pagination_wih1l_1llkg_350",
|
|
36
|
+
"footer-pagination": "awsui_footer-pagination_wih1l_1llkg_358",
|
|
37
|
+
"thead-active": "awsui_thead-active_wih1l_1llkg_362",
|
|
38
|
+
"row": "awsui_row_wih1l_1llkg_363",
|
|
39
|
+
"row-selected": "awsui_row-selected_wih1l_1llkg_364",
|
|
40
|
+
"skeleton-loading-cell": "awsui_skeleton-loading-cell_wih1l_1llkg_368"
|
|
40
41
|
};
|
|
41
42
|
|
package/table/thead.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thead.d.ts","sourceRoot":"","sources":["../../../src/table/thead.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAA0B,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAgB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAA8B,SAAS,EAAE,MAAM,cAAc,CAAC;AAMrE,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,SAAS,GAAG,qBAAqB,CAAC;IACjD,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,gBAAgB,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC7D,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC7C,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACzD,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC;IAClC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,kBAAkB,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtG,cAAc,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAC9D,eAAe,EAAE,yBAAyB,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,WAAW,CAAC;IAC/B,gBAAgB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5D,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,QAAA,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"thead.d.ts","sourceRoot":"","sources":["../../../src/table/thead.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAA0B,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAgB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAA8B,SAAS,EAAE,MAAM,cAAc,CAAC;AAMrE,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,SAAS,GAAG,qBAAqB,CAAC;IACjD,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,gBAAgB,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC7D,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC7C,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACzD,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC;IAClC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,kBAAkB,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtG,cAAc,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAC9D,eAAe,EAAE,yBAAyB,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,WAAW,CAAC;IAC/B,gBAAgB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5D,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,QAAA,MAAM,KAAK,wFA4XV,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
package/table/thead.js
CHANGED
|
@@ -132,7 +132,7 @@ const Thead = React.forwardRef(({ selectionType, getSelectAllProps, columnDefini
|
|
|
132
132
|
}, childColumnIds: leftChildIds, firstChildColumnId: leftChildIds[0], lastChildColumnId: leftChildIds[leftChildIds.length - 1], cellRef: isSplitFirst ? node => setCell(sticky, col.id, node) : () => { }, isLast: false, stickyColumnId: isSplitFirst ? childIds[0] : undefined, stickyBoundaryColumnId: isSplitFirst ? leftChildIds[leftChildIds.length - 1] : undefined }),
|
|
133
133
|
React.createElement(TableGroupHeaderCell, { ...sharedGroupCellProps, colspan: rightColspan, colIndex: selectionType ? rightColIndex + 1 : rightColIndex, groupId: rightGroupId, resizableStyle: getColumnStyles(sticky, col.id), updateGroupWidth: (_, newWidth) => {
|
|
134
134
|
handleSplitGroupResize(rightChildIds, newWidth);
|
|
135
|
-
}, childColumnIds: rightChildIds, firstChildColumnId: rightChildIds[0], lastChildColumnId: rightChildIds[rightChildIds.length - 1], cellRef: !isSplitFirst ? node => setCell(sticky, col.id, node) : () => { }, resizerRoleDescription: resizerRoleDescription, resizerTooltipText: resizerTooltipText, isLast: rightColIndex + rightColspan === totalColumns, stickyColumnId: !isSplitFirst ? childIds[childIds.length - 1] : undefined })));
|
|
135
|
+
}, childColumnIds: rightChildIds, firstChildColumnId: rightChildIds[0], lastChildColumnId: rightChildIds[rightChildIds.length - 1], cellRef: !isSplitFirst ? node => setCell(sticky, col.id, node) : () => { }, resizerRoleDescription: resizerRoleDescription, resizerTooltipText: resizerTooltipText, isLast: rightColIndex + rightColspan === totalColumns, stickyColumnId: !isSplitFirst ? childIds[childIds.length - 1] : undefined, stickyBoundaryColumnId: !isSplitFirst ? rightChildIds[0] : undefined })));
|
|
136
136
|
}
|
|
137
137
|
// Determine if the entire group is sticky (all children on one side)
|
|
138
138
|
const isFullyStickyFirst = stickyColumnsFirst > 0 && col.colIndex + col.colSpan - 1 < stickyColumnsFirst;
|