@ultraviolet/ui 1.61.0 → 1.62.0

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 (56) hide show
  1. package/dist/components/DateInput/index.cjs +3 -3
  2. package/dist/components/DateInput/index.js +3 -3
  3. package/dist/components/Modal/ModalContent.cjs +53 -0
  4. package/dist/components/Modal/ModalContent.d.ts +17 -0
  5. package/dist/components/Modal/ModalContent.js +51 -0
  6. package/dist/components/Modal/ModalProvider.cjs +40 -0
  7. package/dist/components/Modal/ModalProvider.d.ts +14 -0
  8. package/dist/components/Modal/ModalProvider.js +40 -0
  9. package/dist/components/Modal/components/Dialog.cjs +162 -0
  10. package/dist/components/Modal/components/Dialog.d.ts +13 -0
  11. package/dist/components/Modal/components/Dialog.js +160 -0
  12. package/dist/components/Modal/{Disclosure.d.ts → components/Disclosure.d.ts} +1 -1
  13. package/dist/components/Modal/index.cjs +5 -29
  14. package/dist/components/Modal/index.js +6 -28
  15. package/dist/components/SearchInput/index.cjs +3 -3
  16. package/dist/components/SearchInput/index.js +3 -3
  17. package/dist/components/SearchInput/types.d.ts +2 -1
  18. package/dist/components/SelectInputV2/SearchBarDropdown.cjs +2 -2
  19. package/dist/components/SelectInputV2/SearchBarDropdown.js +2 -2
  20. package/dist/components/Slider/components/DoubleSlider.cjs +287 -0
  21. package/dist/components/Slider/{DoubleSlider.d.ts → components/DoubleSlider.d.ts} +1 -1
  22. package/dist/components/Slider/components/DoubleSlider.js +285 -0
  23. package/dist/components/Slider/{Label.cjs → components/Label.cjs} +2 -2
  24. package/dist/components/Slider/{Label.d.ts → components/Label.d.ts} +1 -1
  25. package/dist/components/Slider/{Label.js → components/Label.js} +2 -2
  26. package/dist/components/Slider/components/Options.cjs +50 -0
  27. package/dist/components/Slider/components/Options.d.ts +13 -0
  28. package/dist/components/Slider/components/Options.js +48 -0
  29. package/dist/components/Slider/components/SingleSlider.cjs +210 -0
  30. package/dist/components/Slider/{SingleSlider.d.ts → components/SingleSlider.d.ts} +1 -1
  31. package/dist/components/Slider/components/SingleSlider.js +208 -0
  32. package/dist/components/Slider/index.cjs +2 -2
  33. package/dist/components/Slider/index.js +2 -2
  34. package/dist/components/Slider/styles.cjs +18 -36
  35. package/dist/components/Slider/styles.d.ts +2 -13
  36. package/dist/components/Slider/styles.js +18 -36
  37. package/dist/components/TextArea/index.cjs +5 -5
  38. package/dist/components/TextArea/index.js +5 -5
  39. package/dist/components/TextInputV2/index.cjs +28 -12
  40. package/dist/components/TextInputV2/index.d.ts +6 -3
  41. package/dist/components/TextInputV2/index.js +29 -13
  42. package/dist/components/UnitInput/index.cjs +5 -5
  43. package/dist/components/UnitInput/index.js +5 -5
  44. package/package.json +7 -7
  45. package/dist/components/Modal/Dialog.cjs +0 -144
  46. package/dist/components/Modal/Dialog.d.ts +0 -11
  47. package/dist/components/Modal/Dialog.js +0 -142
  48. package/dist/components/Slider/DoubleSlider.cjs +0 -280
  49. package/dist/components/Slider/DoubleSlider.js +0 -278
  50. package/dist/components/Slider/Options.cjs +0 -27
  51. package/dist/components/Slider/Options.d.ts +0 -2
  52. package/dist/components/Slider/Options.js +0 -27
  53. package/dist/components/Slider/SingleSlider.cjs +0 -207
  54. package/dist/components/Slider/SingleSlider.js +0 -205
  55. /package/dist/components/Modal/{Disclosure.cjs → components/Disclosure.cjs} +0 -0
  56. /package/dist/components/Modal/{Disclosure.js → components/Disclosure.js} +0 -0
