@egjs/react-flicking 4.12.0-beta.0 → 4.12.0-beta.10

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.
@@ -4,13 +4,13 @@ name: @egjs/react-flicking
4
4
  license: MIT
5
5
  author: NAVER Corp.
6
6
  repository: https://github.com/naver/egjs-flicking/tree/master/packages/react-flicking
7
- version: 4.12.0-beta.0
7
+ version: 4.12.0-beta.10
8
8
  */
9
9
  import * as React from 'react';
10
10
  import React__default from 'react';
11
11
  import Component from '@egjs/component';
12
12
  import ListDiffer, { diff } from '@egjs/list-differ';
13
- import VanillaFlicking__default, { getFlickingAttached, ExternalRenderer, VirtualRenderingStrategy, NormalRenderingStrategy, sync, getDefaultCameraTransform, range, EVENTS, getRenderingPanels, withFlickingMethods } from '@egjs/flicking';
13
+ import VanillaFlicking__default, { getFlickingAttached, ExternalRenderer, VirtualRenderingStrategy, NormalRenderingStrategy, sync, range, EVENTS, getDefaultCameraTransform, getRenderingPanels, withFlickingMethods, CrossFlicking as CrossFlicking$1, SIDE_EVENTS } from '@egjs/flicking';
14
14
  export * from '@egjs/flicking';
15
15
  import { findDOMNode } from 'react-dom';
16
16
 
@@ -202,6 +202,7 @@ var DEFAULT_PROPS = {
202
202
  viewportTag: "div",
203
203
  cameraTag: "div",
204
204
  cameraClass: "",
205
+ firstPanelSize: "",
205
206
  renderOnSameKey: false,
206
207
  plugins: [],
207
208
  useFindDOMNode: false,
@@ -515,40 +516,22 @@ var Flicking = /*#__PURE__*/function (_super) {
515
516
  };
516
517
  __proto.render = function () {
517
518
  var _this = this;
518
- var _a, _b;
519
+ var _a;
519
520
  var props = this.props;
520
521
  var Viewport = props.viewportTag;
521
522
  var Camera = props.cameraTag;
522
523
  var attributes = {};
523
- var flicking = this._vanillaFlicking;
524
524
  this.beforeRender();
525
525
  for (var name in props) {
526
526
  if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking__default.prototype)) {
527
527
  attributes[name] = props[name];
528
528
  }
529
529
  }
