@plasmicpkgs/antd5 0.0.301 → 0.0.303
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 +14 -7
- package/dist/antd.esm.js.map +1 -1
- package/dist/index.js +14 -7
- package/dist/index.js.map +1 -1
- package/dist/registerRate.d.ts +5 -3
- package/package.json +5 -5
- package/skinny/registerForm.cjs.js.map +1 -1
- package/skinny/registerForm.esm.js.map +1 -1
- package/skinny/registerRate.cjs.js +13 -7
- package/skinny/registerRate.cjs.js.map +1 -1
- package/skinny/registerRate.d.ts +5 -3
- package/skinny/registerRate.esm.js +13 -7
- package/skinny/registerRate.esm.js.map +1 -1
- package/skinny/registerSegmented.cjs.js +2 -1
- package/skinny/registerSegmented.cjs.js.map +1 -1
- package/skinny/registerSegmented.esm.js +2 -1
- package/skinny/registerSegmented.esm.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerRate.cjs.js","sources":["../src/registerRate.tsx"],"sourcesContent":["import React, { ReactElement, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { Rate } from \"antd\";\n\nexport function AntdRate(\n props: Omit<React.ComponentProps<typeof Rate>, \"tooltips\"> & {\n tooltips?: { label: string }[];\n multiCharacter?: boolean;\n symbols?: React.ReactElement;\n }\n) {\n const { character, count, tooltips, multiCharacter, symbols, ...rest } =\n props;\n\n const symbolsProp: ReactElement[] = useMemo(\n () =>\n (Array.isArray(symbols?.props?.children)\n ? symbols?.props?.children\n : [symbols]\n )\n ?.filter((c: any) => React.isValidElement(c))\n .map((c: ReactElement) => <>{c}</>) || [],\n [symbols]\n );\n const countProp = useMemo(() => {\n if (!multiCharacter) return count;\n return symbolsProp?.length;\n }, [count, multiCharacter, symbolsProp?.length]);\n\n const characterProp = useMemo(() => {\n if (!multiCharacter) return character || undefined;\n return symbolsProp?.length\n ? ({ index }: any) => symbolsProp[index]\n : character || undefined;\n }, [character, multiCharacter, symbolsProp]);\n\n return (\n <Rate\n tooltips={tooltips?.map((t) => t?.label)}\n count={countProp}\n character={characterProp}\n {...rest}\n />\n );\n}\n\nexport const rateComponentName = \"plasmic-antd5-rate\";\n\nexport function registerRate(loader?: Registerable) {\n registerComponentHelper(loader, AntdRate, {\n name: rateComponentName,\n displayName: \"Rate\",\n props: {\n allowClear: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n description: \"Clear the rating when the user clicks again\",\n },\n allowHalf: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: false,\n description: \"Allow fractional rating.\",\n },\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n character: {\n type: \"slot\",\n displayName: \"Symbol\",\n hidePlaceholder: true,\n hidden: (ps) => Boolean(ps.multiCharacter),\n },\n multiCharacter: {\n type: \"boolean\",\n displayName: \"Multi Symbol\",\n description:\n \"Allow different symbols for rating. (You can add these symbols in the component slots if this is enabled)\",\n advanced: true,\n },\n symbols: {\n type: \"slot\",\n displayName: \"Symbols\",\n hidePlaceholder: true,\n defaultValue: [\"1\", \"2\", \"3\", \"4\", \"5\"],\n hidden: (ps) => !ps.multiCharacter,\n },\n count: {\n type: \"number\",\n description: \"Rating count\",\n defaultValueHint: 5,\n advanced: true,\n hidden: (ps) => Boolean(ps.multiCharacter),\n },\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default rating\",\n defaultValueHint: 0,\n },\n disabled: {\n type: \"boolean\",\n description: \"Read-only rating\",\n defaultValueHint: false,\n },\n tooltips: {\n type: \"array\",\n description: \"Rating labels\",\n displayName: \"Labels\",\n advanced: true,\n hidden: (ps) => !ps.count,\n itemType: {\n type: \"object\",\n fields: {\n label: \"string\",\n },\n nameFunc: (value) => value.label,\n },\n validator: (value, ps) => {\n if (!ps.count) return true;\n if (!Array.isArray(value) || value.length === 0) return true;\n if (value.length < ps.count)\n return `You need ${ps.count - value.length} more labels`;\n if (value.length > ps.count)\n return \"You have too many labels. Some labels will not be used\";\n return true;\n },\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onHoverChange: {\n type: \"eventHandler\",\n advanced: true,\n description: \"Callback when an item is hovered\",\n argTypes: [],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n\n importPath: \"@plasmicpkgs/antd5/skinny/registerRate\",\n importName: \"AntdRate\",\n });\n}\n"],"names":["useMemo","_a","React","Rate","registerComponentHelper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerRate.cjs.js","sources":["../src/registerRate.tsx"],"sourcesContent":["import { Rate } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\ntype AntdRateProps = Omit<React.ComponentProps<typeof Rate>, \"tooltips\"> & {\n tooltips?: { label: string }[];\n multiCharacter?: boolean;\n symbols?: React.ReactElement;\n};\n\nexport function AntdRate(props: AntdRateProps) {\n const { character, count, tooltips, multiCharacter, symbols, ...rest } =\n props;\n\n const symbolsProp: ReactElement[] = useMemo(\n () =>\n (Array.isArray(symbols?.props?.children)\n ? symbols?.props?.children\n : [symbols]\n )\n ?.filter((c: any) => React.isValidElement(c))\n .map((c: ReactElement) => <>{c}</>) || [],\n [symbols]\n );\n const countProp = useMemo(() => {\n if (!multiCharacter) {\n return count;\n }\n return symbolsProp?.length;\n }, [count, multiCharacter, symbolsProp?.length]);\n\n const characterProp = useMemo(() => {\n if (!multiCharacter) {\n return character || undefined;\n }\n return symbolsProp?.length\n ? ({ index }: any) => symbolsProp[index]\n : character || undefined;\n }, [character, multiCharacter, symbolsProp]);\n\n return (\n <Rate\n tooltips={tooltips?.map((t) => t?.label)}\n count={countProp}\n character={characterProp}\n {...rest}\n />\n );\n}\n\nexport const rateComponentName = \"plasmic-antd5-rate\";\n\nexport function registerRate(loader?: Registerable) {\n registerComponentHelper(loader, AntdRate, {\n name: rateComponentName,\n displayName: \"Rate\",\n props: {\n allowClear: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n description: \"Clear the rating when the user clicks again\",\n },\n allowHalf: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: false,\n description: \"Allow fractional rating.\",\n },\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n character: {\n type: \"slot\",\n displayName: \"Symbol\",\n hidePlaceholder: true,\n hidden: (ps: AntdRateProps) => Boolean(ps.multiCharacter),\n },\n multiCharacter: {\n type: \"boolean\",\n displayName: \"Multi Symbol\",\n description:\n \"Allow different symbols for rating. (You can add these symbols in the component slots if this is enabled)\",\n advanced: true,\n },\n symbols: {\n type: \"slot\",\n displayName: \"Symbols\",\n hidePlaceholder: true,\n defaultValue: [\"1\", \"2\", \"3\", \"4\", \"5\"],\n hidden: (ps: AntdRateProps) => !ps.multiCharacter,\n },\n count: {\n type: \"number\",\n description: \"Rating count\",\n defaultValueHint: 5,\n advanced: true,\n hidden: (ps: AntdRateProps) => Boolean(ps.multiCharacter),\n },\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default rating\",\n defaultValueHint: 0,\n },\n disabled: {\n type: \"boolean\",\n description: \"Read-only rating\",\n defaultValueHint: false,\n },\n tooltips: {\n type: \"array\",\n description: \"Rating labels\",\n displayName: \"Labels\",\n advanced: true,\n hidden: (ps: AntdRateProps) => !ps.count,\n itemType: {\n type: \"object\",\n fields: {\n label: \"string\",\n },\n nameFunc: (value: any) => value.label,\n },\n validator: (value: any, ps: any) => {\n if (!ps.count) {\n return true;\n }\n if (!Array.isArray(value) || value.length === 0) {\n return true;\n }\n if (value.length < ps.count) {\n return `You need ${ps.count - value.length} more labels`;\n }\n if (value.length > ps.count) {\n return \"You have too many labels. Some labels will not be used\";\n }\n return true;\n },\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onHoverChange: {\n type: \"eventHandler\",\n advanced: true,\n description: \"Callback when an item is hovered\",\n argTypes: [],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n\n importPath: \"@plasmicpkgs/antd5/skinny/registerRate\",\n importName: \"AntdRate\",\n });\n}\n"],"names":["useMemo","_a","React","Rate","registerComponentHelper"],"mappings":"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"}
|
package/skinny/registerRate.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import { Rate } from "antd";
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { Registerable } from "./utils";
|
|
3
|
-
|
|
4
|
-
export declare function AntdRate(props: Omit<React.ComponentProps<typeof Rate>, "tooltips"> & {
|
|
4
|
+
type AntdRateProps = Omit<React.ComponentProps<typeof Rate>, "tooltips"> & {
|
|
5
5
|
tooltips?: {
|
|
6
6
|
label: string;
|
|
7
7
|
}[];
|
|
8
8
|
multiCharacter?: boolean;
|
|
9
9
|
symbols?: React.ReactElement;
|
|
10
|
-
}
|
|
10
|
+
};
|
|
11
|
+
export declare function AntdRate(props: AntdRateProps): React.JSX.Element;
|
|
11
12
|
export declare const rateComponentName = "plasmic-antd5-rate";
|
|
12
13
|
export declare function registerRate(loader?: Registerable): void;
|
|
14
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { Rate } from 'antd';
|
|
1
2
|
import React, { useMemo } from 'react';
|
|
2
3
|
import { r as registerComponentHelper } from './utils-5ebcaa63.esm.js';
|
|
3
|
-
import { Rate } from 'antd';
|
|
4
4
|
import '@plasmicapp/host/registerComponent';
|
|
5
5
|
import '@plasmicapp/host/registerGlobalContext';
|
|
6
6
|
|
|
@@ -42,13 +42,15 @@ function AntdRate(props) {
|
|
|
42
42
|
[symbols]
|
|
43
43
|
);
|
|
44
44
|
const countProp = useMemo(() => {
|
|
45
|
-
if (!multiCharacter)
|
|
45
|
+
if (!multiCharacter) {
|
|
46
46
|
return count;
|
|
47
|
+
}
|
|
47
48
|
return symbolsProp == null ? void 0 : symbolsProp.length;
|
|
48
49
|
}, [count, multiCharacter, symbolsProp == null ? void 0 : symbolsProp.length]);
|
|
49
50
|
const characterProp = useMemo(() => {
|
|
50
|
-
if (!multiCharacter)
|
|
51
|
+
if (!multiCharacter) {
|
|
51
52
|
return character || void 0;
|
|
53
|
+
}
|
|
52
54
|
return (symbolsProp == null ? void 0 : symbolsProp.length) ? ({ index }) => symbolsProp[index] : character || void 0;
|
|
53
55
|
}, [character, multiCharacter, symbolsProp]);
|
|
54
56
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -136,14 +138,18 @@ function registerRate(loader) {
|
|
|
136
138
|
nameFunc: (value) => value.label
|
|
137
139
|
},
|
|
138
140
|
validator: (value, ps) => {
|
|
139
|
-
if (!ps.count)
|
|
141
|
+
if (!ps.count) {
|
|
140
142
|
return true;
|
|
141
|
-
|
|
143
|
+
}
|
|
144
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
142
145
|
return true;
|
|
143
|
-
|
|
146
|
+
}
|
|
147
|
+
if (value.length < ps.count) {
|
|
144
148
|
return `You need ${ps.count - value.length} more labels`;
|
|
145
|
-
|
|
149
|
+
}
|
|
150
|
+
if (value.length > ps.count) {
|
|
146
151
|
return "You have too many labels. Some labels will not be used";
|
|
152
|
+
}
|
|
147
153
|
return true;
|
|
148
154
|
}
|
|
149
155
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerRate.esm.js","sources":["../src/registerRate.tsx"],"sourcesContent":["import React, { ReactElement, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { Rate } from \"antd\";\n\nexport function AntdRate(\n props: Omit<React.ComponentProps<typeof Rate>, \"tooltips\"> & {\n tooltips?: { label: string }[];\n multiCharacter?: boolean;\n symbols?: React.ReactElement;\n }\n) {\n const { character, count, tooltips, multiCharacter, symbols, ...rest } =\n props;\n\n const symbolsProp: ReactElement[] = useMemo(\n () =>\n (Array.isArray(symbols?.props?.children)\n ? symbols?.props?.children\n : [symbols]\n )\n ?.filter((c: any) => React.isValidElement(c))\n .map((c: ReactElement) => <>{c}</>) || [],\n [symbols]\n );\n const countProp = useMemo(() => {\n if (!multiCharacter) return count;\n return symbolsProp?.length;\n }, [count, multiCharacter, symbolsProp?.length]);\n\n const characterProp = useMemo(() => {\n if (!multiCharacter) return character || undefined;\n return symbolsProp?.length\n ? ({ index }: any) => symbolsProp[index]\n : character || undefined;\n }, [character, multiCharacter, symbolsProp]);\n\n return (\n <Rate\n tooltips={tooltips?.map((t) => t?.label)}\n count={countProp}\n character={characterProp}\n {...rest}\n />\n );\n}\n\nexport const rateComponentName = \"plasmic-antd5-rate\";\n\nexport function registerRate(loader?: Registerable) {\n registerComponentHelper(loader, AntdRate, {\n name: rateComponentName,\n displayName: \"Rate\",\n props: {\n allowClear: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n description: \"Clear the rating when the user clicks again\",\n },\n allowHalf: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: false,\n description: \"Allow fractional rating.\",\n },\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n character: {\n type: \"slot\",\n displayName: \"Symbol\",\n hidePlaceholder: true,\n hidden: (ps) => Boolean(ps.multiCharacter),\n },\n multiCharacter: {\n type: \"boolean\",\n displayName: \"Multi Symbol\",\n description:\n \"Allow different symbols for rating. (You can add these symbols in the component slots if this is enabled)\",\n advanced: true,\n },\n symbols: {\n type: \"slot\",\n displayName: \"Symbols\",\n hidePlaceholder: true,\n defaultValue: [\"1\", \"2\", \"3\", \"4\", \"5\"],\n hidden: (ps) => !ps.multiCharacter,\n },\n count: {\n type: \"number\",\n description: \"Rating count\",\n defaultValueHint: 5,\n advanced: true,\n hidden: (ps) => Boolean(ps.multiCharacter),\n },\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default rating\",\n defaultValueHint: 0,\n },\n disabled: {\n type: \"boolean\",\n description: \"Read-only rating\",\n defaultValueHint: false,\n },\n tooltips: {\n type: \"array\",\n description: \"Rating labels\",\n displayName: \"Labels\",\n advanced: true,\n hidden: (ps) => !ps.count,\n itemType: {\n type: \"object\",\n fields: {\n label: \"string\",\n },\n nameFunc: (value) => value.label,\n },\n validator: (value, ps) => {\n if (!ps.count) return true;\n if (!Array.isArray(value) || value.length === 0) return true;\n if (value.length < ps.count)\n return `You need ${ps.count - value.length} more labels`;\n if (value.length > ps.count)\n return \"You have too many labels. Some labels will not be used\";\n return true;\n },\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onHoverChange: {\n type: \"eventHandler\",\n advanced: true,\n description: \"Callback when an item is hovered\",\n argTypes: [],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n\n importPath: \"@plasmicpkgs/antd5/skinny/registerRate\",\n importName: \"AntdRate\",\n });\n}\n"],"names":["_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerRate.esm.js","sources":["../src/registerRate.tsx"],"sourcesContent":["import { Rate } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\ntype AntdRateProps = Omit<React.ComponentProps<typeof Rate>, \"tooltips\"> & {\n tooltips?: { label: string }[];\n multiCharacter?: boolean;\n symbols?: React.ReactElement;\n};\n\nexport function AntdRate(props: AntdRateProps) {\n const { character, count, tooltips, multiCharacter, symbols, ...rest } =\n props;\n\n const symbolsProp: ReactElement[] = useMemo(\n () =>\n (Array.isArray(symbols?.props?.children)\n ? symbols?.props?.children\n : [symbols]\n )\n ?.filter((c: any) => React.isValidElement(c))\n .map((c: ReactElement) => <>{c}</>) || [],\n [symbols]\n );\n const countProp = useMemo(() => {\n if (!multiCharacter) {\n return count;\n }\n return symbolsProp?.length;\n }, [count, multiCharacter, symbolsProp?.length]);\n\n const characterProp = useMemo(() => {\n if (!multiCharacter) {\n return character || undefined;\n }\n return symbolsProp?.length\n ? ({ index }: any) => symbolsProp[index]\n : character || undefined;\n }, [character, multiCharacter, symbolsProp]);\n\n return (\n <Rate\n tooltips={tooltips?.map((t) => t?.label)}\n count={countProp}\n character={characterProp}\n {...rest}\n />\n );\n}\n\nexport const rateComponentName = \"plasmic-antd5-rate\";\n\nexport function registerRate(loader?: Registerable) {\n registerComponentHelper(loader, AntdRate, {\n name: rateComponentName,\n displayName: \"Rate\",\n props: {\n allowClear: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n description: \"Clear the rating when the user clicks again\",\n },\n allowHalf: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: false,\n description: \"Allow fractional rating.\",\n },\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n character: {\n type: \"slot\",\n displayName: \"Symbol\",\n hidePlaceholder: true,\n hidden: (ps: AntdRateProps) => Boolean(ps.multiCharacter),\n },\n multiCharacter: {\n type: \"boolean\",\n displayName: \"Multi Symbol\",\n description:\n \"Allow different symbols for rating. (You can add these symbols in the component slots if this is enabled)\",\n advanced: true,\n },\n symbols: {\n type: \"slot\",\n displayName: \"Symbols\",\n hidePlaceholder: true,\n defaultValue: [\"1\", \"2\", \"3\", \"4\", \"5\"],\n hidden: (ps: AntdRateProps) => !ps.multiCharacter,\n },\n count: {\n type: \"number\",\n description: \"Rating count\",\n defaultValueHint: 5,\n advanced: true,\n hidden: (ps: AntdRateProps) => Boolean(ps.multiCharacter),\n },\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default rating\",\n defaultValueHint: 0,\n },\n disabled: {\n type: \"boolean\",\n description: \"Read-only rating\",\n defaultValueHint: false,\n },\n tooltips: {\n type: \"array\",\n description: \"Rating labels\",\n displayName: \"Labels\",\n advanced: true,\n hidden: (ps: AntdRateProps) => !ps.count,\n itemType: {\n type: \"object\",\n fields: {\n label: \"string\",\n },\n nameFunc: (value: any) => value.label,\n },\n validator: (value: any, ps: any) => {\n if (!ps.count) {\n return true;\n }\n if (!Array.isArray(value) || value.length === 0) {\n return true;\n }\n if (value.length < ps.count) {\n return `You need ${ps.count - value.length} more labels`;\n }\n if (value.length > ps.count) {\n return \"You have too many labels. Some labels will not be used\";\n }\n return true;\n },\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onHoverChange: {\n type: \"eventHandler\",\n advanced: true,\n description: \"Callback when an item is hovered\",\n argTypes: [],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n\n importPath: \"@plasmicpkgs/antd5/skinny/registerRate\",\n importName: \"AntdRate\",\n });\n}\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSegmented.cjs.js","sources":["../src/registerSegmented.tsx"],"sourcesContent":["import type { PlasmicElement } from \"@plasmicapp/host\";\nimport { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Segmented } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport type AntdSegmentedOptionProps = {\n value: string;\n children: React.ReactNode;\n};\n\nexport type AntdSegmentedProps = Omit<\n React.ComponentProps<typeof Segmented>,\n \"options\"\n> & {\n options?: { label: string; value: string }[];\n optionsSlot?: ReactElement; // options with more than just text\n useSlotOptions: boolean;\n};\n\nexport function AntdSegmented(props: AntdSegmentedProps) {\n const {\n optionsSlot,\n options: optionLabelObjs,\n useSlotOptions,\n ...rest\n } = props;\n\n const options = useMemo(() => {\n // segment labels with text and more\n if (useSlotOptions) {\n const optionElts =\n (optionsSlot?.type as any)?.name == AntdSegmentedOption.name\n ? [optionsSlot]\n : optionsSlot?.props.children;\n return optionElts\n ?.filter(\n (el: any) =>\n React.isValidElement(el) &&\n (el.type as any)?.name === AntdSegmentedOption.name\n )\n .map((el: ReactElement<AntdSegmentedOptionProps>) => ({\n value: el.props.value,\n label: <>{el.props.children}</>,\n }));\n }\n\n // segment labels with text only\n return optionLabelObjs?.filter((l) => l.label && l.value) || [];\n }, [optionsSlot, useSlotOptions, optionLabelObjs]);\n\n return <Segmented options={options} {...rest} />;\n}\nexport function AntdSegmentedOption(props: AntdSegmentedOptionProps) {\n return <>{props.children}</>;\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange options, use the Outline panel</div>;\n}\n\nfunction getValueOptions(props: AntdSegmentedProps) {\n if (props.useSlotOptions) {\n const res = new Set<string>();\n traverseReactEltTree(props.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt.props?.value) {\n res.add(elt.props?.value);\n }\n });\n return Array.from(res.keys());\n } else {\n return (\n props.options?.filter((l) => l.label && l.value).map((l) => l.value) || []\n );\n }\n}\n\nfunction getDefaultSlotOption(key: number | string): PlasmicElement {\n return {\n type: \"component\",\n name: segmentedOptionComponentName,\n props: {\n value: `Option ${key}`,\n children: {\n type: \"hbox\",\n styles: {\n columnGap: \"5px\",\n justifyContent: \"center\",\n },\n children: [\n {\n type: \"img\",\n styles: {\n opacity: 0.5,\n objectFit: \"contain\",\n },\n src: \"https://static1.plasmic.app/home-outlined.svg\",\n },\n {\n type: \"text\",\n value: `Option ${key}`,\n styles: {\n width: \"auto\",\n },\n },\n ],\n },\n },\n };\n}\n\nexport const segmentedComponentName = \"plasmic-antd5-segmented\";\nexport const segmentedOptionComponentName = \"plasmic-antd5-segmented-option\";\n\nexport function registerSegmented(loader?: Registerable) {\n registerComponentHelper(loader, AntdSegmentedOption, {\n name: segmentedOptionComponentName,\n displayName: \"Segmented Option\",\n props: {\n value: {\n type: \"string\",\n displayName: \"Name\",\n description: \"Name of the segment\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmentedOption\",\n parentComponentName: segmentedComponentName,\n });\n\n registerComponentHelper(loader, AntdSegmented, {\n name: segmentedComponentName,\n displayName: \"Segmented\",\n props: {\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n description: `Set the size of segments`,\n options: [\"large\", \"middle\", \"small\"],\n },\n value: {\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n type: \"choice\",\n options: getValueOptions,\n displayName: \"Selected option\",\n description: `Default selected option`,\n hidden: (ps) => !ps.options,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n description: `Disable all segments`,\n },\n block: {\n type: \"boolean\",\n displayName: \"Fill spacing\",\n defaultValueHint: false,\n description: `Fill the container element, with all segments equally spaced`,\n },\n useSlotOptions: {\n type: \"boolean\",\n defaultValue: false,\n advanced: true,\n description: \"Add icons, avatars, images, and more in option labels\",\n },\n options: {\n type: \"array\",\n hidden: (ps) => ps.useSlotOptions,\n validator: (value, ps) => {\n if (ps.useSlotOptions) {\n return true;\n }\n const badOptions = value\n .map((v, i) => (!v.value || !v.label ? i + 1 : undefined))\n .filter((i) => i);\n if (badOptions.length > 0) {\n return `Options at position ${badOptions.join(\n \", \"\n )} are missing label or value`;\n }\n return true;\n },\n itemType: {\n type: \"object\",\n nameFunc: (item) => item.label,\n fields: {\n label: {\n type: \"string\",\n required: true,\n },\n value: {\n type: \"string\",\n required: true,\n },\n },\n },\n defaultValue: [\n {\n label: \"Option 1\",\n value: \"Option 1\",\n },\n {\n label: \"Option 2\",\n value: \"Option 2\",\n },\n {\n label: \"Option 3\",\n value: \"Option 3\",\n },\n ],\n },\n optionsSlot: {\n type: \"slot\",\n displayName: \"Options\",\n allowedComponents: [segmentedOptionComponentName],\n hidden: (ps) => !ps.useSlotOptions,\n defaultValue: [getDefaultSlotOption(1), getDefaultSlotOption(2)],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n {\n type: \"button-action\",\n label: \"Add new option\",\n hidden: (ps) => !ps.useSlotOptions,\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingValues = new Set<string>();\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n existingValues.add(elt.props.value);\n }\n });\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingValues.size + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n if (\n !existingValues.has(strKey) &&\n !existingValues.has(`Option ${strKey}`)\n ) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const newKey = generateNewKey();\n if (!newKey) return;\n studioOps.appendToSlot(getDefaultSlotOption(newKey), \"optionsSlot\");\n },\n },\n {\n type: \"button-action\",\n hidden: (ps) => !ps.value || !ps.useSlotOptions,\n label: \"Delete current option\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const options: string[] = [];\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n options.push(elt.props.value);\n }\n });\n\n const value = componentProps.value;\n const currPos = options.findIndex((opt) => {\n return opt === value;\n });\n\n if (currPos !== -1) {\n studioOps.removeFromSlotAt(currPos, \"optionsSlot\");\n if (options.length - 1 > 0) {\n const prevPos = (currPos - 1 + options.length) % options.length;\n studioOps.updateProps({ value: options[prevPos] });\n }\n }\n },\n },\n\n {\n type: \"custom-action\",\n hidden: (ps) => !ps.useSlotOptions,\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmented\",\n });\n}\n"],"names":["useMemo","_a","React","Segmented","traverseReactEltTree","registerComponentHelper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerSegmented.cjs.js","sources":["../src/registerSegmented.tsx"],"sourcesContent":["import type { PlasmicElement } from \"@plasmicapp/host\";\nimport { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Segmented } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport type AntdSegmentedOptionProps = {\n value: string;\n children: React.ReactNode;\n};\n\nexport type AntdSegmentedProps = Omit<\n React.ComponentProps<typeof Segmented>,\n \"options\"\n> & {\n options?: { label: string; value: string }[];\n optionsSlot?: ReactElement; // options with more than just text\n useSlotOptions: boolean;\n};\n\nexport function AntdSegmented(props: AntdSegmentedProps) {\n const {\n optionsSlot,\n options: optionLabelObjs,\n useSlotOptions,\n ...rest\n } = props;\n\n const options = useMemo(() => {\n // segment labels with text and more\n if (useSlotOptions) {\n const optionElts =\n (optionsSlot?.type as any)?.name == AntdSegmentedOption.name\n ? [optionsSlot]\n : optionsSlot?.props.children;\n return optionElts\n ?.filter(\n (el: any) =>\n React.isValidElement(el) &&\n (el.type as any)?.name === AntdSegmentedOption.name\n )\n .map((el: ReactElement<AntdSegmentedOptionProps>) => ({\n value: el.props.value,\n label: <>{el.props.children}</>,\n }));\n }\n\n // segment labels with text only\n return optionLabelObjs?.filter((l) => l.label && l.value) || [];\n }, [optionsSlot, useSlotOptions, optionLabelObjs]);\n\n return <Segmented options={options} {...rest} />;\n}\nexport function AntdSegmentedOption(props: AntdSegmentedOptionProps) {\n return <>{props.children}</>;\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange options, use the Outline panel</div>;\n}\n\nfunction getValueOptions(props: AntdSegmentedProps) {\n if (props.useSlotOptions) {\n const res = new Set<string>();\n traverseReactEltTree(props.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt.props?.value) {\n res.add(elt.props?.value);\n }\n });\n return Array.from(res.keys());\n } else {\n return (\n props.options?.filter((l) => l.label && l.value).map((l) => l.value) || []\n );\n }\n}\n\nfunction getDefaultSlotOption(key: number | string): PlasmicElement {\n return {\n type: \"component\",\n name: segmentedOptionComponentName,\n props: {\n value: `Option ${key}`,\n children: {\n type: \"hbox\",\n styles: {\n columnGap: \"5px\",\n justifyContent: \"center\",\n },\n children: [\n {\n type: \"img\",\n styles: {\n opacity: 0.5,\n objectFit: \"contain\",\n },\n src: \"https://static1.plasmic.app/home-outlined.svg\",\n },\n {\n type: \"text\",\n value: `Option ${key}`,\n styles: {\n width: \"auto\",\n },\n },\n ],\n },\n },\n };\n}\n\nexport const segmentedComponentName = \"plasmic-antd5-segmented\";\nexport const segmentedOptionComponentName = \"plasmic-antd5-segmented-option\";\n\nexport function registerSegmented(loader?: Registerable) {\n registerComponentHelper(loader, AntdSegmentedOption, {\n name: segmentedOptionComponentName,\n displayName: \"Segmented Option\",\n props: {\n value: {\n type: \"string\",\n displayName: \"Name\",\n description: \"Name of the segment\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmentedOption\",\n parentComponentName: segmentedComponentName,\n });\n\n registerComponentHelper(loader, AntdSegmented, {\n name: segmentedComponentName,\n displayName: \"Segmented\",\n props: {\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n description: `Set the size of segments`,\n options: [\"large\", \"middle\", \"small\"],\n },\n value: {\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n type: \"choice\",\n options: getValueOptions,\n displayName: \"Selected option\",\n description: `Default selected option`,\n hidden: (ps: AntdSegmentedProps) => !ps.options,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n description: `Disable all segments`,\n },\n block: {\n type: \"boolean\",\n displayName: \"Fill spacing\",\n defaultValueHint: false,\n description: `Fill the container element, with all segments equally spaced`,\n },\n useSlotOptions: {\n type: \"boolean\",\n defaultValue: false,\n advanced: true,\n description: \"Add icons, avatars, images, and more in option labels\",\n },\n options: {\n type: \"array\",\n hidden: (ps: AntdSegmentedProps) => ps.useSlotOptions,\n validator: (value: any[], ps: any) => {\n if (ps.useSlotOptions) {\n return true;\n }\n const badOptions = value\n .map((v, i) => (!v.value || !v.label ? i + 1 : undefined))\n .filter((i) => i);\n if (badOptions.length > 0) {\n return `Options at position ${badOptions.join(\n \", \"\n )} are missing label or value`;\n }\n return true;\n },\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label,\n fields: {\n label: {\n type: \"string\",\n required: true,\n },\n value: {\n type: \"string\",\n required: true,\n },\n },\n },\n defaultValue: [\n {\n label: \"Option 1\",\n value: \"Option 1\",\n },\n {\n label: \"Option 2\",\n value: \"Option 2\",\n },\n {\n label: \"Option 3\",\n value: \"Option 3\",\n },\n ],\n },\n optionsSlot: {\n type: \"slot\",\n displayName: \"Options\",\n allowedComponents: [segmentedOptionComponentName],\n hidden: (ps: AntdSegmentedProps) => !ps.useSlotOptions,\n defaultValue: [getDefaultSlotOption(1), getDefaultSlotOption(2)],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n {\n type: \"button-action\",\n label: \"Add new option\",\n hidden: (ps) => !ps.useSlotOptions,\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingValues = new Set<string>();\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n existingValues.add(elt.props.value);\n }\n });\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingValues.size + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n if (\n !existingValues.has(strKey) &&\n !existingValues.has(`Option ${strKey}`)\n ) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const newKey = generateNewKey();\n if (!newKey) {\n return;\n }\n studioOps.appendToSlot(getDefaultSlotOption(newKey), \"optionsSlot\");\n },\n },\n {\n type: \"button-action\",\n hidden: (ps) => !ps.value || !ps.useSlotOptions,\n label: \"Delete current option\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const options: string[] = [];\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n options.push(elt.props.value);\n }\n });\n\n const value = componentProps.value;\n const currPos = options.findIndex((opt) => {\n return opt === value;\n });\n\n if (currPos !== -1) {\n studioOps.removeFromSlotAt(currPos, \"optionsSlot\");\n if (options.length - 1 > 0) {\n const prevPos = (currPos - 1 + options.length) % options.length;\n studioOps.updateProps({ value: options[prevPos] });\n }\n }\n },\n },\n\n {\n type: \"custom-action\",\n hidden: (ps) => !ps.useSlotOptions,\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmented\",\n });\n}\n"],"names":["useMemo","_a","React","Segmented","traverseReactEltTree","registerComponentHelper"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSegmented.esm.js","sources":["../src/registerSegmented.tsx"],"sourcesContent":["import type { PlasmicElement } from \"@plasmicapp/host\";\nimport { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Segmented } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport type AntdSegmentedOptionProps = {\n value: string;\n children: React.ReactNode;\n};\n\nexport type AntdSegmentedProps = Omit<\n React.ComponentProps<typeof Segmented>,\n \"options\"\n> & {\n options?: { label: string; value: string }[];\n optionsSlot?: ReactElement; // options with more than just text\n useSlotOptions: boolean;\n};\n\nexport function AntdSegmented(props: AntdSegmentedProps) {\n const {\n optionsSlot,\n options: optionLabelObjs,\n useSlotOptions,\n ...rest\n } = props;\n\n const options = useMemo(() => {\n // segment labels with text and more\n if (useSlotOptions) {\n const optionElts =\n (optionsSlot?.type as any)?.name == AntdSegmentedOption.name\n ? [optionsSlot]\n : optionsSlot?.props.children;\n return optionElts\n ?.filter(\n (el: any) =>\n React.isValidElement(el) &&\n (el.type as any)?.name === AntdSegmentedOption.name\n )\n .map((el: ReactElement<AntdSegmentedOptionProps>) => ({\n value: el.props.value,\n label: <>{el.props.children}</>,\n }));\n }\n\n // segment labels with text only\n return optionLabelObjs?.filter((l) => l.label && l.value) || [];\n }, [optionsSlot, useSlotOptions, optionLabelObjs]);\n\n return <Segmented options={options} {...rest} />;\n}\nexport function AntdSegmentedOption(props: AntdSegmentedOptionProps) {\n return <>{props.children}</>;\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange options, use the Outline panel</div>;\n}\n\nfunction getValueOptions(props: AntdSegmentedProps) {\n if (props.useSlotOptions) {\n const res = new Set<string>();\n traverseReactEltTree(props.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt.props?.value) {\n res.add(elt.props?.value);\n }\n });\n return Array.from(res.keys());\n } else {\n return (\n props.options?.filter((l) => l.label && l.value).map((l) => l.value) || []\n );\n }\n}\n\nfunction getDefaultSlotOption(key: number | string): PlasmicElement {\n return {\n type: \"component\",\n name: segmentedOptionComponentName,\n props: {\n value: `Option ${key}`,\n children: {\n type: \"hbox\",\n styles: {\n columnGap: \"5px\",\n justifyContent: \"center\",\n },\n children: [\n {\n type: \"img\",\n styles: {\n opacity: 0.5,\n objectFit: \"contain\",\n },\n src: \"https://static1.plasmic.app/home-outlined.svg\",\n },\n {\n type: \"text\",\n value: `Option ${key}`,\n styles: {\n width: \"auto\",\n },\n },\n ],\n },\n },\n };\n}\n\nexport const segmentedComponentName = \"plasmic-antd5-segmented\";\nexport const segmentedOptionComponentName = \"plasmic-antd5-segmented-option\";\n\nexport function registerSegmented(loader?: Registerable) {\n registerComponentHelper(loader, AntdSegmentedOption, {\n name: segmentedOptionComponentName,\n displayName: \"Segmented Option\",\n props: {\n value: {\n type: \"string\",\n displayName: \"Name\",\n description: \"Name of the segment\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmentedOption\",\n parentComponentName: segmentedComponentName,\n });\n\n registerComponentHelper(loader, AntdSegmented, {\n name: segmentedComponentName,\n displayName: \"Segmented\",\n props: {\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n description: `Set the size of segments`,\n options: [\"large\", \"middle\", \"small\"],\n },\n value: {\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n type: \"choice\",\n options: getValueOptions,\n displayName: \"Selected option\",\n description: `Default selected option`,\n hidden: (ps) => !ps.options,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n description: `Disable all segments`,\n },\n block: {\n type: \"boolean\",\n displayName: \"Fill spacing\",\n defaultValueHint: false,\n description: `Fill the container element, with all segments equally spaced`,\n },\n useSlotOptions: {\n type: \"boolean\",\n defaultValue: false,\n advanced: true,\n description: \"Add icons, avatars, images, and more in option labels\",\n },\n options: {\n type: \"array\",\n hidden: (ps) => ps.useSlotOptions,\n validator: (value, ps) => {\n if (ps.useSlotOptions) {\n return true;\n }\n const badOptions = value\n .map((v, i) => (!v.value || !v.label ? i + 1 : undefined))\n .filter((i) => i);\n if (badOptions.length > 0) {\n return `Options at position ${badOptions.join(\n \", \"\n )} are missing label or value`;\n }\n return true;\n },\n itemType: {\n type: \"object\",\n nameFunc: (item) => item.label,\n fields: {\n label: {\n type: \"string\",\n required: true,\n },\n value: {\n type: \"string\",\n required: true,\n },\n },\n },\n defaultValue: [\n {\n label: \"Option 1\",\n value: \"Option 1\",\n },\n {\n label: \"Option 2\",\n value: \"Option 2\",\n },\n {\n label: \"Option 3\",\n value: \"Option 3\",\n },\n ],\n },\n optionsSlot: {\n type: \"slot\",\n displayName: \"Options\",\n allowedComponents: [segmentedOptionComponentName],\n hidden: (ps) => !ps.useSlotOptions,\n defaultValue: [getDefaultSlotOption(1), getDefaultSlotOption(2)],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n {\n type: \"button-action\",\n label: \"Add new option\",\n hidden: (ps) => !ps.useSlotOptions,\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingValues = new Set<string>();\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n existingValues.add(elt.props.value);\n }\n });\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingValues.size + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n if (\n !existingValues.has(strKey) &&\n !existingValues.has(`Option ${strKey}`)\n ) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const newKey = generateNewKey();\n if (!newKey) return;\n studioOps.appendToSlot(getDefaultSlotOption(newKey), \"optionsSlot\");\n },\n },\n {\n type: \"button-action\",\n hidden: (ps) => !ps.value || !ps.useSlotOptions,\n label: \"Delete current option\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const options: string[] = [];\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n options.push(elt.props.value);\n }\n });\n\n const value = componentProps.value;\n const currPos = options.findIndex((opt) => {\n return opt === value;\n });\n\n if (currPos !== -1) {\n studioOps.removeFromSlotAt(currPos, \"optionsSlot\");\n if (options.length - 1 > 0) {\n const prevPos = (currPos - 1 + options.length) % options.length;\n studioOps.updateProps({ value: options[prevPos] });\n }\n }\n },\n },\n\n {\n type: \"custom-action\",\n hidden: (ps) => !ps.useSlotOptions,\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmented\",\n });\n}\n"],"names":["_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerSegmented.esm.js","sources":["../src/registerSegmented.tsx"],"sourcesContent":["import type { PlasmicElement } from \"@plasmicapp/host\";\nimport { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Segmented } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport type AntdSegmentedOptionProps = {\n value: string;\n children: React.ReactNode;\n};\n\nexport type AntdSegmentedProps = Omit<\n React.ComponentProps<typeof Segmented>,\n \"options\"\n> & {\n options?: { label: string; value: string }[];\n optionsSlot?: ReactElement; // options with more than just text\n useSlotOptions: boolean;\n};\n\nexport function AntdSegmented(props: AntdSegmentedProps) {\n const {\n optionsSlot,\n options: optionLabelObjs,\n useSlotOptions,\n ...rest\n } = props;\n\n const options = useMemo(() => {\n // segment labels with text and more\n if (useSlotOptions) {\n const optionElts =\n (optionsSlot?.type as any)?.name == AntdSegmentedOption.name\n ? [optionsSlot]\n : optionsSlot?.props.children;\n return optionElts\n ?.filter(\n (el: any) =>\n React.isValidElement(el) &&\n (el.type as any)?.name === AntdSegmentedOption.name\n )\n .map((el: ReactElement<AntdSegmentedOptionProps>) => ({\n value: el.props.value,\n label: <>{el.props.children}</>,\n }));\n }\n\n // segment labels with text only\n return optionLabelObjs?.filter((l) => l.label && l.value) || [];\n }, [optionsSlot, useSlotOptions, optionLabelObjs]);\n\n return <Segmented options={options} {...rest} />;\n}\nexport function AntdSegmentedOption(props: AntdSegmentedOptionProps) {\n return <>{props.children}</>;\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange options, use the Outline panel</div>;\n}\n\nfunction getValueOptions(props: AntdSegmentedProps) {\n if (props.useSlotOptions) {\n const res = new Set<string>();\n traverseReactEltTree(props.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt.props?.value) {\n res.add(elt.props?.value);\n }\n });\n return Array.from(res.keys());\n } else {\n return (\n props.options?.filter((l) => l.label && l.value).map((l) => l.value) || []\n );\n }\n}\n\nfunction getDefaultSlotOption(key: number | string): PlasmicElement {\n return {\n type: \"component\",\n name: segmentedOptionComponentName,\n props: {\n value: `Option ${key}`,\n children: {\n type: \"hbox\",\n styles: {\n columnGap: \"5px\",\n justifyContent: \"center\",\n },\n children: [\n {\n type: \"img\",\n styles: {\n opacity: 0.5,\n objectFit: \"contain\",\n },\n src: \"https://static1.plasmic.app/home-outlined.svg\",\n },\n {\n type: \"text\",\n value: `Option ${key}`,\n styles: {\n width: \"auto\",\n },\n },\n ],\n },\n },\n };\n}\n\nexport const segmentedComponentName = \"plasmic-antd5-segmented\";\nexport const segmentedOptionComponentName = \"plasmic-antd5-segmented-option\";\n\nexport function registerSegmented(loader?: Registerable) {\n registerComponentHelper(loader, AntdSegmentedOption, {\n name: segmentedOptionComponentName,\n displayName: \"Segmented Option\",\n props: {\n value: {\n type: \"string\",\n displayName: \"Name\",\n description: \"Name of the segment\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmentedOption\",\n parentComponentName: segmentedComponentName,\n });\n\n registerComponentHelper(loader, AntdSegmented, {\n name: segmentedComponentName,\n displayName: \"Segmented\",\n props: {\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n description: `Set the size of segments`,\n options: [\"large\", \"middle\", \"small\"],\n },\n value: {\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n type: \"choice\",\n options: getValueOptions,\n displayName: \"Selected option\",\n description: `Default selected option`,\n hidden: (ps: AntdSegmentedProps) => !ps.options,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n description: `Disable all segments`,\n },\n block: {\n type: \"boolean\",\n displayName: \"Fill spacing\",\n defaultValueHint: false,\n description: `Fill the container element, with all segments equally spaced`,\n },\n useSlotOptions: {\n type: \"boolean\",\n defaultValue: false,\n advanced: true,\n description: \"Add icons, avatars, images, and more in option labels\",\n },\n options: {\n type: \"array\",\n hidden: (ps: AntdSegmentedProps) => ps.useSlotOptions,\n validator: (value: any[], ps: any) => {\n if (ps.useSlotOptions) {\n return true;\n }\n const badOptions = value\n .map((v, i) => (!v.value || !v.label ? i + 1 : undefined))\n .filter((i) => i);\n if (badOptions.length > 0) {\n return `Options at position ${badOptions.join(\n \", \"\n )} are missing label or value`;\n }\n return true;\n },\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label,\n fields: {\n label: {\n type: \"string\",\n required: true,\n },\n value: {\n type: \"string\",\n required: true,\n },\n },\n },\n defaultValue: [\n {\n label: \"Option 1\",\n value: \"Option 1\",\n },\n {\n label: \"Option 2\",\n value: \"Option 2\",\n },\n {\n label: \"Option 3\",\n value: \"Option 3\",\n },\n ],\n },\n optionsSlot: {\n type: \"slot\",\n displayName: \"Options\",\n allowedComponents: [segmentedOptionComponentName],\n hidden: (ps: AntdSegmentedProps) => !ps.useSlotOptions,\n defaultValue: [getDefaultSlotOption(1), getDefaultSlotOption(2)],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n {\n type: \"button-action\",\n label: \"Add new option\",\n hidden: (ps) => !ps.useSlotOptions,\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingValues = new Set<string>();\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n existingValues.add(elt.props.value);\n }\n });\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingValues.size + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n if (\n !existingValues.has(strKey) &&\n !existingValues.has(`Option ${strKey}`)\n ) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const newKey = generateNewKey();\n if (!newKey) {\n return;\n }\n studioOps.appendToSlot(getDefaultSlotOption(newKey), \"optionsSlot\");\n },\n },\n {\n type: \"button-action\",\n hidden: (ps) => !ps.value || !ps.useSlotOptions,\n label: \"Delete current option\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const options: string[] = [];\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n options.push(elt.props.value);\n }\n });\n\n const value = componentProps.value;\n const currPos = options.findIndex((opt) => {\n return opt === value;\n });\n\n if (currPos !== -1) {\n studioOps.removeFromSlotAt(currPos, \"optionsSlot\");\n if (options.length - 1 > 0) {\n const prevPos = (currPos - 1 + options.length) % options.length;\n studioOps.updateProps({ value: options[prevPos] });\n }\n }\n },\n },\n\n {\n type: \"custom-action\",\n hidden: (ps) => !ps.useSlotOptions,\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmented\",\n });\n}\n"],"names":["_a"],"mappings":"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"}
|