@box/blueprint-web 18.0.0 → 18.2.0
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/dist/lib-esm/components.css +413 -295
- package/dist/lib-esm/index.css +413 -295
- package/dist/lib-esm/list-item/main.module.js +1 -1
- package/dist/lib-esm/list-item/row.d.ts +1 -2
- package/dist/lib-esm/list-item/table.d.ts +4 -4
- package/dist/lib-esm/toolbar/index.d.ts +13 -0
- package/dist/lib-esm/toolbar/index.js +13 -0
- package/dist/lib-esm/toolbar/toolbar-dropdown-indicator.js +4 -2
- package/dist/lib-esm/toolbar/toolbar-icon.js +3 -2
- package/dist/lib-esm/toolbar/toolbar-root.d.ts +9 -0
- package/dist/lib-esm/toolbar/toolbar-root.js +15 -0
- package/dist/lib-esm/toolbar/toolbar-scrollable-container.d.ts +2 -0
- package/dist/lib-esm/toolbar/toolbar-scrollable-container.js +11 -5
- package/dist/lib-esm/toolbar/toolbar-toggle-item.js +3 -2
- package/dist/lib-esm/toolbar/toolbar.module.js +1 -1
- package/dist/lib-esm/toolbar/types.d.ts +13 -2
- package/dist/lib-esm/util-components/base-grid-list-item/base-grid-list-item.js +3 -0
- package/dist/lib-esm/util-components/base-grid-list-item/base-grid-list-item.module.js +1 -1
- package/dist/lib-esm/util-components/base-grid-list-item/types.d.ts +4 -0
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '../index.css';
|
|
2
|
-
var styles = {"tableSortingContainer":"bp_main_module_tableSortingContainer--
|
|
2
|
+
var styles = {"tableSortingContainer":"bp_main_module_tableSortingContainer--e8456","resizableTableContainer":"bp_main_module_resizableTableContainer--e8456","resizableTable":"bp_main_module_resizableTable--e8456","tableHeader":"bp_main_module_tableHeader--e8456","column":"bp_main_module_column--e8456","columnNameWrapper":"bp_main_module_columnNameWrapper--e8456","columnName":"bp_main_module_columnName--e8456","focusVisible":"bp_main_module_focusVisible--e8456","sorted":"bp_main_module_sorted--e8456","sortingFlexWrapper":"bp_main_module_sortingFlexWrapper--e8456","columnResizer":"bp_main_module_columnResizer--e8456","dropdownHeaderContainer":"bp_main_module_dropdownHeaderContainer--e8456","droppableColumn":"bp_main_module_droppableColumn--e8456","actionColumn":"bp_main_module_actionColumn--e8456","hiddenColumn":"bp_main_module_hiddenColumn--e8456","tableBody":"bp_main_module_tableBody--e8456","row":"bp_main_module_row--e8456","cell":"bp_main_module_cell--e8456","actionsWrapper":"bp_main_module_actionsWrapper--e8456","actionChildren":"bp_main_module_actionChildren--e8456","actions":"bp_main_module_actions--e8456","alwaysShowSelection":"bp_main_module_alwaysShowSelection--e8456","isCellHidden":"bp_main_module_isCellHidden--e8456","droppableTarget":"bp_main_module_droppableTarget--e8456","rowDraggingHighlighted":"bp_main_module_rowDraggingHighlighted--e8456"};
|
|
3
3
|
|
|
4
4
|
export { styles as default };
|
|
@@ -2,8 +2,7 @@ import { type ForwardedRef } from 'react';
|
|
|
2
2
|
import { type RowProps as PrimitiveRowProps } from 'react-aria-components';
|
|
3
3
|
export type RowProps<T> = PrimitiveRowProps<T> & {
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
* while another row in the table is dragged.
|
|
5
|
+
* Set to `false` to style this item as an invalid drop target.
|
|
7
6
|
*/
|
|
8
7
|
isDroppableTarget?: boolean;
|
|
9
8
|
};
|
|
@@ -39,8 +39,8 @@ export type TableProps = PrimitiveTableProps & {
|
|
|
39
39
|
*/
|
|
40
40
|
selectionVisibility?: SelectionVisibility;
|
|
41
41
|
/**
|
|
42
|
-
* Changes visual styles for drag and drop. When `true`,
|
|
43
|
-
*
|
|
42
|
+
* Changes visual styles for drag and drop. When `true`, rows will have reduced opacity
|
|
43
|
+
* when being dragged, and drop targets will have a colored background.
|
|
44
44
|
*/
|
|
45
45
|
isRowDraggingHighlighted?: boolean;
|
|
46
46
|
};
|
|
@@ -86,8 +86,8 @@ export declare const Table: import("react").ForwardRefExoticComponent<PrimitiveT
|
|
|
86
86
|
*/
|
|
87
87
|
selectionVisibility?: SelectionVisibility;
|
|
88
88
|
/**
|
|
89
|
-
* Changes visual styles for drag and drop. When `true`,
|
|
90
|
-
*
|
|
89
|
+
* Changes visual styles for drag and drop. When `true`, rows will have reduced opacity
|
|
90
|
+
* when being dragged, and drop targets will have a colored background.
|
|
91
91
|
*/
|
|
92
92
|
isRowDraggingHighlighted?: boolean;
|
|
93
93
|
} & import("react").RefAttributes<HTMLTableElement>>;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export { type ToolbarButtonProps, type ToolbarIconProps, type ToolbarInputProps, type ToolbarLinkProps, type ToolbarProps, type ToolbarSeparatorProps, type ToolbarToggleGroupProps, type ToolbarToggleItemProps, type ToolbarTriggerButtonProps, type ToolbarTextToggleItemProps, } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* A container for grouping a set of controls, such as buttons, toggle groups or dropdowns.
|
|
4
|
+
*
|
|
5
|
+
* `Toolbar.Root` accepts an optional `colorScheme` (`light` | `dark`). Dark is a
|
|
6
|
+
* STOPGAP for Preview Context Toolbar only — see the dark remap block at the end of
|
|
7
|
+
* `toolbar.module.scss`. Do not treat this as Blueprint app-wide theming.
|
|
8
|
+
*
|
|
4
9
|
* @example
|
|
5
10
|
* <Toolbar.Root>
|
|
6
11
|
* <Toolbar.ToggleGroup type="single">
|
|
@@ -21,10 +26,18 @@ export { type ToolbarButtonProps, type ToolbarIconProps, type ToolbarInputProps,
|
|
|
21
26
|
* Upload <Toolbar.DropdownIndicator direction="down" />
|
|
22
27
|
* </Toolbar.Button>
|
|
23
28
|
* </Toolbar.Root>
|
|
29
|
+
*
|
|
30
|
+
* @example Dark scheme (Preview Context Toolbar stopgap)
|
|
31
|
+
* <Toolbar.Root colorScheme="dark" aria-label="Annotations">
|
|
32
|
+
* <Toolbar.ToggleGroup type="single" value="markup">
|
|
33
|
+
* <Toolbar.ToggleItem aria-label="markup" icon={Pencil} value="markup" />
|
|
34
|
+
* </Toolbar.ToggleGroup>
|
|
35
|
+
* </Toolbar.Root>
|
|
24
36
|
*/
|
|
25
37
|
export declare const Toolbar: {
|
|
26
38
|
/**
|
|
27
39
|
* Contains all parts of the toolbar component.
|
|
40
|
+
* Optional `colorScheme` is a Preview stopgap — see module docs above.
|
|
28
41
|
*/
|
|
29
42
|
Root: import("react").ForwardRefExoticComponent<import("./types").ToolbarProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
30
43
|
/**
|
|
@@ -12,6 +12,11 @@ import { ToolbarTextToggleItem } from './toolbar-text-toggle-item.js';
|
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* A container for grouping a set of controls, such as buttons, toggle groups or dropdowns.
|
|
15
|
+
*
|
|
16
|
+
* `Toolbar.Root` accepts an optional `colorScheme` (`light` | `dark`). Dark is a
|
|
17
|
+
* STOPGAP for Preview Context Toolbar only — see the dark remap block at the end of
|
|
18
|
+
* `toolbar.module.scss`. Do not treat this as Blueprint app-wide theming.
|
|
19
|
+
*
|
|
15
20
|
* @example
|
|
16
21
|
* <Toolbar.Root>
|
|
17
22
|
* <Toolbar.ToggleGroup type="single">
|
|
@@ -32,10 +37,18 @@ import { ToolbarTextToggleItem } from './toolbar-text-toggle-item.js';
|
|
|
32
37
|
* Upload <Toolbar.DropdownIndicator direction="down" />
|
|
33
38
|
* </Toolbar.Button>
|
|
34
39
|
* </Toolbar.Root>
|
|
40
|
+
*
|
|
41
|
+
* @example Dark scheme (Preview Context Toolbar stopgap)
|
|
42
|
+
* <Toolbar.Root colorScheme="dark" aria-label="Annotations">
|
|
43
|
+
* <Toolbar.ToggleGroup type="single" value="markup">
|
|
44
|
+
* <Toolbar.ToggleItem aria-label="markup" icon={Pencil} value="markup" />
|
|
45
|
+
* </Toolbar.ToggleGroup>
|
|
46
|
+
* </Toolbar.Root>
|
|
35
47
|
*/
|
|
36
48
|
const Toolbar = {
|
|
37
49
|
/**
|
|
38
50
|
* Contains all parts of the toolbar component.
|
|
51
|
+
* Optional `colorScheme` is a Preview stopgap — see module docs above.
|
|
39
52
|
*/
|
|
40
53
|
Root: ToolbarRoot,
|
|
41
54
|
/**
|
|
@@ -5,10 +5,12 @@ import clsx from 'clsx';
|
|
|
5
5
|
import { forwardRef } from 'react';
|
|
6
6
|
import styles from './toolbar.module.js';
|
|
7
7
|
|
|
8
|
-
const ToolbarDropdownIndicator = /*#__PURE__*/forwardRef((
|
|
8
|
+
const ToolbarDropdownIndicator = /*#__PURE__*/forwardRef((
|
|
9
|
+
// CSS var keeps light carets at gray-50 (#909090); dark remaps the var on the scheme root.
|
|
10
|
+
{
|
|
9
11
|
direction = 'down',
|
|
10
12
|
className,
|
|
11
|
-
color
|
|
13
|
+
color = 'var(--toolbar-dropdown-indicator-color)'
|
|
12
14
|
}, forwardedRef) => {
|
|
13
15
|
return jsx(ChevronDown, {
|
|
14
16
|
ref: forwardedRef,
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { Size5 } from '@box/blueprint-web-assets/tokens/tokens';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
import React__default, { forwardRef } from 'react';
|
|
5
5
|
import styles from './toolbar.module.js';
|
|
6
6
|
|
|
7
7
|
const ToolbarIcon = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
8
|
+
// Inherit from Toolbar item text color so light/dark schemes both work without a hardcoded fill.
|
|
8
9
|
const {
|
|
9
10
|
icon,
|
|
10
11
|
className,
|
|
11
|
-
color =
|
|
12
|
+
color = 'currentColor'
|
|
12
13
|
} = props;
|
|
13
14
|
return jsx("span", {
|
|
14
15
|
ref: forwardedRef,
|
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
import { type ToolbarProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Context Toolbar root.
|
|
4
|
+
*
|
|
5
|
+
* STOPGAP EXCEPTION — DO NOT COPY to other components.
|
|
6
|
+
* `colorScheme` is consumer-selected light|dark for Toolbar only until Launchpad
|
|
7
|
+
* ships a real theme/mode service (LXP-75). Expanding theming means rewriting,
|
|
8
|
+
* not cloning this prop + SCSS remap pattern. Figma drift risk is owned by Preview;
|
|
9
|
+
* keep dark/light VRTs green when changing remaps in `toolbar.module.scss`.
|
|
10
|
+
*/
|
|
2
11
|
export declare const ToolbarRoot: import("react").ForwardRefExoticComponent<ToolbarProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -6,6 +6,15 @@ import { ToolbarScrollableContainer } from './toolbar-scrollable-container.js';
|
|
|
6
6
|
import styles from './toolbar.module.js';
|
|
7
7
|
import { HorizontalScrollProvider } from './utils/horizontal-scroll-context.js';
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Context Toolbar root.
|
|
11
|
+
*
|
|
12
|
+
* STOPGAP EXCEPTION — DO NOT COPY to other components.
|
|
13
|
+
* `colorScheme` is consumer-selected light|dark for Toolbar only until Launchpad
|
|
14
|
+
* ships a real theme/mode service (LXP-75). Expanding theming means rewriting,
|
|
15
|
+
* not cloning this prop + SCSS remap pattern. Figma drift risk is owned by Preview;
|
|
16
|
+
* keep dark/light VRTs green when changing remaps in `toolbar.module.scss`.
|
|
17
|
+
*/
|
|
9
18
|
const ToolbarRoot = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
10
19
|
const {
|
|
11
20
|
children,
|
|
@@ -16,13 +25,17 @@ const ToolbarRoot = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
16
25
|
ariaLabelPrevButton,
|
|
17
26
|
maxWidth,
|
|
18
27
|
scrollStep,
|
|
28
|
+
colorScheme = 'light',
|
|
19
29
|
...rest
|
|
20
30
|
} = props;
|
|
31
|
+
// Emit the attribute only in dark mode so light Toolbars keep the same DOM as master.
|
|
32
|
+
const dataColorScheme = colorScheme === 'dark' ? colorScheme : undefined;
|
|
21
33
|
if (scrollable) {
|
|
22
34
|
return jsx(ToolbarPrimitive.Root, {
|
|
23
35
|
...rest,
|
|
24
36
|
ref: forwardedRef,
|
|
25
37
|
className: clsx(styles.toolbarRoot, styles.ScrollableToolbarWithReducedPadding, className),
|
|
38
|
+
"data-color-scheme": dataColorScheme,
|
|
26
39
|
style: {
|
|
27
40
|
...style,
|
|
28
41
|
maxWidth
|
|
@@ -32,6 +45,7 @@ const ToolbarRoot = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
32
45
|
children: jsx(ToolbarScrollableContainer, {
|
|
33
46
|
ariaLabelNextButton: ariaLabelNextButton,
|
|
34
47
|
ariaLabelPrevButton: ariaLabelPrevButton,
|
|
48
|
+
colorScheme: colorScheme,
|
|
35
49
|
children: children
|
|
36
50
|
})
|
|
37
51
|
})
|
|
@@ -41,6 +55,7 @@ const ToolbarRoot = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
41
55
|
...rest,
|
|
42
56
|
ref: forwardedRef,
|
|
43
57
|
className: clsx(styles.toolbarRoot, className),
|
|
58
|
+
"data-color-scheme": dataColorScheme,
|
|
44
59
|
style: style,
|
|
45
60
|
children: children
|
|
46
61
|
});
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { type ToolbarColorScheme } from './types';
|
|
1
2
|
interface ScrollableContainerProps {
|
|
2
3
|
children: React.ReactNode;
|
|
3
4
|
ariaLabelPrevButton: string;
|
|
4
5
|
ariaLabelNextButton: string;
|
|
6
|
+
colorScheme?: ToolbarColorScheme;
|
|
5
7
|
}
|
|
6
8
|
export declare const ToolbarScrollableContainer: import("react").ForwardRefExoticComponent<ScrollableContainerProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
7
9
|
export {};
|
|
@@ -13,7 +13,8 @@ const ScrollButton = ({
|
|
|
13
13
|
ariaLabel,
|
|
14
14
|
onClick,
|
|
15
15
|
icon: Icon,
|
|
16
|
-
separatorPosition
|
|
16
|
+
separatorPosition,
|
|
17
|
+
variant
|
|
17
18
|
}) => jsxs("div", {
|
|
18
19
|
className: clsx(styles.scrollButtonWrapper, {
|
|
19
20
|
[styles.hidden]: hidden
|
|
@@ -21,14 +22,16 @@ const ScrollButton = ({
|
|
|
21
22
|
children: [separatorPosition === 'before' && jsx(ToolbarSeparator, {}), jsx(IconButton, {
|
|
22
23
|
"aria-label": ariaLabel,
|
|
23
24
|
icon: Icon,
|
|
24
|
-
onClick: onClick
|
|
25
|
+
onClick: onClick,
|
|
26
|
+
variant: variant
|
|
25
27
|
}), separatorPosition === 'after' && jsx(ToolbarSeparator, {})]
|
|
26
28
|
});
|
|
27
29
|
const ToolbarScrollableContainer = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
28
30
|
const {
|
|
29
31
|
children,
|
|
30
32
|
ariaLabelPrevButton,
|
|
31
|
-
ariaLabelNextButton
|
|
33
|
+
ariaLabelNextButton,
|
|
34
|
+
colorScheme = 'light'
|
|
32
35
|
} = props;
|
|
33
36
|
const {
|
|
34
37
|
scrollPosition,
|
|
@@ -36,6 +39,7 @@ const ToolbarScrollableContainer = /*#__PURE__*/forwardRef((props, forwardedRef)
|
|
|
36
39
|
scrollRight,
|
|
37
40
|
onAttach
|
|
38
41
|
} = useScrollContext();
|
|
42
|
+
const scrollButtonVariant = colorScheme === 'dark' ? 'on-dark' : 'default';
|
|
39
43
|
const onMountRef = useRefWithEffectMemoized(forwardedRef, node => {
|
|
40
44
|
onAttach(node);
|
|
41
45
|
});
|
|
@@ -45,7 +49,8 @@ const ToolbarScrollableContainer = /*#__PURE__*/forwardRef((props, forwardedRef)
|
|
|
45
49
|
hidden: scrollPosition === 'start' || scrollPosition === 'none',
|
|
46
50
|
icon: PointerChevronLeft,
|
|
47
51
|
onClick: scrollLeft,
|
|
48
|
-
separatorPosition: "after"
|
|
52
|
+
separatorPosition: "after",
|
|
53
|
+
variant: scrollButtonVariant
|
|
49
54
|
}), jsx("div", {
|
|
50
55
|
ref: onMountRef,
|
|
51
56
|
className: clsx(styles.scrollableChildrenWrapper),
|
|
@@ -56,7 +61,8 @@ const ToolbarScrollableContainer = /*#__PURE__*/forwardRef((props, forwardedRef)
|
|
|
56
61
|
hidden: scrollPosition === 'end' || scrollPosition === 'none',
|
|
57
62
|
icon: PointerChevronRight,
|
|
58
63
|
onClick: scrollRight,
|
|
59
|
-
separatorPosition: "before"
|
|
64
|
+
separatorPosition: "before",
|
|
65
|
+
variant: scrollButtonVariant
|
|
60
66
|
})]
|
|
61
67
|
});
|
|
62
68
|
});
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { Size5 } from '@box/blueprint-web-assets/tokens/tokens';
|
|
3
3
|
import * as ToolbarPrimitive from '@radix-ui/react-toolbar';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
5
|
import { forwardRef, createElement } from 'react';
|
|
6
6
|
import styles from './toolbar.module.js';
|
|
7
7
|
|
|
8
8
|
const ToolbarToggleItem = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
9
|
+
// Inherit from Toolbar item text color so light/dark schemes both work without a hardcoded fill.
|
|
9
10
|
const {
|
|
10
11
|
children,
|
|
11
12
|
icon,
|
|
12
|
-
color =
|
|
13
|
+
color = 'currentColor',
|
|
13
14
|
...rest
|
|
14
15
|
} = props;
|
|
15
16
|
return jsxs(ToolbarPrimitive.ToggleItem, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '../index.css';
|
|
2
|
-
var styles = {"dropdownIndicator":"bp_toolbar_module_dropdownIndicator--
|
|
2
|
+
var styles = {"dropdownIndicator":"bp_toolbar_module_dropdownIndicator--36b15","invertCaret":"bp_toolbar_module_invertCaret--36b15","toolbarRoot":"bp_toolbar_module_toolbarRoot--36b15","ScrollableToolbarWithReducedPadding":"bp_toolbar_module_ScrollableToolbarWithReducedPadding--36b15","toolbarItem":"bp_toolbar_module_toolbarItem--36b15","toolbarButton":"bp_toolbar_module_toolbarButton--36b15","toolbarTextToggleItem":"bp_toolbar_module_toolbarTextToggleItem--36b15","toolbarLink":"bp_toolbar_module_toolbarLink--36b15","scrollButtonWrapper":"bp_toolbar_module_scrollButtonWrapper--36b15","hidden":"bp_toolbar_module_hidden--36b15","scrollableChildrenWrapper":"bp_toolbar_module_scrollableChildrenWrapper--36b15","separator":"bp_toolbar_module_separator--36b15","toggleGroup":"bp_toolbar_module_toggleGroup--36b15","toolbarToggle":"bp_toolbar_module_toolbarToggle--36b15","triggerButtonSelectedWithColor":"bp_toolbar_module_triggerButtonSelectedWithColor--36b15","toolbarIcon":"bp_toolbar_module_toolbarIcon--36b15","toolbarLinkText":"bp_toolbar_module_toolbarLinkText--36b15","toolbarInputContainer":"bp_toolbar_module_toolbarInputContainer--36b15","toolbarInput":"bp_toolbar_module_toolbarInput--36b15","toolbarInputErrorIcon":"bp_toolbar_module_toolbarInputErrorIcon--36b15","toolbarInputError":"bp_toolbar_module_toolbarInputError--36b15","toolbarInputErrorIconHidden":"bp_toolbar_module_toolbarInputErrorIconHidden--36b15"};
|
|
3
3
|
|
|
4
4
|
export { styles as default };
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { type ToolbarButtonProps as ToolbarPrimitiveButtonProps, type ToolbarLinkProps as ToolbarPrimitiveLinkProps, type ToolbarProps as ToolbarPrimitiveProps, type ToolbarSeparatorProps as ToolbarPrimitiveSeparatorProps, type ToolbarToggleItemProps as ToolbarPrimitiveToggleItemProps, type ToggleGroupProps as ToolbarToggleGroupPrimitiveProps } from '@radix-ui/react-toolbar';
|
|
2
2
|
import { type CSSProperties, type FunctionComponent, type HTMLAttributes, type PropsWithChildren, type SVGProps } from 'react';
|
|
3
|
+
/** Toolbar-only stopgap; not exported from the package root. */
|
|
4
|
+
export type ToolbarColorScheme = 'light' | 'dark';
|
|
5
|
+
interface ColorSchemeProps {
|
|
6
|
+
/**
|
|
7
|
+
* Color scheme of the toolbar. Independent of the page theme; the consumer chooses.
|
|
8
|
+
* Light remains the default so existing consumers are unchanged.
|
|
9
|
+
*
|
|
10
|
+
* @default 'light'
|
|
11
|
+
*/
|
|
12
|
+
colorScheme?: ToolbarColorScheme;
|
|
13
|
+
}
|
|
3
14
|
interface ToolbarWithoutScrollProps {
|
|
4
15
|
scrollable?: false;
|
|
5
16
|
}
|
|
@@ -20,9 +31,9 @@ interface ToolbarWithScrollProps extends ToolbarScrollOptions {
|
|
|
20
31
|
scrollable: true;
|
|
21
32
|
}
|
|
22
33
|
type ScrollProps = ToolbarWithoutScrollProps | ToolbarWithScrollProps;
|
|
23
|
-
export type ToolbarProps = ToolbarPrimitiveProps & ScrollProps;
|
|
34
|
+
export type ToolbarProps = ToolbarPrimitiveProps & ColorSchemeProps & ScrollProps;
|
|
24
35
|
/** Scroll options can still be present at runtime when `scrollable` is falsy, e.g. `scrollable={isNarrow}`. */
|
|
25
|
-
export type ToolbarRootRuntimeProps = ToolbarPrimitiveProps & ((ToolbarWithoutScrollProps & Partial<ToolbarScrollOptions>) | ToolbarWithScrollProps);
|
|
36
|
+
export type ToolbarRootRuntimeProps = ToolbarPrimitiveProps & ColorSchemeProps & ((ToolbarWithoutScrollProps & Partial<ToolbarScrollOptions>) | ToolbarWithScrollProps);
|
|
26
37
|
export type ToolbarSeparatorProps = ToolbarPrimitiveSeparatorProps;
|
|
27
38
|
export type ToolbarToggleGroupProps = ToolbarToggleGroupPrimitiveProps;
|
|
28
39
|
interface ToolbarButtonCSS extends CSSProperties {
|
|
@@ -25,6 +25,7 @@ const BaseGridListItem = /*#__PURE__*/forwardRef(function BaseGridListItem(props
|
|
|
25
25
|
const {
|
|
26
26
|
children,
|
|
27
27
|
className,
|
|
28
|
+
isDroppableTarget = true,
|
|
28
29
|
loading = false,
|
|
29
30
|
pinned = false,
|
|
30
31
|
pinAriaLabel,
|
|
@@ -131,6 +132,8 @@ const BaseGridListItem = /*#__PURE__*/forwardRef(function BaseGridListItem(props
|
|
|
131
132
|
// In V2 layouts, keep subtitle visible on hover/focus when there are no action buttons
|
|
132
133
|
{
|
|
133
134
|
[styles.noActions]: isV2Layout && !hasActions
|
|
135
|
+
}, {
|
|
136
|
+
[styles.droppableTarget]: isDroppableTarget
|
|
134
137
|
}, className),
|
|
135
138
|
textValue: textValue,
|
|
136
139
|
children: jsxs(BaseGridListItemContext.Provider, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '../../index.css';
|
|
2
|
-
var styles = {"smallList":"bp_base_grid_list_item_module_smallList--
|
|
2
|
+
var styles = {"smallList":"bp_base_grid_list_item_module_smallList--1ce37","smallListItem":"bp_base_grid_list_item_module_smallListItem--1ce37","loading":"bp_base_grid_list_item_module_loading--1ce37","thumbnail":"bp_base_grid_list_item_module_thumbnail--1ce37","thumbnailContent":"bp_base_grid_list_item_module_thumbnailContent--1ce37","header":"bp_base_grid_list_item_module_header--1ce37","subtitle":"bp_base_grid_list_item_module_subtitle--1ce37","actions":"bp_base_grid_list_item_module_actions--1ce37","selection":"bp_base_grid_list_item_module_selection--1ce37","inner":"bp_base_grid_list_item_module_inner--1ce37","actionsCheckboxWrapper":"bp_base_grid_list_item_module_actionsCheckboxWrapper--1ce37","largeList":"bp_base_grid_list_item_module_largeList--1ce37","largeListItem":"bp_base_grid_list_item_module_largeListItem--1ce37","fade":"bp_base_grid_list_item_module_fade--1ce37","description":"bp_base_grid_list_item_module_description--1ce37","snippet":"bp_base_grid_list_item_module_snippet--1ce37","snippetContent":"bp_base_grid_list_item_module_snippetContent--1ce37","gridList":"bp_base_grid_list_item_module_gridList--1ce37","gridListItem":"bp_base_grid_list_item_module_gridListItem--1ce37","statusPin":"bp_base_grid_list_item_module_statusPin--1ce37","isItemInteracted":"bp_base_grid_list_item_module_isItemInteracted--1ce37","tooltipContent":"bp_base_grid_list_item_module_tooltipContent--1ce37","tooltipArrow":"bp_base_grid_list_item_module_tooltipArrow--1ce37","gridListV2":"bp_base_grid_list_item_module_gridListV2--1ce37","gridListV2Item":"bp_base_grid_list_item_module_gridListV2Item--1ce37","droppableTarget":"bp_base_grid_list_item_module_droppableTarget--1ce37","noActions":"bp_base_grid_list_item_module_noActions--1ce37","thumbnailBadges":"bp_base_grid_list_item_module_thumbnailBadges--1ce37","statusBadge":"bp_base_grid_list_item_module_statusBadge--1ce37","fileTypePill":"bp_base_grid_list_item_module_fileTypePill--1ce37","textCentered":"bp_base_grid_list_item_module_textCentered--1ce37","innerCentered":"bp_base_grid_list_item_module_innerCentered--1ce37","gridListV2Small":"bp_base_grid_list_item_module_gridListV2Small--1ce37","gridListV2XSmall":"bp_base_grid_list_item_module_gridListV2XSmall--1ce37","gridListV2XSmallBordered":"bp_base_grid_list_item_module_gridListV2XSmallBordered--1ce37","gridV2ClickShield":"bp_base_grid_list_item_module_gridV2ClickShield--1ce37","listV2ClickShield":"bp_base_grid_list_item_module_listV2ClickShield--1ce37","listV2":"bp_base_grid_list_item_module_listV2--1ce37","listV2Item":"bp_base_grid_list_item_module_listV2Item--1ce37","listV2Divider":"bp_base_grid_list_item_module_listV2Divider--1ce37","content":"bp_base_grid_list_item_module_content--1ce37","staticList":"bp_base_grid_list_item_module_staticList--1ce37","staticListItem":"bp_base_grid_list_item_module_staticListItem--1ce37"};
|
|
3
3
|
|
|
4
4
|
export { styles as default };
|
|
@@ -139,5 +139,9 @@ export interface BaseGridListItemContextType {
|
|
|
139
139
|
}
|
|
140
140
|
export interface BaseGridListItemProps extends GridListItemProps, Omit<BaseGridListItemContextType, 'isItemInteracted' | 'setIsItemInteracted' | 'hasActions' | 'setHasActions'> {
|
|
141
141
|
children?: ReactNode;
|
|
142
|
+
/**
|
|
143
|
+
* Set to `false` to style this item as an invalid drop target.
|
|
144
|
+
*/
|
|
145
|
+
isDroppableTarget?: boolean;
|
|
142
146
|
}
|
|
143
147
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@box/blueprint-web",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"publishConfig": {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@ariakit/react": "0.4.21",
|
|
57
57
|
"@ariakit/react-core": "0.4.21",
|
|
58
|
-
"@box/blueprint-web-assets": "^5.11.
|
|
58
|
+
"@box/blueprint-web-assets": "^5.11.16",
|
|
59
59
|
"@internationalized/date": "^3.12.0",
|
|
60
60
|
"@radix-ui/react-accordion": "1.1.2",
|
|
61
61
|
"@radix-ui/react-checkbox": "1.0.4",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"devDependencies": {
|
|
87
87
|
"@box/box-test-client": "^3.2.7",
|
|
88
88
|
"@box/playwright-utils": "^2.8.5",
|
|
89
|
-
"@box/storybook-utils": "^1.4.
|
|
89
|
+
"@box/storybook-utils": "^1.4.11",
|
|
90
90
|
"@figma/code-connect": "1.4.4",
|
|
91
91
|
"@playwright/test": "1.46.1",
|
|
92
92
|
"@types/js-yaml": "^4.0.9",
|