@plasmicpkgs/antd 2.0.44 → 2.0.46
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 +134 -105
- package/dist/index.js +134 -105
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/skinny/customControls-fb0b7e5f.js.map +1 -1
- package/skinny/registerButton.js.map +1 -1
- package/skinny/registerCarousel.js.map +1 -1
- package/skinny/registerCheckbox.js +4 -1
- package/skinny/registerCheckbox.js.map +1 -1
- package/skinny/registerCollapse.js +10 -4
- package/skinny/registerCollapse.js.map +1 -1
- package/skinny/registerDropdown.js +4 -1
- package/skinny/registerDropdown.js.map +1 -1
- package/skinny/registerInput.js.map +1 -1
- package/skinny/registerMenu.js.map +1 -1
- package/skinny/registerOption.js.map +1 -1
- package/skinny/registerRate.js.map +1 -1
- package/skinny/registerSelect.js.map +1 -1
- package/skinny/registerSlider.js +20 -20
- package/skinny/registerSlider.js.map +1 -1
- package/skinny/registerSwitch.js.map +1 -1
- package/skinny/registerTable.js +40 -42
- package/skinny/registerTable.js.map +1 -1
- package/skinny/registerTabs.js +56 -37
- package/skinny/registerTabs.js.map +1 -1
package/skinny/registerSlider.js
CHANGED
|
@@ -41,28 +41,28 @@ var __objRest = (source, exclude) => {
|
|
|
41
41
|
}
|
|
42
42
|
return target;
|
|
43
43
|
};
|
|
44
|
-
const Slider = React__default.default.forwardRef(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
44
|
+
const Slider = React__default.default.forwardRef(
|
|
45
|
+
(_a, ref) => {
|
|
46
|
+
var _b = _a, { value, defaultValue, value2, defaultValue2 } = _b, props = __objRest(_b, ["value", "defaultValue", "value2", "defaultValue2"]);
|
|
47
|
+
const newProps = __spreadValues({}, props);
|
|
48
|
+
if (props.range) {
|
|
49
|
+
if (typeof value === "number" || typeof value2 === "number") {
|
|
50
|
+
newProps.value = [value != null ? value : 0, value2 != null ? value2 : 0];
|
|
51
|
+
}
|
|
52
|
+
if (typeof defaultValue === "number" || typeof defaultValue2 === "number") {
|
|
53
|
+
newProps.defaultValue = [defaultValue != null ? defaultValue : 0, defaultValue2 != null ? defaultValue2 : 0];
|
|
54
|
+
}
|
|
55
|
+
} else {
|
|
56
|
+
if (typeof value === "number") {
|
|
57
|
+
newProps.value = value;
|
|
58
|
+
}
|
|
59
|
+
if (typeof defaultValue === "number") {
|
|
60
|
+
newProps.defaultValue = defaultValue;
|
|
61
|
+
}
|
|
60
62
|
}
|
|
63
|
+
return /* @__PURE__ */ React__default.default.createElement(AntdSlider__default.default, __spreadProps(__spreadValues({}, newProps), { ref }));
|
|
61
64
|
}
|
|
62
|
-
|
|
63
|
-
ref
|
|
64
|
-
}));
|
|
65
|
-
});
|
|
65
|
+
);
|
|
66
66
|
const sliderMeta = {
|
|
67
67
|
name: "AntdSlider",
|
|
68
68
|
displayName: "Antd Slider",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSlider.js","sources":["../src/registerSlider.tsx"],"sourcesContent":["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { default as AntdSlider } from \"antd/lib/slider\";\nimport type { SliderRangeProps, SliderSingleProps } from \"antd/lib/slider\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\n\ntype SliderProps = Omit<\n SliderSingleProps | SliderRangeProps,\n \"value\" | \"defaultValue\"\n> & {\n value?: number;\n defaultValue?: number;\n value2?: number;\n defaultValue2?: number;\n};\n\nexport const Slider = React.forwardRef<unknown, SliderProps>(\n ({ value, defaultValue, value2, defaultValue2, ...props }, ref) => {\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 if (\n typeof defaultValue === \"number\" ||\n typeof defaultValue2 === \"number\"\n ) {\n newProps.defaultValue = [defaultValue ?? 0, defaultValue2 ?? 0];\n }\n } else {\n if (typeof value === \"number\") {\n newProps.value = value;\n }\n if(typeof defaultValue === \"number\") {\n newProps.defaultValue = defaultValue;\n }\n }\n return <AntdSlider {...newProps} ref={ref} />;\n }\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 editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"The default value of slider\",\n },\n value2: {\n type: \"number\",\n displayName: \"value 2\",\n editOnly: true,\n uncontrolledProp: \"defaultValue2\",\n description: \"The default value for the second value of the slider\",\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 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","AntdSlider","registerComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAM,
|
|
1
|
+
{"version":3,"file":"registerSlider.js","sources":["../src/registerSlider.tsx"],"sourcesContent":["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { default as AntdSlider } from \"antd/lib/slider\";\nimport type { SliderRangeProps, SliderSingleProps } from \"antd/lib/slider\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\n\ntype SliderProps = Omit<\n SliderSingleProps | SliderRangeProps,\n \"value\" | \"defaultValue\"\n> & {\n value?: number;\n defaultValue?: number;\n value2?: number;\n defaultValue2?: number;\n};\n\nexport const Slider = React.forwardRef<unknown, SliderProps>(\n ({ value, defaultValue, value2, defaultValue2, ...props }, ref) => {\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 if (\n typeof defaultValue === \"number\" ||\n typeof defaultValue2 === \"number\"\n ) {\n newProps.defaultValue = [defaultValue ?? 0, defaultValue2 ?? 0];\n }\n } else {\n if (typeof value === \"number\") {\n newProps.value = value;\n }\n if(typeof defaultValue === \"number\") {\n newProps.defaultValue = defaultValue;\n }\n }\n return <AntdSlider {...newProps} ref={ref} />;\n }\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 editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"The default value of slider\",\n },\n value2: {\n type: \"number\",\n displayName: \"value 2\",\n editOnly: true,\n uncontrolledProp: \"defaultValue2\",\n description: \"The default value for the second value of the slider\",\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 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","AntdSlider","registerComponent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSwitch.js","sources":["../src/registerSwitch.ts"],"sourcesContent":["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport Switch, { SwitchProps } from \"antd/lib/switch\";\nimport { Registerable } from \"./registerable\";\n\nexport const switchMeta: ComponentMeta<SwitchProps> = {\n name: \"AntdSwitch\",\n displayName: \"Antd Switch\",\n props: {\n autoFocus: {\n type: \"boolean\",\n description: \"Whether get focus when component mounted\",\n defaultValueHint: false,\n },\n checked: {\n type: \"boolean\",\n description: \"Whether to set the initial state\",\n defaultValueHint: false,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disable switch\",\n defaultValueHint: false,\n },\n loading: {\n type: \"boolean\",\n description: \"Loading state of switch\",\n defaultValueHint: false,\n },\n checkedChildren: {\n type: \"slot\",\n defaultValue: [],\n hidePlaceholder: true,\n },\n unCheckedChildren: {\n type: \"slot\",\n defaultValue: [],\n hidePlaceholder: true,\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"default\"],\n description: \"The size of the Switch\",\n defaultValueHint: \"default\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"checked\",\n type: \"boolean\",\n },\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n },\n states: {\n value: {\n type: \"writable\",\n variableType: \"boolean\",\n onChangeProp: \"onChange\",\n valueProp: \"checked\",\n },\n },\n importPath: \"antd/lib/switch\",\n importName: \"Switch\",\n isDefaultExport: true,\n};\n\nexport function registerSwitch(\n loader?: Registerable,\n customSwitchMeta?: ComponentMeta<SwitchProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(Switch, customSwitchMeta ?? switchMeta);\n}\n"],"names":["registerComponent","Switch"],"mappings":";;;;;;;;;;AAMO,MAAM,UAAyC,GAAA;AAAA,EACpD,IAAM,EAAA,YAAA;AAAA,EACN,WAAa,EAAA,aAAA;AAAA,EACb,KAAO,EAAA;AAAA,IACL,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,0CAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,kCAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,gBAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,yBAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,IAAM,EAAA,MAAA;AAAA,MACN,cAAc,EAAC;AAAA,MACf,eAAiB,EAAA,IAAA;AAAA,KACnB;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,IAAM,EAAA,MAAA;AAAA,MACN,cAAc,EAAC;AAAA,MACf,eAAiB,EAAA,IAAA;AAAA,KACnB;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,QAAA;AAAA,MACN,OAAA,EAAS,CAAC,OAAA,EAAS,SAAS,CAAA;AAAA,MAC5B,WAAa,EAAA,wBAAA;AAAA,MACb,gBAAkB,EAAA,SAAA;AAAA,KACpB;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,cAAA;AAAA,MACN,QAAU,EAAA;AAAA,QACR;AAAA,UACE,IAAM,EAAA,SAAA;AAAA,UACN,IAAM,EAAA,SAAA;AAAA,SACR;AAAA,QACA;AAAA,UACE,IAAM,EAAA,OAAA;AAAA,UACN,IAAM,EAAA,QAAA;AAAA,SACR;AAAA,OACF;AAAA,KACF;AAAA,GACF;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,UAAA;AAAA,MACN,YAAc,EAAA,SAAA;AAAA,MACd,YAAc,EAAA,UAAA;AAAA,MACd,SAAW,EAAA,SAAA;AAAA,KACb;AAAA,GACF;AAAA,EACA,UAAY,EAAA,iBAAA;AAAA,EACZ,UAAY,EAAA,QAAA;AAAA,EACZ,eAAiB,EAAA,IAAA;AACnB,EAAA;
|
|
1
|
+
{"version":3,"file":"registerSwitch.js","sources":["../src/registerSwitch.ts"],"sourcesContent":["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport Switch, { SwitchProps } from \"antd/lib/switch\";\nimport { Registerable } from \"./registerable\";\n\nexport const switchMeta: ComponentMeta<SwitchProps> = {\n name: \"AntdSwitch\",\n displayName: \"Antd Switch\",\n props: {\n autoFocus: {\n type: \"boolean\",\n description: \"Whether get focus when component mounted\",\n defaultValueHint: false,\n },\n checked: {\n type: \"boolean\",\n description: \"Whether to set the initial state\",\n defaultValueHint: false,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disable switch\",\n defaultValueHint: false,\n },\n loading: {\n type: \"boolean\",\n description: \"Loading state of switch\",\n defaultValueHint: false,\n },\n checkedChildren: {\n type: \"slot\",\n defaultValue: [],\n hidePlaceholder: true,\n },\n unCheckedChildren: {\n type: \"slot\",\n defaultValue: [],\n hidePlaceholder: true,\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"default\"],\n description: \"The size of the Switch\",\n defaultValueHint: \"default\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"checked\",\n type: \"boolean\",\n },\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n },\n states: {\n value: {\n type: \"writable\",\n variableType: \"boolean\",\n onChangeProp: \"onChange\",\n valueProp: \"checked\",\n },\n },\n importPath: \"antd/lib/switch\",\n importName: \"Switch\",\n isDefaultExport: true,\n};\n\nexport function registerSwitch(\n loader?: Registerable,\n customSwitchMeta?: ComponentMeta<SwitchProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(Switch, customSwitchMeta ?? switchMeta);\n}\n"],"names":["registerComponent","Switch"],"mappings":";;;;;;;;;;AAMO,MAAM,UAAyC,GAAA;AAAA,EACpD,IAAM,EAAA,YAAA;AAAA,EACN,WAAa,EAAA,aAAA;AAAA,EACb,KAAO,EAAA;AAAA,IACL,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,0CAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,kCAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,gBAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,yBAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,IAAM,EAAA,MAAA;AAAA,MACN,cAAc,EAAC;AAAA,MACf,eAAiB,EAAA,IAAA;AAAA,KACnB;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,IAAM,EAAA,MAAA;AAAA,MACN,cAAc,EAAC;AAAA,MACf,eAAiB,EAAA,IAAA;AAAA,KACnB;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,QAAA;AAAA,MACN,OAAA,EAAS,CAAC,OAAA,EAAS,SAAS,CAAA;AAAA,MAC5B,WAAa,EAAA,wBAAA;AAAA,MACb,gBAAkB,EAAA,SAAA;AAAA,KACpB;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,cAAA;AAAA,MACN,QAAU,EAAA;AAAA,QACR;AAAA,UACE,IAAM,EAAA,SAAA;AAAA,UACN,IAAM,EAAA,SAAA;AAAA,SACR;AAAA,QACA;AAAA,UACE,IAAM,EAAA,OAAA;AAAA,UACN,IAAM,EAAA,QAAA;AAAA,SACR;AAAA,OACF;AAAA,KACF;AAAA,GACF;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,UAAA;AAAA,MACN,YAAc,EAAA,SAAA;AAAA,MACd,YAAc,EAAA,UAAA;AAAA,MACd,SAAW,EAAA,SAAA;AAAA,KACb;AAAA,GACF;AAAA,EACA,UAAY,EAAA,iBAAA;AAAA,EACZ,UAAY,EAAA,QAAA;AAAA,EACZ,eAAiB,EAAA,IAAA;AACnB,EAAA;AAEgB,SAAA,cAAA,CACd,QACA,gBACA,EAAA;AACA,EAAM,MAAA,mBAAA,GAAgD,CAAI,GAAA,IAAA,KACxD,MAAS,GAAA,MAAA,CAAO,iBAAkB,CAAA,GAAG,IAAI,CAAA,GAAIA,kCAAkB,CAAA,GAAG,IAAI,CAAA,CAAA;AACxE,EAAoB,mBAAA,CAAAC,uBAAA,EAAQ,8CAAoB,UAAU,CAAA,CAAA;AAC5D;;;;;"}
|
package/skinny/registerTable.js
CHANGED
|
@@ -44,9 +44,7 @@ function TableValue(props) {
|
|
|
44
44
|
var _a;
|
|
45
45
|
const { className } = props;
|
|
46
46
|
const column = host.useSelector("currentColumn");
|
|
47
|
-
return /* @__PURE__ */ React__default.default.createElement("div", {
|
|
48
|
-
className
|
|
49
|
-
}, (_a = column == null ? void 0 : column.toString()) != null ? _a : "");
|
|
47
|
+
return /* @__PURE__ */ React__default.default.createElement("div", { className }, (_a = column == null ? void 0 : column.toString()) != null ? _a : "");
|
|
50
48
|
}
|
|
51
49
|
function ColumnWrapper(props) {
|
|
52
50
|
return props.children;
|
|
@@ -56,47 +54,47 @@ function TableWrapper(props) {
|
|
|
56
54
|
const { className, items, columns, size, onSelect, pagination } = props;
|
|
57
55
|
const tableColumns = (_b = (_a = columns == null ? void 0 : columns.props) == null ? void 0 : _a.children) != null ? _b : columns;
|
|
58
56
|
const columnDefinitions = React__default.default.useMemo(() => {
|
|
59
|
-
return React__default.default.Children.map(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const columnDefinition = {
|
|
65
|
-
columnIndex,
|
|
66
|
-
title,
|
|
67
|
-
dataIndex,
|
|
68
|
-
key: columnIndex,
|
|
69
|
-
render: (value, record, rowIndex) => {
|
|
70
|
-
return /* @__PURE__ */ React__default.default.createElement(host.DataProvider, {
|
|
71
|
-
name: "currentRow",
|
|
72
|
-
data: record
|
|
73
|
-
}, /* @__PURE__ */ React__default.default.createElement(host.DataProvider, {
|
|
74
|
-
name: "currentRowIndex",
|
|
75
|
-
data: rowIndex
|
|
76
|
-
}, /* @__PURE__ */ React__default.default.createElement(host.DataProvider, {
|
|
77
|
-
name: "currentColumn",
|
|
78
|
-
data: value
|
|
79
|
-
}, host.repeatedElement(rowIndex, /* @__PURE__ */ React__default.default.createElement(ColumnWrapper, __spreadValues({}, rest), columnTemplate)))));
|
|
57
|
+
return React__default.default.Children.map(
|
|
58
|
+
tableColumns,
|
|
59
|
+
(column, columnIndex) => {
|
|
60
|
+
if (!column) {
|
|
61
|
+
return void 0;
|
|
80
62
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
63
|
+
const _a2 = column.props, { columnTemplate, title, dataIndex } = _a2, rest = __objRest(_a2, ["columnTemplate", "title", "dataIndex"]);
|
|
64
|
+
const columnDefinition = {
|
|
65
|
+
columnIndex,
|
|
66
|
+
title,
|
|
67
|
+
dataIndex,
|
|
68
|
+
key: columnIndex,
|
|
69
|
+
render: (value, record, rowIndex) => {
|
|
70
|
+
return /* @__PURE__ */ React__default.default.createElement(host.DataProvider, { name: "currentRow", data: record }, /* @__PURE__ */ React__default.default.createElement(host.DataProvider, { name: "currentRowIndex", data: rowIndex }, /* @__PURE__ */ React__default.default.createElement(host.DataProvider, { name: "currentColumn", data: value }, host.repeatedElement(
|
|
71
|
+
rowIndex,
|
|
72
|
+
/* @__PURE__ */ React__default.default.createElement(ColumnWrapper, __spreadValues({}, rest), columnTemplate)
|
|
73
|
+
))));
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
return columnDefinition;
|
|
77
|
+
}
|
|
78
|
+
).filter(Boolean);
|
|
84
79
|
}, [tableColumns]);
|
|
85
|
-
return /* @__PURE__ */ React__default.default.createElement(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
80
|
+
return /* @__PURE__ */ React__default.default.createElement(
|
|
81
|
+
Table__default.default,
|
|
82
|
+
{
|
|
83
|
+
className,
|
|
84
|
+
columns: columnDefinitions,
|
|
85
|
+
dataSource: items,
|
|
86
|
+
size,
|
|
87
|
+
onRow: (record) => {
|
|
88
|
+
return {
|
|
89
|
+
onMouseUp: () => {
|
|
90
|
+
return onSelect == null ? void 0 : onSelect(record.id);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
pagination: pagination ? void 0 : pagination,
|
|
95
|
+
rowKey: "id"
|
|
96
|
+
}
|
|
97
|
+
);
|
|
100
98
|
}
|
|
101
99
|
const DEFAULT_ITEMS = [
|
|
102
100
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerTable.js","sources":["../src/registerTable.tsx"],"sourcesContent":["import {\n ComponentMeta,\n DataProvider,\n registerComponent,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { SizeType } from \"antd/lib/config-provider/SizeContext\";\nimport Table from \"antd/lib/table/Table\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\n\ninterface TableColumnProps {\n columnIndex: number;\n // The title text to show in the column headers\n title?: string;\n\n // The path for the data field to get the value from\n // Display field of the data record, support nest path by string array\n dataIndex: string | string[];\n\n // Plasmic - Custom column template\n columnTemplate: React.ReactNode;\n}\n\n// This is an empty virtual component used to allow users to define column\n// properties in plasmic.\nexport function TableColumn(_props: TableColumnProps) {\n return null;\n}\n\nexport interface TableValueProps {\n className?: string;\n}\n\nexport function TableValue(props: TableValueProps) {\n const { className } = props;\n const column = useSelector(\"currentColumn\");\n return <div className={className}>{column?.toString() ?? \"\"}</div>;\n}\n\n/**\n * Wrapper used to consume internal canvas props\n */\nfunction ColumnWrapper(props: { children: React.ReactNode }) {\n return props.children as React.ReactElement | null;\n}\n\nexport interface TableWrapperProps {\n className?: string;\n items: Array<any>;\n columns: React.ReactNode;\n size?: string;\n pagination?: boolean;\n onSelect?: (record: any) => void;\n}\n\nexport function TableWrapper(props: TableWrapperProps) {\n const { className, items, columns, size, onSelect, pagination } = props;\n\n // Plasmic Studio Canvas currently renders items in a slightly different way than the generated code:\n // - In the studio:\n // - The `columns` prop value is an array of nested react <Column /> nodes.\n // - In the generated code (preview mode):\n // - The `columns` prop value is a React Node with a `children` property that contains\n // an array of the nested react <Column /> components.\n const tableColumns = (columns as any)?.props?.children ?? (columns as any);\n\n // Convert the props.columns slot children to an array of column definitions\n const columnDefinitions = React.useMemo(() => {\n return React.Children.map(\n tableColumns,\n (column: { props: TableColumnProps }, columnIndex) => {\n if (!column) {\n return undefined;\n }\n\n const { columnTemplate, title, dataIndex, ...rest } = column.props;\n\n const columnDefinition = {\n columnIndex,\n title,\n dataIndex,\n key: columnIndex,\n render: (value: any, record: any, rowIndex: any) => {\n return (\n <DataProvider name=\"currentRow\" data={record}>\n <DataProvider name=\"currentRowIndex\" data={rowIndex}>\n <DataProvider name=\"currentColumn\" data={value}>\n {repeatedElement(\n rowIndex,\n <ColumnWrapper {...rest}>{columnTemplate}</ColumnWrapper>\n )}\n </DataProvider>\n </DataProvider>\n </DataProvider>\n );\n },\n };\n\n return columnDefinition;\n }\n ).filter(Boolean);\n }, [tableColumns]);\n\n return (\n <Table\n className={className}\n columns={columnDefinitions}\n dataSource={items}\n size={size as SizeType}\n onRow={(record) => {\n return {\n onMouseUp: () => {\n return onSelect?.(record.id);\n },\n };\n }}\n pagination={pagination ? undefined : pagination}\n rowKey={\"id\"}\n />\n );\n}\n\nconst DEFAULT_ITEMS = [\n {\n name: \"John Brown\",\n age: 19,\n address: \"New York No. 1 Lake Park\",\n tags: [\"student\", \"developer\"],\n },\n {\n name: \"Jim Green\",\n age: 42,\n address: \"London No. 1 Lake Park\",\n tags: [\"teacher\"],\n },\n {\n name: \"Joe Black\",\n age: 32,\n address: \"Sidney No. 1 Lake Park\",\n tags: [\"cool\", \"teacher\"],\n },\n];\n\nfunction capitalize(input: string) {\n return input.charAt(0).toUpperCase() + input.slice(1);\n}\n\nexport const tableMeta: ComponentMeta<TableWrapperProps> = {\n name: \"AntdTable\",\n displayName: \"Antd Table\",\n props: {\n items: {\n type: \"array\",\n description:\n \"The data to display in the table, as a list of objects (one object per row)\",\n defaultValue: DEFAULT_ITEMS,\n },\n\n columns: {\n type: \"slot\",\n allowedComponents: [\"AntdTableColumn\"],\n defaultValue: Object.keys(DEFAULT_ITEMS[0]).map((columnName) => ({\n type: \"component\",\n name: \"AntdTableColumn\",\n props: {\n title: capitalize(columnName),\n dataIndex: columnName,\n },\n })),\n },\n\n size: {\n type: \"choice\",\n options: [\"large\", \"middle\", \"small\"],\n defaultValueHint: \"large\",\n },\n\n pagination: {\n type: \"boolean\",\n defaultValueHint: true,\n },\n },\n\n importPath: \"@plasmicpkgs/antd/skinny/registerTable\",\n importName: \"TableWrapper\",\n};\n\nexport const tableColumnMeta: ComponentMeta<TableColumnProps> = {\n name: \"AntdTableColumn\",\n parentComponentName: \"AntdTable\",\n providesData: true,\n props: {\n title: {\n type: \"string\",\n defaultValue: \"Name\",\n },\n\n dataIndex: {\n type: \"string\",\n defaultValue: \"name\",\n description:\n \"The field to show. The table accepts some data as a list of objects, and this is the name of the field in those objects that this column will display.\",\n },\n\n columnTemplate: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: \"AntdTableValue\",\n },\n ],\n },\n },\n },\n\n importPath: \"@plasmicpkgs/antd/skinny/registerTable\",\n importName: \"TableColumn\",\n};\n\nexport const tableValueMeta: ComponentMeta<TableValueProps> = {\n name: \"AntdTableValue\",\n parentComponentName: \"AntdTableColumn\",\n props: {},\n importPath: \"@plasmicpkgs/antd/skinny/registerTable\",\n importName: \"TableValue\",\n};\n\nexport function registerTable(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableWrapperProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableWrapper, customMeta ?? tableMeta);\n}\n\nexport function registerTableColumn(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableColumnProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableColumn, customMeta ?? tableColumnMeta);\n}\n\nexport function registerTableValue(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableValueProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableValue, customMeta ?? tableValueMeta);\n}\n"],"names":["useSelector","React","DataProvider","repeatedElement","Table","registerComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerTable.js","sources":["../src/registerTable.tsx"],"sourcesContent":["import {\n ComponentMeta,\n DataProvider,\n registerComponent,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { SizeType } from \"antd/lib/config-provider/SizeContext\";\nimport Table from \"antd/lib/table/Table\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\n\ninterface TableColumnProps {\n columnIndex: number;\n // The title text to show in the column headers\n title?: string;\n\n // The path for the data field to get the value from\n // Display field of the data record, support nest path by string array\n dataIndex: string | string[];\n\n // Plasmic - Custom column template\n columnTemplate: React.ReactNode;\n}\n\n// This is an empty virtual component used to allow users to define column\n// properties in plasmic.\nexport function TableColumn(_props: TableColumnProps) {\n return null;\n}\n\nexport interface TableValueProps {\n className?: string;\n}\n\nexport function TableValue(props: TableValueProps) {\n const { className } = props;\n const column = useSelector(\"currentColumn\");\n return <div className={className}>{column?.toString() ?? \"\"}</div>;\n}\n\n/**\n * Wrapper used to consume internal canvas props\n */\nfunction ColumnWrapper(props: { children: React.ReactNode }) {\n return props.children as React.ReactElement | null;\n}\n\nexport interface TableWrapperProps {\n className?: string;\n items: Array<any>;\n columns: React.ReactNode;\n size?: string;\n pagination?: boolean;\n onSelect?: (record: any) => void;\n}\n\nexport function TableWrapper(props: TableWrapperProps) {\n const { className, items, columns, size, onSelect, pagination } = props;\n\n // Plasmic Studio Canvas currently renders items in a slightly different way than the generated code:\n // - In the studio:\n // - The `columns` prop value is an array of nested react <Column /> nodes.\n // - In the generated code (preview mode):\n // - The `columns` prop value is a React Node with a `children` property that contains\n // an array of the nested react <Column /> components.\n const tableColumns = (columns as any)?.props?.children ?? (columns as any);\n\n // Convert the props.columns slot children to an array of column definitions\n const columnDefinitions = React.useMemo(() => {\n return React.Children.map(\n tableColumns,\n (column: { props: TableColumnProps }, columnIndex) => {\n if (!column) {\n return undefined;\n }\n\n const { columnTemplate, title, dataIndex, ...rest } = column.props;\n\n const columnDefinition = {\n columnIndex,\n title,\n dataIndex,\n key: columnIndex,\n render: (value: any, record: any, rowIndex: any) => {\n return (\n <DataProvider name=\"currentRow\" data={record}>\n <DataProvider name=\"currentRowIndex\" data={rowIndex}>\n <DataProvider name=\"currentColumn\" data={value}>\n {repeatedElement(\n rowIndex,\n <ColumnWrapper {...rest}>{columnTemplate}</ColumnWrapper>\n )}\n </DataProvider>\n </DataProvider>\n </DataProvider>\n );\n },\n };\n\n return columnDefinition;\n }\n ).filter(Boolean);\n }, [tableColumns]);\n\n return (\n <Table\n className={className}\n columns={columnDefinitions}\n dataSource={items}\n size={size as SizeType}\n onRow={(record) => {\n return {\n onMouseUp: () => {\n return onSelect?.(record.id);\n },\n };\n }}\n pagination={pagination ? undefined : pagination}\n rowKey={\"id\"}\n />\n );\n}\n\nconst DEFAULT_ITEMS = [\n {\n name: \"John Brown\",\n age: 19,\n address: \"New York No. 1 Lake Park\",\n tags: [\"student\", \"developer\"],\n },\n {\n name: \"Jim Green\",\n age: 42,\n address: \"London No. 1 Lake Park\",\n tags: [\"teacher\"],\n },\n {\n name: \"Joe Black\",\n age: 32,\n address: \"Sidney No. 1 Lake Park\",\n tags: [\"cool\", \"teacher\"],\n },\n];\n\nfunction capitalize(input: string) {\n return input.charAt(0).toUpperCase() + input.slice(1);\n}\n\nexport const tableMeta: ComponentMeta<TableWrapperProps> = {\n name: \"AntdTable\",\n displayName: \"Antd Table\",\n props: {\n items: {\n type: \"array\",\n description:\n \"The data to display in the table, as a list of objects (one object per row)\",\n defaultValue: DEFAULT_ITEMS,\n },\n\n columns: {\n type: \"slot\",\n allowedComponents: [\"AntdTableColumn\"],\n defaultValue: Object.keys(DEFAULT_ITEMS[0]).map((columnName) => ({\n type: \"component\",\n name: \"AntdTableColumn\",\n props: {\n title: capitalize(columnName),\n dataIndex: columnName,\n },\n })),\n },\n\n size: {\n type: \"choice\",\n options: [\"large\", \"middle\", \"small\"],\n defaultValueHint: \"large\",\n },\n\n pagination: {\n type: \"boolean\",\n defaultValueHint: true,\n },\n },\n\n importPath: \"@plasmicpkgs/antd/skinny/registerTable\",\n importName: \"TableWrapper\",\n};\n\nexport const tableColumnMeta: ComponentMeta<TableColumnProps> = {\n name: \"AntdTableColumn\",\n parentComponentName: \"AntdTable\",\n providesData: true,\n props: {\n title: {\n type: \"string\",\n defaultValue: \"Name\",\n },\n\n dataIndex: {\n type: \"string\",\n defaultValue: \"name\",\n description:\n \"The field to show. The table accepts some data as a list of objects, and this is the name of the field in those objects that this column will display.\",\n },\n\n columnTemplate: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: \"AntdTableValue\",\n },\n ],\n },\n },\n },\n\n importPath: \"@plasmicpkgs/antd/skinny/registerTable\",\n importName: \"TableColumn\",\n};\n\nexport const tableValueMeta: ComponentMeta<TableValueProps> = {\n name: \"AntdTableValue\",\n parentComponentName: \"AntdTableColumn\",\n props: {},\n importPath: \"@plasmicpkgs/antd/skinny/registerTable\",\n importName: \"TableValue\",\n};\n\nexport function registerTable(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableWrapperProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableWrapper, customMeta ?? tableMeta);\n}\n\nexport function registerTableColumn(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableColumnProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableColumn, customMeta ?? tableColumnMeta);\n}\n\nexport function registerTableValue(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableValueProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableValue, customMeta ?? tableValueMeta);\n}\n"],"names":["useSelector","React","_a","DataProvider","repeatedElement","Table","registerComponent"],"mappings":"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"}
|
package/skinny/registerTabs.js
CHANGED
|
@@ -107,12 +107,15 @@ function Tabs(props) {
|
|
|
107
107
|
"leftTabBarExtraContent",
|
|
108
108
|
"rightTabBarExtraContent"
|
|
109
109
|
]);
|
|
110
|
-
return /* @__PURE__ */ React__default.default.createElement(
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
110
|
+
return /* @__PURE__ */ React__default.default.createElement(
|
|
111
|
+
AntdTabs__default.default,
|
|
112
|
+
__spreadProps(__spreadValues({}, otherProps), {
|
|
113
|
+
tabBarExtraContent: {
|
|
114
|
+
left: leftTabBarExtraContent,
|
|
115
|
+
right: rightTabBarExtraContent
|
|
116
|
+
}
|
|
117
|
+
})
|
|
118
|
+
);
|
|
116
119
|
}
|
|
117
120
|
function NavigateTabs({ componentProps, studioOps }) {
|
|
118
121
|
const tabPanes = [];
|
|
@@ -125,31 +128,44 @@ function NavigateTabs({ componentProps, studioOps }) {
|
|
|
125
128
|
const currTabPos = activeKey ? tabPanes.findIndex((tabKey) => {
|
|
126
129
|
return tabKey === activeKey;
|
|
127
130
|
}) : 0;
|
|
128
|
-
return /* @__PURE__ */ React__default.default.createElement(
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
style: { width: "100%" },
|
|
138
|
-
onClick: () => {
|
|
139
|
-
if (tabPanes.length > 0) {
|
|
140
|
-
const prevTabPos = (currTabPos - 1 + tabPanes.length) % tabPanes.length;
|
|
141
|
-
studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}, "Prev tab"), /* @__PURE__ */ React__default.default.createElement(antd.Button, {
|
|
145
|
-
style: { width: "100%" },
|
|
146
|
-
onClick: () => {
|
|
147
|
-
if (tabPanes.length > 0) {
|
|
148
|
-
const nextTabPos = (currTabPos + 1) % tabPanes.length;
|
|
149
|
-
studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });
|
|
131
|
+
return /* @__PURE__ */ React__default.default.createElement(
|
|
132
|
+
"div",
|
|
133
|
+
{
|
|
134
|
+
style: {
|
|
135
|
+
width: "100%",
|
|
136
|
+
display: "flex",
|
|
137
|
+
flexDirection: "row",
|
|
138
|
+
gap: "10px",
|
|
139
|
+
justifyContent: "space-between"
|
|
150
140
|
}
|
|
151
|
-
}
|
|
152
|
-
|
|
141
|
+
},
|
|
142
|
+
/* @__PURE__ */ React__default.default.createElement(
|
|
143
|
+
antd.Button,
|
|
144
|
+
{
|
|
145
|
+
style: { width: "100%" },
|
|
146
|
+
onClick: () => {
|
|
147
|
+
if (tabPanes.length > 0) {
|
|
148
|
+
const prevTabPos = (currTabPos - 1 + tabPanes.length) % tabPanes.length;
|
|
149
|
+
studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
"Prev tab"
|
|
154
|
+
),
|
|
155
|
+
/* @__PURE__ */ React__default.default.createElement(
|
|
156
|
+
antd.Button,
|
|
157
|
+
{
|
|
158
|
+
style: { width: "100%" },
|
|
159
|
+
onClick: () => {
|
|
160
|
+
if (tabPanes.length > 0) {
|
|
161
|
+
const nextTabPos = (currTabPos + 1) % tabPanes.length;
|
|
162
|
+
studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
"Next tab"
|
|
167
|
+
)
|
|
168
|
+
);
|
|
153
169
|
}
|
|
154
170
|
function OutlineMessage() {
|
|
155
171
|
return /* @__PURE__ */ React__default.default.createElement("div", null, "* To re-arrange tab panes, use the Outline panel");
|
|
@@ -302,13 +318,16 @@ const tabsMeta = {
|
|
|
302
318
|
return void 0;
|
|
303
319
|
};
|
|
304
320
|
const tabKey = generateNewKey();
|
|
305
|
-
studioOps.appendToSlot(
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
321
|
+
studioOps.appendToSlot(
|
|
322
|
+
{
|
|
323
|
+
type: "component",
|
|
324
|
+
name: "AntdTabPane",
|
|
325
|
+
props: {
|
|
326
|
+
key: tabKey
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
"children"
|
|
330
|
+
);
|
|
312
331
|
studioOps.updateProps({ activeKey: tabKey });
|
|
313
332
|
}
|
|
314
333
|
},
|
|
@@ -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 } from \"antd\";\nimport {\n default as AntdTabs,\n TabPaneProps,\n TabsProps as AntdTabsProps,\n} from \"antd/lib/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 {\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 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 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":["AntdTabs","registerComponent","React","traverseReactEltTree","Button"],"mappings":"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"}
|
|
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 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 {\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 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 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":["AntdTabs","registerComponent","React","traverseReactEltTree","Button"],"mappings":"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"}
|