@@ -0,0 +1,13 @@
1
+ import type { OptionsProps } from '../types';
2
+ export declare const DataList: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme;
4
+ as?: React.ElementType;
5
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDataListElement>, HTMLDataListElement>, {}>;
6
+ export declare const Option: import("@emotion/styled").StyledComponent<{
7
+ theme?: import("@emotion/react").Theme;
8
+ as?: import("react").ElementType;
9
+ } & {
10
+ left: number;
11
+ width: number;
12
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
13
+ export declare const Options: ({ ticks, min, max, sliderWidth, unit, value, step, }: OptionsProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,48 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import _styled from "@emotion/styled/base";
3
+ import { Text } from "../../Text/index.js";
4
+ import { THUMB_SIZE } from "../constant.js";
5
+ const DataList = /* @__PURE__ */ _styled("datalist", process.env.NODE_ENV === "production" ? {
6
+ target: "e1dbiu721"
7
+ } : {
8
+ target: "e1dbiu721",
9
+ label: "DataList"
10
+ })("width:100%;display:flex;position:relative;height:", ({
11
+ theme
12
+ }) => theme.typography.caption.lineHeight, ";&[data-double='true']{margin-top:", ({
13
+ theme
14
+ }) => theme.space["5"], ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NsaWRlci9jb21wb25lbnRzL09wdGlvbnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUt1QyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9TbGlkZXIvY29tcG9uZW50cy9PcHRpb25zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gJy4uLy4uL1RleHQnXG5pbXBvcnQgeyBUSFVNQl9TSVpFIH0gZnJvbSAnLi4vY29uc3RhbnQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnNQcm9wcyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgRGF0YUxpc3QgPSBzdHlsZWQuZGF0YWxpc3RgXG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS50eXBvZ3JhcGh5LmNhcHRpb24ubGluZUhlaWdodH07XG5cbiAgJltkYXRhLWRvdWJsZT0ndHJ1ZSddIHtcbiAgICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWyc1J119O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBPcHRpb24gPSBzdHlsZWQoJ3NwYW4nLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2xlZnQnLCAnd2lkdGgnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgbGVmdDogbnVtYmVyOyB3aWR0aDogbnVtYmVyIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBsZWZ0OiAkeyh7IGxlZnQgfSkgPT4gbGVmdH0lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAmW2RhdGEtZWxlbWVudC1sZWZ0PSd0cnVlJ10ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1lbGVtZW50LXJpZ2h0PSd0cnVlJ10ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IE9wdGlvbnMgPSAoe1xuICB0aWNrcyxcbiAgbWluLFxuICBtYXgsXG4gIHNsaWRlcldpZHRoLFxuICB1bml0LFxuICB2YWx1ZSxcbiAgc3RlcCxcbn06IE9wdGlvbnNQcm9wcykgPT4ge1xuICBjb25zdCBvcHRpb25XaWR0aCA9ICgoc2xpZGVyV2lkdGggLSBUSFVNQl9TSVpFIC8gMikgKiBzdGVwKSAvIChtYXggLSBtaW4pXG5cbiAgcmV0dXJuIChcbiAgICA8RGF0YUxpc3QgZGF0YS1kb3VibGU9e0FycmF5LmlzQXJyYXkodmFsdWUpfT5cbiAgICAgIHt0aWNrcy5tYXAoKGVsZW1lbnQsIGluZGV4LCB7IGxlbmd0aCB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGxlZnQgPSAoKGluZGV4ICogc3RlcCAtIG1pbikgKiAxMDApIC8gKG1heCAtIG1pbilcblxuICAgICAgICBjb25zdCBmb3JtYXRlZEVsZW1lbnQgPVxuICAgICAgICAgIHVuaXQgJiYgKGluZGV4ID09PSAwIHx8IGluZGV4ID09PSBsZW5ndGggLSAxKVxuICAgICAgICAgICAgPyAoZWxlbWVudC5sYWJlbCA/PyBTdHJpbmcoZWxlbWVudC52YWx1ZSkpLmNvbmNhdCh1bml0KVxuICAgICAgICAgICAgOiBlbGVtZW50LmxhYmVsID8/IFN0cmluZyhlbGVtZW50LnZhbHVlKVxuXG4gICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPVxuICAgICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcidcbiAgICAgICAgICAgID8gZWxlbWVudC52YWx1ZSA9PT0gdmFsdWVcbiAgICAgICAgICAgIDogdmFsdWUuaW5jbHVkZXMoZWxlbWVudC52YWx1ZSlcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxPcHRpb25cbiAgICAgICAgICAgIGtleT17ZWxlbWVudC52YWx1ZX1cbiAgICAgICAgICAgIGxlZnQ9e2xlZnR9XG4gICAgICAgICAgICB3aWR0aD17b3B0aW9uV2lkdGh9XG4gICAgICAgICAgICBkYXRhLXZhbHVlPXtlbGVtZW50LnZhbHVlfVxuICAgICAgICAgICAgZGF0YS1lbGVtZW50LWxlZnQ9e2luZGV4ID09PSAwfVxuICAgICAgICAgICAgZGF0YS1lbGVtZW50LXJpZ2h0PXtpbmRleCA9PT0gbGVuZ3RoIC0gMX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICBhcz1cInBcIlxuICAgICAgICAgICAgICB2YXJpYW50PXtpc1NlbGVjdGVkID8gJ2NhcHRpb25TdHJvbmcnIDogJ2NhcHRpb24nfVxuICAgICAgICAgICAgICBzZW50aW1lbnQ9e2lzU2VsZWN0ZWQgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtmb3JtYXRlZEVsZW1lbnR9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgIClcbiAgICAgIH0pfVxuICAgIDwvRGF0YUxpc3Q+XG4gIClcbn1cbiJdfQ== */"));
15
+ const Option = /* @__PURE__ */ _styled("span", process.env.NODE_ENV === "production" ? {
16
+ shouldForwardProp: (prop) => !["left", "width"].includes(prop),
17
+ target: "e1dbiu720"
18
+ } : {
19
+ shouldForwardProp: (prop) => !["left", "width"].includes(prop),
20
+ target: "e1dbiu720",
21
+ label: "Option"
22
+ })("display:flex;left:", ({
23
+ left
24
+ }) => left, "%;position:absolute;transform:translateX(-50%);&[data-element-left='true']{transform:none;}&[data-element-right='true']{transform:translateX(-100%);}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NsaWRlci9jb21wb25lbnRzL09wdGlvbnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCbUMiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvdWkvc3JjL2NvbXBvbmVudHMvU2xpZGVyL2NvbXBvbmVudHMvT3B0aW9ucy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi8uLi9UZXh0J1xuaW1wb3J0IHsgVEhVTUJfU0laRSB9IGZyb20gJy4uL2NvbnN0YW50J1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zUHJvcHMgfSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IERhdGFMaXN0ID0gc3R5bGVkLmRhdGFsaXN0YFxuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5jYXB0aW9uLmxpbmVIZWlnaHR9O1xuXG4gICZbZGF0YS1kb3VibGU9J3RydWUnXSB7XG4gICAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnNSddfTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgT3B0aW9uID0gc3R5bGVkKCdzcGFuJywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydsZWZ0JywgJ3dpZHRoJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGxlZnQ6IG51bWJlcjsgd2lkdGg6IG51bWJlciB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgbGVmdDogJHsoeyBsZWZ0IH0pID0+IGxlZnR9JTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgJltkYXRhLWVsZW1lbnQtbGVmdD0ndHJ1ZSddIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAmW2RhdGEtZWxlbWVudC1yaWdodD0ndHJ1ZSddIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBPcHRpb25zID0gKHtcbiAgdGlja3MsXG4gIG1pbixcbiAgbWF4LFxuICBzbGlkZXJXaWR0aCxcbiAgdW5pdCxcbiAgdmFsdWUsXG4gIHN0ZXAsXG59OiBPcHRpb25zUHJvcHMpID0+IHtcbiAgY29uc3Qgb3B0aW9uV2lkdGggPSAoKHNsaWRlcldpZHRoIC0gVEhVTUJfU0laRSAvIDIpICogc3RlcCkgLyAobWF4IC0gbWluKVxuXG4gIHJldHVybiAoXG4gICAgPERhdGFMaXN0IGRhdGEtZG91YmxlPXtBcnJheS5pc0FycmF5KHZhbHVlKX0+XG4gICAgICB7dGlja3MubWFwKChlbGVtZW50LCBpbmRleCwgeyBsZW5ndGggfSkgPT4ge1xuICAgICAgICBjb25zdCBsZWZ0ID0gKChpbmRleCAqIHN0ZXAgLSBtaW4pICogMTAwKSAvIChtYXggLSBtaW4pXG5cbiAgICAgICAgY29uc3QgZm9ybWF0ZWRFbGVtZW50ID1cbiAgICAgICAgICB1bml0ICYmIChpbmRleCA9PT0gMCB8fCBpbmRleCA9PT0gbGVuZ3RoIC0gMSlcbiAgICAgICAgICAgID8gKGVsZW1lbnQubGFiZWwgPz8gU3RyaW5nKGVsZW1lbnQudmFsdWUpKS5jb25jYXQodW5pdClcbiAgICAgICAgICAgIDogZWxlbWVudC5sYWJlbCA/PyBTdHJpbmcoZWxlbWVudC52YWx1ZSlcblxuICAgICAgICBjb25zdCBpc1NlbGVjdGVkID1cbiAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInXG4gICAgICAgICAgICA/IGVsZW1lbnQudmFsdWUgPT09IHZhbHVlXG4gICAgICAgICAgICA6IHZhbHVlLmluY2x1ZGVzKGVsZW1lbnQudmFsdWUpXG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8T3B0aW9uXG4gICAgICAgICAgICBrZXk9e2VsZW1lbnQudmFsdWV9XG4gICAgICAgICAgICBsZWZ0PXtsZWZ0fVxuICAgICAgICAgICAgd2lkdGg9e29wdGlvbldpZHRofVxuICAgICAgICAgICAgZGF0YS12YWx1ZT17ZWxlbWVudC52YWx1ZX1cbiAgICAgICAgICAgIGRhdGEtZWxlbWVudC1sZWZ0PXtpbmRleCA9PT0gMH1cbiAgICAgICAgICAgIGRhdGEtZWxlbWVudC1yaWdodD17aW5kZXggPT09IGxlbmd0aCAtIDF9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAgYXM9XCJwXCJcbiAgICAgICAgICAgICAgdmFyaWFudD17aXNTZWxlY3RlZCA/ICdjYXB0aW9uU3Ryb25nJyA6ICdjYXB0aW9uJ31cbiAgICAgICAgICAgICAgc2VudGltZW50PXtpc1NlbGVjdGVkID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Zm9ybWF0ZWRFbGVtZW50fVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICApXG4gICAgICB9KX1cbiAgICA8L0RhdGFMaXN0PlxuICApXG59XG4iXX0= */"));
25
+ const Options = ({
26
+ ticks,
27
+ min,
28
+ max,
29
+ sliderWidth,
30
+ unit,
31
+ value,
32
+ step
33
+ }) => {
34
+ const optionWidth = (sliderWidth - THUMB_SIZE / 2) * step / (max - min);
35
+ return /* @__PURE__ */ jsx(DataList, { "data-double": Array.isArray(value), children: ticks.map((element, index, {
36
+ length
37
+ }) => {
38
+ const left = (index * step - min) * 100 / (max - min);
39
+ const formatedElement = unit && (index === 0 || index === length - 1) ? (element.label ?? String(element.value)).concat(unit) : element.label ?? String(element.value);
40
+ const isSelected = typeof value === "number" ? element.value === value : value.includes(element.value);
41
+ return /* @__PURE__ */ jsx(Option, { left, width: optionWidth, "data-value": element.value, "data-element-left": index === 0, "data-element-right": index === length - 1, children: /* @__PURE__ */ jsx(Text, { as: "p", variant: isSelected ? "captionStrong" : "caption", sentiment: isSelected ? "primary" : "neutral", children: formatedElement }) }, element.value);
42
+ }) });
43
+ };
44
+ export {
45
+ DataList,
46
+ Option,
47
+ Options
48
+ };
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
4
+ const _styled = require("@emotion/styled/base");
5
+ const react = require("@emotion/react");
6
+ const React = require("react");
7
+ const index$1 = require("../../Stack/index.cjs");
8
+ const index = require("../../Text/index.cjs");
9
+ const constant = require("../constant.cjs");
10
+ const styles = require("../styles.cjs");
11
+ const Label = require("./Label.cjs");
12
+ const Options = require("./Options.cjs");
13
+ const _interopDefaultCompat = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
14
+ const _styled__default = /* @__PURE__ */ _interopDefaultCompat(_styled);
15
+ const StyledTextValue = /* @__PURE__ */ _styled__default.default(index.Text, process.env.NODE_ENV === "production" ? {
16
+ shouldForwardProp: (prop) => !["double", "isColumn"].includes(prop),
17
+ target: "elmzsg31"
18
+ } : {
19
+ shouldForwardProp: (prop) => !["double", "isColumn"].includes(prop),
20
+ target: "elmzsg31",
21
+ label: "StyledTextValue"
22
+ })("min-width:", ({
23
+ theme,
24
+ double,
25
+ isColumn
26
+ }) => double && isColumn ? null : theme.space["5"], ";align-self:", ({
27
+ double,
28
+ isColumn
29
+ }) => double || !isColumn ? "center" : "end", ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NsaWRlci9jb21wb25lbnRzL1NpbmdsZVNsaWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0IwQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9TbGlkZXIvY29tcG9uZW50cy9TaW5nbGVTbGlkZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlSWQsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vLi4vVGV4dCdcbmltcG9ydCB7IFNMSURFUl9XSURUSCwgVEhVTUJfU0laRSB9IGZyb20gJy4uL2NvbnN0YW50J1xuaW1wb3J0IHtcbiAgU3R5bGVkTnVtYmVySW5wdXQsXG4gIFN0eWxlZFRvb2x0aXAsXG4gIHRodW1iU3R5bGUsXG4gIHRyYWNrU3R5bGUsXG59IGZyb20gJy4uL3N0eWxlcydcbmltcG9ydCB0eXBlIHsgU2luZ2xlU2xpZGVyUHJvcHMgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IExhYmVsIH0gZnJvbSAnLi9MYWJlbCdcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICcuL09wdGlvbnMnXG5cbmNvbnN0IFN0eWxlZFRleHRWYWx1ZSA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2RvdWJsZScsICdpc0NvbHVtbiddLmluY2x1ZGVzKHByb3ApLFxufSk8eyBkb3VibGU6IGJvb2xlYW47IGlzQ29sdW1uOiBib29sZWFuIH0+YFxuICBtaW4td2lkdGg6ICR7KHsgdGhlbWUsIGRvdWJsZSwgaXNDb2x1bW4gfSkgPT4gKGRvdWJsZSAmJiBpc0NvbHVtbiA/IG51bGwgOiB0aGVtZS5zcGFjZVsnNSddKX07XG4gIGFsaWduLXNlbGY6ICR7KHsgZG91YmxlLCBpc0NvbHVtbiB9KSA9PiAoZG91YmxlIHx8ICFpc0NvbHVtbiA/ICdjZW50ZXInIDogJ2VuZCcpfTtcbmBcblxuY29uc3QgU2xpZGVyRWxlbWVudCA9IHN0eWxlZCgnaW5wdXQnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ3RoZW1lU2xpZGVyJywgJ2xlZnQnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgdGhlbWVTbGlkZXI6IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW47IGxlZnQ6IG51bWJlciB9PmBcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLXdpZHRoOiAke1NMSURFUl9XSURUSC5taW59cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJXZWFrfTtcblxuICAgIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJ9LCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlcn0pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAgICAgYm9yZGVyOiAkeyh7IHRoZW1lLCBkaXNhYmxlZCB9KSA9PiAoZGlzYWJsZWQgPyBudWxsIDogYDEuNXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyfWApfTtcbiAgICAgICAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lLCBkaXNhYmxlZCB9KSA9PiAoZGlzYWJsZWQgPyBudWxsIDogdGhlbWUuc2hhZG93cy5mb2N1c1ByaW1hcnkpfTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXI6ICR7KHsgdGhlbWUsIGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/IG51bGwgOiBgMS41cHggc29saWQgJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJ9YCl9O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUsIGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/IG51bGwgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSl9O1xuICAgICAgICB9XG4gIH1cbiAgICAmW2RhdGEtZXJyb3I9J3RydWUnXXtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJhY2tncm91bmRTdHJvbmd9LCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYmFja2dyb3VuZFN0cm9uZ30pO1xuICAgIH1cblxuICAgICZbZGF0YS1kaXJlY3Rpb249J2NvbHVtbiddIHtcbiAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICAgIH1cblxuICAgICZbYXJpYS1kaXNhYmxlZD0ndHJ1ZSdde1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJEaXNhYmxlZH0sICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyRGlzYWJsZWR9KTtcbiAgICB9XG5cbiAgICAvKiBNb3ppbGxhICovXG4gICAgOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgICAgJHt0cmFja1N0eWxlfVxuICAgIH1cbiAgICA6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgICAkeyh7IHRoZW1lLCB0aGVtZVNsaWRlciwgZGlzYWJsZWQsIGxlZnQgfSkgPT4gdGh1bWJTdHlsZSh0aGVtZSwgdGhlbWVTbGlkZXIsIGRpc2FibGVkLCBsZWZ0LCBmYWxzZSl9XG4gICAgfVxuXG4gICAgLyogT3RoZXIgYnJvd3NlcnMgKi9cbiAgICA6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgICAgJHt0cmFja1N0eWxlfVxuICAgIH1cbiAgICA6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgJHsoeyB0aGVtZSwgdGhlbWVTbGlkZXIsIGRpc2FibGVkLCBsZWZ0IH0pID0+IHRodW1iU3R5bGUodGhlbWUsIHRoZW1lU2xpZGVyLCBkaXNhYmxlZCwgbGVmdCwgZmFsc2UpfVxuICAgIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVNsaWRlciA9ICh7XG4gIG5hbWUsXG4gIHRvb2x0aXAsXG4gIGRpcmVjdGlvbixcbiAgZGlzYWJsZWQsXG4gIGVycm9yLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICB2YWx1ZSxcbiAgb25DaGFuZ2UsXG4gIG1pbiA9IDAsXG4gIG1heCA9IDEwMCxcbiAgc3RlcCA9IDEsXG4gIGlkLFxuICBvbkJsdXIsXG4gIHVuaXQsXG4gIG9wdGlvbnMsXG4gIHBvc3NpYmxlVmFsdWVzLFxuICBvbkZvY3VzLFxuICBjbGFzc05hbWUsXG4gIGxhYmVsLFxuICBpbnB1dCxcbiAgcHJlZml4LFxuICBzdWZmaXgsXG4gIHJlcXVpcmVkLFxuICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgdG9vbHRpcFBvc2l0aW9uLFxufTogU2luZ2xlU2xpZGVyUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxJZCA9IHVzZUlkKClcbiAgY29uc3QgeyB0aGVtZSB9ID0gdXNlVGhlbWUoKVxuICBjb25zdCBmaW5hbElkID0gaWQgPz8gbG9jYWxJZFxuICBjb25zdCBzYWZlVmFsdWUgPSB2YWx1ZSA/PyBtaW5cbiAgY29uc3QgW2NvbXB1dGVkVmFsdWUsIHNldENvbXB1dGVkVmFsdWVdID0gdXNlU3RhdGUoc2FmZVZhbHVlKVxuICBjb25zdCBbdmFsdWVUb1Nob3csIHNldFZhbHVlVG9TaG93XSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KHNhZmVWYWx1ZSlcbiAgY29uc3QgcmVmU2xpZGVyID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtzbGlkZXJXaWR0aCwgc2V0V2lkdGhdID0gdXNlU3RhdGUoXG4gICAgcmVmU2xpZGVyLmN1cnJlbnQ/Lm9mZnNldFdpZHRoID8/IFNMSURFUl9XSURUSC5tYXgsXG4gIClcbiAgY29uc3QgW2N1c3RvbVZhbHVlLCBzZXRDdXN0b21WYWx1ZV0gPSB1c2VTdGF0ZTx1bmRlZmluZWQgfCBudW1iZXI+KHVuZGVmaW5lZClcblxuICBjb25zdCB0aWNrcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChvcHRpb25zID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogbWF4IC0gbWluICsgMSB9LCAoXywgaW5kZXgpID0+ICh7XG4gICAgICAgIHZhbHVlOiBtaW4gKyBpbmRleCAqIHN0ZXAsXG4gICAgICAgIGxhYmVsOiBTdHJpbmcobWluICsgaW5kZXggKiBzdGVwKSxcbiAgICAgIH0pKS5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50LnZhbHVlIDw9IG1heCAmJiBlbGVtZW50LnZhbHVlID49IG1pbilcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMpIHJldHVybiBvcHRpb25zXG4gICAgaWYgKHBvc3NpYmxlVmFsdWVzKSB7XG4gICAgICByZXR1cm4gcG9zc2libGVWYWx1ZXMubWFwKChlbGVtZW50LCBpbmRleCkgPT4gKHtcbiAgICAgICAgdmFsdWU6IGluZGV4LFxuICAgICAgICBsYWJlbDogU3RyaW5nKGVsZW1lbnQpLFxuICAgICAgfSkpXG4gICAgfVxuXG4gICAgcmV0dXJuIFtdXG4gIH0sIFttYXgsIG1pbiwgb3B0aW9ucywgcG9zc2libGVWYWx1ZXMsIHN0ZXBdKVxuXG4gIGNvbnN0IG9uQ2hhbmdlQ2FsbGJhY2sgPSB1c2VDYWxsYmFjayhcbiAgICAobmV3VmFsdWU6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICAgIHNldFZhbHVlVG9TaG93KG5ld1ZhbHVlKVxuICAgICAgc2V0Q29tcHV0ZWRWYWx1ZShuZXdWYWx1ZSA/PyBtaW4pXG4gICAgICBvbkNoYW5nZT8uKG5ld1ZhbHVlID8/IG1pbilcbiAgICB9LFxuICAgIFttaW4sIG9uQ2hhbmdlXSxcbiAgKVxuXG4gIC8vIERlZmF1bHQgdmFsdWUgdG8gYmUgY29oZXJlbnQgd2l0aCBhIGN1c3RvbSBzY2FsZSB3aGVuIG9uZSBpcyBkZWZpbmVkXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBvc3NpYmxlVmFsdWVzKSB7XG4gICAgICBzZXRDdXN0b21WYWx1ZShwb3NzaWJsZVZhbHVlc1tjb21wdXRlZFZhbHVlXSlcbiAgICB9XG4gIH0sIFtwb3NzaWJsZVZhbHVlcywgY29tcHV0ZWRWYWx1ZV0pXG5cbiAgLy8gTWFrZSBzdXJlIHRoYXQgbWluIDw9IHZhbHVlIDw9IG1heFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2YWx1ZSA8IG1pbikge1xuICAgICAgb25DaGFuZ2VDYWxsYmFjayhtaW4pXG4gICAgfVxuICAgIGlmICh2YWx1ZSA+IG1heCkge1xuICAgICAgb25DaGFuZ2VDYWxsYmFjayhtYXgpXG4gICAgfVxuICB9LCBbdmFsdWUsIG1heCwgbWluLCBvbkNoYW5nZSwgc3RlcCwgb25DaGFuZ2VDYWxsYmFja10pXG5cbiAgLy8gR2V0IHNsaWRlciBzaXplXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2V0V2lkdGhSZXNpemUgPSAoKSA9PiB7XG4gICAgICBzZXRXaWR0aChyZWZTbGlkZXIuY3VycmVudD8ub2Zmc2V0V2lkdGggPz8gU0xJREVSX1dJRFRILm1heClcbiAgICB9XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHNldFdpZHRoUmVzaXplKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBzZXRXaWR0aFJlc2l6ZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAocG9zc2libGVWYWx1ZXMpIHtcbiAgICAgICAgLy8gQ3VzdG9tIHNjYWxlXG4gICAgICAgIGNvbnN0IG9wdGlvbkxhYmVsID0gcG9zc2libGVWYWx1ZXNbbmV3VmFsdWUgPz8gbWluXVxuICAgICAgICBzZXRDdXN0b21WYWx1ZShvcHRpb25MYWJlbClcbiAgICAgICAgb25DaGFuZ2VDYWxsYmFjayhuZXdWYWx1ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uQ2hhbmdlQ2FsbGJhY2sobmV3VmFsdWUpXG4gICAgICB9XG4gICAgfSxcbiAgICBbbWluLCBvbkNoYW5nZUNhbGxiYWNrLCBwb3NzaWJsZVZhbHVlc10sXG4gIClcblxuICBjb25zdCBsZWZ0UG9zaXRpb24gPSB1c2VNZW1vKFxuICAgICgpID0+ICgoY29tcHV0ZWRWYWx1ZSAtIG1pbikgKiAxMDApIC8gKG1heCAtIG1pbiksXG4gICAgW2NvbXB1dGVkVmFsdWUsIG1heCwgbWluXSxcbiAgKVxuXG4gIGNvbnN0IGdldEJhY2tncm91bmRTaXplID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgYmFja2dyb3VuZFNpemU6IGAke2xlZnRQb3NpdGlvbn0lIDEwMCVgLFxuICAgIH0pLFxuICAgIFtsZWZ0UG9zaXRpb25dLFxuICApXG5cbiAgY29uc3Qgc3R5bGVkVmFsdWUgPSAodmFsdWVOdW1iZXI6IHN0cmluZyB8IG51bWJlciB8IG51bGwpID0+XG4gICAgaW5wdXQgJiYgKCFvcHRpb25zIHx8IG9wdGlvbnMgPT09IHRydWUpICYmICFwb3NzaWJsZVZhbHVlcyA/IChcbiAgICAgIDxTdHlsZWROdW1iZXJJbnB1dFxuICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgdHlwZW9mIHZhbHVlTnVtYmVyID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBwYXJzZUZsb2F0KHZhbHVlTnVtYmVyKVxuICAgICAgICAgICAgOiB2YWx1ZU51bWJlclxuICAgICAgICB9XG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIG1pbj17bWlufVxuICAgICAgICBhcmlhLWxhYmVsPVwiaW5wdXRcIlxuICAgICAgICBtYXg9e21heH1cbiAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgY29udHJvbHM9e2ZhbHNlfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LWlucHV0YCA6ICdzbGlkZXItaW5wdXQnfVxuICAgICAgICB1bml0PXt0eXBlb2Ygc3VmZml4ID09PSAnc3RyaW5nJyA/IHN1ZmZpeCA6IHVuaXR9XG4gICAgICAgIG9uQ2hhbmdlPXtuZXdWYWwgPT4ge1xuICAgICAgICAgIGlmIChuZXdWYWwpIHtcbiAgICAgICAgICAgIG9uQ2hhbmdlQ2FsbGJhY2sobmV3VmFsKVxuICAgICAgICAgIH0gZWxzZSBvbkNoYW5nZUNhbGxiYWNrKG51bGwpXG4gICAgICAgIH19XG4gICAgICAgIG9uQmx1cj17ZXZlbnQgPT4ge1xuICAgICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlKSBvbkNoYW5nZUNhbGxiYWNrKG1pbilcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKSA6IChcbiAgICAgIDxTdHlsZWRUZXh0VmFsdWVcbiAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFwiXG4gICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICBwbGFjZW1lbnQ9e2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgPyAncmlnaHQnIDogJ2NlbnRlcid9XG4gICAgICAgIGRvdWJsZT17ZmFsc2V9XG4gICAgICAgIGlzQ29sdW1uPXtkaXJlY3Rpb24gPT09ICdjb2x1bW4nfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZhbHVlYCA6ICdzbGlkZXItdmFsdWUnfVxuICAgICAgPlxuICAgICAgICB7cHJlZml4fVxuICAgICAgICB7dmFsdWVOdW1iZXJ9XG4gICAgICAgIHtzdWZmaXggPz8gdW5pdH1cbiAgICAgIDwvU3R5bGVkVGV4dFZhbHVlPlxuICAgIClcblxuICBjb25zdCB0b29sdGlwVGV4dCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh0b29sdGlwID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gY29tcHV0ZWRWYWx1ZVxuICAgIH1cbiAgICBpZiAodG9vbHRpcCkge1xuICAgICAgcmV0dXJuIHRvb2x0aXBcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFt0b29sdGlwLCBjb21wdXRlZFZhbHVlXSlcblxuICBjb25zdCBwbGFjZW1lbnRUb29sdGlwID1cbiAgICAoKGNvbXB1dGVkVmFsdWUgLSBtaW4pIC8gKG1heCAtIG1pbikpICogKHNsaWRlcldpZHRoIC0gVEhVTUJfU0laRSkgK1xuICAgIFRIVU1CX1NJWkUgLyAyIC1cbiAgICBzbGlkZXJXaWR0aCAvIDJcblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj17ZGlyZWN0aW9ufSBqdXN0aWZ5Q29udGVudD1cImxlZnRcIj5cbiAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgPFN0YWNrIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgICAgICBpbnB1dD17aW5wdXR9XG4gICAgICAgICAgICBmaW5hbElkPXtmaW5hbElkfVxuICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2RpcmVjdGlvbiA9PT0gJ2NvbHVtbidcbiAgICAgICAgICAgID8gc3R5bGVkVmFsdWUoY3VzdG9tVmFsdWUgPz8gdmFsdWVUb1Nob3cpXG4gICAgICAgICAgICA6IG51bGx9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICApIDogbnVsbH1cblxuICAgICAge2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgJiYgIWxhYmVsXG4gICAgICAgID8gc3R5bGVkVmFsdWUoY3VzdG9tVmFsdWUgPz8gdmFsdWVUb1Nob3cpXG4gICAgICAgIDogbnVsbH1cbiAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJjb2x1bW5cIiB3aWR0aD1cIjEwMCVcIiBnYXA9ezF9IGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCI+XG4gICAgICAgIDxTdHlsZWRUb29sdGlwXG4gICAgICAgICAgdGV4dD17dG9vbHRpcFRleHR9XG4gICAgICAgICAgcGxhY2VtZW50PXt0b29sdGlwUG9zaXRpb259XG4gICAgICAgICAgbGVmdD17cGxhY2VtZW50VG9vbHRpcH1cbiAgICAgICAgPlxuICAgICAgICAgIDxTbGlkZXJFbGVtZW50XG4gICAgICAgICAgICB0eXBlPVwicmFuZ2VcIlxuICAgICAgICAgICAgdmFsdWU9e2NvbXB1dGVkVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UocGFyc2VGbG9hdChldmVudC50YXJnZXQudmFsdWUpKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgbWF4PXttYXh9XG4gICAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICAgIHN0ZXA9e3N0ZXB9XG4gICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgZGlzYWJsZWQ9eyEhZGlzYWJsZWR9XG4gICAgICAgICAgICBhcmlhLWRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgaWQ9e2ZpbmFsSWR9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWwgPz8gbmFtZX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgc3R5bGU9e2dldEJhY2tncm91bmRTaXplfVxuICAgICAgICAgICAgZGF0YS1lcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGRhdGEtZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgICAgICB0aGVtZVNsaWRlcj17dGhlbWV9XG4gICAgICAgICAgICByZWY9e3JlZlNsaWRlcn1cbiAgICAgICAgICAgIGxlZnQ9e2xlZnRQb3NpdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFRvb2x0aXA+XG4gICAgICAgIHtvcHRpb25zIHx8IHBvc3NpYmxlVmFsdWVzID8gKFxuICAgICAgICAgIDxPcHRpb25zXG4gICAgICAgICAgICB0aWNrcz17dGlja3N9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgc2xpZGVyV2lkdGg9e3NsaWRlcldpZHRofVxuICAgICAgICAgICAgdW5pdD17dW5pdH1cbiAgICAgICAgICAgIHZhbHVlPXtjb21wdXRlZFZhbHVlfVxuICAgICAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU3RhY2s+XG4gICAgICB7ZGlyZWN0aW9uID09PSAncm93JyA/IHN0eWxlZFZhbHVlKGN1c3RvbVZhbHVlID8/IHZhbHVlVG9TaG93KSA6IG51bGx9XG4gICAgPC9TdGFjaz5cbiAgKVxufVxuIl19 */"));
30
+ const SliderElement = /* @__PURE__ */ _styled__default.default("input", process.env.NODE_ENV === "production" ? {
31
+ shouldForwardProp: (prop) => !["themeSlider", "left"].includes(prop),
32
+ target: "elmzsg30"
33
+ } : {
34
+ shouldForwardProp: (prop) => !["themeSlider", "left"].includes(prop),
35
+ target: "elmzsg30",
36
+ label: "SliderElement"
37
+ })("appearance:none;height:", ({
38
+ theme
39
+ }) => theme.space["1"], ";width:100%;position:relative;min-width:", constant.SLIDER_WIDTH.min, "px;background-color:", ({
40
+ theme
41
+ }) => theme.colors.neutral.borderWeak, ";border-radius:", ({
42
+ theme
43
+ }) => theme.radii.default, ";background-image:linear-gradient(", ({
44
+ theme
45
+ }) => theme.colors.primary.border, ", ", ({
46
+ theme
47
+ }) => theme.colors.primary.border, ");background-repeat:no-repeat;align-self:center;outline:none;&:focus{&::-moz-range-thumb{border:", ({
48
+ theme,
49
+ disabled
50
+ }) => disabled ? null : `1.5px solid ${theme.colors.primary.border}`, ";box-shadow:", ({
51
+ theme,
52
+ disabled
53
+ }) => disabled ? null : theme.shadows.focusPrimary, ";}&::-webkit-slider-thumb{border:", ({
54
+ theme,
55
+ disabled
56
+ }) => disabled ? null : `1.5px solid ${theme.colors.primary.border}`, ";box-shadow:", ({
57
+ theme,
58
+ disabled
59
+ }) => disabled ? null : theme.shadows.focusPrimary, ";}}&[data-error='true']{background-image:linear-gradient(", ({
60
+ theme
61
+ }) => theme.colors.danger.backgroundStrong, ", ", ({
62
+ theme
63
+ }) => theme.colors.danger.backgroundStrong, ");}&[data-direction='column']{align-self:baseline;}&[aria-disabled='true']{background-image:linear-gradient(", ({
64
+ theme
65
+ }) => theme.colors.primary.borderDisabled, ", ", ({
66
+ theme
67
+ }) => theme.colors.primary.borderDisabled, ");}::-moz-range-track{", styles.trackStyle, ";}::-moz-range-thumb{", ({
68
+ theme,
69
+ themeSlider,
70
+ disabled,
71
+ left
72
+ }) => styles.thumbStyle(theme, themeSlider, disabled, left, false), ";}::-webkit-slider-runnable-track{", styles.trackStyle, ";}::-webkit-slider-thumb{", ({
73
+ theme,
74
+ themeSlider,
75
+ disabled,
76
+ left
77
+ }) => styles.thumbStyle(theme, themeSlider, disabled, left, false), ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NsaWRlci9jb21wb25lbnRzL1NpbmdsZVNsaWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUI0RCIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9TbGlkZXIvY29tcG9uZW50cy9TaW5nbGVTbGlkZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlSWQsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vLi4vVGV4dCdcbmltcG9ydCB7IFNMSURFUl9XSURUSCwgVEhVTUJfU0laRSB9IGZyb20gJy4uL2NvbnN0YW50J1xuaW1wb3J0IHtcbiAgU3R5bGVkTnVtYmVySW5wdXQsXG4gIFN0eWxlZFRvb2x0aXAsXG4gIHRodW1iU3R5bGUsXG4gIHRyYWNrU3R5bGUsXG59IGZyb20gJy4uL3N0eWxlcydcbmltcG9ydCB0eXBlIHsgU2luZ2xlU2xpZGVyUHJvcHMgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IExhYmVsIH0gZnJvbSAnLi9MYWJlbCdcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICcuL09wdGlvbnMnXG5cbmNvbnN0IFN0eWxlZFRleHRWYWx1ZSA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2RvdWJsZScsICdpc0NvbHVtbiddLmluY2x1ZGVzKHByb3ApLFxufSk8eyBkb3VibGU6IGJvb2xlYW47IGlzQ29sdW1uOiBib29sZWFuIH0+YFxuICBtaW4td2lkdGg6ICR7KHsgdGhlbWUsIGRvdWJsZSwgaXNDb2x1bW4gfSkgPT4gKGRvdWJsZSAmJiBpc0NvbHVtbiA/IG51bGwgOiB0aGVtZS5zcGFjZVsnNSddKX07XG4gIGFsaWduLXNlbGY6ICR7KHsgZG91YmxlLCBpc0NvbHVtbiB9KSA9PiAoZG91YmxlIHx8ICFpc0NvbHVtbiA/ICdjZW50ZXInIDogJ2VuZCcpfTtcbmBcblxuY29uc3QgU2xpZGVyRWxlbWVudCA9IHN0eWxlZCgnaW5wdXQnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ3RoZW1lU2xpZGVyJywgJ2xlZnQnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgdGhlbWVTbGlkZXI6IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW47IGxlZnQ6IG51bWJlciB9PmBcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLXdpZHRoOiAke1NMSURFUl9XSURUSC5taW59cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJXZWFrfTtcblxuICAgIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJ9LCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlcn0pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAgICAgYm9yZGVyOiAkeyh7IHRoZW1lLCBkaXNhYmxlZCB9KSA9PiAoZGlzYWJsZWQgPyBudWxsIDogYDEuNXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyfWApfTtcbiAgICAgICAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lLCBkaXNhYmxlZCB9KSA9PiAoZGlzYWJsZWQgPyBudWxsIDogdGhlbWUuc2hhZG93cy5mb2N1c1ByaW1hcnkpfTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXI6ICR7KHsgdGhlbWUsIGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/IG51bGwgOiBgMS41cHggc29saWQgJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJ9YCl9O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUsIGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/IG51bGwgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSl9O1xuICAgICAgICB9XG4gIH1cbiAgICAmW2RhdGEtZXJyb3I9J3RydWUnXXtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJhY2tncm91bmRTdHJvbmd9LCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYmFja2dyb3VuZFN0cm9uZ30pO1xuICAgIH1cblxuICAgICZbZGF0YS1kaXJlY3Rpb249J2NvbHVtbiddIHtcbiAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICAgIH1cblxuICAgICZbYXJpYS1kaXNhYmxlZD0ndHJ1ZSdde1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJEaXNhYmxlZH0sICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyRGlzYWJsZWR9KTtcbiAgICB9XG5cbiAgICAvKiBNb3ppbGxhICovXG4gICAgOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgICAgJHt0cmFja1N0eWxlfVxuICAgIH1cbiAgICA6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgICAkeyh7IHRoZW1lLCB0aGVtZVNsaWRlciwgZGlzYWJsZWQsIGxlZnQgfSkgPT4gdGh1bWJTdHlsZSh0aGVtZSwgdGhlbWVTbGlkZXIsIGRpc2FibGVkLCBsZWZ0LCBmYWxzZSl9XG4gICAgfVxuXG4gICAgLyogT3RoZXIgYnJvd3NlcnMgKi9cbiAgICA6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgICAgJHt0cmFja1N0eWxlfVxuICAgIH1cbiAgICA6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgJHsoeyB0aGVtZSwgdGhlbWVTbGlkZXIsIGRpc2FibGVkLCBsZWZ0IH0pID0+IHRodW1iU3R5bGUodGhlbWUsIHRoZW1lU2xpZGVyLCBkaXNhYmxlZCwgbGVmdCwgZmFsc2UpfVxuICAgIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVNsaWRlciA9ICh7XG4gIG5hbWUsXG4gIHRvb2x0aXAsXG4gIGRpcmVjdGlvbixcbiAgZGlzYWJsZWQsXG4gIGVycm9yLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICB2YWx1ZSxcbiAgb25DaGFuZ2UsXG4gIG1pbiA9IDAsXG4gIG1heCA9IDEwMCxcbiAgc3RlcCA9IDEsXG4gIGlkLFxuICBvbkJsdXIsXG4gIHVuaXQsXG4gIG9wdGlvbnMsXG4gIHBvc3NpYmxlVmFsdWVzLFxuICBvbkZvY3VzLFxuICBjbGFzc05hbWUsXG4gIGxhYmVsLFxuICBpbnB1dCxcbiAgcHJlZml4LFxuICBzdWZmaXgsXG4gIHJlcXVpcmVkLFxuICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgdG9vbHRpcFBvc2l0aW9uLFxufTogU2luZ2xlU2xpZGVyUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxJZCA9IHVzZUlkKClcbiAgY29uc3QgeyB0aGVtZSB9ID0gdXNlVGhlbWUoKVxuICBjb25zdCBmaW5hbElkID0gaWQgPz8gbG9jYWxJZFxuICBjb25zdCBzYWZlVmFsdWUgPSB2YWx1ZSA/PyBtaW5cbiAgY29uc3QgW2NvbXB1dGVkVmFsdWUsIHNldENvbXB1dGVkVmFsdWVdID0gdXNlU3RhdGUoc2FmZVZhbHVlKVxuICBjb25zdCBbdmFsdWVUb1Nob3csIHNldFZhbHVlVG9TaG93XSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KHNhZmVWYWx1ZSlcbiAgY29uc3QgcmVmU2xpZGVyID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtzbGlkZXJXaWR0aCwgc2V0V2lkdGhdID0gdXNlU3RhdGUoXG4gICAgcmVmU2xpZGVyLmN1cnJlbnQ/Lm9mZnNldFdpZHRoID8/IFNMSURFUl9XSURUSC5tYXgsXG4gIClcbiAgY29uc3QgW2N1c3RvbVZhbHVlLCBzZXRDdXN0b21WYWx1ZV0gPSB1c2VTdGF0ZTx1bmRlZmluZWQgfCBudW1iZXI+KHVuZGVmaW5lZClcblxuICBjb25zdCB0aWNrcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChvcHRpb25zID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogbWF4IC0gbWluICsgMSB9LCAoXywgaW5kZXgpID0+ICh7XG4gICAgICAgIHZhbHVlOiBtaW4gKyBpbmRleCAqIHN0ZXAsXG4gICAgICAgIGxhYmVsOiBTdHJpbmcobWluICsgaW5kZXggKiBzdGVwKSxcbiAgICAgIH0pKS5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50LnZhbHVlIDw9IG1heCAmJiBlbGVtZW50LnZhbHVlID49IG1pbilcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMpIHJldHVybiBvcHRpb25zXG4gICAgaWYgKHBvc3NpYmxlVmFsdWVzKSB7XG4gICAgICByZXR1cm4gcG9zc2libGVWYWx1ZXMubWFwKChlbGVtZW50LCBpbmRleCkgPT4gKHtcbiAgICAgICAgdmFsdWU6IGluZGV4LFxuICAgICAgICBsYWJlbDogU3RyaW5nKGVsZW1lbnQpLFxuICAgICAgfSkpXG4gICAgfVxuXG4gICAgcmV0dXJuIFtdXG4gIH0sIFttYXgsIG1pbiwgb3B0aW9ucywgcG9zc2libGVWYWx1ZXMsIHN0ZXBdKVxuXG4gIGNvbnN0IG9uQ2hhbmdlQ2FsbGJhY2sgPSB1c2VDYWxsYmFjayhcbiAgICAobmV3VmFsdWU6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICAgIHNldFZhbHVlVG9TaG93KG5ld1ZhbHVlKVxuICAgICAgc2V0Q29tcHV0ZWRWYWx1ZShuZXdWYWx1ZSA/PyBtaW4pXG4gICAgICBvbkNoYW5nZT8uKG5ld1ZhbHVlID8/IG1pbilcbiAgICB9LFxuICAgIFttaW4sIG9uQ2hhbmdlXSxcbiAgKVxuXG4gIC8vIERlZmF1bHQgdmFsdWUgdG8gYmUgY29oZXJlbnQgd2l0aCBhIGN1c3RvbSBzY2FsZSB3aGVuIG9uZSBpcyBkZWZpbmVkXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBvc3NpYmxlVmFsdWVzKSB7XG4gICAgICBzZXRDdXN0b21WYWx1ZShwb3NzaWJsZVZhbHVlc1tjb21wdXRlZFZhbHVlXSlcbiAgICB9XG4gIH0sIFtwb3NzaWJsZVZhbHVlcywgY29tcHV0ZWRWYWx1ZV0pXG5cbiAgLy8gTWFrZSBzdXJlIHRoYXQgbWluIDw9IHZhbHVlIDw9IG1heFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2YWx1ZSA8IG1pbikge1xuICAgICAgb25DaGFuZ2VDYWxsYmFjayhtaW4pXG4gICAgfVxuICAgIGlmICh2YWx1ZSA+IG1heCkge1xuICAgICAgb25DaGFuZ2VDYWxsYmFjayhtYXgpXG4gICAgfVxuICB9LCBbdmFsdWUsIG1heCwgbWluLCBvbkNoYW5nZSwgc3RlcCwgb25DaGFuZ2VDYWxsYmFja10pXG5cbiAgLy8gR2V0IHNsaWRlciBzaXplXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2V0V2lkdGhSZXNpemUgPSAoKSA9PiB7XG4gICAgICBzZXRXaWR0aChyZWZTbGlkZXIuY3VycmVudD8ub2Zmc2V0V2lkdGggPz8gU0xJREVSX1dJRFRILm1heClcbiAgICB9XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHNldFdpZHRoUmVzaXplKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBzZXRXaWR0aFJlc2l6ZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAocG9zc2libGVWYWx1ZXMpIHtcbiAgICAgICAgLy8gQ3VzdG9tIHNjYWxlXG4gICAgICAgIGNvbnN0IG9wdGlvbkxhYmVsID0gcG9zc2libGVWYWx1ZXNbbmV3VmFsdWUgPz8gbWluXVxuICAgICAgICBzZXRDdXN0b21WYWx1ZShvcHRpb25MYWJlbClcbiAgICAgICAgb25DaGFuZ2VDYWxsYmFjayhuZXdWYWx1ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uQ2hhbmdlQ2FsbGJhY2sobmV3VmFsdWUpXG4gICAgICB9XG4gICAgfSxcbiAgICBbbWluLCBvbkNoYW5nZUNhbGxiYWNrLCBwb3NzaWJsZVZhbHVlc10sXG4gIClcblxuICBjb25zdCBsZWZ0UG9zaXRpb24gPSB1c2VNZW1vKFxuICAgICgpID0+ICgoY29tcHV0ZWRWYWx1ZSAtIG1pbikgKiAxMDApIC8gKG1heCAtIG1pbiksXG4gICAgW2NvbXB1dGVkVmFsdWUsIG1heCwgbWluXSxcbiAgKVxuXG4gIGNvbnN0IGdldEJhY2tncm91bmRTaXplID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgYmFja2dyb3VuZFNpemU6IGAke2xlZnRQb3NpdGlvbn0lIDEwMCVgLFxuICAgIH0pLFxuICAgIFtsZWZ0UG9zaXRpb25dLFxuICApXG5cbiAgY29uc3Qgc3R5bGVkVmFsdWUgPSAodmFsdWVOdW1iZXI6IHN0cmluZyB8IG51bWJlciB8IG51bGwpID0+XG4gICAgaW5wdXQgJiYgKCFvcHRpb25zIHx8IG9wdGlvbnMgPT09IHRydWUpICYmICFwb3NzaWJsZVZhbHVlcyA/IChcbiAgICAgIDxTdHlsZWROdW1iZXJJbnB1dFxuICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgdHlwZW9mIHZhbHVlTnVtYmVyID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBwYXJzZUZsb2F0KHZhbHVlTnVtYmVyKVxuICAgICAgICAgICAgOiB2YWx1ZU51bWJlclxuICAgICAgICB9XG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIG1pbj17bWlufVxuICAgICAgICBhcmlhLWxhYmVsPVwiaW5wdXRcIlxuICAgICAgICBtYXg9e21heH1cbiAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgY29udHJvbHM9e2ZhbHNlfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LWlucHV0YCA6ICdzbGlkZXItaW5wdXQnfVxuICAgICAgICB1bml0PXt0eXBlb2Ygc3VmZml4ID09PSAnc3RyaW5nJyA/IHN1ZmZpeCA6IHVuaXR9XG4gICAgICAgIG9uQ2hhbmdlPXtuZXdWYWwgPT4ge1xuICAgICAgICAgIGlmIChuZXdWYWwpIHtcbiAgICAgICAgICAgIG9uQ2hhbmdlQ2FsbGJhY2sobmV3VmFsKVxuICAgICAgICAgIH0gZWxzZSBvbkNoYW5nZUNhbGxiYWNrKG51bGwpXG4gICAgICAgIH19XG4gICAgICAgIG9uQmx1cj17ZXZlbnQgPT4ge1xuICAgICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlKSBvbkNoYW5nZUNhbGxiYWNrKG1pbilcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKSA6IChcbiAgICAgIDxTdHlsZWRUZXh0VmFsdWVcbiAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFwiXG4gICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICBwbGFjZW1lbnQ9e2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgPyAncmlnaHQnIDogJ2NlbnRlcid9XG4gICAgICAgIGRvdWJsZT17ZmFsc2V9XG4gICAgICAgIGlzQ29sdW1uPXtkaXJlY3Rpb24gPT09ICdjb2x1bW4nfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZhbHVlYCA6ICdzbGlkZXItdmFsdWUnfVxuICAgICAgPlxuICAgICAgICB7cHJlZml4fVxuICAgICAgICB7dmFsdWVOdW1iZXJ9XG4gICAgICAgIHtzdWZmaXggPz8gdW5pdH1cbiAgICAgIDwvU3R5bGVkVGV4dFZhbHVlPlxuICAgIClcblxuICBjb25zdCB0b29sdGlwVGV4dCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh0b29sdGlwID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gY29tcHV0ZWRWYWx1ZVxuICAgIH1cbiAgICBpZiAodG9vbHRpcCkge1xuICAgICAgcmV0dXJuIHRvb2x0aXBcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFt0b29sdGlwLCBjb21wdXRlZFZhbHVlXSlcblxuICBjb25zdCBwbGFjZW1lbnRUb29sdGlwID1cbiAgICAoKGNvbXB1dGVkVmFsdWUgLSBtaW4pIC8gKG1heCAtIG1pbikpICogKHNsaWRlcldpZHRoIC0gVEhVTUJfU0laRSkgK1xuICAgIFRIVU1CX1NJWkUgLyAyIC1cbiAgICBzbGlkZXJXaWR0aCAvIDJcblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj17ZGlyZWN0aW9ufSBqdXN0aWZ5Q29udGVudD1cImxlZnRcIj5cbiAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgPFN0YWNrIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgICAgICBpbnB1dD17aW5wdXR9XG4gICAgICAgICAgICBmaW5hbElkPXtmaW5hbElkfVxuICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2RpcmVjdGlvbiA9PT0gJ2NvbHVtbidcbiAgICAgICAgICAgID8gc3R5bGVkVmFsdWUoY3VzdG9tVmFsdWUgPz8gdmFsdWVUb1Nob3cpXG4gICAgICAgICAgICA6IG51bGx9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICApIDogbnVsbH1cblxuICAgICAge2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgJiYgIWxhYmVsXG4gICAgICAgID8gc3R5bGVkVmFsdWUoY3VzdG9tVmFsdWUgPz8gdmFsdWVUb1Nob3cpXG4gICAgICAgIDogbnVsbH1cbiAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJjb2x1bW5cIiB3aWR0aD1cIjEwMCVcIiBnYXA9ezF9IGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCI+XG4gICAgICAgIDxTdHlsZWRUb29sdGlwXG4gICAgICAgICAgdGV4dD17dG9vbHRpcFRleHR9XG4gICAgICAgICAgcGxhY2VtZW50PXt0b29sdGlwUG9zaXRpb259XG4gICAgICAgICAgbGVmdD17cGxhY2VtZW50VG9vbHRpcH1cbiAgICAgICAgPlxuICAgICAgICAgIDxTbGlkZXJFbGVtZW50XG4gICAgICAgICAgICB0eXBlPVwicmFuZ2VcIlxuICAgICAgICAgICAgdmFsdWU9e2NvbXB1dGVkVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UocGFyc2VGbG9hdChldmVudC50YXJnZXQudmFsdWUpKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgbWF4PXttYXh9XG4gICAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICAgIHN0ZXA9e3N0ZXB9XG4gICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgZGlzYWJsZWQ9eyEhZGlzYWJsZWR9XG4gICAgICAgICAgICBhcmlhLWRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgaWQ9e2ZpbmFsSWR9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWwgPz8gbmFtZX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgc3R5bGU9e2dldEJhY2tncm91bmRTaXplfVxuICAgICAgICAgICAgZGF0YS1lcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGRhdGEtZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgICAgICB0aGVtZVNsaWRlcj17dGhlbWV9XG4gICAgICAgICAgICByZWY9e3JlZlNsaWRlcn1cbiAgICAgICAgICAgIGxlZnQ9e2xlZnRQb3NpdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFRvb2x0aXA+XG4gICAgICAgIHtvcHRpb25zIHx8IHBvc3NpYmxlVmFsdWVzID8gKFxuICAgICAgICAgIDxPcHRpb25zXG4gICAgICAgICAgICB0aWNrcz17dGlja3N9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgc2xpZGVyV2lkdGg9e3NsaWRlcldpZHRofVxuICAgICAgICAgICAgdW5pdD17dW5pdH1cbiAgICAgICAgICAgIHZhbHVlPXtjb21wdXRlZFZhbHVlfVxuICAgICAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU3RhY2s+XG4gICAgICB7ZGlyZWN0aW9uID09PSAncm93JyA/IHN0eWxlZFZhbHVlKGN1c3RvbVZhbHVlID8/IHZhbHVlVG9TaG93KSA6IG51bGx9XG4gICAgPC9TdGFjaz5cbiAgKVxufVxuIl19 */"));
78
+ const SingleSlider = ({
79
+ name,
80
+ tooltip,
81
+ direction,
82
+ disabled,
83
+ error,
84
+ "data-testid": dataTestId,
85
+ value,
86
+ onChange,
87
+ min = 0,
88
+ max = 100,
89
+ step = 1,
90
+ id,
91
+ onBlur,
92
+ unit,
93
+ options,
94
+ possibleValues,
95
+ onFocus,
96
+ className,
97
+ label,
98
+ input,
99
+ prefix,
100
+ suffix,
101
+ required,
102
+ "aria-label": ariaLabel,
103
+ tooltipPosition
104
+ }) => {
105
+ const localId = React.useId();
106
+ const {
107
+ theme
108
+ } = react.useTheme();
109
+ const finalId = id ?? localId;
110
+ const safeValue = value ?? min;
111
+ const [computedValue, setComputedValue] = React.useState(safeValue);
112
+ const [valueToShow, setValueToShow] = React.useState(safeValue);
113
+ const refSlider = React.useRef(null);
114
+ const [sliderWidth, setWidth] = React.useState(refSlider.current?.offsetWidth ?? constant.SLIDER_WIDTH.max);
115
+ const [customValue, setCustomValue] = React.useState(void 0);
116
+ const ticks = React.useMemo(() => {
117
+ if (options === true) {
118
+ return Array.from({
119
+ length: max - min + 1
120
+ }, (_, index2) => ({
121
+ value: min + index2 * step,
122
+ label: String(min + index2 * step)
123
+ })).filter((element) => element.value <= max && element.value >= min);
124
+ }
125
+ if (options) return options;
126
+ if (possibleValues) {
127
+ return possibleValues.map((element, index2) => ({
128
+ value: index2,
129
+ label: String(element)
130
+ }));
131
+ }
132
+ return [];
133
+ }, [max, min, options, possibleValues, step]);
134
+ const onChangeCallback = React.useCallback((newValue) => {
135
+ setValueToShow(newValue);
136
+ setComputedValue(newValue ?? min);
137
+ onChange?.(newValue ?? min);
138
+ }, [min, onChange]);
139
+ React.useEffect(() => {
140
+ if (possibleValues) {
141
+ setCustomValue(possibleValues[computedValue]);
142
+ }
143
+ }, [possibleValues, computedValue]);
144
+ React.useEffect(() => {
145
+ if (value < min) {
146
+ onChangeCallback(min);
147
+ }
148
+ if (value > max) {
149
+ onChangeCallback(max);
150
+ }
151
+ }, [value, max, min, onChange, step, onChangeCallback]);
152
+ React.useEffect(() => {
153
+ const setWidthResize = () => {
154
+ setWidth(refSlider.current?.offsetWidth ?? constant.SLIDER_WIDTH.max);
155
+ };
156
+ window.addEventListener("resize", setWidthResize);
157
+ return () => {
158
+ window.removeEventListener("resize", setWidthResize);
159
+ };
160
+ }, []);
161
+ const handleChange = React.useCallback((newValue) => {
162
+ if (possibleValues) {
163
+ const optionLabel = possibleValues[newValue ?? min];
164
+ setCustomValue(optionLabel);
165
+ onChangeCallback(newValue);
166
+ } else {
167
+ onChangeCallback(newValue);
168
+ }
169
+ }, [min, onChangeCallback, possibleValues]);
170
+ const leftPosition = React.useMemo(() => (computedValue - min) * 100 / (max - min), [computedValue, max, min]);
171
+ const getBackgroundSize = React.useMemo(() => ({
172
+ backgroundSize: `${leftPosition}% 100%`
173
+ }), [leftPosition]);
174
+ const styledValue = (valueNumber) => input && (!options || options === true) && !possibleValues ? /* @__PURE__ */ jsxRuntime.jsx(styles.StyledNumberInput, { value: typeof valueNumber === "string" ? parseFloat(valueNumber) : valueNumber, size: "small", min, "aria-label": "input", max, step, controls: false, "data-testid": dataTestId ? `${dataTestId}-input` : "slider-input", unit: typeof suffix === "string" ? suffix : unit, onChange: (newVal) => {
175
+ if (newVal) {
176
+ onChangeCallback(newVal);
177
+ } else onChangeCallback(null);
178
+ }, onBlur: (event) => {
179
+ if (!event.target.value) onChangeCallback(min);
180
+ } }) : /* @__PURE__ */ jsxRuntime.jsxs(StyledTextValue, { as: "span", variant: "bodySmall", sentiment: "neutral", placement: direction === "column" ? "right" : "center", double: false, isColumn: direction === "column", "data-testid": dataTestId ? `${dataTestId}-value` : "slider-value", children: [
181
+ prefix,
182
+ valueNumber,
183
+ suffix ?? unit
184
+ ] });
185
+ const tooltipText = React.useMemo(() => {
186
+ if (tooltip === true) {
187
+ return computedValue;
188
+ }
189
+ if (tooltip) {
190
+ return tooltip;
191
+ }
192
+ return void 0;
193
+ }, [tooltip, computedValue]);
194
+ const placementTooltip = (computedValue - min) / (max - min) * (sliderWidth - constant.THUMB_SIZE) + constant.THUMB_SIZE / 2 - sliderWidth / 2;
195
+ return /* @__PURE__ */ jsxRuntime.jsxs(index$1.Stack, { gap: 1, direction, justifyContent: "left", children: [
196
+ label ? /* @__PURE__ */ jsxRuntime.jsxs(index$1.Stack, { justifyContent: "space-between", direction: "row", children: [
197
+ /* @__PURE__ */ jsxRuntime.jsx(Label.Label, { direction, input, finalId, label, required }),
198
+ direction === "column" ? styledValue(customValue ?? valueToShow) : null
199
+ ] }) : null,
200
+ direction === "column" && !label ? styledValue(customValue ?? valueToShow) : null,
201
+ /* @__PURE__ */ jsxRuntime.jsxs(index$1.Stack, { direction: "column", width: "100%", gap: 1, justifyContent: "center", children: [
202
+ /* @__PURE__ */ jsxRuntime.jsx(styles.StyledTooltip, { text: tooltipText, placement: tooltipPosition, left: placementTooltip, children: /* @__PURE__ */ jsxRuntime.jsx(SliderElement, { type: "range", value: computedValue, onChange: (event) => {
203
+ handleChange(parseFloat(event.target.value));
204
+ }, min, max, tabIndex: 0, step, name, disabled: !!disabled, "aria-disabled": disabled, "data-testid": dataTestId, id: finalId, onBlur, onFocus, "aria-label": ariaLabel ?? name, className, style: getBackgroundSize, "data-error": !!error, "data-direction": direction, themeSlider: theme, ref: refSlider, left: leftPosition }) }),
205
+ options || possibleValues ? /* @__PURE__ */ jsxRuntime.jsx(Options.Options, { ticks, min, max, sliderWidth, unit, value: computedValue, step }) : null
206
+ ] }),
207
+ direction === "row" ? styledValue(customValue ?? valueToShow) : null
208
+ ] });
209
+ };
210
+ exports.SingleSlider = SingleSlider;
@@ -1,2 +1,2 @@
1
- import type { SingleSliderProps } from './types';
1
+ import type { SingleSliderProps } from '../types';
2
2
  export declare const SingleSlider: ({ name, tooltip, direction, disabled, error, "data-testid": dataTestId, value, onChange, min, max, step, id, onBlur, unit, options, possibleValues, onFocus, className, label, input, prefix, suffix, required, "aria-label": ariaLabel, tooltipPosition, }: SingleSliderProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,208 @@
1
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
+ import _styled from "@emotion/styled/base";
3
+ import { useTheme } from "@emotion/react";
4
+ import { useId, useState, useRef, useMemo, useCallback, useEffect } from "react";
5
+ import { Stack } from "../../Stack/index.js";
6
+ import { Text } from "../../Text/index.js";
7
+ import { SLIDER_WIDTH, THUMB_SIZE } from "../constant.js";
8
+ import { trackStyle, thumbStyle, StyledTooltip, StyledNumberInput } from "../styles.js";
9
+ import { Label } from "./Label.js";
10
+ import { Options } from "./Options.js";
11
+ const StyledTextValue = /* @__PURE__ */ _styled(Text, process.env.NODE_ENV === "production" ? {
12
+ shouldForwardProp: (prop) => !["double", "isColumn"].includes(prop),
13
+ target: "elmzsg31"
14
+ } : {
15
+ shouldForwardProp: (prop) => !["double", "isColumn"].includes(prop),
16
+ target: "elmzsg31",
17
+ label: "StyledTextValue"
18
+ })("min-width:", ({
19
+ theme,
20
+ double,
21
+ isColumn
22
+ }) => double && isColumn ? null : theme.space["5"], ";align-self:", ({
23
+ double,
24
+ isColumn
25
+ }) => double || !isColumn ? "center" : "end", ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NsaWRlci9jb21wb25lbnRzL1NpbmdsZVNsaWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0IwQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9TbGlkZXIvY29tcG9uZW50cy9TaW5nbGVTbGlkZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlSWQsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vLi4vVGV4dCdcbmltcG9ydCB7IFNMSURFUl9XSURUSCwgVEhVTUJfU0laRSB9IGZyb20gJy4uL2NvbnN0YW50J1xuaW1wb3J0IHtcbiAgU3R5bGVkTnVtYmVySW5wdXQsXG4gIFN0eWxlZFRvb2x0aXAsXG4gIHRodW1iU3R5bGUsXG4gIHRyYWNrU3R5bGUsXG59IGZyb20gJy4uL3N0eWxlcydcbmltcG9ydCB0eXBlIHsgU2luZ2xlU2xpZGVyUHJvcHMgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IExhYmVsIH0gZnJvbSAnLi9MYWJlbCdcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICcuL09wdGlvbnMnXG5cbmNvbnN0IFN0eWxlZFRleHRWYWx1ZSA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2RvdWJsZScsICdpc0NvbHVtbiddLmluY2x1ZGVzKHByb3ApLFxufSk8eyBkb3VibGU6IGJvb2xlYW47IGlzQ29sdW1uOiBib29sZWFuIH0+YFxuICBtaW4td2lkdGg6ICR7KHsgdGhlbWUsIGRvdWJsZSwgaXNDb2x1bW4gfSkgPT4gKGRvdWJsZSAmJiBpc0NvbHVtbiA/IG51bGwgOiB0aGVtZS5zcGFjZVsnNSddKX07XG4gIGFsaWduLXNlbGY6ICR7KHsgZG91YmxlLCBpc0NvbHVtbiB9KSA9PiAoZG91YmxlIHx8ICFpc0NvbHVtbiA/ICdjZW50ZXInIDogJ2VuZCcpfTtcbmBcblxuY29uc3QgU2xpZGVyRWxlbWVudCA9IHN0eWxlZCgnaW5wdXQnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ3RoZW1lU2xpZGVyJywgJ2xlZnQnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgdGhlbWVTbGlkZXI6IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW47IGxlZnQ6IG51bWJlciB9PmBcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLXdpZHRoOiAke1NMSURFUl9XSURUSC5taW59cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJXZWFrfTtcblxuICAgIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJ9LCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlcn0pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAgICAgYm9yZGVyOiAkeyh7IHRoZW1lLCBkaXNhYmxlZCB9KSA9PiAoZGlzYWJsZWQgPyBudWxsIDogYDEuNXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyfWApfTtcbiAgICAgICAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lLCBkaXNhYmxlZCB9KSA9PiAoZGlzYWJsZWQgPyBudWxsIDogdGhlbWUuc2hhZG93cy5mb2N1c1ByaW1hcnkpfTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXI6ICR7KHsgdGhlbWUsIGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/IG51bGwgOiBgMS41cHggc29saWQgJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJ9YCl9O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUsIGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/IG51bGwgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSl9O1xuICAgICAgICB9XG4gIH1cbiAgICAmW2RhdGEtZXJyb3I9J3RydWUnXXtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJhY2tncm91bmRTdHJvbmd9LCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYmFja2dyb3VuZFN0cm9uZ30pO1xuICAgIH1cblxuICAgICZbZGF0YS1kaXJlY3Rpb249J2NvbHVtbiddIHtcbiAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICAgIH1cblxuICAgICZbYXJpYS1kaXNhYmxlZD0ndHJ1ZSdde1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJEaXNhYmxlZH0sICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyRGlzYWJsZWR9KTtcbiAgICB9XG5cbiAgICAvKiBNb3ppbGxhICovXG4gICAgOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgICAgJHt0cmFja1N0eWxlfVxuICAgIH1cbiAgICA6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgICAkeyh7IHRoZW1lLCB0aGVtZVNsaWRlciwgZGlzYWJsZWQsIGxlZnQgfSkgPT4gdGh1bWJTdHlsZSh0aGVtZSwgdGhlbWVTbGlkZXIsIGRpc2FibGVkLCBsZWZ0LCBmYWxzZSl9XG4gICAgfVxuXG4gICAgLyogT3RoZXIgYnJvd3NlcnMgKi9cbiAgICA6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgICAgJHt0cmFja1N0eWxlfVxuICAgIH1cbiAgICA6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgJHsoeyB0aGVtZSwgdGhlbWVTbGlkZXIsIGRpc2FibGVkLCBsZWZ0IH0pID0+IHRodW1iU3R5bGUodGhlbWUsIHRoZW1lU2xpZGVyLCBkaXNhYmxlZCwgbGVmdCwgZmFsc2UpfVxuICAgIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVNsaWRlciA9ICh7XG4gIG5hbWUsXG4gIHRvb2x0aXAsXG4gIGRpcmVjdGlvbixcbiAgZGlzYWJsZWQsXG4gIGVycm9yLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICB2YWx1ZSxcbiAgb25DaGFuZ2UsXG4gIG1pbiA9IDAsXG4gIG1heCA9IDEwMCxcbiAgc3RlcCA9IDEsXG4gIGlkLFxuICBvbkJsdXIsXG4gIHVuaXQsXG4gIG9wdGlvbnMsXG4gIHBvc3NpYmxlVmFsdWVzLFxuICBvbkZvY3VzLFxuICBjbGFzc05hbWUsXG4gIGxhYmVsLFxuICBpbnB1dCxcbiAgcHJlZml4LFxuICBzdWZmaXgsXG4gIHJlcXVpcmVkLFxuICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgdG9vbHRpcFBvc2l0aW9uLFxufTogU2luZ2xlU2xpZGVyUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxJZCA9IHVzZUlkKClcbiAgY29uc3QgeyB0aGVtZSB9ID0gdXNlVGhlbWUoKVxuICBjb25zdCBmaW5hbElkID0gaWQgPz8gbG9jYWxJZFxuICBjb25zdCBzYWZlVmFsdWUgPSB2YWx1ZSA/PyBtaW5cbiAgY29uc3QgW2NvbXB1dGVkVmFsdWUsIHNldENvbXB1dGVkVmFsdWVdID0gdXNlU3RhdGUoc2FmZVZhbHVlKVxuICBjb25zdCBbdmFsdWVUb1Nob3csIHNldFZhbHVlVG9TaG93XSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KHNhZmVWYWx1ZSlcbiAgY29uc3QgcmVmU2xpZGVyID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtzbGlkZXJXaWR0aCwgc2V0V2lkdGhdID0gdXNlU3RhdGUoXG4gICAgcmVmU2xpZGVyLmN1cnJlbnQ/Lm9mZnNldFdpZHRoID8/IFNMSURFUl9XSURUSC5tYXgsXG4gIClcbiAgY29uc3QgW2N1c3RvbVZhbHVlLCBzZXRDdXN0b21WYWx1ZV0gPSB1c2VTdGF0ZTx1bmRlZmluZWQgfCBudW1iZXI+KHVuZGVmaW5lZClcblxuICBjb25zdCB0aWNrcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChvcHRpb25zID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogbWF4IC0gbWluICsgMSB9LCAoXywgaW5kZXgpID0+ICh7XG4gICAgICAgIHZhbHVlOiBtaW4gKyBpbmRleCAqIHN0ZXAsXG4gICAgICAgIGxhYmVsOiBTdHJpbmcobWluICsgaW5kZXggKiBzdGVwKSxcbiAgICAgIH0pKS5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50LnZhbHVlIDw9IG1heCAmJiBlbGVtZW50LnZhbHVlID49IG1pbilcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMpIHJldHVybiBvcHRpb25zXG4gICAgaWYgKHBvc3NpYmxlVmFsdWVzKSB7XG4gICAgICByZXR1cm4gcG9zc2libGVWYWx1ZXMubWFwKChlbGVtZW50LCBpbmRleCkgPT4gKHtcbiAgICAgICAgdmFsdWU6IGluZGV4LFxuICAgICAgICBsYWJlbDogU3RyaW5nKGVsZW1lbnQpLFxuICAgICAgfSkpXG4gICAgfVxuXG4gICAgcmV0dXJuIFtdXG4gIH0sIFttYXgsIG1pbiwgb3B0aW9ucywgcG9zc2libGVWYWx1ZXMsIHN0ZXBdKVxuXG4gIGNvbnN0IG9uQ2hhbmdlQ2FsbGJhY2sgPSB1c2VDYWxsYmFjayhcbiAgICAobmV3VmFsdWU6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICAgIHNldFZhbHVlVG9TaG93KG5ld1ZhbHVlKVxuICAgICAgc2V0Q29tcHV0ZWRWYWx1ZShuZXdWYWx1ZSA/PyBtaW4pXG4gICAgICBvbkNoYW5nZT8uKG5ld1ZhbHVlID8/IG1pbilcbiAgICB9LFxuICAgIFttaW4sIG9uQ2hhbmdlXSxcbiAgKVxuXG4gIC8vIERlZmF1bHQgdmFsdWUgdG8gYmUgY29oZXJlbnQgd2l0aCBhIGN1c3RvbSBzY2FsZSB3aGVuIG9uZSBpcyBkZWZpbmVkXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBvc3NpYmxlVmFsdWVzKSB7XG4gICAgICBzZXRDdXN0b21WYWx1ZShwb3NzaWJsZVZhbHVlc1tjb21wdXRlZFZhbHVlXSlcbiAgICB9XG4gIH0sIFtwb3NzaWJsZVZhbHVlcywgY29tcHV0ZWRWYWx1ZV0pXG5cbiAgLy8gTWFrZSBzdXJlIHRoYXQgbWluIDw9IHZhbHVlIDw9IG1heFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2YWx1ZSA8IG1pbikge1xuICAgICAgb25DaGFuZ2VDYWxsYmFjayhtaW4pXG4gICAgfVxuICAgIGlmICh2YWx1ZSA+IG1heCkge1xuICAgICAgb25DaGFuZ2VDYWxsYmFjayhtYXgpXG4gICAgfVxuICB9LCBbdmFsdWUsIG1heCwgbWluLCBvbkNoYW5nZSwgc3RlcCwgb25DaGFuZ2VDYWxsYmFja10pXG5cbiAgLy8gR2V0IHNsaWRlciBzaXplXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2V0V2lkdGhSZXNpemUgPSAoKSA9PiB7XG4gICAgICBzZXRXaWR0aChyZWZTbGlkZXIuY3VycmVudD8ub2Zmc2V0V2lkdGggPz8gU0xJREVSX1dJRFRILm1heClcbiAgICB9XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHNldFdpZHRoUmVzaXplKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBzZXRXaWR0aFJlc2l6ZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAocG9zc2libGVWYWx1ZXMpIHtcbiAgICAgICAgLy8gQ3VzdG9tIHNjYWxlXG4gICAgICAgIGNvbnN0IG9wdGlvbkxhYmVsID0gcG9zc2libGVWYWx1ZXNbbmV3VmFsdWUgPz8gbWluXVxuICAgICAgICBzZXRDdXN0b21WYWx1ZShvcHRpb25MYWJlbClcbiAgICAgICAgb25DaGFuZ2VDYWxsYmFjayhuZXdWYWx1ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uQ2hhbmdlQ2FsbGJhY2sobmV3VmFsdWUpXG4gICAgICB9XG4gICAgfSxcbiAgICBbbWluLCBvbkNoYW5nZUNhbGxiYWNrLCBwb3NzaWJsZVZhbHVlc10sXG4gIClcblxuICBjb25zdCBsZWZ0UG9zaXRpb24gPSB1c2VNZW1vKFxuICAgICgpID0+ICgoY29tcHV0ZWRWYWx1ZSAtIG1pbikgKiAxMDApIC8gKG1heCAtIG1pbiksXG4gICAgW2NvbXB1dGVkVmFsdWUsIG1heCwgbWluXSxcbiAgKVxuXG4gIGNvbnN0IGdldEJhY2tncm91bmRTaXplID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgYmFja2dyb3VuZFNpemU6IGAke2xlZnRQb3NpdGlvbn0lIDEwMCVgLFxuICAgIH0pLFxuICAgIFtsZWZ0UG9zaXRpb25dLFxuICApXG5cbiAgY29uc3Qgc3R5bGVkVmFsdWUgPSAodmFsdWVOdW1iZXI6IHN0cmluZyB8IG51bWJlciB8IG51bGwpID0+XG4gICAgaW5wdXQgJiYgKCFvcHRpb25zIHx8IG9wdGlvbnMgPT09IHRydWUpICYmICFwb3NzaWJsZVZhbHVlcyA/IChcbiAgICAgIDxTdHlsZWROdW1iZXJJbnB1dFxuICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgdHlwZW9mIHZhbHVlTnVtYmVyID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBwYXJzZUZsb2F0KHZhbHVlTnVtYmVyKVxuICAgICAgICAgICAgOiB2YWx1ZU51bWJlclxuICAgICAgICB9XG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIG1pbj17bWlufVxuICAgICAgICBhcmlhLWxhYmVsPVwiaW5wdXRcIlxuICAgICAgICBtYXg9e21heH1cbiAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgY29udHJvbHM9e2ZhbHNlfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LWlucHV0YCA6ICdzbGlkZXItaW5wdXQnfVxuICAgICAgICB1bml0PXt0eXBlb2Ygc3VmZml4ID09PSAnc3RyaW5nJyA/IHN1ZmZpeCA6IHVuaXR9XG4gICAgICAgIG9uQ2hhbmdlPXtuZXdWYWwgPT4ge1xuICAgICAgICAgIGlmIChuZXdWYWwpIHtcbiAgICAgICAgICAgIG9uQ2hhbmdlQ2FsbGJhY2sobmV3VmFsKVxuICAgICAgICAgIH0gZWxzZSBvbkNoYW5nZUNhbGxiYWNrKG51bGwpXG4gICAgICAgIH19XG4gICAgICAgIG9uQmx1cj17ZXZlbnQgPT4ge1xuICAgICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlKSBvbkNoYW5nZUNhbGxiYWNrKG1pbilcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKSA6IChcbiAgICAgIDxTdHlsZWRUZXh0VmFsdWVcbiAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFwiXG4gICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICBwbGFjZW1lbnQ9e2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgPyAncmlnaHQnIDogJ2NlbnRlcid9XG4gICAgICAgIGRvdWJsZT17ZmFsc2V9XG4gICAgICAgIGlzQ29sdW1uPXtkaXJlY3Rpb24gPT09ICdjb2x1bW4nfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZhbHVlYCA6ICdzbGlkZXItdmFsdWUnfVxuICAgICAgPlxuICAgICAgICB7cHJlZml4fVxuICAgICAgICB7dmFsdWVOdW1iZXJ9XG4gICAgICAgIHtzdWZmaXggPz8gdW5pdH1cbiAgICAgIDwvU3R5bGVkVGV4dFZhbHVlPlxuICAgIClcblxuICBjb25zdCB0b29sdGlwVGV4dCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh0b29sdGlwID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gY29tcHV0ZWRWYWx1ZVxuICAgIH1cbiAgICBpZiAodG9vbHRpcCkge1xuICAgICAgcmV0dXJuIHRvb2x0aXBcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFt0b29sdGlwLCBjb21wdXRlZFZhbHVlXSlcblxuICBjb25zdCBwbGFjZW1lbnRUb29sdGlwID1cbiAgICAoKGNvbXB1dGVkVmFsdWUgLSBtaW4pIC8gKG1heCAtIG1pbikpICogKHNsaWRlcldpZHRoIC0gVEhVTUJfU0laRSkgK1xuICAgIFRIVU1CX1NJWkUgLyAyIC1cbiAgICBzbGlkZXJXaWR0aCAvIDJcblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj17ZGlyZWN0aW9ufSBqdXN0aWZ5Q29udGVudD1cImxlZnRcIj5cbiAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgPFN0YWNrIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgICAgICBpbnB1dD17aW5wdXR9XG4gICAgICAgICAgICBmaW5hbElkPXtmaW5hbElkfVxuICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2RpcmVjdGlvbiA9PT0gJ2NvbHVtbidcbiAgICAgICAgICAgID8gc3R5bGVkVmFsdWUoY3VzdG9tVmFsdWUgPz8gdmFsdWVUb1Nob3cpXG4gICAgICAgICAgICA6IG51bGx9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICApIDogbnVsbH1cblxuICAgICAge2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgJiYgIWxhYmVsXG4gICAgICAgID8gc3R5bGVkVmFsdWUoY3VzdG9tVmFsdWUgPz8gdmFsdWVUb1Nob3cpXG4gICAgICAgIDogbnVsbH1cbiAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJjb2x1bW5cIiB3aWR0aD1cIjEwMCVcIiBnYXA9ezF9IGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCI+XG4gICAgICAgIDxTdHlsZWRUb29sdGlwXG4gICAgICAgICAgdGV4dD17dG9vbHRpcFRleHR9XG4gICAgICAgICAgcGxhY2VtZW50PXt0b29sdGlwUG9zaXRpb259XG4gICAgICAgICAgbGVmdD17cGxhY2VtZW50VG9vbHRpcH1cbiAgICAgICAgPlxuICAgICAgICAgIDxTbGlkZXJFbGVtZW50XG4gICAgICAgICAgICB0eXBlPVwicmFuZ2VcIlxuICAgICAgICAgICAgdmFsdWU9e2NvbXB1dGVkVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UocGFyc2VGbG9hdChldmVudC50YXJnZXQudmFsdWUpKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgbWF4PXttYXh9XG4gICAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICAgIHN0ZXA9e3N0ZXB9XG4gICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgZGlzYWJsZWQ9eyEhZGlzYWJsZWR9XG4gICAgICAgICAgICBhcmlhLWRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgaWQ9e2ZpbmFsSWR9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWwgPz8gbmFtZX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgc3R5bGU9e2dldEJhY2tncm91bmRTaXplfVxuICAgICAgICAgICAgZGF0YS1lcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGRhdGEtZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgICAgICB0aGVtZVNsaWRlcj17dGhlbWV9XG4gICAgICAgICAgICByZWY9e3JlZlNsaWRlcn1cbiAgICAgICAgICAgIGxlZnQ9e2xlZnRQb3NpdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFRvb2x0aXA+XG4gICAgICAgIHtvcHRpb25zIHx8IHBvc3NpYmxlVmFsdWVzID8gKFxuICAgICAgICAgIDxPcHRpb25zXG4gICAgICAgICAgICB0aWNrcz17dGlja3N9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgc2xpZGVyV2lkdGg9e3NsaWRlcldpZHRofVxuICAgICAgICAgICAgdW5pdD17dW5pdH1cbiAgICAgICAgICAgIHZhbHVlPXtjb21wdXRlZFZhbHVlfVxuICAgICAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU3RhY2s+XG4gICAgICB7ZGlyZWN0aW9uID09PSAncm93JyA/IHN0eWxlZFZhbHVlKGN1c3RvbVZhbHVlID8/IHZhbHVlVG9TaG93KSA6IG51bGx9XG4gICAgPC9TdGFjaz5cbiAgKVxufVxuIl19 */"));
26
+ const SliderElement = /* @__PURE__ */ _styled("input", process.env.NODE_ENV === "production" ? {
27
+ shouldForwardProp: (prop) => !["themeSlider", "left"].includes(prop),
28
+ target: "elmzsg30"
29
+ } : {
30
+ shouldForwardProp: (prop) => !["themeSlider", "left"].includes(prop),
31
+ target: "elmzsg30",
32
+ label: "SliderElement"
33
+ })("appearance:none;height:", ({
34
+ theme
35
+ }) => theme.space["1"], ";width:100%;position:relative;min-width:", SLIDER_WIDTH.min, "px;background-color:", ({
36
+ theme
37
+ }) => theme.colors.neutral.borderWeak, ";border-radius:", ({
38
+ theme
39
+ }) => theme.radii.default, ";background-image:linear-gradient(", ({
40
+ theme
41
+ }) => theme.colors.primary.border, ", ", ({
42
+ theme
43
+ }) => theme.colors.primary.border, ");background-repeat:no-repeat;align-self:center;outline:none;&:focus{&::-moz-range-thumb{border:", ({
44
+ theme,
45
+ disabled
46
+ }) => disabled ? null : `1.5px solid ${theme.colors.primary.border}`, ";box-shadow:", ({
47
+ theme,
48
+ disabled
49
+ }) => disabled ? null : theme.shadows.focusPrimary, ";}&::-webkit-slider-thumb{border:", ({
50
+ theme,
51
+ disabled
52
+ }) => disabled ? null : `1.5px solid ${theme.colors.primary.border}`, ";box-shadow:", ({
53
+ theme,
54
+ disabled
55
+ }) => disabled ? null : theme.shadows.focusPrimary, ";}}&[data-error='true']{background-image:linear-gradient(", ({
56
+ theme
57
+ }) => theme.colors.danger.backgroundStrong, ", ", ({
58
+ theme
59
+ }) => theme.colors.danger.backgroundStrong, ");}&[data-direction='column']{align-self:baseline;}&[aria-disabled='true']{background-image:linear-gradient(", ({
60
+ theme
61
+ }) => theme.colors.primary.borderDisabled, ", ", ({
62
+ theme
63
+ }) => theme.colors.primary.borderDisabled, ");}::-moz-range-track{", trackStyle, ";}::-moz-range-thumb{", ({
64
+ theme,
65
+ themeSlider,
66
+ disabled,
67
+ left
68
+ }) => thumbStyle(theme, themeSlider, disabled, left, false), ";}::-webkit-slider-runnable-track{", trackStyle, ";}::-webkit-slider-thumb{", ({
69
+ theme,
70
+ themeSlider,
71
+ disabled,
72
+ left
73
+ }) => thumbStyle(theme, themeSlider, disabled, left, false), ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1NsaWRlci9jb21wb25lbnRzL1NpbmdsZVNsaWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUI0RCIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9TbGlkZXIvY29tcG9uZW50cy9TaW5nbGVTbGlkZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlSWQsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vLi4vVGV4dCdcbmltcG9ydCB7IFNMSURFUl9XSURUSCwgVEhVTUJfU0laRSB9IGZyb20gJy4uL2NvbnN0YW50J1xuaW1wb3J0IHtcbiAgU3R5bGVkTnVtYmVySW5wdXQsXG4gIFN0eWxlZFRvb2x0aXAsXG4gIHRodW1iU3R5bGUsXG4gIHRyYWNrU3R5bGUsXG59IGZyb20gJy4uL3N0eWxlcydcbmltcG9ydCB0eXBlIHsgU2luZ2xlU2xpZGVyUHJvcHMgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IExhYmVsIH0gZnJvbSAnLi9MYWJlbCdcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICcuL09wdGlvbnMnXG5cbmNvbnN0IFN0eWxlZFRleHRWYWx1ZSA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2RvdWJsZScsICdpc0NvbHVtbiddLmluY2x1ZGVzKHByb3ApLFxufSk8eyBkb3VibGU6IGJvb2xlYW47IGlzQ29sdW1uOiBib29sZWFuIH0+YFxuICBtaW4td2lkdGg6ICR7KHsgdGhlbWUsIGRvdWJsZSwgaXNDb2x1bW4gfSkgPT4gKGRvdWJsZSAmJiBpc0NvbHVtbiA/IG51bGwgOiB0aGVtZS5zcGFjZVsnNSddKX07XG4gIGFsaWduLXNlbGY6ICR7KHsgZG91YmxlLCBpc0NvbHVtbiB9KSA9PiAoZG91YmxlIHx8ICFpc0NvbHVtbiA/ICdjZW50ZXInIDogJ2VuZCcpfTtcbmBcblxuY29uc3QgU2xpZGVyRWxlbWVudCA9IHN0eWxlZCgnaW5wdXQnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ3RoZW1lU2xpZGVyJywgJ2xlZnQnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgdGhlbWVTbGlkZXI6IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW47IGxlZnQ6IG51bWJlciB9PmBcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLXdpZHRoOiAke1NMSURFUl9XSURUSC5taW59cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5ib3JkZXJXZWFrfTtcblxuICAgIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJ9LCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LmJvcmRlcn0pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAgICAgYm9yZGVyOiAkeyh7IHRoZW1lLCBkaXNhYmxlZCB9KSA9PiAoZGlzYWJsZWQgPyBudWxsIDogYDEuNXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyfWApfTtcbiAgICAgICAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lLCBkaXNhYmxlZCB9KSA9PiAoZGlzYWJsZWQgPyBudWxsIDogdGhlbWUuc2hhZG93cy5mb2N1c1ByaW1hcnkpfTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXI6ICR7KHsgdGhlbWUsIGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/IG51bGwgOiBgMS41cHggc29saWQgJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJ9YCl9O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWUsIGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/IG51bGwgOiB0aGVtZS5zaGFkb3dzLmZvY3VzUHJpbWFyeSl9O1xuICAgICAgICB9XG4gIH1cbiAgICAmW2RhdGEtZXJyb3I9J3RydWUnXXtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLmJhY2tncm91bmRTdHJvbmd9LCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIuYmFja2dyb3VuZFN0cm9uZ30pO1xuICAgIH1cblxuICAgICZbZGF0YS1kaXJlY3Rpb249J2NvbHVtbiddIHtcbiAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICAgIH1cblxuICAgICZbYXJpYS1kaXNhYmxlZD0ndHJ1ZSdde1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5ib3JkZXJEaXNhYmxlZH0sICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYm9yZGVyRGlzYWJsZWR9KTtcbiAgICB9XG5cbiAgICAvKiBNb3ppbGxhICovXG4gICAgOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgICAgJHt0cmFja1N0eWxlfVxuICAgIH1cbiAgICA6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgICAkeyh7IHRoZW1lLCB0aGVtZVNsaWRlciwgZGlzYWJsZWQsIGxlZnQgfSkgPT4gdGh1bWJTdHlsZSh0aGVtZSwgdGhlbWVTbGlkZXIsIGRpc2FibGVkLCBsZWZ0LCBmYWxzZSl9XG4gICAgfVxuXG4gICAgLyogT3RoZXIgYnJvd3NlcnMgKi9cbiAgICA6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgICAgJHt0cmFja1N0eWxlfVxuICAgIH1cbiAgICA6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgJHsoeyB0aGVtZSwgdGhlbWVTbGlkZXIsIGRpc2FibGVkLCBsZWZ0IH0pID0+IHRodW1iU3R5bGUodGhlbWUsIHRoZW1lU2xpZGVyLCBkaXNhYmxlZCwgbGVmdCwgZmFsc2UpfVxuICAgIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNpbmdsZVNsaWRlciA9ICh7XG4gIG5hbWUsXG4gIHRvb2x0aXAsXG4gIGRpcmVjdGlvbixcbiAgZGlzYWJsZWQsXG4gIGVycm9yLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxuICB2YWx1ZSxcbiAgb25DaGFuZ2UsXG4gIG1pbiA9IDAsXG4gIG1heCA9IDEwMCxcbiAgc3RlcCA9IDEsXG4gIGlkLFxuICBvbkJsdXIsXG4gIHVuaXQsXG4gIG9wdGlvbnMsXG4gIHBvc3NpYmxlVmFsdWVzLFxuICBvbkZvY3VzLFxuICBjbGFzc05hbWUsXG4gIGxhYmVsLFxuICBpbnB1dCxcbiAgcHJlZml4LFxuICBzdWZmaXgsXG4gIHJlcXVpcmVkLFxuICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgdG9vbHRpcFBvc2l0aW9uLFxufTogU2luZ2xlU2xpZGVyUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxJZCA9IHVzZUlkKClcbiAgY29uc3QgeyB0aGVtZSB9ID0gdXNlVGhlbWUoKVxuICBjb25zdCBmaW5hbElkID0gaWQgPz8gbG9jYWxJZFxuICBjb25zdCBzYWZlVmFsdWUgPSB2YWx1ZSA/PyBtaW5cbiAgY29uc3QgW2NvbXB1dGVkVmFsdWUsIHNldENvbXB1dGVkVmFsdWVdID0gdXNlU3RhdGUoc2FmZVZhbHVlKVxuICBjb25zdCBbdmFsdWVUb1Nob3csIHNldFZhbHVlVG9TaG93XSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KHNhZmVWYWx1ZSlcbiAgY29uc3QgcmVmU2xpZGVyID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtzbGlkZXJXaWR0aCwgc2V0V2lkdGhdID0gdXNlU3RhdGUoXG4gICAgcmVmU2xpZGVyLmN1cnJlbnQ/Lm9mZnNldFdpZHRoID8/IFNMSURFUl9XSURUSC5tYXgsXG4gIClcbiAgY29uc3QgW2N1c3RvbVZhbHVlLCBzZXRDdXN0b21WYWx1ZV0gPSB1c2VTdGF0ZTx1bmRlZmluZWQgfCBudW1iZXI+KHVuZGVmaW5lZClcblxuICBjb25zdCB0aWNrcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChvcHRpb25zID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogbWF4IC0gbWluICsgMSB9LCAoXywgaW5kZXgpID0+ICh7XG4gICAgICAgIHZhbHVlOiBtaW4gKyBpbmRleCAqIHN0ZXAsXG4gICAgICAgIGxhYmVsOiBTdHJpbmcobWluICsgaW5kZXggKiBzdGVwKSxcbiAgICAgIH0pKS5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50LnZhbHVlIDw9IG1heCAmJiBlbGVtZW50LnZhbHVlID49IG1pbilcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMpIHJldHVybiBvcHRpb25zXG4gICAgaWYgKHBvc3NpYmxlVmFsdWVzKSB7XG4gICAgICByZXR1cm4gcG9zc2libGVWYWx1ZXMubWFwKChlbGVtZW50LCBpbmRleCkgPT4gKHtcbiAgICAgICAgdmFsdWU6IGluZGV4LFxuICAgICAgICBsYWJlbDogU3RyaW5nKGVsZW1lbnQpLFxuICAgICAgfSkpXG4gICAgfVxuXG4gICAgcmV0dXJuIFtdXG4gIH0sIFttYXgsIG1pbiwgb3B0aW9ucywgcG9zc2libGVWYWx1ZXMsIHN0ZXBdKVxuXG4gIGNvbnN0IG9uQ2hhbmdlQ2FsbGJhY2sgPSB1c2VDYWxsYmFjayhcbiAgICAobmV3VmFsdWU6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICAgIHNldFZhbHVlVG9TaG93KG5ld1ZhbHVlKVxuICAgICAgc2V0Q29tcHV0ZWRWYWx1ZShuZXdWYWx1ZSA/PyBtaW4pXG4gICAgICBvbkNoYW5nZT8uKG5ld1ZhbHVlID8/IG1pbilcbiAgICB9LFxuICAgIFttaW4sIG9uQ2hhbmdlXSxcbiAgKVxuXG4gIC8vIERlZmF1bHQgdmFsdWUgdG8gYmUgY29oZXJlbnQgd2l0aCBhIGN1c3RvbSBzY2FsZSB3aGVuIG9uZSBpcyBkZWZpbmVkXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBvc3NpYmxlVmFsdWVzKSB7XG4gICAgICBzZXRDdXN0b21WYWx1ZShwb3NzaWJsZVZhbHVlc1tjb21wdXRlZFZhbHVlXSlcbiAgICB9XG4gIH0sIFtwb3NzaWJsZVZhbHVlcywgY29tcHV0ZWRWYWx1ZV0pXG5cbiAgLy8gTWFrZSBzdXJlIHRoYXQgbWluIDw9IHZhbHVlIDw9IG1heFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2YWx1ZSA8IG1pbikge1xuICAgICAgb25DaGFuZ2VDYWxsYmFjayhtaW4pXG4gICAgfVxuICAgIGlmICh2YWx1ZSA+IG1heCkge1xuICAgICAgb25DaGFuZ2VDYWxsYmFjayhtYXgpXG4gICAgfVxuICB9LCBbdmFsdWUsIG1heCwgbWluLCBvbkNoYW5nZSwgc3RlcCwgb25DaGFuZ2VDYWxsYmFja10pXG5cbiAgLy8gR2V0IHNsaWRlciBzaXplXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2V0V2lkdGhSZXNpemUgPSAoKSA9PiB7XG4gICAgICBzZXRXaWR0aChyZWZTbGlkZXIuY3VycmVudD8ub2Zmc2V0V2lkdGggPz8gU0xJREVSX1dJRFRILm1heClcbiAgICB9XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHNldFdpZHRoUmVzaXplKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBzZXRXaWR0aFJlc2l6ZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAocG9zc2libGVWYWx1ZXMpIHtcbiAgICAgICAgLy8gQ3VzdG9tIHNjYWxlXG4gICAgICAgIGNvbnN0IG9wdGlvbkxhYmVsID0gcG9zc2libGVWYWx1ZXNbbmV3VmFsdWUgPz8gbWluXVxuICAgICAgICBzZXRDdXN0b21WYWx1ZShvcHRpb25MYWJlbClcbiAgICAgICAgb25DaGFuZ2VDYWxsYmFjayhuZXdWYWx1ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uQ2hhbmdlQ2FsbGJhY2sobmV3VmFsdWUpXG4gICAgICB9XG4gICAgfSxcbiAgICBbbWluLCBvbkNoYW5nZUNhbGxiYWNrLCBwb3NzaWJsZVZhbHVlc10sXG4gIClcblxuICBjb25zdCBsZWZ0UG9zaXRpb24gPSB1c2VNZW1vKFxuICAgICgpID0+ICgoY29tcHV0ZWRWYWx1ZSAtIG1pbikgKiAxMDApIC8gKG1heCAtIG1pbiksXG4gICAgW2NvbXB1dGVkVmFsdWUsIG1heCwgbWluXSxcbiAgKVxuXG4gIGNvbnN0IGdldEJhY2tncm91bmRTaXplID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgYmFja2dyb3VuZFNpemU6IGAke2xlZnRQb3NpdGlvbn0lIDEwMCVgLFxuICAgIH0pLFxuICAgIFtsZWZ0UG9zaXRpb25dLFxuICApXG5cbiAgY29uc3Qgc3R5bGVkVmFsdWUgPSAodmFsdWVOdW1iZXI6IHN0cmluZyB8IG51bWJlciB8IG51bGwpID0+XG4gICAgaW5wdXQgJiYgKCFvcHRpb25zIHx8IG9wdGlvbnMgPT09IHRydWUpICYmICFwb3NzaWJsZVZhbHVlcyA/IChcbiAgICAgIDxTdHlsZWROdW1iZXJJbnB1dFxuICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgdHlwZW9mIHZhbHVlTnVtYmVyID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBwYXJzZUZsb2F0KHZhbHVlTnVtYmVyKVxuICAgICAgICAgICAgOiB2YWx1ZU51bWJlclxuICAgICAgICB9XG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIG1pbj17bWlufVxuICAgICAgICBhcmlhLWxhYmVsPVwiaW5wdXRcIlxuICAgICAgICBtYXg9e21heH1cbiAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgY29udHJvbHM9e2ZhbHNlfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LWlucHV0YCA6ICdzbGlkZXItaW5wdXQnfVxuICAgICAgICB1bml0PXt0eXBlb2Ygc3VmZml4ID09PSAnc3RyaW5nJyA/IHN1ZmZpeCA6IHVuaXR9XG4gICAgICAgIG9uQ2hhbmdlPXtuZXdWYWwgPT4ge1xuICAgICAgICAgIGlmIChuZXdWYWwpIHtcbiAgICAgICAgICAgIG9uQ2hhbmdlQ2FsbGJhY2sobmV3VmFsKVxuICAgICAgICAgIH0gZWxzZSBvbkNoYW5nZUNhbGxiYWNrKG51bGwpXG4gICAgICAgIH19XG4gICAgICAgIG9uQmx1cj17ZXZlbnQgPT4ge1xuICAgICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlKSBvbkNoYW5nZUNhbGxiYWNrKG1pbilcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKSA6IChcbiAgICAgIDxTdHlsZWRUZXh0VmFsdWVcbiAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFwiXG4gICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICBwbGFjZW1lbnQ9e2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgPyAncmlnaHQnIDogJ2NlbnRlcid9XG4gICAgICAgIGRvdWJsZT17ZmFsc2V9XG4gICAgICAgIGlzQ29sdW1uPXtkaXJlY3Rpb24gPT09ICdjb2x1bW4nfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZhbHVlYCA6ICdzbGlkZXItdmFsdWUnfVxuICAgICAgPlxuICAgICAgICB7cHJlZml4fVxuICAgICAgICB7dmFsdWVOdW1iZXJ9XG4gICAgICAgIHtzdWZmaXggPz8gdW5pdH1cbiAgICAgIDwvU3R5bGVkVGV4dFZhbHVlPlxuICAgIClcblxuICBjb25zdCB0b29sdGlwVGV4dCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh0b29sdGlwID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gY29tcHV0ZWRWYWx1ZVxuICAgIH1cbiAgICBpZiAodG9vbHRpcCkge1xuICAgICAgcmV0dXJuIHRvb2x0aXBcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFt0b29sdGlwLCBjb21wdXRlZFZhbHVlXSlcblxuICBjb25zdCBwbGFjZW1lbnRUb29sdGlwID1cbiAgICAoKGNvbXB1dGVkVmFsdWUgLSBtaW4pIC8gKG1heCAtIG1pbikpICogKHNsaWRlcldpZHRoIC0gVEhVTUJfU0laRSkgK1xuICAgIFRIVU1CX1NJWkUgLyAyIC1cbiAgICBzbGlkZXJXaWR0aCAvIDJcblxuICByZXR1cm4gKFxuICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj17ZGlyZWN0aW9ufSBqdXN0aWZ5Q29udGVudD1cImxlZnRcIj5cbiAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgPFN0YWNrIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgICAgICBpbnB1dD17aW5wdXR9XG4gICAgICAgICAgICBmaW5hbElkPXtmaW5hbElkfVxuICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2RpcmVjdGlvbiA9PT0gJ2NvbHVtbidcbiAgICAgICAgICAgID8gc3R5bGVkVmFsdWUoY3VzdG9tVmFsdWUgPz8gdmFsdWVUb1Nob3cpXG4gICAgICAgICAgICA6IG51bGx9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICApIDogbnVsbH1cblxuICAgICAge2RpcmVjdGlvbiA9PT0gJ2NvbHVtbicgJiYgIWxhYmVsXG4gICAgICAgID8gc3R5bGVkVmFsdWUoY3VzdG9tVmFsdWUgPz8gdmFsdWVUb1Nob3cpXG4gICAgICAgIDogbnVsbH1cbiAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJjb2x1bW5cIiB3aWR0aD1cIjEwMCVcIiBnYXA9ezF9IGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCI+XG4gICAgICAgIDxTdHlsZWRUb29sdGlwXG4gICAgICAgICAgdGV4dD17dG9vbHRpcFRleHR9XG4gICAgICAgICAgcGxhY2VtZW50PXt0b29sdGlwUG9zaXRpb259XG4gICAgICAgICAgbGVmdD17cGxhY2VtZW50VG9vbHRpcH1cbiAgICAgICAgPlxuICAgICAgICAgIDxTbGlkZXJFbGVtZW50XG4gICAgICAgICAgICB0eXBlPVwicmFuZ2VcIlxuICAgICAgICAgICAgdmFsdWU9e2NvbXB1dGVkVmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UocGFyc2VGbG9hdChldmVudC50YXJnZXQudmFsdWUpKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgbWF4PXttYXh9XG4gICAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICAgIHN0ZXA9e3N0ZXB9XG4gICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgZGlzYWJsZWQ9eyEhZGlzYWJsZWR9XG4gICAgICAgICAgICBhcmlhLWRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgaWQ9e2ZpbmFsSWR9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWwgPz8gbmFtZX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgc3R5bGU9e2dldEJhY2tncm91bmRTaXplfVxuICAgICAgICAgICAgZGF0YS1lcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGRhdGEtZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgICAgICB0aGVtZVNsaWRlcj17dGhlbWV9XG4gICAgICAgICAgICByZWY9e3JlZlNsaWRlcn1cbiAgICAgICAgICAgIGxlZnQ9e2xlZnRQb3NpdGlvbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFRvb2x0aXA+XG4gICAgICAgIHtvcHRpb25zIHx8IHBvc3NpYmxlVmFsdWVzID8gKFxuICAgICAgICAgIDxPcHRpb25zXG4gICAgICAgICAgICB0aWNrcz17dGlja3N9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgc2xpZGVyV2lkdGg9e3NsaWRlcldpZHRofVxuICAgICAgICAgICAgdW5pdD17dW5pdH1cbiAgICAgICAgICAgIHZhbHVlPXtjb21wdXRlZFZhbHVlfVxuICAgICAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU3RhY2s+XG4gICAgICB7ZGlyZWN0aW9uID09PSAncm93JyA/IHN0eWxlZFZhbHVlKGN1c3RvbVZhbHVlID8/IHZhbHVlVG9TaG93KSA6IG51bGx9XG4gICAgPC9TdGFjaz5cbiAgKVxufVxuIl19 */"));
74
+ const SingleSlider = ({
75
+ name,
76
+ tooltip,
77
+ direction,
78
+ disabled,
79
+ error,
80
+ "data-testid": dataTestId,
81
+ value,
82
+ onChange,
83
+ min = 0,
84
+ max = 100,
85
+ step = 1,
86
+ id,
87
+ onBlur,
88
+ unit,
89
+ options,
90
+ possibleValues,
91
+ onFocus,
92
+ className,
93
+ label,
94
+ input,
95
+ prefix,
96
+ suffix,
97
+ required,
98
+ "aria-label": ariaLabel,
99
+ tooltipPosition
100
+ }) => {
101
+ const localId = useId();
102
+ const {
103
+ theme
104
+ } = useTheme();
105
+ const finalId = id ?? localId;
106
+ const safeValue = value ?? min;
107
+ const [computedValue, setComputedValue] = useState(safeValue);
108
+ const [valueToShow, setValueToShow] = useState(safeValue);
109
+ const refSlider = useRef(null);
110
+ const [sliderWidth, setWidth] = useState(refSlider.current?.offsetWidth ?? SLIDER_WIDTH.max);
111
+ const [customValue, setCustomValue] = useState(void 0);
112
+ const ticks = useMemo(() => {
113
+ if (options === true) {
114
+ return Array.from({
115
+ length: max - min + 1
116
+ }, (_, index) => ({
117
+ value: min + index * step,
118
+ label: String(min + index * step)
119
+ })).filter((element) => element.value <= max && element.value >= min);
120
+ }
121
+ if (options) return options;
122
+ if (possibleValues) {
123
+ return possibleValues.map((element, index) => ({
124
+ value: index,
125
+ label: String(element)
126
+ }));
127
+ }
128
+ return [];
129
+ }, [max, min, options, possibleValues, step]);
130
+ const onChangeCallback = useCallback((newValue) => {
131
+ setValueToShow(newValue);
132
+ setComputedValue(newValue ?? min);
133
+ onChange?.(newValue ?? min);
134
+ }, [min, onChange]);
135
+ useEffect(() => {
136
+ if (possibleValues) {
137
+ setCustomValue(possibleValues[computedValue]);
138
+ }
139
+ }, [possibleValues, computedValue]);
140
+ useEffect(() => {
141
+ if (value < min) {
142
+ onChangeCallback(min);
143
+ }
144
+ if (value > max) {
145
+ onChangeCallback(max);
146
+ }
147
+ }, [value, max, min, onChange, step, onChangeCallback]);
148
+ useEffect(() => {
149
+ const setWidthResize = () => {
150
+ setWidth(refSlider.current?.offsetWidth ?? SLIDER_WIDTH.max);
151
+ };
152
+ window.addEventListener("resize", setWidthResize);
153
+ return () => {
154
+ window.removeEventListener("resize", setWidthResize);
155
+ };
156
+ }, []);
157
+ const handleChange = useCallback((newValue) => {
158
+ if (possibleValues) {
159
+ const optionLabel = possibleValues[newValue ?? min];
160
+ setCustomValue(optionLabel);
161
+ onChangeCallback(newValue);
162
+ } else {
163
+ onChangeCallback(newValue);
164
+ }
165
+ }, [min, onChangeCallback, possibleValues]);
166
+ const leftPosition = useMemo(() => (computedValue - min) * 100 / (max - min), [computedValue, max, min]);
167
+ const getBackgroundSize = useMemo(() => ({
168
+ backgroundSize: `${leftPosition}% 100%`
169
+ }), [leftPosition]);
170
+ const styledValue = (valueNumber) => input && (!options || options === true) && !possibleValues ? /* @__PURE__ */ jsx(StyledNumberInput, { value: typeof valueNumber === "string" ? parseFloat(valueNumber) : valueNumber, size: "small", min, "aria-label": "input", max, step, controls: false, "data-testid": dataTestId ? `${dataTestId}-input` : "slider-input", unit: typeof suffix === "string" ? suffix : unit, onChange: (newVal) => {
171
+ if (newVal) {
172
+ onChangeCallback(newVal);
173
+ } else onChangeCallback(null);
174
+ }, onBlur: (event) => {
175
+ if (!event.target.value) onChangeCallback(min);
176
+ } }) : /* @__PURE__ */ jsxs(StyledTextValue, { as: "span", variant: "bodySmall", sentiment: "neutral", placement: direction === "column" ? "right" : "center", double: false, isColumn: direction === "column", "data-testid": dataTestId ? `${dataTestId}-value` : "slider-value", children: [
177
+ prefix,
178
+ valueNumber,
179
+ suffix ?? unit
180
+ ] });
181
+ const tooltipText = useMemo(() => {
182
+ if (tooltip === true) {
183
+ return computedValue;
184
+ }
185
+ if (tooltip) {
186
+ return tooltip;
187
+ }
188
+ return void 0;
189
+ }, [tooltip, computedValue]);
190
+ const placementTooltip = (computedValue - min) / (max - min) * (sliderWidth - THUMB_SIZE) + THUMB_SIZE / 2 - sliderWidth / 2;
191
+ return /* @__PURE__ */ jsxs(Stack, { gap: 1, direction, justifyContent: "left", children: [
192
+ label ? /* @__PURE__ */ jsxs(Stack, { justifyContent: "space-between", direction: "row", children: [
193
+ /* @__PURE__ */ jsx(Label, { direction, input, finalId, label, required }),
194
+ direction === "column" ? styledValue(customValue ?? valueToShow) : null
195
+ ] }) : null,
196
+ direction === "column" && !label ? styledValue(customValue ?? valueToShow) : null,
197
+ /* @__PURE__ */ jsxs(Stack, { direction: "column", width: "100%", gap: 1, justifyContent: "center", children: [
198
+ /* @__PURE__ */ jsx(StyledTooltip, { text: tooltipText, placement: tooltipPosition, left: placementTooltip, children: /* @__PURE__ */ jsx(SliderElement, { type: "range", value: computedValue, onChange: (event) => {
199
+ handleChange(parseFloat(event.target.value));
200
+ }, min, max, tabIndex: 0, step, name, disabled: !!disabled, "aria-disabled": disabled, "data-testid": dataTestId, id: finalId, onBlur, onFocus, "aria-label": ariaLabel ?? name, className, style: getBackgroundSize, "data-error": !!error, "data-direction": direction, themeSlider: theme, ref: refSlider, left: leftPosition }) }),
201
+ options || possibleValues ? /* @__PURE__ */ jsx(Options, { ticks, min, max, sliderWidth, unit, value: computedValue, step }) : null
202
+ ] }),
203
+ direction === "row" ? styledValue(customValue ?? valueToShow) : null
204
+ ] });
205
+ };
206
+ export {
207
+ SingleSlider
208
+ };
@@ -3,8 +3,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("@emotion/react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const index = require("../Text/index.cjs");
6
- const DoubleSlider = require("./DoubleSlider.cjs");
7
- const SingleSlider = require("./SingleSlider.cjs");
6
+ const DoubleSlider = require("./components/DoubleSlider.cjs");
7
+ const SingleSlider = require("./components/SingleSlider.cjs");
8
8
  const styles = require("./styles.cjs");
9
9
  const Slider = ({
10
10
  name,
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
2
  import { useMemo } from "react";
3
3
  import { Text } from "../Text/index.js";
4
- import { DoubleSlider } from "./DoubleSlider.js";
5
- import { SingleSlider } from "./SingleSlider.js";
4
+ import { DoubleSlider } from "./components/DoubleSlider.js";
5
+ import { SingleSlider } from "./components/SingleSlider.js";
6
6
  import { SliderContainer } from "./styles.js";
7
7
  const Slider = ({
8
8
  name,