@box/blueprint-web 14.21.0 → 14.22.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.
@@ -140,6 +140,10 @@ export interface ComboboxBaseProps<Multiple extends boolean, FreeInput extends b
140
140
  * The name of the combobox. Submitted with its owning form as part of a name/value pair.
141
141
  */
142
142
  name?: string;
143
+ /**
144
+ * When `true`, the combobox input will be focused on mount.
145
+ */
146
+ autoFocus?: boolean;
143
147
  /**
144
148
  * When `true`, prevents the user from interacting with combobox.
145
149
  */
@@ -12106,7 +12106,7 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
12106
12106
  .bp_trigger_button_module_triggerButton--b9e51.bp_trigger_button_module_large--b9e51.bp_trigger_button_module_startIcon--b9e51{
12107
12107
  padding-left:.625rem;
12108
12108
  }
12109
- .bp_styles_module_splitButton--b9938[data-modern=false]{
12109
+ .bp_styles_module_splitButton--a3588[data-modern=false]{
12110
12110
  --split-button-left-width:100%;
12111
12111
  --split-button-left-gap-margin-inline-end:calc(var(--space-05)/2);
12112
12112
  --split-button-left-skip-right-border-border-inline-end-color:#0000;
@@ -12124,7 +12124,7 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
12124
12124
  --split-button-right-element-secondary-backdrop-filter:none;
12125
12125
  }
12126
12126
 
12127
- .bp_styles_module_splitButton--b9938[data-modern=true]{
12127
+ .bp_styles_module_splitButton--a3588[data-modern=true]{
12128
12128
  --split-button-left-width:100%;
12129
12129
  --split-button-left-gap-margin-inline-end:calc(var(--bp-space-005)/2);
12130
12130
  --split-button-left-skip-right-border-border-inline-end-color:#0000;
@@ -12140,67 +12140,75 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
12140
12140
  --split-button-right-element-secondary-backdrop-filter:blur(16px);
12141
12141
  }
12142
12142
 
12143
- .bp_styles_module_dropdown--b9938[data-modern=false],.bp_styles_module_dropdown--b9938[data-modern=true]{
12143
+ .bp_styles_module_dropdown--a3588[data-modern=false],.bp_styles_module_dropdown--a3588[data-modern=true]{
12144
12144
  --split-button-dropdown-min-width:160px;
12145
12145
  }
12146
12146
 
12147
- .bp_styles_module_splitButton--b9938{
12147
+ .bp_styles_module_splitButton--a3588{
12148
12148
  display:inline-flex;
12149
12149
  position:relative;
12150
12150
  }
12151
- .bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonLeft--b9938{
12151
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonLeft--a3588{
12152
12152
  border-bottom-right-radius:0;
12153
12153
  border-top-right-radius:0;
12154
12154
  padding:var(--split-button-left-element-padding);
12155
12155
  width:var(--split-button-left-width);
12156
12156
  }
12157
- .bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonLeft--b9938.bp_styles_module_gap--b9938{
12157
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonLeft--a3588.bp_styles_module_gap--a3588{
12158
12158
  margin-inline-end:var(--split-button-left-gap-margin-inline-end);
12159
12159
  }
12160
- .bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonLeft--b9938:focus-visible{
12160
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonLeft--a3588:focus-visible{
12161
12161
  z-index:1;
12162
12162
  }
12163
- .bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonLeft--b9938.bp_styles_module_skipRightBorder--b9938{
12163
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonLeft--a3588.bp_styles_module_skipRightBorder--a3588{
12164
12164
  border-inline-end-color:var(--split-button-left-skip-right-border-border-inline-end-color) !important;
12165
12165
  }
12166
- .bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonLeft--b9938.bp_styles_module_skipRightBorder--b9938:focus-visible{
12166
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonLeft--a3588.bp_styles_module_skipRightBorder--a3588:focus-visible{
12167
12167
  border-inline-end-color:var(--split-button-left-skip-right-border-focus-visible-border-inline-end-color) !important;
12168
12168
  }
12169
- .bp_styles_module_splitButton--b9938 .bp_styles_module_loadingButton--b9938{
12169
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_loadingButton--a3588{
12170
12170
  width:100%;
12171
12171
  }
12172
- .bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonRight--b9938{
12172
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonRight--a3588{
12173
12173
  border-end-start-radius:0;
12174
12174
  border-start-start-radius:0;
12175
12175
  padding:var(--split-button-right-element-padding) !important;
12176
12176
  }
12177
- .bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonRight--b9938 svg{
12177
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonRight--a3588 svg{
12178
12178
  height:var(--split-button-right-svg-height);
12179
12179
  width:var(--split-button-right-svg-width);
12180
12180
  }
12181
- .bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonRight--b9938:focus-visible{
12181
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonRight--a3588:focus-visible{
12182
12182
  z-index:1;
12183
12183
  }
12184
- .bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonRight--b9938.bp_styles_module_secondary--b9938{
12184
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonRight--a3588.bp_styles_module_secondary--a3588{
12185
12185
  backdrop-filter:var(--split-button-right-element-secondary-backdrop-filter);
12186
12186
  background:var(--split-button-right-element-secondary-background);
12187
12187
  border-color:var(--split-button-right-element-border-color);
12188
12188
  }
12189
- .bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonRight--b9938.bp_styles_module_secondary--b9938:focus-visible,.bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonRight--b9938.bp_styles_module_secondary--b9938:hover{
12189
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonRight--a3588.bp_styles_module_secondary--a3588:focus-visible,.bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonRight--a3588.bp_styles_module_secondary--a3588:hover{
12190
12190
  background:var(--split-button-right-element-secondary-focus-or-hover-background);
12191
12191
  }
12192
- .bp_styles_module_splitButton--b9938 .bp_styles_module_splitButtonRight--b9938.bp_styles_module_secondary--b9938:active{
12192
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonRight--a3588.bp_styles_module_secondary--a3588:active{
12193
12193
  background:var(--split-button-right-element-secondary-active-background);
12194
12194
  }
12195
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonRight--a3588[data-bp-animated=true] svg{
12196
+ transition-duration:var(--bp-duration-short);
12197
+ transition-property:transform;
12198
+ transition-timing-function:var(--bp-curve-small-on);
12199
+ }
12200
+ .bp_styles_module_splitButton--a3588 .bp_styles_module_splitButtonRight--a3588[data-bp-animated=true]:not(:disabled):hover svg{
12201
+ transform:translateY(2px);
12202
+ }
12195
12203
 
12196
- .bp_styles_module_invisible--b9938{
12204
+ .bp_styles_module_invisible--a3588{
12197
12205
  left:0;
12198
12206
  position:absolute;
12199
12207
  top:0;
12200
12208
  visibility:hidden;
12201
12209
  }
12202
12210
 
12203
- .bp_styles_module_dropdown--b9938{
12211
+ .bp_styles_module_dropdown--a3588{
12204
12212
  min-width:var(--split-button-dropdown-min-width);
12205
12213
  }
12206
12214
  .bp_switch_module_option--e6150[data-modern=false]{
@@ -1,6 +1,5 @@
1
1
  interface SplitTriggerButtonProps {
2
2
  ariaLabel: string;
3
- isOpened: boolean;
4
3
  disabled: boolean;
5
4
  size: 'small' | 'large';
6
5
  variant: 'primary' | 'secondary';
@@ -1,6 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
3
  import { forwardRef } from 'react';
4
+ import '../blueprint-configuration-context/blueprint-configuration-context.js';
5
+ import { useBlueprintConfiguration } from '../blueprint-configuration-context/useBlueprintConfiguration.js';
4
6
  import { TriggerButton } from '../trigger-button/trigger-button.js';
5
7
  import styles from './styles.module.js';
6
8
 
@@ -8,16 +10,16 @@ const SplitTriggerButton = /*#__PURE__*/forwardRef((props, ref) => {
8
10
  const {
9
11
  isInvisible,
10
12
  ariaLabel: dropdownTriggerAriaLabel,
11
- isOpened,
12
13
  disabled,
13
14
  size,
14
15
  variant,
15
16
  ...rest
16
17
  } = props;
18
+ const isAnimationEnabled = useBlueprintConfiguration().componentsWithAnimationEnabled.includes('SplitButton');
17
19
  return jsx(TriggerButton, {
18
20
  ref: ref,
19
21
  "aria-label": dropdownTriggerAriaLabel,
20
- caretDirection: isOpened ? 'up' : 'down',
22
+ caretDirection: "down",
21
23
  className: clsx(styles.splitButtonRight, styles[`${variant}`], {
22
24
  [styles.invisible]: isInvisible,
23
25
  [styles.gap]: variant === 'primary'
@@ -25,6 +27,7 @@ const SplitTriggerButton = /*#__PURE__*/forwardRef((props, ref) => {
25
27
  disabled: disabled,
26
28
  size: size,
27
29
  variant: variant,
30
+ "data-bp-animated": isAnimationEnabled ? 'true' : 'false',
28
31
  ...rest
29
32
  });
30
33
  });
@@ -109,7 +109,6 @@ const SplitButton = /*#__PURE__*/forwardRef((props, forwardedRef) => {
109
109
  "data-resin-target": splitTriggerResinTarget,
110
110
  disabled: !!disabled,
111
111
  isInvisible: loading,
112
- isOpened: open,
113
112
  size: size,
114
113
  variant: variant
115
114
  })
@@ -1,4 +1,4 @@
1
1
  import '../index.css';
2
- var styles = {"splitButton":"bp_styles_module_splitButton--b9938","dropdown":"bp_styles_module_dropdown--b9938","splitButtonLeft":"bp_styles_module_splitButtonLeft--b9938","gap":"bp_styles_module_gap--b9938","skipRightBorder":"bp_styles_module_skipRightBorder--b9938","loadingButton":"bp_styles_module_loadingButton--b9938","splitButtonRight":"bp_styles_module_splitButtonRight--b9938","secondary":"bp_styles_module_secondary--b9938","invisible":"bp_styles_module_invisible--b9938"};
2
+ var styles = {"splitButton":"bp_styles_module_splitButton--a3588","dropdown":"bp_styles_module_dropdown--a3588","splitButtonLeft":"bp_styles_module_splitButtonLeft--a3588","gap":"bp_styles_module_gap--a3588","skipRightBorder":"bp_styles_module_skipRightBorder--a3588","loadingButton":"bp_styles_module_loadingButton--a3588","splitButtonRight":"bp_styles_module_splitButtonRight--a3588","secondary":"bp_styles_module_secondary--a3588","invisible":"bp_styles_module_invisible--a3588"};
3
3
 
4
4
  export { styles as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/blueprint-web",
3
- "version": "14.21.0",
3
+ "version": "14.22.0",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "publishConfig": {
@@ -47,7 +47,7 @@
47
47
  "dependencies": {
48
48
  "@ariakit/react": "0.4.21",
49
49
  "@ariakit/react-core": "0.4.21",
50
- "@box/blueprint-web-assets": "^4.115.7",
50
+ "@box/blueprint-web-assets": "^4.115.9",
51
51
  "@internationalized/date": "^3.12.0",
52
52
  "@radix-ui/react-accordion": "1.1.2",
53
53
  "@radix-ui/react-checkbox": "1.0.4",
@@ -77,7 +77,7 @@
77
77
  "type-fest": "^3.2.0"
78
78
  },
79
79
  "devDependencies": {
80
- "@box/storybook-utils": "^0.18.7",
80
+ "@box/storybook-utils": "^0.18.9",
81
81
  "@figma/code-connect": "1.4.4",
82
82
  "@types/react": "^18.0.0",
83
83
  "@types/react-dom": "^18.0.0",