@plasmicpkgs/antd 0.0.78 → 0.0.81
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/antd.cjs.development.js +94 -33
- package/dist/antd.cjs.development.js.map +1 -1
- package/dist/antd.cjs.production.min.js +1 -1
- package/dist/antd.cjs.production.min.js.map +1 -1
- package/dist/antd.esm.js +95 -34
- package/dist/antd.esm.js.map +1 -1
- package/package.json +3 -3
- package/skinny/registerTabs.js +74 -23
- package/skinny/registerTabs.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/antd",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.81",
|
|
4
4
|
"description": "Plasmic registration calls for antd components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"analyze": "size-limit --why"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@plasmicapp/host": "1.0.
|
|
33
|
+
"@plasmicapp/host": "1.0.68",
|
|
34
34
|
"@size-limit/preset-small-lib": "^4.11.0",
|
|
35
35
|
"@types/node": "^14.0.26",
|
|
36
36
|
"antd": "^4.17.2",
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"antd": "^4.0.0",
|
|
46
46
|
"react": ">=16.8.0"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "14050241fe73b5c0cfd60fe5429f433438284700"
|
|
49
49
|
}
|
package/skinny/registerTabs.js
CHANGED
|
@@ -84,20 +84,20 @@ function Tabs(props) {
|
|
|
84
84
|
right: rightTabBarExtraContent,
|
|
85
85
|
} })));
|
|
86
86
|
}
|
|
87
|
-
function
|
|
88
|
-
var studioOps = _a.studioOps;
|
|
89
|
-
var
|
|
90
|
-
|
|
91
|
-
if (
|
|
92
|
-
|
|
93
|
-
type: "component",
|
|
94
|
-
name: "AntdTabPane",
|
|
95
|
-
props: {
|
|
96
|
-
key: tabKey,
|
|
97
|
-
},
|
|
98
|
-
}, "children");
|
|
87
|
+
function NavigateTabs(_a) {
|
|
88
|
+
var componentProps = _a.componentProps, studioOps = _a.studioOps;
|
|
89
|
+
var tabPanes = [];
|
|
90
|
+
customControls.traverseReactEltTree(componentProps.children, function (elt) {
|
|
91
|
+
if ((elt === null || elt === void 0 ? void 0 : elt.type) === rcTabs.TabPane && typeof (elt === null || elt === void 0 ? void 0 : elt.key) === "string") {
|
|
92
|
+
tabPanes.push(elt.key);
|
|
99
93
|
}
|
|
100
|
-
};
|
|
94
|
+
});
|
|
95
|
+
var activeKey = componentProps.activeKey;
|
|
96
|
+
var currTabPos = activeKey
|
|
97
|
+
? tabPanes.findIndex(function (tabKey) {
|
|
98
|
+
return tabKey === activeKey;
|
|
99
|
+
})
|
|
100
|
+
: 0;
|
|
101
101
|
return (React__default['default'].createElement("div", { style: {
|
|
102
102
|
width: "100%",
|
|
103
103
|
display: "flex",
|
|
@@ -105,11 +105,21 @@ function AddTab(_a) {
|
|
|
105
105
|
gap: "10px",
|
|
106
106
|
justifyContent: "space-between",
|
|
107
107
|
} },
|
|
108
|
-
React__default['default'].createElement(antd.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
108
|
+
React__default['default'].createElement(antd.Button, { style: { width: "100%" }, onClick: function () {
|
|
109
|
+
if (tabPanes.length > 0) {
|
|
110
|
+
var prevTabPos = (currTabPos - 1 + tabPanes.length) % tabPanes.length;
|
|
111
|
+
studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });
|
|
112
|
+
}
|
|
113
|
+
} }, "Prev tab"),
|
|
114
|
+
React__default['default'].createElement(antd.Button, { style: { width: "100%" }, onClick: function () {
|
|
115
|
+
if (tabPanes.length > 0) {
|
|
116
|
+
var nextTabPos = (currTabPos + 1) % tabPanes.length;
|
|
117
|
+
studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });
|
|
118
|
+
}
|
|
119
|
+
} }, "Next tab")));
|
|
120
|
+
}
|
|
121
|
+
function OutlineMessage() {
|
|
122
|
+
return React__default['default'].createElement("div", null, "* To re-arrange tab panes, use the Outline panel");
|
|
113
123
|
}
|
|
114
124
|
var tabsMeta = {
|
|
115
125
|
name: "AntdTabs",
|
|
@@ -213,7 +223,39 @@ var tabsMeta = {
|
|
|
213
223
|
actions: [
|
|
214
224
|
{
|
|
215
225
|
type: "custom-action",
|
|
216
|
-
control:
|
|
226
|
+
control: NavigateTabs,
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
type: "button-action",
|
|
230
|
+
label: "Add new tab",
|
|
231
|
+
onClick: function (_a) {
|
|
232
|
+
var componentProps = _a.componentProps, studioOps = _a.studioOps;
|
|
233
|
+
// Get the first positive integer that isn't already a key
|
|
234
|
+
var generateNewKey = function () {
|
|
235
|
+
var keysSet = new Set();
|
|
236
|
+
customControls.traverseReactEltTree(componentProps.children, function (elt) {
|
|
237
|
+
if ((elt === null || elt === void 0 ? void 0 : elt.type) === rcTabs.TabPane && typeof (elt === null || elt === void 0 ? void 0 : elt.key) === "string") {
|
|
238
|
+
keysSet.add(elt.key);
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
for (var keyCandidate = 1; keyCandidate <= keysSet.size + 1; keyCandidate++) {
|
|
242
|
+
var strKey = keyCandidate.toString();
|
|
243
|
+
if (!keysSet.has(strKey)) {
|
|
244
|
+
return strKey;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return undefined;
|
|
248
|
+
};
|
|
249
|
+
var tabKey = generateNewKey();
|
|
250
|
+
studioOps.appendToSlot({
|
|
251
|
+
type: "component",
|
|
252
|
+
name: "AntdTabPane",
|
|
253
|
+
props: {
|
|
254
|
+
key: tabKey,
|
|
255
|
+
},
|
|
256
|
+
}, "children");
|
|
257
|
+
studioOps.updateProps({ activeKey: tabKey });
|
|
258
|
+
},
|
|
217
259
|
},
|
|
218
260
|
{
|
|
219
261
|
type: "button-action",
|
|
@@ -227,15 +269,24 @@ var tabsMeta = {
|
|
|
227
269
|
tabPanes_1.push(elt.key);
|
|
228
270
|
}
|
|
229
271
|
});
|
|
230
|
-
var
|
|
231
|
-
|
|
272
|
+
var activeKey_1 = componentProps.activeKey;
|
|
273
|
+
var currTabPos = tabPanes_1.findIndex(function (tabKey) {
|
|
274
|
+
return tabKey === activeKey_1;
|
|
232
275
|
});
|
|
233
|
-
if (
|
|
234
|
-
studioOps.removeFromSlotAt(
|
|
276
|
+
if (currTabPos !== -1) {
|
|
277
|
+
studioOps.removeFromSlotAt(currTabPos, "children");
|
|
278
|
+
if (tabPanes_1.length - 1 > 0) {
|
|
279
|
+
var prevTabPos = (currTabPos - 1 + tabPanes_1.length) % tabPanes_1.length;
|
|
280
|
+
studioOps.updateProps({ activeKey: tabPanes_1[prevTabPos] });
|
|
281
|
+
}
|
|
235
282
|
}
|
|
236
283
|
}
|
|
237
284
|
},
|
|
238
285
|
},
|
|
286
|
+
{
|
|
287
|
+
type: "custom-action",
|
|
288
|
+
control: OutlineMessage,
|
|
289
|
+
},
|
|
239
290
|
],
|
|
240
291
|
importPath: "@plasmicpkgs/antd/skinny/registerTabs",
|
|
241
292
|
importName: "Tabs",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerTabs.js","sources":["../src/registerTabs.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button, Input } from \"antd\";\nimport {\n default as AntdTabs,\n TabPaneProps,\n TabsProps as AntdTabsProps,\n} from \"antd/lib/tabs\";\nimport { TabPane } from \"rc-tabs\";\nimport React from \"react\";\nimport { traverseReactEltTree } from \"./customControls\";\nimport { Registerable } from \"./registerable\";\n\nexport const tabPaneMeta: ComponentMeta<TabPaneProps> = {\n name: \"AntdTabPane\",\n displayName: \"Antd Tab Pane\",\n props: {\n tab: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n },\n key: {\n type: \"string\",\n description: \"Unique TabPane's key\",\n defaultValue: \"tabPaneKey\",\n },\n closable: {\n type: \"boolean\",\n description:\n \"Wether the tab can be closed or not. Only works for editable tabs\",\n defaultValueHint: true,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disabled state of tab\",\n defaultValueHint: false,\n },\n forceRender: {\n type: \"boolean\",\n description:\n \"Forced render of content in tabs, not lazy render after clicking on tabs\",\n defaultValueHint: false,\n },\n closeIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Tab Content\",\n },\n ],\n },\n },\n parentComponentName: \"AntdTabs\",\n importPath: \"rc-tabs\",\n importName: \"TabPane\",\n};\n\nexport function registerTabPane(\n loader?: Registerable,\n customTabPaneMeta?: ComponentMeta<TabPaneProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TabPane, customTabPaneMeta ?? tabPaneMeta);\n}\n\nexport type TabsProps = Omit<AntdTabsProps, \"tabBarExtraContent\"> & {\n leftTabBarExtraContent?: React.ReactNode;\n rightTabBarExtraContent?: React.ReactNode;\n};\n\nexport function Tabs(props: TabsProps) {\n const {\n leftTabBarExtraContent,\n rightTabBarExtraContent,\n ...otherProps\n } = props;\n return (\n <AntdTabs\n {...otherProps}\n tabBarExtraContent={{\n left: leftTabBarExtraContent,\n right: rightTabBarExtraContent,\n }}\n />\n );\n}\n\nfunction AddTab({ studioOps }: ActionProps<any>) {\n const [tabKey, setTabKey] = React.useState<string>(\"\");\n\n const appendNewTab = (tabKey: string) => {\n if (tabKey !== \"\") {\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: tabKey,\n },\n },\n \"children\"\n );\n }\n };\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <Input\n placeholder=\"Tab key\"\n onChange={(e) => setTabKey(e.target.value)}\n value={tabKey}\n />\n <Button\n onClick={() => {\n appendNewTab(tabKey);\n setTabKey(\"\");\n }}\n >\n Add tab\n </Button>\n </div>\n );\n}\n\nexport const tabsMeta: ComponentMeta<TabsProps> = {\n name: \"AntdTabs\",\n displayName: \"Antd Tabs\",\n props: {\n type: {\n type: \"choice\",\n options: [\"line\", \"card\", \"editable-card\"],\n defaultValueHint: \"line\",\n description: \"Basic style of tabs\",\n },\n addIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n animated: {\n type: \"object\",\n hidden: (props) => props.tabPosition !== \"top\" && !!props.tabPosition,\n defaultValueHint: { inkBar: true, tabPane: false },\n description:\n \"Whether to change tabs with animation. Can be either a boolean or specify for inkBar and tabPane\",\n },\n hideAdd: {\n type: \"boolean\",\n hidden: (props) => props.type !== \"editable-card\",\n defaultValueHint: false,\n description: \"Hide plus icon or not\",\n },\n moreIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n size: {\n type: \"choice\",\n options: [\"large\", \"default\", \"small\"],\n defaultValueHint: \"default\",\n description: \"Preset tab bar size\",\n },\n tabPosition: {\n type: \"choice\",\n options: [\"top\", \"right\", \"bottom\", \"left\"],\n defaultValueHint: \"top\",\n description: \"Position of tabs\",\n },\n tabBarGutter: {\n type: \"number\",\n description: \"The gap between tabs\",\n },\n centered: {\n type: \"boolean\",\n description: \"Centers tabs\",\n defaultValueHint: false,\n },\n leftTabBarExtraContent: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n rightTabBarExtraContent: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n tabBarStyle: {\n type: \"object\",\n description: \"CSS for the Tab Bar style\",\n },\n activeKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultActiveKey\",\n description: \"Initial active TabPane's key\",\n options: (props) => {\n const options = new Set<string>();\n traverseReactEltTree(props.children, (elt) => {\n if (elt?.type === TabPane && typeof elt?.key === \"string\") {\n options.add(elt.key);\n }\n });\n return Array.from(options.keys());\n },\n },\n children: {\n type: \"slot\",\n allowedComponents: [\"AntdTabPane\"],\n defaultValue: [\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: \"1\",\n },\n },\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: \"2\",\n },\n },\n ],\n },\n },\n actions: [\n {\n type: \"custom-action\",\n control: AddTab,\n },\n {\n type: \"button-action\",\n label: \"Delete current tab\",\n onClick: ({ componentProps, studioOps }) => {\n if (componentProps.activeKey) {\n const tabPanes: string[] = [];\n traverseReactEltTree(componentProps.children, (elt) => {\n if (elt?.type === TabPane && typeof elt?.key === \"string\") {\n tabPanes.push(elt.key);\n }\n });\n const currentTabPos = tabPanes.findIndex((tabKey) => {\n return tabKey === componentProps.activeKey;\n });\n if (currentTabPos !== -1) {\n studioOps.removeFromSlotAt(currentTabPos, \"children\");\n }\n }\n },\n },\n ],\n importPath: \"@plasmicpkgs/antd/skinny/registerTabs\",\n importName: \"Tabs\",\n};\n\nexport function registerTabs(\n loader?: Registerable,\n customTabsMeta?: ComponentMeta<TabsProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(Tabs, customTabsMeta ?? tabsMeta);\n}\n"],"names":["registerComponent","TabPane","React","AntdTabs","Input","Button","traverseReactEltTree"],"mappings":";;;;;;;;;;;;;;;;;;IAea,WAAW,GAAgC;IACtD,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,eAAe;IAC5B,KAAK,EAAE;QACL,GAAG,EAAE;YACH,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,KAAK;iBACb;aACF;SACF;QACD,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sBAAsB;YACnC,YAAY,EAAE,YAAY;SAC3B;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,WAAW,EACT,mEAAmE;YACrE,gBAAgB,EAAE,IAAI;SACvB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,uBAAuB;YACpC,gBAAgB,EAAE,KAAK;SACxB;QACD,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;YACf,WAAW,EACT,0EAA0E;YAC5E,gBAAgB,EAAE,KAAK;SACxB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,IAAI;SACtB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,aAAa;iBACrB;aACF;SACF;KACF;IACD,mBAAmB,EAAE,UAAU;IAC/B,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;EACrB;SAEc,eAAe,CAC7B,MAAqB,EACrB,iBAA+C;IAE/C,IAAM,mBAAmB,GAA6B;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAC5D,OAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,OAAxB,MAAM,EAAsB,IAAI,IAAIA,qCAAiB,eAAI,IAAI,CAAC;KAAA,CAAC;IAC1E,mBAAmB,CAACC,cAAO,EAAE,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,WAAW,CAAC,CAAC;AACjE,CAAC;SAOe,IAAI,CAAC,KAAgB;IAEjC,IAAA,sBAAsB,GAGpB,KAAK,uBAHe,EACtB,uBAAuB,GAErB,KAAK,wBAFgB,EACpB,UAAU,oBACX,KAAK,EAJH,qDAIL,CADc,CACL;IACV,QACEC,wCAACC,4BAAQ,yBACH,UAAU,IACd,kBAAkB,EAAE;YAClB,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,uBAAuB;SAC/B,IACD,EACF;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,EAA+B;QAA7B,SAAS,eAAA;IACnB,IAAA,KAAsBD,yBAAK,CAAC,QAAQ,CAAS,EAAE,CAAC,EAA/C,MAAM,QAAA,EAAE,SAAS,QAA8B,CAAC;IAEvD,IAAM,YAAY,GAAG,UAAC,MAAc;QAClC,IAAI,MAAM,KAAK,EAAE,EAAE;YACjB,SAAS,CAAC,YAAY,CACpB;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE;oBACL,GAAG,EAAE,MAAM;iBACZ;aACF,EACD,UAAU,CACX,CAAC;SACH;KACF,CAAC;IAEF,QACEA,iDACE,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,KAAK;YACpB,GAAG,EAAE,MAAM;YACX,cAAc,EAAE,eAAe;SAChC;QAEDA,wCAACE,UAAK,IACJ,WAAW,EAAC,SAAS,EACrB,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAA,EAC1C,KAAK,EAAE,MAAM,GACb;QACFF,wCAACG,WAAM,IACL,OAAO,EAAE;gBACP,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrB,SAAS,CAAC,EAAE,CAAC,CAAC;aACf,cAGM,CACL,EACN;AACJ,CAAC;IAEY,QAAQ,GAA6B;IAChD,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,WAAW;IACxB,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC;YAC1C,gBAAgB,EAAE,MAAM;YACxB,WAAW,EAAE,qBAAqB;SACnC;QACD,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,IAAI;SACtB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,GAAA;YACrE,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;YAClD,WAAW,EACT,kGAAkG;SACrG;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,KAAK,eAAe,GAAA;YACjD,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,uBAAuB;SACrC;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,IAAI;SACtB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;YACtC,gBAAgB,EAAE,SAAS;YAC3B,WAAW,EAAE,qBAAqB;SACnC;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC3C,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,kBAAkB;SAChC;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sBAAsB;SACpC;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,cAAc;YAC3B,gBAAgB,EAAE,KAAK;SACxB;QACD,sBAAsB,EAAE;YACtB,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,IAAI;SACtB;QACD,uBAAuB,EAAE;YACvB,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,IAAI;SACtB;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2BAA2B;SACzC;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,kBAAkB;YACpC,WAAW,EAAE,8BAA8B;YAC3C,OAAO,EAAE,UAAC,KAAK;gBACb,IAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;gBAClCC,mCAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAC,GAAG;oBACvC,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAKL,cAAO,IAAI,QAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,CAAA,KAAK,QAAQ,EAAE;wBACzD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACtB;iBACF,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;aACnC;SACF;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE,CAAC,aAAa,CAAC;YAClC,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE;wBACL,GAAG,EAAE,GAAG;qBACT;iBACF;gBACD;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE;wBACL,GAAG,EAAE,GAAG;qBACT;iBACF;aACF;SACF;KACF;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,MAAM;SAChB;QACD;YACE,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE,UAAC,EAA6B;oBAA3B,cAAc,oBAAA,EAAE,SAAS,eAAA;gBACnC,IAAI,cAAc,CAAC,SAAS,EAAE;oBAC5B,IAAM,UAAQ,GAAa,EAAE,CAAC;oBAC9BK,mCAAoB,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAC,GAAG;wBAChD,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAKL,cAAO,IAAI,QAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,CAAA,KAAK,QAAQ,EAAE;4BACzD,UAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;yBACxB;qBACF,CAAC,CAAC;oBACH,IAAM,aAAa,GAAG,UAAQ,CAAC,SAAS,CAAC,UAAC,MAAM;wBAC9C,OAAO,MAAM,KAAK,cAAc,CAAC,SAAS,CAAC;qBAC5C,CAAC,CAAC;oBACH,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;wBACxB,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;qBACvD;iBACF;aACF;SACF;KACF;IACD,UAAU,EAAE,uCAAuC;IACnD,UAAU,EAAE,MAAM;EAClB;SAEc,YAAY,CAC1B,MAAqB,EACrB,cAAyC;IAEzC,IAAM,mBAAmB,GAA6B;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAC5D,OAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,OAAxB,MAAM,EAAsB,IAAI,IAAID,qCAAiB,eAAI,IAAI,CAAC;KAAA,CAAC;IAC1E,mBAAmB,CAAC,IAAI,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,QAAQ,CAAC,CAAC;AACxD;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"registerTabs.js","sources":["../src/registerTabs.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button } from \"antd\";\nimport {\n default as AntdTabs,\n TabPaneProps,\n TabsProps as AntdTabsProps,\n} from \"antd/lib/tabs\";\nimport { TabPane } from \"rc-tabs\";\nimport React from \"react\";\nimport { traverseReactEltTree } from \"./customControls\";\nimport { Registerable } from \"./registerable\";\n\nexport const tabPaneMeta: ComponentMeta<TabPaneProps> = {\n name: \"AntdTabPane\",\n displayName: \"Antd Tab Pane\",\n props: {\n tab: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n },\n key: {\n type: \"string\",\n description: \"Unique TabPane's key\",\n defaultValue: \"tabPaneKey\",\n },\n closable: {\n type: \"boolean\",\n description:\n \"Wether the tab can be closed or not. Only works for editable tabs\",\n defaultValueHint: true,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disabled state of tab\",\n defaultValueHint: false,\n },\n forceRender: {\n type: \"boolean\",\n description:\n \"Forced render of content in tabs, not lazy render after clicking on tabs\",\n defaultValueHint: false,\n },\n closeIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Tab Content\",\n },\n ],\n },\n },\n parentComponentName: \"AntdTabs\",\n importPath: \"rc-tabs\",\n importName: \"TabPane\",\n};\n\nexport function registerTabPane(\n loader?: Registerable,\n customTabPaneMeta?: ComponentMeta<TabPaneProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TabPane, customTabPaneMeta ?? tabPaneMeta);\n}\n\nexport type TabsProps = Omit<AntdTabsProps, \"tabBarExtraContent\"> & {\n leftTabBarExtraContent?: React.ReactNode;\n rightTabBarExtraContent?: React.ReactNode;\n};\n\nexport function Tabs(props: TabsProps) {\n const {\n leftTabBarExtraContent,\n rightTabBarExtraContent,\n ...otherProps\n } = props;\n return (\n <AntdTabs\n {...otherProps}\n tabBarExtraContent={{\n left: leftTabBarExtraContent,\n right: rightTabBarExtraContent,\n }}\n />\n );\n}\n\nfunction NavigateTabs({ componentProps, studioOps }: ActionProps<any>) {\n const tabPanes: string[] = [];\n traverseReactEltTree(componentProps.children, (elt) => {\n if (elt?.type === TabPane && typeof elt?.key === \"string\") {\n tabPanes.push(elt.key);\n }\n });\n\n const activeKey = componentProps.activeKey;\n const currTabPos = activeKey\n ? tabPanes.findIndex((tabKey) => {\n return tabKey === activeKey;\n })\n : 0;\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n if (tabPanes.length > 0) {\n const prevTabPos =\n (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n }\n }}\n >\n Prev tab\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n if (tabPanes.length > 0) {\n const nextTabPos = (currTabPos + 1) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });\n }\n }}\n >\n Next tab\n </Button>\n </div>\n );\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange tab panes, use the Outline panel</div>;\n}\n\nexport const tabsMeta: ComponentMeta<TabsProps> = {\n name: \"AntdTabs\",\n displayName: \"Antd Tabs\",\n props: {\n type: {\n type: \"choice\",\n options: [\"line\", \"card\", \"editable-card\"],\n defaultValueHint: \"line\",\n description: \"Basic style of tabs\",\n },\n addIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n animated: {\n type: \"object\",\n hidden: (props) => props.tabPosition !== \"top\" && !!props.tabPosition,\n defaultValueHint: { inkBar: true, tabPane: false },\n description:\n \"Whether to change tabs with animation. Can be either a boolean or specify for inkBar and tabPane\",\n },\n hideAdd: {\n type: \"boolean\",\n hidden: (props) => props.type !== \"editable-card\",\n defaultValueHint: false,\n description: \"Hide plus icon or not\",\n },\n moreIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n size: {\n type: \"choice\",\n options: [\"large\", \"default\", \"small\"],\n defaultValueHint: \"default\",\n description: \"Preset tab bar size\",\n },\n tabPosition: {\n type: \"choice\",\n options: [\"top\", \"right\", \"bottom\", \"left\"],\n defaultValueHint: \"top\",\n description: \"Position of tabs\",\n },\n tabBarGutter: {\n type: \"number\",\n description: \"The gap between tabs\",\n },\n centered: {\n type: \"boolean\",\n description: \"Centers tabs\",\n defaultValueHint: false,\n },\n leftTabBarExtraContent: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n rightTabBarExtraContent: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n tabBarStyle: {\n type: \"object\",\n description: \"CSS for the Tab Bar style\",\n },\n activeKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultActiveKey\",\n description: \"Initial active TabPane's key\",\n options: (props) => {\n const options = new Set<string>();\n traverseReactEltTree(props.children, (elt) => {\n if (elt?.type === TabPane && typeof elt?.key === \"string\") {\n options.add(elt.key);\n }\n });\n return Array.from(options.keys());\n },\n },\n children: {\n type: \"slot\",\n allowedComponents: [\"AntdTabPane\"],\n defaultValue: [\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: \"1\",\n },\n },\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: \"2\",\n },\n },\n ],\n },\n },\n actions: [\n {\n type: \"custom-action\",\n control: NavigateTabs,\n },\n {\n type: \"button-action\",\n label: \"Add new tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n let keysSet = new Set<string>();\n traverseReactEltTree(componentProps.children, (elt) => {\n if (elt?.type === TabPane && typeof elt?.key === \"string\") {\n keysSet.add(elt.key);\n }\n });\n\n for (\n let keyCandidate = 1;\n keyCandidate <= keysSet.size + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n if (!keysSet.has(strKey)) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const tabKey = generateNewKey();\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: tabKey,\n },\n },\n \"children\"\n );\n studioOps.updateProps({ activeKey: tabKey });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n if (componentProps.activeKey) {\n const tabPanes: string[] = [];\n traverseReactEltTree(componentProps.children, (elt) => {\n if (elt?.type === TabPane && typeof elt?.key === \"string\") {\n tabPanes.push(elt.key);\n }\n });\n\n const activeKey = componentProps.activeKey;\n const currTabPos = tabPanes.findIndex((tabKey) => {\n return tabKey === activeKey;\n });\n\n if (currTabPos !== -1) {\n studioOps.removeFromSlotAt(currTabPos, \"children\");\n if (tabPanes.length - 1 > 0) {\n const prevTabPos =\n (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n }\n }\n }\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd/skinny/registerTabs\",\n importName: \"Tabs\",\n};\n\nexport function registerTabs(\n loader?: Registerable,\n customTabsMeta?: ComponentMeta<TabsProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(Tabs, customTabsMeta ?? tabsMeta);\n}\n"],"names":["registerComponent","TabPane","React","AntdTabs","traverseReactEltTree","Button"],"mappings":"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"}
|