@tarojs/components 3.6.22-nightly.7 → 3.6.22-nightly.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +7 -0
- package/dist/cjs/index-f6805218.js +73 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/taro-button-core.cjs.entry.js +2 -6
- package/dist/cjs/taro-components.cjs.js +1 -1
- package/dist/cjs/taro-cover-view-core.cjs.entry.js +2 -6
- package/dist/cjs/taro-icon-core.cjs.entry.js +2 -6
- package/dist/cjs/taro-image-core.cjs.entry.js +3 -7
- package/dist/cjs/taro-navigator-core.cjs.entry.js +2 -3
- package/dist/cjs/taro-picker-core_2.cjs.entry.js +3 -7
- package/dist/cjs/taro-picker-view-column-core_2.cjs.entry.js +4 -8
- package/dist/cjs/taro-pull-to-refresh-core.cjs.entry.js +3 -4
- package/dist/cjs/taro-scroll-view-core.cjs.entry.js +2 -6
- package/dist/cjs/taro-swiper-core_2.cjs.entry.js +6 -5
- package/dist/cjs/taro-switch-core.cjs.entry.js +11 -10
- package/dist/cjs/taro-tabbar.cjs.entry.js +23 -24
- package/dist/cjs/taro-textarea-core.cjs.entry.js +10 -1
- package/dist/cjs/taro-video-control_3.cjs.entry.js +5 -9
- package/dist/cjs/taro-view-core.cjs.entry.js +2 -6
- package/dist/collection/components/swiper/swiper.js +4 -2
- package/dist/collection/components/switch/switch.js +12 -12
- package/dist/collection/components/textarea/textarea.js +11 -0
- package/dist/components/index2.js +68 -31
- package/dist/components/index3.js +34 -0
- package/dist/components/taro-button-core.js +2 -2
- package/dist/components/taro-cover-view-core.js +2 -2
- package/dist/components/taro-icon-core.js +2 -2
- package/dist/components/taro-image-core.js +3 -3
- package/dist/components/taro-navigator-core.js +2 -2
- package/dist/components/taro-picker-core.js +3 -3
- package/dist/components/taro-picker-view-column-core.js +1 -1
- package/dist/components/taro-picker-view-core.js +4 -4
- package/dist/components/taro-pull-to-refresh-core.js +3 -3
- package/dist/components/taro-scroll-view-core.js +3 -3
- package/dist/components/taro-swiper-core.js +7 -5
- package/dist/components/taro-switch-core.js +12 -12
- package/dist/components/taro-tabbar.js +5 -5
- package/dist/components/taro-textarea-core.js +10 -1
- package/dist/components/taro-video-core.js +6 -6
- package/dist/components/taro-view-core.js +2 -2
- package/dist/esm/index-c3e4004b.js +71 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/taro-button-core.entry.js +2 -2
- package/dist/esm/taro-components.js +1 -1
- package/dist/esm/taro-cover-view-core.entry.js +2 -2
- package/dist/esm/taro-icon-core.entry.js +2 -2
- package/dist/esm/taro-image-core.entry.js +3 -3
- package/dist/esm/taro-navigator-core.entry.js +2 -2
- package/dist/esm/taro-picker-core_2.entry.js +3 -3
- package/dist/esm/taro-picker-view-column-core_2.entry.js +4 -4
- package/dist/esm/taro-pull-to-refresh-core.entry.js +3 -3
- package/dist/esm/taro-scroll-view-core.entry.js +2 -2
- package/dist/esm/taro-swiper-core_2.entry.js +6 -4
- package/dist/esm/taro-switch-core.entry.js +11 -10
- package/dist/esm/taro-tabbar.entry.js +4 -4
- package/dist/esm/taro-textarea-core.entry.js +10 -1
- package/dist/esm/taro-video-control_3.entry.js +5 -5
- package/dist/esm/taro-view-core.entry.js +2 -2
- package/dist/esm-es5/index-c3e4004b.js +7 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/taro-button-core.entry.js +1 -1
- package/dist/esm-es5/taro-components.js +1 -1
- package/dist/esm-es5/taro-cover-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-icon-core.entry.js +1 -1
- package/dist/esm-es5/taro-image-core.entry.js +1 -1
- package/dist/esm-es5/taro-navigator-core.entry.js +1 -1
- package/dist/esm-es5/taro-picker-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-picker-view-column-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-pull-to-refresh-core.entry.js +1 -1
- package/dist/esm-es5/taro-scroll-view-core.entry.js +1 -1
- package/dist/esm-es5/taro-swiper-core_2.entry.js +1 -1
- package/dist/esm-es5/taro-switch-core.entry.js +1 -1
- package/dist/esm-es5/taro-tabbar.entry.js +1 -1
- package/dist/esm-es5/taro-textarea-core.entry.js +1 -1
- package/dist/esm-es5/taro-video-control_3.entry.js +1 -1
- package/dist/esm-es5/taro-view-core.entry.js +1 -1
- package/dist/taro-components/p-06cf6b18.system.entry.js +1 -0
- package/dist/taro-components/p-16954dd6.entry.js +1 -0
- package/dist/taro-components/p-2bbdbe9c.system.entry.js +1 -0
- package/dist/taro-components/p-2dea35fd.entry.js +1 -0
- package/dist/taro-components/p-2ec68968.system.js +7 -0
- package/dist/taro-components/p-35cca0f9.entry.js +1 -0
- package/dist/taro-components/p-445810cb.entry.js +1 -0
- package/dist/taro-components/p-4e4ac1fe.system.entry.js +1 -0
- package/dist/taro-components/p-600d9210.entry.js +1 -0
- package/dist/taro-components/p-61cb688a.entry.js +1 -0
- package/dist/taro-components/p-67ff5a50.system.entry.js +1 -0
- package/dist/taro-components/p-74129eac.entry.js +1 -0
- package/dist/taro-components/{p-fbd33d55.system.entry.js → p-92daad3f.system.entry.js} +1 -1
- package/dist/taro-components/p-95058ee1.entry.js +1 -0
- package/dist/taro-components/p-9623f19c.system.entry.js +1 -0
- package/dist/taro-components/p-96d3e67b.system.entry.js +1 -0
- package/dist/taro-components/p-a197cbae.system.entry.js +1 -0
- package/dist/taro-components/p-a2a70581.system.entry.js +1 -0
- package/dist/taro-components/p-a972aa1d.system.js +1 -1
- package/dist/taro-components/p-b259b4ba.system.entry.js +1 -0
- package/dist/taro-components/p-b3b57aab.entry.js +1 -0
- package/dist/taro-components/p-b6694eb3.system.entry.js +1 -0
- package/dist/taro-components/p-b9f19e77.entry.js +1 -0
- package/dist/taro-components/p-bb87373d.entry.js +1 -0
- package/dist/taro-components/p-bdd7b5a9.entry.js +1 -0
- package/dist/taro-components/p-bf0d2c21.system.entry.js +1 -0
- package/dist/taro-components/p-c11fcb25.system.entry.js +1 -0
- package/dist/taro-components/p-d36f8c4f.entry.js +1 -0
- package/dist/taro-components/p-d60b66c2.entry.js +1 -0
- package/dist/taro-components/p-dc6db06e.system.entry.js +1 -0
- package/dist/taro-components/p-dca5e9ee.entry.js +1 -0
- package/dist/taro-components/p-de951a46.js +7 -0
- package/dist/taro-components/p-e09e8b51.system.entry.js +1 -0
- package/dist/taro-components/taro-components.esm.js +1 -1
- package/dist/types/components/switch/switch.d.ts +3 -3
- package/dist/types/components/textarea/textarea.d.ts +1 -0
- package/lib/react/react-component-lib/createComponent.js +2 -1
- package/lib/react/react-component-lib/createComponent.js.map +1 -1
- package/lib/react/react-component-lib/utils/attachProps.d.ts +16 -7
- package/lib/react/react-component-lib/utils/attachProps.js +85 -9
- package/lib/react/react-component-lib/utils/attachProps.js.map +1 -1
- package/lib/react/react-component-lib/utils/index.js +1 -1
- package/package.json +4 -5
- package/types/Checkbox.d.ts +0 -4
- package/types/Picker.d.ts +13 -1
- package/types/Radio.d.ts +0 -4
- package/dist/taro-components/p-0589fade.system.entry.js +0 -1
- package/dist/taro-components/p-0d538950.system.entry.js +0 -1
- package/dist/taro-components/p-232d907e.entry.js +0 -1
- package/dist/taro-components/p-4a3acea0.system.entry.js +0 -1
- package/dist/taro-components/p-4d435e0e.entry.js +0 -1
- package/dist/taro-components/p-4dd5f401.system.entry.js +0 -1
- package/dist/taro-components/p-59187d48.entry.js +0 -1
- package/dist/taro-components/p-5920356c.system.entry.js +0 -1
- package/dist/taro-components/p-74e7dda9.entry.js +0 -1
- package/dist/taro-components/p-76f3547f.system.entry.js +0 -1
- package/dist/taro-components/p-77ba4f09.system.entry.js +0 -1
- package/dist/taro-components/p-7b463b27.entry.js +0 -1
- package/dist/taro-components/p-7f2096b0.entry.js +0 -1
- package/dist/taro-components/p-8fa55dc6.entry.js +0 -1
- package/dist/taro-components/p-9253a23b.entry.js +0 -1
- package/dist/taro-components/p-9477bad9.entry.js +0 -1
- package/dist/taro-components/p-9fb50df3.entry.js +0 -1
- package/dist/taro-components/p-b85cc3e9.entry.js +0 -1
- package/dist/taro-components/p-b8c7e5cd.system.entry.js +0 -1
- package/dist/taro-components/p-b96f3432.system.entry.js +0 -1
- package/dist/taro-components/p-bf3a666f.entry.js +0 -1
- package/dist/taro-components/p-c86f1bc0.entry.js +0 -1
- package/dist/taro-components/p-d8b1db26.system.entry.js +0 -1
- package/dist/taro-components/p-df6e6333.system.entry.js +0 -1
- package/dist/taro-components/p-e254406f.system.entry.js +0 -1
- package/dist/taro-components/p-e56e52a1.entry.js +0 -1
- package/dist/taro-components/p-e849f74a.system.entry.js +0 -1
- package/dist/taro-components/p-eb7709ea.system.entry.js +0 -1
- package/dist/taro-components/p-ec82a895.entry.js +0 -1
|
@@ -2,7 +2,7 @@ import { __rest } from 'tslib';
|
|
|
2
2
|
import React, { createElement } from 'react';
|
|
3
3
|
import { mergeRefs, createForwardRef } from './utils/index.js';
|
|
4
4
|
import { dashToPascalCase, camelToDashCase } from './utils/case.js';
|
|
5
|
-
import { attachProps, isCoveredByReact } from './utils/attachProps.js';
|
|
5
|
+
import { applyUnControlledDefaultValue, attachProps, isCoveredByReact } from './utils/attachProps.js';
|
|
6
6
|
|
|
7
7
|
const createReactComponent = (tagName, ReactComponentContext, manipulatePropsFunction, defineCustomElement) => {
|
|
8
8
|
if (!DEPRECATED_ADAPTER_COMPONENT && defineCustomElement !== undefined) {
|
|
@@ -18,6 +18,7 @@ const createReactComponent = (tagName, ReactComponentContext, manipulatePropsFun
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
componentDidMount() {
|
|
21
|
+
applyUnControlledDefaultValue(this.componentEl, this.props);
|
|
21
22
|
this.componentDidUpdate(this.props);
|
|
22
23
|
}
|
|
23
24
|
componentDidUpdate(prevProps) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createComponent.js","sources":["../../../../taro-components-library-react/src/react-component-lib/createComponent.tsx"],"sourcesContent":["/**\n * Modify from https://github.com/ionic-team/stencil-ds-output-targets/blob/main/packages/react-output-target/react-component-lib/createComponent.ts\n * MIT License https://github.com/ionic-team/stencil-ds-output-targets/blob/main/LICENSE\n */\nimport React, { createElement } from 'react'\n\nimport {
|
|
1
|
+
{"version":3,"file":"createComponent.js","sources":["../../../../taro-components-library-react/src/react-component-lib/createComponent.tsx"],"sourcesContent":["/**\n * Modify from https://github.com/ionic-team/stencil-ds-output-targets/blob/main/packages/react-output-target/react-component-lib/createComponent.ts\n * MIT License https://github.com/ionic-team/stencil-ds-output-targets/blob/main/LICENSE\n */\nimport React, { createElement } from 'react'\n\nimport {\n applyUnControlledDefaultValue,\n attachProps,\n camelToDashCase,\n createForwardRef,\n dashToPascalCase,\n isCoveredByReact,\n mergeRefs,\n} from './utils'\n\nexport interface HTMLStencilElement extends HTMLElement {\n componentOnReady(): Promise<this>\n}\n\ninterface StencilReactInternalProps<ElementType> extends React.HTMLAttributes<ElementType> {\n forwardedRef: React.RefObject<ElementType>\n ref?: React.Ref<any>\n}\n\nexport const createReactComponent = <\n PropType,\n ElementType extends HTMLStencilElement,\n ContextStateType = any,\n ExpandedPropsTypes = any\n>(\n tagName: string,\n ReactComponentContext?: React.Context<ContextStateType>,\n manipulatePropsFunction?: (\n originalProps: StencilReactInternalProps<ElementType>,\n propsToPass: any\n ) => ExpandedPropsTypes,\n defineCustomElement?: () => void\n) => {\n if (!DEPRECATED_ADAPTER_COMPONENT && defineCustomElement !== undefined) {\n defineCustomElement()\n }\n\n const displayName = dashToPascalCase(tagName)\n const ReactComponent = class extends React.Component<StencilReactInternalProps<ElementType>> {\n componentEl!: ElementType\n\n setComponentElRef = (element: ElementType) => {\n this.componentEl = element\n }\n\n // eslint-disable-next-line no-useless-constructor\n constructor (props: StencilReactInternalProps<ElementType>) {\n super(props)\n }\n\n componentDidMount () {\n applyUnControlledDefaultValue(this.componentEl, this.props)\n this.componentDidUpdate(this.props)\n }\n\n componentDidUpdate (prevProps: StencilReactInternalProps<ElementType>) {\n attachProps(this.componentEl, this.props, prevProps)\n }\n\n render () {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { children, forwardedRef, className, ref, style, ...cProps } = this.props\n\n let propsToPass = Object.keys(cProps).reduce((acc: any, name) => {\n const value = (cProps as any)[name]\n\n if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {\n const eventName = name.substring(2).toLowerCase()\n if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {\n acc[name] = value\n }\n } else {\n // we should only render strings, booleans, and numbers as attrs in html.\n // objects, functions, arrays etc get synced via properties on mount.\n const type = typeof value\n\n if (['string', 'boolean', 'number'].includes(type)) {\n acc[camelToDashCase(name)] = value\n }\n }\n return acc\n }, {} as ExpandedPropsTypes)\n\n if (manipulatePropsFunction) {\n propsToPass = manipulatePropsFunction(this.props, propsToPass)\n }\n\n const newProps: Omit<StencilReactInternalProps<ElementType>, 'forwardedRef'> = {\n ...propsToPass,\n ref: mergeRefs(forwardedRef, this.setComponentElRef),\n // Note(taro): 需处理 string 类型的 style,调整到 manipulatePropsFunction 方法中判断是否需注入 (string 类型在 attachProps 中处理)\n // style\n }\n\n /**\n * We use createElement here instead of\n * React.createElement to work around a\n * bug in Vite (https://github.com/vitejs/vite/issues/6104).\n * React.createElement causes all elements to be rendered\n * as <tagname> instead of the actual Web Component.\n */\n return createElement(tagName, newProps, children)\n }\n\n static get displayName () {\n return displayName\n }\n }\n\n // If context was passed to createReactComponent then conditionally add it to the Component Class\n if (ReactComponentContext) {\n ReactComponent.contextType = ReactComponentContext\n }\n\n return createForwardRef<PropType, ElementType>(ReactComponent, displayName)\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
declare const getClassName: (classList: DOMTokenList, newProps: any, oldProps: any) => string;
|
|
2
2
|
declare const isCoveredByReact: (__eventNameSuffix: string) => boolean;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
interface EventCenter {
|
|
4
|
+
[key: string]: EventCenter.EventCallback | undefined;
|
|
5
|
+
}
|
|
6
|
+
declare namespace EventCenter {
|
|
7
|
+
interface EventCallback {
|
|
8
|
+
(e: Event): any;
|
|
9
|
+
fn?: (e: Event) => any;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
type HTMLElementWithEvents = HTMLElement & {
|
|
13
|
+
__events?: EventCenter;
|
|
14
|
+
};
|
|
15
|
+
declare const syncEvent: (node: HTMLElementWithEvents, eventName: string, newEventHandler?: (e: Event) => any) => void;
|
|
16
|
+
declare const attachProps: (node: HTMLElementWithEvents, newProps: any, oldProps?: any) => void;
|
|
17
|
+
declare function applyUnControlledDefaultValue(node: HTMLElementWithEvents, props: any): void;
|
|
18
|
+
export { getClassName, isCoveredByReact, syncEvent, attachProps, applyUnControlledDefaultValue };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { flushSync, unstable_batchedUpdates } from 'react-dom';
|
|
1
2
|
import { camelToDashCase } from './case.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -35,20 +36,73 @@ const getClassName = (classList, newProps, oldProps) => {
|
|
|
35
36
|
};
|
|
36
37
|
// Note(taro): 禁用 react 合成事件抛出 (避免自定义事件属性调用问题, 例如: event.detail.value 等)
|
|
37
38
|
const isCoveredByReact = (__eventNameSuffix) => false;
|
|
39
|
+
function getComponentName(node) {
|
|
40
|
+
return node.tagName.replace(/^TARO-/, '').replace(/-CORE$/, '');
|
|
41
|
+
}
|
|
42
|
+
function getControlledValue(node) {
|
|
43
|
+
const componentName = getComponentName(node);
|
|
44
|
+
if (['INPUT', 'TEXTAREA', 'SLIDER', 'PICKER'].includes(componentName)) {
|
|
45
|
+
return 'value';
|
|
46
|
+
}
|
|
47
|
+
else if (componentName === 'SWITCH') {
|
|
48
|
+
// Radio、Checkbox 受 RadioGroup、CheckboxGroup 控制,不支持受控
|
|
49
|
+
return 'checked';
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function getPropsAfterReactUpdate(node) {
|
|
56
|
+
const key = Object.keys(node).find(key => key.includes('__reactProps'));
|
|
57
|
+
if (key) {
|
|
58
|
+
return node[key];
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function finishedEventHandler(node) {
|
|
65
|
+
const controlledValue = getControlledValue(node);
|
|
66
|
+
// 不是可以受控的表单组件,直接返回
|
|
67
|
+
if (!controlledValue)
|
|
68
|
+
return;
|
|
69
|
+
// 立即执行事件回调中用户可能触发了的 React 更新
|
|
70
|
+
flushSync();
|
|
71
|
+
// 组件在 React 更新后的 React props
|
|
72
|
+
const newProps = getPropsAfterReactUpdate(node);
|
|
73
|
+
if ((newProps === null || newProps === void 0 ? void 0 : newProps.hasOwnProperty(controlledValue)) && newProps[controlledValue] !== node[controlledValue]) {
|
|
74
|
+
// 如果 React Props 的 value 和 DOM 上的 value 不一致,以 React Props 为准(受控)
|
|
75
|
+
node[controlledValue] = newProps[controlledValue];
|
|
76
|
+
node.setAttribute(controlledValue, newProps[controlledValue]);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
38
79
|
const syncEvent = (node, eventName, newEventHandler) => {
|
|
39
80
|
const eventStore = node.__events || (node.__events = {});
|
|
40
81
|
const oldEventHandler = eventStore[eventName];
|
|
41
|
-
|
|
42
|
-
if (oldEventHandler) {
|
|
82
|
+
if (!newEventHandler && oldEventHandler) {
|
|
43
83
|
node.removeEventListener(eventName, oldEventHandler);
|
|
44
84
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
85
|
+
else {
|
|
86
|
+
if (oldEventHandler) {
|
|
87
|
+
if (oldEventHandler.fn === newEventHandler) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// 删除旧的,绑定新的
|
|
92
|
+
node.removeEventListener(eventName, oldEventHandler);
|
|
93
|
+
}
|
|
49
94
|
}
|
|
50
|
-
|
|
95
|
+
const listener = eventStore[eventName] = function (e) {
|
|
96
|
+
// React batch event updates
|
|
97
|
+
unstable_batchedUpdates(() => newEventHandler.call(this, e));
|
|
98
|
+
// 控制是否更新受控组件的 value 值
|
|
99
|
+
finishedEventHandler(node);
|
|
100
|
+
};
|
|
101
|
+
listener.fn = newEventHandler;
|
|
102
|
+
node.addEventListener(eventName, listener);
|
|
103
|
+
}
|
|
51
104
|
};
|
|
105
|
+
// TODO(performace): ReactComponent 已更新了一次,这里手动更新可能存在重复设置属性的问题
|
|
52
106
|
const attachProps = (node, newProps, oldProps = {}) => {
|
|
53
107
|
// some test frameworks don't render DOM elements, so we test here to make sure we are dealing with DOM first
|
|
54
108
|
if (node instanceof Element) {
|
|
@@ -62,7 +116,7 @@ const attachProps = (node, newProps, oldProps = {}) => {
|
|
|
62
116
|
const eventName = name.substring(2);
|
|
63
117
|
const eventNameLc = eventName.toLowerCase();
|
|
64
118
|
if (!isCoveredByReact(eventNameLc)) {
|
|
65
|
-
syncEvent(node, eventNameLc
|
|
119
|
+
syncEvent(node, eventNameLc);
|
|
66
120
|
}
|
|
67
121
|
}
|
|
68
122
|
else {
|
|
@@ -96,8 +150,30 @@ const attachProps = (node, newProps, oldProps = {}) => {
|
|
|
96
150
|
}
|
|
97
151
|
}
|
|
98
152
|
});
|
|
153
|
+
// 保证受控组件会被默认绑定一个空事件,用于触发 finishedEventHandler 中的受控逻辑
|
|
154
|
+
const controlledValue = getControlledValue(node);
|
|
155
|
+
if (controlledValue &&
|
|
156
|
+
newProps.hasOwnProperty(controlledValue)) {
|
|
157
|
+
const handleChangeEvent = ['INPUT', 'TEXTAREA'].includes(getComponentName(node)) ? 'input' : 'change';
|
|
158
|
+
node.__events || (node.__events = {});
|
|
159
|
+
if (!node.__events.hasOwnProperty(handleChangeEvent)) {
|
|
160
|
+
syncEvent(node, handleChangeEvent, function () { });
|
|
161
|
+
}
|
|
162
|
+
}
|
|
99
163
|
}
|
|
100
164
|
};
|
|
165
|
+
function applyUnControlledDefaultValue(node, props) {
|
|
166
|
+
const controlledValue = getControlledValue(node);
|
|
167
|
+
// 不是可以受控的表单组件,直接返回
|
|
168
|
+
if (!controlledValue)
|
|
169
|
+
return;
|
|
170
|
+
const defaultValueName = 'default' + controlledValue.charAt(0).toUpperCase() + controlledValue.slice(1);
|
|
171
|
+
if (!props.hasOwnProperty(controlledValue) && props.hasOwnProperty(defaultValueName)) {
|
|
172
|
+
// 如果是可以受控的表单组件,当没有传入 value/checked 而是传入 defaultValue/defaultChecked 时,把表单值初始化为 defaultValue/defaultChecked
|
|
173
|
+
node[controlledValue] = props[defaultValueName];
|
|
174
|
+
node.setAttribute(controlledValue, props[defaultValueName]);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
101
177
|
|
|
102
|
-
export { attachProps, getClassName, isCoveredByReact, syncEvent };
|
|
178
|
+
export { applyUnControlledDefaultValue, attachProps, getClassName, isCoveredByReact, syncEvent };
|
|
103
179
|
//# sourceMappingURL=attachProps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachProps.js","sources":["../../../../../taro-components-library-react/src/react-component-lib/utils/attachProps.ts"],"sourcesContent":["/**\n * Modify from https://github.com/ionic-team/stencil-ds-output-targets/blob/main/packages/react-output-target/react-component-lib/utils/attachProps.ts\n * MIT License https://github.com/ionic-team/stencil-ds-output-targets/blob/main/LICENSE\n */\nimport { camelToDashCase } from './case'\n\nconst arrayToMap = (arr: string[] | DOMTokenList) => {\n const map = new Map<string, string>();\n (arr as string[]).forEach((s: string) => map.set(s, s))\n return map\n}\n\nexport const getClassName = (classList: DOMTokenList, newProps: any, oldProps: any) => {\n const newClassProp: string = newProps.className || newProps.class\n const oldClassProp: string = oldProps.className || oldProps.class\n // map the classes to Maps for performance\n const currentClasses = arrayToMap(classList)\n const incomingPropClasses = arrayToMap(newClassProp ? newClassProp.split(' ') : [])\n const oldPropClasses = arrayToMap(oldClassProp ? oldClassProp.split(' ') : [])\n const finalClassNames: string[] = []\n // loop through each of the current classes on the component\n // to see if it should be a part of the classNames added\n currentClasses.forEach((currentClass) => {\n if (incomingPropClasses.has(currentClass)) {\n // add it as its already included in classnames coming in from newProps\n finalClassNames.push(currentClass)\n incomingPropClasses.delete(currentClass)\n } else if (!oldPropClasses.has(currentClass)) {\n // add it as it has NOT been removed by user\n finalClassNames.push(currentClass)\n }\n })\n incomingPropClasses.forEach((s) => finalClassNames.push(s))\n return finalClassNames.join(' ')\n}\n\n// Note(taro): 禁用 react 合成事件抛出 (避免自定义事件属性调用问题, 例如: event.detail.value 等)\nexport const isCoveredByReact = (__eventNameSuffix: string) => false\n\nexport const syncEvent = (\n node: Element & { __events?: { [key: string]: ((e: Event) => any) | undefined } },\n eventName: string,\n newEventHandler?: (e: Event) => any\n) => {\n const eventStore = node.__events || (node.__events = {})\n const oldEventHandler = eventStore[eventName]\n\n // Remove old listener so they don't double up.\n if (oldEventHandler) {\n node.removeEventListener(eventName, oldEventHandler)\n }\n\n // Bind new listener.\n node.addEventListener(\n eventName,\n (eventStore[eventName] = function handler (e: Event) {\n if (newEventHandler) {\n newEventHandler.call(this, e)\n }\n })\n )\n}\n\nexport const attachProps = (node: HTMLElement, newProps: any, oldProps: any = {}) => {\n // some test frameworks don't render DOM elements, so we test here to make sure we are dealing with DOM first\n if (node instanceof Element) {\n Object.keys(oldProps).forEach((name) => {\n if (['style', 'children', 'ref', 'class', 'className', 'forwardedRef'].includes(name)) {\n return\n }\n // Note: 移除节点上冗余事件、属性\n if (!newProps.hasOwnProperty(name)) {\n if (/^on([A-Z].*)/.test(name)) {\n const eventName = name.substring(2)\n const eventNameLc = eventName.toLowerCase()\n\n if (!isCoveredByReact(eventNameLc)) {\n syncEvent(node, eventNameLc, undefined)\n }\n } else {\n (node as any)[name] = null\n node.removeAttribute(camelToDashCase(name))\n }\n }\n })\n // add any classes in className to the class list\n node.className = getClassName(node.classList, newProps, oldProps)\n\n Object.keys(newProps).forEach((name) => {\n /** Note(taro): 优化 style 属性的处理\n * 1. 考虑到兼容旧版本项目,支持使用字符串配置 style 属性,但这并非推荐写法,且不考虑优化在 style 移除时同步删除属性\n * 2. style 属性应当交与前端 UI 框架自行处理,不考虑实现类似于 reactify-wc 的更新策略\n */\n if ((name === 'style' && typeof newProps[name] !== 'string') || ['children', 'ref', 'class', 'className', 'forwardedRef'].includes(name)) {\n return\n }\n if (/^on([A-Z].*)/.test(name)) {\n const eventName = name.substring(2)\n const eventNameLc = eventName.toLowerCase()\n\n if (!isCoveredByReact(eventNameLc)) {\n syncEvent(node, eventNameLc, newProps[name])\n }\n } else {\n (node as any)[name] = newProps[name]\n const propType = typeof newProps[name]\n if (propType === 'string') {\n node.setAttribute(camelToDashCase(name), newProps[name])\n }\n }\n })\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attachProps.js","sources":["../../../../../taro-components-library-react/src/react-component-lib/utils/attachProps.ts"],"sourcesContent":["/**\n * Modify from https://github.com/ionic-team/stencil-ds-output-targets/blob/main/packages/react-output-target/react-component-lib/utils/attachProps.ts\n * MIT License https://github.com/ionic-team/stencil-ds-output-targets/blob/main/LICENSE\n */\nimport { flushSync, unstable_batchedUpdates } from 'react-dom'\n\nimport { camelToDashCase } from './case'\n\nconst arrayToMap = (arr: string[] | DOMTokenList) => {\n const map = new Map<string, string>();\n (arr as string[]).forEach((s: string) => map.set(s, s))\n return map\n}\n\nexport const getClassName = (classList: DOMTokenList, newProps: any, oldProps: any) => {\n const newClassProp: string = newProps.className || newProps.class\n const oldClassProp: string = oldProps.className || oldProps.class\n // map the classes to Maps for performance\n const currentClasses = arrayToMap(classList)\n const incomingPropClasses = arrayToMap(newClassProp ? newClassProp.split(' ') : [])\n const oldPropClasses = arrayToMap(oldClassProp ? oldClassProp.split(' ') : [])\n const finalClassNames: string[] = []\n // loop through each of the current classes on the component\n // to see if it should be a part of the classNames added\n currentClasses.forEach((currentClass) => {\n if (incomingPropClasses.has(currentClass)) {\n // add it as its already included in classnames coming in from newProps\n finalClassNames.push(currentClass)\n incomingPropClasses.delete(currentClass)\n } else if (!oldPropClasses.has(currentClass)) {\n // add it as it has NOT been removed by user\n finalClassNames.push(currentClass)\n }\n })\n incomingPropClasses.forEach((s) => finalClassNames.push(s))\n return finalClassNames.join(' ')\n}\n\n// Note(taro): 禁用 react 合成事件抛出 (避免自定义事件属性调用问题, 例如: event.detail.value 等)\nexport const isCoveredByReact = (__eventNameSuffix: string) => false\n\ninterface EventCenter {\n [key: string]: EventCenter.EventCallback | undefined\n}\n\nnamespace EventCenter {\n export interface EventCallback {\n (e: Event): any\n fn?: (e: Event) => any\n }\n}\n\ntype HTMLElementWithEvents = HTMLElement & { __events?: EventCenter }\n\nfunction getComponentName (node: HTMLElement): string {\n return node.tagName.replace(/^TARO-/, '').replace(/-CORE$/, '')\n}\n\nfunction getControlledValue (node: HTMLElement): string | null {\n const componentName = getComponentName(node)\n if (['INPUT', 'TEXTAREA', 'SLIDER', 'PICKER'].includes(componentName)) {\n return 'value'\n } else if (componentName === 'SWITCH') {\n // Radio、Checkbox 受 RadioGroup、CheckboxGroup 控制,不支持受控\n return 'checked'\n } else {\n return null\n }\n}\n\nfunction getPropsAfterReactUpdate (node: HTMLElement): Record<string, any> | null {\n const key = Object.keys(node).find(key => key.includes('__reactProps'))\n if (key) {\n return node[key] as Record<string, any>\n } else {\n return null\n }\n}\n\nfunction finishedEventHandler (node: HTMLElement) {\n const controlledValue = getControlledValue(node)\n\n // 不是可以受控的表单组件,直接返回\n if (!controlledValue) return\n\n // 立即执行事件回调中用户可能触发了的 React 更新\n flushSync()\n\n // 组件在 React 更新后的 React props\n const newProps = getPropsAfterReactUpdate(node)\n if (newProps?.hasOwnProperty(controlledValue) && newProps[controlledValue] !== node[controlledValue]) {\n // 如果 React Props 的 value 和 DOM 上的 value 不一致,以 React Props 为准(受控)\n node[controlledValue] = newProps[controlledValue]\n node.setAttribute(controlledValue, newProps[controlledValue])\n }\n}\n\nexport const syncEvent = (\n node: HTMLElementWithEvents,\n eventName: string,\n newEventHandler?: (e: Event) => any\n) => {\n const eventStore = node.__events ||= {}\n const oldEventHandler = eventStore[eventName]\n\n if (!newEventHandler && oldEventHandler) {\n node.removeEventListener(eventName, oldEventHandler)\n } else {\n if (oldEventHandler) {\n if (oldEventHandler.fn === newEventHandler) {\n return\n } else {\n // 删除旧的,绑定新的\n node.removeEventListener(eventName, oldEventHandler)\n }\n }\n\n const listener: EventCenter.EventCallback = eventStore[eventName] = function (e: Event) {\n // React batch event updates\n unstable_batchedUpdates(() => newEventHandler.call(this, e))\n // 控制是否更新受控组件的 value 值\n finishedEventHandler(node)\n }\n listener.fn = newEventHandler\n node.addEventListener(\n eventName,\n listener\n )\n }\n}\n\n// TODO(performace): ReactComponent 已更新了一次,这里手动更新可能存在重复设置属性的问题\nexport const attachProps = (node: HTMLElementWithEvents, newProps: any, oldProps: any = {}) => {\n // some test frameworks don't render DOM elements, so we test here to make sure we are dealing with DOM first\n if (node instanceof Element) {\n Object.keys(oldProps).forEach((name) => {\n if (['style', 'children', 'ref', 'class', 'className', 'forwardedRef'].includes(name)) {\n return\n }\n // Note: 移除节点上冗余事件、属性\n if (!newProps.hasOwnProperty(name)) {\n if (/^on([A-Z].*)/.test(name)) {\n const eventName = name.substring(2)\n const eventNameLc = eventName.toLowerCase()\n\n if (!isCoveredByReact(eventNameLc)) {\n syncEvent(node, eventNameLc)\n }\n } else {\n (node as any)[name] = null\n node.removeAttribute(camelToDashCase(name))\n }\n }\n })\n // add any classes in className to the class list\n node.className = getClassName(node.classList, newProps, oldProps)\n\n Object.keys(newProps).forEach((name) => {\n /** Note(taro): 优化 style 属性的处理\n * 1. 考虑到兼容旧版本项目,支持使用字符串配置 style 属性,但这并非推荐写法,且不考虑优化在 style 移除时同步删除属性\n * 2. style 属性应当交与前端 UI 框架自行处理,不考虑实现类似于 reactify-wc 的更新策略\n */\n if ((name === 'style' && typeof newProps[name] !== 'string') || ['children', 'ref', 'class', 'className', 'forwardedRef'].includes(name)) {\n return\n }\n if (/^on([A-Z].*)/.test(name)) {\n const eventName = name.substring(2)\n const eventNameLc = eventName.toLowerCase()\n\n if (!isCoveredByReact(eventNameLc)) {\n syncEvent(node, eventNameLc, newProps[name])\n }\n } else {\n (node as any)[name] = newProps[name]\n const propType = typeof newProps[name]\n if (propType === 'string') {\n node.setAttribute(camelToDashCase(name), newProps[name])\n }\n }\n })\n\n // 保证受控组件会被默认绑定一个空事件,用于触发 finishedEventHandler 中的受控逻辑\n const controlledValue = getControlledValue(node)\n if (\n controlledValue &&\n newProps.hasOwnProperty(controlledValue)\n ) {\n const handleChangeEvent = ['INPUT', 'TEXTAREA'].includes(getComponentName(node)) ? 'input' : 'change'\n node.__events ||= {}\n if (!node.__events.hasOwnProperty(handleChangeEvent)) {\n syncEvent(node, handleChangeEvent, function () {})\n }\n }\n }\n}\n\nexport function applyUnControlledDefaultValue (node: HTMLElementWithEvents, props: any) {\n const controlledValue = getControlledValue(node)\n\n // 不是可以受控的表单组件,直接返回\n if (!controlledValue) return\n\n const defaultValueName = 'default' + controlledValue.charAt(0).toUpperCase() + controlledValue.slice(1)\n if (!props.hasOwnProperty(controlledValue) && props.hasOwnProperty(defaultValueName)) {\n // 如果是可以受控的表单组件,当没有传入 value/checked 而是传入 defaultValue/defaultChecked 时,把表单值初始化为 defaultValue/defaultChecked\n node[controlledValue] = props[defaultValueName]\n node.setAttribute(controlledValue, props[defaultValueName])\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export { attachProps, getClassName, isCoveredByReact, syncEvent } from './attachProps.js';
|
|
2
|
+
export { applyUnControlledDefaultValue, attachProps, getClassName, isCoveredByReact, syncEvent } from './attachProps.js';
|
|
3
3
|
export { camelToDashCase, dashToPascalCase } from './case.js';
|
|
4
4
|
|
|
5
5
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/components",
|
|
3
|
-
"version": "3.6.22-nightly.
|
|
3
|
+
"version": "3.6.22-nightly.9",
|
|
4
4
|
"description": "Taro 组件库",
|
|
5
5
|
"browser": "dist/index.js",
|
|
6
6
|
"main:h5": "dist/index.js",
|
|
@@ -36,9 +36,8 @@
|
|
|
36
36
|
"resolve-pathname": "^3.0.0",
|
|
37
37
|
"tslib": "^2.6.2",
|
|
38
38
|
"swiper": "6.8.0",
|
|
39
|
-
"@tarojs/components-advanced": "3.6.22-nightly.
|
|
40
|
-
"@tarojs/
|
|
41
|
-
"@tarojs/taro": "3.6.22-nightly.7"
|
|
39
|
+
"@tarojs/components-advanced": "3.6.22-nightly.9",
|
|
40
|
+
"@tarojs/taro": "3.6.22-nightly.9"
|
|
42
41
|
},
|
|
43
42
|
"devDependencies": {
|
|
44
43
|
"@babel/generator": "^7.20.0",
|
|
@@ -90,7 +89,7 @@
|
|
|
90
89
|
"generate:stencil-config": "esbuild ./scripts/stencil/stencil.config.ts --external:lightningcss --bundle --platform=node --outfile=stencil.config.js",
|
|
91
90
|
"sync:types": "pnpm run tsx --files scripts/json-schema-to-types.ts",
|
|
92
91
|
"test": "cross-env NODE_ENV=test stencil test --spec --e2e",
|
|
93
|
-
"test:ci": "pnpm test -- --ci --no-build",
|
|
92
|
+
"test:ci": "pnpm test -- --ci -i --coverage --silent --no-build",
|
|
94
93
|
"test:coverage": "pnpm test -- --ci --screenshot --coverage",
|
|
95
94
|
"test:watch": "pnpm test -- --screenshot --watch",
|
|
96
95
|
"tsx": "ts-node --skipIgnore"
|
package/types/Checkbox.d.ts
CHANGED
|
@@ -15,10 +15,6 @@ interface CheckboxProps extends StandardProps {
|
|
|
15
15
|
* @default false
|
|
16
16
|
*/
|
|
17
17
|
checked?: boolean
|
|
18
|
-
/** 设置在 React 非受控状态下,当前是否选中
|
|
19
|
-
* @supported weapp, alipay, swan, tt, qq, jd, h5, rn
|
|
20
|
-
*/
|
|
21
|
-
defaultChecked?: boolean
|
|
22
18
|
/** checkbox的颜色,同 css 的 color
|
|
23
19
|
* @supported weapp, alipay, swan, tt, qq, jd, h5, rn, harmony_hybrid
|
|
24
20
|
*/
|
package/types/Picker.d.ts
CHANGED
|
@@ -158,7 +158,11 @@ interface PickerTimeProps extends PickerStandardProps {
|
|
|
158
158
|
* value 的值表示选择了 range 中的第几个(下标从 0 开始)
|
|
159
159
|
* @supported weapp, h5, rn, harmony_hybrid
|
|
160
160
|
*/
|
|
161
|
-
value
|
|
161
|
+
value?: string
|
|
162
|
+
/** 设置 React 非受控状态下的初始取值
|
|
163
|
+
* @supported weapp, h5, rn
|
|
164
|
+
*/
|
|
165
|
+
defaultValue?: string
|
|
162
166
|
/**
|
|
163
167
|
* 仅当 mode 为 "time" 或 "date" 时有效,表示有效时间范围的开始,字符串格式为"hh:mm"
|
|
164
168
|
* @supported weapp, h5, rn, harmony_hybrid
|
|
@@ -191,6 +195,10 @@ interface PickerDateProps extends PickerStandardProps {
|
|
|
191
195
|
* @default 0
|
|
192
196
|
*/
|
|
193
197
|
value: string
|
|
198
|
+
/** 设置 React 非受控状态下的初始取值
|
|
199
|
+
* @supported weapp, h5, rn
|
|
200
|
+
*/
|
|
201
|
+
defaultValue?: string
|
|
194
202
|
/**
|
|
195
203
|
* 仅当 mode 为 "time" 或 "date" 时有效,表示有效时间范围的开始,字符串格式为"YYYY-MM-DD"
|
|
196
204
|
* @supported weapp, h5, rn, harmony_hybrid
|
|
@@ -237,6 +245,10 @@ interface PickerRegionProps extends PickerStandardProps {
|
|
|
237
245
|
* @default []
|
|
238
246
|
*/
|
|
239
247
|
value?: string[]
|
|
248
|
+
/** 设置 React 非受控状态下的初始取值
|
|
249
|
+
* @supported weapp, h5, rn
|
|
250
|
+
*/
|
|
251
|
+
defaultValue?: string[]
|
|
240
252
|
/**
|
|
241
253
|
* 可为每一列的顶部添加一个自定义的项
|
|
242
254
|
* @supported weapp, h5, rn, harmony_hybrid
|
package/types/Radio.d.ts
CHANGED
|
@@ -10,10 +10,6 @@ interface RadioProps extends StandardProps {
|
|
|
10
10
|
* @supported weapp, alipay, swan, tt, qq, jd, h5, rn, harmony_hybrid
|
|
11
11
|
*/
|
|
12
12
|
checked?: boolean
|
|
13
|
-
/** 设置在 React 非受控状态下,当前是否选中
|
|
14
|
-
* @supported weapp, alipay, swan, tt, qq, jd, h5, rn
|
|
15
|
-
*/
|
|
16
|
-
defaultChecked?: boolean
|
|
17
13
|
/** 是否禁用
|
|
18
14
|
* @default false
|
|
19
15
|
* @supported weapp, alipay, swan, tt, qq, jd, h5, rn, harmony_hybrid
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var __spreadArray=this&&this.__spreadArray||function(e,t,a){if(a||arguments.length===2)for(var r=0,o=t.length,i;r<o;r++){if(i||!(r in t)){if(!i)i=Array.prototype.slice.call(t,0,r);i[r]=t[r]}}return e.concat(i||Array.prototype.slice.call(t))};System.register(["./p-6bbb639a.system.js","@tarojs/runtime","@tarojs/taro","classnames","resolve-pathname","./p-bd5177d3.system.js"],(function(e){"use strict";var t,a,r,o,i,n,s,l,b,d,h,c,u;return{setters:[function(e){t=e.h;a=e.r;r=e.c;o=e.H;i=e.g},function(e){n=e.stripSuffix;s=e.stripBasename;l=e.addLeadingSlash;b=e.getCurrentPage},function(e){d=e.default},function(e){h=e.default},function(e){c=e.default},function(e){u=e.i}],execute:function(){var f=function(e){var t=e||"";var a;var r={path:null,query:null,fragment:null};a=t.indexOf("#");if(a>-1){r.fragment=t.substring(a+1);t=t.substring(0,a)}a=t.indexOf("?");if(a>-1){r.query=t.substring(a+1);t=t.substring(0,a)}r.path=t;return r};var g=function(e){var a=e.index,r=e.isSelected,o=r===void 0?false:r,i=e.textColor,n=e.iconPath,s=e.badgeText,l=e.showRedDot,b=l===void 0?false:l,c=e.pagePath,f=e.text,g=e.onSelect;var v=h("weui-tabbar__item",{"weui-bar__item_on":o});var _={position:"absolute",top:"-2px",right:"-13px"};var p={position:"absolute",top:"0",right:"-6px"};function m(){var e=d.getCurrentPages().shift();if(typeof(e===null||e===void 0?void 0:e.onTabItemTap)==="function"&&u(this)){e.onTabItemTap({index:a,pagePath:c,text:f})}g(a)}return t("a",{key:a,href:"javascript:;",class:v,onClick:m},t("span",{style:{display:"inline-block",position:"relative"}},t("img",{src:n,alt:"",class:"weui-tabbar__icon"}),!!s&&t("span",{class:"weui-badge taro-tabbar-badge",style:_},s),b&&t("span",{class:"weui-badge weui-badge_dot",style:p})),t("p",{class:"weui-tabbar__label",style:{color:i}},f))};var v='.weui-tabbar{z-index:500;background-color:#f7f7fa;width:100%;display:-ms-flexbox;display:flex;position:absolute;bottom:0}.weui-tabbar:before{content:" ";color:#c0bfc4;-webkit-transform-origin:0 0;transform-origin:0 0;border-top:1px solid #c0bfc4;height:1px;position:absolute;top:0;left:0;right:0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-tabbar__item{padding:5px 0;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom);color:#999;text-align:center;-webkit-tap-highlight-color:transparent;-ms-flex:1;flex:1;font-size:0;display:block}.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon>i,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__label{color:#09bb07}.weui-tabbar__icon{width:27px;height:27px;display:inline-block}.weui-tabbar__icon img{width:100%;height:100%}i.weui-tabbar__icon,.weui-tabbar__icon>i{color:#999;font-size:24px}.weui-tabbar__label{text-align:center;color:#999;font-size:10px;line-height:1.8}.weui-badge{color:#fff;text-align:center;vertical-align:middle;background-color:#f43530;border-radius:18px;min-width:8px;padding:.15em .4em;font-size:12px;line-height:1.2;display:inline-block}.weui-badge_dot{min-width:0;padding:.4em}html,body{height:100%}:root{--taro-tabbar-height:$weuiTabBarHeight}#app{height:100%}.taro-tabbar__border-white:before{border-top-color:#fff!important}.taro-tabbar__container{-ms-flex-direction:column;flex-direction:column;height:100%;display:-ms-flexbox;display:flex;overflow:hidden}.taro-tabbar__panel{-webkit-overflow-scrolling:auto;-ms-flex:1;flex:1;position:relative;overflow:auto}.taro-tabbar__tabbar{height:var(--taro-tabbar-height);width:100%;-webkit-transition:bottom .2s,top .2s;transition:bottom .2s,top .2s;position:relative}.taro-tabbar__tabbar-top{top:0}.taro-tabbar__tabbar-bottom{margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom);bottom:0}.taro-tabbar__tabbar-hide{display:none}.taro-tabbar__tabbar-slideout{-ms-flex:0 0;flex:0 0;top:-52px}.taro-tabbar__panel+.taro-tabbar__tabbar-slideout{top:auto;bottom:-52px}';var _=0;var p=1;var m=2;var T="taro-tabbar__tabbar";var w="taro-tabbar__tabbar-hide";var x="taro-tabbar__tabbar-slideout";var B=e("taro_tabbar",function(){function e(e){var t=this;a(this,e);this.onLongPress=r(this,"longpress",7);this.homePage="";this.customRoutes=[];this.tabbarPos="bottom";this.getOriginUrl=function(e){var a=t.customRoutes.filter((function(t){var a=t[1];var r=f(a).path;var o=f(e).path;return r===o}));return n(a.length?a[0][0]:e,".html")};this.getSelectedIndex=function(e){var a=-1;t.list.forEach((function(t,r){var o=t.pagePath;var i=f(e).path;var n=f(o).path;if(i===n){a=r}}));return a};this.switchTab=function(e){t.selectedIndex=e;d.switchTab({url:t.list[e].pagePath})};this.switchTabHandler=function(e){var a=e.url,r=e.successHandler,o=e.errorHandler;var i=t.getOriginUrl(t.getCurrentUrl()||t.homePage);var n=c(a,i);var s=t.getSelectedIndex(n);if(s>-1){t.switchTab(s);r({errMsg:"switchTab:ok"})}else{o({errMsg:'switchTab:fail page "'.concat(n,'" is not found')})}};this.routerChangeHandler=function(e){var a;var r=(a=e===null||e===void 0?void 0:e.toLocation)===null||a===void 0?void 0:a.path;var o;if(typeof r==="string"){var i=t.conf.basename||"/";o=s(l(r||t.homePage),i)||"/"}else{o=t.getCurrentUrl()}t.selectedIndex=t.getSelectedIndex(t.getOriginUrl(o))};this.setTabBarBadgeHandler=function(e){var a=e.index,r=e.text,o=e.successHandler,i=e.errorHandler;var n=__spreadArray([],t.list,true);if(a in n){n[a].showRedDot=false;n[a].badgeText=r;o({errMsg:"setTabBarBadge:ok"})}else{i({errMsg:"setTabBarBadge:fail tabbar item not found"})}t.list=n};this.removeTabBarBadgeHandler=function(e){var a=e.index,r=e.successHandler,o=e.errorHandler;var i=__spreadArray([],t.list,true);if(a in i){i[a].badgeText=null;i[a].badgeText=null;r({errMsg:"removeTabBarBadge:ok"})}else{o({errMsg:"removeTabBarBadge:fail tabbar item not found"})}t.list=i};this.showTabBarRedDotHandler=function(e){var a=e.index,r=e.successHandler,o=e.errorHandler;var i=__spreadArray([],t.list,true);if(a in i){i[a].badgeText=null;i[a].showRedDot=true;r({errMsg:"showTabBarRedDot:ok"})}else{o({errMsg:"showTabBarRedDot:fail tabbar item not found"})}t.list=i};this.hideTabBarRedDotHandler=function(e){var a=e.index,r=e.successHandler,o=e.errorHandler;var i=__spreadArray([],t.list,true);if(a in i){i[a].showRedDot=false;r({errMsg:"hideTabBarRedDot:ok"})}else{o({errMsg:"hideTabBarRedDot:fail tabbar item not found"})}t.list=i};this.showTabBarHandler=function(e){var a=e.successHandler;t.status=_;a({errMsg:"showTabBar:ok"})};this.hideTabBarHandler=function(e){var a=e.animation,r=e.successHandler;t.status=a?m:p;r({errMsg:"hideTabBar:ok"})};this.setTabBarStyleHandler=function(e){var a=e.color,r=e.selectedColor,o=e.backgroundColor,i=e.borderStyle,n=e.successHandler;if(o)t.backgroundColor=o;if(i)t.borderStyle=i;if(a)t.color=a;if(r)t.selectedColor=r;n({errMsg:"setTabBarStyle:ok"})};this.setTabBarItemHandler=function(e){var a=e.index,r=e.iconPath,o=e.selectedIconPath,i=e.text,n=e.successHandler,s=e.errorHandler;var l=__spreadArray([],t.list,true);if(a in l){if(r)l[a].iconPath=r;if(o)l[a].selectedIconPath=o;if(i)l[a].text=i;n({errMsg:"setTabBarItem:ok"})}else{s({errMsg:"setTabBarItem:fail tabbar item not found"})}t.list=l};this.conf=undefined;this.list=undefined;this.borderStyle=undefined;this.backgroundColor=undefined;this.color=undefined;this.selectedColor=undefined;this.selectedIndex=-1;this.status=_}e.prototype.componentWillLoad=function(){var e,t;var a=((e=this.conf)===null||e===void 0?void 0:e.list)||[];var r=((t=this.conf)===null||t===void 0?void 0:t.customRoutes)||{};if(Object.prototype.toString.call(a)!=="[object Array]"||a.length<2||a.length>5){throw new Error("tabBar 配置错误")}this.homePage=l(this.conf.homePage);var o=function(e){var t;var a=r[e];e=l(e);if(typeof a==="string"){i.customRoutes.push([e,l(a)])}else if((a===null||a===void 0?void 0:a.length)>0){(t=i.customRoutes).push.apply(t,a.map((function(t){return[e,l(t)]})))}};var i=this;for(var n in r){o(n)}a.forEach((function(e){if(e.pagePath.indexOf("/")!==0){e.pagePath="/"+e.pagePath}}));this.list=a;this.borderStyle=this.conf.borderStyle;this.backgroundColor=this.conf.backgroundColor;this.color=this.conf.color;this.selectedColor=this.conf.selectedColor};e.prototype.getCurrentUrl=function(){var e=b(this.conf.mode,this.conf.basename);return decodeURI(e==="/"?this.homePage:e)};e.prototype.bindEvent=function(){d.eventCenter.on("__taroRouterChange",this.routerChangeHandler);d.eventCenter.on("__taroSwitchTab",this.switchTabHandler);d.eventCenter.on("__taroSetTabBarBadge",this.setTabBarBadgeHandler);d.eventCenter.on("__taroRemoveTabBarBadge",this.removeTabBarBadgeHandler);d.eventCenter.on("__taroShowTabBarRedDotHandler",this.showTabBarRedDotHandler);d.eventCenter.on("__taroHideTabBarRedDotHandler",this.hideTabBarRedDotHandler);d.eventCenter.on("__taroShowTabBar",this.showTabBarHandler);d.eventCenter.on("__taroHideTabBar",this.hideTabBarHandler);d.eventCenter.on("__taroSetTabBarStyle",this.setTabBarStyleHandler);d.eventCenter.on("__taroSetTabBarItem",this.setTabBarItemHandler)};e.prototype.removeEvent=function(){d.eventCenter.off("__taroRouterChange",this.routerChangeHandler);d.eventCenter.off("__taroSwitchTab",this.switchTabHandler);d.eventCenter.off("__taroSetTabBarBadge",this.setTabBarBadgeHandler);d.eventCenter.off("__taroRemoveTabBarBadge",this.removeTabBarBadgeHandler);d.eventCenter.off("__taroShowTabBarRedDotHandler",this.showTabBarRedDotHandler);d.eventCenter.off("__taroHideTabBarRedDotHandler",this.hideTabBarRedDotHandler);d.eventCenter.off("__taroShowTabBar",this.showTabBarHandler);d.eventCenter.off("__taroHideTabBar",this.hideTabBarHandler);d.eventCenter.off("__taroSetTabBarStyle",this.setTabBarStyleHandler);d.eventCenter.off("__taroSetTabBarItem",this.setTabBarItemHandler)};e.prototype.componentDidLoad=function(){this.tabbarPos=this.tabbar.nextElementSibling?"top":"bottom";this.bindEvent();this.routerChangeHandler()};e.prototype.disconnectedCallback=function(){this.removeEvent()};e.prototype.render=function(){var e,a;var r=this;var i=this.tabbarPos,n=i===void 0?"bottom":i;var s=this.status;var l=h("weui-tabbar",(e={},e["taro-tabbar__border-".concat(this.borderStyle||"black")]=true,e));var b=this.selectedIndex===-1||s===p;var d=s===m;return t(o,{class:h(T,"".concat(T,"-").concat(n),(a={},a[w]=b,a[x]=d,a))},t("div",{class:l,style:{backgroundColor:this.backgroundColor||"",height:"inherit"}},this.list.map((function(e,a){var o=r.selectedIndex===a;var i;var n;if(o){i=r.selectedColor||"";n=e.selectedIconPath}else{i=r.color||"";n=e.iconPath}return t(g,{index:a,onSelect:r.switchTab.bind(r),isSelected:o,textColor:i,iconPath:n,pagePath:e.pagePath,text:e.text,badgeText:e.badgeText,showRedDot:e.showRedDot})}))))};Object.defineProperty(e.prototype,"tabbar",{get:function(){return i(this)},enumerable:false,configurable:true});return e}());B.style=v}}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./p-6bbb639a.system.js","@tarojs/taro","classnames"],(function(e){"use strict";var t,i,a,r,s,n;return{setters:[function(e){t=e.r;i=e.c;a=e.h;r=e.H},function(e){s=e.default},function(e){n=e.default}],execute:function(){var o=".navigator-hover{background:#efefef}";var c=e("taro_navigator_core",function(){function e(e){t(this,e);this.onSuccess=i(this,"cuccess",7);this.onFail=i(this,"fail",7);this.onComplete=i(this,"complete",7);this.hoverClass=undefined;this.url=undefined;this.openType="navigate";this.isHover=false;this.delta=0}e.prototype.onClick=function(){var e=this,t=e.openType,i=e.onSuccess,a=e.onFail,r=e.onComplete;var n=Promise.resolve();switch(t){case"navigate":n=s.navigateTo({url:this.url});break;case"redirect":n=s.redirectTo({url:this.url});break;case"switchTab":n=s.switchTab({url:this.url});break;case"reLaunch":n=s.reLaunch({url:this.url});break;case"navigateBack":n=s.navigateBack({delta:this.delta});break;case"exit":n=Promise.reject(new Error('navigator:fail 暂不支持"openType: exit"'));break}if(n){n.then((function(e){i.emit(e)})).catch((function(e){a.emit(e)})).finally((function(){r.emit()}))}};e.prototype.render=function(){var e;var t=this,i=t.isHover,s=t.hoverClass;return a(r,{class:n((e={},e[s]=i,e))})};return e}());c.style=o}}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as o,h as r,H as e,g as a}from"./p-98b1fc13.js";import i from"classnames";const n=class{constructor(r){t(this,r),this.onSubmit=o(this,"tarobuttonsubmit",7),this.onReset=o(this,"tarobuttonreset",7),this.disabled=void 0,this.hoverClass="button-hover",this.type="",this.hoverStartTime=20,this.hoverStayTime=70,this.size=void 0,this.plain=void 0,this.loading=!1,this.formType=null,this.hover=!1,this.touch=!1}onClick(t){this.disabled&&t.stopPropagation()}onTouchStart(){this.disabled||(this.touch=!0,this.hoverClass&&!this.disabled&&setTimeout((()=>{this.touch&&(this.hover=!0)}),this.hoverStartTime))}onTouchEnd(){this.disabled||(this.touch=!1,this.hoverClass&&!this.disabled&&setTimeout((()=>{this.touch||(this.hover=!1)}),this.hoverStayTime),"submit"===this.formType?this.onSubmit.emit():"reset"===this.formType&&this.onReset.emit())}render(){const{disabled:t,hoverClass:o,type:a,size:n,plain:l,loading:d,hover:c}=this,b=i({[`${o}`]:c&&!t});return r(e,{class:b,type:a,plain:l,loading:d,size:n,disabled:t},d&&r("i",{class:"weui-loading"}),r("slot",null))}get el(){return a(this)}};n.style=".weui-loading{vertical-align:middle;background:url(\"data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E9E9E9' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23989697' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%239B999A' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23A3A1A2' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23ABA9AA' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23B2B2B2' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23BAB8B9' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23C2C0C1' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23CBCBCB' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23D2D2D2' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23DADADA' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E2E2E2' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E\") 0 0/100% no-repeat;width:20px;height:20px;-webkit-animation:1s steps(12,end) infinite weuiLoading;animation:1s steps(12,end) infinite weuiLoading;display:inline-block}@-webkit-keyframes weuiLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes weuiLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.weui-btn_loading .weui-loading{margin:-.2em .34em 0 0}.weui-btn_loading.weui-btn_primary,.weui-btn_loading.weui-btn_warn{color:rgba(255,255,255,.6)}.weui-btn_loading.weui-btn_primary{background-color:#179b16}.weui-btn_loading.weui-btn_warn{background-color:#ce3c39}taro-button-core{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;color:#000;-webkit-tap-highlight-color:transparent;background-color:#f8f8f8;border-width:0;border-radius:5px;outline:0;width:100%;margin-left:auto;margin-right:auto;padding-left:14px;padding-right:14px;font-size:18px;line-height:2.55556;text-decoration:none;display:block;position:relative;overflow:hidden}taro-button-core:focus{outline:0}taro-button-core:not([disabled]):active{color:rgba(0,0,0,.6);background-color:#dedede}taro-button-core:after{-webkit-box-sizing:border-box;box-sizing:border-box;content:\" \";-webkit-transform-origin:0 0;transform-origin:0 0;border:1px solid rgba(0,0,0,.2);border-radius:10px;width:200%;height:200%;position:absolute;top:0;left:0;-webkit-transform:scale(.5);transform:scale(.5)}taro-button-core+taro-button-core{margin-top:15px}taro-button-core[type=default]{color:#000;background-color:#f8f8f8}taro-button-core[type=default]:not([disabled]):visited{color:#000}taro-button-core[type=default]:not([disabled]):active{color:rgba(0,0,0,.6);background-color:#dedede}taro-button-core[size=mini]{width:auto;padding:0 1.32em;font-size:13px;line-height:2.3;display:inline-block}taro-button-core[plain],taro-button-core[plain][type=default],taro-button-core[plain][type=primary]{background-color:transparent;border-width:1px}taro-button-core[disabled]{color:rgba(255,255,255,.6)}taro-button-core[disabled][type=default]{color:rgba(0,0,0,.3);background-color:#f7f7f7}taro-button-core[disabled][type=primary]{background-color:#9ed99d}taro-button-core[disabled][type=warn]{background-color:#ec8b89}taro-button-core[loading] .weui-loading{margin:-.2em .34em 0 0}taro-button-core[loading][type=primary],taro-button-core[loading][type=warn]{color:rgba(255,255,255,.6)}taro-button-core[loading][type=primary]{background-color:#179b16}taro-button-core[loading][type=warn]{background-color:#ce3c39}taro-button-core[plain][type=primary]{color:#1aad19;border:1px solid #1aad19}taro-button-core[plain][type=primary]:not([disabled]):active{color:rgba(26,173,25,.6);background-color:transparent;border-color:rgba(26,173,25,.6)}taro-button-core[plain][type=primary]:after{border-width:0}taro-button-core[plain][type=warn]{color:#e64340;border:1px solid #e64340}taro-button-core[plain][type=warn]:not([disabled]):active{color:rgba(230,67,64,.6);background-color:transparent;border-color:rgba(230,67,64,.6)}taro-button-core[plain][type=warn]:after{border-width:0}taro-button-core[plain],taro-button-core[plain][type=default]{color:#353535;border:1px solid #353535}taro-button-core[plain]:not([disabled]):active,taro-button-core[plain][type=default]:not([disabled]):active{color:rgba(53,53,53,.6);background-color:transparent;border-color:rgba(53,53,53,.6)}taro-button-core[plain]:after,taro-button-core[plain][type=default]:after{border-width:0}taro-button-core[type=primary]{color:#fff;background-color:#1aad19}taro-button-core[type=primary]:not([disabled]):visited{color:#fff}taro-button-core[type=primary]:not([disabled]):active{color:rgba(255,255,255,.6);background-color:#179b16}taro-button-core[type=warn]{color:#fff;background-color:#e64340}taro-button-core[type=warn]:not([disabled]):visited{color:#fff}taro-button-core[type=warn]:not([disabled]):active{color:rgba(255,255,255,.6);background-color:#ce3c39}taro-button-core[plain][disabled],taro-button-core[plain][disabled][type=primary]{color:rgba(0,0,0,.3);background-color:#f7f7f7;border:1px solid rgba(0,0,0,.2)}";export{n as taro_button_core}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./p-6bbb639a.system.js","classnames","./p-8c3b906c.system.js","@tarojs/taro"],(function(t){"use strict";var e,i,o,n,s,r,a;return{setters:[function(t){e=t.r;i=t.c;o=t.h;n=t.H;s=t.g},function(t){r=t.default},function(t){a=t.h},function(){}],execute:function(){var h="body,html{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}taro-view-core{display:block}";var u=t("taro_view_core",function(){function t(t){e(this,t);this.onLongPress=i(this,"longpress",7);this.startTime=0;this.animation=undefined;this.hoverClass=undefined;this.hoverStartTime=50;this.hoverStayTime=400;this.hover=false;this.touch=false}t.prototype.onTouchStart=function(){var t=this;if(this.hoverClass){this.touch=true;setTimeout((function(){if(t.touch){t.hover=true}}),this.hoverStartTime)}this.timeoutEvent=setTimeout((function(){t.onLongPress.emit()}),350);this.startTime=Date.now()};t.prototype.onTouchMove=function(){clearTimeout(this.timeoutEvent)};t.prototype.onTouchEnd=function(){var t=this;var e=Date.now()-this.startTime;if(e<350){clearTimeout(this.timeoutEvent)}if(this.hoverClass){this.touch=false;setTimeout((function(){if(!t.touch){t.hover=false}}),this.hoverStayTime)}};t.prototype.componentDidRender=function(){a(this.el)};t.prototype.render=function(){var t;var e=r((t={},t["".concat(this.hoverClass)]=this.hover,t));var i={};if(!!this.animation){i["animation"]=this.animation;i["data-animation"]=this.animation}return o(n,Object.assign({class:e},i),o("slot",null))};Object.defineProperty(t.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});return t}());u.style=h}}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as s,H as e,g as r}from"./p-98b1fc13.js";import h from"@tarojs/taro";import a from"classnames";const o="undefined"!=typeof navigator&&/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent),n={activate:"release",deactivate:"pull",release:"loading",finish:"finish"};let l=!1;try{const t=Object.defineProperty({},"passive",{get(){l=!0}});window.addEventListener("cancel",(()=>({})),t)}catch(t){}const c=!!l&&{passive:!1},d=class{constructor(s){t(this,s),this.onRefresh=i(this,"refresh",7),this._ScreenY=0,this._startScreenY=0,this._lastScreenY=0,this._isMounted=!1,this.triggerPullDownRefresh=t=>{!this.dragOnEdge&&this._isMounted&&(t?(this._lastScreenY=this.distanceToRefresh+1,this.currSt="release",this.setContentStyle(this._lastScreenY)):(this.currSt="finish",this.reset()))},this.init=()=>{const t=this.scrollContainer,i=this.el.querySelector(".rmc-pull-to-refresh-content");this.el.appendChild=null==i?void 0:i.appendChild.bind(i),this.el.insertBefore=null==i?void 0:i.insertBefore.bind(i),this.el.replaceChild=null==i?void 0:i.replaceChild.bind(i),this.el.removeChild=null==i?void 0:i.removeChild.bind(i),this._to={touchstart:this.onTouchStart.bind(this,t),touchmove:this.onTouchMove.bind(this,t),touchend:this.onTouchEnd.bind(this,t),touchcancel:this.onTouchEnd.bind(this,t)},Object.keys(this._to).forEach((i=>{t.addEventListener(i,this._to[i],c)}))},this.destroy=()=>{const t=this.scrollContainer;Object.keys(this._to).forEach((i=>{t.removeEventListener(i,this._to[i])}))},this.onTouchStart=(t,i)=>{this._ScreenY=this._startScreenY=i.touches[0].screenY,this._lastScreenY=this._lastScreenY||0},this.isEdge=t=>{const i=this.scrollContainer;return i&&i===document.body?(document.scrollingElement?document.scrollingElement:document.body).scrollTop<=0:t.scrollTop<=0},this.damp=t=>Math.abs(this._lastScreenY)>this.damping?0:t*(.6*(1-Math.abs(this._ScreenY-this._startScreenY)/window.screen.height)),this.onTouchMove=(t,i)=>{const s=i.touches[0].screenY;if(!(this._startScreenY>s)&&this.isEdge(t)){this.dragOnEdge||(this._ScreenY=this._startScreenY=i.touches[0].screenY,this.dragOnEdge=!0),i.cancelable&&i.preventDefault();const t=Math.round(s-this._ScreenY);this._ScreenY=s,this._lastScreenY+=this.damp(t),this.setContentStyle(this._lastScreenY),Math.abs(this._lastScreenY)<this.distanceToRefresh?"deactivate"!==this.currSt&&(this.currSt="deactivate"):"deactivate"===this.currSt&&(this.currSt="activate"),o&&i.changedTouches[0].clientY<0&&this.onTouchEnd()}},this.onTouchEnd=()=>{this.dragOnEdge&&(this.dragOnEdge=!1),"activate"===this.currSt?(this.currSt="release",this.onRefresh.emit(this),this._lastScreenY=this.distanceToRefresh+1,this.setContentStyle(this._lastScreenY)):"release"===this.currSt?(this._lastScreenY=this.distanceToRefresh+1,this.setContentStyle(this._lastScreenY)):this.reset()},this.reset=()=>{this._lastScreenY=0,this.setContentStyle(0)},this.setContentStyle=t=>{var i,s;this.contentRef&&((i=this.contentRef.style).transform=s=t?`translate3d(0px,${t}px,0)`:"",i.webkitTransform=s,i.MozTransform=s)},this.prefixCls="rmc-pull-to-refresh",this.distanceToRefresh=50,this.damping=100,this.indicator=n,this.currSt="deactivate",this.dragOnEdge=!1}get scrollContainer(){return this.el.parentElement||this.el.closest(".taro_page_stationed")||document.querySelector(".taro_page_stationed")||document.querySelector(".taro_page")||document.querySelector(".taro_router")||document.querySelector(".taro-tabbar__panel")||document.body}statusChange(){var t,i,s,e;const r=this.scrollContainer;switch(this.currSt){case"release":null===(i=null===(t=null==r?void 0:r.__page)||void 0===t?void 0:t.onPullDownRefresh)||void 0===i||i.call(t);break;case"deactivate":null===(e=null===(s=null==r?void 0:r.__page)||void 0===s?void 0:s.onPullIntercept)||void 0===e||e.call(s)}}disconnectedCallback(){this.destroy()}componentDidLoad(){this.init(),this._isMounted=!0,h.eventCenter.on("__taroStartPullDownRefresh",(({successHandler:t,errorHandler:i})=>{try{this.triggerPullDownRefresh(!0),t({errMsg:"startPullDownRefresh: ok"})}catch(t){i({errMsg:"startPullDownRefresh: fail"})}})),h.eventCenter.on("__taroStopPullDownRefresh",(({successHandler:t,errorHandler:i})=>{setTimeout((()=>{try{this.triggerPullDownRefresh(!1),t({errMsg:"stopPullDownRefresh: ok"})}catch(t){i({errMsg:"stopPullDownRefresh: fail"})}}),0)}))}render(){const t=t=>{const{currSt:i,dragOnEdge:e,prefixCls:r}=this,h=a(t,!e&&`${r}-transition`);return s("div",{class:`${r}-content-wrapper`},s("div",{class:h,ref:t=>{this.contentRef=t}},("activate"===i||"release"===i)&&s("div",{class:`${r}-indicator`},s("div",null),s("div",null),s("div",null)),s("slot",null)))};return this.scrollContainer?t(`${this.prefixCls}-content ${this.prefixCls}-down`):s(e,{class:a(this.prefixCls,`${this.prefixCls}-down`)},t(`${this.prefixCls}-content`))}get el(){return r(this)}static get watchers(){return{currSt:["statusChange"]}}};d.style=".rmc-pull-to-refresh-content{-webkit-transform-origin:0 0;transform-origin:0 0}.rmc-pull-to-refresh-content-wrapper{min-height:100%}.rmc-pull-to-refresh-transition{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s}@-webkit-keyframes rmc-pull-to-refresh-indicator{50%{opacity:.2}to{opacity:1}}@keyframes rmc-pull-to-refresh-indicator{50%{opacity:.2}to{opacity:1}}.rmc-pull-to-refresh-indicator{text-align:center;height:30px;line-height:10px}.rmc-pull-to-refresh-indicator>div{background-color:gray;border-radius:100%;width:6px;height:6px;margin:3px;-webkit-animation:.5s linear infinite both rmc-pull-to-refresh-indicator;animation:.5s linear infinite both rmc-pull-to-refresh-indicator;display:inline-block}.rmc-pull-to-refresh-indicator>div:nth-child(0){-webkit-animation-delay:-.1s!important;animation-delay:-.1s!important}.rmc-pull-to-refresh-indicator>div:first-child{-webkit-animation-delay:-.2s!important;animation-delay:-.2s!important}.rmc-pull-to-refresh-indicator>div:nth-child(2){-webkit-animation-delay:-.3s!important;animation-delay:-.3s!important}.rmc-pull-to-refresh-down .rmc-pull-to-refresh-indicator{margin-top:-25px}";export{d as taro_pull_to_refresh_core}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./p-6bbb639a.system.js","classnames"],(function(e){"use strict";var o,c,i,n;return{setters:[function(e){o=e.r;c=e.h;i=e.H},function(e){n=e.default}],execute:function(){var t='.weui-icon-circle:before{content:""}.weui-icon-download:before{content:""}.weui-icon-info:before{content:""}.weui-icon-safe-success:before{content:""}.weui-icon-safe-warn:before{content:""}.weui-icon-success:before{content:""}.weui-icon-success-circle:before{content:""}.weui-icon-success-no-circle:before{content:""}.weui-icon-waiting:before{content:""}.weui-icon-waiting-circle:before{content:""}.weui-icon-warn:before{content:""}.weui-icon-info-circle:before{content:""}.weui-icon-cancel:before{content:""}.weui-icon-search:before{content:""}.weui-icon-clear:before{content:""}.weui-icon-back:before{content:""}.weui-icon-delete:before{content:""}.weui-icon-success{color:#09bb07;font-size:23px}.weui-icon-waiting{color:#10aeff;font-size:23px}.weui-icon-warn{color:#f43530;font-size:23px}.weui-icon-info{color:#10aeff;font-size:23px}.weui-icon-success-circle,.weui-icon-success-no-circle{color:#09bb07;font-size:23px}.weui-icon-waiting-circle{color:#10aeff;font-size:23px}.weui-icon-circle{color:#c9c9c9;font-size:23px}.weui-icon-download,.weui-icon-info-circle{color:#09bb07;font-size:23px}.weui-icon-safe-success{color:#09bb07}.weui-icon-safe-warn{color:#ffbe00}.weui-icon-cancel{color:#f43530;font-size:22px}.weui-icon-search,.weui-icon-clear{color:#b2b2b2;font-size:14px}.weui-icon-delete.weui-icon_gallery-delete{color:#fff;font-size:22px}.weui-icon_msg{font-size:93px}.weui-icon_msg.weui-icon-warn{color:#f76260}.weui-icon_msg-primary{font-size:93px}.weui-icon_msg-primary.weui-icon-warn{color:#ffbe00}';var r=e("taro_icon_core",function(){function e(e){o(this,e);this.type=undefined;this.size="23";this.color=undefined}e.prototype.render=function(){var e;var o=this,t=o.type,r=o.size,s=o.color;var u=t===null||t===void 0?void 0:t.replace(/_/g,"-");var f=n((e={},e["weui-icon-".concat(u)]=true,e));var w={"font-size":"".concat(r,"px"),color:s};return c(i,{class:f,style:w})};return e}());r.style=t}}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as s,g as i}from"./p-98b1fc13.js";function h(t){return null!=t?t:""}const a=class{constructor(s){t(this,s),this.onInput=e(this,"input",7),this.onFocus=e(this,"focus",7),this.onBlur=e(this,"blur",7),this.onConfirm=e(this,"confirm",7),this.onChange=e(this,"change",7),this.onLineChange=e(this,"linechange",7),this.onKeyDown=e(this,"keydown",7),this.handleInput=t=>{t.stopPropagation(),this.handleLineChange();const e=t.target.value||"";this.onInput.emit({value:e,cursor:e.length})},this.handleFocus=t=>{t.stopPropagation(),this.onFocus.emit({value:t.target.value})},this.handleBlur=t=>{t.stopPropagation(),this.onBlur.emit({value:t.target.value})},this.handleChange=t=>{t.stopPropagation(),this.onChange.emit({value:t.target.value})},this.handleLineChange=()=>{const t=this.getNumberOfLines();t!==this.line&&(this.line=t,this.onLineChange.emit({height:this.textareaRef.clientHeight,lineCount:this.line}))},this.handleKeyDown=t=>{t.stopPropagation();const{value:e}=t.target,s=t.keyCode||t.code;this.onKeyDown.emit({value:e,cursor:e.length,keyCode:s}),13===s&&this.onConfirm.emit({value:e})},this.calculateContentHeight=(t,e)=>{let s=t.style.height,i=t.offsetHeight,h=t.scrollHeight,a=t.style.overflow,o=t.style.minHeight||null;if(!(i>=h))return h;if(t.style.minHeight=0,t.style.height=i+e+"px",t.style.overflow="hidden",h<t.scrollHeight){for(;t.offsetHeight>=t.scrollHeight;)t.style.height=(i-=e)+"px";for(;t.offsetHeight<t.scrollHeight;)t.style.height=i+++"px";return t.style.height=s,t.style.overflow=a,t.style.minHeight=o,i}},this.getNumberOfLines=()=>{const t=this.textareaRef,e=window.getComputedStyle?window.getComputedStyle(t):t.style,s=parseInt(e.lineHeight,10),i=this.calculateContentHeight(t,s);return Math.floor(i/s)},this.value="",this.placeholder=void 0,this.disabled=!1,this.maxlength=140,this.autoFocus=!1,this.autoHeight=!1,this.name=void 0,this.nativeProps={},this.line=1}watchAutoFocus(t,e){var s;!e&&t&&(null===(s=this.textareaRef)||void 0===s||s.focus())}async focus(){this.textareaRef.focus()}render(){const{value:t,placeholder:e,disabled:i,maxlength:a,autoFocus:o,autoHeight:n,name:r,nativeProps:u,handleInput:c,handleFocus:l,handleBlur:d,handleChange:p}=this,g={};return n&&(g.rows=this.line),s("textarea",Object.assign({ref:t=>{t&&(this.textareaRef=t,o&&t&&t.focus())},class:"taro-textarea "+(n?"auto-height":""),value:h(t),placeholder:e,name:r,disabled:i,maxlength:a,autofocus:o,onInput:c,onFocus:l,onBlur:d,onChange:p,onKeyDown:this.handleKeyDown},u,g))}get el(){return i(this)}static get watchers(){return{autoFocus:["watchAutoFocus"]}}};a.style="taro-textarea-core{width:300px;display:block}taro-textarea-core .auto-height{height:auto}.taro-textarea{height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:auto;border:0;width:100%;line-height:1.5;display:block;position:relative}.taro-textarea:focus{outline:none}";export{a as taro_textarea_core}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
System.register(["./p-6bbb639a.system.js","classnames"],(function(t){"use strict";var i,e,o,s,n;return{setters:[function(t){i=t.r;e=t.c;o=t.h;s=t.H},function(t){n=t.default}],execute:function(){var r="taro-cover-view-core{display:block}";var a=t("taro_cover_view_core",function(){function t(t){i(this,t);this.onLongPress=e(this,"longpress",7);this.startTime=0;this.animation=undefined;this.hoverClass=undefined;this.hoverStartTime=50;this.hoverStayTime=400;this.hover=false;this.touch=false}t.prototype.onTouchStart=function(){var t=this;if(this.hoverClass){this.touch=true;setTimeout((function(){if(t.touch){t.hover=true}}),this.hoverStartTime)}this.timeoutEvent=setTimeout((function(){t.onLongPress.emit()}),350);this.startTime=Date.now()};t.prototype.onTouchMove=function(){clearTimeout(this.timeoutEvent)};t.prototype.onTouchEnd=function(){var t=this;var i=Date.now()-this.startTime;if(i<350){clearTimeout(this.timeoutEvent)}if(this.hoverClass){this.touch=false;setTimeout((function(){if(!t.touch){t.hover=false}}),this.hoverStayTime)}};t.prototype.render=function(){var t;var i=n((t={},t["".concat(this.hoverClass)]=this.hover,t));var e={};if(!!this.animation){e["animation"]=this.animation;e["data-animation"]=this.animation}return o(s,Object.assign({class:i},e),o("slot",null))};return t}());a.style=r}}}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,h as i,H as e,g as o,c as s}from"./p-98b1fc13.js";import a from"classnames";import{t as r}from"./p-d3c7f87d.js";const n=t=>{if(!t)return"";const i=Math.round(t%60),e=Math.round((t-i)/60);return`${e<10?`0${e}`:e}:${i<10?`0${i}`:i}`},h=t=>Math.max(-1,Math.min(t,1));let l="default";const d=function(){let t;const i=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]];var e=["webkitEnterFullscreen","webkitExitFullscreen","webkitCurrentFullScreenElement","webkitSupportsFullscreen","fullscreenchange","fullscreenerror"];let o=0;const s=i.length,a={};for(;o<s;o++)if(t=i[o],t&&t[1]in document){for(o=0;o<t.length;o++)a[i[0][o]]=t[o];return a}if(!a[i[0][0]])for(l="iOS",o=0;o<e.length;o++)a[i[0][o]]=e[o];return a}(),A=class{constructor(i){t(this,i),this.visible=!1,this.isDraggingProgressBall=!1,this.percentage=0,this.progressDimensions={left:0,width:0},this.calcPercentage=t=>{let i=t-this.progressDimensions.left;return i=Math.max(i,0),i=Math.min(i,this.progressDimensions.width),i/this.progressDimensions.width},this.onDragProgressBallStart=()=>{this.isDraggingProgressBall=!0,this.hideControlsTimer&&clearTimeout(this.hideControlsTimer)},this.onClickProgress=t=>{t.stopPropagation();const i=this.calcPercentage(t.pageX);this.seekFunc(i*this.duration),this.toggleVisibility(!0)},this.controls=void 0,this.currentTime=void 0,this.duration=void 0,this.isPlaying=void 0,this.pauseFunc=void 0,this.playFunc=void 0,this.seekFunc=void 0,this.showPlayBtn=void 0,this.showProgress=void 0}onDocumentTouchMove(t){this.isDraggingProgressBall&&(this.percentage=this.calcPercentage(t.touches[0].pageX),this.setProgressBall(this.percentage),this.setCurrentTime(this.percentage*this.duration))}onDocumentTouchEnd(){this.isDraggingProgressBall&&(this.isDraggingProgressBall=!1,this.seekFunc(this.percentage*this.duration),this.toggleVisibility(!0))}async setProgressBall(t){this.progressBallRef&&(this.progressBallRef.style.left=100*t+"%")}async toggleVisibility(t){const i=void 0===t?!this.visible:t;i?(this.hideControlsTimer&&clearTimeout(this.hideControlsTimer),this.isPlaying&&(this.hideControlsTimer=setTimeout((()=>{this.toggleVisibility(!1)}),2e3)),this.el.style.visibility="visible"):this.el.style.visibility="hidden",this.visible=!!i}async getIsDraggingProgressBall(){return this.isDraggingProgressBall}async setCurrentTime(t){this.currentTimeRef.innerHTML=n(t)}render(){const{controls:t,currentTime:o,duration:s,isPlaying:a,pauseFunc:r,playFunc:h,showPlayBtn:l,showProgress:d}=this,A=n(s);let c;return c=l?i("div",a?{class:"taro-video-control-button taro-video-control-button-pause",onClick:r}:{class:"taro-video-control-button taro-video-control-button-play",onClick:h}):null,i(e,{class:"taro-video-bar taro-video-bar-full"},t&&i("div",{class:"taro-video-controls"},c,d&&i("div",{class:"taro-video-current-time",ref:t=>this.currentTimeRef=t},n(o)),d&&i("div",{class:"taro-video-progress-container",onClick:this.onClickProgress},i("div",{class:"taro-video-progress",ref:t=>{if(!t)return;const i=t.getBoundingClientRect();this.progressDimensions.left=i.left,this.progressDimensions.width=i.width}},i("div",{class:"taro-video-progress-buffered",style:{width:"100%"}}),i("div",{class:"taro-video-ball",ref:t=>this.progressBallRef=t,onTouchStart:this.onDragProgressBallStart,style:{left:(A?this.currentTime/s*100:0)+"%"}},i("div",{class:"taro-video-inner"})))),d&&i("div",{class:"taro-video-duration"},A)),i("slot",null))}get el(){return o(this)}},c=class{constructor(i){t(this,i),this.onPlay=s(this,"play",7),this.onPause=s(this,"pause",7),this.onEnded=s(this,"ended",7),this.onTimeUpdate=s(this,"timeupdate",7),this.onError=s(this,"error",7),this.onFullScreenChange=s(this,"fullscreenchange",7),this.onProgress=s(this,"progress",7),this.onLoadedMetaData=s(this,"loadedmetadata",7),this.currentTime=0,this.isDraggingProgress=!1,this.gestureType="none",this.analyzeGesture=t=>{var i;const e={type:"none"},o=t.touches[0].screenX-this.lastTouchScreenX,s=t.touches[0].screenY-this.lastTouchScreenY,a=this.isFullScreen?this.vslideGestureInFullscreen:this.vslideGesture;if("none"===this.gestureType){if(r=s,Math.sqrt(Math.pow(o,2)+Math.pow(r,2))<10)return e;if(Math.abs(s)>=Math.abs(o)){if(!a)return e;this.gestureType="adjustVolume",this.lastVolume=this.videoRef.volume}else if(Math.abs(s)<Math.abs(o)){if(!this.enableProgressGesture)return e;this.gestureType="adjustProgress",this.lastPercentage=this.currentTime/(null!==(i=this.duration)&&void 0!==i?i:this._duration)}}var r;return e.type=this.gestureType,e.dataX=h(o/200),e.dataY=h(s/200),e},this.loadNativePlayer=()=>{var t,i;this.videoRef&&(this.videoRef.src=this.src,null===(i=(t=this.videoRef).load)||void 0===i||i.call(t))},this.init=()=>{const{src:t,videoRef:i}=this;/\.(m3u8)($|\?)/i.test(t)?import("hls.js").then((e=>{const o=e.default;this.HLS=o,o.isSupported()?(this.hls&&this.hls.destroy(),this.hls=new o,this.hls.loadSource(t),this.hls.attachMedia(i),this.hls.on(o.Events.MANIFEST_PARSED,(()=>{this.autoplay&&this.play()})),this.hls.on(o.Events.ERROR,((t,i)=>{this.handleError(i)}))):i.canPlayType("application/vnd.apple.mpegurl")?this.loadNativePlayer():console.error("该浏览器不支持 HLS 播放")})):this.loadNativePlayer()},this.handlePlay=()=>{this.isPlaying=!0,this.isFirst=!1,this.controlsRef.toggleVisibility(!0),this.onPlay.emit()},this.handlePause=()=>{this.isPlaying=!1,this.controlsRef.toggleVisibility(!0),this.onPause.emit()},this.handleEnded=()=>{this.isFirst=!0,this.pause(),this.controlsRef.toggleVisibility(),this.onEnded.emit()},this.handleTimeUpdate=r((async t=>{var i,e;this.currentTime=this.videoRef.currentTime;const o=this.duration||this._duration,s=await this.controlsRef.getIsDraggingProgressBall();this.controls&&this.showProgress&&(s||this.isDraggingProgress||(this.controlsRef.setProgressBall(this.currentTime/o),this.controlsRef.setCurrentTime(this.currentTime))),this.danmuRef.tick(this.currentTime),this.onTimeUpdate.emit({duration:null===(i=t.target)||void 0===i?void 0:i.duration,currentTime:null===(e=t.target)||void 0===e?void 0:e.currentTime}),this.duration&&this.currentTime>=this.duration&&(this.seek(0),this.handleEnded())}),250),this.handleError=t=>{var i,e;if(this.hls)switch(t.type){case this.HLS.ErrorTypes.NETWORK_ERROR:this.onError.emit({errMsg:t.response}),this.hls.startLoad();break;case this.HLS.ErrorTypes.MEDIA_ERROR:this.onError.emit({errMsg:t.reason||"媒体错误,请重试"}),this.hls.recoverMediaError()}else this.onError.emit({errMsg:null===(e=null===(i=t.target)||void 0===i?void 0:i.error)||void 0===e?void 0:e.message})},this.handleDurationChange=()=>{this._duration=this.videoRef.duration},this.handleProgress=()=>{this.onProgress.emit()},this.handleLoadedMetaData=t=>{const i=t.target;this.onLoadedMetaData.emit({width:i.videoWidth,height:i.videoHeight,duration:i.duration})},this._play=()=>this.videoRef.play(),this._pause=()=>this.videoRef.pause(),this._stop=()=>{this.videoRef.pause(),this._seek(0)},this._seek=t=>{this.videoRef.currentTime=t},this.onTouchStartContainer=t=>{this.lastTouchScreenX=t.touches[0].screenX,this.lastTouchScreenY=t.touches[0].screenY},this.onClickContainer=()=>{if(this.enablePlayGesture){const t=Date.now();t-this.lastClickedTime<300&&(this.isPlaying?this.pause():this.play()),this.lastClickedTime=t}this.controlsRef.toggleVisibility()},this.onClickFullScreenBtn=t=>{t.stopPropagation(),this.toggleFullScreen()},this.handleFullScreenChange=t=>{const i=(new Date).getTime();!t.detail&&this.isFullScreen&&!document[d.fullscreenElement]&&i-this.fullScreenTimestamp>100&&this.toggleFullScreen(!1,!0)},this.toggleFullScreen=(t=!this.isFullScreen,i=!1)=>{this.isFullScreen=t,this.controlsRef.toggleVisibility(!0),this.fullScreenTimestamp=(new Date).getTime(),this.onFullScreenChange.emit({fullScreen:this.isFullScreen,direction:"vertical"}),this.isFullScreen&&!document[d.fullscreenElement]?setTimeout((()=>{this.videoRef[d.requestFullscreen]({navigationUI:"auto"})}),0):i||document[d.exitFullscreen]()},this.toggleMute=t=>{t.stopPropagation(),this.videoRef.muted=!this.isMute,this.controlsRef.toggleVisibility(!0),this.isMute=!this.isMute},this.toggleDanmu=t=>{t.stopPropagation(),this.controlsRef.toggleVisibility(!0),this._enableDanmu=!this._enableDanmu},this.src=void 0,this.duration=void 0,this.controls=!0,this.autoplay=!1,this.loop=!1,this.muted=!1,this.initialTime=0,this.poster=void 0,this.objectFit="contain",this.showProgress=!0,this.showFullscreenBtn=!0,this.showPlayBtn=!0,this.showCenterPlayBtn=!0,this.showMuteBtn=!1,this.danmuList=void 0,this.danmuBtn=!1,this.enableDanmu=!1,this.enablePlayGesture=!1,this.enableProgressGesture=!0,this.vslideGesture=!1,this.vslideGestureInFullscreen=!0,this.nativeProps={},this._duration=void 0,this._enableDanmu=!1,this.isPlaying=!1,this.isFirst=!0,this.isFullScreen=!1,this.fullScreenTimestamp=(new Date).getTime(),this.isMute=!1}componentWillLoad(){this._enableDanmu=this.enableDanmu}componentDidLoad(){var t,i;this.init(),this.initialTime&&(this.videoRef.currentTime=this.initialTime),null===(i=(t=this.danmuRef).sendDanmu)||void 0===i||i.call(t,this.danmuList),document.addEventListener&&document.addEventListener(d.fullscreenchange,this.handleFullScreenChange),this.videoRef&&"iOS"===l&&this.videoRef.addEventListener("webkitendfullscreen",this.handleFullScreenChange)}componentDidRender(){}disconnectedCallback(){document.removeEventListener&&document.removeEventListener(d.fullscreenchange,this.handleFullScreenChange),this.videoRef&&"iOS"===l&&this.videoRef.removeEventListener("webkitendfullscreen",this.handleFullScreenChange)}watchEnableDanmu(t){this._enableDanmu=t}watchSrc(){this.init()}async onDocumentTouchMove(t){if(void 0===this.lastTouchScreenX||void 0===this.lastTouchScreenY)return;if(await this.controlsRef.getIsDraggingProgressBall())return;const i=this.analyzeGesture(t);if("adjustVolume"===i.type){this.toastVolumeRef.style.visibility="visible";const t=Math.max(Math.min(this.lastVolume-i.dataY,1),0);this.videoRef.volume=t,this.toastVolumeBarRef.style.width=100*t+"%"}else if("adjustProgress"===i.type){this.isDraggingProgress=!0,this.nextPercentage=Math.max(Math.min(this.lastPercentage+(i.dataX||0),1),0),this.controls&&this.showProgress&&(this.controlsRef.setProgressBall(this.nextPercentage),this.controlsRef.toggleVisibility(!0));const t=this.duration||this._duration;this.toastProgressTitleRef.innerHTML=`${n(this.nextPercentage*t)} / ${n(t)}`,this.toastProgressRef.style.visibility="visible"}}onDocumentTouchEnd(){var t;"adjustVolume"===this.gestureType?this.toastVolumeRef.style.visibility="hidden":"adjustProgress"===this.gestureType&&(this.toastProgressRef.style.visibility="hidden"),this.isDraggingProgress&&(this.isDraggingProgress=!1,this.seek(this.nextPercentage*(null!==(t=this.duration)&&void 0!==t?t:this._duration))),this.gestureType="none",this.lastTouchScreenX=void 0,this.lastTouchScreenY=void 0}async getHlsObject(){return this.hls}async play(){this._play()}async pause(){this._pause()}async stop(){this._stop()}async seek(t){this._seek(t)}async requestFullScreen(){this.toggleFullScreen(!0)}async exitFullScreen(){this.toggleFullScreen(!1)}render(){const{controls:t,autoplay:o,loop:s,muted:r,poster:h,objectFit:l,isFirst:d,isMute:A,isFullScreen:c,showCenterPlayBtn:u,isPlaying:g,_enableDanmu:b,showMuteBtn:v,danmuBtn:p,showFullscreenBtn:m,nativeProps:w}=this,E=this.duration||this._duration,I=n(E);return i(e,{class:a("taro-video-container",{"taro-video-type-fullscreen":c}),onTouchStart:this.onTouchStartContainer,onClick:this.onClickContainer},i("video",Object.assign({class:"taro-video-video",style:{"object-fit":l},ref:t=>{t&&(this.videoRef=t)},autoplay:o,loop:s,muted:r,poster:t?h:void 0,playsinline:!0,"webkit-playsinline":!0,onPlay:this.handlePlay,onPause:this.handlePause,onEnded:this.handleEnded,onTimeUpdate:this.handleTimeUpdate,onError:this.handleError,onDurationChange:this.handleDurationChange,onProgress:this.handleProgress,onLoadedMetaData:this.handleLoadedMetaData},w),"暂时不支持播放该视频"),i("taro-video-danmu",{ref:t=>{t&&(this.danmuRef=t)},enable:b}),d&&u&&!g&&i("div",{class:"taro-video-cover"},i("div",{class:"taro-video-cover-play-button",onClick:()=>this.play()}),i("p",{class:"taro-video-cover-duration"},I)),i("taro-video-control",{ref:t=>{t&&(this.controlsRef=t)},controls:t,currentTime:this.currentTime,duration:E,isPlaying:this.isPlaying,pauseFunc:this._pause,playFunc:this._play,seekFunc:this._seek,showPlayBtn:this.showPlayBtn,showProgress:this.showProgress},v&&i("div",{class:a("taro-video-mute",{"taro-video-type-mute":A}),onClick:this.toggleMute}),p&&i("div",{class:a("taro-video-danmu-button",{"taro-video-danmu-button-active":b}),onClick:this.toggleDanmu},"弹幕"),m&&i("div",{class:a("taro-video-fullscreen",{"taro-video-type-fullscreen":c}),onClick:this.onClickFullScreenBtn})),i("div",{class:"taro-video-toast taro-video-toast-volume",ref:t=>{t&&(this.toastVolumeRef=t)}},i("div",{class:"taro-video-toast-title"},"音量"),i("div",{class:"taro-video-toast-icon"}),i("div",{class:"taro-video-toast-value"},i("div",{class:"taro-video-toast-value-content",ref:t=>{t&&(this.toastVolumeBarRef=t)}},i("div",{class:"taro-video-toast-volume-grids"},Array(10).fill(1).map((()=>i("div",{class:"taro-video-toast-volume-grids-item"}))))))),i("div",{class:"taro-video-toast taro-video-toast-progress",ref:t=>{t&&(this.toastProgressRef=t)}},i("div",{class:"taro-video-toast-title",ref:t=>{t&&(this.toastProgressTitleRef=t)}})))}get el(){return o(this)}static get watchers(){return{enableDanmu:["watchEnableDanmu"],src:["watchSrc"]}}};c.style='.taro-video{width:100%;height:225px;line-height:0;display:inline-block;position:relative;overflow:hidden}.taro-video[hidden]{display:none}.taro-video-container{-o-object-position:inherit;object-position:inherit;background-color:#000;width:100%;height:100%;display:inline-block;position:absolute;top:0;left:0}.taro-video-container.taro-video-type-fullscreen{z-index:999;position:fixed;inset:0}.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-left{-webkit-transform:translate(-50%,-50%)rotate(-90deg);transform:translate(-50%,-50%)rotate(-90deg)}.taro-video-container.taro-video-type-fullscreen.taro-video-type-rotate-right{-webkit-transform:translate(-50%,-50%)rotate(90deg);transform:translate(-50%,-50%)rotate(90deg)}.taro-video-video{-o-object-position:inherit;object-position:inherit;width:100%;height:100%;display:block}.taro-video-cover{z-index:1;background-color:rgba(1,1,1,.5);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:100%;display:-ms-flexbox;display:flex;position:absolute;top:0;bottom:0;left:0}.taro-video-cover-play-button{background-position:50%;background-repeat:no-repeat;background-size:50%;width:40px;height:40px}.taro-video-cover-duration{color:#fff;margin-top:10px;font-size:16px;line-height:1}.taro-video-bar{visibility:hidden;z-index:1;background-color:rgba(0,0,0,.5);-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:44px;padding:0 10px;display:-ms-flexbox;display:flex;position:absolute;bottom:0;right:0;overflow:hidden}.taro-video-bar.taro-video-bar-full{left:0}.taro-video-controls{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin:0 8.5px;display:-ms-flexbox;display:flex}.taro-video-control-button{-webkit-box-sizing:content-box;box-sizing:content-box;width:13px;height:15px;margin-left:-8.5px;padding:14.5px 12.5px}.taro-video-control-button:after{content:"";background-position:50%;background-repeat:no-repeat;background-size:100%;width:100%;height:100%;display:block}.taro-video-control-button.taro-video-control-button-play:after,.taro-video-cover-play-button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAAAXNSR0IArs4c6QAAAWhJREFUSA1j+P///0cgBoHjQGzCQCsAtgJB/AMy5wCxGNXtQ9iBwvoA5BUCMQvVLEQxHpNzDSjkRhXLMM3GKrIeKKpEkYVYjcUu+AMo3ALE3GRZiN1MvKKPgbIRJFuG10j8koeA0gZEW4jfLIKyf4EqpgOxMEELCRpFnIJ3QGU5QMyM00LizCFa1SWgSkeslhFtBGkKVwGVy6FYSJp+klR/A6quB2JOkIWMIK0oNlOf8xBoZDE9LAI7nYn6HsBq4l96WHQEaLUpAyiOaASeAM2NgvuPBpaACt82IEYtfKls0UagecpwXyAzqGTRdaA57sjmYrAptAjUsCkGYlYMg9EFyLQI1IiZB8Ti6Obh5JNh0QmgHlOcBuKSIMGi50C18UDMiMssvOJEWPQLqKYbiHnxGkRIkoBF24DyaoTMIEoeh0W3geI+RBlArCI0iz4D+RVAzEasfqLVAQ19AcSg5LoYiKWI1kiiQgCMBLnEEcfDSgAAAABJRU5ErkJggg==)}.taro-video-control-button.taro-video-control-button-pause:after{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAAAXNSR0IArs4c6QAAAFlJREFUSA3tksEKACAIQ7X//5zq98wOgQayum8QaGweHhMzG/6OujzKAymn+0LMqivu1XznWmX8/echTIyMyAgTwA72iIwwAexgj8gIE8CO3aMRbDPMaEy5BRGaKcZv8YxRAAAAAElFTkSuQmCC)}.taro-video-current-time,.taro-video-duration{color:#cbcbcb;height:14.5px;margin-top:15px;margin-bottom:14.5px;font-size:12px;line-height:14.5px}.taro-video-progress-container{-webkit-box-flex:2;-ms-flex-positive:2;flex-grow:2;position:relative}.taro-video-progress{background-color:rgba(255,255,255,.4);height:2px;margin:21px 12px;position:relative}.taro-video-progress-buffered{background-color:rgba(255,255,255,.8);width:0;height:100%;-webkit-transition:width .1s;transition:width .1s;position:absolute;top:0;left:0}.taro-video-ball{-webkit-box-sizing:content-box;box-sizing:content-box;width:16px;height:16px;margin-left:-22px;padding:14px;position:absolute;top:-21px;left:0}.taro-video-inner{background-color:#fff;border-radius:50%;width:100%;height:100%}.taro-video-danmu-button{color:#fff;white-space:nowrap;border:1px solid #fff;border-radius:5px;margin:0 8.5px;padding:2px 10px;font-size:13px;line-height:1}.taro-video-danmu-button.taro-video-danmu-button-active{color:#48c23d;border-color:#48c23d}.taro-video-fullscreen,.taro-video-mute{-webkit-box-sizing:content-box;box-sizing:content-box;background-position:50%;background-repeat:no-repeat;background-size:50%;width:17px;height:17px;padding:8.5px}.taro-video-fullscreen{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAhUlEQVRYR+2WSwrAMAhEnZO3PfmULLooGEFTiIXJ2s/kRY2wzQeb85sE9CRA8jSzY1YfAFzhJBnU1AVgxH2dSiArCnD9QgGzRNnOech48SRABHoSyFb5in3PSbhyo6yvCPQkEM3u7BsPe/0FIvBfAh/vhKmVbO9SWun1qk/PSVi9TcVPBG6R1YIhgWwNpQAAAABJRU5ErkJggg==)}.taro-video-fullscreen.taro-video-type-fullscreen{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABPUlEQVRYR+2Xu0pDURBF1/ZLxNcHKNiIlfhA7C0UBSEE8RNEBNFPUEQEEbGxFiSSSrCwEHsf5E/ccsSUuWfUhKQ40947+y42Z8+ZK/pcinzf9hhwD1xJ2q/qsb0JHAOzkl5y+lGAGnCWICQtZgAS6DxQk3TeLYA6cAo0JSXxjmW7CcwBdUkJurKiDhSA4kBvHbA9CqwBQx2O7BSw8ssU3ALPFRF4knT3nQLbr8B4LjLBOdAAFgJaLUkjbYC9n+zm+i4kXWbmwCqwnRMCHiXthuZAQOzPrxSA4kBxYDAcsH0EzATCfCLpJjOINoCtgFZabg7bk7AFDAeaGpKWgitZTu5N0kQbYBmYrujo9mX0CVxL+gidAdu9vY5zXhWA4sAgOND3X7NJ4AHYCaxkB8B62gslvecSFpoDOZH/PP8Cnt7hIaM5xCEAAAAASUVORK5CYII=)}.taro-video-mute{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTg6MjArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk3YmE4Yjg0LTFhNTYtNGM1MS04NDVkLTNiZmYyMGI0ZDc0ZiIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjg1NGQ3MjlkLWUwNjctZjU0OC1hMTlhLTBlZjQ4OGRkYjJiOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjA1ODY3ZDFlLWQ3NGEtNDgyNC04MDU3LTYzYmRmMTdjODk5ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDU4NjdkMWUtZDc0YS00ODI0LTgwNTctNjNiZGYxN2M4OTllIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE4OjIwKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OTdiYThiODQtMWE1Ni00YzUxLTg0NWQtM2JmZjIwYjRkNzRmIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjIyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz459+FoAAABqElEQVRYhc2XPWsVQRSGnxPjF4oGRfxoRQKGWCU2Ft7CykrQWosEyf/If0hhIPgHDEmbNJZqCFxiQEgTUGxsBUVEHgvnyrjZZJO92V1fGIaZnTPvszPszNlQ6VIjnbr/DwCoDLMNak/dUVfUK0f2rQugnlcX/FevWgFQH6gf3autRgHUC+piiXHzAOmtPx9gXgug8itQx9SXwDpw47AGKXZWvXvQmNFCwE3gCXA2dY0Az4GrRzHONA9cU/vAbERsllEOyh31e8USV2mrMPdG9uyn+rDom2/BHHCm5puWKiKmgdtAnz+rvaxO5mNygEvHaZ5BfADuARvAaWBpP4DGFBHfgBngFzClTrUKkCDeA+9S837rAEnbqb7VFcCpVJ/oCmCw959aB1AfAROpudYqgDoOLKRmPyLelAF8bcD4pPoMeAtcB34AT4uDBqXXwFG8XXUU/72MIuK1OgE8Bs6l7mEvo8up7lN1Ge0n9aK6VHMFZvJTr9S3CiALaCQhqZOSvegMIAvu2UVSWpigLC1fbQ0gm6in7qpfLCQbhwGIYcyPQ53/G3YO8BtUtd35bvKcVwAAAABJRU5ErkJggg==)}.taro-video-mute.taro-video-type-mute{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDQtMTFUMTA6MTk6MDMrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjAzYjJmNjE2LTZmZTUtNDJjNC1iNTgwLTczNzZjZjI2NzdmNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjYzZjQ2NTYzLWE0ZjktOGQ0Mi1hM2FhLTY3ODJhNDBhYWNjMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIyYWNjMWFlLTg4ZmMtNDBlZi1iMWM1LTNmODgwY2QzYWI2MiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjJhY2MxYWUtODhmYy00MGVmLWIxYzUtM2Y4ODBjZDNhYjYyIiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjE5OjAzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDNiMmY2MTYtNmZlNS00MmM0LWI1ODAtNzM3NmNmMjY3N2Y1IiBzdEV2dDp3aGVuPSIyMDE5LTA0LTExVDEwOjIyOjMzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5PmxYVAAACLklEQVRYhc2XP2sVQRRHz40hKoqaQgVBCy1EozFlGiVFxMLGh4piYWEh+hkEP4YKAVFEEFTyughaCH6DqIVpAhYWEgIxoJE8cywyi5tNHu/tJmvyg2WZO3dmzt47/zZUtoJ6Nhsg09YDiYhKDzACTAFNYH9lEpUq80TdrT5wpV5n/ZV9KoGoo+pXV2uyKkipOaLuUceAt8DhUvQd1FsCYhR4ChzaSIBMHSOi7lOfsByFWiCgEBH1GHAF2JlMPcBt4GC3HUYEaj9wF3gVEVPtfNVTwAXgWX7CDKq/1piAZTSZBmim8qJ6sQ3EgDqb/L7kU3MH2NHtl3dQX3r3Ak21UYAYAj4A/cl0JB+RF+uMRj4iQ+p8zt7KYFLdXKHuRi0gacBhV6a6pd5bA6KRNagFJPU9qv5u47toLmW1HnoR8Q5oAK1CVQu4FBHj/wUkaXsb+4pzpVaQFPqXrN7Be4Fx9VztIOr1BLEtmX4A94E/qdwHTKjDWYM6lu81dSlnn3V570BtuLxaMs2rZ/IgYxsBovaoPwsQA4VoFWEm8ql5DiysNyURsQTMpOIMcDYiPhd8xoGr/FtNC2G6FKXD6ihwGdiVHMoeeh8jYlA9ANwE3kTEp3bO6vE03qOONzR1r/q4RGrquaFFxFxE3ALOA9+6jExpdb180y55AhirhaRTatq0GXEzL8+ZIuI9cBJ4WKiartJf9nWV/mty7UfUafW7erpqRGI9EBuprffvu9n6C1KOmsqwI5A1AAAAAElFTkSuQmCC)}.taro-video-danmu{width:100%;margin-top:14px;margin-bottom:44px;font-size:14px;line-height:14px;position:absolute;top:0;bottom:0;left:0;overflow:visible}.taro-video-danmu-item{color:#fff;white-space:nowrap;line-height:1;-webkit-transition-property:left,-webkit-transform;transition-property:left,-webkit-transform;transition-property:left,transform;transition-property:left,transform,-webkit-transform;-webkit-transition-duration:3s;transition-duration:3s;-webkit-transition-timing-function:linear;transition-timing-function:linear;position:absolute;left:100%;-webkit-transform:translate(0);transform:translate(0)}.taro-video-toast{visibility:hidden;pointer-events:none;color:#000;background-color:rgba(255,255,255,.8);border-radius:5px;display:block;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.taro-video-toast.taro-video-toast-volume{width:100px;height:100px;display:block}.taro-video-toast-volume .taro-video-toast-title{text-align:center;width:100%;margin-top:10px;font-size:12px;line-height:16px;display:block}.taro-video-toast-volume .taro-video-toast-icon{fill:#000;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFhklEQVR4Xu2aeaxfQxTHP1VBES0NIQitWtpaaxeCUkQtaYVa0tiClAq1ExIiQTVppaWxt8RWSa2tWkJQRGgtQaSIpUKEpG0ssbbk28yV2+mZO/e9e3vvu/e98897mZnfzPl+75mZs0wvurn06ub46SGgxwLqZaA3sB/wO/A+8G/V6tS5BU4BJgJbO9DvAMOB36okoQ4CNgAeBEYbQK8Bbm4zAdsBc4EdAyA/APZoKwHHAA8DG2UA/AnYrG0ErAVcD1yXA9gfQJ8c40obsqbPgH7AY8CROTVuFQFD3X7fJid4DWsNAWOAGZ0w58YTsDZwKzChA189PbTRBGwKzAYO6iT4srbAMHfTfAksjulS1iG4JzAH2Dy2YKS/qAVcCdzi1vgZOBZ4PWvNGAG6wgYCW0IwctzNmf06BcEXtYABwOeA4otEfgEOdnGGqV6IAAUopwM6zDYuAVjeKYpYwCjgCWOhH513+b2lhE+Avrj89NPyalzyuCIE6EN9BfQ1dHoPOAD40+9LE6D/5aoqSqtLsgiQC60DTiHzfGCFoaSsQAexZdlTgEuyCDgLuK8u5G7dEAHyKN8CBrtxLwDHAX8Z+l4N3GS0L3db4aN0X5opmc+2XZQAfb2LPd2eciG1lUSRJZ9qYHkZONwiYAjwSc3gs24BXWWWfzEVuMjQez13HljX8v7A28lvEgsInaBVcxLaAvr6sgJLtBWeNTrOB+4w2p8DRvoEnAPcXTVaY70QAbrbXwIONX7zBSAL/tvrk1+iviTllnRry2irr/QSEws4D7izCxMg1XQLLAQGGXpeCkw22kOWI49RMUujCJC+uwAfGtfcImAng4AtAMsBeg04pIkESOfbgQsMsNoGnxrtSrfv7rXrSlwXWN6kLZBgEBiB8iWUUZZPIN/AF1nMoiYSICDfAlt5iB4CxhpAzwXuMtqPBuY1lYB5wFEeqFeAwwyguvIUqvuiQO/xphJwP3Cmhyh0EKrOoGDIF7n+M5pKwEwXrqdBCaQSM77Ig7SSIicDs5pKwIvACA+pzFwZIF9OlKm36QyQV7jEqDDJk5VD58uFgGIGX1Se+6yJFqAKsqI6X84GdDb4Mh0Y5zUqjFYFakUTCXja5QLSmBQHbAL8ahAgT1AeYVreSKLLphGwF/CuAfLJQLldGSTFD75c5d4mNCoWyAqG9gYWGED1AOMKo12ZbiWA/idA++deY2DVTZ0Jh5UJPsFQtD/wDaAHGWl5EzgwaUi2gK4UXS11S0cTIjrMFBtYQdAk4DID0BnAAz4B6wNLgTKKG0VIDBHwqitwpOcW+OOB540FdeipNKbUWFrUtn06o5xOij4KyDuqU0IE3Obl/rLA63pTzm9XA8jKACjdniZAaSKFmUpB1yUhAlTsUEpMh913wEkuTe7rKTzPAHqO44vpKPkFhH3cWWBVV6ogJVYZUgz/tXtIYelzI3Ct0fExIGx6j7iKWBUUveyYBehv1RIjIEsfqziq8Xp4pSBJOYTVJFQcVY3wCFeKUjVGyYfQWB00+5bEVBECrNS+qsOKBpVHNCVWHs+LS7H5PV5pOu9v0+OKEOAXR39w1e1C7wM6AkJ1eLmkRcrpRQiQrqobXO5S3vL3/4kBKMsCknV0k+iasVLUMV3UX5SAPGtED8EOT+L9YENnCasUIXNO2goChFWHqAIRyxXN4qI1BCQg9dJESYq8LnbrCBAR8t50Lig6i0krCRBoVWhVlt45wkBrCRBuRZyPuAguxIPe9lXqhpd9DcZMXOvdkPF0Xu/8dohNUmZ/1QQkuitXr+d4fryuFx3jywQYm6suAqSX8vLTXKJDt4QqO6rtLYspXWZ/nQQkOJTAUJZGIav19q9MvKvN1RUIWKMAY5P3EBBjqO393d4C/gMVHwRQlpx21QAAAABJRU5ErkJggg==);background-position:50%;background-repeat:no-repeat;background-size:50%;width:50%;height:50%;margin-left:25%;display:block}.taro-video-toast-volume .taro-video-toast-value{width:80px;height:5px;margin-top:5px;margin-left:10px}.taro-video-toast-volume .taro-video-toast-value>.taro-video-toast-value-content{overflow:hidden}.taro-video-toast-volume-grids{width:80px;height:5px}.taro-video-toast-volume-grids-item{float:left;background-color:#000;width:7.1px;height:5px}.taro-video-toast-volume-grids-item:not(:first-child){margin-left:1px}.taro-video-toast.taro-video-toast-progress{color:#fff;background-color:rgba(0,0,0,.8);padding:6px;font-size:14px;line-height:18px}';const u=class{constructor(i){t(this,i),this.list=[],this.danmuElList=[],this.currentTime=0,this.enable=!1,this.danmuList=[]}ensureProperties(t){const i=Object.assign({},t);return"time"in t||(i.time=this.currentTime),i.key=Math.random(),i.bottom=90*Math.random()+5+"%",i}async sendDanmu(t=[]){this.list=Array.isArray(t)?[...this.list,...t.map((t=>this.ensureProperties(t)))]:[...this.list,Object.assign({},this.ensureProperties(t))]}async tick(t){if(this.currentTime=t,!this.enable)return;const i=this.list.filter((({time:i})=>t-i<4&&t>i));let e=!1;const o=this.danmuList;e=i.length!==o.length||i.some((({key:t})=>o.every((i=>t!==i.key)))),e&&(this.danmuList=i)}componentDidUpdate(){requestAnimationFrame((()=>{setTimeout((()=>{this.danmuElList.splice(0).forEach((t=>{t.style.left="0",t.style.webkitTransform="translateX(-100%)",t.style.transform="translateX(-100%)"}))}))}))}render(){return this.enable?i(e,{class:"taro-video-danmu"},this.danmuList.map((({text:t,color:e,bottom:o,key:s})=>i("p",{class:"taro-video-danmu-item",key:s,style:{color:e,bottom:o},ref:t=>{t&&this.danmuElList.push(t)}},t)))):""}};export{A as taro_video_control,c as taro_video_core,u as taro_video_danmu}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,t,n,o){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,a){function r(e){try{l(o.next(e))}catch(e){a(e)}}function u(e){try{l(o["throw"](e))}catch(e){a(e)}}function l(e){e.done?n(e.value):i(e.value).then(r,u)}l((o=o.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},o,i,a,r;return r={next:u(0),throw:u(1),return:u(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function u(e){return function(t){return l([e,t])}}function l(u){if(o)throw new TypeError("Generator is already executing.");while(r&&(r=0,u[0]&&(n=0)),n)try{if(o=1,i&&(a=u[0]&2?i["return"]:u[0]?i["throw"]||((a=i["return"])&&a.call(i),0):i.next)&&!(a=a.call(i,u[1])).done)return a;if(i=0,a)u=[u[0]&2,a.value];switch(u[0]){case 0:case 1:a=u;break;case 4:n.label++;return{value:u[1],done:false};case 5:n.label++;i=u[1];u=[0];continue;case 7:u=n.ops.pop();n.trys.pop();continue;default:if(!(a=n.trys,a=a.length>0&&a[a.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!a||u[1]>a[0]&&u[1]<a[3])){n.label=u[1];break}if(u[0]===6&&n.label<a[1]){n.label=a[1];a=u;break}if(a&&n.label<a[2]){n.label=a[2];n.ops.push(u);break}if(a[2])n.ops.pop();n.trys.pop();continue}u=t.call(e,n)}catch(e){u=[6,e];i=0}finally{o=a=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}};System.register(["./p-6bbb639a.system.js"],(function(e){"use strict";var t,n,o,i;return{setters:[function(e){t=e.r;n=e.c;o=e.h;i=e.g}],execute:function(){var a="taro-textarea-core{width:300px;display:block}taro-textarea-core .auto-height{height:auto}.taro-textarea{height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:auto;border:0;width:100%;line-height:1.5;display:block;position:relative}.taro-textarea:focus{outline:none}";function r(e){return e!==null&&e!==void 0?e:""}var u=e("taro_textarea_core",function(){function e(e){var o=this;t(this,e);this.onInput=n(this,"input",7);this.onFocus=n(this,"focus",7);this.onBlur=n(this,"blur",7);this.onConfirm=n(this,"confirm",7);this.onChange=n(this,"change",7);this.onLineChange=n(this,"linechange",7);this.onKeyDown=n(this,"keydown",7);this.handleInput=function(e){e.stopPropagation();o.handleLineChange();var t=e.target.value||"";o.onInput.emit({value:t,cursor:t.length})};this.handleFocus=function(e){e.stopPropagation();o.onFocus.emit({value:e.target.value})};this.handleBlur=function(e){e.stopPropagation();o.onBlur.emit({value:e.target.value})};this.handleChange=function(e){e.stopPropagation();o.onChange.emit({value:e.target.value})};this.handleLineChange=function(){var e=o.getNumberOfLines();if(e!==o.line){o.line=e;o.onLineChange.emit({height:o.textareaRef.clientHeight,lineCount:o.line})}};this.handleKeyDown=function(e){e.stopPropagation();var t=e.target.value;var n=e.keyCode||e.code;o.onKeyDown.emit({value:t,cursor:t.length,keyCode:n});n===13&&o.onConfirm.emit({value:t})};this.calculateContentHeight=function(e,t){var n=e.style.height,o=e.offsetHeight,i=e.scrollHeight,a=e.style.overflow,r=e.style.minHeight||null;if(o>=i){e.style.minHeight=0;e.style.height=o+t+"px";e.style.overflow="hidden";if(i<e.scrollHeight){while(e.offsetHeight>=e.scrollHeight){e.style.height=(o-=t)+"px"}while(e.offsetHeight<e.scrollHeight){e.style.height=o+++"px"}e.style.height=n;e.style.overflow=a;e.style.minHeight=r;return o}}else{return i}};this.getNumberOfLines=function(){var e=o.textareaRef,t=window.getComputedStyle?window.getComputedStyle(e):e.style,n=parseInt(t.lineHeight,10),i=o.calculateContentHeight(e,n),a=Math.floor(i/n);return a};this.value="";this.placeholder=undefined;this.disabled=false;this.maxlength=140;this.autoFocus=false;this.autoHeight=false;this.name=undefined;this.nativeProps={};this.line=1}e.prototype.watchAutoFocus=function(e,t){var n;if(!t&&e){(n=this.textareaRef)===null||n===void 0?void 0:n.focus()}};e.prototype.focus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.textareaRef.focus();return[2]}))}))};e.prototype.render=function(){var e=this;var t=this,n=t.value,i=t.placeholder,a=t.disabled,u=t.maxlength,l=t.autoFocus,s=t.autoHeight,h=t.name,c=t.nativeProps,f=t.handleInput,g=t.handleFocus,p=t.handleBlur,d=t.handleChange;var v={};if(s){v.rows=this.line}return o("textarea",Object.assign({ref:function(t){if(t){e.textareaRef=t;if(l&&t)t.focus()}},class:"taro-textarea ".concat(s?"auto-height":""),value:r(n),placeholder:i,name:h,disabled:a,maxlength:u,autofocus:l,onInput:f,onFocus:g,onBlur:p,onChange:d,onKeyDown:this.handleKeyDown},c,v))};Object.defineProperty(e.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{autoFocus:["watchAutoFocus"]}},enumerable:false,configurable:true});return e}());u.style=a}}}));
|