@uniformdev/design-system 19.45.0 → 19.45.1

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.js CHANGED
@@ -17498,17 +17498,6 @@ var textarea2 = import_react92.css`
17498
17498
  resize: vertical;
17499
17499
  min-height: 2rem;
17500
17500
  `;
17501
- var imageWrapper = import_react92.css`
17502
- background: var(--white);
17503
- `;
17504
- var img = import_react92.css`
17505
- animation: ${fadeIn} var(--duration-fast) var(--timing-ease-out) forwards;
17506
- object-fit: contain;
17507
- max-width: 100%;
17508
- height: auto;
17509
- opacity: var(--opacity-0);
17510
- margin: var(--spacing-sm) auto 0;
17511
- `;
17512
17501
  var dataConnectButton = import_react92.css`
17513
17502
  align-items: center;
17514
17503
  appearance: none;
@@ -17698,11 +17687,12 @@ var ParameterGroup = (0, import_react95.forwardRef)(
17698
17687
 
17699
17688
  // src/components/ParameterInputs/ParameterImage.tsx
17700
17689
  init_emotion_jsx_shim();
17701
- var import_react100 = require("react");
17690
+ var import_react101 = require("react");
17702
17691
 
17703
17692
  // src/components/ParameterInputs/ParameterImagePreview.tsx
17704
17693
  init_emotion_jsx_shim();
17705
- var import_react96 = require("react");
17694
+ var import_react97 = require("react");
17695
+ var import_react_dom2 = require("react-dom");
17706
17696
 
17707
17697
  // src/utils/url.ts
17708
17698
  init_emotion_jsx_shim();
@@ -17715,17 +17705,114 @@ var isValidUrl = (url, options = {}) => {
17715
17705
  }
17716
17706
  };
17717
17707
 
17708
+ // src/components/ParameterInputs/styles/ParameterImage.styles.ts
17709
+ init_emotion_jsx_shim();
17710
+ var import_react96 = require("@emotion/react");
17711
+ var imageWrapper = import_react96.css`
17712
+ position: relative;
17713
+ display: flex;
17714
+ flex-direction: column;
17715
+ background: var(--gray-50);
17716
+ max-width: 100%;
17717
+ max-height: 100%;
17718
+ `;
17719
+ var imageWrapperLoading = import_react96.css`
17720
+ animation: ${skeletonLoading} var(--duration-slow) linear infinite alternate;
17721
+ `;
17722
+ var img = import_react96.css`
17723
+ object-fit: contain;
17724
+ max-width: 100%;
17725
+ height: auto;
17726
+ opacity: var(--opacity-0);
17727
+ margin: 0 auto;
17728
+ `;
17729
+ var imgLoading = import_react96.css`
17730
+ opacity: 0;
17731
+ `;
17732
+ var imgLoaded = import_react96.css`
17733
+ animation: ${fadeIn} var(--duration-slow) var(--timing-ease-out) forwards;
17734
+ opacity: 1;
17735
+ `;
17736
+ var brokenImage = import_react96.css`
17737
+ height: 160px;
17738
+ `;
17739
+ var previewWrapper = import_react96.css`
17740
+ margin-top: var(--spacing-xs);
17741
+ background: var(--gray-50);
17742
+ padding: var(--spacing-sm);
17743
+ border: solid 1px var(--gray-300);
17744
+ border-radius: var(--rounded-sm);
17745
+ `;
17746
+ var previewLink = import_react96.css`
17747
+ display: block;
17748
+ width: 100%;
17749
+
17750
+ img {
17751
+ max-height: 9rem;
17752
+ }
17753
+ `;
17754
+ var previewModalWrapper = import_react96.css`
17755
+ background: var(--gray-50);
17756
+ display: flex;
17757
+ height: 100%;
17758
+ justify-content: center;
17759
+ align-items: center;
17760
+ border: solid 1px var(--gray-300);
17761
+ border-radius: var(--rounded-sm);
17762
+ `;
17763
+ var previewModalImage = import_react96.css`
17764
+ display: flex;
17765
+ height: 100%;
17766
+ width: 100%;
17767
+ justify-content: center;
17768
+ align-items: center;
17769
+ img {
17770
+ max-height: 100%;
17771
+ }
17772
+ `;
17773
+
17718
17774
  // src/components/ParameterInputs/ParameterImagePreview.tsx
17719
17775
  var import_jsx_runtime88 = require("@emotion/react/jsx-runtime");
17720
17776
  function ParameterImagePreview({ imageSrc }) {
17721
- const [loading, setLoading] = (0, import_react96.useState)(false);
17722
- const [loadErrorText, setLoadErrorText] = (0, import_react96.useState)("");
17777
+ const [showModal, setShowModal] = (0, import_react97.useState)(false);
17778
+ return imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { css: previewWrapper, children: [
17779
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(PreviewImageModal, { open: showModal, imageSrc, onRequestClose: () => setShowModal(false) }),
17780
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
17781
+ "button",
17782
+ {
17783
+ css: previewLink,
17784
+ onClick: () => {
17785
+ setShowModal(true);
17786
+ },
17787
+ children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Image, { src: imageSrc })
17788
+ }
17789
+ )
17790
+ ] }) : null;
17791
+ }
17792
+ var PreviewImageModal = ({ open, onRequestClose, imageSrc }) => {
17793
+ return open ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_jsx_runtime88.Fragment, { children: (0, import_react_dom2.createPortal)(
17794
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
17795
+ Modal,
17796
+ {
17797
+ header: "Image Preview",
17798
+ onRequestClose,
17799
+ withoutContentPadding: true,
17800
+ buttonGroup: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Button, { buttonType: "secondary", onClick: onRequestClose, children: "Ok" }),
17801
+ children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { css: previewModalWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Image, { src: imageSrc, css: previewModalImage }) })
17802
+ }
17803
+ ),
17804
+ document.body
17805
+ ) }) : null;
17806
+ };
17807
+ var Image = ({ src, className }) => {
17808
+ const [loading, setLoading] = (0, import_react97.useState)(false);
17809
+ const [loadErrorText, setLoadErrorText] = (0, import_react97.useState)("");
17723
17810
  const errorText = "The text you provided is not a valid URL";
17724
- const updateImageSrc = (0, import_react96.useCallback)(() => {
17811
+ const updateImageSrc = (0, import_react97.useCallback)(() => {
17725
17812
  let message = "";
17726
17813
  try {
17727
- if (imageSrc !== "") {
17728
- const url = String(imageSrc).startsWith("//") ? `${location.protocol}${imageSrc}` : String(imageSrc);
17814
+ if (src !== "") {
17815
+ const url = String(src).startsWith("//") ? `${location.protocol}${src}` : String(src);
17729
17816
  if (!isValidUrl(url) || !url.startsWith("https")) {
17730
17817
  throw Error(errorText);
17731
17818
  }
@@ -17735,43 +17822,49 @@ function ParameterImagePreview({ imageSrc }) {
17735
17822
  message = errorText;
17736
17823
  }
17737
17824
  setLoadErrorText(message);
17738
- }, [setLoadErrorText, imageSrc]);
17739
- (0, import_react96.useEffect)(() => {
17825
+ }, [setLoadErrorText, src]);
17826
+ (0, import_react97.useEffect)(() => {
17740
17827
  updateImageSrc();
17741
- }, [imageSrc]);
17828
+ }, [src]);
17742
17829
  const handleLoadEvent = () => {
17743
17830
  setLoadErrorText("");
17744
- if (imageSrc) {
17831
+ if (src) {
17745
17832
  setLoading(true);
17746
17833
  }
17747
17834
  const timer = setTimeout(() => {
17748
17835
  setLoading(false);
17749
- }, 200);
17836
+ }, 1e3);
17750
17837
  return () => clearTimeout(timer);
17751
17838
  };
17752
17839
  const handleErrorEvent = () => {
17753
17840
  setLoadErrorText("The value you provided is not a valid image URL");
17754
17841
  };
17755
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { css: imageWrapper, children: [
17756
- imageSrc && !loadErrorText ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
17757
- "img",
17758
- {
17759
- src: imageSrc,
17760
- css: img,
17761
- alt: "image preview",
17762
- onLoad: handleLoadEvent,
17763
- onError: handleErrorEvent,
17764
- loading: "lazy",
17765
- "data-testid": "parameter-image-preview"
17766
- }
17767
- ) : null,
17768
- imageSrc && loadErrorText ? /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_jsx_runtime88.Fragment, { children: [
17769
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(BrokenImage, { css: img }),
17770
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ErrorMessage, { message: loadErrorText })
17771
- ] }) : null,
17772
- loading && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(LoadingIcon, {})
17773
- ] });
17774
- }
17842
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(
17843
+ "span",
17844
+ {
17845
+ className,
17846
+ css: [imageWrapper, loading ? imageWrapperLoading : null],
17847
+ children: [
17848
+ src && !loadErrorText ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
17849
+ "img",
17850
+ {
17851
+ src,
17852
+ css: [img, loading ? imgLoading : imgLoaded],
17853
+ alt: "image preview",
17854
+ onLoad: handleLoadEvent,
17855
+ onError: handleErrorEvent,
17856
+ loading: "lazy",
17857
+ "data-testid": "parameter-image-preview"
17858
+ }
17859
+ ) : null,
17860
+ src && loadErrorText ? /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_jsx_runtime88.Fragment, { children: [
17861
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(BrokenImage, { css: [brokenImage, img, imgLoaded] }),
17862
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ErrorMessage, { message: loadErrorText })
17863
+ ] }) : null
17864
+ ]
17865
+ }
17866
+ );
17867
+ };
17775
17868
  var BrokenImage = ({ ...props }) => {
17776
17869
  return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(
17777
17870
  "svg",
@@ -17807,7 +17900,7 @@ var BrokenImage = ({ ...props }) => {
17807
17900
 
17808
17901
  // src/components/ParameterInputs/ParameterShell.tsx
17809
17902
  init_emotion_jsx_shim();
17810
- var import_react99 = require("react");
17903
+ var import_react100 = require("react");
17811
17904
 
17812
17905
  // src/components/ParameterInputs/ParameterLabel.tsx
17813
17906
  init_emotion_jsx_shim();
@@ -17818,9 +17911,9 @@ var ParameterLabel = ({ id, asSpan, children, ...props }) => {
17818
17911
 
17819
17912
  // src/components/ParameterInputs/ParameterMenuButton.tsx
17820
17913
  init_emotion_jsx_shim();
17821
- var import_react97 = require("react");
17914
+ var import_react98 = require("react");
17822
17915
  var import_jsx_runtime90 = require("@emotion/react/jsx-runtime");
17823
- var ParameterMenuButton = (0, import_react97.forwardRef)(
17916
+ var ParameterMenuButton = (0, import_react98.forwardRef)(
17824
17917
  ({ label, children }, ref) => {
17825
17918
  return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
17826
17919
  Menu,
@@ -17845,8 +17938,8 @@ var ParameterMenuButton = (0, import_react97.forwardRef)(
17845
17938
 
17846
17939
  // src/components/ParameterInputs/styles/ParameterShell.styles.ts
17847
17940
  init_emotion_jsx_shim();
17848
- var import_react98 = require("@emotion/react");
17849
- var emptyParameterShell = import_react98.css`
17941
+ var import_react99 = require("@emotion/react");
17942
+ var emptyParameterShell = import_react99.css`
17850
17943
  border-radius: var(--rounded-sm);
17851
17944
  background: var(--white);
17852
17945
  flex-grow: 1;
@@ -17854,7 +17947,7 @@ var emptyParameterShell = import_react98.css`
17854
17947
  position: relative;
