@carbon/react 1.113.0 → 1.114.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/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +962 -962
- package/es/components/Card/Card.d.ts +48 -0
- package/es/components/Card/Card.js +148 -0
- package/es/components/Card/Card.types.d.ts +88 -0
- package/es/components/Card/CardAction.d.ts +37 -0
- package/es/components/Card/CardAction.js +32 -0
- package/es/components/Card/CardActions.d.ts +30 -0
- package/es/components/Card/CardActions.js +93 -0
- package/es/components/Card/CardBody.d.ts +11 -0
- package/es/components/Card/CardBody.js +34 -0
- package/es/components/Card/CardContext.d.ts +17 -0
- package/es/components/Card/CardContext.js +31 -0
- package/es/components/Card/CardFooter.d.ts +11 -0
- package/es/components/Card/CardFooter.js +34 -0
- package/es/components/Card/CardHeader.d.ts +11 -0
- package/es/components/Card/CardHeader.js +44 -0
- package/es/components/Card/CardHeaderMedia.d.ts +21 -0
- package/es/components/Card/CardHeaderMedia.js +24 -0
- package/es/components/Card/CardMedia.d.ts +35 -0
- package/es/components/Card/CardMedia.js +42 -0
- package/es/components/Card/CardTitle.d.ts +72 -0
- package/es/components/Card/CardTitle.js +86 -0
- package/es/components/Card/CardTitleMedia.d.ts +23 -0
- package/es/components/Card/CardTitleMedia.js +36 -0
- package/es/components/Card/_story-assets/data.d.ts +6 -0
- package/es/components/Card/_story-assets/options.d.ts +47 -0
- package/es/components/Card/index.d.ts +8 -0
- package/es/components/Card/index.js +33 -0
- package/es/components/Checkbox/Checkbox.js +1 -1
- package/es/components/CheckboxGroup/CheckboxGroup.js +1 -1
- package/es/components/ComboBox/ComboBox.js +2 -2
- package/es/components/ComboButton/index.js +1 -1
- package/es/components/ComposedModal/ComposedModal.js +1 -1
- package/es/components/DatePicker/DatePicker.d.ts +10 -0
- package/es/components/DatePicker/DatePicker.js +7 -6
- package/es/components/DatePicker/next/components/Calendar.d.ts +40 -0
- package/es/components/DatePicker/next/components/Calendar.js +181 -0
- package/es/components/DatePicker/next/components/DatePicker.d.ts +86 -0
- package/es/components/DatePicker/next/components/DatePicker.js +147 -0
- package/es/components/DatePicker/next/components/DatePickerInput.d.ts +143 -0
- package/es/components/DatePicker/next/components/DatePickerInput.js +124 -0
- package/es/components/DatePicker/next/components/DatePickerSkeleton.d.ts +22 -0
- package/es/components/DatePicker/next/components/DatePickerSkeleton.js +32 -0
- package/es/components/DatePicker/next/hooks/useDatePicker.d.ts +144 -0
- package/es/components/DatePicker/next/hooks/useDatePicker.js +286 -0
- package/es/components/DatePicker/next/index.d.ts +12 -0
- package/es/components/DatePicker/next/index.js +19 -0
- package/es/components/DatePickerInput/DatePickerInput.js +1 -1
- package/es/components/Dropdown/Dropdown.js +2 -2
- package/es/components/ExpandableSearch/ExpandableSearch.js +1 -1
- package/es/components/MenuButton/index.js +1 -1
- package/es/components/MultiSelect/FilterableMultiSelect.js +2 -2
- package/es/components/MultiSelect/MultiSelect.js +2 -2
- package/es/components/NumberInput/NumberInput.js +2 -2
- package/es/components/OverflowMenu/next/index.js +1 -1
- package/es/components/RadioButton/RadioButton.js +1 -1
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +1 -1
- package/es/components/Select/Select.js +1 -1
- package/es/components/Tag/SelectableTag.js +1 -1
- package/es/components/TextArea/TextArea.js +1 -1
- package/es/components/TextInput/TextInput.js +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.js +7 -5
- package/es/internal/checkForOverflow.d.ts +5 -0
- package/es/internal/useFocus.d.ts +23 -0
- package/es/internal/usePrefersReducedMotion.d.ts +11 -0
- package/es/internal/useSidePanelPresence.d.ts +21 -0
- package/lib/components/Card/Card.d.ts +48 -0
- package/lib/components/Card/Card.js +161 -0
- package/lib/components/Card/Card.types.d.ts +88 -0
- package/lib/components/Card/CardAction.d.ts +37 -0
- package/lib/components/Card/CardAction.js +41 -0
- package/lib/components/Card/CardActions.d.ts +30 -0
- package/lib/components/Card/CardActions.js +96 -0
- package/lib/components/Card/CardBody.d.ts +11 -0
- package/lib/components/Card/CardBody.js +37 -0
- package/lib/components/Card/CardContext.d.ts +17 -0
- package/lib/components/Card/CardContext.js +32 -0
- package/lib/components/Card/CardFooter.d.ts +11 -0
- package/lib/components/Card/CardFooter.js +37 -0
- package/lib/components/Card/CardHeader.d.ts +11 -0
- package/lib/components/Card/CardHeader.js +47 -0
- package/lib/components/Card/CardHeaderMedia.d.ts +21 -0
- package/lib/components/Card/CardHeaderMedia.js +33 -0
- package/lib/components/Card/CardMedia.d.ts +35 -0
- package/lib/components/Card/CardMedia.js +51 -0
- package/lib/components/Card/CardTitle.d.ts +72 -0
- package/lib/components/Card/CardTitle.js +89 -0
- package/lib/components/Card/CardTitleMedia.d.ts +23 -0
- package/lib/components/Card/CardTitleMedia.js +39 -0
- package/lib/components/Card/_story-assets/data.d.ts +6 -0
- package/lib/components/Card/_story-assets/options.d.ts +47 -0
- package/lib/components/Card/index.d.ts +8 -0
- package/lib/components/Card/index.js +48 -0
- package/lib/components/Checkbox/Checkbox.js +1 -1
- package/lib/components/CheckboxGroup/CheckboxGroup.js +1 -1
- package/lib/components/ComboBox/ComboBox.js +2 -2
- package/lib/components/ComboButton/index.js +1 -1
- package/lib/components/ComposedModal/ComposedModal.js +1 -1
- package/lib/components/DatePicker/DatePicker.d.ts +10 -0
- package/lib/components/DatePicker/DatePicker.js +7 -6
- package/lib/components/DatePicker/next/components/Calendar.d.ts +40 -0
- package/lib/components/DatePicker/next/components/Calendar.js +184 -0
- package/lib/components/DatePicker/next/components/DatePicker.d.ts +86 -0
- package/lib/components/DatePicker/next/components/DatePicker.js +150 -0
- package/lib/components/DatePicker/next/components/DatePickerInput.d.ts +143 -0
- package/lib/components/DatePicker/next/components/DatePickerInput.js +127 -0
- package/lib/components/DatePicker/next/components/DatePickerSkeleton.d.ts +22 -0
- package/lib/components/DatePicker/next/components/DatePickerSkeleton.js +41 -0
- package/lib/components/DatePicker/next/hooks/useDatePicker.d.ts +144 -0
- package/lib/components/DatePicker/next/hooks/useDatePicker.js +286 -0
- package/lib/components/DatePicker/next/index.d.ts +12 -0
- package/lib/components/DatePicker/next/index.js +27 -0
- package/lib/components/DatePickerInput/DatePickerInput.js +1 -1
- package/lib/components/Dropdown/Dropdown.js +2 -2
- package/lib/components/ExpandableSearch/ExpandableSearch.js +1 -1
- package/lib/components/MenuButton/index.js +1 -1
- package/lib/components/MultiSelect/FilterableMultiSelect.js +2 -2
- package/lib/components/MultiSelect/MultiSelect.js +2 -2
- package/lib/components/NumberInput/NumberInput.js +2 -2
- package/lib/components/OverflowMenu/next/index.js +1 -1
- package/lib/components/RadioButton/RadioButton.js +1 -1
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +1 -1
- package/lib/components/Select/Select.js +1 -1
- package/lib/components/Tag/SelectableTag.js +1 -1
- package/lib/components/TextArea/TextArea.js +1 -1
- package/lib/components/TextInput/TextInput.js +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +59 -45
- package/lib/internal/checkForOverflow.d.ts +5 -0
- package/lib/internal/useFocus.d.ts +23 -0
- package/lib/internal/usePrefersReducedMotion.d.ts +11 -0
- package/lib/internal/useSidePanelPresence.d.ts +21 -0
- package/package.json +11 -11
- package/scss/components/action-set/_action-set.scss +9 -0
- package/scss/components/action-set/_index.scss +9 -0
- package/scss/components/resizer/_index.scss +9 -0
- package/scss/components/resizer/_resizer.scss +9 -0
- package/scss/components/side-panel/_index.scss +9 -0
- package/scss/components/side-panel/_side-panel.scss +9 -0
- package/scss/components/truncated-text/_index.scss +9 -0
- package/scss/components/truncated-text/_truncated-text.scss +9 -0
- package/telemetry.yml +57 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { ReactNode } from 'react';
|
|
8
|
+
export interface CardHeaderMediaProps {
|
|
9
|
+
/**
|
|
10
|
+
* Provide the contents of the CardHeaderMedia.
|
|
11
|
+
*/
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Provide an optional class to be applied to the containing node.
|
|
15
|
+
*/
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const CardHeaderMedia: {
|
|
19
|
+
({ children, className, ...rest }: CardHeaderMediaProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
displayName: string;
|
|
21
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { usePrefix } from "../../internal/usePrefix.js";
|
|
9
|
+
import "react";
|
|
10
|
+
import cx from "classnames";
|
|
11
|
+
import { jsx } from "react/jsx-runtime";
|
|
12
|
+
//#region src/components/Card/CardHeaderMedia.tsx
|
|
13
|
+
const componentName = "CardHeaderMedia";
|
|
14
|
+
const CardHeaderMedia = ({ children, className, ...rest }) => {
|
|
15
|
+
const classes = cx(`${usePrefix()}--card__header-media`, className);
|
|
16
|
+
return /* @__PURE__ */ jsx("div", {
|
|
17
|
+
...rest,
|
|
18
|
+
className: classes,
|
|
19
|
+
children
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
CardHeaderMedia.displayName = componentName;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { CardHeaderMedia };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { type AspectRatioProps } from '../AspectRatio/AspectRatio';
|
|
9
|
+
export interface CardMediaProps extends Omit<AspectRatioProps, 'className'> {
|
|
10
|
+
/**
|
|
11
|
+
* Provide the contents of the CardMedia.
|
|
12
|
+
*/
|
|
13
|
+
children?: React.ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Provide an optional class to be applied to the containing node.
|
|
16
|
+
*/
|
|
17
|
+
className?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Width of the media column when the card is in horizontal layout.
|
|
20
|
+
* Accepts any valid CSS width value (e.g. '200px', '40%').
|
|
21
|
+
* Defaults to '33.33%'. Has no effect in vertical (default) layout.
|
|
22
|
+
*/
|
|
23
|
+
mediaWidth?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* CardMedia is a media slot component that maintains aspect ratio.
|
|
27
|
+
*
|
|
28
|
+
* In vertical (default) mode it delegates to Carbon's AspectRatio.
|
|
29
|
+
* In horizontal mode it renders a plain div sized to `mediaWidth` (default
|
|
30
|
+
* 33.33%) that stretches to the full card height — no aspect-ratio math needed.
|
|
31
|
+
*/
|
|
32
|
+
export declare const CardMedia: {
|
|
33
|
+
({ children, className, ratio, mediaWidth, ...rest }: CardMediaProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
displayName: string;
|
|
35
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { usePrefix } from "../../internal/usePrefix.js";
|
|
9
|
+
import AspectRatio from "../AspectRatio/AspectRatio.js";
|
|
10
|
+
import { useCardContext } from "./CardContext.js";
|
|
11
|
+
import "react";
|
|
12
|
+
import cx from "classnames";
|
|
13
|
+
import { jsx } from "react/jsx-runtime";
|
|
14
|
+
//#region src/components/Card/CardMedia.tsx
|
|
15
|
+
const componentName = "CardMedia";
|
|
16
|
+
/**
|
|
17
|
+
* CardMedia is a media slot component that maintains aspect ratio.
|
|
18
|
+
*
|
|
19
|
+
* In vertical (default) mode it delegates to Carbon's AspectRatio.
|
|
20
|
+
* In horizontal mode it renders a plain div sized to `mediaWidth` (default
|
|
21
|
+
* 33.33%) that stretches to the full card height — no aspect-ratio math needed.
|
|
22
|
+
*/
|
|
23
|
+
const CardMedia = ({ children, className, ratio, mediaWidth = "33.33%", ...rest }) => {
|
|
24
|
+
const prefix = usePrefix();
|
|
25
|
+
const blockClass = `${prefix}--card`;
|
|
26
|
+
const { horizontal } = useCardContext();
|
|
27
|
+
const classes = cx(`${blockClass}__media`, className);
|
|
28
|
+
if (horizontal) return /* @__PURE__ */ jsx("div", {
|
|
29
|
+
className: `${blockClass}__media ${blockClass}__media--horizontal`,
|
|
30
|
+
style: { [`--${prefix}--card--media-width`]: mediaWidth },
|
|
31
|
+
children
|
|
32
|
+
});
|
|
33
|
+
return /* @__PURE__ */ jsx(AspectRatio, {
|
|
34
|
+
ratio,
|
|
35
|
+
...rest,
|
|
36
|
+
className: classes,
|
|
37
|
+
children
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
CardMedia.displayName = componentName;
|
|
41
|
+
//#endregion
|
|
42
|
+
export { CardMedia };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React, { ReactNode } from 'react';
|
|
8
|
+
export interface CardTitleProps {
|
|
9
|
+
/**
|
|
10
|
+
* Provide the contents of the CardTitle.
|
|
11
|
+
*/
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Provide an optional class to be applied to the containing node.
|
|
15
|
+
*/
|
|
16
|
+
className?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Enable text truncation with ellipsis on the title text row.
|
|
19
|
+
* - `true`: Single line truncation
|
|
20
|
+
* - `number`: Multi-line truncation (line clamp)
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
titleTruncate?: boolean | number;
|
|
24
|
+
/**
|
|
25
|
+
* Maximum width applied to the title text row when truncation is active.
|
|
26
|
+
* @default '100%'
|
|
27
|
+
*/
|
|
28
|
+
maxWidth?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Optional leading icon or content to display before the title text.
|
|
31
|
+
* - Productive density: 16px icon recommended
|
|
32
|
+
* - Expressive density: 24px icon recommended
|
|
33
|
+
*/
|
|
34
|
+
titleStart?: ReactNode;
|
|
35
|
+
/**
|
|
36
|
+
* Optional trailing icon or content to display after the title text.
|
|
37
|
+
* - Productive density: 16px icon recommended
|
|
38
|
+
* - Expressive density: 24px icon recommended
|
|
39
|
+
*/
|
|
40
|
+
titleEnd?: ReactNode;
|
|
41
|
+
/**
|
|
42
|
+
* Optional label rendered above the title text.
|
|
43
|
+
* Uses $label-01 typography and $text-secondary color.
|
|
44
|
+
*/
|
|
45
|
+
label?: ReactNode;
|
|
46
|
+
/**
|
|
47
|
+
* Enable truncation on the label text.
|
|
48
|
+
* - `true`: Single line truncation
|
|
49
|
+
* - `number`: Multi-line truncation (line clamp)
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
52
|
+
labelTruncate?: boolean | number;
|
|
53
|
+
/**
|
|
54
|
+
* Optional description rendered below the title text.
|
|
55
|
+
* Uses $label-01 typography and $text-secondary color.
|
|
56
|
+
*/
|
|
57
|
+
description?: ReactNode;
|
|
58
|
+
/**
|
|
59
|
+
* Enable truncation on the description text.
|
|
60
|
+
* - `true`: Single line truncation
|
|
61
|
+
* - `number`: Multi-line truncation (line clamp)
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
descriptionTruncate?: boolean | number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* CardTitle displays the main title text in the card header.
|
|
68
|
+
* Typography is driven by density on the parent Card:
|
|
69
|
+
* - Productive: $heading-compact-02 (16px/22px)
|
|
70
|
+
* - Expressive: $heading-03 (20px/28px)
|
|
71
|
+
*/
|
|
72
|
+
export declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { usePrefix } from "../../internal/usePrefix.js";
|
|
9
|
+
import { forwardRef } from "react";
|
|
10
|
+
import cx from "classnames";
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
//#region src/components/Card/CardTitle.tsx
|
|
13
|
+
/**
|
|
14
|
+
* Copyright IBM Corp. 2026
|
|
15
|
+
*
|
|
16
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
17
|
+
* LICENSE file in the root directory of this source tree.
|
|
18
|
+
*/
|
|
19
|
+
const componentName = "CardTitle";
|
|
20
|
+
/**
|
|
21
|
+
* CardTitle displays the main title text in the card header.
|
|
22
|
+
* Typography is driven by density on the parent Card:
|
|
23
|
+
* - Productive: $heading-compact-02 (16px/22px)
|
|
24
|
+
* - Expressive: $heading-03 (20px/28px)
|
|
25
|
+
*/
|
|
26
|
+
const CardTitle = forwardRef(({ children, className, titleTruncate = false, maxWidth = "100%", titleStart, titleEnd, label, labelTruncate = false, description, descriptionTruncate = false, ...rest }, ref) => {
|
|
27
|
+
const prefix = usePrefix();
|
|
28
|
+
const blockClass = `${prefix}--card`;
|
|
29
|
+
const isTitleMulti = typeof titleTruncate === "number";
|
|
30
|
+
const isLabelMulti = typeof labelTruncate === "number";
|
|
31
|
+
const isDescMulti = typeof descriptionTruncate === "number";
|
|
32
|
+
const containerClasses = cx(`${blockClass}__title`, className);
|
|
33
|
+
const textRowClasses = cx(`${blockClass}__title-text-row`, {
|
|
34
|
+
[`${blockClass}__title-text-row--truncate`]: titleTruncate === true,
|
|
35
|
+
[`${blockClass}__title-text-row--truncate-multi`]: isTitleMulti,
|
|
36
|
+
[`${blockClass}__title-text-row--with-start-icon`]: titleStart,
|
|
37
|
+
[`${blockClass}__title-text-row--with-end-icon`]: titleEnd
|
|
38
|
+
});
|
|
39
|
+
const titleVars = titleTruncate !== false ? {
|
|
40
|
+
[`--${prefix}--card--title-max-width`]: maxWidth,
|
|
41
|
+
...isTitleMulti && { [`--${prefix}--card--title-line-clamp`]: titleTruncate }
|
|
42
|
+
} : void 0;
|
|
43
|
+
const labelVars = isLabelMulti ? { [`--${prefix}--card--label-line-clamp`]: labelTruncate } : void 0;
|
|
44
|
+
const descVars = isDescMulti ? { [`--${prefix}--card--description-line-clamp`]: descriptionTruncate } : void 0;
|
|
45
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
46
|
+
...rest,
|
|
47
|
+
ref,
|
|
48
|
+
className: containerClasses,
|
|
49
|
+
children: [
|
|
50
|
+
label && /* @__PURE__ */ jsx("div", {
|
|
51
|
+
className: cx(`${blockClass}__label`, {
|
|
52
|
+
[`${blockClass}__label--truncate`]: labelTruncate === true,
|
|
53
|
+
[`${blockClass}__label--truncate-multi`]: isLabelMulti
|
|
54
|
+
}),
|
|
55
|
+
style: labelVars,
|
|
56
|
+
children: label
|
|
57
|
+
}),
|
|
58
|
+
/* @__PURE__ */ jsxs("span", {
|
|
59
|
+
className: textRowClasses,
|
|
60
|
+
style: titleVars,
|
|
61
|
+
children: [
|
|
62
|
+
titleStart && /* @__PURE__ */ jsx("span", {
|
|
63
|
+
className: `${blockClass}__title-start-icon`,
|
|
64
|
+
children: titleStart
|
|
65
|
+
}),
|
|
66
|
+
children,
|
|
67
|
+
titleEnd && /* @__PURE__ */ jsx("span", {
|
|
68
|
+
className: `${blockClass}__title-end-icon`,
|
|
69
|
+
children: titleEnd
|
|
70
|
+
})
|
|
71
|
+
]
|
|
72
|
+
}),
|
|
73
|
+
description && /* @__PURE__ */ jsx("div", {
|
|
74
|
+
className: cx(`${blockClass}__description`, {
|
|
75
|
+
[`${blockClass}__description--truncate`]: descriptionTruncate === true,
|
|
76
|
+
[`${blockClass}__description--truncate-multi`]: isDescMulti
|
|
77
|
+
}),
|
|
78
|
+
style: descVars,
|
|
79
|
+
children: description
|
|
80
|
+
})
|
|
81
|
+
]
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
CardTitle.displayName = componentName;
|
|
85
|
+
//#endregion
|
|
86
|
+
export { CardTitle };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React, { ReactNode } from 'react';
|
|
8
|
+
export interface CardTitleMediaProps {
|
|
9
|
+
/**
|
|
10
|
+
* Content to be rendered in the title media slot (typically an icon or small image)
|
|
11
|
+
*/
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Optional class name for custom styling
|
|
15
|
+
*/
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* CardTitleMedia provides a media slot positioned to the left of the card title.
|
|
20
|
+
* The media slot adapts to the heading area height (min 48px, max 64px) and stays
|
|
21
|
+
* top-aligned when the title wraps to multiple lines.
|
|
22
|
+
*/
|
|
23
|
+
export declare const CardTitleMedia: React.ForwardRefExoticComponent<CardTitleMediaProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { usePrefix } from "../../internal/usePrefix.js";
|
|
9
|
+
import { forwardRef } from "react";
|
|
10
|
+
import cx from "classnames";
|
|
11
|
+
import { jsx } from "react/jsx-runtime";
|
|
12
|
+
//#region src/components/Card/CardTitleMedia.tsx
|
|
13
|
+
/**
|
|
14
|
+
* Copyright IBM Corp. 2026
|
|
15
|
+
*
|
|
16
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
17
|
+
* LICENSE file in the root directory of this source tree.
|
|
18
|
+
*/
|
|
19
|
+
const componentName = "CardTitleMedia";
|
|
20
|
+
/**
|
|
21
|
+
* CardTitleMedia provides a media slot positioned to the left of the card title.
|
|
22
|
+
* The media slot adapts to the heading area height (min 48px, max 64px) and stays
|
|
23
|
+
* top-aligned when the title wraps to multiple lines.
|
|
24
|
+
*/
|
|
25
|
+
const CardTitleMedia = forwardRef(({ className, children, ...rest }, ref) => {
|
|
26
|
+
const titleMediaClasses = cx(`${usePrefix()}--card__title-media`, className);
|
|
27
|
+
return /* @__PURE__ */ jsx("div", {
|
|
28
|
+
...rest,
|
|
29
|
+
ref,
|
|
30
|
+
className: titleMediaClasses,
|
|
31
|
+
children
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
CardTitleMedia.displayName = componentName;
|
|
35
|
+
//#endregion
|
|
36
|
+
export { CardTitleMedia };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
let height: string;
|
|
3
|
+
namespace grid {
|
|
4
|
+
namespace x {
|
|
5
|
+
let enabled: boolean;
|
|
6
|
+
}
|
|
7
|
+
namespace y {
|
|
8
|
+
let enabled_1: boolean;
|
|
9
|
+
export { enabled_1 as enabled };
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
namespace axes {
|
|
13
|
+
namespace bottom {
|
|
14
|
+
let visible: boolean;
|
|
15
|
+
let title: string;
|
|
16
|
+
let mapsTo: string;
|
|
17
|
+
let scaleType: string;
|
|
18
|
+
}
|
|
19
|
+
namespace left {
|
|
20
|
+
let visible_1: boolean;
|
|
21
|
+
export { visible_1 as visible };
|
|
22
|
+
let mapsTo_1: string;
|
|
23
|
+
export { mapsTo_1 as mapsTo };
|
|
24
|
+
let scaleType_1: string;
|
|
25
|
+
export { scaleType_1 as scaleType };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
namespace color {
|
|
29
|
+
namespace gradient {
|
|
30
|
+
let enabled_2: boolean;
|
|
31
|
+
export { enabled_2 as enabled };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
namespace points {
|
|
35
|
+
let enabled_3: boolean;
|
|
36
|
+
export { enabled_3 as enabled };
|
|
37
|
+
}
|
|
38
|
+
namespace legend {
|
|
39
|
+
let enabled_4: boolean;
|
|
40
|
+
export { enabled_4 as enabled };
|
|
41
|
+
}
|
|
42
|
+
namespace toolbar {
|
|
43
|
+
let enabled_5: boolean;
|
|
44
|
+
export { enabled_5 as enabled };
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
export { Card, CardHeader, CardBody, CardFooter, CardHeaderMedia, CardMedia, CardTitle, CardTitleMedia, CardActions, CardAction, } from './Card';
|
|
8
|
+
export type { CardProps, CardHeaderProps, CardBodyProps, CardFooterProps, CardHeaderMediaProps, CardMediaProps, CardTitleProps, CardTitleMediaProps, CardActionsProps, CardActionProps, } from './Card';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
|
|
9
|
+
import { CardHeader } from "./CardHeader.js";
|
|
10
|
+
import { CardBody } from "./CardBody.js";
|
|
11
|
+
import { CardFooter } from "./CardFooter.js";
|
|
12
|
+
import { CardHeaderMedia } from "./CardHeaderMedia.js";
|
|
13
|
+
import { CardMedia } from "./CardMedia.js";
|
|
14
|
+
import { CardTitle } from "./CardTitle.js";
|
|
15
|
+
import { CardTitleMedia } from "./CardTitleMedia.js";
|
|
16
|
+
import { CardActions } from "./CardActions.js";
|
|
17
|
+
import { CardAction } from "./CardAction.js";
|
|
18
|
+
import { Card } from "./Card.js";
|
|
19
|
+
//#region src/components/Card/index.ts
|
|
20
|
+
var Card_exports = /* @__PURE__ */ __exportAll({
|
|
21
|
+
Card: () => Card,
|
|
22
|
+
CardAction: () => CardAction,
|
|
23
|
+
CardActions: () => CardActions,
|
|
24
|
+
CardBody: () => CardBody,
|
|
25
|
+
CardFooter: () => CardFooter,
|
|
26
|
+
CardHeader: () => CardHeader,
|
|
27
|
+
CardHeaderMedia: () => CardHeaderMedia,
|
|
28
|
+
CardMedia: () => CardMedia,
|
|
29
|
+
CardTitle: () => CardTitle,
|
|
30
|
+
CardTitleMedia: () => CardTitleMedia
|
|
31
|
+
});
|
|
32
|
+
//#endregion
|
|
33
|
+
export { Card, CardAction, CardActions, CardBody, CardFooter, CardHeader, CardHeaderMedia, CardMedia, CardTitle, CardTitleMedia, Card_exports };
|
|
@@ -11,9 +11,9 @@ import { Text } from "../Text/Text.js";
|
|
|
11
11
|
import { useId } from "../../internal/useId.js";
|
|
12
12
|
import { deprecate } from "../../prop-types/deprecate.js";
|
|
13
13
|
import { isComponentElement } from "../../internal/utils.js";
|
|
14
|
+
import { AILabel } from "../AILabel/index.js";
|
|
14
15
|
import { hasHelperText } from "../../internal/hasHelperText.js";
|
|
15
16
|
import { useNormalizedInputProps } from "../../internal/useNormalizedInputProps.js";
|
|
16
|
-
import { AILabel } from "../AILabel/index.js";
|
|
17
17
|
import React, { cloneElement } from "react";
|
|
18
18
|
import cx from "classnames";
|
|
19
19
|
import PropTypes from "prop-types";
|
|
@@ -9,9 +9,9 @@ import { usePrefix } from "../../internal/usePrefix.js";
|
|
|
9
9
|
import { useId } from "../../internal/useId.js";
|
|
10
10
|
import { deprecate } from "../../prop-types/deprecate.js";
|
|
11
11
|
import { isComponentElement } from "../../internal/utils.js";
|
|
12
|
+
import { AILabel } from "../AILabel/index.js";
|
|
12
13
|
import { hasHelperText } from "../../internal/hasHelperText.js";
|
|
13
14
|
import { useNormalizedInputProps } from "../../internal/useNormalizedInputProps.js";
|
|
14
|
-
import { AILabel } from "../AILabel/index.js";
|
|
15
15
|
import Checkbox$1 from "../Checkbox/Checkbox.js";
|
|
16
16
|
import { Children, cloneElement } from "react";
|
|
17
17
|
import cx from "classnames";
|
|
@@ -15,14 +15,14 @@ import { defaultItemToString } from "../../internal/defaultItemToString.js";
|
|
|
15
15
|
import { isItemDisabled } from "../../internal/isItemDisabled.js";
|
|
16
16
|
import { isComponentElement } from "../../internal/utils.js";
|
|
17
17
|
import { useFeatureFlag } from "../FeatureFlags/index.js";
|
|
18
|
-
import { useNormalizedInputProps } from "../../internal/useNormalizedInputProps.js";
|
|
19
18
|
import { AILabel } from "../AILabel/index.js";
|
|
19
|
+
import { mergeRefs } from "../../tools/mergeRefs.js";
|
|
20
|
+
import { useNormalizedInputProps } from "../../internal/useNormalizedInputProps.js";
|
|
20
21
|
import { ListBoxSizePropType } from "../ListBox/ListBoxPropTypes.js";
|
|
21
22
|
import { FormContext } from "../FluidForm/FormContext.js";
|
|
22
23
|
import ListBox from "../ListBox/index.js";
|
|
23
24
|
import ListBoxSelection from "../ListBox/next/ListBoxSelection.js";
|
|
24
25
|
import ListBoxTrigger from "../ListBox/next/ListBoxTrigger.js";
|
|
25
|
-
import { mergeRefs } from "../../tools/mergeRefs.js";
|
|
26
26
|
import { cloneElement, forwardRef, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
27
27
|
import cx from "classnames";
|
|
28
28
|
import PropTypes from "prop-types";
|
|
@@ -13,8 +13,8 @@ import { mapPopoverAlign } from "../../tools/mapPopoverAlign.js";
|
|
|
13
13
|
import { useFeatureFlag } from "../FeatureFlags/index.js";
|
|
14
14
|
import { IconButton } from "../IconButton/index.js";
|
|
15
15
|
import Button_default from "../Button/index.js";
|
|
16
|
-
import { mergeRefs } from "../../tools/mergeRefs.js";
|
|
17
16
|
import { Menu as Menu$1 } from "../Menu/Menu.js";
|
|
17
|
+
import { mergeRefs } from "../../tools/mergeRefs.js";
|
|
18
18
|
import { useAttachedMenu } from "../../internal/useAttachedMenu.js";
|
|
19
19
|
import React, { useRef } from "react";
|
|
20
20
|
import cx from "classnames";
|
|
@@ -14,9 +14,9 @@ import { deprecate } from "../../prop-types/deprecate.js";
|
|
|
14
14
|
import { isComponentElement } from "../../internal/utils.js";
|
|
15
15
|
import { useFeatureFlag } from "../FeatureFlags/index.js";
|
|
16
16
|
import { AILabel } from "../AILabel/index.js";
|
|
17
|
+
import { mergeRefs } from "../../tools/mergeRefs.js";
|
|
17
18
|
import { useResizeObserver } from "../../internal/useResizeObserver.js";
|
|
18
19
|
import { composeEventHandlers } from "../../tools/events.js";
|
|
19
|
-
import { mergeRefs } from "../../tools/mergeRefs.js";
|
|
20
20
|
import { Layer } from "../Layer/index.js";
|
|
21
21
|
import { ComposedModalContext } from "./ComposedModalContext.js";
|
|
22
22
|
import { ModalHeader } from "./ModalHeader.js";
|
|
@@ -19,6 +19,8 @@ export interface DatePickerProps {
|
|
|
19
19
|
allowInput?: boolean;
|
|
20
20
|
/**
|
|
21
21
|
* The DOM element the flatpickr should be inserted into `<body>` by default.
|
|
22
|
+
*
|
|
23
|
+
* @deprecated This prop will be removed in the next major release, please see `preview__DatePicker` which does not flatpickr.
|
|
22
24
|
*/
|
|
23
25
|
appendTo?: HTMLElement;
|
|
24
26
|
/**
|
|
@@ -47,14 +49,20 @@ export interface DatePickerProps {
|
|
|
47
49
|
datePickerType?: DatePickerTypes;
|
|
48
50
|
/**
|
|
49
51
|
* The flatpickr `disable` option that allows a user to disable certain dates.
|
|
52
|
+
*
|
|
53
|
+
* @deprecated This prop will be removed in the next major release, please see `preview__DatePicker` which does not flatpickr
|
|
50
54
|
*/
|
|
51
55
|
disable?: DateLimit<DateOption>[];
|
|
52
56
|
/**
|
|
53
57
|
* The flatpickr `enable` option that allows a user to enable certain dates.
|
|
58
|
+
*
|
|
59
|
+
* @deprecated This prop will be removed in the next major release, please see `preview__DatePicker` which does not flatpickr
|
|
54
60
|
*/
|
|
55
61
|
enable?: DateLimit<DateOption>[];
|
|
56
62
|
/**
|
|
57
63
|
* The flatpickr `inline` option.
|
|
64
|
+
*
|
|
65
|
+
* @deprecated This prop will be removed in the next major release, please see `preview__DatePicker` which does not flatpickr
|
|
58
66
|
*/
|
|
59
67
|
inline?: boolean;
|
|
60
68
|
/**
|
|
@@ -91,6 +99,8 @@ export interface DatePickerProps {
|
|
|
91
99
|
onOpen?: flatpickr.Options.Hook;
|
|
92
100
|
/**
|
|
93
101
|
* flatpickr prop passthrough. Controls how dates are parsed.
|
|
102
|
+
*
|
|
103
|
+
* @deprecated This prop will be removed in the next major release, please see `preview__DatePicker` which does not flatpickr
|
|
94
104
|
*/
|
|
95
105
|
parseDate?: (date: string) => Date | false;
|
|
96
106
|
/**
|
|
@@ -21,9 +21,9 @@ import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef,
|
|
|
21
21
|
import cx from "classnames";
|
|
22
22
|
import PropTypes from "prop-types";
|
|
23
23
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
24
|
+
import { datePartsOrder } from "@carbon/utilities";
|
|
24
25
|
import flatpickr from "flatpickr";
|
|
25
26
|
import l10n from "flatpickr/dist/l10n/index";
|
|
26
|
-
import { datePartsOrder } from "@carbon/utilities";
|
|
27
27
|
//#region src/components/DatePicker/DatePicker.tsx
|
|
28
28
|
/**
|
|
29
29
|
* Copyright IBM Corp. 2016, 2026
|
|
@@ -40,6 +40,7 @@ function initializeWeekdayShorthand() {
|
|
|
40
40
|
}
|
|
41
41
|
const forEach = Array.prototype.forEach;
|
|
42
42
|
const defaultAriaDateFormat = "l, F j, Y";
|
|
43
|
+
const flatpickrDeprecation = (prop) => `The \`${prop}\` prop is deprecated and will be removed in the next major release. Please use the new \`preview__DatePicker\` component which doesn't use it — if that blocks you, tell us why: https://github.com/carbon-design-system/carbon/issues.`;
|
|
43
44
|
/**
|
|
44
45
|
* @param {number} monthNumber The month number.
|
|
45
46
|
* @param {boolean} shorthand `true` to use shorthand month.
|
|
@@ -455,7 +456,7 @@ DatePicker.propTypes = {
|
|
|
455
456
|
/**
|
|
456
457
|
* The DOM element the Flatpicker should be inserted into. `<body>` by default.
|
|
457
458
|
*/
|
|
458
|
-
appendTo: PropTypes.object,
|
|
459
|
+
appendTo: deprecate(PropTypes.object, flatpickrDeprecation("appendTo")),
|
|
459
460
|
/**
|
|
460
461
|
* The child nodes.
|
|
461
462
|
*/
|
|
@@ -487,15 +488,15 @@ DatePicker.propTypes = {
|
|
|
487
488
|
/**
|
|
488
489
|
* The flatpickr `disable` option that allows a user to disable certain dates.
|
|
489
490
|
*/
|
|
490
|
-
disable: PropTypes.array,
|
|
491
|
+
disable: deprecate(PropTypes.array, flatpickrDeprecation("disable")),
|
|
491
492
|
/**
|
|
492
493
|
* The flatpickr `enable` option that allows a user to enable certain dates.
|
|
493
494
|
*/
|
|
494
|
-
enable: PropTypes.array,
|
|
495
|
+
enable: deprecate(PropTypes.array, flatpickrDeprecation("enable")),
|
|
495
496
|
/**
|
|
496
497
|
* The flatpickr `inline` option.
|
|
497
498
|
*/
|
|
498
|
-
inline: PropTypes.bool,
|
|
499
|
+
inline: deprecate(PropTypes.bool, flatpickrDeprecation("inline")),
|
|
499
500
|
/**
|
|
500
501
|
* Specify whether or not the control is invalid (Fluid only)
|
|
501
502
|
*/
|
|
@@ -534,7 +535,7 @@ DatePicker.propTypes = {
|
|
|
534
535
|
/**
|
|
535
536
|
* flatpickr prop passthrough. Controls how dates are parsed.
|
|
536
537
|
*/
|
|
537
|
-
parseDate: PropTypes.func,
|
|
538
|
+
parseDate: deprecate(PropTypes.func, flatpickrDeprecation("parseDate")),
|
|
538
539
|
/**
|
|
539
540
|
* whether the DatePicker is to be readOnly
|
|
540
541
|
* if boolean applies to all inputs
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import type { DatePickerContext } from '@carbon/utilities/date-picker';
|
|
8
|
+
/**
|
|
9
|
+
* Calendar component props
|
|
10
|
+
*/
|
|
11
|
+
export interface CalendarProps {
|
|
12
|
+
/**
|
|
13
|
+
* State machine context
|
|
14
|
+
*/
|
|
15
|
+
context: DatePickerContext;
|
|
16
|
+
/**
|
|
17
|
+
* Date selection handler
|
|
18
|
+
*/
|
|
19
|
+
onDateSelect: (date: Temporal.PlainDate) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Navigation handler
|
|
22
|
+
*/
|
|
23
|
+
onNavigate: (eventType: string) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Additional CSS class names
|
|
26
|
+
*/
|
|
27
|
+
className?: string;
|
|
28
|
+
/**
|
|
29
|
+
* BCP 47 locale tag used to localize month and weekday labels
|
|
30
|
+
*/
|
|
31
|
+
locale?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Calendar component
|
|
35
|
+
* Renders a calendar grid for date selection
|
|
36
|
+
*/
|
|
37
|
+
export declare function Calendar({ context, onDateSelect, onNavigate, className, locale, }: CalendarProps): import("react/jsx-runtime").JSX.Element | null;
|
|
38
|
+
export declare namespace Calendar {
|
|
39
|
+
var displayName: string;
|
|
40
|
+
}
|