@octaviaflow/core 3.1.0-beta.79 → 3.1.0-beta.81

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.cjs CHANGED
@@ -4304,6 +4304,9 @@ var PasswordInput = (0, import_react31.forwardRef)(
4304
4304
  );
4305
4305
  PasswordInput.displayName = "PasswordInput";
4306
4306
 
4307
+ // src/components/AuthScreen/AuthScreen.tsx
4308
+ var import_icons5 = require("@octaviaflow/icons");
4309
+
4307
4310
  // src/components/SocialButton/SocialButton.tsx
4308
4311
  var import_icons4 = require("@octaviaflow/icons");
4309
4312
  var import_react32 = require("react");
@@ -4675,19 +4678,23 @@ function AuthFormHeader({ logo, title, titleId, description, headingLevel }) {
4675
4678
  description && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { className: "ods-auth-form__desc", children: description })
4676
4679
  ] });
4677
4680
  }
4678
- function AuthFormSocial({ providers, onSocialClick, dividerLabel, disabled }) {
4681
+ function AuthFormSocial({ providers, onSocialClick, dividerLabel, disabled, position = "bottom" }) {
4679
4682
  if (!providers || providers.length === 0) return null;
4680
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
4683
+ const row = /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "ods-auth-form__social", children: providers.map((provider) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4684
+ SocialButton,
4685
+ {
4686
+ provider,
4687
+ disabled,
4688
+ onClick: () => onSocialClick?.(provider)
4689
+ },
4690
+ provider
4691
+ )) });
4692
+ return position === "top" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
4693
+ row,
4694
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(AuthDivider, { children: dividerLabel })
4695
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
4681
4696
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(AuthDivider, { children: dividerLabel }),
4682
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "ods-auth-form__social", children: providers.map((provider) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4683
- SocialButton,
4684
- {
4685
- provider,
4686
- disabled,
4687
- onClick: () => onSocialClick?.(provider)
4688
- },
4689
- provider
4690
- )) })
4697
+ row
4691
4698
  ] });
4692
4699
  }
4693
4700
  function AuthFormFooterLink({ prompt, label, href, onClick }) {
@@ -4720,6 +4727,7 @@ function AuthLoginForm({
4720
4727
  forgotLabel = "Forgot your password?",
4721
4728
  socialProviders = ["google"],
4722
4729
  onSocialClick,
4730
+ socialPosition = "bottom",
4723
4731
  socialDividerLabel = "Or, log in with",
4724
4732
  registerHref,
4725
4733
  onRegisterClick,
@@ -4761,6 +4769,16 @@ function AuthLoginForm({
4761
4769
  error && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Banner, { variant: "error", children: error }),
4762
4770
  success && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Banner, { variant: "success", children: success })
4763
4771
  ] }),
4772
+ socialPosition === "top" && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4773
+ AuthFormSocial,
4774
+ {
4775
+ providers: socialProviders,
4776
+ onSocialClick,
4777
+ dividerLabel: socialDividerLabel,
4778
+ disabled: loading,
4779
+ position: "top"
4780
+ }
4781
+ ),
4764
4782
  /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ods-auth-form__fields", children: [
4765
4783
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4766
4784
  Input,
@@ -4803,7 +4821,7 @@ function AuthLoginForm({
4803
4821
  hasForgot && (forgotHref ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("a", { className: "ods-auth-form__link", href: forgotHref, onClick: onForgotClick, children: forgotLabel }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("button", { type: "button", className: "ods-auth-form__link", onClick: onForgotClick, children: forgotLabel }))
4804
4822
  ] }),
4805
4823
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Button, { type: "submit", variant: "primary", fullWidth: true, loading, children: submitLabel }),
4806
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4824
+ socialPosition === "bottom" && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4807
4825
  AuthFormSocial,
4808
4826
  {
4809
4827
  providers: socialProviders,
@@ -4853,10 +4871,16 @@ function AuthSignupForm({
4853
4871
  passwordStrengthRules,
4854
4872
  submitLabel = "Create account",
4855
4873
  showTerms = true,
4856
- termsLabel = "I agree to the Terms of Service and Privacy Policy",
4874
+ termsLabel,
4875
+ termsHref = "https://octaviaflow.com/terms-and-conditions",
4876
+ privacyHref = "https://octaviaflow.com/privacy-policy",
4857
4877
  socialProviders = ["google"],
4858
4878
  onSocialClick,
4859
4879
  socialDividerLabel = "Or, sign up with",
4880
+ layout = "form-first",
4881
+ emailCtaLabel = "Sign up with email",
4882
+ backLabel = "Back to all options",
4883
+ highlights,
4860
4884
  signInHref,
4861
4885
  onSignInClick,
4862
4886
  signInPrompt = "Already have an account?",
@@ -4876,11 +4900,42 @@ function AuthSignupForm({
4876
4900
  const [isCompanyAccount, setIsCompanyAccount] = (0, import_react33.useState)(false);
4877
4901
  const [companyName, setCompanyName] = (0, import_react33.useState)("");
4878
4902
  const [domain, setDomain] = (0, import_react33.useState)("");
4903
+ const [entryMode, setEntryMode] = (0, import_react33.useState)("choice");
4904
+ const choiceScreen = layout === "choice-first" && entryMode === "choice";
4879
4905
  (0, import_react33.useEffect)(() => {
4880
4906
  if (!showCompanyToggle || !isCompanyAccount || domain) return;
4881
4907
  const at = email.indexOf("@");
4882
4908
  if (at > -1 && at < email.length - 1) setDomain(email.slice(at + 1));
4883
4909
  }, [showCompanyToggle, isCompanyAccount, email, domain]);
4910
+ const termsContent = termsLabel ?? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
4911
+ "I agree to the",
4912
+ " ",
4913
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4914
+ "a",
4915
+ {
4916
+ className: "ods-auth-form__terms-link",
4917
+ href: termsHref,
4918
+ target: "_blank",
4919
+ rel: "noopener noreferrer",
4920
+ onClick: (e) => e.stopPropagation(),
4921
+ children: "Terms of Service"
4922
+ }
4923
+ ),
4924
+ " ",
4925
+ "and",
4926
+ " ",
4927
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4928
+ "a",
4929
+ {
4930
+ className: "ods-auth-form__terms-link",
4931
+ href: privacyHref,
4932
+ target: "_blank",
4933
+ rel: "noopener noreferrer",
4934
+ onClick: (e) => e.stopPropagation(),
4935
+ children: "Privacy Policy"
4936
+ }
4937
+ )
4938
+ ] });
4884
4939
  const handleSubmit = (event) => {
4885
4940
  event.preventDefault();
4886
4941
  const combinedName = nameLayout === "split" ? `${firstName} ${lastName}`.trim() : name;
@@ -4916,138 +4971,183 @@ function AuthSignupForm({
4916
4971
  error && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Banner, { variant: "error", children: error }),
4917
4972
  success && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Banner, { variant: "success", children: success })
4918
4973
  ] }),
4919
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ods-auth-form__fields", children: [
4920
- nameLayout === "split" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ods-auth-form__grid2", children: [
4921
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4974
+ choiceScreen && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ods-auth-form__choice", children: [
4975
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "ods-auth-form__social", children: (socialProviders ?? []).map((provider) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4976
+ SocialButton,
4977
+ {
4978
+ provider,
4979
+ disabled: loading,
4980
+ onClick: () => onSocialClick?.(provider)
4981
+ },
4982
+ provider
4983
+ )) }),
4984
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(AuthDivider, { children: "or" }),
4985
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4986
+ Button,
4987
+ {
4988
+ type: "button",
4989
+ variant: "secondary",
4990
+ fullWidth: true,
4991
+ disabled: loading,
4992
+ onClick: () => setEntryMode("email"),
4993
+ children: emailCtaLabel
4994
+ }
4995
+ ),
4996
+ highlights && highlights.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("ul", { className: "ods-auth-form__highlights", children: highlights.map((item, i) => (
4997
+ // biome-ignore lint/suspicious/noArrayIndexKey: static copy row
4998
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("li", { children: [
4999
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_icons5.CheckmarkFilledIcon, { size: "sm", "aria-hidden": "true" }),
5000
+ item
5001
+ ] }, i)
5002
+ )) })
5003
+ ] }),
5004
+ !choiceScreen && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
5005
+ layout === "choice-first" && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
5006
+ "button",
5007
+ {
5008
+ type: "button",
5009
+ className: "ods-auth-form__back",
5010
+ onClick: () => setEntryMode("choice"),
5011
+ disabled: loading,
5012
+ children: [
5013
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_icons5.ArrowLeftIcon, { size: "sm", "aria-hidden": "true" }),
5014
+ backLabel
5015
+ ]
5016
+ }
5017
+ ),
5018
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ods-auth-form__fields", children: [
5019
+ nameLayout === "split" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ods-auth-form__grid2", children: [
5020
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5021
+ Input,
5022
+ {
5023
+ label: firstNameLabel,
5024
+ type: "text",
5025
+ name: "firstName",
5026
+ autoComplete: "given-name",
5027
+ required: true,
5028
+ placeholder: firstNamePlaceholder,
5029
+ value: firstName,
5030
+ onChange: (e) => setFirstName(e.target.value),
5031
+ disabled: loading
5032
+ }
5033
+ ),
5034
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5035
+ Input,
5036
+ {
5037
+ label: lastNameLabel,
5038
+ type: "text",
5039
+ name: "lastName",
5040
+ autoComplete: "family-name",
5041
+ required: true,
5042
+ placeholder: lastNamePlaceholder,
5043
+ value: lastName,
5044
+ onChange: (e) => setLastName(e.target.value),
5045
+ disabled: loading
5046
+ }
5047
+ )
5048
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4922
5049
  Input,
4923
5050
  {
4924
- label: firstNameLabel,
5051
+ label: nameLabel,
4925
5052
  type: "text",
4926
- name: "firstName",
4927
- autoComplete: "given-name",
5053
+ name: "name",
5054
+ autoComplete: "name",
4928
5055
  required: true,
4929
- placeholder: firstNamePlaceholder,
4930
- value: firstName,
4931
- onChange: (e) => setFirstName(e.target.value),
5056
+ placeholder: namePlaceholder,
5057
+ value: name,
5058
+ onChange: (e) => setName(e.target.value),
4932
5059
  disabled: loading
4933
5060
  }
4934
5061
  ),
4935
5062
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4936
5063
  Input,
4937
5064
  {
4938
- label: lastNameLabel,
4939
- type: "text",
4940
- name: "lastName",
4941
- autoComplete: "family-name",
5065
+ label: emailLabel,
5066
+ type: "email",
5067
+ name: "email",
5068
+ autoComplete: "email",
5069
+ required: true,
5070
+ placeholder: emailPlaceholder,
5071
+ value: email,
5072
+ onChange: (e) => setEmail(e.target.value),
5073
+ disabled: loading
5074
+ }
5075
+ ),
5076
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5077
+ PasswordInput,
5078
+ {
5079
+ label: passwordLabel,
5080
+ name: "password",
5081
+ autoComplete: "new-password",
4942
5082
  required: true,
4943
- placeholder: lastNamePlaceholder,
4944
- value: lastName,
4945
- onChange: (e) => setLastName(e.target.value),
5083
+ placeholder: passwordPlaceholder,
5084
+ value: password,
5085
+ onChange: setPassword,
5086
+ strengthRules: passwordStrengthRules,
4946
5087
  disabled: loading
4947
5088
  }
4948
5089
  )
4949
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4950
- Input,
4951
- {
4952
- label: nameLabel,
4953
- type: "text",
4954
- name: "name",
4955
- autoComplete: "name",
4956
- required: true,
4957
- placeholder: namePlaceholder,
4958
- value: name,
4959
- onChange: (e) => setName(e.target.value),
4960
- disabled: loading
4961
- }
4962
- ),
4963
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4964
- Input,
5090
+ ] }),
5091
+ showCompanyToggle && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
5092
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5093
+ Checkbox,
5094
+ {
5095
+ label: companyToggleLabel,
5096
+ checked: isCompanyAccount,
5097
+ onChange: setIsCompanyAccount,
5098
+ disabled: loading
5099
+ }
5100
+ ),
5101
+ isCompanyAccount && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ods-auth-form__grid2", children: [
5102
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5103
+ Input,
5104
+ {
5105
+ label: companyNameLabel,
5106
+ type: "text",
5107
+ name: "companyName",
5108
+ autoComplete: "organization",
5109
+ required: true,
5110
+ placeholder: companyNamePlaceholder,
5111
+ value: companyName,
5112
+ onChange: (e) => setCompanyName(e.target.value),
5113
+ disabled: loading
5114
+ }
5115
+ ),
5116
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5117
+ Input,
5118
+ {
5119
+ label: domainLabel,
5120
+ type: "text",
5121
+ name: "domain",
5122
+ placeholder: domainPlaceholder,
5123
+ value: domain,
5124
+ onChange: (e) => setDomain(e.target.value),
5125
+ disabled: loading
5126
+ }
5127
+ )
5128
+ ] })
5129
+ ] }),
5130
+ showTerms && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5131
+ Checkbox,
4965
5132
  {
4966
- label: emailLabel,
4967
- type: "email",
4968
- name: "email",
4969
- autoComplete: "email",
5133
+ label: termsContent,
5134
+ checked: acceptTerms,
5135
+ onChange: setAcceptTerms,
4970
5136
  required: true,
4971
- placeholder: emailPlaceholder,
4972
- value: email,
4973
- onChange: (e) => setEmail(e.target.value),
4974
5137
  disabled: loading
4975
5138
  }
4976
5139
  ),
4977
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4978
- PasswordInput,
5140
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Button, { type: "submit", variant: "primary", fullWidth: true, loading, children: submitLabel }),
5141
+ layout === "form-first" && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5142
+ AuthFormSocial,
4979
5143
  {
4980
- label: passwordLabel,
4981
- name: "password",
4982
- autoComplete: "new-password",
4983
- required: true,
4984
- placeholder: passwordPlaceholder,
4985
- value: password,
4986
- onChange: setPassword,
4987
- strengthRules: passwordStrengthRules,
5144
+ providers: socialProviders,
5145
+ onSocialClick,
5146
+ dividerLabel: socialDividerLabel,
4988
5147
  disabled: loading
4989
5148
  }
4990
5149
  )
4991
5150
  ] }),
4992
- showCompanyToggle && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
4993
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
4994
- Checkbox,
4995
- {
4996
- label: companyToggleLabel,
4997
- checked: isCompanyAccount,
4998
- onChange: setIsCompanyAccount,
4999
- disabled: loading
5000
- }
5001
- ),
5002
- isCompanyAccount && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ods-auth-form__grid2", children: [
5003
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5004
- Input,
5005
- {
5006
- label: companyNameLabel,
5007
- type: "text",
5008
- name: "companyName",
5009
- autoComplete: "organization",
5010
- required: true,
5011
- placeholder: companyNamePlaceholder,
5012
- value: companyName,
5013
- onChange: (e) => setCompanyName(e.target.value),
5014
- disabled: loading
5015
- }
5016
- ),
5017
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5018
- Input,
5019
- {
5020
- label: domainLabel,
5021
- type: "text",
5022
- name: "domain",
5023
- placeholder: domainPlaceholder,
5024
- value: domain,
5025
- onChange: (e) => setDomain(e.target.value),
5026
- disabled: loading
5027
- }
5028
- )
5029
- ] })
5030
- ] }),
5031
- showTerms && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5032
- Checkbox,
5033
- {
5034
- label: termsLabel,
5035
- checked: acceptTerms,
5036
- onChange: setAcceptTerms,
5037
- required: true,
5038
- disabled: loading
5039
- }
5040
- ),
5041
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Button, { type: "submit", variant: "primary", fullWidth: true, loading, children: submitLabel }),
5042
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5043
- AuthFormSocial,
5044
- {
5045
- providers: socialProviders,
5046
- onSocialClick,
5047
- dividerLabel: socialDividerLabel,
5048
- disabled: loading
5049
- }
5050
- ),
5051
5151
  footer ?? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
5052
5152
  AuthFormFooterLink,
5053
5153
  {
@@ -5762,7 +5862,7 @@ function Breadcrumb({
5762
5862
  }
5763
5863
 
5764
5864
  // src/components/Calendar/Calendar.tsx
5765
- var import_icons6 = require("@octaviaflow/icons");
5865
+ var import_icons7 = require("@octaviaflow/icons");
5766
5866
  var import_react40 = require("react");
5767
5867
 
5768
5868
  // src/components/Select/Select.tsx
@@ -5770,7 +5870,7 @@ var import_framer_motion8 = require("framer-motion");
5770
5870
  var import_react39 = require("react");
5771
5871
  var import_react_aria5 = require("react-aria");
5772
5872
  var import_react_dom2 = require("react-dom");
5773
- var import_icons5 = require("@octaviaflow/icons");
5873
+ var import_icons6 = require("@octaviaflow/icons");
5774
5874
 
5775
5875
  // src/components/Tooltip/Tooltip.tsx
5776
5876
  var import_framer_motion7 = require("framer-motion");
@@ -6058,7 +6158,7 @@ function Option({
6058
6158
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "ods-select__option-label", children: item.rendered }),
6059
6159
  option?.description && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "ods-select__option-desc", children: option.description })
6060
6160
  ] }),
6061
- isSelected && showCheckmark && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "ods-select__check", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons5.CheckmarkIcon, { size: "xs", tone: "accent" }) })
6161
+ isSelected && showCheckmark && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "ods-select__check", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons6.CheckmarkIcon, { size: "xs", tone: "accent" }) })
6062
6162
  ]
6063
6163
  }
6064
6164
  )
@@ -6268,7 +6368,7 @@ var Select = (0, import_react39.forwardRef)(function Select2({
6268
6368
  state.isOpen && "ods-select__chevron--open"
6269
6369
  ),
6270
6370
  "aria-hidden": "true",
6271
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons5.ChevronDownIcon, { size: "xs" })
6371
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons6.ChevronDownIcon, { size: "xs" })
6272
6372
  }
6273
6373
  )
6274
6374
  ]
@@ -6596,7 +6696,7 @@ var Calendar = (0, import_react40.forwardRef)(function Calendar2({
6596
6696
  className: "ods-calendar__nav",
6597
6697
  onClick: () => setMonth(addMonths(visibleMonth, -1)),
6598
6698
  "aria-label": "Previous month",
6599
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_icons6.ChevronLeftIcon, { "aria-hidden": "true" })
6699
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_icons7.ChevronLeftIcon, { "aria-hidden": "true" })
6600
6700
  }
6601
6701
  ) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "ods-calendar__nav ods-calendar__nav--placeholder", "aria-hidden": "true" }),
6602
6702
  captionLayout === "dropdowns" ? (
@@ -6667,7 +6767,7 @@ var Calendar = (0, import_react40.forwardRef)(function Calendar2({
6667
6767
  className: "ods-calendar__nav",
6668
6768
  onClick: () => setMonth(addMonths(visibleMonth, 1)),
6669
6769
  "aria-label": "Next month",
6670
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_icons6.ChevronRightIcon, { "aria-hidden": "true" })
6770
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_icons7.ChevronRightIcon, { "aria-hidden": "true" })
6671
6771
  }
6672
6772
  ) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "ods-calendar__nav ods-calendar__nav--placeholder", "aria-hidden": "true" })
6673
6773
  ] }),
@@ -8712,7 +8812,7 @@ Chip.displayName = "Chip";
8712
8812
 
8713
8813
  // src/components/ChoiceCard/ChoiceCard.tsx
8714
8814
  var import_framer_motion11 = require("framer-motion");
8715
- var import_icons7 = require("@octaviaflow/icons");
8815
+ var import_icons8 = require("@octaviaflow/icons");
8716
8816
  var import_react59 = require("react");
8717
8817
  var import_jsx_runtime42 = require("react/jsx-runtime");
8718
8818
  var ChoiceCard = (0, import_react59.forwardRef)(
@@ -8780,7 +8880,7 @@ var ChoiceCard = (0, import_react59.forwardRef)(
8780
8880
  duration: 0.18,
8781
8881
  ease: [0.34, 1.2, 0.64, 1]
8782
8882
  },
8783
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons7.CheckmarkIcon, { size: "xs" })
8883
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons8.CheckmarkIcon, { size: "xs" })
8784
8884
  },
8785
8885
  "check"
