@tamagui/slider 1.14.0 → 1.14.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.
Files changed (53) hide show
  1. package/dist/cjs/Slider.js +481 -1
  2. package/dist/cjs/Slider.js.map +2 -2
  3. package/dist/cjs/SliderImpl.js +139 -1
  4. package/dist/cjs/SliderImpl.js.map +2 -2
  5. package/dist/cjs/constants.js +62 -1
  6. package/dist/cjs/constants.js.map +2 -2
  7. package/dist/cjs/helpers.js +101 -1
  8. package/dist/cjs/helpers.js.map +2 -2
  9. package/dist/cjs/index.js +32 -1
  10. package/dist/cjs/index.js.map +2 -2
  11. package/dist/cjs/types.js +16 -1
  12. package/dist/cjs/types.js.map +2 -2
  13. package/dist/esm/Slider.js +462 -1
  14. package/dist/esm/Slider.js.map +2 -2
  15. package/dist/esm/Slider.mjs +462 -1
  16. package/dist/esm/Slider.mjs.map +2 -2
  17. package/dist/esm/SliderImpl.js +103 -1
  18. package/dist/esm/SliderImpl.js.map +2 -2
  19. package/dist/esm/SliderImpl.mjs +103 -1
  20. package/dist/esm/SliderImpl.mjs.map +2 -2
  21. package/dist/esm/constants.js +29 -1
  22. package/dist/esm/constants.js.map +2 -2
  23. package/dist/esm/constants.mjs +29 -1
  24. package/dist/esm/constants.mjs.map +2 -2
  25. package/dist/esm/helpers.js +69 -1
  26. package/dist/esm/helpers.js.map +2 -2
  27. package/dist/esm/helpers.mjs +69 -1
  28. package/dist/esm/helpers.mjs.map +2 -2
  29. package/dist/esm/index.js +6 -1
  30. package/dist/esm/index.js.map +2 -2
  31. package/dist/esm/index.mjs +6 -1
  32. package/dist/esm/index.mjs.map +2 -2
  33. package/dist/jsx/Slider.js +428 -1
  34. package/dist/jsx/Slider.js.map +2 -2
  35. package/dist/jsx/Slider.mjs +428 -1
  36. package/dist/jsx/Slider.mjs.map +2 -2
  37. package/dist/jsx/SliderImpl.js +99 -1
  38. package/dist/jsx/SliderImpl.js.map +2 -2
  39. package/dist/jsx/SliderImpl.mjs +99 -1
  40. package/dist/jsx/SliderImpl.mjs.map +2 -2
  41. package/dist/jsx/constants.js +29 -1
  42. package/dist/jsx/constants.js.map +2 -2
  43. package/dist/jsx/constants.mjs +29 -1
  44. package/dist/jsx/constants.mjs.map +2 -2
  45. package/dist/jsx/helpers.js +69 -1
  46. package/dist/jsx/helpers.js.map +2 -2
  47. package/dist/jsx/helpers.mjs +69 -1
  48. package/dist/jsx/helpers.mjs.map +2 -2
  49. package/dist/jsx/index.js +6 -1
  50. package/dist/jsx/index.js.map +2 -2
  51. package/dist/jsx/index.mjs +6 -1
  52. package/dist/jsx/index.mjs.map +2 -2
  53. package/package.json +10 -10
@@ -1,2 +1,100 @@
1
- import{composeEventHandlers as s,getVariableValue as h,isWeb as l,styled as p}from"@tamagui/core";import{getSize as E}from"@tamagui/get-size";import{YStack as b}from"@tamagui/stacks";import*as w from"react";import{ARROW_KEYS as y,PAGE_KEYS as D,SLIDER_NAME as M,useSliderContext as g}from"./constants";const P=p(b,{variants:{orientation:{horizontal:{},vertical:{}}}}),I=p(P,{position:"relative",variants:{size:(o,n)=>{const i=n.props.orientation,t=Math.round(h(E(o))/6);return i==="horizontal"?{height:t,borderRadius:t,justifyContent:"center"}:{width:t,borderRadius:t,alignItems:"center"}}}}),A=w.forwardRef((o,n)=>{const{__scopeSlider:i,onSlideStart:t,onSlideMove:u,onSlideEnd:S,onHomeKeyDown:c,onEndKeyDown:m,onStepKeyDown:f,...a}=o,d=g(M,i);return<I size="$4"{...a}data-orientation={a.orientation}ref={n}{...l&&{onKeyDown:e=>{e.key==="Home"?(c(e),e.preventDefault()):e.key==="End"?(m(e),e.preventDefault()):D.concat(y).includes(e.key)&&(f(e),e.preventDefault())}}}onMoveShouldSetResponderCapture={()=>!0}onScrollShouldSetResponder={()=>!0}onScrollShouldSetResponderCapture={()=>!0}onMoveShouldSetResponder={()=>!0}onStartShouldSetResponder={()=>!0}onResponderTerminationRequest={()=>!1}onResponderGrant={s(o.onResponderGrant,e=>{const r=e.target,R=d.thumbs.has(r);l&&r instanceof HTMLElement&&d.thumbs.has(r)&&r.focus(),t(e,R?"thumb":"track")})}onResponderMove={s(o.onResponderMove,e=>{e.stopPropagation(),u(e)})}onResponderRelease={s(o.onResponderRelease,e=>{S(e)})}/>});export{P as DirectionalYStack,I as SliderFrame,A as SliderImpl};
1
+ import { composeEventHandlers, getVariableValue, isWeb, styled } from "@tamagui/core";
2
+ import { getSize } from "@tamagui/get-size";
3
+ import { YStack } from "@tamagui/stacks";
4
+ import * as React from "react";
5
+ import { ARROW_KEYS, PAGE_KEYS, SLIDER_NAME, useSliderContext } from "./constants";
6
+ const DirectionalYStack = styled(YStack, {
7
+ variants: {
8
+ orientation: {
9
+ horizontal: {},
10
+ vertical: {}
11
+ }
12
+ }
13
+ });
14
+ const SliderFrame = styled(DirectionalYStack, {
15
+ position: "relative",
16
+ variants: {
17
+ size: (val, extras) => {
18
+ const orientation = extras.props.orientation;
19
+ const size = Math.round(getVariableValue(getSize(val)) / 6);
20
+ if (orientation === "horizontal") {
21
+ return {
22
+ height: size,
23
+ borderRadius: size,
24
+ justifyContent: "center"
25
+ };
26
+ }
27
+ return {
28
+ width: size,
29
+ borderRadius: size,
30
+ alignItems: "center"
31
+ };
32
+ }
33
+ }
34
+ });
35
+ const SliderImpl = React.forwardRef(
36
+ (props, forwardedRef) => {
37
+ const {
38
+ __scopeSlider,
39
+ onSlideStart,
40
+ onSlideMove,
41
+ onSlideEnd,
42
+ onHomeKeyDown,
43
+ onEndKeyDown,
44
+ onStepKeyDown,
45
+ ...sliderProps
46
+ } = props;
47
+ const context = useSliderContext(SLIDER_NAME, __scopeSlider);
48
+ return <SliderFrame
49
+ size="$4"
50
+ {...sliderProps}
51
+ data-orientation={sliderProps.orientation}
52
+ ref={forwardedRef}
53
+ {...isWeb && {
54
+ onKeyDown: (event) => {
55
+ if (event.key === "Home") {
56
+ onHomeKeyDown(event);
57
+ event.preventDefault();
58
+ } else if (event.key === "End") {
59
+ onEndKeyDown(event);
60
+ event.preventDefault();
61
+ } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {
62
+ onStepKeyDown(event);
63
+ event.preventDefault();
64
+ }
65
+ }
66
+ }}
67
+ onMoveShouldSetResponderCapture={() => true}
68
+ onScrollShouldSetResponder={() => true}
69
+ onScrollShouldSetResponderCapture={() => true}
70
+ onMoveShouldSetResponder={() => true}
71
+ onStartShouldSetResponder={() => true}
72
+ onResponderTerminationRequest={() => {
73
+ return false;
74
+ }}
75
+ onResponderGrant={composeEventHandlers(props.onResponderGrant, (event) => {
76
+ const target = event.target;
77
+ const isStartingOnThumb = context.thumbs.has(target);
78
+ if (isWeb && target instanceof HTMLElement) {
79
+ if (context.thumbs.has(target)) {
80
+ target.focus();
81
+ }
82
+ }
83
+ onSlideStart(event, isStartingOnThumb ? "thumb" : "track");
84
+ })}
85
+ onResponderMove={composeEventHandlers(props.onResponderMove, (event) => {
86
+ event.stopPropagation();
87
+ onSlideMove(event);
88
+ })}
89
+ onResponderRelease={composeEventHandlers(props.onResponderRelease, (event) => {
90
+ onSlideEnd(event);
91
+ })}
92
+ />;
93
+ }
94
+ );
95
+ export {
96
+ DirectionalYStack,
97
+ SliderFrame,
98
+ SliderImpl
99
+ };
2
100
  //# sourceMappingURL=SliderImpl.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/SliderImpl.tsx"],
