@homebound/beam 3.90.0 → 3.91.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6139,6 +6139,9 @@ function documentScrollContentWidth() {
6139
6139
  function documentScrollRightPaneHeight() {
6140
6140
  return `calc(var(${beamLayoutViewportHeightVar}, 100vh) - ${stickyTableHeaderOffset()})`;
6141
6141
  }
6142
+ function documentScrollBodyMinHeight() {
6143
+ return `calc(var(${beamLayoutViewportHeightVar}, 100vh) - ${stickyNavAndHeaderOffset()} - var(${beamWorkflowLayoutFooterHeightVar}, 0px))`;
6144
+ }
6142
6145
  function documentScrollRightPaneWidth(maxPx) {
6143
6146
  return `min(${maxPx}px, ${documentScrollChromeWidth()})`;
6144
6147
  }
@@ -18902,50 +18905,91 @@ import { jsx as jsx107, jsxs as jsxs58 } from "react/jsx-runtime";
18902
18905
  function AiPanel(props) {
18903
18906
  const {
18904
18907
  rounded = false,
18905
- fullWidth = true,
18908
+ padding = "sm",
18906
18909
  children,
18907
18910
  ...others
18908
18911
  } = props;
18909
18912
  const tid = useTestIds(others, "aiPanel");
18910
18913
  return /* @__PURE__ */ jsx107("div", { ...trussProps72({
18911
- width: "w100",
18912
- paddingLeft: "pl3",
18913
- paddingRight: "pr3",
18914
- paddingTop: "pt2",
18915
- paddingBottom: "pb2",
18916
- backgroundImage: "aiBackground",
18917
- ...rounded ? {
18918
- borderRadius: "br12"
18919
- } : {}
18920
- }), ...others, ...tid, children: /* @__PURE__ */ jsxs58("div", { ...trussProps72({
18921
- display: "df",
18922
- flexDirection: "fdc",
18923
- alignItems: "aifs",
18924
- gap: "gap1",
18925
- width: "w100",
18926
- ...!fullWidth ? {
18927
- width: "wfc",
18928
- marginLeft: "mla",
18929
- marginRight: "mra"
18930
- } : {}
18914
+ ...{
18915
+ width: "w100",
18916
+ backgroundImage: "aiBackground",
18917
+ ...rounded ? {
18918
+ borderRadius: "br12"
18919
+ } : {}
18920
+ },
18921
+ ...aiBackgroundPaddingCss[padding]
18922
+ }), ...others, ...tid, children });
18923
+ }
18924
+ function AiCard(props) {
18925
+ const {
18926
+ fullWidth = true,
18927
+ size = "lg",
18928
+ children,
18929
+ ...others
18930
+ } = props;
18931
+ const {
18932
+ logoHeight,
18933
+ gapCss
18934
+ } = aiCardChrome[size];
18935
+ const tid = useTestIds(others, "aiCard");
18936
+ return /* @__PURE__ */ jsxs58("div", { ...trussProps72({
18937
+ ...{
18938
+ display: "df",
18939
+ flexDirection: "fdc",
18940
+ alignItems: "aifs",
18941
+ width: "w100",
18942
+ ...!fullWidth ? {
18943
+ width: "wfc",
18944
+ maxWidth: "maxw100",
18945
+ marginLeft: "mla",
18946
+ marginRight: "mra"
18947
+ } : {}
18948
+ },
18949
+ ...gapCss
18931
18950
  }), ...tid.column, children: [
18932
- /* @__PURE__ */ jsx107(BlueprintAiLogo, { height: 3 }),
18951
+ /* @__PURE__ */ jsx107(BlueprintAiLogo, { height: logoHeight }),
18933
18952
  /* @__PURE__ */ jsx107("div", { ...trussProps72({
18934
18953
  display: "df",
18935
18954
  flexDirection: "fdc",
18936
18955
  width: "w100",
18956
+ minWidth: "mw0",
18937
18957
  borderRadius: "br12",
18938
- paddingTop: "pt_12px",
18939
- paddingLeft: "pl2",
18940
- paddingRight: "pr2",
18941
- paddingBottom: "pb2",
18942
18958
  backgroundColor: ["bgColor_var", {
18943
18959
  "--backgroundColor": "var(--b-surface)"
18944
18960
  }],
18945
18961
  boxShadow: "bshBasic"
18946
18962
  }), ...tid.card, children })
18947
- ] }) });
18963
+ ] });
18948
18964
  }
