@usefui/components 1.7.1 → 1.7.2

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,8 @@ 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;
4712
+ min-width: var(--measurement-large-60);
4694
4713
  `;
4695
4714
  var Divider2 = import_styled_components16.default.div`
4696
4715
  width: var(--measurement-medium-10);
@@ -4746,6 +4765,8 @@ var DragOverlay = import_styled_components16.default.div`
4746
4765
  // src/resizable/index.tsx
4747
4766
  var Resizable = ({
4748
4767
  defaultWidth,
4768
+ minWidth,
4769
+ maxWidth,
4749
4770
  left,
4750
4771
  right
4751
4772
  }) => {
@@ -4759,7 +4780,7 @@ var Resizable = ({
4759
4780
  if (!isDragging || !containerRef.current) return;
4760
4781
  const containerRect = containerRef.current.getBoundingClientRect();
4761
4782
  const newLeftWidth = (e.clientX - containerRect.left) / containerRect.width * 100;
4762
- const threshold = { min: 30, max: 70 };
4783
+ const threshold = { min: minWidth ?? 30, max: maxWidth ?? 70 };
4763
4784
  const constrainedWidth = Math.min(
4764
4785
  Math.max(newLeftWidth, threshold.min),
4765
4786
  threshold.max
@@ -6248,235 +6269,23 @@ var Tooltip = ({
6248
6269
  };
6249
6270
  Tooltip.displayName = "Tooltip";
6250
6271
 
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
6272
  // src/select/index.tsx
6464
- var import_react50 = __toESM(require("react"));
6273
+ var import_react47 = __toESM(require("react"));
6465
6274
 
6466
6275
  // src/select/hooks/index.tsx
6467
- var import_react49 = __toESM(require("react"));
6276
+ var import_react46 = __toESM(require("react"));
6468
6277
  var defaultComponentAPI10 = {
6469
6278
  id: "",
6470
6279
  states: {},
6471
6280
  methods: {}
6472
6281
  };
6473
- var SelectContext = import_react49.default.createContext(defaultComponentAPI10);
6474
- var useSelect = () => import_react49.default.useContext(SelectContext);
6282
+ var SelectContext = import_react46.default.createContext(defaultComponentAPI10);
6283
+ var useSelect = () => import_react46.default.useContext(SelectContext);
6475
6284
  var SelectProvider = ({
6476
6285
  children
6477
6286
  }) => {
6478
6287
  const context = useSelectProvider();
6479
- return /* @__PURE__ */ import_react49.default.createElement(SelectContext.Provider, { value: context }, children);
6288
+ return /* @__PURE__ */ import_react46.default.createElement(SelectContext.Provider, { value: context }, children);
6480
6289
  };
6481
6290
  function useSelectProvider() {
6482
6291
  const DEFAULT_POSITIONS2 = {
@@ -6489,19 +6298,19 @@ function useSelectProvider() {
6489
6298
  width: 0,
6490
6299
  height: 0
6491
6300
  };
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({
6301
+ const [open, setOpen] = import_react46.default.useState(false);
6302
+ const [value, setValue] = import_react46.default.useState(null);
6303
+ const [label, setLabel] = import_react46.default.useState("");
6304
+ const [contentProps, setContentProps] = import_react46.default.useState({
6496
6305
  ...DEFAULT_POSITIONS2,
6497
6306
  ...DEFAULT_DIMENSIONS2
6498
6307
  });
6499
- const [triggerProps, setTriggerProps] = import_react49.default.useState({
6308
+ const [triggerProps, setTriggerProps] = import_react46.default.useState({
6500
6309
  ...DEFAULT_POSITIONS2,
6501
6310
  ...DEFAULT_DIMENSIONS2
6502
6311
  });
6503
- const triggerId = import_react49.default.useId();
6504
- const listboxId = import_react49.default.useId();
6312
+ const triggerId = import_react46.default.useId();
6313
+ const listboxId = import_react46.default.useId();
6505
6314
  const composedId = `${triggerId}|${listboxId}`;
6506
6315
  return {
6507
6316
  id: composedId,
@@ -6524,12 +6333,12 @@ function useSelectProvider() {
6524
6333
  }
6525
6334
 
6526
6335
  // src/select/styles/index.tsx
6527
- var import_styled_components28 = __toESM(require("styled-components"));
6528
- var Wrapper = import_styled_components28.default.div`
6336
+ var import_styled_components27 = __toESM(require("styled-components"));
6337
+ var Wrapper = import_styled_components27.default.div`
6529
6338
  position: relative;
6530
6339
  width: 100%;
6531
6340
  `;