17855
17948
  max-width: 100%;
17856
17949
  `;
17857
- var emptyParameterShellText = import_react98.css`
17950
+ var emptyParameterShellText = import_react99.css`
17858
17951
  background: var(--brand-secondary-6);
17859
17952
  border-radius: var(--rounded-sm);
17860
17953
  padding: var(--spacing-sm);
@@ -17862,7 +17955,7 @@ var emptyParameterShellText = import_react98.css`
17862
17955
  font-size: var(--fs-sm);
17863
17956
  margin: 0;
17864
17957
  `;
17865
- var overrideMarker = import_react98.css`
17958
+ var overrideMarker = import_react99.css`
17866
17959
  border-radius: var(--rounded-sm);
17867
17960
  border: 10px solid var(--gray-300);
17868
17961
  border-left-color: transparent;
@@ -17930,7 +18023,7 @@ var ParameterShell = ({
17930
18023
  children,
17931
18024
  ...props
17932
18025
  }) => {
17933
- const [manualErrorMessage, setManualErrorMessage] = (0, import_react99.useState)(void 0);
18026
+ const [manualErrorMessage, setManualErrorMessage] = (0, import_react100.useState)(void 0);
17934
18027
  const setErrorMessage = (message) => setManualErrorMessage(message);
17935
18028
  const errorMessaging = errorMessage || manualErrorMessage;
17936
18029
  return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("div", { css: inputContainer2, ...props, children: [
@@ -17974,14 +18067,19 @@ var ParameterOverrideMarker = (props) => /* @__PURE__ */ (0, import_jsx_runtime9
17974
18067
 
17975
18068
  // src/components/ParameterInputs/ParameterImage.tsx
17976
18069
  var import_jsx_runtime92 = require("@emotion/react/jsx-runtime");
17977
- var ParameterImage = (0, import_react100.forwardRef)((props, ref) => {
17978
- const { shellProps, innerProps } = extractParameterProps(props);
17979
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(ParameterShell, { "data-testid": "parameter-image", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(ParameterImageInner, { ref, ...innerProps, disablePreview: props.disablePreview }) });
17980
- });
17981
- var ParameterImageInner = (0, import_react100.forwardRef)((props, ref) => {
18070
+ var ParameterImage = (0, import_react101.forwardRef)(
18071
+ ({ children, ...props }, ref) => {
18072
+ const { shellProps, innerProps } = extractParameterProps(props);
18073
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(ParameterShell, { "data-test-id": "parameter-image", ...shellProps, children: [
18074
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(ParameterImageInner, { ref, ...innerProps }),
18075
+ children
18076
+ ] });
18077
+ }
18078
+ );
18079
+ var ParameterImageInner = (0, import_react101.forwardRef)((props, ref) => {
17982
18080
  const { value } = props;
17983
18081
  const { id, label, hiddenLabel, errorMessage } = useParameterShell();
17984
- const deferredValue = (0, import_react100.useDeferredValue)(value);
18082
+ const deferredValue = (0, import_react101.useDeferredValue)(value);
17985
18083
  return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_jsx_runtime92.Fragment, { children: [
17986
18084
  /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
17987
18085
  "input",
@@ -18001,13 +18099,13 @@ var ParameterImageInner = (0, import_react100.forwardRef)((props, ref) => {
18001
18099
 
18002
18100
  // src/components/ParameterInputs/ParameterInput.tsx
18003
18101
  init_emotion_jsx_shim();
18004
- var import_react101 = require("react");
18102
+ var import_react102 = require("react");
18005
18103
  var import_jsx_runtime93 = require("@emotion/react/jsx-runtime");
18006
- var ParameterInput = (0, import_react101.forwardRef)((props, ref) => {
18104
+ var ParameterInput = (0, import_react102.forwardRef)((props, ref) => {
18007
18105
  const { shellProps, innerProps } = extractParameterProps(props);
18008
18106
  return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(ParameterShell, { "data-testid": "parameter-input", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(ParameterInputInner, { ref, ...innerProps }) });
18009
18107
  });
18010
- var ParameterInputInner = (0, import_react101.forwardRef)(
18108
+ var ParameterInputInner = (0, import_react102.forwardRef)(
18011
18109
  ({ ...props }, ref) => {
18012
18110
  const { id, label, hiddenLabel } = useParameterShell();
18013
18111
  return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
@@ -18027,9 +18125,9 @@ var ParameterInputInner = (0, import_react101.forwardRef)(
18027
18125
 
18028
18126
  // src/components/ParameterInputs/ParameterLink.tsx
18029
18127
  init_emotion_jsx_shim();
18030
- var import_react102 = require("react");
18128
+ var import_react103 = require("react");
18031
18129
  var import_jsx_runtime94 = require("@emotion/react/jsx-runtime");
18032
- var ParameterLink = (0, import_react102.forwardRef)(
18130
+ var ParameterLink = (0, import_react103.forwardRef)(
18033
18131
  ({ disabled, onConnectLink, externalLink, ...props }, ref) => {
18034
18132
  const { shellProps, innerProps } = extractParameterProps(props);
18035
18133
  return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
@@ -18052,7 +18150,7 @@ var ParameterLink = (0, import_react102.forwardRef)(
18052
18150
  );
18053
18151
  }
18054
18152
  );
18055
- var ParameterLinkInner = (0, import_react102.forwardRef)(
18153
+ var ParameterLinkInner = (0, import_react103.forwardRef)(
18056
18154
  ({ externalLink, onConnectLink, disabled, buttonText = "Select link", ...props }, ref) => {
18057
18155
  const { id, label, hiddenLabel } = useParameterShell();
18058
18156
  if (!props.value)
@@ -18178,7 +18276,7 @@ var ParameterNameAndPublicIdInput = ({
18178
18276
 
18179
18277
  // src/components/ParameterInputs/ParameterRichText.tsx
18180
18278
  init_emotion_jsx_shim();
18181
- var import_react110 = require("@emotion/react");
18279
+ var import_react111 = require("@emotion/react");
18182
18280
  var import_list3 = require("@lexical/list");
18183
18281
  var import_markdown = require("@lexical/markdown");
18184
18282
  var import_LexicalComposer = require("@lexical/react/LexicalComposer");
@@ -18285,7 +18383,7 @@ var getLabelForElement = (type) => {
18285
18383
  // src/components/ParameterInputs/ParameterRichText.tsx
18286
18384
  var import_fast_equals2 = require("fast-equals");
18287
18385
  var import_lexical6 = require("lexical");
18288
- var import_react111 = require("react");
18386
+ var import_react112 = require("react");
18289
18387
 
18290
18388
  // src/components/ParameterInputs/rich-text/CustomCodeNode.ts
18291
18389
  init_emotion_jsx_shim();
@@ -18308,10 +18406,10 @@ init_emotion_jsx_shim();
18308
18406
  var import_LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
18309
18407
  var import_utils2 = require("@lexical/utils");
18310
18408
  var import_lexical = require("lexical");
18311
- var import_react103 = require("react");
18409
+ var import_react104 = require("react");
18312
18410
  function DisableStylesPlugin() {
18313
18411
  const [editor] = (0, import_LexicalComposerContext.useLexicalComposerContext)();
18314
- (0, import_react103.useEffect)(() => {
18412
+ (0, import_react104.useEffect)(() => {
18315
18413
  return (0, import_utils2.mergeRegister)(
18316
18414
  // Disable text alignment on paragraph nodes
18317
18415
  editor.registerNodeTransform(import_lexical.ParagraphNode, (node) => {
@@ -18506,22 +18604,22 @@ var codeElement = import_css.css`
18506
18604
 