8786
8886
  ) })
@@ -8982,7 +9082,7 @@ var ConnectorCard = (0, import_react60.forwardRef)(
8982
9082
  ConnectorCard.displayName = "ConnectorCard";
8983
9083
 
8984
9084
  // src/components/CodeEditor/CodeEditor.tsx
8985
- var import_icons8 = require("@octaviaflow/icons");
9085
+ var import_icons9 = require("@octaviaflow/icons");
8986
9086
  var import_react61 = require("react");
8987
9087
  var import_jsx_runtime44 = require("react/jsx-runtime");
8988
9088
  var COMMENT_PREFIX = {
@@ -9363,7 +9463,7 @@ ${indent}`;
9363
9463
  "aria-pressed": wordWrap,
9364
9464
  "aria-label": "Toggle word wrap",
9365
9465
  title: "Word wrap",
9366
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons8.TextWrapIcon, { "aria-hidden": "true" })
9466
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons9.TextWrapIcon, { "aria-hidden": "true" })
9367
9467
  }
9368
9468
  ),
9369
9469
  showFormatBtn && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
@@ -9374,7 +9474,7 @@ ${indent}`;
9374
9474
  onClick: handleFormat,
9375
9475
  "aria-label": "Format",
9376
9476
  title: "Format (JSON)",
9377
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons8.MagicWandIcon, { "aria-hidden": "true" })
9477
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons9.MagicWandIcon, { "aria-hidden": "true" })
9378
9478
  }
9379
9479
  ),
9380
9480
  showCopy && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
@@ -9385,13 +9485,13 @@ ${indent}`;
9385
9485
  onClick: handleCopy,
9386
9486
  "aria-label": "Copy",
9387
9487
  title: "Copy",
9388
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons8.CheckmarkIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons8.CopyIcon, { "aria-hidden": "true" })
9488
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons9.CheckmarkIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons9.CopyIcon, { "aria-hidden": "true" })
9389
9489
  }
9390
9490
  )
9391
9491
  ] })
9392
9492
  ] }),
9393
9493
  findOpen && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "ods-code-editor__find", role: "search", children: [
9394
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons8.SearchIcon, { "aria-hidden": "true" }),
9494
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons9.SearchIcon, { "aria-hidden": "true" }),
9395
9495
  /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
9396
9496
  "input",
9397
9497
  {
@@ -9553,7 +9653,7 @@ ${indent}`;
9553
9653
  CodeEditor.displayName = "CodeEditor";
9554
9654
 
9555
9655
  // src/components/Coachmark/Coachmark.tsx
9556
- var import_icons9 = require("@octaviaflow/icons");
9656
+ var import_icons10 = require("@octaviaflow/icons");
9557
9657
  var import_framer_motion12 = require("framer-motion");
9558
9658
  var import_react62 = require("react");
9559
9659
  var import_react_dom3 = require("react-dom");
@@ -9726,7 +9826,7 @@ var Coachmark = (0, import_react62.forwardRef)(
9726
9826
  className: "ods-coachmark__close",
9727
9827
  "aria-label": "Dismiss",
9728
9828
  onClick: onDismiss,
9729
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_icons9.CloseIcon, { size: "xs", "aria-hidden": true })
9829
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_icons10.CloseIcon, { size: "xs", "aria-hidden": true })
9730
9830
  }
9731
9831
  ),
9732
9832
  /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "ods-coachmark__header", children: [
@@ -9818,7 +9918,7 @@ function useCoachmarkSeen(key, storagePrefix = "ods-coachmark:") {
9818
9918
  }
9819
9919
 
9820
9920
  // src/components/ColorPicker/ColorPicker.tsx
9821
- var import_icons10 = require("@octaviaflow/icons");
9921
+ var import_icons11 = require("@octaviaflow/icons");
9822
9922
  var import_react63 = require("react");
9823
9923
  var import_jsx_runtime46 = require("react/jsx-runtime");
9824
9924
  function isValidHex(v) {
@@ -9968,7 +10068,7 @@ var ColorPicker = (0, import_react63.forwardRef)(
9968
10068
  tabIndex: -1
9969
10069
  }
9970
10070
  ),
9971
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_icons10.EyedropperIcon, { "aria-hidden": "true" })
10071
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_icons11.EyedropperIcon, { "aria-hidden": "true" })
9972
10072
  ]
9973
10073
  }
9974
10074
  )
@@ -10016,7 +10116,7 @@ var ColorPicker = (0, import_react63.forwardRef)(
10016
10116
  ColorPicker.displayName = "ColorPicker";
10017
10117
 
10018
10118
  // src/components/CommandPalette/CommandPalette.tsx
10019
- var import_icons11 = require("@octaviaflow/icons");
10119
+ var import_icons12 = require("@octaviaflow/icons");
10020
10120
  var import_framer_motion13 = require("framer-motion");
10021
10121
  var import_react64 = require("react");
10022
10122
  var import_react_dom4 = require("react-dom");
@@ -10136,7 +10236,7 @@ var CommandPalette = (0, import_react64.forwardRef)(
10136
10236
  id: baseId,
10137
10237
  children: [
10138
10238
  /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "ods-cmdk__searchbar", children: [
10139
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_icons11.SearchIcon, { size: "sm", "aria-hidden": true, className: "ods-cmdk__search-icon" }),
10239
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_icons12.SearchIcon, { size: "sm", "aria-hidden": true, className: "ods-cmdk__search-icon" }),
10140
10240
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
10141
10241
  "input",
10142
10242
  {
@@ -10279,12 +10379,12 @@ function useCommandPaletteShortcut(toggle, options2 = {}) {
10279
10379
  }
10280
10380
 
10281
10381
  // src/components/ConditionBuilder/ConditionBuilder.tsx
10282
- var import_icons13 = require("@octaviaflow/icons");
10382
+ var import_icons14 = require("@octaviaflow/icons");
10283
10383
  var import_react66 = require("react");
10284
10384
  var import_react_dom6 = require("react-dom");
10285
10385
 
10286
10386
  // src/components/Combobox/Combobox.tsx
10287
- var import_icons12 = require("@octaviaflow/icons");
10387
+ var import_icons13 = require("@octaviaflow/icons");
10288
10388
  var import_react65 = require("react");
10289
10389
  var import_react_dom5 = require("react-dom");
10290
10390
  var import_jsx_runtime48 = require("react/jsx-runtime");
@@ -10469,7 +10569,7 @@ function Combobox({
10469
10569
  "aria-expanded": open,
10470
10570
  disabled,
10471
10571
  tabIndex: -1,
10472
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_icons12.ChevronDownIcon, { "aria-hidden": "true", className: "ods-combobox__chev" })
10572
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_icons13.ChevronDownIcon, { "aria-hidden": "true", className: "ods-combobox__chev" })
10473
10573
  }
10474
10574
  )
10475
10575
  ] }),
@@ -10669,7 +10769,7 @@ function OptionDropdown({
10669
10769
  selected?.icon && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "ods-cb-dd__icon", "aria-hidden": "true", children: selected.icon }),
10670
10770
  selected?.symbol && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "ods-cb-dd__symbol", children: selected.symbol }),
10671
10771
  /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: cn("ods-cb-dd__label", !selected && "ods-cb-dd__label--placeholder"), children: selected?.label ?? placeholder }),
10672
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons13.ChevronDownIcon, { "aria-hidden": "true", className: "ods-cb-dd__chev" })
10772
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons14.ChevronDownIcon, { "aria-hidden": "true", className: "ods-cb-dd__chev" })
10673
10773
  ]
10674
10774
  }
10675
10775
  ),
@@ -10688,7 +10788,7 @@ function OptionDropdown({
10688
10788
  },
10689
10789
  children: [
10690
10790
  showSearch && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "ods-cb-dd__search", children: [
10691
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons13.SearchIcon, { "aria-hidden": "true" }),
10791
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons14.SearchIcon, { "aria-hidden": "true" }),
10692
10792
  /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
10693
10793
  "input",
10694
10794
  {
@@ -10723,7 +10823,7 @@ function OptionDropdown({
10723
10823
  opt.description && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "ods-cb-dd__opt-desc", children: opt.description })
10724
10824
  ] }),
10725
10825
  opt.value === value && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
10726
- import_icons13.CheckmarkIcon,
10826
+ import_icons14.CheckmarkIcon,
10727
10827
  {
10728
10828
  "aria-hidden": "true",
10729
10829
  className: "ods-cb-dd__opt-check"
@@ -10908,7 +11008,7 @@ var ConditionBuilder = (0, import_react66.forwardRef)(function ConditionBuilder2
10908
11008
  className: "ods-condition-row__remove",
10909
11009
  onClick: () => handleRemove(index),
10910
11010
  "aria-label": removeLabel,
10911
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons13.CloseIcon, { "aria-hidden": "true" })
11011
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons14.CloseIcon, { "aria-hidden": "true" })
10912
11012
  }
10913
11013
  )
10914
11014
  ] }, index)) }),
@@ -10919,7 +11019,7 @@ var ConditionBuilder = (0, import_react66.forwardRef)(function ConditionBuilder2
10919
11019
  className: "ods-condition-builder__add",
10920
11020
  onClick: handleAdd,
10921
11021
  children: [
10922
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons13.AddIcon, { "aria-hidden": "true" }),
11022
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons14.AddIcon, { "aria-hidden": "true" }),
10923
11023
  /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { children: addLabel })
10924
11024
  ]
10925
11025
  }
@@ -10931,7 +11031,7 @@ var ConditionBuilder = (0, import_react66.forwardRef)(function ConditionBuilder2
10931
11031
  ConditionBuilder.displayName = "ConditionBuilder";
10932
11032
 
10933
11033
  // src/components/FieldPicker/FieldPicker.tsx
10934
- var import_icons14 = require("@octaviaflow/icons");
11034
+ var import_icons15 = require("@octaviaflow/icons");
10935
11035
  var import_react67 = require("react");
10936
11036
  var import_react_dom7 = require("react-dom");
10937
11037
  var import_jsx_runtime50 = require("react/jsx-runtime");
@@ -11129,7 +11229,7 @@ function FieldPicker({
11129
11229
  e.stopPropagation();
11130
11230
  if (!disabled) removeTag(v);
11131
11231
  },
11132
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons14.CloseIcon, { width: 10, height: 10, "aria-hidden": "true" })
11232
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons15.CloseIcon, { width: 10, height: 10, "aria-hidden": "true" })
11133
11233
  }
11134
11234
  )
11135
11235
  ] }, v)),
@@ -11138,7 +11238,7 @@ function FieldPicker({
11138
11238
  overflow
11139
11239
  ] })
11140
11240
  ] }),
11141
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons14.ChevronDownIcon, { "aria-hidden": "true", className: "ods-field-picker__chev" })
11241
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons15.ChevronDownIcon, { "aria-hidden": "true", className: "ods-field-picker__chev" })
11142
11242
  ]
11143
11243
  }
11144
11244
  ),
@@ -11157,7 +11257,7 @@ function FieldPicker({
11157
11257
  },
11158
11258
  children: [
11159
11259
  searchable && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "ods-field-picker__search", children: [
11160
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons14.SearchIcon, { "aria-hidden": "true" }),
11260
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons15.SearchIcon, { "aria-hidden": "true" }),
11161
11261
  /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
11162
11262
  "input",
11163
11263
  {
@@ -11203,7 +11303,7 @@ function FieldPicker({
11203
11303
  ),
11204
11304
  "aria-hidden": "true",
11205
11305
  children: [
11206
- allFilteredSelected && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons14.CheckmarkIcon, { width: 12, height: 12 }),
11306
+ allFilteredSelected && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons15.CheckmarkIcon, { width: 12, height: 12 }),
11207
11307
  !allFilteredSelected && someFilteredSelected && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "ods-field-picker__dash" })
11208
11308
  ]
11209
11309
  }
@@ -11251,7 +11351,7 @@ function FieldPicker({
11251
11351
  checked && "ods-field-picker__check--checked"
11252
11352
  ),
11253
11353
  "aria-hidden": "true",
11254
- children: checked && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons14.CheckmarkIcon, { width: 12, height: 12 })
11354
+ children: checked && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons15.CheckmarkIcon, { width: 12, height: 12 })
11255
11355
  }
11256
11356
  ),
11257
11357
  /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "ods-field-picker__opt-label", children: f.label }),
@@ -11280,7 +11380,7 @@ function FieldPicker({
11280
11380
  FieldPicker.displayName = "FieldPicker";
11281
11381
 
11282
11382
  // src/components/KeyValueEditor/KeyValueEditor.tsx
11283
- var import_icons15 = require("@octaviaflow/icons");
11383
+ var import_icons16 = require("@octaviaflow/icons");
11284
11384
  var import_jsx_runtime51 = require("react/jsx-runtime");
11285
11385
  var isRowEnabled = (pair) => pair.enabled !== false;
11286
11386
  function KeyValueEditor({
@@ -11402,7 +11502,7 @@ function KeyValueEditor({
11402
11502
  "aria-label": "Remove row",
11403
11503
  onClick: () => removeAt(i),
11404
11504
  disabled,
11405
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_icons15.CloseIcon, { width: 14, height: 14, "aria-hidden": "true" })
11505
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_icons16.CloseIcon, { width: 14, height: 14, "aria-hidden": "true" })
11406
11506
  }
11407
11507
  )
11408
11508
  ]
@@ -11411,7 +11511,7 @@ function KeyValueEditor({
11411
11511
  );
11412
11512
  }),
11413
11513
  canAdd && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("button", { type: "button", className: "ods-kv-editor__add", onClick: add, children: [
11414
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_icons15.AddIcon, { width: 14, height: 14, "aria-hidden": "true" }),
11514
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_icons16.AddIcon, { width: 14, height: 14, "aria-hidden": "true" }),
11415
11515
  addLabel
11416
11516
  ] }),
11417
11517
  error && errorMessage && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "ods-kv-editor__error-message", role: "alert", children: errorMessage }),
@@ -11423,7 +11523,7 @@ function KeyValueEditor({
11423
11523
  KeyValueEditor.displayName = "KeyValueEditor";
11424
11524
 
11425
11525
  // src/components/SortBuilder/SortBuilder.tsx
11426
- var import_icons16 = require("@octaviaflow/icons");
11526
+ var import_icons17 = require("@octaviaflow/icons");
11427
11527
  var import_jsx_runtime52 = require("react/jsx-runtime");
11428
11528
  function SortBuilder({
11429
11529
  sorts,
@@ -11471,7 +11571,7 @@ function SortBuilder({
11471
11571
  onClick: () => setAt(i, { direction: rule.direction === "asc" ? "desc" : "asc" }),
11472
11572
  disabled,
11473
11573
  children: [
11474
- rule.direction === "asc" ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_icons16.ArrowUpIcon, { width: 14, height: 14, "aria-hidden": "true" }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_icons16.ArrowDownIcon, { width: 14, height: 14, "aria-hidden": "true" }),
11574
+ rule.direction === "asc" ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_icons17.ArrowUpIcon, { width: 14, height: 14, "aria-hidden": "true" }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_icons17.ArrowDownIcon, { width: 14, height: 14, "aria-hidden": "true" }),
11475
11575
  /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "ods-sort-builder__dir-label", children: rule.direction === "asc" ? "Asc" : "Desc" })
11476
11576
  ]
11477
11577
  }
@@ -11484,12 +11584,12 @@ function SortBuilder({
11484
11584
  "aria-label": "Remove sort",
11485
11585
  onClick: () => removeAt(i),
11486
11586
  disabled,
11487
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_icons16.CloseIcon, { width: 14, height: 14, "aria-hidden": "true" })
11587
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_icons17.CloseIcon, { width: 14, height: 14, "aria-hidden": "true" })
11488
11588
  }
11489
11589
  )
11490
11590
  ] }, i)),
11491
11591
  canAdd && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("button", { type: "button", className: "ods-sort-builder__add", onClick: add, children: [
11492
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_icons16.AddIcon, { width: 14, height: 14, "aria-hidden": "true" }),
11592
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_icons17.AddIcon, { width: 14, height: 14, "aria-hidden": "true" }),
11493
11593
  addLabel
11494
11594
  ] }),
11495
11595
  helperText && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "ods-sort-builder__helper", children: helperText })
@@ -11498,7 +11598,7 @@ function SortBuilder({
11498
11598
  SortBuilder.displayName = "SortBuilder";
11499
11599
 
11500
11600
  // src/components/GroupByBuilder/GroupByBuilder.tsx
11501
- var import_icons17 = require("@octaviaflow/icons");
11601
+ var import_icons18 = require("@octaviaflow/icons");
11502
11602
  var import_jsx_runtime53 = require("react/jsx-runtime");
11503
11603
  var DEFAULT_FNS = ["count", "sum", "avg", "min", "max"];
11504
11604
  var FN_LABEL = {
@@ -11595,12 +11695,12 @@ function GroupByBuilder({
11595
11695
  "aria-label": "Remove aggregate",
11596
11696
  onClick: () => removeAggAt(i),
11597
11697
  disabled,
11598
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_icons17.CloseIcon, { width: 14, height: 14, "aria-hidden": "true" })
11698
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_icons18.CloseIcon, { width: 14, height: 14, "aria-hidden": "true" })
11599
11699
  }
11600
11700
  )
11601
11701
  ] }, i)),
11602
11702
  !disabled && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("button", { type: "button", className: "ods-groupby-builder__add", onClick: addAgg, children: [
11603
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_icons17.AddIcon, { width: 14, height: 14, "aria-hidden": "true" }),
11703
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_icons18.AddIcon, { width: 14, height: 14, "aria-hidden": "true" }),
11604
11704
  "Add aggregate"
11605
11705
  ] })
11606
11706
  ] }),
@@ -11610,7 +11710,7 @@ function GroupByBuilder({
11610
11710
  GroupByBuilder.displayName = "GroupByBuilder";
11611
11711
 
11612
11712
  // src/components/Disclosure/Disclosure.tsx
11613
- var import_icons18 = require("@octaviaflow/icons");
11713
+ var import_icons19 = require("@octaviaflow/icons");
11614
11714
  var import_react68 = require("react");
11615
11715
  var import_jsx_runtime54 = require("react/jsx-runtime");
11616
11716
  function Disclosure({
@@ -11658,7 +11758,7 @@ function Disclosure({
11658
11758
  "aria-expanded": open,
11659
11759
  "aria-controls": regionId,
11660
11760
  children: [
11661
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_icons18.ChevronRightIcon, { "aria-hidden": "true", className: "ods-disclosure__chev" }),
11761
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_icons19.ChevronRightIcon, { "aria-hidden": "true", className: "ods-disclosure__chev" }),
11662
11762
  icon && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "ods-disclosure__icon", "aria-hidden": "true", children: icon }),
11663
11763
  /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("span", { className: "ods-disclosure__head", children: [
11664
11764
  /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "ods-disclosure__title", children: title }),
@@ -11676,7 +11776,7 @@ function Disclosure({
11676
11776
  Disclosure.displayName = "Disclosure";
11677
11777
 
11678
11778
  // src/components/ConfigPanel/ConfigPanel.tsx
11679
- var import_icons19 = require("@octaviaflow/icons");
11779
+ var import_icons20 = require("@octaviaflow/icons");
11680
11780
  var import_framer_motion14 = require("framer-motion");
11681
11781
  var import_react69 = require("react");
11682
11782
  var import_react_aria6 = require("react-aria");
@@ -11771,7 +11871,7 @@ var ConfigPanel = (0, import_react69.forwardRef)(
11771
11871
  ref: closeRef,
11772
11872
  className: "ods-config-panel__close",
11773
11873
  "data-testid": "config-panel-close",
11774
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_icons19.CloseIcon, { "aria-hidden": "true" })
11874
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_icons20.CloseIcon, { "aria-hidden": "true" })
11775
11875
  }
11776
11876
  )
11777
11877
  ] }),
