@egjs/react-flicking 4.10.2-beta.1 → 4.10.2-beta.2

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.
@@ -14,7 +14,6 @@ declare class Flicking extends React.Component<Partial<FlickingProps & FlickingO
14
14
  private _diffResult;
15
15
  private _renderEmitter;
16
16
  private _prevChildren;
17
- private _renderingState;
18
17
  get reactPanels(): (StrictPanel | NonStrictPanel | HTMLDivElement)[];
19
18
  get renderEmitter(): Component<{
20
19
  render: void;
@@ -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.10.2-beta.1
7
+ version: 4.10.2-beta.2
8
8
  */
9
9
  'use strict';
10
10
 
@@ -480,14 +480,6 @@ function () {
480
480
  return ReactElementProvider;
481
481
  }();
482
482
 
483
- var RenderingState;
484
-
485
- (function (RenderingState) {
486
- RenderingState[RenderingState["NONE"] = 0] = "NONE";
487
- RenderingState[RenderingState["RENDERED"] = 1] = "RENDERED";
488
- RenderingState[RenderingState["UPDATED"] = 2] = "UPDATED";
489
- })(RenderingState || (RenderingState = {}));
490
-
491
483
  var Flicking =
492
484
  /*#__PURE__*/
493
485
  function (_super) {
@@ -503,7 +495,6 @@ function (_super) {
503
495
 
504
496
  _this._panels = _this._createPanelRefs(props, children);
505
497
  _this._prevChildren = children;
506
- _this._renderingState = RenderingState.NONE;
507
498
  return _this;
508
499
  }
509
500
 
@@ -588,9 +579,10 @@ function (_super) {
588
579
  var vanillaFlicking = this._vanillaFlicking;
589
580
  var props = this.props;
590
581
  var prevChildren = this._prevChildren; // Ignore updates before init, they will be updated after "ready" event's force update
591
- // Also, ignore update between two successive rendering calls
582
+ // Also, prevent updates when another update is already queued.
583
+ // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.
592
584
 
593
- if (!vanillaFlicking || !vanillaFlicking.initialized || this._renderingState === RenderingState.RENDERED) return;
585
+ if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;
594
586
 
595
587
  var nextChildren = this._getChildren(props.children);
596
588
 
@@ -612,7 +604,6 @@ function (_super) {
612
604
  flicking.camera.updateOffset();
613
605
  if (!diffResult || !flicking.initialized) return;
614
606
  VanillaFlicking.sync(flicking, diffResult, this.reactPanels);
615
- this._renderingState = RenderingState.UPDATED;
616
607
  this._diffResult = null;
617
608
  };
618
609
 
@@ -661,7 +652,6 @@ function (_super) {
661
652
  }
662
653
  } : {};
663
654
  var panels = !!props.virtual && ((_b = props.panelsPerView) !== null && _b !== void 0 ? _b : -1) > 0 ? this._getVirtualPanels() : this._getPanels();
664
- this._renderingState = RenderingState.RENDERED;
665
655
  return React.createElement(Viewport, __assign({}, attributes, {
666
656
  className: viewportClasses.join(" "),
667
657
  ref: function (e) {
@@ -697,16 +687,6 @@ function (_super) {
697
687
  });
698
688
  });
699
689
  flicking.once(VanillaFlicking.EVENTS.READY, function () {
700
- var children = _this._getChildren();
701
-
702
- var diffResult = _this._jsxDiffer.update(children); // children is changed before init
703
-
704
-
705
- if (diffResult.added.length > 0 || diffResult.removed.length > 0) {
706
- _this._panels = _this._createPanelRefs(_this.props, children);
707
- _this._diffResult = diffResult;
708
- }
709
-
710
690
  _this.forceUpdate();
711
691
  });
712
692
  };
@@ -732,7 +712,6 @@ function (_super) {
732
712
  if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;
733
713
  var same = prevChildren.every(function (child, idx) {
734
714
  var nextChild = nextChildren[idx];
735
- console.log(child, nextChild);
736
715
 
737
716
  if (child.key && nextChild.key) {
738
717
  return child.key === nextChild.key;
@@ -1 +1 @@
1
- {"version":3,"file":"flicking.cjs.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/index.umd.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n cameraClass: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n 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 RenderingState {\n NONE,\n RENDERED,\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 _prevChildren: React.ReactElement[];\n /**\n * The Purpose of \"Rendering State\" is:\n * In some cases, like in <StrictMode>, React attempts to render twice without calling `componentDidUpdate`.\n * We ignore the diff update between the two rendering calls, using this rendering state.\n */\n private _renderingState: RenderingState;\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n this._renderingState = RenderingState.NONE;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, ignore update between two successive rendering calls\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._renderingState === RenderingState.RENDERED) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._renderingState = RenderingState.UPDATED;\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.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n this._renderingState = RenderingState.RENDERED;\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n 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 _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n console.log(child, nextChild);\n\n if (child.key && nextChild.key) {\n return child.key === nextChild.key;\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n 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","cameraClass","renderOnSameKey","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","RenderingState","_getChildren","_createPanelRefs","_prevChildren","_renderingState","NONE","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","prevProps","initialized","restProps","prevChildren","nextChildren","_hasSameChildren","RENDERED","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","UPDATED","Viewport","Camera","attributes","beforeRender","name","prototype","viewportClasses","cameraClasses","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","same","every","child","idx","nextChild","console","log","toArray","filter","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","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 cameraClass: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n 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\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 _prevChildren: React.ReactElement[];\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, prevent updates when another update is already queued.\n // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n 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.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n 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 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 _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n if (child.key && nextChild.key) {\n return child.key === nextChild.key;\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n 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","cameraClass","renderOnSameKey","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","_getChildren","_createPanelRefs","_prevChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","prevProps","initialized","restProps","prevChildren","nextChildren","_hasSameChildren","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","beforeRender","name","prototype","viewportClasses","cameraClasses","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","list","added","removed","prevList","addPlugins","index","removePlugins","length","same","every","child","idx","nextChild","toArray","filter","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","origChildren","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__decorate","withFlickingMethods"],"mappings":"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"}
@@ -4,7 +4,7 @@ name: @egjs/react-flicking
4
4
  license: MIT
5
5
  author: NAVER Corp.
6
6
  repository: https://github.com/naver/egjs-flicking/tree/master/packages/react-flicking
7
- version: 4.10.2-beta.1
7
+ version: 4.10.2-beta.2
8
8
  */
9
9
  import * as React from 'react';
10
10
  import React__default from 'react';
@@ -480,14 +480,6 @@ function () {
480
480
  return ReactElementProvider;
481
481
  }();
482
482
 
483
- var RenderingState;
484
-
485
- (function (RenderingState) {
486
- RenderingState[RenderingState["NONE"] = 0] = "NONE";
487
- RenderingState[RenderingState["RENDERED"] = 1] = "RENDERED";
488
- RenderingState[RenderingState["UPDATED"] = 2] = "UPDATED";
489
- })(RenderingState || (RenderingState = {}));
490
-
491
483
  var Flicking =
492
484
  /*#__PURE__*/
493
485
  function (_super) {
@@ -503,7 +495,6 @@ function (_super) {
503
495
 
504
496
  _this._panels = _this._createPanelRefs(props, children);
505
497
  _this._prevChildren = children;
506
- _this._renderingState = RenderingState.NONE;
507
498
  return _this;
508
499
  }
509
500
 
@@ -588,9 +579,10 @@ function (_super) {
588
579
  var vanillaFlicking = this._vanillaFlicking;
589
580
  var props = this.props;
590
581
  var prevChildren = this._prevChildren; // Ignore updates before init, they will be updated after "ready" event's force update
591
- // Also, ignore update between two successive rendering calls
582
+ // Also, prevent updates when another update is already queued.
583
+ // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.
592
584
 
593
- if (!vanillaFlicking || !vanillaFlicking.initialized || this._renderingState === RenderingState.RENDERED) return;
585
+ if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;
594
586
 
595
587
  var nextChildren = this._getChildren(props.children);
596
588
 
@@ -612,7 +604,6 @@ function (_super) {
612
604
  flicking.camera.updateOffset();
613
605
  if (!diffResult || !flicking.initialized) return;
614
606
  sync(flicking, diffResult, this.reactPanels);
615
- this._renderingState = RenderingState.UPDATED;
616
607
  this._diffResult = null;
617
608
  };
618
609
 
@@ -661,7 +652,6 @@ function (_super) {
661
652
  }
662
653
  } : {};
663
654
  var panels = !!props.virtual && ((_b = props.panelsPerView) !== null && _b !== void 0 ? _b : -1) > 0 ? this._getVirtualPanels() : this._getPanels();
664
- this._renderingState = RenderingState.RENDERED;
665
655
  return React.createElement(Viewport, __assign({}, attributes, {
666
656
  className: viewportClasses.join(" "),
667
657
  ref: function (e) {
@@ -697,16 +687,6 @@ function (_super) {
697
687
  });
698
688
  });
699
689
  flicking.once(EVENTS.READY, function () {
700
- var children = _this._getChildren();
701
-
702
- var diffResult = _this._jsxDiffer.update(children); // children is changed before init
703
-
704
-
705
- if (diffResult.added.length > 0 || diffResult.removed.length > 0) {
706
- _this._panels = _this._createPanelRefs(_this.props, children);
707
- _this._diffResult = diffResult;
708
- }
709
-
710
690
  _this.forceUpdate();
711
691
  });
712
692
  };
@@ -732,7 +712,6 @@ function (_super) {
732
712
  if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;
733
713
  var same = prevChildren.every(function (child, idx) {
734
714
  var nextChild = nextChildren[idx];
735
- console.log(child, nextChild);
736
715
 
737
716
  if (child.key && nextChild.key) {
738
717
  return child.key === nextChild.key;
@@ -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 cameraClass: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n 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 RenderingState {\n NONE,\n RENDERED,\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 _prevChildren: React.ReactElement[];\n /**\n * The Purpose of \"Rendering State\" is:\n * In some cases, like in <StrictMode>, React attempts to render twice without calling `componentDidUpdate`.\n * We ignore the diff update between the two rendering calls, using this rendering state.\n */\n private _renderingState: RenderingState;\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n this._renderingState = RenderingState.NONE;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, ignore update between two successive rendering calls\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._renderingState === RenderingState.RENDERED) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._renderingState = RenderingState.UPDATED;\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.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n this._renderingState = RenderingState.RENDERED;\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n 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 _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n console.log(child, nextChild);\n\n if (child.key && nextChild.key) {\n return child.key === nextChild.key;\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n 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","cameraClass","renderOnSameKey","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","RenderingState","_getChildren","_createPanelRefs","_prevChildren","_renderingState","NONE","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","prevProps","initialized","restProps","prevChildren","nextChildren","_hasSameChildren","RENDERED","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","UPDATED","Viewport","Camera","attributes","beforeRender","name","prototype","viewportClasses","cameraClasses","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","same","every","child","idx","nextChild","console","log","toArray","filter","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","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 cameraClass: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n 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\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 _prevChildren: React.ReactElement[];\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, prevent updates when another update is already queued.\n // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n 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.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n 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 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 _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n if (child.key && nextChild.key) {\n return child.key === nextChild.key;\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n 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","cameraClass","renderOnSameKey","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","_getChildren","_createPanelRefs","_prevChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","prevProps","initialized","restProps","prevChildren","nextChildren","_hasSameChildren","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","beforeRender","name","prototype","viewportClasses","cameraClasses","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","list","added","removed","prevList","addPlugins","index","removePlugins","length","same","every","child","idx","nextChild","toArray","filter","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","origChildren","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__decorate","withFlickingMethods"],"mappings":"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"}
@@ -4,7 +4,7 @@ name: @egjs/react-flicking
4
4
  license: MIT
5
5
  author: NAVER Corp.
6
6
  repository: https://github.com/naver/egjs-flicking/tree/master/packages/react-flicking
7
- version: 4.10.2-beta.1
7
+ version: 4.10.2-beta.2
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')) :
@@ -478,14 +478,6 @@ version: 4.10.2-beta.1
478
478
  return ReactElementProvider;
479
479
  }();
480
480
 
481
- var RenderingState;
482
-
483
- (function (RenderingState) {
484
- RenderingState[RenderingState["NONE"] = 0] = "NONE";
485
- RenderingState[RenderingState["RENDERED"] = 1] = "RENDERED";
486
- RenderingState[RenderingState["UPDATED"] = 2] = "UPDATED";
487
- })(RenderingState || (RenderingState = {}));
488
-
489
481
  var Flicking =
490
482
  /*#__PURE__*/
491
483
  function (_super) {
@@ -501,7 +493,6 @@ version: 4.10.2-beta.1
501
493
 
502
494
  _this._panels = _this._createPanelRefs(props, children);
503
495
  _this._prevChildren = children;
504
- _this._renderingState = RenderingState.NONE;
505
496
  return _this;
506
497
  }
507
498
 
@@ -586,9 +577,10 @@ version: 4.10.2-beta.1
586
577
  var vanillaFlicking = this._vanillaFlicking;
587
578
  var props = this.props;
588
579
  var prevChildren = this._prevChildren; // Ignore updates before init, they will be updated after "ready" event's force update
589
- // Also, ignore update between two successive rendering calls
580
+ // Also, prevent updates when another update is already queued.
581
+ // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.
590
582
 
591
- if (!vanillaFlicking || !vanillaFlicking.initialized || this._renderingState === RenderingState.RENDERED) return;
583
+ if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;
592
584
 
593
585
  var nextChildren = this._getChildren(props.children);
594
586
 
@@ -610,7 +602,6 @@ version: 4.10.2-beta.1
610
602
  flicking.camera.updateOffset();
611
603
  if (!diffResult || !flicking.initialized) return;
612
604
  VanillaFlicking.sync(flicking, diffResult, this.reactPanels);
613
- this._renderingState = RenderingState.UPDATED;
614
605
  this._diffResult = null;
615
606
  };
616
607
 
@@ -659,7 +650,6 @@ version: 4.10.2-beta.1
659
650
  }
660
651
  } : {};
661
652
  var panels = !!props.virtual && ((_b = props.panelsPerView) !== null && _b !== void 0 ? _b : -1) > 0 ? this._getVirtualPanels() : this._getPanels();
662
- this._renderingState = RenderingState.RENDERED;
663
653
  return React.createElement(Viewport, __assign({}, attributes, {
664
654
  className: viewportClasses.join(" "),
665
655
  ref: function (e) {
@@ -695,16 +685,6 @@ version: 4.10.2-beta.1
695
685
  });
696
686
  });
697
687
  flicking.once(VanillaFlicking.EVENTS.READY, function () {
698
- var children = _this._getChildren();
699
-
700
- var diffResult = _this._jsxDiffer.update(children); // children is changed before init
701
-
702
-
703
- if (diffResult.added.length > 0 || diffResult.removed.length > 0) {
704
- _this._panels = _this._createPanelRefs(_this.props, children);
705
- _this._diffResult = diffResult;
706
- }
707
-
708
688
  _this.forceUpdate();
709
689
  });
710
690
  };
@@ -730,7 +710,6 @@ version: 4.10.2-beta.1
730
710
  if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;
731
711
  var same = prevChildren.every(function (child, idx) {
732
712
  var nextChild = nextChildren[idx];
733
- console.log(child, nextChild);
734
713
 
735
714
  if (child.key && nextChild.key) {
736
715
  return child.key === nextChild.key;
@@ -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 cameraClass: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n 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 RenderingState {\n NONE,\n RENDERED,\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 _prevChildren: React.ReactElement[];\n /**\n * The Purpose of \"Rendering State\" is:\n * In some cases, like in <StrictMode>, React attempts to render twice without calling `componentDidUpdate`.\n * We ignore the diff update between the two rendering calls, using this rendering state.\n */\n private _renderingState: RenderingState;\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n this._renderingState = RenderingState.NONE;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, ignore update between two successive rendering calls\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._renderingState === RenderingState.RENDERED) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._renderingState = RenderingState.UPDATED;\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.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n this._renderingState = RenderingState.RENDERED;\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n 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 _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n console.log(child, nextChild);\n\n if (child.key && nextChild.key) {\n return child.key === nextChild.key;\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n 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","cameraClass","renderOnSameKey","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","RenderingState","_getChildren","_createPanelRefs","_prevChildren","_renderingState","NONE","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","prevProps","initialized","restProps","prevChildren","nextChildren","_hasSameChildren","RENDERED","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","UPDATED","Viewport","Camera","attributes","beforeRender","name","prototype","viewportClasses","cameraClasses","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","same","every","child","idx","nextChild","console","log","toArray","filter","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","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 cameraClass: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n 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\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 _prevChildren: React.ReactElement[];\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, prevent updates when another update is already queued.\n // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n 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.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n 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 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 _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n if (child.key && nextChild.key) {\n return child.key === nextChild.key;\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n 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","cameraClass","renderOnSameKey","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","_getChildren","_createPanelRefs","_prevChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","prevProps","initialized","restProps","prevChildren","nextChildren","_hasSameChildren","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","beforeRender","name","prototype","viewportClasses","cameraClasses","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","list","added","removed","prevList","addPlugins","index","removePlugins","length","same","every","child","idx","nextChild","toArray","filter","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","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.10.2-beta.1",
3
+ "version": "4.10.2-beta.2",
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",
@@ -26,12 +26,6 @@ import NonStrictPanel from "./NonStrictPanel";
26
26
  import ViewportSlot from "./ViewportSlot";
27
27
  import ReactElementProvider from "./ReactElementProvider";
28
28
 
29
- enum RenderingState {
30
- NONE,
31
- RENDERED,
32
- UPDATED
33
- }
34
-
35
29
  class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {
36
30
  public static defaultProps: FlickingProps = DEFAULT_PROPS;
37
31
 
@@ -43,12 +37,6 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
43
37
  private _diffResult: DiffResult<React.ReactElement> | null;
44
38
  private _renderEmitter = new Component<{ render: void }>();
45
39
  private _prevChildren: React.ReactElement[];
46
- /**
47
- * The Purpose of "Rendering State" is:
48
- * In some cases, like in <StrictMode>, React attempts to render twice without calling `componentDidUpdate`.
49
- * We ignore the diff update between the two rendering calls, using this rendering state.
50
- */
51
- private _renderingState: RenderingState;
52
40
 
53
41
  public get reactPanels() { return this._panels.map(panel => panel.current!); }
54
42
  public get renderEmitter() { return this._renderEmitter; }
@@ -59,7 +47,6 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
59
47
  const children = this._getChildren();
60
48
  this._panels = this._createPanelRefs(props, children);
61
49
  this._prevChildren = children;
62
- this._renderingState = RenderingState.NONE;
63
50
  }
64
51
 
65
52
  public componentDidMount() {
@@ -128,8 +115,9 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
128
115
  const prevChildren = this._prevChildren;
129
116
 
130
117
  // Ignore updates before init, they will be updated after "ready" event's force update
131
- // Also, ignore update between two successive rendering calls
132
- if (!vanillaFlicking || !vanillaFlicking.initialized || this._renderingState === RenderingState.RENDERED) return;
118
+ // Also, prevent updates when another update is already queued.
119
+ // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.
120
+ if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;
133
121
 
134
122
  const nextChildren = this._getChildren(props.children);
135
123
  if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {
@@ -152,7 +140,6 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
152
140
 
153
141
  sync(flicking, diffResult, this.reactPanels);
154
142
 
155
- this._renderingState = RenderingState.UPDATED;
156
143
  this._diffResult = null;
157
144
  }
158
145
 
@@ -201,8 +188,6 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
201
188
  ? this._getVirtualPanels()
202
189
  : this._getPanels();
203
190
 
204
- this._renderingState = RenderingState.RENDERED;
205
-
206
191
  return (
207
192
  <Viewport {...attributes} className={viewportClasses.join(" ")} ref={(e?: HTMLElement) => {
208
193
  e && (this._viewportElement = e);
@@ -239,15 +224,6 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
239
224
  });
240
225
 
241
226
  flicking.once(EVENTS.READY, () => {
242
- const children = this._getChildren();
243
- const diffResult = this._jsxDiffer.update(children);
244
-
245
- // children is changed before init
246
- if (diffResult.added.length > 0 || diffResult.removed.length > 0) {
247
- this._panels = this._createPanelRefs(this.props, children);
248
- this._diffResult = diffResult;
249
- }
250
-
251
227
  this.forceUpdate();
252
228
  });
253
229
  }
@@ -266,8 +242,6 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
266
242
  const same = prevChildren.every((child, idx) => {
267
243
  const nextChild = nextChildren[idx];
268
244
 
269
- console.log(child, nextChild);
270
-
271
245
  if (child.key && nextChild.key) {
272
246
  return child.key === nextChild.key;
273
247
  } else {