@box/blueprint-web 16.20.6 → 17.0.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/accordion/accordion.js +7 -18
- package/dist/lib-esm/avatar/avatar.js +1 -5
- package/dist/lib-esm/blueprint-modernization-context/blueprint-modernization-context.d.ts +20 -1
- package/dist/lib-esm/blueprint-modernization-context/blueprint-modernization-context.js +10 -2
- package/dist/lib-esm/blueprint-modernization-context/index.d.ts +4 -0
- package/dist/lib-esm/blueprint-modernization-context/useBlueprintModernization.d.ts +4 -0
- package/dist/lib-esm/blueprint-modernization-context/useBlueprintModernization.js +4 -0
- package/dist/lib-esm/branding-styles/utils/createTheme.d.ts +5 -0
- package/dist/lib-esm/branding-styles/utils/createTheme.js +7 -6
- package/dist/lib-esm/branding-styles/utils/theme.d.ts +5 -0
- package/dist/lib-esm/branding-styles/utils/theme.js +5 -1
- package/dist/lib-esm/branding-styles/utils/variables.d.ts +5 -39
- package/dist/lib-esm/branding-styles/utils/variables.js +5 -3
- package/dist/lib-esm/card/card.js +1 -5
- package/dist/lib-esm/card-tooltip/card-tooltip.js +1 -5
- package/dist/lib-esm/checkbox/checkbox-item.js +1 -5
- package/dist/lib-esm/collapsible/collapsible-section.js +6 -9
- package/dist/lib-esm/combobox/combobox.js +8 -15
- package/dist/lib-esm/combobox-group/combobox-group.js +1 -5
- package/dist/lib-esm/components.css +242 -221
- package/dist/lib-esm/content-card/content-card-body.js +2 -6
- package/dist/lib-esm/content-card/content-card.js +2 -9
- package/dist/lib-esm/data-table/cell/sticky-cell.module.js +1 -1
- package/dist/lib-esm/data-table/data-table.module.js +1 -1
- package/dist/lib-esm/date-picker/date-picker.js +1 -5
- package/dist/lib-esm/ghost/ghost.js +1 -4
- package/dist/lib-esm/icon-dual-state-button/icon-dual-state-button.js +1 -5
- package/dist/lib-esm/icon-toggle-button/icon-toggle-button.js +5 -14
- package/dist/lib-esm/index.css +242 -221
- package/dist/lib-esm/inline-table/inline-table.js +1 -5
- package/dist/lib-esm/input-chip/input-chip.js +2 -5
- package/dist/lib-esm/list-item/table-column.js +6 -15
- package/dist/lib-esm/list-item/table-header-default.js +1 -5
- package/dist/lib-esm/list-item/table.js +1 -4
- package/dist/lib-esm/loading-indicator/loading-indicator.js +1 -6
- package/dist/lib-esm/modal/modal-close.js +2 -6
- package/dist/lib-esm/modal/modal-content.js +1 -5
- package/dist/lib-esm/navigation-menu/navigation-menu-content.js +1 -5
- package/dist/lib-esm/navigation-menu/navigation-menu-link.js +1 -5
- package/dist/lib-esm/page/page-root.js +1 -5
- package/dist/lib-esm/primitives/base-button/base-button-icon.js +1 -4
- package/dist/lib-esm/primitives/base-button/base-button.js +1 -5
- package/dist/lib-esm/primitives/base-inline-notice/base-inline-notice-icon.js +4 -12
- package/dist/lib-esm/primitives/base-inline-notice/base-inline-notice.js +1 -5
- package/dist/lib-esm/primitives/base-text-input/base-text-input.js +4 -10
- package/dist/lib-esm/primitives/calendar/calendar.js +5 -8
- package/dist/lib-esm/primitives/chips/chip.js +1 -5
- package/dist/lib-esm/primitives/chips/chips-group.js +1 -5
- package/dist/lib-esm/primitives/context-menu/context-menu-item.js +2 -6
- package/dist/lib-esm/primitives/context-menu/context-menu-menu-content.js +2 -6
- package/dist/lib-esm/primitives/context-menu/context-menu-menu-header.js +1 -5
- package/dist/lib-esm/primitives/context-menu/context-menu-sub-menu-content.js +2 -6
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu-checkbox-item.js +6 -10
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu-content.js +2 -6
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu-header.js +4 -11
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu-item.js +3 -7
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu-radio-select-item.js +6 -10
- package/dist/lib-esm/primitives/dropdown-menu/dropdown-menu-sub-menu-content.js +2 -6
- package/dist/lib-esm/primitives/icon-button/icon-button.js +1 -5
- package/dist/lib-esm/primitives/inline-error/inline-error.js +3 -6
- package/dist/lib-esm/primitives/link/link.js +1 -5
- package/dist/lib-esm/primitives/menu-combobox/menu-combobox-content.js +1 -5
- package/dist/lib-esm/primitives/menu-combobox/menu-combobox-empty.js +1 -5
- package/dist/lib-esm/primitives/menu-combobox/menu-combobox-header.js +2 -6
- package/dist/lib-esm/primitives/menu-combobox/menu-combobox-search.js +3 -7
- package/dist/lib-esm/primitives/notification/private-notification-element.js +8 -39
- package/dist/lib-esm/primitives/page-header/page-header.js +1 -4
- package/dist/lib-esm/primitives/popover/popover-content-container.js +1 -5
- package/dist/lib-esm/primitives/select-menu-grid/select-menu-grid-option.js +6 -24
- package/dist/lib-esm/primitives/tabs/tab-list.js +2 -6
- package/dist/lib-esm/progress-bar/progress-bar.js +1 -5
- package/dist/lib-esm/radio-group/radio-group.js +1 -5
- package/dist/lib-esm/radio-tiles/radio-tiles-option.js +1 -5
- package/dist/lib-esm/radio-tiles/radio-tiles.js +1 -5
- package/dist/lib-esm/search-input/search-input-controlled/search-input-controlled.js +5 -8
- package/dist/lib-esm/search-input/search-input.js +5 -8
- package/dist/lib-esm/select/select.js +5 -15
- package/dist/lib-esm/side-panel/side-panel-close.js +3 -6
- package/dist/lib-esm/side-panel/side-panel-content.js +2 -9
- package/dist/lib-esm/side-panel/side-panel-overlay.js +1 -5
- package/dist/lib-esm/small-list-item/small-list.js +1 -5
- package/dist/lib-esm/split-button/split-button.js +2 -6
- package/dist/lib-esm/status/status.js +1 -5
- package/dist/lib-esm/switch/switch-item.js +1 -5
- package/dist/lib-esm/text/text.js +1 -5
- package/dist/lib-esm/text-area/text-area-autosize/text-area-autosize.js +5 -19
- package/dist/lib-esm/text-area/text-area-autosize/text-area-autosize.module.js +1 -1
- package/dist/lib-esm/text-area/text-area.js +1 -5
- package/dist/lib-esm/text-button/text-button.js +1 -5
- package/dist/lib-esm/text-input/text-input.js +3 -6
- package/dist/lib-esm/text-toggle-button/text-toggle-button.js +1 -5
- package/dist/lib-esm/time-picker/time-picker.js +6 -22
- package/dist/lib-esm/toolbar/toolbar-button.js +1 -5
- package/dist/lib-esm/toolbar/toolbar-dropdown-indicator.js +3 -6
- package/dist/lib-esm/toolbar/toolbar-input.js +1 -5
- package/dist/lib-esm/toolbar/toolbar-link.js +1 -5
- package/dist/lib-esm/toolbar/toolbar-root.js +3 -6
- package/dist/lib-esm/toolbar/toolbar-text-toggle-item.js +1 -5
- package/dist/lib-esm/toolbar/toolbar-toggle-group.js +1 -5
- package/dist/lib-esm/toolbar/toolbar-toggle-item.js +1 -5
- package/dist/lib-esm/tooltip/tooltip.js +2 -19
- package/dist/lib-esm/trigger-button/trigger-button.js +4 -11
- package/dist/lib-esm/util-components/base-grid-list-item/base-grid-list-item-actions.js +6 -1
- package/dist/lib-esm/util-components/base-grid-list-item/base-grid-list-item.js +36 -14
- 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/base-grid-list.js +35 -8
- package/dist/lib-esm/util-components/base-grid-list-item/grid-list-interaction-utils.d.ts +32 -0
- package/dist/lib-esm/util-components/base-grid-list-item/grid-list-interaction-utils.js +55 -0
- package/dist/lib-esm/util-components/base-grid-list-item/types.d.ts +11 -3
- package/dist/lib-esm/util-components/base-grid-list-item/utils/rac-tooltip.js +3 -6
- package/dist/lib-esm/util-components/legend/legend.js +1 -6
- package/dist/lib-esm/util-components/list-checkbox/list-checkbox.js +1 -5
- package/dist/lib-esm/util-components/menu-item-sections/menu-item-sections.js +2 -9
- package/dist/lib-esm/util-components/text-with-info-badge/text-with-info-badge.js +1 -6
- package/dist/lib-esm/utils/TooltipWrapper.d.ts +1 -1
- package/package.json +3 -3
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
2
|
+
import '@box/blueprint-web-assets/icons/Fill';
|
|
3
3
|
import { ChevronRight } from '@box/blueprint-web-assets/icons/Medium';
|
|
4
4
|
import * as RadixAccordion from '@radix-ui/react-accordion';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { useRef } from 'react';
|
|
7
|
-
import { useBlueprintModernization } from '../blueprint-modernization-context/useBlueprintModernization.js';
|
|
8
7
|
import { Ghost } from '../ghost/ghost.js';
|
|
9
8
|
import { InlineNotice } from '../inline-notice/inline-notice.js';
|
|
10
9
|
import { AccordionItemHeader, AccordionActionSlot } from './accordion-item-header.js';
|
|
@@ -21,12 +20,9 @@ import styles from './accordion.module.js';
|
|
|
21
20
|
* </Accordion>
|
|
22
21
|
*/
|
|
23
22
|
const Root = props => {
|
|
24
|
-
const {
|
|
25
|
-
enableModernizedComponents
|
|
26
|
-
} = useBlueprintModernization();
|
|
27
23
|
return jsx(RadixAccordion.Root, {
|
|
28
24
|
...props,
|
|
29
|
-
className:
|
|
25
|
+
className: styles.accordion
|
|
30
26
|
});
|
|
31
27
|
};
|
|
32
28
|
const Item = props => {
|
|
@@ -38,15 +34,12 @@ const Item = props => {
|
|
|
38
34
|
...rest
|
|
39
35
|
} = props;
|
|
40
36
|
const accordionItemClasses = clsx(styles.accordionItem, className);
|
|
41
|
-
const {
|
|
42
|
-
enableModernizedComponents
|
|
43
|
-
} = useBlueprintModernization();
|
|
44
37
|
const triggerRef = useRef(null);
|
|
45
38
|
if (loading) {
|
|
46
39
|
return jsx("div", {
|
|
47
40
|
...rest,
|
|
48
41
|
className: accordionItemClasses,
|
|
49
|
-
"data-modern":
|
|
42
|
+
"data-modern": 'true' ,
|
|
50
43
|
children: jsx("button", {
|
|
51
44
|
"aria-label": loadingAriaLabel,
|
|
52
45
|
className: styles.accordionTrigger,
|
|
@@ -62,7 +55,7 @@ const Item = props => {
|
|
|
62
55
|
return jsx("div", {
|
|
63
56
|
...rest,
|
|
64
57
|
className: accordionItemClasses,
|
|
65
|
-
"data-modern":
|
|
58
|
+
"data-modern": 'true' ,
|
|
66
59
|
children: jsx("div", {
|
|
67
60
|
className: clsx({
|
|
68
61
|
[styles.accordionFixedContent]: Boolean(children)
|
|
@@ -89,15 +82,11 @@ const Item = props => {
|
|
|
89
82
|
highlighted,
|
|
90
83
|
...itemRest
|
|
91
84
|
} = props;
|
|
92
|
-
const chevronIcon =
|
|
85
|
+
const chevronIcon = jsx(ChevronRight, {
|
|
93
86
|
"aria-hidden": "true",
|
|
94
87
|
className: styles.accordionTriggerIcon,
|
|
95
88
|
color: "var(--bp-icon-icon-on-light-secondary)"
|
|
96
|
-
})
|
|
97
|
-
"aria-hidden": "true",
|
|
98
|
-
className: styles.accordionTriggerIcon,
|
|
99
|
-
color: "var(--bp-gray-100)"
|
|
100
|
-
});
|
|
89
|
+
}) ;
|
|
101
90
|
const handleChevronClick = () => {
|
|
102
91
|
triggerRef.current?.click();
|
|
103
92
|
};
|
|
@@ -106,7 +95,7 @@ const Item = props => {
|
|
|
106
95
|
className: clsx(accordionItemClasses, {
|
|
107
96
|
[styles.highlighted]: highlighted
|
|
108
97
|
}),
|
|
109
|
-
"data-modern":
|
|
98
|
+
"data-modern": 'true' ,
|
|
110
99
|
children: [jsx(RadixAccordion.Header, {
|
|
111
100
|
asChild: true,
|
|
112
101
|
children: jsxs("div", {
|
|
@@ -3,7 +3,6 @@ import { Avatar as Avatar$1 } from '@box/blueprint-web-assets/icons/Line';
|
|
|
3
3
|
import { GrayBlack } from '@box/blueprint-web-assets/tokens/tokens';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
5
|
import React__default, { forwardRef, useState, useEffect } from 'react';
|
|
6
|
-
import { useBlueprintModernization } from '../blueprint-modernization-context/useBlueprintModernization.js';
|
|
7
6
|
import { getContrastTextColor } from '../utils/getContrastTextColor.js';
|
|
8
7
|
import styles from './avatar.module.js';
|
|
9
8
|
import { colors, iconSizes } from './consts.js';
|
|
@@ -23,9 +22,6 @@ const Avatar = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
23
22
|
text,
|
|
24
23
|
...rest
|
|
25
24
|
} = props;
|
|
26
|
-
const {
|
|
27
|
-
enableModernizedComponents
|
|
28
|
-
} = useBlueprintModernization();
|
|
29
25
|
const [imageIsLoaded, setImageIsLoaded] = useState(false);
|
|
30
26
|
const [imageHasError, setImageHasError] = useState(false);
|
|
31
27
|
useEffect(() => {
|
|
@@ -87,7 +83,7 @@ const Avatar = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
87
83
|
});
|
|
88
84
|
return jsx("div", {
|
|
89
85
|
className: clsx(styles.avatar, styles[size], className),
|
|
90
|
-
"data-modern":
|
|
86
|
+
"data-modern": 'true' ,
|
|
91
87
|
children: avatarContents
|
|
92
88
|
});
|
|
93
89
|
});
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Modernized Blueprint UI is always on. Blueprint components no longer read this context.
|
|
4
|
+
* The API remains for consumer compatibility and will be removed in Q3FY27.
|
|
5
|
+
*/
|
|
2
6
|
export interface BlueprintModernizationContextValue {
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Ignored by Blueprint components — modern UI is always on. Will be removed in Q3FY27.
|
|
9
|
+
*/
|
|
3
10
|
enableModernizedComponents: boolean;
|
|
4
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated Modernized Blueprint UI is always on. Blueprint components no longer read this context.
|
|
14
|
+
* The API remains for consumer compatibility and will be removed in Q3FY27.
|
|
15
|
+
*/
|
|
5
16
|
export declare const BlueprintModernizationContext: import("react").Context<BlueprintModernizationContextValue>;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Modernized Blueprint UI is always on. Blueprint components ignore `enableModernizedComponents`.
|
|
19
|
+
* Will be removed in Q3FY27.
|
|
20
|
+
*/
|
|
6
21
|
export declare const BlueprintModernizationProvider: ({ children, enableModernizedComponents, }: {
|
|
7
22
|
children: ReactNode;
|
|
8
|
-
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Ignored by Blueprint components — modern UI is always on. Optional for TypeScript
|
|
25
|
+
* compatibility; will be removed in Q3FY27.
|
|
26
|
+
*/
|
|
27
|
+
enableModernizedComponents?: boolean;
|
|
9
28
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { createContext, useMemo } from 'react';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Modernized Blueprint UI is always on. Blueprint components no longer read this context.
|
|
6
|
+
* The API remains for consumer compatibility and will be removed in Q3FY27.
|
|
7
|
+
*/
|
|
4
8
|
const BlueprintModernizationContext = /*#__PURE__*/createContext({
|
|
5
|
-
enableModernizedComponents:
|
|
9
|
+
enableModernizedComponents: true
|
|
6
10
|
});
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Modernized Blueprint UI is always on. Blueprint components ignore `enableModernizedComponents`.
|
|
13
|
+
* Will be removed in Q3FY27.
|
|
14
|
+
*/
|
|
7
15
|
const BlueprintModernizationProvider = ({
|
|
8
16
|
children,
|
|
9
|
-
enableModernizedComponents
|
|
17
|
+
enableModernizedComponents = true
|
|
10
18
|
}) => {
|
|
11
19
|
const value = useMemo(() => ({
|
|
12
20
|
enableModernizedComponents
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Modernized Blueprint UI is always on. This module remains for consumer compatibility
|
|
3
|
+
* and will be removed in Q3FY27. See LEGACY_REMOVAL_PLAN.md.
|
|
4
|
+
*/
|
|
1
5
|
export { BlueprintModernizationContext, BlueprintModernizationProvider, type BlueprintModernizationContextValue, } from './blueprint-modernization-context';
|
|
2
6
|
export { BLUEPRINT_UPLIFT_FEATURE_FLAG } from './consts';
|
|
3
7
|
export { useBlueprintModernization } from './useBlueprintModernization';
|
|
@@ -1 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Modernized Blueprint UI is always on. Blueprint components no longer use this hook.
|
|
3
|
+
* The API remains for consumer compatibility and will be removed in Q3FY27.
|
|
4
|
+
*/
|
|
1
5
|
export declare const useBlueprintModernization: () => import("./blueprint-modernization-context").BlueprintModernizationContextValue;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { useContext } from 'react';
|
|
2
2
|
import { BlueprintModernizationContext } from './blueprint-modernization-context.js';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Modernized Blueprint UI is always on. Blueprint components no longer use this hook.
|
|
6
|
+
* The API remains for consumer compatibility and will be removed in Q3FY27.
|
|
7
|
+
*/
|
|
4
8
|
const useBlueprintModernization = () => {
|
|
5
9
|
const context = useContext(BlueprintModernizationContext);
|
|
6
10
|
if (context === undefined) {
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copied from https://github.com/box/box-ui-elements/blob/c7e1560c69bfe770945e30f359a42e9206f34a10/src/utils/createTheme.js
|
|
3
|
+
*
|
|
4
|
+
* TODO: Replace with Blueprint tokens
|
|
5
|
+
*/
|
|
1
6
|
export declare const THEME_VERY_DARK = "vDark";
|
|
2
7
|
export declare const THEME_DARK = "dark";
|
|
3
8
|
export declare const THEME_MID_DARK = "midDark";
|
|
@@ -4,9 +4,11 @@ import { mapValues } from '../../utils/mapValues.js';
|
|
|
4
4
|
import theme from './theme.js';
|
|
5
5
|
import { white, black, bdlGray65, bdlGray80, bdlGray, bdlGray10, bdlGray50 } from './variables.js';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Copied from https://github.com/box/box-ui-elements/blob/c7e1560c69bfe770945e30f359a42e9206f34a10/src/utils/createTheme.js
|
|
9
|
+
*
|
|
10
|
+
* TODO: Replace with Blueprint tokens
|
|
11
|
+
*/
|
|
10
12
|
/* ----------------- Theme ---------------------------*/
|
|
11
13
|
const THEME_VERY_DARK = 'vDark';
|
|
12
14
|
const THEME_DARK = 'dark';
|
|
@@ -107,7 +109,6 @@ function createTheme(colorKey) {
|
|
|
107
109
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
108
110
|
const modifiedColors = {};
|
|
109
111
|
for (const [key, value] of Object.entries(colorRangeConfig.modifiers)) {
|
|
110
|
-
// $FlowFixMe
|
|
111
112
|
modifiedColors[key] = adjustLightness(colorKeyObj, value);
|
|
112
113
|
}
|
|
113
114
|
// If the color is too extreme on either end of the spectrum we need to change our rules.
|
|
@@ -148,11 +149,11 @@ function createTheme(colorKey) {
|
|
|
148
149
|
buttonBorder: exceedsLightThreshold ? bdlGray : colorKeyHex,
|
|
149
150
|
buttonBorderHover: exceedsLightThreshold ? bdlGray80 : hoverHex,
|
|
150
151
|
buttonBorderActive: exceedsLightThreshold ? bdlGray65 : activeHex,
|
|
151
|
-
// ProgressBar overrides
|
|
152
|
+
// ProgressBar overrides
|
|
152
153
|
progressBarBackground: null,
|
|
153
154
|
// Scroll effect overrides for scrollable themed elements
|
|
154
155
|
scrollShadowRgba,
|
|
155
|
-
// Divider
|
|
156
|
+
// Divider overrides
|
|
156
157
|
dividerBackground: exceedsLightThreshold ? 'rgba(0, 0, 0, 0.1)' : 'rgba(232, 232, 232, 0.1)'
|
|
157
158
|
};
|
|
158
159
|
const isDefaultTheme = colorKeyHex === Color(theme.primary.background).hex();
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { bdlBoxBlue, bdlBoxBlue80, white, bdlGray40, bdlGray30, bdlGray10, bdlGray05, black, bdlGray, bdlGridUnitPx } from './variables.js';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Copied from https://github.com/box/box-ui-elements/blob/830bf71bef5720a5e6ba128afa35152112674c17/src/styles/theme.js
|
|
5
|
+
*
|
|
6
|
+
* TODO: Replace with Blueprint tokens
|
|
7
|
+
*/
|
|
4
8
|
const theme = {
|
|
5
9
|
base: {
|
|
6
10
|
background: white,
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copied from https://github.com/box/box-ui-elements/blob/830bf71bef5720a5e6ba128afa35152112674c17/src/styles/variables.ts
|
|
3
|
+
*
|
|
4
|
+
* TODO: Replace with Blueprint tokens
|
|
5
|
+
*/
|
|
1
6
|
export declare const white = "#fff";
|
|
2
7
|
export declare const black = "#000";
|
|
3
|
-
export declare const countBadgeBackground = "#e9163c";
|
|
4
8
|
export declare const bdlBoxBlue = "#0061d5";
|
|
5
9
|
export declare const bdlBoxBlue80 = "#3381dd";
|
|
6
10
|
export declare const bdlBoxBlue50 = "#7fb0ea";
|
|
@@ -75,43 +79,5 @@ export declare const bdlWatermelonRed20 = "#fbd7dd";
|
|
|
75
79
|
export declare const bdlWatermelonRed10 = "#fdebee";
|
|
76
80
|
export declare const bdlWatermelonRed05 = "#fef5f6";
|
|
77
81
|
export declare const bdlWatermelonRed02 = "#fffbfc";
|
|
78
|
-
export declare const bdlLineHeight = "20px";
|
|
79
|
-
export declare const bdlFontSize = "13px";
|
|
80
|
-
export declare const bdlFontSizeMinimum = "11px";
|
|
81
|
-
export declare const bdlFontSizeDejaBlue = "14px";
|
|
82
|
-
export declare const avatarColors: string[];
|
|
83
|
-
export declare const modalDialogZIndex = "160";
|
|
84
|
-
export declare const menuZIndex = "170";
|
|
85
|
-
export declare const submenuZIndex = "171";
|
|
86
|
-
export declare const overlayZIndex = "190";
|
|
87
|
-
export declare const tooltipZIndex = "190";
|
|
88
|
-
export declare const notificationsWrapperZIndex = "200";
|
|
89
|
-
export declare const bdlBorderRadiusSize = "4px";
|
|
90
|
-
export declare const bdlBorderRadiusSizeMed = "6px";
|
|
91
|
-
export declare const bdlBorderRadiusSizeLarge = "8px";
|
|
92
|
-
export declare const bdlBorderRadiusSizeXlarge = "12px";
|
|
93
|
-
export declare const bdlHeaderBoxShadow: string[];
|
|
94
82
|
export declare const bdlGridUnit = "4px";
|
|
95
83
|
export declare const bdlGridUnitPx = "4";
|
|
96
|
-
export declare const bdlHeaderHeight = "64px";
|
|
97
|
-
export declare const bdlBtnBorderWidth = "1px";
|
|
98
|
-
export declare const bdlBtnHeight = "32px";
|
|
99
|
-
export declare const bdlBtnHeightLarge = "40px";
|
|
100
|
-
export declare const bdlBtnIconSize = "20px";
|
|
101
|
-
export declare const bdlBtnTextIconSize = "16px";
|
|
102
|
-
export declare const bdlBtnPaddingHorizontal = "16px";
|
|
103
|
-
export declare const bdlTransitionDurationBase = "0.15s";
|
|
104
|
-
export declare const bdlTimingFunction: string[];
|
|
105
|
-
export declare const sizeSmallMediumMin = "375px";
|
|
106
|
-
export declare const sizeMediumMin = "461px";
|
|
107
|
-
export declare const sizeLargeMin = "768px";
|
|
108
|
-
export declare const sizeSmallMax = "374px";
|
|
109
|
-
export declare const sizeSmallMediumMax = "460px";
|
|
110
|
-
export declare const sizeMediumMax = "767px";
|
|
111
|
-
export declare const sizeLargeMax = "1023px";
|
|
112
|
-
export declare const sizeXlargeMax = "1219px";
|
|
113
|
-
export declare const smallScreen = "(max-width: 374px)";
|
|
114
|
-
export declare const smallMediumScreen = "(max-width: 460px)";
|
|
115
|
-
export declare const mediumScreen = "(max-width: 767px)";
|
|
116
|
-
export declare const largeScreen = "(max-width: 1023px)";
|
|
117
|
-
export declare const xlargeScreen = "(max-width: 1219px)";
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copied from https://github.com/box/box-ui-elements/blob/830bf71bef5720a5e6ba128afa35152112674c17/src/styles/variables.ts
|
|
3
|
+
*
|
|
4
|
+
* TODO: Replace with Blueprint tokens
|
|
5
|
+
*/
|
|
3
6
|
const white = '#fff'; // white
|
|
4
7
|
const black = '#000'; // black
|
|
5
8
|
const bdlBoxBlue = '#0061d5'; // bdl-box-blue
|
|
@@ -13,6 +16,5 @@ const bdlGray30 = '#bcbcbc'; // bdl-gray-30
|
|
|
13
16
|
const bdlGray10 = '#e8e8e8'; // bdl-gray-10
|
|
14
17
|
const bdlGray05 = '#f4f4f4'; // bdl-gray-05
|
|
15
18
|
const bdlGridUnitPx = '4'; // bdl-grid-unit-px
|
|
16
|
-
// xlarge-screen
|
|
17
19
|
|
|
18
20
|
export { bdlBoxBlue, bdlBoxBlue80, bdlGray, bdlGray05, bdlGray10, bdlGray30, bdlGray40, bdlGray50, bdlGray65, bdlGray80, bdlGridUnitPx, black, white };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
|
-
import { useBlueprintModernization } from '../blueprint-modernization-context/useBlueprintModernization.js';
|
|
5
4
|
import styles from './card.module.js';
|
|
6
5
|
|
|
7
6
|
/**
|
|
@@ -14,14 +13,11 @@ const Card = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
14
13
|
elevation: elevationToken,
|
|
15
14
|
...rest
|
|
16
15
|
} = props;
|
|
17
|
-
const {
|
|
18
|
-
enableModernizedComponents
|
|
19
|
-
} = useBlueprintModernization();
|
|
20
16
|
return jsx("div", {
|
|
21
17
|
...rest,
|
|
22
18
|
ref: forwardedRef,
|
|
23
19
|
className: clsx(styles.card, elevationToken && styles[elevationToken], className),
|
|
24
|
-
"data-modern":
|
|
20
|
+
"data-modern": 'true' ,
|
|
25
21
|
children: children
|
|
26
22
|
});
|
|
27
23
|
});
|
|
@@ -5,7 +5,6 @@ import { forwardRef, useRef, useLayoutEffect, useCallback } from 'react';
|
|
|
5
5
|
import '../blueprint-configuration-context/blueprint-configuration-context.js';
|
|
6
6
|
import '../blueprint-configuration-context/consts.js';
|
|
7
7
|
import { useBlueprintConfiguration } from '../blueprint-configuration-context/useBlueprintConfiguration.js';
|
|
8
|
-
import { useBlueprintModernization } from '../blueprint-modernization-context/useBlueprintModernization.js';
|
|
9
8
|
import { Card } from '../card/card.js';
|
|
10
9
|
import { composeEventHandlers } from '../utils/composeEventHandlers.js';
|
|
11
10
|
import styles from './card-tooltip.module.js';
|
|
@@ -50,9 +49,6 @@ const CardTooltip = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
50
49
|
const mounted = Ariakit.useStoreState(tooltipStore, 'mounted');
|
|
51
50
|
const isOpen = Ariakit.useStoreState(tooltipStore, 'open');
|
|
52
51
|
const focusTimeout = useRef(0);
|
|
53
|
-
const {
|
|
54
|
-
enableModernizedComponents
|
|
55
|
-
} = useBlueprintModernization();
|
|
56
52
|
const {
|
|
57
53
|
componentsWithAnimationEnabled
|
|
58
54
|
} = useBlueprintConfiguration();
|
|
@@ -118,7 +114,7 @@ const CardTooltip = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
118
114
|
ref: ref,
|
|
119
115
|
className: clsx(styles.content, className),
|
|
120
116
|
"data-bp-animated": isAnimationEnabled ? 'true' : 'false',
|
|
121
|
-
"data-modern":
|
|
117
|
+
"data-modern": 'true' ,
|
|
122
118
|
"data-side": side,
|
|
123
119
|
fitViewport: true,
|
|
124
120
|
gutter: 4,
|
|
@@ -7,7 +7,6 @@ import { forwardRef } from 'react';
|
|
|
7
7
|
import '../blueprint-configuration-context/blueprint-configuration-context.js';
|
|
8
8
|
import '../blueprint-configuration-context/consts.js';
|
|
9
9
|
import { useBlueprintConfiguration } from '../blueprint-configuration-context/useBlueprintConfiguration.js';
|
|
10
|
-
import { useBlueprintModernization } from '../blueprint-modernization-context/useBlueprintModernization.js';
|
|
11
10
|
import { TextWithInfoBadge } from '../util-components/text-with-info-badge/text-with-info-badge.js';
|
|
12
11
|
import { useUniqueId } from '../utils/useUniqueId.js';
|
|
13
12
|
import styles from './checkbox.module.js';
|
|
@@ -31,9 +30,6 @@ const CheckboxItem = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
31
30
|
...rest
|
|
32
31
|
} = props;
|
|
33
32
|
const descriptionId = useUniqueId('description-', !!description);
|
|
34
|
-
const {
|
|
35
|
-
enableModernizedComponents
|
|
36
|
-
} = useBlueprintModernization();
|
|
37
33
|
const {
|
|
38
34
|
componentsWithAnimationEnabled
|
|
39
35
|
} = useBlueprintConfiguration();
|
|
@@ -43,7 +39,7 @@ const CheckboxItem = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
43
39
|
[styles.disabled]: disabled
|
|
44
40
|
}, className),
|
|
45
41
|
"data-bp-animated": isAnimationEnabled ? 'true' : 'false',
|
|
46
|
-
"data-modern":
|
|
42
|
+
"data-modern": 'true' ,
|
|
47
43
|
children: [jsxs("label", {
|
|
48
44
|
className: styles.label,
|
|
49
45
|
"data-target-id": dataTargetId,
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
2
|
+
import '@box/blueprint-web-assets/icons/Fill';
|
|
3
3
|
import { ChevronDown, ChevronUp, ChevronRight } from '@box/blueprint-web-assets/icons/Medium';
|
|
4
4
|
import { Size4 } from '@box/blueprint-web-assets/tokens/tokens';
|
|
5
5
|
import * as Collapsible from '@radix-ui/react-collapsible';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { forwardRef, useState, useEffect, useCallback, useMemo } from 'react';
|
|
8
|
-
import { useBlueprintModernization } from '../blueprint-modernization-context/useBlueprintModernization.js';
|
|
9
8
|
import { IconButton } from '../primitives/icon-button/icon-button.js';
|
|
10
9
|
import { Slot } from '../primitives/slot.js';
|
|
11
10
|
import { useNamedSlots } from '../utils/useNamedSlots.hook.js';
|
|
@@ -22,9 +21,7 @@ const CollapsibleSectionImpl = /*#__PURE__*/forwardRef((props, forwardedRef) =>
|
|
|
22
21
|
variant = 'default',
|
|
23
22
|
...rest
|
|
24
23
|
} = props;
|
|
25
|
-
const
|
|
26
|
-
enableModernizedComponents
|
|
27
|
-
} = useBlueprintModernization();
|
|
24
|
+
const enableModernizedComponents = true;
|
|
28
25
|
const [collapsibleSectionOpen, setCollapsibleSectionOpen] = useState(open);
|
|
29
26
|
const [headerSlot, contentSlot, actionSlot] = useNamedSlots(children, ['header', 'content', 'action']);
|
|
30
27
|
useEffect(() => {
|
|
@@ -35,9 +32,9 @@ const CollapsibleSectionImpl = /*#__PURE__*/forwardRef((props, forwardedRef) =>
|
|
|
35
32
|
onOpenChange?.(isOpen);
|
|
36
33
|
}, [onOpenChange]);
|
|
37
34
|
const icon = useMemo(() => ({
|
|
38
|
-
up:
|
|
39
|
-
down:
|
|
40
|
-
size:
|
|
35
|
+
up: ChevronUp ,
|
|
36
|
+
down: ChevronDown ,
|
|
37
|
+
size: 'large'
|
|
41
38
|
}), [enableModernizedComponents]);
|
|
42
39
|
const BorderlessIcon = useMemo(() => collapsibleSectionOpen ? ChevronDown : ChevronRight, [collapsibleSectionOpen]);
|
|
43
40
|
const iconAriaLabel = useMemo(() => collapsibleSectionOpen ? closeSectionButtonAriaLabel : openSectionButtonAriaLabel, [collapsibleSectionOpen, closeSectionButtonAriaLabel, openSectionButtonAriaLabel]);
|
|
@@ -52,7 +49,7 @@ const CollapsibleSectionImpl = /*#__PURE__*/forwardRef((props, forwardedRef) =>
|
|
|
52
49
|
...rest,
|
|
53
50
|
ref: forwardedRef,
|
|
54
51
|
className: clsx(styles.collapsibleSection, className),
|
|
55
|
-
"data-modern":
|
|
52
|
+
"data-modern": 'true' ,
|
|
56
53
|
"data-variant": variant,
|
|
57
54
|
onOpenChange: onCollapsibleOpenChanged,
|
|
58
55
|
open: collapsibleSectionOpen,
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { SelectItemCheck, SelectItem, ComboboxItem, useComboboxStore, useSelectStore, PopoverAnchor, Combobox as Combobox$1, ComboboxCancel, SelectList, ComboboxPopover } from '@ariakit/react';
|
|
3
3
|
import { SelectRenderer } from '@ariakit/react-core/select/select-renderer';
|
|
4
|
-
import { Checkmark
|
|
4
|
+
import { Checkmark } from '@box/blueprint-web-assets/icons/Fill';
|
|
5
5
|
import { AlertCircle, XMark } from '@box/blueprint-web-assets/icons/Medium';
|
|
6
|
-
import { bpIconIconOnLight,
|
|
6
|
+
import { bpIconIconOnLight, IconIconErrorOnLight } from '@box/blueprint-web-assets/tokens/tokens';
|
|
7
7
|
import clsx from 'clsx';
|
|
8
8
|
import React__default, { forwardRef, useMemo, useRef, useCallback, useEffect } from 'react';
|
|
9
|
-
import { useBlueprintModernization } from '../blueprint-modernization-context/useBlueprintModernization.js';
|
|
10
9
|
import { Focusable } from '../focusable/focusable.js';
|
|
11
10
|
import { InputChip } from '../input-chip/input-chip.js';
|
|
12
11
|
import { LoadingIndicator } from '../loading-indicator/loading-indicator.js';
|
|
@@ -101,9 +100,6 @@ const RootInner = ({
|
|
|
101
100
|
getPopoverRef?.(node);
|
|
102
101
|
}, [getPopoverRef]);
|
|
103
102
|
const hasError = !!error && !disabled;
|
|
104
|
-
const {
|
|
105
|
-
enableModernizedComponents
|
|
106
|
-
} = useBlueprintModernization();
|
|
107
103
|
const comboboxStore = useComboboxStore({
|
|
108
104
|
// Input state
|
|
109
105
|
defaultValue: defaultInputValue,
|
|
@@ -340,7 +336,7 @@ const RootInner = ({
|
|
|
340
336
|
const showComboboxCancelButton = clearButtonAriaLabel && (inputValue.length > 0 || (Array.isArray(selectedValue) ? selectedValue.length > 0 : !!selectedValue));
|
|
341
337
|
const showSingleSelectChip = displaySingleSelectionAsChip && !Array.isArray(selectedValue) && !!selectedValue;
|
|
342
338
|
const showInlineError = errorVariant === 'inline' && hasError;
|
|
343
|
-
const InlineErrorIcon =
|
|
339
|
+
const InlineErrorIcon = AlertCircle ;
|
|
344
340
|
const Label = useLabelable(label, comboboxId, required);
|
|
345
341
|
const inlineErrorId = useUniqueId('inline-error-');
|
|
346
342
|
const ariaDescribedBy = clsx(rest['aria-describedby'], {
|
|
@@ -421,7 +417,7 @@ const RootInner = ({
|
|
|
421
417
|
children: jsx(InlineErrorIcon, {
|
|
422
418
|
className: styles.inlineErrorIcon,
|
|
423
419
|
color: IconIconErrorOnLight,
|
|
424
|
-
"data-testid":
|
|
420
|
+
"data-testid": 'combobox-inline-error-icon-modern'
|
|
425
421
|
})
|
|
426
422
|
})
|
|
427
423
|
}), jsx(VisuallyHidden, {
|
|
@@ -434,7 +430,7 @@ const RootInner = ({
|
|
|
434
430
|
render: cancelProps => jsx(IconButton, {
|
|
435
431
|
...cancelProps,
|
|
436
432
|
"aria-label": clearButtonAriaLabel,
|
|
437
|
-
icon:
|
|
433
|
+
icon: XMark ,
|
|
438
434
|
size: "x-small"
|
|
439
435
|
}),
|
|
440
436
|
store: comboboxStore
|
|
@@ -484,12 +480,12 @@ const RootInner = ({
|
|
|
484
480
|
className: clsx(styles.container, {
|
|
485
481
|
[styles.disabled]: disabled
|
|
486
482
|
}, className),
|
|
487
|
-
"data-modern":
|
|
483
|
+
"data-modern": 'true' ,
|
|
488
484
|
children: [inputComponent, showLoading || filteredOptions.length > 0 || filteredOptions.length <= 0 && noResultMessage ? jsx(ComboboxPopover, {
|
|
489
485
|
ref: popoverRefCallback,
|
|
490
486
|
"aria-labelledby": comboboxId,
|
|
491
487
|
className: clsx(styles.popover, popoverClassName),
|
|
492
|
-
"data-modern":
|
|
488
|
+
"data-modern": 'true' ,
|
|
493
489
|
fitViewport: true,
|
|
494
490
|
gutter: 8,
|
|
495
491
|
hideOnEscape: hideOnEscape,
|
|
@@ -518,10 +514,7 @@ const RootInner = ({
|
|
|
518
514
|
};
|
|
519
515
|
const Root = /*#__PURE__*/forwardRef(RootInner);
|
|
520
516
|
const Indicator = /*#__PURE__*/forwardRef((_, ref) => {
|
|
521
|
-
const
|
|
522
|
-
enableModernizedComponents
|
|
523
|
-
} = useBlueprintModernization();
|
|
524
|
-
const iconColor = enableModernizedComponents ? bpIconIconOnLight : IconIconOnLight;
|
|
517
|
+
const iconColor = bpIconIconOnLight ;
|
|
525
518
|
return jsx(SelectItemCheck, {
|
|
526
519
|
ref: ref,
|
|
527
520
|
className: styles.indicator,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
|
-
import { useBlueprintModernization } from '../blueprint-modernization-context/useBlueprintModernization.js';
|
|
5
4
|
import { InlineError } from '../primitives/inline-error/inline-error.js';
|
|
6
5
|
import { useLabelable } from '../util-components/labelable/useLabelable.js';
|
|
7
6
|
import { ComboboxGroupCombobox, ComboboxGroupComboboxSingleSelect } from './combobox-group-combobox.js';
|
|
@@ -22,9 +21,6 @@ const Root = /*#__PURE__*/forwardRef(({
|
|
|
22
21
|
isDisabled,
|
|
23
22
|
subcomponentId
|
|
24
23
|
} = useComboboxGroupContext();
|
|
25
|
-
const {
|
|
26
|
-
enableModernizedComponents
|
|
27
|
-
} = useBlueprintModernization();
|
|
28
24
|
const selectHasError = !!errors.select;
|
|
29
25
|
const comboboxHasError = !!errors.combobox;
|
|
30
26
|
const Label = useLabelable(label, subcomponentId);
|
|
@@ -34,7 +30,7 @@ const Root = /*#__PURE__*/forwardRef(({
|
|
|
34
30
|
className: clsx(styles.container, {
|
|
35
31
|
[styles.disabled]: isDisabled
|
|
36
32
|
}),
|
|
37
|
-
"data-modern":
|
|
33
|
+
"data-modern": 'true' ,
|
|
38
34
|
children: [jsx(Label, {
|
|
39
35
|
className: styles.label,
|
|
40
36
|
hideLabel: hideLabel
|