braid-design-system 34.2.0 → 34.4.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/lib/components/Autosuggest/Autosuggest.playroom.d.cts +2 -2
  3. package/dist/lib/components/Autosuggest/Autosuggest.playroom.d.mts +2 -2
  4. package/dist/lib/components/Box/BoxRenderer.d.cts +2 -2
  5. package/dist/lib/components/Box/BoxRenderer.d.mts +2 -2
  6. package/dist/lib/components/BraidTestProvider/BraidTestProvider.d.cts +2 -2
  7. package/dist/lib/components/BraidTestProvider/BraidTestProvider.d.mts +2 -2
  8. package/dist/lib/components/Button/Button.cjs +9 -24
  9. package/dist/lib/components/Button/Button.css.cjs +2 -25
  10. package/dist/lib/components/Button/Button.css.mjs +4 -26
  11. package/dist/lib/components/Button/Button.d.cts +1 -0
  12. package/dist/lib/components/Button/Button.d.mts +2 -0
  13. package/dist/lib/components/Button/Button.mjs +10 -25
  14. package/dist/lib/components/Button/ButtonLoader.cjs +33 -0
  15. package/dist/lib/components/Button/ButtonLoader.css.cjs +12 -0
  16. package/dist/lib/components/Button/ButtonLoader.css.mjs +11 -0
  17. package/dist/lib/components/Button/ButtonLoader.mjs +32 -0
  18. package/dist/lib/components/ButtonIcon/ButtonIcon.cjs +17 -4
  19. package/dist/lib/components/ButtonIcon/ButtonIcon.d.cts +3 -1
  20. package/dist/lib/components/ButtonIcon/ButtonIcon.d.mts +3 -1
  21. package/dist/lib/components/ButtonIcon/ButtonIcon.mjs +17 -4
  22. package/dist/lib/components/Dialog/Dialog.d.mts +1 -0
  23. package/dist/lib/components/Drawer/Drawer.d.mts +1 -0
  24. package/dist/lib/components/Inline/Inline.cjs +4 -4
  25. package/dist/lib/components/Inline/Inline.css.cjs +4 -1
  26. package/dist/lib/components/Inline/Inline.css.mjs +3 -1
  27. package/dist/lib/components/Inline/Inline.d.cts +1 -0
  28. package/dist/lib/components/Inline/Inline.d.mts +1 -0
  29. package/dist/lib/components/Inline/Inline.mjs +5 -5
  30. package/dist/lib/components/MenuItem/useMenuItem.d.mts +1 -0
  31. package/dist/lib/components/MenuRenderer/MenuRenderer.d.mts +1 -0
  32. package/dist/lib/components/MonthPicker/MonthPicker.d.cts +2 -2
  33. package/dist/lib/components/MonthPicker/MonthPicker.d.mts +2 -2
  34. package/dist/lib/components/RadioGroup/RadioGroup.d.cts +2 -2
  35. package/dist/lib/components/RadioGroup/RadioGroup.d.mts +2 -2
  36. package/dist/lib/components/Stepper/StepperContext.d.mts +1 -0
  37. package/dist/lib/components/Tag/Tag.playroom.d.cts +2 -2
  38. package/dist/lib/components/Tag/Tag.playroom.d.mts +2 -2
  39. package/dist/lib/components/TextDropdown/TextDropdown.d.cts +2 -2
  40. package/dist/lib/components/TextDropdown/TextDropdown.d.mts +2 -2
  41. package/dist/lib/components/TextLink/TextLink.d.mts +1 -0
  42. package/dist/lib/components/Textarea/Textarea.cjs +1 -0
  43. package/dist/lib/components/Textarea/Textarea.css.cjs +5 -1
  44. package/dist/lib/components/Textarea/Textarea.css.mjs +5 -2
  45. package/dist/lib/components/Textarea/Textarea.mjs +2 -1
  46. package/dist/lib/components/TooltipRenderer/TooltipRenderer.d.mts +1 -0
  47. package/dist/lib/components/icons/IconContainer.d.mts +1 -0
  48. package/dist/lib/components/private/Field/Field.d.mts +1 -0
  49. package/dist/lib/components/private/FieldGroup/FieldGroup.d.mts +1 -0
  50. package/dist/lib/components/private/Modal/ModalContent.d.mts +1 -0
  51. package/dist/lib/components/private/Typography/Typography.d.mts +1 -0
  52. package/dist/lib/hooks/useFallbackId.cjs +1 -1
  53. package/dist/lib/hooks/useFallbackId.mjs +1 -1
  54. package/dist/lib/playroom/FrameComponent.d.cts +2 -2
  55. package/dist/lib/playroom/FrameComponent.d.mts +2 -2
  56. package/dist/lib/playroom/components/Placeholder/Placeholder.d.cts +2 -2
  57. package/dist/lib/playroom/components/Placeholder/Placeholder.d.mts +2 -2
  58. package/dist/lib/playroom/components/PlaceholderHeader/PlaceholderHeader.d.cts +4 -4
  59. package/dist/lib/playroom/components/PlaceholderHeader/PlaceholderHeader.d.mts +4 -4
  60. package/dist/lib/playroom/playroomState.d.mts +1 -0
  61. package/dist/lib/playroom/snippets/ButtonIcon.cjs +4 -0
  62. package/dist/lib/playroom/snippets/ButtonIcon.mjs +4 -0
  63. package/dist/lib/playroom/snippets/Inline.cjs +4 -0
  64. package/dist/lib/playroom/snippets/Inline.mjs +4 -0
  65. package/dist/lib/playroom/snippets/SteppedSection.cjs +1 -1
  66. package/dist/lib/playroom/snippets/SteppedSection.mjs +1 -1
  67. package/dist/lib/themes/baseTokens/nvl.cjs +8 -8
  68. package/dist/lib/themes/baseTokens/nvl.mjs +8 -8
  69. package/package.json +1 -1
