@weapp-vite/web 2.0.1 → 2.1.0
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/dist/_virtual/_rolldown/runtime.mjs +1 -2
- package/dist/compiler/wxml/attributes.mjs +12 -4
- package/dist/compiler/wxml/attributes.mjs.map +1 -1
- package/dist/compiler/wxml/compile.mjs +26 -8
- package/dist/compiler/wxml/compile.mjs.map +1 -1
- package/dist/compiler/wxml/dependency.mjs +1 -2
- package/dist/compiler/wxml/interpolation.mjs +13 -3
- package/dist/compiler/wxml/interpolation.mjs.map +1 -1
- package/dist/compiler/wxml/nativeTags.mjs +60 -0
- package/dist/compiler/wxml/nativeTags.mjs.map +1 -0
- package/dist/compiler/wxml/navigation.mjs +1 -2
- package/dist/compiler/wxml/parser.mjs +1 -2
- package/dist/compiler/wxml/prepare.mjs +1 -2
- package/dist/compiler/wxml/renderer.mjs +1 -2
- package/dist/compiler/wxml/specialNodes.mjs +1 -2
- package/dist/compiler/wxml/types.d.mts +0 -2
- package/dist/compiler/wxml/unknownTags.mjs +33 -0
- package/dist/compiler/wxml/unknownTags.mjs.map +1 -0
- package/dist/compiler/wxs.mjs +1 -2
- package/dist/css/wxss.d.mts +2 -19
- package/dist/css/wxss.mjs +5 -12
- package/dist/css/wxss.mjs.map +1 -1
- package/dist/index.d.mts +8 -3
- package/dist/index.mjs +8 -5
- package/dist/plugin/assets.d.mts +0 -2
- package/dist/plugin/assets.mjs +1 -2
- package/dist/plugin/constants.mjs +1 -2
- package/dist/plugin/dependencyScan.mjs +1 -2
- package/dist/plugin/entry.mjs +6 -4
- package/dist/plugin/entry.mjs.map +1 -1
- package/dist/plugin/files.mjs +1 -2
- package/dist/plugin/hostTypes.d.mts +0 -2
- package/dist/plugin/index.d.mts +0 -2
- package/dist/plugin/index.mjs +5 -5
- package/dist/plugin/index.mjs.map +1 -1
- package/dist/plugin/layout.mjs +1 -2
- package/dist/plugin/navigation.mjs +1 -2
- package/dist/plugin/packageResolution.mjs +1 -2
- package/dist/plugin/path.mjs +1 -2
- package/dist/plugin/register.mjs +1 -2
- package/dist/plugin/scan.mjs +1 -2
- package/dist/plugin/scanConfig.mjs +1 -2
- package/dist/plugin/scanSfc.mjs +1 -2
- package/dist/plugin/sfcHmr.mjs +1 -2
- package/dist/plugin/state.mjs +1 -2
- package/dist/plugin/styleModule.mjs +1 -2
- package/dist/plugin/types.d.mts +2 -3
- package/dist/plugin/vueSfc.mjs +1 -2
- package/dist/runtime/appShell/container.mjs +1 -2
- package/dist/runtime/appShell/tabBar/index.mjs +1 -2
- package/dist/runtime/appShell/tabBar/style.mjs +1 -2
- package/dist/runtime/appStyle.mjs +1 -2
- package/dist/runtime/button/helpers.mjs +1 -2
- package/dist/runtime/button/index.d.mts +0 -2
- package/dist/runtime/button/index.mjs +1 -2
- package/dist/runtime/button/style.mjs +1 -2
- package/dist/runtime/component/behavior.mjs +1 -2
- package/dist/runtime/component/constants.mjs +1 -2
- package/dist/runtime/component/dom.mjs +1 -2
- package/dist/runtime/component/element.mjs +9 -2
- package/dist/runtime/component/element.mjs.map +1 -1
- package/dist/runtime/component/events.mjs +4 -4
- package/dist/runtime/component/events.mjs.map +1 -1
- package/dist/runtime/component/index.d.mts +0 -2
- package/dist/runtime/component/index.mjs +1 -2
- package/dist/runtime/component/observers.mjs +1 -2
- package/dist/runtime/component/publicInstance.mjs +1 -2
- package/dist/runtime/component/relations.mjs +1 -2
- package/dist/runtime/component/slots.mjs +1 -2
- package/dist/runtime/component/state.mjs +1 -2
- package/dist/runtime/component/types.d.mts +0 -2
- package/dist/runtime/component/utils.mjs +1 -2
- package/dist/runtime/component/virtualHost.mjs +1 -2
- package/dist/runtime/componentEvents.mjs +1 -2
- package/dist/runtime/dataset.mjs +49 -0
- package/dist/runtime/dataset.mjs.map +1 -0
- package/dist/runtime/datasetBinding.d.mts +13 -0
- package/dist/runtime/datasetBinding.mjs +40 -0
- package/dist/runtime/datasetBinding.mjs.map +1 -0
- package/dist/runtime/eventBinding.d.mts +0 -2
- package/dist/runtime/eventBinding.mjs +1 -2
- package/dist/runtime/execution.d.mts +0 -2
- package/dist/runtime/execution.mjs +1 -2
- package/dist/runtime/host/index.d.mts +0 -2
- package/dist/runtime/host/index.mjs +1 -2
- package/dist/runtime/host/types.d.mts +0 -2
- package/dist/runtime/hostGlobals.d.mts +0 -2
- package/dist/runtime/hostGlobals.mjs +1 -2
- package/dist/runtime/index.d.mts +8 -3
- package/dist/runtime/index.mjs +9 -7
- package/dist/runtime/index.mjs.map +1 -1
- package/dist/runtime/inlineStyle.d.mts +5 -0
- package/dist/runtime/inlineStyle.mjs +21 -0
- package/dist/runtime/inlineStyle.mjs.map +1 -0
- package/dist/runtime/inputHandlerResult.mjs +1 -2
- package/dist/runtime/legacyTemplate/dataset.mjs +53 -0
- package/dist/runtime/legacyTemplate/dataset.mjs.map +1 -0
- package/dist/runtime/legacyTemplate/dom.mjs +20 -5
- package/dist/runtime/legacyTemplate/dom.mjs.map +1 -1
- package/dist/runtime/legacyTemplate/expression.mjs +1 -2
- package/dist/runtime/legacyTemplate/index.d.mts +0 -2
- package/dist/runtime/legacyTemplate/index.mjs +23 -16
- package/dist/runtime/legacyTemplate/index.mjs.map +1 -1
- package/dist/runtime/legacyTemplate/types.d.mts +0 -2
- package/dist/runtime/nativeComponents/canvas/index.mjs +1 -2
- package/dist/runtime/nativeComponents/checkbox.mjs +1 -2
- package/dist/runtime/nativeComponents/cover/index.mjs +1 -2
- package/dist/runtime/nativeComponents/form.d.mts +0 -2
- package/dist/runtime/nativeComponents/form.mjs +1 -2
- package/dist/runtime/nativeComponents/formControl.mjs +1 -2
- package/dist/runtime/nativeComponents/helpers.mjs +1 -2
- package/dist/runtime/nativeComponents/icon/helpers.mjs +1 -2
- package/dist/runtime/nativeComponents/icon/index.mjs +1 -2
- package/dist/runtime/nativeComponents/icon/style.mjs +1 -2
- package/dist/runtime/nativeComponents/image.d.mts +0 -2
- package/dist/runtime/nativeComponents/image.mjs +1 -2
- package/dist/runtime/nativeComponents/index.d.mts +1 -3
- package/dist/runtime/nativeComponents/index.mjs +3 -3
- package/dist/runtime/nativeComponents/index.mjs.map +1 -1
- package/dist/runtime/nativeComponents/input.d.mts +0 -2
- package/dist/runtime/nativeComponents/input.mjs +1 -2
- package/dist/runtime/nativeComponents/label.mjs +1 -2
- package/dist/runtime/nativeComponents/mediaRegistry.mjs +1 -2
- package/dist/runtime/nativeComponents/movable/helpers.mjs +1 -2
- package/dist/runtime/nativeComponents/movable/index.mjs +1 -2
- package/dist/runtime/nativeComponents/navigator.mjs +1 -2
- package/dist/runtime/nativeComponents/picker/editors.mjs +1 -2
- package/dist/runtime/nativeComponents/picker/helpers.mjs +1 -2
- package/dist/runtime/nativeComponents/picker/index.mjs +1 -2
- package/dist/runtime/nativeComponents/picker/style.mjs +1 -2
- package/dist/runtime/nativeComponents/pickerView/column.mjs +1 -2
- package/dist/runtime/nativeComponents/pickerView/helpers.mjs +1 -2
- package/dist/runtime/nativeComponents/pickerView/index.mjs +1 -2
- package/dist/runtime/nativeComponents/pickerView/style.mjs +1 -2
- package/dist/runtime/nativeComponents/primitives.mjs +1 -2
- package/dist/runtime/nativeComponents/progress/helpers.mjs +1 -2
- package/dist/runtime/nativeComponents/progress/index.mjs +1 -2
- package/dist/runtime/nativeComponents/progress/style.mjs +1 -2
- package/dist/runtime/nativeComponents/radio.mjs +1 -2
- package/dist/runtime/nativeComponents/richText/index.mjs +1 -2
- package/dist/runtime/nativeComponents/scrollView/boundaries.mjs +62 -0
- package/dist/runtime/nativeComponents/scrollView/boundaries.mjs.map +1 -0
- package/dist/runtime/nativeComponents/{scrollView.d.mts → scrollView/helpers.d.mts} +4 -5
- package/dist/runtime/nativeComponents/scrollView/helpers.mjs +14 -0
- package/dist/runtime/nativeComponents/scrollView/helpers.mjs.map +1 -0
- package/dist/runtime/nativeComponents/scrollView/index.mjs +193 -0
- package/dist/runtime/nativeComponents/scrollView/index.mjs.map +1 -0
- package/dist/runtime/nativeComponents/scrollView/position.mjs +43 -0
- package/dist/runtime/nativeComponents/scrollView/position.mjs.map +1 -0
- package/dist/runtime/nativeComponents/slider/helpers.mjs +1 -2
- package/dist/runtime/nativeComponents/slider/index.mjs +1 -2
- package/dist/runtime/nativeComponents/slider/style.mjs +1 -2
- package/dist/runtime/nativeComponents/style.mjs +1 -2
- package/dist/runtime/nativeComponents/swiper/helpers.mjs +1 -2
- package/dist/runtime/nativeComponents/swiper/index.mjs +1 -2
- package/dist/runtime/nativeComponents/swiper/item.mjs +1 -2
- package/dist/runtime/nativeComponents/swiper/style.mjs +1 -2
- package/dist/runtime/nativeComponents/switch.d.mts +0 -2
- package/dist/runtime/nativeComponents/switch.mjs +1 -2
- package/dist/runtime/nativeComponents/textarea.d.mts +0 -2
- package/dist/runtime/nativeComponents/textarea.mjs +1 -2
- package/dist/runtime/nativeComponents/video/helpers.d.mts +0 -2
- package/dist/runtime/nativeComponents/video/helpers.mjs +1 -2
- package/dist/runtime/nativeComponents/video/index.mjs +1 -2
- package/dist/runtime/nativeComponents/video/style.mjs +1 -2
- package/dist/runtime/navigationBar/index.d.mts +0 -2
- package/dist/runtime/navigationBar/index.mjs +1 -2
- package/dist/runtime/navigationBar/style.mjs +1 -2
- package/dist/runtime/pageLayout.d.mts +0 -2
- package/dist/runtime/pageLayout.mjs +1 -2
- package/dist/runtime/polyfill/ad.mjs +1 -2
- package/dist/runtime/polyfill/animation.mjs +1 -2
- package/dist/runtime/polyfill/appState.mjs +1 -2
- package/dist/runtime/polyfill/async.d.mts +0 -2
- package/dist/runtime/polyfill/async.mjs +1 -2
- package/dist/runtime/polyfill/auth.mjs +1 -2
- package/dist/runtime/polyfill/authApi.mjs +1 -2
- package/dist/runtime/polyfill/background.mjs +1 -2
- package/dist/runtime/polyfill/canvasContext.mjs +1 -2
- package/dist/runtime/polyfill/capability.mjs +1 -2
- package/dist/runtime/polyfill/cloud.mjs +1 -2
- package/dist/runtime/polyfill/device.mjs +1 -2
- package/dist/runtime/polyfill/deviceApi.mjs +1 -2
- package/dist/runtime/polyfill/deviceAuthSystemApi.d.mts +0 -2
- package/dist/runtime/polyfill/deviceAuthSystemApi.mjs +1 -2
- package/dist/runtime/polyfill/eventBus.mjs +1 -2
- package/dist/runtime/polyfill/filePicker.mjs +1 -2
- package/dist/runtime/polyfill/fileSystemManager.mjs +1 -2
- package/dist/runtime/polyfill/files.mjs +1 -2
- package/dist/runtime/polyfill/font.mjs +1 -2
- package/dist/runtime/polyfill/index.d.mts +4 -4
- package/dist/runtime/polyfill/index.mjs +11 -4
- package/dist/runtime/polyfill/index.mjs.map +1 -1
- package/dist/runtime/polyfill/interaction.mjs +1 -2
- package/dist/runtime/polyfill/interactionApi.mjs +1 -2
- package/dist/runtime/polyfill/intersectionObserver.mjs +4 -4
- package/dist/runtime/polyfill/intersectionObserver.mjs.map +1 -1
- package/dist/runtime/polyfill/lifecycleEvents.d.mts +12 -0
- package/dist/runtime/polyfill/lifecycleEvents.mjs +67 -0
- package/dist/runtime/polyfill/lifecycleEvents.mjs.map +1 -0
- package/dist/runtime/polyfill/locale.mjs +1 -2
- package/dist/runtime/polyfill/location.mjs +1 -2
- package/dist/runtime/polyfill/locationApi.mjs +1 -2
- package/dist/runtime/polyfill/mediaActions.mjs +1 -2
- package/dist/runtime/polyfill/mediaApi/file.mjs +1 -2
- package/dist/runtime/polyfill/mediaApi/info.mjs +1 -2
- package/dist/runtime/polyfill/mediaApi/picker.mjs +1 -2
- package/dist/runtime/polyfill/mediaApi/preview.mjs +1 -2
- package/dist/runtime/polyfill/mediaApi/process.mjs +1 -2
- package/dist/runtime/polyfill/mediaInfo.mjs +1 -2
- package/dist/runtime/polyfill/mediaPicker.mjs +1 -2
- package/dist/runtime/polyfill/mediaProcess.mjs +1 -2
- package/dist/runtime/polyfill/menuApi.mjs +5 -3
- package/dist/runtime/polyfill/menuApi.mjs.map +1 -1
- package/dist/runtime/polyfill/navigationBarRuntime.mjs +1 -2
- package/dist/runtime/polyfill/network/request.mjs +1 -2
- package/dist/runtime/polyfill/network/requestBridge.mjs +1 -2
- package/dist/runtime/polyfill/network/status.mjs +1 -2
- package/dist/runtime/polyfill/platformApi.mjs +1 -2
- package/dist/runtime/polyfill/platformRuntime.mjs +1 -2
- package/dist/runtime/polyfill/routeRuntime/appLifecycle.mjs +1 -2
- package/dist/runtime/polyfill/routeRuntime/dom.mjs +1 -2
- package/dist/runtime/polyfill/routeRuntime/events.d.mts +0 -2
- package/dist/runtime/polyfill/routeRuntime/events.mjs +1 -2
- package/dist/runtime/polyfill/routeRuntime/history.d.mts +0 -2
- package/dist/runtime/polyfill/routeRuntime/history.mjs +1 -2
- package/dist/runtime/polyfill/routeRuntime/lifecycle.mjs +1 -2
- package/dist/runtime/polyfill/routeRuntime/options.d.mts +0 -2
- package/dist/runtime/polyfill/routeRuntime/options.mjs +1 -2
- package/dist/runtime/polyfill/routeRuntime/result.mjs +1 -2
- package/dist/runtime/polyfill/routeRuntime/scroll.mjs +37 -6
- package/dist/runtime/polyfill/routeRuntime/scroll.mjs.map +1 -1
- package/dist/runtime/polyfill/routeRuntime/stack.mjs +1 -2
- package/dist/runtime/polyfill/routeRuntime/url.mjs +1 -2
- package/dist/runtime/polyfill/routeRuntime.d.mts +2 -2
- package/dist/runtime/polyfill/routeRuntime.mjs +14 -5
- package/dist/runtime/polyfill/routeRuntime.mjs.map +1 -1
- package/dist/runtime/polyfill/runtimeCapabilityApi.mjs +1 -2
- package/dist/runtime/polyfill/runtimeDataApi.d.mts +0 -2
- package/dist/runtime/polyfill/runtimeDataApi.mjs +1 -2
- package/dist/runtime/polyfill/runtimeInfra.mjs +1 -2
- package/dist/runtime/polyfill/runtimeOps.mjs +1 -2
- package/dist/runtime/polyfill/selectorQuery.mjs +3 -3
- package/dist/runtime/polyfill/selectorQuery.mjs.map +1 -1
- package/dist/runtime/polyfill/storage.mjs +1 -2
- package/dist/runtime/polyfill/storageAsync.mjs +1 -2
- package/dist/runtime/polyfill/subscribe.mjs +1 -2
- package/dist/runtime/polyfill/system.mjs +1 -2
- package/dist/runtime/polyfill/systemApi.mjs +1 -2
- package/dist/runtime/polyfill/types/base.d.mts +0 -2
- package/dist/runtime/polyfill/types/common.d.mts +0 -2
- package/dist/runtime/polyfill/types/lifecycle.d.mts +12 -0
- package/dist/runtime/polyfill/types/locationRuntime.d.mts +0 -2
- package/dist/runtime/polyfill/types/mediaAuth.d.mts +0 -2
- package/dist/runtime/polyfill/types/platformRuntime.d.mts +0 -2
- package/dist/runtime/polyfill/types/systemAuth.d.mts +0 -2
- package/dist/runtime/polyfill/types/tabBarRuntime.d.mts +0 -2
- package/dist/runtime/polyfill/ui.mjs +1 -2
- package/dist/runtime/polyfill/uiFeedback.mjs +19 -5
- package/dist/runtime/polyfill/uiFeedback.mjs.map +1 -1
- package/dist/runtime/polyfill/uiMediaApi.d.mts +8 -2
- package/dist/runtime/polyfill/uiMediaApi.mjs +20 -5
- package/dist/runtime/polyfill/uiMediaApi.mjs.map +1 -1
- package/dist/runtime/polyfill/videoContext.mjs +1 -2
- package/dist/runtime/polyfill/vkSession.mjs +1 -2
- package/dist/runtime/polyfill/windowResize.mjs +1 -2
- package/dist/runtime/polyfill/worker.mjs +1 -2
- package/dist/runtime/polyfill.d.mts +4 -2
- package/dist/runtime/renderContext.d.mts +0 -2
- package/dist/runtime/renderContext.mjs +5 -4
- package/dist/runtime/renderContext.mjs.map +1 -1
- package/dist/runtime/rpx.d.mts +0 -2
- package/dist/runtime/rpx.mjs +6 -6
- package/dist/runtime/rpx.mjs.map +1 -1
- package/dist/runtime/seo/index.d.mts +0 -2
- package/dist/runtime/seo/index.mjs +1 -2
- package/dist/runtime/style.d.mts +0 -2
- package/dist/runtime/style.mjs +1 -2
- package/dist/runtime/template.d.mts +0 -2
- package/dist/runtime/utils/object.mjs +1 -2
- package/dist/runtime/viewport/index.d.mts +0 -2
- package/dist/runtime/viewport/index.mjs +1 -2
- package/dist/runtime/viewport/style.mjs +2 -2
- package/dist/runtime/viewport/style.mjs.map +1 -1
- package/dist/runtime/viewport/types.d.mts +0 -2
- package/dist/runtime/warning.d.mts +0 -2
- package/dist/runtime/warning.mjs +1 -2
- package/dist/runtime/wevu.d.mts +0 -2
- package/dist/runtime/wevu.mjs +1 -2
- package/dist/shared/nativeComponents.mjs +10 -3
- package/dist/shared/nativeComponents.mjs.map +1 -1
- package/dist/shared/slugify.mjs +1 -2
- package/dist/shared/styleUnits/options.d.mts +24 -0
- package/dist/shared/styleUnits/options.mjs +13 -0
- package/dist/shared/styleUnits/options.mjs.map +1 -0
- package/dist/shared/styleUnits/value.mjs +63 -0
- package/dist/shared/styleUnits/value.mjs.map +1 -0
- package/dist/shared/tabBar.d.mts +0 -2
- package/dist/shared/tabBar.mjs +1 -2
- package/dist/shared/wxml.mjs +1 -2
- package/package.json +15 -13
- package/dist/runtime/nativeComponents/scrollView.mjs +0 -88
- package/dist/runtime/nativeComponents/scrollView.mjs.map +0 -1
|
@@ -3,7 +3,7 @@ import { isFormActivatable } from "./formControl.mjs";
|
|
|
3
3
|
import { resolveContainingShadowRoot } from "./helpers.mjs";
|
|
4
4
|
import { ensureNativeComponentStyle } from "./style.mjs";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/runtime/nativeComponents/label.ts
|
|
7
7
|
const BaseElement = globalThis.HTMLElement ?? class {};
|
|
8
8
|
const FORM_CONTROL_SELECTOR = "weapp-input, weapp-textarea, weapp-checkbox, weapp-radio, weapp-switch";
|
|
9
9
|
function findElementById(root, id) {
|
|
@@ -31,6 +31,5 @@ var WeappLabel = class extends BaseElement {
|
|
|
31
31
|
};
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
-
//#endregion
|
|
35
34
|
export { WeappLabel };
|
|
36
35
|
//# sourceMappingURL=label.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/runtime/nativeComponents/mediaRegistry.ts
|
|
2
2
|
const mediaElements = /* @__PURE__ */ new Map();
|
|
3
3
|
const mediaRegistrations = /* @__PURE__ */ new WeakMap();
|
|
4
4
|
function normalizeMediaIds(ids) {
|
|
@@ -42,6 +42,5 @@ function resolveNativeMediaElement(kind, id) {
|
|
|
42
42
|
return elements?.[elements.length - 1];
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
//#endregion
|
|
46
45
|
export { registerNativeMediaElement, resolveNativeMediaElement, unregisterNativeMediaElement };
|
|
47
46
|
//# sourceMappingURL=mediaRegistry.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/runtime/nativeComponents/movable/helpers.ts
|
|
2
2
|
function resolveMovableDirection(value) {
|
|
3
3
|
if (value === "horizontal" || value === "vertical" || value === "none") return value;
|
|
4
4
|
return "all";
|
|
@@ -18,6 +18,5 @@ function clampMovablePosition(position, bounds, direction, outOfBounds) {
|
|
|
18
18
|
return next;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
//#endregion
|
|
22
21
|
export { clampMovablePosition, resolveMovableDirection, resolveMovableNumber };
|
|
23
22
|
//# sourceMappingURL=helpers.mjs.map
|
|
@@ -3,7 +3,7 @@ import { dispatchMiniProgramEvent, readBooleanAttribute, resolveContainingShadow
|
|
|
3
3
|
import { ensureNativeComponentStyle } from "../style.mjs";
|
|
4
4
|
import { clampMovablePosition, resolveMovableDirection, resolveMovableNumber } from "./helpers.mjs";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/runtime/nativeComponents/movable/index.ts
|
|
7
7
|
const BaseElement = globalThis.HTMLElement ?? class {};
|
|
8
8
|
var WeappMovableArea = class extends BaseElement {
|
|
9
9
|
connectedCallback() {
|
|
@@ -112,6 +112,5 @@ var WeappMovableView = class extends BaseElement {
|
|
|
112
112
|
};
|
|
113
113
|
};
|
|
114
114
|
|
|
115
|
-
//#endregion
|
|
116
115
|
export { WeappMovableArea, WeappMovableView };
|
|
117
116
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -5,7 +5,7 @@ import { ensureNativeComponentStyle } from "./style.mjs";
|
|
|
5
5
|
import { exitMiniProgram, navigateToMiniProgram } from "../polyfill/runtimeDataApi.mjs";
|
|
6
6
|
import { navigateBack, navigateTo, reLaunch, redirectTo, switchTab } from "../polyfill/routeRuntime.mjs";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/runtime/nativeComponents/navigator.ts
|
|
9
9
|
const BaseElement = globalThis.HTMLElement ?? class {};
|
|
10
10
|
const defaultBridge = {
|
|
11
11
|
navigateTo,
|
|
@@ -195,6 +195,5 @@ var WeappNavigator = class extends BaseElement {
|
|
|
195
195
|
}
|
|
196
196
|
};
|
|
197
197
|
|
|
198
|
-
//#endregion
|
|
199
198
|
export { WeappNavigator, executeNavigatorRequest, resolveNavigatorExtraData };
|
|
200
199
|
//# sourceMappingURL=navigator.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { normalizePickerIndex, normalizePickerIndexes, resolvePickerColumns } from "./helpers.mjs";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/runtime/nativeComponents/picker/editors.ts
|
|
4
4
|
function currentDateValue(fields) {
|
|
5
5
|
const date = /* @__PURE__ */ new Date();
|
|
6
6
|
const year = String(date.getFullYear()).padStart(4, "0");
|
|
@@ -69,6 +69,5 @@ function renderPickerEditors(options) {
|
|
|
69
69
|
return renderRegionEditors(options);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
//#endregion
|
|
73
72
|
export { currentDateValue, renderPickerEditors };
|
|
74
73
|
//# sourceMappingURL=editors.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/runtime/nativeComponents/picker/helpers.ts
|
|
2
2
|
const PICKER_MODES = [
|
|
3
3
|
"selector",
|
|
4
4
|
"multiSelector",
|
|
@@ -52,6 +52,5 @@ function createPickerChangeDetail(mode, value) {
|
|
|
52
52
|
return { value };
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
//#endregion
|
|
56
55
|
export { PICKER_MODES, createPickerChangeDetail, normalizePickerIndex, normalizePickerIndexes, resolvePickerColumns, resolvePickerMode };
|
|
57
56
|
//# sourceMappingURL=helpers.mjs.map
|
|
@@ -6,7 +6,7 @@ import { PICKER_MODES, createPickerChangeDetail, normalizePickerIndex, normalize
|
|
|
6
6
|
import { currentDateValue, renderPickerEditors } from "./editors.mjs";
|
|
7
7
|
import { PICKER_SHADOW_STYLE } from "./style.mjs";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
// src/runtime/nativeComponents/picker/index.ts
|
|
10
10
|
const BaseElement = globalThis.HTMLElement ?? class {};
|
|
11
11
|
function parsePickerAttribute(value) {
|
|
12
12
|
if (value === null || value === "") return value ?? void 0;
|
|
@@ -205,6 +205,5 @@ var WeappPicker = class extends BaseElement {
|
|
|
205
205
|
};
|
|
206
206
|
};
|
|
207
207
|
|
|
208
|
-
//#endregion
|
|
209
208
|
export { PICKER_MODES, WeappPicker, createPickerChangeDetail, normalizePickerIndex, normalizePickerIndexes, resolvePickerColumns, resolvePickerMode };
|
|
210
209
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/runtime/nativeComponents/picker/style.ts
|
|
2
2
|
const PICKER_SHADOW_STYLE = `
|
|
3
3
|
:host { position: relative; cursor: pointer; }
|
|
4
4
|
:host([disabled]) { cursor: not-allowed; opacity: 0.6; }
|
|
@@ -66,6 +66,5 @@ const PICKER_SHADOW_STYLE = `
|
|
|
66
66
|
.editors input { align-self: center; height: 44px; padding: 0 12px; }
|
|
67
67
|
`;
|
|
68
68
|
|
|
69
|
-
//#endregion
|
|
70
69
|
export { PICKER_SHADOW_STYLE };
|
|
71
70
|
//# sourceMappingURL=style.mjs.map
|
|
@@ -4,7 +4,7 @@ import { ensureNativeComponentStyle } from "../style.mjs";
|
|
|
4
4
|
import { PICKER_VIEW_COLUMN_CHANGE_EVENT, PICKER_VIEW_COLUMN_READY_EVENT, PICKER_VIEW_PICK_END_EVENT, PICKER_VIEW_PICK_START_EVENT } from "./helpers.mjs";
|
|
5
5
|
import { PICKER_VIEW_COLUMN_SHADOW_STYLE } from "./style.mjs";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// src/runtime/nativeComponents/pickerView/column.ts
|
|
8
8
|
const BaseElement = globalThis.HTMLElement ?? class {};
|
|
9
9
|
var WeappPickerViewColumn = class extends BaseElement {
|
|
10
10
|
static observedAttributes = [...getNativeComponentDescriptor("picker-view-column").attributes];
|
|
@@ -129,6 +129,5 @@ var WeappPickerViewColumn = class extends BaseElement {
|
|
|
129
129
|
};
|
|
130
130
|
};
|
|
131
131
|
|
|
132
|
-
//#endregion
|
|
133
132
|
export { WeappPickerViewColumn };
|
|
134
133
|
//# sourceMappingURL=column.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/runtime/nativeComponents/pickerView/helpers.ts
|
|
2
2
|
const PICKER_VIEW_COLUMN_CHANGE_EVENT = "weapp-picker-view-column-change";
|
|
3
3
|
const PICKER_VIEW_COLUMN_READY_EVENT = "weapp-picker-view-column-ready";
|
|
4
4
|
const PICKER_VIEW_PICK_START_EVENT = "weapp-picker-view-pick-start";
|
|
@@ -12,6 +12,5 @@ function normalizePickerViewValue(value, columnLengths) {
|
|
|
12
12
|
return columnLengths.map((length, column) => normalizeColumnIndex(indexes[column], length));
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
//#endregion
|
|
16
15
|
export { PICKER_VIEW_COLUMN_CHANGE_EVENT, PICKER_VIEW_COLUMN_READY_EVENT, PICKER_VIEW_PICK_END_EVENT, PICKER_VIEW_PICK_START_EVENT, normalizePickerViewValue };
|
|
17
16
|
//# sourceMappingURL=helpers.mjs.map
|
|
@@ -5,7 +5,7 @@ import { PICKER_VIEW_COLUMN_CHANGE_EVENT, PICKER_VIEW_COLUMN_READY_EVENT, PICKER
|
|
|
5
5
|
import { PICKER_VIEW_SHADOW_STYLE } from "./style.mjs";
|
|
6
6
|
import { WeappPickerViewColumn } from "./column.mjs";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/runtime/nativeComponents/pickerView/index.ts
|
|
9
9
|
const BaseElement = globalThis.HTMLElement ?? class {};
|
|
10
10
|
function parsePickerViewValue(value) {
|
|
11
11
|
if (!value) return [];
|
|
@@ -123,6 +123,5 @@ var WeappPickerView = class extends BaseElement {
|
|
|
123
123
|
};
|
|
124
124
|
};
|
|
125
125
|
|
|
126
|
-
//#endregion
|
|
127
126
|
export { PICKER_VIEW_COLUMN_CHANGE_EVENT, PICKER_VIEW_COLUMN_READY_EVENT, PICKER_VIEW_PICK_END_EVENT, PICKER_VIEW_PICK_START_EVENT, WeappPickerView, WeappPickerViewColumn, normalizePickerViewValue };
|
|
128
127
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/runtime/nativeComponents/pickerView/style.ts
|
|
2
2
|
const PICKER_VIEW_SHADOW_STYLE = `
|
|
3
3
|
:host { position: relative; min-width: 0; }
|
|
4
4
|
.viewport { position: relative; display: flex; width: 100%; height: 100%; overflow: hidden; }
|
|
@@ -53,6 +53,5 @@ const PICKER_VIEW_COLUMN_SHADOW_STYLE = `
|
|
|
53
53
|
}
|
|
54
54
|
`;
|
|
55
55
|
|
|
56
|
-
//#endregion
|
|
57
56
|
export { PICKER_VIEW_COLUMN_SHADOW_STYLE, PICKER_VIEW_SHADOW_STYLE };
|
|
58
57
|
//# sourceMappingURL=style.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { resolveContainingShadowRoot } from "./helpers.mjs";
|
|
2
2
|
import { ensureNativeComponentStyle } from "./style.mjs";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/runtime/nativeComponents/primitives.ts
|
|
5
5
|
const BaseElement = globalThis.HTMLElement ?? class {};
|
|
6
6
|
var StyledNativeElement = class extends BaseElement {
|
|
7
7
|
connectedCallback() {
|
|
@@ -11,6 +11,5 @@ var StyledNativeElement = class extends BaseElement {
|
|
|
11
11
|
var WeappView = class extends StyledNativeElement {};
|
|
12
12
|
var WeappText = class extends StyledNativeElement {};
|
|
13
13
|
|
|
14
|
-
//#endregion
|
|
15
14
|
export { WeappText, WeappView };
|
|
16
15
|
//# sourceMappingURL=primitives.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/runtime/nativeComponents/progress/helpers.ts
|
|
2
2
|
function finiteNumber(value, fallback) {
|
|
3
3
|
const numeric = Number(value);
|
|
4
4
|
return Number.isFinite(numeric) ? numeric : fallback;
|
|
@@ -24,6 +24,5 @@ function createProgressActiveEndDetail() {
|
|
|
24
24
|
return {};
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
//#endregion
|
|
28
27
|
export { createProgressActiveEndDetail, resolveProgressAnimationDuration, resolveProgressConfig };
|
|
29
28
|
//# sourceMappingURL=helpers.mjs.map
|
|
@@ -4,7 +4,7 @@ import { ensureNativeComponentStyle } from "../style.mjs";
|
|
|
4
4
|
import { createProgressActiveEndDetail, resolveProgressAnimationDuration, resolveProgressConfig } from "./helpers.mjs";
|
|
5
5
|
import { PROGRESS_SHADOW_STYLE } from "./style.mjs";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// src/runtime/nativeComponents/progress/index.ts
|
|
8
8
|
const BaseElement = globalThis.HTMLElement ?? class {};
|
|
9
9
|
var WeappProgress = class extends BaseElement {
|
|
10
10
|
static observedAttributes = [...getNativeComponentDescriptor("progress").attributes];
|
|
@@ -125,6 +125,5 @@ var WeappProgress = class extends BaseElement {
|
|
|
125
125
|
}
|
|
126
126
|
};
|
|
127
127
|
|
|
128
|
-
//#endregion
|
|
129
128
|
export { WeappProgress, createProgressActiveEndDetail, resolveProgressAnimationDuration, resolveProgressConfig };
|
|
130
129
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/runtime/nativeComponents/progress/style.ts
|
|
2
2
|
const PROGRESS_SHADOW_STYLE = `
|
|
3
3
|
:host {
|
|
4
4
|
min-width: 0;
|
|
@@ -35,6 +35,5 @@ const PROGRESS_SHADOW_STYLE = `
|
|
|
35
35
|
}
|
|
36
36
|
`;
|
|
37
37
|
|
|
38
|
-
//#endregion
|
|
39
38
|
export { PROGRESS_SHADOW_STYLE };
|
|
40
39
|
//# sourceMappingURL=style.mjs.map
|
|
@@ -3,7 +3,7 @@ import { connectFormControl, disconnectFormControl, findClosestComposedElement }
|
|
|
3
3
|
import { dispatchMiniProgramEvent, readBooleanAttribute, resolveContainingShadowRoot } from "./helpers.mjs";
|
|
4
4
|
import { ensureNativeComponentStyle } from "./style.mjs";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/runtime/nativeComponents/radio.ts
|
|
7
7
|
const BaseElement = globalThis.HTMLElement ?? class {};
|
|
8
8
|
function collectRadioGroupValue(radios) {
|
|
9
9
|
return Array.from(radios).find((radio) => radio.checked && !radio.disabled)?.value ?? "";
|
|
@@ -142,6 +142,5 @@ var WeappRadio = class extends BaseElement {
|
|
|
142
142
|
}
|
|
143
143
|
};
|
|
144
144
|
|
|
145
|
-
//#endregion
|
|
146
145
|
export { WeappRadio, WeappRadioGroup, collectRadioGroupValue };
|
|
147
146
|
//# sourceMappingURL=radio.mjs.map
|
|
@@ -3,7 +3,7 @@ import { readBooleanAttribute, resolveContainingShadowRoot } from "../helpers.mj
|
|
|
3
3
|
import { ensureNativeComponentStyle } from "../style.mjs";
|
|
4
4
|
import { normalizeRichTextNodes } from "@weapp-core/shared/rich-text";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/runtime/nativeComponents/richText/index.ts
|
|
7
7
|
const BaseElement = globalThis.HTMLElement ?? class {};
|
|
8
8
|
function createRichTextDomNode(node) {
|
|
9
9
|
if (node.type === "text") return document.createTextNode(node.text);
|
|
@@ -69,6 +69,5 @@ var WeappRichText = class extends BaseElement {
|
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
-
//#endregion
|
|
73
72
|
export { WeappRichText };
|
|
74
73
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { readBooleanAttribute } from "../helpers.mjs";
|
|
2
|
+
import { getRuntimeRpxSize } from "../../rpx.mjs";
|
|
3
|
+
|
|
4
|
+
// src/runtime/nativeComponents/scrollView/boundaries.ts
|
|
5
|
+
const DEFAULT_SCROLL_THRESHOLD = 50;
|
|
6
|
+
const THRESHOLD_VALUE_RE = /^([+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)(px|rpx)?$/i;
|
|
7
|
+
/** 默认 50px;rpx 与运行时的设备视口和 designWidth 使用同一换算。 */
|
|
8
|
+
function resolveScrollThreshold(element, name) {
|
|
9
|
+
const raw = element.getAttribute(name)?.trim();
|
|
10
|
+
if (!raw) return DEFAULT_SCROLL_THRESHOLD;
|
|
11
|
+
const match = raw.match(THRESHOLD_VALUE_RE);
|
|
12
|
+
const numeric = match ? Number(match[1]) : NaN;
|
|
13
|
+
if (!Number.isFinite(numeric) || numeric < 0) return DEFAULT_SCROLL_THRESHOLD;
|
|
14
|
+
return match?.[2]?.toLowerCase() === "rpx" ? numeric * getRuntimeRpxSize() : numeric;
|
|
15
|
+
}
|
|
16
|
+
function createScrollBoundaryTracker() {
|
|
17
|
+
let boundaries = {
|
|
18
|
+
top: false,
|
|
19
|
+
bottom: false,
|
|
20
|
+
left: false,
|
|
21
|
+
right: false
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
reset() {
|
|
25
|
+
boundaries = {
|
|
26
|
+
top: false,
|
|
27
|
+
bottom: false,
|
|
28
|
+
left: false,
|
|
29
|
+
right: false
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
/** 按本轮尺寸重新判断上次位置,在业务回调前提交两轴状态。 */
|
|
33
|
+
collect(element, viewport, previous) {
|
|
34
|
+
const scrollY = readBooleanAttribute(element, "scroll-y") && viewport.scrollHeight > viewport.clientHeight;
|
|
35
|
+
const scrollX = readBooleanAttribute(element, "scroll-x") && viewport.scrollWidth > viewport.clientWidth;
|
|
36
|
+
const lowerThreshold = resolveScrollThreshold(element, "lower-threshold");
|
|
37
|
+
const upperThreshold = resolveScrollThreshold(element, "upper-threshold");
|
|
38
|
+
const bottom = viewport.scrollHeight - viewport.clientHeight - lowerThreshold;
|
|
39
|
+
const right = viewport.scrollWidth - viewport.clientWidth - lowerThreshold;
|
|
40
|
+
const current = {
|
|
41
|
+
top: scrollY && viewport.scrollTop <= upperThreshold,
|
|
42
|
+
bottom: scrollY && viewport.scrollTop >= bottom,
|
|
43
|
+
left: scrollX && viewport.scrollLeft <= upperThreshold,
|
|
44
|
+
right: scrollX && viewport.scrollLeft >= right
|
|
45
|
+
};
|
|
46
|
+
const entered = {
|
|
47
|
+
top: current.top && !(boundaries.top && previous.scrollTop <= upperThreshold),
|
|
48
|
+
bottom: current.bottom && !(boundaries.bottom && previous.scrollTop >= bottom),
|
|
49
|
+
left: current.left && !(boundaries.left && previous.scrollLeft <= upperThreshold),
|
|
50
|
+
right: current.right && !(boundaries.right && previous.scrollLeft >= right)
|
|
51
|
+
};
|
|
52
|
+
boundaries = current;
|
|
53
|
+
const events = [];
|
|
54
|
+
if (entered.bottom || entered.right) events.push(["scrolltolower", entered.right ? "right" : "bottom"]);
|
|
55
|
+
if (entered.top || entered.left) events.push(["scrolltoupper", entered.left ? "left" : "top"]);
|
|
56
|
+
return events;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { createScrollBoundaryTracker };
|
|
62
|
+
//# sourceMappingURL=boundaries.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boundaries.mjs","names":[],"sources":["../../../../src/runtime/nativeComponents/scrollView/boundaries.ts"],"sourcesContent":["import type { ScrollPosition } from './helpers'\nimport { getRuntimeRpxSize } from '../../rpx'\nimport { readBooleanAttribute } from '../helpers'\n\nconst DEFAULT_SCROLL_THRESHOLD = 50\nconst THRESHOLD_VALUE_RE = /^([+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?)(px|rpx)?$/i\n\n/** 默认 50px;rpx 与运行时的设备视口和 designWidth 使用同一换算。 */\nfunction resolveScrollThreshold(element: Element, name: string) {\n const raw = element.getAttribute(name)?.trim()\n if (!raw) {\n return DEFAULT_SCROLL_THRESHOLD\n }\n const match = raw.match(THRESHOLD_VALUE_RE)\n const numeric = match ? Number(match[1]) : Number.NaN\n if (!Number.isFinite(numeric) || numeric < 0) {\n return DEFAULT_SCROLL_THRESHOLD\n }\n return match?.[2]?.toLowerCase() === 'rpx' ? numeric * getRuntimeRpxSize() : numeric\n}\n\nexport function createScrollBoundaryTracker() {\n let boundaries = { top: false, bottom: false, left: false, right: false }\n return {\n reset() {\n boundaries = { top: false, bottom: false, left: false, right: false }\n },\n /** 按本轮尺寸重新判断上次位置,在业务回调前提交两轴状态。 */\n collect(element: Element, viewport: HTMLDivElement, previous: ScrollPosition) {\n const scrollY = readBooleanAttribute(element, 'scroll-y') && viewport.scrollHeight > viewport.clientHeight\n const scrollX = readBooleanAttribute(element, 'scroll-x') && viewport.scrollWidth > viewport.clientWidth\n const lowerThreshold = resolveScrollThreshold(element, 'lower-threshold')\n const upperThreshold = resolveScrollThreshold(element, 'upper-threshold')\n const bottom = viewport.scrollHeight - viewport.clientHeight - lowerThreshold\n const right = viewport.scrollWidth - viewport.clientWidth - lowerThreshold\n const current = {\n top: scrollY && viewport.scrollTop <= upperThreshold,\n bottom: scrollY && viewport.scrollTop >= bottom,\n left: scrollX && viewport.scrollLeft <= upperThreshold,\n right: scrollX && viewport.scrollLeft >= right,\n }\n const entered = {\n top: current.top && !(boundaries.top && previous.scrollTop <= upperThreshold),\n bottom: current.bottom && !(boundaries.bottom && previous.scrollTop >= bottom),\n left: current.left && !(boundaries.left && previous.scrollLeft <= upperThreshold),\n right: current.right && !(boundaries.right && previous.scrollLeft >= right),\n }\n boundaries = current\n const events: Array<[string, string]> = []\n if (entered.bottom || entered.right) {\n events.push(['scrolltolower', entered.right ? 'right' : 'bottom'])\n }\n if (entered.top || entered.left) {\n events.push(['scrolltoupper', entered.left ? 'left' : 'top'])\n }\n return events\n },\n }\n}\n"],"mappings":";;;;AAIA,MAAM,2BAA2B;AACjC,MAAM,qBAAqB;;AAG3B,SAAS,uBAAuB,SAAkB,MAAc;CAC9D,MAAM,MAAM,QAAQ,aAAa,IAAI,CAAC,EAAE,KAAK;CAC7C,IAAI,CAAC,KACH,OAAO;CAET,MAAM,QAAQ,IAAI,MAAM,kBAAkB;CAC1C,MAAM,UAAU,QAAQ,OAAO,MAAM,EAAE,IAAI;CAC3C,IAAI,CAAC,OAAO,SAAS,OAAO,KAAK,UAAU,GACzC,OAAO;CAET,OAAO,QAAQ,EAAE,EAAE,YAAY,MAAM,QAAQ,UAAU,kBAAkB,IAAI;AAC/E;AAEA,SAAgB,8BAA8B;CAC5C,IAAI,aAAa;EAAE,KAAK;EAAO,QAAQ;EAAO,MAAM;EAAO,OAAO;CAAM;CACxE,OAAO;EACL,QAAQ;GACN,aAAa;IAAE,KAAK;IAAO,QAAQ;IAAO,MAAM;IAAO,OAAO;GAAM;EACtE;;EAEA,QAAQ,SAAkB,UAA0B,UAA0B;GAC5E,MAAM,UAAU,qBAAqB,SAAS,UAAU,KAAK,SAAS,eAAe,SAAS;GAC9F,MAAM,UAAU,qBAAqB,SAAS,UAAU,KAAK,SAAS,cAAc,SAAS;GAC7F,MAAM,iBAAiB,uBAAuB,SAAS,iBAAiB;GACxE,MAAM,iBAAiB,uBAAuB,SAAS,iBAAiB;GACxE,MAAM,SAAS,SAAS,eAAe,SAAS,eAAe;GAC/D,MAAM,QAAQ,SAAS,cAAc,SAAS,cAAc;GAC5D,MAAM,UAAU;IACd,KAAK,WAAW,SAAS,aAAa;IACtC,QAAQ,WAAW,SAAS,aAAa;IACzC,MAAM,WAAW,SAAS,cAAc;IACxC,OAAO,WAAW,SAAS,cAAc;GAC3C;GACA,MAAM,UAAU;IACd,KAAK,QAAQ,OAAO,EAAE,WAAW,OAAO,SAAS,aAAa;IAC9D,QAAQ,QAAQ,UAAU,EAAE,WAAW,UAAU,SAAS,aAAa;IACvE,MAAM,QAAQ,QAAQ,EAAE,WAAW,QAAQ,SAAS,cAAc;IAClE,OAAO,QAAQ,SAAS,EAAE,WAAW,SAAS,SAAS,cAAc;GACvE;GACA,aAAa;GACb,MAAM,SAAkC,CAAC;GACzC,IAAI,QAAQ,UAAU,QAAQ,OAC5B,OAAO,KAAK,CAAC,iBAAiB,QAAQ,QAAQ,UAAU,QAAQ,CAAC;GAEnE,IAAI,QAAQ,OAAO,QAAQ,MACzB,OAAO,KAAK,CAAC,iBAAiB,QAAQ,OAAO,SAAS,KAAK,CAAC;GAE9D,OAAO;EACT;CACF;AACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function createScrollEventDetail(viewport: Pick<HTMLDivElement, 'scrollHeight' | 'scrollLeft' | 'scrollTop' | 'scrollWidth'>, previous: {
|
|
1
|
+
export interface ScrollPosition {
|
|
3
2
|
scrollLeft: number;
|
|
4
3
|
scrollTop: number;
|
|
5
|
-
}
|
|
4
|
+
}
|
|
5
|
+
export declare function createScrollEventDetail(viewport: Pick<HTMLDivElement, 'scrollHeight' | 'scrollLeft' | 'scrollTop' | 'scrollWidth'>, previous: ScrollPosition): {
|
|
6
6
|
scrollLeft: number;
|
|
7
7
|
scrollTop: number;
|
|
8
8
|
scrollWidth: number;
|
|
@@ -10,5 +10,4 @@ export declare function createScrollEventDetail(viewport: Pick<HTMLDivElement, '
|
|
|
10
10
|
deltaX: number;
|
|
11
11
|
deltaY: number;
|
|
12
12
|
};
|
|
13
|
-
//#
|
|
14
|
-
//# sourceMappingURL=scrollView.d.mts.map
|
|
13
|
+
//# sourceMappingURL=helpers.d.mts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// src/runtime/nativeComponents/scrollView/helpers.ts
|
|
2
|
+
function createScrollEventDetail(viewport, previous) {
|
|
3
|
+
return {
|
|
4
|
+
scrollLeft: viewport.scrollLeft,
|
|
5
|
+
scrollTop: viewport.scrollTop,
|
|
6
|
+
scrollWidth: viewport.scrollWidth,
|
|
7
|
+
scrollHeight: viewport.scrollHeight,
|
|
8
|
+
deltaX: viewport.scrollLeft - previous.scrollLeft,
|
|
9
|
+
deltaY: viewport.scrollTop - previous.scrollTop
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { createScrollEventDetail };
|
|
14
|
+
//# sourceMappingURL=helpers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.mjs","names":[],"sources":["../../../../src/runtime/nativeComponents/scrollView/helpers.ts"],"sourcesContent":["export interface ScrollPosition {\n scrollLeft: number\n scrollTop: number\n}\n\nexport function createScrollEventDetail(\n viewport: Pick<HTMLDivElement, 'scrollHeight' | 'scrollLeft' | 'scrollTop' | 'scrollWidth'>,\n previous: ScrollPosition,\n) {\n return {\n scrollLeft: viewport.scrollLeft,\n scrollTop: viewport.scrollTop,\n scrollWidth: viewport.scrollWidth,\n scrollHeight: viewport.scrollHeight,\n deltaX: viewport.scrollLeft - previous.scrollLeft,\n deltaY: viewport.scrollTop - previous.scrollTop,\n }\n}\n"],"mappings":";AAKA,SAAgB,wBACd,UACA,UACA;CACA,OAAO;EACL,YAAY,SAAS;EACrB,WAAW,SAAS;EACpB,aAAa,SAAS;EACtB,cAAc,SAAS;EACvB,QAAQ,SAAS,aAAa,SAAS;EACvC,QAAQ,SAAS,YAAY,SAAS;CACxC;AACF"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { getNativeComponentDescriptor } from "../../../shared/nativeComponents.mjs";
|
|
2
|
+
import { dispatchMiniProgramEvent, readBooleanAttribute, resolveContainingShadowRoot } from "../helpers.mjs";
|
|
3
|
+
import { ensureNativeComponentStyle } from "../style.mjs";
|
|
4
|
+
import { createScrollBoundaryTracker } from "./boundaries.mjs";
|
|
5
|
+
import { createScrollEventDetail } from "./helpers.mjs";
|
|
6
|
+
import { findScrollTarget, scrollToTarget } from "./position.mjs";
|
|
7
|
+
|
|
8
|
+
// src/runtime/nativeComponents/scrollView/index.ts
|
|
9
|
+
const BaseElement = globalThis.HTMLElement ?? class {};
|
|
10
|
+
const SCROLL_END_DELAY = 150;
|
|
11
|
+
const POSITION_ATTRIBUTES = /* @__PURE__ */ new Set([
|
|
12
|
+
"scroll-into-view",
|
|
13
|
+
"scroll-into-view-offset",
|
|
14
|
+
"scroll-into-view-alignment",
|
|
15
|
+
"scroll-top",
|
|
16
|
+
"scroll-left",
|
|
17
|
+
"scroll-x",
|
|
18
|
+
"scroll-y"
|
|
19
|
+
]);
|
|
20
|
+
const EVENT_OPTIONS = {
|
|
21
|
+
bubbles: false,
|
|
22
|
+
composed: false
|
|
23
|
+
};
|
|
24
|
+
var WeappScrollView = class extends BaseElement {
|
|
25
|
+
static observedAttributes = [...getNativeComponentDescriptor("scroll-view").attributes];
|
|
26
|
+
#viewport;
|
|
27
|
+
#previous = {
|
|
28
|
+
scrollLeft: 0,
|
|
29
|
+
scrollTop: 0
|
|
30
|
+
};
|
|
31
|
+
#boundaries = createScrollBoundaryTracker();
|
|
32
|
+
#scrolling = false;
|
|
33
|
+
#generation = 0;
|
|
34
|
+
#connectionVersion = 0;
|
|
35
|
+
#scrollEndTimer;
|
|
36
|
+
#childrenObserver;
|
|
37
|
+
#resizeObserver;
|
|
38
|
+
#alignedTarget;
|
|
39
|
+
get scrollTop() {
|
|
40
|
+
return this.#viewport?.scrollTop ?? 0;
|
|
41
|
+
}
|
|
42
|
+
set scrollTop(value) {
|
|
43
|
+
if (this.#viewport) this.#viewport.scrollTop = value;
|
|
44
|
+
}
|
|
45
|
+
get scrollLeft() {
|
|
46
|
+
return this.#viewport?.scrollLeft ?? 0;
|
|
47
|
+
}
|
|
48
|
+
set scrollLeft(value) {
|
|
49
|
+
if (this.#viewport) this.#viewport.scrollLeft = value;
|
|
50
|
+
}
|
|
51
|
+
connectedCallback() {
|
|
52
|
+
ensureNativeComponentStyle(resolveContainingShadowRoot(this));
|
|
53
|
+
const initializePosition = !this.#viewport;
|
|
54
|
+
this.#ensureStructure();
|
|
55
|
+
if (!initializePosition) this.#previous = {
|
|
56
|
+
scrollLeft: this.scrollLeft,
|
|
57
|
+
scrollTop: this.scrollTop
|
|
58
|
+
};
|
|
59
|
+
this.#syncAttributes(void 0, initializePosition);
|
|
60
|
+
this.#childrenObserver ??= new MutationObserver(() => this.#scrollIntoView(true));
|
|
61
|
+
this.#childrenObserver.observe(this, {
|
|
62
|
+
childList: true,
|
|
63
|
+
subtree: true,
|
|
64
|
+
attributes: true,
|
|
65
|
+
attributeFilter: ["id"]
|
|
66
|
+
});
|
|
67
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
68
|
+
this.#resizeObserver ??= new ResizeObserver(() => this.#scrollIntoView(true));
|
|
69
|
+
this.#resizeObserver.observe(this.#viewport);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
disconnectedCallback() {
|
|
73
|
+
this.#connectionVersion += 1;
|
|
74
|
+
this.#generation += 1;
|
|
75
|
+
this.#clearScrollEndTimer();
|
|
76
|
+
this.#scrolling = false;
|
|
77
|
+
this.#boundaries.reset();
|
|
78
|
+
this.#childrenObserver?.disconnect();
|
|
79
|
+
this.#resizeObserver?.disconnect();
|
|
80
|
+
this.#alignedTarget = void 0;
|
|
81
|
+
}
|
|
82
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
83
|
+
if (oldValue !== newValue) this.#syncAttributes(name);
|
|
84
|
+
}
|
|
85
|
+
#ensureStructure() {
|
|
86
|
+
if (this.#viewport || typeof document === "undefined") return;
|
|
87
|
+
const root = this.shadowRoot ?? this.attachShadow({ mode: "open" });
|
|
88
|
+
const style = document.createElement("style");
|
|
89
|
+
style.textContent = `
|
|
90
|
+
:host { min-width: 0; min-height: 0; }
|
|
91
|
+
.viewport { width: 100%; height: 100%; overscroll-behavior: contain; }
|
|
92
|
+
.viewport.flex {
|
|
93
|
+
display: inherit;
|
|
94
|
+
flex-direction: inherit;
|
|
95
|
+
flex-wrap: inherit;
|
|
96
|
+
justify-content: inherit;
|
|
97
|
+
align-items: inherit;
|
|
98
|
+
align-content: inherit;
|
|
99
|
+
gap: inherit;
|
|
100
|
+
}
|
|
101
|
+
.viewport.flex > slot { display: contents; }
|
|
102
|
+
.viewport.no-scrollbar { scrollbar-width: none; }
|
|
103
|
+
.viewport.no-scrollbar.scroll-x { scrollbar-width: auto; }
|
|
104
|
+
.viewport.no-scrollbar::-webkit-scrollbar:vertical { display: none; width: 0; }
|
|
105
|
+
`;
|
|
106
|
+
const viewport = document.createElement("div");
|
|
107
|
+
viewport.className = "viewport";
|
|
108
|
+
const slot = document.createElement("slot");
|
|
109
|
+
slot.addEventListener("slotchange", () => this.#scrollIntoView(true));
|
|
110
|
+
viewport.append(slot);
|
|
111
|
+
viewport.addEventListener("scroll", (event) => {
|
|
112
|
+
if (event.target === viewport) this.#handleScroll();
|
|
113
|
+
});
|
|
114
|
+
root.append(style, viewport);
|
|
115
|
+
this.#viewport = viewport;
|
|
116
|
+
}
|
|
117
|
+
#handleScroll() {
|
|
118
|
+
const viewport = this.#viewport;
|
|
119
|
+
if (!viewport || !this.isConnected) return;
|
|
120
|
+
const detail = createScrollEventDetail(viewport, this.#previous);
|
|
121
|
+
const connectionVersion = this.#connectionVersion;
|
|
122
|
+
const boundaries = this.#boundaries.collect(this, viewport, this.#previous);
|
|
123
|
+
this.#previous = {
|
|
124
|
+
scrollLeft: detail.scrollLeft,
|
|
125
|
+
scrollTop: detail.scrollTop
|
|
126
|
+
};
|
|
127
|
+
const started = !this.#scrolling;
|
|
128
|
+
this.#scrolling = true;
|
|
129
|
+
this.#clearScrollEndTimer();
|
|
130
|
+
const generation = ++this.#generation;
|
|
131
|
+
this.#scrollEndTimer = setTimeout(() => {
|
|
132
|
+
if (generation !== this.#generation || !this.isConnected) return;
|
|
133
|
+
this.#scrollEndTimer = void 0;
|
|
134
|
+
this.#scrolling = false;
|
|
135
|
+
dispatchMiniProgramEvent(this, "scrollend", {
|
|
136
|
+
...detail,
|
|
137
|
+
deltaX: 0,
|
|
138
|
+
deltaY: 0
|
|
139
|
+
}, EVENT_OPTIONS);
|
|
140
|
+
}, SCROLL_END_DELAY);
|
|
141
|
+
if (started) dispatchMiniProgramEvent(this, "scrollstart", detail, EVENT_OPTIONS);
|
|
142
|
+
if (!this.isConnected || connectionVersion !== this.#connectionVersion) return;
|
|
143
|
+
dispatchMiniProgramEvent(this, "scroll", detail, EVENT_OPTIONS);
|
|
144
|
+
for (const [name, direction] of boundaries) {
|
|
145
|
+
if (!this.isConnected || connectionVersion !== this.#connectionVersion) break;
|
|
146
|
+
dispatchMiniProgramEvent(this, name, { direction }, EVENT_OPTIONS);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
#clearScrollEndTimer() {
|
|
150
|
+
if (this.#scrollEndTimer !== void 0) {
|
|
151
|
+
clearTimeout(this.#scrollEndTimer);
|
|
152
|
+
this.#scrollEndTimer = void 0;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
#syncAttributes(changedName, initializePosition = false) {
|
|
156
|
+
const viewport = this.#viewport;
|
|
157
|
+
if (!viewport) return;
|
|
158
|
+
if (!changedName || changedName === "scroll-x") {
|
|
159
|
+
const scrollX = readBooleanAttribute(this, "scroll-x");
|
|
160
|
+
viewport.style.overflowX = scrollX ? "auto" : "hidden";
|
|
161
|
+
viewport.classList.toggle("scroll-x", scrollX);
|
|
162
|
+
}
|
|
163
|
+
if (!changedName || changedName === "scroll-y") viewport.style.overflowY = readBooleanAttribute(this, "scroll-y") ? "auto" : "hidden";
|
|
164
|
+
if (!changedName || changedName === "enable-flex") viewport.classList.toggle("flex", readBooleanAttribute(this, "enable-flex"));
|
|
165
|
+
if (!changedName || changedName === "show-scrollbar" || changedName === "enhanced" || changedName === "scroll-y") {
|
|
166
|
+
const hidden = readBooleanAttribute(this, "scroll-y") && readBooleanAttribute(this, "enhanced") && this.hasAttribute("show-scrollbar") && !readBooleanAttribute(this, "show-scrollbar");
|
|
167
|
+
viewport.classList.toggle("no-scrollbar", hidden);
|
|
168
|
+
}
|
|
169
|
+
if (initializePosition || changedName === "scroll-top") {
|
|
170
|
+
const scrollTop = Number(this.getAttribute("scroll-top"));
|
|
171
|
+
if (Number.isFinite(scrollTop)) viewport.scrollTop = scrollTop;
|
|
172
|
+
}
|
|
173
|
+
if (initializePosition || changedName === "scroll-left") {
|
|
174
|
+
const scrollLeft = Number(this.getAttribute("scroll-left"));
|
|
175
|
+
if (Number.isFinite(scrollLeft)) viewport.scrollLeft = scrollLeft;
|
|
176
|
+
}
|
|
177
|
+
if (!changedName || POSITION_ATTRIBUTES.has(changedName)) this.#scrollIntoView();
|
|
178
|
+
}
|
|
179
|
+
#scrollIntoView(onlyNewTarget = false) {
|
|
180
|
+
const viewport = this.#viewport;
|
|
181
|
+
if (!viewport || !this.isConnected) return;
|
|
182
|
+
const target = findScrollTarget(this);
|
|
183
|
+
if (!target) {
|
|
184
|
+
this.#alignedTarget = void 0;
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
if (onlyNewTarget && target === this.#alignedTarget) return;
|
|
188
|
+
this.#alignedTarget = scrollToTarget(this, viewport, target) ? target : void 0;
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
export { WeappScrollView, createScrollEventDetail };
|
|
193
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/runtime/nativeComponents/scrollView/index.ts"],"sourcesContent":["import type { ScrollPosition } from './helpers'\nimport { getNativeComponentDescriptor } from '../../../shared/nativeComponents'\nimport { dispatchMiniProgramEvent, readBooleanAttribute, resolveContainingShadowRoot } from '../helpers'\nimport { ensureNativeComponentStyle } from '../style'\nimport { createScrollBoundaryTracker } from './boundaries'\nimport { createScrollEventDetail } from './helpers'\nimport { findScrollTarget, scrollToTarget } from './position'\n\nexport { createScrollEventDetail } from './helpers'\n\nconst BaseElement = (globalThis.HTMLElement ?? class {}) as typeof HTMLElement\nconst SCROLL_END_DELAY = 150\nconst POSITION_ATTRIBUTES = new Set(['scroll-into-view', 'scroll-into-view-offset', 'scroll-into-view-alignment', 'scroll-top', 'scroll-left', 'scroll-x', 'scroll-y'])\nconst EVENT_OPTIONS = { bubbles: false, composed: false }\n\nexport class WeappScrollView extends BaseElement {\n static observedAttributes = [...getNativeComponentDescriptor('scroll-view')!.attributes]\n\n #viewport?: HTMLDivElement\n #previous: ScrollPosition = { scrollLeft: 0, scrollTop: 0 }\n #boundaries = createScrollBoundaryTracker()\n #scrolling = false\n #generation = 0\n #connectionVersion = 0\n #scrollEndTimer: ReturnType<typeof setTimeout> | undefined\n #childrenObserver?: MutationObserver\n #resizeObserver?: ResizeObserver\n #alignedTarget?: Element\n\n get scrollTop() {\n return this.#viewport?.scrollTop ?? 0\n }\n\n set scrollTop(value: number) {\n if (this.#viewport) {\n this.#viewport.scrollTop = value\n }\n }\n\n get scrollLeft() {\n return this.#viewport?.scrollLeft ?? 0\n }\n\n set scrollLeft(value: number) {\n if (this.#viewport) {\n this.#viewport.scrollLeft = value\n }\n }\n\n connectedCallback() {\n ensureNativeComponentStyle(resolveContainingShadowRoot(this))\n const initializePosition = !this.#viewport\n this.#ensureStructure()\n if (!initializePosition) {\n this.#previous = { scrollLeft: this.scrollLeft, scrollTop: this.scrollTop }\n }\n this.#syncAttributes(undefined, initializePosition)\n this.#childrenObserver ??= new MutationObserver(() => this.#scrollIntoView(true))\n this.#childrenObserver.observe(this, { childList: true, subtree: true, attributes: true, attributeFilter: ['id'] })\n if (typeof ResizeObserver !== 'undefined') {\n this.#resizeObserver ??= new ResizeObserver(() => this.#scrollIntoView(true))\n this.#resizeObserver.observe(this.#viewport!)\n }\n }\n\n disconnectedCallback() {\n this.#connectionVersion += 1\n this.#generation += 1\n this.#clearScrollEndTimer()\n this.#scrolling = false\n this.#boundaries.reset()\n this.#childrenObserver?.disconnect()\n this.#resizeObserver?.disconnect()\n this.#alignedTarget = undefined\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (oldValue !== newValue) {\n this.#syncAttributes(name)\n }\n }\n\n #ensureStructure() {\n if (this.#viewport || typeof document === 'undefined') {\n return\n }\n const root = this.shadowRoot ?? this.attachShadow({ mode: 'open' })\n const style = document.createElement('style')\n style.textContent = `\n :host { min-width: 0; min-height: 0; }\n .viewport { width: 100%; height: 100%; overscroll-behavior: contain; }\n .viewport.flex {\n display: inherit;\n flex-direction: inherit;\n flex-wrap: inherit;\n justify-content: inherit;\n align-items: inherit;\n align-content: inherit;\n gap: inherit;\n }\n .viewport.flex > slot { display: contents; }\n .viewport.no-scrollbar { scrollbar-width: none; }\n .viewport.no-scrollbar.scroll-x { scrollbar-width: auto; }\n .viewport.no-scrollbar::-webkit-scrollbar:vertical { display: none; width: 0; }\n `\n const viewport = document.createElement('div')\n viewport.className = 'viewport'\n const slot = document.createElement('slot')\n slot.addEventListener('slotchange', () => this.#scrollIntoView(true))\n viewport.append(slot)\n viewport.addEventListener('scroll', (event) => {\n if (event.target === viewport) {\n this.#handleScroll()\n }\n })\n root.append(style, viewport)\n this.#viewport = viewport\n }\n\n #handleScroll() {\n const viewport = this.#viewport\n if (!viewport || !this.isConnected) {\n return\n }\n const detail = createScrollEventDetail(viewport, this.#previous)\n const connectionVersion = this.#connectionVersion\n const boundaries = this.#boundaries.collect(this, viewport, this.#previous)\n this.#previous = { scrollLeft: detail.scrollLeft, scrollTop: detail.scrollTop }\n const started = !this.#scrolling\n this.#scrolling = true\n this.#clearScrollEndTimer()\n const generation = ++this.#generation\n // 在任何业务回调前登记计时器;重入滚动可直接接管,断连可立即取消。\n this.#scrollEndTimer = setTimeout(() => {\n if (generation !== this.#generation || !this.isConnected) {\n return\n }\n this.#scrollEndTimer = undefined\n this.#scrolling = false\n dispatchMiniProgramEvent(this, 'scrollend', { ...detail, deltaX: 0, deltaY: 0 }, EVENT_OPTIONS)\n }, SCROLL_END_DELAY)\n if (started) {\n dispatchMiniProgramEvent(this, 'scrollstart', detail, EVENT_OPTIONS)\n }\n if (!this.isConnected || connectionVersion !== this.#connectionVersion) {\n return\n }\n dispatchMiniProgramEvent(this, 'scroll', detail, EVENT_OPTIONS)\n for (const [name, direction] of boundaries) {\n if (!this.isConnected || connectionVersion !== this.#connectionVersion) {\n break\n }\n dispatchMiniProgramEvent(this, name, { direction }, EVENT_OPTIONS)\n }\n }\n\n #clearScrollEndTimer() {\n if (this.#scrollEndTimer !== undefined) {\n clearTimeout(this.#scrollEndTimer)\n this.#scrollEndTimer = undefined\n }\n }\n\n #syncAttributes(changedName?: string, initializePosition = false) {\n const viewport = this.#viewport\n if (!viewport) {\n return\n }\n if (!changedName || changedName === 'scroll-x') {\n const scrollX = readBooleanAttribute(this, 'scroll-x')\n viewport.style.overflowX = scrollX ? 'auto' : 'hidden'\n viewport.classList.toggle('scroll-x', scrollX)\n }\n if (!changedName || changedName === 'scroll-y') {\n viewport.style.overflowY = readBooleanAttribute(this, 'scroll-y') ? 'auto' : 'hidden'\n }\n if (!changedName || changedName === 'enable-flex') {\n viewport.classList.toggle('flex', readBooleanAttribute(this, 'enable-flex'))\n }\n if (!changedName || changedName === 'show-scrollbar' || changedName === 'enhanced' || changedName === 'scroll-y') {\n const hidden = readBooleanAttribute(this, 'scroll-y') && readBooleanAttribute(this, 'enhanced')\n && this.hasAttribute('show-scrollbar') && !readBooleanAttribute(this, 'show-scrollbar')\n viewport.classList.toggle('no-scrollbar', hidden)\n }\n if (initializePosition || changedName === 'scroll-top') {\n const scrollTop = Number(this.getAttribute('scroll-top'))\n if (Number.isFinite(scrollTop)) {\n viewport.scrollTop = scrollTop\n }\n }\n if (initializePosition || changedName === 'scroll-left') {\n const scrollLeft = Number(this.getAttribute('scroll-left'))\n if (Number.isFinite(scrollLeft)) {\n viewport.scrollLeft = scrollLeft\n }\n }\n if (!changedName || POSITION_ATTRIBUTES.has(changedName)) {\n this.#scrollIntoView()\n }\n }\n\n #scrollIntoView(onlyNewTarget = false) {\n const viewport = this.#viewport\n if (!viewport || !this.isConnected) {\n return\n }\n const target = findScrollTarget(this)\n if (!target) {\n this.#alignedTarget = undefined\n return\n }\n if (onlyNewTarget && target === this.#alignedTarget) {\n return\n }\n this.#alignedTarget = scrollToTarget(this, viewport, target) ? target : undefined\n }\n}\n"],"mappings":"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"}
|