@@ -11839,7 +11939,7 @@ function stripMotionConflicts(props) {
11839
11939
  var import_react71 = require("react");
11840
11940
 
11841
11941
  // src/components/Dialog/Dialog.tsx
11842
- var import_icons20 = require("@octaviaflow/icons");
11942
+ var import_icons21 = require("@octaviaflow/icons");
11843
11943
  var import_framer_motion15 = require("framer-motion");
11844
11944
  var import_react70 = require("react");
11845
11945
  var import_react_aria7 = require("react-aria");
@@ -12005,7 +12105,7 @@ var DialogContent = (0, import_react70.forwardRef)(function DialogContent2({
12005
12105
  onClick: onClose,
12006
12106
  "aria-label": closeLabel,
12007
12107
  type: "button",
12008
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_icons20.CloseIcon, { "aria-hidden": "true" })
12108
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_icons21.CloseIcon, { "aria-hidden": "true" })
12009
12109
  }
12010
12110
  )
12011
12111
  ] }),
@@ -12199,19 +12299,19 @@ var ConfirmDialog = (0, import_react71.forwardRef)(
12199
12299
  ConfirmDialog.displayName = "ConfirmDialog";
12200
12300
 
12201
12301
  // src/components/CsvViewer/CsvViewer.tsx
12202
- var import_icons22 = require("@octaviaflow/icons");
12302
+ var import_icons23 = require("@octaviaflow/icons");
12203
12303
  var import_papaparse = __toESM(require("papaparse"), 1);
12204
12304
  var import_react74 = require("react");
12205
12305
 
12206
12306
  // src/components/InlineMessage/InlineMessage.tsx
12207
- var import_icons21 = require("@octaviaflow/icons");
12307
+ var import_icons22 = require("@octaviaflow/icons");
12208
12308
  var import_react72 = require("react");
12209
12309
  var import_jsx_runtime58 = require("react/jsx-runtime");
12210
12310
  var TONE_ICON = {
12211
- info: import_icons21.InformationFilledIcon,
12212
- success: import_icons21.CheckmarkFilledIcon,
12213
- warning: import_icons21.WarningFilledIcon,
12214
- danger: import_icons21.ErrorFilledIcon
12311
+ info: import_icons22.InformationFilledIcon,
12312
+ success: import_icons22.CheckmarkFilledIcon,
12313
+ warning: import_icons22.WarningFilledIcon,
12314
+ danger: import_icons22.ErrorFilledIcon
12215
12315
  };
12216
12316
  var InlineMessage = (0, import_react72.forwardRef)(
12217
12317
  function InlineMessage2({
@@ -12489,7 +12589,7 @@ var CsvViewer = (0, import_react74.forwardRef)(
12489
12589
  ),
12490
12590
  "aria-label": copied ? "Copied" : "Copy CSV",
12491
12591
  onClick: onCopy,
12492
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_icons22.CheckmarkIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_icons22.CopyIcon, { size: "xs" })
12592
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_icons23.CheckmarkIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_icons23.CopyIcon, { size: "xs" })
12493
12593
  }
12494
12594
  )
12495
12595
  ] })
@@ -14508,7 +14608,7 @@ var DatasetCard = (0, import_react77.forwardRef)(
14508
14608
  DatasetCard.displayName = "DatasetCard";
14509
14609
 
14510
14610
  // src/components/DataTable/DataTable.tsx
14511
- var import_icons23 = require("@octaviaflow/icons");
14611
+ var import_icons24 = require("@octaviaflow/icons");
14512
14612
  var import_react78 = require("react");
14513
14613
  var import_react_dom10 = require("react-dom");
14514
14614
  var import_jsx_runtime64 = require("react/jsx-runtime");
@@ -14687,19 +14787,19 @@ var SR_ONLY_STYLE = {
14687
14787
  whiteSpace: "nowrap",
14688
14788
  border: 0
14689
14789
  };
14690
- var SearchIcon8 = () => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.SearchIcon, { width: 14, height: 14, "aria-hidden": "true" });
14691
- var ChevronDown = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.ChevronDownIcon, { width: 12, height: 12, "aria-hidden": "true" });
14692
- var ChevronLeft = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.ChevronLeftIcon, { width: 12, height: 12, "aria-hidden": "true" });
14693
- var ChevronRight = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.ChevronRightIcon, { width: 12, height: 12, "aria-hidden": "true" });
14694
- var SortAsc = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.CaretUpIcon, { width: 10, height: 10, "aria-hidden": "true" });
14695
- var SortDesc = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.CaretDownIcon, { width: 10, height: 10, "aria-hidden": "true" });
14696
- var SortIdle = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.CaretSortIcon, { width: 10, height: 10, "aria-hidden": "true", style: { opacity: 0.5 } });
14697
- var FilterIcon = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.FilterIcon, { width: 12, height: 12, "aria-hidden": "true" });
14698
- var ColumnsIcon = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.ColumnIcon, { width: 12, height: 12, "aria-hidden": "true" });
14699
- var MoreHIcon = () => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.OverflowMenuHorizontalIcon, { width: 12, height: 12, "aria-hidden": "true" });
14700
- var XIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.CloseIcon, { width: 12, height: 12, "aria-hidden": "true" });
14701
- var RefreshIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.RenewIcon, { width: 12, height: 12, ...props });
14702
- var ExportIcon = () => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.DownloadIcon, { width: 12, height: 12, "aria-hidden": "true" });
14790
+ var SearchIcon8 = () => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.SearchIcon, { width: 14, height: 14, "aria-hidden": "true" });
14791
+ var ChevronDown = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.ChevronDownIcon, { width: 12, height: 12, "aria-hidden": "true" });
14792
+ var ChevronLeft = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.ChevronLeftIcon, { width: 12, height: 12, "aria-hidden": "true" });
14793
+ var ChevronRight = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.ChevronRightIcon, { width: 12, height: 12, "aria-hidden": "true" });
14794
+ var SortAsc = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.CaretUpIcon, { width: 10, height: 10, "aria-hidden": "true" });
14795
+ var SortDesc = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.CaretDownIcon, { width: 10, height: 10, "aria-hidden": "true" });
14796
+ var SortIdle = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.CaretSortIcon, { width: 10, height: 10, "aria-hidden": "true", style: { opacity: 0.5 } });
14797
+ var FilterIcon = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.FilterIcon, { width: 12, height: 12, "aria-hidden": "true" });
14798
+ var ColumnsIcon = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.ColumnIcon, { width: 12, height: 12, "aria-hidden": "true" });
14799
+ var MoreHIcon = () => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.OverflowMenuHorizontalIcon, { width: 12, height: 12, "aria-hidden": "true" });
14800
+ var XIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.CloseIcon, { width: 12, height: 12, "aria-hidden": "true" });
14801
+ var RefreshIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.RenewIcon, { width: 12, height: 12, ...props });
14802
+ var ExportIcon = () => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.DownloadIcon, { width: 12, height: 12, "aria-hidden": "true" });
14703
14803
  function ExportPopover({
14704
14804
  onExport
14705
14805
  }) {
@@ -15506,11 +15606,11 @@ function Row({
15506
15606
  ] });
15507
15607
  }
15508
15608
  function ChevronRightSmall() {
15509
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons23.ChevronRightIcon, { width: 10, height: 10, "aria-hidden": "true" });
15609
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_icons24.ChevronRightIcon, { width: 10, height: 10, "aria-hidden": "true" });
15510
15610
  }
15511
15611
 
15512
15612
  // src/components/DatePicker/DatePicker.tsx
15513
- var import_icons24 = require("@octaviaflow/icons");
15613
+ var import_icons25 = require("@octaviaflow/icons");
15514
15614
  var import_react80 = require("react");
15515
15615
  var import_react_dom11 = require("react-dom");
15516
15616
 
@@ -15709,7 +15809,7 @@ var DatePicker = (0, import_react80.forwardRef)(
15709
15809
  "aria-describedby": helperId,
15710
15810
  "aria-required": required || void 0,
15711
15811
  children: [
15712
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_icons24.CalendarIcon, { "aria-hidden": "true", className: "ods-datepicker__cal-icon" }),
15812
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_icons25.CalendarIcon, { "aria-hidden": "true", className: "ods-datepicker__cal-icon" }),
15713
15813
  /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
15714
15814
  "span",
15715
15815
  {
@@ -15720,7 +15820,7 @@ var DatePicker = (0, import_react80.forwardRef)(
15720
15820
  children: value ? format2(value) : placeholder
15721
15821
  }
15722
15822
  ),
15723
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_icons24.ChevronDownIcon, { "aria-hidden": "true", className: "ods-datepicker__chev" })
15823
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_icons25.ChevronDownIcon, { "aria-hidden": "true", className: "ods-datepicker__chev" })
15724
15824
  ]
15725
15825
  }
15726
15826
  ),
@@ -16012,7 +16112,7 @@ var Divider = (0, import_react82.forwardRef)(function Divider2({
16012
16112
  Divider.displayName = "Divider";
16013
16113
 
16014
16114
  // src/components/Drawer/Drawer.tsx
16015
- var import_icons25 = require("@octaviaflow/icons");
16115
+ var import_icons26 = require("@octaviaflow/icons");
16016
16116
  var import_react83 = require("react");
16017
16117
  var import_jsx_runtime68 = require("react/jsx-runtime");
16018
16118
  var SIZE_WIDTH = {
@@ -16058,7 +16158,7 @@ var Drawer = (0, import_react83.forwardRef)(function Drawer2({
16058
16158
  className: "ods-drawer__close",
16059
16159
  onClick: onClose,
16060
16160
  "aria-label": closeLabel,
16061
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_icons25.CloseIcon, { "aria-hidden": "true" })
16161
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_icons26.CloseIcon, { "aria-hidden": "true" })
16062
16162
  }
16063
16163
  )
16064
16164
  ] }),
@@ -16825,7 +16925,7 @@ function csvEscape(value) {
16825
16925
  }
16826
16926
 
16827
16927
  // src/components/FeatureCard/FeatureCard.tsx
16828
- var import_icons26 = require("@octaviaflow/icons");
16928
+ var import_icons27 = require("@octaviaflow/icons");
16829
16929
  var import_react87 = require("react");
16830
16930
  var import_jsx_runtime72 = require("react/jsx-runtime");
16831
16931
  var FeatureCard = (0, import_react87.forwardRef)(
@@ -16901,7 +17001,7 @@ var FeatureCard = (0, import_react87.forwardRef)(
16901
17001
  {
16902
17002
  className: "ods-feature-card__link-icon",
16903
17003
  "aria-hidden": "true",
16904
- children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_icons26.ArrowRightIcon, { size: "xs" })
17004
+ children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_icons27.ArrowRightIcon, { size: "xs" })
16905
17005
  }
16906
17006
  )
16907
17007
  ]
@@ -16916,7 +17016,7 @@ var FeatureCard = (0, import_react87.forwardRef)(
16916
17016
  FeatureCard.displayName = "FeatureCard";
16917
17017
 
16918
17018
  // src/components/FileDropzone/FileDropzone.tsx
16919
- var import_icons27 = require("@octaviaflow/icons");
17019
+ var import_icons28 = require("@octaviaflow/icons");
16920
17020
  var import_react88 = require("react");
16921
17021
 
16922
17022
  // src/utils/sanitizeUrl.ts
@@ -16987,7 +17087,7 @@ function sanitizeHref(url) {
16987
17087
 
16988
17088
  // src/components/FileDropzone/FileDropzone.tsx
16989
17089
  var import_jsx_runtime73 = require("react/jsx-runtime");
16990
- var UPLOAD_ICON = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons27.UploadIcon, { width: 20, height: 20, "aria-hidden": "true" });
17090
+ var UPLOAD_ICON = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons28.UploadIcon, { width: 20, height: 20, "aria-hidden": "true" });
16991
17091
  var SPIN_ICON = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
16992
17092
  "circle",
16993
17093
  {
@@ -17000,9 +17100,9 @@ var SPIN_ICON = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("svg", { width: "1
17000
17100
  strokeLinecap: "round"
17001
17101
  }
17002
17102
  ) });
17003
- var CHECK_ICON = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons27.CheckmarkIcon, { width: 12, height: 12, "aria-hidden": "true" });
17004
- var ERROR_ICON = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons27.WarningAltIcon, { width: 12, height: 12, "aria-hidden": "true" });
17005
- var RETRY_ICON = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons27.RenewIcon, { width: 12, height: 12, "aria-hidden": "true" });
17103
+ var CHECK_ICON = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons28.CheckmarkIcon, { width: 12, height: 12, "aria-hidden": "true" });
17104
+ var ERROR_ICON = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons28.WarningAltIcon, { width: 12, height: 12, "aria-hidden": "true" });
17105
+ var RETRY_ICON = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons28.RenewIcon, { width: 12, height: 12, "aria-hidden": "true" });
17006
17106
  var fmtSize = (size) => {
17007
17107
  if (size < 1024) return `${size} B`;
17008
17108
  const kb = size / 1024;
@@ -17013,12 +17113,12 @@ function iconForFile(file) {
17013
17113
  const type = file.type;
17014
17114
  const name = file.name.toLowerCase();
17015
17115
  if (type.startsWith("image/")) {
17016
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons27.ImageIcon, { width: 16, height: 16, "aria-hidden": "true" });
17116
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons28.ImageIcon, { width: 16, height: 16, "aria-hidden": "true" });
17017
17117
  }
17018
17118
  if (type === "application/pdf" || name.endsWith(".pdf")) {
17019
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons27.DocumentPdfIcon, { width: 16, height: 16, "aria-hidden": "true" });
17119
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons28.DocumentPdfIcon, { width: 16, height: 16, "aria-hidden": "true" });
17020
17120
  }
17021
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons27.DocumentIcon, { width: 16, height: 16, "aria-hidden": "true" });
17121
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons28.DocumentIcon, { width: 16, height: 16, "aria-hidden": "true" });
17022
17122
  }
17023
17123
  var FileDropzone = (0, import_react88.forwardRef)(
17024
17124
  function FileDropzone2({
@@ -17207,7 +17307,7 @@ var FileDropzone = (0, import_react88.forwardRef)(
17207
17307
  }
17208
17308
  },
17209
17309
  children: [
17210
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "ods-file-dropzone__icon", "aria-hidden": "true", children: isOver ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons27.UploadIcon, { width: 22, height: 22, "aria-hidden": "true" }) : icon }),
17310
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "ods-file-dropzone__icon", "aria-hidden": "true", children: isOver ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons28.UploadIcon, { width: 22, height: 22, "aria-hidden": "true" }) : icon }),
17211
17311
  /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "ods-file-dropzone__title", children: isOver ? showInternalList && itemCount > 0 ? "Drop to add more" : "Drop to upload" : title }),
17212
17312
  hint && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { id: `${inputId}-hint`, className: "ods-file-dropzone__hint", children: isOver ? "Release to add files" : hint }),
17213
17313
  !isOver && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "ods-file-dropzone__cta-row", children: [
@@ -17341,7 +17441,7 @@ var FileDropzone = (0, import_react88.forwardRef)(
17341
17441
  className: "ods-file-dropzone__item-btn",
17342
17442
  onClick: () => onRemove(f.id),
17343
17443
  "aria-label": `Remove ${f.file.name}`,
17344
- children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons27.CloseIcon, { width: 12, height: 12, "aria-hidden": "true" })
17444
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_icons28.CloseIcon, { width: 12, height: 12, "aria-hidden": "true" })
17345
17445
  }
17346
17446
  )
17347
17447
  ] })
@@ -17359,7 +17459,7 @@ var FileDropzone = (0, import_react88.forwardRef)(
17359
17459
  FileDropzone.displayName = "FileDropzone";
17360
17460
 
17361
17461
  // src/components/FileBrowser/FileBrowser.tsx
17362
- var import_icons34 = require("@octaviaflow/icons");
17462
+ var import_icons35 = require("@octaviaflow/icons");
17363
17463
  var import_react96 = require("react");
17364
17464
 
17365
17465
  // src/utils/filePath.ts
@@ -17385,7 +17485,7 @@ function baseName(path, sep) {
17385
17485
  }
17386
17486
 
17387
17487
  // src/components/FileList/FileList.tsx
17388
- var import_icons28 = require("@octaviaflow/icons");
17488
+ var import_icons29 = require("@octaviaflow/icons");
17389
17489
  var import_react90 = require("react");
17390
17490
 
17391
17491
  // src/components/Skeleton/Skeleton.tsx
@@ -17523,48 +17623,48 @@ SkeletonGroup.displayName = "SkeletonGroup";
17523
17623
  // src/components/FileList/FileList.tsx
17524
17624
  var import_jsx_runtime75 = require("react/jsx-runtime");
17525
17625
  var EXT_ICON = {
17526
- json: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.JsonIcon, { size: "sm" }),
17527
- csv: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.CsvIcon, { size: "sm" }),
17528
- tsv: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.CsvIcon, { size: "sm" }),
17529
- xml: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.XmlIcon, { size: "sm" }),
17530
- html: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.XmlIcon, { size: "sm" }),
17531
- htm: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.XmlIcon, { size: "sm" }),
17532
- yaml: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.CodeIcon, { size: "sm" }),
17533
- yml: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.CodeIcon, { size: "sm" }),
17534
- js: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.CodeIcon, { size: "sm" }),
17535
- ts: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.CodeIcon, { size: "sm" }),
17536
- sql: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.CodeIcon, { size: "sm" }),
17537
- sh: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.CodeIcon, { size: "sm" }),
17538
- pdf: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.PdfIcon, { size: "sm" }),
17539
- png: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ImageIcon, { size: "sm" }),
17540
- jpg: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ImageIcon, { size: "sm" }),
17541
- jpeg: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ImageIcon, { size: "sm" }),
17542
- gif: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ImageIcon, { size: "sm" }),
17543
- webp: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ImageIcon, { size: "sm" }),
17544
- svg: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ImageIcon, { size: "sm" }),
17545
- bmp: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ImageIcon, { size: "sm" }),
17546
- xls: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.TableIcon, { size: "sm" }),
17547
- xlsx: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.TableIcon, { size: "sm" }),
17548
- zip: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ArchiveIcon, { size: "sm" }),
17549
- gz: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ArchiveIcon, { size: "sm" }),
17550
- tar: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ArchiveIcon, { size: "sm" }),
17551
- rar: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ArchiveIcon, { size: "sm" }),
17552
- "7z": /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ArchiveIcon, { size: "sm" }),
17553
- mp3: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.DocumentAudioIcon, { size: "sm" }),
17554
- wav: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.DocumentAudioIcon, { size: "sm" }),
17555
- mp4: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.VideoIcon, { size: "sm" }),
17556
- mov: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.VideoIcon, { size: "sm" }),
17557
- webm: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.VideoIcon, { size: "sm" })
17626
+ json: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.JsonIcon, { size: "sm" }),
17627
+ csv: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.CsvIcon, { size: "sm" }),
17628
+ tsv: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.CsvIcon, { size: "sm" }),
17629
+ xml: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.XmlIcon, { size: "sm" }),
17630
+ html: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.XmlIcon, { size: "sm" }),
17631
+ htm: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.XmlIcon, { size: "sm" }),
17632
+ yaml: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.CodeIcon, { size: "sm" }),
17633
+ yml: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.CodeIcon, { size: "sm" }),
17634
+ js: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.CodeIcon, { size: "sm" }),
17635
+ ts: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.CodeIcon, { size: "sm" }),
17636
+ sql: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.CodeIcon, { size: "sm" }),
17637
+ sh: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.CodeIcon, { size: "sm" }),
17638
+ pdf: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.PdfIcon, { size: "sm" }),
17639
+ png: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ImageIcon, { size: "sm" }),
17640
+ jpg: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ImageIcon, { size: "sm" }),
17641
+ jpeg: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ImageIcon, { size: "sm" }),
17642
+ gif: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ImageIcon, { size: "sm" }),
17643
+ webp: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ImageIcon, { size: "sm" }),
17644
+ svg: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ImageIcon, { size: "sm" }),
17645
+ bmp: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ImageIcon, { size: "sm" }),
17646
+ xls: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.TableIcon, { size: "sm" }),
17647
+ xlsx: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.TableIcon, { size: "sm" }),
17648
+ zip: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ArchiveIcon, { size: "sm" }),
17649
+ gz: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ArchiveIcon, { size: "sm" }),
17650
+ tar: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ArchiveIcon, { size: "sm" }),
17651
+ rar: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ArchiveIcon, { size: "sm" }),
17652
+ "7z": /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ArchiveIcon, { size: "sm" }),
17653
+ mp3: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.DocumentAudioIcon, { size: "sm" }),
17654
+ wav: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.DocumentAudioIcon, { size: "sm" }),
17655
+ mp4: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.VideoIcon, { size: "sm" }),
17656
+ mov: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.VideoIcon, { size: "sm" }),
17657
+ webm: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.VideoIcon, { size: "sm" })
17558
17658
  };