4
4
  "sourcesContent": ["/* -------------------------------------------------------------------------------------------------\n * SliderImpl\n * -----------------------------------------------------------------------------------------------*/\n\nimport { composeEventHandlers, getVariableValue, isWeb, styled } from '@tamagui/core'\nimport { getSize } from '@tamagui/get-size'\nimport { YStack } from '@tamagui/stacks'\nimport * as React from 'react'\nimport { View } from 'react-native'\n\nimport { ARROW_KEYS, PAGE_KEYS, SLIDER_NAME, useSliderContext } from './constants'\nimport { ScopedProps, SliderImplProps } from './types'\n\nexport const DirectionalYStack = styled(YStack, {\n variants: {\n orientation: {\n horizontal: {},\n vertical: {},\n },\n } as const,\n})\n\nexport const SliderFrame = styled(DirectionalYStack, {\n position: 'relative',\n\n variants: {\n size: (val, extras) => {\n const orientation = extras.props.orientation\n const size = Math.round(getVariableValue(getSize(val)) / 6)\n if (orientation === 'horizontal') {\n return {\n height: size,\n borderRadius: size,\n justifyContent: 'center',\n }\n }\n return {\n width: size,\n borderRadius: size,\n alignItems: 'center',\n }\n },\n } as const,\n})\n\nexport const SliderImpl = React.forwardRef<View, SliderImplProps>(\n (props: ScopedProps<SliderImplProps>, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props\n const context = useSliderContext(SLIDER_NAME, __scopeSlider)\n return (\n <SliderFrame\n size=\"$4\"\n {...sliderProps}\n data-orientation={sliderProps.orientation}\n ref={forwardedRef}\n {...(isWeb && {\n onKeyDown: (event) => {\n if (event.key === 'Home') {\n onHomeKeyDown(event)\n // Prevent scrolling to page start\n event.preventDefault()\n } else if (event.key === 'End') {\n onEndKeyDown(event)\n // Prevent scrolling to page end\n event.preventDefault()\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event)\n // Prevent scrolling for directional key presses\n event.preventDefault()\n }\n },\n })}\n onMoveShouldSetResponderCapture={() => true}\n onScrollShouldSetResponder={() => true}\n onScrollShouldSetResponderCapture={() => true}\n onMoveShouldSetResponder={() => true}\n onStartShouldSetResponder={() => true}\n // onStartShouldSetResponderCapture={() => true}\n onResponderTerminationRequest={() => {\n return false\n }}\n onResponderGrant={composeEventHandlers(props.onResponderGrant, (event) => {\n const target = event.target as unknown as HTMLElement | number\n const isStartingOnThumb = context.thumbs.has(target)\n // // Prevent browser focus behaviour because we focus a thumb manually when values change.\n // Touch devices have a delay before focusing so won't focus if touch immediately moves\n // away from target (sliding). We want thumb to focus regardless.\n if (isWeb && target instanceof HTMLElement) {\n if (context.thumbs.has(target)) {\n target.focus()\n }\n }\n onSlideStart(event, isStartingOnThumb ? 'thumb' : 'track')\n })}\n onResponderMove={composeEventHandlers(props.onResponderMove, (event) => {\n event.stopPropagation()\n // const target = event.target as HTMLElement\n onSlideMove(event)\n })}\n onResponderRelease={composeEventHandlers(props.onResponderRelease, (event) => {\n // const target = event.target as HTMLElement\n onSlideEnd(event)\n })}\n />\n )\n }\n)\n"],
5
- "mappings": "AAIA,OAAS,wBAAAA,EAAsB,oBAAAC,EAAkB,SAAAC,EAAO,UAAAC,MAAc,gBACtE,OAAS,WAAAC,MAAe,oBACxB,OAAS,UAAAC,MAAc,kBACvB,UAAYC,MAAW,QAGvB,OAAS,cAAAC,EAAY,aAAAC,EAAW,eAAAC,EAAa,oBAAAC,MAAwB,cAG9D,MAAMC,EAAoBR,EAAOE,EAAQ,CAC9C,SAAU,CACR,YAAa,CACX,WAAY,CAAC,EACb,SAAU,CAAC,CACb,CACF,CACF,CAAC,EAEYO,EAAcT,EAAOQ,EAAmB,CACnD,SAAU,WAEV,SAAU,CACR,KAAM,CAACE,EAAKC,IAAW,CACrB,MAAMC,EAAcD,EAAO,MAAM,YAC3BE,EAAO,KAAK,MAAMf,EAAiBG,EAAQS,CAAG,CAAC,EAAI,CAAC,EAC1D,OAAIE,IAAgB,aACX,CACL,OAAQC,EACR,aAAcA,EACd,eAAgB,QAClB,EAEK,CACL,MAAOA,EACP,aAAcA,EACd,WAAY,QACd,CACF,CACF,CACF,CAAC,EAEYC,EAAaX,EAAM,WAC9B,CAACY,EAAqCC,IAAiB,CACrD,KAAM,CACJ,cAAAC,EACA,aAAAC,EACA,YAAAC,EACA,WAAAC,EACA,cAAAC,EACA,aAAAC,EACA,cAAAC,EACA,GAAGC,CACL,EAAIT,EACEU,EAAUlB,EAAiBD,EAAaW,CAAa,EAC3D,MACE,CAACR,EACC,KAAK,QACDe,EACJ,kBAAkBA,EAAY,YAC9B,KAAKR,MACAjB,GAAS,CACZ,UAAY2B,GAAU,CAChBA,EAAM,MAAQ,QAChBL,EAAcK,CAAK,EAEnBA,EAAM,eAAe,GACZA,EAAM,MAAQ,OACvBJ,EAAaI,CAAK,EAElBA,EAAM,eAAe,GACZrB,EAAU,OAAOD,CAAU,EAAE,SAASsB,EAAM,GAAG,IACxDH,EAAcG,CAAK,EAEnBA,EAAM,eAAe,EAEzB,CACF,EACA,iCAAiC,IAAM,GACvC,4BAA4B,IAAM,GAClC,mCAAmC,IAAM,GACzC,0BAA0B,IAAM,GAChC,2BAA2B,IAAM,GAEjC,+BAA+B,IACtB,GAET,kBAAkB7B,EAAqBkB,EAAM,iBAAmBW,GAAU,CACxE,MAAMC,EAASD,EAAM,OACfE,EAAoBH,EAAQ,OAAO,IAAIE,CAAM,EAI/C5B,GAAS4B,aAAkB,aACzBF,EAAQ,OAAO,IAAIE,CAAM,GAC3BA,EAAO,MAAM,EAGjBT,EAAaQ,EAAOE,EAAoB,QAAU,OAAO,CAC3D,CAAC,EACD,iBAAiB/B,EAAqBkB,EAAM,gBAAkBW,GAAU,CACtEA,EAAM,gBAAgB,EAEtBP,EAAYO,CAAK,CACnB,CAAC,EACD,oBAAoB7B,EAAqBkB,EAAM,mBAAqBW,GAAU,CAE5EN,EAAWM,CAAK,CAClB,CAAC,EACH,EAEJ,CACF",
6
- "names": ["composeEventHandlers", "getVariableValue", "isWeb", "styled", "getSize", "YStack", "React", "ARROW_KEYS", "PAGE_KEYS", "SLIDER_NAME", "useSliderContext", "DirectionalYStack", "SliderFrame", "val", "extras", "orientation", "size", "SliderImpl", "props", "forwardedRef", "__scopeSlider", "onSlideStart", "onSlideMove", "onSlideEnd", "onHomeKeyDown", "onEndKeyDown", "onStepKeyDown", "sliderProps", "context", "event", "target", "isStartingOnThumb"]
5
+ "mappings": "AAIA,SAAS,sBAAsB,kBAAkB,OAAO,cAAc;AACtE,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,YAAY,WAAW;AAGvB,SAAS,YAAY,WAAW,aAAa,wBAAwB;AAG9D,MAAM,oBAAoB,OAAO,QAAQ;AAAA,EAC9C,UAAU;AAAA,IACR,aAAa;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,CAAC;AAAA,IACb;AAAA,EACF;AACF,CAAC;AAEM,MAAM,cAAc,OAAO,mBAAmB;AAAA,EACnD,UAAU;AAAA,EAEV,UAAU;AAAA,IACR,MAAM,CAAC,KAAK,WAAW;AACrB,YAAM,cAAc,OAAO,MAAM;AACjC,YAAM,OAAO,KAAK,MAAM,iBAAiB,QAAQ,GAAG,CAAC,IAAI,CAAC;AAC1D,UAAI,gBAAgB,cAAc;AAChC,eAAO;AAAA,UACL,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,gBAAgB;AAAA,QAClB;AAAA,MACF;AACA,aAAO;AAAA,QACL,OAAO;AAAA,QACP,cAAc;AAAA,QACd,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,MAAM,aAAa,MAAM;AAAA,EAC9B,CAAC,OAAqC,iBAAiB;AACrD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI;AACJ,UAAM,UAAU,iBAAiB,aAAa,aAAa;AAC3D,WACE,CAAC;AAAA,MACC,KAAK;AAAA,UACD;AAAA,MACJ,kBAAkB,YAAY;AAAA,MAC9B,KAAK;AAAA,UACA,SAAS;AAAA,QACZ,WAAW,CAAC,UAAU;AACpB,cAAI,MAAM,QAAQ,QAAQ;AACxB,0BAAc,KAAK;AAEnB,kBAAM,eAAe;AAAA,UACvB,WAAW,MAAM,QAAQ,OAAO;AAC9B,yBAAa,KAAK;AAElB,kBAAM,eAAe;AAAA,UACvB,WAAW,UAAU,OAAO,UAAU,EAAE,SAAS,MAAM,GAAG,GAAG;AAC3D,0BAAc,KAAK;AAEnB,kBAAM,eAAe;AAAA,UACvB;AAAA,QACF;AAAA,MACF;AAAA,MACA,iCAAiC,MAAM;AAAA,MACvC,4BAA4B,MAAM;AAAA,MAClC,mCAAmC,MAAM;AAAA,MACzC,0BAA0B,MAAM;AAAA,MAChC,2BAA2B,MAAM;AAAA,MAEjC,+BAA+B,MAAM;AACnC,eAAO;AAAA,MACT;AAAA,MACA,kBAAkB,qBAAqB,MAAM,kBAAkB,CAAC,UAAU;AACxE,cAAM,SAAS,MAAM;AACrB,cAAM,oBAAoB,QAAQ,OAAO,IAAI,MAAM;AAInD,YAAI,SAAS,kBAAkB,aAAa;AAC1C,cAAI,QAAQ,OAAO,IAAI,MAAM,GAAG;AAC9B,mBAAO,MAAM;AAAA,UACf;AAAA,QACF;AACA,qBAAa,OAAO,oBAAoB,UAAU,OAAO;AAAA,MAC3D,CAAC;AAAA,MACD,iBAAiB,qBAAqB,MAAM,iBAAiB,CAAC,UAAU;AACtE,cAAM,gBAAgB;AAEtB,oBAAY,KAAK;AAAA,MACnB,CAAC;AAAA,MACD,oBAAoB,qBAAqB,MAAM,oBAAoB,CAAC,UAAU;AAE5E,mBAAW,KAAK;AAAA,MAClB,CAAC;AAAA,IACH;AAAA,EAEJ;AACF;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,100 @@
1
- import{composeEventHandlers as s,getVariableValue as h,isWeb as l,styled as p}from"@tamagui/core";import{getSize as E}from"@tamagui/get-size";import{YStack as b}from"@tamagui/stacks";import*as w from"react";import{ARROW_KEYS as y,PAGE_KEYS as D,SLIDER_NAME as M,useSliderContext as g}from"./constants";const P=p(b,{variants:{orientation:{horizontal:{},vertical:{}}}}),I=p(P,{position:"relative",variants:{size:(o,n)=>{const i=n.props.orientation,t=Math.round(h(E(o))/6);return i==="horizontal"?{height:t,borderRadius:t,justifyContent:"center"}:{width:t,borderRadius:t,alignItems:"center"}}}}),A=w.forwardRef((o,n)=>{const{__scopeSlider:i,onSlideStart:t,onSlideMove:u,onSlideEnd:S,onHomeKeyDown:c,onEndKeyDown:m,onStepKeyDown:f,...a}=o,d=g(M,i);return<I size="$4"{...a}data-orientation={a.orientation}ref={n}{...l&&{onKeyDown:e=>{e.key==="Home"?(c(e),e.preventDefault()):e.key==="End"?(m(e),e.preventDefault()):D.concat(y).includes(e.key)&&(f(e),e.preventDefault())}}}onMoveShouldSetResponderCapture={()=>!0}onScrollShouldSetResponder={()=>!0}onScrollShouldSetResponderCapture={()=>!0}onMoveShouldSetResponder={()=>!0}onStartShouldSetResponder={()=>!0}onResponderTerminationRequest={()=>!1}onResponderGrant={s(o.onResponderGrant,e=>{const r=e.target,R=d.thumbs.has(r);l&&r instanceof HTMLElement&&d.thumbs.has(r)&&r.focus(),t(e,R?"thumb":"track")})}onResponderMove={s(o.onResponderMove,e=>{e.stopPropagation(),u(e)})}onResponderRelease={s(o.onResponderRelease,e=>{S(e)})}/>});export{P as DirectionalYStack,I as SliderFrame,A as SliderImpl};
1
+ import { composeEventHandlers, getVariableValue, isWeb, styled } from "@tamagui/core";
2
+ import { getSize } from "@tamagui/get-size";
3
+ import { YStack } from "@tamagui/stacks";
4
+ import * as React from "react";
5
+ import { ARROW_KEYS, PAGE_KEYS, SLIDER_NAME, useSliderContext } from "./constants";
6
+ const DirectionalYStack = styled(YStack, {
7
+ variants: {
8
+ orientation: {
9
+ horizontal: {},
10
+ vertical: {}
11
+ }
12
+ }
13
+ });
14
+ const SliderFrame = styled(DirectionalYStack, {
15
+ position: "relative",
16
+ variants: {
17
+ size: (val, extras) => {
18
+ const orientation = extras.props.orientation;
19
+ const size = Math.round(getVariableValue(getSize(val)) / 6);
20
+ if (orientation === "horizontal") {
21
+ return {
22
+ height: size,
23
+ borderRadius: size,
24
+ justifyContent: "center"
25
+ };
26
+ }
27
+ return {
28
+ width: size,
29
+ borderRadius: size,
30
+ alignItems: "center"
31
+ };
32
+ }
33
+ }
34
+ });
35
+ const SliderImpl = React.forwardRef(
36
+ (props, forwardedRef) => {
37
+ const {
38
+ __scopeSlider,
39
+ onSlideStart,
40
+ onSlideMove,
41
+ onSlideEnd,
42
+ onHomeKeyDown,
43
+ onEndKeyDown,
44
+ onStepKeyDown,
45
+ ...sliderProps
46
+ } = props;
47
+ const context = useSliderContext(SLIDER_NAME, __scopeSlider);
48
+ return <SliderFrame
49
+ size="$4"
50
+ {...sliderProps}
51
+ data-orientation={sliderProps.orientation}
52
+ ref={forwardedRef}
53
+ {...isWeb && {
54
+ onKeyDown: (event) => {
55
+ if (event.key === "Home") {
56
+ onHomeKeyDown(event);
57
+ event.preventDefault();
58
+ } else if (event.key === "End") {
59
+ onEndKeyDown(event);
60
+ event.preventDefault();
61
+ } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {
62
+ onStepKeyDown(event);
63
+ event.preventDefault();
64
+ }
65
+ }
66
+ }}
67
+ onMoveShouldSetResponderCapture={() => true}
68
+ onScrollShouldSetResponder={() => true}
69
+ onScrollShouldSetResponderCapture={() => true}
70
+ onMoveShouldSetResponder={() => true}
71
+ onStartShouldSetResponder={() => true}
72
+ onResponderTerminationRequest={() => {
73
+ return false;
74
+ }}
75
+ onResponderGrant={composeEventHandlers(props.onResponderGrant, (event) => {
76
+ const target = event.target;
77
+ const isStartingOnThumb = context.thumbs.has(target);
78
+ if (isWeb && target instanceof HTMLElement) {
79
+ if (context.thumbs.has(target)) {
80
+ target.focus();
81
+ }
82
+ }
83
+ onSlideStart(event, isStartingOnThumb ? "thumb" : "track");
84
+ })}
85
+ onResponderMove={composeEventHandlers(props.onResponderMove, (event) => {
86
+ event.stopPropagation();
87
+ onSlideMove(event);
88
+ })}
89
+ onResponderRelease={composeEventHandlers(props.onResponderRelease, (event) => {
90
+ onSlideEnd(event);
91
+ })}
92
+ />;
93
+ }
94
+ );
95
+ export {
96
+ DirectionalYStack,
97
+ SliderFrame,
98
+ SliderImpl
99
+ };
2
100
  //# sourceMappingURL=SliderImpl.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/SliderImpl.tsx"],
