@homebound/beam 4.16.1 → 4.18.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.d.cts CHANGED
@@ -5367,12 +5367,12 @@ declare function ProposedValue$1(props: ProposedValueProps): React$1.JSX.Element
5367
5367
 
5368
5368
  type TagXss = Margin | "backgroundColor" | "color";
5369
5369
  type TagType = "info" | "update" | "warning" | "error" | "success" | "neutral" | "ai" | "strikethrough";
5370
- type TagVariant = "primary" | "secondary";
5370
+ type TagVariant = "primary" | "secondary" | "bold";
5371
5371
  type TagPropsBase<X> = {
5372
5372
  /** Required even if using `iconOnly + preventTooltip`. In those cases an accessibility friendly message is expected */
5373
5373
  text: ReactNode;
5374
5374
  type?: TagType;
5375
- /** Defaults to "primary". Secondary is intended for use in TagGroup. */
5375
+ /** Defaults to "primary". Secondary is intended for use in TagGroup. Bold is a darker fill with white text. */
5376
5376
  variant?: TagVariant;
5377
5377
  xss?: X;
5378
5378
  /** A tooltip will automatically be displayed if the text is truncated. Set to true to prevent this behavior.
@@ -5393,10 +5393,11 @@ declare function Tag<X extends Only<Xss<TagXss>, X>>(props: TagProps<X>): React$
5393
5393
  type CardSlotBase<K extends string> = {
5394
5394
  kind: K;
5395
5395
  };
5396
- /** Tag props for badge slots — mirrors Tag (type, icon, iconOnly) with string-only text. */
5396
+ /** Tag props for badge slots — mirrors Tag (type, variant, icon, iconOnly) with string-only text. */
5397
5397
  type CardBadgeTag = {
5398
5398
  text: string;
5399
5399
  type?: TagType;
5400
+ variant?: TagVariant;
5400
5401
  } & ({
5401
5402
  iconOnly?: false;
5402
5403
  icon?: IconKey;
@@ -6414,6 +6415,8 @@ interface BeamTextFieldProps<X> extends BeamFocusableProps, PresentationFieldPro
6414
6415
  helperText?: string | ReactNode;
6415
6416
  /** Input label */
6416
6417
  label: string;
6418
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
6419
+ tooltip?: ReactNode;
6417
6420
  /** Marks the field as required or optional, the default is assumed ambiguous/unknown. */
6418
6421
  required?: boolean;
6419
6422
  value: string | undefined;
@@ -7518,6 +7521,7 @@ type ImageFitType = "contain" | "cover";
7518
7521
  type CardTag = {
7519
7522
  text: string;
7520
7523
  type?: TagType;
7524
+ variant?: TagVariant;
7521
7525
  };
7522
7526
  type CardProps = {
7523
7527
  title: string;
@@ -8349,6 +8353,7 @@ type InlineFeedbackBannerAction = ActionButtonProps | ({
8349
8353
  type InlineFeedbackBannerProps = {
8350
8354
  type: InlineFeedbackBannerType;
8351
8355
  tagText?: TagProps<any>["text"];
8356
+ tagVariant?: TagVariant;
8352
8357
  description: ReactNode;
8353
8358
  /** Rendered in order, always as text buttons (menu triggers included). */
8354
8359
  actions?: InlineFeedbackBannerAction[];
@@ -8424,6 +8429,8 @@ type CheckboxGroupItemOption = {
8424
8429
  };
8425
8430
  type CheckboxGroupProps = {
8426
8431
  label: string;
8432
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8433
+ tooltip?: ReactNode;
8427
8434
  required?: boolean;
8428
8435
  /** Called when a checkbox is selected or deselected */
8429
8436
  onChange: (values: string[]) => void;
@@ -8480,7 +8487,6 @@ type TextFieldBaseProps<X> = {
8480
8487
  startAdornment?: ReactNode;
8481
8488
  clearable?: boolean;
8482
8489
  textAreaMinHeight?: number;
8483
- tooltip?: ReactNode;
8484
8490
  hideErrorMessage?: boolean;
8485
8491
  alwaysShowHelperText?: boolean;
8486
8492
  unfocusedPlaceholder?: ReactNode;
@@ -8494,9 +8500,9 @@ type TextFieldBaseProps<X> = {
8494
8500
  onUserBlur?: VoidFunction;
8495
8501
  /** Allow focusing without selecting, i.e. to let the user keep typing after we've pre-filled text + called focus, like the Add New component. */
8496
8502
  selectOnFocus?: boolean;
8497
- } & Pick<BeamTextFieldProps<X>, "label" | "required" | "errorMsg" | "errorInTooltip" | "onBlur" | "onFocus" | "helperText" | "labelStyle" | "placeholder" | "compact" | "borderless" | "borderOnHover" | "visuallyDisabled" | "fullWidth" | "xss" | "inputStylePalette"> & Partial<Pick<BeamTextFieldProps<X>, "onChange">>;
8503
+ } & Pick<BeamTextFieldProps<X>, "label" | "tooltip" | "required" | "errorMsg" | "errorInTooltip" | "onBlur" | "onFocus" | "helperText" | "labelStyle" | "placeholder" | "compact" | "borderless" | "borderOnHover" | "visuallyDisabled" | "fullWidth" | "xss" | "inputStylePalette"> & Partial<Pick<BeamTextFieldProps<X>, "onChange">>;
8498
8504
 
8499
- type DateFieldCommonProps = Pick<TextFieldBaseProps<Properties>, "borderless" | "visuallyDisabled" | "labelStyle" | "compact" | "fullWidth"> & {
8505
+ type DateFieldCommonProps = Pick<TextFieldBaseProps<Properties>, "borderless" | "visuallyDisabled" | "labelStyle" | "compact" | "fullWidth" | "tooltip"> & {
8500
8506
  label: string;
8501
8507
  /** Called when the component loses focus */
8502
8508
  onBlur?: () => void;
@@ -8596,6 +8602,8 @@ type ComboBoxBaseProps<O, V extends Value> = {
8596
8602
  fieldDecoration?: (opt: O) => ReactNode;
8597
8603
  /** Sets the form field label. */
8598
8604
  label: string;
8605
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8606
+ tooltip?: ReactNode;
8599
8607
  readOnly?: boolean | ReactNode;
8600
8608
  onBlur?: () => void;
8601
8609
  onFocus?: () => void;
@@ -8710,6 +8718,8 @@ type SelectCardListGroupItemOption<V extends Value> = SelectCardGroupItemOptionB
8710
8718
  type SelectCardGroupItemOption<V extends Value> = SelectCardGridGroupItemOption<V> | SelectCardListGroupItemOption<V>;
8711
8719
  type SelectCardGroupFieldPropsBase = {
8712
8720
  label: string;
8721
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8722
+ tooltip?: ReactNode;
8713
8723
  errorMsg?: string;
8714
8724
  helperText?: string | ReactNode;
8715
8725
  disabled?: boolean;
@@ -8787,6 +8797,8 @@ declare function BoundMultiSelectField<O extends HasIdAndName<V>, V extends Valu
8787
8797
  type NumberFieldType = "cents" | "dollars" | "percent" | "basisPoints" | "days" | "mills";
8788
8798
  interface NumberFieldProps extends Pick<PresentationFieldProps, "labelStyle" | "fullWidth"> {
8789
8799
  label: string;
8800
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8801
+ tooltip?: ReactNode;
8790
8802
  /** If set, the label will be defined as 'aria-label` on the input element */
8791
8803
  type?: NumberFieldType;
8792
8804
  value: number | undefined;
@@ -8847,6 +8859,8 @@ type RadioGroupFieldLayout = "vertical" | "horizontal";
8847
8859
  type RadioGroupFieldProps<K extends string> = {
8848
8860
  /** The label for the choice itself, i.e. "Favorite Cheese". */
8849
8861
  label: string;
8862
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8863
+ tooltip?: ReactNode;
8850
8864
  /** The currently selected option value (i.e. an id). */
8851
8865
  value: K | undefined;
8852
8866
  /** Called when an option is selected. We don't support unselecting. */
@@ -8892,6 +8906,8 @@ type RichTextFieldProps = {
8892
8906
  */
8893
8907
  mergeTags?: string[];
8894
8908
  label?: string;
8909
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8910
+ tooltip?: ReactNode;
8895
8911
  autoFocus?: boolean;
8896
8912
  placeholder?: string;
8897
8913
  /** Called when the component loses focus */
@@ -9095,6 +9111,8 @@ type ToggleChipItemProps = {
9095
9111
  };
9096
9112
  interface ToggleChipGroupProps extends Pick<PresentationFieldProps, "labelStyle"> {
9097
9113
  label: string;
9114
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
9115
+ tooltip?: ReactNode;
9098
9116
  options: ToggleChipItemProps[];
9099
9117
  values: string[];
9100
9118
  readonly?: boolean;
@@ -9156,6 +9174,8 @@ type TreeSelectFieldProps<O, V extends Value> = {
9156
9174
  fieldDecoration?: (opt: O) => ReactNode;
9157
9175
  /** Sets the form field label. */
9158
9176
  label: string;
9177
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
9178
+ tooltip?: ReactNode;
9159
9179
  readOnly?: boolean | ReactNode;
9160
9180
  onBlur?: () => void;
9161
9181
  onFocus?: () => void;
package/dist/index.d.ts CHANGED
@@ -5367,12 +5367,12 @@ declare function ProposedValue$1(props: ProposedValueProps): React$1.JSX.Element
5367
5367
 
5368
5368
  type TagXss = Margin | "backgroundColor" | "color";
5369
5369
  type TagType = "info" | "update" | "warning" | "error" | "success" | "neutral" | "ai" | "strikethrough";
5370
- type TagVariant = "primary" | "secondary";
5370
+ type TagVariant = "primary" | "secondary" | "bold";
5371
5371
  type TagPropsBase<X> = {
5372
5372
  /** Required even if using `iconOnly + preventTooltip`. In those cases an accessibility friendly message is expected */
5373
5373
  text: ReactNode;
5374
5374
  type?: TagType;
5375
- /** Defaults to "primary". Secondary is intended for use in TagGroup. */
5375
+ /** Defaults to "primary". Secondary is intended for use in TagGroup. Bold is a darker fill with white text. */
5376
5376
  variant?: TagVariant;
5377
5377
  xss?: X;
5378
5378
  /** A tooltip will automatically be displayed if the text is truncated. Set to true to prevent this behavior.
@@ -5393,10 +5393,11 @@ declare function Tag<X extends Only<Xss<TagXss>, X>>(props: TagProps<X>): React$
5393
5393
  type CardSlotBase<K extends string> = {
5394
5394
  kind: K;
5395
5395
  };
5396
- /** Tag props for badge slots — mirrors Tag (type, icon, iconOnly) with string-only text. */
5396
+ /** Tag props for badge slots — mirrors Tag (type, variant, icon, iconOnly) with string-only text. */
5397
5397
  type CardBadgeTag = {
5398
5398
  text: string;
5399
5399
  type?: TagType;
5400
+ variant?: TagVariant;
5400
5401
  } & ({
5401
5402
  iconOnly?: false;
5402
5403
  icon?: IconKey;
@@ -6414,6 +6415,8 @@ interface BeamTextFieldProps<X> extends BeamFocusableProps, PresentationFieldPro
6414
6415
  helperText?: string | ReactNode;
6415
6416
  /** Input label */
6416
6417
  label: string;
6418
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
6419
+ tooltip?: ReactNode;
6417
6420
  /** Marks the field as required or optional, the default is assumed ambiguous/unknown. */
6418
6421
  required?: boolean;
6419
6422
  value: string | undefined;
@@ -7518,6 +7521,7 @@ type ImageFitType = "contain" | "cover";
7518
7521
  type CardTag = {
7519
7522
  text: string;
7520
7523
  type?: TagType;
7524
+ variant?: TagVariant;
7521
7525
  };
7522
7526
  type CardProps = {
7523
7527
  title: string;
@@ -8349,6 +8353,7 @@ type InlineFeedbackBannerAction = ActionButtonProps | ({
8349
8353
  type InlineFeedbackBannerProps = {
8350
8354
  type: InlineFeedbackBannerType;
8351
8355
  tagText?: TagProps<any>["text"];
8356
+ tagVariant?: TagVariant;
8352
8357
  description: ReactNode;
8353
8358
  /** Rendered in order, always as text buttons (menu triggers included). */
8354
8359
  actions?: InlineFeedbackBannerAction[];
@@ -8424,6 +8429,8 @@ type CheckboxGroupItemOption = {
8424
8429
  };
8425
8430
  type CheckboxGroupProps = {
8426
8431
  label: string;
8432
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8433
+ tooltip?: ReactNode;
8427
8434
  required?: boolean;
8428
8435
  /** Called when a checkbox is selected or deselected */
8429
8436
  onChange: (values: string[]) => void;
@@ -8480,7 +8487,6 @@ type TextFieldBaseProps<X> = {
8480
8487
  startAdornment?: ReactNode;
8481
8488
  clearable?: boolean;
8482
8489
  textAreaMinHeight?: number;
8483
- tooltip?: ReactNode;
8484
8490
  hideErrorMessage?: boolean;
8485
8491
  alwaysShowHelperText?: boolean;
8486
8492
  unfocusedPlaceholder?: ReactNode;
@@ -8494,9 +8500,9 @@ type TextFieldBaseProps<X> = {
8494
8500
  onUserBlur?: VoidFunction;
8495
8501
  /** Allow focusing without selecting, i.e. to let the user keep typing after we've pre-filled text + called focus, like the Add New component. */
8496
8502
  selectOnFocus?: boolean;
8497
- } & Pick<BeamTextFieldProps<X>, "label" | "required" | "errorMsg" | "errorInTooltip" | "onBlur" | "onFocus" | "helperText" | "labelStyle" | "placeholder" | "compact" | "borderless" | "borderOnHover" | "visuallyDisabled" | "fullWidth" | "xss" | "inputStylePalette"> & Partial<Pick<BeamTextFieldProps<X>, "onChange">>;
8503
+ } & Pick<BeamTextFieldProps<X>, "label" | "tooltip" | "required" | "errorMsg" | "errorInTooltip" | "onBlur" | "onFocus" | "helperText" | "labelStyle" | "placeholder" | "compact" | "borderless" | "borderOnHover" | "visuallyDisabled" | "fullWidth" | "xss" | "inputStylePalette"> & Partial<Pick<BeamTextFieldProps<X>, "onChange">>;
8498
8504
 
8499
- type DateFieldCommonProps = Pick<TextFieldBaseProps<Properties>, "borderless" | "visuallyDisabled" | "labelStyle" | "compact" | "fullWidth"> & {
8505
+ type DateFieldCommonProps = Pick<TextFieldBaseProps<Properties>, "borderless" | "visuallyDisabled" | "labelStyle" | "compact" | "fullWidth" | "tooltip"> & {
8500
8506
  label: string;
8501
8507
  /** Called when the component loses focus */
8502
8508
  onBlur?: () => void;
@@ -8596,6 +8602,8 @@ type ComboBoxBaseProps<O, V extends Value> = {
8596
8602
  fieldDecoration?: (opt: O) => ReactNode;
8597
8603
  /** Sets the form field label. */
8598
8604
  label: string;
8605
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8606
+ tooltip?: ReactNode;
8599
8607
  readOnly?: boolean | ReactNode;
8600
8608
  onBlur?: () => void;
8601
8609
  onFocus?: () => void;
@@ -8710,6 +8718,8 @@ type SelectCardListGroupItemOption<V extends Value> = SelectCardGroupItemOptionB
8710
8718
  type SelectCardGroupItemOption<V extends Value> = SelectCardGridGroupItemOption<V> | SelectCardListGroupItemOption<V>;
8711
8719
  type SelectCardGroupFieldPropsBase = {
8712
8720
  label: string;
8721
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8722
+ tooltip?: ReactNode;
8713
8723
  errorMsg?: string;
8714
8724
  helperText?: string | ReactNode;
8715
8725
  disabled?: boolean;
@@ -8787,6 +8797,8 @@ declare function BoundMultiSelectField<O extends HasIdAndName<V>, V extends Valu
8787
8797
  type NumberFieldType = "cents" | "dollars" | "percent" | "basisPoints" | "days" | "mills";
8788
8798
  interface NumberFieldProps extends Pick<PresentationFieldProps, "labelStyle" | "fullWidth"> {
8789
8799
  label: string;
8800
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8801
+ tooltip?: ReactNode;
8790
8802
  /** If set, the label will be defined as 'aria-label` on the input element */
8791
8803
  type?: NumberFieldType;
8792
8804
  value: number | undefined;
@@ -8847,6 +8859,8 @@ type RadioGroupFieldLayout = "vertical" | "horizontal";
8847
8859
  type RadioGroupFieldProps<K extends string> = {
8848
8860
  /** The label for the choice itself, i.e. "Favorite Cheese". */
8849
8861
  label: string;
8862
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8863
+ tooltip?: ReactNode;
8850
8864
  /** The currently selected option value (i.e. an id). */
8851
8865
  value: K | undefined;
8852
8866
  /** Called when an option is selected. We don't support unselecting. */
@@ -8892,6 +8906,8 @@ type RichTextFieldProps = {
8892
8906
  */
8893
8907
  mergeTags?: string[];
8894
8908
  label?: string;
8909
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
8910
+ tooltip?: ReactNode;
8895
8911
  autoFocus?: boolean;
8896
8912
  placeholder?: string;
8897
8913
  /** Called when the component loses focus */
@@ -9095,6 +9111,8 @@ type ToggleChipItemProps = {
9095
9111
  };
9096
9112
  interface ToggleChipGroupProps extends Pick<PresentationFieldProps, "labelStyle"> {
9097
9113
  label: string;
9114
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
9115
+ tooltip?: ReactNode;
9098
9116
  options: ToggleChipItemProps[];
9099
9117
  values: string[];
9100
9118
  readonly?: boolean;
@@ -9156,6 +9174,8 @@ type TreeSelectFieldProps<O, V extends Value> = {
9156
9174
  fieldDecoration?: (opt: O) => ReactNode;
9157
9175
  /** Sets the form field label. */
9158
9176
  label: string;
9177
+ /** Adds tooltip for the field, shown via an info icon beside the label. */
9178
+ tooltip?: ReactNode;
9159
9179
  readOnly?: boolean | ReactNode;
9160
9180
  onBlur?: () => void;
9161
9181
  onFocus?: () => void;
package/dist/index.js CHANGED
@@ -11250,6 +11250,7 @@ function TextFieldBase(props) {
11250
11250
  } = fieldProps ?? {};
11251
11251
  const {
11252
11252
  label,
11253
+ tooltip,
11253
11254
  required,
11254
11255
  labelProps,
11255
11256
  inputProps,
@@ -11271,7 +11272,6 @@ function TextFieldBase(props) {
11271
11272
  borderOnHover = fieldProps?.borderOnHover ?? false,
11272
11273
  textAreaMinHeight = 96,
11273
11274
  clearable = false,
11274
- tooltip,
11275
11275
  visuallyDisabled = fieldProps?.visuallyDisabled ?? true,
11276
11276
  errorInTooltip = fieldProps?.errorInTooltip ?? false,
11277
11277
  hideErrorMessage = false,
@@ -11292,6 +11292,9 @@ function TextFieldBase(props) {
11292
11292
  forceFocus = false,
11293
11293
  forceHover = false
11294
11294
  } = internalProps;
11295
+ const hasVisibleLabel = !!label && labelStyle !== "inline" && labelStyle !== "hidden" && !compound;
11296
+ const isInteractive = !inputProps.disabled && !inputProps.readOnly;
11297
+ const tooltipLocation = hasVisibleLabel ? "label" : !isInteractive ? "field" : void 0;
11295
11298
  const errorMessageId = `${inputProps.id}-error`;
11296
11299
  const labelSuffix = useLabelSuffix(required, inputProps.readOnly);
11297
11300
  const tid = useTestIds(props, defaultTestId(label));
@@ -11583,9 +11586,9 @@ function TextFieldBase(props) {
11583
11586
  };
11584
11587
  return /* @__PURE__ */ jsxs20(Fragment13, { children: [
11585
11588
  /* @__PURE__ */ jsxs20("div", { ...trussProps24(fieldStyles.container), ...groupProps, ...focusWithinProps, children: [
11586
- label && labelStyle !== "inline" && /* @__PURE__ */ jsx37(Label, { labelProps, hidden: labelStyle === "hidden" || compound, label, inline: labelStyle !== "above", suffix: labelSuffix, ...tid.label }),
11589
+ label && labelStyle !== "inline" && /* @__PURE__ */ jsx37(Label, { labelProps, hidden: labelStyle === "hidden" || compound, label, inline: labelStyle !== "above", suffix: labelSuffix, tooltip: tooltipLocation === "label" ? tooltip : void 0, ...tid.label }),
11587
11590
  maybeTooltip({
11588
- title: tooltip,
11591
+ title: tooltipLocation === "field" ? tooltip : void 0,
11589
11592
  placement: "top",
11590
11593
  children: inputProps.readOnly ? /* @__PURE__ */ jsxs20("div", { ...trussProps24({
11591
11594
  // Use input wrapper to get common styles, but then we need to override some
@@ -13048,6 +13051,27 @@ function getVariantStyles(variant, type) {
13048
13051
  }
13049
13052
  };
13050
13053
  }
13054
+ if (variant === "bold") {
13055
+ return {
13056
+ background: {
13057
+ ...getBoldBackground(type),
13058
+ ...{
13059
+ color: "white"
13060
+ }
13061
+ },
13062
+ iconColor: "rgba(255, 255, 255, 1)" /* White */,
13063
+ typography: {
13064
+ fontWeight: "fw6",
13065
+ fontSize: "fz_10px",
13066
+ lineHeight: "lh_14px",
13067
+ textTransform: "ttu"
13068
+ },
13069
+ padding: {
13070
+ paddingLeft: "pl_6px",
13071
+ paddingRight: "pr_6px"
13072
+ }
13073
+ };
13074
+ }
13051
13075
  return {
13052
13076
  ...getPrimaryStyles(type),
13053
13077
  typography: {
@@ -13062,6 +13086,38 @@ function getVariantStyles(variant, type) {
13062
13086
  }
13063
13087
  };
13064
13088
  }
13089
+ function getBoldBackground(type) {
13090
+ switch (type) {
13091
+ case "info":
13092
+ return {
13093
+ backgroundColor: "bgBlue600"
13094
+ };
13095
+ case "update":
13096
+ return {
13097
+ backgroundColor: "bgYellow600"
13098
+ };
13099
+ case "warning":
13100
+ return {
13101
+ backgroundColor: "bgOrange600"
13102
+ };
13103
+ case "error":
13104
+ return {
13105
+ backgroundColor: "bgRed600"
13106
+ };
13107
+ case "success":
13108
+ return {
13109
+ backgroundColor: "bgGreen600"
13110
+ };
13111
+ case "ai":
13112
+ return {
13113
+ backgroundColor: "bgPurple600"
13114
+ };
13115
+ default:
13116
+ return {
13117
+ backgroundColor: "bgGray600"
13118
+ };
13119
+ }
13120
+ }
13065
13121
  function getPrimaryStyles(type) {
13066
13122
  switch (type) {
13067
13123
  case "info":
@@ -16042,9 +16098,9 @@ function Card(props) {
16042
16098
  icon: "verticalDots",
16043
16099
  color: isList ? "--b-on-surface-muted" /* OnSurfaceMuted */ : "--b-on-primary" /* OnPrimary */
16044
16100
  }, items: buttonMenuItems }) }),
16045
- tag && !isList && /* @__PURE__ */ jsx79("div", { className: "absolute l_1 tp_4px", children: /* @__PURE__ */ jsx79(Tag, { type: tag.type, text: tag.text, ...tid.tag }) }),
16101
+ tag && !isList && /* @__PURE__ */ jsx79("div", { className: "absolute l_1 tp_4px", children: /* @__PURE__ */ jsx79(Tag, { type: tag.type, variant: tag.variant, text: tag.text, ...tid.tag }) }),
16046
16102
  /* @__PURE__ */ jsxs51("div", { className: "df fdc aifs g_1", children: [
16047
- tag && isList && /* @__PURE__ */ jsx79(Tag, { type: tag.type, text: tag.text, ...tid.tag }),
16103
+ tag && isList && /* @__PURE__ */ jsx79(Tag, { type: tag.type, variant: tag.variant, text: tag.text, ...tid.tag }),
16048
16104
  /* @__PURE__ */ jsxs51("div", { children: [
16049
16105
  /* @__PURE__ */ jsx79("div", { ...trussProps52({
16050
16106
  fontWeight: "fw6",
@@ -18824,7 +18880,7 @@ function TreeSelectFieldBase(props) {
18824
18880
  maxWidth: "maxw100"
18825
18881
  } : {}
18826
18882
  }), ref: comboBoxRef, children: [
18827
- /* @__PURE__ */ jsx105(ComboBoxInput, { ...otherProps, fullWidth, labelStyle, buttonProps, buttonRef: triggerRef, inputProps, inputRef, inputWrapRef, listBoxRef, state, labelProps, selectedOptions: fieldState.selectedOptions, selectedOptionsLabels: fieldState.selectedOptionsLabels, getOptionValue, getOptionLabel, borderless, tooltip: resolveTooltip(disabled, void 0, readOnly), resetField, nothingSelectedText, isTree: true }),
18883
+ /* @__PURE__ */ jsx105(ComboBoxInput, { ...otherProps, fullWidth, labelStyle, buttonProps, buttonRef: triggerRef, inputProps, inputRef, inputWrapRef, listBoxRef, state, labelProps, selectedOptions: fieldState.selectedOptions, selectedOptionsLabels: fieldState.selectedOptionsLabels, getOptionValue, getOptionLabel, borderless, tooltip: resolveTooltip(disabled, props.tooltip, readOnly), resetField, nothingSelectedText, isTree: true }),
18828
18884
  state.isOpen && /* @__PURE__ */ jsx105(
18829
18885
  Popover,
18830
18886
  {
@@ -19073,6 +19129,7 @@ function ComboBoxBase(props) {
19073
19129
  onAddNew,
19074
19130
  autoSort = true,
19075
19131
  hideChips = false,
19132
+ tooltip,
19076
19133
  ...otherProps
19077
19134
  } = props;
19078
19135
  const labelStyle = otherProps.labelStyle ?? fieldProps?.labelStyle ?? "above";
@@ -19305,7 +19362,7 @@ function ComboBoxBase(props) {
19305
19362
  maxWidth: "maxw100"
19306
19363
  } : {}
19307
19364
  }), ref: comboBoxRef, children: [
19308
- /* @__PURE__ */ jsx107(ComboBoxInput, { ...otherProps, inputStylePalette, fullWidth, buttonProps, buttonRef: triggerRef, inputProps, inputRef, inputWrapRef, listBoxRef, state, labelProps, selectedOptions, getOptionValue, getOptionLabel, nothingSelectedText, borderless, tooltip: resolveTooltip(disabled, void 0, readOnly), resetField, hideChips, ...proposalProps }),
19365
+ /* @__PURE__ */ jsx107(ComboBoxInput, { ...otherProps, inputStylePalette, fullWidth, buttonProps, buttonRef: triggerRef, inputProps, inputRef, inputWrapRef, listBoxRef, state, labelProps, selectedOptions, getOptionValue, getOptionLabel, nothingSelectedText, borderless, tooltip: resolveTooltip(disabled, tooltip, readOnly), resetField, hideChips, ...proposalProps }),
19309
19366
  state.isOpen && /* @__PURE__ */ jsx107(
19310
19367
  Popover,
19311
19368
  {
@@ -19691,6 +19748,7 @@ function InlineFeedbackBanner(props) {
19691
19748
  const {
19692
19749
  type,
19693
19750
  tagText,
19751
+ tagVariant,
19694
19752
  description,
19695
19753
  actions = []
19696
19754
  } = props;
@@ -19703,10 +19761,12 @@ function InlineFeedbackBanner(props) {
19703
19761
  const tid = useTestIds(props, "inlineFeedbackBanner");
19704
19762
  const tagProps = tagText ? {
19705
19763
  type: tagType,
19764
+ variant: tagVariant,
19706
19765
  icon,
19707
19766
  text: tagText
19708
19767
  } : {
19709
19768
  type: tagType,
19769
+ variant: tagVariant,
19710
19770
  icon,
19711
19771
  text: fallbackTagText,
19712
19772
  iconOnly: true
@@ -19979,6 +20039,7 @@ import { jsx as jsx116, jsxs as jsxs71 } from "react/jsx-runtime";
19979
20039
  function LabeledGroupField(props) {
19980
20040
  const {
19981
20041
  label,
20042
+ tooltip,
19982
20043
  labelStyle,
19983
20044
  labelProps,
19984
20045
  groupProps,
@@ -19992,7 +20053,7 @@ function LabeledGroupField(props) {
19992
20053
  } = props;
19993
20054
  const isHiddenLabel = labelStyle === "hidden";
19994
20055
  const isLeftLabel = labelStyle === "left";
19995
- const labelElement = /* @__PURE__ */ jsx116(Label, { label, ...labelProps, ...tid.label, suffix: labelSuffix, hidden: isHiddenLabel, inline: isLeftLabel });
20056
+ const labelElement = /* @__PURE__ */ jsx116(Label, { label, ...labelProps, ...tid.label, suffix: labelSuffix, tooltip, hidden: isHiddenLabel, inline: isLeftLabel });
19996
20057
  return /* @__PURE__ */ jsxs71("div", { ...groupProps, ...trussProps77({
19997
20058
  width: "w100",
19998
20059
  ...isLeftLabel ? {
@@ -20020,6 +20081,7 @@ function CheckboxGroup(props) {
20020
20081
  const {
20021
20082
  options,
20022
20083
  label,
20084
+ tooltip,
20023
20085
  labelStyle = fieldProps?.labelStyle ?? "above",
20024
20086
  values,
20025
20087
  errorMsg,
@@ -20039,7 +20101,7 @@ function CheckboxGroup(props) {
20039
20101
  } = useCheckboxGroup(props, state);
20040
20102
  const tid = useTestIds(props, defaultTestId(label));
20041
20103
  const labelSuffix = useLabelSuffix(required, false);
20042
- return /* @__PURE__ */ jsx117(LabeledGroupField, { label, labelStyle, labelProps, groupProps, errorMsg, helperText, labelSuffix, onBlur, onFocus, tid, children: /* @__PURE__ */ jsx117("div", { ...trussProps78({
20104
+ return /* @__PURE__ */ jsx117(LabeledGroupField, { label, tooltip, labelStyle, labelProps, groupProps, errorMsg, helperText, labelSuffix, onBlur, onFocus, tid, children: /* @__PURE__ */ jsx117("div", { ...trussProps78({
20043
20105
  display: "dg",
20044
20106
  gridTemplateColumns: ["gtc_var", {
20045
20107
  "--gridTemplateColumns": maybeCssVar36(`repeat(${columns}, auto)`)
@@ -20270,6 +20332,7 @@ import { Fragment as Fragment29, jsx as jsx121, jsxs as jsxs72 } from "react/jsx
20270
20332
  function DateFieldBase(props) {
20271
20333
  const {
20272
20334
  label,
20335
+ tooltip,
20273
20336
  disabled,
20274
20337
  required,
20275
20338
  value,
@@ -20462,7 +20525,7 @@ function DateFieldBase(props) {
20462
20525
  },
20463
20526
  endAdornment: !iconLeft && EndFieldButtons,
20464
20527
  startAdornment: !hideCalendarIcon && iconLeft && calendarButton,
20465
- tooltip: resolveTooltip(disabled, void 0, readOnly),
20528
+ tooltip: resolveTooltip(disabled, tooltip, readOnly),
20466
20529
  ...others
20467
20530
  }
20468
20531
  ),
@@ -20677,6 +20740,7 @@ function MultiLineSelectField(props) {
20677
20740
  getOptionValue = (opt) => opt.id,
20678
20741
  getOptionLabel = (opt) => opt.name,
20679
20742
  labelStyle,
20743
+ tooltip,
20680
20744
  ...otherProps
20681
20745
  } = props;
20682
20746
  const tid = useTestIds(props, "");
@@ -20692,7 +20756,7 @@ function MultiLineSelectField(props) {
20692
20756
  ...labelStyle === "left" ? {
20693
20757
  width: "w50"
20694
20758
  } : {}
20695
- }), children: /* @__PURE__ */ jsx128(Label, { ...tid.label, label: props.label }) }),
20759
+ }), children: /* @__PURE__ */ jsx128(Label, { ...tid.label, label: props.label, tooltip }) }),
20696
20760
  /* @__PURE__ */ jsxs74("div", { ...trussProps81({
20697
20761
  ...labelStyle === "left" ? {
20698
20762
  width: "w50"
@@ -21268,6 +21332,7 @@ function MultiSelectCardGroup(props) {
21268
21332
  } = usePresentationContext();
21269
21333
  const {
21270
21334
  label,
21335
+ tooltip,
21271
21336
  labelStyle = fieldProps?.labelStyle ?? "above",
21272
21337
  values,
21273
21338
  options,
@@ -21302,7 +21367,7 @@ function MultiSelectCardGroup(props) {
21302
21367
  label,
21303
21368
  isDisabled
21304
21369
  }, state);
21305
- return /* @__PURE__ */ jsx135(LabeledGroupField, { label, labelStyle, labelProps, groupProps, errorMsg, helperText, tid, children: /* @__PURE__ */ jsx135("div", { ...trussProps86(getSelectCardOptionsCss({
21370
+ return /* @__PURE__ */ jsx135(LabeledGroupField, { label, tooltip, labelStyle, labelProps, groupProps, errorMsg, helperText, tid, children: /* @__PURE__ */ jsx135("div", { ...trussProps86(getSelectCardOptionsCss({
21306
21371
  view,
21307
21372
  hasDescription,
21308
21373
  layout,
@@ -21516,6 +21581,7 @@ function NumberField(props) {
21516
21581
  readOnly,
21517
21582
  type,
21518
21583
  label,
21584
+ tooltip,
21519
21585
  onBlur,
21520
21586
  onFocus,
21521
21587
  errorMsg,
@@ -21675,7 +21741,7 @@ function NumberField(props) {
21675
21741
  onFocus,
21676
21742
  errorMsg,
21677
21743
  helperText,
21678
- tooltip: resolveTooltip(disabled, void 0, readOnly),
21744
+ tooltip: resolveTooltip(disabled, tooltip, readOnly),
21679
21745
  ...proposalProps,
21680
21746
  ...otherProps
21681
21747
  }
@@ -21758,6 +21824,7 @@ function RadioGroupField(props) {
21758
21824
  errorMsg,
21759
21825
  helperText,
21760
21826
  layout = "vertical",
21827
+ tooltip,
21761
21828
  ...otherProps
21762
21829
  } = props;
21763
21830
  const name = useMemo34(() => `radio-group-${++nextNameId}`, []);
@@ -21791,7 +21858,7 @@ function RadioGroupField(props) {
21791
21858
  justifyContent: "jcsb"
21792
21859
  } : {}
21793
21860
  }), ...tid, children: [
21794
- /* @__PURE__ */ jsx143(Label, { label, ...labelProps, ...tid.label, suffix: labelSuffix, hidden: labelStyle === "hidden" }),
21861
+ /* @__PURE__ */ jsx143(Label, { label, ...labelProps, ...tid.label, suffix: labelSuffix, tooltip, hidden: labelStyle === "hidden" }),
21795
21862
  /* @__PURE__ */ jsxs79("div", { ...radioGroupProps, children: [
21796
21863
  /* @__PURE__ */ jsx143("div", { ...trussProps88({
21797
21864
  display: "df",
@@ -22093,7 +22160,7 @@ function RichTextFieldImpl(props) {
22093
22160
  maxWidth: "maxw_550px"
22094
22161
  } : {}
22095
22162
  }), children: [
22096
- label && /* @__PURE__ */ jsx146(Label, { labelProps: {}, label }),
22163
+ label && /* @__PURE__ */ jsx146(Label, { labelProps: {}, label, tooltip: props.tooltip }),
22097
22164
  /* @__PURE__ */ jsxs80("div", { className: "beam-trix-editor", children: [
22098
22165
  /* @__PURE__ */ jsx146("input", { type: "hidden", id: `input-${id}`, value }),
22099
22166
  createElement4("trix-editor", {
@@ -22116,7 +22183,7 @@ function RichTextFieldImpl(props) {
22116
22183
  maxWidth: "maxw_550px"
22117
22184
  } : {}
22118
22185
  }), children: [
22119
- label && /* @__PURE__ */ jsx146(Label, { label }),
22186
+ label && /* @__PURE__ */ jsx146(Label, { label, tooltip: props.tooltip }),
22120
22187
  /* @__PURE__ */ jsx146("div", { ...trussProps89({
22121
22188
  minHeight: "mh_120px",
22122
22189
  backgroundColor: ["bgColor_var", {
@@ -22261,6 +22328,7 @@ function SelectCardGroup(props) {
22261
22328
  } = usePresentationContext();
22262
22329
  const {
22263
22330
  label,
22331
+ tooltip,
22264
22332
  labelStyle = fieldProps?.labelStyle ?? "above",
22265
22333
  value,
22266
22334
  options,
@@ -22289,7 +22357,7 @@ function SelectCardGroup(props) {
22289
22357
  label,
22290
22358
  isDisabled
22291
22359
  }, state);
22292
- return /* @__PURE__ */ jsx149(LabeledGroupField, { label, labelStyle, labelProps, groupProps: radioGroupProps, errorMsg, helperText, tid, children: /* @__PURE__ */ jsx149("div", { ...trussProps90(getSelectCardOptionsCss({
22360
+ return /* @__PURE__ */ jsx149(LabeledGroupField, { label, tooltip, labelStyle, labelProps, groupProps: radioGroupProps, errorMsg, helperText, tid, children: /* @__PURE__ */ jsx149("div", { ...trussProps90(getSelectCardOptionsCss({
22293
22361
  view,
22294
22362
  hasDescription,
22295
22363
  layout,
@@ -22624,6 +22692,7 @@ function TextAreaField(props) {
22624
22692
  preventNewLines,
22625
22693
  onEnter,
22626
22694
  maxLines,
22695
+ tooltip,
22627
22696
  ...otherProps
22628
22697
  } = props;
22629
22698
  const { effectiveValue, proposalProps } = useAiProposal(value, proposedValue);
@@ -22663,7 +22732,7 @@ function TextAreaField(props) {
22663
22732
  inputRef,
22664
22733
  inputWrapRef,
22665
22734
  textAreaMinHeight: preventNewLines ? 0 : void 0,
22666
- tooltip: resolveTooltip(disabled, void 0, readOnly),
22735
+ tooltip: resolveTooltip(disabled, tooltip, readOnly),
22667
22736
  ...proposalProps
22668
22737
  }
22669
22738
  );
@@ -22731,6 +22800,7 @@ function TextField(props) {
22731
22800
  onEnter,
22732
22801
  onEscapeBubble,
22733
22802
  hideErrorMessage,
22803
+ tooltip,
22734
22804
  ...otherProps
22735
22805
  } = props;
22736
22806
  const { effectiveValue, proposalProps } = useAiProposal(value, proposedValue);
@@ -22773,7 +22843,7 @@ function TextField(props) {
22773
22843
  labelProps,
22774
22844
  inputProps,
22775
22845
  inputRef,
22776
- tooltip: resolveTooltip(disabled, void 0, readOnly),
22846
+ tooltip: resolveTooltip(disabled, tooltip, readOnly),
22777
22847
  hideErrorMessage,
22778
22848
  ...proposalProps
22779
22849
  }
@@ -22843,6 +22913,7 @@ function ToggleChipGroup(props) {
22843
22913
  const {
22844
22914
  values,
22845
22915
  label,
22916
+ tooltip,
22846
22917
  labelStyle = fieldProps?.labelStyle ?? "above",
22847
22918
  options,
22848
22919
  required,
@@ -22871,7 +22942,7 @@ function ToggleChipGroup(props) {
22871
22942
  justifyContent: "jcsb"
22872
22943
  } : {}
22873
22944
  }), children: [
22874
- /* @__PURE__ */ jsx158(Label, { label, ...labelProps, hidden: labelStyle === "hidden", inline: labelStyle !== "above", suffix: labelSuffix }),
22945
+ /* @__PURE__ */ jsx158(Label, { label, ...labelProps, ...tid.label, hidden: labelStyle === "hidden", inline: labelStyle !== "above", suffix: labelSuffix, tooltip }),
22875
22946
  /* @__PURE__ */ jsx158("div", { ...trussProps92({
22876
22947
  display: "df",
22877
22948
  gap: "g_1",