17559
17659
  function fileIcon(item) {
17560
- if (item.isDirectory) return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.FolderIcon, { size: "sm" });
17660
+ if (item.isDirectory) return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.FolderIcon, { size: "sm" });
17561
17661
  const mt = (item.mimeType || "").toLowerCase();
17562
- if (mt.startsWith("image/")) return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ImageIcon, { size: "sm" });
17563
- if (mt.startsWith("video/")) return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.VideoIcon, { size: "sm" });
17564
- if (mt.startsWith("audio/")) return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.DocumentAudioIcon, { size: "sm" });
17565
- if (mt === "application/pdf") return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.PdfIcon, { size: "sm" });
17662
+ if (mt.startsWith("image/")) return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ImageIcon, { size: "sm" });
17663
+ if (mt.startsWith("video/")) return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.VideoIcon, { size: "sm" });
17664
+ if (mt.startsWith("audio/")) return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.DocumentAudioIcon, { size: "sm" });
17665
+ if (mt === "application/pdf") return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.PdfIcon, { size: "sm" });
17566
17666
  const ext = item.name.split(".").pop()?.toLowerCase() ?? "";
17567
- return EXT_ICON[ext] ?? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.DocumentIcon, { size: "sm" });
17667
+ return EXT_ICON[ext] ?? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.DocumentIcon, { size: "sm" });
17568
17668
  }
17569
17669
  function formatBytes(n) {
17570
17670
  if (n == null || !Number.isFinite(n)) return "\u2014";
@@ -17712,8 +17812,8 @@ function FileList({
17712
17812
  }
17713
17813
  };
17714
17814
  const viewOptions = [
17715
- { value: "list", label: "List", icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.ListIcon, { size: "sm" }) },
17716
- { value: "grid", label: "Grid", icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.GridIcon, { size: "sm" }) }
17815
+ { value: "list", label: "List", icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.ListIcon, { size: "sm" }) },
17816
+ { value: "grid", label: "Grid", icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.GridIcon, { size: "sm" }) }
17717
17817
  ];
17718
17818
  let body;
17719
17819
  if (loading) {
@@ -17728,7 +17828,7 @@ function FileList({
17728
17828
  body = /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "ods-file-list__state", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
17729
17829
  EmptyState,
17730
17830
  {
17731
- icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.FolderIcon, {}),
17831
+ icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.FolderIcon, {}),
17732
17832
  title: emptyTitle,
17733
17833
  description: emptyDescription
17734
17834
  }
@@ -17809,7 +17909,7 @@ function FileList({
17809
17909
  );
17810
17910
  }) });
17811
17911
  }
17812
- const sortIndicator = (key) => key === sortKey ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "ods-file-list__sort-caret", "aria-hidden": "true", children: sortDir === "asc" ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.CaretUpIcon, { size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons28.CaretDownIcon, { size: "sm" }) }) : null;
17912
+ const sortIndicator = (key) => key === sortKey ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "ods-file-list__sort-caret", "aria-hidden": "true", children: sortDir === "asc" ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.CaretUpIcon, { size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_icons29.CaretDownIcon, { size: "sm" }) }) : null;
17813
17913
  const sortLabel = (key, name) => key === sortKey ? `${name}, sorted ${sortDir === "asc" ? "ascending" : "descending"}` : `Sort by ${name.toLowerCase()}`;
17814
17914
  return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: cn("ods-file-list", className), children: [
17815
17915
  (showViewToggle || view === "list" && !loading && !error && sorted.length > 0) && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "ods-file-list__header", children: [
@@ -17881,11 +17981,11 @@ function FileList({
17881
17981
  FileList.displayName = "FileList";
17882
17982
 
17883
17983
  // src/components/FileViewer/FileViewer.tsx
17884
- var import_icons32 = require("@octaviaflow/icons");
17984
+ var import_icons33 = require("@octaviaflow/icons");
17885
17985
  var import_react94 = require("react");
17886
17986
 
17887
17987
  // src/components/JsonViewer/JsonViewer.tsx
17888
- var import_icons29 = require("@octaviaflow/icons");
17988
+ var import_icons30 = require("@octaviaflow/icons");
17889
17989
  var import_react91 = require("react");
17890
17990
  var import_jsx_runtime76 = require("react/jsx-runtime");
17891
17991
  var JsonViewer = (0, import_react91.forwardRef)(
@@ -17978,7 +18078,7 @@ function JsonNode({
17978
18078
  e.stopPropagation();
17979
18079
  setOpen((o) => !o);
17980
18080
  },
17981
- children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_icons29.ChevronRightIcon, { "aria-hidden": "true" })
18081
+ children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_icons30.ChevronRightIcon, { "aria-hidden": "true" })
17982
18082
  }
17983
18083
  ),
17984
18084
  renderKey,
@@ -18073,7 +18173,7 @@ function Leaf({
18073
18173
  handleCopy();
18074
18174
  },
18075
18175
  "aria-label": copied ? "Copied" : "Copy value",
18076
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_icons29.CheckmarkIcon, { width: 10, height: 10, "aria-hidden": "true" }) : /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_icons29.CopyIcon, { width: 10, height: 10, "aria-hidden": "true" })
18176
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_icons30.CheckmarkIcon, { width: 10, height: 10, "aria-hidden": "true" }) : /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_icons30.CopyIcon, { width: 10, height: 10, "aria-hidden": "true" })
18077
18177
  }
18078
18178
  )
18079
18179
  ] });
@@ -18167,7 +18267,7 @@ function JsonEditBody({ data, onChange, onValidate }) {
18167
18267
  }
18168
18268
 
18169
18269
  // src/components/XmlViewer/XmlViewer.tsx
18170
- var import_icons30 = require("@octaviaflow/icons");
18270
+ var import_icons31 = require("@octaviaflow/icons");
18171
18271
  var import_fast_xml_parser = require("fast-xml-parser");
18172
18272
  var import_react92 = require("react");
18173
18273
  var import_jsx_runtime77 = require("react/jsx-runtime");
@@ -18480,7 +18580,7 @@ function XmlNodeRow({
18480
18580
  e.stopPropagation();
18481
18581
  setOpen((o) => !o);
18482
18582
  },
18483
- children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_icons30.ChevronRightIcon, { size: "xs" })
18583
+ children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_icons31.ChevronRightIcon, { size: "xs" })
18484
18584
  }
18485
18585
  ),
18486
18586
  /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "ods-xml-viewer__bracket", children: "<" }),
@@ -18513,7 +18613,7 @@ function XmlNodeRow({
18513
18613
  ),
18514
18614
  "aria-label": copied ? "Copied" : `Copy ${node.name} subtree`,
18515
18615
  onClick: onCopy,
18516
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_icons30.CheckmarkIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_icons30.CopyIcon, { size: "xs" })
18616
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_icons31.CheckmarkIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_icons31.CopyIcon, { size: "xs" })
18517
18617
  }
18518
18618
  )
18519
18619
  ]
@@ -18543,7 +18643,7 @@ function XmlNodeRow({
18543
18643
  }
18544
18644
 
18545
18645
  // src/components/YamlViewer/YamlViewer.tsx
18546
- var import_icons31 = require("@octaviaflow/icons");
18646
+ var import_icons32 = require("@octaviaflow/icons");
18547
18647
  var import_react93 = require("react");
18548
18648
  var import_yaml = __toESM(require("yaml"), 1);
18549
18649
  var import_jsx_runtime78 = require("react/jsx-runtime");
@@ -18771,7 +18871,7 @@ var YamlViewer = (0, import_react93.forwardRef)(
18771
18871
  ),
18772
18872
  "aria-label": copied ? "Copied" : "Copy YAML",
18773
18873
  onClick: onCopy,
18774
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_icons31.CheckmarkIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_icons31.CopyIcon, { size: "xs" })
18874
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_icons32.CheckmarkIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_icons32.CopyIcon, { size: "xs" })
18775
18875
  }
18776
18876
  )
18777
18877
  ] })
@@ -18816,7 +18916,7 @@ var YamlViewer = (0, import_react93.forwardRef)(
18816
18916
  onClick: () => toggle(t.index),
18817
18917
  "aria-expanded": !isCollapsed,
18818
18918
  "aria-label": isCollapsed ? "Expand" : "Collapse",
18819
- children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_icons31.ChevronRightIcon, { size: "xs" })
18919
+ children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_icons32.ChevronRightIcon, { size: "xs" })
18820
18920
  }
18821
18921
  ) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "ods-yaml-viewer__caret-spacer" }),
18822
18922
  t.kind === "comment" && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "ods-yaml-viewer__comment", children: t.raw.trim() }),
@@ -18995,15 +19095,15 @@ function detectKind(name, mimeType, override) {
18995
19095
  return "binary";
18996
19096
  }
18997
19097
  var KIND_ICON = {
18998
- json: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.JsonIcon, { size: "sm" }),
18999
- csv: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.CsvIcon, { size: "sm" }),
19000
- xml: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.XmlIcon, { size: "sm" }),
19001
- yaml: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.CodeIcon, { size: "sm" }),
19002
- markdown: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.DocumentIcon, { size: "sm" }),
19003
- text: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.DocumentIcon, { size: "sm" }),
19004
- image: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.ImageIcon, { size: "sm" }),
19005
- pdf: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.DocumentIcon, { size: "sm" }),
19006
- binary: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.DocumentIcon, { size: "sm" })
19098
+ json: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.JsonIcon, { size: "sm" }),
19099
+ csv: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.CsvIcon, { size: "sm" }),
19100
+ xml: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.XmlIcon, { size: "sm" }),
19101
+ yaml: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.CodeIcon, { size: "sm" }),
19102
+ markdown: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.DocumentIcon, { size: "sm" }),
19103
+ text: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.DocumentIcon, { size: "sm" }),
19104
+ image: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.ImageIcon, { size: "sm" }),
19105
+ pdf: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.DocumentIcon, { size: "sm" }),
19106
+ binary: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.DocumentIcon, { size: "sm" })
19007
19107
  };
19008
19108
  function formatBytes2(n) {
19009
19109
  if (n == null || !Number.isFinite(n)) return "";
@@ -19078,7 +19178,7 @@ function FileViewer({
19078
19178
  url,
19079
19179
  onDownload,
19080
19180
  children: [
19081
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.DownloadIcon, { size: "sm" }),
19181
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.DownloadIcon, { size: "sm" }),
19082
19182
  " Download"
19083
19183
  ]
19084
19184
  }
@@ -19109,11 +19209,11 @@ function DownloadFallback({
19109
19209
  return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "ods-file-viewer__center", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
19110
19210
  EmptyState,
19111
19211
  {
19112
- icon: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.DocumentIcon, {}),
19212
+ icon: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.DocumentIcon, {}),
19113
19213
  title: "Preview not available",
19114
19214
  description: `"${name}" can't be previewed here.`,
19115
19215
  action: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(DownloadControl, { className: "ods-file-viewer__fallback-btn", url, onDownload, children: [
19116
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons32.DownloadIcon, { size: "sm" }),
19216
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons33.DownloadIcon, { size: "sm" }),
19117
19217
  " Download"
19118
19218
  ] })
19119
19219
  }
@@ -19122,7 +19222,7 @@ function DownloadFallback({
19122
19222
  FileViewer.displayName = "FileViewer";
19123
19223
 
19124
19224
  // src/components/TreeView/TreeView.tsx
19125
- var import_icons33 = require("@octaviaflow/icons");
19225
+ var import_icons34 = require("@octaviaflow/icons");
19126
19226
  var import_framer_motion21 = require("framer-motion");
19127
19227
  var import_react95 = require("react");
19128
19228
  var import_jsx_runtime80 = require("react/jsx-runtime");
@@ -19336,7 +19436,7 @@ var TreeView = (0, import_react95.forwardRef)(
19336
19436
  e.stopPropagation();
19337
19437
  if (isBranch && !node.disabled) void toggleExpand(node);
19338
19438
  },
19339
- children: isBranch && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_icons33.ChevronRightIcon, { size: "xs", "aria-hidden": true })
19439
+ children: isBranch && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_icons34.ChevronRightIcon, { size: "xs", "aria-hidden": true })
19340
19440
  }
19341
19441
  ),
19342
19442
  (node.icon || node.iconExpanded) && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "ods-tree__icon", "aria-hidden": "true", children: isExpanded && node.iconExpanded ? node.iconExpanded : node.icon }),
@@ -19553,8 +19653,8 @@ function FileBrowser({
19553
19653
  (it) => ({
19554
19654
  id: it.path,
19555
19655
  label: it.name,
19556
- icon: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons34.FolderIcon, { size: "sm" }),
19557
- iconExpanded: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons34.FolderOpenIcon, { size: "sm" }),
19656
+ icon: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons35.FolderIcon, { size: "sm" }),
19657
+ iconExpanded: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons35.FolderOpenIcon, { size: "sm" }),
19558
19658
  isBranch: true
19559
19659
  }),
19560
19660
  []
@@ -19571,8 +19671,8 @@ function FileBrowser({
19571
19671
  {
19572
19672
  id: rootPath,
19573
19673
  label: rootLabel,
19574
- icon: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons34.FolderIcon, { size: "sm" }),
19575
- iconExpanded: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons34.FolderOpenIcon, { size: "sm" }),
19674
+ icon: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons35.FolderIcon, { size: "sm" }),
19675
+ iconExpanded: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons35.FolderOpenIcon, { size: "sm" }),
19576
19676
  isBranch: true
19577
19677
  }
19578
19678
  ],
@@ -19603,7 +19703,7 @@ function FileBrowser({
19603
19703
  {
19604
19704
  variant: "icon",
19605
19705
  size: "sm",
19606
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons34.FolderParentIcon, { size: "sm" }),
19706
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons35.FolderParentIcon, { size: "sm" }),
19607
19707
  "aria-label": "Up one folder",
19608
19708
  disabled: !parent,
19609
19709
  onClick: () => parent && navigate(parent)
@@ -19636,7 +19736,7 @@ function FileBrowser({
19636
19736
  size: "sm",
19637
19737
  type: "search",
19638
19738
  placeholder: "Search this folder",
19639
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons34.SearchIcon, { size: "sm" }),
19739
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons35.SearchIcon, { size: "sm" }),
19640
19740
  value: query,
19641
19741
  onChange: (e) => setQuery(e.target.value),
19642
19742
  "aria-label": "Search this folder"
@@ -19647,7 +19747,7 @@ function FileBrowser({
19647
19747
  {
19648
19748
  variant: "icon",
19649
19749
  size: "sm",
19650
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons34.RenewIcon, { size: "sm" }),
19750
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_icons35.RenewIcon, { size: "sm" }),
19651
19751
  "aria-label": "Refresh",
19652
19752
  onClick: refresh
19653
19753
  }
@@ -19723,36 +19823,36 @@ function FileBrowser({
19723
19823
  FileBrowser.displayName = "FileBrowser";
19724
19824
 
19725
19825
  // src/components/FilePicker/FilePicker.tsx
19726
- var import_icons35 = require("@octaviaflow/icons");
19826
+ var import_icons36 = require("@octaviaflow/icons");
19727
19827
  var import_react97 = require("react");
19728
19828
  var import_react_dom13 = require("react-dom");
19729
19829
  var import_jsx_runtime82 = require("react/jsx-runtime");
19730
19830
  var EXT_ICON2 = {
19731
- json: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.JsonIcon, { size: "sm" }),
19732
- csv: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.CsvIcon, { size: "sm" }),
19733
- tsv: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.CsvIcon, { size: "sm" }),
19734
- xml: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.XmlIcon, { size: "sm" }),
19735
- html: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.XmlIcon, { size: "sm" }),
19736
- yaml: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.CodeIcon, { size: "sm" }),
19737
- yml: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.CodeIcon, { size: "sm" }),
19738
- js: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.CodeIcon, { size: "sm" }),
19739
- ts: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.CodeIcon, { size: "sm" }),
19740
- sql: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.CodeIcon, { size: "sm" }),
19741
- pdf: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.PdfIcon, { size: "sm" }),
19742
- png: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.ImageIcon, { size: "sm" }),
19743
- jpg: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.ImageIcon, { size: "sm" }),
19744
- jpeg: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.ImageIcon, { size: "sm" }),
19745
- gif: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.ImageIcon, { size: "sm" }),
19746
- webp: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.ImageIcon, { size: "sm" }),
19747
- svg: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.ImageIcon, { size: "sm" })
19831
+ json: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.JsonIcon, { size: "sm" }),
19832
+ csv: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.CsvIcon, { size: "sm" }),
19833
+ tsv: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.CsvIcon, { size: "sm" }),
19834
+ xml: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.XmlIcon, { size: "sm" }),
19835
+ html: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.XmlIcon, { size: "sm" }),
19836
+ yaml: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.CodeIcon, { size: "sm" }),
19837
+ yml: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.CodeIcon, { size: "sm" }),
19838
+ js: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.CodeIcon, { size: "sm" }),
19839
+ ts: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.CodeIcon, { size: "sm" }),
19840
+ sql: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.CodeIcon, { size: "sm" }),
19841
+ pdf: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.PdfIcon, { size: "sm" }),
19842
+ png: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.ImageIcon, { size: "sm" }),
19843
+ jpg: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.ImageIcon, { size: "sm" }),
19844
+ jpeg: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.ImageIcon, { size: "sm" }),
19845
+ gif: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.ImageIcon, { size: "sm" }),
19846
+ webp: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.ImageIcon, { size: "sm" }),
19847
+ svg: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.ImageIcon, { size: "sm" })
19748
19848
  };
19749
19849
  function rowIcon(item) {
19750
- if (item.isDirectory) return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.FolderIcon, { size: "sm" });
19850
+ if (item.isDirectory) return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.FolderIcon, { size: "sm" });
19751
19851
  const mt = (item.mimeType || "").toLowerCase();
19752
- if (mt.startsWith("image/")) return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.ImageIcon, { size: "sm" });
19753
- if (mt === "application/pdf") return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.PdfIcon, { size: "sm" });
19852
+ if (mt.startsWith("image/")) return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.ImageIcon, { size: "sm" });
19853
+ if (mt === "application/pdf") return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.PdfIcon, { size: "sm" });
19754
19854
  const ext = item.name.split(".").pop()?.toLowerCase() ?? "";
19755
- return EXT_ICON2[ext] ?? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.DocumentIcon, { size: "sm" });
19855
+ return EXT_ICON2[ext] ?? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.DocumentIcon, { size: "sm" });
19756
19856
  }
19757
19857
  function parentDir(path, sep, rootPath) {
19758
19858
  const segs = path.split(sep).filter(Boolean);
@@ -20025,7 +20125,7 @@ function FilePicker({
20025
20125
  "aria-describedby": helperId,
20026
20126
  "aria-label": ariaLabel,
20027
20127
  children: [
20028
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "ods-file-picker__lead", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.FolderIcon, { size: "sm" }) }),
20128
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "ods-file-picker__lead", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.FolderIcon, { size: "sm" }) }),
20029
20129
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
20030
20130
  "span",
20031
20131
  {
@@ -20037,7 +20137,7 @@ function FilePicker({
20037
20137
  children: value || placeholder
20038
20138
  }
20039
20139
  ),
20040
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.ChevronDownIcon, { "aria-hidden": "true", className: "ods-file-picker__chev" })
20140
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.ChevronDownIcon, { "aria-hidden": "true", className: "ods-file-picker__chev" })
20041
20141
  ]
20042
20142
  }
20043
20143
  ),
@@ -20073,7 +20173,7 @@ function FilePicker({
20073
20173
  "aria-label": "Up one folder",
20074
20174
  disabled: !parent,
20075
20175
  onClick: () => parent && navigate(parent),
20076
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.FolderParentIcon, { size: "sm" })
20176
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.FolderParentIcon, { size: "sm" })
20077
20177
  }
20078
20178
  ),
