@symbiote-native/slider 2.0.1 → 2.0.2
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/README.md +1 -2
- package/build/angular/slider/index.js +1 -1
- package/build/angular/slider/shared.js +12 -11
- package/build/core/index.js +0 -1
- package/build/core/slider-props.js +6 -5
- package/build/react/index.js +1 -1
- package/build/react/slider/index.js +1 -1
- package/build/react/slider/shared.js +2 -1
- package/build/register.js +1 -2
- package/build/vue/index.js +1 -2
- package/build/vue/slider/index.js +1 -1
- package/build/vue/slider/shared.js +1 -2
- package/build-ngc/angular/slider/index.android.js +3 -3
- package/build-ngc/angular/slider/index.ios.js +3 -3
- package/build-ngc/angular/slider/index.js +1 -1
- package/build-ngc/angular/slider/index.js.map +1 -1
- package/build-ngc/angular/slider/shared.js +15 -14
- package/build-ngc/angular/slider/shared.js.map +1 -1
- package/build-ngc/core/index.js +0 -1
- package/build-ngc/core/index.js.map +1 -1
- package/build-ngc/core/slider-props.js +6 -5
- package/build-ngc/core/slider-props.js.map +1 -1
- package/build-ngc/register.js +1 -2
- package/build-ngc/register.js.map +1 -1
- package/package.json +10 -10
- package/src/angular/slider/index.ts +1 -1
- package/src/angular/slider/shared.ts +12 -11
- package/src/angular/slider/slider.test.ts +7 -8
- package/src/core/index.ts +0 -1
- package/src/core/slider-props.ts +6 -5
- package/src/react/index.ts +1 -1
- package/src/react/slider/index.ts +1 -1
- package/src/react/slider/shared.ts +5 -4
- package/src/react/slider/slider.test.tsx +1 -1
- package/src/register.ts +1 -2
- package/src/vue/index.ts +1 -2
- package/src/vue/slider/index.ts +1 -1
- package/src/vue/slider/shared.ts +1 -2
- package/src/vue/slider/slider.test.ts +1 -1
package/README.md
CHANGED
|
@@ -6,8 +6,7 @@ not just React. The library's default export is a React component (it calls hook
|
|
|
6
6
|
dispatcher), so a non-React adapter renders it with a null dispatcher and it throws. This package
|
|
7
7
|
reaches the native `RNCSlider` view directly through the engine's `createNode`-by-ViewConfig path
|
|
8
8
|
instead of importing the library's React component — the same mechanism SymbioteNative uses for its
|
|
9
|
-
own primitives.
|
|
10
|
-
mechanism and rationale.
|
|
9
|
+
own primitives.
|
|
11
10
|
|
|
12
11
|
## Install
|
|
13
12
|
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Base entry for headless / tsc: re-exports the iOS variant (Metro picks index.ios / index.android
|
|
2
|
-
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
2
|
+
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
3
3
|
export { Slider } from './index.ios';
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
// layout) and the native render live in @symbiote-native/slider core, shared verbatim with the Vue
|
|
3
3
|
// adapter; here Angular supplies plain class fields (mirroring ActivityIndicatorBase/SwitchBase)
|
|
4
4
|
// plus real @Output() EventEmitters for the four native callbacks, and renders through
|
|
5
|
-
// DescriptorOutlet — the generic
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
5
|
+
// DescriptorOutlet — the generic descriptor-to-Angular bridge — since this component has no
|
|
6
|
+
// imperative-ref need the Descriptor prop bag can't carry. The native RNCSlider view carries no
|
|
7
|
+
// symbiote metadata: the engine derives its events and color processors from the library's
|
|
8
|
+
// ViewConfig at runtime, registered by the side-effect import in ../../register (pulled in by the
|
|
9
|
+
// package barrel, NOT here, so this module and its tests stay free of the third-party spec). We
|
|
10
|
+
// never import the library's own React Slider component here — that component calls React hooks
|
|
11
|
+
// off the React dispatcher internally, which is null under Angular, so it would crash if rendered
|
|
12
|
+
// directly; instead the engine derives the native view's events and prop processors from its
|
|
13
|
+
// ViewConfig at runtime, keeping this wrapper framework-agnostic underneath.
|
|
12
14
|
//
|
|
13
15
|
// KNOWN GAP (deliberate, scoped by the task this module was built for): the custom `StepMarker`
|
|
14
16
|
// render slot (a per-adapter overlay element — a React FC, a Vue scoped slot) has no Angular
|
|
@@ -509,10 +511,9 @@ let SliderBase = (() => {
|
|
|
509
511
|
this.accessibilityAction.emit(event);
|
|
510
512
|
};
|
|
511
513
|
// Native onLayout fires through the engine's event dispatch (Renderer2.listen), OUTSIDE
|
|
512
|
-
// Angular's zoneless change-detection notification
|
|
513
|
-
//
|
|
514
|
-
//
|
|
515
|
-
// indicator, since nothing would tell the OnPush view it is dirty.
|
|
514
|
+
// Angular's zoneless change-detection notification, so mutating `width` alone would never
|
|
515
|
+
// repaint the step indicator — nothing would tell the OnPush view it is dirty. The explicit
|
|
516
|
+
// `markForCheck()` below is what actually schedules the repaint.
|
|
516
517
|
handleLayout = (event) => {
|
|
517
518
|
const layout = event.nativeEvent.layout;
|
|
518
519
|
if (isRecord(layout) && typeof layout.width === 'number') {
|
package/build/core/index.js
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
// the library's React wrapper does (value/limit/disabled resolution, the step-indicator layout)
|
|
5
5
|
// plus the Descriptor render of the native leaf. Every adapter (`@symbiote-native/slider/vue`, and
|
|
6
6
|
// `/angular`) reuses this verbatim and supplies only its lifecycle + descriptor bridge.
|
|
7
|
-
// This is the third-party-native-view track foreseen by ADR 0014; see ADR 0027.
|
|
8
7
|
export * from './constants';
|
|
9
8
|
export { sanitizeSliderValue, resolveSliderDisabled, resolveSliderAccessibilityState, resolveSliderLowerLimit, resolveSliderUpperLimit, valueFromSliderEvent, computeStepOptions, shouldRenderStepsIndicator, resolveThumbTintColor, shouldPassNativeThumbImage, isInvalidLimitConfig, } from './slider-state';
|
|
10
9
|
export { renderSlider, renderSliderNative, resolveSliderWrapperStyle, resolveSliderNativeStyle, } from './render-slider';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
// Slider prop types.
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// each adapter's own flavored prop type. ISliderProps here is the shared agnostic base
|
|
5
|
-
// adapter re-exports and extends; ISliderViewProps is the pre-resolved input the render fn
|
|
1
|
+
// Slider prop types. Every field of the slider's public surface is framework-agnostic EXCEPT the
|
|
2
|
+
// custom `StepMarker`, which is a render component returning a framework element (React FC vs Vue
|
|
3
|
+
// slot) — since that element type is framework-specific, it can't live in a shared type, so it
|
|
4
|
+
// stays in each adapter's own flavored prop type. ISliderProps here is the shared agnostic base
|
|
5
|
+
// every adapter re-exports and extends; ISliderViewProps is the pre-resolved input the render fn
|
|
6
|
+
// paints.
|
|
6
7
|
export {};
|
package/build/react/index.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
// Importing this barrel first registers the native view's ViewConfig (../register, a side-effect
|
|
3
3
|
// import of the codegen spec — never the library's React Slider component), then exposes the
|
|
4
4
|
// platform-split Slider. The public prop type is the agnostic base plus React's StepMarker render
|
|
5
|
-
// component (Vue takes the same marker as a scoped slot).
|
|
5
|
+
// component (Vue takes the same marker as a scoped slot).
|
|
6
6
|
import '../register';
|
|
7
7
|
export { Slider } from './slider';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Base entry for headless / tsc: re-exports the iOS variant (Metro picks index.ios / index.android
|
|
2
|
-
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
2
|
+
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
3
3
|
export { Slider } from './index.ios';
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
// native RNCSlider carries no symbiote metadata: the engine derives its events and color/image
|
|
7
7
|
// processors from the library's ViewConfig, registered by ../register (the package barrel pulls
|
|
8
8
|
// it). This is the React twin of the Vue wrapper; both drive the engine, NEITHER imports the
|
|
9
|
-
// library's React Slider component
|
|
9
|
+
// library's React Slider component — that component internally calls React hooks off the React
|
|
10
|
+
// dispatcher, so a non-React adapter rendering it directly would crash on a null dispatcher.
|
|
10
11
|
import { createElement, forwardRef, useCallback, useEffect, useState } from 'react';
|
|
11
12
|
import { descriptorToReact, Image } from '@symbiote-native/react';
|
|
12
13
|
import { resolveAccessibilityProps } from '@symbiote-native/components';
|
package/build/register.js
CHANGED
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
// RNCSlider's events and color/image processors on first commit. We pull the codegen SPEC, never
|
|
5
5
|
// the library's default export (Slider.tsx, a React component using hooks) — this module has no
|
|
6
6
|
// hooks, so it is framework-agnostic and shared by every adapter entry (vue / react). Each adapter
|
|
7
|
-
// barrel imports it; the component modules and their headless tests stay free of the spec.
|
|
8
|
-
// CLAUDE.md <third_party_rn_packages_are_react_only> and ADR 0027.
|
|
7
|
+
// barrel imports it; the component modules and their headless tests stay free of the spec.
|
|
9
8
|
import '@react-native-community/slider/dist/RNCSliderNativeComponent';
|
|
10
9
|
import { processColor, registerComponent } from '@symbiote-native/engine';
|
|
11
10
|
import { RNC_SLIDER_VIEW_NAME, SLIDER_ON_CHANGE, SLIDER_ON_VALUE_CHANGE, SLIDER_ON_SLIDING_START, SLIDER_ON_SLIDING_COMPLETE, SLIDER_ON_ACCESSIBILITY_ACTION, } from './core';
|
package/build/vue/index.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
// Importing this barrel first registers the native view's ViewConfig (./register, a side-effect
|
|
3
3
|
// import of the codegen spec — never the library's React component), then exposes the platform-
|
|
4
4
|
// split Slider. The public prop type is the agnostic core ISliderProps plus a Vue-only `class`
|
|
5
|
-
// field (see slider/shared.ts); the custom StepMarker is a Vue scoped slot, not a prop.
|
|
6
|
-
// ADR 0027.
|
|
5
|
+
// field (see slider/shared.ts); the custom StepMarker is a Vue scoped slot, not a prop.
|
|
7
6
|
import '../register';
|
|
8
7
|
export { Slider } from './slider';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Base entry for headless / tsc: re-exports the iOS variant (Metro picks index.ios / index.android
|
|
2
|
-
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
2
|
+
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
3
3
|
export { Slider } from './index.ios';
|
|
@@ -5,8 +5,7 @@
|
|
|
5
5
|
// bridge. The native RNCSlider view carries no symbiote metadata: the engine derives its events
|
|
6
6
|
// and color processors from the library's ViewConfig at runtime. That ViewConfig is registered by
|
|
7
7
|
// the side-effect import in ../register (pulled in by the package barrel, NOT here, so this module
|
|
8
|
-
// and its tests stay free of the third-party spec).
|
|
9
|
-
// <third_party_rn_packages_are_react_only> and ADR 0027.
|
|
8
|
+
// and its tests stay free of the third-party spec).
|
|
10
9
|
import { defineComponent, h, ref } from '@vue/runtime-core';
|
|
11
10
|
import { descriptorToVue, normalizeVueAttrs, resolveModelValue, emitModelUpdate, Image, } from '@symbiote-native/vue';
|
|
12
11
|
import { dlog } from '@symbiote-native/engine';
|
|
@@ -12,10 +12,10 @@ export class Slider extends SliderBase {
|
|
|
12
12
|
stepResolution: SLIDER_STEP_RESOLUTION_ANDROID,
|
|
13
13
|
stepsContainerTop: ANDROID_STEPS_CONTAINER_TOP,
|
|
14
14
|
};
|
|
15
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
16
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Slider, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: Slider, isStandalone: true, selector: "Slider", usesInheritance: true, ngImport: i0, template: `<symbiote-descriptor-outlet [node]="descriptor" />`, isInline: true, dependencies: [{ kind: "component", type: DescriptorOutlet, selector: "symbiote-descriptor-outlet", inputs: ["node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Slider, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
20
|
args: [{
|
|
21
21
|
selector: 'Slider',
|
|
@@ -13,10 +13,10 @@ export class Slider extends SliderBase {
|
|
|
13
13
|
stepResolution: SLIDER_STEP_RESOLUTION_IOS,
|
|
14
14
|
stepsContainerTop: IOS_STEPS_CONTAINER_TOP,
|
|
15
15
|
};
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
17
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Slider, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: Slider, isStandalone: true, selector: "Slider", usesInheritance: true, ngImport: i0, template: `<symbiote-descriptor-outlet [node]="descriptor" />`, isInline: true, dependencies: [{ kind: "component", type: DescriptorOutlet, selector: "symbiote-descriptor-outlet", inputs: ["node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Slider, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
21
|
args: [{
|
|
22
22
|
selector: 'Slider',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Base entry for headless / tsc: re-exports the iOS variant (Metro picks index.ios / index.android
|
|
2
|
-
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
2
|
+
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
3
3
|
export { Slider } from './index.ios';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/angular/slider/index.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/angular/slider/index.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,wFAAwF;AAExF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
// layout) and the native render live in @symbiote-native/slider core, shared verbatim with the Vue
|
|
3
3
|
// adapter; here Angular supplies plain class fields (mirroring ActivityIndicatorBase/SwitchBase)
|
|
4
4
|
// plus real @Output() EventEmitters for the four native callbacks, and renders through
|
|
5
|
-
// DescriptorOutlet — the generic
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
5
|
+
// DescriptorOutlet — the generic descriptor-to-Angular bridge — since this component has no
|
|
6
|
+
// imperative-ref need the Descriptor prop bag can't carry. The native RNCSlider view carries no
|
|
7
|
+
// symbiote metadata: the engine derives its events and color processors from the library's
|
|
8
|
+
// ViewConfig at runtime, registered by the side-effect import in ../../register (pulled in by the
|
|
9
|
+
// package barrel, NOT here, so this module and its tests stay free of the third-party spec). We
|
|
10
|
+
// never import the library's own React Slider component here — that component calls React hooks
|
|
11
|
+
// off the React dispatcher internally, which is null under Angular, so it would crash if rendered
|
|
12
|
+
// directly; instead the engine derives the native view's events and prop processors from its
|
|
13
|
+
// ViewConfig at runtime, keeping this wrapper framework-agnostic underneath.
|
|
12
14
|
//
|
|
13
15
|
// KNOWN GAP (deliberate, scoped by the task this module was built for): the custom `StepMarker`
|
|
14
16
|
// render slot (a per-adapter overlay element — a React FC, a Vue scoped slot) has no Angular
|
|
@@ -143,10 +145,9 @@ export class SliderBase {
|
|
|
143
145
|
this.accessibilityAction.emit(event);
|
|
144
146
|
};
|
|
145
147
|
// Native onLayout fires through the engine's event dispatch (Renderer2.listen), OUTSIDE
|
|
146
|
-
// Angular's zoneless change-detection notification
|
|
147
|
-
//
|
|
148
|
-
//
|
|
149
|
-
// indicator, since nothing would tell the OnPush view it is dirty.
|
|
148
|
+
// Angular's zoneless change-detection notification, so mutating `width` alone would never
|
|
149
|
+
// repaint the step indicator — nothing would tell the OnPush view it is dirty. The explicit
|
|
150
|
+
// `markForCheck()` below is what actually schedules the repaint.
|
|
150
151
|
handleLayout = (event) => {
|
|
151
152
|
const layout = event.nativeEvent.layout;
|
|
152
153
|
if (isRecord(layout) && typeof layout.width === 'number') {
|
|
@@ -276,10 +277,10 @@ export class SliderBase {
|
|
|
276
277
|
});
|
|
277
278
|
return renderSlider(view, this.platform, { steps, onLayout: this.handleLayout });
|
|
278
279
|
}
|
|
279
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
280
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.
|
|
280
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SliderBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
281
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: SliderBase, isStandalone: true, inputs: { value: "value", minimumValue: "minimumValue", maximumValue: "maximumValue", step: "step", lowerLimit: "lowerLimit", upperLimit: "upperLimit", minimumTrackTintColor: "minimumTrackTintColor", maximumTrackTintColor: "maximumTrackTintColor", thumbTintColor: "thumbTintColor", disabled: "disabled", inverted: "inverted", tapToSeek: "tapToSeek", vertical: "vertical", thumbImage: "thumbImage", minimumTrackImage: "minimumTrackImage", maximumTrackImage: "maximumTrackImage", trackImage: "trackImage", thumbSize: "thumbSize", accessibilityUnits: "accessibilityUnits", accessibilityIncrements: "accessibilityIncrements", renderStepNumber: "renderStepNumber", testID: "testID", style: "style", nativeID: "nativeID", accessible: "accessible", accessibilityLabel: "accessibilityLabel", accessibilityHint: "accessibilityHint", accessibilityRole: "accessibilityRole", accessibilityState: "accessibilityState", accessibilityValue: "accessibilityValue", accessibilityActions: "accessibilityActions", accessibilityLabelledBy: "accessibilityLabelledBy", importantForAccessibility: "importantForAccessibility", accessibilityLiveRegion: "accessibilityLiveRegion", screenReaderFocusable: "screenReaderFocusable", accessibilityViewIsModal: "accessibilityViewIsModal", accessibilityElementsHidden: "accessibilityElementsHidden", accessibilityIgnoresInvertColors: "accessibilityIgnoresInvertColors", accessibilityLanguage: "accessibilityLanguage", accessibilityRespondsToUserInteraction: "accessibilityRespondsToUserInteraction", accessibilityShowsLargeContentViewer: "accessibilityShowsLargeContentViewer", accessibilityLargeContentTitle: "accessibilityLargeContentTitle", onAccessibilityTap: "onAccessibilityTap", onMagicTap: "onMagicTap", onAccessibilityEscape: "onAccessibilityEscape", role: "role", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], ariaLive: ["aria-live", "ariaLive"], ariaHidden: ["aria-hidden", "ariaHidden"], ariaBusy: ["aria-busy", "ariaBusy"], ariaChecked: ["aria-checked", "ariaChecked"], ariaDisabled: ["aria-disabled", "ariaDisabled"], ariaExpanded: ["aria-expanded", "ariaExpanded"], ariaSelected: ["aria-selected", "ariaSelected"], ariaModal: ["aria-modal", "ariaModal"], ariaValueMax: ["aria-valuemax", "ariaValueMax"], ariaValueMin: ["aria-valuemin", "ariaValueMin"], ariaValueNow: ["aria-valuenow", "ariaValueNow"], ariaValueText: ["aria-valuetext", "ariaValueText"] }, outputs: { valueChange: "valueChange", slidingStart: "slidingStart", slidingComplete: "slidingComplete", accessibilityAction: "accessibilityAction" }, usesOnChanges: true, ngImport: i0 });
|
|
281
282
|
}
|
|
282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SliderBase, decorators: [{
|
|
283
284
|
type: Directive
|
|
284
285
|
}], propDecorators: { value: [{
|
|
285
286
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/angular/slider/shared.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,mGAAmG;AACnG,iGAAiG;AACjG,uFAAuF;AACvF
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/angular/slider/shared.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,mGAAmG;AACnG,iGAAiG;AACjG,uFAAuF;AACvF,4FAA4F;AAC5F,gGAAgG;AAChG,2FAA2F;AAC3F,kGAAkG;AAClG,gGAAgG;AAChG,gGAAgG;AAChG,kGAAkG;AAClG,6FAA6F;AAC7F,6EAA6E;AAC7E,EAAE;AACF,gGAAgG;AAChG,6FAA6F;AAC7F,qFAAqF;AACrF,+FAA+F;AAC/F,wFAAwF;AACxF,qFAAqF;AACrF,kGAAkG;AAClG,4FAA4F;AAC5F,kGAAkG;AAClG,4EAA4E;AAE5E,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,MAAM,EACN,KAAK,EACL,MAAM,GAEP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAOxE,OAAO,EAAE,IAAI,EAAuB,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAC/B,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,8BAA8B,GAI/B,MAAM,YAAY,CAAC;;AAOpB,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,wFAAwF;AACxF,yFAAyF;AACzF,+FAA+F;AAC/F,yFAAyF;AACzF,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAGD,MAAM,OAAgB,UAAU;IACrB,KAAK,CAAU;IACf,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,IAAI,CAAU;IACd,UAAU,CAAU;IACpB,UAAU,CAAU;IACpB,qBAAqB,CAAyC;IAC9D,qBAAqB,CAAyC;IAC9D,cAAc,CAAkC;IAChD,QAAQ,CAAW;IACnB,QAAQ,CAAW;IACnB,SAAS,CAAW;IACpB,QAAQ,CAAW;IACnB,UAAU,CAA8B;IACxC,iBAAiB,CAAqC;IACtD,iBAAiB,CAAqC;IACtD,UAAU,CAA8B;IACxC,SAAS,CAAU;IACnB,kBAAkB,CAAU;IAC5B,uBAAuB,CAAqB;IAC5C,gBAAgB,CAAW;IAC3B,MAAM,CAAU;IAChB,KAAK,CAAyB;IAE9B,QAAQ,CAAU;IAClB,UAAU,CAAW;IACrB,kBAAkB,CAAU;IAC5B,iBAAiB,CAAU;IAC3B,iBAAiB,CAA4C;IAC7D,kBAAkB,CAA4B;IAC9C,kBAAkB,CAA6C;IAC/D,oBAAoB,CAA+C;IACnE,uBAAuB,CAAqB;IAC5C,yBAAyB,CAAoD;IAC7E,uBAAuB,CAAkD;IACzE,qBAAqB,CAAW;IAChC,wBAAwB,CAAW;IACnC,2BAA2B,CAAW;IACtC,gCAAgC,CAAW;IAC3C,qBAAqB,CAAU;IAC/B,sCAAsC,CAAW;IACjD,oCAAoC,CAAW;IAC/C,8BAA8B,CAAU;IACxC,kBAAkB,CAAmC;IACrD,UAAU,CAAmC;IAC7C,qBAAqB,CAAmC;IAExD,IAAI,CAAsB;IACd,SAAS,CAAU;IACd,cAAc,CAAU;IAC9B,QAAQ,CAA2B;IACjC,UAAU,CAAW;IACvB,QAAQ,CAAW;IAChB,WAAW,CAAqB;IAC/B,YAAY,CAAW;IACvB,YAAY,CAAW;IACvB,YAAY,CAAW;IAC1B,SAAS,CAAW;IACjB,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,YAAY,CAAU;IACrB,aAAa,CAAU;IAEhD,6FAA6F;IAC7F,uEAAuE;IACpD,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;IACzC,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;IAC1C,eAAe,GAAG,IAAI,YAAY,EAAU,CAAC;IAC7C,mBAAmB,GAAG,IAAI,YAAY,EAAkB,CAAC;IAI3D,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5D,6FAA6F;IAC7F,kGAAkG;IAClG,6FAA6F;IAC7F,yFAAyF;IACzF,4BAA4B;IACX,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEjD,8FAA8F;IAC9F,4FAA4F;IAC5F,uCAAuC;IAC/B,aAAa,CAAqB;IAC1C,4FAA4F;IACpF,KAAK,GAAG,CAAC,CAAC;IAElB,WAAW;QACT,uFAAuF;QACvF,4FAA4F;QAC5F,8FAA8F;QAC9F,8DAA8D;IAChE,CAAC;IAEkB,iBAAiB,GAAG,CAAC,KAAqB,EAAQ,EAAE;QACrE,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEiB,kBAAkB,GAAG,CAAC,KAAqB,EAAQ,EAAE;QACtE,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC;IAEiB,qBAAqB,GAAG,CAAC,KAAqB,EAAQ,EAAE;QACzE,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEiB,yBAAyB,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC7E,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,wFAAwF;IACxF,0FAA0F;IAC1F,4FAA4F;IAC5F,iEAAiE;IAC9C,YAAY,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAChE,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;QACxC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACzD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;IAEM,UAAU;QAChB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;YAC9D,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;YACzD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,gCAAgC,EAAE,IAAI,CAAC,gCAAgC;YACvE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,sCAAsC,EAAE,IAAI,CAAC,sCAAsC;YACnF,oCAAoC,EAAE,IAAI,CAAC,oCAAoC;YAC/E,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,iBAAiB,EAAE,IAAI,CAAC,cAAc;YACtC,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,aAAa,EAAE,IAAI,CAAC,UAAU;YAC9B,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,cAAc,EAAE,IAAI,CAAC,WAAW;YAChC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,gBAAgB,EAAE,IAAI,CAAC,aAAa;SACrC,CAAC;IACJ,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,KAAK,GAAG,yBAAyB,CAAe,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACzE,MAAM,EACJ,KAAK,EACL,YAAY,EAAE,iBAAiB,EAC/B,YAAY,EAAE,iBAAiB,EAC/B,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAC3B,QAAQ,EACR,QAAQ,EAAE,aAAa,EACvB,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,EACL,GAAG,WAAW,EACf,GAAG,KAAK,CAAC;QAEV,MAAM,YAAY,GAAG,iBAAiB,IAAI,4BAA4B,CAAC;QACvE,MAAM,YAAY,GAAG,iBAAiB,IAAI,4BAA4B,CAAC;QACvE,MAAM,IAAI,GAAG,SAAS,IAAI,mBAAmB,CAAC;QAC9C,MAAM,UAAU,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,IAAI,KAAK,CAAC;QACxC,MAAM,aAAa,GAAG,UAAU,KAAK,SAAS,CAAC;QAC/C,0FAA0F;QAC1F,wCAAwC;QACxC,MAAM,SAAS,GAAG,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,KAAK,EAAE,aAAa,CAAC;YACvE,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,IAAI,GAAqB;YAC7B,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;YACjC,YAAY;YACZ,YAAY;YACZ,IAAI;YACJ,UAAU;YACV,UAAU;YACV,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC;YAC7D,QAAQ;YACR,cAAc,EAAE,qBAAqB,CAAC,cAAc,EAAE,KAAK,EAAE,aAAa,CAAC;YAC3E,UAAU,EAAE,gBAAgB;YAC5B,kBAAkB,EAAE,+BAA+B,CAAC,QAAQ,EAAE,kBAAkB,CAAC;YACjF,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK;YACL,WAAW,EAAE;gBACX,GAAG,WAAW;gBACd,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,iBAAiB;gBAC1C,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,iBAAiB;gBAChD,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,kBAAkB;gBAClD,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,qBAAqB;gBACxD,CAAC,8BAA8B,CAAC,EAAE,IAAI,CAAC,yBAAyB;aACjE;SACF,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,kBAAkB,CAChC,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC7B,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC;QACtE,MAAM,KAAK,GAAG,oBAAoB,CAAC;YACjC,OAAO;YACP,YAAY;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,gBAAgB,EAAE,gBAAgB,KAAK,IAAI;YAC3C,UAAU;YACV,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACnF,CAAC;uGAlRmB,UAAU;2FAAV,UAAU;;2FAAV,UAAU;kBAD/B,SAAS;;sBAEP,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBAEL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBAEL,KAAK;;sBACL,KAAK;uBAAC,YAAY;;sBAClB,KAAK;uBAAC,iBAAiB;;sBACvB,KAAK;uBAAC,WAAW;;sBACjB,KAAK;uBAAC,aAAa;;sBACnB,KAAK;uBAAC,WAAW;;sBACjB,KAAK;uBAAC,cAAc;;sBACpB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,YAAY;;sBAClB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,gBAAgB;;sBAItB,MAAM;;sBACN,MAAM;;sBACN,MAAM;;sBACN,MAAM"}
|
package/build-ngc/core/index.js
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
// the library's React wrapper does (value/limit/disabled resolution, the step-indicator layout)
|
|
5
5
|
// plus the Descriptor render of the native leaf. Every adapter (`@symbiote-native/slider/vue`, and
|
|
6
6
|
// `/angular`) reuses this verbatim and supplies only its lifecycle + descriptor bridge.
|
|
7
|
-
// This is the third-party-native-view track foreseen by ADR 0014; see ADR 0027.
|
|
8
7
|
export * from './constants';
|
|
9
8
|
export { sanitizeSliderValue, resolveSliderDisabled, resolveSliderAccessibilityState, resolveSliderLowerLimit, resolveSliderUpperLimit, valueFromSliderEvent, computeStepOptions, shouldRenderStepsIndicator, resolveThumbTintColor, shouldPassNativeThumbImage, isInvalidLimitConfig, } from './slider-state';
|
|
10
9
|
export { renderSlider, renderSliderNative, resolveSliderWrapperStyle, resolveSliderNativeStyle, } from './render-slider';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,8FAA8F;AAC9F,gGAAgG;AAChG,gGAAgG;AAChG,mGAAmG;AACnG,wFAAwF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,8FAA8F;AAC9F,gGAAgG;AAChG,gGAAgG;AAChG,mGAAmG;AACnG,wFAAwF;AAExF,cAAc,aAAa,CAAC;AAE5B,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAC/B,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
// Slider prop types.
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// each adapter's own flavored prop type. ISliderProps here is the shared agnostic base
|
|
5
|
-
// adapter re-exports and extends; ISliderViewProps is the pre-resolved input the render fn
|
|
1
|
+
// Slider prop types. Every field of the slider's public surface is framework-agnostic EXCEPT the
|
|
2
|
+
// custom `StepMarker`, which is a render component returning a framework element (React FC vs Vue
|
|
3
|
+
// slot) — since that element type is framework-specific, it can't live in a shared type, so it
|
|
4
|
+
// stays in each adapter's own flavored prop type. ISliderProps here is the shared agnostic base
|
|
5
|
+
// every adapter re-exports and extends; ISliderViewProps is the pre-resolved input the render fn
|
|
6
|
+
// paints.
|
|
6
7
|
export {};
|
|
7
8
|
//# sourceMappingURL=slider-props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-props.js","sourceRoot":"","sources":["../../src/core/slider-props.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"slider-props.js","sourceRoot":"","sources":["../../src/core/slider-props.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,kGAAkG;AAClG,+FAA+F;AAC/F,gGAAgG;AAChG,iGAAiG;AACjG,UAAU"}
|
package/build-ngc/register.js
CHANGED
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
// RNCSlider's events and color/image processors on first commit. We pull the codegen SPEC, never
|
|
5
5
|
// the library's default export (Slider.tsx, a React component using hooks) — this module has no
|
|
6
6
|
// hooks, so it is framework-agnostic and shared by every adapter entry (vue / react). Each adapter
|
|
7
|
-
// barrel imports it; the component modules and their headless tests stay free of the spec.
|
|
8
|
-
// CLAUDE.md <third_party_rn_packages_are_react_only> and ADR 0027.
|
|
7
|
+
// barrel imports it; the component modules and their headless tests stay free of the spec.
|
|
9
8
|
import '@react-native-community/slider/dist/RNCSliderNativeComponent';
|
|
10
9
|
import { processColor, registerComponent } from '@symbiote-native/engine';
|
|
11
10
|
import { RNC_SLIDER_VIEW_NAME, SLIDER_ON_CHANGE, SLIDER_ON_VALUE_CHANGE, SLIDER_ON_SLIDING_START, SLIDER_ON_SLIDING_COMPLETE, SLIDER_ON_ACCESSIBILITY_ACTION, } from './core';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,2FAA2F;AAC3F,6FAA6F;AAC7F,iGAAiG;AACjG,gGAAgG;AAChG,mGAAmG;AACnG
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,2FAA2F;AAC3F,6FAA6F;AAC7F,iGAAiG;AACjG,gGAAgG;AAChG,mGAAmG;AACnG,2FAA2F;AAE3F,OAAO,8DAA8D,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAoB,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,QAAQ,CAAC;AAEhB,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,YAAY,CAAC,KAAoB,CAAC,CAAC;AAC5C,CAAC;AAED,iGAAiG;AACjG,oGAAoG;AACpG,gGAAgG;AAChG,kGAAkG;AAClG,kGAAkG;AAClG,iBAAiB,CAAC,oBAAoB,EAAE;IACtC,MAAM,EAAE;QACN,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE;QAC9D,EAAE,GAAG,EAAE,yBAAyB,EAAE,QAAQ,EAAE,YAAY,CAAC,sBAAsB,CAAC,EAAE;QAClF;YACE,GAAG,EAAE,0BAA0B;YAC/B,QAAQ,EAAE,YAAY,CAAC,uBAAuB,CAAC;YAC/C,MAAM,EAAE,IAAI;SACb;QACD;YACE,GAAG,EAAE,6BAA6B;YAClC,QAAQ,EAAE,YAAY,CAAC,0BAA0B,CAAC;YAClD,MAAM,EAAE,IAAI;SACb;QACD;YACE,GAAG,EAAE,iCAAiC;YACtC,QAAQ,EAAE,YAAY,CAAC,8BAA8B,CAAC;YACtD,MAAM,EAAE,IAAI;SACb;KACF;IACD,UAAU,EAAE;QACV,qBAAqB,EAAE,kBAAkB;QACzC,qBAAqB,EAAE,kBAAkB;QACzC,cAAc,EAAE,kBAAkB;KACnC;CACF,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbiote-native/slider",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Third-party native Slider view wrapped for SymbioteNative — one framework-agnostic core, built once and reachable from the React, Vue, and Angular adapters.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"@react-native-community/slider": "^5.2.0",
|
|
61
|
-
"@symbiote-native/components": "0.2.
|
|
62
|
-
"@symbiote-native/engine": "0.1.
|
|
61
|
+
"@symbiote-native/components": "0.2.2",
|
|
62
|
+
"@symbiote-native/engine": "0.1.3"
|
|
63
63
|
},
|
|
64
64
|
"peerDependencies": {
|
|
65
65
|
"@angular/core": ">=20",
|
|
@@ -67,9 +67,9 @@
|
|
|
67
67
|
"react": ">=19.0.0",
|
|
68
68
|
"react-native": ">=0.86",
|
|
69
69
|
"vue": ">=3.5.0",
|
|
70
|
-
"@symbiote-native/angular": "0.3.
|
|
71
|
-
"@symbiote-native/react": "0.2.
|
|
72
|
-
"@symbiote-native/vue": "0.3.
|
|
70
|
+
"@symbiote-native/angular": "0.3.2",
|
|
71
|
+
"@symbiote-native/react": "0.2.3",
|
|
72
|
+
"@symbiote-native/vue": "0.3.2"
|
|
73
73
|
},
|
|
74
74
|
"peerDependenciesMeta": {
|
|
75
75
|
"@symbiote-native/angular": {
|
|
@@ -103,10 +103,10 @@
|
|
|
103
103
|
"@vue/runtime-core": "^3.5.13",
|
|
104
104
|
"react": "19.2.3",
|
|
105
105
|
"typescript": "~6.0.0",
|
|
106
|
-
"@symbiote-native/angular": "0.3.
|
|
107
|
-
"@symbiote-native/react": "0.2.
|
|
108
|
-
"@symbiote-native/test-utils": "0.1.
|
|
109
|
-
"@symbiote-native/vue": "0.3.
|
|
106
|
+
"@symbiote-native/angular": "0.3.2",
|
|
107
|
+
"@symbiote-native/react": "0.2.3",
|
|
108
|
+
"@symbiote-native/test-utils": "0.1.3",
|
|
109
|
+
"@symbiote-native/vue": "0.3.2"
|
|
110
110
|
},
|
|
111
111
|
"scripts": {
|
|
112
112
|
"typecheck": "tsc --build",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Base entry for headless / tsc: re-exports the iOS variant (Metro picks index.ios / index.android
|
|
2
|
-
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
2
|
+
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
3
3
|
|
|
4
4
|
export { Slider } from './index.ios';
|
|
5
5
|
export type { ISliderProps } from './shared';
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
// layout) and the native render live in @symbiote-native/slider core, shared verbatim with the Vue
|
|
3
3
|
// adapter; here Angular supplies plain class fields (mirroring ActivityIndicatorBase/SwitchBase)
|
|
4
4
|
// plus real @Output() EventEmitters for the four native callbacks, and renders through
|
|
5
|
-
// DescriptorOutlet — the generic
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
5
|
+
// DescriptorOutlet — the generic descriptor-to-Angular bridge — since this component has no
|
|
6
|
+
// imperative-ref need the Descriptor prop bag can't carry. The native RNCSlider view carries no
|
|
7
|
+
// symbiote metadata: the engine derives its events and color processors from the library's
|
|
8
|
+
// ViewConfig at runtime, registered by the side-effect import in ../../register (pulled in by the
|
|
9
|
+
// package barrel, NOT here, so this module and its tests stay free of the third-party spec). We
|
|
10
|
+
// never import the library's own React Slider component here — that component calls React hooks
|
|
11
|
+
// off the React dispatcher internally, which is null under Angular, so it would crash if rendered
|
|
12
|
+
// directly; instead the engine derives the native view's events and prop processors from its
|
|
13
|
+
// ViewConfig at runtime, keeping this wrapper framework-agnostic underneath.
|
|
12
14
|
//
|
|
13
15
|
// KNOWN GAP (deliberate, scoped by the task this module was built for): the custom `StepMarker`
|
|
14
16
|
// render slot (a per-adapter overlay element — a React FC, a Vue scoped slot) has no Angular
|
|
@@ -202,10 +204,9 @@ export abstract class SliderBase implements ISliderProps, OnChanges {
|
|
|
202
204
|
};
|
|
203
205
|
|
|
204
206
|
// Native onLayout fires through the engine's event dispatch (Renderer2.listen), OUTSIDE
|
|
205
|
-
// Angular's zoneless change-detection notification
|
|
206
|
-
//
|
|
207
|
-
//
|
|
208
|
-
// indicator, since nothing would tell the OnPush view it is dirty.
|
|
207
|
+
// Angular's zoneless change-detection notification, so mutating `width` alone would never
|
|
208
|
+
// repaint the step indicator — nothing would tell the OnPush view it is dirty. The explicit
|
|
209
|
+
// `markForCheck()` below is what actually schedules the repaint.
|
|
209
210
|
protected readonly handleLayout = (event: ISymbioteEvent): void => {
|
|
210
211
|
const layout = event.nativeEvent.layout;
|
|
211
212
|
if (isRecord(layout) && typeof layout.width === 'number') {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Angular-driven test for the @symbiote-native/slider Angular wrapper. The native
|
|
2
2
|
// RNCSlider carries no symbiote metadata — the engine DERIVES its events + tint processors from an
|
|
3
3
|
// injected codegen-shaped ViewConfig (the same shape the React/Vue adapters' slider.test inject,
|
|
4
4
|
// the same shape RN's ReactNativeViewConfigRegistry holds on a real host). We import the Slider
|
|
@@ -225,13 +225,12 @@ describe('Angular Slider wrapper', () => {
|
|
|
225
225
|
});
|
|
226
226
|
});
|
|
227
227
|
|
|
228
|
-
// Regression test for the anchor/class
|
|
229
|
-
//
|
|
230
|
-
//
|
|
231
|
-
//
|
|
232
|
-
//
|
|
233
|
-
//
|
|
234
|
-
// case.
|
|
228
|
+
// Regression test for the anchor/class resolution: Slider is its own ANCHOR_HOST_COMPONENTS entry
|
|
229
|
+
// (renderer.ts) AND renders through DescriptorOutlet (itself also an anchor entry) — a class= on
|
|
230
|
+
// <Slider> resolves onto Slider's OWN anchor, two levels up from the real committed centering
|
|
231
|
+
// wrapper View the descriptor builds (see the "paints the raw RNCSlider leaf inside a centering
|
|
232
|
+
// wrapper View" test above), and needs its OWN anchorHostStyle merge (see shared.ts's
|
|
233
|
+
// `inputProps`). Mirrors the same case in the Angular pressable wrapper's tests.
|
|
235
234
|
@Component({
|
|
236
235
|
selector: 'symbiote-slider-class-host',
|
|
237
236
|
standalone: true,
|
package/src/core/index.ts
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
// the library's React wrapper does (value/limit/disabled resolution, the step-indicator layout)
|
|
5
5
|
// plus the Descriptor render of the native leaf. Every adapter (`@symbiote-native/slider/vue`, and
|
|
6
6
|
// `/angular`) reuses this verbatim and supplies only its lifecycle + descriptor bridge.
|
|
7
|
-
// This is the third-party-native-view track foreseen by ADR 0014; see ADR 0027.
|
|
8
7
|
|
|
9
8
|
export * from './constants';
|
|
10
9
|
|
package/src/core/slider-props.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
// Slider prop types.
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// each adapter's own flavored prop type. ISliderProps here is the shared agnostic base
|
|
5
|
-
// adapter re-exports and extends; ISliderViewProps is the pre-resolved input the render fn
|
|
1
|
+
// Slider prop types. Every field of the slider's public surface is framework-agnostic EXCEPT the
|
|
2
|
+
// custom `StepMarker`, which is a render component returning a framework element (React FC vs Vue
|
|
3
|
+
// slot) — since that element type is framework-specific, it can't live in a shared type, so it
|
|
4
|
+
// stays in each adapter's own flavored prop type. ISliderProps here is the shared agnostic base
|
|
5
|
+
// every adapter re-exports and extends; ISliderViewProps is the pre-resolved input the render fn
|
|
6
|
+
// paints.
|
|
6
7
|
|
|
7
8
|
import type { IColorValue, IStyleProp, IViewStyle } from '@symbiote-native/engine';
|
|
8
9
|
import type {
|
package/src/react/index.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Importing this barrel first registers the native view's ViewConfig (../register, a side-effect
|
|
3
3
|
// import of the codegen spec — never the library's React Slider component), then exposes the
|
|
4
4
|
// platform-split Slider. The public prop type is the agnostic base plus React's StepMarker render
|
|
5
|
-
// component (Vue takes the same marker as a scoped slot).
|
|
5
|
+
// component (Vue takes the same marker as a scoped slot).
|
|
6
6
|
|
|
7
7
|
import '../register';
|
|
8
8
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Base entry for headless / tsc: re-exports the iOS variant (Metro picks index.ios / index.android
|
|
2
|
-
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
2
|
+
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
3
3
|
|
|
4
4
|
export { Slider } from './index.ios';
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
// native RNCSlider carries no symbiote metadata: the engine derives its events and color/image
|
|
7
7
|
// processors from the library's ViewConfig, registered by ../register (the package barrel pulls
|
|
8
8
|
// it). This is the React twin of the Vue wrapper; both drive the engine, NEITHER imports the
|
|
9
|
-
// library's React Slider component
|
|
9
|
+
// library's React Slider component — that component internally calls React hooks off the React
|
|
10
|
+
// dispatcher, so a non-React adapter rendering it directly would crash on a null dispatcher.
|
|
10
11
|
|
|
11
12
|
import { createElement, forwardRef, useCallback, useEffect, useState } from 'react';
|
|
12
13
|
import type {
|
|
@@ -58,9 +59,9 @@ import {
|
|
|
58
59
|
} from '../../core';
|
|
59
60
|
|
|
60
61
|
// React's flavored prop type: the agnostic base plus the per-adapter StepMarker — a render
|
|
61
|
-
// component returning a React element, which
|
|
62
|
-
//
|
|
63
|
-
//
|
|
62
|
+
// component returning a React element, which is framework-specific and so cannot live in the
|
|
63
|
+
// shared layer. Same name as the agnostic base by convention (cf. IPressableProps declared
|
|
64
|
+
// per-adapter); Vue takes the same marker as a `#stepMarker` scoped slot.
|
|
64
65
|
export interface ISliderProps extends ISliderBaseProps {
|
|
65
66
|
StepMarker?: FC<IStepMarkerProps>;
|
|
66
67
|
// Forwarded onto the OUTER wrapper View, like `style` (resolveSliderWrapperStyle) — resolves
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Co-located React-driven test
|
|
1
|
+
// Co-located React-driven test for the @symbiote-native/slider React wrapper. Mirrors the Vue
|
|
2
2
|
// wrapper test against the SAME injected codegen-shaped ViewConfig, proving the shared core drives
|
|
3
3
|
// React identically: the native RNCSlider leaf paints inside the centering View, value/disabled/
|
|
4
4
|
// limits fold faithfully to the library, tints process, and the native value/sliding events map
|
package/src/register.ts
CHANGED
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
// RNCSlider's events and color/image processors on first commit. We pull the codegen SPEC, never
|
|
5
5
|
// the library's default export (Slider.tsx, a React component using hooks) — this module has no
|
|
6
6
|
// hooks, so it is framework-agnostic and shared by every adapter entry (vue / react). Each adapter
|
|
7
|
-
// barrel imports it; the component modules and their headless tests stay free of the spec.
|
|
8
|
-
// CLAUDE.md <third_party_rn_packages_are_react_only> and ADR 0027.
|
|
7
|
+
// barrel imports it; the component modules and their headless tests stay free of the spec.
|
|
9
8
|
|
|
10
9
|
import '@react-native-community/slider/dist/RNCSliderNativeComponent';
|
|
11
10
|
import { processColor, registerComponent, type IColorValue } from '@symbiote-native/engine';
|
package/src/vue/index.ts
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
// Importing this barrel first registers the native view's ViewConfig (./register, a side-effect
|
|
3
3
|
// import of the codegen spec — never the library's React component), then exposes the platform-
|
|
4
4
|
// split Slider. The public prop type is the agnostic core ISliderProps plus a Vue-only `class`
|
|
5
|
-
// field (see slider/shared.ts); the custom StepMarker is a Vue scoped slot, not a prop.
|
|
6
|
-
// ADR 0027.
|
|
5
|
+
// field (see slider/shared.ts); the custom StepMarker is a Vue scoped slot, not a prop.
|
|
7
6
|
|
|
8
7
|
import '../register';
|
|
9
8
|
|
package/src/vue/slider/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Base entry for headless / tsc: re-exports the iOS variant (Metro picks index.ios / index.android
|
|
2
|
-
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
2
|
+
// per platform via filename selection; this no-suffix file is what tsx/vitest resolve).
|
|
3
3
|
|
|
4
4
|
export { Slider } from './index.ios';
|
|
5
5
|
export type { ISliderProps } from './shared';
|
package/src/vue/slider/shared.ts
CHANGED
|
@@ -5,8 +5,7 @@
|
|
|
5
5
|
// bridge. The native RNCSlider view carries no symbiote metadata: the engine derives its events
|
|
6
6
|
// and color processors from the library's ViewConfig at runtime. That ViewConfig is registered by
|
|
7
7
|
// the side-effect import in ../register (pulled in by the package barrel, NOT here, so this module
|
|
8
|
-
// and its tests stay free of the third-party spec).
|
|
9
|
-
// <third_party_rn_packages_are_react_only> and ADR 0027.
|
|
8
|
+
// and its tests stay free of the third-party spec).
|
|
10
9
|
|
|
11
10
|
import { defineComponent, h, ref, type SetupContext, type VNode } from '@vue/runtime-core';
|
|
12
11
|
import {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Co-located Vue-driven test
|
|
1
|
+
// Co-located Vue-driven test for the @symbiote-native/slider Vue wrapper. The native RNCSlider
|
|
2
2
|
// carries no symbiote metadata — the engine DERIVES its events + tint processors from an injected
|
|
3
3
|
// codegen-shaped ViewConfig (the same shape the React adapter's slider.test injects, the same shape
|
|
4
4
|
// RN's ReactNativeViewConfigRegistry holds on a real host). We import the Slider component from '.'
|