@box/blueprint-web 6.0.3 → 6.1.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.
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { type CellProps } from '../../list-item/cell/cell';
3
+ export type StickyCellProps = CellProps;
4
+ export declare const StickyCell: import("react").ForwardRefExoticComponent<CellProps & import("react").RefAttributes<HTMLTableCellElement>>;
@@ -0,0 +1,36 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import clsx from 'clsx';
3
+ import { forwardRef } from 'react';
4
+ import { Cell } from '../../list-item/index.js';
5
+ import { useScrollContext } from '../../util-components/scrollable-container/scrollable-container.js';
6
+ import styles from './sticky-cell.module.js';
7
+
8
+ const StickyCell = /*#__PURE__*/forwardRef((props, ref) => {
9
+ const {
10
+ children,
11
+ className,
12
+ ...rest
13
+ } = props;
14
+ const {
15
+ isScrolledX
16
+ } = useScrollContext();
17
+ return jsxs(Cell, {
18
+ ref: ref,
19
+ className: clsx(styles.stickyCell, className),
20
+ ...rest,
21
+ children: [jsx("div", {
22
+ className: styles.stickyCellLeft
23
+ }), jsx("div", {
24
+ className: styles.childrenWrapper,
25
+ children: children
26
+ }), jsx("div", {
27
+ className: styles.stickyCellRight
28
+ }), jsx("div", {
29
+ className: clsx(styles.verticalBar, {
30
+ [styles.isScrolledX]: isScrolledX
31
+ })
32
+ })]
33
+ });
34
+ });
35
+
36
+ export { StickyCell };
@@ -0,0 +1,4 @@
1
+ import '../../index.css';
2
+ var styles = {"stickyCell":"sticky-cell-module_stickyCell__-Rl0x","childrenWrapper":"sticky-cell-module_childrenWrapper__qjguw","verticalBar":"sticky-cell-module_verticalBar__AgXfU","isScrolledX":"sticky-cell-module_isScrolledX__xcMJ6","stickyCellLeft":"sticky-cell-module_stickyCellLeft__F3YAG","stickyCellRight":"sticky-cell-module_stickyCellRight__yQjUM"};
3
+
4
+ export { styles as default };
@@ -1,6 +1,5 @@
1
1
  import { type HTMLAttributes, type ReactNode } from 'react';