18507
18605
  // src/components/ParameterInputs/rich-text/LinkNodePlugin.tsx
18508
18606
  init_emotion_jsx_shim();
18509
- var import_react105 = require("@emotion/react");
18607
+ var import_react106 = require("@emotion/react");
18510
18608
  var import_LexicalComposerContext2 = require("@lexical/react/LexicalComposerContext");
18511
18609
  var import_LexicalNodeEventPlugin = require("@lexical/react/LexicalNodeEventPlugin");
18512
18610
  var import_utils3 = require("@lexical/utils");
18513
18611
  var import_fast_equals = require("fast-equals");
18514
18612
  var import_lexical3 = require("lexical");
18515
- var import_react106 = require("react");
18613
+ var import_react107 = require("react");
18516
18614
 
18517
18615
  // src/components/Popover/Popover.styles.ts
18518
18616
  init_emotion_jsx_shim();
18519
- var import_react104 = require("@emotion/react");
18520
- var PopoverBtn = import_react104.css`
18617
+ var import_react105 = require("@emotion/react");
18618
+ var PopoverBtn = import_react105.css`
18521
18619
  border: none;
18522
18620
  background: none;
18523
18621
  `;
18524
- var PopoverDefaulterTriggerBtn = import_react104.css`
18622
+ var PopoverDefaulterTriggerBtn = import_react105.css`
18525
18623
  border: none;
18526
18624
  background: none;
18527
18625
  padding: var(--spacing-2xs);
@@ -18531,7 +18629,7 @@ var PopoverDefaulterTriggerBtn = import_react104.css`
18531
18629
  background-color: rgba(0, 0, 0, 0.05);
18532
18630
  }
18533
18631
  `;
18534
- var Popover = import_react104.css`
18632
+ var Popover = import_react105.css`
18535
18633
  border-left: var(--spacing-xs) solid var(--brand-secondary-3);
18536
18634
  border-radius: var(--rounded-base);
18537
18635
  box-shadow: var(--shadow-base);
@@ -18868,16 +18966,16 @@ var OPEN_LINK_NODE_MODAL_COMMAND = (0, import_lexical3.createCommand)(
18868
18966
  );
18869
18967
  var LINK_POPOVER_OFFSET_X = 0;
18870
18968
  var LINK_POPOVER_OFFSET_Y = 8;
18871
- var linkPopover = import_react105.css`
18969
+ var linkPopover = import_react106.css`
18872
18970
  position: absolute;
18873
18971
  z-index: 5;
18874
18972
  `;
18875
- var linkPopoverContainer = import_react105.css`
18973
+ var linkPopoverContainer = import_react106.css`
18876
18974
  ${Popover};
18877
18975
  align-items: center;
18878
18976
  display: flex;
18879
18977
  `;
18880
- var linkPopoverAnchor = import_react105.css`
18978
+ var linkPopoverAnchor = import_react106.css`
18881
18979
  ${link}
18882
18980
  ${linkColorDefault}
18883
18981
  `;
@@ -18886,17 +18984,17 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
18886
18984
  return path;
18887
18985
  };
18888
18986
  const [editor] = (0, import_LexicalComposerContext2.useLexicalComposerContext)();