18965
+ var aiBackgroundPaddingCss = {
18966
+ lg: {
18967
+ paddingTop: "pt3",
18968
+ paddingBottom: "pb3",
18969
+ paddingRight: "pr3",
18970
+ paddingLeft: "pl3"
18971
+ },
18972
+ sm: {
18973
+ paddingLeft: "pl3",
18974
+ paddingRight: "pr3",
18975
+ paddingTop: "pt2",
18976
+ paddingBottom: "pb2"
18977
+ }
18978
+ };
18979
+ var aiCardChrome = {
18980
+ lg: {
18981
+ logoHeight: 3,
18982
+ gapCss: {
18983
+ gap: "gap2"
18984
+ }
18985
+ },
18986
+ sm: {
18987
+ logoHeight: 2,
18988
+ gapCss: {
18989
+ gap: "gap_4px"
18990
+ }
18991
+ }
18992
+ };
18949
18993
 
18950
18994
  // src/components/AiBanner.tsx
18951
18995
  import { trussProps as trussProps73 } from "@homebound/truss/runtime";
@@ -18958,7 +19002,7 @@ function AiBanner(props) {
18958
19002
  secondaryAction
18959
19003
  } = props;
18960
19004
  const tid = useTestIds(props, "aiBanner");
18961
- return /* @__PURE__ */ jsx108(AiPanel, { ...tid, children: /* @__PURE__ */ jsxs59("div", { className: "df aic jcsb gap2 w100 fww", children: [
19005
+ return /* @__PURE__ */ jsx108(AiPanel, { padding: "sm", ...tid, children: /* @__PURE__ */ jsx108(AiCard, { size: "sm", ...tid, children: /* @__PURE__ */ jsxs59("div", { className: "df aic jcsb gap2 w100 fww pt_12px pb2 pl2 pr2", children: [
18962
19006
  /* @__PURE__ */ jsxs59("div", { className: "df fdc gap_4px fg1 fb_0 mw_240px", children: [
18963
19007
  /* @__PURE__ */ jsx108("span", { className: "fw6 fz_14px lh_20px purple700 aiBoldBg bgcl_text WebkitBackgroundClip_text wktfc_transparent", ...tid.title, children: title }),
18964
19008
  message && /* @__PURE__ */ jsx108("span", { ...trussProps73({
@@ -18974,7 +19018,7 @@ function AiBanner(props) {
18974
19018
  secondaryAction && /* @__PURE__ */ jsx108(Button, { ...secondaryAction, variant: "quaternary" }),
18975
19019
  primaryAction && /* @__PURE__ */ jsx108(Button, { ...primaryAction, variant: "ai" })
18976
19020
  ] })
18977
- ] }) });
19021
+ ] }) }) });
18978
19022
  }
18979
19023
 
18980
19024
  // src/components/AiLoader.tsx
@@ -19036,7 +19080,7 @@ function AiLoadingPanel(props) {
19036
19080
  return (
19037
19081
  // `status` rather than `alert` so assistive tech waits for a pause instead of interrupting, and
19038
19082
  // `aria-busy` so it knows the surrounding content is still settling.
19039
- /* @__PURE__ */ jsx110(AiPanel, { role: "status", "aria-busy": true, ...tid, children: /* @__PURE__ */ jsxs60("div", { className: "df fdc aic gap1 w100", children: [
19083
+ /* @__PURE__ */ jsx110(AiPanel, { role: "status", "aria-busy": true, padding: "lg", ...tid, children: /* @__PURE__ */ jsx110(AiCard, { size: "lg", ...tid, children: /* @__PURE__ */ jsxs60("div", { className: "df fdc aic gap1 w100 pt2 pb2 pl3 pr3", children: [
19040
19084
  /* @__PURE__ */ jsx110(AiLoader, {}),
19041
19085
  /* @__PURE__ */ jsx110("span", { className: "fw6 fz_18px lh_28px purple700 aiBoldBg bgcl_text WebkitBackgroundClip_text wktfc_transparent", ...tid.title, children: title }),
19042
19086
  /* @__PURE__ */ jsx110("span", { ...trussProps75({
@@ -19048,7 +19092,7 @@ function AiLoadingPanel(props) {
19048
19092
  }],
19049
19093
  textAlign: "tac"
19050
19094
  }), ...tid.message, children: message })
19051
- ] }) })
19095
+ ] }) }) })
19052
19096
  );
19053
19097
  }
19054
19098
  var defaultMessage = "This process can take a few minutes. Feel free to keep working in another tab. Once imported, you may edit or add to content before saving.";
@@ -19061,10 +19105,8 @@ function AiSlimBanner(props) {
19061
19105
  action
19062
19106
  } = props;
19063
19107
  const tid = useTestIds(props, "aiSlimBanner");
19064
- return /* @__PURE__ */ jsxs61("div", { className: "df aic gap_4px w100 pl2 pr2 fw4 fz_12px lh_16px aiBackground", ...tid, children: [
19065
- /* @__PURE__ */ jsx111(Icon, { icon: "aiStar", inc: 1.5, xss: {
19066
- flexShrink: "fs0"
19067
- } }),
19108
+ return /* @__PURE__ */ jsxs61("div", { className: "df ais gap2 w100 pl2 pr2 fw4 fz_12px lh_16px aiBackground", ...tid, children: [
19109
+ /* @__PURE__ */ jsx111("span", { className: "df aic fs0 pt1 pb1 h_32px", children: /* @__PURE__ */ jsx111(Icon, { icon: "aiStar", inc: 1.5 }) }),
19068
19110
  /* @__PURE__ */ jsxs61("div", { className: "df aic jcsb gap2 fg1 mw0", children: [
19069
19111
  /* @__PURE__ */ jsx111("span", { className: "fw6 fz_12px lh_16px purple700 aiBoldBg bgcl_text WebkitBackgroundClip_text wktfc_transparent pt1 pb1 mw0", ...tid.title, children: title }),
19070
19112
  action && /* @__PURE__ */ jsx111("div", { className: "fs0", children: /* @__PURE__ */ jsx111(Button, { ...action, variant: "text" }) })
@@ -21254,6 +21296,7 @@ function ContentHeader(props) {
21254
21296
  actions,
21255
21297
  withAutoSave,
21256
21298
  level = 2,
21299
+ aiMode = false,
21257
21300
  startAdornment,
21258
21301
  xss
21259
21302
  } = props;
@@ -21262,6 +21305,16 @@ function ContentHeader(props) {
21262
21305
  tag: Heading,
21263
21306
  css: headingCss
21264
21307
  } = headingByLevel[level];
21308
+ const titleCss = aiMode ? {
21309
+ ...headingCss,
21310
+ ...{
21311
+ color: "purple700",
21312
+ backgroundImage: "aiBoldBg",
21313
+ backgroundClip: "bgcl_text",
21314
+ WebkitBackgroundClip: "WebkitBackgroundClip_text",
21315
+ WebkitTextFillColor: "wktfc_transparent"
21316
+ }
21317
+ } : headingCss;
21265
21318
  if (!title && !description && !actions && !withAutoSave) {
21266
21319
  return null;
21267
21320
  }
@@ -21291,7 +21344,7 @@ function ContentHeader(props) {
21291
21344
  /* @__PURE__ */ jsxs71("div", { className: "df aic jcsb mw0", children: [
21292
21345
  title ? /* @__PURE__ */ jsxs71("div", { className: "df aic gap1 mw0", children: [
21293
21346
  startAdornment,
21294
- /* @__PURE__ */ jsx146(Heading, { ...trussProps87(headingCss), ...tid.title, children: title })
21347
+ /* @__PURE__ */ jsx146(Heading, { ...trussProps87(titleCss), ...tid.title, children: title })
21295
21348
  ] }) : descriptionEl,
21296
21349
  (withAutoSave || actions) && /* @__PURE__ */ jsxs71("div", { className: "df gap1 fs0", ...tid.actions, children: [
21297
21350
  withAutoSave && /* @__PURE__ */ jsx146(AutoSaveIndicator, {}),
@@ -27530,6 +27583,7 @@ function EnvironmentBannerLayout(props) {
27530
27583
  }
27531
27584
 
27532
27585
  // src/layouts/FormSectionLayout/FormSectionLayout.tsx
27586
+ import { trussProps as trussProps129 } from "@homebound/truss/runtime";
27533
27587
  import { jsx as jsx225, jsxs as jsxs117 } from "react/jsx-runtime";
27534
27588
  function FormSectionLayout(props) {
27535
27589
  const {
@@ -27538,16 +27592,28 @@ function FormSectionLayout(props) {
27538
27592
  actions,
27539
27593
  withAutoSave,
27540
27594
  initialFields,
27541
- sections
27595
+ sections,
27596
+ aiMode = false
27542
27597
  } = props;
27543
27598
  const tid = useTestIds(props, "formSectionLayout");
27544
- return /* @__PURE__ */ jsx225(CenteredLayout, { size: "sm", children: /* @__PURE__ */ jsxs117("div", { className: "df fdc gap8 pt4", children: [
27599
+ const content = /* @__PURE__ */ jsxs117("div", { ...trussProps129({
27600
+ display: "df",
27601
+ flexDirection: "fdc",
27602
+ gap: "gap8",
27603
+ ...aiMode ? {
27604
+ paddingTop: "pt3",
27605
+ paddingBottom: "pb3",
27606
+ paddingRight: "pr3",
27607
+ paddingLeft: "pl3"
27608
+ } : {}
27609
+ }), children: [
27545
27610
  /* @__PURE__ */ jsxs117("div", { className: "df fdc gap3", children: [
27546
- /* @__PURE__ */ jsx225(ContentHeader, { ...tid, title, description, actions, withAutoSave, level: 2 }),
27611
+ /* @__PURE__ */ jsx225(ContentHeader, { ...tid, title, description, actions, withAutoSave, level: 2, aiMode }),
27547
27612
  initialFields
27548
27613
  ] }),
27549
27614
  sections && /* @__PURE__ */ jsx225("div", { className: "df fdc gap8", children: sections.map((section, i) => /* @__PURE__ */ jsx225(FormSection, { ...section }, defaultTestId(section.title) || i)) })
27550
- ] }) });
27615
+ ] });
27616
+ return /* @__PURE__ */ jsx225(CenteredLayout, { size: "sm", children: aiMode ? /* @__PURE__ */ jsx225(AiCard, { size: "lg", ...tid, children: content }) : content });
27551
27617
  }
27552
27618
 
27553
27619
  // src/layouts/NavbarLayout/NavbarLayout.tsx
@@ -27747,7 +27813,7 @@ function NavbarLayout(props) {
27747
27813
  import { useCallback as useCallback41, useMemo as useMemo58, useRef as useRef69 } from "react";
27748
27814
 
27749
27815
  // src/components/Headers/BaseHeader.tsx
27750
- import { trussProps as trussProps129 } from "@homebound/truss/runtime";
27816
+ import { trussProps as trussProps130 } from "@homebound/truss/runtime";
27751
27817
  import { jsx as jsx228, jsxs as jsxs119 } from "react/jsx-runtime";
27752
27818
  function BaseHeader(props) {
27753
27819
  const {
@@ -27760,7 +27826,7 @@ function BaseHeader(props) {
27760
27826
  } = props;
27761
27827
  const tid = useTestIds(otherProps, "header");
27762
27828
  useDocumentTitle(title, documentTitleSuffix);
27763
- return /* @__PURE__ */ jsxs119("header", { ...tid, ...trussProps129({
27829
+ return /* @__PURE__ */ jsxs119("header", { ...tid, ...trussProps130({
27764
27830
  display: "df",
27765
27831
  flexDirection: "fdc",
27766
27832
  paddingTop: "pt3",
@@ -27774,7 +27840,7 @@ function BaseHeader(props) {
27774
27840
  "--backgroundColor": "var(--b-surface)"
27775
27841
  }]
27776
27842
  }), children: [
27777
- /* @__PURE__ */ jsxs119("div", { ...trussProps129({
27843
+ /* @__PURE__ */ jsxs119("div", { ...trussProps130({
27778
27844
  ...{
27779
27845
  display: "df",
27780
27846
  justifyContent: "jcsb",
@@ -27790,7 +27856,7 @@ function BaseHeader(props) {
27790
27856
  }), children: [
27791
27857
  /* @__PURE__ */ jsxs119("div", { className: "mw0", children: [
27792
27858
  breadcrumbs && /* @__PURE__ */ jsx228(Breadcrumbs, { ...breadcrumbs }),
27793
- /* @__PURE__ */ jsx228("h1", { ...tid.title, ...trussProps129({
27859
+ /* @__PURE__ */ jsx228("h1", { ...tid.title, ...trussProps130({
27794
27860
  fontWeight: "fw6",
27795
27861
  fontSize: "fz_20px",
27796
27862
  lineHeight: "lh_28px",
@@ -27806,7 +27872,7 @@ function BaseHeader(props) {
27806
27872
  }
27807
27873
 
27808
27874
  // src/components/Headers/PageHeader.tsx
27809
- import { trussProps as trussProps130 } from "@homebound/truss/runtime";
27875
+ import { trussProps as trussProps131 } from "@homebound/truss/runtime";
27810
27876
  import { jsx as jsx229 } from "react/jsx-runtime";
27811
27877
  function PageHeader2(props) {
27812
27878
  const {
@@ -27814,7 +27880,7 @@ function PageHeader2(props) {
27814
27880
  ...otherProps
27815
27881
  } = props;
27816
27882
  const tid = useTestIds(otherProps, "header");
27817
- return /* @__PURE__ */ jsx229(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ jsx229("div", { ...trussProps130(pageContentPaddingX), children: /* @__PURE__ */ jsx229(Tabs, { ...tabs, ...tid.tabs }) }) });
27883
+ return /* @__PURE__ */ jsx229(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ jsx229("div", { ...trussProps131(pageContentPaddingX), children: /* @__PURE__ */ jsx229(Tabs, { ...tabs, ...tid.tabs }) }) });
27818
27884
  }
27819
27885
 
27820
27886
  // src/layouts/useBannerAndNavbarHeight.ts
@@ -27964,20 +28030,22 @@ function WorkflowActions(props) {
27964
28030
  completeLabel,
27965
28031
  onComplete,
27966
28032
  onContinue,
27967
- primaryDisabled
28033
+ primaryDisabled,
28034
+ aiMode = false
27968
28035
  } = props;
28036
+ const primaryVariant = aiMode ? "ai" : "primary";
27969
28037
  return /* @__PURE__ */ jsxs121("div", { className: "df aic jcsb sm_w100", children: [
27970
28038
  /* @__PURE__ */ jsx233("div", { className: "df aic", children: !isFirstStep && isMobile && /* @__PURE__ */ jsx233(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
27971
28039
  /* @__PURE__ */ jsxs121("div", { className: "df aic gap1", children: [
27972
28040
  /* @__PURE__ */ jsx233(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
27973
28041
  onSaveAndExit && /* @__PURE__ */ jsx233(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
27974
- isLastStep ? /* @__PURE__ */ jsx233(Button, { label: completeLabel, variant: "primary", onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ jsx233(Button, { label: "Continue", variant: "primary", onClick: onContinue, disabled: primaryDisabled })
28042
+ isLastStep ? /* @__PURE__ */ jsx233(Button, { label: completeLabel, variant: primaryVariant, onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ jsx233(Button, { label: "Continue", variant: primaryVariant, onClick: onContinue, disabled: primaryDisabled })
27975
28043
  ] })
27976
28044
  ] });
27977
28045
  }
27978
28046
 
27979
28047
  // src/layouts/WorkflowLayout/WorkflowLayout.tsx
27980
- import { trussProps as trussProps131, mergeProps as mergeProps41, maybeCssVar as maybeCssVar65 } from "@homebound/truss/runtime";
28048
+ import { trussProps as trussProps132, mergeProps as mergeProps41, maybeCssVar as maybeCssVar65 } from "@homebound/truss/runtime";
27981
28049
  import { jsx as jsx234, jsxs as jsxs122 } from "react/jsx-runtime";
27982
28050
  var __maybeInc32 = (inc) => {
27983
28051
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27991,6 +28059,7 @@ function WorkflowLayout(props) {
27991
28059
  onComplete,
27992
28060
  onSaveAndExit,
27993
28061
  isDirty,
28062
+ aiMode = false,
27994
28063
  ...headerProps
27995
28064
  } = props;
27996
28065
  const stepTabs = steps.map((step) => ({
@@ -28020,7 +28089,7 @@ function WorkflowLayout(props) {
28020
28089
  const isFirstStep = currentIndex <= 0;
28021
28090
  const isLastStep = currentIndex === stepTabs.length - 1;
28022
28091
  const activeStep = stepTabs[currentIndex];
28023
- const buttons = /* @__PURE__ */ jsx234(WorkflowActions, { isFirstStep, isLastStep, isMobile, onBack: () => setCurrentStep(stepTabs[currentIndex - 1].value), onCancel: onCancelClick, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !activeStep?.isValid, onContinue: async () => {
28092
+ const buttons = /* @__PURE__ */ jsx234(WorkflowActions, { isFirstStep, isLastStep, isMobile, onBack: () => setCurrentStep(stepTabs[currentIndex - 1].value), onCancel: onCancelClick, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !activeStep?.isValid, aiMode, onContinue: async () => {
28024
28093
  const onContinue = activeStep?.onContinue;
28025
28094
  if (onContinue) {
28026
28095
  const allowed = await onContinue();
@@ -28060,7 +28129,7 @@ function WorkflowLayout(props) {
28060
28129
  flexDirection: "fdc",
28061
28130
  width: "w100"
28062
28131
  }), ...tid, children: [
28063
- /* @__PURE__ */ jsx234("div", { ref: headerMetricsRef, ...trussProps131({
28132
+ /* @__PURE__ */ jsx234("div", { ref: headerMetricsRef, ...trussProps132({
28064
28133
  position: "sticky",
28065
28134
  left: "left0",
28066
28135
  width: ["w_var", {
@@ -28073,14 +28142,29 @@ function WorkflowLayout(props) {
28073
28142
  "--top": maybeCssVar65(__maybeInc32(outerTop))
28074
28143
  }]
28075
28144
  }), ...tid.header, children: headerEl }),
28076
- /* @__PURE__ */ jsx234("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children: activeStep?.content }),
28077
- showFooter && /* @__PURE__ */ jsx234("div", { ...trussProps131({
28145
+ /* @__PURE__ */ jsx234("div", { ...trussProps132({
28146
+ ...{
28147
+ display: "df",
28148
+ flexDirection: "fdc",
28149
+ flexGrow: "fg1",
28150
+ minHeight: "mh0",
28151
+ width: "w100",
28152
+ paddingTop: "pt4 mdandup_pt6"
28153
+ },
28154
+ ...aiMode && {
28155
+ backgroundImage: "aiBackground",
28156
+ minHeight: ["mh_var", {
28157
+ "--minHeight": maybeCssVar65(documentScrollBodyMinHeight())
28158
+ }]
28159
+ }
28160
+ }), ...tid.body, children: activeStep?.content }),
28161
+ showFooter && /* @__PURE__ */ jsx234("div", { ...trussProps132({
28078
28162
  flexShrink: "fs0",
28079
28163
  width: "w100",
28080
28164
  height: ["h_var", {
28081
28165
  "--height": `${mobileFooterHeightPx}px`
28082
28166
  }]
28083
- }), children: /* @__PURE__ */ jsx234("div", { ...trussProps131({
28167
+ }), children: /* @__PURE__ */ jsx234("div", { ...trussProps132({
28084
28168
  ...{
28085
28169
  position: "fixed",
28086
28170
  bottom: "bottom0",
@@ -28124,6 +28208,7 @@ export {
28124
28208
  Accordion,
28125
28209
  AccordionList,
28126
28210
  AiBanner,
28211
+ AiCard,
28127
28212
  AiLoader,
28128
28213
  AiLoadingPanel,
28129
28214
  AiPanel,
@@ -28366,6 +28451,7 @@ export {
28366
28451
  defaultRenderFn,
28367
28452
  defaultStyle,
28368
28453
  defaultTestId,
28454
+ documentScrollBodyMinHeight,
28369
28455
  documentScrollChromeLeft,
28370
28456
  documentScrollChromeWidth,
28371
28457
  documentScrollContentLeft,