@czi-sds/components 22.17.0 → 23.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -498,15 +498,16 @@ const Shadows = {
498
498
  };
499
499
 
500
500
  const Spaces = {
501
+ xxxs: 2,
502
+ xxs: 4,
503
+ xs: 6,
504
+ s: 8,
505
+ m: 12,
501
506
  default: 12,
502
507
  l: 16,
503
- m: 12,
504
- s: 8,
505
508
  xl: 24,
506
- xs: 6,
507
- xxl: 40,
508
- xxs: 4,
509
- xxxs: 2
509
+ xxl: 32,
510
+ xxxl: 40
510
511
  };
511
512
 
512
513
  const SDSLightThemeColors = {
@@ -556,7 +557,7 @@ const SDSLightThemeColors = {
556
557
  purple: {
557
558
  "100": "#efeafe",
558
559
  "200": "#e4dbfc",
559
- "300": "#cbbaF8",
560
+ "300": "#cbbaf8",
560
561
  "400": "#b296f2",
561
562
  "500": "#8b54e2",
562
563
  "600": "#6526b5",
@@ -738,7 +739,7 @@ const percentToHex = (percentOpacity) => {
738
739
  // Convert percentage to 0-255 range
739
740
  const alphaValue = Math.round((clampedPercent / 100) * 255);
740
741
  // Convert to hex and pad with leading zero if needed
741
- return alphaValue.toString(16).padStart(2, "0").toUpperCase();
742
+ return alphaValue.toString(16).padStart(2, "0").toLowerCase();
742
743
  };
743
744
  /**
744
745
  * Adds opacity to a hex color by appending the hex opacity value.
@@ -9843,9 +9844,9 @@ const StyledPaper = styled$2(Paper, {
9843
9844
  background-color: ${semanticColors?.base?.surface};
9844
9845
  background-image: none;
9845
9846
  box-shadow: ${shadows?.l};
9846
- max-height: calc(100vh - ${2 * (spaces?.xxl || 0)}px);
9847
+ max-height: calc(100vh - ${2 * (spaces?.xxxl || 40)}px);
9847
9848
  border-radius: ${corners?.xl}px;
9848
- padding: ${isSmall ? spaces?.xl : spaces?.xxl}px;
9849
+ padding: ${isSmall ? spaces?.xl : spaces?.xxxl}px;
9849
9850
  outline: 1px solid ${addOpacityToHex(semanticColors?.base?.borderSecondary || "#000000", 15)};
9850
9851
  `;
9851
9852
  }}
@@ -9895,7 +9896,7 @@ const StyledButton$1 = styled$2(Button) `
9895
9896
  const { sdsSize } = props;
9896
9897
  const isSmall = sdsSize === "small" || sdsSize === "medium";
9897
9898
  const spaces = getSpaces(props);
9898
- const right = isSmall ? spaces?.xl : spaces?.xxl;
9899
+ const right = isSmall ? spaces?.xl : spaces?.xxxl;
9899
9900
  return `
9900
9901
  right: ${right}px;
9901
9902
  `;
@@ -9995,7 +9996,7 @@ const StyledDialogActions = styled$2(DialogActions$1, {
9995
9996
  return `
9996
9997
  justify-content: ${buttonPosition === "right" ? "flex-end" : "flex-start"};;
9997
9998
 
9998
- margin-top: ${isSmall ? spaces?.xl : spaces?.xxl}px;
9999
+ margin-top: ${isSmall ? spaces?.xl : spaces?.xxxl}px;
9999
10000
 
10000
10001
  &.${dialogActionsClasses.spacing} > :not(:first-of-type) {
10001
10002
  margin-left: ${spaces?.m}px;
@@ -10102,16 +10103,16 @@ const getResponsivePadding = (props) => {
10102
10103
  const spaces = getSpaces(props);
10103
10104
  const breakpoints = getBreakpoints(props);
10104
10105
  return css$1 `
10105
- padding: ${spaces?.xxl}px
10106
+ padding: ${spaces?.xxxl}px
10106
10107
  ${overlayContainerMinMargin?.small || HeroMargins.SMALL};
10107
10108
 
10108
10109
  ${breakpoints?.up("md")} {
10109
- padding: ${spaces?.xxl}px
10110
+ padding: ${spaces?.xxxl}px
10110
10111
  ${overlayContainerMinMargin?.medium || HeroMargins.MEDIUM};
10111
10112
  }
10112
10113
 
10113
10114
  ${breakpoints?.up("lg")} {
10114
- padding: ${spaces?.xxl}px
10115
+ padding: ${spaces?.xxxl}px
10115
10116
  ${overlayContainerMinMargin?.large || HeroMargins.LARGE};
10116
10117
  }
10117
10118
  `;
@@ -11292,7 +11293,7 @@ const LegendContainer = styled$2("div") `
11292
11293
  `;
11293
11294
  const LegendItem = styled$2("div") `
11294
11295
  ${(props) => {
11295
- const { isSelected, disabled } = props;
11296
+ const { isSelected, disabled, isHovered } = props;
11296
11297
  const spaces = getSpaces(props);
11297
11298
  const semanticColors = getSemanticColors(props);
11298
11299
  const corners = getCorners(props);
@@ -11301,9 +11302,9 @@ const LegendItem = styled$2("div") `
11301
11302
  align-items: center;
11302
11303
  cursor: ${disabled ? "not-allowed" : "pointer"} !important;
11303
11304
  transition: background-color 0.2s ease-in-out;
11304
- padding: 0 ${spaces?.xxs}px;
11305
+ padding: ${spaces?.xxxs}px ${spaces?.xxs}px;
11305
11306
  border-radius: ${corners?.s}px;
11306
- background-color: ${isSelected ? semanticColors?.base?.backgroundTertiary : "transparent"};
11307
+ background-color: ${isSelected ? semanticColors?.base?.backgroundTertiary : isHovered ? semanticColors?.base?.backgroundSecondary : "transparent"};
11307
11308
  pointer-events: ${disabled ? "none" : "auto"};
11308
11309
 
11309
11310
  &:hover {
@@ -11318,8 +11319,8 @@ const LegendIcon = styled$2("div") `
11318
11319
  const spaces = getSpaces(props);
11319
11320
  const corners = getCorners(props);
11320
11321
  return `
11321
- width: 8px;
11322
- height: 8px;
11322
+ width: ${spaces?.m}px;
11323
+ height: ${spaces?.m}px;
11323
11324
  border-radius: ${corners?.s}px;
11324
11325
  background-color: ${color};
11325
11326
  flex-shrink: 0;
@@ -11330,7 +11331,7 @@ const LegendIcon = styled$2("div") `
11330
11331
  }}
11331
11332
  `;
11332
11333
  const LegendLabel = styled$2("span") `
11333
- ${fontBodyXxxxs}
11334
+ ${fontBodyMediumXxxs}
11334
11335
  ${(props) => {
11335
11336
  const semanticColors = getSemanticColors(props);
11336
11337
  return `
@@ -11339,13 +11340,13 @@ const LegendLabel = styled$2("span") `
11339
11340
  }}
11340
11341
  `;
11341
11342
  const LegendValue = styled$2("span") `
11342
- ${fontBodyXxxxs}
11343
+ ${fontBodyMediumXxxs}
11343
11344
  ${(props) => {
11344
11345
  const semanticColors = getSemanticColors(props);
11345
11346
  const spaces = getSpaces(props);
11346
11347
  return `
11347
11348
  color: ${semanticColors?.base?.textSecondary};
11348
- margin-left: ${spaces?.xxxs}px;
11349
+ margin-left: ${spaces?.xxs}px;
11349
11350
  `;
11350
11351
  }}
11351
11352
  `;
@@ -11402,7 +11403,7 @@ const Legend = (props) => {
11402
11403
  : hasSelection && !isSelected;
11403
11404
  // Determine color: use colors prop, then item color, then fallback to gray
11404
11405
  const itemColor = colors?.[index] || item.color || fallbackColor;
11405
- return (jsxs(LegendItem, { onMouseEnter: () => handleMouseEnter(item, index), onMouseLeave: () => handleMouseLeave(item, index), onClick: () => handleClick(item, index), role: "button", tabIndex: item.disabled ? -1 : 0, "aria-label": `${item.name}${item.value ? `: ${item.value}` : ""}`, "aria-pressed": isSelected, "aria-disabled": item.disabled, isSelected: isSelected, disabled: item.disabled, children: [jsx(LegendIcon, { color: itemColor, isDimmed: isDimmed }), jsx(LegendLabel, { disabled: item.disabled, children: item.name }), showValues && item.value !== undefined && (jsx(LegendValue, { disabled: item.disabled, children: typeof item.value === "number"
11406
+ return (jsxs(LegendItem, { onMouseEnter: () => handleMouseEnter(item, index), onMouseLeave: () => handleMouseLeave(item, index), onClick: () => handleClick(item, index), role: "button", tabIndex: item.disabled ? -1 : 0, "aria-label": `${item.name}${item.value ? `: ${item.value}` : ""}`, "aria-pressed": isSelected, "aria-disabled": item.disabled, isSelected: isSelected, disabled: item.disabled, isHovered: isHovered, children: [jsx(LegendIcon, { color: itemColor, isDimmed: isDimmed }), jsx(LegendLabel, { disabled: item.disabled, children: item.name }), showValues && item.value !== undefined && (jsx(LegendValue, { disabled: item.disabled, children: typeof item.value === "number"
11406
11407
  ? item.value.toLocaleString()
11407
11408
  : item.value }))] }, `${item.name}-${index}`));
11408
11409
  }) })));
@@ -18323,6 +18324,7 @@ function NavigationFooter({ backgroundAppearance = "matchBackground", images, lo
18323
18324
 
18324
18325
  /* eslint-disable sonarjs/cognitive-complexity */
18325
18326
  /* eslint-disable sonarjs/no-duplicate-string */
18327
+ const TOOLBAR_HEIGHT = 48;
18326
18328
  const doNotForwardProps$a = [
18327
18329
  "hasInvertedStyle",
18328
18330
  "isNarrow",
@@ -18338,7 +18340,7 @@ const doNotForwardProps$a = [
18338
18340
  const StyledTopComponentSlot = styled$2("div") `
18339
18341
  position: sticky;
18340
18342
  top: 0;
18341
- z-index: 1300;
18343
+ z-index: 2100;
18342
18344
  `;
18343
18345
  const StyledAppBar = styled$2(AppBar, {
18344
18346
  shouldForwardProp: (prop) => ![...doNotForwardProps$a, "sdsStyle"].includes(prop)
@@ -18350,7 +18352,7 @@ const StyledAppBar = styled$2(AppBar, {
18350
18352
  background-image: none;
18351
18353
  max-width: 100%;
18352
18354
  overflow-x: auto;
18353
- z-index: ${props.theme?.zIndex?.drawer ? props.theme.zIndex.drawer + 10 : 1210};
18355
+ z-index: 2100;
18354
18356
  `;
18355
18357
  }}
18356
18358
  `;
@@ -18379,8 +18381,8 @@ const StyledToolbar = styled$2(Toolbar, {
18379
18381
  const spaces = getSpaces(props);
18380
18382
  return css$3 `
18381
18383
  &.MuiToolbar-root {
18382
- min-height: 48px;
18383
- max-height: 48px;
18384
+ min-height: ${TOOLBAR_HEIGHT}px;
18385
+ max-height: ${TOOLBAR_HEIGHT}px;
18384
18386
  padding: ${spaces?.s}px ${spaces?.l}px;
18385
18387
 
18386
18388
  ${isNarrow && NarrowToolbar(props)}
@@ -18543,7 +18545,7 @@ const StyledTitleContainer = styled$2("div", {
18543
18545
  color: ${props.hasInvertedStyle
18544
18546
  ? colors?.base.textPrimaryOnDark
18545
18547
  : colors?.base.textPrimary};
18546
- margin-right: ${spaces?.xxl}px;
18548
+ margin-right: ${spaces?.xxxl}px;
18547
18549
  width: 100%;
18548
18550
 
18549
18551
  ${isNarrow && NarrowTitleContainer()}
@@ -18585,8 +18587,8 @@ const StyledPrimaryNavContainer = styled$2("div", {
18585
18587
  const primaryNavPositionWithoutSearch = primaryNavPosition === "left" ? "flex-start" : "flex-end";
18586
18588
  return css$3 `
18587
18589
  flex-direction: ${isNarrow ? "column" : "row"};
18588
- gap: ${spaces?.xxl}px;
18589
- margin-right: ${spaces?.xxl}px;
18590
+ gap: ${spaces?.xxxl}px;
18591
+ margin-right: ${spaces?.xxxl}px;
18590
18592
  flex: 1;
18591
18593
  justify-content: ${showSearch
18592
18594
  ? primaryNavPositionWithSearch
@@ -18713,14 +18715,14 @@ const NarrowButtonStyles = (props) => {
18713
18715
  &::before {
18714
18716
  content: "";
18715
18717
  position: absolute;
18716
- height: ${spaces?.xxl}px;
18718
+ height: ${spaces?.xxxl}px;
18717
18719
  width: 100%;
18718
18720
  background: linear-gradient(
18719
18721
  to top,
18720
18722
  ${backgroundColor} 0%,
18721
18723
  ${backgroundColor}00 100%
18722
18724
  );
18723
- top: -${spaces?.xxl}px;
18725
+ top: -${spaces?.xxxl}px;
18724
18726
  }
18725
18727
 
18726
18728
  .MuiButton-icon .MuiSvgIcon-root {
@@ -18741,7 +18743,7 @@ const StyledButtonSection = styled$2("section", {
18741
18743
  const spaces = getSpaces(props);
18742
18744
  return css$3 `
18743
18745
  gap: ${spaces?.m}px;
18744
- margin-left: ${spaces?.xxl}px;
18746
+ margin-left: ${spaces?.xxxl}px;
18745
18747
 
18746
18748
  ${isNarrow && NarrowButtonStyles(props)}
18747
18749
  `;
@@ -18761,8 +18763,8 @@ const StyledDrawer$1 = styled$2(Drawer, {
18761
18763
  width: 100%;
18762
18764
  display: flex;
18763
18765
  flex-direction: column;
18764
- top: ${topOffset}px;
18765
- height: calc(100% - ${topOffset}px);
18766
+ top: ${topOffset + TOOLBAR_HEIGHT}px;
18767
+ height: calc(100% - ${topOffset + TOOLBAR_HEIGHT}px);
18766
18768
  justify-content: space-between;
18767
18769
  }
18768
18770
  `;
@@ -18812,7 +18814,7 @@ const DrawerAccordionStyles = (props) => {
18812
18814
  &[aria-expanded="true"] {
18813
18815
  position: sticky;
18814
18816
  border-radius: 0;
18815
- top: calc(48px + ${spaces?.s}px);
18817
+ top: ${spaces?.s}px;
18816
18818
  z-index: 11;
18817
18819
  backdrop-filter: blur(0px);
18818
18820
  color: ${textOpenColor};
@@ -18997,6 +18999,7 @@ const StyledMegaMenuDrawer = styled$2(Drawer, {
18997
18999
  return css$3 `
18998
19000
  pointer-events: none;
18999
19001
  top: ${topOffset}px;
19002
+ z-index: 2000;
19000
19003
 
19001
19004
  .MuiDrawer-paper {
19002
19005
  background-color: ${hasInvertedStyle
@@ -19009,7 +19012,7 @@ const StyledMegaMenuDrawer = styled$2(Drawer, {
19009
19012
  box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.1);
19010
19013
  background-image: none;
19011
19014
  padding: ${spaces?.xl ? spaces?.xl + 48 : 48}px ${spaces?.xl}px
19012
- ${spaces?.xxl}px;
19015
+ ${spaces?.xxxl}px;
19013
19016
  transform: translateY(48px);
19014
19017
  top: ${topOffset}px;
19015
19018
  }
@@ -19035,7 +19038,7 @@ const StyledMegaMenuContent = styled$2("div", {
19035
19038
  : semanticColors?.base.backgroundPrimary};
19036
19039
  display: flex;
19037
19040
  flex-wrap: wrap;
19038
- gap: ${spaces?.xxl}px;
19041
+ gap: ${spaces?.xxxl}px;
19039
19042
  width: 100%;
19040
19043
  max-width: 1200px;
19041
19044
  margin: 0 auto;
@@ -19054,7 +19057,7 @@ const StyledHoverDrawerColumn = styled$2("div", {
19054
19057
  // Account for gaps between columns
19055
19058
  const columnsPerRow = totalColumns > 4 ? 4 : totalColumns;
19056
19059
  const gapCount = columnsPerRow - 1;
19057
- const columnWidth = `calc((100% - (${gapCount} * ${spaces?.xxl}px)) / ${columnsPerRow})`;
19060
+ const columnWidth = `calc((100% - (${gapCount} * ${spaces?.xxxl}px)) / ${columnsPerRow})`;
19058
19061
  return css$3 `
19059
19062
  display: flex;
19060
19063
  flex-direction: column;
@@ -19255,7 +19258,7 @@ const StyledHoverDrawerActions = styled$2("div", {
19255
19258
  margin-top: ${spaces?.l}px;
19256
19259
  padding-left: ${isNarrow
19257
19260
  ? `calc(${spaces?.l}px + ${spaces?.m}px)`
19258
- : `calc(${spaces?.xxl}px + ${spaces?.xs}px)`};
19261
+ : `calc(${spaces?.xxxl}px + ${spaces?.xs}px)`};
19259
19262
  flex-wrap: wrap;
19260
19263
  `;
19261
19264
  }}
@@ -20141,6 +20144,7 @@ function useNavigationState() {
20141
20144
  function NavigationHeaderPrimaryNav({ menuProps, hasInvertedStyle, isNarrow, items, onChange, value, sdsStyle = "dropdown", expandedAccordion, setExpandedAccordion, accordionRefs, scrollToAccordion, onDrawerStateChange, topOffset = 0, onClose: onCloseProp, }) {
20142
20145
  const theme = useTheme$4();
20143
20146
  const { anchorEl, activeDropdownKey, activeDrawerKey, contentKey, isContentFading, open, drawerOpen, buttonRef, menuWidth, setAnchorEl, setActiveDropdownKey, setActiveDrawerKey, setContentKey, onClose: handleClose, onDrawerClose, onDrawerOpen, cancelDrawerClose, } = useNavigationState();
20147
+ const [clickedDrawerKey, setClickedDrawerKey] = useState(null);
20144
20148
  // Helper function to wrap dropdown items' onClick handlers
20145
20149
  // This automatically sets the parent dropdown as active when an item is clicked
20146
20150
  const wrapDropdownItemsWithActiveKey = (dropdownItems, parentKey) => {
@@ -20179,8 +20183,22 @@ function NavigationHeaderPrimaryNav({ menuProps, hasInvertedStyle, isNarrow, ite
20179
20183
  const handleClick = (e) => {
20180
20184
  onChange(key);
20181
20185
  parentOnClick?.(e);
20186
+ if (drawerOpen) {
20187
+ setActiveDrawerKey(null);
20188
+ setContentKey(null);
20189
+ setClickedDrawerKey(key);
20190
+ }
20182
20191
  };
20183
- return (jsx(StyledHoverDrawerContainer, { onMouseEnter: () => onDrawerOpen(key), onMouseLeave: onDrawerClose, children: jsx(UnifiedNavItem, __assign({}, rest, { itemType: item.itemType, active: isActive, hasInvertedStyle: hasInvertedStyle, isNarrow: isNarrow, sdsStyle: "minimal", onClick: handleClick, innerSdsStyle: sdsStyle, navVariant: "primary", component: componentProp, href: defaultUrl, target: target, rel: rel, children: jsxs(StyledLabel, { itemType: item.itemType, active: isActive, hasInvertedStyle: hasInvertedStyle, isNarrow: isNarrow, navVariant: "primary", children: [jsx(StyledLabelTextWrapper$1, { active: isActive, isNarrow: isNarrow, children: label }), jsx(StyledLabelTextWrapperShadow$1, { "aria-hidden": "true", isNarrow: isNarrow, children: label }), jsx(Icon, { sdsIcon: isDrawerOpen ? "ChevronUp" : "ChevronDown", sdsSize: "xs" })] }) })) }, key));
20192
+ return (jsx(StyledHoverDrawerContainer, { onMouseEnter: () => {
20193
+ if (clickedDrawerKey !== key) {
20194
+ onDrawerOpen(key);
20195
+ }
20196
+ }, onMouseLeave: () => {
20197
+ if (clickedDrawerKey === key) {
20198
+ setClickedDrawerKey(null);
20199
+ }
20200
+ onDrawerClose();
20201
+ }, children: jsx(UnifiedNavItem, __assign({}, rest, { itemType: item.itemType, active: isActive, hasInvertedStyle: hasInvertedStyle, isNarrow: isNarrow, sdsStyle: "minimal", onClick: handleClick, innerSdsStyle: sdsStyle, navVariant: "primary", component: componentProp, href: defaultUrl, target: target, rel: rel, children: jsxs(StyledLabel, { itemType: item.itemType, active: isActive, hasInvertedStyle: hasInvertedStyle, isNarrow: isNarrow, navVariant: "primary", children: [jsx(StyledLabelTextWrapper$1, { active: isActive, isNarrow: isNarrow, children: label }), jsx(StyledLabelTextWrapperShadow$1, { "aria-hidden": "true", isNarrow: isNarrow, children: label }), jsx(Icon, { sdsIcon: isDrawerOpen ? "ChevronUp" : "ChevronDown", sdsSize: "xs" })] }) })) }, key));
20184
20202
  };
20185
20203
  const renderDropdownItem = (item, key, label, parentOnClick, rest) => {
20186
20204
  const isDropdownOpen = open && activeDropdownKey === key;
@@ -20856,7 +20874,7 @@ const NavigationHeader = forwardRef((props, ref) => {
20856
20874
  const position = sdsStyle === "drawer" ? "sticky" : isSticky ? "sticky" : "relative";
20857
20875
  // Disable elevation when drawer style is active and any drawer is open
20858
20876
  const effectiveScrollElevation = scrollElevation && !(sdsStyle === "drawer" && isAnyDrawerOpen);
20859
- return (jsxs(Fragment, { children: [topComponentSlot && (jsx(StyledTopComponentSlot, { ref: topSlotRef, children: topComponentSlot })), jsx(ElevationScroll, __assign({}, props, { shouldElevate: effectiveScrollElevation, children: jsx(StyledAppBar, __assign({ elevation: 0, hasInvertedStyle: hasInvertedStyle, ref: mergeRefs([ref, navRef]), "aria-label": "Main navigation", tabIndex: 0, position: position, style: { top: topOffset } }, rest, { children: headerContent })) })), dimensions.isNarrow && drawerOpen && (jsxs(StyledDrawer$1, { anchor: "right", open: drawerOpen, onClose: () => setDrawerOpen(false), hasInvertedStyle: hasInvertedStyle, topOffset: topOffset, role: "dialog", "aria-label": "Navigation menu", children: [jsx(ElevationScroll, __assign({}, props, { shouldElevate: effectiveScrollElevation, children: jsx(StyledAppBar, __assign({ elevation: 10, hasInvertedStyle: hasInvertedStyle, ref: mergeRefs([ref, navRef]), "aria-label": "Main navigation", tabIndex: 0, position: "sticky" }, rest, { children: headerContent })) })), jsxs(StyledDrawerContent, { children: [jsxs("div", { children: [search, primaryNav, primaryNav && secondaryNav && (jsx(StyledSectionDivider, { hasInvertedStyle: hasInvertedStyle })), secondaryNav] }), buttonsNode] })] }))] }));
20877
+ return (jsxs(Fragment, { children: [topComponentSlot && (jsx(StyledTopComponentSlot, { ref: topSlotRef, children: topComponentSlot })), jsx(ElevationScroll, __assign({}, props, { shouldElevate: effectiveScrollElevation, children: jsx(StyledAppBar, __assign({ elevation: 0, hasInvertedStyle: hasInvertedStyle, ref: mergeRefs([ref, navRef]), "aria-label": "Main navigation", tabIndex: 0, position: position, style: { top: topOffset } }, rest, { children: headerContent })) })), dimensions.isNarrow && drawerOpen && (jsx(StyledDrawer$1, { anchor: "right", open: drawerOpen, onClose: () => setDrawerOpen(false), hasInvertedStyle: hasInvertedStyle, topOffset: topOffset, role: "dialog", "aria-label": "Navigation menu", disableScrollLock: false, children: jsxs(StyledDrawerContent, { children: [jsxs("div", { children: [search, primaryNav, primaryNav && secondaryNav && (jsx(StyledSectionDivider, { hasInvertedStyle: hasInvertedStyle })), secondaryNav] }), buttonsNode] }) }))] }));
20860
20878
  });
20861
20879
 
20862
20880
  /**
@@ -25772,7 +25790,7 @@ Object.assign(chroma, {
25772
25790
  const generateDiscreteColors = (count, options = {}) => {
25773
25791
  if (count === 0)
25774
25792
  return [];
25775
- const { isDarkMode = false, start = 249, rotations = 1, gamma = 0.7, lightness = [0.3, 0.7], correctLightness = true, } = options;
25793
+ const { isDarkMode = false, start = 250, rotations = 0.85, gamma = 0.7, lightness = [0.4, 0.7], correctLightness = true, } = options;
25776
25794
  let scale = chroma
25777
25795
  .cubehelix()
25778
25796
  .start(start)
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "fontFamily": {
3
- "sds-body": "var(--font-inter),Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Helvetica,Arial,sans-serif",
4
- "sds-caps": "var(--font-inter),Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Helvetica,Arial,sans-serif",
3
+ "sds-body": "var(--font-inter), Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif",
4
+ "sds-caps": "var(--font-inter), Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif",
5
5
  "sds-code": "\"IBM Plex Mono\", monospace",
6
- "sds-header": "var(--font-inter),Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Helvetica,Arial,sans-serif",
7
- "sds-link": "var(--font-inter),Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Helvetica,Arial,sans-serif",
8
- "sds-tabular": "var(--font-inter),Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Helvetica,Arial,sans-serif",
9
- "sds-title": "var(--font-inter),Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Helvetica,Arial,sans-serif"
6
+ "sds-header": "var(--font-inter), Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif",
7
+ "sds-link": "var(--font-inter), Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif",
8
+ "sds-tabular": "var(--font-inter), Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif",
9
+ "sds-title": "var(--font-inter), Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif"
10
10
  },
11
11
  "fontSize": {
12
12
  "sds-body-l-400-narrow": "16px",
@@ -2965,7 +2965,7 @@
2965
2965
  "sds-color-primitive-green-800": "#001f00",
2966
2966
  "sds-color-primitive-purple-100": "#efeafe",
2967
2967
  "sds-color-primitive-purple-200": "#e4dbfc",
2968
- "sds-color-primitive-purple-300": "#cbbaF8",
2968
+ "sds-color-primitive-purple-300": "#cbbaf8",
2969
2969
  "sds-color-primitive-purple-400": "#b296f2",
2970
2970
  "sds-color-primitive-purple-500": "#8b54e2",
2971
2971
  "sds-color-primitive-purple-600": "#6526b5",
@@ -3013,7 +3013,7 @@
3013
3013
  "sds-color-semantic-base-background-primary-dark": "#000000",
3014
3014
  "sds-color-semantic-base-background-primary-inverse": "#000000",
3015
3015
  "sds-color-semantic-base-background-secondary": "#ededed66",
3016
- "sds-color-semantic-base-background-secondary-on-dark": "#3b3b3b9E",
3016
+ "sds-color-semantic-base-background-secondary-on-dark": "#3b3b3b9e",
3017
3017
  "sds-color-semantic-base-background-secondary-inverse": "#3b3b3b",
3018
3018
  "sds-color-semantic-base-background-tertiary": "#ededed",
3019
3019
  "sds-color-semantic-base-border-on-fill": "#ffffff",
@@ -3134,14 +3134,15 @@
3134
3134
  }
3135
3135
  },
3136
3136
  "spacing": {
3137
+ "sds-xxxs": "2px",
3138
+ "sds-xxs": "4px",
3139
+ "sds-xs": "6px",
3140
+ "sds-s": "8px",
3141
+ "sds-m": "12px",
3137
3142
  "sds-default": "12px",
3138
3143
  "sds-l": "16px",
3139
- "sds-m": "12px",
3140
- "sds-s": "8px",
3141
3144
  "sds-xl": "24px",
3142
- "sds-xs": "6px",
3143
- "sds-xxl": "40px",
3144
- "sds-xxs": "4px",
3145
- "sds-xxxs": "2px"
3145
+ "sds-xxl": "32px",
3146
+ "sds-xxxl": "40px"
3146
3147
  }
3147
- }
3148
+ }