4
4
  "sourcesContent": ["/* -------------------------------------------------------------------------------------------------\n * SliderImpl\n * -----------------------------------------------------------------------------------------------*/\n\nimport { composeEventHandlers, getVariableValue, isWeb, styled } from '@tamagui/core'\nimport { getSize } from '@tamagui/get-size'\nimport { YStack } from '@tamagui/stacks'\nimport * as React from 'react'\nimport { View } from 'react-native'\n\nimport { ARROW_KEYS, PAGE_KEYS, SLIDER_NAME, useSliderContext } from './constants'\nimport { ScopedProps, SliderImplProps } from './types'\n\nexport const DirectionalYStack = styled(YStack, {\n variants: {\n orientation: {\n horizontal: {},\n vertical: {},\n },\n } as const,\n})\n\nexport const SliderFrame = styled(DirectionalYStack, {\n position: 'relative',\n\n variants: {\n size: (val, extras) => {\n const orientation = extras.props.orientation\n const size = Math.round(getVariableValue(getSize(val)) / 6)\n if (orientation === 'horizontal') {\n return {\n height: size,\n borderRadius: size,\n justifyContent: 'center',\n }\n }\n return {\n width: size,\n borderRadius: size,\n alignItems: 'center',\n }\n },\n } as const,\n})\n\nexport const SliderImpl = React.forwardRef<View, SliderImplProps>(\n (props: ScopedProps<SliderImplProps>, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props\n const context = useSliderContext(SLIDER_NAME, __scopeSlider)\n return (\n <SliderFrame\n size=\"$4\"\n {...sliderProps}\n data-orientation={sliderProps.orientation}\n ref={forwardedRef}\n {...(isWeb && {\n onKeyDown: (event) => {\n if (event.key === 'Home') {\n onHomeKeyDown(event)\n // Prevent scrolling to page start\n event.preventDefault()\n } else if (event.key === 'End') {\n onEndKeyDown(event)\n // Prevent scrolling to page end\n event.preventDefault()\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event)\n // Prevent scrolling for directional key presses\n event.preventDefault()\n }\n },\n })}\n onMoveShouldSetResponderCapture={() => true}\n onScrollShouldSetResponder={() => true}\n onScrollShouldSetResponderCapture={() => true}\n onMoveShouldSetResponder={() => true}\n onStartShouldSetResponder={() => true}\n // onStartShouldSetResponderCapture={() => true}\n onResponderTerminationRequest={() => {\n return false\n }}\n onResponderGrant={composeEventHandlers(props.onResponderGrant, (event) => {\n const target = event.target as unknown as HTMLElement | number\n const isStartingOnThumb = context.thumbs.has(target)\n // // Prevent browser focus behaviour because we focus a thumb manually when values change.\n // Touch devices have a delay before focusing so won't focus if touch immediately moves\n // away from target (sliding). We want thumb to focus regardless.\n if (isWeb && target instanceof HTMLElement) {\n if (context.thumbs.has(target)) {\n target.focus()\n }\n }\n onSlideStart(event, isStartingOnThumb ? 'thumb' : 'track')\n })}\n onResponderMove={composeEventHandlers(props.onResponderMove, (event) => {\n event.stopPropagation()\n // const target = event.target as HTMLElement\n onSlideMove(event)\n })}\n onResponderRelease={composeEventHandlers(props.onResponderRelease, (event) => {\n // const target = event.target as HTMLElement\n onSlideEnd(event)\n })}\n />\n )\n }\n)\n"],
