@weaverse/react 0.6.27 → 0.6.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +165 -19
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -62,7 +62,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
62
62
|
|
|
63
63
|
// src/context.ts
|
|
64
64
|
var import_core = require("@weaverse/core");
|
|
65
|
-
var
|
|
65
|
+
var import_react16 = require("react");
|
|
66
66
|
|
|
67
67
|
// src/elements/button.tsx
|
|
68
68
|
var React = __toESM(require("react"));
|
|
@@ -562,7 +562,6 @@ var Accordion = (0, import_react10.forwardRef)((props, ref) => {
|
|
|
562
562
|
setActive(id);
|
|
563
563
|
}
|
|
564
564
|
};
|
|
565
|
-
console.info("9779 active", active);
|
|
566
565
|
return /* @__PURE__ */ import_react10.default.createElement("div", __spreadValues({
|
|
567
566
|
ref
|
|
568
567
|
}, rest), /* @__PURE__ */ import_react10.default.createElement(AccordionContext.Provider, {
|
|
@@ -660,13 +659,152 @@ AccordionContent.defaultProps = {
|
|
|
660
659
|
gap: "var(--gap)",
|
|
661
660
|
overflow: "hidden",
|
|
662
661
|
maxHeight: 0,
|
|
663
|
-
transition: "all 0.3s ease-in-out",
|
|
662
|
+
transition: "all var(--transition-duration, 0.3s) ease-in-out",
|
|
664
663
|
borderRadius: 4
|
|
665
664
|
}
|
|
666
665
|
}
|
|
667
666
|
};
|
|
668
667
|
var AccordionContent_default = AccordionContent;
|
|
669
668
|
|
|
669
|
+
// src/elements/tab/index.tsx
|
|
670
|
+
var import_react14 = __toESM(require("react"));
|
|
671
|
+
|
|
672
|
+
// src/elements/tab/TabHeaderWrapper.tsx
|
|
673
|
+
var import_react13 = __toESM(require("react"));
|
|
674
|
+
function TabHeader(props) {
|
|
675
|
+
const { wvId } = props;
|
|
676
|
+
const { active, setActive } = (0, import_react13.useContext)(TabContext);
|
|
677
|
+
const { itemInstances } = (0, import_react13.useContext)(WeaverseContext);
|
|
678
|
+
const instance = itemInstances.get(wvId);
|
|
679
|
+
let [data, setData] = (0, import_react13.useState)(instance.data);
|
|
680
|
+
(0, import_react13.useEffect)(() => {
|
|
681
|
+
let update = (data2) => setData(__spreadValues({}, data2));
|
|
682
|
+
instance.subscribe(update);
|
|
683
|
+
}, []);
|
|
684
|
+
const text = data.headerText;
|
|
685
|
+
return /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
686
|
+
onClick: () => setActive(wvId),
|
|
687
|
+
className: `wv-tab-header${active === wvId ? " active" : ""}`
|
|
688
|
+
}, text);
|
|
689
|
+
}
|
|
690
|
+
function TabHeaderWrapper(props) {
|
|
691
|
+
const { itemInstances } = (0, import_react13.useContext)(WeaverseContext);
|
|
692
|
+
const instance = itemInstances.get(props.wvId);
|
|
693
|
+
const data = instance.data;
|
|
694
|
+
const childIds = data.childIds;
|
|
695
|
+
return /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
696
|
+
className: "wv-tab-headerWrapper"
|
|
697
|
+
}, childIds.map((id) => /* @__PURE__ */ import_react13.default.createElement(TabHeader, {
|
|
698
|
+
key: id,
|
|
699
|
+
wvId: id
|
|
700
|
+
})));
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
// src/elements/tab/index.tsx
|
|
704
|
+
var TabContext = (0, import_react14.createContext)({
|
|
705
|
+
active: null,
|
|
706
|
+
setActive: () => {
|
|
707
|
+
}
|
|
708
|
+
});
|
|
709
|
+
var Tab = (0, import_react14.forwardRef)((props, ref) => {
|
|
710
|
+
var _b, _c, _d;
|
|
711
|
+
const wvId = props["data-wv-id"];
|
|
712
|
+
const _a = props, { items, children } = _a, rest = __objRest(_a, ["items", "children"]);
|
|
713
|
+
const defaultActive = (_d = (_c = (_b = import_react14.default.Children.toArray(children)) == null ? void 0 : _b[0]) == null ? void 0 : _c.props) == null ? void 0 : _d.id;
|
|
714
|
+
const [active, setActive] = (0, import_react14.useState)(defaultActive);
|
|
715
|
+
const setOpenTab = (id) => {
|
|
716
|
+
if (id === active) {
|
|
717
|
+
setActive(null);
|
|
718
|
+
} else {
|
|
719
|
+
setActive(id);
|
|
720
|
+
}
|
|
721
|
+
};
|
|
722
|
+
return /* @__PURE__ */ import_react14.default.createElement("div", __spreadValues({
|
|
723
|
+
ref
|
|
724
|
+
}, rest), /* @__PURE__ */ import_react14.default.createElement(TabContext.Provider, {
|
|
725
|
+
value: { active, setActive: setOpenTab }
|
|
726
|
+
}, /* @__PURE__ */ import_react14.default.createElement(TabHeaderWrapper, {
|
|
727
|
+
wvId
|
|
728
|
+
}), children));
|
|
729
|
+
});
|
|
730
|
+
Tab.defaultProps = {
|
|
731
|
+
items: [
|
|
732
|
+
{
|
|
733
|
+
headerText: "Header 1"
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
headerText: "Header 2"
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
headerText: "Header 2"
|
|
740
|
+
}
|
|
741
|
+
],
|
|
742
|
+
css: {
|
|
743
|
+
"@desktop": {
|
|
744
|
+
display: "flex",
|
|
745
|
+
flexDirection: "column",
|
|
746
|
+
gap: 4,
|
|
747
|
+
"& .wv-tab-headerWrapper": {
|
|
748
|
+
width: "100%",
|
|
749
|
+
display: "flex",
|
|
750
|
+
marginBottom: 10
|
|
751
|
+
},
|
|
752
|
+
"& .wv-tab-header": {
|
|
753
|
+
backgroundColor: "#f0f2f3",
|
|
754
|
+
padding: "10px 16px",
|
|
755
|
+
cursor: "pointer",
|
|
756
|
+
"&.active": {
|
|
757
|
+
backgroundColor: "#0F71FF",
|
|
758
|
+
color: "#fff"
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
};
|
|
764
|
+
var tab_default = Tab;
|
|
765
|
+
|
|
766
|
+
// src/elements/tab/TabContent.tsx
|
|
767
|
+
var import_react15 = __toESM(require("react"));
|
|
768
|
+
var TabContent = (0, import_react15.forwardRef)((props, ref) => {
|
|
769
|
+
const { active } = (0, import_react15.useContext)(TabContext);
|
|
770
|
+
const wvId = props["data-wv-id"];
|
|
771
|
+
const _a = props, { rows, columns, gap, rowSize, children } = _a, rest = __objRest(_a, ["rows", "columns", "gap", "rowSize", "children"]);
|
|
772
|
+
let style = {
|
|
773
|
+
"--rows": rows,
|
|
774
|
+
"--columns": columns,
|
|
775
|
+
"--gap": gap + "px",
|
|
776
|
+
"--row-size": rowSize + "px",
|
|
777
|
+
"--col-size": "calc((var(--grid-size) - calc(var(--columns) - 1) * var(--gap)) / var(--columns))",
|
|
778
|
+
"--max-height": rows * rowSize + gap * (rowSize - 1) + "px",
|
|
779
|
+
"--content-active": active === wvId ? "grid" : "none"
|
|
780
|
+
};
|
|
781
|
+
return /* @__PURE__ */ import_react15.default.createElement("div", __spreadProps(__spreadValues({
|
|
782
|
+
ref
|
|
783
|
+
}, rest), {
|
|
784
|
+
style
|
|
785
|
+
}), import_react15.default.Children.count(children) > 0 ? children : /* @__PURE__ */ import_react15.default.createElement(Placeholder_default, {
|
|
786
|
+
element: "Tab"
|
|
787
|
+
}, "Item Content"));
|
|
788
|
+
});
|
|
789
|
+
TabContent.defaultProps = {
|
|
790
|
+
rows: 2,
|
|
791
|
+
columns: 12,
|
|
792
|
+
gap: 4,
|
|
793
|
+
rowSize: 48,
|
|
794
|
+
css: {
|
|
795
|
+
"@desktop": {
|
|
796
|
+
width: "100%",
|
|
797
|
+
maxWidth: "var(--grid-size)",
|
|
798
|
+
display: "var(--content-active, none)",
|
|
799
|
+
gridTemplateRows: "repeat(var(--rows), var(--row-size))",
|
|
800
|
+
gridTemplateColumns: "repeat(var(--columns), minmax(0, var(--col-size)))",
|
|
801
|
+
gap: "var(--gap)",
|
|
802
|
+
borderRadius: 4
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
};
|
|
806
|
+
var TabContent_default = TabContent;
|
|
807
|
+
|
|
670
808
|
// src/elements/index.ts
|
|
671
809
|
var elements = {
|
|
672
810
|
Countdown: {
|
|
@@ -716,6 +854,14 @@ var elements = {
|
|
|
716
854
|
AccordionContent: {
|
|
717
855
|
Component: AccordionContent_default,
|
|
718
856
|
type: "accordion.content"
|
|
857
|
+
},
|
|
858
|
+
Tab: {
|
|
859
|
+
Component: tab_default,
|
|
860
|
+
type: "tab"
|
|
861
|
+
},
|
|
862
|
+
TabContent: {
|
|
863
|
+
Component: TabContent_default,
|
|
864
|
+
type: "tab.content"
|
|
719
865
|
}
|
|
720
866
|
};
|
|
721
867
|
var elements_default = elements;
|
|
@@ -728,13 +874,13 @@ var createRootContext = (configs) => {
|
|
|
728
874
|
});
|
|
729
875
|
return rootContext;
|
|
730
876
|
};
|
|
731
|
-
var WeaverseContext = (0,
|
|
877
|
+
var WeaverseContext = (0, import_react16.createContext)({});
|
|
732
878
|
var WeaverseContextProvider = WeaverseContext.Provider;
|
|
733
879
|
var WeaverseContextConsumer = WeaverseContext.Consumer;
|
|
734
880
|
|
|
735
881
|
// src/renderer.tsx
|
|
736
882
|
var import_core2 = require("@weaverse/core");
|
|
737
|
-
var
|
|
883
|
+
var import_react17 = __toESM(require("react"));
|
|
738
884
|
|
|
739
885
|
// src/utils/index.ts
|
|
740
886
|
var shortCssObject = (css) => {
|
|
@@ -762,10 +908,10 @@ function generateItemClass(instance, stitchesInstance) {
|
|
|
762
908
|
// src/renderer.tsx
|
|
763
909
|
var WeaverseRoot = ({ context }) => {
|
|
764
910
|
var _a, _b;
|
|
765
|
-
let [, setData] = (0,
|
|
766
|
-
let rootRef = (0,
|
|
911
|
+
let [, setData] = (0, import_react17.useState)(context.projectData);
|
|
912
|
+
let rootRef = (0, import_react17.useRef)();
|
|
767
913
|
let update = () => setData({});
|
|
768
|
-
(0,
|
|
914
|
+
(0, import_react17.useEffect)(() => {
|
|
769
915
|
context.subscribe(update);
|
|
770
916
|
context.contentRootElement = rootRef.current;
|
|
771
917
|
return () => {
|
|
@@ -774,21 +920,21 @@ var WeaverseRoot = ({ context }) => {
|
|
|
774
920
|
}, []);
|
|
775
921
|
let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
|
|
776
922
|
let themeClass = context.stitchesInstance.theme.className;
|
|
777
|
-
return ((_b = context.projectData) == null ? void 0 : _b.rootId) ? /* @__PURE__ */
|
|
923
|
+
return ((_b = context.projectData) == null ? void 0 : _b.rootId) ? /* @__PURE__ */ import_react17.default.createElement("div", __spreadProps(__spreadValues({
|
|
778
924
|
className: `weaverse-content-root ${themeClass}`
|
|
779
925
|
}, eventHandlers), {
|
|
780
926
|
ref: rootRef
|
|
781
|
-
}), /* @__PURE__ */
|
|
927
|
+
}), /* @__PURE__ */ import_react17.default.createElement(WeaverseContextProvider, {
|
|
782
928
|
value: context
|
|
783
|
-
}, /* @__PURE__ */
|
|
929
|
+
}, /* @__PURE__ */ import_react17.default.createElement(ItemInstance, {
|
|
784
930
|
id: context.projectData.rootId
|
|
785
931
|
}))) : null;
|
|
786
932
|
};
|
|
787
933
|
var ItemComponent = ({ instance }) => {
|
|
788
|
-
let { stitchesInstance, elementInstances } = (0,
|
|
789
|
-
let [data, setData] = (0,
|
|
934
|
+
let { stitchesInstance, elementInstances } = (0, import_react17.useContext)(WeaverseContext);
|
|
935
|
+
let [data, setData] = (0, import_react17.useState)(instance.data);
|
|
790
936
|
let _a = data, { id, type, childIds = [], css, className } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
|
|
791
|
-
(0,
|
|
937
|
+
(0, import_react17.useEffect)(() => {
|
|
792
938
|
var _a2;
|
|
793
939
|
let update = (data2) => setData(__spreadValues({}, data2));
|
|
794
940
|
instance.subscribe(update);
|
|
@@ -808,12 +954,12 @@ var ItemComponent = ({ instance }) => {
|
|
|
808
954
|
if (Component.$$typeof === Symbol.for("react.forward_ref")) {
|
|
809
955
|
rest.ref = instance.ref;
|
|
810
956
|
}
|
|
811
|
-
return /* @__PURE__ */
|
|
957
|
+
return /* @__PURE__ */ import_react17.default.createElement(Component, __spreadValues({
|
|
812
958
|
key: id,
|
|
813
959
|
"data-wv-type": type,
|
|
814
960
|
"data-wv-id": id,
|
|
815
961
|
className: generateItemClass(instance, stitchesInstance)
|
|
816
|
-
}, rest), childIds.map((id2) => /* @__PURE__ */
|
|
962
|
+
}, rest), childIds.map((id2) => /* @__PURE__ */ import_react17.default.createElement(ItemInstance, {
|
|
817
963
|
key: id2,
|
|
818
964
|
id: id2
|
|
819
965
|
})));
|
|
@@ -821,15 +967,15 @@ var ItemComponent = ({ instance }) => {
|
|
|
821
967
|
return null;
|
|
822
968
|
};
|
|
823
969
|
var ItemInstance = ({ id }) => {
|
|
824
|
-
let context = (0,
|
|
970
|
+
let context = (0, import_react17.useContext)(WeaverseContext);
|
|
825
971
|
let { itemInstances } = context;
|
|
826
972
|
let instance = itemInstances.get(id);
|
|
827
973
|
if (!instance) {
|
|
828
|
-
return /* @__PURE__ */
|
|
974
|
+
return /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
829
975
|
style: { display: "none" }
|
|
830
976
|
}, "Item instance ", id, " not found");
|
|
831
977
|
}
|
|
832
|
-
return /* @__PURE__ */
|
|
978
|
+
return /* @__PURE__ */ import_react17.default.createElement(ItemComponent, {
|
|
833
979
|
instance
|
|
834
980
|
});
|
|
835
981
|
};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.6.
|
|
2
|
+
"version": "0.6.30",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -31,6 +31,6 @@
|
|
|
31
31
|
"name": "@weaverse/react",
|
|
32
32
|
"author": "Weaverse Team",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@weaverse/core": "0.6.
|
|
34
|
+
"@weaverse/core": "0.6.30"
|
|
35
35
|
}
|
|
36
36
|
}
|