@box/blueprint-web 7.11.0 → 7.13.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/lib-esm/index.css CHANGED
@@ -1134,10 +1134,8 @@
1134
1134
  cursor:default;
1135
1135
  }
1136
1136
 
1137
- .bp_icon_button_module_iconButton--a3df7{
1137
+ .bp_icon_button_module_iconButton--b6e1c{
1138
1138
  align-items:center;
1139
- background:var(--surface-cta-surface-icon);
1140
- border:0;
1141
1139
  border-radius:var(--radius-2);
1142
1140
  border-style:none;
1143
1141
  cursor:pointer;
@@ -1145,82 +1143,94 @@
1145
1143
  justify-content:center;
1146
1144
  padding:0;
1147
1145
  }
1148
- .bp_icon_button_module_iconButton--a3df7 .bp_icon_button_module_iconColor--a3df7 *{
1149
- fill:var(--icon-cta-icon);
1150
- }
1151
- .bp_icon_button_module_iconButton--a3df7[aria-disabled=true]{
1146
+ .bp_icon_button_module_iconButton--b6e1c[aria-disabled=true]{
1152
1147
  background:var(--surface-cta-surface-icon-disabled);
1153
1148
  opacity:.3;
1154
1149
  }
1155
- .bp_icon_button_module_iconButton--a3df7[aria-disabled=true] .bp_icon_button_module_iconColor--a3df7 *{
1150
+ .bp_icon_button_module_iconButton--b6e1c[aria-disabled=true] .bp_icon_button_module_icon--b6e1c *{
1156
1151
  fill:var(--gray-50);
1157
1152
  }
1158
- .bp_icon_button_module_iconButton--a3df7:focus-visible{
1153
+ .bp_icon_button_module_iconButton--b6e1c:focus-visible{
1159
1154
  outline:none;
1160
1155
  }
1161
- .bp_icon_button_module_iconButton--a3df7[data-focus-visible]{
1156
+ .bp_icon_button_module_iconButton--b6e1c[data-focus-visible]{
1162
1157
  outline:var(--border-2) solid var(--outline-focus-on-light);
1163
1158
  }
1164
- .bp_icon_button_module_iconButton--a3df7:hover,.bp_icon_button_module_iconButton--a3df7[data-focus-visible]{
1159
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_default--b6e1c{
1160
+ background:var(--surface-cta-surface-icon);
1161
+ }
1162
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_default--b6e1c .bp_icon_button_module_icon--b6e1c *{
1163
+ fill:var(--icon-cta-icon);
1164
+ }
1165
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_default--b6e1c:hover,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_default--b6e1c[data-focus-visible]{
1165
1166
  background:var(--surface-cta-surface-icon-hover);
1166
1167
  }
1167
- .bp_icon_button_module_iconButton--a3df7:hover .bp_icon_button_module_iconColor--a3df7 *,.bp_icon_button_module_iconButton--a3df7[data-focus-visible] .bp_icon_button_module_iconColor--a3df7 *{
1168
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_default--b6e1c:hover .bp_icon_button_module_icon--b6e1c *,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_default--b6e1c[data-focus-visible] .bp_icon_button_module_icon--b6e1c *{
1168
1169
  fill:var(--icon-cta-icon-hover);
1169
1170
  }
1170
- .bp_icon_button_module_iconButton--a3df7:active,.bp_icon_button_module_iconButton--a3df7[data-active]{
1171
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_default--b6e1c:active,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_default--b6e1c[data-active]{
1171
1172
  background:var(--surface-cta-surface-icon-pressed);
1172
1173
  }
1173
- .bp_icon_button_module_iconButton--a3df7:active .bp_icon_button_module_iconColor--a3df7 *,.bp_icon_button_module_iconButton--a3df7[data-active] .bp_icon_button_module_iconColor--a3df7 *{
1174
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_default--b6e1c:active .bp_icon_button_module_icon--b6e1c *,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_default--b6e1c[data-active] .bp_icon_button_module_icon--b6e1c *{
1174
1175
  fill:var(--icon-cta-icon-pressed);
1175
1176
  }
1176
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_large--a3df7{
1177
- height:var(--size-10);
1178
- width:var(--size-10);
1177
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_icon-logo--b6e1c{
1178
+ background:var(--surface-cta-surface-icon);
1179
1179
  }
1180
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_small--a3df7{
1181
- height:var(--size-8);
1182
- width:var(--size-8);
1180
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_icon-logo--b6e1c:hover,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_icon-logo--b6e1c[data-focus-visible]{
1181
+ background:var(--surface-cta-surface-icon-hover);
1183
1182
  }
1184
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_x-small--a3df7{
1185
- height:var(--size-6);
1186
- width:var(--size-6);
1183
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_icon-logo--b6e1c:active,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_icon-logo--b6e1c[data-active]{
1184
+ background:var(--surface-cta-surface-icon-pressed);
1187
1185
  }
1188
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_high-contrast--a3df7{
1186
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_high-contrast--b6e1c{
1189
1187
  background:var(--surface-cta-surface-icon);
1190
1188
  }
1191
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_high-contrast--a3df7 .bp_icon_button_module_iconColor--a3df7 *{
1189
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_high-contrast--b6e1c .bp_icon_button_module_icon--b6e1c *{
1192
1190
  fill:var(--icon-cta-icon-on-color);
1193
1191
  }
1194
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_high-contrast--a3df7:hover,.bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_high-contrast--a3df7[data-focus-visible]{
1192
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_high-contrast--b6e1c:hover,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_high-contrast--b6e1c[data-focus-visible]{
1195
1193
  background:var(--surface-cta-surface-icon-hover);
1196
1194
  }
1197
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_high-contrast--a3df7:hover .bp_icon_button_module_iconColor--a3df7 *,.bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_high-contrast--a3df7[data-focus-visible] .bp_icon_button_module_iconColor--a3df7 *{
1195
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_high-contrast--b6e1c:hover .bp_icon_button_module_icon--b6e1c *,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_high-contrast--b6e1c[data-focus-visible] .bp_icon_button_module_icon--b6e1c *{
1198
1196
  fill:var(--icon-cta-icon-on-color-hover);
1199
1197
  }
1200
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_high-contrast--a3df7:active,.bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_high-contrast--a3df7[data-active]{
1198
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_high-contrast--b6e1c:active,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_high-contrast--b6e1c[data-active]{
1201
1199
  background:var(--surface-cta-surface-icon-pressed);
1202
1200
  }
1203
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_high-contrast--a3df7:active .bp_icon_button_module_iconColor--a3df7 *,.bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_high-contrast--a3df7[data-active] .bp_icon_button_module_iconColor--a3df7 *{
1201
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_high-contrast--b6e1c:active .bp_icon_button_module_icon--b6e1c *,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_high-contrast--b6e1c[data-active] .bp_icon_button_module_icon--b6e1c *{
1204
1202
  fill:var(--icon-cta-icon-on-color-pressed);
1205
1203
  }
1206
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_small-utility--a3df7{
1204
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_small-utility--b6e1c{
1207
1205
  background:var(--surface-cta-surface-icon-utility);
1208
1206
  }
1209
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_small-utility--a3df7 .bp_icon_button_module_iconColor--a3df7 *{
1207
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_small-utility--b6e1c .bp_icon_button_module_icon--b6e1c *{
1210
1208
  fill:var(--icon-cta-icon-utility);
1211
1209
  }
1212
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_small-utility--a3df7:hover,.bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_small-utility--a3df7[data-focus-visible]{
1210
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_small-utility--b6e1c:hover,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_small-utility--b6e1c[data-focus-visible]{
1213
1211
  background:var(--surface-cta-surface-icon-utility-hover);
1214
1212
  }
1215
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_small-utility--a3df7:hover .bp_icon_button_module_iconColor--a3df7 *,.bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_small-utility--a3df7[data-focus-visible] .bp_icon_button_module_iconColor--a3df7 *{
1213
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_small-utility--b6e1c:hover .bp_icon_button_module_icon--b6e1c *,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_small-utility--b6e1c[data-focus-visible] .bp_icon_button_module_icon--b6e1c *{
1216
1214
  fill:var(--icon-cta-icon-utility-hover);
1217
1215
  }
1218
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_small-utility--a3df7:active,.bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_small-utility--a3df7[data-active]{
1216
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_small-utility--b6e1c:active,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_small-utility--b6e1c[data-active]{
1219
1217
  background:var(--surface-cta-surface-icon-utility-pressed);
1220
1218
  }
1221
- .bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_small-utility--a3df7:active .bp_icon_button_module_iconColor--a3df7 *,.bp_icon_button_module_iconButton--a3df7.bp_icon_button_module_small-utility--a3df7[data-active] .bp_icon_button_module_iconColor--a3df7 *{
1219
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_small-utility--b6e1c:active .bp_icon_button_module_icon--b6e1c *,.bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_small-utility--b6e1c[data-active] .bp_icon_button_module_icon--b6e1c *{
1222
1220
  fill:var(--icon-cta-icon-utility-pressed);
1223
1221
  }
1222
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_large--b6e1c{
1223
+ height:var(--size-10);
1224
+ width:var(--size-10);
1225
+ }
1226
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_small--b6e1c{
1227
+ height:var(--size-8);
1228
+ width:var(--size-8);
1229
+ }
1230
+ .bp_icon_button_module_iconButton--b6e1c.bp_icon_button_module_x-small--b6e1c{
1231
+ height:var(--size-6);
1232
+ width:var(--size-6);
1233
+ }
1224
1234
 
1225
1235
  .bp_collapsible_section_module_collapsibleSection--f411c{
1226
1236
  width:100%;
@@ -4,7 +4,7 @@ import clsx from 'clsx';
4
4
  import { forwardRef, useRef, createElement } from 'react';
5
5
  import { useForkRef } from '../../utils/useForkRef.js';
6
6
  import styles from './icon-button.module.js';
7
- import { getIconSize } from './utils.js';
7
+ import { iconSizeMap } from './utils.js';
8
8
 
9
9
  const IconButton = /*#__PURE__*/forwardRef((props, forwardedRef) => {
10
10
  const {
@@ -17,11 +17,11 @@ const IconButton = /*#__PURE__*/forwardRef((props, forwardedRef) => {
17
17
  return jsx(Button, {
18
18
  ...rest,
19
19
  ref: useForkRef(ref, forwardedRef),
20
- className: clsx([styles.iconButton, styles[size], styles[variant]], props.className),
20
+ className: clsx(styles.iconButton, styles[variant], styles[size], props.className),
21
21
  children: /*#__PURE__*/createElement(icon, {
22
- className: styles.iconColor,
23
- height: getIconSize(props),
24
- width: getIconSize(props),
22
+ className: styles.icon,
23
+ height: iconSizeMap[size],
24
+ width: iconSizeMap[size],
25
25
  role: 'presentation'
26
26
  })
27
27
  });
@@ -1,4 +1,4 @@
1
1
  import '../../index.css';
2
- var styles = {"iconButton":"bp_icon_button_module_iconButton--a3df7","iconColor":"bp_icon_button_module_iconColor--a3df7","large":"bp_icon_button_module_large--a3df7","small":"bp_icon_button_module_small--a3df7","x-small":"bp_icon_button_module_x-small--a3df7","high-contrast":"bp_icon_button_module_high-contrast--a3df7","small-utility":"bp_icon_button_module_small-utility--a3df7"};
2
+ var styles = {"iconButton":"bp_icon_button_module_iconButton--b6e1c","icon":"bp_icon_button_module_icon--b6e1c","default":"bp_icon_button_module_default--b6e1c","icon-logo":"bp_icon_button_module_icon-logo--b6e1c","high-contrast":"bp_icon_button_module_high-contrast--b6e1c","small-utility":"bp_icon_button_module_small-utility--b6e1c","large":"bp_icon_button_module_large--b6e1c","small":"bp_icon_button_module_small--b6e1c","x-small":"bp_icon_button_module_x-small--b6e1c"};
3
3
 
4
4
  export { styles as default };
@@ -10,29 +10,33 @@ interface IconButtonCommonProps extends AriakitButtonProps {
10
10
  */
11
11
  icon: FunctionComponent<PropsWithChildren<SVGProps<SVGSVGElement>>>;
12
12
  }
13
+ export declare const IconButtonSizes: readonly ["x-small", "small", "large"];
14
+ export type IconButtonSize = (typeof IconButtonSizes)[number];
15
+ export declare const IconButtonVariants: readonly ["default", "high-contrast", "icon-logo", "small-utility"];
16
+ export type IconButtonVariant = (typeof IconButtonVariants)[number];
13
17
  export interface IconButtonVariantsProps extends IconButtonCommonProps {
14
18
  /**
15
19
  * The variant of the button.
16
20
  *
17
21
  * @default 'default'
18
22
  */
19
- variant?: 'default' | 'high-contrast';
23
+ variant?: Exclude<IconButtonVariant, 'small-utility'>;
20
24
  /**
21
25
  * Size of the button.
22
26
  *
23
27
  * @default 'small'
24
28
  */
25
- size?: 'x-small' | 'small' | 'large';
29
+ size?: IconButtonSize;
26
30
  }
27
31
  export interface IconButtonSmallUtilityVariantProps extends IconButtonCommonProps {
28
32
  /**
29
33
  * The variant of the button.
30
34
  */
31
- variant: 'small-utility';
35
+ variant: Extract<IconButtonVariant, 'small-utility'>;
32
36
  /**
33
- * The only acceptable size for the small-utility variant is 'small'.
37
+ * The only acceptable size for the 'small-utility' variant is 'small'.
34
38
  */
35
- size: 'small';
39
+ size: Extract<IconButtonSize, 'small'>;
36
40
  }
37
41
  export type IconButtonProps = IconButtonVariantsProps | IconButtonSmallUtilityVariantProps;
38
42
  export {};
@@ -1,3 +1,3 @@
1
1
  import { type IconButtonProps } from './types';
2
- declare function getIconSize(props: IconButtonProps): string;
3
- export { getIconSize };
2
+ declare const iconSizeMap: Record<NonNullable<IconButtonProps['size']>, string>;
3
+ export { iconSizeMap };
@@ -5,11 +5,5 @@ const iconSizeMap = {
5
5
  small: Size5,
6
6
  large: Size6
7
7
  };
8
- function getIconSize(props) {
9
- if (props.variant === 'small-utility') {
10
- return Size4;
11
- }
12
- return iconSizeMap[props.size || 'small'];
13
- }
14
8
 
15
- export { getIconSize };
9
+ export { iconSizeMap };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/blueprint-web",
3
- "version": "7.11.0",
3
+ "version": "7.13.0",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -57,7 +57,7 @@
57
57
  "@box/storybook-utils": "^0.3.0",
58
58
  "react-stately": "^3.31.1"
59
59
  },
60
- "gitHead": "64f24026d06c71ca4145bf9f77a9adb4acd37787",
60
+ "gitHead": "4291826556f62c20172aa6e6f4d6274071000aac",
61
61
  "module": "lib-esm/index.js",
62
62
  "main": "lib-esm/index.js",
63
63
  "exports": {