5
- "mappings": "AAIA,OAAS,wBAAAA,EAAsB,oBAAAC,EAAkB,SAAAC,EAAO,UAAAC,MAAc,gBACtE,OAAS,WAAAC,MAAe,oBACxB,OAAS,UAAAC,MAAc,kBACvB,UAAYC,MAAW,QAGvB,OAAS,cAAAC,EAAY,aAAAC,EAAW,eAAAC,EAAa,oBAAAC,MAAwB,cAG9D,MAAMC,EAAoBR,EAAOE,EAAQ,CAC9C,SAAU,CACR,YAAa,CACX,WAAY,CAAC,EACb,SAAU,CAAC,CACb,CACF,CACF,CAAC,EAEYO,EAAcT,EAAOQ,EAAmB,CACnD,SAAU,WAEV,SAAU,CACR,KAAM,CAACE,EAAKC,IAAW,CACrB,MAAMC,EAAcD,EAAO,MAAM,YAC3BE,EAAO,KAAK,MAAMf,EAAiBG,EAAQS,CAAG,CAAC,EAAI,CAAC,EAC1D,OAAIE,IAAgB,aACX,CACL,OAAQC,EACR,aAAcA,EACd,eAAgB,QAClB,EAEK,CACL,MAAOA,EACP,aAAcA,EACd,WAAY,QACd,CACF,CACF,CACF,CAAC,EAEYC,EAAaX,EAAM,WAC9B,CAACY,EAAqCC,IAAiB,CACrD,KAAM,CACJ,cAAAC,EACA,aAAAC,EACA,YAAAC,EACA,WAAAC,EACA,cAAAC,EACA,aAAAC,EACA,cAAAC,EACA,GAAGC,CACL,EAAIT,EACEU,EAAUlB,EAAiBD,EAAaW,CAAa,EAC3D,MACE,CAACR,EACC,KAAK,QACDe,EACJ,kBAAkBA,EAAY,YAC9B,KAAKR,MACAjB,GAAS,CACZ,UAAY2B,GAAU,CAChBA,EAAM,MAAQ,QAChBL,EAAcK,CAAK,EAEnBA,EAAM,eAAe,GACZA,EAAM,MAAQ,OACvBJ,EAAaI,CAAK,EAElBA,EAAM,eAAe,GACZrB,EAAU,OAAOD,CAAU,EAAE,SAASsB,EAAM,GAAG,IACxDH,EAAcG,CAAK,EAEnBA,EAAM,eAAe,EAEzB,CACF,EACA,iCAAiC,IAAM,GACvC,4BAA4B,IAAM,GAClC,mCAAmC,IAAM,GACzC,0BAA0B,IAAM,GAChC,2BAA2B,IAAM,GAEjC,+BAA+B,IACtB,GAET,kBAAkB7B,EAAqBkB,EAAM,iBAAmBW,GAAU,CACxE,MAAMC,EAASD,EAAM,OACfE,EAAoBH,EAAQ,OAAO,IAAIE,CAAM,EAI/C5B,GAAS4B,aAAkB,aACzBF,EAAQ,OAAO,IAAIE,CAAM,GAC3BA,EAAO,MAAM,EAGjBT,EAAaQ,EAAOE,EAAoB,QAAU,OAAO,CAC3D,CAAC,EACD,iBAAiB/B,EAAqBkB,EAAM,gBAAkBW,GAAU,CACtEA,EAAM,gBAAgB,EAEtBP,EAAYO,CAAK,CACnB,CAAC,EACD,oBAAoB7B,EAAqBkB,EAAM,mBAAqBW,GAAU,CAE5EN,EAAWM,CAAK,CAClB,CAAC,EACH,EAEJ,CACF",
6
- "names": ["composeEventHandlers", "getVariableValue", "isWeb", "styled", "getSize", "YStack", "React", "ARROW_KEYS", "PAGE_KEYS", "SLIDER_NAME", "useSliderContext", "DirectionalYStack", "SliderFrame", "val", "extras", "orientation", "size", "SliderImpl", "props", "forwardedRef", "__scopeSlider", "onSlideStart", "onSlideMove", "onSlideEnd", "onHomeKeyDown", "onEndKeyDown", "onStepKeyDown", "sliderProps", "context", "event", "target", "isStartingOnThumb"]
5
+ "mappings": "AAIA,SAAS,sBAAsB,kBAAkB,OAAO,cAAc;AACtE,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,YAAY,WAAW;AAGvB,SAAS,YAAY,WAAW,aAAa,wBAAwB;AAG9D,MAAM,oBAAoB,OAAO,QAAQ;AAAA,EAC9C,UAAU;AAAA,IACR,aAAa;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,CAAC;AAAA,IACb;AAAA,EACF;AACF,CAAC;AAEM,MAAM,cAAc,OAAO,mBAAmB;AAAA,EACnD,UAAU;AAAA,EAEV,UAAU;AAAA,IACR,MAAM,CAAC,KAAK,WAAW;AACrB,YAAM,cAAc,OAAO,MAAM;AACjC,YAAM,OAAO,KAAK,MAAM,iBAAiB,QAAQ,GAAG,CAAC,IAAI,CAAC;AAC1D,UAAI,gBAAgB,cAAc;AAChC,eAAO;AAAA,UACL,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,gBAAgB;AAAA,QAClB;AAAA,MACF;AACA,aAAO;AAAA,QACL,OAAO;AAAA,QACP,cAAc;AAAA,QACd,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,MAAM,aAAa,MAAM;AAAA,EAC9B,CAAC,OAAqC,iBAAiB;AACrD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI;AACJ,UAAM,UAAU,iBAAiB,aAAa,aAAa;AAC3D,WACE,CAAC;AAAA,MACC,KAAK;AAAA,UACD;AAAA,MACJ,kBAAkB,YAAY;AAAA,MAC9B,KAAK;AAAA,UACA,SAAS;AAAA,QACZ,WAAW,CAAC,UAAU;AACpB,cAAI,MAAM,QAAQ,QAAQ;AACxB,0BAAc,KAAK;AAEnB,kBAAM,eAAe;AAAA,UACvB,WAAW,MAAM,QAAQ,OAAO;AAC9B,yBAAa,KAAK;AAElB,kBAAM,eAAe;AAAA,UACvB,WAAW,UAAU,OAAO,UAAU,EAAE,SAAS,MAAM,GAAG,GAAG;AAC3D,0BAAc,KAAK;AAEnB,kBAAM,eAAe;AAAA,UACvB;AAAA,QACF;AAAA,MACF;AAAA,MACA,iCAAiC,MAAM;AAAA,MACvC,4BAA4B,MAAM;AAAA,MAClC,mCAAmC,MAAM;AAAA,MACzC,0BAA0B,MAAM;AAAA,MAChC,2BAA2B,MAAM;AAAA,MAEjC,+BAA+B,MAAM;AACnC,eAAO;AAAA,MACT;AAAA,MACA,kBAAkB,qBAAqB,MAAM,kBAAkB,CAAC,UAAU;AACxE,cAAM,SAAS,MAAM;AACrB,cAAM,oBAAoB,QAAQ,OAAO,IAAI,MAAM;AAInD,YAAI,SAAS,kBAAkB,aAAa;AAC1C,cAAI,QAAQ,OAAO,IAAI,MAAM,GAAG;AAC9B,mBAAO,MAAM;AAAA,UACf;AAAA,QACF;AACA,qBAAa,OAAO,oBAAoB,UAAU,OAAO;AAAA,MAC3D,CAAC;AAAA,MACD,iBAAiB,qBAAqB,MAAM,iBAAiB,CAAC,UAAU;AACtE,cAAM,gBAAgB;AAEtB,oBAAY,KAAK;AAAA,MACnB,CAAC;AAAA,MACD,oBAAoB,qBAAqB,MAAM,oBAAoB,CAAC,UAAU;AAE5E,mBAAW,KAAK;AAAA,MAClB,CAAC;AAAA,IACH;AAAA,EAEJ;AACF;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,30 @@
1
- import{createContextScope as t}from"@tamagui/create-context";const e="Slider",[r,p]=t(e),[S,l]=r(e),[w,g]=r(e,{startEdge:"left",endEdge:"right",sizeProp:"width",size:0,direction:1}),a=["PageUp","PageDown"],x=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],A={ltr:["ArrowDown","Home","ArrowLeft","PageDown"],rtl:["ArrowDown","Home","ArrowRight","PageDown"]};export{x as ARROW_KEYS,A as BACK_KEYS,a as PAGE_KEYS,e as SLIDER_NAME,w as SliderOrientationProvider,S as SliderProvider,r as createSliderContext,p as createSliderScope,l as useSliderContext,g as useSliderOrientationContext};
1
+ import { createContextScope } from "@tamagui/create-context";
2
+ const SLIDER_NAME = "Slider";
3
+ const [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME);
4
+ const [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);
5
+ const [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {
6
+ startEdge: "left",
7
+ endEdge: "right",
8
+ sizeProp: "width",
9
+ size: 0,
10
+ direction: 1
11
+ });
12
+ const PAGE_KEYS = ["PageUp", "PageDown"];
13
+ const ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
14
+ const BACK_KEYS = {
15
+ ltr: ["ArrowDown", "Home", "ArrowLeft", "PageDown"],
16
+ rtl: ["ArrowDown", "Home", "ArrowRight", "PageDown"]
17
+ };
18
+ export {
19
+ ARROW_KEYS,
20
+ BACK_KEYS,
21
+ PAGE_KEYS,
22
+ SLIDER_NAME,
23
+ SliderOrientationProvider,
24
+ SliderProvider,
25
+ createSliderContext,
26
+ createSliderScope,
27
+ useSliderContext,
28
+ useSliderOrientationContext
29
+ };
2
30
  //# sourceMappingURL=constants.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/constants.tsx"],
