@darajs/components 1.16.15 → 1.16.16

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.
@@ -11,6 +11,8 @@ interface SliderProps extends FormComponentProps {
11
11
  rail_labels?: Array<string>;
12
12
  /** Draw track from rightmost handle to end */
13
13
  rail_to_end: boolean;
14
+ /** Slider thumb labels */
15
+ thumb_labels?: Array<string>;
14
16
  /** Slider step size */
15
17
  step?: number;
16
18
  /** Slider tick positions */
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../js/common/slider/slider.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAyD,MAAM,cAAc,CAAC;AAI/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,UAAU,WAAY,SAAQ,kBAAkB;IAC5C,4FAA4F;IAC5F,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,8BAA8B;IAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB;IACnB,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,yCAAyC;IAEzC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;CAC5C;AAID;;;;;GAKG;AACH,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CA2C/C;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../js/common/slider/slider.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAyD,MAAM,cAAc,CAAC;AAI/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,UAAU,WAAY,SAAQ,kBAAkB;IAC5C,4FAA4F;IAC5F,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,8BAA8B;IAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB;IACnB,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,yCAAyC;IAEzC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;CAC5C;AAID;;;;;GAKG;AACH,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CAsD/C;AAED,eAAe,MAAM,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import _debounce from 'lodash/debounce';
3
- import { useMemo } from 'react';
3
+ import { useCallback, useMemo, useState } from 'react';
4
4
  import { injectCss, useAction, useComponentStyles, useVariable } from '@darajs/core';
5
5
  import { Slider as UISlider } from '@darajs/ui-components';
6
6
  import { useFormContext } from '../context';
@@ -15,24 +15,28 @@ function Slider(props) {
15
15
  const formCtx = useFormContext(props);
16
16
  const [style, css] = useComponentStyles(props);
17
17
  const [value, setValue] = useVariable(formCtx.resolveInitialValue(props.domain[0]));
18
+ // store separate internal value for instant updates, actual variable is updated via debounce
19
+ const [internalValue, setInternalValue] = useState(value);
18
20
  const onTrack = useAction(props.onchange);
19
21
  const debouncedSetValue = useMemo(() => _debounce(setValue, 300), [setValue]);
20
22
  const debouncedOnTrack = useMemo(() => _debounce(onTrack, 300), [onTrack]);
21
23
  const debouncedUpdateForm = useMemo(() => _debounce(formCtx.updateForm, 300), [formCtx.updateForm]);
22
- const isOutputNumber = typeof value === 'number';
23
- function onChange(values) {
24
+ const isOutputNumber = typeof internalValue === 'number';
25
+ const onChange = useCallback((values) => {
24
26
  let serialisedValues = values;
25
27
  // if we're supposed to output a number, unwrap the array
26
28
  if (isOutputNumber) {
27
29
  [serialisedValues] = values;
28
30
  }
31
+ // immediately update internal state
32
+ setInternalValue(serialisedValues);
29
33
  debouncedSetValue(serialisedValues);
30
- debouncedOnTrack === null || debouncedOnTrack === void 0 ? void 0 : debouncedOnTrack(serialisedValues);
31
34
  debouncedUpdateForm(serialisedValues);
32
- }
35
+ debouncedOnTrack === null || debouncedOnTrack === void 0 ? void 0 : debouncedOnTrack(serialisedValues);
36
+ }, [isOutputNumber, debouncedSetValue, debouncedUpdateForm, debouncedOnTrack]);
33
37
  // Values passed to the UI component must always be an array
34
- const parsedValues = isOutputNumber ? [value] : value;
35
- return (_jsx(StyledSlider, { "$rawCss": css, disableInputAlternative: props.disable_input_alternative, domain: props.domain, onChange: onChange, step: props.step, style: style, ticks: props.ticks, trackLabels: props.rail_labels, trackToEnd: props.rail_to_end, trackToStart: props.rail_from_start, values: parsedValues }));
38
+ const parsedValues = isOutputNumber ? [internalValue] : internalValue;
39
+ return (_jsx(StyledSlider, { "$rawCss": css, disableInputAlternative: props.disable_input_alternative, domain: props.domain, onChange: onChange, step: props.step, style: style, ticks: props.ticks, trackLabels: props.rail_labels, trackToEnd: props.rail_to_end, trackToStart: props.rail_from_start, thumbLabels: props.thumb_labels, values: parsedValues }));
36
40
  }
37
41
  export default Slider;
38
42
  //# sourceMappingURL=slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../js/common/slider/slider.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAY,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAuB5C,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEzC;;;;;GAKG;AACH,SAAS,MAAM,CAAC,KAAkB;IAC9B,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE1C,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAEpG,MAAM,cAAc,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC;IAEjD,SAAS,QAAQ,CAAC,MAAgB;QAC9B,IAAI,gBAAgB,GAAsB,MAAM,CAAC;QAEjD,yDAAyD;QACzD,IAAI,cAAc,EAAE,CAAC;YACjB,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;QAChC,CAAC;QAED,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QACpC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,gBAAgB,CAAC,CAAC;QACrC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAED,4DAA4D;IAC5D,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEtD,OAAO,CACH,KAAC,YAAY,eACA,GAAG,EACZ,uBAAuB,EAAE,KAAK,CAAC,yBAAyB,EACxD,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,UAAU,EAAE,KAAK,CAAC,WAAW,EAC7B,YAAY,EAAE,KAAK,CAAC,eAAe,EACnC,MAAM,EAAE,YAAY,GACtB,CACL,CAAC;AACN,CAAC;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../js/common/slider/slider.tsx"],"names":[],"mappings":"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"}