@egjs/react-flicking 4.12.0 → 4.12.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"flicking.cjs.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/index.umd.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n cameraClass: \"\",\n firstPanelSize: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n this._afterRender();\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n this._rendering = true;\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public destroy() {\n super.destroy();\n this._reactFlicking.renderEmitter.off(\"render\");\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n private _elRef: React.RefObject<HTMLElement> = React.createRef();\n\n public get nativeElement() { return this._elRef.current!; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this._getElement();\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n\n private _getElement() {\n return React.cloneElement(React.Children.only(this.props.children) as React.ReactElement, {\n ref: this._elRef\n });\n }\n}\n\nexport default StrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport { findDOMNode } from \"react-dom\";\n\nclass NonStrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n public get nativeElement() { return findDOMNode(this) as HTMLElement; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this.props.children;\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n}\n\nexport default NonStrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode } from \"react\";\n\nconst ViewportSlot = React.memo((props: { children?: ReactNode }) => <>{props.children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ElementProvider {\n private _el: StrictPanel | NonStrictPanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return this._el.rendered; }\n\n public constructor(el: StrictPanel | NonStrictPanel) {\n this._el = el;\n }\n\n public show() {\n this._el.show();\n }\n\n public hide() {\n this._el.hide();\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy,\n FlickingEvents,\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods protected _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n protected _pluginsDiffer: ListDiffer<any>;\n protected _jsxDiffer: ListDiffer<React.ReactElement>;\n protected _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n protected _prevChildren: React.ReactElement[];\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, prevent updates when another update is already queued.\n // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n // Omit 'virtual', as it can't have any setter\n const { virtual, ...props } = this.props;\n for (const key in props) {\n if (key in flicking && flicking[key] !== props[key]) {\n flicking[key] = props[key];\n }\n }\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n\n this.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const { viewportClasses, cameraClasses, cameraProps } = this._getClasses(attributes, props);\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n protected _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n this._bindEvent(eventName);\n });\n\n flicking.once(EVENTS.READY, () => {\n this.forceUpdate();\n });\n }\n\n protected _bindEvent(eventName: keyof FlickingEvents) {\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n this._vanillaFlicking!.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n }\n\n protected _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n protected _getClasses(attributes: { [key: string]: any }, props: typeof this.props) {\n const flicking = this._vanillaFlicking;\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n return {\n viewportClasses,\n cameraClasses,\n cameraProps,\n };\n }\n\n private _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n if (child.key && nextChild.key) {\n return child.key === nextChild.key;\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n protected _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n protected _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return this._isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds: React.ReactElement[], fragChild: React.ReactElement) => [...allChilds, ...this._unpackFragment(fragChild)], [] as React.ReactElement[])\n : [child];\n }\n\n private _getVirtualPanels() {\n const {\n panelClass = \"flicking-panel\"\n } = this.props.virtual!;\n const panelsPerView = this.props.panelsPerView!;\n const flicking = this._vanillaFlicking;\n const initialized = flicking && flicking.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = flicking && flicking.panels[0];\n const size = firstPanel\n ? flicking.horizontal\n ? { width: firstPanel.size }\n : { height: firstPanel.size }\n : {};\n\n return renderingIndexes.map(idx => {\n return <div\n key={idx}\n data-element-index={idx}\n ref={this._panels[idx] as React.RefObject<HTMLDivElement>}\n className={panelClass}\n style={size} />\n });\n }\n\n protected _getPanels() {\n const origChildren = this._getChildren();\n const vanillaFlicking = this._vanillaFlicking;\n const diffResult = this._diffResult;\n\n const children: React.ReactElement[] = vanillaFlicking && vanillaFlicking.initialized\n ? diffResult\n ? getRenderingPanels(vanillaFlicking, diffResult)\n : getRenderingPanels(vanillaFlicking, diff(origChildren, origChildren))\n : origChildren;\n\n return this.props.useFindDOMNode\n ? children.map((child, idx) => <NonStrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</NonStrictPanel>)\n : children.map((child, idx) => <StrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</StrictPanel>)\n }\n\n private _isFragment(child: React.ReactElement) {\n if (child.type) {\n return child.type === React.Fragment;\n }\n\n return (child as any) === React.Fragment;\n }\n}\n\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport Flicking from \"./Flicking\";\nimport ViewportSlot from \"./ViewportSlot\";\n\n(Flicking as any).ViewportSlot = ViewportSlot;\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","cameraClass","firstPanelSize","renderOnSameKey","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","ReactRenderer","_super","__extends","options","_this","call","_reactFlicking","reactFlicking","__proto","prototype","render","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","_afterRender","forceUpdate","forceRenderAllPanels","_a","sent","destroy","off","_collectPanels","reactPanels","_panels","collectPanels","_createPanel","externalComponent","createPanel","ExternalRenderer","StrictPanel","apply","arguments","_hide","_elRef","React","createRef","Object","defineProperty","current","get","createElement","Fragment","_getElement","show","hide","cloneElement","Children","only","props","children","ref","Component","NonStrictPanel","findDOMNode","ViewportSlot","memo","ReactElementProvider","el","_el","nativeElement","rendered","Flicking","_renderEmitter","_getChildren","_createPanelRefs","_prevChildren","map","panel","componentDidMount","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","VanillaFlicking","_viewportElement","__assign","externalRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","componentWillUnmount","shouldComponentUpdate","nextProps","vanillaFlicking","prevProps","initialized","restProps","__rest","prevChildren","nextChildren","_hasSameChildren","beforeRender","_diffResult","update","componentDidUpdate","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","name","_b","_getClasses","viewportClasses","cameraClasses","cameraProps","panels","_getVirtualPanels","_getPanels","className","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","_bindEvent","READY","propName","concat","charAt","toUpperCase","slice","on","currentTarget","evtHandler","list","added","removed","prevList","addPlugins","index","removePlugins","isHorizontal","horizontal","push","style","transform","getDefaultCameraTransform","length","same","every","child","idx","nextChild","toArray","filter","type","reduce","all","__spreadArray","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","origChildren","getRenderingPanels","diff","defaultProps","__decorate","withFlickingMethods"],"mappings":"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"}
1
+ {"version":3,"file":"flicking.cjs.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/index.umd.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n cameraClass: \"\",\n firstPanelSize: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n this._afterRender();\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n this._rendering = true;\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public destroy() {\n super.destroy();\n this._reactFlicking.renderEmitter.off(\"render\");\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n private _elRef: React.RefObject<HTMLElement> = React.createRef();\n\n public get nativeElement() { return this._elRef.current!; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this._getElement();\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n\n private _getElement() {\n return React.cloneElement(React.Children.only(this.props.children) as React.ReactElement, {\n ref: this._elRef\n });\n }\n}\n\nexport default StrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport { findDOMNode } from \"react-dom\";\n\nclass NonStrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n public get nativeElement() { return findDOMNode(this) as HTMLElement; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this.props.children;\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n}\n\nexport default NonStrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode } from \"react\";\n\nconst ViewportSlot = React.memo((props: { children?: ReactNode }) => <>{props.children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ElementProvider {\n private _el: StrictPanel | NonStrictPanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return this._el.rendered; }\n\n public constructor(el: StrictPanel | NonStrictPanel) {\n this._el = el;\n }\n\n public show() {\n this._el.show();\n }\n\n public hide() {\n this._el.hide();\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy,\n FlickingEvents,\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods protected _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n protected _pluginsDiffer: ListDiffer<any>;\n protected _jsxDiffer: ListDiffer<React.ReactElement>;\n protected _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n protected _prevChildren: React.ReactElement[];\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, prevent updates when another update is already queued.\n // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n // Omit 'virtual', as it can't have any setter\n const { virtual, ...props } = this.props;\n for (const key in props) {\n if (key in flicking && flicking[key] !== props[key]) {\n flicking[key] = props[key];\n }\n }\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n\n this.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const { viewportClasses, cameraClasses, cameraProps } = this._getClasses(attributes, props);\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n protected _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n this._bindEvent(eventName);\n });\n\n flicking.once(EVENTS.READY, () => {\n this.forceUpdate();\n });\n }\n\n protected _bindEvent(eventName: keyof FlickingEvents) {\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n this._vanillaFlicking!.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n }\n\n protected _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n protected _getClasses(attributes: { [key: string]: any }, props: typeof this.props) {\n const flicking = this._vanillaFlicking;\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n return {\n viewportClasses,\n cameraClasses,\n cameraProps,\n };\n }\n\n private _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n if (child.key && nextChild.key) {\n return (child.key === nextChild.key && Object.keys(child.props).every(key => child.props[key] === nextChild.props[key]));\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n protected _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n protected _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return this._isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds: React.ReactElement[], fragChild: React.ReactElement) => [...allChilds, ...this._unpackFragment(fragChild)], [] as React.ReactElement[])\n : [child];\n }\n\n private _getVirtualPanels() {\n const {\n panelClass = \"flicking-panel\"\n } = this.props.virtual!;\n const panelsPerView = this.props.panelsPerView!;\n const flicking = this._vanillaFlicking;\n const initialized = flicking && flicking.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = flicking && flicking.panels[0];\n const size = firstPanel\n ? flicking.horizontal\n ? { width: firstPanel.size }\n : { height: firstPanel.size }\n : {};\n\n return renderingIndexes.map(idx => {\n return <div\n key={idx}\n data-element-index={idx}\n ref={this._panels[idx] as React.RefObject<HTMLDivElement>}\n className={panelClass}\n style={size} />\n });\n }\n\n protected _getPanels() {\n const origChildren = this._getChildren();\n const vanillaFlicking = this._vanillaFlicking;\n const diffResult = this._diffResult;\n\n const children: React.ReactElement[] = vanillaFlicking && vanillaFlicking.initialized\n ? diffResult\n ? getRenderingPanels(vanillaFlicking, diffResult)\n : getRenderingPanels(vanillaFlicking, diff(origChildren, origChildren))\n : origChildren;\n\n return this.props.useFindDOMNode\n ? children.map((child, idx) => <NonStrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</NonStrictPanel>)\n : children.map((child, idx) => <StrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</StrictPanel>)\n }\n\n private _isFragment(child: React.ReactElement) {\n if (child.type) {\n return child.type === React.Fragment;\n }\n\n return (child as any) === React.Fragment;\n }\n}\n\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport Flicking from \"./Flicking\";\nimport ViewportSlot from \"./ViewportSlot\";\n\n(Flicking as any).ViewportSlot = ViewportSlot;\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","cameraClass","firstPanelSize","renderOnSameKey","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","ReactRenderer","_super","__extends","options","_this","call","_reactFlicking","reactFlicking","__proto","prototype","render","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","_afterRender","forceUpdate","forceRenderAllPanels","_a","sent","destroy","off","_collectPanels","reactPanels","_panels","collectPanels","_createPanel","externalComponent","createPanel","ExternalRenderer","StrictPanel","apply","arguments","_hide","_elRef","React","createRef","Object","defineProperty","current","get","createElement","Fragment","_getElement","show","hide","cloneElement","Children","only","props","children","ref","Component","NonStrictPanel","findDOMNode","ViewportSlot","memo","ReactElementProvider","el","_el","nativeElement","rendered","Flicking","_renderEmitter","_getChildren","_createPanelRefs","_prevChildren","map","panel","componentDidMount","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","VanillaFlicking","_viewportElement","__assign","externalRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","componentWillUnmount","shouldComponentUpdate","nextProps","vanillaFlicking","prevProps","initialized","restProps","__rest","prevChildren","nextChildren","_hasSameChildren","beforeRender","_diffResult","update","componentDidUpdate","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","name","_b","_getClasses","viewportClasses","cameraClasses","cameraProps","panels","_getVirtualPanels","_getPanels","className","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","_bindEvent","READY","propName","concat","charAt","toUpperCase","slice","on","currentTarget","evtHandler","list","added","removed","prevList","addPlugins","index","removePlugins","isHorizontal","horizontal","push","style","transform","getDefaultCameraTransform","length","same","every","child","idx","nextChild","toArray","filter","type","reduce","all","__spreadArray","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","origChildren","getRenderingPanels","diff","defaultProps","__decorate","withFlickingMethods"],"mappings":"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"}
package/dist/flicking.css CHANGED
@@ -2,20 +2,23 @@
2
2
  position: relative;
