@plasmicpkgs/react-slick 0.0.207 → 0.0.209
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react-slick.cjs.development.js +9 -9
- package/dist/react-slick.cjs.development.js.map +1 -1
- package/dist/react-slick.cjs.production.min.js +1 -1
- package/dist/react-slick.cjs.production.min.js.map +1 -1
- package/dist/react-slick.esm.js +9 -9
- package/dist/react-slick.esm.js.map +1 -1
- package/package.json +3 -4
|
@@ -6,7 +6,6 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
6
6
|
|
|
7
7
|
var host = require('@plasmicapp/host');
|
|
8
8
|
var registerComponent = _interopDefault(require('@plasmicapp/host/registerComponent'));
|
|
9
|
-
var antd = require('antd');
|
|
10
9
|
var React = require('react');
|
|
11
10
|
var React__default = _interopDefault(React);
|
|
12
11
|
var Slider = _interopDefault(require('react-slick'));
|
|
@@ -194,6 +193,11 @@ function registerSlider(loader) {
|
|
|
194
193
|
var _getSlideInfo2 = getSlideInfo(componentProps),
|
|
195
194
|
dotCount = _getSlideInfo2.dotCount,
|
|
196
195
|
currentDotIndex = _getSlideInfo2.currentDotIndex;
|
|
196
|
+
var btnStyles = {
|
|
197
|
+
width: "100%",
|
|
198
|
+
backgroundColor: "#f3f3f2",
|
|
199
|
+
borderRadius: 6
|
|
200
|
+
};
|
|
197
201
|
return React__default.createElement("div", {
|
|
198
202
|
style: {
|
|
199
203
|
width: "100%",
|
|
@@ -202,20 +206,16 @@ function registerSlider(loader) {
|
|
|
202
206
|
gap: "10px",
|
|
203
207
|
justifyContent: "space-between"
|
|
204
208
|
}
|
|
205
|
-
}, React__default.createElement(
|
|
206
|
-
style:
|
|
207
|
-
width: "100%"
|
|
208
|
-
},
|
|
209
|
+
}, React__default.createElement("button", {
|
|
210
|
+
style: btnStyles,
|
|
209
211
|
onClick: function onClick() {
|
|
210
212
|
var prevSlide = currentDotIndex === 0 ? dotCount - 1 : (currentDotIndex - 1) % dotCount;
|
|
211
213
|
studioOps.updateStates({
|
|
212
214
|
currentSlide: prevSlide
|
|
213
215
|
});
|
|
214
216
|
}
|
|
215
|
-
}, "Prev slide"), React__default.createElement(
|
|
216
|
-
style:
|
|
217
|
-
width: "100%"
|
|
218
|
-
},
|
|
217
|
+
}, "Prev slide"), React__default.createElement("button", {
|
|
218
|
+
style: btnStyles,
|
|
219
219
|
onClick: function onClick() {
|
|
220
220
|
var nextSlide = (currentDotIndex + 1) % dotCount;
|
|
221
221
|
studioOps.updateStates({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-slick.cjs.development.js","sources":["../src/index.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n ActionProps,\n ComponentHelpers,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button } from \"antd\";\nimport React, {\n ChangeEvent,\n forwardRef,\n Ref,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport Slider, { Settings } from \"react-slick\";\n\ntype SliderProps = Settings & {\n arrowColor?: string;\n sliderScopeClassName: string;\n};\n\nexport const sliderHelpers: ComponentHelpers<SliderProps> = {\n states: {\n currentSlide: {\n onChangeArgsToValue: (_: number, newIndex: number) => newIndex,\n onMutate: (stateValue, $ref) => {\n $ref.slickGoTo(stateValue);\n },\n },\n },\n};\n\nfunction useDebounce<T>(value: T, delay?: number): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n\nexport type SliderMethods = Pick<\n Slider,\n \"slickGoTo\" | \"slickNext\" | \"slickPause\" | \"slickPlay\" | \"slickPrev\"\n>;\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n props: SliderProps,\n userRef?: Ref<SliderMethods>\n) {\n const {\n initialSlide,\n arrowColor,\n className,\n sliderScopeClassName,\n autoplay,\n ...rest\n } = props;\n // \"data-plasmic-canvas-envs\" prop only exists in studio canvas\n const inCanvas = !!usePlasmicCanvasContext();\n const slider = useRef<Slider>(null);\n const debouncedInitialSlide = useDebounce(initialSlide);\n\n useEffect(() => {\n if (debouncedInitialSlide !== undefined) {\n slider.current?.slickGoTo(debouncedInitialSlide);\n }\n }, [debouncedInitialSlide, inCanvas]);\n\n React.useImperativeHandle(\n userRef,\n () => ({\n slickGoTo(index, dontAnimate) {\n if (slider.current) {\n const { slickGoTo } = slider.current;\n slickGoTo(index, dontAnimate);\n }\n },\n slickNext() {\n if (slider.current) {\n const { slickNext } = slider.current;\n slickNext();\n }\n },\n slickPause() {\n if (slider.current) {\n const { slickPause } = slider.current;\n slickPause();\n }\n },\n slickPlay() {\n if (slider.current) {\n const { slickPlay } = slider.current;\n slickPlay();\n }\n },\n slickPrev() {\n if (slider.current) {\n const { slickPrev } = slider.current;\n slickPrev();\n }\n },\n }),\n []\n );\n\n const css = `\n .${sliderScopeClassName} .slick-arrow:before {\n color: ${arrowColor ?? \"black\"};\n }\n .${sliderScopeClassName} .slick-slide img:only-child,\n .${sliderScopeClassName} .slick-slide .__wab_img-wrapper:only-child {\n ${\n /* NOTE: this is otherwise explicitly set to \"block\" by react-slick (which should also fix this issue but somehow doesn't.). */ \"\"\n }\n ${\n /* This style override is added to fix a well-known issue with images inside divs. https://stackoverflow.com/questions/5804256/image-inside-div-has-extra-space-below-the-image */ \"\"\n }\n display: inline-block;\n vertical-align: top;\n }\n `;\n\n return (\n <>\n <Slider\n className={`${className} ${sliderScopeClassName}`}\n ref={slider}\n // We don't want to turn on autoplay while editing in canvas, because this\n // leads to a state update for current slide, which ends up re-rendering\n // the entire artboard.\n autoplay={autoplay && !inCanvas ? autoplay : undefined}\n {...rest}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n});\n\nexport function registerSlider(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n function getSlideInfo({\n rows = 1,\n slidesPerRow = 1,\n initialSlide = 0,\n children,\n }: SliderProps) {\n const slidesCnt = Array.isArray(children) ? children.length : 1;\n\n const slidesPerDot = rows * slidesPerRow;\n const dotCount = Math.ceil(slidesCnt / slidesPerDot);\n const currentDotIndex =\n initialSlide >= dotCount ? dotCount - 1 : initialSlide;\n\n return {\n currentDotIndex,\n slidesPerDot,\n dotCount,\n totalSlides: slidesCnt,\n };\n }\n\n function CurrentSlideDropdown({\n componentProps,\n studioOps,\n }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\n\n const options = Array.from({ length: dotCount }, (_, i) => i).map((i) => {\n return (\n <option key={i} value={i.toString()}>\n Slide {i}\n </option>\n );\n });\n\n const handleChange = (e: ChangeEvent<HTMLSelectElement>) => {\n studioOps.updateStates({ currentSlide: Number(e.target.value) });\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={currentDotIndex.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={currentDotIndex.toString()}\n >\n {options}\n </select>\n </div>\n );\n }\n\n function NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\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 =\n currentDotIndex === 0\n ? dotCount - 1\n : (currentDotIndex - 1) % dotCount;\n studioOps.updateStates({ currentSlide: prevSlide });\n }}\n >\n Prev slide\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const nextSlide = (currentDotIndex + 1) % dotCount;\n studioOps.updateStates({ currentSlide: nextSlide });\n }}\n >\n Next slide\n </Button>\n </div>\n );\n }\n\n function OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n }\n const sliderMeta: ComponentMeta<SliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider Carousel\",\n importName: \"SliderWrapper\",\n importPath: \"@plasmicpkgs/react-slick\",\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=GMgXLbNHX8c)\",\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 { dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n const currentSlide =\n totalSlides % slidesPerDot ? dotCount - 1 : dotCount;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n \"children\"\n );\n studioOps.updateStates({ currentSlide });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n hidden: (ps) =>\n (ps.children as any)?.type?.name === \"CanvasSlotPlaceholder\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const { currentDotIndex, dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n studioOps.removeFromSlotAt(\n currentDotIndex * slidesPerDot,\n \"children\"\n );\n let newPos = currentDotIndex;\n if (dotCount === 1) {\n // not the only dot\n newPos = 0;\n } else if (currentDotIndex !== dotCount - 1) {\n // not the last dot\n if (slidesPerDot === 1) {\n newPos = currentDotIndex - 1;\n } else {\n newPos = currentDotIndex;\n }\n } else {\n // the last dot\n newPos =\n totalSlides % slidesPerDot === 1\n ? currentDotIndex - 1\n : currentDotIndex;\n }\n studioOps.updateStates({\n currentSlide: newPos,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n refActions: {\n slickGoTo: {\n displayName: \"Jump to slide\",\n argTypes: [\n {\n name: \"index\",\n displayName: \"Slide index\",\n type: \"number\",\n },\n {\n name: \"dontAnimate\",\n displayName: \"Animate?\",\n type: \"boolean\",\n },\n ],\n },\n slickNext: {\n displayName: \"Go to Next slide\",\n argTypes: [],\n },\n slickPause: {\n displayName: \"Pause\",\n argTypes: [],\n },\n slickPlay: {\n displayName: \"Play\",\n argTypes: [],\n },\n slickPrev: {\n displayName: \"Go to Previous slide\",\n argTypes: [],\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 accessibility: {\n advanced: true,\n displayName: \"Accessibility\",\n type: \"boolean\",\n description: \"Enables tabbing and arrow key navigation\",\n defaultValueHint: true,\n },\n adaptiveHeight: {\n advanced: true,\n displayName: \"Adaptive Height\",\n type: \"boolean\",\n description: \"Adjust the slide's height automatically\",\n defaultValueHint: false,\n },\n arrows: {\n displayName: \"Arrows\",\n type: \"boolean\",\n description: \"Show next/prev arrows\",\n defaultValueHint: true,\n },\n sliderScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"slider\",\n } as any,\n arrowColor: {\n type: \"color\",\n description: \"Color of next/prev arrow buttons\",\n defaultValueHint: \"#000000\",\n hidden: (ps) => (ps.arrows === undefined ? false : !ps.arrows),\n },\n autoplay: {\n displayName: \"Auto Play\",\n type: \"boolean\",\n description:\n \"Automatically start scrolling; does not take effect while in the editor, but you can see it in live preview.\",\n defaultValueHint: false,\n },\n autoplaySpeed: {\n displayName: \"Auto Play Speed\",\n type: \"number\",\n description: \"Delay between each auto scroll, in milliseconds\",\n defaultValueHint: 3000,\n hidden: (props) => !props.autoplay,\n },\n centerMode: {\n displayName: \"Center Mode\",\n type: \"boolean\",\n description:\n \"Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts\",\n defaultValueHint: false,\n },\n centerPadding: {\n displayName: \"Center Padding\",\n type: \"string\",\n description: \"Side padding when in center mode (px or %)\",\n defaultValueHint: \"50px\",\n hidden: (props) => !props.centerMode,\n },\n dots: {\n displayName: \"Dots\",\n type: \"boolean\",\n description: \"Show dots for each slide\",\n defaultValueHint: false,\n },\n draggable: {\n advanced: true,\n displayName: \"Draggable\",\n type: \"boolean\",\n description: \"Enables mouse dragging on desktop\",\n defaultValueHint: true,\n },\n cssEase: {\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n /** Deprecated, this was apparently never working:\n * https://github.com/akiran/react-slick/issues/363 */\n easing: {\n hidden: () => true,\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n fade: {\n advanced: true,\n displayName: \"Fade\",\n type: \"boolean\",\n description: \"Cross-fade between slides\",\n defaultValueHint: false,\n },\n focusOnSelect: {\n advanced: true,\n displayName: \"Focus On Select\",\n type: \"boolean\",\n description: \"Go to slide on click\",\n defaultValueHint: false,\n },\n infinite: {\n displayName: \"Infinite\",\n type: \"boolean\",\n description: \"Infinitely wrap around contents\",\n defaultValueHint: true,\n },\n initialSlide: {\n displayName: \"Initial Slide\",\n type: \"number\",\n description:\n \"Index of the first visible slide (first is 0), accounting for multiple slides per view if applicable.\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n lazyLoad: {\n advanced: true,\n displayName: \"Lazy Load\",\n type: \"choice\",\n options: [\"ondemand\", \"progressive\"],\n description:\n \"Load images or render components on demand or progressively\",\n },\n pauseOnDotsHover: {\n displayName: \"Pause On Dots Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on dots\",\n defaultValueHint: false,\n },\n pauseOnFocus: {\n displayName: \"Pause On Focus\",\n type: \"boolean\",\n description: \"Prevents autoplay while focused on slides\",\n defaultValueHint: false,\n },\n pauseOnHover: {\n displayName: \"Pause On Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on track\",\n defaultValueHint: true,\n },\n rows: {\n displayName: \"Rows\",\n type: \"number\",\n description: \"Number of rows per slide (enables grid mode)\",\n defaultValueHint: 1,\n },\n rtl: {\n advanced: true,\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n // Looks like the `slide` prop is not being used to set the container tag:\n // https://github.com/akiran/react-slick/issues/1318\n // https://github.com/akiran/react-slick/pull/1885\n // https://stackoverflow.com/questions/51492535/wrap-react-slick-li-slides-inside-ul\n //\n // slide: {\n // displayName: \"Slide Tag\",\n // type: \"string\",\n // description: 'Slide container element type',\n // defaultValueHint: \"div\",\n // },\n slidesPerRow: {\n displayName: \"Slides Per Row\",\n type: \"number\",\n description:\n \"Number of slides to display in grid mode, this is useful with rows option\",\n defaultValueHint: 1,\n },\n slidesToScroll: {\n advanced: true,\n displayName: \"Slides To Scroll\",\n type: \"number\",\n description: \"Number of slides to scroll at once\",\n defaultValueHint: 1,\n },\n slidesToShow: {\n advanced: true,\n displayName: \"Slides To Show\",\n type: \"number\",\n description: \"Number of slides to show in one frame\",\n defaultValueHint: 1,\n },\n speed: {\n advanced: true,\n displayName: \"Speed\",\n type: \"number\",\n description: \"Transition speed in milliseconds\",\n defaultValueHint: 500,\n },\n swipe: {\n advanced: true,\n displayName: \"Swipe\",\n type: \"boolean\",\n description: \"Enable swiping to change slides\",\n defaultValueHint: true,\n },\n swipeToSlide: {\n advanced: true,\n displayName: \"Swipe To Slide\",\n type: \"boolean\",\n description: \"Enable drag/swipe irrespective of 'slidesToScroll'\",\n defaultValueHint: false,\n },\n touchMove: {\n advanced: true,\n displayName: \"Touch Move\",\n type: \"boolean\",\n description: \"Enable slide moving on touch\",\n defaultValueHint: true,\n },\n touchThreshold: {\n advanced: true,\n displayName: \"Touch Threshold\",\n type: \"number\",\n description: \"Swipe distance threshold in pixels\",\n defaultValueHint: 5,\n },\n useCSS: {\n advanced: true,\n displayName: \"Use CSS\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transitions\",\n defaultValueHint: true,\n },\n useTransform: {\n advanced: true,\n displayName: \"Use Transform\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transforms\",\n defaultValueHint: true,\n },\n variableWidth: {\n advanced: true,\n displayName: \"Variable Width\",\n type: \"boolean\",\n description: \"Variable width slides\",\n defaultValueHint: false,\n },\n vertical: {\n advanced: true,\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n },\n beforeChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"currentSlide\", type: \"number\" }],\n },\n },\n states: {\n currentSlide: {\n type: \"writable\",\n valueProp: \"initialSlide\",\n onChangeProp: \"beforeChange\",\n variableType: \"number\",\n ...sliderHelpers.states.currentSlide,\n },\n },\n componentHelpers: {\n helpers: sliderHelpers,\n importName: \"sliderHelpers\",\n importPath: \"@plasmicpkgs/react-slick\",\n },\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n };\n if (loader) {\n loader.registerComponent(SliderWrapper, sliderMeta);\n } else {\n registerComponent(SliderWrapper, sliderMeta);\n }\n}\n"],"names":["sliderHelpers","states","currentSlide","onChangeArgsToValue","_","newIndex","onMutate","stateValue","$ref","slickGoTo","useDebounce","value","delay","_useState","useState","debouncedValue","setDebouncedValue","useEffect","timer","setTimeout","clearTimeout","SliderWrapper","forwardRef","SliderWrapper_","props","userRef","initialSlide","arrowColor","className","sliderScopeClassName","autoplay","rest","_objectWithoutPropertiesLoose","_excluded","inCanvas","usePlasmicCanvasContext","slider","useRef","debouncedInitialSlide","undefined","_slider$current","current","React","useImperativeHandle","index","dontAnimate","slickNext","slickPause","slickPlay","slickPrev","css","Slider","ref","dangerouslySetInnerHTML","__html","registerSlider","loader","getSlideInfo","_ref","rows","_ref$rows","_ref$slidesPerRow","slidesPerRow","_ref$initialSlide","children","slidesCnt","Array","isArray","length","slidesPerDot","dotCount","Math","ceil","currentDotIndex","totalSlides","CurrentSlideDropdown","_ref2","componentProps","studioOps","_getSlideInfo","options","from","i","map","key","toString","handleChange","e","updateStates","Number","target","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","NavigateSlides","_ref3","_getSlideInfo2","Button","onClick","prevSlide","nextSlide","OutlineMessage","sliderMeta","name","displayName","importName","importPath","description","actions","type","control","label","_ref4","_getSlideInfo3","appendToSlot","src","styles","maxWidth","hidden","ps","_ps$children","_ref5","_getSlideInfo4","removeFromSlotAt","newPos","refActions","argTypes","accessibility","advanced","defaultValueHint","adaptiveHeight","arrows","scopeName","autoplaySpeed","centerMode","centerPadding","dots","draggable","cssEase","easing","fade","focusOnSelect","infinite","lazyLoad","pauseOnDotsHover","pauseOnFocus","pauseOnHover","rtl","slidesToScroll","slidesToShow","speed","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","beforeChange","_extends","valueProp","onChangeProp","variableType","componentHelpers","helpers","defaultStyles","registerComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-slick.cjs.development.js","sources":["../src/index.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n ActionProps,\n ComponentHelpers,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React, {\n ChangeEvent,\n forwardRef,\n Ref,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport Slider, { Settings } from \"react-slick\";\n\ntype SliderProps = Settings & {\n arrowColor?: string;\n sliderScopeClassName: string;\n};\n\nexport const sliderHelpers: ComponentHelpers<SliderProps> = {\n states: {\n currentSlide: {\n onChangeArgsToValue: (_: number, newIndex: number) => newIndex,\n onMutate: (stateValue, $ref) => {\n $ref.slickGoTo(stateValue);\n },\n },\n },\n};\n\nfunction useDebounce<T>(value: T, delay?: number): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n\nexport type SliderMethods = Pick<\n Slider,\n \"slickGoTo\" | \"slickNext\" | \"slickPause\" | \"slickPlay\" | \"slickPrev\"\n>;\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n props: SliderProps,\n userRef?: Ref<SliderMethods>\n) {\n const {\n initialSlide,\n arrowColor,\n className,\n sliderScopeClassName,\n autoplay,\n ...rest\n } = props;\n // \"data-plasmic-canvas-envs\" prop only exists in studio canvas\n const inCanvas = !!usePlasmicCanvasContext();\n const slider = useRef<Slider>(null);\n const debouncedInitialSlide = useDebounce(initialSlide);\n\n useEffect(() => {\n if (debouncedInitialSlide !== undefined) {\n slider.current?.slickGoTo(debouncedInitialSlide);\n }\n }, [debouncedInitialSlide, inCanvas]);\n\n React.useImperativeHandle(\n userRef,\n () => ({\n slickGoTo(index, dontAnimate) {\n if (slider.current) {\n const { slickGoTo } = slider.current;\n slickGoTo(index, dontAnimate);\n }\n },\n slickNext() {\n if (slider.current) {\n const { slickNext } = slider.current;\n slickNext();\n }\n },\n slickPause() {\n if (slider.current) {\n const { slickPause } = slider.current;\n slickPause();\n }\n },\n slickPlay() {\n if (slider.current) {\n const { slickPlay } = slider.current;\n slickPlay();\n }\n },\n slickPrev() {\n if (slider.current) {\n const { slickPrev } = slider.current;\n slickPrev();\n }\n },\n }),\n []\n );\n\n const css = `\n .${sliderScopeClassName} .slick-arrow:before {\n color: ${arrowColor ?? \"black\"};\n }\n .${sliderScopeClassName} .slick-slide img:only-child,\n .${sliderScopeClassName} .slick-slide .__wab_img-wrapper:only-child {\n ${\n /* NOTE: this is otherwise explicitly set to \"block\" by react-slick (which should also fix this issue but somehow doesn't.). */ \"\"\n }\n ${\n /* This style override is added to fix a well-known issue with images inside divs. https://stackoverflow.com/questions/5804256/image-inside-div-has-extra-space-below-the-image */ \"\"\n }\n display: inline-block;\n vertical-align: top;\n }\n `;\n\n return (\n <>\n <Slider\n className={`${className} ${sliderScopeClassName}`}\n ref={slider}\n // We don't want to turn on autoplay while editing in canvas, because this\n // leads to a state update for current slide, which ends up re-rendering\n // the entire artboard.\n autoplay={autoplay && !inCanvas ? autoplay : undefined}\n {...rest}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n});\n\nexport function registerSlider(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n function getSlideInfo({\n rows = 1,\n slidesPerRow = 1,\n initialSlide = 0,\n children,\n }: SliderProps) {\n const slidesCnt = Array.isArray(children) ? children.length : 1;\n\n const slidesPerDot = rows * slidesPerRow;\n const dotCount = Math.ceil(slidesCnt / slidesPerDot);\n const currentDotIndex =\n initialSlide >= dotCount ? dotCount - 1 : initialSlide;\n\n return {\n currentDotIndex,\n slidesPerDot,\n dotCount,\n totalSlides: slidesCnt,\n };\n }\n\n function CurrentSlideDropdown({\n componentProps,\n studioOps,\n }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\n\n const options = Array.from({ length: dotCount }, (_, i) => i).map((i) => {\n return (\n <option key={i} value={i.toString()}>\n Slide {i}\n </option>\n );\n });\n\n const handleChange = (e: ChangeEvent<HTMLSelectElement>) => {\n studioOps.updateStates({ currentSlide: Number(e.target.value) });\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={currentDotIndex.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={currentDotIndex.toString()}\n >\n {options}\n </select>\n </div>\n );\n }\n\n function NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\n const btnStyles = {\n width: \"100%\",\n backgroundColor: \"#f3f3f2\",\n borderRadius: 6,\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={btnStyles}\n onClick={() => {\n const prevSlide =\n currentDotIndex === 0\n ? dotCount - 1\n : (currentDotIndex - 1) % dotCount;\n studioOps.updateStates({ currentSlide: prevSlide });\n }}\n >\n Prev slide\n </button>\n <button\n style={btnStyles}\n onClick={() => {\n const nextSlide = (currentDotIndex + 1) % dotCount;\n studioOps.updateStates({ currentSlide: nextSlide });\n }}\n >\n Next slide\n </button>\n </div>\n );\n }\n\n function OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n }\n const sliderMeta: ComponentMeta<SliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider Carousel\",\n importName: \"SliderWrapper\",\n importPath: \"@plasmicpkgs/react-slick\",\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=GMgXLbNHX8c)\",\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 { dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n const currentSlide =\n totalSlides % slidesPerDot ? dotCount - 1 : dotCount;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n \"children\"\n );\n studioOps.updateStates({ currentSlide });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n hidden: (ps) =>\n (ps.children as any)?.type?.name === \"CanvasSlotPlaceholder\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const { currentDotIndex, dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n studioOps.removeFromSlotAt(\n currentDotIndex * slidesPerDot,\n \"children\"\n );\n let newPos = currentDotIndex;\n if (dotCount === 1) {\n // not the only dot\n newPos = 0;\n } else if (currentDotIndex !== dotCount - 1) {\n // not the last dot\n if (slidesPerDot === 1) {\n newPos = currentDotIndex - 1;\n } else {\n newPos = currentDotIndex;\n }\n } else {\n // the last dot\n newPos =\n totalSlides % slidesPerDot === 1\n ? currentDotIndex - 1\n : currentDotIndex;\n }\n studioOps.updateStates({\n currentSlide: newPos,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n refActions: {\n slickGoTo: {\n displayName: \"Jump to slide\",\n argTypes: [\n {\n name: \"index\",\n displayName: \"Slide index\",\n type: \"number\",\n },\n {\n name: \"dontAnimate\",\n displayName: \"Animate?\",\n type: \"boolean\",\n },\n ],\n },\n slickNext: {\n displayName: \"Go to Next slide\",\n argTypes: [],\n },\n slickPause: {\n displayName: \"Pause\",\n argTypes: [],\n },\n slickPlay: {\n displayName: \"Play\",\n argTypes: [],\n },\n slickPrev: {\n displayName: \"Go to Previous slide\",\n argTypes: [],\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 accessibility: {\n advanced: true,\n displayName: \"Accessibility\",\n type: \"boolean\",\n description: \"Enables tabbing and arrow key navigation\",\n defaultValueHint: true,\n },\n adaptiveHeight: {\n advanced: true,\n displayName: \"Adaptive Height\",\n type: \"boolean\",\n description: \"Adjust the slide's height automatically\",\n defaultValueHint: false,\n },\n arrows: {\n displayName: \"Arrows\",\n type: \"boolean\",\n description: \"Show next/prev arrows\",\n defaultValueHint: true,\n },\n sliderScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"slider\",\n } as any,\n arrowColor: {\n type: \"color\",\n description: \"Color of next/prev arrow buttons\",\n defaultValueHint: \"#000000\",\n hidden: (ps) => (ps.arrows === undefined ? false : !ps.arrows),\n },\n autoplay: {\n displayName: \"Auto Play\",\n type: \"boolean\",\n description:\n \"Automatically start scrolling; does not take effect while in the editor, but you can see it in live preview.\",\n defaultValueHint: false,\n },\n autoplaySpeed: {\n displayName: \"Auto Play Speed\",\n type: \"number\",\n description: \"Delay between each auto scroll, in milliseconds\",\n defaultValueHint: 3000,\n hidden: (props) => !props.autoplay,\n },\n centerMode: {\n displayName: \"Center Mode\",\n type: \"boolean\",\n description:\n \"Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts\",\n defaultValueHint: false,\n },\n centerPadding: {\n displayName: \"Center Padding\",\n type: \"string\",\n description: \"Side padding when in center mode (px or %)\",\n defaultValueHint: \"50px\",\n hidden: (props) => !props.centerMode,\n },\n dots: {\n displayName: \"Dots\",\n type: \"boolean\",\n description: \"Show dots for each slide\",\n defaultValueHint: false,\n },\n draggable: {\n advanced: true,\n displayName: \"Draggable\",\n type: \"boolean\",\n description: \"Enables mouse dragging on desktop\",\n defaultValueHint: true,\n },\n cssEase: {\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n /** Deprecated, this was apparently never working:\n * https://github.com/akiran/react-slick/issues/363 */\n easing: {\n hidden: () => true,\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n fade: {\n advanced: true,\n displayName: \"Fade\",\n type: \"boolean\",\n description: \"Cross-fade between slides\",\n defaultValueHint: false,\n },\n focusOnSelect: {\n advanced: true,\n displayName: \"Focus On Select\",\n type: \"boolean\",\n description: \"Go to slide on click\",\n defaultValueHint: false,\n },\n infinite: {\n displayName: \"Infinite\",\n type: \"boolean\",\n description: \"Infinitely wrap around contents\",\n defaultValueHint: true,\n },\n initialSlide: {\n displayName: \"Initial Slide\",\n type: \"number\",\n description:\n \"Index of the first visible slide (first is 0), accounting for multiple slides per view if applicable.\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n lazyLoad: {\n advanced: true,\n displayName: \"Lazy Load\",\n type: \"choice\",\n options: [\"ondemand\", \"progressive\"],\n description:\n \"Load images or render components on demand or progressively\",\n },\n pauseOnDotsHover: {\n displayName: \"Pause On Dots Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on dots\",\n defaultValueHint: false,\n },\n pauseOnFocus: {\n displayName: \"Pause On Focus\",\n type: \"boolean\",\n description: \"Prevents autoplay while focused on slides\",\n defaultValueHint: false,\n },\n pauseOnHover: {\n displayName: \"Pause On Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on track\",\n defaultValueHint: true,\n },\n rows: {\n displayName: \"Rows\",\n type: \"number\",\n description: \"Number of rows per slide (enables grid mode)\",\n defaultValueHint: 1,\n },\n rtl: {\n advanced: true,\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n // Looks like the `slide` prop is not being used to set the container tag:\n // https://github.com/akiran/react-slick/issues/1318\n // https://github.com/akiran/react-slick/pull/1885\n // https://stackoverflow.com/questions/51492535/wrap-react-slick-li-slides-inside-ul\n //\n // slide: {\n // displayName: \"Slide Tag\",\n // type: \"string\",\n // description: 'Slide container element type',\n // defaultValueHint: \"div\",\n // },\n slidesPerRow: {\n displayName: \"Slides Per Row\",\n type: \"number\",\n description:\n \"Number of slides to display in grid mode, this is useful with rows option\",\n defaultValueHint: 1,\n },\n slidesToScroll: {\n advanced: true,\n displayName: \"Slides To Scroll\",\n type: \"number\",\n description: \"Number of slides to scroll at once\",\n defaultValueHint: 1,\n },\n slidesToShow: {\n advanced: true,\n displayName: \"Slides To Show\",\n type: \"number\",\n description: \"Number of slides to show in one frame\",\n defaultValueHint: 1,\n },\n speed: {\n advanced: true,\n displayName: \"Speed\",\n type: \"number\",\n description: \"Transition speed in milliseconds\",\n defaultValueHint: 500,\n },\n swipe: {\n advanced: true,\n displayName: \"Swipe\",\n type: \"boolean\",\n description: \"Enable swiping to change slides\",\n defaultValueHint: true,\n },\n swipeToSlide: {\n advanced: true,\n displayName: \"Swipe To Slide\",\n type: \"boolean\",\n description: \"Enable drag/swipe irrespective of 'slidesToScroll'\",\n defaultValueHint: false,\n },\n touchMove: {\n advanced: true,\n displayName: \"Touch Move\",\n type: \"boolean\",\n description: \"Enable slide moving on touch\",\n defaultValueHint: true,\n },\n touchThreshold: {\n advanced: true,\n displayName: \"Touch Threshold\",\n type: \"number\",\n description: \"Swipe distance threshold in pixels\",\n defaultValueHint: 5,\n },\n useCSS: {\n advanced: true,\n displayName: \"Use CSS\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transitions\",\n defaultValueHint: true,\n },\n useTransform: {\n advanced: true,\n displayName: \"Use Transform\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transforms\",\n defaultValueHint: true,\n },\n variableWidth: {\n advanced: true,\n displayName: \"Variable Width\",\n type: \"boolean\",\n description: \"Variable width slides\",\n defaultValueHint: false,\n },\n vertical: {\n advanced: true,\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n },\n beforeChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"currentSlide\", type: \"number\" }],\n },\n },\n states: {\n currentSlide: {\n type: \"writable\",\n valueProp: \"initialSlide\",\n onChangeProp: \"beforeChange\",\n variableType: \"number\",\n ...sliderHelpers.states.currentSlide,\n },\n },\n componentHelpers: {\n helpers: sliderHelpers,\n importName: \"sliderHelpers\",\n importPath: \"@plasmicpkgs/react-slick\",\n },\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n };\n if (loader) {\n loader.registerComponent(SliderWrapper, sliderMeta);\n } else {\n registerComponent(SliderWrapper, sliderMeta);\n }\n}\n"],"names":["sliderHelpers","states","currentSlide","onChangeArgsToValue","_","newIndex","onMutate","stateValue","$ref","slickGoTo","useDebounce","value","delay","_useState","useState","debouncedValue","setDebouncedValue","useEffect","timer","setTimeout","clearTimeout","SliderWrapper","forwardRef","SliderWrapper_","props","userRef","initialSlide","arrowColor","className","sliderScopeClassName","autoplay","rest","_objectWithoutPropertiesLoose","_excluded","inCanvas","usePlasmicCanvasContext","slider","useRef","debouncedInitialSlide","undefined","_slider$current","current","React","useImperativeHandle","index","dontAnimate","slickNext","slickPause","slickPlay","slickPrev","css","Slider","ref","dangerouslySetInnerHTML","__html","registerSlider","loader","getSlideInfo","_ref","rows","_ref$rows","_ref$slidesPerRow","slidesPerRow","_ref$initialSlide","children","slidesCnt","Array","isArray","length","slidesPerDot","dotCount","Math","ceil","currentDotIndex","totalSlides","CurrentSlideDropdown","_ref2","componentProps","studioOps","_getSlideInfo","options","from","i","map","key","toString","handleChange","e","updateStates","Number","target","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","NavigateSlides","_ref3","_getSlideInfo2","btnStyles","backgroundColor","borderRadius","onClick","prevSlide","nextSlide","OutlineMessage","sliderMeta","name","displayName","importName","importPath","description","actions","type","control","label","_ref4","_getSlideInfo3","appendToSlot","src","styles","maxWidth","hidden","ps","_ps$children","_ref5","_getSlideInfo4","removeFromSlotAt","newPos","refActions","argTypes","accessibility","advanced","defaultValueHint","adaptiveHeight","arrows","scopeName","autoplaySpeed","centerMode","centerPadding","dots","draggable","cssEase","easing","fade","focusOnSelect","infinite","lazyLoad","pauseOnDotsHover","pauseOnFocus","pauseOnHover","rtl","slidesToScroll","slidesToShow","speed","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","beforeChange","_extends","valueProp","onChangeProp","variableType","componentHelpers","helpers","defaultStyles","registerComponent"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@plasmicapp/host"),i=e(require("@plasmicapp/host/registerComponent")),a=require("antd"),n=require("react"),l=e(n),o=e(require("react-slick"));function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(e[a]=i[a])}return e}).apply(this,arguments)}var s=["initialSlide","arrowColor","className","sliderScopeClassName","autoplay"],d={states:{currentSlide:{onChangeArgsToValue:function(e,t){return t},onMutate:function(e,t){t.slickGoTo(e)}}}},c=n.forwardRef((function(e,i){var a,r,d,c,u=e.initialSlide,p=e.arrowColor,y=e.className,m=e.sliderScopeClassName,f=e.autoplay,v=function(e,t){if(null==e)return{};var i,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)t.indexOf(i=l[a])>=0||(n[i]=e[i]);return n}(e,s),h=!!t.usePlasmicCanvasContext(),b=n.useRef(null),g=(d=(r=n.useState(a=u))[0],c=r[1],n.useEffect((function(){var e=setTimeout((function(){return c(a)}),500);return function(){clearTimeout(e)}}),[a,void 0]),d);n.useEffect((function(){var e;void 0!==g&&(null==(e=b.current)||e.slickGoTo(g))}),[g,h]),l.useImperativeHandle(i,(function(){return{slickGoTo:function(e,t){b.current&&(0,b.current.slickGoTo)(e,t)},slickNext:function(){b.current&&(0,b.current.slickNext)()},slickPause:function(){b.current&&(0,b.current.slickPause)()},slickPlay:function(){b.current&&(0,b.current.slickPlay)()},slickPrev:function(){b.current&&(0,b.current.slickPrev)()}}}),[]);var S="\n ."+m+" .slick-arrow:before {\n color: "+(null!=p?p:"black")+";\n }\n ."+m+" .slick-slide img:only-child,\n ."+m+" .slick-slide .__wab_img-wrapper:only-child {\n \n \n display: inline-block;\n vertical-align: top;\n }\n ";return l.createElement(l.Fragment,null,l.createElement(o,Object.assign({className:y+" "+m,ref:b,autoplay:f&&!h?f:void 0},v)),l.createElement("style",{dangerouslySetInnerHTML:{__html:S}}))}));exports.SliderWrapper=c,exports.registerSlider=function(e){function t(e){var t=e.rows,i=void 0===t?1:t,a=e.slidesPerRow,n=void 0===a?1:a,l=e.initialSlide,o=void 0===l?0:l,r=e.children,s=Array.isArray(r)?r.length:1,d=i*n,c=Math.ceil(s/d);return{currentDotIndex:o>=c?c-1:o,slidesPerDot:d,dotCount:c,totalSlides:s}}var n={name:"hostless-slider",displayName:"Slider Carousel",importName:"SliderWrapper",importPath:"@plasmicpkgs/react-slick",description:"[See tutorial video](https://www.youtube.com/watch?v=GMgXLbNHX8c)",actions:[{type:"custom-action",control:function(e){var i=e.studioOps,a=t(e.componentProps),n=a.currentDotIndex,o=Array.from({length:a.dotCount},(function(e,t){return t})).map((function(e){return l.createElement("option",{key:e,value:e.toString()},"Slide ",e)}));return l.createElement("div",{style:{width:"100%",display:"flex",flexDirection:"row",gap:"10px",justifyContent:"space-between"}},l.createElement("div",null,"Current slide:"),l.createElement("select",{defaultValue:n.toString(),style:{width:"100%"},onChange:function(e){i.updateStates({currentSlide:Number(e.target.value)})},value:n.toString()},o))}},{type:"custom-action",control:function(e){var i=e.studioOps,n=t(e.componentProps),o=n.dotCount,r=n.currentDotIndex;return l.createElement("div",{style:{width:"100%",display:"flex",flexDirection:"row",gap:"10px",justifyContent:"space-between"}},l.createElement(a.Button,{style:{width:"100%"},onClick:function(){i.updateStates({currentSlide:0===r?o-1:(r-1)%o})}},"Prev slide"),l.createElement(a.Button,{style:{width:"100%"},onClick:function(){i.updateStates({currentSlide:(r+1)%o})}},"Next slide"))}},{type:"button-action",label:"Append new slide",onClick:function(e){var i=e.studioOps,a=t(e.componentProps),n=a.dotCount,l=a.totalSlides%a.slidesPerDot?n-1:n;i.appendToSlot({type:"img",src:"",styles:{maxWidth:"100%"}},"children"),i.updateStates({currentSlide:l})}},{type:"button-action",label:"Delete current slide",hidden:function(e){var t;return"CanvasSlotPlaceholder"===(null==(t=e.children)||null==(t=t.type)?void 0:t.name)},onClick:function(e){var i=e.studioOps,a=t(e.componentProps),n=a.currentDotIndex,l=a.dotCount,o=a.slidesPerDot,r=a.totalSlides;i.removeFromSlotAt(n*o,"children"),i.updateStates({currentSlide:1===l?0:n!==l-1?1===o?n-1:n:r%o==1?n-1:n})}},{type:"custom-action",control:function(){return l.createElement("div",null,"* To re-arrange slides, use the Outline panel")}}],refActions:{slickGoTo:{displayName:"Jump to slide",argTypes:[{name:"index",displayName:"Slide index",type:"number"},{name:"dontAnimate",displayName:"Animate?",type:"boolean"}]},slickNext:{displayName:"Go to Next slide",argTypes:[]},slickPause:{displayName:"Pause",argTypes:[]},slickPlay:{displayName:"Play",argTypes:[]},slickPrev:{displayName:"Go to Previous slide",argTypes:[]}},props:{children:{type:"slot",defaultValue:[0,1,2].map((function(e){return{type:"vbox",children:{type:"img",src:"https://static1.plasmic.app/components/react-slick/slide"+(e+1)+".png",styles:{maxWidth:"100%"}}}}))},accessibility:{advanced:!0,displayName:"Accessibility",type:"boolean",description:"Enables tabbing and arrow key navigation",defaultValueHint:!0},adaptiveHeight:{advanced:!0,displayName:"Adaptive Height",type:"boolean",description:"Adjust the slide's height automatically",defaultValueHint:!1},arrows:{displayName:"Arrows",type:"boolean",description:"Show next/prev arrows",defaultValueHint:!0},sliderScopeClassName:{type:"styleScopeClass",scopeName:"slider"},arrowColor:{type:"color",description:"Color of next/prev arrow buttons",defaultValueHint:"#000000",hidden:function(e){return void 0!==e.arrows&&!e.arrows}},autoplay:{displayName:"Auto Play",type:"boolean",description:"Automatically start scrolling; does not take effect while in the editor, but you can see it in live preview.",defaultValueHint:!1},autoplaySpeed:{displayName:"Auto Play Speed",type:"number",description:"Delay between each auto scroll, in milliseconds",defaultValueHint:3e3,hidden:function(e){return!e.autoplay}},centerMode:{displayName:"Center Mode",type:"boolean",description:"Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts",defaultValueHint:!1},centerPadding:{displayName:"Center Padding",type:"string",description:"Side padding when in center mode (px or %)",defaultValueHint:"50px",hidden:function(e){return!e.centerMode}},dots:{displayName:"Dots",type:"boolean",description:"Show dots for each slide",defaultValueHint:!1},draggable:{advanced:!0,displayName:"Draggable",type:"boolean",description:"Enables mouse dragging on desktop",defaultValueHint:!0},cssEase:{advanced:!0,displayName:"Easing",type:"string",description:"Easing method for transition",defaultValueHint:"linear"},easing:{hidden:function(){return!0},advanced:!0,displayName:"Easing",type:"string",description:"Easing method for transition",defaultValueHint:"linear"},fade:{advanced:!0,displayName:"Fade",type:"boolean",description:"Cross-fade between slides",defaultValueHint:!1},focusOnSelect:{advanced:!0,displayName:"Focus On Select",type:"boolean",description:"Go to slide on click",defaultValueHint:!1},infinite:{displayName:"Infinite",type:"boolean",description:"Infinitely wrap around contents",defaultValueHint:!0},initialSlide:{displayName:"Initial Slide",type:"number",description:"Index of the first visible slide (first is 0), accounting for multiple slides per view if applicable.",defaultValueHint:0,defaultValue:0},lazyLoad:{advanced:!0,displayName:"Lazy Load",type:"choice",options:["ondemand","progressive"],description:"Load images or render components on demand or progressively"},pauseOnDotsHover:{displayName:"Pause On Dots Hover",type:"boolean",description:"Prevents autoplay while hovering on dots",defaultValueHint:!1},pauseOnFocus:{displayName:"Pause On Focus",type:"boolean",description:"Prevents autoplay while focused on slides",defaultValueHint:!1},pauseOnHover:{displayName:"Pause On Hover",type:"boolean",description:"Prevents autoplay while hovering on track",defaultValueHint:!0},rows:{displayName:"Rows",type:"number",description:"Number of rows per slide (enables grid mode)",defaultValueHint:1},rtl:{advanced:!0,displayName:"Reverse",type:"boolean",description:"Reverses the slide order",defaultValueHint:!1},slidesPerRow:{displayName:"Slides Per Row",type:"number",description:"Number of slides to display in grid mode, this is useful with rows option",defaultValueHint:1},slidesToScroll:{advanced:!0,displayName:"Slides To Scroll",type:"number",description:"Number of slides to scroll at once",defaultValueHint:1},slidesToShow:{advanced:!0,displayName:"Slides To Show",type:"number",description:"Number of slides to show in one frame",defaultValueHint:1},speed:{advanced:!0,displayName:"Speed",type:"number",description:"Transition speed in milliseconds",defaultValueHint:500},swipe:{advanced:!0,displayName:"Swipe",type:"boolean",description:"Enable swiping to change slides",defaultValueHint:!0},swipeToSlide:{advanced:!0,displayName:"Swipe To Slide",type:"boolean",description:"Enable drag/swipe irrespective of 'slidesToScroll'",defaultValueHint:!1},touchMove:{advanced:!0,displayName:"Touch Move",type:"boolean",description:"Enable slide moving on touch",defaultValueHint:!0},touchThreshold:{advanced:!0,displayName:"Touch Threshold",type:"number",description:"Swipe distance threshold in pixels",defaultValueHint:5},useCSS:{advanced:!0,displayName:"Use CSS",type:"boolean",description:"Enable/Disable CSS Transitions",defaultValueHint:!0},useTransform:{advanced:!0,displayName:"Use Transform",type:"boolean",description:"Enable/Disable CSS Transforms",defaultValueHint:!0},variableWidth:{advanced:!0,displayName:"Variable Width",type:"boolean",description:"Variable width slides",defaultValueHint:!1},vertical:{advanced:!0,displayName:"Vertical",type:"boolean",description:"Vertical slide mode",defaultValueHint:!1},beforeChange:{type:"eventHandler",advanced:!0,argTypes:[{name:"currentSlide",type:"number"}]}},states:{currentSlide:r({type:"writable",valueProp:"initialSlide",onChangeProp:"beforeChange",variableType:"number"},d.states.currentSlide)},componentHelpers:{helpers:d,importName:"sliderHelpers",importPath:"@plasmicpkgs/react-slick"},defaultStyles:{width:"stretch",maxWidth:"100%",flexDirection:"column"}};e?e.registerComponent(c,n):i(c,n)},exports.sliderHelpers=d;
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@plasmicapp/host"),i=e(require("@plasmicapp/host/registerComponent")),a=require("react"),n=e(a),l=e(require("react-slick"));function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(e[a]=i[a])}return e}).apply(this,arguments)}var r=["initialSlide","arrowColor","className","sliderScopeClassName","autoplay"],s={states:{currentSlide:{onChangeArgsToValue:function(e,t){return t},onMutate:function(e,t){t.slickGoTo(e)}}}},d=a.forwardRef((function(e,i){var o,s,d,c,u=e.initialSlide,p=e.arrowColor,y=e.className,m=e.sliderScopeClassName,f=e.autoplay,v=function(e,t){if(null==e)return{};var i,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)t.indexOf(i=l[a])>=0||(n[i]=e[i]);return n}(e,r),b=!!t.usePlasmicCanvasContext(),h=a.useRef(null),g=(d=(s=a.useState(o=u))[0],c=s[1],a.useEffect((function(){var e=setTimeout((function(){return c(o)}),500);return function(){clearTimeout(e)}}),[o,void 0]),d);a.useEffect((function(){var e;void 0!==g&&(null==(e=h.current)||e.slickGoTo(g))}),[g,b]),n.useImperativeHandle(i,(function(){return{slickGoTo:function(e,t){h.current&&(0,h.current.slickGoTo)(e,t)},slickNext:function(){h.current&&(0,h.current.slickNext)()},slickPause:function(){h.current&&(0,h.current.slickPause)()},slickPlay:function(){h.current&&(0,h.current.slickPlay)()},slickPrev:function(){h.current&&(0,h.current.slickPrev)()}}}),[]);var S="\n ."+m+" .slick-arrow:before {\n color: "+(null!=p?p:"black")+";\n }\n ."+m+" .slick-slide img:only-child,\n ."+m+" .slick-slide .__wab_img-wrapper:only-child {\n \n \n display: inline-block;\n vertical-align: top;\n }\n ";return n.createElement(n.Fragment,null,n.createElement(l,Object.assign({className:y+" "+m,ref:h,autoplay:f&&!b?f:void 0},v)),n.createElement("style",{dangerouslySetInnerHTML:{__html:S}}))}));exports.SliderWrapper=d,exports.registerSlider=function(e){function t(e){var t=e.rows,i=void 0===t?1:t,a=e.slidesPerRow,n=void 0===a?1:a,l=e.initialSlide,o=void 0===l?0:l,r=e.children,s=Array.isArray(r)?r.length:1,d=i*n,c=Math.ceil(s/d);return{currentDotIndex:o>=c?c-1:o,slidesPerDot:d,dotCount:c,totalSlides:s}}var a={name:"hostless-slider",displayName:"Slider Carousel",importName:"SliderWrapper",importPath:"@plasmicpkgs/react-slick",description:"[See tutorial video](https://www.youtube.com/watch?v=GMgXLbNHX8c)",actions:[{type:"custom-action",control:function(e){var i=e.studioOps,a=t(e.componentProps),l=a.currentDotIndex,o=Array.from({length:a.dotCount},(function(e,t){return t})).map((function(e){return n.createElement("option",{key:e,value:e.toString()},"Slide ",e)}));return n.createElement("div",{style:{width:"100%",display:"flex",flexDirection:"row",gap:"10px",justifyContent:"space-between"}},n.createElement("div",null,"Current slide:"),n.createElement("select",{defaultValue:l.toString(),style:{width:"100%"},onChange:function(e){i.updateStates({currentSlide:Number(e.target.value)})},value:l.toString()},o))}},{type:"custom-action",control:function(e){var i=e.studioOps,a=t(e.componentProps),l=a.dotCount,o=a.currentDotIndex,r={width:"100%",backgroundColor:"#f3f3f2",borderRadius:6};return n.createElement("div",{style:{width:"100%",display:"flex",flexDirection:"row",gap:"10px",justifyContent:"space-between"}},n.createElement("button",{style:r,onClick:function(){i.updateStates({currentSlide:0===o?l-1:(o-1)%l})}},"Prev slide"),n.createElement("button",{style:r,onClick:function(){i.updateStates({currentSlide:(o+1)%l})}},"Next slide"))}},{type:"button-action",label:"Append new slide",onClick:function(e){var i=e.studioOps,a=t(e.componentProps),n=a.dotCount,l=a.totalSlides%a.slidesPerDot?n-1:n;i.appendToSlot({type:"img",src:"",styles:{maxWidth:"100%"}},"children"),i.updateStates({currentSlide:l})}},{type:"button-action",label:"Delete current slide",hidden:function(e){var t;return"CanvasSlotPlaceholder"===(null==(t=e.children)||null==(t=t.type)?void 0:t.name)},onClick:function(e){var i=e.studioOps,a=t(e.componentProps),n=a.currentDotIndex,l=a.dotCount,o=a.slidesPerDot,r=a.totalSlides;i.removeFromSlotAt(n*o,"children"),i.updateStates({currentSlide:1===l?0:n!==l-1?1===o?n-1:n:r%o==1?n-1:n})}},{type:"custom-action",control:function(){return n.createElement("div",null,"* To re-arrange slides, use the Outline panel")}}],refActions:{slickGoTo:{displayName:"Jump to slide",argTypes:[{name:"index",displayName:"Slide index",type:"number"},{name:"dontAnimate",displayName:"Animate?",type:"boolean"}]},slickNext:{displayName:"Go to Next slide",argTypes:[]},slickPause:{displayName:"Pause",argTypes:[]},slickPlay:{displayName:"Play",argTypes:[]},slickPrev:{displayName:"Go to Previous slide",argTypes:[]}},props:{children:{type:"slot",defaultValue:[0,1,2].map((function(e){return{type:"vbox",children:{type:"img",src:"https://static1.plasmic.app/components/react-slick/slide"+(e+1)+".png",styles:{maxWidth:"100%"}}}}))},accessibility:{advanced:!0,displayName:"Accessibility",type:"boolean",description:"Enables tabbing and arrow key navigation",defaultValueHint:!0},adaptiveHeight:{advanced:!0,displayName:"Adaptive Height",type:"boolean",description:"Adjust the slide's height automatically",defaultValueHint:!1},arrows:{displayName:"Arrows",type:"boolean",description:"Show next/prev arrows",defaultValueHint:!0},sliderScopeClassName:{type:"styleScopeClass",scopeName:"slider"},arrowColor:{type:"color",description:"Color of next/prev arrow buttons",defaultValueHint:"#000000",hidden:function(e){return void 0!==e.arrows&&!e.arrows}},autoplay:{displayName:"Auto Play",type:"boolean",description:"Automatically start scrolling; does not take effect while in the editor, but you can see it in live preview.",defaultValueHint:!1},autoplaySpeed:{displayName:"Auto Play Speed",type:"number",description:"Delay between each auto scroll, in milliseconds",defaultValueHint:3e3,hidden:function(e){return!e.autoplay}},centerMode:{displayName:"Center Mode",type:"boolean",description:"Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts",defaultValueHint:!1},centerPadding:{displayName:"Center Padding",type:"string",description:"Side padding when in center mode (px or %)",defaultValueHint:"50px",hidden:function(e){return!e.centerMode}},dots:{displayName:"Dots",type:"boolean",description:"Show dots for each slide",defaultValueHint:!1},draggable:{advanced:!0,displayName:"Draggable",type:"boolean",description:"Enables mouse dragging on desktop",defaultValueHint:!0},cssEase:{advanced:!0,displayName:"Easing",type:"string",description:"Easing method for transition",defaultValueHint:"linear"},easing:{hidden:function(){return!0},advanced:!0,displayName:"Easing",type:"string",description:"Easing method for transition",defaultValueHint:"linear"},fade:{advanced:!0,displayName:"Fade",type:"boolean",description:"Cross-fade between slides",defaultValueHint:!1},focusOnSelect:{advanced:!0,displayName:"Focus On Select",type:"boolean",description:"Go to slide on click",defaultValueHint:!1},infinite:{displayName:"Infinite",type:"boolean",description:"Infinitely wrap around contents",defaultValueHint:!0},initialSlide:{displayName:"Initial Slide",type:"number",description:"Index of the first visible slide (first is 0), accounting for multiple slides per view if applicable.",defaultValueHint:0,defaultValue:0},lazyLoad:{advanced:!0,displayName:"Lazy Load",type:"choice",options:["ondemand","progressive"],description:"Load images or render components on demand or progressively"},pauseOnDotsHover:{displayName:"Pause On Dots Hover",type:"boolean",description:"Prevents autoplay while hovering on dots",defaultValueHint:!1},pauseOnFocus:{displayName:"Pause On Focus",type:"boolean",description:"Prevents autoplay while focused on slides",defaultValueHint:!1},pauseOnHover:{displayName:"Pause On Hover",type:"boolean",description:"Prevents autoplay while hovering on track",defaultValueHint:!0},rows:{displayName:"Rows",type:"number",description:"Number of rows per slide (enables grid mode)",defaultValueHint:1},rtl:{advanced:!0,displayName:"Reverse",type:"boolean",description:"Reverses the slide order",defaultValueHint:!1},slidesPerRow:{displayName:"Slides Per Row",type:"number",description:"Number of slides to display in grid mode, this is useful with rows option",defaultValueHint:1},slidesToScroll:{advanced:!0,displayName:"Slides To Scroll",type:"number",description:"Number of slides to scroll at once",defaultValueHint:1},slidesToShow:{advanced:!0,displayName:"Slides To Show",type:"number",description:"Number of slides to show in one frame",defaultValueHint:1},speed:{advanced:!0,displayName:"Speed",type:"number",description:"Transition speed in milliseconds",defaultValueHint:500},swipe:{advanced:!0,displayName:"Swipe",type:"boolean",description:"Enable swiping to change slides",defaultValueHint:!0},swipeToSlide:{advanced:!0,displayName:"Swipe To Slide",type:"boolean",description:"Enable drag/swipe irrespective of 'slidesToScroll'",defaultValueHint:!1},touchMove:{advanced:!0,displayName:"Touch Move",type:"boolean",description:"Enable slide moving on touch",defaultValueHint:!0},touchThreshold:{advanced:!0,displayName:"Touch Threshold",type:"number",description:"Swipe distance threshold in pixels",defaultValueHint:5},useCSS:{advanced:!0,displayName:"Use CSS",type:"boolean",description:"Enable/Disable CSS Transitions",defaultValueHint:!0},useTransform:{advanced:!0,displayName:"Use Transform",type:"boolean",description:"Enable/Disable CSS Transforms",defaultValueHint:!0},variableWidth:{advanced:!0,displayName:"Variable Width",type:"boolean",description:"Variable width slides",defaultValueHint:!1},vertical:{advanced:!0,displayName:"Vertical",type:"boolean",description:"Vertical slide mode",defaultValueHint:!1},beforeChange:{type:"eventHandler",advanced:!0,argTypes:[{name:"currentSlide",type:"number"}]}},states:{currentSlide:o({type:"writable",valueProp:"initialSlide",onChangeProp:"beforeChange",variableType:"number"},s.states.currentSlide)},componentHelpers:{helpers:s,importName:"sliderHelpers",importPath:"@plasmicpkgs/react-slick"},defaultStyles:{width:"stretch",maxWidth:"100%",flexDirection:"column"}};e?e.registerComponent(d,a):i(d,a)},exports.sliderHelpers=s;
|
|
2
2
|
//# sourceMappingURL=react-slick.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-slick.cjs.production.min.js","sources":["../src/index.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n ActionProps,\n ComponentHelpers,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button } from \"antd\";\nimport React, {\n ChangeEvent,\n forwardRef,\n Ref,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport Slider, { Settings } from \"react-slick\";\n\ntype SliderProps = Settings & {\n arrowColor?: string;\n sliderScopeClassName: string;\n};\n\nexport const sliderHelpers: ComponentHelpers<SliderProps> = {\n states: {\n currentSlide: {\n onChangeArgsToValue: (_: number, newIndex: number) => newIndex,\n onMutate: (stateValue, $ref) => {\n $ref.slickGoTo(stateValue);\n },\n },\n },\n};\n\nfunction useDebounce<T>(value: T, delay?: number): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n\nexport type SliderMethods = Pick<\n Slider,\n \"slickGoTo\" | \"slickNext\" | \"slickPause\" | \"slickPlay\" | \"slickPrev\"\n>;\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n props: SliderProps,\n userRef?: Ref<SliderMethods>\n) {\n const {\n initialSlide,\n arrowColor,\n className,\n sliderScopeClassName,\n autoplay,\n ...rest\n } = props;\n // \"data-plasmic-canvas-envs\" prop only exists in studio canvas\n const inCanvas = !!usePlasmicCanvasContext();\n const slider = useRef<Slider>(null);\n const debouncedInitialSlide = useDebounce(initialSlide);\n\n useEffect(() => {\n if (debouncedInitialSlide !== undefined) {\n slider.current?.slickGoTo(debouncedInitialSlide);\n }\n }, [debouncedInitialSlide, inCanvas]);\n\n React.useImperativeHandle(\n userRef,\n () => ({\n slickGoTo(index, dontAnimate) {\n if (slider.current) {\n const { slickGoTo } = slider.current;\n slickGoTo(index, dontAnimate);\n }\n },\n slickNext() {\n if (slider.current) {\n const { slickNext } = slider.current;\n slickNext();\n }\n },\n slickPause() {\n if (slider.current) {\n const { slickPause } = slider.current;\n slickPause();\n }\n },\n slickPlay() {\n if (slider.current) {\n const { slickPlay } = slider.current;\n slickPlay();\n }\n },\n slickPrev() {\n if (slider.current) {\n const { slickPrev } = slider.current;\n slickPrev();\n }\n },\n }),\n []\n );\n\n const css = `\n .${sliderScopeClassName} .slick-arrow:before {\n color: ${arrowColor ?? \"black\"};\n }\n .${sliderScopeClassName} .slick-slide img:only-child,\n .${sliderScopeClassName} .slick-slide .__wab_img-wrapper:only-child {\n ${\n /* NOTE: this is otherwise explicitly set to \"block\" by react-slick (which should also fix this issue but somehow doesn't.). */ \"\"\n }\n ${\n /* This style override is added to fix a well-known issue with images inside divs. https://stackoverflow.com/questions/5804256/image-inside-div-has-extra-space-below-the-image */ \"\"\n }\n display: inline-block;\n vertical-align: top;\n }\n `;\n\n return (\n <>\n <Slider\n className={`${className} ${sliderScopeClassName}`}\n ref={slider}\n // We don't want to turn on autoplay while editing in canvas, because this\n // leads to a state update for current slide, which ends up re-rendering\n // the entire artboard.\n autoplay={autoplay && !inCanvas ? autoplay : undefined}\n {...rest}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n});\n\nexport function registerSlider(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n function getSlideInfo({\n rows = 1,\n slidesPerRow = 1,\n initialSlide = 0,\n children,\n }: SliderProps) {\n const slidesCnt = Array.isArray(children) ? children.length : 1;\n\n const slidesPerDot = rows * slidesPerRow;\n const dotCount = Math.ceil(slidesCnt / slidesPerDot);\n const currentDotIndex =\n initialSlide >= dotCount ? dotCount - 1 : initialSlide;\n\n return {\n currentDotIndex,\n slidesPerDot,\n dotCount,\n totalSlides: slidesCnt,\n };\n }\n\n function CurrentSlideDropdown({\n componentProps,\n studioOps,\n }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\n\n const options = Array.from({ length: dotCount }, (_, i) => i).map((i) => {\n return (\n <option key={i} value={i.toString()}>\n Slide {i}\n </option>\n );\n });\n\n const handleChange = (e: ChangeEvent<HTMLSelectElement>) => {\n studioOps.updateStates({ currentSlide: Number(e.target.value) });\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={currentDotIndex.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={currentDotIndex.toString()}\n >\n {options}\n </select>\n </div>\n );\n }\n\n function NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\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 =\n currentDotIndex === 0\n ? dotCount - 1\n : (currentDotIndex - 1) % dotCount;\n studioOps.updateStates({ currentSlide: prevSlide });\n }}\n >\n Prev slide\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const nextSlide = (currentDotIndex + 1) % dotCount;\n studioOps.updateStates({ currentSlide: nextSlide });\n }}\n >\n Next slide\n </Button>\n </div>\n );\n }\n\n function OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n }\n const sliderMeta: ComponentMeta<SliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider Carousel\",\n importName: \"SliderWrapper\",\n importPath: \"@plasmicpkgs/react-slick\",\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=GMgXLbNHX8c)\",\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 { dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n const currentSlide =\n totalSlides % slidesPerDot ? dotCount - 1 : dotCount;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n \"children\"\n );\n studioOps.updateStates({ currentSlide });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n hidden: (ps) =>\n (ps.children as any)?.type?.name === \"CanvasSlotPlaceholder\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const { currentDotIndex, dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n studioOps.removeFromSlotAt(\n currentDotIndex * slidesPerDot,\n \"children\"\n );\n let newPos = currentDotIndex;\n if (dotCount === 1) {\n // not the only dot\n newPos = 0;\n } else if (currentDotIndex !== dotCount - 1) {\n // not the last dot\n if (slidesPerDot === 1) {\n newPos = currentDotIndex - 1;\n } else {\n newPos = currentDotIndex;\n }\n } else {\n // the last dot\n newPos =\n totalSlides % slidesPerDot === 1\n ? currentDotIndex - 1\n : currentDotIndex;\n }\n studioOps.updateStates({\n currentSlide: newPos,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n refActions: {\n slickGoTo: {\n displayName: \"Jump to slide\",\n argTypes: [\n {\n name: \"index\",\n displayName: \"Slide index\",\n type: \"number\",\n },\n {\n name: \"dontAnimate\",\n displayName: \"Animate?\",\n type: \"boolean\",\n },\n ],\n },\n slickNext: {\n displayName: \"Go to Next slide\",\n argTypes: [],\n },\n slickPause: {\n displayName: \"Pause\",\n argTypes: [],\n },\n slickPlay: {\n displayName: \"Play\",\n argTypes: [],\n },\n slickPrev: {\n displayName: \"Go to Previous slide\",\n argTypes: [],\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 accessibility: {\n advanced: true,\n displayName: \"Accessibility\",\n type: \"boolean\",\n description: \"Enables tabbing and arrow key navigation\",\n defaultValueHint: true,\n },\n adaptiveHeight: {\n advanced: true,\n displayName: \"Adaptive Height\",\n type: \"boolean\",\n description: \"Adjust the slide's height automatically\",\n defaultValueHint: false,\n },\n arrows: {\n displayName: \"Arrows\",\n type: \"boolean\",\n description: \"Show next/prev arrows\",\n defaultValueHint: true,\n },\n sliderScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"slider\",\n } as any,\n arrowColor: {\n type: \"color\",\n description: \"Color of next/prev arrow buttons\",\n defaultValueHint: \"#000000\",\n hidden: (ps) => (ps.arrows === undefined ? false : !ps.arrows),\n },\n autoplay: {\n displayName: \"Auto Play\",\n type: \"boolean\",\n description:\n \"Automatically start scrolling; does not take effect while in the editor, but you can see it in live preview.\",\n defaultValueHint: false,\n },\n autoplaySpeed: {\n displayName: \"Auto Play Speed\",\n type: \"number\",\n description: \"Delay between each auto scroll, in milliseconds\",\n defaultValueHint: 3000,\n hidden: (props) => !props.autoplay,\n },\n centerMode: {\n displayName: \"Center Mode\",\n type: \"boolean\",\n description:\n \"Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts\",\n defaultValueHint: false,\n },\n centerPadding: {\n displayName: \"Center Padding\",\n type: \"string\",\n description: \"Side padding when in center mode (px or %)\",\n defaultValueHint: \"50px\",\n hidden: (props) => !props.centerMode,\n },\n dots: {\n displayName: \"Dots\",\n type: \"boolean\",\n description: \"Show dots for each slide\",\n defaultValueHint: false,\n },\n draggable: {\n advanced: true,\n displayName: \"Draggable\",\n type: \"boolean\",\n description: \"Enables mouse dragging on desktop\",\n defaultValueHint: true,\n },\n cssEase: {\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n /** Deprecated, this was apparently never working:\n * https://github.com/akiran/react-slick/issues/363 */\n easing: {\n hidden: () => true,\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n fade: {\n advanced: true,\n displayName: \"Fade\",\n type: \"boolean\",\n description: \"Cross-fade between slides\",\n defaultValueHint: false,\n },\n focusOnSelect: {\n advanced: true,\n displayName: \"Focus On Select\",\n type: \"boolean\",\n description: \"Go to slide on click\",\n defaultValueHint: false,\n },\n infinite: {\n displayName: \"Infinite\",\n type: \"boolean\",\n description: \"Infinitely wrap around contents\",\n defaultValueHint: true,\n },\n initialSlide: {\n displayName: \"Initial Slide\",\n type: \"number\",\n description:\n \"Index of the first visible slide (first is 0), accounting for multiple slides per view if applicable.\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n lazyLoad: {\n advanced: true,\n displayName: \"Lazy Load\",\n type: \"choice\",\n options: [\"ondemand\", \"progressive\"],\n description:\n \"Load images or render components on demand or progressively\",\n },\n pauseOnDotsHover: {\n displayName: \"Pause On Dots Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on dots\",\n defaultValueHint: false,\n },\n pauseOnFocus: {\n displayName: \"Pause On Focus\",\n type: \"boolean\",\n description: \"Prevents autoplay while focused on slides\",\n defaultValueHint: false,\n },\n pauseOnHover: {\n displayName: \"Pause On Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on track\",\n defaultValueHint: true,\n },\n rows: {\n displayName: \"Rows\",\n type: \"number\",\n description: \"Number of rows per slide (enables grid mode)\",\n defaultValueHint: 1,\n },\n rtl: {\n advanced: true,\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n // Looks like the `slide` prop is not being used to set the container tag:\n // https://github.com/akiran/react-slick/issues/1318\n // https://github.com/akiran/react-slick/pull/1885\n // https://stackoverflow.com/questions/51492535/wrap-react-slick-li-slides-inside-ul\n //\n // slide: {\n // displayName: \"Slide Tag\",\n // type: \"string\",\n // description: 'Slide container element type',\n // defaultValueHint: \"div\",\n // },\n slidesPerRow: {\n displayName: \"Slides Per Row\",\n type: \"number\",\n description:\n \"Number of slides to display in grid mode, this is useful with rows option\",\n defaultValueHint: 1,\n },\n slidesToScroll: {\n advanced: true,\n displayName: \"Slides To Scroll\",\n type: \"number\",\n description: \"Number of slides to scroll at once\",\n defaultValueHint: 1,\n },\n slidesToShow: {\n advanced: true,\n displayName: \"Slides To Show\",\n type: \"number\",\n description: \"Number of slides to show in one frame\",\n defaultValueHint: 1,\n },\n speed: {\n advanced: true,\n displayName: \"Speed\",\n type: \"number\",\n description: \"Transition speed in milliseconds\",\n defaultValueHint: 500,\n },\n swipe: {\n advanced: true,\n displayName: \"Swipe\",\n type: \"boolean\",\n description: \"Enable swiping to change slides\",\n defaultValueHint: true,\n },\n swipeToSlide: {\n advanced: true,\n displayName: \"Swipe To Slide\",\n type: \"boolean\",\n description: \"Enable drag/swipe irrespective of 'slidesToScroll'\",\n defaultValueHint: false,\n },\n touchMove: {\n advanced: true,\n displayName: \"Touch Move\",\n type: \"boolean\",\n description: \"Enable slide moving on touch\",\n defaultValueHint: true,\n },\n touchThreshold: {\n advanced: true,\n displayName: \"Touch Threshold\",\n type: \"number\",\n description: \"Swipe distance threshold in pixels\",\n defaultValueHint: 5,\n },\n useCSS: {\n advanced: true,\n displayName: \"Use CSS\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transitions\",\n defaultValueHint: true,\n },\n useTransform: {\n advanced: true,\n displayName: \"Use Transform\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transforms\",\n defaultValueHint: true,\n },\n variableWidth: {\n advanced: true,\n displayName: \"Variable Width\",\n type: \"boolean\",\n description: \"Variable width slides\",\n defaultValueHint: false,\n },\n vertical: {\n advanced: true,\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n },\n beforeChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"currentSlide\", type: \"number\" }],\n },\n },\n states: {\n currentSlide: {\n type: \"writable\",\n valueProp: \"initialSlide\",\n onChangeProp: \"beforeChange\",\n variableType: \"number\",\n ...sliderHelpers.states.currentSlide,\n },\n },\n componentHelpers: {\n helpers: sliderHelpers,\n importName: \"sliderHelpers\",\n importPath: \"@plasmicpkgs/react-slick\",\n },\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n };\n if (loader) {\n loader.registerComponent(SliderWrapper, sliderMeta);\n } else {\n registerComponent(SliderWrapper, sliderMeta);\n }\n}\n"],"names":["sliderHelpers","states","currentSlide","onChangeArgsToValue","_","newIndex","onMutate","stateValue","$ref","slickGoTo","SliderWrapper","forwardRef","props","userRef","value","_useState","debouncedValue","setDebouncedValue","initialSlide","arrowColor","className","sliderScopeClassName","autoplay","rest","_objectWithoutPropertiesLoose","_excluded","inCanvas","usePlasmicCanvasContext","slider","useRef","debouncedInitialSlide","useState","useEffect","timer","setTimeout","clearTimeout","delay","_slider$current","undefined","current","React","useImperativeHandle","index","dontAnimate","slickNext","slickPause","slickPlay","slickPrev","css","Slider","ref","dangerouslySetInnerHTML","__html","loader","getSlideInfo","_ref","rows","_ref$rows","_ref$slidesPerRow","slidesPerRow","_ref$initialSlide","children","slidesCnt","Array","isArray","length","slidesPerDot","dotCount","Math","ceil","currentDotIndex","totalSlides","sliderMeta","name","displayName","importName","importPath","description","actions","type","control","_ref2","studioOps","_getSlideInfo","componentProps","options","from","i","map","key","toString","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","e","updateStates","Number","target","_ref3","_getSlideInfo2","Button","onClick","label","_ref4","_getSlideInfo3","appendToSlot","src","styles","maxWidth","hidden","ps","_ps$children","_ref5","_getSlideInfo4","removeFromSlotAt","refActions","argTypes","accessibility","advanced","defaultValueHint","adaptiveHeight","arrows","scopeName","autoplaySpeed","centerMode","centerPadding","dots","draggable","cssEase","easing","fade","focusOnSelect","infinite","lazyLoad","pauseOnDotsHover","pauseOnFocus","pauseOnHover","rtl","slidesToScroll","slidesToShow","speed","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","beforeChange","_extends","valueProp","onChangeProp","variableType","componentHelpers","helpers","defaultStyles","registerComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-slick.cjs.production.min.js","sources":["../src/index.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n ActionProps,\n ComponentHelpers,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React, {\n ChangeEvent,\n forwardRef,\n Ref,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport Slider, { Settings } from \"react-slick\";\n\ntype SliderProps = Settings & {\n arrowColor?: string;\n sliderScopeClassName: string;\n};\n\nexport const sliderHelpers: ComponentHelpers<SliderProps> = {\n states: {\n currentSlide: {\n onChangeArgsToValue: (_: number, newIndex: number) => newIndex,\n onMutate: (stateValue, $ref) => {\n $ref.slickGoTo(stateValue);\n },\n },\n },\n};\n\nfunction useDebounce<T>(value: T, delay?: number): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n\nexport type SliderMethods = Pick<\n Slider,\n \"slickGoTo\" | \"slickNext\" | \"slickPause\" | \"slickPlay\" | \"slickPrev\"\n>;\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n props: SliderProps,\n userRef?: Ref<SliderMethods>\n) {\n const {\n initialSlide,\n arrowColor,\n className,\n sliderScopeClassName,\n autoplay,\n ...rest\n } = props;\n // \"data-plasmic-canvas-envs\" prop only exists in studio canvas\n const inCanvas = !!usePlasmicCanvasContext();\n const slider = useRef<Slider>(null);\n const debouncedInitialSlide = useDebounce(initialSlide);\n\n useEffect(() => {\n if (debouncedInitialSlide !== undefined) {\n slider.current?.slickGoTo(debouncedInitialSlide);\n }\n }, [debouncedInitialSlide, inCanvas]);\n\n React.useImperativeHandle(\n userRef,\n () => ({\n slickGoTo(index, dontAnimate) {\n if (slider.current) {\n const { slickGoTo } = slider.current;\n slickGoTo(index, dontAnimate);\n }\n },\n slickNext() {\n if (slider.current) {\n const { slickNext } = slider.current;\n slickNext();\n }\n },\n slickPause() {\n if (slider.current) {\n const { slickPause } = slider.current;\n slickPause();\n }\n },\n slickPlay() {\n if (slider.current) {\n const { slickPlay } = slider.current;\n slickPlay();\n }\n },\n slickPrev() {\n if (slider.current) {\n const { slickPrev } = slider.current;\n slickPrev();\n }\n },\n }),\n []\n );\n\n const css = `\n .${sliderScopeClassName} .slick-arrow:before {\n color: ${arrowColor ?? \"black\"};\n }\n .${sliderScopeClassName} .slick-slide img:only-child,\n .${sliderScopeClassName} .slick-slide .__wab_img-wrapper:only-child {\n ${\n /* NOTE: this is otherwise explicitly set to \"block\" by react-slick (which should also fix this issue but somehow doesn't.). */ \"\"\n }\n ${\n /* This style override is added to fix a well-known issue with images inside divs. https://stackoverflow.com/questions/5804256/image-inside-div-has-extra-space-below-the-image */ \"\"\n }\n display: inline-block;\n vertical-align: top;\n }\n `;\n\n return (\n <>\n <Slider\n className={`${className} ${sliderScopeClassName}`}\n ref={slider}\n // We don't want to turn on autoplay while editing in canvas, because this\n // leads to a state update for current slide, which ends up re-rendering\n // the entire artboard.\n autoplay={autoplay && !inCanvas ? autoplay : undefined}\n {...rest}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n});\n\nexport function registerSlider(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n function getSlideInfo({\n rows = 1,\n slidesPerRow = 1,\n initialSlide = 0,\n children,\n }: SliderProps) {\n const slidesCnt = Array.isArray(children) ? children.length : 1;\n\n const slidesPerDot = rows * slidesPerRow;\n const dotCount = Math.ceil(slidesCnt / slidesPerDot);\n const currentDotIndex =\n initialSlide >= dotCount ? dotCount - 1 : initialSlide;\n\n return {\n currentDotIndex,\n slidesPerDot,\n dotCount,\n totalSlides: slidesCnt,\n };\n }\n\n function CurrentSlideDropdown({\n componentProps,\n studioOps,\n }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\n\n const options = Array.from({ length: dotCount }, (_, i) => i).map((i) => {\n return (\n <option key={i} value={i.toString()}>\n Slide {i}\n </option>\n );\n });\n\n const handleChange = (e: ChangeEvent<HTMLSelectElement>) => {\n studioOps.updateStates({ currentSlide: Number(e.target.value) });\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={currentDotIndex.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={currentDotIndex.toString()}\n >\n {options}\n </select>\n </div>\n );\n }\n\n function NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\n const btnStyles = {\n width: \"100%\",\n backgroundColor: \"#f3f3f2\",\n borderRadius: 6,\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={btnStyles}\n onClick={() => {\n const prevSlide =\n currentDotIndex === 0\n ? dotCount - 1\n : (currentDotIndex - 1) % dotCount;\n studioOps.updateStates({ currentSlide: prevSlide });\n }}\n >\n Prev slide\n </button>\n <button\n style={btnStyles}\n onClick={() => {\n const nextSlide = (currentDotIndex + 1) % dotCount;\n studioOps.updateStates({ currentSlide: nextSlide });\n }}\n >\n Next slide\n </button>\n </div>\n );\n }\n\n function OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n }\n const sliderMeta: ComponentMeta<SliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider Carousel\",\n importName: \"SliderWrapper\",\n importPath: \"@plasmicpkgs/react-slick\",\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=GMgXLbNHX8c)\",\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 { dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n const currentSlide =\n totalSlides % slidesPerDot ? dotCount - 1 : dotCount;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n \"children\"\n );\n studioOps.updateStates({ currentSlide });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n hidden: (ps) =>\n (ps.children as any)?.type?.name === \"CanvasSlotPlaceholder\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const { currentDotIndex, dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n studioOps.removeFromSlotAt(\n currentDotIndex * slidesPerDot,\n \"children\"\n );\n let newPos = currentDotIndex;\n if (dotCount === 1) {\n // not the only dot\n newPos = 0;\n } else if (currentDotIndex !== dotCount - 1) {\n // not the last dot\n if (slidesPerDot === 1) {\n newPos = currentDotIndex - 1;\n } else {\n newPos = currentDotIndex;\n }\n } else {\n // the last dot\n newPos =\n totalSlides % slidesPerDot === 1\n ? currentDotIndex - 1\n : currentDotIndex;\n }\n studioOps.updateStates({\n currentSlide: newPos,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n refActions: {\n slickGoTo: {\n displayName: \"Jump to slide\",\n argTypes: [\n {\n name: \"index\",\n displayName: \"Slide index\",\n type: \"number\",\n },\n {\n name: \"dontAnimate\",\n displayName: \"Animate?\",\n type: \"boolean\",\n },\n ],\n },\n slickNext: {\n displayName: \"Go to Next slide\",\n argTypes: [],\n },\n slickPause: {\n displayName: \"Pause\",\n argTypes: [],\n },\n slickPlay: {\n displayName: \"Play\",\n argTypes: [],\n },\n slickPrev: {\n displayName: \"Go to Previous slide\",\n argTypes: [],\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 accessibility: {\n advanced: true,\n displayName: \"Accessibility\",\n type: \"boolean\",\n description: \"Enables tabbing and arrow key navigation\",\n defaultValueHint: true,\n },\n adaptiveHeight: {\n advanced: true,\n displayName: \"Adaptive Height\",\n type: \"boolean\",\n description: \"Adjust the slide's height automatically\",\n defaultValueHint: false,\n },\n arrows: {\n displayName: \"Arrows\",\n type: \"boolean\",\n description: \"Show next/prev arrows\",\n defaultValueHint: true,\n },\n sliderScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"slider\",\n } as any,\n arrowColor: {\n type: \"color\",\n description: \"Color of next/prev arrow buttons\",\n defaultValueHint: \"#000000\",\n hidden: (ps) => (ps.arrows === undefined ? false : !ps.arrows),\n },\n autoplay: {\n displayName: \"Auto Play\",\n type: \"boolean\",\n description:\n \"Automatically start scrolling; does not take effect while in the editor, but you can see it in live preview.\",\n defaultValueHint: false,\n },\n autoplaySpeed: {\n displayName: \"Auto Play Speed\",\n type: \"number\",\n description: \"Delay between each auto scroll, in milliseconds\",\n defaultValueHint: 3000,\n hidden: (props) => !props.autoplay,\n },\n centerMode: {\n displayName: \"Center Mode\",\n type: \"boolean\",\n description:\n \"Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts\",\n defaultValueHint: false,\n },\n centerPadding: {\n displayName: \"Center Padding\",\n type: \"string\",\n description: \"Side padding when in center mode (px or %)\",\n defaultValueHint: \"50px\",\n hidden: (props) => !props.centerMode,\n },\n dots: {\n displayName: \"Dots\",\n type: \"boolean\",\n description: \"Show dots for each slide\",\n defaultValueHint: false,\n },\n draggable: {\n advanced: true,\n displayName: \"Draggable\",\n type: \"boolean\",\n description: \"Enables mouse dragging on desktop\",\n defaultValueHint: true,\n },\n cssEase: {\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n /** Deprecated, this was apparently never working:\n * https://github.com/akiran/react-slick/issues/363 */\n easing: {\n hidden: () => true,\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n fade: {\n advanced: true,\n displayName: \"Fade\",\n type: \"boolean\",\n description: \"Cross-fade between slides\",\n defaultValueHint: false,\n },\n focusOnSelect: {\n advanced: true,\n displayName: \"Focus On Select\",\n type: \"boolean\",\n description: \"Go to slide on click\",\n defaultValueHint: false,\n },\n infinite: {\n displayName: \"Infinite\",\n type: \"boolean\",\n description: \"Infinitely wrap around contents\",\n defaultValueHint: true,\n },\n initialSlide: {\n displayName: \"Initial Slide\",\n type: \"number\",\n description:\n \"Index of the first visible slide (first is 0), accounting for multiple slides per view if applicable.\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n lazyLoad: {\n advanced: true,\n displayName: \"Lazy Load\",\n type: \"choice\",\n options: [\"ondemand\", \"progressive\"],\n description:\n \"Load images or render components on demand or progressively\",\n },\n pauseOnDotsHover: {\n displayName: \"Pause On Dots Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on dots\",\n defaultValueHint: false,\n },\n pauseOnFocus: {\n displayName: \"Pause On Focus\",\n type: \"boolean\",\n description: \"Prevents autoplay while focused on slides\",\n defaultValueHint: false,\n },\n pauseOnHover: {\n displayName: \"Pause On Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on track\",\n defaultValueHint: true,\n },\n rows: {\n displayName: \"Rows\",\n type: \"number\",\n description: \"Number of rows per slide (enables grid mode)\",\n defaultValueHint: 1,\n },\n rtl: {\n advanced: true,\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n // Looks like the `slide` prop is not being used to set the container tag:\n // https://github.com/akiran/react-slick/issues/1318\n // https://github.com/akiran/react-slick/pull/1885\n // https://stackoverflow.com/questions/51492535/wrap-react-slick-li-slides-inside-ul\n //\n // slide: {\n // displayName: \"Slide Tag\",\n // type: \"string\",\n // description: 'Slide container element type',\n // defaultValueHint: \"div\",\n // },\n slidesPerRow: {\n displayName: \"Slides Per Row\",\n type: \"number\",\n description:\n \"Number of slides to display in grid mode, this is useful with rows option\",\n defaultValueHint: 1,\n },\n slidesToScroll: {\n advanced: true,\n displayName: \"Slides To Scroll\",\n type: \"number\",\n description: \"Number of slides to scroll at once\",\n defaultValueHint: 1,\n },\n slidesToShow: {\n advanced: true,\n displayName: \"Slides To Show\",\n type: \"number\",\n description: \"Number of slides to show in one frame\",\n defaultValueHint: 1,\n },\n speed: {\n advanced: true,\n displayName: \"Speed\",\n type: \"number\",\n description: \"Transition speed in milliseconds\",\n defaultValueHint: 500,\n },\n swipe: {\n advanced: true,\n displayName: \"Swipe\",\n type: \"boolean\",\n description: \"Enable swiping to change slides\",\n defaultValueHint: true,\n },\n swipeToSlide: {\n advanced: true,\n displayName: \"Swipe To Slide\",\n type: \"boolean\",\n description: \"Enable drag/swipe irrespective of 'slidesToScroll'\",\n defaultValueHint: false,\n },\n touchMove: {\n advanced: true,\n displayName: \"Touch Move\",\n type: \"boolean\",\n description: \"Enable slide moving on touch\",\n defaultValueHint: true,\n },\n touchThreshold: {\n advanced: true,\n displayName: \"Touch Threshold\",\n type: \"number\",\n description: \"Swipe distance threshold in pixels\",\n defaultValueHint: 5,\n },\n useCSS: {\n advanced: true,\n displayName: \"Use CSS\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transitions\",\n defaultValueHint: true,\n },\n useTransform: {\n advanced: true,\n displayName: \"Use Transform\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transforms\",\n defaultValueHint: true,\n },\n variableWidth: {\n advanced: true,\n displayName: \"Variable Width\",\n type: \"boolean\",\n description: \"Variable width slides\",\n defaultValueHint: false,\n },\n vertical: {\n advanced: true,\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n },\n beforeChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"currentSlide\", type: \"number\" }],\n },\n },\n states: {\n currentSlide: {\n type: \"writable\",\n valueProp: \"initialSlide\",\n onChangeProp: \"beforeChange\",\n variableType: \"number\",\n ...sliderHelpers.states.currentSlide,\n },\n },\n componentHelpers: {\n helpers: sliderHelpers,\n importName: \"sliderHelpers\",\n importPath: \"@plasmicpkgs/react-slick\",\n },\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n };\n if (loader) {\n loader.registerComponent(SliderWrapper, sliderMeta);\n } else {\n registerComponent(SliderWrapper, sliderMeta);\n }\n}\n"],"names":["sliderHelpers","states","currentSlide","onChangeArgsToValue","_","newIndex","onMutate","stateValue","$ref","slickGoTo","SliderWrapper","forwardRef","props","userRef","value","_useState","debouncedValue","setDebouncedValue","initialSlide","arrowColor","className","sliderScopeClassName","autoplay","rest","_objectWithoutPropertiesLoose","_excluded","inCanvas","usePlasmicCanvasContext","slider","useRef","debouncedInitialSlide","useState","useEffect","timer","setTimeout","clearTimeout","delay","_slider$current","undefined","current","React","useImperativeHandle","index","dontAnimate","slickNext","slickPause","slickPlay","slickPrev","css","Slider","ref","dangerouslySetInnerHTML","__html","loader","getSlideInfo","_ref","rows","_ref$rows","_ref$slidesPerRow","slidesPerRow","_ref$initialSlide","children","slidesCnt","Array","isArray","length","slidesPerDot","dotCount","Math","ceil","currentDotIndex","totalSlides","sliderMeta","name","displayName","importName","importPath","description","actions","type","control","_ref2","studioOps","_getSlideInfo","componentProps","options","from","i","map","key","toString","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","e","updateStates","Number","target","_ref3","_getSlideInfo2","btnStyles","backgroundColor","borderRadius","onClick","label","_ref4","_getSlideInfo3","appendToSlot","src","styles","maxWidth","hidden","ps","_ps$children","_ref5","_getSlideInfo4","removeFromSlotAt","refActions","argTypes","accessibility","advanced","defaultValueHint","adaptiveHeight","arrows","scopeName","autoplaySpeed","centerMode","centerPadding","dots","draggable","cssEase","easing","fade","focusOnSelect","infinite","lazyLoad","pauseOnDotsHover","pauseOnFocus","pauseOnHover","rtl","slidesToScroll","slidesToShow","speed","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","beforeChange","_extends","valueProp","onChangeProp","variableType","componentHelpers","helpers","defaultStyles","registerComponent"],"mappings":"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"}
|
package/dist/react-slick.esm.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { usePlasmicCanvasContext } from '@plasmicapp/host';
|
|
2
2
|
import registerComponent from '@plasmicapp/host/registerComponent';
|
|
3
|
-
import { Button } from 'antd';
|
|
4
3
|
import React, { forwardRef, useRef, useEffect, useState } from 'react';
|
|
5
4
|
import Slider from 'react-slick';
|
|
6
5
|
|
|
@@ -187,6 +186,11 @@ function registerSlider(loader) {
|
|
|
187
186
|
var _getSlideInfo2 = getSlideInfo(componentProps),
|
|
188
187
|
dotCount = _getSlideInfo2.dotCount,
|
|
189
188
|
currentDotIndex = _getSlideInfo2.currentDotIndex;
|
|
189
|
+
var btnStyles = {
|
|
190
|
+
width: "100%",
|
|
191
|
+
backgroundColor: "#f3f3f2",
|
|
192
|
+
borderRadius: 6
|
|
193
|
+
};
|
|
190
194
|
return React.createElement("div", {
|
|
191
195
|
style: {
|
|
192
196
|
width: "100%",
|
|
@@ -195,20 +199,16 @@ function registerSlider(loader) {
|
|
|
195
199
|
gap: "10px",
|
|
196
200
|
justifyContent: "space-between"
|
|
197
201
|
}
|
|
198
|
-
}, React.createElement(
|
|
199
|
-
style:
|
|
200
|
-
width: "100%"
|
|
201
|
-
},
|
|
202
|
+
}, React.createElement("button", {
|
|
203
|
+
style: btnStyles,
|
|
202
204
|
onClick: function onClick() {
|
|
203
205
|
var prevSlide = currentDotIndex === 0 ? dotCount - 1 : (currentDotIndex - 1) % dotCount;
|
|
204
206
|
studioOps.updateStates({
|
|
205
207
|
currentSlide: prevSlide
|
|
206
208
|
});
|
|
207
209
|
}
|
|
208
|
-
}, "Prev slide"), React.createElement(
|
|
209
|
-
style:
|
|
210
|
-
width: "100%"
|
|
211
|
-
},
|
|
210
|
+
}, "Prev slide"), React.createElement("button", {
|
|
211
|
+
style: btnStyles,
|
|
212
212
|
onClick: function onClick() {
|
|
213
213
|
var nextSlide = (currentDotIndex + 1) % dotCount;
|
|
214
214
|
studioOps.updateStates({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-slick.esm.js","sources":["../src/index.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n ActionProps,\n ComponentHelpers,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button } from \"antd\";\nimport React, {\n ChangeEvent,\n forwardRef,\n Ref,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport Slider, { Settings } from \"react-slick\";\n\ntype SliderProps = Settings & {\n arrowColor?: string;\n sliderScopeClassName: string;\n};\n\nexport const sliderHelpers: ComponentHelpers<SliderProps> = {\n states: {\n currentSlide: {\n onChangeArgsToValue: (_: number, newIndex: number) => newIndex,\n onMutate: (stateValue, $ref) => {\n $ref.slickGoTo(stateValue);\n },\n },\n },\n};\n\nfunction useDebounce<T>(value: T, delay?: number): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n\nexport type SliderMethods = Pick<\n Slider,\n \"slickGoTo\" | \"slickNext\" | \"slickPause\" | \"slickPlay\" | \"slickPrev\"\n>;\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n props: SliderProps,\n userRef?: Ref<SliderMethods>\n) {\n const {\n initialSlide,\n arrowColor,\n className,\n sliderScopeClassName,\n autoplay,\n ...rest\n } = props;\n // \"data-plasmic-canvas-envs\" prop only exists in studio canvas\n const inCanvas = !!usePlasmicCanvasContext();\n const slider = useRef<Slider>(null);\n const debouncedInitialSlide = useDebounce(initialSlide);\n\n useEffect(() => {\n if (debouncedInitialSlide !== undefined) {\n slider.current?.slickGoTo(debouncedInitialSlide);\n }\n }, [debouncedInitialSlide, inCanvas]);\n\n React.useImperativeHandle(\n userRef,\n () => ({\n slickGoTo(index, dontAnimate) {\n if (slider.current) {\n const { slickGoTo } = slider.current;\n slickGoTo(index, dontAnimate);\n }\n },\n slickNext() {\n if (slider.current) {\n const { slickNext } = slider.current;\n slickNext();\n }\n },\n slickPause() {\n if (slider.current) {\n const { slickPause } = slider.current;\n slickPause();\n }\n },\n slickPlay() {\n if (slider.current) {\n const { slickPlay } = slider.current;\n slickPlay();\n }\n },\n slickPrev() {\n if (slider.current) {\n const { slickPrev } = slider.current;\n slickPrev();\n }\n },\n }),\n []\n );\n\n const css = `\n .${sliderScopeClassName} .slick-arrow:before {\n color: ${arrowColor ?? \"black\"};\n }\n .${sliderScopeClassName} .slick-slide img:only-child,\n .${sliderScopeClassName} .slick-slide .__wab_img-wrapper:only-child {\n ${\n /* NOTE: this is otherwise explicitly set to \"block\" by react-slick (which should also fix this issue but somehow doesn't.). */ \"\"\n }\n ${\n /* This style override is added to fix a well-known issue with images inside divs. https://stackoverflow.com/questions/5804256/image-inside-div-has-extra-space-below-the-image */ \"\"\n }\n display: inline-block;\n vertical-align: top;\n }\n `;\n\n return (\n <>\n <Slider\n className={`${className} ${sliderScopeClassName}`}\n ref={slider}\n // We don't want to turn on autoplay while editing in canvas, because this\n // leads to a state update for current slide, which ends up re-rendering\n // the entire artboard.\n autoplay={autoplay && !inCanvas ? autoplay : undefined}\n {...rest}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n});\n\nexport function registerSlider(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n function getSlideInfo({\n rows = 1,\n slidesPerRow = 1,\n initialSlide = 0,\n children,\n }: SliderProps) {\n const slidesCnt = Array.isArray(children) ? children.length : 1;\n\n const slidesPerDot = rows * slidesPerRow;\n const dotCount = Math.ceil(slidesCnt / slidesPerDot);\n const currentDotIndex =\n initialSlide >= dotCount ? dotCount - 1 : initialSlide;\n\n return {\n currentDotIndex,\n slidesPerDot,\n dotCount,\n totalSlides: slidesCnt,\n };\n }\n\n function CurrentSlideDropdown({\n componentProps,\n studioOps,\n }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\n\n const options = Array.from({ length: dotCount }, (_, i) => i).map((i) => {\n return (\n <option key={i} value={i.toString()}>\n Slide {i}\n </option>\n );\n });\n\n const handleChange = (e: ChangeEvent<HTMLSelectElement>) => {\n studioOps.updateStates({ currentSlide: Number(e.target.value) });\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={currentDotIndex.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={currentDotIndex.toString()}\n >\n {options}\n </select>\n </div>\n );\n }\n\n function NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\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 =\n currentDotIndex === 0\n ? dotCount - 1\n : (currentDotIndex - 1) % dotCount;\n studioOps.updateStates({ currentSlide: prevSlide });\n }}\n >\n Prev slide\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const nextSlide = (currentDotIndex + 1) % dotCount;\n studioOps.updateStates({ currentSlide: nextSlide });\n }}\n >\n Next slide\n </Button>\n </div>\n );\n }\n\n function OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n }\n const sliderMeta: ComponentMeta<SliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider Carousel\",\n importName: \"SliderWrapper\",\n importPath: \"@plasmicpkgs/react-slick\",\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=GMgXLbNHX8c)\",\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 { dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n const currentSlide =\n totalSlides % slidesPerDot ? dotCount - 1 : dotCount;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n \"children\"\n );\n studioOps.updateStates({ currentSlide });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n hidden: (ps) =>\n (ps.children as any)?.type?.name === \"CanvasSlotPlaceholder\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const { currentDotIndex, dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n studioOps.removeFromSlotAt(\n currentDotIndex * slidesPerDot,\n \"children\"\n );\n let newPos = currentDotIndex;\n if (dotCount === 1) {\n // not the only dot\n newPos = 0;\n } else if (currentDotIndex !== dotCount - 1) {\n // not the last dot\n if (slidesPerDot === 1) {\n newPos = currentDotIndex - 1;\n } else {\n newPos = currentDotIndex;\n }\n } else {\n // the last dot\n newPos =\n totalSlides % slidesPerDot === 1\n ? currentDotIndex - 1\n : currentDotIndex;\n }\n studioOps.updateStates({\n currentSlide: newPos,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n refActions: {\n slickGoTo: {\n displayName: \"Jump to slide\",\n argTypes: [\n {\n name: \"index\",\n displayName: \"Slide index\",\n type: \"number\",\n },\n {\n name: \"dontAnimate\",\n displayName: \"Animate?\",\n type: \"boolean\",\n },\n ],\n },\n slickNext: {\n displayName: \"Go to Next slide\",\n argTypes: [],\n },\n slickPause: {\n displayName: \"Pause\",\n argTypes: [],\n },\n slickPlay: {\n displayName: \"Play\",\n argTypes: [],\n },\n slickPrev: {\n displayName: \"Go to Previous slide\",\n argTypes: [],\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 accessibility: {\n advanced: true,\n displayName: \"Accessibility\",\n type: \"boolean\",\n description: \"Enables tabbing and arrow key navigation\",\n defaultValueHint: true,\n },\n adaptiveHeight: {\n advanced: true,\n displayName: \"Adaptive Height\",\n type: \"boolean\",\n description: \"Adjust the slide's height automatically\",\n defaultValueHint: false,\n },\n arrows: {\n displayName: \"Arrows\",\n type: \"boolean\",\n description: \"Show next/prev arrows\",\n defaultValueHint: true,\n },\n sliderScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"slider\",\n } as any,\n arrowColor: {\n type: \"color\",\n description: \"Color of next/prev arrow buttons\",\n defaultValueHint: \"#000000\",\n hidden: (ps) => (ps.arrows === undefined ? false : !ps.arrows),\n },\n autoplay: {\n displayName: \"Auto Play\",\n type: \"boolean\",\n description:\n \"Automatically start scrolling; does not take effect while in the editor, but you can see it in live preview.\",\n defaultValueHint: false,\n },\n autoplaySpeed: {\n displayName: \"Auto Play Speed\",\n type: \"number\",\n description: \"Delay between each auto scroll, in milliseconds\",\n defaultValueHint: 3000,\n hidden: (props) => !props.autoplay,\n },\n centerMode: {\n displayName: \"Center Mode\",\n type: \"boolean\",\n description:\n \"Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts\",\n defaultValueHint: false,\n },\n centerPadding: {\n displayName: \"Center Padding\",\n type: \"string\",\n description: \"Side padding when in center mode (px or %)\",\n defaultValueHint: \"50px\",\n hidden: (props) => !props.centerMode,\n },\n dots: {\n displayName: \"Dots\",\n type: \"boolean\",\n description: \"Show dots for each slide\",\n defaultValueHint: false,\n },\n draggable: {\n advanced: true,\n displayName: \"Draggable\",\n type: \"boolean\",\n description: \"Enables mouse dragging on desktop\",\n defaultValueHint: true,\n },\n cssEase: {\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n /** Deprecated, this was apparently never working:\n * https://github.com/akiran/react-slick/issues/363 */\n easing: {\n hidden: () => true,\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n fade: {\n advanced: true,\n displayName: \"Fade\",\n type: \"boolean\",\n description: \"Cross-fade between slides\",\n defaultValueHint: false,\n },\n focusOnSelect: {\n advanced: true,\n displayName: \"Focus On Select\",\n type: \"boolean\",\n description: \"Go to slide on click\",\n defaultValueHint: false,\n },\n infinite: {\n displayName: \"Infinite\",\n type: \"boolean\",\n description: \"Infinitely wrap around contents\",\n defaultValueHint: true,\n },\n initialSlide: {\n displayName: \"Initial Slide\",\n type: \"number\",\n description:\n \"Index of the first visible slide (first is 0), accounting for multiple slides per view if applicable.\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n lazyLoad: {\n advanced: true,\n displayName: \"Lazy Load\",\n type: \"choice\",\n options: [\"ondemand\", \"progressive\"],\n description:\n \"Load images or render components on demand or progressively\",\n },\n pauseOnDotsHover: {\n displayName: \"Pause On Dots Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on dots\",\n defaultValueHint: false,\n },\n pauseOnFocus: {\n displayName: \"Pause On Focus\",\n type: \"boolean\",\n description: \"Prevents autoplay while focused on slides\",\n defaultValueHint: false,\n },\n pauseOnHover: {\n displayName: \"Pause On Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on track\",\n defaultValueHint: true,\n },\n rows: {\n displayName: \"Rows\",\n type: \"number\",\n description: \"Number of rows per slide (enables grid mode)\",\n defaultValueHint: 1,\n },\n rtl: {\n advanced: true,\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n // Looks like the `slide` prop is not being used to set the container tag:\n // https://github.com/akiran/react-slick/issues/1318\n // https://github.com/akiran/react-slick/pull/1885\n // https://stackoverflow.com/questions/51492535/wrap-react-slick-li-slides-inside-ul\n //\n // slide: {\n // displayName: \"Slide Tag\",\n // type: \"string\",\n // description: 'Slide container element type',\n // defaultValueHint: \"div\",\n // },\n slidesPerRow: {\n displayName: \"Slides Per Row\",\n type: \"number\",\n description:\n \"Number of slides to display in grid mode, this is useful with rows option\",\n defaultValueHint: 1,\n },\n slidesToScroll: {\n advanced: true,\n displayName: \"Slides To Scroll\",\n type: \"number\",\n description: \"Number of slides to scroll at once\",\n defaultValueHint: 1,\n },\n slidesToShow: {\n advanced: true,\n displayName: \"Slides To Show\",\n type: \"number\",\n description: \"Number of slides to show in one frame\",\n defaultValueHint: 1,\n },\n speed: {\n advanced: true,\n displayName: \"Speed\",\n type: \"number\",\n description: \"Transition speed in milliseconds\",\n defaultValueHint: 500,\n },\n swipe: {\n advanced: true,\n displayName: \"Swipe\",\n type: \"boolean\",\n description: \"Enable swiping to change slides\",\n defaultValueHint: true,\n },\n swipeToSlide: {\n advanced: true,\n displayName: \"Swipe To Slide\",\n type: \"boolean\",\n description: \"Enable drag/swipe irrespective of 'slidesToScroll'\",\n defaultValueHint: false,\n },\n touchMove: {\n advanced: true,\n displayName: \"Touch Move\",\n type: \"boolean\",\n description: \"Enable slide moving on touch\",\n defaultValueHint: true,\n },\n touchThreshold: {\n advanced: true,\n displayName: \"Touch Threshold\",\n type: \"number\",\n description: \"Swipe distance threshold in pixels\",\n defaultValueHint: 5,\n },\n useCSS: {\n advanced: true,\n displayName: \"Use CSS\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transitions\",\n defaultValueHint: true,\n },\n useTransform: {\n advanced: true,\n displayName: \"Use Transform\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transforms\",\n defaultValueHint: true,\n },\n variableWidth: {\n advanced: true,\n displayName: \"Variable Width\",\n type: \"boolean\",\n description: \"Variable width slides\",\n defaultValueHint: false,\n },\n vertical: {\n advanced: true,\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n },\n beforeChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"currentSlide\", type: \"number\" }],\n },\n },\n states: {\n currentSlide: {\n type: \"writable\",\n valueProp: \"initialSlide\",\n onChangeProp: \"beforeChange\",\n variableType: \"number\",\n ...sliderHelpers.states.currentSlide,\n },\n },\n componentHelpers: {\n helpers: sliderHelpers,\n importName: \"sliderHelpers\",\n importPath: \"@plasmicpkgs/react-slick\",\n },\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n };\n if (loader) {\n loader.registerComponent(SliderWrapper, sliderMeta);\n } else {\n registerComponent(SliderWrapper, sliderMeta);\n }\n}\n"],"names":["sliderHelpers","states","currentSlide","onChangeArgsToValue","_","newIndex","onMutate","stateValue","$ref","slickGoTo","useDebounce","value","delay","_useState","useState","debouncedValue","setDebouncedValue","useEffect","timer","setTimeout","clearTimeout","SliderWrapper","forwardRef","SliderWrapper_","props","userRef","initialSlide","arrowColor","className","sliderScopeClassName","autoplay","rest","_objectWithoutPropertiesLoose","_excluded","inCanvas","usePlasmicCanvasContext","slider","useRef","debouncedInitialSlide","undefined","_slider$current","current","React","useImperativeHandle","index","dontAnimate","slickNext","slickPause","slickPlay","slickPrev","css","Slider","ref","dangerouslySetInnerHTML","__html","registerSlider","loader","getSlideInfo","_ref","rows","_ref$rows","_ref$slidesPerRow","slidesPerRow","_ref$initialSlide","children","slidesCnt","Array","isArray","length","slidesPerDot","dotCount","Math","ceil","currentDotIndex","totalSlides","CurrentSlideDropdown","_ref2","componentProps","studioOps","_getSlideInfo","options","from","i","map","key","toString","handleChange","e","updateStates","Number","target","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","NavigateSlides","_ref3","_getSlideInfo2","Button","onClick","prevSlide","nextSlide","OutlineMessage","sliderMeta","name","displayName","importName","importPath","description","actions","type","control","label","_ref4","_getSlideInfo3","appendToSlot","src","styles","maxWidth","hidden","ps","_ps$children","_ref5","_getSlideInfo4","removeFromSlotAt","newPos","refActions","argTypes","accessibility","advanced","defaultValueHint","adaptiveHeight","arrows","scopeName","autoplaySpeed","centerMode","centerPadding","dots","draggable","cssEase","easing","fade","focusOnSelect","infinite","lazyLoad","pauseOnDotsHover","pauseOnFocus","pauseOnHover","rtl","slidesToScroll","slidesToShow","speed","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","beforeChange","_extends","valueProp","onChangeProp","variableType","componentHelpers","helpers","defaultStyles","registerComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-slick.esm.js","sources":["../src/index.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport registerComponent, {\n ActionProps,\n ComponentHelpers,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport React, {\n ChangeEvent,\n forwardRef,\n Ref,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport Slider, { Settings } from \"react-slick\";\n\ntype SliderProps = Settings & {\n arrowColor?: string;\n sliderScopeClassName: string;\n};\n\nexport const sliderHelpers: ComponentHelpers<SliderProps> = {\n states: {\n currentSlide: {\n onChangeArgsToValue: (_: number, newIndex: number) => newIndex,\n onMutate: (stateValue, $ref) => {\n $ref.slickGoTo(stateValue);\n },\n },\n },\n};\n\nfunction useDebounce<T>(value: T, delay?: number): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n\nexport type SliderMethods = Pick<\n Slider,\n \"slickGoTo\" | \"slickNext\" | \"slickPause\" | \"slickPlay\" | \"slickPrev\"\n>;\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n props: SliderProps,\n userRef?: Ref<SliderMethods>\n) {\n const {\n initialSlide,\n arrowColor,\n className,\n sliderScopeClassName,\n autoplay,\n ...rest\n } = props;\n // \"data-plasmic-canvas-envs\" prop only exists in studio canvas\n const inCanvas = !!usePlasmicCanvasContext();\n const slider = useRef<Slider>(null);\n const debouncedInitialSlide = useDebounce(initialSlide);\n\n useEffect(() => {\n if (debouncedInitialSlide !== undefined) {\n slider.current?.slickGoTo(debouncedInitialSlide);\n }\n }, [debouncedInitialSlide, inCanvas]);\n\n React.useImperativeHandle(\n userRef,\n () => ({\n slickGoTo(index, dontAnimate) {\n if (slider.current) {\n const { slickGoTo } = slider.current;\n slickGoTo(index, dontAnimate);\n }\n },\n slickNext() {\n if (slider.current) {\n const { slickNext } = slider.current;\n slickNext();\n }\n },\n slickPause() {\n if (slider.current) {\n const { slickPause } = slider.current;\n slickPause();\n }\n },\n slickPlay() {\n if (slider.current) {\n const { slickPlay } = slider.current;\n slickPlay();\n }\n },\n slickPrev() {\n if (slider.current) {\n const { slickPrev } = slider.current;\n slickPrev();\n }\n },\n }),\n []\n );\n\n const css = `\n .${sliderScopeClassName} .slick-arrow:before {\n color: ${arrowColor ?? \"black\"};\n }\n .${sliderScopeClassName} .slick-slide img:only-child,\n .${sliderScopeClassName} .slick-slide .__wab_img-wrapper:only-child {\n ${\n /* NOTE: this is otherwise explicitly set to \"block\" by react-slick (which should also fix this issue but somehow doesn't.). */ \"\"\n }\n ${\n /* This style override is added to fix a well-known issue with images inside divs. https://stackoverflow.com/questions/5804256/image-inside-div-has-extra-space-below-the-image */ \"\"\n }\n display: inline-block;\n vertical-align: top;\n }\n `;\n\n return (\n <>\n <Slider\n className={`${className} ${sliderScopeClassName}`}\n ref={slider}\n // We don't want to turn on autoplay while editing in canvas, because this\n // leads to a state update for current slide, which ends up re-rendering\n // the entire artboard.\n autoplay={autoplay && !inCanvas ? autoplay : undefined}\n {...rest}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n});\n\nexport function registerSlider(loader?: {\n registerComponent: typeof registerComponent;\n}) {\n function getSlideInfo({\n rows = 1,\n slidesPerRow = 1,\n initialSlide = 0,\n children,\n }: SliderProps) {\n const slidesCnt = Array.isArray(children) ? children.length : 1;\n\n const slidesPerDot = rows * slidesPerRow;\n const dotCount = Math.ceil(slidesCnt / slidesPerDot);\n const currentDotIndex =\n initialSlide >= dotCount ? dotCount - 1 : initialSlide;\n\n return {\n currentDotIndex,\n slidesPerDot,\n dotCount,\n totalSlides: slidesCnt,\n };\n }\n\n function CurrentSlideDropdown({\n componentProps,\n studioOps,\n }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\n\n const options = Array.from({ length: dotCount }, (_, i) => i).map((i) => {\n return (\n <option key={i} value={i.toString()}>\n Slide {i}\n </option>\n );\n });\n\n const handleChange = (e: ChangeEvent<HTMLSelectElement>) => {\n studioOps.updateStates({ currentSlide: Number(e.target.value) });\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={currentDotIndex.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={currentDotIndex.toString()}\n >\n {options}\n </select>\n </div>\n );\n }\n\n function NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\n const btnStyles = {\n width: \"100%\",\n backgroundColor: \"#f3f3f2\",\n borderRadius: 6,\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={btnStyles}\n onClick={() => {\n const prevSlide =\n currentDotIndex === 0\n ? dotCount - 1\n : (currentDotIndex - 1) % dotCount;\n studioOps.updateStates({ currentSlide: prevSlide });\n }}\n >\n Prev slide\n </button>\n <button\n style={btnStyles}\n onClick={() => {\n const nextSlide = (currentDotIndex + 1) % dotCount;\n studioOps.updateStates({ currentSlide: nextSlide });\n }}\n >\n Next slide\n </button>\n </div>\n );\n }\n\n function OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n }\n const sliderMeta: ComponentMeta<SliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider Carousel\",\n importName: \"SliderWrapper\",\n importPath: \"@plasmicpkgs/react-slick\",\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=GMgXLbNHX8c)\",\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 { dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n const currentSlide =\n totalSlides % slidesPerDot ? dotCount - 1 : dotCount;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n \"children\"\n );\n studioOps.updateStates({ currentSlide });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n hidden: (ps) =>\n (ps.children as any)?.type?.name === \"CanvasSlotPlaceholder\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const { currentDotIndex, dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n studioOps.removeFromSlotAt(\n currentDotIndex * slidesPerDot,\n \"children\"\n );\n let newPos = currentDotIndex;\n if (dotCount === 1) {\n // not the only dot\n newPos = 0;\n } else if (currentDotIndex !== dotCount - 1) {\n // not the last dot\n if (slidesPerDot === 1) {\n newPos = currentDotIndex - 1;\n } else {\n newPos = currentDotIndex;\n }\n } else {\n // the last dot\n newPos =\n totalSlides % slidesPerDot === 1\n ? currentDotIndex - 1\n : currentDotIndex;\n }\n studioOps.updateStates({\n currentSlide: newPos,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n refActions: {\n slickGoTo: {\n displayName: \"Jump to slide\",\n argTypes: [\n {\n name: \"index\",\n displayName: \"Slide index\",\n type: \"number\",\n },\n {\n name: \"dontAnimate\",\n displayName: \"Animate?\",\n type: \"boolean\",\n },\n ],\n },\n slickNext: {\n displayName: \"Go to Next slide\",\n argTypes: [],\n },\n slickPause: {\n displayName: \"Pause\",\n argTypes: [],\n },\n slickPlay: {\n displayName: \"Play\",\n argTypes: [],\n },\n slickPrev: {\n displayName: \"Go to Previous slide\",\n argTypes: [],\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 accessibility: {\n advanced: true,\n displayName: \"Accessibility\",\n type: \"boolean\",\n description: \"Enables tabbing and arrow key navigation\",\n defaultValueHint: true,\n },\n adaptiveHeight: {\n advanced: true,\n displayName: \"Adaptive Height\",\n type: \"boolean\",\n description: \"Adjust the slide's height automatically\",\n defaultValueHint: false,\n },\n arrows: {\n displayName: \"Arrows\",\n type: \"boolean\",\n description: \"Show next/prev arrows\",\n defaultValueHint: true,\n },\n sliderScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"slider\",\n } as any,\n arrowColor: {\n type: \"color\",\n description: \"Color of next/prev arrow buttons\",\n defaultValueHint: \"#000000\",\n hidden: (ps) => (ps.arrows === undefined ? false : !ps.arrows),\n },\n autoplay: {\n displayName: \"Auto Play\",\n type: \"boolean\",\n description:\n \"Automatically start scrolling; does not take effect while in the editor, but you can see it in live preview.\",\n defaultValueHint: false,\n },\n autoplaySpeed: {\n displayName: \"Auto Play Speed\",\n type: \"number\",\n description: \"Delay between each auto scroll, in milliseconds\",\n defaultValueHint: 3000,\n hidden: (props) => !props.autoplay,\n },\n centerMode: {\n displayName: \"Center Mode\",\n type: \"boolean\",\n description:\n \"Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts\",\n defaultValueHint: false,\n },\n centerPadding: {\n displayName: \"Center Padding\",\n type: \"string\",\n description: \"Side padding when in center mode (px or %)\",\n defaultValueHint: \"50px\",\n hidden: (props) => !props.centerMode,\n },\n dots: {\n displayName: \"Dots\",\n type: \"boolean\",\n description: \"Show dots for each slide\",\n defaultValueHint: false,\n },\n draggable: {\n advanced: true,\n displayName: \"Draggable\",\n type: \"boolean\",\n description: \"Enables mouse dragging on desktop\",\n defaultValueHint: true,\n },\n cssEase: {\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n /** Deprecated, this was apparently never working:\n * https://github.com/akiran/react-slick/issues/363 */\n easing: {\n hidden: () => true,\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n fade: {\n advanced: true,\n displayName: \"Fade\",\n type: \"boolean\",\n description: \"Cross-fade between slides\",\n defaultValueHint: false,\n },\n focusOnSelect: {\n advanced: true,\n displayName: \"Focus On Select\",\n type: \"boolean\",\n description: \"Go to slide on click\",\n defaultValueHint: false,\n },\n infinite: {\n displayName: \"Infinite\",\n type: \"boolean\",\n description: \"Infinitely wrap around contents\",\n defaultValueHint: true,\n },\n initialSlide: {\n displayName: \"Initial Slide\",\n type: \"number\",\n description:\n \"Index of the first visible slide (first is 0), accounting for multiple slides per view if applicable.\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n lazyLoad: {\n advanced: true,\n displayName: \"Lazy Load\",\n type: \"choice\",\n options: [\"ondemand\", \"progressive\"],\n description:\n \"Load images or render components on demand or progressively\",\n },\n pauseOnDotsHover: {\n displayName: \"Pause On Dots Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on dots\",\n defaultValueHint: false,\n },\n pauseOnFocus: {\n displayName: \"Pause On Focus\",\n type: \"boolean\",\n description: \"Prevents autoplay while focused on slides\",\n defaultValueHint: false,\n },\n pauseOnHover: {\n displayName: \"Pause On Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on track\",\n defaultValueHint: true,\n },\n rows: {\n displayName: \"Rows\",\n type: \"number\",\n description: \"Number of rows per slide (enables grid mode)\",\n defaultValueHint: 1,\n },\n rtl: {\n advanced: true,\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n // Looks like the `slide` prop is not being used to set the container tag:\n // https://github.com/akiran/react-slick/issues/1318\n // https://github.com/akiran/react-slick/pull/1885\n // https://stackoverflow.com/questions/51492535/wrap-react-slick-li-slides-inside-ul\n //\n // slide: {\n // displayName: \"Slide Tag\",\n // type: \"string\",\n // description: 'Slide container element type',\n // defaultValueHint: \"div\",\n // },\n slidesPerRow: {\n displayName: \"Slides Per Row\",\n type: \"number\",\n description:\n \"Number of slides to display in grid mode, this is useful with rows option\",\n defaultValueHint: 1,\n },\n slidesToScroll: {\n advanced: true,\n displayName: \"Slides To Scroll\",\n type: \"number\",\n description: \"Number of slides to scroll at once\",\n defaultValueHint: 1,\n },\n slidesToShow: {\n advanced: true,\n displayName: \"Slides To Show\",\n type: \"number\",\n description: \"Number of slides to show in one frame\",\n defaultValueHint: 1,\n },\n speed: {\n advanced: true,\n displayName: \"Speed\",\n type: \"number\",\n description: \"Transition speed in milliseconds\",\n defaultValueHint: 500,\n },\n swipe: {\n advanced: true,\n displayName: \"Swipe\",\n type: \"boolean\",\n description: \"Enable swiping to change slides\",\n defaultValueHint: true,\n },\n swipeToSlide: {\n advanced: true,\n displayName: \"Swipe To Slide\",\n type: \"boolean\",\n description: \"Enable drag/swipe irrespective of 'slidesToScroll'\",\n defaultValueHint: false,\n },\n touchMove: {\n advanced: true,\n displayName: \"Touch Move\",\n type: \"boolean\",\n description: \"Enable slide moving on touch\",\n defaultValueHint: true,\n },\n touchThreshold: {\n advanced: true,\n displayName: \"Touch Threshold\",\n type: \"number\",\n description: \"Swipe distance threshold in pixels\",\n defaultValueHint: 5,\n },\n useCSS: {\n advanced: true,\n displayName: \"Use CSS\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transitions\",\n defaultValueHint: true,\n },\n useTransform: {\n advanced: true,\n displayName: \"Use Transform\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transforms\",\n defaultValueHint: true,\n },\n variableWidth: {\n advanced: true,\n displayName: \"Variable Width\",\n type: \"boolean\",\n description: \"Variable width slides\",\n defaultValueHint: false,\n },\n vertical: {\n advanced: true,\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n },\n beforeChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"currentSlide\", type: \"number\" }],\n },\n },\n states: {\n currentSlide: {\n type: \"writable\",\n valueProp: \"initialSlide\",\n onChangeProp: \"beforeChange\",\n variableType: \"number\",\n ...sliderHelpers.states.currentSlide,\n },\n },\n componentHelpers: {\n helpers: sliderHelpers,\n importName: \"sliderHelpers\",\n importPath: \"@plasmicpkgs/react-slick\",\n },\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n };\n if (loader) {\n loader.registerComponent(SliderWrapper, sliderMeta);\n } else {\n registerComponent(SliderWrapper, sliderMeta);\n }\n}\n"],"names":["sliderHelpers","states","currentSlide","onChangeArgsToValue","_","newIndex","onMutate","stateValue","$ref","slickGoTo","useDebounce","value","delay","_useState","useState","debouncedValue","setDebouncedValue","useEffect","timer","setTimeout","clearTimeout","SliderWrapper","forwardRef","SliderWrapper_","props","userRef","initialSlide","arrowColor","className","sliderScopeClassName","autoplay","rest","_objectWithoutPropertiesLoose","_excluded","inCanvas","usePlasmicCanvasContext","slider","useRef","debouncedInitialSlide","undefined","_slider$current","current","React","useImperativeHandle","index","dontAnimate","slickNext","slickPause","slickPlay","slickPrev","css","Slider","ref","dangerouslySetInnerHTML","__html","registerSlider","loader","getSlideInfo","_ref","rows","_ref$rows","_ref$slidesPerRow","slidesPerRow","_ref$initialSlide","children","slidesCnt","Array","isArray","length","slidesPerDot","dotCount","Math","ceil","currentDotIndex","totalSlides","CurrentSlideDropdown","_ref2","componentProps","studioOps","_getSlideInfo","options","from","i","map","key","toString","handleChange","e","updateStates","Number","target","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","NavigateSlides","_ref3","_getSlideInfo2","btnStyles","backgroundColor","borderRadius","onClick","prevSlide","nextSlide","OutlineMessage","sliderMeta","name","displayName","importName","importPath","description","actions","type","control","label","_ref4","_getSlideInfo3","appendToSlot","src","styles","maxWidth","hidden","ps","_ps$children","_ref5","_getSlideInfo4","removeFromSlotAt","newPos","refActions","argTypes","accessibility","advanced","defaultValueHint","adaptiveHeight","arrows","scopeName","autoplaySpeed","centerMode","centerPadding","dots","draggable","cssEase","easing","fade","focusOnSelect","infinite","lazyLoad","pauseOnDotsHover","pauseOnFocus","pauseOnHover","rtl","slidesToScroll","slidesToShow","speed","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","beforeChange","_extends","valueProp","onChangeProp","variableType","componentHelpers","helpers","defaultStyles","registerComponent"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/react-slick",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.209",
|
|
4
4
|
"description": "Plasmic registration call for the React Slick Slider component",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"analyze": "size-limit --why"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@plasmicapp/host": "1.0.
|
|
31
|
+
"@plasmicapp/host": "1.0.188",
|
|
32
32
|
"@size-limit/preset-small-lib": "^4.11.0",
|
|
33
33
|
"@types/node": "^14.0.26",
|
|
34
34
|
"@types/react": "^18.2.33",
|
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@seznam/compose-react-refs": "^1.0.6",
|
|
42
|
-
"antd": "^4.23.4",
|
|
43
42
|
"react-slick": "^0.28.1",
|
|
44
43
|
"slick-carousel": "^1.8.1"
|
|
45
44
|
},
|
|
@@ -48,5 +47,5 @@
|
|
|
48
47
|
"react": ">=16.8.0",
|
|
49
48
|
"react-dom": ">=16.8.0"
|
|
50
49
|
},
|
|
51
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "e9f09fab7f4d2e735b8ba0d5d0da94e68aee685b"
|
|
52
51
|
}
|