@egjs/react-flicking 4.4.1 → 4.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,6 +32,7 @@ declare class Flicking extends React.Component<Partial<FlickingProps & FlickingO
32
32
  private _unpackFragment;
33
33
  private _getVirtualPanels;
34
34
  private _getPanels;
35
+ private _isFragment;
35
36
  }
36
37
  interface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking {
37
38
  }
@@ -1,7 +1,7 @@
1
- import { ExternalElementProvider } from "@egjs/flicking";
1
+ import { ElementProvider } from "@egjs/flicking";
2
2
  import StrictPanel from "./StrictPanel";
3
3
  import NonStrictPanel from "./NonStrictPanel";
4
- declare class ReactElementProvider implements ExternalElementProvider {
4
+ declare class ReactElementProvider implements ElementProvider {
5
5
  private _el;
6
6
  get element(): HTMLElement;
7
7
  get rendered(): boolean;
@@ -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.4.1
7
+ version: 4.5.1
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 reactIs = require('react-is');
16
15
  var reactDom = require('react-dom');
17
16
 
18
17
  /*! *****************************************************************************
@@ -501,16 +500,13 @@ function (_super) {
501
500
  var props = this.props;
502
501
  var rendererOptions = {
503
502
  reactFlicking: this,
503
+ align: props.align,
504
504
  strategy: props.virtual && props.panelsPerView > 0 ? new VanillaFlicking.VirtualRenderingStrategy() : new VanillaFlicking.NormalRenderingStrategy({
505
- providerCtor: ReactElementProvider,
506
- panelCtor: VanillaFlicking.ExternalPanel
505
+ providerCtor: ReactElementProvider
507
506
  })
508
507
  };
509
508
  var flicking = new VanillaFlicking(this._viewportElement, __assign(__assign({}, props), {
510
- renderExternal: {
511
- renderer: ReactRenderer,
512
- rendererOptions: rendererOptions
513
- }
509
+ externalRenderer: new ReactRenderer(rendererOptions)
514
510
  }));
515
511
  this._vanillaFlicking = flicking;
516
512
  this._currentState = LifeCycleState.UPDATED;
@@ -640,7 +636,7 @@ function (_super) {
640
636
  var props = this.props;
641
637
  Object.keys(VanillaFlicking.EVENTS).forEach(function (eventKey) {
642
638
  var eventName = VanillaFlicking.EVENTS[eventKey];
643
- var propName = "on" + (eventName.charAt(0).toUpperCase() + eventName.slice(1));
639
+ var propName = "on".concat(eventName.charAt(0).toUpperCase() + eventName.slice(1));
644
640
  flicking.on(eventName, function (e) {
645
641
  e.currentTarget = _this;
646
642
  props[propName](e);
@@ -691,7 +687,7 @@ function (_super) {
691
687
  __proto._unpackFragment = function (child) {
692
688
  var _this = this;
693
689
 
694
- return reactIs.isFragment(child) ? React.Children.toArray(child.props.children).reduce(function (allChilds, fragChild) {
690
+ return this._isFragment(child) ? React.Children.toArray(child.props.children).reduce(function (allChilds, fragChild) {
695
691
  return __spreadArray(__spreadArray([], allChilds, true), _this._unpackFragment(fragChild), true);
696
692
  }, []) : [child];
697
693
  };
@@ -743,6 +739,14 @@ function (_super) {
743
739
  });
744
740
  };
745
741
 
742
+ __proto._isFragment = function (child) {
743
+ if (child.type) {
744
+ return child.type === React.Fragment;
745
+ }
746
+
747
+ return child === React.Fragment;
748
+ };
749
+
746
750
  Flicking.defaultProps = DEFAULT_PROPS;
747
751
 
748
752
  __decorate([VanillaFlicking.withFlickingMethods], Flicking.prototype, "_vanillaFlicking", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"flicking.cjs.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/index.umd.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", resolve);\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", resolve);\n reactFlicking.forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component {\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 {\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 from \"react\";\n\nconst ViewportSlot = React.memo(({ children }) => <>{children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ExternalElementProvider {\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 ExternalPanel\n} from \"@egjs/flicking\";\nimport { isFragment } from \"react-is\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nenum LifeCycleState {\n BEFORE_UPDATE,\n RENDER,\n UPDATED\n}\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _currentState: LifeCycleState = LifeCycleState.BEFORE_UPDATE;\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n this._panels = this._createPanelRefs(props, this._getChildren());\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider,\n panelCtor: ExternalPanel\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n ...{ renderExternal: {\n renderer: ReactRenderer,\n rendererOptions\n }}\n },\n );\n\n this._vanillaFlicking = flicking;\n this._currentState = LifeCycleState.UPDATED;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: this[\"props\"]) {\n const props = this.props;\n\n if (this._currentState !== LifeCycleState.BEFORE_UPDATE && props.children !== nextProps.children) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n\n this._currentState = LifeCycleState.BEFORE_UPDATE;\n\n for (const key in nextProps) {\n if (props[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n\n this._currentState = LifeCycleState.UPDATED;\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n const flicking = this._vanillaFlicking;\n\n this._currentState = LifeCycleState.RENDER;\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className=\"flicking-camera\" {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n const props = this.props as Required<FlickingProps>;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n props[propName](e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n this.forceUpdate();\n });\n }\n\n private _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n private _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n private _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds, fragChild) => [...allChilds, ...this._unpackFragment(fragChild)], [])\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 = 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\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport Flicking from \"./Flicking\";\nimport ViewportSlot from \"./ViewportSlot\";\n\n(Flicking as any).ViewportSlot = ViewportSlot;\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","LifeCycleState","BEFORE_UPDATE","_createPanelRefs","_getChildren","map","panel","_renderEmitter","rendererOptions","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","panelCtor","ExternalPanel","VanillaFlicking","_viewportElement","renderExternal","renderer","ReactRenderer","_vanillaFlicking","_currentState","UPDATED","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","nextChildren","_diffResult","update","diffResult","trigger","initialized","sync","Viewport","Camera","attributes","RENDER","name","prototype","viewportClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","align","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","READY","list","added","removed","prevList","addPlugins","index","removePlugins","toArray","filter","child","type","reduce","all","_unpackFragment","isFragment","allChilds","fragChild","panelClass","renderingIndexes","getRenderingIndexesByOrder","firstPanel","size","width","height","idx","origChildren","vanillaFlicking","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Flicking","__decorate","withFlickingMethods"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BO,IAAMA,aAAa,GAAkB;AAC1CC,EAAAA,WAAW,EAAE,KAD6B;AAE1CC,EAAAA,SAAS,EAAE,KAF+B;AAG1CC,EAAAA,OAAO,EAAE,EAHiC;AAI1CC,EAAAA,cAAc,EAAE,KAJ0B;AAK1CC,EAAAA,cAAc,EAAE,KAL0B;AAM1CC,EAAAA,OAAO,EAAE,UAACC,CAAD,IANiC;AAO1CC,EAAAA,cAAc,EAAE,UAACD,CAAD,IAP0B;AAQ1CE,EAAAA,aAAa,EAAE,UAACF,CAAD,IAR2B;AAS1CG,EAAAA,WAAW,EAAE,UAACH,CAAD,IAT6B;AAU1CI,EAAAA,SAAS,EAAE,UAACJ,CAAD,IAV+B;AAW1CK,EAAAA,WAAW,EAAE,UAACL,CAAD,IAX6B;AAY1CM,EAAAA,MAAM,EAAE,UAACN,CAAD,IAZkC;AAa1CO,EAAAA,SAAS,EAAE,UAACP,CAAD,IAb+B;AAc1CQ,EAAAA,YAAY,EAAE,UAACR,CAAD,IAd4B;AAe1CS,EAAAA,SAAS,EAAE,UAACT,CAAD,IAf+B;AAgB1CU,EAAAA,aAAa,EAAE,UAACV,CAAD,IAhB2B;AAiB1CW,EAAAA,UAAU,EAAE,UAACX,CAAD,IAjB8B;AAkB1CY,EAAAA,QAAQ,EAAE,UAACZ,CAAD,IAlBgC;AAmB1Ca,EAAAA,WAAW,EAAE,UAACb,CAAD,IAnB6B;AAoB1Cc,EAAAA,eAAe,EAAE,UAACd,CAAD,IApByB;AAqB1Ce,EAAAA,WAAW,EAAE,UAACf,CAAD,IArB6B;AAsB1CgB,EAAAA,aAAa,EAAE,UAAChB,CAAD;AAtB2B,CAArC;;ACZP;;;AAA4BiB,EAAAA,gCAAA;;AAI1B,wBAAA,CAAmBC,OAAnB;AAAA,gBACEC,WAAA,KAAA,EAAMD,OAAN,SADF;;AAGEE,IAAAA,KAAI,CAACC,cAAL,GAAsBH,OAAO,CAACI,aAA9B;;AACD;;;;;AAGY,gBAAA,GAAb;;;;AACQC,QAAAA,QAAQ,GAAGC,mCAAmB,CAAC,KAAKC,SAAN,CAA9B;AACAH,QAAAA,aAAa,GAAG,KAAKD,cAArB;AACAK,QAAAA,QAAQ,GAAG,KAAKC,SAAhB;AAEND,QAAAA,QAAQ,CAACE,qBAAT,CAA+BL,QAA/B;AACAG,QAAAA,QAAQ,CAACG,YAAT,CAAsBN,QAAtB;AAEA;;UAAO,IAAIO,OAAJ,CAAkB,UAAAC,OAAA;AACvBT,UAAAA,aAAa,CAACU,aAAd,CAA4BC,IAA5B,CAAiC,QAAjC,EAA2CF,OAA3C;AACAT,UAAAA,aAAa,CAACY,WAAd;AACD,SAHM,EAAP;;;AAID,GAZY;;AAcA,8BAAA,GAAb;;;;;;AACQZ,YAAAA,aAAa,GAAG,KAAKD,cAArB;AAEN;;cAAMF,gBAAA,CAAMgB,oBAAN,KAAA,KAAA,EAAN;;;AAAAC,YAAAA,OAAA;;AAEA;;cAAO,IAAIN,OAAJ,CAAkB,UAAAC,OAAA;AACvBT,cAAAA,aAAa,CAACU,aAAd,CAA4BC,IAA5B,CAAiC,QAAjC,EAA2CF,OAA3C;AACAT,cAAAA,aAAa,CAACY,WAAd;AACD,aAHM,EAAP;;;;AAID,GATY;;AAWH,wBAAA,GAAV;AACE,QAAMX,QAAQ,GAAGC,mCAAmB,CAAC,KAAKC,SAAN,CAApC;AACA,QAAMH,aAAa,GAAG,KAAKD,cAA3B;AACA,QAAMgB,WAAW,GAAGf,aAAa,CAACe,WAAlC;AAEA,SAAKC,OAAL,GAAe,KAAKX,SAAL,CAAeY,aAAf,CAA6BhB,QAA7B,EAAuCc,WAAvC,CAAf;AACD,GANS;;AAQA,sBAAA,GAAV,UAAuBG,iBAAvB,EAAyFtB,OAAzF;AACE,WAAO,KAAKS,SAAL,CAAec,WAAf,CAA2BD,iBAA3B,EAA8CtB,OAA9C,CAAP;AACD,GAFS;;AAGZ,sBAAA;AA/CA,EAA4BwB,iCAA5B;;ACRA;;;AAA0BzB,EAAAA,8BAAA;;AAA1B,sBAAA;AAAA,wEAAA;;AACUG,IAAAA,WAAA,GAAiB,KAAjB;AAEAA,IAAAA,YAAA,GAAuCuB,KAAK,CAACC,SAAN,EAAvC;;AAwBT;;;AAtBCC,EAAAA,qBAAA,yBAAA;SAAA;AAA6B,aAAO,KAAKC,MAAL,CAAYC,OAAnB;AAA8B;;;GAA3D;AACAF,EAAAA,qBAAA,oBAAA;SAAA;AAAwB,aAAO,CAAC,KAAKG,KAAb;AAAqB;;;GAA7C;;AAEO,gBAAA,GAAP;AACE,WAAO,KAAKA,KAAL,GACHL,mBAAA,eAAA,MAAA,CADG,GAEH,KAAKM,WAAL,EAFJ;AAGD,GAJM;;AAMA,cAAA,GAAP;AACE,SAAKD,KAAL,GAAa,KAAb;AACD,GAFM;;AAIA,cAAA,GAAP;AACE,SAAKA,KAAL,GAAa,IAAb;AACD,GAFM;;AAIC,qBAAA,GAAR;AACE,WAAOL,KAAK,CAACO,YAAN,CAAmBP,KAAK,CAACQ,QAAN,CAAeC,IAAf,CAAoB,KAAKC,KAAL,CAAWC,QAA/B,CAAnB,EAAmF;AACxFC,MAAAA,GAAG,EAAE,KAAKT;AAD8E,KAAnF,CAAP;AAGD,GAJO;;AAKV,oBAAA;AAAC,EA3ByBH,KAAK,CAACa,UAAhC;;ACCA;;;AAA6BvC,EAAAA,iCAAA;;AAA7B,yBAAA;AAAA,wEAAA;;AACUG,IAAAA,WAAA,GAAiB,KAAjB;;AAkBT;;;AAhBCyB,EAAAA,qBAAA,yBAAA;SAAA;AAA6B,aAAOY,oBAAW,CAAC,IAAD,CAAlB;AAA0C;;;GAAvE;AACAZ,EAAAA,qBAAA,oBAAA;SAAA;AAAwB,aAAO,CAAC,KAAKG,KAAb;AAAqB;;;GAA7C;;AAEO,gBAAA,GAAP;AACE,WAAO,KAAKA,KAAL,GACHL,mBAAA,eAAA,MAAA,CADG,GAEH,KAAKU,KAAL,CAAWC,QAFf;AAGD,GAJM;;AAMA,cAAA,GAAP;AACE,SAAKN,KAAL,GAAa,KAAb;AACD,GAFM;;AAIA,cAAA,GAAP;AACE,SAAKA,KAAL,GAAa,IAAb;AACD,GAFM;;AAGT,uBAAA;AAAC,EAnB4BL,KAAK,CAACa,UAAnC;;ACPA;;;;AAMA,IAAME,YAAY,GAAGf,KAAK,CAACgB,IAAN,CAAW,UAACvB,EAAD;MAAGkB,QAAQ;AAAO,SAAAX,mBAAA,eAAA,MAAA,EAAGW,QAAH,CAAA;AAAe,CAA5C,CAArB;;ACEA;;;AAME,+BAAA,CAAmBM,EAAnB;AACE,SAAKC,GAAL,GAAWD,EAAX;AACD;;;AALDf,EAAAA,qBAAA,mBAAA;SAAA;AAAuB,aAAO,KAAKgB,GAAL,CAASC,aAAhB;AAAgC;;;GAAvD;AACAjB,EAAAA,qBAAA,oBAAA;SAAA;AAAwB,aAAO,KAAKgB,GAAL,CAASE,QAAhB;AAA2B;;;GAAnD;;AAMO,cAAA,GAAP;AACE,SAAKF,GAAL,CAASG,IAAT;AACD,GAFM;;AAIA,cAAA,GAAP;AACE,SAAKH,GAAL,CAASI,IAAT;AACD,GAFM;;AAGT,6BAAA;AAAC,GAjBD;;ACsBA,IAAKC,cAAL;;AAAA,WAAKA;AACHA,EAAAA,mDAAA,kBAAA;AACAA,EAAAA,4CAAA,WAAA;AACAA,EAAAA,6CAAA,YAAA;AACD,CAJD,EAAKA,cAAc,KAAdA,cAAc,KAAA,CAAnB;;;;;AAMuBjD,EAAAA,2BAAA;;AAerB,mBAAA,CAAmBoC,KAAnB;AAAA,gBACElC,WAAA,KAAA,EAAMkC,KAAN,SADF;;AAXQjC,IAAAA,aAAA,GAA4E,EAA5E;AAKAA,IAAAA,oBAAA,GAAiB,IAAIoC,SAAJ,EAAjB;AACApC,IAAAA,mBAAA,GAAgC8C,cAAc,CAACC,aAA/C;AAQN/C,IAAAA,KAAI,CAACkB,OAAL,GAAelB,KAAI,CAACgD,gBAAL,CAAsBf,KAAtB,EAA6BjC,KAAI,CAACiD,YAAL,EAA7B,CAAf;;AACD;;;AAPDxB,EAAAA,qBAAA,uBAAA;SAAA;AAA2B,aAAO,KAAKP,OAAL,CAAagC,GAAb,CAAiB,UAAAC,KAAA;AAAS,eAAAA,KAAK,CAACxB,OAAN;AAAc,OAAxC,CAAP;AAAmD;;;GAA9E;AACAF,EAAAA,qBAAA,yBAAA;SAAA;AAA6B,aAAO,KAAK2B,cAAZ;AAA6B;;;GAA1D;;AAQO,2BAAA,GAAP;AACE,QAAMnB,KAAK,GAAG,KAAKA,KAAnB;AACA,QAAMoB,eAAe,GAAyB;AAC5CnD,MAAAA,aAAa,EAAE,IAD6B;AAE5CI,MAAAA,QAAQ,EAAE2B,KAAK,CAACqB,OAAN,IAAiBrB,KAAK,CAACsB,aAAN,GAAsB,CAAvC,GACN,IAAIC,wCAAJ,EADM,GAEN,IAAIC,uCAAJ,CAA4B;AAC5BC,QAAAA,YAAY,EAAEC,oBADc;AAE5BC,QAAAA,SAAS,EAAEC;AAFiB,OAA5B;AAJwC,KAA9C;AAUA,QAAM1D,QAAQ,GAAG,IAAI2D,eAAJ,CACf,KAAKC,gBADU,wBAGV9B,QACA;AAAE+B,MAAAA,cAAc,EAAE;AACnBC,QAAAA,QAAQ,EAAEC,aADS;AAEnBb,QAAAA,eAAe;AAFI;AAAlB,MAJU,CAAjB;AAWA,SAAKc,gBAAL,GAAwBhE,QAAxB;AACA,SAAKiE,aAAL,GAAqBtB,cAAc,CAACuB,OAApC;;AAEA,QAAMnC,QAAQ,GAAG,KAAKe,YAAL,EAAjB;;AACA,SAAKqB,UAAL,GAAkB,IAAIC,UAAJ,CAAerC,QAAf,EAAyB,UAAAiB,KAAA;AAAS,aAAAA,KAAK,CAACqB,GAAN;AAAU,KAA5C,CAAlB;AACA,SAAKC,cAAL,GAAsB,IAAIF,UAAJ,EAAtB;;AAEA,SAAKG,WAAL;;AACA,SAAKC,aAAL;;AAEA,QAAI1C,KAAK,CAAC2C,MAAV,EAAkB;AAChBzE,MAAAA,QAAQ,CAAC0E,SAAT,CAAmB5C,KAAK,CAAC2C,MAAzB;AACD;AACF,GApCM;;AAsCA,8BAAA,GAAP;;;AACE,UAAA,KAAKT,gBAAL,UAAA,iBAAA,SAAA,MAAuBW,SAAvB;AACD,GAFM;;AAIA,+BAAA,GAAP,UAA6BC,SAA7B;AACE,QAAM9C,KAAK,GAAG,KAAKA,KAAnB;;AAEA,QAAI,KAAKmC,aAAL,KAAuBtB,cAAc,CAACC,aAAtC,IAAuDd,KAAK,CAACC,QAAN,KAAmB6C,SAAS,CAAC7C,QAAxF,EAAkG;AAChG,UAAM8C,YAAY,GAAG,KAAK/B,YAAL,CAAkB8B,SAAS,CAAC7C,QAA5B,CAArB;;AAEA,WAAKhB,OAAL,GAAe,KAAK8B,gBAAL,CAAsB+B,SAAtB,EAAiCC,YAAjC,CAAf;AACA,WAAKC,WAAL,GAAmB,KAAKX,UAAL,CAAgBY,MAAhB,CAAuBF,YAAvB,CAAnB;AACD;;AAED,SAAKZ,aAAL,GAAqBtB,cAAc,CAACC,aAApC;;AAEA,SAAK,IAAMyB,GAAX,IAAkBO,SAAlB,EAA6B;AAC3B,UAAI9C,KAAK,CAACuC,GAAD,CAAL,KAAeO,SAAS,CAACP,GAAD,CAA5B,EAAmC;AACjC,eAAO,IAAP;AACD;AACF;;AAED,WAAO,KAAP;AACD,GAnBM;;AAqBA,4BAAA,GAAP;AACE,QAAMrE,QAAQ,GAAG,KAAKgE,gBAAtB;AACA,QAAMvD,aAAa,GAAG,KAAKwC,cAA3B;AACA,QAAM+B,UAAU,GAAG,KAAKF,WAAxB;;AAEA,SAAKN,aAAL;;AACA/D,IAAAA,aAAa,CAACwE,OAAd,CAAsB,QAAtB;AAEA,SAAKhB,aAAL,GAAqBtB,cAAc,CAACuB,OAApC;AAEA,QAAI,CAACc,UAAD,IAAe,CAAChF,QAAQ,CAACkF,WAA7B,EAA0C;AAE1CC,IAAAA,oBAAI,CAACnF,QAAD,EAAWgF,UAAX,EAAuB,KAAKlE,WAA5B,CAAJ;AAEA,SAAKgE,WAAL,GAAmB,IAAnB;AACD,GAfM;;AAiBA,gBAAA,GAAP;AAAA,oBAAA;;;;AACE,QAAMhD,KAAK,GAAG,KAAKA,KAAnB;AACA,QAAMsD,QAAQ,GAAGtD,KAAK,CAAC3D,WAAvB;AACA,QAAMkH,MAAM,GAAGvD,KAAK,CAAC1D,SAArB;AACA,QAAMkH,UAAU,GAA2B,EAA3C;AACA,QAAMtF,QAAQ,GAAG,KAAKgE,gBAAtB;AAEA,SAAKC,aAAL,GAAqBtB,cAAc,CAAC4C,MAApC;;AAEA,SAAK,IAAMC,IAAX,IAAmB1D,KAAnB,EAA0B;AACxB,UAAI,EAAE0D,IAAI,IAAItH,aAAV,KAA4B,EAAEsH,IAAI,IAAI7B,eAAe,CAAC8B,SAA1B,CAAhC,EAAsE;AACpEH,QAAAA,UAAU,CAACE,IAAD,CAAV,GAAmB1D,KAAK,CAAC0D,IAAD,CAAxB;AACD;AACF;;AAED,QAAMN,WAAW,GAAGlF,QAAQ,IAAIA,QAAQ,CAACkF,WAAzC;AACA,QAAMQ,eAAe,GAAa,CAAC,mBAAD,CAAlC;AACA,QAAMC,YAAY,GAAG3F,QAAQ,GACzBA,QAAQ,CAAC4F,UADgB,GAEzB,MAAA9D,KAAK,CAAC8D,UAAN,UAAA,iBAAA,KAAA,GAAoB,IAFxB;;AAIA,QAAI,CAACD,YAAL,EAAmB;AACjBD,MAAAA,eAAe,CAACG,IAAhB,CAAqB,UAArB;AACD;;AACD,QAAI/D,KAAK,CAACvD,cAAN,IAAwB,CAAC2G,WAA7B,EAA0C;AACxCQ,MAAAA,eAAe,CAACG,IAAhB,CAAqB,iBAArB;AACD;;AACD,QAAIP,UAAU,CAACQ,SAAf,EAA0B;AACxBJ,MAAAA,eAAe,CAACG,IAAhB,CAAqBP,UAAU,CAACQ,SAAhC;AACD;;AAED,QAAMC,WAAW,GAAG,CAACb,WAAD,IAAgBpD,KAAK,CAACkE,cAAtB,GAChB;AAAEC,MAAAA,KAAK,EAAE;AACTC,QAAAA,SAAS,EAAEC,yCAAyB,CAAC,KAAKrE,KAAL,CAAWsE,KAAZ,EAAmB,KAAKtE,KAAL,CAAW8D,UAA9B,EAA0C,KAAK9D,KAAL,CAAWkE,cAArD;AAD3B;AAAT,KADgB,GAIhB,EAJJ;AAMA,QAAMK,MAAM,GAAG,CAAC,CAACvE,KAAK,CAACqB,OAAR,IAAmB,CAAC,MAAArB,KAAK,CAACsB,aAAN,UAAA,iBAAA,KAAA,GAAuB,CAAC,CAAzB,IAA8B,CAAjD,GACX,KAAKkD,iBAAL,EADW,GAEX,KAAKC,UAAL,EAFJ;AAIA,WACEnF,mBAAA,CAACgE,QAAD,eAAcE;AAAYQ,MAAAA,SAAS,EAAEJ,eAAe,CAACc,IAAhB,CAAqB,GAArB;AAA2BxE,MAAAA,GAAG,EAAE,UAACvD,CAAD;AACnEA,QAAAA,CAAC,KAAKoB,KAAI,CAAC+D,gBAAL,GAAwBnF,CAA7B,CAAD;AACD;MAFD,EAGE2C,mBAAA,CAACiE,MAAD;AAAQS,MAAAA,SAAS,EAAC;OAAsBC,YAAxC,EACIM,MADJ,CAHF,EAMI,KAAKI,gBAAL,EANJ,CADF;AAUD,GAnDM;;AAqDC,0BAAA,GAAR,UAAyB3E,KAAzB,EAA+CC,QAA/C;;;AACE,QAAMqB,aAAa,GAAG,MAAAtB,KAAK,CAACsB,aAAN,UAAA,iBAAA,KAAA,GAAuB,CAAC,CAA9C;AAEA,WAAOA,aAAa,GAAG,CAAhB,IAAqB,CAAC,CAACtB,KAAK,CAACqB,OAA7B,GACHuD,qBAAK,CAACtD,aAAa,GAAG,CAAjB,CAAL,CAAyBL,GAAzB,CAA6B;AAAM,aAAA3B,KAAK,CAACC,SAAN,EAAA;AAAiB,KAApD,CADG,GAEHU,QAAQ,CAACgB,GAAT,CAAa;AAAM,aAAA3B,KAAK,CAACC,SAAN,EAAA;AAAiB,KAApC,CAFJ;AAGD,GANO;;AAQA,qBAAA,GAAR;AAAA,oBAAA;;AACE,QAAMrB,QAAQ,GAAG,KAAKgE,gBAAtB;AACA,QAAMlC,KAAK,GAAG,KAAKA,KAAnB;AAEAR,IAAAA,MAAM,CAACqF,IAAP,CAAYC,sBAAZ,EAAoBC,OAApB,CAA4B,UAACC,QAAD;AAC1B,UAAMC,SAAS,GAAGH,sBAAM,CAACE,QAAD,CAAxB;AACA,UAAME,QAAQ,GAAG,QAAKD,SAAS,CAACE,MAAV,CAAiB,CAAjB,EAAoBC,WAApB,KAAoCH,SAAS,CAACI,KAAV,CAAgB,CAAhB,CAAzC,CAAjB;AAEAnH,MAAAA,QAAQ,CAACoH,EAAT,CAAYL,SAAZ,EAAuB,UAAAtI,CAAA;AACrBA,QAAAA,CAAC,CAAC4I,aAAF,GAAkBxH,KAAlB;AAEAiC,QAAAA,KAAK,CAACkF,QAAD,CAAL,CAAgBvI,CAAhB;AACD,OAJD;AAKD,KATD;AAWAuB,IAAAA,QAAQ,CAACU,IAAT,CAAckG,sBAAM,CAACU,KAArB,EAA4B;AAC1BzH,MAAAA,KAAI,CAACc,WAAL;AACD,KAFD;AAGD,GAlBO;;AAoBA,uBAAA,GAAR;AACE,QAAMX,QAAQ,GAAG,KAAKgE,gBAAtB;;AACM,QAAAnD,KAAqC,KAAKyD,cAAL,CAAoBS,MAApB,CAA2B,KAAKjD,KAAL,CAAWzD,OAAtC,CAArC;AAAA,QAAEkJ,IAAI,UAAN;AAAA,QAAQC,KAAK,WAAb;AAAA,QAAeC,OAAO,aAAtB;AAAA,QAAwBC,QAAQ,cAAhC;;AAEN1H,IAAAA,QAAQ,CAAC2H,UAAT,MAAA,CAAA3H,QAAA,EAAuBwH,KAAK,CAACzE,GAAN,CAAU,UAAA6E,KAAA;AAAS,aAAAL,IAAI,CAACK,KAAD,CAAJ;AAAW,KAA9B,CAAvB;AACA5H,IAAAA,QAAQ,CAAC6H,aAAT,MAAA,CAAA7H,QAAA,EAA0ByH,OAAO,CAAC1E,GAAR,CAAY,UAAA6E,KAAA;AAAS,aAAAF,QAAQ,CAACE,KAAD,CAAR;AAAe,KAApC,CAA1B;AACD,GANO;;AAQA,sBAAA,GAAR,UAAqB7F,QAArB;AAAA,oBAAA;;AAAqB,2BAAA,EAAA;AAAAA,MAAAA,WAA4B,KAAKD,KAAL,CAAWC,QAAvC;;;AACnB,WAAQX,KAAK,CAACQ,QAAN,CAAekG,OAAf,CAAuB/F,QAAvB,EACLgG,MADK,CACE,UAAAC,KAAA;AAAS,aAAAA,KAAK,CAACC,IAAN,KAAe9F,YAAf;AAA2B,KADtC,EAEL+F,MAFK,CAEE,UAACC,GAAD,EAAMH,KAAN;AACN,6CAAWG,YAAQtI,KAAI,CAACuI,eAAL,CAAqBJ,KAArB,QAAnB;AACD,KAJK,EAIH,EAJG,CAAR;AAKD,GANO;;AAQA,0BAAA,GAAR;AACE,WAAQ5G,KAAK,CAACQ,QAAN,CAAekG,OAAf,CAAuB,KAAKhG,KAAL,CAAWC,QAAlC,EACLgG,MADK,CACE,UAAAC,KAAA;AAAS,aAAAA,KAAK,CAACC,IAAN,KAAe9F,YAAf;AAA2B,KADtC,CAAR;AAED,GAHO;;AAKA,yBAAA,GAAR,UAAwB6F,KAAxB;AAAA,oBAAA;;AACE,WAAOK,kBAAU,CAACL,KAAD,CAAV,GACH5G,KAAK,CAACQ,QAAN,CAAekG,OAAf,CAAuBE,KAAK,CAAClG,KAAN,CAAYC,QAAnC,EACCmG,MADD,CACQ,UAACI,SAAD,EAAYC,SAAZ;AAA0B,6CAAID,kBAAczI,KAAI,CAACuI,eAAL,CAAqBG,SAArB,QAAlB;AAAkD,KADpF,EACsF,EADtF,CADG,GAGH,CAACP,KAAD,CAHJ;AAID,GALO;;AAOA,2BAAA,GAAR;AAAA,oBAAA;;AAEI,QAAAnH,KACE,KAAKiB,KAAL,CAAWqB,OAAX,WADF;AAAA,QAAAqF,UAAU,mBAAG,qBAAb;AAEF,QAAMpF,aAAa,GAAG,KAAKtB,KAAL,CAAWsB,aAAjC;AACA,QAAMpD,QAAQ,GAAG,KAAKgE,gBAAtB;AACA,QAAMkB,WAAW,GAAGlF,QAAQ,IAAIA,QAAQ,CAACkF,WAAzC;AAEA,QAAMuD,gBAAgB,GAAGvD,WAAW,GAChClF,QAAQ,CAAC8D,QAAT,CAAkB3D,QAAlB,CAA2BuI,0BAA3B,CAAsD1I,QAAtD,CADgC,GAEhC0G,qBAAK,CAACtD,aAAa,GAAG,CAAjB,CAFT;AAIA,QAAMuF,UAAU,GAAG3I,QAAQ,IAAIA,QAAQ,CAACqG,MAAT,CAAgB,CAAhB,CAA/B;AACA,QAAMuC,IAAI,GAAGD,UAAU,GACnB3I,QAAQ,CAAC4F,UAAT,GACE;AAAEiD,MAAAA,KAAK,EAAEF,UAAU,CAACC;AAApB,KADF,GAEE;AAAEE,MAAAA,MAAM,EAAEH,UAAU,CAACC;AAArB,KAHiB,GAInB,EAJJ;AAMA,WAAOH,gBAAgB,CAAC1F,GAAjB,CAAqB,UAAAgG,GAAA;AAC1B,aAAO3H,mBAAA,MAAA;AACLiD,QAAAA,GAAG,EAAE0E;8BACeA;AACpB/G,QAAAA,GAAG,EAAEnC,KAAI,CAACkB,OAAL,CAAagI,GAAb;AACLjD,QAAAA,SAAS,EAAE0C;AACXvC,QAAAA,KAAK,EAAE2C;OALF,CAAP;AAMD,KAPM,CAAP;AAQD,GA3BO;;AA6BA,oBAAA,GAAR;AAAA,oBAAA;;AACE,QAAMI,YAAY,GAAG,KAAKlG,YAAL,EAArB;;AACA,QAAMmG,eAAe,GAAG,KAAKjF,gBAA7B;AACA,QAAMgB,UAAU,GAAG,KAAKF,WAAxB;AAEA,QAAM/C,QAAQ,GAAGkH,eAAe,IAAIA,eAAe,CAAC/D,WAAnC,GACbF,UAAU,GACRkE,kCAAkB,CAACD,eAAD,EAAkBjE,UAAlB,CADV,GAERkE,kCAAkB,CAACD,eAAD,EAAkBE,eAAI,CAACH,YAAD,EAAeA,YAAf,CAAtB,CAHP,GAIbA,YAJJ;AAMA,WAAO,KAAKlH,KAAL,CAAWxD,cAAX,GACHyD,QAAQ,CAACgB,GAAT,CAAa,UAACiF,KAAD,EAAQe,GAAR;AAAgB,aAAA3H,mBAAA,CAACgI,cAAD;AAAgB/E,QAAAA,GAAG,EAAE2D,KAAK,CAAC3D;AAAMrC,QAAAA,GAAG,EAAEnC,KAAI,CAACkB,OAAL,CAAagI,GAAb;OAAtC,EAAiEf,KAAjE,CAAA;AAAwF,KAArH,CADG,GAEHjG,QAAQ,CAACgB,GAAT,CAAa,UAACiF,KAAD,EAAQe,GAAR;AAAgB,aAAA3H,mBAAA,CAACiI,WAAD;AAAahF,QAAAA,GAAG,EAAE2D,KAAK,CAAC3D;AAAMrC,QAAAA,GAAG,EAAEnC,KAAI,CAACkB,OAAL,CAAagI,GAAb;OAAnC,EAA8Df,KAA9D,CAAA;AAAkF,KAA/G,CAFJ;AAGD,GAdO;;AA9OMsB,EAAAA,qBAAA,GAA8BpL,aAA9B;;AAEOqL,EAAAA,YAApBC,qFAAoB;;AA2PvB,iBAAA;AA9PA,EAAuBpI,KAAK,CAACa;;ACpC7B;;;;AAOCqH,QAAgB,CAACnH,YAAjB,GAAgCA,YAAhC;;;;"}
1
+ {"version":3,"file":"flicking.cjs.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/index.umd.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", resolve);\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", resolve);\n reactFlicking.forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component {\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 {\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 from \"react\";\n\nconst ViewportSlot = React.memo(({ children }) => <>{children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ElementProvider {\n private _el: StrictPanel | NonStrictPanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return this._el.rendered; }\n\n public constructor(el: StrictPanel | NonStrictPanel) {\n this._el = el;\n }\n\n public show() {\n this._el.show();\n }\n\n public hide() {\n this._el.hide();\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nenum LifeCycleState {\n BEFORE_UPDATE,\n RENDER,\n UPDATED\n}\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _currentState: LifeCycleState = LifeCycleState.BEFORE_UPDATE;\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n this._panels = this._createPanelRefs(props, this._getChildren());\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n this._currentState = LifeCycleState.UPDATED;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: this[\"props\"]) {\n const props = this.props;\n\n if (this._currentState !== LifeCycleState.BEFORE_UPDATE && props.children !== nextProps.children) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n\n this._currentState = LifeCycleState.BEFORE_UPDATE;\n\n for (const key in nextProps) {\n if (props[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n\n this._currentState = LifeCycleState.UPDATED;\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n const flicking = this._vanillaFlicking;\n\n this._currentState = LifeCycleState.RENDER;\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className=\"flicking-camera\" {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n const props = this.props as Required<FlickingProps>;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n props[propName](e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n this.forceUpdate();\n });\n }\n\n private _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n private _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n private _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return this._isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds, fragChild) => [...allChilds, ...this._unpackFragment(fragChild)], [])\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 = 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: NonNullable<React.ReactNode>) {\n if ((child as React.ReactElement).type) {\n return (child as React.ReactElement).type === React.Fragment;\n }\n return child === React.Fragment;\n }\n}\n\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport Flicking from \"./Flicking\";\nimport ViewportSlot from \"./ViewportSlot\";\n\n(Flicking as any).ViewportSlot = ViewportSlot;\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","LifeCycleState","BEFORE_UPDATE","_createPanelRefs","_getChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_currentState","UPDATED","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","nextChildren","_diffResult","update","diffResult","trigger","initialized","sync","Viewport","Camera","attributes","RENDER","name","prototype","viewportClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","READY","list","added","removed","prevList","addPlugins","index","removePlugins","toArray","filter","child","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","idx","origChildren","vanillaFlicking","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__decorate","withFlickingMethods"],"mappings":"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"}
@@ -4,15 +4,14 @@ 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.4.1
7
+ version: 4.5.1
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, ExternalPanel, sync, getDefaultCameraTransform, range, EVENTS, getRenderingPanels, withFlickingMethods } from '@egjs/flicking';
13
+ import VanillaFlicking__default, { getFlickingAttached, ExternalRenderer, VirtualRenderingStrategy, NormalRenderingStrategy, sync, getDefaultCameraTransform, range, EVENTS, getRenderingPanels, withFlickingMethods } from '@egjs/flicking';
14
14
  export * from '@egjs/flicking';
15
- import { isFragment } from 'react-is';
16
15
  import { findDOMNode } from 'react-dom';
17
16
 
18
17
  /*! *****************************************************************************
@@ -501,16 +500,13 @@ function (_super) {
501
500
  var props = this.props;
502
501
  var rendererOptions = {
503
502
  reactFlicking: this,
503
+ align: props.align,
504
504
  strategy: props.virtual && props.panelsPerView > 0 ? new VirtualRenderingStrategy() : new NormalRenderingStrategy({
505
- providerCtor: ReactElementProvider,
506
- panelCtor: ExternalPanel
505
+ providerCtor: ReactElementProvider
507
506
  })
508
507
  };
509
508
  var flicking = new VanillaFlicking__default(this._viewportElement, __assign(__assign({}, props), {
510
- renderExternal: {
511
- renderer: ReactRenderer,
512
- rendererOptions: rendererOptions
513
- }
509
+ externalRenderer: new ReactRenderer(rendererOptions)
514
510
  }));
515
511
  this._vanillaFlicking = flicking;
516
512
  this._currentState = LifeCycleState.UPDATED;
@@ -640,7 +636,7 @@ function (_super) {
640
636
  var props = this.props;
641
637
  Object.keys(EVENTS).forEach(function (eventKey) {
642
638
  var eventName = EVENTS[eventKey];
643
- var propName = "on" + (eventName.charAt(0).toUpperCase() + eventName.slice(1));
639
+ var propName = "on".concat(eventName.charAt(0).toUpperCase() + eventName.slice(1));
644
640
  flicking.on(eventName, function (e) {
645
641
  e.currentTarget = _this;
646
642
  props[propName](e);
@@ -691,7 +687,7 @@ function (_super) {
691
687
  __proto._unpackFragment = function (child) {
692
688
  var _this = this;
693
689
 
694
- return isFragment(child) ? React.Children.toArray(child.props.children).reduce(function (allChilds, fragChild) {
690
+ return this._isFragment(child) ? React.Children.toArray(child.props.children).reduce(function (allChilds, fragChild) {
695
691
  return __spreadArray(__spreadArray([], allChilds, true), _this._unpackFragment(fragChild), true);
696
692
  }, []) : [child];
697
693
  };
@@ -743,6 +739,14 @@ function (_super) {
743
739
  });
744
740
  };
745
741
 
742
+ __proto._isFragment = function (child) {
743
+ if (child.type) {
744
+ return child.type === React.Fragment;
745
+ }
746
+
747
+ return child === React.Fragment;
748
+ };
749
+
746
750
  Flicking.defaultProps = DEFAULT_PROPS;
747
751
 
748
752
  __decorate([withFlickingMethods], Flicking.prototype, "_vanillaFlicking", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"flicking.esm.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/index.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", resolve);\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", resolve);\n reactFlicking.forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component {\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 {\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 from \"react\";\n\nconst ViewportSlot = React.memo(({ children }) => <>{children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ExternalElementProvider {\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 ExternalPanel\n} from \"@egjs/flicking\";\nimport { isFragment } from \"react-is\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nenum LifeCycleState {\n BEFORE_UPDATE,\n RENDER,\n UPDATED\n}\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _currentState: LifeCycleState = LifeCycleState.BEFORE_UPDATE;\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n this._panels = this._createPanelRefs(props, this._getChildren());\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider,\n panelCtor: ExternalPanel\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n ...{ renderExternal: {\n renderer: ReactRenderer,\n rendererOptions\n }}\n },\n );\n\n this._vanillaFlicking = flicking;\n this._currentState = LifeCycleState.UPDATED;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: this[\"props\"]) {\n const props = this.props;\n\n if (this._currentState !== LifeCycleState.BEFORE_UPDATE && props.children !== nextProps.children) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n\n this._currentState = LifeCycleState.BEFORE_UPDATE;\n\n for (const key in nextProps) {\n if (props[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n\n this._currentState = LifeCycleState.UPDATED;\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n const flicking = this._vanillaFlicking;\n\n this._currentState = LifeCycleState.RENDER;\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className=\"flicking-camera\" {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n const props = this.props as Required<FlickingProps>;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n props[propName](e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n this.forceUpdate();\n });\n }\n\n private _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n private _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n private _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds, fragChild) => [...allChilds, ...this._unpackFragment(fragChild)], [])\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 = 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\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport Flicking from \"./Flicking\";\nimport ViewportSlot from \"./ViewportSlot\";\n\nexport * from \"@egjs/flicking\";\nexport * from \"./types\";\n\nexport {\n ViewportSlot\n}\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","LifeCycleState","BEFORE_UPDATE","_createPanelRefs","_getChildren","map","panel","_renderEmitter","rendererOptions","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","panelCtor","ExternalPanel","VanillaFlicking","_viewportElement","renderExternal","renderer","ReactRenderer","_vanillaFlicking","_currentState","UPDATED","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","nextChildren","_diffResult","update","diffResult","trigger","initialized","sync","Viewport","Camera","attributes","RENDER","name","prototype","viewportClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","align","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","READY","list","added","removed","prevList","addPlugins","index","removePlugins","toArray","filter","child","type","reduce","all","_unpackFragment","isFragment","allChilds","fragChild","panelClass","renderingIndexes","getRenderingIndexesByOrder","firstPanel","size","width","height","idx","origChildren","vanillaFlicking","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Flicking","__decorate","withFlickingMethods"],"mappings":"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"}
1
+ {"version":3,"file":"flicking.esm.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/index.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", resolve);\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", resolve);\n reactFlicking.forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component {\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 {\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 from \"react\";\n\nconst ViewportSlot = React.memo(({ children }) => <>{children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ElementProvider {\n private _el: StrictPanel | NonStrictPanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return this._el.rendered; }\n\n public constructor(el: StrictPanel | NonStrictPanel) {\n this._el = el;\n }\n\n public show() {\n this._el.show();\n }\n\n public hide() {\n this._el.hide();\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nenum LifeCycleState {\n BEFORE_UPDATE,\n RENDER,\n UPDATED\n}\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _currentState: LifeCycleState = LifeCycleState.BEFORE_UPDATE;\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n this._panels = this._createPanelRefs(props, this._getChildren());\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n this._currentState = LifeCycleState.UPDATED;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: this[\"props\"]) {\n const props = this.props;\n\n if (this._currentState !== LifeCycleState.BEFORE_UPDATE && props.children !== nextProps.children) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n\n this._currentState = LifeCycleState.BEFORE_UPDATE;\n\n for (const key in nextProps) {\n if (props[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n\n this._currentState = LifeCycleState.UPDATED;\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n const flicking = this._vanillaFlicking;\n\n this._currentState = LifeCycleState.RENDER;\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className=\"flicking-camera\" {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n const props = this.props as Required<FlickingProps>;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n props[propName](e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n this.forceUpdate();\n });\n }\n\n private _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n private _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n private _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return this._isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds, fragChild) => [...allChilds, ...this._unpackFragment(fragChild)], [])\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 = 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: NonNullable<React.ReactNode>) {\n if ((child as React.ReactElement).type) {\n return (child as React.ReactElement).type === React.Fragment;\n }\n return child === React.Fragment;\n }\n}\n\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport Flicking from \"./Flicking\";\nimport ViewportSlot from \"./ViewportSlot\";\n\nexport * from \"@egjs/flicking\";\nexport * from \"./types\";\n\nexport {\n ViewportSlot\n}\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","LifeCycleState","BEFORE_UPDATE","_createPanelRefs","_getChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_currentState","UPDATED","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","nextChildren","_diffResult","update","diffResult","trigger","initialized","sync","Viewport","Camera","attributes","RENDER","name","prototype","viewportClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","READY","list","added","removed","prevList","addPlugins","index","removePlugins","toArray","filter","child","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","idx","origChildren","vanillaFlicking","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__decorate","withFlickingMethods"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@egjs/react-flicking",
3
- "version": "4.4.1",
3
+ "version": "4.5.1",
4
4
  "description": "Everyday 30 million people experience. It's reliable, flexible and extendable carousel.",
5
5
  "main": "dist/flicking.cjs.js",
6
6
  "module": "dist/flicking.esm.js",
@@ -16,9 +16,8 @@
16
16
  "eject": "react-scripts eject"
17
17
  },
18
18
  "dependencies": {
19
- "@egjs/flicking": "^4.4.0",
20
- "@egjs/list-differ": "^1.0.0",
21
- "react-is": "^17.0.2"
19
+ "@egjs/flicking": "~4.5.0",
20
+ "@egjs/list-differ": "^1.0.0"
22
21
  },
23
22
  "devDependencies": {
24
23
  "@egjs/build-helper": "0.0.5",
@@ -15,10 +15,8 @@ import VanillaFlicking, {
15
15
  getDefaultCameraTransform,
16
16
  Plugin,
17
17
  range,
18
- NormalRenderingStrategy,
19
- ExternalPanel
18
+ NormalRenderingStrategy
20
19
  } from "@egjs/flicking";
21
- import { isFragment } from "react-is";
22
20
 
23
21
  import { DEFAULT_PROPS } from "./consts";
24
22
  import { FlickingProps } from "./types";
@@ -59,11 +57,11 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
59
57
  const props = this.props as Required<FlickingProps & FlickingOptions>;
60
58
  const rendererOptions: ReactRendererOptions = {
61
59
  reactFlicking: this,
60
+ align: props.align,
62
61
  strategy: props.virtual && props.panelsPerView > 0
63
62
  ? new VirtualRenderingStrategy()
64
63
  : new NormalRenderingStrategy({
65
- providerCtor: ReactElementProvider,
66
- panelCtor: ExternalPanel
64
+ providerCtor: ReactElementProvider
67
65
  })
68
66
  };
69
67
 
@@ -71,10 +69,7 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
71
69
  this._viewportElement,
72
70
  {
73
71
  ...props,
74
- ...{ renderExternal: {
75
- renderer: ReactRenderer,
76
- rendererOptions
77
- }}
72
+ externalRenderer: new ReactRenderer(rendererOptions)
78
73
  },
79
74
  );
80
75
 
@@ -238,7 +233,7 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
238
233
  }
239
234
 
240
235
  private _unpackFragment(child: React.ReactElement) {
241
- return isFragment(child)
236
+ return this._isFragment(child)
242
237
  ? React.Children.toArray(child.props.children)
243
238
  .reduce((allChilds, fragChild) => [...allChilds, ...this._unpackFragment(fragChild)], [])
244
239
  : [child];
@@ -288,6 +283,13 @@ class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>
288
283
  ? children.map((child, idx) => <NonStrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</NonStrictPanel>)
289
284
  : children.map((child, idx) => <StrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</StrictPanel>)
290
285
  }
286
+
287
+ private _isFragment(child: NonNullable<React.ReactNode>) {
288
+ if ((child as React.ReactElement).type) {
289
+ return (child as React.ReactElement).type === React.Fragment;
290
+ }
291
+ return child === React.Fragment;
292
+ }
291
293
  }
292
294
 
293
295
  interface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }
@@ -2,11 +2,11 @@
2
2
  * Copyright (c) 2015 NAVER Corp.
3
3
  * egjs projects are licensed under the MIT license
4
4
  */
5
- import { ExternalElementProvider } from "@egjs/flicking";
5
+ import { ElementProvider } from "@egjs/flicking";
6
6
  import StrictPanel from "./StrictPanel";
7
7
  import NonStrictPanel from "./NonStrictPanel";
8
8
 
9
- class ReactElementProvider implements ExternalElementProvider {
9
+ class ReactElementProvider implements ElementProvider {
10
10
  private _el: StrictPanel | NonStrictPanel;
11
11
 
12
12
  public get element() { return this._el.nativeElement; }