3
3
  overflow: hidden;
4
4
  }
5
+
5
6
  .flicking-viewport.vertical {
6
7
  display: -webkit-inline-box;
7
8
  display: -ms-inline-flexbox;
8
9
  display: inline-flex;
9
10
  }
11
+
10
12
  .flicking-viewport.vertical > .flicking-camera {
11
13
  display: -webkit-inline-box;
12
14
  display: -ms-inline-flexbox;
13
15
  display: inline-flex;
14
16
  -webkit-box-orient: vertical;
15
17
  -webkit-box-direction: normal;
16
- -ms-flex-direction: column;
17
- flex-direction: column;
18
+ -ms-flex-direction: column;
19
+ flex-direction: column;
18
20
  }
21
+
19
22
  .flicking-viewport.flicking-hidden > .flicking-camera > * {
20
23
  visibility: hidden;
21
24
  }
@@ -29,12 +32,13 @@
29
32
  position: relative;
30
33
  -webkit-box-orient: horizontal;
31
34
  -webkit-box-direction: normal;
32
- -ms-flex-direction: row;
33
- flex-direction: row;
35
+ -ms-flex-direction: row;
36
+ flex-direction: row;
34
37
  z-index: 1;
35
38
  will-change: transform;
36
39
  }
40
+
37
41
  .flicking-camera > * {
38
42
  -ms-flex-negative: 0;
39
- flex-shrink: 0;
43
+ flex-shrink: 0;
40
44
  }
