@carbon/ibm-products 2.92.1 → 2.93.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/css/index-full-carbon.css +99 -20
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +70 -20
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +99 -20
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +70 -20
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/Coachmark/next/Coachmark/Coachmark.d.ts +9 -12
- package/es/components/Coachmark/next/Coachmark/Coachmark.d.ts.map +1 -1
- package/es/components/Coachmark/next/Coachmark/Coachmark.js +16 -27
- package/es/components/Coachmark/next/Coachmark/CoachmarkBeacon/CoachmarkBeacon.d.ts +1 -1
- package/es/components/Coachmark/next/Coachmark/CoachmarkBeacon/CoachmarkBeacon.d.ts.map +1 -1
- package/es/components/Coachmark/next/Coachmark/CoachmarkBeacon/CoachmarkBeacon.js +3 -4
- package/es/components/Coachmark/next/Coachmark/CoachmarkContent.d.ts +8 -4
- package/es/components/Coachmark/next/Coachmark/CoachmarkContent.d.ts.map +1 -1
- package/es/components/Coachmark/next/Coachmark/CoachmarkContent.js +19 -5
- package/es/components/Coachmark/next/Coachmark/{ContentBody.d.ts → CoachmarkContentBody.d.ts} +5 -5
- package/es/components/Coachmark/next/Coachmark/CoachmarkContentBody.d.ts.map +1 -0
- package/es/components/Coachmark/next/Coachmark/{ContentBody.js → CoachmarkContentBody.js} +10 -6
- package/{lib/components/Coachmark/next/Coachmark/ContentHeader.d.ts → es/components/Coachmark/next/Coachmark/CoachmarkContentHeader.d.ts} +7 -3
- package/es/components/Coachmark/next/Coachmark/CoachmarkContentHeader.d.ts.map +1 -0
- package/es/components/Coachmark/next/Coachmark/{ContentHeader.js → CoachmarkContentHeader.js} +55 -12
- package/es/components/Coachmark/next/Coachmark/CoachmarkTagline/CoachmarkTagline.d.ts.map +1 -1
- package/es/components/Coachmark/next/Coachmark/CoachmarkTagline/CoachmarkTagline.js +2 -2
- package/es/components/Coachmark/next/Coachmark/index.d.ts +5 -4
- package/es/components/Coachmark/next/Coachmark/index.d.ts.map +1 -1
- package/es/components/ExpressiveCard/ExpressiveCard.d.ts +3 -3
- package/es/components/ExpressiveCard/ExpressiveCard.d.ts.map +1 -1
- package/es/components/ExpressiveCard/ExpressiveCard.js +3 -15
- package/es/components/InterstitialScreen/InterstitialScreenBody.js +1 -1
- package/es/components/PageHeader/next/PageHeader.d.ts.map +1 -1
- package/es/components/PageHeader/next/PageHeader.js +6 -2
- package/es/components/PageHeader/next/PageHeaderTabBar.d.ts +4 -0
- package/es/components/PageHeader/next/PageHeaderTabBar.d.ts.map +1 -1
- package/es/components/PageHeader/next/PageHeaderTabBar.js +7 -2
- package/es/components/PageHeader/next/context.d.ts +2 -0
- package/es/components/PageHeader/next/context.d.ts.map +1 -1
- package/es/components/PageHeader/next/context.js +3 -1
- package/es/components/ProductiveCard/ProductiveCard.d.ts +3 -3
- package/es/components/ProductiveCard/ProductiveCard.d.ts.map +1 -1
- package/es/components/ProductiveCard/ProductiveCard.js +3 -15
- package/es/components/Tearsheet/TearsheetShell.d.ts.map +1 -1
- package/es/components/Tearsheet/TearsheetShell.js +17 -8
- package/es/components/Tearsheet/next/Tearsheet.d.ts.map +1 -1
- package/es/components/Tearsheet/next/Tearsheet.js +21 -2
- package/es/components/Tearsheet/next/TearsheetBody.d.ts +16 -0
- package/es/components/Tearsheet/next/TearsheetBody.d.ts.map +1 -1
- package/es/components/Tearsheet/next/TearsheetBody.js +22 -4
- package/es/components/Tearsheet/next/TearsheetFooter.js +1 -1
- package/es/components/Tearsheet/next/TearsheetHeader.d.ts.map +1 -1
- package/es/components/Tearsheet/next/TearsheetHeader.js +3 -1
- package/es/components/Tearsheet/next/TearsheetHeaderActions.d.ts +1 -1
- package/es/components/Tearsheet/next/TearsheetHeaderActions.d.ts.map +1 -1
- package/es/components/Tearsheet/next/TearsheetHeaderActions.js +6 -3
- package/es/components/Tearsheet/next/TearsheetHeaderContent.d.ts.map +1 -1
- package/es/components/Tearsheet/next/TearsheetHeaderContent.js +9 -3
- package/es/components/Tearsheet/next/_story-assets/StepTearsheet.d.ts.map +1 -1
- package/es/components/Tearsheet/next/context.d.ts +1 -0
- package/es/components/Tearsheet/next/context.d.ts.map +1 -1
- package/es/components/Tearsheet/usePresence.d.ts.map +1 -1
- package/es/components/Tearsheet/usePresence.js +3 -2
- package/es/global/js/package-settings.d.ts +1 -0
- package/es/global/js/package-settings.d.ts.map +1 -1
- package/es/global/js/package-settings.js +1 -0
- package/es/global/js/utils/makeDraggable/makeDraggable.d.ts +8 -2
- package/es/global/js/utils/makeDraggable/makeDraggable.d.ts.map +1 -1
- package/es/global/js/utils/makeDraggable/makeDraggable.js +87 -17
- package/es/settings.d.ts +1 -0
- package/es/settings.d.ts.map +1 -1
- package/lib/components/Coachmark/next/Coachmark/Coachmark.d.ts +9 -12
- package/lib/components/Coachmark/next/Coachmark/Coachmark.d.ts.map +1 -1
- package/lib/components/Coachmark/next/Coachmark/Coachmark.js +16 -27
- package/lib/components/Coachmark/next/Coachmark/CoachmarkBeacon/CoachmarkBeacon.d.ts +1 -1
- package/lib/components/Coachmark/next/Coachmark/CoachmarkBeacon/CoachmarkBeacon.d.ts.map +1 -1
- package/lib/components/Coachmark/next/Coachmark/CoachmarkBeacon/CoachmarkBeacon.js +3 -4
- package/lib/components/Coachmark/next/Coachmark/CoachmarkContent.d.ts +8 -4
- package/lib/components/Coachmark/next/Coachmark/CoachmarkContent.d.ts.map +1 -1
- package/lib/components/Coachmark/next/Coachmark/CoachmarkContent.js +19 -5
- package/lib/components/Coachmark/next/Coachmark/{ContentBody.d.ts → CoachmarkContentBody.d.ts} +5 -5
- package/lib/components/Coachmark/next/Coachmark/CoachmarkContentBody.d.ts.map +1 -0
- package/lib/components/Coachmark/next/Coachmark/{ContentBody.js → CoachmarkContentBody.js} +10 -6
- package/{es/components/Coachmark/next/Coachmark/ContentHeader.d.ts → lib/components/Coachmark/next/Coachmark/CoachmarkContentHeader.d.ts} +7 -3
- package/lib/components/Coachmark/next/Coachmark/CoachmarkContentHeader.d.ts.map +1 -0
- package/lib/components/Coachmark/next/Coachmark/{ContentHeader.js → CoachmarkContentHeader.js} +54 -11
- package/lib/components/Coachmark/next/Coachmark/CoachmarkTagline/CoachmarkTagline.d.ts.map +1 -1
- package/lib/components/Coachmark/next/Coachmark/CoachmarkTagline/CoachmarkTagline.js +2 -2
- package/lib/components/Coachmark/next/Coachmark/index.d.ts +5 -4
- package/lib/components/Coachmark/next/Coachmark/index.d.ts.map +1 -1
- package/lib/components/ExpressiveCard/ExpressiveCard.d.ts +3 -3
- package/lib/components/ExpressiveCard/ExpressiveCard.d.ts.map +1 -1
- package/lib/components/ExpressiveCard/ExpressiveCard.js +3 -15
- package/lib/components/InterstitialScreen/InterstitialScreenBody.js +1 -1
- package/lib/components/PageHeader/next/PageHeader.d.ts.map +1 -1
- package/lib/components/PageHeader/next/PageHeader.js +6 -2
- package/lib/components/PageHeader/next/PageHeaderTabBar.d.ts +4 -0
- package/lib/components/PageHeader/next/PageHeaderTabBar.d.ts.map +1 -1
- package/lib/components/PageHeader/next/PageHeaderTabBar.js +6 -1
- package/lib/components/PageHeader/next/context.d.ts +2 -0
- package/lib/components/PageHeader/next/context.d.ts.map +1 -1
- package/lib/components/PageHeader/next/context.js +3 -1
- package/lib/components/ProductiveCard/ProductiveCard.d.ts +3 -3
- package/lib/components/ProductiveCard/ProductiveCard.d.ts.map +1 -1
- package/lib/components/ProductiveCard/ProductiveCard.js +3 -15
- package/lib/components/Tearsheet/TearsheetShell.d.ts.map +1 -1
- package/lib/components/Tearsheet/TearsheetShell.js +15 -6
- package/lib/components/Tearsheet/next/Tearsheet.d.ts.map +1 -1
- package/lib/components/Tearsheet/next/Tearsheet.js +21 -2
- package/lib/components/Tearsheet/next/TearsheetBody.d.ts +16 -0
- package/lib/components/Tearsheet/next/TearsheetBody.d.ts.map +1 -1
- package/lib/components/Tearsheet/next/TearsheetBody.js +22 -4
- package/lib/components/Tearsheet/next/TearsheetFooter.js +1 -1
- package/lib/components/Tearsheet/next/TearsheetHeader.d.ts.map +1 -1
- package/lib/components/Tearsheet/next/TearsheetHeader.js +3 -1
- package/lib/components/Tearsheet/next/TearsheetHeaderActions.d.ts +1 -1
- package/lib/components/Tearsheet/next/TearsheetHeaderActions.d.ts.map +1 -1
- package/lib/components/Tearsheet/next/TearsheetHeaderActions.js +5 -2
- package/lib/components/Tearsheet/next/TearsheetHeaderContent.d.ts.map +1 -1
- package/lib/components/Tearsheet/next/TearsheetHeaderContent.js +9 -3
- package/lib/components/Tearsheet/next/_story-assets/StepTearsheet.d.ts.map +1 -1
- package/lib/components/Tearsheet/next/context.d.ts +1 -0
- package/lib/components/Tearsheet/next/context.d.ts.map +1 -1
- package/lib/components/Tearsheet/usePresence.d.ts.map +1 -1
- package/lib/components/Tearsheet/usePresence.js +2 -1
- package/lib/global/js/package-settings.d.ts +1 -0
- package/lib/global/js/package-settings.d.ts.map +1 -1
- package/lib/global/js/package-settings.js +1 -0
- package/lib/global/js/utils/makeDraggable/makeDraggable.d.ts +8 -2
- package/lib/global/js/utils/makeDraggable/makeDraggable.d.ts.map +1 -1
- package/lib/global/js/utils/makeDraggable/makeDraggable.js +87 -17
- package/lib/settings.d.ts +1 -0
- package/lib/settings.d.ts.map +1 -1
- package/package.json +7 -7
- package/scss/components/Coachmark/_carbon-imports.scss +2 -1
- package/scss/components/Coachmark/_coachmark_next.scss +53 -0
- package/scss/components/Coachmark/_index.scss +4 -1
- package/scss/components/PageHeader/_page-header.scss +44 -8
- package/scss/components/Tearsheet/_tearsheet.scss +26 -2
- package/scss/components/Tearsheet/_tearsheet_next.scss +5 -0
- package/telemetry.yml +11 -3
- package/es/components/Coachmark/next/Coachmark/ContentBody.d.ts.map +0 -1
- package/es/components/Coachmark/next/Coachmark/ContentHeader.d.ts.map +0 -1
- package/lib/components/Coachmark/next/Coachmark/ContentBody.d.ts.map +0 -1
- package/lib/components/Coachmark/next/Coachmark/ContentHeader.d.ts.map +0 -1
|
@@ -52,6 +52,14 @@ export interface SummaryContentProps {
|
|
|
52
52
|
onSummaryPanelClose?(): void;
|
|
53
53
|
/** this can be set take full width without any padding */
|
|
54
54
|
isFlush?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Optional ref to the trigger button that opened the panel. Focus will return here when panel closes.
|
|
57
|
+
*/
|
|
58
|
+
summaryPanelTriggerRef?: React.RefObject<HTMLElement>;
|
|
59
|
+
/**
|
|
60
|
+
* Optional aria-label for the summary panel. Defaults to "Summary panel".
|
|
61
|
+
*/
|
|
62
|
+
summaryPanelAriaLabel?: string;
|
|
55
63
|
}
|
|
56
64
|
export declare const SummaryContent: React.ForwardRefExoticComponent<SummaryContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
57
65
|
export interface InfluencerProps {
|
|
@@ -68,6 +76,14 @@ export interface InfluencerProps {
|
|
|
68
76
|
onInfluencerPanelClose?(): void;
|
|
69
77
|
/** this can be set take full width without any padding */
|
|
70
78
|
isFlush?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Optional ref to the trigger button that opened the panel. Focus will return here when panel closes.
|
|
81
|
+
*/
|
|
82
|
+
influencerPanelTriggerRef?: React.RefObject<HTMLElement>;
|
|
83
|
+
/**
|
|
84
|
+
* Optional aria-label for the influencer panel. Defaults to "Influencer panel".
|
|
85
|
+
*/
|
|
86
|
+
influencerPanelAriaLabel?: string;
|
|
71
87
|
}
|
|
72
88
|
export declare const Influencer: React.ForwardRefExoticComponent<InfluencerProps & React.RefAttributes<HTMLDivElement>>;
|
|
73
89
|
export default TearsheetBody;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TearsheetBody.d.ts","sourceRoot":"","sources":["../../../../src/components/Tearsheet/next/TearsheetBody.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,EAGZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAOf;;;;GAIG;AAEH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CAOpB;AAED,QAAA,MAAM,aAAa,2FAQlB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD;;;;GAIG;AACH,eAAO,MAAM,WAAW,yFAuDvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,mBAAmB,CAAC,IAAI,IAAI,CAAC;IAC7B,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TearsheetBody.d.ts","sourceRoot":"","sources":["../../../../src/components/Tearsheet/next/TearsheetBody.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,EAGZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAOf;;;;GAIG;AAEH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CAOpB;AAED,QAAA,MAAM,aAAa,2FAQlB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD;;;;GAIG;AACH,eAAO,MAAM,WAAW,yFAuDvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,mBAAmB,CAAC,IAAI,IAAI,CAAC;IAC7B,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACtD;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AACD,eAAO,MAAM,cAAc,4FAoD1B,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,sBAAsB,CAAC,IAAI,IAAI,CAAC;IAChC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,yBAAyB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACzD;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AACD,eAAO,MAAM,UAAU,wFAqDtB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -59,8 +59,15 @@ const MainContent = (0, react.forwardRef)(({ children, className, isFlush, ...re
|
|
|
59
59
|
...rest
|
|
60
60
|
}, children);
|
|
61
61
|
});
|
|
62
|
-
const SummaryContent = (0, react.forwardRef)(({ children, className, summaryPanelOpen = false, onSummaryPanelClose, isFlush }, ref) => {
|
|
62
|
+
const SummaryContent = (0, react.forwardRef)(({ children, className, summaryPanelOpen = false, onSummaryPanelClose, isFlush, summaryPanelTriggerRef, summaryPanelAriaLabel = "Summary panel" }, ref) => {
|
|
63
63
|
const { isSm } = (0, react.useContext)(require_context.TearsheetContext);
|
|
64
|
+
const prevOpenRef = (0, react.useRef)(summaryPanelOpen);
|
|
65
|
+
(0, react.useEffect)(() => {
|
|
66
|
+
if (prevOpenRef.current && !summaryPanelOpen && summaryPanelTriggerRef?.current) setTimeout(() => {
|
|
67
|
+
summaryPanelTriggerRef.current?.focus();
|
|
68
|
+
}, 100);
|
|
69
|
+
prevOpenRef.current = summaryPanelOpen;
|
|
70
|
+
}, [summaryPanelOpen, summaryPanelTriggerRef]);
|
|
64
71
|
return !isSm ? /* @__PURE__ */ react.default.createElement("div", {
|
|
65
72
|
className: (0, import_classnames.default)(`${require_context.blockClass}__summary-content`, className, { [`${require_context.blockClass}__flush`]: isFlush }),
|
|
66
73
|
ref
|
|
@@ -68,11 +75,20 @@ const SummaryContent = (0, react.forwardRef)(({ children, className, summaryPane
|
|
|
68
75
|
size: "sm",
|
|
69
76
|
open: summaryPanelOpen,
|
|
70
77
|
onRequestClose: onSummaryPanelClose,
|
|
71
|
-
className: (0, import_classnames.default)(`${require_context.blockClass}__side-panel`, className)
|
|
78
|
+
className: (0, import_classnames.default)(`${require_context.blockClass}__side-panel`, className),
|
|
79
|
+
"aria-label": summaryPanelAriaLabel,
|
|
80
|
+
"aria-modal": "true"
|
|
72
81
|
}, children);
|
|
73
82
|
});
|
|
74
|
-
const Influencer = (0, react.forwardRef)(({ children, className, influencerPanelOpen = false, onInfluencerPanelClose, isFlush }, ref) => {
|
|
83
|
+
const Influencer = (0, react.forwardRef)(({ children, className, influencerPanelOpen = false, onInfluencerPanelClose, isFlush, influencerPanelTriggerRef, influencerPanelAriaLabel = "Influencer panel" }, ref) => {
|
|
75
84
|
const { isSm } = (0, react.useContext)(require_context.TearsheetContext);
|
|
85
|
+
const prevOpenRef = (0, react.useRef)(influencerPanelOpen);
|
|
86
|
+
(0, react.useEffect)(() => {
|
|
87
|
+
if (prevOpenRef.current && !influencerPanelOpen && influencerPanelTriggerRef?.current) setTimeout(() => {
|
|
88
|
+
influencerPanelTriggerRef.current?.focus();
|
|
89
|
+
}, 100);
|
|
90
|
+
prevOpenRef.current = influencerPanelOpen;
|
|
91
|
+
}, [influencerPanelOpen, influencerPanelTriggerRef]);
|
|
76
92
|
return !isSm ? /* @__PURE__ */ react.default.createElement("aside", {
|
|
77
93
|
className: (0, import_classnames.default)(`${require_context.blockClass}__influencer`, className, { [`${require_context.blockClass}__flush`]: isFlush }),
|
|
78
94
|
ref
|
|
@@ -81,7 +97,9 @@ const Influencer = (0, react.forwardRef)(({ children, className, influencerPanel
|
|
|
81
97
|
open: influencerPanelOpen,
|
|
82
98
|
onRequestClose: onInfluencerPanelClose,
|
|
83
99
|
placement: "left",
|
|
84
|
-
className: (0, import_classnames.default)(`${require_context.blockClass}__side-panel`, className)
|
|
100
|
+
className: (0, import_classnames.default)(`${require_context.blockClass}__side-panel`, className),
|
|
101
|
+
"aria-label": influencerPanelAriaLabel,
|
|
102
|
+
"aria-modal": "true"
|
|
85
103
|
}, children);
|
|
86
104
|
});
|
|
87
105
|
//#endregion
|
|
@@ -22,7 +22,7 @@ var import_classnames = /* @__PURE__ */ require_runtime.__toESM(require_index.de
|
|
|
22
22
|
const TearsheetFooter = (0, react.forwardRef)(({ children, className, actions, buttonSize }, ref) => {
|
|
23
23
|
const { variant } = (0, react.useContext)(require_context.TearsheetContext);
|
|
24
24
|
const actionCount = actions?.length || 0;
|
|
25
|
-
return /* @__PURE__ */ react.default.createElement("
|
|
25
|
+
return /* @__PURE__ */ react.default.createElement("div", {
|
|
26
26
|
className: (0, import_classnames.default)(`${require_context.blockClass}__footer`, className, {
|
|
27
27
|
[`${require_context.blockClass}__footer--three-actions`]: actionCount == 3,
|
|
28
28
|
[`${require_context.blockClass}__footer--many-actions`]: actionCount > 3
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TearsheetHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/Tearsheet/next/TearsheetHeader.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAc,eAAe,EAAe,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAMf;;;;GAIG;AAEH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,QAAA,MAAM,eAAe,6FA2CpB,CAAC;AAEF,eAAe,eAAe,CAAC;AAE/B;;;;GAIG;AAEH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,eAAO,MAAM,sBAAsB,oGAajC,CAAC;AAEH;;;;GAIG;AAEH,MAAM,WAAW,0BAA2B,SAAQ,eAAe;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"TearsheetHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/Tearsheet/next/TearsheetHeader.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAc,eAAe,EAAe,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAMf;;;;GAIG;AAEH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,QAAA,MAAM,eAAe,6FA2CpB,CAAC;AAEF,eAAe,eAAe,CAAC;AAE/B;;;;GAIG;AAEH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,eAAO,MAAM,sBAAsB,oGAajC,CAAC;AAEH;;;;GAIG;AAEH,MAAM,WAAW,0BAA2B,SAAQ,eAAe;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,qBAAqB,mGAiDhC,CAAC"}
|
|
@@ -68,7 +68,9 @@ const TearsheetScrollButton = react.default.forwardRef(function PageHeaderExpand
|
|
|
68
68
|
onClick?.(event);
|
|
69
69
|
handleScroller(!!fullyCollapsed);
|
|
70
70
|
},
|
|
71
|
-
className: (0, import_classnames.default)(className, `${require_context.blockClass}__scroller-button`)
|
|
71
|
+
className: (0, import_classnames.default)(className, `${require_context.blockClass}__scroller-button`),
|
|
72
|
+
"aria-label": fullyCollapsed ? `${expandText} header` : `${collapseText} header`,
|
|
73
|
+
"aria-expanded": !fullyCollapsed
|
|
72
74
|
}, /* @__PURE__ */ react.default.createElement(_carbon_react_icons.ChevronUp, { className: (0, import_classnames.default)(`${require_context.blockClass}__scroller-button-icon`, { [`${require_context.blockClass}__scroller-button-icon-collapsed`]: fullyCollapsed }) })));
|
|
73
75
|
});
|
|
74
76
|
//#endregion
|
|
@@ -29,7 +29,7 @@ export interface TearsheetHeaderActionsProps {
|
|
|
29
29
|
*/
|
|
30
30
|
menuButtonProps?: MenuButtonProps;
|
|
31
31
|
}
|
|
32
|
-
export declare const TearsheetHeaderActions:
|
|
32
|
+
export declare const TearsheetHeaderActions: React.ForwardRefExoticComponent<TearsheetHeaderActionsProps & React.RefAttributes<HTMLDivElement>>;
|
|
33
33
|
/**
|
|
34
34
|
* ----------------
|
|
35
35
|
* TearsheetHeaderActionsItem
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TearsheetHeaderActions.d.ts","sourceRoot":"","sources":["../../../../src/components/Tearsheet/next/TearsheetHeaderActions.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAc,eAAe,EAAY,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"TearsheetHeaderActions.d.ts","sourceRoot":"","sources":["../../../../src/components/Tearsheet/next/TearsheetHeaderActions.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAc,eAAe,EAAY,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,EAGZ,SAAS,EAGV,MAAM,OAAO,CAAC;AAKf;;;;GAIG;AACH,KAAK,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC/E,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AACD,eAAO,MAAM,sBAAsB,oGAuGjC,CAAC;AAIH;;;;GAIG;AAEH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AACD,eAAO,MAAM,yBAAyB,GAAI,0BAGvC,8BAA8B,sBAMhC,CAAC"}
|
|
@@ -21,9 +21,10 @@ let _carbon_utilities = require("@carbon/utilities");
|
|
|
21
21
|
* LICENSE file in the root directory of this source tree.
|
|
22
22
|
*/
|
|
23
23
|
var import_classnames = /* @__PURE__ */ require_runtime.__toESM(require_index.default);
|
|
24
|
-
const TearsheetHeaderActions = ({ className, children, menuButtonProps }) => {
|
|
24
|
+
const TearsheetHeaderActions = (0, react.forwardRef)(({ className, children, menuButtonProps }, ref) => {
|
|
25
25
|
const containerRef = (0, react.useRef)(null);
|
|
26
26
|
const offsetRef = (0, react.useRef)(null);
|
|
27
|
+
const menuButtonContainerRef = (0, react.useRef)(null);
|
|
27
28
|
const [menuButtonVisibility, setMenuButtonVisibility] = (0, react.useState)(false);
|
|
28
29
|
const [hiddenItems, setHiddenItems] = (0, react.useState)([]);
|
|
29
30
|
const hasOtherChildType = (0, react.useRef)(false);
|
|
@@ -56,6 +57,7 @@ const TearsheetHeaderActions = ({ className, children, menuButtonProps }) => {
|
|
|
56
57
|
ref: offsetRef,
|
|
57
58
|
className: (0, import_classnames.default)(`${require_context.blockClass}__header-actions-menuButton`, { [`${require_context.blockClass}__header-actions-menuButton--hidden`]: hiddenItems.length === 0 })
|
|
58
59
|
}, /* @__PURE__ */ react.default.createElement(_carbon_react.MenuButton, {
|
|
60
|
+
ref: menuButtonContainerRef,
|
|
59
61
|
size: "sm",
|
|
60
62
|
...menuButtonProps
|
|
61
63
|
}, hiddenItems.map((item) => {
|
|
@@ -68,7 +70,8 @@ const TearsheetHeaderActions = ({ className, children, menuButtonProps }) => {
|
|
|
68
70
|
label: childProps.overflowItemLabel
|
|
69
71
|
});
|
|
70
72
|
}))));
|
|
71
|
-
};
|
|
73
|
+
});
|
|
74
|
+
TearsheetHeaderActions.displayName = "TearsheetHeaderActions";
|
|
72
75
|
const TearsheetHeaderActionItem = ({ children, className }) => {
|
|
73
76
|
return /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__header-action-item ${className}` }, children);
|
|
74
77
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TearsheetHeaderContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Tearsheet/next/TearsheetHeaderContent.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAIZ,SAAS,EAEV,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC;AAED,QAAA,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"TearsheetHeaderContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Tearsheet/next/TearsheetHeaderContent.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAIZ,SAAS,EAEV,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC;AAED,QAAA,MAAM,sBAAsB,oGA+G1B,CAAC;AAEH,eAAe,sBAAsB,CAAC"}
|
|
@@ -24,9 +24,12 @@ var import_classnames = /* @__PURE__ */ require_runtime.__toESM(require_index.de
|
|
|
24
24
|
const TearsheetHeaderContent = react.default.forwardRef((props, ref) => {
|
|
25
25
|
const { children, label, title, description, headerActions, titleStart, titleEnd, ...rest } = props;
|
|
26
26
|
const carbonPrefix = (0, _carbon_react.usePrefix)();
|
|
27
|
-
const { isSm, onClose, decorator, closeIconDescription, hideCloseButton = false } = (0, react.useContext)(require_context.TearsheetContext);
|
|
27
|
+
const { isSm, onClose, decorator, closeIconDescription, hideCloseButton = false, titleId } = (0, react.useContext)(require_context.TearsheetContext);
|
|
28
28
|
const normalizedDecorator = (0, react.isValidElement)(decorator) && decorator.type === _carbon_react.AILabel ? (0, react.cloneElement)(decorator, { size: "sm" }) : decorator;
|
|
29
|
-
const headerContent = /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__header-content` }, label ? /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__header-label` }, label) : null, /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__content__title-wrapper` }, /* @__PURE__ */ react.default.createElement("h2", {
|
|
29
|
+
const headerContent = /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__header-content` }, label ? /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__header-label` }, label) : null, /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__content__title-wrapper` }, /* @__PURE__ */ react.default.createElement("h2", {
|
|
30
|
+
className: (0, import_classnames.default)(`${require_context.blockClass}__header-title`),
|
|
31
|
+
id: titleId
|
|
32
|
+
}, titleStart ? /* @__PURE__ */ react.default.createElement("span", { className: `${require_context.blockClass}__title-start` }, titleStart) : null, /* @__PURE__ */ react.default.createElement(require_TruncatedText.TruncatedText, {
|
|
30
33
|
id: `${require_context.blockClass}__header-title__truncatedText`,
|
|
31
34
|
className: `${require_context.blockClass}__content__title`,
|
|
32
35
|
align: "bottom",
|
|
@@ -34,7 +37,10 @@ const TearsheetHeaderContent = react.default.forwardRef((props, ref) => {
|
|
|
34
37
|
value: title
|
|
35
38
|
}), titleEnd ? /* @__PURE__ */ react.default.createElement("span", { className: `${require_context.blockClass}__title-end` }, titleEnd) : null)), /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__header-description` }, description), children && /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__header-content--extra` }, children));
|
|
36
39
|
const headerActionsElement = headerActions && /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__header-actions` }, headerActions);
|
|
37
|
-
const decoratorElement = decorator && /* @__PURE__ */ react.default.createElement("div", {
|
|
40
|
+
const decoratorElement = decorator && /* @__PURE__ */ react.default.createElement("div", {
|
|
41
|
+
className: `${require_context.blockClass}__decorator`,
|
|
42
|
+
role: "complementary"
|
|
43
|
+
}, normalizedDecorator);
|
|
38
44
|
const closeButtonElement = !hideCloseButton && /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__close-button ${carbonPrefix}--modal-close-button` }, /* @__PURE__ */ react.default.createElement(_carbon_react.IconButton, {
|
|
39
45
|
className: `${carbonPrefix}--modal-close`,
|
|
40
46
|
label: closeIconDescription || "Close",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepTearsheet.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tearsheet/next/_story-assets/StepTearsheet.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"StepTearsheet.d.ts","sourceRoot":"","sources":["../../../../../src/components/Tearsheet/next/_story-assets/StepTearsheet.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AACzE,OAAO,EAEL,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAcjC,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,KAAK,SAAS,CAAC,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAC9C,iBAAiB,CAAC,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACzD;AAED,eAAO,MAAM,kBAAkB,GAAI,kKAahC,KAAK,sBAsLP,CAAC"}
|
|
@@ -22,6 +22,7 @@ interface TearsheetContextType {
|
|
|
22
22
|
decorator?: ReactNode;
|
|
23
23
|
closeIconDescription?: string;
|
|
24
24
|
hideCloseButton?: boolean;
|
|
25
|
+
titleId?: string;
|
|
25
26
|
}
|
|
26
27
|
export declare const TearsheetContext: import("react").Context<TearsheetContextType>;
|
|
27
28
|
export declare const blockClass: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/components/Tearsheet/next/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAiB,SAAS,EAAyB,MAAM,OAAO,CAAC;AAGxE;;;;GAIG;AAEH,UAAU,oBAAoB;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/components/Tearsheet/next/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAiB,SAAS,EAAyB,MAAM,OAAO,CAAC;AAGxE;;;;GAIG;AAEH,UAAU,oBAAoB;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,eAAO,MAAM,gBAAgB,+CAQ3B,CAAC;AAEH,eAAO,MAAM,UAAU,QAAmC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePresence.d.ts","sourceRoot":"","sources":["../../../src/components/Tearsheet/usePresence.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"usePresence.d.ts","sourceRoot":"","sources":["../../../src/components/Tearsheet/usePresence.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9D,eAAO,MAAM,WAAW,GACtB,KAAK,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAClC,QAAQ,OAAO;IAgEb;;OAEG;;IAGH;;OAEG;;CAGN,CAAC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
require("../../_virtual/_rolldown/runtime.js");
|
|
9
9
|
const require_settings = require("../../settings.js");
|
|
10
|
+
const require_useIsomorphicEffect = require("../../global/js/hooks/useIsomorphicEffect.js");
|
|
10
11
|
let react = require("react");
|
|
11
12
|
//#region src/components/Tearsheet/usePresence.ts
|
|
12
13
|
/**
|
|
@@ -23,7 +24,7 @@ const usePresence = (ref, isOpen) => {
|
|
|
23
24
|
const handleAnimationEnd = (0, react.useCallback)(() => {
|
|
24
25
|
setExitState("finished");
|
|
25
26
|
}, []);
|
|
26
|
-
|
|
27
|
+
require_useIsomorphicEffect.useIsomorphicEffect(() => {
|
|
27
28
|
if (!ref.current || !isExiting) return;
|
|
28
29
|
if (!("getAnimations" in ref.current)) {
|
|
29
30
|
handleAnimationEnd();
|
|
@@ -108,6 +108,7 @@ declare namespace defaults {
|
|
|
108
108
|
let CoachmarkOverlayElement: boolean;
|
|
109
109
|
let CoachmarkOverlayElements: boolean;
|
|
110
110
|
let CoachmarkStack: boolean;
|
|
111
|
+
let CoachmarkTagline: boolean;
|
|
111
112
|
let Decorator: boolean;
|
|
112
113
|
let DecoratorLink: boolean;
|
|
113
114
|
let DecoratorSingleButton: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-settings.d.ts","sourceRoot":"","sources":["../../../src/global/js/package-settings.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-settings.d.ts","sourceRoot":"","sources":["../../../src/global/js/package-settings.js"],"names":[],"mappings":"AA8MA,0DAEC;AAJD,gCAAiC,yBAAyB,CAAC;;;;;;;;IAarC,mFAMnB;IAEkB,sFAOlB;IAEiB,6EAEjB;IAED,8EAOC;IAEgB,gFAKhB;IAEiB,qDAIjB;IAEe,mDAIf;IAEiB,mDAKjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA1FH;;;;;;;EAqBE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2025,
|
|
2
|
+
* Copyright IBM Corp. 2025, 2026
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -30,10 +30,16 @@ interface DraggableProps {
|
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Makes a given element draggable using a handle element.
|
|
33
|
-
|
|
33
|
+
* @param {object} draggable - Configuration object for draggable behavior
|
|
34
|
+
* @param {HTMLElement} draggable.el - The element to make draggable
|
|
35
|
+
* @param {HTMLElement} [draggable.dragHandle] - Optional handle element for dragging
|
|
36
|
+
* @param {boolean} [draggable.focusableDragHandle] - Whether the drag handle should be focusable
|
|
37
|
+
* @param {number} [draggable.dragStep] - Step size for keyboard dragging (default: 10)
|
|
38
|
+
* @param {number} [draggable.shiftDragStep] - Step size for keyboard dragging with Shift key (default: 50)
|
|
34
39
|
*/
|
|
35
40
|
export declare const makeDraggable: ({ el, dragHandle, focusableDragHandle, dragStep, shiftDragStep, }: DraggableProps) => {
|
|
36
41
|
cleanup: () => void;
|
|
42
|
+
init: () => void;
|
|
37
43
|
};
|
|
38
44
|
export {};
|
|
39
45
|
//# sourceMappingURL=makeDraggable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeDraggable.d.ts","sourceRoot":"","sources":["../../../../../src/global/js/utils/makeDraggable/makeDraggable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"makeDraggable.d.ts","sourceRoot":"","sources":["../../../../../src/global/js/utils/makeDraggable/makeDraggable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,UAAU,cAAc;IACtB;;OAEG;IACH,EAAE,EAAE,WAAW,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB;;OAEG;IACH,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAQD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,mEAM3B,cAAc;;;CAqNhB,CAAC"}
|
|
@@ -8,7 +8,12 @@
|
|
|
8
8
|
//#region src/global/js/utils/makeDraggable/makeDraggable.ts
|
|
9
9
|
/**
|
|
10
10
|
* Makes a given element draggable using a handle element.
|
|
11
|
-
|
|
11
|
+
* @param {object} draggable - Configuration object for draggable behavior
|
|
12
|
+
* @param {HTMLElement} draggable.el - The element to make draggable
|
|
13
|
+
* @param {HTMLElement} [draggable.dragHandle] - Optional handle element for dragging
|
|
14
|
+
* @param {boolean} [draggable.focusableDragHandle] - Whether the drag handle should be focusable
|
|
15
|
+
* @param {number} [draggable.dragStep] - Step size for keyboard dragging (default: 10)
|
|
16
|
+
* @param {number} [draggable.shiftDragStep] - Step size for keyboard dragging with Shift key (default: 50)
|
|
12
17
|
*/
|
|
13
18
|
const makeDraggable = ({ el, dragHandle, focusableDragHandle, dragStep, shiftDragStep }) => {
|
|
14
19
|
if (dragHandle) {
|
|
@@ -20,6 +25,45 @@ const makeDraggable = ({ el, dragHandle, focusableDragHandle, dragStep, shiftDra
|
|
|
20
25
|
let currentY = 0;
|
|
21
26
|
let initialMouseX = 0;
|
|
22
27
|
let initialMouseY = 0;
|
|
28
|
+
let baseMatrix = null;
|
|
29
|
+
/**
|
|
30
|
+
* Syncs position and extracts base matrix from computed style.
|
|
31
|
+
* Reads from getComputedStyle() to include all transform sources (inline, classes, etc.).
|
|
32
|
+
*/
|
|
33
|
+
const syncTransformState = () => {
|
|
34
|
+
const transformString = window.getComputedStyle(el).transform;
|
|
35
|
+
if (!transformString || transformString === "none") {
|
|
36
|
+
currentX = 0;
|
|
37
|
+
currentY = 0;
|
|
38
|
+
baseMatrix = null;
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const matrix = new DOMMatrix(transformString);
|
|
42
|
+
currentX = matrix.m41;
|
|
43
|
+
currentY = matrix.m42;
|
|
44
|
+
if (matrix.a === 1 && matrix.b === 0 && matrix.c === 0 && matrix.d === 1 && matrix.e === 0 && matrix.f === 0) baseMatrix = null;
|
|
45
|
+
else baseMatrix = new DOMMatrix([
|
|
46
|
+
matrix.a,
|
|
47
|
+
matrix.b,
|
|
48
|
+
matrix.c,
|
|
49
|
+
matrix.d,
|
|
50
|
+
0,
|
|
51
|
+
0
|
|
52
|
+
]);
|
|
53
|
+
};
|
|
54
|
+
syncTransformState();
|
|
55
|
+
/**
|
|
56
|
+
* Applies transform by combining translation with base matrix using matrix multiplication.
|
|
57
|
+
*/
|
|
58
|
+
const applyTransform = (x, y) => {
|
|
59
|
+
if (baseMatrix) {
|
|
60
|
+
const translationMatrix = new DOMMatrix();
|
|
61
|
+
translationMatrix.m41 = x;
|
|
62
|
+
translationMatrix.m42 = y;
|
|
63
|
+
const combined = translationMatrix.multiply(baseMatrix);
|
|
64
|
+
el.style.transform = combined.toString();
|
|
65
|
+
} else el.style.transform = `translate(${x}px, ${y}px)`;
|
|
66
|
+
};
|
|
23
67
|
const dispatch = (type, detail) => {
|
|
24
68
|
const eventInit = {
|
|
25
69
|
detail,
|
|
@@ -28,13 +72,11 @@ const makeDraggable = ({ el, dragHandle, focusableDragHandle, dragStep, shiftDra
|
|
|
28
72
|
el.dispatchEvent(new CustomEvent(type, eventInit));
|
|
29
73
|
};
|
|
30
74
|
const onKeyDown = (e) => {
|
|
31
|
-
if (e.key === "Enter") {
|
|
75
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
76
|
+
e.preventDefault();
|
|
32
77
|
isDragging = !isDragging;
|
|
33
78
|
if (isDragging) {
|
|
34
|
-
|
|
35
|
-
const matrix = new DOMMatrix(style.transform);
|
|
36
|
-
currentX = matrix.m41;
|
|
37
|
-
currentY = matrix.m42;
|
|
79
|
+
syncTransformState();
|
|
38
80
|
dispatch("dragstart", { keyboard: true });
|
|
39
81
|
} else dispatch("dragend", { keyboard: true });
|
|
40
82
|
}
|
|
@@ -47,19 +89,35 @@ const makeDraggable = ({ el, dragHandle, focusableDragHandle, dragStep, shiftDra
|
|
|
47
89
|
break;
|
|
48
90
|
case "ArrowLeft":
|
|
49
91
|
currentX -= distance;
|
|
50
|
-
|
|
92
|
+
applyTransform(currentX, currentY);
|
|
93
|
+
dispatch("dragmove", {
|
|
94
|
+
direction: "left",
|
|
95
|
+
distance
|
|
96
|
+
});
|
|
51
97
|
break;
|
|
52
98
|
case "ArrowRight":
|
|
53
99
|
currentX += distance;
|
|
54
|
-
|
|
100
|
+
applyTransform(currentX, currentY);
|
|
101
|
+
dispatch("dragmove", {
|
|
102
|
+
direction: "right",
|
|
103
|
+
distance
|
|
104
|
+
});
|
|
55
105
|
break;
|
|
56
106
|
case "ArrowUp":
|
|
57
107
|
currentY -= distance;
|
|
58
|
-
|
|
108
|
+
applyTransform(currentX, currentY);
|
|
109
|
+
dispatch("dragmove", {
|
|
110
|
+
direction: "up",
|
|
111
|
+
distance
|
|
112
|
+
});
|
|
59
113
|
break;
|
|
60
114
|
case "ArrowDown":
|
|
61
115
|
currentY += distance;
|
|
62
|
-
|
|
116
|
+
applyTransform(currentX, currentY);
|
|
117
|
+
dispatch("dragmove", {
|
|
118
|
+
direction: "down",
|
|
119
|
+
distance
|
|
120
|
+
});
|
|
63
121
|
break;
|
|
64
122
|
}
|
|
65
123
|
};
|
|
@@ -67,10 +125,7 @@ const makeDraggable = ({ el, dragHandle, focusableDragHandle, dragStep, shiftDra
|
|
|
67
125
|
const target = e.target;
|
|
68
126
|
if (!(target instanceof Node)) return;
|
|
69
127
|
if (!(dragHandle ? dragHandle.contains(target) : el.contains(target))) return;
|
|
70
|
-
|
|
71
|
-
const matrix = new DOMMatrix(style.transform);
|
|
72
|
-
currentX = matrix.m41;
|
|
73
|
-
currentY = matrix.m42;
|
|
128
|
+
syncTransformState();
|
|
74
129
|
initialMouseX = e.clientX;
|
|
75
130
|
initialMouseY = e.clientY;
|
|
76
131
|
isDragging = true;
|
|
@@ -82,10 +137,14 @@ const makeDraggable = ({ el, dragHandle, focusableDragHandle, dragStep, shiftDra
|
|
|
82
137
|
if (!isDragging) return;
|
|
83
138
|
const dx = e.clientX - initialMouseX;
|
|
84
139
|
const dy = e.clientY - initialMouseY;
|
|
85
|
-
|
|
140
|
+
applyTransform(currentX + dx, currentY + dy);
|
|
86
141
|
};
|
|
87
|
-
const onMouseUp = () => {
|
|
142
|
+
const onMouseUp = (e) => {
|
|
88
143
|
if (!isDragging) return;
|
|
144
|
+
const dx = e.clientX - initialMouseX;
|
|
145
|
+
const dy = e.clientY - initialMouseY;
|
|
146
|
+
currentX += dx;
|
|
147
|
+
currentY += dy;
|
|
89
148
|
isDragging = false;
|
|
90
149
|
dispatch("dragend", { mouse: true });
|
|
91
150
|
document.removeEventListener("mousemove", onMouseMove);
|
|
@@ -100,7 +159,18 @@ const makeDraggable = ({ el, dragHandle, focusableDragHandle, dragStep, shiftDra
|
|
|
100
159
|
document.removeEventListener("mousemove", onMouseMove);
|
|
101
160
|
document.removeEventListener("mouseup", onMouseUp);
|
|
102
161
|
};
|
|
103
|
-
|
|
162
|
+
/**
|
|
163
|
+
* Re-initialize the draggable position from the element's current computed transform.
|
|
164
|
+
* Call this if the element has been repositioned externally (e.g., via CSS animation,
|
|
165
|
+
* class changes, or other scripts) to prevent position jumps on the next drag.
|
|
166
|
+
*/
|
|
167
|
+
const init = () => {
|
|
168
|
+
syncTransformState();
|
|
169
|
+
};
|
|
170
|
+
return {
|
|
171
|
+
cleanup: draggableCleanup,
|
|
172
|
+
init
|
|
173
|
+
};
|
|
104
174
|
};
|
|
105
175
|
//#endregion
|
|
106
176
|
exports.makeDraggable = makeDraggable;
|
package/lib/settings.d.ts
CHANGED
package/lib/settings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.js"],"names":[],"mappings":";;;;AAmGA
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.js"],"names":[],"mappings":";;;;AAmGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA+B"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carbon/ibm-products",
|
|
3
3
|
"description": "Carbon for IBM Products",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.93.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "es/index.js",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"@babel/preset-env": "^7.26.9",
|
|
67
67
|
"@babel/preset-react": "^7.26.3",
|
|
68
68
|
"@babel/preset-typescript": "^7.26.0",
|
|
69
|
-
"@carbon/ibm-products-utilities": "1.
|
|
69
|
+
"@carbon/ibm-products-utilities": "1.2.0",
|
|
70
70
|
"@carbon/styles": "^1.106.0",
|
|
71
71
|
"@figma/code-connect": "^1.4.0",
|
|
72
72
|
"@ibm/telemetry-js-config-generator": "^2.0.1",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"@types/react-table": "^7.7.20",
|
|
80
80
|
"@vitejs/plugin-react": "^5.0.0",
|
|
81
81
|
"babel-plugin-dev-expression": "^0.2.3",
|
|
82
|
-
"babel-preset-ibm-cloud-cognitive": "^0.
|
|
82
|
+
"babel-preset-ibm-cloud-cognitive": "^0.51.0",
|
|
83
83
|
"change-case": "5.4.4",
|
|
84
84
|
"classnames": "^2.5.1",
|
|
85
85
|
"copyfiles": "^2.4.1",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"fs-extra": "^11.3.0",
|
|
88
88
|
"glob": "^13.0.0",
|
|
89
89
|
"jest": "^29.7.0",
|
|
90
|
-
"jest-config-ibm-cloud-cognitive": "^1.
|
|
90
|
+
"jest-config-ibm-cloud-cognitive": "^1.52.0",
|
|
91
91
|
"jest-environment-jsdom": "^29.7.0",
|
|
92
92
|
"namor": "^1.1.2",
|
|
93
93
|
"npm-run-all2": "^8.0.0",
|
|
@@ -105,9 +105,9 @@
|
|
|
105
105
|
},
|
|
106
106
|
"dependencies": {
|
|
107
107
|
"@babel/runtime": "^7.26.10",
|
|
108
|
-
"@carbon-labs/react-resizer": "^0.
|
|
108
|
+
"@carbon-labs/react-resizer": "^0.25.0",
|
|
109
109
|
"@carbon/feature-flags": "^1.3.0",
|
|
110
|
-
"@carbon/ibm-products-styles": "^2.
|
|
110
|
+
"@carbon/ibm-products-styles": "^2.89.0",
|
|
111
111
|
"@carbon/telemetry": "^0.1.0",
|
|
112
112
|
"@carbon/utilities": "^0.19.0",
|
|
113
113
|
"@carbon/utilities-react": "0.22.0",
|
|
@@ -131,5 +131,5 @@
|
|
|
131
131
|
"react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0 || ^19.0.0",
|
|
132
132
|
"react-is": "^16.13.1 || ^17.0.2 || ^18.3.1 || ^19.0.0"
|
|
133
133
|
},
|
|
134
|
-
"gitHead": "
|
|
134
|
+
"gitHead": "15847d5d8a78cd5d70ae083f9faf8126112004da"
|
|
135
135
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//
|
|
2
|
-
// Copyright IBM Corp. 2023,
|
|
2
|
+
// Copyright IBM Corp. 2023, 2026
|
|
3
3
|
//
|
|
4
4
|
// This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
// LICENSE file in the root directory of this source tree.
|
|
@@ -8,3 +8,4 @@
|
|
|
8
8
|
// Import any Carbon component styles used from Coachmark in this file.
|
|
9
9
|
// Coachmark uses the following Carbon components:
|
|
10
10
|
@use '@carbon/styles/scss/components/button';
|
|
11
|
+
@use '@carbon/styles/scss/components/popover';
|
|
@@ -0,0 +1,53 @@
|
|
|
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
|
+
|
|
8
|
+
// Standard imports.
|
|
9
|
+
@use '../../global/styles/project-settings' as c4p-settings;
|
|
10
|
+
@use '../../global/styles/mixins';
|
|
11
|
+
@use '@carbon/styles/scss/config' as carbon-config;
|
|
12
|
+
@use '@carbon/styles/scss/spacing' as *;
|
|
13
|
+
@use '@carbon/styles/scss/theme' as *;
|
|
14
|
+
|
|
15
|
+
// The block part of our conventional BEM class names (blockClass__E--M).
|
|
16
|
+
$block-class-next: #{c4p-settings.$pkg-prefix}--coachmark__next;
|
|
17
|
+
|
|
18
|
+
@include mixins.block-wrap(#{c4p-settings.$pkg-prefix}--coachmark__next) {
|
|
19
|
+
&.#{$block-class-next}--floating {
|
|
20
|
+
span:has(> div > .#{$block-class-next}--content-header--drag-icon) {
|
|
21
|
+
margin-inline-end: auto;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
.#{$block-class-next}--content-header--is-dragging {
|
|
25
|
+
border-radius: 0;
|
|
26
|
+
box-shadow: 0 0 0 $spacing-02 $icon-inverse;
|
|
27
|
+
outline: $spacing-01 solid $background-inverse;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.#{$block-class-next}--coachmark-content {
|
|
31
|
+
.#{$block-class-next}--content-header {
|
|
32
|
+
display: flex;
|
|
33
|
+
justify-content: flex-end;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.#{$block-class-next}--content-header--drag-icon,
|
|
37
|
+
.#{$block-class-next}--content-header .#{carbon-config.$prefix}--btn {
|
|
38
|
+
color: $icon-inverse;
|
|
39
|
+
|
|
40
|
+
.#{carbon-config.$prefix}--btn__icon,
|
|
41
|
+
svg {
|
|
42
|
+
color: $icon-inverse;
|
|
43
|
+
fill: $icon-inverse;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.#{$block-class-next}--content-body {
|
|
48
|
+
display: flex;
|
|
49
|
+
flex-direction: column;
|
|
50
|
+
padding: $spacing-01 $spacing-05 0;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
//
|
|
2
|
-
// Copyright IBM Corp. 2023,
|
|
2
|
+
// Copyright IBM Corp. 2023, 2026
|
|
3
3
|
//
|
|
4
4
|
// This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
// LICENSE file in the root directory of this source tree.
|
|
6
6
|
//
|
|
7
7
|
|
|
8
8
|
@use './coachmark';
|
|
9
|
+
@use './coachmark-tagline';
|
|
10
|
+
@use './coachmark-beacon';
|
|
11
|
+
@use './coachmark_next';
|