@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 +45 -35
- package/lib-esm/primitives/icon-button/icon-button.js +5 -5
- package/lib-esm/primitives/icon-button/icon-button.module.js +1 -1
- package/lib-esm/primitives/icon-button/types.d.ts +9 -5
- package/lib-esm/primitives/icon-button/utils.d.ts +2 -2
- package/lib-esm/primitives/icon-button/utils.js +1 -7
- package/package.json +2 -2
package/lib-esm/index.css
CHANGED
|
@@ -1134,10 +1134,8 @@
|
|
|
1134
1134
|
cursor:default;
|
|
1135
1135
|
}
|
|
1136
1136
|
|
|
1137
|
-
.bp_icon_button_module_iconButton--
|
|
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--
|
|
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--
|
|
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--
|
|
1153
|
+
.bp_icon_button_module_iconButton--b6e1c:focus-visible{
|
|
1159
1154
|
outline:none;
|
|
1160
1155
|
}
|
|
1161
|
-
.bp_icon_button_module_iconButton--
|
|
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--
|
|
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--
|
|
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--
|
|
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--
|
|
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--
|
|
1177
|
-
|
|
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--
|
|
1181
|
-
|
|
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--
|
|
1185
|
-
|
|
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--
|
|
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--
|
|
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--
|
|
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--
|
|
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--
|
|
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--
|
|
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--
|
|
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--
|
|
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--
|
|
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--
|
|
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--
|
|
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--
|
|
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 {
|
|
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(
|
|
20
|
+
className: clsx(styles.iconButton, styles[variant], styles[size], props.className),
|
|
21
21
|
children: /*#__PURE__*/createElement(icon, {
|
|
22
|
-
className: styles.
|
|
23
|
-
height:
|
|
24
|
-
width:
|
|
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--
|
|
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?:
|
|
23
|
+
variant?: Exclude<IconButtonVariant, 'small-utility'>;
|
|
20
24
|
/**
|
|
21
25
|
* Size of the button.
|
|
22
26
|
*
|
|
23
27
|
* @default 'small'
|
|
24
28
|
*/
|
|
25
|
-
size?:
|
|
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
|
|
3
|
-
export {
|
|
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 {
|
|
9
|
+
export { iconSizeMap };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@box/blueprint-web",
|
|
3
|
-
"version": "7.
|
|
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": "
|
|
60
|
+
"gitHead": "4291826556f62c20172aa6e6f4d6274071000aac",
|
|
61
61
|
"module": "lib-esm/index.js",
|
|
62
62
|
"main": "lib-esm/index.js",
|
|
63
63
|
"exports": {
|