first commit

This commit is contained in:
lingxiao865
2025-09-18 12:39:54 +08:00
parent b2e8461792
commit 6c6fe3d0d6
1898 changed files with 30918 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
import { TdSliderProps } from './type';
declare const props: TdSliderProps;
export default props;

View File

@@ -0,0 +1 @@
const props={disabled:{type:null,value:void 0},label:{type:null,value:!1},marks:{type:null,value:{}},max:{type:Number,value:100},min:{type:Number,value:0},range:{type:Boolean,value:!1},showExtremeValue:{type:Boolean,value:!1},step:{type:Number,value:1},theme:{type:String,value:"default"},value:{type:null,value:null},defaultValue:{type:null,value:0},vertical:{type:Boolean,value:!1}};export default props;

View File

@@ -0,0 +1,67 @@
/// <reference types="miniprogram-api-typings" />
import { SuperComponent } from '../common/src/index';
import type { SliderValue } from './type';
declare type dataType = {
sliderStyles: string;
classPrefix: string;
initialLeft: number | null;
initialRight: number | null;
activeLeft: number;
activeRight: number;
maxRange: number;
lineLeft: number;
lineRight: number;
dotTopValue: number[];
blockSize: number;
isScale: boolean;
scaleArray: any[];
scaleTextArray: any[];
_value: SliderValue;
prefix: string;
isVisibleToScreenReader: boolean;
identifier: number[];
__inited: boolean;
};
export default class Slider extends SuperComponent {
externalClasses: string[];
options: {
pureDataPattern: RegExp;
};
properties: import("./type").TdSliderProps;
controlledProps: {
key: string;
event: string;
}[];
data: dataType;
observers: {
value(newValue: SliderValue): void;
_value(newValue: SliderValue): void;
marks(val: any): void;
};
lifetimes: {
created(): void;
attached(): void;
};
injectPageScroll(): void;
observerScrollTop(rest: any): void;
toggleA11yTips(): void;
renderLine(val: any): void;
triggerValue(value?: SliderValue): void;
handlePropsChange(newValue: SliderValue): void;
valueToPosition(value: number): number;
handleMark(marks: any): void;
setSingleBarWidth(value: number): void;
init(): Promise<void>;
stepValue(value: number): number;
onSingleLineTap(e: WechatMiniprogram.TouchEvent): void;
getSingleChangeValue(e: WechatMiniprogram.TouchEvent): number;
convertPosToValue(posValue: number, dir: 0 | 1): number;
onLineTap(e: WechatMiniprogram.TouchEvent): void;
onTouchStart(e: WechatMiniprogram.TouchEvent): void;
onTouchMoveLeft(e: WechatMiniprogram.TouchEvent): void;
onTouchMoveRight(e: WechatMiniprogram.TouchEvent): void;
setLineStyle(left: number, right: number): void;
onTouchEnd(e: WechatMiniprogram.TouchEvent): void;
getPagePosition(touch: any): any;
}
export {};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
var REGEXP = getRegExp('[$][{value}]{7}');
function getValue(label, value) {
if (label && label === 'true') return value;
if (REGEXP.test(label)) return label.replace(REGEXP, value);
}
module.exports = {
getValue: getValue,
};

View File

