@usefui/components 1.7.1 → 1.7.3

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/index.js CHANGED
@@ -127,11 +127,6 @@ __export(index_exports, {
127
127
  ToolbarSection: () => ToolbarSection,
128
128
  ToolbarTrigger: () => ToolbarTrigger,
129
129
  Tooltip: () => Tooltip,
130
- Tree: () => Tree,
131
- TreeContent: () => TreeContent,
132
- TreeNode: () => TreeNode,
133
- TreeRoot: () => TreeRoot,
134
- TreeTrigger: () => TreeTrigger,
135
130
  useAccordion: () => useAccordion,
136
131
  useCheckbox: () => useCheckbox,
137
132
  useCollapsible: () => useCollapsible,
@@ -143,9 +138,7 @@ __export(index_exports, {
143
138
  useSheet: () => useSheet,
144
139
  useSwitch: () => useSwitch,
145
140
  useTabs: () => useTabs,
146
- useToolbar: () => useToolbar,
147
- useTree: () => useTree,
148
- useTreeNode: () => useTreeNode
141
+ useToolbar: () => useToolbar
149
142
  });
150
143
  module.exports = __toCommonJS(index_exports);
151
144
 
@@ -236,25 +229,6 @@ var ButtonIconStyles = import_styled_components.css`
236
229
  svg {
237
230
  width: var(--fontsize-medium-20);
238
231
  height: var(--fontsize-medium-20);
239
- fill: currentColor;
240
- }
241
-
242
- svg {
243
- opacity: 0.6;
244
- }
245
-
246
- &:hover,
247
- &:focus,
248
- &:active {
249
- svg {
250
- opacity: 1;
251
- }
252
- }
253
-
254
- &[data-variant="primary"] {
255
- svg {
256
- fill: var(--body-color);
257
- }
258
232
  }
259
233
  `;
260
234
  var ButtonSizeStyles = import_styled_components.css`
@@ -310,7 +284,6 @@ var ButtonBeforeDefaultStyles = import_styled_components.css`
310
284
  `;
311
285
  var ButtonVariantsStyles = import_styled_components.css`
312
286
  &[data-variant="primary"] {
313
- color: var(--body-color-alpha-80);
314
287
  background-color: var(--font-color);
315
288
  background: linear-gradient(
316
289
  180deg,
@@ -320,6 +293,11 @@ var ButtonVariantsStyles = import_styled_components.css`
320
293
  background-size: 100% 200%;
321
294
  background-position: 0% 50%;
322
295
 
296
+ color: var(--body-color-alpha-80) !important;
297
+ svg * {
298
+ stroke: var(--body-color-alpha-80) !important;
299
+ }
300
+
323
301
  ::before {
324
302
  ${ButtonBeforeDefaultStyles}
325
303
  border-color: var(--body-color-alpha-20);
@@ -338,7 +316,6 @@ var ButtonVariantsStyles = import_styled_components.css`
338
316
  }
339
317
  }
340
318
  &[data-variant="secondary"] {
341
- color: var(--font-color-alpha-60);
342
319
  border-color: var(--font-color-alpha-10);
343
320
 
344
321
  background-color: var(--body-color);
@@ -350,6 +327,8 @@ var ButtonVariantsStyles = import_styled_components.css`
350
327
  background-size: 100% 200%;
351
328
  background-position: 0% 50%;
352
329
 
330
+ color: var(--font-color-alpha-60) !important;
331
+
353
332
  ::before {
354
333
  ${ButtonBeforeDefaultStyles}
355
334
  border-color: var(--font-color-alpha-10);
@@ -366,8 +345,6 @@ var ButtonVariantsStyles = import_styled_components.css`
366
345
  }
367
346
  }
368
347
  &[data-variant="tertiary"] {
369
- color: var(--font-color-alpha-60);
370
-
371
348
  background-color: transparent;
372
349
  background: linear-gradient(
373
350
  -180deg,
@@ -377,6 +354,8 @@ var ButtonVariantsStyles = import_styled_components.css`
377
354
  background-size: 100% 200%;
378
355
  background-position: 0% 10%;
379
356
 
357
+ color: var(--font-color-alpha-60) !important;
358
+
380
359
  &:hover,
381
360
  &:focus,
382
361
  &:active {
@@ -392,8 +371,8 @@ var ButtonVariantsStyles = import_styled_components.css`
392
371
  }
393
372
  }
394
373
  &[data-variant="mono"] {
395
- color: var(--font-color-alpha-80);
396
374
  background-color: var(--contrast-color);
375
+ color: var(--font-color-alpha-80) !important;
397
376
 
398
377
  ::before {
399
378
  ${ButtonBeforeDefaultStyles}
@@ -412,9 +391,9 @@ var ButtonVariantsStyles = import_styled_components.css`
412
391
  }
413
392
  }
414
393
  &[data-variant="border"] {
415
- color: var(--font-color-alpha-60);
416
394
  background-color: transparent;
417
395
  border-color: var(--font-color-alpha-10);
396
+ color: var(--font-color-alpha-60) !important;
418
397
 
419
398
  &:hover,
420
399
  &:focus,
@@ -456,7 +435,6 @@ var ButtonVariantsStyles = import_styled_components.css`
456
435
  }
457
436
 
458
437
  &[data-variant="meta"] {
459
- color: var(--alpha-mono-white-80);
460
438
  background-color: var(--color-blue);
461
439
  background: linear-gradient(
462
440
  180deg,
@@ -466,6 +444,8 @@ var ButtonVariantsStyles = import_styled_components.css`
466
444
  background-size: 100% 200%;
467
445
  background-position: 0% 50%;
468
446
 
447
+ color: var(--alpha-mono-white-80) !important;
448
+
469
449
  ::before {
470
450
  ${ButtonBeforeDefaultStyles}
471
451
  border-color: var(--tint-blue-30);
@@ -486,7 +466,6 @@ var ButtonVariantsStyles = import_styled_components.css`
486
466
  }
487
467
  }
488
468
  &[data-variant="hint"] {
489
- color: var(--alpha-mono-white-80);
490
469
  background-color: var(--color-purple);
491
470
  background: linear-gradient(
492
471
  180deg,
@@ -496,6 +475,8 @@ var ButtonVariantsStyles = import_styled_components.css`
496
475
  background-size: 100% 200%;
497
476
  background-position: 0% 50%;
498
477
 
478
+ color: var(--alpha-mono-white-80) !important;
479
+
499
480
  ::before {
500
481
  ${ButtonBeforeDefaultStyles}
501
482
  border-color: var(--shade-purple-20);
@@ -512,7 +493,6 @@ var ButtonVariantsStyles = import_styled_components.css`
512
493
  }
513
494
  }
514
495
  &[data-variant="success"] {
515
- color: var(--alpha-mono-white-90);
516
496
  background-color: var(--shade-green-30);
517
497
  background: linear-gradient(
518
498
  180deg,
@@ -522,6 +502,8 @@ var ButtonVariantsStyles = import_styled_components.css`
522
502
  background-size: 100% 200%;
523
503
  background-position: 0% 50%;
524
504
 
505
+ color: var(--alpha-mono-white-80) !important;
506
+
525
507
  ::before {
526
508
  ${ButtonBeforeDefaultStyles}
527
509
  border-color: var(--shade-green-20);
@@ -538,7 +520,6 @@ var ButtonVariantsStyles = import_styled_components.css`
538
520
  }
539
521
  }
540
522
  &[data-variant="danger"] {
541
- color: var(--alpha-mono-white-80);
542
523
  background-color: var(--color-red);
543
524
  background: linear-gradient(
544
525
  180deg,
@@ -548,6 +529,8 @@ var ButtonVariantsStyles = import_styled_components.css`
548
529
  background-size: 100% 200%;
549
530
  background-position: 0% 50%;
550
531
 
532
+ color: var(--alpha-mono-white-80) !important;
533
+
551
534
  ::before {
552
535
  ${ButtonBeforeDefaultStyles}
553
536
  border-color: var(--tint-red-60);
@@ -567,7 +550,6 @@ var ButtonVariantsStyles = import_styled_components.css`
567
550
  }
568
551
  }
569
552
  &[data-variant="warning"] {
570
- color: var(--alpha-mono-dark-80);
571
553
  background-color: var(--color-orange);
572
554
  background: linear-gradient(
573
555
  180deg,
@@ -577,6 +559,8 @@ var ButtonVariantsStyles = import_styled_components.css`
577
559
  background-size: 100% 200%;
578
560
  background-position: 0% 50%;
579
561
 
562
+ color: var(--alpha-mono-dark-80) !important;
563
+
580
564
  ::before {
581
565
  ${ButtonBeforeDefaultStyles}
582
566
  border-color: var(--tint-orange-30);
@@ -653,7 +637,8 @@ var ButtonWrapper = import_styled_components.default.button`
653
637
  ${ButtonSizeStyles}
654
638
  ${ButtonShapeStyles}
655
639
  ${ButtonVariantsStyles}
656
- &[data-rawIcon="false"] {
640
+
641
+ &[data-rawIcon="false"] {
657
642
  ${ButtonIconStyles}
658
643
  }
659
644
  }
@@ -1163,6 +1148,28 @@ var BadgeVariantStyles = import_styled_components3.css`
1163
1148
  }
1164
1149
  }
1165
1150
  `;
1151
+ var BadgeEmphasisVariantStyles = import_styled_components3.css`
1152
+ &[data-variant="danger"] {
1153
+ background-color: var(--color-red) !important;
1154
+ color: var(--color-mono-white) !important;
1155
+ }
1156
+ &[data-variant="warning"] {
1157
+ background-color: var(--color-orange) !important;
1158
+ color: var(--color-mono-dark) !important;
1159
+ }
1160
+ &[data-variant="success"] {
1161
+ background-color: var(--color-green) !important;
1162
+ color: var(--color-mono-white) !important;
1163
+ }
1164
+ &[data-variant="meta"] {
1165
+ background-color: var(--color-blue) !important;
1166
+ color: var(--color-mono-white) !important;
1167
+ }
1168
+ &[data-variant="hint"] {
1169
+ background-color: var(--color-purple) !important;
1170
+ color: var(--color-mono-white) !important;
1171
+ }
1172
+ `;
1166
1173
  var BadgeShapeStyles = import_styled_components3.css`
1167
1174
  &[data-shape="square"] {
1168
1175
  border-radius: 0;
@@ -1200,6 +1207,10 @@ var BadgeWrapper2 = import_styled_components3.default.div`
1200
1207
  ${BadgeVariantStyles}
1201
1208
  ${BadgeShapeStyles}
1202
1209
  ${BadgeSizeStyles}
1210
+
1211
+ &[data-emphasis="true"] {
1212
+ ${BadgeEmphasisVariantStyles}
1213
+ }
1203
1214
  }
1204
1215
  `;
1205
1216
 
@@ -1207,6 +1218,7 @@ var BadgeWrapper2 = import_styled_components3.default.div`
1207
1218
  var Badge = (props) => {
1208
1219
  const {
1209
1220
  raw = false,
1221
+ emphasis = false,
1210
1222
  sizing = "small" /* Small */,
1211
1223
  variant = "primary" /* Primary */,
1212
1224
  shape = "smooth" /* Smooth */,
@@ -1220,6 +1232,7 @@ var Badge = (props) => {
1220
1232
  "data-variant": variant,
1221
1233
  "data-shape": shape,
1222
1234
  "data-size": sizing,
1235
+ "data-emphasis": emphasis,
1223
1236
  ...restProps
1224
1237
  },
1225
1238
  children
@@ -2253,7 +2266,8 @@ var Dialog = (props) => {
2253
2266
  if (open && toggleDialog) toggleDialog();
2254
2267
  }, []);
2255
2268
  if (lock) useDisabledScroll(Boolean(states.open));
2256
- return /* @__PURE__ */ import_react17.default.createElement(import_react17.default.Fragment, null, states.open && /* @__PURE__ */ import_react17.default.createElement(
2269
+ if (!states.open) return null;
2270
+ return /* @__PURE__ */ import_react17.default.createElement(
2257
2271
  ScrollArea,
2258
2272
  {
2259
2273
  as: DialogWrapper,
@@ -2268,7 +2282,7 @@ var Dialog = (props) => {
2268
2282
  ...restProps
2269
2283
  },
2270
2284
  children
2271
- ));
2285
+ );
2272
2286
  };
2273
2287
  Dialog.displayName = "Dialog";
2274
2288
  var DialogRoot = ({ children }) => {
@@ -2442,6 +2456,15 @@ var ContentWrapperSizes = import_styled_components9.css`
2442
2456
  max-width: var(--large);
2443
2457
  }
2444
2458
  `;
2459
+ var ContentWrapperVariants = import_styled_components9.css`
2460
+ &[data-variant="body"] {
2461
+ background-color: var(--body-color);
2462
+ }
2463
+
2464
+ &[data-variant="contrast"] {
2465
+ background-color: var(--contrast-color);
2466
+ }
2467
+ `;
2445
2468
  var RootWrapper = import_styled_components9.default.div`
2446
2469
  position: relative;
2447
2470
  `;
@@ -2468,13 +2491,14 @@ var ContentWrapper = import_styled_components9.default.ul`
2468
2491
  padding: var(--measurement-medium-30);
2469
2492
  margin: var(--measurement-medium-10) 0;
2470
2493
 
2471
- background-color: var(--body-color);
2472
2494
  border: var(--measurement-small-10) solid var(--font-color-alpha-10);
2473
2495
  border-radius: var(--measurement-medium-30);
2474
2496
 
2475
2497
  z-index: var(--depth-default-100);
2476
2498
 
2477
2499
  ${ContentWrapperSizes}
2500
+ ${ContentWrapperVariants}
2501
+
2478
2502
  animation-duration: 0.2s;
2479
2503
  animation-name: slide-in;
2480
2504
  animation-fill-mode: backwards;
@@ -2489,14 +2513,13 @@ var ItemWrapper2 = import_styled_components9.default.li`
2489
2513
  &[data-raw="false"] {
2490
2514
  padding: var(--measurement-medium-10) var(--measurement-medium-30);
2491
2515
  border-radius: var(--measurement-medium-20);
2516
+ color: var(--font-color);
2492
2517
 
2493
- text-align: left;
2494
- font-weight: 600;
2495
2518
  letter-spacing: calc(
2496
2519
  var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
2497
2520
  );
2498
- font-size: var(--fontsize-medium-10);
2499
- color: var(--font-color);
2521
+ font-size: inherit;
2522
+ text-align: left;
2500
2523
 
2501
2524
  outline: none;
2502
2525
  cursor: pointer;
@@ -2508,7 +2531,7 @@ var ItemWrapper2 = import_styled_components9.default.li`
2508
2531
  &:active,
2509
2532
  &:focus-within,
2510
2533
  &:has(:active) {
2511
- background-color: var(--contrast-color);
2534
+ background-color: var(--font-color-alpha-10);
2512
2535
  }
2513
2536
  }
2514
2537
 
@@ -2573,7 +2596,14 @@ var DropdownMenuTrigger = (props) => {
2573
2596
  };
2574
2597
  DropdownMenuTrigger.displayName = "DropdownMenu.Trigger";
2575
2598
  var DropdownMenuContent = import_react19.default.forwardRef((props, _) => {
2576
- const { raw, sizing = "medium", defaultOpen, children, ...restProps } = props;
2599
+ const {
2600
+ raw,
2601
+ sizing = "medium" /* Medium */,
2602
+ variant = "body",
2603
+ defaultOpen,
2604
+ children,
2605
+ ...restProps
2606
+ } = props;
2577
2607
  const { id, states, methods } = useDropdownMenu();
2578
2608
  const { toggleOpen, setContentProps } = methods;
2579
2609
  const mounted = import_react19.default.useRef(false);
@@ -2639,6 +2669,7 @@ var DropdownMenuContent = import_react19.default.forwardRef((props, _) => {
2639
2669
  "aria-labelledby": id.split("|").at(0),
2640
2670
  "data-state": applyDataState(Boolean(states.open)),
2641
2671
  "data-sizing": sizing,
2672
+ "data-variant": variant,
2642
2673
  "data-side": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */,
2643
2674
  "data-align": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */,
2644
2675
  "data-raw": Boolean(raw),
@@ -3020,12 +3051,8 @@ var InnerWrapper = import_styled_components10.default.div`
3020
3051
  display: flex;
3021
3052
  flex-direction: column;
3022
3053
 
3023
- right: 0;
3024
- &[data-multiple="true"] {
3025
- right: var(--measurement-small-10) !important;
3026
- }
3027
-
3028
3054
  top: var(--measurement-small-10);
3055
+ right: var(--measurement-small-10);
3029
3056
  bottom: var(--measurement-small-10);
3030
3057
 
3031
3058
  border-left: var(--measurement-small-10) solid var(--font-color-alpha-10);
@@ -3036,7 +3063,6 @@ var InnerWrapper = import_styled_components10.default.div`
3036
3063
  &[data-error="true"] {
3037
3064
  border-color: var(--alpha-red-10) !important;
3038
3065
  }
3039
-
3040
3066
  &[data-shape="round"] {
3041
3067
  border-radius: 0 var(--measurement-large-90) var(--measurement-large-90) 0;
3042
3068
  }
@@ -3062,16 +3088,7 @@ var InnerTrigger = import_styled_components10.default.button`
3062
3088
  padding: 0 var(--measurement-medium-40);
3063
3089
 
3064
3090
  color: var(--font-color-alpha-60);
3065
-
3066
- background-color: var(--body-color);
3067
- background: linear-gradient(
3068
- 180deg,
3069
- transparent 50%,
3070
- var(--font-color-alpha-10) 100%
3071
- );
3072
- background-size: 100% 200%;
3073
- background-position: 0% 0%;
3074
- backdrop-filter: blur(var(--measurement-medium-10));
3091
+ backdrop-filter: blur(var(--measurement-small-60));
3075
3092
 
3076
3093
  cursor: pointer;
3077
3094
  transition: all ease-in-out 0.2s;
@@ -3081,7 +3098,7 @@ var InnerTrigger = import_styled_components10.default.button`
3081
3098
  transition: all ease-in-out 0.2s;
3082
3099
  }
3083
3100
 
3084
- ::before {
3101
+ /* ::before {
3085
3102
  content: "";
3086
3103
  inset: 0;
3087
3104
 
@@ -3095,12 +3112,12 @@ var InnerTrigger = import_styled_components10.default.button`
3095
3112
 
3096
3113
  transition: all ease-in-out 0.2s;
3097
3114
  mask-image: linear-gradient(var(--font-color), transparent);
3098
- }
3115
+ } */
3099
3116
 
3100
3117
  &:hover,
3101
3118
  &:active {
3102
3119
  color: var(--font-color);
3103
- background-position: 0% 50%;
3120
+ /* background-position: 0% 50%; */
3104
3121
 
3105
3122
  svg {
3106
3123
  opacity: 0.8;
@@ -3119,7 +3136,7 @@ var InnerSegment = import_styled_components10.default.span`
3119
3136
  text-align: center;
3120
3137
  outline: none;
3121
3138
  color: inherit;
3122
- transition: background-color ease-in-out 0.2s;
3139
+ /* transition: background-color ease-in-out 0.2s; */
3123
3140
 
3124
3141
  &[data-placeholder="true"] {
3125
3142
  color: var(--font-color-alpha-30);
@@ -3130,7 +3147,7 @@ var InnerSegment = import_styled_components10.default.span`
3130
3147
  &:active,
3131
3148
  &:focus-within,
3132
3149
  &:has(:active) {
3133
- background-color: var(--font-color-alpha-10);
3150
+ /* background-color: var(--font-color-alpha-10); */
3134
3151
  color: var(--font-color);
3135
3152
  }
3136
3153
  }
@@ -4027,7 +4044,7 @@ var MessageBubble = (props) => {
4027
4044
  };
4028
4045
  MessageBubble.displayName = "MessageBubble";
4029
4046
  var MessageBubbleContent = (props) => {
4030
- const { sizing, shape, variant, children, raw, ...restProps } = props;
4047
+ const { emphasis, sizing, shape, variant, children, raw, ...restProps } = props;
4031
4048
  const { id, states } = useMessageBubble();
4032
4049
  return /* @__PURE__ */ import_react23.default.createElement(
4033
4050
  MessageBubbleBadge,
@@ -4035,8 +4052,9 @@ var MessageBubbleContent = (props) => {
4035
4052
  "data-raw": Boolean(raw),
4036
4053
  "data-side": states?.side,
4037
4054
  variant: variant ?? "border" /* Border */,
4038
- shape: shape ?? "smooth" /* Smooth */,
4055
+ shape: shape ?? "round" /* Round */,
4039
4056
  sizing: sizing ?? "medium" /* Medium */,
4057
+ emphasis,
4040
4058
  "aria-label": `message-bubble-content-${id}`,
4041
4059
  ...restProps
4042
4060
  },
@@ -4690,7 +4708,7 @@ var SplitContainer = import_styled_components16.default.div`
4690
4708
  `;
4691
4709
  var Panel = import_styled_components16.default.div`
4692
4710
  overflow: hidden;
4693
- width: ${(props) => props.width}%;
4711
+ width: ${(props) => props.width}dvw;
4694
4712
  `;
4695
4713
  var Divider2 = import_styled_components16.default.div`
4696
4714
  width: var(--measurement-medium-10);
@@ -4746,6 +4764,8 @@ var DragOverlay = import_styled_components16.default.div`
4746
4764
  // src/resizable/index.tsx
4747
4765
  var Resizable = ({
4748
4766
  defaultWidth,
4767
+ minWidth,
4768
+ maxWidth,
4749
4769
  left,
4750
4770
  right
4751
4771
  }) => {
@@ -4759,7 +4779,7 @@ var Resizable = ({
4759
4779
  if (!isDragging || !containerRef.current) return;
4760
4780
  const containerRect = containerRef.current.getBoundingClientRect();
4761
4781
  const newLeftWidth = (e.clientX - containerRect.left) / containerRect.width * 100;
4762
- const threshold = { min: 30, max: 70 };
4782
+ const threshold = { min: minWidth ?? 30, max: maxWidth ?? 70 };
4763
4783
  const constrainedWidth = Math.min(
4764
4784
  Math.max(newLeftWidth, threshold.min),
4765
4785
  threshold.max
@@ -6248,235 +6268,23 @@ var Tooltip = ({
6248
6268
  };
6249
6269
  Tooltip.displayName = "Tooltip";
6250
6270
 
6251
- // src/tree/index.tsx
6252
- var import_react48 = __toESM(require("react"));
6253
-
6254
- // src/tree/hooks/tree-provider.tsx
6255
- var import_react46 = __toESM(require("react"));
6256
- var defaultTreeAPI = {
6257
- id: "",
6258
- states: {},
6259
- methods: {}
6260
- };
6261
- var TreeContext = (0, import_react46.createContext)(defaultTreeAPI);
6262
- var useTree = () => (0, import_react46.useContext)(TreeContext);
6263
- var TreeProvider = ({
6264
- children,
6265
- defaultExpandedIds = [],
6266
- onSelectionChange
6267
- }) => {
6268
- const context = useTreeProviderContext({
6269
- defaultExpandedIds,
6270
- onSelectionChange
6271
- });
6272
- return /* @__PURE__ */ import_react46.default.createElement(TreeContext.Provider, { value: context }, children);
6273
- };
6274
- function useTreeProviderContext({
6275
- defaultExpandedIds,
6276
- onSelectionChange
6277
- }) {
6278
- const treeId = import_react46.default.useId();
6279
- const [expandedIds, setExpandedIds] = (0, import_react46.useState)(
6280
- () => new Set(defaultExpandedIds)
6281
- );
6282
- const [selectedIds, setSelectedIds] = (0, import_react46.useState)(() => /* @__PURE__ */ new Set());
6283
- return {
6284
- id: treeId,
6285
- states: {
6286
- expandedIds,
6287
- selectedIds
6288
- },
6289
- methods: {
6290
- isExpanded: (id) => expandedIds.has(id),
6291
- isSelected: (id) => selectedIds.has(id),
6292
- toggleExpanded: (id) => {
6293
- setExpandedIds((prev) => {
6294
- const next = new Set(prev);
6295
- next.has(id) ? next.delete(id) : next.add(id);
6296
- return next;
6297
- });
6298
- },
6299
- toggleSelected: (id) => {
6300
- setSelectedIds((prev) => {
6301
- const next = new Set(prev);
6302
- next.has(id) ? next.delete(id) : next.add(id);
6303
- onSelectionChange?.(Array.from(next));
6304
- return next;
6305
- });
6306
- },
6307
- getTreeId: ({ nodeId, type }) => `${treeId}-${type}-${nodeId}`
6308
- }
6309
- };
6310
- }
6311
-
6312
- // src/tree/hooks/tree-node-provider.tsx
6313
- var import_react47 = __toESM(require("react"));
6314
- var defaultTreeNodeAPI = {
6315
- id: "",
6316
- states: {},
6317
- methods: {}
6318
- };
6319
- var TreeNodeContext = (0, import_react47.createContext)(defaultTreeNodeAPI);
6320
- var useTreeNode = () => (0, import_react47.useContext)(TreeNodeContext);
6321
- var TreeNodeProvider = ({
6322
- children,
6323
- nodeId,
6324
- level,
6325
- isLast
6326
- }) => {
6327
- const context = useTreeNodeProviderContext({ nodeId, level, isLast });
6328
- return /* @__PURE__ */ import_react47.default.createElement(TreeNodeContext.Provider, { value: context }, children);
6329
- };
6330
- function useTreeNodeProviderContext({
6331
- nodeId,
6332
- level,
6333
- isLast
6334
- }) {
6335
- return {
6336
- id: nodeId,
6337
- states: {
6338
- nodeId,
6339
- level,
6340
- isLast
6341
- },
6342
- methods: {}
6343
- };
6344
- }
6345
-
6346
- // src/tree/styles/index.ts
6347
- var import_styled_components27 = __toESM(require("styled-components"));
6348
- var TreeView = import_styled_components27.default.ul`
6349
- display: flex;
6350
- flex-direction: column;
6351
- list-style: none;
6352
- margin: 0;
6353
- padding: 0;
6354
- `;
6355
- var TreeItem = import_styled_components27.default.li`
6356
- display: flex;
6357
- flex-direction: column;
6358
- list-style: none;
6359
- `;
6360
- var TreeNodeContent = import_styled_components27.default.ul`
6361
- display: flex;
6362
- flex-direction: column;
6363
- list-style: none;
6364
- margin: 0;
6365
- padding: 0;
6366
- `;
6367
-
6368
- // src/tree/index.tsx
6369
- var Tree = (props) => {
6370
- const { children, ...restProps } = props;
6371
- const { id } = useTree();
6372
- return /* @__PURE__ */ import_react48.default.createElement(TreeView, { id, role: "tree", ...restProps }, children);
6373
- };
6374
- Tree.displayName = "Tree";
6375
- var TreeRoot = ({
6376
- children,
6377
- defaultExpandedIds,
6378
- onSelectionChange
6379
- }) => {
6380
- return /* @__PURE__ */ import_react48.default.createElement(
6381
- TreeProvider,
6382
- {
6383
- defaultExpandedIds,
6384
- onSelectionChange
6385
- },
6386
- children
6387
- );
6388
- };
6389
- TreeRoot.displayName = "Tree.Root";
6390
- var TreeNode = (props) => {
6391
- const { nodeId, level = 0, isLast = false, children, ...restProps } = props;
6392
- return /* @__PURE__ */ import_react48.default.createElement(TreeNodeProvider, { nodeId, level, isLast }, /* @__PURE__ */ import_react48.default.createElement(TreeItem, { role: "treeitem", "aria-level": level + 1, ...restProps }, children));
6393
- };
6394
- TreeNode.displayName = "Tree.Node";
6395
- var TreeTrigger = (props) => {
6396
- const { nodeId, disabled, onClick, children, ...restProps } = props;
6397
- const { methods } = useTree();
6398
- const { getTreeId, toggleExpanded, toggleSelected } = methods;
6399
- const isExpanded = methods.isExpanded && methods.isExpanded(nodeId);
6400
- const isSelected = methods.isSelected && methods.isSelected(nodeId);
6401
- const IdHandler = {
6402
- trigger: getTreeId && getTreeId({ nodeId, type: "trigger" }),
6403
- content: getTreeId && getTreeId({ nodeId, type: "content" })
6404
- };
6405
- const { states: nodeStates } = useTreeNode();
6406
- const level = nodeStates.level ?? 0;
6407
- const handleClick = (event) => {
6408
- if (!disabled) {
6409
- onClick && onClick(event);
6410
- toggleExpanded && toggleExpanded(nodeId);
6411
- toggleSelected && toggleSelected(nodeId);
6412
- }
6413
- };
6414
- return /* @__PURE__ */ import_react48.default.createElement(
6415
- Button,
6416
- {
6417
- id: String(IdHandler.trigger),
6418
- disabled: disabled ?? false,
6419
- onClick: handleClick,
6420
- "data-state": isExpanded ? "expanded" : "collapsed",
6421
- "data-selected": isSelected || void 0,
6422
- variant: props.variant ?? "ghost" /* Ghost */,
6423
- style: { paddingLeft: `calc(${level} * 1rem + 0.5rem)` },
6424
- rawicon: true,
6425
- ...restProps
6426
- },
6427
- children
6428
- );
6429
- };
6430
- TreeTrigger.displayName = "Tree.Trigger";
6431
- var TreeContent = (props) => {
6432
- const { nodeId, defaultOpen = false, children, ...restProps } = props;
6433
- const { methods } = useTree();
6434
- const { getTreeId, toggleExpanded } = methods;
6435
- const isExpanded = methods.isExpanded && methods.isExpanded(nodeId);
6436
- const IdHandler = {
6437
- trigger: getTreeId && getTreeId({ nodeId, type: "trigger" }),
6438
- content: getTreeId && getTreeId({ nodeId, type: "content" })
6439
- };
6440
- import_react48.default.useEffect(() => {
6441
- if (defaultOpen && !isExpanded && toggleExpanded) toggleExpanded(nodeId);
6442
- }, []);
6443
- if (isExpanded)
6444
- return /* @__PURE__ */ import_react48.default.createElement(
6445
- TreeNodeContent,
6446
- {
6447
- role: "group",
6448
- id: String(IdHandler.content),
6449
- "aria-labelledby": String(IdHandler.trigger),
6450
- "data-nodeId": nodeId,
6451
- ...restProps
6452
- },
6453
- children
6454
- );
6455
- return /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null);
6456
- };
6457
- TreeContent.displayName = "Tree.Content";
6458
- Tree.Root = TreeRoot;
6459
- Tree.Node = TreeNode;
6460
- Tree.Trigger = TreeTrigger;
6461
- Tree.Content = TreeContent;
6462
-
6463
6271
  // src/select/index.tsx
6464
- var import_react50 = __toESM(require("react"));
6272
+ var import_react47 = __toESM(require("react"));
6465
6273
 
6466
6274
  // src/select/hooks/index.tsx
6467
- var import_react49 = __toESM(require("react"));
6275
+ var import_react46 = __toESM(require("react"));
6468
6276
  var defaultComponentAPI10 = {
6469
6277
  id: "",
6470
6278
  states: {},
6471
6279
  methods: {}
6472
6280
  };
6473
- var SelectContext = import_react49.default.createContext(defaultComponentAPI10);
6474
- var useSelect = () => import_react49.default.useContext(SelectContext);
6281
+ var SelectContext = import_react46.default.createContext(defaultComponentAPI10);
6282
+ var useSelect = () => import_react46.default.useContext(SelectContext);
6475
6283
  var SelectProvider = ({
6476
6284
  children
6477
6285
  }) => {
6478
6286
  const context = useSelectProvider();
6479
- return /* @__PURE__ */ import_react49.default.createElement(SelectContext.Provider, { value: context }, children);
6287
+ return /* @__PURE__ */ import_react46.default.createElement(SelectContext.Provider, { value: context }, children);
6480
6288
  };
6481
6289
  function useSelectProvider() {
6482
6290
  const DEFAULT_POSITIONS2 = {
@@ -6489,19 +6297,19 @@ function useSelectProvider() {
6489
6297
  width: 0,
6490
6298
  height: 0
6491
6299
  };
6492
- const [open, setOpen] = import_react49.default.useState(false);
6493
- const [value, setValue] = import_react49.default.useState(null);
6494
- const [label, setLabel] = import_react49.default.useState("");
6495
- const [contentProps, setContentProps] = import_react49.default.useState({
6300
+ const [open, setOpen] = import_react46.default.useState(false);
6301
+ const [value, setValue] = import_react46.default.useState(null);
6302
+ const [label, setLabel] = import_react46.default.useState("");
6303
+ const [contentProps, setContentProps] = import_react46.default.useState({
6496
6304
  ...DEFAULT_POSITIONS2,
6497
6305
  ...DEFAULT_DIMENSIONS2
6498
6306
  });
6499
- const [triggerProps, setTriggerProps] = import_react49.default.useState({
6307
+ const [triggerProps, setTriggerProps] = import_react46.default.useState({
6500
6308
  ...DEFAULT_POSITIONS2,
6501
6309
  ...DEFAULT_DIMENSIONS2
6502
6310
  });
6503
- const triggerId = import_react49.default.useId();
6504
- const listboxId = import_react49.default.useId();
6311
+ const triggerId = import_react46.default.useId();
6312
+ const listboxId = import_react46.default.useId();
6505
6313
  const composedId = `${triggerId}|${listboxId}`;
6506
6314
  return {
6507
6315
  id: composedId,
@@ -6524,12 +6332,12 @@ function useSelectProvider() {
6524
6332
  }
6525
6333
 
6526
6334
  // src/select/styles/index.tsx
6527
- var import_styled_components28 = __toESM(require("styled-components"));
6528
- var Wrapper = import_styled_components28.default.div`
6335
+ var import_styled_components27 = __toESM(require("styled-components"));
6336
+ var Wrapper = import_styled_components27.default.div`
6529
6337
  position: relative;
6530
6338
  width: 100%;
6531
6339
  `;
6532
- var Trigger = import_styled_components28.default.button`
6340
+ var Trigger = import_styled_components27.default.button`
6533
6341
  all: unset;
6534
6342
  box-sizing: border-box;
6535
6343
 
@@ -6547,7 +6355,7 @@ var Trigger = import_styled_components28.default.button`
6547
6355
 
6548
6356
  cursor: pointer !important;
6549
6357
  `;
6550
- var Label2 = import_styled_components28.default.span`
6358
+ var Label2 = import_styled_components27.default.span`
6551
6359
  flex: 1;
6552
6360
  text-align: left;
6553
6361
  font-weight: 400;
@@ -6555,7 +6363,7 @@ var Label2 = import_styled_components28.default.span`
6555
6363
  overflow: hidden;
6556
6364
  text-overflow: ellipsis;
6557
6365
  `;
6558
- var Content = import_styled_components28.default.ul`
6366
+ var Content = import_styled_components27.default.ul`
6559
6367
  @keyframes select-slide-in-down {
6560
6368
  0% {
6561
6369
  opacity: 0;
@@ -6609,7 +6417,7 @@ var Content = import_styled_components28.default.ul`
6609
6417
  }
6610
6418
  }
6611
6419
  `;
6612
- var List = import_styled_components28.default.li`
6420
+ var List = import_styled_components27.default.li`
6613
6421
  list-style: none;
6614
6422
  padding: 0;
6615
6423
  margin: 0;
@@ -6658,7 +6466,7 @@ var List = import_styled_components28.default.li`
6658
6466
  opacity: 0.6;
6659
6467
  }
6660
6468
  `;
6661
- var Item = import_styled_components28.default.span`
6469
+ var Item = import_styled_components27.default.span`
6662
6470
  display: flex;
6663
6471
  align-items: center;
6664
6472
  gap: var(--measurement-small-60);
@@ -6670,11 +6478,11 @@ var Item = import_styled_components28.default.span`
6670
6478
 
6671
6479
  // src/select/index.tsx
6672
6480
  var SelectRoot = ({ children }) => {
6673
- return /* @__PURE__ */ import_react50.default.createElement(SelectProvider, null, children);
6481
+ return /* @__PURE__ */ import_react47.default.createElement(SelectProvider, null, children);
6674
6482
  };
6675
6483
  SelectRoot.displayName = "Select.Root";
6676
6484
  var Select = ({ children }) => {
6677
- const selectRef = import_react50.default.useRef(null);
6485
+ const selectRef = import_react47.default.useRef(null);
6678
6486
  const { states, methods } = useSelect();
6679
6487
  const handleClickOutside = () => {
6680
6488
  if (states.open && methods.setOpen) {
@@ -6685,7 +6493,7 @@ var Select = ({ children }) => {
6685
6493
  selectRef,
6686
6494
  handleClickOutside
6687
6495
  );
6688
- return /* @__PURE__ */ import_react50.default.createElement(Wrapper, { ref: selectRef }, children);
6496
+ return /* @__PURE__ */ import_react47.default.createElement(Wrapper, { ref: selectRef }, children);
6689
6497
  };
6690
6498
  Select.displayName = "Select";
6691
6499
  var SelectTrigger = (props) => {
@@ -6699,7 +6507,7 @@ var SelectTrigger = (props) => {
6699
6507
  children,
6700
6508
  ...restProps
6701
6509
  } = props;
6702
- const triggerRef = import_react50.default.useRef(null);
6510
+ const triggerRef = import_react47.default.useRef(null);
6703
6511
  const triggerRect = () => triggerRef.current?.getBoundingClientRect();
6704
6512
  const { id, states, methods } = useSelect();
6705
6513
  const { toggleOpen, setTriggerProps } = methods;
@@ -6717,7 +6525,7 @@ var SelectTrigger = (props) => {
6717
6525
  });
6718
6526
  }
6719
6527
  };
6720
- return /* @__PURE__ */ import_react50.default.createElement(
6528
+ return /* @__PURE__ */ import_react47.default.createElement(
6721
6529
  Trigger,
6722
6530
  {
6723
6531
  ref: triggerRef,
@@ -6737,7 +6545,7 @@ var SelectTrigger = (props) => {
6737
6545
  disabled,
6738
6546
  ...restProps
6739
6547
  },
6740
- /* @__PURE__ */ import_react50.default.createElement(Label2, null, children)
6548
+ /* @__PURE__ */ import_react47.default.createElement(Label2, null, children)
6741
6549
  );
6742
6550
  };
6743
6551
  SelectTrigger.displayName = "Select.Trigger";
@@ -6745,8 +6553,8 @@ var SelectContent = (props) => {
6745
6553
  const { raw, defaultOpen, children, ...restProps } = props;
6746
6554
  const { id, states, methods } = useSelect();
6747
6555
  const { toggleOpen, setContentProps } = methods;
6748
- const mounted = import_react50.default.useRef(false);
6749
- const contentRef = import_react50.default.useRef(null);
6556
+ const mounted = import_react47.default.useRef(false);
6557
+ const contentRef = import_react47.default.useRef(null);
6750
6558
  const contentRect = () => contentRef?.current?.getBoundingClientRect();
6751
6559
  const bodyRect = () => {
6752
6560
  if (typeof document !== "undefined") {
@@ -6764,10 +6572,10 @@ var SelectContent = (props) => {
6764
6572
  content_bottom: states.contentProps.bottom
6765
6573
  };
6766
6574
  const hasEnoughVerticalSpace = dimensions.body_height - dimensions.content_bottom > dimensions.content_height - dimensions.content_height * 0.9;
6767
- import_react50.default.useEffect(() => {
6575
+ import_react47.default.useEffect(() => {
6768
6576
  if (defaultOpen && toggleOpen) toggleOpen();
6769
6577
  }, []);
6770
- import_react50.default.useEffect(() => {
6578
+ import_react47.default.useEffect(() => {
6771
6579
  mounted.current = true;
6772
6580
  if (setContentProps) {
6773
6581
  setContentProps({
@@ -6783,7 +6591,7 @@ var SelectContent = (props) => {
6783
6591
  mounted.current = false;
6784
6592
  };
6785
6593
  }, [states.open]);
6786
- import_react50.default.useEffect(() => {
6594
+ import_react47.default.useEffect(() => {
6787
6595
  if (!states.open) return;
6788
6596
  const handleKeyDown = (event) => {
6789
6597
  if (event.key === "Escape" && methods.setOpen) {
@@ -6794,7 +6602,7 @@ var SelectContent = (props) => {
6794
6602
  return () => document.removeEventListener("keydown", handleKeyDown);
6795
6603
  }, [states.open]);
6796
6604
  if (!states.open) return null;
6797
- return /* @__PURE__ */ import_react50.default.createElement(
6605
+ return /* @__PURE__ */ import_react47.default.createElement(
6798
6606
  ScrollArea,
6799
6607
  {
6800
6608
  scrollbar: true,
@@ -6834,7 +6642,7 @@ var SelectItem = (props) => {
6834
6642
  handleSelect(event);
6835
6643
  }
6836
6644
  };
6837
- return /* @__PURE__ */ import_react50.default.createElement(
6645
+ return /* @__PURE__ */ import_react47.default.createElement(
6838
6646
  List,
6839
6647
  {
6840
6648
  role: "option",
@@ -6848,7 +6656,7 @@ var SelectItem = (props) => {
6848
6656
  onKeyDown: handleKeyDown,
6849
6657
  ...restProps
6850
6658
  },
6851
- /* @__PURE__ */ import_react50.default.createElement(Item, null, children)
6659
+ /* @__PURE__ */ import_react47.default.createElement(Item, null, children)
6852
6660
  );
6853
6661
  };
6854
6662
  SelectItem.displayName = "Select.Item";
@@ -6955,11 +6763,6 @@ Select.Item = SelectItem;
6955
6763
  ToolbarSection,
6956
6764
  ToolbarTrigger,
6957
6765
  Tooltip,
6958
- Tree,
6959
- TreeContent,
6960
- TreeNode,
6961
- TreeRoot,
6962
- TreeTrigger,
6963
6766
  useAccordion,
6964
6767
  useCheckbox,
6965
6768
  useCollapsible,
@@ -6971,7 +6774,5 @@ Select.Item = SelectItem;
6971
6774
  useSheet,
6972
6775
  useSwitch,
6973
6776
  useTabs,
6974
- useToolbar,
6975
- useTree,
6976
- useTreeNode
6777
+ useToolbar
6977
6778
  });