@tamagui/slider 1.0.1-beta.100

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.
Files changed (55) hide show
  1. package/dist/cjs/Slider.js +456 -0
  2. package/dist/cjs/Slider.js.map +7 -0
  3. package/dist/cjs/SliderImpl.js +163 -0
  4. package/dist/cjs/SliderImpl.js.map +7 -0
  5. package/dist/cjs/constants.js +62 -0
  6. package/dist/cjs/constants.js.map +7 -0
  7. package/dist/cjs/helpers.js +101 -0
  8. package/dist/cjs/helpers.js.map +7 -0
  9. package/dist/cjs/index.js +32 -0
  10. package/dist/cjs/index.js.map +7 -0
  11. package/dist/cjs/types.js +16 -0
  12. package/dist/cjs/types.js.map +7 -0
  13. package/dist/esm/Slider.js +448 -0
  14. package/dist/esm/Slider.js.map +7 -0
  15. package/dist/esm/SliderImpl.js +137 -0
  16. package/dist/esm/SliderImpl.js.map +7 -0
  17. package/dist/esm/constants.js +30 -0
  18. package/dist/esm/constants.js.map +7 -0
  19. package/dist/esm/helpers.js +70 -0
  20. package/dist/esm/helpers.js.map +7 -0
  21. package/dist/esm/index.js +7 -0
  22. package/dist/esm/index.js.map +7 -0
  23. package/dist/esm/types.js +1 -0
  24. package/dist/esm/types.js.map +7 -0
  25. package/dist/jsx/Slider.js +324 -0
  26. package/dist/jsx/Slider.js.map +7 -0
  27. package/dist/jsx/SliderImpl.js +84 -0
  28. package/dist/jsx/SliderImpl.js.map +7 -0
  29. package/dist/jsx/constants.js +30 -0
  30. package/dist/jsx/constants.js.map +7 -0
  31. package/dist/jsx/helpers.js +70 -0
  32. package/dist/jsx/helpers.js.map +7 -0
  33. package/dist/jsx/index.js +7 -0
  34. package/dist/jsx/index.js.map +7 -0
  35. package/dist/jsx/types.js +1 -0
  36. package/dist/jsx/types.js.map +7 -0
  37. package/package.json +46 -0
  38. package/src/Slider.tsx +592 -0
  39. package/src/SliderImpl.tsx +118 -0
  40. package/src/constants.tsx +32 -0
  41. package/src/helpers.tsx +100 -0
  42. package/src/index.ts +9 -0
  43. package/src/types.ts +75 -0
  44. package/types/Slider.d.ts +357 -0
  45. package/types/Slider.d.ts.map +1 -0
  46. package/types/SliderImpl.d.ts +55 -0
  47. package/types/SliderImpl.d.ts.map +1 -0
  48. package/types/constants.d.ts +52 -0
  49. package/types/constants.d.ts.map +1 -0
  50. package/types/helpers.d.ts +10 -0
  51. package/types/helpers.d.ts.map +1 -0
  52. package/types/index.d.ts +4 -0
  53. package/types/index.d.ts.map +1 -0
  54. package/types/types.d.ts +68 -0
  55. package/types/types.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderImpl.d.ts","sourceRoot":"","sources":["../src/SliderImpl.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGnC,OAAO,EAAe,eAAe,EAAE,MAAM,SAAS,CAAA;AAEtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;EAO5B,CAAA;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBtB,CAAA;AAEF,eAAO,MAAM,UAAU,8EAyEtB,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { SizeTokens } from '@tamagui/core';
