@uniformdev/design-system 19.54.0 → 19.54.2-alpha.10

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/esm/index.js CHANGED
@@ -274,6 +274,50 @@ var cq = (size) => `@container (min-width: ${size})`;
274
274
  // src/utils/replaceUnderscoreInString.ts
275
275
  var replaceUnderscoreInString = (title) => (title == null ? void 0 : title.includes("_")) ? title.replaceAll("_", " ") : title;
276
276
 
277
+ // src/utils/url.ts
278
+ var isSecureURL = (value = "") => {
279
+ try {
280
+ const url = new URL(value);
281
+ return url.protocol === "https:";
282
+ } catch (e) {
283
+ return false;
284
+ }
285
+ };
286
+ var isValidUrl = (urlString, options = {}) => {
287
+ try {
288
+ const isRelativeToLocation = /^([/.])/.test(urlString);
289
+ const url = new URL(
290
+ urlString,
291
+ options.allowRelative && isRelativeToLocation ? "https://defaultbaseurl.com" : void 0
292
+ );
293
+ if (options.isSecure) {
294
+ return url.protocol === "https:";
295
+ }
296
+ return true;
297
+ } catch (e) {
298
+ return false;
299
+ }
300
+ };
301
+ var addPathSegmentToPathname = (path, pathSegment) => {
302
+ return `/${path.substring(1).split("/").filter((s) => s).concat(pathSegment).join("/")}`;
303
+ };
304
+ var getPathSegment = (path) => {
305
+ return path.split("/").pop() || path;
306
+ };
307
+ var getParentPath = (path, noRootSlash) => {
308
+ var _a;
309
+ if (path === "/") {
310
+ return "";
311
+ }
312
+ const pathSegments = path == null ? void 0 : path.split("/");
313
+ if ((pathSegments == null ? void 0 : pathSegments.length) === 2) {
314
+ return noRootSlash ? "" : "/";
315
+ } else {
316
+ pathSegments == null ? void 0 : pathSegments.pop();
317
+ return (_a = pathSegments == null ? void 0 : pathSegments.join("/")) != null ? _a : "n/a";
318
+ }
319
+ };
320
+
277
321
  // src/utils/useOutsideClick.tsx
278
322
  import { useEffect } from "react";
