@egjs/react-flicking 4.9.0 → 4.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/flicking.cjs.js +3 -3
- package/dist/flicking.cjs.js.map +1 -1
- package/dist/flicking.esm.js +3 -3
- package/dist/flicking.esm.js.map +1 -1
- package/dist/flicking.umd.js +3 -3
- package/dist/flicking.umd.js.map +1 -1
- package/package.json +2 -2
- package/src/react-flicking/Flicking.tsx +2 -2
- package/dist/flicking-inline.css.map +0 -1
- package/dist/flicking.css.map +0 -1
package/dist/flicking.cjs.js
CHANGED
|
@@ -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.9.
|
|
7
|
+
version: 4.9.3
|
|
8
8
|
*/
|
|
9
9
|
'use strict';
|
|
10
10
|
|
|
@@ -650,13 +650,13 @@ function (_super) {
|
|
|
650
650
|
var _this = this;
|
|
651
651
|
|
|
652
652
|
var flicking = this._vanillaFlicking;
|
|
653
|
-
var props = this.props;
|
|
654
653
|
Object.keys(VanillaFlicking.EVENTS).forEach(function (eventKey) {
|
|
655
654
|
var eventName = VanillaFlicking.EVENTS[eventKey];
|
|
656
655
|
var propName = "on".concat(eventName.charAt(0).toUpperCase() + eventName.slice(1));
|
|
657
656
|
flicking.on(eventName, function (e) {
|
|
658
657
|
e.currentTarget = _this;
|
|
659
|
-
props[propName]
|
|
658
|
+
var evtHandler = _this.props[propName];
|
|
659
|
+
evtHandler(e);
|
|
660
660
|
});
|
|
661
661
|
});
|
|
662
662
|
flicking.once(VanillaFlicking.EVENTS.READY, function () {
|
package/dist/flicking.cjs.js.map
CHANGED
|
@@ -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 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 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 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} 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\nenum LifeCycleState {\n BEFORE_UPDATE,\n RENDER,\n UPDATED\n}\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _currentState: LifeCycleState = LifeCycleState.BEFORE_UPDATE;\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 this._panels = this._createPanelRefs(props, this._getChildren());\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 this._currentState = LifeCycleState.UPDATED;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\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: this[\"props\"]) {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n if (this._currentState !== LifeCycleState.BEFORE_UPDATE && props.children !== nextProps.children) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n\n this._currentState = LifeCycleState.BEFORE_UPDATE;\n\n for (const key in nextProps) {\n if (props[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\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 this._currentState = LifeCycleState.UPDATED;\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 const flicking = this._vanillaFlicking;\n\n this._currentState = LifeCycleState.RENDER;\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 initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\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\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\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=\"flicking-camera\" {...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 private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n const props = this.props as Required<FlickingProps>;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n props[propName](e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n const children = this._getChildren();\n const diffResult = this._jsxDiffer.update(children);\n\n // children is changed before init\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this._panels = this._createPanelRefs(this.props, children);\n this._diffResult = diffResult;\n }\n\n this.forceUpdate();\n });\n }\n\n private _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 private _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 private _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 private _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","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","LifeCycleState","BEFORE_UPDATE","_createPanelRefs","_getChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_currentState","UPDATED","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","initialized","nextChildren","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","RENDER","name","prototype","viewportClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","READY","added","length","removed","list","prevList","addPlugins","index","removePlugins","toArray","filter","child","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","idx","origChildren","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__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 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 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 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} 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\nenum LifeCycleState {\n BEFORE_UPDATE,\n RENDER,\n UPDATED\n}\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _currentState: LifeCycleState = LifeCycleState.BEFORE_UPDATE;\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 this._panels = this._createPanelRefs(props, this._getChildren());\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 this._currentState = LifeCycleState.UPDATED;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\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: this[\"props\"]) {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n if (this._currentState !== LifeCycleState.BEFORE_UPDATE && props.children !== nextProps.children) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n\n this._currentState = LifeCycleState.BEFORE_UPDATE;\n\n for (const key in nextProps) {\n if (props[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\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 this._currentState = LifeCycleState.UPDATED;\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 const flicking = this._vanillaFlicking;\n\n this._currentState = LifeCycleState.RENDER;\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 initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\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\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\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=\"flicking-camera\" {...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 private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n const children = this._getChildren();\n const diffResult = this._jsxDiffer.update(children);\n\n // children is changed before init\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this._panels = this._createPanelRefs(this.props, children);\n this._diffResult = diffResult;\n }\n\n this.forceUpdate();\n });\n }\n\n private _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 private _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 private _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 private _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","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","LifeCycleState","BEFORE_UPDATE","_createPanelRefs","_getChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_currentState","UPDATED","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","initialized","nextChildren","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","RENDER","name","prototype","viewportClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","evtHandler","READY","added","length","removed","list","prevList","addPlugins","index","removePlugins","toArray","filter","child","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","idx","origChildren","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__decorate","withFlickingMethods"],"mappings":"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"}
|
package/dist/flicking.esm.js
CHANGED
|
@@ -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.9.
|
|
7
|
+
version: 4.9.3
|
|
8
8
|
*/
|
|
9
9
|
import * as React from 'react';
|
|
10
10
|
import React__default from 'react';
|
|
@@ -650,13 +650,13 @@ function (_super) {
|
|
|
650
650
|
var _this = this;
|
|
651
651
|
|
|
652
652
|
var flicking = this._vanillaFlicking;
|
|
653
|
-
var props = this.props;
|
|
654
653
|
Object.keys(EVENTS).forEach(function (eventKey) {
|
|
655
654
|
var eventName = EVENTS[eventKey];
|
|
656
655
|
var propName = "on".concat(eventName.charAt(0).toUpperCase() + eventName.slice(1));
|
|
657
656
|
flicking.on(eventName, function (e) {
|
|
658
657
|
e.currentTarget = _this;
|
|
659
|
-
props[propName]
|
|
658
|
+
var evtHandler = _this.props[propName];
|
|
659
|
+
evtHandler(e);
|
|
660
660
|
});
|
|
661
661
|
});
|
|
662
662
|
flicking.once(EVENTS.READY, function () {
|
package/dist/flicking.esm.js.map
CHANGED
|
@@ -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/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 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 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 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} 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\nenum LifeCycleState {\n BEFORE_UPDATE,\n RENDER,\n UPDATED\n}\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _currentState: LifeCycleState = LifeCycleState.BEFORE_UPDATE;\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 this._panels = this._createPanelRefs(props, this._getChildren());\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 this._currentState = LifeCycleState.UPDATED;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\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: this[\"props\"]) {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n if (this._currentState !== LifeCycleState.BEFORE_UPDATE && props.children !== nextProps.children) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n\n this._currentState = LifeCycleState.BEFORE_UPDATE;\n\n for (const key in nextProps) {\n if (props[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\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 this._currentState = LifeCycleState.UPDATED;\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 const flicking = this._vanillaFlicking;\n\n this._currentState = LifeCycleState.RENDER;\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 initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\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\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\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=\"flicking-camera\" {...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 private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n const props = this.props as Required<FlickingProps>;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n props[propName](e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n const children = this._getChildren();\n const diffResult = this._jsxDiffer.update(children);\n\n // children is changed before init\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this._panels = this._createPanelRefs(this.props, children);\n this._diffResult = diffResult;\n }\n\n this.forceUpdate();\n });\n }\n\n private _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 private _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 private _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 private _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\nexport * from \"@egjs/flicking\";\nexport * from \"./types\";\n\nexport {\n ViewportSlot\n}\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","LifeCycleState","BEFORE_UPDATE","_createPanelRefs","_getChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_currentState","UPDATED","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","initialized","nextChildren","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","RENDER","name","prototype","viewportClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","READY","added","length","removed","list","prevList","addPlugins","index","removePlugins","toArray","filter","child","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","idx","origChildren","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__decorate","withFlickingMethods"],"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/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 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 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 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} 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\nenum LifeCycleState {\n BEFORE_UPDATE,\n RENDER,\n UPDATED\n}\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _currentState: LifeCycleState = LifeCycleState.BEFORE_UPDATE;\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 this._panels = this._createPanelRefs(props, this._getChildren());\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 this._currentState = LifeCycleState.UPDATED;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\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: this[\"props\"]) {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n if (this._currentState !== LifeCycleState.BEFORE_UPDATE && props.children !== nextProps.children) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n\n this._currentState = LifeCycleState.BEFORE_UPDATE;\n\n for (const key in nextProps) {\n if (props[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\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 this._currentState = LifeCycleState.UPDATED;\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 const flicking = this._vanillaFlicking;\n\n this._currentState = LifeCycleState.RENDER;\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 initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\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\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\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=\"flicking-camera\" {...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 private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n const children = this._getChildren();\n const diffResult = this._jsxDiffer.update(children);\n\n // children is changed before init\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this._panels = this._createPanelRefs(this.props, children);\n this._diffResult = diffResult;\n }\n\n this.forceUpdate();\n });\n }\n\n private _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 private _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 private _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 private _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\nexport * from \"@egjs/flicking\";\nexport * from \"./types\";\n\nexport {\n ViewportSlot\n}\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","LifeCycleState","BEFORE_UPDATE","_createPanelRefs","_getChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_currentState","UPDATED","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","initialized","nextChildren","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","RENDER","name","prototype","viewportClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","evtHandler","READY","added","length","removed","list","prevList","addPlugins","index","removePlugins","toArray","filter","child","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","idx","origChildren","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__decorate","withFlickingMethods"],"mappings":"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"}
|
package/dist/flicking.umd.js
CHANGED
|
@@ -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.9.
|
|
7
|
+
version: 4.9.3
|
|
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')) :
|
|
@@ -648,13 +648,13 @@ version: 4.9.0
|
|
|
648
648
|
var _this = this;
|
|
649
649
|
|
|
650
650
|
var flicking = this._vanillaFlicking;
|
|
651
|
-
var props = this.props;
|
|
652
651
|
Object.keys(VanillaFlicking.EVENTS).forEach(function (eventKey) {
|
|
653
652
|
var eventName = VanillaFlicking.EVENTS[eventKey];
|
|
654
653
|
var propName = "on".concat(eventName.charAt(0).toUpperCase() + eventName.slice(1));
|
|
655
654
|
flicking.on(eventName, function (e) {
|
|
656
655
|
e.currentTarget = _this;
|
|
657
|
-
props[propName]
|
|
656
|
+
var evtHandler = _this.props[propName];
|
|
657
|
+
evtHandler(e);
|
|
658
658
|
});
|
|
659
659
|
});
|
|
660
660
|
flicking.once(VanillaFlicking.EVENTS.READY, function () {
|
package/dist/flicking.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flicking.umd.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 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 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 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} 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\nenum LifeCycleState {\n BEFORE_UPDATE,\n RENDER,\n UPDATED\n}\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _currentState: LifeCycleState = LifeCycleState.BEFORE_UPDATE;\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 this._panels = this._createPanelRefs(props, this._getChildren());\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 this._currentState = LifeCycleState.UPDATED;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\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: this[\"props\"]) {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n if (this._currentState !== LifeCycleState.BEFORE_UPDATE && props.children !== nextProps.children) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n\n this._currentState = LifeCycleState.BEFORE_UPDATE;\n\n for (const key in nextProps) {\n if (props[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\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 this._currentState = LifeCycleState.UPDATED;\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 const flicking = this._vanillaFlicking;\n\n this._currentState = LifeCycleState.RENDER;\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 initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\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\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\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=\"flicking-camera\" {...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 private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n const props = this.props as Required<FlickingProps>;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n props[propName](e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n const children = this._getChildren();\n const diffResult = this._jsxDiffer.update(children);\n\n // children is changed before init\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this._panels = this._createPanelRefs(this.props, children);\n this._diffResult = diffResult;\n }\n\n this.forceUpdate();\n });\n }\n\n private _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 private _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 private _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 private _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","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","LifeCycleState","BEFORE_UPDATE","_createPanelRefs","_getChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_currentState","UPDATED","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","initialized","nextChildren","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","RENDER","name","prototype","viewportClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","READY","added","length","removed","list","prevList","addPlugins","index","removePlugins","toArray","filter","child","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","idx","origChildren","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__decorate","withFlickingMethods"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flicking.umd.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 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 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 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} 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\nenum LifeCycleState {\n BEFORE_UPDATE,\n RENDER,\n UPDATED\n}\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _currentState: LifeCycleState = LifeCycleState.BEFORE_UPDATE;\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 this._panels = this._createPanelRefs(props, this._getChildren());\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 this._currentState = LifeCycleState.UPDATED;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\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: this[\"props\"]) {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n if (this._currentState !== LifeCycleState.BEFORE_UPDATE && props.children !== nextProps.children) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n\n this._currentState = LifeCycleState.BEFORE_UPDATE;\n\n for (const key in nextProps) {\n if (props[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\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 this._currentState = LifeCycleState.UPDATED;\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 const flicking = this._vanillaFlicking;\n\n this._currentState = LifeCycleState.RENDER;\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 initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\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\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\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=\"flicking-camera\" {...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 private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n const children = this._getChildren();\n const diffResult = this._jsxDiffer.update(children);\n\n // children is changed before init\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this._panels = this._createPanelRefs(this.props, children);\n this._diffResult = diffResult;\n }\n\n this.forceUpdate();\n });\n }\n\n private _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 private _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 private _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 private _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","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","LifeCycleState","BEFORE_UPDATE","_createPanelRefs","_getChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_currentState","UPDATED","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","initialized","nextChildren","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","RENDER","name","prototype","viewportClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","evtHandler","READY","added","length","removed","list","prevList","addPlugins","index","removePlugins","toArray","filter","child","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","idx","origChildren","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__decorate","withFlickingMethods"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@egjs/react-flicking",
|
|
3
|
-
"version": "4.9.
|
|
3
|
+
"version": "4.9.3",
|
|
4
4
|
"description": "Everyday 30 million people experience. It's reliable, flexible and extendable carousel.",
|
|
5
5
|
"main": "dist/flicking.cjs.js",
|
|
6
6
|
"module": "dist/flicking.esm.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"eject": "react-scripts eject"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@egjs/flicking": "~4.9.
|
|
19
|
+
"@egjs/flicking": "~4.9.2",
|
|
20
20
|
"@egjs/list-differ": "^1.0.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
@@ -198,7 +198,6 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
|
|
|
198
198
|
|
|
199
199
|
private _bindEvents() {
|
|
200
200
|
const flicking = this._vanillaFlicking!;
|
|
201
|
-
const props = this.props as Required<FlickingProps>;
|
|
202
201
|
|
|
203
202
|
Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {
|
|
204
203
|
const eventName = EVENTS[eventKey];
|
|
@@ -207,7 +206,8 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
|
|
|
207
206
|
flicking.on(eventName, e => {
|
|
208
207
|
e.currentTarget = this;
|
|
209
208
|
|
|
210
|
-
props[propName]
|
|
209
|
+
const evtHandler = this.props[propName];
|
|
210
|
+
evtHandler(e);
|
|
211
211
|
});
|
|
212
212
|
});
|
|
213
213
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["<input css 1>"],"names":[],"mappings":"AAAA,mBAAmB,iBAAiB,CAAC,eAAe,CAAC,kCAAkC,UAAU,CAAC,WAAW,CAAC,iBAAiB,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,mBAAmB,oBAAoB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,yEAAyE,oBAAoB,CAAC,sDAAsD,qBAAqB,CAAC,sDAAsD,qBAAqB,CAAC,+CAA+C,aAAa,CAAC,sDAAsD,iBAAiB","file":"flicking-inline.css","sourcesContent":[".flicking-viewport{position:relative;overflow:hidden}.flicking-viewport:not(.vertical){width:100%;height:100%}.flicking-camera{width:100%;height:100%;position:relative;z-index:1;white-space:nowrap;will-change:transform}.flicking-camera>*{display:inline-block;white-space:normal;vertical-align:top}.flicking-viewport.vertical,.flicking-viewport.vertical>.flicking-camera{display:inline-block}.flicking-viewport.vertical.middle>.flicking-camera>*{vertical-align:middle}.flicking-viewport.vertical.bottom>.flicking-camera>*{vertical-align:bottom}.flicking-viewport.vertical>.flicking-camera>*{display:block}.flicking-viewport.flicking-hidden>.flicking-camera>*{visibility:hidden}"]}
|
package/dist/flicking.css.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["<input css 2>"],"names":[],"mappings":"AAAA,mBAAmB,iBAAiB,CAAC,eAAe,CAAC,iBAAiB,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,YAAY,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,SAAS,CAAC,mBAAmB,mBAAmB,CAAC,aAAa,CAAC,4BAA4B,0BAA0B,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,6CAA6C,0BAA0B,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,qBAAqB,CAAC,sDAAsD,iBAAiB","file":"flicking.css","sourcesContent":[".flicking-viewport{position:relative;overflow:hidden}.flicking-camera{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;z-index:1}.flicking-camera>*{-ms-flex-negative:0;flex-shrink:0}.flicking-viewport.vertical{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.flicking-viewport.vertical>.flicking-camera{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flicking-viewport.flicking-hidden .flicking-camera>*{visibility:hidden}"]}
|