4
4
  "sourcesContent": ["import { SizeTokens } from '@tamagui/core'\nimport { createContextScope } from '@tamagui/create-context'\n\nimport { Direction, SliderContextValue } from './types'\n\nexport const SLIDER_NAME = 'Slider'\n\nexport const [createSliderContext, createSliderScope] =\n createContextScope(SLIDER_NAME)\n\nexport const [SliderProvider, useSliderContext] =\n createSliderContext<SliderContextValue>(SLIDER_NAME)\n\nexport const [SliderOrientationProvider, useSliderOrientationContext] =\n createSliderContext<{\n startEdge: 'bottom' | 'left' | 'right'\n endEdge: 'top' | 'right' | 'left'\n sizeProp: 'width' | 'height'\n size: number | SizeTokens\n direction: number\n }>(SLIDER_NAME, {\n startEdge: 'left',\n endEdge: 'right',\n sizeProp: 'width',\n size: 0,\n direction: 1,\n })\n\nexport const PAGE_KEYS = ['PageUp', 'PageDown']\nexport const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']\nexport const BACK_KEYS: Record<Direction, string[]> = {\n ltr: ['ArrowDown', 'Home', 'ArrowLeft', 'PageDown'],\n rtl: ['ArrowDown', 'Home', 'ArrowRight', 'PageDown'],\n}\n"],
5
- "mappings": "AACA,OAAS,sBAAAA,MAA0B,0BAI5B,MAAMC,EAAc,SAEd,CAACC,EAAqBC,CAAiB,EAClDH,EAAmBC,CAAW,EAEnB,CAACG,EAAgBC,CAAgB,EAC5CH,EAAwCD,CAAW,EAExC,CAACK,EAA2BC,CAA2B,EAClEL,EAMGD,EAAa,CACd,UAAW,OACX,QAAS,QACT,SAAU,QACV,KAAM,EACN,UAAW,CACb,CAAC,EAEUO,EAAY,CAAC,SAAU,UAAU,EACjCC,EAAa,CAAC,UAAW,YAAa,YAAa,YAAY,EAC/DC,EAAyC,CACpD,IAAK,CAAC,YAAa,OAAQ,YAAa,UAAU,EAClD,IAAK,CAAC,YAAa,OAAQ,aAAc,UAAU,CACrD",
6
- "names": ["createContextScope", "SLIDER_NAME", "createSliderContext", "createSliderScope", "SliderProvider", "useSliderContext", "SliderOrientationProvider", "useSliderOrientationContext", "PAGE_KEYS", "ARROW_KEYS", "BACK_KEYS"]
5
+ "mappings": "AACA,SAAS,0BAA0B;AAI5B,MAAM,cAAc;AAEpB,MAAM,CAAC,qBAAqB,iBAAiB,IAClD,mBAAmB,WAAW;AAEzB,MAAM,CAAC,gBAAgB,gBAAgB,IAC5C,oBAAwC,WAAW;AAE9C,MAAM,CAAC,2BAA2B,2BAA2B,IAClE,oBAMG,aAAa;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAM;AAAA,EACN,WAAW;AACb,CAAC;AAEI,MAAM,YAAY,CAAC,UAAU,UAAU;AACvC,MAAM,aAAa,CAAC,WAAW,aAAa,aAAa,YAAY;AACrE,MAAM,YAAyC;AAAA,EACpD,KAAK,CAAC,aAAa,QAAQ,aAAa,UAAU;AAAA,EAClD,KAAK,CAAC,aAAa,QAAQ,cAAc,UAAU;AACrD;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,30 @@
1
- import{createContextScope as t}from"@tamagui/create-context";const e="Slider",[r,p]=t(e),[S,l]=r(e),[w,g]=r(e,{startEdge:"left",endEdge:"right",sizeProp:"width",size:0,direction:1}),a=["PageUp","PageDown"],x=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],A={ltr:["ArrowDown","Home","ArrowLeft","PageDown"],rtl:["ArrowDown","Home","ArrowRight","PageDown"]};export{x as ARROW_KEYS,A as BACK_KEYS,a as PAGE_KEYS,e as SLIDER_NAME,w as SliderOrientationProvider,S as SliderProvider,r as createSliderContext,p as createSliderScope,l as useSliderContext,g as useSliderOrientationContext};
1
+ import { createContextScope } from "@tamagui/create-context";
2
+ const SLIDER_NAME = "Slider";
3
+ const [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME);
4
+ const [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);
5
+ const [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {
6
+ startEdge: "left",
7
+ endEdge: "right",
8
+ sizeProp: "width",
9
+ size: 0,
10
+ direction: 1
11
+ });
12
+ const PAGE_KEYS = ["PageUp", "PageDown"];
13
+ const ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
14
+ const BACK_KEYS = {
15
+ ltr: ["ArrowDown", "Home", "ArrowLeft", "PageDown"],
16
+ rtl: ["ArrowDown", "Home", "ArrowRight", "PageDown"]
17
+ };
18
+ export {
19
+ ARROW_KEYS,
20
+ BACK_KEYS,
21
+ PAGE_KEYS,
22
+ SLIDER_NAME,
23
+ SliderOrientationProvider,
24
+ SliderProvider,
25
+ createSliderContext,
26
+ createSliderScope,
27
+ useSliderContext,
28
+ useSliderOrientationContext
29
+ };
2
30
  //# sourceMappingURL=constants.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/constants.tsx"],
4
4
  "sourcesContent": ["import { SizeTokens } from '@tamagui/core'\nimport { createContextScope } from '@tamagui/create-context'\n\nimport { Direction, SliderContextValue } from './types'\n\nexport const SLIDER_NAME = 'Slider'\n\nexport const [createSliderContext, createSliderScope] =\n createContextScope(SLIDER_NAME)\n\nexport const [SliderProvider, useSliderContext] =\n createSliderContext<SliderContextValue>(SLIDER_NAME)\n\nexport const [SliderOrientationProvider, useSliderOrientationContext] =\n createSliderContext<{\n startEdge: 'bottom' | 'left' | 'right'\n endEdge: 'top' | 'right' | 'left'\n sizeProp: 'width' | 'height'\n size: number | SizeTokens\n direction: number\n }>(SLIDER_NAME, {\n startEdge: 'left',\n endEdge: 'right',\n sizeProp: 'width',\n size: 0,\n direction: 1,\n })\n\nexport const PAGE_KEYS = ['PageUp', 'PageDown']\nexport const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']\nexport const BACK_KEYS: Record<Direction, string[]> = {\n ltr: ['ArrowDown', 'Home', 'ArrowLeft', 'PageDown'],\n rtl: ['ArrowDown', 'Home', 'ArrowRight', 'PageDown'],\n}\n"],