@@ -5,7 +5,7 @@ import * as react from "react";
5
5
  import { AllHTMLAttributes, ReactElement } from "react";
6
6
 
7
7
  //#region src/lib/components/ButtonIcon/ButtonIcon.d.ts
8
- declare const buttonIconVariants: Array<Extract<ButtonStyleProps['variant'], 'soft' | 'transparent'>>;
8
+ declare const buttonIconVariants: Array<Extract<ButtonStyleProps['variant'], 'soft' | 'transparent' | 'solid'>>;
9
9
  declare const buttonIconTones: Array<Extract<ButtonStyleProps['tone'], 'neutral' | 'formAccent'>>;
10
10
  declare const buttonIconSizes: readonly ["small", "standard", "large"];
11
11
  type ButtonIconSize = (typeof buttonIconSizes)[number];
@@ -25,7 +25,9 @@ interface ButtonIconProps {
25
25
  'aria-haspopup'?: NativeButtonProps['aria-haspopup'];
26
26
  'aria-expanded'?: NativeButtonProps['aria-expanded'];
27
27
  'aria-describedby'?: NativeButtonProps['aria-describedby'];
28
+ 'aria-pressed'?: NativeButtonProps['aria-pressed'];
28
29
  tabIndex?: number;
30
+ loading?: boolean;
29
31
  data?: DataAttributeMap;
30
32
  bleed?: boolean;
31
33
  tooltipPlacement?: 'bottom' | 'top';
@@ -4,6 +4,7 @@ import { useFallbackId } from "../../hooks/useFallbackId.mjs";
4
4
  import { Text } from "../Text/Text.mjs";
5
5
  import { iconContainerSize, iconSize } from "../../hooks/useIcon/index.mjs";
6
6
  import { Bleed } from "../Bleed/Bleed.mjs";
7
+ import { ButtonLoader } from "../Button/ButtonLoader.mjs";
7
8
  import { ButtonOverlays, useButtonStyles } from "../Button/Button.mjs";
8
9
  import { TooltipRenderer } from "../TooltipRenderer/TooltipRenderer.mjs";
9
10
  import { button } from "./ButtonIcon.css.mjs";
@@ -12,7 +13,11 @@ import { cloneElement, forwardRef } from "react";
12
13
  import { jsx, jsxs } from "react/jsx-runtime";
13
14
 
14
15
  //#region src/lib/components/ButtonIcon/ButtonIcon.tsx
15
- const buttonIconVariants = ["soft", "transparent"];
16
+ const buttonIconVariants = [
17
+ "soft",
18
+ "transparent",
19
+ "solid"
20
+ ];
16
21
  const buttonIconTones = ["neutral", "formAccent"];
17
22
  const buttonIconSizes = [
18
23
  "small",
@@ -24,13 +29,16 @@ const padding = {
24
29
  standard: "xsmall",
25
30
  large: "xsmall"
26
31
  };
27
- const ButtonIconContent = forwardRef(({ icon, label, id, size = "standard", tone = "neutral", variant = "soft", type = "button", bleed, tooltipPlacement, onClick, onMouseDown, onKeyUp, onKeyDown, "aria-haspopup": ariaHasPopUp, "aria-expanded": ariaExpanded, "aria-describedby": ariaDescribedBy, tabIndex, data, ...restProps }, forwardedRef) => {
32
+ const ButtonIconContent = forwardRef(({ icon, label, id, size = "standard", tone = "neutral", variant = "soft", type = "button", bleed, tooltipPlacement, loading, onClick, onMouseDown, onKeyUp, onKeyDown, "aria-haspopup": ariaHasPopUp, "aria-expanded": ariaExpanded, "aria-describedby": ariaDescribedBy, "aria-pressed": ariaPressed, tabIndex, data, ...restProps }, forwardedRef) => {
28
33
  const { root, content } = useButtonStyles({
29
34
  variant,
30
35
  tone,
36
+ loading,
31
37
  size: size === "small" ? "small" : "standard",
32
38
  radius: "full"
33
39
  });
40
+ const fallbackIconTone = variant === "solid" ? "neutral" : tone;
41
+ const resolvedIconTone = icon.props.tone || fallbackIconTone;
34
42
  assert(icon && icon.props.size === void 0, "Icons cannot set the 'size' prop when passed to a ButtonIcon component");
35
43
  const button$1 = /* @__PURE__ */ jsx(Box, {
36
44
  component: "button",
@@ -42,6 +50,7 @@ const ButtonIconContent = forwardRef(({ icon, label, id, size = "standard", tone
42
50
  "aria-haspopup": ariaHasPopUp,
43
51
  "aria-expanded": ariaExpanded,
44
52
  "aria-describedby": ariaDescribedBy,
53
+ "aria-pressed": ariaPressed,
45
54
  onClick,
46
55
  onKeyUp,
47
56
  onKeyDown,
@@ -49,6 +58,7 @@ const ButtonIconContent = forwardRef(({ icon, label, id, size = "standard", tone
49
58
  maxWidth: "content",
50
59
  tabIndex,
51
60
  ...root,
61
+ disabled: loading,
52
62
  className: [root.className, button],
53
63
  ...buildDataAttributes_default({
54
64
  data,
@@ -70,8 +80,11 @@ const ButtonIconContent = forwardRef(({ icon, label, id, size = "standard", tone
70
80
  size,
71
81
  crop: true
72
82
  }),
73
- children: cloneElement(icon, {
74
- tone: icon.props.tone || tone,
83
+ children: loading ? /* @__PURE__ */ jsx(ButtonLoader, {
84
+ tone: resolvedIconTone,
85
+ size: "fill"
86
+ }) : cloneElement(icon, {
87
+ tone: resolvedIconTone,
75
88
  size: "fill"
76
89
  })
77
90
  })]
@@ -1,5 +1,6 @@
1
1
  import { ModalProps } from "../private/Modal/Modal.mjs";
2
2
  import { FC } from "react";
3
+
3
4
  //#region src/lib/components/Dialog/Dialog.d.ts
4
5
  declare const modalStyle: {
5
6
  readonly position: "center";
@@ -1,5 +1,6 @@
1
1
  import { ModalProps } from "../private/Modal/Modal.mjs";
2
2
  import { FC } from "react";
3
+
3
4
  //#region src/lib/components/Drawer/Drawer.d.ts
4
5
  declare const validWidths: readonly ["small", "medium", "large"];
5
6
  declare const validPositions: readonly ["left", "right"];
@@ -8,7 +8,7 @@ assert = require_runtime.__toESM(assert);
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
9
 
10
10
  //#region src/lib/components/Inline/Inline.tsx
11
- const Inline = ({ space = "none", align, alignY, collapseBelow, reverse = false, component = "div", data, children, ...restProps }) => {
11
+ const Inline = ({ space = "none", align, alignY, collapseBelow, reverse = false, component = "div", data, children, noWrap = false, ...restProps }) => {
12
12
  (0, assert.default)(!reverse || reverse && collapseBelow, "The `reverse` prop should only be applied in combination with the `collapseBelow` prop.\nIf you do not want to collapse responsively, it is recommended to reorder the content directly.\n\nSee documentation for details: https://seek-oss.github.io/braid-design-system/components/Inline#reversing-the-order");
13
13
  const { collapseMobile, collapseTablet, collapseDesktop, collapsibleAlignmentProps } = require_collapsibleAlignmentProps.resolveCollapsibleAlignmentProps({
14
14
  align,
@@ -21,13 +21,13 @@ const Inline = ({ space = "none", align, alignY, collapseBelow, reverse = false,
21
21
  component,
22
22
  ...collapsibleAlignmentProps,
23
23
  gap: space,
24
- flexWrap: "wrap",
25
- className: collapseBelow ? {
24
+ flexWrap: noWrap ? "nowrap" : "wrap",
25
+ className: [collapseBelow ? {
26
26
  [require_Inline_css.fitContentMobile]: !collapseMobile,
27
27
  [require_Inline_css.fitContentTablet]: !collapseTablet,
28
28
  [require_Inline_css.fitContentDesktop]: !collapseDesktop,
29
29
  [require_Inline_css.fitContentWide]: true
30
- } : require_Inline_css.fitContentMobile,
30
+ } : require_Inline_css.fitContentMobile, noWrap && require_Inline_css.preventShrink],
31
31
  ...require_buildDataAttributes.default({
32
32
  data,
33
33
  validateRestProps: restProps
@@ -9,6 +9,7 @@ const fitContentMobile = (0, _vanilla_extract_css.style)({}, "fitContentMobile")
9
9
  const fitContentTablet = (0, _vanilla_extract_css.style)({}, "fitContentTablet");
10
10
  const fitContentDesktop = (0, _vanilla_extract_css.style)({}, "fitContentDesktop");
11
11
  const fitContentWide = (0, _vanilla_extract_css.style)({}, "fitContentWide");
12
+ const preventShrink = (0, _vanilla_extract_css.style)({}, "preventShrink");
12
13
  const fitContentStyleRule = {
13
14
  flexBasis: "auto",
14
15
  width: "auto",
@@ -18,6 +19,7 @@ const fitContentStyleRule = {
18
19
  (0, _vanilla_extract_css.globalStyle)(`${fitContentTablet} > *`, require_responsiveStyle.responsiveStyle({ tablet: fitContentStyleRule }));
19
20
  (0, _vanilla_extract_css.globalStyle)(`${fitContentDesktop} > *`, require_responsiveStyle.responsiveStyle({ desktop: fitContentStyleRule }));
20
21
  (0, _vanilla_extract_css.globalStyle)(`${fitContentWide} > *`, require_responsiveStyle.responsiveStyle({ wide: fitContentStyleRule }));
22
+ (0, _vanilla_extract_css.globalStyle)(`${preventShrink} > *`, { flexShrink: 0 });
21
23
  (0, _vanilla_extract_css_fileScope.endFileScope)();
22
24
 
23
25
  //#endregion
@@ -25,4 +27,5 @@ exports.fitContentDesktop = fitContentDesktop;
25
27
  exports.fitContentMobile = fitContentMobile;
26
28
  exports.fitContentStyleRule = fitContentStyleRule;
27
29
  exports.fitContentTablet = fitContentTablet;
28
- exports.fitContentWide = fitContentWide;
30
+ exports.fitContentWide = fitContentWide;
31
+ exports.preventShrink = preventShrink;
@@ -8,6 +8,7 @@ const fitContentMobile = style({}, "fitContentMobile");
8
8
  const fitContentTablet = style({}, "fitContentTablet");
9
9
  const fitContentDesktop = style({}, "fitContentDesktop");
10
10
  const fitContentWide = style({}, "fitContentWide");
11
+ const preventShrink = style({}, "preventShrink");
11
12
  const fitContentStyleRule = {
12
13
  flexBasis: "auto",
13
14
  width: "auto",
@@ -17,7 +18,8 @@ globalStyle(`${fitContentMobile} > *`, fitContentStyleRule);
17
18
  globalStyle(`${fitContentTablet} > *`, responsiveStyle({ tablet: fitContentStyleRule }));
18
19
  globalStyle(`${fitContentDesktop} > *`, responsiveStyle({ desktop: fitContentStyleRule }));
19
20
  globalStyle(`${fitContentWide} > *`, responsiveStyle({ wide: fitContentStyleRule }));
21
+ globalStyle(`${preventShrink} > *`, { flexShrink: 0 });
20
22
  endFileScope();
21
23
 
22
24
  //#endregion
23
- export { fitContentDesktop, fitContentMobile, fitContentStyleRule, fitContentTablet, fitContentWide };
25
+ export { fitContentDesktop, fitContentMobile, fitContentStyleRule, fitContentTablet, fitContentWide, preventShrink };
@@ -11,6 +11,7 @@ type InlineProps = CollapsibleAlignmentProps & {
11
11
  component?: (typeof validInlineComponents)[number];
12
12
  data?: DataAttributeMap;
13
13
  children: ReactNodeNoStrings;
14
+ noWrap?: boolean;
14
15
  };
15
16
  declare const Inline: FC<InlineProps>;
16
17
  //#endregion
@@ -11,6 +11,7 @@ type InlineProps = CollapsibleAlignmentProps & {
11
11
  component?: (typeof validInlineComponents)[number];
12
12
  data?: DataAttributeMap;
13
13
  children: ReactNodeNoStrings;
14
+ noWrap?: boolean;
14
15
  };
15
16
  declare const Inline: FC<InlineProps>;
16
17
  //#endregion
@@ -1,12 +1,12 @@
1
1
  import buildDataAttributes_default from "../private/buildDataAttributes.mjs";
2
2
  import { Box } from "../Box/Box.mjs";
3
- import { fitContentDesktop, fitContentMobile, fitContentTablet, fitContentWide } from "./Inline.css.mjs";
3
+ import { fitContentDesktop, fitContentMobile, fitContentTablet, fitContentWide, preventShrink } from "./Inline.css.mjs";
4
4
  import { resolveCollapsibleAlignmentProps } from "../../utils/collapsibleAlignmentProps.mjs";
5
5
  import assert from "assert";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
 
8
8
  //#region src/lib/components/Inline/Inline.tsx
9
- const Inline = ({ space = "none", align, alignY, collapseBelow, reverse = false, component = "div", data, children, ...restProps }) => {
9
+ const Inline = ({ space = "none", align, alignY, collapseBelow, reverse = false, component = "div", data, children, noWrap = false, ...restProps }) => {
10
10
  assert(!reverse || reverse && collapseBelow, "The `reverse` prop should only be applied in combination with the `collapseBelow` prop.\nIf you do not want to collapse responsively, it is recommended to reorder the content directly.\n\nSee documentation for details: https://seek-oss.github.io/braid-design-system/components/Inline#reversing-the-order");
11
11
  const { collapseMobile, collapseTablet, collapseDesktop, collapsibleAlignmentProps } = resolveCollapsibleAlignmentProps({
12
12
  align,
@@ -19,13 +19,13 @@ const Inline = ({ space = "none", align, alignY, collapseBelow, reverse = false,
19
19
  component,
20
20
  ...collapsibleAlignmentProps,
21
21
  gap: space,
22
- flexWrap: "wrap",
23
- className: collapseBelow ? {
22
+ flexWrap: noWrap ? "nowrap" : "wrap",
23
+ className: [collapseBelow ? {
24
24
  [fitContentMobile]: !collapseMobile,
25
25
  [fitContentTablet]: !collapseTablet,
26
26
  [fitContentDesktop]: !collapseDesktop,
27
27
  [fitContentWide]: true
28
- } : fitContentMobile,
28
+ } : fitContentMobile, noWrap && preventShrink],
29
29
  ...buildDataAttributes_default({
30
30
  data,
31
31
  validateRestProps: restProps
@@ -1,6 +1,7 @@
1
1
  import { DataAttributeMap } from "../private/buildDataAttributes.mjs";
2
2
  import { BadgeProps } from "../Badge/Badge.mjs";
3
3
  import { ReactElement, ReactNode } from "react";
4
+
4
5
  //#region src/lib/components/MenuItem/useMenuItem.d.ts
5
6
  type MenuItemTone = 'critical' | undefined;
6
7
  interface UseMenuItemProps {
@@ -3,6 +3,7 @@ import { DataAttributeMap } from "../private/buildDataAttributes.mjs";
3
3
  import { PopoverProps } from "../private/Popover/Popover.mjs";
4
4
  import { width as width$1 } from "./MenuRenderer.css.mjs";
5
5
  import { FC, KeyboardEvent, MouseEvent, ReactNode, Ref } from "react";
6
+
6
7
  //#region src/lib/components/MenuRenderer/MenuRenderer.d.ts
7
8
  interface TriggerProps {
8
9
  'aria-haspopup': boolean;
@@ -1,5 +1,5 @@
1
1
  import { FieldGroupBaseProps, FieldLabelVariant } from "../private/FieldGroup/FieldGroup.cjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react from "react";
3
3
 
4
4
  //#region src/lib/components/MonthPicker/MonthPicker.d.ts
5
5
  interface MonthPickerValue {
@@ -39,7 +39,7 @@ declare const MonthPicker: {
39
39
  tabIndex,
40
40
  monthNames,
41
41
  ...restProps
42
- }: MonthPickerProps): react_jsx_runtime0.JSX.Element;
42
+ }: MonthPickerProps): react.JSX.Element;
43
43
  displayName: string;
44
44
  };
45
45
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { FieldGroupBaseProps, FieldLabelVariant } from "../private/FieldGroup/FieldGroup.mjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react from "react";
3
3
 
4
4
  //#region src/lib/components/MonthPicker/MonthPicker.d.ts
5
5
  interface MonthPickerValue {
@@ -39,7 +39,7 @@ declare const MonthPicker: {
39
39
  tabIndex,
40
40
  monthNames,
41
41
  ...restProps
42
- }: MonthPickerProps): react_jsx_runtime0.JSX.Element;
42
+ }: MonthPickerProps): react.JSX.Element;
43
43
  displayName: string;
44
44
  };
45
45
  //#endregion
@@ -1,8 +1,8 @@
1
1
  import { InlineFieldProps } from "../private/InlineField/InlineField.cjs";
2
2
  import { FieldGroupBaseProps, FieldLabelVariant } from "../private/FieldGroup/FieldGroup.cjs";
3
3
  import { RadioItemProps } from "./RadioItem.cjs";
4
+ import * as react from "react";
4
5
  import { FormEvent, ReactElement } from "react";
5
- import * as react_jsx_runtime0 from "react/jsx-runtime";
6
6
 
7
7
  //#region src/lib/components/RadioGroup/RadioGroup.d.ts
8
8
  type RadioGroupBaseProps<Value = NonNullable<string | number>> = FieldGroupBaseProps & {
@@ -25,7 +25,7 @@ declare const RadioGroup: {
25
25
  tone,
26
26
  size,
27
27
  ...props
28
- }: RadioGroupProps): react_jsx_runtime0.JSX.Element;
28
+ }: RadioGroupProps): react.JSX.Element;
29
29
  displayName: string;
30
30
  };
31
31
  //#endregion
@@ -1,8 +1,8 @@
1
1
  import { InlineFieldProps } from "../private/InlineField/InlineField.mjs";
2
2
  import { FieldGroupBaseProps, FieldLabelVariant } from "../private/FieldGroup/FieldGroup.mjs";
3
3
  import { RadioItemProps } from "./RadioItem.mjs";
4
+ import * as react from "react";
4
5
  import { FormEvent, ReactElement } from "react";
5
- import * as react_jsx_runtime0 from "react/jsx-runtime";
6
6
 
7
7
  //#region src/lib/components/RadioGroup/RadioGroup.d.ts
8
8
  type RadioGroupBaseProps<Value = NonNullable<string | number>> = FieldGroupBaseProps & {
@@ -25,7 +25,7 @@ declare const RadioGroup: {
25
25
  tone,
26
26
  size,
27
27
  ...props
28
- }: RadioGroupProps): react_jsx_runtime0.JSX.Element;
28
+ }: RadioGroupProps): react.JSX.Element;
29
29
  displayName: string;
30
30
  };
31
31
  //#endregion
@@ -1,5 +1,6 @@
1
1
  import { tone as tone$1 } from "./Stepper.css.mjs";
2
2
  import { KeyboardEvent, ReactNode } from "react";
3
+
3
4
  //#region src/lib/components/Stepper/StepperContext.d.ts
4
5
  type StepperMode = 'linear' | 'non-linear';
5
6
  type StepperTone = Exclude<keyof typeof tone$1, 'formAccent'>;
@@ -1,11 +1,11 @@
1
1
  import { TagProps } from "./Tag.cjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react from "react";
3
3
 
4
4
  //#region src/lib/components/Tag/Tag.playroom.d.ts
5
5
  declare const Tag: ({
6
6
  icon,
7
7
  size,
8
8
  ...restProps
9
- }: TagProps) => react_jsx_runtime0.JSX.Element;
9
+ }: TagProps) => react.JSX.Element;
10
10
  //#endregion
11
11
  export { Tag };
@@ -1,11 +1,11 @@
1
1
  import { TagProps } from "./Tag.mjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react from "react";
3
3
 
4
4
  //#region src/lib/components/Tag/Tag.playroom.d.ts
5
5
  declare const Tag: ({
6
6
  icon,
7
7
  size,
8
8
  ...restProps
9
- }: TagProps) => react_jsx_runtime0.JSX.Element;
9
+ }: TagProps) => react.JSX.Element;
10
10
  //#endregion
11
11
  export { Tag };
@@ -1,5 +1,5 @@
1
1
  import { DataAttributeMap } from "../private/buildDataAttributes.cjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react from "react";
3
3
 
4
4
  //#region src/lib/components/TextDropdown/TextDropdown.d.ts
5
5
  interface TextDropdownOption<Value> {
@@ -27,6 +27,6 @@ declare function TextDropdown<Value>({
27
27
  data,
28
28
  tabIndex,
29
29
  ...restProps
30
- }: TextDropdownProps<Value>): react_jsx_runtime0.JSX.Element;
30
+ }: TextDropdownProps<Value>): react.JSX.Element;
31
31
  //#endregion
32
32
  export { TextDropdown, TextDropdownProps };
@@ -1,5 +1,5 @@
1
1
  import { DataAttributeMap } from "../private/buildDataAttributes.mjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react from "react";
3
3
 
4
4
  //#region src/lib/components/TextDropdown/TextDropdown.d.ts
5
5
  interface TextDropdownOption<Value> {
@@ -27,6 +27,6 @@ declare function TextDropdown<Value>({
27
27
  data,
28
28
  tabIndex,
29
29
  ...restProps
30
- }: TextDropdownProps<Value>): react_jsx_runtime0.JSX.Element;
30
+ }: TextDropdownProps<Value>): react.JSX.Element;
31
31
  //#endregion
32
32
  export { TextDropdown, TextDropdownProps };
@@ -3,6 +3,7 @@ import { DataAttributeMap } from "../private/buildDataAttributes.mjs";
3
3
  import { UseIconProps } from "../../hooks/useIcon/index.mjs";
4
4
  import * as react from "react";
5
5
  import { ReactElement } from "react";
6
+
6
7
  //#region src/lib/components/TextLink/TextLink.d.ts
7
8
  interface TextLinkStyles {
8
9
  weight?: 'regular' | 'weak';
@@ -52,6 +52,7 @@ const Textarea = (0, react.forwardRef)(({ value, onChange, onBlur, onFocus, onPa
52
52
  zIndex: 0,
53
53
  background,
54
54
  borderRadius,
55
+ className: require_Textarea_css.focusRing,
55
56
  children: [
56
57
  hasHighlights ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Box.Box, {
57
58
  ref: highlightsRef,
@@ -1,5 +1,6 @@
1
1
  const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
2
2
  const require_vars_css = require('../../themes/vars.css.cjs');
3
+ const require_outlineStyle = require('../../css/outlineStyle.cjs');
3
4
  const require_fieldPaddingX = require('../private/Field/fieldPaddingX.cjs');
4
5
  let _vanilla_extract_css_fileScope = require("@vanilla-extract/css/fileScope");
5
6
  let _vanilla_extract_css = require("@vanilla-extract/css");
@@ -9,8 +10,10 @@ let _vanilla_extract_css = require("@vanilla-extract/css");
9
10
  const field = (0, _vanilla_extract_css.style)({
10
11
  resize: "vertical",
11
12
  background: "transparent",
12
- minHeight: require_vars_css.vars.touchableSize
13
+ minHeight: require_vars_css.vars.touchableSize,
14
+ outline: "none"
13
15
  }, "field");
16
+ const focusRing = (0, _vanilla_extract_css.style)(require_outlineStyle.outlineStyle("&:focus-within"), "focusRing");
14
17
  const highlights = (0, _vanilla_extract_css.style)({
15
18
  color: "transparent !important",
16
19
  wordBreak: "break-word",
@@ -33,5 +36,6 @@ const scrollbarBorderOffset = (0, _vanilla_extract_css.style)({ borderRight: `${
33
36
  //#endregion
34
37
  exports.clipScrollBar = clipScrollBar;
35
38
  exports.field = field;
39
+ exports.focusRing = focusRing;
36
40
  exports.highlights = highlights;
37
41
  exports.scrollbarBorderOffset = scrollbarBorderOffset;
@@ -1,4 +1,5 @@
1
1
  import { vars } from "../../themes/vars.css.mjs";
2
+ import { outlineStyle } from "../../css/outlineStyle.mjs";
2
3
  import { fieldPaddingX } from "../private/Field/fieldPaddingX.mjs";
3
4
  import { endFileScope, setFileScope } from "@vanilla-extract/css/fileScope";
4
5
  import { style } from "@vanilla-extract/css";
@@ -8,8 +9,10 @@ setFileScope("src/lib/components/Textarea/Textarea.css.ts", "braid-design-system
8
9
  const field = style({
9
10
  resize: "vertical",
10
11
  background: "transparent",
11
- minHeight: vars.touchableSize
12
+ minHeight: vars.touchableSize,
13
+ outline: "none"
12
14
  }, "field");
15
+ const focusRing = style(outlineStyle("&:focus-within"), "focusRing");
13
16
  const highlights = style({
14
17
  color: "transparent !important",
15
18
  wordBreak: "break-word",
@@ -30,4 +33,4 @@ const scrollbarBorderOffset = style({ borderRight: `${vars.borderWidth.standard}
30
33
  endFileScope();
31
34
 
32
35
  //#endregion
33
- export { clipScrollBar, field, highlights, scrollbarBorderOffset };
36
+ export { clipScrollBar, field, focusRing, highlights, scrollbarBorderOffset };
@@ -2,7 +2,7 @@ import { Box } from "../Box/Box.mjs";
2
2
  import { Field } from "../private/Field/Field.mjs";
3
3
  import { getCharacterLimitStatus } from "../private/Field/getCharacterLimitStatus.mjs";
4
4
  import { formatRanges } from "./formatRanges.mjs";
5
- import { clipScrollBar, field, highlights, scrollbarBorderOffset } from "./Textarea.css.mjs";
5
+ import { clipScrollBar, field, focusRing, highlights, scrollbarBorderOffset } from "./Textarea.css.mjs";
6
6
  import { forwardRef, useCallback, useRef, useState } from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
 
@@ -51,6 +51,7 @@ const Textarea = forwardRef(({ value, onChange, onBlur, onFocus, onPaste, placeh
51
51
  zIndex: 0,
52
52
  background,
53
53
  borderRadius,
54
+ className: focusRing,
54
55
  children: [
55
56
  hasHighlights ? /* @__PURE__ */ jsx(Box, {
56
57
  ref: highlightsRef,
@@ -1,6 +1,7 @@
1
1
  import { ReactNodeNoStrings } from "../private/ReactNodeNoStrings.mjs";
2
2
  import { PopoverProps } from "../private/Popover/Popover.mjs";
3
3
  import { FC, ReactNode, RefCallback } from "react";
4
+
4
5
  //#region src/lib/components/TooltipRenderer/TooltipRenderer.d.ts
5
6
  interface TriggerProps {
6
7
  ref: RefCallback<HTMLElement>;
@@ -1,5 +1,6 @@
1
1
  import { UseIconProps } from "../../hooks/useIcon/index.mjs";
2
2
  import { ReactElement } from "react";
3
+
3
4
  //#region src/lib/components/icons/IconContainer.d.ts
4
5
  type IconContainerProps = UseIconProps;
5
6
  //#endregion
@@ -2,6 +2,7 @@ import { DataAttributeMap } from "../buildDataAttributes.mjs";
2
2
  import { FieldLabelProps } from "../../FieldLabel/FieldLabel.mjs";
3
3
  import { FieldMessageProps } from "../../FieldMessage/FieldMessage.mjs";
4
4
  import { AllHTMLAttributes, ReactNode } from "react";
5
+
5
6
  //#region src/lib/components/private/Field/Field.d.ts
6
7
  type FormElementProps = AllHTMLAttributes<HTMLFormElement>;
7
8
  type FieldLabelVariant = {
@@ -2,6 +2,7 @@ import { DataAttributeMap } from "../buildDataAttributes.mjs";
2
2
  import { FieldLabelProps } from "../../FieldLabel/FieldLabel.mjs";
3
3
  import { FieldMessageProps } from "../../FieldMessage/FieldMessage.mjs";
4
4
  import { AllHTMLAttributes } from "react";
5
+
5
6
  //#region src/lib/components/private/FieldGroup/FieldGroup.d.ts
6
7
  type FormElementProps = AllHTMLAttributes<HTMLFormElement>;
7
8
  type FieldLabelVariant = {
@@ -2,6 +2,7 @@ import { ReactNodeNoStrings } from "../ReactNodeNoStrings.mjs";
2
2
  import { DataAttributeMap } from "../buildDataAttributes.mjs";
3
3
  import { BoxProps } from "../../Box/Box.mjs";
4
4
  import { ReactNode, Ref } from "react";
5
+
5
6
  //#region src/lib/components/private/Modal/ModalContent.d.ts
6
7
  type ModalContentCommonProps = {
7
8
  id?: string;
@@ -2,6 +2,7 @@ import { DataAttributeMap } from "../buildDataAttributes.mjs";
2
2
  import { BoxProps } from "../../Box/Box.mjs";
3
3
  import { UseIconProps } from "../../../hooks/useIcon/index.mjs";
4
4
  import { ReactElement, ReactNode } from "react";
5
+
5
6
  //#region src/lib/components/private/Typography/Typography.d.ts
6
7
  interface TypographyProps extends Pick<BoxProps, 'id' | 'component'> {
7
8
  children?: ReactNode;
@@ -4,7 +4,7 @@ let react = require("react");
4
4
  //#region src/lib/hooks/useFallbackId.ts
5
5
  const useFallbackId = (id) => {
6
6
  const fallbackId = (0, react.useId)();
7
- return id || fallbackId;
7
+ return id || `id-${fallbackId}`;
8
8
  };
9
9
 
10
10
  //#endregion
@@ -3,7 +3,7 @@ import { useId } from "react";
3
3
  //#region src/lib/hooks/useFallbackId.ts
4
4
  const useFallbackId = (id) => {
5
5
  const fallbackId = useId();
6
- return id || fallbackId;
6
+ return id || `id-${fallbackId}`;
7
7
  };
8
8
 
9
9
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { BraidTheme } from "../themes/makeBraidTheme.cjs";
2
+ import * as react from "react";
2
3
  import { ReactNode } from "react";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/lib/playroom/FrameComponent.d.ts
6
6
  interface Props {
@@ -12,6 +12,6 @@ declare const _default: ({
12
12
  theme,
13
13
  children,
14
14
  frameSettings
15
- }: Props) => react_jsx_runtime0.JSX.Element;
15
+ }: Props) => react.JSX.Element;
16
16
  //#endregion
17
17
  export { _default };
@@ -1,6 +1,6 @@
1
1
  import { BraidTheme } from "../themes/makeBraidTheme.mjs";
2
+ import * as react from "react";
2
3
  import { ReactNode } from "react";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/lib/playroom/FrameComponent.d.ts
6
6
  interface Props {
@@ -12,6 +12,6 @@ declare const _default: ({
12
12
  theme,
13
13
  children,
14
14
  frameSettings
15
- }: Props) => react_jsx_runtime0.JSX.Element;
15
+ }: Props) => react.JSX.Element;
16
16
  //#endregion
17
17
  export { _default };
@@ -1,5 +1,5 @@
1
+ import * as react from "react";
1
2
  import { ReactNode } from "react";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/lib/playroom/components/Placeholder/Placeholder.d.ts
5
5
  interface PlaceholderProps {
@@ -17,6 +17,6 @@ declare const Placeholder: ({
17
17
  shape,
18
18
  image,
19
19
  imageSize
20
- }: PlaceholderProps) => react_jsx_runtime0.JSX.Element;
20
+ }: PlaceholderProps) => react.JSX.Element;
21
21
  //#endregion
22
22
  export { Placeholder };
@@ -1,5 +1,5 @@
1
+ import * as react from "react";
1
2
  import { ReactNode } from "react";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/lib/playroom/components/Placeholder/Placeholder.d.ts
5
5
  interface PlaceholderProps {
@@ -17,6 +17,6 @@ declare const Placeholder: ({
17
17
  shape,
18
18
  image,
19
19
  imageSize
20
- }: PlaceholderProps) => react_jsx_runtime0.JSX.Element;
20
+ }: PlaceholderProps) => react.JSX.Element;
21
21
  //#endregion
22
22
  export { Placeholder };
@@ -1,11 +1,11 @@
1
+ import * as react from "react";
1
2
  import { FC } from "react";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/lib/playroom/components/PlaceholderHeader/PlaceholderHeader.d.ts
5
5
  declare const logoForBrand: {
6
- seek: react_jsx_runtime0.JSX.Element;
7
- jobsdb: react_jsx_runtime0.JSX.Element;
8
- jobstreet: react_jsx_runtime0.JSX.Element;
6
+ seek: react.JSX.Element;
7
+ jobsdb: react.JSX.Element;
8
+ jobstreet: react.JSX.Element;
9
9
  };
10
10
  interface PlaceholderHeaderProps {
11
11
  brand?: keyof typeof logoForBrand;