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