5
- "mappings": "AACA,OAAS,sBAAAA,MAA0B,0BAI5B,MAAMC,EAAc,SAEd,CAACC,EAAqBC,CAAiB,EAClDH,EAAmBC,CAAW,EAEnB,CAACG,EAAgBC,CAAgB,EAC5CH,EAAwCD,CAAW,EAExC,CAACK,EAA2BC,CAA2B,EAClEL,EAMGD,EAAa,CACd,UAAW,OACX,QAAS,QACT,SAAU,QACV,KAAM,EACN,UAAW,CACb,CAAC,EAEUO,EAAY,CAAC,SAAU,UAAU,EACjCC,EAAa,CAAC,UAAW,YAAa,YAAa,YAAY,EAC/DC,EAAyC,CACpD,IAAK,CAAC,YAAa,OAAQ,YAAa,UAAU,EAClD,IAAK,CAAC,YAAa,OAAQ,aAAc,UAAU,CACrD",
6
- "names": ["createContextScope", "SLIDER_NAME", "createSliderContext", "createSliderScope", "SliderProvider", "useSliderContext", "SliderOrientationProvider", "useSliderOrientationContext", "PAGE_KEYS", "ARROW_KEYS", "BACK_KEYS"]
5
+ "mappings": "AACA,SAAS,0BAA0B;AAI5B,MAAM,cAAc;AAEpB,MAAM,CAAC,qBAAqB,iBAAiB,IAClD,mBAAmB,WAAW;AAEzB,MAAM,CAAC,gBAAgB,gBAAgB,IAC5C,oBAAwC,WAAW;AAE9C,MAAM,CAAC,2BAA2B,2BAA2B,IAClE,oBAMG,aAAa;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAM;AAAA,EACN,WAAW;AACb,CAAC;AAEI,MAAM,YAAY,CAAC,UAAU,UAAU;AACvC,MAAM,aAAa,CAAC,WAAW,aAAa,aAAa,YAAY;AACrE,MAAM,YAAyC;AAAA,EACpD,KAAK,CAAC,aAAa,QAAQ,aAAa,UAAU;AAAA,EAClD,KAAK,CAAC,aAAa,QAAQ,cAAc,UAAU;AACrD;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,70 @@
1
- function m(e=[],n,r){const t=[...e];return t[r]=n,t.sort((u,o)=>u-o)}function a(e,n,r){return 100/(r-n)*(e-n)}function b(e,n){return n>2?`Value ${e+1} of ${n}`:n===2?["Minimum","Maximum"][e]:void 0}function f(e,n){if(e.length===1)return 0;const r=e.map(u=>Math.abs(u-n)),t=Math.min(...r);return r.indexOf(t)}function i(e,n,r){const t=e/2,o=c([0,50],[0,t]);return(t-o(n)*r)*r}function s(e){return e.slice(0,-1).map((n,r)=>e[r+1]-n)}function l(e,n){if(n>0){const r=s(e);return Math.min(...r)>=n}return!0}function c(e,n){return r=>{if(e[0]===e[1]||n[0]===n[1])return n[0];const t=(n[1]-n[0])/(e[1]-e[0]);return n[0]+t*(r-e[0])}}function x(e){return(String(e).split(".")[1]||"").length}function p(e,n){const r=Math.pow(10,n);return Math.round(e*r)/r}export{a as convertValueToPercentage,f as getClosestValueIndex,x as getDecimalCount,b as getLabel,m as getNextSortedValues,i as getThumbInBoundsOffset,l as hasMinStepsBetweenValues,c as linearScale,p as roundValue};
1
+ function getNextSortedValues(prevValues = [], nextValue, atIndex) {
2
+ const nextValues = [...prevValues];
3
+ nextValues[atIndex] = nextValue;
4
+ return nextValues.sort((a, b) => a - b);
5
+ }
6
+ function convertValueToPercentage(value, min, max) {
7
+ const maxSteps = max - min;
8
+ const percentPerStep = 100 / maxSteps;
9
+ return percentPerStep * (value - min);
10
+ }
11
+ function getLabel(index, totalValues) {
12
+ if (totalValues > 2) {
13
+ return `Value ${index + 1} of ${totalValues}`;
14
+ } else if (totalValues === 2) {
15
+ return ["Minimum", "Maximum"][index];
16
+ } else {
17
+ return void 0;
18
+ }
19
+ }
20
+ function getClosestValueIndex(values, nextValue) {
21
+ if (values.length === 1)
22
+ return 0;
23
+ const distances = values.map((value) => Math.abs(value - nextValue));
24
+ const closestDistance = Math.min(...distances);
25
+ return distances.indexOf(closestDistance);
26
+ }
27
+ function getThumbInBoundsOffset(width, left, direction) {
28
+ const halfWidth = width / 2;
29
+ const halfPercent = 50;
30
+ const offset = linearScale([0, halfPercent], [0, halfWidth]);
31
+ return (halfWidth - offset(left) * direction) * direction;
32
+ }
33
+ function getStepsBetweenValues(values) {
34
+ return values.slice(0, -1).map((value, index) => values[index + 1] - value);
35
+ }
36
+ function hasMinStepsBetweenValues(values, minStepsBetweenValues) {
37
+ if (minStepsBetweenValues > 0) {
38
+ const stepsBetweenValues = getStepsBetweenValues(values);
39
+ const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);
40
+ return actualMinStepsBetweenValues >= minStepsBetweenValues;
41
+ }
42
+ return true;
43
+ }
44
+ function linearScale(input, output) {
45
+ return (value) => {
46
+ if (input[0] === input[1] || output[0] === output[1])
47
+ return output[0];
48
+ const ratio = (output[1] - output[0]) / (input[1] - input[0]);
49
+ return output[0] + ratio * (value - input[0]);
50
+ };
51
+ }
52
+ function getDecimalCount(value) {
53
+ return (String(value).split(".")[1] || "").length;
54
+ }
55
+ function roundValue(value, decimalCount) {
56
+ const rounder = Math.pow(10, decimalCount);
57
+ return Math.round(value * rounder) / rounder;
58
+ }
59
+ export {
60
+ convertValueToPercentage,
61
+ getClosestValueIndex,
62
+ getDecimalCount,
63
+ getLabel,
64
+ getNextSortedValues,
65
+ getThumbInBoundsOffset,
66
+ hasMinStepsBetweenValues,
67
+ linearScale,
68
+ roundValue
69
+ };
2
70
  //# sourceMappingURL=helpers.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/helpers.tsx"],
4
4
  "sourcesContent": ["export function getNextSortedValues(\n prevValues: number[] = [],\n nextValue: number,\n atIndex: number,\n) {\n const nextValues = [...prevValues]\n nextValues[atIndex] = nextValue\n return nextValues.sort((a, b) => a - b)\n}\n\nexport function convertValueToPercentage(value: number, min: number, max: number) {\n const maxSteps = max - min\n const percentPerStep = 100 / maxSteps\n return percentPerStep * (value - min)\n}\n\n/**\n * Returns a label for each thumb when there are two or more thumbs\n */\nexport function getLabel(index: number, totalValues: number) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`\n } else if (totalValues === 2) {\n return ['Minimum', 'Maximum'][index]\n } else {\n return undefined\n }\n}\n\n/**\n * Given a `values` array and a `nextValue`, determine which value in\n * the array is closest to `nextValue` and return its index.\n *\n * @example\n * // returns 1\n * getClosestValueIndex([10, 30], 25);\n */\nexport function getClosestValueIndex(values: number[], nextValue: number) {\n if (values.length === 1) return 0\n const distances = values.map((value) => Math.abs(value - nextValue))\n const closestDistance = Math.min(...distances)\n return distances.indexOf(closestDistance)\n}\n\n/**\n * Offsets the thumb centre point while sliding to ensure it remains\n * within the bounds of the slider when reaching the edges\n */\nexport function getThumbInBoundsOffset(\n width: number,\n left: number,\n direction: number,\n) {\n const halfWidth = width / 2\n const halfPercent = 50\n const offset = linearScale([0, halfPercent], [0, halfWidth])\n return (halfWidth - offset(left) * direction) * direction\n}\n\n/**\n * Gets an array of steps between each value.\n *\n * @example\n * // returns [1, 9]\n * getStepsBetweenValues([10, 11, 20]);\n */\nfunction getStepsBetweenValues(values: number[]) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value)\n}\n\n/**\n * Verifies the minimum steps between all values is greater than or equal\n * to the expected minimum steps.\n *\n * @example\n * // returns false\n * hasMinStepsBetweenValues([1,2,3], 2);\n *\n * @example\n * // returns true\n * hasMinStepsBetweenValues([1,2,3], 1);\n */\nexport function hasMinStepsBetweenValues(\n values: number[],\n minStepsBetweenValues: number,\n) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values)\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues)\n return actualMinStepsBetweenValues >= minStepsBetweenValues\n }\n return true\n}\n\n// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nexport function linearScale(\n input: readonly [number, number],\n output: readonly [number, number],\n) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0]\n const ratio = (output[1] - output[0]) / (input[1] - input[0])\n return output[0] + ratio * (value - input[0])\n }\n}\n\nexport function getDecimalCount(value: number) {\n return (String(value).split('.')[1] || '').length\n}\n\nexport function roundValue(value: number, decimalCount: number) {\n const rounder = Math.pow(10, decimalCount)\n return Math.round(value * rounder) / rounder\n}\n"],