20079
20179
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("nav", { className: "ods-file-picker__crumbs", "aria-label": "Current path", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("ol", { children: crumbs.map((c, i) => {
@@ -20094,7 +20194,7 @@ function FilePicker({
20094
20194
  }
20095
20195
  ),
20096
20196
  !isLast && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
20097
- import_icons35.ChevronRightIcon,
20197
+ import_icons36.ChevronRightIcon,
20098
20198
  {
20099
20199
  size: "sm",
20100
20200
  className: "ods-file-picker__crumb-sep",
@@ -20105,7 +20205,7 @@ function FilePicker({
20105
20205
  }) }) })
20106
20206
  ] }),
20107
20207
  searchable && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "ods-file-picker__search", children: [
20108
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.SearchIcon, { size: "sm", className: "ods-file-picker__search-icon", "aria-hidden": "true" }),
20208
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.SearchIcon, { size: "sm", className: "ods-file-picker__search-icon", "aria-hidden": "true" }),
20109
20209
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
20110
20210
  "input",
20111
20211
  {
@@ -20139,7 +20239,7 @@ function FilePicker({
20139
20239
  ) }) : items.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "ods-file-picker__state", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
20140
20240
  EmptyState,
20141
20241
  {
20142
- icon: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.FolderIcon, {}),
20242
+ icon: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.FolderIcon, {}),
20143
20243
  title: isSearching ? "No matches" : emptyTitle,
20144
20244
  description: isSearching ? `Nothing under \u201C${baseName(navPath, separator) || rootLabel}\u201D matches \u201C${query.trim()}\u201D.` : void 0
20145
20245
  }
@@ -20169,7 +20269,7 @@ function FilePicker({
20169
20269
  subtitle && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "ods-file-picker__row-path", title: subtitle, children: subtitle })
20170
20270
  ] }),
20171
20271
  it.isDirectory && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
20172
- import_icons35.ChevronRightIcon,
20272
+ import_icons36.ChevronRightIcon,
20173
20273
  {
20174
20274
  size: "sm",
20175
20275
  className: "ods-file-picker__row-chev",
@@ -20196,7 +20296,7 @@ function FilePicker({
20196
20296
  onClick: () => commit(navPath, { name: baseName(navPath, separator), path: navPath, isDirectory: true }),
20197
20297
  children: [
20198
20298
  "Use this folder",
20199
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons35.ChevronRightIcon, { size: "sm", "aria-hidden": "true" })
20299
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_icons36.ChevronRightIcon, { size: "sm", "aria-hidden": "true" })
20200
20300
  ]
20201
20301
  }
20202
20302
  )
@@ -21067,7 +21167,7 @@ function FlowCanvas({
21067
21167
  }
21068
21168
 
21069
21169
  // src/components/FlowDoctor/FlowDoctor.tsx
21070
- var import_icons36 = require("@octaviaflow/icons");
21170
+ var import_icons37 = require("@octaviaflow/icons");
21071
21171
  var import_jsx_runtime86 = require("react/jsx-runtime");
21072
21172
  function flowDoctorTone(issues) {
21073
21173
  if (issues.some((i) => i.severity === "error")) return "error";
@@ -21084,9 +21184,9 @@ function flowDoctorSummary(issues) {
21084
21184
  ].filter(Boolean).join(", ");
21085
21185
  }
21086
21186
  var VERDICT_ICON = {
21087
- clean: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons36.CheckmarkFilledIcon, { size: "md", "aria-hidden": "true" }),
21088
- warning: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons36.WarningFilledIcon, { size: "md", "aria-hidden": "true" }),
21089
- error: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons36.ErrorFilledIcon, { size: "md", "aria-hidden": "true" })
21187
+ clean: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons37.CheckmarkFilledIcon, { size: "md", "aria-hidden": "true" }),
21188
+ warning: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons37.WarningFilledIcon, { size: "md", "aria-hidden": "true" }),
21189
+ error: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons37.ErrorFilledIcon, { size: "md", "aria-hidden": "true" })
21090
21190
  };
21091
21191
  var VERDICT_TITLE = {
21092
21192
  clean: "Flow looks healthy",
@@ -21102,7 +21202,7 @@ function IssueRow({
21102
21202
  issue,
21103
21203
  onIssueClick
21104
21204
  }) {
21105
- const icon = issue.severity === "error" ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons36.ErrorFilledIcon, { size: "sm", "aria-hidden": "true" }) : /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons36.WarningFilledIcon, { size: "sm", "aria-hidden": "true" });
21205
+ const icon = issue.severity === "error" ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons37.ErrorFilledIcon, { size: "sm", "aria-hidden": "true" }) : /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons37.WarningFilledIcon, { size: "sm", "aria-hidden": "true" });
21106
21206
  const body = /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_jsx_runtime86.Fragment, { children: [
21107
21207
  /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
21108
21208
  "span",
@@ -21119,7 +21219,7 @@ function IssueRow({
21119
21219
  /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__row-msg", children: issue.message }),
21120
21220
  issue.hint && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__row-hint", children: issue.hint })
21121
21221
  ] }),
21122
- onIssueClick && (issue.nodeId || issue.edgeId) && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__row-go", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons36.ArrowRightIcon, { size: "sm", "aria-hidden": "true" }) })
21222
+ onIssueClick && (issue.nodeId || issue.edgeId) && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__row-go", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons37.ArrowRightIcon, { size: "sm", "aria-hidden": "true" }) })
21123
21223
  ] });
21124
21224
  if (onIssueClick) {
21125
21225
  return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("li", { className: "ods-flow-doctor__item", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
@@ -21178,7 +21278,7 @@ function FlowDoctor({
21178
21278
  ...rest,
21179
21279
  children: [
21180
21280
  /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("header", { className: "ods-flow-doctor__head", children: [
21181
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__head-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons36.StethoscopeIcon, { size: "sm", "aria-hidden": "true" }) }),
21281
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__head-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons37.StethoscopeIcon, { size: "sm", "aria-hidden": "true" }) }),
21182
21282
  /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__title", children: title }),
21183
21283
  headerExtra && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__head-extra", children: headerExtra })
21184
21284
  ] }),
@@ -21201,13 +21301,13 @@ function FlowDoctor({
21201
21301
  ] }),
21202
21302
  checks && checks.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("details", { className: "ods-flow-doctor__passed", children: [
21203
21303
  /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("summary", { className: "ods-flow-doctor__passed-summary", children: [
21204
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__passed-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons36.CheckmarkIcon, { size: "sm", "aria-hidden": "true" }) }),
21304
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__passed-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons37.CheckmarkIcon, { size: "sm", "aria-hidden": "true" }) }),
21205
21305
  "Passed checks (",
21206
21306
  checks.length,
21207
21307
  ")"
21208
21308
  ] }),
21209
21309
  /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("ul", { className: "ods-flow-doctor__list ods-flow-doctor__list--passed", children: checks.map((check) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("li", { className: "ods-flow-doctor__item", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: "ods-flow-doctor__row ods-flow-doctor__row--passed", children: [
21210
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__row-icon ods-flow-doctor__row-icon--passed", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons36.CheckmarkIcon, { size: "sm", "aria-hidden": "true" }) }),
21310
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__row-icon ods-flow-doctor__row-icon--passed", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_icons37.CheckmarkIcon, { size: "sm", "aria-hidden": "true" }) }),
21211
21311
  /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("span", { className: "ods-flow-doctor__row-main", children: [
21212
21312
  /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__row-head", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__row-source", children: check.label }) }),
21213
21313
  check.description && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "ods-flow-doctor__row-msg", children: check.description })
@@ -21830,7 +21930,7 @@ Switch.displayName = "Switch";
21830
21930
  var import_react109 = require("react");
21831
21931
  var import_react_aria10 = require("react-aria");
21832
21932
  var import_react_dom14 = require("react-dom");
21833
- var import_icons38 = require("@octaviaflow/icons");
21933
+ var import_icons39 = require("@octaviaflow/icons");
21834
21934
 
21835
21935
  // src/hooks/useTextareaCommands.ts
21836
21936
  var import_react106 = require("react");
@@ -22199,7 +22299,7 @@ function useTextareaSelection({
22199
22299
  }
22200
22300
 
22201
22301
  // src/hooks/useTextareaTools.tsx
22202
- var import_icons37 = require("@octaviaflow/icons");
22302
+ var import_icons38 = require("@octaviaflow/icons");
22203
22303
  var import_react108 = require("react");
22204
22304
  var import_jsx_runtime90 = require("react/jsx-runtime");
22205
22305
  function useTextareaTools({
@@ -22337,28 +22437,28 @@ var prependLineTool = (id, prefix, label, icon, title) => ({
22337
22437
  onAction: (h) => h.prependLines(prefix)
22338
22438
  });
22339
22439
  var textareaTools = {
22340
- bold: () => wrapTool("bold", "**", "**", "Bold", /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.TextBoldIcon, {}), "Bold (\u2318B)"),
22341
- italic: () => wrapTool("italic", "*", "*", "Italic", /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.TextItalicIcon, {}), "Italic (\u2318I)"),
22440
+ bold: () => wrapTool("bold", "**", "**", "Bold", /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.TextBoldIcon, {}), "Bold (\u2318B)"),
22441
+ italic: () => wrapTool("italic", "*", "*", "Italic", /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.TextItalicIcon, {}), "Italic (\u2318I)"),
22342
22442
  strikethrough: () => wrapTool(
22343
22443
  "strike",
22344
22444
  "~~",
22345
22445
  "~~",
22346
22446
  "Strikethrough",
22347
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.TextStrikethroughIcon, {}),
22447
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.TextStrikethroughIcon, {}),
22348
22448
  "Strikethrough"
22349
22449
  ),
22350
- code: () => wrapTool("code", "`", "`", "Code", /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.CodeIcon, {}), "Inline code"),
22450
+ code: () => wrapTool("code", "`", "`", "Code", /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.CodeIcon, {}), "Inline code"),
22351
22451
  codeBlock: () => ({
22352
22452
  id: "code-block",
22353
22453
  label: "Code block",
22354
- icon: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.CodeIcon, {}),
22454
+ icon: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.CodeIcon, {}),
22355
22455
  title: "Code block",
22356
22456
  onAction: (h) => h.wrap("```\n", "\n```")
22357
22457
  }),
22358
22458
  link: () => ({
22359
22459
  id: "link",
22360
22460
  label: "Link",
22361
- icon: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.TextLinkIcon, {}),
22461
+ icon: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.TextLinkIcon, {}),
22362
22462
  title: "Insert link",
22363
22463
  onAction: (h) => {
22364
22464
  const sel = h.selection;
@@ -22371,41 +22471,41 @@ var textareaTools = {
22371
22471
  `heading-${level}`,
22372
22472
  `${"#".repeat(level)} `,
22373
22473
  `H${level}`,
22374
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.HeadingIcon, {}),
22474
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.HeadingIcon, {}),
22375
22475
  `Heading ${level}`
22376
22476
  ),
22377
22477
  bulletList: () => prependLineTool(
22378
22478
  "ul",
22379
22479
  "- ",
22380
22480
  "Bullet list",
22381
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.ListBulletedIcon, {}),
22481
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.ListBulletedIcon, {}),
22382
22482
  "Bullet list"
22383
22483
  ),
22384
22484
  numberedList: () => prependLineTool(
22385
22485
  "ol",
22386
22486
  "1. ",
22387
22487
  "Numbered list",
22388
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.ListNumberedIcon, {}),
22488
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.ListNumberedIcon, {}),
22389
22489
  "Numbered list"
22390
22490
  ),
22391
22491
  quote: () => prependLineTool(
22392
22492
  "quote",
22393
22493
  "> ",
22394
22494
  "Quote",
22395
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.QuotesIcon, {}),
22495
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.QuotesIcon, {}),
22396
22496
  "Quote"
22397
22497
  ),
22398
22498
  undo: () => ({
22399
22499
  id: "undo",
22400
22500
  label: "Undo",
22401
- icon: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.UndoIcon, {}),
22501
+ icon: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.UndoIcon, {}),
22402
22502
  title: "Undo (\u2318Z)",
22403
22503
  onAction: (h) => h.undo()
22404
22504
  }),
22405
22505
  redo: () => ({
22406
22506
  id: "redo",
22407
22507
  label: "Redo",
22408
- icon: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons37.RedoIcon, {}),
22508
+ icon: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_icons38.RedoIcon, {}),
22409
22509
  title: "Redo (\u2318\u21E7Z)",
22410
22510
  onAction: (h) => h.redo()
22411
22511
  }),
@@ -22686,7 +22786,7 @@ var Textarea = (0, import_react109.forwardRef)(
22686
22786
  onClick: () => sel.copy(),
22687
22787
  "aria-label": "Copy selection",
22688
22788
  title: "Copy",
22689
- children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_icons38.CopyIcon, { size: "xs" })
22789
+ children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_icons39.CopyIcon, { size: "xs" })
22690
22790
  }
22691
22791
  ),
22692
22792
  /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
@@ -22697,7 +22797,7 @@ var Textarea = (0, import_react109.forwardRef)(
22697
22797
  onClick: () => sel.cut(),
22698
22798
  "aria-label": "Cut selection",
22699
22799
  title: "Cut",
22700
- children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_icons38.CutIcon, { size: "xs" })
22800
+ children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_icons39.CutIcon, { size: "xs" })
22701
22801
  }
22702
22802
  ),
22703
22803
  selectionActions?.map((a) => /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(
@@ -23004,7 +23104,7 @@ function FlowSettingsDialog({
23004
23104
  }
23005
23105
 
23006
23106
  // src/components/FlowToolbar/FlowToolbar.tsx
23007
- var import_icons39 = require("@octaviaflow/icons");
23107
+ var import_icons40 = require("@octaviaflow/icons");
23008
23108
  var import_react113 = require("react");
23009
23109
 
23010
23110
  // src/workflow/store/selectors.ts
@@ -23202,40 +23302,40 @@ function FlowToolbarDivider({ className }) {
23202
23302
  }
23203
23303
  var ICON_SIZE = "sm";
23204
23304
  var FlowToolbarIcons = {
23205
- save: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.SaveIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23305
+ save: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.SaveIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23206
23306
  // `*FilledAlt` variants — clean play triangle + filled square with no
23207
23307
  // circle backdrop. The plain `*Filled` variants are pre-wrapped in a
23208
23308
  // round button shape that conflicts with our toolbar button container
23209
23309
  // (reads as a button-in-button).
23210
- run: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.PlayFilledAltIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23211
- stop: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.StopFilledAltIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23212
- lock: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.LockedIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23213
- unlock: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.UnlockedIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23214
- reset: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.ResetIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23215
- undo: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.UndoIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23216
- redo: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.RedoIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23217
- drawerOpen: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.OpenPanelLeftIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23218
- drawerClose: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.OpenPanelRightIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23310
+ run: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.PlayFilledAltIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23311
+ stop: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.StopFilledAltIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23312
+ lock: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.LockedIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23313
+ unlock: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.UnlockedIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23314
+ reset: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.ResetIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23315
+ undo: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.UndoIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23316
+ redo: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.RedoIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23317
+ drawerOpen: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.OpenPanelLeftIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23318
+ drawerClose: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.OpenPanelRightIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23219
23319
  // `SettingsAdjustIcon` (sliders) instead of `SettingsIcon` (12-tooth
23220
23320
  // gear). The gear is unreadable at 16 px — the teeth blur into a
23221
23321
  // blob. The sliders glyph reads cleanly at any size and feels more
23222
23322
  // contemporary for a "view / display settings" affordance.
23223
- settings: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.SettingsAdjustIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23224
- history: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.TimeIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23225
- debug: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.DebugIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23226
- zoomIn: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.ZoomInIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23227
- zoomOut: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.ZoomOutIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23228
- zoomReset: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.RestartIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23229
- fit: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.FitToScreenIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23230
- autoLayout: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.TreeViewIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23323
+ settings: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.SettingsAdjustIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23324
+ history: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.TimeIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23325
+ debug: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.DebugIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23326
+ zoomIn: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.ZoomInIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23327
+ zoomOut: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.ZoomOutIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23328
+ zoomReset: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.RestartIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23329
+ fit: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.FitToScreenIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23330
+ autoLayout: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.TreeViewIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23231
23331
  /** Centre-to-fit — alternate when consumers want the centring glyph
23232
23332
  * rather than the fit-to-screen rectangle. Exposed so power users can
23233
23333
  * swap via `icon={FlowToolbarIcons.center}`. */
23234
- center: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.CenterToFitIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23334
+ center: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.CenterToFitIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23235
23335
  /** Checkmark — short-lived success indicator on the save button. */
23236
- check: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.CheckmarkIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23336
+ check: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.CheckmarkIcon, { size: ICON_SIZE, "aria-hidden": "true" }),
23237
23337
  /** Filled warning — error indicator on the save button. */
23238
- error: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.WarningFilledIcon, { size: ICON_SIZE, "aria-hidden": "true" })
23338
+ error: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.WarningFilledIcon, { size: ICON_SIZE, "aria-hidden": "true" })
23239
23339
  };
23240
23340
  function FlowToolbarSave({
23241
23341
  state,
@@ -23514,7 +23614,7 @@ function FlowToolbarIssues({
23514
23614
  className: cn("ods-flow-toolbar__btn", `ods-flow-toolbar__btn--issues-${tone}`),
23515
23615
  "aria-label": `${label}: ${summary}`,
23516
23616
  children: [
23517
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "ods-flow-toolbar__btn-icon", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.StethoscopeIcon, { size: "sm", "aria-hidden": "true" }) }),
23617
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "ods-flow-toolbar__btn-icon", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.StethoscopeIcon, { size: "sm", "aria-hidden": "true" }) }),
23518
23618
  count > 0 && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
23519
23619
  "span",
23520
23620
  {
@@ -23564,7 +23664,7 @@ function FlowToolbarStatus({
23564
23664
  if (status === "draft" || status === "paused") {
23565
23665
  items.push({
23566
23666
  label: status === "draft" ? "Activate flow" : "Resume flow",
23567
- icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.PlayFilledAltIcon, { size: "sm", "aria-hidden": "true" }),
23667
+ icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.PlayFilledAltIcon, { size: "sm", "aria-hidden": "true" }),
23568
23668
  disabled: busy || !canActivate,
23569
23669
  onClick: () => onAction?.(status === "draft" ? "activate" : "resume")
23570
23670
  });
@@ -23578,7 +23678,7 @@ function FlowToolbarStatus({
23578
23678
  if (status === "active") {
23579
23679
  items.push({
23580
23680
  label: "Pause flow",
23581
- icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.PauseFilledIcon, { size: "sm", "aria-hidden": "true" }),
23681
+ icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.PauseFilledIcon, { size: "sm", "aria-hidden": "true" }),
23582
23682
  disabled: busy,
23583
23683
  onClick: () => onAction?.("pause")
23584
23684
  });
@@ -23586,7 +23686,7 @@ function FlowToolbarStatus({
23586
23686
  if (status === "archived" && showDisable) {
23587
23687
  items.push({
23588
23688
  label: "Restore flow",
23589
- icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.ResetIcon, { size: "sm", "aria-hidden": "true" }),
23689
+ icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.ResetIcon, { size: "sm", "aria-hidden": "true" }),
23590
23690
  disabled: busy,
23591
23691
  onClick: () => onAction?.("restore")
23592
23692
  });
@@ -23594,7 +23694,7 @@ function FlowToolbarStatus({
23594
23694
  if (showDisable && status !== "archived") {
23595
23695
  items.push({
23596
23696
  label: "Disable flow",
23597
- icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.StopFilledAltIcon, { size: "sm", "aria-hidden": "true" }),
23697
+ icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.StopFilledAltIcon, { size: "sm", "aria-hidden": "true" }),
23598
23698
  danger: true,
23599
23699
  disabled: busy,
23600
23700
  onClick: () => onAction?.("disable")
@@ -23604,7 +23704,7 @@ function FlowToolbarStatus({
23604
23704
  if (items.length > 0) items.push({ label: "", separator: true });
23605
23705
  items.push({
23606
23706
  label: "Flow settings\u2026",
23607
- icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.SettingsAdjustIcon, { size: "sm", "aria-hidden": "true" }),
23707
+ icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.SettingsAdjustIcon, { size: "sm", "aria-hidden": "true" }),
23608
23708
  disabled: busy,
23609
23709
  onClick: onOpenSettings
23610
23710
  });
@@ -23622,7 +23722,7 @@ function FlowToolbarStatus({
23622
23722
  trigger: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
23623
23723
  busy ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Spinner, { size: 12, label: "Updating flow status" }) : /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "ods-flow-toolbar__status-dot", "aria-hidden": "true" }),
23624
23724
  /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "ods-flow-toolbar__status-label", children: label }),
23625
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "ods-flow-toolbar__status-caret", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons39.ChevronDownIcon, { size: "sm", "aria-hidden": "true" }) })
23725
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "ods-flow-toolbar__status-caret", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_icons40.ChevronDownIcon, { size: "sm", "aria-hidden": "true" }) })
23626
23726
  ] }),
