}
+ >;
+
+ interface WeElement {
+ install?(): void;
+ installed?(): void;
+ uninstall?(): void;
+ beforeUpdate?(): void;
+ afterUpdate?(): void;
+ updated?(): void;
+ beforeRender?(): void;
+ receiveProps?(): void;
+ }
+
+ interface ModelView
{
+ install?(): void;
+ installed?(): void;
+ uninstall?(): void;
+ beforeUpdate?(): void;
+ afterUpdate?(): void;
+ updated?(): void;
+ beforeRender?(): void;
+ receiveProps?(): void;
+ }
+
+ interface Component
{
+ install?(): void;
+ installed?(): void;
+ uninstall?(): void;
+ beforeUpdate?(): void;
+ afterUpdate?(): void;
+ updated?(): void;
+ beforeRender?(): void;
+ receiveProps?(): void;
+ }
+
+ abstract class WeElement
{
+ constructor();
+
+ // Allow static members to reference class type parameters
+ // https://github.com/Microsoft/TypeScript/issues/24018
+ static props: object;
+ static data: object;
+ static observe: boolean;
+ static mergeUpdate: boolean;
+ static css: string;
+
+ props: RenderableProps
;
+ data: D;
+ host: HTMLElement;
+
+ update(): void;
+ fire(name: string, data?: object): void;
+
+ // Abstract methods don't infer argument types
+ // https://github.com/Microsoft/TypeScript/issues/14887
+ abstract render(props: RenderableProps
, data: D): void;
+ }
+
+ // The class type (not instance of class)
+ // https://stackoverflow.com/q/42753968/2777142
+ interface WeElementConstructor {
+ new(): WeElement;
+ }
+
+ abstract class ModelView
{
+ constructor();
+
+ // Allow static members to reference class type parameters
+ // https://github.com/Microsoft/TypeScript/issues/24018
+ static props: object;
+ static data: object;
+ static observe: boolean;
+ static mergeUpdate: boolean;
+
+ props: RenderableProps
;
+ data: D;
+ host: HTMLElement;
+
+ update(): void;
+ fire(name: string, data?: object): void;
+
+ // Abstract methods don't infer argument types
+ // https://github.com/Microsoft/TypeScript/issues/14887
+ abstract render(props: RenderableProps
, data: D): void;
+ }
+
+ abstract class Component
{
+ constructor();
+
+ // Allow static members to reference class type parameters
+ // https://github.com/Microsoft/TypeScript/issues/24018
+ static props: object;
+ static data: object;
+ static observe: boolean;
+ static mergeUpdate: boolean;
+ static css: string;
+
+ props: RenderableProps
;
+ data: D;
+ host: HTMLElement;
+
+ update(): void;
+ fire(name: string, data?: object): void;
+
+ // Abstract methods don't infer argument types
+ // https://github.com/Microsoft/TypeScript/issues/14887
+ abstract render(props: RenderableProps
, data: D): void;
+ }
+
+ function h
(
+ node: string,
+ params: Attributes & P | null,
+ ...children: ComponentChildren[]
+ ): VNode;
+ function h(
+ node: string,
+ params: JSX.HTMLAttributes & JSX.SVGAttributes & Record | null,
+ ...children: ComponentChildren[]
+ ): VNode;
+
+ function render(vnode: ComponentChild, parent: string | Element | Document | ShadowRoot | DocumentFragment, store?: object, empty?: boolean, merge?: string | Element | Document | ShadowRoot | DocumentFragment): void;
+
+ function define(name: string, ctor: WeElementConstructor): void;
+ function tag(name: string, pure?: boolean): (ctor: WeElementConstructor) => void;
+ function tick(callback: Callback, scope?: any): void;
+ function nextTick(callback: Callback, scope?: any): void;
+ function observe(target: WeElementConstructor): void;
+ function getHost(element: WeElement): WeElement;
+
+ var options: {
+ vnode?: (vnode: VNode) => void;
+ event?: (event: Event) => Event;
+ };
+}
+
+
+type Defaultize =
+ // Distribute over unions
+ Props extends any
+ ? // Make any properties included in Default optional
+ & Partial>>
+ // Include the remaining properties from Props
+ & Pick>
+ : never;
+
+declare global {
+ namespace JSX {
+ interface Element extends Omi.VNode {
+ }
+
+ interface ElementClass extends Omi.WeElement {
+ }
+
+ interface ElementClass extends Omi.Component {
+ }
+
+ interface ElementAttributesProperty {
+ props: any;
+ }
+
+ interface ElementChildrenAttribute {
+ children: any;
+ }
+
+ type LibraryManagedAttributes =
+ Component extends { defaultProps: infer Defaults }
+ ? Defaultize
+ : Props;
+
+ interface SVGAttributes extends HTMLAttributes {
+ accentHeight?: number | string;
+ accumulate?: "none" | "sum";
+ additive?: "replace" | "sum";
+ alignmentBaseline?: "auto" | "baseline" | "before-edge" | "text-before-edge" | "middle" | "central" | "after-edge" | "text-after-edge" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "inherit";
+ allowReorder?: "no" | "yes";
+ alphabetic?: number | string;
+ amplitude?: number | string;
+ arabicForm?: "initial" | "medial" | "terminal" | "isolated";
+ ascent?: number | string;
+ attributeName?: string;
+ attributeType?: string;
+ autoReverse?: number | string;
+ azimuth?: number | string;
+ baseFrequency?: number | string;
+ baselineShift?: number | string;
+ baseProfile?: number | string;
+ bbox?: number | string;
+ begin?: number | string;
+ bias?: number | string;
+ by?: number | string;
+ calcMode?: number | string;
+ capHeight?: number | string;
+ clip?: number | string;
+ clipPath?: string;
+ clipPathUnits?: number | string;
+ clipRule?: number | string;
+ colorInterpolation?: number | string;
+ colorInterpolationFilters?: "auto" | "sRGB" | "linearRGB" | "inherit";
+ colorProfile?: number | string;
+ colorRendering?: number | string;
+ contentScriptType?: number | string;
+ contentStyleType?: number | string;
+ cursor?: number | string;
+ cx?: number | string;
+ cy?: number | string;
+ d?: string;
+ decelerate?: number | string;
+ descent?: number | string;
+ diffuseConstant?: number | string;
+ direction?: number | string;
+ display?: number | string;
+ divisor?: number | string;
+ dominantBaseline?: number | string;
+ dur?: number | string;
+ dx?: number | string;
+ dy?: number | string;
+ edgeMode?: number | string;
+ elevation?: number | string;
+ enableBackground?: number | string;
+ end?: number | string;
+ exponent?: number | string;
+ externalResourcesRequired?: number | string;
+ fill?: string;
+ fillOpacity?: number | string;
+ fillRule?: "nonzero" | "evenodd" | "inherit";
+ filter?: string;
+ filterRes?: number | string;
+ filterUnits?: number | string;
+ floodColor?: number | string;
+ floodOpacity?: number | string;
+ focusable?: number | string;
+ fontFamily?: string;
+ fontSize?: number | string;
+ fontSizeAdjust?: number | string;
+ fontStretch?: number | string;
+ fontStyle?: number | string;
+ fontVariant?: number | string;
+ fontWeight?: number | string;
+ format?: number | string;
+ from?: number | string;
+ fx?: number | string;
+ fy?: number | string;
+ g1?: number | string;
+ g2?: number | string;
+ glyphName?: number | string;
+ glyphOrientationHorizontal?: number | string;
+ glyphOrientationVertical?: number | string;
+ glyphRef?: number | string;
+ gradientTransform?: string;
+ gradientUnits?: string;
+ hanging?: number | string;
+ horizAdvX?: number | string;
+ horizOriginX?: number | string;
+ ideographic?: number | string;
+ imageRendering?: number | string;
+ in2?: number | string;
+ in?: string;
+ intercept?: number | string;
+ k1?: number | string;
+ k2?: number | string;
+ k3?: number | string;
+ k4?: number | string;
+ k?: number | string;
+ kernelMatrix?: number | string;
+ kernelUnitLength?: number | string;
+ kerning?: number | string;
+ keyPoints?: number | string;
+ keySplines?: number | string;
+ keyTimes?: number | string;
+ lengthAdjust?: number | string;
+ letterSpacing?: number | string;
+ lightingColor?: number | string;
+ limitingConeAngle?: number | string;
+ local?: number | string;
+ markerEnd?: string;
+ markerHeight?: number | string;
+ markerMid?: string;
+ markerStart?: string;
+ markerUnits?: number | string;
+ markerWidth?: number | string;
+ mask?: string;
+ maskContentUnits?: number | string;
+ maskUnits?: number | string;
+ mathematical?: number | string;
+ mode?: number | string;
+ numOctaves?: number | string;
+ offset?: number | string;
+ opacity?: number | string;
+ operator?: number | string;
+ order?: number | string;
+ orient?: number | string;
+ orientation?: number | string;
+ origin?: number | string;
+ overflow?: number | string;
+ overlinePosition?: number | string;
+ overlineThickness?: number | string;
+ paintOrder?: number | string;
+ panose1?: number | string;
+ pathLength?: number | string;
+ patternContentUnits?: string;
+ patternTransform?: number | string;
+ patternUnits?: string;
+ pointerEvents?: number | string;
+ points?: string;
+ pointsAtX?: number | string;
+ pointsAtY?: number | string;
+ pointsAtZ?: number | string;
+ preserveAlpha?: number | string;
+ preserveAspectRatio?: string;
+ primitiveUnits?: number | string;
+ r?: number | string;
+ radius?: number | string;
+ refX?: number | string;
+ refY?: number | string;
+ renderingIntent?: number | string;
+ repeatCount?: number | string;
+ repeatDur?: number | string;
+ requiredExtensions?: number | string;
+ requiredFeatures?: number | string;
+ restart?: number | string;
+ result?: string;
+ rotate?: number | string;
+ rx?: number | string;
+ ry?: number | string;
+ scale?: number | string;
+ seed?: number | string;
+ shapeRendering?: number | string;
+ slope?: number | string;
+ spacing?: number | string;
+ specularConstant?: number | string;
+ specularExponent?: number | string;
+ speed?: number | string;
+ spreadMethod?: string;
+ startOffset?: number | string;
+ stdDeviation?: number | string;
+ stemh?: number | string;
+ stemv?: number | string;
+ stitchTiles?: number | string;
+ stopColor?: string;
+ stopOpacity?: number | string;
+ strikethroughPosition?: number | string;
+ strikethroughThickness?: number | string;
+ string?: number | string;
+ stroke?: string;
+ strokeDasharray?: string | number;
+ strokeDashoffset?: string | number;
+ strokeLinecap?: "butt" | "round" | "square" | "inherit";
+ strokeLinejoin?: "miter" | "round" | "bevel" | "inherit";
+ strokeMiterlimit?: string;
+ strokeOpacity?: number | string;
+ strokeWidth?: number | string;
+ surfaceScale?: number | string;
+ systemLanguage?: number | string;
+ tableValues?: number | string;
+ targetX?: number | string;
+ targetY?: number | string;
+ textAnchor?: string;
+ textDecoration?: number | string;
+ textLength?: number | string;
+ textRendering?: number | string;
+ to?: number | string;
+ transform?: string;
+ u1?: number | string;
+ u2?: number | string;
+ underlinePosition?: number | string;
+ underlineThickness?: number | string;
+ unicode?: number | string;
+ unicodeBidi?: number | string;
+ unicodeRange?: number | string;
+ unitsPerEm?: number | string;
+ vAlphabetic?: number | string;
+ values?: string;
+ vectorEffect?: number | string;
+ version?: string;
+ vertAdvY?: number | string;
+ vertOriginX?: number | string;
+ vertOriginY?: number | string;
+ vHanging?: number | string;
+ vIdeographic?: number | string;
+ viewBox?: string;
+ viewTarget?: number | string;
+ visibility?: number | string;
+ vMathematical?: number | string;
+ widths?: number | string;
+ wordSpacing?: number | string;
+ writingMode?: number | string;
+ x1?: number | string;
+ x2?: number | string;
+ x?: number | string;
+ xChannelSelector?: string;
+ xHeight?: number | string;
+ xlinkActuate?: string;
+ xlinkArcrole?: string;
+ xlinkHref?: string;
+ xlinkRole?: string;
+ xlinkShow?: string;
+ xlinkTitle?: string;
+ xlinkType?: string;
+ xmlBase?: string;
+ xmlLang?: string;
+ xmlns?: string;
+ xmlnsXlink?: string;
+ xmlSpace?: string;
+ y1?: number | string;
+ y2?: number | string;
+ y?: number | string;
+ yChannelSelector?: string;
+ z?: number | string;
+ zoomAndPan?: string;
+ }
+
+ interface PathAttributes {
+ d: string;
+ }
+
+ interface EventHandler {
+ (event: E): void;
+ }
+
+ type ClipboardEventHandler = EventHandler;
+ type CompositionEventHandler = EventHandler;
+ type DragEventHandler = EventHandler;
+ type FocusEventHandler = EventHandler;
+ type KeyboardEventHandler = EventHandler;
+ type MouseEventHandler = EventHandler;
+ type TouchEventHandler = EventHandler;
+ type UIEventHandler = EventHandler;
+ type WheelEventHandler = EventHandler;
+ type AnimationEventHandler = EventHandler;
+ type TransitionEventHandler = EventHandler;
+ type GenericEventHandler = EventHandler;
+ type PointerEventHandler = EventHandler;
+
+ interface DOMAttributes extends Omi.OmiDOMAttributes {
+ // Image Events
+ onLoad?: GenericEventHandler;
+ onError?: GenericEventHandler;
+ onLoadCapture?: GenericEventHandler;
+
+ // Clipboard Events
+ onCopy?: ClipboardEventHandler;
+ onCopyCapture?: ClipboardEventHandler;
+ onCut?: ClipboardEventHandler;
+ onCutCapture?: ClipboardEventHandler;
+ onPaste?: ClipboardEventHandler;
+ onPasteCapture?: ClipboardEventHandler;
+
+ // Composition Events
+ onCompositionEnd?: CompositionEventHandler;
+ onCompositionEndCapture?: CompositionEventHandler;
+ onCompositionStart?: CompositionEventHandler;
+ onCompositionStartCapture?: CompositionEventHandler;
+ onCompositionUpdate?: CompositionEventHandler;
+ onCompositionUpdateCapture?: CompositionEventHandler;
+
+ // Focus Events
+ onFocus?: FocusEventHandler;
+ onFocusCapture?: FocusEventHandler;
+ onBlur?: FocusEventHandler;
+ onBlurCapture?: FocusEventHandler;
+
+ // Form Events
+ onChange?: GenericEventHandler;
+ onChangeCapture?: GenericEventHandler;
+ onInput?: GenericEventHandler;
+ onInputCapture?: GenericEventHandler;
+ onSearch?: GenericEventHandler;
+ onSearchCapture?: GenericEventHandler;
+ onSubmit?: GenericEventHandler;
+ onSubmitCapture?: GenericEventHandler;
+
+ // Keyboard Events
+ onKeyDown?: KeyboardEventHandler;
+ onKeyDownCapture?: KeyboardEventHandler;
+ onKeyPress?: KeyboardEventHandler;
+ onKeyPressCapture?: KeyboardEventHandler;
+ onKeyUp?: KeyboardEventHandler;
+ onKeyUpCapture?: KeyboardEventHandler;
+
+ // Media Events
+ onAbort?: GenericEventHandler;
+ onAbortCapture?: GenericEventHandler;
+ onCanPlay?: GenericEventHandler;
+ onCanPlayCapture?: GenericEventHandler;
+ onCanPlayThrough?: GenericEventHandler;
+ onCanPlayThroughCapture?: GenericEventHandler;
+ onDurationChange?: GenericEventHandler;
+ onDurationChangeCapture?: GenericEventHandler;
+ onEmptied?: GenericEventHandler;
+ onEmptiedCapture?: GenericEventHandler;
+ onEncrypted?: GenericEventHandler;
+ onEncryptedCapture?: GenericEventHandler;
+ onEnded?: GenericEventHandler;
+ onEndedCapture?: GenericEventHandler;
+ onLoadedData?: GenericEventHandler;
+ onLoadedDataCapture?: GenericEventHandler;
+ onLoadedMetadata?: GenericEventHandler;
+ onLoadedMetadataCapture?: GenericEventHandler;
+ onLoadStart?: GenericEventHandler;
+ onLoadStartCapture?: GenericEventHandler;
+ onPause?: GenericEventHandler;
+ onPauseCapture?: GenericEventHandler;
+ onPlay?: GenericEventHandler;
+ onPlayCapture?: GenericEventHandler;
+ onPlaying?: GenericEventHandler;
+ onPlayingCapture?: GenericEventHandler;
+ onProgress?: GenericEventHandler;
+ onProgressCapture?: GenericEventHandler;
+ onRateChange?: GenericEventHandler;
+ onRateChangeCapture?: GenericEventHandler;
+ onSeeked?: GenericEventHandler;
+ onSeekedCapture?: GenericEventHandler;
+ onSeeking?: GenericEventHandler;
+ onSeekingCapture?: GenericEventHandler;
+ onStalled?: GenericEventHandler;
+ onStalledCapture?: GenericEventHandler;
+ onSuspend?: GenericEventHandler;
+ onSuspendCapture?: GenericEventHandler;
+ onTimeUpdate?: GenericEventHandler;
+ onTimeUpdateCapture?: GenericEventHandler;
+ onVolumeChange?: GenericEventHandler;
+ onVolumeChangeCapture?: GenericEventHandler;
+ onWaiting?: GenericEventHandler;
+ onWaitingCapture?: GenericEventHandler;
+
+ // MouseEvents
+ onClick?: MouseEventHandler;
+ onClickCapture?: MouseEventHandler;
+ onContextMenu?: MouseEventHandler;
+ onContextMenuCapture?: MouseEventHandler;
+ onDblClick?: MouseEventHandler;
+ onDblClickCapture?: MouseEventHandler;
+ onDrag?: DragEventHandler;
+ onDragCapture?: DragEventHandler;
+ onDragEnd?: DragEventHandler;
+ onDragEndCapture?: DragEventHandler;
+ onDragEnter?: DragEventHandler;
+ onDragEnterCapture?: DragEventHandler;
+ onDragExit?: DragEventHandler;
+ onDragExitCapture?: DragEventHandler;
+ onDragLeave?: DragEventHandler;
+ onDragLeaveCapture?: DragEventHandler;
+ onDragOver?: DragEventHandler;
+ onDragOverCapture?: DragEventHandler;
+ onDragStart?: DragEventHandler;
+ onDragStartCapture?: DragEventHandler;
+ onDrop?: DragEventHandler;
+ onDropCapture?: DragEventHandler;
+ onMouseDown?: MouseEventHandler;
+ onMouseDownCapture?: MouseEventHandler;
+ onMouseEnter?: MouseEventHandler;
+ onMouseEnterCapture?: MouseEventHandler;
+ onMouseLeave?: MouseEventHandler;
+ onMouseLeaveCapture?: MouseEventHandler;
+ onMouseMove?: MouseEventHandler;
+ onMouseMoveCapture?: MouseEventHandler;
+ onMouseOut?: MouseEventHandler;
+ onMouseOutCapture?: MouseEventHandler;
+ onMouseOver?: MouseEventHandler;
+ onMouseOverCapture?: MouseEventHandler;
+ onMouseUp?: MouseEventHandler;
+ onMouseUpCapture?: MouseEventHandler;
+
+ // Selection Events
+ onSelect?: GenericEventHandler;
+ onSelectCapture?: GenericEventHandler;
+
+ // Touch Events
+ onTouchCancel?: TouchEventHandler;
+ onTouchCancelCapture?: TouchEventHandler;
+ onTouchEnd?: TouchEventHandler;
+ onTouchEndCapture?: TouchEventHandler;
+ onTouchMove?: TouchEventHandler;
+ onTouchMoveCapture?: TouchEventHandler;
+ onTouchStart?: TouchEventHandler;
+ onTouchStartCapture?: TouchEventHandler;
+
+ // Pointer Events
+ onPointerOver?: PointerEventHandler;
+ onPointerOverCapture?: PointerEventHandler;
+ onPointerEnter?: PointerEventHandler;
+ onPointerEnterCapture?: PointerEventHandler;
+ onPointerDown?: PointerEventHandler;
+ onPointerDownCapture?: PointerEventHandler;
+ onPointerMove?: PointerEventHandler;
+ onPointerMoveCapture?: PointerEventHandler;
+ onPointerUp?: PointerEventHandler;
+ onPointerUpCapture?: PointerEventHandler;
+ onPointerCancel?: PointerEventHandler;
+ onPointerCancelCapture?: PointerEventHandler;
+ onPointerOut?: PointerEventHandler;
+ onPointerOutCapture?: PointerEventHandler;
+ onPointerLeave?: PointerEventHandler;
+ onPointerLeaveCapture?: PointerEventHandler;
+ onGotPointerCapture?: PointerEventHandler;
+ onGotPointerCaptureCapture?: PointerEventHandler;
+ onLostPointerCapture?: PointerEventHandler;
+ onLostPointerCaptureCapture?: PointerEventHandler;
+
+ // UI Events
+ onScroll?: UIEventHandler;
+ onScrollCapture?: UIEventHandler;
+
+ // Wheel Events
+ onWheel?: WheelEventHandler;
+ onWheelCapture?: WheelEventHandler;
+
+ // Animation Events
+ onAnimationStart?: AnimationEventHandler;
+ onAnimationStartCapture?: AnimationEventHandler;
+ onAnimationEnd?: AnimationEventHandler;
+ onAnimationEndCapture?: AnimationEventHandler;
+ onAnimationIteration?: AnimationEventHandler;
+ onAnimationIterationCapture?: AnimationEventHandler;
+
+ // Transition Events
+ onTransitionEnd?: TransitionEventHandler;
+ onTransitionEndCapture?: TransitionEventHandler;
+ }
+
+ interface HTMLAttributes extends Omi.ClassAttributes, DOMAttributes {
+ // Standard HTML Attributes
+ accept?: string;
+ acceptCharset?: string;
+ accessKey?: string;
+ action?: string;
+ allowFullScreen?: boolean;
+ allowTransparency?: boolean;
+ alt?: string;
+ async?: boolean;
+ autocomplete?: string;
+ autofocus?: boolean;
+ autoPlay?: boolean;
+ capture?: boolean;
+ cellPadding?: number | string;
+ cellSpacing?: number | string;
+ charSet?: string;
+ challenge?: string;
+ checked?: boolean;
+ class?: string;
+ className?: string;
+ cols?: number;
+ colSpan?: number;
+ content?: string;
+ contentEditable?: boolean;
+ contextMenu?: string;
+ controls?: boolean;
+ controlsList?: string;
+ coords?: string;
+ crossOrigin?: string;
+ data?: string;
+ dateTime?: string;
+ default?: boolean;
+ defer?: boolean;
+ dir?: string;
+ disabled?: boolean;
+ download?: any;
+ draggable?: boolean;
+ encType?: string;
+ form?: string;
+ formAction?: string;
+ formEncType?: string;
+ formMethod?: string;
+ formNoValidate?: boolean;
+ formTarget?: string;
+ frameBorder?: number | string;
+ headers?: string;
+ height?: number | string;
+ hidden?: boolean;
+ high?: number;
+ href?: string;
+ hrefLang?: string;
+ for?: string;
+ httpEquiv?: string;
+ icon?: string;
+ id?: string;
+ inputMode?: string;
+ integrity?: string;
+ is?: string;
+ keyParams?: string;
+ keyType?: string;
+ kind?: string;
+ label?: string;
+ lang?: string;
+ list?: string;
+ loop?: boolean;
+ low?: number;
+ manifest?: string;
+ marginHeight?: number;
+ marginWidth?: number;
+ max?: number | string;
+ maxLength?: number;
+ media?: string;
+ mediaGroup?: string;
+ method?: string;
+ min?: number | string;
+ minLength?: number;
+ multiple?: boolean;
+ muted?: boolean;
+ name?: string;
+ noValidate?: boolean;
+ open?: boolean;
+ optimum?: number;
+ pattern?: string;
+ placeholder?: string;
+ playsInline?: boolean;
+ poster?: string;
+ preload?: string;
+ radioGroup?: string;
+ readOnly?: boolean;
+ rel?: string;
+ required?: boolean;
+ role?: string;
+ rows?: number;
+ rowSpan?: number;
+ sandbox?: string;
+ scope?: string;
+ scoped?: boolean;
+ scrolling?: string;
+ seamless?: boolean;
+ selected?: boolean;
+ shape?: string;
+ size?: number;
+ sizes?: string;
+ slot?: string;
+ span?: number;
+ spellcheck?: boolean;
+ src?: string;
+ srcset?: string;
+ srcDoc?: string;
+ srcLang?: string;
+ srcSet?: string;
+ start?: number;
+ step?: number | string;
+ style?: any;
+ summary?: string;
+ tabIndex?: number;
+ target?: string;
+ title?: string;
+ type?: string;
+ useMap?: string;
+ value?: string | string[] | number;
+ width?: number | string;
+ wmode?: string;
+ wrap?: string;
+
+ // RDFa Attributes
+ about?: string;
+ datatype?: string;
+ inlist?: any;
+ prefix?: string;
+ property?: string;
+ resource?: string;
+ typeof?: string;
+ vocab?: string;
+ }
+
+ interface IntrinsicElements {
+ // HTML
+ a: HTMLAttributes;
+ abbr: HTMLAttributes;
+ address: HTMLAttributes;
+ area: HTMLAttributes;
+ article: HTMLAttributes;
+ aside: HTMLAttributes;
+ audio: HTMLAttributes;
+ b: HTMLAttributes;
+ base: HTMLAttributes;
+ bdi: HTMLAttributes;
+ bdo: HTMLAttributes;
+ big: HTMLAttributes;
+ blockquote: HTMLAttributes;
+ body: HTMLAttributes;
+ br: HTMLAttributes;
+ button: HTMLAttributes;
+ canvas: HTMLAttributes;
+ caption: HTMLAttributes;
+ cite: HTMLAttributes;
+ code: HTMLAttributes;
+ col: HTMLAttributes;
+ colgroup: HTMLAttributes;
+ data: HTMLAttributes;
+ datalist: HTMLAttributes;
+ dd: HTMLAttributes;
+ del: HTMLAttributes;
+ details: HTMLAttributes;
+ dfn: HTMLAttributes;
+ dialog: HTMLAttributes;
+ div: HTMLAttributes;
+ dl: HTMLAttributes;
+ dt: HTMLAttributes;
+ em: HTMLAttributes;
+ embed: HTMLAttributes;
+ fieldset: HTMLAttributes;
+ figcaption: HTMLAttributes;
+ figure: HTMLAttributes;
+ footer: HTMLAttributes;
+ form: HTMLAttributes;
+ h1: HTMLAttributes;
+ h2: HTMLAttributes;
+ h3: HTMLAttributes;
+ h4: HTMLAttributes;
+ h5: HTMLAttributes;
+ h6: HTMLAttributes;
+ head: HTMLAttributes;
+ header: HTMLAttributes;
+ hr: HTMLAttributes;
+ html: HTMLAttributes;
+ i: HTMLAttributes;
+ iframe: HTMLAttributes;
+ img: HTMLAttributes;
+ input: HTMLAttributes;
+ ins: HTMLAttributes;
+ kbd: HTMLAttributes;
+ keygen: HTMLAttributes;
+ label: HTMLAttributes;
+ legend: HTMLAttributes;
+ li: HTMLAttributes;
+ link: HTMLAttributes;
+ main: HTMLAttributes;
+ map: HTMLAttributes;
+ mark: HTMLAttributes;
+ menu: HTMLAttributes;
+ menuitem: HTMLAttributes;
+ meta: HTMLAttributes;
+ meter: HTMLAttributes;
+ nav: HTMLAttributes;
+ noscript: HTMLAttributes;
+ object: HTMLAttributes;
+ ol: HTMLAttributes;
+ optgroup: HTMLAttributes;
+ option: HTMLAttributes;
+ output: HTMLAttributes;
+ p: HTMLAttributes;
+ param: HTMLAttributes;
+ picture: HTMLAttributes;
+ pre: HTMLAttributes;
+ progress: HTMLAttributes;
+ q: HTMLAttributes;
+ rp: HTMLAttributes;
+ rt: HTMLAttributes;
+ ruby: HTMLAttributes;
+ s: HTMLAttributes;
+ samp: HTMLAttributes;
+ script: HTMLAttributes;
+ section: HTMLAttributes;
+ select: HTMLAttributes;
+ slot: HTMLAttributes;
+ small: HTMLAttributes;
+ source: HTMLAttributes;
+ span: HTMLAttributes;
+ strong: HTMLAttributes;
+ style: HTMLAttributes;
+ sub: HTMLAttributes;
+ summary: HTMLAttributes;
+ sup: HTMLAttributes;
+ table: HTMLAttributes;
+ tbody: HTMLAttributes;
+ td: HTMLAttributes;
+ textarea: HTMLAttributes;
+ tfoot: HTMLAttributes;
+ th: HTMLAttributes;
+ thead: HTMLAttributes;
+ time: HTMLAttributes;
+ title: HTMLAttributes;
+ tr: HTMLAttributes;
+ track: HTMLAttributes;
+ u: HTMLAttributes;
+ ul: HTMLAttributes;
+ "var": HTMLAttributes;
+ video: HTMLAttributes;
+ wbr: HTMLAttributes;
+
+ //SVG
+ svg: SVGAttributes;
+ animate: SVGAttributes;
+ circle: SVGAttributes;
+ clipPath: SVGAttributes;
+ defs: SVGAttributes;
+ ellipse: SVGAttributes;
+ feBlend: SVGAttributes;
+ feColorMatrix: SVGAttributes;
+ feComponentTransfer: SVGAttributes;
+ feComposite: SVGAttributes;
+ feConvolveMatrix: SVGAttributes;
+ feDiffuseLighting: SVGAttributes;
+ feDisplacementMap: SVGAttributes;
+ feFlood: SVGAttributes;
+ feGaussianBlur: SVGAttributes;
+ feImage: SVGAttributes;
+ feMerge: SVGAttributes;
+ feMergeNode: SVGAttributes;
+ feMorphology: SVGAttributes;
+ feOffset: SVGAttributes;
+ feSpecularLighting: SVGAttributes;
+ feTile: SVGAttributes;
+ feTurbulence: SVGAttributes;
+ filter: SVGAttributes;
+ foreignObject: SVGAttributes;
+ g: SVGAttributes;
+ image: SVGAttributes;
+ line: SVGAttributes;
+ linearGradient: SVGAttributes;
+ marker: SVGAttributes;
+ mask: SVGAttributes;
+ path: SVGAttributes;
+ pattern: SVGAttributes;
+ polygon: SVGAttributes;
+ polyline: SVGAttributes;
+ radialGradient: SVGAttributes;
+ rect: SVGAttributes;
+ stop: SVGAttributes;
+ symbol: SVGAttributes;
+ text: SVGAttributes;
+ tspan: SVGAttributes;
+ use: SVGAttributes;
+ [tagName: string]: any;
+ }
+ }
+}
diff --git a/packages/omip/my-app-ts/src/libs/omip-h5/omi.dev.js b/packages/omip/my-app-ts/src/libs/omip-h5/omi.dev.js
new file mode 100644
index 000000000..edc97d05d
--- /dev/null
+++ b/packages/omip/my-app-ts/src/libs/omip-h5/omi.dev.js
@@ -0,0 +1,2051 @@
+/**
+ * omi v1.3.8 http://omijs.org
+ * Omi === Preact + Scoped CSS + Store System + Native Support in 3kb javascript.
+ * By dntzhang https://github.com/dntzhang
+ * Github: https://github.com/Tencent/omi
+ * MIT Licensed.
+ */
+
+(function () {
+ 'use strict';
+
+ /** Virtual DOM Node */
+ function VNode() {}
+
+ function getGlobal() {
+ if (typeof global !== 'object' || !global || global.Math !== Math || global.Array !== Array) {
+ if (typeof self !== 'undefined') {
+ return self;
+ } else if (typeof window !== 'undefined') {
+ return window;
+ } else if (typeof global !== 'undefined') {
+ return global;
+ }
+ return function () {
+ return this;
+ }();
+ }
+ return global;
+ }
+
+ /** Global options
+ * @public
+ * @namespace options {Object}
+ */
+ var options = {
+ scopedStyle: true,
+ mapping: {},
+ isWeb: true,
+ staticStyleMapping: {},
+ doc: typeof document === 'object' ? document : null,
+ root: getGlobal(),
+ //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]
+ styleCache: []
+ //componentChange(component, element) { },
+ /** If `true`, `prop` changes trigger synchronous component updates.
+ * @name syncComponentUpdates
+ * @type Boolean
+ * @default true
+ */
+ //syncComponentUpdates: true,
+
+ /** Processes all created VNodes.
+ * @param {VNode} vnode A newly-created VNode to normalize/process
+ */
+ //vnode(vnode) { }
+
+ /** Hook invoked after a component is mounted. */
+ //afterMount(component) { },
+
+ /** Hook invoked after the DOM is updated with a component's latest render. */
+ //afterUpdate(component) { }
+
+ /** Hook invoked immediately before a component is unmounted. */
+ // beforeUnmount(component) { }
+ };
+
+ var stack = [];
+
+ var EMPTY_CHILDREN = [];
+
+ /**
+ * JSX/hyperscript reviver.
+ * @see http://jasonformat.com/wtf-is-jsx
+ * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0
+ *
+ * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.
+ *
+ * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation
+ * of the structure of a DOM tree. This structure can be realized by recursively comparing it against
+ * the current _actual_ DOM structure, and applying only the differences.
+ *
+ * `h()`/`createElement()` accepts an element name, a list of attributes/props,
+ * and optionally children to append to the element.
+ *
+ * @example The following DOM tree
+ *
+ * `Hello!
`
+ *
+ * can be constructed using this function as:
+ *
+ * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`
+ *
+ * @param {string} nodeName An element name. Ex: `div`, `a`, `span`, etc.
+ * @param {Object} attributes Any attributes/props to set on the created element.
+ * @param rest Additional arguments are taken to be children to append. Can be infinitely nested Arrays.
+ *
+ * @public
+ */
+ function h(nodeName, attributes) {
+ var children = EMPTY_CHILDREN,
+ lastSimple,
+ child,
+ simple,
+ i;
+ for (i = arguments.length; i-- > 2;) {
+ stack.push(arguments[i]);
+ }
+ if (attributes && attributes.children != null) {
+ if (!stack.length) stack.push(attributes.children);
+ delete attributes.children;
+ }
+ while (stack.length) {
+ if ((child = stack.pop()) && child.pop !== undefined) {
+ for (i = child.length; i--;) {
+ stack.push(child[i]);
+ }
+ } else {
+ if (typeof child === 'boolean') child = null;
+
+ if (simple = typeof nodeName !== 'function') {
+ if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false;
+ }
+
+ if (simple && lastSimple) {
+ children[children.length - 1] += child;
+ } else if (children === EMPTY_CHILDREN) {
+ children = [child];
+ } else {
+ children.push(child);
+ }
+
+ lastSimple = simple;
+ }
+ }
+
+ var p = new VNode();
+ p.nodeName = nodeName;
+ p.children = children;
+ p.attributes = attributes == null ? undefined : attributes;
+ p.key = attributes == null ? undefined : attributes.key;
+
+ // if a "vnode hook" is defined, pass every created VNode to it
+ if (options.vnode !== undefined) options.vnode(p);
+
+ return p;
+ }
+
+ /* eslint-disable no-unused-vars */
+
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
+
+ function toObject(val) {
+ if (val === null || val === undefined) {
+ throw new TypeError('Object.assign cannot be called with null or undefined');
+ }
+
+ return Object(val);
+ }
+
+ function assign(target, source) {
+ var from;
+ var to = toObject(target);
+ var symbols;
+
+ for (var s = 1; s < arguments.length; s++) {
+ from = Object(arguments[s]);
+
+ for (var key in from) {
+ if (hasOwnProperty.call(from, key)) {
+ to[key] = from[key];
+ }
+ }
+
+ if (getOwnPropertySymbols) {
+ symbols = getOwnPropertySymbols(from);
+ for (var i = 0; i < symbols.length; i++) {
+ if (propIsEnumerable.call(from, symbols[i])) {
+ to[symbols[i]] = from[symbols[i]];
+ }
+ }
+ }
+ }
+
+ return to;
+ }
+
+ if (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {
+ var runListeners = function runListeners(oEvent) {
+ if (!oEvent) {
+ oEvent = window.event;
+ }
+ for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) {
+ oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent);
+ }
+ break;
+ }
+ }
+ };
+
+ var oListeners = {};
+
+ Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {
+ if (oListeners.hasOwnProperty(sEventType)) {
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;break;
+ }
+ }
+ if (nElIdx === -1) {
+ oEvtListeners.aEls.push(this);
+ oEvtListeners.aEvts.push([fListener]);
+ this["on" + sEventType] = runListeners;
+ } else {
+ var aElListeners = oEvtListeners.aEvts[nElIdx];
+ if (this["on" + sEventType] !== runListeners) {
+ aElListeners.splice(0);
+ this["on" + sEventType] = runListeners;
+ }
+ for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {
+ if (aElListeners[iLstId] === fListener) {
+ return;
+ }
+ }
+ aElListeners.push(fListener);
+ }
+ } else {
+ oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };
+ this["on" + sEventType] = runListeners;
+ }
+ };
+ Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {
+ if (!oListeners.hasOwnProperty(sEventType)) {
+ return;
+ }
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;break;
+ }
+ }
+ if (nElIdx === -1) {
+ return;
+ }
+ for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {
+ if (aElListeners[iLstId] === fListener) {
+ aElListeners.splice(iLstId, 1);
+ }
+ }
+ };
+ }
+
+ if (typeof Object.create !== 'function') {
+ Object.create = function (proto, propertiesObject) {
+ if (typeof proto !== 'object' && typeof proto !== 'function') {
+ throw new TypeError('Object prototype may only be an Object: ' + proto);
+ } else if (proto === null) {
+ throw new Error("This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.");
+ }
+
+ // if (typeof propertiesObject != 'undefined') {
+ // throw new Error("This browser's implementation of Object.create is a shim and doesn't support a second argument.");
+ // }
+
+ function F() {}
+ F.prototype = proto;
+
+ return new F();
+ };
+ }
+
+ if (!String.prototype.trim) {
+ String.prototype.trim = function () {
+ return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
+ };
+ }
+
+ /**
+ * Copy all properties from `props` onto `obj`.
+ * @param {Object} obj Object onto which properties should be copied.
+ * @param {Object} props Object from which to copy properties.
+ * @returns obj
+ * @private
+ */
+ function extend(obj, props) {
+ for (var i in props) {
+ obj[i] = props[i];
+ }return obj;
+ }
+
+ /** Invoke or update a ref, depending on whether it is a function or object ref.
+ * @param {object|function} [ref=null]
+ * @param {any} [value]
+ */
+ function applyRef(ref, value) {
+ if (ref) {
+ if (typeof ref == 'function') ref(value);else ref.current = value;
+ }
+ }
+
+ /**
+ * Call a function asynchronously, as soon as possible. Makes
+ * use of HTML Promise to schedule the callback if available,
+ * otherwise falling back to `setTimeout` (mainly for IE<11).
+ *
+ * @param {Function} callback
+ */
+
+ var usePromise = typeof Promise == 'function';
+
+ // for native
+ if (typeof document !== 'object' && typeof global !== 'undefined' && global.__config__) {
+ if (global.__config__.platform === 'android') {
+ usePromise = true;
+ } else {
+ var systemVersion = global.__config__.systemVersion && global.__config__.systemVersion.split('.')[0] || 0;
+ if (systemVersion > 8) {
+ usePromise = true;
+ }
+ }
+ }
+
+ var defer = usePromise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;
+
+ function isArray(obj) {
+ return Object.prototype.toString.call(obj) === '[object Array]';
+ }
+
+ function nProps(props) {
+ if (!props || isArray(props)) return {};
+ var result = {};
+ Object.keys(props).forEach(function (key) {
+ result[key] = props[key].value;
+ });
+ return result;
+ }
+
+ /**
+ * Clones the given VNode, optionally adding attributes/props and replacing its children.
+ * @param {VNode} vnode The virtual DOM element to clone
+ * @param {Object} props Attributes/props to add when cloning
+ * @param {VNode} rest Any additional arguments will be used as replacement children.
+ */
+ function cloneElement(vnode, props) {
+ return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);
+ }
+
+ // DOM properties that should NOT have "px" added when numeric
+ var IS_NON_DIMENSIONAL$1 = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;
+
+ /** Managed queue of dirty components to be re-rendered */
+
+ var items = [];
+
+ function enqueueRender(component) {
+ if (items.push(component) == 1) {
+ (options.debounceRendering || defer)(rerender);
+ }
+ }
+
+ /** Rerender all enqueued dirty components */
+ function rerender() {
+ var p;
+ while (p = items.pop()) {
+ renderComponent(p);
+ }
+ }
+
+ var mapping = options.mapping;
+ /**
+ * Check if two nodes are equivalent.
+ *
+ * @param {Node} node DOM Node to compare
+ * @param {VNode} vnode Virtual DOM node to compare
+ * @param {boolean} [hydrating=false] If true, ignores component constructors when comparing.
+ * @private
+ */
+ function isSameNodeType(node, vnode, hydrating) {
+ if (typeof vnode === 'string' || typeof vnode === 'number') {
+ return node.splitText !== undefined;
+ }
+ if (typeof vnode.nodeName === 'string') {
+ var ctor = mapping[vnode.nodeName];
+ if (ctor) {
+ return hydrating || node._componentConstructor === ctor;
+ }
+ return !node._componentConstructor && isNamedNode(node, vnode.nodeName);
+ }
+ return hydrating || node._componentConstructor === vnode.nodeName;
+ }
+
+ /**
+ * Check if an Element has a given nodeName, case-insensitively.
+ *
+ * @param {Element} node A DOM Element to inspect the name of.
+ * @param {String} nodeName Unnormalized name to compare against.
+ */
+ function isNamedNode(node, nodeName) {
+ return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();
+ }
+
+ /**
+ * Reconstruct Component-style `props` from a VNode.
+ * Ensures default/fallback values from `defaultProps`:
+ * Own-properties of `defaultProps` not present in `vnode.attributes` are added.
+ *
+ * @param {VNode} vnode
+ * @returns {Object} props
+ */
+ function getNodeProps(vnode) {
+ var props = extend({}, vnode.attributes);
+ props.children = vnode.children;
+
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (defaultProps !== undefined) {
+ for (var i in defaultProps) {
+ if (props[i] === undefined) {
+ props[i] = defaultProps[i];
+ }
+ }
+ }
+
+ return props;
+ }
+
+ /** Create an element with the given nodeName.
+ * @param {String} nodeName
+ * @param {Boolean} [isSvg=false] If `true`, creates an element within the SVG namespace.
+ * @returns {Element} node
+ */
+ function createNode(nodeName, isSvg) {
+ var node = isSvg ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName) : options.doc.createElement(nodeName);
+ node.normalizedNodeName = nodeName;
+ return node;
+ }
+
+ function parseCSSText(cssText) {
+ var cssTxt = cssText.replace(/\/\*(.|\s)*?\*\//g, ' ').replace(/\s+/g, ' ');
+ var style = {},
+ _ref = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt],
+ a = _ref[0],
+ b = _ref[1],
+ rule = _ref[2];
+
+ var cssToJs = function cssToJs(s) {
+ return s.replace(/\W+\w/g, function (match) {
+ return match.slice(-1).toUpperCase();
+ });
+ };
+ var properties = rule.split(';').map(function (o) {
+ return o.split(':').map(function (x) {
+ return x && x.trim();
+ });
+ });
+ for (var i = properties, i = Array.isArray(i), i = 0, i = i ? i : i[Symbol.iterator]();;) {
+ var _ref3;
+
+ if (i) {
+ if (i >= i.length) break;
+ _ref3 = i[i++];
+ } else {
+ i = i.next();
+ if (i.done) break;
+ _ref3 = i.value;
+ }
+
+ var _ref2 = _ref3;
+ var property = _ref2[0];
+ var value = _ref2[1];
+ style[cssToJs(property)] = value;
+ }return style;
+ }
+
+ /** Remove a child node from its parent if attached.
+ * @param {Element} node The node to remove
+ */
+ function removeNode(node) {
+ var parentNode = node.parentNode;
+ if (parentNode) parentNode.removeChild(node);
+ }
+
+ /** Set a named attribute on the given Node, with special behavior for some names and event handlers.
+ * If `value` is `null`, the attribute/handler will be removed.
+ * @param {Element} node An element to mutate
+ * @param {string} name The name/key to set, such as an event or attribute name
+ * @param {any} old The last value that was set for this name/node pair
+ * @param {any} value An attribute value, such as a function to be used as an event handler
+ * @param {Boolean} isSvg Are we currently diffing inside an svg?
+ * @private
+ */
+ function setAccessor(node, name, old, value, isSvg) {
+ if (name === 'className') name = 'class';
+
+ if (name === 'key') {
+ // ignore
+ } else if (name === 'ref') {
+ applyRef(old, null);
+ applyRef(value, node);
+ } else if (name === 'class' && !isSvg) {
+ node.className = value || '';
+ } else if (name === 'style') {
+ if (options.isWeb) {
+ if (!value || typeof value === 'string' || typeof old === 'string') {
+ node.style.cssText = value || '';
+ }
+ if (value && typeof value === 'object') {
+ if (typeof old !== 'string') {
+ for (var i in old) {
+ if (!(i in value)) node.style[i] = '';
+ }
+ }
+ for (var i in value) {
+ node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL$1.test(i) === false ? value[i] + 'px' : value[i];
+ }
+ }
+ } else {
+ var oldJson = old,
+ currentJson = value;
+ if (typeof old === 'string') {
+ oldJson = parseCSSText(old);
+ }
+ if (typeof value == 'string') {
+ currentJson = parseCSSText(value);
+ }
+
+ var result = {},
+ changed = false;
+
+ if (oldJson) {
+ for (var key in oldJson) {
+ if (typeof currentJson == 'object' && !(key in currentJson)) {
+ result[key] = '';
+ changed = true;
+ }
+ }
+
+ for (var ckey in currentJson) {
+ if (currentJson[ckey] !== oldJson[ckey]) {
+ result[ckey] = currentJson[ckey];
+ changed = true;
+ }
+ }
+
+ if (changed) {
+ node.setStyles(result);
+ }
+ } else {
+ node.setStyles(currentJson);
+ }
+ }
+ } else if (name === 'dangerouslySetInnerHTML') {
+ if (value) node.innerHTML = value.__html || '';
+ } else if (name[0] == 'o' && name[1] == 'n') {
+ var useCapture = name !== (name = name.replace(/Capture$/, ''));
+ name = name.toLowerCase().substring(2);
+ if (value) {
+ if (!old) {
+ node.addEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.addEventListener('touchstart', touchStart, useCapture);
+ node.addEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ } else {
+ node.removeEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.removeEventListener('touchstart', touchStart, useCapture);
+ node.removeEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ (node._listeners || (node._listeners = {}))[name] = value;
+ } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {
+ setProperty(node, name, value == null ? '' : value);
+ if (value == null || value === false) node.removeAttribute(name);
+ } else {
+ var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));
+ if (value == null || value === false) {
+ if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.removeAttribute(name);
+ } else if (typeof value !== 'function') {
+ if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);else node.setAttribute(name, value);
+ }
+ }
+ }
+
+ /** Attempt to set a DOM property to the given value.
+ * IE & FF throw for certain property-value combinations.
+ */
+ function setProperty(node, name, value) {
+ try {
+ node[name] = value;
+ } catch (e) {}
+ }
+
+ /** Proxy an event to hooked event handlers
+ * @private
+ */
+ function eventProxy(e) {
+ return this._listeners[e.type](options.event && options.event(e) || e);
+ }
+
+ function touchStart(e) {
+ this.___touchX = e.touches[0].pageX;
+ this.___touchY = e.touches[0].pageY;
+ this.___scrollTop = document.body.scrollTop;
+ }
+
+ function touchEnd(e) {
+ if (Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 && Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 && Math.abs(document.body.scrollTop - this.___scrollTop) < 30) {
+ this.dispatchEvent(new CustomEvent('tap', { detail: e }));
+ }
+ }
+
+ var styleId = 0;
+
+ function getCtorName(ctor) {
+ for (var i = 0, len = options.styleCache.length; i < len; i++) {
+ var item = options.styleCache[i];
+
+ if (item.ctor === ctor) {
+ return item.attrName;
+ }
+ }
+
+ var attrName = 's' + styleId;
+ options.styleCache.push({ ctor: ctor, attrName: attrName });
+ styleId++;
+
+ return attrName;
+ }
+
+ // many thanks to https://github.com/thomaspark/scoper/
+ function scoper(css, prefix) {
+ prefix = '[' + prefix.toLowerCase() + ']';
+ // https://www.w3.org/TR/css-syntax-3/#lexical
+ css = css.replace(/\/\*[^*]*\*+([^/][^*]*\*+)*\//g, '');
+ // eslint-disable-next-line
+ var re = new RegExp('([^\r\n,{}:]+)(:[^\r\n,{}]+)?(,(?=[^{}]*{)|\s*{)', 'g');
+ /**
+ * Example:
+ *
+ * .classname::pesudo { color:red }
+ *
+ * g1 is normal selector `.classname`
+ * g2 is pesudo class or pesudo element
+ * g3 is the suffix
+ */
+ css = css.replace(re, function (g0, g1, g2, g3) {
+ if (typeof g2 === 'undefined') {
+ g2 = '';
+ }
+
+ /* eslint-ignore-next-line */
+ if (g1.match(/^\s*(@media|\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/)) {
+ return g1 + g2 + g3;
+ }
+
+ var appendClass = g1.replace(/(\s*)$/, '') + prefix + g2;
+ //let prependClass = prefix + ' ' + g1.trim() + g2;
+
+ return appendClass + g3;
+ //return appendClass + ',' + prependClass + g3;
+ });
+
+ return css;
+ }
+
+ function addStyle(cssText, id) {
+ id = id.toLowerCase();
+ var ele = document.getElementById(id);
+ var head = document.getElementsByTagName('head')[0];
+ if (ele && ele.parentNode === head) {
+ head.removeChild(ele);
+ }
+
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+ someThingStyles.setAttribute('id', id);
+ if (window.ActiveXObject) {
+ someThingStyles.styleSheet.cssText = cssText;
+ } else {
+ someThingStyles.textContent = cssText;
+ }
+ }
+
+ function addStyleWithoutId(cssText) {
+ var head = document.getElementsByTagName('head')[0];
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+
+ if (window.ActiveXObject) {
+ someThingStyles.styleSheet.cssText = cssText;
+ } else {
+ someThingStyles.textContent = cssText;
+ }
+ }
+
+ function addScopedAttrStatic(vdom, attr) {
+ if (options.scopedStyle) {
+ scopeVdom(attr, vdom);
+ }
+ }
+
+ function addStyleToHead(style, attr) {
+ if (options.scopedStyle) {
+ if (!options.staticStyleMapping[attr]) {
+ addStyle(scoper(style, attr), attr);
+ options.staticStyleMapping[attr] = true;
+ }
+ } else if (!options.staticStyleMapping[attr]) {
+ addStyleWithoutId(style);
+ options.staticStyleMapping[attr] = true;
+ }
+ }
+
+ function scopeVdom(attr, vdom) {
+ if (typeof vdom === 'object') {
+ vdom.attributes = vdom.attributes || {};
+ vdom.attributes[attr] = '';
+ vdom.css = vdom.css || {};
+ vdom.css[attr] = '';
+ vdom.children.forEach(function (child) {
+ return scopeVdom(attr, child);
+ });
+ }
+ }
+
+ function scopeHost(vdom, css) {
+ if (typeof vdom === 'object' && css) {
+ vdom.attributes = vdom.attributes || {};
+ for (var key in css) {
+ vdom.attributes[key] = '';
+ }
+ }
+ }
+
+ /** Queue of components that have been mounted and are awaiting componentDidMount */
+ var mounts = [];
+
+ /** Diff recursion count, used to track the end of the diff cycle. */
+ var diffLevel = 0;
+
+ /** Global flag indicating if the diff is currently within an SVG */
+ var isSvgMode = false;
+
+ /** Global flag indicating if the diff is performing hydration */
+ var hydrating = false;
+
+ /** Invoke queued componentDidMount lifecycle methods */
+ function flushMounts() {
+ var c;
+ while (c = mounts.pop()) {
+ if (options.afterMount) options.afterMount(c);
+ if (c.installed) c.installed();
+ if (c.constructor.css || c.css) {
+ addStyleToHead(c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css, '_s' + getCtorName(c.constructor));
+ }
+ }
+ }
+
+ /** Apply differences in a given vnode (and it's deep children) to a real DOM Node.
+ * @param {Element} [dom=null] A DOM node to mutate into the shape of the `vnode`
+ * @param {VNode} vnode A VNode (with descendants forming a tree) representing the desired DOM structure
+ * @returns {Element} dom The created/mutated element
+ * @private
+ */
+ function diff(dom, vnode, context, mountAll, parent, componentRoot) {
+ // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)
+ if (!diffLevel++) {
+ // when first starting the diff, check if we're diffing an SVG or within an SVG
+ isSvgMode = parent != null && parent.ownerSVGElement !== undefined;
+
+ // hydration is indicated by the existing element to be diffed not having a prop cache
+ hydrating = dom != null && !('__omiattr_' in dom);
+ }
+ var ret;
+
+ if (isArray(vnode)) {
+ vnode = {
+ nodeName: 'span',
+ children: vnode
+ };
+ }
+
+ ret = idiff(dom, vnode, context, mountAll, componentRoot);
+ // append the element if its a new parent
+ if (parent && ret.parentNode !== parent) parent.appendChild(ret);
+
+ // diffLevel being reduced to 0 means we're exiting the diff
+ if (! --diffLevel) {
+ hydrating = false;
+ // invoke queued componentDidMount lifecycle methods
+ if (!componentRoot) flushMounts();
+ }
+
+ return ret;
+ }
+
+ /** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */
+ function idiff(dom, vnode, context, mountAll, componentRoot) {
+ var out = dom,
+ prevSvgMode = isSvgMode;
+
+ // empty values (null, undefined, booleans) render as empty Text nodes
+ if (vnode == null || typeof vnode === 'boolean') vnode = '';
+
+ // If the VNode represents a Component, perform a component diff:
+ var vnodeName = vnode.nodeName;
+ if (options.mapping[vnodeName]) {
+ vnode.nodeName = options.mapping[vnodeName];
+ return buildComponentFromVNode(dom, vnode, context, mountAll);
+ }
+ if (typeof vnodeName == 'function') {
+ return buildComponentFromVNode(dom, vnode, context, mountAll);
+ }
+
+ // Fast case: Strings & Numbers create/update Text nodes.
+ if (typeof vnode === 'string' || typeof vnode === 'number') {
+ // update if it's already a Text node:
+ if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) {
+ /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */
+ if (dom.nodeValue != vnode) {
+ dom.nodeValue = vnode;
+ }
+ } else {
+ // it wasn't a Text node: replace it with one and recycle the old Element
+ out = document.createTextNode(vnode);
+ if (dom) {
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+ recollectNodeTree(dom, true);
+ }
+ }
+
+ //ie8 error
+ try {
+ out['__omiattr_'] = true;
+ } catch (e) {}
+
+ return out;
+ }
+
+ // Tracks entering and exiting SVG namespace when descending through the tree.
+ isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode;
+
+ // If there's no existing element or it's the wrong type, create a new one:
+ vnodeName = String(vnodeName);
+ if (!dom || !isNamedNode(dom, vnodeName)) {
+ out = createNode(vnodeName, isSvgMode);
+
+ if (dom) {
+ // move children into the replacement node
+ while (dom.firstChild) {
+ out.appendChild(dom.firstChild);
+ } // if the previous Element was mounted into the DOM, replace it inline
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+
+ // recycle the old element (skips non-Element node types)
+ recollectNodeTree(dom, true);
+ }
+ }
+
+ var fc = out.firstChild,
+ props = out['__omiattr_'],
+ vchildren = vnode.children;
+
+ if (props == null) {
+ props = out['__omiattr_'] = {};
+ for (var a = out.attributes, i = a.length; i--;) {
+ props[a[i].name] = a[i].value;
+ }
+ }
+
+ // Optimization: fast-path for elements containing a single TextNode:
+ if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) {
+ if (fc.nodeValue != vchildren[0]) {
+ fc.nodeValue = vchildren[0];
+ }
+ }
+ // otherwise, if there are existing or new children, diff them:
+ else if (vchildren && vchildren.length || fc != null) {
+ innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null);
+ }
+
+ // Apply attributes/props from VNode to the DOM Element:
+ diffAttributes(out, vnode.attributes, props);
+
+ // restore previous SVG mode: (in case we're exiting an SVG namespace)
+ isSvgMode = prevSvgMode;
+
+ return out;
+ }
+
+ /** Apply child and attribute changes between a VNode and a DOM Node to the DOM.
+ * @param {Element} dom Element whose children should be compared & mutated
+ * @param {Array} vchildren Array of VNodes to compare to `dom.childNodes`
+ * @param {Object} context Implicitly descendant context object (from most recent `getChildContext()`)
+ * @param {Boolean} mountAll
+ * @param {Boolean} isHydrating If `true`, consumes externally created elements similar to hydration
+ */
+ function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {
+ var originalChildren = dom.childNodes,
+ children = [],
+ keyed = {},
+ keyedLen = 0,
+ min = 0,
+ len = originalChildren.length,
+ childrenLen = 0,
+ vlen = vchildren ? vchildren.length : 0,
+ j,
+ c,
+ f,
+ vchild,
+ child;
+
+ // Build up a map of keyed children and an Array of unkeyed children:
+ if (len !== 0) {
+ for (var i = 0; i < len; i++) {
+ var _child = originalChildren[i],
+ props = _child['__omiattr_'],
+ key = vlen && props ? _child._component ? _child._component.__key : props.key : null;
+ if (key != null) {
+ keyedLen++;
+ keyed[key] = _child;
+ } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) {
+ children[childrenLen++] = _child;
+ }
+ }
+ }
+
+ if (vlen !== 0) {
+ for (var i = 0; i < vlen; i++) {
+ vchild = vchildren[i];
+ child = null;
+
+ // attempt to find a node based on key matching
+ var key = vchild.key;
+ if (key != null) {
+ if (keyedLen && keyed[key] !== undefined) {
+ child = keyed[key];
+ keyed[key] = undefined;
+ keyedLen--;
+ }
+ }
+ // attempt to pluck a node of the same type from the existing children
+ else if (!child && min < childrenLen) {
+ for (j = min; j < childrenLen; j++) {
+ if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {
+ child = c;
+ children[j] = undefined;
+ if (j === childrenLen - 1) childrenLen--;
+ if (j === min) min++;
+ break;
+ }
+ }
+ }
+
+ // morph the matched/found/created DOM child to match vchild (deep)
+ child = idiff(child, vchild, context, mountAll);
+
+ f = originalChildren[i];
+ if (child && child !== dom && child !== f) {
+ if (f == null) {
+ dom.appendChild(child);
+ } else if (child === f.nextSibling) {
+ removeNode(f);
+ } else {
+ dom.insertBefore(child, f);
+ }
+ }
+ }
+ }
+
+ // remove unused keyed children:
+ if (keyedLen) {
+ for (var i in keyed) {
+ if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false);
+ }
+ }
+
+ // remove orphaned unkeyed children:
+ while (min <= childrenLen) {
+ if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false);
+ }
+ }
+
+ /** Recursively recycle (or just unmount) a node and its descendants.
+ * @param {Node} node DOM node to start unmount/removal from
+ * @param {Boolean} [unmountOnly=false] If `true`, only triggers unmount lifecycle, skips removal
+ */
+ function recollectNodeTree(node, unmountOnly) {
+ var component = node._component;
+ if (component) {
+ // if node is owned by a Component, unmount that component (ends up recursing back here)
+ unmountComponent(component);
+ } else {
+ // If the node's VNode had a ref function, invoke it with null here.
+ // (this is part of the React spec, and smart for unsetting references)
+ if (node['__omiattr_'] != null) applyRef(node['__omiattr_'].ref, null);
+
+ if (unmountOnly === false || node['__omiattr_'] == null) {
+ removeNode(node);
+ }
+
+ removeChildren(node);
+ }
+ }
+
+ /** Recollect/unmount all children.
+ * - we use .lastChild here because it causes less reflow than .firstChild
+ * - it's also cheaper than accessing the .childNodes Live NodeList
+ */
+ function removeChildren(node) {
+ node = node.lastChild;
+ while (node) {
+ var next = node.previousSibling;
+ recollectNodeTree(node, true);
+ node = next;
+ }
+ }
+
+ /** Apply differences in attributes from a VNode to the given DOM Element.
+ * @param {Element} dom Element with attributes to diff `attrs` against
+ * @param {Object} attrs The desired end-state key-value attribute pairs
+ * @param {Object} old Current/previous attributes (from previous VNode or element's prop cache)
+ */
+ function diffAttributes(dom, attrs, old) {
+ var name;
+
+ // remove attributes no longer present on the vnode by setting them to undefined
+ for (name in old) {
+ if (!(attrs && attrs[name] != null) && old[name] != null) {
+ setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);
+ }
+ }
+
+ // add new & update changed attributes
+ for (name in attrs) {
+ if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) {
+ setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);
+ }
+ }
+ }
+
+ /** Retains a pool of Components for re-use, keyed on component name.
+ * Note: since component names are not unique or even necessarily available, these are primarily a form of sharding.
+ * @private
+ */
+ var components = {};
+
+ /** Reclaim a component for later re-use by the recycler. */
+ function collectComponent(component) {
+ var name = component.constructor.name;(components[name] || (components[name] = [])).push(component);
+ }
+
+ /** Create a component. Normalizes differences between PFC's and classful Components. */
+ function createComponent(Ctor, props, context, vnode) {
+ var list = components[Ctor.name],
+ inst;
+
+ if (Ctor.prototype && Ctor.prototype.render) {
+ inst = new Ctor(props, context);
+ Component.call(inst, props, context);
+ } else {
+ inst = new Component(props, context);
+ inst.constructor = Ctor;
+ inst.render = doRender;
+ }
+ vnode && (inst.scopedCssAttr = vnode.css);
+
+ if (list) {
+ for (var i = list.length; i--;) {
+ if (list[i].constructor === Ctor) {
+ inst.nextBase = list[i].nextBase;
+ list.splice(i, 1);
+ break;
+ }
+ }
+ }
+ return inst;
+ }
+
+ /** The `.render()` method for a PFC backing instance. */
+ function doRender(props, data, context) {
+ return this.constructor(props, context);
+ }
+
+ /* obaa 1.0.0
+ * By dntzhang
+ * Github: https://github.com/Tencent/omi
+ * MIT Licensed.
+ */
+
+ var obaa = function obaa(target, arr, callback) {
+ var _observe = function _observe(target, arr, callback) {
+ if (!target.$observer) target.$observer = this;
+ var $observer = target.$observer;
+ var eventPropArr = [];
+ if (obaa.isArray(target)) {
+ if (target.length === 0) {
+ target.$observeProps = {};
+ target.$observeProps.$observerPath = '#';
+ }
+ $observer.mock(target);
+ }
+ for (var prop in target) {
+ if (target.hasOwnProperty(prop)) {
+ if (callback) {
+ if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ } else if (obaa.isString(arr) && prop == arr) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ } else {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ }
+ }
+ $observer.target = target;
+ if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = [];
+ var propChanged = callback ? callback : arr;
+ $observer.propertyChangedHandler.push({
+ all: !callback,
+ propChanged: propChanged,
+ eventPropArr: eventPropArr
+ });
+ };
+ _observe.prototype = {
+ onPropertyChanged: function onPropertyChanged(prop, value, oldValue, target, path) {
+ if (value !== oldValue && this.propertyChangedHandler) {
+ var rootName = obaa._getRootName(prop, path);
+ for (var i = 0, len = this.propertyChangedHandler.length; i < len; i++) {
+ var handler = this.propertyChangedHandler[i];
+ if (handler.all || obaa.isInArray(handler.eventPropArr, rootName) || rootName.indexOf('Array-') === 0) {
+ handler.propChanged.call(this.target, prop, value, oldValue, path);
+ }
+ }
+ }
+ if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {
+ this.watch(target, prop, target.$observeProps.$observerPath);
+ }
+ },
+ mock: function mock(target) {
+ var self = this;
+ obaa.methods.forEach(function (item) {
+ target[item] = function () {
+ var old = Array.prototype.slice.call(this, 0);
+ var result = Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ if (new RegExp('\\b' + item + '\\b').test(obaa.triggerStr)) {
+ for (var cprop in this) {
+ if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {
+ self.watch(this, cprop, this.$observeProps.$observerPath);
+ }
+ }
+ //todo
+ self.onPropertyChanged('Array-' + item, this, old, this, this.$observeProps.$observerPath);
+ }
+ return result;
+ };
+ target['pure' + item.substring(0, 1).toUpperCase() + item.substring(1)] = function () {
+ return Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ };
+ });
+ },
+ watch: function watch(target, prop, path) {
+ if (prop === '$observeProps' || prop === '$observer') return;
+ if (obaa.isFunction(target[prop])) return;
+ if (!target.$observeProps) target.$observeProps = {};
+ if (path !== undefined) {
+ target.$observeProps.$observerPath = path;
+ } else {
+ target.$observeProps.$observerPath = '#';
+ }
+ var self = this;
+ var currentValue = target.$observeProps[prop] = target[prop];
+ Object.defineProperty(target, prop, {
+ get: function get() {
+ return this.$observeProps[prop];
+ },
+ set: function set(value) {
+ var old = this.$observeProps[prop];
+ this.$observeProps[prop] = value;
+ self.onPropertyChanged(prop, value, old, this, target.$observeProps.$observerPath);
+ }
+ });
+ if (typeof currentValue == 'object') {
+ if (obaa.isArray(currentValue)) {
+ this.mock(currentValue);
+ if (currentValue.length === 0) {
+ if (!currentValue.$observeProps) currentValue.$observeProps = {};
+ if (path !== undefined) {
+ currentValue.$observeProps.$observerPath = path;
+ } else {
+ currentValue.$observeProps.$observerPath = '#';
+ }
+ }
+ }
+ for (var cprop in currentValue) {
+ if (currentValue.hasOwnProperty(cprop)) {
+ this.watch(currentValue, cprop, target.$observeProps.$observerPath + '-' + prop);
+ }
+ }
+ }
+ }
+ };
+ return new _observe(target, arr, callback);
+ };
+
+ obaa.methods = ['concat', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift', 'values', 'size'];
+ obaa.triggerStr = ['concat', 'copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'size'].join(',');
+
+ obaa.isArray = function (obj) {
+ return Object.prototype.toString.call(obj) === '[object Array]';
+ };
+
+ obaa.isString = function (obj) {
+ return typeof obj === 'string';
+ };
+
+ obaa.isInArray = function (arr, item) {
+ for (var i = arr.length; --i > -1;) {
+ if (item === arr[i]) return true;
+ }
+ return false;
+ };
+
+ obaa.isFunction = function (obj) {
+ return Object.prototype.toString.call(obj) == '[object Function]';
+ };
+
+ obaa._getRootName = function (prop, path) {
+ if (path === '#') {
+ return prop;
+ }
+ return path.split('-')[1];
+ };
+
+ obaa.add = function (obj, prop) {
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+ };
+
+ obaa.set = function (obj, prop, value, exec) {
+ if (!exec) {
+ obj[prop] = value;
+ }
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+ if (exec) {
+ obj[prop] = value;
+ }
+ };
+
+ Array.prototype.size = function (length) {
+ this.length = length;
+ };
+
+ var callbacks = [];
+ var nextTickCallback = [];
+
+ function fireTick() {
+ callbacks.forEach(function (item) {
+ item.fn.call(item.scope);
+ });
+
+ nextTickCallback.forEach(function (nextItem) {
+ nextItem.fn.call(nextItem.scope);
+ });
+ nextTickCallback.length = 0;
+ }
+
+ function proxyUpdate(ele) {
+ var timeout = null;
+ obaa(ele.data, function () {
+ if (ele._willUpdate) {
+ return;
+ }
+ if (ele.constructor.mergeUpdate) {
+ clearTimeout(timeout);
+
+ timeout = setTimeout(function () {
+ ele.update();
+ fireTick();
+ }, 0);
+ } else {
+ ele.update();
+ fireTick();
+ }
+ });
+ }
+
+ /** Set a component's `props` (generally derived from JSX attributes).
+ * @param {Object} props
+ * @param {Object} [opts]
+ * @param {boolean} [opts.renderSync=false] If `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.
+ * @param {boolean} [opts.render=true] If `false`, no render will be triggered.
+ */
+ function setComponentProps(component, props, opts, context, mountAll) {
+ if (component._disable) return;
+ component._disable = true;
+
+ if (component.__ref = props.ref) delete props.ref;
+ if (component.__key = props.key) delete props.key;
+
+ if (!component.base || mountAll) {
+ if (component.beforeInstall) component.beforeInstall();
+ if (component.install) component.install();
+ if (component.constructor.observe) {
+ proxyUpdate(component);
+ }
+ } else if (component.receiveProps) {
+ component.receiveProps(props, component.data, component.props);
+ }
+
+ if (context && context !== component.context) {
+ if (!component.prevContext) component.prevContext = component.context;
+ component.context = context;
+ }
+
+ if (!component.prevProps) component.prevProps = component.props;
+ component.props = props;
+
+ component._disable = false;
+
+ if (opts !== 0) {
+ if (opts === 1 || options.syncComponentUpdates !== false || !component.base) {
+ renderComponent(component, 1, mountAll);
+ } else {
+ enqueueRender(component);
+ }
+ }
+
+ applyRef(component.__ref, component);
+ }
+
+ function shallowComparison(old, attrs) {
+ var name;
+
+ for (name in old) {
+ if (attrs[name] == null && old[name] != null) {
+ return true;
+ }
+ }
+
+ if (old.children.length > 0 || attrs.children.length > 0) {
+ return true;
+ }
+
+ for (name in attrs) {
+ if (name != 'children') {
+ var type = typeof attrs[name];
+ if (type == 'function' || type == 'object') {
+ return true;
+ } else if (attrs[name] != old[name]) {
+ return true;
+ }
+ }
+ }
+ }
+
+ /** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.
+ * @param {Component} component
+ * @param {Object} [opts]
+ * @param {boolean} [opts.build=false] If `true`, component will build and store a DOM node if not already associated with one.
+ * @private
+ */
+ function renderComponent(component, opts, mountAll, isChild) {
+ if (component._disable) return;
+
+ var props = component.props,
+ data = component.data,
+ context = component.context,
+ previousProps = component.prevProps || props,
+ previousState = component.prevState || data,
+ previousContext = component.prevContext || context,
+ isUpdate = component.base,
+ nextBase = component.nextBase,
+ initialBase = isUpdate || nextBase,
+ initialChildComponent = component._component,
+ skip = false,
+ rendered,
+ inst,
+ cbase;
+
+ // if updating
+ if (isUpdate) {
+ component.props = previousProps;
+ component.data = previousState;
+ component.context = previousContext;
+ if (component.store || opts == 2 || shallowComparison(previousProps, props)) {
+ skip = false;
+ if (component.beforeUpdate) {
+ component.beforeUpdate(props, data, context);
+ }
+ } else {
+ skip = true;
+ }
+ component.props = props;
+ component.data = data;
+ component.context = context;
+ }
+
+ component.prevProps = component.prevState = component.prevContext = component.nextBase = null;
+
+ if (!skip) {
+ component.beforeRender && component.beforeRender();
+ rendered = component.render(props, data, context);
+
+ //don't rerender
+ if (component.constructor.css || component.css) {
+ addScopedAttrStatic(rendered, '_s' + getCtorName(component.constructor));
+ }
+
+ scopeHost(rendered, component.scopedCssAttr);
+
+ // context to pass to the child, can be updated via (grand-)parent component
+ if (component.getChildContext) {
+ context = extend(extend({}, context), component.getChildContext());
+ }
+
+ var childComponent = rendered && rendered.nodeName,
+ toUnmount,
+ base,
+ ctor = options.mapping[childComponent];
+
+ if (ctor) {
+ // set up high order component link
+
+ var childProps = getNodeProps(rendered);
+ inst = initialChildComponent;
+
+ if (inst && inst.constructor === ctor && childProps.key == inst.__key) {
+ setComponentProps(inst, childProps, 1, context, false);
+ } else {
+ toUnmount = inst;
+
+ component._component = inst = createComponent(ctor, childProps, context);
+ inst.nextBase = inst.nextBase || nextBase;
+ inst._parentComponent = component;
+ setComponentProps(inst, childProps, 0, context, false);
+ renderComponent(inst, 1, mountAll, true);
+ }
+
+ base = inst.base;
+ } else {
+ cbase = initialBase;
+
+ // destroy high order component link
+ toUnmount = initialChildComponent;
+ if (toUnmount) {
+ cbase = component._component = null;
+ }
+
+ if (initialBase || opts === 1) {
+ if (cbase) cbase._component = null;
+ base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true);
+ }
+ }
+
+ if (initialBase && base !== initialBase && inst !== initialChildComponent) {
+ var baseParent = initialBase.parentNode;
+ if (baseParent && base !== baseParent) {
+ baseParent.replaceChild(base, initialBase);
+
+ if (!toUnmount) {
+ initialBase._component = null;
+ recollectNodeTree(initialBase, false);
+ }
+ }
+ }
+
+ if (toUnmount) {
+ unmountComponent(toUnmount);
+ }
+
+ component.base = base;
+ if (base && !isChild) {
+ var componentRef = component,
+ t = component;
+ while (t = t._parentComponent) {
+ (componentRef = t).base = base;
+ }
+ base._component = componentRef;
+ base._componentConstructor = componentRef.constructor;
+ }
+ }
+
+ if (!isUpdate || mountAll) {
+ mounts.unshift(component);
+ } else if (!skip) {
+ // Ensure that pending componentDidMount() hooks of child components
+ // are called before the componentDidUpdate() hook in the parent.
+ // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750
+ // flushMounts();
+
+ if (component.afterUpdate) {
+ //deprecated
+ component.afterUpdate(previousProps, previousState, previousContext);
+ }
+ if (component.updated) {
+ component.updated(previousProps, previousState, previousContext);
+ }
+ if (options.afterUpdate) options.afterUpdate(component);
+ }
+
+ if (component._renderCallbacks != null) {
+ while (component._renderCallbacks.length) {
+ component._renderCallbacks.pop().call(component);
+ }
+ }
+
+ if (!diffLevel && !isChild) flushMounts();
+ }
+
+ /** Apply the Component referenced by a VNode to the DOM.
+ * @param {Element} dom The DOM node to mutate
+ * @param {VNode} vnode A Component-referencing VNode
+ * @returns {Element} dom The created/mutated element
+ * @private
+ */
+ function buildComponentFromVNode(dom, vnode, context, mountAll) {
+ var c = dom && dom._component,
+ originalComponent = c,
+ oldDom = dom,
+ isDirectOwner = c && dom._componentConstructor === vnode.nodeName,
+ isOwner = isDirectOwner,
+ props = getNodeProps(vnode);
+ while (c && !isOwner && (c = c._parentComponent)) {
+ isOwner = c.constructor === vnode.nodeName;
+ }
+
+ if (c && isOwner && (!mountAll || c._component)) {
+ setComponentProps(c, props, 3, context, mountAll);
+ dom = c.base;
+ } else {
+ if (originalComponent && !isDirectOwner) {
+ unmountComponent(originalComponent);
+ dom = oldDom = null;
+ }
+
+ c = createComponent(vnode.nodeName, props, context, vnode);
+ if (dom && !c.nextBase) {
+ c.nextBase = dom;
+ // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:
+ oldDom = null;
+ }
+ setComponentProps(c, props, 1, context, mountAll);
+ dom = c.base;
+
+ if (oldDom && dom !== oldDom) {
+ oldDom._component = null;
+ recollectNodeTree(oldDom, false);
+ }
+ }
+
+ return dom;
+ }
+
+ /** Remove a component from the DOM and recycle it.
+ * @param {Component} component The Component instance to unmount
+ * @private
+ */
+ function unmountComponent(component) {
+ if (options.beforeUnmount) options.beforeUnmount(component);
+
+ var base = component.base;
+
+ component._disable = true;
+
+ if (component.uninstall) component.uninstall();
+
+ component.base = null;
+
+ // recursively tear down & recollect high-order component children:
+ var inner = component._component;
+ if (inner) {
+ unmountComponent(inner);
+ } else if (base) {
+ if (base['__omiattr_'] != null) applyRef(base['__omiattr_'].ref, null);
+
+ component.nextBase = base;
+
+ removeNode(base);
+ collectComponent(component);
+
+ removeChildren(base);
+ }
+
+ applyRef(component.__ref, null);
+ }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ var id = 0;
+
+ var Component = function () {
+ function Component(props, store) {
+ _classCallCheck(this, Component);
+
+ this.props = assign(nProps(this.constructor.props), this.constructor.defaultProps, props);
+ this.elementId = id++;
+ this.data = this.constructor.data || this.data || {};
+
+ this._preCss = null;
+
+ this.store = store;
+ }
+
+ Component.prototype.update = function update(callback) {
+ this._willUpdate = true;
+ if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback);
+ renderComponent(this, 2);
+ if (options.componentChange) options.componentChange(this, this.base);
+ this._willUpdate = false;
+ };
+
+ Component.prototype.fire = function fire(type, data) {
+ var _this = this;
+
+ Object.keys(this.props).every(function (key) {
+ if ('on' + type.toLowerCase() === key.toLowerCase()) {
+ _this.props[key]({ detail: data });
+ return false;
+ }
+ return true;
+ });
+ };
+
+ Component.prototype.render = function render() {};
+
+ return Component;
+ }();
+
+ Component.is = 'WeElement';
+
+ /** Render JSX into a `parent` Element.
+ * @param {VNode} vnode A (JSX) VNode to render
+ * @param {Element} parent DOM element to render into
+ * @param {object} [store]
+ * @public
+ */
+ function render(vnode, parent, store, empty, merge) {
+ parent = typeof parent === 'string' ? document.querySelector(parent) : parent;
+
+ if (empty) {
+ while (parent.firstChild) {
+ parent.removeChild(parent.firstChild);
+ }
+ }
+
+ if (merge) {
+ merge = typeof merge === 'string' ? document.querySelector(merge) : merge;
+ }
+
+ return diff(merge, vnode, store, false, parent, false);
+ }
+
+ function define(name, ctor) {
+ options.mapping[name] = ctor;
+ }
+
+ function rpx(str) {
+ return str.replace(/([1-9]\d*|0)(\.\d*)*rpx/g, function (a, b) {
+ return window.innerWidth * Number(b) / 750 + 'px';
+ });
+ }
+
+ function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+ var ModelView = function (_Component) {
+ _inherits(ModelView, _Component);
+
+ function ModelView() {
+ _classCallCheck$1(this, ModelView);
+
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+
+ ModelView.prototype.beforeInstall = function beforeInstall() {
+ this.data = this.vm.data;
+ };
+
+ return ModelView;
+ }(Component);
+
+ ModelView.observe = true;
+ ModelView.mergeUpdate = true;
+
+ /**
+ * classNames based on https://github.com/JedWatson/classnames
+ * by Jed Watson
+ * Licensed under the MIT License
+ * https://github.com/JedWatson/classnames/blob/master/LICENSE
+ * modified by dntzhang
+ */
+
+ var hasOwn = {}.hasOwnProperty;
+
+ function classNames() {
+ var classes = [];
+
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (!arg) continue;
+
+ var argType = typeof arg;
+
+ if (argType === 'string' || argType === 'number') {
+ classes.push(arg);
+ } else if (Array.isArray(arg) && arg.length) {
+ var inner = classNames.apply(null, arg);
+ if (inner) {
+ classes.push(inner);
+ }
+ } else if (argType === 'object') {
+ for (var key in arg) {
+ if (hasOwn.call(arg, key) && arg[key]) {
+ classes.push(key);
+ }
+ }
+ }
+ }
+
+ return classes.join(' ');
+ }
+
+ function extractClass() {
+ var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0),
+ props = _Array$prototype$slic[0],
+ args = _Array$prototype$slic.slice(1);
+
+ if (props) {
+ if (props.class) {
+ args.unshift(props.class);
+ delete props.class;
+ } else if (props.className) {
+ args.unshift(props.className);
+ delete props.className;
+ }
+ }
+ if (args.length > 0) {
+ return { class: classNames.apply(null, args) };
+ }
+ }
+
+ function getHost(component) {
+ var base = component.base;
+ if (base) {
+ while (base.parentNode) {
+ if (base.parentNode._component) {
+ return base.parentNode._component;
+ } else {
+ base = base.parentNode;
+ }
+ }
+ }
+ }
+
+ /**
+ * preact-render-to-string based on preact-render-to-string
+ * by Jason Miller
+ * Licensed under the MIT License
+ * https://github.com/developit/preact-render-to-string
+ *
+ * modified by dntzhang
+ */
+
+ var encodeEntities = function encodeEntities(s) {
+ return String(s).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"');
+ };
+
+ var indent = function indent(s, char) {
+ return String(s).replace(/(\n+)/g, '$1' + (char || '\t'));
+ };
+
+ var mapping$1 = options.mapping;
+
+ var VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;
+
+ var isLargeString = function isLargeString(s, length, ignoreLines) {
+ return String(s).length > (length || 40) || !ignoreLines && String(s).indexOf('\n') !== -1 || String(s).indexOf('<') !== -1;
+ };
+
+ var JS_TO_CSS = {};
+
+ // Convert an Object style to a CSSText string
+ function styleObjToCss(s) {
+ var str = '';
+ for (var prop in s) {
+ var val = s[prop];
+ if (val != null) {
+ if (str) str += ' ';
+ // str += jsToCss(prop);
+ str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());
+ str += ': ';
+ str += val;
+ if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {
+ str += 'px';
+ }
+ str += ';';
+ }
+ }
+ return str || undefined;
+ }
+
+ /** The default export is an alias of `render()`. */
+ function renderToString(vnode, opts, store, isSvgMode, css) {
+ if (vnode == null || typeof vnode === 'boolean') {
+ return '';
+ }
+
+ var nodeName = vnode.nodeName,
+ attributes = vnode.attributes,
+ isComponent = false;
+ store = store || {};
+ opts = Object.assign({
+ scopedCSS: true
+ }, opts);
+
+ var pretty = true && opts.pretty,
+ indentChar = pretty && typeof pretty === 'string' ? pretty : '\t';
+
+ // #text nodes
+ if (typeof vnode !== 'object' && !nodeName) {
+ return encodeEntities(vnode);
+ }
+
+ // components
+ var ctor = mapping$1[nodeName];
+ if (ctor) {
+ isComponent = true;
+
+ var props = getNodeProps$1(vnode),
+ rendered;
+ // class-based components
+ var c = new ctor(props, store);
+ // turn off stateful re-rendering:
+ c._disable = c.__x = true;
+ c.props = props;
+ c.store = store;
+ if (c.install) c.install();
+ if (c.beforeRender) c.beforeRender();
+ rendered = c.render(c.props, c.data, c.store);
+ var tempCss;
+ if (opts.scopedCSS) {
+
+ if (c.constructor.css || c.css) {
+
+ var cssStr = c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css;
+ var cssAttr = '_s' + getCtorName(c.constructor);
+
+ tempCss = '';
+
+ addScopedAttrStatic(rendered, '_s' + getCtorName(c.constructor));
+ }
+
+ c.scopedCSSAttr = vnode.css;
+ scopeHost(rendered, c.scopedCSSAttr);
+ }
+
+ return renderToString(rendered, opts, store, false, tempCss);
+ }
+
+ // render JSX to HTML
+ var s = '',
+ html;
+
+ if (attributes) {
+ var attrs = Object.keys(attributes);
+
+ // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)
+ if (opts && opts.sortAttributes === true) attrs.sort();
+
+ for (var i = 0; i < attrs.length; i++) {
+ var name = attrs[i],
+ v = attributes[name];
+ if (name === 'children') continue;
+
+ if (name.match(/[\s\n\\/='"\0<>]/)) continue;
+
+ if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;
+
+ if (name === 'className') {
+ if (attributes.class) continue;
+ name = 'class';
+ } else if (isSvgMode && name.match(/^xlink:?./)) {
+ name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');
+ }
+
+ if (name === 'style' && v && typeof v === 'object') {
+ v = styleObjToCss(v);
+ }
+
+ var hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);
+ if (hooked || hooked === '') {
+ s += hooked;
+ continue;
+ }
+
+ if (name === 'dangerouslySetInnerHTML') {
+ html = v && v.__html;
+ } else if ((v || v === 0 || v === '') && typeof v !== 'function') {
+ if (v === true || v === '') {
+ v = name;
+ // in non-xml mode, allow boolean attributes
+ if (!opts || !opts.xml) {
+ s += ' ' + name;
+ continue;
+ }
+ }
+ s += ' ' + name + '="' + encodeEntities(v) + '"';
+ }
+ }
+ }
+
+ // account for >1 multiline attribute
+ if (pretty) {
+ var sub = s.replace(/^\n\s*/, ' ');
+ if (sub !== s && !~sub.indexOf('\n')) s = sub;else if (pretty && ~s.indexOf('\n')) s += '\n';
+ }
+
+ s = '<' + nodeName + s + '>';
+ if (String(nodeName).match(/[\s\n\\/='"\0<>]/)) throw s;
+
+ var isVoid = String(nodeName).match(VOID_ELEMENTS);
+ if (isVoid) s = s.replace(/>$/, ' />');
+
+ var pieces = [];
+ if (html) {
+ // if multiline, indent.
+ if (pretty && isLargeString(html)) {
+ html = '\n' + indentChar + indent(html, indentChar);
+ }
+ s += html;
+ } else if (vnode.children) {
+ var hasLarge = pretty && ~s.indexOf('\n');
+ for (var i = 0; i < vnode.children.length; i++) {
+ var child = vnode.children[i];
+ if (child != null && child !== false) {
+ var childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,
+ ret = renderToString(child, opts, store, childSvgMode);
+ if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;
+ if (ret) pieces.push(ret);
+ }
+ }
+ if (pretty && hasLarge) {
+ for (var i = pieces.length; i--;) {
+ pieces[i] = '\n' + indentChar + indent(pieces[i], indentChar);
+ }
+ }
+ }
+
+ if (pieces.length) {
+ s += pieces.join('');
+ } else if (opts && opts.xml) {
+ return s.substring(0, s.length - 1) + ' />';
+ }
+
+ if (!isVoid) {
+ if (pretty && ~s.indexOf('\n')) s += '\n';
+ s += '' + nodeName + '>';
+ }
+
+ if (css) return css + s;
+ return s;
+ }
+
+ function assign$1(obj, props) {
+ for (var i in props) {
+ obj[i] = props[i];
+ }return obj;
+ }
+
+ function getNodeProps$1(vnode) {
+ var props = assign$1({}, vnode.attributes);
+ props.children = vnode.children;
+
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (defaultProps !== undefined) {
+ for (var i in defaultProps) {
+ if (props[i] === undefined) {
+ props[i] = defaultProps[i];
+ }
+ }
+ }
+
+ return props;
+ }
+
+ var WeElement = Component;
+ var defineElement = define;
+ function createRef() {
+ return {};
+ }
+
+ options.root.Omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+ };
+ options.root.omi = options.root.Omi;
+ options.root.Omi.version = 'omio-1.3.8';
+
+ var Omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+ };
+
+ if (typeof module != 'undefined') module.exports = Omi;else self.Omi = Omi;
+}());
+//# sourceMappingURL=omi.dev.js.map
diff --git a/packages/omip/my-app-ts/src/libs/omip-h5/omi.dev.js.map b/packages/omip/my-app-ts/src/libs/omip-h5/omi.dev.js.map
new file mode 100644
index 000000000..ff3a68d52
--- /dev/null
+++ b/packages/omip/my-app-ts/src/libs/omip-h5/omi.dev.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"omi.dev.js","sources":["../src/vnode.js","../src/options.js","../src/h.js","../src/util.js","../src/clone-element.js","../src/constants.js","../src/render-queue.js","../src/vdom/index.js","../src/dom/index.js","../src/style.js","../src/vdom/diff.js","../src/vdom/component-recycler.js","../src/obaa.js","../src/tick.js","../src/observe.js","../src/vdom/component.js","../src/component.js","../src/render.js","../src/define.js","../src/rpx.js","../src/model-view.js","../src/class.js","../src/get-host.js","../src/render-to-string.js","../src/omi.js","../src/omi.js"],"sourcesContent":["/** Virtual DOM Node */\nexport function VNode() {}\n","function getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n if (typeof self !== 'undefined') {\n return self\n } else if (typeof window !== 'undefined') {\n return window\n } else if (typeof global !== 'undefined') {\n return global\n }\n return (function() {\n return this\n })()\n }\n return global\n}\n\n/** Global options\n *\t@public\n *\t@namespace options {Object}\n */\nexport default {\n scopedStyle: true,\n mapping: {},\n isWeb: true,\n staticStyleMapping: {},\n doc: typeof document === 'object' ? document : null,\n root: getGlobal(),\n //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]\n styleCache: []\n //componentChange(component, element) { },\n /** If `true`, `prop` changes trigger synchronous component updates.\n *\t@name syncComponentUpdates\n *\t@type Boolean\n *\t@default true\n */\n //syncComponentUpdates: true,\n\n /** Processes all created VNodes.\n *\t@param {VNode} vnode\tA newly-created VNode to normalize/process\n */\n //vnode(vnode) { }\n\n /** Hook invoked after a component is mounted. */\n //afterMount(component) { },\n\n /** Hook invoked after the DOM is updated with a component's latest render. */\n //afterUpdate(component) { }\n\n /** Hook invoked immediately before a component is unmounted. */\n // beforeUnmount(component) { }\n}\n","import { VNode } from './vnode'\nimport options from './options'\n\nconst stack = []\n\nconst EMPTY_CHILDREN = []\n\n/**\n * JSX/hyperscript reviver.\n * @see http://jasonformat.com/wtf-is-jsx\n * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0\n *\n * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.\n *\n * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation\n * of the structure of a DOM tree. This structure can be realized by recursively comparing it against\n * the current _actual_ DOM structure, and applying only the differences.\n *\n * `h()`/`createElement()` accepts an element name, a list of attributes/props,\n * and optionally children to append to the element.\n *\n * @example The following DOM tree\n *\n * `Hello!
`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nexport function h(nodeName, attributes) {\n let children = EMPTY_CHILDREN,\n lastSimple,\n child,\n simple,\n i\n for (i = arguments.length; i-- > 2; ) {\n stack.push(arguments[i])\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children)\n delete attributes.children\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--; ) stack.push(child[i])\n } else {\n if (typeof child === 'boolean') child = null\n\n if ((simple = typeof nodeName !== 'function')) {\n if (child == null) child = ''\n else if (typeof child === 'number') child = String(child)\n else if (typeof child !== 'string') simple = false\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child\n } else if (children === EMPTY_CHILDREN) {\n children = [child]\n } else {\n children.push(child)\n }\n\n lastSimple = simple\n }\n }\n\n let p = new VNode()\n p.nodeName = nodeName\n p.children = children\n\tp.attributes = attributes == null ? undefined : attributes\n p.key = attributes == null ? undefined : attributes.key\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p)\n\n return p\n}\n","'use strict'\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols\nvar hasOwnProperty = Object.prototype.hasOwnProperty\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined')\n }\n\n return Object(val)\n}\n\nexport function assign(target, source) {\n var from\n var to = toObject(target)\n var symbols\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s])\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key]\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from)\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]]\n }\n }\n }\n }\n\n return to\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var oListeners = {};\n function runListeners(oEvent) {\n if (!oEvent) { oEvent = window.event; }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) { oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent); }\n break;\n }\n }\n }\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { return; }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) { return; }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) { return; }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { aElListeners.splice(iLstId, 1); }\n }\n };\n}\n\n\nif (typeof Object.create !== 'function') {\n Object.create = function(proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto)\n } else if (proto === null) {\n throw new Error(\n \"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\"\n )\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto\n\n return new F()\n }\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n }\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nexport function extend(obj, props) {\n for (let i in props) obj[i] = props[i]\n return obj\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nexport function applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value)\n else ref.current = value\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nlet usePromise = typeof Promise == 'function'\n\n// for native\nif (\n typeof document !== 'object' &&\n typeof global !== 'undefined' &&\n global.__config__\n) {\n if (global.__config__.platform === 'android') {\n usePromise = true\n } else {\n let systemVersion =\n (global.__config__.systemVersion &&\n global.__config__.systemVersion.split('.')[0]) ||\n 0\n if (systemVersion > 8) {\n usePromise = true\n }\n }\n}\n\nexport const defer = usePromise\n ? Promise.resolve().then.bind(Promise.resolve())\n : setTimeout\n\nexport function isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nexport function nProps(props) {\n if (!props || isArray(props)) return {}\n const result = {}\n Object.keys(props).forEach(key => {\n result[key] = props[key].value\n })\n return result\n}","import { extend } from './util'\nimport { h } from './h'\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nexport function cloneElement(vnode, props) {\n return h(\n vnode.nodeName,\n extend(extend({}, vnode.attributes), props),\n arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children\n )\n}\n","// render modes\n\nexport const NO_RENDER = 0\nexport const SYNC_RENDER = 1\nexport const FORCE_RENDER = 2\nexport const ASYNC_RENDER = 3\n\nexport const ATTR_KEY = '__omiattr_'\n\n// DOM properties that should NOT have \"px\" added when numeric\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i\n","import options from './options'\nimport { defer } from './util'\nimport { renderComponent } from './vdom/component'\n\n/** Managed queue of dirty components to be re-rendered */\n\nlet items = []\n\nexport function enqueueRender(component) {\n if (items.push(component) == 1) {\n ;(options.debounceRendering || defer)(rerender)\n }\n}\n\n/** Rerender all enqueued dirty components */\nexport function rerender() {\n\tlet p\n\twhile ( (p = items.pop()) ) {\n renderComponent(p)\n\t}\n}","import { extend } from '../util'\nimport options from '../options'\n\nconst mapping = options.mapping\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nexport function isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName]\n if (ctor) {\n return hydrating || node._componentConstructor === ctor\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName)\n }\n return hydrating || node._componentConstructor === vnode.nodeName\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nexport function isNamedNode(node, nodeName) {\n return (\n node.normalizedNodeName === nodeName ||\n node.nodeName.toLowerCase() === nodeName.toLowerCase()\n )\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nexport function getNodeProps(vnode) {\n let props = extend({}, vnode.attributes)\n props.children = vnode.children\n\n let defaultProps = vnode.nodeName.defaultProps\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i]\n }\n }\n }\n\n return props\n}\n","import { IS_NON_DIMENSIONAL } from '../constants'\nimport { applyRef } from '../util'\nimport options from '../options'\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nexport function createNode(nodeName, isSvg) {\n let node = isSvg\n ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName)\n : options.doc.createElement(nodeName)\n node.normalizedNodeName = nodeName\n return node\n}\n\nfunction parseCSSText(cssText) {\n let cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ')\n let style = {},\n [a, b, rule] = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt]\n let cssToJs = s => s.replace(/\\W+\\w/g, match => match.slice(-1).toUpperCase())\n let properties = rule\n .split(';')\n .map(o => o.split(':').map(x => x && x.trim()))\n for (let [property, value] of properties) style[cssToJs(property)] = value\n return style\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nexport function removeNode(node) {\n let parentNode = node.parentNode\n if (parentNode) parentNode.removeChild(node)\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nexport function setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class'\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null)\n applyRef(value, node)\n } else if (name === 'class' && !isSvg) {\n node.className = value || ''\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || ''\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (let i in old) if (!(i in value)) node.style[i] = ''\n }\n for (let i in value) {\n node.style[i] =\n typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false\n ? value[i] + 'px'\n : value[i]\n }\n }\n } else {\n let oldJson = old,\n currentJson = value\n if (typeof old === 'string') {\n oldJson = parseCSSText(old)\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value)\n }\n\n let result = {},\n changed = false\n\n if (oldJson) {\n for (let key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = ''\n changed = true\n }\n }\n\n for (let ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey]\n changed = true\n }\n }\n\n if (changed) {\n node.setStyles(result)\n }\n } else {\n node.setStyles(currentJson)\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || ''\n } else if (name[0] == 'o' && name[1] == 'n') {\n let useCapture = name !== (name = name.replace(/Capture$/, ''))\n name = name.toLowerCase().substring(2)\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture)\n node.addEventListener('touchend', touchEnd, useCapture)\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture)\n node.removeEventListener('touchend', touchEnd, useCapture)\n }\n }\n ;(node._listeners || (node._listeners = {}))[name] = value\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value)\n if (value == null || value === false) node.removeAttribute(name)\n } else {\n let ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''))\n if (value == null || value === false) {\n if (ns)\n node.removeAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase()\n )\n else node.removeAttribute(name)\n } else if (typeof value !== 'function') {\n if (ns)\n node.setAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase(),\n value\n )\n else node.setAttribute(name, value)\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type]((options.event && options.event(e)) || e)\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX\n this.___touchY = e.touches[0].pageY\n this.___scrollTop = document.body.scrollTop\n}\n\nfunction touchEnd(e) {\n if (\n Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 &&\n Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 &&\n Math.abs(document.body.scrollTop - this.___scrollTop) < 30\n ) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }))\n }\n}","import options from './options'\n\nlet styleId = 0\n\nexport function getCtorName(ctor) {\n for (let i = 0, len = options.styleCache.length; i < len; i++) {\n let item = options.styleCache[i]\n\n if (item.ctor === ctor) {\n return item.attrName\n }\n }\n\n let attrName = 's' + styleId\n options.styleCache.push({ ctor, attrName })\n styleId++\n\n return attrName\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nexport function scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']'\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '')\n // eslint-disable-next-line\n let re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g')\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, (g0, g1, g2, g3) => {\n if (typeof g2 === 'undefined') {\n g2 = ''\n }\n\n /* eslint-ignore-next-line */\n if (\n g1.match(\n /^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/\n )\n ) {\n return g1 + g2 + g3\n }\n\n let appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3\n //return appendClass + ',' + prependClass + g3;\n })\n\n return css\n}\n\nexport function addStyle(cssText, id) {\n id = id.toLowerCase()\n let ele = document.getElementById(id)\n let head = document.getElementsByTagName('head')[0]\n if (ele && ele.parentNode === head) {\n head.removeChild(ele)\n }\n\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n someThingStyles.setAttribute('id', id)\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addStyleWithoutId(cssText) {\n let head = document.getElementsByTagName('head')[0]\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom)\n } \n}\n\nexport function addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr)\n options.staticStyleMapping[attr] = true\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style)\n options.staticStyleMapping[attr] = true\n }\n}\n\nexport function scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {}\n vdom.attributes[attr] = ''\n vdom.css = vdom.css || {}\n vdom.css[attr] = ''\n vdom.children.forEach(child => scopeVdom(attr, child))\n }\n}\n\nexport function scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {}\n for (let key in css) {\n vdom.attributes[key] = ''\n }\n }\n}\n","import { ATTR_KEY } from '../constants'\nimport { isSameNodeType, isNamedNode } from './index'\nimport { buildComponentFromVNode } from './component'\nimport { createNode, setAccessor } from '../dom/index'\nimport { unmountComponent } from './component'\nimport options from '../options'\nimport { applyRef } from '../util'\nimport { removeNode } from '../dom/index'\nimport { isArray } from '../util'\nimport { addStyleToHead, getCtorName } from '../style'\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nexport const mounts = []\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nexport let diffLevel = 0\n\n/** Global flag indicating if the diff is currently within an SVG */\nlet isSvgMode = false\n\n/** Global flag indicating if the diff is performing hydration */\nlet hydrating = false\n\n/** Invoke queued componentDidMount lifecycle methods */\nexport function flushMounts() {\n let c\n while ((c = mounts.pop())) {\n if (options.afterMount) options.afterMount(c)\n if (c.installed) c.installed()\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css), '_s' + getCtorName(c.constructor))\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nexport function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !(ATTR_KEY in dom)\n }\n let ret\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n }\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot)\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret)\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (!--diffLevel) {\n hydrating = false\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts()\n }\n\n return ret\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n let out = dom,\n prevSvgMode = isSvgMode\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = ''\n\n // If the VNode represents a Component, perform a component diff:\n let vnodeName = vnode.nodeName\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName]\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (\n dom &&\n dom.splitText !== undefined &&\n dom.parentNode &&\n (!dom._component || componentRoot)\n ) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode)\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n recollectNodeTree(dom, true)\n }\n }\n\n //ie8 error\n try {\n out[ATTR_KEY] = true\n } catch (e) {}\n\n return out\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode =\n vnodeName === 'svg'\n ? true\n : vnodeName === 'foreignObject'\n ? false\n : isSvgMode\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName)\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode)\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) out.appendChild(dom.firstChild)\n\n // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true)\n }\n }\n\n let fc = out.firstChild,\n props = out[ATTR_KEY],\n vchildren = vnode.children\n\n if (props == null) {\n props = out[ATTR_KEY] = {}\n for (let a = out.attributes, i = a.length; i--; )\n props[a[i].name] = a[i].value\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (\n !hydrating &&\n vchildren &&\n vchildren.length === 1 &&\n typeof vchildren[0] === 'string' &&\n fc != null &&\n fc.splitText !== undefined &&\n fc.nextSibling == null\n ) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0]\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if ((vchildren && vchildren.length) || fc != null) {\n innerDiffNode(\n out,\n vchildren,\n context,\n mountAll,\n hydrating || props.dangerouslySetInnerHTML != null\n )\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props)\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode\n\n return out\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n let originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (let i = 0; i < len; i++) {\n let child = originalChildren[i],\n props = child[ATTR_KEY],\n key =\n vlen && props\n ? child._component\n ? child._component.__key\n : props.key\n : null\n if (key != null) {\n keyedLen++\n keyed[key] = child\n } else if (\n props ||\n (child.splitText !== undefined\n ? isHydrating\n ? child.nodeValue.trim()\n : true\n : isHydrating)\n ) {\n children[childrenLen++] = child\n }\n }\n }\n\n if (vlen !== 0) {\n for (let i = 0; i < vlen; i++) {\n vchild = vchildren[i]\n child = null\n\n // attempt to find a node based on key matching\n let key = vchild.key\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key]\n keyed[key] = undefined\n keyedLen--\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (\n children[j] !== undefined &&\n isSameNodeType((c = children[j]), vchild, isHydrating)\n ) {\n child = c\n children[j] = undefined\n if (j === childrenLen - 1) childrenLen--\n if (j === min) min++\n break\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll)\n\n f = originalChildren[i]\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child)\n } else if (child === f.nextSibling) {\n removeNode(f)\n } else {\n dom.insertBefore(child, f)\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (let i in keyed)\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false)\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined)\n recollectNodeTree(child, false)\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nexport function recollectNodeTree(node, unmountOnly) {\n let component = node._component\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component)\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node[ATTR_KEY] != null) applyRef(node[ATTR_KEY].ref, null)\n\n if (unmountOnly === false || node[ATTR_KEY] == null) {\n removeNode(node)\n }\n\n removeChildren(node)\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nexport function removeChildren(node) {\n node = node.lastChild\n while (node) {\n let next = node.previousSibling\n recollectNodeTree(node, true)\n node = next\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n let name\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], (old[name] = undefined), isSvgMode)\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (\n name !== 'children' &&\n name !== 'innerHTML' &&\n (!(name in old) ||\n attrs[name] !==\n (name === 'value' || name === 'checked' ? dom[name] : old[name]))\n ) {\n setAccessor(dom, name, old[name], (old[name] = attrs[name]), isSvgMode)\n }\n }\n}\n","import Component from '../component'\nimport options from '../options'\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nconst components = {}\n\n/** Reclaim a component for later re-use by the recycler. */\nexport function collectComponent(component) {\n let name = component.constructor.name\n ;(components[name] || (components[name] = [])).push(component)\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nexport function createComponent(Ctor, props, context, vnode) {\n let list = components[Ctor.name],\n inst\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context)\n Component.call(inst, props, context)\n } else {\n inst = new Component(props, context)\n inst.constructor = Ctor\n inst.render = doRender\n }\n vnode && (inst.scopedCssAttr = vnode.css)\n\n if (list) {\n for (let i = list.length; i--; ) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase\n list.splice(i, 1)\n break\n }\n }\n }\n return inst\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context)\n}\n","/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function(target, arr, callback) {\n var _observe = function(target, arr, callback) {\n if (!target.$observer) target.$observer = this\n var $observer = target.$observer\n var eventPropArr = []\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {}\n target.$observeProps.$observerPath = '#'\n }\n $observer.mock(target)\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n } else {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n }\n }\n $observer.target = target\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = []\n var propChanged = callback ? callback : arr\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n })\n }\n _observe.prototype = {\n onPropertyChanged: function(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path)\n for (\n var i = 0, len = this.propertyChangedHandler.length;\n i < len;\n i++\n ) {\n var handler = this.propertyChangedHandler[i]\n if (\n handler.all ||\n obaa.isInArray(handler.eventPropArr, rootName) ||\n rootName.indexOf('Array-') === 0\n ) {\n handler.propChanged.call(this.target, prop, value, oldValue, path)\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath)\n }\n },\n mock: function(target) {\n var self = this\n obaa.methods.forEach(function(item) {\n target[item] = function() {\n var old = Array.prototype.slice.call(this, 0)\n var result = Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath)\n }\n }\n //todo\n self.onPropertyChanged(\n 'Array-' + item,\n this,\n old,\n this,\n this.$observeProps.$observerPath\n )\n }\n return result\n }\n target[\n 'pure' + item.substring(0, 1).toUpperCase() + item.substring(1)\n ] = function() {\n return Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n }\n })\n },\n watch: function(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return\n if (obaa.isFunction(target[prop])) return\n if (!target.$observeProps) target.$observeProps = {}\n if (path !== undefined) {\n target.$observeProps.$observerPath = path\n } else {\n target.$observeProps.$observerPath = '#'\n }\n var self = this\n var currentValue = (target.$observeProps[prop] = target[prop])\n Object.defineProperty(target, prop, {\n get: function() {\n return this.$observeProps[prop]\n },\n set: function(value) {\n var old = this.$observeProps[prop]\n this.$observeProps[prop] = value\n self.onPropertyChanged(\n prop,\n value,\n old,\n this,\n target.$observeProps.$observerPath\n )\n }\n })\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue)\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {}\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path\n } else {\n currentValue.$observeProps.$observerPath = '#'\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(\n currentValue,\n cprop,\n target.$observeProps.$observerPath + '-' + prop\n )\n }\n }\n }\n }\n }\n return new _observe(target, arr, callback)\n}\n\nobaa.methods = [\n 'concat',\n 'copyWithin',\n 'entries',\n 'every',\n 'fill',\n 'filter',\n 'find',\n 'findIndex',\n 'forEach',\n 'includes',\n 'indexOf',\n 'join',\n 'keys',\n 'lastIndexOf',\n 'map',\n 'pop',\n 'push',\n 'reduce',\n 'reduceRight',\n 'reverse',\n 'shift',\n 'slice',\n 'some',\n 'sort',\n 'splice',\n 'toLocaleString',\n 'toString',\n 'unshift',\n 'values',\n 'size'\n]\nobaa.triggerStr = [\n 'concat',\n 'copyWithin',\n 'fill',\n 'pop',\n 'push',\n 'reverse',\n 'shift',\n 'sort',\n 'splice',\n 'unshift',\n 'size'\n].join(',')\n\nobaa.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nobaa.isString = function(obj) {\n return typeof obj === 'string'\n}\n\nobaa.isInArray = function(arr, item) {\n for (var i = arr.length; --i > -1; ) {\n if (item === arr[i]) return true\n }\n return false\n}\n\nobaa.isFunction = function(obj) {\n return Object.prototype.toString.call(obj) == '[object Function]'\n}\n\nobaa._getRootName = function(prop, path) {\n if (path === '#') {\n return prop\n }\n return path.split('-')[1]\n}\n\nobaa.add = function(obj, prop) {\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n}\n\nobaa.set = function(obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value\n }\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n if (exec) {\n obj[prop] = value\n }\n}\n\nArray.prototype.size = function(length) {\n this.length = length\n}\n\nexport default obaa\n","const callbacks = []\nconst nextTickCallback = []\n\nexport function tick(fn, scope) {\n callbacks.push({ fn, scope })\n}\n\nexport function fireTick() {\n callbacks.forEach(item => {\n item.fn.call(item.scope)\n })\n\n nextTickCallback.forEach(nextItem => {\n nextItem.fn.call(nextItem.scope)\n })\n nextTickCallback.length = 0\n}\n\nexport function nextTick(fn, scope) {\n nextTickCallback.push({ fn, scope })\n}\n","import obaa from './obaa'\nimport { fireTick } from './tick'\n\nexport function proxyUpdate(ele) {\n let timeout = null\n obaa(ele.data, () => {\n if (ele._willUpdate) {\n return\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n ele.update()\n fireTick()\n }, 0)\n } else {\n ele.update()\n fireTick()\n }\n })\n}\n","import {\n SYNC_RENDER,\n NO_RENDER,\n FORCE_RENDER,\n ASYNC_RENDER,\n ATTR_KEY\n} from '../constants'\nimport options from '../options'\nimport { extend, applyRef } from '../util'\nimport { enqueueRender } from '../render-queue'\nimport { getNodeProps } from './index'\nimport {\n diff,\n mounts,\n diffLevel,\n flushMounts,\n recollectNodeTree,\n removeChildren\n} from './diff'\nimport { createComponent, collectComponent } from './component-recycler'\nimport { removeNode } from '../dom/index'\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost\n} from '../style'\nimport { proxyUpdate } from '../observe'\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nexport function setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return\n component._disable = true\n\n if ((component.__ref = props.ref)) delete props.ref\n if ((component.__key = props.key)) delete props.key\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall()\n if (component.install) component.install()\n if (component.constructor.observe) {\n proxyUpdate(component)\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props)\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context\n component.context = context\n }\n\n if (!component.prevProps) component.prevProps = component.props\n component.props = props\n\n component._disable = false\n\n if (opts !== NO_RENDER) {\n if (\n opts === SYNC_RENDER ||\n options.syncComponentUpdates !== false ||\n !component.base\n ) {\n renderComponent(component, SYNC_RENDER, mountAll)\n } else {\n enqueueRender(component)\n }\n }\n\n applyRef(component.__ref, component)\n}\n\nfunction shallowComparison(old, attrs) {\n let name\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true\n }\n\n for (name in attrs) {\n if (name != 'children') {\n let type = typeof attrs[name]\n if (type == 'function' || type == 'object') {\n return true\n } else if (attrs[name] != old[name]) {\n return true\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nexport function renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return\n\n let props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase\n\n // if updating\n if (isUpdate) {\n component.props = previousProps\n component.data = previousState\n component.context = previousContext\n if (component.store || opts == FORCE_RENDER || shallowComparison(previousProps, props)) {\n skip = false\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context)\n }\n } else {\n skip = true\n }\n component.props = props\n component.data = data\n component.context = context\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null\n\n if (!skip) {\n component.beforeRender && component.beforeRender()\n rendered = component.render(props, data, context)\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(component.constructor)\n )\n }\n\n scopeHost(rendered, component.scopedCssAttr)\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext())\n }\n\n let childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent]\n\n if (ctor) {\n // set up high order component link\n\n let childProps = getNodeProps(rendered)\n inst = initialChildComponent\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, SYNC_RENDER, context, false)\n } else {\n toUnmount = inst\n\n component._component = inst = createComponent(ctor, childProps, context)\n inst.nextBase = inst.nextBase || nextBase\n inst._parentComponent = component\n setComponentProps(inst, childProps, NO_RENDER, context, false)\n renderComponent(inst, SYNC_RENDER, mountAll, true)\n }\n\n base = inst.base\n } else {\n cbase = initialBase\n\n // destroy high order component link\n toUnmount = initialChildComponent\n if (toUnmount) {\n cbase = component._component = null\n }\n\n if (initialBase || opts === SYNC_RENDER) {\n if (cbase) cbase._component = null\n base = diff(\n cbase,\n rendered,\n context,\n mountAll || !isUpdate,\n initialBase && initialBase.parentNode,\n true\n )\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n let baseParent = initialBase.parentNode\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase)\n\n if (!toUnmount) {\n initialBase._component = null\n recollectNodeTree(initialBase, false)\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount)\n }\n\n component.base = base\n if (base && !isChild) {\n let componentRef = component,\n t = component\n while ((t = t._parentComponent)) {\n ;(componentRef = t).base = base\n }\n base._component = componentRef\n base._componentConstructor = componentRef.constructor\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component)\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext)\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext)\n }\n if (options.afterUpdate) options.afterUpdate(component)\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length)\n component._renderCallbacks.pop().call(component)\n }\n\n if (!diffLevel && !isChild) flushMounts()\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nexport function buildComponentFromVNode(dom, vnode, context, mountAll) {\n let c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode)\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, ASYNC_RENDER, context, mountAll)\n dom = c.base\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent)\n dom = oldDom = null\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode)\n if (dom && !c.nextBase) {\n c.nextBase = dom\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null\n }\n setComponentProps(c, props, SYNC_RENDER, context, mountAll)\n dom = c.base\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null\n recollectNodeTree(oldDom, false)\n }\n }\n\n return dom\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nexport function unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component)\n\n let base = component.base\n\n component._disable = true\n\n if (component.uninstall) component.uninstall()\n\n component.base = null\n\n // recursively tear down & recollect high-order component children:\n let inner = component._component\n if (inner) {\n unmountComponent(inner)\n } else if (base) {\n if (base[ATTR_KEY] != null) applyRef(base[ATTR_KEY].ref, null)\n\n component.nextBase = base\n\n removeNode(base)\n collectComponent(component)\n\n removeChildren(base)\n }\n\n applyRef(component.__ref, null)\n}\n","import { FORCE_RENDER } from './constants'\nimport { renderComponent } from './vdom/component'\nimport options from './options'\nimport { nProps, assign } from './util'\n\nlet id = 0\n\nexport default class Component {\n static is = 'WeElement'\n\n constructor(props, store) {\n this.props = assign(\n nProps(this.constructor.props),\n this.constructor.defaultProps,\n props\n )\n this.elementId = id++\n this.data = this.constructor.data || this.data || {}\n\n this._preCss = null\n\n this.store = store\n }\n\n update(callback) {\n this._willUpdate = true\n if (callback)\n (this._renderCallbacks = this._renderCallbacks || []).push(callback)\n renderComponent(this, FORCE_RENDER)\n if (options.componentChange) options.componentChange(this, this.base)\n this._willUpdate = false\n }\n\n fire(type, data) {\n Object.keys(this.props).every(key => {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n this.props[key]({ detail: data })\n return false\n }\n return true\n })\n }\n\n render() {}\n}\n","import { diff } from './vdom/diff'\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nexport function render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n }\n\n if (merge) {\n merge =\n typeof merge === 'string'\n ? document.querySelector(merge)\n : merge\n }\n\n return diff(merge, vnode, store, false, parent, false)\n}\n","import options from './options'\n\nexport function define(name, ctor) {\n options.mapping[name] = ctor\n}\n","export function rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, (a, b) => {\n return (window.innerWidth * Number(b)) / 750 + 'px'\n })\n}\n","import Component from './component'\n\nexport default class ModelView extends Component {\n static observe = true\n\n static mergeUpdate = true\n\n beforeInstall() {\n this.data = this.vm.data\n }\n}\n","/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty\n\nexport function classNames() {\n var classes = []\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i]\n if (!arg) continue\n\n var argType = typeof arg\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg)\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg)\n if (inner) {\n classes.push(inner)\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key)\n }\n }\n }\n }\n\n return classes.join(' ')\n}\n\nexport function extractClass() {\n const [props, ...args] = Array.prototype.slice.call(arguments, 0)\n if (props) {\n if (props.class) {\n args.unshift(props.class)\n delete props.class\n } else if (props.className) {\n args.unshift(props.className)\n delete props.className\n }\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) }\n }\n}\n","export function getHost(component) {\n let base = component.base\n if (base) {\n while (base.parentNode) {\n if (base.parentNode._component) {\n return base.parentNode._component\n } else {\n base = base.parentNode\n }\n }\n }\n}","/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nimport options from './options'\n\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost,\n scoper\n} from './style'\n\n\nconst encodeEntities = s => String(s)\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"');\n\nconst indent = (s, char) => String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nconst mapping = options.mapping\n\nconst VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nconst isLargeString = (s, length, ignoreLines) => (String(s).length > (length || 40) || (!ignoreLines && String(s).indexOf('\\n') !== -1) || String(s).indexOf('<') !== -1);\n\nconst JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n let str = '';\n for (let prop in s) {\n let val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\n/** The default export is an alias of `render()`. */\nexport function renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n let nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n },opts)\n\n let pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n const ctor = mapping[nodeName]\n if (ctor) {\n isComponent = true;\n\n let props = getNodeProps(vnode),\n rendered;\n // class-based components\n let c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n let tempCss \n if(opts.scopedCSS){\n\n if (c.constructor.css || c.css) {\n\n const cssStr = c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css)\n const cssAttr = '_s' + getCtorName(c.constructor)\n\n tempCss = ``\n\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(c.constructor)\n )\n }\n \n c.scopedCSSAttr = vnode.css\n scopeHost(rendered, c.scopedCSSAttr)\n }\n\n return renderToString(rendered, opts, store, false, tempCss);\n }\n\n\n // render JSX to HTML\n let s = '', html;\n\n if (attributes) {\n let attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (let i = 0; i < attrs.length; i++) {\n let name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes.class) continue;\n name = 'class';\n }\n else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n let hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n }\n else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ` ${name}=\"${encodeEntities(v)}\"`;\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n let sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;\n else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = `<${nodeName}${s}>`;\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n let isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n let pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n }\n else if (vnode.children) {\n let hasLarge = pretty && ~s.indexOf('\\n');\n for (let i = 0; i < vnode.children.length; i++) {\n let child = vnode.children[i];\n if (child != null && child !== false) {\n let childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = renderToString(child, opts, store, childSvgMode);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (let i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n }\n else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += `${nodeName}>`;\n }\n\n if(css) return css + s;\n return s;\n}\n\nfunction assign(obj, props) {\n for (let i in props) obj[i] = props[i];\n return obj;\n}\n\nfunction getNodeProps(vnode) {\n let props = assign({}, vnode.attributes);\n props.children = vnode.children;\n\n let defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}","import { h, h as createElement } from './h'\nimport { cloneElement } from './clone-element'\nimport Component from './component'\nimport { render } from './render'\nimport { rerender } from './render-queue'\nimport options from './options'\nimport { define } from './define'\nimport { rpx } from './rpx'\nimport ModelView from './model-view'\nimport { classNames, extractClass } from './class'\nimport { getHost } from './get-host'\nimport { renderToString } from './render-to-string'\n\nconst WeElement = Component\nconst defineElement = define\nfunction createRef() {\n return {}\n}\n\noptions.root.Omi = {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\noptions.root.omi = options.root.Omi\noptions.root.Omi.version = 'omio-1.3.8'\n\nexport default {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n\nexport {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n","\n\t\t\t\timport Omi from './omi';\n\t\t\t\tif (typeof module!='undefined') module.exports = Omi;\n\t\t\t\telse self.Omi = Omi;\n\t\t\t"],"names":["VNode","getGlobal","global","Math","Array","self","window","scopedStyle","mapping","isWeb","staticStyleMapping","doc","document","root","styleCache","stack","EMPTY_CHILDREN","h","nodeName","attributes","children","lastSimple","child","simple","i","arguments","length","push","pop","undefined","String","p","key","options","vnode","getOwnPropertySymbols","Object","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","assign","target","source","from","to","symbols","s","call","Element","addEventListener","runListeners","oEvent","event","iLstId","iElId","oEvtListeners","oListeners","type","aEls","aEvts","sEventType","fListener","nElIdx","aElListeners","splice","removeEventListener","create","proto","propertiesObject","Error","F","trim","replace","extend","obj","props","applyRef","ref","value","current","usePromise","Promise","__config__","platform","systemVersion","split","defer","resolve","then","bind","setTimeout","isArray","toString","nProps","result","keys","forEach","cloneElement","slice","NO_RENDER","SYNC_RENDER","FORCE_RENDER","ASYNC_RENDER","ATTR_KEY","IS_NON_DIMENSIONAL","items","enqueueRender","component","debounceRendering","rerender","renderComponent","isSameNodeType","node","hydrating","splitText","ctor","_componentConstructor","isNamedNode","normalizedNodeName","toLowerCase","getNodeProps","defaultProps","createNode","isSvg","createElementNS","createElement","parseCSSText","cssText","cssTxt","match","a","b","rule","cssToJs","toUpperCase","properties","map","o","x","property","style","removeNode","parentNode","removeChild","setAccessor","name","old","className","test","oldJson","currentJson","changed","ckey","setStyles","innerHTML","__html","useCapture","substring","eventProxy","touchStart","touchEnd","_listeners","setProperty","removeAttribute","ns","removeAttributeNS","setAttributeNS","setAttribute","e","___touchX","touches","pageX","___touchY","pageY","___scrollTop","body","scrollTop","abs","changedTouches","dispatchEvent","CustomEvent","detail","styleId","getCtorName","len","item","attrName","scoper","css","prefix","re","RegExp","g0","g1","g2","g3","appendClass","addStyle","id","ele","getElementById","head","getElementsByTagName","someThingStyles","appendChild","ActiveXObject","styleSheet","textContent","addStyleWithoutId","addScopedAttrStatic","vdom","attr","scopeVdom","addStyleToHead","scopeHost","mounts","diffLevel","isSvgMode","flushMounts","c","afterMount","installed","constructor","diff","dom","context","mountAll","parent","componentRoot","ownerSVGElement","ret","idiff","out","prevSvgMode","vnodeName","buildComponentFromVNode","_component","nodeValue","createTextNode","replaceChild","recollectNodeTree","firstChild","fc","vchildren","nextSibling","innerDiffNode","dangerouslySetInnerHTML","diffAttributes","isHydrating","originalChildren","childNodes","keyed","keyedLen","min","childrenLen","vlen","j","f","vchild","__key","insertBefore","unmountOnly","unmountComponent","removeChildren","lastChild","next","previousSibling","attrs","components","collectComponent","createComponent","Ctor","list","inst","render","Component","doRender","scopedCssAttr","nextBase","data","obaa","arr","callback","_observe","$observer","eventPropArr","$observeProps","$observerPath","mock","prop","isInArray","watch","isString","propertyChangedHandler","propChanged","all","onPropertyChanged","oldValue","path","rootName","_getRootName","handler","indexOf","methods","apply","triggerStr","cprop","isFunction","currentValue","defineProperty","get","set","join","add","exec","size","callbacks","nextTickCallback","fireTick","fn","scope","nextItem","proxyUpdate","timeout","_willUpdate","mergeUpdate","clearTimeout","update","setComponentProps","opts","_disable","__ref","base","beforeInstall","install","observe","receiveProps","prevContext","prevProps","syncComponentUpdates","shallowComparison","isChild","previousProps","previousState","prevState","previousContext","isUpdate","initialBase","initialChildComponent","skip","rendered","cbase","store","beforeUpdate","beforeRender","getChildContext","childComponent","toUnmount","childProps","_parentComponent","baseParent","componentRef","t","unshift","afterUpdate","updated","_renderCallbacks","originalComponent","oldDom","isDirectOwner","isOwner","beforeUnmount","uninstall","inner","elementId","_preCss","componentChange","fire","every","is","empty","merge","querySelector","define","rpx","str","innerWidth","Number","ModelView","vm","hasOwn","classNames","classes","arg","argType","extractClass","args","class","getHost","encodeEntities","indent","char","VOID_ELEMENTS","isLargeString","ignoreLines","JS_TO_CSS","styleObjToCss","renderToString","isComponent","scopedCSS","pretty","indentChar","__x","tempCss","cssStr","cssAttr","scopedCSSAttr","html","sortAttributes","sort","v","allAttributes","hooked","attributeHook","xml","sub","isVoid","pieces","hasLarge","childSvgMode","WeElement","defineElement","createRef","Omi","omi","version","module","exports"],"mappings":"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"}
\ No newline at end of file
diff --git a/packages/omip/my-app-ts/src/libs/omip-h5/omi.esm.js b/packages/omip/my-app-ts/src/libs/omip-h5/omi.esm.js
new file mode 100644
index 000000000..685f16b85
--- /dev/null
+++ b/packages/omip/my-app-ts/src/libs/omip-h5/omi.esm.js
@@ -0,0 +1,2088 @@
+/**
+ * omi v1.3.8 http://omijs.org
+ * Omi === Preact + Scoped CSS + Store System + Native Support in 3kb javascript.
+ * By dntzhang https://github.com/dntzhang
+ * Github: https://github.com/Tencent/omi
+ * MIT Licensed.
+ */
+
+/** Virtual DOM Node */
+function VNode() {}
+
+function getGlobal() {
+ if (typeof global !== 'object' || !global || global.Math !== Math || global.Array !== Array) {
+ if (typeof self !== 'undefined') {
+ return self;
+ } else if (typeof window !== 'undefined') {
+ return window;
+ } else if (typeof global !== 'undefined') {
+ return global;
+ }
+ return function () {
+ return this;
+ }();
+ }
+ return global;
+}
+
+/** Global options
+ * @public
+ * @namespace options {Object}
+ */
+var options = {
+ scopedStyle: true,
+ mapping: {},
+ isWeb: true,
+ staticStyleMapping: {},
+ doc: typeof document === 'object' ? document : null,
+ root: getGlobal(),
+ //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]
+ styleCache: []
+ //componentChange(component, element) { },
+ /** If `true`, `prop` changes trigger synchronous component updates.
+ * @name syncComponentUpdates
+ * @type Boolean
+ * @default true
+ */
+ //syncComponentUpdates: true,
+
+ /** Processes all created VNodes.
+ * @param {VNode} vnode A newly-created VNode to normalize/process
+ */
+ //vnode(vnode) { }
+
+ /** Hook invoked after a component is mounted. */
+ //afterMount(component) { },
+
+ /** Hook invoked after the DOM is updated with a component's latest render. */
+ //afterUpdate(component) { }
+
+ /** Hook invoked immediately before a component is unmounted. */
+ // beforeUnmount(component) { }
+};
+
+var stack = [];
+
+var EMPTY_CHILDREN = [];
+
+//
+var mapTag = {
+ 'view': 'div',
+ 'picker': 'select',
+ 'image': 'img',
+ 'navigator': 'a',
+ 'text': 'span'
+}
+
+var getNodeName = function(name){
+ if(mapTag[name]) return mapTag[name]
+ return name
+}
+
+/**
+ * JSX/hyperscript reviver.
+ * @see http://jasonformat.com/wtf-is-jsx
+ * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0
+ *
+ * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.
+ *
+ * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation
+ * of the structure of a DOM tree. This structure can be realized by recursively comparing it against
+ * the current _actual_ DOM structure, and applying only the differences.
+ *
+ * `h()`/`createElement()` accepts an element name, a list of attributes/props,
+ * and optionally children to append to the element.
+ *
+ * @example The following DOM tree
+ *
+ * `Hello!
`
+ *
+ * can be constructed using this function as:
+ *
+ * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`
+ *
+ * @param {string} nodeName An element name. Ex: `div`, `a`, `span`, etc.
+ * @param {Object} attributes Any attributes/props to set on the created element.
+ * @param rest Additional arguments are taken to be children to append. Can be infinitely nested Arrays.
+ *
+ * @public
+ */
+function h(nodeName, attributes) {
+ var children = EMPTY_CHILDREN,
+ lastSimple,
+ child,
+ simple,
+ i;
+ for (i = arguments.length; i-- > 2;) {
+ stack.push(arguments[i]);
+ }
+ if (attributes && attributes.children != null) {
+ if (!stack.length) stack.push(attributes.children);
+ delete attributes.children;
+ }
+ while (stack.length) {
+ if ((child = stack.pop()) && child.pop !== undefined) {
+ for (i = child.length; i--;) {
+ stack.push(child[i]);
+ }
+ } else {
+ if (typeof child === 'boolean') child = null;
+
+ if (simple = typeof nodeName !== 'function') {
+ if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false;
+ }
+
+ if (simple && lastSimple) {
+ children[children.length - 1] += child;
+ } else if (children === EMPTY_CHILDREN) {
+ children = [child];
+ } else {
+ children.push(child);
+ }
+
+ lastSimple = simple;
+ }
+ }
+
+ var p = new VNode();
+ p.nodeName = getNodeName(nodeName);
+ p.children = children;
+ p.attributes = attributes == null ? undefined : attributes;
+ p.key = attributes == null ? undefined : attributes.key;
+
+ //忽略掉 block
+ if(p.nodeName === 'block'){
+ return children
+ }
+ // if a "vnode hook" is defined, pass every created VNode to it
+ if (options.vnode !== undefined) options.vnode(p);
+
+ return p;
+}
+
+/* eslint-disable no-unused-vars */
+
+var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+var hasOwnProperty = Object.prototype.hasOwnProperty;
+var propIsEnumerable = Object.prototype.propertyIsEnumerable;
+
+function toObject(val) {
+ if (val === null || val === undefined) {
+ throw new TypeError('Object.assign cannot be called with null or undefined');
+ }
+
+ return Object(val);
+}
+
+function assign(target, source) {
+ var from;
+ var to = toObject(target);
+ var symbols;
+
+ for (var s = 1; s < arguments.length; s++) {
+ from = Object(arguments[s]);
+
+ for (var key in from) {
+ if (hasOwnProperty.call(from, key)) {
+ to[key] = from[key];
+ }
+ }
+
+ if (getOwnPropertySymbols) {
+ symbols = getOwnPropertySymbols(from);
+ for (var i = 0; i < symbols.length; i++) {
+ if (propIsEnumerable.call(from, symbols[i])) {
+ to[symbols[i]] = from[symbols[i]];
+ }
+ }
+ }
+ }
+
+ return to;
+}
+
+if (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {
+ var runListeners = function runListeners(oEvent) {
+ if (!oEvent) {
+ oEvent = window.event;
+ }
+ for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) {
+ oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent);
+ }
+ break;
+ }
+ }
+ };
+
+ var oListeners = {};
+
+ Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {
+ if (oListeners.hasOwnProperty(sEventType)) {
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;break;
+ }
+ }
+ if (nElIdx === -1) {
+ oEvtListeners.aEls.push(this);
+ oEvtListeners.aEvts.push([fListener]);
+ this["on" + sEventType] = runListeners;
+ } else {
+ var aElListeners = oEvtListeners.aEvts[nElIdx];
+ if (this["on" + sEventType] !== runListeners) {
+ aElListeners.splice(0);
+ this["on" + sEventType] = runListeners;
+ }
+ for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {
+ if (aElListeners[iLstId] === fListener) {
+ return;
+ }
+ }
+ aElListeners.push(fListener);
+ }
+ } else {
+ oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };
+ this["on" + sEventType] = runListeners;
+ }
+ };
+ Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {
+ if (!oListeners.hasOwnProperty(sEventType)) {
+ return;
+ }
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;break;
+ }
+ }
+ if (nElIdx === -1) {
+ return;
+ }
+ for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {
+ if (aElListeners[iLstId] === fListener) {
+ aElListeners.splice(iLstId, 1);
+ }
+ }
+ };
+}
+
+if (typeof Object.create !== 'function') {
+ Object.create = function (proto, propertiesObject) {
+ if (typeof proto !== 'object' && typeof proto !== 'function') {
+ throw new TypeError('Object prototype may only be an Object: ' + proto);
+ } else if (proto === null) {
+ throw new Error("This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.");
+ }
+
+ // if (typeof propertiesObject != 'undefined') {
+ // throw new Error("This browser's implementation of Object.create is a shim and doesn't support a second argument.");
+ // }
+
+ function F() {}
+ F.prototype = proto;
+
+ return new F();
+ };
+}
+
+if (!String.prototype.trim) {
+ String.prototype.trim = function () {
+ return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
+ };
+}
+
+/**
+ * Copy all properties from `props` onto `obj`.
+ * @param {Object} obj Object onto which properties should be copied.
+ * @param {Object} props Object from which to copy properties.
+ * @returns obj
+ * @private
+ */
+function extend(obj, props) {
+ for (var i in props) {
+ obj[i] = props[i];
+ }return obj;
+}
+
+/** Invoke or update a ref, depending on whether it is a function or object ref.
+ * @param {object|function} [ref=null]
+ * @param {any} [value]
+ */
+function applyRef(ref, value) {
+ if (ref) {
+ if (typeof ref == 'function') ref(value);else ref.current = value;
+ }
+}
+
+/**
+ * Call a function asynchronously, as soon as possible. Makes
+ * use of HTML Promise to schedule the callback if available,
+ * otherwise falling back to `setTimeout` (mainly for IE<11).
+ *
+ * @param {Function} callback
+ */
+
+var usePromise = typeof Promise == 'function';
+
+// for native
+if (typeof document !== 'object' && typeof global !== 'undefined' && global.__config__) {
+ if (global.__config__.platform === 'android') {
+ usePromise = true;
+ } else {
+ var systemVersion = global.__config__.systemVersion && global.__config__.systemVersion.split('.')[0] || 0;
+ if (systemVersion > 8) {
+ usePromise = true;
+ }
+ }
+}
+
+var defer = usePromise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;
+
+function isArray(obj) {
+ return Object.prototype.toString.call(obj) === '[object Array]';
+}
+
+function nProps(props) {
+ if (!props || isArray(props)) return {};
+ var result = {};
+ Object.keys(props).forEach(function (key) {
+ result[key] = props[key].value;
+ });
+ return result;
+}
+
+/**
+ * Clones the given VNode, optionally adding attributes/props and replacing its children.
+ * @param {VNode} vnode The virtual DOM element to clone
+ * @param {Object} props Attributes/props to add when cloning
+ * @param {VNode} rest Any additional arguments will be used as replacement children.
+ */
+function cloneElement(vnode, props) {
+ return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);
+}
+
+// DOM properties that should NOT have "px" added when numeric
+var IS_NON_DIMENSIONAL$1 = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;
+
+/** Managed queue of dirty components to be re-rendered */
+
+var items = [];
+
+function enqueueRender(component) {
+ if (items.push(component) == 1) {
+(options.debounceRendering || defer)(rerender);
+ }
+}
+
+/** Rerender all enqueued dirty components */
+function rerender() {
+ var p;
+ while (p = items.pop()) {
+ renderComponent(p);
+ }
+}
+
+var mapping = options.mapping;
+/**
+ * Check if two nodes are equivalent.
+ *
+ * @param {Node} node DOM Node to compare
+ * @param {VNode} vnode Virtual DOM node to compare
+ * @param {boolean} [hydrating=false] If true, ignores component constructors when comparing.
+ * @private
+ */
+function isSameNodeType(node, vnode, hydrating) {
+ if (typeof vnode === 'string' || typeof vnode === 'number') {
+ return node.splitText !== undefined;
+ }
+ if (typeof vnode.nodeName === 'string') {
+ var ctor = mapping[vnode.nodeName];
+ if (ctor) {
+ return hydrating || node._componentConstructor === ctor;
+ }
+ return !node._componentConstructor && isNamedNode(node, vnode.nodeName);
+ }
+ return hydrating || node._componentConstructor === vnode.nodeName;
+}
+
+/**
+ * Check if an Element has a given nodeName, case-insensitively.
+ *
+ * @param {Element} node A DOM Element to inspect the name of.
+ * @param {String} nodeName Unnormalized name to compare against.
+ */
+function isNamedNode(node, nodeName) {
+ return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();
+}
+
+/**
+ * Reconstruct Component-style `props` from a VNode.
+ * Ensures default/fallback values from `defaultProps`:
+ * Own-properties of `defaultProps` not present in `vnode.attributes` are added.
+ *
+ * @param {VNode} vnode
+ * @returns {Object} props
+ */
+function getNodeProps(vnode) {
+ var props = extend({}, vnode.attributes);
+ props.children = vnode.children;
+
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (defaultProps !== undefined) {
+ for (var i in defaultProps) {
+ if (props[i] === undefined) {
+ props[i] = defaultProps[i];
+ }
+ }
+ }
+
+ return props;
+}
+
+/** Create an element with the given nodeName.
+ * @param {String} nodeName
+ * @param {Boolean} [isSvg=false] If `true`, creates an element within the SVG namespace.
+ * @returns {Element} node
+ */
+function createNode(nodeName, isSvg) {
+ var node = isSvg ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName) : options.doc.createElement(nodeName);
+ node.normalizedNodeName = nodeName;
+ return node;
+}
+
+function parseCSSText(cssText) {
+ var cssTxt = cssText.replace(/\/\*(.|\s)*?\*\//g, ' ').replace(/\s+/g, ' ');
+ var style = {},
+ _ref = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt],
+ a = _ref[0],
+ b = _ref[1],
+ rule = _ref[2];
+
+ var cssToJs = function cssToJs(s) {
+ return s.replace(/\W+\w/g, function (match) {
+ return match.slice(-1).toUpperCase();
+ });
+ };
+ var properties = rule.split(';').map(function (o) {
+ return o.split(':').map(function (x) {
+ return x && x.trim();
+ });
+ });
+ for (var i = properties, i = Array.isArray(i), i = 0, i = i ? i : i[Symbol.iterator]();;) {
+ var _ref3;
+
+ if (i) {
+ if (i >= i.length) break;
+ _ref3 = i[i++];
+ } else {
+ i = i.next();
+ if (i.done) break;
+ _ref3 = i.value;
+ }
+
+ var _ref2 = _ref3;
+ var property = _ref2[0];
+ var value = _ref2[1];
+ style[cssToJs(property)] = value;
+ }return style;
+}
+
+/** Remove a child node from its parent if attached.
+ * @param {Element} node The node to remove
+ */
+function removeNode(node) {
+ var parentNode = node.parentNode;
+ if (parentNode) parentNode.removeChild(node);
+}
+
+/** Set a named attribute on the given Node, with special behavior for some names and event handlers.
+ * If `value` is `null`, the attribute/handler will be removed.
+ * @param {Element} node An element to mutate
+ * @param {string} name The name/key to set, such as an event or attribute name
+ * @param {any} old The last value that was set for this name/node pair
+ * @param {any} value An attribute value, such as a function to be used as an event handler
+ * @param {Boolean} isSvg Are we currently diffing inside an svg?
+ * @private
+ */
+function setAccessor(node, name, old, value, isSvg) {
+ if (name === 'className') name = 'class';
+
+ if (name === 'key') {
+ // ignore
+ } else if (name === 'ref') {
+ applyRef(old, null);
+ applyRef(value, node);
+ } else if (name === 'class' && !isSvg) {
+ node.className = value || '';
+ } else if (name === 'style') {
+ if (options.isWeb) {
+ if (!value || typeof value === 'string' || typeof old === 'string') {
+ node.style.cssText = value || '';
+ }
+ if (value && typeof value === 'object') {
+ if (typeof old !== 'string') {
+ for (var i in old) {
+ if (!(i in value)) node.style[i] = '';
+ }
+ }
+ for (var i in value) {
+ node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL$1.test(i) === false ? value[i] + 'px' : value[i];
+ }
+ }
+ } else {
+ var oldJson = old,
+ currentJson = value;
+ if (typeof old === 'string') {
+ oldJson = parseCSSText(old);
+ }
+ if (typeof value == 'string') {
+ currentJson = parseCSSText(value);
+ }
+
+ var result = {},
+ changed = false;
+
+ if (oldJson) {
+ for (var key in oldJson) {
+ if (typeof currentJson == 'object' && !(key in currentJson)) {
+ result[key] = '';
+ changed = true;
+ }
+ }
+
+ for (var ckey in currentJson) {
+ if (currentJson[ckey] !== oldJson[ckey]) {
+ result[ckey] = currentJson[ckey];
+ changed = true;
+ }
+ }
+
+ if (changed) {
+ node.setStyles(result);
+ }
+ } else {
+ node.setStyles(currentJson);
+ }
+ }
+ } else if (name === 'dangerouslySetInnerHTML') {
+ if (value) node.innerHTML = value.__html || '';
+ } else if (name[0] == 'o' && name[1] == 'n') {
+ var useCapture = name !== (name = name.replace(/Capture$/, ''));
+ name = name.toLowerCase().substring(2);
+ if (value) {
+ if (!old) {
+ node.addEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.addEventListener('touchstart', touchStart, useCapture);
+ node.addEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ } else {
+ node.removeEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.removeEventListener('touchstart', touchStart, useCapture);
+ node.removeEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ (node._listeners || (node._listeners = {}))[name] = value;
+ } else if (name[0] == 'b' && name[1] == 'i' && name[2] == 'n' && name[3] == 'd') {
+ var useCapture = name !== (name = name.replace(/Capture$/, ''));
+ name = name.toLowerCase().substring(4);
+ if (value) {
+ if (!old) {
+ node.addEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.addEventListener('touchstart', touchStart, useCapture);
+ node.addEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ } else {
+ node.removeEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.removeEventListener('touchstart', touchStart, useCapture);
+ node.removeEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ (node._listeners || (node._listeners = {}))[name] = value;
+ } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {
+ setProperty(node, name, value == null ? '' : value);
+ if (value == null || value === false) node.removeAttribute(name);
+ } else {
+ var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));
+ if (value == null || value === false) {
+ if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.removeAttribute(name);
+ } else if (typeof value !== 'function') {
+ if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);else node.setAttribute(name, value);
+ }
+ }
+}
+
+/** Attempt to set a DOM property to the given value.
+ * IE & FF throw for certain property-value combinations.
+ */
+function setProperty(node, name, value) {
+ try {
+ node[name] = value;
+ } catch (e) {}
+}
+
+/** Proxy an event to hooked event handlers
+ * @private
+ */
+function eventProxy(e) {
+ return this._listeners[e.type](options.event && options.event(e) || e);
+}
+
+function touchStart(e) {
+ this.___touchX = e.touches[0].pageX;
+ this.___touchY = e.touches[0].pageY;
+ this.___scrollTop = document.body.scrollTop;
+}
+
+function touchEnd(e) {
+ if (Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 && Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 && Math.abs(document.body.scrollTop - this.___scrollTop) < 30) {
+ this.dispatchEvent(new CustomEvent('tap', { detail: e }));
+ }
+}
+
+var styleId = 0;
+
+function getCtorName(ctor) {
+ for (var i = 0, len = options.styleCache.length; i < len; i++) {
+ var item = options.styleCache[i];
+
+ if (item.ctor === ctor) {
+ return item.attrName;
+ }
+ }
+
+ var attrName = 's' + styleId;
+ options.styleCache.push({ ctor: ctor, attrName: attrName });
+ styleId++;
+
+ return attrName;
+}
+
+// many thanks to https://github.com/thomaspark/scoper/
+function scoper(css, prefix) {
+ prefix = '[' + prefix.toLowerCase() + ']';
+ // https://www.w3.org/TR/css-syntax-3/#lexical
+ css = css.replace(/\/\*[^*]*\*+([^/][^*]*\*+)*\//g, '');
+ // eslint-disable-next-line
+ var re = new RegExp('([^\r\n,{}:]+)(:[^\r\n,{}]+)?(,(?=[^{}]*{)|\s*{)', 'g');
+ /**
+ * Example:
+ *
+ * .classname::pesudo { color:red }
+ *
+ * g1 is normal selector `.classname`
+ * g2 is pesudo class or pesudo element
+ * g3 is the suffix
+ */
+ css = css.replace(re, function (g0, g1, g2, g3) {
+ if (typeof g2 === 'undefined') {
+ g2 = '';
+ }
+
+ /* eslint-ignore-next-line */
+ if (g1.match(/^\s*(@media|\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/)) {
+ return g1 + g2 + g3;
+ }
+
+ var appendClass = g1.replace(/(\s*)$/, '') + prefix + g2;
+ //let prependClass = prefix + ' ' + g1.trim() + g2;
+
+ return appendClass + g3;
+ //return appendClass + ',' + prependClass + g3;
+ });
+
+ return css;
+}
+
+function addStyle(cssText, id) {
+ id = id.toLowerCase();
+ var ele = document.getElementById(id);
+ var head = document.getElementsByTagName('head')[0];
+ if (ele && ele.parentNode === head) {
+ head.removeChild(ele);
+ }
+
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+ someThingStyles.setAttribute('id', id);
+ if (window.ActiveXObject) {
+ someThingStyles.styleSheet.cssText = cssText;
+ } else {
+ someThingStyles.textContent = cssText;
+ }
+}
+
+function addStyleWithoutId(cssText) {
+ var head = document.getElementsByTagName('head')[0];
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+
+ if (window.ActiveXObject) {
+ someThingStyles.styleSheet.cssText = cssText;
+ } else {
+ someThingStyles.textContent = cssText;
+ }
+}
+
+function addScopedAttrStatic(vdom, attr) {
+ if (options.scopedStyle) {
+ scopeVdom(attr, vdom);
+ }
+}
+
+function addStyleToHead(style, attr) {
+ if (options.scopedStyle) {
+ if (!options.staticStyleMapping[attr]) {
+ addStyle(scoper(style, attr), attr);
+ options.staticStyleMapping[attr] = true;
+ }
+ } else if (!options.staticStyleMapping[attr]) {
+ addStyleWithoutId(style);
+ options.staticStyleMapping[attr] = true;
+ }
+}
+
+function scopeVdom(attr, vdom) {
+ if (typeof vdom === 'object') {
+ vdom.attributes = vdom.attributes || {};
+ vdom.attributes[attr] = '';
+ vdom.css = vdom.css || {};
+ vdom.css[attr] = '';
+ vdom.children.forEach(function (child) {
+ return scopeVdom(attr, child);
+ });
+ }
+}
+
+function scopeHost(vdom, css) {
+ if (typeof vdom === 'object' && css) {
+ vdom.attributes = vdom.attributes || {};
+ for (var key in css) {
+ vdom.attributes[key] = '';
+ }
+ }
+}
+
+/** Queue of components that have been mounted and are awaiting componentDidMount */
+var mounts = [];
+
+/** Diff recursion count, used to track the end of the diff cycle. */
+var diffLevel = 0;
+
+/** Global flag indicating if the diff is currently within an SVG */
+var isSvgMode = false;
+
+/** Global flag indicating if the diff is performing hydration */
+var hydrating = false;
+
+/** Invoke queued componentDidMount lifecycle methods */
+function flushMounts() {
+ var c;
+ while (c = mounts.pop()) {
+ if (options.afterMount) options.afterMount(c);
+ if (c.installed) c.installed();
+ if (c.constructor.css || c.css) {
+ addStyleToHead(c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css, '_s' + getCtorName(c.constructor));
+ }
+ }
+}
+
+/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.
+ * @param {Element} [dom=null] A DOM node to mutate into the shape of the `vnode`
+ * @param {VNode} vnode A VNode (with descendants forming a tree) representing the desired DOM structure
+ * @returns {Element} dom The created/mutated element
+ * @private
+ */
+function diff(dom, vnode, context, mountAll, parent, componentRoot) {
+ // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)
+ if (!diffLevel++) {
+ // when first starting the diff, check if we're diffing an SVG or within an SVG
+ isSvgMode = parent != null && parent.ownerSVGElement !== undefined;
+
+ // hydration is indicated by the existing element to be diffed not having a prop cache
+ hydrating = dom != null && !('__omiattr_' in dom);
+ }
+ var ret;
+
+ if (isArray(vnode)) {
+ vnode = {
+ nodeName: 'span',
+ children: vnode
+ };
+ }
+
+ ret = idiff(dom, vnode, context, mountAll, componentRoot);
+ // append the element if its a new parent
+ if (parent && ret.parentNode !== parent) parent.appendChild(ret);
+
+ // diffLevel being reduced to 0 means we're exiting the diff
+ if (! --diffLevel) {
+ hydrating = false;
+ // invoke queued componentDidMount lifecycle methods
+ if (!componentRoot) flushMounts();
+ }
+
+ return ret;
+}
+
+/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */
+function idiff(dom, vnode, context, mountAll, componentRoot) {
+ var out = dom,
+ prevSvgMode = isSvgMode;
+
+ // empty values (null, undefined, booleans) render as empty Text nodes
+ if (vnode == null || typeof vnode === 'boolean') vnode = '';
+
+ // If the VNode represents a Component, perform a component diff:
+ var vnodeName = vnode.nodeName;
+ if (options.mapping[vnodeName]) {
+ vnode.nodeName = options.mapping[vnodeName];
+ return buildComponentFromVNode(dom, vnode, context, mountAll);
+ }
+ if (typeof vnodeName == 'function') {
+ return buildComponentFromVNode(dom, vnode, context, mountAll);
+ }
+
+ // Fast case: Strings & Numbers create/update Text nodes.
+ if (typeof vnode === 'string' || typeof vnode === 'number') {
+ // update if it's already a Text node:
+ if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) {
+ /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */
+ if (dom.nodeValue != vnode) {
+ dom.nodeValue = vnode;
+ }
+ } else {
+ // it wasn't a Text node: replace it with one and recycle the old Element
+ out = document.createTextNode(vnode);
+ if (dom) {
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+ recollectNodeTree(dom, true);
+ }
+ }
+
+ //ie8 error
+ try {
+ out['__omiattr_'] = true;
+ } catch (e) {}
+
+ return out;
+ }
+
+ // Tracks entering and exiting SVG namespace when descending through the tree.
+ isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode;
+
+ // If there's no existing element or it's the wrong type, create a new one:
+ vnodeName = String(vnodeName);
+ if (!dom || !isNamedNode(dom, vnodeName)) {
+ out = createNode(vnodeName, isSvgMode);
+
+ if (dom) {
+ // move children into the replacement node
+ while (dom.firstChild) {
+ out.appendChild(dom.firstChild);
+ } // if the previous Element was mounted into the DOM, replace it inline
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+
+ // recycle the old element (skips non-Element node types)
+ recollectNodeTree(dom, true);
+ }
+ }
+
+ var fc = out.firstChild,
+ props = out['__omiattr_'],
+ vchildren = vnode.children;
+
+ if (props == null) {
+ props = out['__omiattr_'] = {};
+ for (var a = out.attributes, i = a.length; i--;) {
+ props[a[i].name] = a[i].value;
+ }
+ }
+
+ // Optimization: fast-path for elements containing a single TextNode:
+ if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) {
+ if (fc.nodeValue != vchildren[0]) {
+ fc.nodeValue = vchildren[0];
+ }
+ }
+ // otherwise, if there are existing or new children, diff them:
+ else if (vchildren && vchildren.length || fc != null) {
+ innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null);
+ }
+
+ // Apply attributes/props from VNode to the DOM Element:
+ diffAttributes(out, vnode.attributes, props);
+
+ // restore previous SVG mode: (in case we're exiting an SVG namespace)
+ isSvgMode = prevSvgMode;
+
+ return out;
+}
+
+/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.
+ * @param {Element} dom Element whose children should be compared & mutated
+ * @param {Array} vchildren Array of VNodes to compare to `dom.childNodes`
+ * @param {Object} context Implicitly descendant context object (from most recent `getChildContext()`)
+ * @param {Boolean} mountAll
+ * @param {Boolean} isHydrating If `true`, consumes externally created elements similar to hydration
+ */
+function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {
+ var originalChildren = dom.childNodes,
+ children = [],
+ keyed = {},
+ keyedLen = 0,
+ min = 0,
+ len = originalChildren.length,
+ childrenLen = 0,
+ vlen = vchildren ? vchildren.length : 0,
+ j,
+ c,
+ f,
+ vchild,
+ child;
+
+ // Build up a map of keyed children and an Array of unkeyed children:
+ if (len !== 0) {
+ for (var i = 0; i < len; i++) {
+ var _child = originalChildren[i],
+ props = _child['__omiattr_'],
+ key = vlen && props ? _child._component ? _child._component.__key : props.key : null;
+ if (key != null) {
+ keyedLen++;
+ keyed[key] = _child;
+ } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) {
+ children[childrenLen++] = _child;
+ }
+ }
+ }
+
+ if (vlen !== 0) {
+ for (var i = 0; i < vlen; i++) {
+ vchild = vchildren[i];
+ child = null;
+
+ // attempt to find a node based on key matching
+ var key = vchild.key;
+ if (key != null) {
+ if (keyedLen && keyed[key] !== undefined) {
+ child = keyed[key];
+ keyed[key] = undefined;
+ keyedLen--;
+ }
+ }
+ // attempt to pluck a node of the same type from the existing children
+ else if (!child && min < childrenLen) {
+ for (j = min; j < childrenLen; j++) {
+ if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {
+ child = c;
+ children[j] = undefined;
+ if (j === childrenLen - 1) childrenLen--;
+ if (j === min) min++;
+ break;
+ }
+ }
+ }
+
+ // morph the matched/found/created DOM child to match vchild (deep)
+ child = idiff(child, vchild, context, mountAll);
+
+ f = originalChildren[i];
+ if (child && child !== dom && child !== f) {
+ if (f == null) {
+ dom.appendChild(child);
+ } else if (child === f.nextSibling) {
+ removeNode(f);
+ } else {
+ dom.insertBefore(child, f);
+ }
+ }
+ }
+ }
+
+ // remove unused keyed children:
+ if (keyedLen) {
+ for (var i in keyed) {
+ if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false);
+ }
+ }
+
+ // remove orphaned unkeyed children:
+ while (min <= childrenLen) {
+ if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false);
+ }
+}
+
+/** Recursively recycle (or just unmount) a node and its descendants.
+ * @param {Node} node DOM node to start unmount/removal from
+ * @param {Boolean} [unmountOnly=false] If `true`, only triggers unmount lifecycle, skips removal
+ */
+function recollectNodeTree(node, unmountOnly) {
+ var component = node._component;
+ if (component) {
+ // if node is owned by a Component, unmount that component (ends up recursing back here)
+ unmountComponent(component);
+ } else {
+ // If the node's VNode had a ref function, invoke it with null here.
+ // (this is part of the React spec, and smart for unsetting references)
+ if (node['__omiattr_'] != null) applyRef(node['__omiattr_'].ref, null);
+
+ if (unmountOnly === false || node['__omiattr_'] == null) {
+ removeNode(node);
+ }
+
+ removeChildren(node);
+ }
+}
+
+/** Recollect/unmount all children.
+ * - we use .lastChild here because it causes less reflow than .firstChild
+ * - it's also cheaper than accessing the .childNodes Live NodeList
+ */
+function removeChildren(node) {
+ node = node.lastChild;
+ while (node) {
+ var next = node.previousSibling;
+ recollectNodeTree(node, true);
+ node = next;
+ }
+}
+
+/** Apply differences in attributes from a VNode to the given DOM Element.
+ * @param {Element} dom Element with attributes to diff `attrs` against
+ * @param {Object} attrs The desired end-state key-value attribute pairs
+ * @param {Object} old Current/previous attributes (from previous VNode or element's prop cache)
+ */
+function diffAttributes(dom, attrs, old) {
+ var name;
+
+ // remove attributes no longer present on the vnode by setting them to undefined
+ for (name in old) {
+ if (!(attrs && attrs[name] != null) && old[name] != null) {
+ setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);
+ }
+ }
+
+ // add new & update changed attributes
+ for (name in attrs) {
+ if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) {
+ setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);
+ }
+ }
+}
+
+/** Retains a pool of Components for re-use, keyed on component name.
+ * Note: since component names are not unique or even necessarily available, these are primarily a form of sharding.
+ * @private
+ */
+var components = {};
+
+/** Reclaim a component for later re-use by the recycler. */
+function collectComponent(component) {
+ var name = component.constructor.name;(components[name] || (components[name] = [])).push(component);
+}
+
+/** Create a component. Normalizes differences between PFC's and classful Components. */
+function createComponent(Ctor, props, context, vnode) {
+ var list = components[Ctor.name],
+ inst;
+
+ if (Ctor.prototype && Ctor.prototype.render) {
+ inst = new Ctor(props, context);
+ Component.call(inst, props, context);
+ } else {
+ inst = new Component(props, context);
+ inst.constructor = Ctor;
+ inst.render = doRender;
+ }
+ vnode && (inst.scopedCssAttr = vnode.css);
+
+ if (list) {
+ for (var i = list.length; i--;) {
+ if (list[i].constructor === Ctor) {
+ inst.nextBase = list[i].nextBase;
+ list.splice(i, 1);
+ break;
+ }
+ }
+ }
+ return inst;
+}
+
+/** The `.render()` method for a PFC backing instance. */
+function doRender(props, data, context) {
+ return this.constructor(props, context);
+}
+
+/* obaa 1.0.0
+ * By dntzhang
+ * Github: https://github.com/Tencent/omi
+ * MIT Licensed.
+ */
+
+var obaa = function obaa(target, arr, callback) {
+ var _observe = function _observe(target, arr, callback) {
+ if (!target.$observer) target.$observer = this;
+ var $observer = target.$observer;
+ var eventPropArr = [];
+ if (obaa.isArray(target)) {
+ if (target.length === 0) {
+ target.$observeProps = {};
+ target.$observeProps.$observerPath = '#';
+ }
+ $observer.mock(target);
+ }
+ for (var prop in target) {
+ if (target.hasOwnProperty(prop)) {
+ if (callback) {
+ if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ } else if (obaa.isString(arr) && prop == arr) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ } else {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ }
+ }
+ $observer.target = target;
+ if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = [];
+ var propChanged = callback ? callback : arr;
+ $observer.propertyChangedHandler.push({
+ all: !callback,
+ propChanged: propChanged,
+ eventPropArr: eventPropArr
+ });
+ };
+ _observe.prototype = {
+ onPropertyChanged: function onPropertyChanged(prop, value, oldValue, target, path) {
+ if (value !== oldValue && this.propertyChangedHandler) {
+ var rootName = obaa._getRootName(prop, path);
+ for (var i = 0, len = this.propertyChangedHandler.length; i < len; i++) {
+ var handler = this.propertyChangedHandler[i];
+ if (handler.all || obaa.isInArray(handler.eventPropArr, rootName) || rootName.indexOf('Array-') === 0) {
+ handler.propChanged.call(this.target, prop, value, oldValue, path);
+ }
+ }
+ }
+ if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {
+ this.watch(target, prop, target.$observeProps.$observerPath);
+ }
+ },
+ mock: function mock(target) {
+ var self = this;
+ obaa.methods.forEach(function (item) {
+ target[item] = function () {
+ var old = Array.prototype.slice.call(this, 0);
+ var result = Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ if (new RegExp('\\b' + item + '\\b').test(obaa.triggerStr)) {
+ for (var cprop in this) {
+ if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {
+ self.watch(this, cprop, this.$observeProps.$observerPath);
+ }
+ }
+ //todo
+ self.onPropertyChanged('Array-' + item, this, old, this, this.$observeProps.$observerPath);
+ }
+ return result;
+ };
+ target['pure' + item.substring(0, 1).toUpperCase() + item.substring(1)] = function () {
+ return Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ };
+ });
+ },
+ watch: function watch(target, prop, path) {
+ if (prop === '$observeProps' || prop === '$observer') return;
+ if (obaa.isFunction(target[prop])) return;
+ if (!target.$observeProps) target.$observeProps = {};
+ if (path !== undefined) {
+ target.$observeProps.$observerPath = path;
+ } else {
+ target.$observeProps.$observerPath = '#';
+ }
+ var self = this;
+ var currentValue = target.$observeProps[prop] = target[prop];
+ Object.defineProperty(target, prop, {
+ get: function get() {
+ return this.$observeProps[prop];
+ },
+ set: function set(value) {
+ var old = this.$observeProps[prop];
+ this.$observeProps[prop] = value;
+ self.onPropertyChanged(prop, value, old, this, target.$observeProps.$observerPath);
+ }
+ });
+ if (typeof currentValue == 'object') {
+ if (obaa.isArray(currentValue)) {
+ this.mock(currentValue);
+ if (currentValue.length === 0) {
+ if (!currentValue.$observeProps) currentValue.$observeProps = {};
+ if (path !== undefined) {
+ currentValue.$observeProps.$observerPath = path;
+ } else {
+ currentValue.$observeProps.$observerPath = '#';
+ }
+ }
+ }
+ for (var cprop in currentValue) {
+ if (currentValue.hasOwnProperty(cprop)) {
+ this.watch(currentValue, cprop, target.$observeProps.$observerPath + '-' + prop);
+ }
+ }
+ }
+ }
+ };
+ return new _observe(target, arr, callback);
+};
+
+obaa.methods = ['concat', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift', 'values', 'size'];
+obaa.triggerStr = ['concat', 'copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'size'].join(',');
+
+obaa.isArray = function (obj) {
+ return Object.prototype.toString.call(obj) === '[object Array]';
+};
+
+obaa.isString = function (obj) {
+ return typeof obj === 'string';
+};
+
+obaa.isInArray = function (arr, item) {
+ for (var i = arr.length; --i > -1;) {
+ if (item === arr[i]) return true;
+ }
+ return false;
+};
+
+obaa.isFunction = function (obj) {
+ return Object.prototype.toString.call(obj) == '[object Function]';
+};
+
+obaa._getRootName = function (prop, path) {
+ if (path === '#') {
+ return prop;
+ }
+ return path.split('-')[1];
+};
+
+obaa.add = function (obj, prop) {
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+};
+
+obaa.set = function (obj, prop, value, exec) {
+ if (!exec) {
+ obj[prop] = value;
+ }
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+ if (exec) {
+ obj[prop] = value;
+ }
+};
+
+Array.prototype.size = function (length) {
+ this.length = length;
+};
+
+var callbacks = [];
+var nextTickCallback = [];
+
+function fireTick() {
+ callbacks.forEach(function (item) {
+ item.fn.call(item.scope);
+ });
+
+ nextTickCallback.forEach(function (nextItem) {
+ nextItem.fn.call(nextItem.scope);
+ });
+ nextTickCallback.length = 0;
+}
+
+function proxyUpdate(ele) {
+ var timeout = null;
+ obaa(ele.data, function () {
+ if (ele._willUpdate) {
+ return;
+ }
+ if (ele.constructor.mergeUpdate) {
+ clearTimeout(timeout);
+
+ timeout = setTimeout(function () {
+ ele.update();
+ fireTick();
+ }, 0);
+ } else {
+ ele.update();
+ fireTick();
+ }
+ });
+}
+
+/** Set a component's `props` (generally derived from JSX attributes).
+ * @param {Object} props
+ * @param {Object} [opts]
+ * @param {boolean} [opts.renderSync=false] If `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.
+ * @param {boolean} [opts.render=true] If `false`, no render will be triggered.
+ */
+function setComponentProps(component, props, opts, context, mountAll) {
+ if (component._disable) return;
+ component._disable = true;
+
+ if (component.__ref = props.ref) delete props.ref;
+ if (component.__key = props.key) delete props.key;
+
+ if (!component.base || mountAll) {
+ if (component.beforeInstall) component.beforeInstall();
+ //防止小程序 options 报错
+ if (component.install) component.install({});
+ if (component.constructor.observe) {
+ proxyUpdate(component);
+ }
+ } else if (component.receiveProps) {
+ component.receiveProps(props, component.data, component.props);
+ }
+
+ if (context && context !== component.context) {
+ if (!component.prevContext) component.prevContext = component.context;
+ component.context = context;
+ }
+
+ if (!component.prevProps) component.prevProps = component.props;
+ component.props = props;
+
+ component._disable = false;
+
+ if (opts !== 0) {
+ if (opts === 1 || options.syncComponentUpdates !== false || !component.base) {
+ renderComponent(component, 1, mountAll);
+ } else {
+ enqueueRender(component);
+ }
+ }
+
+ applyRef(component.__ref, component);
+}
+
+function shallowComparison(old, attrs) {
+ var name;
+
+ for (name in old) {
+ if (attrs[name] == null && old[name] != null) {
+ return true;
+ }
+ }
+
+ if (old.children.length > 0 || attrs.children.length > 0) {
+ return true;
+ }
+
+ for (name in attrs) {
+ if (name != 'children') {
+ var type = typeof attrs[name];
+ if (type == 'function' || type == 'object') {
+ return true;
+ } else if (attrs[name] != old[name]) {
+ return true;
+ }
+ }
+ }
+}
+
+/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.
+ * @param {Component} component
+ * @param {Object} [opts]
+ * @param {boolean} [opts.build=false] If `true`, component will build and store a DOM node if not already associated with one.
+ * @private
+ */
+function renderComponent(component, opts, mountAll, isChild) {
+ if (component._disable) return;
+
+ var props = component.props,
+ data = component.data,
+ context = component.context,
+ previousProps = component.prevProps || props,
+ previousState = component.prevState || data,
+ previousContext = component.prevContext || context,
+ isUpdate = component.base,
+ nextBase = component.nextBase,
+ initialBase = isUpdate || nextBase,
+ initialChildComponent = component._component,
+ skip = false,
+ rendered,
+ inst,
+ cbase;
+
+ // if updating
+ if (isUpdate) {
+ component.props = previousProps;
+ component.data = previousState;
+ component.context = previousContext;
+ if (component.store || opts == 2 || shallowComparison(previousProps, props)) {
+ skip = false;
+ if (component.beforeUpdate) {
+ component.beforeUpdate(props, data, context);
+ }
+ } else {
+ skip = true;
+ }
+ component.props = props;
+ component.data = data;
+ component.context = context;
+ }
+
+ component.prevProps = component.prevState = component.prevContext = component.nextBase = null;
+
+ if (!skip) {
+ component.beforeRender && component.beforeRender();
+ rendered = component.render(props, data, context);
+
+ //don't rerender
+ if (component.constructor.css || component.css) {
+ addScopedAttrStatic(rendered, '_s' + getCtorName(component.constructor));
+ }
+
+ scopeHost(rendered, component.scopedCssAttr);
+
+ // context to pass to the child, can be updated via (grand-)parent component
+ if (component.getChildContext) {
+ context = extend(extend({}, context), component.getChildContext());
+ }
+
+ var childComponent = rendered && rendered.nodeName,
+ toUnmount,
+ base,
+ ctor = options.mapping[childComponent];
+
+ if (ctor) {
+ // set up high order component link
+
+ var childProps = getNodeProps(rendered);
+ inst = initialChildComponent;
+
+ if (inst && inst.constructor === ctor && childProps.key == inst.__key) {
+ setComponentProps(inst, childProps, 1, context, false);
+ } else {
+ toUnmount = inst;
+
+ component._component = inst = createComponent(ctor, childProps, context);
+ inst.nextBase = inst.nextBase || nextBase;
+ inst._parentComponent = component;
+ setComponentProps(inst, childProps, 0, context, false);
+ renderComponent(inst, 1, mountAll, true);
+ }
+
+ base = inst.base;
+ } else {
+ cbase = initialBase;
+
+ // destroy high order component link
+ toUnmount = initialChildComponent;
+ if (toUnmount) {
+ cbase = component._component = null;
+ }
+
+ if (initialBase || opts === 1) {
+ if (cbase) cbase._component = null;
+ base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true);
+ }
+ }
+
+ if (initialBase && base !== initialBase && inst !== initialChildComponent) {
+ var baseParent = initialBase.parentNode;
+ if (baseParent && base !== baseParent) {
+ baseParent.replaceChild(base, initialBase);
+
+ if (!toUnmount) {
+ initialBase._component = null;
+ recollectNodeTree(initialBase, false);
+ }
+ }
+ }
+
+ if (toUnmount) {
+ unmountComponent(toUnmount);
+ }
+
+ component.base = base;
+ if (base && !isChild) {
+ var componentRef = component,
+ t = component;
+ while (t = t._parentComponent) {
+(componentRef = t).base = base;
+ }
+ base._component = componentRef;
+ base._componentConstructor = componentRef.constructor;
+ }
+ }
+
+ if (!isUpdate || mountAll) {
+ mounts.unshift(component);
+ } else if (!skip) {
+ // Ensure that pending componentDidMount() hooks of child components
+ // are called before the componentDidUpdate() hook in the parent.
+ // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750
+ // flushMounts();
+
+ if (component.afterUpdate) {
+ //deprecated
+ component.afterUpdate(previousProps, previousState, previousContext);
+ }
+ if (component.updated) {
+ component.updated(previousProps, previousState, previousContext);
+ }
+ if (options.afterUpdate) options.afterUpdate(component);
+ }
+
+ if (component._renderCallbacks != null) {
+ while (component._renderCallbacks.length) {
+ component._renderCallbacks.pop().call(component);
+ }
+ }
+
+ if (!diffLevel && !isChild) flushMounts();
+}
+
+/** Apply the Component referenced by a VNode to the DOM.
+ * @param {Element} dom The DOM node to mutate
+ * @param {VNode} vnode A Component-referencing VNode
+ * @returns {Element} dom The created/mutated element
+ * @private
+ */
+function buildComponentFromVNode(dom, vnode, context, mountAll) {
+ var c = dom && dom._component,
+ originalComponent = c,
+ oldDom = dom,
+ isDirectOwner = c && dom._componentConstructor === vnode.nodeName,
+ isOwner = isDirectOwner,
+ props = getNodeProps(vnode);
+ while (c && !isOwner && (c = c._parentComponent)) {
+ isOwner = c.constructor === vnode.nodeName;
+ }
+
+ if (c && isOwner && (!mountAll || c._component)) {
+ setComponentProps(c, props, 3, context, mountAll);
+ dom = c.base;
+ } else {
+ if (originalComponent && !isDirectOwner) {
+ unmountComponent(originalComponent);
+ dom = oldDom = null;
+ }
+
+ c = createComponent(vnode.nodeName, props, context, vnode);
+ if (dom && !c.nextBase) {
+ c.nextBase = dom;
+ // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:
+ oldDom = null;
+ }
+ setComponentProps(c, props, 1, context, mountAll);
+ dom = c.base;
+
+ if (oldDom && dom !== oldDom) {
+ oldDom._component = null;
+ recollectNodeTree(oldDom, false);
+ }
+ }
+
+ return dom;
+}
+
+/** Remove a component from the DOM and recycle it.
+ * @param {Component} component The Component instance to unmount
+ * @private
+ */
+function unmountComponent(component) {
+ if (options.beforeUnmount) options.beforeUnmount(component);
+
+ var base = component.base;
+
+ component._disable = true;
+
+ if (component.uninstall) component.uninstall();
+
+ component.base = null;
+
+ // recursively tear down & recollect high-order component children:
+ var inner = component._component;
+ if (inner) {
+ unmountComponent(inner);
+ } else if (base) {
+ if (base['__omiattr_'] != null) applyRef(base['__omiattr_'].ref, null);
+
+ component.nextBase = base;
+
+ removeNode(base);
+ collectComponent(component);
+
+ removeChildren(base);
+ }
+
+ applyRef(component.__ref, null);
+}
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+var id = 0;
+
+var Component = function () {
+ function Component(props, store) {
+ _classCallCheck(this, Component);
+
+ this.props = assign(nProps(this.constructor.props), this.constructor.defaultProps, props);
+ this.elementId = id++;
+ this.data = this.constructor.data || this.data || {};
+
+ this._preCss = null;
+
+ this.store = store;
+ }
+
+ Component.prototype.update = function update(callback) {
+ this._willUpdate = true;
+ if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback);
+ renderComponent(this, 2);
+ if (options.componentChange) options.componentChange(this, this.base);
+ this._willUpdate = false;
+ };
+
+ Component.prototype.fire = function fire(type, data) {
+ var _this = this;
+
+ Object.keys(this.props).every(function (key) {
+ if ('on' + type.toLowerCase() === key.toLowerCase()) {
+ _this.props[key]({ detail: data });
+ return false;
+ }
+ return true;
+ });
+ };
+
+ Component.prototype.render = function render() {};
+
+ return Component;
+}();
+
+Component.is = 'WeElement';
+
+/** Render JSX into a `parent` Element.
+ * @param {VNode} vnode A (JSX) VNode to render
+ * @param {Element} parent DOM element to render into
+ * @param {object} [store]
+ * @public
+ */
+function render(vnode, parent, store, empty, merge) {
+ parent = typeof parent === 'string' ? document.querySelector(parent) : parent;
+
+ if (empty) {
+ while (parent.firstChild) {
+ parent.removeChild(parent.firstChild);
+ }
+ }
+
+ if (merge) {
+ merge = typeof merge === 'string' ? document.querySelector(merge) : merge;
+ }
+
+ return diff(merge, vnode, store, false, parent, false);
+}
+
+function define(name, ctor) {
+ options.mapping[name] = ctor;
+}
+
+function rpx(str) {
+ return str.replace(/([1-9]\d*|0)(\.\d*)*rpx/g, function (a, b) {
+ return window.innerWidth * Number(b) / 750 + 'px';
+ });
+}
+
+function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+var ModelView = function (_Component) {
+ _inherits(ModelView, _Component);
+
+ function ModelView() {
+ _classCallCheck$1(this, ModelView);
+
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+
+ ModelView.prototype.beforeInstall = function beforeInstall() {
+ this.data = this.vm.data;
+ };
+
+ return ModelView;
+}(Component);
+
+ModelView.observe = true;
+ModelView.mergeUpdate = true;
+
+/**
+ * classNames based on https://github.com/JedWatson/classnames
+ * by Jed Watson
+ * Licensed under the MIT License
+ * https://github.com/JedWatson/classnames/blob/master/LICENSE
+ * modified by dntzhang
+ */
+
+var hasOwn = {}.hasOwnProperty;
+
+function classNames() {
+ var classes = [];
+
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (!arg) continue;
+
+ var argType = typeof arg;
+
+ if (argType === 'string' || argType === 'number') {
+ classes.push(arg);
+ } else if (Array.isArray(arg) && arg.length) {
+ var inner = classNames.apply(null, arg);
+ if (inner) {
+ classes.push(inner);
+ }
+ } else if (argType === 'object') {
+ for (var key in arg) {
+ if (hasOwn.call(arg, key) && arg[key]) {
+ classes.push(key);
+ }
+ }
+ }
+ }
+
+ return classes.join(' ');
+}
+
+function extractClass() {
+ var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0),
+ props = _Array$prototype$slic[0],
+ args = _Array$prototype$slic.slice(1);
+
+ if (props) {
+ if (props.class) {
+ args.unshift(props.class);
+ delete props.class;
+ } else if (props.className) {
+ args.unshift(props.className);
+ delete props.className;
+ }
+ }
+ if (args.length > 0) {
+ return { class: classNames.apply(null, args) };
+ }
+}
+
+function getHost(component) {
+ var base = component.base;
+ if (base) {
+ while (base.parentNode) {
+ if (base.parentNode._component) {
+ return base.parentNode._component;
+ } else {
+ base = base.parentNode;
+ }
+ }
+ }
+}
+
+/**
+ * preact-render-to-string based on preact-render-to-string
+ * by Jason Miller
+ * Licensed under the MIT License
+ * https://github.com/developit/preact-render-to-string
+ *
+ * modified by dntzhang
+ */
+
+var encodeEntities = function encodeEntities(s) {
+ return String(s).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"');
+};
+
+var indent = function indent(s, char) {
+ return String(s).replace(/(\n+)/g, '$1' + (char || '\t'));
+};
+
+var mapping$1 = options.mapping;
+
+var VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;
+
+var isLargeString = function isLargeString(s, length, ignoreLines) {
+ return String(s).length > (length || 40) || !ignoreLines && String(s).indexOf('\n') !== -1 || String(s).indexOf('<') !== -1;
+};
+
+var JS_TO_CSS = {};
+
+// Convert an Object style to a CSSText string
+function styleObjToCss(s) {
+ var str = '';
+ for (var prop in s) {
+ var val = s[prop];
+ if (val != null) {
+ if (str) str += ' ';
+ // str += jsToCss(prop);
+ str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());
+ str += ': ';
+ str += val;
+ if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {
+ str += 'px';
+ }
+ str += ';';
+ }
+ }
+ return str || undefined;
+}
+
+/** The default export is an alias of `render()`. */
+function renderToString(vnode, opts, store, isSvgMode, css) {
+ if (vnode == null || typeof vnode === 'boolean') {
+ return '';
+ }
+
+ var nodeName = vnode.nodeName,
+ attributes = vnode.attributes,
+ isComponent = false;
+ store = store || {};
+ opts = Object.assign({
+ scopedCSS: true
+ }, opts);
+
+ var pretty = true && opts.pretty,
+ indentChar = pretty && typeof pretty === 'string' ? pretty : '\t';
+
+ // #text nodes
+ if (typeof vnode !== 'object' && !nodeName) {
+ return encodeEntities(vnode);
+ }
+
+ // components
+ var ctor = mapping$1[nodeName];
+ if (ctor) {
+ isComponent = true;
+
+ var props = getNodeProps$1(vnode),
+ rendered;
+ // class-based components
+ var c = new ctor(props, store);
+ // turn off stateful re-rendering:
+ c._disable = c.__x = true;
+ c.props = props;
+ c.store = store;
+ if (c.install) c.install();
+ if (c.beforeRender) c.beforeRender();
+ rendered = c.render(c.props, c.data, c.store);
+ var tempCss;
+ if (opts.scopedCSS) {
+
+ if (c.constructor.css || c.css) {
+
+ var cssStr = c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css;
+ var cssAttr = '_s' + getCtorName(c.constructor);
+
+ tempCss = '';
+
+ addScopedAttrStatic(rendered, '_s' + getCtorName(c.constructor));
+ }
+
+ c.scopedCSSAttr = vnode.css;
+ scopeHost(rendered, c.scopedCSSAttr);
+ }
+
+ return renderToString(rendered, opts, store, false, tempCss);
+ }
+
+ // render JSX to HTML
+ var s = '',
+ html;
+
+ if (attributes) {
+ var attrs = Object.keys(attributes);
+
+ // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)
+ if (opts && opts.sortAttributes === true) attrs.sort();
+
+ for (var i = 0; i < attrs.length; i++) {
+ var name = attrs[i],
+ v = attributes[name];
+ if (name === 'children') continue;
+
+ if (name.match(/[\s\n\\/='"\0<>]/)) continue;
+
+ if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;
+
+ if (name === 'className') {
+ if (attributes.class) continue;
+ name = 'class';
+ } else if (isSvgMode && name.match(/^xlink:?./)) {
+ name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');
+ }
+
+ if (name === 'style' && v && typeof v === 'object') {
+ v = styleObjToCss(v);
+ }
+
+ var hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);
+ if (hooked || hooked === '') {
+ s += hooked;
+ continue;
+ }
+
+ if (name === 'dangerouslySetInnerHTML') {
+ html = v && v.__html;
+ } else if ((v || v === 0 || v === '') && typeof v !== 'function') {
+ if (v === true || v === '') {
+ v = name;
+ // in non-xml mode, allow boolean attributes
+ if (!opts || !opts.xml) {
+ s += ' ' + name;
+ continue;
+ }
+ }
+ s += ' ' + name + '="' + encodeEntities(v) + '"';
+ }
+ }
+ }
+
+ // account for >1 multiline attribute
+ if (pretty) {
+ var sub = s.replace(/^\n\s*/, ' ');
+ if (sub !== s && !~sub.indexOf('\n')) s = sub;else if (pretty && ~s.indexOf('\n')) s += '\n';
+ }
+
+ s = '<' + nodeName + s + '>';
+ if (String(nodeName).match(/[\s\n\\/='"\0<>]/)) throw s;
+
+ var isVoid = String(nodeName).match(VOID_ELEMENTS);
+ if (isVoid) s = s.replace(/>$/, ' />');
+
+ var pieces = [];
+ if (html) {
+ // if multiline, indent.
+ if (pretty && isLargeString(html)) {
+ html = '\n' + indentChar + indent(html, indentChar);
+ }
+ s += html;
+ } else if (vnode.children) {
+ var hasLarge = pretty && ~s.indexOf('\n');
+ for (var i = 0; i < vnode.children.length; i++) {
+ var child = vnode.children[i];
+ if (child != null && child !== false) {
+ var childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,
+ ret = renderToString(child, opts, store, childSvgMode);
+ if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;
+ if (ret) pieces.push(ret);
+ }
+ }
+ if (pretty && hasLarge) {
+ for (var i = pieces.length; i--;) {
+ pieces[i] = '\n' + indentChar + indent(pieces[i], indentChar);
+ }
+ }
+ }
+
+ if (pieces.length) {
+ s += pieces.join('');
+ } else if (opts && opts.xml) {
+ return s.substring(0, s.length - 1) + ' />';
+ }
+
+ if (!isVoid) {
+ if (pretty && ~s.indexOf('\n')) s += '\n';
+ s += '' + nodeName + '>';
+ }
+
+ if (css) return css + s;
+ return s;
+}
+
+function assign$1(obj, props) {
+ for (var i in props) {
+ obj[i] = props[i];
+ }return obj;
+}
+
+function getNodeProps$1(vnode) {
+ var props = assign$1({}, vnode.attributes);
+ props.children = vnode.children;
+
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (defaultProps !== undefined) {
+ for (var i in defaultProps) {
+ if (props[i] === undefined) {
+ props[i] = defaultProps[i];
+ }
+ }
+ }
+
+ return props;
+}
+
+var WeElement = Component;
+var defineElement = define;
+function createRef() {
+ return {};
+}
+
+options.root.Omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+};
+options.root.omi = options.root.Omi;
+options.root.Omi.version = 'omio-1.3.8';
+options.root.Nerv = options.root.Omi
+options.root.___css = ''
+
+var omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+};
+
+export default omi;
+export { h, h as createElement, cloneElement, createRef, Component, render, rerender, options, WeElement, define, rpx, ModelView, defineElement, classNames, extractClass, getHost, renderToString };
+//# sourceMappingURL=omi.esm.js.map
diff --git a/packages/omip/my-app-ts/src/libs/omip-h5/omi.esm.js.map b/packages/omip/my-app-ts/src/libs/omip-h5/omi.esm.js.map
new file mode 100644
index 000000000..00ce6e231
--- /dev/null
+++ b/packages/omip/my-app-ts/src/libs/omip-h5/omi.esm.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"omi.esm.js","sources":["../src/vnode.js","../src/options.js","../src/h.js","../src/util.js","../src/clone-element.js","../src/constants.js","../src/render-queue.js","../src/vdom/index.js","../src/dom/index.js","../src/style.js","../src/vdom/diff.js","../src/vdom/component-recycler.js","../src/obaa.js","../src/tick.js","../src/observe.js","../src/vdom/component.js","../src/component.js","../src/render.js","../src/define.js","../src/rpx.js","../src/model-view.js","../src/class.js","../src/get-host.js","../src/render-to-string.js","../src/omi.js"],"sourcesContent":["/** Virtual DOM Node */\nexport function VNode() {}\n","function getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n if (typeof self !== 'undefined') {\n return self\n } else if (typeof window !== 'undefined') {\n return window\n } else if (typeof global !== 'undefined') {\n return global\n }\n return (function() {\n return this\n })()\n }\n return global\n}\n\n/** Global options\n *\t@public\n *\t@namespace options {Object}\n */\nexport default {\n scopedStyle: true,\n mapping: {},\n isWeb: true,\n staticStyleMapping: {},\n doc: typeof document === 'object' ? document : null,\n root: getGlobal(),\n //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]\n styleCache: []\n //componentChange(component, element) { },\n /** If `true`, `prop` changes trigger synchronous component updates.\n *\t@name syncComponentUpdates\n *\t@type Boolean\n *\t@default true\n */\n //syncComponentUpdates: true,\n\n /** Processes all created VNodes.\n *\t@param {VNode} vnode\tA newly-created VNode to normalize/process\n */\n //vnode(vnode) { }\n\n /** Hook invoked after a component is mounted. */\n //afterMount(component) { },\n\n /** Hook invoked after the DOM is updated with a component's latest render. */\n //afterUpdate(component) { }\n\n /** Hook invoked immediately before a component is unmounted. */\n // beforeUnmount(component) { }\n}\n","import { VNode } from './vnode'\nimport options from './options'\n\nconst stack = []\n\nconst EMPTY_CHILDREN = []\n\n/**\n * JSX/hyperscript reviver.\n * @see http://jasonformat.com/wtf-is-jsx\n * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0\n *\n * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.\n *\n * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation\n * of the structure of a DOM tree. This structure can be realized by recursively comparing it against\n * the current _actual_ DOM structure, and applying only the differences.\n *\n * `h()`/`createElement()` accepts an element name, a list of attributes/props,\n * and optionally children to append to the element.\n *\n * @example The following DOM tree\n *\n * `Hello!
`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nexport function h(nodeName, attributes) {\n let children = EMPTY_CHILDREN,\n lastSimple,\n child,\n simple,\n i\n for (i = arguments.length; i-- > 2; ) {\n stack.push(arguments[i])\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children)\n delete attributes.children\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--; ) stack.push(child[i])\n } else {\n if (typeof child === 'boolean') child = null\n\n if ((simple = typeof nodeName !== 'function')) {\n if (child == null) child = ''\n else if (typeof child === 'number') child = String(child)\n else if (typeof child !== 'string') simple = false\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child\n } else if (children === EMPTY_CHILDREN) {\n children = [child]\n } else {\n children.push(child)\n }\n\n lastSimple = simple\n }\n }\n\n let p = new VNode()\n p.nodeName = nodeName\n p.children = children\n\tp.attributes = attributes == null ? undefined : attributes\n p.key = attributes == null ? undefined : attributes.key\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p)\n\n return p\n}\n","'use strict'\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols\nvar hasOwnProperty = Object.prototype.hasOwnProperty\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined')\n }\n\n return Object(val)\n}\n\nexport function assign(target, source) {\n var from\n var to = toObject(target)\n var symbols\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s])\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key]\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from)\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]]\n }\n }\n }\n }\n\n return to\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var oListeners = {};\n function runListeners(oEvent) {\n if (!oEvent) { oEvent = window.event; }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) { oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent); }\n break;\n }\n }\n }\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { return; }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) { return; }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) { return; }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { aElListeners.splice(iLstId, 1); }\n }\n };\n}\n\n\nif (typeof Object.create !== 'function') {\n Object.create = function(proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto)\n } else if (proto === null) {\n throw new Error(\n \"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\"\n )\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto\n\n return new F()\n }\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n }\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nexport function extend(obj, props) {\n for (let i in props) obj[i] = props[i]\n return obj\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nexport function applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value)\n else ref.current = value\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nlet usePromise = typeof Promise == 'function'\n\n// for native\nif (\n typeof document !== 'object' &&\n typeof global !== 'undefined' &&\n global.__config__\n) {\n if (global.__config__.platform === 'android') {\n usePromise = true\n } else {\n let systemVersion =\n (global.__config__.systemVersion &&\n global.__config__.systemVersion.split('.')[0]) ||\n 0\n if (systemVersion > 8) {\n usePromise = true\n }\n }\n}\n\nexport const defer = usePromise\n ? Promise.resolve().then.bind(Promise.resolve())\n : setTimeout\n\nexport function isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nexport function nProps(props) {\n if (!props || isArray(props)) return {}\n const result = {}\n Object.keys(props).forEach(key => {\n result[key] = props[key].value\n })\n return result\n}","import { extend } from './util'\nimport { h } from './h'\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nexport function cloneElement(vnode, props) {\n return h(\n vnode.nodeName,\n extend(extend({}, vnode.attributes), props),\n arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children\n )\n}\n","// render modes\n\nexport const NO_RENDER = 0\nexport const SYNC_RENDER = 1\nexport const FORCE_RENDER = 2\nexport const ASYNC_RENDER = 3\n\nexport const ATTR_KEY = '__omiattr_'\n\n// DOM properties that should NOT have \"px\" added when numeric\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i\n","import options from './options'\nimport { defer } from './util'\nimport { renderComponent } from './vdom/component'\n\n/** Managed queue of dirty components to be re-rendered */\n\nlet items = []\n\nexport function enqueueRender(component) {\n if (items.push(component) == 1) {\n ;(options.debounceRendering || defer)(rerender)\n }\n}\n\n/** Rerender all enqueued dirty components */\nexport function rerender() {\n\tlet p\n\twhile ( (p = items.pop()) ) {\n renderComponent(p)\n\t}\n}","import { extend } from '../util'\nimport options from '../options'\n\nconst mapping = options.mapping\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nexport function isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName]\n if (ctor) {\n return hydrating || node._componentConstructor === ctor\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName)\n }\n return hydrating || node._componentConstructor === vnode.nodeName\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nexport function isNamedNode(node, nodeName) {\n return (\n node.normalizedNodeName === nodeName ||\n node.nodeName.toLowerCase() === nodeName.toLowerCase()\n )\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nexport function getNodeProps(vnode) {\n let props = extend({}, vnode.attributes)\n props.children = vnode.children\n\n let defaultProps = vnode.nodeName.defaultProps\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i]\n }\n }\n }\n\n return props\n}\n","import { IS_NON_DIMENSIONAL } from '../constants'\nimport { applyRef } from '../util'\nimport options from '../options'\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nexport function createNode(nodeName, isSvg) {\n let node = isSvg\n ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName)\n : options.doc.createElement(nodeName)\n node.normalizedNodeName = nodeName\n return node\n}\n\nfunction parseCSSText(cssText) {\n let cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ')\n let style = {},\n [a, b, rule] = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt]\n let cssToJs = s => s.replace(/\\W+\\w/g, match => match.slice(-1).toUpperCase())\n let properties = rule\n .split(';')\n .map(o => o.split(':').map(x => x && x.trim()))\n for (let [property, value] of properties) style[cssToJs(property)] = value\n return style\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nexport function removeNode(node) {\n let parentNode = node.parentNode\n if (parentNode) parentNode.removeChild(node)\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nexport function setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class'\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null)\n applyRef(value, node)\n } else if (name === 'class' && !isSvg) {\n node.className = value || ''\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || ''\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (let i in old) if (!(i in value)) node.style[i] = ''\n }\n for (let i in value) {\n node.style[i] =\n typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false\n ? value[i] + 'px'\n : value[i]\n }\n }\n } else {\n let oldJson = old,\n currentJson = value\n if (typeof old === 'string') {\n oldJson = parseCSSText(old)\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value)\n }\n\n let result = {},\n changed = false\n\n if (oldJson) {\n for (let key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = ''\n changed = true\n }\n }\n\n for (let ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey]\n changed = true\n }\n }\n\n if (changed) {\n node.setStyles(result)\n }\n } else {\n node.setStyles(currentJson)\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || ''\n } else if (name[0] == 'o' && name[1] == 'n') {\n let useCapture = name !== (name = name.replace(/Capture$/, ''))\n name = name.toLowerCase().substring(2)\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture)\n node.addEventListener('touchend', touchEnd, useCapture)\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture)\n node.removeEventListener('touchend', touchEnd, useCapture)\n }\n }\n ;(node._listeners || (node._listeners = {}))[name] = value\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value)\n if (value == null || value === false) node.removeAttribute(name)\n } else {\n let ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''))\n if (value == null || value === false) {\n if (ns)\n node.removeAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase()\n )\n else node.removeAttribute(name)\n } else if (typeof value !== 'function') {\n if (ns)\n node.setAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase(),\n value\n )\n else node.setAttribute(name, value)\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type]((options.event && options.event(e)) || e)\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX\n this.___touchY = e.touches[0].pageY\n this.___scrollTop = document.body.scrollTop\n}\n\nfunction touchEnd(e) {\n if (\n Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 &&\n Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 &&\n Math.abs(document.body.scrollTop - this.___scrollTop) < 30\n ) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }))\n }\n}","import options from './options'\n\nlet styleId = 0\n\nexport function getCtorName(ctor) {\n for (let i = 0, len = options.styleCache.length; i < len; i++) {\n let item = options.styleCache[i]\n\n if (item.ctor === ctor) {\n return item.attrName\n }\n }\n\n let attrName = 's' + styleId\n options.styleCache.push({ ctor, attrName })\n styleId++\n\n return attrName\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nexport function scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']'\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '')\n // eslint-disable-next-line\n let re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g')\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, (g0, g1, g2, g3) => {\n if (typeof g2 === 'undefined') {\n g2 = ''\n }\n\n /* eslint-ignore-next-line */\n if (\n g1.match(\n /^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/\n )\n ) {\n return g1 + g2 + g3\n }\n\n let appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3\n //return appendClass + ',' + prependClass + g3;\n })\n\n return css\n}\n\nexport function addStyle(cssText, id) {\n id = id.toLowerCase()\n let ele = document.getElementById(id)\n let head = document.getElementsByTagName('head')[0]\n if (ele && ele.parentNode === head) {\n head.removeChild(ele)\n }\n\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n someThingStyles.setAttribute('id', id)\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addStyleWithoutId(cssText) {\n let head = document.getElementsByTagName('head')[0]\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom)\n } \n}\n\nexport function addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr)\n options.staticStyleMapping[attr] = true\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style)\n options.staticStyleMapping[attr] = true\n }\n}\n\nexport function scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {}\n vdom.attributes[attr] = ''\n vdom.css = vdom.css || {}\n vdom.css[attr] = ''\n vdom.children.forEach(child => scopeVdom(attr, child))\n }\n}\n\nexport function scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {}\n for (let key in css) {\n vdom.attributes[key] = ''\n }\n }\n}\n","import { ATTR_KEY } from '../constants'\nimport { isSameNodeType, isNamedNode } from './index'\nimport { buildComponentFromVNode } from './component'\nimport { createNode, setAccessor } from '../dom/index'\nimport { unmountComponent } from './component'\nimport options from '../options'\nimport { applyRef } from '../util'\nimport { removeNode } from '../dom/index'\nimport { isArray } from '../util'\nimport { addStyleToHead, getCtorName } from '../style'\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nexport const mounts = []\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nexport let diffLevel = 0\n\n/** Global flag indicating if the diff is currently within an SVG */\nlet isSvgMode = false\n\n/** Global flag indicating if the diff is performing hydration */\nlet hydrating = false\n\n/** Invoke queued componentDidMount lifecycle methods */\nexport function flushMounts() {\n let c\n while ((c = mounts.pop())) {\n if (options.afterMount) options.afterMount(c)\n if (c.installed) c.installed()\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css), '_s' + getCtorName(c.constructor))\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nexport function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !(ATTR_KEY in dom)\n }\n let ret\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n }\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot)\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret)\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (!--diffLevel) {\n hydrating = false\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts()\n }\n\n return ret\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n let out = dom,\n prevSvgMode = isSvgMode\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = ''\n\n // If the VNode represents a Component, perform a component diff:\n let vnodeName = vnode.nodeName\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName]\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (\n dom &&\n dom.splitText !== undefined &&\n dom.parentNode &&\n (!dom._component || componentRoot)\n ) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode)\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n recollectNodeTree(dom, true)\n }\n }\n\n //ie8 error\n try {\n out[ATTR_KEY] = true\n } catch (e) {}\n\n return out\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode =\n vnodeName === 'svg'\n ? true\n : vnodeName === 'foreignObject'\n ? false\n : isSvgMode\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName)\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode)\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) out.appendChild(dom.firstChild)\n\n // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true)\n }\n }\n\n let fc = out.firstChild,\n props = out[ATTR_KEY],\n vchildren = vnode.children\n\n if (props == null) {\n props = out[ATTR_KEY] = {}\n for (let a = out.attributes, i = a.length; i--; )\n props[a[i].name] = a[i].value\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (\n !hydrating &&\n vchildren &&\n vchildren.length === 1 &&\n typeof vchildren[0] === 'string' &&\n fc != null &&\n fc.splitText !== undefined &&\n fc.nextSibling == null\n ) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0]\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if ((vchildren && vchildren.length) || fc != null) {\n innerDiffNode(\n out,\n vchildren,\n context,\n mountAll,\n hydrating || props.dangerouslySetInnerHTML != null\n )\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props)\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode\n\n return out\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n let originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (let i = 0; i < len; i++) {\n let child = originalChildren[i],\n props = child[ATTR_KEY],\n key =\n vlen && props\n ? child._component\n ? child._component.__key\n : props.key\n : null\n if (key != null) {\n keyedLen++\n keyed[key] = child\n } else if (\n props ||\n (child.splitText !== undefined\n ? isHydrating\n ? child.nodeValue.trim()\n : true\n : isHydrating)\n ) {\n children[childrenLen++] = child\n }\n }\n }\n\n if (vlen !== 0) {\n for (let i = 0; i < vlen; i++) {\n vchild = vchildren[i]\n child = null\n\n // attempt to find a node based on key matching\n let key = vchild.key\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key]\n keyed[key] = undefined\n keyedLen--\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (\n children[j] !== undefined &&\n isSameNodeType((c = children[j]), vchild, isHydrating)\n ) {\n child = c\n children[j] = undefined\n if (j === childrenLen - 1) childrenLen--\n if (j === min) min++\n break\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll)\n\n f = originalChildren[i]\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child)\n } else if (child === f.nextSibling) {\n removeNode(f)\n } else {\n dom.insertBefore(child, f)\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (let i in keyed)\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false)\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined)\n recollectNodeTree(child, false)\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nexport function recollectNodeTree(node, unmountOnly) {\n let component = node._component\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component)\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node[ATTR_KEY] != null) applyRef(node[ATTR_KEY].ref, null)\n\n if (unmountOnly === false || node[ATTR_KEY] == null) {\n removeNode(node)\n }\n\n removeChildren(node)\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nexport function removeChildren(node) {\n node = node.lastChild\n while (node) {\n let next = node.previousSibling\n recollectNodeTree(node, true)\n node = next\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n let name\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], (old[name] = undefined), isSvgMode)\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (\n name !== 'children' &&\n name !== 'innerHTML' &&\n (!(name in old) ||\n attrs[name] !==\n (name === 'value' || name === 'checked' ? dom[name] : old[name]))\n ) {\n setAccessor(dom, name, old[name], (old[name] = attrs[name]), isSvgMode)\n }\n }\n}\n","import Component from '../component'\nimport options from '../options'\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nconst components = {}\n\n/** Reclaim a component for later re-use by the recycler. */\nexport function collectComponent(component) {\n let name = component.constructor.name\n ;(components[name] || (components[name] = [])).push(component)\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nexport function createComponent(Ctor, props, context, vnode) {\n let list = components[Ctor.name],\n inst\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context)\n Component.call(inst, props, context)\n } else {\n inst = new Component(props, context)\n inst.constructor = Ctor\n inst.render = doRender\n }\n vnode && (inst.scopedCssAttr = vnode.css)\n\n if (list) {\n for (let i = list.length; i--; ) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase\n list.splice(i, 1)\n break\n }\n }\n }\n return inst\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context)\n}\n","/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function(target, arr, callback) {\n var _observe = function(target, arr, callback) {\n if (!target.$observer) target.$observer = this\n var $observer = target.$observer\n var eventPropArr = []\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {}\n target.$observeProps.$observerPath = '#'\n }\n $observer.mock(target)\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n } else {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n }\n }\n $observer.target = target\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = []\n var propChanged = callback ? callback : arr\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n })\n }\n _observe.prototype = {\n onPropertyChanged: function(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path)\n for (\n var i = 0, len = this.propertyChangedHandler.length;\n i < len;\n i++\n ) {\n var handler = this.propertyChangedHandler[i]\n if (\n handler.all ||\n obaa.isInArray(handler.eventPropArr, rootName) ||\n rootName.indexOf('Array-') === 0\n ) {\n handler.propChanged.call(this.target, prop, value, oldValue, path)\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath)\n }\n },\n mock: function(target) {\n var self = this\n obaa.methods.forEach(function(item) {\n target[item] = function() {\n var old = Array.prototype.slice.call(this, 0)\n var result = Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath)\n }\n }\n //todo\n self.onPropertyChanged(\n 'Array-' + item,\n this,\n old,\n this,\n this.$observeProps.$observerPath\n )\n }\n return result\n }\n target[\n 'pure' + item.substring(0, 1).toUpperCase() + item.substring(1)\n ] = function() {\n return Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n }\n })\n },\n watch: function(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return\n if (obaa.isFunction(target[prop])) return\n if (!target.$observeProps) target.$observeProps = {}\n if (path !== undefined) {\n target.$observeProps.$observerPath = path\n } else {\n target.$observeProps.$observerPath = '#'\n }\n var self = this\n var currentValue = (target.$observeProps[prop] = target[prop])\n Object.defineProperty(target, prop, {\n get: function() {\n return this.$observeProps[prop]\n },\n set: function(value) {\n var old = this.$observeProps[prop]\n this.$observeProps[prop] = value\n self.onPropertyChanged(\n prop,\n value,\n old,\n this,\n target.$observeProps.$observerPath\n )\n }\n })\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue)\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {}\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path\n } else {\n currentValue.$observeProps.$observerPath = '#'\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(\n currentValue,\n cprop,\n target.$observeProps.$observerPath + '-' + prop\n )\n }\n }\n }\n }\n }\n return new _observe(target, arr, callback)\n}\n\nobaa.methods = [\n 'concat',\n 'copyWithin',\n 'entries',\n 'every',\n 'fill',\n 'filter',\n 'find',\n 'findIndex',\n 'forEach',\n 'includes',\n 'indexOf',\n 'join',\n 'keys',\n 'lastIndexOf',\n 'map',\n 'pop',\n 'push',\n 'reduce',\n 'reduceRight',\n 'reverse',\n 'shift',\n 'slice',\n 'some',\n 'sort',\n 'splice',\n 'toLocaleString',\n 'toString',\n 'unshift',\n 'values',\n 'size'\n]\nobaa.triggerStr = [\n 'concat',\n 'copyWithin',\n 'fill',\n 'pop',\n 'push',\n 'reverse',\n 'shift',\n 'sort',\n 'splice',\n 'unshift',\n 'size'\n].join(',')\n\nobaa.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nobaa.isString = function(obj) {\n return typeof obj === 'string'\n}\n\nobaa.isInArray = function(arr, item) {\n for (var i = arr.length; --i > -1; ) {\n if (item === arr[i]) return true\n }\n return false\n}\n\nobaa.isFunction = function(obj) {\n return Object.prototype.toString.call(obj) == '[object Function]'\n}\n\nobaa._getRootName = function(prop, path) {\n if (path === '#') {\n return prop\n }\n return path.split('-')[1]\n}\n\nobaa.add = function(obj, prop) {\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n}\n\nobaa.set = function(obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value\n }\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n if (exec) {\n obj[prop] = value\n }\n}\n\nArray.prototype.size = function(length) {\n this.length = length\n}\n\nexport default obaa\n","const callbacks = []\nconst nextTickCallback = []\n\nexport function tick(fn, scope) {\n callbacks.push({ fn, scope })\n}\n\nexport function fireTick() {\n callbacks.forEach(item => {\n item.fn.call(item.scope)\n })\n\n nextTickCallback.forEach(nextItem => {\n nextItem.fn.call(nextItem.scope)\n })\n nextTickCallback.length = 0\n}\n\nexport function nextTick(fn, scope) {\n nextTickCallback.push({ fn, scope })\n}\n","import obaa from './obaa'\nimport { fireTick } from './tick'\n\nexport function proxyUpdate(ele) {\n let timeout = null\n obaa(ele.data, () => {\n if (ele._willUpdate) {\n return\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n ele.update()\n fireTick()\n }, 0)\n } else {\n ele.update()\n fireTick()\n }\n })\n}\n","import {\n SYNC_RENDER,\n NO_RENDER,\n FORCE_RENDER,\n ASYNC_RENDER,\n ATTR_KEY\n} from '../constants'\nimport options from '../options'\nimport { extend, applyRef } from '../util'\nimport { enqueueRender } from '../render-queue'\nimport { getNodeProps } from './index'\nimport {\n diff,\n mounts,\n diffLevel,\n flushMounts,\n recollectNodeTree,\n removeChildren\n} from './diff'\nimport { createComponent, collectComponent } from './component-recycler'\nimport { removeNode } from '../dom/index'\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost\n} from '../style'\nimport { proxyUpdate } from '../observe'\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nexport function setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return\n component._disable = true\n\n if ((component.__ref = props.ref)) delete props.ref\n if ((component.__key = props.key)) delete props.key\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall()\n if (component.install) component.install()\n if (component.constructor.observe) {\n proxyUpdate(component)\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props)\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context\n component.context = context\n }\n\n if (!component.prevProps) component.prevProps = component.props\n component.props = props\n\n component._disable = false\n\n if (opts !== NO_RENDER) {\n if (\n opts === SYNC_RENDER ||\n options.syncComponentUpdates !== false ||\n !component.base\n ) {\n renderComponent(component, SYNC_RENDER, mountAll)\n } else {\n enqueueRender(component)\n }\n }\n\n applyRef(component.__ref, component)\n}\n\nfunction shallowComparison(old, attrs) {\n let name\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true\n }\n\n for (name in attrs) {\n if (name != 'children') {\n let type = typeof attrs[name]\n if (type == 'function' || type == 'object') {\n return true\n } else if (attrs[name] != old[name]) {\n return true\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nexport function renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return\n\n let props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase\n\n // if updating\n if (isUpdate) {\n component.props = previousProps\n component.data = previousState\n component.context = previousContext\n if (component.store || opts == FORCE_RENDER || shallowComparison(previousProps, props)) {\n skip = false\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context)\n }\n } else {\n skip = true\n }\n component.props = props\n component.data = data\n component.context = context\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null\n\n if (!skip) {\n component.beforeRender && component.beforeRender()\n rendered = component.render(props, data, context)\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(component.constructor)\n )\n }\n\n scopeHost(rendered, component.scopedCssAttr)\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext())\n }\n\n let childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent]\n\n if (ctor) {\n // set up high order component link\n\n let childProps = getNodeProps(rendered)\n inst = initialChildComponent\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, SYNC_RENDER, context, false)\n } else {\n toUnmount = inst\n\n component._component = inst = createComponent(ctor, childProps, context)\n inst.nextBase = inst.nextBase || nextBase\n inst._parentComponent = component\n setComponentProps(inst, childProps, NO_RENDER, context, false)\n renderComponent(inst, SYNC_RENDER, mountAll, true)\n }\n\n base = inst.base\n } else {\n cbase = initialBase\n\n // destroy high order component link\n toUnmount = initialChildComponent\n if (toUnmount) {\n cbase = component._component = null\n }\n\n if (initialBase || opts === SYNC_RENDER) {\n if (cbase) cbase._component = null\n base = diff(\n cbase,\n rendered,\n context,\n mountAll || !isUpdate,\n initialBase && initialBase.parentNode,\n true\n )\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n let baseParent = initialBase.parentNode\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase)\n\n if (!toUnmount) {\n initialBase._component = null\n recollectNodeTree(initialBase, false)\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount)\n }\n\n component.base = base\n if (base && !isChild) {\n let componentRef = component,\n t = component\n while ((t = t._parentComponent)) {\n ;(componentRef = t).base = base\n }\n base._component = componentRef\n base._componentConstructor = componentRef.constructor\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component)\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext)\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext)\n }\n if (options.afterUpdate) options.afterUpdate(component)\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length)\n component._renderCallbacks.pop().call(component)\n }\n\n if (!diffLevel && !isChild) flushMounts()\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nexport function buildComponentFromVNode(dom, vnode, context, mountAll) {\n let c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode)\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, ASYNC_RENDER, context, mountAll)\n dom = c.base\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent)\n dom = oldDom = null\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode)\n if (dom && !c.nextBase) {\n c.nextBase = dom\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null\n }\n setComponentProps(c, props, SYNC_RENDER, context, mountAll)\n dom = c.base\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null\n recollectNodeTree(oldDom, false)\n }\n }\n\n return dom\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nexport function unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component)\n\n let base = component.base\n\n component._disable = true\n\n if (component.uninstall) component.uninstall()\n\n component.base = null\n\n // recursively tear down & recollect high-order component children:\n let inner = component._component\n if (inner) {\n unmountComponent(inner)\n } else if (base) {\n if (base[ATTR_KEY] != null) applyRef(base[ATTR_KEY].ref, null)\n\n component.nextBase = base\n\n removeNode(base)\n collectComponent(component)\n\n removeChildren(base)\n }\n\n applyRef(component.__ref, null)\n}\n","import { FORCE_RENDER } from './constants'\nimport { renderComponent } from './vdom/component'\nimport options from './options'\nimport { nProps, assign } from './util'\n\nlet id = 0\n\nexport default class Component {\n static is = 'WeElement'\n\n constructor(props, store) {\n this.props = assign(\n nProps(this.constructor.props),\n this.constructor.defaultProps,\n props\n )\n this.elementId = id++\n this.data = this.constructor.data || this.data || {}\n\n this._preCss = null\n\n this.store = store\n }\n\n update(callback) {\n this._willUpdate = true\n if (callback)\n (this._renderCallbacks = this._renderCallbacks || []).push(callback)\n renderComponent(this, FORCE_RENDER)\n if (options.componentChange) options.componentChange(this, this.base)\n this._willUpdate = false\n }\n\n fire(type, data) {\n Object.keys(this.props).every(key => {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n this.props[key]({ detail: data })\n return false\n }\n return true\n })\n }\n\n render() {}\n}\n","import { diff } from './vdom/diff'\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nexport function render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n }\n\n if (merge) {\n merge =\n typeof merge === 'string'\n ? document.querySelector(merge)\n : merge\n }\n\n return diff(merge, vnode, store, false, parent, false)\n}\n","import options from './options'\n\nexport function define(name, ctor) {\n options.mapping[name] = ctor\n}\n","export function rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, (a, b) => {\n return (window.innerWidth * Number(b)) / 750 + 'px'\n })\n}\n","import Component from './component'\n\nexport default class ModelView extends Component {\n static observe = true\n\n static mergeUpdate = true\n\n beforeInstall() {\n this.data = this.vm.data\n }\n}\n","/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty\n\nexport function classNames() {\n var classes = []\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i]\n if (!arg) continue\n\n var argType = typeof arg\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg)\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg)\n if (inner) {\n classes.push(inner)\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key)\n }\n }\n }\n }\n\n return classes.join(' ')\n}\n\nexport function extractClass() {\n const [props, ...args] = Array.prototype.slice.call(arguments, 0)\n if (props) {\n if (props.class) {\n args.unshift(props.class)\n delete props.class\n } else if (props.className) {\n args.unshift(props.className)\n delete props.className\n }\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) }\n }\n}\n","export function getHost(component) {\n let base = component.base\n if (base) {\n while (base.parentNode) {\n if (base.parentNode._component) {\n return base.parentNode._component\n } else {\n base = base.parentNode\n }\n }\n }\n}","/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nimport options from './options'\n\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost,\n scoper\n} from './style'\n\n\nconst encodeEntities = s => String(s)\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"');\n\nconst indent = (s, char) => String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nconst mapping = options.mapping\n\nconst VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nconst isLargeString = (s, length, ignoreLines) => (String(s).length > (length || 40) || (!ignoreLines && String(s).indexOf('\\n') !== -1) || String(s).indexOf('<') !== -1);\n\nconst JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n let str = '';\n for (let prop in s) {\n let val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\n/** The default export is an alias of `render()`. */\nexport function renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n let nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n },opts)\n\n let pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n const ctor = mapping[nodeName]\n if (ctor) {\n isComponent = true;\n\n let props = getNodeProps(vnode),\n rendered;\n // class-based components\n let c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n let tempCss \n if(opts.scopedCSS){\n\n if (c.constructor.css || c.css) {\n\n const cssStr = c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css)\n const cssAttr = '_s' + getCtorName(c.constructor)\n\n tempCss = ``\n\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(c.constructor)\n )\n }\n \n c.scopedCSSAttr = vnode.css\n scopeHost(rendered, c.scopedCSSAttr)\n }\n\n return renderToString(rendered, opts, store, false, tempCss);\n }\n\n\n // render JSX to HTML\n let s = '', html;\n\n if (attributes) {\n let attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (let i = 0; i < attrs.length; i++) {\n let name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes.class) continue;\n name = 'class';\n }\n else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n let hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n }\n else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ` ${name}=\"${encodeEntities(v)}\"`;\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n let sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;\n else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = `<${nodeName}${s}>`;\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n let isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n let pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n }\n else if (vnode.children) {\n let hasLarge = pretty && ~s.indexOf('\\n');\n for (let i = 0; i < vnode.children.length; i++) {\n let child = vnode.children[i];\n if (child != null && child !== false) {\n let childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = renderToString(child, opts, store, childSvgMode);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (let i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n }\n else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += `${nodeName}>`;\n }\n\n if(css) return css + s;\n return s;\n}\n\nfunction assign(obj, props) {\n for (let i in props) obj[i] = props[i];\n return obj;\n}\n\nfunction getNodeProps(vnode) {\n let props = assign({}, vnode.attributes);\n props.children = vnode.children;\n\n let defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}","import { h, h as createElement } from './h'\nimport { cloneElement } from './clone-element'\nimport Component from './component'\nimport { render } from './render'\nimport { rerender } from './render-queue'\nimport options from './options'\nimport { define } from './define'\nimport { rpx } from './rpx'\nimport ModelView from './model-view'\nimport { classNames, extractClass } from './class'\nimport { getHost } from './get-host'\nimport { renderToString } from './render-to-string'\n\nconst WeElement = Component\nconst defineElement = define\nfunction createRef() {\n return {}\n}\n\noptions.root.Omi = {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\noptions.root.omi = options.root.Omi\noptions.root.Omi.version = 'omio-1.3.8'\n\nexport default {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n\nexport {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n"],"names":["VNode","getGlobal","global","Math","Array","self","window","document","stack","EMPTY_CHILDREN","h","nodeName","attributes","children","lastSimple","child","simple","i","arguments","length","push","pop","undefined","String","p","key","options","vnode","getOwnPropertySymbols","Object","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","assign","target","source","from","to","symbols","s","call","Element","addEventListener","runListeners","oEvent","event","iLstId","iElId","oEvtListeners","oListeners","type","aEls","aEvts","sEventType","fListener","nElIdx","aElListeners","splice","removeEventListener","create","proto","propertiesObject","Error","F","trim","replace","extend","obj","props","applyRef","ref","value","current","usePromise","Promise","__config__","platform","systemVersion","split","defer","resolve","then","bind","setTimeout","isArray","toString","nProps","result","keys","forEach","cloneElement","slice","NO_RENDER","SYNC_RENDER","FORCE_RENDER","ASYNC_RENDER","ATTR_KEY","IS_NON_DIMENSIONAL","items","enqueueRender","component","debounceRendering","rerender","mapping","isSameNodeType","node","hydrating","splitText","ctor","_componentConstructor","isNamedNode","normalizedNodeName","toLowerCase","getNodeProps","defaultProps","createNode","isSvg","doc","createElementNS","createElement","parseCSSText","cssText","cssTxt","match","a","b","rule","cssToJs","toUpperCase","properties","map","o","x","property","style","removeNode","parentNode","removeChild","setAccessor","name","old","className","isWeb","test","oldJson","currentJson","changed","ckey","setStyles","innerHTML","__html","useCapture","substring","eventProxy","touchStart","touchEnd","_listeners","removeAttribute","ns","removeAttributeNS","setAttributeNS","setAttribute","setProperty","e","___touchX","touches","pageX","___touchY","pageY","___scrollTop","body","scrollTop","abs","changedTouches","dispatchEvent","CustomEvent","detail","styleId","getCtorName","len","styleCache","item","attrName","scoper","css","prefix","re","RegExp","g0","g1","g2","g3","appendClass","addStyle","id","ele","getElementById","head","getElementsByTagName","someThingStyles","appendChild","ActiveXObject","styleSheet","textContent","addStyleWithoutId","addScopedAttrStatic","vdom","attr","scopedStyle","addStyleToHead","staticStyleMapping","scopeVdom","scopeHost","mounts","diffLevel","isSvgMode","flushMounts","c","afterMount","installed","constructor","diff","dom","context","mountAll","parent","componentRoot","ownerSVGElement","ret","idiff","out","prevSvgMode","vnodeName","buildComponentFromVNode","_component","nodeValue","createTextNode","replaceChild","firstChild","fc","vchildren","nextSibling","dangerouslySetInnerHTML","innerDiffNode","isHydrating","originalChildren","childNodes","keyed","keyedLen","min","childrenLen","vlen","j","f","vchild","__key","insertBefore","recollectNodeTree","unmountOnly","removeChildren","lastChild","next","previousSibling","diffAttributes","attrs","components","collectComponent","createComponent","Ctor","list","inst","render","Component","doRender","scopedCssAttr","nextBase","data","obaa","arr","callback","_observe","$observer","eventPropArr","$observeProps","$observerPath","mock","prop","isInArray","watch","isString","propertyChangedHandler","propChanged","oldValue","path","rootName","_getRootName","handler","all","indexOf","methods","apply","triggerStr","cprop","isFunction","onPropertyChanged","currentValue","defineProperty","join","add","set","exec","size","callbacks","nextTickCallback","fireTick","fn","scope","nextItem","proxyUpdate","timeout","_willUpdate","mergeUpdate","update","setComponentProps","opts","_disable","__ref","base","beforeInstall","install","observe","receiveProps","prevContext","prevProps","syncComponentUpdates","shallowComparison","renderComponent","isChild","previousProps","previousState","prevState","previousContext","isUpdate","initialBase","initialChildComponent","skip","rendered","cbase","store","beforeUpdate","beforeRender","getChildContext","childComponent","toUnmount","childProps","_parentComponent","baseParent","componentRef","t","unshift","afterUpdate","updated","_renderCallbacks","originalComponent","oldDom","isDirectOwner","isOwner","unmountComponent","beforeUnmount","uninstall","inner","elementId","_preCss","componentChange","fire","every","is","empty","merge","querySelector","define","rpx","str","innerWidth","Number","ModelView","vm","hasOwn","classNames","classes","arg","argType","extractClass","args","class","getHost","encodeEntities","indent","char","VOID_ELEMENTS","isLargeString","ignoreLines","JS_TO_CSS","styleObjToCss","renderToString","isComponent","pretty","indentChar","__x","tempCss","scopedCSS","cssStr","cssAttr","scopedCSSAttr","html","sortAttributes","sort","v","allAttributes","hooked","attributeHook","xml","sub","isVoid","pieces","hasLarge","childSvgMode","WeElement","defineElement","createRef","root","Omi","omi","version"],"mappings":"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"}
\ No newline at end of file
diff --git a/packages/omip/my-app-ts/src/libs/omip-h5/omi.js b/packages/omip/my-app-ts/src/libs/omip-h5/omi.js
new file mode 100644
index 000000000..0bed2d6b7
--- /dev/null
+++ b/packages/omip/my-app-ts/src/libs/omip-h5/omi.js
@@ -0,0 +1,1092 @@
+!function() {
+ 'use strict';
+ function VNode() {}
+ function h(nodeName, attributes) {
+ var lastSimple, child, simple, i, children = EMPTY_CHILDREN;
+ for (i = arguments.length; i-- > 2; ) stack.push(arguments[i]);
+ if (attributes && null != attributes.children) {
+ if (!stack.length) stack.push(attributes.children);
+ delete attributes.children;
+ }
+ while (stack.length) if ((child = stack.pop()) && void 0 !== child.pop) for (i = child.length; i--; ) stack.push(child[i]); else {
+ if ('boolean' == typeof child) child = null;
+ if (simple = 'function' != typeof nodeName) if (null == child) child = ''; else if ('number' == typeof child) child = String(child); else if ('string' != typeof child) simple = !1;
+ if (simple && lastSimple) children[children.length - 1] += child; else if (children === EMPTY_CHILDREN) children = [ child ]; else children.push(child);
+ lastSimple = simple;
+ }
+ var p = new VNode();
+ p.nodeName = nodeName;
+ p.children = children;
+ p.attributes = null == attributes ? void 0 : attributes;
+ p.key = null == attributes ? void 0 : attributes.key;
+ if (void 0 !== options.vnode) options.vnode(p);
+ return p;
+ }
+ function toObject(val) {
+ if (null === val || void 0 === val) throw new TypeError('Object.assign cannot be called with null or undefined');
+ return Object(val);
+ }
+ function assign(target, source) {
+ var from;
+ var to = toObject(target);
+ var symbols;
+ for (var s = 1; s < arguments.length; s++) {
+ from = Object(arguments[s]);
+ for (var key in from) if (hasOwnProperty.call(from, key)) to[key] = from[key];
+ if (getOwnPropertySymbols) {
+ symbols = getOwnPropertySymbols(from);
+ for (var i = 0; i < symbols.length; i++) if (propIsEnumerable.call(from, symbols[i])) to[symbols[i]] = from[symbols[i]];
+ }
+ }
+ return to;
+ }
+ function extend(obj, props) {
+ for (var i in props) obj[i] = props[i];
+ return obj;
+ }
+ function applyRef(ref, value) {
+ if (ref) if ('function' == typeof ref) ref(value); else ref.current = value;
+ }
+ function isArray(obj) {
+ return '[object Array]' === Object.prototype.toString.call(obj);
+ }
+ function nProps(props) {
+ if (!props || isArray(props)) return {};
+ var result = {};
+ Object.keys(props).forEach(function(key) {
+ result[key] = props[key].value;
+ });
+ return result;
+ }
+ function cloneElement(vnode, props) {
+ return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);
+ }
+ function enqueueRender(component) {
+ if (1 == items.push(component)) (options.debounceRendering || defer)(rerender);
+ }
+ function rerender() {
+ var p;
+ while (p = items.pop()) renderComponent(p);
+ }
+ function isSameNodeType(node, vnode, hydrating) {
+ if ('string' == typeof vnode || 'number' == typeof vnode) return void 0 !== node.splitText;
+ if ('string' == typeof vnode.nodeName) {
+ var ctor = mapping[vnode.nodeName];
+ if (ctor) return hydrating || node._componentConstructor === ctor; else return !node._componentConstructor && isNamedNode(node, vnode.nodeName);
+ }
+ return hydrating || node._componentConstructor === vnode.nodeName;
+ }
+ function isNamedNode(node, nodeName) {
+ return node.__n === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();
+ }
+ function getNodeProps(vnode) {
+ var props = extend({}, vnode.attributes);
+ props.children = vnode.children;
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (void 0 !== defaultProps) for (var i in defaultProps) if (void 0 === props[i]) props[i] = defaultProps[i];
+ return props;
+ }
+ function createNode(nodeName, isSvg) {
+ var node = isSvg ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName) : options.doc.createElement(nodeName);
+ node.__n = nodeName;
+ return node;
+ }
+ function parseCSSText(cssText) {
+ var cssTxt = cssText.replace(/\/\*(.|\s)*?\*\//g, ' ').replace(/\s+/g, ' ');
+ var style = {}, _ref = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [ a, b, cssTxt ], a = _ref[0], b = _ref[1], rule = _ref[2];
+ var properties = rule.split(';').map(function(o) {
+ return o.split(':').map(function(x) {
+ return x && x.trim();
+ });
+ });
+ for (var i = properties, i = Array.isArray(i), i = 0, i = i ? i : i[Symbol.iterator](); ;) {
+ var _ref3;
+ if (i) {
+ if (i >= i.length) break;
+ _ref3 = i[i++];
+ } else {
+ i = i.next();
+ if (i.done) break;
+ _ref3 = i.value;
+ }
+ var _ref2 = _ref3;
+ var property = _ref2[0];
+ var value = _ref2[1];
+ style[function(s) {
+ return s.replace(/\W+\w/g, function(match) {
+ return match.slice(-1).toUpperCase();
+ });
+ }(property)] = value;
+ }
+ return style;
+ }
+ function removeNode(node) {
+ var parentNode = node.parentNode;
+ if (parentNode) parentNode.removeChild(node);
+ }
+ function setAccessor(node, name, old, value, isSvg) {
+ if ('className' === name) name = 'class';
+ if ('key' === name) ; else if ('ref' === name) {
+ applyRef(old, null);
+ applyRef(value, node);
+ } else if ('class' === name && !isSvg) node.className = value || ''; else if ('style' === name) if (options.isWeb) {
+ if (!value || 'string' == typeof value || 'string' == typeof old) node.style.cssText = value || '';
+ if (value && 'object' == typeof value) {
+ if ('string' != typeof old) for (var i in old) if (!(i in value)) node.style[i] = '';
+ for (var i in value) node.style[i] = 'number' == typeof value[i] && !1 === IS_NON_DIMENSIONAL$1.test(i) ? value[i] + 'px' : value[i];
+ }
+ } else {
+ var oldJson = old, currentJson = value;
+ if ('string' == typeof old) oldJson = parseCSSText(old);
+ if ('string' == typeof value) currentJson = parseCSSText(value);
+ var result = {}, changed = !1;
+ if (oldJson) {
+ for (var key in oldJson) if ('object' == typeof currentJson && !(key in currentJson)) {
+ result[key] = '';
+ changed = !0;
+ }
+ for (var ckey in currentJson) if (currentJson[ckey] !== oldJson[ckey]) {
+ result[ckey] = currentJson[ckey];
+ changed = !0;
+ }
+ if (changed) node.setStyles(result);
+ } else node.setStyles(currentJson);
+ } else if ('dangerouslySetInnerHTML' === name) {
+ if (value) node.innerHTML = value.__html || '';
+ } else if ('o' == name[0] && 'n' == name[1]) {
+ var useCapture = name !== (name = name.replace(/Capture$/, ''));
+ name = name.toLowerCase().substring(2);
+ if (value) {
+ if (!old) {
+ node.addEventListener(name, eventProxy, useCapture);
+ if ('tap' == name) {
+ node.addEventListener('touchstart', touchStart, useCapture);
+ node.addEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ } else {
+ node.removeEventListener(name, eventProxy, useCapture);
+ if ('tap' == name) {
+ node.removeEventListener('touchstart', touchStart, useCapture);
+ node.removeEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ (node.__l || (node.__l = {}))[name] = value;
+ } else if ('list' !== name && 'type' !== name && !isSvg && name in node) {
+ setProperty(node, name, null == value ? '' : value);
+ if (null == value || !1 === value) node.removeAttribute(name);
+ } else {
+ var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));
+ if (null == value || !1 === value) if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase()); else node.removeAttribute(name); else if ('function' != typeof value) if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value); else node.setAttribute(name, value);
+ }
+ }
+ function setProperty(node, name, value) {
+ try {
+ node[name] = value;
+ } catch (e) {}
+ }
+ function eventProxy(e) {
+ return this.__l[e.type](options.event && options.event(e) || e);
+ }
+ function touchStart(e) {
+ this.C = e.touches[0].pageX;
+ this.D = e.touches[0].pageY;
+ this.F = document.body.scrollTop;
+ }
+ function touchEnd(e) {
+ if (Math.abs(e.changedTouches[0].pageX - this.C) < 30 && Math.abs(e.changedTouches[0].pageY - this.D) < 30 && Math.abs(document.body.scrollTop - this.F) < 30) this.dispatchEvent(new CustomEvent('tap', {
+ detail: e
+ }));
+ }
+ function getCtorName(ctor) {
+ for (var i = 0, len = options.styleCache.length; i < len; i++) {
+ var item = options.styleCache[i];
+ if (item.ctor === ctor) return item.attrName;
+ }
+ var attrName = 's' + styleId;
+ options.styleCache.push({
+ ctor: ctor,
+ attrName: attrName
+ });
+ styleId++;
+ return attrName;
+ }
+ function scoper(css, prefix) {
+ prefix = '[' + prefix.toLowerCase() + ']';
+ css = css.replace(/\/\*[^*]*\*+([^\/][^*]*\*+)*\//g, '');
+ var re = new RegExp('([^\r\n,{}:]+)(:[^\r\n,{}]+)?(,(?=[^{}]*{)|s*{)', 'g');
+ css = css.replace(re, function(g0, g1, g2, g3) {
+ if (void 0 === g2) g2 = '';
+ if (g1.match(/^\s*(@media|\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/)) return g1 + g2 + g3;
+ var appendClass = g1.replace(/(\s*)$/, '') + prefix + g2;
+ return appendClass + g3;
+ });
+ return css;
+ }
+ function addStyle(cssText, id) {
+ id = id.toLowerCase();
+ var ele = document.getElementById(id);
+ var head = document.getElementsByTagName('head')[0];
+ if (ele && ele.parentNode === head) head.removeChild(ele);
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+ someThingStyles.setAttribute('id', id);
+ if (window.ActiveXObject) someThingStyles.styleSheet.cssText = cssText; else someThingStyles.textContent = cssText;
+ }
+ function addStyleWithoutId(cssText) {
+ var head = document.getElementsByTagName('head')[0];
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+ if (window.ActiveXObject) someThingStyles.styleSheet.cssText = cssText; else someThingStyles.textContent = cssText;
+ }
+ function addScopedAttrStatic(vdom, attr) {
+ if (options.scopedStyle) scopeVdom(attr, vdom);
+ }
+ function addStyleToHead(style, attr) {
+ if (options.scopedStyle) {
+ if (!options.staticStyleMapping[attr]) {
+ addStyle(scoper(style, attr), attr);
+ options.staticStyleMapping[attr] = !0;
+ }
+ } else if (!options.staticStyleMapping[attr]) {
+ addStyleWithoutId(style);
+ options.staticStyleMapping[attr] = !0;
+ }
+ }
+ function scopeVdom(attr, vdom) {
+ if ('object' == typeof vdom) {
+ vdom.attributes = vdom.attributes || {};
+ vdom.attributes[attr] = '';
+ vdom.css = vdom.css || {};
+ vdom.css[attr] = '';
+ vdom.children.forEach(function(child) {
+ return scopeVdom(attr, child);
+ });
+ }
+ }
+ function scopeHost(vdom, css) {
+ if ('object' == typeof vdom && css) {
+ vdom.attributes = vdom.attributes || {};
+ for (var key in css) vdom.attributes[key] = '';
+ }
+ }
+ function flushMounts() {
+ var c;
+ while (c = mounts.pop()) {
+ if (options.afterMount) options.afterMount(c);
+ if (c.installed) c.installed();
+ if (c.constructor.css || c.css) addStyleToHead(c.constructor.css ? c.constructor.css : 'function' == typeof c.css ? c.css() : c.css, '_s' + getCtorName(c.constructor));
+ }
+ }
+ function diff(dom, vnode, context, mountAll, parent, componentRoot) {
+ if (!diffLevel++) {
+ isSvgMode = null != parent && void 0 !== parent.ownerSVGElement;
+ hydrating = null != dom && !('__omiattr_' in dom);
+ }
+ var ret;
+ if (isArray(vnode)) vnode = {
+ nodeName: 'span',
+ children: vnode
+ };
+ ret = idiff(dom, vnode, context, mountAll, componentRoot);
+ if (parent && ret.parentNode !== parent) parent.appendChild(ret);
+ if (!--diffLevel) {
+ hydrating = !1;
+ if (!componentRoot) flushMounts();
+ }
+ return ret;
+ }
+ function idiff(dom, vnode, context, mountAll, componentRoot) {
+ var out = dom, prevSvgMode = isSvgMode;
+ if (null == vnode || 'boolean' == typeof vnode) vnode = '';
+ var vnodeName = vnode.nodeName;
+ if (options.mapping[vnodeName]) {
+ vnode.nodeName = options.mapping[vnodeName];
+ return buildComponentFromVNode(dom, vnode, context, mountAll);
+ }
+ if ('function' == typeof vnodeName) return buildComponentFromVNode(dom, vnode, context, mountAll);
+ if ('string' == typeof vnode || 'number' == typeof vnode) {
+ if (dom && void 0 !== dom.splitText && dom.parentNode && (!dom._component || componentRoot)) {
+ if (dom.nodeValue != vnode) dom.nodeValue = vnode;
+ } else {
+ out = document.createTextNode(vnode);
+ if (dom) {
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+ recollectNodeTree(dom, !0);
+ }
+ }
+ try {
+ out.__omiattr_ = !0;
+ } catch (e) {}
+ return out;
+ }
+ isSvgMode = 'svg' === vnodeName ? !0 : 'foreignObject' === vnodeName ? !1 : isSvgMode;
+ vnodeName = String(vnodeName);
+ if (!dom || !isNamedNode(dom, vnodeName)) {
+ out = createNode(vnodeName, isSvgMode);
+ if (dom) {
+ while (dom.firstChild) out.appendChild(dom.firstChild);
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+ recollectNodeTree(dom, !0);
+ }
+ }
+ var fc = out.firstChild, props = out.__omiattr_, vchildren = vnode.children;
+ if (null == props) {
+ props = out.__omiattr_ = {};
+ for (var a = out.attributes, i = a.length; i--; ) props[a[i].name] = a[i].value;
+ }
+ if (!hydrating && vchildren && 1 === vchildren.length && 'string' == typeof vchildren[0] && null != fc && void 0 !== fc.splitText && null == fc.nextSibling) {
+ if (fc.nodeValue != vchildren[0]) fc.nodeValue = vchildren[0];
+ } else if (vchildren && vchildren.length || null != fc) innerDiffNode(out, vchildren, context, mountAll, hydrating || null != props.dangerouslySetInnerHTML);
+ diffAttributes(out, vnode.attributes, props);
+ isSvgMode = prevSvgMode;
+ return out;
+ }
+ function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {
+ var j, c, f, vchild, child, originalChildren = dom.childNodes, children = [], keyed = {}, keyedLen = 0, min = 0, len = originalChildren.length, childrenLen = 0, vlen = vchildren ? vchildren.length : 0;
+ if (0 !== len) for (var i = 0; i < len; i++) {
+ var _child = originalChildren[i], props = _child.__omiattr_, key = vlen && props ? _child._component ? _child._component.__k : props.key : null;
+ if (null != key) {
+ keyedLen++;
+ keyed[key] = _child;
+ } else if (props || (void 0 !== _child.splitText ? isHydrating ? _child.nodeValue.trim() : !0 : isHydrating)) children[childrenLen++] = _child;
+ }
+ if (0 !== vlen) for (var i = 0; i < vlen; i++) {
+ vchild = vchildren[i];
+ child = null;
+ var key = vchild.key;
+ if (null != key) {
+ if (keyedLen && void 0 !== keyed[key]) {
+ child = keyed[key];
+ keyed[key] = void 0;
+ keyedLen--;
+ }
+ } else if (!child && min < childrenLen) for (j = min; j < childrenLen; j++) if (void 0 !== children[j] && isSameNodeType(c = children[j], vchild, isHydrating)) {
+ child = c;
+ children[j] = void 0;
+ if (j === childrenLen - 1) childrenLen--;
+ if (j === min) min++;
+ break;
+ }
+ child = idiff(child, vchild, context, mountAll);
+ f = originalChildren[i];
+ if (child && child !== dom && child !== f) if (null == f) dom.appendChild(child); else if (child === f.nextSibling) removeNode(f); else dom.insertBefore(child, f);
+ }
+ if (keyedLen) for (var i in keyed) if (void 0 !== keyed[i]) recollectNodeTree(keyed[i], !1);
+ while (min <= childrenLen) if (void 0 !== (child = children[childrenLen--])) recollectNodeTree(child, !1);
+ }
+ function recollectNodeTree(node, unmountOnly) {
+ var component = node._component;
+ if (component) unmountComponent(component); else {
+ if (null != node.__omiattr_) applyRef(node.__omiattr_.ref, null);
+ if (!1 === unmountOnly || null == node.__omiattr_) removeNode(node);
+ removeChildren(node);
+ }
+ }
+ function removeChildren(node) {
+ node = node.lastChild;
+ while (node) {
+ var next = node.previousSibling;
+ recollectNodeTree(node, !0);
+ node = next;
+ }
+ }
+ function diffAttributes(dom, attrs, old) {
+ var name;
+ for (name in old) if ((!attrs || null == attrs[name]) && null != old[name]) setAccessor(dom, name, old[name], old[name] = void 0, isSvgMode);
+ for (name in attrs) if (!('children' === name || 'innerHTML' === name || name in old && attrs[name] === ('value' === name || 'checked' === name ? dom[name] : old[name]))) setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);
+ }
+ function collectComponent(component) {
+ var name = component.constructor.name;
+ (components[name] || (components[name] = [])).push(component);
+ }
+ function createComponent(Ctor, props, context, vnode) {
+ var inst, list = components[Ctor.name];
+ if (Ctor.prototype && Ctor.prototype.render) {
+ inst = new Ctor(props, context);
+ Component.call(inst, props, context);
+ } else {
+ inst = new Component(props, context);
+ inst.constructor = Ctor;
+ inst.render = doRender;
+ }
+ vnode && (inst.scopedCssAttr = vnode.css);
+ if (list) for (var i = list.length; i--; ) if (list[i].constructor === Ctor) {
+ inst.__b = list[i].__b;
+ list.splice(i, 1);
+ break;
+ }
+ return inst;
+ }
+ function doRender(props, data, context) {
+ return this.constructor(props, context);
+ }
+ function fireTick() {
+ callbacks.forEach(function(item) {
+ item.fn.call(item.scope);
+ });
+ nextTickCallback.forEach(function(nextItem) {
+ nextItem.fn.call(nextItem.scope);
+ });
+ nextTickCallback.length = 0;
+ }
+ function proxyUpdate(ele) {
+ var timeout = null;
+ obaa(ele.data, function() {
+ if (!ele.A) if (ele.constructor.mergeUpdate) {
+ clearTimeout(timeout);
+ timeout = setTimeout(function() {
+ ele.update();
+ fireTick();
+ }, 0);
+ } else {
+ ele.update();
+ fireTick();
+ }
+ });
+ }
+ function setComponentProps(component, props, opts, context, mountAll) {
+ if (!component.__x) {
+ component.__x = !0;
+ if (component.__r = props.ref) delete props.ref;
+ if (component.__k = props.key) delete props.key;
+ if (!component.base || mountAll) {
+ if (component.beforeInstall) component.beforeInstall();
+ if (component.install) component.install();
+ if (component.constructor.observe) proxyUpdate(component);
+ } else if (component.receiveProps) component.receiveProps(props, component.data, component.props);
+ if (context && context !== component.context) {
+ if (!component.__c) component.__c = component.context;
+ component.context = context;
+ }
+ if (!component.__p) component.__p = component.props;
+ component.props = props;
+ component.__x = !1;
+ if (0 !== opts) if (1 === opts || !1 !== options.syncComponentUpdates || !component.base) renderComponent(component, 1, mountAll); else enqueueRender(component);
+ applyRef(component.__r, component);
+ }
+ }
+ function shallowComparison(old, attrs) {
+ var name;
+ for (name in old) if (null == attrs[name] && null != old[name]) return !0;
+ if (old.children.length > 0 || attrs.children.length > 0) return !0;
+ for (name in attrs) if ('children' != name) {
+ var type = typeof attrs[name];
+ if ('function' == type || 'object' == type) return !0; else if (attrs[name] != old[name]) return !0;
+ }
+ }
+ function renderComponent(component, opts, mountAll, isChild) {
+ if (!component.__x) {
+ var rendered, inst, cbase, props = component.props, data = component.data, context = component.context, previousProps = component.__p || props, previousState = component.__s || data, previousContext = component.__c || context, isUpdate = component.base, nextBase = component.__b, initialBase = isUpdate || nextBase, initialChildComponent = component._component, skip = !1;
+ if (isUpdate) {
+ component.props = previousProps;
+ component.data = previousState;
+ component.context = previousContext;
+ if (component.store || 2 == opts || shallowComparison(previousProps, props)) {
+ skip = !1;
+ if (component.beforeUpdate) component.beforeUpdate(props, data, context);
+ } else skip = !0;
+ component.props = props;
+ component.data = data;
+ component.context = context;
+ }
+ component.__p = component.__s = component.__c = component.__b = null;
+ if (!skip) {
+ component.beforeRender && component.beforeRender();
+ rendered = component.render(props, data, context);
+ if (component.constructor.css || component.css) addScopedAttrStatic(rendered, '_s' + getCtorName(component.constructor));
+ scopeHost(rendered, component.scopedCssAttr);
+ if (component.getChildContext) context = extend(extend({}, context), component.getChildContext());
+ var toUnmount, base, childComponent = rendered && rendered.nodeName, ctor = options.mapping[childComponent];
+ if (ctor) {
+ var childProps = getNodeProps(rendered);
+ inst = initialChildComponent;
+ if (inst && inst.constructor === ctor && childProps.key == inst.__k) setComponentProps(inst, childProps, 1, context, !1); else {
+ toUnmount = inst;
+ component._component = inst = createComponent(ctor, childProps, context);
+ inst.__b = inst.__b || nextBase;
+ inst.__u = component;
+ setComponentProps(inst, childProps, 0, context, !1);
+ renderComponent(inst, 1, mountAll, !0);
+ }
+ base = inst.base;
+ } else {
+ cbase = initialBase;
+ toUnmount = initialChildComponent;
+ if (toUnmount) cbase = component._component = null;
+ if (initialBase || 1 === opts) {
+ if (cbase) cbase._component = null;
+ base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, !0);
+ }
+ }
+ if (initialBase && base !== initialBase && inst !== initialChildComponent) {
+ var baseParent = initialBase.parentNode;
+ if (baseParent && base !== baseParent) {
+ baseParent.replaceChild(base, initialBase);
+ if (!toUnmount) {
+ initialBase._component = null;
+ recollectNodeTree(initialBase, !1);
+ }
+ }
+ }
+ if (toUnmount) unmountComponent(toUnmount);
+ component.base = base;
+ if (base && !isChild) {
+ var componentRef = component, t = component;
+ while (t = t.__u) (componentRef = t).base = base;
+ base._component = componentRef;
+ base._componentConstructor = componentRef.constructor;
+ }
+ }
+ if (!isUpdate || mountAll) mounts.unshift(component); else if (!skip) {
+ if (component.afterUpdate) component.afterUpdate(previousProps, previousState, previousContext);
+ if (component.updated) component.updated(previousProps, previousState, previousContext);
+ if (options.afterUpdate) options.afterUpdate(component);
+ }
+ if (null != component.__h) while (component.__h.length) component.__h.pop().call(component);
+ if (!diffLevel && !isChild) flushMounts();
+ }
+ }
+ function buildComponentFromVNode(dom, vnode, context, mountAll) {
+ var c = dom && dom._component, originalComponent = c, oldDom = dom, isDirectOwner = c && dom._componentConstructor === vnode.nodeName, isOwner = isDirectOwner, props = getNodeProps(vnode);
+ while (c && !isOwner && (c = c.__u)) isOwner = c.constructor === vnode.nodeName;
+ if (c && isOwner && (!mountAll || c._component)) {
+ setComponentProps(c, props, 3, context, mountAll);
+ dom = c.base;
+ } else {
+ if (originalComponent && !isDirectOwner) {
+ unmountComponent(originalComponent);
+ dom = oldDom = null;
+ }
+ c = createComponent(vnode.nodeName, props, context, vnode);
+ if (dom && !c.__b) {
+ c.__b = dom;
+ oldDom = null;
+ }
+ setComponentProps(c, props, 1, context, mountAll);
+ dom = c.base;
+ if (oldDom && dom !== oldDom) {
+ oldDom._component = null;
+ recollectNodeTree(oldDom, !1);
+ }
+ }
+ return dom;
+ }
+ function unmountComponent(component) {
+ if (options.beforeUnmount) options.beforeUnmount(component);
+ var base = component.base;
+ component.__x = !0;
+ if (component.uninstall) component.uninstall();
+ component.base = null;
+ var inner = component._component;
+ if (inner) unmountComponent(inner); else if (base) {
+ if (null != base.__omiattr_) applyRef(base.__omiattr_.ref, null);
+ component.__b = base;
+ removeNode(base);
+ collectComponent(component);
+ removeChildren(base);
+ }
+ applyRef(component.__r, null);
+ }
+ function _classCallCheck(instance, Constructor) {
+ if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
+ }
+ function render(vnode, parent, store, empty, merge) {
+ parent = 'string' == typeof parent ? document.querySelector(parent) : parent;
+ if (empty) while (parent.firstChild) parent.removeChild(parent.firstChild);
+ if (merge) merge = 'string' == typeof merge ? document.querySelector(merge) : merge;
+ return diff(merge, vnode, store, !1, parent, !1);
+ }
+ function define(name, ctor) {
+ options.mapping[name] = ctor;
+ }
+ function rpx(str) {
+ return str.replace(/([1-9]\d*|0)(\.\d*)*rpx/g, function(a, b) {
+ return window.innerWidth * Number(b) / 750 + 'px';
+ });
+ }
+ function _classCallCheck$1(instance, Constructor) {
+ if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
+ }
+ function _possibleConstructorReturn(self, call) {
+ if (!self) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ return call && ("object" == typeof call || "function" == typeof call) ? call : self;
+ }
+ function _inherits(subClass, superClass) {
+ if ("function" != typeof superClass && null !== superClass) throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ enumerable: !1,
+ writable: !0,
+ configurable: !0
+ }
+ });
+ if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
+ }
+ function classNames() {
+ var classes = [];
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (arg) {
+ var argType = typeof arg;
+ if ('string' === argType || 'number' === argType) classes.push(arg); else if (Array.isArray(arg) && arg.length) {
+ var inner = classNames.apply(null, arg);
+ if (inner) classes.push(inner);
+ } else if ('object' === argType) for (var key in arg) if (hasOwn.call(arg, key) && arg[key]) classes.push(key);
+ }
+ }
+ return classes.join(' ');
+ }
+ function extractClass() {
+ var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0), props = _Array$prototype$slic[0], args = _Array$prototype$slic.slice(1);
+ if (props) if (props.class) {
+ args.unshift(props.class);
+ delete props.class;
+ } else if (props.className) {
+ args.unshift(props.className);
+ delete props.className;
+ }
+ if (args.length > 0) return {
+ class: classNames.apply(null, args)
+ };
+ }
+ function getHost(component) {
+ var base = component.base;
+ if (base) while (base.parentNode) if (base.parentNode._component) return base.parentNode._component; else base = base.parentNode;
+ }
+ function styleObjToCss(s) {
+ var str = '';
+ for (var prop in s) {
+ var val = s[prop];
+ if (null != val) {
+ if (str) str += ' ';
+ str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());
+ str += ': ';
+ str += val;
+ if ('number' == typeof val && !1 === IS_NON_DIMENSIONAL.test(prop)) str += 'px';
+ str += ';';
+ }
+ }
+ return str || void 0;
+ }
+ function renderToString(vnode, opts, store, isSvgMode, css) {
+ if (null == vnode || 'boolean' == typeof vnode) return '';
+ var nodeName = vnode.nodeName, attributes = vnode.attributes, isComponent = !1;
+ store = store || {};
+ opts = Object.assign({
+ scopedCSS: !0
+ }, opts);
+ var pretty = opts.pretty, indentChar = pretty && 'string' == typeof pretty ? pretty : '\t';
+ if ('object' != typeof vnode && !nodeName) return encodeEntities(vnode);
+ var ctor = mapping$1[nodeName];
+ if (ctor) {
+ isComponent = !0;
+ var rendered, props = getNodeProps$1(vnode);
+ var c = new ctor(props, store);
+ c.__x = c.G = !0;
+ c.props = props;
+ c.store = store;
+ if (c.install) c.install();
+ if (c.beforeRender) c.beforeRender();
+ rendered = c.render(c.props, c.data, c.store);
+ var tempCss;
+ if (opts.scopedCSS) {
+ if (c.constructor.css || c.css) {
+ var cssStr = c.constructor.css ? c.constructor.css : 'function' == typeof c.css ? c.css() : c.css;
+ var cssAttr = '_s' + getCtorName(c.constructor);
+ tempCss = '';
+ addScopedAttrStatic(rendered, '_s' + getCtorName(c.constructor));
+ }
+ c.scopedCSSAttr = vnode.css;
+ scopeHost(rendered, c.scopedCSSAttr);
+ }
+ return renderToString(rendered, opts, store, !1, tempCss);
+ }
+ var html, s = '';
+ if (attributes) {
+ var attrs = Object.keys(attributes);
+ if (opts && !0 === opts.sortAttributes) attrs.sort();
+ for (var i = 0; i < attrs.length; i++) {
+ var name = attrs[i], v = attributes[name];
+ if ('children' !== name) if (!name.match(/[\s\n\\\/='"\0<>]/)) if (opts && opts.allAttributes || 'key' !== name && 'ref' !== name) {
+ if ('className' === name) {
+ if (attributes.class) continue;
+ name = 'class';
+ } else if (isSvgMode && name.match(/^xlink:?./)) name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');
+ if ('style' === name && v && 'object' == typeof v) v = styleObjToCss(v);
+ var hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);
+ if (!hooked && '' !== hooked) {
+ if ('dangerouslySetInnerHTML' === name) html = v && v.__html; else if ((v || 0 === v || '' === v) && 'function' != typeof v) {
+ if (!0 === v || '' === v) {
+ v = name;
+ if (!opts || !opts.xml) {
+ s += ' ' + name;
+ continue;
+ }
+ }
+ s += ' ' + name + '="' + encodeEntities(v) + '"';
+ }
+ } else s += hooked;
+ }
+ }
+ }
+ if (pretty) {
+ var sub = s.replace(/^\n\s*/, ' ');
+ if (sub !== s && !~sub.indexOf('\n')) s = sub; else if (pretty && ~s.indexOf('\n')) s += '\n';
+ }
+ s = '<' + nodeName + s + '>';
+ if (String(nodeName).match(/[\s\n\\\/='"\0<>]/)) throw s;
+ var isVoid = String(nodeName).match(VOID_ELEMENTS);
+ if (isVoid) s = s.replace(/>$/, ' />');
+ var pieces = [];
+ if (html) {
+ if (pretty && isLargeString(html)) html = '\n' + indentChar + indent(html, indentChar);
+ s += html;
+ } else if (vnode.children) {
+ var hasLarge = pretty && ~s.indexOf('\n');
+ for (var i = 0; i < vnode.children.length; i++) {
+ var child = vnode.children[i];
+ if (null != child && !1 !== child) {
+ var childSvgMode = 'svg' === nodeName ? !0 : 'foreignObject' === nodeName ? !1 : isSvgMode, ret = renderToString(child, opts, store, childSvgMode);
+ if (pretty && !hasLarge && isLargeString(ret)) hasLarge = !0;
+ if (ret) pieces.push(ret);
+ }
+ }
+ if (pretty && hasLarge) for (var i = pieces.length; i--; ) pieces[i] = '\n' + indentChar + indent(pieces[i], indentChar);
+ }
+ if (pieces.length) s += pieces.join(''); else if (opts && opts.xml) return s.substring(0, s.length - 1) + ' />';
+ if (!isVoid) {
+ if (pretty && ~s.indexOf('\n')) s += '\n';
+ s += '' + nodeName + '>';
+ }
+ if (css) return css + s; else return s;
+ }
+ function assign$1(obj, props) {
+ for (var i in props) obj[i] = props[i];
+ return obj;
+ }
+ function getNodeProps$1(vnode) {
+ var props = assign$1({}, vnode.attributes);
+ props.children = vnode.children;
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (void 0 !== defaultProps) for (var i in defaultProps) if (void 0 === props[i]) props[i] = defaultProps[i];
+ return props;
+ }
+ function createRef() {
+ return {};
+ }
+ var options = {
+ scopedStyle: !0,
+ mapping: {},
+ isWeb: !0,
+ staticStyleMapping: {},
+ doc: 'object' == typeof document ? document : null,
+ root: function() {
+ if ('object' != typeof global || !global || global.Math !== Math || global.Array !== Array) {
+ if ('undefined' != typeof self) return self; else if ('undefined' != typeof window) return window; else if ('undefined' != typeof global) return global;
+ return function() {
+ return this;
+ }();
+ }
+ return global;
+ }(),
+ styleCache: []
+ };
+ var stack = [];
+ var EMPTY_CHILDREN = [];
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
+ if ('undefined' != typeof Element && !Element.prototype.addEventListener) {
+ var runListeners = function(oEvent) {
+ if (!oEvent) oEvent = window.event;
+ for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) if (oEvtListeners.aEls[iElId] === this) {
+ for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent);
+ break;
+ }
+ };
+ var oListeners = {};
+ Element.prototype.addEventListener = function(sEventType, fListener) {
+ if (oListeners.hasOwnProperty(sEventType)) {
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;
+ break;
+ }
+ if (-1 === nElIdx) {
+ oEvtListeners.aEls.push(this);
+ oEvtListeners.aEvts.push([ fListener ]);
+ this["on" + sEventType] = runListeners;
+ } else {
+ var aElListeners = oEvtListeners.aEvts[nElIdx];
+ if (this["on" + sEventType] !== runListeners) {
+ aElListeners.splice(0);
+ this["on" + sEventType] = runListeners;
+ }
+ for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) if (aElListeners[iLstId] === fListener) return;
+ aElListeners.push(fListener);
+ }
+ } else {
+ oListeners[sEventType] = {
+ aEls: [ this ],
+ aEvts: [ [ fListener ] ]
+ };
+ this["on" + sEventType] = runListeners;
+ }
+ };
+ Element.prototype.removeEventListener = function(sEventType, fListener) {
+ if (oListeners.hasOwnProperty(sEventType)) {
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;
+ break;
+ }
+ if (-1 !== nElIdx) for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) if (aElListeners[iLstId] === fListener) aElListeners.splice(iLstId, 1);
+ }
+ };
+ }
+ if ('function' != typeof Object.create) Object.create = function(proto, propertiesObject) {
+ function F() {}
+ if ('object' != typeof proto && 'function' != typeof proto) throw new TypeError('Object prototype may only be an Object: ' + proto); else if (null === proto) throw new Error("This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.");
+ F.prototype = proto;
+ return new F();
+ };
+ if (!String.prototype.trim) String.prototype.trim = function() {
+ return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
+ };
+ var usePromise = 'function' == typeof Promise;
+ if ('object' != typeof document && 'undefined' != typeof global && global.v) if ('android' === global.v.platform) usePromise = !0; else {
+ var systemVersion = global.v.systemVersion && global.v.systemVersion.split('.')[0] || 0;
+ if (systemVersion > 8) usePromise = !0;
+ }
+ var defer = usePromise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;
+ var IS_NON_DIMENSIONAL$1 = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;
+ var items = [];
+ var mapping = options.mapping;
+ var styleId = 0;
+ var mounts = [];
+ var diffLevel = 0;
+ var isSvgMode = !1;
+ var hydrating = !1;
+ var components = {};
+ var obaa = function obaa(target, arr, callback) {
+ var _observe = function(target, arr, callback) {
+ if (!target.$observer) target.$observer = this;
+ var $observer = target.$observer;
+ var eventPropArr = [];
+ if (obaa.isArray(target)) {
+ if (0 === target.length) {
+ target.$observeProps = {};
+ target.$observeProps.$observerPath = '#';
+ }
+ $observer.mock(target);
+ }
+ for (var prop in target) if (target.hasOwnProperty(prop)) if (callback) {
+ if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ } else if (obaa.isString(arr) && prop == arr) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ } else {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ $observer.target = target;
+ if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = [];
+ var propChanged = callback ? callback : arr;
+ $observer.propertyChangedHandler.push({
+ all: !callback,
+ propChanged: propChanged,
+ eventPropArr: eventPropArr
+ });
+ };
+ _observe.prototype = {
+ onPropertyChanged: function(prop, value, oldValue, target, path) {
+ if (value !== oldValue && this.propertyChangedHandler) {
+ var rootName = obaa.y(prop, path);
+ for (var i = 0, len = this.propertyChangedHandler.length; i < len; i++) {
+ var handler = this.propertyChangedHandler[i];
+ if (handler.all || obaa.isInArray(handler.eventPropArr, rootName) || 0 === rootName.indexOf('Array-')) handler.propChanged.call(this.target, prop, value, oldValue, path);
+ }
+ }
+ if (0 !== prop.indexOf('Array-') && 'object' == typeof value) this.watch(target, prop, target.$observeProps.$observerPath);
+ },
+ mock: function(target) {
+ var self = this;
+ obaa.methods.forEach(function(item) {
+ target[item] = function() {
+ var old = Array.prototype.slice.call(this, 0);
+ var result = Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ if (new RegExp('\\b' + item + '\\b').test(obaa.triggerStr)) {
+ for (var cprop in this) if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) self.watch(this, cprop, this.$observeProps.$observerPath);
+ self.onPropertyChanged('Array-' + item, this, old, this, this.$observeProps.$observerPath);
+ }
+ return result;
+ };
+ target['pure' + item.substring(0, 1).toUpperCase() + item.substring(1)] = function() {
+ return Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ };
+ });
+ },
+ watch: function(target, prop, path) {
+ if ('$observeProps' !== prop && '$observer' !== prop) if (!obaa.isFunction(target[prop])) {
+ if (!target.$observeProps) target.$observeProps = {};
+ if (void 0 !== path) target.$observeProps.$observerPath = path; else target.$observeProps.$observerPath = '#';
+ var currentValue = target.$observeProps[prop] = target[prop];
+ if ('object' == typeof currentValue) {
+ if (obaa.isArray(currentValue)) {
+ this.mock(currentValue);
+ if (0 === currentValue.length) {
+ if (!currentValue.$observeProps) currentValue.$observeProps = {};
+ if (void 0 !== path) currentValue.$observeProps.$observerPath = path; else currentValue.$observeProps.$observerPath = '#';
+ }
+ }
+ for (var cprop in currentValue) if (currentValue.hasOwnProperty(cprop)) this.watch(currentValue, cprop, target.$observeProps.$observerPath + '-' + prop);
+ }
+ }
+ }
+ };
+ return new _observe(target, arr, callback);
+ };
+ obaa.methods = [ 'concat', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift', 'values', 'size' ];
+ obaa.triggerStr = [ 'concat', 'copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'size' ].join(',');
+ obaa.isArray = function(obj) {
+ return '[object Array]' === Object.prototype.toString.call(obj);
+ };
+ obaa.isString = function(obj) {
+ return 'string' == typeof obj;
+ };
+ obaa.isInArray = function(arr, item) {
+ for (var i = arr.length; --i > -1; ) if (item === arr[i]) return !0;
+ return !1;
+ };
+ obaa.isFunction = function(obj) {
+ return '[object Function]' == Object.prototype.toString.call(obj);
+ };
+ obaa.y = function(prop, path) {
+ if ('#' === path) return prop; else return path.split('-')[1];
+ };
+ obaa.add = function(obj, prop) {
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+ };
+ obaa.set = function(obj, prop, value, exec) {
+ if (!exec) obj[prop] = value;
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+ if (exec) obj[prop] = value;
+ };
+ Array.prototype.size = function(length) {
+ this.length = length;
+ };
+ var callbacks = [];
+ var nextTickCallback = [];
+ var id = 0;
+ var Component = function() {
+ function Component(props, store) {
+ _classCallCheck(this, Component);
+ this.props = assign(nProps(this.constructor.props), this.constructor.defaultProps, props);
+ this.elementId = id++;
+ this.data = this.constructor.data || this.data || {};
+ this.z = null;
+ this.store = store;
+ }
+ Component.prototype.update = function(callback) {
+ this.A = !0;
+ if (callback) (this.__h = this.__h || []).push(callback);
+ renderComponent(this, 2);
+ if (options.componentChange) options.componentChange(this, this.base);
+ this.A = !1;
+ };
+ Component.prototype.fire = function(type, data) {
+ var _this = this;
+ Object.keys(this.props).every(function(key) {
+ if ('on' + type.toLowerCase() === key.toLowerCase()) {
+ _this.props[key]({
+ detail: data
+ });
+ return !1;
+ }
+ return !0;
+ });
+ };
+ Component.prototype.render = function() {};
+ return Component;
+ }();
+ Component.is = 'WeElement';
+ var ModelView = function(_Component) {
+ function ModelView() {
+ _classCallCheck$1(this, ModelView);
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+ _inherits(ModelView, _Component);
+ ModelView.prototype.beforeInstall = function() {
+ this.data = this.vm.data;
+ };
+ return ModelView;
+ }(Component);
+ ModelView.observe = !0;
+ ModelView.mergeUpdate = !0;
+ var hasOwn = {}.hasOwnProperty;
+ var encodeEntities = function(s) {
+ return String(s).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"');
+ };
+ var indent = function(s, char) {
+ return String(s).replace(/(\n+)/g, '$1' + (char || '\t'));
+ };
+ var mapping$1 = options.mapping;
+ var VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;
+ var isLargeString = function(s, length, ignoreLines) {
+ return String(s).length > (length || 40) || !ignoreLines && -1 !== String(s).indexOf('\n') || -1 !== String(s).indexOf('<');
+ };
+ var JS_TO_CSS = {};
+ var WeElement = Component;
+ var defineElement = define;
+ options.root.Omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+ };
+ options.root.omi = options.root.Omi;
+ options.root.Omi.version = 'omio-1.3.8';
+ var Omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+ };
+ if ('undefined' != typeof module) module.exports = Omi; else self.Omi = Omi;
+}();
+//# sourceMappingURL=omi.js.map
\ No newline at end of file
diff --git a/packages/omip/my-app-ts/src/libs/omip-h5/omi.js.flow b/packages/omip/my-app-ts/src/libs/omip-h5/omi.js.flow
new file mode 100755
index 000000000..1340d01c7
--- /dev/null
+++ b/packages/omip/my-app-ts/src/libs/omip-h5/omi.js.flow
@@ -0,0 +1,13 @@
+/* @flow */
+
+import { createElement, cloneElement, Component, type Node } from 'react';
+
+declare var h: createElement;
+
+declare function render(vnode: Node, parent: Element, toReplace?: Element): Element;
+
+export { h, createElement, cloneElement, Component, render };
+export default { h, createElement, cloneElement, Component, render };
+
+declare export function rerender(): void;
+declare export var options: Object;
diff --git a/packages/omip/my-app-ts/src/libs/omip-h5/omi.js.map b/packages/omip/my-app-ts/src/libs/omip-h5/omi.js.map
new file mode 100644
index 000000000..be5c84cfa
--- /dev/null
+++ b/packages/omip/my-app-ts/src/libs/omip-h5/omi.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/vnode.js","../src/h.js","../src/util.js","../src/clone-element.js","../src/constants.js","../src/render-queue.js","../src/vdom/index.js","../src/dom/index.js","../src/style.js","../src/vdom/diff.js","../src/vdom/component-recycler.js","../src/obaa.js","../src/tick.js","../src/observe.js","../src/vdom/component.js","../src/component.js","../src/render.js","../src/define.js","../src/rpx.js","../src/class.js","../src/render-to-string.js","../src/options.js","../src/model-view.js","../src/omi.js"],"names":["VNode","h","nodeName","attributes","lastSimple","child","simple","i","children","EMPTY_CHILDREN","arguments","length","stack","push","pop","undefined","String","p","key","options","vnode","toObject","val","TypeError","Object","assign","target","source","from","to","symbols","s","hasOwnProperty","call","getOwnPropertySymbols","propIsEnumerable","extend","obj","props","applyRef","ref","value","current","isArray","prototype","toString","nProps","result","keys","forEach","cloneElement","slice","ATTR_KEY","component","debounceRendering","defer","rerender","items","enqueueRender","renderComponent","mapping","hydrating","isSameNodeType","node","splitText","_componentConstructor","normalizedNodeName","toLowerCase","defaultProps","doc","createElementNS","createElement","_ref","createNode","a","b","cssTxt","isSvg","rule","split","map","o","x","trim","replace","Array","Symbol","iterator","_ref3","properties","next","done","_ref2","property","style","parseCSSText","match","cssText","parentNode","removeChild","setAccessor","name","old","className","IS_NON_DIMENSIONAL$1","test","oldJson","currentJson","changed","ckey","setStyles","substring","addEventListener","eventProxy","useCapture","touchStart","touchEnd","_listeners","setProperty","removeEventListener","removeAttribute","ns","removeAttributeNS","setAttributeNS","setAttribute","e","this","type","event","___touchY","touches","pageY","Math","abs","changedTouches","pageX","___touchX","document","body","scrollTop","___scrollTop","styleCache","len","item","ctor","attrName","getCtorName","styleId","prefix","re","css","g0","g1","g2","g3","appendClass","addStyle","id","ele","head","getElementsByTagName","appendChild","someThingStyles","getElementById","textContent","window","ActiveXObject","styleSheet","addStyleWithoutId","attr","scopeVdom","addStyleToHead","scopedStyle","addScopedAttrStatic","vdom","staticStyleMapping","scoper","diffLevel","c","mounts","isSvgMode","afterMount","constructor","diff","dom","context","mountAll","parent","componentRoot","ret","out","prevSvgMode","vnodeName","buildComponentFromVNode","_component","createTextNode","replaceChild","recollectNodeTree","vchildren","fc","nodeValue","innerDiffNode","isHydrating","j","originalChildren","keyed","keyedLen","childrenLen","vlen","_child","f","__key","vchild","min","nextSibling","idiff","removeNode","insertBefore","unmountOnly","removeChildren","previousSibling","attrs","collectComponent","components","Ctor","render","inst","Component","createComponent","list","nextBase","splice","data","fireTick","size","scope","callbacks","nextItem","fn","timeout","nextTickCallback","clearTimeout","proxyUpdate","update","setComponentProps","opts","_disable","install","observe","receiveProps","beforeInstall","prevProps","base","shallowComparison","isChild","previousProps","previousState","isUpdate","initialBase","initialChildComponent","previousContext","rendered","cbase","beforeUpdate","store","skip","prevState","prevContext","beforeRender","scopeHost","scopedCssAttr","getChildContext","childComponent","childProps","getNodeProps","toUnmount","baseParent","SYNC_RENDER","componentRef","t","unshift","_parentComponent","updated","afterUpdate","_renderCallbacks","flushMounts","oldDom","originalComponent","isDirectOwner","isOwner","unmountComponent","inner","uninstall","instance","Constructor","querySelector","empty","merge","firstChild","define","rpx","str","superClass","subClass","create","enumerable","writable","configurable","setPrototypeOf","__proto__","hasOwn","argType","classes","arg","_Array$prototype$slic","args","class","extractClass","classNames","apply","VOID_ELEMENTS","isLargeString","styleObjToCss","IS_NON_DIMENSIONAL","prop","JS_TO_CSS","renderToString","scopedCSS","pretty","indentChar","isComponent","tempCss","cssStr","cssAttr","html","sortAttributes","sort","allAttributes","v","attributeHook","hooked","__html","xml","encodeEntities","sub","indexOf","isVoid","pieces","indent","hasLarge","join","assign$1","createRef","isWeb","root","global","self","propertyIsEnumerable","Element","runListeners","oEvent","iLstId","iElId","oEvtListeners","oListeners","aEls","aEvts","sEventType","fListener","nElIdx","aElListeners","proto","propertiesObject","F","Error","usePromise","Promise","__config__","platform","systemVersion","resolve","then","bind","setTimeout","ASYNC_RENDER","obaa","_observe","arr","callback","$observer","eventPropArr","isInArray","$observeProps","$observerPath","isString","watch","propertyChangedHandler","propChanged","onPropertyChanged","path","all","handler","oldValue","rootName","_getRootName","mock","methods","RegExp","cprop","isFunction","toUpperCase","get","currentValue","set","triggerStr","add","exec","elementId","componentChange","_willUpdate","every","is","ModelView","_Component","_inherits","ignoreLines","WeElement","defineElement","Omi","version","getHost","module","exports"],"mappings":"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","file":"omi.js","sourcesContent":["/** Virtual DOM Node */\nexport function VNode() {}\n","import { VNode } from './vnode'\nimport options from './options'\n\nconst stack = []\n\nconst EMPTY_CHILDREN = []\n\n/**\n * JSX/hyperscript reviver.\n * @see http://jasonformat.com/wtf-is-jsx\n * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0\n *\n * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.\n *\n * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation\n * of the structure of a DOM tree. This structure can be realized by recursively comparing it against\n * the current _actual_ DOM structure, and applying only the differences.\n *\n * `h()`/`createElement()` accepts an element name, a list of attributes/props,\n * and optionally children to append to the element.\n *\n * @example The following DOM tree\n *\n * `Hello!
`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nexport function h(nodeName, attributes) {\n let children = EMPTY_CHILDREN,\n lastSimple,\n child,\n simple,\n i\n for (i = arguments.length; i-- > 2; ) {\n stack.push(arguments[i])\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children)\n delete attributes.children\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--; ) stack.push(child[i])\n } else {\n if (typeof child === 'boolean') child = null\n\n if ((simple = typeof nodeName !== 'function')) {\n if (child == null) child = ''\n else if (typeof child === 'number') child = String(child)\n else if (typeof child !== 'string') simple = false\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child\n } else if (children === EMPTY_CHILDREN) {\n children = [child]\n } else {\n children.push(child)\n }\n\n lastSimple = simple\n }\n }\n\n let p = new VNode()\n p.nodeName = nodeName\n p.children = children\n\tp.attributes = attributes == null ? undefined : attributes\n p.key = attributes == null ? undefined : attributes.key\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p)\n\n return p\n}\n","'use strict'\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols\nvar hasOwnProperty = Object.prototype.hasOwnProperty\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined')\n }\n\n return Object(val)\n}\n\nexport function assign(target, source) {\n var from\n var to = toObject(target)\n var symbols\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s])\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key]\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from)\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]]\n }\n }\n }\n }\n\n return to\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var oListeners = {};\n function runListeners(oEvent) {\n if (!oEvent) { oEvent = window.event; }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) { oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent); }\n break;\n }\n }\n }\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { return; }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) { return; }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) { return; }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { aElListeners.splice(iLstId, 1); }\n }\n };\n}\n\n\nif (typeof Object.create !== 'function') {\n Object.create = function(proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto)\n } else if (proto === null) {\n throw new Error(\n \"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\"\n )\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto\n\n return new F()\n }\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n }\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nexport function extend(obj, props) {\n for (let i in props) obj[i] = props[i]\n return obj\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nexport function applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value)\n else ref.current = value\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nlet usePromise = typeof Promise == 'function'\n\n// for native\nif (\n typeof document !== 'object' &&\n typeof global !== 'undefined' &&\n global.__config__\n) {\n if (global.__config__.platform === 'android') {\n usePromise = true\n } else {\n let systemVersion =\n (global.__config__.systemVersion &&\n global.__config__.systemVersion.split('.')[0]) ||\n 0\n if (systemVersion > 8) {\n usePromise = true\n }\n }\n}\n\nexport const defer = usePromise\n ? Promise.resolve().then.bind(Promise.resolve())\n : setTimeout\n\nexport function isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nexport function nProps(props) {\n if (!props || isArray(props)) return {}\n const result = {}\n Object.keys(props).forEach(key => {\n result[key] = props[key].value\n })\n return result\n}","import { extend } from './util'\nimport { h } from './h'\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nexport function cloneElement(vnode, props) {\n return h(\n vnode.nodeName,\n extend(extend({}, vnode.attributes), props),\n arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children\n )\n}\n","// render modes\n\nexport const NO_RENDER = 0\nexport const SYNC_RENDER = 1\nexport const FORCE_RENDER = 2\nexport const ASYNC_RENDER = 3\n\nexport const ATTR_KEY = '__omiattr_'\n\n// DOM properties that should NOT have \"px\" added when numeric\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i\n","import options from './options'\nimport { defer } from './util'\nimport { renderComponent } from './vdom/component'\n\n/** Managed queue of dirty components to be re-rendered */\n\nlet items = []\n\nexport function enqueueRender(component) {\n if (items.push(component) == 1) {\n ;(options.debounceRendering || defer)(rerender)\n }\n}\n\n/** Rerender all enqueued dirty components */\nexport function rerender() {\n\tlet p\n\twhile ( (p = items.pop()) ) {\n renderComponent(p)\n\t}\n}","import { extend } from '../util'\nimport options from '../options'\n\nconst mapping = options.mapping\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nexport function isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName]\n if (ctor) {\n return hydrating || node._componentConstructor === ctor\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName)\n }\n return hydrating || node._componentConstructor === vnode.nodeName\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nexport function isNamedNode(node, nodeName) {\n return (\n node.normalizedNodeName === nodeName ||\n node.nodeName.toLowerCase() === nodeName.toLowerCase()\n )\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nexport function getNodeProps(vnode) {\n let props = extend({}, vnode.attributes)\n props.children = vnode.children\n\n let defaultProps = vnode.nodeName.defaultProps\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i]\n }\n }\n }\n\n return props\n}\n","import { IS_NON_DIMENSIONAL } from '../constants'\nimport { applyRef } from '../util'\nimport options from '../options'\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nexport function createNode(nodeName, isSvg) {\n let node = isSvg\n ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName)\n : options.doc.createElement(nodeName)\n node.normalizedNodeName = nodeName\n return node\n}\n\nfunction parseCSSText(cssText) {\n let cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ')\n let style = {},\n [a, b, rule] = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt]\n let cssToJs = s => s.replace(/\\W+\\w/g, match => match.slice(-1).toUpperCase())\n let properties = rule\n .split(';')\n .map(o => o.split(':').map(x => x && x.trim()))\n for (let [property, value] of properties) style[cssToJs(property)] = value\n return style\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nexport function removeNode(node) {\n let parentNode = node.parentNode\n if (parentNode) parentNode.removeChild(node)\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nexport function setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class'\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null)\n applyRef(value, node)\n } else if (name === 'class' && !isSvg) {\n node.className = value || ''\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || ''\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (let i in old) if (!(i in value)) node.style[i] = ''\n }\n for (let i in value) {\n node.style[i] =\n typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false\n ? value[i] + 'px'\n : value[i]\n }\n }\n } else {\n let oldJson = old,\n currentJson = value\n if (typeof old === 'string') {\n oldJson = parseCSSText(old)\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value)\n }\n\n let result = {},\n changed = false\n\n if (oldJson) {\n for (let key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = ''\n changed = true\n }\n }\n\n for (let ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey]\n changed = true\n }\n }\n\n if (changed) {\n node.setStyles(result)\n }\n } else {\n node.setStyles(currentJson)\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || ''\n } else if (name[0] == 'o' && name[1] == 'n') {\n let useCapture = name !== (name = name.replace(/Capture$/, ''))\n name = name.toLowerCase().substring(2)\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture)\n node.addEventListener('touchend', touchEnd, useCapture)\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture)\n node.removeEventListener('touchend', touchEnd, useCapture)\n }\n }\n ;(node._listeners || (node._listeners = {}))[name] = value\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value)\n if (value == null || value === false) node.removeAttribute(name)\n } else {\n let ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''))\n if (value == null || value === false) {\n if (ns)\n node.removeAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase()\n )\n else node.removeAttribute(name)\n } else if (typeof value !== 'function') {\n if (ns)\n node.setAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase(),\n value\n )\n else node.setAttribute(name, value)\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type]((options.event && options.event(e)) || e)\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX\n this.___touchY = e.touches[0].pageY\n this.___scrollTop = document.body.scrollTop\n}\n\nfunction touchEnd(e) {\n if (\n Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 &&\n Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 &&\n Math.abs(document.body.scrollTop - this.___scrollTop) < 30\n ) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }))\n }\n}","import options from './options'\n\nlet styleId = 0\n\nexport function getCtorName(ctor) {\n for (let i = 0, len = options.styleCache.length; i < len; i++) {\n let item = options.styleCache[i]\n\n if (item.ctor === ctor) {\n return item.attrName\n }\n }\n\n let attrName = 's' + styleId\n options.styleCache.push({ ctor, attrName })\n styleId++\n\n return attrName\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nexport function scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']'\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '')\n // eslint-disable-next-line\n let re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g')\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, (g0, g1, g2, g3) => {\n if (typeof g2 === 'undefined') {\n g2 = ''\n }\n\n /* eslint-ignore-next-line */\n if (\n g1.match(\n /^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/\n )\n ) {\n return g1 + g2 + g3\n }\n\n let appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3\n //return appendClass + ',' + prependClass + g3;\n })\n\n return css\n}\n\nexport function addStyle(cssText, id) {\n id = id.toLowerCase()\n let ele = document.getElementById(id)\n let head = document.getElementsByTagName('head')[0]\n if (ele && ele.parentNode === head) {\n head.removeChild(ele)\n }\n\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n someThingStyles.setAttribute('id', id)\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addStyleWithoutId(cssText) {\n let head = document.getElementsByTagName('head')[0]\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom)\n } \n}\n\nexport function addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr)\n options.staticStyleMapping[attr] = true\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style)\n options.staticStyleMapping[attr] = true\n }\n}\n\nexport function scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {}\n vdom.attributes[attr] = ''\n vdom.css = vdom.css || {}\n vdom.css[attr] = ''\n vdom.children.forEach(child => scopeVdom(attr, child))\n }\n}\n\nexport function scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {}\n for (let key in css) {\n vdom.attributes[key] = ''\n }\n }\n}\n","import { ATTR_KEY } from '../constants'\nimport { isSameNodeType, isNamedNode } from './index'\nimport { buildComponentFromVNode } from './component'\nimport { createNode, setAccessor } from '../dom/index'\nimport { unmountComponent } from './component'\nimport options from '../options'\nimport { applyRef } from '../util'\nimport { removeNode } from '../dom/index'\nimport { isArray } from '../util'\nimport { addStyleToHead, getCtorName } from '../style'\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nexport const mounts = []\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nexport let diffLevel = 0\n\n/** Global flag indicating if the diff is currently within an SVG */\nlet isSvgMode = false\n\n/** Global flag indicating if the diff is performing hydration */\nlet hydrating = false\n\n/** Invoke queued componentDidMount lifecycle methods */\nexport function flushMounts() {\n let c\n while ((c = mounts.pop())) {\n if (options.afterMount) options.afterMount(c)\n if (c.installed) c.installed()\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css), '_s' + getCtorName(c.constructor))\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nexport function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !(ATTR_KEY in dom)\n }\n let ret\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n }\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot)\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret)\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (!--diffLevel) {\n hydrating = false\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts()\n }\n\n return ret\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n let out = dom,\n prevSvgMode = isSvgMode\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = ''\n\n // If the VNode represents a Component, perform a component diff:\n let vnodeName = vnode.nodeName\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName]\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (\n dom &&\n dom.splitText !== undefined &&\n dom.parentNode &&\n (!dom._component || componentRoot)\n ) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode)\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n recollectNodeTree(dom, true)\n }\n }\n\n //ie8 error\n try {\n out[ATTR_KEY] = true\n } catch (e) {}\n\n return out\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode =\n vnodeName === 'svg'\n ? true\n : vnodeName === 'foreignObject'\n ? false\n : isSvgMode\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName)\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode)\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) out.appendChild(dom.firstChild)\n\n // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true)\n }\n }\n\n let fc = out.firstChild,\n props = out[ATTR_KEY],\n vchildren = vnode.children\n\n if (props == null) {\n props = out[ATTR_KEY] = {}\n for (let a = out.attributes, i = a.length; i--; )\n props[a[i].name] = a[i].value\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (\n !hydrating &&\n vchildren &&\n vchildren.length === 1 &&\n typeof vchildren[0] === 'string' &&\n fc != null &&\n fc.splitText !== undefined &&\n fc.nextSibling == null\n ) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0]\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if ((vchildren && vchildren.length) || fc != null) {\n innerDiffNode(\n out,\n vchildren,\n context,\n mountAll,\n hydrating || props.dangerouslySetInnerHTML != null\n )\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props)\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode\n\n return out\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n let originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (let i = 0; i < len; i++) {\n let child = originalChildren[i],\n props = child[ATTR_KEY],\n key =\n vlen && props\n ? child._component\n ? child._component.__key\n : props.key\n : null\n if (key != null) {\n keyedLen++\n keyed[key] = child\n } else if (\n props ||\n (child.splitText !== undefined\n ? isHydrating\n ? child.nodeValue.trim()\n : true\n : isHydrating)\n ) {\n children[childrenLen++] = child\n }\n }\n }\n\n if (vlen !== 0) {\n for (let i = 0; i < vlen; i++) {\n vchild = vchildren[i]\n child = null\n\n // attempt to find a node based on key matching\n let key = vchild.key\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key]\n keyed[key] = undefined\n keyedLen--\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (\n children[j] !== undefined &&\n isSameNodeType((c = children[j]), vchild, isHydrating)\n ) {\n child = c\n children[j] = undefined\n if (j === childrenLen - 1) childrenLen--\n if (j === min) min++\n break\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll)\n\n f = originalChildren[i]\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child)\n } else if (child === f.nextSibling) {\n removeNode(f)\n } else {\n dom.insertBefore(child, f)\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (let i in keyed)\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false)\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined)\n recollectNodeTree(child, false)\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nexport function recollectNodeTree(node, unmountOnly) {\n let component = node._component\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component)\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node[ATTR_KEY] != null) applyRef(node[ATTR_KEY].ref, null)\n\n if (unmountOnly === false || node[ATTR_KEY] == null) {\n removeNode(node)\n }\n\n removeChildren(node)\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nexport function removeChildren(node) {\n node = node.lastChild\n while (node) {\n let next = node.previousSibling\n recollectNodeTree(node, true)\n node = next\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n let name\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], (old[name] = undefined), isSvgMode)\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (\n name !== 'children' &&\n name !== 'innerHTML' &&\n (!(name in old) ||\n attrs[name] !==\n (name === 'value' || name === 'checked' ? dom[name] : old[name]))\n ) {\n setAccessor(dom, name, old[name], (old[name] = attrs[name]), isSvgMode)\n }\n }\n}\n","import Component from '../component'\nimport options from '../options'\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nconst components = {}\n\n/** Reclaim a component for later re-use by the recycler. */\nexport function collectComponent(component) {\n let name = component.constructor.name\n ;(components[name] || (components[name] = [])).push(component)\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nexport function createComponent(Ctor, props, context, vnode) {\n let list = components[Ctor.name],\n inst\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context)\n Component.call(inst, props, context)\n } else {\n inst = new Component(props, context)\n inst.constructor = Ctor\n inst.render = doRender\n }\n vnode && (inst.scopedCssAttr = vnode.css)\n\n if (list) {\n for (let i = list.length; i--; ) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase\n list.splice(i, 1)\n break\n }\n }\n }\n return inst\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context)\n}\n","/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function(target, arr, callback) {\n var _observe = function(target, arr, callback) {\n if (!target.$observer) target.$observer = this\n var $observer = target.$observer\n var eventPropArr = []\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {}\n target.$observeProps.$observerPath = '#'\n }\n $observer.mock(target)\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n } else {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n }\n }\n $observer.target = target\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = []\n var propChanged = callback ? callback : arr\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n })\n }\n _observe.prototype = {\n onPropertyChanged: function(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path)\n for (\n var i = 0, len = this.propertyChangedHandler.length;\n i < len;\n i++\n ) {\n var handler = this.propertyChangedHandler[i]\n if (\n handler.all ||\n obaa.isInArray(handler.eventPropArr, rootName) ||\n rootName.indexOf('Array-') === 0\n ) {\n handler.propChanged.call(this.target, prop, value, oldValue, path)\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath)\n }\n },\n mock: function(target) {\n var self = this\n obaa.methods.forEach(function(item) {\n target[item] = function() {\n var old = Array.prototype.slice.call(this, 0)\n var result = Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath)\n }\n }\n //todo\n self.onPropertyChanged(\n 'Array-' + item,\n this,\n old,\n this,\n this.$observeProps.$observerPath\n )\n }\n return result\n }\n target[\n 'pure' + item.substring(0, 1).toUpperCase() + item.substring(1)\n ] = function() {\n return Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n }\n })\n },\n watch: function(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return\n if (obaa.isFunction(target[prop])) return\n if (!target.$observeProps) target.$observeProps = {}\n if (path !== undefined) {\n target.$observeProps.$observerPath = path\n } else {\n target.$observeProps.$observerPath = '#'\n }\n var self = this\n var currentValue = (target.$observeProps[prop] = target[prop])\n Object.defineProperty(target, prop, {\n get: function() {\n return this.$observeProps[prop]\n },\n set: function(value) {\n var old = this.$observeProps[prop]\n this.$observeProps[prop] = value\n self.onPropertyChanged(\n prop,\n value,\n old,\n this,\n target.$observeProps.$observerPath\n )\n }\n })\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue)\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {}\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path\n } else {\n currentValue.$observeProps.$observerPath = '#'\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(\n currentValue,\n cprop,\n target.$observeProps.$observerPath + '-' + prop\n )\n }\n }\n }\n }\n }\n return new _observe(target, arr, callback)\n}\n\nobaa.methods = [\n 'concat',\n 'copyWithin',\n 'entries',\n 'every',\n 'fill',\n 'filter',\n 'find',\n 'findIndex',\n 'forEach',\n 'includes',\n 'indexOf',\n 'join',\n 'keys',\n 'lastIndexOf',\n 'map',\n 'pop',\n 'push',\n 'reduce',\n 'reduceRight',\n 'reverse',\n 'shift',\n 'slice',\n 'some',\n 'sort',\n 'splice',\n 'toLocaleString',\n 'toString',\n 'unshift',\n 'values',\n 'size'\n]\nobaa.triggerStr = [\n 'concat',\n 'copyWithin',\n 'fill',\n 'pop',\n 'push',\n 'reverse',\n 'shift',\n 'sort',\n 'splice',\n 'unshift',\n 'size'\n].join(',')\n\nobaa.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nobaa.isString = function(obj) {\n return typeof obj === 'string'\n}\n\nobaa.isInArray = function(arr, item) {\n for (var i = arr.length; --i > -1; ) {\n if (item === arr[i]) return true\n }\n return false\n}\n\nobaa.isFunction = function(obj) {\n return Object.prototype.toString.call(obj) == '[object Function]'\n}\n\nobaa._getRootName = function(prop, path) {\n if (path === '#') {\n return prop\n }\n return path.split('-')[1]\n}\n\nobaa.add = function(obj, prop) {\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n}\n\nobaa.set = function(obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value\n }\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n if (exec) {\n obj[prop] = value\n }\n}\n\nArray.prototype.size = function(length) {\n this.length = length\n}\n\nexport default obaa\n","const callbacks = []\nconst nextTickCallback = []\n\nexport function tick(fn, scope) {\n callbacks.push({ fn, scope })\n}\n\nexport function fireTick() {\n callbacks.forEach(item => {\n item.fn.call(item.scope)\n })\n\n nextTickCallback.forEach(nextItem => {\n nextItem.fn.call(nextItem.scope)\n })\n nextTickCallback.length = 0\n}\n\nexport function nextTick(fn, scope) {\n nextTickCallback.push({ fn, scope })\n}\n","import obaa from './obaa'\nimport { fireTick } from './tick'\n\nexport function proxyUpdate(ele) {\n let timeout = null\n obaa(ele.data, () => {\n if (ele._willUpdate) {\n return\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n ele.update()\n fireTick()\n }, 0)\n } else {\n ele.update()\n fireTick()\n }\n })\n}\n","import {\n SYNC_RENDER,\n NO_RENDER,\n FORCE_RENDER,\n ASYNC_RENDER,\n ATTR_KEY\n} from '../constants'\nimport options from '../options'\nimport { extend, applyRef } from '../util'\nimport { enqueueRender } from '../render-queue'\nimport { getNodeProps } from './index'\nimport {\n diff,\n mounts,\n diffLevel,\n flushMounts,\n recollectNodeTree,\n removeChildren\n} from './diff'\nimport { createComponent, collectComponent } from './component-recycler'\nimport { removeNode } from '../dom/index'\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost\n} from '../style'\nimport { proxyUpdate } from '../observe'\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nexport function setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return\n component._disable = true\n\n if ((component.__ref = props.ref)) delete props.ref\n if ((component.__key = props.key)) delete props.key\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall()\n if (component.install) component.install()\n if (component.constructor.observe) {\n proxyUpdate(component)\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props)\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context\n component.context = context\n }\n\n if (!component.prevProps) component.prevProps = component.props\n component.props = props\n\n component._disable = false\n\n if (opts !== NO_RENDER) {\n if (\n opts === SYNC_RENDER ||\n options.syncComponentUpdates !== false ||\n !component.base\n ) {\n renderComponent(component, SYNC_RENDER, mountAll)\n } else {\n enqueueRender(component)\n }\n }\n\n applyRef(component.__ref, component)\n}\n\nfunction shallowComparison(old, attrs) {\n let name\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true\n }\n\n for (name in attrs) {\n if (name != 'children') {\n let type = typeof attrs[name]\n if (type == 'function' || type == 'object') {\n return true\n } else if (attrs[name] != old[name]) {\n return true\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nexport function renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return\n\n let props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase\n\n // if updating\n if (isUpdate) {\n component.props = previousProps\n component.data = previousState\n component.context = previousContext\n if (component.store || opts == FORCE_RENDER || shallowComparison(previousProps, props)) {\n skip = false\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context)\n }\n } else {\n skip = true\n }\n component.props = props\n component.data = data\n component.context = context\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null\n\n if (!skip) {\n component.beforeRender && component.beforeRender()\n rendered = component.render(props, data, context)\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(component.constructor)\n )\n }\n\n scopeHost(rendered, component.scopedCssAttr)\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext())\n }\n\n let childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent]\n\n if (ctor) {\n // set up high order component link\n\n let childProps = getNodeProps(rendered)\n inst = initialChildComponent\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, SYNC_RENDER, context, false)\n } else {\n toUnmount = inst\n\n component._component = inst = createComponent(ctor, childProps, context)\n inst.nextBase = inst.nextBase || nextBase\n inst._parentComponent = component\n setComponentProps(inst, childProps, NO_RENDER, context, false)\n renderComponent(inst, SYNC_RENDER, mountAll, true)\n }\n\n base = inst.base\n } else {\n cbase = initialBase\n\n // destroy high order component link\n toUnmount = initialChildComponent\n if (toUnmount) {\n cbase = component._component = null\n }\n\n if (initialBase || opts === SYNC_RENDER) {\n if (cbase) cbase._component = null\n base = diff(\n cbase,\n rendered,\n context,\n mountAll || !isUpdate,\n initialBase && initialBase.parentNode,\n true\n )\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n let baseParent = initialBase.parentNode\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase)\n\n if (!toUnmount) {\n initialBase._component = null\n recollectNodeTree(initialBase, false)\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount)\n }\n\n component.base = base\n if (base && !isChild) {\n let componentRef = component,\n t = component\n while ((t = t._parentComponent)) {\n ;(componentRef = t).base = base\n }\n base._component = componentRef\n base._componentConstructor = componentRef.constructor\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component)\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext)\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext)\n }\n if (options.afterUpdate) options.afterUpdate(component)\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length)\n component._renderCallbacks.pop().call(component)\n }\n\n if (!diffLevel && !isChild) flushMounts()\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nexport function buildComponentFromVNode(dom, vnode, context, mountAll) {\n let c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode)\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, ASYNC_RENDER, context, mountAll)\n dom = c.base\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent)\n dom = oldDom = null\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode)\n if (dom && !c.nextBase) {\n c.nextBase = dom\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null\n }\n setComponentProps(c, props, SYNC_RENDER, context, mountAll)\n dom = c.base\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null\n recollectNodeTree(oldDom, false)\n }\n }\n\n return dom\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nexport function unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component)\n\n let base = component.base\n\n component._disable = true\n\n if (component.uninstall) component.uninstall()\n\n component.base = null\n\n // recursively tear down & recollect high-order component children:\n let inner = component._component\n if (inner) {\n unmountComponent(inner)\n } else if (base) {\n if (base[ATTR_KEY] != null) applyRef(base[ATTR_KEY].ref, null)\n\n component.nextBase = base\n\n removeNode(base)\n collectComponent(component)\n\n removeChildren(base)\n }\n\n applyRef(component.__ref, null)\n}\n","import { FORCE_RENDER } from './constants'\nimport { renderComponent } from './vdom/component'\nimport options from './options'\nimport { nProps, assign } from './util'\n\nlet id = 0\n\nexport default class Component {\n static is = 'WeElement'\n\n constructor(props, store) {\n this.props = assign(\n nProps(this.constructor.props),\n this.constructor.defaultProps,\n props\n )\n this.elementId = id++\n this.data = this.constructor.data || this.data || {}\n\n this._preCss = null\n\n this.store = store\n }\n\n update(callback) {\n this._willUpdate = true\n if (callback)\n (this._renderCallbacks = this._renderCallbacks || []).push(callback)\n renderComponent(this, FORCE_RENDER)\n if (options.componentChange) options.componentChange(this, this.base)\n this._willUpdate = false\n }\n\n fire(type, data) {\n Object.keys(this.props).every(key => {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n this.props[key]({ detail: data })\n return false\n }\n return true\n })\n }\n\n render() {}\n}\n","import { diff } from './vdom/diff'\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nexport function render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n }\n\n if (merge) {\n merge =\n typeof merge === 'string'\n ? document.querySelector(merge)\n : merge\n }\n\n return diff(merge, vnode, store, false, parent, false)\n}\n","import options from './options'\n\nexport function define(name, ctor) {\n options.mapping[name] = ctor\n}\n","export function rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, (a, b) => {\n return (window.innerWidth * Number(b)) / 750 + 'px'\n })\n}\n","/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty\n\nexport function classNames() {\n var classes = []\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i]\n if (!arg) continue\n\n var argType = typeof arg\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg)\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg)\n if (inner) {\n classes.push(inner)\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key)\n }\n }\n }\n }\n\n return classes.join(' ')\n}\n\nexport function extractClass() {\n const [props, ...args] = Array.prototype.slice.call(arguments, 0)\n if (props) {\n if (props.class) {\n args.unshift(props.class)\n delete props.class\n } else if (props.className) {\n args.unshift(props.className)\n delete props.className\n }\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) }\n }\n}\n","/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nimport options from './options'\n\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost,\n scoper\n} from './style'\n\n\nconst encodeEntities = s => String(s)\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"');\n\nconst indent = (s, char) => String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nconst mapping = options.mapping\n\nconst VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nconst isLargeString = (s, length, ignoreLines) => (String(s).length > (length || 40) || (!ignoreLines && String(s).indexOf('\\n') !== -1) || String(s).indexOf('<') !== -1);\n\nconst JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n let str = '';\n for (let prop in s) {\n let val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\n/** The default export is an alias of `render()`. */\nexport function renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n let nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n },opts)\n\n let pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n const ctor = mapping[nodeName]\n if (ctor) {\n isComponent = true;\n\n let props = getNodeProps(vnode),\n rendered;\n // class-based components\n let c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n let tempCss \n if(opts.scopedCSS){\n\n if (c.constructor.css || c.css) {\n\n const cssStr = c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css)\n const cssAttr = '_s' + getCtorName(c.constructor)\n\n tempCss = ``\n\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(c.constructor)\n )\n }\n \n c.scopedCSSAttr = vnode.css\n scopeHost(rendered, c.scopedCSSAttr)\n }\n\n return renderToString(rendered, opts, store, false, tempCss);\n }\n\n\n // render JSX to HTML\n let s = '', html;\n\n if (attributes) {\n let attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (let i = 0; i < attrs.length; i++) {\n let name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes.class) continue;\n name = 'class';\n }\n else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n let hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n }\n else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ` ${name}=\"${encodeEntities(v)}\"`;\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n let sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;\n else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = `<${nodeName}${s}>`;\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n let isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n let pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n }\n else if (vnode.children) {\n let hasLarge = pretty && ~s.indexOf('\\n');\n for (let i = 0; i < vnode.children.length; i++) {\n let child = vnode.children[i];\n if (child != null && child !== false) {\n let childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = renderToString(child, opts, store, childSvgMode);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (let i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n }\n else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += `${nodeName}>`;\n }\n\n if(css) return css + s;\n return s;\n}\n\nfunction assign(obj, props) {\n for (let i in props) obj[i] = props[i];\n return obj;\n}\n\nfunction getNodeProps(vnode) {\n let props = assign({}, vnode.attributes);\n props.children = vnode.children;\n\n let defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}","function getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n if (typeof self !== 'undefined') {\n return self\n } else if (typeof window !== 'undefined') {\n return window\n } else if (typeof global !== 'undefined') {\n return global\n }\n return (function() {\n return this\n })()\n }\n return global\n}\n\n/** Global options\n *\t@public\n *\t@namespace options {Object}\n */\nexport default {\n scopedStyle: true,\n mapping: {},\n isWeb: true,\n staticStyleMapping: {},\n doc: typeof document === 'object' ? document : null,\n root: getGlobal(),\n //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]\n styleCache: []\n //componentChange(component, element) { },\n /** If `true`, `prop` changes trigger synchronous component updates.\n *\t@name syncComponentUpdates\n *\t@type Boolean\n *\t@default true\n */\n //syncComponentUpdates: true,\n\n /** Processes all created VNodes.\n *\t@param {VNode} vnode\tA newly-created VNode to normalize/process\n */\n //vnode(vnode) { }\n\n /** Hook invoked after a component is mounted. */\n //afterMount(component) { },\n\n /** Hook invoked after the DOM is updated with a component's latest render. */\n //afterUpdate(component) { }\n\n /** Hook invoked immediately before a component is unmounted. */\n // beforeUnmount(component) { }\n}\n","import Component from './component'\n\nexport default class ModelView extends Component {\n static observe = true\n\n static mergeUpdate = true\n\n beforeInstall() {\n this.data = this.vm.data\n }\n}\n","import { h, h as createElement } from './h'\nimport { cloneElement } from './clone-element'\nimport Component from './component'\nimport { render } from './render'\nimport { rerender } from './render-queue'\nimport options from './options'\nimport { define } from './define'\nimport { rpx } from './rpx'\nimport ModelView from './model-view'\nimport { classNames, extractClass } from './class'\nimport { getHost } from './get-host'\nimport { renderToString } from './render-to-string'\n\nconst WeElement = Component\nconst defineElement = define\nfunction createRef() {\n return {}\n}\n\noptions.root.Omi = {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\noptions.root.omi = options.root.Omi\noptions.root.Omi.version = 'omio-1.3.8'\n\nexport default {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n\nexport {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n"]}
\ No newline at end of file
diff --git a/packages/omip/my-app-ts/src/libs/omip-h5/omi.min.js b/packages/omip/my-app-ts/src/libs/omip-h5/omi.min.js
new file mode 100644
index 000000000..8c3aeaece
--- /dev/null
+++ b/packages/omip/my-app-ts/src/libs/omip-h5/omi.min.js
@@ -0,0 +1,2 @@
+!function(){"use strict";function e(){}function t(t,r){var n,o,i,s,a=ue;for(s=arguments.length;s-- >2;)ce.push(arguments[s]);r&&null!=r.children&&(ce.length||ce.push(r.children),delete r.children);while(ce.length)if((o=ce.pop())&&void 0!==o.pop)for(s=o.length;s--;)ce.push(o[s]);else"boolean"==typeof o&&(o=null),(i="function"!=typeof t)&&(null==o?o="":"number"==typeof o?o+="":"string"!=typeof o&&(i=!1)),i&&n?a[a.length-1]+=o:a===ue?a=[o]:a.push(o),n=i;var l=new e;return l.nodeName=t,l.children=a,l.attributes=null==r?void 0:r,l.key=null==r?void 0:r.key,void 0!==le.vnode&&le.vnode(l),l}function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function n(e){for(var t,n,o=r(e),i=1;i2?[].slice.call(arguments,2):e.children)}function c(e){1==_e.push(e)&&(le.debounceRendering||me)(u)}function u(){var e;while(e=_e.pop())B(e)}function p(e,t,r){if("string"==typeof t||"number"==typeof t)return void 0!==e.splitText;if("string"==typeof t.nodeName){var n=we[t.nodeName];return n?r||e._componentConstructor===n:!e._componentConstructor&&f(e,t.nodeName)}return r||e._componentConstructor===t.nodeName}function f(e,t){return e.__n===t||e.nodeName.toLowerCase()===t.toLowerCase()}function d(e){var t=o({},e.attributes);t.children=e.children;var r=e.nodeName.defaultProps;if(void 0!==r)for(var n in r)void 0===t[n]&&(t[n]=r[n]);return t}function h(e,t){var r=t?le.doc.createElementNS("http://www.w3.org/2000/svg",e):le.doc.createElement(e);return r.__n=e,r}function v(e){for(var t=e.replace(/\/\*(.|\s)*?\*\//g," ").replace(/\s+/g," "),r={},n=t.match(/ ?(.*?) ?{([^}]*)}/)||[o,i,t],o=n[0],i=n[1],s=n[2],a=s.split(";").map(function(e){return e.split(":").map(function(e){return e&&e.trim()})}),l=a,l=Array.isArray(l),l=0,l=l||l[Symbol.iterator]();;){var c;if(l){if(l>=l.length)break;c=l[l++]}else{if(l=l.next(),l.done)break;c=l.value}var u=c,p=u[0],f=u[1];r[function(e){return e.replace(/\W+\w/g,function(e){return e.slice(-1).toUpperCase()})}(p)]=f}return r}function y(e){var t=e.parentNode;t&&t.removeChild(e)}function b(e,t,r,n,o){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)i(r,null),i(n,e);else if("class"!==t||o)if("style"===t)if(le.isWeb){if(n&&"string"!=typeof n&&"string"!=typeof r||(e.style.cssText=n||""),n&&"object"==typeof n){if("string"!=typeof r)for(var s in r)s in n||(e.style[s]="");for(var s in n)e.style[s]="number"==typeof n[s]&&!1===ge.test(s)?n[s]+"px":n[s]}}else{var a=r,l=n;"string"==typeof r&&(a=v(r)),"string"==typeof n&&(l=v(n));var c={},u=!1;if(a){for(var p in a)"object"!=typeof l||p in l||(c[p]="",u=!0);for(var f in l)l[f]!==a[f]&&(c[f]=l[f],u=!0);u&&e.setStyles(c)}else e.setStyles(l)}else if("dangerouslySetInnerHTML"===t)n&&(e.innerHTML=n.__html||"");else if("o"==t[0]&&"n"==t[1]){var d=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),n?r||(e.addEventListener(t,g,d),"tap"==t&&(e.addEventListener("touchstart",_,d),e.addEventListener("touchend",w,d))):(e.removeEventListener(t,g,d),"tap"==t&&(e.removeEventListener("touchstart",_,d),e.removeEventListener("touchend",w,d))),(e.__l||(e.__l={}))[t]=n}else if("list"!==t&&"type"!==t&&!o&&t in e)m(e,t,null==n?"":n),null!=n&&!1!==n||e.removeAttribute(t);else{var h=o&&t!==(t=t.replace(/^xlink:?/,""));null==n||!1===n?h?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!=typeof n&&(h?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),n):e.setAttribute(t,n))}else e.className=n||""}function m(e,t,r){try{e[t]=r}catch(e){}}function g(e){return this.__l[e.type](le.event&&le.event(e)||e)}function _(e){this.C=e.touches[0].pageX,this.D=e.touches[0].pageY,this.F=document.body.scrollTop}function w(e){Math.abs(e.changedTouches[0].pageX-this.C)<30&&Math.abs(e.changedTouches[0].pageY-this.D)<30&&Math.abs(document.body.scrollTop-this.F)<30&&this.dispatchEvent(new CustomEvent("tap",{detail:e}))}function C(e){for(var t=0,r=le.styleCache.length;t0||t.children.length>0)return!0;for(r in t)if("children"!=r){var n=typeof t[r];if("function"==n||"object"==n)return!0;if(t[r]!=e[r])return!0}}function B(e,t,r,n){if(!e.__x){var i,s,a,l=e.props,c=e.data,u=e.context,p=e.__p||l,f=e.__s||c,h=e.__c||u,v=e.base,y=e.__b,b=v||y,m=e._component,g=!1;if(v&&(e.props=p,e.data=f,e.context=h,e.store||2==t||z(p,l)?(g=!1,e.beforeUpdate&&e.beforeUpdate(l,c,u)):g=!0,e.props=l,e.data=c,e.context=u),e.__p=e.__s=e.__c=e.__b=null,!g){e.beforeRender&&e.beforeRender(),i=e.render(l,c,u),(e.constructor.css||e.css)&&O(i,"_s"+C(e.constructor)),j(i,e.scopedCssAttr),e.getChildContext&&(u=o(o({},u),e.getChildContext()));var _,w,E=i&&i.nodeName,x=le.mapping[E];if(x){var N=d(i);s=m,s&&s.constructor===x&&N.key==s.__k?W(s,N,1,u,!1):(_=s,e._component=s=U(x,N,u),s.__b=s.__b||y,s.__u=e,W(s,N,0,u,!1),B(s,1,r,!0)),w=s.base}else a=b,_=m,_&&(a=e._component=null),(b||1===t)&&(a&&(a._component=null),w=k(a,i,u,r||!v,b&&b.parentNode,!0));if(b&&w!==b&&s!==m){var A=b.parentNode;A&&w!==A&&(A.replaceChild(w,b),_||(b._component=null,L(b,!1)))}if(_&&q(_),e.base=w,w&&!n){var S=e,$=e;while($=$.__u)(S=$).base=w;w._component=S,w._componentConstructor=S.constructor}}if(!v||r?Ee.unshift(e):g||(e.afterUpdate&&e.afterUpdate(p,f,h),e.updated&&e.updated(p,f,h),le.afterUpdate&&le.afterUpdate(e)),null!=e.__h)while(e.__h.length)e.__h.pop().call(e);xe||n||P()}}function X(e,t,r,n){var o=e&&e._component,i=o,s=e,a=o&&e._componentConstructor===t.nodeName,l=a,c=d(t);while(o&&!l&&(o=o.__u))l=o.constructor===t.nodeName;return o&&l&&(!n||o._component)?(W(o,c,3,r,n),e=o.base):(i&&!a&&(q(i),e=s=null),o=U(t.nodeName,c,r,t),e&&!o.__b&&(o.__b=e,s=null),W(o,c,1,r,n),e=o.base,s&&e!==s&&(s._component=null,L(s,!1))),e}function q(e){le.beforeUnmount&&le.beforeUnmount(e);var t=e.base;e.__x=!0,e.uninstall&&e.uninstall(),e.base=null;var r=e._component;r?q(r):t&&(null!=t.__omiattr_&&i(t.__omiattr_.ref,null),e.__b=t,y(t),H(e),M(t)),i(e.__r,null)}function D(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function G(e,t,r,n,o){if(t="string"==typeof t?document.querySelector(t):t,n)while(t.firstChild)t.removeChild(t.firstChild);return o&&(o="string"==typeof o?document.querySelector(o):o),k(o,e,r,!1,t,!1)}function Y(e,t){le.mapping[e]=t}function Z(e){return e.replace(/([1-9]\d*|0)(\.\d*)*rpx/g,function(e,t){return window.innerWidth*+t/750+"px"})}function J(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function K(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function Q(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function ee(){for(var e=[],t=0;t0)return{class:ee.apply(null,r)}}function re(e){var t=e.base;if(t)while(t.parentNode){if(t.parentNode._component)return t.parentNode._component;t=t.parentNode}}function ne(e){var t="";for(var r in e){var n=e[r];null!=n&&(t&&(t+=" "),t+=Re[r]||(Re[r]=r.replace(/([A-Z])/g,"-$1").toLowerCase()),t+=": ",t+=n,"number"==typeof n&&!1===IS_NON_DIMENSIONAL.test(r)&&(t+="px"),t+=";")}return t||void 0}function oe(e,t,r,n,o){if(null==e||"boolean"==typeof e)return"";var i=e.nodeName,s=e.attributes,a=!1;r=r||{},t=Object.assign({scopedCSS:!0},t);var l=t.pretty,c=l&&"string"==typeof l?l:"\t";if("object"!=typeof e&&!i)return Me(e);var u=He[i];if(u){a=!0;var p,f=se(e),d=new u(f,r);d.__x=d.G=!0,d.props=f,d.store=r,d.install&&d.install(),d.beforeRender&&d.beforeRender(),p=d.render(d.props,d.data,d.store);var h;if(t.scopedCSS){if(d.constructor.css||d.css){var v=d.constructor.css?d.constructor.css:"function"==typeof d.css?d.css():d.css,y="_s"+C(d.constructor);h='",O(p,"_s"+C(d.constructor))}d.scopedCSSAttr=e.css,j(p,d.scopedCSSAttr)}return oe(p,t,r,!1,h)}var b,m="";if(s){var g=Object.keys(s);t&&!0===t.sortAttributes&&g.sort();for(var _=0;_]/)&&(t&&t.allAttributes||"key"!==w&&"ref"!==w)){if("className"===w){if(s.class)continue;w="class"}else n&&w.match(/^xlink:?./)&&(w=w.toLowerCase().replace(/^xlink:?/,"xlink:"));"style"===w&&x&&"object"==typeof x&&(x=ne(x));var N=t.attributeHook&&t.attributeHook(w,x,r,t,a);if(N||""===N)m+=N;else if("dangerouslySetInnerHTML"===w)b=x&&x.__html;else if((x||0===x||""===x)&&"function"!=typeof x){if(!(!0!==x&&""!==x||(x=w,t&&t.xml))){m+=" "+w;continue}m+=" "+w+'="'+Me(x)+'"'}}}}if(l){var A=m.replace(/^\n\s*/," ");A===m||~A.indexOf("\n")?l&&~m.indexOf("\n")&&(m+="\n"):m=A}if(m="<"+i+m+">",(i+"").match(/[\s\n\\\/='"\0<>]/))throw m;var S=(i+"").match(Ue);S&&(m=m.replace(/>$/," />"));var P=[];if(b)l&&Fe(b)&&(b="\n"+c+Ie(b,c)),m+=b;else if(e.children){for(var k=l&&~m.indexOf("\n"),_=0;_";return S||(l&&~m.indexOf("\n")&&(m+="\n"),m+=""+i+">"),o?o+m:m}function ie(e,t){for(var r in t)e[r]=t[r];return e}function se(e){var t=ie({},e.attributes);t.children=e.children;var r=e.nodeName.defaultProps;if(void 0!==r)for(var n in r)void 0===t[n]&&(t[n]=r[n]);return t}function ae(){return{}}var le={scopedStyle:!0,mapping:{},isWeb:!0,staticStyleMapping:{},doc:"object"==typeof document?document:null,root:function(){return"object"==typeof global&&global&&global.Math===Math&&global.Array===Array?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:function(){return this}()}(),styleCache:[]},ce=[],ue=[],pe=Object.getOwnPropertySymbols,fe=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;if("undefined"!=typeof Element&&!Element.prototype.addEventListener){var he=function(e){e||(e=window.event);for(var t=0,r=0,n=ve[e.type];r8&&(ye=!0)}var me=ye?Promise.resolve().then.bind(Promise.resolve()):setTimeout,ge=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,_e=[],we=le.mapping,Ce=0,Ee=[],xe=0,Ne=!1,Oe=!1,Ae={},Se=function e(t,r,n){var o=function(t,r,n){t.$observer||(t.$observer=this);var o=t.$observer,i=[];e.isArray(t)&&(0===t.length&&(t.$observeProps={},t.$observeProps.$observerPath="#"),o.mock(t));for(var s in t)t.hasOwnProperty(s)&&(n?e.isArray(r)&&e.isInArray(r,s)?(i.push(s),o.watch(t,s)):e.isString(r)&&s==r&&(i.push(s),o.watch(t,s)):(i.push(s),o.watch(t,s)));o.target=t,o.propertyChangedHandler||(o.propertyChangedHandler=[]),o.propertyChangedHandler.push({all:!n,propChanged:n||r,eventPropArr:i})};return o.prototype={onPropertyChanged:function(t,r,n,o,i){if(r!==n&&this.propertyChangedHandler)for(var s=e.y(t,i),a=0,l=this.propertyChangedHandler.length;a-1;)if(t===e[r])return!0;return!1},Se.isFunction=function(e){return"[object Function]"==Object.prototype.toString.call(e)},Se.y=function(e,t){return"#"===t?e:t.split("-")[1]},Se.add=function(e,t){e.$observer.watch(e,t)},Se.set=function(e,t,r,n){n||(e[t]=r),e.$observer.watch(e,t),n&&(e[t]=r)},Array.prototype.size=function(e){this.length=e};var je=[],Pe=[],ke=0,$e=function(){function e(t,r){D(this,e),this.props=n(a(this.constructor.props),this.constructor.defaultProps,t),this.elementId=ke++,this.data=this.constructor.data||this.data||{},this.z=null,this.store=r}return e.prototype.update=function(e){this.A=!0,e&&(this.__h=this.__h||[]).push(e),B(this,2),le.componentChange&&le.componentChange(this,this.base),this.A=!1},e.prototype.fire=function(e,t){var r=this;Object.keys(this.props).every(function(n){return"on"+e.toLowerCase()!==n.toLowerCase()||(r.props[n]({detail:t}),!1)})},e.prototype.render=function(){},e}();$e.is="WeElement";var Te=function(e){function t(){return J(this,t),K(this,e.apply(this,arguments))}return Q(t,e),t.prototype.beforeInstall=function(){this.data=this.vm.data},t}($e);Te.observe=!0,Te.mergeUpdate=!0;var Le={}.hasOwnProperty,Me=function(e){return(e+"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},Ie=function(e,t){return(e+"").replace(/(\n+)/g,"$1"+(t||"\t"))},He=le.mapping,Ue=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,Fe=function(e,t,r){return(e+"").length>(t||40)||!r&&-1!==(e+"").indexOf("\n")||-1!==(e+"").indexOf("<")},Re={},Ve=$e,We=Y;le.root.Omi={h:t,createElement:t,cloneElement:l,createRef:ae,Component:$e,render:G,rerender:u,options:le,WeElement:Ve,define:Y,rpx:Z,ModelView:Te,defineElement:We,classNames:ee,extractClass:te,getHost:re,renderToString:oe},le.root.omi=le.root.Omi,le.root.Omi.version="omio-1.3.8";var ze={h:t,createElement:t,cloneElement:l,createRef:ae,Component:$e,render:G,rerender:u,options:le,WeElement:Ve,define:Y,rpx:Z,ModelView:Te,defineElement:We,classNames:ee,extractClass:te,getHost:re,renderToString:oe};"undefined"!=typeof module?module.exports=ze:self.Omi=ze}();
+//# sourceMappingURL=omi.min.js.map
\ No newline at end of file
diff --git a/packages/omip/my-app-ts/src/libs/omip-h5/omi.min.js.map b/packages/omip/my-app-ts/src/libs/omip-h5/omi.min.js.map
new file mode 100644
index 000000000..1f4d8a6ad
--- /dev/null
+++ b/packages/omip/my-app-ts/src/libs/omip-h5/omi.min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/vnode.js","../src/h.js","../src/util.js","../src/clone-element.js","../src/constants.js","../src/render-queue.js","../src/vdom/index.js","../src/dom/index.js","../src/style.js","../src/vdom/diff.js","../src/vdom/component-recycler.js","../src/obaa.js","../src/tick.js","../src/observe.js","../src/vdom/component.js","../src/render.js","../src/component.js","../src/define.js","../src/rpx.js","../src/class.js","../src/render-to-string.js","../src/options.js","../src/model-view.js","../src/omi.js"],"names":["VNode","h","nodeName","attributes","lastSimple","child","simple","i","children","EMPTY_CHILDREN","arguments","length","stack","push","pop","String","p","key","options","vnode","toObject","val","TypeError","Object","assign","target","from","symbols","to","s","hasOwnProperty","call","getOwnPropertySymbols","propIsEnumerable","extend","obj","props","applyRef","ref","value","current","isArray","prototype","toString","nProps","result","keys","forEach","cloneElement","slice","ATTR_KEY","component","debounceRendering","defer","rerender","items","enqueueRender","renderComponent","mapping","hydrating","isSameNodeType","node","splitText","_componentConstructor","normalizedNodeName","toLowerCase","defaultProps","doc","createElementNS","createElement","_ref","createNode","a","b","cssTxt","isSvg","rule","split","map","o","x","trim","replace","Array","Symbol","iterator","_ref3","properties","next","done","_ref2","property","style","parseCSSText","match","cssText","parentNode","removeChild","setAccessor","name","old","IS_NON_DIMENSIONAL$1","test","oldJson","currentJson","changed","ckey","setStyles","substring","addEventListener","eventProxy","useCapture","touchStart","touchEnd","_listeners","setProperty","removeEventListener","removeAttribute","ns","removeAttributeNS","setAttributeNS","setAttribute","e","this","type","event","___touchY","touches","pageY","Math","abs","changedTouches","pageX","___touchX","document","body","scrollTop","___scrollTop","dispatchEvent","CustomEvent","styleCache","len","item","ctor","attrName","getCtorName","styleId","prefix","css","g0","g1","g2","g3","addStyle","id","ele","appendClass","head","getElementsByTagName","appendChild","someThingStyles","getElementById","textContent","window","ActiveXObject","styleSheet","addStyleWithoutId","attr","scopeVdom","addStyleToHead","scopedStyle","addScopedAttrStatic","vdom","staticStyleMapping","scoper","diffLevel","c","mounts","isSvgMode","afterMount","constructor","diff","dom","context","mountAll","parent","componentRoot","ret","out","prevSvgMode","vnodeName","buildComponentFromVNode","_component","createTextNode","replaceChild","recollectNodeTree","__omiattr_","vchildren","innerDiffNode","fc","nodeValue","isHydrating","j","originalChildren","keyed","keyedLen","childrenLen","vlen","_child","f","__key","vchild","min","undefined","nextSibling","idiff","removeNode","insertBefore","unmountOnly","removeChildren","previousSibling","attrs","collectComponent","inst","components","Ctor","render","Component","createComponent","list","nextBase","splice","data","fireTick","size","scope","callbacks","nextItem","fn","timeout","nextTickCallback","clearTimeout","proxyUpdate","update","setComponentProps","opts","_disable","install","observe","receiveProps","beforeInstall","prevProps","base","shallowComparison","isChild","previousProps","previousState","isUpdate","skip","initialBase","initialChildComponent","previousContext","rendered","cbase","beforeUpdate","store","prevState","prevContext","beforeRender","scopeHost","scopedCssAttr","getChildContext","toUnmount","childComponent","childProps","getNodeProps","baseParent","SYNC_RENDER","componentRef","t","unshift","_parentComponent","updated","afterUpdate","_renderCallbacks","flushMounts","oldDom","originalComponent","isDirectOwner","unmountComponent","isOwner","inner","uninstall","instance","Constructor","querySelector","empty","merge","firstChild","define","rpx","str","superClass","subClass","create","enumerable","writable","configurable","setPrototypeOf","__proto__","hasOwn","argType","classes","arg","_Array$prototype$slic","args","class","extractClass","className","classNames","apply","VOID_ELEMENTS","isLargeString","styleObjToCss","IS_NON_DIMENSIONAL","prop","renderToString","scopedCSS","pretty","indentChar","isComponent","tempCss","cssStr","cssAttr","html","sortAttributes","sort","allAttributes","v","attributeHook","hooked","__html","xml","encodeEntities","sub","indexOf","isVoid","pieces","indent","hasLarge","join","assign$1","createRef","isWeb","root","global","self","propertyIsEnumerable","Element","runListeners","oEvent","iLstId","iElId","oEvtListeners","oListeners","aEls","aEvts","sEventType","fListener","nElIdx","aElListeners","proto","F","Error","usePromise","Promise","__config__","platform","systemVersion","resolve","then","bind","setTimeout","ASYNC_RENDER","obaa","_observe","arr","callback","$observer","eventPropArr","isInArray","$observeProps","$observerPath","isString","watch","propertyChangedHandler","onPropertyChanged","path","propChanged","all","handler","oldValue","rootName","_getRootName","mock","methods","RegExp","cprop","isFunction","toUpperCase","get","currentValue","triggerStr","add","set","exec","elementId","componentChange","every","is","ModelView","_Component","_inherits","ignoreLines","WeElement","defineElement","Omi","version","getHost","module","exports"],"mappings":"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","file":"omi.min.js","sourcesContent":["/** Virtual DOM Node */\nexport function VNode() {}\n","import { VNode } from './vnode'\nimport options from './options'\n\nconst stack = []\n\nconst EMPTY_CHILDREN = []\n\n/**\n * JSX/hyperscript reviver.\n * @see http://jasonformat.com/wtf-is-jsx\n * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0\n *\n * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.\n *\n * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation\n * of the structure of a DOM tree. This structure can be realized by recursively comparing it against\n * the current _actual_ DOM structure, and applying only the differences.\n *\n * `h()`/`createElement()` accepts an element name, a list of attributes/props,\n * and optionally children to append to the element.\n *\n * @example The following DOM tree\n *\n * `Hello!
`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nexport function h(nodeName, attributes) {\n let children = EMPTY_CHILDREN,\n lastSimple,\n child,\n simple,\n i\n for (i = arguments.length; i-- > 2; ) {\n stack.push(arguments[i])\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children)\n delete attributes.children\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--; ) stack.push(child[i])\n } else {\n if (typeof child === 'boolean') child = null\n\n if ((simple = typeof nodeName !== 'function')) {\n if (child == null) child = ''\n else if (typeof child === 'number') child = String(child)\n else if (typeof child !== 'string') simple = false\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child\n } else if (children === EMPTY_CHILDREN) {\n children = [child]\n } else {\n children.push(child)\n }\n\n lastSimple = simple\n }\n }\n\n let p = new VNode()\n p.nodeName = nodeName\n p.children = children\n\tp.attributes = attributes == null ? undefined : attributes\n p.key = attributes == null ? undefined : attributes.key\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p)\n\n return p\n}\n","'use strict'\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols\nvar hasOwnProperty = Object.prototype.hasOwnProperty\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined')\n }\n\n return Object(val)\n}\n\nexport function assign(target, source) {\n var from\n var to = toObject(target)\n var symbols\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s])\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key]\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from)\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]]\n }\n }\n }\n }\n\n return to\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var oListeners = {};\n function runListeners(oEvent) {\n if (!oEvent) { oEvent = window.event; }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) { oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent); }\n break;\n }\n }\n }\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { return; }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) { return; }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) { return; }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { aElListeners.splice(iLstId, 1); }\n }\n };\n}\n\n\nif (typeof Object.create !== 'function') {\n Object.create = function(proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto)\n } else if (proto === null) {\n throw new Error(\n \"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\"\n )\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto\n\n return new F()\n }\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n }\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nexport function extend(obj, props) {\n for (let i in props) obj[i] = props[i]\n return obj\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nexport function applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value)\n else ref.current = value\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nlet usePromise = typeof Promise == 'function'\n\n// for native\nif (\n typeof document !== 'object' &&\n typeof global !== 'undefined' &&\n global.__config__\n) {\n if (global.__config__.platform === 'android') {\n usePromise = true\n } else {\n let systemVersion =\n (global.__config__.systemVersion &&\n global.__config__.systemVersion.split('.')[0]) ||\n 0\n if (systemVersion > 8) {\n usePromise = true\n }\n }\n}\n\nexport const defer = usePromise\n ? Promise.resolve().then.bind(Promise.resolve())\n : setTimeout\n\nexport function isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nexport function nProps(props) {\n if (!props || isArray(props)) return {}\n const result = {}\n Object.keys(props).forEach(key => {\n result[key] = props[key].value\n })\n return result\n}","import { extend } from './util'\nimport { h } from './h'\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nexport function cloneElement(vnode, props) {\n return h(\n vnode.nodeName,\n extend(extend({}, vnode.attributes), props),\n arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children\n )\n}\n","// render modes\n\nexport const NO_RENDER = 0\nexport const SYNC_RENDER = 1\nexport const FORCE_RENDER = 2\nexport const ASYNC_RENDER = 3\n\nexport const ATTR_KEY = '__omiattr_'\n\n// DOM properties that should NOT have \"px\" added when numeric\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i\n","import options from './options'\nimport { defer } from './util'\nimport { renderComponent } from './vdom/component'\n\n/** Managed queue of dirty components to be re-rendered */\n\nlet items = []\n\nexport function enqueueRender(component) {\n if (items.push(component) == 1) {\n ;(options.debounceRendering || defer)(rerender)\n }\n}\n\n/** Rerender all enqueued dirty components */\nexport function rerender() {\n\tlet p\n\twhile ( (p = items.pop()) ) {\n renderComponent(p)\n\t}\n}","import { extend } from '../util'\nimport options from '../options'\n\nconst mapping = options.mapping\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nexport function isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName]\n if (ctor) {\n return hydrating || node._componentConstructor === ctor\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName)\n }\n return hydrating || node._componentConstructor === vnode.nodeName\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nexport function isNamedNode(node, nodeName) {\n return (\n node.normalizedNodeName === nodeName ||\n node.nodeName.toLowerCase() === nodeName.toLowerCase()\n )\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nexport function getNodeProps(vnode) {\n let props = extend({}, vnode.attributes)\n props.children = vnode.children\n\n let defaultProps = vnode.nodeName.defaultProps\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i]\n }\n }\n }\n\n return props\n}\n","import { IS_NON_DIMENSIONAL } from '../constants'\nimport { applyRef } from '../util'\nimport options from '../options'\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nexport function createNode(nodeName, isSvg) {\n let node = isSvg\n ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName)\n : options.doc.createElement(nodeName)\n node.normalizedNodeName = nodeName\n return node\n}\n\nfunction parseCSSText(cssText) {\n let cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ')\n let style = {},\n [a, b, rule] = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt]\n let cssToJs = s => s.replace(/\\W+\\w/g, match => match.slice(-1).toUpperCase())\n let properties = rule\n .split(';')\n .map(o => o.split(':').map(x => x && x.trim()))\n for (let [property, value] of properties) style[cssToJs(property)] = value\n return style\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nexport function removeNode(node) {\n let parentNode = node.parentNode\n if (parentNode) parentNode.removeChild(node)\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nexport function setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class'\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null)\n applyRef(value, node)\n } else if (name === 'class' && !isSvg) {\n node.className = value || ''\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || ''\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (let i in old) if (!(i in value)) node.style[i] = ''\n }\n for (let i in value) {\n node.style[i] =\n typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false\n ? value[i] + 'px'\n : value[i]\n }\n }\n } else {\n let oldJson = old,\n currentJson = value\n if (typeof old === 'string') {\n oldJson = parseCSSText(old)\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value)\n }\n\n let result = {},\n changed = false\n\n if (oldJson) {\n for (let key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = ''\n changed = true\n }\n }\n\n for (let ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey]\n changed = true\n }\n }\n\n if (changed) {\n node.setStyles(result)\n }\n } else {\n node.setStyles(currentJson)\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || ''\n } else if (name[0] == 'o' && name[1] == 'n') {\n let useCapture = name !== (name = name.replace(/Capture$/, ''))\n name = name.toLowerCase().substring(2)\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture)\n node.addEventListener('touchend', touchEnd, useCapture)\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture)\n node.removeEventListener('touchend', touchEnd, useCapture)\n }\n }\n ;(node._listeners || (node._listeners = {}))[name] = value\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value)\n if (value == null || value === false) node.removeAttribute(name)\n } else {\n let ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''))\n if (value == null || value === false) {\n if (ns)\n node.removeAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase()\n )\n else node.removeAttribute(name)\n } else if (typeof value !== 'function') {\n if (ns)\n node.setAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase(),\n value\n )\n else node.setAttribute(name, value)\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type]((options.event && options.event(e)) || e)\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX\n this.___touchY = e.touches[0].pageY\n this.___scrollTop = document.body.scrollTop\n}\n\nfunction touchEnd(e) {\n if (\n Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 &&\n Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 &&\n Math.abs(document.body.scrollTop - this.___scrollTop) < 30\n ) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }))\n }\n}","import options from './options'\n\nlet styleId = 0\n\nexport function getCtorName(ctor) {\n for (let i = 0, len = options.styleCache.length; i < len; i++) {\n let item = options.styleCache[i]\n\n if (item.ctor === ctor) {\n return item.attrName\n }\n }\n\n let attrName = 's' + styleId\n options.styleCache.push({ ctor, attrName })\n styleId++\n\n return attrName\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nexport function scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']'\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '')\n // eslint-disable-next-line\n let re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g')\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, (g0, g1, g2, g3) => {\n if (typeof g2 === 'undefined') {\n g2 = ''\n }\n\n /* eslint-ignore-next-line */\n if (\n g1.match(\n /^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/\n )\n ) {\n return g1 + g2 + g3\n }\n\n let appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3\n //return appendClass + ',' + prependClass + g3;\n })\n\n return css\n}\n\nexport function addStyle(cssText, id) {\n id = id.toLowerCase()\n let ele = document.getElementById(id)\n let head = document.getElementsByTagName('head')[0]\n if (ele && ele.parentNode === head) {\n head.removeChild(ele)\n }\n\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n someThingStyles.setAttribute('id', id)\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addStyleWithoutId(cssText) {\n let head = document.getElementsByTagName('head')[0]\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom)\n } \n}\n\nexport function addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr)\n options.staticStyleMapping[attr] = true\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style)\n options.staticStyleMapping[attr] = true\n }\n}\n\nexport function scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {}\n vdom.attributes[attr] = ''\n vdom.css = vdom.css || {}\n vdom.css[attr] = ''\n vdom.children.forEach(child => scopeVdom(attr, child))\n }\n}\n\nexport function scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {}\n for (let key in css) {\n vdom.attributes[key] = ''\n }\n }\n}\n","import { ATTR_KEY } from '../constants'\nimport { isSameNodeType, isNamedNode } from './index'\nimport { buildComponentFromVNode } from './component'\nimport { createNode, setAccessor } from '../dom/index'\nimport { unmountComponent } from './component'\nimport options from '../options'\nimport { applyRef } from '../util'\nimport { removeNode } from '../dom/index'\nimport { isArray } from '../util'\nimport { addStyleToHead, getCtorName } from '../style'\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nexport const mounts = []\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nexport let diffLevel = 0\n\n/** Global flag indicating if the diff is currently within an SVG */\nlet isSvgMode = false\n\n/** Global flag indicating if the diff is performing hydration */\nlet hydrating = false\n\n/** Invoke queued componentDidMount lifecycle methods */\nexport function flushMounts() {\n let c\n while ((c = mounts.pop())) {\n if (options.afterMount) options.afterMount(c)\n if (c.installed) c.installed()\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css), '_s' + getCtorName(c.constructor))\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nexport function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !(ATTR_KEY in dom)\n }\n let ret\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n }\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot)\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret)\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (!--diffLevel) {\n hydrating = false\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts()\n }\n\n return ret\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n let out = dom,\n prevSvgMode = isSvgMode\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = ''\n\n // If the VNode represents a Component, perform a component diff:\n let vnodeName = vnode.nodeName\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName]\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (\n dom &&\n dom.splitText !== undefined &&\n dom.parentNode &&\n (!dom._component || componentRoot)\n ) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode)\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n recollectNodeTree(dom, true)\n }\n }\n\n //ie8 error\n try {\n out[ATTR_KEY] = true\n } catch (e) {}\n\n return out\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode =\n vnodeName === 'svg'\n ? true\n : vnodeName === 'foreignObject'\n ? false\n : isSvgMode\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName)\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode)\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) out.appendChild(dom.firstChild)\n\n // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true)\n }\n }\n\n let fc = out.firstChild,\n props = out[ATTR_KEY],\n vchildren = vnode.children\n\n if (props == null) {\n props = out[ATTR_KEY] = {}\n for (let a = out.attributes, i = a.length; i--; )\n props[a[i].name] = a[i].value\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (\n !hydrating &&\n vchildren &&\n vchildren.length === 1 &&\n typeof vchildren[0] === 'string' &&\n fc != null &&\n fc.splitText !== undefined &&\n fc.nextSibling == null\n ) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0]\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if ((vchildren && vchildren.length) || fc != null) {\n innerDiffNode(\n out,\n vchildren,\n context,\n mountAll,\n hydrating || props.dangerouslySetInnerHTML != null\n )\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props)\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode\n\n return out\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n let originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (let i = 0; i < len; i++) {\n let child = originalChildren[i],\n props = child[ATTR_KEY],\n key =\n vlen && props\n ? child._component\n ? child._component.__key\n : props.key\n : null\n if (key != null) {\n keyedLen++\n keyed[key] = child\n } else if (\n props ||\n (child.splitText !== undefined\n ? isHydrating\n ? child.nodeValue.trim()\n : true\n : isHydrating)\n ) {\n children[childrenLen++] = child\n }\n }\n }\n\n if (vlen !== 0) {\n for (let i = 0; i < vlen; i++) {\n vchild = vchildren[i]\n child = null\n\n // attempt to find a node based on key matching\n let key = vchild.key\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key]\n keyed[key] = undefined\n keyedLen--\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (\n children[j] !== undefined &&\n isSameNodeType((c = children[j]), vchild, isHydrating)\n ) {\n child = c\n children[j] = undefined\n if (j === childrenLen - 1) childrenLen--\n if (j === min) min++\n break\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll)\n\n f = originalChildren[i]\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child)\n } else if (child === f.nextSibling) {\n removeNode(f)\n } else {\n dom.insertBefore(child, f)\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (let i in keyed)\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false)\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined)\n recollectNodeTree(child, false)\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nexport function recollectNodeTree(node, unmountOnly) {\n let component = node._component\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component)\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node[ATTR_KEY] != null) applyRef(node[ATTR_KEY].ref, null)\n\n if (unmountOnly === false || node[ATTR_KEY] == null) {\n removeNode(node)\n }\n\n removeChildren(node)\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nexport function removeChildren(node) {\n node = node.lastChild\n while (node) {\n let next = node.previousSibling\n recollectNodeTree(node, true)\n node = next\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n let name\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], (old[name] = undefined), isSvgMode)\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (\n name !== 'children' &&\n name !== 'innerHTML' &&\n (!(name in old) ||\n attrs[name] !==\n (name === 'value' || name === 'checked' ? dom[name] : old[name]))\n ) {\n setAccessor(dom, name, old[name], (old[name] = attrs[name]), isSvgMode)\n }\n }\n}\n","import Component from '../component'\nimport options from '../options'\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nconst components = {}\n\n/** Reclaim a component for later re-use by the recycler. */\nexport function collectComponent(component) {\n let name = component.constructor.name\n ;(components[name] || (components[name] = [])).push(component)\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nexport function createComponent(Ctor, props, context, vnode) {\n let list = components[Ctor.name],\n inst\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context)\n Component.call(inst, props, context)\n } else {\n inst = new Component(props, context)\n inst.constructor = Ctor\n inst.render = doRender\n }\n vnode && (inst.scopedCssAttr = vnode.css)\n\n if (list) {\n for (let i = list.length; i--; ) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase\n list.splice(i, 1)\n break\n }\n }\n }\n return inst\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context)\n}\n","/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function(target, arr, callback) {\n var _observe = function(target, arr, callback) {\n if (!target.$observer) target.$observer = this\n var $observer = target.$observer\n var eventPropArr = []\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {}\n target.$observeProps.$observerPath = '#'\n }\n $observer.mock(target)\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n } else {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n }\n }\n $observer.target = target\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = []\n var propChanged = callback ? callback : arr\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n })\n }\n _observe.prototype = {\n onPropertyChanged: function(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path)\n for (\n var i = 0, len = this.propertyChangedHandler.length;\n i < len;\n i++\n ) {\n var handler = this.propertyChangedHandler[i]\n if (\n handler.all ||\n obaa.isInArray(handler.eventPropArr, rootName) ||\n rootName.indexOf('Array-') === 0\n ) {\n handler.propChanged.call(this.target, prop, value, oldValue, path)\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath)\n }\n },\n mock: function(target) {\n var self = this\n obaa.methods.forEach(function(item) {\n target[item] = function() {\n var old = Array.prototype.slice.call(this, 0)\n var result = Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath)\n }\n }\n //todo\n self.onPropertyChanged(\n 'Array-' + item,\n this,\n old,\n this,\n this.$observeProps.$observerPath\n )\n }\n return result\n }\n target[\n 'pure' + item.substring(0, 1).toUpperCase() + item.substring(1)\n ] = function() {\n return Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n }\n })\n },\n watch: function(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return\n if (obaa.isFunction(target[prop])) return\n if (!target.$observeProps) target.$observeProps = {}\n if (path !== undefined) {\n target.$observeProps.$observerPath = path\n } else {\n target.$observeProps.$observerPath = '#'\n }\n var self = this\n var currentValue = (target.$observeProps[prop] = target[prop])\n Object.defineProperty(target, prop, {\n get: function() {\n return this.$observeProps[prop]\n },\n set: function(value) {\n var old = this.$observeProps[prop]\n this.$observeProps[prop] = value\n self.onPropertyChanged(\n prop,\n value,\n old,\n this,\n target.$observeProps.$observerPath\n )\n }\n })\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue)\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {}\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path\n } else {\n currentValue.$observeProps.$observerPath = '#'\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(\n currentValue,\n cprop,\n target.$observeProps.$observerPath + '-' + prop\n )\n }\n }\n }\n }\n }\n return new _observe(target, arr, callback)\n}\n\nobaa.methods = [\n 'concat',\n 'copyWithin',\n 'entries',\n 'every',\n 'fill',\n 'filter',\n 'find',\n 'findIndex',\n 'forEach',\n 'includes',\n 'indexOf',\n 'join',\n 'keys',\n 'lastIndexOf',\n 'map',\n 'pop',\n 'push',\n 'reduce',\n 'reduceRight',\n 'reverse',\n 'shift',\n 'slice',\n 'some',\n 'sort',\n 'splice',\n 'toLocaleString',\n 'toString',\n 'unshift',\n 'values',\n 'size'\n]\nobaa.triggerStr = [\n 'concat',\n 'copyWithin',\n 'fill',\n 'pop',\n 'push',\n 'reverse',\n 'shift',\n 'sort',\n 'splice',\n 'unshift',\n 'size'\n].join(',')\n\nobaa.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nobaa.isString = function(obj) {\n return typeof obj === 'string'\n}\n\nobaa.isInArray = function(arr, item) {\n for (var i = arr.length; --i > -1; ) {\n if (item === arr[i]) return true\n }\n return false\n}\n\nobaa.isFunction = function(obj) {\n return Object.prototype.toString.call(obj) == '[object Function]'\n}\n\nobaa._getRootName = function(prop, path) {\n if (path === '#') {\n return prop\n }\n return path.split('-')[1]\n}\n\nobaa.add = function(obj, prop) {\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n}\n\nobaa.set = function(obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value\n }\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n if (exec) {\n obj[prop] = value\n }\n}\n\nArray.prototype.size = function(length) {\n this.length = length\n}\n\nexport default obaa\n","const callbacks = []\nconst nextTickCallback = []\n\nexport function tick(fn, scope) {\n callbacks.push({ fn, scope })\n}\n\nexport function fireTick() {\n callbacks.forEach(item => {\n item.fn.call(item.scope)\n })\n\n nextTickCallback.forEach(nextItem => {\n nextItem.fn.call(nextItem.scope)\n })\n nextTickCallback.length = 0\n}\n\nexport function nextTick(fn, scope) {\n nextTickCallback.push({ fn, scope })\n}\n","import obaa from './obaa'\nimport { fireTick } from './tick'\n\nexport function proxyUpdate(ele) {\n let timeout = null\n obaa(ele.data, () => {\n if (ele._willUpdate) {\n return\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n ele.update()\n fireTick()\n }, 0)\n } else {\n ele.update()\n fireTick()\n }\n })\n}\n","import {\n SYNC_RENDER,\n NO_RENDER,\n FORCE_RENDER,\n ASYNC_RENDER,\n ATTR_KEY\n} from '../constants'\nimport options from '../options'\nimport { extend, applyRef } from '../util'\nimport { enqueueRender } from '../render-queue'\nimport { getNodeProps } from './index'\nimport {\n diff,\n mounts,\n diffLevel,\n flushMounts,\n recollectNodeTree,\n removeChildren\n} from './diff'\nimport { createComponent, collectComponent } from './component-recycler'\nimport { removeNode } from '../dom/index'\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost\n} from '../style'\nimport { proxyUpdate } from '../observe'\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nexport function setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return\n component._disable = true\n\n if ((component.__ref = props.ref)) delete props.ref\n if ((component.__key = props.key)) delete props.key\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall()\n if (component.install) component.install()\n if (component.constructor.observe) {\n proxyUpdate(component)\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props)\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context\n component.context = context\n }\n\n if (!component.prevProps) component.prevProps = component.props\n component.props = props\n\n component._disable = false\n\n if (opts !== NO_RENDER) {\n if (\n opts === SYNC_RENDER ||\n options.syncComponentUpdates !== false ||\n !component.base\n ) {\n renderComponent(component, SYNC_RENDER, mountAll)\n } else {\n enqueueRender(component)\n }\n }\n\n applyRef(component.__ref, component)\n}\n\nfunction shallowComparison(old, attrs) {\n let name\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true\n }\n\n for (name in attrs) {\n if (name != 'children') {\n let type = typeof attrs[name]\n if (type == 'function' || type == 'object') {\n return true\n } else if (attrs[name] != old[name]) {\n return true\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nexport function renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return\n\n let props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase\n\n // if updating\n if (isUpdate) {\n component.props = previousProps\n component.data = previousState\n component.context = previousContext\n if (component.store || opts == FORCE_RENDER || shallowComparison(previousProps, props)) {\n skip = false\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context)\n }\n } else {\n skip = true\n }\n component.props = props\n component.data = data\n component.context = context\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null\n\n if (!skip) {\n component.beforeRender && component.beforeRender()\n rendered = component.render(props, data, context)\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(component.constructor)\n )\n }\n\n scopeHost(rendered, component.scopedCssAttr)\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext())\n }\n\n let childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent]\n\n if (ctor) {\n // set up high order component link\n\n let childProps = getNodeProps(rendered)\n inst = initialChildComponent\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, SYNC_RENDER, context, false)\n } else {\n toUnmount = inst\n\n component._component = inst = createComponent(ctor, childProps, context)\n inst.nextBase = inst.nextBase || nextBase\n inst._parentComponent = component\n setComponentProps(inst, childProps, NO_RENDER, context, false)\n renderComponent(inst, SYNC_RENDER, mountAll, true)\n }\n\n base = inst.base\n } else {\n cbase = initialBase\n\n // destroy high order component link\n toUnmount = initialChildComponent\n if (toUnmount) {\n cbase = component._component = null\n }\n\n if (initialBase || opts === SYNC_RENDER) {\n if (cbase) cbase._component = null\n base = diff(\n cbase,\n rendered,\n context,\n mountAll || !isUpdate,\n initialBase && initialBase.parentNode,\n true\n )\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n let baseParent = initialBase.parentNode\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase)\n\n if (!toUnmount) {\n initialBase._component = null\n recollectNodeTree(initialBase, false)\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount)\n }\n\n component.base = base\n if (base && !isChild) {\n let componentRef = component,\n t = component\n while ((t = t._parentComponent)) {\n ;(componentRef = t).base = base\n }\n base._component = componentRef\n base._componentConstructor = componentRef.constructor\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component)\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext)\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext)\n }\n if (options.afterUpdate) options.afterUpdate(component)\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length)\n component._renderCallbacks.pop().call(component)\n }\n\n if (!diffLevel && !isChild) flushMounts()\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nexport function buildComponentFromVNode(dom, vnode, context, mountAll) {\n let c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode)\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, ASYNC_RENDER, context, mountAll)\n dom = c.base\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent)\n dom = oldDom = null\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode)\n if (dom && !c.nextBase) {\n c.nextBase = dom\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null\n }\n setComponentProps(c, props, SYNC_RENDER, context, mountAll)\n dom = c.base\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null\n recollectNodeTree(oldDom, false)\n }\n }\n\n return dom\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nexport function unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component)\n\n let base = component.base\n\n component._disable = true\n\n if (component.uninstall) component.uninstall()\n\n component.base = null\n\n // recursively tear down & recollect high-order component children:\n let inner = component._component\n if (inner) {\n unmountComponent(inner)\n } else if (base) {\n if (base[ATTR_KEY] != null) applyRef(base[ATTR_KEY].ref, null)\n\n component.nextBase = base\n\n removeNode(base)\n collectComponent(component)\n\n removeChildren(base)\n }\n\n applyRef(component.__ref, null)\n}\n","import { diff } from './vdom/diff'\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nexport function render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n }\n\n if (merge) {\n merge =\n typeof merge === 'string'\n ? document.querySelector(merge)\n : merge\n }\n\n return diff(merge, vnode, store, false, parent, false)\n}\n","import { FORCE_RENDER } from './constants'\nimport { renderComponent } from './vdom/component'\nimport options from './options'\nimport { nProps, assign } from './util'\n\nlet id = 0\n\nexport default class Component {\n static is = 'WeElement'\n\n constructor(props, store) {\n this.props = assign(\n nProps(this.constructor.props),\n this.constructor.defaultProps,\n props\n )\n this.elementId = id++\n this.data = this.constructor.data || this.data || {}\n\n this._preCss = null\n\n this.store = store\n }\n\n update(callback) {\n this._willUpdate = true\n if (callback)\n (this._renderCallbacks = this._renderCallbacks || []).push(callback)\n renderComponent(this, FORCE_RENDER)\n if (options.componentChange) options.componentChange(this, this.base)\n this._willUpdate = false\n }\n\n fire(type, data) {\n Object.keys(this.props).every(key => {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n this.props[key]({ detail: data })\n return false\n }\n return true\n })\n }\n\n render() {}\n}\n","import options from './options'\n\nexport function define(name, ctor) {\n options.mapping[name] = ctor\n}\n","export function rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, (a, b) => {\n return (window.innerWidth * Number(b)) / 750 + 'px'\n })\n}\n","/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty\n\nexport function classNames() {\n var classes = []\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i]\n if (!arg) continue\n\n var argType = typeof arg\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg)\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg)\n if (inner) {\n classes.push(inner)\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key)\n }\n }\n }\n }\n\n return classes.join(' ')\n}\n\nexport function extractClass() {\n const [props, ...args] = Array.prototype.slice.call(arguments, 0)\n if (props) {\n if (props.class) {\n args.unshift(props.class)\n delete props.class\n } else if (props.className) {\n args.unshift(props.className)\n delete props.className\n }\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) }\n }\n}\n","/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nimport options from './options'\n\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost,\n scoper\n} from './style'\n\n\nconst encodeEntities = s => String(s)\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"');\n\nconst indent = (s, char) => String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nconst mapping = options.mapping\n\nconst VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nconst isLargeString = (s, length, ignoreLines) => (String(s).length > (length || 40) || (!ignoreLines && String(s).indexOf('\\n') !== -1) || String(s).indexOf('<') !== -1);\n\nconst JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n let str = '';\n for (let prop in s) {\n let val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\n/** The default export is an alias of `render()`. */\nexport function renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n let nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n },opts)\n\n let pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n const ctor = mapping[nodeName]\n if (ctor) {\n isComponent = true;\n\n let props = getNodeProps(vnode),\n rendered;\n // class-based components\n let c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n let tempCss \n if(opts.scopedCSS){\n\n if (c.constructor.css || c.css) {\n\n const cssStr = c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css)\n const cssAttr = '_s' + getCtorName(c.constructor)\n\n tempCss = ``\n\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(c.constructor)\n )\n }\n \n c.scopedCSSAttr = vnode.css\n scopeHost(rendered, c.scopedCSSAttr)\n }\n\n return renderToString(rendered, opts, store, false, tempCss);\n }\n\n\n // render JSX to HTML\n let s = '', html;\n\n if (attributes) {\n let attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (let i = 0; i < attrs.length; i++) {\n let name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes.class) continue;\n name = 'class';\n }\n else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n let hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n }\n else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ` ${name}=\"${encodeEntities(v)}\"`;\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n let sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;\n else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = `<${nodeName}${s}>`;\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n let isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n let pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n }\n else if (vnode.children) {\n let hasLarge = pretty && ~s.indexOf('\\n');\n for (let i = 0; i < vnode.children.length; i++) {\n let child = vnode.children[i];\n if (child != null && child !== false) {\n let childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = renderToString(child, opts, store, childSvgMode);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (let i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n }\n else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += `${nodeName}>`;\n }\n\n if(css) return css + s;\n return s;\n}\n\nfunction assign(obj, props) {\n for (let i in props) obj[i] = props[i];\n return obj;\n}\n\nfunction getNodeProps(vnode) {\n let props = assign({}, vnode.attributes);\n props.children = vnode.children;\n\n let defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}","function getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n if (typeof self !== 'undefined') {\n return self\n } else if (typeof window !== 'undefined') {\n return window\n } else if (typeof global !== 'undefined') {\n return global\n }\n return (function() {\n return this\n })()\n }\n return global\n}\n\n/** Global options\n *\t@public\n *\t@namespace options {Object}\n */\nexport default {\n scopedStyle: true,\n mapping: {},\n isWeb: true,\n staticStyleMapping: {},\n doc: typeof document === 'object' ? document : null,\n root: getGlobal(),\n //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]\n styleCache: []\n //componentChange(component, element) { },\n /** If `true`, `prop` changes trigger synchronous component updates.\n *\t@name syncComponentUpdates\n *\t@type Boolean\n *\t@default true\n */\n //syncComponentUpdates: true,\n\n /** Processes all created VNodes.\n *\t@param {VNode} vnode\tA newly-created VNode to normalize/process\n */\n //vnode(vnode) { }\n\n /** Hook invoked after a component is mounted. */\n //afterMount(component) { },\n\n /** Hook invoked after the DOM is updated with a component's latest render. */\n //afterUpdate(component) { }\n\n /** Hook invoked immediately before a component is unmounted. */\n // beforeUnmount(component) { }\n}\n","import Component from './component'\n\nexport default class ModelView extends Component {\n static observe = true\n\n static mergeUpdate = true\n\n beforeInstall() {\n this.data = this.vm.data\n }\n}\n","import { h, h as createElement } from './h'\nimport { cloneElement } from './clone-element'\nimport Component from './component'\nimport { render } from './render'\nimport { rerender } from './render-queue'\nimport options from './options'\nimport { define } from './define'\nimport { rpx } from './rpx'\nimport ModelView from './model-view'\nimport { classNames, extractClass } from './class'\nimport { getHost } from './get-host'\nimport { renderToString } from './render-to-string'\n\nconst WeElement = Component\nconst defineElement = define\nfunction createRef() {\n return {}\n}\n\noptions.root.Omi = {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\noptions.root.omi = options.root.Omi\noptions.root.Omi.version = 'omio-1.3.8'\n\nexport default {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n\nexport {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n"]}
\ No newline at end of file
diff --git a/packages/omip/my-app-ts/src/libs/router/index.js b/packages/omip/my-app-ts/src/libs/router/index.js
new file mode 100644
index 000000000..d23b4d25f
--- /dev/null
+++ b/packages/omip/my-app-ts/src/libs/router/index.js
@@ -0,0 +1,146 @@
+import { WeElement, define, render } from 'omi'
+import 'omi-router'
+
+let currentPage = null
+let stackList = []
+
+window.stackList = stackList
+define('o-router', class extends WeElement {
+
+ _firstTime = true
+
+ installed() {
+ const root = document.querySelector('#app')
+ let main
+ this.props.routes.forEach(current => {
+ route(current.path, (evt) => {
+ current.componentLoader()
+ .then(res => {
+ const arr = current.path.replace(/pages/, 'page').split('/')
+ const selector = current.path.replace(/\//g, '-')
+ routeUpdate({ nodeName: arr[1] + '-' + arr[2], attributes: { className: selector } }, selector, evt.byNative, root)
+ }).catch(res => {
+ console.log(res)
+ })
+ })
+ if (current.isIndex) {
+ main = current
+ current.componentLoader()
+ .then(res => {
+ const arr = this.props.routes[0].path.replace(/pages/, 'page').split('/')
+ const selector = main.path.replace(/\//g, '-')
+
+ this.vd = { nodeName: arr[1] + '-' + arr[2] }
+ this.update()
+ const ele = root.childNodes[root.childNodes.length - 1]
+ stackList.push({ slt: selector, ele: ele, display: window.getComputedStyle(ele).display, scrollTop: 0 })
+
+ }).catch(res => {
+ console.log(res)
+ })
+ }
+ })
+
+ route('*', (evt) => {
+ main.componentLoader()
+ .then(res => {
+ const arr = main.path.replace(/pages/, 'page').split('/')
+ const selector = main.path.replace(/\//g, '-')
+ routeUpdate({ nodeName: arr[1] + '-' + arr[2] }, selector, evt.byNative, root)
+ }).catch(res => {
+ console.log(res)
+ })
+ })
+ }
+
+
+ render() {
+ if (this._firstTime) {
+ this._firstTime = false
+ return null
+ } else {
+ return this.vd
+ }
+ }
+})
+
+
+
+
+export function routeUpdate(vnode, selector, byNative, root) {
+ root.childNodes.forEach(child => {
+ if (child.style.display !== 'none') {
+ child.style.display = 'none'
+ child.onHide && child.onHide()
+ child._component && child._component.onHide && child._component.onHide()
+ }
+ })
+ const item = getElement(selector)
+ if (byNative) {
+ //浏览器后退
+ if (item && item.ele) {
+ const ele = item.ele
+ ele.style.display = item.display
+ ele.onShow && ele.onShow()
+ ele._component && ele._component.onShow && ele._component.onShow()
+ currentPage = ele
+ document.documentElement.scrollTop = item.scrollTop
+ document.body.scrollTop = item.scrollTop
+ //set twice
+ setTimeout(function () {
+ document.documentElement.scrollTop = item.scrollTop
+ document.body.scrollTop = item.scrollTop
+ }, 0)
+ } else {
+ const node = render(vnode, root)
+ node.onShow && node.onShow()
+ node._component && node._component.onShow && node._component.onShow()
+ currentPage = node
+ document.documentElement.scrollTop = 0
+ document.body.scrollTop = 0
+ }
+ } else {
+ //前进
+ if (item && item.ele) {
+ item.ele.parentNode.removeChild(item.ele)
+ remove(item)
+ }
+ const node = render(vnode, root)
+ node.onShow && node.onShow()
+ node._component && node._component.onShow && node._component.onShow()
+ currentPage = node
+
+ const ele = root.childNodes[root.childNodes.length - 1]
+ stackList.push({ slt: selector, ele: ele, display: window.getComputedStyle(ele).display, scrollTop: 0 })
+ document.documentElement.scrollTop = 0
+ document.body.scrollTop = 0
+ }
+}
+
+function getElement(slt) {
+ for (let i = 0, length = stackList.length; i < length; i++) {
+ if (stackList[i].slt === slt) {
+ return stackList[i]
+ }
+ }
+}
+
+function remove(item) {
+ for (let i = 0, length = stackList.length; i < length; i++) {
+ if (stackList[i] === item) {
+ stackList.splice(i, 1)
+ return
+ }
+ }
+}
+
+
+window.onscroll = function () {
+ const top = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop
+ for (let i = 0, length = stackList.length; i < length; i++) {
+ if (stackList[i].ele === currentPage) {
+ stackList[i].scrollTop = top
+ return
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/omip/my-app-ts/src/pages/list/index.js b/packages/omip/my-app-ts/src/pages/list/index.js
index 75f25317b..1bf8cea83 100644
--- a/packages/omip/my-app-ts/src/pages/list/index.js
+++ b/packages/omip/my-app-ts/src/pages/list/index.js
@@ -50,7 +50,7 @@ define('page-list', class extends WeElement {
}
render() {
- const { showLoading, films } = this.data
+ const { showLoading, films, hasMore } = this.data
if (showLoading) {
return (
diff --git a/packages/omip/my-app/config/h5.js b/packages/omip/my-app/config/h5.js
new file mode 100644
index 000000000..83b220300
--- /dev/null
+++ b/packages/omip/my-app/config/h5.js
@@ -0,0 +1,107 @@
+const config = {
+ projectName: 'my-app',
+ date: '2019-2-21',
+ designWidth: 750,
+ deviceRatio: {
+ '640': 2.34 / 2,
+ '750': 1,
+ '828': 1.81 / 2
+ },
+ alias: {
+ 'omi': 'src/libs/omip-h5/omi.esm.js',
+ '@tarojs': 'src/libs'
+ },
+ sourceRoot: 'src',
+ outputRoot: 'dist',
+ plugins: {
+ babel: {
+ sourceMap: true,
+ presets: [
+ ['env', {
+ modules: false
+ }]
+ ],
+ plugins: [
+ 'transform-decorators-legacy',
+ 'transform-class-properties',
+ 'transform-object-rest-spread',
+ // ['transform-react-jsx', { pragma: 'global.Omi.h' }]
+ ]
+ }
+ },
+ defineConstants: {
+ },
+ copy: {
+ patterns: [
+ ],
+ options: {
+ }
+ },
+ weapp: {
+ module: {
+ postcss: {
+ autoprefixer: {
+ enable: true,
+ config: {
+ browsers: [
+ 'last 3 versions',
+ 'Android >= 4.1',
+ 'ios >= 8'
+ ]
+ }
+ },
+ pxtransform: {
+ enable: false,
+ config: {
+
+ }
+ },
+ url: {
+ enable: true,
+ config: {
+ limit: 10240 // 设定转换尺寸上限
+ }
+ },
+ cssModules: {
+ enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
+ config: {
+ namingPattern: 'module', // 转换模式,取值为 global/module
+ generateScopedName: '[name]__[local]___[hash:base64:5]'
+ }
+ }
+ }
+ }
+ },
+ h5: {
+ publicPath: '/',
+ staticDirectory: 'static',
+ module: {
+ postcss: {
+ autoprefixer: {
+ enable: true,
+ config: {
+ browsers: [
+ 'last 3 versions',
+ 'Android >= 4.1',
+ 'ios >= 8'
+ ]
+ }
+ },
+ cssModules: {
+ enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
+ config: {
+ namingPattern: 'module', // 转换模式,取值为 global/module
+ generateScopedName: '[name]__[local]___[hash:base64:5]'
+ }
+ }
+ }
+ }
+ }
+}
+
+module.exports = function (merge) {
+ if (process.env.NODE_ENV === 'development') {
+ return merge({}, config, require('./dev'))
+ }
+ return merge({}, config, require('./prod'))
+}
diff --git a/packages/omip/my-app/config/prod.js b/packages/omip/my-app/config/prod.js
index 391035542..631d4ed8a 100644
--- a/packages/omip/my-app/config/prod.js
+++ b/packages/omip/my-app/config/prod.js
@@ -5,5 +5,7 @@ module.exports = {
defineConstants: {
},
weapp: {},
- h5: {}
+ h5: {
+ publicPath: './',
+ }
}
diff --git a/packages/omip/my-app/package.json b/packages/omip/my-app/package.json
index 83b5bb687..8f3a16b43 100644
--- a/packages/omip/my-app/package.json
+++ b/packages/omip/my-app/package.json
@@ -20,6 +20,8 @@
"author": "",
"license": "MIT",
"dependencies": {
+ "@babel/code-frame": "^7.0.0-beta.44",
+ "@fdaciuk/ajax": "^3.0.4",
"@tarojs/components": "1.2.13",
"@tarojs/router": "1.2.13",
"@tarojs/taro": "1.2.13",
@@ -28,16 +30,23 @@
"@tarojs/taro-swan": "1.2.13",
"@tarojs/taro-tt": "1.2.13",
"@tarojs/taro-weapp": "1.2.13",
- "nerv-devtools": "^1.3.9",
- "nervjs": "^1.3.9",
"@tarojs/taroize": "1.2.13",
"autoprefixer": "^8.4.1",
"babel-core": "^6.26.3",
+ "babel-eslint": "^8.2.3",
"babel-generator": "^6.26.1",
+ "babel-helper-evaluate-path": "^0.5.0",
+ "babel-helper-mark-eval-scopes": "^0.4.3",
+ "babel-helper-remove-or-void": "^0.4.3",
"babel-plugin-danger-remove-unused-import": "^1.1.1",
+ "babel-plugin-minify-dead-code": "^0.5.2",
"babel-plugin-remove-dead-code": "^1.3.2",
+ "babel-plugin-syntax-dynamic-import": "^6.18.0",
+ "babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-plugin-transform-define": "^1.3.0",
+ "babel-plugin-transform-es2015-template-literals": "^6.22.0",
+ "babel-plugin-transform-flow-strip-types": "^6.22.0",
"babel-plugin-transform-jsx-to-stylesheet": "1.2.13",
"babel-plugin-transform-react-jsx": "^6.24.1",
"babel-template": "^6.26.0",
@@ -52,9 +61,12 @@
"css-to-react-native-transform": "^1.4.0",
"ejs": "^2.6.1",
"envinfo": "^6.0.1",
+ "eslint": "^4.15.0",
+ "eslint-plugin-taro": "1.2.13",
"fs-extra": "^5.0.0",
"generic-names": "^2.0.1",
"glob": "^7.1.2",
+ "html": "^1.0.0",
"inquirer": "^5.2.0",
"klaw": "^2.1.1",
"latest-version": "^4.0.0",
@@ -62,6 +74,9 @@
"mem-fs": "^1.1.3",
"mem-fs-editor": "^4.0.0",
"minimatch": "^3.0.4",
+ "nerv-devtools": "^1.3.9",
+ "nervjs": "^1.3.9",
+ "omi-router": "^2.0.8",
"ora": "^2.0.0",
"postcss": "^6.0.22",
"postcss-modules-extract-imports": "^1.1.0",
@@ -78,22 +93,9 @@
"semver": "^5.5.0",
"shelljs": "^0.8.1",
"through2": "^2.0.3",
+ "typescript": "^3.2.2",
"vinyl": "^2.1.0",
- "vinyl-fs": "^3.0.2",
- "@babel/code-frame": "^7.0.0-beta.44",
- "babel-eslint": "^8.2.3",
- "babel-helper-evaluate-path": "^0.5.0",
- "babel-helper-mark-eval-scopes": "^0.4.3",
- "babel-helper-remove-or-void": "^0.4.3",
- "babel-plugin-minify-dead-code": "^0.5.2",
- "babel-plugin-syntax-dynamic-import": "^6.18.0",
- "babel-plugin-transform-class-properties": "^6.24.1",
- "babel-plugin-transform-es2015-template-literals": "^6.22.0",
- "babel-plugin-transform-flow-strip-types": "^6.22.0",
- "eslint": "^4.15.0",
- "eslint-plugin-taro": "1.2.13",
- "html": "^1.0.0",
- "typescript": "^3.2.2"
+ "vinyl-fs": "^3.0.2"
},
"devDependencies": {
"@types/react": "^16.4.6",
diff --git a/packages/omip/my-app/scripts/taro-cli/src/h5.js b/packages/omip/my-app/scripts/taro-cli/src/h5.js
index 788a5c2e5..6746424f7 100755
--- a/packages/omip/my-app/scripts/taro-cli/src/h5.js
+++ b/packages/omip/my-app/scripts/taro-cli/src/h5.js
@@ -18,7 +18,9 @@ const CONFIG = require('./config')
const { source: toAst, getObjKey } = require('./util/ast_convert')
const appPath = process.cwd()
-const projectConfig = require(path.join(appPath, Util.PROJECT_CONFIG))(_.merge)
+//@fix
+const projectConfig = require(path.join(appPath, Util.PROJECT_CONFIG_H5))(_.merge)
+
const h5Config = projectConfig.h5 || {}
const routerConfig = h5Config.router || {}
const routerMode = routerConfig.mode === 'browser' ? 'browser' : 'hash'
@@ -69,10 +71,21 @@ const DEVICE_RATIO = 'deviceRatio'
if (projectConfig.hasOwnProperty(DEVICE_RATIO)) {
pxTransformConfig[DEVICE_RATIO] = projectConfig.deviceRatio
}
+//@fix
+if (!String.prototype.endsWith) {
+ String.prototype.endsWith = function(search, this_len) {
+ if (this_len === undefined || this_len > this.length) {
+ this_len = this.length;
+ }
+ return this.substring(this_len - search.length, this_len) === search;
+ };
+}
let pages = []
let tabBar
let tabbarPos
+//@fix
+let appCSS = ''
const FILE_TYPE = {
ENTRY: 'ENTRY',
@@ -199,8 +212,8 @@ function processEntry (code, filePath) {
isIndex: k === 0
})
})
-
- funcBody = ` -1 ? lastImportIndex : 0}`)
const extraNodes = [
- importTaroH5Node,
+ //@fix
+ //importTaroH5Node,
+ importMpNode,
importRouterNode,
- initPxTransformNode
+ //@fix
+ //initPxTransformNode
]
astPath.traverse(programExitVisitor)
if (hasJSX && !hasAddNervJsImportDefaultName) {
- extraNodes.unshift(importNervjsNode)
+ //@fix
+ //extraNodes.unshift(importNervjsNode)
}
if (tabBar) {
extraNodes.unshift(importComponentNode)
@@ -621,6 +649,11 @@ function processOthers (code, filePath, fileType) {
'method', t.identifier('componentDidShow'), [],
t.blockStatement([]), false, false))
}
+ //@fix
+ astPath.unshiftContainer('body', t.classProperty(
+ t.identifier('static css'),
+ t.identifier('___css')
+ ))
}
}
}
@@ -640,12 +673,31 @@ function processOthers (code, filePath, fileType) {
}
}
} : {},
+ //@fix
+ ClassBody:{
+ enter (astPath) {
+ astPath.unshiftContainer('body', t.classProperty(
+ t.identifier('static css'),
+ t.identifier('___css')
+ ))
+ }
+ },
ImportDeclaration: {
enter (astPath) {
const node = astPath.node
const source = node.source
let value = source.value
const specifiers = node.specifiers
+ //@fix
+ if(value.endsWith('.css')){
+ let css = fs.readFileSync(filePath.replace('.js','.css'), 'utf-8').replace(/\/\*[^*]*\*+([^/][^*]*\*+)*\//g, '')
+ //page里需要注入 appcss
+ if(filePath.indexOf('/src/pages/')!==-1||filePath.indexOf('\\src\\pages\\')!==-1){
+ css = appCSS + css
+ }
+ astPath.replaceWith(t.variableDeclaration('const',[t.variableDeclarator(t.identifier(`___css`),t.callExpression(t.identifier('Omi.rpx'),[t.stringLiteral(css)]),)]))
+ return
+ }
if (Util.isAliasPath(value, pathAlias)) {
source.value = value = Util.replaceAliasPath(filePath, value, pathAlias)
}
@@ -664,10 +716,11 @@ function processOthers (code, filePath, fileType) {
taroImportDefaultName = specifier.local.name
specifier.local.name = nervJsImportDefaultName
} else if (!hasAddNervJsImportDefaultName) {
- hasAddNervJsImportDefaultName = true
- node.specifiers.unshift(
- t.importDefaultSpecifier(t.identifier(nervJsImportDefaultName))
- )
+ //@fix
+ //hasAddNervJsImportDefaultName = true
+ // node.specifiers.unshift(
+ // t.importDefaultSpecifier(t.identifier(nervJsImportDefaultName))
+ // )
}
const taroApisSpecifiers = []
const deletedIdx = []
@@ -705,11 +758,12 @@ function processOthers (code, filePath, fileType) {
}
const node = astPath.node
if (hasJSX && !hasAddNervJsImportDefaultName) {
- node.body.unshift(
- t.importDeclaration([
- t.importDefaultSpecifier(t.identifier(nervJsImportDefaultName))
- ], t.stringLiteral(PACKAGES['nervjs']))
- )
+ //@fix
+ // node.body.unshift(
+ // t.importDeclaration([
+ // t.importDefaultSpecifier(t.identifier(nervJsImportDefaultName))
+ // ], t.stringLiteral(PACKAGES['nervjs']))
+ // )
}
if (taroImportDefaultName) {
const importTaro = toAst(`import ${taroImportDefaultName} from '${PACKAGES['@tarojs/taro-h5']}'`)
diff --git a/packages/omip/my-app/scripts/taro-cli/src/util/index.js b/packages/omip/my-app/scripts/taro-cli/src/util/index.js
index 0e486ae7b..72f241af4 100755
--- a/packages/omip/my-app/scripts/taro-cli/src/util/index.js
+++ b/packages/omip/my-app/scripts/taro-cli/src/util/index.js
@@ -163,6 +163,8 @@ exports.CONFIG_MAP = {
}
exports.PROJECT_CONFIG = 'config/index.js'
+//@fix
+exports.PROJECT_CONFIG_H5 = 'config/h5.js'
exports.DEVICE_RATIO = {
'640': 2.34 / 2,
diff --git a/packages/omip/my-app/src/app.js b/packages/omip/my-app/src/app.js
index db762975f..5a984bd3d 100644
--- a/packages/omip/my-app/src/app.js
+++ b/packages/omip/my-app/src/app.js
@@ -70,4 +70,4 @@ define('my-app', class extends WeElement {
})
-render(, 'body')
+render(, '#app')
diff --git a/packages/omip/my-app/src/components/my-element/index.js b/packages/omip/my-app/src/components/my-element/index.js
index 8f1cc5690..fbc608899 100644
--- a/packages/omip/my-app/src/components/my-element/index.js
+++ b/packages/omip/my-app/src/components/my-element/index.js
@@ -10,14 +10,14 @@ define('my-element', class extends WeElement {
clickHandler = () => {
console.log('clicked' + this.a)
- // this.data.arr[0] = Math.random()
- // this.data.arr[1] = Math.random()
- // this.update()
- //上面代码等同于:
- this.update({
- 'arr[0]': Math.random(),
- "arr[1]": Math.random()
- })
+ this.data.arr[0] = Math.random()
+ this.data.arr[1] = Math.random()
+ this.update()
+ //上面代码等同于,注意 h5 不支持下面方式更新
+ // this.update({
+ // 'arr[0]': Math.random(),
+ // "arr[1]": Math.random()
+ // })
}
render() {
diff --git a/packages/omip/my-app/src/index.html b/packages/omip/my-app/src/index.html
index 0291a9882..6785f14a3 100644
--- a/packages/omip/my-app/src/index.html
+++ b/packages/omip/my-app/src/index.html
@@ -8,10 +8,8 @@
- Taro
-
+
+ Omi
diff --git a/packages/omip/my-app/src/libs/mp/get-app.js b/packages/omip/my-app/src/libs/mp/get-app.js
new file mode 100644
index 000000000..1e8c50ea7
--- /dev/null
+++ b/packages/omip/my-app/src/libs/mp/get-app.js
@@ -0,0 +1,10 @@
+window.getApp = function () {
+ return {
+ globalData: {
+ userInfo: {
+ avatarUrl: 'https://github.com/Tencent/omi/raw/master/assets/omi-logo-140.png?sanitize=true',
+ nickName: 'dntzhang(张磊)'
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/omip/my-app/src/libs/mp/index.js b/packages/omip/my-app/src/libs/mp/index.js
new file mode 100644
index 000000000..c86d39bbc
--- /dev/null
+++ b/packages/omip/my-app/src/libs/mp/index.js
@@ -0,0 +1,2 @@
+import './wx'
+import './get-app'
\ No newline at end of file
diff --git a/packages/omip/my-app/src/libs/mp/wx.js b/packages/omip/my-app/src/libs/mp/wx.js
new file mode 100644
index 000000000..159cf2114
--- /dev/null
+++ b/packages/omip/my-app/src/libs/mp/wx.js
@@ -0,0 +1,182 @@
+import { render } from 'omi'
+import ajax from '@fdaciuk/ajax'
+
+
+function noop() { }
+
+const wx = {}
+
+wx.canIUse = function () {
+ return false
+}
+
+wx.getStorageSync = noop
+wx.setStorageSync = noop
+wx.login = noop
+wx.getSetting = noop
+
+wx.getSystemInfoSync = function () {
+ return {
+ windowWidth: window.innerWidth,
+ windowHeight: window.innerHeight,
+ pixelRatio: window.devicePixelRadio
+ }
+}
+
+wx.getSystemInfo = function (options) {
+ options.success({
+ windowWidth: window.innerWidth,
+ windowHeight: window.innerHeight,
+ pixelRatio: window.devicePixelRadio
+ })
+}
+
+wx.getUserInfo = function () {
+ console.warn('wx.getUserInfo method cannot be invoked in browser.')
+}
+
+wx.navigateTo = function (option) {
+ route.query = getUrlParams(option.url)
+ route.to(option.url.replace('../','/pages/'), option)
+}
+
+function getUrlParam(name, url) {
+ if (!name) {
+ return ''
+ }
+ url = url || location.search
+ name = name.replace(/(?=[\\^$*+?.():|{}])/, '\\')
+ var reg = new RegExp('(?:[?&]|^)' + name + '=([^?]*)', 'i')
+ var match = url.match(reg)
+ return !match ? '' : match[1]
+}
+
+wx.setNavigationBarTitle = function (option) {
+ document.title = option.title
+}
+
+wx.navigateBack = function (option) {
+ history.go(option.delta * -1)
+}
+
+function getUrlParams(url) {
+ url = url.replace(/#.*$/, '')
+ var queryArray = url.split(/[?&]/).slice(1)
+ var i, args = {}
+ for (i = 0; i < queryArray.length; i++) {
+ var match = queryArray[i].match(/([^=]+)=([^=]+)/)
+ if (match !== null) {
+ args[match[1]] = decodeURIComponent(match[2])
+ }
+ }
+ return args
+}
+
+wx.currentPage = null
+
+export function routeUpdate(vnode, selector, byNative, root) {
+ root.childNodes.forEach(child => {
+ if (child.style.display !== 'none') {
+ child.style.display = 'none'
+ child.onHide && child.onHide()
+ }
+ })
+ if (byNative) {
+ const ele = document.querySelector(selector)
+ if (ele) {
+ ele.style.display = 'block'
+ ele.onShow && ele.onShow()
+ wx.currentPage = ele
+ document.documentElement.scrollTop = ele._preScrollTop
+ document.body.scrollTop = ele._preScrollTop
+ //set twice
+ setTimeout(function () {
+ document.documentElement.scrollTop = ele._preScrollTop
+ document.body.scrollTop = ele._preScrollTop
+ }, 0)
+ } else {
+ const node = render(vnode, root)
+ node.onShow && node.onShow()
+ wx.currentPage = node
+ document.documentElement.scrollTop = 0
+ document.body.scrollTop = 0
+ }
+ } else {
+ const ele = document.querySelector(selector)
+ ele && ele.parentNode.removeChild(ele)
+ const node = render(vnode, root)
+ node.onShow && node.onShow()
+ wx.currentPage = node
+ document.documentElement.scrollTop = 0
+ document.body.scrollTop = 0
+ }
+}
+
+wx.request = function (options) {
+ const request = ajax({
+ method: options.method || 'GET',
+ url: options.url,
+ data: options.data,
+ headers: options.header
+ })
+
+ request.then((data, xhr) => {
+ options.success({
+ data: data,
+ statusCode: xhr.status
+ })
+ })
+}
+
+wx._bindReachBottom = function (callback, context) {
+ window.addEventListener('scroll', () => {
+ if (getScrollHeight() - getScrollTop() - getWindowHeight() < 30) {
+ if(context === wx.currentPage){
+ throttle(callback, context)
+ }
+ }
+ })
+}
+
+function getScrollHeight() {
+ var scrollHeight = 0, bodyScrollHeight = 0, documentScrollHeight = 0;
+ if (document.body) {
+ bodyScrollHeight = document.body.scrollHeight;
+ }
+ if (document.documentElement) {
+ documentScrollHeight = document.documentElement.scrollHeight;
+ }
+ scrollHeight = (bodyScrollHeight - documentScrollHeight > 0) ? bodyScrollHeight : documentScrollHeight;
+ return scrollHeight;
+}
+
+function getScrollTop() {
+ var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0;
+ if (document.body) {
+ bodyScrollTop = document.body.scrollTop;
+ }
+ if (document.documentElement) {
+ documentScrollTop = document.documentElement.scrollTop;
+ }
+ scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop;
+ return scrollTop;
+}
+
+function getWindowHeight() {
+ var windowHeight = 0;
+ if (document.compatMode == "CSS1Compat") {
+ windowHeight = document.documentElement.clientHeight;
+ } else {
+ windowHeight = document.body.clientHeight;
+ }
+ return windowHeight;
+}
+
+function throttle(method, scope) {
+ clearTimeout(method.tId);
+ method.tId= setTimeout(function(){
+ method.call(scope);
+ }, 300);
+}
+
+window.wx = wx
diff --git a/packages/omip/my-app/src/libs/omip-h5/omi.d.ts b/packages/omip/my-app/src/libs/omip-h5/omi.d.ts
new file mode 100755
index 000000000..dfde9c6fb
--- /dev/null
+++ b/packages/omip/my-app/src/libs/omip-h5/omi.d.ts
@@ -0,0 +1,976 @@
+export = Omi;
+export as namespace Omi;
+
+declare namespace Omi {
+ type Callback = (...args: any[]) => void;
+ type Key = string | number;
+ type Ref = (instance: T) => void;
+ type ComponentChild = VNode | object | string | number | boolean | null;
+ type ComponentChildren = ComponentChild[] | ComponentChild;
+
+ interface Attributes {
+ key?: string | number | any;
+ }
+
+ interface ClassAttributes extends Attributes {
+ ref?: Ref;
+ }
+
+ interface OmiDOMAttributes {
+ children?: ComponentChildren;
+ dangerouslySetInnerHTML?: {
+ __html: string;
+ };
+ }
+
+ /**
+ * Use this to manually set the attributes of a custom element
+ *
+ * declare global {
+ * namespace JSX {
+ * interface IntrinsicElements {
+ * 'hello-element': CustomElementBaseAttributes & {
+ * propFromParent: string;
+ * }
+ * }
+ * }
+ * }
+ */
+ interface CustomElementBaseAttributes extends ClassAttributes, OmiDOMAttributes {}
+
+ /**
+ * Define the contract for a virtual node in omi.
+ *
+ * A virtual node has a name, a map of attributes, an array
+ * of child {VNode}s and a key. The key is used by omi for
+ * internal purposes.
+ */
+ interface VNode {
+ nodeName: string;
+ attributes: P;
+ children: Array | string>;
+ key?: Key | null;
+ }
+
+ type RenderableProps = Readonly<
+ P & Attributes & { children?: ComponentChildren; ref?: Ref }
+ >;
+
+ interface WeElement {
+ install?(): void;
+ installed?(): void;
+ uninstall?(): void;
+ beforeUpdate?(): void;
+ afterUpdate?(): void;
+ updated?(): void;
+ beforeRender?(): void;
+ receiveProps?(): void;
+ }
+
+ interface ModelView
{
+ install?(): void;
+ installed?(): void;
+ uninstall?(): void;
+ beforeUpdate?(): void;
+ afterUpdate?(): void;
+ updated?(): void;
+ beforeRender?(): void;
+ receiveProps?(): void;
+ }
+
+ interface Component
{
+ install?(): void;
+ installed?(): void;
+ uninstall?(): void;
+ beforeUpdate?(): void;
+ afterUpdate?(): void;
+ updated?(): void;
+ beforeRender?(): void;
+ receiveProps?(): void;
+ }
+
+ abstract class WeElement
{
+ constructor();
+
+ // Allow static members to reference class type parameters
+ // https://github.com/Microsoft/TypeScript/issues/24018
+ static props: object;
+ static data: object;
+ static observe: boolean;
+ static mergeUpdate: boolean;
+ static css: string;
+
+ props: RenderableProps
;
+ data: D;
+ host: HTMLElement;
+
+ update(): void;
+ fire(name: string, data?: object): void;
+
+ // Abstract methods don't infer argument types
+ // https://github.com/Microsoft/TypeScript/issues/14887
+ abstract render(props: RenderableProps
, data: D): void;
+ }
+
+ // The class type (not instance of class)
+ // https://stackoverflow.com/q/42753968/2777142
+ interface WeElementConstructor {
+ new(): WeElement;
+ }
+
+ abstract class ModelView
{
+ constructor();
+
+ // Allow static members to reference class type parameters
+ // https://github.com/Microsoft/TypeScript/issues/24018
+ static props: object;
+ static data: object;
+ static observe: boolean;
+ static mergeUpdate: boolean;
+
+ props: RenderableProps
;
+ data: D;
+ host: HTMLElement;
+
+ update(): void;
+ fire(name: string, data?: object): void;
+
+ // Abstract methods don't infer argument types
+ // https://github.com/Microsoft/TypeScript/issues/14887
+ abstract render(props: RenderableProps
, data: D): void;
+ }
+
+ abstract class Component
{
+ constructor();
+
+ // Allow static members to reference class type parameters
+ // https://github.com/Microsoft/TypeScript/issues/24018
+ static props: object;
+ static data: object;
+ static observe: boolean;
+ static mergeUpdate: boolean;
+ static css: string;
+
+ props: RenderableProps
;
+ data: D;
+ host: HTMLElement;
+
+ update(): void;
+ fire(name: string, data?: object): void;
+
+ // Abstract methods don't infer argument types
+ // https://github.com/Microsoft/TypeScript/issues/14887
+ abstract render(props: RenderableProps
, data: D): void;
+ }
+
+ function h
(
+ node: string,
+ params: Attributes & P | null,
+ ...children: ComponentChildren[]
+ ): VNode;
+ function h(
+ node: string,
+ params: JSX.HTMLAttributes & JSX.SVGAttributes & Record | null,
+ ...children: ComponentChildren[]
+ ): VNode;
+
+ function render(vnode: ComponentChild, parent: string | Element | Document | ShadowRoot | DocumentFragment, store?: object, empty?: boolean, merge?: string | Element | Document | ShadowRoot | DocumentFragment): void;
+
+ function define(name: string, ctor: WeElementConstructor): void;
+ function tag(name: string, pure?: boolean): (ctor: WeElementConstructor) => void;
+ function tick(callback: Callback, scope?: any): void;
+ function nextTick(callback: Callback, scope?: any): void;
+ function observe(target: WeElementConstructor): void;
+ function getHost(element: WeElement): WeElement;
+
+ var options: {
+ vnode?: (vnode: VNode) => void;
+ event?: (event: Event) => Event;
+ };
+}
+
+
+type Defaultize =
+ // Distribute over unions
+ Props extends any
+ ? // Make any properties included in Default optional
+ & Partial>>
+ // Include the remaining properties from Props
+ & Pick>
+ : never;
+
+declare global {
+ namespace JSX {
+ interface Element extends Omi.VNode {
+ }
+
+ interface ElementClass extends Omi.WeElement {
+ }
+
+ interface ElementClass extends Omi.Component {
+ }
+
+ interface ElementAttributesProperty {
+ props: any;
+ }
+
+ interface ElementChildrenAttribute {
+ children: any;
+ }
+
+ type LibraryManagedAttributes =
+ Component extends { defaultProps: infer Defaults }
+ ? Defaultize
+ : Props;
+
+ interface SVGAttributes extends HTMLAttributes {
+ accentHeight?: number | string;
+ accumulate?: "none" | "sum";
+ additive?: "replace" | "sum";
+ alignmentBaseline?: "auto" | "baseline" | "before-edge" | "text-before-edge" | "middle" | "central" | "after-edge" | "text-after-edge" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "inherit";
+ allowReorder?: "no" | "yes";
+ alphabetic?: number | string;
+ amplitude?: number | string;
+ arabicForm?: "initial" | "medial" | "terminal" | "isolated";
+ ascent?: number | string;
+ attributeName?: string;
+ attributeType?: string;
+ autoReverse?: number | string;
+ azimuth?: number | string;
+ baseFrequency?: number | string;
+ baselineShift?: number | string;
+ baseProfile?: number | string;
+ bbox?: number | string;
+ begin?: number | string;
+ bias?: number | string;
+ by?: number | string;
+ calcMode?: number | string;
+ capHeight?: number | string;
+ clip?: number | string;
+ clipPath?: string;
+ clipPathUnits?: number | string;
+ clipRule?: number | string;
+ colorInterpolation?: number | string;
+ colorInterpolationFilters?: "auto" | "sRGB" | "linearRGB" | "inherit";
+ colorProfile?: number | string;
+ colorRendering?: number | string;
+ contentScriptType?: number | string;
+ contentStyleType?: number | string;
+ cursor?: number | string;
+ cx?: number | string;
+ cy?: number | string;
+ d?: string;
+ decelerate?: number | string;
+ descent?: number | string;
+ diffuseConstant?: number | string;
+ direction?: number | string;
+ display?: number | string;
+ divisor?: number | string;
+ dominantBaseline?: number | string;
+ dur?: number | string;
+ dx?: number | string;
+ dy?: number | string;
+ edgeMode?: number | string;
+ elevation?: number | string;
+ enableBackground?: number | string;
+ end?: number | string;
+ exponent?: number | string;
+ externalResourcesRequired?: number | string;
+ fill?: string;
+ fillOpacity?: number | string;
+ fillRule?: "nonzero" | "evenodd" | "inherit";
+ filter?: string;
+ filterRes?: number | string;
+ filterUnits?: number | string;
+ floodColor?: number | string;
+ floodOpacity?: number | string;
+ focusable?: number | string;
+ fontFamily?: string;
+ fontSize?: number | string;
+ fontSizeAdjust?: number | string;
+ fontStretch?: number | string;
+ fontStyle?: number | string;
+ fontVariant?: number | string;
+ fontWeight?: number | string;
+ format?: number | string;
+ from?: number | string;
+ fx?: number | string;
+ fy?: number | string;
+ g1?: number | string;
+ g2?: number | string;
+ glyphName?: number | string;
+ glyphOrientationHorizontal?: number | string;
+ glyphOrientationVertical?: number | string;
+ glyphRef?: number | string;
+ gradientTransform?: string;
+ gradientUnits?: string;
+ hanging?: number | string;
+ horizAdvX?: number | string;
+ horizOriginX?: number | string;
+ ideographic?: number | string;
+ imageRendering?: number | string;
+ in2?: number | string;
+ in?: string;
+ intercept?: number | string;
+ k1?: number | string;
+ k2?: number | string;
+ k3?: number | string;
+ k4?: number | string;
+ k?: number | string;
+ kernelMatrix?: number | string;
+ kernelUnitLength?: number | string;
+ kerning?: number | string;
+ keyPoints?: number | string;
+ keySplines?: number | string;
+ keyTimes?: number | string;
+ lengthAdjust?: number | string;
+ letterSpacing?: number | string;
+ lightingColor?: number | string;
+ limitingConeAngle?: number | string;
+ local?: number | string;
+ markerEnd?: string;
+ markerHeight?: number | string;
+ markerMid?: string;
+ markerStart?: string;
+ markerUnits?: number | string;
+ markerWidth?: number | string;
+ mask?: string;
+ maskContentUnits?: number | string;
+ maskUnits?: number | string;
+ mathematical?: number | string;
+ mode?: number | string;
+ numOctaves?: number | string;
+ offset?: number | string;
+ opacity?: number | string;
+ operator?: number | string;
+ order?: number | string;
+ orient?: number | string;
+ orientation?: number | string;
+ origin?: number | string;
+ overflow?: number | string;
+ overlinePosition?: number | string;
+ overlineThickness?: number | string;
+ paintOrder?: number | string;
+ panose1?: number | string;
+ pathLength?: number | string;
+ patternContentUnits?: string;
+ patternTransform?: number | string;
+ patternUnits?: string;
+ pointerEvents?: number | string;
+ points?: string;
+ pointsAtX?: number | string;
+ pointsAtY?: number | string;
+ pointsAtZ?: number | string;
+ preserveAlpha?: number | string;
+ preserveAspectRatio?: string;
+ primitiveUnits?: number | string;
+ r?: number | string;
+ radius?: number | string;
+ refX?: number | string;
+ refY?: number | string;
+ renderingIntent?: number | string;
+ repeatCount?: number | string;
+ repeatDur?: number | string;
+ requiredExtensions?: number | string;
+ requiredFeatures?: number | string;
+ restart?: number | string;
+ result?: string;
+ rotate?: number | string;
+ rx?: number | string;
+ ry?: number | string;
+ scale?: number | string;
+ seed?: number | string;
+ shapeRendering?: number | string;
+ slope?: number | string;
+ spacing?: number | string;
+ specularConstant?: number | string;
+ specularExponent?: number | string;
+ speed?: number | string;
+ spreadMethod?: string;
+ startOffset?: number | string;
+ stdDeviation?: number | string;
+ stemh?: number | string;
+ stemv?: number | string;
+ stitchTiles?: number | string;
+ stopColor?: string;
+ stopOpacity?: number | string;
+ strikethroughPosition?: number | string;
+ strikethroughThickness?: number | string;
+ string?: number | string;
+ stroke?: string;
+ strokeDasharray?: string | number;
+ strokeDashoffset?: string | number;
+ strokeLinecap?: "butt" | "round" | "square" | "inherit";
+ strokeLinejoin?: "miter" | "round" | "bevel" | "inherit";
+ strokeMiterlimit?: string;
+ strokeOpacity?: number | string;
+ strokeWidth?: number | string;
+ surfaceScale?: number | string;
+ systemLanguage?: number | string;
+ tableValues?: number | string;
+ targetX?: number | string;
+ targetY?: number | string;
+ textAnchor?: string;
+ textDecoration?: number | string;
+ textLength?: number | string;
+ textRendering?: number | string;
+ to?: number | string;
+ transform?: string;
+ u1?: number | string;
+ u2?: number | string;
+ underlinePosition?: number | string;
+ underlineThickness?: number | string;
+ unicode?: number | string;
+ unicodeBidi?: number | string;
+ unicodeRange?: number | string;
+ unitsPerEm?: number | string;
+ vAlphabetic?: number | string;
+ values?: string;
+ vectorEffect?: number | string;
+ version?: string;
+ vertAdvY?: number | string;
+ vertOriginX?: number | string;
+ vertOriginY?: number | string;
+ vHanging?: number | string;
+ vIdeographic?: number | string;
+ viewBox?: string;
+ viewTarget?: number | string;
+ visibility?: number | string;
+ vMathematical?: number | string;
+ widths?: number | string;
+ wordSpacing?: number | string;
+ writingMode?: number | string;
+ x1?: number | string;
+ x2?: number | string;
+ x?: number | string;
+ xChannelSelector?: string;
+ xHeight?: number | string;
+ xlinkActuate?: string;
+ xlinkArcrole?: string;
+ xlinkHref?: string;
+ xlinkRole?: string;
+ xlinkShow?: string;
+ xlinkTitle?: string;
+ xlinkType?: string;
+ xmlBase?: string;
+ xmlLang?: string;
+ xmlns?: string;
+ xmlnsXlink?: string;
+ xmlSpace?: string;
+ y1?: number | string;
+ y2?: number | string;
+ y?: number | string;
+ yChannelSelector?: string;
+ z?: number | string;
+ zoomAndPan?: string;
+ }
+
+ interface PathAttributes {
+ d: string;
+ }
+
+ interface EventHandler {
+ (event: E): void;
+ }
+
+ type ClipboardEventHandler = EventHandler;
+ type CompositionEventHandler = EventHandler;
+ type DragEventHandler = EventHandler;
+ type FocusEventHandler = EventHandler;
+ type KeyboardEventHandler = EventHandler;
+ type MouseEventHandler = EventHandler;
+ type TouchEventHandler = EventHandler;
+ type UIEventHandler = EventHandler;
+ type WheelEventHandler = EventHandler;
+ type AnimationEventHandler = EventHandler;
+ type TransitionEventHandler = EventHandler;
+ type GenericEventHandler = EventHandler;
+ type PointerEventHandler = EventHandler;
+
+ interface DOMAttributes extends Omi.OmiDOMAttributes {
+ // Image Events
+ onLoad?: GenericEventHandler;
+ onError?: GenericEventHandler;
+ onLoadCapture?: GenericEventHandler;
+
+ // Clipboard Events
+ onCopy?: ClipboardEventHandler;
+ onCopyCapture?: ClipboardEventHandler;
+ onCut?: ClipboardEventHandler;
+ onCutCapture?: ClipboardEventHandler;
+ onPaste?: ClipboardEventHandler;
+ onPasteCapture?: ClipboardEventHandler;
+
+ // Composition Events
+ onCompositionEnd?: CompositionEventHandler;
+ onCompositionEndCapture?: CompositionEventHandler;
+ onCompositionStart?: CompositionEventHandler;
+ onCompositionStartCapture?: CompositionEventHandler;
+ onCompositionUpdate?: CompositionEventHandler;
+ onCompositionUpdateCapture?: CompositionEventHandler;
+
+ // Focus Events
+ onFocus?: FocusEventHandler;
+ onFocusCapture?: FocusEventHandler;
+ onBlur?: FocusEventHandler;
+ onBlurCapture?: FocusEventHandler;
+
+ // Form Events
+ onChange?: GenericEventHandler;
+ onChangeCapture?: GenericEventHandler;
+ onInput?: GenericEventHandler;
+ onInputCapture?: GenericEventHandler;
+ onSearch?: GenericEventHandler;
+ onSearchCapture?: GenericEventHandler;
+ onSubmit?: GenericEventHandler;
+ onSubmitCapture?: GenericEventHandler;
+
+ // Keyboard Events
+ onKeyDown?: KeyboardEventHandler;
+ onKeyDownCapture?: KeyboardEventHandler;
+ onKeyPress?: KeyboardEventHandler;
+ onKeyPressCapture?: KeyboardEventHandler;
+ onKeyUp?: KeyboardEventHandler;
+ onKeyUpCapture?: KeyboardEventHandler;
+
+ // Media Events
+ onAbort?: GenericEventHandler;
+ onAbortCapture?: GenericEventHandler;
+ onCanPlay?: GenericEventHandler;
+ onCanPlayCapture?: GenericEventHandler;
+ onCanPlayThrough?: GenericEventHandler;
+ onCanPlayThroughCapture?: GenericEventHandler;
+ onDurationChange?: GenericEventHandler;
+ onDurationChangeCapture?: GenericEventHandler;
+ onEmptied?: GenericEventHandler;
+ onEmptiedCapture?: GenericEventHandler;
+ onEncrypted?: GenericEventHandler;
+ onEncryptedCapture?: GenericEventHandler;
+ onEnded?: GenericEventHandler;
+ onEndedCapture?: GenericEventHandler;
+ onLoadedData?: GenericEventHandler;
+ onLoadedDataCapture?: GenericEventHandler;
+ onLoadedMetadata?: GenericEventHandler;
+ onLoadedMetadataCapture?: GenericEventHandler;
+ onLoadStart?: GenericEventHandler;
+ onLoadStartCapture?: GenericEventHandler;
+ onPause?: GenericEventHandler;
+ onPauseCapture?: GenericEventHandler;
+ onPlay?: GenericEventHandler;
+ onPlayCapture?: GenericEventHandler;
+ onPlaying?: GenericEventHandler;
+ onPlayingCapture?: GenericEventHandler;
+ onProgress?: GenericEventHandler;
+ onProgressCapture?: GenericEventHandler;
+ onRateChange?: GenericEventHandler;
+ onRateChangeCapture?: GenericEventHandler;
+ onSeeked?: GenericEventHandler;
+ onSeekedCapture?: GenericEventHandler;
+ onSeeking?: GenericEventHandler;
+ onSeekingCapture?: GenericEventHandler;
+ onStalled?: GenericEventHandler;
+ onStalledCapture?: GenericEventHandler;
+ onSuspend?: GenericEventHandler;
+ onSuspendCapture?: GenericEventHandler;
+ onTimeUpdate?: GenericEventHandler;
+ onTimeUpdateCapture?: GenericEventHandler;
+ onVolumeChange?: GenericEventHandler;
+ onVolumeChangeCapture?: GenericEventHandler;
+ onWaiting?: GenericEventHandler;
+ onWaitingCapture?: GenericEventHandler;
+
+ // MouseEvents
+ onClick?: MouseEventHandler;
+ onClickCapture?: MouseEventHandler;
+ onContextMenu?: MouseEventHandler;
+ onContextMenuCapture?: MouseEventHandler;
+ onDblClick?: MouseEventHandler;
+ onDblClickCapture?: MouseEventHandler;
+ onDrag?: DragEventHandler;
+ onDragCapture?: DragEventHandler;
+ onDragEnd?: DragEventHandler;
+ onDragEndCapture?: DragEventHandler;
+ onDragEnter?: DragEventHandler;
+ onDragEnterCapture?: DragEventHandler;
+ onDragExit?: DragEventHandler;
+ onDragExitCapture?: DragEventHandler;
+ onDragLeave?: DragEventHandler;
+ onDragLeaveCapture?: DragEventHandler;
+ onDragOver?: DragEventHandler;
+ onDragOverCapture?: DragEventHandler;
+ onDragStart?: DragEventHandler;
+ onDragStartCapture?: DragEventHandler;
+ onDrop?: DragEventHandler;
+ onDropCapture?: DragEventHandler;
+ onMouseDown?: MouseEventHandler;
+ onMouseDownCapture?: MouseEventHandler;
+ onMouseEnter?: MouseEventHandler;
+ onMouseEnterCapture?: MouseEventHandler;
+ onMouseLeave?: MouseEventHandler;
+ onMouseLeaveCapture?: MouseEventHandler;
+ onMouseMove?: MouseEventHandler;
+ onMouseMoveCapture?: MouseEventHandler;
+ onMouseOut?: MouseEventHandler;
+ onMouseOutCapture?: MouseEventHandler;
+ onMouseOver?: MouseEventHandler;
+ onMouseOverCapture?: MouseEventHandler;
+ onMouseUp?: MouseEventHandler;
+ onMouseUpCapture?: MouseEventHandler;
+
+ // Selection Events
+ onSelect?: GenericEventHandler;
+ onSelectCapture?: GenericEventHandler;
+
+ // Touch Events
+ onTouchCancel?: TouchEventHandler;
+ onTouchCancelCapture?: TouchEventHandler;
+ onTouchEnd?: TouchEventHandler;
+ onTouchEndCapture?: TouchEventHandler;
+ onTouchMove?: TouchEventHandler;
+ onTouchMoveCapture?: TouchEventHandler;
+ onTouchStart?: TouchEventHandler;
+ onTouchStartCapture?: TouchEventHandler;
+
+ // Pointer Events
+ onPointerOver?: PointerEventHandler;
+ onPointerOverCapture?: PointerEventHandler;
+ onPointerEnter?: PointerEventHandler;
+ onPointerEnterCapture?: PointerEventHandler;
+ onPointerDown?: PointerEventHandler;
+ onPointerDownCapture?: PointerEventHandler;
+ onPointerMove?: PointerEventHandler;
+ onPointerMoveCapture?: PointerEventHandler;
+ onPointerUp?: PointerEventHandler;
+ onPointerUpCapture?: PointerEventHandler;
+ onPointerCancel?: PointerEventHandler;
+ onPointerCancelCapture?: PointerEventHandler;
+ onPointerOut?: PointerEventHandler;
+ onPointerOutCapture?: PointerEventHandler;
+ onPointerLeave?: PointerEventHandler;
+ onPointerLeaveCapture?: PointerEventHandler;
+ onGotPointerCapture?: PointerEventHandler;
+ onGotPointerCaptureCapture?: PointerEventHandler;
+ onLostPointerCapture?: PointerEventHandler;
+ onLostPointerCaptureCapture?: PointerEventHandler;
+
+ // UI Events
+ onScroll?: UIEventHandler;
+ onScrollCapture?: UIEventHandler;
+
+ // Wheel Events
+ onWheel?: WheelEventHandler;
+ onWheelCapture?: WheelEventHandler;
+
+ // Animation Events
+ onAnimationStart?: AnimationEventHandler;
+ onAnimationStartCapture?: AnimationEventHandler;
+ onAnimationEnd?: AnimationEventHandler;
+ onAnimationEndCapture?: AnimationEventHandler;
+ onAnimationIteration?: AnimationEventHandler;
+ onAnimationIterationCapture?: AnimationEventHandler;
+
+ // Transition Events
+ onTransitionEnd?: TransitionEventHandler;
+ onTransitionEndCapture?: TransitionEventHandler;
+ }
+
+ interface HTMLAttributes extends Omi.ClassAttributes, DOMAttributes {
+ // Standard HTML Attributes
+ accept?: string;
+ acceptCharset?: string;
+ accessKey?: string;
+ action?: string;
+ allowFullScreen?: boolean;
+ allowTransparency?: boolean;
+ alt?: string;
+ async?: boolean;
+ autocomplete?: string;
+ autofocus?: boolean;
+ autoPlay?: boolean;
+ capture?: boolean;
+ cellPadding?: number | string;
+ cellSpacing?: number | string;
+ charSet?: string;
+ challenge?: string;
+ checked?: boolean;
+ class?: string;
+ className?: string;
+ cols?: number;
+ colSpan?: number;
+ content?: string;
+ contentEditable?: boolean;
+ contextMenu?: string;
+ controls?: boolean;
+ controlsList?: string;
+ coords?: string;
+ crossOrigin?: string;
+ data?: string;
+ dateTime?: string;
+ default?: boolean;
+ defer?: boolean;
+ dir?: string;
+ disabled?: boolean;
+ download?: any;
+ draggable?: boolean;
+ encType?: string;
+ form?: string;
+ formAction?: string;
+ formEncType?: string;
+ formMethod?: string;
+ formNoValidate?: boolean;
+ formTarget?: string;
+ frameBorder?: number | string;
+ headers?: string;
+ height?: number | string;
+ hidden?: boolean;
+ high?: number;
+ href?: string;
+ hrefLang?: string;
+ for?: string;
+ httpEquiv?: string;
+ icon?: string;
+ id?: string;
+ inputMode?: string;
+ integrity?: string;
+ is?: string;
+ keyParams?: string;
+ keyType?: string;
+ kind?: string;
+ label?: string;
+ lang?: string;
+ list?: string;
+ loop?: boolean;
+ low?: number;
+ manifest?: string;
+ marginHeight?: number;
+ marginWidth?: number;
+ max?: number | string;
+ maxLength?: number;
+ media?: string;
+ mediaGroup?: string;
+ method?: string;
+ min?: number | string;
+ minLength?: number;
+ multiple?: boolean;
+ muted?: boolean;
+ name?: string;
+ noValidate?: boolean;
+ open?: boolean;
+ optimum?: number;
+ pattern?: string;
+ placeholder?: string;
+ playsInline?: boolean;
+ poster?: string;
+ preload?: string;
+ radioGroup?: string;
+ readOnly?: boolean;
+ rel?: string;
+ required?: boolean;
+ role?: string;
+ rows?: number;
+ rowSpan?: number;
+ sandbox?: string;
+ scope?: string;
+ scoped?: boolean;
+ scrolling?: string;
+ seamless?: boolean;
+ selected?: boolean;
+ shape?: string;
+ size?: number;
+ sizes?: string;
+ slot?: string;
+ span?: number;
+ spellcheck?: boolean;
+ src?: string;
+ srcset?: string;
+ srcDoc?: string;
+ srcLang?: string;
+ srcSet?: string;
+ start?: number;
+ step?: number | string;
+ style?: any;
+ summary?: string;
+ tabIndex?: number;
+ target?: string;
+ title?: string;
+ type?: string;
+ useMap?: string;
+ value?: string | string[] | number;
+ width?: number | string;
+ wmode?: string;
+ wrap?: string;
+
+ // RDFa Attributes
+ about?: string;
+ datatype?: string;
+ inlist?: any;
+ prefix?: string;
+ property?: string;
+ resource?: string;
+ typeof?: string;
+ vocab?: string;
+ }
+
+ interface IntrinsicElements {
+ // HTML
+ a: HTMLAttributes;
+ abbr: HTMLAttributes;
+ address: HTMLAttributes;
+ area: HTMLAttributes;
+ article: HTMLAttributes;
+ aside: HTMLAttributes;
+ audio: HTMLAttributes;
+ b: HTMLAttributes;
+ base: HTMLAttributes;
+ bdi: HTMLAttributes;
+ bdo: HTMLAttributes;
+ big: HTMLAttributes;
+ blockquote: HTMLAttributes;
+ body: HTMLAttributes;
+ br: HTMLAttributes;
+ button: HTMLAttributes;
+ canvas: HTMLAttributes;
+ caption: HTMLAttributes;
+ cite: HTMLAttributes;
+ code: HTMLAttributes;
+ col: HTMLAttributes;
+ colgroup: HTMLAttributes;
+ data: HTMLAttributes;
+ datalist: HTMLAttributes;
+ dd: HTMLAttributes;
+ del: HTMLAttributes;
+ details: HTMLAttributes;
+ dfn: HTMLAttributes;
+ dialog: HTMLAttributes;
+ div: HTMLAttributes;
+ dl: HTMLAttributes;
+ dt: HTMLAttributes;
+ em: HTMLAttributes;
+ embed: HTMLAttributes;
+ fieldset: HTMLAttributes;
+ figcaption: HTMLAttributes;
+ figure: HTMLAttributes;
+ footer: HTMLAttributes;
+ form: HTMLAttributes;
+ h1: HTMLAttributes;
+ h2: HTMLAttributes;
+ h3: HTMLAttributes;
+ h4: HTMLAttributes;
+ h5: HTMLAttributes;
+ h6: HTMLAttributes;
+ head: HTMLAttributes;
+ header: HTMLAttributes;
+ hr: HTMLAttributes;
+ html: HTMLAttributes;
+ i: HTMLAttributes;
+ iframe: HTMLAttributes;
+ img: HTMLAttributes;
+ input: HTMLAttributes;
+ ins: HTMLAttributes;
+ kbd: HTMLAttributes;
+ keygen: HTMLAttributes;
+ label: HTMLAttributes;
+ legend: HTMLAttributes;
+ li: HTMLAttributes;
+ link: HTMLAttributes;
+ main: HTMLAttributes;
+ map: HTMLAttributes;
+ mark: HTMLAttributes;
+ menu: HTMLAttributes;
+ menuitem: HTMLAttributes;
+ meta: HTMLAttributes;
+ meter: HTMLAttributes;
+ nav: HTMLAttributes;
+ noscript: HTMLAttributes;
+ object: HTMLAttributes;
+ ol: HTMLAttributes;
+ optgroup: HTMLAttributes;
+ option: HTMLAttributes;
+ output: HTMLAttributes;
+ p: HTMLAttributes;
+ param: HTMLAttributes;
+ picture: HTMLAttributes;
+ pre: HTMLAttributes;
+ progress: HTMLAttributes;
+ q: HTMLAttributes;
+ rp: HTMLAttributes;
+ rt: HTMLAttributes;
+ ruby: HTMLAttributes;
+ s: HTMLAttributes;
+ samp: HTMLAttributes;
+ script: HTMLAttributes;
+ section: HTMLAttributes;
+ select: HTMLAttributes;
+ slot: HTMLAttributes;
+ small: HTMLAttributes;
+ source: HTMLAttributes;
+ span: HTMLAttributes;
+ strong: HTMLAttributes;
+ style: HTMLAttributes;
+ sub: HTMLAttributes;
+ summary: HTMLAttributes;
+ sup: HTMLAttributes;
+ table: HTMLAttributes;
+ tbody: HTMLAttributes;
+ td: HTMLAttributes;
+ textarea: HTMLAttributes;
+ tfoot: HTMLAttributes;
+ th: HTMLAttributes;
+ thead: HTMLAttributes;
+ time: HTMLAttributes;
+ title: HTMLAttributes;
+ tr: HTMLAttributes;
+ track: HTMLAttributes;
+ u: HTMLAttributes;
+ ul: HTMLAttributes;
+ "var": HTMLAttributes;
+ video: HTMLAttributes;
+ wbr: HTMLAttributes;
+
+ //SVG
+ svg: SVGAttributes;
+ animate: SVGAttributes;
+ circle: SVGAttributes;
+ clipPath: SVGAttributes;
+ defs: SVGAttributes;
+ ellipse: SVGAttributes;
+ feBlend: SVGAttributes;
+ feColorMatrix: SVGAttributes;
+ feComponentTransfer: SVGAttributes;
+ feComposite: SVGAttributes;
+ feConvolveMatrix: SVGAttributes;
+ feDiffuseLighting: SVGAttributes;
+ feDisplacementMap: SVGAttributes;
+ feFlood: SVGAttributes;
+ feGaussianBlur: SVGAttributes;
+ feImage: SVGAttributes;
+ feMerge: SVGAttributes;
+ feMergeNode: SVGAttributes;
+ feMorphology: SVGAttributes;
+ feOffset: SVGAttributes;
+ feSpecularLighting: SVGAttributes;
+ feTile: SVGAttributes;
+ feTurbulence: SVGAttributes;
+ filter: SVGAttributes;
+ foreignObject: SVGAttributes;
+ g: SVGAttributes;
+ image: SVGAttributes;
+ line: SVGAttributes;
+ linearGradient: SVGAttributes;
+ marker: SVGAttributes;
+ mask: SVGAttributes;
+ path: SVGAttributes;
+ pattern: SVGAttributes;
+ polygon: SVGAttributes;
+ polyline: SVGAttributes;
+ radialGradient: SVGAttributes;
+ rect: SVGAttributes;
+ stop: SVGAttributes;
+ symbol: SVGAttributes;
+ text: SVGAttributes;
+ tspan: SVGAttributes;
+ use: SVGAttributes;
+ [tagName: string]: any;
+ }
+ }
+}
diff --git a/packages/omip/my-app/src/libs/omip-h5/omi.dev.js b/packages/omip/my-app/src/libs/omip-h5/omi.dev.js
new file mode 100644
index 000000000..edc97d05d
--- /dev/null
+++ b/packages/omip/my-app/src/libs/omip-h5/omi.dev.js
@@ -0,0 +1,2051 @@
+/**
+ * omi v1.3.8 http://omijs.org
+ * Omi === Preact + Scoped CSS + Store System + Native Support in 3kb javascript.
+ * By dntzhang https://github.com/dntzhang
+ * Github: https://github.com/Tencent/omi
+ * MIT Licensed.
+ */
+
+(function () {
+ 'use strict';
+
+ /** Virtual DOM Node */
+ function VNode() {}
+
+ function getGlobal() {
+ if (typeof global !== 'object' || !global || global.Math !== Math || global.Array !== Array) {
+ if (typeof self !== 'undefined') {
+ return self;
+ } else if (typeof window !== 'undefined') {
+ return window;
+ } else if (typeof global !== 'undefined') {
+ return global;
+ }
+ return function () {
+ return this;
+ }();
+ }
+ return global;
+ }
+
+ /** Global options
+ * @public
+ * @namespace options {Object}
+ */
+ var options = {
+ scopedStyle: true,
+ mapping: {},
+ isWeb: true,
+ staticStyleMapping: {},
+ doc: typeof document === 'object' ? document : null,
+ root: getGlobal(),
+ //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]
+ styleCache: []
+ //componentChange(component, element) { },
+ /** If `true`, `prop` changes trigger synchronous component updates.
+ * @name syncComponentUpdates
+ * @type Boolean
+ * @default true
+ */
+ //syncComponentUpdates: true,
+
+ /** Processes all created VNodes.
+ * @param {VNode} vnode A newly-created VNode to normalize/process
+ */
+ //vnode(vnode) { }
+
+ /** Hook invoked after a component is mounted. */
+ //afterMount(component) { },
+
+ /** Hook invoked after the DOM is updated with a component's latest render. */
+ //afterUpdate(component) { }
+
+ /** Hook invoked immediately before a component is unmounted. */
+ // beforeUnmount(component) { }
+ };
+
+ var stack = [];
+
+ var EMPTY_CHILDREN = [];
+
+ /**
+ * JSX/hyperscript reviver.
+ * @see http://jasonformat.com/wtf-is-jsx
+ * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0
+ *
+ * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.
+ *
+ * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation
+ * of the structure of a DOM tree. This structure can be realized by recursively comparing it against
+ * the current _actual_ DOM structure, and applying only the differences.
+ *
+ * `h()`/`createElement()` accepts an element name, a list of attributes/props,
+ * and optionally children to append to the element.
+ *
+ * @example The following DOM tree
+ *
+ * `Hello!
`
+ *
+ * can be constructed using this function as:
+ *
+ * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`
+ *
+ * @param {string} nodeName An element name. Ex: `div`, `a`, `span`, etc.
+ * @param {Object} attributes Any attributes/props to set on the created element.
+ * @param rest Additional arguments are taken to be children to append. Can be infinitely nested Arrays.
+ *
+ * @public
+ */
+ function h(nodeName, attributes) {
+ var children = EMPTY_CHILDREN,
+ lastSimple,
+ child,
+ simple,
+ i;
+ for (i = arguments.length; i-- > 2;) {
+ stack.push(arguments[i]);
+ }
+ if (attributes && attributes.children != null) {
+ if (!stack.length) stack.push(attributes.children);
+ delete attributes.children;
+ }
+ while (stack.length) {
+ if ((child = stack.pop()) && child.pop !== undefined) {
+ for (i = child.length; i--;) {
+ stack.push(child[i]);
+ }
+ } else {
+ if (typeof child === 'boolean') child = null;
+
+ if (simple = typeof nodeName !== 'function') {
+ if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false;
+ }
+
+ if (simple && lastSimple) {
+ children[children.length - 1] += child;
+ } else if (children === EMPTY_CHILDREN) {
+ children = [child];
+ } else {
+ children.push(child);
+ }
+
+ lastSimple = simple;
+ }
+ }
+
+ var p = new VNode();
+ p.nodeName = nodeName;
+ p.children = children;
+ p.attributes = attributes == null ? undefined : attributes;
+ p.key = attributes == null ? undefined : attributes.key;
+
+ // if a "vnode hook" is defined, pass every created VNode to it
+ if (options.vnode !== undefined) options.vnode(p);
+
+ return p;
+ }
+
+ /* eslint-disable no-unused-vars */
+
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
+
+ function toObject(val) {
+ if (val === null || val === undefined) {
+ throw new TypeError('Object.assign cannot be called with null or undefined');
+ }
+
+ return Object(val);
+ }
+
+ function assign(target, source) {
+ var from;
+ var to = toObject(target);
+ var symbols;
+
+ for (var s = 1; s < arguments.length; s++) {
+ from = Object(arguments[s]);
+
+ for (var key in from) {
+ if (hasOwnProperty.call(from, key)) {
+ to[key] = from[key];
+ }
+ }
+
+ if (getOwnPropertySymbols) {
+ symbols = getOwnPropertySymbols(from);
+ for (var i = 0; i < symbols.length; i++) {
+ if (propIsEnumerable.call(from, symbols[i])) {
+ to[symbols[i]] = from[symbols[i]];
+ }
+ }
+ }
+ }
+
+ return to;
+ }
+
+ if (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {
+ var runListeners = function runListeners(oEvent) {
+ if (!oEvent) {
+ oEvent = window.event;
+ }
+ for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) {
+ oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent);
+ }
+ break;
+ }
+ }
+ };
+
+ var oListeners = {};
+
+ Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {
+ if (oListeners.hasOwnProperty(sEventType)) {
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;break;
+ }
+ }
+ if (nElIdx === -1) {
+ oEvtListeners.aEls.push(this);
+ oEvtListeners.aEvts.push([fListener]);
+ this["on" + sEventType] = runListeners;
+ } else {
+ var aElListeners = oEvtListeners.aEvts[nElIdx];
+ if (this["on" + sEventType] !== runListeners) {
+ aElListeners.splice(0);
+ this["on" + sEventType] = runListeners;
+ }
+ for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {
+ if (aElListeners[iLstId] === fListener) {
+ return;
+ }
+ }
+ aElListeners.push(fListener);
+ }
+ } else {
+ oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };
+ this["on" + sEventType] = runListeners;
+ }
+ };
+ Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {
+ if (!oListeners.hasOwnProperty(sEventType)) {
+ return;
+ }
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;break;
+ }
+ }
+ if (nElIdx === -1) {
+ return;
+ }
+ for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {
+ if (aElListeners[iLstId] === fListener) {
+ aElListeners.splice(iLstId, 1);
+ }
+ }
+ };
+ }
+
+ if (typeof Object.create !== 'function') {
+ Object.create = function (proto, propertiesObject) {
+ if (typeof proto !== 'object' && typeof proto !== 'function') {
+ throw new TypeError('Object prototype may only be an Object: ' + proto);
+ } else if (proto === null) {
+ throw new Error("This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.");
+ }
+
+ // if (typeof propertiesObject != 'undefined') {
+ // throw new Error("This browser's implementation of Object.create is a shim and doesn't support a second argument.");
+ // }
+
+ function F() {}
+ F.prototype = proto;
+
+ return new F();
+ };
+ }
+
+ if (!String.prototype.trim) {
+ String.prototype.trim = function () {
+ return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
+ };
+ }
+
+ /**
+ * Copy all properties from `props` onto `obj`.
+ * @param {Object} obj Object onto which properties should be copied.
+ * @param {Object} props Object from which to copy properties.
+ * @returns obj
+ * @private
+ */
+ function extend(obj, props) {
+ for (var i in props) {
+ obj[i] = props[i];
+ }return obj;
+ }
+
+ /** Invoke or update a ref, depending on whether it is a function or object ref.
+ * @param {object|function} [ref=null]
+ * @param {any} [value]
+ */
+ function applyRef(ref, value) {
+ if (ref) {
+ if (typeof ref == 'function') ref(value);else ref.current = value;
+ }
+ }
+
+ /**
+ * Call a function asynchronously, as soon as possible. Makes
+ * use of HTML Promise to schedule the callback if available,
+ * otherwise falling back to `setTimeout` (mainly for IE<11).
+ *
+ * @param {Function} callback
+ */
+
+ var usePromise = typeof Promise == 'function';
+
+ // for native
+ if (typeof document !== 'object' && typeof global !== 'undefined' && global.__config__) {
+ if (global.__config__.platform === 'android') {
+ usePromise = true;
+ } else {
+ var systemVersion = global.__config__.systemVersion && global.__config__.systemVersion.split('.')[0] || 0;
+ if (systemVersion > 8) {
+ usePromise = true;
+ }
+ }
+ }
+
+ var defer = usePromise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;
+
+ function isArray(obj) {
+ return Object.prototype.toString.call(obj) === '[object Array]';
+ }
+
+ function nProps(props) {
+ if (!props || isArray(props)) return {};
+ var result = {};
+ Object.keys(props).forEach(function (key) {
+ result[key] = props[key].value;
+ });
+ return result;
+ }
+
+ /**
+ * Clones the given VNode, optionally adding attributes/props and replacing its children.
+ * @param {VNode} vnode The virtual DOM element to clone
+ * @param {Object} props Attributes/props to add when cloning
+ * @param {VNode} rest Any additional arguments will be used as replacement children.
+ */
+ function cloneElement(vnode, props) {
+ return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);
+ }
+
+ // DOM properties that should NOT have "px" added when numeric
+ var IS_NON_DIMENSIONAL$1 = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;
+
+ /** Managed queue of dirty components to be re-rendered */
+
+ var items = [];
+
+ function enqueueRender(component) {
+ if (items.push(component) == 1) {
+ (options.debounceRendering || defer)(rerender);
+ }
+ }
+
+ /** Rerender all enqueued dirty components */
+ function rerender() {
+ var p;
+ while (p = items.pop()) {
+ renderComponent(p);
+ }
+ }
+
+ var mapping = options.mapping;
+ /**
+ * Check if two nodes are equivalent.
+ *
+ * @param {Node} node DOM Node to compare
+ * @param {VNode} vnode Virtual DOM node to compare
+ * @param {boolean} [hydrating=false] If true, ignores component constructors when comparing.
+ * @private
+ */
+ function isSameNodeType(node, vnode, hydrating) {
+ if (typeof vnode === 'string' || typeof vnode === 'number') {
+ return node.splitText !== undefined;
+ }
+ if (typeof vnode.nodeName === 'string') {
+ var ctor = mapping[vnode.nodeName];
+ if (ctor) {
+ return hydrating || node._componentConstructor === ctor;
+ }
+ return !node._componentConstructor && isNamedNode(node, vnode.nodeName);
+ }
+ return hydrating || node._componentConstructor === vnode.nodeName;
+ }
+
+ /**
+ * Check if an Element has a given nodeName, case-insensitively.
+ *
+ * @param {Element} node A DOM Element to inspect the name of.
+ * @param {String} nodeName Unnormalized name to compare against.
+ */
+ function isNamedNode(node, nodeName) {
+ return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();
+ }
+
+ /**
+ * Reconstruct Component-style `props` from a VNode.
+ * Ensures default/fallback values from `defaultProps`:
+ * Own-properties of `defaultProps` not present in `vnode.attributes` are added.
+ *
+ * @param {VNode} vnode
+ * @returns {Object} props
+ */
+ function getNodeProps(vnode) {
+ var props = extend({}, vnode.attributes);
+ props.children = vnode.children;
+
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (defaultProps !== undefined) {
+ for (var i in defaultProps) {
+ if (props[i] === undefined) {
+ props[i] = defaultProps[i];
+ }
+ }
+ }
+
+ return props;
+ }
+
+ /** Create an element with the given nodeName.
+ * @param {String} nodeName
+ * @param {Boolean} [isSvg=false] If `true`, creates an element within the SVG namespace.
+ * @returns {Element} node
+ */
+ function createNode(nodeName, isSvg) {
+ var node = isSvg ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName) : options.doc.createElement(nodeName);
+ node.normalizedNodeName = nodeName;
+ return node;
+ }
+
+ function parseCSSText(cssText) {
+ var cssTxt = cssText.replace(/\/\*(.|\s)*?\*\//g, ' ').replace(/\s+/g, ' ');
+ var style = {},
+ _ref = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt],
+ a = _ref[0],
+ b = _ref[1],
+ rule = _ref[2];
+
+ var cssToJs = function cssToJs(s) {
+ return s.replace(/\W+\w/g, function (match) {
+ return match.slice(-1).toUpperCase();
+ });
+ };
+ var properties = rule.split(';').map(function (o) {
+ return o.split(':').map(function (x) {
+ return x && x.trim();
+ });
+ });
+ for (var i = properties, i = Array.isArray(i), i = 0, i = i ? i : i[Symbol.iterator]();;) {
+ var _ref3;
+
+ if (i) {
+ if (i >= i.length) break;
+ _ref3 = i[i++];
+ } else {
+ i = i.next();
+ if (i.done) break;
+ _ref3 = i.value;
+ }
+
+ var _ref2 = _ref3;
+ var property = _ref2[0];
+ var value = _ref2[1];
+ style[cssToJs(property)] = value;
+ }return style;
+ }
+
+ /** Remove a child node from its parent if attached.
+ * @param {Element} node The node to remove
+ */
+ function removeNode(node) {
+ var parentNode = node.parentNode;
+ if (parentNode) parentNode.removeChild(node);
+ }
+
+ /** Set a named attribute on the given Node, with special behavior for some names and event handlers.
+ * If `value` is `null`, the attribute/handler will be removed.
+ * @param {Element} node An element to mutate
+ * @param {string} name The name/key to set, such as an event or attribute name
+ * @param {any} old The last value that was set for this name/node pair
+ * @param {any} value An attribute value, such as a function to be used as an event handler
+ * @param {Boolean} isSvg Are we currently diffing inside an svg?
+ * @private
+ */
+ function setAccessor(node, name, old, value, isSvg) {
+ if (name === 'className') name = 'class';
+
+ if (name === 'key') {
+ // ignore
+ } else if (name === 'ref') {
+ applyRef(old, null);
+ applyRef(value, node);
+ } else if (name === 'class' && !isSvg) {
+ node.className = value || '';
+ } else if (name === 'style') {
+ if (options.isWeb) {
+ if (!value || typeof value === 'string' || typeof old === 'string') {
+ node.style.cssText = value || '';
+ }
+ if (value && typeof value === 'object') {
+ if (typeof old !== 'string') {
+ for (var i in old) {
+ if (!(i in value)) node.style[i] = '';
+ }
+ }
+ for (var i in value) {
+ node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL$1.test(i) === false ? value[i] + 'px' : value[i];
+ }
+ }
+ } else {
+ var oldJson = old,
+ currentJson = value;
+ if (typeof old === 'string') {
+ oldJson = parseCSSText(old);
+ }
+ if (typeof value == 'string') {
+ currentJson = parseCSSText(value);
+ }
+
+ var result = {},
+ changed = false;
+
+ if (oldJson) {
+ for (var key in oldJson) {
+ if (typeof currentJson == 'object' && !(key in currentJson)) {
+ result[key] = '';
+ changed = true;
+ }
+ }
+
+ for (var ckey in currentJson) {
+ if (currentJson[ckey] !== oldJson[ckey]) {
+ result[ckey] = currentJson[ckey];
+ changed = true;
+ }
+ }
+
+ if (changed) {
+ node.setStyles(result);
+ }
+ } else {
+ node.setStyles(currentJson);
+ }
+ }
+ } else if (name === 'dangerouslySetInnerHTML') {
+ if (value) node.innerHTML = value.__html || '';
+ } else if (name[0] == 'o' && name[1] == 'n') {
+ var useCapture = name !== (name = name.replace(/Capture$/, ''));
+ name = name.toLowerCase().substring(2);
+ if (value) {
+ if (!old) {
+ node.addEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.addEventListener('touchstart', touchStart, useCapture);
+ node.addEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ } else {
+ node.removeEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.removeEventListener('touchstart', touchStart, useCapture);
+ node.removeEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ (node._listeners || (node._listeners = {}))[name] = value;
+ } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {
+ setProperty(node, name, value == null ? '' : value);
+ if (value == null || value === false) node.removeAttribute(name);
+ } else {
+ var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));
+ if (value == null || value === false) {
+ if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.removeAttribute(name);
+ } else if (typeof value !== 'function') {
+ if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);else node.setAttribute(name, value);
+ }
+ }
+ }
+
+ /** Attempt to set a DOM property to the given value.
+ * IE & FF throw for certain property-value combinations.
+ */
+ function setProperty(node, name, value) {
+ try {
+ node[name] = value;
+ } catch (e) {}
+ }
+
+ /** Proxy an event to hooked event handlers
+ * @private
+ */
+ function eventProxy(e) {
+ return this._listeners[e.type](options.event && options.event(e) || e);
+ }
+
+ function touchStart(e) {
+ this.___touchX = e.touches[0].pageX;
+ this.___touchY = e.touches[0].pageY;
+ this.___scrollTop = document.body.scrollTop;
+ }
+
+ function touchEnd(e) {
+ if (Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 && Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 && Math.abs(document.body.scrollTop - this.___scrollTop) < 30) {
+ this.dispatchEvent(new CustomEvent('tap', { detail: e }));
+ }
+ }
+
+ var styleId = 0;
+
+ function getCtorName(ctor) {
+ for (var i = 0, len = options.styleCache.length; i < len; i++) {
+ var item = options.styleCache[i];
+
+ if (item.ctor === ctor) {
+ return item.attrName;
+ }
+ }
+
+ var attrName = 's' + styleId;
+ options.styleCache.push({ ctor: ctor, attrName: attrName });
+ styleId++;
+
+ return attrName;
+ }
+
+ // many thanks to https://github.com/thomaspark/scoper/
+ function scoper(css, prefix) {
+ prefix = '[' + prefix.toLowerCase() + ']';
+ // https://www.w3.org/TR/css-syntax-3/#lexical
+ css = css.replace(/\/\*[^*]*\*+([^/][^*]*\*+)*\//g, '');
+ // eslint-disable-next-line
+ var re = new RegExp('([^\r\n,{}:]+)(:[^\r\n,{}]+)?(,(?=[^{}]*{)|\s*{)', 'g');
+ /**
+ * Example:
+ *
+ * .classname::pesudo { color:red }
+ *
+ * g1 is normal selector `.classname`
+ * g2 is pesudo class or pesudo element
+ * g3 is the suffix
+ */
+ css = css.replace(re, function (g0, g1, g2, g3) {
+ if (typeof g2 === 'undefined') {
+ g2 = '';
+ }
+
+ /* eslint-ignore-next-line */
+ if (g1.match(/^\s*(@media|\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/)) {
+ return g1 + g2 + g3;
+ }
+
+ var appendClass = g1.replace(/(\s*)$/, '') + prefix + g2;
+ //let prependClass = prefix + ' ' + g1.trim() + g2;
+
+ return appendClass + g3;
+ //return appendClass + ',' + prependClass + g3;
+ });
+
+ return css;
+ }
+
+ function addStyle(cssText, id) {
+ id = id.toLowerCase();
+ var ele = document.getElementById(id);
+ var head = document.getElementsByTagName('head')[0];
+ if (ele && ele.parentNode === head) {
+ head.removeChild(ele);
+ }
+
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+ someThingStyles.setAttribute('id', id);
+ if (window.ActiveXObject) {
+ someThingStyles.styleSheet.cssText = cssText;
+ } else {
+ someThingStyles.textContent = cssText;
+ }
+ }
+
+ function addStyleWithoutId(cssText) {
+ var head = document.getElementsByTagName('head')[0];
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+
+ if (window.ActiveXObject) {
+ someThingStyles.styleSheet.cssText = cssText;
+ } else {
+ someThingStyles.textContent = cssText;
+ }
+ }
+
+ function addScopedAttrStatic(vdom, attr) {
+ if (options.scopedStyle) {
+ scopeVdom(attr, vdom);
+ }
+ }
+
+ function addStyleToHead(style, attr) {
+ if (options.scopedStyle) {
+ if (!options.staticStyleMapping[attr]) {
+ addStyle(scoper(style, attr), attr);
+ options.staticStyleMapping[attr] = true;
+ }
+ } else if (!options.staticStyleMapping[attr]) {
+ addStyleWithoutId(style);
+ options.staticStyleMapping[attr] = true;
+ }
+ }
+
+ function scopeVdom(attr, vdom) {
+ if (typeof vdom === 'object') {
+ vdom.attributes = vdom.attributes || {};
+ vdom.attributes[attr] = '';
+ vdom.css = vdom.css || {};
+ vdom.css[attr] = '';
+ vdom.children.forEach(function (child) {
+ return scopeVdom(attr, child);
+ });
+ }
+ }
+
+ function scopeHost(vdom, css) {
+ if (typeof vdom === 'object' && css) {
+ vdom.attributes = vdom.attributes || {};
+ for (var key in css) {
+ vdom.attributes[key] = '';
+ }
+ }
+ }
+
+ /** Queue of components that have been mounted and are awaiting componentDidMount */
+ var mounts = [];
+
+ /** Diff recursion count, used to track the end of the diff cycle. */
+ var diffLevel = 0;
+
+ /** Global flag indicating if the diff is currently within an SVG */
+ var isSvgMode = false;
+
+ /** Global flag indicating if the diff is performing hydration */
+ var hydrating = false;
+
+ /** Invoke queued componentDidMount lifecycle methods */
+ function flushMounts() {
+ var c;
+ while (c = mounts.pop()) {
+ if (options.afterMount) options.afterMount(c);
+ if (c.installed) c.installed();
+ if (c.constructor.css || c.css) {
+ addStyleToHead(c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css, '_s' + getCtorName(c.constructor));
+ }
+ }
+ }
+
+ /** Apply differences in a given vnode (and it's deep children) to a real DOM Node.
+ * @param {Element} [dom=null] A DOM node to mutate into the shape of the `vnode`
+ * @param {VNode} vnode A VNode (with descendants forming a tree) representing the desired DOM structure
+ * @returns {Element} dom The created/mutated element
+ * @private
+ */
+ function diff(dom, vnode, context, mountAll, parent, componentRoot) {
+ // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)
+ if (!diffLevel++) {
+ // when first starting the diff, check if we're diffing an SVG or within an SVG
+ isSvgMode = parent != null && parent.ownerSVGElement !== undefined;
+
+ // hydration is indicated by the existing element to be diffed not having a prop cache
+ hydrating = dom != null && !('__omiattr_' in dom);
+ }
+ var ret;
+
+ if (isArray(vnode)) {
+ vnode = {
+ nodeName: 'span',
+ children: vnode
+ };
+ }
+
+ ret = idiff(dom, vnode, context, mountAll, componentRoot);
+ // append the element if its a new parent
+ if (parent && ret.parentNode !== parent) parent.appendChild(ret);
+
+ // diffLevel being reduced to 0 means we're exiting the diff
+ if (! --diffLevel) {
+ hydrating = false;
+ // invoke queued componentDidMount lifecycle methods
+ if (!componentRoot) flushMounts();
+ }
+
+ return ret;
+ }
+
+ /** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */
+ function idiff(dom, vnode, context, mountAll, componentRoot) {
+ var out = dom,
+ prevSvgMode = isSvgMode;
+
+ // empty values (null, undefined, booleans) render as empty Text nodes
+ if (vnode == null || typeof vnode === 'boolean') vnode = '';
+
+ // If the VNode represents a Component, perform a component diff:
+ var vnodeName = vnode.nodeName;
+ if (options.mapping[vnodeName]) {
+ vnode.nodeName = options.mapping[vnodeName];
+ return buildComponentFromVNode(dom, vnode, context, mountAll);
+ }
+ if (typeof vnodeName == 'function') {
+ return buildComponentFromVNode(dom, vnode, context, mountAll);
+ }
+
+ // Fast case: Strings & Numbers create/update Text nodes.
+ if (typeof vnode === 'string' || typeof vnode === 'number') {
+ // update if it's already a Text node:
+ if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) {
+ /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */
+ if (dom.nodeValue != vnode) {
+ dom.nodeValue = vnode;
+ }
+ } else {
+ // it wasn't a Text node: replace it with one and recycle the old Element
+ out = document.createTextNode(vnode);
+ if (dom) {
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+ recollectNodeTree(dom, true);
+ }
+ }
+
+ //ie8 error
+ try {
+ out['__omiattr_'] = true;
+ } catch (e) {}
+
+ return out;
+ }
+
+ // Tracks entering and exiting SVG namespace when descending through the tree.
+ isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode;
+
+ // If there's no existing element or it's the wrong type, create a new one:
+ vnodeName = String(vnodeName);
+ if (!dom || !isNamedNode(dom, vnodeName)) {
+ out = createNode(vnodeName, isSvgMode);
+
+ if (dom) {
+ // move children into the replacement node
+ while (dom.firstChild) {
+ out.appendChild(dom.firstChild);
+ } // if the previous Element was mounted into the DOM, replace it inline
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+
+ // recycle the old element (skips non-Element node types)
+ recollectNodeTree(dom, true);
+ }
+ }
+
+ var fc = out.firstChild,
+ props = out['__omiattr_'],
+ vchildren = vnode.children;
+
+ if (props == null) {
+ props = out['__omiattr_'] = {};
+ for (var a = out.attributes, i = a.length; i--;) {
+ props[a[i].name] = a[i].value;
+ }
+ }
+
+ // Optimization: fast-path for elements containing a single TextNode:
+ if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) {
+ if (fc.nodeValue != vchildren[0]) {
+ fc.nodeValue = vchildren[0];
+ }
+ }
+ // otherwise, if there are existing or new children, diff them:
+ else if (vchildren && vchildren.length || fc != null) {
+ innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null);
+ }
+
+ // Apply attributes/props from VNode to the DOM Element:
+ diffAttributes(out, vnode.attributes, props);
+
+ // restore previous SVG mode: (in case we're exiting an SVG namespace)
+ isSvgMode = prevSvgMode;
+
+ return out;
+ }
+
+ /** Apply child and attribute changes between a VNode and a DOM Node to the DOM.
+ * @param {Element} dom Element whose children should be compared & mutated
+ * @param {Array} vchildren Array of VNodes to compare to `dom.childNodes`
+ * @param {Object} context Implicitly descendant context object (from most recent `getChildContext()`)
+ * @param {Boolean} mountAll
+ * @param {Boolean} isHydrating If `true`, consumes externally created elements similar to hydration
+ */
+ function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {
+ var originalChildren = dom.childNodes,
+ children = [],
+ keyed = {},
+ keyedLen = 0,
+ min = 0,
+ len = originalChildren.length,
+ childrenLen = 0,
+ vlen = vchildren ? vchildren.length : 0,
+ j,
+ c,
+ f,
+ vchild,
+ child;
+
+ // Build up a map of keyed children and an Array of unkeyed children:
+ if (len !== 0) {
+ for (var i = 0; i < len; i++) {
+ var _child = originalChildren[i],
+ props = _child['__omiattr_'],
+ key = vlen && props ? _child._component ? _child._component.__key : props.key : null;
+ if (key != null) {
+ keyedLen++;
+ keyed[key] = _child;
+ } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) {
+ children[childrenLen++] = _child;
+ }
+ }
+ }
+
+ if (vlen !== 0) {
+ for (var i = 0; i < vlen; i++) {
+ vchild = vchildren[i];
+ child = null;
+
+ // attempt to find a node based on key matching
+ var key = vchild.key;
+ if (key != null) {
+ if (keyedLen && keyed[key] !== undefined) {
+ child = keyed[key];
+ keyed[key] = undefined;
+ keyedLen--;
+ }
+ }
+ // attempt to pluck a node of the same type from the existing children
+ else if (!child && min < childrenLen) {
+ for (j = min; j < childrenLen; j++) {
+ if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {
+ child = c;
+ children[j] = undefined;
+ if (j === childrenLen - 1) childrenLen--;
+ if (j === min) min++;
+ break;
+ }
+ }
+ }
+
+ // morph the matched/found/created DOM child to match vchild (deep)
+ child = idiff(child, vchild, context, mountAll);
+
+ f = originalChildren[i];
+ if (child && child !== dom && child !== f) {
+ if (f == null) {
+ dom.appendChild(child);
+ } else if (child === f.nextSibling) {
+ removeNode(f);
+ } else {
+ dom.insertBefore(child, f);
+ }
+ }
+ }
+ }
+
+ // remove unused keyed children:
+ if (keyedLen) {
+ for (var i in keyed) {
+ if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false);
+ }
+ }
+
+ // remove orphaned unkeyed children:
+ while (min <= childrenLen) {
+ if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false);
+ }
+ }
+
+ /** Recursively recycle (or just unmount) a node and its descendants.
+ * @param {Node} node DOM node to start unmount/removal from
+ * @param {Boolean} [unmountOnly=false] If `true`, only triggers unmount lifecycle, skips removal
+ */
+ function recollectNodeTree(node, unmountOnly) {
+ var component = node._component;
+ if (component) {
+ // if node is owned by a Component, unmount that component (ends up recursing back here)
+ unmountComponent(component);
+ } else {
+ // If the node's VNode had a ref function, invoke it with null here.
+ // (this is part of the React spec, and smart for unsetting references)
+ if (node['__omiattr_'] != null) applyRef(node['__omiattr_'].ref, null);
+
+ if (unmountOnly === false || node['__omiattr_'] == null) {
+ removeNode(node);
+ }
+
+ removeChildren(node);
+ }
+ }
+
+ /** Recollect/unmount all children.
+ * - we use .lastChild here because it causes less reflow than .firstChild
+ * - it's also cheaper than accessing the .childNodes Live NodeList
+ */
+ function removeChildren(node) {
+ node = node.lastChild;
+ while (node) {
+ var next = node.previousSibling;
+ recollectNodeTree(node, true);
+ node = next;
+ }
+ }
+
+ /** Apply differences in attributes from a VNode to the given DOM Element.
+ * @param {Element} dom Element with attributes to diff `attrs` against
+ * @param {Object} attrs The desired end-state key-value attribute pairs
+ * @param {Object} old Current/previous attributes (from previous VNode or element's prop cache)
+ */
+ function diffAttributes(dom, attrs, old) {
+ var name;
+
+ // remove attributes no longer present on the vnode by setting them to undefined
+ for (name in old) {
+ if (!(attrs && attrs[name] != null) && old[name] != null) {
+ setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);
+ }
+ }
+
+ // add new & update changed attributes
+ for (name in attrs) {
+ if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) {
+ setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);
+ }
+ }
+ }
+
+ /** Retains a pool of Components for re-use, keyed on component name.
+ * Note: since component names are not unique or even necessarily available, these are primarily a form of sharding.
+ * @private
+ */
+ var components = {};
+
+ /** Reclaim a component for later re-use by the recycler. */
+ function collectComponent(component) {
+ var name = component.constructor.name;(components[name] || (components[name] = [])).push(component);
+ }
+
+ /** Create a component. Normalizes differences between PFC's and classful Components. */
+ function createComponent(Ctor, props, context, vnode) {
+ var list = components[Ctor.name],
+ inst;
+
+ if (Ctor.prototype && Ctor.prototype.render) {
+ inst = new Ctor(props, context);
+ Component.call(inst, props, context);
+ } else {
+ inst = new Component(props, context);
+ inst.constructor = Ctor;
+ inst.render = doRender;
+ }
+ vnode && (inst.scopedCssAttr = vnode.css);
+
+ if (list) {
+ for (var i = list.length; i--;) {
+ if (list[i].constructor === Ctor) {
+ inst.nextBase = list[i].nextBase;
+ list.splice(i, 1);
+ break;
+ }
+ }
+ }
+ return inst;
+ }
+
+ /** The `.render()` method for a PFC backing instance. */
+ function doRender(props, data, context) {
+ return this.constructor(props, context);
+ }
+
+ /* obaa 1.0.0
+ * By dntzhang
+ * Github: https://github.com/Tencent/omi
+ * MIT Licensed.
+ */
+
+ var obaa = function obaa(target, arr, callback) {
+ var _observe = function _observe(target, arr, callback) {
+ if (!target.$observer) target.$observer = this;
+ var $observer = target.$observer;
+ var eventPropArr = [];
+ if (obaa.isArray(target)) {
+ if (target.length === 0) {
+ target.$observeProps = {};
+ target.$observeProps.$observerPath = '#';
+ }
+ $observer.mock(target);
+ }
+ for (var prop in target) {
+ if (target.hasOwnProperty(prop)) {
+ if (callback) {
+ if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ } else if (obaa.isString(arr) && prop == arr) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ } else {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ }
+ }
+ $observer.target = target;
+ if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = [];
+ var propChanged = callback ? callback : arr;
+ $observer.propertyChangedHandler.push({
+ all: !callback,
+ propChanged: propChanged,
+ eventPropArr: eventPropArr
+ });
+ };
+ _observe.prototype = {
+ onPropertyChanged: function onPropertyChanged(prop, value, oldValue, target, path) {
+ if (value !== oldValue && this.propertyChangedHandler) {
+ var rootName = obaa._getRootName(prop, path);
+ for (var i = 0, len = this.propertyChangedHandler.length; i < len; i++) {
+ var handler = this.propertyChangedHandler[i];
+ if (handler.all || obaa.isInArray(handler.eventPropArr, rootName) || rootName.indexOf('Array-') === 0) {
+ handler.propChanged.call(this.target, prop, value, oldValue, path);
+ }
+ }
+ }
+ if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {
+ this.watch(target, prop, target.$observeProps.$observerPath);
+ }
+ },
+ mock: function mock(target) {
+ var self = this;
+ obaa.methods.forEach(function (item) {
+ target[item] = function () {
+ var old = Array.prototype.slice.call(this, 0);
+ var result = Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ if (new RegExp('\\b' + item + '\\b').test(obaa.triggerStr)) {
+ for (var cprop in this) {
+ if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {
+ self.watch(this, cprop, this.$observeProps.$observerPath);
+ }
+ }
+ //todo
+ self.onPropertyChanged('Array-' + item, this, old, this, this.$observeProps.$observerPath);
+ }
+ return result;
+ };
+ target['pure' + item.substring(0, 1).toUpperCase() + item.substring(1)] = function () {
+ return Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ };
+ });
+ },
+ watch: function watch(target, prop, path) {
+ if (prop === '$observeProps' || prop === '$observer') return;
+ if (obaa.isFunction(target[prop])) return;
+ if (!target.$observeProps) target.$observeProps = {};
+ if (path !== undefined) {
+ target.$observeProps.$observerPath = path;
+ } else {
+ target.$observeProps.$observerPath = '#';
+ }
+ var self = this;
+ var currentValue = target.$observeProps[prop] = target[prop];
+ Object.defineProperty(target, prop, {
+ get: function get() {
+ return this.$observeProps[prop];
+ },
+ set: function set(value) {
+ var old = this.$observeProps[prop];
+ this.$observeProps[prop] = value;
+ self.onPropertyChanged(prop, value, old, this, target.$observeProps.$observerPath);
+ }
+ });
+ if (typeof currentValue == 'object') {
+ if (obaa.isArray(currentValue)) {
+ this.mock(currentValue);
+ if (currentValue.length === 0) {
+ if (!currentValue.$observeProps) currentValue.$observeProps = {};
+ if (path !== undefined) {
+ currentValue.$observeProps.$observerPath = path;
+ } else {
+ currentValue.$observeProps.$observerPath = '#';
+ }
+ }
+ }
+ for (var cprop in currentValue) {
+ if (currentValue.hasOwnProperty(cprop)) {
+ this.watch(currentValue, cprop, target.$observeProps.$observerPath + '-' + prop);
+ }
+ }
+ }
+ }
+ };
+ return new _observe(target, arr, callback);
+ };
+
+ obaa.methods = ['concat', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift', 'values', 'size'];
+ obaa.triggerStr = ['concat', 'copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'size'].join(',');
+
+ obaa.isArray = function (obj) {
+ return Object.prototype.toString.call(obj) === '[object Array]';
+ };
+
+ obaa.isString = function (obj) {
+ return typeof obj === 'string';
+ };
+
+ obaa.isInArray = function (arr, item) {
+ for (var i = arr.length; --i > -1;) {
+ if (item === arr[i]) return true;
+ }
+ return false;
+ };
+
+ obaa.isFunction = function (obj) {
+ return Object.prototype.toString.call(obj) == '[object Function]';
+ };
+
+ obaa._getRootName = function (prop, path) {
+ if (path === '#') {
+ return prop;
+ }
+ return path.split('-')[1];
+ };
+
+ obaa.add = function (obj, prop) {
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+ };
+
+ obaa.set = function (obj, prop, value, exec) {
+ if (!exec) {
+ obj[prop] = value;
+ }
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+ if (exec) {
+ obj[prop] = value;
+ }
+ };
+
+ Array.prototype.size = function (length) {
+ this.length = length;
+ };
+
+ var callbacks = [];
+ var nextTickCallback = [];
+
+ function fireTick() {
+ callbacks.forEach(function (item) {
+ item.fn.call(item.scope);
+ });
+
+ nextTickCallback.forEach(function (nextItem) {
+ nextItem.fn.call(nextItem.scope);
+ });
+ nextTickCallback.length = 0;
+ }
+
+ function proxyUpdate(ele) {
+ var timeout = null;
+ obaa(ele.data, function () {
+ if (ele._willUpdate) {
+ return;
+ }
+ if (ele.constructor.mergeUpdate) {
+ clearTimeout(timeout);
+
+ timeout = setTimeout(function () {
+ ele.update();
+ fireTick();
+ }, 0);
+ } else {
+ ele.update();
+ fireTick();
+ }
+ });
+ }
+
+ /** Set a component's `props` (generally derived from JSX attributes).
+ * @param {Object} props
+ * @param {Object} [opts]
+ * @param {boolean} [opts.renderSync=false] If `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.
+ * @param {boolean} [opts.render=true] If `false`, no render will be triggered.
+ */
+ function setComponentProps(component, props, opts, context, mountAll) {
+ if (component._disable) return;
+ component._disable = true;
+
+ if (component.__ref = props.ref) delete props.ref;
+ if (component.__key = props.key) delete props.key;
+
+ if (!component.base || mountAll) {
+ if (component.beforeInstall) component.beforeInstall();
+ if (component.install) component.install();
+ if (component.constructor.observe) {
+ proxyUpdate(component);
+ }
+ } else if (component.receiveProps) {
+ component.receiveProps(props, component.data, component.props);
+ }
+
+ if (context && context !== component.context) {
+ if (!component.prevContext) component.prevContext = component.context;
+ component.context = context;
+ }
+
+ if (!component.prevProps) component.prevProps = component.props;
+ component.props = props;
+
+ component._disable = false;
+
+ if (opts !== 0) {
+ if (opts === 1 || options.syncComponentUpdates !== false || !component.base) {
+ renderComponent(component, 1, mountAll);
+ } else {
+ enqueueRender(component);
+ }
+ }
+
+ applyRef(component.__ref, component);
+ }
+
+ function shallowComparison(old, attrs) {
+ var name;
+
+ for (name in old) {
+ if (attrs[name] == null && old[name] != null) {
+ return true;
+ }
+ }
+
+ if (old.children.length > 0 || attrs.children.length > 0) {
+ return true;
+ }
+
+ for (name in attrs) {
+ if (name != 'children') {
+ var type = typeof attrs[name];
+ if (type == 'function' || type == 'object') {
+ return true;
+ } else if (attrs[name] != old[name]) {
+ return true;
+ }
+ }
+ }
+ }
+
+ /** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.
+ * @param {Component} component
+ * @param {Object} [opts]
+ * @param {boolean} [opts.build=false] If `true`, component will build and store a DOM node if not already associated with one.
+ * @private
+ */
+ function renderComponent(component, opts, mountAll, isChild) {
+ if (component._disable) return;
+
+ var props = component.props,
+ data = component.data,
+ context = component.context,
+ previousProps = component.prevProps || props,
+ previousState = component.prevState || data,
+ previousContext = component.prevContext || context,
+ isUpdate = component.base,
+ nextBase = component.nextBase,
+ initialBase = isUpdate || nextBase,
+ initialChildComponent = component._component,
+ skip = false,
+ rendered,
+ inst,
+ cbase;
+
+ // if updating
+ if (isUpdate) {
+ component.props = previousProps;
+ component.data = previousState;
+ component.context = previousContext;
+ if (component.store || opts == 2 || shallowComparison(previousProps, props)) {
+ skip = false;
+ if (component.beforeUpdate) {
+ component.beforeUpdate(props, data, context);
+ }
+ } else {
+ skip = true;
+ }
+ component.props = props;
+ component.data = data;
+ component.context = context;
+ }
+
+ component.prevProps = component.prevState = component.prevContext = component.nextBase = null;
+
+ if (!skip) {
+ component.beforeRender && component.beforeRender();
+ rendered = component.render(props, data, context);
+
+ //don't rerender
+ if (component.constructor.css || component.css) {
+ addScopedAttrStatic(rendered, '_s' + getCtorName(component.constructor));
+ }
+
+ scopeHost(rendered, component.scopedCssAttr);
+
+ // context to pass to the child, can be updated via (grand-)parent component
+ if (component.getChildContext) {
+ context = extend(extend({}, context), component.getChildContext());
+ }
+
+ var childComponent = rendered && rendered.nodeName,
+ toUnmount,
+ base,
+ ctor = options.mapping[childComponent];
+
+ if (ctor) {
+ // set up high order component link
+
+ var childProps = getNodeProps(rendered);
+ inst = initialChildComponent;
+
+ if (inst && inst.constructor === ctor && childProps.key == inst.__key) {
+ setComponentProps(inst, childProps, 1, context, false);
+ } else {
+ toUnmount = inst;
+
+ component._component = inst = createComponent(ctor, childProps, context);
+ inst.nextBase = inst.nextBase || nextBase;
+ inst._parentComponent = component;
+ setComponentProps(inst, childProps, 0, context, false);
+ renderComponent(inst, 1, mountAll, true);
+ }
+
+ base = inst.base;
+ } else {
+ cbase = initialBase;
+
+ // destroy high order component link
+ toUnmount = initialChildComponent;
+ if (toUnmount) {
+ cbase = component._component = null;
+ }
+
+ if (initialBase || opts === 1) {
+ if (cbase) cbase._component = null;
+ base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true);
+ }
+ }
+
+ if (initialBase && base !== initialBase && inst !== initialChildComponent) {
+ var baseParent = initialBase.parentNode;
+ if (baseParent && base !== baseParent) {
+ baseParent.replaceChild(base, initialBase);
+
+ if (!toUnmount) {
+ initialBase._component = null;
+ recollectNodeTree(initialBase, false);
+ }
+ }
+ }
+
+ if (toUnmount) {
+ unmountComponent(toUnmount);
+ }
+
+ component.base = base;
+ if (base && !isChild) {
+ var componentRef = component,
+ t = component;
+ while (t = t._parentComponent) {
+ (componentRef = t).base = base;
+ }
+ base._component = componentRef;
+ base._componentConstructor = componentRef.constructor;
+ }
+ }
+
+ if (!isUpdate || mountAll) {
+ mounts.unshift(component);
+ } else if (!skip) {
+ // Ensure that pending componentDidMount() hooks of child components
+ // are called before the componentDidUpdate() hook in the parent.
+ // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750
+ // flushMounts();
+
+ if (component.afterUpdate) {
+ //deprecated
+ component.afterUpdate(previousProps, previousState, previousContext);
+ }
+ if (component.updated) {
+ component.updated(previousProps, previousState, previousContext);
+ }
+ if (options.afterUpdate) options.afterUpdate(component);
+ }
+
+ if (component._renderCallbacks != null) {
+ while (component._renderCallbacks.length) {
+ component._renderCallbacks.pop().call(component);
+ }
+ }
+
+ if (!diffLevel && !isChild) flushMounts();
+ }
+
+ /** Apply the Component referenced by a VNode to the DOM.
+ * @param {Element} dom The DOM node to mutate
+ * @param {VNode} vnode A Component-referencing VNode
+ * @returns {Element} dom The created/mutated element
+ * @private
+ */
+ function buildComponentFromVNode(dom, vnode, context, mountAll) {
+ var c = dom && dom._component,
+ originalComponent = c,
+ oldDom = dom,
+ isDirectOwner = c && dom._componentConstructor === vnode.nodeName,
+ isOwner = isDirectOwner,
+ props = getNodeProps(vnode);
+ while (c && !isOwner && (c = c._parentComponent)) {
+ isOwner = c.constructor === vnode.nodeName;
+ }
+
+ if (c && isOwner && (!mountAll || c._component)) {
+ setComponentProps(c, props, 3, context, mountAll);
+ dom = c.base;
+ } else {
+ if (originalComponent && !isDirectOwner) {
+ unmountComponent(originalComponent);
+ dom = oldDom = null;
+ }
+
+ c = createComponent(vnode.nodeName, props, context, vnode);
+ if (dom && !c.nextBase) {
+ c.nextBase = dom;
+ // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:
+ oldDom = null;
+ }
+ setComponentProps(c, props, 1, context, mountAll);
+ dom = c.base;
+
+ if (oldDom && dom !== oldDom) {
+ oldDom._component = null;
+ recollectNodeTree(oldDom, false);
+ }
+ }
+
+ return dom;
+ }
+
+ /** Remove a component from the DOM and recycle it.
+ * @param {Component} component The Component instance to unmount
+ * @private
+ */
+ function unmountComponent(component) {
+ if (options.beforeUnmount) options.beforeUnmount(component);
+
+ var base = component.base;
+
+ component._disable = true;
+
+ if (component.uninstall) component.uninstall();
+
+ component.base = null;
+
+ // recursively tear down & recollect high-order component children:
+ var inner = component._component;
+ if (inner) {
+ unmountComponent(inner);
+ } else if (base) {
+ if (base['__omiattr_'] != null) applyRef(base['__omiattr_'].ref, null);
+
+ component.nextBase = base;
+
+ removeNode(base);
+ collectComponent(component);
+
+ removeChildren(base);
+ }
+
+ applyRef(component.__ref, null);
+ }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ var id = 0;
+
+ var Component = function () {
+ function Component(props, store) {
+ _classCallCheck(this, Component);
+
+ this.props = assign(nProps(this.constructor.props), this.constructor.defaultProps, props);
+ this.elementId = id++;
+ this.data = this.constructor.data || this.data || {};
+
+ this._preCss = null;
+
+ this.store = store;
+ }
+
+ Component.prototype.update = function update(callback) {
+ this._willUpdate = true;
+ if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback);
+ renderComponent(this, 2);
+ if (options.componentChange) options.componentChange(this, this.base);
+ this._willUpdate = false;
+ };
+
+ Component.prototype.fire = function fire(type, data) {
+ var _this = this;
+
+ Object.keys(this.props).every(function (key) {
+ if ('on' + type.toLowerCase() === key.toLowerCase()) {
+ _this.props[key]({ detail: data });
+ return false;
+ }
+ return true;
+ });
+ };
+
+ Component.prototype.render = function render() {};
+
+ return Component;
+ }();
+
+ Component.is = 'WeElement';
+
+ /** Render JSX into a `parent` Element.
+ * @param {VNode} vnode A (JSX) VNode to render
+ * @param {Element} parent DOM element to render into
+ * @param {object} [store]
+ * @public
+ */
+ function render(vnode, parent, store, empty, merge) {
+ parent = typeof parent === 'string' ? document.querySelector(parent) : parent;
+
+ if (empty) {
+ while (parent.firstChild) {
+ parent.removeChild(parent.firstChild);
+ }
+ }
+
+ if (merge) {
+ merge = typeof merge === 'string' ? document.querySelector(merge) : merge;
+ }
+
+ return diff(merge, vnode, store, false, parent, false);
+ }
+
+ function define(name, ctor) {
+ options.mapping[name] = ctor;
+ }
+
+ function rpx(str) {
+ return str.replace(/([1-9]\d*|0)(\.\d*)*rpx/g, function (a, b) {
+ return window.innerWidth * Number(b) / 750 + 'px';
+ });
+ }
+
+ function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+ var ModelView = function (_Component) {
+ _inherits(ModelView, _Component);
+
+ function ModelView() {
+ _classCallCheck$1(this, ModelView);
+
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+
+ ModelView.prototype.beforeInstall = function beforeInstall() {
+ this.data = this.vm.data;
+ };
+
+ return ModelView;
+ }(Component);
+
+ ModelView.observe = true;
+ ModelView.mergeUpdate = true;
+
+ /**
+ * classNames based on https://github.com/JedWatson/classnames
+ * by Jed Watson
+ * Licensed under the MIT License
+ * https://github.com/JedWatson/classnames/blob/master/LICENSE
+ * modified by dntzhang
+ */
+
+ var hasOwn = {}.hasOwnProperty;
+
+ function classNames() {
+ var classes = [];
+
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (!arg) continue;
+
+ var argType = typeof arg;
+
+ if (argType === 'string' || argType === 'number') {
+ classes.push(arg);
+ } else if (Array.isArray(arg) && arg.length) {
+ var inner = classNames.apply(null, arg);
+ if (inner) {
+ classes.push(inner);
+ }
+ } else if (argType === 'object') {
+ for (var key in arg) {
+ if (hasOwn.call(arg, key) && arg[key]) {
+ classes.push(key);
+ }
+ }
+ }
+ }
+
+ return classes.join(' ');
+ }
+
+ function extractClass() {
+ var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0),
+ props = _Array$prototype$slic[0],
+ args = _Array$prototype$slic.slice(1);
+
+ if (props) {
+ if (props.class) {
+ args.unshift(props.class);
+ delete props.class;
+ } else if (props.className) {
+ args.unshift(props.className);
+ delete props.className;
+ }
+ }
+ if (args.length > 0) {
+ return { class: classNames.apply(null, args) };
+ }
+ }
+
+ function getHost(component) {
+ var base = component.base;
+ if (base) {
+ while (base.parentNode) {
+ if (base.parentNode._component) {
+ return base.parentNode._component;
+ } else {
+ base = base.parentNode;
+ }
+ }
+ }
+ }
+
+ /**
+ * preact-render-to-string based on preact-render-to-string
+ * by Jason Miller
+ * Licensed under the MIT License
+ * https://github.com/developit/preact-render-to-string
+ *
+ * modified by dntzhang
+ */
+
+ var encodeEntities = function encodeEntities(s) {
+ return String(s).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"');
+ };
+
+ var indent = function indent(s, char) {
+ return String(s).replace(/(\n+)/g, '$1' + (char || '\t'));
+ };
+
+ var mapping$1 = options.mapping;
+
+ var VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;
+
+ var isLargeString = function isLargeString(s, length, ignoreLines) {
+ return String(s).length > (length || 40) || !ignoreLines && String(s).indexOf('\n') !== -1 || String(s).indexOf('<') !== -1;
+ };
+
+ var JS_TO_CSS = {};
+
+ // Convert an Object style to a CSSText string
+ function styleObjToCss(s) {
+ var str = '';
+ for (var prop in s) {
+ var val = s[prop];
+ if (val != null) {
+ if (str) str += ' ';
+ // str += jsToCss(prop);
+ str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());
+ str += ': ';
+ str += val;
+ if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {
+ str += 'px';
+ }
+ str += ';';
+ }
+ }
+ return str || undefined;
+ }
+
+ /** The default export is an alias of `render()`. */
+ function renderToString(vnode, opts, store, isSvgMode, css) {
+ if (vnode == null || typeof vnode === 'boolean') {
+ return '';
+ }
+
+ var nodeName = vnode.nodeName,
+ attributes = vnode.attributes,
+ isComponent = false;
+ store = store || {};
+ opts = Object.assign({
+ scopedCSS: true
+ }, opts);
+
+ var pretty = true && opts.pretty,
+ indentChar = pretty && typeof pretty === 'string' ? pretty : '\t';
+
+ // #text nodes
+ if (typeof vnode !== 'object' && !nodeName) {
+ return encodeEntities(vnode);
+ }
+
+ // components
+ var ctor = mapping$1[nodeName];
+ if (ctor) {
+ isComponent = true;
+
+ var props = getNodeProps$1(vnode),
+ rendered;
+ // class-based components
+ var c = new ctor(props, store);
+ // turn off stateful re-rendering:
+ c._disable = c.__x = true;
+ c.props = props;
+ c.store = store;
+ if (c.install) c.install();
+ if (c.beforeRender) c.beforeRender();
+ rendered = c.render(c.props, c.data, c.store);
+ var tempCss;
+ if (opts.scopedCSS) {
+
+ if (c.constructor.css || c.css) {
+
+ var cssStr = c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css;
+ var cssAttr = '_s' + getCtorName(c.constructor);
+
+ tempCss = '';
+
+ addScopedAttrStatic(rendered, '_s' + getCtorName(c.constructor));
+ }
+
+ c.scopedCSSAttr = vnode.css;
+ scopeHost(rendered, c.scopedCSSAttr);
+ }
+
+ return renderToString(rendered, opts, store, false, tempCss);
+ }
+
+ // render JSX to HTML
+ var s = '',
+ html;
+
+ if (attributes) {
+ var attrs = Object.keys(attributes);
+
+ // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)
+ if (opts && opts.sortAttributes === true) attrs.sort();
+
+ for (var i = 0; i < attrs.length; i++) {
+ var name = attrs[i],
+ v = attributes[name];
+ if (name === 'children') continue;
+
+ if (name.match(/[\s\n\\/='"\0<>]/)) continue;
+
+ if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;
+
+ if (name === 'className') {
+ if (attributes.class) continue;
+ name = 'class';
+ } else if (isSvgMode && name.match(/^xlink:?./)) {
+ name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');
+ }
+
+ if (name === 'style' && v && typeof v === 'object') {
+ v = styleObjToCss(v);
+ }
+
+ var hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);
+ if (hooked || hooked === '') {
+ s += hooked;
+ continue;
+ }
+
+ if (name === 'dangerouslySetInnerHTML') {
+ html = v && v.__html;
+ } else if ((v || v === 0 || v === '') && typeof v !== 'function') {
+ if (v === true || v === '') {
+ v = name;
+ // in non-xml mode, allow boolean attributes
+ if (!opts || !opts.xml) {
+ s += ' ' + name;
+ continue;
+ }
+ }
+ s += ' ' + name + '="' + encodeEntities(v) + '"';
+ }
+ }
+ }
+
+ // account for >1 multiline attribute
+ if (pretty) {
+ var sub = s.replace(/^\n\s*/, ' ');
+ if (sub !== s && !~sub.indexOf('\n')) s = sub;else if (pretty && ~s.indexOf('\n')) s += '\n';
+ }
+
+ s = '<' + nodeName + s + '>';
+ if (String(nodeName).match(/[\s\n\\/='"\0<>]/)) throw s;
+
+ var isVoid = String(nodeName).match(VOID_ELEMENTS);
+ if (isVoid) s = s.replace(/>$/, ' />');
+
+ var pieces = [];
+ if (html) {
+ // if multiline, indent.
+ if (pretty && isLargeString(html)) {
+ html = '\n' + indentChar + indent(html, indentChar);
+ }
+ s += html;
+ } else if (vnode.children) {
+ var hasLarge = pretty && ~s.indexOf('\n');
+ for (var i = 0; i < vnode.children.length; i++) {
+ var child = vnode.children[i];
+ if (child != null && child !== false) {
+ var childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,
+ ret = renderToString(child, opts, store, childSvgMode);
+ if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;
+ if (ret) pieces.push(ret);
+ }
+ }
+ if (pretty && hasLarge) {
+ for (var i = pieces.length; i--;) {
+ pieces[i] = '\n' + indentChar + indent(pieces[i], indentChar);
+ }
+ }
+ }
+
+ if (pieces.length) {
+ s += pieces.join('');
+ } else if (opts && opts.xml) {
+ return s.substring(0, s.length - 1) + ' />';
+ }
+
+ if (!isVoid) {
+ if (pretty && ~s.indexOf('\n')) s += '\n';
+ s += '' + nodeName + '>';
+ }
+
+ if (css) return css + s;
+ return s;
+ }
+
+ function assign$1(obj, props) {
+ for (var i in props) {
+ obj[i] = props[i];
+ }return obj;
+ }
+
+ function getNodeProps$1(vnode) {
+ var props = assign$1({}, vnode.attributes);
+ props.children = vnode.children;
+
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (defaultProps !== undefined) {
+ for (var i in defaultProps) {
+ if (props[i] === undefined) {
+ props[i] = defaultProps[i];
+ }
+ }
+ }
+
+ return props;
+ }
+
+ var WeElement = Component;
+ var defineElement = define;
+ function createRef() {
+ return {};
+ }
+
+ options.root.Omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+ };
+ options.root.omi = options.root.Omi;
+ options.root.Omi.version = 'omio-1.3.8';
+
+ var Omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+ };
+
+ if (typeof module != 'undefined') module.exports = Omi;else self.Omi = Omi;
+}());
+//# sourceMappingURL=omi.dev.js.map
diff --git a/packages/omip/my-app/src/libs/omip-h5/omi.dev.js.map b/packages/omip/my-app/src/libs/omip-h5/omi.dev.js.map
new file mode 100644
index 000000000..ff3a68d52
--- /dev/null
+++ b/packages/omip/my-app/src/libs/omip-h5/omi.dev.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"omi.dev.js","sources":["../src/vnode.js","../src/options.js","../src/h.js","../src/util.js","../src/clone-element.js","../src/constants.js","../src/render-queue.js","../src/vdom/index.js","../src/dom/index.js","../src/style.js","../src/vdom/diff.js","../src/vdom/component-recycler.js","../src/obaa.js","../src/tick.js","../src/observe.js","../src/vdom/component.js","../src/component.js","../src/render.js","../src/define.js","../src/rpx.js","../src/model-view.js","../src/class.js","../src/get-host.js","../src/render-to-string.js","../src/omi.js","../src/omi.js"],"sourcesContent":["/** Virtual DOM Node */\nexport function VNode() {}\n","function getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n if (typeof self !== 'undefined') {\n return self\n } else if (typeof window !== 'undefined') {\n return window\n } else if (typeof global !== 'undefined') {\n return global\n }\n return (function() {\n return this\n })()\n }\n return global\n}\n\n/** Global options\n *\t@public\n *\t@namespace options {Object}\n */\nexport default {\n scopedStyle: true,\n mapping: {},\n isWeb: true,\n staticStyleMapping: {},\n doc: typeof document === 'object' ? document : null,\n root: getGlobal(),\n //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]\n styleCache: []\n //componentChange(component, element) { },\n /** If `true`, `prop` changes trigger synchronous component updates.\n *\t@name syncComponentUpdates\n *\t@type Boolean\n *\t@default true\n */\n //syncComponentUpdates: true,\n\n /** Processes all created VNodes.\n *\t@param {VNode} vnode\tA newly-created VNode to normalize/process\n */\n //vnode(vnode) { }\n\n /** Hook invoked after a component is mounted. */\n //afterMount(component) { },\n\n /** Hook invoked after the DOM is updated with a component's latest render. */\n //afterUpdate(component) { }\n\n /** Hook invoked immediately before a component is unmounted. */\n // beforeUnmount(component) { }\n}\n","import { VNode } from './vnode'\nimport options from './options'\n\nconst stack = []\n\nconst EMPTY_CHILDREN = []\n\n/**\n * JSX/hyperscript reviver.\n * @see http://jasonformat.com/wtf-is-jsx\n * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0\n *\n * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.\n *\n * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation\n * of the structure of a DOM tree. This structure can be realized by recursively comparing it against\n * the current _actual_ DOM structure, and applying only the differences.\n *\n * `h()`/`createElement()` accepts an element name, a list of attributes/props,\n * and optionally children to append to the element.\n *\n * @example The following DOM tree\n *\n * `Hello!
`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nexport function h(nodeName, attributes) {\n let children = EMPTY_CHILDREN,\n lastSimple,\n child,\n simple,\n i\n for (i = arguments.length; i-- > 2; ) {\n stack.push(arguments[i])\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children)\n delete attributes.children\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--; ) stack.push(child[i])\n } else {\n if (typeof child === 'boolean') child = null\n\n if ((simple = typeof nodeName !== 'function')) {\n if (child == null) child = ''\n else if (typeof child === 'number') child = String(child)\n else if (typeof child !== 'string') simple = false\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child\n } else if (children === EMPTY_CHILDREN) {\n children = [child]\n } else {\n children.push(child)\n }\n\n lastSimple = simple\n }\n }\n\n let p = new VNode()\n p.nodeName = nodeName\n p.children = children\n\tp.attributes = attributes == null ? undefined : attributes\n p.key = attributes == null ? undefined : attributes.key\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p)\n\n return p\n}\n","'use strict'\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols\nvar hasOwnProperty = Object.prototype.hasOwnProperty\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined')\n }\n\n return Object(val)\n}\n\nexport function assign(target, source) {\n var from\n var to = toObject(target)\n var symbols\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s])\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key]\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from)\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]]\n }\n }\n }\n }\n\n return to\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var oListeners = {};\n function runListeners(oEvent) {\n if (!oEvent) { oEvent = window.event; }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) { oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent); }\n break;\n }\n }\n }\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { return; }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) { return; }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) { return; }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { aElListeners.splice(iLstId, 1); }\n }\n };\n}\n\n\nif (typeof Object.create !== 'function') {\n Object.create = function(proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto)\n } else if (proto === null) {\n throw new Error(\n \"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\"\n )\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto\n\n return new F()\n }\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n }\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nexport function extend(obj, props) {\n for (let i in props) obj[i] = props[i]\n return obj\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nexport function applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value)\n else ref.current = value\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nlet usePromise = typeof Promise == 'function'\n\n// for native\nif (\n typeof document !== 'object' &&\n typeof global !== 'undefined' &&\n global.__config__\n) {\n if (global.__config__.platform === 'android') {\n usePromise = true\n } else {\n let systemVersion =\n (global.__config__.systemVersion &&\n global.__config__.systemVersion.split('.')[0]) ||\n 0\n if (systemVersion > 8) {\n usePromise = true\n }\n }\n}\n\nexport const defer = usePromise\n ? Promise.resolve().then.bind(Promise.resolve())\n : setTimeout\n\nexport function isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nexport function nProps(props) {\n if (!props || isArray(props)) return {}\n const result = {}\n Object.keys(props).forEach(key => {\n result[key] = props[key].value\n })\n return result\n}","import { extend } from './util'\nimport { h } from './h'\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nexport function cloneElement(vnode, props) {\n return h(\n vnode.nodeName,\n extend(extend({}, vnode.attributes), props),\n arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children\n )\n}\n","// render modes\n\nexport const NO_RENDER = 0\nexport const SYNC_RENDER = 1\nexport const FORCE_RENDER = 2\nexport const ASYNC_RENDER = 3\n\nexport const ATTR_KEY = '__omiattr_'\n\n// DOM properties that should NOT have \"px\" added when numeric\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i\n","import options from './options'\nimport { defer } from './util'\nimport { renderComponent } from './vdom/component'\n\n/** Managed queue of dirty components to be re-rendered */\n\nlet items = []\n\nexport function enqueueRender(component) {\n if (items.push(component) == 1) {\n ;(options.debounceRendering || defer)(rerender)\n }\n}\n\n/** Rerender all enqueued dirty components */\nexport function rerender() {\n\tlet p\n\twhile ( (p = items.pop()) ) {\n renderComponent(p)\n\t}\n}","import { extend } from '../util'\nimport options from '../options'\n\nconst mapping = options.mapping\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nexport function isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName]\n if (ctor) {\n return hydrating || node._componentConstructor === ctor\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName)\n }\n return hydrating || node._componentConstructor === vnode.nodeName\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nexport function isNamedNode(node, nodeName) {\n return (\n node.normalizedNodeName === nodeName ||\n node.nodeName.toLowerCase() === nodeName.toLowerCase()\n )\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nexport function getNodeProps(vnode) {\n let props = extend({}, vnode.attributes)\n props.children = vnode.children\n\n let defaultProps = vnode.nodeName.defaultProps\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i]\n }\n }\n }\n\n return props\n}\n","import { IS_NON_DIMENSIONAL } from '../constants'\nimport { applyRef } from '../util'\nimport options from '../options'\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nexport function createNode(nodeName, isSvg) {\n let node = isSvg\n ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName)\n : options.doc.createElement(nodeName)\n node.normalizedNodeName = nodeName\n return node\n}\n\nfunction parseCSSText(cssText) {\n let cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ')\n let style = {},\n [a, b, rule] = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt]\n let cssToJs = s => s.replace(/\\W+\\w/g, match => match.slice(-1).toUpperCase())\n let properties = rule\n .split(';')\n .map(o => o.split(':').map(x => x && x.trim()))\n for (let [property, value] of properties) style[cssToJs(property)] = value\n return style\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nexport function removeNode(node) {\n let parentNode = node.parentNode\n if (parentNode) parentNode.removeChild(node)\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nexport function setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class'\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null)\n applyRef(value, node)\n } else if (name === 'class' && !isSvg) {\n node.className = value || ''\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || ''\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (let i in old) if (!(i in value)) node.style[i] = ''\n }\n for (let i in value) {\n node.style[i] =\n typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false\n ? value[i] + 'px'\n : value[i]\n }\n }\n } else {\n let oldJson = old,\n currentJson = value\n if (typeof old === 'string') {\n oldJson = parseCSSText(old)\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value)\n }\n\n let result = {},\n changed = false\n\n if (oldJson) {\n for (let key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = ''\n changed = true\n }\n }\n\n for (let ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey]\n changed = true\n }\n }\n\n if (changed) {\n node.setStyles(result)\n }\n } else {\n node.setStyles(currentJson)\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || ''\n } else if (name[0] == 'o' && name[1] == 'n') {\n let useCapture = name !== (name = name.replace(/Capture$/, ''))\n name = name.toLowerCase().substring(2)\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture)\n node.addEventListener('touchend', touchEnd, useCapture)\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture)\n node.removeEventListener('touchend', touchEnd, useCapture)\n }\n }\n ;(node._listeners || (node._listeners = {}))[name] = value\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value)\n if (value == null || value === false) node.removeAttribute(name)\n } else {\n let ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''))\n if (value == null || value === false) {\n if (ns)\n node.removeAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase()\n )\n else node.removeAttribute(name)\n } else if (typeof value !== 'function') {\n if (ns)\n node.setAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase(),\n value\n )\n else node.setAttribute(name, value)\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type]((options.event && options.event(e)) || e)\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX\n this.___touchY = e.touches[0].pageY\n this.___scrollTop = document.body.scrollTop\n}\n\nfunction touchEnd(e) {\n if (\n Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 &&\n Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 &&\n Math.abs(document.body.scrollTop - this.___scrollTop) < 30\n ) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }))\n }\n}","import options from './options'\n\nlet styleId = 0\n\nexport function getCtorName(ctor) {\n for (let i = 0, len = options.styleCache.length; i < len; i++) {\n let item = options.styleCache[i]\n\n if (item.ctor === ctor) {\n return item.attrName\n }\n }\n\n let attrName = 's' + styleId\n options.styleCache.push({ ctor, attrName })\n styleId++\n\n return attrName\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nexport function scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']'\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '')\n // eslint-disable-next-line\n let re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g')\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, (g0, g1, g2, g3) => {\n if (typeof g2 === 'undefined') {\n g2 = ''\n }\n\n /* eslint-ignore-next-line */\n if (\n g1.match(\n /^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/\n )\n ) {\n return g1 + g2 + g3\n }\n\n let appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3\n //return appendClass + ',' + prependClass + g3;\n })\n\n return css\n}\n\nexport function addStyle(cssText, id) {\n id = id.toLowerCase()\n let ele = document.getElementById(id)\n let head = document.getElementsByTagName('head')[0]\n if (ele && ele.parentNode === head) {\n head.removeChild(ele)\n }\n\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n someThingStyles.setAttribute('id', id)\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addStyleWithoutId(cssText) {\n let head = document.getElementsByTagName('head')[0]\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom)\n } \n}\n\nexport function addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr)\n options.staticStyleMapping[attr] = true\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style)\n options.staticStyleMapping[attr] = true\n }\n}\n\nexport function scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {}\n vdom.attributes[attr] = ''\n vdom.css = vdom.css || {}\n vdom.css[attr] = ''\n vdom.children.forEach(child => scopeVdom(attr, child))\n }\n}\n\nexport function scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {}\n for (let key in css) {\n vdom.attributes[key] = ''\n }\n }\n}\n","import { ATTR_KEY } from '../constants'\nimport { isSameNodeType, isNamedNode } from './index'\nimport { buildComponentFromVNode } from './component'\nimport { createNode, setAccessor } from '../dom/index'\nimport { unmountComponent } from './component'\nimport options from '../options'\nimport { applyRef } from '../util'\nimport { removeNode } from '../dom/index'\nimport { isArray } from '../util'\nimport { addStyleToHead, getCtorName } from '../style'\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nexport const mounts = []\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nexport let diffLevel = 0\n\n/** Global flag indicating if the diff is currently within an SVG */\nlet isSvgMode = false\n\n/** Global flag indicating if the diff is performing hydration */\nlet hydrating = false\n\n/** Invoke queued componentDidMount lifecycle methods */\nexport function flushMounts() {\n let c\n while ((c = mounts.pop())) {\n if (options.afterMount) options.afterMount(c)\n if (c.installed) c.installed()\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css), '_s' + getCtorName(c.constructor))\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nexport function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !(ATTR_KEY in dom)\n }\n let ret\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n }\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot)\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret)\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (!--diffLevel) {\n hydrating = false\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts()\n }\n\n return ret\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n let out = dom,\n prevSvgMode = isSvgMode\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = ''\n\n // If the VNode represents a Component, perform a component diff:\n let vnodeName = vnode.nodeName\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName]\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (\n dom &&\n dom.splitText !== undefined &&\n dom.parentNode &&\n (!dom._component || componentRoot)\n ) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode)\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n recollectNodeTree(dom, true)\n }\n }\n\n //ie8 error\n try {\n out[ATTR_KEY] = true\n } catch (e) {}\n\n return out\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode =\n vnodeName === 'svg'\n ? true\n : vnodeName === 'foreignObject'\n ? false\n : isSvgMode\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName)\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode)\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) out.appendChild(dom.firstChild)\n\n // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true)\n }\n }\n\n let fc = out.firstChild,\n props = out[ATTR_KEY],\n vchildren = vnode.children\n\n if (props == null) {\n props = out[ATTR_KEY] = {}\n for (let a = out.attributes, i = a.length; i--; )\n props[a[i].name] = a[i].value\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (\n !hydrating &&\n vchildren &&\n vchildren.length === 1 &&\n typeof vchildren[0] === 'string' &&\n fc != null &&\n fc.splitText !== undefined &&\n fc.nextSibling == null\n ) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0]\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if ((vchildren && vchildren.length) || fc != null) {\n innerDiffNode(\n out,\n vchildren,\n context,\n mountAll,\n hydrating || props.dangerouslySetInnerHTML != null\n )\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props)\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode\n\n return out\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n let originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (let i = 0; i < len; i++) {\n let child = originalChildren[i],\n props = child[ATTR_KEY],\n key =\n vlen && props\n ? child._component\n ? child._component.__key\n : props.key\n : null\n if (key != null) {\n keyedLen++\n keyed[key] = child\n } else if (\n props ||\n (child.splitText !== undefined\n ? isHydrating\n ? child.nodeValue.trim()\n : true\n : isHydrating)\n ) {\n children[childrenLen++] = child\n }\n }\n }\n\n if (vlen !== 0) {\n for (let i = 0; i < vlen; i++) {\n vchild = vchildren[i]\n child = null\n\n // attempt to find a node based on key matching\n let key = vchild.key\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key]\n keyed[key] = undefined\n keyedLen--\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (\n children[j] !== undefined &&\n isSameNodeType((c = children[j]), vchild, isHydrating)\n ) {\n child = c\n children[j] = undefined\n if (j === childrenLen - 1) childrenLen--\n if (j === min) min++\n break\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll)\n\n f = originalChildren[i]\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child)\n } else if (child === f.nextSibling) {\n removeNode(f)\n } else {\n dom.insertBefore(child, f)\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (let i in keyed)\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false)\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined)\n recollectNodeTree(child, false)\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nexport function recollectNodeTree(node, unmountOnly) {\n let component = node._component\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component)\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node[ATTR_KEY] != null) applyRef(node[ATTR_KEY].ref, null)\n\n if (unmountOnly === false || node[ATTR_KEY] == null) {\n removeNode(node)\n }\n\n removeChildren(node)\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nexport function removeChildren(node) {\n node = node.lastChild\n while (node) {\n let next = node.previousSibling\n recollectNodeTree(node, true)\n node = next\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n let name\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], (old[name] = undefined), isSvgMode)\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (\n name !== 'children' &&\n name !== 'innerHTML' &&\n (!(name in old) ||\n attrs[name] !==\n (name === 'value' || name === 'checked' ? dom[name] : old[name]))\n ) {\n setAccessor(dom, name, old[name], (old[name] = attrs[name]), isSvgMode)\n }\n }\n}\n","import Component from '../component'\nimport options from '../options'\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nconst components = {}\n\n/** Reclaim a component for later re-use by the recycler. */\nexport function collectComponent(component) {\n let name = component.constructor.name\n ;(components[name] || (components[name] = [])).push(component)\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nexport function createComponent(Ctor, props, context, vnode) {\n let list = components[Ctor.name],\n inst\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context)\n Component.call(inst, props, context)\n } else {\n inst = new Component(props, context)\n inst.constructor = Ctor\n inst.render = doRender\n }\n vnode && (inst.scopedCssAttr = vnode.css)\n\n if (list) {\n for (let i = list.length; i--; ) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase\n list.splice(i, 1)\n break\n }\n }\n }\n return inst\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context)\n}\n","/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function(target, arr, callback) {\n var _observe = function(target, arr, callback) {\n if (!target.$observer) target.$observer = this\n var $observer = target.$observer\n var eventPropArr = []\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {}\n target.$observeProps.$observerPath = '#'\n }\n $observer.mock(target)\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n } else {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n }\n }\n $observer.target = target\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = []\n var propChanged = callback ? callback : arr\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n })\n }\n _observe.prototype = {\n onPropertyChanged: function(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path)\n for (\n var i = 0, len = this.propertyChangedHandler.length;\n i < len;\n i++\n ) {\n var handler = this.propertyChangedHandler[i]\n if (\n handler.all ||\n obaa.isInArray(handler.eventPropArr, rootName) ||\n rootName.indexOf('Array-') === 0\n ) {\n handler.propChanged.call(this.target, prop, value, oldValue, path)\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath)\n }\n },\n mock: function(target) {\n var self = this\n obaa.methods.forEach(function(item) {\n target[item] = function() {\n var old = Array.prototype.slice.call(this, 0)\n var result = Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath)\n }\n }\n //todo\n self.onPropertyChanged(\n 'Array-' + item,\n this,\n old,\n this,\n this.$observeProps.$observerPath\n )\n }\n return result\n }\n target[\n 'pure' + item.substring(0, 1).toUpperCase() + item.substring(1)\n ] = function() {\n return Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n }\n })\n },\n watch: function(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return\n if (obaa.isFunction(target[prop])) return\n if (!target.$observeProps) target.$observeProps = {}\n if (path !== undefined) {\n target.$observeProps.$observerPath = path\n } else {\n target.$observeProps.$observerPath = '#'\n }\n var self = this\n var currentValue = (target.$observeProps[prop] = target[prop])\n Object.defineProperty(target, prop, {\n get: function() {\n return this.$observeProps[prop]\n },\n set: function(value) {\n var old = this.$observeProps[prop]\n this.$observeProps[prop] = value\n self.onPropertyChanged(\n prop,\n value,\n old,\n this,\n target.$observeProps.$observerPath\n )\n }\n })\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue)\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {}\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path\n } else {\n currentValue.$observeProps.$observerPath = '#'\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(\n currentValue,\n cprop,\n target.$observeProps.$observerPath + '-' + prop\n )\n }\n }\n }\n }\n }\n return new _observe(target, arr, callback)\n}\n\nobaa.methods = [\n 'concat',\n 'copyWithin',\n 'entries',\n 'every',\n 'fill',\n 'filter',\n 'find',\n 'findIndex',\n 'forEach',\n 'includes',\n 'indexOf',\n 'join',\n 'keys',\n 'lastIndexOf',\n 'map',\n 'pop',\n 'push',\n 'reduce',\n 'reduceRight',\n 'reverse',\n 'shift',\n 'slice',\n 'some',\n 'sort',\n 'splice',\n 'toLocaleString',\n 'toString',\n 'unshift',\n 'values',\n 'size'\n]\nobaa.triggerStr = [\n 'concat',\n 'copyWithin',\n 'fill',\n 'pop',\n 'push',\n 'reverse',\n 'shift',\n 'sort',\n 'splice',\n 'unshift',\n 'size'\n].join(',')\n\nobaa.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nobaa.isString = function(obj) {\n return typeof obj === 'string'\n}\n\nobaa.isInArray = function(arr, item) {\n for (var i = arr.length; --i > -1; ) {\n if (item === arr[i]) return true\n }\n return false\n}\n\nobaa.isFunction = function(obj) {\n return Object.prototype.toString.call(obj) == '[object Function]'\n}\n\nobaa._getRootName = function(prop, path) {\n if (path === '#') {\n return prop\n }\n return path.split('-')[1]\n}\n\nobaa.add = function(obj, prop) {\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n}\n\nobaa.set = function(obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value\n }\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n if (exec) {\n obj[prop] = value\n }\n}\n\nArray.prototype.size = function(length) {\n this.length = length\n}\n\nexport default obaa\n","const callbacks = []\nconst nextTickCallback = []\n\nexport function tick(fn, scope) {\n callbacks.push({ fn, scope })\n}\n\nexport function fireTick() {\n callbacks.forEach(item => {\n item.fn.call(item.scope)\n })\n\n nextTickCallback.forEach(nextItem => {\n nextItem.fn.call(nextItem.scope)\n })\n nextTickCallback.length = 0\n}\n\nexport function nextTick(fn, scope) {\n nextTickCallback.push({ fn, scope })\n}\n","import obaa from './obaa'\nimport { fireTick } from './tick'\n\nexport function proxyUpdate(ele) {\n let timeout = null\n obaa(ele.data, () => {\n if (ele._willUpdate) {\n return\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n ele.update()\n fireTick()\n }, 0)\n } else {\n ele.update()\n fireTick()\n }\n })\n}\n","import {\n SYNC_RENDER,\n NO_RENDER,\n FORCE_RENDER,\n ASYNC_RENDER,\n ATTR_KEY\n} from '../constants'\nimport options from '../options'\nimport { extend, applyRef } from '../util'\nimport { enqueueRender } from '../render-queue'\nimport { getNodeProps } from './index'\nimport {\n diff,\n mounts,\n diffLevel,\n flushMounts,\n recollectNodeTree,\n removeChildren\n} from './diff'\nimport { createComponent, collectComponent } from './component-recycler'\nimport { removeNode } from '../dom/index'\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost\n} from '../style'\nimport { proxyUpdate } from '../observe'\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nexport function setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return\n component._disable = true\n\n if ((component.__ref = props.ref)) delete props.ref\n if ((component.__key = props.key)) delete props.key\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall()\n if (component.install) component.install()\n if (component.constructor.observe) {\n proxyUpdate(component)\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props)\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context\n component.context = context\n }\n\n if (!component.prevProps) component.prevProps = component.props\n component.props = props\n\n component._disable = false\n\n if (opts !== NO_RENDER) {\n if (\n opts === SYNC_RENDER ||\n options.syncComponentUpdates !== false ||\n !component.base\n ) {\n renderComponent(component, SYNC_RENDER, mountAll)\n } else {\n enqueueRender(component)\n }\n }\n\n applyRef(component.__ref, component)\n}\n\nfunction shallowComparison(old, attrs) {\n let name\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true\n }\n\n for (name in attrs) {\n if (name != 'children') {\n let type = typeof attrs[name]\n if (type == 'function' || type == 'object') {\n return true\n } else if (attrs[name] != old[name]) {\n return true\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nexport function renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return\n\n let props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase\n\n // if updating\n if (isUpdate) {\n component.props = previousProps\n component.data = previousState\n component.context = previousContext\n if (component.store || opts == FORCE_RENDER || shallowComparison(previousProps, props)) {\n skip = false\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context)\n }\n } else {\n skip = true\n }\n component.props = props\n component.data = data\n component.context = context\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null\n\n if (!skip) {\n component.beforeRender && component.beforeRender()\n rendered = component.render(props, data, context)\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(component.constructor)\n )\n }\n\n scopeHost(rendered, component.scopedCssAttr)\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext())\n }\n\n let childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent]\n\n if (ctor) {\n // set up high order component link\n\n let childProps = getNodeProps(rendered)\n inst = initialChildComponent\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, SYNC_RENDER, context, false)\n } else {\n toUnmount = inst\n\n component._component = inst = createComponent(ctor, childProps, context)\n inst.nextBase = inst.nextBase || nextBase\n inst._parentComponent = component\n setComponentProps(inst, childProps, NO_RENDER, context, false)\n renderComponent(inst, SYNC_RENDER, mountAll, true)\n }\n\n base = inst.base\n } else {\n cbase = initialBase\n\n // destroy high order component link\n toUnmount = initialChildComponent\n if (toUnmount) {\n cbase = component._component = null\n }\n\n if (initialBase || opts === SYNC_RENDER) {\n if (cbase) cbase._component = null\n base = diff(\n cbase,\n rendered,\n context,\n mountAll || !isUpdate,\n initialBase && initialBase.parentNode,\n true\n )\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n let baseParent = initialBase.parentNode\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase)\n\n if (!toUnmount) {\n initialBase._component = null\n recollectNodeTree(initialBase, false)\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount)\n }\n\n component.base = base\n if (base && !isChild) {\n let componentRef = component,\n t = component\n while ((t = t._parentComponent)) {\n ;(componentRef = t).base = base\n }\n base._component = componentRef\n base._componentConstructor = componentRef.constructor\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component)\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext)\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext)\n }\n if (options.afterUpdate) options.afterUpdate(component)\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length)\n component._renderCallbacks.pop().call(component)\n }\n\n if (!diffLevel && !isChild) flushMounts()\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nexport function buildComponentFromVNode(dom, vnode, context, mountAll) {\n let c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode)\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, ASYNC_RENDER, context, mountAll)\n dom = c.base\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent)\n dom = oldDom = null\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode)\n if (dom && !c.nextBase) {\n c.nextBase = dom\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null\n }\n setComponentProps(c, props, SYNC_RENDER, context, mountAll)\n dom = c.base\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null\n recollectNodeTree(oldDom, false)\n }\n }\n\n return dom\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nexport function unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component)\n\n let base = component.base\n\n component._disable = true\n\n if (component.uninstall) component.uninstall()\n\n component.base = null\n\n // recursively tear down & recollect high-order component children:\n let inner = component._component\n if (inner) {\n unmountComponent(inner)\n } else if (base) {\n if (base[ATTR_KEY] != null) applyRef(base[ATTR_KEY].ref, null)\n\n component.nextBase = base\n\n removeNode(base)\n collectComponent(component)\n\n removeChildren(base)\n }\n\n applyRef(component.__ref, null)\n}\n","import { FORCE_RENDER } from './constants'\nimport { renderComponent } from './vdom/component'\nimport options from './options'\nimport { nProps, assign } from './util'\n\nlet id = 0\n\nexport default class Component {\n static is = 'WeElement'\n\n constructor(props, store) {\n this.props = assign(\n nProps(this.constructor.props),\n this.constructor.defaultProps,\n props\n )\n this.elementId = id++\n this.data = this.constructor.data || this.data || {}\n\n this._preCss = null\n\n this.store = store\n }\n\n update(callback) {\n this._willUpdate = true\n if (callback)\n (this._renderCallbacks = this._renderCallbacks || []).push(callback)\n renderComponent(this, FORCE_RENDER)\n if (options.componentChange) options.componentChange(this, this.base)\n this._willUpdate = false\n }\n\n fire(type, data) {\n Object.keys(this.props).every(key => {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n this.props[key]({ detail: data })\n return false\n }\n return true\n })\n }\n\n render() {}\n}\n","import { diff } from './vdom/diff'\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nexport function render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n }\n\n if (merge) {\n merge =\n typeof merge === 'string'\n ? document.querySelector(merge)\n : merge\n }\n\n return diff(merge, vnode, store, false, parent, false)\n}\n","import options from './options'\n\nexport function define(name, ctor) {\n options.mapping[name] = ctor\n}\n","export function rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, (a, b) => {\n return (window.innerWidth * Number(b)) / 750 + 'px'\n })\n}\n","import Component from './component'\n\nexport default class ModelView extends Component {\n static observe = true\n\n static mergeUpdate = true\n\n beforeInstall() {\n this.data = this.vm.data\n }\n}\n","/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty\n\nexport function classNames() {\n var classes = []\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i]\n if (!arg) continue\n\n var argType = typeof arg\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg)\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg)\n if (inner) {\n classes.push(inner)\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key)\n }\n }\n }\n }\n\n return classes.join(' ')\n}\n\nexport function extractClass() {\n const [props, ...args] = Array.prototype.slice.call(arguments, 0)\n if (props) {\n if (props.class) {\n args.unshift(props.class)\n delete props.class\n } else if (props.className) {\n args.unshift(props.className)\n delete props.className\n }\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) }\n }\n}\n","export function getHost(component) {\n let base = component.base\n if (base) {\n while (base.parentNode) {\n if (base.parentNode._component) {\n return base.parentNode._component\n } else {\n base = base.parentNode\n }\n }\n }\n}","/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nimport options from './options'\n\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost,\n scoper\n} from './style'\n\n\nconst encodeEntities = s => String(s)\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"');\n\nconst indent = (s, char) => String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nconst mapping = options.mapping\n\nconst VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nconst isLargeString = (s, length, ignoreLines) => (String(s).length > (length || 40) || (!ignoreLines && String(s).indexOf('\\n') !== -1) || String(s).indexOf('<') !== -1);\n\nconst JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n let str = '';\n for (let prop in s) {\n let val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\n/** The default export is an alias of `render()`. */\nexport function renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n let nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n },opts)\n\n let pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n const ctor = mapping[nodeName]\n if (ctor) {\n isComponent = true;\n\n let props = getNodeProps(vnode),\n rendered;\n // class-based components\n let c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n let tempCss \n if(opts.scopedCSS){\n\n if (c.constructor.css || c.css) {\n\n const cssStr = c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css)\n const cssAttr = '_s' + getCtorName(c.constructor)\n\n tempCss = ``\n\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(c.constructor)\n )\n }\n \n c.scopedCSSAttr = vnode.css\n scopeHost(rendered, c.scopedCSSAttr)\n }\n\n return renderToString(rendered, opts, store, false, tempCss);\n }\n\n\n // render JSX to HTML\n let s = '', html;\n\n if (attributes) {\n let attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (let i = 0; i < attrs.length; i++) {\n let name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes.class) continue;\n name = 'class';\n }\n else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n let hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n }\n else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ` ${name}=\"${encodeEntities(v)}\"`;\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n let sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;\n else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = `<${nodeName}${s}>`;\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n let isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n let pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n }\n else if (vnode.children) {\n let hasLarge = pretty && ~s.indexOf('\\n');\n for (let i = 0; i < vnode.children.length; i++) {\n let child = vnode.children[i];\n if (child != null && child !== false) {\n let childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = renderToString(child, opts, store, childSvgMode);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (let i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n }\n else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += `${nodeName}>`;\n }\n\n if(css) return css + s;\n return s;\n}\n\nfunction assign(obj, props) {\n for (let i in props) obj[i] = props[i];\n return obj;\n}\n\nfunction getNodeProps(vnode) {\n let props = assign({}, vnode.attributes);\n props.children = vnode.children;\n\n let defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}","import { h, h as createElement } from './h'\nimport { cloneElement } from './clone-element'\nimport Component from './component'\nimport { render } from './render'\nimport { rerender } from './render-queue'\nimport options from './options'\nimport { define } from './define'\nimport { rpx } from './rpx'\nimport ModelView from './model-view'\nimport { classNames, extractClass } from './class'\nimport { getHost } from './get-host'\nimport { renderToString } from './render-to-string'\n\nconst WeElement = Component\nconst defineElement = define\nfunction createRef() {\n return {}\n}\n\noptions.root.Omi = {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\noptions.root.omi = options.root.Omi\noptions.root.Omi.version = 'omio-1.3.8'\n\nexport default {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n\nexport {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n","\n\t\t\t\timport Omi from './omi';\n\t\t\t\tif (typeof module!='undefined') module.exports = Omi;\n\t\t\t\telse self.Omi = Omi;\n\t\t\t"],"names":["VNode","getGlobal","global","Math","Array","self","window","scopedStyle","mapping","isWeb","staticStyleMapping","doc","document","root","styleCache","stack","EMPTY_CHILDREN","h","nodeName","attributes","children","lastSimple","child","simple","i","arguments","length","push","pop","undefined","String","p","key","options","vnode","getOwnPropertySymbols","Object","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","assign","target","source","from","to","symbols","s","call","Element","addEventListener","runListeners","oEvent","event","iLstId","iElId","oEvtListeners","oListeners","type","aEls","aEvts","sEventType","fListener","nElIdx","aElListeners","splice","removeEventListener","create","proto","propertiesObject","Error","F","trim","replace","extend","obj","props","applyRef","ref","value","current","usePromise","Promise","__config__","platform","systemVersion","split","defer","resolve","then","bind","setTimeout","isArray","toString","nProps","result","keys","forEach","cloneElement","slice","NO_RENDER","SYNC_RENDER","FORCE_RENDER","ASYNC_RENDER","ATTR_KEY","IS_NON_DIMENSIONAL","items","enqueueRender","component","debounceRendering","rerender","renderComponent","isSameNodeType","node","hydrating","splitText","ctor","_componentConstructor","isNamedNode","normalizedNodeName","toLowerCase","getNodeProps","defaultProps","createNode","isSvg","createElementNS","createElement","parseCSSText","cssText","cssTxt","match","a","b","rule","cssToJs","toUpperCase","properties","map","o","x","property","style","removeNode","parentNode","removeChild","setAccessor","name","old","className","test","oldJson","currentJson","changed","ckey","setStyles","innerHTML","__html","useCapture","substring","eventProxy","touchStart","touchEnd","_listeners","setProperty","removeAttribute","ns","removeAttributeNS","setAttributeNS","setAttribute","e","___touchX","touches","pageX","___touchY","pageY","___scrollTop","body","scrollTop","abs","changedTouches","dispatchEvent","CustomEvent","detail","styleId","getCtorName","len","item","attrName","scoper","css","prefix","re","RegExp","g0","g1","g2","g3","appendClass","addStyle","id","ele","getElementById","head","getElementsByTagName","someThingStyles","appendChild","ActiveXObject","styleSheet","textContent","addStyleWithoutId","addScopedAttrStatic","vdom","attr","scopeVdom","addStyleToHead","scopeHost","mounts","diffLevel","isSvgMode","flushMounts","c","afterMount","installed","constructor","diff","dom","context","mountAll","parent","componentRoot","ownerSVGElement","ret","idiff","out","prevSvgMode","vnodeName","buildComponentFromVNode","_component","nodeValue","createTextNode","replaceChild","recollectNodeTree","firstChild","fc","vchildren","nextSibling","innerDiffNode","dangerouslySetInnerHTML","diffAttributes","isHydrating","originalChildren","childNodes","keyed","keyedLen","min","childrenLen","vlen","j","f","vchild","__key","insertBefore","unmountOnly","unmountComponent","removeChildren","lastChild","next","previousSibling","attrs","components","collectComponent","createComponent","Ctor","list","inst","render","Component","doRender","scopedCssAttr","nextBase","data","obaa","arr","callback","_observe","$observer","eventPropArr","$observeProps","$observerPath","mock","prop","isInArray","watch","isString","propertyChangedHandler","propChanged","all","onPropertyChanged","oldValue","path","rootName","_getRootName","handler","indexOf","methods","apply","triggerStr","cprop","isFunction","currentValue","defineProperty","get","set","join","add","exec","size","callbacks","nextTickCallback","fireTick","fn","scope","nextItem","proxyUpdate","timeout","_willUpdate","mergeUpdate","clearTimeout","update","setComponentProps","opts","_disable","__ref","base","beforeInstall","install","observe","receiveProps","prevContext","prevProps","syncComponentUpdates","shallowComparison","isChild","previousProps","previousState","prevState","previousContext","isUpdate","initialBase","initialChildComponent","skip","rendered","cbase","store","beforeUpdate","beforeRender","getChildContext","childComponent","toUnmount","childProps","_parentComponent","baseParent","componentRef","t","unshift","afterUpdate","updated","_renderCallbacks","originalComponent","oldDom","isDirectOwner","isOwner","beforeUnmount","uninstall","inner","elementId","_preCss","componentChange","fire","every","is","empty","merge","querySelector","define","rpx","str","innerWidth","Number","ModelView","vm","hasOwn","classNames","classes","arg","argType","extractClass","args","class","getHost","encodeEntities","indent","char","VOID_ELEMENTS","isLargeString","ignoreLines","JS_TO_CSS","styleObjToCss","renderToString","isComponent","scopedCSS","pretty","indentChar","__x","tempCss","cssStr","cssAttr","scopedCSSAttr","html","sortAttributes","sort","v","allAttributes","hooked","attributeHook","xml","sub","isVoid","pieces","hasLarge","childSvgMode","WeElement","defineElement","createRef","Omi","omi","version","module","exports"],"mappings":";;;;;;;;;;;EAAA;AACA,EAAO,SAASA,KAAT,GAAiB;;ECDxB,SAASC,SAAT,GAAqB;EACnB,MACE,OAAOC,MAAP,KAAkB,QAAlB,IACA,CAACA,MADD,IAEAA,OAAOC,IAAP,KAAgBA,IAFhB,IAGAD,OAAOE,KAAP,KAAiBA,KAJnB,EAKE;EACA,QAAI,OAAOC,IAAP,KAAgB,WAApB,EAAiC;EAC/B,aAAOA,IAAP;EACD,KAFD,MAEO,IAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;EACxC,aAAOA,MAAP;EACD,KAFM,MAEA,IAAI,OAAOJ,MAAP,KAAkB,WAAtB,EAAmC;EACxC,aAAOA,MAAP;EACD;EACD,WAAQ,YAAW;EACjB,aAAO,IAAP;EACD,KAFM,EAAP;EAGD;EACD,SAAOA,MAAP;EACD;;EAED;;;;AAIA,gBAAe;EACbK,eAAa,IADA;EAEbC,WAAS,EAFI;EAGbC,SAAO,IAHM;EAIbC,sBAAoB,EAJP;EAKbC,OAAK,OAAOC,QAAP,KAAoB,QAApB,GAA+BA,QAA/B,GAA0C,IALlC;EAMbC,QAAMZ,WANO;EAOb;EACAa,cAAY;EACZ;EACA;;;;;EAKA;;EAEA;;;EAGA;;EAEA;EACA;;EAEA;EACA;;EAEA;EACA;EA7Ba,CAAf;;MCtBMC,QAAQ,EAAd;;EAEA,IAAMC,iBAAiB,EAAvB;;EAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,EAAO,SAASC,CAAT,CAAWC,QAAX,EAAqBC,UAArB,EAAiC;EACtC,MAAIC,WAAWJ,cAAf;EAAA,MACEK,mBADF;EAAA,MAEEC,cAFF;EAAA,MAGEC,eAHF;EAAA,MAIEC,UAJF;EAKA,OAAKA,IAAIC,UAAUC,MAAnB,EAA2BF,MAAM,CAAjC,GAAsC;EACpCT,UAAMY,IAAN,CAAWF,UAAUD,CAAV,CAAX;EACD;EACD,MAAIL,cAAcA,WAAWC,QAAX,IAAuB,IAAzC,EAA+C;EAC7C,QAAI,CAACL,MAAMW,MAAX,EAAmBX,MAAMY,IAAN,CAAWR,WAAWC,QAAtB;EACnB,WAAOD,WAAWC,QAAlB;EACD;EACD,SAAOL,MAAMW,MAAb,EAAqB;EACnB,QAAI,CAACJ,QAAQP,MAAMa,GAAN,EAAT,KAAyBN,MAAMM,GAAN,KAAcC,SAA3C,EAAsD;EACpD,WAAKL,IAAIF,MAAMI,MAAf,EAAuBF,GAAvB;EAA8BT,cAAMY,IAAN,CAAWL,MAAME,CAAN,CAAX;EAA9B;EACD,KAFD,MAEO;EACL,UAAI,OAAOF,KAAP,KAAiB,SAArB,EAAgCA,QAAQ,IAAR;;EAEhC,UAAKC,SAAS,OAAOL,QAAP,KAAoB,UAAlC,EAA+C;EAC7C,YAAII,SAAS,IAAb,EAAmBA,QAAQ,EAAR,CAAnB,KACK,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+BA,QAAQQ,OAAOR,KAAP,CAAR,CAA/B,KACA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+BC,SAAS,KAAT;EACrC;;EAED,UAAIA,UAAUF,UAAd,EAA0B;EACxBD,iBAASA,SAASM,MAAT,GAAkB,CAA3B,KAAiCJ,KAAjC;EACD,OAFD,MAEO,IAAIF,aAAaJ,cAAjB,EAAiC;EACtCI,mBAAW,CAACE,KAAD,CAAX;EACD,OAFM,MAEA;EACLF,iBAASO,IAAT,CAAcL,KAAd;EACD;;EAEDD,mBAAaE,MAAb;EACD;EACF;;EAED,MAAIQ,IAAI,IAAI/B,KAAJ,EAAR;EACA+B,IAAEb,QAAF,GAAaA,QAAb;EACAa,IAAEX,QAAF,GAAaA,QAAb;EACDW,IAAEZ,UAAF,GAAeA,cAAc,IAAd,GAAqBU,SAArB,GAAiCV,UAAhD;EACCY,IAAEC,GAAF,GAAQb,cAAc,IAAd,GAAqBU,SAArB,GAAiCV,WAAWa,GAApD;;EAEA;EACA,MAAIC,QAAQC,KAAR,KAAkBL,SAAtB,EAAiCI,QAAQC,KAAR,CAAcH,CAAd;;EAEjC,SAAOA,CAAP;EACD;;;;EChFD,IAAII,wBAAwBC,OAAOD,qBAAnC;EACA,IAAIE,iBAAiBD,OAAOE,SAAP,CAAiBD,cAAtC;EACA,IAAIE,mBAAmBH,OAAOE,SAAP,CAAiBE,oBAAxC;;EAEA,SAASC,QAAT,CAAkBC,GAAlB,EAAuB;EACrB,MAAIA,QAAQ,IAAR,IAAgBA,QAAQb,SAA5B,EAAuC;EACrC,UAAM,IAAIc,SAAJ,CAAc,uDAAd,CAAN;EACD;;EAED,SAAOP,OAAOM,GAAP,CAAP;EACD;;AAED,EAAO,SAASE,MAAT,CAAgBC,MAAhB,EAAwBC,MAAxB,EAAgC;EACrC,MAAIC,IAAJ;EACA,MAAIC,KAAKP,SAASI,MAAT,CAAT;EACA,MAAII,OAAJ;;EAEA,OAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIzB,UAAUC,MAA9B,EAAsCwB,GAAtC,EAA2C;EACzCH,WAAOX,OAAOX,UAAUyB,CAAV,CAAP,CAAP;;EAEA,SAAK,IAAIlB,GAAT,IAAgBe,IAAhB,EAAsB;EACpB,UAAIV,eAAec,IAAf,CAAoBJ,IAApB,EAA0Bf,GAA1B,CAAJ,EAAoC;EAClCgB,WAAGhB,GAAH,IAAUe,KAAKf,GAAL,CAAV;EACD;EACF;;EAED,QAAIG,qBAAJ,EAA2B;EACzBc,gBAAUd,sBAAsBY,IAAtB,CAAV;EACA,WAAK,IAAIvB,IAAI,CAAb,EAAgBA,IAAIyB,QAAQvB,MAA5B,EAAoCF,GAApC,EAAyC;EACvC,YAAIe,iBAAiBY,IAAjB,CAAsBJ,IAAtB,EAA4BE,QAAQzB,CAAR,CAA5B,CAAJ,EAA6C;EAC3CwB,aAAGC,QAAQzB,CAAR,CAAH,IAAiBuB,KAAKE,QAAQzB,CAAR,CAAL,CAAjB;EACD;EACF;EACF;EACF;;EAED,SAAOwB,EAAP;EACD;;EAED,IAAI,OAAOI,OAAP,KAAmB,WAAnB,IAAkC,CAACA,QAAQd,SAAR,CAAkBe,gBAAzD,EAA2E;EAAA,MAEhEC,YAFgE,GAEzE,SAASA,YAAT,CAAsBC,MAAtB,EAA8B;EAC5B,QAAI,CAACA,MAAL,EAAa;EAAEA,eAASjD,OAAOkD,KAAhB;EAAwB;EACvC,SAAK,IAAIC,SAAS,CAAb,EAAgBC,QAAQ,CAAxB,EAA2BC,gBAAgBC,WAAWL,OAAOM,IAAlB,CAAhD,EAAyEH,QAAQC,cAAcG,IAAd,CAAmBpC,MAApG,EAA4GgC,OAA5G,EAAqH;EACnH,UAAIC,cAAcG,IAAd,CAAmBJ,KAAnB,MAA8B,IAAlC,EAAwC;EACtC,aAAKD,MAAL,EAAaA,SAASE,cAAcI,KAAd,CAAoBL,KAApB,EAA2BhC,MAAjD,EAAyD+B,QAAzD,EAAmE;EAAEE,wBAAcI,KAAd,CAAoBL,KAApB,EAA2BD,MAA3B,EAAmCN,IAAnC,CAAwC,IAAxC,EAA8CI,MAA9C;EAAwD;EAC7H;EACD;EACF;EACF,GAVwE;;EACzE,MAAIK,aAAa,EAAjB;;EAUAR,UAAQd,SAAR,CAAkBe,gBAAlB,GAAqC,UAAUW,UAAV,EAAsBC,SAAtB,uCAAsE;EACzG,QAAIL,WAAWvB,cAAX,CAA0B2B,UAA1B,CAAJ,EAA2C;EACzC,UAAIL,gBAAgBC,WAAWI,UAAX,CAApB;EACA,WAAK,IAAIE,SAAS,CAAC,CAAd,EAAiBR,QAAQ,CAA9B,EAAiCA,QAAQC,cAAcG,IAAd,CAAmBpC,MAA5D,EAAoEgC,OAApE,EAA6E;EAC3E,YAAIC,cAAcG,IAAd,CAAmBJ,KAAnB,MAA8B,IAAlC,EAAwC;EAAEQ,mBAASR,KAAT,CAAgB;EAAQ;EACnE;EACD,UAAIQ,WAAW,CAAC,CAAhB,EAAmB;EACjBP,sBAAcG,IAAd,CAAmBnC,IAAnB,CAAwB,IAAxB;EACAgC,sBAAcI,KAAd,CAAoBpC,IAApB,CAAyB,CAACsC,SAAD,CAAzB;EACA,aAAK,OAAOD,UAAZ,IAA0BV,YAA1B;EACD,OAJD,MAIO;EACL,YAAIa,eAAeR,cAAcI,KAAd,CAAoBG,MAApB,CAAnB;EACA,YAAI,KAAK,OAAOF,UAAZ,MAA4BV,YAAhC,EAA8C;EAC5Ca,uBAAaC,MAAb,CAAoB,CAApB;EACA,eAAK,OAAOJ,UAAZ,IAA0BV,YAA1B;EACD;EACD,aAAK,IAAIG,SAAS,CAAlB,EAAqBA,SAASU,aAAazC,MAA3C,EAAmD+B,QAAnD,EAA6D;EAC3D,cAAIU,aAAaV,MAAb,MAAyBQ,SAA7B,EAAwC;EAAE;EAAS;EACpD;EACDE,qBAAaxC,IAAb,CAAkBsC,SAAlB;EACD;EACF,KApBD,MAoBO;EACLL,iBAAWI,UAAX,IAAyB,EAAEF,MAAM,CAAC,IAAD,CAAR,EAAgBC,OAAO,CAAC,CAACE,SAAD,CAAD,CAAvB,EAAzB;EACA,WAAK,OAAOD,UAAZ,IAA0BV,YAA1B;EACD;EACF,GAzBD;EA0BAF,UAAQd,SAAR,CAAkB+B,mBAAlB,GAAwC,UAAUL,UAAV,EAAsBC,SAAtB,uCAAsE;EAC5G,QAAI,CAACL,WAAWvB,cAAX,CAA0B2B,UAA1B,CAAL,EAA4C;EAAE;EAAS;EACvD,QAAIL,gBAAgBC,WAAWI,UAAX,CAApB;EACA,SAAK,IAAIE,SAAS,CAAC,CAAd,EAAiBR,QAAQ,CAA9B,EAAiCA,QAAQC,cAAcG,IAAd,CAAmBpC,MAA5D,EAAoEgC,OAApE,EAA6E;EAC3E,UAAIC,cAAcG,IAAd,CAAmBJ,KAAnB,MAA8B,IAAlC,EAAwC;EAAEQ,iBAASR,KAAT,CAAgB;EAAQ;EACnE;EACD,QAAIQ,WAAW,CAAC,CAAhB,EAAmB;EAAE;EAAS;EAC9B,SAAK,IAAIT,SAAS,CAAb,EAAgBU,eAAeR,cAAcI,KAAd,CAAoBG,MAApB,CAApC,EAAiET,SAASU,aAAazC,MAAvF,EAA+F+B,QAA/F,EAAyG;EACvG,UAAIU,aAAaV,MAAb,MAAyBQ,SAA7B,EAAwC;EAAEE,qBAAaC,MAAb,CAAoBX,MAApB,EAA4B,CAA5B;EAAiC;EAC5E;EACF,GAVD;EAWD;;EAGD,IAAI,OAAOrB,OAAOkC,MAAd,KAAyB,UAA7B,EAAyC;EACvClC,SAAOkC,MAAP,GAAgB,UAASC,KAAT,EAAgBC,gBAAhB,EAAkC;EAChD,QAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6B,OAAOA,KAAP,KAAiB,UAAlD,EAA8D;EAC5D,YAAM,IAAI5B,SAAJ,CAAc,6CAA6C4B,KAA3D,CAAN;EACD,KAFD,MAEO,IAAIA,UAAU,IAAd,EAAoB;EACzB,YAAM,IAAIE,KAAJ,CACJ,4GADI,CAAN;EAGD;;EAED;EACA;EACA;;EAEA,aAASC,CAAT,GAAa;EACbA,MAAEpC,SAAF,GAAciC,KAAd;;EAEA,WAAO,IAAIG,CAAJ,EAAP;EACD,GAjBD;EAkBD;;EAED,IAAI,CAAC5C,OAAOQ,SAAP,CAAiBqC,IAAtB,EAA4B;EAC1B7C,SAAOQ,SAAP,CAAiBqC,IAAjB,GAAwB,YAAY;EAClC,WAAO,KAAKC,OAAL,CAAa,oCAAb,EAAmD,EAAnD,CAAP;EACD,GAFD;EAGD;;EAED;;;;;;;AAOA,EAAO,SAASC,MAAT,CAAgBC,GAAhB,EAAqBC,KAArB,EAA4B;EACjC,OAAK,IAAIvD,CAAT,IAAcuD,KAAd;EAAqBD,QAAItD,CAAJ,IAASuD,MAAMvD,CAAN,CAAT;EAArB,GACA,OAAOsD,GAAP;EACD;;EAED;;;;AAIA,EAAO,SAASE,QAAT,CAAkBC,GAAlB,EAAuBC,KAAvB,EAA8B;EACnC,MAAID,GAAJ,EAAS;EACP,QAAI,OAAOA,GAAP,IAAc,UAAlB,EAA8BA,IAAIC,KAAJ,EAA9B,KACKD,IAAIE,OAAJ,GAAcD,KAAd;EACN;EACF;;EAED;;;;;;;;EAQA,IAAIE,aAAa,OAAOC,OAAP,IAAkB,UAAnC;;EAEA;EACA,IACE,OAAOzE,QAAP,KAAoB,QAApB,IACA,OAAOV,MAAP,KAAkB,WADlB,IAEAA,OAAOoF,UAHT,EAIE;EACA,MAAIpF,OAAOoF,UAAP,CAAkBC,QAAlB,KAA+B,SAAnC,EAA8C;EAC5CH,iBAAa,IAAb;EACD,GAFD,MAEO;EACL,QAAII,gBACDtF,OAAOoF,UAAP,CAAkBE,aAAlB,IACCtF,OAAOoF,UAAP,CAAkBE,aAAlB,CAAgCC,KAAhC,CAAsC,GAAtC,EAA2C,CAA3C,CADF,IAEA,CAHF;EAIA,QAAID,gBAAgB,CAApB,EAAuB;EACrBJ,mBAAa,IAAb;EACD;EACF;EACF;;AAED,EAAO,IAAMM,QAAQN,aACjBC,QAAQM,OAAR,GAAkBC,IAAlB,CAAuBC,IAAvB,CAA4BR,QAAQM,OAAR,EAA5B,CADiB,GAEjBG,UAFG;;AAIP,EAAO,SAASC,OAAT,CAAiBjB,GAAjB,EAAsB;EAC3B,SAAO1C,OAAOE,SAAP,CAAiB0D,QAAjB,CAA0B7C,IAA1B,CAA+B2B,GAA/B,MAAwC,gBAA/C;EACD;;AAED,EAAO,SAASmB,MAAT,CAAgBlB,KAAhB,EAAuB;EAC5B,MAAI,CAACA,KAAD,IAAUgB,QAAQhB,KAAR,CAAd,EAA8B,OAAO,EAAP;EAC9B,MAAMmB,SAAS,EAAf;EACA9D,SAAO+D,IAAP,CAAYpB,KAAZ,EAAmBqB,OAAnB,CAA2B,eAAO;EAChCF,WAAOlE,GAAP,IAAc+C,MAAM/C,GAAN,EAAWkD,KAAzB;EACD,GAFD;EAGA,SAAOgB,MAAP;EACD;;;;;;;;ACjLD,EAAO,SAASG,YAAT,CAAsBnE,KAAtB,EAA6B6C,KAA7B,EAAoC;EACzC,SAAO9D,EACLiB,MAAMhB,QADD,EAEL2D,OAAOA,OAAO,EAAP,EAAW3C,MAAMf,UAAjB,CAAP,EAAqC4D,KAArC,CAFK,EAGLtD,UAAUC,MAAV,GAAmB,CAAnB,GAAuB,GAAG4E,KAAH,CAASnD,IAAT,CAAc1B,SAAd,EAAyB,CAAzB,CAAvB,GAAqDS,MAAMd,QAHtD,CAAP;EAKD;;ECfD;;AAEA,EAAO,IAAMmF,YAAY,CAAlB;AACP,EAAO,IAAMC,cAAc,CAApB;AACP,EAAO,IAAMC,eAAe,CAArB;AACP,EAAO,IAAMC,eAAe,CAArB;;AAEP,EAAO,IAAMC,WAAW,YAAjB;;EAEP;AACA,EAAO,IAAMC,uBAAqB,wDAA3B;;;;ECJP,IAAIC,QAAQ,EAAZ;;AAEA,EAAO,SAASC,aAAT,CAAuBC,SAAvB,EAAkC;EACvC,MAAIF,MAAMlF,IAAN,CAAWoF,SAAX,KAAyB,CAA7B,EAAgC;AAC9B,EAAC,CAAC9E,QAAQ+E,iBAAR,IAA6BtB,KAA9B,EAAqCuB,QAArC;EACF;EACF;;EAED;AACA,EAAO,SAASA,QAAT,GAAoB;EAC1B,MAAIlF,UAAJ;EACA,SAASA,IAAI8E,MAAMjF,GAAN,EAAb,EAA4B;EACzBsF,oBAAgBnF,CAAhB;EACF;EACD;;MCjBKvB,UAAUyB,QAAQzB,OAAxB;EACA;;;;;;;;AAQA,EAAO,SAAS2G,cAAT,CAAwBC,IAAxB,EAA8BlF,KAA9B,EAAqCmF,SAArC,EAAgD;EACrD,MAAI,OAAOnF,KAAP,KAAiB,QAAjB,IAA6B,OAAOA,KAAP,KAAiB,QAAlD,EAA4D;EAC1D,WAAOkF,KAAKE,SAAL,KAAmBzF,SAA1B;EACD;EACD,MAAI,OAAOK,MAAMhB,QAAb,KAA0B,QAA9B,EAAwC;EACtC,QAAIqG,OAAO/G,QAAQ0B,MAAMhB,QAAd,CAAX;EACA,QAAIqG,IAAJ,EAAU;EACR,aAAOF,aAAaD,KAAKI,qBAAL,KAA+BD,IAAnD;EACD;EACD,WAAO,CAACH,KAAKI,qBAAN,IAA+BC,YAAYL,IAAZ,EAAkBlF,MAAMhB,QAAxB,CAAtC;EACD;EACD,SAAOmG,aAAaD,KAAKI,qBAAL,KAA+BtF,MAAMhB,QAAzD;EACD;;EAED;;;;;;AAMA,EAAO,SAASuG,WAAT,CAAqBL,IAArB,EAA2BlG,QAA3B,EAAqC;EAC1C,SACEkG,KAAKM,kBAAL,KAA4BxG,QAA5B,IACAkG,KAAKlG,QAAL,CAAcyG,WAAd,OAAgCzG,SAASyG,WAAT,EAFlC;EAID;;EAED;;;;;;;;AAQA,EAAO,SAASC,YAAT,CAAsB1F,KAAtB,EAA6B;EAClC,MAAI6C,QAAQF,OAAO,EAAP,EAAW3C,MAAMf,UAAjB,CAAZ;EACA4D,QAAM3D,QAAN,GAAiBc,MAAMd,QAAvB;;EAEA,MAAIyG,eAAe3F,MAAMhB,QAAN,CAAe2G,YAAlC;EACA,MAAIA,iBAAiBhG,SAArB,EAAgC;EAC9B,SAAK,IAAIL,CAAT,IAAcqG,YAAd,EAA4B;EAC1B,UAAI9C,MAAMvD,CAAN,MAAaK,SAAjB,EAA4B;EAC1BkD,cAAMvD,CAAN,IAAWqG,aAAarG,CAAb,CAAX;EACD;EACF;EACF;;EAED,SAAOuD,KAAP;EACD;;;;;;;ACpDD,EAAO,SAAS+C,UAAT,CAAoB5G,QAApB,EAA8B6G,KAA9B,EAAqC;EAC1C,MAAIX,OAAOW,QACP9F,QAAQtB,GAAR,CAAYqH,eAAZ,CAA4B,4BAA5B,EAA0D9G,QAA1D,CADO,GAEPe,QAAQtB,GAAR,CAAYsH,aAAZ,CAA0B/G,QAA1B,CAFJ;EAGAkG,OAAKM,kBAAL,GAA0BxG,QAA1B;EACA,SAAOkG,IAAP;EACD;;EAED,SAASc,YAAT,CAAsBC,OAAtB,EAA+B;EAC7B,MAAIC,SAASD,QAAQvD,OAAR,CAAgB,mBAAhB,EAAqC,GAArC,EAA0CA,OAA1C,CAAkD,MAAlD,EAA0D,GAA1D,CAAb;EACI,cAAQ,EAAR;EAAA,aACawD,OAAOC,KAAP,CAAa,oBAAb,KAAsC,CAACC,CAAD,EAAIC,CAAJ,EAAOH,MAAP,CADnD;EAAA,MACDE,CADC;EAAA,MACEC,CADF;EAAA,MACKC,IADL;;EAEJ,MAAIC,UAAU,SAAVA,OAAU;EAAA,WAAKvF,EAAE0B,OAAF,CAAU,QAAV,EAAoB;EAAA,aAASyD,MAAM/B,KAAN,CAAY,CAAC,CAAb,EAAgBoC,WAAhB,EAAT;EAAA,KAApB,CAAL;EAAA,GAAd;EACA,MAAIC,aAAaH,KACd/C,KADc,CACR,GADQ,EAEdmD,GAFc,CAEV;EAAA,WAAKC,EAAEpD,KAAF,CAAQ,GAAR,EAAamD,GAAb,CAAiB;EAAA,aAAKE,KAAKA,EAAEnE,IAAF,EAAV;EAAA,KAAjB,CAAL;EAAA,GAFU,CAAjB;EAGA,uBAA8BgE,UAA9B;EAAA;;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;EAAA;EAAA,QAAUI,QAAV;EAAA,QAAoB7D,KAApB;EAA0C8D,UAAMP,QAAQM,QAAR,CAAN,IAA2B7D,KAA3B;EAA1C,GACA,OAAO8D,KAAP;EACD;;EAED;;;AAGA,EAAO,SAASC,UAAT,CAAoB7B,IAApB,EAA0B;EAC/B,MAAI8B,aAAa9B,KAAK8B,UAAtB;EACA,MAAIA,UAAJ,EAAgBA,WAAWC,WAAX,CAAuB/B,IAAvB;EACjB;;EAED;;;;;;;;;AASA,EAAO,SAASgC,WAAT,CAAqBhC,IAArB,EAA2BiC,IAA3B,EAAiCC,GAAjC,EAAsCpE,KAAtC,EAA6C6C,KAA7C,EAAoD;EACzD,MAAIsB,SAAS,WAAb,EAA0BA,OAAO,OAAP;;EAE1B,MAAIA,SAAS,KAAb,EAAoB;EAClB;EACD,GAFD,MAEO,IAAIA,SAAS,KAAb,EAAoB;EACzBrE,aAASsE,GAAT,EAAc,IAAd;EACAtE,aAASE,KAAT,EAAgBkC,IAAhB;EACD,GAHM,MAGA,IAAIiC,SAAS,OAAT,IAAoB,CAACtB,KAAzB,EAAgC;EACrCX,SAAKmC,SAAL,GAAiBrE,SAAS,EAA1B;EACD,GAFM,MAEA,IAAImE,SAAS,OAAb,EAAsB;EAC3B,QAAIpH,QAAQxB,KAAZ,EAAmB;EACjB,UAAI,CAACyE,KAAD,IAAU,OAAOA,KAAP,KAAiB,QAA3B,IAAuC,OAAOoE,GAAP,KAAe,QAA1D,EAAoE;EAClElC,aAAK4B,KAAL,CAAWb,OAAX,GAAqBjD,SAAS,EAA9B;EACD;EACD,UAAIA,SAAS,OAAOA,KAAP,KAAiB,QAA9B,EAAwC;EACtC,YAAI,OAAOoE,GAAP,KAAe,QAAnB,EAA6B;EAC3B,eAAK,IAAI9H,CAAT,IAAc8H,GAAd;EAAmB,gBAAI,EAAE9H,KAAK0D,KAAP,CAAJ,EAAmBkC,KAAK4B,KAAL,CAAWxH,CAAX,IAAgB,EAAhB;EAAtC;EACD;EACD,aAAK,IAAIA,GAAT,IAAc0D,KAAd,EAAqB;EACnBkC,eAAK4B,KAAL,CAAWxH,GAAX,IACE,OAAO0D,MAAM1D,GAAN,CAAP,KAAoB,QAApB,IAAgCoF,qBAAmB4C,IAAnB,CAAwBhI,GAAxB,MAA+B,KAA/D,GACI0D,MAAM1D,GAAN,IAAW,IADf,GAEI0D,MAAM1D,GAAN,CAHN;EAID;EACF;EACF,KAfD,MAeO;EACL,UAAIiI,UAAUH,GAAd;EAAA,UACEI,cAAcxE,KADhB;EAEA,UAAI,OAAOoE,GAAP,KAAe,QAAnB,EAA6B;EAC3BG,kBAAUvB,aAAaoB,GAAb,CAAV;EACD;EACD,UAAI,OAAOpE,KAAP,IAAgB,QAApB,EAA8B;EAC5BwE,sBAAcxB,aAAahD,KAAb,CAAd;EACD;;EAED,UAAIgB,SAAS,EAAb;EAAA,UACEyD,UAAU,KADZ;;EAGA,UAAIF,OAAJ,EAAa;EACX,aAAK,IAAIzH,GAAT,IAAgByH,OAAhB,EAAyB;EACvB,cAAI,OAAOC,WAAP,IAAsB,QAAtB,IAAkC,EAAE1H,OAAO0H,WAAT,CAAtC,EAA6D;EAC3DxD,mBAAOlE,GAAP,IAAc,EAAd;EACA2H,sBAAU,IAAV;EACD;EACF;;EAED,aAAK,IAAIC,IAAT,IAAiBF,WAAjB,EAA8B;EAC5B,cAAIA,YAAYE,IAAZ,MAAsBH,QAAQG,IAAR,CAA1B,EAAyC;EACvC1D,mBAAO0D,IAAP,IAAeF,YAAYE,IAAZ,CAAf;EACAD,sBAAU,IAAV;EACD;EACF;;EAED,YAAIA,OAAJ,EAAa;EACXvC,eAAKyC,SAAL,CAAe3D,MAAf;EACD;EACF,OAlBD,MAkBO;EACLkB,aAAKyC,SAAL,CAAeH,WAAf;EACD;EACF;EACF,GAnDM,MAmDA,IAAIL,SAAS,yBAAb,EAAwC;EAC7C,QAAInE,KAAJ,EAAWkC,KAAK0C,SAAL,GAAiB5E,MAAM6E,MAAN,IAAgB,EAAjC;EACZ,GAFM,MAEA,IAAIV,KAAK,CAAL,KAAW,GAAX,IAAkBA,KAAK,CAAL,KAAW,GAAjC,EAAsC;EAC3C,QAAIW,aAAaX,UAAUA,OAAOA,KAAKzE,OAAL,CAAa,UAAb,EAAyB,EAAzB,CAAjB,CAAjB;EACAyE,WAAOA,KAAK1B,WAAL,GAAmBsC,SAAnB,CAA6B,CAA7B,CAAP;EACA,QAAI/E,KAAJ,EAAW;EACT,UAAI,CAACoE,GAAL,EAAU;EACRlC,aAAK/D,gBAAL,CAAsBgG,IAAtB,EAA4Ba,UAA5B,EAAwCF,UAAxC;EACA,YAAIX,QAAQ,KAAZ,EAAmB;EACjBjC,eAAK/D,gBAAL,CAAsB,YAAtB,EAAoC8G,UAApC,EAAgDH,UAAhD;EACA5C,eAAK/D,gBAAL,CAAsB,UAAtB,EAAkC+G,QAAlC,EAA4CJ,UAA5C;EACD;EACF;EACF,KARD,MAQO;EACL5C,WAAK/C,mBAAL,CAAyBgF,IAAzB,EAA+Ba,UAA/B,EAA2CF,UAA3C;EACA,UAAIX,QAAQ,KAAZ,EAAmB;EACjBjC,aAAK/C,mBAAL,CAAyB,YAAzB,EAAuC8F,UAAvC,EAAmDH,UAAnD;EACA5C,aAAK/C,mBAAL,CAAyB,UAAzB,EAAqC+F,QAArC,EAA+CJ,UAA/C;EACD;EACF;AACD,EAAC,CAAC5C,KAAKiD,UAAL,KAAoBjD,KAAKiD,UAAL,GAAkB,EAAtC,CAAD,EAA4ChB,IAA5C,IAAoDnE,KAApD;EACF,GAnBM,MAmBA,IAAImE,SAAS,MAAT,IAAmBA,SAAS,MAA5B,IAAsC,CAACtB,KAAvC,IAAgDsB,QAAQjC,IAA5D,EAAkE;EACvEkD,gBAAYlD,IAAZ,EAAkBiC,IAAlB,EAAwBnE,SAAS,IAAT,GAAgB,EAAhB,GAAqBA,KAA7C;EACA,QAAIA,SAAS,IAAT,IAAiBA,UAAU,KAA/B,EAAsCkC,KAAKmD,eAAL,CAAqBlB,IAArB;EACvC,GAHM,MAGA;EACL,QAAImB,KAAKzC,SAASsB,UAAUA,OAAOA,KAAKzE,OAAL,CAAa,UAAb,EAAyB,EAAzB,CAAjB,CAAlB;EACA,QAAIM,SAAS,IAAT,IAAiBA,UAAU,KAA/B,EAAsC;EACpC,UAAIsF,EAAJ,EACEpD,KAAKqD,iBAAL,CACE,8BADF,EAEEpB,KAAK1B,WAAL,EAFF,EADF,KAKKP,KAAKmD,eAAL,CAAqBlB,IAArB;EACN,KAPD,MAOO,IAAI,OAAOnE,KAAP,KAAiB,UAArB,EAAiC;EACtC,UAAIsF,EAAJ,EACEpD,KAAKsD,cAAL,CACE,8BADF,EAEErB,KAAK1B,WAAL,EAFF,EAGEzC,KAHF,EADF,KAMKkC,KAAKuD,YAAL,CAAkBtB,IAAlB,EAAwBnE,KAAxB;EACN;EACF;EACF;;EAED;;;EAGA,SAASoF,WAAT,CAAqBlD,IAArB,EAA2BiC,IAA3B,EAAiCnE,KAAjC,EAAwC;EACtC,MAAI;EACFkC,SAAKiC,IAAL,IAAanE,KAAb;EACD,GAFD,CAEE,OAAO0F,CAAP,EAAU;EACb;;EAED;;;EAGA,SAASV,UAAT,CAAoBU,CAApB,EAAuB;EACrB,SAAO,KAAKP,UAAL,CAAgBO,EAAE/G,IAAlB,EAAyB5B,QAAQuB,KAAR,IAAiBvB,QAAQuB,KAAR,CAAcoH,CAAd,CAAlB,IAAuCA,CAA/D,CAAP;EACD;;EAED,SAAST,UAAT,CAAoBS,CAApB,EAAuB;EACrB,OAAKC,SAAL,GAAiBD,EAAEE,OAAF,CAAU,CAAV,EAAaC,KAA9B;EACA,OAAKC,SAAL,GAAiBJ,EAAEE,OAAF,CAAU,CAAV,EAAaG,KAA9B;EACA,OAAKC,YAAL,GAAoBtK,SAASuK,IAAT,CAAcC,SAAlC;EACD;;EAED,SAAShB,QAAT,CAAkBQ,CAAlB,EAAqB;EACnB,MACEzK,KAAKkL,GAAL,CAAST,EAAEU,cAAF,CAAiB,CAAjB,EAAoBP,KAApB,GAA4B,KAAKF,SAA1C,IAAuD,EAAvD,IACA1K,KAAKkL,GAAL,CAAST,EAAEU,cAAF,CAAiB,CAAjB,EAAoBL,KAApB,GAA4B,KAAKD,SAA1C,IAAuD,EADvD,IAEA7K,KAAKkL,GAAL,CAASzK,SAASuK,IAAT,CAAcC,SAAd,GAA0B,KAAKF,YAAxC,IAAwD,EAH1D,EAIE;EACA,SAAKK,aAAL,CAAmB,IAAIC,WAAJ,CAAgB,KAAhB,EAAuB,EAAEC,QAAQb,CAAV,EAAvB,CAAnB;EACD;EACF;;MCpLGc,UAAU,CAAd;;AAEA,EAAO,SAASC,WAAT,CAAqBpE,IAArB,EAA2B;EAChC,OAAK,IAAI/F,IAAI,CAAR,EAAWoK,MAAM3J,QAAQnB,UAAR,CAAmBY,MAAzC,EAAiDF,IAAIoK,GAArD,EAA0DpK,GAA1D,EAA+D;EAC7D,QAAIqK,OAAO5J,QAAQnB,UAAR,CAAmBU,CAAnB,CAAX;;EAEA,QAAIqK,KAAKtE,IAAL,KAAcA,IAAlB,EAAwB;EACtB,aAAOsE,KAAKC,QAAZ;EACD;EACF;;EAED,MAAIA,WAAW,MAAMJ,OAArB;EACAzJ,UAAQnB,UAAR,CAAmBa,IAAnB,CAAwB,EAAE4F,UAAF,EAAQuE,kBAAR,EAAxB;EACAJ;;EAEA,SAAOI,QAAP;EACD;;EAED;AACA,EAAO,SAASC,MAAT,CAAgBC,GAAhB,EAAqBC,MAArB,EAA6B;EAClCA,WAAS,MAAMA,OAAOtE,WAAP,EAAN,GAA6B,GAAtC;EACA;EACAqE,QAAMA,IAAIpH,OAAJ,CAAY,gCAAZ,EAA8C,EAA9C,CAAN;EACA;EACE,MAAIsH,KAAK,IAAIC,MAAJ,CAAW,kDAAX,EAA+D,GAA/D,CAAT;EACF;;;;;;;;;EASAH,QAAMA,IAAIpH,OAAJ,CAAYsH,EAAZ,EAAgB,UAACE,EAAD,EAAKC,EAAL,EAASC,EAAT,EAAaC,EAAb,EAAoB;EACxC,QAAI,OAAOD,EAAP,KAAc,WAAlB,EAA+B;EAC7BA,WAAK,EAAL;EACD;;EAED;EACA,QACED,GAAGhE,KAAH,CACE,qEADF,CADF,EAIE;EACA,aAAOgE,KAAKC,EAAL,GAAUC,EAAjB;EACD;;EAED,QAAIC,cAAcH,GAAGzH,OAAH,CAAW,QAAX,EAAqB,EAArB,IAA2BqH,MAA3B,GAAoCK,EAAtD;EACA;;EAEA,WAAOE,cAAcD,EAArB;EACA;EACD,GAnBK,CAAN;;EAqBA,SAAOP,GAAP;EACD;;AAED,EAAO,SAASS,QAAT,CAAkBtE,OAAlB,EAA2BuE,EAA3B,EAA+B;EACpCA,OAAKA,GAAG/E,WAAH,EAAL;EACA,MAAIgF,MAAM/L,SAASgM,cAAT,CAAwBF,EAAxB,CAAV;EACA,MAAIG,OAAOjM,SAASkM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAX;EACA,MAAIH,OAAOA,IAAIzD,UAAJ,KAAmB2D,IAA9B,EAAoC;EAClCA,SAAK1D,WAAL,CAAiBwD,GAAjB;EACD;;EAED,MAAII,kBAAkBnM,SAASqH,aAAT,CAAuB,OAAvB,CAAtB;EACA4E,OAAKG,WAAL,CAAiBD,eAAjB;EACAA,kBAAgBpC,YAAhB,CAA6B,MAA7B,EAAqC,UAArC;EACAoC,kBAAgBpC,YAAhB,CAA6B,IAA7B,EAAmC+B,EAAnC;EACA,MAAIpM,OAAO2M,aAAX,EAA0B;EACxBF,oBAAgBG,UAAhB,CAA2B/E,OAA3B,GAAqCA,OAArC;EACD,GAFD,MAEO;EACL4E,oBAAgBI,WAAhB,GAA8BhF,OAA9B;EACD;EACF;;AAED,EAAO,SAASiF,iBAAT,CAA2BjF,OAA3B,EAAoC;EACzC,MAAI0E,OAAOjM,SAASkM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAX;EACA,MAAIC,kBAAkBnM,SAASqH,aAAT,CAAuB,OAAvB,CAAtB;EACA4E,OAAKG,WAAL,CAAiBD,eAAjB;EACAA,kBAAgBpC,YAAhB,CAA6B,MAA7B,EAAqC,UAArC;;EAEA,MAAIrK,OAAO2M,aAAX,EAA0B;EACxBF,oBAAgBG,UAAhB,CAA2B/E,OAA3B,GAAqCA,OAArC;EACD,GAFD,MAEO;EACL4E,oBAAgBI,WAAhB,GAA8BhF,OAA9B;EACD;EACF;;AAED,EAAO,SAASkF,mBAAT,CAA6BC,IAA7B,EAAmCC,IAAnC,EAAyC;EAC9C,MAAItL,QAAQ1B,WAAZ,EAAyB;EACvBiN,cAAUD,IAAV,EAAgBD,IAAhB;EACD;EACF;;AAED,EAAO,SAASG,cAAT,CAAwBzE,KAAxB,EAA+BuE,IAA/B,EAAqC;EAC1C,MAAItL,QAAQ1B,WAAZ,EAAyB;EACvB,QAAI,CAAC0B,QAAQvB,kBAAR,CAA2B6M,IAA3B,CAAL,EAAuC;EACrCd,eAASV,OAAO/C,KAAP,EAAcuE,IAAd,CAAT,EAA8BA,IAA9B;EACAtL,cAAQvB,kBAAR,CAA2B6M,IAA3B,IAAmC,IAAnC;EACD;EACF,GALD,MAKO,IAAI,CAACtL,QAAQvB,kBAAR,CAA2B6M,IAA3B,CAAL,EAAuC;EAC5CH,sBAAkBpE,KAAlB;EACA/G,YAAQvB,kBAAR,CAA2B6M,IAA3B,IAAmC,IAAnC;EACD;EACF;;AAED,EAAO,SAASC,SAAT,CAAmBD,IAAnB,EAAyBD,IAAzB,EAA+B;EACpC,MAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;EAC5BA,SAAKnM,UAAL,GAAkBmM,KAAKnM,UAAL,IAAmB,EAArC;EACAmM,SAAKnM,UAAL,CAAgBoM,IAAhB,IAAwB,EAAxB;EACAD,SAAKtB,GAAL,GAAWsB,KAAKtB,GAAL,IAAY,EAAvB;EACAsB,SAAKtB,GAAL,CAASuB,IAAT,IAAiB,EAAjB;EACAD,SAAKlM,QAAL,CAAcgF,OAAd,CAAsB;EAAA,aAASoH,UAAUD,IAAV,EAAgBjM,KAAhB,CAAT;EAAA,KAAtB;EACD;EACF;;AAED,EAAO,SAASoM,SAAT,CAAmBJ,IAAnB,EAAyBtB,GAAzB,EAA8B;EACnC,MAAI,OAAOsB,IAAP,KAAgB,QAAhB,IAA4BtB,GAAhC,EAAqC;EACnCsB,SAAKnM,UAAL,GAAkBmM,KAAKnM,UAAL,IAAmB,EAArC;EACA,SAAK,IAAIa,GAAT,IAAgBgK,GAAhB,EAAqB;EACnBsB,WAAKnM,UAAL,CAAgBa,GAAhB,IAAuB,EAAvB;EACD;EACF;EACF;;;ACpHD,EAAO,IAAM2L,SAAS,EAAf;;EAEP;AACA,EAAO,IAAIC,YAAY,CAAhB;;EAEP;EACA,IAAIC,YAAY,KAAhB;;EAEA;EACA,IAAIxG,YAAY,KAAhB;;EAEA;AACA,EAAO,SAASyG,WAAT,GAAuB;EAC5B,MAAIC,UAAJ;EACA,SAAQA,IAAIJ,OAAO/L,GAAP,EAAZ,EAA2B;EACzB,QAAIK,QAAQ+L,UAAZ,EAAwB/L,QAAQ+L,UAAR,CAAmBD,CAAnB;EACxB,QAAIA,EAAEE,SAAN,EAAiBF,EAAEE,SAAF;EACjB,QAAIF,EAAEG,WAAF,CAAclC,GAAd,IAAqB+B,EAAE/B,GAA3B,EAAgC;EAC9ByB,qBAAeM,EAAEG,WAAF,CAAclC,GAAd,GAAoB+B,EAAEG,WAAF,CAAclC,GAAlC,GAAyC,OAAO+B,EAAE/B,GAAT,KAAiB,UAAjB,GAA8B+B,EAAE/B,GAAF,EAA9B,GAAwC+B,EAAE/B,GAAlG,EAAwG,OAAOL,YAAYoC,EAAEG,WAAd,CAA/G;EACD;EACF;EACF;;EAED;;;;;;AAMA,EAAO,SAASC,IAAT,CAAcC,GAAd,EAAmBlM,KAAnB,EAA0BmM,OAA1B,EAAmCC,QAAnC,EAA6CC,MAA7C,EAAqDC,aAArD,EAAoE;EACzE;EACA,MAAI,CAACZ,WAAL,EAAkB;EAChB;EACAC,gBAAYU,UAAU,IAAV,IAAkBA,OAAOE,eAAP,KAA2B5M,SAAzD;;EAEA;EACAwF,gBAAY+G,OAAO,IAAP,IAAe,EAAEzH,YAAYyH,GAAd,CAA3B;EACD;EACD,MAAIM,YAAJ;;EAEA,MAAI3I,QAAQ7D,KAAR,CAAJ,EAAoB;EAClBA,YAAQ;EACNhB,gBAAU,MADJ;EAENE,gBAAUc;EAFJ,KAAR;EAID;;EAEDwM,QAAMC,MAAMP,GAAN,EAAWlM,KAAX,EAAkBmM,OAAlB,EAA2BC,QAA3B,EAAqCE,aAArC,CAAN;EACA;EACA,MAAID,UAAUG,IAAIxF,UAAJ,KAAmBqF,MAAjC,EAAyCA,OAAOvB,WAAP,CAAmB0B,GAAnB;;EAEzC;EACA,MAAI,IAAGd,SAAP,EAAkB;EAChBvG,gBAAY,KAAZ;EACA;EACA,QAAI,CAACmH,aAAL,EAAoBV;EACrB;;EAED,SAAOY,GAAP;EACD;;EAED;EACA,SAASC,KAAT,CAAeP,GAAf,EAAoBlM,KAApB,EAA2BmM,OAA3B,EAAoCC,QAApC,EAA8CE,aAA9C,EAA6D;EAC3D,MAAII,MAAMR,GAAV;EAAA,MACES,cAAchB,SADhB;;EAGA;EACA,MAAI3L,SAAS,IAAT,IAAiB,OAAOA,KAAP,KAAiB,SAAtC,EAAiDA,QAAQ,EAAR;;EAEjD;EACA,MAAI4M,YAAY5M,MAAMhB,QAAtB;EACA,MAAIe,QAAQzB,OAAR,CAAgBsO,SAAhB,CAAJ,EAAgC;EAC9B5M,UAAMhB,QAAN,GAAiBe,QAAQzB,OAAR,CAAgBsO,SAAhB,CAAjB;EACA,WAAOC,wBAAwBX,GAAxB,EAA6BlM,KAA7B,EAAoCmM,OAApC,EAA6CC,QAA7C,CAAP;EACD;EACD,MAAI,OAAOQ,SAAP,IAAoB,UAAxB,EAAoC;EAClC,WAAOC,wBAAwBX,GAAxB,EAA6BlM,KAA7B,EAAoCmM,OAApC,EAA6CC,QAA7C,CAAP;EACD;;EAED;EACA,MAAI,OAAOpM,KAAP,KAAiB,QAAjB,IAA6B,OAAOA,KAAP,KAAiB,QAAlD,EAA4D;EAC1D;EACA,QACEkM,OACAA,IAAI9G,SAAJ,KAAkBzF,SADlB,IAEAuM,IAAIlF,UAFJ,KAGC,CAACkF,IAAIY,UAAL,IAAmBR,aAHpB,CADF,EAKE;EACA;EACA,UAAIJ,IAAIa,SAAJ,IAAiB/M,KAArB,EAA4B;EAC1BkM,YAAIa,SAAJ,GAAgB/M,KAAhB;EACD;EACF,KAVD,MAUO;EACL;EACA0M,YAAMhO,SAASsO,cAAT,CAAwBhN,KAAxB,CAAN;EACA,UAAIkM,GAAJ,EAAS;EACP,YAAIA,IAAIlF,UAAR,EAAoBkF,IAAIlF,UAAJ,CAAeiG,YAAf,CAA4BP,GAA5B,EAAiCR,GAAjC;EACpBgB,0BAAkBhB,GAAlB,EAAuB,IAAvB;EACD;EACF;;EAED;EACA,QAAI;EACFQ,UAAIjI,QAAJ,IAAgB,IAAhB;EACD,KAFD,CAEE,OAAOiE,CAAP,EAAU;;EAEZ,WAAOgE,GAAP;EACD;;EAED;EACAf,cACEiB,cAAc,KAAd,GACI,IADJ,GAEIA,cAAc,eAAd,GACA,KADA,GAEAjB,SALN;;EAOA;EACAiB,cAAYhN,OAAOgN,SAAP,CAAZ;EACA,MAAI,CAACV,GAAD,IAAQ,CAAC3G,YAAY2G,GAAZ,EAAiBU,SAAjB,CAAb,EAA0C;EACxCF,UAAM9G,WAAWgH,SAAX,EAAsBjB,SAAtB,CAAN;;EAEA,QAAIO,GAAJ,EAAS;EACP;EACA,aAAOA,IAAIiB,UAAX;EAAuBT,YAAI5B,WAAJ,CAAgBoB,IAAIiB,UAApB;EAAvB,OAFO;EAKP,UAAIjB,IAAIlF,UAAR,EAAoBkF,IAAIlF,UAAJ,CAAeiG,YAAf,CAA4BP,GAA5B,EAAiCR,GAAjC;;EAEpB;EACAgB,wBAAkBhB,GAAlB,EAAuB,IAAvB;EACD;EACF;;EAED,MAAIkB,KAAKV,IAAIS,UAAb;EAAA,MACEtK,QAAQ6J,IAAIjI,QAAJ,CADV;EAAA,MAEE4I,YAAYrN,MAAMd,QAFpB;;EAIA,MAAI2D,SAAS,IAAb,EAAmB;EACjBA,YAAQ6J,IAAIjI,QAAJ,IAAgB,EAAxB;EACA,SAAK,IAAI2B,IAAIsG,IAAIzN,UAAZ,EAAwBK,IAAI8G,EAAE5G,MAAnC,EAA2CF,GAA3C;EACEuD,YAAMuD,EAAE9G,CAAF,EAAK6H,IAAX,IAAmBf,EAAE9G,CAAF,EAAK0D,KAAxB;EADF;EAED;;EAED;EACA,MACE,CAACmC,SAAD,IACAkI,SADA,IAEAA,UAAU7N,MAAV,KAAqB,CAFrB,IAGA,OAAO6N,UAAU,CAAV,CAAP,KAAwB,QAHxB,IAIAD,MAAM,IAJN,IAKAA,GAAGhI,SAAH,KAAiBzF,SALjB,IAMAyN,GAAGE,WAAH,IAAkB,IAPpB,EAQE;EACA,QAAIF,GAAGL,SAAH,IAAgBM,UAAU,CAAV,CAApB,EAAkC;EAChCD,SAAGL,SAAH,GAAeM,UAAU,CAAV,CAAf;EACD;EACF;EACD;EAbA,OAcK,IAAKA,aAAaA,UAAU7N,MAAxB,IAAmC4N,MAAM,IAA7C,EAAmD;EACtDG,oBACEb,GADF,EAEEW,SAFF,EAGElB,OAHF,EAIEC,QAJF,EAKEjH,aAAatC,MAAM2K,uBAAN,IAAiC,IALhD;EAOD;;EAED;EACAC,iBAAef,GAAf,EAAoB1M,MAAMf,UAA1B,EAAsC4D,KAAtC;;EAEA;EACA8I,cAAYgB,WAAZ;;EAEA,SAAOD,GAAP;EACD;;EAED;;;;;;;EAOA,SAASa,aAAT,CAAuBrB,GAAvB,EAA4BmB,SAA5B,EAAuClB,OAAvC,EAAgDC,QAAhD,EAA0DsB,WAA1D,EAAuE;EACrE,MAAIC,mBAAmBzB,IAAI0B,UAA3B;EAAA,MACE1O,WAAW,EADb;EAAA,MAEE2O,QAAQ,EAFV;EAAA,MAGEC,WAAW,CAHb;EAAA,MAIEC,MAAM,CAJR;EAAA,MAKErE,MAAMiE,iBAAiBnO,MALzB;EAAA,MAMEwO,cAAc,CANhB;EAAA,MAOEC,OAAOZ,YAAYA,UAAU7N,MAAtB,GAA+B,CAPxC;EAAA,MAQE0O,UARF;EAAA,MASErC,UATF;EAAA,MAUEsC,UAVF;EAAA,MAWEC,eAXF;EAAA,MAYEhP,cAZF;;EAcA;EACA,MAAIsK,QAAQ,CAAZ,EAAe;EACb,SAAK,IAAIpK,IAAI,CAAb,EAAgBA,IAAIoK,GAApB,EAAyBpK,GAAzB,EAA8B;EAC5B,UAAIF,SAAQuO,iBAAiBrO,CAAjB,CAAZ;EAAA,UACEuD,QAAQzD,OAAMqF,QAAN,CADV;EAAA,UAEE3E,MACEmO,QAAQpL,KAAR,GACIzD,OAAM0N,UAAN,GACE1N,OAAM0N,UAAN,CAAiBuB,KADnB,GAEExL,MAAM/C,GAHZ,GAII,IAPR;EAQA,UAAIA,OAAO,IAAX,EAAiB;EACfgO;EACAD,cAAM/N,GAAN,IAAaV,MAAb;EACD,OAHD,MAGO,IACLyD,UACCzD,OAAMgG,SAAN,KAAoBzF,SAApB,GACG+N,cACEtO,OAAM2N,SAAN,CAAgBtK,IAAhB,EADF,GAEE,IAHL,GAIGiL,WALJ,CADK,EAOL;EACAxO,iBAAS8O,aAAT,IAA0B5O,MAA1B;EACD;EACF;EACF;;EAED,MAAI6O,SAAS,CAAb,EAAgB;EACd,SAAK,IAAI3O,KAAI,CAAb,EAAgBA,KAAI2O,IAApB,EAA0B3O,IAA1B,EAA+B;EAC7B8O,eAASf,UAAU/N,EAAV,CAAT;EACAF,cAAQ,IAAR;;EAEA;EACA,UAAIU,OAAMsO,OAAOtO,GAAjB;EACA,UAAIA,QAAO,IAAX,EAAiB;EACf,YAAIgO,YAAYD,MAAM/N,IAAN,MAAeH,SAA/B,EAA0C;EACxCP,kBAAQyO,MAAM/N,IAAN,CAAR;EACA+N,gBAAM/N,IAAN,IAAaH,SAAb;EACAmO;EACD;EACF;EACD;EAPA,WAQK,IAAI,CAAC1O,KAAD,IAAU2O,MAAMC,WAApB,EAAiC;EACpC,eAAKE,IAAIH,GAAT,EAAcG,IAAIF,WAAlB,EAA+BE,GAA/B,EAAoC;EAClC,gBACEhP,SAASgP,CAAT,MAAgBvO,SAAhB,IACAsF,eAAgB4G,IAAI3M,SAASgP,CAAT,CAApB,EAAkCE,MAAlC,EAA0CV,WAA1C,CAFF,EAGE;EACAtO,sBAAQyM,CAAR;EACA3M,uBAASgP,CAAT,IAAcvO,SAAd;EACA,kBAAIuO,MAAMF,cAAc,CAAxB,EAA2BA;EAC3B,kBAAIE,MAAMH,GAAV,EAAeA;EACf;EACD;EACF;EACF;;EAED;EACA3O,cAAQqN,MAAMrN,KAAN,EAAagP,MAAb,EAAqBjC,OAArB,EAA8BC,QAA9B,CAAR;;EAEA+B,UAAIR,iBAAiBrO,EAAjB,CAAJ;EACA,UAAIF,SAASA,UAAU8M,GAAnB,IAA0B9M,UAAU+O,CAAxC,EAA2C;EACzC,YAAIA,KAAK,IAAT,EAAe;EACbjC,cAAIpB,WAAJ,CAAgB1L,KAAhB;EACD,SAFD,MAEO,IAAIA,UAAU+O,EAAEb,WAAhB,EAA6B;EAClCvG,qBAAWoH,CAAX;EACD,SAFM,MAEA;EACLjC,cAAIoC,YAAJ,CAAiBlP,KAAjB,EAAwB+O,CAAxB;EACD;EACF;EACF;EACF;;EAED;EACA,MAAIL,QAAJ,EAAc;EACZ,SAAK,IAAIxO,GAAT,IAAcuO,KAAd;EACE,UAAIA,MAAMvO,GAAN,MAAaK,SAAjB,EAA4BuN,kBAAkBW,MAAMvO,GAAN,CAAlB,EAA4B,KAA5B;EAD9B;EAED;;EAED;EACA,SAAOyO,OAAOC,WAAd,EAA2B;EACzB,QAAI,CAAC5O,QAAQF,SAAS8O,aAAT,CAAT,MAAsCrO,SAA1C,EACEuN,kBAAkB9N,KAAlB,EAAyB,KAAzB;EACH;EACF;;EAED;;;;AAIA,EAAO,SAAS8N,iBAAT,CAA2BhI,IAA3B,EAAiCqJ,WAAjC,EAA8C;EACnD,MAAI1J,YAAYK,KAAK4H,UAArB;EACA,MAAIjI,SAAJ,EAAe;EACb;EACA2J,qBAAiB3J,SAAjB;EACD,GAHD,MAGO;EACL;EACA;EACA,QAAIK,KAAKT,QAAL,KAAkB,IAAtB,EAA4B3B,SAASoC,KAAKT,QAAL,EAAe1B,GAAxB,EAA6B,IAA7B;;EAE5B,QAAIwL,gBAAgB,KAAhB,IAAyBrJ,KAAKT,QAAL,KAAkB,IAA/C,EAAqD;EACnDsC,iBAAW7B,IAAX;EACD;;EAEDuJ,mBAAevJ,IAAf;EACD;EACF;;EAED;;;;AAIA,EAAO,SAASuJ,cAAT,CAAwBvJ,IAAxB,EAA8B;EACnCA,SAAOA,KAAKwJ,SAAZ;EACA,SAAOxJ,IAAP,EAAa;EACX,QAAIyJ,OAAOzJ,KAAK0J,eAAhB;EACA1B,sBAAkBhI,IAAlB,EAAwB,IAAxB;EACAA,WAAOyJ,IAAP;EACD;EACF;;EAED;;;;;EAKA,SAASlB,cAAT,CAAwBvB,GAAxB,EAA6B2C,KAA7B,EAAoCzH,GAApC,EAAyC;EACvC,MAAID,aAAJ;;EAEA;EACA,OAAKA,IAAL,IAAaC,GAAb,EAAkB;EAChB,QAAI,EAAEyH,SAASA,MAAM1H,IAAN,KAAe,IAA1B,KAAmCC,IAAID,IAAJ,KAAa,IAApD,EAA0D;EACxDD,kBAAYgF,GAAZ,EAAiB/E,IAAjB,EAAuBC,IAAID,IAAJ,CAAvB,EAAmCC,IAAID,IAAJ,IAAYxH,SAA/C,EAA2DgM,SAA3D;EACD;EACF;;EAED;EACA,OAAKxE,IAAL,IAAa0H,KAAb,EAAoB;EAClB,QACE1H,SAAS,UAAT,IACAA,SAAS,WADT,KAEC,EAAEA,QAAQC,GAAV,KACCyH,MAAM1H,IAAN,OACGA,SAAS,OAAT,IAAoBA,SAAS,SAA7B,GAAyC+E,IAAI/E,IAAJ,CAAzC,GAAqDC,IAAID,IAAJ,CADxD,CAHF,CADF,EAME;EACAD,kBAAYgF,GAAZ,EAAiB/E,IAAjB,EAAuBC,IAAID,IAAJ,CAAvB,EAAmCC,IAAID,IAAJ,IAAY0H,MAAM1H,IAAN,CAA/C,EAA6DwE,SAA7D;EACD;EACF;EACF;;;;;;ECjWD,IAAMmD,aAAa,EAAnB;;EAEA;AACA,EAAO,SAASC,gBAAT,CAA0BlK,SAA1B,EAAqC;EAC1C,MAAIsC,OAAOtC,UAAUmH,WAAV,CAAsB7E,IAAjC,CACC,CAAC2H,WAAW3H,IAAX,MAAqB2H,WAAW3H,IAAX,IAAmB,EAAxC,CAAD,EAA8C1H,IAA9C,CAAmDoF,SAAnD;EACF;;EAED;AACA,EAAO,SAASmK,eAAT,CAAyBC,IAAzB,EAA+BpM,KAA/B,EAAsCsJ,OAAtC,EAA+CnM,KAA/C,EAAsD;EAC3D,MAAIkP,OAAOJ,WAAWG,KAAK9H,IAAhB,CAAX;EAAA,MACEgI,aADF;;EAGA,MAAIF,KAAK7O,SAAL,IAAkB6O,KAAK7O,SAAL,CAAegP,MAArC,EAA6C;EAC3CD,WAAO,IAAIF,IAAJ,CAASpM,KAAT,EAAgBsJ,OAAhB,CAAP;EACAkD,cAAUpO,IAAV,CAAekO,IAAf,EAAqBtM,KAArB,EAA4BsJ,OAA5B;EACD,GAHD,MAGO;EACLgD,WAAO,IAAIE,SAAJ,CAAcxM,KAAd,EAAqBsJ,OAArB,CAAP;EACAgD,SAAKnD,WAAL,GAAmBiD,IAAnB;EACAE,SAAKC,MAAL,GAAcE,QAAd;EACD;EACDtP,YAAUmP,KAAKI,aAAL,GAAqBvP,MAAM8J,GAArC;;EAEA,MAAIoF,IAAJ,EAAU;EACR,SAAK,IAAI5P,IAAI4P,KAAK1P,MAAlB,EAA0BF,GAA1B,GAAiC;EAC/B,UAAI4P,KAAK5P,CAAL,EAAQ0M,WAAR,KAAwBiD,IAA5B,EAAkC;EAChCE,aAAKK,QAAL,GAAgBN,KAAK5P,CAAL,EAAQkQ,QAAxB;EACAN,aAAKhN,MAAL,CAAY5C,CAAZ,EAAe,CAAf;EACA;EACD;EACF;EACF;EACD,SAAO6P,IAAP;EACD;;EAED;EACA,SAASG,QAAT,CAAkBzM,KAAlB,EAAyB4M,IAAzB,EAA+BtD,OAA/B,EAAwC;EACtC,SAAO,KAAKH,WAAL,CAAiBnJ,KAAjB,EAAwBsJ,OAAxB,CAAP;EACD;;EC5CD;;;;;;EAMA,IAAIuD,OAAO,SAAPA,IAAO,CAAS/O,MAAT,EAAiBgP,GAAjB,EAAsBC,QAAtB,EAAgC;EACzC,MAAIC,WAAW,SAAXA,QAAW,CAASlP,MAAT,EAAiBgP,GAAjB,EAAsBC,QAAtB,EAAgC;EAC7C,QAAI,CAACjP,OAAOmP,SAAZ,EAAuBnP,OAAOmP,SAAP,GAAmB,IAAnB;EACvB,QAAIA,YAAYnP,OAAOmP,SAAvB;EACA,QAAIC,eAAe,EAAnB;EACA,QAAIL,KAAK7L,OAAL,CAAalD,MAAb,CAAJ,EAA0B;EACxB,UAAIA,OAAOnB,MAAP,KAAkB,CAAtB,EAAyB;EACvBmB,eAAOqP,aAAP,GAAuB,EAAvB;EACArP,eAAOqP,aAAP,CAAqBC,aAArB,GAAqC,GAArC;EACD;EACDH,gBAAUI,IAAV,CAAevP,MAAf;EACD;EACD,SAAK,IAAIwP,IAAT,IAAiBxP,MAAjB,EAAyB;EACvB,UAAIA,OAAOR,cAAP,CAAsBgQ,IAAtB,CAAJ,EAAiC;EAC/B,YAAIP,QAAJ,EAAc;EACZ,cAAIF,KAAK7L,OAAL,CAAa8L,GAAb,KAAqBD,KAAKU,SAAL,CAAeT,GAAf,EAAoBQ,IAApB,CAAzB,EAAoD;EAClDJ,yBAAatQ,IAAb,CAAkB0Q,IAAlB;EACAL,sBAAUO,KAAV,CAAgB1P,MAAhB,EAAwBwP,IAAxB;EACD,WAHD,MAGO,IAAIT,KAAKY,QAAL,CAAcX,GAAd,KAAsBQ,QAAQR,GAAlC,EAAuC;EAC5CI,yBAAatQ,IAAb,CAAkB0Q,IAAlB;EACAL,sBAAUO,KAAV,CAAgB1P,MAAhB,EAAwBwP,IAAxB;EACD;EACF,SARD,MAQO;EACLJ,uBAAatQ,IAAb,CAAkB0Q,IAAlB;EACAL,oBAAUO,KAAV,CAAgB1P,MAAhB,EAAwBwP,IAAxB;EACD;EACF;EACF;EACDL,cAAUnP,MAAV,GAAmBA,MAAnB;EACA,QAAI,CAACmP,UAAUS,sBAAf,EAAuCT,UAAUS,sBAAV,GAAmC,EAAnC;EACvC,QAAIC,cAAcZ,WAAWA,QAAX,GAAsBD,GAAxC;EACAG,cAAUS,sBAAV,CAAiC9Q,IAAjC,CAAsC;EACpCgR,WAAK,CAACb,QAD8B;EAEpCY,mBAAaA,WAFuB;EAGpCT,oBAAcA;EAHsB,KAAtC;EAKD,GAnCD;EAoCAF,WAASzP,SAAT,GAAqB;EACnBsQ,uBAAmB,2BAASP,IAAT,EAAenN,KAAf,EAAsB2N,QAAtB,EAAgChQ,MAAhC,EAAwCiQ,IAAxC,EAA8C;EAC/D,UAAI5N,UAAU2N,QAAV,IAAsB,KAAKJ,sBAA/B,EAAuD;EACrD,YAAIM,WAAWnB,KAAKoB,YAAL,CAAkBX,IAAlB,EAAwBS,IAAxB,CAAf;EACA,aACE,IAAItR,IAAI,CAAR,EAAWoK,MAAM,KAAK6G,sBAAL,CAA4B/Q,MAD/C,EAEEF,IAAIoK,GAFN,EAGEpK,GAHF,EAIE;EACA,cAAIyR,UAAU,KAAKR,sBAAL,CAA4BjR,CAA5B,CAAd;EACA,cACEyR,QAAQN,GAAR,IACAf,KAAKU,SAAL,CAAeW,QAAQhB,YAAvB,EAAqCc,QAArC,CADA,IAEAA,SAASG,OAAT,CAAiB,QAAjB,MAA+B,CAHjC,EAIE;EACAD,oBAAQP,WAAR,CAAoBvP,IAApB,CAAyB,KAAKN,MAA9B,EAAsCwP,IAAtC,EAA4CnN,KAA5C,EAAmD2N,QAAnD,EAA6DC,IAA7D;EACD;EACF;EACF;EACD,UAAIT,KAAKa,OAAL,CAAa,QAAb,MAA2B,CAA3B,IAAgC,OAAOhO,KAAP,KAAiB,QAArD,EAA+D;EAC7D,aAAKqN,KAAL,CAAW1P,MAAX,EAAmBwP,IAAnB,EAAyBxP,OAAOqP,aAAP,CAAqBC,aAA9C;EACD;EACF,KAtBkB;EAuBnBC,UAAM,cAASvP,MAAT,EAAiB;EACrB,UAAIxC,OAAO,IAAX;EACAuR,WAAKuB,OAAL,CAAa/M,OAAb,CAAqB,UAASyF,IAAT,EAAe;EAClChJ,eAAOgJ,IAAP,IAAe,YAAW;EACxB,cAAIvC,MAAMlJ,MAAMkC,SAAN,CAAgBgE,KAAhB,CAAsBnD,IAAtB,CAA2B,IAA3B,EAAiC,CAAjC,CAAV;EACA,cAAI+C,SAAS9F,MAAMkC,SAAN,CAAgBuJ,IAAhB,EAAsBuH,KAAtB,CACX,IADW,EAEXhT,MAAMkC,SAAN,CAAgBgE,KAAhB,CAAsBnD,IAAtB,CAA2B1B,SAA3B,CAFW,CAAb;EAIA,cAAI,IAAI0K,MAAJ,CAAW,QAAQN,IAAR,GAAe,KAA1B,EAAiCrC,IAAjC,CAAsCoI,KAAKyB,UAA3C,CAAJ,EAA4D;EAC1D,iBAAK,IAAIC,KAAT,IAAkB,IAAlB,EAAwB;EACtB,kBAAI,KAAKjR,cAAL,CAAoBiR,KAApB,KAA8B,CAAC1B,KAAK2B,UAAL,CAAgB,KAAKD,KAAL,CAAhB,CAAnC,EAAiE;EAC/DjT,qBAAKkS,KAAL,CAAW,IAAX,EAAiBe,KAAjB,EAAwB,KAAKpB,aAAL,CAAmBC,aAA3C;EACD;EACF;EACD;EACA9R,iBAAKuS,iBAAL,CACE,WAAW/G,IADb,EAEE,IAFF,EAGEvC,GAHF,EAIE,IAJF,EAKE,KAAK4I,aAAL,CAAmBC,aALrB;EAOD;EACD,iBAAOjM,MAAP;EACD,SAtBD;EAuBArD,eACE,SAASgJ,KAAK5B,SAAL,CAAe,CAAf,EAAkB,CAAlB,EAAqBvB,WAArB,EAAT,GAA8CmD,KAAK5B,SAAL,CAAe,CAAf,CADhD,IAEI,YAAW;EACb,iBAAO7J,MAAMkC,SAAN,CAAgBuJ,IAAhB,EAAsBuH,KAAtB,CACL,IADK,EAELhT,MAAMkC,SAAN,CAAgBgE,KAAhB,CAAsBnD,IAAtB,CAA2B1B,SAA3B,CAFK,CAAP;EAID,SAPD;EAQD,OAhCD;EAiCD,KA1DkB;EA2DnB8Q,WAAO,eAAS1P,MAAT,EAAiBwP,IAAjB,EAAuBS,IAAvB,EAA6B;EAClC,UAAIT,SAAS,eAAT,IAA4BA,SAAS,WAAzC,EAAsD;EACtD,UAAIT,KAAK2B,UAAL,CAAgB1Q,OAAOwP,IAAP,CAAhB,CAAJ,EAAmC;EACnC,UAAI,CAACxP,OAAOqP,aAAZ,EAA2BrP,OAAOqP,aAAP,GAAuB,EAAvB;EAC3B,UAAIY,SAASjR,SAAb,EAAwB;EACtBgB,eAAOqP,aAAP,CAAqBC,aAArB,GAAqCW,IAArC;EACD,OAFD,MAEO;EACLjQ,eAAOqP,aAAP,CAAqBC,aAArB,GAAqC,GAArC;EACD;EACD,UAAI9R,OAAO,IAAX;EACA,UAAImT,eAAgB3Q,OAAOqP,aAAP,CAAqBG,IAArB,IAA6BxP,OAAOwP,IAAP,CAAjD;EACAjQ,aAAOqR,cAAP,CAAsB5Q,MAAtB,EAA8BwP,IAA9B,EAAoC;EAClCqB,aAAK,eAAW;EACd,iBAAO,KAAKxB,aAAL,CAAmBG,IAAnB,CAAP;EACD,SAHiC;EAIlCsB,aAAK,aAASzO,KAAT,EAAgB;EACnB,cAAIoE,MAAM,KAAK4I,aAAL,CAAmBG,IAAnB,CAAV;EACA,eAAKH,aAAL,CAAmBG,IAAnB,IAA2BnN,KAA3B;EACA7E,eAAKuS,iBAAL,CACEP,IADF,EAEEnN,KAFF,EAGEoE,GAHF,EAIE,IAJF,EAKEzG,OAAOqP,aAAP,CAAqBC,aALvB;EAOD;EAdiC,OAApC;EAgBA,UAAI,OAAOqB,YAAP,IAAuB,QAA3B,EAAqC;EACnC,YAAI5B,KAAK7L,OAAL,CAAayN,YAAb,CAAJ,EAAgC;EAC9B,eAAKpB,IAAL,CAAUoB,YAAV;EACA,cAAIA,aAAa9R,MAAb,KAAwB,CAA5B,EAA+B;EAC7B,gBAAI,CAAC8R,aAAatB,aAAlB,EAAiCsB,aAAatB,aAAb,GAA6B,EAA7B;EACjC,gBAAIY,SAASjR,SAAb,EAAwB;EACtB2R,2BAAatB,aAAb,CAA2BC,aAA3B,GAA2CW,IAA3C;EACD,aAFD,MAEO;EACLU,2BAAatB,aAAb,CAA2BC,aAA3B,GAA2C,GAA3C;EACD;EACF;EACF;EACD,aAAK,IAAImB,KAAT,IAAkBE,YAAlB,EAAgC;EAC9B,cAAIA,aAAanR,cAAb,CAA4BiR,KAA5B,CAAJ,EAAwC;EACtC,iBAAKf,KAAL,CACEiB,YADF,EAEEF,KAFF,EAGEzQ,OAAOqP,aAAP,CAAqBC,aAArB,GAAqC,GAArC,GAA2CE,IAH7C;EAKD;EACF;EACF;EACF;EA5GkB,GAArB;EA8GA,SAAO,IAAIN,QAAJ,CAAalP,MAAb,EAAqBgP,GAArB,EAA0BC,QAA1B,CAAP;EACD,CApJD;;EAsJAF,KAAKuB,OAAL,GAAe,CACb,QADa,EAEb,YAFa,EAGb,SAHa,EAIb,OAJa,EAKb,MALa,EAMb,QANa,EAOb,MAPa,EAQb,WARa,EASb,SATa,EAUb,UAVa,EAWb,SAXa,EAYb,MAZa,EAab,MAba,EAcb,aAda,EAeb,KAfa,EAgBb,KAhBa,EAiBb,MAjBa,EAkBb,QAlBa,EAmBb,aAnBa,EAoBb,SApBa,EAqBb,OArBa,EAsBb,OAtBa,EAuBb,MAvBa,EAwBb,MAxBa,EAyBb,QAzBa,EA0Bb,gBA1Ba,EA2Bb,UA3Ba,EA4Bb,SA5Ba,EA6Bb,QA7Ba,EA8Bb,MA9Ba,CAAf;EAgCAvB,KAAKyB,UAAL,GAAkB,CAChB,QADgB,EAEhB,YAFgB,EAGhB,MAHgB,EAIhB,KAJgB,EAKhB,MALgB,EAMhB,SANgB,EAOhB,OAPgB,EAQhB,MARgB,EAShB,QATgB,EAUhB,SAVgB,EAWhB,MAXgB,EAYhBO,IAZgB,CAYX,GAZW,CAAlB;;EAcAhC,KAAK7L,OAAL,GAAe,UAASjB,GAAT,EAAc;EAC3B,SAAO1C,OAAOE,SAAP,CAAiB0D,QAAjB,CAA0B7C,IAA1B,CAA+B2B,GAA/B,MAAwC,gBAA/C;EACD,CAFD;;EAIA8M,KAAKY,QAAL,GAAgB,UAAS1N,GAAT,EAAc;EAC5B,SAAO,OAAOA,GAAP,KAAe,QAAtB;EACD,CAFD;;EAIA8M,KAAKU,SAAL,GAAiB,UAAST,GAAT,EAAchG,IAAd,EAAoB;EACnC,OAAK,IAAIrK,IAAIqQ,IAAInQ,MAAjB,EAAyB,EAAEF,CAAF,GAAM,CAAC,CAAhC,GAAqC;EACnC,QAAIqK,SAASgG,IAAIrQ,CAAJ,CAAb,EAAqB,OAAO,IAAP;EACtB;EACD,SAAO,KAAP;EACD,CALD;;EAOAoQ,KAAK2B,UAAL,GAAkB,UAASzO,GAAT,EAAc;EAC9B,SAAO1C,OAAOE,SAAP,CAAiB0D,QAAjB,CAA0B7C,IAA1B,CAA+B2B,GAA/B,KAAuC,mBAA9C;EACD,CAFD;;EAIA8M,KAAKoB,YAAL,GAAoB,UAASX,IAAT,EAAeS,IAAf,EAAqB;EACvC,MAAIA,SAAS,GAAb,EAAkB;EAChB,WAAOT,IAAP;EACD;EACD,SAAOS,KAAKrN,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAP;EACD,CALD;;EAOAmM,KAAKiC,GAAL,GAAW,UAAS/O,GAAT,EAAcuN,IAAd,EAAoB;EAC7B,MAAIL,YAAYlN,IAAIkN,SAApB;EACAA,YAAUO,KAAV,CAAgBzN,GAAhB,EAAqBuN,IAArB;EACD,CAHD;;EAKAT,KAAK+B,GAAL,GAAW,UAAS7O,GAAT,EAAcuN,IAAd,EAAoBnN,KAApB,EAA2B4O,IAA3B,EAAiC;EAC1C,MAAI,CAACA,IAAL,EAAW;EACThP,QAAIuN,IAAJ,IAAYnN,KAAZ;EACD;EACD,MAAI8M,YAAYlN,IAAIkN,SAApB;EACAA,YAAUO,KAAV,CAAgBzN,GAAhB,EAAqBuN,IAArB;EACA,MAAIyB,IAAJ,EAAU;EACRhP,QAAIuN,IAAJ,IAAYnN,KAAZ;EACD;EACF,CATD;;EAWA9E,MAAMkC,SAAN,CAAgByR,IAAhB,GAAuB,UAASrS,MAAT,EAAiB;EACtC,OAAKA,MAAL,GAAcA,MAAd;EACD,CAFD;;ECpPA,IAAMsS,YAAY,EAAlB;EACA,IAAMC,mBAAmB,EAAzB;;AAMA,EAAO,SAASC,QAAT,GAAoB;EACzBF,YAAU5N,OAAV,CAAkB,gBAAQ;EACxByF,SAAKsI,EAAL,CAAQhR,IAAR,CAAa0I,KAAKuI,KAAlB;EACD,GAFD;;EAIAH,mBAAiB7N,OAAjB,CAAyB,oBAAY;EACnCiO,aAASF,EAAT,CAAYhR,IAAZ,CAAiBkR,SAASD,KAA1B;EACD,GAFD;EAGAH,mBAAiBvS,MAAjB,GAA0B,CAA1B;EACD;;ECbM,SAAS4S,WAAT,CAAqB3H,GAArB,EAA0B;EAC/B,MAAI4H,UAAU,IAAd;EACA3C,OAAKjF,IAAIgF,IAAT,EAAe,YAAM;EACnB,QAAIhF,IAAI6H,WAAR,EAAqB;EACnB;EACD;EACD,QAAI7H,IAAIuB,WAAJ,CAAgBuG,WAApB,EAAiC;EAC/BC,mBAAaH,OAAb;;EAEAA,gBAAUzO,WAAW,YAAM;EACzB6G,YAAIgI,MAAJ;EACAT;EACD,OAHS,EAGP,CAHO,CAAV;EAID,KAPD,MAOO;EACLvH,UAAIgI,MAAJ;EACAT;EACD;EACF,GAfD;EAgBD;;;;;;;;ACaD,EAAO,SAASU,iBAAT,CAA2B7N,SAA3B,EAAsChC,KAAtC,EAA6C8P,IAA7C,EAAmDxG,OAAnD,EAA4DC,QAA5D,EAAsE;EAC3E,MAAIvH,UAAU+N,QAAd,EAAwB;EACxB/N,YAAU+N,QAAV,GAAqB,IAArB;;EAEA,MAAK/N,UAAUgO,KAAV,GAAkBhQ,MAAME,GAA7B,EAAmC,OAAOF,MAAME,GAAb;EACnC,MAAK8B,UAAUwJ,KAAV,GAAkBxL,MAAM/C,GAA7B,EAAmC,OAAO+C,MAAM/C,GAAb;;EAEnC,MAAI,CAAC+E,UAAUiO,IAAX,IAAmB1G,QAAvB,EAAiC;EAC/B,QAAIvH,UAAUkO,aAAd,EAA6BlO,UAAUkO,aAAV;EAC7B,QAAIlO,UAAUmO,OAAd,EAAuBnO,UAAUmO,OAAV;EACvB,QAAInO,UAAUmH,WAAV,CAAsBiH,OAA1B,EAAmC;EACjCb,kBAAYvN,SAAZ;EACD;EACF,GAND,MAMO,IAAIA,UAAUqO,YAAd,EAA4B;EACjCrO,cAAUqO,YAAV,CAAuBrQ,KAAvB,EAA8BgC,UAAU4K,IAAxC,EAA8C5K,UAAUhC,KAAxD;EACD;;EAED,MAAIsJ,WAAWA,YAAYtH,UAAUsH,OAArC,EAA8C;EAC5C,QAAI,CAACtH,UAAUsO,WAAf,EAA4BtO,UAAUsO,WAAV,GAAwBtO,UAAUsH,OAAlC;EAC5BtH,cAAUsH,OAAV,GAAoBA,OAApB;EACD;;EAED,MAAI,CAACtH,UAAUuO,SAAf,EAA0BvO,UAAUuO,SAAV,GAAsBvO,UAAUhC,KAAhC;EAC1BgC,YAAUhC,KAAV,GAAkBA,KAAlB;;EAEAgC,YAAU+N,QAAV,GAAqB,KAArB;;EAEA,MAAID,SAAStO,SAAb,EAAwB;EACtB,QACEsO,SAASrO,WAAT,IACAvE,QAAQsT,oBAAR,KAAiC,KADjC,IAEA,CAACxO,UAAUiO,IAHb,EAIE;EACA9N,sBAAgBH,SAAhB,EAA2BP,WAA3B,EAAwC8H,QAAxC;EACD,KAND,MAMO;EACLxH,oBAAcC,SAAd;EACD;EACF;;EAED/B,WAAS+B,UAAUgO,KAAnB,EAA0BhO,SAA1B;EACD;;EAED,SAASyO,iBAAT,CAA2BlM,GAA3B,EAAgCyH,KAAhC,EAAuC;EACrC,MAAI1H,aAAJ;;EAEA,OAAKA,IAAL,IAAaC,GAAb,EAAkB;EAChB,QAAIyH,MAAM1H,IAAN,KAAe,IAAf,IAAuBC,IAAID,IAAJ,KAAa,IAAxC,EAA8C;EAC5C,aAAO,IAAP;EACD;EACF;;EAED,MAAIC,IAAIlI,QAAJ,CAAaM,MAAb,GAAsB,CAAtB,IAA2BqP,MAAM3P,QAAN,CAAeM,MAAf,GAAwB,CAAvD,EAA0D;EACxD,WAAO,IAAP;EACD;;EAED,OAAK2H,IAAL,IAAa0H,KAAb,EAAoB;EAClB,QAAI1H,QAAQ,UAAZ,EAAwB;EACtB,UAAIxF,OAAO,OAAOkN,MAAM1H,IAAN,CAAlB;EACA,UAAIxF,QAAQ,UAAR,IAAsBA,QAAQ,QAAlC,EAA4C;EAC1C,eAAO,IAAP;EACD,OAFD,MAEO,IAAIkN,MAAM1H,IAAN,KAAeC,IAAID,IAAJ,CAAnB,EAA8B;EACnC,eAAO,IAAP;EACD;EACF;EACF;EACF;;EAED;;;;;;AAMA,EAAO,SAASnC,eAAT,CAAyBH,SAAzB,EAAoC8N,IAApC,EAA0CvG,QAA1C,EAAoDmH,OAApD,EAA6D;EAClE,MAAI1O,UAAU+N,QAAd,EAAwB;;EAExB,MAAI/P,QAAQgC,UAAUhC,KAAtB;EAAA,MACE4M,OAAO5K,UAAU4K,IADnB;EAAA,MAEEtD,UAAUtH,UAAUsH,OAFtB;EAAA,MAGEqH,gBAAgB3O,UAAUuO,SAAV,IAAuBvQ,KAHzC;EAAA,MAIE4Q,gBAAgB5O,UAAU6O,SAAV,IAAuBjE,IAJzC;EAAA,MAKEkE,kBAAkB9O,UAAUsO,WAAV,IAAyBhH,OAL7C;EAAA,MAMEyH,WAAW/O,UAAUiO,IANvB;EAAA,MAOEtD,WAAW3K,UAAU2K,QAPvB;EAAA,MAQEqE,cAAcD,YAAYpE,QAR5B;EAAA,MASEsE,wBAAwBjP,UAAUiI,UATpC;EAAA,MAUEiH,OAAO,KAVT;EAAA,MAWEC,iBAXF;EAAA,MAYE7E,aAZF;EAAA,MAaE8E,cAbF;;EAeA;EACA,MAAIL,QAAJ,EAAc;EACZ/O,cAAUhC,KAAV,GAAkB2Q,aAAlB;EACA3O,cAAU4K,IAAV,GAAiBgE,aAAjB;EACA5O,cAAUsH,OAAV,GAAoBwH,eAApB;EACA,QAAI9O,UAAUqP,KAAV,IAAmBvB,QAAQpO,YAA3B,IAA2C+O,kBAAkBE,aAAlB,EAAiC3Q,KAAjC,CAA/C,EAAwF;EACtFkR,aAAO,KAAP;EACA,UAAIlP,UAAUsP,YAAd,EAA4B;EAC1BtP,kBAAUsP,YAAV,CAAuBtR,KAAvB,EAA8B4M,IAA9B,EAAoCtD,OAApC;EACD;EACF,KALD,MAKO;EACL4H,aAAO,IAAP;EACD;EACDlP,cAAUhC,KAAV,GAAkBA,KAAlB;EACAgC,cAAU4K,IAAV,GAAiBA,IAAjB;EACA5K,cAAUsH,OAAV,GAAoBA,OAApB;EACD;;EAEDtH,YAAUuO,SAAV,GAAsBvO,UAAU6O,SAAV,GAAsB7O,UAAUsO,WAAV,GAAwBtO,UAAU2K,QAAV,GAAqB,IAAzF;;EAEA,MAAI,CAACuE,IAAL,EAAW;EACTlP,cAAUuP,YAAV,IAA0BvP,UAAUuP,YAAV,EAA1B;EACAJ,eAAWnP,UAAUuK,MAAV,CAAiBvM,KAAjB,EAAwB4M,IAAxB,EAA8BtD,OAA9B,CAAX;;EAEA;EACA,QAAItH,UAAUmH,WAAV,CAAsBlC,GAAtB,IAA6BjF,UAAUiF,GAA3C,EAAgD;EAC9CqB,0BACE6I,QADF,EAEE,OAAOvK,YAAY5E,UAAUmH,WAAtB,CAFT;EAID;;EAEDR,cAAUwI,QAAV,EAAoBnP,UAAU0K,aAA9B;;EAEA;EACA,QAAI1K,UAAUwP,eAAd,EAA+B;EAC7BlI,gBAAUxJ,OAAOA,OAAO,EAAP,EAAWwJ,OAAX,CAAP,EAA4BtH,UAAUwP,eAAV,EAA5B,CAAV;EACD;;EAED,QAAIC,iBAAiBN,YAAYA,SAAShV,QAA1C;EAAA,QACEuV,kBADF;EAAA,QAEEzB,aAFF;EAAA,QAGEzN,OAAOtF,QAAQzB,OAAR,CAAgBgW,cAAhB,CAHT;;EAKA,QAAIjP,IAAJ,EAAU;EACR;;EAEA,UAAImP,aAAa9O,aAAasO,QAAb,CAAjB;EACA7E,aAAO2E,qBAAP;;EAEA,UAAI3E,QAAQA,KAAKnD,WAAL,KAAqB3G,IAA7B,IAAqCmP,WAAW1U,GAAX,IAAkBqP,KAAKd,KAAhE,EAAuE;EACrEqE,0BAAkBvD,IAAlB,EAAwBqF,UAAxB,EAAoClQ,WAApC,EAAiD6H,OAAjD,EAA0D,KAA1D;EACD,OAFD,MAEO;EACLoI,oBAAYpF,IAAZ;;EAEAtK,kBAAUiI,UAAV,GAAuBqC,OAAOH,gBAAgB3J,IAAhB,EAAsBmP,UAAtB,EAAkCrI,OAAlC,CAA9B;EACAgD,aAAKK,QAAL,GAAgBL,KAAKK,QAAL,IAAiBA,QAAjC;EACAL,aAAKsF,gBAAL,GAAwB5P,SAAxB;EACA6N,0BAAkBvD,IAAlB,EAAwBqF,UAAxB,EAAoCnQ,SAApC,EAA+C8H,OAA/C,EAAwD,KAAxD;EACAnH,wBAAgBmK,IAAhB,EAAsB7K,WAAtB,EAAmC8H,QAAnC,EAA6C,IAA7C;EACD;;EAED0G,aAAO3D,KAAK2D,IAAZ;EACD,KAnBD,MAmBO;EACLmB,cAAQJ,WAAR;;EAEA;EACAU,kBAAYT,qBAAZ;EACA,UAAIS,SAAJ,EAAe;EACbN,gBAAQpP,UAAUiI,UAAV,GAAuB,IAA/B;EACD;;EAED,UAAI+G,eAAelB,SAASrO,WAA5B,EAAyC;EACvC,YAAI2P,KAAJ,EAAWA,MAAMnH,UAAN,GAAmB,IAAnB;EACXgG,eAAO7G,KACLgI,KADK,EAELD,QAFK,EAGL7H,OAHK,EAILC,YAAY,CAACwH,QAJR,EAKLC,eAAeA,YAAY7M,UALtB,EAML,IANK,CAAP;EAQD;EACF;;EAED,QAAI6M,eAAef,SAASe,WAAxB,IAAuC1E,SAAS2E,qBAApD,EAA2E;EACzE,UAAIY,aAAab,YAAY7M,UAA7B;EACA,UAAI0N,cAAc5B,SAAS4B,UAA3B,EAAuC;EACrCA,mBAAWzH,YAAX,CAAwB6F,IAAxB,EAA8Be,WAA9B;;EAEA,YAAI,CAACU,SAAL,EAAgB;EACdV,sBAAY/G,UAAZ,GAAyB,IAAzB;EACAI,4BAAkB2G,WAAlB,EAA+B,KAA/B;EACD;EACF;EACF;;EAED,QAAIU,SAAJ,EAAe;EACb/F,uBAAiB+F,SAAjB;EACD;;EAED1P,cAAUiO,IAAV,GAAiBA,IAAjB;EACA,QAAIA,QAAQ,CAACS,OAAb,EAAsB;EACpB,UAAIoB,eAAe9P,SAAnB;EAAA,UACE+P,IAAI/P,SADN;EAEA,aAAQ+P,IAAIA,EAAEH,gBAAd,EAAiC;AAC/B,EAAC,CAACE,eAAeC,CAAhB,EAAmB9B,IAAnB,GAA0BA,IAA1B;EACF;EACDA,WAAKhG,UAAL,GAAkB6H,YAAlB;EACA7B,WAAKxN,qBAAL,GAA6BqP,aAAa3I,WAA1C;EACD;EACF;;EAED,MAAI,CAAC4H,QAAD,IAAaxH,QAAjB,EAA2B;EACzBX,WAAOoJ,OAAP,CAAehQ,SAAf;EACD,GAFD,MAEO,IAAI,CAACkP,IAAL,EAAW;EAChB;EACA;EACA;EACA;;EAEA,QAAIlP,UAAUiQ,WAAd,EAA2B;EACzB;EACAjQ,gBAAUiQ,WAAV,CAAsBtB,aAAtB,EAAqCC,aAArC,EAAoDE,eAApD;EACD;EACD,QAAI9O,UAAUkQ,OAAd,EAAuB;EACrBlQ,gBAAUkQ,OAAV,CAAkBvB,aAAlB,EAAiCC,aAAjC,EAAgDE,eAAhD;EACD;EACD,QAAI5T,QAAQ+U,WAAZ,EAAyB/U,QAAQ+U,WAAR,CAAoBjQ,SAApB;EAC1B;;EAED,MAAIA,UAAUmQ,gBAAV,IAA8B,IAAlC,EAAwC;EACtC,WAAOnQ,UAAUmQ,gBAAV,CAA2BxV,MAAlC;EACEqF,gBAAUmQ,gBAAV,CAA2BtV,GAA3B,GAAiCuB,IAAjC,CAAsC4D,SAAtC;EADF;EAED;;EAED,MAAI,CAAC6G,SAAD,IAAc,CAAC6H,OAAnB,EAA4B3H;EAC7B;;EAED;;;;;;AAMA,EAAO,SAASiB,uBAAT,CAAiCX,GAAjC,EAAsClM,KAAtC,EAA6CmM,OAA7C,EAAsDC,QAAtD,EAAgE;EACrE,MAAIP,IAAIK,OAAOA,IAAIY,UAAnB;EAAA,MACEmI,oBAAoBpJ,CADtB;EAAA,MAEEqJ,SAAShJ,GAFX;EAAA,MAGEiJ,gBAAgBtJ,KAAKK,IAAI5G,qBAAJ,KAA8BtF,MAAMhB,QAH3D;EAAA,MAIEoW,UAAUD,aAJZ;EAAA,MAKEtS,QAAQ6C,aAAa1F,KAAb,CALV;EAMA,SAAO6L,KAAK,CAACuJ,OAAN,KAAkBvJ,IAAIA,EAAE4I,gBAAxB,CAAP,EAAkD;EAChDW,cAAUvJ,EAAEG,WAAF,KAAkBhM,MAAMhB,QAAlC;EACD;;EAED,MAAI6M,KAAKuJ,OAAL,KAAiB,CAAChJ,QAAD,IAAaP,EAAEiB,UAAhC,CAAJ,EAAiD;EAC/C4F,sBAAkB7G,CAAlB,EAAqBhJ,KAArB,EAA4B2B,YAA5B,EAA0C2H,OAA1C,EAAmDC,QAAnD;EACAF,UAAML,EAAEiH,IAAR;EACD,GAHD,MAGO;EACL,QAAImC,qBAAqB,CAACE,aAA1B,EAAyC;EACvC3G,uBAAiByG,iBAAjB;EACA/I,YAAMgJ,SAAS,IAAf;EACD;;EAEDrJ,QAAImD,gBAAgBhP,MAAMhB,QAAtB,EAAgC6D,KAAhC,EAAuCsJ,OAAvC,EAAgDnM,KAAhD,CAAJ;EACA,QAAIkM,OAAO,CAACL,EAAE2D,QAAd,EAAwB;EACtB3D,QAAE2D,QAAF,GAAatD,GAAb;EACA;EACAgJ,eAAS,IAAT;EACD;EACDxC,sBAAkB7G,CAAlB,EAAqBhJ,KAArB,EAA4ByB,WAA5B,EAAyC6H,OAAzC,EAAkDC,QAAlD;EACAF,UAAML,EAAEiH,IAAR;;EAEA,QAAIoC,UAAUhJ,QAAQgJ,MAAtB,EAA8B;EAC5BA,aAAOpI,UAAP,GAAoB,IAApB;EACAI,wBAAkBgI,MAAlB,EAA0B,KAA1B;EACD;EACF;;EAED,SAAOhJ,GAAP;EACD;;EAED;;;;AAIA,EAAO,SAASsC,gBAAT,CAA0B3J,SAA1B,EAAqC;EAC1C,MAAI9E,QAAQsV,aAAZ,EAA2BtV,QAAQsV,aAAR,CAAsBxQ,SAAtB;;EAE3B,MAAIiO,OAAOjO,UAAUiO,IAArB;;EAEAjO,YAAU+N,QAAV,GAAqB,IAArB;;EAEA,MAAI/N,UAAUyQ,SAAd,EAAyBzQ,UAAUyQ,SAAV;;EAEzBzQ,YAAUiO,IAAV,GAAiB,IAAjB;;EAEA;EACA,MAAIyC,QAAQ1Q,UAAUiI,UAAtB;EACA,MAAIyI,KAAJ,EAAW;EACT/G,qBAAiB+G,KAAjB;EACD,GAFD,MAEO,IAAIzC,IAAJ,EAAU;EACf,QAAIA,KAAKrO,QAAL,KAAkB,IAAtB,EAA4B3B,SAASgQ,KAAKrO,QAAL,EAAe1B,GAAxB,EAA6B,IAA7B;;EAE5B8B,cAAU2K,QAAV,GAAqBsD,IAArB;;EAEA/L,eAAW+L,IAAX;EACA/D,qBAAiBlK,SAAjB;;EAEA4J,mBAAeqE,IAAf;EACD;;EAEDhQ,WAAS+B,UAAUgO,KAAnB,EAA0B,IAA1B;EACD;;;;EC9UD,IAAIrI,KAAK,CAAT;;MAEqB6E;EAGnB,qBAAYxM,KAAZ,EAAmBqR,KAAnB,EAA0B;EAAA;;EACxB,SAAKrR,KAAL,GAAanC,OACXqD,OAAO,KAAKiI,WAAL,CAAiBnJ,KAAxB,CADW,EAEX,KAAKmJ,WAAL,CAAiBrG,YAFN,EAGX9C,KAHW,CAAb;EAKA,SAAK2S,SAAL,GAAiBhL,IAAjB;EACA,SAAKiF,IAAL,GAAY,KAAKzD,WAAL,CAAiByD,IAAjB,IAAyB,KAAKA,IAA9B,IAAsC,EAAlD;;EAEA,SAAKgG,OAAL,GAAe,IAAf;;EAEA,SAAKvB,KAAL,GAAaA,KAAb;EACD;;wBAEDzB,yBAAO7C,UAAU;EACf,SAAK0C,WAAL,GAAmB,IAAnB;EACA,QAAI1C,QAAJ,EACE,CAAC,KAAKoF,gBAAL,GAAwB,KAAKA,gBAAL,IAAyB,EAAlD,EAAsDvV,IAAtD,CAA2DmQ,QAA3D;EACF5K,oBAAgB,IAAhB,EAAsBT,YAAtB;EACA,QAAIxE,QAAQ2V,eAAZ,EAA6B3V,QAAQ2V,eAAR,CAAwB,IAAxB,EAA8B,KAAK5C,IAAnC;EAC7B,SAAKR,WAAL,GAAmB,KAAnB;EACD;;wBAEDqD,qBAAKhU,MAAM8N,MAAM;EAAA;;EACfvP,WAAO+D,IAAP,CAAY,KAAKpB,KAAjB,EAAwB+S,KAAxB,CAA8B,eAAO;EACnC,UAAI,OAAOjU,KAAK8D,WAAL,EAAP,KAA8B3F,IAAI2F,WAAJ,EAAlC,EAAqD;EACnD,cAAK5C,KAAL,CAAW/C,GAAX,EAAgB,EAAEyJ,QAAQkG,IAAV,EAAhB;EACA,eAAO,KAAP;EACD;EACD,aAAO,IAAP;EACD,KAND;EAOD;;wBAEDL,2BAAS;;;;;EApCUC,UACZwG,KAAK;;ECNd;;;;;;AAMA,EAAO,SAASzG,MAAT,CAAgBpP,KAAhB,EAAuBqM,MAAvB,EAA+B6H,KAA/B,EAAsC4B,KAAtC,EAA6CC,KAA7C,EAAoD;EACzD1J,WAAS,OAAOA,MAAP,KAAkB,QAAlB,GAA6B3N,SAASsX,aAAT,CAAuB3J,MAAvB,CAA7B,GAA8DA,MAAvE;;EAEA,MAAIyJ,KAAJ,EAAW;EACT,WAAOzJ,OAAOc,UAAd,EAA0B;EACxBd,aAAOpF,WAAP,CAAmBoF,OAAOc,UAA1B;EACD;EACF;;EAED,MAAI4I,KAAJ,EAAW;EACTA,YACE,OAAOA,KAAP,KAAiB,QAAjB,GACIrX,SAASsX,aAAT,CAAuBD,KAAvB,CADJ,GAEIA,KAHN;EAID;;EAED,SAAO9J,KAAK8J,KAAL,EAAY/V,KAAZ,EAAmBkU,KAAnB,EAA0B,KAA1B,EAAiC7H,MAAjC,EAAyC,KAAzC,CAAP;EACD;;WCvBe4J,MAAT,CAAgB9O,IAAhB,EAAsB9B,IAAtB,EAA4B;EACjCtF,UAAQzB,OAAR,CAAgB6I,IAAhB,IAAwB9B,IAAxB;EACD;;WCJe6Q,GAAT,CAAaC,GAAb,EAAkB;EACvB,SAAOA,IAAIzT,OAAJ,CAAY,0BAAZ,EAAwC,UAAC0D,CAAD,EAAIC,CAAJ,EAAU;EACvD,WAAQjI,OAAOgY,UAAP,GAAoBC,OAAOhQ,CAAP,CAArB,GAAkC,GAAlC,GAAwC,IAA/C;EACD,GAFM,CAAP;EAGD;;;;;;;;MCFoBiQ;;;;;;;;;wBAKnBvD,yCAAgB;EACd,SAAKtD,IAAL,GAAY,KAAK8G,EAAL,CAAQ9G,IAApB;EACD;;;IAPoCJ;;EAAlBiH,UACZrD,UAAU;EADEqD,UAGZ/D,cAAc;;ECLvB;;;;;;;;EAQA,IAAIiE,SAAS,GAAGrW,cAAhB;;AAEA,EAAO,SAASsW,UAAT,GAAsB;EAC3B,MAAIC,UAAU,EAAd;;EAEA,OAAK,IAAIpX,IAAI,CAAb,EAAgBA,IAAIC,UAAUC,MAA9B,EAAsCF,GAAtC,EAA2C;EACzC,QAAIqX,MAAMpX,UAAUD,CAAV,CAAV;EACA,QAAI,CAACqX,GAAL,EAAU;;EAEV,QAAIC,UAAU,OAAOD,GAArB;;EAEA,QAAIC,YAAY,QAAZ,IAAwBA,YAAY,QAAxC,EAAkD;EAChDF,cAAQjX,IAAR,CAAakX,GAAb;EACD,KAFD,MAEO,IAAIzY,MAAM2F,OAAN,CAAc8S,GAAd,KAAsBA,IAAInX,MAA9B,EAAsC;EAC3C,UAAI+V,QAAQkB,WAAWvF,KAAX,CAAiB,IAAjB,EAAuByF,GAAvB,CAAZ;EACA,UAAIpB,KAAJ,EAAW;EACTmB,gBAAQjX,IAAR,CAAa8V,KAAb;EACD;EACF,KALM,MAKA,IAAIqB,YAAY,QAAhB,EAA0B;EAC/B,WAAK,IAAI9W,GAAT,IAAgB6W,GAAhB,EAAqB;EACnB,YAAIH,OAAOvV,IAAP,CAAY0V,GAAZ,EAAiB7W,GAAjB,KAAyB6W,IAAI7W,GAAJ,CAA7B,EAAuC;EACrC4W,kBAAQjX,IAAR,CAAaK,GAAb;EACD;EACF;EACF;EACF;;EAED,SAAO4W,QAAQhF,IAAR,CAAa,GAAb,CAAP;EACD;;AAED,EAAO,SAASmF,YAAT,GAAwB;EAAA,8BACJ3Y,MAAMkC,SAAN,CAAgBgE,KAAhB,CAAsBnD,IAAtB,CAA2B1B,SAA3B,EAAsC,CAAtC,CADI;EAAA,MACtBsD,KADsB;EAAA,MACZiU,IADY;;EAE7B,MAAIjU,KAAJ,EAAW;EACT,QAAIA,MAAMkU,KAAV,EAAiB;EACfD,WAAKjC,OAAL,CAAahS,MAAMkU,KAAnB;EACA,aAAOlU,MAAMkU,KAAb;EACD,KAHD,MAGO,IAAIlU,MAAMwE,SAAV,EAAqB;EAC1ByP,WAAKjC,OAAL,CAAahS,MAAMwE,SAAnB;EACA,aAAOxE,MAAMwE,SAAb;EACD;EACF;EACD,MAAIyP,KAAKtX,MAAL,GAAc,CAAlB,EAAqB;EACnB,WAAO,EAAEuX,OAAON,WAAWvF,KAAX,CAAiB,IAAjB,EAAuB4F,IAAvB,CAAT,EAAP;EACD;EACF;;WCpDeE,OAAT,CAAiBnS,SAAjB,EAA4B;EACjC,MAAIiO,OAAOjO,UAAUiO,IAArB;EACA,MAAIA,IAAJ,EAAU;EACR,WAAOA,KAAK9L,UAAZ,EAAwB;EACtB,UAAI8L,KAAK9L,UAAL,CAAgB8F,UAApB,EAAgC;EAC9B,eAAOgG,KAAK9L,UAAL,CAAgB8F,UAAvB;EACD,OAFD,MAEO;EACLgG,eAAOA,KAAK9L,UAAZ;EACD;EACF;EACF;EACF;;ECXD;;;;;;;;;EAmBA,IAAMiQ,iBAAiB,SAAjBA,cAAiB;EAAA,SAAKrX,OAAOoB,CAAP,EACzB0B,OADyB,CACjB,IADiB,EACX,OADW,EAEzBA,OAFyB,CAEjB,IAFiB,EAEX,MAFW,EAGzBA,OAHyB,CAGjB,IAHiB,EAGX,MAHW,EAIzBA,OAJyB,CAIjB,IAJiB,EAIX,QAJW,CAAL;EAAA,CAAvB;;EAMA,IAAMwU,SAAS,SAATA,MAAS,CAAClW,CAAD,EAAImW,IAAJ;EAAA,SAAavX,OAAOoB,CAAP,EAAU0B,OAAV,CAAkB,QAAlB,EAA4B,QAAQyU,QAAQ,IAAhB,CAA5B,CAAb;EAAA,CAAf;;EAEA,IAAM7Y,YAAUyB,QAAQzB,OAAxB;;EAEA,IAAM8Y,gBAAgB,0EAAtB;;EAEA,IAAMC,gBAAgB,SAAhBA,aAAgB,CAACrW,CAAD,EAAIxB,MAAJ,EAAY8X,WAAZ;EAAA,SAA6B1X,OAAOoB,CAAP,EAAUxB,MAAV,IAAoBA,UAAU,EAA9B,KAAsC,CAAC8X,WAAD,IAAgB1X,OAAOoB,CAAP,EAAUgQ,OAAV,CAAkB,IAAlB,MAA4B,CAAC,CAAnF,IAAyFpR,OAAOoB,CAAP,EAAUgQ,OAAV,CAAkB,GAAlB,MAA2B,CAAC,CAAlJ;EAAA,CAAtB;;EAEA,IAAMuG,YAAY,EAAlB;;EAEA;EACA,SAASC,aAAT,CAAuBxW,CAAvB,EAA0B;EACxB,MAAImV,MAAM,EAAV;EACA,OAAK,IAAIhG,IAAT,IAAiBnP,CAAjB,EAAoB;EAClB,QAAIR,MAAMQ,EAAEmP,IAAF,CAAV;EACA,QAAI3P,OAAO,IAAX,EAAiB;EACf,UAAI2V,GAAJ,EAASA,OAAO,GAAP;EACT;EACAA,aAAOoB,UAAUpH,IAAV,MAAoBoH,UAAUpH,IAAV,IAAkBA,KAAKzN,OAAL,CAAa,UAAb,EAAyB,KAAzB,EAAgC+C,WAAhC,EAAtC,CAAP;EACA0Q,aAAO,IAAP;EACAA,aAAO3V,GAAP;EACA,UAAI,OAAOA,GAAP,KAAe,QAAf,IAA2BkE,mBAAmB4C,IAAnB,CAAwB6I,IAAxB,MAAkC,KAAjE,EAAwE;EACtEgG,eAAO,IAAP;EACD;EACDA,aAAO,GAAP;EACD;EACF;EACD,SAAOA,OAAOxW,SAAd;EACD;;EAED;AACA,EAAO,SAAS8X,cAAT,CAAwBzX,KAAxB,EAA+B2S,IAA/B,EAAqCuB,KAArC,EAA4CvI,SAA5C,EAAuD7B,GAAvD,EAA4D;EACjE,MAAI9J,SAAS,IAAT,IAAiB,OAAOA,KAAP,KAAiB,SAAtC,EAAiD;EAC/C,WAAO,EAAP;EACD;;EAED,MAAIhB,WAAWgB,MAAMhB,QAArB;EAAA,MACEC,aAAae,MAAMf,UADrB;EAAA,MAEEyY,cAAc,KAFhB;EAGAxD,UAAQA,SAAS,EAAjB;EACAvB,SAAOzS,OAAOQ,MAAP,CAAc;EACnBiX,eAAW;EADQ,GAAd,EAELhF,IAFK,CAAP;;EAIA,MAAIiF,SAAS,QAAQjF,KAAKiF,MAA1B;EAAA,MACEC,aAAaD,UAAU,OAAOA,MAAP,KAAkB,QAA5B,GAAuCA,MAAvC,GAAgD,IAD/D;;EAGA;EACA,MAAI,OAAO5X,KAAP,KAAiB,QAAjB,IAA6B,CAAChB,QAAlC,EAA4C;EAC1C,WAAOiY,eAAejX,KAAf,CAAP;EACD;;EAED;EACA,MAAMqF,OAAO/G,UAAQU,QAAR,CAAb;EACA,MAAIqG,IAAJ,EAAU;EACRqS,kBAAc,IAAd;;EAEA,QAAI7U,QAAQ6C,eAAa1F,KAAb,CAAZ;EAAA,QACEgU,iBADF;EAEA;EACA,QAAInI,IAAI,IAAIxG,IAAJ,CAASxC,KAAT,EAAgBqR,KAAhB,CAAR;EACA;EACArI,MAAE+G,QAAF,GAAa/G,EAAEiM,GAAF,GAAQ,IAArB;EACAjM,MAAEhJ,KAAF,GAAUA,KAAV;EACAgJ,MAAEqI,KAAF,GAAUA,KAAV;EACA,QAAIrI,EAAEmH,OAAN,EAAenH,EAAEmH,OAAF;EACf,QAAInH,EAAEuI,YAAN,EAAoBvI,EAAEuI,YAAF;EACpBJ,eAAWnI,EAAEuD,MAAF,CAASvD,EAAEhJ,KAAX,EAAkBgJ,EAAE4D,IAApB,EAA0B5D,EAAEqI,KAA5B,CAAX;EACA,QAAI6D,gBAAJ;EACA,QAAGpF,KAAKgF,SAAR,EAAkB;;EAEhB,UAAI9L,EAAEG,WAAF,CAAclC,GAAd,IAAqB+B,EAAE/B,GAA3B,EAAgC;;EAE9B,YAAMkO,SAASnM,EAAEG,WAAF,CAAclC,GAAd,GAAoB+B,EAAEG,WAAF,CAAclC,GAAlC,GAAyC,OAAO+B,EAAE/B,GAAT,KAAiB,UAAjB,GAA8B+B,EAAE/B,GAAF,EAA9B,GAAwC+B,EAAE/B,GAAlG;EACA,YAAMmO,UAAU,OAAOxO,YAAYoC,EAAEG,WAAd,CAAvB;;EAEA+L,kDAAwCE,OAAxC,UAAoDpO,OAAOmO,MAAP,EAAeC,OAAf,CAApD;;EAEA9M,4BACE6I,QADF,EAEE,OAAOvK,YAAYoC,EAAEG,WAAd,CAFT;EAID;;EAEDH,QAAEqM,aAAF,GAAkBlY,MAAM8J,GAAxB;EACA0B,gBAAUwI,QAAV,EAAoBnI,EAAEqM,aAAtB;EACD;;EAED,WAAOT,eAAezD,QAAf,EAAyBrB,IAAzB,EAA+BuB,KAA/B,EAAsC,KAAtC,EAA6C6D,OAA7C,CAAP;EACD;;EAGD;EACA,MAAI/W,IAAI,EAAR;EAAA,MAAYmX,aAAZ;;EAEA,MAAIlZ,UAAJ,EAAgB;EACd,QAAI4P,QAAQ3O,OAAO+D,IAAP,CAAYhF,UAAZ,CAAZ;;EAEA;EACA,QAAI0T,QAAQA,KAAKyF,cAAL,KAAwB,IAApC,EAA0CvJ,MAAMwJ,IAAN;;EAE1C,SAAK,IAAI/Y,IAAI,CAAb,EAAgBA,IAAIuP,MAAMrP,MAA1B,EAAkCF,GAAlC,EAAuC;EACrC,UAAI6H,OAAO0H,MAAMvP,CAAN,CAAX;EAAA,UACEgZ,IAAIrZ,WAAWkI,IAAX,CADN;EAEA,UAAIA,SAAS,UAAb,EAAyB;;EAEzB,UAAIA,KAAKhB,KAAL,CAAW,kBAAX,CAAJ,EAAoC;;EAEpC,UAAI,EAAEwM,QAAQA,KAAK4F,aAAf,MAAkCpR,SAAS,KAAT,IAAkBA,SAAS,KAA7D,CAAJ,EAAyE;;EAEzE,UAAIA,SAAS,WAAb,EAA0B;EACxB,YAAIlI,WAAW8X,KAAf,EAAsB;EACtB5P,eAAO,OAAP;EACD,OAHD,MAIK,IAAIwE,aAAaxE,KAAKhB,KAAL,CAAW,WAAX,CAAjB,EAA0C;EAC7CgB,eAAOA,KAAK1B,WAAL,GAAmB/C,OAAnB,CAA2B,UAA3B,EAAuC,QAAvC,CAAP;EACD;;EAED,UAAIyE,SAAS,OAAT,IAAoBmR,CAApB,IAAyB,OAAOA,CAAP,KAAa,QAA1C,EAAoD;EAClDA,YAAId,cAAcc,CAAd,CAAJ;EACD;;EAED,UAAIE,SAAS7F,KAAK8F,aAAL,IAAsB9F,KAAK8F,aAAL,CAAmBtR,IAAnB,EAAyBmR,CAAzB,EAA4BpE,KAA5B,EAAmCvB,IAAnC,EAAyC+E,WAAzC,CAAnC;EACA,UAAIc,UAAUA,WAAW,EAAzB,EAA6B;EAC3BxX,aAAKwX,MAAL;EACA;EACD;;EAED,UAAIrR,SAAS,yBAAb,EAAwC;EACtCgR,eAAOG,KAAKA,EAAEzQ,MAAd;EACD,OAFD,MAGK,IAAI,CAACyQ,KAAKA,MAAM,CAAX,IAAgBA,MAAM,EAAvB,KAA8B,OAAOA,CAAP,KAAa,UAA/C,EAA2D;EAC9D,YAAIA,MAAM,IAAN,IAAcA,MAAM,EAAxB,EAA4B;EAC1BA,cAAInR,IAAJ;EACA;EACA,cAAI,CAACwL,IAAD,IAAS,CAACA,KAAK+F,GAAnB,EAAwB;EACtB1X,iBAAK,MAAMmG,IAAX;EACA;EACD;EACF;EACDnG,mBAASmG,IAAT,UAAkB8P,eAAeqB,CAAf,CAAlB;EACD;EACF;EACF;;EAED;EACA,MAAIV,MAAJ,EAAY;EACV,QAAIe,MAAM3X,EAAE0B,OAAF,CAAU,QAAV,EAAoB,GAApB,CAAV;EACA,QAAIiW,QAAQ3X,CAAR,IAAa,CAAC,CAAC2X,IAAI3H,OAAJ,CAAY,IAAZ,CAAnB,EAAsChQ,IAAI2X,GAAJ,CAAtC,KACK,IAAIf,UAAU,CAAC5W,EAAEgQ,OAAF,CAAU,IAAV,CAAf,EAAgChQ,KAAK,IAAL;EACtC;;EAEDA,YAAQhC,QAAR,GAAmBgC,CAAnB;EACA,MAAIpB,OAAOZ,QAAP,EAAiBmH,KAAjB,CAAuB,kBAAvB,CAAJ,EAAgD,MAAMnF,CAAN;;EAEhD,MAAI4X,SAAShZ,OAAOZ,QAAP,EAAiBmH,KAAjB,CAAuBiR,aAAvB,CAAb;EACA,MAAIwB,MAAJ,EAAY5X,IAAIA,EAAE0B,OAAF,CAAU,IAAV,EAAgB,KAAhB,CAAJ;;EAEZ,MAAImW,SAAS,EAAb;EACA,MAAIV,IAAJ,EAAU;EACR;EACA,QAAIP,UAAUP,cAAcc,IAAd,CAAd,EAAmC;EACjCA,aAAO,OAAON,UAAP,GAAoBX,OAAOiB,IAAP,EAAaN,UAAb,CAA3B;EACD;EACD7W,SAAKmX,IAAL;EACD,GAND,MAOK,IAAInY,MAAMd,QAAV,EAAoB;EACvB,QAAI4Z,WAAWlB,UAAU,CAAC5W,EAAEgQ,OAAF,CAAU,IAAV,CAA1B;EACA,SAAK,IAAI1R,KAAI,CAAb,EAAgBA,KAAIU,MAAMd,QAAN,CAAeM,MAAnC,EAA2CF,IAA3C,EAAgD;EAC9C,UAAIF,QAAQY,MAAMd,QAAN,CAAeI,EAAf,CAAZ;EACA,UAAIF,SAAS,IAAT,IAAiBA,UAAU,KAA/B,EAAsC;EACpC,YAAI2Z,eAAe/Z,aAAa,KAAb,GAAqB,IAArB,GAA4BA,aAAa,eAAb,GAA+B,KAA/B,GAAuC2M,SAAtF;EAAA,YACEa,MAAMiL,eAAerY,KAAf,EAAsBuT,IAAtB,EAA4BuB,KAA5B,EAAmC6E,YAAnC,CADR;EAEA,YAAInB,UAAU,CAACkB,QAAX,IAAuBzB,cAAc7K,GAAd,CAA3B,EAA+CsM,WAAW,IAAX;EAC/C,YAAItM,GAAJ,EAASqM,OAAOpZ,IAAP,CAAY+M,GAAZ;EACV;EACF;EACD,QAAIoL,UAAUkB,QAAd,EAAwB;EACtB,WAAK,IAAIxZ,MAAIuZ,OAAOrZ,MAApB,EAA4BF,KAA5B,GAAkC;EAChCuZ,eAAOvZ,GAAP,IAAY,OAAOuY,UAAP,GAAoBX,OAAO2B,OAAOvZ,GAAP,CAAP,EAAkBuY,UAAlB,CAAhC;EACD;EACF;EACF;;EAED,MAAIgB,OAAOrZ,MAAX,EAAmB;EACjBwB,SAAK6X,OAAOnH,IAAP,CAAY,EAAZ,CAAL;EACD,GAFD,MAGK,IAAIiB,QAAQA,KAAK+F,GAAjB,EAAsB;EACzB,WAAO1X,EAAE+G,SAAF,CAAY,CAAZ,EAAe/G,EAAExB,MAAF,GAAW,CAA1B,IAA+B,KAAtC;EACD;;EAED,MAAI,CAACoZ,MAAL,EAAa;EACX,QAAIhB,UAAU,CAAC5W,EAAEgQ,OAAF,CAAU,IAAV,CAAf,EAAgChQ,KAAK,IAAL;EAChCA,gBAAUhC,QAAV;EACD;;EAED,MAAG8K,GAAH,EAAQ,OAAOA,MAAM9I,CAAb;EACR,SAAOA,CAAP;EACD;;EAED,SAASN,QAAT,CAAgBkC,GAAhB,EAAqBC,KAArB,EAA4B;EAC1B,OAAK,IAAIvD,CAAT,IAAcuD,KAAd;EAAqBD,QAAItD,CAAJ,IAASuD,MAAMvD,CAAN,CAAT;EAArB,GACA,OAAOsD,GAAP;EACD;;EAED,SAAS8C,cAAT,CAAsB1F,KAAtB,EAA6B;EAC3B,MAAI6C,QAAQnC,SAAO,EAAP,EAAWV,MAAMf,UAAjB,CAAZ;EACA4D,QAAM3D,QAAN,GAAiBc,MAAMd,QAAvB;;EAEA,MAAIyG,eAAe3F,MAAMhB,QAAN,CAAe2G,YAAlC;EACA,MAAIA,iBAAiBhG,SAArB,EAAgC;EAC9B,SAAK,IAAIL,CAAT,IAAcqG,YAAd,EAA4B;EAC1B,UAAI9C,MAAMvD,CAAN,MAAaK,SAAjB,EAA4B;EAC1BkD,cAAMvD,CAAN,IAAWqG,aAAarG,CAAb,CAAX;EACD;EACF;EACF;;EAED,SAAOuD,KAAP;EACD;;MCvOKmW,YAAY3J,SAAlB;EACA,IAAM4J,gBAAgBhD,MAAtB;EACA,SAASiD,SAAT,GAAqB;EACnB,SAAO,EAAP;EACD;;EAEDnZ,QAAQpB,IAAR,CAAawa,GAAb,GAAmB;EACjBpa,MADiB;EAEjBgH,kBAFiB;EAGjB5B,4BAHiB;EAIjB+U,sBAJiB;EAKjB7J,sBALiB;EAMjBD,gBANiB;EAOjBrK,oBAPiB;EAQjBhF,kBARiB;EASjBiZ,sBATiB;EAUjB/C,gBAViB;EAWjBC,UAXiB;EAYjBI,sBAZiB;EAajB2C,8BAbiB;EAcjBxC,wBAdiB;EAejBI,4BAfiB;EAgBjBG,kBAhBiB;EAiBjBS;EAjBiB,CAAnB;EAmBA1X,QAAQpB,IAAR,CAAaya,GAAb,GAAmBrZ,QAAQpB,IAAR,CAAawa,GAAhC;EACApZ,QAAQpB,IAAR,CAAawa,GAAb,CAAiBE,OAAjB,GAA2B,YAA3B;;AAEA,YAAe;EACbta,MADa;EAEbgH,kBAFa;EAGb5B,4BAHa;EAIb+U,sBAJa;EAKb7J,sBALa;EAMbD,gBANa;EAObrK,oBAPa;EAQbhF,kBARa;EASbiZ,sBATa;EAUb/C,gBAVa;EAWbC,UAXa;EAYbI,sBAZa;EAab2C,8BAba;EAcbxC,wBAda;EAebI,4BAfa;EAgBbG,kBAhBa;EAiBbS;EAjBa,CAAf;;ECvCI,IAAI,OAAO6B,MAAP,IAAe,WAAnB,EAAgCA,OAAOC,OAAP,GAAiBJ,GAAjB,CAAhC,KACKhb,KAAKgb,GAAL,GAAWA,GAAX;;"}
\ No newline at end of file
diff --git a/packages/omip/my-app/src/libs/omip-h5/omi.esm.js b/packages/omip/my-app/src/libs/omip-h5/omi.esm.js
new file mode 100644
index 000000000..685f16b85
--- /dev/null
+++ b/packages/omip/my-app/src/libs/omip-h5/omi.esm.js
@@ -0,0 +1,2088 @@
+/**
+ * omi v1.3.8 http://omijs.org
+ * Omi === Preact + Scoped CSS + Store System + Native Support in 3kb javascript.
+ * By dntzhang https://github.com/dntzhang
+ * Github: https://github.com/Tencent/omi
+ * MIT Licensed.
+ */
+
+/** Virtual DOM Node */
+function VNode() {}
+
+function getGlobal() {
+ if (typeof global !== 'object' || !global || global.Math !== Math || global.Array !== Array) {
+ if (typeof self !== 'undefined') {
+ return self;
+ } else if (typeof window !== 'undefined') {
+ return window;
+ } else if (typeof global !== 'undefined') {
+ return global;
+ }
+ return function () {
+ return this;
+ }();
+ }
+ return global;
+}
+
+/** Global options
+ * @public
+ * @namespace options {Object}
+ */
+var options = {
+ scopedStyle: true,
+ mapping: {},
+ isWeb: true,
+ staticStyleMapping: {},
+ doc: typeof document === 'object' ? document : null,
+ root: getGlobal(),
+ //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]
+ styleCache: []
+ //componentChange(component, element) { },
+ /** If `true`, `prop` changes trigger synchronous component updates.
+ * @name syncComponentUpdates
+ * @type Boolean
+ * @default true
+ */
+ //syncComponentUpdates: true,
+
+ /** Processes all created VNodes.
+ * @param {VNode} vnode A newly-created VNode to normalize/process
+ */
+ //vnode(vnode) { }
+
+ /** Hook invoked after a component is mounted. */
+ //afterMount(component) { },
+
+ /** Hook invoked after the DOM is updated with a component's latest render. */
+ //afterUpdate(component) { }
+
+ /** Hook invoked immediately before a component is unmounted. */
+ // beforeUnmount(component) { }
+};
+
+var stack = [];
+
+var EMPTY_CHILDREN = [];
+
+//
+var mapTag = {
+ 'view': 'div',
+ 'picker': 'select',
+ 'image': 'img',
+ 'navigator': 'a',
+ 'text': 'span'
+}
+
+var getNodeName = function(name){
+ if(mapTag[name]) return mapTag[name]
+ return name
+}
+
+/**
+ * JSX/hyperscript reviver.
+ * @see http://jasonformat.com/wtf-is-jsx
+ * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0
+ *
+ * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.
+ *
+ * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation
+ * of the structure of a DOM tree. This structure can be realized by recursively comparing it against
+ * the current _actual_ DOM structure, and applying only the differences.
+ *
+ * `h()`/`createElement()` accepts an element name, a list of attributes/props,
+ * and optionally children to append to the element.
+ *
+ * @example The following DOM tree
+ *
+ * `Hello!
`
+ *
+ * can be constructed using this function as:
+ *
+ * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`
+ *
+ * @param {string} nodeName An element name. Ex: `div`, `a`, `span`, etc.
+ * @param {Object} attributes Any attributes/props to set on the created element.
+ * @param rest Additional arguments are taken to be children to append. Can be infinitely nested Arrays.
+ *
+ * @public
+ */
+function h(nodeName, attributes) {
+ var children = EMPTY_CHILDREN,
+ lastSimple,
+ child,
+ simple,
+ i;
+ for (i = arguments.length; i-- > 2;) {
+ stack.push(arguments[i]);
+ }
+ if (attributes && attributes.children != null) {
+ if (!stack.length) stack.push(attributes.children);
+ delete attributes.children;
+ }
+ while (stack.length) {
+ if ((child = stack.pop()) && child.pop !== undefined) {
+ for (i = child.length; i--;) {
+ stack.push(child[i]);
+ }
+ } else {
+ if (typeof child === 'boolean') child = null;
+
+ if (simple = typeof nodeName !== 'function') {
+ if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false;
+ }
+
+ if (simple && lastSimple) {
+ children[children.length - 1] += child;
+ } else if (children === EMPTY_CHILDREN) {
+ children = [child];
+ } else {
+ children.push(child);
+ }
+
+ lastSimple = simple;
+ }
+ }
+
+ var p = new VNode();
+ p.nodeName = getNodeName(nodeName);
+ p.children = children;
+ p.attributes = attributes == null ? undefined : attributes;
+ p.key = attributes == null ? undefined : attributes.key;
+
+ //忽略掉 block
+ if(p.nodeName === 'block'){
+ return children
+ }
+ // if a "vnode hook" is defined, pass every created VNode to it
+ if (options.vnode !== undefined) options.vnode(p);
+
+ return p;
+}
+
+/* eslint-disable no-unused-vars */
+
+var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+var hasOwnProperty = Object.prototype.hasOwnProperty;
+var propIsEnumerable = Object.prototype.propertyIsEnumerable;
+
+function toObject(val) {
+ if (val === null || val === undefined) {
+ throw new TypeError('Object.assign cannot be called with null or undefined');
+ }
+
+ return Object(val);
+}
+
+function assign(target, source) {
+ var from;
+ var to = toObject(target);
+ var symbols;
+
+ for (var s = 1; s < arguments.length; s++) {
+ from = Object(arguments[s]);
+
+ for (var key in from) {
+ if (hasOwnProperty.call(from, key)) {
+ to[key] = from[key];
+ }
+ }
+
+ if (getOwnPropertySymbols) {
+ symbols = getOwnPropertySymbols(from);
+ for (var i = 0; i < symbols.length; i++) {
+ if (propIsEnumerable.call(from, symbols[i])) {
+ to[symbols[i]] = from[symbols[i]];
+ }
+ }
+ }
+ }
+
+ return to;
+}
+
+if (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {
+ var runListeners = function runListeners(oEvent) {
+ if (!oEvent) {
+ oEvent = window.event;
+ }
+ for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) {
+ oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent);
+ }
+ break;
+ }
+ }
+ };
+
+ var oListeners = {};
+
+ Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {
+ if (oListeners.hasOwnProperty(sEventType)) {
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;break;
+ }
+ }
+ if (nElIdx === -1) {
+ oEvtListeners.aEls.push(this);
+ oEvtListeners.aEvts.push([fListener]);
+ this["on" + sEventType] = runListeners;
+ } else {
+ var aElListeners = oEvtListeners.aEvts[nElIdx];
+ if (this["on" + sEventType] !== runListeners) {
+ aElListeners.splice(0);
+ this["on" + sEventType] = runListeners;
+ }
+ for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {
+ if (aElListeners[iLstId] === fListener) {
+ return;
+ }
+ }
+ aElListeners.push(fListener);
+ }
+ } else {
+ oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };
+ this["on" + sEventType] = runListeners;
+ }
+ };
+ Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {
+ if (!oListeners.hasOwnProperty(sEventType)) {
+ return;
+ }
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {
+ if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;break;
+ }
+ }
+ if (nElIdx === -1) {
+ return;
+ }
+ for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {
+ if (aElListeners[iLstId] === fListener) {
+ aElListeners.splice(iLstId, 1);
+ }
+ }
+ };
+}
+
+if (typeof Object.create !== 'function') {
+ Object.create = function (proto, propertiesObject) {
+ if (typeof proto !== 'object' && typeof proto !== 'function') {
+ throw new TypeError('Object prototype may only be an Object: ' + proto);
+ } else if (proto === null) {
+ throw new Error("This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.");
+ }
+
+ // if (typeof propertiesObject != 'undefined') {
+ // throw new Error("This browser's implementation of Object.create is a shim and doesn't support a second argument.");
+ // }
+
+ function F() {}
+ F.prototype = proto;
+
+ return new F();
+ };
+}
+
+if (!String.prototype.trim) {
+ String.prototype.trim = function () {
+ return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
+ };
+}
+
+/**
+ * Copy all properties from `props` onto `obj`.
+ * @param {Object} obj Object onto which properties should be copied.
+ * @param {Object} props Object from which to copy properties.
+ * @returns obj
+ * @private
+ */
+function extend(obj, props) {
+ for (var i in props) {
+ obj[i] = props[i];
+ }return obj;
+}
+
+/** Invoke or update a ref, depending on whether it is a function or object ref.
+ * @param {object|function} [ref=null]
+ * @param {any} [value]
+ */
+function applyRef(ref, value) {
+ if (ref) {
+ if (typeof ref == 'function') ref(value);else ref.current = value;
+ }
+}
+
+/**
+ * Call a function asynchronously, as soon as possible. Makes
+ * use of HTML Promise to schedule the callback if available,
+ * otherwise falling back to `setTimeout` (mainly for IE<11).
+ *
+ * @param {Function} callback
+ */
+
+var usePromise = typeof Promise == 'function';
+
+// for native
+if (typeof document !== 'object' && typeof global !== 'undefined' && global.__config__) {
+ if (global.__config__.platform === 'android') {
+ usePromise = true;
+ } else {
+ var systemVersion = global.__config__.systemVersion && global.__config__.systemVersion.split('.')[0] || 0;
+ if (systemVersion > 8) {
+ usePromise = true;
+ }
+ }
+}
+
+var defer = usePromise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;
+
+function isArray(obj) {
+ return Object.prototype.toString.call(obj) === '[object Array]';
+}
+
+function nProps(props) {
+ if (!props || isArray(props)) return {};
+ var result = {};
+ Object.keys(props).forEach(function (key) {
+ result[key] = props[key].value;
+ });
+ return result;
+}
+
+/**
+ * Clones the given VNode, optionally adding attributes/props and replacing its children.
+ * @param {VNode} vnode The virtual DOM element to clone
+ * @param {Object} props Attributes/props to add when cloning
+ * @param {VNode} rest Any additional arguments will be used as replacement children.
+ */
+function cloneElement(vnode, props) {
+ return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);
+}
+
+// DOM properties that should NOT have "px" added when numeric
+var IS_NON_DIMENSIONAL$1 = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;
+
+/** Managed queue of dirty components to be re-rendered */
+
+var items = [];
+
+function enqueueRender(component) {
+ if (items.push(component) == 1) {
+(options.debounceRendering || defer)(rerender);
+ }
+}
+
+/** Rerender all enqueued dirty components */
+function rerender() {
+ var p;
+ while (p = items.pop()) {
+ renderComponent(p);
+ }
+}
+
+var mapping = options.mapping;
+/**
+ * Check if two nodes are equivalent.
+ *
+ * @param {Node} node DOM Node to compare
+ * @param {VNode} vnode Virtual DOM node to compare
+ * @param {boolean} [hydrating=false] If true, ignores component constructors when comparing.
+ * @private
+ */
+function isSameNodeType(node, vnode, hydrating) {
+ if (typeof vnode === 'string' || typeof vnode === 'number') {
+ return node.splitText !== undefined;
+ }
+ if (typeof vnode.nodeName === 'string') {
+ var ctor = mapping[vnode.nodeName];
+ if (ctor) {
+ return hydrating || node._componentConstructor === ctor;
+ }
+ return !node._componentConstructor && isNamedNode(node, vnode.nodeName);
+ }
+ return hydrating || node._componentConstructor === vnode.nodeName;
+}
+
+/**
+ * Check if an Element has a given nodeName, case-insensitively.
+ *
+ * @param {Element} node A DOM Element to inspect the name of.
+ * @param {String} nodeName Unnormalized name to compare against.
+ */
+function isNamedNode(node, nodeName) {
+ return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();
+}
+
+/**
+ * Reconstruct Component-style `props` from a VNode.
+ * Ensures default/fallback values from `defaultProps`:
+ * Own-properties of `defaultProps` not present in `vnode.attributes` are added.
+ *
+ * @param {VNode} vnode
+ * @returns {Object} props
+ */
+function getNodeProps(vnode) {
+ var props = extend({}, vnode.attributes);
+ props.children = vnode.children;
+
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (defaultProps !== undefined) {
+ for (var i in defaultProps) {
+ if (props[i] === undefined) {
+ props[i] = defaultProps[i];
+ }
+ }
+ }
+
+ return props;
+}
+
+/** Create an element with the given nodeName.
+ * @param {String} nodeName
+ * @param {Boolean} [isSvg=false] If `true`, creates an element within the SVG namespace.
+ * @returns {Element} node
+ */
+function createNode(nodeName, isSvg) {
+ var node = isSvg ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName) : options.doc.createElement(nodeName);
+ node.normalizedNodeName = nodeName;
+ return node;
+}
+
+function parseCSSText(cssText) {
+ var cssTxt = cssText.replace(/\/\*(.|\s)*?\*\//g, ' ').replace(/\s+/g, ' ');
+ var style = {},
+ _ref = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt],
+ a = _ref[0],
+ b = _ref[1],
+ rule = _ref[2];
+
+ var cssToJs = function cssToJs(s) {
+ return s.replace(/\W+\w/g, function (match) {
+ return match.slice(-1).toUpperCase();
+ });
+ };
+ var properties = rule.split(';').map(function (o) {
+ return o.split(':').map(function (x) {
+ return x && x.trim();
+ });
+ });
+ for (var i = properties, i = Array.isArray(i), i = 0, i = i ? i : i[Symbol.iterator]();;) {
+ var _ref3;
+
+ if (i) {
+ if (i >= i.length) break;
+ _ref3 = i[i++];
+ } else {
+ i = i.next();
+ if (i.done) break;
+ _ref3 = i.value;
+ }
+
+ var _ref2 = _ref3;
+ var property = _ref2[0];
+ var value = _ref2[1];
+ style[cssToJs(property)] = value;
+ }return style;
+}
+
+/** Remove a child node from its parent if attached.
+ * @param {Element} node The node to remove
+ */
+function removeNode(node) {
+ var parentNode = node.parentNode;
+ if (parentNode) parentNode.removeChild(node);
+}
+
+/** Set a named attribute on the given Node, with special behavior for some names and event handlers.
+ * If `value` is `null`, the attribute/handler will be removed.
+ * @param {Element} node An element to mutate
+ * @param {string} name The name/key to set, such as an event or attribute name
+ * @param {any} old The last value that was set for this name/node pair
+ * @param {any} value An attribute value, such as a function to be used as an event handler
+ * @param {Boolean} isSvg Are we currently diffing inside an svg?
+ * @private
+ */
+function setAccessor(node, name, old, value, isSvg) {
+ if (name === 'className') name = 'class';
+
+ if (name === 'key') {
+ // ignore
+ } else if (name === 'ref') {
+ applyRef(old, null);
+ applyRef(value, node);
+ } else if (name === 'class' && !isSvg) {
+ node.className = value || '';
+ } else if (name === 'style') {
+ if (options.isWeb) {
+ if (!value || typeof value === 'string' || typeof old === 'string') {
+ node.style.cssText = value || '';
+ }
+ if (value && typeof value === 'object') {
+ if (typeof old !== 'string') {
+ for (var i in old) {
+ if (!(i in value)) node.style[i] = '';
+ }
+ }
+ for (var i in value) {
+ node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL$1.test(i) === false ? value[i] + 'px' : value[i];
+ }
+ }
+ } else {
+ var oldJson = old,
+ currentJson = value;
+ if (typeof old === 'string') {
+ oldJson = parseCSSText(old);
+ }
+ if (typeof value == 'string') {
+ currentJson = parseCSSText(value);
+ }
+
+ var result = {},
+ changed = false;
+
+ if (oldJson) {
+ for (var key in oldJson) {
+ if (typeof currentJson == 'object' && !(key in currentJson)) {
+ result[key] = '';
+ changed = true;
+ }
+ }
+
+ for (var ckey in currentJson) {
+ if (currentJson[ckey] !== oldJson[ckey]) {
+ result[ckey] = currentJson[ckey];
+ changed = true;
+ }
+ }
+
+ if (changed) {
+ node.setStyles(result);
+ }
+ } else {
+ node.setStyles(currentJson);
+ }
+ }
+ } else if (name === 'dangerouslySetInnerHTML') {
+ if (value) node.innerHTML = value.__html || '';
+ } else if (name[0] == 'o' && name[1] == 'n') {
+ var useCapture = name !== (name = name.replace(/Capture$/, ''));
+ name = name.toLowerCase().substring(2);
+ if (value) {
+ if (!old) {
+ node.addEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.addEventListener('touchstart', touchStart, useCapture);
+ node.addEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ } else {
+ node.removeEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.removeEventListener('touchstart', touchStart, useCapture);
+ node.removeEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ (node._listeners || (node._listeners = {}))[name] = value;
+ } else if (name[0] == 'b' && name[1] == 'i' && name[2] == 'n' && name[3] == 'd') {
+ var useCapture = name !== (name = name.replace(/Capture$/, ''));
+ name = name.toLowerCase().substring(4);
+ if (value) {
+ if (!old) {
+ node.addEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.addEventListener('touchstart', touchStart, useCapture);
+ node.addEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ } else {
+ node.removeEventListener(name, eventProxy, useCapture);
+ if (name == 'tap') {
+ node.removeEventListener('touchstart', touchStart, useCapture);
+ node.removeEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ (node._listeners || (node._listeners = {}))[name] = value;
+ } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {
+ setProperty(node, name, value == null ? '' : value);
+ if (value == null || value === false) node.removeAttribute(name);
+ } else {
+ var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));
+ if (value == null || value === false) {
+ if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.removeAttribute(name);
+ } else if (typeof value !== 'function') {
+ if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);else node.setAttribute(name, value);
+ }
+ }
+}
+
+/** Attempt to set a DOM property to the given value.
+ * IE & FF throw for certain property-value combinations.
+ */
+function setProperty(node, name, value) {
+ try {
+ node[name] = value;
+ } catch (e) {}
+}
+
+/** Proxy an event to hooked event handlers
+ * @private
+ */
+function eventProxy(e) {
+ return this._listeners[e.type](options.event && options.event(e) || e);
+}
+
+function touchStart(e) {
+ this.___touchX = e.touches[0].pageX;
+ this.___touchY = e.touches[0].pageY;
+ this.___scrollTop = document.body.scrollTop;
+}
+
+function touchEnd(e) {
+ if (Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 && Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 && Math.abs(document.body.scrollTop - this.___scrollTop) < 30) {
+ this.dispatchEvent(new CustomEvent('tap', { detail: e }));
+ }
+}
+
+var styleId = 0;
+
+function getCtorName(ctor) {
+ for (var i = 0, len = options.styleCache.length; i < len; i++) {
+ var item = options.styleCache[i];
+
+ if (item.ctor === ctor) {
+ return item.attrName;
+ }
+ }
+
+ var attrName = 's' + styleId;
+ options.styleCache.push({ ctor: ctor, attrName: attrName });
+ styleId++;
+
+ return attrName;
+}
+
+// many thanks to https://github.com/thomaspark/scoper/
+function scoper(css, prefix) {
+ prefix = '[' + prefix.toLowerCase() + ']';
+ // https://www.w3.org/TR/css-syntax-3/#lexical
+ css = css.replace(/\/\*[^*]*\*+([^/][^*]*\*+)*\//g, '');
+ // eslint-disable-next-line
+ var re = new RegExp('([^\r\n,{}:]+)(:[^\r\n,{}]+)?(,(?=[^{}]*{)|\s*{)', 'g');
+ /**
+ * Example:
+ *
+ * .classname::pesudo { color:red }
+ *
+ * g1 is normal selector `.classname`
+ * g2 is pesudo class or pesudo element
+ * g3 is the suffix
+ */
+ css = css.replace(re, function (g0, g1, g2, g3) {
+ if (typeof g2 === 'undefined') {
+ g2 = '';
+ }
+
+ /* eslint-ignore-next-line */
+ if (g1.match(/^\s*(@media|\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/)) {
+ return g1 + g2 + g3;
+ }
+
+ var appendClass = g1.replace(/(\s*)$/, '') + prefix + g2;
+ //let prependClass = prefix + ' ' + g1.trim() + g2;
+
+ return appendClass + g3;
+ //return appendClass + ',' + prependClass + g3;
+ });
+
+ return css;
+}
+
+function addStyle(cssText, id) {
+ id = id.toLowerCase();
+ var ele = document.getElementById(id);
+ var head = document.getElementsByTagName('head')[0];
+ if (ele && ele.parentNode === head) {
+ head.removeChild(ele);
+ }
+
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+ someThingStyles.setAttribute('id', id);
+ if (window.ActiveXObject) {
+ someThingStyles.styleSheet.cssText = cssText;
+ } else {
+ someThingStyles.textContent = cssText;
+ }
+}
+
+function addStyleWithoutId(cssText) {
+ var head = document.getElementsByTagName('head')[0];
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+
+ if (window.ActiveXObject) {
+ someThingStyles.styleSheet.cssText = cssText;
+ } else {
+ someThingStyles.textContent = cssText;
+ }
+}
+
+function addScopedAttrStatic(vdom, attr) {
+ if (options.scopedStyle) {
+ scopeVdom(attr, vdom);
+ }
+}
+
+function addStyleToHead(style, attr) {
+ if (options.scopedStyle) {
+ if (!options.staticStyleMapping[attr]) {
+ addStyle(scoper(style, attr), attr);
+ options.staticStyleMapping[attr] = true;
+ }
+ } else if (!options.staticStyleMapping[attr]) {
+ addStyleWithoutId(style);
+ options.staticStyleMapping[attr] = true;
+ }
+}
+
+function scopeVdom(attr, vdom) {
+ if (typeof vdom === 'object') {
+ vdom.attributes = vdom.attributes || {};
+ vdom.attributes[attr] = '';
+ vdom.css = vdom.css || {};
+ vdom.css[attr] = '';
+ vdom.children.forEach(function (child) {
+ return scopeVdom(attr, child);
+ });
+ }
+}
+
+function scopeHost(vdom, css) {
+ if (typeof vdom === 'object' && css) {
+ vdom.attributes = vdom.attributes || {};
+ for (var key in css) {
+ vdom.attributes[key] = '';
+ }
+ }
+}
+
+/** Queue of components that have been mounted and are awaiting componentDidMount */
+var mounts = [];
+
+/** Diff recursion count, used to track the end of the diff cycle. */
+var diffLevel = 0;
+
+/** Global flag indicating if the diff is currently within an SVG */
+var isSvgMode = false;
+
+/** Global flag indicating if the diff is performing hydration */
+var hydrating = false;
+
+/** Invoke queued componentDidMount lifecycle methods */
+function flushMounts() {
+ var c;
+ while (c = mounts.pop()) {
+ if (options.afterMount) options.afterMount(c);
+ if (c.installed) c.installed();
+ if (c.constructor.css || c.css) {
+ addStyleToHead(c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css, '_s' + getCtorName(c.constructor));
+ }
+ }
+}
+
+/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.
+ * @param {Element} [dom=null] A DOM node to mutate into the shape of the `vnode`
+ * @param {VNode} vnode A VNode (with descendants forming a tree) representing the desired DOM structure
+ * @returns {Element} dom The created/mutated element
+ * @private
+ */
+function diff(dom, vnode, context, mountAll, parent, componentRoot) {
+ // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)
+ if (!diffLevel++) {
+ // when first starting the diff, check if we're diffing an SVG or within an SVG
+ isSvgMode = parent != null && parent.ownerSVGElement !== undefined;
+
+ // hydration is indicated by the existing element to be diffed not having a prop cache
+ hydrating = dom != null && !('__omiattr_' in dom);
+ }
+ var ret;
+
+ if (isArray(vnode)) {
+ vnode = {
+ nodeName: 'span',
+ children: vnode
+ };
+ }
+
+ ret = idiff(dom, vnode, context, mountAll, componentRoot);
+ // append the element if its a new parent
+ if (parent && ret.parentNode !== parent) parent.appendChild(ret);
+
+ // diffLevel being reduced to 0 means we're exiting the diff
+ if (! --diffLevel) {
+ hydrating = false;
+ // invoke queued componentDidMount lifecycle methods
+ if (!componentRoot) flushMounts();
+ }
+
+ return ret;
+}
+
+/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */
+function idiff(dom, vnode, context, mountAll, componentRoot) {
+ var out = dom,
+ prevSvgMode = isSvgMode;
+
+ // empty values (null, undefined, booleans) render as empty Text nodes
+ if (vnode == null || typeof vnode === 'boolean') vnode = '';
+
+ // If the VNode represents a Component, perform a component diff:
+ var vnodeName = vnode.nodeName;
+ if (options.mapping[vnodeName]) {
+ vnode.nodeName = options.mapping[vnodeName];
+ return buildComponentFromVNode(dom, vnode, context, mountAll);
+ }
+ if (typeof vnodeName == 'function') {
+ return buildComponentFromVNode(dom, vnode, context, mountAll);
+ }
+
+ // Fast case: Strings & Numbers create/update Text nodes.
+ if (typeof vnode === 'string' || typeof vnode === 'number') {
+ // update if it's already a Text node:
+ if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) {
+ /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */
+ if (dom.nodeValue != vnode) {
+ dom.nodeValue = vnode;
+ }
+ } else {
+ // it wasn't a Text node: replace it with one and recycle the old Element
+ out = document.createTextNode(vnode);
+ if (dom) {
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+ recollectNodeTree(dom, true);
+ }
+ }
+
+ //ie8 error
+ try {
+ out['__omiattr_'] = true;
+ } catch (e) {}
+
+ return out;
+ }
+
+ // Tracks entering and exiting SVG namespace when descending through the tree.
+ isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode;
+
+ // If there's no existing element or it's the wrong type, create a new one:
+ vnodeName = String(vnodeName);
+ if (!dom || !isNamedNode(dom, vnodeName)) {
+ out = createNode(vnodeName, isSvgMode);
+
+ if (dom) {
+ // move children into the replacement node
+ while (dom.firstChild) {
+ out.appendChild(dom.firstChild);
+ } // if the previous Element was mounted into the DOM, replace it inline
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+
+ // recycle the old element (skips non-Element node types)
+ recollectNodeTree(dom, true);
+ }
+ }
+
+ var fc = out.firstChild,
+ props = out['__omiattr_'],
+ vchildren = vnode.children;
+
+ if (props == null) {
+ props = out['__omiattr_'] = {};
+ for (var a = out.attributes, i = a.length; i--;) {
+ props[a[i].name] = a[i].value;
+ }
+ }
+
+ // Optimization: fast-path for elements containing a single TextNode:
+ if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) {
+ if (fc.nodeValue != vchildren[0]) {
+ fc.nodeValue = vchildren[0];
+ }
+ }
+ // otherwise, if there are existing or new children, diff them:
+ else if (vchildren && vchildren.length || fc != null) {
+ innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null);
+ }
+
+ // Apply attributes/props from VNode to the DOM Element:
+ diffAttributes(out, vnode.attributes, props);
+
+ // restore previous SVG mode: (in case we're exiting an SVG namespace)
+ isSvgMode = prevSvgMode;
+
+ return out;
+}
+
+/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.
+ * @param {Element} dom Element whose children should be compared & mutated
+ * @param {Array} vchildren Array of VNodes to compare to `dom.childNodes`
+ * @param {Object} context Implicitly descendant context object (from most recent `getChildContext()`)
+ * @param {Boolean} mountAll
+ * @param {Boolean} isHydrating If `true`, consumes externally created elements similar to hydration
+ */
+function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {
+ var originalChildren = dom.childNodes,
+ children = [],
+ keyed = {},
+ keyedLen = 0,
+ min = 0,
+ len = originalChildren.length,
+ childrenLen = 0,
+ vlen = vchildren ? vchildren.length : 0,
+ j,
+ c,
+ f,
+ vchild,
+ child;
+
+ // Build up a map of keyed children and an Array of unkeyed children:
+ if (len !== 0) {
+ for (var i = 0; i < len; i++) {
+ var _child = originalChildren[i],
+ props = _child['__omiattr_'],
+ key = vlen && props ? _child._component ? _child._component.__key : props.key : null;
+ if (key != null) {
+ keyedLen++;
+ keyed[key] = _child;
+ } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) {
+ children[childrenLen++] = _child;
+ }
+ }
+ }
+
+ if (vlen !== 0) {
+ for (var i = 0; i < vlen; i++) {
+ vchild = vchildren[i];
+ child = null;
+
+ // attempt to find a node based on key matching
+ var key = vchild.key;
+ if (key != null) {
+ if (keyedLen && keyed[key] !== undefined) {
+ child = keyed[key];
+ keyed[key] = undefined;
+ keyedLen--;
+ }
+ }
+ // attempt to pluck a node of the same type from the existing children
+ else if (!child && min < childrenLen) {
+ for (j = min; j < childrenLen; j++) {
+ if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {
+ child = c;
+ children[j] = undefined;
+ if (j === childrenLen - 1) childrenLen--;
+ if (j === min) min++;
+ break;
+ }
+ }
+ }
+
+ // morph the matched/found/created DOM child to match vchild (deep)
+ child = idiff(child, vchild, context, mountAll);
+
+ f = originalChildren[i];
+ if (child && child !== dom && child !== f) {
+ if (f == null) {
+ dom.appendChild(child);
+ } else if (child === f.nextSibling) {
+ removeNode(f);
+ } else {
+ dom.insertBefore(child, f);
+ }
+ }
+ }
+ }
+
+ // remove unused keyed children:
+ if (keyedLen) {
+ for (var i in keyed) {
+ if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false);
+ }
+ }
+
+ // remove orphaned unkeyed children:
+ while (min <= childrenLen) {
+ if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false);
+ }
+}
+
+/** Recursively recycle (or just unmount) a node and its descendants.
+ * @param {Node} node DOM node to start unmount/removal from
+ * @param {Boolean} [unmountOnly=false] If `true`, only triggers unmount lifecycle, skips removal
+ */
+function recollectNodeTree(node, unmountOnly) {
+ var component = node._component;
+ if (component) {
+ // if node is owned by a Component, unmount that component (ends up recursing back here)
+ unmountComponent(component);
+ } else {
+ // If the node's VNode had a ref function, invoke it with null here.
+ // (this is part of the React spec, and smart for unsetting references)
+ if (node['__omiattr_'] != null) applyRef(node['__omiattr_'].ref, null);
+
+ if (unmountOnly === false || node['__omiattr_'] == null) {
+ removeNode(node);
+ }
+
+ removeChildren(node);
+ }
+}
+
+/** Recollect/unmount all children.
+ * - we use .lastChild here because it causes less reflow than .firstChild
+ * - it's also cheaper than accessing the .childNodes Live NodeList
+ */
+function removeChildren(node) {
+ node = node.lastChild;
+ while (node) {
+ var next = node.previousSibling;
+ recollectNodeTree(node, true);
+ node = next;
+ }
+}
+
+/** Apply differences in attributes from a VNode to the given DOM Element.
+ * @param {Element} dom Element with attributes to diff `attrs` against
+ * @param {Object} attrs The desired end-state key-value attribute pairs
+ * @param {Object} old Current/previous attributes (from previous VNode or element's prop cache)
+ */
+function diffAttributes(dom, attrs, old) {
+ var name;
+
+ // remove attributes no longer present on the vnode by setting them to undefined
+ for (name in old) {
+ if (!(attrs && attrs[name] != null) && old[name] != null) {
+ setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);
+ }
+ }
+
+ // add new & update changed attributes
+ for (name in attrs) {
+ if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) {
+ setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);
+ }
+ }
+}
+
+/** Retains a pool of Components for re-use, keyed on component name.
+ * Note: since component names are not unique or even necessarily available, these are primarily a form of sharding.
+ * @private
+ */
+var components = {};
+
+/** Reclaim a component for later re-use by the recycler. */
+function collectComponent(component) {
+ var name = component.constructor.name;(components[name] || (components[name] = [])).push(component);
+}
+
+/** Create a component. Normalizes differences between PFC's and classful Components. */
+function createComponent(Ctor, props, context, vnode) {
+ var list = components[Ctor.name],
+ inst;
+
+ if (Ctor.prototype && Ctor.prototype.render) {
+ inst = new Ctor(props, context);
+ Component.call(inst, props, context);
+ } else {
+ inst = new Component(props, context);
+ inst.constructor = Ctor;
+ inst.render = doRender;
+ }
+ vnode && (inst.scopedCssAttr = vnode.css);
+
+ if (list) {
+ for (var i = list.length; i--;) {
+ if (list[i].constructor === Ctor) {
+ inst.nextBase = list[i].nextBase;
+ list.splice(i, 1);
+ break;
+ }
+ }
+ }
+ return inst;
+}
+
+/** The `.render()` method for a PFC backing instance. */
+function doRender(props, data, context) {
+ return this.constructor(props, context);
+}
+
+/* obaa 1.0.0
+ * By dntzhang
+ * Github: https://github.com/Tencent/omi
+ * MIT Licensed.
+ */
+
+var obaa = function obaa(target, arr, callback) {
+ var _observe = function _observe(target, arr, callback) {
+ if (!target.$observer) target.$observer = this;
+ var $observer = target.$observer;
+ var eventPropArr = [];
+ if (obaa.isArray(target)) {
+ if (target.length === 0) {
+ target.$observeProps = {};
+ target.$observeProps.$observerPath = '#';
+ }
+ $observer.mock(target);
+ }
+ for (var prop in target) {
+ if (target.hasOwnProperty(prop)) {
+ if (callback) {
+ if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ } else if (obaa.isString(arr) && prop == arr) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ } else {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ }
+ }
+ $observer.target = target;
+ if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = [];
+ var propChanged = callback ? callback : arr;
+ $observer.propertyChangedHandler.push({
+ all: !callback,
+ propChanged: propChanged,
+ eventPropArr: eventPropArr
+ });
+ };
+ _observe.prototype = {
+ onPropertyChanged: function onPropertyChanged(prop, value, oldValue, target, path) {
+ if (value !== oldValue && this.propertyChangedHandler) {
+ var rootName = obaa._getRootName(prop, path);
+ for (var i = 0, len = this.propertyChangedHandler.length; i < len; i++) {
+ var handler = this.propertyChangedHandler[i];
+ if (handler.all || obaa.isInArray(handler.eventPropArr, rootName) || rootName.indexOf('Array-') === 0) {
+ handler.propChanged.call(this.target, prop, value, oldValue, path);
+ }
+ }
+ }
+ if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {
+ this.watch(target, prop, target.$observeProps.$observerPath);
+ }
+ },
+ mock: function mock(target) {
+ var self = this;
+ obaa.methods.forEach(function (item) {
+ target[item] = function () {
+ var old = Array.prototype.slice.call(this, 0);
+ var result = Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ if (new RegExp('\\b' + item + '\\b').test(obaa.triggerStr)) {
+ for (var cprop in this) {
+ if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {
+ self.watch(this, cprop, this.$observeProps.$observerPath);
+ }
+ }
+ //todo
+ self.onPropertyChanged('Array-' + item, this, old, this, this.$observeProps.$observerPath);
+ }
+ return result;
+ };
+ target['pure' + item.substring(0, 1).toUpperCase() + item.substring(1)] = function () {
+ return Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ };
+ });
+ },
+ watch: function watch(target, prop, path) {
+ if (prop === '$observeProps' || prop === '$observer') return;
+ if (obaa.isFunction(target[prop])) return;
+ if (!target.$observeProps) target.$observeProps = {};
+ if (path !== undefined) {
+ target.$observeProps.$observerPath = path;
+ } else {
+ target.$observeProps.$observerPath = '#';
+ }
+ var self = this;
+ var currentValue = target.$observeProps[prop] = target[prop];
+ Object.defineProperty(target, prop, {
+ get: function get() {
+ return this.$observeProps[prop];
+ },
+ set: function set(value) {
+ var old = this.$observeProps[prop];
+ this.$observeProps[prop] = value;
+ self.onPropertyChanged(prop, value, old, this, target.$observeProps.$observerPath);
+ }
+ });
+ if (typeof currentValue == 'object') {
+ if (obaa.isArray(currentValue)) {
+ this.mock(currentValue);
+ if (currentValue.length === 0) {
+ if (!currentValue.$observeProps) currentValue.$observeProps = {};
+ if (path !== undefined) {
+ currentValue.$observeProps.$observerPath = path;
+ } else {
+ currentValue.$observeProps.$observerPath = '#';
+ }
+ }
+ }
+ for (var cprop in currentValue) {
+ if (currentValue.hasOwnProperty(cprop)) {
+ this.watch(currentValue, cprop, target.$observeProps.$observerPath + '-' + prop);
+ }
+ }
+ }
+ }
+ };
+ return new _observe(target, arr, callback);
+};
+
+obaa.methods = ['concat', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift', 'values', 'size'];
+obaa.triggerStr = ['concat', 'copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'size'].join(',');
+
+obaa.isArray = function (obj) {
+ return Object.prototype.toString.call(obj) === '[object Array]';
+};
+
+obaa.isString = function (obj) {
+ return typeof obj === 'string';
+};
+
+obaa.isInArray = function (arr, item) {
+ for (var i = arr.length; --i > -1;) {
+ if (item === arr[i]) return true;
+ }
+ return false;
+};
+
+obaa.isFunction = function (obj) {
+ return Object.prototype.toString.call(obj) == '[object Function]';
+};
+
+obaa._getRootName = function (prop, path) {
+ if (path === '#') {
+ return prop;
+ }
+ return path.split('-')[1];
+};
+
+obaa.add = function (obj, prop) {
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+};
+
+obaa.set = function (obj, prop, value, exec) {
+ if (!exec) {
+ obj[prop] = value;
+ }
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+ if (exec) {
+ obj[prop] = value;
+ }
+};
+
+Array.prototype.size = function (length) {
+ this.length = length;
+};
+
+var callbacks = [];
+var nextTickCallback = [];
+
+function fireTick() {
+ callbacks.forEach(function (item) {
+ item.fn.call(item.scope);
+ });
+
+ nextTickCallback.forEach(function (nextItem) {
+ nextItem.fn.call(nextItem.scope);
+ });
+ nextTickCallback.length = 0;
+}
+
+function proxyUpdate(ele) {
+ var timeout = null;
+ obaa(ele.data, function () {
+ if (ele._willUpdate) {
+ return;
+ }
+ if (ele.constructor.mergeUpdate) {
+ clearTimeout(timeout);
+
+ timeout = setTimeout(function () {
+ ele.update();
+ fireTick();
+ }, 0);
+ } else {
+ ele.update();
+ fireTick();
+ }
+ });
+}
+
+/** Set a component's `props` (generally derived from JSX attributes).
+ * @param {Object} props
+ * @param {Object} [opts]
+ * @param {boolean} [opts.renderSync=false] If `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.
+ * @param {boolean} [opts.render=true] If `false`, no render will be triggered.
+ */
+function setComponentProps(component, props, opts, context, mountAll) {
+ if (component._disable) return;
+ component._disable = true;
+
+ if (component.__ref = props.ref) delete props.ref;
+ if (component.__key = props.key) delete props.key;
+
+ if (!component.base || mountAll) {
+ if (component.beforeInstall) component.beforeInstall();
+ //防止小程序 options 报错
+ if (component.install) component.install({});
+ if (component.constructor.observe) {
+ proxyUpdate(component);
+ }
+ } else if (component.receiveProps) {
+ component.receiveProps(props, component.data, component.props);
+ }
+
+ if (context && context !== component.context) {
+ if (!component.prevContext) component.prevContext = component.context;
+ component.context = context;
+ }
+
+ if (!component.prevProps) component.prevProps = component.props;
+ component.props = props;
+
+ component._disable = false;
+
+ if (opts !== 0) {
+ if (opts === 1 || options.syncComponentUpdates !== false || !component.base) {
+ renderComponent(component, 1, mountAll);
+ } else {
+ enqueueRender(component);
+ }
+ }
+
+ applyRef(component.__ref, component);
+}
+
+function shallowComparison(old, attrs) {
+ var name;
+
+ for (name in old) {
+ if (attrs[name] == null && old[name] != null) {
+ return true;
+ }
+ }
+
+ if (old.children.length > 0 || attrs.children.length > 0) {
+ return true;
+ }
+
+ for (name in attrs) {
+ if (name != 'children') {
+ var type = typeof attrs[name];
+ if (type == 'function' || type == 'object') {
+ return true;
+ } else if (attrs[name] != old[name]) {
+ return true;
+ }
+ }
+ }
+}
+
+/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.
+ * @param {Component} component
+ * @param {Object} [opts]
+ * @param {boolean} [opts.build=false] If `true`, component will build and store a DOM node if not already associated with one.
+ * @private
+ */
+function renderComponent(component, opts, mountAll, isChild) {
+ if (component._disable) return;
+
+ var props = component.props,
+ data = component.data,
+ context = component.context,
+ previousProps = component.prevProps || props,
+ previousState = component.prevState || data,
+ previousContext = component.prevContext || context,
+ isUpdate = component.base,
+ nextBase = component.nextBase,
+ initialBase = isUpdate || nextBase,
+ initialChildComponent = component._component,
+ skip = false,
+ rendered,
+ inst,
+ cbase;
+
+ // if updating
+ if (isUpdate) {
+ component.props = previousProps;
+ component.data = previousState;
+ component.context = previousContext;
+ if (component.store || opts == 2 || shallowComparison(previousProps, props)) {
+ skip = false;
+ if (component.beforeUpdate) {
+ component.beforeUpdate(props, data, context);
+ }
+ } else {
+ skip = true;
+ }
+ component.props = props;
+ component.data = data;
+ component.context = context;
+ }
+
+ component.prevProps = component.prevState = component.prevContext = component.nextBase = null;
+
+ if (!skip) {
+ component.beforeRender && component.beforeRender();
+ rendered = component.render(props, data, context);
+
+ //don't rerender
+ if (component.constructor.css || component.css) {
+ addScopedAttrStatic(rendered, '_s' + getCtorName(component.constructor));
+ }
+
+ scopeHost(rendered, component.scopedCssAttr);
+
+ // context to pass to the child, can be updated via (grand-)parent component
+ if (component.getChildContext) {
+ context = extend(extend({}, context), component.getChildContext());
+ }
+
+ var childComponent = rendered && rendered.nodeName,
+ toUnmount,
+ base,
+ ctor = options.mapping[childComponent];
+
+ if (ctor) {
+ // set up high order component link
+
+ var childProps = getNodeProps(rendered);
+ inst = initialChildComponent;
+
+ if (inst && inst.constructor === ctor && childProps.key == inst.__key) {
+ setComponentProps(inst, childProps, 1, context, false);
+ } else {
+ toUnmount = inst;
+
+ component._component = inst = createComponent(ctor, childProps, context);
+ inst.nextBase = inst.nextBase || nextBase;
+ inst._parentComponent = component;
+ setComponentProps(inst, childProps, 0, context, false);
+ renderComponent(inst, 1, mountAll, true);
+ }
+
+ base = inst.base;
+ } else {
+ cbase = initialBase;
+
+ // destroy high order component link
+ toUnmount = initialChildComponent;
+ if (toUnmount) {
+ cbase = component._component = null;
+ }
+
+ if (initialBase || opts === 1) {
+ if (cbase) cbase._component = null;
+ base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true);
+ }
+ }
+
+ if (initialBase && base !== initialBase && inst !== initialChildComponent) {
+ var baseParent = initialBase.parentNode;
+ if (baseParent && base !== baseParent) {
+ baseParent.replaceChild(base, initialBase);
+
+ if (!toUnmount) {
+ initialBase._component = null;
+ recollectNodeTree(initialBase, false);
+ }
+ }
+ }
+
+ if (toUnmount) {
+ unmountComponent(toUnmount);
+ }
+
+ component.base = base;
+ if (base && !isChild) {
+ var componentRef = component,
+ t = component;
+ while (t = t._parentComponent) {
+(componentRef = t).base = base;
+ }
+ base._component = componentRef;
+ base._componentConstructor = componentRef.constructor;
+ }
+ }
+
+ if (!isUpdate || mountAll) {
+ mounts.unshift(component);
+ } else if (!skip) {
+ // Ensure that pending componentDidMount() hooks of child components
+ // are called before the componentDidUpdate() hook in the parent.
+ // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750
+ // flushMounts();
+
+ if (component.afterUpdate) {
+ //deprecated
+ component.afterUpdate(previousProps, previousState, previousContext);
+ }
+ if (component.updated) {
+ component.updated(previousProps, previousState, previousContext);
+ }
+ if (options.afterUpdate) options.afterUpdate(component);
+ }
+
+ if (component._renderCallbacks != null) {
+ while (component._renderCallbacks.length) {
+ component._renderCallbacks.pop().call(component);
+ }
+ }
+
+ if (!diffLevel && !isChild) flushMounts();
+}
+
+/** Apply the Component referenced by a VNode to the DOM.
+ * @param {Element} dom The DOM node to mutate
+ * @param {VNode} vnode A Component-referencing VNode
+ * @returns {Element} dom The created/mutated element
+ * @private
+ */
+function buildComponentFromVNode(dom, vnode, context, mountAll) {
+ var c = dom && dom._component,
+ originalComponent = c,
+ oldDom = dom,
+ isDirectOwner = c && dom._componentConstructor === vnode.nodeName,
+ isOwner = isDirectOwner,
+ props = getNodeProps(vnode);
+ while (c && !isOwner && (c = c._parentComponent)) {
+ isOwner = c.constructor === vnode.nodeName;
+ }
+
+ if (c && isOwner && (!mountAll || c._component)) {
+ setComponentProps(c, props, 3, context, mountAll);
+ dom = c.base;
+ } else {
+ if (originalComponent && !isDirectOwner) {
+ unmountComponent(originalComponent);
+ dom = oldDom = null;
+ }
+
+ c = createComponent(vnode.nodeName, props, context, vnode);
+ if (dom && !c.nextBase) {
+ c.nextBase = dom;
+ // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:
+ oldDom = null;
+ }
+ setComponentProps(c, props, 1, context, mountAll);
+ dom = c.base;
+
+ if (oldDom && dom !== oldDom) {
+ oldDom._component = null;
+ recollectNodeTree(oldDom, false);
+ }
+ }
+
+ return dom;
+}
+
+/** Remove a component from the DOM and recycle it.
+ * @param {Component} component The Component instance to unmount
+ * @private
+ */
+function unmountComponent(component) {
+ if (options.beforeUnmount) options.beforeUnmount(component);
+
+ var base = component.base;
+
+ component._disable = true;
+
+ if (component.uninstall) component.uninstall();
+
+ component.base = null;
+
+ // recursively tear down & recollect high-order component children:
+ var inner = component._component;
+ if (inner) {
+ unmountComponent(inner);
+ } else if (base) {
+ if (base['__omiattr_'] != null) applyRef(base['__omiattr_'].ref, null);
+
+ component.nextBase = base;
+
+ removeNode(base);
+ collectComponent(component);
+
+ removeChildren(base);
+ }
+
+ applyRef(component.__ref, null);
+}
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+var id = 0;
+
+var Component = function () {
+ function Component(props, store) {
+ _classCallCheck(this, Component);
+
+ this.props = assign(nProps(this.constructor.props), this.constructor.defaultProps, props);
+ this.elementId = id++;
+ this.data = this.constructor.data || this.data || {};
+
+ this._preCss = null;
+
+ this.store = store;
+ }
+
+ Component.prototype.update = function update(callback) {
+ this._willUpdate = true;
+ if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback);
+ renderComponent(this, 2);
+ if (options.componentChange) options.componentChange(this, this.base);
+ this._willUpdate = false;
+ };
+
+ Component.prototype.fire = function fire(type, data) {
+ var _this = this;
+
+ Object.keys(this.props).every(function (key) {
+ if ('on' + type.toLowerCase() === key.toLowerCase()) {
+ _this.props[key]({ detail: data });
+ return false;
+ }
+ return true;
+ });
+ };
+
+ Component.prototype.render = function render() {};
+
+ return Component;
+}();
+
+Component.is = 'WeElement';
+
+/** Render JSX into a `parent` Element.
+ * @param {VNode} vnode A (JSX) VNode to render
+ * @param {Element} parent DOM element to render into
+ * @param {object} [store]
+ * @public
+ */
+function render(vnode, parent, store, empty, merge) {
+ parent = typeof parent === 'string' ? document.querySelector(parent) : parent;
+
+ if (empty) {
+ while (parent.firstChild) {
+ parent.removeChild(parent.firstChild);
+ }
+ }
+
+ if (merge) {
+ merge = typeof merge === 'string' ? document.querySelector(merge) : merge;
+ }
+
+ return diff(merge, vnode, store, false, parent, false);
+}
+
+function define(name, ctor) {
+ options.mapping[name] = ctor;
+}
+
+function rpx(str) {
+ return str.replace(/([1-9]\d*|0)(\.\d*)*rpx/g, function (a, b) {
+ return window.innerWidth * Number(b) / 750 + 'px';
+ });
+}
+
+function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+var ModelView = function (_Component) {
+ _inherits(ModelView, _Component);
+
+ function ModelView() {
+ _classCallCheck$1(this, ModelView);
+
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+
+ ModelView.prototype.beforeInstall = function beforeInstall() {
+ this.data = this.vm.data;
+ };
+
+ return ModelView;
+}(Component);
+
+ModelView.observe = true;
+ModelView.mergeUpdate = true;
+
+/**
+ * classNames based on https://github.com/JedWatson/classnames
+ * by Jed Watson
+ * Licensed under the MIT License
+ * https://github.com/JedWatson/classnames/blob/master/LICENSE
+ * modified by dntzhang
+ */
+
+var hasOwn = {}.hasOwnProperty;
+
+function classNames() {
+ var classes = [];
+
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (!arg) continue;
+
+ var argType = typeof arg;
+
+ if (argType === 'string' || argType === 'number') {
+ classes.push(arg);
+ } else if (Array.isArray(arg) && arg.length) {
+ var inner = classNames.apply(null, arg);
+ if (inner) {
+ classes.push(inner);
+ }
+ } else if (argType === 'object') {
+ for (var key in arg) {
+ if (hasOwn.call(arg, key) && arg[key]) {
+ classes.push(key);
+ }
+ }
+ }
+ }
+
+ return classes.join(' ');
+}
+
+function extractClass() {
+ var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0),
+ props = _Array$prototype$slic[0],
+ args = _Array$prototype$slic.slice(1);
+
+ if (props) {
+ if (props.class) {
+ args.unshift(props.class);
+ delete props.class;
+ } else if (props.className) {
+ args.unshift(props.className);
+ delete props.className;
+ }
+ }
+ if (args.length > 0) {
+ return { class: classNames.apply(null, args) };
+ }
+}
+
+function getHost(component) {
+ var base = component.base;
+ if (base) {
+ while (base.parentNode) {
+ if (base.parentNode._component) {
+ return base.parentNode._component;
+ } else {
+ base = base.parentNode;
+ }
+ }
+ }
+}
+
+/**
+ * preact-render-to-string based on preact-render-to-string
+ * by Jason Miller
+ * Licensed under the MIT License
+ * https://github.com/developit/preact-render-to-string
+ *
+ * modified by dntzhang
+ */
+
+var encodeEntities = function encodeEntities(s) {
+ return String(s).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"');
+};
+
+var indent = function indent(s, char) {
+ return String(s).replace(/(\n+)/g, '$1' + (char || '\t'));
+};
+
+var mapping$1 = options.mapping;
+
+var VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;
+
+var isLargeString = function isLargeString(s, length, ignoreLines) {
+ return String(s).length > (length || 40) || !ignoreLines && String(s).indexOf('\n') !== -1 || String(s).indexOf('<') !== -1;
+};
+
+var JS_TO_CSS = {};
+
+// Convert an Object style to a CSSText string
+function styleObjToCss(s) {
+ var str = '';
+ for (var prop in s) {
+ var val = s[prop];
+ if (val != null) {
+ if (str) str += ' ';
+ // str += jsToCss(prop);
+ str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());
+ str += ': ';
+ str += val;
+ if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {
+ str += 'px';
+ }
+ str += ';';
+ }
+ }
+ return str || undefined;
+}
+
+/** The default export is an alias of `render()`. */
+function renderToString(vnode, opts, store, isSvgMode, css) {
+ if (vnode == null || typeof vnode === 'boolean') {
+ return '';
+ }
+
+ var nodeName = vnode.nodeName,
+ attributes = vnode.attributes,
+ isComponent = false;
+ store = store || {};
+ opts = Object.assign({
+ scopedCSS: true
+ }, opts);
+
+ var pretty = true && opts.pretty,
+ indentChar = pretty && typeof pretty === 'string' ? pretty : '\t';
+
+ // #text nodes
+ if (typeof vnode !== 'object' && !nodeName) {
+ return encodeEntities(vnode);
+ }
+
+ // components
+ var ctor = mapping$1[nodeName];
+ if (ctor) {
+ isComponent = true;
+
+ var props = getNodeProps$1(vnode),
+ rendered;
+ // class-based components
+ var c = new ctor(props, store);
+ // turn off stateful re-rendering:
+ c._disable = c.__x = true;
+ c.props = props;
+ c.store = store;
+ if (c.install) c.install();
+ if (c.beforeRender) c.beforeRender();
+ rendered = c.render(c.props, c.data, c.store);
+ var tempCss;
+ if (opts.scopedCSS) {
+
+ if (c.constructor.css || c.css) {
+
+ var cssStr = c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css;
+ var cssAttr = '_s' + getCtorName(c.constructor);
+
+ tempCss = '';
+
+ addScopedAttrStatic(rendered, '_s' + getCtorName(c.constructor));
+ }
+
+ c.scopedCSSAttr = vnode.css;
+ scopeHost(rendered, c.scopedCSSAttr);
+ }
+
+ return renderToString(rendered, opts, store, false, tempCss);
+ }
+
+ // render JSX to HTML
+ var s = '',
+ html;
+
+ if (attributes) {
+ var attrs = Object.keys(attributes);
+
+ // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)
+ if (opts && opts.sortAttributes === true) attrs.sort();
+
+ for (var i = 0; i < attrs.length; i++) {
+ var name = attrs[i],
+ v = attributes[name];
+ if (name === 'children') continue;
+
+ if (name.match(/[\s\n\\/='"\0<>]/)) continue;
+
+ if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;
+
+ if (name === 'className') {
+ if (attributes.class) continue;
+ name = 'class';
+ } else if (isSvgMode && name.match(/^xlink:?./)) {
+ name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');
+ }
+
+ if (name === 'style' && v && typeof v === 'object') {
+ v = styleObjToCss(v);
+ }
+
+ var hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);
+ if (hooked || hooked === '') {
+ s += hooked;
+ continue;
+ }
+
+ if (name === 'dangerouslySetInnerHTML') {
+ html = v && v.__html;
+ } else if ((v || v === 0 || v === '') && typeof v !== 'function') {
+ if (v === true || v === '') {
+ v = name;
+ // in non-xml mode, allow boolean attributes
+ if (!opts || !opts.xml) {
+ s += ' ' + name;
+ continue;
+ }
+ }
+ s += ' ' + name + '="' + encodeEntities(v) + '"';
+ }
+ }
+ }
+
+ // account for >1 multiline attribute
+ if (pretty) {
+ var sub = s.replace(/^\n\s*/, ' ');
+ if (sub !== s && !~sub.indexOf('\n')) s = sub;else if (pretty && ~s.indexOf('\n')) s += '\n';
+ }
+
+ s = '<' + nodeName + s + '>';
+ if (String(nodeName).match(/[\s\n\\/='"\0<>]/)) throw s;
+
+ var isVoid = String(nodeName).match(VOID_ELEMENTS);
+ if (isVoid) s = s.replace(/>$/, ' />');
+
+ var pieces = [];
+ if (html) {
+ // if multiline, indent.
+ if (pretty && isLargeString(html)) {
+ html = '\n' + indentChar + indent(html, indentChar);
+ }
+ s += html;
+ } else if (vnode.children) {
+ var hasLarge = pretty && ~s.indexOf('\n');
+ for (var i = 0; i < vnode.children.length; i++) {
+ var child = vnode.children[i];
+ if (child != null && child !== false) {
+ var childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,
+ ret = renderToString(child, opts, store, childSvgMode);
+ if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;
+ if (ret) pieces.push(ret);
+ }
+ }
+ if (pretty && hasLarge) {
+ for (var i = pieces.length; i--;) {
+ pieces[i] = '\n' + indentChar + indent(pieces[i], indentChar);
+ }
+ }
+ }
+
+ if (pieces.length) {
+ s += pieces.join('');
+ } else if (opts && opts.xml) {
+ return s.substring(0, s.length - 1) + ' />';
+ }
+
+ if (!isVoid) {
+ if (pretty && ~s.indexOf('\n')) s += '\n';
+ s += '' + nodeName + '>';
+ }
+
+ if (css) return css + s;
+ return s;
+}
+
+function assign$1(obj, props) {
+ for (var i in props) {
+ obj[i] = props[i];
+ }return obj;
+}
+
+function getNodeProps$1(vnode) {
+ var props = assign$1({}, vnode.attributes);
+ props.children = vnode.children;
+
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (defaultProps !== undefined) {
+ for (var i in defaultProps) {
+ if (props[i] === undefined) {
+ props[i] = defaultProps[i];
+ }
+ }
+ }
+
+ return props;
+}
+
+var WeElement = Component;
+var defineElement = define;
+function createRef() {
+ return {};
+}
+
+options.root.Omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+};
+options.root.omi = options.root.Omi;
+options.root.Omi.version = 'omio-1.3.8';
+options.root.Nerv = options.root.Omi
+options.root.___css = ''
+
+var omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+};
+
+export default omi;
+export { h, h as createElement, cloneElement, createRef, Component, render, rerender, options, WeElement, define, rpx, ModelView, defineElement, classNames, extractClass, getHost, renderToString };
+//# sourceMappingURL=omi.esm.js.map
diff --git a/packages/omip/my-app/src/libs/omip-h5/omi.esm.js.map b/packages/omip/my-app/src/libs/omip-h5/omi.esm.js.map
new file mode 100644
index 000000000..00ce6e231
--- /dev/null
+++ b/packages/omip/my-app/src/libs/omip-h5/omi.esm.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"omi.esm.js","sources":["../src/vnode.js","../src/options.js","../src/h.js","../src/util.js","../src/clone-element.js","../src/constants.js","../src/render-queue.js","../src/vdom/index.js","../src/dom/index.js","../src/style.js","../src/vdom/diff.js","../src/vdom/component-recycler.js","../src/obaa.js","../src/tick.js","../src/observe.js","../src/vdom/component.js","../src/component.js","../src/render.js","../src/define.js","../src/rpx.js","../src/model-view.js","../src/class.js","../src/get-host.js","../src/render-to-string.js","../src/omi.js"],"sourcesContent":["/** Virtual DOM Node */\nexport function VNode() {}\n","function getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n if (typeof self !== 'undefined') {\n return self\n } else if (typeof window !== 'undefined') {\n return window\n } else if (typeof global !== 'undefined') {\n return global\n }\n return (function() {\n return this\n })()\n }\n return global\n}\n\n/** Global options\n *\t@public\n *\t@namespace options {Object}\n */\nexport default {\n scopedStyle: true,\n mapping: {},\n isWeb: true,\n staticStyleMapping: {},\n doc: typeof document === 'object' ? document : null,\n root: getGlobal(),\n //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]\n styleCache: []\n //componentChange(component, element) { },\n /** If `true`, `prop` changes trigger synchronous component updates.\n *\t@name syncComponentUpdates\n *\t@type Boolean\n *\t@default true\n */\n //syncComponentUpdates: true,\n\n /** Processes all created VNodes.\n *\t@param {VNode} vnode\tA newly-created VNode to normalize/process\n */\n //vnode(vnode) { }\n\n /** Hook invoked after a component is mounted. */\n //afterMount(component) { },\n\n /** Hook invoked after the DOM is updated with a component's latest render. */\n //afterUpdate(component) { }\n\n /** Hook invoked immediately before a component is unmounted. */\n // beforeUnmount(component) { }\n}\n","import { VNode } from './vnode'\nimport options from './options'\n\nconst stack = []\n\nconst EMPTY_CHILDREN = []\n\n/**\n * JSX/hyperscript reviver.\n * @see http://jasonformat.com/wtf-is-jsx\n * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0\n *\n * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.\n *\n * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation\n * of the structure of a DOM tree. This structure can be realized by recursively comparing it against\n * the current _actual_ DOM structure, and applying only the differences.\n *\n * `h()`/`createElement()` accepts an element name, a list of attributes/props,\n * and optionally children to append to the element.\n *\n * @example The following DOM tree\n *\n * `Hello!
`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nexport function h(nodeName, attributes) {\n let children = EMPTY_CHILDREN,\n lastSimple,\n child,\n simple,\n i\n for (i = arguments.length; i-- > 2; ) {\n stack.push(arguments[i])\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children)\n delete attributes.children\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--; ) stack.push(child[i])\n } else {\n if (typeof child === 'boolean') child = null\n\n if ((simple = typeof nodeName !== 'function')) {\n if (child == null) child = ''\n else if (typeof child === 'number') child = String(child)\n else if (typeof child !== 'string') simple = false\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child\n } else if (children === EMPTY_CHILDREN) {\n children = [child]\n } else {\n children.push(child)\n }\n\n lastSimple = simple\n }\n }\n\n let p = new VNode()\n p.nodeName = nodeName\n p.children = children\n\tp.attributes = attributes == null ? undefined : attributes\n p.key = attributes == null ? undefined : attributes.key\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p)\n\n return p\n}\n","'use strict'\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols\nvar hasOwnProperty = Object.prototype.hasOwnProperty\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined')\n }\n\n return Object(val)\n}\n\nexport function assign(target, source) {\n var from\n var to = toObject(target)\n var symbols\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s])\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key]\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from)\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]]\n }\n }\n }\n }\n\n return to\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var oListeners = {};\n function runListeners(oEvent) {\n if (!oEvent) { oEvent = window.event; }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) { oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent); }\n break;\n }\n }\n }\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { return; }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) { return; }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) { return; }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { aElListeners.splice(iLstId, 1); }\n }\n };\n}\n\n\nif (typeof Object.create !== 'function') {\n Object.create = function(proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto)\n } else if (proto === null) {\n throw new Error(\n \"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\"\n )\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto\n\n return new F()\n }\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n }\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nexport function extend(obj, props) {\n for (let i in props) obj[i] = props[i]\n return obj\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nexport function applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value)\n else ref.current = value\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nlet usePromise = typeof Promise == 'function'\n\n// for native\nif (\n typeof document !== 'object' &&\n typeof global !== 'undefined' &&\n global.__config__\n) {\n if (global.__config__.platform === 'android') {\n usePromise = true\n } else {\n let systemVersion =\n (global.__config__.systemVersion &&\n global.__config__.systemVersion.split('.')[0]) ||\n 0\n if (systemVersion > 8) {\n usePromise = true\n }\n }\n}\n\nexport const defer = usePromise\n ? Promise.resolve().then.bind(Promise.resolve())\n : setTimeout\n\nexport function isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nexport function nProps(props) {\n if (!props || isArray(props)) return {}\n const result = {}\n Object.keys(props).forEach(key => {\n result[key] = props[key].value\n })\n return result\n}","import { extend } from './util'\nimport { h } from './h'\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nexport function cloneElement(vnode, props) {\n return h(\n vnode.nodeName,\n extend(extend({}, vnode.attributes), props),\n arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children\n )\n}\n","// render modes\n\nexport const NO_RENDER = 0\nexport const SYNC_RENDER = 1\nexport const FORCE_RENDER = 2\nexport const ASYNC_RENDER = 3\n\nexport const ATTR_KEY = '__omiattr_'\n\n// DOM properties that should NOT have \"px\" added when numeric\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i\n","import options from './options'\nimport { defer } from './util'\nimport { renderComponent } from './vdom/component'\n\n/** Managed queue of dirty components to be re-rendered */\n\nlet items = []\n\nexport function enqueueRender(component) {\n if (items.push(component) == 1) {\n ;(options.debounceRendering || defer)(rerender)\n }\n}\n\n/** Rerender all enqueued dirty components */\nexport function rerender() {\n\tlet p\n\twhile ( (p = items.pop()) ) {\n renderComponent(p)\n\t}\n}","import { extend } from '../util'\nimport options from '../options'\n\nconst mapping = options.mapping\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nexport function isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName]\n if (ctor) {\n return hydrating || node._componentConstructor === ctor\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName)\n }\n return hydrating || node._componentConstructor === vnode.nodeName\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nexport function isNamedNode(node, nodeName) {\n return (\n node.normalizedNodeName === nodeName ||\n node.nodeName.toLowerCase() === nodeName.toLowerCase()\n )\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nexport function getNodeProps(vnode) {\n let props = extend({}, vnode.attributes)\n props.children = vnode.children\n\n let defaultProps = vnode.nodeName.defaultProps\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i]\n }\n }\n }\n\n return props\n}\n","import { IS_NON_DIMENSIONAL } from '../constants'\nimport { applyRef } from '../util'\nimport options from '../options'\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nexport function createNode(nodeName, isSvg) {\n let node = isSvg\n ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName)\n : options.doc.createElement(nodeName)\n node.normalizedNodeName = nodeName\n return node\n}\n\nfunction parseCSSText(cssText) {\n let cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ')\n let style = {},\n [a, b, rule] = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt]\n let cssToJs = s => s.replace(/\\W+\\w/g, match => match.slice(-1).toUpperCase())\n let properties = rule\n .split(';')\n .map(o => o.split(':').map(x => x && x.trim()))\n for (let [property, value] of properties) style[cssToJs(property)] = value\n return style\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nexport function removeNode(node) {\n let parentNode = node.parentNode\n if (parentNode) parentNode.removeChild(node)\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nexport function setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class'\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null)\n applyRef(value, node)\n } else if (name === 'class' && !isSvg) {\n node.className = value || ''\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || ''\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (let i in old) if (!(i in value)) node.style[i] = ''\n }\n for (let i in value) {\n node.style[i] =\n typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false\n ? value[i] + 'px'\n : value[i]\n }\n }\n } else {\n let oldJson = old,\n currentJson = value\n if (typeof old === 'string') {\n oldJson = parseCSSText(old)\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value)\n }\n\n let result = {},\n changed = false\n\n if (oldJson) {\n for (let key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = ''\n changed = true\n }\n }\n\n for (let ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey]\n changed = true\n }\n }\n\n if (changed) {\n node.setStyles(result)\n }\n } else {\n node.setStyles(currentJson)\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || ''\n } else if (name[0] == 'o' && name[1] == 'n') {\n let useCapture = name !== (name = name.replace(/Capture$/, ''))\n name = name.toLowerCase().substring(2)\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture)\n node.addEventListener('touchend', touchEnd, useCapture)\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture)\n node.removeEventListener('touchend', touchEnd, useCapture)\n }\n }\n ;(node._listeners || (node._listeners = {}))[name] = value\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value)\n if (value == null || value === false) node.removeAttribute(name)\n } else {\n let ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''))\n if (value == null || value === false) {\n if (ns)\n node.removeAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase()\n )\n else node.removeAttribute(name)\n } else if (typeof value !== 'function') {\n if (ns)\n node.setAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase(),\n value\n )\n else node.setAttribute(name, value)\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type]((options.event && options.event(e)) || e)\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX\n this.___touchY = e.touches[0].pageY\n this.___scrollTop = document.body.scrollTop\n}\n\nfunction touchEnd(e) {\n if (\n Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 &&\n Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 &&\n Math.abs(document.body.scrollTop - this.___scrollTop) < 30\n ) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }))\n }\n}","import options from './options'\n\nlet styleId = 0\n\nexport function getCtorName(ctor) {\n for (let i = 0, len = options.styleCache.length; i < len; i++) {\n let item = options.styleCache[i]\n\n if (item.ctor === ctor) {\n return item.attrName\n }\n }\n\n let attrName = 's' + styleId\n options.styleCache.push({ ctor, attrName })\n styleId++\n\n return attrName\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nexport function scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']'\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '')\n // eslint-disable-next-line\n let re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g')\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, (g0, g1, g2, g3) => {\n if (typeof g2 === 'undefined') {\n g2 = ''\n }\n\n /* eslint-ignore-next-line */\n if (\n g1.match(\n /^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/\n )\n ) {\n return g1 + g2 + g3\n }\n\n let appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3\n //return appendClass + ',' + prependClass + g3;\n })\n\n return css\n}\n\nexport function addStyle(cssText, id) {\n id = id.toLowerCase()\n let ele = document.getElementById(id)\n let head = document.getElementsByTagName('head')[0]\n if (ele && ele.parentNode === head) {\n head.removeChild(ele)\n }\n\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n someThingStyles.setAttribute('id', id)\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addStyleWithoutId(cssText) {\n let head = document.getElementsByTagName('head')[0]\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom)\n } \n}\n\nexport function addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr)\n options.staticStyleMapping[attr] = true\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style)\n options.staticStyleMapping[attr] = true\n }\n}\n\nexport function scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {}\n vdom.attributes[attr] = ''\n vdom.css = vdom.css || {}\n vdom.css[attr] = ''\n vdom.children.forEach(child => scopeVdom(attr, child))\n }\n}\n\nexport function scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {}\n for (let key in css) {\n vdom.attributes[key] = ''\n }\n }\n}\n","import { ATTR_KEY } from '../constants'\nimport { isSameNodeType, isNamedNode } from './index'\nimport { buildComponentFromVNode } from './component'\nimport { createNode, setAccessor } from '../dom/index'\nimport { unmountComponent } from './component'\nimport options from '../options'\nimport { applyRef } from '../util'\nimport { removeNode } from '../dom/index'\nimport { isArray } from '../util'\nimport { addStyleToHead, getCtorName } from '../style'\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nexport const mounts = []\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nexport let diffLevel = 0\n\n/** Global flag indicating if the diff is currently within an SVG */\nlet isSvgMode = false\n\n/** Global flag indicating if the diff is performing hydration */\nlet hydrating = false\n\n/** Invoke queued componentDidMount lifecycle methods */\nexport function flushMounts() {\n let c\n while ((c = mounts.pop())) {\n if (options.afterMount) options.afterMount(c)\n if (c.installed) c.installed()\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css), '_s' + getCtorName(c.constructor))\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nexport function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !(ATTR_KEY in dom)\n }\n let ret\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n }\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot)\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret)\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (!--diffLevel) {\n hydrating = false\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts()\n }\n\n return ret\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n let out = dom,\n prevSvgMode = isSvgMode\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = ''\n\n // If the VNode represents a Component, perform a component diff:\n let vnodeName = vnode.nodeName\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName]\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (\n dom &&\n dom.splitText !== undefined &&\n dom.parentNode &&\n (!dom._component || componentRoot)\n ) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode)\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n recollectNodeTree(dom, true)\n }\n }\n\n //ie8 error\n try {\n out[ATTR_KEY] = true\n } catch (e) {}\n\n return out\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode =\n vnodeName === 'svg'\n ? true\n : vnodeName === 'foreignObject'\n ? false\n : isSvgMode\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName)\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode)\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) out.appendChild(dom.firstChild)\n\n // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true)\n }\n }\n\n let fc = out.firstChild,\n props = out[ATTR_KEY],\n vchildren = vnode.children\n\n if (props == null) {\n props = out[ATTR_KEY] = {}\n for (let a = out.attributes, i = a.length; i--; )\n props[a[i].name] = a[i].value\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (\n !hydrating &&\n vchildren &&\n vchildren.length === 1 &&\n typeof vchildren[0] === 'string' &&\n fc != null &&\n fc.splitText !== undefined &&\n fc.nextSibling == null\n ) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0]\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if ((vchildren && vchildren.length) || fc != null) {\n innerDiffNode(\n out,\n vchildren,\n context,\n mountAll,\n hydrating || props.dangerouslySetInnerHTML != null\n )\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props)\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode\n\n return out\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n let originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (let i = 0; i < len; i++) {\n let child = originalChildren[i],\n props = child[ATTR_KEY],\n key =\n vlen && props\n ? child._component\n ? child._component.__key\n : props.key\n : null\n if (key != null) {\n keyedLen++\n keyed[key] = child\n } else if (\n props ||\n (child.splitText !== undefined\n ? isHydrating\n ? child.nodeValue.trim()\n : true\n : isHydrating)\n ) {\n children[childrenLen++] = child\n }\n }\n }\n\n if (vlen !== 0) {\n for (let i = 0; i < vlen; i++) {\n vchild = vchildren[i]\n child = null\n\n // attempt to find a node based on key matching\n let key = vchild.key\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key]\n keyed[key] = undefined\n keyedLen--\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (\n children[j] !== undefined &&\n isSameNodeType((c = children[j]), vchild, isHydrating)\n ) {\n child = c\n children[j] = undefined\n if (j === childrenLen - 1) childrenLen--\n if (j === min) min++\n break\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll)\n\n f = originalChildren[i]\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child)\n } else if (child === f.nextSibling) {\n removeNode(f)\n } else {\n dom.insertBefore(child, f)\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (let i in keyed)\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false)\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined)\n recollectNodeTree(child, false)\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nexport function recollectNodeTree(node, unmountOnly) {\n let component = node._component\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component)\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node[ATTR_KEY] != null) applyRef(node[ATTR_KEY].ref, null)\n\n if (unmountOnly === false || node[ATTR_KEY] == null) {\n removeNode(node)\n }\n\n removeChildren(node)\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nexport function removeChildren(node) {\n node = node.lastChild\n while (node) {\n let next = node.previousSibling\n recollectNodeTree(node, true)\n node = next\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n let name\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], (old[name] = undefined), isSvgMode)\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (\n name !== 'children' &&\n name !== 'innerHTML' &&\n (!(name in old) ||\n attrs[name] !==\n (name === 'value' || name === 'checked' ? dom[name] : old[name]))\n ) {\n setAccessor(dom, name, old[name], (old[name] = attrs[name]), isSvgMode)\n }\n }\n}\n","import Component from '../component'\nimport options from '../options'\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nconst components = {}\n\n/** Reclaim a component for later re-use by the recycler. */\nexport function collectComponent(component) {\n let name = component.constructor.name\n ;(components[name] || (components[name] = [])).push(component)\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nexport function createComponent(Ctor, props, context, vnode) {\n let list = components[Ctor.name],\n inst\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context)\n Component.call(inst, props, context)\n } else {\n inst = new Component(props, context)\n inst.constructor = Ctor\n inst.render = doRender\n }\n vnode && (inst.scopedCssAttr = vnode.css)\n\n if (list) {\n for (let i = list.length; i--; ) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase\n list.splice(i, 1)\n break\n }\n }\n }\n return inst\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context)\n}\n","/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function(target, arr, callback) {\n var _observe = function(target, arr, callback) {\n if (!target.$observer) target.$observer = this\n var $observer = target.$observer\n var eventPropArr = []\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {}\n target.$observeProps.$observerPath = '#'\n }\n $observer.mock(target)\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n } else {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n }\n }\n $observer.target = target\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = []\n var propChanged = callback ? callback : arr\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n })\n }\n _observe.prototype = {\n onPropertyChanged: function(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path)\n for (\n var i = 0, len = this.propertyChangedHandler.length;\n i < len;\n i++\n ) {\n var handler = this.propertyChangedHandler[i]\n if (\n handler.all ||\n obaa.isInArray(handler.eventPropArr, rootName) ||\n rootName.indexOf('Array-') === 0\n ) {\n handler.propChanged.call(this.target, prop, value, oldValue, path)\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath)\n }\n },\n mock: function(target) {\n var self = this\n obaa.methods.forEach(function(item) {\n target[item] = function() {\n var old = Array.prototype.slice.call(this, 0)\n var result = Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath)\n }\n }\n //todo\n self.onPropertyChanged(\n 'Array-' + item,\n this,\n old,\n this,\n this.$observeProps.$observerPath\n )\n }\n return result\n }\n target[\n 'pure' + item.substring(0, 1).toUpperCase() + item.substring(1)\n ] = function() {\n return Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n }\n })\n },\n watch: function(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return\n if (obaa.isFunction(target[prop])) return\n if (!target.$observeProps) target.$observeProps = {}\n if (path !== undefined) {\n target.$observeProps.$observerPath = path\n } else {\n target.$observeProps.$observerPath = '#'\n }\n var self = this\n var currentValue = (target.$observeProps[prop] = target[prop])\n Object.defineProperty(target, prop, {\n get: function() {\n return this.$observeProps[prop]\n },\n set: function(value) {\n var old = this.$observeProps[prop]\n this.$observeProps[prop] = value\n self.onPropertyChanged(\n prop,\n value,\n old,\n this,\n target.$observeProps.$observerPath\n )\n }\n })\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue)\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {}\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path\n } else {\n currentValue.$observeProps.$observerPath = '#'\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(\n currentValue,\n cprop,\n target.$observeProps.$observerPath + '-' + prop\n )\n }\n }\n }\n }\n }\n return new _observe(target, arr, callback)\n}\n\nobaa.methods = [\n 'concat',\n 'copyWithin',\n 'entries',\n 'every',\n 'fill',\n 'filter',\n 'find',\n 'findIndex',\n 'forEach',\n 'includes',\n 'indexOf',\n 'join',\n 'keys',\n 'lastIndexOf',\n 'map',\n 'pop',\n 'push',\n 'reduce',\n 'reduceRight',\n 'reverse',\n 'shift',\n 'slice',\n 'some',\n 'sort',\n 'splice',\n 'toLocaleString',\n 'toString',\n 'unshift',\n 'values',\n 'size'\n]\nobaa.triggerStr = [\n 'concat',\n 'copyWithin',\n 'fill',\n 'pop',\n 'push',\n 'reverse',\n 'shift',\n 'sort',\n 'splice',\n 'unshift',\n 'size'\n].join(',')\n\nobaa.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nobaa.isString = function(obj) {\n return typeof obj === 'string'\n}\n\nobaa.isInArray = function(arr, item) {\n for (var i = arr.length; --i > -1; ) {\n if (item === arr[i]) return true\n }\n return false\n}\n\nobaa.isFunction = function(obj) {\n return Object.prototype.toString.call(obj) == '[object Function]'\n}\n\nobaa._getRootName = function(prop, path) {\n if (path === '#') {\n return prop\n }\n return path.split('-')[1]\n}\n\nobaa.add = function(obj, prop) {\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n}\n\nobaa.set = function(obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value\n }\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n if (exec) {\n obj[prop] = value\n }\n}\n\nArray.prototype.size = function(length) {\n this.length = length\n}\n\nexport default obaa\n","const callbacks = []\nconst nextTickCallback = []\n\nexport function tick(fn, scope) {\n callbacks.push({ fn, scope })\n}\n\nexport function fireTick() {\n callbacks.forEach(item => {\n item.fn.call(item.scope)\n })\n\n nextTickCallback.forEach(nextItem => {\n nextItem.fn.call(nextItem.scope)\n })\n nextTickCallback.length = 0\n}\n\nexport function nextTick(fn, scope) {\n nextTickCallback.push({ fn, scope })\n}\n","import obaa from './obaa'\nimport { fireTick } from './tick'\n\nexport function proxyUpdate(ele) {\n let timeout = null\n obaa(ele.data, () => {\n if (ele._willUpdate) {\n return\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n ele.update()\n fireTick()\n }, 0)\n } else {\n ele.update()\n fireTick()\n }\n })\n}\n","import {\n SYNC_RENDER,\n NO_RENDER,\n FORCE_RENDER,\n ASYNC_RENDER,\n ATTR_KEY\n} from '../constants'\nimport options from '../options'\nimport { extend, applyRef } from '../util'\nimport { enqueueRender } from '../render-queue'\nimport { getNodeProps } from './index'\nimport {\n diff,\n mounts,\n diffLevel,\n flushMounts,\n recollectNodeTree,\n removeChildren\n} from './diff'\nimport { createComponent, collectComponent } from './component-recycler'\nimport { removeNode } from '../dom/index'\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost\n} from '../style'\nimport { proxyUpdate } from '../observe'\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nexport function setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return\n component._disable = true\n\n if ((component.__ref = props.ref)) delete props.ref\n if ((component.__key = props.key)) delete props.key\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall()\n if (component.install) component.install()\n if (component.constructor.observe) {\n proxyUpdate(component)\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props)\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context\n component.context = context\n }\n\n if (!component.prevProps) component.prevProps = component.props\n component.props = props\n\n component._disable = false\n\n if (opts !== NO_RENDER) {\n if (\n opts === SYNC_RENDER ||\n options.syncComponentUpdates !== false ||\n !component.base\n ) {\n renderComponent(component, SYNC_RENDER, mountAll)\n } else {\n enqueueRender(component)\n }\n }\n\n applyRef(component.__ref, component)\n}\n\nfunction shallowComparison(old, attrs) {\n let name\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true\n }\n\n for (name in attrs) {\n if (name != 'children') {\n let type = typeof attrs[name]\n if (type == 'function' || type == 'object') {\n return true\n } else if (attrs[name] != old[name]) {\n return true\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nexport function renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return\n\n let props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase\n\n // if updating\n if (isUpdate) {\n component.props = previousProps\n component.data = previousState\n component.context = previousContext\n if (component.store || opts == FORCE_RENDER || shallowComparison(previousProps, props)) {\n skip = false\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context)\n }\n } else {\n skip = true\n }\n component.props = props\n component.data = data\n component.context = context\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null\n\n if (!skip) {\n component.beforeRender && component.beforeRender()\n rendered = component.render(props, data, context)\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(component.constructor)\n )\n }\n\n scopeHost(rendered, component.scopedCssAttr)\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext())\n }\n\n let childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent]\n\n if (ctor) {\n // set up high order component link\n\n let childProps = getNodeProps(rendered)\n inst = initialChildComponent\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, SYNC_RENDER, context, false)\n } else {\n toUnmount = inst\n\n component._component = inst = createComponent(ctor, childProps, context)\n inst.nextBase = inst.nextBase || nextBase\n inst._parentComponent = component\n setComponentProps(inst, childProps, NO_RENDER, context, false)\n renderComponent(inst, SYNC_RENDER, mountAll, true)\n }\n\n base = inst.base\n } else {\n cbase = initialBase\n\n // destroy high order component link\n toUnmount = initialChildComponent\n if (toUnmount) {\n cbase = component._component = null\n }\n\n if (initialBase || opts === SYNC_RENDER) {\n if (cbase) cbase._component = null\n base = diff(\n cbase,\n rendered,\n context,\n mountAll || !isUpdate,\n initialBase && initialBase.parentNode,\n true\n )\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n let baseParent = initialBase.parentNode\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase)\n\n if (!toUnmount) {\n initialBase._component = null\n recollectNodeTree(initialBase, false)\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount)\n }\n\n component.base = base\n if (base && !isChild) {\n let componentRef = component,\n t = component\n while ((t = t._parentComponent)) {\n ;(componentRef = t).base = base\n }\n base._component = componentRef\n base._componentConstructor = componentRef.constructor\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component)\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext)\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext)\n }\n if (options.afterUpdate) options.afterUpdate(component)\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length)\n component._renderCallbacks.pop().call(component)\n }\n\n if (!diffLevel && !isChild) flushMounts()\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nexport function buildComponentFromVNode(dom, vnode, context, mountAll) {\n let c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode)\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, ASYNC_RENDER, context, mountAll)\n dom = c.base\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent)\n dom = oldDom = null\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode)\n if (dom && !c.nextBase) {\n c.nextBase = dom\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null\n }\n setComponentProps(c, props, SYNC_RENDER, context, mountAll)\n dom = c.base\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null\n recollectNodeTree(oldDom, false)\n }\n }\n\n return dom\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nexport function unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component)\n\n let base = component.base\n\n component._disable = true\n\n if (component.uninstall) component.uninstall()\n\n component.base = null\n\n // recursively tear down & recollect high-order component children:\n let inner = component._component\n if (inner) {\n unmountComponent(inner)\n } else if (base) {\n if (base[ATTR_KEY] != null) applyRef(base[ATTR_KEY].ref, null)\n\n component.nextBase = base\n\n removeNode(base)\n collectComponent(component)\n\n removeChildren(base)\n }\n\n applyRef(component.__ref, null)\n}\n","import { FORCE_RENDER } from './constants'\nimport { renderComponent } from './vdom/component'\nimport options from './options'\nimport { nProps, assign } from './util'\n\nlet id = 0\n\nexport default class Component {\n static is = 'WeElement'\n\n constructor(props, store) {\n this.props = assign(\n nProps(this.constructor.props),\n this.constructor.defaultProps,\n props\n )\n this.elementId = id++\n this.data = this.constructor.data || this.data || {}\n\n this._preCss = null\n\n this.store = store\n }\n\n update(callback) {\n this._willUpdate = true\n if (callback)\n (this._renderCallbacks = this._renderCallbacks || []).push(callback)\n renderComponent(this, FORCE_RENDER)\n if (options.componentChange) options.componentChange(this, this.base)\n this._willUpdate = false\n }\n\n fire(type, data) {\n Object.keys(this.props).every(key => {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n this.props[key]({ detail: data })\n return false\n }\n return true\n })\n }\n\n render() {}\n}\n","import { diff } from './vdom/diff'\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nexport function render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n }\n\n if (merge) {\n merge =\n typeof merge === 'string'\n ? document.querySelector(merge)\n : merge\n }\n\n return diff(merge, vnode, store, false, parent, false)\n}\n","import options from './options'\n\nexport function define(name, ctor) {\n options.mapping[name] = ctor\n}\n","export function rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, (a, b) => {\n return (window.innerWidth * Number(b)) / 750 + 'px'\n })\n}\n","import Component from './component'\n\nexport default class ModelView extends Component {\n static observe = true\n\n static mergeUpdate = true\n\n beforeInstall() {\n this.data = this.vm.data\n }\n}\n","/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty\n\nexport function classNames() {\n var classes = []\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i]\n if (!arg) continue\n\n var argType = typeof arg\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg)\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg)\n if (inner) {\n classes.push(inner)\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key)\n }\n }\n }\n }\n\n return classes.join(' ')\n}\n\nexport function extractClass() {\n const [props, ...args] = Array.prototype.slice.call(arguments, 0)\n if (props) {\n if (props.class) {\n args.unshift(props.class)\n delete props.class\n } else if (props.className) {\n args.unshift(props.className)\n delete props.className\n }\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) }\n }\n}\n","export function getHost(component) {\n let base = component.base\n if (base) {\n while (base.parentNode) {\n if (base.parentNode._component) {\n return base.parentNode._component\n } else {\n base = base.parentNode\n }\n }\n }\n}","/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nimport options from './options'\n\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost,\n scoper\n} from './style'\n\n\nconst encodeEntities = s => String(s)\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"');\n\nconst indent = (s, char) => String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nconst mapping = options.mapping\n\nconst VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nconst isLargeString = (s, length, ignoreLines) => (String(s).length > (length || 40) || (!ignoreLines && String(s).indexOf('\\n') !== -1) || String(s).indexOf('<') !== -1);\n\nconst JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n let str = '';\n for (let prop in s) {\n let val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\n/** The default export is an alias of `render()`. */\nexport function renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n let nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n },opts)\n\n let pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n const ctor = mapping[nodeName]\n if (ctor) {\n isComponent = true;\n\n let props = getNodeProps(vnode),\n rendered;\n // class-based components\n let c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n let tempCss \n if(opts.scopedCSS){\n\n if (c.constructor.css || c.css) {\n\n const cssStr = c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css)\n const cssAttr = '_s' + getCtorName(c.constructor)\n\n tempCss = ``\n\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(c.constructor)\n )\n }\n \n c.scopedCSSAttr = vnode.css\n scopeHost(rendered, c.scopedCSSAttr)\n }\n\n return renderToString(rendered, opts, store, false, tempCss);\n }\n\n\n // render JSX to HTML\n let s = '', html;\n\n if (attributes) {\n let attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (let i = 0; i < attrs.length; i++) {\n let name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes.class) continue;\n name = 'class';\n }\n else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n let hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n }\n else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ` ${name}=\"${encodeEntities(v)}\"`;\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n let sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;\n else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = `<${nodeName}${s}>`;\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n let isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n let pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n }\n else if (vnode.children) {\n let hasLarge = pretty && ~s.indexOf('\\n');\n for (let i = 0; i < vnode.children.length; i++) {\n let child = vnode.children[i];\n if (child != null && child !== false) {\n let childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = renderToString(child, opts, store, childSvgMode);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (let i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n }\n else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += `${nodeName}>`;\n }\n\n if(css) return css + s;\n return s;\n}\n\nfunction assign(obj, props) {\n for (let i in props) obj[i] = props[i];\n return obj;\n}\n\nfunction getNodeProps(vnode) {\n let props = assign({}, vnode.attributes);\n props.children = vnode.children;\n\n let defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}","import { h, h as createElement } from './h'\nimport { cloneElement } from './clone-element'\nimport Component from './component'\nimport { render } from './render'\nimport { rerender } from './render-queue'\nimport options from './options'\nimport { define } from './define'\nimport { rpx } from './rpx'\nimport ModelView from './model-view'\nimport { classNames, extractClass } from './class'\nimport { getHost } from './get-host'\nimport { renderToString } from './render-to-string'\n\nconst WeElement = Component\nconst defineElement = define\nfunction createRef() {\n return {}\n}\n\noptions.root.Omi = {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\noptions.root.omi = options.root.Omi\noptions.root.Omi.version = 'omio-1.3.8'\n\nexport default {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n\nexport {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n"],"names":["VNode","getGlobal","global","Math","Array","self","window","document","stack","EMPTY_CHILDREN","h","nodeName","attributes","children","lastSimple","child","simple","i","arguments","length","push","pop","undefined","String","p","key","options","vnode","getOwnPropertySymbols","Object","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","assign","target","source","from","to","symbols","s","call","Element","addEventListener","runListeners","oEvent","event","iLstId","iElId","oEvtListeners","oListeners","type","aEls","aEvts","sEventType","fListener","nElIdx","aElListeners","splice","removeEventListener","create","proto","propertiesObject","Error","F","trim","replace","extend","obj","props","applyRef","ref","value","current","usePromise","Promise","__config__","platform","systemVersion","split","defer","resolve","then","bind","setTimeout","isArray","toString","nProps","result","keys","forEach","cloneElement","slice","NO_RENDER","SYNC_RENDER","FORCE_RENDER","ASYNC_RENDER","ATTR_KEY","IS_NON_DIMENSIONAL","items","enqueueRender","component","debounceRendering","rerender","mapping","isSameNodeType","node","hydrating","splitText","ctor","_componentConstructor","isNamedNode","normalizedNodeName","toLowerCase","getNodeProps","defaultProps","createNode","isSvg","doc","createElementNS","createElement","parseCSSText","cssText","cssTxt","match","a","b","rule","cssToJs","toUpperCase","properties","map","o","x","property","style","removeNode","parentNode","removeChild","setAccessor","name","old","className","isWeb","test","oldJson","currentJson","changed","ckey","setStyles","innerHTML","__html","useCapture","substring","eventProxy","touchStart","touchEnd","_listeners","removeAttribute","ns","removeAttributeNS","setAttributeNS","setAttribute","setProperty","e","___touchX","touches","pageX","___touchY","pageY","___scrollTop","body","scrollTop","abs","changedTouches","dispatchEvent","CustomEvent","detail","styleId","getCtorName","len","styleCache","item","attrName","scoper","css","prefix","re","RegExp","g0","g1","g2","g3","appendClass","addStyle","id","ele","getElementById","head","getElementsByTagName","someThingStyles","appendChild","ActiveXObject","styleSheet","textContent","addStyleWithoutId","addScopedAttrStatic","vdom","attr","scopedStyle","addStyleToHead","staticStyleMapping","scopeVdom","scopeHost","mounts","diffLevel","isSvgMode","flushMounts","c","afterMount","installed","constructor","diff","dom","context","mountAll","parent","componentRoot","ownerSVGElement","ret","idiff","out","prevSvgMode","vnodeName","buildComponentFromVNode","_component","nodeValue","createTextNode","replaceChild","firstChild","fc","vchildren","nextSibling","dangerouslySetInnerHTML","innerDiffNode","isHydrating","originalChildren","childNodes","keyed","keyedLen","min","childrenLen","vlen","j","f","vchild","__key","insertBefore","recollectNodeTree","unmountOnly","removeChildren","lastChild","next","previousSibling","diffAttributes","attrs","components","collectComponent","createComponent","Ctor","list","inst","render","Component","doRender","scopedCssAttr","nextBase","data","obaa","arr","callback","_observe","$observer","eventPropArr","$observeProps","$observerPath","mock","prop","isInArray","watch","isString","propertyChangedHandler","propChanged","oldValue","path","rootName","_getRootName","handler","all","indexOf","methods","apply","triggerStr","cprop","isFunction","onPropertyChanged","currentValue","defineProperty","join","add","set","exec","size","callbacks","nextTickCallback","fireTick","fn","scope","nextItem","proxyUpdate","timeout","_willUpdate","mergeUpdate","update","setComponentProps","opts","_disable","__ref","base","beforeInstall","install","observe","receiveProps","prevContext","prevProps","syncComponentUpdates","shallowComparison","renderComponent","isChild","previousProps","previousState","prevState","previousContext","isUpdate","initialBase","initialChildComponent","skip","rendered","cbase","store","beforeUpdate","beforeRender","getChildContext","childComponent","toUnmount","childProps","_parentComponent","baseParent","componentRef","t","unshift","afterUpdate","updated","_renderCallbacks","originalComponent","oldDom","isDirectOwner","isOwner","unmountComponent","beforeUnmount","uninstall","inner","elementId","_preCss","componentChange","fire","every","is","empty","merge","querySelector","define","rpx","str","innerWidth","Number","ModelView","vm","hasOwn","classNames","classes","arg","argType","extractClass","args","class","getHost","encodeEntities","indent","char","VOID_ELEMENTS","isLargeString","ignoreLines","JS_TO_CSS","styleObjToCss","renderToString","isComponent","pretty","indentChar","__x","tempCss","scopedCSS","cssStr","cssAttr","scopedCSSAttr","html","sortAttributes","sort","v","allAttributes","hooked","attributeHook","xml","sub","isVoid","pieces","hasLarge","childSvgMode","WeElement","defineElement","createRef","root","Omi","omi","version"],"mappings":"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"}
\ No newline at end of file
diff --git a/packages/omip/my-app/src/libs/omip-h5/omi.js b/packages/omip/my-app/src/libs/omip-h5/omi.js
new file mode 100644
index 000000000..0bed2d6b7
--- /dev/null
+++ b/packages/omip/my-app/src/libs/omip-h5/omi.js
@@ -0,0 +1,1092 @@
+!function() {
+ 'use strict';
+ function VNode() {}
+ function h(nodeName, attributes) {
+ var lastSimple, child, simple, i, children = EMPTY_CHILDREN;
+ for (i = arguments.length; i-- > 2; ) stack.push(arguments[i]);
+ if (attributes && null != attributes.children) {
+ if (!stack.length) stack.push(attributes.children);
+ delete attributes.children;
+ }
+ while (stack.length) if ((child = stack.pop()) && void 0 !== child.pop) for (i = child.length; i--; ) stack.push(child[i]); else {
+ if ('boolean' == typeof child) child = null;
+ if (simple = 'function' != typeof nodeName) if (null == child) child = ''; else if ('number' == typeof child) child = String(child); else if ('string' != typeof child) simple = !1;
+ if (simple && lastSimple) children[children.length - 1] += child; else if (children === EMPTY_CHILDREN) children = [ child ]; else children.push(child);
+ lastSimple = simple;
+ }
+ var p = new VNode();
+ p.nodeName = nodeName;
+ p.children = children;
+ p.attributes = null == attributes ? void 0 : attributes;
+ p.key = null == attributes ? void 0 : attributes.key;
+ if (void 0 !== options.vnode) options.vnode(p);
+ return p;
+ }
+ function toObject(val) {
+ if (null === val || void 0 === val) throw new TypeError('Object.assign cannot be called with null or undefined');
+ return Object(val);
+ }
+ function assign(target, source) {
+ var from;
+ var to = toObject(target);
+ var symbols;
+ for (var s = 1; s < arguments.length; s++) {
+ from = Object(arguments[s]);
+ for (var key in from) if (hasOwnProperty.call(from, key)) to[key] = from[key];
+ if (getOwnPropertySymbols) {
+ symbols = getOwnPropertySymbols(from);
+ for (var i = 0; i < symbols.length; i++) if (propIsEnumerable.call(from, symbols[i])) to[symbols[i]] = from[symbols[i]];
+ }
+ }
+ return to;
+ }
+ function extend(obj, props) {
+ for (var i in props) obj[i] = props[i];
+ return obj;
+ }
+ function applyRef(ref, value) {
+ if (ref) if ('function' == typeof ref) ref(value); else ref.current = value;
+ }
+ function isArray(obj) {
+ return '[object Array]' === Object.prototype.toString.call(obj);
+ }
+ function nProps(props) {
+ if (!props || isArray(props)) return {};
+ var result = {};
+ Object.keys(props).forEach(function(key) {
+ result[key] = props[key].value;
+ });
+ return result;
+ }
+ function cloneElement(vnode, props) {
+ return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);
+ }
+ function enqueueRender(component) {
+ if (1 == items.push(component)) (options.debounceRendering || defer)(rerender);
+ }
+ function rerender() {
+ var p;
+ while (p = items.pop()) renderComponent(p);
+ }
+ function isSameNodeType(node, vnode, hydrating) {
+ if ('string' == typeof vnode || 'number' == typeof vnode) return void 0 !== node.splitText;
+ if ('string' == typeof vnode.nodeName) {
+ var ctor = mapping[vnode.nodeName];
+ if (ctor) return hydrating || node._componentConstructor === ctor; else return !node._componentConstructor && isNamedNode(node, vnode.nodeName);
+ }
+ return hydrating || node._componentConstructor === vnode.nodeName;
+ }
+ function isNamedNode(node, nodeName) {
+ return node.__n === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();
+ }
+ function getNodeProps(vnode) {
+ var props = extend({}, vnode.attributes);
+ props.children = vnode.children;
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (void 0 !== defaultProps) for (var i in defaultProps) if (void 0 === props[i]) props[i] = defaultProps[i];
+ return props;
+ }
+ function createNode(nodeName, isSvg) {
+ var node = isSvg ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName) : options.doc.createElement(nodeName);
+ node.__n = nodeName;
+ return node;
+ }
+ function parseCSSText(cssText) {
+ var cssTxt = cssText.replace(/\/\*(.|\s)*?\*\//g, ' ').replace(/\s+/g, ' ');
+ var style = {}, _ref = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [ a, b, cssTxt ], a = _ref[0], b = _ref[1], rule = _ref[2];
+ var properties = rule.split(';').map(function(o) {
+ return o.split(':').map(function(x) {
+ return x && x.trim();
+ });
+ });
+ for (var i = properties, i = Array.isArray(i), i = 0, i = i ? i : i[Symbol.iterator](); ;) {
+ var _ref3;
+ if (i) {
+ if (i >= i.length) break;
+ _ref3 = i[i++];
+ } else {
+ i = i.next();
+ if (i.done) break;
+ _ref3 = i.value;
+ }
+ var _ref2 = _ref3;
+ var property = _ref2[0];
+ var value = _ref2[1];
+ style[function(s) {
+ return s.replace(/\W+\w/g, function(match) {
+ return match.slice(-1).toUpperCase();
+ });
+ }(property)] = value;
+ }
+ return style;
+ }
+ function removeNode(node) {
+ var parentNode = node.parentNode;
+ if (parentNode) parentNode.removeChild(node);
+ }
+ function setAccessor(node, name, old, value, isSvg) {
+ if ('className' === name) name = 'class';
+ if ('key' === name) ; else if ('ref' === name) {
+ applyRef(old, null);
+ applyRef(value, node);
+ } else if ('class' === name && !isSvg) node.className = value || ''; else if ('style' === name) if (options.isWeb) {
+ if (!value || 'string' == typeof value || 'string' == typeof old) node.style.cssText = value || '';
+ if (value && 'object' == typeof value) {
+ if ('string' != typeof old) for (var i in old) if (!(i in value)) node.style[i] = '';
+ for (var i in value) node.style[i] = 'number' == typeof value[i] && !1 === IS_NON_DIMENSIONAL$1.test(i) ? value[i] + 'px' : value[i];
+ }
+ } else {
+ var oldJson = old, currentJson = value;
+ if ('string' == typeof old) oldJson = parseCSSText(old);
+ if ('string' == typeof value) currentJson = parseCSSText(value);
+ var result = {}, changed = !1;
+ if (oldJson) {
+ for (var key in oldJson) if ('object' == typeof currentJson && !(key in currentJson)) {
+ result[key] = '';
+ changed = !0;
+ }
+ for (var ckey in currentJson) if (currentJson[ckey] !== oldJson[ckey]) {
+ result[ckey] = currentJson[ckey];
+ changed = !0;
+ }
+ if (changed) node.setStyles(result);
+ } else node.setStyles(currentJson);
+ } else if ('dangerouslySetInnerHTML' === name) {
+ if (value) node.innerHTML = value.__html || '';
+ } else if ('o' == name[0] && 'n' == name[1]) {
+ var useCapture = name !== (name = name.replace(/Capture$/, ''));
+ name = name.toLowerCase().substring(2);
+ if (value) {
+ if (!old) {
+ node.addEventListener(name, eventProxy, useCapture);
+ if ('tap' == name) {
+ node.addEventListener('touchstart', touchStart, useCapture);
+ node.addEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ } else {
+ node.removeEventListener(name, eventProxy, useCapture);
+ if ('tap' == name) {
+ node.removeEventListener('touchstart', touchStart, useCapture);
+ node.removeEventListener('touchend', touchEnd, useCapture);
+ }
+ }
+ (node.__l || (node.__l = {}))[name] = value;
+ } else if ('list' !== name && 'type' !== name && !isSvg && name in node) {
+ setProperty(node, name, null == value ? '' : value);
+ if (null == value || !1 === value) node.removeAttribute(name);
+ } else {
+ var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));
+ if (null == value || !1 === value) if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase()); else node.removeAttribute(name); else if ('function' != typeof value) if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value); else node.setAttribute(name, value);
+ }
+ }
+ function setProperty(node, name, value) {
+ try {
+ node[name] = value;
+ } catch (e) {}
+ }
+ function eventProxy(e) {
+ return this.__l[e.type](options.event && options.event(e) || e);
+ }
+ function touchStart(e) {
+ this.C = e.touches[0].pageX;
+ this.D = e.touches[0].pageY;
+ this.F = document.body.scrollTop;
+ }
+ function touchEnd(e) {
+ if (Math.abs(e.changedTouches[0].pageX - this.C) < 30 && Math.abs(e.changedTouches[0].pageY - this.D) < 30 && Math.abs(document.body.scrollTop - this.F) < 30) this.dispatchEvent(new CustomEvent('tap', {
+ detail: e
+ }));
+ }
+ function getCtorName(ctor) {
+ for (var i = 0, len = options.styleCache.length; i < len; i++) {
+ var item = options.styleCache[i];
+ if (item.ctor === ctor) return item.attrName;
+ }
+ var attrName = 's' + styleId;
+ options.styleCache.push({
+ ctor: ctor,
+ attrName: attrName
+ });
+ styleId++;
+ return attrName;
+ }
+ function scoper(css, prefix) {
+ prefix = '[' + prefix.toLowerCase() + ']';
+ css = css.replace(/\/\*[^*]*\*+([^\/][^*]*\*+)*\//g, '');
+ var re = new RegExp('([^\r\n,{}:]+)(:[^\r\n,{}]+)?(,(?=[^{}]*{)|s*{)', 'g');
+ css = css.replace(re, function(g0, g1, g2, g3) {
+ if (void 0 === g2) g2 = '';
+ if (g1.match(/^\s*(@media|\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/)) return g1 + g2 + g3;
+ var appendClass = g1.replace(/(\s*)$/, '') + prefix + g2;
+ return appendClass + g3;
+ });
+ return css;
+ }
+ function addStyle(cssText, id) {
+ id = id.toLowerCase();
+ var ele = document.getElementById(id);
+ var head = document.getElementsByTagName('head')[0];
+ if (ele && ele.parentNode === head) head.removeChild(ele);
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+ someThingStyles.setAttribute('id', id);
+ if (window.ActiveXObject) someThingStyles.styleSheet.cssText = cssText; else someThingStyles.textContent = cssText;
+ }
+ function addStyleWithoutId(cssText) {
+ var head = document.getElementsByTagName('head')[0];
+ var someThingStyles = document.createElement('style');
+ head.appendChild(someThingStyles);
+ someThingStyles.setAttribute('type', 'text/css');
+ if (window.ActiveXObject) someThingStyles.styleSheet.cssText = cssText; else someThingStyles.textContent = cssText;
+ }
+ function addScopedAttrStatic(vdom, attr) {
+ if (options.scopedStyle) scopeVdom(attr, vdom);
+ }
+ function addStyleToHead(style, attr) {
+ if (options.scopedStyle) {
+ if (!options.staticStyleMapping[attr]) {
+ addStyle(scoper(style, attr), attr);
+ options.staticStyleMapping[attr] = !0;
+ }
+ } else if (!options.staticStyleMapping[attr]) {
+ addStyleWithoutId(style);
+ options.staticStyleMapping[attr] = !0;
+ }
+ }
+ function scopeVdom(attr, vdom) {
+ if ('object' == typeof vdom) {
+ vdom.attributes = vdom.attributes || {};
+ vdom.attributes[attr] = '';
+ vdom.css = vdom.css || {};
+ vdom.css[attr] = '';
+ vdom.children.forEach(function(child) {
+ return scopeVdom(attr, child);
+ });
+ }
+ }
+ function scopeHost(vdom, css) {
+ if ('object' == typeof vdom && css) {
+ vdom.attributes = vdom.attributes || {};
+ for (var key in css) vdom.attributes[key] = '';
+ }
+ }
+ function flushMounts() {
+ var c;
+ while (c = mounts.pop()) {
+ if (options.afterMount) options.afterMount(c);
+ if (c.installed) c.installed();
+ if (c.constructor.css || c.css) addStyleToHead(c.constructor.css ? c.constructor.css : 'function' == typeof c.css ? c.css() : c.css, '_s' + getCtorName(c.constructor));
+ }
+ }
+ function diff(dom, vnode, context, mountAll, parent, componentRoot) {
+ if (!diffLevel++) {
+ isSvgMode = null != parent && void 0 !== parent.ownerSVGElement;
+ hydrating = null != dom && !('__omiattr_' in dom);
+ }
+ var ret;
+ if (isArray(vnode)) vnode = {
+ nodeName: 'span',
+ children: vnode
+ };
+ ret = idiff(dom, vnode, context, mountAll, componentRoot);
+ if (parent && ret.parentNode !== parent) parent.appendChild(ret);
+ if (!--diffLevel) {
+ hydrating = !1;
+ if (!componentRoot) flushMounts();
+ }
+ return ret;
+ }
+ function idiff(dom, vnode, context, mountAll, componentRoot) {
+ var out = dom, prevSvgMode = isSvgMode;
+ if (null == vnode || 'boolean' == typeof vnode) vnode = '';
+ var vnodeName = vnode.nodeName;
+ if (options.mapping[vnodeName]) {
+ vnode.nodeName = options.mapping[vnodeName];
+ return buildComponentFromVNode(dom, vnode, context, mountAll);
+ }
+ if ('function' == typeof vnodeName) return buildComponentFromVNode(dom, vnode, context, mountAll);
+ if ('string' == typeof vnode || 'number' == typeof vnode) {
+ if (dom && void 0 !== dom.splitText && dom.parentNode && (!dom._component || componentRoot)) {
+ if (dom.nodeValue != vnode) dom.nodeValue = vnode;
+ } else {
+ out = document.createTextNode(vnode);
+ if (dom) {
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+ recollectNodeTree(dom, !0);
+ }
+ }
+ try {
+ out.__omiattr_ = !0;
+ } catch (e) {}
+ return out;
+ }
+ isSvgMode = 'svg' === vnodeName ? !0 : 'foreignObject' === vnodeName ? !1 : isSvgMode;
+ vnodeName = String(vnodeName);
+ if (!dom || !isNamedNode(dom, vnodeName)) {
+ out = createNode(vnodeName, isSvgMode);
+ if (dom) {
+ while (dom.firstChild) out.appendChild(dom.firstChild);
+ if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
+ recollectNodeTree(dom, !0);
+ }
+ }
+ var fc = out.firstChild, props = out.__omiattr_, vchildren = vnode.children;
+ if (null == props) {
+ props = out.__omiattr_ = {};
+ for (var a = out.attributes, i = a.length; i--; ) props[a[i].name] = a[i].value;
+ }
+ if (!hydrating && vchildren && 1 === vchildren.length && 'string' == typeof vchildren[0] && null != fc && void 0 !== fc.splitText && null == fc.nextSibling) {
+ if (fc.nodeValue != vchildren[0]) fc.nodeValue = vchildren[0];
+ } else if (vchildren && vchildren.length || null != fc) innerDiffNode(out, vchildren, context, mountAll, hydrating || null != props.dangerouslySetInnerHTML);
+ diffAttributes(out, vnode.attributes, props);
+ isSvgMode = prevSvgMode;
+ return out;
+ }
+ function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {
+ var j, c, f, vchild, child, originalChildren = dom.childNodes, children = [], keyed = {}, keyedLen = 0, min = 0, len = originalChildren.length, childrenLen = 0, vlen = vchildren ? vchildren.length : 0;
+ if (0 !== len) for (var i = 0; i < len; i++) {
+ var _child = originalChildren[i], props = _child.__omiattr_, key = vlen && props ? _child._component ? _child._component.__k : props.key : null;
+ if (null != key) {
+ keyedLen++;
+ keyed[key] = _child;
+ } else if (props || (void 0 !== _child.splitText ? isHydrating ? _child.nodeValue.trim() : !0 : isHydrating)) children[childrenLen++] = _child;
+ }
+ if (0 !== vlen) for (var i = 0; i < vlen; i++) {
+ vchild = vchildren[i];
+ child = null;
+ var key = vchild.key;
+ if (null != key) {
+ if (keyedLen && void 0 !== keyed[key]) {
+ child = keyed[key];
+ keyed[key] = void 0;
+ keyedLen--;
+ }
+ } else if (!child && min < childrenLen) for (j = min; j < childrenLen; j++) if (void 0 !== children[j] && isSameNodeType(c = children[j], vchild, isHydrating)) {
+ child = c;
+ children[j] = void 0;
+ if (j === childrenLen - 1) childrenLen--;
+ if (j === min) min++;
+ break;
+ }
+ child = idiff(child, vchild, context, mountAll);
+ f = originalChildren[i];
+ if (child && child !== dom && child !== f) if (null == f) dom.appendChild(child); else if (child === f.nextSibling) removeNode(f); else dom.insertBefore(child, f);
+ }
+ if (keyedLen) for (var i in keyed) if (void 0 !== keyed[i]) recollectNodeTree(keyed[i], !1);
+ while (min <= childrenLen) if (void 0 !== (child = children[childrenLen--])) recollectNodeTree(child, !1);
+ }
+ function recollectNodeTree(node, unmountOnly) {
+ var component = node._component;
+ if (component) unmountComponent(component); else {
+ if (null != node.__omiattr_) applyRef(node.__omiattr_.ref, null);
+ if (!1 === unmountOnly || null == node.__omiattr_) removeNode(node);
+ removeChildren(node);
+ }
+ }
+ function removeChildren(node) {
+ node = node.lastChild;
+ while (node) {
+ var next = node.previousSibling;
+ recollectNodeTree(node, !0);
+ node = next;
+ }
+ }
+ function diffAttributes(dom, attrs, old) {
+ var name;
+ for (name in old) if ((!attrs || null == attrs[name]) && null != old[name]) setAccessor(dom, name, old[name], old[name] = void 0, isSvgMode);
+ for (name in attrs) if (!('children' === name || 'innerHTML' === name || name in old && attrs[name] === ('value' === name || 'checked' === name ? dom[name] : old[name]))) setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);
+ }
+ function collectComponent(component) {
+ var name = component.constructor.name;
+ (components[name] || (components[name] = [])).push(component);
+ }
+ function createComponent(Ctor, props, context, vnode) {
+ var inst, list = components[Ctor.name];
+ if (Ctor.prototype && Ctor.prototype.render) {
+ inst = new Ctor(props, context);
+ Component.call(inst, props, context);
+ } else {
+ inst = new Component(props, context);
+ inst.constructor = Ctor;
+ inst.render = doRender;
+ }
+ vnode && (inst.scopedCssAttr = vnode.css);
+ if (list) for (var i = list.length; i--; ) if (list[i].constructor === Ctor) {
+ inst.__b = list[i].__b;
+ list.splice(i, 1);
+ break;
+ }
+ return inst;
+ }
+ function doRender(props, data, context) {
+ return this.constructor(props, context);
+ }
+ function fireTick() {
+ callbacks.forEach(function(item) {
+ item.fn.call(item.scope);
+ });
+ nextTickCallback.forEach(function(nextItem) {
+ nextItem.fn.call(nextItem.scope);
+ });
+ nextTickCallback.length = 0;
+ }
+ function proxyUpdate(ele) {
+ var timeout = null;
+ obaa(ele.data, function() {
+ if (!ele.A) if (ele.constructor.mergeUpdate) {
+ clearTimeout(timeout);
+ timeout = setTimeout(function() {
+ ele.update();
+ fireTick();
+ }, 0);
+ } else {
+ ele.update();
+ fireTick();
+ }
+ });
+ }
+ function setComponentProps(component, props, opts, context, mountAll) {
+ if (!component.__x) {
+ component.__x = !0;
+ if (component.__r = props.ref) delete props.ref;
+ if (component.__k = props.key) delete props.key;
+ if (!component.base || mountAll) {
+ if (component.beforeInstall) component.beforeInstall();
+ if (component.install) component.install();
+ if (component.constructor.observe) proxyUpdate(component);
+ } else if (component.receiveProps) component.receiveProps(props, component.data, component.props);
+ if (context && context !== component.context) {
+ if (!component.__c) component.__c = component.context;
+ component.context = context;
+ }
+ if (!component.__p) component.__p = component.props;
+ component.props = props;
+ component.__x = !1;
+ if (0 !== opts) if (1 === opts || !1 !== options.syncComponentUpdates || !component.base) renderComponent(component, 1, mountAll); else enqueueRender(component);
+ applyRef(component.__r, component);
+ }
+ }
+ function shallowComparison(old, attrs) {
+ var name;
+ for (name in old) if (null == attrs[name] && null != old[name]) return !0;
+ if (old.children.length > 0 || attrs.children.length > 0) return !0;
+ for (name in attrs) if ('children' != name) {
+ var type = typeof attrs[name];
+ if ('function' == type || 'object' == type) return !0; else if (attrs[name] != old[name]) return !0;
+ }
+ }
+ function renderComponent(component, opts, mountAll, isChild) {
+ if (!component.__x) {
+ var rendered, inst, cbase, props = component.props, data = component.data, context = component.context, previousProps = component.__p || props, previousState = component.__s || data, previousContext = component.__c || context, isUpdate = component.base, nextBase = component.__b, initialBase = isUpdate || nextBase, initialChildComponent = component._component, skip = !1;
+ if (isUpdate) {
+ component.props = previousProps;
+ component.data = previousState;
+ component.context = previousContext;
+ if (component.store || 2 == opts || shallowComparison(previousProps, props)) {
+ skip = !1;
+ if (component.beforeUpdate) component.beforeUpdate(props, data, context);
+ } else skip = !0;
+ component.props = props;
+ component.data = data;
+ component.context = context;
+ }
+ component.__p = component.__s = component.__c = component.__b = null;
+ if (!skip) {
+ component.beforeRender && component.beforeRender();
+ rendered = component.render(props, data, context);
+ if (component.constructor.css || component.css) addScopedAttrStatic(rendered, '_s' + getCtorName(component.constructor));
+ scopeHost(rendered, component.scopedCssAttr);
+ if (component.getChildContext) context = extend(extend({}, context), component.getChildContext());
+ var toUnmount, base, childComponent = rendered && rendered.nodeName, ctor = options.mapping[childComponent];
+ if (ctor) {
+ var childProps = getNodeProps(rendered);
+ inst = initialChildComponent;
+ if (inst && inst.constructor === ctor && childProps.key == inst.__k) setComponentProps(inst, childProps, 1, context, !1); else {
+ toUnmount = inst;
+ component._component = inst = createComponent(ctor, childProps, context);
+ inst.__b = inst.__b || nextBase;
+ inst.__u = component;
+ setComponentProps(inst, childProps, 0, context, !1);
+ renderComponent(inst, 1, mountAll, !0);
+ }
+ base = inst.base;
+ } else {
+ cbase = initialBase;
+ toUnmount = initialChildComponent;
+ if (toUnmount) cbase = component._component = null;
+ if (initialBase || 1 === opts) {
+ if (cbase) cbase._component = null;
+ base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, !0);
+ }
+ }
+ if (initialBase && base !== initialBase && inst !== initialChildComponent) {
+ var baseParent = initialBase.parentNode;
+ if (baseParent && base !== baseParent) {
+ baseParent.replaceChild(base, initialBase);
+ if (!toUnmount) {
+ initialBase._component = null;
+ recollectNodeTree(initialBase, !1);
+ }
+ }
+ }
+ if (toUnmount) unmountComponent(toUnmount);
+ component.base = base;
+ if (base && !isChild) {
+ var componentRef = component, t = component;
+ while (t = t.__u) (componentRef = t).base = base;
+ base._component = componentRef;
+ base._componentConstructor = componentRef.constructor;
+ }
+ }
+ if (!isUpdate || mountAll) mounts.unshift(component); else if (!skip) {
+ if (component.afterUpdate) component.afterUpdate(previousProps, previousState, previousContext);
+ if (component.updated) component.updated(previousProps, previousState, previousContext);
+ if (options.afterUpdate) options.afterUpdate(component);
+ }
+ if (null != component.__h) while (component.__h.length) component.__h.pop().call(component);
+ if (!diffLevel && !isChild) flushMounts();
+ }
+ }
+ function buildComponentFromVNode(dom, vnode, context, mountAll) {
+ var c = dom && dom._component, originalComponent = c, oldDom = dom, isDirectOwner = c && dom._componentConstructor === vnode.nodeName, isOwner = isDirectOwner, props = getNodeProps(vnode);
+ while (c && !isOwner && (c = c.__u)) isOwner = c.constructor === vnode.nodeName;
+ if (c && isOwner && (!mountAll || c._component)) {
+ setComponentProps(c, props, 3, context, mountAll);
+ dom = c.base;
+ } else {
+ if (originalComponent && !isDirectOwner) {
+ unmountComponent(originalComponent);
+ dom = oldDom = null;
+ }
+ c = createComponent(vnode.nodeName, props, context, vnode);
+ if (dom && !c.__b) {
+ c.__b = dom;
+ oldDom = null;
+ }
+ setComponentProps(c, props, 1, context, mountAll);
+ dom = c.base;
+ if (oldDom && dom !== oldDom) {
+ oldDom._component = null;
+ recollectNodeTree(oldDom, !1);
+ }
+ }
+ return dom;
+ }
+ function unmountComponent(component) {
+ if (options.beforeUnmount) options.beforeUnmount(component);
+ var base = component.base;
+ component.__x = !0;
+ if (component.uninstall) component.uninstall();
+ component.base = null;
+ var inner = component._component;
+ if (inner) unmountComponent(inner); else if (base) {
+ if (null != base.__omiattr_) applyRef(base.__omiattr_.ref, null);
+ component.__b = base;
+ removeNode(base);
+ collectComponent(component);
+ removeChildren(base);
+ }
+ applyRef(component.__r, null);
+ }
+ function _classCallCheck(instance, Constructor) {
+ if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
+ }
+ function render(vnode, parent, store, empty, merge) {
+ parent = 'string' == typeof parent ? document.querySelector(parent) : parent;
+ if (empty) while (parent.firstChild) parent.removeChild(parent.firstChild);
+ if (merge) merge = 'string' == typeof merge ? document.querySelector(merge) : merge;
+ return diff(merge, vnode, store, !1, parent, !1);
+ }
+ function define(name, ctor) {
+ options.mapping[name] = ctor;
+ }
+ function rpx(str) {
+ return str.replace(/([1-9]\d*|0)(\.\d*)*rpx/g, function(a, b) {
+ return window.innerWidth * Number(b) / 750 + 'px';
+ });
+ }
+ function _classCallCheck$1(instance, Constructor) {
+ if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
+ }
+ function _possibleConstructorReturn(self, call) {
+ if (!self) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ return call && ("object" == typeof call || "function" == typeof call) ? call : self;
+ }
+ function _inherits(subClass, superClass) {
+ if ("function" != typeof superClass && null !== superClass) throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ enumerable: !1,
+ writable: !0,
+ configurable: !0
+ }
+ });
+ if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
+ }
+ function classNames() {
+ var classes = [];
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ if (arg) {
+ var argType = typeof arg;
+ if ('string' === argType || 'number' === argType) classes.push(arg); else if (Array.isArray(arg) && arg.length) {
+ var inner = classNames.apply(null, arg);
+ if (inner) classes.push(inner);
+ } else if ('object' === argType) for (var key in arg) if (hasOwn.call(arg, key) && arg[key]) classes.push(key);
+ }
+ }
+ return classes.join(' ');
+ }
+ function extractClass() {
+ var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0), props = _Array$prototype$slic[0], args = _Array$prototype$slic.slice(1);
+ if (props) if (props.class) {
+ args.unshift(props.class);
+ delete props.class;
+ } else if (props.className) {
+ args.unshift(props.className);
+ delete props.className;
+ }
+ if (args.length > 0) return {
+ class: classNames.apply(null, args)
+ };
+ }
+ function getHost(component) {
+ var base = component.base;
+ if (base) while (base.parentNode) if (base.parentNode._component) return base.parentNode._component; else base = base.parentNode;
+ }
+ function styleObjToCss(s) {
+ var str = '';
+ for (var prop in s) {
+ var val = s[prop];
+ if (null != val) {
+ if (str) str += ' ';
+ str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());
+ str += ': ';
+ str += val;
+ if ('number' == typeof val && !1 === IS_NON_DIMENSIONAL.test(prop)) str += 'px';
+ str += ';';
+ }
+ }
+ return str || void 0;
+ }
+ function renderToString(vnode, opts, store, isSvgMode, css) {
+ if (null == vnode || 'boolean' == typeof vnode) return '';
+ var nodeName = vnode.nodeName, attributes = vnode.attributes, isComponent = !1;
+ store = store || {};
+ opts = Object.assign({
+ scopedCSS: !0
+ }, opts);
+ var pretty = opts.pretty, indentChar = pretty && 'string' == typeof pretty ? pretty : '\t';
+ if ('object' != typeof vnode && !nodeName) return encodeEntities(vnode);
+ var ctor = mapping$1[nodeName];
+ if (ctor) {
+ isComponent = !0;
+ var rendered, props = getNodeProps$1(vnode);
+ var c = new ctor(props, store);
+ c.__x = c.G = !0;
+ c.props = props;
+ c.store = store;
+ if (c.install) c.install();
+ if (c.beforeRender) c.beforeRender();
+ rendered = c.render(c.props, c.data, c.store);
+ var tempCss;
+ if (opts.scopedCSS) {
+ if (c.constructor.css || c.css) {
+ var cssStr = c.constructor.css ? c.constructor.css : 'function' == typeof c.css ? c.css() : c.css;
+ var cssAttr = '_s' + getCtorName(c.constructor);
+ tempCss = '';
+ addScopedAttrStatic(rendered, '_s' + getCtorName(c.constructor));
+ }
+ c.scopedCSSAttr = vnode.css;
+ scopeHost(rendered, c.scopedCSSAttr);
+ }
+ return renderToString(rendered, opts, store, !1, tempCss);
+ }
+ var html, s = '';
+ if (attributes) {
+ var attrs = Object.keys(attributes);
+ if (opts && !0 === opts.sortAttributes) attrs.sort();
+ for (var i = 0; i < attrs.length; i++) {
+ var name = attrs[i], v = attributes[name];
+ if ('children' !== name) if (!name.match(/[\s\n\\\/='"\0<>]/)) if (opts && opts.allAttributes || 'key' !== name && 'ref' !== name) {
+ if ('className' === name) {
+ if (attributes.class) continue;
+ name = 'class';
+ } else if (isSvgMode && name.match(/^xlink:?./)) name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');
+ if ('style' === name && v && 'object' == typeof v) v = styleObjToCss(v);
+ var hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);
+ if (!hooked && '' !== hooked) {
+ if ('dangerouslySetInnerHTML' === name) html = v && v.__html; else if ((v || 0 === v || '' === v) && 'function' != typeof v) {
+ if (!0 === v || '' === v) {
+ v = name;
+ if (!opts || !opts.xml) {
+ s += ' ' + name;
+ continue;
+ }
+ }
+ s += ' ' + name + '="' + encodeEntities(v) + '"';
+ }
+ } else s += hooked;
+ }
+ }
+ }
+ if (pretty) {
+ var sub = s.replace(/^\n\s*/, ' ');
+ if (sub !== s && !~sub.indexOf('\n')) s = sub; else if (pretty && ~s.indexOf('\n')) s += '\n';
+ }
+ s = '<' + nodeName + s + '>';
+ if (String(nodeName).match(/[\s\n\\\/='"\0<>]/)) throw s;
+ var isVoid = String(nodeName).match(VOID_ELEMENTS);
+ if (isVoid) s = s.replace(/>$/, ' />');
+ var pieces = [];
+ if (html) {
+ if (pretty && isLargeString(html)) html = '\n' + indentChar + indent(html, indentChar);
+ s += html;
+ } else if (vnode.children) {
+ var hasLarge = pretty && ~s.indexOf('\n');
+ for (var i = 0; i < vnode.children.length; i++) {
+ var child = vnode.children[i];
+ if (null != child && !1 !== child) {
+ var childSvgMode = 'svg' === nodeName ? !0 : 'foreignObject' === nodeName ? !1 : isSvgMode, ret = renderToString(child, opts, store, childSvgMode);
+ if (pretty && !hasLarge && isLargeString(ret)) hasLarge = !0;
+ if (ret) pieces.push(ret);
+ }
+ }
+ if (pretty && hasLarge) for (var i = pieces.length; i--; ) pieces[i] = '\n' + indentChar + indent(pieces[i], indentChar);
+ }
+ if (pieces.length) s += pieces.join(''); else if (opts && opts.xml) return s.substring(0, s.length - 1) + ' />';
+ if (!isVoid) {
+ if (pretty && ~s.indexOf('\n')) s += '\n';
+ s += '' + nodeName + '>';
+ }
+ if (css) return css + s; else return s;
+ }
+ function assign$1(obj, props) {
+ for (var i in props) obj[i] = props[i];
+ return obj;
+ }
+ function getNodeProps$1(vnode) {
+ var props = assign$1({}, vnode.attributes);
+ props.children = vnode.children;
+ var defaultProps = vnode.nodeName.defaultProps;
+ if (void 0 !== defaultProps) for (var i in defaultProps) if (void 0 === props[i]) props[i] = defaultProps[i];
+ return props;
+ }
+ function createRef() {
+ return {};
+ }
+ var options = {
+ scopedStyle: !0,
+ mapping: {},
+ isWeb: !0,
+ staticStyleMapping: {},
+ doc: 'object' == typeof document ? document : null,
+ root: function() {
+ if ('object' != typeof global || !global || global.Math !== Math || global.Array !== Array) {
+ if ('undefined' != typeof self) return self; else if ('undefined' != typeof window) return window; else if ('undefined' != typeof global) return global;
+ return function() {
+ return this;
+ }();
+ }
+ return global;
+ }(),
+ styleCache: []
+ };
+ var stack = [];
+ var EMPTY_CHILDREN = [];
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
+ if ('undefined' != typeof Element && !Element.prototype.addEventListener) {
+ var runListeners = function(oEvent) {
+ if (!oEvent) oEvent = window.event;
+ for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) if (oEvtListeners.aEls[iElId] === this) {
+ for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent);
+ break;
+ }
+ };
+ var oListeners = {};
+ Element.prototype.addEventListener = function(sEventType, fListener) {
+ if (oListeners.hasOwnProperty(sEventType)) {
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;
+ break;
+ }
+ if (-1 === nElIdx) {
+ oEvtListeners.aEls.push(this);
+ oEvtListeners.aEvts.push([ fListener ]);
+ this["on" + sEventType] = runListeners;
+ } else {
+ var aElListeners = oEvtListeners.aEvts[nElIdx];
+ if (this["on" + sEventType] !== runListeners) {
+ aElListeners.splice(0);
+ this["on" + sEventType] = runListeners;
+ }
+ for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) if (aElListeners[iLstId] === fListener) return;
+ aElListeners.push(fListener);
+ }
+ } else {
+ oListeners[sEventType] = {
+ aEls: [ this ],
+ aEvts: [ [ fListener ] ]
+ };
+ this["on" + sEventType] = runListeners;
+ }
+ };
+ Element.prototype.removeEventListener = function(sEventType, fListener) {
+ if (oListeners.hasOwnProperty(sEventType)) {
+ var oEvtListeners = oListeners[sEventType];
+ for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) if (oEvtListeners.aEls[iElId] === this) {
+ nElIdx = iElId;
+ break;
+ }
+ if (-1 !== nElIdx) for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) if (aElListeners[iLstId] === fListener) aElListeners.splice(iLstId, 1);
+ }
+ };
+ }
+ if ('function' != typeof Object.create) Object.create = function(proto, propertiesObject) {
+ function F() {}
+ if ('object' != typeof proto && 'function' != typeof proto) throw new TypeError('Object prototype may only be an Object: ' + proto); else if (null === proto) throw new Error("This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.");
+ F.prototype = proto;
+ return new F();
+ };
+ if (!String.prototype.trim) String.prototype.trim = function() {
+ return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
+ };
+ var usePromise = 'function' == typeof Promise;
+ if ('object' != typeof document && 'undefined' != typeof global && global.v) if ('android' === global.v.platform) usePromise = !0; else {
+ var systemVersion = global.v.systemVersion && global.v.systemVersion.split('.')[0] || 0;
+ if (systemVersion > 8) usePromise = !0;
+ }
+ var defer = usePromise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;
+ var IS_NON_DIMENSIONAL$1 = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;
+ var items = [];
+ var mapping = options.mapping;
+ var styleId = 0;
+ var mounts = [];
+ var diffLevel = 0;
+ var isSvgMode = !1;
+ var hydrating = !1;
+ var components = {};
+ var obaa = function obaa(target, arr, callback) {
+ var _observe = function(target, arr, callback) {
+ if (!target.$observer) target.$observer = this;
+ var $observer = target.$observer;
+ var eventPropArr = [];
+ if (obaa.isArray(target)) {
+ if (0 === target.length) {
+ target.$observeProps = {};
+ target.$observeProps.$observerPath = '#';
+ }
+ $observer.mock(target);
+ }
+ for (var prop in target) if (target.hasOwnProperty(prop)) if (callback) {
+ if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ } else if (obaa.isString(arr) && prop == arr) {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ } else {
+ eventPropArr.push(prop);
+ $observer.watch(target, prop);
+ }
+ $observer.target = target;
+ if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = [];
+ var propChanged = callback ? callback : arr;
+ $observer.propertyChangedHandler.push({
+ all: !callback,
+ propChanged: propChanged,
+ eventPropArr: eventPropArr
+ });
+ };
+ _observe.prototype = {
+ onPropertyChanged: function(prop, value, oldValue, target, path) {
+ if (value !== oldValue && this.propertyChangedHandler) {
+ var rootName = obaa.y(prop, path);
+ for (var i = 0, len = this.propertyChangedHandler.length; i < len; i++) {
+ var handler = this.propertyChangedHandler[i];
+ if (handler.all || obaa.isInArray(handler.eventPropArr, rootName) || 0 === rootName.indexOf('Array-')) handler.propChanged.call(this.target, prop, value, oldValue, path);
+ }
+ }
+ if (0 !== prop.indexOf('Array-') && 'object' == typeof value) this.watch(target, prop, target.$observeProps.$observerPath);
+ },
+ mock: function(target) {
+ var self = this;
+ obaa.methods.forEach(function(item) {
+ target[item] = function() {
+ var old = Array.prototype.slice.call(this, 0);
+ var result = Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ if (new RegExp('\\b' + item + '\\b').test(obaa.triggerStr)) {
+ for (var cprop in this) if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) self.watch(this, cprop, this.$observeProps.$observerPath);
+ self.onPropertyChanged('Array-' + item, this, old, this, this.$observeProps.$observerPath);
+ }
+ return result;
+ };
+ target['pure' + item.substring(0, 1).toUpperCase() + item.substring(1)] = function() {
+ return Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));
+ };
+ });
+ },
+ watch: function(target, prop, path) {
+ if ('$observeProps' !== prop && '$observer' !== prop) if (!obaa.isFunction(target[prop])) {
+ if (!target.$observeProps) target.$observeProps = {};
+ if (void 0 !== path) target.$observeProps.$observerPath = path; else target.$observeProps.$observerPath = '#';
+ var currentValue = target.$observeProps[prop] = target[prop];
+ if ('object' == typeof currentValue) {
+ if (obaa.isArray(currentValue)) {
+ this.mock(currentValue);
+ if (0 === currentValue.length) {
+ if (!currentValue.$observeProps) currentValue.$observeProps = {};
+ if (void 0 !== path) currentValue.$observeProps.$observerPath = path; else currentValue.$observeProps.$observerPath = '#';
+ }
+ }
+ for (var cprop in currentValue) if (currentValue.hasOwnProperty(cprop)) this.watch(currentValue, cprop, target.$observeProps.$observerPath + '-' + prop);
+ }
+ }
+ }
+ };
+ return new _observe(target, arr, callback);
+ };
+ obaa.methods = [ 'concat', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift', 'values', 'size' ];
+ obaa.triggerStr = [ 'concat', 'copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'size' ].join(',');
+ obaa.isArray = function(obj) {
+ return '[object Array]' === Object.prototype.toString.call(obj);
+ };
+ obaa.isString = function(obj) {
+ return 'string' == typeof obj;
+ };
+ obaa.isInArray = function(arr, item) {
+ for (var i = arr.length; --i > -1; ) if (item === arr[i]) return !0;
+ return !1;
+ };
+ obaa.isFunction = function(obj) {
+ return '[object Function]' == Object.prototype.toString.call(obj);
+ };
+ obaa.y = function(prop, path) {
+ if ('#' === path) return prop; else return path.split('-')[1];
+ };
+ obaa.add = function(obj, prop) {
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+ };
+ obaa.set = function(obj, prop, value, exec) {
+ if (!exec) obj[prop] = value;
+ var $observer = obj.$observer;
+ $observer.watch(obj, prop);
+ if (exec) obj[prop] = value;
+ };
+ Array.prototype.size = function(length) {
+ this.length = length;
+ };
+ var callbacks = [];
+ var nextTickCallback = [];
+ var id = 0;
+ var Component = function() {
+ function Component(props, store) {
+ _classCallCheck(this, Component);
+ this.props = assign(nProps(this.constructor.props), this.constructor.defaultProps, props);
+ this.elementId = id++;
+ this.data = this.constructor.data || this.data || {};
+ this.z = null;
+ this.store = store;
+ }
+ Component.prototype.update = function(callback) {
+ this.A = !0;
+ if (callback) (this.__h = this.__h || []).push(callback);
+ renderComponent(this, 2);
+ if (options.componentChange) options.componentChange(this, this.base);
+ this.A = !1;
+ };
+ Component.prototype.fire = function(type, data) {
+ var _this = this;
+ Object.keys(this.props).every(function(key) {
+ if ('on' + type.toLowerCase() === key.toLowerCase()) {
+ _this.props[key]({
+ detail: data
+ });
+ return !1;
+ }
+ return !0;
+ });
+ };
+ Component.prototype.render = function() {};
+ return Component;
+ }();
+ Component.is = 'WeElement';
+ var ModelView = function(_Component) {
+ function ModelView() {
+ _classCallCheck$1(this, ModelView);
+ return _possibleConstructorReturn(this, _Component.apply(this, arguments));
+ }
+ _inherits(ModelView, _Component);
+ ModelView.prototype.beforeInstall = function() {
+ this.data = this.vm.data;
+ };
+ return ModelView;
+ }(Component);
+ ModelView.observe = !0;
+ ModelView.mergeUpdate = !0;
+ var hasOwn = {}.hasOwnProperty;
+ var encodeEntities = function(s) {
+ return String(s).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"');
+ };
+ var indent = function(s, char) {
+ return String(s).replace(/(\n+)/g, '$1' + (char || '\t'));
+ };
+ var mapping$1 = options.mapping;
+ var VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;
+ var isLargeString = function(s, length, ignoreLines) {
+ return String(s).length > (length || 40) || !ignoreLines && -1 !== String(s).indexOf('\n') || -1 !== String(s).indexOf('<');
+ };
+ var JS_TO_CSS = {};
+ var WeElement = Component;
+ var defineElement = define;
+ options.root.Omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+ };
+ options.root.omi = options.root.Omi;
+ options.root.Omi.version = 'omio-1.3.8';
+ var Omi = {
+ h: h,
+ createElement: h,
+ cloneElement: cloneElement,
+ createRef: createRef,
+ Component: Component,
+ render: render,
+ rerender: rerender,
+ options: options,
+ WeElement: WeElement,
+ define: define,
+ rpx: rpx,
+ ModelView: ModelView,
+ defineElement: defineElement,
+ classNames: classNames,
+ extractClass: extractClass,
+ getHost: getHost,
+ renderToString: renderToString
+ };
+ if ('undefined' != typeof module) module.exports = Omi; else self.Omi = Omi;
+}();
+//# sourceMappingURL=omi.js.map
\ No newline at end of file
diff --git a/packages/omip/my-app/src/libs/omip-h5/omi.js.flow b/packages/omip/my-app/src/libs/omip-h5/omi.js.flow
new file mode 100755
index 000000000..1340d01c7
--- /dev/null
+++ b/packages/omip/my-app/src/libs/omip-h5/omi.js.flow
@@ -0,0 +1,13 @@
+/* @flow */
+
+import { createElement, cloneElement, Component, type Node } from 'react';
+
+declare var h: createElement;
+
+declare function render(vnode: Node, parent: Element, toReplace?: Element): Element;
+
+export { h, createElement, cloneElement, Component, render };
+export default { h, createElement, cloneElement, Component, render };
+
+declare export function rerender(): void;
+declare export var options: Object;
diff --git a/packages/omip/my-app/src/libs/omip-h5/omi.js.map b/packages/omip/my-app/src/libs/omip-h5/omi.js.map
new file mode 100644
index 000000000..be5c84cfa
--- /dev/null
+++ b/packages/omip/my-app/src/libs/omip-h5/omi.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/vnode.js","../src/h.js","../src/util.js","../src/clone-element.js","../src/constants.js","../src/render-queue.js","../src/vdom/index.js","../src/dom/index.js","../src/style.js","../src/vdom/diff.js","../src/vdom/component-recycler.js","../src/obaa.js","../src/tick.js","../src/observe.js","../src/vdom/component.js","../src/component.js","../src/render.js","../src/define.js","../src/rpx.js","../src/class.js","../src/render-to-string.js","../src/options.js","../src/model-view.js","../src/omi.js"],"names":["VNode","h","nodeName","attributes","lastSimple","child","simple","i","children","EMPTY_CHILDREN","arguments","length","stack","push","pop","undefined","String","p","key","options","vnode","toObject","val","TypeError","Object","assign","target","source","from","to","symbols","s","hasOwnProperty","call","getOwnPropertySymbols","propIsEnumerable","extend","obj","props","applyRef","ref","value","current","isArray","prototype","toString","nProps","result","keys","forEach","cloneElement","slice","ATTR_KEY","component","debounceRendering","defer","rerender","items","enqueueRender","renderComponent","mapping","hydrating","isSameNodeType","node","splitText","_componentConstructor","normalizedNodeName","toLowerCase","defaultProps","doc","createElementNS","createElement","_ref","createNode","a","b","cssTxt","isSvg","rule","split","map","o","x","trim","replace","Array","Symbol","iterator","_ref3","properties","next","done","_ref2","property","style","parseCSSText","match","cssText","parentNode","removeChild","setAccessor","name","old","className","IS_NON_DIMENSIONAL$1","test","oldJson","currentJson","changed","ckey","setStyles","substring","addEventListener","eventProxy","useCapture","touchStart","touchEnd","_listeners","setProperty","removeEventListener","removeAttribute","ns","removeAttributeNS","setAttributeNS","setAttribute","e","this","type","event","___touchY","touches","pageY","Math","abs","changedTouches","pageX","___touchX","document","body","scrollTop","___scrollTop","styleCache","len","item","ctor","attrName","getCtorName","styleId","prefix","re","css","g0","g1","g2","g3","appendClass","addStyle","id","ele","head","getElementsByTagName","appendChild","someThingStyles","getElementById","textContent","window","ActiveXObject","styleSheet","addStyleWithoutId","attr","scopeVdom","addStyleToHead","scopedStyle","addScopedAttrStatic","vdom","staticStyleMapping","scoper","diffLevel","c","mounts","isSvgMode","afterMount","constructor","diff","dom","context","mountAll","parent","componentRoot","ret","out","prevSvgMode","vnodeName","buildComponentFromVNode","_component","createTextNode","replaceChild","recollectNodeTree","vchildren","fc","nodeValue","innerDiffNode","isHydrating","j","originalChildren","keyed","keyedLen","childrenLen","vlen","_child","f","__key","vchild","min","nextSibling","idiff","removeNode","insertBefore","unmountOnly","removeChildren","previousSibling","attrs","collectComponent","components","Ctor","render","inst","Component","createComponent","list","nextBase","splice","data","fireTick","size","scope","callbacks","nextItem","fn","timeout","nextTickCallback","clearTimeout","proxyUpdate","update","setComponentProps","opts","_disable","install","observe","receiveProps","beforeInstall","prevProps","base","shallowComparison","isChild","previousProps","previousState","isUpdate","initialBase","initialChildComponent","previousContext","rendered","cbase","beforeUpdate","store","skip","prevState","prevContext","beforeRender","scopeHost","scopedCssAttr","getChildContext","childComponent","childProps","getNodeProps","toUnmount","baseParent","SYNC_RENDER","componentRef","t","unshift","_parentComponent","updated","afterUpdate","_renderCallbacks","flushMounts","oldDom","originalComponent","isDirectOwner","isOwner","unmountComponent","inner","uninstall","instance","Constructor","querySelector","empty","merge","firstChild","define","rpx","str","superClass","subClass","create","enumerable","writable","configurable","setPrototypeOf","__proto__","hasOwn","argType","classes","arg","_Array$prototype$slic","args","class","extractClass","classNames","apply","VOID_ELEMENTS","isLargeString","styleObjToCss","IS_NON_DIMENSIONAL","prop","JS_TO_CSS","renderToString","scopedCSS","pretty","indentChar","isComponent","tempCss","cssStr","cssAttr","html","sortAttributes","sort","allAttributes","v","attributeHook","hooked","__html","xml","encodeEntities","sub","indexOf","isVoid","pieces","indent","hasLarge","join","assign$1","createRef","isWeb","root","global","self","propertyIsEnumerable","Element","runListeners","oEvent","iLstId","iElId","oEvtListeners","oListeners","aEls","aEvts","sEventType","fListener","nElIdx","aElListeners","proto","propertiesObject","F","Error","usePromise","Promise","__config__","platform","systemVersion","resolve","then","bind","setTimeout","ASYNC_RENDER","obaa","_observe","arr","callback","$observer","eventPropArr","isInArray","$observeProps","$observerPath","isString","watch","propertyChangedHandler","propChanged","onPropertyChanged","path","all","handler","oldValue","rootName","_getRootName","mock","methods","RegExp","cprop","isFunction","toUpperCase","get","currentValue","set","triggerStr","add","exec","elementId","componentChange","_willUpdate","every","is","ModelView","_Component","_inherits","ignoreLines","WeElement","defineElement","Omi","version","getHost","module","exports"],"mappings":"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","file":"omi.js","sourcesContent":["/** Virtual DOM Node */\nexport function VNode() {}\n","import { VNode } from './vnode'\nimport options from './options'\n\nconst stack = []\n\nconst EMPTY_CHILDREN = []\n\n/**\n * JSX/hyperscript reviver.\n * @see http://jasonformat.com/wtf-is-jsx\n * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0\n *\n * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.\n *\n * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation\n * of the structure of a DOM tree. This structure can be realized by recursively comparing it against\n * the current _actual_ DOM structure, and applying only the differences.\n *\n * `h()`/`createElement()` accepts an element name, a list of attributes/props,\n * and optionally children to append to the element.\n *\n * @example The following DOM tree\n *\n * `Hello!
`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nexport function h(nodeName, attributes) {\n let children = EMPTY_CHILDREN,\n lastSimple,\n child,\n simple,\n i\n for (i = arguments.length; i-- > 2; ) {\n stack.push(arguments[i])\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children)\n delete attributes.children\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--; ) stack.push(child[i])\n } else {\n if (typeof child === 'boolean') child = null\n\n if ((simple = typeof nodeName !== 'function')) {\n if (child == null) child = ''\n else if (typeof child === 'number') child = String(child)\n else if (typeof child !== 'string') simple = false\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child\n } else if (children === EMPTY_CHILDREN) {\n children = [child]\n } else {\n children.push(child)\n }\n\n lastSimple = simple\n }\n }\n\n let p = new VNode()\n p.nodeName = nodeName\n p.children = children\n\tp.attributes = attributes == null ? undefined : attributes\n p.key = attributes == null ? undefined : attributes.key\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p)\n\n return p\n}\n","'use strict'\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols\nvar hasOwnProperty = Object.prototype.hasOwnProperty\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined')\n }\n\n return Object(val)\n}\n\nexport function assign(target, source) {\n var from\n var to = toObject(target)\n var symbols\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s])\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key]\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from)\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]]\n }\n }\n }\n }\n\n return to\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var oListeners = {};\n function runListeners(oEvent) {\n if (!oEvent) { oEvent = window.event; }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) { oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent); }\n break;\n }\n }\n }\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { return; }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) { return; }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) { return; }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { aElListeners.splice(iLstId, 1); }\n }\n };\n}\n\n\nif (typeof Object.create !== 'function') {\n Object.create = function(proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto)\n } else if (proto === null) {\n throw new Error(\n \"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\"\n )\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto\n\n return new F()\n }\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n }\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nexport function extend(obj, props) {\n for (let i in props) obj[i] = props[i]\n return obj\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nexport function applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value)\n else ref.current = value\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nlet usePromise = typeof Promise == 'function'\n\n// for native\nif (\n typeof document !== 'object' &&\n typeof global !== 'undefined' &&\n global.__config__\n) {\n if (global.__config__.platform === 'android') {\n usePromise = true\n } else {\n let systemVersion =\n (global.__config__.systemVersion &&\n global.__config__.systemVersion.split('.')[0]) ||\n 0\n if (systemVersion > 8) {\n usePromise = true\n }\n }\n}\n\nexport const defer = usePromise\n ? Promise.resolve().then.bind(Promise.resolve())\n : setTimeout\n\nexport function isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nexport function nProps(props) {\n if (!props || isArray(props)) return {}\n const result = {}\n Object.keys(props).forEach(key => {\n result[key] = props[key].value\n })\n return result\n}","import { extend } from './util'\nimport { h } from './h'\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nexport function cloneElement(vnode, props) {\n return h(\n vnode.nodeName,\n extend(extend({}, vnode.attributes), props),\n arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children\n )\n}\n","// render modes\n\nexport const NO_RENDER = 0\nexport const SYNC_RENDER = 1\nexport const FORCE_RENDER = 2\nexport const ASYNC_RENDER = 3\n\nexport const ATTR_KEY = '__omiattr_'\n\n// DOM properties that should NOT have \"px\" added when numeric\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i\n","import options from './options'\nimport { defer } from './util'\nimport { renderComponent } from './vdom/component'\n\n/** Managed queue of dirty components to be re-rendered */\n\nlet items = []\n\nexport function enqueueRender(component) {\n if (items.push(component) == 1) {\n ;(options.debounceRendering || defer)(rerender)\n }\n}\n\n/** Rerender all enqueued dirty components */\nexport function rerender() {\n\tlet p\n\twhile ( (p = items.pop()) ) {\n renderComponent(p)\n\t}\n}","import { extend } from '../util'\nimport options from '../options'\n\nconst mapping = options.mapping\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nexport function isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName]\n if (ctor) {\n return hydrating || node._componentConstructor === ctor\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName)\n }\n return hydrating || node._componentConstructor === vnode.nodeName\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nexport function isNamedNode(node, nodeName) {\n return (\n node.normalizedNodeName === nodeName ||\n node.nodeName.toLowerCase() === nodeName.toLowerCase()\n )\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nexport function getNodeProps(vnode) {\n let props = extend({}, vnode.attributes)\n props.children = vnode.children\n\n let defaultProps = vnode.nodeName.defaultProps\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i]\n }\n }\n }\n\n return props\n}\n","import { IS_NON_DIMENSIONAL } from '../constants'\nimport { applyRef } from '../util'\nimport options from '../options'\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nexport function createNode(nodeName, isSvg) {\n let node = isSvg\n ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName)\n : options.doc.createElement(nodeName)\n node.normalizedNodeName = nodeName\n return node\n}\n\nfunction parseCSSText(cssText) {\n let cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ')\n let style = {},\n [a, b, rule] = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt]\n let cssToJs = s => s.replace(/\\W+\\w/g, match => match.slice(-1).toUpperCase())\n let properties = rule\n .split(';')\n .map(o => o.split(':').map(x => x && x.trim()))\n for (let [property, value] of properties) style[cssToJs(property)] = value\n return style\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nexport function removeNode(node) {\n let parentNode = node.parentNode\n if (parentNode) parentNode.removeChild(node)\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nexport function setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class'\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null)\n applyRef(value, node)\n } else if (name === 'class' && !isSvg) {\n node.className = value || ''\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || ''\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (let i in old) if (!(i in value)) node.style[i] = ''\n }\n for (let i in value) {\n node.style[i] =\n typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false\n ? value[i] + 'px'\n : value[i]\n }\n }\n } else {\n let oldJson = old,\n currentJson = value\n if (typeof old === 'string') {\n oldJson = parseCSSText(old)\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value)\n }\n\n let result = {},\n changed = false\n\n if (oldJson) {\n for (let key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = ''\n changed = true\n }\n }\n\n for (let ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey]\n changed = true\n }\n }\n\n if (changed) {\n node.setStyles(result)\n }\n } else {\n node.setStyles(currentJson)\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || ''\n } else if (name[0] == 'o' && name[1] == 'n') {\n let useCapture = name !== (name = name.replace(/Capture$/, ''))\n name = name.toLowerCase().substring(2)\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture)\n node.addEventListener('touchend', touchEnd, useCapture)\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture)\n node.removeEventListener('touchend', touchEnd, useCapture)\n }\n }\n ;(node._listeners || (node._listeners = {}))[name] = value\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value)\n if (value == null || value === false) node.removeAttribute(name)\n } else {\n let ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''))\n if (value == null || value === false) {\n if (ns)\n node.removeAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase()\n )\n else node.removeAttribute(name)\n } else if (typeof value !== 'function') {\n if (ns)\n node.setAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase(),\n value\n )\n else node.setAttribute(name, value)\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type]((options.event && options.event(e)) || e)\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX\n this.___touchY = e.touches[0].pageY\n this.___scrollTop = document.body.scrollTop\n}\n\nfunction touchEnd(e) {\n if (\n Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 &&\n Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 &&\n Math.abs(document.body.scrollTop - this.___scrollTop) < 30\n ) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }))\n }\n}","import options from './options'\n\nlet styleId = 0\n\nexport function getCtorName(ctor) {\n for (let i = 0, len = options.styleCache.length; i < len; i++) {\n let item = options.styleCache[i]\n\n if (item.ctor === ctor) {\n return item.attrName\n }\n }\n\n let attrName = 's' + styleId\n options.styleCache.push({ ctor, attrName })\n styleId++\n\n return attrName\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nexport function scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']'\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '')\n // eslint-disable-next-line\n let re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g')\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, (g0, g1, g2, g3) => {\n if (typeof g2 === 'undefined') {\n g2 = ''\n }\n\n /* eslint-ignore-next-line */\n if (\n g1.match(\n /^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/\n )\n ) {\n return g1 + g2 + g3\n }\n\n let appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3\n //return appendClass + ',' + prependClass + g3;\n })\n\n return css\n}\n\nexport function addStyle(cssText, id) {\n id = id.toLowerCase()\n let ele = document.getElementById(id)\n let head = document.getElementsByTagName('head')[0]\n if (ele && ele.parentNode === head) {\n head.removeChild(ele)\n }\n\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n someThingStyles.setAttribute('id', id)\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addStyleWithoutId(cssText) {\n let head = document.getElementsByTagName('head')[0]\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom)\n } \n}\n\nexport function addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr)\n options.staticStyleMapping[attr] = true\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style)\n options.staticStyleMapping[attr] = true\n }\n}\n\nexport function scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {}\n vdom.attributes[attr] = ''\n vdom.css = vdom.css || {}\n vdom.css[attr] = ''\n vdom.children.forEach(child => scopeVdom(attr, child))\n }\n}\n\nexport function scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {}\n for (let key in css) {\n vdom.attributes[key] = ''\n }\n }\n}\n","import { ATTR_KEY } from '../constants'\nimport { isSameNodeType, isNamedNode } from './index'\nimport { buildComponentFromVNode } from './component'\nimport { createNode, setAccessor } from '../dom/index'\nimport { unmountComponent } from './component'\nimport options from '../options'\nimport { applyRef } from '../util'\nimport { removeNode } from '../dom/index'\nimport { isArray } from '../util'\nimport { addStyleToHead, getCtorName } from '../style'\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nexport const mounts = []\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nexport let diffLevel = 0\n\n/** Global flag indicating if the diff is currently within an SVG */\nlet isSvgMode = false\n\n/** Global flag indicating if the diff is performing hydration */\nlet hydrating = false\n\n/** Invoke queued componentDidMount lifecycle methods */\nexport function flushMounts() {\n let c\n while ((c = mounts.pop())) {\n if (options.afterMount) options.afterMount(c)\n if (c.installed) c.installed()\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css), '_s' + getCtorName(c.constructor))\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nexport function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !(ATTR_KEY in dom)\n }\n let ret\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n }\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot)\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret)\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (!--diffLevel) {\n hydrating = false\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts()\n }\n\n return ret\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n let out = dom,\n prevSvgMode = isSvgMode\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = ''\n\n // If the VNode represents a Component, perform a component diff:\n let vnodeName = vnode.nodeName\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName]\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (\n dom &&\n dom.splitText !== undefined &&\n dom.parentNode &&\n (!dom._component || componentRoot)\n ) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode)\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n recollectNodeTree(dom, true)\n }\n }\n\n //ie8 error\n try {\n out[ATTR_KEY] = true\n } catch (e) {}\n\n return out\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode =\n vnodeName === 'svg'\n ? true\n : vnodeName === 'foreignObject'\n ? false\n : isSvgMode\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName)\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode)\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) out.appendChild(dom.firstChild)\n\n // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true)\n }\n }\n\n let fc = out.firstChild,\n props = out[ATTR_KEY],\n vchildren = vnode.children\n\n if (props == null) {\n props = out[ATTR_KEY] = {}\n for (let a = out.attributes, i = a.length; i--; )\n props[a[i].name] = a[i].value\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (\n !hydrating &&\n vchildren &&\n vchildren.length === 1 &&\n typeof vchildren[0] === 'string' &&\n fc != null &&\n fc.splitText !== undefined &&\n fc.nextSibling == null\n ) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0]\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if ((vchildren && vchildren.length) || fc != null) {\n innerDiffNode(\n out,\n vchildren,\n context,\n mountAll,\n hydrating || props.dangerouslySetInnerHTML != null\n )\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props)\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode\n\n return out\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n let originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (let i = 0; i < len; i++) {\n let child = originalChildren[i],\n props = child[ATTR_KEY],\n key =\n vlen && props\n ? child._component\n ? child._component.__key\n : props.key\n : null\n if (key != null) {\n keyedLen++\n keyed[key] = child\n } else if (\n props ||\n (child.splitText !== undefined\n ? isHydrating\n ? child.nodeValue.trim()\n : true\n : isHydrating)\n ) {\n children[childrenLen++] = child\n }\n }\n }\n\n if (vlen !== 0) {\n for (let i = 0; i < vlen; i++) {\n vchild = vchildren[i]\n child = null\n\n // attempt to find a node based on key matching\n let key = vchild.key\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key]\n keyed[key] = undefined\n keyedLen--\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (\n children[j] !== undefined &&\n isSameNodeType((c = children[j]), vchild, isHydrating)\n ) {\n child = c\n children[j] = undefined\n if (j === childrenLen - 1) childrenLen--\n if (j === min) min++\n break\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll)\n\n f = originalChildren[i]\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child)\n } else if (child === f.nextSibling) {\n removeNode(f)\n } else {\n dom.insertBefore(child, f)\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (let i in keyed)\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false)\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined)\n recollectNodeTree(child, false)\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nexport function recollectNodeTree(node, unmountOnly) {\n let component = node._component\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component)\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node[ATTR_KEY] != null) applyRef(node[ATTR_KEY].ref, null)\n\n if (unmountOnly === false || node[ATTR_KEY] == null) {\n removeNode(node)\n }\n\n removeChildren(node)\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nexport function removeChildren(node) {\n node = node.lastChild\n while (node) {\n let next = node.previousSibling\n recollectNodeTree(node, true)\n node = next\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n let name\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], (old[name] = undefined), isSvgMode)\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (\n name !== 'children' &&\n name !== 'innerHTML' &&\n (!(name in old) ||\n attrs[name] !==\n (name === 'value' || name === 'checked' ? dom[name] : old[name]))\n ) {\n setAccessor(dom, name, old[name], (old[name] = attrs[name]), isSvgMode)\n }\n }\n}\n","import Component from '../component'\nimport options from '../options'\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nconst components = {}\n\n/** Reclaim a component for later re-use by the recycler. */\nexport function collectComponent(component) {\n let name = component.constructor.name\n ;(components[name] || (components[name] = [])).push(component)\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nexport function createComponent(Ctor, props, context, vnode) {\n let list = components[Ctor.name],\n inst\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context)\n Component.call(inst, props, context)\n } else {\n inst = new Component(props, context)\n inst.constructor = Ctor\n inst.render = doRender\n }\n vnode && (inst.scopedCssAttr = vnode.css)\n\n if (list) {\n for (let i = list.length; i--; ) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase\n list.splice(i, 1)\n break\n }\n }\n }\n return inst\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context)\n}\n","/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function(target, arr, callback) {\n var _observe = function(target, arr, callback) {\n if (!target.$observer) target.$observer = this\n var $observer = target.$observer\n var eventPropArr = []\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {}\n target.$observeProps.$observerPath = '#'\n }\n $observer.mock(target)\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n } else {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n }\n }\n $observer.target = target\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = []\n var propChanged = callback ? callback : arr\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n })\n }\n _observe.prototype = {\n onPropertyChanged: function(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path)\n for (\n var i = 0, len = this.propertyChangedHandler.length;\n i < len;\n i++\n ) {\n var handler = this.propertyChangedHandler[i]\n if (\n handler.all ||\n obaa.isInArray(handler.eventPropArr, rootName) ||\n rootName.indexOf('Array-') === 0\n ) {\n handler.propChanged.call(this.target, prop, value, oldValue, path)\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath)\n }\n },\n mock: function(target) {\n var self = this\n obaa.methods.forEach(function(item) {\n target[item] = function() {\n var old = Array.prototype.slice.call(this, 0)\n var result = Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath)\n }\n }\n //todo\n self.onPropertyChanged(\n 'Array-' + item,\n this,\n old,\n this,\n this.$observeProps.$observerPath\n )\n }\n return result\n }\n target[\n 'pure' + item.substring(0, 1).toUpperCase() + item.substring(1)\n ] = function() {\n return Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n }\n })\n },\n watch: function(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return\n if (obaa.isFunction(target[prop])) return\n if (!target.$observeProps) target.$observeProps = {}\n if (path !== undefined) {\n target.$observeProps.$observerPath = path\n } else {\n target.$observeProps.$observerPath = '#'\n }\n var self = this\n var currentValue = (target.$observeProps[prop] = target[prop])\n Object.defineProperty(target, prop, {\n get: function() {\n return this.$observeProps[prop]\n },\n set: function(value) {\n var old = this.$observeProps[prop]\n this.$observeProps[prop] = value\n self.onPropertyChanged(\n prop,\n value,\n old,\n this,\n target.$observeProps.$observerPath\n )\n }\n })\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue)\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {}\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path\n } else {\n currentValue.$observeProps.$observerPath = '#'\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(\n currentValue,\n cprop,\n target.$observeProps.$observerPath + '-' + prop\n )\n }\n }\n }\n }\n }\n return new _observe(target, arr, callback)\n}\n\nobaa.methods = [\n 'concat',\n 'copyWithin',\n 'entries',\n 'every',\n 'fill',\n 'filter',\n 'find',\n 'findIndex',\n 'forEach',\n 'includes',\n 'indexOf',\n 'join',\n 'keys',\n 'lastIndexOf',\n 'map',\n 'pop',\n 'push',\n 'reduce',\n 'reduceRight',\n 'reverse',\n 'shift',\n 'slice',\n 'some',\n 'sort',\n 'splice',\n 'toLocaleString',\n 'toString',\n 'unshift',\n 'values',\n 'size'\n]\nobaa.triggerStr = [\n 'concat',\n 'copyWithin',\n 'fill',\n 'pop',\n 'push',\n 'reverse',\n 'shift',\n 'sort',\n 'splice',\n 'unshift',\n 'size'\n].join(',')\n\nobaa.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nobaa.isString = function(obj) {\n return typeof obj === 'string'\n}\n\nobaa.isInArray = function(arr, item) {\n for (var i = arr.length; --i > -1; ) {\n if (item === arr[i]) return true\n }\n return false\n}\n\nobaa.isFunction = function(obj) {\n return Object.prototype.toString.call(obj) == '[object Function]'\n}\n\nobaa._getRootName = function(prop, path) {\n if (path === '#') {\n return prop\n }\n return path.split('-')[1]\n}\n\nobaa.add = function(obj, prop) {\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n}\n\nobaa.set = function(obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value\n }\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n if (exec) {\n obj[prop] = value\n }\n}\n\nArray.prototype.size = function(length) {\n this.length = length\n}\n\nexport default obaa\n","const callbacks = []\nconst nextTickCallback = []\n\nexport function tick(fn, scope) {\n callbacks.push({ fn, scope })\n}\n\nexport function fireTick() {\n callbacks.forEach(item => {\n item.fn.call(item.scope)\n })\n\n nextTickCallback.forEach(nextItem => {\n nextItem.fn.call(nextItem.scope)\n })\n nextTickCallback.length = 0\n}\n\nexport function nextTick(fn, scope) {\n nextTickCallback.push({ fn, scope })\n}\n","import obaa from './obaa'\nimport { fireTick } from './tick'\n\nexport function proxyUpdate(ele) {\n let timeout = null\n obaa(ele.data, () => {\n if (ele._willUpdate) {\n return\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n ele.update()\n fireTick()\n }, 0)\n } else {\n ele.update()\n fireTick()\n }\n })\n}\n","import {\n SYNC_RENDER,\n NO_RENDER,\n FORCE_RENDER,\n ASYNC_RENDER,\n ATTR_KEY\n} from '../constants'\nimport options from '../options'\nimport { extend, applyRef } from '../util'\nimport { enqueueRender } from '../render-queue'\nimport { getNodeProps } from './index'\nimport {\n diff,\n mounts,\n diffLevel,\n flushMounts,\n recollectNodeTree,\n removeChildren\n} from './diff'\nimport { createComponent, collectComponent } from './component-recycler'\nimport { removeNode } from '../dom/index'\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost\n} from '../style'\nimport { proxyUpdate } from '../observe'\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nexport function setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return\n component._disable = true\n\n if ((component.__ref = props.ref)) delete props.ref\n if ((component.__key = props.key)) delete props.key\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall()\n if (component.install) component.install()\n if (component.constructor.observe) {\n proxyUpdate(component)\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props)\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context\n component.context = context\n }\n\n if (!component.prevProps) component.prevProps = component.props\n component.props = props\n\n component._disable = false\n\n if (opts !== NO_RENDER) {\n if (\n opts === SYNC_RENDER ||\n options.syncComponentUpdates !== false ||\n !component.base\n ) {\n renderComponent(component, SYNC_RENDER, mountAll)\n } else {\n enqueueRender(component)\n }\n }\n\n applyRef(component.__ref, component)\n}\n\nfunction shallowComparison(old, attrs) {\n let name\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true\n }\n\n for (name in attrs) {\n if (name != 'children') {\n let type = typeof attrs[name]\n if (type == 'function' || type == 'object') {\n return true\n } else if (attrs[name] != old[name]) {\n return true\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nexport function renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return\n\n let props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase\n\n // if updating\n if (isUpdate) {\n component.props = previousProps\n component.data = previousState\n component.context = previousContext\n if (component.store || opts == FORCE_RENDER || shallowComparison(previousProps, props)) {\n skip = false\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context)\n }\n } else {\n skip = true\n }\n component.props = props\n component.data = data\n component.context = context\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null\n\n if (!skip) {\n component.beforeRender && component.beforeRender()\n rendered = component.render(props, data, context)\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(component.constructor)\n )\n }\n\n scopeHost(rendered, component.scopedCssAttr)\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext())\n }\n\n let childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent]\n\n if (ctor) {\n // set up high order component link\n\n let childProps = getNodeProps(rendered)\n inst = initialChildComponent\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, SYNC_RENDER, context, false)\n } else {\n toUnmount = inst\n\n component._component = inst = createComponent(ctor, childProps, context)\n inst.nextBase = inst.nextBase || nextBase\n inst._parentComponent = component\n setComponentProps(inst, childProps, NO_RENDER, context, false)\n renderComponent(inst, SYNC_RENDER, mountAll, true)\n }\n\n base = inst.base\n } else {\n cbase = initialBase\n\n // destroy high order component link\n toUnmount = initialChildComponent\n if (toUnmount) {\n cbase = component._component = null\n }\n\n if (initialBase || opts === SYNC_RENDER) {\n if (cbase) cbase._component = null\n base = diff(\n cbase,\n rendered,\n context,\n mountAll || !isUpdate,\n initialBase && initialBase.parentNode,\n true\n )\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n let baseParent = initialBase.parentNode\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase)\n\n if (!toUnmount) {\n initialBase._component = null\n recollectNodeTree(initialBase, false)\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount)\n }\n\n component.base = base\n if (base && !isChild) {\n let componentRef = component,\n t = component\n while ((t = t._parentComponent)) {\n ;(componentRef = t).base = base\n }\n base._component = componentRef\n base._componentConstructor = componentRef.constructor\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component)\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext)\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext)\n }\n if (options.afterUpdate) options.afterUpdate(component)\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length)\n component._renderCallbacks.pop().call(component)\n }\n\n if (!diffLevel && !isChild) flushMounts()\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nexport function buildComponentFromVNode(dom, vnode, context, mountAll) {\n let c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode)\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, ASYNC_RENDER, context, mountAll)\n dom = c.base\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent)\n dom = oldDom = null\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode)\n if (dom && !c.nextBase) {\n c.nextBase = dom\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null\n }\n setComponentProps(c, props, SYNC_RENDER, context, mountAll)\n dom = c.base\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null\n recollectNodeTree(oldDom, false)\n }\n }\n\n return dom\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nexport function unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component)\n\n let base = component.base\n\n component._disable = true\n\n if (component.uninstall) component.uninstall()\n\n component.base = null\n\n // recursively tear down & recollect high-order component children:\n let inner = component._component\n if (inner) {\n unmountComponent(inner)\n } else if (base) {\n if (base[ATTR_KEY] != null) applyRef(base[ATTR_KEY].ref, null)\n\n component.nextBase = base\n\n removeNode(base)\n collectComponent(component)\n\n removeChildren(base)\n }\n\n applyRef(component.__ref, null)\n}\n","import { FORCE_RENDER } from './constants'\nimport { renderComponent } from './vdom/component'\nimport options from './options'\nimport { nProps, assign } from './util'\n\nlet id = 0\n\nexport default class Component {\n static is = 'WeElement'\n\n constructor(props, store) {\n this.props = assign(\n nProps(this.constructor.props),\n this.constructor.defaultProps,\n props\n )\n this.elementId = id++\n this.data = this.constructor.data || this.data || {}\n\n this._preCss = null\n\n this.store = store\n }\n\n update(callback) {\n this._willUpdate = true\n if (callback)\n (this._renderCallbacks = this._renderCallbacks || []).push(callback)\n renderComponent(this, FORCE_RENDER)\n if (options.componentChange) options.componentChange(this, this.base)\n this._willUpdate = false\n }\n\n fire(type, data) {\n Object.keys(this.props).every(key => {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n this.props[key]({ detail: data })\n return false\n }\n return true\n })\n }\n\n render() {}\n}\n","import { diff } from './vdom/diff'\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nexport function render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n }\n\n if (merge) {\n merge =\n typeof merge === 'string'\n ? document.querySelector(merge)\n : merge\n }\n\n return diff(merge, vnode, store, false, parent, false)\n}\n","import options from './options'\n\nexport function define(name, ctor) {\n options.mapping[name] = ctor\n}\n","export function rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, (a, b) => {\n return (window.innerWidth * Number(b)) / 750 + 'px'\n })\n}\n","/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty\n\nexport function classNames() {\n var classes = []\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i]\n if (!arg) continue\n\n var argType = typeof arg\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg)\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg)\n if (inner) {\n classes.push(inner)\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key)\n }\n }\n }\n }\n\n return classes.join(' ')\n}\n\nexport function extractClass() {\n const [props, ...args] = Array.prototype.slice.call(arguments, 0)\n if (props) {\n if (props.class) {\n args.unshift(props.class)\n delete props.class\n } else if (props.className) {\n args.unshift(props.className)\n delete props.className\n }\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) }\n }\n}\n","/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nimport options from './options'\n\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost,\n scoper\n} from './style'\n\n\nconst encodeEntities = s => String(s)\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"');\n\nconst indent = (s, char) => String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nconst mapping = options.mapping\n\nconst VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nconst isLargeString = (s, length, ignoreLines) => (String(s).length > (length || 40) || (!ignoreLines && String(s).indexOf('\\n') !== -1) || String(s).indexOf('<') !== -1);\n\nconst JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n let str = '';\n for (let prop in s) {\n let val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\n/** The default export is an alias of `render()`. */\nexport function renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n let nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n },opts)\n\n let pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n const ctor = mapping[nodeName]\n if (ctor) {\n isComponent = true;\n\n let props = getNodeProps(vnode),\n rendered;\n // class-based components\n let c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n let tempCss \n if(opts.scopedCSS){\n\n if (c.constructor.css || c.css) {\n\n const cssStr = c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css)\n const cssAttr = '_s' + getCtorName(c.constructor)\n\n tempCss = ``\n\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(c.constructor)\n )\n }\n \n c.scopedCSSAttr = vnode.css\n scopeHost(rendered, c.scopedCSSAttr)\n }\n\n return renderToString(rendered, opts, store, false, tempCss);\n }\n\n\n // render JSX to HTML\n let s = '', html;\n\n if (attributes) {\n let attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (let i = 0; i < attrs.length; i++) {\n let name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes.class) continue;\n name = 'class';\n }\n else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n let hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n }\n else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ` ${name}=\"${encodeEntities(v)}\"`;\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n let sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;\n else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = `<${nodeName}${s}>`;\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n let isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n let pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n }\n else if (vnode.children) {\n let hasLarge = pretty && ~s.indexOf('\\n');\n for (let i = 0; i < vnode.children.length; i++) {\n let child = vnode.children[i];\n if (child != null && child !== false) {\n let childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = renderToString(child, opts, store, childSvgMode);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (let i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n }\n else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += `${nodeName}>`;\n }\n\n if(css) return css + s;\n return s;\n}\n\nfunction assign(obj, props) {\n for (let i in props) obj[i] = props[i];\n return obj;\n}\n\nfunction getNodeProps(vnode) {\n let props = assign({}, vnode.attributes);\n props.children = vnode.children;\n\n let defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}","function getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n if (typeof self !== 'undefined') {\n return self\n } else if (typeof window !== 'undefined') {\n return window\n } else if (typeof global !== 'undefined') {\n return global\n }\n return (function() {\n return this\n })()\n }\n return global\n}\n\n/** Global options\n *\t@public\n *\t@namespace options {Object}\n */\nexport default {\n scopedStyle: true,\n mapping: {},\n isWeb: true,\n staticStyleMapping: {},\n doc: typeof document === 'object' ? document : null,\n root: getGlobal(),\n //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]\n styleCache: []\n //componentChange(component, element) { },\n /** If `true`, `prop` changes trigger synchronous component updates.\n *\t@name syncComponentUpdates\n *\t@type Boolean\n *\t@default true\n */\n //syncComponentUpdates: true,\n\n /** Processes all created VNodes.\n *\t@param {VNode} vnode\tA newly-created VNode to normalize/process\n */\n //vnode(vnode) { }\n\n /** Hook invoked after a component is mounted. */\n //afterMount(component) { },\n\n /** Hook invoked after the DOM is updated with a component's latest render. */\n //afterUpdate(component) { }\n\n /** Hook invoked immediately before a component is unmounted. */\n // beforeUnmount(component) { }\n}\n","import Component from './component'\n\nexport default class ModelView extends Component {\n static observe = true\n\n static mergeUpdate = true\n\n beforeInstall() {\n this.data = this.vm.data\n }\n}\n","import { h, h as createElement } from './h'\nimport { cloneElement } from './clone-element'\nimport Component from './component'\nimport { render } from './render'\nimport { rerender } from './render-queue'\nimport options from './options'\nimport { define } from './define'\nimport { rpx } from './rpx'\nimport ModelView from './model-view'\nimport { classNames, extractClass } from './class'\nimport { getHost } from './get-host'\nimport { renderToString } from './render-to-string'\n\nconst WeElement = Component\nconst defineElement = define\nfunction createRef() {\n return {}\n}\n\noptions.root.Omi = {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\noptions.root.omi = options.root.Omi\noptions.root.Omi.version = 'omio-1.3.8'\n\nexport default {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n\nexport {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n"]}
\ No newline at end of file
diff --git a/packages/omip/my-app/src/libs/omip-h5/omi.min.js b/packages/omip/my-app/src/libs/omip-h5/omi.min.js
new file mode 100644
index 000000000..8c3aeaece
--- /dev/null
+++ b/packages/omip/my-app/src/libs/omip-h5/omi.min.js
@@ -0,0 +1,2 @@
+!function(){"use strict";function e(){}function t(t,r){var n,o,i,s,a=ue;for(s=arguments.length;s-- >2;)ce.push(arguments[s]);r&&null!=r.children&&(ce.length||ce.push(r.children),delete r.children);while(ce.length)if((o=ce.pop())&&void 0!==o.pop)for(s=o.length;s--;)ce.push(o[s]);else"boolean"==typeof o&&(o=null),(i="function"!=typeof t)&&(null==o?o="":"number"==typeof o?o+="":"string"!=typeof o&&(i=!1)),i&&n?a[a.length-1]+=o:a===ue?a=[o]:a.push(o),n=i;var l=new e;return l.nodeName=t,l.children=a,l.attributes=null==r?void 0:r,l.key=null==r?void 0:r.key,void 0!==le.vnode&&le.vnode(l),l}function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function n(e){for(var t,n,o=r(e),i=1;i2?[].slice.call(arguments,2):e.children)}function c(e){1==_e.push(e)&&(le.debounceRendering||me)(u)}function u(){var e;while(e=_e.pop())B(e)}function p(e,t,r){if("string"==typeof t||"number"==typeof t)return void 0!==e.splitText;if("string"==typeof t.nodeName){var n=we[t.nodeName];return n?r||e._componentConstructor===n:!e._componentConstructor&&f(e,t.nodeName)}return r||e._componentConstructor===t.nodeName}function f(e,t){return e.__n===t||e.nodeName.toLowerCase()===t.toLowerCase()}function d(e){var t=o({},e.attributes);t.children=e.children;var r=e.nodeName.defaultProps;if(void 0!==r)for(var n in r)void 0===t[n]&&(t[n]=r[n]);return t}function h(e,t){var r=t?le.doc.createElementNS("http://www.w3.org/2000/svg",e):le.doc.createElement(e);return r.__n=e,r}function v(e){for(var t=e.replace(/\/\*(.|\s)*?\*\//g," ").replace(/\s+/g," "),r={},n=t.match(/ ?(.*?) ?{([^}]*)}/)||[o,i,t],o=n[0],i=n[1],s=n[2],a=s.split(";").map(function(e){return e.split(":").map(function(e){return e&&e.trim()})}),l=a,l=Array.isArray(l),l=0,l=l||l[Symbol.iterator]();;){var c;if(l){if(l>=l.length)break;c=l[l++]}else{if(l=l.next(),l.done)break;c=l.value}var u=c,p=u[0],f=u[1];r[function(e){return e.replace(/\W+\w/g,function(e){return e.slice(-1).toUpperCase()})}(p)]=f}return r}function y(e){var t=e.parentNode;t&&t.removeChild(e)}function b(e,t,r,n,o){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)i(r,null),i(n,e);else if("class"!==t||o)if("style"===t)if(le.isWeb){if(n&&"string"!=typeof n&&"string"!=typeof r||(e.style.cssText=n||""),n&&"object"==typeof n){if("string"!=typeof r)for(var s in r)s in n||(e.style[s]="");for(var s in n)e.style[s]="number"==typeof n[s]&&!1===ge.test(s)?n[s]+"px":n[s]}}else{var a=r,l=n;"string"==typeof r&&(a=v(r)),"string"==typeof n&&(l=v(n));var c={},u=!1;if(a){for(var p in a)"object"!=typeof l||p in l||(c[p]="",u=!0);for(var f in l)l[f]!==a[f]&&(c[f]=l[f],u=!0);u&&e.setStyles(c)}else e.setStyles(l)}else if("dangerouslySetInnerHTML"===t)n&&(e.innerHTML=n.__html||"");else if("o"==t[0]&&"n"==t[1]){var d=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),n?r||(e.addEventListener(t,g,d),"tap"==t&&(e.addEventListener("touchstart",_,d),e.addEventListener("touchend",w,d))):(e.removeEventListener(t,g,d),"tap"==t&&(e.removeEventListener("touchstart",_,d),e.removeEventListener("touchend",w,d))),(e.__l||(e.__l={}))[t]=n}else if("list"!==t&&"type"!==t&&!o&&t in e)m(e,t,null==n?"":n),null!=n&&!1!==n||e.removeAttribute(t);else{var h=o&&t!==(t=t.replace(/^xlink:?/,""));null==n||!1===n?h?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!=typeof n&&(h?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),n):e.setAttribute(t,n))}else e.className=n||""}function m(e,t,r){try{e[t]=r}catch(e){}}function g(e){return this.__l[e.type](le.event&&le.event(e)||e)}function _(e){this.C=e.touches[0].pageX,this.D=e.touches[0].pageY,this.F=document.body.scrollTop}function w(e){Math.abs(e.changedTouches[0].pageX-this.C)<30&&Math.abs(e.changedTouches[0].pageY-this.D)<30&&Math.abs(document.body.scrollTop-this.F)<30&&this.dispatchEvent(new CustomEvent("tap",{detail:e}))}function C(e){for(var t=0,r=le.styleCache.length;t0||t.children.length>0)return!0;for(r in t)if("children"!=r){var n=typeof t[r];if("function"==n||"object"==n)return!0;if(t[r]!=e[r])return!0}}function B(e,t,r,n){if(!e.__x){var i,s,a,l=e.props,c=e.data,u=e.context,p=e.__p||l,f=e.__s||c,h=e.__c||u,v=e.base,y=e.__b,b=v||y,m=e._component,g=!1;if(v&&(e.props=p,e.data=f,e.context=h,e.store||2==t||z(p,l)?(g=!1,e.beforeUpdate&&e.beforeUpdate(l,c,u)):g=!0,e.props=l,e.data=c,e.context=u),e.__p=e.__s=e.__c=e.__b=null,!g){e.beforeRender&&e.beforeRender(),i=e.render(l,c,u),(e.constructor.css||e.css)&&O(i,"_s"+C(e.constructor)),j(i,e.scopedCssAttr),e.getChildContext&&(u=o(o({},u),e.getChildContext()));var _,w,E=i&&i.nodeName,x=le.mapping[E];if(x){var N=d(i);s=m,s&&s.constructor===x&&N.key==s.__k?W(s,N,1,u,!1):(_=s,e._component=s=U(x,N,u),s.__b=s.__b||y,s.__u=e,W(s,N,0,u,!1),B(s,1,r,!0)),w=s.base}else a=b,_=m,_&&(a=e._component=null),(b||1===t)&&(a&&(a._component=null),w=k(a,i,u,r||!v,b&&b.parentNode,!0));if(b&&w!==b&&s!==m){var A=b.parentNode;A&&w!==A&&(A.replaceChild(w,b),_||(b._component=null,L(b,!1)))}if(_&&q(_),e.base=w,w&&!n){var S=e,$=e;while($=$.__u)(S=$).base=w;w._component=S,w._componentConstructor=S.constructor}}if(!v||r?Ee.unshift(e):g||(e.afterUpdate&&e.afterUpdate(p,f,h),e.updated&&e.updated(p,f,h),le.afterUpdate&&le.afterUpdate(e)),null!=e.__h)while(e.__h.length)e.__h.pop().call(e);xe||n||P()}}function X(e,t,r,n){var o=e&&e._component,i=o,s=e,a=o&&e._componentConstructor===t.nodeName,l=a,c=d(t);while(o&&!l&&(o=o.__u))l=o.constructor===t.nodeName;return o&&l&&(!n||o._component)?(W(o,c,3,r,n),e=o.base):(i&&!a&&(q(i),e=s=null),o=U(t.nodeName,c,r,t),e&&!o.__b&&(o.__b=e,s=null),W(o,c,1,r,n),e=o.base,s&&e!==s&&(s._component=null,L(s,!1))),e}function q(e){le.beforeUnmount&&le.beforeUnmount(e);var t=e.base;e.__x=!0,e.uninstall&&e.uninstall(),e.base=null;var r=e._component;r?q(r):t&&(null!=t.__omiattr_&&i(t.__omiattr_.ref,null),e.__b=t,y(t),H(e),M(t)),i(e.__r,null)}function D(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function G(e,t,r,n,o){if(t="string"==typeof t?document.querySelector(t):t,n)while(t.firstChild)t.removeChild(t.firstChild);return o&&(o="string"==typeof o?document.querySelector(o):o),k(o,e,r,!1,t,!1)}function Y(e,t){le.mapping[e]=t}function Z(e){return e.replace(/([1-9]\d*|0)(\.\d*)*rpx/g,function(e,t){return window.innerWidth*+t/750+"px"})}function J(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function K(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function Q(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function ee(){for(var e=[],t=0;t0)return{class:ee.apply(null,r)}}function re(e){var t=e.base;if(t)while(t.parentNode){if(t.parentNode._component)return t.parentNode._component;t=t.parentNode}}function ne(e){var t="";for(var r in e){var n=e[r];null!=n&&(t&&(t+=" "),t+=Re[r]||(Re[r]=r.replace(/([A-Z])/g,"-$1").toLowerCase()),t+=": ",t+=n,"number"==typeof n&&!1===IS_NON_DIMENSIONAL.test(r)&&(t+="px"),t+=";")}return t||void 0}function oe(e,t,r,n,o){if(null==e||"boolean"==typeof e)return"";var i=e.nodeName,s=e.attributes,a=!1;r=r||{},t=Object.assign({scopedCSS:!0},t);var l=t.pretty,c=l&&"string"==typeof l?l:"\t";if("object"!=typeof e&&!i)return Me(e);var u=He[i];if(u){a=!0;var p,f=se(e),d=new u(f,r);d.__x=d.G=!0,d.props=f,d.store=r,d.install&&d.install(),d.beforeRender&&d.beforeRender(),p=d.render(d.props,d.data,d.store);var h;if(t.scopedCSS){if(d.constructor.css||d.css){var v=d.constructor.css?d.constructor.css:"function"==typeof d.css?d.css():d.css,y="_s"+C(d.constructor);h='",O(p,"_s"+C(d.constructor))}d.scopedCSSAttr=e.css,j(p,d.scopedCSSAttr)}return oe(p,t,r,!1,h)}var b,m="";if(s){var g=Object.keys(s);t&&!0===t.sortAttributes&&g.sort();for(var _=0;_]/)&&(t&&t.allAttributes||"key"!==w&&"ref"!==w)){if("className"===w){if(s.class)continue;w="class"}else n&&w.match(/^xlink:?./)&&(w=w.toLowerCase().replace(/^xlink:?/,"xlink:"));"style"===w&&x&&"object"==typeof x&&(x=ne(x));var N=t.attributeHook&&t.attributeHook(w,x,r,t,a);if(N||""===N)m+=N;else if("dangerouslySetInnerHTML"===w)b=x&&x.__html;else if((x||0===x||""===x)&&"function"!=typeof x){if(!(!0!==x&&""!==x||(x=w,t&&t.xml))){m+=" "+w;continue}m+=" "+w+'="'+Me(x)+'"'}}}}if(l){var A=m.replace(/^\n\s*/," ");A===m||~A.indexOf("\n")?l&&~m.indexOf("\n")&&(m+="\n"):m=A}if(m="<"+i+m+">",(i+"").match(/[\s\n\\\/='"\0<>]/))throw m;var S=(i+"").match(Ue);S&&(m=m.replace(/>$/," />"));var P=[];if(b)l&&Fe(b)&&(b="\n"+c+Ie(b,c)),m+=b;else if(e.children){for(var k=l&&~m.indexOf("\n"),_=0;_";return S||(l&&~m.indexOf("\n")&&(m+="\n"),m+=""+i+">"),o?o+m:m}function ie(e,t){for(var r in t)e[r]=t[r];return e}function se(e){var t=ie({},e.attributes);t.children=e.children;var r=e.nodeName.defaultProps;if(void 0!==r)for(var n in r)void 0===t[n]&&(t[n]=r[n]);return t}function ae(){return{}}var le={scopedStyle:!0,mapping:{},isWeb:!0,staticStyleMapping:{},doc:"object"==typeof document?document:null,root:function(){return"object"==typeof global&&global&&global.Math===Math&&global.Array===Array?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:function(){return this}()}(),styleCache:[]},ce=[],ue=[],pe=Object.getOwnPropertySymbols,fe=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;if("undefined"!=typeof Element&&!Element.prototype.addEventListener){var he=function(e){e||(e=window.event);for(var t=0,r=0,n=ve[e.type];r8&&(ye=!0)}var me=ye?Promise.resolve().then.bind(Promise.resolve()):setTimeout,ge=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,_e=[],we=le.mapping,Ce=0,Ee=[],xe=0,Ne=!1,Oe=!1,Ae={},Se=function e(t,r,n){var o=function(t,r,n){t.$observer||(t.$observer=this);var o=t.$observer,i=[];e.isArray(t)&&(0===t.length&&(t.$observeProps={},t.$observeProps.$observerPath="#"),o.mock(t));for(var s in t)t.hasOwnProperty(s)&&(n?e.isArray(r)&&e.isInArray(r,s)?(i.push(s),o.watch(t,s)):e.isString(r)&&s==r&&(i.push(s),o.watch(t,s)):(i.push(s),o.watch(t,s)));o.target=t,o.propertyChangedHandler||(o.propertyChangedHandler=[]),o.propertyChangedHandler.push({all:!n,propChanged:n||r,eventPropArr:i})};return o.prototype={onPropertyChanged:function(t,r,n,o,i){if(r!==n&&this.propertyChangedHandler)for(var s=e.y(t,i),a=0,l=this.propertyChangedHandler.length;a-1;)if(t===e[r])return!0;return!1},Se.isFunction=function(e){return"[object Function]"==Object.prototype.toString.call(e)},Se.y=function(e,t){return"#"===t?e:t.split("-")[1]},Se.add=function(e,t){e.$observer.watch(e,t)},Se.set=function(e,t,r,n){n||(e[t]=r),e.$observer.watch(e,t),n&&(e[t]=r)},Array.prototype.size=function(e){this.length=e};var je=[],Pe=[],ke=0,$e=function(){function e(t,r){D(this,e),this.props=n(a(this.constructor.props),this.constructor.defaultProps,t),this.elementId=ke++,this.data=this.constructor.data||this.data||{},this.z=null,this.store=r}return e.prototype.update=function(e){this.A=!0,e&&(this.__h=this.__h||[]).push(e),B(this,2),le.componentChange&&le.componentChange(this,this.base),this.A=!1},e.prototype.fire=function(e,t){var r=this;Object.keys(this.props).every(function(n){return"on"+e.toLowerCase()!==n.toLowerCase()||(r.props[n]({detail:t}),!1)})},e.prototype.render=function(){},e}();$e.is="WeElement";var Te=function(e){function t(){return J(this,t),K(this,e.apply(this,arguments))}return Q(t,e),t.prototype.beforeInstall=function(){this.data=this.vm.data},t}($e);Te.observe=!0,Te.mergeUpdate=!0;var Le={}.hasOwnProperty,Me=function(e){return(e+"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},Ie=function(e,t){return(e+"").replace(/(\n+)/g,"$1"+(t||"\t"))},He=le.mapping,Ue=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,Fe=function(e,t,r){return(e+"").length>(t||40)||!r&&-1!==(e+"").indexOf("\n")||-1!==(e+"").indexOf("<")},Re={},Ve=$e,We=Y;le.root.Omi={h:t,createElement:t,cloneElement:l,createRef:ae,Component:$e,render:G,rerender:u,options:le,WeElement:Ve,define:Y,rpx:Z,ModelView:Te,defineElement:We,classNames:ee,extractClass:te,getHost:re,renderToString:oe},le.root.omi=le.root.Omi,le.root.Omi.version="omio-1.3.8";var ze={h:t,createElement:t,cloneElement:l,createRef:ae,Component:$e,render:G,rerender:u,options:le,WeElement:Ve,define:Y,rpx:Z,ModelView:Te,defineElement:We,classNames:ee,extractClass:te,getHost:re,renderToString:oe};"undefined"!=typeof module?module.exports=ze:self.Omi=ze}();
+//# sourceMappingURL=omi.min.js.map
\ No newline at end of file
diff --git a/packages/omip/my-app/src/libs/omip-h5/omi.min.js.map b/packages/omip/my-app/src/libs/omip-h5/omi.min.js.map
new file mode 100644
index 000000000..1f4d8a6ad
--- /dev/null
+++ b/packages/omip/my-app/src/libs/omip-h5/omi.min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/vnode.js","../src/h.js","../src/util.js","../src/clone-element.js","../src/constants.js","../src/render-queue.js","../src/vdom/index.js","../src/dom/index.js","../src/style.js","../src/vdom/diff.js","../src/vdom/component-recycler.js","../src/obaa.js","../src/tick.js","../src/observe.js","../src/vdom/component.js","../src/render.js","../src/component.js","../src/define.js","../src/rpx.js","../src/class.js","../src/render-to-string.js","../src/options.js","../src/model-view.js","../src/omi.js"],"names":["VNode","h","nodeName","attributes","lastSimple","child","simple","i","children","EMPTY_CHILDREN","arguments","length","stack","push","pop","String","p","key","options","vnode","toObject","val","TypeError","Object","assign","target","from","symbols","to","s","hasOwnProperty","call","getOwnPropertySymbols","propIsEnumerable","extend","obj","props","applyRef","ref","value","current","isArray","prototype","toString","nProps","result","keys","forEach","cloneElement","slice","ATTR_KEY","component","debounceRendering","defer","rerender","items","enqueueRender","renderComponent","mapping","hydrating","isSameNodeType","node","splitText","_componentConstructor","normalizedNodeName","toLowerCase","defaultProps","doc","createElementNS","createElement","_ref","createNode","a","b","cssTxt","isSvg","rule","split","map","o","x","trim","replace","Array","Symbol","iterator","_ref3","properties","next","done","_ref2","property","style","parseCSSText","match","cssText","parentNode","removeChild","setAccessor","name","old","IS_NON_DIMENSIONAL$1","test","oldJson","currentJson","changed","ckey","setStyles","substring","addEventListener","eventProxy","useCapture","touchStart","touchEnd","_listeners","setProperty","removeEventListener","removeAttribute","ns","removeAttributeNS","setAttributeNS","setAttribute","e","this","type","event","___touchY","touches","pageY","Math","abs","changedTouches","pageX","___touchX","document","body","scrollTop","___scrollTop","dispatchEvent","CustomEvent","styleCache","len","item","ctor","attrName","getCtorName","styleId","prefix","css","g0","g1","g2","g3","addStyle","id","ele","appendClass","head","getElementsByTagName","appendChild","someThingStyles","getElementById","textContent","window","ActiveXObject","styleSheet","addStyleWithoutId","attr","scopeVdom","addStyleToHead","scopedStyle","addScopedAttrStatic","vdom","staticStyleMapping","scoper","diffLevel","c","mounts","isSvgMode","afterMount","constructor","diff","dom","context","mountAll","parent","componentRoot","ret","out","prevSvgMode","vnodeName","buildComponentFromVNode","_component","createTextNode","replaceChild","recollectNodeTree","__omiattr_","vchildren","innerDiffNode","fc","nodeValue","isHydrating","j","originalChildren","keyed","keyedLen","childrenLen","vlen","_child","f","__key","vchild","min","undefined","nextSibling","idiff","removeNode","insertBefore","unmountOnly","removeChildren","previousSibling","attrs","collectComponent","inst","components","Ctor","render","Component","createComponent","list","nextBase","splice","data","fireTick","size","scope","callbacks","nextItem","fn","timeout","nextTickCallback","clearTimeout","proxyUpdate","update","setComponentProps","opts","_disable","install","observe","receiveProps","beforeInstall","prevProps","base","shallowComparison","isChild","previousProps","previousState","isUpdate","skip","initialBase","initialChildComponent","previousContext","rendered","cbase","beforeUpdate","store","prevState","prevContext","beforeRender","scopeHost","scopedCssAttr","getChildContext","toUnmount","childComponent","childProps","getNodeProps","baseParent","SYNC_RENDER","componentRef","t","unshift","_parentComponent","updated","afterUpdate","_renderCallbacks","flushMounts","oldDom","originalComponent","isDirectOwner","unmountComponent","isOwner","inner","uninstall","instance","Constructor","querySelector","empty","merge","firstChild","define","rpx","str","superClass","subClass","create","enumerable","writable","configurable","setPrototypeOf","__proto__","hasOwn","argType","classes","arg","_Array$prototype$slic","args","class","extractClass","className","classNames","apply","VOID_ELEMENTS","isLargeString","styleObjToCss","IS_NON_DIMENSIONAL","prop","renderToString","scopedCSS","pretty","indentChar","isComponent","tempCss","cssStr","cssAttr","html","sortAttributes","sort","allAttributes","v","attributeHook","hooked","__html","xml","encodeEntities","sub","indexOf","isVoid","pieces","indent","hasLarge","join","assign$1","createRef","isWeb","root","global","self","propertyIsEnumerable","Element","runListeners","oEvent","iLstId","iElId","oEvtListeners","oListeners","aEls","aEvts","sEventType","fListener","nElIdx","aElListeners","proto","F","Error","usePromise","Promise","__config__","platform","systemVersion","resolve","then","bind","setTimeout","ASYNC_RENDER","obaa","_observe","arr","callback","$observer","eventPropArr","isInArray","$observeProps","$observerPath","isString","watch","propertyChangedHandler","onPropertyChanged","path","propChanged","all","handler","oldValue","rootName","_getRootName","mock","methods","RegExp","cprop","isFunction","toUpperCase","get","currentValue","triggerStr","add","set","exec","elementId","componentChange","every","is","ModelView","_Component","_inherits","ignoreLines","WeElement","defineElement","Omi","version","getHost","module","exports"],"mappings":"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","file":"omi.min.js","sourcesContent":["/** Virtual DOM Node */\nexport function VNode() {}\n","import { VNode } from './vnode'\nimport options from './options'\n\nconst stack = []\n\nconst EMPTY_CHILDREN = []\n\n/**\n * JSX/hyperscript reviver.\n * @see http://jasonformat.com/wtf-is-jsx\n * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0\n *\n * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.\n *\n * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation\n * of the structure of a DOM tree. This structure can be realized by recursively comparing it against\n * the current _actual_ DOM structure, and applying only the differences.\n *\n * `h()`/`createElement()` accepts an element name, a list of attributes/props,\n * and optionally children to append to the element.\n *\n * @example The following DOM tree\n *\n * `Hello!
`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nexport function h(nodeName, attributes) {\n let children = EMPTY_CHILDREN,\n lastSimple,\n child,\n simple,\n i\n for (i = arguments.length; i-- > 2; ) {\n stack.push(arguments[i])\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children)\n delete attributes.children\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--; ) stack.push(child[i])\n } else {\n if (typeof child === 'boolean') child = null\n\n if ((simple = typeof nodeName !== 'function')) {\n if (child == null) child = ''\n else if (typeof child === 'number') child = String(child)\n else if (typeof child !== 'string') simple = false\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child\n } else if (children === EMPTY_CHILDREN) {\n children = [child]\n } else {\n children.push(child)\n }\n\n lastSimple = simple\n }\n }\n\n let p = new VNode()\n p.nodeName = nodeName\n p.children = children\n\tp.attributes = attributes == null ? undefined : attributes\n p.key = attributes == null ? undefined : attributes.key\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p)\n\n return p\n}\n","'use strict'\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols\nvar hasOwnProperty = Object.prototype.hasOwnProperty\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined')\n }\n\n return Object(val)\n}\n\nexport function assign(target, source) {\n var from\n var to = toObject(target)\n var symbols\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s])\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key]\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from)\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]]\n }\n }\n }\n }\n\n return to\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var oListeners = {};\n function runListeners(oEvent) {\n if (!oEvent) { oEvent = window.event; }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) { oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent); }\n break;\n }\n }\n }\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { return; }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) { return; }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) { nElIdx = iElId; break; }\n }\n if (nElIdx === -1) { return; }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) { aElListeners.splice(iLstId, 1); }\n }\n };\n}\n\n\nif (typeof Object.create !== 'function') {\n Object.create = function(proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto)\n } else if (proto === null) {\n throw new Error(\n \"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\"\n )\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto\n\n return new F()\n }\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n }\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nexport function extend(obj, props) {\n for (let i in props) obj[i] = props[i]\n return obj\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nexport function applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value)\n else ref.current = value\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nlet usePromise = typeof Promise == 'function'\n\n// for native\nif (\n typeof document !== 'object' &&\n typeof global !== 'undefined' &&\n global.__config__\n) {\n if (global.__config__.platform === 'android') {\n usePromise = true\n } else {\n let systemVersion =\n (global.__config__.systemVersion &&\n global.__config__.systemVersion.split('.')[0]) ||\n 0\n if (systemVersion > 8) {\n usePromise = true\n }\n }\n}\n\nexport const defer = usePromise\n ? Promise.resolve().then.bind(Promise.resolve())\n : setTimeout\n\nexport function isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nexport function nProps(props) {\n if (!props || isArray(props)) return {}\n const result = {}\n Object.keys(props).forEach(key => {\n result[key] = props[key].value\n })\n return result\n}","import { extend } from './util'\nimport { h } from './h'\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nexport function cloneElement(vnode, props) {\n return h(\n vnode.nodeName,\n extend(extend({}, vnode.attributes), props),\n arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children\n )\n}\n","// render modes\n\nexport const NO_RENDER = 0\nexport const SYNC_RENDER = 1\nexport const FORCE_RENDER = 2\nexport const ASYNC_RENDER = 3\n\nexport const ATTR_KEY = '__omiattr_'\n\n// DOM properties that should NOT have \"px\" added when numeric\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i\n","import options from './options'\nimport { defer } from './util'\nimport { renderComponent } from './vdom/component'\n\n/** Managed queue of dirty components to be re-rendered */\n\nlet items = []\n\nexport function enqueueRender(component) {\n if (items.push(component) == 1) {\n ;(options.debounceRendering || defer)(rerender)\n }\n}\n\n/** Rerender all enqueued dirty components */\nexport function rerender() {\n\tlet p\n\twhile ( (p = items.pop()) ) {\n renderComponent(p)\n\t}\n}","import { extend } from '../util'\nimport options from '../options'\n\nconst mapping = options.mapping\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nexport function isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName]\n if (ctor) {\n return hydrating || node._componentConstructor === ctor\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName)\n }\n return hydrating || node._componentConstructor === vnode.nodeName\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nexport function isNamedNode(node, nodeName) {\n return (\n node.normalizedNodeName === nodeName ||\n node.nodeName.toLowerCase() === nodeName.toLowerCase()\n )\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nexport function getNodeProps(vnode) {\n let props = extend({}, vnode.attributes)\n props.children = vnode.children\n\n let defaultProps = vnode.nodeName.defaultProps\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i]\n }\n }\n }\n\n return props\n}\n","import { IS_NON_DIMENSIONAL } from '../constants'\nimport { applyRef } from '../util'\nimport options from '../options'\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nexport function createNode(nodeName, isSvg) {\n let node = isSvg\n ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName)\n : options.doc.createElement(nodeName)\n node.normalizedNodeName = nodeName\n return node\n}\n\nfunction parseCSSText(cssText) {\n let cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ')\n let style = {},\n [a, b, rule] = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt]\n let cssToJs = s => s.replace(/\\W+\\w/g, match => match.slice(-1).toUpperCase())\n let properties = rule\n .split(';')\n .map(o => o.split(':').map(x => x && x.trim()))\n for (let [property, value] of properties) style[cssToJs(property)] = value\n return style\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nexport function removeNode(node) {\n let parentNode = node.parentNode\n if (parentNode) parentNode.removeChild(node)\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nexport function setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class'\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null)\n applyRef(value, node)\n } else if (name === 'class' && !isSvg) {\n node.className = value || ''\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || ''\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (let i in old) if (!(i in value)) node.style[i] = ''\n }\n for (let i in value) {\n node.style[i] =\n typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false\n ? value[i] + 'px'\n : value[i]\n }\n }\n } else {\n let oldJson = old,\n currentJson = value\n if (typeof old === 'string') {\n oldJson = parseCSSText(old)\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value)\n }\n\n let result = {},\n changed = false\n\n if (oldJson) {\n for (let key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = ''\n changed = true\n }\n }\n\n for (let ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey]\n changed = true\n }\n }\n\n if (changed) {\n node.setStyles(result)\n }\n } else {\n node.setStyles(currentJson)\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || ''\n } else if (name[0] == 'o' && name[1] == 'n') {\n let useCapture = name !== (name = name.replace(/Capture$/, ''))\n name = name.toLowerCase().substring(2)\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture)\n node.addEventListener('touchend', touchEnd, useCapture)\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture)\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture)\n node.removeEventListener('touchend', touchEnd, useCapture)\n }\n }\n ;(node._listeners || (node._listeners = {}))[name] = value\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value)\n if (value == null || value === false) node.removeAttribute(name)\n } else {\n let ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''))\n if (value == null || value === false) {\n if (ns)\n node.removeAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase()\n )\n else node.removeAttribute(name)\n } else if (typeof value !== 'function') {\n if (ns)\n node.setAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase(),\n value\n )\n else node.setAttribute(name, value)\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type]((options.event && options.event(e)) || e)\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX\n this.___touchY = e.touches[0].pageY\n this.___scrollTop = document.body.scrollTop\n}\n\nfunction touchEnd(e) {\n if (\n Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 &&\n Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 &&\n Math.abs(document.body.scrollTop - this.___scrollTop) < 30\n ) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }))\n }\n}","import options from './options'\n\nlet styleId = 0\n\nexport function getCtorName(ctor) {\n for (let i = 0, len = options.styleCache.length; i < len; i++) {\n let item = options.styleCache[i]\n\n if (item.ctor === ctor) {\n return item.attrName\n }\n }\n\n let attrName = 's' + styleId\n options.styleCache.push({ ctor, attrName })\n styleId++\n\n return attrName\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nexport function scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']'\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '')\n // eslint-disable-next-line\n let re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g')\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, (g0, g1, g2, g3) => {\n if (typeof g2 === 'undefined') {\n g2 = ''\n }\n\n /* eslint-ignore-next-line */\n if (\n g1.match(\n /^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/\n )\n ) {\n return g1 + g2 + g3\n }\n\n let appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3\n //return appendClass + ',' + prependClass + g3;\n })\n\n return css\n}\n\nexport function addStyle(cssText, id) {\n id = id.toLowerCase()\n let ele = document.getElementById(id)\n let head = document.getElementsByTagName('head')[0]\n if (ele && ele.parentNode === head) {\n head.removeChild(ele)\n }\n\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n someThingStyles.setAttribute('id', id)\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addStyleWithoutId(cssText) {\n let head = document.getElementsByTagName('head')[0]\n let someThingStyles = document.createElement('style')\n head.appendChild(someThingStyles)\n someThingStyles.setAttribute('type', 'text/css')\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText\n } else {\n someThingStyles.textContent = cssText\n }\n}\n\nexport function addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom)\n } \n}\n\nexport function addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr)\n options.staticStyleMapping[attr] = true\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style)\n options.staticStyleMapping[attr] = true\n }\n}\n\nexport function scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {}\n vdom.attributes[attr] = ''\n vdom.css = vdom.css || {}\n vdom.css[attr] = ''\n vdom.children.forEach(child => scopeVdom(attr, child))\n }\n}\n\nexport function scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {}\n for (let key in css) {\n vdom.attributes[key] = ''\n }\n }\n}\n","import { ATTR_KEY } from '../constants'\nimport { isSameNodeType, isNamedNode } from './index'\nimport { buildComponentFromVNode } from './component'\nimport { createNode, setAccessor } from '../dom/index'\nimport { unmountComponent } from './component'\nimport options from '../options'\nimport { applyRef } from '../util'\nimport { removeNode } from '../dom/index'\nimport { isArray } from '../util'\nimport { addStyleToHead, getCtorName } from '../style'\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nexport const mounts = []\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nexport let diffLevel = 0\n\n/** Global flag indicating if the diff is currently within an SVG */\nlet isSvgMode = false\n\n/** Global flag indicating if the diff is performing hydration */\nlet hydrating = false\n\n/** Invoke queued componentDidMount lifecycle methods */\nexport function flushMounts() {\n let c\n while ((c = mounts.pop())) {\n if (options.afterMount) options.afterMount(c)\n if (c.installed) c.installed()\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css), '_s' + getCtorName(c.constructor))\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nexport function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !(ATTR_KEY in dom)\n }\n let ret\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n }\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot)\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret)\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (!--diffLevel) {\n hydrating = false\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts()\n }\n\n return ret\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n let out = dom,\n prevSvgMode = isSvgMode\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = ''\n\n // If the VNode represents a Component, perform a component diff:\n let vnodeName = vnode.nodeName\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName]\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll)\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (\n dom &&\n dom.splitText !== undefined &&\n dom.parentNode &&\n (!dom._component || componentRoot)\n ) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode)\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n recollectNodeTree(dom, true)\n }\n }\n\n //ie8 error\n try {\n out[ATTR_KEY] = true\n } catch (e) {}\n\n return out\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode =\n vnodeName === 'svg'\n ? true\n : vnodeName === 'foreignObject'\n ? false\n : isSvgMode\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName)\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode)\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) out.appendChild(dom.firstChild)\n\n // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true)\n }\n }\n\n let fc = out.firstChild,\n props = out[ATTR_KEY],\n vchildren = vnode.children\n\n if (props == null) {\n props = out[ATTR_KEY] = {}\n for (let a = out.attributes, i = a.length; i--; )\n props[a[i].name] = a[i].value\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (\n !hydrating &&\n vchildren &&\n vchildren.length === 1 &&\n typeof vchildren[0] === 'string' &&\n fc != null &&\n fc.splitText !== undefined &&\n fc.nextSibling == null\n ) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0]\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if ((vchildren && vchildren.length) || fc != null) {\n innerDiffNode(\n out,\n vchildren,\n context,\n mountAll,\n hydrating || props.dangerouslySetInnerHTML != null\n )\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props)\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode\n\n return out\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n let originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (let i = 0; i < len; i++) {\n let child = originalChildren[i],\n props = child[ATTR_KEY],\n key =\n vlen && props\n ? child._component\n ? child._component.__key\n : props.key\n : null\n if (key != null) {\n keyedLen++\n keyed[key] = child\n } else if (\n props ||\n (child.splitText !== undefined\n ? isHydrating\n ? child.nodeValue.trim()\n : true\n : isHydrating)\n ) {\n children[childrenLen++] = child\n }\n }\n }\n\n if (vlen !== 0) {\n for (let i = 0; i < vlen; i++) {\n vchild = vchildren[i]\n child = null\n\n // attempt to find a node based on key matching\n let key = vchild.key\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key]\n keyed[key] = undefined\n keyedLen--\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (\n children[j] !== undefined &&\n isSameNodeType((c = children[j]), vchild, isHydrating)\n ) {\n child = c\n children[j] = undefined\n if (j === childrenLen - 1) childrenLen--\n if (j === min) min++\n break\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll)\n\n f = originalChildren[i]\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child)\n } else if (child === f.nextSibling) {\n removeNode(f)\n } else {\n dom.insertBefore(child, f)\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (let i in keyed)\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false)\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined)\n recollectNodeTree(child, false)\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nexport function recollectNodeTree(node, unmountOnly) {\n let component = node._component\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component)\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node[ATTR_KEY] != null) applyRef(node[ATTR_KEY].ref, null)\n\n if (unmountOnly === false || node[ATTR_KEY] == null) {\n removeNode(node)\n }\n\n removeChildren(node)\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nexport function removeChildren(node) {\n node = node.lastChild\n while (node) {\n let next = node.previousSibling\n recollectNodeTree(node, true)\n node = next\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n let name\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], (old[name] = undefined), isSvgMode)\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (\n name !== 'children' &&\n name !== 'innerHTML' &&\n (!(name in old) ||\n attrs[name] !==\n (name === 'value' || name === 'checked' ? dom[name] : old[name]))\n ) {\n setAccessor(dom, name, old[name], (old[name] = attrs[name]), isSvgMode)\n }\n }\n}\n","import Component from '../component'\nimport options from '../options'\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nconst components = {}\n\n/** Reclaim a component for later re-use by the recycler. */\nexport function collectComponent(component) {\n let name = component.constructor.name\n ;(components[name] || (components[name] = [])).push(component)\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nexport function createComponent(Ctor, props, context, vnode) {\n let list = components[Ctor.name],\n inst\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context)\n Component.call(inst, props, context)\n } else {\n inst = new Component(props, context)\n inst.constructor = Ctor\n inst.render = doRender\n }\n vnode && (inst.scopedCssAttr = vnode.css)\n\n if (list) {\n for (let i = list.length; i--; ) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase\n list.splice(i, 1)\n break\n }\n }\n }\n return inst\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context)\n}\n","/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function(target, arr, callback) {\n var _observe = function(target, arr, callback) {\n if (!target.$observer) target.$observer = this\n var $observer = target.$observer\n var eventPropArr = []\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {}\n target.$observeProps.$observerPath = '#'\n }\n $observer.mock(target)\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n } else {\n eventPropArr.push(prop)\n $observer.watch(target, prop)\n }\n }\n }\n $observer.target = target\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = []\n var propChanged = callback ? callback : arr\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n })\n }\n _observe.prototype = {\n onPropertyChanged: function(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path)\n for (\n var i = 0, len = this.propertyChangedHandler.length;\n i < len;\n i++\n ) {\n var handler = this.propertyChangedHandler[i]\n if (\n handler.all ||\n obaa.isInArray(handler.eventPropArr, rootName) ||\n rootName.indexOf('Array-') === 0\n ) {\n handler.propChanged.call(this.target, prop, value, oldValue, path)\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath)\n }\n },\n mock: function(target) {\n var self = this\n obaa.methods.forEach(function(item) {\n target[item] = function() {\n var old = Array.prototype.slice.call(this, 0)\n var result = Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath)\n }\n }\n //todo\n self.onPropertyChanged(\n 'Array-' + item,\n this,\n old,\n this,\n this.$observeProps.$observerPath\n )\n }\n return result\n }\n target[\n 'pure' + item.substring(0, 1).toUpperCase() + item.substring(1)\n ] = function() {\n return Array.prototype[item].apply(\n this,\n Array.prototype.slice.call(arguments)\n )\n }\n })\n },\n watch: function(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return\n if (obaa.isFunction(target[prop])) return\n if (!target.$observeProps) target.$observeProps = {}\n if (path !== undefined) {\n target.$observeProps.$observerPath = path\n } else {\n target.$observeProps.$observerPath = '#'\n }\n var self = this\n var currentValue = (target.$observeProps[prop] = target[prop])\n Object.defineProperty(target, prop, {\n get: function() {\n return this.$observeProps[prop]\n },\n set: function(value) {\n var old = this.$observeProps[prop]\n this.$observeProps[prop] = value\n self.onPropertyChanged(\n prop,\n value,\n old,\n this,\n target.$observeProps.$observerPath\n )\n }\n })\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue)\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {}\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path\n } else {\n currentValue.$observeProps.$observerPath = '#'\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(\n currentValue,\n cprop,\n target.$observeProps.$observerPath + '-' + prop\n )\n }\n }\n }\n }\n }\n return new _observe(target, arr, callback)\n}\n\nobaa.methods = [\n 'concat',\n 'copyWithin',\n 'entries',\n 'every',\n 'fill',\n 'filter',\n 'find',\n 'findIndex',\n 'forEach',\n 'includes',\n 'indexOf',\n 'join',\n 'keys',\n 'lastIndexOf',\n 'map',\n 'pop',\n 'push',\n 'reduce',\n 'reduceRight',\n 'reverse',\n 'shift',\n 'slice',\n 'some',\n 'sort',\n 'splice',\n 'toLocaleString',\n 'toString',\n 'unshift',\n 'values',\n 'size'\n]\nobaa.triggerStr = [\n 'concat',\n 'copyWithin',\n 'fill',\n 'pop',\n 'push',\n 'reverse',\n 'shift',\n 'sort',\n 'splice',\n 'unshift',\n 'size'\n].join(',')\n\nobaa.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nobaa.isString = function(obj) {\n return typeof obj === 'string'\n}\n\nobaa.isInArray = function(arr, item) {\n for (var i = arr.length; --i > -1; ) {\n if (item === arr[i]) return true\n }\n return false\n}\n\nobaa.isFunction = function(obj) {\n return Object.prototype.toString.call(obj) == '[object Function]'\n}\n\nobaa._getRootName = function(prop, path) {\n if (path === '#') {\n return prop\n }\n return path.split('-')[1]\n}\n\nobaa.add = function(obj, prop) {\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n}\n\nobaa.set = function(obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value\n }\n var $observer = obj.$observer\n $observer.watch(obj, prop)\n if (exec) {\n obj[prop] = value\n }\n}\n\nArray.prototype.size = function(length) {\n this.length = length\n}\n\nexport default obaa\n","const callbacks = []\nconst nextTickCallback = []\n\nexport function tick(fn, scope) {\n callbacks.push({ fn, scope })\n}\n\nexport function fireTick() {\n callbacks.forEach(item => {\n item.fn.call(item.scope)\n })\n\n nextTickCallback.forEach(nextItem => {\n nextItem.fn.call(nextItem.scope)\n })\n nextTickCallback.length = 0\n}\n\nexport function nextTick(fn, scope) {\n nextTickCallback.push({ fn, scope })\n}\n","import obaa from './obaa'\nimport { fireTick } from './tick'\n\nexport function proxyUpdate(ele) {\n let timeout = null\n obaa(ele.data, () => {\n if (ele._willUpdate) {\n return\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n ele.update()\n fireTick()\n }, 0)\n } else {\n ele.update()\n fireTick()\n }\n })\n}\n","import {\n SYNC_RENDER,\n NO_RENDER,\n FORCE_RENDER,\n ASYNC_RENDER,\n ATTR_KEY\n} from '../constants'\nimport options from '../options'\nimport { extend, applyRef } from '../util'\nimport { enqueueRender } from '../render-queue'\nimport { getNodeProps } from './index'\nimport {\n diff,\n mounts,\n diffLevel,\n flushMounts,\n recollectNodeTree,\n removeChildren\n} from './diff'\nimport { createComponent, collectComponent } from './component-recycler'\nimport { removeNode } from '../dom/index'\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost\n} from '../style'\nimport { proxyUpdate } from '../observe'\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nexport function setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return\n component._disable = true\n\n if ((component.__ref = props.ref)) delete props.ref\n if ((component.__key = props.key)) delete props.key\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall()\n if (component.install) component.install()\n if (component.constructor.observe) {\n proxyUpdate(component)\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props)\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context\n component.context = context\n }\n\n if (!component.prevProps) component.prevProps = component.props\n component.props = props\n\n component._disable = false\n\n if (opts !== NO_RENDER) {\n if (\n opts === SYNC_RENDER ||\n options.syncComponentUpdates !== false ||\n !component.base\n ) {\n renderComponent(component, SYNC_RENDER, mountAll)\n } else {\n enqueueRender(component)\n }\n }\n\n applyRef(component.__ref, component)\n}\n\nfunction shallowComparison(old, attrs) {\n let name\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true\n }\n\n for (name in attrs) {\n if (name != 'children') {\n let type = typeof attrs[name]\n if (type == 'function' || type == 'object') {\n return true\n } else if (attrs[name] != old[name]) {\n return true\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nexport function renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return\n\n let props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase\n\n // if updating\n if (isUpdate) {\n component.props = previousProps\n component.data = previousState\n component.context = previousContext\n if (component.store || opts == FORCE_RENDER || shallowComparison(previousProps, props)) {\n skip = false\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context)\n }\n } else {\n skip = true\n }\n component.props = props\n component.data = data\n component.context = context\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null\n\n if (!skip) {\n component.beforeRender && component.beforeRender()\n rendered = component.render(props, data, context)\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(component.constructor)\n )\n }\n\n scopeHost(rendered, component.scopedCssAttr)\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext())\n }\n\n let childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent]\n\n if (ctor) {\n // set up high order component link\n\n let childProps = getNodeProps(rendered)\n inst = initialChildComponent\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, SYNC_RENDER, context, false)\n } else {\n toUnmount = inst\n\n component._component = inst = createComponent(ctor, childProps, context)\n inst.nextBase = inst.nextBase || nextBase\n inst._parentComponent = component\n setComponentProps(inst, childProps, NO_RENDER, context, false)\n renderComponent(inst, SYNC_RENDER, mountAll, true)\n }\n\n base = inst.base\n } else {\n cbase = initialBase\n\n // destroy high order component link\n toUnmount = initialChildComponent\n if (toUnmount) {\n cbase = component._component = null\n }\n\n if (initialBase || opts === SYNC_RENDER) {\n if (cbase) cbase._component = null\n base = diff(\n cbase,\n rendered,\n context,\n mountAll || !isUpdate,\n initialBase && initialBase.parentNode,\n true\n )\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n let baseParent = initialBase.parentNode\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase)\n\n if (!toUnmount) {\n initialBase._component = null\n recollectNodeTree(initialBase, false)\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount)\n }\n\n component.base = base\n if (base && !isChild) {\n let componentRef = component,\n t = component\n while ((t = t._parentComponent)) {\n ;(componentRef = t).base = base\n }\n base._component = componentRef\n base._componentConstructor = componentRef.constructor\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component)\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext)\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext)\n }\n if (options.afterUpdate) options.afterUpdate(component)\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length)\n component._renderCallbacks.pop().call(component)\n }\n\n if (!diffLevel && !isChild) flushMounts()\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nexport function buildComponentFromVNode(dom, vnode, context, mountAll) {\n let c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode)\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, ASYNC_RENDER, context, mountAll)\n dom = c.base\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent)\n dom = oldDom = null\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode)\n if (dom && !c.nextBase) {\n c.nextBase = dom\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null\n }\n setComponentProps(c, props, SYNC_RENDER, context, mountAll)\n dom = c.base\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null\n recollectNodeTree(oldDom, false)\n }\n }\n\n return dom\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nexport function unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component)\n\n let base = component.base\n\n component._disable = true\n\n if (component.uninstall) component.uninstall()\n\n component.base = null\n\n // recursively tear down & recollect high-order component children:\n let inner = component._component\n if (inner) {\n unmountComponent(inner)\n } else if (base) {\n if (base[ATTR_KEY] != null) applyRef(base[ATTR_KEY].ref, null)\n\n component.nextBase = base\n\n removeNode(base)\n collectComponent(component)\n\n removeChildren(base)\n }\n\n applyRef(component.__ref, null)\n}\n","import { diff } from './vdom/diff'\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nexport function render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n }\n\n if (merge) {\n merge =\n typeof merge === 'string'\n ? document.querySelector(merge)\n : merge\n }\n\n return diff(merge, vnode, store, false, parent, false)\n}\n","import { FORCE_RENDER } from './constants'\nimport { renderComponent } from './vdom/component'\nimport options from './options'\nimport { nProps, assign } from './util'\n\nlet id = 0\n\nexport default class Component {\n static is = 'WeElement'\n\n constructor(props, store) {\n this.props = assign(\n nProps(this.constructor.props),\n this.constructor.defaultProps,\n props\n )\n this.elementId = id++\n this.data = this.constructor.data || this.data || {}\n\n this._preCss = null\n\n this.store = store\n }\n\n update(callback) {\n this._willUpdate = true\n if (callback)\n (this._renderCallbacks = this._renderCallbacks || []).push(callback)\n renderComponent(this, FORCE_RENDER)\n if (options.componentChange) options.componentChange(this, this.base)\n this._willUpdate = false\n }\n\n fire(type, data) {\n Object.keys(this.props).every(key => {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n this.props[key]({ detail: data })\n return false\n }\n return true\n })\n }\n\n render() {}\n}\n","import options from './options'\n\nexport function define(name, ctor) {\n options.mapping[name] = ctor\n}\n","export function rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, (a, b) => {\n return (window.innerWidth * Number(b)) / 750 + 'px'\n })\n}\n","/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty\n\nexport function classNames() {\n var classes = []\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i]\n if (!arg) continue\n\n var argType = typeof arg\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg)\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg)\n if (inner) {\n classes.push(inner)\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key)\n }\n }\n }\n }\n\n return classes.join(' ')\n}\n\nexport function extractClass() {\n const [props, ...args] = Array.prototype.slice.call(arguments, 0)\n if (props) {\n if (props.class) {\n args.unshift(props.class)\n delete props.class\n } else if (props.className) {\n args.unshift(props.className)\n delete props.className\n }\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) }\n }\n}\n","/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nimport options from './options'\n\nimport {\n addScopedAttrStatic,\n getCtorName,\n scopeHost,\n scoper\n} from './style'\n\n\nconst encodeEntities = s => String(s)\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"');\n\nconst indent = (s, char) => String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nconst mapping = options.mapping\n\nconst VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nconst isLargeString = (s, length, ignoreLines) => (String(s).length > (length || 40) || (!ignoreLines && String(s).indexOf('\\n') !== -1) || String(s).indexOf('<') !== -1);\n\nconst JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n let str = '';\n for (let prop in s) {\n let val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\n/** The default export is an alias of `render()`. */\nexport function renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n let nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n },opts)\n\n let pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n const ctor = mapping[nodeName]\n if (ctor) {\n isComponent = true;\n\n let props = getNodeProps(vnode),\n rendered;\n // class-based components\n let c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n let tempCss \n if(opts.scopedCSS){\n\n if (c.constructor.css || c.css) {\n\n const cssStr = c.constructor.css ? c.constructor.css : (typeof c.css === 'function' ? c.css() : c.css)\n const cssAttr = '_s' + getCtorName(c.constructor)\n\n tempCss = ``\n\n addScopedAttrStatic(\n rendered,\n '_s' + getCtorName(c.constructor)\n )\n }\n \n c.scopedCSSAttr = vnode.css\n scopeHost(rendered, c.scopedCSSAttr)\n }\n\n return renderToString(rendered, opts, store, false, tempCss);\n }\n\n\n // render JSX to HTML\n let s = '', html;\n\n if (attributes) {\n let attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (let i = 0; i < attrs.length; i++) {\n let name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes.class) continue;\n name = 'class';\n }\n else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n let hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n }\n else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ` ${name}=\"${encodeEntities(v)}\"`;\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n let sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;\n else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = `<${nodeName}${s}>`;\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n let isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n let pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n }\n else if (vnode.children) {\n let hasLarge = pretty && ~s.indexOf('\\n');\n for (let i = 0; i < vnode.children.length; i++) {\n let child = vnode.children[i];\n if (child != null && child !== false) {\n let childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = renderToString(child, opts, store, childSvgMode);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (let i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n }\n else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += `${nodeName}>`;\n }\n\n if(css) return css + s;\n return s;\n}\n\nfunction assign(obj, props) {\n for (let i in props) obj[i] = props[i];\n return obj;\n}\n\nfunction getNodeProps(vnode) {\n let props = assign({}, vnode.attributes);\n props.children = vnode.children;\n\n let defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}","function getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n if (typeof self !== 'undefined') {\n return self\n } else if (typeof window !== 'undefined') {\n return window\n } else if (typeof global !== 'undefined') {\n return global\n }\n return (function() {\n return this\n })()\n }\n return global\n}\n\n/** Global options\n *\t@public\n *\t@namespace options {Object}\n */\nexport default {\n scopedStyle: true,\n mapping: {},\n isWeb: true,\n staticStyleMapping: {},\n doc: typeof document === 'object' ? document : null,\n root: getGlobal(),\n //styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]\n styleCache: []\n //componentChange(component, element) { },\n /** If `true`, `prop` changes trigger synchronous component updates.\n *\t@name syncComponentUpdates\n *\t@type Boolean\n *\t@default true\n */\n //syncComponentUpdates: true,\n\n /** Processes all created VNodes.\n *\t@param {VNode} vnode\tA newly-created VNode to normalize/process\n */\n //vnode(vnode) { }\n\n /** Hook invoked after a component is mounted. */\n //afterMount(component) { },\n\n /** Hook invoked after the DOM is updated with a component's latest render. */\n //afterUpdate(component) { }\n\n /** Hook invoked immediately before a component is unmounted. */\n // beforeUnmount(component) { }\n}\n","import Component from './component'\n\nexport default class ModelView extends Component {\n static observe = true\n\n static mergeUpdate = true\n\n beforeInstall() {\n this.data = this.vm.data\n }\n}\n","import { h, h as createElement } from './h'\nimport { cloneElement } from './clone-element'\nimport Component from './component'\nimport { render } from './render'\nimport { rerender } from './render-queue'\nimport options from './options'\nimport { define } from './define'\nimport { rpx } from './rpx'\nimport ModelView from './model-view'\nimport { classNames, extractClass } from './class'\nimport { getHost } from './get-host'\nimport { renderToString } from './render-to-string'\n\nconst WeElement = Component\nconst defineElement = define\nfunction createRef() {\n return {}\n}\n\noptions.root.Omi = {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\noptions.root.omi = options.root.Omi\noptions.root.Omi.version = 'omio-1.3.8'\n\nexport default {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n\nexport {\n h,\n createElement,\n cloneElement,\n createRef,\n Component,\n render,\n rerender,\n options,\n WeElement,\n define,\n rpx,\n ModelView,\n defineElement,\n classNames,\n extractClass,\n getHost,\n renderToString\n}\n"]}
\ No newline at end of file
diff --git a/packages/omip/my-app/src/libs/router/index.js b/packages/omip/my-app/src/libs/router/index.js
new file mode 100644
index 000000000..d23b4d25f
--- /dev/null
+++ b/packages/omip/my-app/src/libs/router/index.js
@@ -0,0 +1,146 @@
+import { WeElement, define, render } from 'omi'
+import 'omi-router'
+
+let currentPage = null
+let stackList = []
+
+window.stackList = stackList
+define('o-router', class extends WeElement {
+
+ _firstTime = true
+
+ installed() {
+ const root = document.querySelector('#app')
+ let main
+ this.props.routes.forEach(current => {
+ route(current.path, (evt) => {
+ current.componentLoader()
+ .then(res => {
+ const arr = current.path.replace(/pages/, 'page').split('/')
+ const selector = current.path.replace(/\//g, '-')
+ routeUpdate({ nodeName: arr[1] + '-' + arr[2], attributes: { className: selector } }, selector, evt.byNative, root)
+ }).catch(res => {
+ console.log(res)
+ })
+ })
+ if (current.isIndex) {
+ main = current
+ current.componentLoader()
+ .then(res => {
+ const arr = this.props.routes[0].path.replace(/pages/, 'page').split('/')
+ const selector = main.path.replace(/\//g, '-')
+
+ this.vd = { nodeName: arr[1] + '-' + arr[2] }
+ this.update()
+ const ele = root.childNodes[root.childNodes.length - 1]
+ stackList.push({ slt: selector, ele: ele, display: window.getComputedStyle(ele).display, scrollTop: 0 })
+
+ }).catch(res => {
+ console.log(res)
+ })
+ }
+ })
+
+ route('*', (evt) => {
+ main.componentLoader()
+ .then(res => {
+ const arr = main.path.replace(/pages/, 'page').split('/')
+ const selector = main.path.replace(/\//g, '-')
+ routeUpdate({ nodeName: arr[1] + '-' + arr[2] }, selector, evt.byNative, root)
+ }).catch(res => {
+ console.log(res)
+ })
+ })
+ }
+
+
+ render() {
+ if (this._firstTime) {
+ this._firstTime = false
+ return null
+ } else {
+ return this.vd
+ }
+ }
+})
+
+
+
+
+export function routeUpdate(vnode, selector, byNative, root) {
+ root.childNodes.forEach(child => {
+ if (child.style.display !== 'none') {
+ child.style.display = 'none'
+ child.onHide && child.onHide()
+ child._component && child._component.onHide && child._component.onHide()
+ }
+ })
+ const item = getElement(selector)
+ if (byNative) {
+ //浏览器后退
+ if (item && item.ele) {
+ const ele = item.ele
+ ele.style.display = item.display
+ ele.onShow && ele.onShow()
+ ele._component && ele._component.onShow && ele._component.onShow()
+ currentPage = ele
+ document.documentElement.scrollTop = item.scrollTop
+ document.body.scrollTop = item.scrollTop
+ //set twice
+ setTimeout(function () {
+ document.documentElement.scrollTop = item.scrollTop
+ document.body.scrollTop = item.scrollTop
+ }, 0)
+ } else {
+ const node = render(vnode, root)
+ node.onShow && node.onShow()
+ node._component && node._component.onShow && node._component.onShow()
+ currentPage = node
+ document.documentElement.scrollTop = 0
+ document.body.scrollTop = 0
+ }
+ } else {
+ //前进
+ if (item && item.ele) {
+ item.ele.parentNode.removeChild(item.ele)
+ remove(item)
+ }
+ const node = render(vnode, root)
+ node.onShow && node.onShow()
+ node._component && node._component.onShow && node._component.onShow()
+ currentPage = node
+
+ const ele = root.childNodes[root.childNodes.length - 1]
+ stackList.push({ slt: selector, ele: ele, display: window.getComputedStyle(ele).display, scrollTop: 0 })
+ document.documentElement.scrollTop = 0
+ document.body.scrollTop = 0
+ }
+}
+
+function getElement(slt) {
+ for (let i = 0, length = stackList.length; i < length; i++) {
+ if (stackList[i].slt === slt) {
+ return stackList[i]
+ }
+ }
+}
+
+function remove(item) {
+ for (let i = 0, length = stackList.length; i < length; i++) {
+ if (stackList[i] === item) {
+ stackList.splice(i, 1)
+ return
+ }
+ }
+}
+
+
+window.onscroll = function () {
+ const top = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop
+ for (let i = 0, length = stackList.length; i < length; i++) {
+ if (stackList[i].ele === currentPage) {
+ stackList[i].scrollTop = top
+ return
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/omip/my-app/src/pages/index/index.js b/packages/omip/my-app/src/pages/index/index.js
index 57b213383..ee95b5462 100644
--- a/packages/omip/my-app/src/pages/index/index.js
+++ b/packages/omip/my-app/src/pages/index/index.js
@@ -61,6 +61,7 @@ define('page-index', class extends WeElement {
}
render() {
+ const { hasUserInfo, canIUse, userInfo, motto } = this.data
return (
diff --git a/packages/omip/my-app/src/pages/list/index.js b/packages/omip/my-app/src/pages/list/index.js
index 75f25317b..1bf8cea83 100644
--- a/packages/omip/my-app/src/pages/list/index.js
+++ b/packages/omip/my-app/src/pages/list/index.js
@@ -50,7 +50,7 @@ define('page-list', class extends WeElement {
}
render() {
- const { showLoading, films } = this.data
+ const { showLoading, films, hasMore } = this.data
if (showLoading) {
return (
diff --git a/packages/omiu/examples/build/asset-manifest.json b/packages/omiu/examples/build/asset-manifest.json
index 48a3c45f5..a0177eb5d 100644
--- a/packages/omiu/examples/build/asset-manifest.json
+++ b/packages/omiu/examples/build/asset-manifest.json
@@ -1,142 +1,142 @@
{
"example.css": "static/css/example.2df5426b.css",
"example.css.map": "static/css/example.2df5426b.css.map",
- "example.js": "static/js/example.b7972a87.js",
- "example.js.map": "static/js/example.b7972a87.js.map",
+ "example.js": "static/js/example.2bdfc031.js",
+ "example.js.map": "static/js/example.2bdfc031.js.map",
"index.css": "static/css/index.2df5426b.css",
"index.css.map": "static/css/index.2df5426b.css.map",
- "index.js": "static/js/index.ab2fa05e.js",
- "index.js.map": "static/js/index.ab2fa05e.js.map",
- "static/js/0.d0d17a50.chunk.js": "static/js/0.d0d17a50.chunk.js",
- "static/js/0.d0d17a50.chunk.js.map": "static/js/0.d0d17a50.chunk.js.map",
- "static/js/1.c5d4503e.chunk.js": "static/js/1.c5d4503e.chunk.js",
- "static/js/1.c5d4503e.chunk.js.map": "static/js/1.c5d4503e.chunk.js.map",
- "static/js/10.5e47c138.chunk.js": "static/js/10.5e47c138.chunk.js",
- "static/js/10.5e47c138.chunk.js.map": "static/js/10.5e47c138.chunk.js.map",
- "static/js/11.5a7901ba.chunk.js": "static/js/11.5a7901ba.chunk.js",
- "static/js/11.5a7901ba.chunk.js.map": "static/js/11.5a7901ba.chunk.js.map",
- "static/js/12.259d9f0e.chunk.js": "static/js/12.259d9f0e.chunk.js",
- "static/js/12.259d9f0e.chunk.js.map": "static/js/12.259d9f0e.chunk.js.map",
- "static/js/13.a85b186a.chunk.js": "static/js/13.a85b186a.chunk.js",
- "static/js/13.a85b186a.chunk.js.map": "static/js/13.a85b186a.chunk.js.map",
- "static/js/14.a06793bd.chunk.js": "static/js/14.a06793bd.chunk.js",
- "static/js/14.a06793bd.chunk.js.map": "static/js/14.a06793bd.chunk.js.map",
- "static/js/15.76347967.chunk.js": "static/js/15.76347967.chunk.js",
- "static/js/15.76347967.chunk.js.map": "static/js/15.76347967.chunk.js.map",
- "static/js/16.125ac98e.chunk.js": "static/js/16.125ac98e.chunk.js",
- "static/js/16.125ac98e.chunk.js.map": "static/js/16.125ac98e.chunk.js.map",
- "static/js/17.19d413fa.chunk.js": "static/js/17.19d413fa.chunk.js",
- "static/js/17.19d413fa.chunk.js.map": "static/js/17.19d413fa.chunk.js.map",
- "static/js/18.dfc4a6d0.chunk.js": "static/js/18.dfc4a6d0.chunk.js",
- "static/js/18.dfc4a6d0.chunk.js.map": "static/js/18.dfc4a6d0.chunk.js.map",
- "static/js/19.77318125.chunk.js": "static/js/19.77318125.chunk.js",
- "static/js/19.77318125.chunk.js.map": "static/js/19.77318125.chunk.js.map",
- "static/js/2.73d36413.chunk.js": "static/js/2.73d36413.chunk.js",
- "static/js/2.73d36413.chunk.js.map": "static/js/2.73d36413.chunk.js.map",
- "static/js/20.4ca2c910.chunk.js": "static/js/20.4ca2c910.chunk.js",
- "static/js/20.4ca2c910.chunk.js.map": "static/js/20.4ca2c910.chunk.js.map",
- "static/js/21.fc49c35d.chunk.js": "static/js/21.fc49c35d.chunk.js",
- "static/js/21.fc49c35d.chunk.js.map": "static/js/21.fc49c35d.chunk.js.map",
- "static/js/22.5a218d15.chunk.js": "static/js/22.5a218d15.chunk.js",
- "static/js/22.5a218d15.chunk.js.map": "static/js/22.5a218d15.chunk.js.map",
- "static/js/23.5e633b68.chunk.js": "static/js/23.5e633b68.chunk.js",
- "static/js/23.5e633b68.chunk.js.map": "static/js/23.5e633b68.chunk.js.map",
- "static/js/24.7183e629.chunk.js": "static/js/24.7183e629.chunk.js",
- "static/js/24.7183e629.chunk.js.map": "static/js/24.7183e629.chunk.js.map",
- "static/js/25.e95d7efe.chunk.js": "static/js/25.e95d7efe.chunk.js",
- "static/js/25.e95d7efe.chunk.js.map": "static/js/25.e95d7efe.chunk.js.map",
- "static/js/26.fddf4432.chunk.js": "static/js/26.fddf4432.chunk.js",
- "static/js/26.fddf4432.chunk.js.map": "static/js/26.fddf4432.chunk.js.map",
- "static/js/27.14bfb164.chunk.js": "static/js/27.14bfb164.chunk.js",
- "static/js/27.14bfb164.chunk.js.map": "static/js/27.14bfb164.chunk.js.map",
- "static/js/28.e7561def.chunk.js": "static/js/28.e7561def.chunk.js",
- "static/js/28.e7561def.chunk.js.map": "static/js/28.e7561def.chunk.js.map",
- "static/js/29.280e0c80.chunk.js": "static/js/29.280e0c80.chunk.js",
- "static/js/29.280e0c80.chunk.js.map": "static/js/29.280e0c80.chunk.js.map",
- "static/js/3.6c59990f.chunk.js": "static/js/3.6c59990f.chunk.js",
- "static/js/3.6c59990f.chunk.js.map": "static/js/3.6c59990f.chunk.js.map",
- "static/js/30.7a89898f.chunk.js": "static/js/30.7a89898f.chunk.js",
- "static/js/30.7a89898f.chunk.js.map": "static/js/30.7a89898f.chunk.js.map",
- "static/js/31.313ed05c.chunk.js": "static/js/31.313ed05c.chunk.js",
- "static/js/31.313ed05c.chunk.js.map": "static/js/31.313ed05c.chunk.js.map",
- "static/js/32.18969cb2.chunk.js": "static/js/32.18969cb2.chunk.js",
- "static/js/32.18969cb2.chunk.js.map": "static/js/32.18969cb2.chunk.js.map",
- "static/js/33.c17c0c22.chunk.js": "static/js/33.c17c0c22.chunk.js",
- "static/js/33.c17c0c22.chunk.js.map": "static/js/33.c17c0c22.chunk.js.map",
- "static/js/34.e0172e08.chunk.js": "static/js/34.e0172e08.chunk.js",
- "static/js/34.e0172e08.chunk.js.map": "static/js/34.e0172e08.chunk.js.map",
- "static/js/35.0f50e52c.chunk.js": "static/js/35.0f50e52c.chunk.js",
- "static/js/35.0f50e52c.chunk.js.map": "static/js/35.0f50e52c.chunk.js.map",
- "static/js/36.f63a8a53.chunk.js": "static/js/36.f63a8a53.chunk.js",
- "static/js/36.f63a8a53.chunk.js.map": "static/js/36.f63a8a53.chunk.js.map",
- "static/js/37.962dad62.chunk.js": "static/js/37.962dad62.chunk.js",
- "static/js/37.962dad62.chunk.js.map": "static/js/37.962dad62.chunk.js.map",
- "static/js/38.9aead5ce.chunk.js": "static/js/38.9aead5ce.chunk.js",
- "static/js/38.9aead5ce.chunk.js.map": "static/js/38.9aead5ce.chunk.js.map",
- "static/js/39.9d869d98.chunk.js": "static/js/39.9d869d98.chunk.js",
- "static/js/39.9d869d98.chunk.js.map": "static/js/39.9d869d98.chunk.js.map",
- "static/js/4.eb9e71e5.chunk.js": "static/js/4.eb9e71e5.chunk.js",
- "static/js/4.eb9e71e5.chunk.js.map": "static/js/4.eb9e71e5.chunk.js.map",
- "static/js/40.702d143b.chunk.js": "static/js/40.702d143b.chunk.js",
- "static/js/40.702d143b.chunk.js.map": "static/js/40.702d143b.chunk.js.map",
- "static/js/41.d12e910f.chunk.js": "static/js/41.d12e910f.chunk.js",
- "static/js/41.d12e910f.chunk.js.map": "static/js/41.d12e910f.chunk.js.map",
- "static/js/42.7ab9318a.chunk.js": "static/js/42.7ab9318a.chunk.js",
- "static/js/42.7ab9318a.chunk.js.map": "static/js/42.7ab9318a.chunk.js.map",
- "static/js/43.0fb54b0c.chunk.js": "static/js/43.0fb54b0c.chunk.js",
- "static/js/43.0fb54b0c.chunk.js.map": "static/js/43.0fb54b0c.chunk.js.map",
- "static/js/44.c0a337d9.chunk.js": "static/js/44.c0a337d9.chunk.js",
- "static/js/44.c0a337d9.chunk.js.map": "static/js/44.c0a337d9.chunk.js.map",
- "static/js/45.07bd62fb.chunk.js": "static/js/45.07bd62fb.chunk.js",
- "static/js/45.07bd62fb.chunk.js.map": "static/js/45.07bd62fb.chunk.js.map",
- "static/js/46.de5a1400.chunk.js": "static/js/46.de5a1400.chunk.js",
- "static/js/46.de5a1400.chunk.js.map": "static/js/46.de5a1400.chunk.js.map",
- "static/js/47.5e4c2156.chunk.js": "static/js/47.5e4c2156.chunk.js",
- "static/js/47.5e4c2156.chunk.js.map": "static/js/47.5e4c2156.chunk.js.map",
- "static/js/48.f308636c.chunk.js": "static/js/48.f308636c.chunk.js",
- "static/js/48.f308636c.chunk.js.map": "static/js/48.f308636c.chunk.js.map",
- "static/js/49.fc10a45e.chunk.js": "static/js/49.fc10a45e.chunk.js",
- "static/js/49.fc10a45e.chunk.js.map": "static/js/49.fc10a45e.chunk.js.map",
- "static/js/5.bf62e293.chunk.js": "static/js/5.bf62e293.chunk.js",
- "static/js/5.bf62e293.chunk.js.map": "static/js/5.bf62e293.chunk.js.map",
- "static/js/50.4c4da2e5.chunk.js": "static/js/50.4c4da2e5.chunk.js",
- "static/js/50.4c4da2e5.chunk.js.map": "static/js/50.4c4da2e5.chunk.js.map",
- "static/js/51.727f4191.chunk.js": "static/js/51.727f4191.chunk.js",
- "static/js/51.727f4191.chunk.js.map": "static/js/51.727f4191.chunk.js.map",
- "static/js/52.6fdf071d.chunk.js": "static/js/52.6fdf071d.chunk.js",
- "static/js/52.6fdf071d.chunk.js.map": "static/js/52.6fdf071d.chunk.js.map",
- "static/js/53.3ca16fbc.chunk.js": "static/js/53.3ca16fbc.chunk.js",
- "static/js/53.3ca16fbc.chunk.js.map": "static/js/53.3ca16fbc.chunk.js.map",
- "static/js/54.e1d19c05.chunk.js": "static/js/54.e1d19c05.chunk.js",
- "static/js/54.e1d19c05.chunk.js.map": "static/js/54.e1d19c05.chunk.js.map",
- "static/js/55.3559eaae.chunk.js": "static/js/55.3559eaae.chunk.js",
- "static/js/55.3559eaae.chunk.js.map": "static/js/55.3559eaae.chunk.js.map",
- "static/js/56.9faf861f.chunk.js": "static/js/56.9faf861f.chunk.js",
- "static/js/56.9faf861f.chunk.js.map": "static/js/56.9faf861f.chunk.js.map",
- "static/js/57.4a3349b3.chunk.js": "static/js/57.4a3349b3.chunk.js",
- "static/js/57.4a3349b3.chunk.js.map": "static/js/57.4a3349b3.chunk.js.map",
- "static/js/58.07a83ac7.chunk.js": "static/js/58.07a83ac7.chunk.js",
- "static/js/58.07a83ac7.chunk.js.map": "static/js/58.07a83ac7.chunk.js.map",
- "static/js/59.dfab187a.chunk.js": "static/js/59.dfab187a.chunk.js",
- "static/js/59.dfab187a.chunk.js.map": "static/js/59.dfab187a.chunk.js.map",
- "static/js/6.e6396e37.chunk.js": "static/js/6.e6396e37.chunk.js",
- "static/js/6.e6396e37.chunk.js.map": "static/js/6.e6396e37.chunk.js.map",
- "static/js/7.222caf59.chunk.js": "static/js/7.222caf59.chunk.js",
- "static/js/7.222caf59.chunk.js.map": "static/js/7.222caf59.chunk.js.map",
- "static/js/8.6e697d40.chunk.js": "static/js/8.6e697d40.chunk.js",
- "static/js/8.6e697d40.chunk.js.map": "static/js/8.6e697d40.chunk.js.map",
- "static/js/9.fa86f77b.chunk.js": "static/js/9.fa86f77b.chunk.js",
- "static/js/9.fa86f77b.chunk.js.map": "static/js/9.fa86f77b.chunk.js.map",
- "static/media/loading.svg": "static/media/loading.84a15aa0.svg",
- "static/media/omi-logo2019.svg": "static/media/omi-logo2019.923166c3.svg",
- "step.js": "static/js/step.b2898a0d.js",
- "step.js.map": "static/js/step.b2898a0d.js.map",
- "timeline.js": "static/js/timeline.e4a49c68.js",
- "timeline.js.map": "static/js/timeline.e4a49c68.js.map",
- "tree.js": "static/js/tree.fc80efae.js",
- "tree.js.map": "static/js/tree.fc80efae.js.map",
+ "index.js": "static/js/index.71f47660.js",
+ "index.js.map": "static/js/index.71f47660.js.map",
+ "static/js/0.ee445997.chunk.js": "static/js/0.ee445997.chunk.js",
+ "static/js/0.ee445997.chunk.js.map": "static/js/0.ee445997.chunk.js.map",
+ "static/js/1.138c327f.chunk.js": "static/js/1.138c327f.chunk.js",
+ "static/js/1.138c327f.chunk.js.map": "static/js/1.138c327f.chunk.js.map",
+ "static/js/10.09fe0c43.chunk.js": "static/js/10.09fe0c43.chunk.js",
+ "static/js/10.09fe0c43.chunk.js.map": "static/js/10.09fe0c43.chunk.js.map",
+ "static/js/11.9d9a7cb8.chunk.js": "static/js/11.9d9a7cb8.chunk.js",
+ "static/js/11.9d9a7cb8.chunk.js.map": "static/js/11.9d9a7cb8.chunk.js.map",
+ "static/js/12.7fcd6d48.chunk.js": "static/js/12.7fcd6d48.chunk.js",
+ "static/js/12.7fcd6d48.chunk.js.map": "static/js/12.7fcd6d48.chunk.js.map",
+ "static/js/13.e822e9e7.chunk.js": "static/js/13.e822e9e7.chunk.js",
+ "static/js/13.e822e9e7.chunk.js.map": "static/js/13.e822e9e7.chunk.js.map",
+ "static/js/14.8a3f05bd.chunk.js": "static/js/14.8a3f05bd.chunk.js",
+ "static/js/14.8a3f05bd.chunk.js.map": "static/js/14.8a3f05bd.chunk.js.map",
+ "static/js/15.2d9b0995.chunk.js": "static/js/15.2d9b0995.chunk.js",
+ "static/js/15.2d9b0995.chunk.js.map": "static/js/15.2d9b0995.chunk.js.map",
+ "static/js/16.6839e27a.chunk.js": "static/js/16.6839e27a.chunk.js",
+ "static/js/16.6839e27a.chunk.js.map": "static/js/16.6839e27a.chunk.js.map",
+ "static/js/17.49ea9d72.chunk.js": "static/js/17.49ea9d72.chunk.js",
+ "static/js/17.49ea9d72.chunk.js.map": "static/js/17.49ea9d72.chunk.js.map",
+ "static/js/18.7254d5e3.chunk.js": "static/js/18.7254d5e3.chunk.js",
+ "static/js/18.7254d5e3.chunk.js.map": "static/js/18.7254d5e3.chunk.js.map",
+ "static/js/19.6ea4e88d.chunk.js": "static/js/19.6ea4e88d.chunk.js",
+ "static/js/19.6ea4e88d.chunk.js.map": "static/js/19.6ea4e88d.chunk.js.map",
+ "static/js/2.54a621d5.chunk.js": "static/js/2.54a621d5.chunk.js",
+ "static/js/2.54a621d5.chunk.js.map": "static/js/2.54a621d5.chunk.js.map",
+ "static/js/20.b2a3f2da.chunk.js": "static/js/20.b2a3f2da.chunk.js",
+ "static/js/20.b2a3f2da.chunk.js.map": "static/js/20.b2a3f2da.chunk.js.map",
+ "static/js/21.8cc1af64.chunk.js": "static/js/21.8cc1af64.chunk.js",
+ "static/js/21.8cc1af64.chunk.js.map": "static/js/21.8cc1af64.chunk.js.map",
+ "static/js/22.4e77d459.chunk.js": "static/js/22.4e77d459.chunk.js",
+ "static/js/22.4e77d459.chunk.js.map": "static/js/22.4e77d459.chunk.js.map",
+ "static/js/23.ba2f2857.chunk.js": "static/js/23.ba2f2857.chunk.js",
+ "static/js/23.ba2f2857.chunk.js.map": "static/js/23.ba2f2857.chunk.js.map",
+ "static/js/24.73fb5abf.chunk.js": "static/js/24.73fb5abf.chunk.js",
+ "static/js/24.73fb5abf.chunk.js.map": "static/js/24.73fb5abf.chunk.js.map",
+ "static/js/25.45f049f5.chunk.js": "static/js/25.45f049f5.chunk.js",
+ "static/js/25.45f049f5.chunk.js.map": "static/js/25.45f049f5.chunk.js.map",
+ "static/js/26.8183f42e.chunk.js": "static/js/26.8183f42e.chunk.js",
+ "static/js/26.8183f42e.chunk.js.map": "static/js/26.8183f42e.chunk.js.map",
+ "static/js/27.3b6b2464.chunk.js": "static/js/27.3b6b2464.chunk.js",
+ "static/js/27.3b6b2464.chunk.js.map": "static/js/27.3b6b2464.chunk.js.map",
+ "static/js/28.d520d75d.chunk.js": "static/js/28.d520d75d.chunk.js",
+ "static/js/28.d520d75d.chunk.js.map": "static/js/28.d520d75d.chunk.js.map",
+ "static/js/29.ac398ebf.chunk.js": "static/js/29.ac398ebf.chunk.js",
+ "static/js/29.ac398ebf.chunk.js.map": "static/js/29.ac398ebf.chunk.js.map",
+ "static/js/3.dc2ae4a9.chunk.js": "static/js/3.dc2ae4a9.chunk.js",
+ "static/js/3.dc2ae4a9.chunk.js.map": "static/js/3.dc2ae4a9.chunk.js.map",
+ "static/js/30.861c1dad.chunk.js": "static/js/30.861c1dad.chunk.js",
+ "static/js/30.861c1dad.chunk.js.map": "static/js/30.861c1dad.chunk.js.map",
+ "static/js/31.8d260904.chunk.js": "static/js/31.8d260904.chunk.js",
+ "static/js/31.8d260904.chunk.js.map": "static/js/31.8d260904.chunk.js.map",
+ "static/js/32.912682a0.chunk.js": "static/js/32.912682a0.chunk.js",
+ "static/js/32.912682a0.chunk.js.map": "static/js/32.912682a0.chunk.js.map",
+ "static/js/33.59e39137.chunk.js": "static/js/33.59e39137.chunk.js",
+ "static/js/33.59e39137.chunk.js.map": "static/js/33.59e39137.chunk.js.map",
+ "static/js/34.72140186.chunk.js": "static/js/34.72140186.chunk.js",
+ "static/js/34.72140186.chunk.js.map": "static/js/34.72140186.chunk.js.map",
+ "static/js/35.8f9af177.chunk.js": "static/js/35.8f9af177.chunk.js",
+ "static/js/35.8f9af177.chunk.js.map": "static/js/35.8f9af177.chunk.js.map",
+ "static/js/36.a9c51e39.chunk.js": "static/js/36.a9c51e39.chunk.js",
+ "static/js/36.a9c51e39.chunk.js.map": "static/js/36.a9c51e39.chunk.js.map",
+ "static/js/37.51b36019.chunk.js": "static/js/37.51b36019.chunk.js",
+ "static/js/37.51b36019.chunk.js.map": "static/js/37.51b36019.chunk.js.map",
+ "static/js/38.1122dc82.chunk.js": "static/js/38.1122dc82.chunk.js",
+ "static/js/38.1122dc82.chunk.js.map": "static/js/38.1122dc82.chunk.js.map",
+ "static/js/39.5b4ee798.chunk.js": "static/js/39.5b4ee798.chunk.js",
+ "static/js/39.5b4ee798.chunk.js.map": "static/js/39.5b4ee798.chunk.js.map",
+ "static/js/4.c9b2b7de.chunk.js": "static/js/4.c9b2b7de.chunk.js",
+ "static/js/4.c9b2b7de.chunk.js.map": "static/js/4.c9b2b7de.chunk.js.map",
+ "static/js/40.24372fcf.chunk.js": "static/js/40.24372fcf.chunk.js",
+ "static/js/40.24372fcf.chunk.js.map": "static/js/40.24372fcf.chunk.js.map",
+ "static/js/41.5e2aa017.chunk.js": "static/js/41.5e2aa017.chunk.js",
+ "static/js/41.5e2aa017.chunk.js.map": "static/js/41.5e2aa017.chunk.js.map",
+ "static/js/42.31ea836e.chunk.js": "static/js/42.31ea836e.chunk.js",
+ "static/js/42.31ea836e.chunk.js.map": "static/js/42.31ea836e.chunk.js.map",
+ "static/js/43.cb4fa11a.chunk.js": "static/js/43.cb4fa11a.chunk.js",
+ "static/js/43.cb4fa11a.chunk.js.map": "static/js/43.cb4fa11a.chunk.js.map",
+ "static/js/44.42ae96ca.chunk.js": "static/js/44.42ae96ca.chunk.js",
+ "static/js/44.42ae96ca.chunk.js.map": "static/js/44.42ae96ca.chunk.js.map",
+ "static/js/45.62321b94.chunk.js": "static/js/45.62321b94.chunk.js",
+ "static/js/45.62321b94.chunk.js.map": "static/js/45.62321b94.chunk.js.map",
+ "static/js/46.a2744b59.chunk.js": "static/js/46.a2744b59.chunk.js",
+ "static/js/46.a2744b59.chunk.js.map": "static/js/46.a2744b59.chunk.js.map",
+ "static/js/47.2d48b6bd.chunk.js": "static/js/47.2d48b6bd.chunk.js",
+ "static/js/47.2d48b6bd.chunk.js.map": "static/js/47.2d48b6bd.chunk.js.map",
+ "static/js/48.93e735f8.chunk.js": "static/js/48.93e735f8.chunk.js",
+ "static/js/48.93e735f8.chunk.js.map": "static/js/48.93e735f8.chunk.js.map",
+ "static/js/49.fe9abf15.chunk.js": "static/js/49.fe9abf15.chunk.js",
+ "static/js/49.fe9abf15.chunk.js.map": "static/js/49.fe9abf15.chunk.js.map",
+ "static/js/5.c5babeaf.chunk.js": "static/js/5.c5babeaf.chunk.js",
+ "static/js/5.c5babeaf.chunk.js.map": "static/js/5.c5babeaf.chunk.js.map",
+ "static/js/50.7d793834.chunk.js": "static/js/50.7d793834.chunk.js",
+ "static/js/50.7d793834.chunk.js.map": "static/js/50.7d793834.chunk.js.map",
+ "static/js/51.28163cd5.chunk.js": "static/js/51.28163cd5.chunk.js",
+ "static/js/51.28163cd5.chunk.js.map": "static/js/51.28163cd5.chunk.js.map",
+ "static/js/52.32c11ca8.chunk.js": "static/js/52.32c11ca8.chunk.js",
+ "static/js/52.32c11ca8.chunk.js.map": "static/js/52.32c11ca8.chunk.js.map",
+ "static/js/53.8a95fd67.chunk.js": "static/js/53.8a95fd67.chunk.js",
+ "static/js/53.8a95fd67.chunk.js.map": "static/js/53.8a95fd67.chunk.js.map",
+ "static/js/54.a1bac6c9.chunk.js": "static/js/54.a1bac6c9.chunk.js",
+ "static/js/54.a1bac6c9.chunk.js.map": "static/js/54.a1bac6c9.chunk.js.map",
+ "static/js/55.22bc956c.chunk.js": "static/js/55.22bc956c.chunk.js",
+ "static/js/55.22bc956c.chunk.js.map": "static/js/55.22bc956c.chunk.js.map",
+ "static/js/56.ad84ef57.chunk.js": "static/js/56.ad84ef57.chunk.js",
+ "static/js/56.ad84ef57.chunk.js.map": "static/js/56.ad84ef57.chunk.js.map",
+ "static/js/57.80db4f6f.chunk.js": "static/js/57.80db4f6f.chunk.js",
+ "static/js/57.80db4f6f.chunk.js.map": "static/js/57.80db4f6f.chunk.js.map",
+ "static/js/58.59991c5b.chunk.js": "static/js/58.59991c5b.chunk.js",
+ "static/js/58.59991c5b.chunk.js.map": "static/js/58.59991c5b.chunk.js.map",
+ "static/js/59.24a90bc1.chunk.js": "static/js/59.24a90bc1.chunk.js",
+ "static/js/59.24a90bc1.chunk.js.map": "static/js/59.24a90bc1.chunk.js.map",
+ "static/js/6.16dcd58d.chunk.js": "static/js/6.16dcd58d.chunk.js",
+ "static/js/6.16dcd58d.chunk.js.map": "static/js/6.16dcd58d.chunk.js.map",
+ "static/js/7.6e12209d.chunk.js": "static/js/7.6e12209d.chunk.js",
+ "static/js/7.6e12209d.chunk.js.map": "static/js/7.6e12209d.chunk.js.map",
+ "static/js/8.7aa95294.chunk.js": "static/js/8.7aa95294.chunk.js",
+ "static/js/8.7aa95294.chunk.js.map": "static/js/8.7aa95294.chunk.js.map",
+ "static/js/9.d1d70a00.chunk.js": "static/js/9.d1d70a00.chunk.js",
+ "static/js/9.d1d70a00.chunk.js.map": "static/js/9.d1d70a00.chunk.js.map",
+ "static\\media\\loading.svg": "static/media/loading.84a15aa0.svg",
+ "static\\media\\omi-logo2019.svg": "static/media/omi-logo2019.923166c3.svg",
+ "step.js": "static/js/step.1dd2ca9b.js",
+ "step.js.map": "static/js/step.1dd2ca9b.js.map",
+ "timeline.js": "static/js/timeline.c61f8c12.js",
+ "timeline.js.map": "static/js/timeline.c61f8c12.js.map",
+ "tree.js": "static/js/tree.d7ca8997.js",
+ "tree.js.map": "static/js/tree.d7ca8997.js.map",
"zh-cn.css": "static/css/zh-cn.2df5426b.css",
"zh-cn.css.map": "static/css/zh-cn.2df5426b.css.map",
- "zh-cn.js": "static/js/zh-cn.fe1cc36a.js",
- "zh-cn.js.map": "static/js/zh-cn.fe1cc36a.js.map"
+ "zh-cn.js": "static/js/zh-cn.4066aa5e.js",
+ "zh-cn.js.map": "static/js/zh-cn.4066aa5e.js.map"
}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/example.html b/packages/omiu/examples/build/example.html
index f8324858a..763560379 100644
--- a/packages/omiu/examples/build/example.html
+++ b/packages/omiu/examples/build/example.html
@@ -1 +1 @@
-Omiu - Simple Omi UI
\ No newline at end of file
+Omiu - Simple Omi UI
\ No newline at end of file
diff --git a/packages/omiu/examples/build/index.html b/packages/omiu/examples/build/index.html
index a0016ea90..4f467abae 100644
--- a/packages/omiu/examples/build/index.html
+++ b/packages/omiu/examples/build/index.html
@@ -1 +1 @@
-Omiu - Simple Omi UI
\ No newline at end of file
+Omiu - Simple Omi UI
\ No newline at end of file
diff --git a/packages/omiu/examples/build/service-worker.js b/packages/omiu/examples/build/service-worker.js
index f8e68a98e..73a68aa47 100644
--- a/packages/omiu/examples/build/service-worker.js
+++ b/packages/omiu/examples/build/service-worker.js
@@ -1 +1 @@
-"use strict";var precacheConfig=[["./example.html","210694a253e405110ebcd02a32f2e84f"],["./index.html","fa5ae009ed56ffa26c70126d4dd41e94"],["./static/css/example.2df5426b.css","bf422d1fec175349159008ce47f81daa"],["./static/css/index.2df5426b.css","9af8941c9bd73ef31447bc060d928667"],["./static/css/zh-cn.2df5426b.css","9a683e21fb521ba7f443446d8056fe69"],["./static/js/0.d0d17a50.chunk.js","317ac2c1d39e0301109cb9d581216ed3"],["./static/js/1.c5d4503e.chunk.js","3c11d7e364688179c1ef4e81bed292c9"],["./static/js/10.5e47c138.chunk.js","0aae1a20f5f0fe07744bd6a860574a5f"],["./static/js/11.5a7901ba.chunk.js","c1701ba5519f744f1584eefcb005afb3"],["./static/js/12.259d9f0e.chunk.js","e8d88b6172ab3b88ffbf2b4c3d61e38f"],["./static/js/13.a85b186a.chunk.js","409078281a0bd1fa90b075a5141b2500"],["./static/js/14.a06793bd.chunk.js","5a27e89071974a565582929d528f5da2"],["./static/js/15.76347967.chunk.js","a578c2f6bb73fee030954a0b41d7aeaa"],["./static/js/16.125ac98e.chunk.js","3fcbbf249fc20b942c7c6536f79f5602"],["./static/js/17.19d413fa.chunk.js","af82a030558a0e1087fb0936c47e77ba"],["./static/js/18.dfc4a6d0.chunk.js","d35bfd55b2b7bad394eb3ce4d7497ed9"],["./static/js/19.77318125.chunk.js","01823b0ecb9aa2915e4dbadbb2720cb1"],["./static/js/2.73d36413.chunk.js","9db853a5f875b51c6b0072ecf1000878"],["./static/js/20.4ca2c910.chunk.js","2a8dcbeb6e12589d0894ace888fb02ff"],["./static/js/21.fc49c35d.chunk.js","844b3b43c19b9023b89fa063ce7f1abf"],["./static/js/22.5a218d15.chunk.js","b33efed2418a7601c286333de33213a5"],["./static/js/23.5e633b68.chunk.js","185acc3b93096188111b5f06f9e6dfec"],["./static/js/24.7183e629.chunk.js","6c1ac0b38054e698f2b2bf37e35683bd"],["./static/js/25.e95d7efe.chunk.js","9b40f4d7ab805747bf6eb2467bf9c122"],["./static/js/26.fddf4432.chunk.js","9e8efde3f4381385c9755e315da70db9"],["./static/js/27.14bfb164.chunk.js","fa5e8ede8bf77d50bd43f65c9c1d2060"],["./static/js/28.e7561def.chunk.js","6f66aed0e293c4bfbdd8edfb933ad29e"],["./static/js/29.280e0c80.chunk.js","a4849e94a6dfcd15823e4c5dace9fe62"],["./static/js/3.6c59990f.chunk.js","727abcea2a0ce969b9d2051f76b1dad0"],["./static/js/30.7a89898f.chunk.js","ecb498e421da32adce4ff5bed6cf91d9"],["./static/js/31.313ed05c.chunk.js","773ba9c0308c71bc600eca562de62cb8"],["./static/js/32.18969cb2.chunk.js","7d4c4ba5ae7bf178663fcb1eca151123"],["./static/js/33.c17c0c22.chunk.js","efc2485f2fec6a3918536a86e998ff2c"],["./static/js/34.e0172e08.chunk.js","1fb5838362e6a5c79a03b1fe6f5075d2"],["./static/js/35.0f50e52c.chunk.js","d0f593b167d739a3d8e29d912552dc9b"],["./static/js/36.f63a8a53.chunk.js","c80d434c66542bfc35a9284a075071d6"],["./static/js/37.962dad62.chunk.js","d899df6a89daaa782dc7e50bb4f17e8c"],["./static/js/38.9aead5ce.chunk.js","b55e698c185bbdce42a89e9bf7b69123"],["./static/js/39.9d869d98.chunk.js","0cf238589c06ca7d26c5344c6bc08951"],["./static/js/4.eb9e71e5.chunk.js","004fe1d24fcb84fb2cbef913d666e58f"],["./static/js/40.702d143b.chunk.js","be58734c3843e9018ac7b12c20e88075"],["./static/js/41.d12e910f.chunk.js","dd0add2655f942a7316edba263b1c098"],["./static/js/42.7ab9318a.chunk.js","261eb763f2d8108be7339b6a005aff87"],["./static/js/43.0fb54b0c.chunk.js","6e6c2b213b3066a6b5f80b3c59ac87c2"],["./static/js/44.c0a337d9.chunk.js","d7e0b9191fa0502ea14664b0a90d9c83"],["./static/js/45.07bd62fb.chunk.js","e254b7716eaefdbf91e910c81e703c01"],["./static/js/46.de5a1400.chunk.js","2f74bc50d529d7a0259ae2d9dfe7049a"],["./static/js/47.5e4c2156.chunk.js","7b490b874a6e7b932633d0672f67befd"],["./static/js/48.f308636c.chunk.js","9ec4cf8070a5e2c6a4a90e2349418f1f"],["./static/js/49.fc10a45e.chunk.js","4bc6bcca0c4c3d803d9f2f783e4af0d5"],["./static/js/5.bf62e293.chunk.js","8c6903a9c5f6496a584a325ac036bcfa"],["./static/js/50.4c4da2e5.chunk.js","4eda24b31e3af5c66d17739a649a5372"],["./static/js/51.727f4191.chunk.js","b159be195bc8d460a8895ddc07f87d66"],["./static/js/52.6fdf071d.chunk.js","af2d721ef03749389478f4cb54804b0d"],["./static/js/53.3ca16fbc.chunk.js","b760baec0d7e659146af043910b7d3e1"],["./static/js/54.e1d19c05.chunk.js","9d2884d94cf2feee9b7a71009cb47ca7"],["./static/js/55.3559eaae.chunk.js","5753a6f2be836367e18a6ae16c8284e1"],["./static/js/56.9faf861f.chunk.js","33ef1fea1244c123fc881bff68cdb353"],["./static/js/57.4a3349b3.chunk.js","b3b35687f03ed1646af5a84f437c00d0"],["./static/js/58.07a83ac7.chunk.js","ee2206769e4183b39d6f16f3d55166b2"],["./static/js/59.dfab187a.chunk.js","b2b4b00af13c26de0f27bc0cdf848b47"],["./static/js/6.e6396e37.chunk.js","d943e812c3e9472f20087832a5b0874c"],["./static/js/7.222caf59.chunk.js","df344df40d98b242bd3637d54e22dae6"],["./static/js/8.6e697d40.chunk.js","3ab530e85b1b26698119a5ea15a4350b"],["./static/js/9.fa86f77b.chunk.js","66f5e0062600097497240ff316bc8665"],["./static/js/example.b7972a87.js","8b45a7939e3b95bbcf05e724b96f167a"],["./static/js/index.ab2fa05e.js","75a6abc5ff5af06a07299faaa63acd88"],["./static/js/step.b2898a0d.js","5a8b30ce013ce86a88b2386e7eb8aff2"],["./static/js/timeline.e4a49c68.js","ee1438b5c3794859f25900eb99a6c959"],["./static/js/tree.fc80efae.js","4d1ccb64efc98eb33ce553f7b58e0ad6"],["./static/js/zh-cn.fe1cc36a.js","917270fd1ad8630b6b7a4f4eeba6df8a"],["./static/media/loading.84a15aa0.svg","84a15aa010f310acb5f4bc99ce8f7ed1"],["./static/media/omi-logo2019.923166c3.svg","923166c362dce831a15c447b19a622f9"],["./step.html","247eb20724c36cc166da102749cb0559"],["./timeline.html","c2c5a0c82c1d0cf7c996b7317a3c0df9"],["./tree.html","2d1dd67b659013edece0a1a507f0383b"],["./zh-cn.html","a4db90aee57445c5b716b7733837f168"]],cacheName="sw-precache-v3-sw-precache-webpack-plugin-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,c){var a=new URL(e);return"/"===a.pathname.slice(-1)&&(a.pathname+=c),a.toString()},cleanResponse=function(c){return c.redirected?("body"in c?Promise.resolve(c.body):c.blob()).then(function(e){return new Response(e,{headers:c.headers,status:c.status,statusText:c.statusText})}):Promise.resolve(c)},createCacheKey=function(e,c,a,s){var t=new URL(e);return s&&t.pathname.match(s)||(t.search+=(t.search?"&":"")+encodeURIComponent(c)+"="+encodeURIComponent(a)),t.toString()},isPathWhitelisted=function(e,c){if(0===e.length)return!0;var a=new URL(c).pathname;return e.some(function(e){return a.match(e)})},stripIgnoredUrlParameters=function(e,a){var c=new URL(e);return c.hash="",c.search=c.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(c){return a.every(function(e){return!e.test(c[0])})}).map(function(e){return e.join("=")}).join("&"),c.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var c=e[0],a=e[1],s=new URL(c,self.location),t=createCacheKey(s,hashParamName,a,/\.\w{8}\./);return[s.toString(),t]}));function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(s){return setOfCachedUrls(s).then(function(a){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(c){if(!a.has(c)){var e=new Request(c,{credentials:"same-origin"});return fetch(e).then(function(e){if(!e.ok)throw new Error("Request for "+c+" returned a response with status "+e.status);return cleanResponse(e).then(function(e){return s.put(c,e)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var a=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(c){return c.keys().then(function(e){return Promise.all(e.map(function(e){if(!a.has(e.url))return c.delete(e)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(c){if("GET"===c.request.method){var e,a=stripIgnoredUrlParameters(c.request.url,ignoreUrlParametersMatching),s="index.html";(e=urlsToCacheKeys.has(a))||(a=addDirectoryIndex(a,s),e=urlsToCacheKeys.has(a));var t="./index.html";!e&&"navigate"===c.request.mode&&isPathWhitelisted(["^(?!\\/__).*"],c.request.url)&&(a=new URL(t,self.location).toString(),e=urlsToCacheKeys.has(a)),e&&c.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(a)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(e){return console.warn('Couldn\'t serve response for "%s" from cache: %O',c.request.url,e),fetch(c.request)}))}});
\ No newline at end of file
+"use strict";var precacheConfig=[["./example.html","736ca1f16645af7c1d51fafbbe38a557"],["./index.html","cd57a6840b867fc515f8b4926599777a"],["./static/css/example.2df5426b.css","bf422d1fec175349159008ce47f81daa"],["./static/css/index.2df5426b.css","9af8941c9bd73ef31447bc060d928667"],["./static/css/zh-cn.2df5426b.css","9a683e21fb521ba7f443446d8056fe69"],["./static/js/0.ee445997.chunk.js","bd42de6c36fbf6b6c8fec2c4523c44a7"],["./static/js/1.138c327f.chunk.js","fea620da2772778f8c1bb7408582a508"],["./static/js/10.09fe0c43.chunk.js","8c1cc27b078f1f48798389571ef95e3a"],["./static/js/11.9d9a7cb8.chunk.js","4d64819be2dff898f87d2eb3aa1e5744"],["./static/js/12.7fcd6d48.chunk.js","da398fb7a273080495b8f15ea0bfc2ac"],["./static/js/13.e822e9e7.chunk.js","673242fd4ba4fec76896d2fb8cb6d632"],["./static/js/14.8a3f05bd.chunk.js","f4037d09b0593782442559bc53e4dbbd"],["./static/js/15.2d9b0995.chunk.js","70462c2d9f208651dc31abaedc0bf722"],["./static/js/16.6839e27a.chunk.js","e38827111f2ea8f6c81caf61052e88f3"],["./static/js/17.49ea9d72.chunk.js","f1abbf49a24f039aa769449f5e2e5177"],["./static/js/18.7254d5e3.chunk.js","b1749ce0b74e8a30793acd27434c2efd"],["./static/js/19.6ea4e88d.chunk.js","c99e738303f7e3c76205c529699a76b1"],["./static/js/2.54a621d5.chunk.js","0fdfe3d069bc5ddef4221d8c89de3702"],["./static/js/20.b2a3f2da.chunk.js","cd23cbc0fc1d19a43fbdf780858440da"],["./static/js/21.8cc1af64.chunk.js","63e8d0d435bf3b999ebcd17764bfa300"],["./static/js/22.4e77d459.chunk.js","05d68af66cebb49e60d4de324c66833f"],["./static/js/23.ba2f2857.chunk.js","fd0f1cb28dee75c485fbba1034580721"],["./static/js/24.73fb5abf.chunk.js","01e96a482f29c4f6b13877d4f5ba03a3"],["./static/js/25.45f049f5.chunk.js","176449d5babde3f81eb1112725365ca7"],["./static/js/26.8183f42e.chunk.js","ef2c0262fa409c2ad29b18734fa281de"],["./static/js/27.3b6b2464.chunk.js","2fd0a3d360815c4ded8d7a8002c8c7d0"],["./static/js/28.d520d75d.chunk.js","4550dff8b40a7c3745dff9d7f8a79499"],["./static/js/29.ac398ebf.chunk.js","4e62cc829e6676fa2b8243b68cb677be"],["./static/js/3.dc2ae4a9.chunk.js","2a49b73ccff846c9c52fe0a2eacc1f1b"],["./static/js/30.861c1dad.chunk.js","a656b03f5ba49ba4ec3cd968fa7aaf1d"],["./static/js/31.8d260904.chunk.js","4a5699159fa4130958b65132288fc2d8"],["./static/js/32.912682a0.chunk.js","fd9a0c99fc6dca6fca397da91b62eac6"],["./static/js/33.59e39137.chunk.js","7bde2855cad199e855e994ff59a082ad"],["./static/js/34.72140186.chunk.js","068f57388d5ce98a4d1f6c3f784db047"],["./static/js/35.8f9af177.chunk.js","0149c5a8eb5075f82e263ed50c5d4fdf"],["./static/js/36.a9c51e39.chunk.js","4c52651159e3645d4f9844b033c638a9"],["./static/js/37.51b36019.chunk.js","243f12393e31ddc37da542955c8f3701"],["./static/js/38.1122dc82.chunk.js","329b3e0a2adf5d7b5d8d693d874a9efc"],["./static/js/39.5b4ee798.chunk.js","3b6bfd95c376ac768230a9d03ffb1cff"],["./static/js/4.c9b2b7de.chunk.js","5ca0ed15b9ed917d10bff84a8b4810af"],["./static/js/40.24372fcf.chunk.js","5d34abe4be6cbcf1377ab9d87f01a81a"],["./static/js/41.5e2aa017.chunk.js","808aeea1850f979d0df43ceffc7206a6"],["./static/js/42.31ea836e.chunk.js","f35006d2fe5dbbc450d12291a33607a8"],["./static/js/43.cb4fa11a.chunk.js","80a53990d9c8ed25030066067923b514"],["./static/js/44.42ae96ca.chunk.js","9282b1ade3616844c3b3ec291aa215c5"],["./static/js/45.62321b94.chunk.js","6c7e90891e18c1d421a77627a6cafcea"],["./static/js/46.a2744b59.chunk.js","7db428e36cd5050fe486b6c081d78b7c"],["./static/js/47.2d48b6bd.chunk.js","929df83c60b55274f43bce7a5cb41437"],["./static/js/48.93e735f8.chunk.js","de193a89b2ba651690b2016be0f08a35"],["./static/js/49.fe9abf15.chunk.js","7050c0b425da0240396a9dce9249a20d"],["./static/js/5.c5babeaf.chunk.js","f6aa5255301f9e29727689d3ae629881"],["./static/js/50.7d793834.chunk.js","d388296dccc7976ae3525fb1b0c96638"],["./static/js/51.28163cd5.chunk.js","fd50f212ed3517b0c42c0faf7c53b6b7"],["./static/js/52.32c11ca8.chunk.js","c63d3859373c59244ba4f4fb573542ef"],["./static/js/53.8a95fd67.chunk.js","882a34ad4823619466813d29047a42d2"],["./static/js/54.a1bac6c9.chunk.js","0f1008faffdb02757b835a2e8feb8045"],["./static/js/55.22bc956c.chunk.js","179ad4fb54f8db6927c97ff375f065de"],["./static/js/56.ad84ef57.chunk.js","e5c00e2f79189bbd3ffcf533e026ae2f"],["./static/js/57.80db4f6f.chunk.js","5efeb71f55edf52416a4d32710024896"],["./static/js/58.59991c5b.chunk.js","ced5c698ef2c638652bbd2e599516d27"],["./static/js/59.24a90bc1.chunk.js","454869b1214cf40f3e72c9c08616f3a9"],["./static/js/6.16dcd58d.chunk.js","634718d3287abe520d71d0cfd5981667"],["./static/js/7.6e12209d.chunk.js","c96ab12e0ea702c3fd857364b9d57185"],["./static/js/8.7aa95294.chunk.js","4f4f15f51c4929afb126e591def5d02e"],["./static/js/9.d1d70a00.chunk.js","fd280118355a8f7909e0afbce7edbe37"],["./static/js/example.2bdfc031.js","d5cbd306691d686ea8957b5c38579adb"],["./static/js/index.71f47660.js","8a5aaae89edc0593ebb3c29fceeb9ed3"],["./static/js/step.1dd2ca9b.js","06eab88b64b667f5db14b1263352701e"],["./static/js/timeline.c61f8c12.js","628887aaf21f076a800656aa47b874a4"],["./static/js/tree.d7ca8997.js","ef1e6b48163b33cf0b9cf2d6637ea7fc"],["./static/js/zh-cn.4066aa5e.js","367ec9d64012bece0fdfe9b55703a68c"],["./static/media/loading.84a15aa0.svg","84a15aa010f310acb5f4bc99ce8f7ed1"],["./static/media/omi-logo2019.923166c3.svg","923166c362dce831a15c447b19a622f9"],["./step.html","d51356b25ad0193c26b89e85346ca744"],["./timeline.html","289dfb370e7626fec1fd28f2ccb33eff"],["./tree.html","115fe3890e6cfdeb9b27823fa6d17943"],["./zh-cn.html","f45b91e139ec6c0c6c91503ec9288483"]],cacheName="sw-precache-v3-sw-precache-webpack-plugin-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,c){var a=new URL(e);return"/"===a.pathname.slice(-1)&&(a.pathname+=c),a.toString()},cleanResponse=function(c){return c.redirected?("body"in c?Promise.resolve(c.body):c.blob()).then(function(e){return new Response(e,{headers:c.headers,status:c.status,statusText:c.statusText})}):Promise.resolve(c)},createCacheKey=function(e,c,a,s){var t=new URL(e);return s&&t.pathname.match(s)||(t.search+=(t.search?"&":"")+encodeURIComponent(c)+"="+encodeURIComponent(a)),t.toString()},isPathWhitelisted=function(e,c){if(0===e.length)return!0;var a=new URL(c).pathname;return e.some(function(e){return a.match(e)})},stripIgnoredUrlParameters=function(e,a){var c=new URL(e);return c.hash="",c.search=c.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(c){return a.every(function(e){return!e.test(c[0])})}).map(function(e){return e.join("=")}).join("&"),c.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var c=e[0],a=e[1],s=new URL(c,self.location),t=createCacheKey(s,hashParamName,a,/\.\w{8}\./);return[s.toString(),t]}));function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(s){return setOfCachedUrls(s).then(function(a){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(c){if(!a.has(c)){var e=new Request(c,{credentials:"same-origin"});return fetch(e).then(function(e){if(!e.ok)throw new Error("Request for "+c+" returned a response with status "+e.status);return cleanResponse(e).then(function(e){return s.put(c,e)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var a=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(c){return c.keys().then(function(e){return Promise.all(e.map(function(e){if(!a.has(e.url))return c.delete(e)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(c){if("GET"===c.request.method){var e,a=stripIgnoredUrlParameters(c.request.url,ignoreUrlParametersMatching),s="index.html";(e=urlsToCacheKeys.has(a))||(a=addDirectoryIndex(a,s),e=urlsToCacheKeys.has(a));var t="./index.html";!e&&"navigate"===c.request.mode&&isPathWhitelisted(["^(?!\\/__).*"],c.request.url)&&(a=new URL(t,self.location).toString(),e=urlsToCacheKeys.has(a)),e&&c.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(a)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(e){return console.warn('Couldn\'t serve response for "%s" from cache: %O',c.request.url,e),fetch(c.request)}))}});
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/0.d0d17a50.chunk.js b/packages/omiu/examples/build/static/js/0.ee445997.chunk.js
similarity index 87%
rename from packages/omiu/examples/build/static/js/0.d0d17a50.chunk.js
rename to packages/omiu/examples/build/static/js/0.ee445997.chunk.js
index bf58b8f0b..35b97fde5 100644
--- a/packages/omiu/examples/build/static/js/0.d0d17a50.chunk.js
+++ b/packages/omiu/examples/build/static/js/0.ee445997.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([0],{109:function(n,o){n.exports="## Toast \n\n\u7b80\u5355\u7684\u63d0\u9192\u901a\u77e5\u3002\n\n## \u4f7f\u7528\n\n```js\n\u652f\u4ed8\u6210\u529f\n\u52a0\u8f7d\u4e2d\n```\n\n\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4\u7684\u65b9\u5f0f\uff1a\n\n```js\nimport toast from 'omiu/toast'\n\n//\u663e\u793a\ntoast.showLoading()\n//\u9690\u85cf\ntoast.hideLoading()\n//\u652f\u6301\u81ea\u5b9a\u4e49\u6587\u5b57\ntoast.showLoading('\u8bf7\u6c42\u4e2d...')\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | false ||\n| type | string | -- |Options: loading, success|\n"}});
-//# sourceMappingURL=0.d0d17a50.chunk.js.map
\ No newline at end of file
+webpackJsonp([0],{111:function(n,o){n.exports="## Toast \n\n\u7b80\u5355\u7684\u63d0\u9192\u901a\u77e5\u3002\n\n## \u4f7f\u7528\n\n```js\n\u652f\u4ed8\u6210\u529f\n\u52a0\u8f7d\u4e2d\n```\n\n\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4\u7684\u65b9\u5f0f\uff1a\n\n```js\nimport toast from 'omiu/toast'\n\n//\u663e\u793a\ntoast.showLoading()\n//\u9690\u85cf\ntoast.hideLoading()\n//\u652f\u6301\u81ea\u5b9a\u4e49\u6587\u5b57\ntoast.showLoading('\u8bf7\u6c42\u4e2d...')\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | false ||\n| type | string | -- |Options: loading, success|\n"}});
+//# sourceMappingURL=0.ee445997.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/0.d0d17a50.chunk.js.map b/packages/omiu/examples/build/static/js/0.ee445997.chunk.js.map
similarity index 77%
rename from packages/omiu/examples/build/static/js/0.d0d17a50.chunk.js.map
rename to packages/omiu/examples/build/static/js/0.ee445997.chunk.js.map
index 86a01181d..27dc40fa2 100644
--- a/packages/omiu/examples/build/static/js/0.d0d17a50.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/0.ee445997.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/0.d0d17a50.chunk.js","docs/zh-cn/toast.md"],"names":["webpackJsonp","109","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/0.d0d17a50.chunk.js","sourcesContent":["webpackJsonp([0],{\n\n/***/ 109:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Toast \\n\\n简单的提醒通知。\\n\\n## 使用\\n\\n```js\\n支付成功\\n加载中\\n```\\n\\n你也可以使用命令的方式:\\n\\n```js\\nimport toast from 'omiu/toast'\\n\\n//显示\\ntoast.showLoading()\\n//隐藏\\ntoast.hideLoading()\\n//支持自定义文字\\ntoast.showLoading('请求中...')\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | false ||\\n| type | string | -- |Options: loading, success|\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/0.d0d17a50.chunk.js","module.exports = \"## Toast \\n\\n简单的提醒通知。\\n\\n## 使用\\n\\n```js\\n支付成功\\n加载中\\n```\\n\\n你也可以使用命令的方式:\\n\\n```js\\nimport toast from 'omiu/toast'\\n\\n//显示\\ntoast.showLoading()\\n//隐藏\\ntoast.hideLoading()\\n//支持自定义文字\\ntoast.showLoading('请求中...')\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | false ||\\n| type | string | -- |Options: loading, success|\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/toast.md\n// module id = 109\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/0.ee445997.chunk.js","docs/zh-cn/toast.md"],"names":["webpackJsonp","111","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/0.ee445997.chunk.js","sourcesContent":["webpackJsonp([0],{\n\n/***/ 111:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Toast \\n\\n简单的提醒通知。\\n\\n## 使用\\n\\n```js\\n支付成功\\n加载中\\n```\\n\\n你也可以使用命令的方式:\\n\\n```js\\nimport toast from 'omiu/toast'\\n\\n//显示\\ntoast.showLoading()\\n//隐藏\\ntoast.hideLoading()\\n//支持自定义文字\\ntoast.showLoading('请求中...')\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | false ||\\n| type | string | -- |Options: loading, success|\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/0.ee445997.chunk.js","module.exports = \"## Toast \\n\\n简单的提醒通知。\\n\\n## 使用\\n\\n```js\\n支付成功\\n加载中\\n```\\n\\n你也可以使用命令的方式:\\n\\n```js\\nimport toast from 'omiu/toast'\\n\\n//显示\\ntoast.showLoading()\\n//隐藏\\ntoast.hideLoading()\\n//支持自定义文字\\ntoast.showLoading('请求中...')\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | false ||\\n| type | string | -- |Options: loading, success|\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/toast.md\n// module id = 111\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/1.c5d4503e.chunk.js b/packages/omiu/examples/build/static/js/1.138c327f.chunk.js
similarity index 88%
rename from packages/omiu/examples/build/static/js/1.c5d4503e.chunk.js
rename to packages/omiu/examples/build/static/js/1.138c327f.chunk.js
index 17e74e256..da06acb72 100644
--- a/packages/omiu/examples/build/static/js/1.c5d4503e.chunk.js
+++ b/packages/omiu/examples/build/static/js/1.138c327f.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([1],{108:function(s,m){s.exports="## Timeline \n\n\u65f6\u95f4\u7ebf.\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| data | json array| -- | \u6570\u7ec4\u9879\u7684\u7ed3\u6784:
{
\u3000msgA: '2018.11.11',
\u3000msgB: '15:22:09',
\u3000msgC: 'create project',
\u3000msgD: '[sub msg]'
} |\u3000"}});
-//# sourceMappingURL=1.c5d4503e.chunk.js.map
\ No newline at end of file
+webpackJsonp([1],{110:function(s,m){s.exports="## Timeline \n\n\u65f6\u95f4\u7ebf.\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| data | json array| -- | \u6570\u7ec4\u9879\u7684\u7ed3\u6784:
{
\u3000msgA: '2018.11.11',
\u3000msgB: '15:22:09',
\u3000msgC: 'create project',
\u3000msgD: '[sub msg]'
} |\u3000"}});
+//# sourceMappingURL=1.138c327f.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/1.c5d4503e.chunk.js.map b/packages/omiu/examples/build/static/js/1.138c327f.chunk.js.map
similarity index 82%
rename from packages/omiu/examples/build/static/js/1.c5d4503e.chunk.js.map
rename to packages/omiu/examples/build/static/js/1.138c327f.chunk.js.map
index 0a60640f2..e9220b3a9 100644
--- a/packages/omiu/examples/build/static/js/1.c5d4503e.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/1.138c327f.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/1.c5d4503e.chunk.js","docs/zh-cn/timeline.md"],"names":["webpackJsonp","108","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/1.c5d4503e.chunk.js","sourcesContent":["webpackJsonp([1],{\n\n/***/ 108:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Timeline \\n\\n时间线.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| data | json array| -- | 数组项的结构:
{
msgA: '2018.11.11',
msgB: '15:22:09',
msgC: 'create project',
msgD: '[sub msg]'
} | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/1.c5d4503e.chunk.js","module.exports = \"## Timeline \\n\\n时间线.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| data | json array| -- | 数组项的结构:
{
msgA: '2018.11.11',
msgB: '15:22:09',
msgC: 'create project',
msgD: '[sub msg]'
} | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/timeline.md\n// module id = 108\n// module chunks = 1"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/1.138c327f.chunk.js","docs/zh-cn/timeline.md"],"names":["webpackJsonp","110","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/1.138c327f.chunk.js","sourcesContent":["webpackJsonp([1],{\n\n/***/ 110:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Timeline \\n\\n时间线.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| data | json array| -- | 数组项的结构:
{
msgA: '2018.11.11',
msgB: '15:22:09',
msgC: 'create project',
msgD: '[sub msg]'
} | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/1.138c327f.chunk.js","module.exports = \"## Timeline \\n\\n时间线.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| data | json array| -- | 数组项的结构:
{
msgA: '2018.11.11',
msgB: '15:22:09',
msgC: 'create project',
msgD: '[sub msg]'
} | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/timeline.md\n// module id = 110\n// module chunks = 1"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/10.09fe0c43.chunk.js b/packages/omiu/examples/build/static/js/10.09fe0c43.chunk.js
new file mode 100644
index 000000000..60f2f8819
--- /dev/null
+++ b/packages/omiu/examples/build/static/js/10.09fe0c43.chunk.js
@@ -0,0 +1,2 @@
+webpackJsonp([10],{101:function(n,o){n.exports='## Progress \n\n\u5c55\u793a\u4e00\u4e2a\u4efb\u52a1\u7684\u8fdb\u5ea6.\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| value | number| 0 | \u6700\u5c0f\u662f0\uff0c\u6700\u5927\u662f100 |\n| bgColor | string| #CCCCCC | \u80cc\u666f\u8272 |\n| innerColor | string| #07C160 | \u8fdb\u5ea6\u6761\u7684\u989c\u8272 |'}});
+//# sourceMappingURL=10.09fe0c43.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/10.09fe0c43.chunk.js.map b/packages/omiu/examples/build/static/js/10.09fe0c43.chunk.js.map
new file mode 100644
index 000000000..99d181eb8
--- /dev/null
+++ b/packages/omiu/examples/build/static/js/10.09fe0c43.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../static/js/10.09fe0c43.chunk.js","docs/zh-cn/progress.md"],"names":["webpackJsonp","101","module","exports"],"mappings":"AAAAA,cAAc,KAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/10.09fe0c43.chunk.js","sourcesContent":["webpackJsonp([10],{\n\n/***/ 101:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Progress \\n\\n展示一个任务的进度.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| value | number| 0 | 最小是0,最大是100 |\\n| bgColor | string| #CCCCCC | 背景色 |\\n| innerColor | string| #07C160 | 进度条的颜色 |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/10.09fe0c43.chunk.js","module.exports = \"## Progress \\n\\n展示一个任务的进度.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| value | number| 0 | 最小是0,最大是100 |\\n| bgColor | string| #CCCCCC | 背景色 |\\n| innerColor | string| #07C160 | 进度条的颜色 |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/progress.md\n// module id = 101\n// module chunks = 10"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/10.5e47c138.chunk.js b/packages/omiu/examples/build/static/js/10.5e47c138.chunk.js
deleted file mode 100644
index 75e2d0697..000000000
--- a/packages/omiu/examples/build/static/js/10.5e47c138.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-webpackJsonp([10],{99:function(n,o){n.exports='## Progress \n\n\u5c55\u793a\u4e00\u4e2a\u4efb\u52a1\u7684\u8fdb\u5ea6.\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| value | number| 0 | \u6700\u5c0f\u662f0\uff0c\u6700\u5927\u662f100 |\n| bgColor | string| #CCCCCC | \u80cc\u666f\u8272 |\n| innerColor | string| #07C160 | \u8fdb\u5ea6\u6761\u7684\u989c\u8272 |'}});
-//# sourceMappingURL=10.5e47c138.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/10.5e47c138.chunk.js.map b/packages/omiu/examples/build/static/js/10.5e47c138.chunk.js.map
deleted file mode 100644
index 262ff1709..000000000
--- a/packages/omiu/examples/build/static/js/10.5e47c138.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../static/js/10.5e47c138.chunk.js","docs/zh-cn/progress.md"],"names":["webpackJsonp","99","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/10.5e47c138.chunk.js","sourcesContent":["webpackJsonp([10],{\n\n/***/ 99:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Progress \\n\\n展示一个任务的进度.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| value | number| 0 | 最小是0,最大是100 |\\n| bgColor | string| #CCCCCC | 背景色 |\\n| innerColor | string| #07C160 | 进度条的颜色 |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/10.5e47c138.chunk.js","module.exports = \"## Progress \\n\\n展示一个任务的进度.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| value | number| 0 | 最小是0,最大是100 |\\n| bgColor | string| #CCCCCC | 背景色 |\\n| innerColor | string| #07C160 | 进度条的颜色 |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/progress.md\n// module id = 99\n// module chunks = 10"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/11.5a7901ba.chunk.js b/packages/omiu/examples/build/static/js/11.5a7901ba.chunk.js
deleted file mode 100644
index 8114aba23..000000000
--- a/packages/omiu/examples/build/static/js/11.5a7901ba.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-webpackJsonp([11],{98:function(n,o){n.exports="## Popup \n\n\u5f39\u51fa\u5c42\u3002\n\n## \u4f7f\u7528\n\n```js\n\n I am content
\n I am content
\n I am content
\n I am content
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | -- | |\n| title | string | -- | |\n| width | number | -- | |\n| cancelText | string | -- | |\n| confirmText | string | -- | |\n| onClose |function | -- | |\n| onConfirm | function | -- | |\n| children | vdom json array | -- | |"}});
-//# sourceMappingURL=11.5a7901ba.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/11.5a7901ba.chunk.js.map b/packages/omiu/examples/build/static/js/11.5a7901ba.chunk.js.map
deleted file mode 100644
index b33b88d60..000000000
--- a/packages/omiu/examples/build/static/js/11.5a7901ba.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../static/js/11.5a7901ba.chunk.js","docs/zh-cn/popup.md"],"names":["webpackJsonp","98","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/11.5a7901ba.chunk.js","sourcesContent":["webpackJsonp([11],{\n\n/***/ 98:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Popup \\n\\n弹出层。\\n\\n## 使用\\n\\n```js\\n\\n I am content
\\n I am content
\\n I am content
\\n I am content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| title | string | -- | |\\n| width | number | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\\n| children | vdom json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/11.5a7901ba.chunk.js","module.exports = \"## Popup \\n\\n弹出层。\\n\\n## 使用\\n\\n```js\\n\\n I am content
\\n I am content
\\n I am content
\\n I am content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| title | string | -- | |\\n| width | number | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\\n| children | vdom json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/popup.md\n// module id = 98\n// module chunks = 11"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/11.9d9a7cb8.chunk.js b/packages/omiu/examples/build/static/js/11.9d9a7cb8.chunk.js
new file mode 100644
index 000000000..95a4abf95
--- /dev/null
+++ b/packages/omiu/examples/build/static/js/11.9d9a7cb8.chunk.js
@@ -0,0 +1,2 @@
+webpackJsonp([11],{100:function(n,o){n.exports="## Popup \n\n\u5f39\u51fa\u5c42\u3002\n\n## \u4f7f\u7528\n\n```js\n\n I am content
\n I am content
\n I am content
\n I am content
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | -- | |\n| title | string | -- | |\n| width | number | -- | |\n| cancelText | string | -- | |\n| confirmText | string | -- | |\n| onClose |function | -- | |\n| onConfirm | function | -- | |\n| children | vdom json array | -- | |"}});
+//# sourceMappingURL=11.9d9a7cb8.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/11.9d9a7cb8.chunk.js.map b/packages/omiu/examples/build/static/js/11.9d9a7cb8.chunk.js.map
new file mode 100644
index 000000000..0e08cea8c
--- /dev/null
+++ b/packages/omiu/examples/build/static/js/11.9d9a7cb8.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../static/js/11.9d9a7cb8.chunk.js","docs/zh-cn/popup.md"],"names":["webpackJsonp","100","module","exports"],"mappings":"AAAAA,cAAc,KAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/11.9d9a7cb8.chunk.js","sourcesContent":["webpackJsonp([11],{\n\n/***/ 100:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Popup \\n\\n弹出层。\\n\\n## 使用\\n\\n```js\\n\\n I am content
\\n I am content
\\n I am content
\\n I am content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| title | string | -- | |\\n| width | number | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\\n| children | vdom json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/11.9d9a7cb8.chunk.js","module.exports = \"## Popup \\n\\n弹出层。\\n\\n## 使用\\n\\n```js\\n\\n I am content
\\n I am content
\\n I am content
\\n I am content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| title | string | -- | |\\n| width | number | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\\n| children | vdom json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/popup.md\n// module id = 100\n// module chunks = 11"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/12.259d9f0e.chunk.js b/packages/omiu/examples/build/static/js/12.7fcd6d48.chunk.js
similarity index 88%
rename from packages/omiu/examples/build/static/js/12.259d9f0e.chunk.js
rename to packages/omiu/examples/build/static/js/12.7fcd6d48.chunk.js
index 64a5f75e4..a9c6cd284 100644
--- a/packages/omiu/examples/build/static/js/12.259d9f0e.chunk.js
+++ b/packages/omiu/examples/build/static/js/12.7fcd6d48.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([12],{97:function(n,o){n.exports="## Popover \n\n\u6c14\u6ce1\u5361\u7247\u3002\n\n## \u4f7f\u7528\n\n```js\n\n \u6d4b\u8bd5\u5185\u5bb9....
\n \u6d4b\u8bd5\u5185\u5bb9
\n \u6d4b\u8bd5\u5185\u5bb9\u6d4b\u8bd5\u5185\u5bb9
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | -- | |\n| target | dom element | -- | \u73af\u7ed5\u7684\u76ee\u6807 |\n| direction | string | -- | \u73af\u7ed5\u7684\u65b9\u5411 |\n| onClose | function | -- | |\n| children | json array | -- | |"}});
-//# sourceMappingURL=12.259d9f0e.chunk.js.map
\ No newline at end of file
+webpackJsonp([12],{99:function(n,o){n.exports="## Popover \n\n\u6c14\u6ce1\u5361\u7247\u3002\n\n## \u4f7f\u7528\n\n```js\n\n \u6d4b\u8bd5\u5185\u5bb9....
\n \u6d4b\u8bd5\u5185\u5bb9
\n \u6d4b\u8bd5\u5185\u5bb9\u6d4b\u8bd5\u5185\u5bb9
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | -- | |\n| target | dom element | -- | \u73af\u7ed5\u7684\u76ee\u6807 |\n| direction | string | -- | \u73af\u7ed5\u7684\u65b9\u5411 |\n| onClose | function | -- | |\n| children | json array | -- | |"}});
+//# sourceMappingURL=12.7fcd6d48.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/12.259d9f0e.chunk.js.map b/packages/omiu/examples/build/static/js/12.7fcd6d48.chunk.js.map
similarity index 79%
rename from packages/omiu/examples/build/static/js/12.259d9f0e.chunk.js.map
rename to packages/omiu/examples/build/static/js/12.7fcd6d48.chunk.js.map
index e145867d7..8300489b0 100644
--- a/packages/omiu/examples/build/static/js/12.259d9f0e.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/12.7fcd6d48.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/12.259d9f0e.chunk.js","docs/zh-cn/popover.md"],"names":["webpackJsonp","97","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/12.259d9f0e.chunk.js","sourcesContent":["webpackJsonp([12],{\n\n/***/ 97:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Popover \\n\\n气泡卡片。\\n\\n## 使用\\n\\n```js\\n\\n 测试内容....
\\n 测试内容
\\n 测试内容测试内容
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| target | dom element | -- | 环绕的目标 |\\n| direction | string | -- | 环绕的方向 |\\n| onClose | function | -- | |\\n| children | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/12.259d9f0e.chunk.js","module.exports = \"## Popover \\n\\n气泡卡片。\\n\\n## 使用\\n\\n```js\\n\\n 测试内容....
\\n 测试内容
\\n 测试内容测试内容
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| target | dom element | -- | 环绕的目标 |\\n| direction | string | -- | 环绕的方向 |\\n| onClose | function | -- | |\\n| children | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/popover.md\n// module id = 97\n// module chunks = 12"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/12.7fcd6d48.chunk.js","docs/zh-cn/popover.md"],"names":["webpackJsonp","99","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/12.7fcd6d48.chunk.js","sourcesContent":["webpackJsonp([12],{\n\n/***/ 99:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Popover \\n\\n气泡卡片。\\n\\n## 使用\\n\\n```js\\n\\n 测试内容....
\\n 测试内容
\\n 测试内容测试内容
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| target | dom element | -- | 环绕的目标 |\\n| direction | string | -- | 环绕的方向 |\\n| onClose | function | -- | |\\n| children | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/12.7fcd6d48.chunk.js","module.exports = \"## Popover \\n\\n气泡卡片。\\n\\n## 使用\\n\\n```js\\n\\n 测试内容....
\\n 测试内容
\\n 测试内容测试内容
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| target | dom element | -- | 环绕的目标 |\\n| direction | string | -- | 环绕的方向 |\\n| onClose | function | -- | |\\n| children | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/popover.md\n// module id = 99\n// module chunks = 12"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/13.a85b186a.chunk.js b/packages/omiu/examples/build/static/js/13.e822e9e7.chunk.js
similarity index 89%
rename from packages/omiu/examples/build/static/js/13.a85b186a.chunk.js
rename to packages/omiu/examples/build/static/js/13.e822e9e7.chunk.js
index 21817c679..669d70f3e 100644
--- a/packages/omiu/examples/build/static/js/13.a85b186a.chunk.js
+++ b/packages/omiu/examples/build/static/js/13.e822e9e7.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([13],{96:function(n,e){n.exports="## PathProgress \n\n\u4f7f\u7528 SVG \u5c55\u793a\u4e00\u4e2a\u4efb\u52a1\u7684\u8fdb\u5ea6\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| type | string| - | \u652f\u6301 Circle,Line \u548c SemiCircle |\n| progress | number| 0 | |\n| text | string| - | |\n| options | json | | |\n| initialAnimate | bool| | |\n| containerStyle | json| | |\n| containerClassName | string| | |"}});
-//# sourceMappingURL=13.a85b186a.chunk.js.map
\ No newline at end of file
+webpackJsonp([13],{98:function(n,e){n.exports="## PathProgress \n\n\u4f7f\u7528 SVG \u5c55\u793a\u4e00\u4e2a\u4efb\u52a1\u7684\u8fdb\u5ea6\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| type | string| - | \u652f\u6301 Circle,Line \u548c SemiCircle |\n| progress | number| 0 | |\n| text | string| - | |\n| options | json | | |\n| initialAnimate | bool| | |\n| containerStyle | json| | |\n| containerClassName | string| | |"}});
+//# sourceMappingURL=13.e822e9e7.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/13.a85b186a.chunk.js.map b/packages/omiu/examples/build/static/js/13.e822e9e7.chunk.js.map
similarity index 81%
rename from packages/omiu/examples/build/static/js/13.a85b186a.chunk.js.map
rename to packages/omiu/examples/build/static/js/13.e822e9e7.chunk.js.map
index 4664f776a..7bba5b83e 100644
--- a/packages/omiu/examples/build/static/js/13.a85b186a.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/13.e822e9e7.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/13.a85b186a.chunk.js","docs/zh-cn/path-progress.md"],"names":["webpackJsonp","96","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/13.a85b186a.chunk.js","sourcesContent":["webpackJsonp([13],{\n\n/***/ 96:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## PathProgress \\n\\n使用 SVG 展示一个任务的进度。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| - | 支持 Circle,Line 和 SemiCircle |\\n| progress | number| 0 | |\\n| text | string| - | |\\n| options | json | | |\\n| initialAnimate | bool| | |\\n| containerStyle | json| | |\\n| containerClassName | string| | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/13.a85b186a.chunk.js","module.exports = \"## PathProgress \\n\\n使用 SVG 展示一个任务的进度。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| - | 支持 Circle,Line 和 SemiCircle |\\n| progress | number| 0 | |\\n| text | string| - | |\\n| options | json | | |\\n| initialAnimate | bool| | |\\n| containerStyle | json| | |\\n| containerClassName | string| | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/path-progress.md\n// module id = 96\n// module chunks = 13"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/13.e822e9e7.chunk.js","docs/zh-cn/path-progress.md"],"names":["webpackJsonp","98","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/13.e822e9e7.chunk.js","sourcesContent":["webpackJsonp([13],{\n\n/***/ 98:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## PathProgress \\n\\n使用 SVG 展示一个任务的进度。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| - | 支持 Circle,Line 和 SemiCircle |\\n| progress | number| 0 | |\\n| text | string| - | |\\n| options | json | | |\\n| initialAnimate | bool| | |\\n| containerStyle | json| | |\\n| containerClassName | string| | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/13.e822e9e7.chunk.js","module.exports = \"## PathProgress \\n\\n使用 SVG 展示一个任务的进度。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| - | 支持 Circle,Line 和 SemiCircle |\\n| progress | number| 0 | |\\n| text | string| - | |\\n| options | json | | |\\n| initialAnimate | bool| | |\\n| containerStyle | json| | |\\n| containerClassName | string| | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/path-progress.md\n// module id = 98\n// module chunks = 13"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/14.a06793bd.chunk.js b/packages/omiu/examples/build/static/js/14.8a3f05bd.chunk.js
similarity index 83%
rename from packages/omiu/examples/build/static/js/14.a06793bd.chunk.js
rename to packages/omiu/examples/build/static/js/14.8a3f05bd.chunk.js
index 733baa899..c06c184aa 100644
--- a/packages/omiu/examples/build/static/js/14.a06793bd.chunk.js
+++ b/packages/omiu/examples/build/static/js/14.8a3f05bd.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([14],{95:function(n,e){n.exports="## Pagination \n\n\u5206\u9875\u7ec4\u4ef6.\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| total | number| -- | |\n| currentPage | number | 0 | |\n| pageSize | number | 10 | |\n| numDisplay | number| 5 ||\n| numEdge | number| 3 ||\n| ellipseText | string| ... ||"}});
-//# sourceMappingURL=14.a06793bd.chunk.js.map
\ No newline at end of file
+webpackJsonp([14],{97:function(n,e){n.exports="## Pagination \n\n\u5206\u9875\u7ec4\u4ef6.\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| total | number| -- | |\n| currentPage | number | 0 | |\n| pageSize | number | 10 | |\n| numDisplay | number| 5 ||\n| numEdge | number| 3 ||\n| ellipseText | string| ... ||"}});
+//# sourceMappingURL=14.8a3f05bd.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/14.a06793bd.chunk.js.map b/packages/omiu/examples/build/static/js/14.8a3f05bd.chunk.js.map
similarity index 77%
rename from packages/omiu/examples/build/static/js/14.a06793bd.chunk.js.map
rename to packages/omiu/examples/build/static/js/14.8a3f05bd.chunk.js.map
index fdda971dd..45a692139 100644
--- a/packages/omiu/examples/build/static/js/14.a06793bd.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/14.8a3f05bd.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/14.a06793bd.chunk.js","docs/zh-cn/pagination.md"],"names":["webpackJsonp","95","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/14.a06793bd.chunk.js","sourcesContent":["webpackJsonp([14],{\n\n/***/ 95:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Pagination \\n\\n分页组件.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| total | number| -- | |\\n| currentPage | number | 0 | |\\n| pageSize | number | 10 | |\\n| numDisplay | number| 5 ||\\n| numEdge | number| 3 ||\\n| ellipseText | string| ... ||\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/14.a06793bd.chunk.js","module.exports = \"## Pagination \\n\\n分页组件.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| total | number| -- | |\\n| currentPage | number | 0 | |\\n| pageSize | number | 10 | |\\n| numDisplay | number| 5 ||\\n| numEdge | number| 3 ||\\n| ellipseText | string| ... ||\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/pagination.md\n// module id = 95\n// module chunks = 14"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/14.8a3f05bd.chunk.js","docs/zh-cn/pagination.md"],"names":["webpackJsonp","97","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/14.8a3f05bd.chunk.js","sourcesContent":["webpackJsonp([14],{\n\n/***/ 97:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Pagination \\n\\n分页组件.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| total | number| -- | |\\n| currentPage | number | 0 | |\\n| pageSize | number | 10 | |\\n| numDisplay | number| 5 ||\\n| numEdge | number| 3 ||\\n| ellipseText | string| ... ||\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/14.8a3f05bd.chunk.js","module.exports = \"## Pagination \\n\\n分页组件.\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| total | number| -- | |\\n| currentPage | number | 0 | |\\n| pageSize | number | 10 | |\\n| numDisplay | number| 5 ||\\n| numEdge | number| 3 ||\\n| ellipseText | string| ... ||\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/pagination.md\n// module id = 97\n// module chunks = 14"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/15.76347967.chunk.js b/packages/omiu/examples/build/static/js/15.2d9b0995.chunk.js
similarity index 78%
rename from packages/omiu/examples/build/static/js/15.76347967.chunk.js
rename to packages/omiu/examples/build/static/js/15.2d9b0995.chunk.js
index 166ecee26..4c2aa0ab8 100644
--- a/packages/omiu/examples/build/static/js/15.76347967.chunk.js
+++ b/packages/omiu/examples/build/static/js/15.2d9b0995.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([15],{94:function(n,e){n.exports="## Nav \n\n\u5bfc\u822a\u3002\n\n## \u4f7f\u7528\n\n```js\n\n - NavA
\n - NavB
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| onChange | function | -- | |\u3000\n| children | json array | -- | |\u3000"}});
-//# sourceMappingURL=15.76347967.chunk.js.map
\ No newline at end of file
+webpackJsonp([15],{96:function(n,e){n.exports="## Nav \n\n\u5bfc\u822a\u3002\n\n## \u4f7f\u7528\n\n```js\n\n - NavA
\n - NavB
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| onChange | function | -- | |\u3000\n| children | json array | -- | |\u3000"}});
+//# sourceMappingURL=15.2d9b0995.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/15.76347967.chunk.js.map b/packages/omiu/examples/build/static/js/15.2d9b0995.chunk.js.map
similarity index 67%
rename from packages/omiu/examples/build/static/js/15.76347967.chunk.js.map
rename to packages/omiu/examples/build/static/js/15.2d9b0995.chunk.js.map
index b25da5d5a..5510fd219 100644
--- a/packages/omiu/examples/build/static/js/15.76347967.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/15.2d9b0995.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/15.76347967.chunk.js","docs/zh-cn/nav.md"],"names":["webpackJsonp","94","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/15.76347967.chunk.js","sourcesContent":["webpackJsonp([15],{\n\n/***/ 94:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Nav \\n\\n导航。\\n\\n## 使用\\n\\n```js\\n\\n - NavA
\\n - NavB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/15.76347967.chunk.js","module.exports = \"## Nav \\n\\n导航。\\n\\n## 使用\\n\\n```js\\n\\n - NavA
\\n - NavB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/nav.md\n// module id = 94\n// module chunks = 15"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/15.2d9b0995.chunk.js","docs/zh-cn/nav.md"],"names":["webpackJsonp","96","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/15.2d9b0995.chunk.js","sourcesContent":["webpackJsonp([15],{\n\n/***/ 96:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Nav \\n\\n导航。\\n\\n## 使用\\n\\n```js\\n\\n - NavA
\\n - NavB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/15.2d9b0995.chunk.js","module.exports = \"## Nav \\n\\n导航。\\n\\n## 使用\\n\\n```js\\n\\n - NavA
\\n - NavB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/nav.md\n// module id = 96\n// module chunks = 15"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/16.125ac98e.chunk.js b/packages/omiu/examples/build/static/js/16.6839e27a.chunk.js
similarity index 93%
rename from packages/omiu/examples/build/static/js/16.125ac98e.chunk.js
rename to packages/omiu/examples/build/static/js/16.6839e27a.chunk.js
index 376b55054..a7890ea20 100644
--- a/packages/omiu/examples/build/static/js/16.125ac98e.chunk.js
+++ b/packages/omiu/examples/build/static/js/16.6839e27a.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([16],{93:function(n,o){n.exports="## Omiu \n\nOmiu \u662f Omi \u5b98\u65b9 UI \u7ec4\u4ef6\u5e93\uff0c\u57fa\u4e8e Omio(IE8+) \u4e14\u517c\u5bb9 Omi,\u4f7f\u7528\u5fae\u4fe1 7.0 \u8bbe\u8ba1\u98ce\u683c\u3002\n\n## \u8272\u5f69\n\n| **\u989c\u8272** | **\u610f\u4e49** |\n| ------------- |:-------------:|\n| #07C160 | \u5c0a\u8d35\u6d3b\u529b\u7eff | \n| #171717 | \u6c89\u7a33\u5178\u96c5\u9ed1 | \n| #FEFEFE | \u6e05\u65b0\u8131\u4fd7\u767d | \n| #F95050 | \u6c14\u8d28\u9192\u76ee\u7ea2 | \n| #ECECEC | \u8ff7\u60d8\u6de1\u6cca\u7070 | \n\n## \u65b0\u9879\u76ee\u5feb\u901f\u4f7f\u7528\n\n```\nnpm i omi-cli -g \nomi init my-app \ncd my-app \nnpm start \nnpm run build \n```\n\n> `npx omi-cli init my-app` \u4e5f\u652f\u6301(\u8981\u6c42 npm v5.2.0+)\n\n## \u73b0\u6709\u9879\u76ee\u4f7f\u7528\n\n```js\nnpm i omiu\n```\n\n```js\nimport { WeElement, define, render } from 'omi'\n//node modules \u4e0b\u7684 omiu \u7ec4\u4ef6\u90fd\u662f E6+,\u4f60\u9700\u8981\u628a node modules \u4e0b\u7684 js \u4e5f\u8bbe\u7f6e\u6210\u7ecf\u8fc7 babel \u6216 ts \u7f16\u8bd1\u624d\u80fd\u6b63\u5e38\u8dd1\u8d77\u6765\nimport 'omiu/button'\n\n//\u6216\u8005\u5bfc\u5165\u6240\u6709\u7ec4\u4ef6\uff0cnode modules \u7684 omi.js \u662f ES5 \u7684\uff0c\u4e0d\u9700\u8981\u989d\u5916\u914d\u7f6e\n//import 'omiu'\n\ndefine('my-app', class extends WeElement {\n onClick = () => {\n console.log('Hello omiu!');\n }\n\n render() {\n return (\n \u6309\u94ae\n )\n }\n})\n\nrender(, 'body')\n```"}});
-//# sourceMappingURL=16.125ac98e.chunk.js.map
\ No newline at end of file
+webpackJsonp([16],{95:function(n,o){n.exports="## Omiu \n\nOmiu \u662f Omi \u5b98\u65b9 UI \u7ec4\u4ef6\u5e93\uff0c\u57fa\u4e8e Omio(IE8+) \u4e14\u517c\u5bb9 Omi,\u4f7f\u7528\u5fae\u4fe1 7.0 \u8bbe\u8ba1\u98ce\u683c\u3002\n\n## \u8272\u5f69\n\n| **\u989c\u8272** | **\u610f\u4e49** |\n| ------------- |:-------------:|\n| #07C160 | \u5c0a\u8d35\u6d3b\u529b\u7eff | \n| #171717 | \u6c89\u7a33\u5178\u96c5\u9ed1 | \n| #FEFEFE | \u6e05\u65b0\u8131\u4fd7\u767d | \n| #F95050 | \u6c14\u8d28\u9192\u76ee\u7ea2 | \n| #ECECEC | \u8ff7\u60d8\u6de1\u6cca\u7070 | \n\n## \u65b0\u9879\u76ee\u5feb\u901f\u4f7f\u7528\n\n```\nnpm i omi-cli -g \nomi init my-app \ncd my-app \nnpm start \nnpm run build \n```\n\n> `npx omi-cli init my-app` \u4e5f\u652f\u6301(\u8981\u6c42 npm v5.2.0+)\n\n## \u73b0\u6709\u9879\u76ee\u4f7f\u7528\n\n```js\nnpm i omiu\n```\n\n```js\nimport { WeElement, define, render } from 'omi'\n//node modules \u4e0b\u7684 omiu \u7ec4\u4ef6\u90fd\u662f E6+,\u4f60\u9700\u8981\u628a node modules \u4e0b\u7684 js \u4e5f\u8bbe\u7f6e\u6210\u7ecf\u8fc7 babel \u6216 ts \u7f16\u8bd1\u624d\u80fd\u6b63\u5e38\u8dd1\u8d77\u6765\nimport 'omiu/button'\n\n//\u6216\u8005\u5bfc\u5165\u6240\u6709\u7ec4\u4ef6\uff0cnode modules \u7684 omi.js \u662f ES5 \u7684\uff0c\u4e0d\u9700\u8981\u989d\u5916\u914d\u7f6e\n//import 'omiu'\n\ndefine('my-app', class extends WeElement {\n onClick = () => {\n console.log('Hello omiu!');\n }\n\n render() {\n return (\n \u6309\u94ae\n )\n }\n})\n\nrender(, 'body')\n```"}});
+//# sourceMappingURL=16.6839e27a.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/16.125ac98e.chunk.js.map b/packages/omiu/examples/build/static/js/16.6839e27a.chunk.js.map
similarity index 87%
rename from packages/omiu/examples/build/static/js/16.125ac98e.chunk.js.map
rename to packages/omiu/examples/build/static/js/16.6839e27a.chunk.js.map
index 377142aa5..85b519cef 100644
--- a/packages/omiu/examples/build/static/js/16.125ac98e.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/16.6839e27a.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/16.125ac98e.chunk.js","docs/zh-cn/introduction.md"],"names":["webpackJsonp","93","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/16.125ac98e.chunk.js","sourcesContent":["webpackJsonp([16],{\n\n/***/ 93:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Omiu \\n\\nOmiu 是 Omi 官方 UI 组件库,基于 Omio(IE8+) 且兼容 Omi,使用微信 7.0 设计风格。\\n\\n## 色彩\\n\\n| **颜色** | **意义** |\\n| ------------- |:-------------:|\\n| #07C160 | 尊贵活力绿 | \\n| #171717 | 沉稳典雅黑 | \\n| #FEFEFE | 清新脱俗白 | \\n| #F95050 | 气质醒目红 | \\n| #ECECEC | 迷惘淡泊灰 | \\n\\n## 新项目快速使用\\n\\n```\\nnpm i omi-cli -g \\nomi init my-app \\ncd my-app \\nnpm start \\nnpm run build \\n```\\n\\n> `npx omi-cli init my-app` 也支持(要求 npm v5.2.0+)\\n\\n## 现有项目使用\\n\\n```js\\nnpm i omiu\\n```\\n\\n```js\\nimport { WeElement, define, render } from 'omi'\\n//node modules 下的 omiu 组件都是 E6+,你需要把 node modules 下的 js 也设置成经过 babel 或 ts 编译才能正常跑起来\\nimport 'omiu/button'\\n\\n//或者导入所有组件,node modules 的 omi.js 是 ES5 的,不需要额外配置\\n//import 'omiu'\\n\\ndefine('my-app', class extends WeElement {\\n onClick = () => {\\n console.log('Hello omiu!');\\n }\\n\\n render() {\\n return (\\n 按钮\\n )\\n }\\n})\\n\\nrender(, 'body')\\n```\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/16.125ac98e.chunk.js","module.exports = \"## Omiu \\n\\nOmiu 是 Omi 官方 UI 组件库,基于 Omio(IE8+) 且兼容 Omi,使用微信 7.0 设计风格。\\n\\n## 色彩\\n\\n| **颜色** | **意义** |\\n| ------------- |:-------------:|\\n| #07C160 | 尊贵活力绿 | \\n| #171717 | 沉稳典雅黑 | \\n| #FEFEFE | 清新脱俗白 | \\n| #F95050 | 气质醒目红 | \\n| #ECECEC | 迷惘淡泊灰 | \\n\\n## 新项目快速使用\\n\\n```\\nnpm i omi-cli -g \\nomi init my-app \\ncd my-app \\nnpm start \\nnpm run build \\n```\\n\\n> `npx omi-cli init my-app` 也支持(要求 npm v5.2.0+)\\n\\n## 现有项目使用\\n\\n```js\\nnpm i omiu\\n```\\n\\n```js\\nimport { WeElement, define, render } from 'omi'\\n//node modules 下的 omiu 组件都是 E6+,你需要把 node modules 下的 js 也设置成经过 babel 或 ts 编译才能正常跑起来\\nimport 'omiu/button'\\n\\n//或者导入所有组件,node modules 的 omi.js 是 ES5 的,不需要额外配置\\n//import 'omiu'\\n\\ndefine('my-app', class extends WeElement {\\n onClick = () => {\\n console.log('Hello omiu!');\\n }\\n\\n render() {\\n return (\\n 按钮\\n )\\n }\\n})\\n\\nrender(, 'body')\\n```\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/introduction.md\n// module id = 93\n// module chunks = 16"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/16.6839e27a.chunk.js","docs/zh-cn/introduction.md"],"names":["webpackJsonp","95","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/16.6839e27a.chunk.js","sourcesContent":["webpackJsonp([16],{\n\n/***/ 95:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Omiu \\n\\nOmiu 是 Omi 官方 UI 组件库,基于 Omio(IE8+) 且兼容 Omi,使用微信 7.0 设计风格。\\n\\n## 色彩\\n\\n| **颜色** | **意义** |\\n| ------------- |:-------------:|\\n| #07C160 | 尊贵活力绿 | \\n| #171717 | 沉稳典雅黑 | \\n| #FEFEFE | 清新脱俗白 | \\n| #F95050 | 气质醒目红 | \\n| #ECECEC | 迷惘淡泊灰 | \\n\\n## 新项目快速使用\\n\\n```\\nnpm i omi-cli -g \\nomi init my-app \\ncd my-app \\nnpm start \\nnpm run build \\n```\\n\\n> `npx omi-cli init my-app` 也支持(要求 npm v5.2.0+)\\n\\n## 现有项目使用\\n\\n```js\\nnpm i omiu\\n```\\n\\n```js\\nimport { WeElement, define, render } from 'omi'\\n//node modules 下的 omiu 组件都是 E6+,你需要把 node modules 下的 js 也设置成经过 babel 或 ts 编译才能正常跑起来\\nimport 'omiu/button'\\n\\n//或者导入所有组件,node modules 的 omi.js 是 ES5 的,不需要额外配置\\n//import 'omiu'\\n\\ndefine('my-app', class extends WeElement {\\n onClick = () => {\\n console.log('Hello omiu!');\\n }\\n\\n render() {\\n return (\\n 按钮\\n )\\n }\\n})\\n\\nrender(, 'body')\\n```\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/16.6839e27a.chunk.js","module.exports = \"## Omiu \\n\\nOmiu 是 Omi 官方 UI 组件库,基于 Omio(IE8+) 且兼容 Omi,使用微信 7.0 设计风格。\\n\\n## 色彩\\n\\n| **颜色** | **意义** |\\n| ------------- |:-------------:|\\n| #07C160 | 尊贵活力绿 | \\n| #171717 | 沉稳典雅黑 | \\n| #FEFEFE | 清新脱俗白 | \\n| #F95050 | 气质醒目红 | \\n| #ECECEC | 迷惘淡泊灰 | \\n\\n## 新项目快速使用\\n\\n```\\nnpm i omi-cli -g \\nomi init my-app \\ncd my-app \\nnpm start \\nnpm run build \\n```\\n\\n> `npx omi-cli init my-app` 也支持(要求 npm v5.2.0+)\\n\\n## 现有项目使用\\n\\n```js\\nnpm i omiu\\n```\\n\\n```js\\nimport { WeElement, define, render } from 'omi'\\n//node modules 下的 omiu 组件都是 E6+,你需要把 node modules 下的 js 也设置成经过 babel 或 ts 编译才能正常跑起来\\nimport 'omiu/button'\\n\\n//或者导入所有组件,node modules 的 omi.js 是 ES5 的,不需要额外配置\\n//import 'omiu'\\n\\ndefine('my-app', class extends WeElement {\\n onClick = () => {\\n console.log('Hello omiu!');\\n }\\n\\n render() {\\n return (\\n 按钮\\n )\\n }\\n})\\n\\nrender(, 'body')\\n```\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/introduction.md\n// module id = 95\n// module chunks = 16"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/17.19d413fa.chunk.js b/packages/omiu/examples/build/static/js/17.49ea9d72.chunk.js
similarity index 84%
rename from packages/omiu/examples/build/static/js/17.19d413fa.chunk.js
rename to packages/omiu/examples/build/static/js/17.49ea9d72.chunk.js
index b741c9b16..a8fc8ff68 100644
--- a/packages/omiu/examples/build/static/js/17.19d413fa.chunk.js
+++ b/packages/omiu/examples/build/static/js/17.49ea9d72.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([17],{92:function(n,e){n.exports="## Input \n\n\u7528\u6237\u7684\u8f93\u5165\u6846\uff0c\u8f93\u5165\u4e00\u4e9b\u5185\u5bb9\u7528\u6765\u63d0\u4ea4\u7ed9\u670d\u52a1\u5668\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| placeholder | string| | \u5360\u4f4d\u5b57\u7b26\u4e32 |\n\n## \u5176\u4ed6\u7c7b\u578b\n\n```js\n\n\n```"}});
-//# sourceMappingURL=17.19d413fa.chunk.js.map
\ No newline at end of file
+webpackJsonp([17],{94:function(n,e){n.exports="## Input \n\n\u7528\u6237\u7684\u8f93\u5165\u6846\uff0c\u8f93\u5165\u4e00\u4e9b\u5185\u5bb9\u7528\u6765\u63d0\u4ea4\u7ed9\u670d\u52a1\u5668\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| placeholder | string| | \u5360\u4f4d\u5b57\u7b26\u4e32 |\n\n## \u5176\u4ed6\u7c7b\u578b\n\n```js\n\n\n```"}});
+//# sourceMappingURL=17.49ea9d72.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/17.19d413fa.chunk.js.map b/packages/omiu/examples/build/static/js/17.49ea9d72.chunk.js.map
similarity index 74%
rename from packages/omiu/examples/build/static/js/17.19d413fa.chunk.js.map
rename to packages/omiu/examples/build/static/js/17.49ea9d72.chunk.js.map
index 8bc3b16b4..3db190943 100644
--- a/packages/omiu/examples/build/static/js/17.19d413fa.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/17.49ea9d72.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/17.19d413fa.chunk.js","docs/zh-cn/input.md"],"names":["webpackJsonp","92","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/17.19d413fa.chunk.js","sourcesContent":["webpackJsonp([17],{\n\n/***/ 92:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Input \\n\\n用户的输入框,输入一些内容用来提交给服务器。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| placeholder | string| | 占位字符串 |\\n\\n## 其他类型\\n\\n```js\\n\\n\\n```\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/17.19d413fa.chunk.js","module.exports = \"## Input \\n\\n用户的输入框,输入一些内容用来提交给服务器。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| placeholder | string| | 占位字符串 |\\n\\n## 其他类型\\n\\n```js\\n\\n\\n```\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/input.md\n// module id = 92\n// module chunks = 17"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/17.49ea9d72.chunk.js","docs/zh-cn/input.md"],"names":["webpackJsonp","94","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/17.49ea9d72.chunk.js","sourcesContent":["webpackJsonp([17],{\n\n/***/ 94:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Input \\n\\n用户的输入框,输入一些内容用来提交给服务器。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| placeholder | string| | 占位字符串 |\\n\\n## 其他类型\\n\\n```js\\n\\n\\n```\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/17.49ea9d72.chunk.js","module.exports = \"## Input \\n\\n用户的输入框,输入一些内容用来提交给服务器。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| placeholder | string| | 占位字符串 |\\n\\n## 其他类型\\n\\n```js\\n\\n\\n```\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/input.md\n// module id = 94\n// module chunks = 17"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/18.dfc4a6d0.chunk.js b/packages/omiu/examples/build/static/js/18.7254d5e3.chunk.js
similarity index 91%
rename from packages/omiu/examples/build/static/js/18.dfc4a6d0.chunk.js
rename to packages/omiu/examples/build/static/js/18.7254d5e3.chunk.js
index 6dd6db052..f30175af0 100644
--- a/packages/omiu/examples/build/static/js/18.dfc4a6d0.chunk.js
+++ b/packages/omiu/examples/build/static/js/18.7254d5e3.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([18],{91:function(n,e){n.exports="## InputTable \n\n\u53ef\u7f16\u8f91\u7684\u8868\u683c\u3002\n\n## \u4f7f\u7528\n\n```js\ndefine('my-app', class extends WeElement {\n dataSource = [{\n id: 1,\n name: 'xwang',\n age: 18,\n address: '\u817e\u8baf\u5927\u53a6'\n }, {\n id: 2,\n name: 'dntzhang',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 3,\n name: 'dntzhang2',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 4,\n name: 'dntzhang3',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 5,\n name: 'dntzhang4',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }];\n\n columns = [{\n title: '\u59d3\u540d',\n key: 'name',\n }, {\n title: '\u5e74\u9f84',\n key: 'age',\n }, {\n title: '\u4f4f\u5740',\n key: 'address',\n }]\n\n\n render() {\n return (\n \n \n )\n }\n})\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| dataSource | json array | -- | |\n| columns | json array | -- | |"}});
-//# sourceMappingURL=18.dfc4a6d0.chunk.js.map
\ No newline at end of file
+webpackJsonp([18],{93:function(n,e){n.exports="## InputTable \n\n\u53ef\u7f16\u8f91\u7684\u8868\u683c\u3002\n\n## \u4f7f\u7528\n\n```js\ndefine('my-app', class extends WeElement {\n dataSource = [{\n id: 1,\n name: 'xwang',\n age: 18,\n address: '\u817e\u8baf\u5927\u53a6'\n }, {\n id: 2,\n name: 'dntzhang',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 3,\n name: 'dntzhang2',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 4,\n name: 'dntzhang3',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 5,\n name: 'dntzhang4',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }];\n\n columns = [{\n title: '\u59d3\u540d',\n key: 'name',\n }, {\n title: '\u5e74\u9f84',\n key: 'age',\n }, {\n title: '\u4f4f\u5740',\n key: 'address',\n }]\n\n\n render() {\n return (\n \n \n )\n }\n})\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| dataSource | json array | -- | |\n| columns | json array | -- | |"}});
+//# sourceMappingURL=18.7254d5e3.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/18.dfc4a6d0.chunk.js.map b/packages/omiu/examples/build/static/js/18.7254d5e3.chunk.js.map
similarity index 87%
rename from packages/omiu/examples/build/static/js/18.dfc4a6d0.chunk.js.map
rename to packages/omiu/examples/build/static/js/18.7254d5e3.chunk.js.map
index 5f908e898..b737a253e 100644
--- a/packages/omiu/examples/build/static/js/18.dfc4a6d0.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/18.7254d5e3.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/18.dfc4a6d0.chunk.js","docs/zh-cn/input-table.md"],"names":["webpackJsonp","91","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/18.dfc4a6d0.chunk.js","sourcesContent":["webpackJsonp([18],{\n\n/***/ 91:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## InputTable \\n\\n可编辑的表格。\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: '腾讯大厦'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 3,\\n name: 'dntzhang2',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 4,\\n name: 'dntzhang3',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 5,\\n name: 'dntzhang4',\\n age: 12,\\n address: '滨海大厦'\\n }];\\n\\n columns = [{\\n title: '姓名',\\n key: 'name',\\n }, {\\n title: '年龄',\\n key: 'age',\\n }, {\\n title: '住址',\\n key: 'address',\\n }]\\n\\n\\n render() {\\n return (\\n \\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/18.dfc4a6d0.chunk.js","module.exports = \"## InputTable \\n\\n可编辑的表格。\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: '腾讯大厦'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 3,\\n name: 'dntzhang2',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 4,\\n name: 'dntzhang3',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 5,\\n name: 'dntzhang4',\\n age: 12,\\n address: '滨海大厦'\\n }];\\n\\n columns = [{\\n title: '姓名',\\n key: 'name',\\n }, {\\n title: '年龄',\\n key: 'age',\\n }, {\\n title: '住址',\\n key: 'address',\\n }]\\n\\n\\n render() {\\n return (\\n \\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/input-table.md\n// module id = 91\n// module chunks = 18"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/18.7254d5e3.chunk.js","docs/zh-cn/input-table.md"],"names":["webpackJsonp","93","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/18.7254d5e3.chunk.js","sourcesContent":["webpackJsonp([18],{\n\n/***/ 93:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## InputTable \\n\\n可编辑的表格。\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: '腾讯大厦'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 3,\\n name: 'dntzhang2',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 4,\\n name: 'dntzhang3',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 5,\\n name: 'dntzhang4',\\n age: 12,\\n address: '滨海大厦'\\n }];\\n\\n columns = [{\\n title: '姓名',\\n key: 'name',\\n }, {\\n title: '年龄',\\n key: 'age',\\n }, {\\n title: '住址',\\n key: 'address',\\n }]\\n\\n\\n render() {\\n return (\\n \\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/18.7254d5e3.chunk.js","module.exports = \"## InputTable \\n\\n可编辑的表格。\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: '腾讯大厦'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 3,\\n name: 'dntzhang2',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 4,\\n name: 'dntzhang3',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 5,\\n name: 'dntzhang4',\\n age: 12,\\n address: '滨海大厦'\\n }];\\n\\n columns = [{\\n title: '姓名',\\n key: 'name',\\n }, {\\n title: '年龄',\\n key: 'age',\\n }, {\\n title: '住址',\\n key: 'address',\\n }]\\n\\n\\n render() {\\n return (\\n \\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/input-table.md\n// module id = 93\n// module chunks = 18"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/19.77318125.chunk.js b/packages/omiu/examples/build/static/js/19.6ea4e88d.chunk.js
similarity index 83%
rename from packages/omiu/examples/build/static/js/19.77318125.chunk.js
rename to packages/omiu/examples/build/static/js/19.6ea4e88d.chunk.js
index bd25c979e..28e5abdde 100644
--- a/packages/omiu/examples/build/static/js/19.77318125.chunk.js
+++ b/packages/omiu/examples/build/static/js/19.6ea4e88d.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([19],{90:function(n,e){n.exports='## InputNumber \n\n\u53ef\u4ee5\u8c03\u6574\u7684\u6570\u5b57\u8f93\u5165\u6846\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| min | number|-- ||\n| max | number| -- | |\n| step | number | | |\n| value | number| -- ||\n| label | string| -- ||\n| onChange | function| -- ||\n\n\n'}});
-//# sourceMappingURL=19.77318125.chunk.js.map
\ No newline at end of file
+webpackJsonp([19],{92:function(n,e){n.exports='## InputNumber \n\n\u53ef\u4ee5\u8c03\u6574\u7684\u6570\u5b57\u8f93\u5165\u6846\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| min | number|-- ||\n| max | number| -- | |\n| step | number | | |\n| value | number| -- ||\n| label | string| -- ||\n| onChange | function| -- ||\n\n\n'}});
+//# sourceMappingURL=19.6ea4e88d.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/19.77318125.chunk.js.map b/packages/omiu/examples/build/static/js/19.6ea4e88d.chunk.js.map
similarity index 78%
rename from packages/omiu/examples/build/static/js/19.77318125.chunk.js.map
rename to packages/omiu/examples/build/static/js/19.6ea4e88d.chunk.js.map
index 35367a8d4..e51a8c767 100644
--- a/packages/omiu/examples/build/static/js/19.77318125.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/19.6ea4e88d.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/19.77318125.chunk.js","docs/zh-cn/input-number.md"],"names":["webpackJsonp","90","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/19.77318125.chunk.js","sourcesContent":["webpackJsonp([19],{\n\n/***/ 90:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## InputNumber \\n\\n可以调整的数字输入框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| min | number|-- ||\\n| max | number| -- | |\\n| step | number | | |\\n| value | number| -- ||\\n| label | string| -- ||\\n| onChange | function| -- ||\\n\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/19.77318125.chunk.js","module.exports = \"## InputNumber \\n\\n可以调整的数字输入框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| min | number|-- ||\\n| max | number| -- | |\\n| step | number | | |\\n| value | number| -- ||\\n| label | string| -- ||\\n| onChange | function| -- ||\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/input-number.md\n// module id = 90\n// module chunks = 19"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/19.6ea4e88d.chunk.js","docs/zh-cn/input-number.md"],"names":["webpackJsonp","92","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/19.6ea4e88d.chunk.js","sourcesContent":["webpackJsonp([19],{\n\n/***/ 92:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## InputNumber \\n\\n可以调整的数字输入框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| min | number|-- ||\\n| max | number| -- | |\\n| step | number | | |\\n| value | number| -- ||\\n| label | string| -- ||\\n| onChange | function| -- ||\\n\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/19.6ea4e88d.chunk.js","module.exports = \"## InputNumber \\n\\n可以调整的数字输入框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| min | number|-- ||\\n| max | number| -- | |\\n| step | number | | |\\n| value | number| -- ||\\n| label | string| -- ||\\n| onChange | function| -- ||\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/input-number.md\n// module id = 92\n// module chunks = 19"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/2.73d36413.chunk.js b/packages/omiu/examples/build/static/js/2.54a621d5.chunk.js
similarity index 93%
rename from packages/omiu/examples/build/static/js/2.73d36413.chunk.js
rename to packages/omiu/examples/build/static/js/2.54a621d5.chunk.js
index 009ca7835..24a638d75 100644
--- a/packages/omiu/examples/build/static/js/2.73d36413.chunk.js
+++ b/packages/omiu/examples/build/static/js/2.54a621d5.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([2],{107:function(n,e){n.exports="## Table \n\n\u8868\u683c\u7684\u5f62\u5f0f\u5c55\u73b0\u548c\u5904\u7406\u6570\u636e\u3002\n\n## \u4f7f\u7528\n\n```js\ndefine('my-app', class extends WeElement {\n dataSource = [{\n id: 1,\n name: 'xwang',\n age: 18,\n address: '\u817e\u8baf\u5927\u53a6'\n }, {\n id: 2,\n name: 'dntzhang',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 3,\n name: 'dntzhang2',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 4,\n name: 'dntzhang3',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 5,\n name: 'dntzhang4',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }]\n\n columns = [{\n title: '\u59d3\u540d',\n key: 'name',\n }, {\n title: '\u5e74\u9f84',\n key: 'age',\n }, {\n title: '\u4f4f\u5740',\n key: 'address',\n }, {\n title: '\u64cd\u4f5c',\n render: (item) => (\n \n { this.removeItem(item) }}>Delete\n \n )\n }]\n\n removeItem = (item) => {\n this.table.removeItem(item)\n }\n\n render() {\n return (\n { this.table = e }} \n dataSource={this.dataSource} \n columns={this.columns}>\n \n )\n }\n})\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| dataSource | json array | -- | |\n| columns | json array | -- | |"}});
-//# sourceMappingURL=2.73d36413.chunk.js.map
\ No newline at end of file
+webpackJsonp([2],{109:function(n,e){n.exports="## Table \n\n\u8868\u683c\u7684\u5f62\u5f0f\u5c55\u73b0\u548c\u5904\u7406\u6570\u636e\u3002\n\n## \u4f7f\u7528\n\n```js\ndefine('my-app', class extends WeElement {\n dataSource = [{\n id: 1,\n name: 'xwang',\n age: 18,\n address: '\u817e\u8baf\u5927\u53a6'\n }, {\n id: 2,\n name: 'dntzhang',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 3,\n name: 'dntzhang2',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 4,\n name: 'dntzhang3',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }, {\n id: 5,\n name: 'dntzhang4',\n age: 12,\n address: '\u6ee8\u6d77\u5927\u53a6'\n }]\n\n columns = [{\n title: '\u59d3\u540d',\n key: 'name',\n }, {\n title: '\u5e74\u9f84',\n key: 'age',\n }, {\n title: '\u4f4f\u5740',\n key: 'address',\n }, {\n title: '\u64cd\u4f5c',\n render: (item) => (\n \n { this.removeItem(item) }}>Delete\n \n )\n }]\n\n removeItem = (item) => {\n this.table.removeItem(item)\n }\n\n render() {\n return (\n { this.table = e }} \n dataSource={this.dataSource} \n columns={this.columns}>\n \n )\n }\n})\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| dataSource | json array | -- | |\n| columns | json array | -- | |"}});
+//# sourceMappingURL=2.54a621d5.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/2.73d36413.chunk.js.map b/packages/omiu/examples/build/static/js/2.54a621d5.chunk.js.map
similarity index 89%
rename from packages/omiu/examples/build/static/js/2.73d36413.chunk.js.map
rename to packages/omiu/examples/build/static/js/2.54a621d5.chunk.js.map
index 807215583..1efa8d18a 100644
--- a/packages/omiu/examples/build/static/js/2.73d36413.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/2.54a621d5.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/2.73d36413.chunk.js","docs/zh-cn/table.md"],"names":["webpackJsonp","107","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/2.73d36413.chunk.js","sourcesContent":["webpackJsonp([2],{\n\n/***/ 107:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Table \\n\\n表格的形式展现和处理数据。\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: '腾讯大厦'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 3,\\n name: 'dntzhang2',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 4,\\n name: 'dntzhang3',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 5,\\n name: 'dntzhang4',\\n age: 12,\\n address: '滨海大厦'\\n }]\\n\\n columns = [{\\n title: '姓名',\\n key: 'name',\\n }, {\\n title: '年龄',\\n key: 'age',\\n }, {\\n title: '住址',\\n key: 'address',\\n }, {\\n title: '操作',\\n render: (item) => (\\n \\n { this.removeItem(item) }}>Delete\\n \\n )\\n }]\\n\\n removeItem = (item) => {\\n this.table.removeItem(item)\\n }\\n\\n render() {\\n return (\\n { this.table = e }} \\n dataSource={this.dataSource} \\n columns={this.columns}>\\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/2.73d36413.chunk.js","module.exports = \"## Table \\n\\n表格的形式展现和处理数据。\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: '腾讯大厦'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 3,\\n name: 'dntzhang2',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 4,\\n name: 'dntzhang3',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 5,\\n name: 'dntzhang4',\\n age: 12,\\n address: '滨海大厦'\\n }]\\n\\n columns = [{\\n title: '姓名',\\n key: 'name',\\n }, {\\n title: '年龄',\\n key: 'age',\\n }, {\\n title: '住址',\\n key: 'address',\\n }, {\\n title: '操作',\\n render: (item) => (\\n \\n { this.removeItem(item) }}>Delete\\n \\n )\\n }]\\n\\n removeItem = (item) => {\\n this.table.removeItem(item)\\n }\\n\\n render() {\\n return (\\n { this.table = e }} \\n dataSource={this.dataSource} \\n columns={this.columns}>\\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/table.md\n// module id = 107\n// module chunks = 2"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/2.54a621d5.chunk.js","docs/zh-cn/table.md"],"names":["webpackJsonp","109","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/2.54a621d5.chunk.js","sourcesContent":["webpackJsonp([2],{\n\n/***/ 109:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Table \\n\\n表格的形式展现和处理数据。\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: '腾讯大厦'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 3,\\n name: 'dntzhang2',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 4,\\n name: 'dntzhang3',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 5,\\n name: 'dntzhang4',\\n age: 12,\\n address: '滨海大厦'\\n }]\\n\\n columns = [{\\n title: '姓名',\\n key: 'name',\\n }, {\\n title: '年龄',\\n key: 'age',\\n }, {\\n title: '住址',\\n key: 'address',\\n }, {\\n title: '操作',\\n render: (item) => (\\n \\n { this.removeItem(item) }}>Delete\\n \\n )\\n }]\\n\\n removeItem = (item) => {\\n this.table.removeItem(item)\\n }\\n\\n render() {\\n return (\\n { this.table = e }} \\n dataSource={this.dataSource} \\n columns={this.columns}>\\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/2.54a621d5.chunk.js","module.exports = \"## Table \\n\\n表格的形式展现和处理数据。\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: '腾讯大厦'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 3,\\n name: 'dntzhang2',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 4,\\n name: 'dntzhang3',\\n age: 12,\\n address: '滨海大厦'\\n }, {\\n id: 5,\\n name: 'dntzhang4',\\n age: 12,\\n address: '滨海大厦'\\n }]\\n\\n columns = [{\\n title: '姓名',\\n key: 'name',\\n }, {\\n title: '年龄',\\n key: 'age',\\n }, {\\n title: '住址',\\n key: 'address',\\n }, {\\n title: '操作',\\n render: (item) => (\\n \\n { this.removeItem(item) }}>Delete\\n \\n )\\n }]\\n\\n removeItem = (item) => {\\n this.table.removeItem(item)\\n }\\n\\n render() {\\n return (\\n { this.table = e }} \\n dataSource={this.dataSource} \\n columns={this.columns}>\\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/table.md\n// module id = 109\n// module chunks = 2"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/20.4ca2c910.chunk.js.map b/packages/omiu/examples/build/static/js/20.4ca2c910.chunk.js.map
deleted file mode 100644
index b7017c64a..000000000
--- a/packages/omiu/examples/build/static/js/20.4ca2c910.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../static/js/20.4ca2c910.chunk.js","docs/zh-cn/icon.md"],"names":["webpackJsonp","89","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/20.4ca2c910.chunk.js","sourcesContent":["webpackJsonp([20],{\n\n/***/ 89:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon \\n\\nSVG 制作的 Icon.\\n\\n## 使用\\n\\n```js\\n\\n\\n```\\n\\n也可以支持多 path:\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | json array |-- | 传入 paths , path 不用传入 |\\n| path | string|-- ||\\n| scale | number | 2 | |\\n| color | bool| black ||\\n| rotate | bool| false ||\\n| isFill | bool| false |不推荐,建议用 path|\\n| type | string| -- | 不推荐,建议用 path |\\n\\n* [→ 你可以直接使用 antd 的海量 svg path 作为 icon 的 path](https://ant.design/components/icon-cn/),你可以通过开发者工具查看对应 icon 的 path\\n* [→ 也可以直接上 antd github 获取 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/20.4ca2c910.chunk.js","module.exports = \"## Icon \\n\\nSVG 制作的 Icon.\\n\\n## 使用\\n\\n```js\\n\\n\\n```\\n\\n也可以支持多 path:\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | json array |-- | 传入 paths , path 不用传入 |\\n| path | string|-- ||\\n| scale | number | 2 | |\\n| color | bool| black ||\\n| rotate | bool| false ||\\n| isFill | bool| false |不推荐,建议用 path|\\n| type | string| -- | 不推荐,建议用 path |\\n\\n* [→ 你可以直接使用 antd 的海量 svg path 作为 icon 的 path](https://ant.design/components/icon-cn/),你可以通过开发者工具查看对应 icon 的 path\\n* [→ 也可以直接上 antd github 获取 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/icon.md\n// module id = 89\n// module chunks = 20"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/20.4ca2c910.chunk.js b/packages/omiu/examples/build/static/js/20.b2a3f2da.chunk.js
similarity index 56%
rename from packages/omiu/examples/build/static/js/20.4ca2c910.chunk.js
rename to packages/omiu/examples/build/static/js/20.b2a3f2da.chunk.js
index 11a339edc..ea8895061 100644
--- a/packages/omiu/examples/build/static/js/20.4ca2c910.chunk.js
+++ b/packages/omiu/examples/build/static/js/20.b2a3f2da.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([20],{89:function(n,t){n.exports="## Icon \n\nSVG \u5236\u4f5c\u7684 Icon.\n\n## \u4f7f\u7528\n\n```js\n\n\n```\n\n\u4e5f\u53ef\u4ee5\u652f\u6301\u591a path\uff1a\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| paths | json array |-- | \u4f20\u5165 paths \uff0c path \u4e0d\u7528\u4f20\u5165 |\n| path | string|-- ||\n| scale | number | 2 | |\n| color | bool| black ||\n| rotate | bool| false ||\n| isFill | bool| false |\u4e0d\u63a8\u8350\uff0c\u5efa\u8bae\u7528 path|\n| type | string| -- | \u4e0d\u63a8\u8350\uff0c\u5efa\u8bae\u7528 path |\n\n* [\u2192 \u4f60\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 antd \u7684\u6d77\u91cf svg path \u4f5c\u4e3a icon \u7684 path](https://ant.design/components/icon-cn/),\u4f60\u53ef\u4ee5\u901a\u8fc7\u5f00\u53d1\u8005\u5de5\u5177\u67e5\u770b\u5bf9\u5e94 icon \u7684 path\n* [\u2192 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4e0a antd github \u83b7\u53d6 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n\n"}});
-//# sourceMappingURL=20.4ca2c910.chunk.js.map
\ No newline at end of file
+webpackJsonp([20],{91:function(n,t){n.exports="## Icon \n\nSVG \u5236\u4f5c\u7684 Icon.\n\n## \u4f7f\u7528\n\n```js\n\n\n```\n\n\u4e5f\u53ef\u4ee5\u652f\u6301\u591a path\uff1a\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| paths | json array |-- | \u4f20\u5165 paths \uff0c path \u4e0d\u7528\u4f20\u5165 |\n| path | string|-- ||\n| scale | number | 2 | |\n| color | string| black ||\n| rotate | bool| false ||\n| isFill | bool| false |\u4e0d\u63a8\u8350\uff0c\u5efa\u8bae\u7528 path|\n| type | string| -- | \u4e0d\u63a8\u8350\uff0c\u5efa\u8bae\u7528 path |\n\n* [\u2192 \u4f60\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 antd \u7684\u6d77\u91cf svg path \u4f5c\u4e3a icon \u7684 path](https://ant.design/components/icon-cn/),\u4f60\u53ef\u4ee5\u901a\u8fc7\u5f00\u53d1\u8005\u5de5\u5177\u67e5\u770b\u5bf9\u5e94 icon \u7684 path\n* [\u2192 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4e0a antd github \u83b7\u53d6 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n\n"}});
+//# sourceMappingURL=20.b2a3f2da.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/20.b2a3f2da.chunk.js.map b/packages/omiu/examples/build/static/js/20.b2a3f2da.chunk.js.map
new file mode 100644
index 000000000..ed252c1ca
--- /dev/null
+++ b/packages/omiu/examples/build/static/js/20.b2a3f2da.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../static/js/20.b2a3f2da.chunk.js","docs/zh-cn/icon.md"],"names":["webpackJsonp","91","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/20.b2a3f2da.chunk.js","sourcesContent":["webpackJsonp([20],{\n\n/***/ 91:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon \\n\\nSVG 制作的 Icon.\\n\\n## 使用\\n\\n```js\\n\\n\\n```\\n\\n也可以支持多 path:\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | json array |-- | 传入 paths , path 不用传入 |\\n| path | string|-- ||\\n| scale | number | 2 | |\\n| color | string| black ||\\n| rotate | bool| false ||\\n| isFill | bool| false |不推荐,建议用 path|\\n| type | string| -- | 不推荐,建议用 path |\\n\\n* [→ 你可以直接使用 antd 的海量 svg path 作为 icon 的 path](https://ant.design/components/icon-cn/),你可以通过开发者工具查看对应 icon 的 path\\n* [→ 也可以直接上 antd github 获取 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/20.b2a3f2da.chunk.js","module.exports = \"## Icon \\n\\nSVG 制作的 Icon.\\n\\n## 使用\\n\\n```js\\n\\n\\n```\\n\\n也可以支持多 path:\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | json array |-- | 传入 paths , path 不用传入 |\\n| path | string|-- ||\\n| scale | number | 2 | |\\n| color | string| black ||\\n| rotate | bool| false ||\\n| isFill | bool| false |不推荐,建议用 path|\\n| type | string| -- | 不推荐,建议用 path |\\n\\n* [→ 你可以直接使用 antd 的海量 svg path 作为 icon 的 path](https://ant.design/components/icon-cn/),你可以通过开发者工具查看对应 icon 的 path\\n* [→ 也可以直接上 antd github 获取 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/icon.md\n// module id = 91\n// module chunks = 20"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/21.fc49c35d.chunk.js b/packages/omiu/examples/build/static/js/21.8cc1af64.chunk.js
similarity index 80%
rename from packages/omiu/examples/build/static/js/21.fc49c35d.chunk.js
rename to packages/omiu/examples/build/static/js/21.8cc1af64.chunk.js
index b6cffd201..00a98d031 100644
--- a/packages/omiu/examples/build/static/js/21.fc49c35d.chunk.js
+++ b/packages/omiu/examples/build/static/js/21.8cc1af64.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([21],{88:function(n,s){n.exports="## EqualSpace \n\n\u6a2a\u5411\u5e73\u5206\u7a7a\u95f4\u5e03\u5c40\u3002\n\n## \u4f7f\u7528\n\n```js\n\n \n \n \n \n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| children | json array | -- | |"}});
-//# sourceMappingURL=21.fc49c35d.chunk.js.map
\ No newline at end of file
+webpackJsonp([21],{90:function(n,s){n.exports="## EqualSpace \n\n\u6a2a\u5411\u5e73\u5206\u7a7a\u95f4\u5e03\u5c40\u3002\n\n## \u4f7f\u7528\n\n```js\n\n \n \n \n \n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| children | json array | -- | |"}});
+//# sourceMappingURL=21.8cc1af64.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/21.fc49c35d.chunk.js.map b/packages/omiu/examples/build/static/js/21.8cc1af64.chunk.js.map
similarity index 72%
rename from packages/omiu/examples/build/static/js/21.fc49c35d.chunk.js.map
rename to packages/omiu/examples/build/static/js/21.8cc1af64.chunk.js.map
index 18e16d175..5ebc0849a 100644
--- a/packages/omiu/examples/build/static/js/21.fc49c35d.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/21.8cc1af64.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/21.fc49c35d.chunk.js","docs/zh-cn/equal-space.md"],"names":["webpackJsonp","88","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/21.fc49c35d.chunk.js","sourcesContent":["webpackJsonp([21],{\n\n/***/ 88:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## EqualSpace \\n\\n横向平分空间布局。\\n\\n## 使用\\n\\n```js\\n\\n \\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| children | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/21.fc49c35d.chunk.js","module.exports = \"## EqualSpace \\n\\n横向平分空间布局。\\n\\n## 使用\\n\\n```js\\n\\n \\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| children | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/equal-space.md\n// module id = 88\n// module chunks = 21"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/21.8cc1af64.chunk.js","docs/zh-cn/equal-space.md"],"names":["webpackJsonp","90","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/21.8cc1af64.chunk.js","sourcesContent":["webpackJsonp([21],{\n\n/***/ 90:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## EqualSpace \\n\\n横向平分空间布局。\\n\\n## 使用\\n\\n```js\\n\\n \\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| children | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/21.8cc1af64.chunk.js","module.exports = \"## EqualSpace \\n\\n横向平分空间布局。\\n\\n## 使用\\n\\n```js\\n\\n \\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| children | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/equal-space.md\n// module id = 90\n// module chunks = 21"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/22.5a218d15.chunk.js b/packages/omiu/examples/build/static/js/22.4e77d459.chunk.js
similarity index 86%
rename from packages/omiu/examples/build/static/js/22.5a218d15.chunk.js
rename to packages/omiu/examples/build/static/js/22.4e77d459.chunk.js
index d25f6b481..4882ae975 100644
--- a/packages/omiu/examples/build/static/js/22.5a218d15.chunk.js
+++ b/packages/omiu/examples/build/static/js/22.4e77d459.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([22],{87:function(n,e){n.exports="## Dropdown \n\n\u4e0b\u62c9\u6846\u3002\n\n## \u4f7f\u7528\n\n```js\n\n - Item 1
\n - Item 2
\n - Item 3
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| selectedIndex | number| | |\n| show | bool| false | |\n| children | json array| | |\n| onToggle | function| | |\n| onSelect | function| | |\n"}});
-//# sourceMappingURL=22.5a218d15.chunk.js.map
\ No newline at end of file
+webpackJsonp([22],{89:function(n,e){n.exports="## Dropdown \n\n\u4e0b\u62c9\u6846\u3002\n\n## \u4f7f\u7528\n\n```js\n\n - Item 1
\n - Item 2
\n - Item 3
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| selectedIndex | number| | |\n| show | bool| false | |\n| children | json array| | |\n| onToggle | function| | |\n| onSelect | function| | |\n"}});
+//# sourceMappingURL=22.4e77d459.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/22.5a218d15.chunk.js.map b/packages/omiu/examples/build/static/js/22.4e77d459.chunk.js.map
similarity index 79%
rename from packages/omiu/examples/build/static/js/22.5a218d15.chunk.js.map
rename to packages/omiu/examples/build/static/js/22.4e77d459.chunk.js.map
index 194d326de..7bda95bd0 100644
--- a/packages/omiu/examples/build/static/js/22.5a218d15.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/22.4e77d459.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/22.5a218d15.chunk.js","docs/zh-cn/dropdown.md"],"names":["webpackJsonp","87","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/22.5a218d15.chunk.js","sourcesContent":["webpackJsonp([22],{\n\n/***/ 87:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Dropdown \\n\\n下拉框。\\n\\n## 使用\\n\\n```js\\n\\n - Item 1
\\n - Item 2
\\n - Item 3
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| selectedIndex | number| | |\\n| show | bool| false | |\\n| children | json array| | |\\n| onToggle | function| | |\\n| onSelect | function| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/22.5a218d15.chunk.js","module.exports = \"## Dropdown \\n\\n下拉框。\\n\\n## 使用\\n\\n```js\\n\\n - Item 1
\\n - Item 2
\\n - Item 3
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| selectedIndex | number| | |\\n| show | bool| false | |\\n| children | json array| | |\\n| onToggle | function| | |\\n| onSelect | function| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/dropdown.md\n// module id = 87\n// module chunks = 22"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/22.4e77d459.chunk.js","docs/zh-cn/dropdown.md"],"names":["webpackJsonp","89","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/22.4e77d459.chunk.js","sourcesContent":["webpackJsonp([22],{\n\n/***/ 89:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Dropdown \\n\\n下拉框。\\n\\n## 使用\\n\\n```js\\n\\n - Item 1
\\n - Item 2
\\n - Item 3
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| selectedIndex | number| | |\\n| show | bool| false | |\\n| children | json array| | |\\n| onToggle | function| | |\\n| onSelect | function| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/22.4e77d459.chunk.js","module.exports = \"## Dropdown \\n\\n下拉框。\\n\\n## 使用\\n\\n```js\\n\\n - Item 1
\\n - Item 2
\\n - Item 3
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| selectedIndex | number| | |\\n| show | bool| false | |\\n| children | json array| | |\\n| onToggle | function| | |\\n| onSelect | function| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/dropdown.md\n// module id = 89\n// module chunks = 22"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/23.5e633b68.chunk.js b/packages/omiu/examples/build/static/js/23.ba2f2857.chunk.js
similarity index 87%
rename from packages/omiu/examples/build/static/js/23.5e633b68.chunk.js
rename to packages/omiu/examples/build/static/js/23.ba2f2857.chunk.js
index 451ece9ef..e04ee6bbe 100644
--- a/packages/omiu/examples/build/static/js/23.5e633b68.chunk.js
+++ b/packages/omiu/examples/build/static/js/23.ba2f2857.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([23],{86:function(n,t){n.exports="## DropdownMenu \n\n\u4e0b\u62c9\u83dc\u5355\u3002\n\n## \u4f7f\u7528\n\n```js\n\n \n \n \n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| children | json array| -- | \u6570\u7ec4\u9879\u7684\u7ed3\u6784: ` ` |\u3000\n"}});
-//# sourceMappingURL=23.5e633b68.chunk.js.map
\ No newline at end of file
+webpackJsonp([23],{88:function(n,t){n.exports="## DropdownMenu \n\n\u4e0b\u62c9\u83dc\u5355\u3002\n\n## \u4f7f\u7528\n\n```js\n\n \n \n \n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| children | json array| -- | \u6570\u7ec4\u9879\u7684\u7ed3\u6784: ` ` |\u3000\n"}});
+//# sourceMappingURL=23.ba2f2857.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/23.5e633b68.chunk.js.map b/packages/omiu/examples/build/static/js/23.ba2f2857.chunk.js.map
similarity index 81%
rename from packages/omiu/examples/build/static/js/23.5e633b68.chunk.js.map
rename to packages/omiu/examples/build/static/js/23.ba2f2857.chunk.js.map
index 9d7e13515..348477e01 100644
--- a/packages/omiu/examples/build/static/js/23.5e633b68.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/23.ba2f2857.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/23.5e633b68.chunk.js","docs/zh-cn/dropdown-menu.md"],"names":["webpackJsonp","86","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/23.5e633b68.chunk.js","sourcesContent":["webpackJsonp([23],{\n\n/***/ 86:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## DropdownMenu \\n\\n下拉菜单。\\n\\n## 使用\\n\\n```js\\n\\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array| -- | 数组项的结构: ` ` | \\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/23.5e633b68.chunk.js","module.exports = \"## DropdownMenu \\n\\n下拉菜单。\\n\\n## 使用\\n\\n```js\\n\\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array| -- | 数组项的结构: ` ` | \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/dropdown-menu.md\n// module id = 86\n// module chunks = 23"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/23.ba2f2857.chunk.js","docs/zh-cn/dropdown-menu.md"],"names":["webpackJsonp","88","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/23.ba2f2857.chunk.js","sourcesContent":["webpackJsonp([23],{\n\n/***/ 88:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## DropdownMenu \\n\\n下拉菜单。\\n\\n## 使用\\n\\n```js\\n\\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array| -- | 数组项的结构: ` ` | \\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/23.ba2f2857.chunk.js","module.exports = \"## DropdownMenu \\n\\n下拉菜单。\\n\\n## 使用\\n\\n```js\\n\\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array| -- | 数组项的结构: ` ` | \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/dropdown-menu.md\n// module id = 88\n// module chunks = 23"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/24.7183e629.chunk.js b/packages/omiu/examples/build/static/js/24.73fb5abf.chunk.js
similarity index 87%
rename from packages/omiu/examples/build/static/js/24.7183e629.chunk.js
rename to packages/omiu/examples/build/static/js/24.73fb5abf.chunk.js
index a030f76a4..2eea203bd 100644
--- a/packages/omiu/examples/build/static/js/24.7183e629.chunk.js
+++ b/packages/omiu/examples/build/static/js/24.73fb5abf.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([24],{85:function(n,o){n.exports="## Dialog \n\n\u5bf9\u8bdd\u6846\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| type | string | alert | Options: alert, confirm |\n| show | bool | -- | |\n| title | string | -- | |\n| msg | string | -- | |\n| cancelText | string | -- | |\n| confirmText | string | -- | |\n| onClose |function | -- | |\n| onConfirm | function | -- | |"}});
-//# sourceMappingURL=24.7183e629.chunk.js.map
\ No newline at end of file
+webpackJsonp([24],{87:function(n,o){n.exports="## Dialog \n\n\u5bf9\u8bdd\u6846\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| type | string | alert | Options: alert, confirm |\n| show | bool | -- | |\n| title | string | -- | |\n| msg | string | -- | |\n| cancelText | string | -- | |\n| confirmText | string | -- | |\n| onClose |function | -- | |\n| onConfirm | function | -- | |"}});
+//# sourceMappingURL=24.73fb5abf.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/24.7183e629.chunk.js.map b/packages/omiu/examples/build/static/js/24.73fb5abf.chunk.js.map
similarity index 80%
rename from packages/omiu/examples/build/static/js/24.7183e629.chunk.js.map
rename to packages/omiu/examples/build/static/js/24.73fb5abf.chunk.js.map
index b0e4be6ee..2963e13d4 100644
--- a/packages/omiu/examples/build/static/js/24.7183e629.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/24.73fb5abf.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/24.7183e629.chunk.js","docs/zh-cn/dialog.md"],"names":["webpackJsonp","85","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/24.7183e629.chunk.js","sourcesContent":["webpackJsonp([24],{\n\n/***/ 85:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Dialog \\n\\n对话框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string | alert | Options: alert, confirm |\\n| show | bool | -- | |\\n| title | string | -- | |\\n| msg | string | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/24.7183e629.chunk.js","module.exports = \"## Dialog \\n\\n对话框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string | alert | Options: alert, confirm |\\n| show | bool | -- | |\\n| title | string | -- | |\\n| msg | string | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/dialog.md\n// module id = 85\n// module chunks = 24"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/24.73fb5abf.chunk.js","docs/zh-cn/dialog.md"],"names":["webpackJsonp","87","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/24.73fb5abf.chunk.js","sourcesContent":["webpackJsonp([24],{\n\n/***/ 87:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Dialog \\n\\n对话框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string | alert | Options: alert, confirm |\\n| show | bool | -- | |\\n| title | string | -- | |\\n| msg | string | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/24.73fb5abf.chunk.js","module.exports = \"## Dialog \\n\\n对话框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string | alert | Options: alert, confirm |\\n| show | bool | -- | |\\n| title | string | -- | |\\n| msg | string | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/dialog.md\n// module id = 87\n// module chunks = 24"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/25.e95d7efe.chunk.js b/packages/omiu/examples/build/static/js/25.45f049f5.chunk.js
similarity index 82%
rename from packages/omiu/examples/build/static/js/25.e95d7efe.chunk.js
rename to packages/omiu/examples/build/static/js/25.45f049f5.chunk.js
index 3d733e7d4..36dfff934 100644
--- a/packages/omiu/examples/build/static/js/25.e95d7efe.chunk.js
+++ b/packages/omiu/examples/build/static/js/25.45f049f5.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([25],{84:function(n,e){n.exports="## DatePicker \n\n\u65e5\u671f\u9009\u62e9\u5668\u3002\n\n## \u4f7f\u7528\n\n```js\n\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool|-- ||\n| selectedDate | string| -- | |\n| onToggle | function | -- | |\n| onSelect | function| -- ||\n\n\n"}});
-//# sourceMappingURL=25.e95d7efe.chunk.js.map
\ No newline at end of file
+webpackJsonp([25],{86:function(n,e){n.exports="## DatePicker \n\n\u65e5\u671f\u9009\u62e9\u5668\u3002\n\n## \u4f7f\u7528\n\n```js\n\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool|-- ||\n| selectedDate | string| -- | |\n| onToggle | function | -- | |\n| onSelect | function| -- ||\n\n\n"}});
+//# sourceMappingURL=25.45f049f5.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/25.e95d7efe.chunk.js.map b/packages/omiu/examples/build/static/js/25.45f049f5.chunk.js.map
similarity index 77%
rename from packages/omiu/examples/build/static/js/25.e95d7efe.chunk.js.map
rename to packages/omiu/examples/build/static/js/25.45f049f5.chunk.js.map
index 1436e67ee..c199e5f40 100644
--- a/packages/omiu/examples/build/static/js/25.e95d7efe.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/25.45f049f5.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/25.e95d7efe.chunk.js","docs/zh-cn/date-picker.md"],"names":["webpackJsonp","84","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/25.e95d7efe.chunk.js","sourcesContent":["webpackJsonp([25],{\n\n/***/ 84:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## DatePicker \\n\\n日期选择器。\\n\\n## 使用\\n\\n```js\\n\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool|-- ||\\n| selectedDate | string| -- | |\\n| onToggle | function | -- | |\\n| onSelect | function| -- ||\\n\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/25.e95d7efe.chunk.js","module.exports = \"## DatePicker \\n\\n日期选择器。\\n\\n## 使用\\n\\n```js\\n\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool|-- ||\\n| selectedDate | string| -- | |\\n| onToggle | function | -- | |\\n| onSelect | function| -- ||\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/date-picker.md\n// module id = 84\n// module chunks = 25"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/25.45f049f5.chunk.js","docs/zh-cn/date-picker.md"],"names":["webpackJsonp","86","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/25.45f049f5.chunk.js","sourcesContent":["webpackJsonp([25],{\n\n/***/ 86:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## DatePicker \\n\\n日期选择器。\\n\\n## 使用\\n\\n```js\\n\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool|-- ||\\n| selectedDate | string| -- | |\\n| onToggle | function | -- | |\\n| onSelect | function| -- ||\\n\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/25.45f049f5.chunk.js","module.exports = \"## DatePicker \\n\\n日期选择器。\\n\\n## 使用\\n\\n```js\\n\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool|-- ||\\n| selectedDate | string| -- | |\\n| onToggle | function | -- | |\\n| onSelect | function| -- ||\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/date-picker.md\n// module id = 86\n// module chunks = 25"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/26.fddf4432.chunk.js b/packages/omiu/examples/build/static/js/26.8183f42e.chunk.js
similarity index 75%
rename from packages/omiu/examples/build/static/js/26.fddf4432.chunk.js
rename to packages/omiu/examples/build/static/js/26.8183f42e.chunk.js
index 6bd5befd3..194eba5d2 100644
--- a/packages/omiu/examples/build/static/js/26.fddf4432.chunk.js
+++ b/packages/omiu/examples/build/static/js/26.8183f42e.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([26],{83:function(n,e){n.exports='## Checkbox \n\n\u590d\u9009\u6846\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| label | string| | |\n'}});
-//# sourceMappingURL=26.fddf4432.chunk.js.map
\ No newline at end of file
+webpackJsonp([26],{85:function(n,e){n.exports='## Checkbox \n\n\u590d\u9009\u6846\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| label | string| | |\n'}});
+//# sourceMappingURL=26.8183f42e.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/26.fddf4432.chunk.js.map b/packages/omiu/examples/build/static/js/26.8183f42e.chunk.js.map
similarity index 68%
rename from packages/omiu/examples/build/static/js/26.fddf4432.chunk.js.map
rename to packages/omiu/examples/build/static/js/26.8183f42e.chunk.js.map
index 22fdc5943..1c2d50e46 100644
--- a/packages/omiu/examples/build/static/js/26.fddf4432.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/26.8183f42e.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/26.fddf4432.chunk.js","docs/zh-cn/checkbox.md"],"names":["webpackJsonp","83","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/26.fddf4432.chunk.js","sourcesContent":["webpackJsonp([26],{\n\n/***/ 83:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Checkbox \\n\\n复选框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/26.fddf4432.chunk.js","module.exports = \"## Checkbox \\n\\n复选框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/checkbox.md\n// module id = 83\n// module chunks = 26"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/26.8183f42e.chunk.js","docs/zh-cn/checkbox.md"],"names":["webpackJsonp","85","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/26.8183f42e.chunk.js","sourcesContent":["webpackJsonp([26],{\n\n/***/ 85:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Checkbox \\n\\n复选框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/26.8183f42e.chunk.js","module.exports = \"## Checkbox \\n\\n复选框。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/checkbox.md\n// module id = 85\n// module chunks = 26"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/27.14bfb164.chunk.js b/packages/omiu/examples/build/static/js/27.3b6b2464.chunk.js
similarity index 84%
rename from packages/omiu/examples/build/static/js/27.14bfb164.chunk.js
rename to packages/omiu/examples/build/static/js/27.3b6b2464.chunk.js
index 53f2bb894..fcfe66c10 100644
--- a/packages/omiu/examples/build/static/js/27.14bfb164.chunk.js
+++ b/packages/omiu/examples/build/static/js/27.3b6b2464.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([27],{82:function(n,o){n.exports="## Button \u6309\u94ae \n\n\u70b9\u51fb\u6216\u89e6\u6478\u89e6\u53d1\u4e00\u4e2a\u64cd\u4f5c\u7684\u5143\u7d20\u3002\u54cd\u5e94\u7528\u6237\u70b9\u51fb\u64cd\u4f5c\uff0c\u89e6\u53d1\u5c01\u88c5\u7684\u903b\u8f91\u3002\n\n## \u4f7f\u7528\n\n```js\n\u6211\u662f\u6309\u94ae\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| type | string| primary |Options: primary, default, warn, vcode|\n| size | string | normal |Options: normal, small|\n| disabled | bool| false ||"}});
-//# sourceMappingURL=27.14bfb164.chunk.js.map
\ No newline at end of file
+webpackJsonp([27],{84:function(n,o){n.exports="## Button \u6309\u94ae \n\n\u70b9\u51fb\u6216\u89e6\u6478\u89e6\u53d1\u4e00\u4e2a\u64cd\u4f5c\u7684\u5143\u7d20\u3002\u54cd\u5e94\u7528\u6237\u70b9\u51fb\u64cd\u4f5c\uff0c\u89e6\u53d1\u5c01\u88c5\u7684\u903b\u8f91\u3002\n\n## \u4f7f\u7528\n\n```js\n\u6211\u662f\u6309\u94ae\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| type | string| primary |Options: primary, default, warn, vcode|\n| size | string | normal |Options: normal, small|\n| disabled | bool| false ||"}});
+//# sourceMappingURL=27.3b6b2464.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/27.14bfb164.chunk.js.map b/packages/omiu/examples/build/static/js/27.3b6b2464.chunk.js.map
similarity index 76%
rename from packages/omiu/examples/build/static/js/27.14bfb164.chunk.js.map
rename to packages/omiu/examples/build/static/js/27.3b6b2464.chunk.js.map
index 35162a502..248e2cb70 100644
--- a/packages/omiu/examples/build/static/js/27.14bfb164.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/27.3b6b2464.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/27.14bfb164.chunk.js","docs/zh-cn/button.md"],"names":["webpackJsonp","82","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/27.14bfb164.chunk.js","sourcesContent":["webpackJsonp([27],{\n\n/***/ 82:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Button 按钮 \\n\\n点击或触摸触发一个操作的元素。响应用户点击操作,触发封装的逻辑。\\n\\n## 使用\\n\\n```js\\n我是按钮\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| primary |Options: primary, default, warn, vcode|\\n| size | string | normal |Options: normal, small|\\n| disabled | bool| false ||\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/27.14bfb164.chunk.js","module.exports = \"## Button 按钮 \\n\\n点击或触摸触发一个操作的元素。响应用户点击操作,触发封装的逻辑。\\n\\n## 使用\\n\\n```js\\n我是按钮\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| primary |Options: primary, default, warn, vcode|\\n| size | string | normal |Options: normal, small|\\n| disabled | bool| false ||\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/button.md\n// module id = 82\n// module chunks = 27"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/27.3b6b2464.chunk.js","docs/zh-cn/button.md"],"names":["webpackJsonp","84","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/27.3b6b2464.chunk.js","sourcesContent":["webpackJsonp([27],{\n\n/***/ 84:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Button 按钮 \\n\\n点击或触摸触发一个操作的元素。响应用户点击操作,触发封装的逻辑。\\n\\n## 使用\\n\\n```js\\n我是按钮\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| primary |Options: primary, default, warn, vcode|\\n| size | string | normal |Options: normal, small|\\n| disabled | bool| false ||\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/27.3b6b2464.chunk.js","module.exports = \"## Button 按钮 \\n\\n点击或触摸触发一个操作的元素。响应用户点击操作,触发封装的逻辑。\\n\\n## 使用\\n\\n```js\\n我是按钮\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| primary |Options: primary, default, warn, vcode|\\n| size | string | normal |Options: normal, small|\\n| disabled | bool| false ||\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/button.md\n// module id = 84\n// module chunks = 27"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/28.e7561def.chunk.js b/packages/omiu/examples/build/static/js/28.d520d75d.chunk.js
similarity index 82%
rename from packages/omiu/examples/build/static/js/28.e7561def.chunk.js
rename to packages/omiu/examples/build/static/js/28.d520d75d.chunk.js
index 49dc9ccd9..c0bef7b4f 100644
--- a/packages/omiu/examples/build/static/js/28.e7561def.chunk.js
+++ b/packages/omiu/examples/build/static/js/28.d520d75d.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([28],{81:function(n,e){n.exports='## Badge \n\n\u56fe\u6807\u53f3\u4e0a\u89d2\u7684\u5706\u5f62\u5fbd\u6807\u6570\u5b57\u3002\n\n## \u4f7f\u7528\n\n```js\n\n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| content | string | -- | |\u3000\n| children | json array | -- | \u6570\u7ec4\u7684\u957f\u5ea6\u4e3a 1 |\u3000\n\n'}});
-//# sourceMappingURL=28.e7561def.chunk.js.map
\ No newline at end of file
+webpackJsonp([28],{83:function(n,e){n.exports='## Badge \n\n\u56fe\u6807\u53f3\u4e0a\u89d2\u7684\u5706\u5f62\u5fbd\u6807\u6570\u5b57\u3002\n\n## \u4f7f\u7528\n\n```js\n\n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| content | string | -- | |\u3000\n| children | json array | -- | \u6570\u7ec4\u7684\u957f\u5ea6\u4e3a 1 |\u3000\n\n'}});
+//# sourceMappingURL=28.d520d75d.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/28.e7561def.chunk.js.map b/packages/omiu/examples/build/static/js/28.d520d75d.chunk.js.map
similarity index 73%
rename from packages/omiu/examples/build/static/js/28.e7561def.chunk.js.map
rename to packages/omiu/examples/build/static/js/28.d520d75d.chunk.js.map
index be93ecb6f..248f7b2bd 100644
--- a/packages/omiu/examples/build/static/js/28.e7561def.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/28.d520d75d.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/28.e7561def.chunk.js","docs/zh-cn/badge.md"],"names":["webpackJsonp","81","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/28.e7561def.chunk.js","sourcesContent":["webpackJsonp([28],{\n\n/***/ 81:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Badge \\n\\n图标右上角的圆形徽标数字。\\n\\n## 使用\\n\\n```js\\n\\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| content | string | -- | | \\n| children | json array | -- | 数组的长度为 1 | \\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/28.e7561def.chunk.js","module.exports = \"## Badge \\n\\n图标右上角的圆形徽标数字。\\n\\n## 使用\\n\\n```js\\n\\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| content | string | -- | | \\n| children | json array | -- | 数组的长度为 1 | \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/badge.md\n// module id = 81\n// module chunks = 28"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/28.d520d75d.chunk.js","docs/zh-cn/badge.md"],"names":["webpackJsonp","83","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/28.d520d75d.chunk.js","sourcesContent":["webpackJsonp([28],{\n\n/***/ 83:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Badge \\n\\n图标右上角的圆形徽标数字。\\n\\n## 使用\\n\\n```js\\n\\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| content | string | -- | | \\n| children | json array | -- | 数组的长度为 1 | \\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/28.d520d75d.chunk.js","module.exports = \"## Badge \\n\\n图标右上角的圆形徽标数字。\\n\\n## 使用\\n\\n```js\\n\\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| content | string | -- | | \\n| children | json array | -- | 数组的长度为 1 | \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/badge.md\n// module id = 83\n// module chunks = 28"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/29.280e0c80.chunk.js b/packages/omiu/examples/build/static/js/29.ac398ebf.chunk.js
similarity index 87%
rename from packages/omiu/examples/build/static/js/29.280e0c80.chunk.js
rename to packages/omiu/examples/build/static/js/29.ac398ebf.chunk.js
index 897e737a0..bf9c99711 100644
--- a/packages/omiu/examples/build/static/js/29.280e0c80.chunk.js
+++ b/packages/omiu/examples/build/static/js/29.ac398ebf.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([29],{80:function(n,o){n.exports="## ActionSheet \n\n\u5f39\u51fa\u5f0f\u9009\u62e9\u7ec4\u4ef6\u3002\n\n## \u4f7f\u7528\n\n```js\n { }\n }, {\n label: 'Option 2',\n onClick: () => { }\n }]}\n actions={[\n {\n label: 'Cancel',\n onClick: this.hide\n }\n ]}\n show={true}\n type=\"ios\"\n onClose={e => { }}\n/>\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| menus | json array|-- ||\n| actions | json array| -- ||\n| scale | number | 2 | |\n| show | bool| false ||\n| type | string| ios | options: ios, android|\n| onClose | function| -- ||\n"}});
-//# sourceMappingURL=29.280e0c80.chunk.js.map
\ No newline at end of file
+webpackJsonp([29],{82:function(n,o){n.exports="## ActionSheet \n\n\u5f39\u51fa\u5f0f\u9009\u62e9\u7ec4\u4ef6\u3002\n\n## \u4f7f\u7528\n\n```js\n { }\n }, {\n label: 'Option 2',\n onClick: () => { }\n }]}\n actions={[\n {\n label: 'Cancel',\n onClick: this.hide\n }\n ]}\n show={true}\n type=\"ios\"\n onClose={e => { }}\n/>\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| menus | json array|-- ||\n| actions | json array| -- ||\n| scale | number | 2 | |\n| show | bool| false ||\n| type | string| ios | options: ios, android|\n| onClose | function| -- ||\n"}});
+//# sourceMappingURL=29.ac398ebf.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/29.280e0c80.chunk.js.map b/packages/omiu/examples/build/static/js/29.ac398ebf.chunk.js.map
similarity index 81%
rename from packages/omiu/examples/build/static/js/29.280e0c80.chunk.js.map
rename to packages/omiu/examples/build/static/js/29.ac398ebf.chunk.js.map
index c734366d8..5c4ae8ccd 100644
--- a/packages/omiu/examples/build/static/js/29.280e0c80.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/29.ac398ebf.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/29.280e0c80.chunk.js","docs/zh-cn/action-sheet.md"],"names":["webpackJsonp","80","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/29.280e0c80.chunk.js","sourcesContent":["webpackJsonp([29],{\n\n/***/ 80:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## ActionSheet \\n\\n弹出式选择组件。\\n\\n## 使用\\n\\n```js\\n { }\\n }, {\\n label: 'Option 2',\\n onClick: () => { }\\n }]}\\n actions={[\\n {\\n label: 'Cancel',\\n onClick: this.hide\\n }\\n ]}\\n show={true}\\n type=\\\"ios\\\"\\n onClose={e => { }}\\n/>\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| menus | json array|-- ||\\n| actions | json array| -- ||\\n| scale | number | 2 | |\\n| show | bool| false ||\\n| type | string| ios | options: ios, android|\\n| onClose | function| -- ||\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/29.280e0c80.chunk.js","module.exports = \"## ActionSheet \\n\\n弹出式选择组件。\\n\\n## 使用\\n\\n```js\\n { }\\n }, {\\n label: 'Option 2',\\n onClick: () => { }\\n }]}\\n actions={[\\n {\\n label: 'Cancel',\\n onClick: this.hide\\n }\\n ]}\\n show={true}\\n type=\\\"ios\\\"\\n onClose={e => { }}\\n/>\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| menus | json array|-- ||\\n| actions | json array| -- ||\\n| scale | number | 2 | |\\n| show | bool| false ||\\n| type | string| ios | options: ios, android|\\n| onClose | function| -- ||\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/action-sheet.md\n// module id = 80\n// module chunks = 29"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/29.ac398ebf.chunk.js","docs/zh-cn/action-sheet.md"],"names":["webpackJsonp","82","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/29.ac398ebf.chunk.js","sourcesContent":["webpackJsonp([29],{\n\n/***/ 82:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## ActionSheet \\n\\n弹出式选择组件。\\n\\n## 使用\\n\\n```js\\n { }\\n }, {\\n label: 'Option 2',\\n onClick: () => { }\\n }]}\\n actions={[\\n {\\n label: 'Cancel',\\n onClick: this.hide\\n }\\n ]}\\n show={true}\\n type=\\\"ios\\\"\\n onClose={e => { }}\\n/>\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| menus | json array|-- ||\\n| actions | json array| -- ||\\n| scale | number | 2 | |\\n| show | bool| false ||\\n| type | string| ios | options: ios, android|\\n| onClose | function| -- ||\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/29.ac398ebf.chunk.js","module.exports = \"## ActionSheet \\n\\n弹出式选择组件。\\n\\n## 使用\\n\\n```js\\n { }\\n }, {\\n label: 'Option 2',\\n onClick: () => { }\\n }]}\\n actions={[\\n {\\n label: 'Cancel',\\n onClick: this.hide\\n }\\n ]}\\n show={true}\\n type=\\\"ios\\\"\\n onClose={e => { }}\\n/>\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| menus | json array|-- ||\\n| actions | json array| -- ||\\n| scale | number | 2 | |\\n| show | bool| false ||\\n| type | string| ios | options: ios, android|\\n| onClose | function| -- ||\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/action-sheet.md\n// module id = 82\n// module chunks = 29"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/3.6c59990f.chunk.js b/packages/omiu/examples/build/static/js/3.dc2ae4a9.chunk.js
similarity index 81%
rename from packages/omiu/examples/build/static/js/3.6c59990f.chunk.js
rename to packages/omiu/examples/build/static/js/3.dc2ae4a9.chunk.js
index 49a4ebb85..3ea17302f 100644
--- a/packages/omiu/examples/build/static/js/3.6c59990f.chunk.js
+++ b/packages/omiu/examples/build/static/js/3.dc2ae4a9.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([3],{106:function(n,e){n.exports="## Tab \n\n\u9009\u9879\u5361\u3002\n\n## \u4f7f\u7528\n\n```js\n\n - \u670b\u53cb\u76f8\u518c
\n - \u65f6\u523b\u89c6\u9891
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| onChange | function | -- | |\u3000\n| children | json array | -- | |\u3000"}});
-//# sourceMappingURL=3.6c59990f.chunk.js.map
\ No newline at end of file
+webpackJsonp([3],{108:function(n,e){n.exports="## Tab \n\n\u9009\u9879\u5361\u3002\n\n## \u4f7f\u7528\n\n```js\n\n - \u670b\u53cb\u76f8\u518c
\n - \u65f6\u523b\u89c6\u9891
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| onChange | function | -- | |\u3000\n| children | json array | -- | |\u3000"}});
+//# sourceMappingURL=3.dc2ae4a9.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/3.6c59990f.chunk.js.map b/packages/omiu/examples/build/static/js/3.dc2ae4a9.chunk.js.map
similarity index 72%
rename from packages/omiu/examples/build/static/js/3.6c59990f.chunk.js.map
rename to packages/omiu/examples/build/static/js/3.dc2ae4a9.chunk.js.map
index beebe78bc..74a458f47 100644
--- a/packages/omiu/examples/build/static/js/3.6c59990f.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/3.dc2ae4a9.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/3.6c59990f.chunk.js","docs/zh-cn/tab.md"],"names":["webpackJsonp","106","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/3.6c59990f.chunk.js","sourcesContent":["webpackJsonp([3],{\n\n/***/ 106:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Tab \\n\\n选项卡。\\n\\n## 使用\\n\\n```js\\n\\n - 朋友相册
\\n - 时刻视频
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/3.6c59990f.chunk.js","module.exports = \"## Tab \\n\\n选项卡。\\n\\n## 使用\\n\\n```js\\n\\n - 朋友相册
\\n - 时刻视频
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/tab.md\n// module id = 106\n// module chunks = 3"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/3.dc2ae4a9.chunk.js","docs/zh-cn/tab.md"],"names":["webpackJsonp","108","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/3.dc2ae4a9.chunk.js","sourcesContent":["webpackJsonp([3],{\n\n/***/ 108:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Tab \\n\\n选项卡。\\n\\n## 使用\\n\\n```js\\n\\n - 朋友相册
\\n - 时刻视频
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/3.dc2ae4a9.chunk.js","module.exports = \"## Tab \\n\\n选项卡。\\n\\n## 使用\\n\\n```js\\n\\n - 朋友相册
\\n - 时刻视频
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/tab.md\n// module id = 108\n// module chunks = 3"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/30.7a89898f.chunk.js b/packages/omiu/examples/build/static/js/30.861c1dad.chunk.js
similarity index 85%
rename from packages/omiu/examples/build/static/js/30.7a89898f.chunk.js
rename to packages/omiu/examples/build/static/js/30.861c1dad.chunk.js
index 30ab345f4..a078c06e3 100644
--- a/packages/omiu/examples/build/static/js/30.7a89898f.chunk.js
+++ b/packages/omiu/examples/build/static/js/30.861c1dad.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([30],{79:function(n,o){n.exports="## Toast \n\nSimple reminder notification.\n\n## Usage\n\n```js\n\u652f\u4ed8\u6210\u529f\n\u52a0\u8f7d\u4e2d\n```\n\nYou can also use methods of toast:\n\n```js\nimport toast from 'omiu/toast'\n\n//show\ntoast.showLoading()\n//hide\ntoast.hideLoading()\n//Support for custom text\ntoast.showLoading('In request...')\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | false | |\n| type | string | -- |Options: loading, success|\n\n\n"}});
-//# sourceMappingURL=30.7a89898f.chunk.js.map
\ No newline at end of file
+webpackJsonp([30],{81:function(n,o){n.exports="## Toast \n\nSimple reminder notification.\n\n## Usage\n\n```js\n\u652f\u4ed8\u6210\u529f\n\u52a0\u8f7d\u4e2d\n```\n\nYou can also use methods of toast:\n\n```js\nimport toast from 'omiu/toast'\n\n//show\ntoast.showLoading()\n//hide\ntoast.hideLoading()\n//Support for custom text\ntoast.showLoading('In request...')\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | false | |\n| type | string | -- |Options: loading, success|\n\n\n"}});
+//# sourceMappingURL=30.861c1dad.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/30.7a89898f.chunk.js.map b/packages/omiu/examples/build/static/js/30.861c1dad.chunk.js.map
similarity index 80%
rename from packages/omiu/examples/build/static/js/30.7a89898f.chunk.js.map
rename to packages/omiu/examples/build/static/js/30.861c1dad.chunk.js.map
index eaccbbf58..37abe2673 100644
--- a/packages/omiu/examples/build/static/js/30.7a89898f.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/30.861c1dad.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/30.7a89898f.chunk.js","docs/en/toast.md"],"names":["webpackJsonp","79","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/30.7a89898f.chunk.js","sourcesContent":["webpackJsonp([30],{\n\n/***/ 79:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Toast \\n\\nSimple reminder notification.\\n\\n## Usage\\n\\n```js\\n支付成功\\n加载中\\n```\\n\\nYou can also use methods of toast:\\n\\n```js\\nimport toast from 'omiu/toast'\\n\\n//show\\ntoast.showLoading()\\n//hide\\ntoast.hideLoading()\\n//Support for custom text\\ntoast.showLoading('In request...')\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | false | |\\n| type | string | -- |Options: loading, success|\\n\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/30.7a89898f.chunk.js","module.exports = \"## Toast \\n\\nSimple reminder notification.\\n\\n## Usage\\n\\n```js\\n支付成功\\n加载中\\n```\\n\\nYou can also use methods of toast:\\n\\n```js\\nimport toast from 'omiu/toast'\\n\\n//show\\ntoast.showLoading()\\n//hide\\ntoast.hideLoading()\\n//Support for custom text\\ntoast.showLoading('In request...')\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | false | |\\n| type | string | -- |Options: loading, success|\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/toast.md\n// module id = 79\n// module chunks = 30"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/30.861c1dad.chunk.js","docs/en/toast.md"],"names":["webpackJsonp","81","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/30.861c1dad.chunk.js","sourcesContent":["webpackJsonp([30],{\n\n/***/ 81:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Toast \\n\\nSimple reminder notification.\\n\\n## Usage\\n\\n```js\\n支付成功\\n加载中\\n```\\n\\nYou can also use methods of toast:\\n\\n```js\\nimport toast from 'omiu/toast'\\n\\n//show\\ntoast.showLoading()\\n//hide\\ntoast.hideLoading()\\n//Support for custom text\\ntoast.showLoading('In request...')\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | false | |\\n| type | string | -- |Options: loading, success|\\n\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/30.861c1dad.chunk.js","module.exports = \"## Toast \\n\\nSimple reminder notification.\\n\\n## Usage\\n\\n```js\\n支付成功\\n加载中\\n```\\n\\nYou can also use methods of toast:\\n\\n```js\\nimport toast from 'omiu/toast'\\n\\n//show\\ntoast.showLoading()\\n//hide\\ntoast.hideLoading()\\n//Support for custom text\\ntoast.showLoading('In request...')\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | false | |\\n| type | string | -- |Options: loading, success|\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/toast.md\n// module id = 81\n// module chunks = 30"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/31.313ed05c.chunk.js b/packages/omiu/examples/build/static/js/31.8d260904.chunk.js
similarity index 87%
rename from packages/omiu/examples/build/static/js/31.313ed05c.chunk.js
rename to packages/omiu/examples/build/static/js/31.8d260904.chunk.js
index bc8d64161..2638a4e67 100644
--- a/packages/omiu/examples/build/static/js/31.313ed05c.chunk.js
+++ b/packages/omiu/examples/build/static/js/31.8d260904.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([31],{78:function(s,e){s.exports="## Timeline \n\nTime or step schedule.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| data | json array| -- | Structure of item:
{
\u3000msgA: '2018.11.11',
\u3000msgB: '15:22:09',
\u3000msgC: 'create project',
\u3000msgD: '[sub msg]'
} |"}});
-//# sourceMappingURL=31.313ed05c.chunk.js.map
\ No newline at end of file
+webpackJsonp([31],{80:function(s,e){s.exports="## Timeline \n\nTime or step schedule.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| data | json array| -- | Structure of item:
{
\u3000msgA: '2018.11.11',
\u3000msgB: '15:22:09',
\u3000msgC: 'create project',
\u3000msgD: '[sub msg]'
} |"}});
+//# sourceMappingURL=31.8d260904.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/31.313ed05c.chunk.js.map b/packages/omiu/examples/build/static/js/31.8d260904.chunk.js.map
similarity index 82%
rename from packages/omiu/examples/build/static/js/31.313ed05c.chunk.js.map
rename to packages/omiu/examples/build/static/js/31.8d260904.chunk.js.map
index 431f5bbb2..3f0050984 100644
--- a/packages/omiu/examples/build/static/js/31.313ed05c.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/31.8d260904.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/31.313ed05c.chunk.js","docs/en/timeline.md"],"names":["webpackJsonp","78","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/31.313ed05c.chunk.js","sourcesContent":["webpackJsonp([31],{\n\n/***/ 78:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Timeline \\n\\nTime or step schedule.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| data | json array| -- | Structure of item:
{
msgA: '2018.11.11',
msgB: '15:22:09',
msgC: 'create project',
msgD: '[sub msg]'
} |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/31.313ed05c.chunk.js","module.exports = \"## Timeline \\n\\nTime or step schedule.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| data | json array| -- | Structure of item:
{
msgA: '2018.11.11',
msgB: '15:22:09',
msgC: 'create project',
msgD: '[sub msg]'
} |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/timeline.md\n// module id = 78\n// module chunks = 31"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/31.8d260904.chunk.js","docs/en/timeline.md"],"names":["webpackJsonp","80","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/31.8d260904.chunk.js","sourcesContent":["webpackJsonp([31],{\n\n/***/ 80:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Timeline \\n\\nTime or step schedule.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| data | json array| -- | Structure of item:
{
msgA: '2018.11.11',
msgB: '15:22:09',
msgC: 'create project',
msgD: '[sub msg]'
} |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/31.8d260904.chunk.js","module.exports = \"## Timeline \\n\\nTime or step schedule.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| data | json array| -- | Structure of item:
{
msgA: '2018.11.11',
msgB: '15:22:09',
msgC: 'create project',
msgD: '[sub msg]'
} |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/timeline.md\n// module id = 80\n// module chunks = 31"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/32.18969cb2.chunk.js b/packages/omiu/examples/build/static/js/32.912682a0.chunk.js
similarity index 92%
rename from packages/omiu/examples/build/static/js/32.18969cb2.chunk.js
rename to packages/omiu/examples/build/static/js/32.912682a0.chunk.js
index bace18c44..bf32c9285 100644
--- a/packages/omiu/examples/build/static/js/32.18969cb2.chunk.js
+++ b/packages/omiu/examples/build/static/js/32.912682a0.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([32],{77:function(n,e){n.exports="## Table \n\nData is presented and processed in the form of tables.\n\n## Usage\n\n```js\ndefine('my-app', class extends WeElement {\n dataSource = [{\n id: 1,\n name: 'xwang',\n age: 18,\n address: 'Tencent'\n }, {\n id: 2,\n name: 'dntzhang',\n age: 12,\n address: 'Tencent'\n }, {\n id: 3,\n name: 'lucy',\n age: 12,\n address: 'Tencent'\n }, {\n id: 4,\n name: 'john',\n age: 12,\n address: 'Tencent'\n }, {\n id: 5,\n name: 'tim',\n age: 12,\n address: 'Tencent'\n }]\n\n columns = [{\n title: 'Name',\n key: 'name',\n }, {\n title: 'Age',\n key: 'age',\n }, {\n title: 'Address',\n key: 'address',\n }, {\n title: '\u64cd\u4f5c',\n render: (item) => (\n \n { this.removeItem(item) }}>Delete\n \n )\n }]\n\n removeItem = (item) => {\n this.table.removeItem(item)\n }\n\n render() {\n return (\n { this.table = e }} \n dataSource={this.dataSource} \n columns={this.columns}>\n \n )\n }\n})\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| dataSource | json array | -- | |\n| columns | json array | -- | |"}});
-//# sourceMappingURL=32.18969cb2.chunk.js.map
\ No newline at end of file
+webpackJsonp([32],{79:function(n,e){n.exports="## Table \n\nData is presented and processed in the form of tables.\n\n## Usage\n\n```js\ndefine('my-app', class extends WeElement {\n dataSource = [{\n id: 1,\n name: 'xwang',\n age: 18,\n address: 'Tencent'\n }, {\n id: 2,\n name: 'dntzhang',\n age: 12,\n address: 'Tencent'\n }, {\n id: 3,\n name: 'lucy',\n age: 12,\n address: 'Tencent'\n }, {\n id: 4,\n name: 'john',\n age: 12,\n address: 'Tencent'\n }, {\n id: 5,\n name: 'tim',\n age: 12,\n address: 'Tencent'\n }]\n\n columns = [{\n title: 'Name',\n key: 'name',\n }, {\n title: 'Age',\n key: 'age',\n }, {\n title: 'Address',\n key: 'address',\n }, {\n title: '\u64cd\u4f5c',\n render: (item) => (\n \n { this.removeItem(item) }}>Delete\n \n )\n }]\n\n removeItem = (item) => {\n this.table.removeItem(item)\n }\n\n render() {\n return (\n { this.table = e }} \n dataSource={this.dataSource} \n columns={this.columns}>\n \n )\n }\n})\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| dataSource | json array | -- | |\n| columns | json array | -- | |"}});
+//# sourceMappingURL=32.912682a0.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/32.18969cb2.chunk.js.map b/packages/omiu/examples/build/static/js/32.912682a0.chunk.js.map
similarity index 89%
rename from packages/omiu/examples/build/static/js/32.18969cb2.chunk.js.map
rename to packages/omiu/examples/build/static/js/32.912682a0.chunk.js.map
index e4c864e41..d6e77e5c4 100644
--- a/packages/omiu/examples/build/static/js/32.18969cb2.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/32.912682a0.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/32.18969cb2.chunk.js","docs/en/table.md"],"names":["webpackJsonp","77","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/32.18969cb2.chunk.js","sourcesContent":["webpackJsonp([32],{\n\n/***/ 77:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Table \\n\\nData is presented and processed in the form of tables.\\n\\n## Usage\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: 'Tencent'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 3,\\n name: 'lucy',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 4,\\n name: 'john',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 5,\\n name: 'tim',\\n age: 12,\\n address: 'Tencent'\\n }]\\n\\n columns = [{\\n title: 'Name',\\n key: 'name',\\n }, {\\n title: 'Age',\\n key: 'age',\\n }, {\\n title: 'Address',\\n key: 'address',\\n }, {\\n title: '操作',\\n render: (item) => (\\n \\n { this.removeItem(item) }}>Delete\\n \\n )\\n }]\\n\\n removeItem = (item) => {\\n this.table.removeItem(item)\\n }\\n\\n render() {\\n return (\\n { this.table = e }} \\n dataSource={this.dataSource} \\n columns={this.columns}>\\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/32.18969cb2.chunk.js","module.exports = \"## Table \\n\\nData is presented and processed in the form of tables.\\n\\n## Usage\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: 'Tencent'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 3,\\n name: 'lucy',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 4,\\n name: 'john',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 5,\\n name: 'tim',\\n age: 12,\\n address: 'Tencent'\\n }]\\n\\n columns = [{\\n title: 'Name',\\n key: 'name',\\n }, {\\n title: 'Age',\\n key: 'age',\\n }, {\\n title: 'Address',\\n key: 'address',\\n }, {\\n title: '操作',\\n render: (item) => (\\n \\n { this.removeItem(item) }}>Delete\\n \\n )\\n }]\\n\\n removeItem = (item) => {\\n this.table.removeItem(item)\\n }\\n\\n render() {\\n return (\\n { this.table = e }} \\n dataSource={this.dataSource} \\n columns={this.columns}>\\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/table.md\n// module id = 77\n// module chunks = 32"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/32.912682a0.chunk.js","docs/en/table.md"],"names":["webpackJsonp","79","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/32.912682a0.chunk.js","sourcesContent":["webpackJsonp([32],{\n\n/***/ 79:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Table \\n\\nData is presented and processed in the form of tables.\\n\\n## Usage\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: 'Tencent'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 3,\\n name: 'lucy',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 4,\\n name: 'john',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 5,\\n name: 'tim',\\n age: 12,\\n address: 'Tencent'\\n }]\\n\\n columns = [{\\n title: 'Name',\\n key: 'name',\\n }, {\\n title: 'Age',\\n key: 'age',\\n }, {\\n title: 'Address',\\n key: 'address',\\n }, {\\n title: '操作',\\n render: (item) => (\\n \\n { this.removeItem(item) }}>Delete\\n \\n )\\n }]\\n\\n removeItem = (item) => {\\n this.table.removeItem(item)\\n }\\n\\n render() {\\n return (\\n { this.table = e }} \\n dataSource={this.dataSource} \\n columns={this.columns}>\\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/32.912682a0.chunk.js","module.exports = \"## Table \\n\\nData is presented and processed in the form of tables.\\n\\n## Usage\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: 'Tencent'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 3,\\n name: 'lucy',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 4,\\n name: 'john',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 5,\\n name: 'tim',\\n age: 12,\\n address: 'Tencent'\\n }]\\n\\n columns = [{\\n title: 'Name',\\n key: 'name',\\n }, {\\n title: 'Age',\\n key: 'age',\\n }, {\\n title: 'Address',\\n key: 'address',\\n }, {\\n title: '操作',\\n render: (item) => (\\n \\n { this.removeItem(item) }}>Delete\\n \\n )\\n }]\\n\\n removeItem = (item) => {\\n this.table.removeItem(item)\\n }\\n\\n render() {\\n return (\\n { this.table = e }} \\n dataSource={this.dataSource} \\n columns={this.columns}>\\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/table.md\n// module id = 79\n// module chunks = 32"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/33.c17c0c22.chunk.js b/packages/omiu/examples/build/static/js/33.59e39137.chunk.js
similarity index 80%
rename from packages/omiu/examples/build/static/js/33.c17c0c22.chunk.js
rename to packages/omiu/examples/build/static/js/33.59e39137.chunk.js
index 54495f48b..f183ba92d 100644
--- a/packages/omiu/examples/build/static/js/33.c17c0c22.chunk.js
+++ b/packages/omiu/examples/build/static/js/33.59e39137.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([33],{76:function(n,a){n.exports="## Tab \n\n\u9009\u9879\u5361\u3002\n\n## \u4f7f\u7528\n\n```js\n\n - TabA
\n - TabB
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| onChange | function | -- | |\u3000\n| children | json array | -- | |\u3000"}});
-//# sourceMappingURL=33.c17c0c22.chunk.js.map
\ No newline at end of file
+webpackJsonp([33],{78:function(n,a){n.exports="## Tab \n\n\u9009\u9879\u5361\u3002\n\n## \u4f7f\u7528\n\n```js\n\n - TabA
\n - TabB
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| onChange | function | -- | |\u3000\n| children | json array | -- | |\u3000"}});
+//# sourceMappingURL=33.59e39137.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/33.c17c0c22.chunk.js.map b/packages/omiu/examples/build/static/js/33.59e39137.chunk.js.map
similarity index 73%
rename from packages/omiu/examples/build/static/js/33.c17c0c22.chunk.js.map
rename to packages/omiu/examples/build/static/js/33.59e39137.chunk.js.map
index 9d474e1de..02009132a 100644
--- a/packages/omiu/examples/build/static/js/33.c17c0c22.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/33.59e39137.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/33.c17c0c22.chunk.js","docs/en/tab.md"],"names":["webpackJsonp","76","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/33.c17c0c22.chunk.js","sourcesContent":["webpackJsonp([33],{\n\n/***/ 76:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Tab \\n\\n选项卡。\\n\\n## 使用\\n\\n```js\\n\\n - TabA
\\n - TabB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/33.c17c0c22.chunk.js","module.exports = \"## Tab \\n\\n选项卡。\\n\\n## 使用\\n\\n```js\\n\\n - TabA
\\n - TabB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/tab.md\n// module id = 76\n// module chunks = 33"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/33.59e39137.chunk.js","docs/en/tab.md"],"names":["webpackJsonp","78","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/33.59e39137.chunk.js","sourcesContent":["webpackJsonp([33],{\n\n/***/ 78:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Tab \\n\\n选项卡。\\n\\n## 使用\\n\\n```js\\n\\n - TabA
\\n - TabB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/33.59e39137.chunk.js","module.exports = \"## Tab \\n\\n选项卡。\\n\\n## 使用\\n\\n```js\\n\\n - TabA
\\n - TabB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/tab.md\n// module id = 78\n// module chunks = 33"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/34.e0172e08.chunk.js b/packages/omiu/examples/build/static/js/34.72140186.chunk.js
similarity index 75%
rename from packages/omiu/examples/build/static/js/34.e0172e08.chunk.js
rename to packages/omiu/examples/build/static/js/34.72140186.chunk.js
index 2bade0496..5c14d7d7c 100644
--- a/packages/omiu/examples/build/static/js/34.e0172e08.chunk.js
+++ b/packages/omiu/examples/build/static/js/34.72140186.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([34],{75:function(n,e){n.exports="## Switch \n\nSwitch.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| onChange | function| -- | |"}});
-//# sourceMappingURL=34.e0172e08.chunk.js.map
\ No newline at end of file
+webpackJsonp([34],{77:function(n,e){n.exports="## Switch \n\nSwitch.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| onChange | function| -- | |"}});
+//# sourceMappingURL=34.72140186.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/34.e0172e08.chunk.js.map b/packages/omiu/examples/build/static/js/34.72140186.chunk.js.map
similarity index 68%
rename from packages/omiu/examples/build/static/js/34.e0172e08.chunk.js.map
rename to packages/omiu/examples/build/static/js/34.72140186.chunk.js.map
index 4ec621549..b413e8271 100644
--- a/packages/omiu/examples/build/static/js/34.e0172e08.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/34.72140186.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/34.e0172e08.chunk.js","docs/en/switch.md"],"names":["webpackJsonp","75","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/34.e0172e08.chunk.js","sourcesContent":["webpackJsonp([34],{\n\n/***/ 75:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Switch \\n\\nSwitch.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| onChange | function| -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/34.e0172e08.chunk.js","module.exports = \"## Switch \\n\\nSwitch.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| onChange | function| -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/switch.md\n// module id = 75\n// module chunks = 34"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/34.72140186.chunk.js","docs/en/switch.md"],"names":["webpackJsonp","77","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/34.72140186.chunk.js","sourcesContent":["webpackJsonp([34],{\n\n/***/ 77:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Switch \\n\\nSwitch.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| onChange | function| -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/34.72140186.chunk.js","module.exports = \"## Switch \\n\\nSwitch.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| onChange | function| -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/switch.md\n// module id = 77\n// module chunks = 34"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/35.0f50e52c.chunk.js b/packages/omiu/examples/build/static/js/35.8f9af177.chunk.js
similarity index 83%
rename from packages/omiu/examples/build/static/js/35.0f50e52c.chunk.js
rename to packages/omiu/examples/build/static/js/35.8f9af177.chunk.js
index 26c14eaf7..b54c7d7af 100644
--- a/packages/omiu/examples/build/static/js/35.0f50e52c.chunk.js
+++ b/packages/omiu/examples/build/static/js/35.8f9af177.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([35],{74:function(n,s){n.exports="## Step \n\nStep of workflow or other.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| items | json array | | |\n"}});
-//# sourceMappingURL=35.0f50e52c.chunk.js.map
\ No newline at end of file
+webpackJsonp([35],{76:function(n,s){n.exports="## Step \n\nStep of workflow or other.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| items | json array | | |\n"}});
+//# sourceMappingURL=35.8f9af177.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/35.0f50e52c.chunk.js.map b/packages/omiu/examples/build/static/js/35.8f9af177.chunk.js.map
similarity index 78%
rename from packages/omiu/examples/build/static/js/35.0f50e52c.chunk.js.map
rename to packages/omiu/examples/build/static/js/35.8f9af177.chunk.js.map
index b0a5dcac7..92fa1ca11 100644
--- a/packages/omiu/examples/build/static/js/35.0f50e52c.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/35.8f9af177.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/35.0f50e52c.chunk.js","docs/en/step.md"],"names":["webpackJsonp","74","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/35.0f50e52c.chunk.js","sourcesContent":["webpackJsonp([35],{\n\n/***/ 74:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Step \\n\\nStep of workflow or other.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| items | json array | | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/35.0f50e52c.chunk.js","module.exports = \"## Step \\n\\nStep of workflow or other.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| items | json array | | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/step.md\n// module id = 74\n// module chunks = 35"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/35.8f9af177.chunk.js","docs/en/step.md"],"names":["webpackJsonp","76","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/35.8f9af177.chunk.js","sourcesContent":["webpackJsonp([35],{\n\n/***/ 76:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Step \\n\\nStep of workflow or other.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| items | json array | | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/35.8f9af177.chunk.js","module.exports = \"## Step \\n\\nStep of workflow or other.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| items | json array | | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/step.md\n// module id = 76\n// module chunks = 35"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/36.f63a8a53.chunk.js b/packages/omiu/examples/build/static/js/36.a9c51e39.chunk.js
similarity index 80%
rename from packages/omiu/examples/build/static/js/36.f63a8a53.chunk.js
rename to packages/omiu/examples/build/static/js/36.a9c51e39.chunk.js
index 1c5a881de..268e001ad 100644
--- a/packages/omiu/examples/build/static/js/36.f63a8a53.chunk.js
+++ b/packages/omiu/examples/build/static/js/36.a9c51e39.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([36],{73:function(n,e){n.exports="## SelectList\n\nSelectList.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| list | json array| | |\n| selectedIndex | number | | |\n| onSelect | function| | |\n"}});
-//# sourceMappingURL=36.f63a8a53.chunk.js.map
\ No newline at end of file
+webpackJsonp([36],{75:function(n,e){n.exports="## SelectList\n\nSelectList.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| list | json array| | |\n| selectedIndex | number | | |\n| onSelect | function| | |\n"}});
+//# sourceMappingURL=36.a9c51e39.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/36.f63a8a53.chunk.js.map b/packages/omiu/examples/build/static/js/36.a9c51e39.chunk.js.map
similarity index 75%
rename from packages/omiu/examples/build/static/js/36.f63a8a53.chunk.js.map
rename to packages/omiu/examples/build/static/js/36.a9c51e39.chunk.js.map
index 4c5ed79de..9f2aafeab 100644
--- a/packages/omiu/examples/build/static/js/36.f63a8a53.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/36.a9c51e39.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/36.f63a8a53.chunk.js","docs/en/select-list.md"],"names":["webpackJsonp","73","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/36.f63a8a53.chunk.js","sourcesContent":["webpackJsonp([36],{\n\n/***/ 73:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## SelectList\\n\\nSelectList.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| list | json array| | |\\n| selectedIndex | number | | |\\n| onSelect | function| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/36.f63a8a53.chunk.js","module.exports = \"## SelectList\\n\\nSelectList.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| list | json array| | |\\n| selectedIndex | number | | |\\n| onSelect | function| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/select-list.md\n// module id = 73\n// module chunks = 36"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/36.a9c51e39.chunk.js","docs/en/select-list.md"],"names":["webpackJsonp","75","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/36.a9c51e39.chunk.js","sourcesContent":["webpackJsonp([36],{\n\n/***/ 75:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## SelectList\\n\\nSelectList.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| list | json array| | |\\n| selectedIndex | number | | |\\n| onSelect | function| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/36.a9c51e39.chunk.js","module.exports = \"## SelectList\\n\\nSelectList.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| list | json array| | |\\n| selectedIndex | number | | |\\n| onSelect | function| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/select-list.md\n// module id = 75\n// module chunks = 36"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/37.962dad62.chunk.js b/packages/omiu/examples/build/static/js/37.51b36019.chunk.js
similarity index 76%
rename from packages/omiu/examples/build/static/js/37.962dad62.chunk.js
rename to packages/omiu/examples/build/static/js/37.51b36019.chunk.js
index 7f92804c5..abdbe440d 100644
--- a/packages/omiu/examples/build/static/js/37.962dad62.chunk.js
+++ b/packages/omiu/examples/build/static/js/37.51b36019.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([37],{72:function(n,o){n.exports="## Row \n\nRow of the 24 grid system.\n\n## Usage\n\n```js\n\n col12\n col12\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| children | json array with col | -- | |\u3000"}});
-//# sourceMappingURL=37.962dad62.chunk.js.map
\ No newline at end of file
+webpackJsonp([37],{74:function(n,o){n.exports="## Row \n\nRow of the 24 grid system.\n\n## Usage\n\n```js\n\n col12\n col12\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| children | json array with col | -- | |\u3000"}});
+//# sourceMappingURL=37.51b36019.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/37.962dad62.chunk.js.map b/packages/omiu/examples/build/static/js/37.51b36019.chunk.js.map
similarity index 71%
rename from packages/omiu/examples/build/static/js/37.962dad62.chunk.js.map
rename to packages/omiu/examples/build/static/js/37.51b36019.chunk.js.map
index 2077f1428..2af4d5846 100644
--- a/packages/omiu/examples/build/static/js/37.962dad62.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/37.51b36019.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/37.962dad62.chunk.js","docs/en/row.md"],"names":["webpackJsonp","72","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/37.962dad62.chunk.js","sourcesContent":["webpackJsonp([37],{\n\n/***/ 72:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Row \\n\\nRow of the 24 grid system.\\n\\n## Usage\\n\\n```js\\n\\n col12\\n col12\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array with col | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/37.962dad62.chunk.js","module.exports = \"## Row \\n\\nRow of the 24 grid system.\\n\\n## Usage\\n\\n```js\\n\\n col12\\n col12\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array with col | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/row.md\n// module id = 72\n// module chunks = 37"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/37.51b36019.chunk.js","docs/en/row.md"],"names":["webpackJsonp","74","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/37.51b36019.chunk.js","sourcesContent":["webpackJsonp([37],{\n\n/***/ 74:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Row \\n\\nRow of the 24 grid system.\\n\\n## Usage\\n\\n```js\\n\\n col12\\n col12\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array with col | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/37.51b36019.chunk.js","module.exports = \"## Row \\n\\nRow of the 24 grid system.\\n\\n## Usage\\n\\n```js\\n\\n col12\\n col12\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array with col | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/row.md\n// module id = 74\n// module chunks = 37"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/38.9aead5ce.chunk.js b/packages/omiu/examples/build/static/js/38.1122dc82.chunk.js
similarity index 84%
rename from packages/omiu/examples/build/static/js/38.9aead5ce.chunk.js
rename to packages/omiu/examples/build/static/js/38.1122dc82.chunk.js
index ca3e389ba..a4bbd144a 100644
--- a/packages/omiu/examples/build/static/js/38.9aead5ce.chunk.js
+++ b/packages/omiu/examples/build/static/js/38.1122dc82.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([38],{71:function(n,e){n.exports="## Rate \n\nRate.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| total | number | -- | Total number of stars |\u3000\n| value | number | -- | Support decimal, corresponding to half star |\u3000\n| color | string | -- | |\u3000\n| onSelect | function | -- | |\u3000"}});
-//# sourceMappingURL=38.9aead5ce.chunk.js.map
\ No newline at end of file
+webpackJsonp([38],{73:function(n,e){n.exports="## Rate \n\nRate.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| total | number | -- | Total number of stars |\u3000\n| value | number | -- | Support decimal, corresponding to half star |\u3000\n| color | string | -- | |\u3000\n| onSelect | function | -- | |\u3000"}});
+//# sourceMappingURL=38.1122dc82.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/38.9aead5ce.chunk.js.map b/packages/omiu/examples/build/static/js/38.1122dc82.chunk.js.map
similarity index 77%
rename from packages/omiu/examples/build/static/js/38.9aead5ce.chunk.js.map
rename to packages/omiu/examples/build/static/js/38.1122dc82.chunk.js.map
index f0bdf7096..b82ae87d4 100644
--- a/packages/omiu/examples/build/static/js/38.9aead5ce.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/38.1122dc82.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/38.9aead5ce.chunk.js","docs/en/rate.md"],"names":["webpackJsonp","71","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/38.9aead5ce.chunk.js","sourcesContent":["webpackJsonp([38],{\n\n/***/ 71:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Rate \\n\\nRate.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| total | number | -- | Total number of stars | \\n| value | number | -- | Support decimal, corresponding to half star | \\n| color | string | -- | | \\n| onSelect | function | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/38.9aead5ce.chunk.js","module.exports = \"## Rate \\n\\nRate.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| total | number | -- | Total number of stars | \\n| value | number | -- | Support decimal, corresponding to half star | \\n| color | string | -- | | \\n| onSelect | function | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/rate.md\n// module id = 71\n// module chunks = 38"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/38.1122dc82.chunk.js","docs/en/rate.md"],"names":["webpackJsonp","73","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/38.1122dc82.chunk.js","sourcesContent":["webpackJsonp([38],{\n\n/***/ 73:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Rate \\n\\nRate.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| total | number | -- | Total number of stars | \\n| value | number | -- | Support decimal, corresponding to half star | \\n| color | string | -- | | \\n| onSelect | function | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/38.1122dc82.chunk.js","module.exports = \"## Rate \\n\\nRate.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| total | number | -- | Total number of stars | \\n| value | number | -- | Support decimal, corresponding to half star | \\n| color | string | -- | | \\n| onSelect | function | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/rate.md\n// module id = 73\n// module chunks = 38"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/39.9d869d98.chunk.js b/packages/omiu/examples/build/static/js/39.5b4ee798.chunk.js
similarity index 76%
rename from packages/omiu/examples/build/static/js/39.9d869d98.chunk.js
rename to packages/omiu/examples/build/static/js/39.5b4ee798.chunk.js
index c2b7d64fe..14a780dd9 100644
--- a/packages/omiu/examples/build/static/js/39.9d869d98.chunk.js
+++ b/packages/omiu/examples/build/static/js/39.5b4ee798.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([39],{70:function(n,e){n.exports="## Radio \n\nRadio.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| label | string| | |\n| name | string| | |\n"}});
-//# sourceMappingURL=39.9d869d98.chunk.js.map
\ No newline at end of file
+webpackJsonp([39],{72:function(n,e){n.exports="## Radio \n\nRadio.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| label | string| | |\n| name | string| | |\n"}});
+//# sourceMappingURL=39.5b4ee798.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/39.9d869d98.chunk.js.map b/packages/omiu/examples/build/static/js/39.5b4ee798.chunk.js.map
similarity index 69%
rename from packages/omiu/examples/build/static/js/39.9d869d98.chunk.js.map
rename to packages/omiu/examples/build/static/js/39.5b4ee798.chunk.js.map
index 93d46e24e..d3ceb3602 100644
--- a/packages/omiu/examples/build/static/js/39.9d869d98.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/39.5b4ee798.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/39.9d869d98.chunk.js","docs/en/radio.md"],"names":["webpackJsonp","70","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/39.9d869d98.chunk.js","sourcesContent":["webpackJsonp([39],{\n\n/***/ 70:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Radio \\n\\nRadio.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n| name | string| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/39.9d869d98.chunk.js","module.exports = \"## Radio \\n\\nRadio.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n| name | string| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/radio.md\n// module id = 70\n// module chunks = 39"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/39.5b4ee798.chunk.js","docs/en/radio.md"],"names":["webpackJsonp","72","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/39.5b4ee798.chunk.js","sourcesContent":["webpackJsonp([39],{\n\n/***/ 72:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Radio \\n\\nRadio.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n| name | string| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/39.5b4ee798.chunk.js","module.exports = \"## Radio \\n\\nRadio.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n| name | string| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/radio.md\n// module id = 72\n// module chunks = 39"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/4.eb9e71e5.chunk.js b/packages/omiu/examples/build/static/js/4.c9b2b7de.chunk.js
similarity index 76%
rename from packages/omiu/examples/build/static/js/4.eb9e71e5.chunk.js
rename to packages/omiu/examples/build/static/js/4.c9b2b7de.chunk.js
index 949da776d..a858d032c 100644
--- a/packages/omiu/examples/build/static/js/4.eb9e71e5.chunk.js
+++ b/packages/omiu/examples/build/static/js/4.c9b2b7de.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([4],{105:function(n,e){n.exports="## Switch \n\n\u5f00\u5173\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| onChange | function| -- | |"}});
-//# sourceMappingURL=4.eb9e71e5.chunk.js.map
\ No newline at end of file
+webpackJsonp([4],{107:function(n,e){n.exports="## Switch \n\n\u5f00\u5173\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| onChange | function| -- | |"}});
+//# sourceMappingURL=4.c9b2b7de.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/4.eb9e71e5.chunk.js.map b/packages/omiu/examples/build/static/js/4.c9b2b7de.chunk.js.map
similarity index 68%
rename from packages/omiu/examples/build/static/js/4.eb9e71e5.chunk.js.map
rename to packages/omiu/examples/build/static/js/4.c9b2b7de.chunk.js.map
index f317f6e2f..19de6d73e 100644
--- a/packages/omiu/examples/build/static/js/4.eb9e71e5.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/4.c9b2b7de.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/4.eb9e71e5.chunk.js","docs/zh-cn/switch.md"],"names":["webpackJsonp","105","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/4.eb9e71e5.chunk.js","sourcesContent":["webpackJsonp([4],{\n\n/***/ 105:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Switch \\n\\n开关。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| onChange | function| -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/4.eb9e71e5.chunk.js","module.exports = \"## Switch \\n\\n开关。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| onChange | function| -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/switch.md\n// module id = 105\n// module chunks = 4"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/4.c9b2b7de.chunk.js","docs/zh-cn/switch.md"],"names":["webpackJsonp","107","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/4.c9b2b7de.chunk.js","sourcesContent":["webpackJsonp([4],{\n\n/***/ 107:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Switch \\n\\n开关。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| onChange | function| -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/4.c9b2b7de.chunk.js","module.exports = \"## Switch \\n\\n开关。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| onChange | function| -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/switch.md\n// module id = 107\n// module chunks = 4"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/40.702d143b.chunk.js b/packages/omiu/examples/build/static/js/40.24372fcf.chunk.js
similarity index 80%
rename from packages/omiu/examples/build/static/js/40.702d143b.chunk.js
rename to packages/omiu/examples/build/static/js/40.24372fcf.chunk.js
index 2eb4b1416..6afca722e 100644
--- a/packages/omiu/examples/build/static/js/40.702d143b.chunk.js
+++ b/packages/omiu/examples/build/static/js/40.24372fcf.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([40],{69:function(n,o){n.exports='## Progress \n\nShow the progress of a task.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| value | number| 0 | min:0\uff0cmax: 100 |\n| bgColor | string| #CCCCCC | |\n| innerColor | string| #07C160 | |'}});
-//# sourceMappingURL=40.702d143b.chunk.js.map
\ No newline at end of file
+webpackJsonp([40],{71:function(n,o){n.exports='## Progress \n\nShow the progress of a task.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| value | number| 0 | min:0\uff0cmax: 100 |\n| bgColor | string| #CCCCCC | |\n| innerColor | string| #07C160 | |'}});
+//# sourceMappingURL=40.24372fcf.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/40.702d143b.chunk.js.map b/packages/omiu/examples/build/static/js/40.24372fcf.chunk.js.map
similarity index 76%
rename from packages/omiu/examples/build/static/js/40.702d143b.chunk.js.map
rename to packages/omiu/examples/build/static/js/40.24372fcf.chunk.js.map
index cd8114ff5..c8cc3d2cb 100644
--- a/packages/omiu/examples/build/static/js/40.702d143b.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/40.24372fcf.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/40.702d143b.chunk.js","docs/en/progress.md"],"names":["webpackJsonp","69","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/40.702d143b.chunk.js","sourcesContent":["webpackJsonp([40],{\n\n/***/ 69:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Progress \\n\\nShow the progress of a task.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| value | number| 0 | min:0,max: 100 |\\n| bgColor | string| #CCCCCC | |\\n| innerColor | string| #07C160 | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/40.702d143b.chunk.js","module.exports = \"## Progress \\n\\nShow the progress of a task.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| value | number| 0 | min:0,max: 100 |\\n| bgColor | string| #CCCCCC | |\\n| innerColor | string| #07C160 | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/progress.md\n// module id = 69\n// module chunks = 40"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/40.24372fcf.chunk.js","docs/en/progress.md"],"names":["webpackJsonp","71","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/40.24372fcf.chunk.js","sourcesContent":["webpackJsonp([40],{\n\n/***/ 71:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Progress \\n\\nShow the progress of a task.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| value | number| 0 | min:0,max: 100 |\\n| bgColor | string| #CCCCCC | |\\n| innerColor | string| #07C160 | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/40.24372fcf.chunk.js","module.exports = \"## Progress \\n\\nShow the progress of a task.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| value | number| 0 | min:0,max: 100 |\\n| bgColor | string| #CCCCCC | |\\n| innerColor | string| #07C160 | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/progress.md\n// module id = 71\n// module chunks = 40"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/41.d12e910f.chunk.js b/packages/omiu/examples/build/static/js/41.5e2aa017.chunk.js
similarity index 88%
rename from packages/omiu/examples/build/static/js/41.d12e910f.chunk.js
rename to packages/omiu/examples/build/static/js/41.5e2aa017.chunk.js
index 6332a4e18..c54255a53 100644
--- a/packages/omiu/examples/build/static/js/41.d12e910f.chunk.js
+++ b/packages/omiu/examples/build/static/js/41.5e2aa017.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([41],{68:function(n,o){n.exports="## Popup \n\nPopup content layer.\n\n## Usage\n\n```js\n\n I am content
\n I am content
\n I am content
\n I am content
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | -- | |\n| title | string | -- | |\n| width | number | -- | |\n| cancelText | string | -- | |\n| confirmText | string | -- | |\n| onClose |function | -- | |\n| onConfirm | function | -- | |\n| children | vdom json array | -- | |"}});
-//# sourceMappingURL=41.d12e910f.chunk.js.map
\ No newline at end of file
+webpackJsonp([41],{70:function(n,o){n.exports="## Popup \n\nPopup content layer.\n\n## Usage\n\n```js\n\n I am content
\n I am content
\n I am content
\n I am content
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | -- | |\n| title | string | -- | |\n| width | number | -- | |\n| cancelText | string | -- | |\n| confirmText | string | -- | |\n| onClose |function | -- | |\n| onConfirm | function | -- | |\n| children | vdom json array | -- | |"}});
+//# sourceMappingURL=41.5e2aa017.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/41.d12e910f.chunk.js.map b/packages/omiu/examples/build/static/js/41.5e2aa017.chunk.js.map
similarity index 83%
rename from packages/omiu/examples/build/static/js/41.d12e910f.chunk.js.map
rename to packages/omiu/examples/build/static/js/41.5e2aa017.chunk.js.map
index 12375913e..ca8a2a9a6 100644
--- a/packages/omiu/examples/build/static/js/41.d12e910f.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/41.5e2aa017.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/41.d12e910f.chunk.js","docs/en/popup.md"],"names":["webpackJsonp","68","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/41.d12e910f.chunk.js","sourcesContent":["webpackJsonp([41],{\n\n/***/ 68:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Popup \\n\\nPopup content layer.\\n\\n## Usage\\n\\n```js\\n\\n I am content
\\n I am content
\\n I am content
\\n I am content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| title | string | -- | |\\n| width | number | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\\n| children | vdom json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/41.d12e910f.chunk.js","module.exports = \"## Popup \\n\\nPopup content layer.\\n\\n## Usage\\n\\n```js\\n\\n I am content
\\n I am content
\\n I am content
\\n I am content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| title | string | -- | |\\n| width | number | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\\n| children | vdom json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/popup.md\n// module id = 68\n// module chunks = 41"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/41.5e2aa017.chunk.js","docs/en/popup.md"],"names":["webpackJsonp","70","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/41.5e2aa017.chunk.js","sourcesContent":["webpackJsonp([41],{\n\n/***/ 70:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Popup \\n\\nPopup content layer.\\n\\n## Usage\\n\\n```js\\n\\n I am content
\\n I am content
\\n I am content
\\n I am content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| title | string | -- | |\\n| width | number | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\\n| children | vdom json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/41.5e2aa017.chunk.js","module.exports = \"## Popup \\n\\nPopup content layer.\\n\\n## Usage\\n\\n```js\\n\\n I am content
\\n I am content
\\n I am content
\\n I am content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| title | string | -- | |\\n| width | number | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\\n| children | vdom json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/popup.md\n// module id = 70\n// module chunks = 41"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/42.7ab9318a.chunk.js b/packages/omiu/examples/build/static/js/42.31ea836e.chunk.js
similarity index 86%
rename from packages/omiu/examples/build/static/js/42.7ab9318a.chunk.js
rename to packages/omiu/examples/build/static/js/42.31ea836e.chunk.js
index bc20a1314..36136cf24 100644
--- a/packages/omiu/examples/build/static/js/42.7ab9318a.chunk.js
+++ b/packages/omiu/examples/build/static/js/42.31ea836e.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([42],{67:function(n,o){n.exports="## Popover \n\nPopover.\n\n## Usage\n\n```js\n\n Test content....
\n Test content
\n Test content Test content
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | -- | |\n| target | dom element | -- | Surrounding target |\n| direction | string | -- | Surrounding direction |\n| onClose | function | -- | |\n| children | json array | -- | |"}});
-//# sourceMappingURL=42.7ab9318a.chunk.js.map
\ No newline at end of file
+webpackJsonp([42],{69:function(n,o){n.exports="## Popover \n\nPopover.\n\n## Usage\n\n```js\n\n Test content....
\n Test content
\n Test content Test content
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool | -- | |\n| target | dom element | -- | Surrounding target |\n| direction | string | -- | Surrounding direction |\n| onClose | function | -- | |\n| children | json array | -- | |"}});
+//# sourceMappingURL=42.31ea836e.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/42.7ab9318a.chunk.js.map b/packages/omiu/examples/build/static/js/42.31ea836e.chunk.js.map
similarity index 79%
rename from packages/omiu/examples/build/static/js/42.7ab9318a.chunk.js.map
rename to packages/omiu/examples/build/static/js/42.31ea836e.chunk.js.map
index b96743e76..d9eaf20ad 100644
--- a/packages/omiu/examples/build/static/js/42.7ab9318a.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/42.31ea836e.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/42.7ab9318a.chunk.js","docs/en/popover.md"],"names":["webpackJsonp","67","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/42.7ab9318a.chunk.js","sourcesContent":["webpackJsonp([42],{\n\n/***/ 67:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Popover \\n\\nPopover.\\n\\n## Usage\\n\\n```js\\n\\n Test content....
\\n Test content
\\n Test content Test content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| target | dom element | -- | Surrounding target |\\n| direction | string | -- | Surrounding direction |\\n| onClose | function | -- | |\\n| children | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/42.7ab9318a.chunk.js","module.exports = \"## Popover \\n\\nPopover.\\n\\n## Usage\\n\\n```js\\n\\n Test content....
\\n Test content
\\n Test content Test content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| target | dom element | -- | Surrounding target |\\n| direction | string | -- | Surrounding direction |\\n| onClose | function | -- | |\\n| children | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/popover.md\n// module id = 67\n// module chunks = 42"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/42.31ea836e.chunk.js","docs/en/popover.md"],"names":["webpackJsonp","69","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/42.31ea836e.chunk.js","sourcesContent":["webpackJsonp([42],{\n\n/***/ 69:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Popover \\n\\nPopover.\\n\\n## Usage\\n\\n```js\\n\\n Test content....
\\n Test content
\\n Test content Test content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| target | dom element | -- | Surrounding target |\\n| direction | string | -- | Surrounding direction |\\n| onClose | function | -- | |\\n| children | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/42.31ea836e.chunk.js","module.exports = \"## Popover \\n\\nPopover.\\n\\n## Usage\\n\\n```js\\n\\n Test content....
\\n Test content
\\n Test content Test content
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool | -- | |\\n| target | dom element | -- | Surrounding target |\\n| direction | string | -- | Surrounding direction |\\n| onClose | function | -- | |\\n| children | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/popover.md\n// module id = 69\n// module chunks = 42"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/43.0fb54b0c.chunk.js b/packages/omiu/examples/build/static/js/43.cb4fa11a.chunk.js
similarity index 88%
rename from packages/omiu/examples/build/static/js/43.0fb54b0c.chunk.js
rename to packages/omiu/examples/build/static/js/43.cb4fa11a.chunk.js
index e0e487323..aed669633 100644
--- a/packages/omiu/examples/build/static/js/43.0fb54b0c.chunk.js
+++ b/packages/omiu/examples/build/static/js/43.cb4fa11a.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([43],{66:function(n,e){n.exports="## PathProgress \n\nProgress by SVG.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| type | string| - | Support: Circle,Line and SemiCircle |\n| progress | number| 0 | |\n| text | string| - | |\n| options | json | | |\n| initialAnimate | bool| | |\n| containerStyle | json| | |\n| containerClassName | string| | |"}});
-//# sourceMappingURL=43.0fb54b0c.chunk.js.map
\ No newline at end of file
+webpackJsonp([43],{68:function(n,e){n.exports="## PathProgress \n\nProgress by SVG.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| type | string| - | Support: Circle,Line and SemiCircle |\n| progress | number| 0 | |\n| text | string| - | |\n| options | json | | |\n| initialAnimate | bool| | |\n| containerStyle | json| | |\n| containerClassName | string| | |"}});
+//# sourceMappingURL=43.cb4fa11a.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/43.0fb54b0c.chunk.js.map b/packages/omiu/examples/build/static/js/43.cb4fa11a.chunk.js.map
similarity index 83%
rename from packages/omiu/examples/build/static/js/43.0fb54b0c.chunk.js.map
rename to packages/omiu/examples/build/static/js/43.cb4fa11a.chunk.js.map
index 094e5abe2..cb73cbf1d 100644
--- a/packages/omiu/examples/build/static/js/43.0fb54b0c.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/43.cb4fa11a.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/43.0fb54b0c.chunk.js","docs/en/path-progress.md"],"names":["webpackJsonp","66","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/43.0fb54b0c.chunk.js","sourcesContent":["webpackJsonp([43],{\n\n/***/ 66:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## PathProgress \\n\\nProgress by SVG.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| - | Support: Circle,Line and SemiCircle |\\n| progress | number| 0 | |\\n| text | string| - | |\\n| options | json | | |\\n| initialAnimate | bool| | |\\n| containerStyle | json| | |\\n| containerClassName | string| | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/43.0fb54b0c.chunk.js","module.exports = \"## PathProgress \\n\\nProgress by SVG.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| - | Support: Circle,Line and SemiCircle |\\n| progress | number| 0 | |\\n| text | string| - | |\\n| options | json | | |\\n| initialAnimate | bool| | |\\n| containerStyle | json| | |\\n| containerClassName | string| | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/path-progress.md\n// module id = 66\n// module chunks = 43"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/43.cb4fa11a.chunk.js","docs/en/path-progress.md"],"names":["webpackJsonp","68","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/43.cb4fa11a.chunk.js","sourcesContent":["webpackJsonp([43],{\n\n/***/ 68:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## PathProgress \\n\\nProgress by SVG.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| - | Support: Circle,Line and SemiCircle |\\n| progress | number| 0 | |\\n| text | string| - | |\\n| options | json | | |\\n| initialAnimate | bool| | |\\n| containerStyle | json| | |\\n| containerClassName | string| | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/43.cb4fa11a.chunk.js","module.exports = \"## PathProgress \\n\\nProgress by SVG.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string| - | Support: Circle,Line and SemiCircle |\\n| progress | number| 0 | |\\n| text | string| - | |\\n| options | json | | |\\n| initialAnimate | bool| | |\\n| containerStyle | json| | |\\n| containerClassName | string| | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/path-progress.md\n// module id = 68\n// module chunks = 43"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/44.c0a337d9.chunk.js b/packages/omiu/examples/build/static/js/44.42ae96ca.chunk.js
similarity index 83%
rename from packages/omiu/examples/build/static/js/44.c0a337d9.chunk.js
rename to packages/omiu/examples/build/static/js/44.42ae96ca.chunk.js
index 770f8337a..2a45ab37f 100644
--- a/packages/omiu/examples/build/static/js/44.c0a337d9.chunk.js
+++ b/packages/omiu/examples/build/static/js/44.42ae96ca.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([44],{65:function(n,e){n.exports="## Pagination \n\nPaging component.\n\n## Usage\n\n```js\n\n```\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| total | number| -- | |\n| currentPage | number | 0 | |\n| pageSize | number | 10 | |\n| numDisplay | number| 5 ||\n| numEdge | number| 3 ||\n| ellipseText | string| ... ||"}});
-//# sourceMappingURL=44.c0a337d9.chunk.js.map
\ No newline at end of file
+webpackJsonp([44],{67:function(n,e){n.exports="## Pagination \n\nPaging component.\n\n## Usage\n\n```js\n\n```\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| total | number| -- | |\n| currentPage | number | 0 | |\n| pageSize | number | 10 | |\n| numDisplay | number| 5 ||\n| numEdge | number| 3 ||\n| ellipseText | string| ... ||"}});
+//# sourceMappingURL=44.42ae96ca.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/44.c0a337d9.chunk.js.map b/packages/omiu/examples/build/static/js/44.42ae96ca.chunk.js.map
similarity index 77%
rename from packages/omiu/examples/build/static/js/44.c0a337d9.chunk.js.map
rename to packages/omiu/examples/build/static/js/44.42ae96ca.chunk.js.map
index c6eb0f580..328658d94 100644
--- a/packages/omiu/examples/build/static/js/44.c0a337d9.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/44.42ae96ca.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/44.c0a337d9.chunk.js","docs/en/pagination.md"],"names":["webpackJsonp","65","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/44.c0a337d9.chunk.js","sourcesContent":["webpackJsonp([44],{\n\n/***/ 65:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Pagination \\n\\nPaging component.\\n\\n## Usage\\n\\n```js\\n\\n```\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| total | number| -- | |\\n| currentPage | number | 0 | |\\n| pageSize | number | 10 | |\\n| numDisplay | number| 5 ||\\n| numEdge | number| 3 ||\\n| ellipseText | string| ... ||\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/44.c0a337d9.chunk.js","module.exports = \"## Pagination \\n\\nPaging component.\\n\\n## Usage\\n\\n```js\\n\\n```\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| total | number| -- | |\\n| currentPage | number | 0 | |\\n| pageSize | number | 10 | |\\n| numDisplay | number| 5 ||\\n| numEdge | number| 3 ||\\n| ellipseText | string| ... ||\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/pagination.md\n// module id = 65\n// module chunks = 44"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/44.42ae96ca.chunk.js","docs/en/pagination.md"],"names":["webpackJsonp","67","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/44.42ae96ca.chunk.js","sourcesContent":["webpackJsonp([44],{\n\n/***/ 67:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Pagination \\n\\nPaging component.\\n\\n## Usage\\n\\n```js\\n\\n```\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| total | number| -- | |\\n| currentPage | number | 0 | |\\n| pageSize | number | 10 | |\\n| numDisplay | number| 5 ||\\n| numEdge | number| 3 ||\\n| ellipseText | string| ... ||\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/44.42ae96ca.chunk.js","module.exports = \"## Pagination \\n\\nPaging component.\\n\\n## Usage\\n\\n```js\\n\\n```\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| total | number| -- | |\\n| currentPage | number | 0 | |\\n| pageSize | number | 10 | |\\n| numDisplay | number| 5 ||\\n| numEdge | number| 3 ||\\n| ellipseText | string| ... ||\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/pagination.md\n// module id = 67\n// module chunks = 44"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/45.07bd62fb.chunk.js b/packages/omiu/examples/build/static/js/45.62321b94.chunk.js
similarity index 78%
rename from packages/omiu/examples/build/static/js/45.07bd62fb.chunk.js
rename to packages/omiu/examples/build/static/js/45.62321b94.chunk.js
index ae0c1caae..4f417cc29 100644
--- a/packages/omiu/examples/build/static/js/45.07bd62fb.chunk.js
+++ b/packages/omiu/examples/build/static/js/45.62321b94.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([45],{64:function(n,a){n.exports="## Nav \n\nNavigation.\n\n## Usage\n\n```js\n\n - NavA
\n - NavB
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| onChange | function | -- | |\u3000\n| children | json array | -- | |\u3000"}});
-//# sourceMappingURL=45.07bd62fb.chunk.js.map
\ No newline at end of file
+webpackJsonp([45],{66:function(n,a){n.exports="## Nav \n\nNavigation.\n\n## Usage\n\n```js\n\n - NavA
\n - NavB
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| onChange | function | -- | |\u3000\n| children | json array | -- | |\u3000"}});
+//# sourceMappingURL=45.62321b94.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/45.07bd62fb.chunk.js.map b/packages/omiu/examples/build/static/js/45.62321b94.chunk.js.map
similarity index 67%
rename from packages/omiu/examples/build/static/js/45.07bd62fb.chunk.js.map
rename to packages/omiu/examples/build/static/js/45.62321b94.chunk.js.map
index 2a2ba238b..def86a1de 100644
--- a/packages/omiu/examples/build/static/js/45.07bd62fb.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/45.62321b94.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/45.07bd62fb.chunk.js","docs/en/nav.md"],"names":["webpackJsonp","64","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/45.07bd62fb.chunk.js","sourcesContent":["webpackJsonp([45],{\n\n/***/ 64:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Nav \\n\\nNavigation.\\n\\n## Usage\\n\\n```js\\n\\n - NavA
\\n - NavB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/45.07bd62fb.chunk.js","module.exports = \"## Nav \\n\\nNavigation.\\n\\n## Usage\\n\\n```js\\n\\n - NavA
\\n - NavB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/nav.md\n// module id = 64\n// module chunks = 45"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/45.62321b94.chunk.js","docs/en/nav.md"],"names":["webpackJsonp","66","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/45.62321b94.chunk.js","sourcesContent":["webpackJsonp([45],{\n\n/***/ 66:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Nav \\n\\nNavigation.\\n\\n## Usage\\n\\n```js\\n\\n - NavA
\\n - NavB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/45.62321b94.chunk.js","module.exports = \"## Nav \\n\\nNavigation.\\n\\n## Usage\\n\\n```js\\n\\n - NavA
\\n - NavB
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| onChange | function | -- | | \\n| children | json array | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/nav.md\n// module id = 66\n// module chunks = 45"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/46.de5a1400.chunk.js b/packages/omiu/examples/build/static/js/46.a2744b59.chunk.js
similarity index 91%
rename from packages/omiu/examples/build/static/js/46.de5a1400.chunk.js
rename to packages/omiu/examples/build/static/js/46.a2744b59.chunk.js
index d02001fe4..b01f86eff 100644
--- a/packages/omiu/examples/build/static/js/46.de5a1400.chunk.js
+++ b/packages/omiu/examples/build/static/js/46.a2744b59.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([46],{63:function(n,e){n.exports="## Omiu \n\nOmiu is the official UI component library of Omi, based on Omio(IE8+) and compatible with Omi, using the design style of Wechat 7.0.\n\n## Colors\n\n| **Color** | **Meaning** |\n| ------------- |:-------------:|\n| #07C160 | Noble Vigorous Green | \n| #171717 | Steady Elegant Black | \n| #FEFEFE | Transcendent White | \n| #F95050 | Temperament Eye-catching Red | \n| #ECECEC | Lost Indifferent Gray | \n\n\n## Use it immediately\n\n```\nnpm i omi-cli -g \nomi init my-app \ncd my-app \nnpm start \nnpm run build \n```\n\n> `npx omi-cli init my-app` is also supported(npm v5.2.0+).\n\n## Use it in existing project\n\n```js\nnpm i omiu\n```\n\n```js\nimport { WeElement, define, render } from 'omi'\n//written by E6+, you need to set JS under node modules to run normally after Babel or TS compilation\nimport 'omiu/button'\n//or import all, published by ES5\n//import 'omiu'\n\ndefine('my-app', class extends WeElement {\n onClick = () => {\n console.log('Hello omiu!');\n }\n\n render() {\n return (\n I am button.\n )\n }\n})\n\nrender(, 'body')\n```\n\n"}});
-//# sourceMappingURL=46.de5a1400.chunk.js.map
\ No newline at end of file
+webpackJsonp([46],{65:function(n,e){n.exports="## Omiu \n\nOmiu is the official UI component library of Omi, based on Omio(IE8+) and compatible with Omi, using the design style of Wechat 7.0.\n\n## Colors\n\n| **Color** | **Meaning** |\n| ------------- |:-------------:|\n| #07C160 | Noble Vigorous Green | \n| #171717 | Steady Elegant Black | \n| #FEFEFE | Transcendent White | \n| #F95050 | Temperament Eye-catching Red | \n| #ECECEC | Lost Indifferent Gray | \n\n\n## Use it immediately\n\n```\nnpm i omi-cli -g \nomi init my-app \ncd my-app \nnpm start \nnpm run build \n```\n\n> `npx omi-cli init my-app` is also supported(npm v5.2.0+).\n\n## Use it in existing project\n\n```js\nnpm i omiu\n```\n\n```js\nimport { WeElement, define, render } from 'omi'\n//written by E6+, you need to set JS under node modules to run normally after Babel or TS compilation\nimport 'omiu/button'\n//or import all, published by ES5\n//import 'omiu'\n\ndefine('my-app', class extends WeElement {\n onClick = () => {\n console.log('Hello omiu!');\n }\n\n render() {\n return (\n I am button.\n )\n }\n})\n\nrender(, 'body')\n```\n\n"}});
+//# sourceMappingURL=46.a2744b59.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/46.de5a1400.chunk.js.map b/packages/omiu/examples/build/static/js/46.a2744b59.chunk.js.map
similarity index 88%
rename from packages/omiu/examples/build/static/js/46.de5a1400.chunk.js.map
rename to packages/omiu/examples/build/static/js/46.a2744b59.chunk.js.map
index d24b451a2..92c6011b4 100644
--- a/packages/omiu/examples/build/static/js/46.de5a1400.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/46.a2744b59.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/46.de5a1400.chunk.js","docs/en/introduction.md"],"names":["webpackJsonp","63","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/46.de5a1400.chunk.js","sourcesContent":["webpackJsonp([46],{\n\n/***/ 63:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Omiu \\n\\nOmiu is the official UI component library of Omi, based on Omio(IE8+) and compatible with Omi, using the design style of Wechat 7.0.\\n\\n## Colors\\n\\n| **Color** | **Meaning** |\\n| ------------- |:-------------:|\\n| #07C160 | Noble Vigorous Green | \\n| #171717 | Steady Elegant Black | \\n| #FEFEFE | Transcendent White | \\n| #F95050 | Temperament Eye-catching Red | \\n| #ECECEC | Lost Indifferent Gray | \\n\\n\\n## Use it immediately\\n\\n```\\nnpm i omi-cli -g \\nomi init my-app \\ncd my-app \\nnpm start \\nnpm run build \\n```\\n\\n> `npx omi-cli init my-app` is also supported(npm v5.2.0+).\\n\\n## Use it in existing project\\n\\n```js\\nnpm i omiu\\n```\\n\\n```js\\nimport { WeElement, define, render } from 'omi'\\n//written by E6+, you need to set JS under node modules to run normally after Babel or TS compilation\\nimport 'omiu/button'\\n//or import all, published by ES5\\n//import 'omiu'\\n\\ndefine('my-app', class extends WeElement {\\n onClick = () => {\\n console.log('Hello omiu!');\\n }\\n\\n render() {\\n return (\\n I am button.\\n )\\n }\\n})\\n\\nrender(, 'body')\\n```\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/46.de5a1400.chunk.js","module.exports = \"## Omiu \\n\\nOmiu is the official UI component library of Omi, based on Omio(IE8+) and compatible with Omi, using the design style of Wechat 7.0.\\n\\n## Colors\\n\\n| **Color** | **Meaning** |\\n| ------------- |:-------------:|\\n| #07C160 | Noble Vigorous Green | \\n| #171717 | Steady Elegant Black | \\n| #FEFEFE | Transcendent White | \\n| #F95050 | Temperament Eye-catching Red | \\n| #ECECEC | Lost Indifferent Gray | \\n\\n\\n## Use it immediately\\n\\n```\\nnpm i omi-cli -g \\nomi init my-app \\ncd my-app \\nnpm start \\nnpm run build \\n```\\n\\n> `npx omi-cli init my-app` is also supported(npm v5.2.0+).\\n\\n## Use it in existing project\\n\\n```js\\nnpm i omiu\\n```\\n\\n```js\\nimport { WeElement, define, render } from 'omi'\\n//written by E6+, you need to set JS under node modules to run normally after Babel or TS compilation\\nimport 'omiu/button'\\n//or import all, published by ES5\\n//import 'omiu'\\n\\ndefine('my-app', class extends WeElement {\\n onClick = () => {\\n console.log('Hello omiu!');\\n }\\n\\n render() {\\n return (\\n I am button.\\n )\\n }\\n})\\n\\nrender(, 'body')\\n```\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/introduction.md\n// module id = 63\n// module chunks = 46"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/46.a2744b59.chunk.js","docs/en/introduction.md"],"names":["webpackJsonp","65","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/46.a2744b59.chunk.js","sourcesContent":["webpackJsonp([46],{\n\n/***/ 65:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Omiu \\n\\nOmiu is the official UI component library of Omi, based on Omio(IE8+) and compatible with Omi, using the design style of Wechat 7.0.\\n\\n## Colors\\n\\n| **Color** | **Meaning** |\\n| ------------- |:-------------:|\\n| #07C160 | Noble Vigorous Green | \\n| #171717 | Steady Elegant Black | \\n| #FEFEFE | Transcendent White | \\n| #F95050 | Temperament Eye-catching Red | \\n| #ECECEC | Lost Indifferent Gray | \\n\\n\\n## Use it immediately\\n\\n```\\nnpm i omi-cli -g \\nomi init my-app \\ncd my-app \\nnpm start \\nnpm run build \\n```\\n\\n> `npx omi-cli init my-app` is also supported(npm v5.2.0+).\\n\\n## Use it in existing project\\n\\n```js\\nnpm i omiu\\n```\\n\\n```js\\nimport { WeElement, define, render } from 'omi'\\n//written by E6+, you need to set JS under node modules to run normally after Babel or TS compilation\\nimport 'omiu/button'\\n//or import all, published by ES5\\n//import 'omiu'\\n\\ndefine('my-app', class extends WeElement {\\n onClick = () => {\\n console.log('Hello omiu!');\\n }\\n\\n render() {\\n return (\\n I am button.\\n )\\n }\\n})\\n\\nrender(, 'body')\\n```\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/46.a2744b59.chunk.js","module.exports = \"## Omiu \\n\\nOmiu is the official UI component library of Omi, based on Omio(IE8+) and compatible with Omi, using the design style of Wechat 7.0.\\n\\n## Colors\\n\\n| **Color** | **Meaning** |\\n| ------------- |:-------------:|\\n| #07C160 | Noble Vigorous Green | \\n| #171717 | Steady Elegant Black | \\n| #FEFEFE | Transcendent White | \\n| #F95050 | Temperament Eye-catching Red | \\n| #ECECEC | Lost Indifferent Gray | \\n\\n\\n## Use it immediately\\n\\n```\\nnpm i omi-cli -g \\nomi init my-app \\ncd my-app \\nnpm start \\nnpm run build \\n```\\n\\n> `npx omi-cli init my-app` is also supported(npm v5.2.0+).\\n\\n## Use it in existing project\\n\\n```js\\nnpm i omiu\\n```\\n\\n```js\\nimport { WeElement, define, render } from 'omi'\\n//written by E6+, you need to set JS under node modules to run normally after Babel or TS compilation\\nimport 'omiu/button'\\n//or import all, published by ES5\\n//import 'omiu'\\n\\ndefine('my-app', class extends WeElement {\\n onClick = () => {\\n console.log('Hello omiu!');\\n }\\n\\n render() {\\n return (\\n I am button.\\n )\\n }\\n})\\n\\nrender(, 'body')\\n```\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/introduction.md\n// module id = 65\n// module chunks = 46"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/47.5e4c2156.chunk.js b/packages/omiu/examples/build/static/js/47.2d48b6bd.chunk.js
similarity index 82%
rename from packages/omiu/examples/build/static/js/47.5e4c2156.chunk.js
rename to packages/omiu/examples/build/static/js/47.2d48b6bd.chunk.js
index 99ae4c597..1d385e6cc 100644
--- a/packages/omiu/examples/build/static/js/47.5e4c2156.chunk.js
+++ b/packages/omiu/examples/build/static/js/47.2d48b6bd.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([47],{62:function(n,e){n.exports="## Input \n\nUser's input box, enter some content for submission to the server.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| placeholder | string| | \u5360\u4f4d\u5b57\u7b26\u4e32 |\n\n## Others\n\n```js\n\n\n```"}});
-//# sourceMappingURL=47.5e4c2156.chunk.js.map
\ No newline at end of file
+webpackJsonp([47],{64:function(n,e){n.exports="## Input \n\nUser's input box, enter some content for submission to the server.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| placeholder | string| | \u5360\u4f4d\u5b57\u7b26\u4e32 |\n\n## Others\n\n```js\n\n\n```"}});
+//# sourceMappingURL=47.2d48b6bd.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/47.5e4c2156.chunk.js.map b/packages/omiu/examples/build/static/js/47.2d48b6bd.chunk.js.map
similarity index 75%
rename from packages/omiu/examples/build/static/js/47.5e4c2156.chunk.js.map
rename to packages/omiu/examples/build/static/js/47.2d48b6bd.chunk.js.map
index 78965ca2f..cc77eb2b8 100644
--- a/packages/omiu/examples/build/static/js/47.5e4c2156.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/47.2d48b6bd.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/47.5e4c2156.chunk.js","docs/en/input.md"],"names":["webpackJsonp","62","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/47.5e4c2156.chunk.js","sourcesContent":["webpackJsonp([47],{\n\n/***/ 62:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Input \\n\\nUser's input box, enter some content for submission to the server.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| placeholder | string| | 占位字符串 |\\n\\n## Others\\n\\n```js\\n\\n\\n```\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/47.5e4c2156.chunk.js","module.exports = \"## Input \\n\\nUser's input box, enter some content for submission to the server.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| placeholder | string| | 占位字符串 |\\n\\n## Others\\n\\n```js\\n\\n\\n```\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/input.md\n// module id = 62\n// module chunks = 47"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/47.2d48b6bd.chunk.js","docs/en/input.md"],"names":["webpackJsonp","64","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/47.2d48b6bd.chunk.js","sourcesContent":["webpackJsonp([47],{\n\n/***/ 64:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Input \\n\\nUser's input box, enter some content for submission to the server.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| placeholder | string| | 占位字符串 |\\n\\n## Others\\n\\n```js\\n\\n\\n```\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/47.2d48b6bd.chunk.js","module.exports = \"## Input \\n\\nUser's input box, enter some content for submission to the server.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| placeholder | string| | 占位字符串 |\\n\\n## Others\\n\\n```js\\n\\n\\n```\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/input.md\n// module id = 64\n// module chunks = 47"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/48.f308636c.chunk.js b/packages/omiu/examples/build/static/js/48.93e735f8.chunk.js
similarity index 90%
rename from packages/omiu/examples/build/static/js/48.f308636c.chunk.js
rename to packages/omiu/examples/build/static/js/48.93e735f8.chunk.js
index c7dbc767f..f84ddf922 100644
--- a/packages/omiu/examples/build/static/js/48.f308636c.chunk.js
+++ b/packages/omiu/examples/build/static/js/48.93e735f8.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([48],{61:function(n,e){n.exports="## InputTable \n\nEditable table.\n\n## \u4f7f\u7528\n\n```js\ndefine('my-app', class extends WeElement {\n dataSource = [{\n id: 1,\n name: 'xwang',\n age: 18,\n address: 'Tencent'\n }, {\n id: 2,\n name: 'dntzhang',\n age: 12,\n address: 'Tencent'\n }, {\n id: 3,\n name: 'lucy',\n age: 12,\n address: 'Tencent'\n }, {\n id: 4,\n name: 'john',\n age: 12,\n address: 'Tencent'\n }, {\n id: 5,\n name: 'tim',\n age: 12,\n address: 'Tencent'\n }]\n\n columns = [{\n title: 'Name',\n key: 'name',\n }, {\n title: 'Age',\n key: 'age',\n }, {\n title: 'Address',\n key: 'address',\n }]\n\n\n render() {\n return (\n \n \n )\n }\n})\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| dataSource | json array | -- | |\n| columns | json array | -- | |"}});
-//# sourceMappingURL=48.f308636c.chunk.js.map
\ No newline at end of file
+webpackJsonp([48],{63:function(n,e){n.exports="## InputTable \n\nEditable table.\n\n## \u4f7f\u7528\n\n```js\ndefine('my-app', class extends WeElement {\n dataSource = [{\n id: 1,\n name: 'xwang',\n age: 18,\n address: 'Tencent'\n }, {\n id: 2,\n name: 'dntzhang',\n age: 12,\n address: 'Tencent'\n }, {\n id: 3,\n name: 'lucy',\n age: 12,\n address: 'Tencent'\n }, {\n id: 4,\n name: 'john',\n age: 12,\n address: 'Tencent'\n }, {\n id: 5,\n name: 'tim',\n age: 12,\n address: 'Tencent'\n }]\n\n columns = [{\n title: 'Name',\n key: 'name',\n }, {\n title: 'Age',\n key: 'age',\n }, {\n title: 'Address',\n key: 'address',\n }]\n\n\n render() {\n return (\n \n \n )\n }\n})\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| dataSource | json array | -- | |\n| columns | json array | -- | |"}});
+//# sourceMappingURL=48.93e735f8.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/48.f308636c.chunk.js.map b/packages/omiu/examples/build/static/js/48.93e735f8.chunk.js.map
similarity index 86%
rename from packages/omiu/examples/build/static/js/48.f308636c.chunk.js.map
rename to packages/omiu/examples/build/static/js/48.93e735f8.chunk.js.map
index 18e0dcfe7..f2d9e2b14 100644
--- a/packages/omiu/examples/build/static/js/48.f308636c.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/48.93e735f8.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/48.f308636c.chunk.js","docs/en/input-table.md"],"names":["webpackJsonp","61","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/48.f308636c.chunk.js","sourcesContent":["webpackJsonp([48],{\n\n/***/ 61:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## InputTable \\n\\nEditable table.\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: 'Tencent'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 3,\\n name: 'lucy',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 4,\\n name: 'john',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 5,\\n name: 'tim',\\n age: 12,\\n address: 'Tencent'\\n }]\\n\\n columns = [{\\n title: 'Name',\\n key: 'name',\\n }, {\\n title: 'Age',\\n key: 'age',\\n }, {\\n title: 'Address',\\n key: 'address',\\n }]\\n\\n\\n render() {\\n return (\\n \\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/48.f308636c.chunk.js","module.exports = \"## InputTable \\n\\nEditable table.\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: 'Tencent'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 3,\\n name: 'lucy',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 4,\\n name: 'john',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 5,\\n name: 'tim',\\n age: 12,\\n address: 'Tencent'\\n }]\\n\\n columns = [{\\n title: 'Name',\\n key: 'name',\\n }, {\\n title: 'Age',\\n key: 'age',\\n }, {\\n title: 'Address',\\n key: 'address',\\n }]\\n\\n\\n render() {\\n return (\\n \\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/input-table.md\n// module id = 61\n// module chunks = 48"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/48.93e735f8.chunk.js","docs/en/input-table.md"],"names":["webpackJsonp","63","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/48.93e735f8.chunk.js","sourcesContent":["webpackJsonp([48],{\n\n/***/ 63:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## InputTable \\n\\nEditable table.\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: 'Tencent'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 3,\\n name: 'lucy',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 4,\\n name: 'john',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 5,\\n name: 'tim',\\n age: 12,\\n address: 'Tencent'\\n }]\\n\\n columns = [{\\n title: 'Name',\\n key: 'name',\\n }, {\\n title: 'Age',\\n key: 'age',\\n }, {\\n title: 'Address',\\n key: 'address',\\n }]\\n\\n\\n render() {\\n return (\\n \\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/48.93e735f8.chunk.js","module.exports = \"## InputTable \\n\\nEditable table.\\n\\n## 使用\\n\\n```js\\ndefine('my-app', class extends WeElement {\\n dataSource = [{\\n id: 1,\\n name: 'xwang',\\n age: 18,\\n address: 'Tencent'\\n }, {\\n id: 2,\\n name: 'dntzhang',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 3,\\n name: 'lucy',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 4,\\n name: 'john',\\n age: 12,\\n address: 'Tencent'\\n }, {\\n id: 5,\\n name: 'tim',\\n age: 12,\\n address: 'Tencent'\\n }]\\n\\n columns = [{\\n title: 'Name',\\n key: 'name',\\n }, {\\n title: 'Age',\\n key: 'age',\\n }, {\\n title: 'Address',\\n key: 'address',\\n }]\\n\\n\\n render() {\\n return (\\n \\n \\n )\\n }\\n})\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| dataSource | json array | -- | |\\n| columns | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/input-table.md\n// module id = 63\n// module chunks = 48"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/49.fc10a45e.chunk.js b/packages/omiu/examples/build/static/js/49.fe9abf15.chunk.js
similarity index 82%
rename from packages/omiu/examples/build/static/js/49.fc10a45e.chunk.js
rename to packages/omiu/examples/build/static/js/49.fe9abf15.chunk.js
index b356adf1a..2ac764888 100644
--- a/packages/omiu/examples/build/static/js/49.fc10a45e.chunk.js
+++ b/packages/omiu/examples/build/static/js/49.fe9abf15.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([49],{60:function(n,e){n.exports='## InputNumber \n\nDigital input box.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| min | number|-- ||\n| max | number| -- | |\n| step | number | | |\n| value | number| -- ||\n| label | string| -- ||\n| onChange | function| -- ||\n\n\n'}});
-//# sourceMappingURL=49.fc10a45e.chunk.js.map
\ No newline at end of file
+webpackJsonp([49],{62:function(n,e){n.exports='## InputNumber \n\nDigital input box.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| min | number|-- ||\n| max | number| -- | |\n| step | number | | |\n| value | number| -- ||\n| label | string| -- ||\n| onChange | function| -- ||\n\n\n'}});
+//# sourceMappingURL=49.fe9abf15.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/49.fc10a45e.chunk.js.map b/packages/omiu/examples/build/static/js/49.fe9abf15.chunk.js.map
similarity index 75%
rename from packages/omiu/examples/build/static/js/49.fc10a45e.chunk.js.map
rename to packages/omiu/examples/build/static/js/49.fe9abf15.chunk.js.map
index 3a6d44034..06791a177 100644
--- a/packages/omiu/examples/build/static/js/49.fc10a45e.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/49.fe9abf15.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/49.fc10a45e.chunk.js","docs/en/input-number.md"],"names":["webpackJsonp","60","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/49.fc10a45e.chunk.js","sourcesContent":["webpackJsonp([49],{\n\n/***/ 60:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## InputNumber \\n\\nDigital input box.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| min | number|-- ||\\n| max | number| -- | |\\n| step | number | | |\\n| value | number| -- ||\\n| label | string| -- ||\\n| onChange | function| -- ||\\n\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/49.fc10a45e.chunk.js","module.exports = \"## InputNumber \\n\\nDigital input box.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| min | number|-- ||\\n| max | number| -- | |\\n| step | number | | |\\n| value | number| -- ||\\n| label | string| -- ||\\n| onChange | function| -- ||\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/input-number.md\n// module id = 60\n// module chunks = 49"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/49.fe9abf15.chunk.js","docs/en/input-number.md"],"names":["webpackJsonp","62","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/49.fe9abf15.chunk.js","sourcesContent":["webpackJsonp([49],{\n\n/***/ 62:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## InputNumber \\n\\nDigital input box.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| min | number|-- ||\\n| max | number| -- | |\\n| step | number | | |\\n| value | number| -- ||\\n| label | string| -- ||\\n| onChange | function| -- ||\\n\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/49.fe9abf15.chunk.js","module.exports = \"## InputNumber \\n\\nDigital input box.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| min | number|-- ||\\n| max | number| -- | |\\n| step | number | | |\\n| value | number| -- ||\\n| label | string| -- ||\\n| onChange | function| -- ||\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/input-number.md\n// module id = 62\n// module chunks = 49"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/5.bf62e293.chunk.js b/packages/omiu/examples/build/static/js/5.c5babeaf.chunk.js
similarity index 84%
rename from packages/omiu/examples/build/static/js/5.bf62e293.chunk.js
rename to packages/omiu/examples/build/static/js/5.c5babeaf.chunk.js
index 122e3703f..d861a71dd 100644
--- a/packages/omiu/examples/build/static/js/5.bf62e293.chunk.js
+++ b/packages/omiu/examples/build/static/js/5.c5babeaf.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([5],{104:function(n,s){n.exports="## Step \n\n\u5de5\u4f5c\u6d41\u6216\u6b65\u9aa4\u8fdb\u5ea6\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| items | json array | | |\n"}});
-//# sourceMappingURL=5.bf62e293.chunk.js.map
\ No newline at end of file
+webpackJsonp([5],{106:function(n,s){n.exports="## Step \n\n\u5de5\u4f5c\u6d41\u6216\u6b65\u9aa4\u8fdb\u5ea6\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| items | json array | | |\n"}});
+//# sourceMappingURL=5.c5babeaf.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/5.bf62e293.chunk.js.map b/packages/omiu/examples/build/static/js/5.c5babeaf.chunk.js.map
similarity index 78%
rename from packages/omiu/examples/build/static/js/5.bf62e293.chunk.js.map
rename to packages/omiu/examples/build/static/js/5.c5babeaf.chunk.js.map
index 92895161d..241ed0f83 100644
--- a/packages/omiu/examples/build/static/js/5.bf62e293.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/5.c5babeaf.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/5.bf62e293.chunk.js","docs/zh-cn/step.md"],"names":["webpackJsonp","104","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/5.bf62e293.chunk.js","sourcesContent":["webpackJsonp([5],{\n\n/***/ 104:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Step \\n\\n工作流或步骤进度。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| items | json array | | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/5.bf62e293.chunk.js","module.exports = \"## Step \\n\\n工作流或步骤进度。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| items | json array | | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/step.md\n// module id = 104\n// module chunks = 5"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/5.c5babeaf.chunk.js","docs/zh-cn/step.md"],"names":["webpackJsonp","106","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/5.c5babeaf.chunk.js","sourcesContent":["webpackJsonp([5],{\n\n/***/ 106:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Step \\n\\n工作流或步骤进度。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| items | json array | | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/5.c5babeaf.chunk.js","module.exports = \"## Step \\n\\n工作流或步骤进度。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| items | json array | | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/step.md\n// module id = 106\n// module chunks = 5"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/50.4c4da2e5.chunk.js.map b/packages/omiu/examples/build/static/js/50.4c4da2e5.chunk.js.map
deleted file mode 100644
index 90f5cb6cb..000000000
--- a/packages/omiu/examples/build/static/js/50.4c4da2e5.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../static/js/50.4c4da2e5.chunk.js","docs/en/icon.md"],"names":["webpackJsonp","59","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/50.4c4da2e5.chunk.js","sourcesContent":["webpackJsonp([50],{\n\n/***/ 59:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon \\n\\nIcon using svg.\\n\\n## Usage\\n\\n```js\\n\\n\\n```\\n\\nIt can also support multiple paths:\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | json array |-- | pass in paths, path does not need to pass in |\\n| path | string| -- ||\\n| scale | number | 2 | |\\n| color | bool| black ||\\n| rotate | bool| false ||\\n| isFill | bool| false |deprecated|\\n| type | string| -- |deprecated|\\n\\n* [→ You can use antd's SVG path directly](https://ant.design/components/icon/)\\n* [→ You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/50.4c4da2e5.chunk.js","module.exports = \"## Icon \\n\\nIcon using svg.\\n\\n## Usage\\n\\n```js\\n\\n\\n```\\n\\nIt can also support multiple paths:\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | json array |-- | pass in paths, path does not need to pass in |\\n| path | string| -- ||\\n| scale | number | 2 | |\\n| color | bool| black ||\\n| rotate | bool| false ||\\n| isFill | bool| false |deprecated|\\n| type | string| -- |deprecated|\\n\\n* [→ You can use antd's SVG path directly](https://ant.design/components/icon/)\\n* [→ You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/icon.md\n// module id = 59\n// module chunks = 50"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/50.4c4da2e5.chunk.js b/packages/omiu/examples/build/static/js/50.7d793834.chunk.js
similarity index 64%
rename from packages/omiu/examples/build/static/js/50.4c4da2e5.chunk.js
rename to packages/omiu/examples/build/static/js/50.7d793834.chunk.js
index afad661e6..8652b1f99 100644
--- a/packages/omiu/examples/build/static/js/50.4c4da2e5.chunk.js
+++ b/packages/omiu/examples/build/static/js/50.7d793834.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([50],{59:function(n,s){n.exports="## Icon \n\nIcon using svg.\n\n## Usage\n\n```js\n\n\n```\n\nIt can also support multiple paths:\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| paths | json array |-- | pass in paths, path does not need to pass in |\n| path | string| -- ||\n| scale | number | 2 | |\n| color | bool| black ||\n| rotate | bool| false ||\n| isFill | bool| false |deprecated|\n| type | string| -- |deprecated|\n\n* [\u2192 You can use antd's SVG path directly](https://ant.design/components/icon/)\n* [\u2192 You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n\n"}});
-//# sourceMappingURL=50.4c4da2e5.chunk.js.map
\ No newline at end of file
+webpackJsonp([50],{61:function(n,s){n.exports="## Icon \n\nIcon using svg.\n\n## Usage\n\n```js\n\n\n```\n\nIt can also support multiple paths:\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| paths | json array |-- | pass in paths, path does not need to pass in |\n| path | string| -- ||\n| scale | number | 2 | |\n| color | string| black ||\n| rotate | bool| false ||\n| isFill | bool| false |deprecated|\n| type | string| -- |deprecated|\n\n* [\u2192 You can use antd's SVG path directly](https://ant.design/components/icon/)\n* [\u2192 You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n\n"}});
+//# sourceMappingURL=50.7d793834.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/50.7d793834.chunk.js.map b/packages/omiu/examples/build/static/js/50.7d793834.chunk.js.map
new file mode 100644
index 000000000..e01faab9d
--- /dev/null
+++ b/packages/omiu/examples/build/static/js/50.7d793834.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../static/js/50.7d793834.chunk.js","docs/en/icon.md"],"names":["webpackJsonp","61","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/50.7d793834.chunk.js","sourcesContent":["webpackJsonp([50],{\n\n/***/ 61:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon \\n\\nIcon using svg.\\n\\n## Usage\\n\\n```js\\n\\n\\n```\\n\\nIt can also support multiple paths:\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | json array |-- | pass in paths, path does not need to pass in |\\n| path | string| -- ||\\n| scale | number | 2 | |\\n| color | string| black ||\\n| rotate | bool| false ||\\n| isFill | bool| false |deprecated|\\n| type | string| -- |deprecated|\\n\\n* [→ You can use antd's SVG path directly](https://ant.design/components/icon/)\\n* [→ You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/50.7d793834.chunk.js","module.exports = \"## Icon \\n\\nIcon using svg.\\n\\n## Usage\\n\\n```js\\n\\n\\n```\\n\\nIt can also support multiple paths:\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | json array |-- | pass in paths, path does not need to pass in |\\n| path | string| -- ||\\n| scale | number | 2 | |\\n| color | string| black ||\\n| rotate | bool| false ||\\n| isFill | bool| false |deprecated|\\n| type | string| -- |deprecated|\\n\\n* [→ You can use antd's SVG path directly](https://ant.design/components/icon/)\\n* [→ You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/icon.md\n// module id = 61\n// module chunks = 50"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/51.727f4191.chunk.js b/packages/omiu/examples/build/static/js/51.28163cd5.chunk.js
similarity index 80%
rename from packages/omiu/examples/build/static/js/51.727f4191.chunk.js
rename to packages/omiu/examples/build/static/js/51.28163cd5.chunk.js
index 8a5590561..3884683c1 100644
--- a/packages/omiu/examples/build/static/js/51.727f4191.chunk.js
+++ b/packages/omiu/examples/build/static/js/51.28163cd5.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([51],{58:function(n,a){n.exports="## EqualSpace \n\nHorizontal average allocation space layout.\n\n## Usage\n\n```js\n\n \n \n \n \n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| children | json array | -- | |"}});
-//# sourceMappingURL=51.727f4191.chunk.js.map
\ No newline at end of file
+webpackJsonp([51],{60:function(n,a){n.exports="## EqualSpace \n\nHorizontal average allocation space layout.\n\n## Usage\n\n```js\n\n \n \n \n \n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| children | json array | -- | |"}});
+//# sourceMappingURL=51.28163cd5.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/51.727f4191.chunk.js.map b/packages/omiu/examples/build/static/js/51.28163cd5.chunk.js.map
similarity index 75%
rename from packages/omiu/examples/build/static/js/51.727f4191.chunk.js.map
rename to packages/omiu/examples/build/static/js/51.28163cd5.chunk.js.map
index 6cb1f531a..a331254cb 100644
--- a/packages/omiu/examples/build/static/js/51.727f4191.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/51.28163cd5.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/51.727f4191.chunk.js","docs/en/equal-space.md"],"names":["webpackJsonp","58","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/51.727f4191.chunk.js","sourcesContent":["webpackJsonp([51],{\n\n/***/ 58:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## EqualSpace \\n\\nHorizontal average allocation space layout.\\n\\n## Usage\\n\\n```js\\n\\n \\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| children | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/51.727f4191.chunk.js","module.exports = \"## EqualSpace \\n\\nHorizontal average allocation space layout.\\n\\n## Usage\\n\\n```js\\n\\n \\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| children | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/equal-space.md\n// module id = 58\n// module chunks = 51"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/51.28163cd5.chunk.js","docs/en/equal-space.md"],"names":["webpackJsonp","60","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/51.28163cd5.chunk.js","sourcesContent":["webpackJsonp([51],{\n\n/***/ 60:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## EqualSpace \\n\\nHorizontal average allocation space layout.\\n\\n## Usage\\n\\n```js\\n\\n \\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| children | json array | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/51.28163cd5.chunk.js","module.exports = \"## EqualSpace \\n\\nHorizontal average allocation space layout.\\n\\n## Usage\\n\\n```js\\n\\n \\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| children | json array | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/equal-space.md\n// module id = 60\n// module chunks = 51"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/52.6fdf071d.chunk.js b/packages/omiu/examples/build/static/js/52.32c11ca8.chunk.js
similarity index 85%
rename from packages/omiu/examples/build/static/js/52.6fdf071d.chunk.js
rename to packages/omiu/examples/build/static/js/52.32c11ca8.chunk.js
index 4319a6b27..eb9792358 100644
--- a/packages/omiu/examples/build/static/js/52.6fdf071d.chunk.js
+++ b/packages/omiu/examples/build/static/js/52.32c11ca8.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([52],{57:function(n,e){n.exports="## Dropdown \n\nDropdown.\n\n## Usage\n\n```js\n\n - Item 1
\n - Item 2
\n - Item 3
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| selectedIndex | number| | |\n| show | bool| false | |\n| children | json array| | |\n| onToggle | function| | |\n| onSelect | function| | |\n"}});
-//# sourceMappingURL=52.6fdf071d.chunk.js.map
\ No newline at end of file
+webpackJsonp([52],{59:function(n,e){n.exports="## Dropdown \n\nDropdown.\n\n## Usage\n\n```js\n\n - Item 1
\n - Item 2
\n - Item 3
\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| selectedIndex | number| | |\n| show | bool| false | |\n| children | json array| | |\n| onToggle | function| | |\n| onSelect | function| | |\n"}});
+//# sourceMappingURL=52.32c11ca8.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/52.6fdf071d.chunk.js.map b/packages/omiu/examples/build/static/js/52.32c11ca8.chunk.js.map
similarity index 80%
rename from packages/omiu/examples/build/static/js/52.6fdf071d.chunk.js.map
rename to packages/omiu/examples/build/static/js/52.32c11ca8.chunk.js.map
index 902298f59..0e0fc2ca1 100644
--- a/packages/omiu/examples/build/static/js/52.6fdf071d.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/52.32c11ca8.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/52.6fdf071d.chunk.js","docs/en/dropdown.md"],"names":["webpackJsonp","57","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/52.6fdf071d.chunk.js","sourcesContent":["webpackJsonp([52],{\n\n/***/ 57:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Dropdown \\n\\nDropdown.\\n\\n## Usage\\n\\n```js\\n\\n - Item 1
\\n - Item 2
\\n - Item 3
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| selectedIndex | number| | |\\n| show | bool| false | |\\n| children | json array| | |\\n| onToggle | function| | |\\n| onSelect | function| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/52.6fdf071d.chunk.js","module.exports = \"## Dropdown \\n\\nDropdown.\\n\\n## Usage\\n\\n```js\\n\\n - Item 1
\\n - Item 2
\\n - Item 3
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| selectedIndex | number| | |\\n| show | bool| false | |\\n| children | json array| | |\\n| onToggle | function| | |\\n| onSelect | function| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/dropdown.md\n// module id = 57\n// module chunks = 52"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/52.32c11ca8.chunk.js","docs/en/dropdown.md"],"names":["webpackJsonp","59","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/52.32c11ca8.chunk.js","sourcesContent":["webpackJsonp([52],{\n\n/***/ 59:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Dropdown \\n\\nDropdown.\\n\\n## Usage\\n\\n```js\\n\\n - Item 1
\\n - Item 2
\\n - Item 3
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| selectedIndex | number| | |\\n| show | bool| false | |\\n| children | json array| | |\\n| onToggle | function| | |\\n| onSelect | function| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/52.32c11ca8.chunk.js","module.exports = \"## Dropdown \\n\\nDropdown.\\n\\n## Usage\\n\\n```js\\n\\n - Item 1
\\n - Item 2
\\n - Item 3
\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| selectedIndex | number| | |\\n| show | bool| false | |\\n| children | json array| | |\\n| onToggle | function| | |\\n| onSelect | function| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/dropdown.md\n// module id = 59\n// module chunks = 52"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/53.3ca16fbc.chunk.js b/packages/omiu/examples/build/static/js/53.8a95fd67.chunk.js
similarity index 86%
rename from packages/omiu/examples/build/static/js/53.3ca16fbc.chunk.js
rename to packages/omiu/examples/build/static/js/53.8a95fd67.chunk.js
index 09a7ab334..b7acbca61 100644
--- a/packages/omiu/examples/build/static/js/53.3ca16fbc.chunk.js
+++ b/packages/omiu/examples/build/static/js/53.8a95fd67.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([53],{56:function(n,t){n.exports="## DropdownMenu \n\nDropdownMenu.\n\n## Usage\n\n```js\n\n \n \n \n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| children | json array| -- | Structure of item: ` ` |\u3000\n"}});
-//# sourceMappingURL=53.3ca16fbc.chunk.js.map
\ No newline at end of file
+webpackJsonp([53],{58:function(n,t){n.exports="## DropdownMenu \n\nDropdownMenu.\n\n## Usage\n\n```js\n\n \n \n \n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| children | json array| -- | Structure of item: ` ` |\u3000\n"}});
+//# sourceMappingURL=53.8a95fd67.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/53.3ca16fbc.chunk.js.map b/packages/omiu/examples/build/static/js/53.8a95fd67.chunk.js.map
similarity index 82%
rename from packages/omiu/examples/build/static/js/53.3ca16fbc.chunk.js.map
rename to packages/omiu/examples/build/static/js/53.8a95fd67.chunk.js.map
index b38e30d09..0a95081d8 100644
--- a/packages/omiu/examples/build/static/js/53.3ca16fbc.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/53.8a95fd67.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/53.3ca16fbc.chunk.js","docs/en/dropdown-menu.md"],"names":["webpackJsonp","56","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/53.3ca16fbc.chunk.js","sourcesContent":["webpackJsonp([53],{\n\n/***/ 56:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## DropdownMenu \\n\\nDropdownMenu.\\n\\n## Usage\\n\\n```js\\n\\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array| -- | Structure of item: ` ` | \\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/53.3ca16fbc.chunk.js","module.exports = \"## DropdownMenu \\n\\nDropdownMenu.\\n\\n## Usage\\n\\n```js\\n\\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array| -- | Structure of item: ` ` | \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/dropdown-menu.md\n// module id = 56\n// module chunks = 53"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/53.8a95fd67.chunk.js","docs/en/dropdown-menu.md"],"names":["webpackJsonp","58","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/53.8a95fd67.chunk.js","sourcesContent":["webpackJsonp([53],{\n\n/***/ 58:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## DropdownMenu \\n\\nDropdownMenu.\\n\\n## Usage\\n\\n```js\\n\\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array| -- | Structure of item: ` ` | \\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/53.8a95fd67.chunk.js","module.exports = \"## DropdownMenu \\n\\nDropdownMenu.\\n\\n## Usage\\n\\n```js\\n\\n \\n \\n \\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array| -- | Structure of item: ` ` | \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/dropdown-menu.md\n// module id = 58\n// module chunks = 53"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/54.e1d19c05.chunk.js b/packages/omiu/examples/build/static/js/54.a1bac6c9.chunk.js
similarity index 87%
rename from packages/omiu/examples/build/static/js/54.e1d19c05.chunk.js
rename to packages/omiu/examples/build/static/js/54.a1bac6c9.chunk.js
index b329b9650..5bb9f57c5 100644
--- a/packages/omiu/examples/build/static/js/54.e1d19c05.chunk.js
+++ b/packages/omiu/examples/build/static/js/54.a1bac6c9.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([54],{55:function(n,o){n.exports="## Dialog \n\nAlert or confirm dialog.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| type | string | alert | Options: alert, confirm |\n| show | bool | -- | |\n| title | string | -- | |\n| msg | string | -- | |\n| cancelText | string | -- | |\n| confirmText | string | -- | |\n| onClose |function | -- | |\n| onConfirm | function | -- | |"}});
-//# sourceMappingURL=54.e1d19c05.chunk.js.map
\ No newline at end of file
+webpackJsonp([54],{57:function(n,o){n.exports="## Dialog \n\nAlert or confirm dialog.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| type | string | alert | Options: alert, confirm |\n| show | bool | -- | |\n| title | string | -- | |\n| msg | string | -- | |\n| cancelText | string | -- | |\n| confirmText | string | -- | |\n| onClose |function | -- | |\n| onConfirm | function | -- | |"}});
+//# sourceMappingURL=54.a1bac6c9.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/54.e1d19c05.chunk.js.map b/packages/omiu/examples/build/static/js/54.a1bac6c9.chunk.js.map
similarity index 83%
rename from packages/omiu/examples/build/static/js/54.e1d19c05.chunk.js.map
rename to packages/omiu/examples/build/static/js/54.a1bac6c9.chunk.js.map
index be6619b87..b9c4fea2d 100644
--- a/packages/omiu/examples/build/static/js/54.e1d19c05.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/54.a1bac6c9.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/54.e1d19c05.chunk.js","docs/en/dialog.md"],"names":["webpackJsonp","55","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/54.e1d19c05.chunk.js","sourcesContent":["webpackJsonp([54],{\n\n/***/ 55:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Dialog \\n\\nAlert or confirm dialog.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string | alert | Options: alert, confirm |\\n| show | bool | -- | |\\n| title | string | -- | |\\n| msg | string | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/54.e1d19c05.chunk.js","module.exports = \"## Dialog \\n\\nAlert or confirm dialog.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string | alert | Options: alert, confirm |\\n| show | bool | -- | |\\n| title | string | -- | |\\n| msg | string | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/dialog.md\n// module id = 55\n// module chunks = 54"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/54.a1bac6c9.chunk.js","docs/en/dialog.md"],"names":["webpackJsonp","57","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/54.a1bac6c9.chunk.js","sourcesContent":["webpackJsonp([54],{\n\n/***/ 57:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Dialog \\n\\nAlert or confirm dialog.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string | alert | Options: alert, confirm |\\n| show | bool | -- | |\\n| title | string | -- | |\\n| msg | string | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/54.a1bac6c9.chunk.js","module.exports = \"## Dialog \\n\\nAlert or confirm dialog.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| type | string | alert | Options: alert, confirm |\\n| show | bool | -- | |\\n| title | string | -- | |\\n| msg | string | -- | |\\n| cancelText | string | -- | |\\n| confirmText | string | -- | |\\n| onClose |function | -- | |\\n| onConfirm | function | -- | |\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/dialog.md\n// module id = 57\n// module chunks = 54"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/55.3559eaae.chunk.js b/packages/omiu/examples/build/static/js/55.22bc956c.chunk.js
similarity index 81%
rename from packages/omiu/examples/build/static/js/55.3559eaae.chunk.js
rename to packages/omiu/examples/build/static/js/55.22bc956c.chunk.js
index 497012629..b1dd47fd4 100644
--- a/packages/omiu/examples/build/static/js/55.3559eaae.chunk.js
+++ b/packages/omiu/examples/build/static/js/55.22bc956c.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([55],{54:function(n,e){n.exports="## DatePicker \n\nDate picker.\n\n## Usage\n\n```js\n\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool|-- ||\n| selectedDate | string| -- | |\n| onToggle | function | -- | |\n| onSelect | function| -- ||\n\n\n"}});
-//# sourceMappingURL=55.3559eaae.chunk.js.map
\ No newline at end of file
+webpackJsonp([55],{56:function(n,e){n.exports="## DatePicker \n\nDate picker.\n\n## Usage\n\n```js\n\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| show | bool|-- ||\n| selectedDate | string| -- | |\n| onToggle | function | -- | |\n| onSelect | function| -- ||\n\n\n"}});
+//# sourceMappingURL=55.22bc956c.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/55.3559eaae.chunk.js.map b/packages/omiu/examples/build/static/js/55.22bc956c.chunk.js.map
similarity index 74%
rename from packages/omiu/examples/build/static/js/55.3559eaae.chunk.js.map
rename to packages/omiu/examples/build/static/js/55.22bc956c.chunk.js.map
index 05a4aa57f..6333b4db8 100644
--- a/packages/omiu/examples/build/static/js/55.3559eaae.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/55.22bc956c.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/55.3559eaae.chunk.js","docs/en/date-picker.md"],"names":["webpackJsonp","54","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/55.3559eaae.chunk.js","sourcesContent":["webpackJsonp([55],{\n\n/***/ 54:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## DatePicker \\n\\nDate picker.\\n\\n## Usage\\n\\n```js\\n\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool|-- ||\\n| selectedDate | string| -- | |\\n| onToggle | function | -- | |\\n| onSelect | function| -- ||\\n\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/55.3559eaae.chunk.js","module.exports = \"## DatePicker \\n\\nDate picker.\\n\\n## Usage\\n\\n```js\\n\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool|-- ||\\n| selectedDate | string| -- | |\\n| onToggle | function | -- | |\\n| onSelect | function| -- ||\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/date-picker.md\n// module id = 54\n// module chunks = 55"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/55.22bc956c.chunk.js","docs/en/date-picker.md"],"names":["webpackJsonp","56","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/55.22bc956c.chunk.js","sourcesContent":["webpackJsonp([55],{\n\n/***/ 56:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## DatePicker \\n\\nDate picker.\\n\\n## Usage\\n\\n```js\\n\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool|-- ||\\n| selectedDate | string| -- | |\\n| onToggle | function | -- | |\\n| onSelect | function| -- ||\\n\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/55.22bc956c.chunk.js","module.exports = \"## DatePicker \\n\\nDate picker.\\n\\n## Usage\\n\\n```js\\n\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| show | bool|-- ||\\n| selectedDate | string| -- | |\\n| onToggle | function | -- | |\\n| onSelect | function| -- ||\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/date-picker.md\n// module id = 56\n// module chunks = 55"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/56.9faf861f.chunk.js b/packages/omiu/examples/build/static/js/56.ad84ef57.chunk.js
similarity index 74%
rename from packages/omiu/examples/build/static/js/56.9faf861f.chunk.js
rename to packages/omiu/examples/build/static/js/56.ad84ef57.chunk.js
index bf4a9b6d0..204d9e644 100644
--- a/packages/omiu/examples/build/static/js/56.9faf861f.chunk.js
+++ b/packages/omiu/examples/build/static/js/56.ad84ef57.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([56],{53:function(n,e){n.exports='## Checkbox \n\nCheckbox.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| label | string| | |\n'}});
-//# sourceMappingURL=56.9faf861f.chunk.js.map
\ No newline at end of file
+webpackJsonp([56],{55:function(n,e){n.exports='## Checkbox \n\nCheckbox.\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| label | string| | |\n'}});
+//# sourceMappingURL=56.ad84ef57.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/56.9faf861f.chunk.js.map b/packages/omiu/examples/build/static/js/56.ad84ef57.chunk.js.map
similarity index 64%
rename from packages/omiu/examples/build/static/js/56.9faf861f.chunk.js.map
rename to packages/omiu/examples/build/static/js/56.ad84ef57.chunk.js.map
index 6c1be4d02..b2445bc37 100644
--- a/packages/omiu/examples/build/static/js/56.9faf861f.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/56.ad84ef57.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/56.9faf861f.chunk.js","docs/en/checkbox.md"],"names":["webpackJsonp","53","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/56.9faf861f.chunk.js","sourcesContent":["webpackJsonp([56],{\n\n/***/ 53:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Checkbox \\n\\nCheckbox.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/56.9faf861f.chunk.js","module.exports = \"## Checkbox \\n\\nCheckbox.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/checkbox.md\n// module id = 53\n// module chunks = 56"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/56.ad84ef57.chunk.js","docs/en/checkbox.md"],"names":["webpackJsonp","55","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/56.ad84ef57.chunk.js","sourcesContent":["webpackJsonp([56],{\n\n/***/ 55:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Checkbox \\n\\nCheckbox.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/56.ad84ef57.chunk.js","module.exports = \"## Checkbox \\n\\nCheckbox.\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/checkbox.md\n// module id = 55\n// module chunks = 56"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/57.4a3349b3.chunk.js b/packages/omiu/examples/build/static/js/57.80db4f6f.chunk.js
similarity index 81%
rename from packages/omiu/examples/build/static/js/57.4a3349b3.chunk.js
rename to packages/omiu/examples/build/static/js/57.80db4f6f.chunk.js
index 1fce45a20..4f5c9bfd0 100644
--- a/packages/omiu/examples/build/static/js/57.4a3349b3.chunk.js
+++ b/packages/omiu/examples/build/static/js/57.80db4f6f.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([57],{52:function(n,t){n.exports="## Button \n\nClick or touch it to trigger an operation. The encapsulated logic is triggered in response to user clicks.\n\n## Usage\n\n```js\nI'm button.\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------ |:----------:|:-----:|:-------------:|\n| type | string| primary |Options: primary, default, warn, vcode|\n| size | string | normal |Options: normal, small|\n| disabled | bool| false ||"}});
-//# sourceMappingURL=57.4a3349b3.chunk.js.map
\ No newline at end of file
+webpackJsonp([57],{54:function(n,t){n.exports="## Button \n\nClick or touch it to trigger an operation. The encapsulated logic is triggered in response to user clicks.\n\n## Usage\n\n```js\nI'm button.\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------ |:----------:|:-----:|:-------------:|\n| type | string| primary |Options: primary, default, warn, vcode|\n| size | string | normal |Options: normal, small|\n| disabled | bool| false ||"}});
+//# sourceMappingURL=57.80db4f6f.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/57.4a3349b3.chunk.js.map b/packages/omiu/examples/build/static/js/57.80db4f6f.chunk.js.map
similarity index 73%
rename from packages/omiu/examples/build/static/js/57.4a3349b3.chunk.js.map
rename to packages/omiu/examples/build/static/js/57.80db4f6f.chunk.js.map
index 313f4266b..270ebc72e 100644
--- a/packages/omiu/examples/build/static/js/57.4a3349b3.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/57.80db4f6f.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/57.4a3349b3.chunk.js","docs/en/button.md"],"names":["webpackJsonp","52","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/57.4a3349b3.chunk.js","sourcesContent":["webpackJsonp([57],{\n\n/***/ 52:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Button \\n\\nClick or touch it to trigger an operation. The encapsulated logic is triggered in response to user clicks.\\n\\n## Usage\\n\\n```js\\nI'm button.\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------ |:----------:|:-----:|:-------------:|\\n| type | string| primary |Options: primary, default, warn, vcode|\\n| size | string | normal |Options: normal, small|\\n| disabled | bool| false ||\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/57.4a3349b3.chunk.js","module.exports = \"## Button \\n\\nClick or touch it to trigger an operation. The encapsulated logic is triggered in response to user clicks.\\n\\n## Usage\\n\\n```js\\nI'm button.\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------ |:----------:|:-----:|:-------------:|\\n| type | string| primary |Options: primary, default, warn, vcode|\\n| size | string | normal |Options: normal, small|\\n| disabled | bool| false ||\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/button.md\n// module id = 52\n// module chunks = 57"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/57.80db4f6f.chunk.js","docs/en/button.md"],"names":["webpackJsonp","54","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/57.80db4f6f.chunk.js","sourcesContent":["webpackJsonp([57],{\n\n/***/ 54:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Button \\n\\nClick or touch it to trigger an operation. The encapsulated logic is triggered in response to user clicks.\\n\\n## Usage\\n\\n```js\\nI'm button.\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------ |:----------:|:-----:|:-------------:|\\n| type | string| primary |Options: primary, default, warn, vcode|\\n| size | string | normal |Options: normal, small|\\n| disabled | bool| false ||\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/57.80db4f6f.chunk.js","module.exports = \"## Button \\n\\nClick or touch it to trigger an operation. The encapsulated logic is triggered in response to user clicks.\\n\\n## Usage\\n\\n```js\\nI'm button.\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------ |:----------:|:-----:|:-------------:|\\n| type | string| primary |Options: primary, default, warn, vcode|\\n| size | string | normal |Options: normal, small|\\n| disabled | bool| false ||\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/button.md\n// module id = 54\n// module chunks = 57"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/58.07a83ac7.chunk.js b/packages/omiu/examples/build/static/js/58.59991c5b.chunk.js
similarity index 81%
rename from packages/omiu/examples/build/static/js/58.07a83ac7.chunk.js
rename to packages/omiu/examples/build/static/js/58.59991c5b.chunk.js
index 746f34042..337f16ed7 100644
--- a/packages/omiu/examples/build/static/js/58.07a83ac7.chunk.js
+++ b/packages/omiu/examples/build/static/js/58.59991c5b.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([58],{51:function(n,e){n.exports='## Badge \n\nThe number of circular logo in the upper right corner of the icon.\n\n## \u4f7f\u7528\n\n```js\n\n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| content | string | -- | |\u3000\n| children | json array | -- | The array\'s length is 1. |\u3000'}});
-//# sourceMappingURL=58.07a83ac7.chunk.js.map
\ No newline at end of file
+webpackJsonp([58],{53:function(n,e){n.exports='## Badge \n\nThe number of circular logo in the upper right corner of the icon.\n\n## \u4f7f\u7528\n\n```js\n\n \n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| content | string | -- | |\u3000\n| children | json array | -- | The array\'s length is 1. |\u3000'}});
+//# sourceMappingURL=58.59991c5b.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/58.07a83ac7.chunk.js.map b/packages/omiu/examples/build/static/js/58.59991c5b.chunk.js.map
similarity index 75%
rename from packages/omiu/examples/build/static/js/58.07a83ac7.chunk.js.map
rename to packages/omiu/examples/build/static/js/58.59991c5b.chunk.js.map
index d270f83c8..b1c425556 100644
--- a/packages/omiu/examples/build/static/js/58.07a83ac7.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/58.59991c5b.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/58.07a83ac7.chunk.js","docs/en/badge.md"],"names":["webpackJsonp","51","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/58.07a83ac7.chunk.js","sourcesContent":["webpackJsonp([58],{\n\n/***/ 51:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Badge \\n\\nThe number of circular logo in the upper right corner of the icon.\\n\\n## 使用\\n\\n```js\\n\\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| content | string | -- | | \\n| children | json array | -- | The array's length is 1. | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/58.07a83ac7.chunk.js","module.exports = \"## Badge \\n\\nThe number of circular logo in the upper right corner of the icon.\\n\\n## 使用\\n\\n```js\\n\\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| content | string | -- | | \\n| children | json array | -- | The array's length is 1. | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/badge.md\n// module id = 51\n// module chunks = 58"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/58.59991c5b.chunk.js","docs/en/badge.md"],"names":["webpackJsonp","53","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/58.59991c5b.chunk.js","sourcesContent":["webpackJsonp([58],{\n\n/***/ 53:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Badge \\n\\nThe number of circular logo in the upper right corner of the icon.\\n\\n## 使用\\n\\n```js\\n\\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| content | string | -- | | \\n| children | json array | -- | The array's length is 1. | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/58.59991c5b.chunk.js","module.exports = \"## Badge \\n\\nThe number of circular logo in the upper right corner of the icon.\\n\\n## 使用\\n\\n```js\\n\\n \\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| content | string | -- | | \\n| children | json array | -- | The array's length is 1. | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/badge.md\n// module id = 53\n// module chunks = 58"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/59.dfab187a.chunk.js b/packages/omiu/examples/build/static/js/59.24a90bc1.chunk.js
similarity index 86%
rename from packages/omiu/examples/build/static/js/59.dfab187a.chunk.js
rename to packages/omiu/examples/build/static/js/59.24a90bc1.chunk.js
index c3c51e527..951cbdbf6 100644
--- a/packages/omiu/examples/build/static/js/59.dfab187a.chunk.js
+++ b/packages/omiu/examples/build/static/js/59.24a90bc1.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([59],{50:function(n,o){n.exports="## ActionSheet \n\nSelection component in pop-up mode.\n\n## Usage\n\n```js\n { }\n }, {\n label: 'Option 2',\n onClick: () => { }\n }]}\n actions={[\n {\n label: 'Cancel',\n onClick: this.hide\n }\n ]}\n show={true}\n type=\"ios\"\n onClose={e => { }}\n/>\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| menus | json array| -- ||\n| actions | json array|-- ||\n| scale | number | 2 | |\n| show | bool| false ||\n| type | string| ios | options: ios, android|\n| onClose | function| -- ||\n"}});
-//# sourceMappingURL=59.dfab187a.chunk.js.map
\ No newline at end of file
+webpackJsonp([59],{52:function(n,o){n.exports="## ActionSheet \n\nSelection component in pop-up mode.\n\n## Usage\n\n```js\n { }\n }, {\n label: 'Option 2',\n onClick: () => { }\n }]}\n actions={[\n {\n label: 'Cancel',\n onClick: this.hide\n }\n ]}\n show={true}\n type=\"ios\"\n onClose={e => { }}\n/>\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| menus | json array| -- ||\n| actions | json array|-- ||\n| scale | number | 2 | |\n| show | bool| false ||\n| type | string| ios | options: ios, android|\n| onClose | function| -- ||\n"}});
+//# sourceMappingURL=59.24a90bc1.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/59.dfab187a.chunk.js.map b/packages/omiu/examples/build/static/js/59.24a90bc1.chunk.js.map
similarity index 81%
rename from packages/omiu/examples/build/static/js/59.dfab187a.chunk.js.map
rename to packages/omiu/examples/build/static/js/59.24a90bc1.chunk.js.map
index e03e830d3..e336b1668 100644
--- a/packages/omiu/examples/build/static/js/59.dfab187a.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/59.24a90bc1.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/59.dfab187a.chunk.js","docs/en/action-sheet.md"],"names":["webpackJsonp","50","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/59.dfab187a.chunk.js","sourcesContent":["webpackJsonp([59],{\n\n/***/ 50:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## ActionSheet \\n\\nSelection component in pop-up mode.\\n\\n## Usage\\n\\n```js\\n { }\\n }, {\\n label: 'Option 2',\\n onClick: () => { }\\n }]}\\n actions={[\\n {\\n label: 'Cancel',\\n onClick: this.hide\\n }\\n ]}\\n show={true}\\n type=\\\"ios\\\"\\n onClose={e => { }}\\n/>\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| menus | json array| -- ||\\n| actions | json array|-- ||\\n| scale | number | 2 | |\\n| show | bool| false ||\\n| type | string| ios | options: ios, android|\\n| onClose | function| -- ||\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/59.dfab187a.chunk.js","module.exports = \"## ActionSheet \\n\\nSelection component in pop-up mode.\\n\\n## Usage\\n\\n```js\\n { }\\n }, {\\n label: 'Option 2',\\n onClick: () => { }\\n }]}\\n actions={[\\n {\\n label: 'Cancel',\\n onClick: this.hide\\n }\\n ]}\\n show={true}\\n type=\\\"ios\\\"\\n onClose={e => { }}\\n/>\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| menus | json array| -- ||\\n| actions | json array|-- ||\\n| scale | number | 2 | |\\n| show | bool| false ||\\n| type | string| ios | options: ios, android|\\n| onClose | function| -- ||\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/action-sheet.md\n// module id = 50\n// module chunks = 59"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/59.24a90bc1.chunk.js","docs/en/action-sheet.md"],"names":["webpackJsonp","52","module","exports"],"mappings":"AAAAA,cAAc,KAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/59.24a90bc1.chunk.js","sourcesContent":["webpackJsonp([59],{\n\n/***/ 52:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## ActionSheet \\n\\nSelection component in pop-up mode.\\n\\n## Usage\\n\\n```js\\n { }\\n }, {\\n label: 'Option 2',\\n onClick: () => { }\\n }]}\\n actions={[\\n {\\n label: 'Cancel',\\n onClick: this.hide\\n }\\n ]}\\n show={true}\\n type=\\\"ios\\\"\\n onClose={e => { }}\\n/>\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| menus | json array| -- ||\\n| actions | json array|-- ||\\n| scale | number | 2 | |\\n| show | bool| false ||\\n| type | string| ios | options: ios, android|\\n| onClose | function| -- ||\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/59.24a90bc1.chunk.js","module.exports = \"## ActionSheet \\n\\nSelection component in pop-up mode.\\n\\n## Usage\\n\\n```js\\n { }\\n }, {\\n label: 'Option 2',\\n onClick: () => { }\\n }]}\\n actions={[\\n {\\n label: 'Cancel',\\n onClick: this.hide\\n }\\n ]}\\n show={true}\\n type=\\\"ios\\\"\\n onClose={e => { }}\\n/>\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| menus | json array| -- ||\\n| actions | json array|-- ||\\n| scale | number | 2 | |\\n| show | bool| false ||\\n| type | string| ios | options: ios, android|\\n| onClose | function| -- ||\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/action-sheet.md\n// module id = 52\n// module chunks = 59"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/6.e6396e37.chunk.js b/packages/omiu/examples/build/static/js/6.16dcd58d.chunk.js
similarity index 81%
rename from packages/omiu/examples/build/static/js/6.e6396e37.chunk.js
rename to packages/omiu/examples/build/static/js/6.16dcd58d.chunk.js
index dd44ed474..1c4de65f9 100644
--- a/packages/omiu/examples/build/static/js/6.e6396e37.chunk.js
+++ b/packages/omiu/examples/build/static/js/6.16dcd58d.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([6],{103:function(n,e){n.exports="## SelectList\n\n\u9009\u9879\u5217\u8868\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| list | json array| | |\n| selectedIndex | number | | |\n| onSelect | function| | |\n"}});
-//# sourceMappingURL=6.e6396e37.chunk.js.map
\ No newline at end of file
+webpackJsonp([6],{105:function(n,e){n.exports="## SelectList\n\n\u9009\u9879\u5217\u8868\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| list | json array| | |\n| selectedIndex | number | | |\n| onSelect | function| | |\n"}});
+//# sourceMappingURL=6.16dcd58d.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/6.e6396e37.chunk.js.map b/packages/omiu/examples/build/static/js/6.16dcd58d.chunk.js.map
similarity index 70%
rename from packages/omiu/examples/build/static/js/6.e6396e37.chunk.js.map
rename to packages/omiu/examples/build/static/js/6.16dcd58d.chunk.js.map
index 78fe1a6e5..f3781d653 100644
--- a/packages/omiu/examples/build/static/js/6.e6396e37.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/6.16dcd58d.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/6.e6396e37.chunk.js","docs/zh-cn/select-list.md"],"names":["webpackJsonp","103","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/6.e6396e37.chunk.js","sourcesContent":["webpackJsonp([6],{\n\n/***/ 103:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## SelectList\\n\\n选项列表。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| list | json array| | |\\n| selectedIndex | number | | |\\n| onSelect | function| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/6.e6396e37.chunk.js","module.exports = \"## SelectList\\n\\n选项列表。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| list | json array| | |\\n| selectedIndex | number | | |\\n| onSelect | function| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/select-list.md\n// module id = 103\n// module chunks = 6"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/6.16dcd58d.chunk.js","docs/zh-cn/select-list.md"],"names":["webpackJsonp","105","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/6.16dcd58d.chunk.js","sourcesContent":["webpackJsonp([6],{\n\n/***/ 105:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## SelectList\\n\\n选项列表。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| list | json array| | |\\n| selectedIndex | number | | |\\n| onSelect | function| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/6.16dcd58d.chunk.js","module.exports = \"## SelectList\\n\\n选项列表。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| list | json array| | |\\n| selectedIndex | number | | |\\n| onSelect | function| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/select-list.md\n// module id = 105\n// module chunks = 6"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/7.222caf59.chunk.js b/packages/omiu/examples/build/static/js/7.6e12209d.chunk.js
similarity index 78%
rename from packages/omiu/examples/build/static/js/7.222caf59.chunk.js
rename to packages/omiu/examples/build/static/js/7.6e12209d.chunk.js
index d1afb450d..e8f65aa74 100644
--- a/packages/omiu/examples/build/static/js/7.222caf59.chunk.js
+++ b/packages/omiu/examples/build/static/js/7.6e12209d.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([7],{102:function(n,o){n.exports="## Row \n\n24\u6805\u683c\u5e03\u5c40\u91cc\u7684\u4e00\u884c\u3002\n\n## \u4f7f\u7528\n\n```js\n\n col12\n col12\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| children | json array with col | -- | |\u3000"}});
-//# sourceMappingURL=7.222caf59.chunk.js.map
\ No newline at end of file
+webpackJsonp([7],{104:function(n,o){n.exports="## Row \n\n24\u6805\u683c\u5e03\u5c40\u91cc\u7684\u4e00\u884c\u3002\n\n## \u4f7f\u7528\n\n```js\n\n col12\n col12\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| children | json array with col | -- | |\u3000"}});
+//# sourceMappingURL=7.6e12209d.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/7.222caf59.chunk.js.map b/packages/omiu/examples/build/static/js/7.6e12209d.chunk.js.map
similarity index 70%
rename from packages/omiu/examples/build/static/js/7.222caf59.chunk.js.map
rename to packages/omiu/examples/build/static/js/7.6e12209d.chunk.js.map
index 0a6392684..2402fcc02 100644
--- a/packages/omiu/examples/build/static/js/7.222caf59.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/7.6e12209d.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/7.222caf59.chunk.js","docs/zh-cn/row.md"],"names":["webpackJsonp","102","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/7.222caf59.chunk.js","sourcesContent":["webpackJsonp([7],{\n\n/***/ 102:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Row \\n\\n24栅格布局里的一行。\\n\\n## 使用\\n\\n```js\\n\\n col12\\n col12\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array with col | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/7.222caf59.chunk.js","module.exports = \"## Row \\n\\n24栅格布局里的一行。\\n\\n## 使用\\n\\n```js\\n\\n col12\\n col12\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array with col | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/row.md\n// module id = 102\n// module chunks = 7"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/7.6e12209d.chunk.js","docs/zh-cn/row.md"],"names":["webpackJsonp","104","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/7.6e12209d.chunk.js","sourcesContent":["webpackJsonp([7],{\n\n/***/ 104:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Row \\n\\n24栅格布局里的一行。\\n\\n## 使用\\n\\n```js\\n\\n col12\\n col12\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array with col | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/7.6e12209d.chunk.js","module.exports = \"## Row \\n\\n24栅格布局里的一行。\\n\\n## 使用\\n\\n```js\\n\\n col12\\n col12\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| children | json array with col | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/row.md\n// module id = 104\n// module chunks = 7"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/8.6e697d40.chunk.js b/packages/omiu/examples/build/static/js/8.7aa95294.chunk.js
similarity index 85%
rename from packages/omiu/examples/build/static/js/8.6e697d40.chunk.js
rename to packages/omiu/examples/build/static/js/8.7aa95294.chunk.js
index 849813c00..3173143ce 100644
--- a/packages/omiu/examples/build/static/js/8.6e697d40.chunk.js
+++ b/packages/omiu/examples/build/static/js/8.7aa95294.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([8],{101:function(n,e){n.exports="## Rate \n\n\u8bc4\u5206\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| total | number | -- | \u603b\u7684\u661f\u661f\u4e2a\u6570 |\u3000\n| value | number | -- | \u652f\u6301\u5c0f\u6570\u6253\u534a\u661f |\u3000\n| color | string | -- | |\u3000\n| onSelect | function | -- | |\u3000"}});
-//# sourceMappingURL=8.6e697d40.chunk.js.map
\ No newline at end of file
+webpackJsonp([8],{103:function(n,e){n.exports="## Rate \n\n\u8bc4\u5206\u3002\n\n## \u4f7f\u7528\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------|\n| total | number | -- | \u603b\u7684\u661f\u661f\u4e2a\u6570 |\u3000\n| value | number | -- | \u652f\u6301\u5c0f\u6570\u6253\u534a\u661f |\u3000\n| color | string | -- | |\u3000\n| onSelect | function | -- | |\u3000"}});
+//# sourceMappingURL=8.7aa95294.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/8.6e697d40.chunk.js.map b/packages/omiu/examples/build/static/js/8.7aa95294.chunk.js.map
similarity index 79%
rename from packages/omiu/examples/build/static/js/8.6e697d40.chunk.js.map
rename to packages/omiu/examples/build/static/js/8.7aa95294.chunk.js.map
index e3f01ed5e..7a491b4f6 100644
--- a/packages/omiu/examples/build/static/js/8.6e697d40.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/8.7aa95294.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/8.6e697d40.chunk.js","docs/zh-cn/rate.md"],"names":["webpackJsonp","101","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/8.6e697d40.chunk.js","sourcesContent":["webpackJsonp([8],{\n\n/***/ 101:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Rate \\n\\n评分。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| total | number | -- | 总的星星个数 | \\n| value | number | -- | 支持小数打半星 | \\n| color | string | -- | | \\n| onSelect | function | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/8.6e697d40.chunk.js","module.exports = \"## Rate \\n\\n评分。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| total | number | -- | 总的星星个数 | \\n| value | number | -- | 支持小数打半星 | \\n| color | string | -- | | \\n| onSelect | function | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/rate.md\n// module id = 101\n// module chunks = 8"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/8.7aa95294.chunk.js","docs/zh-cn/rate.md"],"names":["webpackJsonp","103","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/8.7aa95294.chunk.js","sourcesContent":["webpackJsonp([8],{\n\n/***/ 103:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Rate \\n\\n评分。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| total | number | -- | 总的星星个数 | \\n| value | number | -- | 支持小数打半星 | \\n| color | string | -- | | \\n| onSelect | function | -- | | \"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/8.7aa95294.chunk.js","module.exports = \"## Rate \\n\\n评分。\\n\\n## 使用\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------|\\n| total | number | -- | 总的星星个数 | \\n| value | number | -- | 支持小数打半星 | \\n| color | string | -- | | \\n| onSelect | function | -- | | \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/rate.md\n// module id = 103\n// module chunks = 8"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/9.fa86f77b.chunk.js b/packages/omiu/examples/build/static/js/9.d1d70a00.chunk.js
similarity index 77%
rename from packages/omiu/examples/build/static/js/9.fa86f77b.chunk.js
rename to packages/omiu/examples/build/static/js/9.d1d70a00.chunk.js
index ea8f8a93b..bf047ece9 100644
--- a/packages/omiu/examples/build/static/js/9.fa86f77b.chunk.js
+++ b/packages/omiu/examples/build/static/js/9.d1d70a00.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([9],{100:function(n,e){n.exports="## Radio \n\n\u5355\u9009\u6846\u3002\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| label | string| | |\n| name | string| | |\n"}});
-//# sourceMappingURL=9.fa86f77b.chunk.js.map
\ No newline at end of file
+webpackJsonp([9],{102:function(n,e){n.exports="## Radio \n\n\u5355\u9009\u6846\u3002\n\n## Usage\n\n```js\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| checked | bool| false | |\n| label | string| | |\n| name | string| | |\n"}});
+//# sourceMappingURL=9.d1d70a00.chunk.js.map
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/9.fa86f77b.chunk.js.map b/packages/omiu/examples/build/static/js/9.d1d70a00.chunk.js.map
similarity index 73%
rename from packages/omiu/examples/build/static/js/9.fa86f77b.chunk.js.map
rename to packages/omiu/examples/build/static/js/9.d1d70a00.chunk.js.map
index 7453e9e9b..578a02d92 100644
--- a/packages/omiu/examples/build/static/js/9.fa86f77b.chunk.js.map
+++ b/packages/omiu/examples/build/static/js/9.d1d70a00.chunk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../static/js/9.fa86f77b.chunk.js","docs/zh-cn/radio.md"],"names":["webpackJsonp","100","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/9.fa86f77b.chunk.js","sourcesContent":["webpackJsonp([9],{\n\n/***/ 100:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Radio \\n\\n单选框。\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n| name | string| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/9.fa86f77b.chunk.js","module.exports = \"## Radio \\n\\n单选框。\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n| name | string| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/radio.md\n// module id = 100\n// module chunks = 9"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/9.d1d70a00.chunk.js","docs/zh-cn/radio.md"],"names":["webpackJsonp","102","module","exports"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/9.d1d70a00.chunk.js","sourcesContent":["webpackJsonp([9],{\n\n/***/ 102:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Radio \\n\\n单选框。\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n| name | string| | |\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/9.d1d70a00.chunk.js","module.exports = \"## Radio \\n\\n单选框。\\n\\n## Usage\\n\\n```js\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| checked | bool| false | |\\n| label | string| | |\\n| name | string| | |\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/radio.md\n// module id = 102\n// module chunks = 9"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omiu/examples/build/static/js/example.2bdfc031.js b/packages/omiu/examples/build/static/js/example.2bdfc031.js
new file mode 100644
index 000000000..1be739eef
--- /dev/null
+++ b/packages/omiu/examples/build/static/js/example.2bdfc031.js
@@ -0,0 +1,2 @@
+!function(n){function e(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return n[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var t={};e.m=n,e.c=t,e.d=function(n,t,o){e.o(n,t)||Object.defineProperty(n,t,{configurable:!1,enumerable:!0,get:o})},e.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(t,"a",t),t},e.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},e.p="./",e(e.s=112)}([function(n,e,t){"use strict";(function(n){function t(){}function o(n,e){var o,r,i,a,c=hn;for(a=arguments.length;a-- >2;)dn.push(arguments[a]);for(e&&null!=e.children&&(dn.length||dn.push(e.children),delete e.children);dn.length;)if((r=dn.pop())&&void 0!==r.pop)for(a=r.length;a--;)dn.push(r[a]);else"boolean"===typeof r&&(r=null),(i="function"!==typeof n)&&(null==r?r="":"number"===typeof r?r=String(r):"string"!==typeof r&&(i=!1)),i&&o?c[c.length-1]+=r:c===hn?c=[r]:c.push(r),o=i;var s=new t;return s.nodeName=n,s.children=c,s.attributes=null==e?void 0:e,s.key=null==e?void 0:e.key,void 0!==fn.vnode&&fn.vnode(s),s}function r(n){if(null===n||void 0===n)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function i(n,e){for(var t,o,i=r(n),a=1;a2?[].slice.call(arguments,2):n.children)}function p(n){1==Cn.push(n)&&(fn.debounceRendering||_n)(f)}function f(){for(var n;n=Cn.pop();)q(n)}function d(n,e,t){if("string"===typeof e||"number"===typeof e)return void 0!==n.splitText;if("string"===typeof e.nodeName){var o=kn[e.nodeName];return o?t||n._componentConstructor===o:!n._componentConstructor&&h(n,e.nodeName)}return t||n._componentConstructor===e.nodeName}function h(n,e){return n.normalizedNodeName===e||n.nodeName.toLowerCase()===e.toLowerCase()}function b(n){var e=a({},n.attributes);e.children=n.children;var t=n.nodeName.defaultProps;if(void 0!==t)for(var o in t)void 0===e[o]&&(e[o]=t[o]);return e}function m(n,e){var t=e?fn.doc.createElementNS("http://www.w3.org/2000/svg",n):fn.doc.createElement(n);return t.normalizedNodeName=n,t}function y(n){for(var e=n.replace(/\/\*(.|\s)*?\*\//g," ").replace(/\s+/g," "),t={},o=e.match(/ ?(.*?) ?{([^}]*)}/)||[r,i,e],r=o[0],i=o[1],a=o[2],c=a.split(";").map(function(n){return n.split(":").map(function(n){return n&&n.trim()})}),s=c,s=Array.isArray(s),s=0,s=s||s[Symbol.iterator]();;){var l;if(s){if(s>=s.length)break;l=s[s++]}else{if(s=s.next(),s.done)break;l=s.value}var u=l,p=u[0],f=u[1];t[function(n){return n.replace(/\W+\w/g,function(n){return n.slice(-1).toUpperCase()})}(p)]=f}return t}function g(n){var e=n.parentNode;e&&e.removeChild(n)}function w(n,e,t,o,r){if("className"===e&&(e="class"),"key"===e);else if("ref"===e)c(t,null),c(o,n);else if("class"!==e||r)if("style"===e)if(fn.isWeb){if(o&&"string"!==typeof o&&"string"!==typeof t||(n.style.cssText=o||""),o&&"object"===("undefined"===typeof o?"undefined":pn(o))){if("string"!==typeof t)for(var i in t)i in o||(n.style[i]="");for(var i in o)n.style[i]="number"===typeof o[i]&&!1===On.test(i)?o[i]+"px":o[i]}}else{var a=t,s=o;"string"===typeof t&&(a=y(t)),"string"==typeof o&&(s=y(o));var l={},u=!1;if(a){for(var p in a)"object"!=("undefined"===typeof s?"undefined":pn(s))||p in s||(l[p]="",u=!0);for(var f in s)s[f]!==a[f]&&(l[f]=s[f],u=!0);u&&n.setStyles(l)}else n.setStyles(s)}else if("dangerouslySetInnerHTML"===e)o&&(n.innerHTML=o.__html||"");else if("o"==e[0]&&"n"==e[1]){var d=e!==(e=e.replace(/Capture$/,""));e=e.toLowerCase().substring(2),o?t||(n.addEventListener(e,x,d),"tap"==e&&(n.addEventListener("touchstart",_,d),n.addEventListener("touchend",O,d))):(n.removeEventListener(e,x,d),"tap"==e&&(n.removeEventListener("touchstart",_,d),n.removeEventListener("touchend",O,d))),(n._listeners||(n._listeners={}))[e]=o}else if("list"!==e&&"type"!==e&&!r&&e in n)v(n,e,null==o?"":o),null!=o&&!1!==o||n.removeAttribute(e);else{var h=r&&e!==(e=e.replace(/^xlink:?/,""));null==o||!1===o?h?n.removeAttributeNS("http://www.w3.org/1999/xlink",e.toLowerCase()):n.removeAttribute(e):"function"!==typeof o&&(h?n.setAttributeNS("http://www.w3.org/1999/xlink",e.toLowerCase(),o):n.setAttribute(e,o))}else n.className=o||""}function v(n,e,t){try{n[e]=t}catch(n){}}function x(n){return this._listeners[n.type](fn.event&&fn.event(n)||n)}function _(n){this.___touchX=n.touches[0].pageX,this.___touchY=n.touches[0].pageY,this.___scrollTop=document.body.scrollTop}function O(n){Math.abs(n.changedTouches[0].pageX-this.___touchX)<30&&Math.abs(n.changedTouches[0].pageY-this.___touchY)<30&&Math.abs(document.body.scrollTop-this.___scrollTop)<30&&this.dispatchEvent(new CustomEvent("tap",{detail:n}))}function C(n){for(var e=0,t=fn.styleCache.length;e0||e.children.length>0)return!0;for(t in e)if("children"!=t){var o=pn(e[t]);if("function"==o||"object"==o)return!0;if(e[t]!=n[t])return!0}}function q(n,e,t,o){if(!n._disable){var r,i,c,s=n.props,l=n.data,u=n.context,p=n.prevProps||s,f=n.prevState||l,d=n.prevContext||u,h=n.base,m=n.nextBase,y=h||m,g=n._component,w=!1;if(h&&(n.props=p,n.data=f,n.context=d,n.store||2==e||W(p,s)?(w=!1,n.beforeUpdate&&n.beforeUpdate(s,l,u)):w=!0,n.props=s,n.data=l,n.context=u),n.prevProps=n.prevState=n.prevContext=n.nextBase=null,!w){n.beforeRender&&n.beforeRender(),r=n.render(s,l,u),n.css&&S(r,"_s"+C(n.constructor)),F(r,n.scopedCssAttr),n.getChildContext&&(u=a(a({},u),n.getChildContext()));var v,x,_=r&&r.nodeName,O=fn.mapping[_];if(O){var k=b(r);i=g,i&&i.constructor===O&&k.key==i.__key?$(i,k,1,u,!1):(v=i,n._component=i=R(O,k,u),i.nextBase=i.nextBase||m,i._parentComponent=n,$(i,k,0,u,!1),q(i,1,t,!0)),x=i.base}else c=y,v=g,v&&(c=n._component=null),(y||1===e)&&(c&&(c._component=null),x=A(c,r,u,t||!h,y&&y.parentNode,!0));if(y&&x!==y&&i!==g){var E=y.parentNode;E&&x!==E&&(E.replaceChild(x,y),v||(y._component=null,N(y,!1)))}if(v&&Y(v),n.base=x,x&&!o){for(var j=n,T=n;T=T._parentComponent;)(j=T).base=x;x._component=j,x._componentConstructor=j.constructor}}if(!h||t?jn.unshift(n):w||(n.afterUpdate&&n.afterUpdate(p,f,d),n.updated&&n.updated(p,f,d),fn.afterUpdate&&fn.afterUpdate(n)),null!=n._renderCallbacks)for(;n._renderCallbacks.length;)n._renderCallbacks.pop().call(n);Sn||o||z()}}function X(n,e,t,o){for(var r=n&&n._component,i=r,a=n,c=r&&n._componentConstructor===e.nodeName,s=c,l=b(e);r&&!s&&(r=r._parentComponent);)s=r.constructor===e.nodeName;return r&&s&&(!o||r._component)?($(r,l,3,t,o),n=r.base):(i&&!c&&(Y(i),n=a=null),r=R(e.nodeName,l,t,e),n&&!r.nextBase&&(r.nextBase=n,a=null),$(r,l,1,t,o),n=r.base,a&&n!==a&&(a._component=null,N(a,!1))),n}function Y(n){fn.beforeUnmount&&fn.beforeUnmount(n);var e=n.base;n._disable=!0,n.uninstall&&n.uninstall(),n.base=null;var t=n._component;t?Y(t):e&&(null!=e.__omiattr_&&c(e.__omiattr_.ref,null),n.nextBase=e,g(e),D(n),B(e)),c(n.__ref,null)}function G(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function Z(n,e,t,o,r){if(e="string"===typeof e?document.querySelector(e):e,o)for(;e.firstChild;)e.removeChild(e.firstChild);return r&&(r="string"===typeof r?document.querySelector(r):r),A(r,n,t,!1,e,!1)}function J(n,e){fn.mapping[n]=e}function K(n){return n.replace(/([1-9]\d*|0)(\.\d*)*rpx/g,function(n,e){return window.innerWidth*Number(e)/750+"px"})}function Q(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function nn(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==("undefined"===typeof e?"undefined":pn(e))&&"function"!==typeof e?n:e}function en(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+("undefined"===typeof e?"undefined":pn(e)));n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}function tn(){for(var n=[],e=0;e0)return{class:tn.apply(null,t)}}function rn(n){var e=n.base;if(e)for(;e.parentNode;){if(e.parentNode._component)return e.parentNode._component;e=e.parentNode}}function an(n){var e="";for(var t in n){var o=n[t];null!=o&&(e&&(e+=" "),e+=$n[t]||($n[t]=t.replace(/([A-Z])/g,"-$1").toLowerCase()),e+=": ",e+=o,"number"===typeof o&&!1===IS_NON_DIMENSIONAL.test(t)&&(e+="px"),e+=";")}return e||void 0}function cn(n,e,t,o,r){if(null==n||"boolean"===typeof n)return"";var i=n.nodeName,a=n.attributes,c=!1;t=t||{},e=Object.assign({scopedCSS:!0},e);var s=e.pretty,l=s&&"string"===typeof s?s:"\t";if("object"!==("undefined"===typeof n?"undefined":pn(n))&&!i)return Dn(n);var u=Hn[i];if(u){c=!0;var p,f=ln(n),d=new u(f,t);d._disable=d.__x=!0,d.props=f,d.store=t,d.install&&d.install(),d.beforeRender&&d.beforeRender(),p=d.render(d.props,d.data,d.store);var h;if(e.scopedCSS){if(d.css){var b="function"===typeof d.css?d.css():d.css,m="_s"+C(d.constructor);h='"}d.css&&S(p,"_s"+C(d.constructor)),d.scopedCSSAttr=n.css,F(p,d.scopedCSSAttr)}return cn(p,e,t,!1,h)}var y,g="";if(a){var w=Object.keys(a);e&&!0===e.sortAttributes&&w.sort();for(var v=0;v]/)&&(e&&e.allAttributes||"key"!==x&&"ref"!==x))){if("className"===x){if(a.class)continue;x="class"}else o&&x.match(/^xlink:?./)&&(x=x.toLowerCase().replace(/^xlink:?/,"xlink:"));"style"===x&&_&&"object"===("undefined"===typeof _?"undefined":pn(_))&&(_=an(_));var O=e.attributeHook&&e.attributeHook(x,_,t,e,c);if(O||""===O)g+=O;else if("dangerouslySetInnerHTML"===x)y=_&&_.__html;else if((_||0===_||""===_)&&"function"!==typeof _){if((!0===_||""===_)&&(_=x,!e||!e.xml)){g+=" "+x;continue}g+=" "+x+'="'+Dn(_)+'"'}}}}if(s){var E=g.replace(/^\n\s*/," ");E===g||~E.indexOf("\n")?s&&~g.indexOf("\n")&&(g+="\n"):g=E}if(g="<"+i+g+">",String(i).match(/[\s\n\\\/='"\0<>]/))throw g;var j=String(i).match(Un);j&&(g=g.replace(/>$/," />"));var T=[];if(y)s&&Vn(y)&&(y="\n"+l+Rn(y,l)),g+=y;else if(n.children){for(var P=s&&~g.indexOf("\n"),v=0;v";return j||(s&&~g.indexOf("\n")&&(g+="\n"),g+=""+i+">"),r?r+g:g}function sn(n,e){for(var t in e)n[t]=e[t];return n}function ln(n){var e=sn({},n.attributes);e.children=n.children;var t=n.nodeName.defaultProps;if(void 0!==t)for(var o in t)void 0===e[o]&&(e[o]=t[o]);return e}function un(){return{}}Object.defineProperty(e,"__esModule",{value:!0});var pn="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"===typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},fn={scopedStyle:!0,mapping:{},isWeb:!0,staticStyleMapping:{},doc:"object"===("undefined"===typeof document?"undefined":pn(document))?document:null,root:function(){return"object"===("undefined"===typeof n?"undefined":pn(n))&&n&&n.Math===Math&&n.Array===Array?n:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n?n:function(){return this}()}(),styleCache:[]},dn=[],hn=[],bn=Object.getOwnPropertySymbols,mn=Object.prototype.hasOwnProperty,yn=Object.prototype.propertyIsEnumerable;if("undefined"!==typeof Element&&!Element.prototype.addEventListener){var gn=function(n){n||(n=window.event);for(var e=0,t=0,o=wn[n.type];t8&&(vn=!0)}var _n=vn?Promise.resolve().then.bind(Promise.resolve()):setTimeout,On=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,Cn=[],kn=fn.mapping,En=0,jn=[],Sn=0,Tn=!1,Pn=!1,Fn={},zn=function n(e,t,o){var r=function(e,t,o){e.$observer||(e.$observer=this);var r=e.$observer,i=[];n.isArray(e)&&(0===e.length&&(e.$observeProps={},e.$observeProps.$observerPath="#"),r.mock(e));for(var a in e)e.hasOwnProperty(a)&&(o?n.isArray(t)&&n.isInArray(t,a)?(i.push(a),r.watch(e,a)):n.isString(t)&&a==t&&(i.push(a),r.watch(e,a)):(i.push(a),r.watch(e,a)));r.target=e,r.propertyChangedHandler||(r.propertyChangedHandler=[]);var c=o||t;r.propertyChangedHandler.push({all:!o,propChanged:c,eventPropArr:i})};return r.prototype={onPropertyChanged:function(e,t,o,r,i){if(t!==o&&this.propertyChangedHandler)for(var a=n._getRootName(e,i),c=0,s=this.propertyChangedHandler.length;c-1;)if(e===n[t])return!0;return!1},zn.isFunction=function(n){return"[object Function]"==Object.prototype.toString.call(n)},zn._getRootName=function(n,e){return"#"===e?n:e.split("-")[1]},zn.add=function(n,e){n.$observer.watch(n,e)},zn.set=function(n,e,t,o){o||(n[e]=t),n.$observer.watch(n,e),o&&(n[e]=t)},Array.prototype.size=function(n){this.length=n};var An=[],Mn=[],In=0,Nn=function(){function n(e,t){G(this,n),this.props=i(l(this.constructor.props),this.constructor.defaultProps,e),this.elementId=In++,this.data=this.constructor.data||this.data||{},this._preCss=null,this.store=t}return n.prototype.update=function(n){this._willUpdate=!0,n&&(this._renderCallbacks=this._renderCallbacks||[]).push(n),q(this,2),fn.componentChange&&fn.componentChange(this,this.base),this._willUpdate=!1},n.prototype.fire=function(n,e){var t=this;Object.keys(this.props).every(function(o){return"on"+n.toLowerCase()!==o.toLowerCase()||(t.props[o]({detail:e}),!1)})},n.prototype.render=function(){},n}();Nn.is="WeElement";var Bn=function(n){function e(){return Q(this,e),nn(this,n.apply(this,arguments))}return en(e,n),e.prototype.beforeInstall=function(){this.data=this.vm.data},e}(Nn);Bn.observe=!0,Bn.mergeUpdate=!0;var Ln={}.hasOwnProperty,Dn=function(n){return String(n).replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},Rn=function(n,e){return String(n).replace(/(\n+)/g,"$1"+(e||"\t"))},Hn=fn.mapping,Un=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,Vn=function(n,e,t){return String(n).length>(e||40)||!t&&-1!==String(n).indexOf("\n")||-1!==String(n).indexOf("<")},$n={},Wn=Nn,qn=J;fn.root.Omi={h:o,createElement:o,cloneElement:u,createRef:un,Component:Nn,render:Z,rerender:f,options:fn,WeElement:Wn,define:J,rpx:K,ModelView:Bn,defineElement:qn,classNames:tn,extractClass:on,getHost:rn,renderToString:cn},fn.root.omi=fn.root.Omi,fn.root.Omi.version="omio-1.3.7";var Xn={h:o,createElement:o,cloneElement:u,createRef:un,Component:Nn,render:Z,rerender:f,options:fn,WeElement:Wn,define:J,rpx:K,ModelView:Bn,defineElement:qn,classNames:tn,extractClass:on,getHost:rn,renderToString:cn};e.default=Xn,e.h=o,e.createElement=o,e.cloneElement=u,e.createRef=un,e.Component=Nn,e.render=Z,e.rerender=f,e.options=fn,e.WeElement=Wn,e.define=J,e.rpx=K,e.ModelView=Bn,e.defineElement=qn,e.classNames=tn,e.extractClass=on,e.getHost=rn,e.renderToString=cn}).call(e,t(2))},function(n,e,t){"use strict";function o(n,e){var t=n[1]||"",o=n[3];if(!o)return t;if(e&&"function"===typeof btoa){var i=r(o);return[t].concat(o.sources.map(function(n){return"/*# sourceURL="+o.sourceRoot+n+" */"})).concat([i]).join("\n")}return[t].join("\n")}function r(n){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"}n.exports=function(n){var e=[];return e.toString=function(){return this.map(function(e){var t=o(e,n);return e[2]?"@media "+e[2]+"{"+t+"}":t}).join("")},e.i=function(n,t){"string"===typeof n&&(n=[[null,n,""]]);for(var o={},r=0;rl){for(var e=0,t=a.length-s;e-1?e:n}function d(n,e){e=e||{};var t=e.body;if(n instanceof d){if(n.bodyUsed)throw new TypeError("Already read");this.url=n.url,this.credentials=n.credentials,e.headers||(this.headers=new r(n.headers)),this.method=n.method,this.mode=n.mode,t||null==n._bodyInit||(t=n._bodyInit,n.bodyUsed=!0)}else this.url=String(n);if(this.credentials=e.credentials||this.credentials||"omit",!e.headers&&this.headers||(this.headers=new r(e.headers)),this.method=f(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&t)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(t)}function h(n){var e=new FormData;return n.trim().split("&").forEach(function(n){if(n){var t=n.split("="),o=t.shift().replace(/\+/g," "),r=t.join("=").replace(/\+/g," ");e.append(decodeURIComponent(o),decodeURIComponent(r))}}),e}function b(n){var e=new r;return n.split(/\r?\n/).forEach(function(n){var t=n.split(":"),o=t.shift().trim();if(o){var r=t.join(":").trim();e.append(o,r)}}),e}function m(n,e){e||(e={}),this.type="default",this.status="status"in e?e.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new r(e.headers),this.url=e.url||"",this._initBody(n)}if(!n.fetch){var y={searchParams:"URLSearchParams"in n,iterable:"Symbol"in n&&"iterator"in Symbol,blob:"FileReader"in n&&"Blob"in n&&function(){try{return new Blob,!0}catch(n){return!1}}(),formData:"FormData"in n,arrayBuffer:"ArrayBuffer"in n};if(y.arrayBuffer)var g=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],w=function(n){return n&&DataView.prototype.isPrototypeOf(n)},v=ArrayBuffer.isView||function(n){return n&&g.indexOf(Object.prototype.toString.call(n))>-1};r.prototype.append=function(n,o){n=e(n),o=t(o);var r=this.map[n];this.map[n]=r?r+","+o:o},r.prototype.delete=function(n){delete this.map[e(n)]},r.prototype.get=function(n){return n=e(n),this.has(n)?this.map[n]:null},r.prototype.has=function(n){return this.map.hasOwnProperty(e(n))},r.prototype.set=function(n,o){this.map[e(n)]=t(o)},r.prototype.forEach=function(n,e){for(var t in this.map)this.map.hasOwnProperty(t)&&n.call(e,this.map[t],t,this)},r.prototype.keys=function(){var n=[];return this.forEach(function(e,t){n.push(t)}),o(n)},r.prototype.values=function(){var n=[];return this.forEach(function(e){n.push(e)}),o(n)},r.prototype.entries=function(){var n=[];return this.forEach(function(e,t){n.push([t,e])}),o(n)},y.iterable&&(r.prototype[Symbol.iterator]=r.prototype.entries);var x=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];d.prototype.clone=function(){return new d(this,{body:this._bodyInit})},p.call(d.prototype),p.call(m.prototype),m.prototype.clone=function(){return new m(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new r(this.headers),url:this.url})},m.error=function(){var n=new m(null,{status:0,statusText:""});return n.type="error",n};var _=[301,302,303,307,308];m.redirect=function(n,e){if(-1===_.indexOf(e))throw new RangeError("Invalid status code");return new m(null,{status:e,headers:{location:n}})},n.Headers=r,n.Request=d,n.Response=m,n.fetch=function(n,e){return new Promise(function(t,o){var r=new d(n,e),i=new XMLHttpRequest;i.onload=function(){var n={status:i.status,statusText:i.statusText,headers:b(i.getAllResponseHeaders()||"")};n.url="responseURL"in i?i.responseURL:n.headers.get("X-Request-URL");var e="response"in i?i.response:i.responseText;t(new m(e,n))},i.onerror=function(){o(new TypeError("Network request failed"))},i.ontimeout=function(){o(new TypeError("Network request failed"))},i.open(r.method,r.url,!0),"include"===r.credentials&&(i.withCredentials=!0),"responseType"in i&&y.blob&&(i.responseType="blob"),r.headers.forEach(function(n,e){i.setRequestHeader(e,n)}),i.send("undefined"===typeof r._bodyInit?null:r._bodyInit)})},n.fetch.polyfill=!0}}("undefined"!==typeof self?self:void 0)},function(n,e,t){"use strict";function o(n){if(null===n||void 0===n)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;n.exports=function(){try{if(!Object.assign)return!1;var n=new String("abc");if(n[5]="de","5"===Object.getOwnPropertyNames(n)[0])return!1;for(var e={},t=0;t<10;t++)e["_"+String.fromCharCode(t)]=t;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(n){return e[n]}).join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(n){o[n]=n}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(n){return!1}}()?Object.assign:function(n,e){for(var t,c,s=o(n),l=1;l=0||Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o]);return t}function r(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function i(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?n:e}function a(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}var c,s,l=Object.assign||function(n){for(var e=1;e0&&r.expand&&(n=this.getNodeCount(n,r.children))}return n},e.prototype.toggle=function(n){var e=this.getChildById(n,this.props.data.children);e.expand=!e.expand,this.update()},e.prototype.rename=function(n,e){this.getChildById(n,this.data.children).name=e,this.update()},e.prototype.beforeRender=function(){this.data.children&&(this.data.emptyArr=new Array(this.getNodeCount(0,this.data.children)))},e.prototype.css=function(){return s.default},e.prototype.render=function(n){return Omi.h("div",{class:"o-tree"},Omi.h("ul",{class:"tree-wp"},Omi.h("tree-node",{data:n.data,root:this})))},e}(a.WeElement))},function(n,e,t){"use strict";function o(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function r(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?n:e}function i(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}var a=t(0),c=t(20),s=function(n){return n&&n.__esModule?n:{default:n}}(c);t(10),(0,a.define)("tree-node",function(n){function e(){var t,i,a;o(this,e);for(var c=arguments.length,s=Array(c),l=0;l0?i?"expand":"contract":""),"data-node-id":o},r.length>0&&Omi.h("o-icon",{onClick:function(n){return e.toggle(n,o)},scale:1,color:"#171717",class:"icon",path:i?"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z":"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z"}),Omi.h("span",{onClick:function(n){return e.clickNode(n,o)},class:"name"},a)),r.length>0&&i&&Omi.h("ul",{"data-node-id":o},n.data.children.map(function(n){return Omi.h("tree-node",{data:n,root:e.props.root})})))},e}(a.WeElement))},function(n,e,t){var o=t(21);n.exports="string"===typeof o?o:o.toString()},function(n,e,t){e=n.exports=t(1)(void 0),e.push([n.i,".drag-over {\n border: 1px dashed white;\n}\n\n.node-root {\n color: #171717;\n font-size: 12px;\n margin-left: 10px;\n}\n\n.node-title {\n height: 32px;\n line-height: 32px;\n}\n\n.name {\n cursor: pointer;\n}\n\nul,\nli {\n list-style: none;\n padding: 0;\n padding-left: 5px;\n margin: 0 ;\n}\n\n\n.icon{\n position: relative;\n top: 1px;\n cursor: pointer;\n}\n",""])},function(n,e,t){var o=t(23);n.exports="string"===typeof o?o:o.toString()},function(n,e,t){e=n.exports=t(1)(void 0),e.push([n.i,".o-tree {\n position: relative;\n width: 240px;\n height: auto;\n min-height: 200px;\n}\n\n\nul,\nli {\n list-style: none;\n padding: 0;\n padding-left: 5px;\n margin: 0;\n}\n\n",""])},,,,,,,,,,,,,,,,,,,,,,,,,,function(n,e,t){"use strict";function o(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function r(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?n:e}function i(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}var a=t(0),c=t(155),s=function(n){return n&&n.__esModule?n:{default:n}}(c);(0,a.define)("o-list-item",function(n){function e(){return o(this,e),r(this,n.apply(this,arguments))}return i(e,n),e.prototype.css=function(){return s.default},e.prototype.render=function(n){var e=n.__inList?"border-bottom-1px":"border-1px";return Omi.h("li",{class:e},n.icon?Omi.h("img",{src:n.icon}):null,Omi.h("span",{class:"title"},n.title),Omi.h("span",{class:"content"},n.content),n.access?Omi.h("i",null):null)},e}(a.WeElement))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,e,t){t(4),n.exports=t(113)},function(n,e,t){"use strict";function o(n){return n&&n.__esModule?n:{default:n}}function r(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function i(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?n:e}function a(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}var c=function(){function n(n,e){for(var t=0;t0&&t.numEdge>0){for(var r=Math.min(t.numEdge,o[0]),i=0;i0){this.pageNum-t.numEdge>o[1]&&t.ellipseText&&e.push(Omi.h("li",{class:"o-icon more btn-quicknext o-icon-more"}));for(var a=Math.max(this.pageNum-t.numEdge,o[1]),i=a;in?Math.max(Math.min(this.data.currentPage-n,e),0):0,this.data.currentPage>n?Math.min(this.data.currentPage+n,this.pageNum):Math.min(this.data.numDisplay,this.pageNum)]},e.prototype.getPrev=function(){var n=this;return 0===this.data.currentPage?Omi.h("button",{type:"button",class:"btn-prev",disabled:"disabled"},Omi.h("svg",{viewBox:"64 64 896 896",class:"","data-icon":"left",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},Omi.h("path",{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}))):Omi.h("button",{type:"button",class:"btn-prev",onclick:function(e){n.goto(n.data.currentPage-1)}},Omi.h("svg",{viewBox:"64 64 896 896",class:"","data-icon":"left",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},Omi.h("path",{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"})))},e.prototype.getNext=function(){var n=this;return this.data.currentPage===this.pageNum-1?Omi.h("button",{type:"button",class:"btn-next",disabled:"disabled"},Omi.h("svg",{viewBox:"64 64 896 896",class:"","data-icon":"right",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},Omi.h("path",{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"}))):Omi.h("button",{type:"button",class:"btn-next",onclick:function(e){n.goto(n.data.currentPage+1)}},Omi.h("svg",{viewBox:"64 64 896 896",class:"","data-icon":"right",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},Omi.h("path",{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"})))},e.prototype.getItem=function(n,e){var t=this;return this.data.currentPage===n?Omi.h("li",{class:"number active"},e):Omi.h("li",{class:"number",onclick:function(e){t.goto(n)}},e)},e}(s.WeElement),a.observe=!0,c))},function(n,e,t){var o=t(116);n.exports="string"===typeof o?o:o.toString()},function(n,e,t){e=n.exports=t(1)(void 0),e.push([n.i,"div {\n color: rgba(0, 0, 0, .65);\n}\n\n* {\n box-sizing: border-box;\n}\n\nul,\nli {\n padding: 0;\n margin: 0;\n}\n\nli {\n display: inline-block;\n min-width: 32px;\n height: 32px;\n border: 1px solid #ccc;\n vertical-align: middle;\n line-height: 32px;\n text-align: center;\n margin: 0 3px 0 3px;\n cursor: pointer;\n border-radius: 3px;\n}\n\n.o-pager {\n display: inline-block;\n}\n\nbutton {\n width: 32px;\n height: 32px;\n appearance: none;\n -webkit-appearance: none;\n position: relative;\n border: 1px solid #ccc;\n background: none;\n top: 1px;\n border-radius: 3px;\n cursor: pointer;\n outline: none;\n}\n\nbutton.btn-next:not(disabled):active,\nbutton.btn-prev:not(disabled):active {\n background-color: #eee;\n}\n\nbutton:disabled {\n pointer-events: none;\n border-color: #eee;\n cursor: default;\n}\n\n.more:after {\n content: '...';\n}\n\n.more {\n border: none;\n cursor: default;\n}\n\n.active {\n border-color: #07C160;\n color: rgb(4, 161, 80);\n}\n\nsvg {\n position: relative;\n top: 2px;\n}",""])},function(n,e,t){"use strict";function o(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function r(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?n:e}function i(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}var a=t(0),c=t(118),s=function(n){return n&&n.__esModule?n:{default:n}}(c);(0,a.define)("o-input-number",function(n){function e(){var t,i,a;o(this,e);for(var c=arguments.length,s=Array(c),l=0;l=i.props.max,i.update(),i.props.onChange(i.data.value))},i.plus=function(){i.data.pDisabled||(i.data.value+=i.props.step,i.data.pDisabled=i.data.value>=i.props.max,i.data.pDisabled&&(i.data.value=i.props.max),i.data.mDisabled=i.data.value<=i.props.min,i.update(),i.props.onChange(i.data.value))},a=t,r(i,a)}return i(e,n),e.prototype.css=function(){return s.default},e.prototype.install=function(){this.data.value=this.props.value},e.prototype.render=function(n,e){return Omi.h("div",(0,a.extractClass)(n,"o-input-number"),Omi.h("span",{role:"button",class:"decrease"+(e.mDisabled?" is-disabled":""),onClick:this.minus},"-"),Omi.h("span",{role:"button",class:"increase"+(e.pDisabled?" is-disabled":""),onClick:this.plus},"+"),Omi.h("div",{class:"input"},Omi.h("input",{type:"text",autocomplete:"off","aria-label":"\u63cf\u8ff0\u6587\u5b57",max:"10",min:"1",class:"o-input__inner",role:"spinbutton","aria-valuemax":"10","aria-valuemin":"1","aria-valuenow":"1",name:n.name,value:e.value,"aria-disabled":"undefined"})))},e}(a.WeElement))},function(n,e,t){var o=t(119);n.exports="string"===typeof o?o:o.toString()},function(n,e,t){e=n.exports=t(1)(void 0),e.push([n.i,".o-input-number {\n position: relative;\n width: 150px;\n display: inline-block;\n}\n\nspan {\n position: absolute;\n border: 1px solid #ccc;\n width: 32px;\n height: 32px;\n background-color: white;\n cursor: pointer;\n text-align: center;\n line-height: 29px;\n}\n\n* {\n box-sizing: border-box;\n}\n\n.decrease {\n left: 1px;\n border-radius: 3px 0px 0px 3px;\n user-select: none;\n}\n\n.increase {\n right: 1px;\n border-radius: 0px 3px 3px 0px;\n user-select: none;\n}\n\n.input {\n width: 100%;\n}\n\ninput {\n width: 100px;\n height: 32px;\n margin: 0 auto;\n display: block;\n text-align: center;\n border: 1px solid #ccc;\n}",""])},function(n,e,t){var o=t(121);n.exports="string"===typeof o?o:o.toString()},function(n,e,t){e=n.exports=t(1)(void 0),e.push([n.i,'.weui-btn {\n background-color: #9CE6BF;\n color: #D7F5E5;\n}\n\n.weui-btn_disabled.weui-btn {\n cursor: default;\n}\n\n.weui-btn_plain-disabled.weui-btn {\n cursor: default;\n}\n\nbutton.weui-btn,\ninput.weui-btn {\n cursor: pointer;\n width: 100%;\n border-width: 0;\n outline: 0;\n -webkit-appearance: none;\n}\n\nbutton.weui-btn:focus,\ninput.weui-btn:focus {\n outline: 0;\n}\n\nbutton.weui-btn_inline,\ninput.weui-btn_inline,\nbutton.weui-btn_mini,\ninput.weui-btn_mini {\n width: auto;\n}\n\nbutton.weui-btn_plain-primary,\ninput.weui-btn_plain-primary,\nbutton.weui-btn_plain-default,\ninput.weui-btn_plain-default {\n border-width: 1px;\n background-color: transparent;\n}\n\n.weui-btn {\n position: relative;\n display: block;\n margin-left: auto;\n margin-right: auto;\n padding-left: 14px;\n padding-right: 14px;\n box-sizing: border-box;\n font-size: 18px;\n text-align: center;\n text-decoration: none;\n color: #FFFFFF;\n line-height: 2.55555556;\n border-radius: 3px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n overflow: hidden;\n}\n\n.weui-btn:after {\n content: " ";\n width: 200%;\n height: 200%;\n position: absolute;\n top: 0;\n left: 0;\n /* border:1px solid rgba(0, 0, 0, 0.2); */\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n box-sizing: border-box;\n border-radius: 10px;\n}\n\n.weui-btn_inline {\n display: inline-block;\n}\n\n.weui-btn_default {\n background-color: #F8F7F8;\n color: black;\n}\n\n.weui-btn_default:not(.weui-btn_disabled):visited {\n color: #000000;\n}\n\n.weui-btn_default:not(.weui-btn_disabled):active {\n background-color: rgb(243, 239, 239);\n}\n\n.weui-btn_primary {\n background-color: #07C160;\n}\n\n.weui-btn_primary:not(.weui-btn_disabled):visited {\n color: #FFFFFF;\n}\n\n.weui-btn_primary:not(.weui-btn_disabled):active {\n background-color: rgb(5, 202, 100);\n ;\n}\n\n.weui-btn_warn {\n background-color: #F95050;\n}\n\n.weui-btn_warn:not(.weui-btn_disabled):visited {\n color: #FFFFFF;\n}\n\n.weui-btn_warn:not(.weui-btn_disabled):active {\n color: rgba(255, 255, 255, 0.6);\n background-color: #F95050;\n}\n\n.weui-btn_disabled {\n background-color: #9CE6BF;\n color: #D7F5E5;\n}\n\n.weui-btn_disabled.weui-btn_default {\n color: rgba(0, 0, 0, 0.3);\n background-color: #F7F7F7;\n}\n\n.weui-btn_disabled.weui-btn_primary {\n background-color: #9CE6BF;\n color: #D7F5E5;\n}\n\n.weui-btn_disabled.weui-btn_warn {\n background-color: rgb(240, 158, 157);\n}\n\n.weui-btn_loading .weui-loading {\n margin: -0.2em 0.34em 0 0;\n}\n\n.weui-btn_loading.weui-btn_primary,\n.weui-btn_loading.weui-btn_warn {\n color: rgba(255, 255, 255, 0.6);\n}\n\n.weui-btn_loading.weui-btn_warn {\n background-color: #F95050;\n}\n\n.weui-btn_plain-primary {\n color: #07C160;\n border: 1px solid #07C160;\n}\n\n.weui-btn_plain-primary:not(.weui-btn_plain-disabled):active {\n color: #9ED99D;\n border-color: #9ED99D;\n}\n\n.weui-btn_plain-primary:after {\n border-width: 0;\n}\n\n.weui-btn_plain-default {\n color: #353535;\n border: 1px solid #353535;\n}\n\n.weui-btn_plain-default:not(.weui-btn_plain-disabled):active {\n color: rgba(53, 53, 53, 0.6);\n border-color: rgba(53, 53, 53, 0.6);\n}\n\n.weui-btn_plain-default:after {\n border-width: 0;\n}\n\n.weui-btn_plain-disabled {\n color: rgba(0, 0, 0, 0.2);\n border-color: rgba(0, 0, 0, 0.2);\n}\n\nbutton.weui-btn {\n width: 100%;\n border-width: 0;\n outline: 0;\n -webkit-appearance: none;\n}\n\nbutton.weui-btn:focus {\n outline: 0;\n}\n\nbutton.weui-btn_inline,\ninput.weui-btn_inline,\nbutton.weui-btn_mini,\ninput.weui-btn_mini {\n width: auto;\n}\n\nbutton.weui-btn_plain-primary,\ninput.weui-btn_plain-primary,\nbutton.weui-btn_plain-default,\ninput.weui-btn_plain-default {\n border-width: 1px;\n background-color: transparent;\n}\n\n.weui-btn_mini {\n display: inline-block;\n padding: 0 1.32em;\n line-height: 2.3;\n font-size: 13px;\n}\n\n.weui-btn+.weui-btn {\n margin-top: 15px;\n}\n\n.weui-btn.weui-btn_inline+.weui-btn.weui-btn_inline {\n margin-top: auto;\n margin-left: 15px;\n}\n\n.weui-btn-area {\n margin: 1.17647059em 15px 0.3em;\n}\n\n.weui-btn-area_inline {\n display: -webkit-box;\n display: -webkit-flex;\n display: flex;\n}\n\n.weui-btn-area_inline .weui-btn {\n margin-top: auto;\n margin-right: 15px;\n width: 100%;\n -webkit-box-flex: 1;\n -webkit-flex: 1;\n flex: 1;\n}\n\n.weui-btn-area_inline .weui-btn:last-child {\n margin-right: 0;\n}',""])},function(n,e,t){"use strict";function o(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function r(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?n:e}function i(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}var a,c,s=Object.assign||function(n){for(var e=1;ea {\n text-align: center;\n display: block;\n position: relative;\n line-height: 35px;\n cursor: pointer;\n white-space: nowrap;\n text-align: left;\n height: 60px;\n color: #F2F2F2;\n}\n\na:active {\n background-color: rgb(63, 63, 63);\n}\n\n.icon {\n position: absolute;\n left: 20px;\n top: 13px;\n}\n\n.wd {\n margin-left: 60px;\n line-height: 60px;\n border-bottom: 1px solid #555555;\n}\n\n.arrow {\n position: absolute;\n width: 10px;\n height: 10px;\n background-color: #4C4B4C;\n transform: rotate(45deg);\n border-radius: 2px;\n top: -4px;\n right: 15px;\n ;\n}",""])},function(n,e,t){"use strict";function o(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function r(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?n:e}function i(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}var a=t(0),c=t(141),s=function(n){return n&&n.__esModule?n:{default:n}}(c);(0,a.define)("o-badge",function(n){function e(){return o(this,e),r(this,n.apply(this,arguments))}return i(e,n),e.prototype.css=function(){return s.default},e.prototype.render=function(n){return void 0!==n.content?Omi.h("div",(0,a.extractClass)(n,"o-badge"),n.children[0],Omi.h("span",{class:"badge",style:"top: -.7em;right: -1em;"},n.content)):n.dot?Omi.h("div",{class:"o-badge"},n.children[0],Omi.h("span",{class:"circle",style:"position: absolute;top: -.2em;right: -.2em;"})):Omi.h("div",{class:"o-badge"},n.children[0])},e}(a.WeElement))},function(n,e,t){var o=t(142);n.exports="string"===typeof o?o:o.toString()},function(n,e,t){e=n.exports=t(1)(void 0),e.push([n.i,".o-badge {\n position: relative;\n display: inline-block;\n}\n\n.badge {\n position: absolute;\n padding: .15em .4em;\n min-width: 8px;\n border-radius: 18px;\n background-color: #F95050;\n color: #FFFFFF;\n line-height: 1.2;\n text-align: center;\n font-size: 12px;\n vertical-align: middle;\n white-space: nowrap;\n overflow: hidden;\n max-width: 35px;\n}\n\n.circle {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background-color: #F95050;\n}",""])},function(n,e,t){"use strict";function o(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function r(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?n:e}function i(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}var a=Object.assign||function(n){for(var e=1;e.weui-cell__bd {\n position: relative;\n z-index: 1;\n background-color: #FFFFFF;\n}\n\n.weui-cell_swiped>.weui-cell__ft {\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n display: -webkit-box;\n display: -webkit-flex;\n display: flex;\n color: #FFFFFF;\n}\n\n.weui-cells_radio .weui-cell__ft {\n padding-left: 0.35em;\n}\n\n.weui-cells_radio .weui-check:checked+.weui-icon-checked:before {\n display: block;\n content: \'\\EA08\';\n color: #07C160;\n font-size: 16px;\n}\n\n.weui-cells_checkbox .weui-cell__hd {\n padding-right: 0.35em;\n}\n\n.weui-cells_checkbox .weui-icon-checked:before {\n content: \'\\EA01\';\n color: #C9C9C9;\n font-size: 23px;\n display: block;\n}\n\n.weui-cells_checkbox .weui-check:checked+.weui-icon-checked:before {\n content: \'\\EA06\';\n color: #07C160;\n}\n\n.weui-cells_form .weui-cell__ft {\n font-size: 0;\n}\n\n.weui-cells_form .weui-icon-warn {\n display: none;\n}\n\n.weui-cells_form input,\n.weui-cells_form textarea,\n.weui-cells_form label[for] {\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n.weui-cell_warn {\n color: #E64340;\n}\n\n.weui-cell_warn .weui-icon-warn {\n display: inline-block;\n}\n\n.weui-media-box_small-appmsg .weui-cells {\n margin-top: 0;\n}\n\n.weui-media-box_small-appmsg .weui-cells:before {\n display: none;\n}\n\n.weui-cell_select-before {\n padding-right: 15px;\n}\n\n.weui-cell_select-before .weui-select {\n width: 105px;\n box-sizing: border-box;\n}\n\n.weui-cell_select-before .weui-cell__hd {\n position: relative;\n}\n\n.weui-cell_select-before .weui-cell__hd:after {\n content: " ";\n position: absolute;\n right: 0;\n top: 0;\n width: 1px;\n bottom: 0;\n border-right: 1px solid #e5e5e5;\n color: #e5e5e5;\n -webkit-transform-origin: 100% 0;\n transform-origin: 100% 0;\n -webkit-transform: scaleX(0.5);\n transform: scaleX(0.5);\n}\n\n.weui-cell_select-before .weui-cell__hd:before {\n content: " ";\n display: inline-block;\n height: 6px;\n width: 6px;\n border-width: 2px 2px 0 0;\n border-color: #C8C8CD;\n border-style: solid;\n -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\n transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\n position: relative;\n top: -2px;\n position: absolute;\n top: 50%;\n right: 15px;\n margin-top: -4px;\n}\n\n.weui-cell_select-before .weui-cell__bd {\n padding-left: 15px;\n}\n\n.weui-cell_select-before .weui-cell__bd:after {\n display: none;\n}\n\n.weui-cell_select-after {\n padding-left: 15px;\n}\n\n.weui-cell_select-after .weui-select {\n padding-left: 0;\n}\n\n.weui-cell_vcode {\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n}\n\n.weui-cell_switch {\n padding-top: 6.5px;\n padding-bottom: 6.5px;\n}\n\n.icon {\n position: relative;\n top: 3px;\n}\n\n.weui-cell_select {\n padding: 0;\n}\n\n.weui-cell_select .weui-select {\n padding-right: 30px;\n}\n\n.weui-cell_select .weui-cell__bd:after {\n content: " ";\n display: inline-block;\n height: 6px;\n width: 6px;\n border-width: 2px 2px 0 0;\n border-color: #C8C8CD;\n border-style: solid;\n -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\n transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\n position: relative;\n top: -2px;\n position: absolute;\n top: 50%;\n right: 15px;\n margin-top: -4px;\n}\n\n.weui-cell_access {\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n color: inherit;\n}\n\n.weui-cell_access:active {\n background-color: #ECECEC;\n}\n\n.weui-cell_access .weui-cell__ft {\n padding-right: 13px;\n position: relative;\n}\n\n.weui-cell_access .weui-cell__ft:after {\n content: " ";\n display: inline-block;\n height: 6px;\n width: 6px;\n border-width: 2px 2px 0 0;\n border-color: #C8C8CD;\n border-style: solid;\n -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\n transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\n position: relative;\n top: -2px;\n position: absolute;\n top: 50%;\n margin-top: -4px;\n right: 2px;\n}\n\n.weui-cell_link {\n color: #586C94;\n font-size: 14px;\n}\n\n.weui-cell_link:first-child:before {\n display: block;\n}\n\n.weui-cell_warn .weui-textarea-counter {\n color: #E64340;\n}',""])},function(n,e,t){"use strict";function o(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function r(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?n:e}function i(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}var a=Object.assign||function(n){for(var e=1;e100&&(i.percentage=100),i._x=n.touches[0].pageX,i.fire("change",i.percentage)},i.end=function(){document.removeEventListener("touchmove",i.move),document.removeEventListener("touchend",i.end)},a=t,r(i,a)}return i(e,n),e.prototype.css=function(){return l.default},e.prototype.install=function(){this.percentage=this.props.percentage},e.prototype.installed=function(){this._width=this._ele.getBoundingClientRect().width},e.prototype.render=function(n){var e=this;return n.disabled?Omi.h("div",(0,c.extractClass)(n,"weui-slider"),Omi.h("div",{ref:function(n){e._ele=n},class:"weui-slider__inner"},Omi.h("div",{style:"width: 0;",class:"weui-slider__track"}),Omi.h("div",{style:"left: 0;",class:"weui-slider__handler"}))):Omi.h("div",a({},(0,c.extractClass)(n,"weui-slider-box"),{onTouchStart:this.start}),Omi.h("div",{class:"weui-slider"},Omi.h("div",{ref:function(n){e._ele=n},class:"weui-slider__inner"},Omi.h("div",{id:"sliderTrack",style:"width: "+this.percentage+"%;",class:"weui-slider__track"}),Omi.h("div",{id:"sliderHandler",ref:function(n){e._handler=n},style:"left: "+this.percentage+"%;",class:"weui-slider__handler"}))),Omi.h("div",{id:"sliderValue",class:"weui-slider-box__value"},Math.round(this.percentage)))},e}(c.WeElement))},function(n,e,t){var o=t(172);n.exports="string"===typeof o?o:o.toString()},function(n,e,t){e=n.exports=t(1)(void 0),e.push([n.i,".weui-slider {\n padding: 15px 18px;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.weui-slider__inner {\n position: relative;\n height: 2px;\n background-color: #E9E9E9;\n}\n\n.weui-slider__track {\n height: 2px;\n background-color: #07C160;\n width: 0;\n}\n\n.weui-slider__handler {\n position: absolute;\n left: 0;\n top: 50%;\n width: 28px;\n height: 28px;\n margin-left: -14px;\n margin-top: -14px;\n border-radius: 50%;\n background-color: #FFFFFF;\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);\n}\n\n.weui-slider-box {\n display: -webkit-box;\n display: -webkit-flex;\n display: flex;\n -webkit-box-align: center;\n -webkit-align-items: center;\n align-items: center;\n}\n\n.weui-slider-box .weui-slider {\n -webkit-box-flex: 1;\n -webkit-flex: 1;\n flex: 1;\n}\n\n.weui-slider-box__value {\n margin-left: .5em;\n min-width: 24px;\n color: #808080;\n text-align: center;\n font-size: 14px;\n}",""])},function(n,e,t){"use strict";function o(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function r(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?n:e}function i(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}var a=Object.assign||function(n){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o]);return t}function r(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function i(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?n:e}function a(n,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}e.__esModule=!0;var c,s,l=Object.assign||function(n){for(var e=1;e=0&&(n._idleTimeoutId=setTimeout(function(){n._onTimeout&&n._onTimeout()},e))},t(182),e.setImmediate="undefined"!==typeof self&&self.setImmediate||"undefined"!==typeof n&&n.setImmediate||void 0,e.clearImmediate="undefined"!==typeof self&&self.clearImmediate||"undefined"!==typeof n&&n.clearImmediate||void 0}).call(e,t(2))},function(n,e,t){"use strict";(function(n,e){!function(n,t){function o(n){"function"!==typeof n&&(n=new Function(""+n));for(var e=new Array(arguments.length-1),t=0;t1)for(var t=1;tHello!`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */function h(nodeName,attributes){var children=EMPTY_CHILDREN,lastSimple,child,simple,i;for(i=arguments.length;i-->2;){stack.push(arguments[i]);}if(attributes&&attributes.children!=null){if(!stack.length)stack.push(attributes.children);delete attributes.children;}while(stack.length){if((child=stack.pop())&&child.pop!==undefined){for(i=child.length;i--;){stack.push(child[i]);}}else{if(typeof child==='boolean')child=null;if(simple=typeof nodeName!=='function'){if(child==null)child='';else if(typeof child==='number')child=String(child);else if(typeof child!=='string')simple=false;}if(simple&&lastSimple){children[children.length-1]+=child;}else if(children===EMPTY_CHILDREN){children=[child];}else{children.push(child);}lastSimple=simple;}}var p=new VNode();p.nodeName=nodeName;p.children=children;p.attributes=attributes==null?undefined:attributes;p.key=attributes==null?undefined:attributes.key;// if a \"vnode hook\" is defined, pass every created VNode to it\nif(options.vnode!==undefined)options.vnode(p);return p;}/* eslint-disable no-unused-vars */var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError('Object.assign cannot be called with null or undefined');}return Object(val);}function assign(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s8){usePromise=true;}}}var defer=usePromise?Promise.resolve().then.bind(Promise.resolve()):setTimeout;function isArray(obj){return Object.prototype.toString.call(obj)==='[object Array]';}function nProps(props){if(!props||isArray(props))return{};var result={};Object.keys(props).forEach(function(key){result[key]=props[key].value;});return result;}/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */function cloneElement(vnode,props){return h(vnode.nodeName,extend(extend({},vnode.attributes),props),arguments.length>2?[].slice.call(arguments,2):vnode.children);}// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL$1=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;/** Managed queue of dirty components to be re-rendered */var items=[];function enqueueRender(component){if(items.push(component)==1){(options.debounceRendering||defer)(rerender);}}/** Rerender all enqueued dirty components */function rerender(){var p;while(p=items.pop()){renderComponent(p);}}var mapping=options.mapping;/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */function isSameNodeType(node,vnode,hydrating){if(typeof vnode==='string'||typeof vnode==='number'){return node.splitText!==undefined;}if(typeof vnode.nodeName==='string'){var ctor=mapping[vnode.nodeName];if(ctor){return hydrating||node._componentConstructor===ctor;}return!node._componentConstructor&&isNamedNode(node,vnode.nodeName);}return hydrating||node._componentConstructor===vnode.nodeName;}/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */function isNamedNode(node,nodeName){return node.normalizedNodeName===nodeName||node.nodeName.toLowerCase()===nodeName.toLowerCase();}/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */function getNodeProps(vnode){var props=extend({},vnode.attributes);props.children=vnode.children;var defaultProps=vnode.nodeName.defaultProps;if(defaultProps!==undefined){for(var i in defaultProps){if(props[i]===undefined){props[i]=defaultProps[i];}}}return props;}/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */function createNode(nodeName,isSvg){var node=isSvg?options.doc.createElementNS('http://www.w3.org/2000/svg',nodeName):options.doc.createElement(nodeName);node.normalizedNodeName=nodeName;return node;}function parseCSSText(cssText){var cssTxt=cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g,' ').replace(/\\s+/g,' ');var style={},_ref=cssTxt.match(/ ?(.*?) ?{([^}]*)}/)||[a,b,cssTxt],a=_ref[0],b=_ref[1],rule=_ref[2];var cssToJs=function cssToJs(s){return s.replace(/\\W+\\w/g,function(match){return match.slice(-1).toUpperCase();});};var properties=rule.split(';').map(function(o){return o.split(':').map(function(x){return x&&x.trim();});});for(var i=properties,i=Array.isArray(i),i=0,i=i?i:i[Symbol.iterator]();;){var _ref3;if(i){if(i>=i.length)break;_ref3=i[i++];}else{i=i.next();if(i.done)break;_ref3=i.value;}var _ref2=_ref3;var property=_ref2[0];var value=_ref2[1];style[cssToJs(property)]=value;}return style;}/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */function removeNode(node){var parentNode=node.parentNode;if(parentNode)parentNode.removeChild(node);}/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */function setAccessor(node,name,old,value,isSvg){if(name==='className')name='class';if(name==='key'){// ignore\n}else if(name==='ref'){applyRef(old,null);applyRef(value,node);}else if(name==='class'&&!isSvg){node.className=value||'';}else if(name==='style'){if(options.isWeb){if(!value||typeof value==='string'||typeof old==='string'){node.style.cssText=value||'';}if(value&&(typeof value==='undefined'?'undefined':_typeof(value))==='object'){if(typeof old!=='string'){for(var i in old){if(!(i in value))node.style[i]='';}}for(var i in value){node.style[i]=typeof value[i]==='number'&&IS_NON_DIMENSIONAL$1.test(i)===false?value[i]+'px':value[i];}}}else{var oldJson=old,currentJson=value;if(typeof old==='string'){oldJson=parseCSSText(old);}if(typeof value=='string'){currentJson=parseCSSText(value);}var result={},changed=false;if(oldJson){for(var key in oldJson){if((typeof currentJson==='undefined'?'undefined':_typeof(currentJson))=='object'&&!(key in currentJson)){result[key]='';changed=true;}}for(var ckey in currentJson){if(currentJson[ckey]!==oldJson[ckey]){result[ckey]=currentJson[ckey];changed=true;}}if(changed){node.setStyles(result);}}else{node.setStyles(currentJson);}}}else if(name==='dangerouslySetInnerHTML'){if(value)node.innerHTML=value.__html||'';}else if(name[0]=='o'&&name[1]=='n'){var useCapture=name!==(name=name.replace(/Capture$/,''));name=name.toLowerCase().substring(2);if(value){if(!old){node.addEventListener(name,eventProxy,useCapture);if(name=='tap'){node.addEventListener('touchstart',touchStart,useCapture);node.addEventListener('touchend',touchEnd,useCapture);}}}else{node.removeEventListener(name,eventProxy,useCapture);if(name=='tap'){node.removeEventListener('touchstart',touchStart,useCapture);node.removeEventListener('touchend',touchEnd,useCapture);}}(node._listeners||(node._listeners={}))[name]=value;}else if(name!=='list'&&name!=='type'&&!isSvg&&name in node){setProperty(node,name,value==null?'':value);if(value==null||value===false)node.removeAttribute(name);}else{var ns=isSvg&&name!==(name=name.replace(/^xlink:?/,''));if(value==null||value===false){if(ns)node.removeAttributeNS('http://www.w3.org/1999/xlink',name.toLowerCase());else node.removeAttribute(name);}else if(typeof value!=='function'){if(ns)node.setAttributeNS('http://www.w3.org/1999/xlink',name.toLowerCase(),value);else node.setAttribute(name,value);}}}/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */function setProperty(node,name,value){try{node[name]=value;}catch(e){}}/** Proxy an event to hooked event handlers\n *\t@private\n */function eventProxy(e){return this._listeners[e.type](options.event&&options.event(e)||e);}function touchStart(e){this.___touchX=e.touches[0].pageX;this.___touchY=e.touches[0].pageY;this.___scrollTop=document.body.scrollTop;}function touchEnd(e){if(Math.abs(e.changedTouches[0].pageX-this.___touchX)<30&&Math.abs(e.changedTouches[0].pageY-this.___touchY)<30&&Math.abs(document.body.scrollTop-this.___scrollTop)<30){this.dispatchEvent(new CustomEvent('tap',{detail:e}));}}var styleId=0;function getCtorName(ctor){for(var i=0,len=options.styleCache.length;i-1;){if(item===arr[i])return true;}return false;};obaa.isFunction=function(obj){return Object.prototype.toString.call(obj)=='[object Function]';};obaa._getRootName=function(prop,path){if(path==='#'){return prop;}return path.split('-')[1];};obaa.add=function(obj,prop){var $observer=obj.$observer;$observer.watch(obj,prop);};obaa.set=function(obj,prop,value,exec){if(!exec){obj[prop]=value;}var $observer=obj.$observer;$observer.watch(obj,prop);if(exec){obj[prop]=value;}};Array.prototype.size=function(length){this.length=length;};var callbacks=[];var nextTickCallback=[];function fireTick(){callbacks.forEach(function(item){item.fn.call(item.scope);});nextTickCallback.forEach(function(nextItem){nextItem.fn.call(nextItem.scope);});nextTickCallback.length=0;}function proxyUpdate(ele){var timeout=null;obaa(ele.data,function(){if(ele._willUpdate){return;}if(ele.constructor.mergeUpdate){clearTimeout(timeout);timeout=setTimeout(function(){ele.update();fireTick();},0);}else{ele.update();fireTick();}});}/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */function setComponentProps(component,props,opts,context,mountAll){if(component._disable)return;component._disable=true;if(component.__ref=props.ref)delete props.ref;if(component.__key=props.key)delete props.key;if(!component.base||mountAll){if(component.beforeInstall)component.beforeInstall();if(component.install)component.install();if(component.constructor.observe){proxyUpdate(component);}}else if(component.receiveProps){component.receiveProps(props,component.data,component.props);}if(context&&context!==component.context){if(!component.prevContext)component.prevContext=component.context;component.context=context;}if(!component.prevProps)component.prevProps=component.props;component.props=props;component._disable=false;if(opts!==0){if(opts===1||options.syncComponentUpdates!==false||!component.base){renderComponent(component,1,mountAll);}else{enqueueRender(component);}}applyRef(component.__ref,component);}function shallowComparison(old,attrs){var name;for(name in old){if(attrs[name]==null&&old[name]!=null){return true;}}if(old.children.length>0||attrs.children.length>0){return true;}for(name in attrs){if(name!='children'){var type=_typeof(attrs[name]);if(type=='function'||type=='object'){return true;}else if(attrs[name]!=old[name]){return true;}}}}/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */function renderComponent(component,opts,mountAll,isChild){if(component._disable)return;var props=component.props,data=component.data,context=component.context,previousProps=component.prevProps||props,previousState=component.prevState||data,previousContext=component.prevContext||context,isUpdate=component.base,nextBase=component.nextBase,initialBase=isUpdate||nextBase,initialChildComponent=component._component,skip=false,rendered,inst,cbase;// if updating\nif(isUpdate){component.props=previousProps;component.data=previousState;component.context=previousContext;if(component.store||opts==2||shallowComparison(previousProps,props)){skip=false;if(component.beforeUpdate){component.beforeUpdate(props,data,context);}}else{skip=true;}component.props=props;component.data=data;component.context=context;}component.prevProps=component.prevState=component.prevContext=component.nextBase=null;if(!skip){component.beforeRender&&component.beforeRender();rendered=component.render(props,data,context);//don't rerender\nif(component.css){addScopedAttrStatic(rendered,'_s'+getCtorName(component.constructor));}scopeHost(rendered,component.scopedCssAttr);// context to pass to the child, can be updated via (grand-)parent component\nif(component.getChildContext){context=extend(extend({},context),component.getChildContext());}var childComponent=rendered&&rendered.nodeName,toUnmount,base,ctor=options.mapping[childComponent];if(ctor){// set up high order component link\nvar childProps=getNodeProps(rendered);inst=initialChildComponent;if(inst&&inst.constructor===ctor&&childProps.key==inst.__key){setComponentProps(inst,childProps,1,context,false);}else{toUnmount=inst;component._component=inst=createComponent(ctor,childProps,context);inst.nextBase=inst.nextBase||nextBase;inst._parentComponent=component;setComponentProps(inst,childProps,0,context,false);renderComponent(inst,1,mountAll,true);}base=inst.base;}else{cbase=initialBase;// destroy high order component link\ntoUnmount=initialChildComponent;if(toUnmount){cbase=component._component=null;}if(initialBase||opts===1){if(cbase)cbase._component=null;base=diff(cbase,rendered,context,mountAll||!isUpdate,initialBase&&initialBase.parentNode,true);}}if(initialBase&&base!==initialBase&&inst!==initialChildComponent){var baseParent=initialBase.parentNode;if(baseParent&&base!==baseParent){baseParent.replaceChild(base,initialBase);if(!toUnmount){initialBase._component=null;recollectNodeTree(initialBase,false);}}}if(toUnmount){unmountComponent(toUnmount);}component.base=base;if(base&&!isChild){var componentRef=component,t=component;while(t=t._parentComponent){(componentRef=t).base=base;}base._component=componentRef;base._componentConstructor=componentRef.constructor;}}if(!isUpdate||mountAll){mounts.unshift(component);}else if(!skip){// Ensure that pending componentDidMount() hooks of child components\n// are called before the componentDidUpdate() hook in the parent.\n// Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n// flushMounts();\nif(component.afterUpdate){//deprecated\ncomponent.afterUpdate(previousProps,previousState,previousContext);}if(component.updated){component.updated(previousProps,previousState,previousContext);}if(options.afterUpdate)options.afterUpdate(component);}if(component._renderCallbacks!=null){while(component._renderCallbacks.length){component._renderCallbacks.pop().call(component);}}if(!diffLevel&&!isChild)flushMounts();}/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */function buildComponentFromVNode(dom,vnode,context,mountAll){var c=dom&&dom._component,originalComponent=c,oldDom=dom,isDirectOwner=c&&dom._componentConstructor===vnode.nodeName,isOwner=isDirectOwner,props=getNodeProps(vnode);while(c&&!isOwner&&(c=c._parentComponent)){isOwner=c.constructor===vnode.nodeName;}if(c&&isOwner&&(!mountAll||c._component)){setComponentProps(c,props,3,context,mountAll);dom=c.base;}else{if(originalComponent&&!isDirectOwner){unmountComponent(originalComponent);dom=oldDom=null;}c=createComponent(vnode.nodeName,props,context,vnode);if(dom&&!c.nextBase){c.nextBase=dom;// passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\noldDom=null;}setComponentProps(c,props,1,context,mountAll);dom=c.base;if(oldDom&&dom!==oldDom){oldDom._component=null;recollectNodeTree(oldDom,false);}}return dom;}/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */function unmountComponent(component){if(options.beforeUnmount)options.beforeUnmount(component);var base=component.base;component._disable=true;if(component.uninstall)component.uninstall();component.base=null;// recursively tear down & recollect high-order component children:\nvar inner=component._component;if(inner){unmountComponent(inner);}else if(base){if(base['__omiattr_']!=null)applyRef(base['__omiattr_'].ref,null);component.nextBase=base;removeNode(base);collectComponent(component);removeChildren(base);}applyRef(component.__ref,null);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}var id=0;var Component=function(){function Component(props,store){_classCallCheck(this,Component);this.props=assign(nProps(this.constructor.props),this.constructor.defaultProps,props);this.elementId=id++;this.data=this.constructor.data||this.data||{};this._preCss=null;this.store=store;}Component.prototype.update=function update(callback){this._willUpdate=true;if(callback)(this._renderCallbacks=this._renderCallbacks||[]).push(callback);renderComponent(this,2);if(options.componentChange)options.componentChange(this,this.base);this._willUpdate=false;};Component.prototype.fire=function fire(type,data){var _this=this;Object.keys(this.props).every(function(key){if('on'+type.toLowerCase()===key.toLowerCase()){_this.props[key]({detail:data});return false;}return true;});};Component.prototype.render=function render(){};return Component;}();Component.is='WeElement';/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */function render(vnode,parent,store,empty,merge){parent=typeof parent==='string'?document.querySelector(parent):parent;if(empty){while(parent.firstChild){parent.removeChild(parent.firstChild);}}if(merge){merge=typeof merge==='string'?document.querySelector(merge):merge;}return diff(merge,vnode,store,false,parent,false);}function define(name,ctor){options.mapping[name]=ctor;}function rpx(str){return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g,function(a,b){return window.innerWidth*Number(b)/750+'px';});}function _classCallCheck$1(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return call&&((typeof call==='undefined'?'undefined':_typeof(call))===\"object\"||typeof call===\"function\")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+(typeof superClass==='undefined'?'undefined':_typeof(superClass)));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ModelView=function(_Component){_inherits(ModelView,_Component);function ModelView(){_classCallCheck$1(this,ModelView);return _possibleConstructorReturn(this,_Component.apply(this,arguments));}ModelView.prototype.beforeInstall=function beforeInstall(){this.data=this.vm.data;};return ModelView;}(Component);ModelView.observe=true;ModelView.mergeUpdate=true;/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */var hasOwn={}.hasOwnProperty;function classNames(){var classes=[];for(var i=0;i0){return{class:classNames.apply(null,args)};}}function getHost(component){var base=component.base;if(base){while(base.parentNode){if(base.parentNode._component){return base.parentNode._component;}else{base=base.parentNode;}}}}/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */var encodeEntities=function encodeEntities(s){return String(s).replace(/&/g,'&').replace(//g,'>').replace(/\"/g,'"');};var indent=function indent(s,char){return String(s).replace(/(\\n+)/g,'$1'+(char||'\\t'));};var mapping$1=options.mapping;var VOID_ELEMENTS=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;var isLargeString=function isLargeString(s,length,ignoreLines){return String(s).length>(length||40)||!ignoreLines&&String(s).indexOf('\\n')!==-1||String(s).indexOf('<')!==-1;};var JS_TO_CSS={};// Convert an Object style to a CSSText string\nfunction styleObjToCss(s){var str='';for(var prop in s){var val=s[prop];if(val!=null){if(str)str+=' ';// str += jsToCss(prop);\nstr+=JS_TO_CSS[prop]||(JS_TO_CSS[prop]=prop.replace(/([A-Z])/g,'-$1').toLowerCase());str+=': ';str+=val;if(typeof val==='number'&&IS_NON_DIMENSIONAL.test(prop)===false){str+='px';}str+=';';}}return str||undefined;}/** The default export is an alias of `render()`. */function renderToString(vnode,opts,store,isSvgMode,css){if(vnode==null||typeof vnode==='boolean'){return'';}var nodeName=vnode.nodeName,attributes=vnode.attributes,isComponent=false;store=store||{};opts=Object.assign({scopedCSS:true},opts);var pretty=true&&opts.pretty,indentChar=pretty&&typeof pretty==='string'?pretty:'\\t';// #text nodes\nif((typeof vnode==='undefined'?'undefined':_typeof(vnode))!=='object'&&!nodeName){return encodeEntities(vnode);}// components\nvar ctor=mapping$1[nodeName];if(ctor){isComponent=true;var props=getNodeProps$1(vnode),rendered;// class-based components\nvar c=new ctor(props,store);// turn off stateful re-rendering:\nc._disable=c.__x=true;c.props=props;c.store=store;if(c.install)c.install();if(c.beforeRender)c.beforeRender();rendered=c.render(c.props,c.data,c.store);var tempCss;if(opts.scopedCSS){if(c.css){var cssStr=typeof c.css==='function'?c.css():c.css;var cssAttr='_s'+getCtorName(c.constructor);tempCss='';}if(c.css){addScopedAttrStatic(rendered,'_s'+getCtorName(c.constructor));}c.scopedCSSAttr=vnode.css;scopeHost(rendered,c.scopedCSSAttr);}return renderToString(rendered,opts,store,false,tempCss);}// render JSX to HTML\nvar s='',html;if(attributes){var attrs=Object.keys(attributes);// allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\nif(opts&&opts.sortAttributes===true)attrs.sort();for(var i=0;i]/))continue;if(!(opts&&opts.allAttributes)&&(name==='key'||name==='ref'))continue;if(name==='className'){if(attributes.class)continue;name='class';}else if(isSvgMode&&name.match(/^xlink:?./)){name=name.toLowerCase().replace(/^xlink:?/,'xlink:');}if(name==='style'&&v&&(typeof v==='undefined'?'undefined':_typeof(v))==='object'){v=styleObjToCss(v);}var hooked=opts.attributeHook&&opts.attributeHook(name,v,store,opts,isComponent);if(hooked||hooked===''){s+=hooked;continue;}if(name==='dangerouslySetInnerHTML'){html=v&&v.__html;}else if((v||v===0||v==='')&&typeof v!=='function'){if(v===true||v===''){v=name;// in non-xml mode, allow boolean attributes\nif(!opts||!opts.xml){s+=' '+name;continue;}}s+=' '+name+'=\"'+encodeEntities(v)+'\"';}}}// account for >1 multiline attribute\nif(pretty){var sub=s.replace(/^\\n\\s*/,' ');if(sub!==s&&!~sub.indexOf('\\n'))s=sub;else if(pretty&&~s.indexOf('\\n'))s+='\\n';}s='<'+nodeName+s+'>';if(String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/))throw s;var isVoid=String(nodeName).match(VOID_ELEMENTS);if(isVoid)s=s.replace(/>$/,' />');var pieces=[];if(html){// if multiline, indent.\nif(pretty&&isLargeString(html)){html='\\n'+indentChar+indent(html,indentChar);}s+=html;}else if(vnode.children){var hasLarge=pretty&&~s.indexOf('\\n');for(var i=0;i';}if(!isVoid){if(pretty&&~s.indexOf('\\n'))s+='\\n';s+=''+nodeName+'>';}if(css)return css+s;return s;}function assign$1(obj,props){for(var i in props){obj[i]=props[i];}return obj;}function getNodeProps$1(vnode){var props=assign$1({},vnode.attributes);props.children=vnode.children;var defaultProps=vnode.nodeName.defaultProps;if(defaultProps!==undefined){for(var i in defaultProps){if(props[i]===undefined){props[i]=defaultProps[i];}}}return props;}var WeElement=Component;var defineElement=define;function createRef(){return{};}options.root.Omi={h:h,createElement:h,cloneElement:cloneElement,createRef:createRef,Component:Component,render:render,rerender:rerender,options:options,WeElement:WeElement,define:define,rpx:rpx,ModelView:ModelView,defineElement:defineElement,classNames:classNames,extractClass:extractClass,getHost:getHost,renderToString:renderToString};options.root.omi=options.root.Omi;options.root.Omi.version='omio-1.3.7';var omi={h:h,createElement:h,cloneElement:cloneElement,createRef:createRef,Component:Component,render:render,rerender:rerender,options:options,WeElement:WeElement,define:define,rpx:rpx,ModelView:ModelView,defineElement:defineElement,classNames:classNames,extractClass:extractClass,getHost:getHost,renderToString:renderToString};exports.default=omi;exports.h=h;exports.createElement=h;exports.cloneElement=cloneElement;exports.createRef=createRef;exports.Component=Component;exports.render=render;exports.rerender=rerender;exports.options=options;exports.WeElement=WeElement;exports.define=define;exports.rpx=rpx;exports.ModelView=ModelView;exports.defineElement=defineElement;exports.classNames=classNames;exports.extractClass=extractClass;exports.getHost=getHost;exports.renderToString=renderToString;//# sourceMappingURL=omi.esm.js.map\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/// css base code, injected by the css-loader\nmodule.exports=function(useSourceMap){var list=[];// return the list of modules as css string\nlist.toString=function toString(){return this.map(function(item){var content=cssWithMappingToString(item,useSourceMap);if(item[2]){return\"@media \"+item[2]+\"{\"+content+\"}\";}else{return content;}}).join(\"\");};// import a list of modules into the list\nlist.i=function(modules,mediaQuery){if(typeof modules===\"string\")modules=[[null,modules,\"\"]];var alreadyImportedModules={};for(var i=0;icapacity){// Manually shift all values starting at the index back to the\n// beginning of the queue.\nfor(var scan=0,newLength=queue.length-index;scan-1;};}function normalizeName(name){if(typeof name!=='string'){name=String(name);}if(/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)){throw new TypeError('Invalid character in header field name');}return name.toLowerCase();}function normalizeValue(value){if(typeof value!=='string'){value=String(value);}return value;}// Build a destructive iterator for the value list\nfunction iteratorFor(items){var iterator={next:function next(){var value=items.shift();return{done:value===undefined,value:value};}};if(support.iterable){iterator[Symbol.iterator]=function(){return iterator;};}return iterator;}function Headers(headers){this.map={};if(headers instanceof Headers){headers.forEach(function(value,name){this.append(name,value);},this);}else if(Array.isArray(headers)){headers.forEach(function(header){this.append(header[0],header[1]);},this);}else if(headers){Object.getOwnPropertyNames(headers).forEach(function(name){this.append(name,headers[name]);},this);}}Headers.prototype.append=function(name,value){name=normalizeName(name);value=normalizeValue(value);var oldValue=this.map[name];this.map[name]=oldValue?oldValue+','+value:value;};Headers.prototype['delete']=function(name){delete this.map[normalizeName(name)];};Headers.prototype.get=function(name){name=normalizeName(name);return this.has(name)?this.map[name]:null;};Headers.prototype.has=function(name){return this.map.hasOwnProperty(normalizeName(name));};Headers.prototype.set=function(name,value){this.map[normalizeName(name)]=normalizeValue(value);};Headers.prototype.forEach=function(callback,thisArg){for(var name in this.map){if(this.map.hasOwnProperty(name)){callback.call(thisArg,this.map[name],name,this);}}};Headers.prototype.keys=function(){var items=[];this.forEach(function(value,name){items.push(name);});return iteratorFor(items);};Headers.prototype.values=function(){var items=[];this.forEach(function(value){items.push(value);});return iteratorFor(items);};Headers.prototype.entries=function(){var items=[];this.forEach(function(value,name){items.push([name,value]);});return iteratorFor(items);};if(support.iterable){Headers.prototype[Symbol.iterator]=Headers.prototype.entries;}function consumed(body){if(body.bodyUsed){return Promise.reject(new TypeError('Already read'));}body.bodyUsed=true;}function fileReaderReady(reader){return new Promise(function(resolve,reject){reader.onload=function(){resolve(reader.result);};reader.onerror=function(){reject(reader.error);};});}function readBlobAsArrayBuffer(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsArrayBuffer(blob);return promise;}function readBlobAsText(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsText(blob);return promise;}function readArrayBufferAsText(buf){var view=new Uint8Array(buf);var chars=new Array(view.length);for(var i=0;i-1?upcased:method;}function Request(input,options){options=options||{};var body=options.body;if(input instanceof Request){if(input.bodyUsed){throw new TypeError('Already read');}this.url=input.url;this.credentials=input.credentials;if(!options.headers){this.headers=new Headers(input.headers);}this.method=input.method;this.mode=input.mode;if(!body&&input._bodyInit!=null){body=input._bodyInit;input.bodyUsed=true;}}else{this.url=String(input);}this.credentials=options.credentials||this.credentials||'omit';if(options.headers||!this.headers){this.headers=new Headers(options.headers);}this.method=normalizeMethod(options.method||this.method||'GET');this.mode=options.mode||this.mode||null;this.referrer=null;if((this.method==='GET'||this.method==='HEAD')&&body){throw new TypeError('Body not allowed for GET or HEAD requests');}this._initBody(body);}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit});};function decode(body){var form=new FormData();body.trim().split('&').forEach(function(bytes){if(bytes){var split=bytes.split('=');var name=split.shift().replace(/\\+/g,' ');var value=split.join('=').replace(/\\+/g,' ');form.append(decodeURIComponent(name),decodeURIComponent(value));}});return form;}function parseHeaders(rawHeaders){var headers=new Headers();rawHeaders.split(/\\r?\\n/).forEach(function(line){var parts=line.split(':');var key=parts.shift().trim();if(key){var value=parts.join(':').trim();headers.append(key,value);}});return headers;}Body.call(Request.prototype);function Response(bodyInit,options){if(!options){options={};}this.type='default';this.status='status'in options?options.status:200;this.ok=this.status>=200&&this.status<300;this.statusText='statusText'in options?options.statusText:'OK';this.headers=new Headers(options.headers);this.url=options.url||'';this._initBody(bodyInit);}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url});};Response.error=function(){var response=new Response(null,{status:0,statusText:''});response.type='error';return response;};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(redirectStatuses.indexOf(status)===-1){throw new RangeError('Invalid status code');}return new Response(null,{status:status,headers:{location:url}});};self.Headers=Headers;self.Request=Request;self.Response=Response;self.fetch=function(input,init){return new Promise(function(resolve,reject){var request=new Request(input,init);var xhr=new XMLHttpRequest();xhr.onload=function(){var options={status:xhr.status,statusText:xhr.statusText,headers:parseHeaders(xhr.getAllResponseHeaders()||'')};options.url='responseURL'in xhr?xhr.responseURL:options.headers.get('X-Request-URL');var body='response'in xhr?xhr.response:xhr.responseText;resolve(new Response(body,options));};xhr.onerror=function(){reject(new TypeError('Network request failed'));};xhr.ontimeout=function(){reject(new TypeError('Network request failed'));};xhr.open(request.method,request.url,true);if(request.credentials==='include'){xhr.withCredentials=true;}if('responseType'in xhr&&support.blob){xhr.responseType='blob';}request.headers.forEach(function(value,name){xhr.setRequestHeader(name,value);});xhr.send(typeof request._bodyInit==='undefined'?null:request._bodyInit);});};self.fetch.polyfill=true;})(typeof self!=='undefined'?self:undefined);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*//* eslint-disable no-unused-vars */var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError('Object.assign cannot be called with null or undefined');}return Object(val);}function shouldUseNative(){try{if(!Object.assign){return false;}// Detect buggy property enumeration order in older V8 versions.\n// https://bugs.chromium.org/p/v8/issues/detail?id=4118\nvar test1=new String('abc');// eslint-disable-line no-new-wrappers\ntest1[5]='de';if(Object.getOwnPropertyNames(test1)[0]==='5'){return false;}// https://bugs.chromium.org/p/v8/issues/detail?id=3056\nvar test2={};for(var i=0;i<10;i++){test2['_'+String.fromCharCode(i)]=i;}var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n];});if(order2.join('')!=='0123456789'){return false;}// https://bugs.chromium.org/p/v8/issues/detail?id=3056\nvar test3={};'abcdefghijklmnopqrst'.split('').forEach(function(letter){test3[letter]=letter;});if(Object.keys(Object.assign({},test3)).join('')!=='abcdefghijklmnopqrst'){return false;}return true;}catch(err){// We don't expect any of the above to throw, but better to be safe.\nreturn false;}}module.exports=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return call&&(typeof call===\"object\"||typeof call===\"function\")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}(0,_omi.define)('o-button',(_temp=_class=function(_WeElement){_inherits(_class,_WeElement);function _class(){_classCallCheck(this,_class);return _possibleConstructorReturn(this,_WeElement.apply(this,arguments));}_class.prototype.css=function css(){return _index2.default;};_class.prototype.render=function render(props){var cls=(0,_omi.extractClass)(props)||{};var _props=this.props,component=_props.component,type=_props.type,size=_props.size,plain=_props.plain,children=_props.children,others=_objectWithoutProperties(_props,['component','type','size','plain','children']);var Component=component?component:this.props.href||type==='vcode'?'a':'button';cls=type==='vcode'?(0,_omi.extractClass)(cls,'weui-vcode-btn'):(0,_omi.extractClass)(cls,{'weui-btn':true,'weui-btn_mini':size==='small','weui-btn_primary':type==='primary'&&!plain,'weui-btn_default':type==='default'&&!plain,'weui-btn_warn':type==='warn','weui-btn_plain-primary':type==='primary'&&plain,'weui-btn_plain-default':type==='default'&&plain,'weui-btn_disabled':this.props.disabled&&!plain,'weui-btn_plain-disabled':this.props.disabled&&plain});return Omi.h(Component,_extends({},others,cls),children);};return _class;}(_omi.WeElement),_class.defaultProps={disabled:false,type:'primary',size:'normal'},_temp));\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _omi=__webpack_require__(0);__webpack_require__(19);var _index=__webpack_require__(22);var _index2=_interopRequireDefault(_index);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return call&&(typeof call===\"object\"||typeof call===\"function\")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}(0,_omi.define)('o-tree',function(_WeElement){_inherits(_class,_WeElement);function _class(){_classCallCheck(this,_class);return _possibleConstructorReturn(this,_WeElement.apply(this,arguments));}_class.prototype.moveNode=function moveNode(id,parentId){if(id===parentId){return;}if(this.check(parentId,id)){var parent=this.getChildById(parentId,this.data.children);if(parent.type!=='group')return;var child=this.removeChildById(id,this.data.children);parent.children.push(child);this.update();}};_class.prototype.check=function check(parentId,childId){var current=this.getChildById(childId,this.data.children),children=current.children;for(var i=0,len=children.length;i0&&child.expand){count=this.getNodeCount(count,child.children);}}return count;};_class.prototype.toggle=function toggle(id){var nodeData=this.getChildById(id,this.props.data.children);nodeData.expand=!nodeData.expand;this.update();};_class.prototype.rename=function rename(id,name){var nodeData=this.getChildById(id,this.data.children);nodeData.name=name;this.update();};_class.prototype.beforeRender=function beforeRender(){if(this.data.children){this.data.emptyArr=new Array(this.getNodeCount(0,this.data.children));}};_class.prototype.css=function css(){return _index2.default;};_class.prototype.render=function render(props){return Omi.h('div',{'class':'o-tree'},Omi.h('ul',{'class':'tree-wp'},Omi.h('tree-node',{data:props.data,root:this})));};return _class;}(_omi.WeElement));\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _omi=__webpack_require__(0);var _index=__webpack_require__(20);var _index2=_interopRequireDefault(_index);__webpack_require__(10);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return call&&(typeof call===\"object\"||typeof call===\"function\")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}(0,_omi.define)('tree-node',function(_WeElement){_inherits(_class2,_WeElement);function _class2(){var _temp,_this,_ret;_classCallCheck(this,_class2);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,_WeElement.call.apply(_WeElement,[this].concat(args))),_this),_this.toggle=function(evt,id){_this.props.root.toggle(id);_this.props.root.update();evt.stopPropagation();},_this.clickNode=function(evt,id){_this.props.root.props.onNodeClick&&_this.props.root.props.onNodeClick(id,evt);},_temp),_possibleConstructorReturn(_this,_ret);}_class2.prototype.dropHandler=function dropHandler(evt){this.getRootInstance(this.parent).moveNode(parseInt(evt.dataTransfer.getData(\"node-id\")),parseInt(evt.target.dataset['nodeId']));this.node&&this.node.classList.remove('drag-over');evt.stopPropagation();evt.preventDefault();};_class2.prototype.getRootInstance=function getRootInstance(parent){if(parent.moveNode){return parent;}else{return this.getRootInstance(parent.parent);}};_class2.prototype.dragOverHandler=function dragOverHandler(evt){this.node.classList.add('drag-over');evt.stopPropagation();evt.preventDefault();};_class2.prototype.dragLeaveHandler=function dragLeaveHandler(){this.node.classList.remove('drag-over');};_class2.prototype.dragStartHandler=function dragStartHandler(evt){evt.dataTransfer.setData(\"node-id\",this.data.id);evt.stopPropagation();};_class2.prototype.css=function css(){return _index2.default;};_class2.prototype.render=function render(props){var _this2=this;var _props$data=props.data,id=_props$data.id,children=_props$data.children,expand=_props$data.expand,name=_props$data.name;return Omi.h('li',{'class':'node-root','data-node-id':id,draggable:'true',ondragstart:this.dragStartHandler,ondragleave:this.dragLeaveHandler,ondrop:this.dropHandler,ondragover:this.dragOverHandler},Omi.h('div',{ref:function ref(e){_this2.nodeTitle=e;},'class':'node-title arrow-'+(children.length>0?expand?'expand':'contract':''),'data-node-id':id},children.length>0&&Omi.h('o-icon',{onClick:function onClick(e){return _this2.toggle(e,id);},scale:1,color:'#171717','class':'icon',path:expand?'M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z':'M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z'}),Omi.h('span',{onClick:function onClick(e){return _this2.clickNode(e,id);},'class':'name'},name)),children.length>0&&expand&&Omi.h('ul',{'data-node-id':id},props.data.children.map(function(child){return Omi.h('tree-node',{data:child,root:_this2.props.root});})));};return _class2;}(_omi.WeElement));\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n var result = __webpack_require__(21);\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)(undefined);\n// imports\n\n\n// module\nexports.push([module.i, \".drag-over {\\n border: 1px dashed white;\\n}\\n\\n.node-root {\\n color: #171717;\\n font-size: 12px;\\n margin-left: 10px;\\n}\\n\\n.node-title {\\n height: 32px;\\n line-height: 32px;\\n}\\n\\n.name {\\n cursor: pointer;\\n}\\n\\nul,\\nli {\\n list-style: none;\\n padding: 0;\\n padding-left: 5px;\\n margin: 0 ;\\n}\\n\\n\\n.icon{\\n position: relative;\\n top: 1px;\\n cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n var result = __webpack_require__(23);\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)(undefined);\n// imports\n\n\n// module\nexports.push([module.i, \".o-tree {\\n position: relative;\\n width: 240px;\\n height: auto;\\n min-height: 200px;\\n}\\n\\n\\nul,\\nli {\\n list-style: none;\\n padding: 0;\\n padding-left: 5px;\\n margin: 0;\\n}\\n\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 24 */,\n/* 25 */,\n/* 26 */,\n/* 27 */,\n/* 28 */,\n/* 29 */,\n/* 30 */,\n/* 31 */,\n/* 32 */,\n/* 33 */,\n/* 34 */,\n/* 35 */,\n/* 36 */,\n/* 37 */,\n/* 38 */,\n/* 39 */,\n/* 40 */,\n/* 41 */,\n/* 42 */,\n/* 43 */,\n/* 44 */,\n/* 45 */,\n/* 46 */,\n/* 47 */,\n/* 48 */,\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _omi=__webpack_require__(0);var _index=__webpack_require__(155);var _index2=_interopRequireDefault(_index);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return call&&(typeof call===\"object\"||typeof call===\"function\")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}(0,_omi.define)('o-list-item',function(_WeElement){_inherits(_class,_WeElement);function _class(){_classCallCheck(this,_class);return _possibleConstructorReturn(this,_WeElement.apply(this,arguments));}_class.prototype.css=function css(){return _index2.default;};_class.prototype.render=function render(props){var border=props.__inList?'border-bottom-1px':'border-1px';return Omi.h('li',{'class':border},props.icon?Omi.h('img',{src:props.icon}):null,Omi.h('span',{'class':'title'},props.title),Omi.h('span',{'class':'content'},props.content),props.access?Omi.h('i',null):null);};return _class;}(_omi.WeElement));\n\n/***/ }),\n/* 50 */,\n/* 51 */,\n/* 52 */,\n/* 53 */,\n/* 54 */,\n/* 55 */,\n/* 56 */,\n/* 57 */,\n/* 58 */,\n/* 59 */,\n/* 60 */,\n/* 61 */,\n/* 62 */,\n/* 63 */,\n/* 64 */,\n/* 65 */,\n/* 66 */,\n/* 67 */,\n/* 68 */,\n/* 69 */,\n/* 70 */,\n/* 71 */,\n/* 72 */,\n/* 73 */,\n/* 74 */,\n/* 75 */,\n/* 76 */,\n/* 77 */,\n/* 78 */,\n/* 79 */,\n/* 80 */,\n/* 81 */,\n/* 82 */,\n/* 83 */,\n/* 84 */,\n/* 85 */,\n/* 86 */,\n/* 87 */,\n/* 88 */,\n/* 89 */,\n/* 90 */,\n/* 91 */,\n/* 92 */,\n/* 93 */,\n/* 94 */,\n/* 95 */,\n/* 96 */,\n/* 97 */,\n/* 98 */,\n/* 99 */,\n/* 100 */,\n/* 101 */,\n/* 102 */,\n/* 103 */,\n/* 104 */,\n/* 105 */,\n/* 106 */,\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(4);\nmodule.exports = __webpack_require__(113);\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i{findChild(node)}\n// );\n// });\n// return nodeStr;\n// }\n// //循环递归展开树\n// function findChild(node) {\n// if (node != null) {\n// if (node.child != null) {\n// var str = node.child.map(function (n) {\n// return (\n// {findChild(n)}\n// );\n// })\n// return str;\n// }\n// }\n// }\n// var dynamicNodeList = (\n// \n// {findRoot(this.data.treeData)}\n// \n// );\n// var treeNodeList = (\n// \n// {findRoot(this.data.treeData2)}\n// \n// );\n// const animation = {\n// enter(node, done) {\n// return animate(node, true, done);\n// },\n// leave(node, done) {\n// return animate(node, false, done);\n// },\n// appear(node, done) {\n// return animate(node, true, done);\n// }\n// };\n// const customLabel = (\n// \n// operations \n// \n// );\n// 基础树
\n// \n// \n// \n// \n// \n// \n// \n// \n// \n// \n// \n// \n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _class,_temp;var _omi=__webpack_require__(0);var _index=__webpack_require__(115);var _index2=_interopRequireDefault(_index);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return call&&(typeof call===\"object\"||typeof call===\"function\")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}(0,_omi.define)('o-pagination',(_temp=_class=function(_WeElement){_inherits(_class,_WeElement);function _class(){_classCallCheck(this,_class);return _possibleConstructorReturn(this,_WeElement.apply(this,arguments));}_class.prototype.css=function css(){return _index2.default;};_class.prototype.install=function install(){this.data=Object.assign({total:0,pageSize:10,numDisplay:5,currentPage:0,numEdge:3,linkTo:'#',prevText:'Prev',nextText:'Next',ellipseText:'...',prevShow:true,nextShow:true},this.props);this.pageNum=Math.ceil(this.data.total/this.data.pageSize);};_class.prototype.receiveProps=function receiveProps(props,data){data=Object.assign(data,props);};_class.prototype.beforeUpdate=function beforeUpdate(){this.pageNum=Math.ceil(this.data.total/this.data.pageSize);};_class.prototype.beforeRender=function beforeRender(){this.pageNum=Math.ceil(this.data.total/this.data.pageSize);};_class.prototype.goto=function goto(index){this.data.currentPage=index;this.props.onChange(index);this.update();};_class.prototype.render=function render(props){var arr=[];var opt=this.data,interval=this.getInterval();if(interval[0]>0&&opt.numEdge>0){var end=Math.min(opt.numEdge,interval[0]);for(var i=0;i0){if(this.pageNum-opt.numEdge>interval[1]&&opt.ellipseText){arr.push(Omi.h('li',{'class':'o-icon more btn-quicknext o-icon-more'}));}var begin=Math.max(this.pageNum-opt.numEdge,interval[1]);for(var i=begin;ine_half?Math.max(Math.min(this.data.currentPage-ne_half,upper_limit),0):0;var end=this.data.currentPage>ne_half?Math.min(this.data.currentPage+ne_half,this.pageNum):Math.min(this.data.numDisplay,this.pageNum);return[start,end];};_class.prototype.getPrev=function getPrev(){var _this2=this;if(this.data.currentPage===0){return Omi.h('button',{type:'button','class':'btn-prev',disabled:'disabled'},Omi.h('svg',{viewBox:'64 64 896 896','class':'','data-icon':'left',width:'1em',height:'1em',fill:'currentColor','aria-hidden':'true'},Omi.h('path',{d:'M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z'})));}return Omi.h('button',{type:'button','class':'btn-prev',onclick:function onclick(e){_this2.goto(_this2.data.currentPage-1);}},Omi.h('svg',{viewBox:'64 64 896 896','class':'','data-icon':'left',width:'1em',height:'1em',fill:'currentColor','aria-hidden':'true'},Omi.h('path',{d:'M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z'})));};_class.prototype.getNext=function getNext(){var _this3=this;if(this.data.currentPage===this.pageNum-1){return Omi.h('button',{type:'button','class':'btn-next',disabled:'disabled'},Omi.h('svg',{viewBox:'64 64 896 896','class':'','data-icon':'right',width:'1em',height:'1em',fill:'currentColor','aria-hidden':'true'},Omi.h('path',{d:'M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z'})));}return Omi.h('button',{type:'button','class':'btn-next',onclick:function onclick(e){_this3.goto(_this3.data.currentPage+1);}},Omi.h('svg',{viewBox:'64 64 896 896','class':'','data-icon':'right',width:'1em',height:'1em',fill:'currentColor','aria-hidden':'true'},Omi.h('path',{d:'M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z'})));};_class.prototype.getItem=function getItem(pageIndex,text){var _this4=this;if(this.data.currentPage===pageIndex){return Omi.h('li',{'class':'number active'},text);}return Omi.h('li',{'class':'number',onclick:function onclick(e){_this4.goto(pageIndex);}},text);};return _class;}(_omi.WeElement),_class.observe=true,_temp));\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n var result = __webpack_require__(116);\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)(undefined);\n// imports\n\n\n// module\nexports.push([module.i, \"div {\\n color: rgba(0, 0, 0, .65);\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\nul,\\nli {\\n padding: 0;\\n margin: 0;\\n}\\n\\nli {\\n display: inline-block;\\n min-width: 32px;\\n height: 32px;\\n border: 1px solid #ccc;\\n vertical-align: middle;\\n line-height: 32px;\\n text-align: center;\\n margin: 0 3px 0 3px;\\n cursor: pointer;\\n border-radius: 3px;\\n}\\n\\n.o-pager {\\n display: inline-block;\\n}\\n\\nbutton {\\n width: 32px;\\n height: 32px;\\n appearance: none;\\n -webkit-appearance: none;\\n position: relative;\\n border: 1px solid #ccc;\\n background: none;\\n top: 1px;\\n border-radius: 3px;\\n cursor: pointer;\\n outline: none;\\n}\\n\\nbutton.btn-next:not(disabled):active,\\nbutton.btn-prev:not(disabled):active {\\n background-color: #eee;\\n}\\n\\nbutton:disabled {\\n pointer-events: none;\\n border-color: #eee;\\n cursor: default;\\n}\\n\\n.more:after {\\n content: '...';\\n}\\n\\n.more {\\n border: none;\\n cursor: default;\\n}\\n\\n.active {\\n border-color: #07C160;\\n color: rgb(4, 161, 80);\\n}\\n\\nsvg {\\n position: relative;\\n top: 2px;\\n}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _omi=__webpack_require__(0);var _index=__webpack_require__(118);var _index2=_interopRequireDefault(_index);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return call&&(typeof call===\"object\"||typeof call===\"function\")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}(0,_omi.define)('o-input-number',function(_WeElement){_inherits(_class2,_WeElement);function _class2(){var _temp,_this,_ret;_classCallCheck(this,_class2);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,_WeElement.call.apply(_WeElement,[this].concat(args))),_this),_this.minus=function(){if(_this.data.mDisabled)return;_this.data.value-=_this.props.step;_this.data.mDisabled=_this.data.value<=_this.props.min;if(_this.data.mDisabled){_this.data.value=_this.props.min;}_this.data.pDisabled=_this.data.value>=_this.props.max;_this.update();_this.props.onChange(_this.data.value);},_this.plus=function(){if(_this.data.pDisabled)return;_this.data.value+=_this.props.step;_this.data.pDisabled=_this.data.value>=_this.props.max;if(_this.data.pDisabled){_this.data.value=_this.props.max;}_this.data.mDisabled=_this.data.value<=_this.props.min;_this.update();_this.props.onChange(_this.data.value);},_temp),_possibleConstructorReturn(_this,_ret);}_class2.prototype.css=function css(){return _index2.default;};_class2.prototype.install=function install(){this.data.value=this.props.value;};_class2.prototype.render=function render(props,data){return Omi.h('div',(0,_omi.extractClass)(props,'o-input-number'),Omi.h('span',{role:'button','class':'decrease'+(data.mDisabled?' is-disabled':''),onClick:this.minus},'-'),Omi.h('span',{role:'button','class':'increase'+(data.pDisabled?' is-disabled':''),onClick:this.plus},'+'),Omi.h('div',{'class':'input'},Omi.h('input',{type:'text',autocomplete:'off','aria-label':'\\u63CF\\u8FF0\\u6587\\u5B57',max:'10',min:'1','class':'o-input__inner',role:'spinbutton','aria-valuemax':'10','aria-valuemin':'1','aria-valuenow':'1',name:props.name,value:data.value,'aria-disabled':'undefined'})));};return _class2;}(_omi.WeElement));\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n var result = __webpack_require__(119);\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)(undefined);\n// imports\n\n\n// module\nexports.push([module.i, \".o-input-number {\\n position: relative;\\n width: 150px;\\n display: inline-block;\\n}\\n\\nspan {\\n position: absolute;\\n border: 1px solid #ccc;\\n width: 32px;\\n height: 32px;\\n background-color: white;\\n cursor: pointer;\\n text-align: center;\\n line-height: 29px;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.decrease {\\n left: 1px;\\n border-radius: 3px 0px 0px 3px;\\n user-select: none;\\n}\\n\\n.increase {\\n right: 1px;\\n border-radius: 0px 3px 3px 0px;\\n user-select: none;\\n}\\n\\n.input {\\n width: 100%;\\n}\\n\\ninput {\\n width: 100px;\\n height: 32px;\\n margin: 0 auto;\\n display: block;\\n text-align: center;\\n border: 1px solid #ccc;\\n}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n var result = __webpack_require__(121);\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)(undefined);\n// imports\n\n\n// module\nexports.push([module.i, \".weui-btn {\\n background-color: #9CE6BF;\\n color: #D7F5E5;\\n}\\n\\n.weui-btn_disabled.weui-btn {\\n cursor: default;\\n}\\n\\n.weui-btn_plain-disabled.weui-btn {\\n cursor: default;\\n}\\n\\nbutton.weui-btn,\\ninput.weui-btn {\\n cursor: pointer;\\n width: 100%;\\n border-width: 0;\\n outline: 0;\\n -webkit-appearance: none;\\n}\\n\\nbutton.weui-btn:focus,\\ninput.weui-btn:focus {\\n outline: 0;\\n}\\n\\nbutton.weui-btn_inline,\\ninput.weui-btn_inline,\\nbutton.weui-btn_mini,\\ninput.weui-btn_mini {\\n width: auto;\\n}\\n\\nbutton.weui-btn_plain-primary,\\ninput.weui-btn_plain-primary,\\nbutton.weui-btn_plain-default,\\ninput.weui-btn_plain-default {\\n border-width: 1px;\\n background-color: transparent;\\n}\\n\\n.weui-btn {\\n position: relative;\\n display: block;\\n margin-left: auto;\\n margin-right: auto;\\n padding-left: 14px;\\n padding-right: 14px;\\n box-sizing: border-box;\\n font-size: 18px;\\n text-align: center;\\n text-decoration: none;\\n color: #FFFFFF;\\n line-height: 2.55555556;\\n border-radius: 3px;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n overflow: hidden;\\n}\\n\\n.weui-btn:after {\\n content: \\\" \\\";\\n width: 200%;\\n height: 200%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n /* border:1px solid rgba(0, 0, 0, 0.2); */\\n -webkit-transform: scale(0.5);\\n transform: scale(0.5);\\n -webkit-transform-origin: 0 0;\\n transform-origin: 0 0;\\n box-sizing: border-box;\\n border-radius: 10px;\\n}\\n\\n.weui-btn_inline {\\n display: inline-block;\\n}\\n\\n.weui-btn_default {\\n background-color: #F8F7F8;\\n color: black;\\n}\\n\\n.weui-btn_default:not(.weui-btn_disabled):visited {\\n color: #000000;\\n}\\n\\n.weui-btn_default:not(.weui-btn_disabled):active {\\n background-color: rgb(243, 239, 239);\\n}\\n\\n.weui-btn_primary {\\n background-color: #07C160;\\n}\\n\\n.weui-btn_primary:not(.weui-btn_disabled):visited {\\n color: #FFFFFF;\\n}\\n\\n.weui-btn_primary:not(.weui-btn_disabled):active {\\n background-color: rgb(5, 202, 100);\\n ;\\n}\\n\\n.weui-btn_warn {\\n background-color: #F95050;\\n}\\n\\n.weui-btn_warn:not(.weui-btn_disabled):visited {\\n color: #FFFFFF;\\n}\\n\\n.weui-btn_warn:not(.weui-btn_disabled):active {\\n color: rgba(255, 255, 255, 0.6);\\n background-color: #F95050;\\n}\\n\\n.weui-btn_disabled {\\n background-color: #9CE6BF;\\n color: #D7F5E5;\\n}\\n\\n.weui-btn_disabled.weui-btn_default {\\n color: rgba(0, 0, 0, 0.3);\\n background-color: #F7F7F7;\\n}\\n\\n.weui-btn_disabled.weui-btn_primary {\\n background-color: #9CE6BF;\\n color: #D7F5E5;\\n}\\n\\n.weui-btn_disabled.weui-btn_warn {\\n background-color: rgb(240, 158, 157);\\n}\\n\\n.weui-btn_loading .weui-loading {\\n margin: -0.2em 0.34em 0 0;\\n}\\n\\n.weui-btn_loading.weui-btn_primary,\\n.weui-btn_loading.weui-btn_warn {\\n color: rgba(255, 255, 255, 0.6);\\n}\\n\\n.weui-btn_loading.weui-btn_warn {\\n background-color: #F95050;\\n}\\n\\n.weui-btn_plain-primary {\\n color: #07C160;\\n border: 1px solid #07C160;\\n}\\n\\n.weui-btn_plain-primary:not(.weui-btn_plain-disabled):active {\\n color: #9ED99D;\\n border-color: #9ED99D;\\n}\\n\\n.weui-btn_plain-primary:after {\\n border-width: 0;\\n}\\n\\n.weui-btn_plain-default {\\n color: #353535;\\n border: 1px solid #353535;\\n}\\n\\n.weui-btn_plain-default:not(.weui-btn_plain-disabled):active {\\n color: rgba(53, 53, 53, 0.6);\\n border-color: rgba(53, 53, 53, 0.6);\\n}\\n\\n.weui-btn_plain-default:after {\\n border-width: 0;\\n}\\n\\n.weui-btn_plain-disabled {\\n color: rgba(0, 0, 0, 0.2);\\n border-color: rgba(0, 0, 0, 0.2);\\n}\\n\\nbutton.weui-btn {\\n width: 100%;\\n border-width: 0;\\n outline: 0;\\n -webkit-appearance: none;\\n}\\n\\nbutton.weui-btn:focus {\\n outline: 0;\\n}\\n\\nbutton.weui-btn_inline,\\ninput.weui-btn_inline,\\nbutton.weui-btn_mini,\\ninput.weui-btn_mini {\\n width: auto;\\n}\\n\\nbutton.weui-btn_plain-primary,\\ninput.weui-btn_plain-primary,\\nbutton.weui-btn_plain-default,\\ninput.weui-btn_plain-default {\\n border-width: 1px;\\n background-color: transparent;\\n}\\n\\n.weui-btn_mini {\\n display: inline-block;\\n padding: 0 1.32em;\\n line-height: 2.3;\\n font-size: 13px;\\n}\\n\\n.weui-btn+.weui-btn {\\n margin-top: 15px;\\n}\\n\\n.weui-btn.weui-btn_inline+.weui-btn.weui-btn_inline {\\n margin-top: auto;\\n margin-left: 15px;\\n}\\n\\n.weui-btn-area {\\n margin: 1.17647059em 15px 0.3em;\\n}\\n\\n.weui-btn-area_inline {\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: flex;\\n}\\n\\n.weui-btn-area_inline .weui-btn {\\n margin-top: auto;\\n margin-right: 15px;\\n width: 100%;\\n -webkit-box-flex: 1;\\n -webkit-flex: 1;\\n flex: 1;\\n}\\n\\n.weui-btn-area_inline .weui-btn:last-child {\\n margin-right: 0;\\n}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _extends=Object.assign||function(target){for(var i=1;ia {\\n text-align: center;\\n display: block;\\n position: relative;\\n line-height: 35px;\\n cursor: pointer;\\n white-space: nowrap;\\n text-align: left;\\n height: 60px;\\n color: #F2F2F2;\\n}\\n\\na:active {\\n background-color: rgb(63, 63, 63);\\n}\\n\\n.icon {\\n position: absolute;\\n left: 20px;\\n top: 13px;\\n}\\n\\n.wd {\\n margin-left: 60px;\\n line-height: 60px;\\n border-bottom: 1px solid #555555;\\n}\\n\\n.arrow {\\n position: absolute;\\n width: 10px;\\n height: 10px;\\n background-color: #4C4B4C;\\n transform: rotate(45deg);\\n border-radius: 2px;\\n top: -4px;\\n right: 15px;\\n ;\\n}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _omi=__webpack_require__(0);var _index=__webpack_require__(141);var _index2=_interopRequireDefault(_index);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return call&&(typeof call===\"object\"||typeof call===\"function\")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}(0,_omi.define)('o-badge',function(_WeElement){_inherits(_class,_WeElement);function _class(){_classCallCheck(this,_class);return _possibleConstructorReturn(this,_WeElement.apply(this,arguments));}_class.prototype.css=function css(){return _index2.default;};_class.prototype.render=function render(props){if(props.content!==undefined){return Omi.h('div',(0,_omi.extractClass)(props,'o-badge'),props.children[0],Omi.h('span',{'class':'badge',style:'top: -.7em;right: -1em;'},props.content));}if(props.dot){return Omi.h('div',{'class':'o-badge'},props.children[0],Omi.h('span',{'class':'circle',style:'position: absolute;top: -.2em;right: -.2em;'}));}return Omi.h('div',{'class':'o-badge'},props.children[0]);};return _class;}(_omi.WeElement));\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n var result = __webpack_require__(142);\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)(undefined);\n// imports\n\n\n// module\nexports.push([module.i, \".o-badge {\\n position: relative;\\n display: inline-block;\\n}\\n\\n.badge {\\n position: absolute;\\n padding: .15em .4em;\\n min-width: 8px;\\n border-radius: 18px;\\n background-color: #F95050;\\n color: #FFFFFF;\\n line-height: 1.2;\\n text-align: center;\\n font-size: 12px;\\n vertical-align: middle;\\n white-space: nowrap;\\n overflow: hidden;\\n max-width: 35px;\\n}\\n\\n.circle {\\n width: 10px;\\n height: 10px;\\n border-radius: 50%;\\n background-color: #F95050;\\n}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _extends=Object.assign||function(target){for(var i=1;i.weui-cell__bd {\\n position: relative;\\n z-index: 1;\\n background-color: #FFFFFF;\\n}\\n\\n.weui-cell_swiped>.weui-cell__ft {\\n position: absolute;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: flex;\\n color: #FFFFFF;\\n}\\n\\n.weui-cells_radio .weui-cell__ft {\\n padding-left: 0.35em;\\n}\\n\\n.weui-cells_radio .weui-check:checked+.weui-icon-checked:before {\\n display: block;\\n content: '\\\\EA08';\\n color: #07C160;\\n font-size: 16px;\\n}\\n\\n.weui-cells_checkbox .weui-cell__hd {\\n padding-right: 0.35em;\\n}\\n\\n.weui-cells_checkbox .weui-icon-checked:before {\\n content: '\\\\EA01';\\n color: #C9C9C9;\\n font-size: 23px;\\n display: block;\\n}\\n\\n.weui-cells_checkbox .weui-check:checked+.weui-icon-checked:before {\\n content: '\\\\EA06';\\n color: #07C160;\\n}\\n\\n.weui-cells_form .weui-cell__ft {\\n font-size: 0;\\n}\\n\\n.weui-cells_form .weui-icon-warn {\\n display: none;\\n}\\n\\n.weui-cells_form input,\\n.weui-cells_form textarea,\\n.weui-cells_form label[for] {\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n\\n.weui-cell_warn {\\n color: #E64340;\\n}\\n\\n.weui-cell_warn .weui-icon-warn {\\n display: inline-block;\\n}\\n\\n.weui-media-box_small-appmsg .weui-cells {\\n margin-top: 0;\\n}\\n\\n.weui-media-box_small-appmsg .weui-cells:before {\\n display: none;\\n}\\n\\n.weui-cell_select-before {\\n padding-right: 15px;\\n}\\n\\n.weui-cell_select-before .weui-select {\\n width: 105px;\\n box-sizing: border-box;\\n}\\n\\n.weui-cell_select-before .weui-cell__hd {\\n position: relative;\\n}\\n\\n.weui-cell_select-before .weui-cell__hd:after {\\n content: \\\" \\\";\\n position: absolute;\\n right: 0;\\n top: 0;\\n width: 1px;\\n bottom: 0;\\n border-right: 1px solid #e5e5e5;\\n color: #e5e5e5;\\n -webkit-transform-origin: 100% 0;\\n transform-origin: 100% 0;\\n -webkit-transform: scaleX(0.5);\\n transform: scaleX(0.5);\\n}\\n\\n.weui-cell_select-before .weui-cell__hd:before {\\n content: \\\" \\\";\\n display: inline-block;\\n height: 6px;\\n width: 6px;\\n border-width: 2px 2px 0 0;\\n border-color: #C8C8CD;\\n border-style: solid;\\n -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n position: relative;\\n top: -2px;\\n position: absolute;\\n top: 50%;\\n right: 15px;\\n margin-top: -4px;\\n}\\n\\n.weui-cell_select-before .weui-cell__bd {\\n padding-left: 15px;\\n}\\n\\n.weui-cell_select-before .weui-cell__bd:after {\\n display: none;\\n}\\n\\n.weui-cell_select-after {\\n padding-left: 15px;\\n}\\n\\n.weui-cell_select-after .weui-select {\\n padding-left: 0;\\n}\\n\\n.weui-cell_vcode {\\n padding-top: 0;\\n padding-right: 0;\\n padding-bottom: 0;\\n}\\n\\n.weui-cell_switch {\\n padding-top: 6.5px;\\n padding-bottom: 6.5px;\\n}\\n\\n.icon {\\n position: relative;\\n top: 3px;\\n}\\n\\n.weui-cell_select {\\n padding: 0;\\n}\\n\\n.weui-cell_select .weui-select {\\n padding-right: 30px;\\n}\\n\\n.weui-cell_select .weui-cell__bd:after {\\n content: \\\" \\\";\\n display: inline-block;\\n height: 6px;\\n width: 6px;\\n border-width: 2px 2px 0 0;\\n border-color: #C8C8CD;\\n border-style: solid;\\n -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n position: relative;\\n top: -2px;\\n position: absolute;\\n top: 50%;\\n right: 15px;\\n margin-top: -4px;\\n}\\n\\n.weui-cell_access {\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n color: inherit;\\n}\\n\\n.weui-cell_access:active {\\n background-color: #ECECEC;\\n}\\n\\n.weui-cell_access .weui-cell__ft {\\n padding-right: 13px;\\n position: relative;\\n}\\n\\n.weui-cell_access .weui-cell__ft:after {\\n content: \\\" \\\";\\n display: inline-block;\\n height: 6px;\\n width: 6px;\\n border-width: 2px 2px 0 0;\\n border-color: #C8C8CD;\\n border-style: solid;\\n -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n position: relative;\\n top: -2px;\\n position: absolute;\\n top: 50%;\\n margin-top: -4px;\\n right: 2px;\\n}\\n\\n.weui-cell_link {\\n color: #586C94;\\n font-size: 14px;\\n}\\n\\n.weui-cell_link:first-child:before {\\n display: block;\\n}\\n\\n.weui-cell_warn .weui-textarea-counter {\\n color: #E64340;\\n}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _extends=Object.assign||function(target){for(var i=1;i100&&(_this.percentage=100);_this._x=evt.touches[0].pageX;//Update immediately!For Smoother interaction!\n//omi v5.0.10 fix this\n//this.update()\n_this.fire('change',_this.percentage);},_this.end=function(){document.removeEventListener('touchmove',_this.move);document.removeEventListener('touchend',_this.end);},_temp),_possibleConstructorReturn(_this,_ret);}_class2.prototype.css=function css(){return _index2.default;};_class2.prototype.install=function install(){this.percentage=this.props.percentage;};_class2.prototype.installed=function installed(){this._width=this._ele.getBoundingClientRect().width;};_class2.prototype.render=function render(props){var _this2=this;if(props.disabled){return Omi.h('div',(0,_omi.extractClass)(props,'weui-slider'),Omi.h('div',{ref:function ref(e){_this2._ele=e;},'class':'weui-slider__inner'},Omi.h('div',{style:'width: 0;','class':'weui-slider__track'}),Omi.h('div',{style:'left: 0;','class':'weui-slider__handler'})));}return Omi.h('div',_extends({},(0,_omi.extractClass)(props,'weui-slider-box'),{onTouchStart:this.start}),Omi.h('div',{'class':'weui-slider'},Omi.h('div',{ref:function ref(e){_this2._ele=e;},'class':'weui-slider__inner'},Omi.h('div',{id:'sliderTrack',style:'width: '+this.percentage+'%;','class':'weui-slider__track'}),Omi.h('div',{id:'sliderHandler',ref:function ref(e){_this2._handler=e;},style:'left: '+this.percentage+'%;','class':'weui-slider__handler'}))),Omi.h('div',{id:'sliderValue','class':'weui-slider-box__value'},Math.round(this.percentage)));};return _class2;}(_omi.WeElement));\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n var result = __webpack_require__(172);\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)(undefined);\n// imports\n\n\n// module\nexports.push([module.i, \".weui-slider {\\n padding: 15px 18px;\\n -webkit-user-select: none;\\n user-select: none;\\n}\\n\\n.weui-slider__inner {\\n position: relative;\\n height: 2px;\\n background-color: #E9E9E9;\\n}\\n\\n.weui-slider__track {\\n height: 2px;\\n background-color: #07C160;\\n width: 0;\\n}\\n\\n.weui-slider__handler {\\n position: absolute;\\n left: 0;\\n top: 50%;\\n width: 28px;\\n height: 28px;\\n margin-left: -14px;\\n margin-top: -14px;\\n border-radius: 50%;\\n background-color: #FFFFFF;\\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);\\n}\\n\\n.weui-slider-box {\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: flex;\\n -webkit-box-align: center;\\n -webkit-align-items: center;\\n align-items: center;\\n}\\n\\n.weui-slider-box .weui-slider {\\n -webkit-box-flex: 1;\\n -webkit-flex: 1;\\n flex: 1;\\n}\\n\\n.weui-slider-box__value {\\n margin-left: .5em;\\n min-width: 24px;\\n color: #808080;\\n text-align: center;\\n font-size: 14px;\\n}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _extends=Object.assign||function(target){for(var i=1;i=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return call&&(typeof call===\"object\"||typeof call===\"function\")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}(0,_omi.define)('o-toast',(_temp=_class=function(_WeElement){_inherits(_class,_WeElement);function _class(){_classCallCheck(this,_class);return _possibleConstructorReturn(this,_WeElement.apply(this,arguments));}_class.prototype.css=function css(){return _index2.default;};_class.prototype.render=function render(props){var _Omi$h,_Omi$h2;var cls=(0,_omi.extractClass)(props,'weui-toast');var type=props.type,show=props.show,children=props.children,iconSize=props.iconSize,others=_objectWithoutProperties(props,['type','show','children','iconSize']);return Omi.h('div',{style:{display:show?'block':'none'}},Omi.h('div',_extends({},cls,others),type==='success'?Omi.h('o-icon',(_Omi$h={type:'check',color:'white','class':'icon',scale:4},_Omi$h['class']='weui-icon_toast',_Omi$h)):Omi.h('o-icon',(_Omi$h2={type:'loading',rotate:true,color:'white','class':'icon-l',scale:3},_Omi$h2['class']='weui-icon_toast',_Omi$h2)),Omi.h('p',{'class':'weui-toast_content'},children)));};return _class;}(_omi.WeElement),_class.defaultProps={type:'success',show:false},_temp));var toast={},dom=void 0;toast.showLoading=function(wording){dom=(0,_omi.render)(Omi.h('o-toast',{type:'loading',show:true},wording||'加载中'),'body');};toast.hideLoading=function(){document.body.removeChild(dom);};exports.default=toast;\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n var result = __webpack_require__(180);\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)(undefined);\n// imports\n\n\n// module\nexports.push([module.i, \".weui-toast {\\n position: fixed;\\n z-index: 5000;\\n width: 7.6em;\\n min-height: 7.6em;\\n top: 50%;\\n left: 50%;\\n margin-top: -3.8em;\\n margin-left: -3.8em;\\n background: rgba(17, 17, 17, 0.7);\\n text-align: center;\\n border-radius: 5px;\\n color: #FFFFFF;\\n}\\n\\n.weui-icon_toast {\\n margin: 22px 0 0;\\n display: block;\\n}\\n\\n.weui-icon_toast.weui-icon-success-no-circle:before {\\n color: #FFFFFF;\\n font-size: 55px;\\n}\\n\\n.weui-icon_toast.weui-loading {\\n margin: 30px 0 0;\\n width: 38px;\\n height: 38px;\\n vertical-align: baseline;\\n}\\n\\n.weui-toast__content {\\n margin: 0 0 15px;\\n}\\n\\np {\\n margin: 0;\\n padding-bottom: 10px;\\n}\\n\\n.icon {\\n margin-top: 5px;\\n position: relative;\\n top: 10px;\\n}\\n\\n.icon-l {\\n margin-top: 15px;\\n position: relative;\\n top: 10px;\\n margin-bottom: 13px;\\n}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {var scope=typeof global!==\"undefined\"&&global||typeof self!==\"undefined\"&&self||window;var apply=Function.prototype.apply;// DOM APIs, for completeness\nexports.setTimeout=function(){return new Timeout(apply.call(setTimeout,scope,arguments),clearTimeout);};exports.setInterval=function(){return new Timeout(apply.call(setInterval,scope,arguments),clearInterval);};exports.clearTimeout=exports.clearInterval=function(timeout){if(timeout){timeout.close();}};function Timeout(id,clearFn){this._id=id;this._clearFn=clearFn;}Timeout.prototype.unref=Timeout.prototype.ref=function(){};Timeout.prototype.close=function(){this._clearFn.call(scope,this._id);};// Does not start the time, just sets up the members needed.\nexports.enroll=function(item,msecs){clearTimeout(item._idleTimeoutId);item._idleTimeout=msecs;};exports.unenroll=function(item){clearTimeout(item._idleTimeoutId);item._idleTimeout=-1;};exports._unrefActive=exports.active=function(item){clearTimeout(item._idleTimeoutId);var msecs=item._idleTimeout;if(msecs>=0){item._idleTimeoutId=setTimeout(function onTimeout(){if(item._onTimeout)item._onTimeout();},msecs);}};// setimmediate attaches itself to the global object\n__webpack_require__(182);// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate=typeof self!==\"undefined\"&&self.setImmediate||typeof global!==\"undefined\"&&global.setImmediate||undefined&&undefined.setImmediate;exports.clearImmediate=typeof self!==\"undefined\"&&self.clearImmediate||typeof global!==\"undefined\"&&global.clearImmediate||undefined&&undefined.clearImmediate;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global, process) {(function(global,undefined){\"use strict\";if(global.setImmediate){return;}var nextHandle=1;// Spec says greater than zero\nvar tasksByHandle={};var currentlyRunningATask=false;var doc=global.document;var registerImmediate;function setImmediate(callback){// Callback can either be a function or a string\nif(typeof callback!==\"function\"){callback=new Function(\"\"+callback);}// Copy function arguments\nvar args=new Array(arguments.length-1);for(var i=0;i element; its readystatechange event will be fired asynchronously once it is inserted\n// into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\nvar script=doc.createElement(\"script\");script.onreadystatechange=function(){runIfPresent(handle);script.onreadystatechange=null;html.removeChild(script);script=null;};html.appendChild(script);};}function installSetTimeoutImplementation(){registerImmediate=function registerImmediate(handle){setTimeout(runIfPresent,0,handle);};}// If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\nvar attachTo=Object.getPrototypeOf&&Object.getPrototypeOf(global);attachTo=attachTo&&attachTo.setTimeout?attachTo:global;// Don't get fooled by e.g. browserify environments.\nif({}.toString.call(global.process)===\"[object process]\"){// For Node.js before 0.9\ninstallNextTickImplementation();}else if(canUsePostMessage()){// For non-IE10 modern browsers\ninstallPostMessageImplementation();}else if(global.MessageChannel){// For web workers, where supported\ninstallMessageChannelImplementation();}else if(doc&&\"onreadystatechange\"in doc.createElement(\"script\")){// For IE 6–8\ninstallReadyStateChangeImplementation();}else{// For older browsers\ninstallSetTimeoutImplementation();}attachTo.setImmediate=setImmediate;attachTo.clearImmediate=clearImmediate;})(typeof self===\"undefined\"?typeof global===\"undefined\"?undefined:global:self);\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2), __webpack_require__(183)))\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// shim for using process in browser\nvar process=module.exports={};// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\nvar cachedSetTimeout;var cachedClearTimeout;function defaultSetTimout(){throw new Error('setTimeout has not been defined');}function defaultClearTimeout(){throw new Error('clearTimeout has not been defined');}(function(){try{if(typeof setTimeout==='function'){cachedSetTimeout=setTimeout;}else{cachedSetTimeout=defaultSetTimout;}}catch(e){cachedSetTimeout=defaultSetTimout;}try{if(typeof clearTimeout==='function'){cachedClearTimeout=clearTimeout;}else{cachedClearTimeout=defaultClearTimeout;}}catch(e){cachedClearTimeout=defaultClearTimeout;}})();function runTimeout(fun){if(cachedSetTimeout===setTimeout){//normal enviroments in sane situations\nreturn setTimeout(fun,0);}// if setTimeout wasn't available but was latter defined\nif((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0);}try{// when when somebody has screwed with setTimeout but no I.E. maddness\nreturn cachedSetTimeout(fun,0);}catch(e){try{// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\nreturn cachedSetTimeout.call(null,fun,0);}catch(e){// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\nreturn cachedSetTimeout.call(this,fun,0);}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){//normal enviroments in sane situations\nreturn clearTimeout(marker);}// if clearTimeout wasn't available but was latter defined\nif((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker);}try{// when when somebody has screwed with setTimeout but no I.E. maddness\nreturn cachedClearTimeout(marker);}catch(e){try{// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\nreturn cachedClearTimeout.call(null,marker);}catch(e){// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n// Some versions of I.E. have different rules for clearTimeout vs setTimeout\nreturn cachedClearTimeout.call(this,marker);}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return;}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue);}else{queueIndex=-1;}if(queue.length){drainQueue();}}function drainQueue(){if(draining){return;}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex1){for(var i=1;iHello!`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nfunction h(nodeName, attributes) {\n var children = EMPTY_CHILDREN,\n lastSimple,\n child,\n simple,\n i;\n for (i = arguments.length; i-- > 2;) {\n stack.push(arguments[i]);\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children);\n delete attributes.children;\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--;) {\n stack.push(child[i]);\n }\n } else {\n if (typeof child === 'boolean') child = null;\n\n if (simple = typeof nodeName !== 'function') {\n if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false;\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child;\n } else if (children === EMPTY_CHILDREN) {\n children = [child];\n } else {\n children.push(child);\n }\n\n lastSimple = simple;\n }\n }\n\n var p = new VNode();\n p.nodeName = nodeName;\n p.children = children;\n p.attributes = attributes == null ? undefined : attributes;\n p.key = attributes == null ? undefined : attributes.key;\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p);\n\n return p;\n}\n\n/* eslint-disable no-unused-vars */\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n}\n\nfunction assign(target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var runListeners = function runListeners(oEvent) {\n if (!oEvent) {\n oEvent = window.event;\n }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) {\n oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent);\n }\n break;\n }\n }\n };\n\n var oListeners = {};\n\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n nElIdx = iElId;break;\n }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) {\n return;\n }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) {\n return;\n }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n nElIdx = iElId;break;\n }\n }\n if (nElIdx === -1) {\n return;\n }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) {\n aElListeners.splice(iLstId, 1);\n }\n }\n };\n}\n\nif (typeof Object.create !== 'function') {\n Object.create = function (proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto);\n } else if (proto === null) {\n throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\");\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto;\n\n return new F();\n };\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n };\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nfunction extend(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nfunction applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value);else ref.current = value;\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nvar usePromise = typeof Promise == 'function';\n\n// for native\nif (typeof document !== 'object' && typeof global !== 'undefined' && global.__config__) {\n if (global.__config__.platform === 'android') {\n usePromise = true;\n } else {\n var systemVersion = global.__config__.systemVersion && global.__config__.systemVersion.split('.')[0] || 0;\n if (systemVersion > 8) {\n usePromise = true;\n }\n }\n}\n\nvar defer = usePromise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;\n\nfunction isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n}\n\nfunction nProps(props) {\n if (!props || isArray(props)) return {};\n var result = {};\n Object.keys(props).forEach(function (key) {\n result[key] = props[key].value;\n });\n return result;\n}\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nfunction cloneElement(vnode, props) {\n return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);\n}\n\n// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL$1 = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n\n/** Managed queue of dirty components to be re-rendered */\n\nvar items = [];\n\nfunction enqueueRender(component) {\n if (items.push(component) == 1) {\n(options.debounceRendering || defer)(rerender);\n }\n}\n\n/** Rerender all enqueued dirty components */\nfunction rerender() {\n var p;\n while (p = items.pop()) {\n renderComponent(p);\n }\n}\n\nvar mapping = options.mapping;\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nfunction isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined;\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName];\n if (ctor) {\n return hydrating || node._componentConstructor === ctor;\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName);\n }\n return hydrating || node._componentConstructor === vnode.nodeName;\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nfunction isNamedNode(node, nodeName) {\n return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nfunction getNodeProps(vnode) {\n var props = extend({}, vnode.attributes);\n props.children = vnode.children;\n\n var defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (var i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nfunction createNode(nodeName, isSvg) {\n var node = isSvg ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName) : options.doc.createElement(nodeName);\n node.normalizedNodeName = nodeName;\n return node;\n}\n\nfunction parseCSSText(cssText) {\n var cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ');\n var style = {},\n _ref = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt],\n a = _ref[0],\n b = _ref[1],\n rule = _ref[2];\n\n var cssToJs = function cssToJs(s) {\n return s.replace(/\\W+\\w/g, function (match) {\n return match.slice(-1).toUpperCase();\n });\n };\n var properties = rule.split(';').map(function (o) {\n return o.split(':').map(function (x) {\n return x && x.trim();\n });\n });\n for (var i = properties, i = Array.isArray(i), i = 0, i = i ? i : i[Symbol.iterator]();;) {\n var _ref3;\n\n if (i) {\n if (i >= i.length) break;\n _ref3 = i[i++];\n } else {\n i = i.next();\n if (i.done) break;\n _ref3 = i.value;\n }\n\n var _ref2 = _ref3;\n var property = _ref2[0];\n var value = _ref2[1];\n style[cssToJs(property)] = value;\n }return style;\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nfunction removeNode(node) {\n var parentNode = node.parentNode;\n if (parentNode) parentNode.removeChild(node);\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nfunction setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class';\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null);\n applyRef(value, node);\n } else if (name === 'class' && !isSvg) {\n node.className = value || '';\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || '';\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (var i in old) {\n if (!(i in value)) node.style[i] = '';\n }\n }\n for (var i in value) {\n node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL$1.test(i) === false ? value[i] + 'px' : value[i];\n }\n }\n } else {\n var oldJson = old,\n currentJson = value;\n if (typeof old === 'string') {\n oldJson = parseCSSText(old);\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value);\n }\n\n var result = {},\n changed = false;\n\n if (oldJson) {\n for (var key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = '';\n changed = true;\n }\n }\n\n for (var ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey];\n changed = true;\n }\n }\n\n if (changed) {\n node.setStyles(result);\n }\n } else {\n node.setStyles(currentJson);\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || '';\n } else if (name[0] == 'o' && name[1] == 'n') {\n var useCapture = name !== (name = name.replace(/Capture$/, ''));\n name = name.toLowerCase().substring(2);\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture);\n node.addEventListener('touchend', touchEnd, useCapture);\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture);\n node.removeEventListener('touchend', touchEnd, useCapture);\n }\n }\n(node._listeners || (node._listeners = {}))[name] = value;\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value);\n if (value == null || value === false) node.removeAttribute(name);\n } else {\n var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));\n if (value == null || value === false) {\n if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.removeAttribute(name);\n } else if (typeof value !== 'function') {\n if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);else node.setAttribute(name, value);\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value;\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type](options.event && options.event(e) || e);\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX;\n this.___touchY = e.touches[0].pageY;\n this.___scrollTop = document.body.scrollTop;\n}\n\nfunction touchEnd(e) {\n if (Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 && Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 && Math.abs(document.body.scrollTop - this.___scrollTop) < 30) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }));\n }\n}\n\nvar styleId = 0;\n\nfunction getCtorName(ctor) {\n for (var i = 0, len = options.styleCache.length; i < len; i++) {\n var item = options.styleCache[i];\n\n if (item.ctor === ctor) {\n return item.attrName;\n }\n }\n\n var attrName = 's' + styleId;\n options.styleCache.push({ ctor: ctor, attrName: attrName });\n styleId++;\n\n return attrName;\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nfunction scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']';\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '');\n // eslint-disable-next-line\n var re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g');\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, function (g0, g1, g2, g3) {\n if (typeof g2 === 'undefined') {\n g2 = '';\n }\n\n /* eslint-ignore-next-line */\n if (g1.match(/^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/)) {\n return g1 + g2 + g3;\n }\n\n var appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2;\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3;\n //return appendClass + ',' + prependClass + g3;\n });\n\n return css;\n}\n\nfunction addStyle(cssText, id) {\n id = id.toLowerCase();\n var ele = document.getElementById(id);\n var head = document.getElementsByTagName('head')[0];\n if (ele && ele.parentNode === head) {\n head.removeChild(ele);\n }\n\n var someThingStyles = document.createElement('style');\n head.appendChild(someThingStyles);\n someThingStyles.setAttribute('type', 'text/css');\n someThingStyles.setAttribute('id', id);\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText;\n } else {\n someThingStyles.textContent = cssText;\n }\n}\n\nfunction addStyleWithoutId(cssText) {\n var head = document.getElementsByTagName('head')[0];\n var someThingStyles = document.createElement('style');\n head.appendChild(someThingStyles);\n someThingStyles.setAttribute('type', 'text/css');\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText;\n } else {\n someThingStyles.textContent = cssText;\n }\n}\n\nfunction addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom);\n }\n}\n\nfunction addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr);\n options.staticStyleMapping[attr] = true;\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style);\n options.staticStyleMapping[attr] = true;\n }\n}\n\nfunction scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {};\n vdom.attributes[attr] = '';\n vdom.css = vdom.css || {};\n vdom.css[attr] = '';\n vdom.children.forEach(function (child) {\n return scopeVdom(attr, child);\n });\n }\n}\n\nfunction scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {};\n for (var key in css) {\n vdom.attributes[key] = '';\n }\n }\n}\n\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nvar mounts = [];\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nvar diffLevel = 0;\n\n/** Global flag indicating if the diff is currently within an SVG */\nvar isSvgMode = false;\n\n/** Global flag indicating if the diff is performing hydration */\nvar hydrating = false;\n\n/** Invoke queued componentDidMount lifecycle methods */\nfunction flushMounts() {\n var c;\n while (c = mounts.pop()) {\n if (options.afterMount) options.afterMount(c);\n if (c.installed) c.installed();\n if (c.css) {\n addStyleToHead(typeof c.css === 'function' ? c.css() : c.css, '_s' + getCtorName(c.constructor));\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nfunction diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined;\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !('__omiattr_' in dom);\n }\n var ret;\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n };\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot);\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret);\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (! --diffLevel) {\n hydrating = false;\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts();\n }\n\n return ret;\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n var out = dom,\n prevSvgMode = isSvgMode;\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = '';\n\n // If the VNode represents a Component, perform a component diff:\n var vnodeName = vnode.nodeName;\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName];\n return buildComponentFromVNode(dom, vnode, context, mountAll);\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll);\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode;\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode);\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n recollectNodeTree(dom, true);\n }\n }\n\n //ie8 error\n try {\n out['__omiattr_'] = true;\n } catch (e) {}\n\n return out;\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode;\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName);\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode);\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) {\n out.appendChild(dom.firstChild);\n } // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true);\n }\n }\n\n var fc = out.firstChild,\n props = out['__omiattr_'],\n vchildren = vnode.children;\n\n if (props == null) {\n props = out['__omiattr_'] = {};\n for (var a = out.attributes, i = a.length; i--;) {\n props[a[i].name] = a[i].value;\n }\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0];\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if (vchildren && vchildren.length || fc != null) {\n innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null);\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props);\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode;\n\n return out;\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n var originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child;\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (var i = 0; i < len; i++) {\n var _child = originalChildren[i],\n props = _child['__omiattr_'],\n key = vlen && props ? _child._component ? _child._component.__key : props.key : null;\n if (key != null) {\n keyedLen++;\n keyed[key] = _child;\n } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) {\n children[childrenLen++] = _child;\n }\n }\n }\n\n if (vlen !== 0) {\n for (var i = 0; i < vlen; i++) {\n vchild = vchildren[i];\n child = null;\n\n // attempt to find a node based on key matching\n var key = vchild.key;\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key];\n keyed[key] = undefined;\n keyedLen--;\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {\n child = c;\n children[j] = undefined;\n if (j === childrenLen - 1) childrenLen--;\n if (j === min) min++;\n break;\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll);\n\n f = originalChildren[i];\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child);\n } else if (child === f.nextSibling) {\n removeNode(f);\n } else {\n dom.insertBefore(child, f);\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (var i in keyed) {\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false);\n }\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false);\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nfunction recollectNodeTree(node, unmountOnly) {\n var component = node._component;\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component);\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node['__omiattr_'] != null) applyRef(node['__omiattr_'].ref, null);\n\n if (unmountOnly === false || node['__omiattr_'] == null) {\n removeNode(node);\n }\n\n removeChildren(node);\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nfunction removeChildren(node) {\n node = node.lastChild;\n while (node) {\n var next = node.previousSibling;\n recollectNodeTree(node, true);\n node = next;\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n var name;\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) {\n setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n }\n }\n}\n\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nvar components = {};\n\n/** Reclaim a component for later re-use by the recycler. */\nfunction collectComponent(component) {\n var name = component.constructor.name;(components[name] || (components[name] = [])).push(component);\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nfunction createComponent(Ctor, props, context, vnode) {\n var list = components[Ctor.name],\n inst;\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context);\n Component.call(inst, props, context);\n } else {\n inst = new Component(props, context);\n inst.constructor = Ctor;\n inst.render = doRender;\n }\n vnode && (inst.scopedCssAttr = vnode.css);\n\n if (list) {\n for (var i = list.length; i--;) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase;\n list.splice(i, 1);\n break;\n }\n }\n }\n return inst;\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context);\n}\n\n/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function obaa(target, arr, callback) {\n var _observe = function _observe(target, arr, callback) {\n if (!target.$observer) target.$observer = this;\n var $observer = target.$observer;\n var eventPropArr = [];\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {};\n target.$observeProps.$observerPath = '#';\n }\n $observer.mock(target);\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n }\n } else {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n }\n }\n }\n $observer.target = target;\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = [];\n var propChanged = callback ? callback : arr;\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n });\n };\n _observe.prototype = {\n onPropertyChanged: function onPropertyChanged(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path);\n for (var i = 0, len = this.propertyChangedHandler.length; i < len; i++) {\n var handler = this.propertyChangedHandler[i];\n if (handler.all || obaa.isInArray(handler.eventPropArr, rootName) || rootName.indexOf('Array-') === 0) {\n handler.propChanged.call(this.target, prop, value, oldValue, path);\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath);\n }\n },\n mock: function mock(target) {\n var self = this;\n obaa.methods.forEach(function (item) {\n target[item] = function () {\n var old = Array.prototype.slice.call(this, 0);\n var result = Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath);\n }\n }\n //todo\n self.onPropertyChanged('Array-' + item, this, old, this, this.$observeProps.$observerPath);\n }\n return result;\n };\n target['pure' + item.substring(0, 1).toUpperCase() + item.substring(1)] = function () {\n return Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));\n };\n });\n },\n watch: function watch(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return;\n if (obaa.isFunction(target[prop])) return;\n if (!target.$observeProps) target.$observeProps = {};\n if (path !== undefined) {\n target.$observeProps.$observerPath = path;\n } else {\n target.$observeProps.$observerPath = '#';\n }\n var self = this;\n var currentValue = target.$observeProps[prop] = target[prop];\n Object.defineProperty(target, prop, {\n get: function get() {\n return this.$observeProps[prop];\n },\n set: function set(value) {\n var old = this.$observeProps[prop];\n this.$observeProps[prop] = value;\n self.onPropertyChanged(prop, value, old, this, target.$observeProps.$observerPath);\n }\n });\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue);\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {};\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path;\n } else {\n currentValue.$observeProps.$observerPath = '#';\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(currentValue, cprop, target.$observeProps.$observerPath + '-' + prop);\n }\n }\n }\n }\n };\n return new _observe(target, arr, callback);\n};\n\nobaa.methods = ['concat', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift', 'values', 'size'];\nobaa.triggerStr = ['concat', 'copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'size'].join(',');\n\nobaa.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n};\n\nobaa.isString = function (obj) {\n return typeof obj === 'string';\n};\n\nobaa.isInArray = function (arr, item) {\n for (var i = arr.length; --i > -1;) {\n if (item === arr[i]) return true;\n }\n return false;\n};\n\nobaa.isFunction = function (obj) {\n return Object.prototype.toString.call(obj) == '[object Function]';\n};\n\nobaa._getRootName = function (prop, path) {\n if (path === '#') {\n return prop;\n }\n return path.split('-')[1];\n};\n\nobaa.add = function (obj, prop) {\n var $observer = obj.$observer;\n $observer.watch(obj, prop);\n};\n\nobaa.set = function (obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value;\n }\n var $observer = obj.$observer;\n $observer.watch(obj, prop);\n if (exec) {\n obj[prop] = value;\n }\n};\n\nArray.prototype.size = function (length) {\n this.length = length;\n};\n\nvar callbacks = [];\nvar nextTickCallback = [];\n\nfunction fireTick() {\n callbacks.forEach(function (item) {\n item.fn.call(item.scope);\n });\n\n nextTickCallback.forEach(function (nextItem) {\n nextItem.fn.call(nextItem.scope);\n });\n nextTickCallback.length = 0;\n}\n\nfunction proxyUpdate(ele) {\n var timeout = null;\n obaa(ele.data, function () {\n if (ele._willUpdate) {\n return;\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout);\n\n timeout = setTimeout(function () {\n ele.update();\n fireTick();\n }, 0);\n } else {\n ele.update();\n fireTick();\n }\n });\n}\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nfunction setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return;\n component._disable = true;\n\n if (component.__ref = props.ref) delete props.ref;\n if (component.__key = props.key) delete props.key;\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall();\n if (component.install) component.install();\n if (component.constructor.observe) {\n proxyUpdate(component);\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props);\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context;\n component.context = context;\n }\n\n if (!component.prevProps) component.prevProps = component.props;\n component.props = props;\n\n component._disable = false;\n\n if (opts !== 0) {\n if (opts === 1 || options.syncComponentUpdates !== false || !component.base) {\n renderComponent(component, 1, mountAll);\n } else {\n enqueueRender(component);\n }\n }\n\n applyRef(component.__ref, component);\n}\n\nfunction shallowComparison(old, attrs) {\n var name;\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true;\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true;\n }\n\n for (name in attrs) {\n if (name != 'children') {\n var type = typeof attrs[name];\n if (type == 'function' || type == 'object') {\n return true;\n } else if (attrs[name] != old[name]) {\n return true;\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nfunction renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return;\n\n var props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase;\n\n // if updating\n if (isUpdate) {\n component.props = previousProps;\n component.data = previousState;\n component.context = previousContext;\n if (component.store || opts == 2 || shallowComparison(previousProps, props)) {\n skip = false;\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context);\n }\n } else {\n skip = true;\n }\n component.props = props;\n component.data = data;\n component.context = context;\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null;\n\n if (!skip) {\n component.beforeRender && component.beforeRender();\n rendered = component.render(props, data, context);\n\n //don't rerender\n if (component.css) {\n addScopedAttrStatic(rendered, '_s' + getCtorName(component.constructor));\n }\n\n scopeHost(rendered, component.scopedCssAttr);\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext());\n }\n\n var childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent];\n\n if (ctor) {\n // set up high order component link\n\n var childProps = getNodeProps(rendered);\n inst = initialChildComponent;\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, 1, context, false);\n } else {\n toUnmount = inst;\n\n component._component = inst = createComponent(ctor, childProps, context);\n inst.nextBase = inst.nextBase || nextBase;\n inst._parentComponent = component;\n setComponentProps(inst, childProps, 0, context, false);\n renderComponent(inst, 1, mountAll, true);\n }\n\n base = inst.base;\n } else {\n cbase = initialBase;\n\n // destroy high order component link\n toUnmount = initialChildComponent;\n if (toUnmount) {\n cbase = component._component = null;\n }\n\n if (initialBase || opts === 1) {\n if (cbase) cbase._component = null;\n base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true);\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n var baseParent = initialBase.parentNode;\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase);\n\n if (!toUnmount) {\n initialBase._component = null;\n recollectNodeTree(initialBase, false);\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount);\n }\n\n component.base = base;\n if (base && !isChild) {\n var componentRef = component,\n t = component;\n while (t = t._parentComponent) {\n(componentRef = t).base = base;\n }\n base._component = componentRef;\n base._componentConstructor = componentRef.constructor;\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component);\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext);\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext);\n }\n if (options.afterUpdate) options.afterUpdate(component);\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length) {\n component._renderCallbacks.pop().call(component);\n }\n }\n\n if (!diffLevel && !isChild) flushMounts();\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nfunction buildComponentFromVNode(dom, vnode, context, mountAll) {\n var c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode);\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName;\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, 3, context, mountAll);\n dom = c.base;\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent);\n dom = oldDom = null;\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode);\n if (dom && !c.nextBase) {\n c.nextBase = dom;\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null;\n }\n setComponentProps(c, props, 1, context, mountAll);\n dom = c.base;\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null;\n recollectNodeTree(oldDom, false);\n }\n }\n\n return dom;\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nfunction unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component);\n\n var base = component.base;\n\n component._disable = true;\n\n if (component.uninstall) component.uninstall();\n\n component.base = null;\n\n // recursively tear down & recollect high-order component children:\n var inner = component._component;\n if (inner) {\n unmountComponent(inner);\n } else if (base) {\n if (base['__omiattr_'] != null) applyRef(base['__omiattr_'].ref, null);\n\n component.nextBase = base;\n\n removeNode(base);\n collectComponent(component);\n\n removeChildren(base);\n }\n\n applyRef(component.__ref, null);\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar id = 0;\n\nvar Component = function () {\n function Component(props, store) {\n _classCallCheck(this, Component);\n\n this.props = assign(nProps(this.constructor.props), this.constructor.defaultProps, props);\n this.elementId = id++;\n this.data = this.constructor.data || this.data || {};\n\n this._preCss = null;\n\n this.store = store;\n }\n\n Component.prototype.update = function update(callback) {\n this._willUpdate = true;\n if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback);\n renderComponent(this, 2);\n if (options.componentChange) options.componentChange(this, this.base);\n this._willUpdate = false;\n };\n\n Component.prototype.fire = function fire(type, data) {\n var _this = this;\n\n Object.keys(this.props).every(function (key) {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n _this.props[key]({ detail: data });\n return false;\n }\n return true;\n });\n };\n\n Component.prototype.render = function render() {};\n\n return Component;\n}();\n\nComponent.is = 'WeElement';\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nfunction render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent;\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n }\n }\n\n if (merge) {\n merge = typeof merge === 'string' ? document.querySelector(merge) : merge;\n }\n\n return diff(merge, vnode, store, false, parent, false);\n}\n\nfunction define(name, ctor) {\n options.mapping[name] = ctor;\n}\n\nfunction rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, function (a, b) {\n return window.innerWidth * Number(b) / 750 + 'px';\n });\n}\n\nfunction _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ModelView = function (_Component) {\n _inherits(ModelView, _Component);\n\n function ModelView() {\n _classCallCheck$1(this, ModelView);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n ModelView.prototype.beforeInstall = function beforeInstall() {\n this.data = this.vm.data;\n };\n\n return ModelView;\n}(Component);\n\nModelView.observe = true;\nModelView.mergeUpdate = true;\n\n/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty;\n\nfunction classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n}\n\nfunction extractClass() {\n var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0),\n props = _Array$prototype$slic[0],\n args = _Array$prototype$slic.slice(1);\n\n if (props) {\n if (props.class) {\n args.unshift(props.class);\n delete props.class;\n } else if (props.className) {\n args.unshift(props.className);\n delete props.className;\n }\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) };\n }\n}\n\nfunction getHost(component) {\n var base = component.base;\n if (base) {\n while (base.parentNode) {\n if (base.parentNode._component) {\n return base.parentNode._component;\n } else {\n base = base.parentNode;\n }\n }\n }\n}\n\n/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nvar encodeEntities = function encodeEntities(s) {\n return String(s).replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"');\n};\n\nvar indent = function indent(s, char) {\n return String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n};\n\nvar mapping$1 = options.mapping;\n\nvar VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nvar isLargeString = function isLargeString(s, length, ignoreLines) {\n return String(s).length > (length || 40) || !ignoreLines && String(s).indexOf('\\n') !== -1 || String(s).indexOf('<') !== -1;\n};\n\nvar JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n var str = '';\n for (var prop in s) {\n var val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\n/** The default export is an alias of `render()`. */\nfunction renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n var nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n }, opts);\n\n var pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n var ctor = mapping$1[nodeName];\n if (ctor) {\n isComponent = true;\n\n var props = getNodeProps$1(vnode),\n rendered;\n // class-based components\n var c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n var tempCss;\n if (opts.scopedCSS) {\n\n if (c.css) {\n var cssStr = typeof c.css === 'function' ? c.css() : c.css;\n var cssAttr = '_s' + getCtorName(c.constructor);\n\n tempCss = '';\n }\n if (c.css) {\n addScopedAttrStatic(rendered, '_s' + getCtorName(c.constructor));\n }\n\n c.scopedCSSAttr = vnode.css;\n scopeHost(rendered, c.scopedCSSAttr);\n }\n\n return renderToString(rendered, opts, store, false, tempCss);\n }\n\n // render JSX to HTML\n var s = '',\n html;\n\n if (attributes) {\n var attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (var i = 0; i < attrs.length; i++) {\n var name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes.class) continue;\n name = 'class';\n } else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n var hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n } else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ' ' + name + '=\"' + encodeEntities(v) + '\"';\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n var sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = '<' + nodeName + s + '>';\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n var isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n var pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n } else if (vnode.children) {\n var hasLarge = pretty && ~s.indexOf('\\n');\n for (var i = 0; i < vnode.children.length; i++) {\n var child = vnode.children[i];\n if (child != null && child !== false) {\n var childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = renderToString(child, opts, store, childSvgMode);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (var i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n } else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += '' + nodeName + '>';\n }\n\n if (css) return css + s;\n return s;\n}\n\nfunction assign$1(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\nfunction getNodeProps$1(vnode) {\n var props = assign$1({}, vnode.attributes);\n props.children = vnode.children;\n\n var defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (var i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}\n\nvar WeElement = Component;\nvar defineElement = define;\nfunction createRef() {\n return {};\n}\n\noptions.root.Omi = {\n h: h,\n createElement: h,\n cloneElement: cloneElement,\n createRef: createRef,\n Component: Component,\n render: render,\n rerender: rerender,\n options: options,\n WeElement: WeElement,\n define: define,\n rpx: rpx,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n getHost: getHost,\n renderToString: renderToString\n};\noptions.root.omi = options.root.Omi;\noptions.root.Omi.version = 'omio-1.3.7';\n\nvar omi = {\n h: h,\n createElement: h,\n cloneElement: cloneElement,\n createRef: createRef,\n Component: Component,\n render: render,\n rerender: rerender,\n options: options,\n WeElement: WeElement,\n define: define,\n rpx: rpx,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n getHost: getHost,\n renderToString: renderToString\n};\n\nexport default omi;\nexport { h, h as createElement, cloneElement, createRef, Component, render, rerender, options, WeElement, define, rpx, ModelView, defineElement, classNames, extractClass, getHost, renderToString };\n//# sourceMappingURL=omi.esm.js.map\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/omio/dist/omi.esm.js","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/css-loader/lib/css-base.js","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\n} catch(e) {\n\t// This works if the window reference is available\n\tif(typeof window === \"object\")\n\t\tg = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n\n// WEBPACK FOOTER //\n// (webpack)/buildin/global.js","'use strict';\n\nvar asap = require('asap/raw');\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._75 = 0;\n this._83 = 0;\n this._18 = null;\n this._38 = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._47 = null;\nPromise._71 = null;\nPromise._44 = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._83 === 3) {\n self = self._18;\n }\n if (Promise._47) {\n Promise._47(self);\n }\n if (self._83 === 0) {\n if (self._75 === 0) {\n self._75 = 1;\n self._38 = deferred;\n return;\n }\n if (self._75 === 1) {\n self._75 = 2;\n self._38 = [self._38, deferred];\n return;\n }\n self._38.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n asap(function() {\n var cb = self._83 === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._83 === 1) {\n resolve(deferred.promise, self._18);\n } else {\n reject(deferred.promise, self._18);\n }\n return;\n }\n var ret = tryCallOne(cb, self._18);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._83 = 3;\n self._18 = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._83 = 1;\n self._18 = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._83 = 2;\n self._18 = newValue;\n if (Promise._71) {\n Promise._71(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._75 === 1) {\n handle(self, self._38);\n self._38 = null;\n }\n if (self._75 === 2) {\n for (var i = 0; i < self._38.length; i++) {\n handle(self, self._38[i]);\n }\n self._38 = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/core.js","'use strict';\n\nif (typeof Promise === 'undefined') {\n // Rejection tracking prevents a common issue where React gets into an\n // inconsistent state due to an error, but it gets swallowed by a Promise,\n // and the user has no idea what causes React's erratic future behavior.\n require('promise/lib/rejection-tracking').enable();\n window.Promise = require('promise/lib/es6-extensions.js');\n}\n\n// fetch() polyfill for making API calls.\nrequire('whatwg-fetch');\n\n// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign = require('object-assign');\n\n// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif (process.env.NODE_ENV === 'test') {\n require('raf').polyfill(global);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./config/polyfills.js","'use strict';\n\nvar Promise = require('./core');\n\nvar DEFAULT_WHITELIST = [\n ReferenceError,\n TypeError,\n RangeError\n];\n\nvar enabled = false;\nexports.disable = disable;\nfunction disable() {\n enabled = false;\n Promise._47 = null;\n Promise._71 = null;\n}\n\nexports.enable = enable;\nfunction enable(options) {\n options = options || {};\n if (enabled) disable();\n enabled = true;\n var id = 0;\n var displayId = 0;\n var rejections = {};\n Promise._47 = function (promise) {\n if (\n promise._83 === 2 && // IS REJECTED\n rejections[promise._56]\n ) {\n if (rejections[promise._56].logged) {\n onHandled(promise._56);\n } else {\n clearTimeout(rejections[promise._56].timeout);\n }\n delete rejections[promise._56];\n }\n };\n Promise._71 = function (promise, err) {\n if (promise._75 === 0) { // not yet handled\n promise._56 = id++;\n rejections[promise._56] = {\n displayId: null,\n error: err,\n timeout: setTimeout(\n onUnhandled.bind(null, promise._56),\n // For reference errors and type errors, this almost always\n // means the programmer made a mistake, so log them after just\n // 100ms\n // otherwise, wait 2 seconds to see if they get handled\n matchWhitelist(err, DEFAULT_WHITELIST)\n ? 100\n : 2000\n ),\n logged: false\n };\n }\n };\n function onUnhandled(id) {\n if (\n options.allRejections ||\n matchWhitelist(\n rejections[id].error,\n options.whitelist || DEFAULT_WHITELIST\n )\n ) {\n rejections[id].displayId = displayId++;\n if (options.onUnhandled) {\n rejections[id].logged = true;\n options.onUnhandled(\n rejections[id].displayId,\n rejections[id].error\n );\n } else {\n rejections[id].logged = true;\n logError(\n rejections[id].displayId,\n rejections[id].error\n );\n }\n }\n }\n function onHandled(id) {\n if (rejections[id].logged) {\n if (options.onHandled) {\n options.onHandled(rejections[id].displayId, rejections[id].error);\n } else if (!rejections[id].onUnhandled) {\n console.warn(\n 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'\n );\n console.warn(\n ' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id ' +\n rejections[id].displayId + '.'\n );\n }\n }\n }\n}\n\nfunction logError(id, error) {\n console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');\n var errStr = (error && (error.stack || error)) + '';\n errStr.split('\\n').forEach(function (line) {\n console.warn(' ' + line);\n });\n}\n\nfunction matchWhitelist(error, list) {\n return list.some(function (cls) {\n return error instanceof cls;\n });\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/rejection-tracking.js","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/asap/browser-raw.js","'use strict';\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/es6-extensions.js","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/whatwg-fetch/fetch.js","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/object-assign/index.js","import { define, WeElement, extractClass, classNames } from 'omi'\nimport css from './_index.css'\nimport path from './path'\n\ndefine('o-icon', class extends WeElement {\n css() {\n return css\n }\n\n static defaultProps = {\n scale: 2\n }\n\n onClick = e => {\n this.props.onClick && this.props.onClick(e)\n //e.stopPropagation()\n }\n\n render(props) {\n const style = { style: props.style }\n return (\n \n \n {props.children && (\n \n {props.children[0]}\n
\n )}\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/icon/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/icon/_index.css\n// module id = 13\n// module chunks = 60 63 64","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-icon {\\n text-align: center;\\n display: inline-block;\\n}\\n\\n.rotate {\\n display: inline-block;\\n -webkit-animation: rotate 1s infinite linear;\\n animation: rotate 1s infinite linear;\\n}\\n\\ni div {\\n font-style: normal;\\n}\\n\\n@-webkit-keyframes rotate {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg)\\n }\\n}\\n\\n@keyframes rotate {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg)\\n }\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/icon/_index.css\n// module id = 14\n// module chunks = 60 63 64","export default {\n loading: [\n 'M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z'\n ],\n close: [\n 'M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z'\n ],\n pay: [\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm159.6-585h-59.5c-3 0-5.8 1.7-7.1 4.4l-90.6 180H511l-90.6-180a8 8 0 0 0-7.1-4.4h-60.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9L457 515.7h-61.4c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V603h-81.7c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V717c0 4.4 3.6 8 8 8h54.3c4.4 0 8-3.6 8-8v-68.1h82c4.4 0 8-3.6 8-8V611c0-4.4-3.6-8-8-8h-82v-41.5h82c4.4 0 8-3.6 8-8v-29.9c0-4.4-3.6-8-8-8h-62l111.1-204.8c.6-1.2 1-2.5 1-3.8-.1-4.4-3.7-8-8.1-8z',\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm166.6 246.8L567.5 515.6h62c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V603h82c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V717c0 4.4-3.6 8-8 8h-54.3c-4.4 0-8-3.6-8-8v-68.1h-81.7c-4.4 0-8-3.6-8-8V611c0-4.4 3.6-8 8-8h81.7v-41.5h-81.7c-4.4 0-8-3.6-8-8v-29.9c0-4.4 3.6-8 8-8h61.4L345.4 310.8a8.07 8.07 0 0 1 7-11.9h60.7c3 0 5.8 1.7 7.1 4.4l90.6 180h3.4l90.6-180a8 8 0 0 1 7.1-4.4h59.5c4.4 0 8 3.6 8 8 .2 1.4-.2 2.7-.8 3.9z'\n ],\n chat: [\n 'M464 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm200 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-400 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm661.2-173.6c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 0 0-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 0 0-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 0 0 112 714v152a46 46 0 0 0 46 46h152.1A449.4 449.4 0 0 0 510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 0 0 142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z',\n 'M924.3 338.4a447.57 447.57 0 0 0-96.1-143.3 443.09 443.09 0 0 0-143-96.3A443.91 443.91 0 0 0 512 64h-2c-60.5.3-119 12.3-174.1 35.9a444.08 444.08 0 0 0-141.7 96.5 445 445 0 0 0-95 142.8A449.89 449.89 0 0 0 65 514.1c.3 69.4 16.9 138.3 47.9 199.9v152c0 25.4 20.6 46 45.9 46h151.8a447.72 447.72 0 0 0 199.5 48h2.1c59.8 0 117.7-11.6 172.3-34.3A443.2 443.2 0 0 0 827 830.5c41.2-40.9 73.6-88.7 96.3-142 23.5-55.2 35.5-113.9 35.8-174.5.2-60.9-11.6-120-34.8-175.6zM312.4 560c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.4 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48z'\n ],\n 'add-friend': [\n 'M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 0 0-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 0 0-80.4 119.5A373.6 373.6 0 0 0 137 888.8a8 8 0 0 0 8 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 0 0 8.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 0 1 340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 0 1 683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'\n ],\n scan: [\n 'M136 384h56c4.4 0 8-3.6 8-8V200h176c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-37.6 0-68 30.4-68 68v180c0 4.4 3.6 8 8 8zm512-184h176v176c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V196c0-37.6-30.4-68-68-68H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM376 824H200V648c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v180c0 37.6 30.4 68 68 68h180c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm512-184h-56c-4.4 0-8 3.6-8 8v176H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h180c37.6 0 68-30.4 68-68V648c0-4.4-3.6-8-8-8zm16-164H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'\n ],\n success: [\n 'M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z',\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z'\n ],\n warn: [\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z',\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ],\n check: [\n 'M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z'\n ],\n 'check-square': [\n 'M433.1 657.7a31.8 31.8 0 0 0 51.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7H642c-10.2 0-19.9 4.9-25.9 13.3L459 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H315c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8z M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ],\n rect: [\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ],\n github: [\n 'M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z'\n ]\n}\n\n\n\n// WEBPACK FOOTER //\n// ./../src/icon/path.js","import { define, WeElement, extractClass } from 'omi'\nimport css from './_index.css'\n\ndefine('o-button', class extends WeElement {\n static defaultProps = {\n disabled: false,\n type: 'primary',\n size: 'normal'\n }\n\n css() {\n return css\n }\n\n render(props) {\n let cls = extractClass(props) || {}\n const {\n component,\n type,\n size,\n plain,\n children,\n ...others\n } = this.props\n\n\n const Component = component\n ? component\n : this.props.href || type === 'vcode'\n ? 'a'\n : 'button'\n cls =\n type === 'vcode'\n ? extractClass(cls, 'weui-vcode-btn')\n : extractClass(cls, {\n 'weui-btn': true,\n 'weui-btn_mini': size === 'small',\n 'weui-btn_primary': type === 'primary' && !plain,\n 'weui-btn_default': type === 'default' && !plain,\n 'weui-btn_warn': type === 'warn',\n 'weui-btn_plain-primary': type === 'primary' && plain,\n 'weui-btn_plain-default': type === 'default' && plain,\n 'weui-btn_disabled': this.props.disabled && !plain,\n 'weui-btn_plain-disabled': this.props.disabled && plain\n })\n\n return (\n \n {children}\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/button/index.js","import { define, WeElement } from 'omi'\nimport './tree-node'\nimport css from './_index.css'\n\ndefine('o-tree', class extends WeElement {\n\n\n moveNode(id, parentId) {\n if (id === parentId) {\n return\n }\n\n if (this.check(parentId, id)) {\n let parent = this.getChildById(parentId, this.data.children)\n\n if (parent.type !== 'group') return\n let child = this.removeChildById(id, this.data.children)\n parent.children.push(child)\n this.update()\n }\n }\n\n check(parentId, childId) {\n let current = this.getChildById(childId, this.data.children),\n children = current.children\n for (let i = 0, len = children.length; i < len; i++) {\n let child = children[i]\n if (child.id === parentId) {\n return false\n }\n\n let errorIds = this.check(parentId, child.id)\n if (!errorIds) {\n return false\n }\n }\n\n return true\n }\n\n removeChildById(id, children) {\n\n for (let i = 0, len = children.length; i < len; i++) {\n let child = children[i]\n if (child.id === id) {\n children.splice(i, 1)\n return child\n }\n\n let target = this.removeChildById(id, child.children)\n if (target) {\n return target\n }\n\n }\n }\n\n getChildById(id, children) {\n if (this.props.data.id === id) return this.props.data\n for (let i = 0, len = children.length; i < len; i++) {\n let child = children[i]\n if (child.id === id) {\n return child\n }\n\n let target = this.getChildById(id, child.children)\n if (target) {\n return target\n }\n }\n }\n\n getNodeCount(count, children) {\n\n for (let i = 0, len = children.length; i < len; i++) {\n count++\n\n let child = children[i]\n if (child.children.length > 0 && child.expand) {\n count = this.getNodeCount(count, child.children)\n }\n }\n\n return count\n }\n\n toggle(id) {\n let nodeData = this.getChildById(id, this.props.data.children)\n nodeData.expand = !nodeData.expand\n this.update()\n }\n\n rename(id, name) {\n\n let nodeData = this.getChildById(id, this.data.children)\n nodeData.name = name\n this.update()\n }\n\n beforeRender() {\n if (this.data.children) {\n this.data.emptyArr = new Array(this.getNodeCount(0, this.data.children))\n }\n }\n\n css() {\n return css\n }\n\n render(props) {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/tree/index.js","import { define, WeElement } from 'omi'\nimport css from './_index.css'\nimport '../../icon'\n\ndefine('tree-node', class extends WeElement {\n\n dropHandler(evt) {\n this.getRootInstance(this.parent).moveNode(parseInt(evt.dataTransfer.getData(\"node-id\")), parseInt(evt.target.dataset['nodeId']))\n this.node && this.node.classList.remove('drag-over')\n evt.stopPropagation()\n evt.preventDefault()\n\n }\n\n getRootInstance(parent) {\n if (parent.moveNode) {\n return parent\n } else {\n return this.getRootInstance(parent.parent)\n }\n\n }\n\n dragOverHandler(evt) {\n this.node.classList.add('drag-over')\n evt.stopPropagation()\n evt.preventDefault()\n }\n\n dragLeaveHandler() {\n this.node.classList.remove('drag-over')\n }\n\n dragStartHandler(evt) {\n evt.dataTransfer.setData(\"node-id\", this.data.id)\n evt.stopPropagation()\n }\n\n css() {\n return css\n }\n\n toggle = (evt, id) => {\n this.props.root.toggle(id)\n this.props.root.update()\n evt.stopPropagation()\n }\n\n clickNode = (evt, id) => {\n this.props.root.props.onNodeClick && this.props.root.props.onNodeClick(id, evt)\n }\n\n render(props) {\n const { id, children, expand, name } = props.data\n return (\n \n { this.nodeTitle = e }} class={`node-title arrow-${children.length > 0 ? (expand ? 'expand' : 'contract') : ''}`} data-node-id={id} >\n {children.length > 0 && this.toggle(e, id)} scale={1} color='#171717' class='icon' path={expand ? 'M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z' : 'M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z'}>}\n this.clickNode(e, id)} class=\"name\">{name}\n
\n {children.length > 0 && expand && \n {props.data.children.map(child => (\n \n ))}\n
}\n \n )\n\n\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/tree/tree-node/index.js","\n var result = require(\"!!../../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/tree/tree-node/_index.css\n// module id = 20\n// module chunks = 60 64","exports = module.exports = require(\"../../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".drag-over {\\n border: 1px dashed white;\\n}\\n\\n.node-root {\\n color: #171717;\\n font-size: 12px;\\n margin-left: 10px;\\n}\\n\\n.node-title {\\n height: 32px;\\n line-height: 32px;\\n}\\n\\n.name {\\n cursor: pointer;\\n}\\n\\nul,\\nli {\\n list-style: none;\\n padding: 0;\\n padding-left: 5px;\\n margin: 0 ;\\n}\\n\\n\\n.icon{\\n position: relative;\\n top: 1px;\\n cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/tree/tree-node/_index.css\n// module id = 21\n// module chunks = 60 64","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/tree/_index.css\n// module id = 22\n// module chunks = 60 64","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-tree {\\n position: relative;\\n width: 240px;\\n height: auto;\\n min-height: 200px;\\n}\\n\\n\\nul,\\nli {\\n list-style: none;\\n padding: 0;\\n padding-left: 5px;\\n margin: 0;\\n}\\n\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/tree/_index.css\n// module id = 23\n// module chunks = 60 64","import { define, WeElement } from 'omi'\nimport style from './_index.css'\n\ndefine('o-list-item', class extends WeElement {\n css() {\n return style\n }\n render(props) {\n let border = props.__inList ? 'border-bottom-1px' : 'border-1px'\n return (\n \n {props.icon ? : null}\n {props.title}\n {props.content}\n {props.access ? : null}\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/list-item/index.js","import { define, render, WeElement } from 'omi'\nimport './assets/index.css'\nimport '../../src/pagination'\nimport '../../src/input-number'\nimport '../../src/button'\nimport '../../src/progress'\nimport '../../src/timeline'\nimport '../../src/nav'\nimport '../../src/dialog'\nimport '../../src/icon'\nimport '../../src/tab'\nimport '../../src/dropdown-menu'\nimport '../../src/badge'\nimport '../../src/input'\nimport '../../src/tab-bar'\nimport '../../src/popup'\nimport '../../src/list'\nimport '../../src/list-item'\nimport '../../src/loading'\nimport '../../src/msg'\nimport '../../src/equal-space'\nimport '../../src/selection'\nimport '../../src/slider'\nimport '../../src/switch'\nimport '../../src/tree'\nimport { loading, close } from 'path-d'\nimport path from './utils/path'\nimport toast from '../../src/toast'\nimport { setTimeout } from 'timers';\n\ndefine('my-app', class extends WeElement {\n onChange = v => {\n console.log('page' + v)\n }\n\n onInputNumberChange = v => {\n console.log(v)\n }\n\n install() {\n this.navIndex = 0\n this.tabIndex = 0\n this.dialogShow = false\n this.tabBarIndex = 0\n this.popupShow = false\n this.alertShow = false\n }\n\n data = {\n selectedIndex: 2,\n selectedIndexs: [0, 1],\n percentage: 30\n\n }\n\n onTapMore = () => {\n console.log(1)\n }\n\n onSelectSingle = e => {\n this.data.selectedIndex = e.detail.index\n this.update()\n }\n\n onSelect = e => {\n this.data.selectedIndexs = e.detail.indexs\n this.update()\n }\n\n navChange = index => {\n this.navIndex = index\n this.update()\n }\n\n tabChange = index => {\n this.tabIndex = index\n this.update()\n }\n\n closeDialog = () => {\n this.dialogShow = false\n this.update()\n }\n\n closeAlert = () => {\n this.alertShow = false\n this.update()\n }\n\n showDialog = () => {\n this.dialogShow = true\n this.update()\n }\n\n showAlert = () => {\n this.alertShow = true\n this.update()\n }\n\n closePopup = () => {\n this.popupShow = false\n this.update()\n }\n\n showPopup = () => {\n this.popupShow = true\n this.update()\n }\n\n onConfirm = () => {\n this.dialogShow = false\n this.update()\n }\n\n showToast = () => {\n toast.showLoading()\n setTimeout(function(){\n toast.hideLoading()\n },3000)\n }\n\n showToast\n\n tabBarChange = index => {\n if (index === 3) {\n location.href = 'https://github.com/Tencent/omi'\n }\n this.tabBarIndex = index\n this.update()\n }\n\n render(props, data) {\n\n\n\n return (\n \n
{\n console.log(1)\n }}\n >\n Normal\n \n
Disabled\n\n
Secondary Normal\n
\n Secondary Disabled\n \n\n
Warn Normal\n
\n Disabled\n \n\n
\n o-button\n \n
\n o-button\n \n
\n o-button\n \n\n
\n Mini\n \n Mini\n \n \n Mini\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n\n
\n\n
\n - 我的项目
\n - 所有项目
\n \n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n \n Loading\n \n \n Close\n \n \n Pay\n \n \n
\n
\n\n
\n - 朋友相册
\n - 时刻视频
\n \n
\n
\n\n
\n \n \n \n \n \n\n
\n
\n \n \n \n\n \n \n \n\n \n \n \n \n
\n
\n\n
\n
\n\n
\n \n 显示弹窗\n \n \n Confirm\n \n \n Alert\n \n \n Toast\n \n \n
\n 我是内容
\n 我是内容
\n 我是内容
\n 我是内容
\n \n\n
\n\n
\n\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n \n\n
\n
\n \n
\n
\n
\n
\n\n
\n\n
\n \n \n \n\n
\n \n \n \n\n\n
\n
\n
\n
\n\n
\n
\n \n \n 支付\n \n \n \n \n 消息\n \n \n \n \n 好友\n \n \n \n \n Omiu\n \n \n \n
\n )\n }\n onChangeA = e => {\n console.log(e.detail)\n }\n\n onChangeB = e => {\n console.log(e.detail)\n }\n onSliderChange = e => {\n this.data.percentage = e.detail\n this.update()\n }\n\n css() {\n return `\n .o-input{\n width: 180px;\n }\n .ctn{\n margin: 10px;\n }`\n }\n})\n\nrender(, 'body')\n\n\n\n// //defaultExpandedKeys: keys, //默认展开 keys节点\n// //defaultSelectedKeys: keys, //默认选中(高亮) keys节点\n// //defaultCheckedKeys: keys, //默认Checked keys节点\n// defaultExpandedKeys: [],\n// defaultSelectedKeys: [],\n// defaultCheckedKeys: [],\n// expandedKeys: [],\n// selectedKeys: [],\n// checkedKeys: [],\n// switchIt: true,\n// treeData: [\n// { title: 'dynamic 1', key: '0-0-0', level: 1 },\n// { title: 'dynamic 2', key: '0-0-1', level: 1 }\n// ],\n// treeData2: [\n// {\n// title: 'edit', key: '0-0-0', level: 1, child: [\n// {\n// title: '子节点1', key: '0-0-0-0', level: 2, child: [\n// { title: '子子节点1', key: '0-0-0-0-1', level: 3 },\n// ]\n// },\n// { title: '子节点2', key: '0-0-0-1', level: 2 },\n// ]\n// },\n// {\n// title: '父节点', key: '0-0-1', level: 1, child: [\n// { title: '子节点1', key: '0-0-1-0', level: 2 },\n// { title: '子节点2', key: '0-0-1-1', level: 2 }\n// ]\n// }\n// ]\n\n\n// //先查出根节点\n// function findRoot(treeData) {\n// var nodeStr = treeData.map(function (node) {\n// return (\n// {findChild(node)}\n// );\n// });\n// return nodeStr;\n// }\n// //循环递归展开树\n// function findChild(node) {\n// if (node != null) {\n// if (node.child != null) {\n// var str = node.child.map(function (n) {\n// return (\n// {findChild(n)}\n// );\n// })\n// return str;\n// }\n// }\n// }\n\n// var dynamicNodeList = (\n// \n// {findRoot(this.data.treeData)}\n// \n// );\n\n// var treeNodeList = (\n// \n// {findRoot(this.data.treeData2)}\n// \n// );\n\n// const animation = {\n// enter(node, done) {\n// return animate(node, true, done);\n// },\n// leave(node, done) {\n// return animate(node, false, done);\n// },\n// appear(node, done) {\n// return animate(node, true, done);\n// }\n// };\n\n// const customLabel = (\n// \n// operations \n// \n// );\n\n\n\n\n// 基础树
\n// \n// \n// \n// \n// \n// \n// \n// \n// \n// \n// \n// \n\n\n\n// WEBPACK FOOTER //\n// ./src/example.js","import { define, WeElement, extractClass } from 'omi'\nimport css from './_index.css'\n\ndefine('o-pagination', class extends WeElement {\n static observe = true\n\n css() {\n return css\n }\n\n install() {\n this.data = Object.assign(\n {\n total: 0,\n pageSize: 10,\n numDisplay: 5,\n currentPage: 0,\n numEdge: 3,\n linkTo: '#',\n prevText: 'Prev',\n nextText: 'Next',\n ellipseText: '...',\n prevShow: true,\n nextShow: true\n },\n this.props\n )\n this.pageNum = Math.ceil(this.data.total / this.data.pageSize)\n }\n\n receiveProps(props, data) {\n data = Object.assign(data, props)\n }\n\n beforeUpdate() {\n this.pageNum = Math.ceil(this.data.total / this.data.pageSize)\n }\n\n beforeRender() {\n this.pageNum = Math.ceil(this.data.total / this.data.pageSize)\n }\n\n goto(index) {\n this.data.currentPage = index\n this.props.onChange(index)\n this.update()\n }\n\n render(props) {\n let arr = []\n let opt = this.data,\n interval = this.getInterval()\n\n if (interval[0] > 0 && opt.numEdge > 0) {\n let end = Math.min(opt.numEdge, interval[0])\n for (var i = 0; i < end; i++) {\n arr.push(this.getItem(i, i + 1))\n }\n\n if (opt.numEdge < interval[0] && opt.ellipseText) {\n arr.push()\n }\n }\n\n for (var i = interval[0]; i < interval[1]; i++) {\n arr.push(this.getItem(i, i + 1))\n }\n\n if (interval[1] < this.pageNum && opt.numEdge > 0) {\n if (this.pageNum - opt.numEdge > interval[1] && opt.ellipseText) {\n arr.push()\n }\n let begin = Math.max(this.pageNum - opt.numEdge, interval[1])\n for (var i = begin; i < this.pageNum; i++) {\n arr.push(this.getItem(i, i + 1))\n }\n }\n\n return (\n \n {opt.prevShow && this.getPrev()}{' '}\n {' '}\n {opt.nextShow && this.getNext()}\n
\n )\n }\n\n getInterval() {\n let ne_half = Math.ceil(this.data.numDisplay / 2)\n let upper_limit = this.pageNum - this.data.numDisplay\n let start =\n this.data.currentPage > ne_half\n ? Math.max(Math.min(this.data.currentPage - ne_half, upper_limit), 0)\n : 0\n let end =\n this.data.currentPage > ne_half\n ? Math.min(this.data.currentPage + ne_half, this.pageNum)\n : Math.min(this.data.numDisplay, this.pageNum)\n return [start, end]\n }\n\n getPrev() {\n if (this.data.currentPage === 0) {\n return (\n \n )\n }\n\n return (\n \n )\n }\n\n getNext() {\n if (this.data.currentPage === this.pageNum - 1) {\n return (\n \n )\n }\n\n return (\n \n )\n }\n\n getItem(pageIndex, text) {\n if (this.data.currentPage === pageIndex) {\n return {text}\n }\n return (\n {\n this.goto(pageIndex)\n }}\n >\n {text}\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/pagination/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/pagination/_index.css\n// module id = 115\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"div {\\n color: rgba(0, 0, 0, .65);\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\nul,\\nli {\\n padding: 0;\\n margin: 0;\\n}\\n\\nli {\\n display: inline-block;\\n min-width: 32px;\\n height: 32px;\\n border: 1px solid #ccc;\\n vertical-align: middle;\\n line-height: 32px;\\n text-align: center;\\n margin: 0 3px 0 3px;\\n cursor: pointer;\\n border-radius: 3px;\\n}\\n\\n.o-pager {\\n display: inline-block;\\n}\\n\\nbutton {\\n width: 32px;\\n height: 32px;\\n appearance: none;\\n -webkit-appearance: none;\\n position: relative;\\n border: 1px solid #ccc;\\n background: none;\\n top: 1px;\\n border-radius: 3px;\\n cursor: pointer;\\n outline: none;\\n}\\n\\nbutton.btn-next:not(disabled):active,\\nbutton.btn-prev:not(disabled):active {\\n background-color: #eee;\\n}\\n\\nbutton:disabled {\\n pointer-events: none;\\n border-color: #eee;\\n cursor: default;\\n}\\n\\n.more:after {\\n content: '...';\\n}\\n\\n.more {\\n border: none;\\n cursor: default;\\n}\\n\\n.active {\\n border-color: #07C160;\\n color: rgb(4, 161, 80);\\n}\\n\\nsvg {\\n position: relative;\\n top: 2px;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/pagination/_index.css\n// module id = 116\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport css from './_index.css'\n\ndefine('o-input-number', class extends WeElement {\n css() {\n return css\n }\n\n install() {\n this.data.value = this.props.value\n }\n\n minus = () => {\n if (this.data.mDisabled) return\n this.data.value -= this.props.step\n this.data.mDisabled = this.data.value <= this.props.min\n if (this.data.mDisabled) {\n this.data.value = this.props.min\n }\n\n this.data.pDisabled = this.data.value >= this.props.max\n this.update()\n this.props.onChange(this.data.value)\n }\n\n plus = () => {\n if (this.data.pDisabled) return\n this.data.value += this.props.step\n this.data.pDisabled = this.data.value >= this.props.max\n\n if (this.data.pDisabled) {\n this.data.value = this.props.max\n }\n this.data.mDisabled = this.data.value <= this.props.min\n\n this.update()\n this.props.onChange(this.data.value)\n }\n\n render(props, data) {\n return (\n \n
\n -\n \n
\n +\n \n
\n \n
\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/input-number/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/input-number/_index.css\n// module id = 118\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-input-number {\\n position: relative;\\n width: 150px;\\n display: inline-block;\\n}\\n\\nspan {\\n position: absolute;\\n border: 1px solid #ccc;\\n width: 32px;\\n height: 32px;\\n background-color: white;\\n cursor: pointer;\\n text-align: center;\\n line-height: 29px;\\n}\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.decrease {\\n left: 1px;\\n border-radius: 3px 0px 0px 3px;\\n user-select: none;\\n}\\n\\n.increase {\\n right: 1px;\\n border-radius: 0px 3px 3px 0px;\\n user-select: none;\\n}\\n\\n.input {\\n width: 100%;\\n}\\n\\ninput {\\n width: 100px;\\n height: 32px;\\n margin: 0 auto;\\n display: block;\\n text-align: center;\\n border: 1px solid #ccc;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/input-number/_index.css\n// module id = 119\n// module chunks = 60","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/button/_index.css\n// module id = 120\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".weui-btn {\\n background-color: #9CE6BF;\\n color: #D7F5E5;\\n}\\n\\n.weui-btn_disabled.weui-btn {\\n cursor: default;\\n}\\n\\n.weui-btn_plain-disabled.weui-btn {\\n cursor: default;\\n}\\n\\nbutton.weui-btn,\\ninput.weui-btn {\\n cursor: pointer;\\n width: 100%;\\n border-width: 0;\\n outline: 0;\\n -webkit-appearance: none;\\n}\\n\\nbutton.weui-btn:focus,\\ninput.weui-btn:focus {\\n outline: 0;\\n}\\n\\nbutton.weui-btn_inline,\\ninput.weui-btn_inline,\\nbutton.weui-btn_mini,\\ninput.weui-btn_mini {\\n width: auto;\\n}\\n\\nbutton.weui-btn_plain-primary,\\ninput.weui-btn_plain-primary,\\nbutton.weui-btn_plain-default,\\ninput.weui-btn_plain-default {\\n border-width: 1px;\\n background-color: transparent;\\n}\\n\\n.weui-btn {\\n position: relative;\\n display: block;\\n margin-left: auto;\\n margin-right: auto;\\n padding-left: 14px;\\n padding-right: 14px;\\n box-sizing: border-box;\\n font-size: 18px;\\n text-align: center;\\n text-decoration: none;\\n color: #FFFFFF;\\n line-height: 2.55555556;\\n border-radius: 3px;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n overflow: hidden;\\n}\\n\\n.weui-btn:after {\\n content: \\\" \\\";\\n width: 200%;\\n height: 200%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n /* border:1px solid rgba(0, 0, 0, 0.2); */\\n -webkit-transform: scale(0.5);\\n transform: scale(0.5);\\n -webkit-transform-origin: 0 0;\\n transform-origin: 0 0;\\n box-sizing: border-box;\\n border-radius: 10px;\\n}\\n\\n.weui-btn_inline {\\n display: inline-block;\\n}\\n\\n.weui-btn_default {\\n background-color: #F8F7F8;\\n color: black;\\n}\\n\\n.weui-btn_default:not(.weui-btn_disabled):visited {\\n color: #000000;\\n}\\n\\n.weui-btn_default:not(.weui-btn_disabled):active {\\n background-color: rgb(243, 239, 239);\\n}\\n\\n.weui-btn_primary {\\n background-color: #07C160;\\n}\\n\\n.weui-btn_primary:not(.weui-btn_disabled):visited {\\n color: #FFFFFF;\\n}\\n\\n.weui-btn_primary:not(.weui-btn_disabled):active {\\n background-color: rgb(5, 202, 100);\\n ;\\n}\\n\\n.weui-btn_warn {\\n background-color: #F95050;\\n}\\n\\n.weui-btn_warn:not(.weui-btn_disabled):visited {\\n color: #FFFFFF;\\n}\\n\\n.weui-btn_warn:not(.weui-btn_disabled):active {\\n color: rgba(255, 255, 255, 0.6);\\n background-color: #F95050;\\n}\\n\\n.weui-btn_disabled {\\n background-color: #9CE6BF;\\n color: #D7F5E5;\\n}\\n\\n.weui-btn_disabled.weui-btn_default {\\n color: rgba(0, 0, 0, 0.3);\\n background-color: #F7F7F7;\\n}\\n\\n.weui-btn_disabled.weui-btn_primary {\\n background-color: #9CE6BF;\\n color: #D7F5E5;\\n}\\n\\n.weui-btn_disabled.weui-btn_warn {\\n background-color: rgb(240, 158, 157);\\n}\\n\\n.weui-btn_loading .weui-loading {\\n margin: -0.2em 0.34em 0 0;\\n}\\n\\n.weui-btn_loading.weui-btn_primary,\\n.weui-btn_loading.weui-btn_warn {\\n color: rgba(255, 255, 255, 0.6);\\n}\\n\\n.weui-btn_loading.weui-btn_warn {\\n background-color: #F95050;\\n}\\n\\n.weui-btn_plain-primary {\\n color: #07C160;\\n border: 1px solid #07C160;\\n}\\n\\n.weui-btn_plain-primary:not(.weui-btn_plain-disabled):active {\\n color: #9ED99D;\\n border-color: #9ED99D;\\n}\\n\\n.weui-btn_plain-primary:after {\\n border-width: 0;\\n}\\n\\n.weui-btn_plain-default {\\n color: #353535;\\n border: 1px solid #353535;\\n}\\n\\n.weui-btn_plain-default:not(.weui-btn_plain-disabled):active {\\n color: rgba(53, 53, 53, 0.6);\\n border-color: rgba(53, 53, 53, 0.6);\\n}\\n\\n.weui-btn_plain-default:after {\\n border-width: 0;\\n}\\n\\n.weui-btn_plain-disabled {\\n color: rgba(0, 0, 0, 0.2);\\n border-color: rgba(0, 0, 0, 0.2);\\n}\\n\\nbutton.weui-btn {\\n width: 100%;\\n border-width: 0;\\n outline: 0;\\n -webkit-appearance: none;\\n}\\n\\nbutton.weui-btn:focus {\\n outline: 0;\\n}\\n\\nbutton.weui-btn_inline,\\ninput.weui-btn_inline,\\nbutton.weui-btn_mini,\\ninput.weui-btn_mini {\\n width: auto;\\n}\\n\\nbutton.weui-btn_plain-primary,\\ninput.weui-btn_plain-primary,\\nbutton.weui-btn_plain-default,\\ninput.weui-btn_plain-default {\\n border-width: 1px;\\n background-color: transparent;\\n}\\n\\n.weui-btn_mini {\\n display: inline-block;\\n padding: 0 1.32em;\\n line-height: 2.3;\\n font-size: 13px;\\n}\\n\\n.weui-btn+.weui-btn {\\n margin-top: 15px;\\n}\\n\\n.weui-btn.weui-btn_inline+.weui-btn.weui-btn_inline {\\n margin-top: auto;\\n margin-left: 15px;\\n}\\n\\n.weui-btn-area {\\n margin: 1.17647059em 15px 0.3em;\\n}\\n\\n.weui-btn-area_inline {\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: flex;\\n}\\n\\n.weui-btn-area_inline .weui-btn {\\n margin-top: auto;\\n margin-right: 15px;\\n width: 100%;\\n -webkit-box-flex: 1;\\n -webkit-flex: 1;\\n flex: 1;\\n}\\n\\n.weui-btn-area_inline .weui-btn:last-child {\\n margin-right: 0;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/button/_index.css\n// module id = 121\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport css from './_index.css'\n\ndefine('o-progress', class extends WeElement {\n static observe = true\n\n css() {\n return css\n }\n\n render(props) {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/progress/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/progress/_index.css\n// module id = 123\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-progress {\\n width: 100%;\\n height: 12px;\\n background-color: #ccc;\\n border-radius: 6px;\\n}\\n\\n.inner {\\n height: 12px;\\n width: 60%;\\n background-color: #07C160;\\n border-radius: 6px;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/progress/_index.css\n// module id = 124\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport css from './_index.css'\n\ndefine('o-timeline', class extends WeElement {\n css() {\n return css\n }\n\n\n render(props) {\n return \n {props.data.map(item => (\n
\n ))}\n\n
\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/timeline/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/timeline/_index.css\n// module id = 126\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-timeline {\\n font-size: 12px;\\n padding-top: 30px;\\n text-align: left;\\n}\\n\\n.item {\\n border-left: 1px solid #D9D9D9;\\n position: relative;\\n height: 50px;\\n}\\n\\n.item:last-child {\\n height: 35px;\\n}\\n\\n.circle {\\n border-radius: 50%;\\n background-color: #D9D9D9;\\n width: 6px;\\n height: 6px;\\n position: absolute;\\n top: -3px;\\n left: -3px;\\n}\\n\\n.msgs {\\n position: relative;\\n top: -5px;\\n left: 10px;\\n}\\n\\n.left {\\n width: 140px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n\\n.two {\\n color: #7C7C7C;\\n}\\n\\n.msg {\\n height: 15px;\\n line-height: 15px;\\n vertical-align: top;\\n display: inline-block;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/timeline/_index.css\n// module id = 127\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport css from './_index.css'\n\ndefine('o-nav', class extends WeElement {\n css() {\n return css\n }\n\n onClick = index => {\n this.props.onChange(index)\n }\n\n render(props) {\n return (\n \n {props.children.map((item, index) => {\n const props = {}\n const isActive = item.attributes && item.attributes.active\n\n if (isActive) {\n props.class = 'active'\n } else {\n props.onClick = () => this.onClick(index)\n }\n\n return - {item.children[0]}
\n })}\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/nav/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/nav/_index.css\n// module id = 129\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"ul,\\nli {\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n color: #1A1A1A;\\n}\\n\\nli {\\n display: inline-block;\\n margin-right: 35px;\\n line-height: 35px;\\n cursor: pointer;\\n}\\n\\nli.active {\\n color: #07C160;\\n border-bottom: 2px solid rgb(3, 196, 96);\\n cursor: default;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/nav/_index.css\n// module id = 130\n// module chunks = 60","import { define, WeElement } from 'omi'\nimport style from './_index.css'\n\ndefine('o-dialog', class extends WeElement {\n close = () => {\n this.props.onClose && this.props.onClose()\n }\n\n confirm = () => {\n this.props.onConfirm && this.props.onConfirm()\n }\n\n css() {\n return style\n }\n\n render(props) {\n const display = props.show ? 'block' : 'none'\n const styleObj = {}\n if (props.width) {\n styleObj.style = { width: props.width + 'px', left: '50%', marginLeft: props.width / -2 + 'px' }\n }\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/dialog/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/dialog/_index.css\n// module id = 132\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-dialog {\\n width: 100%;\\n height: 100%;\\n position: fixed;\\n background-color: rgba(0, 0, 0, 0.4);\\n left: 0;\\n top: 0;\\n margin: 0;\\n padding: 0;\\n box-sizing: border-box;\\n z-index: 100;\\n}\\n\\n.content {\\n width: 80%;\\n height: auto;\\n background-color: white;\\n position: fixed;\\n left: 10%;\\n top: 20%;\\n border-radius: 4px;\\n text-align: center;\\n}\\n\\nh1 {\\n font-size: 18px;\\n font-weight: normal;\\n padding: 20px;\\n margin: 0px;\\n}\\n\\np {\\n font-size: 16px;\\n color: #666;\\n padding-bottom: 20px;\\n margin: 0px;\\n border-bottom: 1px solid #eee;\\n}\\n\\na {\\n padding: 15px;\\n text-align: center;\\n font-size: 16px;\\n display: inline-block;\\n width: 50%;\\n box-sizing: border-box;\\n}\\n\\n.ok {\\n color: #07C160;\\n cursor: pointer;\\n}\\n\\n.close {\\n border-right: 1px solid #eee;\\n color: black;\\n cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/dialog/_index.css\n// module id = 133\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport css from './_index.css'\n\ndefine('o-tab', class extends WeElement {\n css() {\n return css\n }\n\n onClick = index => {\n this.props.onChange(index)\n }\n\n render(props) {\n return (\n \n {props.children.map((item, index) => {\n const props = {}\n const isActive = item.attributes && item.attributes.active\n\n if (isActive) {\n props.class = 'active'\n } else {\n props.onClick = () => this.onClick(index)\n }\n\n return - {item.children[0]}
\n })}\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/tab/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/tab/_index.css\n// module id = 135\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-tab {\\n border: 1px solid #171717;\\n border-radius: 5px;\\n overflow: hidden;\\n}\\n\\nul,\\nli {\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n color: #1A1A1A;\\n}\\n\\nli {\\n display: inline-block;\\n text-align: center;\\n line-height: 35px;\\n cursor: pointer;\\n white-space: nowrap;\\n width: 50%;\\n color: #171717;\\n background-color: #F2F2F2;\\n}\\n\\nli.active {\\n color: white;\\n background-color: #171717;\\n cursor: default;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/tab/_index.css\n// module id = 136\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport css from './_index.css'\nimport '../icon'\n\ndefine('o-dropdown-menu', class extends WeElement {\n css() {\n return css\n }\n\n onClick = index => {\n this.props.onChange(index)\n }\n\n render(props) {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/dropdown-menu/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/dropdown-menu/_index.css\n// module id = 138\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-dropdown-menu {\\n max-width: 160px;\\n position: relative;\\n}\\n\\n.ctn {\\n border-radius: 5px;\\n background-color: #4C4B4C;\\n color: #F2F2F2;\\n overflow: hidden;\\n}\\n\\n.ctn>a {\\n text-align: center;\\n display: block;\\n position: relative;\\n line-height: 35px;\\n cursor: pointer;\\n white-space: nowrap;\\n text-align: left;\\n height: 60px;\\n color: #F2F2F2;\\n}\\n\\na:active {\\n background-color: rgb(63, 63, 63);\\n}\\n\\n.icon {\\n position: absolute;\\n left: 20px;\\n top: 13px;\\n}\\n\\n.wd {\\n margin-left: 60px;\\n line-height: 60px;\\n border-bottom: 1px solid #555555;\\n}\\n\\n.arrow {\\n position: absolute;\\n width: 10px;\\n height: 10px;\\n background-color: #4C4B4C;\\n transform: rotate(45deg);\\n border-radius: 2px;\\n top: -4px;\\n right: 15px;\\n ;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/dropdown-menu/_index.css\n// module id = 139\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport style from './_index.css'\n\ndefine('o-badge', class extends WeElement {\n css() {\n return style\n }\n\n render(props) {\n if (props.content !== undefined) {\n return \n {props.children[0]}\n {props.content}\n
\n \n }\n if (props.dot) {\n return (\n \n {props.children[0]}\n \n
\n )\n }\n return {props.children[0]}
\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/badge/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/badge/_index.css\n// module id = 141\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-badge {\\n position: relative;\\n display: inline-block;\\n}\\n\\n.badge {\\n position: absolute;\\n padding: .15em .4em;\\n min-width: 8px;\\n border-radius: 18px;\\n background-color: #F95050;\\n color: #FFFFFF;\\n line-height: 1.2;\\n text-align: center;\\n font-size: 12px;\\n vertical-align: middle;\\n white-space: nowrap;\\n overflow: hidden;\\n max-width: 35px;\\n}\\n\\n.circle {\\n width: 10px;\\n height: 10px;\\n border-radius: 50%;\\n background-color: #F95050;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/badge/_index.css\n// module id = 142\n// module chunks = 60","import { define, WeElement, extractClass, createRef } from 'omi'\n\ndefine('o-input', class extends WeElement {\n css = require('./_index.css')\n\n value = ''\n\n ref = createRef()\n\n onInput = () => {\n this.value = this.ref.current.value\n }\n\n render(props) {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/input/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/input/_index.css\n// module id = 144\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-input {\\n position: relative;\\n display: inline-block;\\n}\\n\\ninput:hover {\\n border: 1px solid #07C160;\\n}\\n\\ninput:focus {\\n border: 1px solid #07C160;\\n}\\n\\ninput:focus:hover {\\n border: 1px solid #07C160;\\n}\\n\\ninput {\\n -webkit-appearance: none;\\n display: inline-block;\\n width: 100%;\\n height: 22px;\\n line-height: 1.5;\\n padding: 4px 7px;\\n font-size: 14px;\\n outline: none;\\n border: 1px solid #DADADA;\\n border-radius: 4px;\\n color: #515a6e;\\n background-color: #fff;\\n background-image: none;\\n position: relative;\\n cursor: text;\\n transition: border .2s ease-in-out, background .2s ease-in-out, box-shadow .2s ease-in-out;\\n /* caret-color:#07C160; */\\n text-indent: 5px;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/input/_index.css\n// module id = 145\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport css from './_index.css'\n\ndefine('o-tab-bar', class extends WeElement {\n css() {\n return css\n }\n\n onClick = index => {\n this.props.onChange(index)\n }\n\n render(props) {\n return (\n \n {props.children.map((child, index) => {\n const props = {}\n\n if (index !== props.index) {\n props.onClick = () => this.onClick(index)\n }\n\n return (\n - \n {child}\n
\n )\n })}\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/tab-bar/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/tab-bar/_index.css\n// module id = 147\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"/*ul*/\\n\\n.o-tab-bar {\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: flex;\\n text-align: center;\\n border-top: 1px solid #ddd;\\n padding-top: 13px;\\n padding-bottom: 5px;\\n position: fixed;\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n background-color: #F9F9F9;\\n}\\n\\nul,\\nli {\\n padding: 0;\\n margin: 0;\\n list-style: none;\\n}\\n\\na {\\n text-decoration: none;\\n}\\n\\n.item {\\n cursor: pointer;\\n -webkit-box-flex: 1;\\n -webkit-flex: 1;\\n flex: 1;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/tab-bar/_index.css\n// module id = 148\n// module chunks = 60","import { define, WeElement } from 'omi'\nimport css from './_index.css'\nimport '../button'\nimport '../icon'\n\ndefine('o-popup', class extends WeElement {\n css() {\n return css\n }\n\n close = () => {\n this.props.onClose && this.props.onClose()\n }\n\n confirm = () => {\n this.props.onConfirm && this.props.onConfirm()\n }\n\n render(props) {\n if (!props.show) return\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/popup/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/popup/_index.css\n// module id = 150\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-popup {\\n width: 100%;\\n height: 100%;\\n position: fixed;\\n background-color: rgba(0, 0, 0, 0.4);\\n left: 0;\\n top: 0;\\n margin: 0;\\n padding: 0;\\n box-sizing: border-box;\\n z-index: 100;\\n}\\n\\n._content {\\n width: 80%;\\n height: auto;\\n min-height: 200px;\\n background-color: white;\\n position: fixed;\\n left: 50%;\\n margin-left: -40%;\\n top: 20%;\\n border-radius: 4px;\\n}\\n\\n._header {\\n height: 40px;\\n border-bottom: 1px solid #ccc;\\n margin: 15px 10px;\\n}\\n\\n._close {\\n position: absolute;\\n right: 10px;\\n top: 20px;\\n cursor: pointer;\\n}\\n\\n._title {\\n position: absolute;\\n left: 10px;\\n top: 20px;\\n}\\n\\n._main {\\n margin: 0 auto;\\n margin-bottom: 20px;\\n width: 70%;\\n}\\n\\n._footer {\\n text-align: right;\\n margin-top: 10px;\\n}\\n\\n._okBtn {\\n margin-left: 10px;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/popup/_index.css\n// module id = 151\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport style from './_index.css'\nimport '../list-item'\n\ndefine('o-list', class extends WeElement {\n css() {\n return style\n }\n render(props) {\n props.children.forEach(child => {\n child.attributes.__inList = true\n })\n return (\n \n
{props.title}
\n
{props.children}
\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/list/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/list/_index.css\n// module id = 153\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"h2.title {\\n font-size: 14px;\\n font-weight: normal;\\n color: #999;\\n text-align: left;\\n padding: 10px 15px;\\n margin: 0\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/list/_index.css\n// module id = 154\n// module chunks = 60","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/list-item/_index.css\n// module id = 155\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"li {\\n background: #fff;\\n position: relative;\\n display: inline-block;\\n display: flex;\\n padding: 10px;\\n align-items: center;\\n font-size: 16px;\\n}\\n\\nli:active {\\n background: #f3f3f3;\\n}\\n\\nli img {\\n height: 20px;\\n width: 20px;\\n margin: 5px;\\n}\\n\\nli .title {\\n flex: 1;\\n text-align: left;\\n}\\n\\nli .content {\\n padding: 0 5px;\\n color: #999;\\n}\\n\\nli i {\\n content: ' ';\\n display: inline-block;\\n height: 6px;\\n width: 6px;\\n border-width: 2px 2px 0 0;\\n border-color: #c8c8cd;\\n border-style: solid;\\n transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n margin: 5px;\\n}\\n\\n.border-bottom-1px::after {\\n content: ' ';\\n width: 100%;\\n display: block;\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n border-top: 1px solid #d9d9d9;\\n}\\n\\n@media (min-device-pixel-ratio: 1.5),\\n(-webkit-min-device-pixel-ratio: 1.5) {\\n .border-bottom-1px::after {\\n transform: scaleY(0.7);\\n -webkit-transform: scaleY(0.7);\\n }\\n}\\n\\n@media (min-device-pixel-ratio: 2),\\n(-webkit-min-device-pixel-ratio: 1.5) {\\n .border-bottom-1px::after {\\n transform: scaleY(0.5);\\n -webkit-transform: scaleY(0.5);\\n }\\n}\\n\\n.border-1px::after {\\n content: ' ';\\n width: 100%;\\n display: block;\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n border-top: 1px solid #d9d9d9;\\n}\\n\\n.border-1px::before {\\n content: ' ';\\n width: 100%;\\n display: block;\\n position: absolute;\\n left: 0;\\n top: 0;\\n border-top: 1px solid #d9d9d9;\\n}\\n\\n@media (min-device-pixel-ratio: 1.5),\\n(-webkit-min-device-pixel-ratio: 1.5) {\\n .border-1px::after,\\n .border-1px::before {\\n transform: scaleY(0.7);\\n -webkit-transform: scaleY(0.7);\\n }\\n}\\n\\n@media (min-device-pixel-ratio: 2),\\n(-webkit-min-device-pixel-ratio: 1.5) {\\n .border-1px::after,\\n .border-1px::before {\\n transform: scaleY(0.5);\\n -webkit-transform: scaleY(0.5);\\n }\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/list-item/_index.css\n// module id = 156\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport style from './_index.css'\n\ndefine('o-loading', class extends WeElement {\n css() {\n return style\n }\n render(props) {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/loading/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/loading/_index.css\n// module id = 158\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".o-loading {\\n display: inline-block;\\n -webkit-animation: e 1s steps(12) infinite;\\n animation: e 1s steps(12) infinite;\\n background: url(\" + require(\"./loading.svg\") + \");\\n background-size: 100%;\\n}\\n\\n@keyframes e {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n to {\\n -webkit-transform: rotate(1turn);\\n transform: rotate(1turn);\\n }\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/loading/_index.css\n// module id = 159\n// module chunks = 60","module.exports = __webpack_public_path__ + \"static/media/loading.84a15aa0.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/loading/loading.svg\n// module id = 160\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport style from './_index.css'\nimport '../icon'\nimport '../button'\n\ndefine('o-msg', class extends WeElement {\n close() {\n this.props.close()\n }\n\n confirm() {\n this.props.confirm()\n }\n\n css() {\n return style\n }\n\n render(props) {\n const button = props.type === 'warn' ? 'warn' : 'primary'\n return (\n \n
\n
{props.title}
\n
{props.content}
\n
Ok\n
Cancel\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/msg/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/msg/_index.css\n// module id = 162\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"h2 {\\n font-size: 20px;\\n}\\n\\np {\\n font-size: 16px;\\n color: #999\\n}\\n\\ndiv {\\n text-align: center;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/msg/_index.css\n// module id = 163\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport css from './_index.css'\n\ndefine('o-equal-space', class extends WeElement {\n css() {\n return css\n }\n\n render(props) {\n let itemProps = null\n if (props.itemMargin) {\n itemProps = { style: `margin:${props.itemMargin};` }\n delete props.itemMargin\n }\n\n return (\n \n {props.children.map(child => {\n return (\n - \n {child}\n
\n )\n })}\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/equal-space/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/equal-space/_index.css\n// module id = 165\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"/*ul*/\\n\\n.o-equal-space {\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: flex;\\n text-align: center;\\n border-top: 1px solid #ddd;\\n padding-top: 10px;\\n padding-bottom: 10px;\\n width: 100%;\\n background-color: #F9F9F9;\\n}\\n\\nul,\\nli {\\n padding: 0;\\n margin: 0;\\n list-style: none;\\n}\\n\\na {\\n text-decoration: none;\\n}\\n\\n._item {\\n -webkit-box-flex: 1;\\n -webkit-flex: 1;\\n flex: 1;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/equal-space/_index.css\n// module id = 166\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport style from './_index.css'\nimport '../icon'\n// import cellStyle from '../cells/_index.css'\n// import '../icon/font-face.css'\n// import fontStyle from '../icon/_font.scss'\n\ndefine('o-selection', class extends WeElement {\n css() {\n return style\n }\n\n onTapMore = () => {\n this.fire('tapmore')\n }\n\n onSelectSingle = index => {\n this.fire('select', { index: index })\n }\n\n onSelect = index => {\n const cloneIdxs = this.props.selectedIndexs.slice(0)\n const position = this.props.selectedIndexs.indexOf(index)\n if (position === -1) {\n cloneIdxs.push(index)\n } else {\n cloneIdxs.splice(position, 1)\n }\n //Prevent repeated tap width setTimeout\n setTimeout(() => {\n this.fire('select', { indexs: cloneIdxs })\n }, 500)\n }\n\n render(props) {\n if (props.single) {\n return (\n \n {props.items.map((item, index) => (\n
\n ))}\n\n {props.onTapMore && (\n
\n 添加更多
\n \n )}\n
\n )\n } else {\n return (\n \n {props.items.map((item, index) => (\n
\n ))}\n {props.more && (\n
\n 添加更多
\n \n )}\n
\n )\n }\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/selection/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/selection/_index.css\n// module id = 168\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".weui-check__label {\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n\\n.weui-check__label:active {\\n background-color: #ECECEC;\\n}\\n\\n.weui-check {\\n position: absolute;\\n left: -9999em;\\n}\\n\\n* {\\n margin: 0;\\n padding: 0;\\n}\\n\\na {\\n text-decoration: none;\\n}\\n\\n.weui-cells {\\n background-color: #FFFFFF;\\n line-height: 1.47058824;\\n font-size: 17px;\\n overflow: hidden;\\n position: relative;\\n}\\n\\n.weui-cells__title+.weui-cells {\\n margin-top: 0;\\n}\\n\\n.weui-cells__tips {\\n margin-top: .3em;\\n color: #808080;\\n padding-left: 15px;\\n padding-right: 15px;\\n font-size: 14px;\\n}\\n\\n.weui-cell {\\n padding: 10px 15px;\\n position: relative;\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: flex;\\n -webkit-box-align: center;\\n -webkit-align-items: center;\\n align-items: center;\\n}\\n\\n.weui-cell:before {\\n content: \\\" \\\";\\n position: absolute;\\n left: 0;\\n top: 0;\\n right: 0;\\n height: 1px;\\n border-top: 1px solid #e5e5e5;\\n color: #e5e5e5;\\n -webkit-transform-origin: 0 0;\\n transform-origin: 0 0;\\n -webkit-transform: scaleY(0.5);\\n transform: scaleY(0.5);\\n left: 15px;\\n z-index: 2;\\n}\\n\\n.weui-cell:first-child:before {\\n display: none;\\n}\\n\\n.weui-cell_primary {\\n -webkit-box-align: start;\\n -webkit-align-items: flex-start;\\n align-items: flex-start;\\n}\\n\\n.weui-cell__bd {\\n -webkit-box-flex: 1;\\n -webkit-flex: 1;\\n flex: 1;\\n}\\n\\n.weui-cell__ft {\\n text-align: right;\\n color: #808080;\\n}\\n\\n.weui-cell_swiped {\\n display: block;\\n padding: 0;\\n}\\n\\n.weui-cell_swiped>.weui-cell__bd {\\n position: relative;\\n z-index: 1;\\n background-color: #FFFFFF;\\n}\\n\\n.weui-cell_swiped>.weui-cell__ft {\\n position: absolute;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: flex;\\n color: #FFFFFF;\\n}\\n\\n.weui-cells_radio .weui-cell__ft {\\n padding-left: 0.35em;\\n}\\n\\n.weui-cells_radio .weui-check:checked+.weui-icon-checked:before {\\n display: block;\\n content: '\\\\EA08';\\n color: #07C160;\\n font-size: 16px;\\n}\\n\\n.weui-cells_checkbox .weui-cell__hd {\\n padding-right: 0.35em;\\n}\\n\\n.weui-cells_checkbox .weui-icon-checked:before {\\n content: '\\\\EA01';\\n color: #C9C9C9;\\n font-size: 23px;\\n display: block;\\n}\\n\\n.weui-cells_checkbox .weui-check:checked+.weui-icon-checked:before {\\n content: '\\\\EA06';\\n color: #07C160;\\n}\\n\\n.weui-cells_form .weui-cell__ft {\\n font-size: 0;\\n}\\n\\n.weui-cells_form .weui-icon-warn {\\n display: none;\\n}\\n\\n.weui-cells_form input,\\n.weui-cells_form textarea,\\n.weui-cells_form label[for] {\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n\\n.weui-cell_warn {\\n color: #E64340;\\n}\\n\\n.weui-cell_warn .weui-icon-warn {\\n display: inline-block;\\n}\\n\\n.weui-media-box_small-appmsg .weui-cells {\\n margin-top: 0;\\n}\\n\\n.weui-media-box_small-appmsg .weui-cells:before {\\n display: none;\\n}\\n\\n.weui-cell_select-before {\\n padding-right: 15px;\\n}\\n\\n.weui-cell_select-before .weui-select {\\n width: 105px;\\n box-sizing: border-box;\\n}\\n\\n.weui-cell_select-before .weui-cell__hd {\\n position: relative;\\n}\\n\\n.weui-cell_select-before .weui-cell__hd:after {\\n content: \\\" \\\";\\n position: absolute;\\n right: 0;\\n top: 0;\\n width: 1px;\\n bottom: 0;\\n border-right: 1px solid #e5e5e5;\\n color: #e5e5e5;\\n -webkit-transform-origin: 100% 0;\\n transform-origin: 100% 0;\\n -webkit-transform: scaleX(0.5);\\n transform: scaleX(0.5);\\n}\\n\\n.weui-cell_select-before .weui-cell__hd:before {\\n content: \\\" \\\";\\n display: inline-block;\\n height: 6px;\\n width: 6px;\\n border-width: 2px 2px 0 0;\\n border-color: #C8C8CD;\\n border-style: solid;\\n -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n position: relative;\\n top: -2px;\\n position: absolute;\\n top: 50%;\\n right: 15px;\\n margin-top: -4px;\\n}\\n\\n.weui-cell_select-before .weui-cell__bd {\\n padding-left: 15px;\\n}\\n\\n.weui-cell_select-before .weui-cell__bd:after {\\n display: none;\\n}\\n\\n.weui-cell_select-after {\\n padding-left: 15px;\\n}\\n\\n.weui-cell_select-after .weui-select {\\n padding-left: 0;\\n}\\n\\n.weui-cell_vcode {\\n padding-top: 0;\\n padding-right: 0;\\n padding-bottom: 0;\\n}\\n\\n.weui-cell_switch {\\n padding-top: 6.5px;\\n padding-bottom: 6.5px;\\n}\\n\\n.icon {\\n position: relative;\\n top: 3px;\\n}\\n\\n.weui-cell_select {\\n padding: 0;\\n}\\n\\n.weui-cell_select .weui-select {\\n padding-right: 30px;\\n}\\n\\n.weui-cell_select .weui-cell__bd:after {\\n content: \\\" \\\";\\n display: inline-block;\\n height: 6px;\\n width: 6px;\\n border-width: 2px 2px 0 0;\\n border-color: #C8C8CD;\\n border-style: solid;\\n -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n position: relative;\\n top: -2px;\\n position: absolute;\\n top: 50%;\\n right: 15px;\\n margin-top: -4px;\\n}\\n\\n.weui-cell_access {\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n color: inherit;\\n}\\n\\n.weui-cell_access:active {\\n background-color: #ECECEC;\\n}\\n\\n.weui-cell_access .weui-cell__ft {\\n padding-right: 13px;\\n position: relative;\\n}\\n\\n.weui-cell_access .weui-cell__ft:after {\\n content: \\\" \\\";\\n display: inline-block;\\n height: 6px;\\n width: 6px;\\n border-width: 2px 2px 0 0;\\n border-color: #C8C8CD;\\n border-style: solid;\\n -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);\\n position: relative;\\n top: -2px;\\n position: absolute;\\n top: 50%;\\n margin-top: -4px;\\n right: 2px;\\n}\\n\\n.weui-cell_link {\\n color: #586C94;\\n font-size: 14px;\\n}\\n\\n.weui-cell_link:first-child:before {\\n display: block;\\n}\\n\\n.weui-cell_warn .weui-textarea-counter {\\n color: #E64340;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/selection/_index.css\n// module id = 169\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport style from './_index.css'\n\ndefine('o-slider', class extends WeElement {\n css() {\n return style\n }\n\n install() {\n this.percentage = this.props.percentage\n }\n installed() {\n this._width = this._ele.getBoundingClientRect().width\n }\n\n start = evt => {\n this._x = evt.touches[0].pageX\n document.addEventListener('touchmove', this.move)\n document.addEventListener('touchend', this.end)\n }\n\n move = evt => {\n this.percentage += ((evt.touches[0].pageX - this._x) / this._width) * 100\n this.percentage < 0 && (this.percentage = 0)\n this.percentage > 100 && (this.percentage = 100)\n this._x = evt.touches[0].pageX\n //Update immediately!For Smoother interaction!\n //omi v5.0.10 fix this\n //this.update()\n this.fire('change', this.percentage)\n }\n\n end = () => {\n document.removeEventListener('touchmove', this.move)\n document.removeEventListener('touchend', this.end)\n }\n\n render(props) {\n if (props.disabled) {\n return (\n \n
{\n this._ele = e\n }}\n class=\"weui-slider__inner\"\n >\n
\n
\n
\n
\n )\n }\n\n return (\n \n
\n
{\n this._ele = e\n }}\n class=\"weui-slider__inner\"\n >\n
\n
{\n this._handler = e\n }}\n style={`left: ${this.percentage}%;`}\n class=\"weui-slider__handler\"\n />\n
\n
\n
\n {Math.round(this.percentage)}\n
\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/slider/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/slider/_index.css\n// module id = 171\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".weui-slider {\\n padding: 15px 18px;\\n -webkit-user-select: none;\\n user-select: none;\\n}\\n\\n.weui-slider__inner {\\n position: relative;\\n height: 2px;\\n background-color: #E9E9E9;\\n}\\n\\n.weui-slider__track {\\n height: 2px;\\n background-color: #07C160;\\n width: 0;\\n}\\n\\n.weui-slider__handler {\\n position: absolute;\\n left: 0;\\n top: 50%;\\n width: 28px;\\n height: 28px;\\n margin-left: -14px;\\n margin-top: -14px;\\n border-radius: 50%;\\n background-color: #FFFFFF;\\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);\\n}\\n\\n.weui-slider-box {\\n display: -webkit-box;\\n display: -webkit-flex;\\n display: flex;\\n -webkit-box-align: center;\\n -webkit-align-items: center;\\n align-items: center;\\n}\\n\\n.weui-slider-box .weui-slider {\\n -webkit-box-flex: 1;\\n -webkit-flex: 1;\\n flex: 1;\\n}\\n\\n.weui-slider-box__value {\\n margin-left: .5em;\\n min-width: 24px;\\n color: #808080;\\n text-align: center;\\n font-size: 14px;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/slider/_index.css\n// module id = 172\n// module chunks = 60","import { define, WeElement, extractClass } from 'omi'\nimport style from './_index.css'\n\ndefine('o-switch', class extends WeElement {\n css() {\n return style\n }\n\n onChange = () => {\n this.fire('change', this._ele.checked)\n }\n render(props) {\n if (props.checked) {\n return (\n
\n )\n }\n\n return (\n
{\n this._ele = e\n }}\n onChange={this.onChange}\n />\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./../src/switch/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/switch/_index.css\n// module id = 174\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"* {\\n padding: 0;\\n margin: 0;\\n box-sizing: border-box;\\n}\\n\\n.weui-switch {\\n -webkit-appearance: none;\\n appearance: none;\\n display: inline-block;\\n}\\n\\n.weui-switch-cp {\\n display: inline-block;\\n}\\n\\n.weui-switch,\\n.weui-switch-cp__box {\\n position: relative;\\n width: 52px;\\n height: 32px;\\n border: 1px solid #DFDFDF;\\n outline: 0;\\n border-radius: 16px;\\n box-sizing: border-box;\\n background-color: #DFDFDF;\\n -webkit-transition: background-color 0.1s, border 0.1s;\\n transition: background-color 0.1s, border 0.1s;\\n}\\n\\n.weui-switch:before,\\n.weui-switch-cp__box:before {\\n content: \\\" \\\";\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 50px;\\n height: 30px;\\n border-radius: 15px;\\n background-color: #FDFDFD;\\n -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.45, 1, 0.4, 1);\\n transition: -webkit-transform 0.35s cubic-bezier(0.45, 1, 0.4, 1);\\n transition: transform 0.35s cubic-bezier(0.45, 1, 0.4, 1);\\n transition: transform 0.35s cubic-bezier(0.45, 1, 0.4, 1), -webkit-transform 0.35s cubic-bezier(0.45, 1, 0.4, 1);\\n}\\n\\n.weui-switch:after,\\n.weui-switch-cp__box:after {\\n content: \\\" \\\";\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 30px;\\n height: 30px;\\n border-radius: 15px;\\n background-color: #FFFFFF;\\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\\n -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35);\\n transition: -webkit-transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35);\\n transition: transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35);\\n transition: transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35), -webkit-transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35);\\n}\\n\\n.weui-switch:checked,\\n.weui-switch-cp__input:checked~.weui-switch-cp__box {\\n border-color: #07C160;\\n background-color: #07C160;\\n}\\n\\n.weui-switch:checked:before,\\n.weui-switch-cp__input:checked~.weui-switch-cp__box:before {\\n -webkit-transform: scale(0);\\n transform: scale(0);\\n}\\n\\n.weui-switch:checked:after,\\n.weui-switch-cp__input:checked~.weui-switch-cp__box:after {\\n -webkit-transform: translateX(20px);\\n transform: translateX(20px);\\n}\\n\\n.weui-switch-cp__input {\\n position: absolute;\\n left: -9999px;\\n}\\n\\n.weui-switch-cp__box {\\n display: block;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/switch/_index.css\n// module id = 175\n// module chunks = 60","export function loading() {\n return 'M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z'\n}\n\nexport function close() {\n return 'M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z'\n}\n\nexport function success() {\n return 'M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n}\n\nexport function successFill() {\n return 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z'\n}\n\n\nexport function warn() {\n return 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z'\n}\n\nexport function warnFill() {\n return 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n}\n\nexport function check() {\n\n return 'M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z'\n}\n\nexport function checkSquare() {\n return 'M433.1 657.7a31.8 31.8 0 0 0 51.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7H642c-10.2 0-19.9 4.9-25.9 13.3L459 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H315c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8z M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n}\n\nexport function rect() {\n return 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/path-d/dist/path-d.esm.js","export default {\n pathA: 'M464 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm200 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-400 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm661.2-173.6c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 0 0-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 0 0-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 0 0 112 714v152a46 46 0 0 0 46 46h152.1A449.4 449.4 0 0 0 510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 0 0 142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z',\n pathB: 'M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 0 0-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 0 0-80.4 119.5A373.6 373.6 0 0 0 137 888.8a8 8 0 0 0 8 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 0 0 8.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 0 1 340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 0 1 683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z',\n pathC: 'M136 384h56c4.4 0 8-3.6 8-8V200h176c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-37.6 0-68 30.4-68 68v180c0 4.4 3.6 8 8 8zm512-184h176v176c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V196c0-37.6-30.4-68-68-68H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM376 824H200V648c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v180c0 37.6 30.4 68 68 68h180c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm512-184h-56c-4.4 0-8 3.6-8 8v176H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h180c37.6 0 68-30.4 68-68V648c0-4.4-3.6-8-8-8zm16-164H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z',\n pathD: 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm159.6-585h-59.5c-3 0-5.8 1.7-7.1 4.4l-90.6 180H511l-90.6-180a8 8 0 0 0-7.1-4.4h-60.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9L457 515.7h-61.4c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V603h-81.7c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V717c0 4.4 3.6 8 8 8h54.3c4.4 0 8-3.6 8-8v-68.1h82c4.4 0 8-3.6 8-8V611c0-4.4-3.6-8-8-8h-82v-41.5h82c4.4 0 8-3.6 8-8v-29.9c0-4.4-3.6-8-8-8h-62l111.1-204.8c.6-1.2 1-2.5 1-3.8-.1-4.4-3.7-8-8.1-8z'\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/path.js","import { define, WeElement, extractClass, render } from 'omi'\nimport css from './_index.css'\nimport '../icon'\n\ndefine('o-toast', class extends WeElement {\n static defaultProps = {\n type: 'success',\n show: false\n }\n\n css() {\n return css\n }\n\n render(props) {\n const cls = extractClass(props, 'weui-toast')\n const { type, show, children, iconSize, ...others } = props\n\n return (\n
\n
\n {type === 'success' ?\n
:\n
}\n\n\n
{children}
\n
\n
\n )\n }\n})\n\nlet toast = {},\n dom\n\ntoast.showLoading = function (wording) {\n dom = render(
{wording || '加载中'}, 'body')\n}\n\ntoast.hideLoading = function () {\n document.body.removeChild(dom)\n}\n\nexport default toast\n\n\n\n// WEBPACK FOOTER //\n// ./../src/toast/index.js","\n var result = require(\"!!../../examples/node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ../src/toast/_index.css\n// module id = 179\n// module chunks = 60","exports = module.exports = require(\"../../examples/node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".weui-toast {\\n position: fixed;\\n z-index: 5000;\\n width: 7.6em;\\n min-height: 7.6em;\\n top: 50%;\\n left: 50%;\\n margin-top: -3.8em;\\n margin-left: -3.8em;\\n background: rgba(17, 17, 17, 0.7);\\n text-align: center;\\n border-radius: 5px;\\n color: #FFFFFF;\\n}\\n\\n.weui-icon_toast {\\n margin: 22px 0 0;\\n display: block;\\n}\\n\\n.weui-icon_toast.weui-icon-success-no-circle:before {\\n color: #FFFFFF;\\n font-size: 55px;\\n}\\n\\n.weui-icon_toast.weui-loading {\\n margin: 30px 0 0;\\n width: 38px;\\n height: 38px;\\n vertical-align: baseline;\\n}\\n\\n.weui-toast__content {\\n margin: 0 0 15px;\\n}\\n\\np {\\n margin: 0;\\n padding-bottom: 10px;\\n}\\n\\n.icon {\\n margin-top: 5px;\\n position: relative;\\n top: 10px;\\n}\\n\\n.icon-l {\\n margin-top: 15px;\\n position: relative;\\n top: 10px;\\n margin-bottom: 13px;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!../src/toast/_index.css\n// module id = 180\n// module chunks = 60","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/timers-browserify/main.js","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a