5
- "mappings": "AAAO,SAASA,EACdC,EAAuB,CAAC,EACxBC,EACAC,EACA,CACA,MAAMC,EAAa,CAAC,GAAGH,CAAU,EACjC,OAAAG,EAAWD,CAAO,EAAID,EACfE,EAAW,KAAK,CAACC,EAAGC,IAAMD,EAAIC,CAAC,CACxC,CAEO,SAASC,EAAyBC,EAAeC,EAAaC,EAAa,CAGhF,MADuB,MADNA,EAAMD,IAEED,EAAQC,EACnC,CAKO,SAASE,EAASC,EAAeC,EAAqB,CAC3D,OAAIA,EAAc,EACT,SAASD,EAAQ,QAAQC,IACvBA,IAAgB,EAClB,CAAC,UAAW,SAAS,EAAED,CAAK,EAEnC,MAEJ,CAUO,SAASE,EAAqBC,EAAkBb,EAAmB,CACxE,GAAIa,EAAO,SAAW,EAAG,MAAO,GAChC,MAAMC,EAAYD,EAAO,IAAKP,GAAU,KAAK,IAAIA,EAAQN,CAAS,CAAC,EAC7De,EAAkB,KAAK,IAAI,GAAGD,CAAS,EAC7C,OAAOA,EAAU,QAAQC,CAAe,CAC1C,CAMO,SAASC,EACdC,EACAC,EACAC,EACA,CACA,MAAMC,EAAYH,EAAQ,EAEpBI,EAASC,EAAY,CAAC,EADR,EACsB,EAAG,CAAC,EAAGF,CAAS,CAAC,EAC3D,OAAQA,EAAYC,EAAOH,CAAI,EAAIC,GAAaA,CAClD,CASA,SAASI,EAAsBV,EAAkB,CAC/C,OAAOA,EAAO,MAAM,EAAG,EAAE,EAAE,IAAI,CAACP,EAAOI,IAAUG,EAAOH,EAAQ,CAAC,EAAIJ,CAAK,CAC5E,CAcO,SAASkB,EACdX,EACAY,EACA,CACA,GAAIA,EAAwB,EAAG,CAC7B,MAAMC,EAAqBH,EAAsBV,CAAM,EAEvD,OADoC,KAAK,IAAI,GAAGa,CAAkB,GAC5BD,CACxC,CACA,MAAO,EACT,CAGO,SAASH,EACdK,EACAC,EACA,CACA,OAAQtB,GAAkB,CACxB,GAAIqB,EAAM,CAAC,IAAMA,EAAM,CAAC,GAAKC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAG,OAAOA,EAAO,CAAC,EACrE,MAAMC,GAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,IAAMD,EAAM,CAAC,EAAIA,EAAM,CAAC,GAC3D,OAAOC,EAAO,CAAC,EAAIC,GAASvB,EAAQqB,EAAM,CAAC,EAC7C,CACF,CAEO,SAASG,EAAgBxB,EAAe,CAC7C,OAAQ,OAAOA,CAAK,EAAE,MAAM,GAAG,EAAE,CAAC,GAAK,IAAI,MAC7C,CAEO,SAASyB,EAAWzB,EAAe0B,EAAsB,CAC9D,MAAMC,EAAU,KAAK,IAAI,GAAID,CAAY,EACzC,OAAO,KAAK,MAAM1B,EAAQ2B,CAAO,EAAIA,CACvC",
6
- "names": ["getNextSortedValues", "prevValues", "nextValue", "atIndex", "nextValues", "a", "b", "convertValueToPercentage", "value", "min", "max", "getLabel", "index", "totalValues", "getClosestValueIndex", "values", "distances", "closestDistance", "getThumbInBoundsOffset", "width", "left", "direction", "halfWidth", "offset", "linearScale", "getStepsBetweenValues", "hasMinStepsBetweenValues", "minStepsBetweenValues", "stepsBetweenValues", "input", "output", "ratio", "getDecimalCount", "roundValue", "decimalCount", "rounder"]
5
+ "mappings": "AAAO,SAAS,oBACd,aAAuB,CAAC,GACxB,WACA,SACA;AACA,QAAM,aAAa,CAAC,GAAG,UAAU;AACjC,aAAW,OAAO,IAAI;AACtB,SAAO,WAAW,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AACxC;AAEO,SAAS,yBAAyB,OAAe,KAAa,KAAa;AAChF,QAAM,WAAW,MAAM;AACvB,QAAM,iBAAiB,MAAM;AAC7B,SAAO,kBAAkB,QAAQ;AACnC;AAKO,SAAS,SAAS,OAAe,aAAqB;AAC3D,MAAI,cAAc,GAAG;AACnB,WAAO,SAAS,QAAQ,QAAQ;AAAA,EAClC,WAAW,gBAAgB,GAAG;AAC5B,WAAO,CAAC,WAAW,SAAS,EAAE,KAAK;AAAA,EACrC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAUO,SAAS,qBAAqB,QAAkB,WAAmB;AACxE,MAAI,OAAO,WAAW;AAAG,WAAO;AAChC,QAAM,YAAY,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,QAAQ,SAAS,CAAC;AACnE,QAAM,kBAAkB,KAAK,IAAI,GAAG,SAAS;AAC7C,SAAO,UAAU,QAAQ,eAAe;AAC1C;AAMO,SAAS,uBACd,OACA,MACA,WACA;AACA,QAAM,YAAY,QAAQ;AAC1B,QAAM,cAAc;AACpB,QAAM,SAAS,YAAY,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC;AAC3D,UAAQ,YAAY,OAAO,IAAI,IAAI,aAAa;AAClD;AASA,SAAS,sBAAsB,QAAkB;AAC/C,SAAO,OAAO,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,UAAU,OAAO,QAAQ,CAAC,IAAI,KAAK;AAC5E;AAcO,SAAS,yBACd,QACA,uBACA;AACA,MAAI,wBAAwB,GAAG;AAC7B,UAAM,qBAAqB,sBAAsB,MAAM;AACvD,UAAM,8BAA8B,KAAK,IAAI,GAAG,kBAAkB;AAClE,WAAO,+BAA+B;AAAA,EACxC;AACA,SAAO;AACT;AAGO,SAAS,YACd,OACA,QACA;AACA,SAAO,CAAC,UAAkB;AACxB,QAAI,MAAM,CAAC,MAAM,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,OAAO,CAAC;AAAG,aAAO,OAAO,CAAC;AACrE,UAAM,SAAS,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC;AAC3D,WAAO,OAAO,CAAC,IAAI,SAAS,QAAQ,MAAM,CAAC;AAAA,EAC7C;AACF;AAEO,SAAS,gBAAgB,OAAe;AAC7C,UAAQ,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,KAAK,IAAI;AAC7C;AAEO,SAAS,WAAW,OAAe,cAAsB;AAC9D,QAAM,UAAU,KAAK,IAAI,IAAI,YAAY;AACzC,SAAO,KAAK,MAAM,QAAQ,OAAO,IAAI;AACvC;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,70 @@
1
- function m(e=[],n,r){const t=[...e];return t[r]=n,t.sort((u,o)=>u-o)}function a(e,n,r){return 100/(r-n)*(e-n)}function b(e,n){return n>2?`Value ${e+1} of ${n}`:n===2?["Minimum","Maximum"][e]:void 0}function f(e,n){if(e.length===1)return 0;const r=e.map(u=>Math.abs(u-n)),t=Math.min(...r);return r.indexOf(t)}function i(e,n,r){const t=e/2,o=c([0,50],[0,t]);return(t-o(n)*r)*r}function s(e){return e.slice(0,-1).map((n,r)=>e[r+1]-n)}function l(e,n){if(n>0){const r=s(e);return Math.min(...r)>=n}return!0}function c(e,n){return r=>{if(e[0]===e[1]||n[0]===n[1])return n[0];const t=(n[1]-n[0])/(e[1]-e[0]);return n[0]+t*(r-e[0])}}function x(e){return(String(e).split(".")[1]||"").length}function p(e,n){const r=Math.pow(10,n);return Math.round(e*r)/r}export{a as convertValueToPercentage,f as getClosestValueIndex,x as getDecimalCount,b as getLabel,m as getNextSortedValues,i as getThumbInBoundsOffset,l as hasMinStepsBetweenValues,c as linearScale,p as roundValue};
1
+ function getNextSortedValues(prevValues = [], nextValue, atIndex) {
2
+ const nextValues = [...prevValues];
3
+ nextValues[atIndex] = nextValue;
4
+ return nextValues.sort((a, b) => a - b);
5
+ }
6
+ function convertValueToPercentage(value, min, max) {
7
+ const maxSteps = max - min;
8
+ const percentPerStep = 100 / maxSteps;
9
+ return percentPerStep * (value - min);
10
+ }
11
+ function getLabel(index, totalValues) {
12
+ if (totalValues > 2) {
13
+ return `Value ${index + 1} of ${totalValues}`;
14
+ } else if (totalValues === 2) {
15
+ return ["Minimum", "Maximum"][index];
16
+ } else {
17
+ return void 0;
18
+ }
19
+ }
20
+ function getClosestValueIndex(values, nextValue) {
21
+ if (values.length === 1)
22
+ return 0;
23
+ const distances = values.map((value) => Math.abs(value - nextValue));
24
+ const closestDistance = Math.min(...distances);
25
+ return distances.indexOf(closestDistance);
26
+ }
27
+ function getThumbInBoundsOffset(width, left, direction) {
28
+ const halfWidth = width / 2;
29
+ const halfPercent = 50;
30
+ const offset = linearScale([0, halfPercent], [0, halfWidth]);
31
+ return (halfWidth - offset(left) * direction) * direction;
32
+ }
33
+ function getStepsBetweenValues(values) {
34
+ return values.slice(0, -1).map((value, index) => values[index + 1] - value);
35
+ }
36
+ function hasMinStepsBetweenValues(values, minStepsBetweenValues) {
37
+ if (minStepsBetweenValues > 0) {
38
+ const stepsBetweenValues = getStepsBetweenValues(values);
39
+ const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);
40
+ return actualMinStepsBetweenValues >= minStepsBetweenValues;
41
+ }
42
+ return true;
43
+ }
44
+ function linearScale(input, output) {
45
+ return (value) => {
46
+ if (input[0] === input[1] || output[0] === output[1])
47
+ return output[0];
48
+ const ratio = (output[1] - output[0]) / (input[1] - input[0]);
49
+ return output[0] + ratio * (value - input[0]);
50
+ };
51
+ }
52
+ function getDecimalCount(value) {
53
+ return (String(value).split(".")[1] || "").length;
54
+ }
55
+ function roundValue(value, decimalCount) {
56
+ const rounder = Math.pow(10, decimalCount);
57
+ return Math.round(value * rounder) / rounder;
58
+ }
59
+ export {
60
+ convertValueToPercentage,
61
+ getClosestValueIndex,
62
+ getDecimalCount,
63
+ getLabel,
64
+ getNextSortedValues,
65
+ getThumbInBoundsOffset,
66
+ hasMinStepsBetweenValues,
67
+ linearScale,
68
+ roundValue
69
+ };
2
70
  //# sourceMappingURL=helpers.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/helpers.tsx"],
4
4
  "sourcesContent": ["export function getNextSortedValues(\n prevValues: number[] = [],\n nextValue: number,\n atIndex: number,\n) {\n const nextValues = [...prevValues]\n nextValues[atIndex] = nextValue\n return nextValues.sort((a, b) => a - b)\n}\n\nexport function convertValueToPercentage(value: number, min: number, max: number) {\n const maxSteps = max - min\n const percentPerStep = 100 / maxSteps\n return percentPerStep * (value - min)\n}\n\n/**\n * Returns a label for each thumb when there are two or more thumbs\n */\nexport function getLabel(index: number, totalValues: number) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`\n } else if (totalValues === 2) {\n return ['Minimum', 'Maximum'][index]\n } else {\n return undefined\n }\n}\n\n/**\n * Given a `values` array and a `nextValue`, determine which value in\n * the array is closest to `nextValue` and return its index.\n *\n * @example\n * // returns 1\n * getClosestValueIndex([10, 30], 25);\n */\nexport function getClosestValueIndex(values: number[], nextValue: number) {\n if (values.length === 1) return 0\n const distances = values.map((value) => Math.abs(value - nextValue))\n const closestDistance = Math.min(...distances)\n return distances.indexOf(closestDistance)\n}\n\n/**\n * Offsets the thumb centre point while sliding to ensure it remains\n * within the bounds of the slider when reaching the edges\n */\nexport function getThumbInBoundsOffset(\n width: number,\n left: number,\n direction: number,\n) {\n const halfWidth = width / 2\n const halfPercent = 50\n const offset = linearScale([0, halfPercent], [0, halfWidth])\n return (halfWidth - offset(left) * direction) * direction\n}\n\n/**\n * Gets an array of steps between each value.\n *\n * @example\n * // returns [1, 9]\n * getStepsBetweenValues([10, 11, 20]);\n */\nfunction getStepsBetweenValues(values: number[]) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value)\n}\n\n/**\n * Verifies the minimum steps between all values is greater than or equal\n * to the expected minimum steps.\n *\n * @example\n * // returns false\n * hasMinStepsBetweenValues([1,2,3], 2);\n *\n * @example\n * // returns true\n * hasMinStepsBetweenValues([1,2,3], 1);\n */\nexport function hasMinStepsBetweenValues(\n values: number[],\n minStepsBetweenValues: number,\n) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values)\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues)\n return actualMinStepsBetweenValues >= minStepsBetweenValues\n }\n return true\n}\n\n// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nexport function linearScale(\n input: readonly [number, number],\n output: readonly [number, number],\n) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0]\n const ratio = (output[1] - output[0]) / (input[1] - input[0])\n return output[0] + ratio * (value - input[0])\n }\n}\n\nexport function getDecimalCount(value: number) {\n return (String(value).split('.')[1] || '').length\n}\n\nexport function roundValue(value: number, decimalCount: number) {\n const rounder = Math.pow(10, decimalCount)\n return Math.round(value * rounder) / rounder\n}\n"],
