@plasmicpkgs/antd 2.0.67 → 2.0.68
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/.tsbuildinfo +1 -1
- package/dist/antd.esm.js +196 -64
- package/dist/antd.esm.js.map +1 -1
- package/dist/index.js +196 -64
- package/dist/index.js.map +1 -1
- package/dist/registerSlider.d.ts +10 -10
- package/package.json +2 -2
- package/skinny/package.json +1 -3
- package/skinny/registerCheckbox.cjs.js +31 -10
- package/skinny/registerCheckbox.cjs.js.map +1 -1
- package/skinny/registerCheckbox.esm.js +31 -10
- package/skinny/registerCheckbox.esm.js.map +1 -1
- package/skinny/registerCollapse.cjs.js +30 -9
- package/skinny/registerCollapse.cjs.js.map +1 -1
- package/skinny/registerCollapse.esm.js +30 -9
- package/skinny/registerCollapse.esm.js.map +1 -1
- package/skinny/registerMenu.cjs.js +30 -9
- package/skinny/registerMenu.cjs.js.map +1 -1
- package/skinny/registerMenu.esm.js +30 -9
- package/skinny/registerMenu.esm.js.map +1 -1
- package/skinny/registerRate.cjs.js +17 -1
- package/skinny/registerRate.cjs.js.map +1 -1
- package/skinny/registerRate.esm.js +17 -1
- package/skinny/registerRate.esm.js.map +1 -1
- package/skinny/registerSelect.cjs.js +15 -1
- package/skinny/registerSelect.cjs.js.map +1 -1
- package/skinny/registerSelect.esm.js +15 -1
- package/skinny/registerSelect.esm.js.map +1 -1
- package/skinny/registerSlider.cjs.js +44 -25
- package/skinny/registerSlider.cjs.js.map +1 -1
- package/skinny/registerSlider.d.ts +10 -10
- package/skinny/registerSlider.esm.js +44 -25
- package/skinny/registerSlider.esm.js.map +1 -1
- package/skinny/registerTabs.cjs.js +29 -9
- package/skinny/registerTabs.cjs.js.map +1 -1
- package/skinny/registerTabs.esm.js +29 -9
- package/skinny/registerTabs.esm.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSlider.cjs.js","sources":["../src/registerSlider.tsx"],"sourcesContent":["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Slider as AntdSlider } from \"antd\";\nimport type { SliderRangeProps, SliderSingleProps } from \"antd/es/slider\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\n\ntype SliderProps = Omit<\n SliderSingleProps | SliderRangeProps,\n \"value\" | \"defaultValue\"\n> & {\n value
|
|
1
|
+
{"version":3,"file":"registerSlider.cjs.js","sources":["../src/registerSlider.tsx"],"sourcesContent":["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Slider as AntdSlider } from \"antd\";\nimport type { SliderRangeProps, SliderSingleProps } from \"antd/es/slider\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\n\ntype SliderProps = Omit<\n SliderSingleProps | SliderRangeProps,\n \"value\" | \"defaultValue\" | \"onChange\"\n> & {\n value: number;\n value2: number;\n onChange: (val: number) => void;\n onChange2: (val: number) => void;\n};\n\nexport const Slider = React.forwardRef<unknown, SliderProps>(function Slider(\n { value, value2, onChange, onChange2, ...props },\n ref\n) {\n const newProps = { ...props } as SliderSingleProps | SliderRangeProps;\n if (props.range) {\n if (typeof value === \"number\" || typeof value2 === \"number\") {\n newProps.value = [value ?? 0, value2 ?? 0];\n }\n newProps.onChange = (values: [number, number]) => {\n onChange(values[0]);\n onChange2(values[1]);\n };\n } else {\n if (typeof value === \"number\") {\n newProps.value = value;\n }\n newProps.onChange = onChange;\n }\n return <AntdSlider {...newProps} ref={ref} />;\n});\n\nexport const sliderMeta: ComponentMeta<SliderProps> = {\n name: \"AntdSlider\",\n displayName: \"Antd Slider\",\n props: {\n max: {\n type: \"number\",\n description: \"The maximum value the slider can slide to\",\n defaultValueHint: 100,\n },\n min: {\n type: \"number\",\n description: \"The minimum value the slider can slide to\",\n defaultValueHint: 0,\n },\n included: {\n type: \"boolean\",\n description:\n \"Make effect when marks not null, true means containment and false means coordinative\",\n defaultValueHint: true,\n },\n disabled: {\n type: \"boolean\",\n description: \"If true, the slider will not be interactable\",\n defaultValueHint: false,\n },\n range: {\n type: \"boolean\",\n description: \"Dual thumb mode\",\n defaultValueHint: false,\n },\n reverse: {\n type: \"boolean\",\n description: \"Reverse the component\",\n defaultValueHint: false,\n },\n vertical: {\n type: \"boolean\",\n description: \"If true, the slider will be vertical\",\n defaultValueHint: false,\n },\n value: {\n type: \"number\",\n displayName: \"Value\",\n editOnly: true,\n description: \"Initial value for the slider\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n value2: {\n type: \"number\",\n displayName: \"Second Value\",\n editOnly: true,\n description: \"Initial second value for the slider\",\n hidden: (props) => !props.range,\n },\n onChange2: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n hidden: (props) => !props.range,\n },\n step: {\n type: \"number\",\n description:\n \"The granularity the slider can step through values. Must greater than 0, and be divided by (max - min).\" +\n \" When marks no null, step can be null\",\n defaultValueHint: 1,\n },\n marks: {\n type: \"object\",\n description:\n \"Tick mark of Slider, type of key must be number, and must in closed interval [min, max],\" +\n \" each mark can declare its own style\",\n },\n },\n states: {\n value: {\n type: \"writable\",\n variableType: \"number\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n },\n value2: {\n type: \"writable\",\n variableType: \"number\",\n valueProp: \"value2\",\n onChangeProp: \"onChange2\",\n },\n },\n defaultStyles: {\n width: \"200px\",\n maxWidth: \"100%\",\n },\n importPath: \"@plasmicpkgs/antd/skinny/registerSlider\",\n importName: \"Slider\",\n};\n\nexport function registerSlider(\n loader?: Registerable,\n customSliderMeta?: ComponentMeta<SliderProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(Slider, customSliderMeta ?? sliderMeta);\n}\n"],"names":["React","Slider","AntdSlider","registerComponent"],"mappings":"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"}
|
|
@@ -2,17 +2,17 @@ import { ComponentMeta } from "@plasmicapp/host/registerComponent";
|
|
|
2
2
|
import type { SliderRangeProps, SliderSingleProps } from "antd/es/slider";
|
|
3
3
|
import React from "react";
|
|
4
4
|
import { Registerable } from "./registerable";
|
|
5
|
-
type SliderProps = Omit<SliderSingleProps | SliderRangeProps, "value" | "defaultValue"> & {
|
|
6
|
-
value
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
type SliderProps = Omit<SliderSingleProps | SliderRangeProps, "value" | "defaultValue" | "onChange"> & {
|
|
6
|
+
value: number;
|
|
7
|
+
value2: number;
|
|
8
|
+
onChange: (val: number) => void;
|
|
9
|
+
onChange2: (val: number) => void;
|
|
10
10
|
};
|
|
11
|
-
export declare const Slider: React.ForwardRefExoticComponent<Omit<SliderSingleProps | SliderRangeProps, "defaultValue" | "value"> & {
|
|
12
|
-
value
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
export declare const Slider: React.ForwardRefExoticComponent<Omit<SliderSingleProps | SliderRangeProps, "defaultValue" | "onChange" | "value"> & {
|
|
12
|
+
value: number;
|
|
13
|
+
value2: number;
|
|
14
|
+
onChange: (val: number) => void;
|
|
15
|
+
onChange2: (val: number) => void;
|
|
16
16
|
} & React.RefAttributes<unknown>>;
|
|
17
17
|
export declare const sliderMeta: ComponentMeta<SliderProps>;
|
|
18
18
|
export declare function registerSlider(loader?: Registerable, customSliderMeta?: ComponentMeta<SliderProps>): void;
|
|
@@ -33,28 +33,25 @@ var __objRest = (source, exclude) => {
|
|
|
33
33
|
}
|
|
34
34
|
return target;
|
|
35
35
|
};
|
|
36
|
-
const Slider = React.forwardRef(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
newProps.value = [value != null ? value : 0, value2 != null ? value2 : 0];
|
|
43
|
-
}
|
|
44
|
-
if (typeof defaultValue === "number" || typeof defaultValue2 === "number") {
|
|
45
|
-
newProps.defaultValue = [defaultValue != null ? defaultValue : 0, defaultValue2 != null ? defaultValue2 : 0];
|
|
46
|
-
}
|
|
47
|
-
} else {
|
|
48
|
-
if (typeof value === "number") {
|
|
49
|
-
newProps.value = value;
|
|
50
|
-
}
|
|
51
|
-
if (typeof defaultValue === "number") {
|
|
52
|
-
newProps.defaultValue = defaultValue;
|
|
53
|
-
}
|
|
36
|
+
const Slider = React.forwardRef(function Slider2(_a, ref) {
|
|
37
|
+
var _b = _a, { value, value2, onChange, onChange2 } = _b, props = __objRest(_b, ["value", "value2", "onChange", "onChange2"]);
|
|
38
|
+
const newProps = __spreadValues({}, props);
|
|
39
|
+
if (props.range) {
|
|
40
|
+
if (typeof value === "number" || typeof value2 === "number") {
|
|
41
|
+
newProps.value = [value != null ? value : 0, value2 != null ? value2 : 0];
|
|
54
42
|
}
|
|
55
|
-
|
|
43
|
+
newProps.onChange = (values) => {
|
|
44
|
+
onChange(values[0]);
|
|
45
|
+
onChange2(values[1]);
|
|
46
|
+
};
|
|
47
|
+
} else {
|
|
48
|
+
if (typeof value === "number") {
|
|
49
|
+
newProps.value = value;
|
|
50
|
+
}
|
|
51
|
+
newProps.onChange = onChange;
|
|
56
52
|
}
|
|
57
|
-
);
|
|
53
|
+
return /* @__PURE__ */ React.createElement(Slider$1, __spreadProps(__spreadValues({}, newProps), { ref }));
|
|
54
|
+
});
|
|
58
55
|
const sliderMeta = {
|
|
59
56
|
name: "AntdSlider",
|
|
60
57
|
displayName: "Antd Slider",
|
|
@@ -96,16 +93,24 @@ const sliderMeta = {
|
|
|
96
93
|
},
|
|
97
94
|
value: {
|
|
98
95
|
type: "number",
|
|
96
|
+
displayName: "Value",
|
|
99
97
|
editOnly: true,
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
description: "Initial value for the slider"
|
|
99
|
+
},
|
|
100
|
+
onChange: {
|
|
101
|
+
type: "eventHandler",
|
|
102
|
+
argTypes: [{ name: "value", type: "number" }]
|
|
102
103
|
},
|
|
103
104
|
value2: {
|
|
104
105
|
type: "number",
|
|
105
|
-
displayName: "
|
|
106
|
+
displayName: "Second Value",
|
|
106
107
|
editOnly: true,
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
description: "Initial second value for the slider",
|
|
109
|
+
hidden: (props) => !props.range
|
|
110
|
+
},
|
|
111
|
+
onChange2: {
|
|
112
|
+
type: "eventHandler",
|
|
113
|
+
argTypes: [{ name: "value", type: "number" }],
|
|
109
114
|
hidden: (props) => !props.range
|
|
110
115
|
},
|
|
111
116
|
step: {
|
|
@@ -118,6 +123,20 @@ const sliderMeta = {
|
|
|
118
123
|
description: "Tick mark of Slider, type of key must be number, and must in closed interval [min, max], each mark can declare its own style"
|
|
119
124
|
}
|
|
120
125
|
},
|
|
126
|
+
states: {
|
|
127
|
+
value: {
|
|
128
|
+
type: "writable",
|
|
129
|
+
variableType: "number",
|
|
130
|
+
valueProp: "value",
|
|
131
|
+
onChangeProp: "onChange"
|
|
132
|
+
},
|
|
133
|
+
value2: {
|
|
134
|
+
type: "writable",
|
|
135
|
+
variableType: "number",
|
|
136
|
+
valueProp: "value2",
|
|
137
|
+
onChangeProp: "onChange2"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
121
140
|
defaultStyles: {
|
|
122
141
|
width: "200px",
|
|
123
142
|
maxWidth: "100%"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSlider.esm.js","sources":["../src/registerSlider.tsx"],"sourcesContent":["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Slider as AntdSlider } from \"antd\";\nimport type { SliderRangeProps, SliderSingleProps } from \"antd/es/slider\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\n\ntype SliderProps = Omit<\n SliderSingleProps | SliderRangeProps,\n \"value\" | \"defaultValue\"\n> & {\n value
|
|
1
|
+
{"version":3,"file":"registerSlider.esm.js","sources":["../src/registerSlider.tsx"],"sourcesContent":["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Slider as AntdSlider } from \"antd\";\nimport type { SliderRangeProps, SliderSingleProps } from \"antd/es/slider\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\n\ntype SliderProps = Omit<\n SliderSingleProps | SliderRangeProps,\n \"value\" | \"defaultValue\" | \"onChange\"\n> & {\n value: number;\n value2: number;\n onChange: (val: number) => void;\n onChange2: (val: number) => void;\n};\n\nexport const Slider = React.forwardRef<unknown, SliderProps>(function Slider(\n { value, value2, onChange, onChange2, ...props },\n ref\n) {\n const newProps = { ...props } as SliderSingleProps | SliderRangeProps;\n if (props.range) {\n if (typeof value === \"number\" || typeof value2 === \"number\") {\n newProps.value = [value ?? 0, value2 ?? 0];\n }\n newProps.onChange = (values: [number, number]) => {\n onChange(values[0]);\n onChange2(values[1]);\n };\n } else {\n if (typeof value === \"number\") {\n newProps.value = value;\n }\n newProps.onChange = onChange;\n }\n return <AntdSlider {...newProps} ref={ref} />;\n});\n\nexport const sliderMeta: ComponentMeta<SliderProps> = {\n name: \"AntdSlider\",\n displayName: \"Antd Slider\",\n props: {\n max: {\n type: \"number\",\n description: \"The maximum value the slider can slide to\",\n defaultValueHint: 100,\n },\n min: {\n type: \"number\",\n description: \"The minimum value the slider can slide to\",\n defaultValueHint: 0,\n },\n included: {\n type: \"boolean\",\n description:\n \"Make effect when marks not null, true means containment and false means coordinative\",\n defaultValueHint: true,\n },\n disabled: {\n type: \"boolean\",\n description: \"If true, the slider will not be interactable\",\n defaultValueHint: false,\n },\n range: {\n type: \"boolean\",\n description: \"Dual thumb mode\",\n defaultValueHint: false,\n },\n reverse: {\n type: \"boolean\",\n description: \"Reverse the component\",\n defaultValueHint: false,\n },\n vertical: {\n type: \"boolean\",\n description: \"If true, the slider will be vertical\",\n defaultValueHint: false,\n },\n value: {\n type: \"number\",\n displayName: \"Value\",\n editOnly: true,\n description: \"Initial value for the slider\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n value2: {\n type: \"number\",\n displayName: \"Second Value\",\n editOnly: true,\n description: \"Initial second value for the slider\",\n hidden: (props) => !props.range,\n },\n onChange2: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n hidden: (props) => !props.range,\n },\n step: {\n type: \"number\",\n description:\n \"The granularity the slider can step through values. Must greater than 0, and be divided by (max - min).\" +\n \" When marks no null, step can be null\",\n defaultValueHint: 1,\n },\n marks: {\n type: \"object\",\n description:\n \"Tick mark of Slider, type of key must be number, and must in closed interval [min, max],\" +\n \" each mark can declare its own style\",\n },\n },\n states: {\n value: {\n type: \"writable\",\n variableType: \"number\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n },\n value2: {\n type: \"writable\",\n variableType: \"number\",\n valueProp: \"value2\",\n onChangeProp: \"onChange2\",\n },\n },\n defaultStyles: {\n width: \"200px\",\n maxWidth: \"100%\",\n },\n importPath: \"@plasmicpkgs/antd/skinny/registerSlider\",\n importName: \"Slider\",\n};\n\nexport function registerSlider(\n loader?: Registerable,\n customSliderMeta?: ComponentMeta<SliderProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(Slider, customSliderMeta ?? sliderMeta);\n}\n"],"names":["Slider","AntdSlider"],"mappings":"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"}
|
|
@@ -162,6 +162,15 @@ function NavigateTabs({ componentProps, studioOps }) {
|
|
|
162
162
|
function OutlineMessage() {
|
|
163
163
|
return /* @__PURE__ */ React__default.default.createElement("div", null, "* To re-arrange tab panes, use the Outline panel");
|
|
164
164
|
}
|
|
165
|
+
function getActiveKeyOptions(props) {
|
|
166
|
+
const options = /* @__PURE__ */ new Set();
|
|
167
|
+
customControls.traverseReactEltTree(props.children, (elt) => {
|
|
168
|
+
if ((elt == null ? void 0 : elt.type) === TabPane && typeof (elt == null ? void 0 : elt.key) === "string") {
|
|
169
|
+
options.add(elt.key);
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
return Array.from(options.keys());
|
|
173
|
+
}
|
|
165
174
|
const tabsMeta = {
|
|
166
175
|
name: "AntdTabs",
|
|
167
176
|
displayName: "Antd Tabs",
|
|
@@ -228,17 +237,20 @@ const tabsMeta = {
|
|
|
228
237
|
activeKey: {
|
|
229
238
|
type: "choice",
|
|
230
239
|
editOnly: true,
|
|
231
|
-
uncontrolledProp: "defaultActiveKey",
|
|
232
240
|
description: "Initial active TabPane's key",
|
|
233
|
-
options:
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
241
|
+
options: getActiveKeyOptions
|
|
242
|
+
},
|
|
243
|
+
onChange: {
|
|
244
|
+
type: "eventHandler",
|
|
245
|
+
argTypes: [
|
|
246
|
+
{
|
|
247
|
+
name: "activeKey",
|
|
248
|
+
type: {
|
|
249
|
+
type: "choice",
|
|
250
|
+
options: getActiveKeyOptions
|
|
238
251
|
}
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
}
|
|
252
|
+
}
|
|
253
|
+
]
|
|
242
254
|
},
|
|
243
255
|
children: {
|
|
244
256
|
type: "slot",
|
|
@@ -285,6 +297,14 @@ const tabsMeta = {
|
|
|
285
297
|
]
|
|
286
298
|
}
|
|
287
299
|
},
|
|
300
|
+
states: {
|
|
301
|
+
activeKey: {
|
|
302
|
+
type: "writable",
|
|
303
|
+
variableType: "array",
|
|
304
|
+
valueProp: "activeKey",
|
|
305
|
+
onChangeProp: "onChange"
|
|
306
|
+
}
|
|
307
|
+
},
|
|
288
308
|
actions: [
|
|
289
309
|
{
|
|
290
310
|
type: "custom-action",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerTabs.cjs.js","sources":["../src/registerTabs.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button, Tabs as AntdTabs } from \"antd\";\nimport type { TabPaneProps, TabsProps as AntdTabsProps } from \"antd/es/tabs\";\nimport React from \"react\";\nimport { traverseReactEltTree } from \"./customControls\";\nimport { Registerable } from \"./registerable\";\n\nexport const TabPane = AntdTabs.TabPane;\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: \"@plasmicpkgs/antd/skinny/registerTabs\",\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 { leftTabBarExtraContent, rightTabBarExtraContent, ...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 tab: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n children: [\n {\n type: \"text\",\n value: \"Tab content\",\n },\n ],\n },\n },\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: \"2\",\n tab: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n children: [\n {\n type: \"text\",\n value: \"Tab content\",\n },\n ],\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 const 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":["AntdTabs","registerComponent","React","traverseReactEltTree","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerTabs.cjs.js","sources":["../src/registerTabs.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button, Tabs as AntdTabs } from \"antd\";\nimport type { TabPaneProps, TabsProps as AntdTabsProps } from \"antd/es/tabs\";\nimport React from \"react\";\nimport { traverseReactEltTree } from \"./customControls\";\nimport { Registerable } from \"./registerable\";\n\nexport const TabPane = AntdTabs.TabPane;\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: \"@plasmicpkgs/antd/skinny/registerTabs\",\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 { leftTabBarExtraContent, rightTabBarExtraContent, ...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\nfunction getActiveKeyOptions(props: TabsProps) {\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\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 description: \"Initial active TabPane's key\",\n options: getActiveKeyOptions,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"activeKey\",\n type: {\n type: \"choice\",\n options: getActiveKeyOptions,\n },\n },\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 tab: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n children: [\n {\n type: \"text\",\n value: \"Tab content\",\n },\n ],\n },\n },\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: \"2\",\n tab: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n children: [\n {\n type: \"text\",\n value: \"Tab content\",\n },\n ],\n },\n },\n ],\n },\n },\n states: {\n activeKey: {\n type: \"writable\",\n variableType: \"array\",\n valueProp: \"activeKey\",\n onChangeProp: \"onChange\",\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 const 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":["AntdTabs","registerComponent","React","traverseReactEltTree","Button"],"mappings":"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"}
|
|
@@ -155,6 +155,15 @@ function NavigateTabs({ componentProps, studioOps }) {
|
|
|
155
155
|
function OutlineMessage() {
|
|
156
156
|
return /* @__PURE__ */ React.createElement("div", null, "* To re-arrange tab panes, use the Outline panel");
|
|
157
157
|
}
|
|
158
|
+
function getActiveKeyOptions(props) {
|
|
159
|
+
const options = /* @__PURE__ */ new Set();
|
|
160
|
+
traverseReactEltTree(props.children, (elt) => {
|
|
161
|
+
if ((elt == null ? void 0 : elt.type) === TabPane && typeof (elt == null ? void 0 : elt.key) === "string") {
|
|
162
|
+
options.add(elt.key);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
return Array.from(options.keys());
|
|
166
|
+
}
|
|
158
167
|
const tabsMeta = {
|
|
159
168
|
name: "AntdTabs",
|
|
160
169
|
displayName: "Antd Tabs",
|
|
@@ -221,17 +230,20 @@ const tabsMeta = {
|
|
|
221
230
|
activeKey: {
|
|
222
231
|
type: "choice",
|
|
223
232
|
editOnly: true,
|
|
224
|
-
uncontrolledProp: "defaultActiveKey",
|
|
225
233
|
description: "Initial active TabPane's key",
|
|
226
|
-
options:
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
234
|
+
options: getActiveKeyOptions
|
|
235
|
+
},
|
|
236
|
+
onChange: {
|
|
237
|
+
type: "eventHandler",
|
|
238
|
+
argTypes: [
|
|
239
|
+
{
|
|
240
|
+
name: "activeKey",
|
|
241
|
+
type: {
|
|
242
|
+
type: "choice",
|
|
243
|
+
options: getActiveKeyOptions
|
|
231
244
|
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
}
|
|
245
|
+
}
|
|
246
|
+
]
|
|
235
247
|
},
|
|
236
248
|
children: {
|
|
237
249
|
type: "slot",
|
|
@@ -278,6 +290,14 @@ const tabsMeta = {
|
|
|
278
290
|
]
|
|
279
291
|
}
|
|
280
292
|
},
|
|
293
|
+
states: {
|
|
294
|
+
activeKey: {
|
|
295
|
+
type: "writable",
|
|
296
|
+
variableType: "array",
|
|
297
|
+
valueProp: "activeKey",
|
|
298
|
+
onChangeProp: "onChange"
|
|
299
|
+
}
|
|
300
|
+
},
|
|
281
301
|
actions: [
|
|
282
302
|
{
|
|
283
303
|
type: "custom-action",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerTabs.esm.js","sources":["../src/registerTabs.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button, Tabs as AntdTabs } from \"antd\";\nimport type { TabPaneProps, TabsProps as AntdTabsProps } from \"antd/es/tabs\";\nimport React from \"react\";\nimport { traverseReactEltTree } from \"./customControls\";\nimport { Registerable } from \"./registerable\";\n\nexport const TabPane = AntdTabs.TabPane;\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: \"@plasmicpkgs/antd/skinny/registerTabs\",\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 { leftTabBarExtraContent, rightTabBarExtraContent, ...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 tab: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n children: [\n {\n type: \"text\",\n value: \"Tab content\",\n },\n ],\n },\n },\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: \"2\",\n tab: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n children: [\n {\n type: \"text\",\n value: \"Tab content\",\n },\n ],\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 const 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":["AntdTabs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerTabs.esm.js","sources":["../src/registerTabs.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button, Tabs as AntdTabs } from \"antd\";\nimport type { TabPaneProps, TabsProps as AntdTabsProps } from \"antd/es/tabs\";\nimport React from \"react\";\nimport { traverseReactEltTree } from \"./customControls\";\nimport { Registerable } from \"./registerable\";\n\nexport const TabPane = AntdTabs.TabPane;\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: \"@plasmicpkgs/antd/skinny/registerTabs\",\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 { leftTabBarExtraContent, rightTabBarExtraContent, ...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\nfunction getActiveKeyOptions(props: TabsProps) {\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\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 description: \"Initial active TabPane's key\",\n options: getActiveKeyOptions,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"activeKey\",\n type: {\n type: \"choice\",\n options: getActiveKeyOptions,\n },\n },\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 tab: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n children: [\n {\n type: \"text\",\n value: \"Tab content\",\n },\n ],\n },\n },\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: \"2\",\n tab: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n children: [\n {\n type: \"text\",\n value: \"Tab content\",\n },\n ],\n },\n },\n ],\n },\n },\n states: {\n activeKey: {\n type: \"writable\",\n variableType: \"array\",\n valueProp: \"activeKey\",\n onChangeProp: \"onChange\",\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 const 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":["AntdTabs"],"mappings":"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"}
|