@@ -0,0 +1,48 @@
@import '../common/style/index.wxss';.t-slider{width:100%;font-size:14px;display:flex;align-items:center;}
.t-slider--disabled .t-slider__dot-value,.t-slider--disabled .t-slider__range-extreme,.t-slider--disabled .t-slider__scale-desc,.t-slider--disabled .t-slider__value{color:var(--td-slider-disabled-text-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
.t-slider--disabled .t-slider__dot{background-color:var(--td-slider-dot-disabled-bg-color,#fff);border-color:var(--td-slider-dot-disabled-border-color,#f3f3f3);}
.t-slider--top{padding-top:40rpx;}
.t-slider__line{position:absolute;top:0;height:var(--td-slider-bar-height,8rpx);border-radius:calc(var(--td-slider-bar-height,8rpx)/ 2);background-color:var(--td-slider-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
.t-slider__line--disabled{background-color:var(--td-slider-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
.t-slider__line--capsule{height:var(--td-slider-capsule-line-heihgt,36rpx);}
.t-slider__line--capsule.t-slider__line--single{border-top-left-radius:calc(var(--td-slider-capsule-line-heihgt,36rpx)/ 2);border-bottom-left-radius:calc(var(--td-slider-capsule-line-heihgt,36rpx)/ 2);}
.t-slider__dot{border-radius:50%;border:2rpx solid var(--td-slider-dot-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));position:absolute;top:50%;right:0;transform:translate3d(50%,-50%,0);z-index:2;background-color:var(--td-slider-dot-bg-color,#fff);width:var(--td-slider-dot-size,40rpx);height:var(--td-slider-dot-size,40rpx);box-shadow:var(--td-shadow-1,0 1px 10px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.08),0 2px 4px -1px rgba(0,0,0,.12));box-sizing:border-box;}
.t-slider__dot--left{left:0;transform:translate3d(-50%,-50%,0);}
.t-slider__dot-value{position:relative;left:50%;transform:translateX(-50%);top:-52rpx;text-align:center;width:96rpx;height:44rpx;line-height:44rpx;}
.t-slider__dot-value,.t-slider__range-extreme,.t-slider__value{color:var(--td-slider-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
.t-slider__dot-value--sr-only,.t-slider__range-extreme--sr-only,.t-slider__value--sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0;}
.t-slider__dot-slider{width:100%;height:100%;position:absolute;left:0;top:0;}
.t-slider__value--min{margin-left:32rpx;}
.t-slider__value--max{margin-right:32rpx;}
.t-slider__value--right{flex-basis:80rpx;}
.t-slider__value--right__value--text{margin-right:32rpx;text-align:right;display:block;}
.t-slider__bar{margin:16rpx 32rpx;flex:10;background-clip:content-box;height:var(--td-slider-bar-height,8rpx);border-radius:calc(var(--td-slider-bar-height,8rpx)/ 2);position:relative;background-color:var(--td-slider-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));}
.t-slider__bar--capsule{height:var(--td-slider-capsule-bar-heihgt,48rpx);border-radius:calc(var(--td-slider-capsule-bar-heihgt,48rpx)/ 2);background-color:var(--td-slider-capsule-bar-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border:6rpx solid var(--td-slider-capsule-bar-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));box-sizing:border-box;}
.t-slider__bar--marks{background-color:var(--td-slider-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));}
.t-slider__bar--disabled{background-color:var(--td-slider-default-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
.t-slider__range-extreme--min{margin-left:32rpx;text-align:left;}
.t-slider__range-extreme--max{margin-right:32rpx;text-align:right;}
.t-slider__scale-item{background-color:var(--td-slider-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));width:var(--td-slider-bar-height,8rpx);height:16rpx;width:16rpx;border-radius:50%;position:absolute;top:50%;margin-top:-8rpx;z-index:1;}
.t-slider__scale-item--active{background-color:var(--td-slider-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
.t-slider__scale-item--disabled{background-color:var(--td-slider-default-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
.t-slider__scale-item--active.t-slider__scale-item--disabled{background-color:var(--td-slider-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
.t-slider__scale-item--capsule{height:var(--td-slider-capsule-line-heihgt,36rpx);width:4rpx;border-radius:0;background-color:var(--td-slider-capsule-bar-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));margin-top:calc(-.5 * var(--td-slider-capsule-line-heihgt,36rpx));}
.t-slider__scale-item--hidden{background-color:transparent;}
.t-slider__scale-desc{position:absolute;left:50%;color:var(--td-slider-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));transform:translateX(-50%);bottom:32rpx;}
.t-slider__scale-desc--capsule{bottom:46rpx;}
.t-slider--vertical{--td-slider-bar-height:400rpx;height:var(--td-slider-bar-height,8rpx);justify-content:center;position:relative;}
.t-slider--vertical .t-slider__bar{flex:none;height:100%;width:var(--td-slider-bar-width,8rpx);}
.t-slider--vertical .t-slider__bar--capsule{width:var(--td-slider-capsule-bar-width,48rpx);border-radius:calc(var(--td-slider-capsule-bar-width,48rpx)/ 2);}
.t-slider--vertical .t-slider__line{width:100%;height:unset;left:0;border-radius:calc(var(--td-slider-bar-width,8rpx)/ 2);}
.t-slider--vertical .t-slider__line--capsule.t-slider__line--single{border-top-left-radius:calc(var(--td-slider-capsule-line-heihgt,36rpx)/ 2);border-top-right-radius:calc(var(--td-slider-capsule-line-heihgt,36rpx)/ 2);}
.t-slider--vertical .t-slider__dot{left:50%;top:100%;transform:translate(-50%,-50%);}
.t-slider--vertical .t-slider__dot--left{top:0;transform:translate(-50%,-50%);left:50%;}
.t-slider--vertical .t-slider__dot--right{left:50%;transform:translate(-50%,-50%);top:100%;}
.t-slider--vertical .t-slider__dot-value{left:54rpx;top:50%;transform:translate(0,-50%);width:auto;}
.t-slider--vertical .t-slider__range-extreme{position:absolute;left:50%;transform:translateX(-50%);margin:0;}
.t-slider--vertical .t-slider__range-extreme--min{top:0;}
.t-slider--vertical .t-slider__range-extreme--max{bottom:0;}
.t-slider--vertical .t-slider__scale-item{left:50%;margin-top:0;}
.t-slider--vertical .t-slider__scale-item--capsule{height:4rpx;width:var(--td-slider-capsule-line-heihgt,36rpx);}
.t-slider--vertical .t-slider__scale-desc{top:50%;transform:translateY(-50%);bottom:unset;left:38rpx;}
.t-slider--vertical .t-slider__scale-desc--capsule{left:52rpx;}

View File

@@ -0,0 +1,2 @@
export declare const trimSingleValue: (value: any, min: number, max: number) => number;
export declare const trimValue: (value: number | number[], props: any) => number | number[];

View File

@@ -0,0 +1 @@
export const trimSingleValue=(r,e,i)=>r<e?e:r>i?i:r;export const trimValue=(r,e)=>{const{min:i,max:t,range:n}=e;return n&&Array.isArray(r)?(r[0]=trimSingleValue(r[0],i,t),r[1]=trimSingleValue(r[1],i,t),r[0]<=r[1]?r:[r[1],r[0]]):n?[i,t]:n?void 0:trimSingleValue(r,i,t)};

View File

@@ -0,0 +1,51 @@
export interface TdSliderProps {
disabled?: {
type: BooleanConstructor;
value?: boolean;
};
label?: {
type: null;
value?: string | boolean;
};
marks?: {
type: null;
value?: Record<number, string> | Array<number>;
};
max?: {
type: NumberConstructor;
value?: number;
};
min?: {
type: NumberConstructor;
value?: number;
};
range?: {
type: BooleanConstructor;
value?: boolean;
};
showExtremeValue?: {
type: BooleanConstructor;
value?: boolean;
};
step?: {
type: NumberConstructor;
value?: number;
};
theme?: {
type: StringConstructor;
value?: 'default' | 'capsule';
};
value?: {
type: null;
value?: SliderValue;
};
defaultValue?: {
type: null;
value?: SliderValue;
};
vertical?: {
type: BooleanConstructor;
value?: boolean;
};
}
export declare type SliderValue = number | Array<number>;

View File

@@ -0,0 +1 @@
export{};