530
- var initialized = flicking && flicking.initialized;
531
- var viewportClasses = ["flicking-viewport"];
532
- var cameraClasses = ["flicking-camera"];
533
- var isHorizontal = flicking ? flicking.horizontal : (_a = props.horizontal) !== null && _a !== void 0 ? _a : true;
534
- if (!isHorizontal) {
535
- viewportClasses.push("vertical");
536
- }
537
- if (props.hideBeforeInit && !initialized) {
538
- viewportClasses.push("flicking-hidden");
539
- }
540
- if (attributes.className) {
541
- viewportClasses.push(attributes.className);
542
- }
543
- if (props.cameraClass) {
544
- cameraClasses.push(props.cameraClass);
545
- }
546
- var cameraProps = !initialized && props.firstPanelSize ? {
547
- style: {
548
- transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)
549
- }
550
- } : {};
551
- var panels = !!props.virtual && ((_b = props.panelsPerView) !== null && _b !== void 0 ? _b : -1) > 0 ? this._getVirtualPanels() : this._getPanels();
530
+ var _b = this._getClasses(attributes, props),
531
+ viewportClasses = _b.viewportClasses,
532
+ cameraClasses = _b.cameraClasses,
533
+ cameraProps = _b.cameraProps;
534
+ var panels = !!props.virtual && ((_a = props.panelsPerView) !== null && _a !== void 0 ? _a : -1) > 0 ? this._getVirtualPanels() : this._getPanels();
552
535
  return React.createElement(Viewport, __assign({}, attributes, {
553
536
  className: viewportClasses.join(" "),
554
537
  ref: function (e) {
@@ -572,17 +555,21 @@ var Flicking = /*#__PURE__*/function (_super) {
572
555
  var flicking = this._vanillaFlicking;
573
556
  Object.keys(EVENTS).forEach(function (eventKey) {
574
557
  var eventName = EVENTS[eventKey];
575
- var propName = "on".concat(eventName.charAt(0).toUpperCase() + eventName.slice(1));
576
- flicking.on(eventName, function (e) {
577
- e.currentTarget = _this;
578
- var evtHandler = _this.props[propName];
579
- evtHandler(e);
580
- });
558
+ _this._bindEvent(eventName);
581
559
  });
582
560
  flicking.once(EVENTS.READY, function () {
583
561
  _this.forceUpdate();
584
562
  });
585
563
  };
564
+ __proto._bindEvent = function (eventName) {
565
+ var _this = this;
566
+ var propName = "on".concat(eventName.charAt(0).toUpperCase() + eventName.slice(1));
567
+ this._vanillaFlicking.on(eventName, function (e) {
568
+ e.currentTarget = _this;
569
+ var evtHandler = _this.props[propName];
570
+ evtHandler(e);
571
+ });
572
+ };
586
573
  __proto._checkPlugins = function () {
587
574
  var flicking = this._vanillaFlicking;
588
575
  var _a = this._pluginsDiffer.update(this.props.plugins),
@@ -597,6 +584,36 @@ var Flicking = /*#__PURE__*/function (_super) {
597
584
  return prevList[index];
598
585
  }));
599
586
  };
587
+ __proto._getClasses = function (attributes, props) {
588
+ var _a;
589
+ var flicking = this._vanillaFlicking;
590
+ var initialized = flicking && flicking.initialized;
591
+ var viewportClasses = ["flicking-viewport"];
592
+ var cameraClasses = ["flicking-camera"];
593
+ var isHorizontal = flicking ? flicking.horizontal : (_a = props.horizontal) !== null && _a !== void 0 ? _a : true;
594
+ if (!isHorizontal) {
595
+ viewportClasses.push("vertical");
596
+ }
597
+ if (props.hideBeforeInit && !initialized) {
598
+ viewportClasses.push("flicking-hidden");
599
+ }
600
+ if (attributes.className) {
601
+ viewportClasses.push(attributes.className);
602
+ }
603
+ if (props.cameraClass) {
604
+ cameraClasses.push(props.cameraClass);
605
+ }
606
+ var cameraProps = !initialized && props.firstPanelSize ? {
607
+ style: {
608
+ transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)
609
+ }
610
+ } : {};
611
+ return {
612
+ viewportClasses: viewportClasses,
613
+ cameraClasses: cameraClasses,
614
+ cameraProps: cameraProps
615
+ };
616
+ };
600
617
  __proto._hasSameChildren = function (prevChildren, nextChildren) {
601
618
  if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;
602
619
  var same = prevChildren.every(function (child, idx) {
@@ -684,10 +701,97 @@ var Flicking = /*#__PURE__*/function (_super) {
684
701
  return Flicking;
685
702
  }(React.Component);
686
703
 
704
+ var CROSSFLICKING_DEFAULT_PROPS = __assign(__assign({}, DEFAULT_PROPS), {
705
+ onSideHoldStart: function (e) {},
706
+ onSideHoldEnd: function (e) {},
707
+ onSideMoveStart: function (e) {},
708
+ onSideMove: function (e) {},
709
+ onSideMoveEnd: function (e) {},
710
+ onSideWillChange: function (e) {},
711
+ onSideChanged: function (e) {}
712
+ });
713
+ var CrossFlicking = /*#__PURE__*/function (_super) {
714
+ __extends(CrossFlicking, _super);
715
+ function CrossFlicking(props) {
716
+ return _super.call(this, props) || this;
717
+ }
718
+ var __proto = CrossFlicking.prototype;
719
+ __proto.componentDidMount = function () {
720
+ var props = this.props;
721
+ var rendererOptions = {
722
+ reactFlicking: this,
723
+ strategy: new NormalRenderingStrategy({
724
+ providerCtor: ReactElementProvider
725
+ })
726
+ };
727
+ var flicking = new CrossFlicking$1(this._viewportElement, __assign(__assign({}, props), {
728
+ externalRenderer: new ReactRenderer(rendererOptions)
729
+ }));
730
+ this._vanillaFlicking = flicking;
731
+ var children = this._getChildren();
732
+ this._jsxDiffer = new ListDiffer(children, function (panel) {
733
+ return panel.key;
734
+ });
735
+ this._pluginsDiffer = new ListDiffer();
736
+ this._prevChildren = children;
737
+ this._bindEvents();
738
+ this._checkPlugins();
739
+ if (props.status) {
740
+ flicking.setStatus(props.status);
741
+ }
742
+ };
743
+ __proto.render = function () {
744
+ var _this = this;
745
+ var props = this.props;
746
+ var Viewport = props.viewportTag;
747
+ var Camera = props.cameraTag;
748
+ var attributes = {};
749
+ this.beforeRender();
750
+ for (var name in props) {
751
+ if (!(name in CROSSFLICKING_DEFAULT_PROPS) && !(name in CrossFlicking$1.prototype)) {
752
+ attributes[name] = props[name];
753
+ }
754
+ }
755
+ var _a = this._getClasses(attributes, props),
756
+ viewportClasses = _a.viewportClasses,
757
+ cameraClasses = _a.cameraClasses,
758
+ cameraProps = _a.cameraProps;
759
+ var panels = this._getPanels();
760
+ return React.createElement(Viewport, __assign({}, attributes, {
761
+ className: viewportClasses.join(" "),
762
+ ref: function (e) {
763
+ e && (_this._viewportElement = e);
764
+ }
765
+ }), React.createElement(Camera, __assign({
766
+ className: cameraClasses.join(" ")
767
+ }, cameraProps), panels), this._getViewportSlot());
768
+ };
769
+ __proto._bindEvents = function () {
770
+ var _this = this;
771
+ _super.prototype._bindEvents.call(this);
772
+ Object.keys(SIDE_EVENTS).forEach(function (eventKey) {
773
+ var eventName = SIDE_EVENTS[eventKey];
774
+ _this._bindEvent(eventName);
775
+ });
776
+ };
777
+ CrossFlicking.defaultProps = CROSSFLICKING_DEFAULT_PROPS;
778
+ return CrossFlicking;
779
+ }(Flicking);
780
+
781
+ /*
782
+ * Copyright (c) 2015 NAVER Corp.
783
+ * egjs projects are licensed under the MIT license
784
+ */
785
+ var CrossGroup = React__default.forwardRef(function (props, ref) {
786
+ return React__default.createElement("div", {
787
+ ref: ref
788
+ }, props.children);
789
+ });
790
+
687
791
  /*
688
792
  * Copyright (c) 2015 NAVER Corp.
689
793
  * egjs projects are licensed under the MIT license
690
794
  */
691
795
 
692
- export { ViewportSlot, Flicking as default };
796
+ export { CrossFlicking, CrossGroup, ViewportSlot, Flicking as default };
693
797
  //# sourceMappingURL=flicking.esm.js.map
@@ -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 this._afterRender();\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n this._rendering = true;\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public destroy() {\n super.destroy();\n this._reactFlicking.renderEmitter.off(\"render\");\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n private _elRef: React.RefObject<HTMLElement> = React.createRef();\n\n public get nativeElement() { return this._elRef.current!; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this._getElement();\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n\n private _getElement() {\n return React.cloneElement(React.Children.only(this.props.children) as React.ReactElement, {\n ref: this._elRef\n });\n }\n}\n\nexport default StrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport { findDOMNode } from \"react-dom\";\n\nclass NonStrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n public get nativeElement() { return findDOMNode(this) as HTMLElement; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this.props.children;\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n}\n\nexport default NonStrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode } from \"react\";\n\nconst ViewportSlot = React.memo((props: { children?: ReactNode }) => <>{props.children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ElementProvider {\n private _el: StrictPanel | NonStrictPanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return this._el.rendered; }\n\n public constructor(el: StrictPanel | NonStrictPanel) {\n this._el = el;\n }\n\n public show() {\n this._el.show();\n }\n\n public hide() {\n this._el.hide();\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy\n} 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 // 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 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","ReactRenderer","_super","__extends","options","_this","call","_reactFlicking","reactFlicking","__proto","prototype","render","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","_afterRender","forceUpdate","forceRenderAllPanels","_a","sent","destroy","off","_collectPanels","reactPanels","_panels","collectPanels","_createPanel","externalComponent","createPanel","ExternalRenderer","StrictPanel","apply","arguments","_hide","_elRef","React","createRef","Object","defineProperty","current","get","createElement","Fragment","_getElement","show","hide","cloneElement","Children","only","props","children","ref","Component","NonStrictPanel","findDOMNode","ViewportSlot","memo","ReactElementProvider","el","_el","nativeElement","rendered","Flicking","_renderEmitter","_getChildren","_createPanelRefs","_prevChildren","map","panel","componentDidMount","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","VanillaFlicking","_viewportElement","__assign","externalRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","componentWillUnmount","shouldComponentUpdate","nextProps","vanillaFlicking","prevProps","initialized","restProps","__rest","prevChildren","nextChildren","_hasSameChildren","beforeRender","_diffResult","update","componentDidUpdate","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","name","viewportClasses","cameraClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","panels","_b","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","concat","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","__spreadArray","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","origChildren","getRenderingPanels","diff","defaultProps","__decorate","withFlickingMethods"],"mappings":"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"}
1
+ {"version":3,"file":"flicking.esm.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/CrossFlicking.tsx","../src/react-flicking/CrossGroup.tsx","../src/react-flicking/index.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n cameraClass: \"\",\n firstPanelSize: \"\",\n renderOnSameKey: false,\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n this._afterRender();\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n this._rendering = true;\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public destroy() {\n super.destroy();\n this._reactFlicking.renderEmitter.off(\"render\");\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n private _elRef: React.RefObject<HTMLElement> = React.createRef();\n\n public get nativeElement() { return this._elRef.current!; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this._getElement();\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n\n private _getElement() {\n return React.cloneElement(React.Children.only(this.props.children) as React.ReactElement, {\n ref: this._elRef\n });\n }\n}\n\nexport default StrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport { findDOMNode } from \"react-dom\";\n\nclass NonStrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n public get nativeElement() { return findDOMNode(this) as HTMLElement; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this.props.children;\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n}\n\nexport default NonStrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode } from \"react\";\n\nconst ViewportSlot = React.memo((props: { children?: ReactNode }) => <>{props.children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ElementProvider {\n private _el: StrictPanel | NonStrictPanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return this._el.rendered; }\n\n public constructor(el: StrictPanel | NonStrictPanel) {\n this._el = el;\n }\n\n public show() {\n this._el.show();\n }\n\n public hide() {\n this._el.hide();\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy,\n FlickingEvents,\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods protected _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n protected _pluginsDiffer: ListDiffer<any>;\n protected _jsxDiffer: ListDiffer<React.ReactElement>;\n protected _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n protected _prevChildren: React.ReactElement[];\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, prevent updates when another update is already queued.\n // This usually happens when render() called twice without calling componentDidMount, like in the case of React.StrictMode.\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._diffResult) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = nextChildren;\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n // Omit 'virtual', as it can't have any setter\n const { virtual, ...props } = this.props;\n for (const key in props) {\n if (key in flicking && flicking[key] !== props[key]) {\n flicking[key] = props[key];\n }\n }\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n\n this.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const { viewportClasses, cameraClasses, cameraProps } = this._getClasses(attributes, props);\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n protected _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n this._bindEvent(eventName);\n });\n\n flicking.once(EVENTS.READY, () => {\n this.forceUpdate();\n });\n }\n\n protected _bindEvent(eventName: keyof FlickingEvents) {\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n this._vanillaFlicking!.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n }\n\n protected _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n protected _getClasses(attributes: { [key: string]: any }, props: typeof this.props) {\n const flicking = this._vanillaFlicking;\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n return {\n viewportClasses,\n cameraClasses,\n cameraProps,\n };\n }\n\n private _hasSameChildren(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n if (child.key && nextChild.key) {\n return child.key === nextChild.key;\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n protected _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n protected _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return this._isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds: React.ReactElement[], fragChild: React.ReactElement) => [...allChilds, ...this._unpackFragment(fragChild)], [] as React.ReactElement[])\n : [child];\n }\n\n private _getVirtualPanels() {\n const {\n panelClass = \"flicking-panel\"\n } = this.props.virtual!;\n const panelsPerView = this.props.panelsPerView!;\n const flicking = this._vanillaFlicking;\n const initialized = flicking && flicking.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = flicking && flicking.panels[0];\n const size = firstPanel\n ? flicking.horizontal\n ? { width: firstPanel.size }\n : { height: firstPanel.size }\n : {};\n\n return renderingIndexes.map(idx => {\n return <div\n key={idx}\n data-element-index={idx}\n ref={this._panels[idx] as React.RefObject<HTMLDivElement>}\n className={panelClass}\n style={size} />\n });\n }\n\n protected _getPanels() {\n const origChildren = this._getChildren();\n const vanillaFlicking = this._vanillaFlicking;\n const diffResult = this._diffResult;\n\n const children: React.ReactElement[] = vanillaFlicking && vanillaFlicking.initialized\n ? diffResult\n ? getRenderingPanels(vanillaFlicking, diffResult)\n : getRenderingPanels(vanillaFlicking, diff(origChildren, origChildren))\n : origChildren;\n\n return this.props.useFindDOMNode\n ? children.map((child, idx) => <NonStrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</NonStrictPanel>)\n : children.map((child, idx) => <StrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</StrictPanel>)\n }\n\n private _isFragment(child: React.ReactElement) {\n if (child.type) {\n return child.type === React.Fragment;\n }\n\n return (child as any) === React.Fragment;\n }\n}\n\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport ListDiffer from \"@egjs/list-differ\";\nimport {\n CrossFlicking as VanillaCrossFlicking,\n NormalRenderingStrategy,\n CrossFlickingEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n EVENTS,\n SIDE_EVENTS,\n CrossFlickingOptions,\n FlickingOptions,\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport ReactElementProvider from \"./ReactElementProvider\";\nimport Flicking from \"./Flicking\";\n\nexport interface CrossFlickingProps extends FlickingProps {\n onSideHoldStart: (e: CrossFlickingEvent<HoldStartEvent<Flicking>>) => any;\n onSideHoldEnd: (e: CrossFlickingEvent<HoldEndEvent<Flicking>>) => any;\n onSideMoveStart: (e: CrossFlickingEvent<MoveStartEvent<Flicking>>) => any;\n onSideMove: (e: CrossFlickingEvent<MoveEvent<Flicking>>) => any;\n onSideMoveEnd: (e: CrossFlickingEvent<MoveEndEvent<Flicking>>) => any;\n onSideWillChange: (e: CrossFlickingEvent<WillChangeEvent<Flicking>>) => any;\n onSideChanged: (e: CrossFlickingEvent<ChangedEvent<Flicking>>) => any;\n}\n\nexport const CROSSFLICKING_DEFAULT_PROPS: CrossFlickingProps = {\n ...DEFAULT_PROPS,\n onSideHoldStart: (e: CrossFlickingEvent<HoldStartEvent>) => {},\n onSideHoldEnd: (e: CrossFlickingEvent<HoldEndEvent>) => {},\n onSideMoveStart: (e: CrossFlickingEvent<MoveStartEvent>) => {},\n onSideMove: (e: CrossFlickingEvent<MoveEvent>) => {},\n onSideMoveEnd: (e: CrossFlickingEvent<MoveEndEvent>) => {},\n onSideWillChange: (e: CrossFlickingEvent<WillChangeEvent>) => {},\n onSideChanged: (e: CrossFlickingEvent<ChangedEvent>) => {},\n};\n\nclass CrossFlicking extends Flicking {\n public static defaultProps: CrossFlickingProps = CROSSFLICKING_DEFAULT_PROPS;\n\n public constructor(\n props: Partial<\n FlickingProps &\n FlickingOptions &\n CrossFlickingOptions &\n CrossFlickingProps\n >\n ) {\n super(props);\n }\n\n public componentDidMount() {\n const props = this.props as Required<CrossFlickingProps>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n strategy: new NormalRenderingStrategy({\n providerCtor: ReactElementProvider,\n }),\n };\n\n const flicking = new VanillaCrossFlicking(this._viewportElement, {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions),\n });\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, (panel) => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevChildren = children;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n\n this.beforeRender();\n\n for (const name in props) {\n if (!(name in CROSSFLICKING_DEFAULT_PROPS) && !(name in VanillaCrossFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const { viewportClasses, cameraClasses, cameraProps } = this._getClasses(attributes, props);\n\n const panels = this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n protected _bindEvents() {\n super._bindEvents();\n\n Object.keys(SIDE_EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = SIDE_EVENTS[eventKey];\n this._bindEvent(eventName);\n });\n }\n}\n\ninterface CrossFlicking extends Flicking {}\nexport default CrossFlicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode } from \"react\";\n\nconst CrossGroup = React.forwardRef((props: { children?: ReactNode }, ref: React.Ref<HTMLDivElement>) => <div ref={ref}>{props.children}</div>);\n\nexport default CrossGroup;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport Flicking from \"./Flicking\";\nimport CrossFlicking from \"./CrossFlicking\";\nimport CrossGroup from \"./CrossGroup\";\nimport ViewportSlot from \"./ViewportSlot\";\n\nexport * from \"@egjs/flicking\";\nexport * from \"./types\";\n\nexport {\n CrossFlicking,\n CrossGroup,\n ViewportSlot,\n}\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","cameraClass","firstPanelSize","renderOnSameKey","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","ReactRenderer","_super","__extends","options","_this","call","_reactFlicking","reactFlicking","__proto","prototype","render","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","_afterRender","forceUpdate","forceRenderAllPanels","_a","sent","destroy","off","_collectPanels","reactPanels","_panels","collectPanels","_createPanel","externalComponent","createPanel","ExternalRenderer","StrictPanel","apply","arguments","_hide","_elRef","React","createRef","Object","defineProperty","current","get","createElement","Fragment","_getElement","show","hide","cloneElement","Children","only","props","children","ref","Component","NonStrictPanel","findDOMNode","ViewportSlot","memo","ReactElementProvider","el","_el","nativeElement","rendered","Flicking","_renderEmitter","_getChildren","_createPanelRefs","_prevChildren","map","panel","componentDidMount","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","VanillaFlicking","_viewportElement","__assign","externalRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","componentWillUnmount","shouldComponentUpdate","nextProps","vanillaFlicking","prevProps","initialized","restProps","__rest","prevChildren","nextChildren","_hasSameChildren","beforeRender","_diffResult","update","componentDidUpdate","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","name","_b","_getClasses","viewportClasses","cameraClasses","cameraProps","panels","_getVirtualPanels","_getPanels","className","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","_bindEvent","READY","propName","concat","charAt","toUpperCase","slice","on","currentTarget","evtHandler","list","added","removed","prevList","addPlugins","index","removePlugins","isHorizontal","horizontal","push","style","transform","getDefaultCameraTransform","length","same","every","child","idx","nextChild","toArray","filter","type","reduce","all","__spreadArray","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","origChildren","getRenderingPanels","diff","defaultProps","__decorate","withFlickingMethods","CROSSFLICKING_DEFAULT_PROPS","onSideHoldStart","onSideHoldEnd","onSideMoveStart","onSideMove","onSideMoveEnd","onSideWillChange","onSideChanged","CrossFlicking","VanillaCrossFlicking","SIDE_EVENTS","CrossGroup","forwardRef"],"mappings":"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"}
@@ -4,7 +4,7 @@ name: @egjs/react-flicking
4
4
  license: MIT
5
5
  author: NAVER Corp.
6
6
  repository: https://github.com/naver/egjs-flicking/tree/master/packages/react-flicking
7
- version: 4.12.0-beta.0
7
+ version: 4.12.0-beta.10
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')) :
@@ -200,6 +200,7 @@ version: 4.12.0-beta.0
200
200
  viewportTag: "div",
201
201
  cameraTag: "div",
202
202
  cameraClass: "",
203
+ firstPanelSize: "",
203
204
  renderOnSameKey: false,
204
205
  plugins: [],
205
206
  useFindDOMNode: false,
@@ -513,40 +514,22 @@ version: 4.12.0-beta.0
513
514
  };
514
515
  __proto.render = function () {
515
516
  var _this = this;
516
- var _a, _b;
517
+ var _a;
517
518
  var props = this.props;
518
519
  var Viewport = props.viewportTag;
519
520
  var Camera = props.cameraTag;
520
521
  var attributes = {};
521
- var flicking = this._vanillaFlicking;
522
522
  this.beforeRender();
523
523
  for (var name in props) {
524
524
  if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {
525
525
  attributes[name] = props[name];
526
526
  }
527
527
  }
528
- var initialized = flicking && flicking.initialized;
529
- var viewportClasses = ["flicking-viewport"];
530
- var cameraClasses = ["flicking-camera"];
531
- var isHorizontal = flicking ? flicking.horizontal : (_a = props.horizontal) !== null && _a !== void 0 ? _a : true;
532
- if (!isHorizontal) {
533
- viewportClasses.push("vertical");
534
- }
535
- if (props.hideBeforeInit && !initialized) {
536
- viewportClasses.push("flicking-hidden");
537
- }
538
- if (attributes.className) {
539
- viewportClasses.push(attributes.className);
540
- }
541
- if (props.cameraClass) {
542
- cameraClasses.push(props.cameraClass);
543
- }
544
- var cameraProps = !initialized && props.firstPanelSize ? {
545
- style: {
546
- transform: VanillaFlicking.getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)
547
- }
548
- } : {};
549
- var panels = !!props.virtual && ((_b = props.panelsPerView) !== null && _b !== void 0 ? _b : -1) > 0 ? this._getVirtualPanels() : this._getPanels();
528
+ var _b = this._getClasses(attributes, props),
529
+ viewportClasses = _b.viewportClasses,
530
+ cameraClasses = _b.cameraClasses,
531
+ cameraProps = _b.cameraProps;
532
+ var panels = !!props.virtual && ((_a = props.panelsPerView) !== null && _a !== void 0 ? _a : -1) > 0 ? this._getVirtualPanels() : this._getPanels();
550
533
  return React.createElement(Viewport, __assign({}, attributes, {
551
534
  className: viewportClasses.join(" "),
552
535
  ref: function (e) {
@@ -570,17 +553,21 @@ version: 4.12.0-beta.0
570
553
  var flicking = this._vanillaFlicking;
571
554
  Object.keys(VanillaFlicking.EVENTS).forEach(function (eventKey) {
572
555
  var eventName = VanillaFlicking.EVENTS[eventKey];
573
- var propName = "on".concat(eventName.charAt(0).toUpperCase() + eventName.slice(1));
574
- flicking.on(eventName, function (e) {
575
- e.currentTarget = _this;
576
- var evtHandler = _this.props[propName];
577
- evtHandler(e);
578
- });
556
+ _this._bindEvent(eventName);
579
557
  });
580
558
  flicking.once(VanillaFlicking.EVENTS.READY, function () {
581
559
  _this.forceUpdate();
582
560
  });
583
561
  };
562
+ __proto._bindEvent = function (eventName) {
563
+ var _this = this;
564
+ var propName = "on".concat(eventName.charAt(0).toUpperCase() + eventName.slice(1));
565
+ this._vanillaFlicking.on(eventName, function (e) {
566
+ e.currentTarget = _this;
567
+ var evtHandler = _this.props[propName];
568
+ evtHandler(e);
569
+ });
570
+ };
584
571
  __proto._checkPlugins = function () {
585
572
  var flicking = this._vanillaFlicking;
586
573
  var _a = this._pluginsDiffer.update(this.props.plugins),
@@ -595,6 +582,36 @@ version: 4.12.0-beta.0
595
582
  return prevList[index];
596
583
  }));
597
584
  };
585
+ __proto._getClasses = function (attributes, props) {
586
+ var _a;
587
+ var flicking = this._vanillaFlicking;
588
+ var initialized = flicking && flicking.initialized;
589
+ var viewportClasses = ["flicking-viewport"];
590
+ var cameraClasses = ["flicking-camera"];
591
+ var isHorizontal = flicking ? flicking.horizontal : (_a = props.horizontal) !== null && _a !== void 0 ? _a : true;
592
+ if (!isHorizontal) {
593
+ viewportClasses.push("vertical");
594
+ }
595
+ if (props.hideBeforeInit && !initialized) {
596
+ viewportClasses.push("flicking-hidden");
597
+ }
598
+ if (attributes.className) {
599
+ viewportClasses.push(attributes.className);
600
+ }
601
+ if (props.cameraClass) {
602
+ cameraClasses.push(props.cameraClass);
603
+ }
604
+ var cameraProps = !initialized && props.firstPanelSize ? {
605
+ style: {
606
+ transform: VanillaFlicking.getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)
607
+ }
608
+ } : {};
609
+ return {
610
+ viewportClasses: viewportClasses,
611
+ cameraClasses: cameraClasses,
612
+ cameraProps: cameraProps
613
+ };
614
+ };
598
615
  __proto._hasSameChildren = function (prevChildren, nextChildren) {
599
616
  if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;
600
617
  var same = prevChildren.every(function (child, idx) {