2
- interface TableWrapperProps extends HTMLAttributes<HTMLDivElement> {
2
+ export interface DataTableWrapperProps extends HTMLAttributes<HTMLDivElement> {
3
3
  children: ReactNode;
4
4
  }
5
- export declare const DataTableWrapper: import("react").ForwardRefExoticComponent<TableWrapperProps & import("react").RefAttributes<HTMLDivElement>>;
6
- export {};
5
+ export declare const DataTableWrapper: import("react").ForwardRefExoticComponent<DataTableWrapperProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
3
  import { forwardRef, useRef } from 'react';
4
- import { useScroll } from '../util-components/scrollable-container/scrollable-container.js';
4
+ import { useScroll, ScrollContext } from '../util-components/scrollable-container/scrollable-container.js';
5
5
  import { useForkRef } from '../utils/useForkRef.js';
6
6
  import styles from './data-table.module.js';
7
7
 
@@ -14,23 +14,27 @@ const DataTableWrapper = /*#__PURE__*/forwardRef((props, forwardedRef) => {
14
14
  } = props;
15
15
  const localRef = useRef(null);
16
16
  const {
17
- value: {
18
- offsetTillEndX,
19
- isScrolledX,
20
- isScrolledY
21
- },
17
+ value,
22
18
  onScrollThrottled
23
19
  } = useScroll(localRef);
24
- return jsx("div", {
25
- ref: useForkRef(localRef, forwardedRef),
26
- className: clsx({
27
- [styles.hideActionWrapperRight]: offsetTillEndX <= hideActionWrapperRightOffsetPx,
28
- [styles.isScrolledY]: isScrolledY,
29
- [styles.isScrolledX]: isScrolledX
30
- }, styles.dataTableWrapper, className),
31
- onScroll: onScrollThrottled,
32
- ...rest,
33
- children: children
20
+ const {
21
+ offsetTillEndX,
22
+ isScrolledX,
23
+ isScrolledY
24
+ } = value;
25
+ return jsx(ScrollContext.Provider, {
26
+ value: value,
27
+ children: jsx("div", {
28
+ ref: useForkRef(localRef, forwardedRef),
29
+ className: clsx({
30
+ [styles.hideActionWrapperRight]: offsetTillEndX <= hideActionWrapperRightOffsetPx,
31
+ [styles.isScrolledY]: isScrolledY,
32
+ [styles.isScrolledX]: isScrolledX
33
+ }, styles.dataTableWrapper, className),
34
+ onScroll: onScrollThrottled,
35
+ ...rest,
36
+ children: children
37
+ })
34
38
  });
35
39
  });
36
40
 
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare const DataTableWrapper: import("react").ForwardRefExoticComponent<import("./data-table-wrapper").DataTableWrapperProps & import("react").RefAttributes<HTMLDivElement>>;
3
+ export declare const StickyCell: import("react").ForwardRefExoticComponent<import("../list-item/cell/cell").CellProps & import("react").RefAttributes<HTMLTableCellElement>>;
@@ -0,0 +1,7 @@
1
+ import { DataTableWrapper as DataTableWrapper$1 } from './data-table-wrapper.js';
2
+ import { StickyCell as StickyCell$1 } from './cell/sticky-cell.js';
3
+
4
+ const DataTableWrapper = DataTableWrapper$1;
5
+ const StickyCell = StickyCell$1;
6
+
7
+ export { DataTableWrapper, StickyCell };
@@ -1,4 +1,4 @@
1
1
  import '../index.css';
2
- var styles = {"dataTableWrapper":"data-table-module_dataTableWrapper__VYLJf","isScrolledX":"data-table-module_isScrolledX__72L-a","isScrolledY":"data-table-module_isScrolledY__arf4n","hideActionWrapperRight":"data-table-module_hideActionWrapperRight__jjb50"};
2
+ var styles = {"dataTableWrapper":"data-table-module_dataTableWrapper__VYLJf","isScrolledX":"data-table-module_isScrolledX__72L-a","hideActionWrapperRight":"data-table-module_hideActionWrapperRight__jjb50"};
3
3
 
4
4
  export { styles as default };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { type DataTableWrapperProps } from './data-table-wrapper';
3
+ import { type StickyCellProps } from './cell/sticky-cell';
4
+ export declare const DataTableWrapper: import("react").ForwardRefExoticComponent<DataTableWrapperProps & import("react").RefAttributes<HTMLDivElement>>;
5
+ export declare const StickyCell: import("react").ForwardRefExoticComponent<import("../list-item/cell/cell").CellProps & import("react").RefAttributes<HTMLTableCellElement>>;
6
+ export type { StickyCellProps, DataTableWrapperProps };
package/lib-esm/index.css CHANGED
@@ -2848,7 +2848,7 @@
2848
2848
 
2849
2849
  .data-table-module_dataTableWrapper__VYLJf{
2850
2850
  --border-radius-datatable:0;
2851
- --outline-offset-focus-and-selected-row-datatable:-0.35rem;
2851
+ --outline-offset-focus-and-selected-row-datatable:-6px;
2852
2852
  --outline-select-color-datatable:#0000;
2853
2853
  --sticky-element-z-index:2;
2854
2854
  height:100%;
@@ -2876,6 +2876,9 @@
2876
2876
  position:sticky;
2877
2877
  z-index:var(--sticky-element-z-index);
2878
2878
  }
2879
+ .data-table-module_dataTableWrapper__VYLJf table tbody > tr{
2880
+ --is-row-focused:0;
2881
+ }
2879
2882
  .data-table-module_dataTableWrapper__VYLJf table tbody > tr > td [data-actionswrapper]::after{
2880
2883
  background:inherit;
2881
2884
  content:"";
@@ -2886,243 +2889,34 @@
2886
2889
  width:100%;
2887
2890
  z-index:-1;
2888
2891
  }
2889
- .data-table-module_dataTableWrapper__VYLJf table tbody > tr > td:first-child{
2890
- background:inherit;
2891
- left:0;
2892
- position:sticky;
2893
- z-index:var(--sticky-element-z-index);
2894
- }
2895
- .data-table-module_dataTableWrapper__VYLJf table tbody > tr > td:first-child[data-focus-visible]{
2896
- position:sticky;
2897
- z-index:var(--sticky-element-z-index);
2892
+ .data-table-module_dataTableWrapper__VYLJf table tbody > tr[data-focus-visible]{
2893
+ --outline-offset-focus-cell:var(--outline-offset-focus-row);
2894
+ --is-row-focused:1;
2898
2895
  }
2899
- .data-table-module_dataTableWrapper__VYLJf table tbody > tr > td:first-child[data-focus-visible]::after{
2900
- display:none;
2896
+ .data-table-module_dataTableWrapper__VYLJf table tbody > tr[data-focus-visible][aria-selected=true]{
2897
+ --outline-offset-focus-cell:var(--outline-offset-focus-and-selected-row);
2901
2898
  }
2902
- .data-table-module_dataTableWrapper__VYLJf table tbody > tr > td:first-child::before{
2903
- background:inherit;
2904
- border-radius:unset;
2905
- box-sizing:border-box;
2906
- content:"";
2907
- height:inherit;
2908
- height:100%;
2909
- left:0;
2910
- pointer-events:none;
2911
- position:absolute;
2912
- top:0;
2913
- width:var(--space-3);
2914
- width:calc(100% + var(--outline-offset-focus-row));
2915
- z-index:-1;
2899
+
2900
+ .data-table-module_isScrolledX__72L-a table > thead > tr > th:first-child{
2901
+ overflow:visible;
2916
2902
  }
2917
- .data-table-module_dataTableWrapper__VYLJf table tbody > tr > td:first-child::after{
2903
+ .data-table-module_isScrolledX__72L-a table > thead > tr > th:first-child::after{
2918
2904
  background:inherit;
2919
- border-radius:unset;
2920
- box-sizing:border-box;
2905
+ border-right:1px solid var(--border-divider-border);
2906
+ box-shadow:10px 0 7px -4px var(--item-background);
2921
2907
  content:"";
2922
- height:inherit;
2923
- height:calc(100% + var(--outline-offset)*2);
2924
- left:100%;
2925
- pointer-events:none;
2908
+ height:1.5rem;
2926
2909
  position:absolute;
2910
+ right:0;
2927
2911
  top:50%;
2928
- transform:translate(-100%, -50%);
2912
+ transform:translateY(-50%);
2929
2913
  width:var(--space-3);
2930
- }
2931
- .data-table-module_dataTableWrapper__VYLJf table tbody > tr[data-focus-visible]{
2932
- --outline-offset:var(--outline-offset-focus-row);
2933
- }
2934
- .data-table-module_dataTableWrapper__VYLJf table tbody > tr[data-focus-visible][aria-selected=true]{
2935
- --outline-offset:var(--outline-offset-focus-and-selected-row);
2936
- }
2937
- .data-table-module_dataTableWrapper__VYLJf table tbody > tr[data-focus-visible] > td:first-child{
2938
- background-clip:content-box;
2939
- outline:var(--border-2) solid var(--outline-focus-on-light);
2940
- outline-offset:var(--outline-offset);
2941
- }
2942
-
2943
- .data-table-module_isScrolledX__72L-a tr td:first-child,.data-table-module_isScrolledX__72L-a tr th:first-child{
2944
- border-right:1px solid var(--border-divider-border);
2945
- box-shadow:10px 0 7px -4px var(--item-background);
2946
- }
2947
-
2948
- .data-table-module_isScrolledY__arf4n table > thead > tr{
2949
- box-shadow:0 4px 6px -2px rgba(0,0,0,.039);
2914
+ z-index:-1;
2950
2915
  }
2951
2916
 
2952
2917
  .data-table-module_hideActionWrapperRight__jjb50 table tbody > tr > td [data-actionswrapper]::after{
2953
2918
  display:none;
2954
2919
  }
2955
-
2956
- .empty-state-module_emptyState__Qs2b2{
2957
- align-items:center;
2958
- display:flex;
2959
- flex-direction:column;
2960
- height:100%;
2961
- justify-content:center;
2962
- text-align:center;
2963
- width:100%;
2964
- }
2965
- .empty-state-module_emptyState__Qs2b2 .empty-state-module_illustration__Z63DC{
2966
- margin-block-end:var(--space-6);
2967
- }
2968
- .empty-state-module_emptyState__Qs2b2 .empty-state-module_body__JA15E{
2969
- max-width:22.5rem;
2970
- }
2971
- .empty-state-module_emptyState__Qs2b2 .empty-state-module_body__JA15E:not(:last-child){
2972
- margin-block-end:var(--space-6);
2973
- }
2974
- .empty-state-module_emptyState__Qs2b2 .empty-state-module_heading__rdgZb{
2975
- margin-block-end:var(--space-3);
2976
- }
2977
- .empty-state-module_emptyState__Qs2b2 .empty-state-module_button__w6EgO:not(:last-child){
2978
- margin-block-end:var(--space-6);
2979
- }
2980
- .empty-state-module_emptyState__Qs2b2.empty-state-module_small__q9iTq .empty-state-module_illustration__Z63DC{
2981
- margin-block-end:var(--space-4);
2982
- }
2983
- .empty-state-module_emptyState__Qs2b2.empty-state-module_small__q9iTq .empty-state-module_illustration__Z63DC svg{
2984
- height:var(--size-14);
2985
- width:var(--size-14);
2986
- }
2987
- .empty-state-module_emptyState__Qs2b2.empty-state-module_small__q9iTq .empty-state-module_body__JA15E{
2988
- max-width:220px;
2989
- }
2990
- .empty-state-module_emptyState__Qs2b2.empty-state-module_small__q9iTq .empty-state-module_body__JA15E:not(:last-child){
2991
- margin-block-end:var(--space-4);
2992
- }
2993
-
2994
- .guided-tooltip-module_content__4P0jU{
2995
- background-color:var(--gray-white);
2996
- border:var(--border-1) solid var(--border-card-border);
2997
- border-radius:var(--radius-4);
2998
- filter:drop-shadow(0 .25rem .75rem rgba(0, 0, 0, .1));
2999
- max-width:22.5rem;
3000
- padding-block-end:var(--space-6);
3001
- padding-block-start:var(--space-7);
3002
- padding-inline:var(--space-7);
3003
- z-index:10;
3004
- }
3005
- .guided-tooltip-module_content__4P0jU .guided-tooltip-module_body__lf6-N.guided-tooltip-module_noTitle__C-rQU{
3006
- padding-inline-end:var(--space-6);
3007
- }
3008
- .guided-tooltip-module_content__4P0jU .guided-tooltip-module_title__WjhyT{
3009
- margin-block-end:var(--space-2);
3010
- padding-inline-end:var(--space-6);
3011
- }
3012
- .guided-tooltip-module_content__4P0jU * + .guided-tooltip-module_footer__dvCqt{
3013
- margin-block-start:var(--space-5);
3014
- }
3015
- .guided-tooltip-module_content__4P0jU .guided-tooltip-module_footer__dvCqt{
3016
- display:flex;
3017
- justify-content:flex-end;
3018
- width:100%;
3019
- }
3020
- .guided-tooltip-module_content__4P0jU .guided-tooltip-module_actionButtons__JCj8T{
3021
- display:flex;
3022
- gap:var(--space-2);
3023
- justify-content:flex-end;
3024
- width:100%;
3025
- }
3026
- .guided-tooltip-module_content__4P0jU .guided-tooltip-module_stepsIndicator__hkoGZ{
3027
- align-self:center;
3028
- color:var(--text-text-on-light-secondary);
3029
- width:100%;
3030
- }
3031
- .guided-tooltip-module_content__4P0jU .guided-tooltip-module_closeButton__ZVZcg{
3032
- color:var(--gray-black);
3033
- position:absolute;
3034
- right:var(--space-3);
3035
- top:var(--space-3);
3036
- }
3037
- .guided-tooltip-module_content__4P0jU .guided-tooltip-module_arrow__JCGwC{
3038
- align-content:center;
3039
- display:flex !important;
3040
- height:var(--size-4);
3041
- justify-content:center;
3042
- visibility:visible;
3043
- width:var(--size-9);
3044
- }
3045
- .guided-tooltip-module_content__4P0jU .guided-tooltip-module_arrow__JCGwC::after{
3046
- background-color:var(--gray-white);
3047
- border-bottom-right-radius:var(--radius-1);
3048
- border-color:var(--border-card-border);
3049
- border-style:solid;
3050
- border-width:0 var(--border-1) var(--border-1) 0;
3051
- content:"";
3052
- height:var(--size-6);
3053
- transform:translateY(-50%) rotate(45deg);
3054
- width:var(--size-6);
3055
- }
3056
- .guided-tooltip-module_content__4P0jU .guided-tooltip-module_icon__FZnIm{
3057
- align-items:center;
3058
- background-color:var(--box-blue-10);
3059
- border-radius:var(--radius-2);
3060
- display:flex;
3061
- height:var(--size-7);
3062
- justify-content:center;
3063
- margin-block-end:var(--space-4);
3064
- width:var(--size-7);
3065
- }
3066
- .guided-tooltip-module_content__4P0jU .guided-tooltip-module_icon__FZnIm::after{
3067
- height:var(--size-4);
3068
- width:var(--size-4);
3069
- }
3070
- .guided-tooltip-module_content__4P0jU .guided-tooltip-module_illustration__CU2kK{
3071
- border-radius:var(--radius-4);
3072
- margin-block-start:var(--space-5);
3073
- width:100%;
3074
- }
3075
- table.inline-table-module_inlineTable__Se38I{
3076
- background:var(--gray-white);
3077
- border:var(--border-1) solid var(--gray-10);
3078
- border-collapse:initial;
3079
- border-color:var(--border-card-border);
3080
- border-radius:var(--radius-2);
3081
- border-spacing:0;
3082
- }
3083
- table.inline-table-module_inlineTable__Se38I.inline-table-module_borderHidden__nGEm4{
3084
- border:none;
3085
- }
3086
- table.inline-table-module_inlineTable__Se38I.inline-table-module_fullSpan__p2f2m{
3087
- width:100%;
3088
- }
3089
- table.inline-table-module_inlineTable__Se38I td{
3090
- font-family:Lato, -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
3091
- font-size:.875rem;
3092
- font-weight:400;
3093
- letter-spacing:.01875rem;
3094
- line-height:1.25rem;
3095
- text-decoration:none;
3096
- text-transform:none;
3097
- }
3098
- table.inline-table-module_inlineTable__Se38I td.inline-table-module_actionCell__D-Lu2{
3099
- padding-block-end:var(--space-2);
3100
- padding-block-start:var(--space-2);
3101
- }
3102
- table.inline-table-module_inlineTable__Se38I th{
3103
- border-bottom:var(--border-1) solid var(--gray-10);
3104
- color:var(--text-text-on-light-secondary);
3105
- font-family:Lato, -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
3106
- font-size:.75rem;
3107
- font-weight:400;
3108
- letter-spacing:.01875rem;
3109
- line-height:.875rem;
3110
- text-decoration:none;
3111
- text-transform:none;
3112
- text-transform:uppercase;
3113
- }
3114
- table.inline-table-module_inlineTable__Se38I td,table.inline-table-module_inlineTable__Se38I th{
3115
- height:var(--size-12);
3116
- }
3117
- table.inline-table-module_inlineTable__Se38I td:first-child,table.inline-table-module_inlineTable__Se38I th:first-child{
3118
- padding-inline-start:var(--space-5);
3119
- }
3120
- table.inline-table-module_inlineTable__Se38I td:last-child,table.inline-table-module_inlineTable__Se38I td:not(:only-child),table.inline-table-module_inlineTable__Se38I th:last-child,table.inline-table-module_inlineTable__Se38I th:not(:only-child){
3121
- padding-inline-end:var(--space-5);
3122
- }
3123
- table.inline-table-module_inlineTable__Se38I tr:not(:last-child) td{
3124
- border-block-end:var(--border-1) solid var(--gray-10);
3125
- }
3126
2920
  @layer baseTable{
3127
2921
  .main-module_resizableTableContainer__Mf8-Q{
3128
2922
  min-width:0;
@@ -3360,6 +3154,237 @@ table.inline-table-module_inlineTable__Se38I tr:not(:last-child) td{
3360
3154
  transform:translateZ(0);
3361
3155
  }
3362
3156
 
3157
+ .sticky-cell-module_stickyCell__-Rl0x{
3158
+ background:inherit;
3159
+ background-clip:content-box;
3160
+ left:0;
3161
+ outline:calc(var(--is-row-focused)*var(--border-2)) solid var(--outline-focus-color);
3162
+ outline-offset:var(--outline-offset-focus-cell);
3163
+ overflow:visible;
3164
+ position:sticky;
3165
+ z-index:var(--sticky-element-z-index);
3166
+ }
3167
+ .sticky-cell-module_stickyCell__-Rl0x[data-focus-visible]{
3168
+ outline:var(--border-2) solid var(--outline-focus-color);
3169
+ }
3170
+ .sticky-cell-module_stickyCell__-Rl0x .sticky-cell-module_childrenWrapper__qjguw{
3171
+ overflow:hidden;
3172
+ text-align:start;
3173
+ text-overflow:ellipsis;
3174
+ white-space:nowrap;
3175
+ }
3176
+ .sticky-cell-module_stickyCell__-Rl0x .sticky-cell-module_verticalBar__AgXfU{
3177
+ background:inherit;
3178
+ border-right:1px solid var(--border-divider-border);
3179
+ box-shadow:10px 0 7px -4px var(--item-background);
3180
+ display:none;
3181
+ height:1.5rem;
3182
+ position:absolute;
3183
+ right:0;
3184
+ top:50%;
3185
+ transform:translateY(-50%);
3186
+ width:var(--space-3);
3187
+ z-index:calc(var(--is-row-focused)*2 - 1);
3188
+ }
3189
+ .sticky-cell-module_stickyCell__-Rl0x .sticky-cell-module_verticalBar__AgXfU.sticky-cell-module_isScrolledX__xcMJ6{
3190
+ display:block;
3191
+ }
3192
+ .sticky-cell-module_stickyCell__-Rl0x .sticky-cell-module_stickyCellLeft__F3YAG{
3193
+ background:inherit;
3194
+ border-radius:unset;
3195
+ box-sizing:border-box;
3196
+ height:100%;
3197
+ left:0;
3198
+ pointer-events:none;
3199
+ position:absolute;
3200
+ top:0;
3201
+ width:calc(100% + var(--outline-offset-focus-row));
3202
+ z-index:-1;
3203
+ }
3204
+ .sticky-cell-module_stickyCell__-Rl0x .sticky-cell-module_stickyCellRight__yQjUM{
3205
+ background:inherit;
3206
+ border-radius:unset;
3207
+ box-sizing:border-box;
3208
+ height:calc(var(--is-row-focused)*(100% + var(--outline-offset-focus-cell)*2));
3209
+ left:100%;
3210
+ pointer-events:none;
3211
+ position:absolute;
3212
+ top:50%;
3213
+ transform:translate(-100%, -50%);
3214
+ width:var(--space-3);
3215
+ }
3216
+
3217
+ .empty-state-module_emptyState__Qs2b2{
3218
+ align-items:center;
3219
+ display:flex;
3220
+ flex-direction:column;
3221
+ height:100%;
3222
+ justify-content:center;
3223
+ text-align:center;
3224
+ width:100%;
3225
+ }
3226
+ .empty-state-module_emptyState__Qs2b2 .empty-state-module_illustration__Z63DC{
3227
+ margin-block-end:var(--space-6);
3228
+ }
3229
+ .empty-state-module_emptyState__Qs2b2 .empty-state-module_body__JA15E{
3230
+ max-width:22.5rem;
3231
+ }
3232
+ .empty-state-module_emptyState__Qs2b2 .empty-state-module_body__JA15E:not(:last-child){
3233
+ margin-block-end:var(--space-6);
3234
+ }
3235
+ .empty-state-module_emptyState__Qs2b2 .empty-state-module_heading__rdgZb{
3236
+ margin-block-end:var(--space-3);
3237
+ }
3238
+ .empty-state-module_emptyState__Qs2b2 .empty-state-module_button__w6EgO:not(:last-child){
3239
+ margin-block-end:var(--space-6);
3240
+ }
3241
+ .empty-state-module_emptyState__Qs2b2.empty-state-module_small__q9iTq .empty-state-module_illustration__Z63DC{
3242
+ margin-block-end:var(--space-4);
3243
+ }
3244
+ .empty-state-module_emptyState__Qs2b2.empty-state-module_small__q9iTq .empty-state-module_illustration__Z63DC svg{
3245
+ height:var(--size-14);
3246
+ width:var(--size-14);
3247
+ }
3248
+ .empty-state-module_emptyState__Qs2b2.empty-state-module_small__q9iTq .empty-state-module_body__JA15E{
3249
+ max-width:220px;
3250
+ }
3251
+ .empty-state-module_emptyState__Qs2b2.empty-state-module_small__q9iTq .empty-state-module_body__JA15E:not(:last-child){
3252
+ margin-block-end:var(--space-4);
3253
+ }
3254
+
3255
+ .guided-tooltip-module_content__4P0jU{
3256
+ background-color:var(--gray-white);
3257
+ border:var(--border-1) solid var(--border-card-border);
3258
+ border-radius:var(--radius-4);
3259
+ filter:drop-shadow(0 .25rem .75rem rgba(0, 0, 0, .1));
3260
+ max-width:22.5rem;
3261
+ padding-block-end:var(--space-6);
3262
+ padding-block-start:var(--space-7);
3263
+ padding-inline:var(--space-7);
3264
+ z-index:10;
3265
+ }
3266
+ .guided-tooltip-module_content__4P0jU .guided-tooltip-module_body__lf6-N.guided-tooltip-module_noTitle__C-rQU{
3267
+ padding-inline-end:var(--space-6);
3268
+ }
3269
+ .guided-tooltip-module_content__4P0jU .guided-tooltip-module_title__WjhyT{
3270
+ margin-block-end:var(--space-2);
3271
+ padding-inline-end:var(--space-6);
3272
+ }
3273
+ .guided-tooltip-module_content__4P0jU * + .guided-tooltip-module_footer__dvCqt{
3274
+ margin-block-start:var(--space-5);
3275
+ }
3276
+ .guided-tooltip-module_content__4P0jU .guided-tooltip-module_footer__dvCqt{
3277
+ display:flex;
3278
+ justify-content:flex-end;
3279
+ width:100%;
3280
+ }
3281
+ .guided-tooltip-module_content__4P0jU .guided-tooltip-module_actionButtons__JCj8T{
3282
+ display:flex;
3283
+ gap:var(--space-2);
3284
+ justify-content:flex-end;
3285
+ width:100%;
3286
+ }
3287
+ .guided-tooltip-module_content__4P0jU .guided-tooltip-module_stepsIndicator__hkoGZ{
3288
+ align-self:center;
3289
+ color:var(--text-text-on-light-secondary);
3290
+ width:100%;
3291
+ }
3292
+ .guided-tooltip-module_content__4P0jU .guided-tooltip-module_closeButton__ZVZcg{
3293
+ color:var(--gray-black);
3294
+ position:absolute;
3295
+ right:var(--space-3);
3296
+ top:var(--space-3);
3297
+ }
3298
+ .guided-tooltip-module_content__4P0jU .guided-tooltip-module_arrow__JCGwC{
3299
+ align-content:center;
3300
+ display:flex !important;
3301
+ height:var(--size-4);
3302
+ justify-content:center;
3303
+ visibility:visible;
3304
+ width:var(--size-9);
3305
+ }
3306
+ .guided-tooltip-module_content__4P0jU .guided-tooltip-module_arrow__JCGwC::after{
3307
+ background-color:var(--gray-white);
3308
+ border-bottom-right-radius:var(--radius-1);
3309
+ border-color:var(--border-card-border);
3310
+ border-style:solid;
3311
+ border-width:0 var(--border-1) var(--border-1) 0;
3312
+ content:"";
3313
+ height:var(--size-6);
3314
+ transform:translateY(-50%) rotate(45deg);
3315
+ width:var(--size-6);
3316
+ }
3317
+ .guided-tooltip-module_content__4P0jU .guided-tooltip-module_icon__FZnIm{
3318
+ align-items:center;
3319
+ background-color:var(--box-blue-10);
3320
+ border-radius:var(--radius-2);
3321
+ display:flex;
3322
+ height:var(--size-7);
3323
+ justify-content:center;
3324
+ margin-block-end:var(--space-4);
3325
+ width:var(--size-7);
3326
+ }
3327
+ .guided-tooltip-module_content__4P0jU .guided-tooltip-module_icon__FZnIm::after{
3328
+ height:var(--size-4);
3329
+ width:var(--size-4);
3330
+ }
3331
+ .guided-tooltip-module_content__4P0jU .guided-tooltip-module_illustration__CU2kK{
3332
+ border-radius:var(--radius-4);
3333
+ margin-block-start:var(--space-5);
3334
+ width:100%;
3335
+ }
3336
+ table.inline-table-module_inlineTable__Se38I{
3337
+ background:var(--gray-white);
3338
+ border:var(--border-1) solid var(--gray-10);
3339
+ border-collapse:initial;
3340
+ border-color:var(--border-card-border);
3341
+ border-radius:var(--radius-2);
3342
+ border-spacing:0;
3343
+ }
3344
+ table.inline-table-module_inlineTable__Se38I.inline-table-module_borderHidden__nGEm4{
3345
+ border:none;
3346
+ }
3347
+ table.inline-table-module_inlineTable__Se38I.inline-table-module_fullSpan__p2f2m{
3348
+ width:100%;
3349
+ }
3350
+ table.inline-table-module_inlineTable__Se38I td{
3351
+ font-family:Lato, -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
3352
+ font-size:.875rem;
3353
+ font-weight:400;
3354
+ letter-spacing:.01875rem;
3355
+ line-height:1.25rem;
3356
+ text-decoration:none;
3357
+ text-transform:none;
3358
+ }
3359
+ table.inline-table-module_inlineTable__Se38I td.inline-table-module_actionCell__D-Lu2{
3360
+ padding-block-end:var(--space-2);
3361
+ padding-block-start:var(--space-2);
3362
+ }
3363
+ table.inline-table-module_inlineTable__Se38I th{
3364
+ border-bottom:var(--border-1) solid var(--gray-10);
3365
+ color:var(--text-text-on-light-secondary);
3366
+ font-family:Lato, -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
3367
+ font-size:.75rem;
3368
+ font-weight:400;
3369
+ letter-spacing:.01875rem;
3370
+ line-height:.875rem;
3371
+ text-decoration:none;
3372
+ text-transform:none;
3373
+ text-transform:uppercase;
3374
+ }
3375
+ table.inline-table-module_inlineTable__Se38I td,table.inline-table-module_inlineTable__Se38I th{
3376
+ height:var(--size-12);
3377
+ }
3378
+ table.inline-table-module_inlineTable__Se38I td:first-child,table.inline-table-module_inlineTable__Se38I th:first-child{
3379
+ padding-inline-start:var(--space-5);
3380
+ }
3381
+ table.inline-table-module_inlineTable__Se38I td:last-child,table.inline-table-module_inlineTable__Se38I td:not(:only-child),table.inline-table-module_inlineTable__Se38I th:last-child,table.inline-table-module_inlineTable__Se38I th:not(:only-child){
3382
+ padding-inline-end:var(--space-5);
3383
+ }
3384
+ table.inline-table-module_inlineTable__Se38I tr:not(:last-child) td{
3385
+ border-block-end:var(--border-1) solid var(--gray-10);
3386
+ }
3387
+
3363
3388
  .modal-module_overlay__OIKwn{
3364
3389
  background-color:var(--black-opacity-80);
3365
3390
  bottom:0;
@@ -7,7 +7,7 @@ export * from './basics/collapsible';
7
7
 
8
8
 
9
9
  export * from './basics/navigation-menu';
10
-
10
+ export * from './basics/small-list-item';
11
11
  export * from './basics/text-input';
12
12
  export * from './branding-styles';
13
13
  export * from './card';
@@ -16,14 +16,14 @@ export * from './checkbox';
16
16
  export * from './combobox';
17
17
  export * from './content-card';
18
18
  export * from './content-field';
19
- export * from './data-table/data-table-wrapper';
19
+ export * from './data-table/data-table';
20
20
  export * from './empty-state';
21
21
  export * from './ghost';
22
22
  export * from './guided-tooltip';
23
23
  export * from './inline-notice/inline-notice';
24
24
  export * from './inline-table/inline-table';
25
25
  export * from './input-chip';
26
-
26
+ export * from './list-item/list-item';
27
27
  export * from './loading-indicator/loading-indicator';
28
28
  export * from './modal';
29
29
 
package/lib-esm/index.js CHANGED
@@ -7,7 +7,7 @@ export { CollapsibleSection } from './basics/collapsible/collapsible-section.js'
7
7
 
8
8
 
9
9
  export { NavigationMenu } from './basics/navigation-menu/index.js';
10
-
10
+ export { SmallList } from './basics/small-list-item/index.js';
11
11
  export { TextInput } from './basics/text-input/text-input.js';
12
12
  export { BrandingStyles } from './branding-styles/branding-styles.js';
13
13
  export { useCustomBranding } from './branding-styles/useCustomBranding.js';
@@ -17,7 +17,7 @@ export { Checkbox } from './checkbox/index.js';
17
17
  export { Combobox, Root } from './combobox/combobox.js';
18
18
  export { ContentCard } from './content-card/content-card.js';
19
19
  export { ContentField } from './content-field/content-field.js';
20
- export { DataTableWrapper } from './data-table/data-table-wrapper.js';
20
+ export { DataTableWrapper, StickyCell } from './data-table/data-table.js';
21
21
  export { EmptyState } from './empty-state/empty-state.js';
22
22
  export { Ghost } from './ghost/ghost.js';
23
23
  export { GuidedTooltip } from './guided-tooltip/guided-tooltip.js';
@@ -25,7 +25,7 @@ export { GuidedTooltipContext } from './guided-tooltip/utils/guided-tooltip-cont
25
25
  export { InlineNotice } from './inline-notice/inline-notice.js';
26
26
  export { InlineTable } from './inline-table/inline-table.js';
27
27
  export { InputChip } from './input-chip/input-chip.js';
28
-
28
+ export { ActionCell, Cell, Column, DropIndicator, Row, Table, TableBody, TableHeader } from './list-item/list-item.js';
29
29
  export { LoadingIndicator } from './loading-indicator/loading-indicator.js';
30
30
  export { Modal } from './modal/modal.js';
31
31
 
@@ -57,7 +57,7 @@ export { TextArea } from './text-area/text-area.js';
57
57
  export { TextButton } from './text-button/text-button.js';
58
58
  export { Tooltip, TooltipProvider } from './tooltip/tooltip.js';
59
59
  export { TriggerButton } from './trigger-button/trigger-button.js';
60
- export { ScrollableContainer, useScroll, useScrollContext } from './util-components/scrollable-container/scrollable-container.js';
60
+ export { ScrollContext, ScrollableContainer, useScroll, useScrollContext } from './util-components/scrollable-container/scrollable-container.js';
61
61
  export { Breakpoint, useBreakpoint } from './utils/useBreakpoint.js';
62
62
  export { useNotification } from './primitives/notification/notification-provider.js';
63
63
  export { useTabs } from './primitives/tabs/use-tabs.js';
@@ -0,0 +1,13 @@
1
+ import 'react/jsx-runtime';
2
+ import 'react';
3
+ import 'react-aria-components';
4
+ import '@box/blueprint-web-assets/icons/Fill';
5
+ import '@box/blueprint-web-assets/tokens/tokens';
6
+ import 'clsx';
7
+ import { Cell as Cell$1 } from './cell/cell.js';
8
+ import 'lodash/noop';
9
+ import '@radix-ui/react-visually-hidden';
10
+
11
+ const Cell = Cell$1;
12
+
13
+ export { Cell };
@@ -12,6 +12,7 @@ export type ScrollContextType = {
12
12
  isScrolledToEndX: boolean;
13
13
  isScrolledToEndY: boolean;
14
14
  };
15
+ export declare const ScrollContext: import("react").Context<ScrollContextType | undefined>;
15
16
  export declare const ScrollableContainer: import("react").ForwardRefExoticComponent<Omit<ScrollableContainerProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
16
17
  export declare function useScrollContext(): ScrollContextType;
17
18
  export declare const useScroll: (forwardedRef: RefObject<HTMLDivElement>, scrollThrottleDelay?: number) => {
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { clsx } from 'clsx';
3
3
  import throttle from 'lodash/throttle';
4
- import { forwardRef, useRef, useContext, useState, useMemo, createContext } from 'react';
4
+ import { createContext, forwardRef, useRef, useContext, useState, useMemo } from 'react';
5
5
  import { useForkRef } from '../../utils/useForkRef.js';
6
6
  import styles from './scrollable-container.module.js';
7
7
 
@@ -62,4 +62,4 @@ const useScroll = (forwardedRef, scrollThrottleDelay = 100) => {
62
62
  };
63
63
  };
64
64
 
65
- export { ScrollableContainer, useScroll, useScrollContext };
65
+ export { ScrollContext, ScrollableContainer, useScroll, useScrollContext };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/blueprint-web",
3
- "version": "6.0.3",
3
+ "version": "6.1.0",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -57,7 +57,7 @@
57
57
  "devDependencies": {
58
58
  "@box/storybook-utils": "^0.0.2"
59
59
  },
60
- "gitHead": "25bf0462d7a597e6fc664d339d30b7b7093ce091",
60
+ "gitHead": "6ec61e3619eeb3d216d05e67f5114b8b7646d63b",
61
61
  "module": "lib-esm/index.js",
62
62
  "type": "module",
63
63
  "main": "lib-esm/index.js",