@@ -4,7 +4,7 @@ name: @egjs/react-flicking
4
4
  license: MIT
5
5
  author: NAVER Corp.
6
6
  repository: https://github.com/naver/egjs-flicking/tree/master/packages/react-flicking
7
- version: 4.12.0
7
+ version: 4.12.1-beta.1
8
8
  */
9
9
  import * as React from 'react';
10
10
  import React__default from 'react';
@@ -370,9 +370,9 @@ var NonStrictPanel = /*#__PURE__*/function (_super) {
370
370
  return NonStrictPanel;
371
371
  }(React.Component);
372
372
 
373
- /*
374
- * Copyright (c) 2015 NAVER Corp.
375
- * egjs projects are licensed under the MIT license
373
+ /*
374
+ * Copyright (c) 2015 NAVER Corp.
375
+ * egjs projects are licensed under the MIT license
376
376
  */
377
377
  var ViewportSlot = React__default.memo(function (props) {
378
378
  return React__default.createElement(React__default.Fragment, null, props.children);
@@ -619,7 +619,9 @@ var Flicking = /*#__PURE__*/function (_super) {
619
619
  var same = prevChildren.every(function (child, idx) {
620
620
  var nextChild = nextChildren[idx];
621
621
  if (child.key && nextChild.key) {
622
- return child.key === nextChild.key;
622
+ return child.key === nextChild.key && Object.keys(child.props).every(function (key) {
623
+ return child.props[key] === nextChild.props[key];
624
+ });
623
625
  } else {
624
626
  return child === nextChild;
625
627
  }
@@ -793,9 +795,9 @@ var CrossGroup = React__default.forwardRef(function (_a, ref) {
793
795
  }, rest), children);
794
796
  });
795
797
 
796
- /*
797
- * Copyright (c) 2015 NAVER Corp.
798
- * egjs projects are licensed under the MIT license
798
+ /*
799
+ * Copyright (c) 2015 NAVER Corp.
800
+ * egjs projects are licensed under the MIT license
799
801
  */
800
802
 
801
803
  export { CrossFlicking, CrossGroup, ViewportSlot, Flicking as default };
@@ -1 +1 @@
1
- {"version":3,"file":"flicking.esm.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/CrossFlicking.tsx","../src/react-flicking/CrossGroup.tsx","../src/react-flicking/index.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n cameraClass: \"\",\n firstPanelSize: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n this._afterRender();\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n this._rendering = true;\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public destroy() {\n super.destroy();\n this._reactFlicking.renderEmitter.off(\"render\");\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n private _elRef: React.RefObject<HTMLElement> = React.createRef();\n\n public get nativeElement() { return this._elRef.current!; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this._getElement();\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n\n private _getElement() {\n return React.cloneElement(React.Children.only(this.props.children) as React.ReactElement, {\n ref: this._elRef\n });\n }\n}\n\nexport default StrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport { findDOMNode } from \"react-dom\";\n\nclass NonStrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n public get nativeElement() { return findDOMNode(this) as HTMLElement; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this.props.children;\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n}\n\nexport default NonStrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode } from \"react\";\n\nconst ViewportSlot = React.memo((props: { children?: ReactNode }) => <>{props.children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ElementProvider {\n private _el: StrictPanel | NonStrictPanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return this._el.rendered; }\n\n public constructor(el: StrictPanel | NonStrictPanel) {\n this._el = el;\n }\n\n public show() {\n this._el.show();\n }\n\n public hide() {\n this._el.hide();\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy,\n FlickingEvents,\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods protected _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n protected _pluginsDiffer: ListDiffer<any>;\n protected _jsxDiffer: ListDiffer<React.ReactElement>;\n protected _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n protected _prevChildren: React.ReactElement[];\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, prevent updates when another update is already queued.\n // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n // Omit 'virtual', as it can't have any setter\n const { virtual, ...props } = this.props;\n for (const key in props) {\n if (key in flicking && flicking[key] !== props[key]) {\n flicking[key] = props[key];\n }\n }\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n\n this.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const { viewportClasses, cameraClasses, cameraProps } = this._getClasses(attributes, props);\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n protected _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n this._bindEvent(eventName);\n });\n\n flicking.once(EVENTS.READY, () => {\n this.forceUpdate();\n });\n }\n\n protected _bindEvent(eventName: keyof FlickingEvents) {\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n this._vanillaFlicking!.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n }\n\n protected _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n protected _getClasses(attributes: { [key: string]: any }, props: typeof this.props) {\n const flicking = this._vanillaFlicking;\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n return {\n viewportClasses,\n cameraClasses,\n cameraProps,\n };\n }\n\n private _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n if (child.key && nextChild.key) {\n return child.key === nextChild.key;\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n protected _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n protected _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return this._isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds: React.ReactElement[], fragChild: React.ReactElement) => [...allChilds, ...this._unpackFragment(fragChild)], [] as React.ReactElement[])\n : [child];\n }\n\n private _getVirtualPanels() {\n const {\n panelClass = \"flicking-panel\"\n } = this.props.virtual!;\n const panelsPerView = this.props.panelsPerView!;\n const flicking = this._vanillaFlicking;\n const initialized = flicking && flicking.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = flicking && flicking.panels[0];\n const size = firstPanel\n ? flicking.horizontal\n ? { width: firstPanel.size }\n : { height: firstPanel.size }\n : {};\n\n return renderingIndexes.map(idx => {\n return <div\n key={idx}\n data-element-index={idx}\n ref={this._panels[idx] as React.RefObject<HTMLDivElement>}\n className={panelClass}\n style={size} />\n });\n }\n\n protected _getPanels() {\n const origChildren = this._getChildren();\n const vanillaFlicking = this._vanillaFlicking;\n const diffResult = this._diffResult;\n\n const children: React.ReactElement[] = vanillaFlicking && vanillaFlicking.initialized\n ? diffResult\n ? getRenderingPanels(vanillaFlicking, diffResult)\n : getRenderingPanels(vanillaFlicking, diff(origChildren, origChildren))\n : origChildren;\n\n return this.props.useFindDOMNode\n ? children.map((child, idx) => <NonStrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</NonStrictPanel>)\n : children.map((child, idx) => <StrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</StrictPanel>)\n }\n\n private _isFragment(child: React.ReactElement) {\n if (child.type) {\n return child.type === React.Fragment;\n }\n\n return (child as any) === React.Fragment;\n }\n}\n\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport ListDiffer from \"@egjs/list-differ\";\nimport {\n CrossFlicking as VanillaCrossFlicking,\n NormalRenderingStrategy,\n CrossFlickingEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n EVENTS,\n SIDE_EVENTS,\n CrossFlickingOptions,\n FlickingOptions,\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport ReactElementProvider from \"./ReactElementProvider\";\nimport Flicking from \"./Flicking\";\n\nexport interface CrossFlickingProps extends FlickingProps {\n onSideHoldStart: (e: CrossFlickingEvent<HoldStartEvent<Flicking>>) => any;\n onSideHoldEnd: (e: CrossFlickingEvent<HoldEndEvent<Flicking>>) => any;\n onSideMoveStart: (e: CrossFlickingEvent<MoveStartEvent<Flicking>>) => any;\n onSideMove: (e: CrossFlickingEvent<MoveEvent<Flicking>>) => any;\n onSideMoveEnd: (e: CrossFlickingEvent<MoveEndEvent<Flicking>>) => any;\n onSideWillChange: (e: CrossFlickingEvent<WillChangeEvent<Flicking>>) => any;\n onSideChanged: (e: CrossFlickingEvent<ChangedEvent<Flicking>>) => any;\n onSideWillRestore: (e: CrossFlickingEvent<WillChangeEvent<Flicking>>) => any;\n onSideRestored: (e: CrossFlickingEvent<ChangedEvent<Flicking>>) => any;\n}\n\nexport const CROSSFLICKING_DEFAULT_PROPS: CrossFlickingProps = {\n ...DEFAULT_PROPS,\n onSideHoldStart: (e: CrossFlickingEvent<HoldStartEvent>) => {},\n onSideHoldEnd: (e: CrossFlickingEvent<HoldEndEvent>) => {},\n onSideMoveStart: (e: CrossFlickingEvent<MoveStartEvent>) => {},\n onSideMove: (e: CrossFlickingEvent<MoveEvent>) => {},\n onSideMoveEnd: (e: CrossFlickingEvent<MoveEndEvent>) => {},\n onSideWillChange: (e: CrossFlickingEvent<WillChangeEvent>) => {},\n onSideChanged: (e: CrossFlickingEvent<ChangedEvent>) => {},\n onSideWillRestore: (e: CrossFlickingEvent<WillChangeEvent>) => {},\n onSideRestored: (e: CrossFlickingEvent<ChangedEvent>) => {},\n};\n\nclass CrossFlicking extends Flicking {\n public static defaultProps: CrossFlickingProps = CROSSFLICKING_DEFAULT_PROPS;\n\n public constructor(\n props: Partial<\n FlickingProps &\n FlickingOptions &\n CrossFlickingOptions &\n CrossFlickingProps\n >\n ) {\n super(props);\n }\n\n public componentDidMount() {\n const props: { [key: string]: any } = {};\n\n for (const name in this.props) {\n if ((name in CROSSFLICKING_DEFAULT_PROPS) || (name in VanillaCrossFlicking.prototype)) {\n props[name] = this.props[name];\n }\n }\n\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n strategy: new NormalRenderingStrategy({\n providerCtor: ReactElementProvider,\n }),\n };\n\n const flicking = new VanillaCrossFlicking(this._viewportElement, {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions),\n });\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, (panel) => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n\n this.beforeRender();\n\n for (const name in props) {\n if (!(name in CROSSFLICKING_DEFAULT_PROPS) && !(name in VanillaCrossFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const { viewportClasses, cameraClasses, cameraProps } = this._getClasses(attributes, props);\n\n const panels = this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n protected _bindEvents() {\n super._bindEvents();\n\n Object.keys(SIDE_EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = SIDE_EVENTS[eventKey];\n this._bindEvent(eventName);\n });\n }\n}\n\ninterface CrossFlicking extends Flicking {}\nexport default CrossFlicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode, HTMLAttributes } from \"react\";\n\ninterface CrossGroupProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n}\n\nconst CrossGroup = React.forwardRef<HTMLDivElement, CrossGroupProps>(\n ({ children, ...rest }, ref) => (\n <div ref={ref} {...rest}>\n {children}\n </div>\n )\n);\n\nexport default CrossGroup;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport Flicking from \"./Flicking\";\nimport CrossFlicking from \"./CrossFlicking\";\nimport CrossGroup from \"./CrossGroup\";\nimport ViewportSlot from \"./ViewportSlot\";\n\nexport * from \"@egjs/flicking\";\nexport * from \"./types\";\n\nexport {\n CrossFlicking,\n CrossGroup,\n ViewportSlot,\n}\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","cameraClass","firstPanelSize","renderOnSameKey","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","ReactRenderer","_super","__extends","options","_this","call","_reactFlicking","reactFlicking","__proto","prototype","render","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","_afterRender","forceUpdate","forceRenderAllPanels","_a","sent","destroy","off","_collectPanels","reactPanels","_panels","collectPanels","_createPanel","externalComponent","createPanel","ExternalRenderer","StrictPanel","apply","arguments","_hide","_elRef","React","createRef","Object","defineProperty","current","get","createElement","Fragment","_getElement","show","hide","cloneElement","Children","only","props","children","ref","Component","NonStrictPanel","findDOMNode","ViewportSlot","memo","ReactElementProvider","el","_el","nativeElement","rendered","Flicking","_renderEmitter","_getChildren","_createPanelRefs","_prevChildren","map","panel","componentDidMount","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","VanillaFlicking","_viewportElement","__assign","externalRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","componentWillUnmount","shouldComponentUpdate","nextProps","vanillaFlicking","prevProps","initialized","restProps","__rest","prevChildren","nextChildren","_hasSameChildren","beforeRender","_diffResult","update","componentDidUpdate","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","name","_b","_getClasses","viewportClasses","cameraClasses","cameraProps","panels","_getVirtualPanels","_getPanels","className","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","_bindEvent","READY","propName","concat","charAt","toUpperCase","slice","on","currentTarget","evtHandler","list","added","removed","prevList","addPlugins","index","removePlugins","isHorizontal","horizontal","push","style","transform","getDefaultCameraTransform","length","same","every","child","idx","nextChild","toArray","filter","type","reduce","all","__spreadArray","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","origChildren","getRenderingPanels","diff","defaultProps","__decorate","withFlickingMethods","CROSSFLICKING_DEFAULT_PROPS","onSideHoldStart","onSideHoldEnd","onSideMoveStart","onSideMove","onSideMoveEnd","onSideWillChange","onSideChanged","onSideWillRestore","onSideRestored","CrossFlicking","VanillaCrossFlicking","SIDE_EVENTS","CrossGroup","forwardRef","rest"],"mappings":"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"}
1
+ {"version":3,"file":"flicking.esm.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/CrossFlicking.tsx","../src/react-flicking/CrossGroup.tsx","../src/react-flicking/index.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n cameraClass: \"\",\n firstPanelSize: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n this._afterRender();\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n this._rendering = true;\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public destroy() {\n super.destroy();\n this._reactFlicking.renderEmitter.off(\"render\");\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n private _elRef: React.RefObject<HTMLElement> = React.createRef();\n\n public get nativeElement() { return this._elRef.current!; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this._getElement();\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n\n private _getElement() {\n return React.cloneElement(React.Children.only(this.props.children) as React.ReactElement, {\n ref: this._elRef\n });\n }\n}\n\nexport default StrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport { findDOMNode } from \"react-dom\";\n\nclass NonStrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n public get nativeElement() { return findDOMNode(this) as HTMLElement; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this.props.children;\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n}\n\nexport default NonStrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode } from \"react\";\n\nconst ViewportSlot = React.memo((props: { children?: ReactNode }) => <>{props.children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ElementProvider {\n private _el: StrictPanel | NonStrictPanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return this._el.rendered; }\n\n public constructor(el: StrictPanel | NonStrictPanel) {\n this._el = el;\n }\n\n public show() {\n this._el.show();\n }\n\n public hide() {\n this._el.hide();\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy,\n FlickingEvents,\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods protected _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n protected _pluginsDiffer: ListDiffer<any>;\n protected _jsxDiffer: ListDiffer<React.ReactElement>;\n protected _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n protected _prevChildren: React.ReactElement[];\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, prevent updates when another update is already queued.\n // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n // Omit 'virtual', as it can't have any setter\n const { virtual, ...props } = this.props;\n for (const key in props) {\n if (key in flicking && flicking[key] !== props[key]) {\n flicking[key] = props[key];\n }\n }\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n\n this.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const { viewportClasses, cameraClasses, cameraProps } = this._getClasses(attributes, props);\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n protected _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n this._bindEvent(eventName);\n });\n\n flicking.once(EVENTS.READY, () => {\n this.forceUpdate();\n });\n }\n\n protected _bindEvent(eventName: keyof FlickingEvents) {\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n this._vanillaFlicking!.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n }\n\n protected _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n protected _getClasses(attributes: { [key: string]: any }, props: typeof this.props) {\n const flicking = this._vanillaFlicking;\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n return {\n viewportClasses,\n cameraClasses,\n cameraProps,\n };\n }\n\n private _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n if (child.key && nextChild.key) {\n return (child.key === nextChild.key && Object.keys(child.props).every(key => child.props[key] === nextChild.props[key]));\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n protected _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n protected _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return this._isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds: React.ReactElement[], fragChild: React.ReactElement) => [...allChilds, ...this._unpackFragment(fragChild)], [] as React.ReactElement[])\n : [child];\n }\n\n private _getVirtualPanels() {\n const {\n panelClass = \"flicking-panel\"\n } = this.props.virtual!;\n const panelsPerView = this.props.panelsPerView!;\n const flicking = this._vanillaFlicking;\n const initialized = flicking && flicking.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = flicking && flicking.panels[0];\n const size = firstPanel\n ? flicking.horizontal\n ? { width: firstPanel.size }\n : { height: firstPanel.size }\n : {};\n\n return renderingIndexes.map(idx => {\n return <div\n key={idx}\n data-element-index={idx}\n ref={this._panels[idx] as React.RefObject<HTMLDivElement>}\n className={panelClass}\n style={size} />\n });\n }\n\n protected _getPanels() {\n const origChildren = this._getChildren();\n const vanillaFlicking = this._vanillaFlicking;\n const diffResult = this._diffResult;\n\n const children: React.ReactElement[] = vanillaFlicking && vanillaFlicking.initialized\n ? diffResult\n ? getRenderingPanels(vanillaFlicking, diffResult)\n : getRenderingPanels(vanillaFlicking, diff(origChildren, origChildren))\n : origChildren;\n\n return this.props.useFindDOMNode\n ? children.map((child, idx) => <NonStrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</NonStrictPanel>)\n : children.map((child, idx) => <StrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</StrictPanel>)\n }\n\n private _isFragment(child: React.ReactElement) {\n if (child.type) {\n return child.type === React.Fragment;\n }\n\n return (child as any) === React.Fragment;\n }\n}\n\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport ListDiffer from \"@egjs/list-differ\";\nimport {\n CrossFlicking as VanillaCrossFlicking,\n NormalRenderingStrategy,\n CrossFlickingEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n EVENTS,\n SIDE_EVENTS,\n CrossFlickingOptions,\n FlickingOptions,\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport ReactElementProvider from \"./ReactElementProvider\";\nimport Flicking from \"./Flicking\";\n\nexport interface CrossFlickingProps extends FlickingProps {\n onSideHoldStart: (e: CrossFlickingEvent<HoldStartEvent<Flicking>>) => any;\n onSideHoldEnd: (e: CrossFlickingEvent<HoldEndEvent<Flicking>>) => any;\n onSideMoveStart: (e: CrossFlickingEvent<MoveStartEvent<Flicking>>) => any;\n onSideMove: (e: CrossFlickingEvent<MoveEvent<Flicking>>) => any;\n onSideMoveEnd: (e: CrossFlickingEvent<MoveEndEvent<Flicking>>) => any;\n onSideWillChange: (e: CrossFlickingEvent<WillChangeEvent<Flicking>>) => any;\n onSideChanged: (e: CrossFlickingEvent<ChangedEvent<Flicking>>) => any;\n onSideWillRestore: (e: CrossFlickingEvent<WillChangeEvent<Flicking>>) => any;\n onSideRestored: (e: CrossFlickingEvent<ChangedEvent<Flicking>>) => any;\n}\n\nexport const CROSSFLICKING_DEFAULT_PROPS: CrossFlickingProps = {\n ...DEFAULT_PROPS,\n onSideHoldStart: (e: CrossFlickingEvent<HoldStartEvent>) => {},\n onSideHoldEnd: (e: CrossFlickingEvent<HoldEndEvent>) => {},\n onSideMoveStart: (e: CrossFlickingEvent<MoveStartEvent>) => {},\n onSideMove: (e: CrossFlickingEvent<MoveEvent>) => {},\n onSideMoveEnd: (e: CrossFlickingEvent<MoveEndEvent>) => {},\n onSideWillChange: (e: CrossFlickingEvent<WillChangeEvent>) => {},\n onSideChanged: (e: CrossFlickingEvent<ChangedEvent>) => {},\n onSideWillRestore: (e: CrossFlickingEvent<WillChangeEvent>) => {},\n onSideRestored: (e: CrossFlickingEvent<ChangedEvent>) => {},\n};\n\nclass CrossFlicking extends Flicking {\n public static defaultProps: CrossFlickingProps = CROSSFLICKING_DEFAULT_PROPS;\n\n public constructor(\n props: Partial<\n FlickingProps &\n FlickingOptions &\n CrossFlickingOptions &\n CrossFlickingProps\n >\n ) {\n super(props);\n }\n\n public componentDidMount() {\n const props: { [key: string]: any } = {};\n\n for (const name in this.props) {\n if ((name in CROSSFLICKING_DEFAULT_PROPS) || (name in VanillaCrossFlicking.prototype)) {\n props[name] = this.props[name];\n }\n }\n\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n strategy: new NormalRenderingStrategy({\n providerCtor: ReactElementProvider,\n }),\n };\n\n const flicking = new VanillaCrossFlicking(this._viewportElement, {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions),\n });\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, (panel) => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n\n this.beforeRender();\n\n for (const name in props) {\n if (!(name in CROSSFLICKING_DEFAULT_PROPS) && !(name in VanillaCrossFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const { viewportClasses, cameraClasses, cameraProps } = this._getClasses(attributes, props);\n\n const panels = this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n protected _bindEvents() {\n super._bindEvents();\n\n Object.keys(SIDE_EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = SIDE_EVENTS[eventKey];\n this._bindEvent(eventName);\n });\n }\n}\n\ninterface CrossFlicking extends Flicking {}\nexport default CrossFlicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode, HTMLAttributes } from \"react\";\n\ninterface CrossGroupProps extends HTMLAttributes<HTMLDivElement> {\n children?: ReactNode;\n}\n\nconst CrossGroup = React.forwardRef<HTMLDivElement, CrossGroupProps>(\n ({ children, ...rest }, ref) => (\n <div ref={ref} {...rest}>\n {children}\n </div>\n )\n);\n\nexport default CrossGroup;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport Flicking from \"./Flicking\";\nimport CrossFlicking from \"./CrossFlicking\";\nimport CrossGroup from \"./CrossGroup\";\nimport ViewportSlot from \"./ViewportSlot\";\n\nexport * from \"@egjs/flicking\";\nexport * from \"./types\";\n\nexport {\n CrossFlicking,\n CrossGroup,\n ViewportSlot,\n}\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","cameraClass","firstPanelSize","renderOnSameKey","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","ReactRenderer","_super","__extends","options","_this","call","_reactFlicking","reactFlicking","__proto","prototype","render","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","_afterRender","forceUpdate","forceRenderAllPanels","_a","sent","destroy","off","_collectPanels","reactPanels","_panels","collectPanels","_createPanel","externalComponent","createPanel","ExternalRenderer","StrictPanel","apply","arguments","_hide","_elRef","React","createRef","Object","defineProperty","current","get","createElement","Fragment","_getElement","show","hide","cloneElement","Children","only","props","children","ref","Component","NonStrictPanel","findDOMNode","ViewportSlot","memo","ReactElementProvider","el","_el","nativeElement","rendered","Flicking","_renderEmitter","_getChildren","_createPanelRefs","_prevChildren","map","panel","componentDidMount","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","VanillaFlicking","_viewportElement","__assign","externalRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","componentWillUnmount","shouldComponentUpdate","nextProps","vanillaFlicking","prevProps","initialized","restProps","__rest","prevChildren","nextChildren","_hasSameChildren","beforeRender","_diffResult","update","componentDidUpdate","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","name","_b","_getClasses","viewportClasses","cameraClasses","cameraProps","panels","_getVirtualPanels","_getPanels","className","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","_bindEvent","READY","propName","concat","charAt","toUpperCase","slice","on","currentTarget","evtHandler","list","added","removed","prevList","addPlugins","index","removePlugins","isHorizontal","horizontal","push","style","transform","getDefaultCameraTransform","length","same","every","child","idx","nextChild","toArray","filter","type","reduce","all","__spreadArray","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","origChildren","getRenderingPanels","diff","defaultProps","__decorate","withFlickingMethods","CROSSFLICKING_DEFAULT_PROPS","onSideHoldStart","onSideHoldEnd","onSideMoveStart","onSideMove","onSideMoveEnd","onSideWillChange","onSideChanged","onSideWillRestore","onSideRestored","CrossFlicking","VanillaCrossFlicking","SIDE_EVENTS","CrossGroup","forwardRef","rest"],"mappings":"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"}
@@ -4,7 +4,7 @@ name: @egjs/react-flicking
4
4
  license: MIT
