@hyphen/hyphen-components 9.0.0 → 9.1.1

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.
@@ -4392,7 +4392,8 @@ var ResponsiveProvider = ({
4392
4392
  };
4393
4393
 
4394
4394
  // src/components/Sidebar/Sidebar.tsx
4395
- var import_react62 = __toESM(require("react"));
4395
+ var import_react63 = __toESM(require("react"));
4396
+ var import_react_id = require("@radix-ui/react-id");
4396
4397
  var import_react_slot3 = require("@radix-ui/react-slot");
4397
4398
  var import_classnames34 = __toESM(require("classnames"));
4398
4399
 
@@ -4417,10 +4418,187 @@ function useIsMobile() {
4417
4418
  }
4418
4419
 
4419
4420
  // src/components/Sidebar/Sidebar.module.scss
4420
- var Sidebar_module_default = { "rail": "rail__OwBtB", "group-data-": "group-data-__af4bi" };
4421
+ var Sidebar_module_default = { "rail": "rail__OwBtB", "group-data-": "group-data-__af4bi", "resizeDescription": "resizeDescription__Ou7UB" };
4422
+
4423
+ // src/components/Sidebar/useSidebarResize.ts
4424
+ var import_react62 = __toESM(require("react"));
4425
+ function useSidebarResize({
4426
+ resizable = false,
4427
+ defaultWidth,
4428
+ minWidth = 256,
4429
+ maxWidth = 960,
4430
+ widthStorageKey,
4431
+ side,
4432
+ isMobile,
4433
+ expanded,
4434
+ rootRef
4435
+ }) {
4436
+ const initialWidth = defaultWidth ?? (side === "left" ? 256 : 384);
4437
+ const [preferredWidth, setPreferredWidth] = (0, import_react62.useState)(initialWidth);
4438
+ const [containerWidth, setContainerWidth] = (0, import_react62.useState)(Infinity);
4439
+ const [dragging, setDragging] = (0, import_react62.useState)(false);
4440
+ const gesture = (0, import_react62.useRef)(null);
4441
+ const suppressClick = (0, import_react62.useRef)(false);
4442
+ const currentWidth = (0, import_react62.useRef)(preferredWidth);
4443
+ const enabled = resizable && !isMobile && expanded;
4444
+ const maximum = Math.max(0, Math.min(maxWidth, containerWidth * (2 / 3)));
4445
+ const minimum = Math.min(Math.max(0, minWidth), maximum);
4446
+ const clamp = (value) => Math.max(minimum, Math.min(maximum, value));
4447
+ const width = clamp(preferredWidth);
4448
+ const [settledWidth, setSettledWidth] = (0, import_react62.useState)(width);
4449
+ useIsomorphicLayoutEffect(() => {
4450
+ if (!resizable) return;
4451
+ let savedWidth = initialWidth;
4452
+ try {
4453
+ const saved = widthStorageKey && localStorage.getItem(widthStorageKey);
4454
+ if (saved && Number.isFinite(Number(saved)) && Number(saved) > 0) {
4455
+ savedWidth = Number(saved);
4456
+ }
4457
+ } catch {
4458
+ }
4459
+ setPreferredWidth(savedWidth);
4460
+ }, [resizable, initialWidth, widthStorageKey]);
4461
+ useIsomorphicLayoutEffect(() => {
4462
+ if (!resizable || isMobile) return;
4463
+ const container = rootRef.current?.closest("[data-sidebar-provider]");
4464
+ if (!container) return;
4465
+ const measure = () => setContainerWidth(container.getBoundingClientRect().width);
4466
+ measure();
4467
+ if (typeof ResizeObserver === "undefined") {
4468
+ window.addEventListener("resize", measure);
4469
+ return () => window.removeEventListener("resize", measure);
4470
+ }
4471
+ const observer = new ResizeObserver(measure);
4472
+ observer.observe(container);
4473
+ return () => observer.disconnect();
4474
+ }, [resizable, isMobile, rootRef]);
4475
+ useIsomorphicLayoutEffect(() => {
4476
+ if (dragging || width === settledWidth) return;
4477
+ rootRef.current?.getBoundingClientRect();
4478
+ setSettledWidth(width);
4479
+ }, [dragging, width, settledWidth, rootRef]);
4480
+ (0, import_react62.useEffect)(() => {
4481
+ if (!enabled) {
4482
+ gesture.current = null;
4483
+ setDragging(false);
4484
+ }
4485
+ }, [enabled]);
4486
+ (0, import_react62.useEffect)(() => {
4487
+ if (!dragging) return;
4488
+ const { cursor, userSelect } = document.body.style;
4489
+ document.body.style.cursor = "col-resize";
4490
+ document.body.style.userSelect = "none";
4491
+ return () => {
4492
+ document.body.style.cursor = cursor;
4493
+ document.body.style.userSelect = userSelect;
4494
+ };
4495
+ }, [dragging]);
4496
+ const update = (next) => {
4497
+ currentWidth.current = clamp(next);
4498
+ setPreferredWidth(currentWidth.current);
4499
+ };
4500
+ const persist = () => {
4501
+ if (!widthStorageKey) return;
4502
+ try {
4503
+ localStorage.setItem(widthStorageKey, String(currentWidth.current));
4504
+ } catch {
4505
+ }
4506
+ };
4507
+ const finish = () => {
4508
+ if (!gesture.current) return;
4509
+ if (gesture.current.moved) persist();
4510
+ gesture.current = null;
4511
+ setDragging(false);
4512
+ };
4513
+ const cancel = () => {
4514
+ if (!gesture.current) return;
4515
+ setPreferredWidth(gesture.current.preferred);
4516
+ gesture.current = null;
4517
+ setDragging(false);
4518
+ };
4519
+ const railProps = {
4520
+ onPointerDown: (event) => {
4521
+ suppressClick.current = false;
4522
+ if (!enabled || event.button !== 0 || gesture.current) return;
4523
+ gesture.current = {
4524
+ id: event.pointerId,
4525
+ x: event.clientX,
4526
+ width,
4527
+ preferred: preferredWidth,
4528
+ moved: false
4529
+ };
4530
+ event.currentTarget.setPointerCapture(event.pointerId);
4531
+ },
4532
+ onPointerMove: (event) => {
4533
+ const start = gesture.current;
4534
+ if (!start || start.id !== event.pointerId) return;
4535
+ const delta = event.clientX - start.x;
4536
+ if (!start.moved && Math.abs(delta) < 4) return;
4537
+ start.moved = true;
4538
+ suppressClick.current = true;
4539
+ setDragging(true);
4540
+ update(start.width + (side === "left" ? delta : -delta));
4541
+ },
4542
+ onPointerUp: (event) => {
4543
+ const start = gesture.current;
4544
+ if (!start || start.id !== event.pointerId) return;
4545
+ if (start.moved) {
4546
+ update(
4547
+ start.width + (side === "left" ? 1 : -1) * (event.clientX - start.x)
4548
+ );
4549
+ }
4550
+ finish();
4551
+ event.currentTarget.releasePointerCapture(event.pointerId);
4552
+ },
4553
+ onPointerCancel: cancel,
4554
+ // Capture can end before pointerup reaches the rail. Keep the last move
4555
+ // instead of treating release as a cancelled drag and restoring its start.
4556
+ onLostPointerCapture: (event) => {
4557
+ if (gesture.current?.id === event.pointerId) finish();
4558
+ },
4559
+ onClickCapture: (event) => {
4560
+ if (suppressClick.current && event.detail !== 0) {
4561
+ event.preventDefault();
4562
+ event.stopPropagation();
4563
+ suppressClick.current = false;
4564
+ }
4565
+ },
4566
+ onKeyDown: (event) => {
4567
+ const modified = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;
4568
+ if (!enabled || modified) return;
4569
+ let next;
4570
+ switch (event.key) {
4571
+ case "ArrowLeft":
4572
+ next = width + (side === "left" ? -10 : 10);
4573
+ break;
4574
+ case "ArrowRight":
4575
+ next = width + (side === "left" ? 10 : -10);
4576
+ break;
4577
+ case "Home":
4578
+ next = minimum;
4579
+ break;
4580
+ case "End":
4581
+ next = maximum;
4582
+ break;
4583
+ default:
4584
+ return;
4585
+ }
4586
+ event.preventDefault();
4587
+ update(next);
4588
+ persist();
4589
+ }
4590
+ };
4591
+ return {
4592
+ width,
4593
+ animate: !dragging && width === settledWidth,
4594
+ enabled,
4595
+ railProps
4596
+ };
4597
+ }
4598
+ var SidebarResizeContext = import_react62.default.createContext(null);
4421
4599
 
4422
4600
  // src/components/Tooltip/Tooltip.tsx
4423
- var React57 = __toESM(require("react"));
4601
+ var React58 = __toESM(require("react"));
4424
4602
  var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
4425
4603
 
4426
4604
  // src/components/Tooltip/Tooltip.module.scss
@@ -4432,7 +4610,7 @@ var TooltipProvider = TooltipPrimitive.Provider;
4432
4610
  var Tooltip = TooltipPrimitive.Root;
4433
4611
  var TooltipTrigger = TooltipPrimitive.Trigger;
4434
4612
  var TooltipPortal = TooltipPrimitive.Portal;
4435
- var TooltipContent = React57.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ React57.createElement(
4613
+ var TooltipContent = React58.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ React58.createElement(
4436
4614
  TooltipPrimitive.Content,
4437
4615
  {
4438
4616
  ref,
@@ -4453,14 +4631,14 @@ var SIDEBAR_RIGHT_WIDTH = "24rem";
4453
4631
  var SIDEBAR_WIDTH_ICON = "44px";
4454
4632
  var SIDEBAR_KEYBOARD_SHORTCUT_LEFT = "[";
4455
4633
  var SIDEBAR_KEYBOARD_SHORTCUT_RIGHT = "]";
4456
- var SidebarIsMobileContext = import_react62.default.createContext(null);
4457
- var SidebarLeftContext = import_react62.default.createContext(
4634
+ var SidebarIsMobileContext = import_react63.default.createContext(null);
4635
+ var SidebarLeftContext = import_react63.default.createContext(
4458
4636
  null
4459
4637
  );
4460
- var SidebarRightContext = import_react62.default.createContext(
4638
+ var SidebarRightContext = import_react63.default.createContext(
4461
4639
  null
4462
4640
  );
4463
- var SidebarSideContext = import_react62.default.createContext("left");
4641
+ var SidebarSideContext = import_react63.default.createContext("left");
4464
4642
  var resolveSideValue = (value, side, fallback) => {
4465
4643
  if (typeof value === "boolean") {
4466
4644
  return value;
@@ -4513,21 +4691,21 @@ var useSidebarSideState = ({
4513
4691
  );
4514
4692
  const controlledOpen = resolveControlledOpen(openProp, side);
4515
4693
  const isControlled = typeof controlledOpen === "boolean";
4516
- const [uncontrolledOpen, setUncontrolledOpen] = (0, import_react62.useState)(
4694
+ const [uncontrolledOpen, setUncontrolledOpen] = (0, import_react63.useState)(
4517
4695
  controlledOpen ?? initialDefaultOpen
4518
4696
  );
4519
- const [openMobile, setOpenMobile] = (0, import_react62.useState)(
4697
+ const [openMobile, setOpenMobile] = (0, import_react63.useState)(
4520
4698
  () => isMobile ? false : controlledOpen ?? initialDefaultOpen
4521
4699
  );
4522
4700
  const open = controlledOpen ?? uncontrolledOpen;
4523
- (0, import_react62.useEffect)(() => {
4701
+ (0, import_react63.useEffect)(() => {
4524
4702
  if (isMobile) {
4525
4703
  setOpenMobile(false);
4526
4704
  } else {
4527
4705
  setUncontrolledOpen(controlledOpen ?? initialDefaultOpen);
4528
4706
  }
4529
4707
  }, [isMobile, controlledOpen, initialDefaultOpen]);
4530
- const setOpen = (0, import_react62.useCallback)(
4708
+ const setOpen = (0, import_react63.useCallback)(
4531
4709
  (value) => {
4532
4710
  const newOpenState = typeof value === "function" ? value(open) : value;
4533
4711
  if (newOpenState === open) {
@@ -4542,7 +4720,7 @@ var useSidebarSideState = ({
4542
4720
  },
4543
4721
  [open, isControlled, onOpenChange, side, storageKey]
4544
4722
  );
4545
- const toggleSidebar = (0, import_react62.useCallback)(() => {
4723
+ const toggleSidebar = (0, import_react63.useCallback)(() => {
4546
4724
  lastToggledSideRef.current = side;
4547
4725
  if (isMobile) {
4548
4726
  setOpenMobile((value) => !value);
@@ -4551,7 +4729,7 @@ var useSidebarSideState = ({
4551
4729
  }
4552
4730
  }, [isMobile, setOpen, side, setOpenMobile, lastToggledSideRef]);
4553
4731
  const state = open ? "expanded" : "collapsed";
4554
- return (0, import_react62.useMemo)(
4732
+ return (0, import_react63.useMemo)(
4555
4733
  () => ({
4556
4734
  state,
4557
4735
  open,
@@ -4564,13 +4742,13 @@ var useSidebarSideState = ({
4564
4742
  );
4565
4743
  };
4566
4744
  function useSidebar(sideOverride) {
4567
- const isMobile = import_react62.default.useContext(SidebarIsMobileContext);
4745
+ const isMobile = import_react63.default.useContext(SidebarIsMobileContext);
4568
4746
  if (typeof isMobile !== "boolean") {
4569
4747
  throw new Error("useSidebar must be used within a SidebarProvider.");
4570
4748
  }
4571
- const contextSide = import_react62.default.useContext(SidebarSideContext);
4749
+ const contextSide = import_react63.default.useContext(SidebarSideContext);
4572
4750
  const side = sideOverride ?? contextSide;
4573
- const sideContext = import_react62.default.useContext(
4751
+ const sideContext = import_react63.default.useContext(
4574
4752
  side === "left" ? SidebarLeftContext : SidebarRightContext
4575
4753
  );
4576
4754
  if (!sideContext) {
@@ -4582,7 +4760,7 @@ function useSidebar(sideOverride) {
4582
4760
  side
4583
4761
  };
4584
4762
  }
4585
- var SidebarProvider = (0, import_react62.forwardRef)(
4763
+ var SidebarProvider = (0, import_react63.forwardRef)(
4586
4764
  ({
4587
4765
  defaultOpen = true,
4588
4766
  open: openProp,
@@ -4594,9 +4772,9 @@ var SidebarProvider = (0, import_react62.forwardRef)(
4594
4772
  ...props
4595
4773
  }, ref) => {
4596
4774
  const isMobile = useIsMobile();
4597
- const lastToggledSideRef = import_react62.default.useRef("left");
4598
- const leftToggleRef = import_react62.default.useRef(null);
4599
- const rightToggleRef = import_react62.default.useRef(null);
4775
+ const lastToggledSideRef = import_react63.default.useRef("left");
4776
+ const leftToggleRef = import_react63.default.useRef(null);
4777
+ const rightToggleRef = import_react63.default.useRef(null);
4600
4778
  const leftState = useSidebarSideState({
4601
4779
  side: "left",
4602
4780
  isMobile,
@@ -4615,18 +4793,21 @@ var SidebarProvider = (0, import_react62.forwardRef)(
4615
4793
  storageKey,
4616
4794
  lastToggledSideRef
4617
4795
  });
4618
- (0, import_react62.useEffect)(() => {
4796
+ (0, import_react63.useEffect)(() => {
4619
4797
  leftToggleRef.current = leftState.toggleSidebar;
4620
4798
  }, [leftState.toggleSidebar]);
4621
- (0, import_react62.useEffect)(() => {
4799
+ (0, import_react63.useEffect)(() => {
4622
4800
  rightToggleRef.current = rightState.toggleSidebar;
4623
4801
  }, [rightState.toggleSidebar]);
4624
- (0, import_react62.useEffect)(() => {
4802
+ (0, import_react63.useEffect)(() => {
4625
4803
  const handleKeyDown = (event) => {
4626
4804
  const target = event.target;
4627
4805
  if (target && (target.tagName === "INPUT" || target.tagName === "TEXTAREA" || target.tagName === "SELECT" || target.isContentEditable)) {
4628
4806
  return;
4629
4807
  }
4808
+ if (event.metaKey || event.ctrlKey && !event.getModifierState("AltGraph")) {
4809
+ return;
4810
+ }
4630
4811
  const shortcutSide = event.key === SIDEBAR_KEYBOARD_SHORTCUT_LEFT ? "left" : event.key === SIDEBAR_KEYBOARD_SHORTCUT_RIGHT ? "right" : null;
4631
4812
  if (!shortcutSide) {
4632
4813
  return;
@@ -4638,7 +4819,7 @@ var SidebarProvider = (0, import_react62.forwardRef)(
4638
4819
  window.addEventListener("keydown", handleKeyDown);
4639
4820
  return () => window.removeEventListener("keydown", handleKeyDown);
4640
4821
  }, []);
4641
- return /* @__PURE__ */ import_react62.default.createElement(SidebarIsMobileContext.Provider, { value: isMobile }, /* @__PURE__ */ import_react62.default.createElement(SidebarLeftContext.Provider, { value: leftState }, /* @__PURE__ */ import_react62.default.createElement(SidebarRightContext.Provider, { value: rightState }, /* @__PURE__ */ import_react62.default.createElement(TooltipProvider, { delayDuration: 0 }, /* @__PURE__ */ import_react62.default.createElement(
4822
+ return /* @__PURE__ */ import_react63.default.createElement(SidebarIsMobileContext.Provider, { value: isMobile }, /* @__PURE__ */ import_react63.default.createElement(SidebarLeftContext.Provider, { value: leftState }, /* @__PURE__ */ import_react63.default.createElement(SidebarRightContext.Provider, { value: rightState }, /* @__PURE__ */ import_react63.default.createElement(TooltipProvider, { delayDuration: 0 }, /* @__PURE__ */ import_react63.default.createElement(
4642
4823
  "div",
4643
4824
  {
4644
4825
  style: {
@@ -4652,6 +4833,7 @@ var SidebarProvider = (0, import_react62.forwardRef)(
4652
4833
  className
4653
4834
  ),
4654
4835
  ref,
4836
+ "data-sidebar-provider": "",
4655
4837
  ...props
4656
4838
  },
4657
4839
  children
@@ -4659,23 +4841,54 @@ var SidebarProvider = (0, import_react62.forwardRef)(
4659
4841
  }
4660
4842
  );
4661
4843
  SidebarProvider.displayName = "SidebarProvider";
4662
- var Sidebar = import_react62.default.forwardRef(
4663
- ({ side = "left", collapsible = "offcanvas", className, children, ...props }, ref) => {
4844
+ var Sidebar = import_react63.default.forwardRef(
4845
+ ({
4846
+ side = "left",
4847
+ collapsible = "offcanvas",
4848
+ className,
4849
+ children,
4850
+ resizable,
4851
+ defaultWidth,
4852
+ minWidth,
4853
+ maxWidth,
4854
+ widthStorageKey,
4855
+ ...props
4856
+ }, ref) => {
4664
4857
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar(side);
4665
- const sidebarWidth = side === "right" ? SIDEBAR_RIGHT_WIDTH : SIDEBAR_WIDTH;
4858
+ const rootRef = import_react63.default.useRef(null);
4859
+ const setRootRef = import_react63.default.useCallback(
4860
+ (node) => {
4861
+ rootRef.current = node;
4862
+ if (typeof ref === "function") ref(node);
4863
+ else if (ref) ref.current = node;
4864
+ },
4865
+ [ref]
4866
+ );
4867
+ const resize = useSidebarResize({
4868
+ resizable,
4869
+ defaultWidth,
4870
+ minWidth,
4871
+ maxWidth,
4872
+ widthStorageKey,
4873
+ side,
4874
+ isMobile,
4875
+ expanded: state === "expanded" || collapsible === "none",
4876
+ rootRef
4877
+ });
4878
+ const sidebarWidth = resizable ? `${resize.width}px` : side === "right" ? SIDEBAR_RIGHT_WIDTH : SIDEBAR_WIDTH;
4666
4879
  if (isMobile) {
4667
- return /* @__PURE__ */ import_react62.default.createElement(SidebarSideContext.Provider, { value: side }, /* @__PURE__ */ import_react62.default.createElement(
4880
+ return /* @__PURE__ */ import_react63.default.createElement(SidebarSideContext.Provider, { value: side }, /* @__PURE__ */ import_react63.default.createElement(SidebarResizeContext.Provider, { value: resize }, /* @__PURE__ */ import_react63.default.createElement(
4668
4881
  Drawer,
4669
4882
  {
4670
4883
  isOpen: openMobile,
4671
4884
  onDismiss: () => setOpenMobile(false),
4672
4885
  placement: side
4673
4886
  },
4674
- /* @__PURE__ */ import_react62.default.createElement(Box, { "data-sidebar": "sidebar", "data-mobile": "true", height: "100" }, children)
4675
- ));
4887
+ /* @__PURE__ */ import_react63.default.createElement(Box, { "data-sidebar": "sidebar", "data-mobile": "true", height: "100" }, children)
4888
+ )));
4676
4889
  }
4677
4890
  if (collapsible === "none") {
4678
- return /* @__PURE__ */ import_react62.default.createElement(SidebarSideContext.Provider, { value: side }, /* @__PURE__ */ import_react62.default.createElement(
4891
+ return /* @__PURE__ */ import_react63.default.createElement(SidebarSideContext.Provider, { value: side }, /* @__PURE__ */ import_react63.default.createElement(SidebarResizeContext.Provider, { value: resize }, /* @__PURE__ */ import_react63.default.createElement(
4679
4892
  "div",
4680
4893
  {
4681
4894
  className: (0, import_classnames34.default)(
@@ -4684,18 +4897,19 @@ var Sidebar = import_react62.default.forwardRef(
4684
4897
  ),
4685
4898
  style: {
4686
4899
  "--sidebar-width": sidebarWidth,
4687
- width: "var(--sidebar-width)"
4900
+ width: "var(--sidebar-width)",
4901
+ ...resizable ? { position: "relative", flexShrink: 0 } : {}
4688
4902
  },
4689
- ref,
4903
+ ref: setRootRef,
4690
4904
  ...props
4691
4905
  },
4692
4906
  children
4693
- ));
4907
+ )));
4694
4908
  }
4695
- return /* @__PURE__ */ import_react62.default.createElement(SidebarSideContext.Provider, { value: side }, /* @__PURE__ */ import_react62.default.createElement(
4909
+ return /* @__PURE__ */ import_react63.default.createElement(SidebarSideContext.Provider, { value: side }, /* @__PURE__ */ import_react63.default.createElement(SidebarResizeContext.Provider, { value: resize }, /* @__PURE__ */ import_react63.default.createElement(
4696
4910
  Box,
4697
4911
  {
4698
- ref,
4912
+ ref: setRootRef,
4699
4913
  background: "primary",
4700
4914
  display: { base: "none", desktop: "block" },
4701
4915
  color: "base",
@@ -4709,13 +4923,13 @@ var Sidebar = import_react62.default.forwardRef(
4709
4923
  "data-side": side,
4710
4924
  className: "group"
4711
4925
  },
4712
- /* @__PURE__ */ import_react62.default.createElement(
4926
+ /* @__PURE__ */ import_react63.default.createElement(
4713
4927
  "div",
4714
4928
  {
4715
4929
  style: {
4716
4930
  animationTimingFunction: "var(--sidebar-transition-timing, linear)",
4717
4931
  transitionTimingFunction: "var(--sidebar-transition-timing, linear)",
4718
- transitionDuration: "var(--sidebar-transition-duration, 200ms)",
4932
+ transitionDuration: resize.animate ? "var(--sidebar-transition-duration, 200ms)" : "0ms",
4719
4933
  animationDuration: "var(--sidebar-transition-duration, 200ms)",
4720
4934
  transitionProperty: "width",
4721
4935
  width: getSidebarWidth(state, collapsible),
@@ -4724,7 +4938,7 @@ var Sidebar = import_react62.default.forwardRef(
4724
4938
  className: (0, import_classnames34.default)("position-relative", className)
4725
4939
  }
4726
4940
  ),
4727
- /* @__PURE__ */ import_react62.default.createElement(
4941
+ /* @__PURE__ */ import_react63.default.createElement(
4728
4942
  "div",
4729
4943
  {
4730
4944
  className: (0, import_classnames34.default)(
@@ -4738,7 +4952,7 @@ var Sidebar = import_react62.default.forwardRef(
4738
4952
  zIndex: "var(--size-z-index-drawer)",
4739
4953
  animationTimingFunction: "var(--sidebar-transition-timing, linear)",
4740
4954
  transitionTimingFunction: "var(--sidebar-transition-timing, linear)",
4741
- transitionDuration: "var(--sidebar-transition-duration, 200ms)",
4955
+ transitionDuration: resize.animate ? "var(--sidebar-transition-duration, 200ms)" : "0ms",
4742
4956
  animationDuration: "var(--sidebar-transition-duration, 200ms)",
4743
4957
  transitionProperty: "left, right, width",
4744
4958
  width: state === "collapsed" && collapsible === "icon" ? "var(--sidebar-width-icon)" : "var(--sidebar-width)",
@@ -4746,7 +4960,7 @@ var Sidebar = import_react62.default.forwardRef(
4746
4960
  },
4747
4961
  ...props
4748
4962
  },
4749
- /* @__PURE__ */ import_react62.default.createElement(
4963
+ /* @__PURE__ */ import_react63.default.createElement(
4750
4964
  "div",
4751
4965
  {
4752
4966
  "data-sidebar": "sidebar",
@@ -4760,13 +4974,13 @@ var Sidebar = import_react62.default.forwardRef(
4760
4974
  children
4761
4975
  )
4762
4976
  )
4763
- ));
4977
+ )));
4764
4978
  }
4765
4979
  );
4766
4980
  Sidebar.displayName = "Sidebar";
4767
- var SidebarTrigger = import_react62.default.forwardRef(({ className, onClick, side, iconName = "dock-left", ...props }, ref) => {
4981
+ var SidebarTrigger = import_react63.default.forwardRef(({ className, onClick, side, iconName = "dock-left", ...props }, ref) => {
4768
4982
  const { toggleSidebar, side: contextSide } = useSidebar(side);
4769
- return /* @__PURE__ */ import_react62.default.createElement(
4983
+ return /* @__PURE__ */ import_react63.default.createElement(
4770
4984
  Button,
4771
4985
  {
4772
4986
  ref,
@@ -4791,8 +5005,8 @@ var SidebarTrigger = import_react62.default.forwardRef(({ className, onClick, si
4791
5005
  );
4792
5006
  });
4793
5007
  SidebarTrigger.displayName = "SidebarTrigger";
4794
- var SidebarInset = import_react62.default.forwardRef(({ className, ...props }, ref) => {
4795
- return /* @__PURE__ */ import_react62.default.createElement(
5008
+ var SidebarInset = import_react63.default.forwardRef(({ className, ...props }, ref) => {
5009
+ return /* @__PURE__ */ import_react63.default.createElement(
4796
5010
  "main",
4797
5011
  {
4798
5012
  ref,
@@ -4805,10 +5019,10 @@ var SidebarInset = import_react62.default.forwardRef(({ className, ...props }, r
4805
5019
  );
4806
5020
  });
4807
5021
  SidebarInset.displayName = "SidebarInset";
4808
- var SidebarHeader = import_react62.default.forwardRef(({ className, ...props }, ref) => {
5022
+ var SidebarHeader = import_react63.default.forwardRef(({ className, ...props }, ref) => {
4809
5023
  const { state } = useSidebar();
4810
5024
  const isCollapsed = state === "collapsed";
4811
- return /* @__PURE__ */ import_react62.default.createElement(
5025
+ return /* @__PURE__ */ import_react63.default.createElement(
4812
5026
  "div",
4813
5027
  {
4814
5028
  ref,
@@ -4823,8 +5037,8 @@ var SidebarHeader = import_react62.default.forwardRef(({ className, ...props },
4823
5037
  );
4824
5038
  });
4825
5039
  SidebarHeader.displayName = "SidebarHeader";
4826
- var SidebarFooter = import_react62.default.forwardRef(({ className, ...props }, ref) => {
4827
- return /* @__PURE__ */ import_react62.default.createElement(
5040
+ var SidebarFooter = import_react63.default.forwardRef(({ className, ...props }, ref) => {
5041
+ return /* @__PURE__ */ import_react63.default.createElement(
4828
5042
  "div",
4829
5043
  {
4830
5044
  ref,
@@ -4838,8 +5052,8 @@ var SidebarFooter = import_react62.default.forwardRef(({ className, ...props },
4838
5052
  );
4839
5053
  });
4840
5054
  SidebarFooter.displayName = "SidebarFooter";
4841
- var SidebarContent = import_react62.default.forwardRef(({ className, ...props }, ref) => {
4842
- return /* @__PURE__ */ import_react62.default.createElement(
5055
+ var SidebarContent = import_react63.default.forwardRef(({ className, ...props }, ref) => {
5056
+ return /* @__PURE__ */ import_react63.default.createElement(
4843
5057
  "div",
4844
5058
  {
4845
5059
  ref,
@@ -4854,7 +5068,7 @@ var SidebarContent = import_react62.default.forwardRef(({ className, ...props },
4854
5068
  );
4855
5069
  });
4856
5070
  SidebarContent.displayName = "SidebarContent";
4857
- var SidebarMenu = import_react62.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react62.default.createElement(
5071
+ var SidebarMenu = import_react63.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react63.default.createElement(
4858
5072
  "ul",
4859
5073
  {
4860
5074
  ref,
@@ -4870,7 +5084,7 @@ var SidebarMenu = import_react62.default.forwardRef(({ className, ...props }, re
4870
5084
  }
4871
5085
  ));
4872
5086
  SidebarMenu.displayName = "SidebarMenu";
4873
- var SidebarMenuItem = import_react62.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react62.default.createElement(
5087
+ var SidebarMenuItem = import_react63.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react63.default.createElement(
4874
5088
  "li",
4875
5089
  {
4876
5090
  ref,
@@ -4881,11 +5095,11 @@ var SidebarMenuItem = import_react62.default.forwardRef(({ className, ...props }
4881
5095
  }
4882
5096
  ));
4883
5097
  SidebarMenuItem.displayName = "SidebarMenuItem";
4884
- var SidebarMenuButton = import_react62.default.forwardRef(
5098
+ var SidebarMenuButton = import_react63.default.forwardRef(
4885
5099
  ({ asChild = false, isActive = false, tooltip, className, ...props }, ref) => {
4886
5100
  const Comp = asChild ? import_react_slot3.Slot : "button";
4887
5101
  const { isMobile, state, side } = useSidebar();
4888
- const button = /* @__PURE__ */ import_react62.default.createElement(
5102
+ const button = /* @__PURE__ */ import_react63.default.createElement(
4889
5103
  Comp,
4890
5104
  {
4891
5105
  ref,
@@ -4911,7 +5125,7 @@ var SidebarMenuButton = import_react62.default.forwardRef(
4911
5125
  children: tooltip
4912
5126
  };
4913
5127
  }
4914
- return /* @__PURE__ */ import_react62.default.createElement(Tooltip, null, /* @__PURE__ */ import_react62.default.createElement(TooltipTrigger, { asChild: true }, button), /* @__PURE__ */ import_react62.default.createElement(
5128
+ return /* @__PURE__ */ import_react63.default.createElement(Tooltip, null, /* @__PURE__ */ import_react63.default.createElement(TooltipTrigger, { asChild: true }, button), /* @__PURE__ */ import_react63.default.createElement(
4915
5129
  TooltipContent,
4916
5130
  {
4917
5131
  side: side === "right" ? "left" : "right",
@@ -4923,8 +5137,8 @@ var SidebarMenuButton = import_react62.default.forwardRef(
4923
5137
  }
4924
5138
  );
4925
5139
  SidebarMenuButton.displayName = "SidebarMenuButton";
4926
- var SidebarGroup = import_react62.default.forwardRef(({ className, ...props }, ref) => {
4927
- return /* @__PURE__ */ import_react62.default.createElement(
5140
+ var SidebarGroup = import_react63.default.forwardRef(({ className, ...props }, ref) => {
5141
+ return /* @__PURE__ */ import_react63.default.createElement(
4928
5142
  "div",
4929
5143
  {
4930
5144
  ref,
@@ -4938,8 +5152,8 @@ var SidebarGroup = import_react62.default.forwardRef(({ className, ...props }, r
4938
5152
  );
4939
5153
  });
4940
5154
  SidebarGroup.displayName = "SidebarGroup";
4941
- var SidebarGroupLabel = import_react62.default.forwardRef(({ className, ...props }, ref) => {
4942
- return /* @__PURE__ */ import_react62.default.createElement(
5155
+ var SidebarGroupLabel = import_react63.default.forwardRef(({ className, ...props }, ref) => {
5156
+ return /* @__PURE__ */ import_react63.default.createElement(
4943
5157
  "div",
4944
5158
  {
4945
5159
  ref,
@@ -4953,7 +5167,7 @@ var SidebarGroupLabel = import_react62.default.forwardRef(({ className, ...props
4953
5167
  );
4954
5168
  });
4955
5169
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
4956
- var SidebarMenuSub = import_react62.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react62.default.createElement(
5170
+ var SidebarMenuSub = import_react63.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react63.default.createElement(
4957
5171
  "ul",
4958
5172
  {
4959
5173
  ref,
@@ -4969,11 +5183,11 @@ var SidebarMenuSub = import_react62.default.forwardRef(({ className, ...props },
4969
5183
  }
4970
5184
  ));
4971
5185
  SidebarMenuSub.displayName = "SidebarMenuSub";
4972
- var SidebarMenuSubItem = import_react62.default.forwardRef(({ ...props }, ref) => /* @__PURE__ */ import_react62.default.createElement("li", { ref, ...props }));
5186
+ var SidebarMenuSubItem = import_react63.default.forwardRef(({ ...props }, ref) => /* @__PURE__ */ import_react63.default.createElement("li", { ref, ...props }));
4973
5187
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
4974
- var SidebarMenuSubButton = import_react62.default.forwardRef(({ asChild = false, isActive, className, ...props }, ref) => {
5188
+ var SidebarMenuSubButton = import_react63.default.forwardRef(({ asChild = false, isActive, className, ...props }, ref) => {
4975
5189
  const Comp = asChild ? import_react_slot3.Slot : "a";
4976
- return /* @__PURE__ */ import_react62.default.createElement(
5190
+ return /* @__PURE__ */ import_react63.default.createElement(
4977
5191
  Comp,
4978
5192
  {
4979
5193
  ref,
@@ -4992,9 +5206,9 @@ var SidebarMenuSubButton = import_react62.default.forwardRef(({ asChild = false,
4992
5206
  );
4993
5207
  });
4994
5208
  SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
4995
- var SidebarMenuAction = import_react62.default.forwardRef(({ className, asChild = false, ...props }, ref) => {
5209
+ var SidebarMenuAction = import_react63.default.forwardRef(({ className, asChild = false, ...props }, ref) => {
4996
5210
  const Comp = asChild ? import_react_slot3.Slot : "button";
4997
- return /* @__PURE__ */ import_react62.default.createElement(
5211
+ return /* @__PURE__ */ import_react63.default.createElement(
4998
5212
  Comp,
4999
5213
  {
5000
5214
  ref,
@@ -5012,25 +5226,30 @@ var SidebarMenuAction = import_react62.default.forwardRef(({ className, asChild
5012
5226
  );
5013
5227
  });
5014
5228
  SidebarMenuAction.displayName = "SidebarMenuAction";
5015
- var SidebarRail = import_react62.default.forwardRef(({ className, ...props }, ref) => {
5229
+ var SidebarRail = import_react63.default.forwardRef(({ className, ...props }, ref) => {
5016
5230
  const { open, toggleSidebar, side } = useSidebar();
5231
+ const resize = import_react63.default.useContext(SidebarResizeContext);
5232
+ const descriptionId = (0, import_react_id.useId)();
5017
5233
  const shortcutLabel = side === "left" ? SIDEBAR_KEYBOARD_SHORTCUT_LEFT : SIDEBAR_KEYBOARD_SHORTCUT_RIGHT;
5018
5234
  const caretIcon = open ? side === "right" ? "caret-sm-right" : "caret-sm-left" : side === "right" ? "caret-sm-left" : "caret-sm-right";
5019
- return /* @__PURE__ */ import_react62.default.createElement(
5235
+ return /* @__PURE__ */ import_react63.default.createElement(import_react63.default.Fragment, null, /* @__PURE__ */ import_react63.default.createElement(
5020
5236
  "button",
5021
5237
  {
5022
5238
  ref,
5023
5239
  "data-sidebar": "rail",
5024
- "aria-label": "Toggle Sidebar",
5025
- tabIndex: -1,
5240
+ "data-resizable": resize?.enabled || void 0,
5241
+ "aria-label": resize?.enabled ? `Resize or toggle ${side} sidebar` : "Toggle Sidebar",
5242
+ "aria-describedby": resize?.enabled ? descriptionId : void 0,
5243
+ tabIndex: resize?.enabled ? 0 : -1,
5244
+ ...resize?.enabled ? resize.railProps : {},
5026
5245
  onClick: toggleSidebar,
5027
- title: `Toggle Sidebar ${shortcutLabel}`,
5246
+ title: resize?.enabled ? `Drag to resize; click to toggle (${shortcutLabel})` : `Toggle Sidebar ${shortcutLabel}`,
5028
5247
  className: (0, import_classnames34.default)(
5029
5248
  Sidebar_module_default.rail,
5030
5249
  "hover-show-child background-color-transparent display-flex p-top-5xl p-left-xl p-right-0 justify-content-center position-absolute",
5031
5250
  {
5032
- "cursor-w-resize": open && side === "left" || !open && side === "right",
5033
- "cursor-e-resize": !open && side === "left" || open && side === "right"
5251
+ "cursor-w-resize": !resize?.enabled && (open && side === "left" || !open && side === "right"),
5252
+ "cursor-e-resize": !resize?.enabled && (!open && side === "left" || open && side === "right")
5034
5253
  },
5035
5254
  className
5036
5255
  ),
@@ -5039,12 +5258,13 @@ var SidebarRail = import_react62.default.forwardRef(({ className, ...props }, re
5039
5258
  bottom: "20px",
5040
5259
  right: side === "left" ? "-14px" : void 0,
5041
5260
  left: side === "right" ? "-18px" : void 0,
5042
- width: "10px"
5261
+ width: "10px",
5262
+ ...resize?.enabled ? { cursor: "col-resize", touchAction: "none" } : {}
5043
5263
  },
5044
5264
  type: "button",
5045
5265
  ...props
5046
5266
  },
5047
- /* @__PURE__ */ import_react62.default.createElement(
5267
+ /* @__PURE__ */ import_react63.default.createElement(
5048
5268
  Box,
5049
5269
  {
5050
5270
  radius: "xl",
@@ -5061,18 +5281,18 @@ var SidebarRail = import_react62.default.forwardRef(({ className, ...props }, re
5061
5281
  className: (0, import_classnames34.default)(
5062
5282
  "hover-child",
5063
5283
  {
5064
- "cursor-w-resize": open && side === "left" || !open && side === "right",
5065
- "cursor-e-resize": !open && side === "left" || open && side === "right"
5284
+ "cursor-w-resize": !resize?.enabled && (open && side === "left" || !open && side === "right"),
5285
+ "cursor-e-resize": !resize?.enabled && (!open && side === "left" || open && side === "right")
5066
5286
  },
5067
5287
  className
5068
5288
  )
5069
5289
  },
5070
- /* @__PURE__ */ import_react62.default.createElement(Icon, { name: caretIcon })
5290
+ /* @__PURE__ */ import_react63.default.createElement(Icon, { name: caretIcon })
5071
5291
  )
5072
- );
5292
+ ), resize?.enabled && /* @__PURE__ */ import_react63.default.createElement("span", { id: descriptionId, className: Sidebar_module_default.resizeDescription }, "Width ", Math.round(resize.width), " pixels. Use left and right arrows to resize, Home for minimum, End for maximum, and Enter or Space to toggle."));
5073
5293
  });
5074
5294
  SidebarRail.displayName = "SidebarRail";
5075
- var SidebarMenuBadge = import_react62.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react62.default.createElement(
5295
+ var SidebarMenuBadge = import_react63.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react63.default.createElement(
5076
5296
  "div",
5077
5297
  {
5078
5298
  ref,
@@ -5091,28 +5311,28 @@ var SidebarMenuBadge = import_react62.default.forwardRef(({ className, ...props
5091
5311
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
5092
5312
 
5093
5313
  // src/components/Table/Table.tsx
5094
- var import_react68 = __toESM(require("react"));
5314
+ var import_react69 = __toESM(require("react"));
5095
5315
  var import_classnames40 = __toESM(require("classnames"));
5096
5316
 
5097
5317
  // src/components/Table/Table.module.scss
5098
5318
  var Table_module_default = { "container": "container__zReWp", "loading-mask": "loading-mask__gwG6j", "scroll-container": "scroll-container__79zJk", "table": "table__ojslm", "auto": "auto__bXEGP", "fixed": "fixed__zPdl3", "borderless": "borderless__AlDGM", "scrollable": "scrollable__HSxT1", "scrollable-x": "scrollable-x__aKmx8", "scrollable-y": "scrollable-y__8nNit", "table-bordered": "table-bordered__oTd6P", "full-height": "full-height__YPJfE" };
5099
5319
 
5100
5320
  // src/components/Table/TableBody/TableBody.tsx
5101
- var import_react66 = __toESM(require("react"));
5321
+ var import_react67 = __toESM(require("react"));
5102
5322
  var import_classnames38 = __toESM(require("classnames"));
5103
5323
 
5104
5324
  // src/components/Table/TableBody/TableBody.module.scss
5105
5325
  var TableBody_module_default = { "table-body": "table-body__cX0OQ", "striped": "striped__1Epqn", "hover": "hover__I3QF4" };
5106
5326
 
5107
5327
  // src/components/Table/common/TableRow/TableRow.tsx
5108
- var import_react65 = __toESM(require("react"));
5328
+ var import_react66 = __toESM(require("react"));
5109
5329
  var import_classnames37 = __toESM(require("classnames"));
5110
5330
 
5111
5331
  // src/components/Table/common/TableRow/TableRow.module.scss
5112
5332
  var TableRow_module_default = { "table-row": "table-row__BdHbx", "hoverable": "hoverable__Bdemq" };
5113
5333
 
5114
5334
  // src/components/Table/TableBody/TableBodyCell/TableBodyCell.tsx
5115
- var import_react63 = __toESM(require("react"));
5335
+ var import_react64 = __toESM(require("react"));
5116
5336
  var import_classnames35 = __toESM(require("classnames"));
5117
5337
 
5118
5338
  // src/components/Table/TableBody/TableBodyCell/TableBodyCell.module.scss
@@ -5145,7 +5365,7 @@ var TableBodyCell = ({
5145
5365
  },
5146
5366
  className
5147
5367
  );
5148
- return /* @__PURE__ */ import_react63.default.createElement(
5368
+ return /* @__PURE__ */ import_react64.default.createElement(
5149
5369
  Box,
5150
5370
  {
5151
5371
  as: columnIsSticky ? "th" : "td",
@@ -5163,7 +5383,7 @@ var TableBodyCell = ({
5163
5383
  var TableBodyCell_default = TableBodyCell;
5164
5384
 
5165
5385
  // src/components/Table/TableHead/TableHeaderCell/TableHeaderCell.tsx
5166
- var import_react64 = __toESM(require("react"));
5386
+ var import_react65 = __toESM(require("react"));
5167
5387
  var import_classnames36 = __toESM(require("classnames"));
5168
5388
 
5169
5389
  // src/components/Table/TableHead/TableHeaderCell/TableHeaderCell.module.scss
@@ -5190,7 +5410,7 @@ var TableHeaderCell = ({
5190
5410
  const renderIcon = () => {
5191
5411
  const renderArrows = () => {
5192
5412
  if (getSortDirection() === "ascending") {
5193
- return /* @__PURE__ */ import_react64.default.createElement(
5413
+ return /* @__PURE__ */ import_react65.default.createElement(
5194
5414
  Icon,
5195
5415
  {
5196
5416
  name: "caret-sm-up",
@@ -5199,7 +5419,7 @@ var TableHeaderCell = ({
5199
5419
  );
5200
5420
  }
5201
5421
  if (getSortDirection() === "descending") {
5202
- return /* @__PURE__ */ import_react64.default.createElement(
5422
+ return /* @__PURE__ */ import_react65.default.createElement(
5203
5423
  Icon,
5204
5424
  {
5205
5425
  name: "caret-sm-down",
@@ -5207,7 +5427,7 @@ var TableHeaderCell = ({
5207
5427
  }
5208
5428
  );
5209
5429
  }
5210
- return /* @__PURE__ */ import_react64.default.createElement(
5430
+ return /* @__PURE__ */ import_react65.default.createElement(
5211
5431
  Box,
5212
5432
  {
5213
5433
  display: "inline-block",
@@ -5218,7 +5438,7 @@ var TableHeaderCell = ({
5218
5438
  }
5219
5439
  );
5220
5440
  };
5221
- return /* @__PURE__ */ import_react64.default.createElement("span", { className: TableHeaderCell_module_default["sort-icon"] }, renderArrows());
5441
+ return /* @__PURE__ */ import_react65.default.createElement("span", { className: TableHeaderCell_module_default["sort-icon"] }, renderArrows());
5222
5442
  };
5223
5443
  const handleKeyPress = (event) => {
5224
5444
  if (!onSort || !isSortable) return;
@@ -5250,7 +5470,7 @@ var TableHeaderCell = ({
5250
5470
  },
5251
5471
  className
5252
5472
  );
5253
- return /* @__PURE__ */ import_react64.default.createElement(
5473
+ return /* @__PURE__ */ import_react65.default.createElement(
5254
5474
  Box,
5255
5475
  {
5256
5476
  as: "th",
@@ -5263,7 +5483,7 @@ var TableHeaderCell = ({
5263
5483
  onKeyDown: handleKeyPress,
5264
5484
  scope: "col"
5265
5485
  },
5266
- /* @__PURE__ */ import_react64.default.createElement("div", { className: TableHeaderCell_module_default.heading }, column.heading, isSortable && renderIcon())
5486
+ /* @__PURE__ */ import_react65.default.createElement("div", { className: TableHeaderCell_module_default.heading }, column.heading, isSortable && renderIcon())
5267
5487
  );
5268
5488
  };
5269
5489
 
@@ -5296,7 +5516,7 @@ var TableRow = ({
5296
5516
  return true;
5297
5517
  }
5298
5518
  if (Array.isArray(value)) return value.every(isRenderableCell);
5299
- return import_react65.default.isValidElement(value);
5519
+ return import_react66.default.isValidElement(value);
5300
5520
  };
5301
5521
  const renderCellContent = (column) => {
5302
5522
  if (column.render) {
@@ -5316,8 +5536,8 @@ var TableRow = ({
5316
5536
  }
5317
5537
  return void 0;
5318
5538
  };
5319
- return /* @__PURE__ */ import_react65.default.createElement("tr", { className: tableRowClasses }, Object.values(columns).map(
5320
- (column, columnIndex) => isTableHead ? /* @__PURE__ */ import_react65.default.createElement(
5539
+ return /* @__PURE__ */ import_react66.default.createElement("tr", { className: tableRowClasses }, Object.values(columns).map(
5540
+ (column, columnIndex) => isTableHead ? /* @__PURE__ */ import_react66.default.createElement(
5321
5541
  TableHeaderCell,
5322
5542
  {
5323
5543
  column,
@@ -5335,7 +5555,7 @@ var TableRow = ({
5335
5555
  hasStickyHeader,
5336
5556
  sticky: column.sticky
5337
5557
  }
5338
- ) : /* @__PURE__ */ import_react65.default.createElement(
5558
+ ) : /* @__PURE__ */ import_react66.default.createElement(
5339
5559
  TableBodyCell_default,
5340
5560
  {
5341
5561
  align: column.align || align,
@@ -5382,7 +5602,7 @@ var TableBody = ({
5382
5602
  }
5383
5603
  return `row-index-${rowIndex}`;
5384
5604
  };
5385
- return /* @__PURE__ */ import_react66.default.createElement("tbody", { className: tableBodyClasses }, rows.map((row, rowIndex) => /* @__PURE__ */ import_react66.default.createElement(
5605
+ return /* @__PURE__ */ import_react67.default.createElement("tbody", { className: tableBodyClasses }, rows.map((row, rowIndex) => /* @__PURE__ */ import_react67.default.createElement(
5386
5606
  TableRow,
5387
5607
  {
5388
5608
  columns,
@@ -5399,7 +5619,7 @@ var TableBody = ({
5399
5619
  };
5400
5620
 
5401
5621
  // src/components/Table/TableHead/TableHead.tsx
5402
- var import_react67 = __toESM(require("react"));
5622
+ var import_react68 = __toESM(require("react"));
5403
5623
  var import_classnames39 = __toESM(require("classnames"));
5404
5624
  var TableHead = ({
5405
5625
  columns,
@@ -5413,7 +5633,7 @@ var TableHead = ({
5413
5633
  truncateOverflow = false
5414
5634
  }) => {
5415
5635
  const tableHeadClasses = (0, import_classnames39.default)(className);
5416
- return /* @__PURE__ */ import_react67.default.createElement("thead", { className: tableHeadClasses }, /* @__PURE__ */ import_react67.default.createElement(
5636
+ return /* @__PURE__ */ import_react68.default.createElement("thead", { className: tableHeadClasses }, /* @__PURE__ */ import_react68.default.createElement(
5417
5637
  TableRow,
5418
5638
  {
5419
5639
  columns,
@@ -5467,13 +5687,13 @@ var Table = ({
5467
5687
  [Table_module_default.borderless]: isBorderless,
5468
5688
  [Table_module_default.compact]: isCompact
5469
5689
  });
5470
- return /* @__PURE__ */ import_react68.default.createElement("div", { className: containerClasses }, isLoading && /* @__PURE__ */ import_react68.default.createElement("div", { className: Table_module_default["loading-mask"] }, /* @__PURE__ */ import_react68.default.createElement(Spinner, { size: "xl" })), /* @__PURE__ */ import_react68.default.createElement(
5690
+ return /* @__PURE__ */ import_react69.default.createElement("div", { className: containerClasses }, isLoading && /* @__PURE__ */ import_react69.default.createElement("div", { className: Table_module_default["loading-mask"] }, /* @__PURE__ */ import_react69.default.createElement(Spinner, { size: "xl" })), /* @__PURE__ */ import_react69.default.createElement(
5471
5691
  "div",
5472
5692
  {
5473
5693
  className: scrollContainerClasses,
5474
5694
  "data-testid": "tableContainerDiv-testid"
5475
5695
  },
5476
- /* @__PURE__ */ import_react68.default.createElement("table", { className: tableClasses }, /* @__PURE__ */ import_react68.default.createElement(
5696
+ /* @__PURE__ */ import_react69.default.createElement("table", { className: tableClasses }, /* @__PURE__ */ import_react69.default.createElement(
5477
5697
  TableHead,
5478
5698
  {
5479
5699
  columns,
@@ -5485,7 +5705,7 @@ var Table = ({
5485
5705
  truncateOverflow,
5486
5706
  hasStickyHeader
5487
5707
  }
5488
- ), /* @__PURE__ */ import_react68.default.createElement(
5708
+ ), /* @__PURE__ */ import_react69.default.createElement(
5489
5709
  TableBody,
5490
5710
  {
5491
5711
  rows,
@@ -5504,22 +5724,22 @@ var Table = ({
5504
5724
  };
5505
5725
 
5506
5726
  // src/components/ThemeProvider/ThemeProvider.tsx
5507
- var import_react69 = __toESM(require("react"));
5727
+ var import_react70 = __toESM(require("react"));
5508
5728
  var initialState = {
5509
5729
  theme: "system",
5510
5730
  setTheme: () => null
5511
5731
  };
5512
- var ThemeProviderContext = (0, import_react69.createContext)(initialState);
5732
+ var ThemeProviderContext = (0, import_react70.createContext)(initialState);
5513
5733
  function ThemeProvider({
5514
5734
  children,
5515
5735
  defaultTheme = "system",
5516
5736
  storageKey = "hyphen-ui-theme",
5517
5737
  ...props
5518
5738
  }) {
5519
- const [theme, setTheme] = (0, import_react69.useState)(
5739
+ const [theme, setTheme] = (0, import_react70.useState)(
5520
5740
  () => localStorage.getItem(storageKey) || defaultTheme
5521
5741
  );
5522
- (0, import_react69.useEffect)(() => {
5742
+ (0, import_react70.useEffect)(() => {
5523
5743
  const root = window.document.documentElement;
5524
5744
  root.classList.remove("light", "dark");
5525
5745
  if (theme === "system") {
@@ -5538,14 +5758,14 @@ function ThemeProvider({
5538
5758
  },
5539
5759
  isDarkMode
5540
5760
  };
5541
- return /* @__PURE__ */ import_react69.default.createElement(ThemeProviderContext.Provider, { ...props, value }, children);
5761
+ return /* @__PURE__ */ import_react70.default.createElement(ThemeProviderContext.Provider, { ...props, value }, children);
5542
5762
  }
5543
5763
 
5544
5764
  // src/components/Toast/ToastContainer.tsx
5545
- var import_react73 = __toESM(require("react"));
5765
+ var import_react74 = __toESM(require("react"));
5546
5766
 
5547
5767
  // src/components/Toast/ToastNotification.tsx
5548
- var import_react70 = __toESM(require("react"));
5768
+ var import_react71 = __toESM(require("react"));
5549
5769
  var import_classnames41 = __toESM(require("classnames"));
5550
5770
 
5551
5771
  // src/components/Toast/ToastNotification.module.scss
@@ -5578,12 +5798,12 @@ var renderToastIcon = (toast2) => {
5578
5798
  iconName = "c-warning";
5579
5799
  iconColor = "white";
5580
5800
  }
5581
- const icon = type !== "loading" ? /* @__PURE__ */ import_react70.default.createElement(Icon, { name: iconName, color: iconColor }) : /* @__PURE__ */ import_react70.default.createElement(Spinner, null);
5582
- return /* @__PURE__ */ import_react70.default.createElement(Box, { justifyContent: "center", height: "100" }, icon);
5801
+ const icon = type !== "loading" ? /* @__PURE__ */ import_react71.default.createElement(Icon, { name: iconName, color: iconColor }) : /* @__PURE__ */ import_react71.default.createElement(Spinner, null);
5802
+ return /* @__PURE__ */ import_react71.default.createElement(Box, { justifyContent: "center", height: "100" }, icon);
5583
5803
  };
5584
5804
  var renderDismissIcon = (toast2, onDismiss) => {
5585
5805
  if (!toast2.canDismiss) return;
5586
- return /* @__PURE__ */ import_react70.default.createElement(
5806
+ return /* @__PURE__ */ import_react71.default.createElement(
5587
5807
  Box,
5588
5808
  {
5589
5809
  as: "button",
@@ -5598,12 +5818,12 @@ var renderDismissIcon = (toast2, onDismiss) => {
5598
5818
  onClick: onDismiss,
5599
5819
  "aria-label": "dismiss notification"
5600
5820
  },
5601
- /* @__PURE__ */ import_react70.default.createElement(Icon, { name: "remove" })
5821
+ /* @__PURE__ */ import_react71.default.createElement(Icon, { name: "remove" })
5602
5822
  );
5603
5823
  };
5604
- var ToastNotification = import_react70.default.memo(
5824
+ var ToastNotification = import_react71.default.memo(
5605
5825
  ({ toast: toast2, position = "top-center", style, children, onDismiss }) => {
5606
- const message = /* @__PURE__ */ import_react70.default.createElement(
5826
+ const message = /* @__PURE__ */ import_react71.default.createElement(
5607
5827
  Box,
5608
5828
  {
5609
5829
  direction: "row",
@@ -5625,7 +5845,7 @@ var ToastNotification = import_react70.default.memo(
5625
5845
  [ToastNotification_module_default["toast-error"]]: toast2.type === "error"
5626
5846
  }
5627
5847
  );
5628
- return /* @__PURE__ */ import_react70.default.createElement(
5848
+ return /* @__PURE__ */ import_react71.default.createElement(
5629
5849
  Box,
5630
5850
  {
5631
5851
  alignItems: "center",
@@ -5642,16 +5862,16 @@ var ToastNotification = import_react70.default.memo(
5642
5862
  },
5643
5863
  typeof children === "function" ? children({
5644
5864
  message
5645
- }) : /* @__PURE__ */ import_react70.default.createElement(import_react70.default.Fragment, null, renderToastIcon(toast2), message, renderDismissIcon(toast2, onDismiss))
5865
+ }) : /* @__PURE__ */ import_react71.default.createElement(import_react71.default.Fragment, null, renderToastIcon(toast2), message, renderDismissIcon(toast2, onDismiss))
5646
5866
  );
5647
5867
  }
5648
5868
  );
5649
5869
 
5650
5870
  // src/components/Toast/useToasts.ts
5651
- var import_react72 = require("react");
5871
+ var import_react73 = require("react");
5652
5872
 
5653
5873
  // src/components/Toast/Toast.store.ts
5654
- var import_react71 = require("react");
5874
+ var import_react72 = require("react");
5655
5875
  var TOAST_LIMIT = 20;
5656
5876
  var toastTimeouts = /* @__PURE__ */ new Map();
5657
5877
  var addToDismissedQueue = (toastId) => {
@@ -5787,8 +6007,8 @@ var defaultTimeouts = {
5787
6007
  custom: 4e3
5788
6008
  };
5789
6009
  var useToastStore = (toastOptions = {}) => {
5790
- const [state, setState] = (0, import_react71.useState)(memoryState);
5791
- (0, import_react71.useEffect)(() => {
6010
+ const [state, setState] = (0, import_react72.useState)(memoryState);
6011
+ (0, import_react72.useEffect)(() => {
5792
6012
  listeners.push(setState);
5793
6013
  return () => {
5794
6014
  const index = listeners.indexOf(setState);
@@ -5875,7 +6095,7 @@ toast.async = function(promise, messages, opts) {
5875
6095
  // src/components/Toast/useToasts.ts
5876
6096
  var useToasts = (toastOptions) => {
5877
6097
  const { toasts, pausedAt } = useToastStore(toastOptions);
5878
- (0, import_react72.useEffect)(() => {
6098
+ (0, import_react73.useEffect)(() => {
5879
6099
  if (pausedAt) {
5880
6100
  return;
5881
6101
  }
@@ -5897,7 +6117,7 @@ var useToasts = (toastOptions) => {
5897
6117
  timeouts.forEach((timeout) => timeout && clearTimeout(timeout));
5898
6118
  };
5899
6119
  }, [toasts, pausedAt]);
5900
- const handlers = (0, import_react72.useMemo)(
6120
+ const handlers = (0, import_react73.useMemo)(
5901
6121
  () => ({
5902
6122
  startPause: () => {
5903
6123
  dispatch({
@@ -5979,7 +6199,7 @@ var renderNotification = (currentToast, children, containerPosition) => {
5979
6199
  if (children) {
5980
6200
  return children(currentToast);
5981
6201
  }
5982
- return /* @__PURE__ */ import_react73.default.createElement(
6202
+ return /* @__PURE__ */ import_react74.default.createElement(
5983
6203
  ToastNotification,
5984
6204
  {
5985
6205
  toast: currentToast,
@@ -5999,7 +6219,7 @@ var ToastContainer = ({
5999
6219
  ...restProps
6000
6220
  }) => {
6001
6221
  const { toasts, handlers } = useToasts(toastOptions);
6002
- return /* @__PURE__ */ import_react73.default.createElement(
6222
+ return /* @__PURE__ */ import_react74.default.createElement(
6003
6223
  Box,
6004
6224
  {
6005
6225
  style: {
@@ -6029,7 +6249,7 @@ var ToastContainer = ({
6029
6249
  const ref = t.height ? void 0 : createRectRef((rect) => {
6030
6250
  handlers.updateHeight(t.id, rect.height);
6031
6251
  });
6032
- return /* @__PURE__ */ import_react73.default.createElement(
6252
+ return /* @__PURE__ */ import_react74.default.createElement(
6033
6253
  Box,
6034
6254
  {
6035
6255
  ref,
@@ -6047,7 +6267,7 @@ var ToastContainer = ({
6047
6267
  };
6048
6268
 
6049
6269
  // src/components/Toggle/Toggle.tsx
6050
- var import_react74 = __toESM(require("react"));
6270
+ var import_react75 = __toESM(require("react"));
6051
6271
  var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"));
6052
6272
 
6053
6273
  // src/components/Toggle/Toggle.module.scss
@@ -6055,7 +6275,7 @@ var Toggle_module_default = { "item": "item__PrPsJ", "outline": "outline__Lkabh"
6055
6275
 
6056
6276
  // src/components/Toggle/Toggle.tsx
6057
6277
  var import_classnames42 = __toESM(require("classnames"));
6058
- var Toggle = (0, import_react74.forwardRef)(({ className, variant = "default", children, ...props }, ref) => /* @__PURE__ */ import_react74.default.createElement(
6278
+ var Toggle = (0, import_react75.forwardRef)(({ className, variant = "default", children, ...props }, ref) => /* @__PURE__ */ import_react75.default.createElement(
6059
6279
  TogglePrimitive.Root,
6060
6280
  {
6061
6281
  ref,
@@ -6072,12 +6292,12 @@ var Toggle = (0, import_react74.forwardRef)(({ className, variant = "default", c
6072
6292
  Toggle.displayName = "Toggle";
6073
6293
 
6074
6294
  // src/hooks/useBreakpoint/useBreakpoint.ts
6075
- var import_react76 = require("react");
6295
+ var import_react77 = require("react");
6076
6296
 
6077
6297
  // src/hooks/useWindowSize/useWindowSize.ts
6078
- var import_react75 = __toESM(require("react"));
6298
+ var import_react76 = __toESM(require("react"));
6079
6299
  var useWindowSize = () => {
6080
- const { innerWidth, innerHeight, outerHeight, outerWidth, isCreated } = import_react75.default.useContext(ResponsiveContext);
6300
+ const { innerWidth, innerHeight, outerHeight, outerWidth, isCreated } = import_react76.default.useContext(ResponsiveContext);
6081
6301
  if (isCreated) {
6082
6302
  return {
6083
6303
  innerHeight,
@@ -6093,7 +6313,7 @@ var useWindowSize = () => {
6093
6313
  var defaultBreakpoint = { name: "base", minWidth: 0 };
6094
6314
  var useBreakpoint = () => {
6095
6315
  const windowSize = useWindowSize();
6096
- const [breakpoint, setBreakpoint] = (0, import_react76.useState)({
6316
+ const [breakpoint, setBreakpoint] = (0, import_react77.useState)({
6097
6317
  ...defaultBreakpoint
6098
6318
  });
6099
6319
  useIsomorphicLayoutEffect(() => {
@@ -6120,7 +6340,7 @@ var useBreakpoint = () => {
6120
6340
  };
6121
6341
 
6122
6342
  // src/hooks/useOpenClose/useOpenClose.tsx
6123
- var import_react77 = require("react");
6343
+ var import_react78 = require("react");
6124
6344
  var useOpenClose = (props = {}) => {
6125
6345
  const {
6126
6346
  defaultIsOpen,
@@ -6128,28 +6348,28 @@ var useOpenClose = (props = {}) => {
6128
6348
  onClose: onCloseProp,
6129
6349
  onOpen: onOpenProp
6130
6350
  } = props;
6131
- const openCallback = (0, import_react77.useCallback)(() => {
6351
+ const openCallback = (0, import_react78.useCallback)(() => {
6132
6352
  onOpenProp?.();
6133
6353
  }, [onOpenProp]);
6134
- const closeCallback = (0, import_react77.useCallback)(() => {
6354
+ const closeCallback = (0, import_react78.useCallback)(() => {
6135
6355
  onCloseProp?.();
6136
6356
  }, [onCloseProp]);
6137
- const [isOpenState, setIsOpen] = (0, import_react77.useState)(defaultIsOpen || false);
6357
+ const [isOpenState, setIsOpen] = (0, import_react78.useState)(defaultIsOpen || false);
6138
6358
  const isOpen = isOpenProp !== void 0 ? isOpenProp : isOpenState;
6139
6359
  const isControlled = isOpenProp !== void 0;
6140
- const handleClose = (0, import_react77.useCallback)(() => {
6360
+ const handleClose = (0, import_react78.useCallback)(() => {
6141
6361
  if (!isControlled) {
6142
6362
  setIsOpen(false);
6143
6363
  }
6144
6364
  closeCallback?.();
6145
6365
  }, [isControlled, closeCallback]);
6146
- const handleOpen = (0, import_react77.useCallback)(() => {
6366
+ const handleOpen = (0, import_react78.useCallback)(() => {
6147
6367
  if (!isControlled) {
6148
6368
  setIsOpen(true);
6149
6369
  }
6150
6370
  openCallback?.();
6151
6371
  }, [isControlled, openCallback]);
6152
- const handleToggle = (0, import_react77.useCallback)(() => {
6372
+ const handleToggle = (0, import_react78.useCallback)(() => {
6153
6373
  if (isOpen) {
6154
6374
  handleClose();
6155
6375
  } else {
@@ -6165,9 +6385,9 @@ var useOpenClose = (props = {}) => {
6165
6385
  };
6166
6386
 
6167
6387
  // src/hooks/useTheme/useTheme.ts
6168
- var import_react78 = __toESM(require("react"));
6388
+ var import_react79 = __toESM(require("react"));
6169
6389
  var useTheme = () => {
6170
- const context = import_react78.default.useContext(ThemeProviderContext);
6390
+ const context = import_react79.default.useContext(ThemeProviderContext);
6171
6391
  if (context === void 0)
6172
6392
  throw new Error(
6173
6393
  "useTheme must be used within a ThemeProvider. Be sure your App is wrapped in ThemeProvider."