@box/blueprint-web 15.2.0 → 15.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.
- package/dist/lib-esm/blueprint-configuration-context/consts.d.ts +1 -1
- package/dist/lib-esm/blueprint-configuration-context/consts.js +1 -1
- package/dist/lib-esm/index.css +110 -55
- package/dist/lib-esm/primitives/inline-error/inline-error.js +60 -22
- package/dist/lib-esm/primitives/inline-error/inline-error.module.js +1 -1
- package/dist/lib-esm/primitives/inline-error/utils/use-inline-error-presence.d.ts +13 -0
- package/dist/lib-esm/primitives/inline-error/utils/use-inline-error-presence.js +54 -0
- package/dist/lib-esm/primitives/select-menu-grid/select-menu-grid-option.d.ts +55 -57
- package/dist/lib-esm/primitives/select-menu-grid/select-menu-grid-option.js +32 -7
- package/dist/lib-esm/primitives/select-menu-grid/select-menu-grid-option.module.js +1 -1
- package/dist/lib-esm/primitives/select-menu-grid/types.d.ts +15 -6
- package/package.json +3 -3
|
@@ -38,7 +38,7 @@ export declare const BLUEPRINT_CONFIGURATION_SPLITS: {
|
|
|
38
38
|
*/
|
|
39
39
|
export declare const ANIMATED_COMPONENTS_BY_PHASE: {
|
|
40
40
|
readonly phase1: readonly ["Button", "IconButton", "DropdownMenu", "Tooltip", "Popover", "SplitButton", "CardTooltip", "NavigationMenu", "Modal", "TextButton", "ContextMenu"];
|
|
41
|
-
readonly phase2: readonly ["DropdownTrigger", "Switch", "Checkbox", "TextInput", "Select", "Datepicker", "TextArea", "Combobox", "PasswordInput", "ComboboxGroup"];
|
|
41
|
+
readonly phase2: readonly ["DropdownTrigger", "Switch", "Checkbox", "TextInput", "Select", "Datepicker", "TextArea", "Combobox", "PasswordInput", "ComboboxGroup", "InlineError"];
|
|
42
42
|
readonly phase3: readonly [];
|
|
43
43
|
};
|
|
44
44
|
/**
|
|
@@ -40,7 +40,7 @@ const BLUEPRINT_CONFIGURATION_SPLITS = deepFreeze({
|
|
|
40
40
|
*/
|
|
41
41
|
const ANIMATED_COMPONENTS_BY_PHASE = deepFreeze({
|
|
42
42
|
phase1: ['Button', 'IconButton', 'DropdownMenu', 'Tooltip', 'Popover', 'SplitButton', 'CardTooltip', 'NavigationMenu', 'Modal', 'TextButton', 'ContextMenu'],
|
|
43
|
-
phase2: ['DropdownTrigger', 'Switch', 'Checkbox', 'TextInput', 'Select', 'Datepicker', 'TextArea', 'Combobox', 'PasswordInput', 'ComboboxGroup'],
|
|
43
|
+
phase2: ['DropdownTrigger', 'Switch', 'Checkbox', 'TextInput', 'Select', 'Datepicker', 'TextArea', 'Combobox', 'PasswordInput', 'ComboboxGroup', 'InlineError'],
|
|
44
44
|
phase3: []
|
|
45
45
|
});
|
|
46
46
|
/**
|
package/dist/lib-esm/index.css
CHANGED
|
@@ -4546,7 +4546,7 @@
|
|
|
4546
4546
|
.bp_input_chip_module_container--8ac7b .bp_input_chip_module_avatar--8ac7b.bp_input_chip_module_modern--8ac7b *{
|
|
4547
4547
|
border-radius:unset;
|
|
4548
4548
|
}
|
|
4549
|
-
.bp_inline_error_module_inlineError--
|
|
4549
|
+
.bp_inline_error_module_inlineError--e70b6[data-modern=false]{
|
|
4550
4550
|
--inline-error-gap:var(--size-1);
|
|
4551
4551
|
--inline-error-height:var(--size-4);
|
|
4552
4552
|
--inline-error-text-color:var(--text-text-error-on-light);
|
|
@@ -4559,10 +4559,11 @@
|
|
|
4559
4559
|
text-transform:var(--body-default-bold-text-case);
|
|
4560
4560
|
}
|
|
4561
4561
|
|
|
4562
|
-
.bp_inline_error_module_inlineError--
|
|
4562
|
+
.bp_inline_error_module_inlineError--e70b6[data-modern=true]{
|
|
4563
4563
|
--inline-error-gap:var(--bp-space-010);
|
|
4564
4564
|
--inline-error-height:var(--bp-size-040);
|
|
4565
4565
|
--inline-error-text-color:var(--bp-text-text-error-on-light);
|
|
4566
|
+
--inline-error-slide-offset:calc(var(--bp-font-size-02, 0.625rem)*-1);
|
|
4566
4567
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
4567
4568
|
font-size:var(--bp-font-size-05);
|
|
4568
4569
|
font-style:normal;
|
|
@@ -4571,21 +4572,54 @@
|
|
|
4571
4572
|
line-height:var(--bp-font-line-height-04);
|
|
4572
4573
|
}
|
|
4573
4574
|
|
|
4574
|
-
.bp_inline_error_module_inlineError--
|
|
4575
|
+
.bp_inline_error_module_inlineError--e70b6.bp_inline_error_module_inlineError--e70b6{
|
|
4575
4576
|
align-items:center;
|
|
4576
4577
|
color:var(--inline-error-text-color);
|
|
4577
4578
|
display:flex;
|
|
4578
4579
|
gap:var(--inline-error-gap);
|
|
4579
4580
|
line-height:var(--inline-error-height);
|
|
4580
4581
|
}
|
|
4581
|
-
.bp_inline_error_module_inlineError--
|
|
4582
|
+
.bp_inline_error_module_inlineError--e70b6.bp_inline_error_module_inlineError--e70b6.bp_inline_error_module_empty--e70b6{
|
|
4582
4583
|
display:none;
|
|
4583
4584
|
}
|
|
4584
|
-
.bp_inline_error_module_inlineError--
|
|
4585
|
+
.bp_inline_error_module_inlineError--e70b6.bp_inline_error_module_inlineError--e70b6 .bp_inline_error_module_errorIcon--e70b6{
|
|
4585
4586
|
align-self:flex-start;
|
|
4586
4587
|
flex-grow:0;
|
|
4587
4588
|
flex-shrink:0;
|
|
4588
4589
|
}
|
|
4590
|
+
|
|
4591
|
+
.bp_inline_error_module_inlineError--e70b6.bp_inline_error_module_inlineError--e70b6.bp_inline_error_module_animated--e70b6[data-state=open]{
|
|
4592
|
+
animation-duration:var(--bp-duration-short);
|
|
4593
|
+
animation-fill-mode:both;
|
|
4594
|
+
animation-name:bp_inline_error_module_bpInlineErrorSlideEnter--e70b6;
|
|
4595
|
+
animation-timing-function:var(--bp-curve-small-on);
|
|
4596
|
+
}
|
|
4597
|
+
|
|
4598
|
+
.bp_inline_error_module_inlineError--e70b6.bp_inline_error_module_inlineError--e70b6.bp_inline_error_module_animated--e70b6[data-state=closed]{
|
|
4599
|
+
animation-duration:var(--bp-duration-short);
|
|
4600
|
+
animation-fill-mode:forwards;
|
|
4601
|
+
animation-name:bp_inline_error_module_bpInlineErrorFadeExit--e70b6;
|
|
4602
|
+
animation-timing-function:var(--bp-curve-small-off);
|
|
4603
|
+
}
|
|
4604
|
+
|
|
4605
|
+
@keyframes bp_inline_error_module_bpInlineErrorSlideEnter--e70b6{
|
|
4606
|
+
from{
|
|
4607
|
+
opacity:var(--bp-opacity-hidden);
|
|
4608
|
+
transform:translateY(var(--inline-error-slide-offset));
|
|
4609
|
+
}
|
|
4610
|
+
to{
|
|
4611
|
+
opacity:var(--bp-opacity-visible);
|
|
4612
|
+
transform:translateY(0);
|
|
4613
|
+
}
|
|
4614
|
+
}
|
|
4615
|
+
@keyframes bp_inline_error_module_bpInlineErrorFadeExit--e70b6{
|
|
4616
|
+
from{
|
|
4617
|
+
opacity:var(--bp-opacity-visible);
|
|
4618
|
+
}
|
|
4619
|
+
to{
|
|
4620
|
+
opacity:var(--bp-opacity-hidden);
|
|
4621
|
+
}
|
|
4622
|
+
}
|
|
4589
4623
|
.bp_labelable_module_required--25dbc{
|
|
4590
4624
|
align-items:center;
|
|
4591
4625
|
display:inline-flex;
|
|
@@ -11445,7 +11479,7 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11445
11479
|
display:flex;
|
|
11446
11480
|
flex-direction:row;
|
|
11447
11481
|
}
|
|
11448
|
-
.bp_select_menu_grid_option_module_buttonWrapper--
|
|
11482
|
+
.bp_select_menu_grid_option_module_buttonWrapper--1b151[data-modern=false]{
|
|
11449
11483
|
--select-menu-grid-option-labeled-margin-small-breakpoint:var(--space-05) 0;
|
|
11450
11484
|
--select-menu-grid-option-labeled-margin:var(--space-05);
|
|
11451
11485
|
--select-menu-grid-option-labeled-max-width:calc(50% - var(--space-1));
|
|
@@ -11453,7 +11487,7 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11453
11487
|
--select-menu-grid-option-labeled-max-width-last-child-margin-right:0;
|
|
11454
11488
|
}
|
|
11455
11489
|
|
|
11456
|
-
.bp_select_menu_grid_option_module_buttonWrapper--
|
|
11490
|
+
.bp_select_menu_grid_option_module_buttonWrapper--1b151[data-modern=true]{
|
|
11457
11491
|
--select-menu-grid-option-labeled-margin-small-breakpoint:var(--bp-space-005) 0;
|
|
11458
11492
|
--select-menu-grid-option-labeled-margin:var(--bp-space-005);
|
|
11459
11493
|
--select-menu-grid-option-labeled-max-width:calc(50% - var(--bp-size-010));
|
|
@@ -11461,27 +11495,27 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11461
11495
|
--select-menu-grid-option-labeled-max-width-last-child-margin-right:0;
|
|
11462
11496
|
}
|
|
11463
11497
|
|
|
11464
|
-
.bp_select_menu_grid_option_module_buttonWrapper--
|
|
11498
|
+
.bp_select_menu_grid_option_module_buttonWrapper--1b151.bp_select_menu_grid_option_module_withLabel--1b151{
|
|
11465
11499
|
flex:1 1 0;
|
|
11466
11500
|
margin:var(--select-menu-grid-option-labeled-margin-small-breakpoint);
|
|
11467
11501
|
}
|
|
11468
|
-
.bp_select_menu_grid_option_module_buttonWrapper--
|
|
11502
|
+
.bp_select_menu_grid_option_module_buttonWrapper--1b151.bp_select_menu_grid_option_module_withLabel--default--1b151{
|
|
11469
11503
|
max-width:100%;
|
|
11470
11504
|
}
|
|
11471
11505
|
@media only screen and (width > 374px){
|
|
11472
|
-
.bp_select_menu_grid_option_module_buttonWrapper--
|
|
11506
|
+
.bp_select_menu_grid_option_module_buttonWrapper--1b151.bp_select_menu_grid_option_module_withLabel--default--1b151{
|
|
11473
11507
|
margin:var(--select-menu-grid-option-labeled-margin);
|
|
11474
11508
|
max-width:var(--select-menu-grid-option-labeled-max-width);
|
|
11475
11509
|
}
|
|
11476
|
-
.bp_select_menu_grid_option_module_buttonWrapper--
|
|
11510
|
+
.bp_select_menu_grid_option_module_buttonWrapper--1b151.bp_select_menu_grid_option_module_withLabel--default--1b151:first-child{
|
|
11477
11511
|
margin-left:var(--select-menu-grid-option-labeled-max-width-first-child-margin-left);
|
|
11478
11512
|
}
|
|
11479
|
-
.bp_select_menu_grid_option_module_buttonWrapper--
|
|
11513
|
+
.bp_select_menu_grid_option_module_buttonWrapper--1b151.bp_select_menu_grid_option_module_withLabel--default--1b151:last-child{
|
|
11480
11514
|
margin-right:var(--select-menu-grid-option-labeled-max-width-last-child-margin-right);
|
|
11481
11515
|
}
|
|
11482
11516
|
}
|
|
11483
11517
|
|
|
11484
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11518
|
+
.bp_select_menu_grid_option_module_optionButton--1b151[data-modern=false]{
|
|
11485
11519
|
--select-menu-grid-option-background-color:#0000;
|
|
11486
11520
|
--select-menu-grid-option-labeled-background-color-hover:var(--surface-surface-secondary);
|
|
11487
11521
|
--select-menu-grid-option-labeled-background-color-active:var(--surface-surface-secondary);
|
|
@@ -11497,6 +11531,8 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11497
11531
|
--select-menu-grid-option-labeled-border-radius:var(--radius-3);
|
|
11498
11532
|
--select-menu-grid-option-labeled-transition:background-color var(--animation-duration-2);
|
|
11499
11533
|
--select-menu-grid-option-labeled-text-max-height:var(--size-8);
|
|
11534
|
+
--select-menu-grid-option-labeled-label-content-gap:var(--space-05);
|
|
11535
|
+
--select-menu-grid-option-labeled-label-content-optical-offset:var(--border-1);
|
|
11500
11536
|
--select-menu-grid-option-labeled-text-color:var(--text-text-on-light);
|
|
11501
11537
|
--select-menu-grid-option-labeled-icon-border-radius:var(--radius-3);
|
|
11502
11538
|
--select-menu-grid-option-labeled-icon-default-size:var(--size-8);
|
|
@@ -11539,7 +11575,7 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11539
11575
|
--select-menu-grid-option-circle-box-shadow-focus-active:0 0 0 var(--border-1) var(--gray-white), 0 0 0 var(--border-3) var(--outline-focus-on-light);
|
|
11540
11576
|
}
|
|
11541
11577
|
|
|
11542
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11578
|
+
.bp_select_menu_grid_option_module_optionButton--1b151[data-modern=true]{
|
|
11543
11579
|
--select-menu-grid-option-background-color:#0000;
|
|
11544
11580
|
--select-menu-grid-option-labeled-background-color-hover:var(--bp-surface-surface-secondary);
|
|
11545
11581
|
--select-menu-grid-option-labeled-background-color-active:var(--bp-surface-surface-secondary);
|
|
@@ -11555,6 +11591,8 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11555
11591
|
--select-menu-grid-option-labeled-border-radius:var(--bp-radius-06);
|
|
11556
11592
|
--select-menu-grid-option-labeled-transition:background-color var(--animation-duration-2);
|
|
11557
11593
|
--select-menu-grid-option-labeled-text-max-height:var(--bp-size-080);
|
|
11594
|
+
--select-menu-grid-option-labeled-label-content-gap:var(--bp-space-005);
|
|
11595
|
+
--select-menu-grid-option-labeled-label-content-optical-offset:var(--bp-border-01);
|
|
11558
11596
|
--select-menu-grid-option-labeled-text-color:var(--bp-text-text-on-light);
|
|
11559
11597
|
--select-menu-grid-option-labeled-icon-border-radius:var(--bp-radius-04);
|
|
11560
11598
|
--select-menu-grid-option-labeled-icon-default-size:var(--bp-size-080);
|
|
@@ -11597,7 +11635,7 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11597
11635
|
--select-menu-grid-option-circle-box-shadow-focus-active:0 0 0 var(--bp-border-01) var(--bp-gray-white), 0 0 0 var(--bp-border-03) var(--bp-border-input-border-focus);
|
|
11598
11636
|
}
|
|
11599
11637
|
|
|
11600
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11638
|
+
.bp_select_menu_grid_option_module_optionButton--1b151{
|
|
11601
11639
|
align-items:center;
|
|
11602
11640
|
background-color:var(--select-menu-grid-option-background-color);
|
|
11603
11641
|
border:none;
|
|
@@ -11607,13 +11645,13 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11607
11645
|
-webkit-user-select:none;
|
|
11608
11646
|
user-select:none;
|
|
11609
11647
|
}
|
|
11610
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11648
|
+
.bp_select_menu_grid_option_module_optionButton--1b151:not(.bp_select_menu_grid_option_module_labeled--1b151){
|
|
11611
11649
|
height:var(--select-menu-grid-option-not-labeled-height);
|
|
11612
11650
|
justify-content:center;
|
|
11613
11651
|
padding:var(--select-menu-grid-option-not-labeled-padding);
|
|
11614
11652
|
width:var(--select-menu-grid-option-not-labeled-width);
|
|
11615
11653
|
}
|
|
11616
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11654
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151{
|
|
11617
11655
|
border-radius:var(--select-menu-grid-option-labeled-border-radius);
|
|
11618
11656
|
gap:var(--select-menu-grid-option-labeled-gap);
|
|
11619
11657
|
min-width:var(--select-menu-grid-option-labeled-min-width);
|
|
@@ -11621,24 +11659,41 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11621
11659
|
transition:var(--select-menu-grid-option-labeled-transition);
|
|
11622
11660
|
width:100%;
|
|
11623
11661
|
}
|
|
11624
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11662
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_labelContent--1b151{
|
|
11663
|
+
display:flex;
|
|
11664
|
+
flex:1;
|
|
11665
|
+
flex-direction:column;
|
|
11666
|
+
justify-content:center;
|
|
11667
|
+
min-width:0;
|
|
11668
|
+
text-align:left;
|
|
11669
|
+
}
|
|
11670
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_labelContent--withDescription--1b151{
|
|
11671
|
+
gap:var(--select-menu-grid-option-labeled-label-content-gap);
|
|
11672
|
+
margin-top:calc(var(--select-menu-grid-option-labeled-label-content-optical-offset)*-1);
|
|
11673
|
+
}
|
|
11674
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_text--1b151{
|
|
11625
11675
|
color:var(--select-menu-grid-option-labeled-text-color);
|
|
11626
11676
|
max-height:var(--select-menu-grid-option-labeled-text-max-height);
|
|
11627
|
-
text-align:left;
|
|
11628
11677
|
}
|
|
11629
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11678
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_text--large--1b151{
|
|
11630
11679
|
-webkit-box-orient:vertical;
|
|
11631
11680
|
-webkit-line-clamp:1;
|
|
11632
11681
|
display:-webkit-box;
|
|
11633
11682
|
overflow:hidden;
|
|
11634
11683
|
}
|
|
11635
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11684
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_text--default--1b151{
|
|
11636
11685
|
-webkit-box-orient:vertical;
|
|
11637
11686
|
-webkit-line-clamp:2;
|
|
11638
11687
|
display:-webkit-box;
|
|
11639
11688
|
overflow:hidden;
|
|
11640
11689
|
}
|
|
11641
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11690
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_description--1b151{
|
|
11691
|
+
-webkit-box-orient:vertical;
|
|
11692
|
+
-webkit-line-clamp:1;
|
|
11693
|
+
display:-webkit-box;
|
|
11694
|
+
overflow:hidden;
|
|
11695
|
+
}
|
|
11696
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_iconContainer--1b151{
|
|
11642
11697
|
align-items:center;
|
|
11643
11698
|
background:var(--icon-background);
|
|
11644
11699
|
border-radius:var(--select-menu-grid-option-labeled-icon-border-radius);
|
|
@@ -11646,80 +11701,80 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11646
11701
|
flex-shrink:0;
|
|
11647
11702
|
justify-content:center;
|
|
11648
11703
|
}
|
|
11649
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11704
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_iconContainer--size-default--1b151{
|
|
11650
11705
|
height:var(--select-menu-grid-option-labeled-icon-default-size);
|
|
11651
11706
|
width:var(--select-menu-grid-option-labeled-icon-default-size);
|
|
11652
11707
|
}
|
|
11653
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11708
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_iconContainer--size-large--1b151{
|
|
11654
11709
|
height:var(--select-menu-grid-option-labeled-icon-large-size);
|
|
11655
11710
|
width:var(--select-menu-grid-option-labeled-icon-large-size);
|
|
11656
11711
|
}
|
|
11657
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11712
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_iconContainer--default--1b151{
|
|
11658
11713
|
--icon-background:var(--select-menu-grid-option-labeled-icon-default-background);
|
|
11659
11714
|
--icon-background-dark:var(--select-menu-grid-option-labeled-icon-default-background-dark);
|
|
11660
11715
|
}
|
|
11661
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11716
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_iconContainer--box--1b151{
|
|
11662
11717
|
--icon-background:var(--select-menu-grid-option-labeled-icon-box-background);
|
|
11663
11718
|
--icon-background-dark:var(--select-menu-grid-option-labeled-icon-box-background-dark);
|
|
11664
11719
|
}
|
|
11665
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11720
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_iconContainer--docgen--1b151{
|
|
11666
11721
|
--icon-background:var(--select-menu-grid-option-labeled-icon-docgen-background);
|
|
11667
11722
|
--icon-background-dark:var(--select-menu-grid-option-labeled-icon-docgen-background-dark);
|
|
11668
11723
|
}
|
|
11669
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11724
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_iconContainer--forms--1b151{
|
|
11670
11725
|
--icon-background:var(--select-menu-grid-option-labeled-icon-forms-background);
|
|
11671
11726
|
--icon-background-dark:var(--select-menu-grid-option-labeled-icon-forms-background-dark);
|
|
11672
11727
|
}
|
|
11673
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11728
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151 .bp_select_menu_grid_option_module_iconContainer--sign--1b151{
|
|
11674
11729
|
--icon-background:var(--select-menu-grid-option-labeled-icon-sign-background);
|
|
11675
11730
|
--icon-background-dark:var(--select-menu-grid-option-labeled-icon-sign-background-dark);
|
|
11676
11731
|
}
|
|
11677
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11732
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151:hover{
|
|
11678
11733
|
background:var(--select-menu-grid-option-labeled-background-color-hover);
|
|
11679
11734
|
box-shadow:var(--select-menu-grid-option-labeled-box-shadow);
|
|
11680
11735
|
cursor:grab;
|
|
11681
11736
|
}
|
|
11682
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11737
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151.bp_select_menu_grid_option_module_active--1b151,.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151.bp_select_menu_grid_option_module_dragging--1b151,.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151:active{
|
|
11683
11738
|
background:var(--select-menu-grid-option-labeled-background-color-active);
|
|
11684
11739
|
box-shadow:var(--select-menu-grid-option-labeled-box-shadow);
|
|
11685
11740
|
}
|
|
11686
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11741
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151.bp_select_menu_grid_option_module_active--1b151 .bp_select_menu_grid_option_module_iconContainer--1b151,.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151:active .bp_select_menu_grid_option_module_iconContainer--1b151{
|
|
11687
11742
|
background-color:var(--icon-background);
|
|
11688
11743
|
}
|
|
11689
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11744
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151.bp_select_menu_grid_option_module_dragging--1b151{
|
|
11690
11745
|
box-shadow:var(--select-menu-grid-option-labeled-box-shadow-dragging);
|
|
11691
11746
|
}
|
|
11692
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11747
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151.bp_select_menu_grid_option_module_dragging--1b151 .bp_select_menu_grid_option_module_iconContainer--1b151{
|
|
11693
11748
|
background-color:var(--icon-background-dark);
|
|
11694
11749
|
}
|
|
11695
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11750
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151.bp_select_menu_grid_option_module_dragging--1b151:hover{
|
|
11696
11751
|
cursor:grabbing;
|
|
11697
11752
|
}
|
|
11698
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11753
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151:hover:not(.bp_select_menu_grid_option_module_disabled--1b151) .bp_select_menu_grid_option_module_iconContainer--1b151{
|
|
11699
11754
|
background-color:var(--icon-background-dark);
|
|
11700
11755
|
transition:var(--select-menu-grid-option-labeled-transition);
|
|
11701
11756
|
}
|
|
11702
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11757
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151[data-focus-visible]{
|
|
11703
11758
|
box-shadow:var(--select-menu-grid-option-labeled-box-shadow-focus);
|
|
11704
11759
|
}
|
|
11705
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11760
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_labeled--1b151[data-focus-visible]:active{
|
|
11706
11761
|
background:var(--select-menu-grid-option-labeled-background-color-active);
|
|
11707
11762
|
}
|
|
11708
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11763
|
+
.bp_select_menu_grid_option_module_optionButton--1b151 .bp_select_menu_grid_option_module_square--1b151{
|
|
11709
11764
|
height:var(--select-menu-grid-option-square-height);
|
|
11710
11765
|
width:var(--select-menu-grid-option-square-width);
|
|
11711
11766
|
}
|
|
11712
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11767
|
+
.bp_select_menu_grid_option_module_optionButton--1b151 .bp_select_menu_grid_option_module_square--1b151,.bp_select_menu_grid_option_module_optionButton--1b151 .bp_select_menu_grid_option_module_square--1b151 .bp_select_menu_grid_option_module_outlineHost--1b151{
|
|
11713
11768
|
align-items:center;
|
|
11714
11769
|
border-radius:var(--select-menu-grid-option-square-border-radius);
|
|
11715
11770
|
display:flex;
|
|
11716
11771
|
justify-content:center;
|
|
11717
11772
|
}
|
|
11718
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11773
|
+
.bp_select_menu_grid_option_module_optionButton--1b151 .bp_select_menu_grid_option_module_square--1b151 .bp_select_menu_grid_option_module_outlineHost--1b151{
|
|
11719
11774
|
height:var(--select-menu-grid-option-square-outline-host-height);
|
|
11720
11775
|
width:var(--select-menu-grid-option-square-outline-host-width);
|
|
11721
11776
|
}
|
|
11722
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11777
|
+
.bp_select_menu_grid_option_module_optionButton--1b151 .bp_select_menu_grid_option_module_circle--1b151{
|
|
11723
11778
|
align-items:center;
|
|
11724
11779
|
background-clip:content-box;
|
|
11725
11780
|
background-color:var(--select-menu-grid-option-circle-background-color);
|
|
@@ -11731,10 +11786,10 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11731
11786
|
justify-content:center;
|
|
11732
11787
|
width:var(--select-menu-grid-option-circle-width);
|
|
11733
11788
|
}
|
|
11734
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11789
|
+
.bp_select_menu_grid_option_module_optionButton--1b151 .bp_select_menu_grid_option_module_circle--1b151.bp_select_menu_grid_option_module_loading--1b151{
|
|
11735
11790
|
border-color:var(--select-menu-grid-option-circle-border-color-loading);
|
|
11736
11791
|
}
|
|
11737
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11792
|
+
.bp_select_menu_grid_option_module_optionButton--1b151 .bp_select_menu_grid_option_module_circle--1b151 .bp_select_menu_grid_option_module_color--1b151{
|
|
11738
11793
|
background-color:var(--circleColor);
|
|
11739
11794
|
border:var(--select-menu-grid-option-circle-inner-border-width) solid var(--circleBorderColor);
|
|
11740
11795
|
border-radius:var(--select-menu-grid-option-circle-inner-border-radius);
|
|
@@ -11742,10 +11797,10 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11742
11797
|
height:var(--select-menu-grid-option-circle-inner-height);
|
|
11743
11798
|
width:var(--select-menu-grid-option-circle-inner-width);
|
|
11744
11799
|
}
|
|
11745
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11800
|
+
.bp_select_menu_grid_option_module_optionButton--1b151 .bp_select_menu_grid_option_module_circle--1b151 .bp_select_menu_grid_option_module_strikeThrough--1b151{
|
|
11746
11801
|
position:relative;
|
|
11747
11802
|
}
|
|
11748
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11803
|
+
.bp_select_menu_grid_option_module_optionButton--1b151 .bp_select_menu_grid_option_module_circle--1b151 .bp_select_menu_grid_option_module_strikeThrough--1b151::after{
|
|
11749
11804
|
background-color:var(--select-menu-grid-option-circle-strikethrough-background-color);
|
|
11750
11805
|
border-radius:var(--select-menu-grid-option-circle-strikethrough-border-radius);
|
|
11751
11806
|
content:"";
|
|
@@ -11756,32 +11811,32 @@ div[data-radix-popper-content-wrapper]:has([role=menu]):has([data-state=open]):h
|
|
|
11756
11811
|
transform:rotate(-45deg);
|
|
11757
11812
|
width:90%;
|
|
11758
11813
|
}
|
|
11759
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11814
|
+
.bp_select_menu_grid_option_module_optionButton--1b151:hover .bp_select_menu_grid_option_module_square--1b151,.bp_select_menu_grid_option_module_optionButton--1b151[data-focus-visible] .bp_select_menu_grid_option_module_square--1b151{
|
|
11760
11815
|
background-color:var(--select-menu-grid-option-square-background-color-hover);
|
|
11761
11816
|
}
|
|
11762
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11817
|
+
.bp_select_menu_grid_option_module_optionButton--1b151:hover .bp_select_menu_grid_option_module_circle--1b151,.bp_select_menu_grid_option_module_optionButton--1b151[data-focus-visible] .bp_select_menu_grid_option_module_circle--1b151{
|
|
11763
11818
|
background-color:var(--select-menu-grid-option-circle-background-color-hover);
|
|
11764
11819
|
}
|
|
11765
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11820
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_active--1b151 .bp_select_menu_grid_option_module_square--1b151,.bp_select_menu_grid_option_module_optionButton--1b151:active .bp_select_menu_grid_option_module_square--1b151{
|
|
11766
11821
|
background-color:var(--select-menu-grid-option-square-background-color-active);
|
|
11767
11822
|
}
|
|
11768
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11823
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_active--1b151 .bp_select_menu_grid_option_module_circle--1b151,.bp_select_menu_grid_option_module_optionButton--1b151:active .bp_select_menu_grid_option_module_circle--1b151{
|
|
11769
11824
|
border:var(--select-menu-grid-option-circle-inner-border-width-active) solid var(--circleColor);
|
|
11770
11825
|
}
|
|
11771
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11826
|
+
.bp_select_menu_grid_option_module_optionButton--1b151.bp_select_menu_grid_option_module_loading--1b151,.bp_select_menu_grid_option_module_optionButton--1b151:disabled{
|
|
11772
11827
|
cursor:default;
|
|
11773
11828
|
}
|
|
11774
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11829
|
+
.bp_select_menu_grid_option_module_optionButton--1b151[data-focus-visible] .bp_select_menu_grid_option_module_outlineHost--1b151{
|
|
11775
11830
|
box-shadow:var(--select-menu-grid-option-circle-outline-host-box-shadow-focus);
|
|
11776
11831
|
}
|
|
11777
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11832
|
+
.bp_select_menu_grid_option_module_optionButton--1b151[data-focus-visible] .bp_select_menu_grid_option_module_circle--1b151{
|
|
11778
11833
|
border-color:var(--select-menu-grid-option-circle-border-color-hover);
|
|
11779
11834
|
}
|
|
11780
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11835
|
+
.bp_select_menu_grid_option_module_optionButton--1b151[data-focus-visible].bp_select_menu_grid_option_module_active--1b151 .bp_select_menu_grid_option_module_circle--1b151,.bp_select_menu_grid_option_module_optionButton--1b151[data-focus-visible]:active .bp_select_menu_grid_option_module_circle--1b151{
|
|
11781
11836
|
border:var(--select-menu-grid-option-circle-border-width-focus-active) solid var(--circleColor);
|
|
11782
11837
|
box-shadow:var(--select-menu-grid-option-circle-box-shadow-focus-active);
|
|
11783
11838
|
}
|
|
11784
|
-
.bp_select_menu_grid_option_module_optionButton--
|
|
11839
|
+
.bp_select_menu_grid_option_module_optionButton--1b151:disabled:not(.bp_select_menu_grid_option_module_loading--1b151){
|
|
11785
11840
|
opacity:.3;
|
|
11786
11841
|
}
|
|
11787
11842
|
|
|
@@ -3,44 +3,82 @@ import { AlertBadge } from '@box/blueprint-web-assets/icons/Fill';
|
|
|
3
3
|
import { AlertCircle } from '@box/blueprint-web-assets/icons/Medium';
|
|
4
4
|
import { Size4, IconIconErrorOnLight, bpSize050 } from '@box/blueprint-web-assets/tokens/tokens';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
-
import { forwardRef } from 'react';
|
|
6
|
+
import { forwardRef, useCallback } from 'react';
|
|
7
|
+
import '../../blueprint-configuration-context/blueprint-configuration-context.js';
|
|
8
|
+
import '../../blueprint-configuration-context/consts.js';
|
|
9
|
+
import { useBlueprintConfiguration } from '../../blueprint-configuration-context/useBlueprintConfiguration.js';
|
|
7
10
|
import { useBlueprintModernization } from '../../blueprint-modernization-context/useBlueprintModernization.js';
|
|
11
|
+
import { useInlineErrorPresence } from './utils/use-inline-error-presence.js';
|
|
8
12
|
import styles from './inline-error.module.js';
|
|
9
13
|
|
|
14
|
+
const renderErrorContent = (content, enableModernizedComponents, errorIconClassName) => content && (!enableModernizedComponents ? jsxs(Fragment, {
|
|
15
|
+
children: [jsx(AlertBadge, {
|
|
16
|
+
className: errorIconClassName,
|
|
17
|
+
color: IconIconErrorOnLight,
|
|
18
|
+
height: Size4,
|
|
19
|
+
role: "presentation",
|
|
20
|
+
width: Size4
|
|
21
|
+
}), content]
|
|
22
|
+
}) : jsxs(Fragment, {
|
|
23
|
+
children: [jsx(AlertCircle, {
|
|
24
|
+
className: errorIconClassName,
|
|
25
|
+
color: IconIconErrorOnLight,
|
|
26
|
+
height: bpSize050,
|
|
27
|
+
role: "presentation",
|
|
28
|
+
width: bpSize050
|
|
29
|
+
}), content]
|
|
30
|
+
}));
|
|
10
31
|
/** Renders an inline error message and icon, used to show error state in form elements. */
|
|
11
32
|
const InlineError = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
12
33
|
const {
|
|
13
34
|
children,
|
|
14
35
|
className,
|
|
36
|
+
onAnimationEnd: onAnimationEndProp,
|
|
15
37
|
...rest
|
|
16
38
|
} = props;
|
|
17
39
|
const {
|
|
18
40
|
enableModernizedComponents
|
|
19
41
|
} = useBlueprintModernization();
|
|
42
|
+
const {
|
|
43
|
+
componentsWithAnimationEnabled
|
|
44
|
+
} = useBlueprintConfiguration();
|
|
45
|
+
const isAnimationEnabled = componentsWithAnimationEnabled.includes('InlineError');
|
|
46
|
+
const useModernizedAnimation = isAnimationEnabled && enableModernizedComponents;
|
|
47
|
+
const presence = useInlineErrorPresence(children, useModernizedAnimation);
|
|
48
|
+
const {
|
|
49
|
+
onAnimationEnd: onPresenceAnimationEnd
|
|
50
|
+
} = presence;
|
|
51
|
+
const handleAnimationEnd = useCallback(event => {
|
|
52
|
+
onPresenceAnimationEnd(event);
|
|
53
|
+
onAnimationEndProp?.(event);
|
|
54
|
+
}, [onPresenceAnimationEnd, onAnimationEndProp]);
|
|
55
|
+
/** Legacy path: identical DOM/CSS to pre-animation InlineError (no mount/unmount, `.empty` + `display: none`). */
|
|
56
|
+
if (!useModernizedAnimation) {
|
|
57
|
+
return jsx("span", {
|
|
58
|
+
...rest,
|
|
59
|
+
ref: forwardedRef,
|
|
60
|
+
className: clsx([className, styles.inlineError, {
|
|
61
|
+
[styles.empty]: !children
|
|
62
|
+
}]),
|
|
63
|
+
"data-modern": enableModernizedComponents ? 'true' : 'false',
|
|
64
|
+
onAnimationEnd: onAnimationEndProp,
|
|
65
|
+
children: renderErrorContent(children, enableModernizedComponents, styles.errorIcon)
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/** `return null` when there is no error (and we are not in the exit phase): no visible slot for the
|
|
69
|
+
message — layout matches legacy (legacy hides the same slot via `.empty` + `display: none`). */
|
|
70
|
+
if (!presence.isMounted) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
20
73
|
return jsx("span", {
|
|
21
74
|
...rest,
|
|
22
75
|
ref: forwardedRef,
|
|
23
|
-
className: clsx([className, styles.inlineError,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"data-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
className: styles.errorIcon,
|
|
30
|
-
color: IconIconErrorOnLight,
|
|
31
|
-
height: Size4,
|
|
32
|
-
role: "presentation",
|
|
33
|
-
width: Size4
|
|
34
|
-
}), children]
|
|
35
|
-
}) : jsxs(Fragment, {
|
|
36
|
-
children: [jsx(AlertCircle, {
|
|
37
|
-
className: styles.errorIcon,
|
|
38
|
-
color: IconIconErrorOnLight,
|
|
39
|
-
height: bpSize050,
|
|
40
|
-
role: "presentation",
|
|
41
|
-
width: bpSize050
|
|
42
|
-
}), children]
|
|
43
|
-
}))
|
|
76
|
+
className: clsx([className, styles.inlineError, styles.animated]),
|
|
77
|
+
"data-bp-animated": "true",
|
|
78
|
+
"data-modern": "true",
|
|
79
|
+
"data-state": presence.presenceState,
|
|
80
|
+
onAnimationEnd: handleAnimationEnd,
|
|
81
|
+
children: renderErrorContent(presence.content, enableModernizedComponents, styles.errorIcon)
|
|
44
82
|
});
|
|
45
83
|
});
|
|
46
84
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '../../index.css';
|
|
2
|
-
var styles = {"inlineError":"bp_inline_error_module_inlineError--
|
|
2
|
+
var styles = {"inlineError":"bp_inline_error_module_inlineError--e70b6","empty":"bp_inline_error_module_empty--e70b6","errorIcon":"bp_inline_error_module_errorIcon--e70b6","animated":"bp_inline_error_module_animated--e70b6"};
|
|
3
3
|
|
|
4
4
|
export { styles as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type AnimationEvent } from 'react';
|
|
2
|
+
type PresenceState = 'open' | 'closed';
|
|
3
|
+
/**
|
|
4
|
+
* Exit-animation presence for `InlineError`. Pattern inspired by Radix UI `usePresence`:
|
|
5
|
+
* keep the node mounted while exit CSS runs, then unmount on `animationend`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useInlineErrorPresence(children: React.ReactNode, isAnimationEnabled: boolean): {
|
|
8
|
+
content: string | number | boolean | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | import("react").ReactPortal | null | undefined;
|
|
9
|
+
isMounted: boolean;
|
|
10
|
+
presenceState: PresenceState | undefined;
|
|
11
|
+
onAnimationEnd: (e: AnimationEvent<HTMLSpanElement>) => void;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import noop from 'lodash/noop';
|
|
2
|
+
import { useState, useCallback } from 'react';
|
|
3
|
+
import { useEnhancedEffect } from '../../../utils/useEnhancedEffect.js';
|
|
4
|
+
|
|
5
|
+
const animationEndNoop = noop;
|
|
6
|
+
/**
|
|
7
|
+
* Exit-animation presence for `InlineError`. Pattern inspired by Radix UI `usePresence`:
|
|
8
|
+
* keep the node mounted while exit CSS runs, then unmount on `animationend`.
|
|
9
|
+
*/
|
|
10
|
+
function useInlineErrorPresence(children, isAnimationEnabled) {
|
|
11
|
+
const hasContent = Boolean(children);
|
|
12
|
+
const [renderedChildren, setRenderedChildren] = useState(children);
|
|
13
|
+
const [presenceState, setPresenceState] = useState(() => isAnimationEnabled && hasContent ? 'open' : undefined);
|
|
14
|
+
const isMounted = isAnimationEnabled && (presenceState === 'open' || presenceState === 'closed');
|
|
15
|
+
const unmountAfterExit = useCallback(() => {
|
|
16
|
+
setPresenceState(undefined);
|
|
17
|
+
setRenderedChildren(undefined);
|
|
18
|
+
}, []);
|
|
19
|
+
const onAnimationEnd = useCallback(e => {
|
|
20
|
+
if (e.target !== e.currentTarget || presenceState !== 'closed') {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
unmountAfterExit();
|
|
24
|
+
}, [presenceState, unmountAfterExit]);
|
|
25
|
+
useEnhancedEffect(() => {
|
|
26
|
+
if (!isAnimationEnabled) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (hasContent) {
|
|
30
|
+
setRenderedChildren(children);
|
|
31
|
+
setPresenceState('open');
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
setPresenceState(current => current === 'open' ? 'closed' : current);
|
|
35
|
+
}, [children, isAnimationEnabled, hasContent]);
|
|
36
|
+
// When `isAnimationEnabled` is false (legacy path), return a no-op result: no mount/unmount, no exit animation.
|
|
37
|
+
// `inline-error.tsx` ignores `presence` and renders the legacy `<span>` + `.empty` instead.
|
|
38
|
+
if (!isAnimationEnabled) {
|
|
39
|
+
return {
|
|
40
|
+
content: children,
|
|
41
|
+
isMounted: false,
|
|
42
|
+
presenceState: undefined,
|
|
43
|
+
onAnimationEnd: animationEndNoop
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
content: renderedChildren,
|
|
48
|
+
isMounted,
|
|
49
|
+
presenceState,
|
|
50
|
+
onAnimationEnd
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { useInlineErrorPresence };
|
|
@@ -42,17 +42,33 @@ export declare const SelectMenuGridColorCircle: import("react").ForwardRefExotic
|
|
|
42
42
|
color: string;
|
|
43
43
|
}, "ref">) & import("react").RefAttributes<HTMLButtonElement>>;
|
|
44
44
|
export declare const SelectMenuGridWithLabel: import("react").ForwardRefExoticComponent<(Omit<Omit<import("./types").CommonOptionProps, "draggable" | "aria-label" | "tooltipSide"> & {
|
|
45
|
-
size: "default" | "large";
|
|
46
45
|
colorVariant: "default" | "box" | "forms" | "docgen" | "sign";
|
|
47
46
|
icon: import("react").FunctionComponent<import("react").PropsWithChildren<import("react").SVGProps<SVGSVGElement>>>;
|
|
48
47
|
label: string;
|
|
49
|
-
} & Required<Pick<import("./types").Dragging, keyof import("./types").Dragging>> & Omit<import("./types").Dragging, keyof import("./types").Dragging
|
|
50
|
-
size: "default"
|
|
48
|
+
} & Required<Pick<import("./types").Dragging, keyof import("./types").Dragging>> & Omit<import("./types").Dragging, keyof import("./types").Dragging> & {
|
|
49
|
+
size: "default";
|
|
50
|
+
}, "ref"> | Omit<Omit<import("./types").CommonOptionProps, "draggable" | "aria-label" | "tooltipSide"> & {
|
|
51
|
+
colorVariant: "default" | "box" | "forms" | "docgen" | "sign";
|
|
52
|
+
icon: import("react").FunctionComponent<import("react").PropsWithChildren<import("react").SVGProps<SVGSVGElement>>>;
|
|
53
|
+
label: string;
|
|
54
|
+
} & Partial<Record<keyof import("./types").Dragging, never>> & Omit<import("./types").Dragging, keyof import("./types").Dragging> & {
|
|
55
|
+
size: "default";
|
|
56
|
+
}, "ref"> | Omit<Omit<import("./types").CommonOptionProps, "draggable" | "aria-label" | "tooltipSide"> & {
|
|
57
|
+
colorVariant: "default" | "box" | "forms" | "docgen" | "sign";
|
|
58
|
+
icon: import("react").FunctionComponent<import("react").PropsWithChildren<import("react").SVGProps<SVGSVGElement>>>;
|
|
59
|
+
label: string;
|
|
60
|
+
} & Required<Pick<import("./types").Dragging, keyof import("./types").Dragging>> & Omit<import("./types").Dragging, keyof import("./types").Dragging> & {
|
|
61
|
+
size: "large";
|
|
62
|
+
description?: string;
|
|
63
|
+
}, "ref"> | Omit<Omit<import("./types").CommonOptionProps, "draggable" | "aria-label" | "tooltipSide"> & {
|
|
51
64
|
colorVariant: "default" | "box" | "forms" | "docgen" | "sign";
|
|
52
65
|
icon: import("react").FunctionComponent<import("react").PropsWithChildren<import("react").SVGProps<SVGSVGElement>>>;
|
|
53
66
|
label: string;
|
|
54
|
-
} & Partial<Record<keyof import("./types").Dragging, never>> & Omit<import("./types").Dragging, keyof import("./types").Dragging
|
|
55
|
-
|
|
67
|
+
} & Partial<Record<keyof import("./types").Dragging, never>> & Omit<import("./types").Dragging, keyof import("./types").Dragging> & {
|
|
68
|
+
size: "large";
|
|
69
|
+
description?: string;
|
|
70
|
+
}, "ref">) & import("react").RefAttributes<HTMLButtonElement>>;
|
|
71
|
+
export declare const SelectMenuGridOption: import("react").ForwardRefExoticComponent<(Omit<{
|
|
56
72
|
'aria-label': string;
|
|
57
73
|
tooltipSide?: "top" | "bottom" | "left" | "right";
|
|
58
74
|
active?: boolean;
|
|
@@ -62,41 +78,9 @@ export declare const SelectMenuGridOption: import("react").ForwardRefExoticCompo
|
|
|
62
78
|
[index: `data-${string}`]: unknown;
|
|
63
79
|
} & {
|
|
64
80
|
children: React.ReactNode;
|
|
65
|
-
}> & Partial<{
|
|
66
|
-
'aria-label': string;
|
|
67
|
-
tooltipSide?: "top" | "bottom" | "left" | "right";
|
|
68
|
-
active?: boolean;
|
|
69
|
-
} & Required<Pick<import("./types").Loading, keyof import("./types").Loading>> & Omit<import("./types").Loading, keyof import("./types").Loading> & import("@ariakit/react").ButtonOptions<"button"> & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
|
|
70
|
-
ref?: ((instance: HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLButtonElement> | null | undefined;
|
|
71
|
-
}, keyof import("@ariakit/react").ButtonOptions<T>> & {
|
|
72
|
-
[index: `data-${string}`]: unknown;
|
|
73
81
|
} & {
|
|
74
|
-
|
|
75
|
-
}>
|
|
76
|
-
variant: "square" | "colorCircle";
|
|
77
|
-
}, "ref"> | Omit<Partial<{
|
|
78
|
-
'aria-label': string;
|
|
79
|
-
tooltipSide?: "top" | "bottom" | "left" | "right";
|
|
80
|
-
active?: boolean;
|
|
81
|
-
} & Required<Pick<import("./types").Loading, keyof import("./types").Loading>> & Omit<import("./types").Loading, keyof import("./types").Loading> & import("@ariakit/react").ButtonOptions<"button"> & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
|
|
82
|
-
ref?: ((instance: HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLButtonElement> | null | undefined;
|
|
83
|
-
}, keyof import("@ariakit/react").ButtonOptions<T>> & {
|
|
84
|
-
[index: `data-${string}`]: unknown;
|
|
85
|
-
} & {
|
|
86
|
-
children: React.ReactNode;
|
|
87
|
-
}> & Partial<{
|
|
88
|
-
'aria-label': string;
|
|
89
|
-
tooltipSide?: "top" | "bottom" | "left" | "right";
|
|
90
|
-
active?: boolean;
|
|
91
|
-
} & Partial<Record<keyof import("./types").Loading, never>> & Omit<import("./types").Loading, keyof import("./types").Loading> & import("@ariakit/react").ButtonOptions<"button"> & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
|
|
92
|
-
ref?: ((instance: HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLButtonElement> | null | undefined;
|
|
93
|
-
}, keyof import("@ariakit/react").ButtonOptions<T>> & {
|
|
94
|
-
[index: `data-${string}`]: unknown;
|
|
95
|
-
} & {
|
|
96
|
-
color: string;
|
|
97
|
-
}> & {
|
|
98
|
-
variant: "square" | "colorCircle";
|
|
99
|
-
}, "ref"> | Omit<Partial<{
|
|
82
|
+
variant: "square";
|
|
83
|
+
}, "ref"> | Omit<{
|
|
100
84
|
'aria-label': string;
|
|
101
85
|
tooltipSide?: "top" | "bottom" | "left" | "right";
|
|
102
86
|
active?: boolean;
|
|
@@ -106,7 +90,9 @@ export declare const SelectMenuGridOption: import("react").ForwardRefExoticCompo
|
|
|
106
90
|
[index: `data-${string}`]: unknown;
|
|
107
91
|
} & {
|
|
108
92
|
children: React.ReactNode;
|
|
109
|
-
}
|
|
93
|
+
} & {
|
|
94
|
+
variant: "square";
|
|
95
|
+
}, "ref"> | Omit<{
|
|
110
96
|
'aria-label': string;
|
|
111
97
|
tooltipSide?: "top" | "bottom" | "left" | "right";
|
|
112
98
|
active?: boolean;
|
|
@@ -116,19 +102,9 @@ export declare const SelectMenuGridOption: import("react").ForwardRefExoticCompo
|
|
|
116
102
|
[index: `data-${string}`]: unknown;
|
|
117
103
|
} & {
|
|
118
104
|
color: string;
|
|
119
|
-
}> & {
|
|
120
|
-
variant: "square" | "colorCircle";
|
|
121
|
-
}, "ref"> | Omit<Partial<{
|
|
122
|
-
'aria-label': string;
|
|
123
|
-
tooltipSide?: "top" | "bottom" | "left" | "right";
|
|
124
|
-
active?: boolean;
|
|
125
|
-
} & Partial<Record<keyof import("./types").Loading, never>> & Omit<import("./types").Loading, keyof import("./types").Loading> & import("@ariakit/react").ButtonOptions<"button"> & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
|
|
126
|
-
ref?: ((instance: HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLButtonElement> | null | undefined;
|
|
127
|
-
}, keyof import("@ariakit/react").ButtonOptions<T>> & {
|
|
128
|
-
[index: `data-${string}`]: unknown;
|
|
129
105
|
} & {
|
|
130
|
-
|
|
131
|
-
}>
|
|
106
|
+
variant: "colorCircle";
|
|
107
|
+
}, "ref"> | Omit<{
|
|
132
108
|
'aria-label': string;
|
|
133
109
|
tooltipSide?: "top" | "bottom" | "left" | "right";
|
|
134
110
|
active?: boolean;
|
|
@@ -138,21 +114,43 @@ export declare const SelectMenuGridOption: import("react").ForwardRefExoticCompo
|
|
|
138
114
|
[index: `data-${string}`]: unknown;
|
|
139
115
|
} & {
|
|
140
116
|
color: string;
|
|
141
|
-
}
|
|
142
|
-
variant: "
|
|
117
|
+
} & {
|
|
118
|
+
variant: "colorCircle";
|
|
143
119
|
}, "ref"> | Omit<Omit<import("./types").CommonOptionProps, "draggable" | "aria-label" | "tooltipSide"> & {
|
|
144
|
-
size: "default" | "large";
|
|
145
120
|
colorVariant: "default" | "box" | "forms" | "docgen" | "sign";
|
|
146
121
|
icon: import("react").FunctionComponent<import("react").PropsWithChildren<import("react").SVGProps<SVGSVGElement>>>;
|
|
147
122
|
label: string;
|
|
148
123
|
} & Required<Pick<import("./types").Dragging, keyof import("./types").Dragging>> & Omit<import("./types").Dragging, keyof import("./types").Dragging> & {
|
|
124
|
+
size: "default";
|
|
125
|
+
} & {
|
|
149
126
|
variant: "labeled";
|
|
150
127
|
}, "ref"> | Omit<Omit<import("./types").CommonOptionProps, "draggable" | "aria-label" | "tooltipSide"> & {
|
|
151
|
-
size: "default" | "large";
|
|
152
128
|
colorVariant: "default" | "box" | "forms" | "docgen" | "sign";
|
|
153
129
|
icon: import("react").FunctionComponent<import("react").PropsWithChildren<import("react").SVGProps<SVGSVGElement>>>;
|
|
154
130
|
label: string;
|
|
155
131
|
} & Partial<Record<keyof import("./types").Dragging, never>> & Omit<import("./types").Dragging, keyof import("./types").Dragging> & {
|
|
132
|
+
size: "default";
|
|
133
|
+
} & {
|
|
134
|
+
variant: "labeled";
|
|
135
|
+
}, "ref"> | Omit<Omit<import("./types").CommonOptionProps, "draggable" | "aria-label" | "tooltipSide"> & {
|
|
136
|
+
colorVariant: "default" | "box" | "forms" | "docgen" | "sign";
|
|
137
|
+
icon: import("react").FunctionComponent<import("react").PropsWithChildren<import("react").SVGProps<SVGSVGElement>>>;
|
|
138
|
+
label: string;
|
|
139
|
+
} & Required<Pick<import("./types").Dragging, keyof import("./types").Dragging>> & Omit<import("./types").Dragging, keyof import("./types").Dragging> & {
|
|
140
|
+
size: "large";
|
|
141
|
+
description?: string;
|
|
142
|
+
} & {
|
|
143
|
+
variant: "labeled";
|
|
144
|
+
}, "ref"> | Omit<Omit<import("./types").CommonOptionProps, "draggable" | "aria-label" | "tooltipSide"> & {
|
|
145
|
+
colorVariant: "default" | "box" | "forms" | "docgen" | "sign";
|
|
146
|
+
icon: import("react").FunctionComponent<import("react").PropsWithChildren<import("react").SVGProps<SVGSVGElement>>>;
|
|
147
|
+
label: string;
|
|
148
|
+
} & Partial<Record<keyof import("./types").Dragging, never>> & Omit<import("./types").Dragging, keyof import("./types").Dragging> & {
|
|
149
|
+
size: "large";
|
|
150
|
+
description?: string;
|
|
151
|
+
} & {
|
|
156
152
|
variant: "labeled";
|
|
157
153
|
}, "ref">) & import("react").RefAttributes<HTMLButtonElement>>;
|
|
158
|
-
export declare const ItemWithLabel: ({ size, colorVariant, label, icon, }: Pick<SelectMenuGridWithLabelProps, "
|
|
154
|
+
export declare const ItemWithLabel: ({ size, colorVariant, label, description, icon, }: Pick<SelectMenuGridWithLabelProps, "colorVariant" | "icon" | "label" | "size"> & {
|
|
155
|
+
description?: string;
|
|
156
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -46,8 +46,21 @@ const SelectMenuGridOption = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
46
46
|
const isButtonActive = !disabled && !loading && active;
|
|
47
47
|
const isButtonDragged = isWithLabel && !isButtonDisabled && props.draggable && props.dragging;
|
|
48
48
|
const shouldShowTooltip = !isButtonDisabled && !isWithLabel;
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
let ariaLabel;
|
|
50
|
+
if (variant === 'labeled') {
|
|
51
|
+
const {
|
|
52
|
+
label,
|
|
53
|
+
size
|
|
54
|
+
} = props;
|
|
55
|
+
if (size === 'large' && props.description) {
|
|
56
|
+
ariaLabel = `${label}. ${props.description}`;
|
|
57
|
+
} else {
|
|
58
|
+
ariaLabel = label;
|
|
59
|
+
}
|
|
60
|
+
} else {
|
|
61
|
+
ariaLabel = props['aria-label'];
|
|
62
|
+
}
|
|
63
|
+
const buttonProps = isWithLabel ? omit(restProps, ['colorVariant', 'icon', 'dragging', 'label', 'description']) : restProps;
|
|
51
64
|
// TODO: [DSYS-764] use IconButton instead of AriakitButton
|
|
52
65
|
const button = jsx(CompositeItem, {
|
|
53
66
|
render: jsxs(Button, {
|
|
@@ -153,6 +166,7 @@ const ItemWithLabel = ({
|
|
|
153
166
|
size,
|
|
154
167
|
colorVariant,
|
|
155
168
|
label,
|
|
169
|
+
description,
|
|
156
170
|
icon
|
|
157
171
|
}) => {
|
|
158
172
|
const {
|
|
@@ -168,11 +182,22 @@ const ItemWithLabel = ({
|
|
|
168
182
|
children: [jsx("div", {
|
|
169
183
|
className: clsx(styles.iconContainer, styles[`iconContainer--${colorVariant}`], styles[`iconContainer--size-${size}`]),
|
|
170
184
|
children: iconElement
|
|
171
|
-
}),
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
children:
|
|
185
|
+
}), jsxs("div", {
|
|
186
|
+
className: clsx(styles.labelContent, {
|
|
187
|
+
[styles['labelContent--withDescription']]: description
|
|
188
|
+
}),
|
|
189
|
+
children: [jsx(Text, {
|
|
190
|
+
as: "span",
|
|
191
|
+
className: clsx(styles.text, styles[`text--${size}`]),
|
|
192
|
+
variant: size === 'default' ? 'caption' : 'bodyDefaultBold',
|
|
193
|
+
children: label
|
|
194
|
+
}), description && jsx(Text, {
|
|
195
|
+
as: "span",
|
|
196
|
+
className: styles.description,
|
|
197
|
+
color: "textOnLightSecondary",
|
|
198
|
+
variant: "caption",
|
|
199
|
+
children: description
|
|
200
|
+
})]
|
|
176
201
|
})]
|
|
177
202
|
});
|
|
178
203
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '../../index.css';
|
|
2
|
-
var styles = {"buttonWrapper":"bp_select_menu_grid_option_module_buttonWrapper--
|
|
2
|
+
var styles = {"buttonWrapper":"bp_select_menu_grid_option_module_buttonWrapper--1b151","withLabel":"bp_select_menu_grid_option_module_withLabel--1b151","withLabel--default":"bp_select_menu_grid_option_module_withLabel--default--1b151","optionButton":"bp_select_menu_grid_option_module_optionButton--1b151","labeled":"bp_select_menu_grid_option_module_labeled--1b151","labelContent":"bp_select_menu_grid_option_module_labelContent--1b151","labelContent--withDescription":"bp_select_menu_grid_option_module_labelContent--withDescription--1b151","text":"bp_select_menu_grid_option_module_text--1b151","text--large":"bp_select_menu_grid_option_module_text--large--1b151","text--default":"bp_select_menu_grid_option_module_text--default--1b151","description":"bp_select_menu_grid_option_module_description--1b151","iconContainer":"bp_select_menu_grid_option_module_iconContainer--1b151","iconContainer--size-default":"bp_select_menu_grid_option_module_iconContainer--size-default--1b151","iconContainer--size-large":"bp_select_menu_grid_option_module_iconContainer--size-large--1b151","iconContainer--default":"bp_select_menu_grid_option_module_iconContainer--default--1b151","iconContainer--box":"bp_select_menu_grid_option_module_iconContainer--box--1b151","iconContainer--docgen":"bp_select_menu_grid_option_module_iconContainer--docgen--1b151","iconContainer--forms":"bp_select_menu_grid_option_module_iconContainer--forms--1b151","iconContainer--sign":"bp_select_menu_grid_option_module_iconContainer--sign--1b151","active":"bp_select_menu_grid_option_module_active--1b151","dragging":"bp_select_menu_grid_option_module_dragging--1b151","disabled":"bp_select_menu_grid_option_module_disabled--1b151","square":"bp_select_menu_grid_option_module_square--1b151","outlineHost":"bp_select_menu_grid_option_module_outlineHost--1b151","circle":"bp_select_menu_grid_option_module_circle--1b151","loading":"bp_select_menu_grid_option_module_loading--1b151","color":"bp_select_menu_grid_option_module_color--1b151","strikeThrough":"bp_select_menu_grid_option_module_strikeThrough--1b151"};
|
|
3
3
|
|
|
4
4
|
export { styles as default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ButtonProps as AriakitButtonProps, type CompositeProps, type CompositeRowProps } from '@ariakit/react';
|
|
2
|
-
import { type RequireAllOrNone } from 'type-fest';
|
|
3
2
|
import { type FunctionComponent, type PropsWithChildren, type SVGProps } from 'react';
|
|
3
|
+
import { type RequireAllOrNone } from 'type-fest';
|
|
4
4
|
export interface Loading {
|
|
5
5
|
/** Loading state of the grid option. Ghost section is displaying as a placeholder. When this is true `loadingAriaLabel` must also be provided. */
|
|
6
6
|
loading: boolean;
|
|
@@ -27,15 +27,23 @@ export type SelectMenuGridColorCircleProps = CommonOptionProps & {
|
|
|
27
27
|
/** The color of the swatch */
|
|
28
28
|
color: string;
|
|
29
29
|
};
|
|
30
|
-
|
|
31
|
-
size: 'default' | 'large';
|
|
30
|
+
type SelectMenuGridWithLabelBase = Omit<CommonOptionProps, 'aria-label' | 'tooltipSide' | 'draggable'> & {
|
|
32
31
|
colorVariant: 'default' | 'box' | 'forms' | 'docgen' | 'sign';
|
|
33
32
|
icon: FunctionComponent<PropsWithChildren<SVGProps<SVGSVGElement>>>;
|
|
34
33
|
label: string;
|
|
35
34
|
} & RequireAllOrNone<Dragging, keyof Dragging>;
|
|
36
|
-
export type
|
|
37
|
-
|
|
38
|
-
}
|
|
35
|
+
export type SelectMenuGridWithLabelProps = (SelectMenuGridWithLabelBase & {
|
|
36
|
+
size: 'default';
|
|
37
|
+
}) | (SelectMenuGridWithLabelBase & {
|
|
38
|
+
/** Secondary text shown below the label. Only supported when `size` is `large`. */
|
|
39
|
+
size: 'large';
|
|
40
|
+
description?: string;
|
|
41
|
+
});
|
|
42
|
+
export type SelectMenuOptionIconsProps = (SelectMenuGridSquareProps & {
|
|
43
|
+
variant: 'square';
|
|
44
|
+
}) | (SelectMenuGridColorCircleProps & {
|
|
45
|
+
variant: 'colorCircle';
|
|
46
|
+
});
|
|
39
47
|
export type SelectMenuOptionProps = SelectMenuOptionIconsProps | (SelectMenuGridWithLabelProps & {
|
|
40
48
|
variant: 'labeled';
|
|
41
49
|
});
|
|
@@ -46,3 +54,4 @@ export type SelectMenuGridProps = {
|
|
|
46
54
|
/** The number of columns to slice the grid options into */
|
|
47
55
|
columns: number;
|
|
48
56
|
} & CompositeProps;
|
|
57
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@box/blueprint-web",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.4.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.121.
|
|
50
|
+
"@box/blueprint-web-assets": "^4.121.7",
|
|
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.20.
|
|
80
|
+
"@box/storybook-utils": "^0.20.7",
|
|
81
81
|
"@figma/code-connect": "1.4.4",
|
|
82
82
|
"@types/react": "^18.0.0",
|
|
83
83
|
"@types/react-dom": "^18.0.0",
|