@dxos/react-ui-stack 0.8.2 → 0.8.3-main.7f5a14c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/index.mjs +489 -5
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +490 -4
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +489 -5
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/components/Stack/Stack.d.ts.map +1 -1
- package/dist/types/src/components/StackItem/StackItem.d.ts +1 -1
- package/dist/types/src/components/StackItem/StackItemDragHandle.d.ts +1 -1
- package/dist/types/src/components/StackItem/StackItemDragHandle.d.ts.map +1 -1
- package/dist/types/src/components/StackItem/StackItemHeading.d.ts +4 -2
- package/dist/types/src/components/StackItem/StackItemHeading.d.ts.map +1 -1
- package/dist/types/src/exemplars/Card/Card.d.ts +58 -0
- package/dist/types/src/exemplars/Card/Card.d.ts.map +1 -0
- package/dist/types/src/exemplars/Card/Card.stories-todo.d.ts +1 -0
- package/dist/types/src/exemplars/Card/Card.stories-todo.d.ts.map +1 -0
- package/dist/types/src/exemplars/Card/CardDragPreview.d.ts +6 -0
- package/dist/types/src/exemplars/Card/CardDragPreview.d.ts.map +1 -0
- package/dist/types/src/exemplars/Card/fragments.d.ts +7 -0
- package/dist/types/src/exemplars/Card/fragments.d.ts.map +1 -0
- package/dist/types/src/exemplars/Card/index.d.ts +3 -0
- package/dist/types/src/exemplars/Card/index.d.ts.map +1 -0
- package/dist/types/src/exemplars/CardStack/CardStack.d.ts +34 -0
- package/dist/types/src/exemplars/CardStack/CardStack.d.ts.map +1 -0
- package/dist/types/src/exemplars/CardStack/CardStack.stories-todo.d.ts +1 -0
- package/dist/types/src/exemplars/CardStack/CardStack.stories-todo.d.ts.map +1 -0
- package/dist/types/src/exemplars/CardStack/CardStackDragPreview.d.ts +9 -0
- package/dist/types/src/exemplars/CardStack/CardStackDragPreview.d.ts.map +1 -0
- package/dist/types/src/exemplars/CardStack/index.d.ts +3 -0
- package/dist/types/src/exemplars/CardStack/index.d.ts.map +1 -0
- package/dist/types/src/exemplars/index.d.ts +3 -0
- package/dist/types/src/exemplars/index.d.ts.map +1 -0
- package/dist/types/src/hooks/useStackDropForElements.d.ts +2 -1
- package/dist/types/src/hooks/useStackDropForElements.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/components/Stack/Stack.tsx +18 -0
- package/src/components/StackItem/StackItemDragHandle.tsx +1 -1
- package/src/components/StackItem/StackItemHeading.tsx +7 -4
- package/src/exemplars/Card/Card.stories-todo.tsx +135 -0
- package/src/exemplars/Card/Card.tsx +178 -0
- package/src/exemplars/Card/CardDragPreview.tsx +22 -0
- package/src/exemplars/Card/fragments.ts +17 -0
- package/src/exemplars/Card/index.ts +6 -0
- package/src/exemplars/CardStack/CardStack.stories-todo.tsx +80 -0
- package/src/exemplars/CardStack/CardStack.tsx +118 -0
- package/src/exemplars/CardStack/CardStackDragPreview.tsx +61 -0
- package/src/exemplars/CardStack/index.ts +6 -0
- package/src/exemplars/index.ts +6 -0
- package/src/hooks/useStackDropForElements.ts +4 -2
- package/src/index.ts +4 -0
- package/src/translations.ts +1 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
3
3
|
import { useArrowNavigationGroup } from "@fluentui/react-tabster";
|
|
4
4
|
import { composeRefs } from "@radix-ui/react-compose-refs";
|
|
5
|
-
import React, { Children, forwardRef, useState as useState2, useMemo, useCallback } from "react";
|
|
5
|
+
import React, { Children, forwardRef, useState as useState2, useMemo, useCallback, useEffect } from "react";
|
|
6
6
|
import { ListItem } from "@dxos/react-ui";
|
|
7
7
|
import { mx } from "@dxos/react-ui-theme";
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element
|
|
|
12
12
|
import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element";
|
|
13
13
|
import { attachClosestEdge, extractClosestEdge } from "@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge";
|
|
14
14
|
import { useLayoutEffect, useState } from "react";
|
|
15
|
-
var useStackDropForElements = ({ id, element, selfDroppable, orientation, onRearrange }) => {
|
|
15
|
+
var useStackDropForElements = ({ id, element, scrollElement = element, selfDroppable, orientation, onRearrange }) => {
|
|
16
16
|
const [dropping, setDropping] = useState(false);
|
|
17
17
|
useLayoutEffect(() => {
|
|
18
18
|
if (!element || !selfDroppable) {
|
|
@@ -53,11 +53,12 @@ var useStackDropForElements = ({ id, element, selfDroppable, orientation, onRear
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}), autoScrollForElements({
|
|
56
|
-
element,
|
|
56
|
+
element: scrollElement,
|
|
57
57
|
getAllowedAxis: () => orientation
|
|
58
58
|
}));
|
|
59
59
|
}, [
|
|
60
60
|
element,
|
|
61
|
+
scrollElement,
|
|
61
62
|
selfDroppable,
|
|
62
63
|
orientation,
|
|
63
64
|
id,
|
|
@@ -115,6 +116,7 @@ var Stack = /* @__PURE__ */ forwardRef(({ children, classNames, style, orientati
|
|
|
115
116
|
const { dropping } = useStackDropForElements({
|
|
116
117
|
id: props.id,
|
|
117
118
|
element: getDropElement && stackElement ? getDropElement(stackElement) : stackElement,
|
|
119
|
+
scrollElement: stackElement,
|
|
118
120
|
selfDroppable,
|
|
119
121
|
orientation,
|
|
120
122
|
onRearrange
|
|
@@ -149,6 +151,24 @@ var Stack = /* @__PURE__ */ forwardRef(({ children, classNames, style, orientati
|
|
|
149
151
|
orientation,
|
|
150
152
|
size
|
|
151
153
|
]);
|
|
154
|
+
useEffect(() => {
|
|
155
|
+
if (!(stackElement && Number.isFinite(separatorOnScroll))) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const observer = new MutationObserver(() => {
|
|
159
|
+
handleScroll();
|
|
160
|
+
});
|
|
161
|
+
observer.observe(stackElement, {
|
|
162
|
+
childList: true,
|
|
163
|
+
subtree: true
|
|
164
|
+
});
|
|
165
|
+
return () => {
|
|
166
|
+
observer.disconnect();
|
|
167
|
+
};
|
|
168
|
+
}, [
|
|
169
|
+
stackElement,
|
|
170
|
+
handleScroll
|
|
171
|
+
]);
|
|
152
172
|
return /* @__PURE__ */ React.createElement(StackContext.Provider, {
|
|
153
173
|
value: {
|
|
154
174
|
orientation,
|
|
@@ -245,17 +265,19 @@ var StackItemDragHandle = ({ asChild, children }) => {
|
|
|
245
265
|
// packages/ui/react-ui-stack/src/components/StackItem/StackItemHeading.tsx
|
|
246
266
|
import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
|
|
247
267
|
import { useFocusableGroup } from "@fluentui/react-tabster";
|
|
268
|
+
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
248
269
|
import React4, { forwardRef as forwardRef3 } from "react";
|
|
249
270
|
import { useAttention } from "@dxos/react-ui-attention";
|
|
250
271
|
import { mx as mx3 } from "@dxos/react-ui-theme";
|
|
251
|
-
var StackItemHeading = ({ children, classNames, ...props }) => {
|
|
272
|
+
var StackItemHeading = ({ children, classNames, asChild, ...props }) => {
|
|
252
273
|
var _effect = _useSignals4();
|
|
253
274
|
try {
|
|
254
275
|
const { orientation } = useStack();
|
|
255
276
|
const focusableGroupAttrs = useFocusableGroup({
|
|
256
277
|
tabBehavior: "limited"
|
|
257
278
|
});
|
|
258
|
-
|
|
279
|
+
const Root = asChild ? Slot2 : "div";
|
|
280
|
+
return /* @__PURE__ */ React4.createElement(Root, {
|
|
259
281
|
role: "heading",
|
|
260
282
|
...props,
|
|
261
283
|
tabIndex: 0,
|
|
@@ -348,6 +370,7 @@ var translations_default = [
|
|
|
348
370
|
"en-US": {
|
|
349
371
|
[translationKey]: {
|
|
350
372
|
"resize label": "Drag to resize",
|
|
373
|
+
"drag handle label": "Drag to rearrange",
|
|
351
374
|
"pin start label": "Pin to the left sidebar",
|
|
352
375
|
"pin end label": "Pin to the right sidebar",
|
|
353
376
|
"increment start label": "Move to the left",
|
|
@@ -646,7 +669,458 @@ var StackItem = {
|
|
|
646
669
|
SigilButton: StackItemSigilButton,
|
|
647
670
|
DragPreview: StackItemDragPreview
|
|
648
671
|
};
|
|
672
|
+
|
|
673
|
+
// packages/ui/react-ui-stack/src/exemplars/Card/Card.tsx
|
|
674
|
+
import { useSignals as _useSignals9 } from "@preact-signals/safe-react/tracking";
|
|
675
|
+
import { Primitive } from "@radix-ui/react-primitive";
|
|
676
|
+
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
|
677
|
+
import React9, { forwardRef as forwardRef6 } from "react";
|
|
678
|
+
import { Icon as Icon2, IconButton, Toolbar, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
679
|
+
import { mx as mx6 } from "@dxos/react-ui-theme";
|
|
680
|
+
|
|
681
|
+
// packages/ui/react-ui-stack/src/exemplars/Card/fragments.ts
|
|
682
|
+
var cardRoot = "contain-layout pli-2 plb-1 first-of-type:pbs-0 last-of-type:pbe-0";
|
|
683
|
+
var cardContent = "rounded overflow-hidden bg-cardSurface border border-separator dark:border-subduedSeparator dx-focus-ring-group-y-indicator relative min-bs-[--rail-item] group/card";
|
|
684
|
+
var cardSpacing = "pli-card-spacing-inline mlb-card-spacing-block";
|
|
685
|
+
var cardText = cardSpacing;
|
|
686
|
+
var cardHeading = "text-lg font-medium line-clamp-2";
|
|
687
|
+
var cardChrome = "pli-[--dx-card-spacing-chrome] mlb-[--dx-card-spacing-chrome] [&_.dx-button]:text-start [&_.dx-button]:is-full";
|
|
688
|
+
|
|
689
|
+
// packages/ui/react-ui-stack/src/exemplars/Card/Card.tsx
|
|
690
|
+
var CardRoot = /* @__PURE__ */ forwardRef6(({ children, classNames, asChild, role = "none", ...props }, forwardedRef) => {
|
|
691
|
+
var _effect = _useSignals9();
|
|
692
|
+
try {
|
|
693
|
+
const Root = asChild ? Slot3 : "div";
|
|
694
|
+
const rootProps = asChild ? {
|
|
695
|
+
classNames: [
|
|
696
|
+
cardRoot,
|
|
697
|
+
classNames
|
|
698
|
+
]
|
|
699
|
+
} : {
|
|
700
|
+
className: mx6(cardRoot, classNames),
|
|
701
|
+
role
|
|
702
|
+
};
|
|
703
|
+
return /* @__PURE__ */ React9.createElement(Root, {
|
|
704
|
+
...props,
|
|
705
|
+
...rootProps,
|
|
706
|
+
ref: forwardedRef
|
|
707
|
+
}, children);
|
|
708
|
+
} finally {
|
|
709
|
+
_effect.f();
|
|
710
|
+
}
|
|
711
|
+
});
|
|
712
|
+
var CardContent = /* @__PURE__ */ forwardRef6(({ children, classNames, asChild, role = "group", ...props }, forwardedRef) => {
|
|
713
|
+
var _effect = _useSignals9();
|
|
714
|
+
try {
|
|
715
|
+
const Root = asChild ? Slot3 : "div";
|
|
716
|
+
const rootProps = asChild ? {
|
|
717
|
+
classNames: [
|
|
718
|
+
cardContent,
|
|
719
|
+
classNames
|
|
720
|
+
]
|
|
721
|
+
} : {
|
|
722
|
+
className: mx6(cardContent, classNames),
|
|
723
|
+
role
|
|
724
|
+
};
|
|
725
|
+
return /* @__PURE__ */ React9.createElement(Root, {
|
|
726
|
+
...props,
|
|
727
|
+
...rootProps,
|
|
728
|
+
ref: forwardedRef
|
|
729
|
+
}, children);
|
|
730
|
+
} finally {
|
|
731
|
+
_effect.f();
|
|
732
|
+
}
|
|
733
|
+
});
|
|
734
|
+
var CardConditionalContent = ({ role, children }) => {
|
|
735
|
+
var _effect = _useSignals9();
|
|
736
|
+
try {
|
|
737
|
+
if ([
|
|
738
|
+
"popover",
|
|
739
|
+
"card--kanban"
|
|
740
|
+
].includes(role ?? "never")) {
|
|
741
|
+
return /* @__PURE__ */ React9.createElement("div", {
|
|
742
|
+
className: role === "popover" ? "popover-card-width" : role === "card--kanban" ? "contents" : ""
|
|
743
|
+
}, children);
|
|
744
|
+
} else {
|
|
745
|
+
return /* @__PURE__ */ React9.createElement(CardContent, null, children);
|
|
746
|
+
}
|
|
747
|
+
} finally {
|
|
748
|
+
_effect.f();
|
|
749
|
+
}
|
|
750
|
+
};
|
|
751
|
+
var CardHeading = /* @__PURE__ */ forwardRef6(({ children, classNames, asChild, role = "heading", ...props }, forwardedRef) => {
|
|
752
|
+
var _effect = _useSignals9();
|
|
753
|
+
try {
|
|
754
|
+
const Root = asChild ? Slot3 : "div";
|
|
755
|
+
const rootProps = asChild ? {
|
|
756
|
+
classNames: [
|
|
757
|
+
cardHeading,
|
|
758
|
+
cardText,
|
|
759
|
+
classNames
|
|
760
|
+
]
|
|
761
|
+
} : {
|
|
762
|
+
className: mx6(cardHeading, cardText, classNames),
|
|
763
|
+
role
|
|
764
|
+
};
|
|
765
|
+
return /* @__PURE__ */ React9.createElement(Root, {
|
|
766
|
+
...props,
|
|
767
|
+
...rootProps,
|
|
768
|
+
ref: forwardedRef
|
|
769
|
+
}, children);
|
|
770
|
+
} finally {
|
|
771
|
+
_effect.f();
|
|
772
|
+
}
|
|
773
|
+
});
|
|
774
|
+
var CardToolbar = /* @__PURE__ */ forwardRef6(({ children, classNames, ...props }, forwardedRef) => {
|
|
775
|
+
var _effect = _useSignals9();
|
|
776
|
+
try {
|
|
777
|
+
return /* @__PURE__ */ React9.createElement(Toolbar.Root, {
|
|
778
|
+
...props,
|
|
779
|
+
classNames: [
|
|
780
|
+
"bg-transparent",
|
|
781
|
+
classNames
|
|
782
|
+
],
|
|
783
|
+
ref: forwardedRef
|
|
784
|
+
}, children);
|
|
785
|
+
} finally {
|
|
786
|
+
_effect.f();
|
|
787
|
+
}
|
|
788
|
+
});
|
|
789
|
+
var CardToolbarIconButton = Toolbar.IconButton;
|
|
790
|
+
var CardToolbarSeparator = Toolbar.Separator;
|
|
791
|
+
var CardDragHandle = /* @__PURE__ */ forwardRef6(({ toolbarItem }, forwardedRef) => {
|
|
792
|
+
var _effect = _useSignals9();
|
|
793
|
+
try {
|
|
794
|
+
const { t } = useTranslation2(translationKey);
|
|
795
|
+
const Root = toolbarItem ? Toolbar.IconButton : IconButton;
|
|
796
|
+
return /* @__PURE__ */ React9.createElement(Root, {
|
|
797
|
+
iconOnly: true,
|
|
798
|
+
icon: "ph--dots-six-vertical--regular",
|
|
799
|
+
variant: "ghost",
|
|
800
|
+
label: t("card drag handle label"),
|
|
801
|
+
classNames: "pli-2",
|
|
802
|
+
ref: forwardedRef
|
|
803
|
+
});
|
|
804
|
+
} finally {
|
|
805
|
+
_effect.f();
|
|
806
|
+
}
|
|
807
|
+
});
|
|
808
|
+
var CardDragPreview = StackItem.DragPreview;
|
|
809
|
+
var CardMenu = Primitive.div;
|
|
810
|
+
var CardPoster = (props) => {
|
|
811
|
+
var _effect = _useSignals9();
|
|
812
|
+
try {
|
|
813
|
+
const aspect = props.aspect === "auto" ? "aspect-auto" : "aspect-video";
|
|
814
|
+
if (props.image) {
|
|
815
|
+
return /* @__PURE__ */ React9.createElement("img", {
|
|
816
|
+
className: `dx-card__poster ${aspect} object-cover is-full bs-auto`,
|
|
817
|
+
src: props.image,
|
|
818
|
+
alt: props.alt
|
|
819
|
+
});
|
|
820
|
+
}
|
|
821
|
+
if (props.icon) {
|
|
822
|
+
return /* @__PURE__ */ React9.createElement("div", {
|
|
823
|
+
role: "image",
|
|
824
|
+
className: `dx-card__poster grid ${aspect} place-items-center bg-inputSurface text-subdued`,
|
|
825
|
+
"aria-label": props.alt
|
|
826
|
+
}, /* @__PURE__ */ React9.createElement(Icon2, {
|
|
827
|
+
icon: props.icon,
|
|
828
|
+
size: 10
|
|
829
|
+
}));
|
|
830
|
+
}
|
|
831
|
+
} finally {
|
|
832
|
+
_effect.f();
|
|
833
|
+
}
|
|
834
|
+
};
|
|
835
|
+
var CardChrome = /* @__PURE__ */ forwardRef6(({ children, classNames, asChild, role = "none", ...props }, forwardedRef) => {
|
|
836
|
+
var _effect = _useSignals9();
|
|
837
|
+
try {
|
|
838
|
+
const Root = asChild ? Slot3 : "div";
|
|
839
|
+
const rootProps = asChild ? {
|
|
840
|
+
classNames: [
|
|
841
|
+
cardChrome,
|
|
842
|
+
classNames
|
|
843
|
+
]
|
|
844
|
+
} : {
|
|
845
|
+
className: mx6(cardChrome, classNames),
|
|
846
|
+
role
|
|
847
|
+
};
|
|
848
|
+
return /* @__PURE__ */ React9.createElement(Root, {
|
|
849
|
+
...props,
|
|
850
|
+
...rootProps,
|
|
851
|
+
ref: forwardedRef
|
|
852
|
+
}, children);
|
|
853
|
+
} finally {
|
|
854
|
+
_effect.f();
|
|
855
|
+
}
|
|
856
|
+
});
|
|
857
|
+
var CardText = /* @__PURE__ */ forwardRef6(({ children, classNames, asChild, role = "none", ...props }, forwardedRef) => {
|
|
858
|
+
var _effect = _useSignals9();
|
|
859
|
+
try {
|
|
860
|
+
const Root = asChild ? Slot3 : "p";
|
|
861
|
+
const rootProps = asChild ? {
|
|
862
|
+
classNames: [
|
|
863
|
+
cardText,
|
|
864
|
+
classNames
|
|
865
|
+
]
|
|
866
|
+
} : {
|
|
867
|
+
className: mx6(cardText, classNames),
|
|
868
|
+
role
|
|
869
|
+
};
|
|
870
|
+
return /* @__PURE__ */ React9.createElement(Root, {
|
|
871
|
+
...props,
|
|
872
|
+
...rootProps,
|
|
873
|
+
ref: forwardedRef
|
|
874
|
+
}, children);
|
|
875
|
+
} finally {
|
|
876
|
+
_effect.f();
|
|
877
|
+
}
|
|
878
|
+
});
|
|
879
|
+
var Card = {
|
|
880
|
+
Root: CardRoot,
|
|
881
|
+
Content: CardContent,
|
|
882
|
+
Container: CardConditionalContent,
|
|
883
|
+
Heading: CardHeading,
|
|
884
|
+
Toolbar: CardToolbar,
|
|
885
|
+
ToolbarIconButton: CardToolbarIconButton,
|
|
886
|
+
ToolbarSeparator: CardToolbarSeparator,
|
|
887
|
+
DragHandle: CardDragHandle,
|
|
888
|
+
DragPreview: CardDragPreview,
|
|
889
|
+
Menu: CardMenu,
|
|
890
|
+
Poster: CardPoster,
|
|
891
|
+
Chrome: CardChrome,
|
|
892
|
+
Text: CardText
|
|
893
|
+
};
|
|
894
|
+
|
|
895
|
+
// packages/ui/react-ui-stack/src/exemplars/Card/CardDragPreview.tsx
|
|
896
|
+
import { useSignals as _useSignals10 } from "@preact-signals/safe-react/tracking";
|
|
897
|
+
import React10 from "react";
|
|
898
|
+
import { mx as mx7 } from "@dxos/react-ui-theme";
|
|
899
|
+
var CardDragPreviewRoot = ({ children }) => {
|
|
900
|
+
var _effect = _useSignals10();
|
|
901
|
+
try {
|
|
902
|
+
return /* @__PURE__ */ React10.createElement("div", {
|
|
903
|
+
className: "p-2"
|
|
904
|
+
}, children);
|
|
905
|
+
} finally {
|
|
906
|
+
_effect.f();
|
|
907
|
+
}
|
|
908
|
+
};
|
|
909
|
+
var CardDragPreviewContent = ({ children }) => {
|
|
910
|
+
var _effect = _useSignals10();
|
|
911
|
+
try {
|
|
912
|
+
return /* @__PURE__ */ React10.createElement("div", {
|
|
913
|
+
className: mx7(cardContent, "ring-focusLine ring-neutralFocusIndicator")
|
|
914
|
+
}, children);
|
|
915
|
+
} finally {
|
|
916
|
+
_effect.f();
|
|
917
|
+
}
|
|
918
|
+
};
|
|
919
|
+
var CardDragPreview2 = {
|
|
920
|
+
Root: CardDragPreviewRoot,
|
|
921
|
+
Content: CardDragPreviewContent
|
|
922
|
+
};
|
|
923
|
+
|
|
924
|
+
// packages/ui/react-ui-stack/src/exemplars/CardStack/CardStack.tsx
|
|
925
|
+
import { useSignals as _useSignals11 } from "@preact-signals/safe-react/tracking";
|
|
926
|
+
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
927
|
+
import React11, { forwardRef as forwardRef7 } from "react";
|
|
928
|
+
import { mx as mx8 } from "@dxos/react-ui-theme";
|
|
929
|
+
var CardStackStack = /* @__PURE__ */ forwardRef7(({ children, classNames, itemsCount = 0, ...props }, forwardedRef) => {
|
|
930
|
+
var _effect = _useSignals11();
|
|
931
|
+
try {
|
|
932
|
+
return /* @__PURE__ */ React11.createElement(Stack, {
|
|
933
|
+
orientation: "vertical",
|
|
934
|
+
size: "contain",
|
|
935
|
+
rail: false,
|
|
936
|
+
classNames: (
|
|
937
|
+
/* NOTE(thure): Do not let this element have zero intrinsic size, otherwise the drop indicator will not display. See #9035. */
|
|
938
|
+
[
|
|
939
|
+
"plb-1",
|
|
940
|
+
itemsCount > 0 && "plb-2",
|
|
941
|
+
classNames
|
|
942
|
+
]
|
|
943
|
+
),
|
|
944
|
+
itemsCount,
|
|
945
|
+
separatorOnScroll: 9,
|
|
946
|
+
...props,
|
|
947
|
+
ref: forwardedRef
|
|
948
|
+
}, children);
|
|
949
|
+
} finally {
|
|
950
|
+
_effect.f();
|
|
951
|
+
}
|
|
952
|
+
});
|
|
953
|
+
var CardStackDragHandle = Card.DragHandle;
|
|
954
|
+
var cardStackHeading = "mli-2 order-first bg-transparent rounded-bs-md flex items-center";
|
|
955
|
+
var CardStackHeading = /* @__PURE__ */ forwardRef7(({ children, classNames, asChild, role = "heading", ...props }, forwardedRef) => {
|
|
956
|
+
var _effect = _useSignals11();
|
|
957
|
+
try {
|
|
958
|
+
const Root = asChild ? Slot4 : "div";
|
|
959
|
+
const rootProps = asChild ? {
|
|
960
|
+
classNames: [
|
|
961
|
+
cardStackHeading,
|
|
962
|
+
classNames
|
|
963
|
+
]
|
|
964
|
+
} : {
|
|
965
|
+
className: mx8(cardStackHeading, classNames),
|
|
966
|
+
role
|
|
967
|
+
};
|
|
968
|
+
return /* @__PURE__ */ React11.createElement(Root, {
|
|
969
|
+
...props,
|
|
970
|
+
...rootProps,
|
|
971
|
+
ref: forwardedRef
|
|
972
|
+
}, children);
|
|
973
|
+
} finally {
|
|
974
|
+
_effect.f();
|
|
975
|
+
}
|
|
976
|
+
});
|
|
977
|
+
var cardStackFooter = 'plb-2 mli-2 border-bs border-transparent [[data-scroll-separator-end="true"]_&]:border-subduedSeparator';
|
|
978
|
+
var CardStackFooter = /* @__PURE__ */ forwardRef7(({ children, classNames, asChild, role = "none", ...props }, forwardedRef) => {
|
|
979
|
+
var _effect = _useSignals11();
|
|
980
|
+
try {
|
|
981
|
+
const Root = asChild ? Slot4 : "div";
|
|
982
|
+
const rootProps = asChild ? {
|
|
983
|
+
classNames: [
|
|
984
|
+
cardStackFooter,
|
|
985
|
+
classNames
|
|
986
|
+
]
|
|
987
|
+
} : {
|
|
988
|
+
className: mx8(cardStackFooter, classNames),
|
|
989
|
+
role
|
|
990
|
+
};
|
|
991
|
+
return /* @__PURE__ */ React11.createElement(Root, {
|
|
992
|
+
...props,
|
|
993
|
+
...rootProps,
|
|
994
|
+
ref: forwardedRef
|
|
995
|
+
}, children);
|
|
996
|
+
} finally {
|
|
997
|
+
_effect.f();
|
|
998
|
+
}
|
|
999
|
+
});
|
|
1000
|
+
var cardStackContent = [
|
|
1001
|
+
"shrink min-bs-0 bg-baseSurface border border-separator rounded-md grid dx-focus-ring-group-x-indicator kanban-drop",
|
|
1002
|
+
railGridHorizontalContainFitContent
|
|
1003
|
+
];
|
|
1004
|
+
var CardStackContent = /* @__PURE__ */ forwardRef7(({ children, classNames, asChild, role = "none", ...props }, forwardedRef) => {
|
|
1005
|
+
var _effect = _useSignals11();
|
|
1006
|
+
try {
|
|
1007
|
+
const Root = asChild ? Slot4 : "div";
|
|
1008
|
+
const rootProps = asChild ? {
|
|
1009
|
+
classNames: [
|
|
1010
|
+
...cardStackContent,
|
|
1011
|
+
classNames
|
|
1012
|
+
]
|
|
1013
|
+
} : {
|
|
1014
|
+
className: mx8(...cardStackContent, classNames),
|
|
1015
|
+
role
|
|
1016
|
+
};
|
|
1017
|
+
return /* @__PURE__ */ React11.createElement(Root, {
|
|
1018
|
+
...props,
|
|
1019
|
+
...rootProps,
|
|
1020
|
+
"data-scroll-separator": "false",
|
|
1021
|
+
ref: forwardedRef
|
|
1022
|
+
}, children);
|
|
1023
|
+
} finally {
|
|
1024
|
+
_effect.f();
|
|
1025
|
+
}
|
|
1026
|
+
});
|
|
1027
|
+
var cardStackRoot = "flex flex-col pli-2 plb-2";
|
|
1028
|
+
var CardStackRoot = /* @__PURE__ */ forwardRef7(({ children, classNames, asChild, role = "none", ...props }, forwardedRef) => {
|
|
1029
|
+
var _effect = _useSignals11();
|
|
1030
|
+
try {
|
|
1031
|
+
const Root = asChild ? Slot4 : "div";
|
|
1032
|
+
const rootProps = asChild ? {
|
|
1033
|
+
classNames: [
|
|
1034
|
+
cardStackRoot,
|
|
1035
|
+
classNames
|
|
1036
|
+
]
|
|
1037
|
+
} : {
|
|
1038
|
+
className: mx8(cardStackRoot, classNames),
|
|
1039
|
+
role
|
|
1040
|
+
};
|
|
1041
|
+
return /* @__PURE__ */ React11.createElement(Root, {
|
|
1042
|
+
...props,
|
|
1043
|
+
...rootProps,
|
|
1044
|
+
ref: forwardedRef
|
|
1045
|
+
}, children);
|
|
1046
|
+
} finally {
|
|
1047
|
+
_effect.f();
|
|
1048
|
+
}
|
|
1049
|
+
});
|
|
1050
|
+
var CardStack = {
|
|
1051
|
+
Root: CardStackRoot,
|
|
1052
|
+
Content: CardStackContent,
|
|
1053
|
+
Stack: CardStackStack,
|
|
1054
|
+
Heading: CardStackHeading,
|
|
1055
|
+
Footer: CardStackFooter,
|
|
1056
|
+
DragHandle: CardStackDragHandle
|
|
1057
|
+
};
|
|
1058
|
+
|
|
1059
|
+
// packages/ui/react-ui-stack/src/exemplars/CardStack/CardStackDragPreview.tsx
|
|
1060
|
+
import { useSignals as _useSignals12 } from "@preact-signals/safe-react/tracking";
|
|
1061
|
+
import React12 from "react";
|
|
1062
|
+
import { IconButton as IconButton2, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
1063
|
+
import { mx as mx9 } from "@dxos/react-ui-theme";
|
|
1064
|
+
var CardStackDragPreviewRoot = ({ children }) => {
|
|
1065
|
+
var _effect = _useSignals12();
|
|
1066
|
+
try {
|
|
1067
|
+
return /* @__PURE__ */ React12.createElement("div", {
|
|
1068
|
+
className: "p-2"
|
|
1069
|
+
}, /* @__PURE__ */ React12.createElement("div", {
|
|
1070
|
+
className: "rounded-md max-bs-[calc(100dvh-1rem)] overflow-hidden bg-baseSurface border border-separator ring-focusLine ring-neutralFocusIndicator flex flex-col"
|
|
1071
|
+
}, children));
|
|
1072
|
+
} finally {
|
|
1073
|
+
_effect.f();
|
|
1074
|
+
}
|
|
1075
|
+
};
|
|
1076
|
+
var CardStackDragPreviewHeading = ({ children }) => {
|
|
1077
|
+
var _effect = _useSignals12();
|
|
1078
|
+
try {
|
|
1079
|
+
const { t } = useTranslation3(translationKey);
|
|
1080
|
+
return /* @__PURE__ */ React12.createElement("div", {
|
|
1081
|
+
className: "flex items-center p-2"
|
|
1082
|
+
}, /* @__PURE__ */ React12.createElement(IconButton2, {
|
|
1083
|
+
iconOnly: true,
|
|
1084
|
+
icon: "ph--dots-six-vertical--regular",
|
|
1085
|
+
variant: "ghost",
|
|
1086
|
+
label: t("column drag handle label"),
|
|
1087
|
+
classNames: "pli-2"
|
|
1088
|
+
}), children);
|
|
1089
|
+
} finally {
|
|
1090
|
+
_effect.f();
|
|
1091
|
+
}
|
|
1092
|
+
};
|
|
1093
|
+
var CardStackDragPreviewContent = ({ children, itemsCount = 0 }) => {
|
|
1094
|
+
var _effect = _useSignals12();
|
|
1095
|
+
try {
|
|
1096
|
+
return /* @__PURE__ */ React12.createElement("div", {
|
|
1097
|
+
className: mx9("overflow-y-auto flex-1 pli-2 flex flex-col gap-2", "plb-1", itemsCount > 0 ? "plb-2" : "plb-1")
|
|
1098
|
+
}, children);
|
|
1099
|
+
} finally {
|
|
1100
|
+
_effect.f();
|
|
1101
|
+
}
|
|
1102
|
+
};
|
|
1103
|
+
var CardStackDragPreviewFooter = ({ children }) => {
|
|
1104
|
+
var _effect = _useSignals12();
|
|
1105
|
+
try {
|
|
1106
|
+
return /* @__PURE__ */ React12.createElement("div", {
|
|
1107
|
+
className: "p-2 border-t border-separator"
|
|
1108
|
+
}, children);
|
|
1109
|
+
} finally {
|
|
1110
|
+
_effect.f();
|
|
1111
|
+
}
|
|
1112
|
+
};
|
|
1113
|
+
var CardStackDragPreview = {
|
|
1114
|
+
Root: CardStackDragPreviewRoot,
|
|
1115
|
+
Heading: CardStackDragPreviewHeading,
|
|
1116
|
+
Content: CardStackDragPreviewContent,
|
|
1117
|
+
Footer: CardStackDragPreviewFooter
|
|
1118
|
+
};
|
|
649
1119
|
export {
|
|
1120
|
+
Card,
|
|
1121
|
+
CardDragPreview2 as CardDragPreview,
|
|
1122
|
+
CardStack,
|
|
1123
|
+
CardStackDragPreview,
|
|
650
1124
|
DEFAULT_EXTRINSIC_SIZE,
|
|
651
1125
|
DEFAULT_HORIZONTAL_SIZE,
|
|
652
1126
|
DEFAULT_VERTICAL_SIZE,
|
|
@@ -655,6 +1129,16 @@ export {
|
|
|
655
1129
|
StackItem,
|
|
656
1130
|
StackItemDragPreview,
|
|
657
1131
|
autoScrollRootAttributes,
|
|
1132
|
+
cardChrome,
|
|
1133
|
+
cardContent,
|
|
1134
|
+
cardHeading,
|
|
1135
|
+
cardRoot,
|
|
1136
|
+
cardSpacing,
|
|
1137
|
+
cardStackContent,
|
|
1138
|
+
cardStackFooter,
|
|
1139
|
+
cardStackHeading,
|
|
1140
|
+
cardStackRoot,
|
|
1141
|
+
cardText,
|
|
658
1142
|
railGridHorizontal,
|
|
659
1143
|
railGridHorizontalContainFitContent,
|
|
660
1144
|
railGridVertical,
|