@plasmicpkgs/antd5 0.0.301 → 0.0.302

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.
@@ -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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"}
@@ -1,12 +1,14 @@
1
+ import { Rate } from "antd";
1
2
  import React from "react";
2
3
  import { Registerable } from "./utils";
3
- import { Rate } from "antd";
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
- }): React.JSX.Element;
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
- if (!Array.isArray(value) || value.length === 0)
143
+ }
144
+ if (!Array.isArray(value) || value.length === 0) {
142
145
  return true;
143
- if (value.length < ps.count)
146
+ }
147
+ if (value.length < ps.count) {
144
148
  return `You need ${ps.count - value.length} more labels`;
145
- if (value.length > ps.count)
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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"}
@@ -265,8 +265,9 @@ function registerSegmented(loader) {
265
265
  return void 0;
266
266
  };
267
267
  const newKey = generateNewKey();
268
- if (!newKey)
268
+ if (!newKey) {
269
269
  return;
270
+ }
270
271
  studioOps.appendToSlot(getDefaultSlotOption(newKey), "optionsSlot");
271
272
  }
272
273
  },
@@ -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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"}
@@ -259,8 +259,9 @@ function registerSegmented(loader) {
259
259
  return void 0;
260
260
  };
261
261
  const newKey = generateNewKey();
262
- if (!newKey)
262
+ if (!newKey) {
263
263
  return;
264
+ }
264
265
  studioOps.appendToSlot(getDefaultSlotOption(newKey), "optionsSlot");
265
266
  }
266
267
  },
@@ -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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"}