@plasmicpkgs/plasmic-keen-slider 0.0.5 → 0.0.7

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.
@@ -280,7 +280,7 @@ var SliderWrapper = /*#__PURE__*/React.forwardRef(function SliderWrapper_(_ref5,
280
280
  className = _ref5.className,
281
281
  setControlContextData = _ref5.setControlContextData,
282
282
  props = _objectWithoutPropertiesLoose(_ref5, _excluded);
283
- setControlContextData == null ? void 0 : setControlContextData({
283
+ setControlContextData == null || setControlContextData({
284
284
  editingSlide: editingSlide
285
285
  });
286
286
  var _useKeenSlider = react.useKeenSlider(_extends({}, props), [ResizePlugin]),
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-keen-slider.cjs.development.js","sources":["../src/index.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button, Select } from \"antd\";\nimport React, { forwardRef, Ref, useEffect } from \"react\";\nimport { useKeenSlider, KeenSliderPlugin } from \"keen-slider/react\";\nimport composeRefs from \"@seznam/compose-react-refs\";\nimport { KeenSliderOptions } from \"keen-slider\";\n\nconst { Option } = Select;\n\nconst ResizePlugin: KeenSliderPlugin = (slider) => {\n const observer = new ResizeObserver(function () {\n slider.update();\n });\n\n slider.on(\"created\", () => {\n observer.observe(slider.container);\n });\n slider.on(\"destroyed\", () => {\n observer.unobserve(slider.container);\n });\n};\n\nfunction CurrentSlideDropdown({ componentProps, studioOps }: ActionProps<any>) {\n const editingSlide = componentProps.editingSlide ?? 0;\n const slidesCnt =\n componentProps.children.length ??\n (componentProps.children.type === \"img\" ? 1 : 0);\n\n const options = Array.from({ length: slidesCnt }, (_, i) => i).map((i) => {\n return <Option value={i.toString()}>Slide {i + 1}</Option>;\n });\n\n const handleChange = (value: string) => {\n const slideIdx = Number(value);\n studioOps.updateProps({ editingSlide: slideIdx % slidesCnt });\n };\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <div>Current slide:</div>\n <Select\n defaultValue={editingSlide.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={editingSlide.toString()}\n >\n {options}\n </Select>\n </div>\n );\n}\n\nfunction NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const slidesCnt = componentProps.children.length;\n const editingSlide = componentProps.editingSlide ?? 0;\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const prevSlide = (editingSlide - 1 + slidesCnt) % slidesCnt;\n studioOps.updateProps({ editingSlide: prevSlide });\n }}\n >\n Prev slide\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const nextSlide = (editingSlide + 1) % slidesCnt;\n studioOps.updateProps({ editingSlide: nextSlide });\n }}\n >\n Next slide\n </Button>\n </div>\n );\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n}\n\ninterface KeenSliderProps extends KeenSliderOptions {}\n\nexport const sliderMeta: CodeComponentMeta<KeenSliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider\",\n importName: \"Slider\",\n importPath: \"keen-slider\",\n actions: [\n {\n type: \"custom-action\",\n control: CurrentSlideDropdown,\n },\n {\n type: \"custom-action\",\n control: NavigateSlides,\n },\n {\n type: \"button-action\",\n label: \"Append new slide\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const slidesCnt = componentProps.children.length;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n },\n \"children\"\n );\n studioOps.updateProps({ editingSlide: slidesCnt });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n onClick: ({\n componentProps,\n contextData,\n studioOps,\n }: ActionProps<any>) => {\n const editingSlide = contextData.editingSlide ?? 0;\n studioOps.removeFromSlotAt(editingSlide, \"children\");\n const slidesCnt = componentProps.children.length - 1;\n studioOps.updateProps({\n editingSlide: (editingSlide - 1 + slidesCnt) % slidesCnt,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n props: {\n children: {\n type: \"slot\",\n defaultValue: [0, 1, 2].map((i) => ({\n type: \"vbox\",\n children: {\n type: \"img\",\n src:\n \"https://static1.plasmic.app/components/react-slick/slide\" +\n (i + 1) +\n \".png\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n })),\n },\n editingSlide: {\n displayName: \"Currently edited slide\",\n type: \"number\",\n description:\n \"Switch to the specified slide (first is 0). Only affects the editor, not the final page.\",\n defaultValueHint: 0,\n editOnly: true,\n hidden: () => true,\n },\n disabled: {\n displayName: \"Disabled\",\n type: \"boolean\",\n description: \"Disable or enable slider\",\n defaultValueHint: false,\n },\n drag: {\n displayName: \"Drag\",\n type: \"boolean\",\n description: \"Enables or disables mouse and touch control\",\n defaultValueHint: true,\n },\n dragSpeed: {\n displayName: \"Drag Speed\",\n type: \"number\",\n description:\n \"Set the speed that is applied to the slider when dragging it.\",\n defaultValueHint: 1,\n },\n initial: {\n displayName: \"Initial slide\",\n type: \"number\",\n description: \"Sets the index of initially visible slide\",\n defaultValueHint: 1,\n },\n loop: {\n displayName: \"Loop\",\n type: \"boolean\",\n description:\n \"Enable or disables carousel/loop functionality of the slider\",\n defaultValueHint: false,\n },\n\n mode: {\n displayName: \"Carousel mode\",\n type: \"choice\",\n options: [\"snap\", \"free\", \"free-snap\"],\n description: \"Sets the animation that is applied after a drag ends\",\n defaultValueHint: \"snap\",\n },\n renderMode: {\n displayName: \"Render mode\",\n type: \"choice\",\n options: [\"precision\", \"performance\", \"custom\"],\n description:\n \"It is possible that the render performance of the browser slows down, if you have slides with some complexity in markup and CSS. To counteract this problem, you can set this option to 'performance'. If you want to create your own renderer, you can set this options to 'custom'. Default is 'precision'.\",\n defaultValueHint: \"precision\",\n },\n rtl: {\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n\n rubberband: {\n displayName: \"Rubberband \",\n type: \"boolean\",\n description:\n \"Enables or disables rubberband behavior for dragging and animation after a drag.\",\n defaultValueHint: true,\n },\n slides: {\n displayName: \"Number of slides\",\n type: \"number\",\n description: \"Specifies number of slider \",\n },\n\n vertical: {\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n helpText:\n \"(Note: The height of the container must be defined if vertical is true)\",\n },\n },\n\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n};\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n {\n editingSlide,\n children,\n\n className,\n setControlContextData,\n ...props\n }: KeenSliderProps & {\n className?: string;\n editingSlide?: number;\n children?: any;\n setControlContextData?: (data: {\n editingSlide: number | undefined;\n }) => void;\n },\n userRef?: Ref<HTMLDivElement>\n) {\n setControlContextData?.({ editingSlide: editingSlide });\n const [sliderRef, instanceRef] = useKeenSlider<HTMLDivElement>(\n {\n ...props,\n },\n [ResizePlugin]\n );\n\n useEffect(() => {\n if (editingSlide !== undefined) {\n instanceRef.current!.moveToIdx(editingSlide);\n }\n }, [editingSlide]);\n\n return (\n <div className={className}>\n <div\n ref={composeRefs(sliderRef, userRef)}\n className=\"keen-slider\"\n {...props}\n style={{ height: \"100%\" }}\n >\n {React.Children.map(children, (child) =>\n React.cloneElement(child, {\n className: `keen-slider__slide ${className}`,\n })\n )}\n {children}\n </div>\n </div>\n );\n});\n\nexport function registerSlider(\n loader?: { registerComponent: typeof registerComponent },\n customSliderMeta?: CodeComponentMeta<KeenSliderOptions>\n) {\n if (loader) {\n loader.registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n } else {\n registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n }\n}\n"],"names":["Option","Select","ResizePlugin","slider","observer","ResizeObserver","update","on","observe","container","unobserve","CurrentSlideDropdown","componentProps","studioOps","editingSlide","slidesCnt","children","length","type","options","Array","from","_","i","map","React","value","toString","handleChange","slideIdx","Number","updateProps","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","NavigateSlides","Button","onClick","prevSlide","nextSlide","OutlineMessage","sliderMeta","name","displayName","importName","importPath","actions","control","label","appendToSlot","src","contextData","removeFromSlotAt","props","styles","maxWidth","description","defaultValueHint","editOnly","hidden","disabled","drag","dragSpeed","initial","loop","mode","renderMode","rtl","rubberband","slides","vertical","helpText","defaultStyles","SliderWrapper","forwardRef","SliderWrapper_","userRef","className","setControlContextData","useKeenSlider","sliderRef","instanceRef","useEffect","undefined","current","moveToIdx","ref","composeRefs","height","Children","child","cloneElement","registerSlider","loader","customSliderMeta","registerComponent"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-keen-slider.cjs.development.js","sources":["../src/index.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button, Select } from \"antd\";\nimport React, { forwardRef, Ref, useEffect } from \"react\";\nimport { useKeenSlider, KeenSliderPlugin } from \"keen-slider/react\";\nimport composeRefs from \"@seznam/compose-react-refs\";\nimport { KeenSliderOptions } from \"keen-slider\";\n\nconst { Option } = Select;\n\nconst ResizePlugin: KeenSliderPlugin = (slider) => {\n const observer = new ResizeObserver(function () {\n slider.update();\n });\n\n slider.on(\"created\", () => {\n observer.observe(slider.container);\n });\n slider.on(\"destroyed\", () => {\n observer.unobserve(slider.container);\n });\n};\n\nfunction CurrentSlideDropdown({ componentProps, studioOps }: ActionProps<any>) {\n const editingSlide = componentProps.editingSlide ?? 0;\n const slidesCnt =\n componentProps.children.length ??\n (componentProps.children.type === \"img\" ? 1 : 0);\n\n const options = Array.from({ length: slidesCnt }, (_, i) => i).map((i) => {\n return <Option value={i.toString()}>Slide {i + 1}</Option>;\n });\n\n const handleChange = (value: string) => {\n const slideIdx = Number(value);\n studioOps.updateProps({ editingSlide: slideIdx % slidesCnt });\n };\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <div>Current slide:</div>\n <Select\n defaultValue={editingSlide.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={editingSlide.toString()}\n >\n {options}\n </Select>\n </div>\n );\n}\n\nfunction NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const slidesCnt = componentProps.children.length;\n const editingSlide = componentProps.editingSlide ?? 0;\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const prevSlide = (editingSlide - 1 + slidesCnt) % slidesCnt;\n studioOps.updateProps({ editingSlide: prevSlide });\n }}\n >\n Prev slide\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const nextSlide = (editingSlide + 1) % slidesCnt;\n studioOps.updateProps({ editingSlide: nextSlide });\n }}\n >\n Next slide\n </Button>\n </div>\n );\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n}\n\ninterface KeenSliderProps extends KeenSliderOptions {}\n\nexport const sliderMeta: CodeComponentMeta<KeenSliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider\",\n importName: \"Slider\",\n importPath: \"keen-slider\",\n actions: [\n {\n type: \"custom-action\",\n control: CurrentSlideDropdown,\n },\n {\n type: \"custom-action\",\n control: NavigateSlides,\n },\n {\n type: \"button-action\",\n label: \"Append new slide\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const slidesCnt = componentProps.children.length;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n },\n \"children\"\n );\n studioOps.updateProps({ editingSlide: slidesCnt });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n onClick: ({\n componentProps,\n contextData,\n studioOps,\n }: ActionProps<any>) => {\n const editingSlide = contextData.editingSlide ?? 0;\n studioOps.removeFromSlotAt(editingSlide, \"children\");\n const slidesCnt = componentProps.children.length - 1;\n studioOps.updateProps({\n editingSlide: (editingSlide - 1 + slidesCnt) % slidesCnt,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n props: {\n children: {\n type: \"slot\",\n defaultValue: [0, 1, 2].map((i) => ({\n type: \"vbox\",\n children: {\n type: \"img\",\n src:\n \"https://static1.plasmic.app/components/react-slick/slide\" +\n (i + 1) +\n \".png\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n })),\n },\n editingSlide: {\n displayName: \"Currently edited slide\",\n type: \"number\",\n description:\n \"Switch to the specified slide (first is 0). Only affects the editor, not the final page.\",\n defaultValueHint: 0,\n editOnly: true,\n hidden: () => true,\n },\n disabled: {\n displayName: \"Disabled\",\n type: \"boolean\",\n description: \"Disable or enable slider\",\n defaultValueHint: false,\n },\n drag: {\n displayName: \"Drag\",\n type: \"boolean\",\n description: \"Enables or disables mouse and touch control\",\n defaultValueHint: true,\n },\n dragSpeed: {\n displayName: \"Drag Speed\",\n type: \"number\",\n description:\n \"Set the speed that is applied to the slider when dragging it.\",\n defaultValueHint: 1,\n },\n initial: {\n displayName: \"Initial slide\",\n type: \"number\",\n description: \"Sets the index of initially visible slide\",\n defaultValueHint: 1,\n },\n loop: {\n displayName: \"Loop\",\n type: \"boolean\",\n description:\n \"Enable or disables carousel/loop functionality of the slider\",\n defaultValueHint: false,\n },\n\n mode: {\n displayName: \"Carousel mode\",\n type: \"choice\",\n options: [\"snap\", \"free\", \"free-snap\"],\n description: \"Sets the animation that is applied after a drag ends\",\n defaultValueHint: \"snap\",\n },\n renderMode: {\n displayName: \"Render mode\",\n type: \"choice\",\n options: [\"precision\", \"performance\", \"custom\"],\n description:\n \"It is possible that the render performance of the browser slows down, if you have slides with some complexity in markup and CSS. To counteract this problem, you can set this option to 'performance'. If you want to create your own renderer, you can set this options to 'custom'. Default is 'precision'.\",\n defaultValueHint: \"precision\",\n },\n rtl: {\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n\n rubberband: {\n displayName: \"Rubberband \",\n type: \"boolean\",\n description:\n \"Enables or disables rubberband behavior for dragging and animation after a drag.\",\n defaultValueHint: true,\n },\n slides: {\n displayName: \"Number of slides\",\n type: \"number\",\n description: \"Specifies number of slider \",\n },\n\n vertical: {\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n helpText:\n \"(Note: The height of the container must be defined if vertical is true)\",\n },\n },\n\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n};\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n {\n editingSlide,\n children,\n\n className,\n setControlContextData,\n ...props\n }: KeenSliderProps & {\n className?: string;\n editingSlide?: number;\n children?: any;\n setControlContextData?: (data: {\n editingSlide: number | undefined;\n }) => void;\n },\n userRef?: Ref<HTMLDivElement>\n) {\n setControlContextData?.({ editingSlide: editingSlide });\n const [sliderRef, instanceRef] = useKeenSlider<HTMLDivElement>(\n {\n ...props,\n },\n [ResizePlugin]\n );\n\n useEffect(() => {\n if (editingSlide !== undefined) {\n instanceRef.current!.moveToIdx(editingSlide);\n }\n }, [editingSlide]);\n\n return (\n <div className={className}>\n <div\n ref={composeRefs(sliderRef, userRef)}\n className=\"keen-slider\"\n {...props}\n style={{ height: \"100%\" }}\n >\n {React.Children.map(children, (child) =>\n React.cloneElement(child, {\n className: `keen-slider__slide ${className}`,\n })\n )}\n {children}\n </div>\n </div>\n );\n});\n\nexport function registerSlider(\n loader?: { registerComponent: typeof registerComponent },\n customSliderMeta?: CodeComponentMeta<KeenSliderOptions>\n) {\n if (loader) {\n loader.registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n } else {\n registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n }\n}\n"],"names":["Option","Select","ResizePlugin","slider","observer","ResizeObserver","update","on","observe","container","unobserve","CurrentSlideDropdown","_ref","componentProps","studioOps","editingSlide","_componentProps$editi","slidesCnt","_componentProps$child","children","length","type","options","Array","from","_","i","map","React","value","toString","handleChange","slideIdx","Number","updateProps","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","NavigateSlides","_ref2","_componentProps$editi2","Button","onClick","prevSlide","nextSlide","OutlineMessage","sliderMeta","name","displayName","importName","importPath","actions","control","label","_ref3","appendToSlot","src","_ref4","contextData","_contextData$editingS","removeFromSlotAt","props","styles","maxWidth","description","defaultValueHint","editOnly","hidden","disabled","drag","dragSpeed","initial","loop","mode","renderMode","rtl","rubberband","slides","vertical","helpText","defaultStyles","SliderWrapper","forwardRef","SliderWrapper_","_ref5","userRef","className","setControlContextData","_objectWithoutPropertiesLoose","_excluded","_useKeenSlider","useKeenSlider","_extends","sliderRef","instanceRef","useEffect","undefined","current","moveToIdx","ref","composeRefs","height","Children","child","cloneElement","registerSlider","loader","customSliderMeta","registerComponent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-keen-slider.cjs.production.min.js","sources":["../src/index.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button, Select } from \"antd\";\nimport React, { forwardRef, Ref, useEffect } from \"react\";\nimport { useKeenSlider, KeenSliderPlugin } from \"keen-slider/react\";\nimport composeRefs from \"@seznam/compose-react-refs\";\nimport { KeenSliderOptions } from \"keen-slider\";\n\nconst { Option } = Select;\n\nconst ResizePlugin: KeenSliderPlugin = (slider) => {\n const observer = new ResizeObserver(function () {\n slider.update();\n });\n\n slider.on(\"created\", () => {\n observer.observe(slider.container);\n });\n slider.on(\"destroyed\", () => {\n observer.unobserve(slider.container);\n });\n};\n\nfunction CurrentSlideDropdown({ componentProps, studioOps }: ActionProps<any>) {\n const editingSlide = componentProps.editingSlide ?? 0;\n const slidesCnt =\n componentProps.children.length ??\n (componentProps.children.type === \"img\" ? 1 : 0);\n\n const options = Array.from({ length: slidesCnt }, (_, i) => i).map((i) => {\n return <Option value={i.toString()}>Slide {i + 1}</Option>;\n });\n\n const handleChange = (value: string) => {\n const slideIdx = Number(value);\n studioOps.updateProps({ editingSlide: slideIdx % slidesCnt });\n };\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <div>Current slide:</div>\n <Select\n defaultValue={editingSlide.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={editingSlide.toString()}\n >\n {options}\n </Select>\n </div>\n );\n}\n\nfunction NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const slidesCnt = componentProps.children.length;\n const editingSlide = componentProps.editingSlide ?? 0;\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const prevSlide = (editingSlide - 1 + slidesCnt) % slidesCnt;\n studioOps.updateProps({ editingSlide: prevSlide });\n }}\n >\n Prev slide\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const nextSlide = (editingSlide + 1) % slidesCnt;\n studioOps.updateProps({ editingSlide: nextSlide });\n }}\n >\n Next slide\n </Button>\n </div>\n );\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n}\n\ninterface KeenSliderProps extends KeenSliderOptions {}\n\nexport const sliderMeta: CodeComponentMeta<KeenSliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider\",\n importName: \"Slider\",\n importPath: \"keen-slider\",\n actions: [\n {\n type: \"custom-action\",\n control: CurrentSlideDropdown,\n },\n {\n type: \"custom-action\",\n control: NavigateSlides,\n },\n {\n type: \"button-action\",\n label: \"Append new slide\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const slidesCnt = componentProps.children.length;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n },\n \"children\"\n );\n studioOps.updateProps({ editingSlide: slidesCnt });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n onClick: ({\n componentProps,\n contextData,\n studioOps,\n }: ActionProps<any>) => {\n const editingSlide = contextData.editingSlide ?? 0;\n studioOps.removeFromSlotAt(editingSlide, \"children\");\n const slidesCnt = componentProps.children.length - 1;\n studioOps.updateProps({\n editingSlide: (editingSlide - 1 + slidesCnt) % slidesCnt,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n props: {\n children: {\n type: \"slot\",\n defaultValue: [0, 1, 2].map((i) => ({\n type: \"vbox\",\n children: {\n type: \"img\",\n src:\n \"https://static1.plasmic.app/components/react-slick/slide\" +\n (i + 1) +\n \".png\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n })),\n },\n editingSlide: {\n displayName: \"Currently edited slide\",\n type: \"number\",\n description:\n \"Switch to the specified slide (first is 0). Only affects the editor, not the final page.\",\n defaultValueHint: 0,\n editOnly: true,\n hidden: () => true,\n },\n disabled: {\n displayName: \"Disabled\",\n type: \"boolean\",\n description: \"Disable or enable slider\",\n defaultValueHint: false,\n },\n drag: {\n displayName: \"Drag\",\n type: \"boolean\",\n description: \"Enables or disables mouse and touch control\",\n defaultValueHint: true,\n },\n dragSpeed: {\n displayName: \"Drag Speed\",\n type: \"number\",\n description:\n \"Set the speed that is applied to the slider when dragging it.\",\n defaultValueHint: 1,\n },\n initial: {\n displayName: \"Initial slide\",\n type: \"number\",\n description: \"Sets the index of initially visible slide\",\n defaultValueHint: 1,\n },\n loop: {\n displayName: \"Loop\",\n type: \"boolean\",\n description:\n \"Enable or disables carousel/loop functionality of the slider\",\n defaultValueHint: false,\n },\n\n mode: {\n displayName: \"Carousel mode\",\n type: \"choice\",\n options: [\"snap\", \"free\", \"free-snap\"],\n description: \"Sets the animation that is applied after a drag ends\",\n defaultValueHint: \"snap\",\n },\n renderMode: {\n displayName: \"Render mode\",\n type: \"choice\",\n options: [\"precision\", \"performance\", \"custom\"],\n description:\n \"It is possible that the render performance of the browser slows down, if you have slides with some complexity in markup and CSS. To counteract this problem, you can set this option to 'performance'. If you want to create your own renderer, you can set this options to 'custom'. Default is 'precision'.\",\n defaultValueHint: \"precision\",\n },\n rtl: {\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n\n rubberband: {\n displayName: \"Rubberband \",\n type: \"boolean\",\n description:\n \"Enables or disables rubberband behavior for dragging and animation after a drag.\",\n defaultValueHint: true,\n },\n slides: {\n displayName: \"Number of slides\",\n type: \"number\",\n description: \"Specifies number of slider \",\n },\n\n vertical: {\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n helpText:\n \"(Note: The height of the container must be defined if vertical is true)\",\n },\n },\n\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n};\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n {\n editingSlide,\n children,\n\n className,\n setControlContextData,\n ...props\n }: KeenSliderProps & {\n className?: string;\n editingSlide?: number;\n children?: any;\n setControlContextData?: (data: {\n editingSlide: number | undefined;\n }) => void;\n },\n userRef?: Ref<HTMLDivElement>\n) {\n setControlContextData?.({ editingSlide: editingSlide });\n const [sliderRef, instanceRef] = useKeenSlider<HTMLDivElement>(\n {\n ...props,\n },\n [ResizePlugin]\n );\n\n useEffect(() => {\n if (editingSlide !== undefined) {\n instanceRef.current!.moveToIdx(editingSlide);\n }\n }, [editingSlide]);\n\n return (\n <div className={className}>\n <div\n ref={composeRefs(sliderRef, userRef)}\n className=\"keen-slider\"\n {...props}\n style={{ height: \"100%\" }}\n >\n {React.Children.map(children, (child) =>\n React.cloneElement(child, {\n className: `keen-slider__slide ${className}`,\n })\n )}\n {children}\n </div>\n </div>\n );\n});\n\nexport function registerSlider(\n loader?: { registerComponent: typeof registerComponent },\n customSliderMeta?: CodeComponentMeta<KeenSliderOptions>\n) {\n if (loader) {\n loader.registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n } else {\n registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n }\n}\n"],"names":["Option","Select","ResizePlugin","slider","observer","ResizeObserver","update","on","observe","container","unobserve","sliderMeta","name","displayName","importName","importPath","actions","type","control","componentProps","studioOps","editingSlide","slidesCnt","children","length","options","Array","from","_","i","map","React","value","toString","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","slideIdx","Number","updateProps","Button","onClick","label","appendToSlot","src","contextData","removeFromSlotAt","props","styles","maxWidth","description","defaultValueHint","editOnly","hidden","disabled","drag","dragSpeed","initial","loop","mode","renderMode","rtl","rubberband","slides","vertical","helpText","defaultStyles","SliderWrapper","forwardRef","userRef","className","setControlContextData","useKeenSlider","sliderRef","instanceRef","useEffect","undefined","current","moveToIdx","ref","composeRefs","height","Children","child","cloneElement","loader","customSliderMeta","registerComponent"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-keen-slider.cjs.production.min.js","sources":["../src/index.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button, Select } from \"antd\";\nimport React, { forwardRef, Ref, useEffect } from \"react\";\nimport { useKeenSlider, KeenSliderPlugin } from \"keen-slider/react\";\nimport composeRefs from \"@seznam/compose-react-refs\";\nimport { KeenSliderOptions } from \"keen-slider\";\n\nconst { Option } = Select;\n\nconst ResizePlugin: KeenSliderPlugin = (slider) => {\n const observer = new ResizeObserver(function () {\n slider.update();\n });\n\n slider.on(\"created\", () => {\n observer.observe(slider.container);\n });\n slider.on(\"destroyed\", () => {\n observer.unobserve(slider.container);\n });\n};\n\nfunction CurrentSlideDropdown({ componentProps, studioOps }: ActionProps<any>) {\n const editingSlide = componentProps.editingSlide ?? 0;\n const slidesCnt =\n componentProps.children.length ??\n (componentProps.children.type === \"img\" ? 1 : 0);\n\n const options = Array.from({ length: slidesCnt }, (_, i) => i).map((i) => {\n return <Option value={i.toString()}>Slide {i + 1}</Option>;\n });\n\n const handleChange = (value: string) => {\n const slideIdx = Number(value);\n studioOps.updateProps({ editingSlide: slideIdx % slidesCnt });\n };\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <div>Current slide:</div>\n <Select\n defaultValue={editingSlide.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={editingSlide.toString()}\n >\n {options}\n </Select>\n </div>\n );\n}\n\nfunction NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const slidesCnt = componentProps.children.length;\n const editingSlide = componentProps.editingSlide ?? 0;\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const prevSlide = (editingSlide - 1 + slidesCnt) % slidesCnt;\n studioOps.updateProps({ editingSlide: prevSlide });\n }}\n >\n Prev slide\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const nextSlide = (editingSlide + 1) % slidesCnt;\n studioOps.updateProps({ editingSlide: nextSlide });\n }}\n >\n Next slide\n </Button>\n </div>\n );\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n}\n\ninterface KeenSliderProps extends KeenSliderOptions {}\n\nexport const sliderMeta: CodeComponentMeta<KeenSliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider\",\n importName: \"Slider\",\n importPath: \"keen-slider\",\n actions: [\n {\n type: \"custom-action\",\n control: CurrentSlideDropdown,\n },\n {\n type: \"custom-action\",\n control: NavigateSlides,\n },\n {\n type: \"button-action\",\n label: \"Append new slide\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const slidesCnt = componentProps.children.length;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n },\n \"children\"\n );\n studioOps.updateProps({ editingSlide: slidesCnt });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n onClick: ({\n componentProps,\n contextData,\n studioOps,\n }: ActionProps<any>) => {\n const editingSlide = contextData.editingSlide ?? 0;\n studioOps.removeFromSlotAt(editingSlide, \"children\");\n const slidesCnt = componentProps.children.length - 1;\n studioOps.updateProps({\n editingSlide: (editingSlide - 1 + slidesCnt) % slidesCnt,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n props: {\n children: {\n type: \"slot\",\n defaultValue: [0, 1, 2].map((i) => ({\n type: \"vbox\",\n children: {\n type: \"img\",\n src:\n \"https://static1.plasmic.app/components/react-slick/slide\" +\n (i + 1) +\n \".png\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n })),\n },\n editingSlide: {\n displayName: \"Currently edited slide\",\n type: \"number\",\n description:\n \"Switch to the specified slide (first is 0). Only affects the editor, not the final page.\",\n defaultValueHint: 0,\n editOnly: true,\n hidden: () => true,\n },\n disabled: {\n displayName: \"Disabled\",\n type: \"boolean\",\n description: \"Disable or enable slider\",\n defaultValueHint: false,\n },\n drag: {\n displayName: \"Drag\",\n type: \"boolean\",\n description: \"Enables or disables mouse and touch control\",\n defaultValueHint: true,\n },\n dragSpeed: {\n displayName: \"Drag Speed\",\n type: \"number\",\n description:\n \"Set the speed that is applied to the slider when dragging it.\",\n defaultValueHint: 1,\n },\n initial: {\n displayName: \"Initial slide\",\n type: \"number\",\n description: \"Sets the index of initially visible slide\",\n defaultValueHint: 1,\n },\n loop: {\n displayName: \"Loop\",\n type: \"boolean\",\n description:\n \"Enable or disables carousel/loop functionality of the slider\",\n defaultValueHint: false,\n },\n\n mode: {\n displayName: \"Carousel mode\",\n type: \"choice\",\n options: [\"snap\", \"free\", \"free-snap\"],\n description: \"Sets the animation that is applied after a drag ends\",\n defaultValueHint: \"snap\",\n },\n renderMode: {\n displayName: \"Render mode\",\n type: \"choice\",\n options: [\"precision\", \"performance\", \"custom\"],\n description:\n \"It is possible that the render performance of the browser slows down, if you have slides with some complexity in markup and CSS. To counteract this problem, you can set this option to 'performance'. If you want to create your own renderer, you can set this options to 'custom'. Default is 'precision'.\",\n defaultValueHint: \"precision\",\n },\n rtl: {\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n\n rubberband: {\n displayName: \"Rubberband \",\n type: \"boolean\",\n description:\n \"Enables or disables rubberband behavior for dragging and animation after a drag.\",\n defaultValueHint: true,\n },\n slides: {\n displayName: \"Number of slides\",\n type: \"number\",\n description: \"Specifies number of slider \",\n },\n\n vertical: {\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n helpText:\n \"(Note: The height of the container must be defined if vertical is true)\",\n },\n },\n\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n};\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n {\n editingSlide,\n children,\n\n className,\n setControlContextData,\n ...props\n }: KeenSliderProps & {\n className?: string;\n editingSlide?: number;\n children?: any;\n setControlContextData?: (data: {\n editingSlide: number | undefined;\n }) => void;\n },\n userRef?: Ref<HTMLDivElement>\n) {\n setControlContextData?.({ editingSlide: editingSlide });\n const [sliderRef, instanceRef] = useKeenSlider<HTMLDivElement>(\n {\n ...props,\n },\n [ResizePlugin]\n );\n\n useEffect(() => {\n if (editingSlide !== undefined) {\n instanceRef.current!.moveToIdx(editingSlide);\n }\n }, [editingSlide]);\n\n return (\n <div className={className}>\n <div\n ref={composeRefs(sliderRef, userRef)}\n className=\"keen-slider\"\n {...props}\n style={{ height: \"100%\" }}\n >\n {React.Children.map(children, (child) =>\n React.cloneElement(child, {\n className: `keen-slider__slide ${className}`,\n })\n )}\n {children}\n </div>\n </div>\n );\n});\n\nexport function registerSlider(\n loader?: { registerComponent: typeof registerComponent },\n customSliderMeta?: CodeComponentMeta<KeenSliderOptions>\n) {\n if (loader) {\n loader.registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n } else {\n registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n }\n}\n"],"names":["Option","Select","ResizePlugin","slider","observer","ResizeObserver","update","on","observe","container","unobserve","sliderMeta","name","displayName","importName","importPath","actions","type","control","_ref","componentProps","studioOps","editingSlide","_componentProps$editi","slidesCnt","_componentProps$child","children","length","options","Array","from","_","i","map","React","value","toString","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","slideIdx","Number","updateProps","_ref2","_componentProps$editi2","Button","onClick","label","_ref3","appendToSlot","src","_ref4","_contextData$editingS","contextData","removeFromSlotAt","props","styles","maxWidth","description","defaultValueHint","editOnly","hidden","disabled","drag","dragSpeed","initial","loop","mode","renderMode","rtl","rubberband","slides","vertical","helpText","defaultStyles","SliderWrapper","forwardRef","_ref5","userRef","className","setControlContextData","_objectWithoutPropertiesLoose","_excluded","_useKeenSlider","useKeenSlider","_extends","sliderRef","instanceRef","useEffect","undefined","current","moveToIdx","ref","composeRefs","height","Children","child","cloneElement","loader","customSliderMeta","registerComponent"],"mappings":"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"}
@@ -273,7 +273,7 @@ var SliderWrapper = /*#__PURE__*/forwardRef(function SliderWrapper_(_ref5, userR
273
273
  className = _ref5.className,
274
274
  setControlContextData = _ref5.setControlContextData,
275
275
  props = _objectWithoutPropertiesLoose(_ref5, _excluded);
276
- setControlContextData == null ? void 0 : setControlContextData({
276
+ setControlContextData == null || setControlContextData({
277
277
  editingSlide: editingSlide
278
278
  });
279
279
  var _useKeenSlider = useKeenSlider(_extends({}, props), [ResizePlugin]),
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-keen-slider.esm.js","sources":["../src/index.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button, Select } from \"antd\";\nimport React, { forwardRef, Ref, useEffect } from \"react\";\nimport { useKeenSlider, KeenSliderPlugin } from \"keen-slider/react\";\nimport composeRefs from \"@seznam/compose-react-refs\";\nimport { KeenSliderOptions } from \"keen-slider\";\n\nconst { Option } = Select;\n\nconst ResizePlugin: KeenSliderPlugin = (slider) => {\n const observer = new ResizeObserver(function () {\n slider.update();\n });\n\n slider.on(\"created\", () => {\n observer.observe(slider.container);\n });\n slider.on(\"destroyed\", () => {\n observer.unobserve(slider.container);\n });\n};\n\nfunction CurrentSlideDropdown({ componentProps, studioOps }: ActionProps<any>) {\n const editingSlide = componentProps.editingSlide ?? 0;\n const slidesCnt =\n componentProps.children.length ??\n (componentProps.children.type === \"img\" ? 1 : 0);\n\n const options = Array.from({ length: slidesCnt }, (_, i) => i).map((i) => {\n return <Option value={i.toString()}>Slide {i + 1}</Option>;\n });\n\n const handleChange = (value: string) => {\n const slideIdx = Number(value);\n studioOps.updateProps({ editingSlide: slideIdx % slidesCnt });\n };\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <div>Current slide:</div>\n <Select\n defaultValue={editingSlide.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={editingSlide.toString()}\n >\n {options}\n </Select>\n </div>\n );\n}\n\nfunction NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const slidesCnt = componentProps.children.length;\n const editingSlide = componentProps.editingSlide ?? 0;\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const prevSlide = (editingSlide - 1 + slidesCnt) % slidesCnt;\n studioOps.updateProps({ editingSlide: prevSlide });\n }}\n >\n Prev slide\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const nextSlide = (editingSlide + 1) % slidesCnt;\n studioOps.updateProps({ editingSlide: nextSlide });\n }}\n >\n Next slide\n </Button>\n </div>\n );\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n}\n\ninterface KeenSliderProps extends KeenSliderOptions {}\n\nexport const sliderMeta: CodeComponentMeta<KeenSliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider\",\n importName: \"Slider\",\n importPath: \"keen-slider\",\n actions: [\n {\n type: \"custom-action\",\n control: CurrentSlideDropdown,\n },\n {\n type: \"custom-action\",\n control: NavigateSlides,\n },\n {\n type: \"button-action\",\n label: \"Append new slide\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const slidesCnt = componentProps.children.length;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n },\n \"children\"\n );\n studioOps.updateProps({ editingSlide: slidesCnt });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n onClick: ({\n componentProps,\n contextData,\n studioOps,\n }: ActionProps<any>) => {\n const editingSlide = contextData.editingSlide ?? 0;\n studioOps.removeFromSlotAt(editingSlide, \"children\");\n const slidesCnt = componentProps.children.length - 1;\n studioOps.updateProps({\n editingSlide: (editingSlide - 1 + slidesCnt) % slidesCnt,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n props: {\n children: {\n type: \"slot\",\n defaultValue: [0, 1, 2].map((i) => ({\n type: \"vbox\",\n children: {\n type: \"img\",\n src:\n \"https://static1.plasmic.app/components/react-slick/slide\" +\n (i + 1) +\n \".png\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n })),\n },\n editingSlide: {\n displayName: \"Currently edited slide\",\n type: \"number\",\n description:\n \"Switch to the specified slide (first is 0). Only affects the editor, not the final page.\",\n defaultValueHint: 0,\n editOnly: true,\n hidden: () => true,\n },\n disabled: {\n displayName: \"Disabled\",\n type: \"boolean\",\n description: \"Disable or enable slider\",\n defaultValueHint: false,\n },\n drag: {\n displayName: \"Drag\",\n type: \"boolean\",\n description: \"Enables or disables mouse and touch control\",\n defaultValueHint: true,\n },\n dragSpeed: {\n displayName: \"Drag Speed\",\n type: \"number\",\n description:\n \"Set the speed that is applied to the slider when dragging it.\",\n defaultValueHint: 1,\n },\n initial: {\n displayName: \"Initial slide\",\n type: \"number\",\n description: \"Sets the index of initially visible slide\",\n defaultValueHint: 1,\n },\n loop: {\n displayName: \"Loop\",\n type: \"boolean\",\n description:\n \"Enable or disables carousel/loop functionality of the slider\",\n defaultValueHint: false,\n },\n\n mode: {\n displayName: \"Carousel mode\",\n type: \"choice\",\n options: [\"snap\", \"free\", \"free-snap\"],\n description: \"Sets the animation that is applied after a drag ends\",\n defaultValueHint: \"snap\",\n },\n renderMode: {\n displayName: \"Render mode\",\n type: \"choice\",\n options: [\"precision\", \"performance\", \"custom\"],\n description:\n \"It is possible that the render performance of the browser slows down, if you have slides with some complexity in markup and CSS. To counteract this problem, you can set this option to 'performance'. If you want to create your own renderer, you can set this options to 'custom'. Default is 'precision'.\",\n defaultValueHint: \"precision\",\n },\n rtl: {\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n\n rubberband: {\n displayName: \"Rubberband \",\n type: \"boolean\",\n description:\n \"Enables or disables rubberband behavior for dragging and animation after a drag.\",\n defaultValueHint: true,\n },\n slides: {\n displayName: \"Number of slides\",\n type: \"number\",\n description: \"Specifies number of slider \",\n },\n\n vertical: {\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n helpText:\n \"(Note: The height of the container must be defined if vertical is true)\",\n },\n },\n\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n};\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n {\n editingSlide,\n children,\n\n className,\n setControlContextData,\n ...props\n }: KeenSliderProps & {\n className?: string;\n editingSlide?: number;\n children?: any;\n setControlContextData?: (data: {\n editingSlide: number | undefined;\n }) => void;\n },\n userRef?: Ref<HTMLDivElement>\n) {\n setControlContextData?.({ editingSlide: editingSlide });\n const [sliderRef, instanceRef] = useKeenSlider<HTMLDivElement>(\n {\n ...props,\n },\n [ResizePlugin]\n );\n\n useEffect(() => {\n if (editingSlide !== undefined) {\n instanceRef.current!.moveToIdx(editingSlide);\n }\n }, [editingSlide]);\n\n return (\n <div className={className}>\n <div\n ref={composeRefs(sliderRef, userRef)}\n className=\"keen-slider\"\n {...props}\n style={{ height: \"100%\" }}\n >\n {React.Children.map(children, (child) =>\n React.cloneElement(child, {\n className: `keen-slider__slide ${className}`,\n })\n )}\n {children}\n </div>\n </div>\n );\n});\n\nexport function registerSlider(\n loader?: { registerComponent: typeof registerComponent },\n customSliderMeta?: CodeComponentMeta<KeenSliderOptions>\n) {\n if (loader) {\n loader.registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n } else {\n registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n }\n}\n"],"names":["Option","Select","ResizePlugin","slider","observer","ResizeObserver","update","on","observe","container","unobserve","CurrentSlideDropdown","componentProps","studioOps","editingSlide","slidesCnt","children","length","type","options","Array","from","_","i","map","React","value","toString","handleChange","slideIdx","Number","updateProps","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","NavigateSlides","Button","onClick","prevSlide","nextSlide","OutlineMessage","sliderMeta","name","displayName","importName","importPath","actions","control","label","appendToSlot","src","contextData","removeFromSlotAt","props","styles","maxWidth","description","defaultValueHint","editOnly","hidden","disabled","drag","dragSpeed","initial","loop","mode","renderMode","rtl","rubberband","slides","vertical","helpText","defaultStyles","SliderWrapper","forwardRef","SliderWrapper_","userRef","className","setControlContextData","useKeenSlider","sliderRef","instanceRef","useEffect","undefined","current","moveToIdx","ref","composeRefs","height","Children","child","cloneElement","registerSlider","loader","customSliderMeta","registerComponent"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-keen-slider.esm.js","sources":["../src/index.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n CodeComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button, Select } from \"antd\";\nimport React, { forwardRef, Ref, useEffect } from \"react\";\nimport { useKeenSlider, KeenSliderPlugin } from \"keen-slider/react\";\nimport composeRefs from \"@seznam/compose-react-refs\";\nimport { KeenSliderOptions } from \"keen-slider\";\n\nconst { Option } = Select;\n\nconst ResizePlugin: KeenSliderPlugin = (slider) => {\n const observer = new ResizeObserver(function () {\n slider.update();\n });\n\n slider.on(\"created\", () => {\n observer.observe(slider.container);\n });\n slider.on(\"destroyed\", () => {\n observer.unobserve(slider.container);\n });\n};\n\nfunction CurrentSlideDropdown({ componentProps, studioOps }: ActionProps<any>) {\n const editingSlide = componentProps.editingSlide ?? 0;\n const slidesCnt =\n componentProps.children.length ??\n (componentProps.children.type === \"img\" ? 1 : 0);\n\n const options = Array.from({ length: slidesCnt }, (_, i) => i).map((i) => {\n return <Option value={i.toString()}>Slide {i + 1}</Option>;\n });\n\n const handleChange = (value: string) => {\n const slideIdx = Number(value);\n studioOps.updateProps({ editingSlide: slideIdx % slidesCnt });\n };\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <div>Current slide:</div>\n <Select\n defaultValue={editingSlide.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={editingSlide.toString()}\n >\n {options}\n </Select>\n </div>\n );\n}\n\nfunction NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const slidesCnt = componentProps.children.length;\n const editingSlide = componentProps.editingSlide ?? 0;\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const prevSlide = (editingSlide - 1 + slidesCnt) % slidesCnt;\n studioOps.updateProps({ editingSlide: prevSlide });\n }}\n >\n Prev slide\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const nextSlide = (editingSlide + 1) % slidesCnt;\n studioOps.updateProps({ editingSlide: nextSlide });\n }}\n >\n Next slide\n </Button>\n </div>\n );\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n}\n\ninterface KeenSliderProps extends KeenSliderOptions {}\n\nexport const sliderMeta: CodeComponentMeta<KeenSliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider\",\n importName: \"Slider\",\n importPath: \"keen-slider\",\n actions: [\n {\n type: \"custom-action\",\n control: CurrentSlideDropdown,\n },\n {\n type: \"custom-action\",\n control: NavigateSlides,\n },\n {\n type: \"button-action\",\n label: \"Append new slide\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const slidesCnt = componentProps.children.length;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n },\n \"children\"\n );\n studioOps.updateProps({ editingSlide: slidesCnt });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n onClick: ({\n componentProps,\n contextData,\n studioOps,\n }: ActionProps<any>) => {\n const editingSlide = contextData.editingSlide ?? 0;\n studioOps.removeFromSlotAt(editingSlide, \"children\");\n const slidesCnt = componentProps.children.length - 1;\n studioOps.updateProps({\n editingSlide: (editingSlide - 1 + slidesCnt) % slidesCnt,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n props: {\n children: {\n type: \"slot\",\n defaultValue: [0, 1, 2].map((i) => ({\n type: \"vbox\",\n children: {\n type: \"img\",\n src:\n \"https://static1.plasmic.app/components/react-slick/slide\" +\n (i + 1) +\n \".png\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n })),\n },\n editingSlide: {\n displayName: \"Currently edited slide\",\n type: \"number\",\n description:\n \"Switch to the specified slide (first is 0). Only affects the editor, not the final page.\",\n defaultValueHint: 0,\n editOnly: true,\n hidden: () => true,\n },\n disabled: {\n displayName: \"Disabled\",\n type: \"boolean\",\n description: \"Disable or enable slider\",\n defaultValueHint: false,\n },\n drag: {\n displayName: \"Drag\",\n type: \"boolean\",\n description: \"Enables or disables mouse and touch control\",\n defaultValueHint: true,\n },\n dragSpeed: {\n displayName: \"Drag Speed\",\n type: \"number\",\n description:\n \"Set the speed that is applied to the slider when dragging it.\",\n defaultValueHint: 1,\n },\n initial: {\n displayName: \"Initial slide\",\n type: \"number\",\n description: \"Sets the index of initially visible slide\",\n defaultValueHint: 1,\n },\n loop: {\n displayName: \"Loop\",\n type: \"boolean\",\n description:\n \"Enable or disables carousel/loop functionality of the slider\",\n defaultValueHint: false,\n },\n\n mode: {\n displayName: \"Carousel mode\",\n type: \"choice\",\n options: [\"snap\", \"free\", \"free-snap\"],\n description: \"Sets the animation that is applied after a drag ends\",\n defaultValueHint: \"snap\",\n },\n renderMode: {\n displayName: \"Render mode\",\n type: \"choice\",\n options: [\"precision\", \"performance\", \"custom\"],\n description:\n \"It is possible that the render performance of the browser slows down, if you have slides with some complexity in markup and CSS. To counteract this problem, you can set this option to 'performance'. If you want to create your own renderer, you can set this options to 'custom'. Default is 'precision'.\",\n defaultValueHint: \"precision\",\n },\n rtl: {\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n\n rubberband: {\n displayName: \"Rubberband \",\n type: \"boolean\",\n description:\n \"Enables or disables rubberband behavior for dragging and animation after a drag.\",\n defaultValueHint: true,\n },\n slides: {\n displayName: \"Number of slides\",\n type: \"number\",\n description: \"Specifies number of slider \",\n },\n\n vertical: {\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n helpText:\n \"(Note: The height of the container must be defined if vertical is true)\",\n },\n },\n\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n};\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n {\n editingSlide,\n children,\n\n className,\n setControlContextData,\n ...props\n }: KeenSliderProps & {\n className?: string;\n editingSlide?: number;\n children?: any;\n setControlContextData?: (data: {\n editingSlide: number | undefined;\n }) => void;\n },\n userRef?: Ref<HTMLDivElement>\n) {\n setControlContextData?.({ editingSlide: editingSlide });\n const [sliderRef, instanceRef] = useKeenSlider<HTMLDivElement>(\n {\n ...props,\n },\n [ResizePlugin]\n );\n\n useEffect(() => {\n if (editingSlide !== undefined) {\n instanceRef.current!.moveToIdx(editingSlide);\n }\n }, [editingSlide]);\n\n return (\n <div className={className}>\n <div\n ref={composeRefs(sliderRef, userRef)}\n className=\"keen-slider\"\n {...props}\n style={{ height: \"100%\" }}\n >\n {React.Children.map(children, (child) =>\n React.cloneElement(child, {\n className: `keen-slider__slide ${className}`,\n })\n )}\n {children}\n </div>\n </div>\n );\n});\n\nexport function registerSlider(\n loader?: { registerComponent: typeof registerComponent },\n customSliderMeta?: CodeComponentMeta<KeenSliderOptions>\n) {\n if (loader) {\n loader.registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n } else {\n registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n }\n}\n"],"names":["Option","Select","ResizePlugin","slider","observer","ResizeObserver","update","on","observe","container","unobserve","CurrentSlideDropdown","_ref","componentProps","studioOps","editingSlide","_componentProps$editi","slidesCnt","_componentProps$child","children","length","type","options","Array","from","_","i","map","React","value","toString","handleChange","slideIdx","Number","updateProps","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","NavigateSlides","_ref2","_componentProps$editi2","Button","onClick","prevSlide","nextSlide","OutlineMessage","sliderMeta","name","displayName","importName","importPath","actions","control","label","_ref3","appendToSlot","src","_ref4","contextData","_contextData$editingS","removeFromSlotAt","props","styles","maxWidth","description","defaultValueHint","editOnly","hidden","disabled","drag","dragSpeed","initial","loop","mode","renderMode","rtl","rubberband","slides","vertical","helpText","defaultStyles","SliderWrapper","forwardRef","SliderWrapper_","_ref5","userRef","className","setControlContextData","_objectWithoutPropertiesLoose","_excluded","_useKeenSlider","useKeenSlider","_extends","sliderRef","instanceRef","useEffect","undefined","current","moveToIdx","ref","composeRefs","height","Children","child","cloneElement","registerSlider","loader","customSliderMeta","registerComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/plasmic-keen-slider",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "Plasmic Keen slider components.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  }
35
35
  ],
36
36
  "devDependencies": {
37
- "@plasmicapp/host": "1.0.162",
37
+ "@plasmicapp/host": "1.0.164",
38
38
  "@size-limit/preset-small-lib": "^7.0.8",
39
39
  "@types/react": "^18.0.27",
40
40
  "@types/react-dom": "^18.0.10",
@@ -50,5 +50,5 @@
50
50
  "antd": "^5.8.4",
51
51
  "keen-slider": "^6.8.6"
52
52
  },
53
- "gitHead": "bf12f2268d3e2794698bee0996d4e2008b6827c5"
53
+ "gitHead": "83b92a98990acc021cc904ef919c6176e88a3238"
54
54
  }