23627
23727
  items
23628
23728
  }
@@ -23760,7 +23860,7 @@ OTPInput.displayName = "OTPInput";
23760
23860
 
23761
23861
  // src/components/PhoneInput/PhoneInput.tsx
23762
23862
  var import_react115 = require("react");
23763
- var import_icons40 = require("@octaviaflow/icons");
23863
+ var import_icons41 = require("@octaviaflow/icons");
23764
23864
  var import_jsx_runtime96 = require("react/jsx-runtime");
23765
23865
  var DEFAULT_COUNTRIES = [
23766
23866
  { code: "US", name: "United States", dialCode: "+1", flag: "\u{1F1FA}\u{1F1F8}" },
@@ -23937,7 +24037,7 @@ var PhoneInput = (0, import_react115.forwardRef)(
23937
24037
  open && "ods-phone__chevron--open"
23938
24038
  ),
23939
24039
  "aria-hidden": "true",
23940
- children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_icons40.ChevronDownIcon, { size: "xs" })
24040
+ children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_icons41.ChevronDownIcon, { size: "xs" })
23941
24041
  }
23942
24042
  )
23943
24043
  ]
@@ -23969,7 +24069,7 @@ var PhoneInput = (0, import_react115.forwardRef)(
23969
24069
  // isn't trapped inside listbox semantics.
23970
24070
  /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "ods-phone__menu", ref: menuRef, children: [
23971
24071
  showSearch && /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "ods-phone__search", children: [
23972
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_icons40.SearchIcon, { size: "xs", "aria-hidden": "true" }),
24072
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_icons41.SearchIcon, { size: "xs", "aria-hidden": "true" }),
23973
24073
  /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
23974
24074
  "input",
23975
24075
  {
@@ -24454,7 +24554,7 @@ function SettingsRow({
24454
24554
  }
24455
24555
 
24456
24556
  // src/components/Stepper/Stepper.tsx
24457
- var import_icons41 = require("@octaviaflow/icons");
24557
+ var import_icons42 = require("@octaviaflow/icons");
24458
24558
  var import_react117 = require("react");
24459
24559
  var import_jsx_runtime99 = require("react/jsx-runtime");
24460
24560
  function deriveStatus(step, index, active) {
@@ -24543,7 +24643,7 @@ var Stepper = (0, import_react117.forwardRef)(
24543
24643
  const status = deriveStatus(step, i, activeIndex);
24544
24644
  const isLast = i === steps.length - 1;
24545
24645
  const segmentCompleted = showProgressTrail && i < activeIndex && status !== "error";
24546
- const indicatorContent = step.indicator ?? (status === "complete" ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_icons41.CheckmarkIcon, { size: "sm", "aria-hidden": true }) : status === "error" ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_icons41.ErrorIcon, { size: "sm", "aria-hidden": true }) : /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { className: "ods-stepper__indicator-num", children: i + 1 }));
24646
+ const indicatorContent = step.indicator ?? (status === "complete" ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_icons42.CheckmarkIcon, { size: "sm", "aria-hidden": true }) : status === "error" ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_icons42.ErrorIcon, { size: "sm", "aria-hidden": true }) : /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { className: "ods-stepper__indicator-num", children: i + 1 }));
24547
24647
  const labelText = /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("span", { className: "ods-stepper__label-text", children: [
24548
24648
  /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { className: "ods-stepper__label-title", children: step.label }),
24549
24649
  step.optional && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { className: "ods-stepper__label-optional", children: "Optional" }),
@@ -26626,7 +26726,7 @@ var IntegrationCard = (0, import_react126.forwardRef)(function IntegrationCard2(
26626
26726
  IntegrationCard.displayName = "IntegrationCard";
26627
26727
 
26628
26728
  // src/components/KanbanCard/KanbanCard.tsx
26629
- var import_icons42 = require("@octaviaflow/icons");
26729
+ var import_icons43 = require("@octaviaflow/icons");
26630
26730
  var import_react127 = require("react");
26631
26731
  var import_jsx_runtime109 = require("react/jsx-runtime");
26632
26732
  function isAssigneeObject(v) {
@@ -26697,7 +26797,7 @@ var KanbanCard = (0, import_react127.forwardRef)(function KanbanCard2({
26697
26797
  e.stopPropagation();
26698
26798
  onMore(e);
26699
26799
  },
26700
- children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_icons42.OverflowMenuHorizontalIcon, { size: "xs" })
26800
+ children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_icons43.OverflowMenuHorizontalIcon, { size: "xs" })
26701
26801
  }
26702
26802
  )
26703
26803
  ] }),
@@ -26705,11 +26805,11 @@ var KanbanCard = (0, import_react127.forwardRef)(function KanbanCard2({
26705
26805
  (date || typeof comments === "number" || assignee) && /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { className: "ods-kanban-card__footer", children: [
26706
26806
  /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { className: "ods-kanban-card__meta", children: [
26707
26807
  date && /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("span", { className: "ods-kanban-card__date", children: [
26708
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_icons42.CalendarIcon, { size: "xs" }),
26808
+ /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_icons43.CalendarIcon, { size: "xs" }),
26709
26809
  date
26710
26810
  ] }),
26711
26811
  typeof comments === "number" && /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("span", { className: "ods-kanban-card__comments", children: [
26712
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_icons42.ChatIcon, { size: "xs" }),
26812
+ /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_icons43.ChatIcon, { size: "xs" }),
26713
26813
  comments
26714
26814
  ] })
26715
26815
  ] }),
@@ -27413,12 +27513,12 @@ var LinkButton = (0, import_react130.forwardRef)(
27413
27513
  LinkButton.displayName = "LinkButton";
27414
27514
 
27415
27515
  // src/components/MessageBlockBuilder/MessageBlockBuilder.tsx
27416
- var import_icons46 = require("@octaviaflow/icons");
27516
+ var import_icons47 = require("@octaviaflow/icons");
27417
27517
  var import_react135 = require("react");
27418
27518
 
27419
27519
  // src/components/Sortable/Sortable.tsx
27420
27520
  var import_react131 = require("react");
27421
- var import_icons43 = require("@octaviaflow/icons");
27521
+ var import_icons44 = require("@octaviaflow/icons");
27422
27522
  var import_jsx_runtime113 = require("react/jsx-runtime");
27423
27523
  var DT_TYPE = "application/x-ods-sortable";
27424
27524
  function Sortable({
@@ -27694,7 +27794,7 @@ var DragHandle = (0, import_react131.forwardRef)(
27694
27794
  className: cn("ods-sortable-handle", className),
27695
27795
  style,
27696
27796
  ...dragProps,
27697
- children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(import_icons43.DraggableIcon, { size: "xs" })
27797
+ children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(import_icons44.DraggableIcon, { size: "xs" })
27698
27798
  }
27699
27799
  );
27700
27800
  }
@@ -27702,7 +27802,7 @@ var DragHandle = (0, import_react131.forwardRef)(
27702
27802
  DragHandle.displayName = "DragHandle";
27703
27803
 
27704
27804
  // src/components/MessageBlockBuilder/BlockFieldsEditor.tsx
27705
- var import_icons44 = require("@octaviaflow/icons");
27805
+ var import_icons45 = require("@octaviaflow/icons");
27706
27806
  var import_react132 = require("react");
27707
27807
 
27708
27808
  // src/components/MessageBlockBuilder/internal.ts
@@ -27969,7 +28069,7 @@ function ItemsEditor({ field, items, onChange, scopeId, tokenRegistry }) {
27969
28069
  {
27970
28070
  variant: "ghost",
27971
28071
  size: "sm",
27972
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_icons44.AddIcon, { size: "xs" }),
28072
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_icons45.AddIcon, { size: "xs" }),
27973
28073
  disabled: atMax,
27974
28074
  onClick: () => onChange([...items, JSON.parse(JSON.stringify(field.itemDefaults))]),
27975
28075
  children: [
@@ -28004,7 +28104,7 @@ function ItemsEditor({ field, items, onChange, scopeId, tokenRegistry }) {
28004
28104
  "aria-label": `Move ${field.itemLabel} ${index + 1} up`,
28005
28105
  disabled: index === 0,
28006
28106
  onClick: () => move(index, -1),
28007
- children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_icons44.ArrowUpIcon, { size: "xs", "aria-hidden": "true" })
28107
+ children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_icons45.ArrowUpIcon, { size: "xs", "aria-hidden": "true" })
28008
28108
  }
28009
28109
  ) }),
28010
28110
  /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(Tooltip, { content: `Move ${field.itemLabel.toLowerCase()} down`, children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
@@ -28015,7 +28115,7 @@ function ItemsEditor({ field, items, onChange, scopeId, tokenRegistry }) {
28015
28115
  "aria-label": `Move ${field.itemLabel} ${index + 1} down`,
28016
28116
  disabled: index === items.length - 1,
28017
28117
  onClick: () => move(index, 1),
28018
- children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_icons44.ArrowDownIcon, { size: "xs", "aria-hidden": "true" })
28118
+ children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_icons45.ArrowDownIcon, { size: "xs", "aria-hidden": "true" })
28019
28119
  }
28020
28120
  ) }),
28021
28121
  /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(Tooltip, { content: `Remove ${field.itemLabel.toLowerCase()}`, children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
@@ -28026,7 +28126,7 @@ function ItemsEditor({ field, items, onChange, scopeId, tokenRegistry }) {
28026
28126
  "aria-label": `Remove ${field.itemLabel} ${index + 1}`,
28027
28127
  disabled: atMin,
28028
28128
  onClick: () => onChange(items.filter((_, i) => i !== index)),
28029
- children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_icons44.TrashCanIcon, { size: "xs", "aria-hidden": "true" })
28129
+ children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(import_icons45.TrashCanIcon, { size: "xs", "aria-hidden": "true" })
28030
28130
  }
28031
28131
  ) })
28032
28132
  ] })
@@ -30631,7 +30731,7 @@ var messagePlatformAdapters = {
30631
30731
  };
30632
30732
 
30633
30733
  // src/components/MessageBlockBuilder/TokenPanel.tsx
30634
- var import_icons45 = require("@octaviaflow/icons");
30734
+ var import_icons46 = require("@octaviaflow/icons");
30635
30735
  var import_react134 = require("react");
30636
30736
  var import_jsx_runtime117 = require("react/jsx-runtime");
30637
30737
  function TokenPanel({
@@ -30672,7 +30772,7 @@ function TokenPanel({
30672
30772
  className: "ods-message-block-builder__tokens-close",
30673
30773
  "aria-label": "Close data references",
30674
30774
  onClick: onClose,
30675
- children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_icons45.CloseIcon, { size: "xs", "aria-hidden": "true" })
30775
+ children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_icons46.CloseIcon, { size: "xs", "aria-hidden": "true" })
30676
30776
  }
30677
30777
  )
30678
30778
  ] }),
@@ -31070,12 +31170,12 @@ function MessageBlockBuilder({
31070
31170
  setPaletteDropIndex(null);
31071
31171
  },
31072
31172
  children: [
31073
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: `${CLS2}__palette-item-icon`, children: def.icon ?? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons46.AddIcon, { size: "xs" }) }),
31173
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: `${CLS2}__palette-item-icon`, children: def.icon ?? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons47.AddIcon, { size: "xs" }) }),
31074
31174
  /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("span", { className: `${CLS2}__palette-item-text`, children: [
31075
31175
  /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: `${CLS2}__palette-item-label`, children: def.label }),
31076
31176
  def.description && /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: `${CLS2}__palette-item-desc`, children: def.description })
31077
31177
  ] }),
31078
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons46.AddIcon, { size: "xs", "aria-hidden": "true", className: `${CLS2}__palette-item-add` })
31178
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons47.AddIcon, { size: "xs", "aria-hidden": "true", className: `${CLS2}__palette-item-add` })
31079
31179
  ]
31080
31180
  },
31081
31181
  def.kind
@@ -31092,7 +31192,7 @@ function MessageBlockBuilder({
31092
31192
  disabled: boundRef !== null,
31093
31193
  options: [
31094
31194
  { value: "form", label: "Form" },
31095
- { value: "json", label: "JSON", icon: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons46.CodeIcon, { size: "xs" }) }
31195
+ { value: "json", label: "JSON", icon: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons47.CodeIcon, { size: "xs" }) }
31096
31196
  ],
31097
31197
  value: draft.mode,
31098
31198
  onChange: switchMode
@@ -31105,7 +31205,7 @@ function MessageBlockBuilder({
31105
31205
  variant: "secondary",
31106
31206
  size: "sm",
31107
31207
  pressed: tokensOpen,
31108
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons46.DataConnectedIcon, { size: "xs" }),
31208
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons47.DataConnectedIcon, { size: "xs" }),
31109
31209
  onClick: () => setTokensOpen((prev) => !prev),
31110
31210
  children: "Data refs"
31111
31211
  }
@@ -31154,7 +31254,7 @@ function MessageBlockBuilder({
31154
31254
  }
31155
31255
  ),
31156
31256
  boundRef !== null ? /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: `${CLS2}__refbound`, children: [
31157
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: `${CLS2}__refbound-icon`, children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons46.DataConnectedIcon, { "aria-hidden": "true" }) }),
31257
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: `${CLS2}__refbound-icon`, children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons47.DataConnectedIcon, { "aria-hidden": "true" }) }),
31158
31258
  /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: `${CLS2}__refbound-body`, children: [
31159
31259
  /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("p", { className: `${CLS2}__refbound-title`, children: "Entire message supplied by a data ref" }),
31160
31260
  /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: `${CLS2}__pill`, title: boundRef, children: resolveTokenLabel?.(boundRef) ?? compactTokenLabel(boundRef) }),
@@ -31261,7 +31361,7 @@ function MessageBlockBuilder({
31261
31361
  next.splice(index + 1, 0, cloneBlock(block));
31262
31362
  setBlocks(next);
31263
31363
  },
31264
- children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons46.CopyIcon, { size: "xs", "aria-hidden": "true" })
31364
+ children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons47.CopyIcon, { size: "xs", "aria-hidden": "true" })
31265
31365
  }
31266
31366
  ) }),
31267
31367
  /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Tooltip, { content: "Remove block", children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
@@ -31271,7 +31371,7 @@ function MessageBlockBuilder({
31271
31371
  size: "sm",
31272
31372
  "aria-label": `Remove ${def?.label ?? block.kind} block`,
31273
31373
  onClick: () => setBlocks(draft.blocks.filter((b) => b.id !== block.id)),
31274
- children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons46.TrashCanIcon, { size: "xs", "aria-hidden": "true" })
31374
+ children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_icons47.TrashCanIcon, { size: "xs", "aria-hidden": "true" })
31275
31375
  }
31276
31376
  ) })
31277
31377
  ] })
@@ -31366,7 +31466,7 @@ function MessageBlockBuilder({
31366
31466
  MessageBlockBuilder.displayName = "MessageBlockBuilder";
31367
31467
 
31368
31468
  // src/components/MetricCard/MetricCard.tsx
31369
- var import_icons47 = require("@octaviaflow/icons");
31469
+ var import_icons48 = require("@octaviaflow/icons");
31370
31470
  var import_react138 = require("react");
31371
31471
 
31372
31472
  // src/components/CountUp/CountUp.tsx
@@ -31870,7 +31970,7 @@ var MetricCard = (0, import_react138.forwardRef)(
31870
31970
  const trend = delta.trend ?? "neutral";
31871
31971
  const direction = delta.direction ?? "positive";
31872
31972
  const tone = resolveDeltaTone(trend, direction);
31873
- const TrendIcon = trend === "up" ? import_icons47.ArrowUpIcon : trend === "down" ? import_icons47.ArrowDownIcon : import_icons47.SubtractIcon;
31973
+ const TrendIcon = trend === "up" ? import_icons48.ArrowUpIcon : trend === "down" ? import_icons48.ArrowDownIcon : import_icons48.SubtractIcon;
31874
31974
  const trendLabel = trend === "up" ? "Up" : trend === "down" ? "Down" : "No change";
31875
31975
  return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
31876
31976
  "div",
@@ -31996,7 +32096,7 @@ MetricCard.displayName = "MetricCard";
31996
32096
  var import_framer_motion28 = require("framer-motion");
31997
32097
  var import_react139 = require("react");
31998
32098
  var import_react_dom16 = require("react-dom");
31999
- var import_icons48 = require("@octaviaflow/icons");
32099
+ var import_icons49 = require("@octaviaflow/icons");
32000
32100
  var import_jsx_runtime122 = require("react/jsx-runtime");
32001
32101
  var RESERVED_TAIL_PX = 64;
32002
32102
  var TAGS_GAP = 6;
@@ -32315,7 +32415,7 @@ var MultiSelect = (0, import_react139.forwardRef)(
32315
32415
  removeValue(val);
32316
32416
  },
32317
32417
  "aria-label": `Remove ${fullLabel}`,
32318
- children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_icons48.CloseIcon, {})
32418
+ children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_icons49.CloseIcon, {})
32319
32419
  }
32320
32420
  )
32321
32421
  ] })
@@ -32344,7 +32444,7 @@ var MultiSelect = (0, import_react139.forwardRef)(
32344
32444
  open && "ods-multiselect__chevron--open"
32345
32445
  ),
32346
32446
  "aria-hidden": "true",
32347
- children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_icons48.ChevronDownIcon, {})
32447
+ children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_icons49.ChevronDownIcon, {})
32348
32448
  }
32349
32449
  ),
32350
32450
  selectedValues.length > 0 && !disabled && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
@@ -32382,7 +32482,7 @@ var MultiSelect = (0, import_react139.forwardRef)(
32382
32482
  transition: { duration: 0.15, ease: "easeOut" },
32383
32483
  children: [
32384
32484
  showSearch && /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "ods-multiselect__search", children: [
32385
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_icons48.SearchIcon, { "aria-hidden": "true" }),
32485
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_icons49.SearchIcon, { "aria-hidden": "true" }),
32386
32486
  /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
32387
32487
  "input",
32388
32488
  {
@@ -32543,7 +32643,7 @@ MultiSelect.displayName = "MultiSelect";
32543
32643
 
32544
32644
  // src/components/NumberInput/NumberInput.tsx
32545
32645
  var import_react140 = require("react");
32546
- var import_icons49 = require("@octaviaflow/icons");
32646
+ var import_icons50 = require("@octaviaflow/icons");
32547
32647
  var import_jsx_runtime123 = require("react/jsx-runtime");
32548
32648
  var NumberInput = (0, import_react140.forwardRef)(
32549
32649
  function NumberInput2({
@@ -32623,7 +32723,7 @@ var NumberInput = (0, import_react140.forwardRef)(
32623
32723
  disabled: disabled || typeof min === "number" && value <= min,
32624
32724
  "aria-label": "Decrease",
32625
32725
  tabIndex: -1,
32626
- children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_icons49.SubtractIcon, {})
32726
+ children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_icons50.SubtractIcon, {})
32627
32727
  }
32628
32728
  ),
32629
32729
  prefix && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "ods-num__prefix", "aria-hidden": "true", children: prefix }),
@@ -32657,7 +32757,7 @@ var NumberInput = (0, import_react140.forwardRef)(
32657
32757
  disabled: disabled || typeof max === "number" && value >= max,
32658
32758
  "aria-label": "Increase",
32659
32759
  tabIndex: -1,
32660
- children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_icons49.AddIcon, {})
32760
+ children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_icons50.AddIcon, {})
32661
32761
  }
32662
32762
  )
32663
32763
  ] }),