18889
- const [linkPopoverState, setLinkPopoverState] = (0, import_react106.useState)();
18890
- const linkPopoverElRef = (0, import_react106.useRef)(null);
18891
- const [isEditorFocused, setIsEditorFocused] = (0, import_react106.useState)(false);
18892
- const [isLinkPopoverFocused, setIsLinkPopoverFocused] = (0, import_react106.useState)(false);
18893
- (0, import_react106.useEffect)(() => {
18987
+ const [linkPopoverState, setLinkPopoverState] = (0, import_react107.useState)();
18988
+ const linkPopoverElRef = (0, import_react107.useRef)(null);
18989
+ const [isEditorFocused, setIsEditorFocused] = (0, import_react107.useState)(false);
18990
+ const [isLinkPopoverFocused, setIsLinkPopoverFocused] = (0, import_react107.useState)(false);
18991
+ (0, import_react107.useEffect)(() => {
18894
18992
  if (!isEditorFocused && !isLinkPopoverFocused) {
18895
18993
  setLinkPopoverState(void 0);
18896
18994
  return;
18897
18995
  }
18898
18996
  }, [isEditorFocused, isLinkPopoverFocused]);
18899
- (0, import_react106.useEffect)(() => {
18997
+ (0, import_react107.useEffect)(() => {
18900
18998
  if (!editor.hasNodes([LinkNode])) {
18901
18999
  throw new Error("LinkNode not registered on editor");
18902
19000
  }
@@ -18965,7 +19063,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
18965
19063
  )
18966
19064
  );
18967
19065
  }, [editor, onConnectLink]);
18968
- const maybeShowLinkToolbar = (0, import_react106.useCallback)(() => {
19066
+ const maybeShowLinkToolbar = (0, import_react107.useCallback)(() => {
18969
19067
  if (!editor.isEditable()) {
18970
19068
  return;
18971
19069
  }
@@ -18997,7 +19095,7 @@ function LinkNodePlugin({ onConnectLink, getBoundPath }) {
18997
19095
  }
18998
19096
  });
18999
19097
  }, [editor]);
19000
- (0, import_react106.useEffect)(() => {
19098
+ (0, import_react107.useEffect)(() => {
19001
19099
  return editor.registerUpdateListener(({ editorState }) => {
19002
19100
  requestAnimationFrame(() => {
19003
19101
  editorState.read(() => {
@@ -19085,7 +19183,7 @@ var import_list = require("@lexical/list");
19085
19183
  var import_LexicalComposerContext3 = require("@lexical/react/LexicalComposerContext");
19086
19184
  var import_LexicalTabIndentationPlugin = require("@lexical/react/LexicalTabIndentationPlugin");
19087
19185
  var import_lexical4 = require("lexical");
19088
- var import_react107 = require("react");
19186
+ var import_react108 = require("react");
19089
19187
  var import_jsx_runtime97 = require("@emotion/react/jsx-runtime");
19090
19188
  function isIndentPermitted(maxDepth) {
19091
19189
  const selection = (0, import_lexical4.$getSelection)();
@@ -19109,7 +19207,7 @@ function isIndentPermitted(maxDepth) {
19109
19207
  }
19110
19208
  function ListIndentPlugin({ maxDepth }) {
19111
19209
  const [editor] = (0, import_LexicalComposerContext3.useLexicalComposerContext)();
19112
- (0, import_react107.useEffect)(() => {
19210
+ (0, import_react108.useEffect)(() => {
19113
19211
  return editor.registerCommand(
19114
19212
  import_lexical4.INDENT_CONTENT_COMMAND,
19115
19213
  () => !isIndentPermitted(maxDepth),
@@ -19121,7 +19219,7 @@ function ListIndentPlugin({ maxDepth }) {
19121
19219
 
19122
19220
  // src/components/ParameterInputs/rich-text/RichTextToolbar.tsx
19123
19221
  init_emotion_jsx_shim();
19124
- var import_react108 = require("@emotion/react");
19222
+ var import_react109 = require("@emotion/react");
19125
19223
  var import_code2 = require("@lexical/code");
19126
19224
  var import_list2 = require("@lexical/list");
19127
19225
  var import_LexicalComposerContext4 = require("@lexical/react/LexicalComposerContext");
@@ -19129,9 +19227,9 @@ var import_rich_text = require("@lexical/rich-text");
19129
19227
  var import_selection2 = require("@lexical/selection");
19130
19228
  var import_utils6 = require("@lexical/utils");
19131
19229
  var import_lexical5 = require("lexical");
19132
- var import_react109 = require("react");
19230
+ var import_react110 = require("react");
19133
19231
  var import_jsx_runtime98 = require("@emotion/react/jsx-runtime");
19134
- var toolbar = import_react108.css`
19232
+ var toolbar = import_react109.css`
19135
19233
  background: var(--gray-50);
19136
19234
  border-radius: var(--rounded-base);
19137
19235
  display: flex;
@@ -19143,7 +19241,7 @@ var toolbar = import_react108.css`
19143
19241
  top: calc(var(--spacing-sm) * -2);
19144
19242
  z-index: 10;
19145
19243
  `;
19146
- var toolbarGroup = import_react108.css`
19244
+ var toolbarGroup = import_react109.css`
19147
19245
  display: flex;
19148
19246
  gap: var(--spacing-xs);
19149
19247
  position: relative;
@@ -19159,7 +19257,7 @@ var toolbarGroup = import_react108.css`
19159
19257
  width: 1px;
19160
19258
  }
19161
19259
  `;
19162
- var richTextToolbarButton = import_react108.css`
19260
+ var richTextToolbarButton = import_react109.css`
19163
19261
  align-items: center;
19164
19262
  appearance: none;
19165
19263
  border: 0;
@@ -19172,13 +19270,13 @@ var richTextToolbarButton = import_react108.css`
19172
19270
  min-width: 32px;
19173
19271
  padding: 0 var(--spacing-sm);
19174
19272
  `;
19175
- var richTextToolbarButtonActive = import_react108.css`
19273
+ var richTextToolbarButtonActive = import_react109.css`
19176
19274
  background: var(--gray-200);
19177
19275
  `;
19178
- var toolbarIcon = import_react108.css`
19276
+ var toolbarIcon = import_react109.css`
19179
19277
  color: inherit;
19180
19278
  `;
19181
- var toolbarChevron = import_react108.css`
19279
+ var toolbarChevron = import_react109.css`
19182
19280
  margin-left: var(--spacing-xs);
19183
19281
  `;
19184
19282
  var RichTextToolbarIcon = ({ icon }) => {
@@ -19233,7 +19331,7 @@ var RichTextToolbar = ({ config, customControls }) => {
19233
19331
  }
19234
19332
  });
19235
19333
  };
19236
- const updateToolbar = (0, import_react109.useCallback)(() => {
19334
+ const updateToolbar = (0, import_react110.useCallback)(() => {
19237
19335
  const selection = (0, import_lexical5.$getSelection)();
19238
19336
  if (!(0, import_lexical5.$isRangeSelection)(selection)) {
19239
19337
  return;
@@ -19272,7 +19370,7 @@ var RichTextToolbar = ({ config, customControls }) => {
19272
19370
  setIsLink(false);
19273
19371
  }
19274
19372
  }, [editor, setActiveElement, setActiveFormats, setIsLink]);
19275
- (0, import_react109.useEffect)(() => {
19373
+ (0, import_react110.useEffect)(() => {
19276
19374
  return editor.registerCommand(
19277
19375
  import_lexical5.SELECTION_CHANGE_COMMAND,
19278
19376
  (_payload) => {
@@ -19282,7 +19380,7 @@ var RichTextToolbar = ({ config, customControls }) => {
19282
19380
  import_lexical5.COMMAND_PRIORITY_CRITICAL
19283
19381
  );
19284
19382
  }, [editor, updateToolbar]);
19285
- (0, import_react109.useEffect)(() => {
19383
+ (0, import_react110.useEffect)(() => {
19286
19384
  return editor.registerUpdateListener(({ editorState }) => {
19287
19385
  requestAnimationFrame(() => {
19288
19386
  editorState.read(() => {
@@ -19422,26 +19520,26 @@ var RichTextToolbar = ({ config, customControls }) => {
19422
19520
  var RichTextToolbar_default = RichTextToolbar;
19423
19521
  var useRichTextToolbarState = ({ config }) => {
19424
19522
  var _a;
19425
- const enabledBuiltInFormats = (0, import_react109.useMemo)(() => {
19523
+ const enabledBuiltInFormats = (0, import_react110.useMemo)(() => {
19426
19524
  return richTextBuiltInFormats.filter((format) => {
19427
19525
  var _a2, _b;
19428
19526
  return (_b = (_a2 = config == null ? void 0 : config.formatting) == null ? void 0 : _a2.builtIn) == null ? void 0 : _b.includes(format.type);
19429
19527
  });
19430
19528
  }, [config]);
19431
- const enabledBuiltInElements = (0, import_react109.useMemo)(() => {
19529
+ const enabledBuiltInElements = (0, import_react110.useMemo)(() => {
19432
19530
  return richTextBuiltInElements.filter((element) => {
19433
19531
  var _a2, _b;
19434
19532
  return (_b = (_a2 = config == null ? void 0 : config.elements) == null ? void 0 : _a2.builtIn) == null ? void 0 : _b.includes(element.type);
19435
19533
  });
19436
19534
  }, [config]);
19437
- const enabledBuiltInFormatsWithIcon = (0, import_react109.useMemo)(() => {
19535
+ const enabledBuiltInFormatsWithIcon = (0, import_react110.useMemo)(() => {
19438
19536
  return enabledBuiltInFormats.filter((format) => FORMATS_WITH_ICON.has(format.type));
19439
19537
  }, [enabledBuiltInFormats]);
19440
19538
  const enabledBuiltInFormatsWithoutIcon = enabledBuiltInFormats.filter(
19441
19539
  (format) => !FORMATS_WITH_ICON.has(format.type)
19442
19540
  );
19443
- const [activeFormats, setActiveFormats] = (0, import_react109.useState)([]);
19444
- const visibleFormatsWithIcon = (0, import_react109.useMemo)(() => {
19541
+ const [activeFormats, setActiveFormats] = (0, import_react110.useState)([]);
19542
+ const visibleFormatsWithIcon = (0, import_react110.useMemo)(() => {
19445
19543
  const visibleFormats = /* @__PURE__ */ new Set();
19446
19544
  activeFormats.filter((type) => FORMATS_WITH_ICON.has(type)).forEach((type) => {
19447
19545
  visibleFormats.add(type);
@@ -19451,7 +19549,7 @@ var useRichTextToolbarState = ({ config }) => {
19451
19549
  });
19452
19550
  return richTextBuiltInFormats.filter((format) => visibleFormats.has(format.type));
19453
19551
  }, [activeFormats, enabledBuiltInFormatsWithIcon]);
19454
- const visibleFormatsWithoutIcon = (0, import_react109.useMemo)(() => {
19552
+ const visibleFormatsWithoutIcon = (0, import_react110.useMemo)(() => {
19455
19553
  const visibleFormats = /* @__PURE__ */ new Set();
19456
19554
  activeFormats.filter((type) => !FORMATS_WITH_ICON.has(type)).forEach((type) => {
19457
19555
  visibleFormats.add(type);
@@ -19461,11 +19559,11 @@ var useRichTextToolbarState = ({ config }) => {
19461
19559
  });
19462
19560
  return richTextBuiltInFormats.filter((format) => visibleFormats.has(format.type));
19463
19561
  }, [activeFormats, enabledBuiltInFormatsWithoutIcon]);
19464
- const [activeElement, setActiveElement] = (0, import_react109.useState)("paragraph");
19562
+ const [activeElement, setActiveElement] = (0, import_react110.useState)("paragraph");
19465
19563
  const enabledTextualElements = enabledBuiltInElements.filter(
19466
19564
  (element) => TEXTUAL_ELEMENTS.includes(element.type)
19467
19565
  );
19468
- const visibleTextualElements = (0, import_react109.useMemo)(() => {
19566
+ const visibleTextualElements = (0, import_react110.useMemo)(() => {
19469
19567
  if (!TEXTUAL_ELEMENTS.includes(activeElement)) {
19470
19568
  return enabledTextualElements;
19471
19569
  }
@@ -19476,24 +19574,24 @@ var useRichTextToolbarState = ({ config }) => {
19476
19574
  }
19477
19575
  );
19478
19576
  }, [activeElement, (_a = config == null ? void 0 : config.elements) == null ? void 0 : _a.builtIn, enabledTextualElements]);
19479
- const [isLink, setIsLink] = (0, import_react109.useState)(false);
19480
- const linkElementVisible = (0, import_react109.useMemo)(() => {
19577
+ const [isLink, setIsLink] = (0, import_react110.useState)(false);
19578
+ const linkElementVisible = (0, import_react110.useMemo)(() => {
19481
19579
  return enabledBuiltInElements.some((element) => element.type === "link") || isLink;
19482
19580
  }, [isLink, enabledBuiltInElements]);
19483
- const visibleLists = (0, import_react109.useMemo)(() => {
19581
+ const visibleLists = (0, import_react110.useMemo)(() => {
19484
19582
  return new Set(
19485
19583
  ["orderedList", "unorderedList"].filter(
19486
19584
  (type) => enabledBuiltInElements.some((element) => element.type === type) || activeElement === type
19487
19585
  )
19488
19586
  );
19489
19587
  }, [activeElement, enabledBuiltInElements]);
19490
- const quoteElementVisible = (0, import_react109.useMemo)(() => {
19588
+ const quoteElementVisible = (0, import_react110.useMemo)(() => {
19491
19589
  return enabledBuiltInElements.some((element) => element.type === "quote") || activeElement === "quote";
19492
19590
  }, [activeElement, enabledBuiltInElements]);
19493
- const codeElementVisible = (0, import_react109.useMemo)(() => {
19591
+ const codeElementVisible = (0, import_react110.useMemo)(() => {
19494
19592
  return enabledBuiltInElements.some((element) => element.type === "code") || activeElement === "code";
19495
19593
  }, [activeElement, enabledBuiltInElements]);
19496
- const visibleElementsWithIcons = (0, import_react109.useMemo)(() => {
19594
+ const visibleElementsWithIcons = (0, import_react110.useMemo)(() => {
19497
19595
  const visibleElements = /* @__PURE__ */ new Set();
19498
19596
  if (linkElementVisible) {
19499
19597
  visibleElements.add("link");
@@ -19592,18 +19690,18 @@ var ParameterRichText = ({
19592
19690
  }
19593
19691
  );
19594
19692
  };
19595
- var editorWrapper = import_react110.css`
19693
+ var editorWrapper = import_react111.css`
19596
19694
  display: flex;
19597
19695
  flex-flow: column;
19598
19696
  flex-grow: 1;
19599
19697
  `;
19600
- var editorContainer = import_react110.css`
19698
+ var editorContainer = import_react111.css`
19601
19699
  display: flex;
19602
19700
  flex-flow: column;
19603
19701
  flex-grow: 1;
19604
19702
  position: relative;
19605
19703
  `;
19606
- var editorPlaceholder = import_react110.css`
19704
+ var editorPlaceholder = import_react111.css`
19607
19705
  color: var(--gray-500);
19608
19706
  font-style: italic;
19609
19707
  /* 1px is added to make sure caret is clearly visible when field is focused
@@ -19614,7 +19712,7 @@ var editorPlaceholder = import_react110.css`
19614
19712
  top: var(--spacing-xs);
19615
19713
  user-select: none;
19616
19714
  `;
19617
- var editorInput = import_react110.css`
19715
+ var editorInput = import_react111.css`
19618
19716
  background: var(--white);
19619
19717
  border: 1px solid var(--white);
19620
19718
  border-radius: var(--rounded-sm);
@@ -19736,14 +19834,14 @@ var RichText = ({
19736
19834
  variables,
19737
19835
  customControls
19738
19836
  }) => {
19739
- const editorContainerRef = (0, import_react111.useRef)(null);
19837
+ const editorContainerRef = (0, import_react112.useRef)(null);
19740
19838
  const [editor] = (0, import_LexicalComposerContext5.useLexicalComposerContext)();
19741
- (0, import_react111.useEffect)(() => {
19839
+ (0, import_react112.useEffect)(() => {
19742
19840
  if (onRichTextInit) {
19743
19841
  onRichTextInit(editor);
19744
19842
  }
19745
19843
  }, [editor, onRichTextInit]);
19746
- (0, import_react111.useEffect)(() => {
19844
+ (0, import_react112.useEffect)(() => {
19747
19845
  const removeUpdateListener = editor.registerUpdateListener(({ editorState, prevEditorState }) => {
19748
19846
  requestAnimationFrame(() => {
19749
19847
  if (!(0, import_fast_equals2.deepEqual)(editorState.toJSON(), prevEditorState.toJSON())) {
@@ -19788,15 +19886,15 @@ var RichText = ({
19788
19886
 
19789
19887
  // src/components/ParameterInputs/ParameterSelect.tsx
19790
19888
  init_emotion_jsx_shim();
19791
- var import_react112 = require("react");
19889
+ var import_react113 = require("react");
19792
19890
  var import_jsx_runtime100 = require("@emotion/react/jsx-runtime");
19793
- var ParameterSelect = (0, import_react112.forwardRef)(
19891
+ var ParameterSelect = (0, import_react113.forwardRef)(
19794
19892
  ({ defaultOption, options, ...props }, ref) => {
19795
19893
  const { shellProps, innerProps } = extractParameterProps(props);
19796
19894
  return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(ParameterShell, { ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(ParameterSelectInner, { options, defaultOption, ...innerProps, ref }) });
19797
19895
  }
19798
19896
  );
19799
- var ParameterSelectInner = (0, import_react112.forwardRef)(
19897
+ var ParameterSelectInner = (0, import_react113.forwardRef)(
19800
19898
  ({ defaultOption, options, ...props }, ref) => {
19801
19899
  const { id, label, hiddenLabel } = useParameterShell();
19802
19900
  return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
@@ -19821,13 +19919,13 @@ var ParameterSelectInner = (0, import_react112.forwardRef)(
19821
19919
 
19822
19920
  // src/components/ParameterInputs/ParameterTextarea.tsx
19823
19921
  init_emotion_jsx_shim();
19824
- var import_react113 = require("react");
19922
+ var import_react114 = require("react");
19825
19923
  var import_jsx_runtime101 = require("@emotion/react/jsx-runtime");
19826
- var ParameterTextarea = (0, import_react113.forwardRef)((props, ref) => {
19924
+ var ParameterTextarea = (0, import_react114.forwardRef)((props, ref) => {
19827
19925
  const { shellProps, innerProps } = extractParameterProps(props);
19828
19926
  return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(ParameterShell, { "data-testid": "parameter-textarea", ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(ParameterTextareaInner, { ref, ...innerProps }) });
19829
19927
  });
19830
- var ParameterTextareaInner = (0, import_react113.forwardRef)(({ ...props }, ref) => {
19928
+ var ParameterTextareaInner = (0, import_react114.forwardRef)(({ ...props }, ref) => {
19831
19929
  const { id, label, hiddenLabel } = useParameterShell();
19832
19930
  return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
19833
19931
  "textarea",
@@ -19843,13 +19941,13 @@ var ParameterTextareaInner = (0, import_react113.forwardRef)(({ ...props }, ref)
19843
19941
 
19844
19942
  // src/components/ParameterInputs/ParameterToggle.tsx
19845
19943
  init_emotion_jsx_shim();
19846
- var import_react114 = require("react");
19944
+ var import_react115 = require("react");
19847
19945
  var import_jsx_runtime102 = require("@emotion/react/jsx-runtime");
19848
- var ParameterToggle = (0, import_react114.forwardRef)((props, ref) => {
19946
+ var ParameterToggle = (0, import_react115.forwardRef)((props, ref) => {
19849
19947
  const { shellProps, innerProps } = extractParameterProps(props);
19850
19948
  return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(ParameterShell, { ...shellProps, children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(ParameterToggleInner, { ref, ...innerProps }) });
19851
19949
  });
19852
- var ParameterToggleInner = (0, import_react114.forwardRef)(
19950
+ var ParameterToggleInner = (0, import_react115.forwardRef)(
19853
19951
  ({ ...props }, ref) => {
19854
19952
  const { id, label } = useParameterShell();
19855
19953
  return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("label", { css: inputToggleLabel2, children: [
@@ -19896,22 +19994,22 @@ var Popover2 = ({
19896
19994
 
19897
19995
  // src/components/ProgressList/ProgressList.tsx
19898
19996
  init_emotion_jsx_shim();
19899
- var import_react116 = require("@emotion/react");
19997
+ var import_react117 = require("@emotion/react");
19900
19998
  var import_CgCheckO3 = require("@react-icons/all-files/cg/CgCheckO");
19901
19999
  var import_CgRadioCheck2 = require("@react-icons/all-files/cg/CgRadioCheck");
19902
20000
  var import_CgRecord2 = require("@react-icons/all-files/cg/CgRecord");
19903
- var import_react117 = require("react");
20001
+ var import_react118 = require("react");
19904
20002
 
19905
20003
  // src/components/ProgressList/styles/ProgressList.styles.ts
19906
20004
  init_emotion_jsx_shim();
19907
- var import_react115 = require("@emotion/react");
19908
- var progressListStyles = import_react115.css`
20005
+ var import_react116 = require("@emotion/react");
20006
+ var progressListStyles = import_react116.css`
19909
20007
  display: flex;
19910
20008
  flex-direction: column;
19911
20009
  gap: var(--spacing-sm);
19912
20010
  list-style-type: none;
19913
20011
  `;
19914
- var progressListItemStyles = import_react115.css`
20012
+ var progressListItemStyles = import_react116.css`
19915
20013
  display: flex;
19916
20014
  gap: var(--spacing-base);
19917
20015
  align-items: center;
@@ -19920,7 +20018,7 @@ var progressListItemStyles = import_react115.css`
19920
20018
  // src/components/ProgressList/ProgressList.tsx
19921
20019
  var import_jsx_runtime104 = require("@emotion/react/jsx-runtime");
19922
20020
  var ProgressList = ({ inProgressId, items, autoEllipsis, ...htmlProps }) => {
19923
- const itemsWithStatus = (0, import_react117.useMemo)(() => {
20021
+ const itemsWithStatus = (0, import_react118.useMemo)(() => {
19924
20022
  const indexOfInProgressItem = items.findIndex(({ id }) => id === inProgressId);
19925
20023
  return items.map((item, index) => {
19926
20024
  let status = "queued";
@@ -19953,7 +20051,7 @@ var ProgressListItem = ({
19953
20051
  errorLevel = "danger",
19954
20052
  autoEllipsis = false
19955
20053
  }) => {
19956
- const icon = (0, import_react117.useMemo)(() => {
20054
+ const icon = (0, import_react118.useMemo)(() => {
19957
20055
  if (error) {
19958
20056
  return warningIcon;
19959
20057
  }
@@ -19964,14 +20062,14 @@ var ProgressListItem = ({
19964
20062
  };
19965
20063
  return iconPerStatus[status];
19966
20064
  }, [status, error]);
19967
- const statusStyles = (0, import_react117.useMemo)(() => {
20065
+ const statusStyles = (0, import_react118.useMemo)(() => {
19968
20066
  if (error) {
19969
- return errorLevel === "caution" ? import_react116.css`
20067
+ return errorLevel === "caution" ? import_react117.css`
19970
20068
  color: rgb(161, 98, 7);
19971
20069
  & svg {
19972
20070
  color: rgb(250, 204, 21);
19973
20071
  }
19974
- ` : import_react116.css`
20072
+ ` : import_react117.css`
19975
20073
  color: rgb(185, 28, 28);
19976
20074
  & svg {
19977
20075
  color: var(--brand-primary-2);
@@ -19979,13 +20077,13 @@ var ProgressListItem = ({
19979
20077
  `;
19980
20078
  }
19981
20079
  const colorPerStatus = {
19982
- completed: import_react116.css`
20080
+ completed: import_react117.css`
19983
20081
  opacity: 0.75;
19984
20082
  `,
19985
- inProgress: import_react116.css`
20083
+ inProgress: import_react117.css`
19986
20084
  -webkit-text-stroke-width: thin;
19987
20085
  `,
19988
- queued: import_react116.css`
20086
+ queued: import_react117.css`
19989
20087
  opacity: 0.5;
19990
20088
  `
19991
20089
  };
@@ -20002,14 +20100,14 @@ var ProgressListItem = ({
20002
20100
 
20003
20101
  // src/components/SegmentedControl/SegmentedControl.tsx
20004
20102
  init_emotion_jsx_shim();
20005
- var import_react119 = require("@emotion/react");
20103
+ var import_react120 = require("@emotion/react");
20006
20104
  var import_CgCheck5 = require("@react-icons/all-files/cg/CgCheck");
20007
- var import_react120 = require("react");
20105
+ var import_react121 = require("react");
20008
20106
 
20009
20107
  // src/components/SegmentedControl/SegmentedControl.styles.ts
20010
20108
  init_emotion_jsx_shim();
20011
- var import_react118 = require("@emotion/react");
20012
- var segmentedControlStyles = import_react118.css`
20109
+ var import_react119 = require("@emotion/react");
20110
+ var segmentedControlStyles = import_react119.css`
20013
20111
  --segmented-control-rounded-value: var(--rounded-base);
20014
20112
  --segmented-control-border-width: 1px;
20015
20113
  --segmented-control-selected-color: var(--brand-secondary-3);
@@ -20028,14 +20126,14 @@ var segmentedControlStyles = import_react118.css`
20028
20126
  border-radius: calc(var(--segmented-control-rounded-value) + var(--segmented-control-border-width));
20029
20127
  font-size: var(--fs-xs);
20030
20128
  `;
20031
- var segmentedControlVerticalStyles = import_react118.css`
20129
+ var segmentedControlVerticalStyles = import_react119.css`
20032
20130
  flex-direction: column;
20033
20131
  --segmented-control-first-border-radius: var(--segmented-control-rounded-value)
20034
20132
  var(--segmented-control-rounded-value) 0 0;
20035
20133
  --segmented-control-last-border-radius: 0 0 var(--segmented-control-rounded-value)
20036
20134
  var(--segmented-control-rounded-value);
20037
20135
  `;
20038
- var segmentedControlItemStyles = import_react118.css`
20136
+ var segmentedControlItemStyles = import_react119.css`
20039
20137
  &:first-of-type label {
20040
20138
  border-radius: var(--segmented-control-first-border-radius);
20041
20139
  }
@@ -20043,10 +20141,10 @@ var segmentedControlItemStyles = import_react118.css`
20043
20141
  border-radius: var(--segmented-control-last-border-radius);
20044
20142
  }
20045
20143
  `;
20046
- var segmentedControlInputStyles = import_react118.css`
20144
+ var segmentedControlInputStyles = import_react119.css`
20047
20145
  ${accessibleHidden}
20048
20146
  `;
20049
- var segmentedControlLabelStyles = (checked, disabled) => import_react118.css`
20147
+ var segmentedControlLabelStyles = (checked, disabled) => import_react119.css`
20050
20148
  position: relative;
20051
20149
  display: flex;
20052
20150
  align-items: center;
@@ -20113,20 +20211,20 @@ var segmentedControlLabelStyles = (checked, disabled) => import_react118.css`
20113
20211
  `}
20114
20212
  }
20115
20213
  `;
20116
- var segmentedControlLabelIconOnlyStyles = import_react118.css`
20214
+ var segmentedControlLabelIconOnlyStyles = import_react119.css`
20117
20215
  padding-inline: 0.5em;
20118
20216
  `;
20119
- var segmentedControlLabelCheckStyles = import_react118.css`
20217
+ var segmentedControlLabelCheckStyles = import_react119.css`
20120
20218
  opacity: 0.5;
20121
20219
  `;
20122
- var segmentedControlLabelContentStyles = import_react118.css`
20220
+ var segmentedControlLabelContentStyles = import_react119.css`
20123
20221
  display: flex;
20124
20222
  align-items: center;
20125
20223
  justify-content: center;
20126
20224
  gap: var(--spacing-sm);
20127
20225
  height: 100%;
20128
20226
  `;
20129
- var segmentedControlLabelTextStyles = import_react118.css``;
20227
+ var segmentedControlLabelTextStyles = import_react119.css``;
20130
20228
 
20131
20229
  // src/components/SegmentedControl/SegmentedControl.tsx
20132
20230
  var import_jsx_runtime105 = require("@emotion/react/jsx-runtime");
@@ -20141,7 +20239,7 @@ var SegmentedControl = ({
20141
20239
  size = "md",
20142
20240
  ...props
20143
20241
  }) => {
20144
- const onOptionChange = (0, import_react120.useCallback)(
20242
+ const onOptionChange = (0, import_react121.useCallback)(
20145
20243
  (event) => {
20146
20244
  if (event.target.checked) {
20147
20245
  onChange == null ? void 0 : onChange(options[parseInt(event.target.value)].value);
@@ -20149,15 +20247,15 @@ var SegmentedControl = ({
20149
20247
  },
20150
20248
  [options, onChange]
20151
20249
  );
20152
- const sizeStyles = (0, import_react120.useMemo)(() => {
20250
+ const sizeStyles = (0, import_react121.useMemo)(() => {
20153
20251
  const map = {
20154
- sm: (0, import_react119.css)({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
20155
- md: (0, import_react119.css)({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
20156
- lg: (0, import_react119.css)({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" })
20252
+ sm: (0, import_react120.css)({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
20253
+ md: (0, import_react120.css)({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
20254
+ lg: (0, import_react120.css)({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" })
20157
20255
  };
20158
20256
  return map[size];
20159
20257
  }, [size]);
20160
- const isIconOnly = (0, import_react120.useMemo)(() => {
20258
+ const isIconOnly = (0, import_react121.useMemo)(() => {
20161
20259
  return options.every((option) => option.icon && !option.label);
20162
20260
  }, [options]);
20163
20261
  return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
@@ -20214,12 +20312,12 @@ init_emotion_jsx_shim();
20214
20312
 
20215
20313
  // src/components/Skeleton/Skeleton.styles.ts
20216
20314
  init_emotion_jsx_shim();
20217
- var import_react121 = require("@emotion/react");
20218
- var lightFadingOut = import_react121.keyframes`
20315
+ var import_react122 = require("@emotion/react");
20316
+ var lightFadingOut = import_react122.keyframes`
20219
20317
  from { opacity: 0.1; }
20220
20318
  to { opacity: 0.025; }
20221
20319
  `;
20222
- var skeletonStyles = import_react121.css`
20320
+ var skeletonStyles = import_react122.css`
20223
20321
  animation: ${lightFadingOut} 1s ease-out infinite alternate;
20224
20322
  background-color: var(--gray-900);
20225
20323
  `;
@@ -20258,8 +20356,8 @@ var React23 = __toESM(require("react"));
20258
20356
 
20259
20357
  // src/components/Switch/Switch.styles.ts
20260
20358
  init_emotion_jsx_shim();
20261
- var import_react122 = require("@emotion/react");
20262
- var SwitchInputContainer = import_react122.css`
20359
+ var import_react123 = require("@emotion/react");
20360
+ var SwitchInputContainer = import_react123.css`
20263
20361
  cursor: pointer;
20264
20362
  display: inline-block;
20265
20363
  position: relative;
@@ -20268,7 +20366,7 @@ var SwitchInputContainer = import_react122.css`
20268
20366
  vertical-align: middle;
20269
20367
  user-select: none;
20270
20368
  `;
20271
- var SwitchInput = import_react122.css`
20369
+ var SwitchInput = import_react123.css`
20272
20370
  appearance: none;
20273
20371
  border-radius: var(--rounded-full);
20274
20372
  background-color: var(--white);
@@ -20306,7 +20404,7 @@ var SwitchInput = import_react122.css`
20306
20404
  cursor: not-allowed;
20307
20405
  }
20308
20406
  `;
20309
- var SwitchInputDisabled = import_react122.css`
20407
+ var SwitchInputDisabled = import_react123.css`
20310
20408
  opacity: var(--opacity-50);
20311
20409
  cursor: not-allowed;
20312
20410
 
@@ -20314,7 +20412,7 @@ var SwitchInputDisabled = import_react122.css`
20314
20412
  cursor: not-allowed;
20315
20413
  }
20316
20414
  `;
20317
- var SwitchInputLabel = import_react122.css`
20415
+ var SwitchInputLabel = import_react123.css`
20318
20416
  align-items: center;
20319
20417
  color: var(--brand-secondary-1);
20320
20418
  display: inline-flex;
@@ -20336,7 +20434,7 @@ var SwitchInputLabel = import_react122.css`
20336
20434
  top: 0;
20337
20435
  }
20338
20436
  `;
20339
- var SwitchText = import_react122.css`
20437
+ var SwitchText = import_react123.css`
20340
20438
  color: var(--gray-500);
20341
20439
  font-size: var(--fs-sm);
20342
20440
  padding-inline: var(--spacing-2xl) 0;
@@ -20367,8 +20465,8 @@ var React24 = __toESM(require("react"));
20367
20465
 
20368
20466
  // src/components/Table/Table.styles.ts
20369
20467
  init_emotion_jsx_shim();
20370
- var import_react123 = require("@emotion/react");
20371
- var table = ({ cellPadding = "var(--spacing-base) var(--spacing-md)" }) => import_react123.css`
20468
+ var import_react124 = require("@emotion/react");
20469
+ var table = ({ cellPadding = "var(--spacing-base) var(--spacing-md)" }) => import_react124.css`
20372
20470
  border-bottom: 1px solid var(--gray-400);
20373
20471
  border-collapse: collapse;
20374
20472
  min-width: 100%;
@@ -20379,15 +20477,15 @@ var table = ({ cellPadding = "var(--spacing-base) var(--spacing-md)" }) => impor
20379
20477
  padding: ${cellPadding};
20380
20478
  }
20381
20479
  `;
20382
- var tableHead = import_react123.css`
20480
+ var tableHead = import_react124.css`
20383
20481
  background: var(--gray-100);
20384
20482
  color: var(--brand-secondary-1);
20385
20483
  text-align: left;
20386
20484
  `;
20387
- var tableRow = import_react123.css`
20485
+ var tableRow = import_react124.css`
20388
20486
  border-bottom: 1px solid var(--gray-200);
20389
20487
  `;
20390
- var tableCellHead = import_react123.css`
20488
+ var tableCellHead = import_react124.css`
20391
20489
  font-size: var(--fs-sm);
20392
20490
  text-transform: uppercase;
20393
20491
  font-weight: var(--fw-bold);
@@ -20433,13 +20531,13 @@ var TableCellData = React24.forwardRef(
20433
20531
 
20434
20532
  // src/components/Tabs/Tabs.tsx
20435
20533
  init_emotion_jsx_shim();
20436
- var import_react125 = require("react");
20534
+ var import_react126 = require("react");
20437
20535
  var import_Tab = require("reakit/Tab");
20438
20536
 
20439
20537
  // src/components/Tabs/Tabs.styles.ts
20440
20538
  init_emotion_jsx_shim();
20441
- var import_react124 = require("@emotion/react");
20442
- var tabButtonStyles = import_react124.css`
20539
+ var import_react125 = require("@emotion/react");
20540
+ var tabButtonStyles = import_react125.css`
20443
20541
  align-items: center;
20444
20542
  border: 0;
20445
20543
  height: 2.5rem;
@@ -20456,7 +20554,7 @@ var tabButtonStyles = import_react124.css`
20456
20554
  box-shadow: inset 0 -2px 0 var(--brand-secondary-3);
20457
20555
  }
20458
20556
  `;
20459
- var tabButtonGroupStyles = import_react124.css`
20557
+ var tabButtonGroupStyles = import_react125.css`
20460
20558
  display: flex;
20461
20559
  gap: var(--spacing-base);
20462
20560
  border-bottom: 1px solid var(--gray-300);
@@ -20464,22 +20562,22 @@ var tabButtonGroupStyles = import_react124.css`
20464
20562
 
20465
20563
  // src/components/Tabs/Tabs.tsx
20466
20564
  var import_jsx_runtime109 = require("@emotion/react/jsx-runtime");
20467
- var CurrentTabContext = (0, import_react125.createContext)(null);
20565
+ var CurrentTabContext = (0, import_react126.createContext)(null);
20468
20566
  var useCurrentTab = () => {
20469
- const context = (0, import_react125.useContext)(CurrentTabContext);
20567
+ const context = (0, import_react126.useContext)(CurrentTabContext);
20470
20568
  if (!context) {
20471
20569
  throw new Error("This component can only be used inside <Tabs>");
20472
20570
  }
20473
20571
  return context;
20474
20572
  };
20475
20573
  var Tabs = ({ children, onSelectedIdChange, useHashForState, selectedId, ...props }) => {
20476
- const selected = (0, import_react125.useMemo)(() => {
20574
+ const selected = (0, import_react126.useMemo)(() => {
20477
20575
  if (selectedId)
20478
20576
  return selectedId;
20479
20577
  return useHashForState && typeof window !== "undefined" && window.location.hash ? window.location.hash.substring(1) : void 0;
20480
20578
  }, [selectedId, useHashForState]);
20481
20579
  const tab = (0, import_Tab.useTabState)({ ...props, selectedId: selected });
20482
- (0, import_react125.useEffect)(() => {
20580
+ (0, import_react126.useEffect)(() => {
20483
20581
  var _a;
20484
20582
  const selectedValueWithoutNull = (_a = tab.selectedId) != null ? _a : void 0;
20485
20583
  onSelectedIdChange == null ? void 0 : onSelectedIdChange(selectedValueWithoutNull);
@@ -20487,7 +20585,7 @@ var Tabs = ({ children, onSelectedIdChange, useHashForState, selectedId, ...prop
20487
20585
  window.location.hash = selectedValueWithoutNull != null ? selectedValueWithoutNull : "";
20488
20586
  }
20489
20587
  }, [tab.selectedId, onSelectedIdChange, useHashForState]);
20490
- (0, import_react125.useEffect)(() => {
20588
+ (0, import_react126.useEffect)(() => {
20491
20589
  if (selected && selected !== tab.selectedId) {
20492
20590
  tab.setSelectedId(selected);
20493
20591
  }
@@ -20512,8 +20610,8 @@ init_emotion_jsx_shim();
20512
20610
 
20513
20611
  // src/components/Validation/StatusBullet.styles.ts
20514
20612
  init_emotion_jsx_shim();
20515
- var import_react126 = require("@emotion/react");
20516
- var StatusBulletContainer = import_react126.css`
20613
+ var import_react127 = require("@emotion/react");
20614
+ var StatusBulletContainer = import_react127.css`
20517
20615
  align-items: center;
20518
20616
  align-self: center;
20519
20617
  color: var(--gray-500);
@@ -20530,33 +20628,33 @@ var StatusBulletContainer = import_react126.css`
20530
20628
  display: block;
20531
20629
  }
20532
20630
  `;
20533
- var StatusBulletBase = import_react126.css`
20631
+ var StatusBulletBase = import_react127.css`
20534
20632
  font-size: var(--fs-sm);
20535
20633
  &:before {
20536
20634
  width: var(--fs-xs);
20537
20635
  height: var(--fs-xs);
20538
20636
  }
20539
20637
  `;
20540
- var StatusBulletSmall = import_react126.css`
20638
+ var StatusBulletSmall = import_react127.css`
20541
20639
  font-size: var(--fs-xs);
20542
20640
  &:before {
20543
20641
  width: var(--fs-xxs);
20544
20642
  height: var(--fs-xxs);
20545
20643
  }
20546
20644
  `;
20547
- var StatusDraft = import_react126.css`
20645
+ var StatusDraft = import_react127.css`
20548
20646
  &:before {
20549
20647
  background: var(--white);
20550
20648
  box-shadow: inset 0 0 0 0.125rem var(--primary-action-default);
20551
20649
  }
20552
20650
  `;
20553
- var StatusModified = import_react126.css`
20651
+ var StatusModified = import_react127.css`
20554
20652
  &:before {
20555
20653
  background: linear-gradient(to right, var(--white) 50%, var(--primary-action-default) 50% 100%);
20556
20654
  box-shadow: inset 0 0 0 0.125rem var(--primary-action-default);
20557
20655
  }
20558
20656
  `;
20559
- var StatusError = import_react126.css`
20657
+ var StatusError = import_react127.css`
20560
20658
  color: var(--error);
20561
20659
  &:before {
20562
20660
  /* TODO: replace this with an svg icon */
@@ -20569,12 +20667,12 @@ var StatusError = import_react126.css`
20569
20667
  );
20570
20668
  }
20571
20669
  `;
20572
- var StatusPublished = import_react126.css`
20670
+ var StatusPublished = import_react127.css`
20573
20671
  &:before {
20574
20672
  background: var(--primary-action-default);
20575
20673
  }
20576
20674
  `;
20577
- var StatusOrphan = import_react126.css`
20675
+ var StatusOrphan = import_react127.css`
20578
20676
  &:before {
20579
20677
  background: var(--brand-secondary-5);
20580
20678
  }