@cloudscape-design/board-components 3.0.60 → 3.0.61
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/board/internal.js +12 -7
- package/board/internal.js.map +1 -1
- package/board/styles.css.js +5 -5
- package/board/styles.scoped.css +10 -8
- package/board/styles.selectors.js +5 -5
- package/board/transition.d.ts +3 -1
- package/board/transition.js +32 -24
- package/board/transition.js.map +1 -1
- package/board-item/styles.css.js +11 -11
- package/board-item/styles.scoped.css +27 -26
- package/board-item/styles.selectors.js +11 -11
- package/internal/drag-handle/styles.css.js +2 -2
- package/internal/drag-handle/styles.scoped.css +9 -9
- package/internal/drag-handle/styles.selectors.js +2 -2
- package/internal/environment.js +1 -1
- package/internal/environment.json +1 -1
- package/internal/global-drag-state-styles/styles.css.js +3 -3
- package/internal/global-drag-state-styles/styles.scoped.css +6 -3
- package/internal/global-drag-state-styles/styles.selectors.js +3 -3
- package/internal/grid/grid.d.ts +1 -1
- package/internal/grid/grid.js +5 -2
- package/internal/grid/grid.js.map +1 -1
- package/internal/grid/interfaces.d.ts +1 -0
- package/internal/grid/interfaces.js.map +1 -1
- package/internal/handle/styles.css.js +1 -1
- package/internal/handle/styles.scoped.css +4 -3
- package/internal/handle/styles.selectors.js +1 -1
- package/internal/item-container/get-next-droppable.d.ts +6 -1
- package/internal/item-container/get-next-droppable.js +7 -2
- package/internal/item-container/get-next-droppable.js.map +1 -1
- package/internal/item-container/index.d.ts +1 -0
- package/internal/item-container/index.js +30 -18
- package/internal/item-container/index.js.map +1 -1
- package/internal/item-container/styles.css.js +7 -7
- package/internal/item-container/styles.scoped.css +8 -8
- package/internal/item-container/styles.selectors.js +7 -7
- package/internal/manifest.json +1 -1
- package/internal/resize-handle/styles.css.js +2 -2
- package/internal/resize-handle/styles.scoped.css +11 -8
- package/internal/resize-handle/styles.selectors.js +2 -2
- package/internal/screenreader-grid-navigation/styles.css.js +2 -2
- package/internal/screenreader-grid-navigation/styles.scoped.css +4 -3
- package/internal/screenreader-grid-navigation/styles.selectors.js +2 -2
- package/internal/screenreader-only/styles.css.js +1 -1
- package/internal/screenreader-only/styles.scoped.css +3 -3
- package/internal/screenreader-only/styles.selectors.js +1 -1
- package/internal/utils/coordinates.d.ts +3 -1
- package/internal/utils/coordinates.js +5 -2
- package/internal/utils/coordinates.js.map +1 -1
- package/internal/utils/rects.d.ts +6 -1
- package/internal/utils/rects.js +7 -1
- package/internal/utils/rects.js.map +1 -1
- package/internal/utils/screen.d.ts +30 -1
- package/internal/utils/screen.js +46 -11
- package/internal/utils/screen.js.map +1 -1
- package/items-palette/internal.js +3 -1
- package/items-palette/internal.js.map +1 -1
- package/package.json +1 -1
package/board/internal.js
CHANGED
|
@@ -14,6 +14,7 @@ import LiveRegion from "../internal/live-region";
|
|
|
14
14
|
import { ScreenReaderGridNavigation } from "../internal/screenreader-grid-navigation";
|
|
15
15
|
import { createPlaceholdersLayout, getDefaultColumnSpan, getDefaultRowSpan, getMinColumnSpan, getMinRowSpan, interpretItems, } from "../internal/utils/layout";
|
|
16
16
|
import { Position } from "../internal/utils/position";
|
|
17
|
+
import { useIsRtl } from "../internal/utils/screen";
|
|
17
18
|
import { useAutoScroll } from "../internal/utils/use-auto-scroll";
|
|
18
19
|
import { useMergeRefs } from "../internal/utils/use-merge-refs";
|
|
19
20
|
import Placeholder from "./placeholder";
|
|
@@ -28,9 +29,10 @@ export function InternalBoard({ items, renderItem, onItemsChange, empty, i18nStr
|
|
|
28
29
|
const [currentColumns, containerQueryRef] = useContainerColumns();
|
|
29
30
|
const containerRef = useMergeRefs(containerAccessRef, containerQueryRef);
|
|
30
31
|
const itemContainerRef = useRef({});
|
|
32
|
+
const isRtl = useIsRtl(containerAccessRef);
|
|
31
33
|
useGlobalDragStateStyles();
|
|
32
34
|
const autoScrollHandlers = useAutoScroll();
|
|
33
|
-
const [transitionState, dispatch] = useTransition();
|
|
35
|
+
const [transitionState, dispatch] = useTransition({ isRtl });
|
|
34
36
|
const transition = transitionState.transition;
|
|
35
37
|
const removeTransition = transitionState.removeTransition;
|
|
36
38
|
const transitionAnnouncement = transitionState.announcement;
|
|
@@ -80,10 +82,13 @@ export function InternalBoard({ items, renderItem, onItemsChange, empty, i18nStr
|
|
|
80
82
|
function isElementOverBoard(rect) {
|
|
81
83
|
const board = containerAccessRef.current;
|
|
82
84
|
const boardContains = (target) => board === target || board.contains(target);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
const left = !isRtl() ? rect.left : document.documentElement.clientWidth - rect.left;
|
|
86
|
+
const right = !isRtl() ? rect.right : document.documentElement.clientWidth - rect.right;
|
|
87
|
+
const { top, bottom } = rect;
|
|
88
|
+
return (boardContains(document.elementFromPoint(left, top)) ||
|
|
89
|
+
boardContains(document.elementFromPoint(right, top)) ||
|
|
90
|
+
boardContains(document.elementFromPoint(right, bottom)) ||
|
|
91
|
+
boardContains(document.elementFromPoint(left, bottom)));
|
|
87
92
|
}
|
|
88
93
|
useDragSubscription("start", ({ operation, interactionType, draggableItem, collisionRect, collisionIds }) => {
|
|
89
94
|
dispatch({
|
|
@@ -161,7 +166,7 @@ export function InternalBoard({ items, renderItem, onItemsChange, empty, i18nStr
|
|
|
161
166
|
const announcement = transitionAnnouncement
|
|
162
167
|
? announcementToString(transitionAnnouncement, items, i18nStrings, itemsLayout.columns)
|
|
163
168
|
: "";
|
|
164
|
-
return (_jsxs("div", { ref: __internalRootRef, ...getDataAttributes(rest), children: [_jsx(ScreenReaderGridNavigation, { items: items, itemsLayout: itemsLayout, ariaLabel: i18nStrings.navigationAriaLabel, ariaDescription: i18nStrings.navigationAriaDescription, itemAriaLabel: i18nStrings.navigationItemAriaLabel, onActivateItem: focusItem }), _jsx("div", { ref: containerRef, className: clsx(styles.root, { [styles.empty]: rows === 0 }), children: rows > 0 ? (_jsx(Grid, { columns: itemsLayout.columns, layout: [...placeholdersLayout.items, ...itemsLayout.items], children: (gridContext) => {
|
|
169
|
+
return (_jsxs("div", { ref: __internalRootRef, ...getDataAttributes(rest), children: [_jsx(ScreenReaderGridNavigation, { items: items, itemsLayout: itemsLayout, ariaLabel: i18nStrings.navigationAriaLabel, ariaDescription: i18nStrings.navigationAriaDescription, itemAriaLabel: i18nStrings.navigationItemAriaLabel, onActivateItem: focusItem }), _jsx("div", { ref: containerRef, className: clsx(styles.root, { [styles.empty]: rows === 0 }), children: rows > 0 ? (_jsx(Grid, { isRtl: isRtl, columns: itemsLayout.columns, layout: [...placeholdersLayout.items, ...itemsLayout.items], children: (gridContext) => {
|
|
165
170
|
var _a;
|
|
166
171
|
const layoutShift = (_a = transition === null || transition === void 0 ? void 0 : transition.layoutShift) !== null && _a !== void 0 ? _a : removeTransition === null || removeTransition === void 0 ? void 0 : removeTransition.layoutShift;
|
|
167
172
|
const transforms = layoutShift ? createTransforms(itemsLayout, layoutShift.moves, gridContext) : {};
|
|
@@ -197,7 +202,7 @@ export function InternalBoard({ items, renderItem, onItemsChange, empty, i18nStr
|
|
|
197
202
|
height: gridContext.getHeight(itemSize.height),
|
|
198
203
|
minHeight: gridContext.getHeight(getMinRowSpan(item)),
|
|
199
204
|
maxHeight: gridContext.getHeight(itemMaxSize.height),
|
|
200
|
-
}), onKeyMove: onItemMove, children: item.id === (acquiredItem === null || acquiredItem === void 0 ? void 0 : acquiredItem.id) && acquiredItemElement
|
|
205
|
+
}), onKeyMove: onItemMove, isRtl: isRtl, children: item.id === (acquiredItem === null || acquiredItem === void 0 ? void 0 : acquiredItem.id) && acquiredItemElement
|
|
201
206
|
? () => acquiredItemElement
|
|
202
207
|
: () => renderItem(item, { removeItem: () => removeItemAction(item) }) }, item.id));
|
|
203
208
|
});
|
package/board/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/board/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from \"clsx\";\nimport { ReactNode, useEffect, useRef } from \"react\";\nimport { getDataAttributes } from \"../internal/base-component/get-data-attributes\";\nimport { InternalBaseComponentProps } from \"../internal/base-component/use-base-component\";\nimport { useContainerColumns } from \"../internal/breakpoints\";\nimport { TRANSITION_DURATION_MS } from \"../internal/constants\";\nimport { useDragSubscription } from \"../internal/dnd-controller/controller\";\nimport { useGlobalDragStateStyles } from \"../internal/global-drag-state-styles\";\nimport Grid from \"../internal/grid\";\nimport { BoardItemDefinition, BoardItemDefinitionBase, Direction, ItemId, Rect } from \"../internal/interfaces\";\nimport { ItemContainer, ItemContainerRef } from \"../internal/item-container\";\nimport LiveRegion from \"../internal/live-region\";\nimport { ScreenReaderGridNavigation } from \"../internal/screenreader-grid-navigation\";\nimport {\n createPlaceholdersLayout,\n getDefaultColumnSpan,\n getDefaultRowSpan,\n getMinColumnSpan,\n getMinRowSpan,\n interpretItems,\n} from \"../internal/utils/layout\";\nimport { Position } from \"../internal/utils/position\";\nimport { useAutoScroll } from \"../internal/utils/use-auto-scroll\";\nimport { useMergeRefs } from \"../internal/utils/use-merge-refs\";\n\nimport { BoardProps } from \"./interfaces\";\nimport Placeholder from \"./placeholder\";\nimport styles from \"./styles.css.js\";\nimport { selectTransitionRows, useTransition } from \"./transition\";\nimport { announcementToString } from \"./utils/announcements\";\nimport { createTransforms } from \"./utils/create-transforms\";\nimport { createItemsChangeEvent } from \"./utils/events\";\n\nexport function InternalBoard<D>({\n items,\n renderItem,\n onItemsChange,\n empty,\n i18nStrings,\n __internalRootRef,\n ...rest\n}: BoardProps<D> & InternalBaseComponentProps) {\n const containerAccessRef = useRef<HTMLDivElement>(null);\n const [currentColumns, containerQueryRef] = useContainerColumns();\n const containerRef = useMergeRefs(containerAccessRef, containerQueryRef);\n const itemContainerRef = useRef<{ [id: ItemId]: ItemContainerRef }>({});\n\n useGlobalDragStateStyles();\n\n const autoScrollHandlers = useAutoScroll();\n\n const [transitionState, dispatch] = useTransition<D>();\n const transition = transitionState.transition;\n const removeTransition = transitionState.removeTransition;\n const transitionAnnouncement = transitionState.announcement;\n const acquiredItem = transition?.acquiredItem ?? null;\n const acquiredItemElement = transition?.acquiredItemElement;\n\n // Using cached columns from transition to ensure no unexpected changes in the process.\n const columns = transition ? transition.itemsLayout.columns : currentColumns;\n\n // Use previous items while remove transition is in progress.\n items = removeTransition?.items ?? items;\n\n // The acquired item is the one being inserting at the moment but not submitted yet.\n // It needs to be included to the layout to be a part of layout shifts and rendering.\n items = acquiredItem ? [...items, acquiredItem] : items;\n const itemsLayout = interpretItems(items, columns);\n\n const layoutItemById = new Map(itemsLayout.items.map((item) => [item.id, item]));\n const layoutItemIndexById = new Map(itemsLayout.items.map((item, index) => [item.id, index]));\n\n // Items and layout items must maintain the same order visually, in the DOM and in the data\n // to ensure on-change events and tab order work as expected.\n items = [...items].sort((a, b) => (layoutItemIndexById.get(a.id) ?? -1) - (layoutItemIndexById.get(b.id) ?? -1));\n\n // When an item gets acquired or removed the focus needs to be dispatched on the next render.\n const focusNextRenderIndexRef = useRef<null | number>(null);\n const focusNextRenderIdRef = useRef<null | ItemId>(null);\n useEffect(() => {\n const focusTarget = focusNextRenderIdRef.current ?? items[focusNextRenderIndexRef.current ?? -1]?.id;\n if (focusTarget) {\n itemContainerRef.current[focusTarget].focusDragHandle();\n }\n focusNextRenderIndexRef.current = null;\n focusNextRenderIdRef.current = null;\n });\n\n // Submit scheduled removal after a delay to let animations play.\n useEffect(() => {\n if (!removeTransition) {\n return;\n }\n\n const timeoutId = setTimeout(() => {\n dispatch({ type: \"submit\" });\n\n const removedItemIndex = items.findIndex((it) => it.id === removeTransition.removedItem.id);\n const nextIndexToFocus = removedItemIndex !== items.length - 1 ? removedItemIndex : items.length - 2;\n focusNextRenderIndexRef.current = nextIndexToFocus;\n onItemsChange(createItemsChangeEvent(items, removeTransition.layoutShift));\n }, TRANSITION_DURATION_MS);\n\n return () => clearTimeout(timeoutId);\n }, [removeTransition, items, onItemsChange]);\n\n const rows = selectTransitionRows(transitionState) || itemsLayout.rows;\n const placeholdersLayout = createPlaceholdersLayout(rows, itemsLayout.columns);\n\n function isElementOverBoard(rect: Rect) {\n const board = containerAccessRef.current!;\n const boardContains = (target: null | Element) => board === target || board.contains(target);\n return (\n boardContains(document.elementFromPoint(rect.left, rect.top)) ||\n boardContains(document.elementFromPoint(rect.right, rect.top)) ||\n boardContains(document.elementFromPoint(rect.right, rect.bottom)) ||\n boardContains(document.elementFromPoint(rect.left, rect.bottom))\n );\n }\n\n useDragSubscription(\"start\", ({ operation, interactionType, draggableItem, collisionRect, collisionIds }) => {\n dispatch({\n type: \"init\",\n operation,\n interactionType,\n itemsLayout,\n // TODO: resolve any\n // The code only works assuming the board can take any draggable.\n // If draggables can be of different types a check of some sort is required here.\n draggableItem: draggableItem as BoardItemDefinitionBase<any>,\n draggableRect: collisionRect,\n collisionIds: interactionType === \"pointer\" && isElementOverBoard(collisionRect) ? collisionIds : [],\n });\n\n autoScrollHandlers.addPointerEventHandlers();\n });\n\n useDragSubscription(\"update\", ({ interactionType, collisionIds, positionOffset, collisionRect }) => {\n dispatch({\n type: \"update-with-pointer\",\n collisionIds: interactionType === \"pointer\" && isElementOverBoard(collisionRect) ? collisionIds : [],\n positionOffset,\n draggableRect: collisionRect,\n });\n });\n\n useDragSubscription(\"submit\", () => {\n dispatch({ type: \"submit\" });\n\n autoScrollHandlers.removePointerEventHandlers();\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n if (\n !transition.layoutShift ||\n transition.layoutShift.conflicts.length > 0 ||\n transition.layoutShift.moves.length === 0\n ) {\n return null;\n }\n\n // Commit new layout for insert case.\n if (transition.operation === \"insert\") {\n onItemsChange(createItemsChangeEvent([...items, transition.draggableItem], transition.layoutShift));\n }\n // Commit new layout for reorder/resize case.\n else {\n onItemsChange(createItemsChangeEvent(items, transition.layoutShift));\n }\n });\n\n useDragSubscription(\"discard\", () => {\n dispatch({ type: \"discard\" });\n\n autoScrollHandlers.removePointerEventHandlers();\n });\n\n useDragSubscription(\"acquire\", ({ droppableId, draggableItem, renderAcquiredItem }) => {\n const placeholder = placeholdersLayout.items.find((it) => it.id === droppableId);\n\n // If missing then it does not belong to this board.\n if (!placeholder) {\n return;\n }\n\n dispatch({\n type: \"acquire-item\",\n position: new Position({ x: placeholder.x, y: placeholder.y }),\n layoutElement: containerAccessRef.current!,\n acquiredItemElement: renderAcquiredItem(),\n });\n\n focusNextRenderIdRef.current = draggableItem.id;\n });\n\n const removeItemAction = (removedItem: BoardItemDefinition<D>) => {\n dispatch({ type: \"init-remove\", items, itemsLayout, removedItem });\n };\n\n function focusItem(itemId: ItemId) {\n itemContainerRef.current[itemId].focusDragHandle();\n }\n\n function onItemMove(direction: Direction) {\n if (transition) {\n dispatch({ type: \"update-with-keyboard\", direction });\n autoScrollHandlers.scheduleActiveElementScrollIntoView(TRANSITION_DURATION_MS);\n }\n }\n\n const announcement = transitionAnnouncement\n ? announcementToString(transitionAnnouncement, items, i18nStrings, itemsLayout.columns)\n : \"\";\n\n return (\n <div ref={__internalRootRef} {...getDataAttributes(rest)}>\n <ScreenReaderGridNavigation\n items={items}\n itemsLayout={itemsLayout}\n ariaLabel={i18nStrings.navigationAriaLabel}\n ariaDescription={i18nStrings.navigationAriaDescription}\n itemAriaLabel={i18nStrings.navigationItemAriaLabel}\n onActivateItem={focusItem}\n />\n\n <div ref={containerRef} className={clsx(styles.root, { [styles.empty]: rows === 0 })}>\n {rows > 0 ? (\n <Grid columns={itemsLayout.columns} layout={[...placeholdersLayout.items, ...itemsLayout.items]}>\n {(gridContext) => {\n const layoutShift = transition?.layoutShift ?? removeTransition?.layoutShift;\n const transforms = layoutShift ? createTransforms(itemsLayout, layoutShift.moves, gridContext) : {};\n\n // Exclude drag target from transforms.\n if (transition && transition.interactionType === \"pointer\") {\n delete transforms[transition.draggableItem.id];\n }\n\n const children: ReactNode[] = [];\n\n /* Placeholders are rendered even when there is no transition to support the first collisions check. */\n placeholdersLayout.items.forEach((placeholder) =>\n children.push(\n <Placeholder\n key={placeholder.id}\n id={placeholder.id}\n state={transition ? (transition.collisionIds?.has(placeholder.id) ? \"hover\" : \"active\") : \"default\"}\n gridContext={gridContext}\n columns={itemsLayout.columns}\n />,\n ),\n );\n\n items.forEach((item) => {\n const layoutItem = layoutItemById.get(item.id);\n const isResizing = transition?.operation === \"resize\" && transition?.draggableItem.id === item.id;\n\n const itemSize = layoutItem ?? {\n width: getDefaultColumnSpan(item, itemsLayout.columns),\n height: getDefaultRowSpan(item),\n };\n\n const itemMaxSize =\n isResizing && layoutItem ? { width: itemsLayout.columns - layoutItem.x, height: 999 } : itemSize;\n\n children.push(\n <ItemContainer\n key={item.id}\n ref={(elem) => {\n if (elem) {\n itemContainerRef.current[item.id] = elem;\n } else {\n delete itemContainerRef.current[item.id];\n }\n }}\n item={item}\n transform={transforms[item.id]}\n inTransition={!!transition || !!removeTransition}\n placed={item.id !== acquiredItem?.id}\n acquired={item.id === acquiredItem?.id}\n getItemSize={() => ({\n width: gridContext.getWidth(itemSize.width),\n minWidth: gridContext.getWidth(getMinColumnSpan(item, itemsLayout.columns)),\n maxWidth: gridContext.getWidth(itemMaxSize.width),\n height: gridContext.getHeight(itemSize.height),\n minHeight: gridContext.getHeight(getMinRowSpan(item)),\n maxHeight: gridContext.getHeight(itemMaxSize.height),\n })}\n onKeyMove={onItemMove}\n >\n {item.id === acquiredItem?.id && acquiredItemElement\n ? () => acquiredItemElement\n : () => renderItem(item, { removeItem: () => removeItemAction(item) })}\n </ItemContainer>,\n );\n });\n\n return children;\n }}\n </Grid>\n ) : (\n empty\n )}\n </div>\n\n <LiveRegion>{announcement}</LiveRegion>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/board/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from \"clsx\";\nimport { ReactNode, useEffect, useRef } from \"react\";\nimport { getDataAttributes } from \"../internal/base-component/get-data-attributes\";\nimport { InternalBaseComponentProps } from \"../internal/base-component/use-base-component\";\nimport { useContainerColumns } from \"../internal/breakpoints\";\nimport { TRANSITION_DURATION_MS } from \"../internal/constants\";\nimport { useDragSubscription } from \"../internal/dnd-controller/controller\";\nimport { useGlobalDragStateStyles } from \"../internal/global-drag-state-styles\";\nimport Grid from \"../internal/grid\";\nimport { BoardItemDefinition, BoardItemDefinitionBase, Direction, ItemId, Rect } from \"../internal/interfaces\";\nimport { ItemContainer, ItemContainerRef } from \"../internal/item-container\";\nimport LiveRegion from \"../internal/live-region\";\nimport { ScreenReaderGridNavigation } from \"../internal/screenreader-grid-navigation\";\nimport {\n createPlaceholdersLayout,\n getDefaultColumnSpan,\n getDefaultRowSpan,\n getMinColumnSpan,\n getMinRowSpan,\n interpretItems,\n} from \"../internal/utils/layout\";\nimport { Position } from \"../internal/utils/position\";\nimport { useIsRtl } from \"../internal/utils/screen\";\nimport { useAutoScroll } from \"../internal/utils/use-auto-scroll\";\nimport { useMergeRefs } from \"../internal/utils/use-merge-refs\";\n\nimport { BoardProps } from \"./interfaces\";\nimport Placeholder from \"./placeholder\";\nimport styles from \"./styles.css.js\";\nimport { selectTransitionRows, useTransition } from \"./transition\";\nimport { announcementToString } from \"./utils/announcements\";\nimport { createTransforms } from \"./utils/create-transforms\";\nimport { createItemsChangeEvent } from \"./utils/events\";\n\nexport function InternalBoard<D>({\n items,\n renderItem,\n onItemsChange,\n empty,\n i18nStrings,\n __internalRootRef,\n ...rest\n}: BoardProps<D> & InternalBaseComponentProps) {\n const containerAccessRef = useRef<HTMLDivElement>(null);\n const [currentColumns, containerQueryRef] = useContainerColumns();\n const containerRef = useMergeRefs(containerAccessRef, containerQueryRef);\n const itemContainerRef = useRef<{ [id: ItemId]: ItemContainerRef }>({});\n\n const isRtl = useIsRtl(containerAccessRef);\n\n useGlobalDragStateStyles();\n\n const autoScrollHandlers = useAutoScroll();\n\n const [transitionState, dispatch] = useTransition<D>({ isRtl });\n const transition = transitionState.transition;\n const removeTransition = transitionState.removeTransition;\n const transitionAnnouncement = transitionState.announcement;\n const acquiredItem = transition?.acquiredItem ?? null;\n const acquiredItemElement = transition?.acquiredItemElement;\n\n // Using cached columns from transition to ensure no unexpected changes in the process.\n const columns = transition ? transition.itemsLayout.columns : currentColumns;\n\n // Use previous items while remove transition is in progress.\n items = removeTransition?.items ?? items;\n\n // The acquired item is the one being inserting at the moment but not submitted yet.\n // It needs to be included to the layout to be a part of layout shifts and rendering.\n items = acquiredItem ? [...items, acquiredItem] : items;\n const itemsLayout = interpretItems(items, columns);\n\n const layoutItemById = new Map(itemsLayout.items.map((item) => [item.id, item]));\n const layoutItemIndexById = new Map(itemsLayout.items.map((item, index) => [item.id, index]));\n\n // Items and layout items must maintain the same order visually, in the DOM and in the data\n // to ensure on-change events and tab order work as expected.\n items = [...items].sort((a, b) => (layoutItemIndexById.get(a.id) ?? -1) - (layoutItemIndexById.get(b.id) ?? -1));\n\n // When an item gets acquired or removed the focus needs to be dispatched on the next render.\n const focusNextRenderIndexRef = useRef<null | number>(null);\n const focusNextRenderIdRef = useRef<null | ItemId>(null);\n useEffect(() => {\n const focusTarget = focusNextRenderIdRef.current ?? items[focusNextRenderIndexRef.current ?? -1]?.id;\n if (focusTarget) {\n itemContainerRef.current[focusTarget].focusDragHandle();\n }\n focusNextRenderIndexRef.current = null;\n focusNextRenderIdRef.current = null;\n });\n\n // Submit scheduled removal after a delay to let animations play.\n useEffect(() => {\n if (!removeTransition) {\n return;\n }\n\n const timeoutId = setTimeout(() => {\n dispatch({ type: \"submit\" });\n\n const removedItemIndex = items.findIndex((it) => it.id === removeTransition.removedItem.id);\n const nextIndexToFocus = removedItemIndex !== items.length - 1 ? removedItemIndex : items.length - 2;\n focusNextRenderIndexRef.current = nextIndexToFocus;\n onItemsChange(createItemsChangeEvent(items, removeTransition.layoutShift));\n }, TRANSITION_DURATION_MS);\n\n return () => clearTimeout(timeoutId);\n }, [removeTransition, items, onItemsChange]);\n\n const rows = selectTransitionRows(transitionState) || itemsLayout.rows;\n const placeholdersLayout = createPlaceholdersLayout(rows, itemsLayout.columns);\n\n function isElementOverBoard(rect: Rect) {\n const board = containerAccessRef.current!;\n const boardContains = (target: null | Element) => board === target || board.contains(target);\n const left = !isRtl() ? rect.left : document.documentElement.clientWidth - rect.left;\n const right = !isRtl() ? rect.right : document.documentElement.clientWidth - rect.right;\n const { top, bottom } = rect;\n return (\n boardContains(document.elementFromPoint(left, top)) ||\n boardContains(document.elementFromPoint(right, top)) ||\n boardContains(document.elementFromPoint(right, bottom)) ||\n boardContains(document.elementFromPoint(left, bottom))\n );\n }\n\n useDragSubscription(\"start\", ({ operation, interactionType, draggableItem, collisionRect, collisionIds }) => {\n dispatch({\n type: \"init\",\n operation,\n interactionType,\n itemsLayout,\n // TODO: resolve any\n // The code only works assuming the board can take any draggable.\n // If draggables can be of different types a check of some sort is required here.\n draggableItem: draggableItem as BoardItemDefinitionBase<any>,\n draggableRect: collisionRect,\n collisionIds: interactionType === \"pointer\" && isElementOverBoard(collisionRect) ? collisionIds : [],\n });\n\n autoScrollHandlers.addPointerEventHandlers();\n });\n\n useDragSubscription(\"update\", ({ interactionType, collisionIds, positionOffset, collisionRect }) => {\n dispatch({\n type: \"update-with-pointer\",\n collisionIds: interactionType === \"pointer\" && isElementOverBoard(collisionRect) ? collisionIds : [],\n positionOffset,\n draggableRect: collisionRect,\n });\n });\n\n useDragSubscription(\"submit\", () => {\n dispatch({ type: \"submit\" });\n\n autoScrollHandlers.removePointerEventHandlers();\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n if (\n !transition.layoutShift ||\n transition.layoutShift.conflicts.length > 0 ||\n transition.layoutShift.moves.length === 0\n ) {\n return null;\n }\n\n // Commit new layout for insert case.\n if (transition.operation === \"insert\") {\n onItemsChange(createItemsChangeEvent([...items, transition.draggableItem], transition.layoutShift));\n }\n // Commit new layout for reorder/resize case.\n else {\n onItemsChange(createItemsChangeEvent(items, transition.layoutShift));\n }\n });\n\n useDragSubscription(\"discard\", () => {\n dispatch({ type: \"discard\" });\n\n autoScrollHandlers.removePointerEventHandlers();\n });\n\n useDragSubscription(\"acquire\", ({ droppableId, draggableItem, renderAcquiredItem }) => {\n const placeholder = placeholdersLayout.items.find((it) => it.id === droppableId);\n\n // If missing then it does not belong to this board.\n if (!placeholder) {\n return;\n }\n\n dispatch({\n type: \"acquire-item\",\n position: new Position({ x: placeholder.x, y: placeholder.y }),\n layoutElement: containerAccessRef.current!,\n acquiredItemElement: renderAcquiredItem(),\n });\n\n focusNextRenderIdRef.current = draggableItem.id;\n });\n\n const removeItemAction = (removedItem: BoardItemDefinition<D>) => {\n dispatch({ type: \"init-remove\", items, itemsLayout, removedItem });\n };\n\n function focusItem(itemId: ItemId) {\n itemContainerRef.current[itemId].focusDragHandle();\n }\n\n function onItemMove(direction: Direction) {\n if (transition) {\n dispatch({ type: \"update-with-keyboard\", direction });\n autoScrollHandlers.scheduleActiveElementScrollIntoView(TRANSITION_DURATION_MS);\n }\n }\n\n const announcement = transitionAnnouncement\n ? announcementToString(transitionAnnouncement, items, i18nStrings, itemsLayout.columns)\n : \"\";\n\n return (\n <div ref={__internalRootRef} {...getDataAttributes(rest)}>\n <ScreenReaderGridNavigation\n items={items}\n itemsLayout={itemsLayout}\n ariaLabel={i18nStrings.navigationAriaLabel}\n ariaDescription={i18nStrings.navigationAriaDescription}\n itemAriaLabel={i18nStrings.navigationItemAriaLabel}\n onActivateItem={focusItem}\n />\n\n <div ref={containerRef} className={clsx(styles.root, { [styles.empty]: rows === 0 })}>\n {rows > 0 ? (\n <Grid\n isRtl={isRtl}\n columns={itemsLayout.columns}\n layout={[...placeholdersLayout.items, ...itemsLayout.items]}\n >\n {(gridContext) => {\n const layoutShift = transition?.layoutShift ?? removeTransition?.layoutShift;\n const transforms = layoutShift ? createTransforms(itemsLayout, layoutShift.moves, gridContext) : {};\n\n // Exclude drag target from transforms.\n if (transition && transition.interactionType === \"pointer\") {\n delete transforms[transition.draggableItem.id];\n }\n\n const children: ReactNode[] = [];\n\n /* Placeholders are rendered even when there is no transition to support the first collisions check. */\n placeholdersLayout.items.forEach((placeholder) =>\n children.push(\n <Placeholder\n key={placeholder.id}\n id={placeholder.id}\n state={transition ? (transition.collisionIds?.has(placeholder.id) ? \"hover\" : \"active\") : \"default\"}\n gridContext={gridContext}\n columns={itemsLayout.columns}\n />,\n ),\n );\n\n items.forEach((item) => {\n const layoutItem = layoutItemById.get(item.id);\n const isResizing = transition?.operation === \"resize\" && transition?.draggableItem.id === item.id;\n\n const itemSize = layoutItem ?? {\n width: getDefaultColumnSpan(item, itemsLayout.columns),\n height: getDefaultRowSpan(item),\n };\n\n const itemMaxSize =\n isResizing && layoutItem ? { width: itemsLayout.columns - layoutItem.x, height: 999 } : itemSize;\n\n children.push(\n <ItemContainer\n key={item.id}\n ref={(elem) => {\n if (elem) {\n itemContainerRef.current[item.id] = elem;\n } else {\n delete itemContainerRef.current[item.id];\n }\n }}\n item={item}\n transform={transforms[item.id]}\n inTransition={!!transition || !!removeTransition}\n placed={item.id !== acquiredItem?.id}\n acquired={item.id === acquiredItem?.id}\n getItemSize={() => ({\n width: gridContext.getWidth(itemSize.width),\n minWidth: gridContext.getWidth(getMinColumnSpan(item, itemsLayout.columns)),\n maxWidth: gridContext.getWidth(itemMaxSize.width),\n height: gridContext.getHeight(itemSize.height),\n minHeight: gridContext.getHeight(getMinRowSpan(item)),\n maxHeight: gridContext.getHeight(itemMaxSize.height),\n })}\n onKeyMove={onItemMove}\n isRtl={isRtl}\n >\n {item.id === acquiredItem?.id && acquiredItemElement\n ? () => acquiredItemElement\n : () => renderItem(item, { removeItem: () => removeItemAction(item) })}\n </ItemContainer>,\n );\n });\n\n return children;\n }}\n </Grid>\n ) : (\n empty\n )}\n </div>\n\n <LiveRegion>{announcement}</LiveRegion>\n </div>\n );\n}\n"]}
|
package/board/styles.css.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"placeholder": "
|
|
5
|
-
"placeholder--active": "awsui_placeholder--
|
|
6
|
-
"placeholder--hover": "awsui_placeholder--
|
|
7
|
-
"root": "
|
|
8
|
-
"empty": "
|
|
4
|
+
"placeholder": "awsui_placeholder_1h7dk_e2f7p_1",
|
|
5
|
+
"placeholder--active": "awsui_placeholder--active_1h7dk_e2f7p_5",
|
|
6
|
+
"placeholder--hover": "awsui_placeholder--hover_1h7dk_e2f7p_8",
|
|
7
|
+
"root": "awsui_root_1h7dk_e2f7p_12",
|
|
8
|
+
"empty": "awsui_empty_1h7dk_e2f7p_16"
|
|
9
9
|
};
|
|
10
10
|
|
package/board/styles.scoped.css
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
.
|
|
1
|
+
.awsui_placeholder_1h7dk_e2f7p_1:not(#\9) {
|
|
2
2
|
border-radius: var(--border-radius-container-wqv1zi, 16px);
|
|
3
|
-
|
|
3
|
+
block-size: 100%;
|
|
4
4
|
}
|
|
5
|
-
.awsui_placeholder--
|
|
5
|
+
.awsui_placeholder--active_1h7dk_e2f7p_5:not(#\9) {
|
|
6
6
|
background-color: var(--color-board-placeholder-active-jh49z8, #e9ebed);
|
|
7
7
|
}
|
|
8
|
-
.awsui_placeholder--
|
|
8
|
+
.awsui_placeholder--hover_1h7dk_e2f7p_8:not(#\9) {
|
|
9
9
|
background-color: var(--color-board-placeholder-hover-ombmcs, #d3e7f9);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
.
|
|
12
|
+
.awsui_root_1h7dk_e2f7p_12:not(#\9) {
|
|
13
13
|
/* used in test-utils */
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
.
|
|
16
|
+
.awsui_empty_1h7dk_e2f7p_16:not(#\9) {
|
|
17
17
|
box-sizing: border-box;
|
|
18
|
-
|
|
19
|
-
padding: var(--space-scaled-m-mo5yse, 16px)
|
|
18
|
+
inline-size: 100%;
|
|
19
|
+
padding-block-start: var(--space-scaled-m-mo5yse, 16px);
|
|
20
|
+
padding-block-end: var(--space-scaled-l-0hpmd7, 20px);
|
|
21
|
+
padding-inline: var(--space-scaled-l-0hpmd7, 20px);
|
|
20
22
|
color: var(--color-text-empty-2wfcyr, #5f6b7a);
|
|
21
23
|
display: flex;
|
|
22
24
|
justify-content: center;
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"placeholder": "
|
|
6
|
-
"placeholder--active": "awsui_placeholder--
|
|
7
|
-
"placeholder--hover": "awsui_placeholder--
|
|
8
|
-
"root": "
|
|
9
|
-
"empty": "
|
|
5
|
+
"placeholder": "awsui_placeholder_1h7dk_e2f7p_1",
|
|
6
|
+
"placeholder--active": "awsui_placeholder--active_1h7dk_e2f7p_5",
|
|
7
|
+
"placeholder--hover": "awsui_placeholder--hover_1h7dk_e2f7p_8",
|
|
8
|
+
"root": "awsui_root_1h7dk_e2f7p_12",
|
|
9
|
+
"empty": "awsui_empty_1h7dk_e2f7p_16"
|
|
10
10
|
};
|
|
11
11
|
|
package/board/transition.d.ts
CHANGED
|
@@ -47,6 +47,8 @@ interface AcquireItemAction {
|
|
|
47
47
|
layoutElement: HTMLElement;
|
|
48
48
|
acquiredItemElement?: ReactNode;
|
|
49
49
|
}
|
|
50
|
-
export declare function useTransition<D>(
|
|
50
|
+
export declare function useTransition<D>({ isRtl }: {
|
|
51
|
+
isRtl: () => boolean;
|
|
52
|
+
}): [TransitionState<D>, Dispatch<Action<D>>];
|
|
51
53
|
export declare function selectTransitionRows<D>(state: TransitionState<D>): number;
|
|
52
54
|
export {};
|
package/board/transition.js
CHANGED
|
@@ -5,33 +5,40 @@ import { LayoutEngine } from "../internal/layout-engine/engine";
|
|
|
5
5
|
import { Coordinates } from "../internal/utils/coordinates";
|
|
6
6
|
import { getDefaultColumnSpan, getDefaultRowSpan, getMinColumnSpan, getMinRowSpan } from "../internal/utils/layout";
|
|
7
7
|
import { Position } from "../internal/utils/position";
|
|
8
|
+
import { getLogicalBoundingClientRect } from "../internal/utils/screen";
|
|
8
9
|
import { createOperationAnnouncement } from "./utils/announcements";
|
|
9
10
|
import { getHoveredRect } from "./utils/get-hovered-rect";
|
|
10
11
|
import { getInsertionDirection, getLayoutPlaceholders, getLayoutRows, getLayoutShift } from "./utils/layout";
|
|
11
12
|
import { appendMovePath, appendResizePath } from "./utils/path";
|
|
12
|
-
export function useTransition() {
|
|
13
|
-
return useReducer((
|
|
13
|
+
export function useTransition({ isRtl }) {
|
|
14
|
+
return useReducer(createTransitionReducer({ isRtl }), {
|
|
15
|
+
transition: null,
|
|
16
|
+
removeTransition: null,
|
|
17
|
+
announcement: null,
|
|
18
|
+
});
|
|
14
19
|
}
|
|
15
20
|
export function selectTransitionRows(state) {
|
|
16
21
|
return state.transition ? getLayoutRows(state.transition) : 0;
|
|
17
22
|
}
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
23
|
+
function createTransitionReducer({ isRtl }) {
|
|
24
|
+
return function transitionReducer(state, action) {
|
|
25
|
+
switch (action.type) {
|
|
26
|
+
case "init":
|
|
27
|
+
return initTransition(action);
|
|
28
|
+
case "init-remove":
|
|
29
|
+
return initRemoveTransition(action);
|
|
30
|
+
case "submit":
|
|
31
|
+
return submitTransition(state);
|
|
32
|
+
case "discard":
|
|
33
|
+
return discardTransition(state);
|
|
34
|
+
case "update-with-pointer":
|
|
35
|
+
return updateTransitionWithPointerEvent(state, action);
|
|
36
|
+
case "update-with-keyboard":
|
|
37
|
+
return updateTransitionWithKeyboardEvent(state, action, { isRtl });
|
|
38
|
+
case "acquire-item":
|
|
39
|
+
return acquireTransitionItem(state, action);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
35
42
|
}
|
|
36
43
|
function initTransition({ operation, interactionType, itemsLayout, draggableItem, draggableRect, collisionIds, }) {
|
|
37
44
|
const transition = {
|
|
@@ -161,7 +168,7 @@ function updateTransitionWithPointerEvent(state, { collisionIds, positionOffset,
|
|
|
161
168
|
announcement: null,
|
|
162
169
|
};
|
|
163
170
|
}
|
|
164
|
-
function updateTransitionWithKeyboardEvent(state, { direction }) {
|
|
171
|
+
function updateTransitionWithKeyboardEvent(state, { direction }, { isRtl }) {
|
|
165
172
|
const { transition } = state;
|
|
166
173
|
if (!transition) {
|
|
167
174
|
throw new Error("Invariant violation: no transition.");
|
|
@@ -199,9 +206,9 @@ function updateTransitionWithKeyboardEvent(state, { direction }) {
|
|
|
199
206
|
};
|
|
200
207
|
switch (direction) {
|
|
201
208
|
case "left":
|
|
202
|
-
return updateManualItemTransition(transition, "left");
|
|
209
|
+
return updateManualItemTransition(transition, !isRtl() ? "left" : "right");
|
|
203
210
|
case "right":
|
|
204
|
-
return updateManualItemTransition(transition, "right");
|
|
211
|
+
return updateManualItemTransition(transition, !isRtl() ? "right" : "left");
|
|
205
212
|
case "up":
|
|
206
213
|
return updateManualItemTransition(transition, "up");
|
|
207
214
|
case "down":
|
|
@@ -214,9 +221,10 @@ function acquireTransitionItem(state, { position, layoutElement, acquiredItemEle
|
|
|
214
221
|
throw new Error("Invariant violation: no transition.");
|
|
215
222
|
}
|
|
216
223
|
const { columns } = transition.itemsLayout;
|
|
217
|
-
const layoutRect = layoutElement
|
|
224
|
+
const layoutRect = getLogicalBoundingClientRect(layoutElement);
|
|
218
225
|
const itemRect = transition.draggableRect;
|
|
219
|
-
const
|
|
226
|
+
const coordinatesX = itemRect.left - layoutRect.insetInlineStart;
|
|
227
|
+
const offset = new Coordinates({ x: coordinatesX, y: itemRect.top - layoutRect.insetBlockStart });
|
|
220
228
|
const insertionDirection = getInsertionDirection(offset);
|
|
221
229
|
// Update original insertion position if the item can't fit into the layout by width.
|
|
222
230
|
const width = getDefaultColumnSpan(transition.draggableItem, columns);
|
package/board/transition.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transition.js","sourceRoot":"","sources":["../../../src/board/transition.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\nimport { Dispatch, ReactNode, useReducer } from \"react\";\nimport { InteractionType, Operation } from \"../internal/dnd-controller/controller\";\nimport { BoardItemDefinitionBase, Direction, GridLayout, ItemId, Rect } from \"../internal/interfaces\";\nimport { LayoutEngine } from \"../internal/layout-engine/engine\";\nimport { Coordinates } from \"../internal/utils/coordinates\";\nimport { getDefaultColumnSpan, getDefaultRowSpan, getMinColumnSpan, getMinRowSpan } from \"../internal/utils/layout\";\nimport { Position } from \"../internal/utils/position\";\nimport { BoardProps, RemoveTransition, Transition, TransitionAnnouncement } from \"./interfaces\";\nimport { createOperationAnnouncement } from \"./utils/announcements\";\nimport { getHoveredRect } from \"./utils/get-hovered-rect\";\nimport { getInsertionDirection, getLayoutPlaceholders, getLayoutRows, getLayoutShift } from \"./utils/layout\";\nimport { appendMovePath, appendResizePath } from \"./utils/path\";\n\nexport interface TransitionState<D> {\n transition: null | Transition<D>;\n removeTransition: null | RemoveTransition<D>;\n announcement: null | TransitionAnnouncement;\n}\n\nexport type Action<D> =\n | InitAction<D>\n | InitRemoveAction<D>\n | SubmitAction\n | DiscardAction\n | UpdateWithPointerAction\n | UpdateWithKeyboardAction\n | AcquireItemAction;\n\ninterface InitAction<D> {\n type: \"init\";\n operation: Operation;\n interactionType: InteractionType;\n itemsLayout: GridLayout;\n draggableItem: BoardItemDefinitionBase<D>;\n draggableRect: Rect;\n collisionIds: readonly ItemId[];\n}\ninterface InitRemoveAction<D> {\n type: \"init-remove\";\n items: readonly BoardProps.Item<D>[];\n removedItem: BoardItemDefinitionBase<D>;\n itemsLayout: GridLayout;\n}\ninterface SubmitAction {\n type: \"submit\";\n}\ninterface DiscardAction {\n type: \"discard\";\n}\ninterface UpdateWithPointerAction {\n type: \"update-with-pointer\";\n collisionIds: readonly ItemId[];\n positionOffset: Coordinates;\n draggableRect: Rect;\n}\ninterface UpdateWithKeyboardAction {\n type: \"update-with-keyboard\";\n direction: Direction;\n}\ninterface AcquireItemAction {\n type: \"acquire-item\";\n position: Position;\n layoutElement: HTMLElement;\n acquiredItemElement?: ReactNode;\n}\n\nexport function useTransition<D>(): [TransitionState<D>, Dispatch<Action<D>>] {\n return useReducer(transitionReducer<D>, { transition: null, removeTransition: null, announcement: null });\n}\n\nexport function selectTransitionRows<D>(state: TransitionState<D>) {\n return state.transition ? getLayoutRows(state.transition) : 0;\n}\n\nfunction transitionReducer<D>(state: TransitionState<D>, action: Action<D>): TransitionState<D> {\n switch (action.type) {\n case \"init\":\n return initTransition(action);\n case \"init-remove\":\n return initRemoveTransition(action);\n case \"submit\":\n return submitTransition(state);\n case \"discard\":\n return discardTransition(state);\n case \"update-with-pointer\":\n return updateTransitionWithPointerEvent(state, action);\n case \"update-with-keyboard\":\n return updateTransitionWithKeyboardEvent(state, action);\n case \"acquire-item\":\n return acquireTransitionItem(state, action);\n }\n}\n\nfunction initTransition<D>({\n operation,\n interactionType,\n itemsLayout,\n draggableItem,\n draggableRect,\n collisionIds,\n}: InitAction<D>): TransitionState<D> {\n const transition: Transition<D> = {\n operation,\n interactionType,\n itemsLayout,\n layoutEngine: new LayoutEngine(itemsLayout),\n insertionDirection: null,\n draggableItem,\n draggableRect,\n acquiredItem: null,\n collisionIds: new Set(),\n layoutShift: null,\n path: [],\n };\n\n const placeholdersLayout = getLayoutPlaceholders(transition);\n\n const layoutItem = itemsLayout.items.find((it) => it.id === draggableItem.id);\n\n let path: Position[] = [];\n if (interactionType === \"pointer\" || operation === \"insert\") {\n const collisionRect = getHoveredRect(collisionIds, placeholdersLayout.items);\n const appendPath = operation === \"resize\" ? appendResizePath : appendMovePath;\n path = layoutItem ? appendPath([], collisionRect) : [];\n } else if (layoutItem) {\n path =\n operation === \"resize\"\n ? [new Position({ x: layoutItem.x + layoutItem.width, y: layoutItem.y + layoutItem.height })]\n : [new Position({ x: layoutItem.x, y: layoutItem.y })];\n }\n\n return {\n transition: { ...transition, path },\n removeTransition: null,\n announcement: layoutItem ? { type: \"dnd-started\", item: draggableItem, operation } : null,\n };\n}\n\nfunction initRemoveTransition<D>({ items, removedItem, itemsLayout }: InitRemoveAction<D>): TransitionState<D> {\n const layoutShift = new LayoutEngine(itemsLayout).remove(removedItem.id);\n const removeTransition: RemoveTransition<D> = { items, removedItem, layoutShift };\n return { transition: null, removeTransition, announcement: null };\n}\n\nfunction submitTransition<D>(state: TransitionState<D>): TransitionState<D> {\n const { transition, removeTransition } = state;\n\n if (removeTransition) {\n const disturbed = new Set(removeTransition.layoutShift.moves.map((move) => move.itemId));\n disturbed.delete(removeTransition.removedItem.id);\n return {\n transition: null,\n removeTransition: null,\n announcement: { type: \"item-removed\", item: removeTransition.removedItem, disturbed },\n };\n }\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n\n const { operation, itemsLayout, draggableItem: item, acquiredItem } = transition;\n const itemBelongsToBoard = item.id === acquiredItem?.id || itemsLayout.items.some((it) => it.id === item.id);\n\n return transition.layoutShift?.conflicts.length === 0\n ? {\n transition: null,\n removeTransition: null,\n announcement: itemBelongsToBoard ? { type: \"dnd-committed\", item, operation } : null,\n }\n : {\n transition: null,\n removeTransition: null,\n announcement: itemBelongsToBoard ? { type: \"dnd-discarded\", item, operation } : null,\n };\n}\n\nfunction discardTransition<D>(state: TransitionState<D>): TransitionState<D> {\n const { transition, removeTransition } = state;\n\n if (removeTransition) {\n throw new Error(\"Can't discard remove transition.\");\n }\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n\n const { operation, itemsLayout, draggableItem: item, acquiredItem } = transition;\n const itemBelongsToBoard = item.id === acquiredItem?.id || itemsLayout.items.some((it) => it.id === item.id);\n\n return {\n transition: null,\n removeTransition: null,\n announcement: itemBelongsToBoard ? { type: \"dnd-discarded\", item, operation } : null,\n };\n}\n\nfunction updateTransitionWithPointerEvent<D>(\n state: TransitionState<D>,\n { collisionIds, positionOffset, draggableRect }: UpdateWithPointerAction,\n): TransitionState<D> {\n const { transition } = state;\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n\n const layout = transition.layoutShift?.next ?? transition.itemsLayout;\n const layoutItem = layout.items.find((it) => it.id === transition.draggableItem.id);\n const itemWidth = layoutItem ? layoutItem.width : getDefaultColumnSpan(transition.draggableItem, layout.columns);\n const itemHeight = layoutItem ? layoutItem.height : getDefaultRowSpan(transition.draggableItem);\n const itemSize = itemWidth * itemHeight;\n\n const isOutOfBoundaries =\n transition.operation !== \"resize\" ? collisionIds.length < itemSize : collisionIds.length === 0;\n\n if (isOutOfBoundaries) {\n return {\n transition: {\n ...transition,\n draggableRect,\n collisionIds: new Set(),\n layoutShift: null,\n insertionDirection: null,\n },\n removeTransition: null,\n announcement: null,\n };\n }\n\n const placeholdersLayout = getLayoutPlaceholders(transition);\n const collisionRect = getHoveredRect(collisionIds, placeholdersLayout.items);\n const appendPath = transition.operation === \"resize\" ? appendResizePath : appendMovePath;\n const path = appendPath(transition.path, collisionRect);\n\n const insertionDirection = transition.insertionDirection ?? getInsertionDirection(positionOffset);\n const layoutShift = getLayoutShift(transition, path, insertionDirection);\n\n return {\n transition: {\n ...transition,\n draggableRect,\n collisionIds: new Set(collisionIds),\n layoutShift,\n path,\n insertionDirection,\n },\n removeTransition: null,\n announcement: null,\n };\n}\n\nfunction updateTransitionWithKeyboardEvent<D>(\n state: TransitionState<D>,\n { direction }: UpdateWithKeyboardAction,\n): TransitionState<D> {\n const { transition } = state;\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n\n const updateManualItemTransition = (transition: Transition<D>, direction: Direction): TransitionState<D> => {\n const xDelta = direction === \"left\" ? -1 : direction === \"right\" ? 1 : 0;\n const yDelta = direction === \"up\" ? -1 : direction === \"down\" ? 1 : 0;\n const lastPosition = transition.path[transition.path.length - 1];\n const nextPosition = new Position({ x: lastPosition.x + xDelta, y: lastPosition.y + yDelta });\n const nextPath = [...transition.path, nextPosition];\n\n // Check resizing below min size.\n const layout = transition.layoutShift?.next ?? transition.itemsLayout;\n const layoutItem = layout.items.find((it) => it.id === transition.draggableItem.id);\n const minWidth = getMinColumnSpan(transition.draggableItem, transition.itemsLayout.columns);\n const minHeight = getMinRowSpan(transition.draggableItem);\n if (\n transition.operation === \"resize\" &&\n layoutItem &&\n (layoutItem.width + xDelta < minWidth || layoutItem.height + yDelta < minHeight)\n ) {\n return state;\n }\n\n try {\n const layoutShift = getLayoutShift(transition, nextPath);\n const nextTransition = { ...transition, layoutShift, path: nextPath };\n return {\n transition: nextTransition,\n removeTransition: null,\n announcement: createOperationAnnouncement(nextTransition, direction),\n };\n } catch (e) {\n // Can't create next layout because the next path is out of bounds.\n return state;\n }\n };\n\n switch (direction) {\n case \"left\":\n return updateManualItemTransition(transition, \"left\");\n case \"right\":\n return updateManualItemTransition(transition, \"right\");\n case \"up\":\n return updateManualItemTransition(transition, \"up\");\n case \"down\":\n return updateManualItemTransition(transition, \"down\");\n }\n}\n\nfunction acquireTransitionItem<D>(\n state: TransitionState<D>,\n { position, layoutElement, acquiredItemElement }: AcquireItemAction,\n): TransitionState<D> {\n const { transition } = state;\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n\n const { columns } = transition.itemsLayout;\n\n const layoutRect = layoutElement.getBoundingClientRect();\n const itemRect = transition.draggableRect;\n const offset = new Coordinates({ x: itemRect.left - layoutRect.x, y: itemRect.top - layoutRect.y });\n const insertionDirection = getInsertionDirection(offset);\n\n // Update original insertion position if the item can't fit into the layout by width.\n const width = getDefaultColumnSpan(transition.draggableItem, columns);\n position = new Position({ x: Math.min(columns - width, position.x), y: position.y });\n\n const path = [...transition.path, position];\n\n const layoutShift = getLayoutShift(transition, path, insertionDirection);\n\n // The columnOffset, columnSpan and rowSpan are of no use as of being overridden by the layout shift.\n const acquiredItem = { ...transition.draggableItem, columnOffset: 0, columnSpan: 1, rowSpan: 1 };\n\n const nextTransition: Transition<D> = {\n ...transition,\n collisionIds: new Set(),\n layoutShift,\n path,\n acquiredItem,\n acquiredItemElement,\n };\n return {\n transition: nextTransition,\n removeTransition: null,\n announcement: createOperationAnnouncement(nextTransition, null),\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"transition.js","sourceRoot":"","sources":["../../../src/board/transition.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\nimport { Dispatch, ReactNode, useReducer } from \"react\";\nimport { InteractionType, Operation } from \"../internal/dnd-controller/controller\";\nimport { BoardItemDefinitionBase, Direction, GridLayout, ItemId, Rect } from \"../internal/interfaces\";\nimport { LayoutEngine } from \"../internal/layout-engine/engine\";\nimport { Coordinates } from \"../internal/utils/coordinates\";\nimport { getDefaultColumnSpan, getDefaultRowSpan, getMinColumnSpan, getMinRowSpan } from \"../internal/utils/layout\";\nimport { Position } from \"../internal/utils/position\";\nimport { getLogicalBoundingClientRect } from \"../internal/utils/screen\";\nimport { BoardProps, RemoveTransition, Transition, TransitionAnnouncement } from \"./interfaces\";\nimport { createOperationAnnouncement } from \"./utils/announcements\";\nimport { getHoveredRect } from \"./utils/get-hovered-rect\";\nimport { getInsertionDirection, getLayoutPlaceholders, getLayoutRows, getLayoutShift } from \"./utils/layout\";\nimport { appendMovePath, appendResizePath } from \"./utils/path\";\n\nexport interface TransitionState<D> {\n transition: null | Transition<D>;\n removeTransition: null | RemoveTransition<D>;\n announcement: null | TransitionAnnouncement;\n}\n\nexport type Action<D> =\n | InitAction<D>\n | InitRemoveAction<D>\n | SubmitAction\n | DiscardAction\n | UpdateWithPointerAction\n | UpdateWithKeyboardAction\n | AcquireItemAction;\n\ninterface InitAction<D> {\n type: \"init\";\n operation: Operation;\n interactionType: InteractionType;\n itemsLayout: GridLayout;\n draggableItem: BoardItemDefinitionBase<D>;\n draggableRect: Rect;\n collisionIds: readonly ItemId[];\n}\ninterface InitRemoveAction<D> {\n type: \"init-remove\";\n items: readonly BoardProps.Item<D>[];\n removedItem: BoardItemDefinitionBase<D>;\n itemsLayout: GridLayout;\n}\ninterface SubmitAction {\n type: \"submit\";\n}\ninterface DiscardAction {\n type: \"discard\";\n}\ninterface UpdateWithPointerAction {\n type: \"update-with-pointer\";\n collisionIds: readonly ItemId[];\n positionOffset: Coordinates;\n draggableRect: Rect;\n}\ninterface UpdateWithKeyboardAction {\n type: \"update-with-keyboard\";\n direction: Direction;\n}\ninterface AcquireItemAction {\n type: \"acquire-item\";\n position: Position;\n layoutElement: HTMLElement;\n acquiredItemElement?: ReactNode;\n}\n\nexport function useTransition<D>({ isRtl }: { isRtl: () => boolean }): [TransitionState<D>, Dispatch<Action<D>>] {\n return useReducer(createTransitionReducer<D>({ isRtl }), {\n transition: null,\n removeTransition: null,\n announcement: null,\n });\n}\n\nexport function selectTransitionRows<D>(state: TransitionState<D>) {\n return state.transition ? getLayoutRows(state.transition) : 0;\n}\n\nfunction createTransitionReducer<D>({ isRtl }: { isRtl: () => boolean }) {\n return function transitionReducer(state: TransitionState<D>, action: Action<D>): TransitionState<D> {\n switch (action.type) {\n case \"init\":\n return initTransition(action);\n case \"init-remove\":\n return initRemoveTransition(action);\n case \"submit\":\n return submitTransition(state);\n case \"discard\":\n return discardTransition(state);\n case \"update-with-pointer\":\n return updateTransitionWithPointerEvent(state, action);\n case \"update-with-keyboard\":\n return updateTransitionWithKeyboardEvent(state, action, { isRtl });\n case \"acquire-item\":\n return acquireTransitionItem(state, action);\n }\n };\n}\n\nfunction initTransition<D>({\n operation,\n interactionType,\n itemsLayout,\n draggableItem,\n draggableRect,\n collisionIds,\n}: InitAction<D>): TransitionState<D> {\n const transition: Transition<D> = {\n operation,\n interactionType,\n itemsLayout,\n layoutEngine: new LayoutEngine(itemsLayout),\n insertionDirection: null,\n draggableItem,\n draggableRect,\n acquiredItem: null,\n collisionIds: new Set(),\n layoutShift: null,\n path: [],\n };\n\n const placeholdersLayout = getLayoutPlaceholders(transition);\n\n const layoutItem = itemsLayout.items.find((it) => it.id === draggableItem.id);\n\n let path: Position[] = [];\n if (interactionType === \"pointer\" || operation === \"insert\") {\n const collisionRect = getHoveredRect(collisionIds, placeholdersLayout.items);\n const appendPath = operation === \"resize\" ? appendResizePath : appendMovePath;\n path = layoutItem ? appendPath([], collisionRect) : [];\n } else if (layoutItem) {\n path =\n operation === \"resize\"\n ? [new Position({ x: layoutItem.x + layoutItem.width, y: layoutItem.y + layoutItem.height })]\n : [new Position({ x: layoutItem.x, y: layoutItem.y })];\n }\n\n return {\n transition: { ...transition, path },\n removeTransition: null,\n announcement: layoutItem ? { type: \"dnd-started\", item: draggableItem, operation } : null,\n };\n}\n\nfunction initRemoveTransition<D>({ items, removedItem, itemsLayout }: InitRemoveAction<D>): TransitionState<D> {\n const layoutShift = new LayoutEngine(itemsLayout).remove(removedItem.id);\n const removeTransition: RemoveTransition<D> = { items, removedItem, layoutShift };\n return { transition: null, removeTransition, announcement: null };\n}\n\nfunction submitTransition<D>(state: TransitionState<D>): TransitionState<D> {\n const { transition, removeTransition } = state;\n\n if (removeTransition) {\n const disturbed = new Set(removeTransition.layoutShift.moves.map((move) => move.itemId));\n disturbed.delete(removeTransition.removedItem.id);\n return {\n transition: null,\n removeTransition: null,\n announcement: { type: \"item-removed\", item: removeTransition.removedItem, disturbed },\n };\n }\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n\n const { operation, itemsLayout, draggableItem: item, acquiredItem } = transition;\n const itemBelongsToBoard = item.id === acquiredItem?.id || itemsLayout.items.some((it) => it.id === item.id);\n\n return transition.layoutShift?.conflicts.length === 0\n ? {\n transition: null,\n removeTransition: null,\n announcement: itemBelongsToBoard ? { type: \"dnd-committed\", item, operation } : null,\n }\n : {\n transition: null,\n removeTransition: null,\n announcement: itemBelongsToBoard ? { type: \"dnd-discarded\", item, operation } : null,\n };\n}\n\nfunction discardTransition<D>(state: TransitionState<D>): TransitionState<D> {\n const { transition, removeTransition } = state;\n\n if (removeTransition) {\n throw new Error(\"Can't discard remove transition.\");\n }\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n\n const { operation, itemsLayout, draggableItem: item, acquiredItem } = transition;\n const itemBelongsToBoard = item.id === acquiredItem?.id || itemsLayout.items.some((it) => it.id === item.id);\n\n return {\n transition: null,\n removeTransition: null,\n announcement: itemBelongsToBoard ? { type: \"dnd-discarded\", item, operation } : null,\n };\n}\n\nfunction updateTransitionWithPointerEvent<D>(\n state: TransitionState<D>,\n { collisionIds, positionOffset, draggableRect }: UpdateWithPointerAction,\n): TransitionState<D> {\n const { transition } = state;\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n\n const layout = transition.layoutShift?.next ?? transition.itemsLayout;\n const layoutItem = layout.items.find((it) => it.id === transition.draggableItem.id);\n const itemWidth = layoutItem ? layoutItem.width : getDefaultColumnSpan(transition.draggableItem, layout.columns);\n const itemHeight = layoutItem ? layoutItem.height : getDefaultRowSpan(transition.draggableItem);\n const itemSize = itemWidth * itemHeight;\n\n const isOutOfBoundaries =\n transition.operation !== \"resize\" ? collisionIds.length < itemSize : collisionIds.length === 0;\n\n if (isOutOfBoundaries) {\n return {\n transition: {\n ...transition,\n draggableRect,\n collisionIds: new Set(),\n layoutShift: null,\n insertionDirection: null,\n },\n removeTransition: null,\n announcement: null,\n };\n }\n\n const placeholdersLayout = getLayoutPlaceholders(transition);\n const collisionRect = getHoveredRect(collisionIds, placeholdersLayout.items);\n const appendPath = transition.operation === \"resize\" ? appendResizePath : appendMovePath;\n const path = appendPath(transition.path, collisionRect);\n\n const insertionDirection = transition.insertionDirection ?? getInsertionDirection(positionOffset);\n const layoutShift = getLayoutShift(transition, path, insertionDirection);\n\n return {\n transition: {\n ...transition,\n draggableRect,\n collisionIds: new Set(collisionIds),\n layoutShift,\n path,\n insertionDirection,\n },\n removeTransition: null,\n announcement: null,\n };\n}\n\nfunction updateTransitionWithKeyboardEvent<D>(\n state: TransitionState<D>,\n { direction }: UpdateWithKeyboardAction,\n { isRtl }: { isRtl: () => boolean },\n): TransitionState<D> {\n const { transition } = state;\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n\n const updateManualItemTransition = (transition: Transition<D>, direction: Direction): TransitionState<D> => {\n const xDelta = direction === \"left\" ? -1 : direction === \"right\" ? 1 : 0;\n const yDelta = direction === \"up\" ? -1 : direction === \"down\" ? 1 : 0;\n const lastPosition = transition.path[transition.path.length - 1];\n const nextPosition = new Position({ x: lastPosition.x + xDelta, y: lastPosition.y + yDelta });\n const nextPath = [...transition.path, nextPosition];\n\n // Check resizing below min size.\n const layout = transition.layoutShift?.next ?? transition.itemsLayout;\n const layoutItem = layout.items.find((it) => it.id === transition.draggableItem.id);\n const minWidth = getMinColumnSpan(transition.draggableItem, transition.itemsLayout.columns);\n const minHeight = getMinRowSpan(transition.draggableItem);\n if (\n transition.operation === \"resize\" &&\n layoutItem &&\n (layoutItem.width + xDelta < minWidth || layoutItem.height + yDelta < minHeight)\n ) {\n return state;\n }\n\n try {\n const layoutShift = getLayoutShift(transition, nextPath);\n const nextTransition = { ...transition, layoutShift, path: nextPath };\n return {\n transition: nextTransition,\n removeTransition: null,\n announcement: createOperationAnnouncement(nextTransition, direction),\n };\n } catch (e) {\n // Can't create next layout because the next path is out of bounds.\n return state;\n }\n };\n\n switch (direction) {\n case \"left\":\n return updateManualItemTransition(transition, !isRtl() ? \"left\" : \"right\");\n case \"right\":\n return updateManualItemTransition(transition, !isRtl() ? \"right\" : \"left\");\n case \"up\":\n return updateManualItemTransition(transition, \"up\");\n case \"down\":\n return updateManualItemTransition(transition, \"down\");\n }\n}\n\nfunction acquireTransitionItem<D>(\n state: TransitionState<D>,\n { position, layoutElement, acquiredItemElement }: AcquireItemAction,\n): TransitionState<D> {\n const { transition } = state;\n\n if (!transition) {\n throw new Error(\"Invariant violation: no transition.\");\n }\n\n const { columns } = transition.itemsLayout;\n\n const layoutRect = getLogicalBoundingClientRect(layoutElement);\n const itemRect = transition.draggableRect;\n const coordinatesX = itemRect.left - layoutRect.insetInlineStart;\n const offset = new Coordinates({ x: coordinatesX, y: itemRect.top - layoutRect.insetBlockStart });\n const insertionDirection = getInsertionDirection(offset);\n\n // Update original insertion position if the item can't fit into the layout by width.\n const width = getDefaultColumnSpan(transition.draggableItem, columns);\n position = new Position({ x: Math.min(columns - width, position.x), y: position.y });\n\n const path = [...transition.path, position];\n\n const layoutShift = getLayoutShift(transition, path, insertionDirection);\n\n // The columnOffset, columnSpan and rowSpan are of no use as of being overridden by the layout shift.\n const acquiredItem = { ...transition.draggableItem, columnOffset: 0, columnSpan: 1, rowSpan: 1 };\n\n const nextTransition: Transition<D> = {\n ...transition,\n collisionIds: new Set(),\n layoutShift,\n path,\n acquiredItem,\n acquiredItemElement,\n };\n return {\n transition: nextTransition,\n removeTransition: null,\n announcement: createOperationAnnouncement(nextTransition, null),\n };\n}\n"]}
|
package/board-item/styles.css.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"root": "
|
|
5
|
-
"container-override": "awsui_container-
|
|
6
|
-
"active": "
|
|
7
|
-
"header": "
|
|
8
|
-
"flexible": "
|
|
9
|
-
"handle": "
|
|
10
|
-
"refresh": "
|
|
11
|
-
"header-content": "awsui_header-
|
|
12
|
-
"settings": "
|
|
13
|
-
"fixed": "
|
|
14
|
-
"resizer": "
|
|
4
|
+
"root": "awsui_root_9ckv7_1fj9z_1",
|
|
5
|
+
"container-override": "awsui_container-override_9ckv7_1fj9z_6",
|
|
6
|
+
"active": "awsui_active_9ckv7_1fj9z_6",
|
|
7
|
+
"header": "awsui_header_9ckv7_1fj9z_28",
|
|
8
|
+
"flexible": "awsui_flexible_9ckv7_1fj9z_35",
|
|
9
|
+
"handle": "awsui_handle_9ckv7_1fj9z_39",
|
|
10
|
+
"refresh": "awsui_refresh_9ckv7_1fj9z_42",
|
|
11
|
+
"header-content": "awsui_header-content_9ckv7_1fj9z_46",
|
|
12
|
+
"settings": "awsui_settings_9ckv7_1fj9z_50",
|
|
13
|
+
"fixed": "awsui_fixed_9ckv7_1fj9z_58",
|
|
14
|
+
"resizer": "awsui_resizer_9ckv7_1fj9z_62"
|
|
15
15
|
};
|
|
16
16
|
|
|
@@ -1,65 +1,66 @@
|
|
|
1
|
-
.
|
|
1
|
+
.awsui_root_9ckv7_1fj9z_1:not(#\9) {
|
|
2
2
|
display: contents;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
/* TODO: use container API instead of styles override */
|
|
6
|
-
.awsui_container-
|
|
6
|
+
.awsui_container-override_9ckv7_1fj9z_6.awsui_active_9ckv7_1fj9z_6:not(#\9) {
|
|
7
7
|
box-shadow: var(--shadow-container-active-kl29x9, 0px 1px 1px 1px #e9ebed, 0px 6px 36px rgba(0, 7, 22, 0.1019607843));
|
|
8
8
|
}
|
|
9
|
-
[data-awsui-focus-visible] .awsui_container-
|
|
9
|
+
[data-awsui-focus-visible] .awsui_container-override_9ckv7_1fj9z_6.awsui_active_9ckv7_1fj9z_6:not(#\9) {
|
|
10
10
|
position: relative;
|
|
11
11
|
box-sizing: border-box;
|
|
12
12
|
outline: 2px dotted transparent;
|
|
13
13
|
outline-offset: -1px;
|
|
14
14
|
}
|
|
15
|
-
[data-awsui-focus-visible] .awsui_container-
|
|
15
|
+
[data-awsui-focus-visible] .awsui_container-override_9ckv7_1fj9z_6.awsui_active_9ckv7_1fj9z_6:not(#\9)::before {
|
|
16
16
|
content: " ";
|
|
17
17
|
display: block;
|
|
18
18
|
position: absolute;
|
|
19
19
|
box-sizing: border-box;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
inset-inline-start: calc(-1 * 0px);
|
|
21
|
+
inset-block-start: calc(-1 * 0px);
|
|
22
|
+
inline-size: calc(100% + 2 * 0px);
|
|
23
|
+
block-size: calc(100% + 2 * 0px);
|
|
24
24
|
border-radius: var(--border-radius-container-wqv1zi, 16px);
|
|
25
25
|
border: 2px solid var(--color-border-item-focused-b2ntyl, #0972d3);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
.
|
|
28
|
+
.awsui_header_9ckv7_1fj9z_28:not(#\9) {
|
|
29
29
|
display: flex;
|
|
30
30
|
justify-items: center;
|
|
31
|
-
padding: var(--space-scaled-s-aqzyko, 12px)
|
|
31
|
+
padding-block: var(--space-scaled-s-aqzyko, 12px);
|
|
32
|
+
padding-inline: calc(var(--space-container-horizontal-wfukh3, 20px) - var(--space-scaled-xs-26e2du, 8px));
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
.
|
|
35
|
+
.awsui_flexible_9ckv7_1fj9z_35:not(#\9) {
|
|
35
36
|
flex: 1 1 min-content;
|
|
36
37
|
}
|
|
37
38
|
|
|
38
|
-
.
|
|
39
|
-
margin-
|
|
39
|
+
.awsui_handle_9ckv7_1fj9z_39:not(#\9) {
|
|
40
|
+
margin-block-start: calc(var(--space-scaled-xxs-7597g1, 4px) + 1px);
|
|
40
41
|
}
|
|
41
|
-
.
|
|
42
|
-
margin-
|
|
42
|
+
.awsui_refresh_9ckv7_1fj9z_42 > .awsui_handle_9ckv7_1fj9z_39:not(#\9) {
|
|
43
|
+
margin-block-start: calc(var(--space-static-xxxs-3gu9os, 2px) + 1px);
|
|
43
44
|
}
|
|
44
45
|
|
|
45
|
-
.awsui_header-
|
|
46
|
-
margin-
|
|
46
|
+
.awsui_header-content_9ckv7_1fj9z_46:not(#\9) {
|
|
47
|
+
margin-inline-start: var(--space-scaled-xxs-7597g1, 4px);
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
.
|
|
50
|
-
margin-
|
|
51
|
-
margin-
|
|
50
|
+
.awsui_settings_9ckv7_1fj9z_50:not(#\9) {
|
|
51
|
+
margin-block-start: calc(var(--space-scaled-xxxs-27y4hv, 2px) + 1px);
|
|
52
|
+
margin-inline-start: var(--space-static-xs-7sfb63, 8px);
|
|
52
53
|
}
|
|
53
|
-
.
|
|
54
|
-
margin-
|
|
54
|
+
.awsui_refresh_9ckv7_1fj9z_42 > .awsui_settings_9ckv7_1fj9z_50:not(#\9) {
|
|
55
|
+
margin-block-start: 0px;
|
|
55
56
|
}
|
|
56
57
|
|
|
57
|
-
.
|
|
58
|
+
.awsui_fixed_9ckv7_1fj9z_58:not(#\9) {
|
|
58
59
|
flex: 0 0 auto;
|
|
59
60
|
}
|
|
60
61
|
|
|
61
|
-
.
|
|
62
|
+
.awsui_resizer_9ckv7_1fj9z_62:not(#\9) {
|
|
62
63
|
position: absolute;
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
inset-block-end: calc(var(--space-static-xs-7sfb63, 8px) - var(--space-static-xxxs-3gu9os, 2px));
|
|
65
|
+
inset-inline-end: calc(var(--space-static-xs-7sfb63, 8px) - var(--space-static-xxxs-3gu9os, 2px));
|
|
65
66
|
}
|
|
@@ -2,16 +2,16 @@
|
|
|
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
|
-
"container-override": "awsui_container-
|
|
7
|
-
"active": "
|
|
8
|
-
"header": "
|
|
9
|
-
"flexible": "
|
|
10
|
-
"handle": "
|
|
11
|
-
"refresh": "
|
|
12
|
-
"header-content": "awsui_header-
|
|
13
|
-
"settings": "
|
|
14
|
-
"fixed": "
|
|
15
|
-
"resizer": "
|
|
5
|
+
"root": "awsui_root_9ckv7_1fj9z_1",
|
|
6
|
+
"container-override": "awsui_container-override_9ckv7_1fj9z_6",
|
|
7
|
+
"active": "awsui_active_9ckv7_1fj9z_6",
|
|
8
|
+
"header": "awsui_header_9ckv7_1fj9z_28",
|
|
9
|
+
"flexible": "awsui_flexible_9ckv7_1fj9z_35",
|
|
10
|
+
"handle": "awsui_handle_9ckv7_1fj9z_39",
|
|
11
|
+
"refresh": "awsui_refresh_9ckv7_1fj9z_42",
|
|
12
|
+
"header-content": "awsui_header-content_9ckv7_1fj9z_46",
|
|
13
|
+
"settings": "awsui_settings_9ckv7_1fj9z_50",
|
|
14
|
+
"fixed": "awsui_fixed_9ckv7_1fj9z_58",
|
|
15
|
+
"resizer": "awsui_resizer_9ckv7_1fj9z_62"
|
|
16
16
|
};
|
|
17
17
|
|