5
5
  author: NAVER Corp.
6
6
  repository: https://github.com/naver/egjs-flicking/tree/master/packages/react-flicking
7
- version: 4.12.0
7
+ version: 4.12.1-beta.1
8
8
  */
9
9
  (function (global, factory) {
10
10
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('@egjs/component'), require('@egjs/list-differ'), require('@egjs/flicking'), require('react-dom')) :
@@ -368,9 +368,9 @@ version: 4.12.0
368
368
  return NonStrictPanel;
369
369
  }(React.Component);
370
370
 
371
- /*
372
- * Copyright (c) 2015 NAVER Corp.
373
- * egjs projects are licensed under the MIT license
371
+ /*
372
+ * Copyright (c) 2015 NAVER Corp.
373
+ * egjs projects are licensed under the MIT license
374
374
  */
375
375
  var ViewportSlot = React.memo(function (props) {
376
376
  return React.createElement(React.Fragment, null, props.children);
@@ -617,7 +617,9 @@ version: 4.12.0
617
617
  var same = prevChildren.every(function (child, idx) {
618
618
  var nextChild = nextChildren[idx];
619
619
  if (child.key && nextChild.key) {
620
- return child.key === nextChild.key;
620
+ return child.key === nextChild.key && Object.keys(child.props).every(function (key) {
621
+ return child.props[key] === nextChild.props[key];
622
+ });
621
623
  } else {
622
624
  return child === nextChild;
623
625
  }
@@ -699,9 +701,9 @@ version: 4.12.0
699
701
  return Flicking;
700
702
  }(React.Component);
701
703
 
702
- /*
703
- * Copyright (c) 2015 NAVER Corp.
704
- * egjs projects are licensed under the MIT license
704
+ /*
705
+ * Copyright (c) 2015 NAVER Corp.
706
+ * egjs projects are licensed under the MIT license
705
707
  */
706
708
  Flicking.ViewportSlot = ViewportSlot;
707
709