2
+ import { Direction, SliderContextValue } from './types';
3
+ export declare const SLIDER_NAME = "Slider";
4
+ export declare const createSliderContext: <ContextValueType extends object | null>(rootComponentName: string, defaultContext?: ContextValueType | undefined) => readonly [{
5
+ (props: ContextValueType & {
6
+ scope: import("@tamagui/create-context").Scope<ContextValueType>;
7
+ children: import("react").ReactNode;
8
+ }): JSX.Element;
9
+ displayName: string;
10
+ }, (consumerName: string, scope: import("@tamagui/create-context").Scope<ContextValueType | undefined>) => ContextValueType], createSliderScope: import("@tamagui/create-context").CreateScope;
11
+ export declare const SliderProvider: {
12
+ (props: SliderContextValue & {
13
+ scope: import("@tamagui/create-context").Scope<SliderContextValue>;
14
+ children: import("react").ReactNode;
15
+ }): JSX.Element;
16
+ displayName: string;
17
+ }, useSliderContext: (consumerName: string, scope: import("@tamagui/create-context").Scope<SliderContextValue | undefined>) => SliderContextValue;
18
+ export declare const SliderOrientationProvider: {
19
+ (props: {
20
+ startEdge: 'bottom' | 'left' | 'right';
21
+ endEdge: 'top' | 'right' | 'left';
22
+ sizeProp: 'width' | 'height';
23
+ size: number | SizeTokens;
24
+ direction: number;
25
+ } & {
26
+ scope: import("@tamagui/create-context").Scope<{
27
+ startEdge: 'bottom' | 'left' | 'right';
28
+ endEdge: 'top' | 'right' | 'left';
29
+ sizeProp: 'width' | 'height';
30
+ size: number | SizeTokens;
31
+ direction: number;
32
+ }>;
33
+ children: import("react").ReactNode;
34
+ }): JSX.Element;
35
+ displayName: string;
36
+ }, useSliderOrientationContext: (consumerName: string, scope: import("@tamagui/create-context").Scope<{
37
+ startEdge: 'bottom' | 'left' | 'right';
38
+ endEdge: 'top' | 'right' | 'left';
39
+ sizeProp: 'width' | 'height';
40
+ size: number | SizeTokens;
41
+ direction: number;
42
+ } | undefined>) => {
43
+ startEdge: 'bottom' | 'left' | 'right';
44
+ endEdge: 'top' | 'right' | 'left';
45
+ sizeProp: 'width' | 'height';
46
+ size: number | SizeTokens;
47
+ direction: number;
48
+ };
49
+ export declare const PAGE_KEYS: string[];
50
+ export declare const ARROW_KEYS: string[];
51
+ export declare const BACK_KEYS: Record<Direction, string[]>;
52
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEvD,eAAO,MAAM,WAAW,WAAW,CAAA;AAEnC,eAAO,MAAO,mBAAmB;;;;;;8HAAE,iBAAiB,+CAAmC,CAAA;AAEvF,eAAO,MAAO,cAAc;;;;;;GAAE,gBAAgB,8HACQ,CAAA;AAEtD,eAAO,MAAO,yBAAyB;;mBAC1B,QAAQ,GAAG,MAAM,GAAG,OAAO;iBAC7B,KAAK,GAAG,OAAO,GAAG,MAAM;kBACvB,OAAO,GAAG,QAAQ;cACtB,MAAM,GAAG,UAAU;mBACd,MAAM;;;uBAJN,QAAQ,GAAG,MAAM,GAAG,OAAO;qBAC7B,KAAK,GAAG,OAAO,GAAG,MAAM;sBACvB,OAAO,GAAG,QAAQ;kBACtB,MAAM,GAAG,UAAU;uBACd,MAAM;;;;;GALsB,2BAA2B;eACvD,QAAQ,GAAG,MAAM,GAAG,OAAO;aAC7B,KAAK,GAAG,OAAO,GAAG,MAAM;cACvB,OAAO,GAAG,QAAQ;UACtB,MAAM,GAAG,UAAU;eACd,MAAM;;eAJN,QAAQ,GAAG,MAAM,GAAG,OAAO;aAC7B,KAAK,GAAG,OAAO,GAAG,MAAM;cACvB,OAAO,GAAG,QAAQ;UACtB,MAAM,GAAG,UAAU;eACd,MAAM;CAOjB,CAAA;AAEF,eAAO,MAAM,SAAS,UAAyB,CAAA;AAC/C,eAAO,MAAM,UAAU,UAAsD,CAAA;AAC7E,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAGjD,CAAA"}
@@ -0,0 +1,10 @@
1
+ export declare function getNextSortedValues(prevValues: number[] | undefined, nextValue: number, atIndex: number): number[];
2
+ export declare function convertValueToPercentage(value: number, min: number, max: number): number;
3
+ export declare function getLabel(index: number, totalValues: number): string | undefined;
4
+ export declare function getClosestValueIndex(values: number[], nextValue: number): number;
5
+ export declare function getThumbInBoundsOffset(width: number, left: number, direction: number): number;
6
+ export declare function hasMinStepsBetweenValues(values: number[], minStepsBetweenValues: number): boolean;
7
+ export declare function linearScale(input: readonly [number, number], output: readonly [number, number]): (value: number) => number;
8
+ export declare function getDecimalCount(value: number): number;
9
+ export declare function roundValue(value: number, decimalCount: number): number;
10
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.tsx"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,UAAU,sBAAe,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAIhG;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAI/E;AAKD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,sBAQ1D;AAUD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,UAKvE;AAMD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAKpF;AAyBD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,qBAAqB,EAAE,MAAM,WAOvF;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,WAC9E,MAAM,YAKtB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,UAE5C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAG7D"}
@@ -0,0 +1,4 @@
1
+ export * from './Slider';
2
+ export { SliderFrame, DirectionalYStack } from './SliderImpl';
3
+ export type { SliderProps, SliderHorizontalProps, SliderVerticalProps, SliderTrackProps, } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AAExB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC7D,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,SAAS,CAAA"}
@@ -0,0 +1,68 @@
1
+ /// <reference types="react" />
2
+ import type { GestureReponderEvent, SizeTokens } from '@tamagui/core';
3
+ import type { Scope } from '@tamagui/create-context';
4
+ import type { SizableStackProps } from '@tamagui/stacks';
5
+ export declare type ScopedProps<P> = P & {
6
+ __scopeSlider?: Scope;
7
+ };
8
+ export declare type Direction = 'ltr' | 'rtl';
9
+ declare type SliderImplPrivateProps = {
10
+ onSlideStart(event: GestureReponderEvent, target: 'thumb' | 'track'): void;
11
+ onSlideMove(event: GestureReponderEvent): void;
12
+ onSlideEnd(event: GestureReponderEvent): void;
13
+ onHomeKeyDown(event: React.KeyboardEvent): void;
14
+ onEndKeyDown(event: React.KeyboardEvent): void;
15
+ onStepKeyDown(event: React.KeyboardEvent): void;
16
+ };
17
+ export interface SliderTrackProps extends SizableStackProps {
18
+ }
19
+ export interface SliderImplProps extends SliderTrackProps, SliderImplPrivateProps {
20
+ dir?: Direction;
21
+ orientation: 'horizontal' | 'vertical';
22
+ }
23
+ declare type SliderOrientationPrivateProps = {
24
+ min: number;
25
+ max: number;
26
+ onSlideStart?(value: number, target: 'thumb' | 'track'): void;
27
+ onSlideMove?(value: number): void;
28
+ onHomeKeyDown(event: React.KeyboardEvent): void;
29
+ onEndKeyDown(event: React.KeyboardEvent): void;
30
+ onStepKeyDown(step: {
31
+ event: React.KeyboardEvent;
32
+ direction: number;
33
+ }): void;
34
+ };
35
+ interface SliderOrientationProps extends Omit<SliderImplProps, keyof SliderImplPrivateProps | 'orientation'>, SliderOrientationPrivateProps {
36
+ }
37
+ export interface SliderHorizontalProps extends SliderOrientationProps {
38
+ dir?: Direction;
39
+ }
40
+ export interface SliderVerticalProps extends SliderOrientationProps {
41
+ dir?: Direction;
42
+ }
43
+ export interface SliderProps extends Omit<SliderHorizontalProps | SliderVerticalProps, keyof SliderOrientationPrivateProps | 'defaultValue'> {
44
+ size?: SizeTokens;
45
+ name?: string;
46
+ disabled?: boolean;
47
+ orientation?: React.AriaAttributes['aria-orientation'];
48
+ dir?: Direction;
49
+ min?: number;
50
+ max?: number;
51
+ step?: number;
52
+ minStepsBetweenThumbs?: number;
53
+ value?: number[];
54
+ defaultValue?: number[];
55
+ onValueChange?(value: number[]): void;
56
+ }
57
+ export declare type SliderContextValue = {
58
+ size?: SizeTokens | number | null;
59
+ disabled?: boolean;
60
+ min: number;
61
+ max: number;
62
+ values: number[];
63
+ valueIndexToChangeRef: React.MutableRefObject<number>;
64
+ thumbs: Set<any>;
65
+ orientation: SliderProps['orientation'];
66
+ };
67
+ export {};
68
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,oBAAY,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,aAAa,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAE1D,oBAAY,SAAS,GAAG,KAAK,GAAG,KAAK,CAAA;AAErC,aAAK,sBAAsB,GAAG;IAC5B,YAAY,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;IAC1E,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAC9C,UAAU,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAC7C,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;IAC/C,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;IAC9C,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;CAChD,CAAA;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;CAAG;AAE9D,MAAM,WAAW,eAAgB,SAAQ,gBAAgB,EAAE,sBAAsB;IAC/E,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,WAAW,EAAE,YAAY,GAAG,UAAU,CAAA;CACvC;AAED,aAAK,6BAA6B,GAAG;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;IAC7D,WAAW,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;IAC/C,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;IAC9C,aAAa,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAC7E,CAAA;AAED,UAAU,sBACR,SAAQ,IAAI,CAAC,eAAe,EAAE,MAAM,sBAAsB,GAAG,aAAa,CAAC,EACzE,6BAA6B;CAAG;AAEpC,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,GAAG,CAAC,EAAE,SAAS,CAAA;CAChB;AAED,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;IACjE,GAAG,CAAC,EAAE,SAAS,CAAA;CAChB;AAED,MAAM,WAAW,WACf,SAAQ,IAAI,CACV,qBAAqB,GAAG,mBAAmB,EAC3C,MAAM,6BAA6B,GAAG,cAAc,CACrD;IACD,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;IACtD,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CACtC;AAED,oBAAY,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,qBAAqB,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACrD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAChB,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;CACxC,CAAA"}