@@ -32722,7 +32822,7 @@ function PageHeader({
32722
32822
  }
32723
32823
 
32724
32824
  // src/components/Pagination/Pagination.tsx
32725
- var import_icons50 = require("@octaviaflow/icons");
32825
+ var import_icons51 = require("@octaviaflow/icons");
32726
32826
  var import_react141 = require("react");
32727
32827
  var import_jsx_runtime125 = require("react/jsx-runtime");
32728
32828
  function buildPageRange(totalPages, current, siblingCount, boundaryCount) {
@@ -32860,7 +32960,7 @@ var Pagination = (0, import_react141.forwardRef)(
32860
32960
  "aria-label": "First page",
32861
32961
  disabled: disabled || isFirst,
32862
32962
  onClick: handlePageBtn(1),
32863
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_icons50.PageFirstIcon, { size: "sm", "aria-hidden": true })
32963
+ children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_icons51.PageFirstIcon, { size: "sm", "aria-hidden": true })
32864
32964
  }
32865
32965
  ),
32866
32966
  showPrevNext && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
@@ -32871,7 +32971,7 @@ var Pagination = (0, import_react141.forwardRef)(
32871
32971
  "aria-label": "Previous page",
32872
32972
  disabled: disabled || isFirst,
32873
32973
  onClick: handlePageBtn(currentPage - 1),
32874
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_icons50.ChevronLeftIcon, { size: "sm", "aria-hidden": true })
32974
+ children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_icons51.ChevronLeftIcon, { size: "sm", "aria-hidden": true })
32875
32975
  }
32876
32976
  ),
32877
32977
  compact ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
@@ -32924,7 +33024,7 @@ var Pagination = (0, import_react141.forwardRef)(
32924
33024
  "aria-label": "Next page",
32925
33025
  disabled: disabled || isLast,
32926
33026
  onClick: handlePageBtn(currentPage + 1),
32927
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_icons50.ChevronRightIcon, { size: "sm", "aria-hidden": true })
33027
+ children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_icons51.ChevronRightIcon, { size: "sm", "aria-hidden": true })
32928
33028
  }
32929
33029
  ),
32930
33030
  showFirstLast && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
@@ -32935,7 +33035,7 @@ var Pagination = (0, import_react141.forwardRef)(
32935
33035
  "aria-label": "Last page",
32936
33036
  disabled: disabled || isLast,
32937
33037
  onClick: handlePageBtn(totalPages),
32938
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_icons50.PageLastIcon, { size: "sm", "aria-hidden": true })
33038
+ children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_icons51.PageLastIcon, { size: "sm", "aria-hidden": true })
32939
33039
  }
32940
33040
  )
32941
33041
  ] }),
@@ -33003,7 +33103,7 @@ var Pagination = (0, import_react141.forwardRef)(
33003
33103
  Pagination.displayName = "Pagination";
33004
33104
 
33005
33105
  // src/components/PipelineCard/PipelineCard.tsx
33006
- var import_icons51 = require("@octaviaflow/icons");
33106
+ var import_icons52 = require("@octaviaflow/icons");
33007
33107
  var import_framer_motion29 = require("framer-motion");
33008
33108
  var import_react142 = require("react");
33009
33109
  var import_jsx_runtime126 = require("react/jsx-runtime");
@@ -33302,7 +33402,7 @@ var PipelineCard = (0, import_react142.forwardRef)(
33302
33402
  triggerClassName: "ods-pipeline-card__action-btn ods-pipeline-card__action-btn--icon",
33303
33403
  align: overflowAlign,
33304
33404
  "aria-label": overflowLabel,
33305
- trigger: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("span", { "aria-hidden": "true", children: overflowIcon ?? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_icons51.OverflowMenuHorizontalIcon, { size: "sm" }) }),
33405
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("span", { "aria-hidden": "true", children: overflowIcon ?? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_icons52.OverflowMenuHorizontalIcon, { size: "sm" }) }),
33306
33406
  items: overflowItems
33307
33407
  }
33308
33408
  ) : onOverflow && /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
@@ -33315,7 +33415,7 @@ var PipelineCard = (0, import_react142.forwardRef)(
33315
33415
  stop(e);
33316
33416
  onOverflow(e);
33317
33417
  },
33318
- children: overflowIcon ?? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_icons51.OverflowMenuHorizontalIcon, { size: "sm", "aria-hidden": true })
33418
+ children: overflowIcon ?? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_icons52.OverflowMenuHorizontalIcon, { size: "sm", "aria-hidden": true })
33319
33419
  }
33320
33420
  )
33321
33421
  ]
@@ -33394,7 +33494,7 @@ var PipelineCard = (0, import_react142.forwardRef)(
33394
33494
  PipelineCard.displayName = "PipelineCard";
33395
33495
 
33396
33496
  // src/components/PlanCard/PlanCard.tsx
33397
- var import_icons52 = require("@octaviaflow/icons");
33497
+ var import_icons53 = require("@octaviaflow/icons");
33398
33498
  var import_react144 = require("react");
33399
33499
 
33400
33500
  // src/components/PlanPicker/context.ts
@@ -33470,7 +33570,7 @@ var PlanCard = (0, import_react144.forwardRef)(
33470
33570
  selected && "ods-plan-card__check--on"
33471
33571
  ),
33472
33572
  "aria-hidden": "true",
33473
- children: selected && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_icons52.CheckmarkIcon, { size: "xs" })
33573
+ children: selected && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_icons53.CheckmarkIcon, { size: "xs" })
33474
33574
  }
33475
33575
  )
33476
33576
  ] })
@@ -33502,7 +33602,7 @@ var PlanCard = (0, import_react144.forwardRef)(
33502
33602
  {
33503
33603
  className: "ods-plan-card__feature-icon",
33504
33604
  "aria-hidden": "true",
33505
- children: customIcon ?? (included ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_icons52.CheckmarkIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_icons52.CloseIcon, { size: "xs" }))
33605
+ children: customIcon ?? (included ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_icons53.CheckmarkIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_icons53.CloseIcon, { size: "xs" }))
33506
33606
  }
33507
33607
  ),
33508
33608
  /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "ods-plan-card__feature-text", children: text })
@@ -33715,7 +33815,7 @@ function Popover({
33715
33815
  }
33716
33816
 
33717
33817
  // src/components/PricingCard/PricingCard.tsx
33718
- var import_icons53 = require("@octaviaflow/icons");
33818
+ var import_icons54 = require("@octaviaflow/icons");
33719
33819
  var import_react147 = require("react");
33720
33820
  var import_jsx_runtime130 = require("react/jsx-runtime");
33721
33821
  function isStructuredFeature2(f) {
@@ -33804,7 +33904,7 @@ var PricingCard = (0, import_react147.forwardRef)(
33804
33904
  included ? "ods-pricing__feature-icon--included" : "ods-pricing__feature-icon--excluded"
33805
33905
  ),
33806
33906
  "aria-hidden": "true",
33807
- children: customIcon ?? (included ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_icons53.CheckmarkIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_icons53.CloseIcon, { size: "xs" }))
33907
+ children: customIcon ?? (included ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_icons54.CheckmarkIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_icons54.CloseIcon, { size: "xs" }))
33808
33908
  }
33809
33909
  ),
33810
33910
  /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "ods-pricing__feature-text", children: text })
@@ -33822,7 +33922,7 @@ var PricingCard = (0, import_react147.forwardRef)(
33822
33922
  PricingCard.displayName = "PricingCard";
33823
33923
 
33824
33924
  // src/components/ProductCard/ProductCard.tsx
33825
- var import_icons54 = require("@octaviaflow/icons");
33925
+ var import_icons55 = require("@octaviaflow/icons");
33826
33926
  var import_react148 = require("react");
33827
33927
  var import_jsx_runtime131 = require("react/jsx-runtime");
33828
33928
  function Stars({ value, max = 5, count }) {
@@ -33834,7 +33934,7 @@ function Stars({ value, max = 5, count }) {
33834
33934
  children: [
33835
33935
  /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "ods-product-card__stars", "aria-hidden": "true", children: Array.from({ length: max }, (_, i) => {
33836
33936
  const filled = i < Math.round(value);
33837
- return filled ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_icons54.StarFilledIcon, { size: "xs" }, i) : /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_icons54.StarIcon, { size: "xs" }, i);
33937
+ return filled ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_icons55.StarFilledIcon, { size: "xs" }, i) : /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_icons55.StarIcon, { size: "xs" }, i);
33838
33938
  }) }),
33839
33939
  /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "ods-product-card__rating-value", children: value.toFixed(1) }),
33840
33940
  count !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("span", { className: "ods-product-card__rating-count", children: [
@@ -34053,7 +34153,7 @@ ProgressRing.displayName = "ProgressRing";
34053
34153
 
34054
34154
  // src/components/PromptInput/PromptInput.tsx
34055
34155
  var import_react150 = require("react");
34056
- var import_icons55 = require("@octaviaflow/icons");
34156
+ var import_icons56 = require("@octaviaflow/icons");
34057
34157
  var import_jsx_runtime133 = require("react/jsx-runtime");
34058
34158
  var PromptInput = (0, import_react150.forwardRef)(
34059
34159
  function PromptInput2({
@@ -34331,7 +34431,7 @@ var PromptInput = (0, import_react150.forwardRef)(
34331
34431
  }
34332
34432
  ),
34333
34433
  isDragOver && /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "ods-prompt-input__drop-overlay", "aria-hidden": "true", children: [
34334
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons55.CloudUploadIcon, { size: "sm" }),
34434
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons56.CloudUploadIcon, { size: "sm" }),
34335
34435
  /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { children: dropOverlayLabel })
34336
34436
  ] }),
34337
34437
  attachments.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { className: "ods-prompt-input__attachments", children: attachments.map((a) => {
@@ -34354,7 +34454,7 @@ var PromptInput = (0, import_react150.forwardRef)(
34354
34454
  alt: "",
34355
34455
  className: "ods-prompt-input__chip-thumb"
34356
34456
  }
34357
- ) : /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons55.AttachmentIcon, { size: "xs" })
34457
+ ) : /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons56.AttachmentIcon, { size: "xs" })
34358
34458
  }
34359
34459
  ),
34360
34460
  /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "ods-prompt-input__chip-label", children: a.name }),
@@ -34366,7 +34466,7 @@ var PromptInput = (0, import_react150.forwardRef)(
34366
34466
  className: "ods-prompt-input__chip-remove",
34367
34467
  onClick: () => onRemoveAttachment(a.id),
34368
34468
  "aria-label": `Remove ${a.name}`,
34369
- children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons55.CloseIcon, { size: "xs" })
34469
+ children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons56.CloseIcon, { size: "xs" })
34370
34470
  }
34371
34471
  )
34372
34472
  ]
@@ -34465,7 +34565,7 @@ var PromptInput = (0, import_react150.forwardRef)(
34465
34565
  onClick: onStop,
34466
34566
  "aria-label": "Stop generating",
34467
34567
  children: [
34468
- /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons55.StopFilledIcon, { size: "xs", tone: "inverse" }),
34568
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons56.StopFilledIcon, { size: "xs", tone: "inverse" }),
34469
34569
  /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { children: "Stop" })
34470
34570
  ]
34471
34571
  }