5
- "mappings": "AAAO,SAASA,EACdC,EAAuB,CAAC,EACxBC,EACAC,EACA,CACA,MAAMC,EAAa,CAAC,GAAGH,CAAU,EACjC,OAAAG,EAAWD,CAAO,EAAID,EACfE,EAAW,KAAK,CAACC,EAAGC,IAAMD,EAAIC,CAAC,CACxC,CAEO,SAASC,EAAyBC,EAAeC,EAAaC,EAAa,CAGhF,MADuB,MADNA,EAAMD,IAEED,EAAQC,EACnC,CAKO,SAASE,EAASC,EAAeC,EAAqB,CAC3D,OAAIA,EAAc,EACT,SAASD,EAAQ,QAAQC,IACvBA,IAAgB,EAClB,CAAC,UAAW,SAAS,EAAED,CAAK,EAEnC,MAEJ,CAUO,SAASE,EAAqBC,EAAkBb,EAAmB,CACxE,GAAIa,EAAO,SAAW,EAAG,MAAO,GAChC,MAAMC,EAAYD,EAAO,IAAKP,GAAU,KAAK,IAAIA,EAAQN,CAAS,CAAC,EAC7De,EAAkB,KAAK,IAAI,GAAGD,CAAS,EAC7C,OAAOA,EAAU,QAAQC,CAAe,CAC1C,CAMO,SAASC,EACdC,EACAC,EACAC,EACA,CACA,MAAMC,EAAYH,EAAQ,EAEpBI,EAASC,EAAY,CAAC,EADR,EACsB,EAAG,CAAC,EAAGF,CAAS,CAAC,EAC3D,OAAQA,EAAYC,EAAOH,CAAI,EAAIC,GAAaA,CAClD,CASA,SAASI,EAAsBV,EAAkB,CAC/C,OAAOA,EAAO,MAAM,EAAG,EAAE,EAAE,IAAI,CAACP,EAAOI,IAAUG,EAAOH,EAAQ,CAAC,EAAIJ,CAAK,CAC5E,CAcO,SAASkB,EACdX,EACAY,EACA,CACA,GAAIA,EAAwB,EAAG,CAC7B,MAAMC,EAAqBH,EAAsBV,CAAM,EAEvD,OADoC,KAAK,IAAI,GAAGa,CAAkB,GAC5BD,CACxC,CACA,MAAO,EACT,CAGO,SAASH,EACdK,EACAC,EACA,CACA,OAAQtB,GAAkB,CACxB,GAAIqB,EAAM,CAAC,IAAMA,EAAM,CAAC,GAAKC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAG,OAAOA,EAAO,CAAC,EACrE,MAAMC,GAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,IAAMD,EAAM,CAAC,EAAIA,EAAM,CAAC,GAC3D,OAAOC,EAAO,CAAC,EAAIC,GAASvB,EAAQqB,EAAM,CAAC,EAC7C,CACF,CAEO,SAASG,EAAgBxB,EAAe,CAC7C,OAAQ,OAAOA,CAAK,EAAE,MAAM,GAAG,EAAE,CAAC,GAAK,IAAI,MAC7C,CAEO,SAASyB,EAAWzB,EAAe0B,EAAsB,CAC9D,MAAMC,EAAU,KAAK,IAAI,GAAID,CAAY,EACzC,OAAO,KAAK,MAAM1B,EAAQ2B,CAAO,EAAIA,CACvC",
6
- "names": ["getNextSortedValues", "prevValues", "nextValue", "atIndex", "nextValues", "a", "b", "convertValueToPercentage", "value", "min", "max", "getLabel", "index", "totalValues", "getClosestValueIndex", "values", "distances", "closestDistance", "getThumbInBoundsOffset", "width", "left", "direction", "halfWidth", "offset", "linearScale", "getStepsBetweenValues", "hasMinStepsBetweenValues", "minStepsBetweenValues", "stepsBetweenValues", "input", "output", "ratio", "getDecimalCount", "roundValue", "decimalCount", "rounder"]
5
+ "mappings": "AAAO,SAAS,oBACd,aAAuB,CAAC,GACxB,WACA,SACA;AACA,QAAM,aAAa,CAAC,GAAG,UAAU;AACjC,aAAW,OAAO,IAAI;AACtB,SAAO,WAAW,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AACxC;AAEO,SAAS,yBAAyB,OAAe,KAAa,KAAa;AAChF,QAAM,WAAW,MAAM;AACvB,QAAM,iBAAiB,MAAM;AAC7B,SAAO,kBAAkB,QAAQ;AACnC;AAKO,SAAS,SAAS,OAAe,aAAqB;AAC3D,MAAI,cAAc,GAAG;AACnB,WAAO,SAAS,QAAQ,QAAQ;AAAA,EAClC,WAAW,gBAAgB,GAAG;AAC5B,WAAO,CAAC,WAAW,SAAS,EAAE,KAAK;AAAA,EACrC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAUO,SAAS,qBAAqB,QAAkB,WAAmB;AACxE,MAAI,OAAO,WAAW;AAAG,WAAO;AAChC,QAAM,YAAY,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,QAAQ,SAAS,CAAC;AACnE,QAAM,kBAAkB,KAAK,IAAI,GAAG,SAAS;AAC7C,SAAO,UAAU,QAAQ,eAAe;AAC1C;AAMO,SAAS,uBACd,OACA,MACA,WACA;AACA,QAAM,YAAY,QAAQ;AAC1B,QAAM,cAAc;AACpB,QAAM,SAAS,YAAY,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC;AAC3D,UAAQ,YAAY,OAAO,IAAI,IAAI,aAAa;AAClD;AASA,SAAS,sBAAsB,QAAkB;AAC/C,SAAO,OAAO,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,UAAU,OAAO,QAAQ,CAAC,IAAI,KAAK;AAC5E;AAcO,SAAS,yBACd,QACA,uBACA;AACA,MAAI,wBAAwB,GAAG;AAC7B,UAAM,qBAAqB,sBAAsB,MAAM;AACvD,UAAM,8BAA8B,KAAK,IAAI,GAAG,kBAAkB;AAClE,WAAO,+BAA+B;AAAA,EACxC;AACA,SAAO;AACT;AAGO,SAAS,YACd,OACA,QACA;AACA,SAAO,CAAC,UAAkB;AACxB,QAAI,MAAM,CAAC,MAAM,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,OAAO,CAAC;AAAG,aAAO,OAAO,CAAC;AACrE,UAAM,SAAS,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC;AAC3D,WAAO,OAAO,CAAC,IAAI,SAAS,QAAQ,MAAM,CAAC;AAAA,EAC7C;AACF;AAEO,SAAS,gBAAgB,OAAe;AAC7C,UAAQ,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,KAAK,IAAI;AAC7C;AAEO,SAAS,WAAW,OAAe,cAAsB;AAC9D,QAAM,UAAU,KAAK,IAAI,IAAI,YAAY;AACzC,SAAO,KAAK,MAAM,QAAQ,OAAO,IAAI;AACvC;",
6
+ "names": []
7
7
  }
package/dist/jsx/index.js CHANGED
@@ -1,2 +1,7 @@
1
- export*from"./Slider";import{SliderFrame as i,DirectionalYStack as p}from"./SliderImpl";export{p as DirectionalYStack,i as SliderFrame};
1
+ export * from "./Slider";
2
+ import { SliderFrame, DirectionalYStack } from "./SliderImpl";
3
+ export {
4
+ DirectionalYStack,
5
+ SliderFrame
6
+ };
2
7
  //# sourceMappingURL=index.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
4
  "sourcesContent": ["export * from './Slider'\n// for static extract to find, must export\nexport { SliderFrame, DirectionalYStack } from './SliderImpl'\nexport type {\n SliderProps,\n SliderHorizontalProps,\n SliderVerticalProps,\n SliderTrackProps,\n} from './types'\n"],
5
- "mappings": "AAAA,WAAc,WAEd,OAAS,eAAAA,EAAa,qBAAAC,MAAyB",
6
- "names": ["SliderFrame", "DirectionalYStack"]
5
+ "mappings": "AAAA,cAAc;AAEd,SAAS,aAAa,yBAAyB;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,7 @@
1
- export*from"./Slider";import{SliderFrame as i,DirectionalYStack as p}from"./SliderImpl";export{p as DirectionalYStack,i as SliderFrame};
1
+ export * from "./Slider";
2
+ import { SliderFrame, DirectionalYStack } from "./SliderImpl";
3
+ export {
4
+ DirectionalYStack,
5
+ SliderFrame
6
+ };
2
7
  //# sourceMappingURL=index.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
4
  "sourcesContent": ["export * from './Slider'\n// for static extract to find, must export\nexport { SliderFrame, DirectionalYStack } from './SliderImpl'\nexport type {\n SliderProps,\n SliderHorizontalProps,\n SliderVerticalProps,\n SliderTrackProps,\n} from './types'\n"],
5
- "mappings": "AAAA,WAAc,WAEd,OAAS,eAAAA,EAAa,qBAAAC,MAAyB",
6
- "names": ["SliderFrame", "DirectionalYStack"]
5
+ "mappings": "AAAA,cAAc;AAEd,SAAS,aAAa,yBAAyB;",
6
+ "names": []
7
7
  }