@egjs/react-flicking 4.14.1-beta.8 → 4.14.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.
@@ -3,9 +3,11 @@ declare class NonStrictPanel extends React.Component<{
3
3
  children?: React.ReactElement;
4
4
  }> {
5
5
  private _hide;
6
+ private _elRef;
6
7
  get nativeElement(): HTMLElement;
7
8
  get rendered(): boolean;
8
- render(): JSX.Element | undefined;
9
+ get elRef(): React.RefObject<HTMLElement>;
10
+ render(): JSX.Element;
9
11
  show(): void;
10
12
  hide(): void;
11
13
  }
@@ -2,10 +2,10 @@ import { ElementProvider } from "@egjs/flicking";
2
2
  import StrictPanel from "./StrictPanel";
3
3
  import NonStrictPanel from "./NonStrictPanel";
4
4
  declare class ReactElementProvider implements ElementProvider {
5
- private _el;
5
+ private _elRef;
6
6
  get element(): HTMLElement;
7
7
  get rendered(): boolean;
8
- constructor(el: StrictPanel | NonStrictPanel);
8
+ constructor(el: StrictPanel | NonStrictPanel | HTMLDivElement);
9
9
  show(): void;
10
10
  hide(): void;
11
11
  }
@@ -6,6 +6,7 @@ declare class StrictPanel extends React.Component<{
6
6
  private _elRef;
7
7
  get nativeElement(): HTMLElement;
8
8
  get rendered(): boolean;
9
+ get elRef(): React.RefObject<HTMLElement>;
9
10
  render(): JSX.Element;
10
11
  show(): void;
11
12
  hide(): 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.14.1-beta.8
7
+ version: 4.14.2
8
8
  */
9
9
  'use strict';
10
10
 
@@ -12,7 +12,6 @@ var React = require('react');
12
12
  var Component = require('@egjs/component');
13
13
  var ListDiffer = require('@egjs/list-differ');
14
14
  var VanillaFlicking = require('@egjs/flicking');
15
- var reactDom = require('react-dom');
16
15
  var react = require('@cfcs/react');
17
16
 
18
17
  /******************************************************************************
@@ -245,13 +244,12 @@ var ReactRenderer = /*#__PURE__*/function (_super) {
245
244
  reactFlicking = this._reactFlicking;
246
245
  strategy = this._strategy;
247
246
  if (flicking.virtualEnabled) {
247
+ // virtual 값은 VirtualManager Object 이므로 virtualEnabled 로 검사하는 것이 맞습니다.
248
248
  // applyTransform does not work when renderer.rendering is true. #916
249
249
  // updateRenderingPanels should be called before rendering becomes true, or transform will be applied later.
250
250
  strategy.updateRenderingPanels(flicking);
251
251
  this._rendering = true;
252
252
  } else {
253
- // virtual 옵션 적용 시 라이프사이클상의 동작 정리
254
- // 이 부분만 명확하게 주석으로 정리해서 나중에 분기가 추가된 이유를 확인하기 용이
255
253
  this._rendering = true;
256
254
  strategy.updateRenderingPanels(flicking);
257
255
  }
@@ -297,11 +295,14 @@ var ReactRenderer = /*#__PURE__*/function (_super) {
297
295
  __proto._collectPanels = function () {
298
296
  var flicking = VanillaFlicking.getFlickingAttached(this._flicking);
299
297
  var reactFlicking = this._reactFlicking;
300
- var reactPanels = reactFlicking.reactPanels;
298
+ var reactPanels = reactFlicking.reactPanels.map(function (panel) {
299
+ return panel instanceof HTMLDivElement ? panel : panel.nativeElement;
300
+ });
301
301
  this._panels = this._strategy.collectPanels(flicking, reactPanels);
302
302
  };
303
303
  __proto._createPanel = function (externalComponent, options) {
304
- return this._strategy.createPanel(externalComponent, options);
304
+ var el = externalComponent instanceof HTMLDivElement ? externalComponent : externalComponent.nativeElement;
305
+ return this._strategy.createPanel(el, options);
305
306
  };
306
307
  return ReactRenderer;
307
308
  }(VanillaFlicking.ExternalRenderer);
@@ -329,6 +330,13 @@ var StrictPanel = /*#__PURE__*/function (_super) {
329
330
  enumerable: false,
330
331
  configurable: true
331
332
  });
333
+ Object.defineProperty(__proto, "elRef", {
334
+ get: function () {
335
+ return this._elRef;
336
+ },
337
+ enumerable: false,
338
+ configurable: true
339
+ });
332
340
  __proto.render = function () {
333
341
  return this._hide ? React.createElement(React.Fragment, null) : this._getElement();
334
342
  };
@@ -346,40 +354,6 @@ var StrictPanel = /*#__PURE__*/function (_super) {
346
354
  return StrictPanel;
347
355
  }(React.Component);
348
356
 
349
- var NonStrictPanel = /*#__PURE__*/function (_super) {
350
- __extends(NonStrictPanel, _super);
351
- function NonStrictPanel() {
352
- var _this = _super !== null && _super.apply(this, arguments) || this;
353
- _this._hide = false;
354
- return _this;
355
- }
356
- var __proto = NonStrictPanel.prototype;
357
- Object.defineProperty(__proto, "nativeElement", {
358
- get: function () {
359
- return reactDom.findDOMNode(this);
360
- },
361
- enumerable: false,
362
- configurable: true
363
- });
364
- Object.defineProperty(__proto, "rendered", {
365
- get: function () {
366
- return !this._hide;
367
- },
368
- enumerable: false,
369
- configurable: true
370
- });
371
- __proto.render = function () {
372
- return this._hide ? React.createElement(React.Fragment, null) : this.props.children;
373
- };
374
- __proto.show = function () {
375
- this._hide = false;
376
- };
377
- __proto.hide = function () {
378
- this._hide = true;
379
- };
380
- return NonStrictPanel;
381
- }(React.Component);
382
-
383
357
  /*
384
358
  * Copyright (c) 2015 NAVER Corp.
385
359
  * egjs projects are licensed under the MIT license
@@ -390,33 +364,35 @@ var ViewportSlot = React.memo(function (props) {
390
364
 
391
365
  var ReactElementProvider = /*#__PURE__*/function () {
392
366
  function ReactElementProvider(el) {
393
- this._el = el;
367
+ this._elRef = el instanceof Element ? {
368
+ current: el
369
+ } : el.elRef;
394
370
  }
395
371
  var __proto = ReactElementProvider.prototype;
396
372
  Object.defineProperty(__proto, "element", {
397
373
  get: function () {
398
- return this._el.nativeElement;
374
+ return this._elRef.current;
399
375
  },
400
376
  enumerable: false,
401
377
  configurable: true
402
378
  });
403
379
  Object.defineProperty(__proto, "rendered", {
404
380
  get: function () {
405
- return this._el.rendered;
381
+ return this._elRef.current != null;
406
382
  },
407
383
  enumerable: false,
408
384
  configurable: true
409
385
  });
410
386
  __proto.show = function () {
411
- this._el.show();
412
- // console.log("show", this._el);
387
+ if (this._elRef.current) {
388
+ this._elRef.current.style.display = "";
389
+ }
413
390
  };
414
-
415
391
  __proto.hide = function () {
416
- this._el.hide();
417
- // console.log("hide", this._el);
392
+ if (this._elRef.current) {
393
+ this._elRef.current.style.display = "none";
394
+ }
418
395
  };
419
-
420
396
  return ReactElementProvider;
421
397
  }();
422
398
 
@@ -688,12 +664,7 @@ var Flicking = /*#__PURE__*/function (_super) {
688
664
  var vanillaFlicking = this._vanillaFlicking;
689
665
  var diffResult = this._diffResult;
690
666
  var children = vanillaFlicking && vanillaFlicking.initialized ? diffResult ? VanillaFlicking.getRenderingPanels(vanillaFlicking, diffResult) : VanillaFlicking.getRenderingPanels(vanillaFlicking, ListDiffer.diff(origChildren, origChildren)) : origChildren;
691
- return this.props.useFindDOMNode ? children.map(function (child, idx) {
692
- return React.createElement(NonStrictPanel, {
693
- key: child.key,
694
- ref: _this._panels[idx]
695
- }, child);
696
- }) : children.map(function (child, idx) {
667
+ return children.map(function (child, idx) {
697
668
  return React.createElement(StrictPanel, {
698
669
  key: child.key,
699
670
  ref: _this._panels[idx]
@@ -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/reactive.ts","../src/react-flicking/index.umd.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n cameraClass: \"\",\n firstPanelSize: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n if (flicking.virtualEnabled) {\n // applyTransform does not work when renderer.rendering is true. #916\n // updateRenderingPanels should be called before rendering becomes true, or transform will be applied later.\n strategy.updateRenderingPanels(flicking);\n this._rendering = true;\n } else {\n // virtual 옵션 적용 시 라이프사이클상의 동작 정리\n // 이 부분만 명확하게 주석으로 정리해서 나중에 분기가 추가된 이유를 확인하기 용이\n this._rendering = true;\n strategy.updateRenderingPanels(flicking);\n }\n\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n this._afterRender();\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n this._rendering = true;\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public destroy() {\n super.destroy();\n this._reactFlicking.renderEmitter.off(\"render\");\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n private _elRef: React.RefObject<HTMLElement> = React.createRef();\n\n public get nativeElement() { return this._elRef.current!; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this._getElement();\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n\n private _getElement() {\n return React.cloneElement(React.Children.only(this.props.children) as React.ReactElement, {\n ref: this._elRef\n });\n }\n}\n\nexport default StrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport { findDOMNode } from \"react-dom\";\n\nclass NonStrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n public get nativeElement() { return findDOMNode(this) as HTMLElement; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this.props.children;\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n}\n\nexport default NonStrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode } from \"react\";\n\nconst ViewportSlot = React.memo((props: { children?: ReactNode }) => <>{props.children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ElementProvider {\n private _el: StrictPanel | NonStrictPanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return this._el.rendered; }\n\n public constructor(el: StrictPanel | NonStrictPanel) {\n this._el = el;\n }\n\n public show() {\n this._el.show();\n // console.log(\"show\", this._el);\n }\n\n public hide() {\n this._el.hide();\n // console.log(\"hide\", this._el);\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy,\n FlickingEvents,\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods protected _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n protected _pluginsDiffer: ListDiffer<any>;\n protected _jsxDiffer: ListDiffer<React.ReactElement>;\n protected _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n protected _prevChildren: React.ReactElement[];\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, prevent updates when another update is already queued.\n // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n // Omit 'virtual', as it can't have any setter\n const { virtual, ...props } = this.props;\n for (const key in props) {\n if (key in flicking && flicking[key] !== props[key]) {\n flicking[key] = props[key];\n }\n }\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n\n this.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const { viewportClasses, cameraClasses, cameraProps } = this._getClasses(attributes, props);\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n protected _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n this._bindEvent(eventName);\n });\n\n flicking.once(EVENTS.READY, () => {\n this.forceUpdate();\n });\n }\n\n protected _bindEvent(eventName: keyof FlickingEvents) {\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n this._vanillaFlicking!.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n }\n\n protected _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n protected _getClasses(attributes: { [key: string]: any }, props: typeof this.props) {\n const flicking = this._vanillaFlicking;\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n return {\n viewportClasses,\n cameraClasses,\n cameraProps,\n };\n }\n\n private _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n return child === nextChild;\n });\n\n return same;\n }\n\n protected _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n protected _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return this._isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds: React.ReactElement[], fragChild: React.ReactElement) => [...allChilds, ...this._unpackFragment(fragChild)], [] as React.ReactElement[])\n : [child];\n }\n\n private _getVirtualPanels() {\n const {\n panelClass = \"flicking-panel\"\n } = this.props.virtual!;\n const panelsPerView = this.props.panelsPerView!;\n const flicking = this._vanillaFlicking;\n const initialized = flicking && flicking.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = flicking && flicking.panels[0];\n const size = firstPanel\n ? flicking.horizontal\n ? { width: firstPanel.size }\n : { height: firstPanel.size }\n : {};\n\n return renderingIndexes.map(idx => {\n return <div\n key={idx}\n data-element-index={idx}\n ref={this._panels[idx] as React.RefObject<HTMLDivElement>}\n className={panelClass}\n style={size} />\n });\n }\n\n protected _getPanels() {\n const origChildren = this._getChildren();\n const vanillaFlicking = this._vanillaFlicking;\n const diffResult = this._diffResult;\n\n const children: React.ReactElement[] = vanillaFlicking && vanillaFlicking.initialized\n ? diffResult\n ? getRenderingPanels(vanillaFlicking, diffResult)\n : getRenderingPanels(vanillaFlicking, diff(origChildren, origChildren))\n : origChildren;\n\n return this.props.useFindDOMNode\n ? children.map((child, idx) => <NonStrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</NonStrictPanel>)\n : children.map((child, idx) => <StrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</StrictPanel>)\n }\n\n private _isFragment(child: React.ReactElement) {\n if (child.type) {\n return child.type === React.Fragment;\n }\n\n return (child as any) === React.Fragment;\n }\n}\n\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","import { FlickingReactiveAPIOptions, flickingReactiveAPIAdapter } from \"@egjs/flicking\";\nimport { RefObject } from \"react\";\nimport Flicking from \"./Flicking\";\nimport { useReactive } from \"@cfcs/react\";\n\nexport const useFlickingReactiveAPI = (flickingRef: RefObject<Flicking>, options?: FlickingReactiveAPIOptions) => {\n return useReactive(flickingReactiveAPIAdapter, () => ({\n flicking: flickingRef.current ?? undefined,\n options\n }))\n}\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\";\nimport { useFlickingReactiveAPI } from \"./reactive\";\n\n(Flicking as any).ViewportSlot = ViewportSlot;\n(Flicking as any).useFlickingReactiveAPI = useFlickingReactiveAPI;\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","cameraClass","firstPanelSize","renderOnSameKey","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","ReactRenderer","_super","__extends","options","_this","call","_reactFlicking","reactFlicking","__proto","prototype","render","flicking","getFlickingAttached","_flicking","strategy","_strategy","virtualEnabled","updateRenderingPanels","_rendering","renderPanels","Promise","resolve","renderEmitter","once","_afterRender","forceUpdate","forceRenderAllPanels","_a","sent","destroy","off","_collectPanels","reactPanels","_panels","collectPanels","_createPanel","externalComponent","createPanel","ExternalRenderer","StrictPanel","apply","arguments","_hide","_elRef","React","createRef","Object","defineProperty","current","get","createElement","Fragment","_getElement","show","hide","cloneElement","Children","only","props","children","ref","Component","NonStrictPanel","findDOMNode","ViewportSlot","memo","ReactElementProvider","el","_el","nativeElement","rendered","Flicking","_renderEmitter","_getChildren","_createPanelRefs","_prevChildren","map","panel","componentDidMount","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","VanillaFlicking","_viewportElement","__assign","externalRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","componentWillUnmount","shouldComponentUpdate","nextProps","vanillaFlicking","prevProps","initialized","restProps","__rest","prevChildren","nextChildren","_hasSameChildren","beforeRender","_diffResult","update","componentDidUpdate","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","name","_b","_getClasses","viewportClasses","cameraClasses","cameraProps","panels","_getVirtualPanels","_getPanels","className","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","_bindEvent","READY","propName","concat","charAt","toUpperCase","slice","on","currentTarget","evtHandler","list","added","removed","prevList","addPlugins","index","removePlugins","isHorizontal","horizontal","push","style","transform","getDefaultCameraTransform","length","same","every","child","idx","nextChild","toArray","filter","type","reduce","all","__spreadArray","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","origChildren","getRenderingPanels","diff","defaultProps","__decorate","withFlickingMethods","useFlickingReactiveAPI","flickingRef","useReactive","flickingReactiveAPIAdapter","undefined"],"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/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/reactive.ts","../src/react-flicking/index.umd.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n cameraClass: \"\",\n firstPanelSize: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n if (flicking.virtualEnabled) {\n // virtual 값은 VirtualManager Object 이므로 virtualEnabled 로 검사하는 것이 맞습니다.\n // applyTransform does not work when renderer.rendering is true. #916\n // updateRenderingPanels should be called before rendering becomes true, or transform will be applied later.\n strategy.updateRenderingPanels(flicking);\n this._rendering = true;\n } else {\n this._rendering = true;\n strategy.updateRenderingPanels(flicking);\n }\n\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n this._afterRender();\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n this._rendering = true;\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public destroy() {\n super.destroy();\n this._reactFlicking.renderEmitter.off(\"render\");\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels.map(panel => panel instanceof HTMLDivElement ? panel : panel.nativeElement);\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n const el = externalComponent instanceof HTMLDivElement ? externalComponent : externalComponent.nativeElement;\n\n return this._strategy.createPanel(el, 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 public get elRef() { return this._elRef; }\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 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 _elRef: React.RefObject<HTMLElement>;\n\n public get element() { return this._elRef.current!; }\n public get rendered() { return this._elRef.current != null; }\n\n public constructor(el: StrictPanel | NonStrictPanel | HTMLDivElement) {\n this._elRef = el instanceof Element ? { current: el } : el.elRef;\n }\n\n public show() {\n if (this._elRef.current) {\n this._elRef.current.style.display = \"\";\n }\n }\n\n public hide() {\n if (this._elRef.current) {\n this._elRef.current.style.display = \"none\";\n }\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy,\n FlickingEvents,\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods protected _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n protected _pluginsDiffer: ListDiffer<any>;\n protected _jsxDiffer: ListDiffer<React.ReactElement>;\n protected _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n protected _prevChildren: React.ReactElement[];\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, prevent updates when another update is already queued.\n // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n // Omit 'virtual', as it can't have any setter\n const { virtual, ...props } = this.props;\n for (const key in props) {\n if (key in flicking && flicking[key] !== props[key]) {\n flicking[key] = props[key];\n }\n }\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n\n this.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const { viewportClasses, cameraClasses, cameraProps } = this._getClasses(attributes, props);\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n protected _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n this._bindEvent(eventName);\n });\n\n flicking.once(EVENTS.READY, () => {\n this.forceUpdate();\n });\n }\n\n protected _bindEvent(eventName: keyof FlickingEvents) {\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n this._vanillaFlicking!.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n }\n\n protected _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n protected _getClasses(attributes: { [key: string]: any }, props: typeof this.props) {\n const flicking = this._vanillaFlicking;\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n return {\n viewportClasses,\n cameraClasses,\n cameraProps,\n };\n }\n\n private _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n return child === nextChild;\n });\n\n return same;\n }\n\n protected _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n protected _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return this._isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds: React.ReactElement[], fragChild: React.ReactElement) => [...allChilds, ...this._unpackFragment(fragChild)], [] as React.ReactElement[])\n : [child];\n }\n\n private _getVirtualPanels() {\n const {\n panelClass = \"flicking-panel\"\n } = this.props.virtual!;\n const panelsPerView = this.props.panelsPerView!;\n const flicking = this._vanillaFlicking;\n const initialized = flicking && flicking.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = flicking && flicking.panels[0];\n const size = firstPanel\n ? flicking.horizontal\n ? { width: firstPanel.size }\n : { height: firstPanel.size }\n : {};\n\n return renderingIndexes.map(idx => {\n return <div\n key={idx}\n data-element-index={idx}\n ref={this._panels[idx] as React.RefObject<HTMLDivElement>}\n className={panelClass}\n style={size} />\n });\n }\n\n protected _getPanels() {\n const origChildren = this._getChildren();\n const vanillaFlicking = this._vanillaFlicking;\n const diffResult = this._diffResult;\n\n const children: React.ReactElement[] = vanillaFlicking && vanillaFlicking.initialized\n ? diffResult\n ? getRenderingPanels(vanillaFlicking, diffResult)\n : getRenderingPanels(vanillaFlicking, diff(origChildren, origChildren))\n : origChildren;\n\n return 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","import { FlickingReactiveAPIOptions, flickingReactiveAPIAdapter } from \"@egjs/flicking\";\nimport { RefObject } from \"react\";\nimport Flicking from \"./Flicking\";\nimport { useReactive } from \"@cfcs/react\";\n\nexport const useFlickingReactiveAPI = (flickingRef: RefObject<Flicking>, options?: FlickingReactiveAPIOptions) => {\n return useReactive(flickingReactiveAPIAdapter, () => ({\n flicking: flickingRef.current ?? undefined,\n options\n }))\n}\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\";\nimport { useFlickingReactiveAPI } from \"./reactive\";\n\n(Flicking as any).ViewportSlot = ViewportSlot;\n(Flicking as any).useFlickingReactiveAPI = useFlickingReactiveAPI;\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","cameraClass","firstPanelSize","renderOnSameKey","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","ReactRenderer","_super","__extends","options","_this","call","_reactFlicking","reactFlicking","__proto","prototype","render","flicking","getFlickingAttached","_flicking","strategy","_strategy","virtualEnabled","updateRenderingPanels","_rendering","renderPanels","Promise","resolve","renderEmitter","once","_afterRender","forceUpdate","forceRenderAllPanels","_a","sent","destroy","off","_collectPanels","reactPanels","map","panel","HTMLDivElement","nativeElement","_panels","collectPanels","_createPanel","externalComponent","el","createPanel","ExternalRenderer","StrictPanel","apply","arguments","_hide","_elRef","React","createRef","Object","defineProperty","current","get","createElement","Fragment","_getElement","show","hide","cloneElement","Children","only","props","children","ref","Component","ViewportSlot","memo","ReactElementProvider","Element","elRef","style","display","Flicking","_renderEmitter","_getChildren","_createPanelRefs","_prevChildren","componentDidMount","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","VanillaFlicking","_viewportElement","__assign","externalRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","componentWillUnmount","shouldComponentUpdate","nextProps","vanillaFlicking","prevProps","initialized","restProps","__rest","prevChildren","nextChildren","_hasSameChildren","beforeRender","_diffResult","update","componentDidUpdate","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","name","_b","_getClasses","viewportClasses","cameraClasses","cameraProps","panels","_getVirtualPanels","_getPanels","className","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","_bindEvent","READY","propName","concat","charAt","toUpperCase","slice","on","currentTarget","evtHandler","list","added","removed","prevList","addPlugins","index","removePlugins","isHorizontal","horizontal","push","transform","getDefaultCameraTransform","length","same","every","child","idx","nextChild","toArray","filter","type","reduce","all","__spreadArray","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","origChildren","getRenderingPanels","diff","defaultProps","__decorate","withFlickingMethods","useFlickingReactiveAPI","flickingRef","useReactive","flickingReactiveAPIAdapter","undefined"],"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.14.1-beta.8
7
+ version: 4.14.2
8
8
  */
9
9
  import * as React from 'react';
10
10
  import React__default from 'react';
@@ -12,7 +12,6 @@ import Component from '@egjs/component';
12
12
  import ListDiffer, { diff } from '@egjs/list-differ';
13
13
  import VanillaFlicking__default, { getFlickingAttached, ExternalRenderer, VirtualRenderingStrategy, NormalRenderingStrategy, sync, range, EVENTS, getDefaultCameraTransform, getRenderingPanels, withFlickingMethods, CrossFlicking as CrossFlicking$1, SIDE_EVENTS, flickingReactiveAPIAdapter } from '@egjs/flicking';
14
14
  export * from '@egjs/flicking';
15
- import { findDOMNode } from 'react-dom';
16
15
  import { useReactive } from '@cfcs/react';
17
16
 
18
17
  /******************************************************************************
@@ -245,13 +244,12 @@ var ReactRenderer = /*#__PURE__*/function (_super) {
245
244
  reactFlicking = this._reactFlicking;
246
245
  strategy = this._strategy;
247
246
  if (flicking.virtualEnabled) {
247
+ // virtual 값은 VirtualManager Object 이므로 virtualEnabled 로 검사하는 것이 맞습니다.
248
248
  // applyTransform does not work when renderer.rendering is true. #916
249
249
  // updateRenderingPanels should be called before rendering becomes true, or transform will be applied later.
250
250
  strategy.updateRenderingPanels(flicking);
251
251
  this._rendering = true;
252
252
  } else {
253
- // virtual 옵션 적용 시 라이프사이클상의 동작 정리
254
- // 이 부분만 명확하게 주석으로 정리해서 나중에 분기가 추가된 이유를 확인하기 용이
255
253
  this._rendering = true;
256
254
  strategy.updateRenderingPanels(flicking);
257
255
  }
@@ -297,11 +295,14 @@ var ReactRenderer = /*#__PURE__*/function (_super) {
297
295
  __proto._collectPanels = function () {
298
296
  var flicking = getFlickingAttached(this._flicking);
299
297
  var reactFlicking = this._reactFlicking;
300
- var reactPanels = reactFlicking.reactPanels;
298
+ var reactPanels = reactFlicking.reactPanels.map(function (panel) {
299
+ return panel instanceof HTMLDivElement ? panel : panel.nativeElement;
300
+ });
301
301
  this._panels = this._strategy.collectPanels(flicking, reactPanels);
302
302
  };
303
303
  __proto._createPanel = function (externalComponent, options) {
304
- return this._strategy.createPanel(externalComponent, options);
304
+ var el = externalComponent instanceof HTMLDivElement ? externalComponent : externalComponent.nativeElement;
305
+ return this._strategy.createPanel(el, options);
305
306
  };
306
307
  return ReactRenderer;
307
308
  }(ExternalRenderer);
@@ -329,6 +330,13 @@ var StrictPanel = /*#__PURE__*/function (_super) {
329
330
  enumerable: false,
330
331
  configurable: true
331
332
  });
333
+ Object.defineProperty(__proto, "elRef", {
334
+ get: function () {
335
+ return this._elRef;
336
+ },
337
+ enumerable: false,
338
+ configurable: true
339
+ });
332
340
  __proto.render = function () {
333
341
  return this._hide ? React.createElement(React.Fragment, null) : this._getElement();
334
342
  };
@@ -346,40 +354,6 @@ var StrictPanel = /*#__PURE__*/function (_super) {
346
354
  return StrictPanel;
347
355
  }(React.Component);
348
356
 
349
- var NonStrictPanel = /*#__PURE__*/function (_super) {
350
- __extends(NonStrictPanel, _super);
351
- function NonStrictPanel() {
352
- var _this = _super !== null && _super.apply(this, arguments) || this;
353
- _this._hide = false;
354
- return _this;
355
- }
356
- var __proto = NonStrictPanel.prototype;
357
- Object.defineProperty(__proto, "nativeElement", {
358
- get: function () {
359
- return findDOMNode(this);
360
- },
361
- enumerable: false,
362
- configurable: true
363
- });
364
- Object.defineProperty(__proto, "rendered", {
365
- get: function () {
366
- return !this._hide;
367
- },
368
- enumerable: false,
369
- configurable: true
370
- });
371
- __proto.render = function () {
372
- return this._hide ? React.createElement(React.Fragment, null) : this.props.children;
373
- };
374
- __proto.show = function () {
375
- this._hide = false;
376
- };
377
- __proto.hide = function () {
378
- this._hide = true;
379
- };
380
- return NonStrictPanel;
381
- }(React.Component);
382
-
383
357
  /*
384
358
  * Copyright (c) 2015 NAVER Corp.
385
359
  * egjs projects are licensed under the MIT license
@@ -390,33 +364,35 @@ var ViewportSlot = React__default.memo(function (props) {
390
364
 
391
365
  var ReactElementProvider = /*#__PURE__*/function () {
392
366
  function ReactElementProvider(el) {
393
- this._el = el;
367
+ this._elRef = el instanceof Element ? {
368
+ current: el
369
+ } : el.elRef;
394
370
  }
395
371
  var __proto = ReactElementProvider.prototype;
396
372
  Object.defineProperty(__proto, "element", {
397
373
  get: function () {
398
- return this._el.nativeElement;
374
+ return this._elRef.current;
399
375
  },
400
376
  enumerable: false,
401
377
  configurable: true
402
378
  });
403
379
  Object.defineProperty(__proto, "rendered", {
404
380
  get: function () {
405
- return this._el.rendered;
381
+ return this._elRef.current != null;
406
382
  },
407
383
  enumerable: false,
408
384
  configurable: true
409
385
  });
410
386
  __proto.show = function () {
411
- this._el.show();
412
- // console.log("show", this._el);
387
+ if (this._elRef.current) {
388
+ this._elRef.current.style.display = "";
389
+ }
413
390
  };
414
-
415
391
  __proto.hide = function () {
416
- this._el.hide();
417
- // console.log("hide", this._el);
392
+ if (this._elRef.current) {
393
+ this._elRef.current.style.display = "none";
394
+ }
418
395
  };
419
-
420
396
  return ReactElementProvider;
421
397
  }();
422
398
 
@@ -688,12 +664,7 @@ var Flicking = /*#__PURE__*/function (_super) {
688
664
  var vanillaFlicking = this._vanillaFlicking;
689
665
  var diffResult = this._diffResult;
690
666
  var children = vanillaFlicking && vanillaFlicking.initialized ? diffResult ? getRenderingPanels(vanillaFlicking, diffResult) : getRenderingPanels(vanillaFlicking, diff(origChildren, origChildren)) : origChildren;
691
- return this.props.useFindDOMNode ? children.map(function (child, idx) {
692
- return React.createElement(NonStrictPanel, {
693
- key: child.key,
694
- ref: _this._panels[idx]
695
- }, child);
696
- }) : children.map(function (child, idx) {
667
+ return children.map(function (child, idx) {
697
668
  return React.createElement(StrictPanel, {
698
669
  key: child.key,
699
670
  ref: _this._panels[idx]