storybook 10.1.0-beta.4 → 10.1.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_browser-chunks/{Color-FTG7SQDA.js → Color-TNPFN3FC.js} +2 -2
- package/dist/_browser-chunks/{WithTooltip-LMROHDUP.js → WithTooltip-IO6J4KBT.js} +2 -2
- package/dist/_node-chunks/{builder-manager-T3A7QLUO.js → builder-manager-OYPBAOYY.js} +13 -13
- package/dist/_node-chunks/{camelcase-WMMYRUH4.js → camelcase-KHLD4CBZ.js} +7 -7
- package/dist/_node-chunks/{chunk-TC7X5DN2.js → chunk-3YPPVXVV.js} +10 -10
- package/dist/_node-chunks/chunk-4JHERXHJ.js +61 -0
- package/dist/_node-chunks/{chunk-TBYOSPAV.js → chunk-4K5Y3HIQ.js} +6 -6
- package/dist/_node-chunks/{chunk-VW25O2YM.js → chunk-5VOKWTHJ.js} +6 -6
- package/dist/_node-chunks/{chunk-NORFPLB6.js → chunk-676RYYTC.js} +7 -7
- package/dist/_node-chunks/{chunk-C6RLDV2P.js → chunk-6O2EILDG.js} +8 -8
- package/dist/_node-chunks/{chunk-JYAXWHGH.js → chunk-6SDCYDUQ.js} +9 -9
- package/dist/_node-chunks/{chunk-HT32VUX7.js → chunk-AIU56TIK.js} +7 -7
- package/dist/_node-chunks/{chunk-RSJK2D7X.js → chunk-CDT6SGHG.js} +6 -6
- package/dist/_node-chunks/{chunk-EFTR6VSG.js → chunk-DCDE2LZP.js} +9 -9
- package/dist/_node-chunks/{chunk-TCLOOFNE.js → chunk-F67RSVRX.js} +7 -7
- package/dist/_node-chunks/{chunk-WGBDDI6W.js → chunk-GRWEJWC6.js} +10 -9
- package/dist/_node-chunks/{chunk-67VVNDJJ.js → chunk-IZ4CTLAY.js} +6 -6
- package/dist/_node-chunks/{chunk-KAVR7KJP.js → chunk-JKZ5HEMT.js} +36 -20
- package/dist/_node-chunks/{chunk-YZ3XRP4N.js → chunk-K43XPHKR.js} +6 -6
- package/dist/_node-chunks/{chunk-VN7SAKM4.js → chunk-KNKOGWDU.js} +6 -6
- package/dist/_node-chunks/chunk-KXDN7S7Y.js +23 -0
- package/dist/_node-chunks/chunk-L3S6HFZ7.js +18 -0
- package/dist/_node-chunks/{chunk-CSFSQ2I4.js → chunk-MKHH5E6J.js} +7 -7
- package/dist/_node-chunks/{chunk-CM44JL5Z.js → chunk-NHZRDKD5.js} +6 -6
- package/dist/_node-chunks/{chunk-KI6KY2ZN.js → chunk-OR5YQT2Y.js} +13 -13
- package/dist/_node-chunks/{chunk-5DEFF2GB.js → chunk-QWPDENGK.js} +7 -7
- package/dist/_node-chunks/{chunk-HDMHX5QM.js → chunk-R4N2FLEZ.js} +7 -7
- package/dist/_node-chunks/{chunk-EFN4RLWH.js → chunk-RNG6NQRW.js} +7 -7
- package/dist/_node-chunks/{chunk-YTTOTUWC.js → chunk-VZ6EDE7M.js} +6 -6
- package/dist/_node-chunks/{chunk-3MVB5IZX.js → chunk-WXWHNHZE.js} +16 -16
- package/dist/_node-chunks/{chunk-EJPOXNSG.js → chunk-XC4RJ4LY.js} +14 -21
- package/dist/_node-chunks/{chunk-PMZEJJNX.js → chunk-YOAOSHXI.js} +7 -7
- package/dist/_node-chunks/{dist-L6XLFQOU.js → dist-BS45SS3Y.js} +9 -9
- package/dist/_node-chunks/{globby-7IXLXFEA.js → globby-WIEUQD7O.js} +9 -9
- package/dist/_node-chunks/{lib-T5L2ZSAG.js → lib-UNDA723W.js} +7 -7
- package/dist/_node-chunks/{mdx-N42X6CFJ-GOOKUTSA.js → mdx-N42X6CFJ-ABE6VGZM.js} +8 -8
- package/dist/_node-chunks/{p-limit-7GKATDEW.js → p-limit-XD6JNZJT.js} +7 -7
- package/dist/babel/index.js +10 -10
- package/dist/bin/core.js +12 -12
- package/dist/bin/dispatcher.js +11 -11
- package/dist/bin/loader.js +9 -9
- package/dist/cli/index.d.ts +3 -1
- package/dist/cli/index.js +18 -18
- package/dist/common/index.d.ts +3 -1
- package/dist/common/index.js +19 -19
- package/dist/components/index.d.ts +131 -117
- package/dist/components/index.js +514 -449
- package/dist/core-server/index.js +33 -33
- package/dist/core-server/presets/common-manager.js +2 -2
- package/dist/core-server/presets/common-override-preset.js +9 -9
- package/dist/core-server/presets/common-preset.js +25 -25
- package/dist/csf-tools/index.js +9 -9
- package/dist/manager/globals-runtime.js +7207 -7142
- package/dist/manager/runtime.js +156 -232
- package/dist/manager-api/index.d.ts +178 -178
- package/dist/manager-api/index.js +1 -1
- package/dist/mocking-utils/index.js +8 -8
- package/dist/node-logger/index.js +9 -9
- package/dist/preview-api/index.d.ts +67 -68
- package/dist/server-errors.js +11 -11
- package/dist/telemetry/index.js +23 -23
- package/package.json +1 -1
- package/dist/_node-chunks/chunk-IQFN7VY4.js +0 -23
- package/dist/_node-chunks/chunk-K7U3BSTR.js +0 -61
- package/dist/_node-chunks/chunk-YN3C74EA.js +0 -18
package/dist/components/index.js
CHANGED
|
@@ -730,12 +730,15 @@ var LEFT_BUTTON = 0, isPlainLeftClick = (e) => e.button === LEFT_BUTTON && !e.al
|
|
|
730
730
|
containsIcon = !1,
|
|
731
731
|
className = void 0,
|
|
732
732
|
style = void 0,
|
|
733
|
+
isButton: isButton2 = !1,
|
|
733
734
|
...rest
|
|
734
735
|
}, ref) => React6.createElement(
|
|
735
736
|
A2,
|
|
736
737
|
{
|
|
737
738
|
...rest,
|
|
738
739
|
ref,
|
|
740
|
+
isButton: isButton2,
|
|
741
|
+
role: isButton2 ? "button" : void 0,
|
|
739
742
|
onClick: onClick && cancel ? (e) => cancelled(e, onClick) : onClick,
|
|
740
743
|
className
|
|
741
744
|
},
|
|
@@ -1030,12 +1033,127 @@ var DocumentWrapper = styled25.div(({ theme }) => ({
|
|
|
1030
1033
|
}
|
|
1031
1034
|
}));
|
|
1032
1035
|
|
|
1033
|
-
// src/components/components/
|
|
1034
|
-
import
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
} from "react";
|
|
1036
|
+
// src/components/components/ActionList/ActionList.tsx
|
|
1037
|
+
import React16, { forwardRef as forwardRef6 } from "react";
|
|
1038
|
+
import { styled as styled30 } from "storybook/theming";
|
|
1039
|
+
|
|
1040
|
+
// src/components/components/Button/Button.tsx
|
|
1041
|
+
import React14, { forwardRef as forwardRef4, useEffect, useMemo as useMemo2, useState as useState3 } from "react";
|
|
1042
|
+
import { deprecate as deprecate2 } from "storybook/internal/client-logger";
|
|
1043
|
+
|
|
1044
|
+
// ../node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
1045
|
+
import * as React8 from "react";
|
|
1046
|
+
|
|
1047
|
+
// ../node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs/dist/index.mjs
|
|
1048
|
+
import * as React7 from "react";
|
|
1049
|
+
function setRef(ref, value) {
|
|
1050
|
+
if (typeof ref == "function")
|
|
1051
|
+
return ref(value);
|
|
1052
|
+
ref != null && (ref.current = value);
|
|
1053
|
+
}
|
|
1054
|
+
function composeRefs(...refs) {
|
|
1055
|
+
return (node) => {
|
|
1056
|
+
let hasCleanup = !1, cleanups = refs.map((ref) => {
|
|
1057
|
+
let cleanup = setRef(ref, node);
|
|
1058
|
+
return !hasCleanup && typeof cleanup == "function" && (hasCleanup = !0), cleanup;
|
|
1059
|
+
});
|
|
1060
|
+
if (hasCleanup)
|
|
1061
|
+
return () => {
|
|
1062
|
+
for (let i = 0; i < cleanups.length; i++) {
|
|
1063
|
+
let cleanup = cleanups[i];
|
|
1064
|
+
typeof cleanup == "function" ? cleanup() : setRef(refs[i], null);
|
|
1065
|
+
}
|
|
1066
|
+
};
|
|
1067
|
+
};
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
// ../node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
1071
|
+
import { Fragment as Fragment2, jsx } from "react/jsx-runtime";
|
|
1072
|
+
var REACT_LAZY_TYPE = Symbol.for("react.lazy"), use = React8[" use ".trim().toString()];
|
|
1073
|
+
function isPromiseLike(value) {
|
|
1074
|
+
return typeof value == "object" && value !== null && "then" in value;
|
|
1075
|
+
}
|
|
1076
|
+
function isLazyComponent(element) {
|
|
1077
|
+
return element != null && typeof element == "object" && "$$typeof" in element && element.$$typeof === REACT_LAZY_TYPE && "_payload" in element && isPromiseLike(element._payload);
|
|
1078
|
+
}
|
|
1079
|
+
function createSlot(ownerName) {
|
|
1080
|
+
let SlotClone = createSlotClone(ownerName), Slot2 = React8.forwardRef((props, forwardedRef) => {
|
|
1081
|
+
let { children, ...slotProps } = props;
|
|
1082
|
+
isLazyComponent(children) && typeof use == "function" && (children = use(children._payload));
|
|
1083
|
+
let childrenArray = React8.Children.toArray(children), slottable = childrenArray.find(isSlottable);
|
|
1084
|
+
if (slottable) {
|
|
1085
|
+
let newElement = slottable.props.children, newChildren = childrenArray.map((child) => child === slottable ? React8.Children.count(newElement) > 1 ? React8.Children.only(null) : React8.isValidElement(newElement) ? newElement.props.children : null : child);
|
|
1086
|
+
return jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React8.isValidElement(newElement) ? React8.cloneElement(newElement, void 0, newChildren) : null });
|
|
1087
|
+
}
|
|
1088
|
+
return jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
1089
|
+
});
|
|
1090
|
+
return Slot2.displayName = `${ownerName}.Slot`, Slot2;
|
|
1091
|
+
}
|
|
1092
|
+
var Slot = createSlot("Slot");
|
|
1093
|
+
function createSlotClone(ownerName) {
|
|
1094
|
+
let SlotClone = React8.forwardRef((props, forwardedRef) => {
|
|
1095
|
+
let { children, ...slotProps } = props;
|
|
1096
|
+
if (isLazyComponent(children) && typeof use == "function" && (children = use(children._payload)), React8.isValidElement(children)) {
|
|
1097
|
+
let childrenRef = getElementRef(children), props2 = mergeProps(slotProps, children.props);
|
|
1098
|
+
return children.type !== React8.Fragment && (props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef), React8.cloneElement(children, props2);
|
|
1099
|
+
}
|
|
1100
|
+
return React8.Children.count(children) > 1 ? React8.Children.only(null) : null;
|
|
1101
|
+
});
|
|
1102
|
+
return SlotClone.displayName = `${ownerName}.SlotClone`, SlotClone;
|
|
1103
|
+
}
|
|
1104
|
+
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
1105
|
+
function createSlottable(ownerName) {
|
|
1106
|
+
let Slottable2 = ({ children }) => jsx(Fragment2, { children });
|
|
1107
|
+
return Slottable2.displayName = `${ownerName}.Slottable`, Slottable2.__radixId = SLOTTABLE_IDENTIFIER, Slottable2;
|
|
1108
|
+
}
|
|
1109
|
+
var Slottable = createSlottable("Slottable");
|
|
1110
|
+
function isSlottable(child) {
|
|
1111
|
+
return React8.isValidElement(child) && typeof child.type == "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
|
1112
|
+
}
|
|
1113
|
+
function mergeProps(slotProps, childProps) {
|
|
1114
|
+
let overrideProps = { ...childProps };
|
|
1115
|
+
for (let propName in childProps) {
|
|
1116
|
+
let slotPropValue = slotProps[propName], childPropValue = childProps[propName];
|
|
1117
|
+
/^on[A-Z]/.test(propName) ? slotPropValue && childPropValue ? overrideProps[propName] = (...args) => {
|
|
1118
|
+
let result = childPropValue(...args);
|
|
1119
|
+
return slotPropValue(...args), result;
|
|
1120
|
+
} : slotPropValue && (overrideProps[propName] = slotPropValue) : propName === "style" ? overrideProps[propName] = { ...slotPropValue, ...childPropValue } : propName === "className" && (overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" "));
|
|
1121
|
+
}
|
|
1122
|
+
return { ...slotProps, ...overrideProps };
|
|
1123
|
+
}
|
|
1124
|
+
function getElementRef(element) {
|
|
1125
|
+
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get, mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
1126
|
+
return mayWarn ? element.ref : (getter = Object.getOwnPropertyDescriptor(element, "ref")?.get, mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning, mayWarn ? element.props.ref : element.props.ref || element.ref);
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
// src/components/components/Button/Button.tsx
|
|
1130
|
+
import { shortcutToAriaKeyshortcuts } from "storybook/manager-api";
|
|
1131
|
+
import { isPropValid, styled as styled28 } from "storybook/theming";
|
|
1132
|
+
|
|
1133
|
+
// src/components/components/Button/helpers/InteractiveTooltipWrapper.tsx
|
|
1134
|
+
import React12, { useMemo } from "react";
|
|
1135
|
+
import { shortcutToHumanString } from "storybook/manager-api";
|
|
1136
|
+
|
|
1137
|
+
// src/components/components/tooltip/TooltipNote.tsx
|
|
1138
|
+
import React9 from "react";
|
|
1139
|
+
import { styled as styled26 } from "storybook/theming";
|
|
1140
|
+
var Note = styled26.div(({ theme }) => ({
|
|
1141
|
+
padding: "2px 6px",
|
|
1142
|
+
lineHeight: "16px",
|
|
1143
|
+
fontSize: 10,
|
|
1144
|
+
fontWeight: theme.typography.weight.bold,
|
|
1145
|
+
color: theme.color.lightest,
|
|
1146
|
+
boxShadow: "0 0 5px 0 rgba(0, 0, 0, 0.3)",
|
|
1147
|
+
borderRadius: 4,
|
|
1148
|
+
whiteSpace: "nowrap",
|
|
1149
|
+
pointerEvents: "none",
|
|
1150
|
+
zIndex: -1,
|
|
1151
|
+
background: theme.base === "light" ? "rgba(60, 60, 60, 0.9)" : "rgba(0, 0, 0, 0.95)"
|
|
1152
|
+
})), TooltipNote = ({ note, ...props }) => React9.createElement(Note, { ...props }, note);
|
|
1153
|
+
|
|
1154
|
+
// src/components/components/tooltip/TooltipProvider.tsx
|
|
1155
|
+
import React11, { useCallback as useCallback2, useState as useState2 } from "react";
|
|
1156
|
+
import { deprecate } from "storybook/internal/client-logger";
|
|
1039
1157
|
|
|
1040
1158
|
// ../node_modules/@react-aria/utils/dist/useLayoutEffect.mjs
|
|
1041
1159
|
import $HgANd$react from "react";
|
|
@@ -2079,300 +2197,32 @@ function $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange
|
|
|
2079
2197
|
$3whtM$useEffect(() => {
|
|
2080
2198
|
let wasControlled = isControlledRef.current;
|
|
2081
2199
|
wasControlled !== isControlled && process.env.NODE_ENV !== "production" && console.warn(`WARN: A component changed from ${wasControlled ? "controlled" : "uncontrolled"} to ${isControlled ? "controlled" : "uncontrolled"}.`), isControlledRef.current = isControlled;
|
|
2082
|
-
}, [
|
|
2083
|
-
isControlled
|
|
2084
|
-
]);
|
|
2085
|
-
let currentValue = isControlled ? value : stateValue, setValue = $3whtM$useCallback((value2, ...args) => {
|
|
2086
|
-
let onChangeCaller = (value3, ...onChangeArgs) => {
|
|
2087
|
-
onChange && (Object.is(currentValue, value3) || onChange(value3, ...onChangeArgs)), isControlled || (currentValue = value3);
|
|
2088
|
-
};
|
|
2089
|
-
typeof value2 == "function" ? (process.env.NODE_ENV !== "production" && console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"), setStateValue((oldValue, ...functionArgs) => {
|
|
2090
|
-
let interceptedValue = value2(isControlled ? currentValue : oldValue, ...functionArgs);
|
|
2091
|
-
return onChangeCaller(interceptedValue, ...args), isControlled ? oldValue : interceptedValue;
|
|
2092
|
-
})) : (isControlled || setStateValue(value2), onChangeCaller(value2, ...args));
|
|
2093
|
-
}, [
|
|
2094
|
-
isControlled,
|
|
2095
|
-
currentValue,
|
|
2096
|
-
onChange
|
|
2097
|
-
]);
|
|
2098
|
-
return [
|
|
2099
|
-
currentValue,
|
|
2100
|
-
setValue
|
|
2101
|
-
];
|
|
2102
|
-
}
|
|
2103
|
-
|
|
2104
|
-
// ../node_modules/@react-stately/utils/dist/number.mjs
|
|
2105
|
-
function $9446cca9a3875146$export$7d15b64cf5a3a4c4(value, min = -1 / 0, max = 1 / 0) {
|
|
2106
|
-
return Math.min(Math.max(value, min), max);
|
|
2107
|
-
}
|
|
2108
|
-
|
|
2109
|
-
// src/components/components/Collapsible/Collapsible.tsx
|
|
2110
|
-
import { styled as styled26 } from "storybook/theming";
|
|
2111
|
-
var CollapsibleContent = styled26.div(({ collapsed = !1 }) => ({
|
|
2112
|
-
blockSize: collapsed ? 0 : "auto",
|
|
2113
|
-
contentVisibility: collapsed ? "hidden" : "visible",
|
|
2114
|
-
transform: collapsed ? "translateY(-10px)" : "translateY(0)",
|
|
2115
|
-
opacity: collapsed ? 0 : 1,
|
|
2116
|
-
overflow: "hidden",
|
|
2117
|
-
"@supports (interpolate-size: allow-keywords)": {
|
|
2118
|
-
interpolateSize: "allow-keywords",
|
|
2119
|
-
transition: "all var(--transition-duration, 0.2s)",
|
|
2120
|
-
transitionBehavior: "allow-discrete"
|
|
2121
|
-
},
|
|
2122
|
-
"@media (prefers-reduced-motion: reduce)": {
|
|
2123
|
-
transition: "none"
|
|
2124
|
-
}
|
|
2125
|
-
})), Collapsible = Object.assign(
|
|
2126
|
-
function({
|
|
2127
|
-
children,
|
|
2128
|
-
summary,
|
|
2129
|
-
collapsed,
|
|
2130
|
-
disabled,
|
|
2131
|
-
state: providedState,
|
|
2132
|
-
...props
|
|
2133
|
-
}) {
|
|
2134
|
-
let internalState = useCollapsible(collapsed, disabled), state = providedState || internalState;
|
|
2135
|
-
return React7.createElement(React7.Fragment, null, typeof summary == "function" ? summary(state) : summary, React7.createElement(
|
|
2136
|
-
CollapsibleContent,
|
|
2137
|
-
{
|
|
2138
|
-
...props,
|
|
2139
|
-
id: state.contentId,
|
|
2140
|
-
collapsed: state.isCollapsed,
|
|
2141
|
-
"aria-hidden": state.isCollapsed
|
|
2142
|
-
},
|
|
2143
|
-
typeof children == "function" ? children(state) : children
|
|
2144
|
-
));
|
|
2145
|
-
},
|
|
2146
|
-
{
|
|
2147
|
-
Content: CollapsibleContent
|
|
2148
|
-
}
|
|
2149
|
-
), useCollapsible = (collapsed, disabled) => {
|
|
2150
|
-
let [isCollapsed, setCollapsed] = useState(!!collapsed);
|
|
2151
|
-
useEffect(() => {
|
|
2152
|
-
collapsed !== void 0 && setCollapsed(collapsed);
|
|
2153
|
-
}, [collapsed]);
|
|
2154
|
-
let toggleCollapsed = useCallback(
|
|
2155
|
-
(event) => {
|
|
2156
|
-
event?.stopPropagation(), disabled || setCollapsed((value) => !value);
|
|
2157
|
-
},
|
|
2158
|
-
[disabled]
|
|
2159
|
-
), contentId = $bdb11010cef70236$export$f680877a34711e37();
|
|
2160
|
-
return {
|
|
2161
|
-
contentId,
|
|
2162
|
-
isCollapsed,
|
|
2163
|
-
isDisabled: !!disabled,
|
|
2164
|
-
setCollapsed,
|
|
2165
|
-
toggleCollapsed,
|
|
2166
|
-
toggleProps: {
|
|
2167
|
-
disabled,
|
|
2168
|
-
onClick: toggleCollapsed,
|
|
2169
|
-
"aria-controls": contentId,
|
|
2170
|
-
"aria-expanded": !isCollapsed
|
|
2171
|
-
}
|
|
2172
|
-
};
|
|
2173
|
-
};
|
|
2174
|
-
|
|
2175
|
-
// src/components/components/Card/Card.tsx
|
|
2176
|
-
import React8, { forwardRef as forwardRef2 } from "react";
|
|
2177
|
-
import { keyframes, styled as styled27 } from "storybook/theming";
|
|
2178
|
-
var fadeInOut = keyframes({
|
|
2179
|
-
"0%": { opacity: 0 },
|
|
2180
|
-
"5%": { opacity: 1 },
|
|
2181
|
-
"25%": { opacity: 1 },
|
|
2182
|
-
"30%": { opacity: 0 }
|
|
2183
|
-
}), spin = keyframes({
|
|
2184
|
-
"0%": { transform: "rotate(0deg)" },
|
|
2185
|
-
"10%": { transform: "rotate(10deg)" },
|
|
2186
|
-
"40%": { transform: "rotate(170deg)" },
|
|
2187
|
-
"50%": { transform: "rotate(180deg)" },
|
|
2188
|
-
"60%": { transform: "rotate(190deg)" },
|
|
2189
|
-
"90%": { transform: "rotate(350deg)" },
|
|
2190
|
-
"100%": { transform: "rotate(360deg)" }
|
|
2191
|
-
}), slide = keyframes({
|
|
2192
|
-
to: {
|
|
2193
|
-
backgroundPositionX: "36%"
|
|
2194
|
-
}
|
|
2195
|
-
}), CardContent = styled27.div(({ theme }) => ({
|
|
2196
|
-
borderRadius: theme.appBorderRadius,
|
|
2197
|
-
backgroundColor: theme.background.content,
|
|
2198
|
-
position: "relative"
|
|
2199
|
-
})), CardOutline = styled27.div(({ animation = "none", color: color4, theme }) => ({
|
|
2200
|
-
position: "relative",
|
|
2201
|
-
width: "100%",
|
|
2202
|
-
padding: 1,
|
|
2203
|
-
overflow: "hidden",
|
|
2204
|
-
backgroundColor: theme.background.content,
|
|
2205
|
-
borderRadius: theme.appBorderRadius + 1,
|
|
2206
|
-
boxShadow: `inset 0 0 0 1px ${animation === "none" && color4 && theme.color[color4] || theme.appBorderColor}, var(--card-box-shadow, transparent 0 0)`,
|
|
2207
|
-
transition: "box-shadow 1s",
|
|
2208
|
-
"@supports (interpolate-size: allow-keywords)": {
|
|
2209
|
-
interpolateSize: "allow-keywords",
|
|
2210
|
-
transition: "all var(--transition-duration, 0.2s), box-shadow 1s",
|
|
2211
|
-
transitionBehavior: "allow-discrete"
|
|
2212
|
-
},
|
|
2213
|
-
"@media (prefers-reduced-motion: reduce)": {
|
|
2214
|
-
transition: "box-shadow 1s"
|
|
2215
|
-
},
|
|
2216
|
-
"&:before": {
|
|
2217
|
-
content: '""',
|
|
2218
|
-
display: animation === "none" ? "none" : "block",
|
|
2219
|
-
position: "absolute",
|
|
2220
|
-
left: 0,
|
|
2221
|
-
top: 0,
|
|
2222
|
-
width: "100%",
|
|
2223
|
-
height: "100%",
|
|
2224
|
-
opacity: 1,
|
|
2225
|
-
...animation === "rainbow" && {
|
|
2226
|
-
animation: `${slide} 10s infinite linear, ${fadeInOut} 60s infinite linear`,
|
|
2227
|
-
backgroundImage: "linear-gradient(45deg,rgb(234, 0, 0),rgb(255, 157, 0),rgb(255, 208, 0),rgb(0, 172, 0),rgb(0, 166, 255),rgb(181, 0, 181), rgb(234, 0, 0),rgb(255, 157, 0),rgb(255, 208, 0),rgb(0, 172, 0),rgb(0, 166, 255),rgb(181, 0, 181))",
|
|
2228
|
-
backgroundSize: "1000%",
|
|
2229
|
-
backgroundPositionX: "100%"
|
|
2230
|
-
},
|
|
2231
|
-
...animation === "spin" && {
|
|
2232
|
-
left: "50%",
|
|
2233
|
-
top: "50%",
|
|
2234
|
-
marginLeft: "calc(max(100vw, 100vh) * -0.5)",
|
|
2235
|
-
marginTop: "calc(max(100vw, 100vh) * -0.5)",
|
|
2236
|
-
height: "max(100vw, 100vh)",
|
|
2237
|
-
width: "max(100vw, 100vh)",
|
|
2238
|
-
animation: `${spin} 3s linear infinite`,
|
|
2239
|
-
backgroundImage: color4 === "negative" ? (
|
|
2240
|
-
// Hardcoded colors to prevent themes from messing with them (orange+gold, secondary+seafoam)
|
|
2241
|
-
"conic-gradient(transparent 90deg, #FC521F 150deg, #FFAE00 210deg, transparent 270deg)"
|
|
2242
|
-
) : "conic-gradient(transparent 90deg, #029CFD 150deg, #37D5D3 210deg, transparent 270deg)"
|
|
2243
|
-
}
|
|
2244
|
-
}
|
|
2245
|
-
})), Card = Object.assign(
|
|
2246
|
-
forwardRef2(function({ outlineAnimation = "none", outlineColor, ...props }, ref) {
|
|
2247
|
-
return React8.createElement(CardOutline, { animation: outlineAnimation, color: outlineColor, ref }, React8.createElement(CardContent, { ...props }));
|
|
2248
|
-
}),
|
|
2249
|
-
{
|
|
2250
|
-
Content: CardContent,
|
|
2251
|
-
Outline: CardOutline
|
|
2252
|
-
}
|
|
2253
|
-
);
|
|
2254
|
-
|
|
2255
|
-
// src/components/components/Listbox/Listbox.tsx
|
|
2256
|
-
import React17, { forwardRef as forwardRef6 } from "react";
|
|
2257
|
-
import { styled as styled31 } from "storybook/theming";
|
|
2258
|
-
|
|
2259
|
-
// src/components/components/Button/Button.tsx
|
|
2260
|
-
import React16, { forwardRef as forwardRef5, useEffect as useEffect2, useMemo as useMemo2, useState as useState4 } from "react";
|
|
2261
|
-
import { deprecate as deprecate2 } from "storybook/internal/client-logger";
|
|
2262
|
-
|
|
2263
|
-
// ../node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
2264
|
-
import * as React10 from "react";
|
|
2265
|
-
|
|
2266
|
-
// ../node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs/dist/index.mjs
|
|
2267
|
-
import * as React9 from "react";
|
|
2268
|
-
function setRef(ref, value) {
|
|
2269
|
-
if (typeof ref == "function")
|
|
2270
|
-
return ref(value);
|
|
2271
|
-
ref != null && (ref.current = value);
|
|
2272
|
-
}
|
|
2273
|
-
function composeRefs(...refs) {
|
|
2274
|
-
return (node) => {
|
|
2275
|
-
let hasCleanup = !1, cleanups = refs.map((ref) => {
|
|
2276
|
-
let cleanup = setRef(ref, node);
|
|
2277
|
-
return !hasCleanup && typeof cleanup == "function" && (hasCleanup = !0), cleanup;
|
|
2278
|
-
});
|
|
2279
|
-
if (hasCleanup)
|
|
2280
|
-
return () => {
|
|
2281
|
-
for (let i = 0; i < cleanups.length; i++) {
|
|
2282
|
-
let cleanup = cleanups[i];
|
|
2283
|
-
typeof cleanup == "function" ? cleanup() : setRef(refs[i], null);
|
|
2284
|
-
}
|
|
2285
|
-
};
|
|
2286
|
-
};
|
|
2287
|
-
}
|
|
2288
|
-
|
|
2289
|
-
// ../node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
2290
|
-
import { Fragment as Fragment2, jsx } from "react/jsx-runtime";
|
|
2291
|
-
var REACT_LAZY_TYPE = Symbol.for("react.lazy"), use = React10[" use ".trim().toString()];
|
|
2292
|
-
function isPromiseLike(value) {
|
|
2293
|
-
return typeof value == "object" && value !== null && "then" in value;
|
|
2294
|
-
}
|
|
2295
|
-
function isLazyComponent(element) {
|
|
2296
|
-
return element != null && typeof element == "object" && "$$typeof" in element && element.$$typeof === REACT_LAZY_TYPE && "_payload" in element && isPromiseLike(element._payload);
|
|
2297
|
-
}
|
|
2298
|
-
function createSlot(ownerName) {
|
|
2299
|
-
let SlotClone = createSlotClone(ownerName), Slot2 = React10.forwardRef((props, forwardedRef) => {
|
|
2300
|
-
let { children, ...slotProps } = props;
|
|
2301
|
-
isLazyComponent(children) && typeof use == "function" && (children = use(children._payload));
|
|
2302
|
-
let childrenArray = React10.Children.toArray(children), slottable = childrenArray.find(isSlottable);
|
|
2303
|
-
if (slottable) {
|
|
2304
|
-
let newElement = slottable.props.children, newChildren = childrenArray.map((child) => child === slottable ? React10.Children.count(newElement) > 1 ? React10.Children.only(null) : React10.isValidElement(newElement) ? newElement.props.children : null : child);
|
|
2305
|
-
return jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React10.isValidElement(newElement) ? React10.cloneElement(newElement, void 0, newChildren) : null });
|
|
2306
|
-
}
|
|
2307
|
-
return jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
2308
|
-
});
|
|
2309
|
-
return Slot2.displayName = `${ownerName}.Slot`, Slot2;
|
|
2310
|
-
}
|
|
2311
|
-
var Slot = createSlot("Slot");
|
|
2312
|
-
function createSlotClone(ownerName) {
|
|
2313
|
-
let SlotClone = React10.forwardRef((props, forwardedRef) => {
|
|
2314
|
-
let { children, ...slotProps } = props;
|
|
2315
|
-
if (isLazyComponent(children) && typeof use == "function" && (children = use(children._payload)), React10.isValidElement(children)) {
|
|
2316
|
-
let childrenRef = getElementRef(children), props2 = mergeProps(slotProps, children.props);
|
|
2317
|
-
return children.type !== React10.Fragment && (props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef), React10.cloneElement(children, props2);
|
|
2318
|
-
}
|
|
2319
|
-
return React10.Children.count(children) > 1 ? React10.Children.only(null) : null;
|
|
2320
|
-
});
|
|
2321
|
-
return SlotClone.displayName = `${ownerName}.SlotClone`, SlotClone;
|
|
2322
|
-
}
|
|
2323
|
-
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
2324
|
-
function createSlottable(ownerName) {
|
|
2325
|
-
let Slottable2 = ({ children }) => jsx(Fragment2, { children });
|
|
2326
|
-
return Slottable2.displayName = `${ownerName}.Slottable`, Slottable2.__radixId = SLOTTABLE_IDENTIFIER, Slottable2;
|
|
2327
|
-
}
|
|
2328
|
-
var Slottable = createSlottable("Slottable");
|
|
2329
|
-
function isSlottable(child) {
|
|
2330
|
-
return React10.isValidElement(child) && typeof child.type == "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
|
2331
|
-
}
|
|
2332
|
-
function mergeProps(slotProps, childProps) {
|
|
2333
|
-
let overrideProps = { ...childProps };
|
|
2334
|
-
for (let propName in childProps) {
|
|
2335
|
-
let slotPropValue = slotProps[propName], childPropValue = childProps[propName];
|
|
2336
|
-
/^on[A-Z]/.test(propName) ? slotPropValue && childPropValue ? overrideProps[propName] = (...args) => {
|
|
2337
|
-
let result = childPropValue(...args);
|
|
2338
|
-
return slotPropValue(...args), result;
|
|
2339
|
-
} : slotPropValue && (overrideProps[propName] = slotPropValue) : propName === "style" ? overrideProps[propName] = { ...slotPropValue, ...childPropValue } : propName === "className" && (overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" "));
|
|
2340
|
-
}
|
|
2341
|
-
return { ...slotProps, ...overrideProps };
|
|
2342
|
-
}
|
|
2343
|
-
function getElementRef(element) {
|
|
2344
|
-
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get, mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
2345
|
-
return mayWarn ? element.ref : (getter = Object.getOwnPropertyDescriptor(element, "ref")?.get, mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning, mayWarn ? element.props.ref : element.props.ref || element.ref);
|
|
2200
|
+
}, [
|
|
2201
|
+
isControlled
|
|
2202
|
+
]);
|
|
2203
|
+
let currentValue = isControlled ? value : stateValue, setValue = $3whtM$useCallback((value2, ...args) => {
|
|
2204
|
+
let onChangeCaller = (value3, ...onChangeArgs) => {
|
|
2205
|
+
onChange && (Object.is(currentValue, value3) || onChange(value3, ...onChangeArgs)), isControlled || (currentValue = value3);
|
|
2206
|
+
};
|
|
2207
|
+
typeof value2 == "function" ? (process.env.NODE_ENV !== "production" && console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"), setStateValue((oldValue, ...functionArgs) => {
|
|
2208
|
+
let interceptedValue = value2(isControlled ? currentValue : oldValue, ...functionArgs);
|
|
2209
|
+
return onChangeCaller(interceptedValue, ...args), isControlled ? oldValue : interceptedValue;
|
|
2210
|
+
})) : (isControlled || setStateValue(value2), onChangeCaller(value2, ...args));
|
|
2211
|
+
}, [
|
|
2212
|
+
isControlled,
|
|
2213
|
+
currentValue,
|
|
2214
|
+
onChange
|
|
2215
|
+
]);
|
|
2216
|
+
return [
|
|
2217
|
+
currentValue,
|
|
2218
|
+
setValue
|
|
2219
|
+
];
|
|
2346
2220
|
}
|
|
2347
2221
|
|
|
2348
|
-
//
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
// src/components/components/Button/helpers/InteractiveTooltipWrapper.tsx
|
|
2353
|
-
import React14, { useMemo } from "react";
|
|
2354
|
-
import { shortcutToHumanString } from "storybook/manager-api";
|
|
2355
|
-
|
|
2356
|
-
// src/components/components/tooltip/TooltipNote.tsx
|
|
2357
|
-
import React11 from "react";
|
|
2358
|
-
import { styled as styled28 } from "storybook/theming";
|
|
2359
|
-
var Note = styled28.div(({ theme }) => ({
|
|
2360
|
-
padding: "2px 6px",
|
|
2361
|
-
lineHeight: "16px",
|
|
2362
|
-
fontSize: 10,
|
|
2363
|
-
fontWeight: theme.typography.weight.bold,
|
|
2364
|
-
color: theme.color.lightest,
|
|
2365
|
-
boxShadow: "0 0 5px 0 rgba(0, 0, 0, 0.3)",
|
|
2366
|
-
borderRadius: 4,
|
|
2367
|
-
whiteSpace: "nowrap",
|
|
2368
|
-
pointerEvents: "none",
|
|
2369
|
-
zIndex: -1,
|
|
2370
|
-
background: theme.base === "light" ? "rgba(60, 60, 60, 0.9)" : "rgba(0, 0, 0, 0.95)"
|
|
2371
|
-
})), TooltipNote = ({ note, ...props }) => React11.createElement(Note, { ...props }, note);
|
|
2372
|
-
|
|
2373
|
-
// src/components/components/tooltip/TooltipProvider.tsx
|
|
2374
|
-
import React13, { useCallback as useCallback3, useState as useState3 } from "react";
|
|
2375
|
-
import { deprecate } from "storybook/internal/client-logger";
|
|
2222
|
+
// ../node_modules/@react-stately/utils/dist/number.mjs
|
|
2223
|
+
function $9446cca9a3875146$export$7d15b64cf5a3a4c4(value, min = -1 / 0, max = 1 / 0) {
|
|
2224
|
+
return Math.min(Math.max(value, min), max);
|
|
2225
|
+
}
|
|
2376
2226
|
|
|
2377
2227
|
// ../node_modules/@react-aria/interactions/dist/utils.mjs
|
|
2378
2228
|
import { useRef as $6dfIe$useRef, useCallback as $6dfIe$useCallback } from "react";
|
|
@@ -8642,17 +8492,17 @@ function $4e3b923658d69c60$var$TooltipInner(props) {
|
|
|
8642
8492
|
}
|
|
8643
8493
|
|
|
8644
8494
|
// src/components/components/shared/overlayHelpers.tsx
|
|
8645
|
-
import
|
|
8495
|
+
import React10, { forwardRef as forwardRef3, useState } from "react";
|
|
8646
8496
|
var import_memoizerific = __toESM(require_memoizerific(), 1);
|
|
8647
|
-
import { styled as
|
|
8648
|
-
var convertToReactAriaPlacement = (0, import_memoizerific.default)(1e3)((p) => p === "left-end" ? "left bottom" : p === "right-end" ? "right bottom" : p === "left-start" ? "left top" : p === "right-start" ? "right top" : p.replace("-", " ")), Container =
|
|
8497
|
+
import { styled as styled27 } from "storybook/theming";
|
|
8498
|
+
var convertToReactAriaPlacement = (0, import_memoizerific.default)(1e3)((p) => p === "left-end" ? "left bottom" : p === "right-end" ? "right bottom" : p === "left-start" ? "left top" : p === "right-start" ? "right top" : p.replace("-", " ")), Container = styled27.div({
|
|
8649
8499
|
width: 500,
|
|
8650
8500
|
height: 500,
|
|
8651
8501
|
paddingTop: 100,
|
|
8652
8502
|
overflowY: "scroll",
|
|
8653
8503
|
background: "#eee",
|
|
8654
8504
|
position: "relative"
|
|
8655
|
-
}), Trigger =
|
|
8505
|
+
}), Trigger = forwardRef3((props, ref) => React10.createElement(
|
|
8656
8506
|
"button",
|
|
8657
8507
|
{
|
|
8658
8508
|
...props,
|
|
@@ -8681,15 +8531,15 @@ var TooltipProvider = ({
|
|
|
8681
8531
|
onVisibleChange,
|
|
8682
8532
|
...props
|
|
8683
8533
|
}) => {
|
|
8684
|
-
let placement = convertToReactAriaPlacement(placementProp), child =
|
|
8534
|
+
let placement = convertToReactAriaPlacement(placementProp), child = React11.Children.only(children);
|
|
8685
8535
|
startOpen !== void 0 && deprecate("The `startOpen` prop is deprecated. Please use `defaultVisible` instead.");
|
|
8686
|
-
let [isOpen, setIsOpen] =
|
|
8536
|
+
let [isOpen, setIsOpen] = useState2(defaultVisible ?? startOpen ?? !1), onOpenChange = useCallback2(
|
|
8687
8537
|
(isOpen2) => {
|
|
8688
8538
|
setIsOpen(isOpen2), onVisibleChange?.(isOpen2);
|
|
8689
8539
|
},
|
|
8690
8540
|
[onVisibleChange]
|
|
8691
8541
|
);
|
|
8692
|
-
return
|
|
8542
|
+
return React11.createElement(
|
|
8693
8543
|
$4e3b923658d69c60$export$8c610744efcf8a1d,
|
|
8694
8544
|
{
|
|
8695
8545
|
delay: delayShow,
|
|
@@ -8699,8 +8549,8 @@ var TooltipProvider = ({
|
|
|
8699
8549
|
trigger: triggerOnFocusOnly ? "focus" : void 0,
|
|
8700
8550
|
...props
|
|
8701
8551
|
},
|
|
8702
|
-
|
|
8703
|
-
|
|
8552
|
+
React11.createElement($f645667febf57a63$export$35a3bebf7ef2d934, null, React11.cloneElement(child, { "aria-describedby": null })),
|
|
8553
|
+
React11.createElement(
|
|
8704
8554
|
$4e3b923658d69c60$export$28c660c63b792dea,
|
|
8705
8555
|
{
|
|
8706
8556
|
"data-testid": "tooltip",
|
|
@@ -8722,32 +8572,32 @@ var InteractiveTooltipWrapper = ({ children, disableAllTooltips, shortcut, toolt
|
|
|
8722
8572
|
if (!(!tooltip && (!shortcut || !hasShortcuts)))
|
|
8723
8573
|
return [tooltip, shortcut && hasShortcuts && `[${shortcutToHumanString(shortcut)}]`].filter(Boolean).join(" ");
|
|
8724
8574
|
}, [shortcut, tooltip]);
|
|
8725
|
-
return tooltipLabel ?
|
|
8575
|
+
return tooltipLabel ? React12.createElement(
|
|
8726
8576
|
TooltipProvider,
|
|
8727
8577
|
{
|
|
8728
8578
|
placement: "top",
|
|
8729
|
-
tooltip:
|
|
8579
|
+
tooltip: React12.createElement(TooltipNote, { note: tooltipLabel }),
|
|
8730
8580
|
visible: disableAllTooltips ? !1 : void 0
|
|
8731
8581
|
},
|
|
8732
8582
|
children
|
|
8733
|
-
) :
|
|
8583
|
+
) : React12.createElement(React12.Fragment, null, children);
|
|
8734
8584
|
};
|
|
8735
8585
|
InteractiveTooltipWrapper.displayName = "InteractiveTooltipWrapper";
|
|
8736
8586
|
|
|
8737
8587
|
// src/components/components/Button/helpers/useAriaDescription.tsx
|
|
8738
|
-
import
|
|
8588
|
+
import React13 from "react";
|
|
8739
8589
|
function useAriaDescription(description = "") {
|
|
8740
8590
|
let describedbyId = description.toLowerCase().trim().replace(/\s+/g, "-");
|
|
8741
8591
|
return {
|
|
8742
8592
|
ariaDescriptionAttrs: {
|
|
8743
8593
|
"aria-describedby": description ? describedbyId : void 0
|
|
8744
8594
|
},
|
|
8745
|
-
AriaDescription: () => description ?
|
|
8595
|
+
AriaDescription: () => description ? React13.createElement("span", { id: describedbyId, hidden: !0 }, description) : null
|
|
8746
8596
|
};
|
|
8747
8597
|
}
|
|
8748
8598
|
|
|
8749
8599
|
// src/components/components/Button/Button.tsx
|
|
8750
|
-
var Button =
|
|
8600
|
+
var Button = forwardRef4(
|
|
8751
8601
|
({
|
|
8752
8602
|
as = "button",
|
|
8753
8603
|
asChild = !1,
|
|
@@ -8766,30 +8616,31 @@ var Button = forwardRef5(
|
|
|
8766
8616
|
disableAllTooltips = !1,
|
|
8767
8617
|
...props
|
|
8768
8618
|
}, ref) => {
|
|
8769
|
-
let Comp2 = asChild ? Slot : as;
|
|
8770
|
-
(ariaLabel === void 0 || ariaLabel === "") && deprecate2(
|
|
8619
|
+
let Comp2 = asChild ? Slot : as, deprecated;
|
|
8620
|
+
!readOnly && (ariaLabel === void 0 || ariaLabel === "") && (deprecated = "ariaLabel", deprecate2(
|
|
8771
8621
|
`The 'ariaLabel' prop on 'Button' will become mandatory in Storybook 11. Buttons with text content should set 'ariaLabel={false}' to indicate that they are accessible as-is. Buttons without text content must provide a meaningful 'ariaLabel' for accessibility. The button content is: ${props.children}.`
|
|
8772
|
-
), active !== void 0 && deprecate2(
|
|
8622
|
+
)), active !== void 0 && (deprecated = "active", deprecate2(
|
|
8773
8623
|
"The `active` prop on `Button` is deprecated and will be removed in Storybook 11. Use specialized components like `ToggleButton` or `Select` instead."
|
|
8774
|
-
);
|
|
8775
|
-
let { ariaDescriptionAttrs, AriaDescription } = useAriaDescription(ariaDescription), shortcutAttribute = useMemo2(() => shortcut ? shortcutToAriaKeyshortcuts(shortcut) : void 0, [shortcut]), [isAnimating, setIsAnimating] =
|
|
8624
|
+
));
|
|
8625
|
+
let { ariaDescriptionAttrs, AriaDescription } = useAriaDescription(ariaDescription), shortcutAttribute = useMemo2(() => shortcut ? shortcutToAriaKeyshortcuts(shortcut) : void 0, [shortcut]), [isAnimating, setIsAnimating] = useState3(!1), handleClick = (event) => {
|
|
8776
8626
|
onClick && onClick(event), animation !== "none" && setIsAnimating(!0);
|
|
8777
8627
|
};
|
|
8778
|
-
return
|
|
8628
|
+
return useEffect(() => {
|
|
8779
8629
|
let timer = setTimeout(() => {
|
|
8780
8630
|
isAnimating && setIsAnimating(!1);
|
|
8781
8631
|
}, 1e3);
|
|
8782
8632
|
return () => clearTimeout(timer);
|
|
8783
|
-
}, [isAnimating]),
|
|
8633
|
+
}, [isAnimating]), React14.createElement(React14.Fragment, null, React14.createElement(
|
|
8784
8634
|
InteractiveTooltipWrapper,
|
|
8785
8635
|
{
|
|
8786
8636
|
disableAllTooltips,
|
|
8787
8637
|
shortcut,
|
|
8788
8638
|
tooltip: tooltip || (ariaLabel !== !1 ? ariaLabel : void 0)
|
|
8789
8639
|
},
|
|
8790
|
-
|
|
8640
|
+
React14.createElement(
|
|
8791
8641
|
StyledButton,
|
|
8792
8642
|
{
|
|
8643
|
+
"data-deprecated": deprecated,
|
|
8793
8644
|
as: Comp2,
|
|
8794
8645
|
ref,
|
|
8795
8646
|
variant,
|
|
@@ -8807,11 +8658,11 @@ var Button = forwardRef5(
|
|
|
8807
8658
|
...props
|
|
8808
8659
|
}
|
|
8809
8660
|
)
|
|
8810
|
-
),
|
|
8661
|
+
), React14.createElement(AriaDescription, null));
|
|
8811
8662
|
}
|
|
8812
8663
|
);
|
|
8813
8664
|
Button.displayName = "Button";
|
|
8814
|
-
var StyledButton =
|
|
8665
|
+
var StyledButton = styled28("button", {
|
|
8815
8666
|
shouldForwardProp: (prop) => isPropValid(prop)
|
|
8816
8667
|
})(
|
|
8817
8668
|
({
|
|
@@ -8884,13 +8735,39 @@ var StyledButton = styled30("button", {
|
|
|
8884
8735
|
animation: animating && animation !== "none" ? `${theme.animation[animation]} 1000ms ease-out` : ""
|
|
8885
8736
|
}
|
|
8886
8737
|
})
|
|
8887
|
-
), IconButton =
|
|
8738
|
+
), IconButton = forwardRef4((props, ref) => (deprecate2(
|
|
8888
8739
|
"`IconButton` is deprecated and will be removed in Storybook 11, use `Button` instead."
|
|
8889
|
-
),
|
|
8740
|
+
), React14.createElement(Button, { ref, ...props, "data-deprecated": "IconButton" })));
|
|
8890
8741
|
IconButton.displayName = "IconButton";
|
|
8891
8742
|
|
|
8892
|
-
// src/components/components/
|
|
8893
|
-
|
|
8743
|
+
// src/components/components/ToggleButton/ToggleButton.tsx
|
|
8744
|
+
import React15, { forwardRef as forwardRef5 } from "react";
|
|
8745
|
+
import { styled as styled29 } from "storybook/theming";
|
|
8746
|
+
var ToggleButton = forwardRef5(
|
|
8747
|
+
({ pressed, ...props }, ref) => React15.createElement(StyledToggle, { role: "switch", "aria-checked": pressed, ref, pressed, ...props })
|
|
8748
|
+
);
|
|
8749
|
+
ToggleButton.displayName = "ToggleButton";
|
|
8750
|
+
var StyledToggle = styled29(Button)(
|
|
8751
|
+
({ theme, variant = "outline", pressed }) => ({
|
|
8752
|
+
...pressed ? {
|
|
8753
|
+
...variant === "solid" ? {
|
|
8754
|
+
background: theme.base === "lighten" ? curriedDarken$1(0.1, theme.color.secondary) : curriedDarken$1(0.2, theme.color.secondary)
|
|
8755
|
+
} : {},
|
|
8756
|
+
...variant === "outline" ? {
|
|
8757
|
+
background: curriedTransparentize$1(0.94, theme.barSelectedColor),
|
|
8758
|
+
boxShadow: `${theme.barSelectedColor} 0 0 0 1px inset`,
|
|
8759
|
+
color: theme.barSelectedColor
|
|
8760
|
+
} : {},
|
|
8761
|
+
...variant === "ghost" ? {
|
|
8762
|
+
background: curriedTransparentize$1(0.93, theme.barSelectedColor),
|
|
8763
|
+
color: theme.base === "light" ? curriedDarken$1(0.1, theme.color.secondary) : theme.color.secondary
|
|
8764
|
+
} : {}
|
|
8765
|
+
} : {}
|
|
8766
|
+
})
|
|
8767
|
+
);
|
|
8768
|
+
|
|
8769
|
+
// src/components/components/ActionList/ActionList.tsx
|
|
8770
|
+
var ActionListItem = styled30.li(
|
|
8894
8771
|
({ active, theme }) => ({
|
|
8895
8772
|
display: "flex",
|
|
8896
8773
|
alignItems: "center",
|
|
@@ -8902,6 +8779,10 @@ var ListboxItem = styled31.div(
|
|
|
8902
8779
|
fontWeight: active ? theme.typography.weight.bold : theme.typography.weight.regular,
|
|
8903
8780
|
color: active ? theme.color.secondary : theme.color.defaultText,
|
|
8904
8781
|
"--listbox-item-muted-color": active ? theme.color.secondary : theme.color.mediumdark,
|
|
8782
|
+
"&:not(:hover, :has(:focus-visible)) svg + input": {
|
|
8783
|
+
position: "absolute",
|
|
8784
|
+
opacity: 0
|
|
8785
|
+
},
|
|
8905
8786
|
"@supports (interpolate-size: allow-keywords)": {
|
|
8906
8787
|
interpolateSize: "allow-keywords",
|
|
8907
8788
|
transition: "all var(--transition-duration, 0.2s)",
|
|
@@ -8929,7 +8810,7 @@ var ListboxItem = styled31.div(
|
|
|
8929
8810
|
};
|
|
8930
8811
|
}
|
|
8931
8812
|
}
|
|
8932
|
-
),
|
|
8813
|
+
), ActionListHoverItem = styled30(ActionListItem)(({ targetId }) => ({
|
|
8933
8814
|
gap: 0,
|
|
8934
8815
|
[`& [data-target-id="${targetId}"]`]: {
|
|
8935
8816
|
inlineSize: "auto",
|
|
@@ -8937,7 +8818,8 @@ var ListboxItem = styled31.div(
|
|
|
8937
8818
|
opacity: 1,
|
|
8938
8819
|
"@supports (interpolate-size: allow-keywords)": {
|
|
8939
8820
|
interpolateSize: "allow-keywords",
|
|
8940
|
-
|
|
8821
|
+
transitionProperty: "inline-size, margin-left, opacity, padding-inline",
|
|
8822
|
+
transitionDuration: "var(--transition-duration, 0.2s)"
|
|
8941
8823
|
}
|
|
8942
8824
|
},
|
|
8943
8825
|
[`&:not(:hover, :has(:focus-visible)) [data-target-id="${targetId}"]`]: {
|
|
@@ -8946,11 +8828,25 @@ var ListboxItem = styled31.div(
|
|
|
8946
8828
|
opacity: 0,
|
|
8947
8829
|
paddingInline: 0
|
|
8948
8830
|
}
|
|
8949
|
-
})),
|
|
8831
|
+
})), StyledButton2 = styled30(Button)({
|
|
8832
|
+
"&:focus-visible": {
|
|
8833
|
+
// Prevent focus outline from being cut off by overflow: hidden
|
|
8834
|
+
outlineOffset: -2
|
|
8835
|
+
}
|
|
8836
|
+
}), StyledToggleButton = styled30(ToggleButton)({
|
|
8837
|
+
"&:focus-visible": {
|
|
8838
|
+
// Prevent focus outline from being cut off by overflow: hidden
|
|
8839
|
+
outlineOffset: -2
|
|
8840
|
+
}
|
|
8841
|
+
}), ActionListButton = forwardRef6(
|
|
8842
|
+
function({ padding = "small", size = "medium", variant = "ghost", ...props }, ref) {
|
|
8843
|
+
return React16.createElement(StyledButton2, { ...props, variant, padding, size, ref });
|
|
8844
|
+
}
|
|
8845
|
+
), ActionListToggle = forwardRef6(
|
|
8950
8846
|
function({ padding = "small", size = "medium", variant = "ghost", ...props }, ref) {
|
|
8951
|
-
return
|
|
8847
|
+
return React16.createElement(StyledToggleButton, { ...props, variant, padding, size, ref });
|
|
8952
8848
|
}
|
|
8953
|
-
),
|
|
8849
|
+
), ActionListAction = styled30(ActionListButton)(({ theme }) => ({
|
|
8954
8850
|
flex: "0 1 100%",
|
|
8955
8851
|
textAlign: "start",
|
|
8956
8852
|
justifyContent: "space-between",
|
|
@@ -8958,8 +8854,15 @@ var ListboxItem = styled31.div(
|
|
|
8958
8854
|
color: "inherit",
|
|
8959
8855
|
"&:hover": {
|
|
8960
8856
|
color: "inherit"
|
|
8857
|
+
},
|
|
8858
|
+
"& input:enabled:focus-visible": {
|
|
8859
|
+
outline: "none"
|
|
8860
|
+
},
|
|
8861
|
+
"&:has(input:focus-visible)": {
|
|
8862
|
+
outline: `2px solid ${theme.color.secondary}`,
|
|
8863
|
+
outlineOffset: -2
|
|
8961
8864
|
}
|
|
8962
|
-
}),
|
|
8865
|
+
})), ActionListLink = (props) => React16.createElement(ActionListAction, { as: "a", ...props }), ActionListText = styled30.div({
|
|
8963
8866
|
display: "flex",
|
|
8964
8867
|
alignItems: "center",
|
|
8965
8868
|
gap: 8,
|
|
@@ -8984,7 +8887,7 @@ var ListboxItem = styled31.div(
|
|
|
8984
8887
|
"button > &:last-child": {
|
|
8985
8888
|
paddingRight: 0
|
|
8986
8889
|
}
|
|
8987
|
-
}),
|
|
8890
|
+
}), ActionListIcon = styled30.div({
|
|
8988
8891
|
display: "flex",
|
|
8989
8892
|
alignItems: "center",
|
|
8990
8893
|
justifyContent: "center",
|
|
@@ -8992,8 +8895,8 @@ var ListboxItem = styled31.div(
|
|
|
8992
8895
|
width: 14,
|
|
8993
8896
|
height: 14,
|
|
8994
8897
|
color: "var(--listbox-item-muted-color)"
|
|
8995
|
-
}),
|
|
8996
|
-
|
|
8898
|
+
}), ActionList = Object.assign(
|
|
8899
|
+
styled30.ul(({ theme, onClick }) => ({
|
|
8997
8900
|
listStyle: "none",
|
|
8998
8901
|
margin: 0,
|
|
8999
8902
|
padding: 4,
|
|
@@ -9003,17 +8906,170 @@ var ListboxItem = styled31.div(
|
|
|
9003
8906
|
}
|
|
9004
8907
|
})),
|
|
9005
8908
|
{
|
|
9006
|
-
Item:
|
|
9007
|
-
HoverItem:
|
|
9008
|
-
Button:
|
|
9009
|
-
|
|
9010
|
-
|
|
9011
|
-
|
|
8909
|
+
Item: ActionListItem,
|
|
8910
|
+
HoverItem: ActionListHoverItem,
|
|
8911
|
+
Button: ActionListButton,
|
|
8912
|
+
Toggle: ActionListToggle,
|
|
8913
|
+
Action: ActionListAction,
|
|
8914
|
+
Link: ActionListLink,
|
|
8915
|
+
Text: ActionListText,
|
|
8916
|
+
Icon: ActionListIcon
|
|
8917
|
+
}
|
|
8918
|
+
);
|
|
8919
|
+
|
|
8920
|
+
// src/components/components/Collapsible/Collapsible.tsx
|
|
8921
|
+
import React17, {
|
|
8922
|
+
useCallback as useCallback3,
|
|
8923
|
+
useEffect as useEffect2,
|
|
8924
|
+
useState as useState4
|
|
8925
|
+
} from "react";
|
|
8926
|
+
import { styled as styled31 } from "storybook/theming";
|
|
8927
|
+
var CollapsibleContent = styled31.div(({ collapsed = !1 }) => ({
|
|
8928
|
+
blockSize: collapsed ? 0 : "auto",
|
|
8929
|
+
contentVisibility: collapsed ? "hidden" : "visible",
|
|
8930
|
+
transform: collapsed ? "translateY(-10px)" : "translateY(0)",
|
|
8931
|
+
opacity: collapsed ? 0 : 1,
|
|
8932
|
+
overflow: "hidden",
|
|
8933
|
+
"@supports (interpolate-size: allow-keywords)": {
|
|
8934
|
+
interpolateSize: "allow-keywords",
|
|
8935
|
+
transition: "all var(--transition-duration, 0.2s)",
|
|
8936
|
+
transitionBehavior: "allow-discrete"
|
|
8937
|
+
},
|
|
8938
|
+
"@media (prefers-reduced-motion: reduce)": {
|
|
8939
|
+
transition: "none"
|
|
8940
|
+
}
|
|
8941
|
+
})), Collapsible = Object.assign(
|
|
8942
|
+
function({
|
|
8943
|
+
children,
|
|
8944
|
+
summary,
|
|
8945
|
+
collapsed,
|
|
8946
|
+
disabled,
|
|
8947
|
+
state: providedState,
|
|
8948
|
+
...props
|
|
8949
|
+
}) {
|
|
8950
|
+
let internalState = useCollapsible(collapsed, disabled), state = providedState || internalState;
|
|
8951
|
+
return React17.createElement(React17.Fragment, null, typeof summary == "function" ? summary(state) : summary, React17.createElement(
|
|
8952
|
+
CollapsibleContent,
|
|
8953
|
+
{
|
|
8954
|
+
...props,
|
|
8955
|
+
id: state.contentId,
|
|
8956
|
+
collapsed: state.isCollapsed,
|
|
8957
|
+
"aria-hidden": state.isCollapsed
|
|
8958
|
+
},
|
|
8959
|
+
typeof children == "function" ? children(state) : children
|
|
8960
|
+
));
|
|
8961
|
+
},
|
|
8962
|
+
{
|
|
8963
|
+
Content: CollapsibleContent
|
|
8964
|
+
}
|
|
8965
|
+
), useCollapsible = (collapsed, disabled) => {
|
|
8966
|
+
let [isCollapsed, setCollapsed] = useState4(!!collapsed);
|
|
8967
|
+
useEffect2(() => {
|
|
8968
|
+
collapsed !== void 0 && setCollapsed(collapsed);
|
|
8969
|
+
}, [collapsed]);
|
|
8970
|
+
let toggleCollapsed = useCallback3(
|
|
8971
|
+
(event) => {
|
|
8972
|
+
event?.stopPropagation(), disabled || setCollapsed((value) => !value);
|
|
8973
|
+
},
|
|
8974
|
+
[disabled]
|
|
8975
|
+
), contentId = $bdb11010cef70236$export$f680877a34711e37();
|
|
8976
|
+
return {
|
|
8977
|
+
contentId,
|
|
8978
|
+
isCollapsed,
|
|
8979
|
+
isDisabled: !!disabled,
|
|
8980
|
+
setCollapsed,
|
|
8981
|
+
toggleCollapsed,
|
|
8982
|
+
toggleProps: {
|
|
8983
|
+
disabled,
|
|
8984
|
+
onClick: toggleCollapsed,
|
|
8985
|
+
"aria-controls": contentId,
|
|
8986
|
+
"aria-expanded": !isCollapsed
|
|
8987
|
+
}
|
|
8988
|
+
};
|
|
8989
|
+
};
|
|
8990
|
+
|
|
8991
|
+
// src/components/components/Card/Card.tsx
|
|
8992
|
+
import React18, { forwardRef as forwardRef7 } from "react";
|
|
8993
|
+
import { keyframes, styled as styled32 } from "storybook/theming";
|
|
8994
|
+
var fadeInOut = keyframes({
|
|
8995
|
+
"0%": { opacity: 0 },
|
|
8996
|
+
"5%": { opacity: 1 },
|
|
8997
|
+
"25%": { opacity: 1 },
|
|
8998
|
+
"30%": { opacity: 0 }
|
|
8999
|
+
}), spin = keyframes({
|
|
9000
|
+
"0%": { transform: "rotate(0deg)" },
|
|
9001
|
+
"10%": { transform: "rotate(10deg)" },
|
|
9002
|
+
"40%": { transform: "rotate(170deg)" },
|
|
9003
|
+
"50%": { transform: "rotate(180deg)" },
|
|
9004
|
+
"60%": { transform: "rotate(190deg)" },
|
|
9005
|
+
"90%": { transform: "rotate(350deg)" },
|
|
9006
|
+
"100%": { transform: "rotate(360deg)" }
|
|
9007
|
+
}), slide = keyframes({
|
|
9008
|
+
to: {
|
|
9009
|
+
backgroundPositionX: "36%"
|
|
9010
|
+
}
|
|
9011
|
+
}), CardContent = styled32.div(({ theme }) => ({
|
|
9012
|
+
borderRadius: theme.appBorderRadius,
|
|
9013
|
+
backgroundColor: theme.background.content,
|
|
9014
|
+
position: "relative"
|
|
9015
|
+
})), CardOutline = styled32.div(({ animation = "none", color: color4, theme }) => ({
|
|
9016
|
+
position: "relative",
|
|
9017
|
+
width: "100%",
|
|
9018
|
+
padding: 1,
|
|
9019
|
+
overflow: "hidden",
|
|
9020
|
+
backgroundColor: theme.background.content,
|
|
9021
|
+
borderRadius: theme.appBorderRadius + 1,
|
|
9022
|
+
boxShadow: `inset 0 0 0 1px ${animation === "none" && color4 && theme.color[color4] || theme.appBorderColor}, var(--card-box-shadow, transparent 0 0)`,
|
|
9023
|
+
transition: "box-shadow 1s",
|
|
9024
|
+
"@supports (interpolate-size: allow-keywords)": {
|
|
9025
|
+
interpolateSize: "allow-keywords",
|
|
9026
|
+
transition: "all var(--transition-duration, 0.2s), box-shadow 1s",
|
|
9027
|
+
transitionBehavior: "allow-discrete"
|
|
9028
|
+
},
|
|
9029
|
+
"@media (prefers-reduced-motion: reduce)": {
|
|
9030
|
+
transition: "box-shadow 1s"
|
|
9031
|
+
},
|
|
9032
|
+
"&:before": {
|
|
9033
|
+
content: '""',
|
|
9034
|
+
display: animation === "none" ? "none" : "block",
|
|
9035
|
+
position: "absolute",
|
|
9036
|
+
left: 0,
|
|
9037
|
+
top: 0,
|
|
9038
|
+
width: "100%",
|
|
9039
|
+
height: "100%",
|
|
9040
|
+
opacity: 1,
|
|
9041
|
+
...animation === "rainbow" && {
|
|
9042
|
+
animation: `${slide} 10s infinite linear, ${fadeInOut} 60s infinite linear`,
|
|
9043
|
+
backgroundImage: "linear-gradient(45deg,rgb(234, 0, 0),rgb(255, 157, 0),rgb(255, 208, 0),rgb(0, 172, 0),rgb(0, 166, 255),rgb(181, 0, 181), rgb(234, 0, 0),rgb(255, 157, 0),rgb(255, 208, 0),rgb(0, 172, 0),rgb(0, 166, 255),rgb(181, 0, 181))",
|
|
9044
|
+
backgroundSize: "1000%",
|
|
9045
|
+
backgroundPositionX: "100%"
|
|
9046
|
+
},
|
|
9047
|
+
...animation === "spin" && {
|
|
9048
|
+
left: "50%",
|
|
9049
|
+
top: "50%",
|
|
9050
|
+
marginLeft: "calc(max(100vw, 100vh) * -0.5)",
|
|
9051
|
+
marginTop: "calc(max(100vw, 100vh) * -0.5)",
|
|
9052
|
+
height: "max(100vw, 100vh)",
|
|
9053
|
+
width: "max(100vw, 100vh)",
|
|
9054
|
+
animation: `${spin} 3s linear infinite`,
|
|
9055
|
+
backgroundImage: color4 === "negative" ? (
|
|
9056
|
+
// Hardcoded colors to prevent themes from messing with them (orange+gold, secondary+seafoam)
|
|
9057
|
+
"conic-gradient(transparent 90deg, #FC521F 150deg, #FFAE00 210deg, transparent 270deg)"
|
|
9058
|
+
) : "conic-gradient(transparent 90deg, #029CFD 150deg, #37D5D3 210deg, transparent 270deg)"
|
|
9059
|
+
}
|
|
9060
|
+
}
|
|
9061
|
+
})), Card = Object.assign(
|
|
9062
|
+
forwardRef7(function({ outlineAnimation = "none", outlineColor, ...props }, ref) {
|
|
9063
|
+
return React18.createElement(CardOutline, { animation: outlineAnimation, color: outlineColor, ref }, React18.createElement(CardContent, { ...props }));
|
|
9064
|
+
}),
|
|
9065
|
+
{
|
|
9066
|
+
Content: CardContent,
|
|
9067
|
+
Outline: CardOutline
|
|
9012
9068
|
}
|
|
9013
9069
|
);
|
|
9014
9070
|
|
|
9015
9071
|
// src/components/components/Modal/Modal.tsx
|
|
9016
|
-
import
|
|
9072
|
+
import React20, { createContext, useEffect as useEffect4, useRef as useRef3, useState as useState8 } from "react";
|
|
9017
9073
|
import { deprecate as deprecate4 } from "storybook/internal/client-logger";
|
|
9018
9074
|
|
|
9019
9075
|
// ../node_modules/react-transition-state/dist/esm/hooks/useTransitionState.mjs
|
|
@@ -9116,7 +9172,7 @@ __export(Modal_styled_exports, {
|
|
|
9116
9172
|
Row: () => Row,
|
|
9117
9173
|
Title: () => Title
|
|
9118
9174
|
});
|
|
9119
|
-
import
|
|
9175
|
+
import React19, { useContext } from "react";
|
|
9120
9176
|
import { deprecate as deprecate3 } from "storybook/internal/client-logger";
|
|
9121
9177
|
import { CrossIcon } from "@storybook/icons";
|
|
9122
9178
|
|
|
@@ -9149,7 +9205,7 @@ var $514c0188e459b4c0$export$9afb8bc826b033ea = $1B3Dx$createContext({}), $514c0
|
|
|
9149
9205
|
});
|
|
9150
9206
|
|
|
9151
9207
|
// src/components/components/Modal/Modal.styled.tsx
|
|
9152
|
-
import { keyframes as keyframes2, styled as
|
|
9208
|
+
import { keyframes as keyframes2, styled as styled33 } from "storybook/theming";
|
|
9153
9209
|
var fadeIn = keyframes2({
|
|
9154
9210
|
from: { opacity: 0 },
|
|
9155
9211
|
to: { opacity: 1 }
|
|
@@ -9195,7 +9251,7 @@ var fadeIn = keyframes2({
|
|
|
9195
9251
|
opacity: 0,
|
|
9196
9252
|
maxHeight: "0px"
|
|
9197
9253
|
}
|
|
9198
|
-
}), Overlay =
|
|
9254
|
+
}), Overlay = styled33.div(({ $status, $transitionDuration }) => ({
|
|
9199
9255
|
backdropFilter: "blur(24px)",
|
|
9200
9256
|
background: "rgba(0, 0, 0, 0.4)",
|
|
9201
9257
|
position: "absolute",
|
|
@@ -9207,7 +9263,7 @@ var fadeIn = keyframes2({
|
|
|
9207
9263
|
animation: $status === "exiting" || $status === "preExit" ? `${fadeOut} ${$transitionDuration}ms` : `${fadeIn} ${$transitionDuration}ms`,
|
|
9208
9264
|
animationFillMode: "forwards"
|
|
9209
9265
|
}
|
|
9210
|
-
})), Container2 =
|
|
9266
|
+
})), Container2 = styled33.div(
|
|
9211
9267
|
({ theme }) => ({
|
|
9212
9268
|
backgroundColor: theme.background.bar,
|
|
9213
9269
|
borderRadius: 6,
|
|
@@ -9253,16 +9309,16 @@ var fadeIn = keyframes2({
|
|
|
9253
9309
|
}
|
|
9254
9310
|
), Close = ({ asChild, children, onClick, ...props }) => {
|
|
9255
9311
|
let { close } = useContext(ModalContext);
|
|
9256
|
-
if (asChild &&
|
|
9312
|
+
if (asChild && React19.isValidElement(children)) {
|
|
9257
9313
|
let handleClick = (event) => {
|
|
9258
9314
|
onClick?.(event), children.props.onClick?.(event), close?.();
|
|
9259
9315
|
};
|
|
9260
|
-
return
|
|
9316
|
+
return React19.cloneElement(children, {
|
|
9261
9317
|
...props,
|
|
9262
9318
|
onClick: handleClick
|
|
9263
9319
|
});
|
|
9264
9320
|
}
|
|
9265
|
-
return
|
|
9321
|
+
return React19.createElement(
|
|
9266
9322
|
Button,
|
|
9267
9323
|
{
|
|
9268
9324
|
padding: "small",
|
|
@@ -9271,20 +9327,20 @@ var fadeIn = keyframes2({
|
|
|
9271
9327
|
shortcut: ["Escape"],
|
|
9272
9328
|
onClick: close
|
|
9273
9329
|
},
|
|
9274
|
-
|
|
9330
|
+
React19.createElement(CrossIcon, null)
|
|
9275
9331
|
);
|
|
9276
9332
|
}, Dialog = {
|
|
9277
|
-
Close: () => (deprecate3("Modal.Dialog.Close is deprecated, please use Modal.Close instead."),
|
|
9278
|
-
}, CloseButton = ({ ariaLabel, ...props }) => (deprecate3("Modal.CloseButton is deprecated, please use Modal.Close instead."),
|
|
9333
|
+
Close: () => (deprecate3("Modal.Dialog.Close is deprecated, please use Modal.Close instead."), React19.createElement(Close, { "data-deprecated": "Modal.Dialog.Close" }))
|
|
9334
|
+
}, CloseButton = ({ ariaLabel, ...props }) => (deprecate3("Modal.CloseButton is deprecated, please use Modal.Close instead."), React19.createElement(Close, { asChild: !0 }, React19.createElement(Button, { ariaLabel: ariaLabel || "Close", "data-deprecated": "Modal.CloseButton", ...props }, React19.createElement(CrossIcon, null)))), Content = styled33.div({
|
|
9279
9335
|
display: "flex",
|
|
9280
9336
|
flexDirection: "column",
|
|
9281
9337
|
margin: 16,
|
|
9282
9338
|
gap: 16
|
|
9283
|
-
}), Row =
|
|
9339
|
+
}), Row = styled33.div({
|
|
9284
9340
|
display: "flex",
|
|
9285
9341
|
justifyContent: "space-between",
|
|
9286
9342
|
gap: 16
|
|
9287
|
-
}), Col =
|
|
9343
|
+
}), Col = styled33.div({
|
|
9288
9344
|
display: "flex",
|
|
9289
9345
|
flexDirection: "column",
|
|
9290
9346
|
gap: 4
|
|
@@ -9292,20 +9348,20 @@ var fadeIn = keyframes2({
|
|
|
9292
9348
|
hasClose = !0,
|
|
9293
9349
|
onClose,
|
|
9294
9350
|
...props
|
|
9295
|
-
}) =>
|
|
9351
|
+
}) => React19.createElement(Row, null, React19.createElement(Col, { ...props }), hasClose && React19.createElement(Close, { onClick: onClose })), Title = styled33((props) => React19.createElement($5cb03073d3f54797$export$a8a3e93435678ff9, { level: 2, ...props }))(({ theme }) => ({
|
|
9296
9352
|
margin: 0,
|
|
9297
9353
|
fontSize: theme.typography.size.s3,
|
|
9298
9354
|
fontWeight: theme.typography.weight.bold
|
|
9299
|
-
})), Description =
|
|
9355
|
+
})), Description = styled33($514c0188e459b4c0$export$5f1af8db9871e1d6)(({ theme }) => ({
|
|
9300
9356
|
position: "relative",
|
|
9301
9357
|
zIndex: 1,
|
|
9302
9358
|
margin: 0,
|
|
9303
9359
|
fontSize: theme.typography.size.s2
|
|
9304
|
-
})), Actions =
|
|
9360
|
+
})), Actions = styled33.div({
|
|
9305
9361
|
display: "flex",
|
|
9306
9362
|
flexDirection: "row-reverse",
|
|
9307
9363
|
gap: 8
|
|
9308
|
-
}), ErrorWrapper =
|
|
9364
|
+
}), ErrorWrapper = styled33.div(({ theme }) => ({
|
|
9309
9365
|
maxHeight: 100,
|
|
9310
9366
|
overflow: "auto",
|
|
9311
9367
|
"@media (prefers-reduced-motion: no-preference)": {
|
|
@@ -9321,7 +9377,7 @@ var fadeIn = keyframes2({
|
|
|
9321
9377
|
})), Error2 = ({
|
|
9322
9378
|
children,
|
|
9323
9379
|
...props
|
|
9324
|
-
}) =>
|
|
9380
|
+
}) => React19.createElement(ErrorWrapper, { ...props }, React19.createElement("div", null, children));
|
|
9325
9381
|
|
|
9326
9382
|
// src/components/components/Modal/Modal.tsx
|
|
9327
9383
|
var ModalContext = createContext({});
|
|
@@ -9344,11 +9400,12 @@ function BaseModal({
|
|
|
9344
9400
|
variant = "dialog",
|
|
9345
9401
|
...props
|
|
9346
9402
|
}) {
|
|
9347
|
-
|
|
9403
|
+
let deprecated;
|
|
9404
|
+
(ariaLabel === void 0 || ariaLabel === "") && (deprecated = "ariaLabel", deprecate4("The `ariaLabel` prop on `Modal` will become mandatory in Storybook 11.")), onEscapeKeyDown !== void 0 && (deprecated = "onEscapeKeyDown", deprecate4(
|
|
9348
9405
|
"The `onEscapeKeyDown` prop is deprecated and will be removed in Storybook 11. Use `dismissOnEscape` instead."
|
|
9349
|
-
), onInteractOutside !== void 0 && deprecate4(
|
|
9406
|
+
)), onInteractOutside !== void 0 && (deprecated = "onInteractOutside", deprecate4(
|
|
9350
9407
|
"The `onInteractOutside` prop is deprecated and will be removed in Storybook 11. Use `dismissOnInteractOutside` instead."
|
|
9351
|
-
);
|
|
9408
|
+
));
|
|
9352
9409
|
let overlayRef = useRef3(null), reducedMotion = useMediaQuery("(prefers-reduced-motion: reduce)"), [{ status, isMounted }, toggle] = useTransitionState({
|
|
9353
9410
|
timeout: reducedMotion ? 0 : transitionDuration,
|
|
9354
9411
|
mountOnEnter: !0,
|
|
@@ -9389,16 +9446,17 @@ function BaseModal({
|
|
|
9389
9446
|
e.key !== "Escape" ? modalProps.onKeyDown?.(e) : dismissOnEscape && (onEscapeKeyDown?.(e.nativeEvent), e.nativeEvent.defaultPrevented || close());
|
|
9390
9447
|
}
|
|
9391
9448
|
}), containerElement = container ?? (portalSelector ? document.querySelector(portalSelector) : void 0);
|
|
9392
|
-
return
|
|
9449
|
+
return React20.createElement($337b884510726a0d$export$c6fdb837b070b4ff, { disableFocusManagement: !0, portalContainer: containerElement || void 0 }, React20.createElement($9bf71ea28793e738$export$20e40289641fbbb6, { restoreFocus: !0, contain: !0, autoFocus: !0 }, React20.createElement(
|
|
9393
9450
|
Overlay,
|
|
9394
9451
|
{
|
|
9395
9452
|
$status: status,
|
|
9396
9453
|
$transitionDuration: transitionDuration,
|
|
9397
9454
|
...underlayProps
|
|
9398
9455
|
}
|
|
9399
|
-
),
|
|
9456
|
+
), React20.createElement("div", { role: "dialog", "aria-label": ariaLabel, ref: overlayRef, ...finalModalProps }, React20.createElement(ModalContext.Provider, { value: { close } }, React20.createElement(
|
|
9400
9457
|
Container2,
|
|
9401
9458
|
{
|
|
9459
|
+
"data-deprecated": deprecated,
|
|
9402
9460
|
$variant: variant,
|
|
9403
9461
|
$status: status,
|
|
9404
9462
|
$transitionDuration: transitionDuration,
|
|
@@ -9412,7 +9470,7 @@ function BaseModal({
|
|
|
9412
9470
|
}
|
|
9413
9471
|
var Modal = Object.assign(BaseModal, Modal_styled_exports), ModalDecorator = (Story, { args }) => {
|
|
9414
9472
|
let [container, setContainer] = useState8(null);
|
|
9415
|
-
return args.container || args.portalSelector ?
|
|
9473
|
+
return args.container || args.portalSelector ? React20.createElement(Story, { args }) : React20.createElement(React20.Fragment, null, React20.createElement($96b38030c423d352$export$78efe591171d7d45, { getContainer: () => container }, React20.createElement(Story, { args })), React20.createElement(
|
|
9416
9474
|
"div",
|
|
9417
9475
|
{
|
|
9418
9476
|
ref: (element) => setContainer(element ?? null),
|
|
@@ -9427,9 +9485,9 @@ var Modal = Object.assign(BaseModal, Modal_styled_exports), ModalDecorator = (St
|
|
|
9427
9485
|
};
|
|
9428
9486
|
|
|
9429
9487
|
// src/components/components/spaced/Spaced.tsx
|
|
9430
|
-
import
|
|
9431
|
-
import { ignoreSsrWarning, styled as
|
|
9432
|
-
var toNumber = (input) => typeof input == "number" ? input : Number(input), Container3 =
|
|
9488
|
+
import React21 from "react";
|
|
9489
|
+
import { ignoreSsrWarning, styled as styled34 } from "storybook/theming";
|
|
9490
|
+
var toNumber = (input) => typeof input == "number" ? input : Number(input), Container3 = styled34.div(
|
|
9433
9491
|
({ theme, col, row = 1 }) => col ? {
|
|
9434
9492
|
display: "inline-block",
|
|
9435
9493
|
verticalAlign: "inherit",
|
|
@@ -9466,27 +9524,27 @@ var toNumber = (input) => typeof input == "number" ? input : Number(input), Cont
|
|
|
9466
9524
|
}
|
|
9467
9525
|
), Spaced = ({ col, row, outer, children, ...rest }) => {
|
|
9468
9526
|
let outerAmount = toNumber(typeof outer == "number" || !outer ? outer : col || row);
|
|
9469
|
-
return
|
|
9527
|
+
return React21.createElement(Container3, { col, row, outer: outerAmount, ...rest }, children);
|
|
9470
9528
|
};
|
|
9471
9529
|
|
|
9472
9530
|
// src/components/components/placeholder/placeholder.tsx
|
|
9473
|
-
import
|
|
9474
|
-
import { styled as
|
|
9475
|
-
var Title2 =
|
|
9531
|
+
import React22, { Children as Children3 } from "react";
|
|
9532
|
+
import { styled as styled35 } from "storybook/theming";
|
|
9533
|
+
var Title2 = styled35.div(({ theme }) => ({
|
|
9476
9534
|
fontWeight: theme.typography.weight.bold
|
|
9477
|
-
})), Desc =
|
|
9535
|
+
})), Desc = styled35.div(), Message = styled35.div(({ theme }) => ({
|
|
9478
9536
|
padding: 30,
|
|
9479
9537
|
textAlign: "center",
|
|
9480
9538
|
color: theme.color.defaultText,
|
|
9481
9539
|
fontSize: theme.typography.size.s2 - 1
|
|
9482
9540
|
})), Placeholder = ({ children, ...props }) => {
|
|
9483
9541
|
let [title, desc] = Children3.toArray(children);
|
|
9484
|
-
return
|
|
9542
|
+
return React22.createElement(Message, { ...props }, React22.createElement(Title2, null, title), desc && React22.createElement(Desc, null, desc));
|
|
9485
9543
|
};
|
|
9486
9544
|
|
|
9487
9545
|
// src/components/components/Zoom/ZoomElement.tsx
|
|
9488
|
-
import
|
|
9489
|
-
import { styled as
|
|
9546
|
+
import React23, { useCallback as useCallback7, useEffect as useEffect6, useRef as useRef5, useState as useState10 } from "react";
|
|
9547
|
+
import { styled as styled36 } from "storybook/theming";
|
|
9490
9548
|
|
|
9491
9549
|
// ../node_modules/use-resize-observer/dist/bundle.esm.js
|
|
9492
9550
|
import { useRef as useRef4, useEffect as useEffect5, useCallback as useCallback6, useState as useState9, useMemo as useMemo3 } from "react";
|
|
@@ -9569,7 +9627,7 @@ function useResizeObserver(opts) {
|
|
|
9569
9627
|
}
|
|
9570
9628
|
|
|
9571
9629
|
// src/components/components/Zoom/ZoomElement.tsx
|
|
9572
|
-
var ZoomElementWrapper =
|
|
9630
|
+
var ZoomElementWrapper = styled36.div(
|
|
9573
9631
|
({ centered = !1, scale = 1, elementHeight }) => ({
|
|
9574
9632
|
height: elementHeight || "auto",
|
|
9575
9633
|
transformOrigin: centered ? "center top" : "left top",
|
|
@@ -9588,11 +9646,11 @@ function ZoomElement({ centered, scale, children }) {
|
|
|
9588
9646
|
}, [scale]), useResizeObserver({
|
|
9589
9647
|
ref: componentWrapperRef,
|
|
9590
9648
|
onResize
|
|
9591
|
-
}),
|
|
9649
|
+
}), React23.createElement(ZoomElementWrapper, { centered, scale, elementHeight }, React23.createElement("div", { ref: componentWrapperRef, className: "innerZoomElementWrapper" }, children));
|
|
9592
9650
|
}
|
|
9593
9651
|
|
|
9594
9652
|
// src/components/components/Zoom/ZoomIFrame.tsx
|
|
9595
|
-
import
|
|
9653
|
+
import React24, { Component } from "react";
|
|
9596
9654
|
var ZoomIFrame = class extends Component {
|
|
9597
9655
|
constructor() {
|
|
9598
9656
|
super(...arguments);
|
|
@@ -9629,7 +9687,7 @@ var ZoomIFrame = class extends Component {
|
|
|
9629
9687
|
}
|
|
9630
9688
|
render() {
|
|
9631
9689
|
let { children } = this.props;
|
|
9632
|
-
return
|
|
9690
|
+
return React24.createElement(React24.Fragment, null, children);
|
|
9633
9691
|
}
|
|
9634
9692
|
};
|
|
9635
9693
|
|
|
@@ -9640,28 +9698,28 @@ var Zoom = {
|
|
|
9640
9698
|
};
|
|
9641
9699
|
|
|
9642
9700
|
// src/components/components/ErrorFormatter/ErrorFormatter.tsx
|
|
9643
|
-
import
|
|
9701
|
+
import React25, { Fragment as Fragment3 } from "react";
|
|
9644
9702
|
import { global } from "@storybook/global";
|
|
9645
|
-
import { styled as
|
|
9646
|
-
var { document: document2 } = global, ErrorName =
|
|
9703
|
+
import { styled as styled37 } from "storybook/theming";
|
|
9704
|
+
var { document: document2 } = global, ErrorName = styled37.strong(({ theme }) => ({
|
|
9647
9705
|
color: theme.color.orange
|
|
9648
|
-
})), ErrorImportant =
|
|
9706
|
+
})), ErrorImportant = styled37.strong(({ theme }) => ({
|
|
9649
9707
|
color: theme.color.ancillary,
|
|
9650
9708
|
textDecoration: "underline"
|
|
9651
|
-
})), ErrorDetail =
|
|
9709
|
+
})), ErrorDetail = styled37.em(({ theme }) => ({
|
|
9652
9710
|
color: theme.textMutedColor
|
|
9653
9711
|
})), firstLineRegex = /(Error): (.*)\n/, linesRegexChromium = /at (?:(.*) )?\(?(.+)\)?/, linesRegexFirefox = /([^@]+)?(?:\/<)?@(.+)?/, linesRegexSafari = /([^@]+)?@(.+)?/, ErrorFormatter = ({ error }) => {
|
|
9654
9712
|
if (!error)
|
|
9655
|
-
return
|
|
9713
|
+
return React25.createElement(Fragment3, null, "This error has no stack or message");
|
|
9656
9714
|
if (!error.stack)
|
|
9657
|
-
return
|
|
9715
|
+
return React25.createElement(Fragment3, null, error.message || "This error has no stack or message");
|
|
9658
9716
|
let input = error.stack.toString();
|
|
9659
9717
|
input && error.message && !input.includes(error.message) && (input = `Error: ${error.message}
|
|
9660
9718
|
|
|
9661
9719
|
${input}`);
|
|
9662
9720
|
let match = input.match(firstLineRegex);
|
|
9663
9721
|
if (!match)
|
|
9664
|
-
return
|
|
9722
|
+
return React25.createElement(Fragment3, null, input);
|
|
9665
9723
|
let [, type, name] = match, rawLines = input.split(/\n/).slice(1), [, ...lines] = rawLines.map((line) => {
|
|
9666
9724
|
let result = line.match(linesRegexChromium) || line.match(linesRegexFirefox) || line.match(linesRegexSafari);
|
|
9667
9725
|
return result ? {
|
|
@@ -9669,37 +9727,11 @@ ${input}`);
|
|
|
9669
9727
|
location: result[2].replace(document2.location.origin, "")
|
|
9670
9728
|
} : null;
|
|
9671
9729
|
}).filter(Boolean);
|
|
9672
|
-
return
|
|
9673
|
-
(l, i) => l?.name ?
|
|
9730
|
+
return React25.createElement(Fragment3, null, React25.createElement("span", null, type), ": ", React25.createElement(ErrorName, null, name), React25.createElement("br", null), lines.map(
|
|
9731
|
+
(l, i) => l?.name ? React25.createElement(Fragment3, { key: i }, " ", "at ", React25.createElement(ErrorImportant, null, l.name), " (", React25.createElement(ErrorDetail, null, l.location), ")", React25.createElement("br", null)) : React25.createElement(Fragment3, { key: i }, " ", "at ", React25.createElement(ErrorDetail, null, l?.location), React25.createElement("br", null))
|
|
9674
9732
|
));
|
|
9675
9733
|
};
|
|
9676
9734
|
|
|
9677
|
-
// src/components/components/ToggleButton/ToggleButton.tsx
|
|
9678
|
-
import React25, { forwardRef as forwardRef7 } from "react";
|
|
9679
|
-
import { styled as styled37 } from "storybook/theming";
|
|
9680
|
-
var ToggleButton = forwardRef7(
|
|
9681
|
-
({ pressed, ...props }, ref) => React25.createElement(StyledToggle, { role: "switch", "aria-checked": pressed, ref, pressed, ...props })
|
|
9682
|
-
);
|
|
9683
|
-
ToggleButton.displayName = "ToggleButton";
|
|
9684
|
-
var StyledToggle = styled37(Button)(
|
|
9685
|
-
({ theme, variant = "outline", pressed }) => ({
|
|
9686
|
-
...pressed ? {
|
|
9687
|
-
...variant === "solid" ? {
|
|
9688
|
-
background: theme.base === "lighten" ? curriedDarken$1(0.1, theme.color.secondary) : curriedDarken$1(0.2, theme.color.secondary)
|
|
9689
|
-
} : {},
|
|
9690
|
-
...variant === "outline" ? {
|
|
9691
|
-
background: curriedTransparentize$1(0.94, theme.barSelectedColor),
|
|
9692
|
-
boxShadow: `${theme.barSelectedColor} 0 0 0 1px inset`,
|
|
9693
|
-
color: theme.barSelectedColor
|
|
9694
|
-
} : {},
|
|
9695
|
-
...variant === "ghost" ? {
|
|
9696
|
-
background: curriedTransparentize$1(0.93, theme.barSelectedColor),
|
|
9697
|
-
color: theme.base === "light" ? curriedDarken$1(0.1, theme.color.secondary) : theme.color.secondary
|
|
9698
|
-
} : {}
|
|
9699
|
-
} : {}
|
|
9700
|
-
})
|
|
9701
|
-
);
|
|
9702
|
-
|
|
9703
9735
|
// src/components/components/Select/Select.tsx
|
|
9704
9736
|
import React37, { forwardRef as forwardRef12, useCallback as useCallback8, useEffect as useEffect7, useMemo as useMemo4, useRef as useRef7, useState as useState11 } from "react";
|
|
9705
9737
|
import { RefreshIcon } from "@storybook/icons";
|
|
@@ -10375,7 +10407,28 @@ SelectOption.displayName = "SelectOption";
|
|
|
10375
10407
|
|
|
10376
10408
|
// src/components/components/Select/helpers.tsx
|
|
10377
10409
|
import { styled as styled47 } from "storybook/theming";
|
|
10378
|
-
var PAGE_STEP_SIZE = 5,
|
|
10410
|
+
var PAGE_STEP_SIZE = 5, UNDEFINED_VALUE = Symbol.for("undefined");
|
|
10411
|
+
function isLiteralValue(value) {
|
|
10412
|
+
return value == null || typeof value == "string" || typeof value == "number" || typeof value == "boolean" || typeof value == "symbol";
|
|
10413
|
+
}
|
|
10414
|
+
function optionToInternal(option) {
|
|
10415
|
+
return {
|
|
10416
|
+
...option,
|
|
10417
|
+
type: "option",
|
|
10418
|
+
value: externalToValue(option.value)
|
|
10419
|
+
};
|
|
10420
|
+
}
|
|
10421
|
+
function optionOrResetToInternal(option) {
|
|
10422
|
+
return "type" in option && option.type === "reset" ? option : optionToInternal(option);
|
|
10423
|
+
}
|
|
10424
|
+
function valueToExternal(value) {
|
|
10425
|
+
if (value !== UNDEFINED_VALUE)
|
|
10426
|
+
return value;
|
|
10427
|
+
}
|
|
10428
|
+
function externalToValue(value) {
|
|
10429
|
+
return value === void 0 ? UNDEFINED_VALUE : value;
|
|
10430
|
+
}
|
|
10431
|
+
var Listbox = styled47("ul")({
|
|
10379
10432
|
minWidth: 180,
|
|
10380
10433
|
height: "100%",
|
|
10381
10434
|
borderRadius: 6,
|
|
@@ -10387,7 +10440,7 @@ var PAGE_STEP_SIZE = 5, Listbox2 = styled47("ul")({
|
|
|
10387
10440
|
|
|
10388
10441
|
// src/components/components/Select/Select.tsx
|
|
10389
10442
|
function valueToId(parentId, { value }) {
|
|
10390
|
-
return `${parentId}-opt-${value ?? "sb-reset"}`;
|
|
10443
|
+
return `${parentId}-opt-${String(value) ?? "sb-reset"}`;
|
|
10391
10444
|
}
|
|
10392
10445
|
var SelectedOptionCount = styled48.span(({ theme }) => ({
|
|
10393
10446
|
appearance: "none",
|
|
@@ -10395,9 +10448,9 @@ var SelectedOptionCount = styled48.span(({ theme }) => ({
|
|
|
10395
10448
|
fontSize: 12
|
|
10396
10449
|
}));
|
|
10397
10450
|
function setSelectedFromDefault(options, defaultOptions) {
|
|
10398
|
-
return defaultOptions ?
|
|
10451
|
+
return defaultOptions === void 0 ? [] : isLiteralValue(defaultOptions) ? options.filter((opt) => opt.value === defaultOptions).map(optionToInternal) : options.filter((opt) => defaultOptions.some((def) => opt.value === def)).map(optionToInternal);
|
|
10399
10452
|
}
|
|
10400
|
-
var
|
|
10453
|
+
var StyledButton3 = styled48(Button)(
|
|
10401
10454
|
({ $isOpen: isOpen, $hasSelection: hasSelection, theme }) => isOpen || hasSelection ? {
|
|
10402
10455
|
boxShadow: "none",
|
|
10403
10456
|
background: curriedTransparentize$1(0.93, theme.barSelectedColor),
|
|
@@ -10468,14 +10521,15 @@ var StyledButton2 = styled48(Button)(
|
|
|
10468
10521
|
setSelectedFromDefault(calleeOptions, defaultOptions)
|
|
10469
10522
|
), handleSelectOption = useCallback8(
|
|
10470
10523
|
(option) => {
|
|
10471
|
-
option.
|
|
10524
|
+
option.type === "reset" ? selectedOptions.length && (onChange?.([]), onReset?.(), setSelectedOptions([])) : setSelectedOptions(multiSelect ? (previous) => {
|
|
10472
10525
|
let newSelected = [];
|
|
10473
|
-
return previous?.some((opt) => opt.value === option.value) ? (onDeselect?.(option.value), newSelected = previous?.filter((opt) => opt.value !== option.value) ?? []) : (onSelect?.(option.value), newSelected = [...previous ?? [], option]), onChange?.(newSelected.map((opt) => opt.value)), newSelected;
|
|
10474
|
-
} : (current) => current.every((opt) => opt.value !== option.value) ? (onSelect?.(option.value), onChange?.([option.value]), [option]) : current);
|
|
10526
|
+
return previous?.some((opt) => opt.value === option.value) ? (onDeselect?.(valueToExternal(option.value)), newSelected = previous?.filter((opt) => opt.value !== option.value) ?? []) : (onSelect?.(valueToExternal(option.value)), newSelected = [...previous ?? [], option]), onChange?.(newSelected.map((opt) => valueToExternal(opt.value))), newSelected;
|
|
10527
|
+
} : (current) => current.every((opt) => opt.value !== option.value) ? (onSelect?.(valueToExternal(option.value)), onChange?.([valueToExternal(option.value)]), [option]) : current);
|
|
10475
10528
|
},
|
|
10476
10529
|
[multiSelect, onChange, onSelect, onDeselect, onReset, selectedOptions]
|
|
10477
10530
|
), resetOption = useMemo4(
|
|
10478
10531
|
() => onReset ? {
|
|
10532
|
+
type: "reset",
|
|
10479
10533
|
value: void 0,
|
|
10480
10534
|
title: resetLabel ?? "Reset selection",
|
|
10481
10535
|
icon: React37.createElement(RefreshIcon, null),
|
|
@@ -10494,7 +10548,7 @@ var StyledButton2 = styled48(Button)(
|
|
|
10494
10548
|
void 0
|
|
10495
10549
|
), setActiveOption = useCallback8(
|
|
10496
10550
|
(option) => {
|
|
10497
|
-
setActiveOptionState(option), multiSelect || handleSelectOption(option);
|
|
10551
|
+
setActiveOptionState(optionOrResetToInternal(option)), multiSelect || handleSelectOption(optionOrResetToInternal(option));
|
|
10498
10552
|
},
|
|
10499
10553
|
[multiSelect, handleSelectOption]
|
|
10500
10554
|
), moveActiveOptionDown = useCallback8(
|
|
@@ -10503,7 +10557,9 @@ var StyledButton2 = styled48(Button)(
|
|
|
10503
10557
|
setActiveOption(options[step === 1 ? 0 : Math.min(step, options.length - 1)]);
|
|
10504
10558
|
return;
|
|
10505
10559
|
}
|
|
10506
|
-
let currentIndex = options.findIndex(
|
|
10560
|
+
let currentIndex = options.findIndex(
|
|
10561
|
+
(option) => externalToValue(option.value) === activeOption.value
|
|
10562
|
+
), nextIndex = currentIndex + step, newActiveOption;
|
|
10507
10563
|
nextIndex >= options.length && currentIndex === options.length - 1 ? newActiveOption = options[0] : newActiveOption = options[Math.min(options.length - 1, nextIndex)], setActiveOption(newActiveOption);
|
|
10508
10564
|
},
|
|
10509
10565
|
[isOpen, activeOption, setActiveOption, options]
|
|
@@ -10513,7 +10569,9 @@ var StyledButton2 = styled48(Button)(
|
|
|
10513
10569
|
setActiveOption(options[Math.max(0, options.length - step)]);
|
|
10514
10570
|
return;
|
|
10515
10571
|
}
|
|
10516
|
-
let currentIndex = options.findIndex(
|
|
10572
|
+
let currentIndex = options.findIndex(
|
|
10573
|
+
(option) => externalToValue(option.value) === activeOption.value
|
|
10574
|
+
), nextIndex = currentIndex - step, newActiveOption;
|
|
10517
10575
|
nextIndex < 0 && currentIndex === 0 ? newActiveOption = options[options.length - 1] : newActiveOption = options[Math.max(0, nextIndex)], setActiveOption(newActiveOption);
|
|
10518
10576
|
},
|
|
10519
10577
|
[isOpen, activeOption, setActiveOption, options]
|
|
@@ -10522,7 +10580,7 @@ var StyledButton2 = styled48(Button)(
|
|
|
10522
10580
|
let openAt = (index3) => {
|
|
10523
10581
|
e.preventDefault(), setActiveOption(options[index3]), setIsOpen(!0);
|
|
10524
10582
|
}, indexOfFirstSelected = options.findIndex(
|
|
10525
|
-
(option) => selectedOptions.some((sel) => sel.value === option.value)
|
|
10583
|
+
(option) => selectedOptions.some((sel) => sel.value === externalToValue(option.value))
|
|
10526
10584
|
), hasSelection = indexOfFirstSelected !== -1, listStart = resetOption && !hasSelection ? 1 : 0, listEnd = options.length - 1;
|
|
10527
10585
|
e.key === "Enter" || e.key === " " ? openAt(hasSelection ? Math.min(indexOfFirstSelected, listEnd) : listStart) : e.key === "ArrowDown" ? openAt(hasSelection ? Math.min(indexOfFirstSelected + 1, listEnd) : listStart) : e.key === "ArrowUp" ? openAt(hasSelection ? Math.max(indexOfFirstSelected - 1, listStart) : listEnd) : e.key === "Home" ? openAt(listStart) : e.key === "End" ? openAt(listEnd) : e.key === "PageDown" ? openAt(
|
|
10528
10586
|
Math.min((hasSelection ? indexOfFirstSelected : listStart) + PAGE_STEP_SIZE, listEnd)
|
|
@@ -10543,7 +10601,7 @@ var StyledButton2 = styled48(Button)(
|
|
|
10543
10601
|
}, [isOpen, activeOption, id]);
|
|
10544
10602
|
let finalAriaLabel = useMemo4(() => selectedOptions.length === 1 ? `${ariaLabel} ${selectedOptions[0].title}` : selectedOptions.length ? `${ariaLabel}, ${selectedOptions.length} values selected` : ariaLabel, [ariaLabel, selectedOptions]);
|
|
10545
10603
|
return React37.createElement(React37.Fragment, null, React37.createElement(
|
|
10546
|
-
|
|
10604
|
+
StyledButton3,
|
|
10547
10605
|
{
|
|
10548
10606
|
...props,
|
|
10549
10607
|
variant: "ghost",
|
|
@@ -10576,7 +10634,7 @@ var StyledButton2 = styled48(Button)(
|
|
|
10576
10634
|
selectedOptions?.length
|
|
10577
10635
|
))
|
|
10578
10636
|
), otState.isOpen && React37.createElement(MinimalistPopover, { handleClose, triggerRef }, React37.createElement(
|
|
10579
|
-
|
|
10637
|
+
Listbox,
|
|
10580
10638
|
{
|
|
10581
10639
|
"aria-label": ariaLabel,
|
|
10582
10640
|
role: "listbox",
|
|
@@ -10586,17 +10644,20 @@ var StyledButton2 = styled48(Button)(
|
|
|
10586
10644
|
onKeyDown: handleListboxKeyDown,
|
|
10587
10645
|
tabIndex: isOpen ? 0 : -1
|
|
10588
10646
|
},
|
|
10589
|
-
options.map((
|
|
10647
|
+
options.map((opt) => ({
|
|
10648
|
+
option: optionOrResetToInternal(opt),
|
|
10649
|
+
externalOption: opt
|
|
10650
|
+
})).map(({ externalOption, option }) => {
|
|
10590
10651
|
let isSelected = selectedOptions?.some((sel) => sel.value === option.value) && option !== resetOption, isReset = option === resetOption;
|
|
10591
10652
|
return React37.createElement(
|
|
10592
10653
|
SelectOption,
|
|
10593
10654
|
{
|
|
10594
|
-
key: option.value
|
|
10655
|
+
key: option.value === void 0 ? "sb-reset" : String(option.value),
|
|
10595
10656
|
title: option.title,
|
|
10596
10657
|
description: option.description,
|
|
10597
10658
|
icon: !isReset && multiSelect ? (
|
|
10598
10659
|
// Purely decorative.
|
|
10599
|
-
React37.createElement(Form.Checkbox, { checked: isSelected, hidden: !0 })
|
|
10660
|
+
React37.createElement(Form.Checkbox, { checked: isSelected, hidden: !0, role: "presentation" })
|
|
10600
10661
|
) : option.icon,
|
|
10601
10662
|
id: valueToId(id, option),
|
|
10602
10663
|
isActive: isOpen && activeOption?.value === option.value,
|
|
@@ -10604,7 +10665,7 @@ var StyledButton2 = styled48(Button)(
|
|
|
10604
10665
|
onClick: () => {
|
|
10605
10666
|
handleSelectOption(option), multiSelect || handleClose();
|
|
10606
10667
|
},
|
|
10607
|
-
onFocus: () => setActiveOption(
|
|
10668
|
+
onFocus: () => setActiveOption(externalOption),
|
|
10608
10669
|
shouldLookDisabled: isReset && selectedOptions.length === 0 && multiSelect,
|
|
10609
10670
|
onKeyDown: (e) => {
|
|
10610
10671
|
e.key === "Enter" || e.key === " " ? (e.preventDefault(), handleSelectOption(option), multiSelect || handleClose()) : e.key === "Tab" && (multiSelect || handleSelectOption(option), handleClose());
|
|
@@ -14202,9 +14263,9 @@ Tooltip2.displayName = "Tooltip";
|
|
|
14202
14263
|
// src/components/components/tooltip/lazy-WithTooltip.tsx
|
|
14203
14264
|
import React40, { Suspense as Suspense2, lazy as lazy2 } from "react";
|
|
14204
14265
|
var LazyWithTooltip = lazy2(
|
|
14205
|
-
() => import("../_browser-chunks/WithTooltip-
|
|
14266
|
+
() => import("../_browser-chunks/WithTooltip-IO6J4KBT.js").then((mod) => ({ default: mod.WithTooltip }))
|
|
14206
14267
|
), WithTooltip = (props) => React40.createElement(Suspense2, { fallback: React40.createElement("div", null) }, React40.createElement(LazyWithTooltip, { ...props })), LazyWithTooltipPure = lazy2(
|
|
14207
|
-
() => import("../_browser-chunks/WithTooltip-
|
|
14268
|
+
() => import("../_browser-chunks/WithTooltip-IO6J4KBT.js").then((mod) => ({ default: mod.WithTooltipPure }))
|
|
14208
14269
|
), WithTooltipPure = (props) => React40.createElement(Suspense2, { fallback: React40.createElement("div", null) }, React40.createElement(LazyWithTooltipPure, { ...props }));
|
|
14209
14270
|
|
|
14210
14271
|
// src/components/components/tooltip/TooltipMessage.tsx
|
|
@@ -14228,8 +14289,8 @@ var Title4 = styled49.div(({ theme }) => ({
|
|
|
14228
14289
|
width: 280,
|
|
14229
14290
|
boxSizing: "border-box"
|
|
14230
14291
|
}), TooltipMessage = ({ title, desc, links }) => (deprecate5(
|
|
14231
|
-
"`
|
|
14232
|
-
), React41.createElement(MessageWrapper,
|
|
14292
|
+
"`TooltipMessage` is deprecated and will be removed in Storybook 11, use `Popover` and `PopoverProvider` instead."
|
|
14293
|
+
), React41.createElement(MessageWrapper, { "data-deprecated": "TooltipMessage" }, React41.createElement(Message2, null, title && React41.createElement(Title4, null, title), desc && React41.createElement(Desc2, null, desc)), links && React41.createElement(Links, null, links.map(({ title: linkTitle, ...other }) => React41.createElement(Link2, { ...other, key: linkTitle }, linkTitle)))));
|
|
14233
14294
|
|
|
14234
14295
|
// src/components/components/tooltip/TooltipLinkList.tsx
|
|
14235
14296
|
import React43, { Fragment as Fragment4, useCallback as useCallback10 } from "react";
|
|
@@ -14375,7 +14436,7 @@ var Title5 = styled50(({ active, loading, disabled, ...rest }) => React42.create
|
|
|
14375
14436
|
} = props, commonProps = { active, disabled }, itemProps = getItemProps(props), left = icon || input;
|
|
14376
14437
|
return deprecate6(
|
|
14377
14438
|
"`ListItem` is deprecated and will be removed in Storybook 11, use `MenuItem` instead."
|
|
14378
|
-
), React42.createElement(Item2, { ref, ...rest, ...commonProps, ...itemProps }, React42.createElement(React42.Fragment, null, left && React42.createElement(Left, { ...commonProps }, left), title || center ? React42.createElement(Center, { isIndented: isIndented && !left }, title && React42.createElement(Title5, { ...commonProps, loading }, title), center && React42.createElement(CenterText, { ...commonProps }, center)) : null, right && React42.createElement(Right, { ...commonProps }, right)));
|
|
14439
|
+
), React42.createElement(Item2, { "data-deprecated": "ListItem", ref, ...rest, ...commonProps, ...itemProps }, React42.createElement(React42.Fragment, null, left && React42.createElement(Left, { ...commonProps }, left), title || center ? React42.createElement(Center, { isIndented: isIndented && !left }, title && React42.createElement(Title5, { ...commonProps, loading }, title), center && React42.createElement(CenterText, { ...commonProps }, center)) : null, right && React42.createElement(Right, { ...commonProps }, right)));
|
|
14379
14440
|
});
|
|
14380
14441
|
ListItem.displayName = "ListItem";
|
|
14381
14442
|
var ListItem_default = ListItem;
|
|
@@ -14406,12 +14467,12 @@ var List = styled51.div(
|
|
|
14406
14467
|
return React43.createElement(ListItem_default, { id: `list-item-${id}`, ...rest, ...onClick && { onClick: handleClick } });
|
|
14407
14468
|
}, TooltipLinkList = ({ links, LinkWrapper, ...props }) => {
|
|
14408
14469
|
deprecate7(
|
|
14409
|
-
"`TooltipLinkList` is deprecated and will be removed in Storybook 11, use `MenuItem` and `WithMenu` instead."
|
|
14470
|
+
"`TooltipLinkList` is deprecated and will be removed in Storybook 11, use `ActionList` or `MenuItem` and `WithMenu` instead."
|
|
14410
14471
|
);
|
|
14411
14472
|
let groups = Array.isArray(links[0]) ? links : [links], isIndented = groups.some(
|
|
14412
14473
|
(group) => group.some((link) => "icon" in link && link.icon || "input" in link && link.input)
|
|
14413
14474
|
);
|
|
14414
|
-
return React43.createElement(List, { ...props, className: "sb-list" }, groups.filter((group) => group.length).map((group, index3) => React43.createElement(Group, { key: group.map((link) => link.id).join(`~${index3}~`) }, group.map((link) => "content" in link ? React43.createElement(Fragment4, { key: link.id }, link.content) : React43.createElement(Item3, { key: link.id, isIndented, LinkWrapper, ...link })))));
|
|
14475
|
+
return React43.createElement(List, { "data-deprecated": "TooltipLinkList", ...props, className: "sb-list" }, groups.filter((group) => group.length).map((group, index3) => React43.createElement(Group, { key: group.map((link) => link.id).join(`~${index3}~`) }, group.map((link) => "content" in link ? React43.createElement(Fragment4, { key: link.id }, link.content) : React43.createElement(Item3, { key: link.id, isIndented, LinkWrapper, ...link })))));
|
|
14415
14476
|
};
|
|
14416
14477
|
|
|
14417
14478
|
// src/components/components/Tabs/Tabs.tsx
|
|
@@ -14503,6 +14564,7 @@ var BarInner = styled52.div(({ bgColor }) => ({
|
|
|
14503
14564
|
return React44.createElement(
|
|
14504
14565
|
BarWithoutPadding,
|
|
14505
14566
|
{
|
|
14567
|
+
"data-deprecated": "FlexBar",
|
|
14506
14568
|
backgroundColor,
|
|
14507
14569
|
className: `sb-bar ${className}`,
|
|
14508
14570
|
...rest
|
|
@@ -14571,7 +14633,7 @@ var StyledTabButton = styled53(ButtonOrLink, { shouldForwardProp: isPropValid2 }
|
|
|
14571
14633
|
color: theme.barHoverColor
|
|
14572
14634
|
}
|
|
14573
14635
|
}
|
|
14574
|
-
), TabButton = forwardRef16((props, ref) => (deprecate9("The `TabButton` component is deprecated. Use `TabList` instead."), React45.createElement(StyledTabButton, { ref, ...props })));
|
|
14636
|
+
), TabButton = forwardRef16((props, ref) => (deprecate9("The `TabButton` component is deprecated. Use `TabList` instead."), React45.createElement(StyledTabButton, { "data-deprecated": "TabButton", ref, ...props })));
|
|
14575
14637
|
TabButton.displayName = "TabButton";
|
|
14576
14638
|
|
|
14577
14639
|
// src/components/components/Tabs/EmptyTabContent.tsx
|
|
@@ -14596,12 +14658,14 @@ var Wrapper3 = styled54.div(({ theme }) => ({
|
|
|
14596
14658
|
fontSize: theme.typography.size.s2 - 1,
|
|
14597
14659
|
textAlign: "center",
|
|
14598
14660
|
color: theme.color.defaultText
|
|
14661
|
+
})), Footer = styled54.div(({ theme }) => ({
|
|
14662
|
+
fontSize: theme.typography.size.s2 - 1
|
|
14599
14663
|
})), Description3 = styled54.div(({ theme }) => ({
|
|
14600
14664
|
fontWeight: theme.typography.weight.regular,
|
|
14601
14665
|
fontSize: theme.typography.size.s2 - 1,
|
|
14602
14666
|
textAlign: "center",
|
|
14603
14667
|
color: theme.textMutedColor
|
|
14604
|
-
})), EmptyTabContent = ({ title, description, footer }) => React46.createElement(Wrapper3, null, React46.createElement(Content2, null, React46.createElement(Title6, null, title), description && React46.createElement(Description3, null, description)), footer);
|
|
14668
|
+
})), EmptyTabContent = ({ title, description, footer }) => React46.createElement(Wrapper3, null, React46.createElement(Content2, null, React46.createElement(Title6, null, title), description && React46.createElement(Description3, null, description)), footer && React46.createElement(Footer, null, footer));
|
|
14605
14669
|
|
|
14606
14670
|
// src/components/components/Tabs/Tabs.helpers.tsx
|
|
14607
14671
|
import React47, { Children as Children5 } from "react";
|
|
@@ -14775,7 +14839,7 @@ var ignoreSsrWarning2 = "/* emotion-disable-server-rendering-unsafe-selector-war
|
|
|
14775
14839
|
whiteSpace: "nowrap",
|
|
14776
14840
|
flexGrow: 1
|
|
14777
14841
|
}), TabBar = forwardRef17(
|
|
14778
|
-
(props, ref) => (deprecate12("The `TabBar` component is deprecated. Use `TabsView` instead."), React49.createElement(StyledTabBar, { ...props, ref }))
|
|
14842
|
+
(props, ref) => (deprecate12("The `TabBar` component is deprecated. Use `TabsView` instead."), React49.createElement(StyledTabBar, { "data-deprecated": "TabBar", ...props, ref }))
|
|
14779
14843
|
);
|
|
14780
14844
|
TabBar.displayName = "TabBar";
|
|
14781
14845
|
var Content3 = styled57.div(
|
|
@@ -14810,7 +14874,7 @@ var Content3 = styled57.div(
|
|
|
14810
14874
|
}
|
|
14811
14875
|
} : {}
|
|
14812
14876
|
), TabWrapper = forwardRef17(
|
|
14813
|
-
({ active, render, children }, ref) => (deprecate12("The `TabWrapper` component is deprecated. Use `TabsView` instead."), React49.createElement(VisuallyHidden, { ref, active }, render ? render() : children))
|
|
14877
|
+
({ active, render, children }, ref) => (deprecate12("The `TabWrapper` component is deprecated. Use `TabsView` instead."), React49.createElement(VisuallyHidden, { "data-deprecated": "TabWrapper", ref, active }, render ? render() : children))
|
|
14814
14878
|
);
|
|
14815
14879
|
TabWrapper.displayName = "TabWrapper";
|
|
14816
14880
|
var TabErrorBoundary = class extends Component2 {
|
|
@@ -14856,7 +14920,7 @@ var TabErrorBoundary = class extends Component2 {
|
|
|
14856
14920
|
), { visibleList, tabBarRef, tabRefs, AddonTab } = useList(list), EmptyContent = emptyState ?? React49.createElement(EmptyTabContent, { title: "Nothing found" });
|
|
14857
14921
|
return !showToolsWhenEmpty && list.length === 0 ? EmptyContent : (
|
|
14858
14922
|
// @ts-expect-error (non strict)
|
|
14859
|
-
React49.createElement(Wrapper4, { absolute, bordered, id: htmlId }, React49.createElement(FlexBar, { scrollable: !1, border: !0, backgroundColor }, React49.createElement(TabBar, { style: { whiteSpace: "normal" }, ref: tabBarRef, role: "tablist" }, visibleList.map(({ title, id, active, color: color4 }, index3) => {
|
|
14923
|
+
React49.createElement(Wrapper4, { "data-deprecated": "Tabs", absolute, bordered, id: htmlId }, React49.createElement(FlexBar, { scrollable: !1, border: !0, backgroundColor }, React49.createElement(TabBar, { style: { whiteSpace: "normal" }, ref: tabBarRef, role: "tablist" }, visibleList.map(({ title, id, active, color: color4 }, index3) => {
|
|
14860
14924
|
let indexId = `index-${index3}`;
|
|
14861
14925
|
return React49.createElement(
|
|
14862
14926
|
TabButton,
|
|
@@ -14954,9 +15018,10 @@ var usePrevious = (value) => {
|
|
|
14954
15018
|
}, useUpdate = (update, value) => {
|
|
14955
15019
|
let previousValue = usePrevious(value);
|
|
14956
15020
|
return update ? value : previousValue;
|
|
14957
|
-
}, Div2 = styled59.div({
|
|
15021
|
+
}, Div2 = styled59.div(({ theme }) => ({
|
|
15022
|
+
fontSize: theme.typography.size.s2 - 1,
|
|
14958
15023
|
height: "100%"
|
|
14959
|
-
}), AddonPanel = ({ active, children, hasScrollbar = !0 }) => (
|
|
15024
|
+
})), AddonPanel = ({ active, children, hasScrollbar = !0 }) => (
|
|
14960
15025
|
// the hidden attribute is an valid html element that's both accessible and works to visually hide content
|
|
14961
15026
|
React51.createElement(Div2, { hidden: !active }, hasScrollbar ? React51.createElement(ScrollArea, { vertical: !0 }, useUpdate(active, children)) : useUpdate(active, children))
|
|
14962
15027
|
);
|
|
@@ -16284,6 +16349,7 @@ export {
|
|
|
16284
16349
|
A,
|
|
16285
16350
|
AbstractToolbar,
|
|
16286
16351
|
ActionBar,
|
|
16352
|
+
ActionList,
|
|
16287
16353
|
AddonPanel,
|
|
16288
16354
|
Badge,
|
|
16289
16355
|
Bar,
|
|
@@ -16312,7 +16378,6 @@ export {
|
|
|
16312
16378
|
LI,
|
|
16313
16379
|
Link2 as Link,
|
|
16314
16380
|
ListItem_default as ListItem,
|
|
16315
|
-
Listbox,
|
|
16316
16381
|
Loader,
|
|
16317
16382
|
Modal,
|
|
16318
16383
|
ModalDecorator,
|