279
323
  var useOutsideClick = (containerRef, handler) => {
@@ -11586,14 +11630,48 @@ function renderWithIcon(children, icon) {
11586
11630
 
11587
11631
  // src/components/ButtonWithMenu/ButtonWithMenu.styles.ts
11588
11632
  import { css as css26 } from "@emotion/react";
11633
+ var buttonSizeBase = css26`
11634
+ --icon-padding: var(--spacing-xs);
11635
+ --svg-size: 1rem;
11636
+ --line-offset: -5px;
11637
+ font-size: var(--fs-sm);
11638
+
11639
+ > button {
11640
+ padding: var(--spacing-sm) var(--spacing-base);
11641
+ }
11642
+ `;
11643
+ var buttonSizeSmall = css26`
11644
+ --icon-padding: var(--spacing-xs);
11645
+ --svg-size: 0.85rem;
11646
+ --line-offset: -1px;
11647
+ font-size: var(--fs-sm);
11648
+
11649
+ > button {
11650
+ padding: var(--spacing-xs) var(--spacing-base);
11651
+ }
11652
+ `;
11653
+ var buttonSizeLarge = css26`
11654
+ --icon-padding: var(--spacing-sm);
11655
+ --svg-size: 1.5rem;
11656
+ --line-offset: -5px;
11657
+ font-size: var(--fs-sm);
11658
+ line-height: 1.25;
11659
+
11660
+ > button {
11661
+ padding: var(--spacing-sm) var(--spacing-base);
11662
+ }
11663
+ `;
11589
11664
  var ButtonWithMenuContainer = css26`
11590
11665
  align-items: center;
11591
11666
  border: 1px solid transparent;
11592
11667
  border-radius: var(--rounded-sm);
11593
11668
  color: var(--white);
11594
11669
  display: inline-flex;
11595
- font-size: var(--fs-sm);
11596
11670
  position: relative;
11671
+ min-height: 24px;
11672
+ transition: color var(--duration-fast) var(--timing-ease-out),
11673
+ border-color var(--duration-fast) var(--timing-ease-out),
11674
+ background-color var(--duration-fast) var(--timing-ease-out);
11597
11675
 
11598
11676
  &:active {
11599
11677
  opacity: var(--opacity-75);
@@ -11606,15 +11684,19 @@ var ButtonWithMenuContainer = css26`
11606
11684
  &:focus {
11607
11685
  border-color: var(--gray-700);
11608
11686
  }
11687
+
11688
+ svg {
11689
+ width: var(--svg-size);
11690
+ height: var(--svg-size);
11691
+ }
11609
11692
  `;
11610
11693
  var ButtonWithMenuBtn = css26`
11694
+ align-items: center;
11611
11695
  border: 1px solid transparent;
11612
11696
  background: transparent;
11613
- border-radius: var(--rounded-base);
11614
- padding: var(--spacing-sm) var(--spacing-base);
11615
- font-weight: var(--fw-medium);
11616
- letter-spacing: 0.025rem;
11617
- line-height: 1.25;
11697
+ line-height: 1;
11698
+ display: inline-flex;
11699
+ gap: var(--spacing-xs);
11618
11700
 
11619
11701
  &:focus {
11620
11702
  outline: none;
@@ -11631,8 +11713,17 @@ var ButtonWithMenuBtn = css26`
11631
11713
  }
11632
11714
  `;
11633
11715
  var ButtonWithMenuIcon = css26`
11634
- padding: var(--spacing-sm);
11635
- border-left: 1px solid currentColor;
11716
+ padding: var(--icon-padding);
11717
+ position: relative;
11718
+
11719
+ &:before {
11720
+ background: currentColor;
11721
+ content: '';
11722
+ display: block;
11723
+ inset: var(--line-offset) auto var(--line-offset) -1px;
11724
+ width: 1px;
11725
+ position: absolute;
11726
+ }
11636
11727
  `;
11637
11728
  var buttonPrimary2 = css26`
11638
11729
  background: var(--brand-secondary-1);
@@ -11672,6 +11763,24 @@ var buttonGhostDisabled = css26`
11672
11763
  border-color: var(--gray-400);
11673
11764
  color: var(--gray-400);
11674
11765
  `;
11766
+ var buttonSecondaryOutline = css26`
11767
+ background: var(--white);
11768
+ color: var(--primary-action-default);
11769
+ border-color: var(--primary-action-default);
11770
+
11771
+ &:hover {
11772
+ color: var(--primary-action-hover);
11773
+ border-color: var(--primary-action-hover);
11774
+ }
11775
+ `;
11776
+ var buttonSecondaryOutlineDisabled = css26`
11777
+ background: var(--white);
11778
+ color: var(--gray-400);
11779
+ border-color: var(--gray-400);
11780
+ `;
11781
+ var buttonWithMenuIconOffset = css26`
11782
+ margin-left: -10px;
11783
+ `;
11675
11784
 
11676
11785
  // src/components/ButtonWithMenu/ButtonWithMenu.tsx
11677
11786
  import { jsx as jsx27, jsxs as jsxs17 } from "@emotion/react/jsx-runtime";
@@ -11679,30 +11788,43 @@ var ButtonWithMenu = ({
11679
11788
  onButtonClick,
11680
11789
  buttonType = "secondary",
11681
11790
  buttonText,
11791
+ icon,
11682
11792
  disabled,
11683
11793
  children,
11684
11794
  placement,
11795
+ size = "lg",
11685
11796
  ...buttonProps
11686
11797
  }) => {
11687
11798
  const buttonTheme = {
11688
11799
  primary: buttonPrimary2,
11689
11800
  secondary: buttonSecondary2,
11690
11801
  ghost: buttonGhost2,
11691
- unimportant: buttonUnimportant2
11802
+ unimportant: buttonUnimportant2,
11803
+ secondaryOutline: buttonSecondaryOutline
11692
11804
  };
11693
11805
  const buttonDisabledTheme = {
11694
11806
  primary: buttonPrimaryDisabled,
11695
11807
  secondary: buttonSecondaryDisabled,
11696
11808
  ghost: buttonGhostDisabled,
11697
- unimportant: buttonUnimportantDisabled
11809
+ unimportant: buttonUnimportantDisabled,
11810
+ secondaryOutline: buttonSecondaryOutlineDisabled
11811
+ };
11812
+ const sizes2 = {
11813
+ base: buttonSizeBase,
11814
+ sm: buttonSizeSmall,
11815
+ lg: buttonSizeLarge
11698
11816
  };
11699
11817
  return /* @__PURE__ */ jsxs17(
11700
11818
  "div",
11701
11819
  {
11702
- css: [ButtonWithMenuContainer, disabled ? buttonDisabledTheme[buttonType] : buttonTheme[buttonType]],
11820
+ css: [
11821
+ sizes2[size],
11822
+ ButtonWithMenuContainer,
11823
+ disabled ? buttonDisabledTheme[buttonType] : buttonTheme[buttonType]
11824
+ ],
11703
11825
  "data-testid": "multioptions-button",
11704
11826
  children: [
11705
- /* @__PURE__ */ jsx27(
11827
+ /* @__PURE__ */ jsxs17(
11706
11828
  "button",
11707
11829
  {
11708
11830
  type: "button",
@@ -11711,7 +11833,10 @@ var ButtonWithMenu = ({
11711
11833
  onClick: onButtonClick,
11712
11834
  "data-testid": "multioptions-button-main",
11713
11835
  ...buttonProps,
11714
- children: buttonText
11836
+ children: [
11837
+ icon ? /* @__PURE__ */ jsx27(Icon, { icon, iconColor: "currentColor", css: buttonWithMenuIconOffset }) : null,
11838
+ buttonText
11839
+ ]
11715
11840
  }
11716
11841
  ),
11717
11842
  /* @__PURE__ */ jsx27(
@@ -11719,7 +11844,7 @@ var ButtonWithMenu = ({
11719
11844
  {
11720
11845
  menuLabel: "buttonMenu",
11721
11846
  placement,
11722
- menuTrigger: /* @__PURE__ */ jsx27("div", { css: ButtonWithMenuIcon, "data-testid": "multioptions-button-call-menu", children: /* @__PURE__ */ jsx27(Icon, { icon: CgChevronDown, size: 24, iconColor: "currentColor" }) }),
11847
+ menuTrigger: /* @__PURE__ */ jsx27("div", { css: ButtonWithMenuIcon, "data-testid": "multioptions-button-call-menu", children: /* @__PURE__ */ jsx27(Icon, { icon: CgChevronDown, iconColor: "currentColor" }) }),
11723
11848
  children
11724
11849
  }
11725
11850
  )
@@ -13405,23 +13530,6 @@ IconButton.displayName = "IconButton";
13405
13530
  // src/components/Image/Image.tsx
13406
13531
  import { useCallback as useCallback2, useEffect as useEffect7, useState as useState8 } from "react";
13407
13532
 
13408
- // src/utils/url.ts
13409
- var isValidUrl = (urlString, options = {}) => {
13410
- try {
13411
- const isRelativeToLocation = /^([/.])/.test(urlString);
13412
- const url = new URL(
13413
- urlString,
13414
- options.allowRelative && isRelativeToLocation ? "https://defaultbaseurl.com" : void 0
13415
- );
13416
- if (options.isSecure) {
13417
- return url.protocol === "https:";
13418
- }
13419
- return true;
13420
- } catch (e) {
13421
- return false;
13422
- }
13423
- };
13424
-
13425
13533
  // src/components/Input/styles/CaptionText.styles.ts
13426
13534
  import { css as css45 } from "@emotion/react";
13427
13535
  var CaptionText = (dynamicSize) => css45`
@@ -18443,29 +18551,85 @@ var ParameterToggleInner = forwardRef17(
18443
18551
  }
18444
18552
  );
18445
18553
 
18554
+ // src/components/ProgressBar/ProgressBar.styles.ts
18555
+ import { css as css84 } from "@emotion/react";
18556
+ var container = css84`
18557
+ background: var(--gray-50);
18558
+ margin-block: var(--spacing-sm);
18559
+ position: relative;
18560
+ overflow: hidden;
18561
+ height: 1rem;
18562
+ border-radius: var(--rounded-sm);
18563
+ border: solid 1px var(--gray-300);
18564
+ `;
18565
+ var themeMap = {
18566
+ primary: css84`
18567
+ background-color: var(--accent-light);
18568
+ `,
18569
+ secondary: css84`
18570
+ background-color: var(--brand-secondary-5);
18571
+ `
18572
+ };
18573
+ var bar = css84`
18574
+ position: absolute;
18575
+ inset: 0;
18576
+ transition: transform var(--duration-fast) var(--timing-ease-out);
18577
+ transform-origin: 0 center;
18578
+ `;
18579
+
18580
+ // src/components/ProgressBar/ProgressBar.tsx
18581
+ import { jsx as jsx108 } from "@emotion/react/jsx-runtime";
18582
+ function ProgressBar({ className, current, max, theme = "primary" }) {
18583
+ const valueNow = Math.min(current, max);
18584
+ const valuePercentage = max > 0 ? Math.ceil(100 / max * valueNow) : 0;
18585
+ return /* @__PURE__ */ jsx108(
18586
+ "div",
18587
+ {
18588
+ className,
18589
+ css: container,
18590
+ role: "progressbar",
18591
+ "aria-busy": valuePercentage !== 100,
18592
+ "aria-invalid": false,
18593
+ "aria-valuemin": 0,
18594
+ "aria-valuemax": max,
18595
+ "aria-valuenow": valueNow,
18596
+ children: /* @__PURE__ */ jsx108(
18597
+ "div",
18598
+ {
18599
+ css: [bar, themeMap[theme]],
18600
+ style: {
18601
+ transform: `scaleX(${valuePercentage / 100})`
18602
+ },
18603
+ "aria-label": `${current} / ${max}`
18604
+ }
18605
+ )
18606
+ }
18607
+ );
18608
+ }
18609
+
18446
18610
  // src/components/ProgressList/ProgressList.tsx
18447
- import { css as css85 } from "@emotion/react";
18611
+ import { css as css86 } from "@emotion/react";
18448
18612
  import { CgCheckO as CgCheckO2 } from "@react-icons/all-files/cg/CgCheckO";
18449
18613
  import { CgRadioCheck } from "@react-icons/all-files/cg/CgRadioCheck";
18450
18614
  import { CgRecord } from "@react-icons/all-files/cg/CgRecord";
18451
18615
  import { useMemo as useMemo4 } from "react";
18452
18616
 
18453
18617
  // src/components/ProgressList/styles/ProgressList.styles.ts
18454
- import { css as css84 } from "@emotion/react";
18455
- var progressListStyles = css84`
18618
+ import { css as css85 } from "@emotion/react";
18619
+ var progressListStyles = css85`
18456
18620
  display: flex;
18457
18621
  flex-direction: column;
18458
18622
  gap: var(--spacing-sm);
18459
18623
  list-style-type: none;
18460
18624
  `;
18461
- var progressListItemStyles = css84`
18625
+ var progressListItemStyles = css85`
18462
18626
  display: flex;
18463
18627
  gap: var(--spacing-base);
18464
18628
  align-items: center;
18465
18629
  `;
18466
18630
 
18467
18631
  // src/components/ProgressList/ProgressList.tsx
18468
- import { jsx as jsx108, jsxs as jsxs74 } from "@emotion/react/jsx-runtime";
18632
+ import { jsx as jsx109, jsxs as jsxs74 } from "@emotion/react/jsx-runtime";
18469
18633
  var ProgressList = ({ inProgressId, items, autoEllipsis, ...htmlProps }) => {
18470
18634
  const itemsWithStatus = useMemo4(() => {
18471
18635
  const indexOfInProgressItem = items.findIndex(({ id }) => id === inProgressId);
@@ -18479,8 +18643,8 @@ var ProgressList = ({ inProgressId, items, autoEllipsis, ...htmlProps }) => {
18479
18643
  return { ...item, status };
18480
18644
  });
18481
18645
  }, [items, inProgressId]);
18482
- return /* @__PURE__ */ jsx108("ol", { css: progressListStyles, ...htmlProps, children: itemsWithStatus.map(({ id, label, status, error, errorLevel }) => {
18483
- return /* @__PURE__ */ jsx108(
18646
+ return /* @__PURE__ */ jsx109("ol", { css: progressListStyles, ...htmlProps, children: itemsWithStatus.map(({ id, label, status, error, errorLevel }) => {
18647
+ return /* @__PURE__ */ jsx109(
18484
18648
  ProgressListItem,
18485
18649
  {
18486
18650
  status,
@@ -18513,12 +18677,12 @@ var ProgressListItem = ({
18513
18677
  }, [status, error]);
18514
18678
  const statusStyles = useMemo4(() => {
18515
18679
  if (error) {
18516
- return errorLevel === "caution" ? css85`
18680
+ return errorLevel === "caution" ? css86`
18517
18681
  color: rgb(161, 98, 7);
18518
18682
  & svg {
18519
18683
  color: rgb(250, 204, 21);
18520
18684
  }
18521
- ` : css85`
18685
+ ` : css86`
18522
18686
  color: rgb(185, 28, 28);
18523
18687
  & svg {
18524
18688
  color: var(--brand-primary-2);
@@ -18526,35 +18690,35 @@ var ProgressListItem = ({
18526
18690
  `;
18527
18691
  }
18528
18692
  const colorPerStatus = {
18529
- completed: css85`
18693
+ completed: css86`
18530
18694
  opacity: 0.75;
18531
18695
  `,
18532
- inProgress: css85`
18696
+ inProgress: css86`
18533
18697
  -webkit-text-stroke-width: thin;
18534
18698
  `,
18535
- queued: css85`
18699
+ queued: css86`
18536
18700
  opacity: 0.5;
18537
18701
  `
18538
18702
  };
18539
18703
  return colorPerStatus[status];
18540
18704
  }, [status, error, errorLevel]);
18541
18705
  return /* @__PURE__ */ jsxs74("li", { css: [progressListItemStyles, statusStyles], children: [
18542
- /* @__PURE__ */ jsx108(Tooltip, { title: error != null ? error : "", children: /* @__PURE__ */ jsx108("div", { children: /* @__PURE__ */ jsx108(Icon, { icon, size: 20, iconColor: "currentColor" }) }) }),
18706
+ /* @__PURE__ */ jsx109(Tooltip, { title: error != null ? error : "", children: /* @__PURE__ */ jsx109("div", { children: /* @__PURE__ */ jsx109(Icon, { icon, size: 20, iconColor: "currentColor" }) }) }),
18543
18707
  /* @__PURE__ */ jsxs74("div", { children: [
18544
18708
  children,
18545
- /* @__PURE__ */ jsx108("span", { css: { visibility: autoEllipsis && status === "inProgress" && !error ? "visible" : "hidden" }, children: "..." })
18709
+ /* @__PURE__ */ jsx109("span", { css: { visibility: autoEllipsis && status === "inProgress" && !error ? "visible" : "hidden" }, children: "..." })
18546
18710
  ] })
18547
18711
  ] });
18548
18712
  };
18549
18713
 
18550
18714
  // src/components/SegmentedControl/SegmentedControl.tsx
18551
- import { css as css87 } from "@emotion/react";
18715
+ import { css as css88 } from "@emotion/react";
18552
18716
  import { CgCheck as CgCheck4 } from "@react-icons/all-files/cg/CgCheck";
18553
18717
  import { useCallback as useCallback6, useMemo as useMemo5 } from "react";
18554
18718
 
18555
18719
  // src/components/SegmentedControl/SegmentedControl.styles.ts
18556
- import { css as css86 } from "@emotion/react";
18557
- var segmentedControlStyles = css86`
18720
+ import { css as css87 } from "@emotion/react";
18721
+ var segmentedControlStyles = css87`
18558
18722
  --segmented-control-rounded-value: var(--rounded-base);
18559
18723
  --segmented-control-border-width: 1px;
18560
18724
  --segmented-control-selected-color: var(--brand-secondary-3);
@@ -18573,14 +18737,14 @@ var segmentedControlStyles = css86`
18573
18737
  border-radius: calc(var(--segmented-control-rounded-value) + var(--segmented-control-border-width));
18574
18738
  font-size: var(--fs-xs);
18575
18739
  `;
18576
- var segmentedControlVerticalStyles = css86`
18740
+ var segmentedControlVerticalStyles = css87`
18577
18741
  flex-direction: column;
18578
18742
  --segmented-control-first-border-radius: var(--segmented-control-rounded-value)
18579
18743
  var(--segmented-control-rounded-value) 0 0;
18580
18744
  --segmented-control-last-border-radius: 0 0 var(--segmented-control-rounded-value)
18581
18745
  var(--segmented-control-rounded-value);
18582
18746
  `;
18583
- var segmentedControlItemStyles = css86`
18747
+ var segmentedControlItemStyles = css87`
18584
18748
  &:first-of-type label {
18585
18749
  border-radius: var(--segmented-control-first-border-radius);
18586
18750
  }
@@ -18588,10 +18752,10 @@ var segmentedControlItemStyles = css86`
18588
18752
  border-radius: var(--segmented-control-last-border-radius);
18589
18753
  }
18590
18754
  `;
18591
- var segmentedControlInputStyles = css86`
18755
+ var segmentedControlInputStyles = css87`
18592
18756
  ${accessibleHidden}
18593
18757
  `;
18594
- var segmentedControlLabelStyles = (checked, disabled) => css86`
18758
+ var segmentedControlLabelStyles = (checked, disabled) => css87`
18595
18759
  position: relative;
18596
18760
  display: flex;
18597
18761
  align-items: center;
@@ -18658,23 +18822,23 @@ var segmentedControlLabelStyles = (checked, disabled) => css86`
18658
18822
  `}
18659
18823
  }
18660
18824
  `;
18661
- var segmentedControlLabelIconOnlyStyles = css86`
18825
+ var segmentedControlLabelIconOnlyStyles = css87`
18662
18826
  padding-inline: 0.5em;
18663
18827
  `;
18664
- var segmentedControlLabelCheckStyles = css86`
18828
+ var segmentedControlLabelCheckStyles = css87`
18665
18829
  opacity: 0.5;
18666
18830
  `;
18667
- var segmentedControlLabelContentStyles = css86`
18831
+ var segmentedControlLabelContentStyles = css87`
18668
18832
  display: flex;
18669
18833
  align-items: center;
18670
18834
  justify-content: center;
18671
18835
  gap: var(--spacing-sm);
18672
18836
  height: 100%;
18673
18837
  `;
18674
- var segmentedControlLabelTextStyles = css86``;
18838
+ var segmentedControlLabelTextStyles = css87``;
18675
18839
 
18676
18840
  // src/components/SegmentedControl/SegmentedControl.tsx
18677
- import { jsx as jsx109, jsxs as jsxs75 } from "@emotion/react/jsx-runtime";
18841
+ import { jsx as jsx110, jsxs as jsxs75 } from "@emotion/react/jsx-runtime";
18678
18842
  var SegmentedControl = ({
18679
18843
  name,
18680
18844
  options,
@@ -18696,16 +18860,16 @@ var SegmentedControl = ({
18696
18860
  );
18697
18861
  const sizeStyles = useMemo5(() => {
18698
18862
  const map = {
18699
- sm: css87({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
18700
- md: css87({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
18701
- lg: css87({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" })
18863
+ sm: css88({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
18864
+ md: css88({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
18865
+ lg: css88({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" })
18702
18866
  };
18703
18867
  return map[size];
18704
18868
  }, [size]);
18705
18869
  const isIconOnly = useMemo5(() => {
18706
18870
  return options.every((option) => option.icon && !option.label);
18707
18871
  }, [options]);
18708
- return /* @__PURE__ */ jsx109(
18872
+ return /* @__PURE__ */ jsx110(
18709
18873
  "div",
18710
18874
  {
18711
18875
  css: [segmentedControlStyles, orientation === "vertical" ? segmentedControlVerticalStyles : void 0],
@@ -18713,11 +18877,11 @@ var SegmentedControl = ({
18713
18877
  children: options.map((option, index) => {
18714
18878
  const text = option.label ? option.label : option.icon ? null : String(option.value);
18715
18879
  const isDisabled = disabled || option.disabled;
18716
- return /* @__PURE__ */ jsx109(
18880
+ return /* @__PURE__ */ jsx110(
18717
18881
  Tooltip,
18718
18882
  {
18719
18883
  title: isDisabled || !option.tooltip ? "" : option.tooltip,
18720
- children: /* @__PURE__ */ jsx109("div", { css: segmentedControlItemStyles, "data-testid": "container-segmented-control", children: /* @__PURE__ */ jsxs75(
18884
+ children: /* @__PURE__ */ jsx110("div", { css: segmentedControlItemStyles, "data-testid": "container-segmented-control", children: /* @__PURE__ */ jsxs75(
18721
18885
  "label",
18722
18886
  {
18723
18887
  css: [
@@ -18726,7 +18890,7 @@ var SegmentedControl = ({
18726
18890
  isIconOnly ? segmentedControlLabelIconOnlyStyles : void 0
18727
18891
  ],
18728
18892
  children: [
18729
- /* @__PURE__ */ jsx109(
18893
+ /* @__PURE__ */ jsx110(
18730
18894
  "input",
18731
18895
  {
18732
18896
  css: segmentedControlInputStyles,
@@ -18738,10 +18902,10 @@ var SegmentedControl = ({
18738
18902
  disabled: isDisabled
18739
18903
  }
18740
18904
  ),
18741
- option.value !== value || noCheckmark ? null : /* @__PURE__ */ jsx109(CgCheck4, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
18905
+ option.value !== value || noCheckmark ? null : /* @__PURE__ */ jsx110(CgCheck4, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
18742
18906
  /* @__PURE__ */ jsxs75("span", { css: segmentedControlLabelContentStyles, children: [
18743
- !option.icon ? null : /* @__PURE__ */ jsx109(Icon, { icon: option.icon, size: "1.5em", iconColor: "currentColor" }),
18744
- !text ? null : /* @__PURE__ */ jsx109("span", { css: segmentedControlLabelTextStyles, children: text })
18907
+ !option.icon ? null : /* @__PURE__ */ jsx110(Icon, { icon: option.icon, size: "1.5em", iconColor: "currentColor" }),
18908
+ !text ? null : /* @__PURE__ */ jsx110("span", { css: segmentedControlLabelTextStyles, children: text })
18745
18909
  ] })
18746
18910
  ]
18747
18911
  }
@@ -18755,18 +18919,18 @@ var SegmentedControl = ({
18755
18919
  };
18756
18920
 
18757
18921
  // src/components/Skeleton/Skeleton.styles.ts
18758
- import { css as css88, keyframes as keyframes4 } from "@emotion/react";
18922
+ import { css as css89, keyframes as keyframes4 } from "@emotion/react";
18759
18923
  var lightFadingOut = keyframes4`
18760
18924
  from { opacity: 0.1; }
18761
18925
  to { opacity: 0.025; }
18762
18926
  `;
18763
- var skeletonStyles = css88`
18927
+ var skeletonStyles = css89`
18764
18928
  animation: ${lightFadingOut} 1s ease-out infinite alternate;
18765
18929
  background-color: var(--gray-900);
18766
18930
  `;
18767
18931
 
18768
18932
  // src/components/Skeleton/Skeleton.tsx
18769
- import { jsx as jsx110 } from "@emotion/react/jsx-runtime";
18933
+ import { jsx as jsx111 } from "@emotion/react/jsx-runtime";
18770
18934
  var Skeleton = ({
18771
18935
  width = "100%",
18772
18936
  height = "1.25rem",
@@ -18774,7 +18938,7 @@ var Skeleton = ({
18774
18938
  circle = false,
18775
18939
  children,
18776
18940
  ...otherProps
18777
- }) => /* @__PURE__ */ jsx110(
18941
+ }) => /* @__PURE__ */ jsx111(
18778
18942
  "div",
18779
18943
  {
18780
18944
  css: [
@@ -18797,8 +18961,8 @@ var Skeleton = ({
18797
18961
  import * as React23 from "react";
18798
18962
 
18799
18963
  // src/components/Switch/Switch.styles.ts
18800
- import { css as css89 } from "@emotion/react";
18801
- var SwitchInputContainer = css89`
18964
+ import { css as css90 } from "@emotion/react";
18965
+ var SwitchInputContainer = css90`
18802
18966
  cursor: pointer;
18803
18967
  display: inline-block;
18804
18968
  position: relative;
@@ -18807,7 +18971,7 @@ var SwitchInputContainer = css89`
18807
18971
  vertical-align: middle;
18808
18972
  user-select: none;
18809
18973
  `;
18810
- var SwitchInput = css89`
18974
+ var SwitchInput = css90`
18811
18975
  appearance: none;
18812
18976
  border-radius: var(--rounded-full);
18813
18977
  background-color: var(--white);
@@ -18845,7 +19009,7 @@ var SwitchInput = css89`
18845
19009
  cursor: not-allowed;
18846
19010
  }
18847
19011
  `;
18848
- var SwitchInputDisabled = css89`
19012
+ var SwitchInputDisabled = css90`
18849
19013
  opacity: var(--opacity-50);
18850
19014
  cursor: not-allowed;
18851
19015
 
@@ -18853,7 +19017,7 @@ var SwitchInputDisabled = css89`
18853
19017
  cursor: not-allowed;
18854
19018
  }
18855
19019
  `;
18856
- var SwitchInputLabel = css89`
19020
+ var SwitchInputLabel = css90`
18857
19021
  align-items: center;
18858
19022
  color: var(--brand-secondary-1);
18859
19023
  display: inline-flex;
@@ -18875,14 +19039,14 @@ var SwitchInputLabel = css89`
18875
19039
  top: 0;
18876
19040
  }
18877
19041
  `;
18878
- var SwitchText = css89`
19042
+ var SwitchText = css90`
18879
19043
  color: var(--gray-500);
18880
19044
  font-size: var(--fs-sm);
18881
19045
  padding-inline: var(--spacing-2xl) 0;
18882
19046
  `;
18883
19047
 
18884
19048
  // src/components/Switch/Switch.tsx
18885
- import { Fragment as Fragment20, jsx as jsx111, jsxs as jsxs76 } from "@emotion/react/jsx-runtime";
19049
+ import { Fragment as Fragment20, jsx as jsx112, jsxs as jsxs76 } from "@emotion/react/jsx-runtime";
18886
19050
  var Switch = React23.forwardRef(
18887
19051
  ({ label, infoText, toggleText, children, ...inputProps }, ref) => {
18888
19052
  let additionalText = infoText;
@@ -18891,10 +19055,10 @@ var Switch = React23.forwardRef(
18891
19055
  }
18892
19056
  return /* @__PURE__ */ jsxs76(Fragment20, { children: [
18893
19057
  /* @__PURE__ */ jsxs76("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
18894
- /* @__PURE__ */ jsx111("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
18895
- /* @__PURE__ */ jsx111("span", { css: SwitchInputLabel, children: label })
19058
+ /* @__PURE__ */ jsx112("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
19059
+ /* @__PURE__ */ jsx112("span", { css: SwitchInputLabel, children: label })
18896
19060
  ] }),
18897
- additionalText ? /* @__PURE__ */ jsx111("p", { css: SwitchText, children: additionalText }) : null,
19061
+ additionalText ? /* @__PURE__ */ jsx112("p", { css: SwitchText, children: additionalText }) : null,
18898
19062
  children
18899
19063
  ] });
18900
19064
  }
@@ -18904,8 +19068,8 @@ var Switch = React23.forwardRef(
18904
19068
  import * as React24 from "react";
18905
19069
 
18906
19070
  // src/components/Table/Table.styles.ts
18907
- import { css as css90 } from "@emotion/react";
18908
- var table = ({ cellPadding = "var(--spacing-base) var(--spacing-md)" }) => css90`
19071
+ import { css as css91 } from "@emotion/react";
19072
+ var table = ({ cellPadding = "var(--spacing-base) var(--spacing-md)" }) => css91`
18909
19073
  border-bottom: 1px solid var(--gray-400);
18910
19074
  border-collapse: collapse;
18911
19075
  min-width: 100%;
@@ -18916,55 +19080,55 @@ var table = ({ cellPadding = "var(--spacing-base) var(--spacing-md)" }) => css90
18916
19080
  padding: ${cellPadding};
18917
19081
  }
18918
19082
  `;
18919
- var tableHead = css90`
19083
+ var tableHead = css91`
18920
19084
  background: var(--gray-100);
18921
19085
  color: var(--brand-secondary-1);
18922
19086
  text-align: left;
18923
19087
  `;
18924
- var tableRow = css90`
19088
+ var tableRow = css91`
18925
19089
  border-bottom: 1px solid var(--gray-200);
18926
19090
  `;
18927
- var tableCellHead = css90`
19091
+ var tableCellHead = css91`
18928
19092
  font-size: var(--fs-sm);
18929
19093
  text-transform: uppercase;
18930
19094
  font-weight: var(--fw-bold);
18931
19095
  `;
18932
19096
 
18933
19097
  // src/components/Table/Table.tsx
18934
- import { jsx as jsx112 } from "@emotion/react/jsx-runtime";
19098
+ import { jsx as jsx113 } from "@emotion/react/jsx-runtime";
18935
19099
  var Table = React24.forwardRef(
18936
19100
  ({ children, cellPadding, ...otherProps }, ref) => {
18937
- return /* @__PURE__ */ jsx112("table", { ref, css: table({ cellPadding }), ...otherProps, children });
19101
+ return /* @__PURE__ */ jsx113("table", { ref, css: table({ cellPadding }), ...otherProps, children });
18938
19102
  }
18939
19103
  );
18940
19104
  var TableHead = React24.forwardRef(
18941
19105
  ({ children, ...otherProps }, ref) => {
18942
- return /* @__PURE__ */ jsx112("thead", { ref, css: tableHead, ...otherProps, children });
19106
+ return /* @__PURE__ */ jsx113("thead", { ref, css: tableHead, ...otherProps, children });
18943
19107
  }
18944
19108
  );
18945
19109
  var TableBody = React24.forwardRef(
18946
19110
  ({ children, ...otherProps }, ref) => {
18947
- return /* @__PURE__ */ jsx112("tbody", { ref, ...otherProps, children });
19111
+ return /* @__PURE__ */ jsx113("tbody", { ref, ...otherProps, children });
18948
19112
  }
18949
19113
  );
18950
19114
  var TableFoot = React24.forwardRef(
18951
19115
  ({ children, ...otherProps }, ref) => {
18952
- return /* @__PURE__ */ jsx112("tfoot", { ref, ...otherProps, children });
19116
+ return /* @__PURE__ */ jsx113("tfoot", { ref, ...otherProps, children });
18953
19117
  }
18954
19118
  );
18955
19119
  var TableRow = React24.forwardRef(
18956
19120
  ({ children, ...otherProps }, ref) => {
18957
- return /* @__PURE__ */ jsx112("tr", { ref, css: tableRow, ...otherProps, children });
19121
+ return /* @__PURE__ */ jsx113("tr", { ref, css: tableRow, ...otherProps, children });
18958
19122
  }
18959
19123
  );
18960
19124
  var TableCellHead = React24.forwardRef(
18961
19125
  ({ children, ...otherProps }, ref) => {
18962
- return /* @__PURE__ */ jsx112("th", { ref, css: tableCellHead, ...otherProps, children });
19126
+ return /* @__PURE__ */ jsx113("th", { ref, css: tableCellHead, ...otherProps, children });
18963
19127
  }
18964
19128
  );
18965
19129
  var TableCellData = React24.forwardRef(
18966
19130
  ({ children, ...otherProps }, ref) => {
18967
- return /* @__PURE__ */ jsx112("td", { ref, ...otherProps, children });
19131
+ return /* @__PURE__ */ jsx113("td", { ref, ...otherProps, children });
18968
19132
  }
18969
19133
  );
18970
19134
 
@@ -18978,8 +19142,8 @@ import {
18978
19142
  } from "reakit/Tab";
18979
19143
 
18980
19144
  // src/components/Tabs/Tabs.styles.ts
18981
- import { css as css91 } from "@emotion/react";
18982
- var tabButtonStyles = css91`
19145
+ import { css as css92 } from "@emotion/react";
19146
+ var tabButtonStyles = css92`
18983
19147
  align-items: center;
18984
19148
  border: 0;
18985
19149
  height: 2.5rem;
@@ -18996,14 +19160,14 @@ var tabButtonStyles = css91`
18996
19160
  box-shadow: inset 0 -2px 0 var(--brand-secondary-3);
18997
19161
  }
18998
19162
  `;
18999
- var tabButtonGroupStyles = css91`
19163
+ var tabButtonGroupStyles = css92`
19000
19164
  display: flex;
19001
19165
  gap: var(--spacing-base);
19002
19166
  border-bottom: 1px solid var(--gray-300);
19003
19167
  `;
19004
19168
 
19005
19169
  // src/components/Tabs/Tabs.tsx
19006
- import { jsx as jsx113 } from "@emotion/react/jsx-runtime";
19170
+ import { jsx as jsx114 } from "@emotion/react/jsx-runtime";
19007
19171
  var CurrentTabContext = createContext6(null);
19008
19172
  var useCurrentTab = () => {
19009
19173
  const context = useContext7(CurrentTabContext);
@@ -19032,24 +19196,24 @@ var Tabs = ({ children, onSelectedIdChange, useHashForState, selectedId, ...prop
19032
19196
  tab.setSelectedId(selected);
19033
19197
  }
19034
19198
  }, [selected]);
19035
- return /* @__PURE__ */ jsx113(CurrentTabContext.Provider, { value: tab, children });
19199
+ return /* @__PURE__ */ jsx114(CurrentTabContext.Provider, { value: tab, children });
19036
19200
  };
19037
19201
  var TabButtonGroup = ({ children, ...props }) => {
19038
19202
  const currentTab = useCurrentTab();
19039
- return /* @__PURE__ */ jsx113(ReakitTabList, { ...props, ...currentTab, css: tabButtonGroupStyles, children });
19203
+ return /* @__PURE__ */ jsx114(ReakitTabList, { ...props, ...currentTab, css: tabButtonGroupStyles, children });
19040
19204
  };
19041
19205
  var TabButton = ({ children, id, ...props }) => {
19042
19206
  const currentTab = useCurrentTab();
19043
- return /* @__PURE__ */ jsx113(ReakitTab, { type: "button", id, ...currentTab, ...props, css: tabButtonStyles, children });
19207
+ return /* @__PURE__ */ jsx114(ReakitTab, { type: "button", id, ...currentTab, ...props, css: tabButtonStyles, children });
19044
19208
  };
19045
19209
  var TabContent = ({ children, ...props }) => {
19046
19210
  const currentTab = useCurrentTab();
19047
- return /* @__PURE__ */ jsx113(ReakitTabPanel, { ...props, ...currentTab, children });
19211
+ return /* @__PURE__ */ jsx114(ReakitTabPanel, { ...props, ...currentTab, children });
19048
19212
  };
19049
19213
 
19050
19214
  // src/components/Validation/StatusBullet.styles.ts
19051
- import { css as css92 } from "@emotion/react";
19052
- var StatusBulletContainer = css92`
19215
+ import { css as css93 } from "@emotion/react";
19216
+ var StatusBulletContainer = css93`
19053
19217
  align-items: center;
19054
19218
  align-self: center;
19055
19219
  color: var(--gray-500);
@@ -19066,33 +19230,33 @@ var StatusBulletContainer = css92`
19066
19230
  display: block;
19067
19231
  }
19068
19232
  `;
19069
- var StatusBulletBase = css92`
19233
+ var StatusBulletBase = css93`
19070
19234
  font-size: var(--fs-sm);
19071
19235
  &:before {
19072
19236
  width: var(--fs-xs);
19073
19237
  height: var(--fs-xs);
19074
19238
  }
19075
19239
  `;
19076
- var StatusBulletSmall = css92`
19240
+ var StatusBulletSmall = css93`
19077
19241
  font-size: var(--fs-xs);
19078
19242
  &:before {
19079
19243
  width: var(--fs-xxs);
19080
19244
  height: var(--fs-xxs);
19081
19245
  }
19082
19246
  `;
19083
- var StatusDraft = css92`
19247
+ var StatusDraft = css93`
19084
19248
  &:before {
19085
19249
  background: var(--white);
19086
19250
  box-shadow: inset 0 0 0 0.125rem var(--primary-action-default);
19087
19251
  }
19088
19252
  `;
19089
- var StatusModified = css92`
19253
+ var StatusModified = css93`
19090
19254
  &:before {
19091
19255
  background: linear-gradient(to right, var(--white) 50%, var(--primary-action-default) 50% 100%);
19092
19256
  box-shadow: inset 0 0 0 0.125rem var(--primary-action-default);
19093
19257
  }
19094
19258
  `;
19095
- var StatusError = css92`
19259
+ var StatusError = css93`
19096
19260
  color: var(--error);
19097
19261
  &:before {
19098
19262
  /* TODO: replace this with an svg icon */
@@ -19105,19 +19269,19 @@ var StatusError = css92`
19105
19269
  );
19106
19270
  }
19107
19271
  `;
19108
- var StatusPublished = css92`
19272
+ var StatusPublished = css93`
19109
19273
  &:before {
19110
19274
  background: var(--primary-action-default);
19111
19275
  }
19112
19276
  `;
19113
- var StatusOrphan = css92`
19277
+ var StatusOrphan = css93`
19114
19278
  &:before {
19115
19279
  background: var(--brand-secondary-5);
19116
19280
  }
19117
19281
  `;
19118
19282
 
19119
19283
  // src/components/Validation/StatusBullet.tsx
19120
- import { jsx as jsx114 } from "@emotion/react/jsx-runtime";
19284
+ import { jsx as jsx115 } from "@emotion/react/jsx-runtime";
19121
19285
  var StatusBullet = ({
19122
19286
  status,
19123
19287
  hideText = false,
@@ -19135,7 +19299,7 @@ var StatusBullet = ({
19135
19299
  Previous: StatusDraft
19136
19300
  };
19137
19301
  const statusSize = size === "base" ? StatusBulletBase : StatusBulletSmall;
19138
- return /* @__PURE__ */ jsx114(
19302
+ return /* @__PURE__ */ jsx115(
19139
19303
  "span",
19140
19304
  {
19141
19305
  role: "status",
@@ -19250,6 +19414,7 @@ export {
19250
19414
  ParameterToggle,
19251
19415
  ParameterToggleInner,
19252
19416
  Popover2 as Popover,
19417
+ ProgressBar,
19253
19418
  ProgressList,
19254
19419
  ProgressListItem,
19255
19420
  ResolveIcon,
@@ -19288,6 +19453,7 @@ export {
19288
19453
  VerticalRhythm,
19289
19454
  WarningMessage,
19290
19455
  accessibleHidden,
19456
+ addPathSegmentToPathname,
19291
19457
  borderTopIcon,
19292
19458
  breakpoints,
19293
19459
  button,
@@ -19316,6 +19482,8 @@ export {
19316
19482
  fadeOutBottom,
19317
19483
  fullWidthScreenIcon,
19318
19484
  getDrawerAttributes,
19485
+ getParentPath,
19486
+ getPathSegment,
19319
19487
  growSubtle,
19320
19488
  imageTextIcon,
19321
19489
  infoFilledIcon,
@@ -19323,6 +19491,8 @@ export {
19323
19491
  inputError,
19324
19492
  inputSelect,
19325
19493
  isMacLike,
19494
+ isSecureURL,
19495
+ isValidUrl,
19326
19496
  jsonIcon,
19327
19497
  labelText,
19328
19498
  loader_default as loaderAnimationData,