carbon-react 124.3.1 → 124.4.1
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/esm/components/box/box.component.d.ts +1 -3
- package/esm/components/box/box.component.js +3 -4
- package/esm/components/box/box.config.d.ts +0 -1
- package/esm/components/box/box.config.js +0 -7
- package/esm/components/box/box.style.js +4 -3
- package/esm/components/select/select-list/select-list.component.js +6 -7
- package/esm/components/tile/flex-tile-cell/flex-tile-cell.component.d.ts +9 -0
- package/esm/components/tile/flex-tile-cell/flex-tile-cell.component.js +3808 -0
- package/esm/components/tile/flex-tile-cell/index.d.ts +2 -0
- package/esm/components/tile/flex-tile-cell/index.js +1 -0
- package/esm/components/tile/flex-tile-container/flex-tile-container.component.d.ts +8 -0
- package/esm/components/tile/flex-tile-container/flex-tile-container.component.js +29 -0
- package/esm/components/tile/flex-tile-container/index.d.ts +2 -0
- package/esm/components/tile/flex-tile-container/index.js +1 -0
- package/esm/components/tile/flex-tile-divider/flex-tile-divider.component.d.ts +3 -0
- package/esm/components/tile/flex-tile-divider/flex-tile-divider.component.js +17 -0
- package/esm/components/tile/flex-tile-divider/index.d.ts +1 -0
- package/esm/components/tile/flex-tile-divider/index.js +1 -0
- package/esm/components/tile/index.d.ts +5 -0
- package/esm/components/tile/index.js +4 -1
- package/esm/style/utils/box-gap.d.ts +5 -0
- package/esm/style/utils/box-gap.js +9 -0
- package/lib/components/box/box.component.d.ts +1 -3
- package/lib/components/box/box.component.js +3 -4
- package/lib/components/box/box.config.d.ts +0 -1
- package/lib/components/box/box.config.js +0 -7
- package/lib/components/box/box.style.js +4 -3
- package/lib/components/select/select-list/select-list.component.js +6 -7
- package/lib/components/tile/flex-tile-cell/flex-tile-cell.component.d.ts +9 -0
- package/lib/components/tile/flex-tile-cell/flex-tile-cell.component.js +3815 -0
- package/lib/components/tile/flex-tile-cell/index.d.ts +2 -0
- package/lib/components/tile/flex-tile-cell/index.js +13 -0
- package/lib/components/tile/flex-tile-cell/package.json +6 -0
- package/lib/components/tile/flex-tile-container/flex-tile-container.component.d.ts +8 -0
- package/lib/components/tile/flex-tile-container/flex-tile-container.component.js +36 -0
- package/lib/components/tile/flex-tile-container/index.d.ts +2 -0
- package/lib/components/tile/flex-tile-container/index.js +13 -0
- package/lib/components/tile/flex-tile-container/package.json +6 -0
- package/lib/components/tile/flex-tile-divider/flex-tile-divider.component.d.ts +3 -0
- package/lib/components/tile/flex-tile-divider/flex-tile-divider.component.js +25 -0
- package/lib/components/tile/flex-tile-divider/index.d.ts +1 -0
- package/lib/components/tile/flex-tile-divider/index.js +13 -0
- package/lib/components/tile/flex-tile-divider/package.json +6 -0
- package/lib/components/tile/index.d.ts +5 -0
- package/lib/components/tile/index.js +21 -0
- package/lib/style/utils/box-gap.d.ts +5 -0
- package/lib/style/utils/box-gap.js +18 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./flex-tile-cell.component";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { BoxProps } from "../../box";
|
|
3
|
+
export interface FlexTileContainerProps extends Pick<BoxProps, "columnGap"> {
|
|
4
|
+
/** The child elements of FlexTileContainer need to be FlexTileCell components. */
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare const FlexTileContainer: ({ children, columnGap, }: FlexTileContainerProps) => JSX.Element;
|
|
8
|
+
export default FlexTileContainer;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import PropTypes from "prop-types";
|
|
3
|
+
import Box from "../../box";
|
|
4
|
+
const FlexTileContainer = ({
|
|
5
|
+
children,
|
|
6
|
+
columnGap = 2
|
|
7
|
+
}) => {
|
|
8
|
+
if (!children) {
|
|
9
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
10
|
+
}
|
|
11
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
12
|
+
alignContent: "stretch",
|
|
13
|
+
alignItems: "stretch",
|
|
14
|
+
display: "flex",
|
|
15
|
+
flexDirection: "row",
|
|
16
|
+
flexWrap: "wrap",
|
|
17
|
+
columnGap: columnGap,
|
|
18
|
+
justifyContent: "flex-start",
|
|
19
|
+
overflow: "hidden",
|
|
20
|
+
width: "100%",
|
|
21
|
+
"data-component": "flex-tile-container"
|
|
22
|
+
}, children);
|
|
23
|
+
};
|
|
24
|
+
FlexTileContainer.propTypes = {
|
|
25
|
+
"children": PropTypes.node,
|
|
26
|
+
"columnGap": PropTypes.oneOfType([PropTypes.number, PropTypes.string])
|
|
27
|
+
};
|
|
28
|
+
export { FlexTileContainer };
|
|
29
|
+
export default FlexTileContainer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./flex-tile-container.component";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import PropTypes from "prop-types";
|
|
3
|
+
import Box from "../../box";
|
|
4
|
+
import Hr from "../../hr/hr.component";
|
|
5
|
+
export const FlexTileDivider = () => {
|
|
6
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
7
|
+
position: "absolute",
|
|
8
|
+
bottom: "0px",
|
|
9
|
+
left: "0px",
|
|
10
|
+
height: "1px",
|
|
11
|
+
width: "100vw",
|
|
12
|
+
m: "0px 0px -1px 0px"
|
|
13
|
+
}, /*#__PURE__*/React.createElement(Hr, {
|
|
14
|
+
m: 0
|
|
15
|
+
}));
|
|
16
|
+
};
|
|
17
|
+
export default FlexTileDivider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./flex-tile-divider.component";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./flex-tile-divider.component";
|
|
@@ -4,3 +4,8 @@ export { default as TileContent } from "./tile-content";
|
|
|
4
4
|
export type { TileContentProps } from "./tile-content";
|
|
5
5
|
export { default as TileFooter } from "./tile-footer";
|
|
6
6
|
export type { TileFooterProps } from "./tile-footer";
|
|
7
|
+
export { default as FlexTileContainer } from "./flex-tile-container";
|
|
8
|
+
export type { FlexTileContainerProps } from "./flex-tile-container";
|
|
9
|
+
export { default as FlexTileCell } from "./flex-tile-cell";
|
|
10
|
+
export type { FlexTileCellProps } from "./flex-tile-cell";
|
|
11
|
+
export { default as FlexTileDivider } from "./flex-tile-divider";
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export { default as Tile } from "./tile.component";
|
|
2
2
|
export { default as TileContent } from "./tile-content";
|
|
3
|
-
export { default as TileFooter } from "./tile-footer";
|
|
3
|
+
export { default as TileFooter } from "./tile-footer";
|
|
4
|
+
export { default as FlexTileContainer } from "./flex-tile-container";
|
|
5
|
+
export { default as FlexTileCell } from "./flex-tile-cell";
|
|
6
|
+
export { default as FlexTileDivider } from "./flex-tile-divider";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const GAP_VALUES: number[];
|
|
2
|
+
export declare type AllowedNumericalValues = typeof GAP_VALUES[number];
|
|
3
|
+
export declare type Gap = AllowedNumericalValues | string;
|
|
4
|
+
export declare const getGapValue: (gapValue: number | string) => string;
|
|
5
|
+
export default function gap(gapValue: number | string): string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { space } from "../../style/themes/base/base-theme.config";
|
|
2
|
+
export const GAP_VALUES = [0, 1, 2, 3, 4, 5, 6, 7, 8];
|
|
3
|
+
export const getGapValue = gapValue => typeof gapValue === "number" ? `var(--spacing${gapValue}00)` : gapValue;
|
|
4
|
+
export default function gap(gapValue) {
|
|
5
|
+
if (typeof gapValue === "number") {
|
|
6
|
+
return space[gapValue];
|
|
7
|
+
}
|
|
8
|
+
return gapValue;
|
|
9
|
+
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { SpaceProps, LayoutProps, FlexboxProps, PositionProps, GridProps } from "styled-system";
|
|
3
3
|
import * as DesignTokens from "@sage/design-tokens/js/base/common";
|
|
4
|
+
import { Gap } from "style/utils/box-gap";
|
|
4
5
|
import { TagProps } from "../../__internal__/utils/helpers/tags";
|
|
5
|
-
declare const GAP_VALUES: readonly [0, 1, 2, 3, 4, 5, 6, 7, 8];
|
|
6
6
|
export declare type OverflowWrap = "break-word" | "anywhere";
|
|
7
7
|
export declare type ScrollVariant = "light" | "dark";
|
|
8
8
|
export declare type BoxSizing = "content-box" | "border-box";
|
|
9
|
-
export declare type AllowedNumericalValues = typeof GAP_VALUES[number];
|
|
10
|
-
export declare type Gap = AllowedNumericalValues | string;
|
|
11
9
|
declare type DesignTokensType = keyof typeof DesignTokens;
|
|
12
10
|
declare type BoxShadowsType = Extract<DesignTokensType, `boxShadow${string}`>;
|
|
13
11
|
declare type BorderRadiusType = Extract<DesignTokensType, `borderRadius${string}`>;
|
|
@@ -11,7 +11,6 @@ var _box = _interopRequireDefault(require("./box.style"));
|
|
|
11
11
|
var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags"));
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
14
|
-
const GAP_VALUES = [0, 1, 2, 3, 4, 5, 6, 7, 8];
|
|
15
14
|
const Box = exports.Box = /*#__PURE__*/_react.default.forwardRef(({
|
|
16
15
|
"data-component": dataComponent,
|
|
17
16
|
as,
|
|
@@ -482,7 +481,7 @@ Box.propTypes = {
|
|
|
482
481
|
"children": _propTypes.default.node,
|
|
483
482
|
"className": _propTypes.default.string,
|
|
484
483
|
"color": _propTypes.default.string,
|
|
485
|
-
"columnGap": _propTypes.default.oneOfType([_propTypes.default.
|
|
484
|
+
"columnGap": _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
486
485
|
"data-component": _propTypes.default.string,
|
|
487
486
|
"data-element": _propTypes.default.string,
|
|
488
487
|
"data-role": _propTypes.default.string,
|
|
@@ -993,7 +992,7 @@ Box.propTypes = {
|
|
|
993
992
|
"valueOf": _propTypes.default.func.isRequired
|
|
994
993
|
})]),
|
|
995
994
|
"flexWrap": _propTypes.default.oneOfType([_propTypes.default.oneOf(["-moz-initial", "inherit", "initial", "nowrap", "revert-layer", "revert", "unset", "wrap-reverse", "wrap"]), _propTypes.default.arrayOf(_propTypes.default.oneOf(["-moz-initial", "inherit", "initial", "nowrap", "revert-layer", "revert", "unset", "wrap-reverse", "wrap", null])), _propTypes.default.object]),
|
|
996
|
-
"gap": _propTypes.default.oneOfType([_propTypes.default.
|
|
995
|
+
"gap": _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
997
996
|
"gridArea": _propTypes.default.oneOfType([_propTypes.default.oneOf(["-moz-initial", "auto", "inherit", "initial", "revert-layer", "revert", "unset"]), _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf(["-moz-initial", "auto", "inherit", "initial", "revert-layer", "revert", "unset", null]), _propTypes.default.shape({
|
|
998
997
|
"__@iterator": _propTypes.default.func.isRequired,
|
|
999
998
|
"anchor": _propTypes.default.func.isRequired,
|
|
@@ -3430,7 +3429,7 @@ Box.propTypes = {
|
|
|
3430
3429
|
"valueOf": _propTypes.default.func.isRequired
|
|
3431
3430
|
}), _propTypes.default.string]),
|
|
3432
3431
|
"role": _propTypes.default.string,
|
|
3433
|
-
"rowGap": _propTypes.default.oneOfType([_propTypes.default.
|
|
3432
|
+
"rowGap": _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
3434
3433
|
"scrollVariant": _propTypes.default.oneOf(["dark", "light"]),
|
|
3435
3434
|
"size": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
3436
3435
|
"__@iterator": _propTypes.default.func.isRequired,
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _baseTheme = require("../../style/themes/base/base-theme.config");
|
|
8
7
|
var _default = exports.default = {
|
|
9
8
|
light: {
|
|
10
9
|
thumb: "var(--colorsUtilityMajor300)",
|
|
@@ -13,11 +12,5 @@ var _default = exports.default = {
|
|
|
13
12
|
dark: {
|
|
14
13
|
thumb: "var(--colorsUtilityMajor200)",
|
|
15
14
|
track: "var(--colorsUtilityMajor400)"
|
|
16
|
-
},
|
|
17
|
-
gap: gapValue => {
|
|
18
|
-
if (typeof gapValue === "number") {
|
|
19
|
-
return _baseTheme.space[gapValue];
|
|
20
|
-
}
|
|
21
|
-
return gapValue;
|
|
22
15
|
}
|
|
23
16
|
};
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
8
8
|
var _styledSystem = require("styled-system");
|
|
9
|
+
var _boxGap = _interopRequireDefault(require("../../style/utils/box-gap"));
|
|
9
10
|
var _base = _interopRequireDefault(require("../../style/themes/base"));
|
|
10
11
|
var _color = _interopRequireDefault(require("../../style/utils/color"));
|
|
11
12
|
var _box = _interopRequireDefault(require("./box.config"));
|
|
@@ -97,15 +98,15 @@ const StyledBox = _styledComponents.default.div`
|
|
|
97
98
|
rowGap
|
|
98
99
|
}) => (display === "flex" || display === "inline-flex" || display === "grid" || display === "inline-grid") && (0, _styledComponents.css)`
|
|
99
100
|
${gap !== undefined && (0, _styledComponents.css)`
|
|
100
|
-
gap: ${
|
|
101
|
+
gap: ${(0, _boxGap.default)(gap)};
|
|
101
102
|
`}
|
|
102
103
|
|
|
103
104
|
${columnGap !== undefined && (0, _styledComponents.css)`
|
|
104
|
-
column-gap: ${
|
|
105
|
+
column-gap: ${(0, _boxGap.default)(columnGap)};
|
|
105
106
|
`}
|
|
106
107
|
|
|
107
108
|
${rowGap !== undefined && (0, _styledComponents.css)`
|
|
108
|
-
row-gap: ${
|
|
109
|
+
row-gap: ${(0, _boxGap.default)(rowGap)};
|
|
109
110
|
`}
|
|
110
111
|
`};
|
|
111
112
|
|
|
@@ -193,6 +193,9 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
193
193
|
const lastOptionIndex = (0, _findLastIndex.default)(childrenList, child => /*#__PURE__*/_react.default.isValidElement(child) && (child.type === _option.default || child.type === _optionRow.default));
|
|
194
194
|
const getNextHighlightableItemIndex = (0, _react.useCallback)((key, indexOfHighlighted) => {
|
|
195
195
|
const lastIndex = lastOptionIndex;
|
|
196
|
+
if (lastIndex === -1) {
|
|
197
|
+
return -1;
|
|
198
|
+
}
|
|
196
199
|
let nextIndex = (0, _getNextIndexByKey.default)(key, indexOfHighlighted, lastIndex, isLoading);
|
|
197
200
|
const nextElement = childrenList[nextIndex];
|
|
198
201
|
if ( /*#__PURE__*/_react.default.isValidElement(nextElement) && nextElement.type !== _option.default && nextElement.type !== _optionRow.default) {
|
|
@@ -210,7 +213,7 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
210
213
|
currentIndex = indexOfHighlighted;
|
|
211
214
|
}
|
|
212
215
|
const nextIndex = getNextHighlightableItemIndex(key, currentIndex);
|
|
213
|
-
if (currentIndex === nextIndex) {
|
|
216
|
+
if (nextIndex === -1 || currentIndex === nextIndex) {
|
|
214
217
|
return;
|
|
215
218
|
}
|
|
216
219
|
const {
|
|
@@ -291,10 +294,10 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
291
294
|
const element = event.target;
|
|
292
295
|
|
|
293
296
|
/* istanbul ignore else */
|
|
294
|
-
if (onListScrollBottom && element.scrollHeight - element.scrollTop === element.clientHeight) {
|
|
297
|
+
if (isOpen && onListScrollBottom && element.scrollHeight - element.scrollTop === element.clientHeight) {
|
|
295
298
|
onListScrollBottom();
|
|
296
299
|
}
|
|
297
|
-
}, [onListScrollBottom]);
|
|
300
|
+
}, [onListScrollBottom, isOpen]);
|
|
298
301
|
(0, _react.useEffect)(() => {
|
|
299
302
|
const keyboardEvent = "keydown";
|
|
300
303
|
const listElement = listContainerRef.current;
|
|
@@ -331,10 +334,6 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
331
334
|
}
|
|
332
335
|
setCurrentOptionsListIndex(indexOfMatch);
|
|
333
336
|
virtualizer.scrollToIndex(indexOfMatch, SCROLL_OPTIONS);
|
|
334
|
-
// TODO: is there a better way than calling handleListScroll manually?
|
|
335
|
-
handleListScroll({
|
|
336
|
-
target: listContainerRef.current
|
|
337
|
-
});
|
|
338
337
|
}, [getIndexOfMatch, highlightedValue, virtualizer, handleListScroll, listContainerRef]);
|
|
339
338
|
(0, _react.useEffect)(() => {
|
|
340
339
|
if (isLoading && currentOptionsListIndex === lastOptionIndex && lastOptionIndex > -1) {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { BoxProps } from "../../box";
|
|
3
|
+
import { TagProps } from "../../../__internal__/utils/helpers/tags";
|
|
4
|
+
export interface FlexTileCellProps extends TagProps, BoxProps {
|
|
5
|
+
/** The content to render within the responsive cell. */
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare const FlexTileCell: ({ children, flexGrow, flexBasis, flexShrink, ...rest }: FlexTileCellProps) => JSX.Element;
|
|
9
|
+
export default FlexTileCell;
|