@@ -34481,7 +34581,7 @@ var PromptInput = (0, import_react150.forwardRef)(
34481
34581
  disabled: !canSubmit,
34482
34582
  "aria-label": "Send",
34483
34583
  children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
34484
- import_icons55.SendAltIcon,
34584
+ import_icons56.SendAltIcon,
34485
34585
  {
34486
34586
  size: "xs",
34487
34587
  tone: canSubmit ? "inverse" : "muted"
@@ -34889,7 +34989,7 @@ RangeSlider.displayName = "RangeSlider";
34889
34989
 
34890
34990
  // src/components/Rating/Rating.tsx
34891
34991
  var import_react155 = require("react");
34892
- var import_icons56 = require("@octaviaflow/icons");
34992
+ var import_icons57 = require("@octaviaflow/icons");
34893
34993
  var import_jsx_runtime138 = require("react/jsx-runtime");
34894
34994
  var Rating = (0, import_react155.forwardRef)(function Rating2({
34895
34995
  value,
@@ -34910,9 +35010,9 @@ var Rating = (0, import_react155.forwardRef)(function Rating2({
34910
35010
  const [hover, setHover] = (0, import_react155.useState)(null);
34911
35011
  const display = hover ?? value;
34912
35012
  const interactive = !readOnly && !disabled;
34913
- const Empty = icon === "heart" ? import_icons56.FavoriteIcon : import_icons56.StarIcon;
34914
- const Half = icon === "heart" ? import_icons56.FavoriteHalfIcon : import_icons56.StarHalfIcon;
34915
- const Full = icon === "heart" ? import_icons56.FavoriteFilledIcon : import_icons56.StarFilledIcon;
35013
+ const Empty = icon === "heart" ? import_icons57.FavoriteIcon : import_icons57.StarIcon;
35014
+ const Half = icon === "heart" ? import_icons57.FavoriteHalfIcon : import_icons57.StarHalfIcon;
35015
+ const Full = icon === "heart" ? import_icons57.FavoriteFilledIcon : import_icons57.StarFilledIcon;
34916
35016
  const setValueClamped = (next) => {
34917
35017
  if (!interactive) return;
34918
35018
  const clamped = Math.max(0, Math.min(max, next));
@@ -35016,7 +35116,7 @@ Rating.displayName = "Rating";
35016
35116
 
35017
35117
  // src/components/Rating/BinaryRating.tsx
35018
35118
  var import_react156 = require("react");
35019
- var import_icons57 = require("@octaviaflow/icons");
35119
+ var import_icons58 = require("@octaviaflow/icons");
35020
35120
  var import_jsx_runtime139 = require("react/jsx-runtime");
35021
35121
  var BinaryRating = (0, import_react156.forwardRef)(
35022
35122
  function BinaryRating2({
@@ -35027,10 +35127,10 @@ var BinaryRating = (0, import_react156.forwardRef)(
35027
35127
  disabled = false,
35028
35128
  readOnly = false,
35029
35129
  toggleable = true,
35030
- upIcon = /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_icons57.ThumbsUpIcon, {}),
35031
- upIconFilled = /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_icons57.ThumbsUpFilledIcon, {}),
35032
- downIcon = /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_icons57.ThumbsDownIcon, {}),
35033
- downIconFilled = /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_icons57.ThumbsDownFilledIcon, {}),
35130
+ upIcon = /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_icons58.ThumbsUpIcon, {}),
35131
+ upIconFilled = /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_icons58.ThumbsUpFilledIcon, {}),
35132
+ downIcon = /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_icons58.ThumbsDownIcon, {}),
35133
+ downIconFilled = /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_icons58.ThumbsDownFilledIcon, {}),
35034
35134
  upLabel = "Like",
35035
35135
  downLabel = "Dislike",
35036
35136
  className,
@@ -36958,7 +37058,7 @@ Spotlight.displayName = "Spotlight";
36958
37058
 
36959
37059
  // src/components/Stat/Stat.tsx
36960
37060
  var import_react168 = require("react");
36961
- var import_icons58 = require("@octaviaflow/icons");
37061
+ var import_icons59 = require("@octaviaflow/icons");
36962
37062
  var import_jsx_runtime153 = require("react/jsx-runtime");
36963
37063
  var Stat = (0, import_react168.forwardRef)(function Stat2({
36964
37064
  label,
@@ -36972,7 +37072,7 @@ var Stat = (0, import_react168.forwardRef)(function Stat2({
36972
37072
  className,
36973
37073
  ...rest
36974
37074
  }, ref) {
36975
- const TrendIcon = deltaTrend === "up" ? import_icons58.ArrowUpIcon : deltaTrend === "down" ? import_icons58.ArrowDownIcon : import_icons58.SubtractIcon;
37075
+ const TrendIcon = deltaTrend === "up" ? import_icons59.ArrowUpIcon : deltaTrend === "down" ? import_icons59.ArrowDownIcon : import_icons59.SubtractIcon;
36976
37076
  return /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)(
36977
37077
  "div",
36978
37078
  {
@@ -37490,7 +37590,7 @@ Sankey.displayName = "Sankey";
37490
37590
 
37491
37591
  // src/components/Table/Table.tsx
37492
37592
  var import_react171 = require("react");
37493
- var import_icons59 = require("@octaviaflow/icons");
37593
+ var import_icons60 = require("@octaviaflow/icons");
37494
37594
  var import_jsx_runtime156 = require("react/jsx-runtime");
37495
37595
  function TableInner({
37496
37596
  columns,
@@ -37580,7 +37680,7 @@ function TableInner({
37580
37680
  sortKey === col.key && "ods-table__sort-icon--active"
37581
37681
  ),
37582
37682
  "aria-hidden": "true",
37583
- children: sortKey === col.key ? sortDirection === "desc" ? /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(import_icons59.CaretDownIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(import_icons59.CaretUpIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(import_icons59.CaretSortIcon, { size: "xs" })
37683
+ children: sortKey === col.key ? sortDirection === "desc" ? /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(import_icons60.CaretDownIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(import_icons60.CaretUpIcon, { size: "xs" }) : /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(import_icons60.CaretSortIcon, { size: "xs" })
37584
37684
  }
37585
37685
  )
37586
37686
  ] })
@@ -37649,7 +37749,7 @@ function TableRow({
37649
37749
  "aria-label": expanded ? "Collapse row" : "Expand row",
37650
37750
  "aria-expanded": expanded,
37651
37751
  onClick: () => setExpanded(!expanded),
37652
- children: /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(import_icons59.CaretRightIcon, { size: "xs" })
37752
+ children: /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(import_icons60.CaretRightIcon, { size: "xs" })
37653
37753
  }
37654
37754
  ) }),
37655
37755
  columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("td", { className: "ods-table__cell", children: col.render ? col.render(row[col.key], row, rowIndex) : row[col.key] }, col.key))
@@ -37842,7 +37942,7 @@ function ChevronSvg({ dir }) {
37842
37942
 
37843
37943
  // src/components/TagsInput/TagsInput.tsx
37844
37944
  var import_react173 = require("react");
37845
- var import_icons60 = require("@octaviaflow/icons");
37945
+ var import_icons61 = require("@octaviaflow/icons");
37846
37946
  var import_jsx_runtime158 = require("react/jsx-runtime");
37847
37947
  var TagsInput = (0, import_react173.forwardRef)(
37848
37948
  function TagsInput2({
@@ -37925,7 +38025,7 @@ var TagsInput = (0, import_react173.forwardRef)(
37925
38025
  onClick: () => removeTag(i),
37926
38026
  "aria-label": `Remove ${tag}`,
37927
38027
  disabled,
37928
- children: /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(import_icons60.CloseIcon, { size: "xs" })
38028
+ children: /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(import_icons61.CloseIcon, { size: "xs" })
37929
38029
  }
37930
38030
  )
37931
38031
  ] }, `${tag}-${i}`)),
@@ -38200,7 +38300,7 @@ var TemplateCard = (0, import_react174.forwardRef)(function TemplateCard2({
38200
38300
  TemplateCard.displayName = "TemplateCard";
38201
38301
 
38202
38302
  // src/components/TestimonialCard/TestimonialCard.tsx
38203
- var import_icons61 = require("@octaviaflow/icons");
38303
+ var import_icons62 = require("@octaviaflow/icons");
38204
38304
  var import_react175 = require("react");
38205
38305
  var import_jsx_runtime160 = require("react/jsx-runtime");
38206
38306
  function isAuthorObject(v) {
@@ -38271,7 +38371,7 @@ var TestimonialCard = (0, import_react175.forwardRef)(
38271
38371
  "aria-describedby": quoteId,
38272
38372
  children: [
38273
38373
  /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { className: "ods-testimonial__head", children: [
38274
- /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("span", { className: "ods-testimonial__quote", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(import_icons61.QuotesIcon, { size: "md" }) }),
38374
+ /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("span", { className: "ods-testimonial__quote", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(import_icons62.QuotesIcon, { size: "md" }) }),
38275
38375
  logo && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("span", { className: "ods-testimonial__logo", "aria-hidden": "true", children: logo })
38276
38376
  ] }),
38277
38377
  /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("blockquote", { id: quoteId, className: "ods-testimonial__text", children: quote }),
@@ -38283,13 +38383,13 @@ var TestimonialCard = (0, import_react175.forwardRef)(
38283
38383
  "aria-label": `${rating} out of 5 stars`,
38284
38384
  children: Array.from({ length: 5 }).map(
38285
38385
  (_, i) => i < Math.round(rating) ? /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
38286
- import_icons61.StarFilledIcon,
38386
+ import_icons62.StarFilledIcon,
38287
38387
  {
38288
38388
  size: "xs",
38289
38389
  className: "ods-testimonial__star ods-testimonial__star--on"
38290
38390
  },
38291
38391
  i
38292
- ) : /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(import_icons61.StarIcon, { size: "xs", className: "ods-testimonial__star" }, i)
38392
+ ) : /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(import_icons62.StarIcon, { size: "xs", className: "ods-testimonial__star" }, i)
38293
38393
  )
38294
38394
  }
38295
38395
  ),
@@ -38379,7 +38479,7 @@ Timeline.displayName = "Timeline";
38379
38479
  // src/components/TimePicker/TimePicker.tsx
38380
38480
  var import_react177 = require("react");
38381
38481
  var import_react_dom21 = require("react-dom");
38382
- var import_icons62 = require("@octaviaflow/icons");
38482
+ var import_icons63 = require("@octaviaflow/icons");
38383
38483
  var import_jsx_runtime162 = require("react/jsx-runtime");
38384
38484
  var pad = (n) => n.toString().padStart(2, "0");
38385
38485
  function format(v, use24h, showSeconds) {
@@ -38670,7 +38770,7 @@ var TimePicker = (0, import_react177.forwardRef)(
38670
38770
  "aria-describedby": describedBy,
38671
38771
  "aria-invalid": error ? true : void 0,
38672
38772
  children: [
38673
- /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("span", { className: "ods-timepicker__trigger-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(import_icons62.TimeIcon, { size: "xs" }) }),
38773
+ /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("span", { className: "ods-timepicker__trigger-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(import_icons63.TimeIcon, { size: "xs" }) }),
38674
38774
  /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("span", { className: "ods-timepicker__value", children: format(value, use24h, showSeconds) }),
38675
38775
  /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
38676
38776
  "span",
@@ -38680,7 +38780,7 @@ var TimePicker = (0, import_react177.forwardRef)(
38680
38780
  open && "ods-timepicker__chev--open"
38681
38781
  ),
38682
38782
  "aria-hidden": "true",
38683
- children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(import_icons62.ChevronDownIcon, { size: "xs" })
38783
+ children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(import_icons63.ChevronDownIcon, { size: "xs" })
38684
38784
  }
38685
38785
  )
38686
38786
  ]
@@ -38743,7 +38843,7 @@ var TimePicker = (0, import_react177.forwardRef)(
38743
38843
  className: "ods-timepicker__step",
38744
38844
  onClick: () => stepBy(seg, 1),
38745
38845
  "aria-label": `${seg} up`,
38746
- children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(import_icons62.CaretUpIcon, { size: "xs" })
38846
+ children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(import_icons63.CaretUpIcon, { size: "xs" })
38747
38847
  }
38748
38848
  ),
38749
38849
  /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("span", { className: "ods-timepicker__col-val", children: pad(
@@ -38756,7 +38856,7 @@ var TimePicker = (0, import_react177.forwardRef)(
38756
38856
  className: "ods-timepicker__step",
38757
38857
  onClick: () => stepBy(seg, -1),
38758
38858
  "aria-label": `${seg} down`,
38759
- children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(import_icons62.CaretDownIcon, { size: "xs" })
38859
+ children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(import_icons63.CaretDownIcon, { size: "xs" })
38760
38860
  }
38761
38861
  )
38762
38862
  ] }),
@@ -38785,7 +38885,7 @@ TimePicker.displayName = "TimePicker";
38785
38885
 
38786
38886
  // src/components/TimezonePicker/TimezonePicker.tsx
38787
38887
  var import_react178 = require("react");
38788
- var import_icons63 = require("@octaviaflow/icons");
38888
+ var import_icons64 = require("@octaviaflow/icons");
38789
38889
  var import_jsx_runtime163 = require("react/jsx-runtime");
38790
38890
  var DEFAULT_TZS = [
38791
38891
  { iana: "America/Los_Angeles", label: "Pacific Time", offset: "UTC\u22128" },
@@ -38960,7 +39060,7 @@ var TimezonePicker = (0, import_react178.forwardRef)(
38960
39060
  "aria-describedby": describedBy,
38961
39061
  "aria-invalid": error ? true : void 0,
38962
39062
  children: [
38963
- /* @__PURE__ */ (0, import_jsx_runtime163.jsx)("span", { className: "ods-tzpicker__trigger-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(import_icons63.GlobeIcon, { size: "xs" }) }),
39063
+ /* @__PURE__ */ (0, import_jsx_runtime163.jsx)("span", { className: "ods-tzpicker__trigger-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(import_icons64.GlobeIcon, { size: "xs" }) }),
38964
39064
  /* @__PURE__ */ (0, import_jsx_runtime163.jsx)("span", { className: "ods-tzpicker__info", children: selected ? /* @__PURE__ */ (0, import_jsx_runtime163.jsxs)(import_jsx_runtime163.Fragment, { children: [
38965
39065
  /* @__PURE__ */ (0, import_jsx_runtime163.jsx)("span", { className: "ods-tzpicker__name", children: selected.label }),
38966
39066
  /* @__PURE__ */ (0, import_jsx_runtime163.jsxs)("span", { className: "ods-tzpicker__meta", children: [
@@ -38978,7 +39078,7 @@ var TimezonePicker = (0, import_react178.forwardRef)(
38978
39078
  open && "ods-tzpicker__chev--open"
38979
39079
  ),
38980
39080
  "aria-hidden": "true",
38981
- children: /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(import_icons63.ChevronDownIcon, { size: "xs" })
39081
+ children: /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(import_icons64.ChevronDownIcon, { size: "xs" })
38982
39082
  }
38983
39083
  )
38984
39084
  ]
@@ -38993,7 +39093,7 @@ var TimezonePicker = (0, import_react178.forwardRef)(
38993
39093
  onKeyDown: handlePopoverKey,
38994
39094
  children: [
38995
39095
  /* @__PURE__ */ (0, import_jsx_runtime163.jsxs)("div", { className: "ods-tzpicker__search", children: [
38996
- /* @__PURE__ */ (0, import_jsx_runtime163.jsx)("span", { className: "ods-tzpicker__search-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(import_icons63.SearchIcon, { size: "xs" }) }),
39096
+ /* @__PURE__ */ (0, import_jsx_runtime163.jsx)("span", { className: "ods-tzpicker__search-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(import_icons64.SearchIcon, { size: "xs" }) }),
38997
39097
  /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(
38998
39098
  "input",
38999
39099
  {
@@ -39050,7 +39150,7 @@ var TimezonePicker = (0, import_react178.forwardRef)(
39050
39150
  {
39051
39151
  className: "ods-tzpicker__opt-check",
39052
39152
  "aria-hidden": "true",
39053
- children: /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(import_icons63.CheckmarkIcon, { size: "xs" })
39153
+ children: /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(import_icons64.CheckmarkIcon, { size: "xs" })
39054
39154
  }
39055
39155
  )
39056
39156
  ]
@@ -39625,17 +39725,17 @@ function ToolbarSpacer() {
39625
39725
 
39626
39726
  // src/components/ToolCard/ToolCard.tsx
39627
39727
  var import_react181 = require("react");
39628
- var import_icons64 = require("@octaviaflow/icons");
39728
+ var import_icons65 = require("@octaviaflow/icons");
39629
39729
  var import_jsx_runtime167 = require("react/jsx-runtime");
39630
39730
  var CATEGORY_GLYPH = {
39631
- search: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons64.SearchIcon, { size: "xs" }),
39632
- database: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons64.DataBaseIcon, { size: "xs" }),
39633
- web: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons64.GlobeIcon, { size: "xs" }),
39634
- code: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons64.CodeIcon, { size: "xs" }),
39635
- file: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons64.DocumentIcon, { size: "xs" }),
39636
- api: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons64.ApiIcon, { size: "xs" }),
39637
- ai: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons64.MagicWandIcon, { size: "xs" }),
39638
- custom: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons64.ExtensionsIcon, { size: "xs" })
39731
+ search: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons65.SearchIcon, { size: "xs" }),
39732
+ database: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons65.DataBaseIcon, { size: "xs" }),
39733
+ web: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons65.GlobeIcon, { size: "xs" }),
39734
+ code: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons65.CodeIcon, { size: "xs" }),
39735
+ file: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons65.DocumentIcon, { size: "xs" }),
39736
+ api: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons65.ApiIcon, { size: "xs" }),
39737
+ ai: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons65.MagicWandIcon, { size: "xs" }),
39738
+ custom: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_icons65.ExtensionsIcon, { size: "xs" })
39639
39739
  };
39640
39740
  var ToolCard = (0, import_react181.forwardRef)(
39641
39741
  function ToolCard2({
@@ -39830,14 +39930,14 @@ function TopBar({
39830
39930
  // src/components/TraceStep/TraceStep.tsx
39831
39931
  var import_framer_motion38 = require("framer-motion");
39832
39932
  var import_react182 = require("react");
39833
- var import_icons65 = require("@octaviaflow/icons");
39933
+ var import_icons66 = require("@octaviaflow/icons");
39834
39934
  var import_jsx_runtime169 = require("react/jsx-runtime");
39835
39935
  var DEFAULT_KIND_GLYPH = {
39836
- thought: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons65.IdeaIcon, { size: "xs" }),
39837
- tool: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons65.BuildToolIcon, { size: "xs" }),
39838
- input: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons65.ConnectionReceiveIcon, { size: "xs" }),
39839
- output: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons65.ConnectionSendIcon, { size: "xs" }),
39840
- error: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons65.WarningAltIcon, { size: "xs" })
39936
+ thought: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons66.IdeaIcon, { size: "xs" }),
39937
+ tool: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons66.BuildToolIcon, { size: "xs" }),
39938
+ input: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons66.ConnectionReceiveIcon, { size: "xs" }),
39939
+ output: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons66.ConnectionSendIcon, { size: "xs" }),
39940
+ error: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons66.WarningAltIcon, { size: "xs" })
39841
39941
  };
39842
39942
  var FALLBACK_GLYPH = DEFAULT_KIND_GLYPH.thought;
39843
39943
  var TraceStep = (0, import_react182.forwardRef)(
@@ -39901,7 +40001,7 @@ var TraceStep = (0, import_react182.forwardRef)(
39901
40001
  initial: disableAnimation ? false : { scale: 0.6, opacity: 0 },
39902
40002
  animate: { scale: 1, opacity: 1 },
39903
40003
  transition: { duration: 0.2, ease: [0.16, 1, 0.3, 1] },
39904
- children: status === "running" ? /* @__PURE__ */ (0, import_jsx_runtime169.jsx)("span", { className: "ods-trace-step__spin", children: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons65.CircleDashIcon, { size: "xs" }) }) : resolvedGlyph
40004
+ children: status === "running" ? /* @__PURE__ */ (0, import_jsx_runtime169.jsx)("span", { className: "ods-trace-step__spin", children: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons66.CircleDashIcon, { size: "xs" }) }) : resolvedGlyph
39905
40005
  }
39906
40006
  ),
39907
40007
  !isLast && /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(
@@ -39944,7 +40044,7 @@ var TraceStep = (0, import_react182.forwardRef)(
39944
40044
  title: tool,
39945
40045
  "aria-label": `Tool: ${tool}`,
39946
40046
  children: [
39947
- /* @__PURE__ */ (0, import_jsx_runtime169.jsx)("span", { className: "ods-trace-step__tool-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons65.BuildToolIcon, { size: "xs" }) }),
40047
+ /* @__PURE__ */ (0, import_jsx_runtime169.jsx)("span", { className: "ods-trace-step__tool-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons66.BuildToolIcon, { size: "xs" }) }),
39948
40048
  tool
39949
40049
  ]
39950
40050
  }
@@ -39977,7 +40077,7 @@ var TraceStep = (0, import_react182.forwardRef)(
39977
40077
  "aria-hidden": "true",
39978
40078
  animate: { rotate: open ? 180 : 0 },
39979
40079
  transition: { duration: 0.18, ease: [0.16, 1, 0.3, 1] },
39980
- children: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons65.CaretDownIcon, { size: "xs" })
40080
+ children: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(import_icons66.CaretDownIcon, { size: "xs" })
39981
40081
  }
39982
40082
  )
39983
40083
  ]
@@ -41878,7 +41978,7 @@ function cursorFor(corner) {
41878
41978
  }
41879
41979
 
41880
41980
  // src/workflow/components/kinds/BaseNode.tsx
41881
- var import_icons66 = require("@octaviaflow/icons");
41981
+ var import_icons67 = require("@octaviaflow/icons");
41882
41982
  var import_react192 = require("react");
41883
41983
  var import_jsx_runtime176 = require("react/jsx-runtime");
41884
41984
  function BaseNode({
@@ -41945,7 +42045,7 @@ function BaseNode({
41945
42045
  "aria-label": "Delete node",
41946
42046
  "data-flow-no-drag": "true",
41947
42047
  title: "Delete node",
41948
- children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_icons66.TrashCanIcon, { size: 16, "aria-hidden": true })
42048
+ children: /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(import_icons67.TrashCanIcon, { size: 16, "aria-hidden": true })
41949
42049
  }
41950
42050
  )
41951
42051
  ] }),
@@ -43864,7 +43964,7 @@ function DefaultEmptyState() {
43864
43964
  }
43865
43965
 
43866
43966
  // src/components/WorkflowHeader/WorkflowHeader.tsx
43867
- var import_icons67 = require("@octaviaflow/icons");
43967
+ var import_icons68 = require("@octaviaflow/icons");
43868
43968
 
43869
43969
  // src/hooks/useWorkflowRuntime.ts
43870
43970
  var import_react195 = require("react");
@@ -43955,7 +44055,7 @@ function WorkflowHeader({
43955
44055
  onClick: onBack,
43956
44056
  "aria-label": `Back to ${typeof parentLabel === "string" ? parentLabel : "previous"}`,
43957
44057
  children: [
43958
- /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_icons67.ChevronLeftIcon, { size: "sm" }),
44058
+ /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_icons68.ChevronLeftIcon, { size: "sm" }),
43959
44059
  /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("span", { className: "ods-workflow-header__back-label", children: parentLabel }),
43960
44060
  /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("span", { className: "ods-workflow-header__back-separator", "aria-hidden": "true", children: "/" })
43961
44061
  ]
@@ -43994,14 +44094,14 @@ function WorkflowHeader({
43994
44094
  title: saveState === "error" ? saveError ?? void 0 : void 0,
43995
44095
  children: [
43996
44096
  saveState === "saving" ? /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("span", { className: "ods-workflow-header__save-spinner", "aria-hidden": "true" }) : saveState === "error" ? /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
43997
- import_icons67.WarningAltIcon,
44097
+ import_icons68.WarningAltIcon,
43998
44098
  {
43999
44099
  size: "sm",
44000
44100
  className: "ods-workflow-header__save-icon",
44001
44101
  "aria-hidden": "true"
44002
44102
  }
44003
44103
  ) : /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
44004
- import_icons67.CheckmarkIcon,
44104
+ import_icons68.CheckmarkIcon,
44005
44105
  {
44006
44106
  size: "sm",
44007
44107
  className: "ods-workflow-header__save-icon",
@@ -44042,7 +44142,7 @@ function WorkflowHeader({
44042
44142
  size: "sm",
44043
44143
  pressed: !!isConsoleOpen,
44044
44144
  "aria-label": isConsoleOpen ? "Hide execution console" : "Show execution console",
44045
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_icons67.TerminalIcon, { size: "sm" }),
44145
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_icons68.TerminalIcon, { size: "sm" }),
44046
44146
  onClick: onToggleConsole,
44047
44147
  children: "Console"
44048
44148
  }
@@ -44054,7 +44154,7 @@ function WorkflowHeader({
44054
44154
  variant: "ghost",
44055
44155
  size: "sm",
44056
44156
  "aria-label": runtime ? `Stop execution (running ${runtime})` : "Stop execution",
44057
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_icons67.StopFilledAltIcon, { size: "sm", className: "ods-workflow-header__stop-glyph" }),
44157
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_icons68.StopFilledAltIcon, { size: "sm", className: "ods-workflow-header__stop-glyph" }),
44058
44158
  onClick: onStop,
44059
44159
  children: /* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("span", { className: "ods-workflow-header__stop-label", children: [
44060
44160
  /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("span", { children: "Stop" }),
@@ -44070,7 +44170,7 @@ function WorkflowHeader({
44070
44170
  variant: "primary",
44071
44171
  size: "sm",
44072
44172
  "aria-label": "Run workflow",
44073
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_icons67.PlayFilledAltIcon, { size: "sm" }),
44173
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_icons68.PlayFilledAltIcon, { size: "sm" }),
44074
44174
  onClick: onRun,
44075
44175
  children: "Run"
44076
44176
  }
@@ -44082,7 +44182,7 @@ function WorkflowHeader({
44082
44182
  align: "end",
44083
44183
  triggerClassName: "ods-workflow-header__menu-trigger",
44084
44184
  ...menuProps,
44085
- trigger: menuTrigger ?? /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("span", { "aria-hidden": "true", className: "ods-workflow-header__menu-icon", children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_icons67.OverflowMenuVerticalIcon, { size: "sm" }) }),
44185
+ trigger: menuTrigger ?? /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("span", { "aria-hidden": "true", className: "ods-workflow-header__menu-icon", children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_icons68.OverflowMenuVerticalIcon, { size: "sm" }) }),
44086
44186
  items: menuItems
44087
44187
  }
44088
44188
  ))
@@ -44092,7 +44192,7 @@ function WorkflowHeader({
44092
44192
  }
44093
44193
 
44094
44194
  // src/components/WorkflowHeader/WorkflowHeaderExpanded.tsx
44095
- var import_icons68 = require("@octaviaflow/icons");
44195
+ var import_icons69 = require("@octaviaflow/icons");
44096
44196
  var import_jsx_runtime181 = require("react/jsx-runtime");
44097
44197
  function WorkflowHeaderExpanded({
44098
44198
  name,
@@ -44137,7 +44237,7 @@ function WorkflowHeaderExpanded({
44137
44237
  onClick: onBack,
44138
44238
  "aria-label": `Back to ${typeof parentLabel === "string" ? parentLabel : "previous"}`,
44139
44239
  children: [
44140
- /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_icons68.ChevronLeftIcon, { size: "sm" }),
44240
+ /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_icons69.ChevronLeftIcon, { size: "sm" }),
44141
44241
  /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("span", { children: parentLabel }),
44142
44242
  /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("span", { "aria-hidden": "true", className: "ods-workflow-header-expanded__back-sep", children: "/" })
44143
44243
  ]
@@ -44176,7 +44276,7 @@ function WorkflowHeaderExpanded({
44176
44276
  size: "sm",
44177
44277
  pressed: !!isConsoleOpen,
44178
44278
  "aria-label": isConsoleOpen ? "Hide execution console" : "Show execution console",
44179
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_icons68.TerminalIcon, { size: "sm" }),
44279
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_icons69.TerminalIcon, { size: "sm" }),
44180
44280
  onClick: onToggleConsole,
44181
44281
  children: "Console"
44182
44282
  }
@@ -44189,7 +44289,7 @@ function WorkflowHeaderExpanded({
44189
44289
  size: "sm",
44190
44290
  "aria-label": runtime ? `Stop execution (running ${runtime})` : "Stop execution",
44191
44291
  leftIcon: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
44192
- import_icons68.StopFilledAltIcon,
44292
+ import_icons69.StopFilledAltIcon,
44193
44293
  {
44194
44294
  size: "sm",
44195
44295
  className: "ods-workflow-header-expanded__stop-glyph"
@@ -44210,7 +44310,7 @@ function WorkflowHeaderExpanded({
44210
44310
  variant: "primary",
44211
44311
  size: "sm",
44212
44312
  "aria-label": "Run workflow",
44213
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_icons68.PlayFilledAltIcon, { size: "sm" }),
44313
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_icons69.PlayFilledAltIcon, { size: "sm" }),
44214
44314
  onClick: onRun,
44215
44315
  children: "Run"
44216
44316
  }
@@ -44226,7 +44326,7 @@ function WorkflowHeaderExpanded({
44226
44326
  {
44227
44327
  variant: "ghost",
44228
44328
  size: "sm",
44229
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_icons68.OverflowMenuVerticalIcon, { size: "sm" })
44329
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_icons69.OverflowMenuVerticalIcon, { size: "sm" })
44230
44330
  }
44231
44331
  ),
44232
44332
  items: menuItems