6532
- var Trigger = import_styled_components28.default.button`
6341
+ var Trigger = import_styled_components27.default.button`
6533
6342
  all: unset;
6534
6343
  box-sizing: border-box;
6535
6344
 
@@ -6547,7 +6356,7 @@ var Trigger = import_styled_components28.default.button`
6547
6356
 
6548
6357
  cursor: pointer !important;
6549
6358
  `;
6550
- var Label2 = import_styled_components28.default.span`
6359
+ var Label2 = import_styled_components27.default.span`
6551
6360
  flex: 1;
6552
6361
  text-align: left;
6553
6362
  font-weight: 400;
@@ -6555,7 +6364,7 @@ var Label2 = import_styled_components28.default.span`
6555
6364
  overflow: hidden;
6556
6365
  text-overflow: ellipsis;
6557
6366
  `;
6558
- var Content = import_styled_components28.default.ul`
6367
+ var Content = import_styled_components27.default.ul`
6559
6368
  @keyframes select-slide-in-down {
6560
6369
  0% {
6561
6370
  opacity: 0;
@@ -6609,7 +6418,7 @@ var Content = import_styled_components28.default.ul`
6609
6418
  }
6610
6419
  }
6611
6420
  `;
6612
- var List = import_styled_components28.default.li`
6421
+ var List = import_styled_components27.default.li`
6613
6422
  list-style: none;
6614
6423
  padding: 0;
6615
6424
  margin: 0;
@@ -6658,7 +6467,7 @@ var List = import_styled_components28.default.li`
6658
6467
  opacity: 0.6;
6659
6468
  }
6660
6469
  `;
6661
- var Item = import_styled_components28.default.span`
6470
+ var Item = import_styled_components27.default.span`
6662
6471
  display: flex;
6663
6472
  align-items: center;
6664
6473
  gap: var(--measurement-small-60);
@@ -6670,11 +6479,11 @@ var Item = import_styled_components28.default.span`
6670
6479
 
6671
6480
  // src/select/index.tsx
6672
6481
  var SelectRoot = ({ children }) => {
6673
- return /* @__PURE__ */ import_react50.default.createElement(SelectProvider, null, children);
6482
+ return /* @__PURE__ */ import_react47.default.createElement(SelectProvider, null, children);
6674
6483
  };
6675
6484
  SelectRoot.displayName = "Select.Root";
6676
6485
  var Select = ({ children }) => {
6677
- const selectRef = import_react50.default.useRef(null);
6486
+ const selectRef = import_react47.default.useRef(null);
6678
6487
  const { states, methods } = useSelect();
6679
6488
  const handleClickOutside = () => {
6680
6489
  if (states.open && methods.setOpen) {
@@ -6685,7 +6494,7 @@ var Select = ({ children }) => {
6685
6494
  selectRef,
6686
6495
  handleClickOutside
6687
6496
  );
6688
- return /* @__PURE__ */ import_react50.default.createElement(Wrapper, { ref: selectRef }, children);
6497
+ return /* @__PURE__ */ import_react47.default.createElement(Wrapper, { ref: selectRef }, children);
6689
6498
  };
6690
6499
  Select.displayName = "Select";
6691
6500
  var SelectTrigger = (props) => {
@@ -6699,7 +6508,7 @@ var SelectTrigger = (props) => {
6699
6508
  children,
6700
6509
  ...restProps
6701
6510
  } = props;
6702
- const triggerRef = import_react50.default.useRef(null);
6511
+ const triggerRef = import_react47.default.useRef(null);
6703
6512
  const triggerRect = () => triggerRef.current?.getBoundingClientRect();
6704
6513
  const { id, states, methods } = useSelect();
6705
6514
  const { toggleOpen, setTriggerProps } = methods;
@@ -6717,7 +6526,7 @@ var SelectTrigger = (props) => {
6717
6526
  });
6718
6527
  }
6719
6528
  };
6720
- return /* @__PURE__ */ import_react50.default.createElement(
6529
+ return /* @__PURE__ */ import_react47.default.createElement(
6721
6530
  Trigger,
6722
6531
  {
6723
6532
  ref: triggerRef,
@@ -6737,7 +6546,7 @@ var SelectTrigger = (props) => {
6737
6546
  disabled,
6738
6547
  ...restProps
6739
6548
  },
6740
- /* @__PURE__ */ import_react50.default.createElement(Label2, null, children)
6549
+ /* @__PURE__ */ import_react47.default.createElement(Label2, null, children)
6741
6550
  );
6742
6551
  };
6743
6552
  SelectTrigger.displayName = "Select.Trigger";
@@ -6745,8 +6554,8 @@ var SelectContent = (props) => {
6745
6554
  const { raw, defaultOpen, children, ...restProps } = props;
6746
6555
  const { id, states, methods } = useSelect();
6747
6556
  const { toggleOpen, setContentProps } = methods;
6748
- const mounted = import_react50.default.useRef(false);
6749
- const contentRef = import_react50.default.useRef(null);
6557
+ const mounted = import_react47.default.useRef(false);
6558
+ const contentRef = import_react47.default.useRef(null);
6750
6559
  const contentRect = () => contentRef?.current?.getBoundingClientRect();
6751
6560
  const bodyRect = () => {
6752
6561
  if (typeof document !== "undefined") {
@@ -6764,10 +6573,10 @@ var SelectContent = (props) => {
6764
6573
  content_bottom: states.contentProps.bottom
6765
6574
  };
6766
6575
  const hasEnoughVerticalSpace = dimensions.body_height - dimensions.content_bottom > dimensions.content_height - dimensions.content_height * 0.9;
6767
- import_react50.default.useEffect(() => {
6576
+ import_react47.default.useEffect(() => {
6768
6577
  if (defaultOpen && toggleOpen) toggleOpen();
6769
6578
  }, []);
6770
- import_react50.default.useEffect(() => {
6579
+ import_react47.default.useEffect(() => {
6771
6580
  mounted.current = true;
6772
6581
  if (setContentProps) {
6773
6582
  setContentProps({
@@ -6783,7 +6592,7 @@ var SelectContent = (props) => {
6783
6592
  mounted.current = false;
6784
6593
  };
6785
6594
  }, [states.open]);
6786
- import_react50.default.useEffect(() => {
6595
+ import_react47.default.useEffect(() => {
6787
6596
  if (!states.open) return;
6788
6597
  const handleKeyDown = (event) => {
6789
6598
  if (event.key === "Escape" && methods.setOpen) {
@@ -6794,7 +6603,7 @@ var SelectContent = (props) => {
6794
6603
  return () => document.removeEventListener("keydown", handleKeyDown);
6795
6604
  }, [states.open]);
6796
6605
  if (!states.open) return null;
6797
- return /* @__PURE__ */ import_react50.default.createElement(
6606
+ return /* @__PURE__ */ import_react47.default.createElement(
6798
6607
  ScrollArea,
6799
6608
  {
6800
6609
  scrollbar: true,
@@ -6834,7 +6643,7 @@ var SelectItem = (props) => {
6834
6643
  handleSelect(event);
6835
6644
  }
6836
6645
  };
6837
- return /* @__PURE__ */ import_react50.default.createElement(
6646
+ return /* @__PURE__ */ import_react47.default.createElement(
6838
6647
  List,
6839
6648
  {
6840
6649
  role: "option",
@@ -6848,7 +6657,7 @@ var SelectItem = (props) => {
6848
6657
  onKeyDown: handleKeyDown,
6849
6658
  ...restProps
6850
6659
  },
6851
- /* @__PURE__ */ import_react50.default.createElement(Item, null, children)
6660
+ /* @__PURE__ */ import_react47.default.createElement(Item, null, children)
6852
6661
  );
6853
6662
  };
6854
6663
  SelectItem.displayName = "Select.Item";
@@ -6955,11 +6764,6 @@ Select.Item = SelectItem;
6955
6764
  ToolbarSection,
6956
6765
  ToolbarTrigger,
6957
6766
  Tooltip,
6958
- Tree,
6959
- TreeContent,
6960
- TreeNode,
6961
- TreeRoot,
6962
- TreeTrigger,
6963
6767
  useAccordion,
6964
6768
  useCheckbox,
6965
6769
  useCollapsible,
@@ -6971,7 +6775,5 @@ Select.Item = SelectItem;
6971
6775
  useSheet,
6972
6776
  useSwitch,
6973
6777
  useTabs,
6974
- useToolbar,
6975
- useTree,
6976
- useTreeNode
6778
+ useToolbar
6977
6779
  });