@companix/uikit 0.0.3 → 0.0.4
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.
- package/dist/Button/Button.scss +128 -0
- package/dist/ButtonGroup/ButtonGroup.scss +18 -0
- package/dist/Checkbox/Checkbox.scss +115 -0
- package/dist/DateInput/DateInput.scss +11 -0
- package/dist/DatePicker/Calendar.scss +125 -0
- package/dist/DatePicker/DatePicker.scss +0 -0
- package/dist/Dialog/Dialog.scss +25 -0
- package/dist/Dialog/Popup.scss +55 -0
- package/dist/DialogAlert/Alert.scss +52 -0
- package/dist/Drawer/Drawer.scss +112 -0
- package/dist/Form/Form.scss +70 -0
- package/dist/Form/Input.scss +24 -0
- package/dist/Icon/icon.scss +18 -0
- package/dist/OptionItem/Option.scss +89 -0
- package/dist/Popover/Popover.scss +80 -0
- package/dist/Radio/Radio.scss +148 -0
- package/dist/Scrollable/Scrollable.scss +50 -0
- package/dist/Select/Select.scss +80 -0
- package/dist/SelectTags/SelectTags.scss +66 -0
- package/dist/Spinner/Spinner.scss +14 -0
- package/dist/Stepper/StepperInput.scss +35 -0
- package/dist/Switch/Switch.scss +102 -0
- package/dist/Tabs/Tabs.scss +58 -0
- package/dist/TextArea/TextArea.scss +34 -0
- package/dist/Toaster/Toaster.scss +151 -0
- package/dist/Tooltip/Tooltip.scss +28 -0
- package/dist/bundle.es.js +56 -59
- package/dist/bundle.es10.js +35 -84
- package/dist/bundle.es11.js +30 -72
- package/dist/bundle.es12.js +14 -34
- package/dist/bundle.es13.js +7 -30
- package/dist/bundle.es14.js +33 -16
- package/dist/bundle.es15.js +24 -8
- package/dist/bundle.es16.js +15 -27
- package/dist/bundle.es17.js +22 -25
- package/dist/bundle.es18.js +13 -21
- package/dist/bundle.es19.js +38 -22
- package/dist/bundle.es2.js +45 -0
- package/dist/bundle.es20.js +16 -13
- package/dist/bundle.es21.js +34 -39
- package/dist/bundle.es22.js +20 -15
- package/dist/bundle.es23.js +38 -32
- package/dist/bundle.es24.js +110 -20
- package/dist/bundle.es25.js +106 -34
- package/dist/bundle.es26.js +34 -110
- package/dist/bundle.es27.js +11 -113
- package/dist/bundle.es28.js +23 -34
- package/dist/bundle.es29.js +35 -10
- package/dist/bundle.es3.js +10 -42
- package/dist/bundle.es30.js +20 -21
- package/dist/bundle.es31.js +81 -36
- package/dist/bundle.es32.js +20 -0
- package/dist/bundle.es33.js +16 -0
- package/dist/bundle.es34.js +24 -0
- package/dist/bundle.es35.js +5 -41
- package/dist/bundle.es36.js +18 -437
- package/dist/bundle.es37.js +14 -22
- package/dist/bundle.es38.js +68 -22
- package/dist/bundle.es39.js +68 -81
- package/dist/bundle.es4.js +85 -12
- package/dist/bundle.es40.js +31 -17
- package/dist/bundle.es41.js +67 -13
- package/dist/bundle.es43.js +75 -5
- package/dist/bundle.es44.js +46 -18
- package/dist/bundle.es45.js +42 -13
- package/dist/bundle.es5.js +82 -83
- package/dist/bundle.es6.js +74 -81
- package/dist/bundle.es7.js +26 -78
- package/dist/bundle.es8.js +80 -22
- package/dist/bundle.es9.js +71 -43
- package/dist/css-properties.scss +120 -0
- package/dist/{types/index.d.ts → index.d.ts} +0 -1
- package/dist/index.scss +25 -0
- package/dist/mixins.scss +100 -0
- package/dist/theme.scss +101 -0
- package/package.json +1 -1
- package/dist/bundle.es46.js +0 -72
- package/dist/bundle.es47.js +0 -70
- package/dist/bundle.es48.js +0 -34
- package/dist/bundle.es49.js +0 -70
- package/dist/bundle.es51.js +0 -78
- package/dist/bundle.es52.js +0 -51
- package/dist/bundle.es53.js +0 -45
- package/dist/bundle.es54.js +0 -40
- package/dist/bundle.es55.js +0 -36
- package/dist/bundle.es56.js +0 -9
- package/dist/bundle.es57.js +0 -9
- package/dist/bundle.es58.js +0 -7
- package/dist/bundle.es59.js +0 -9
- package/dist/bundle.es60.js +0 -8
- package/dist/bundle.es61.js +0 -19
- package/dist/bundle.es62.js +0 -15
- package/dist/bundle.es63.js +0 -22
- package/dist/bundle.es64.js +0 -45
- package/dist/bundle.es65.js +0 -28
- package/dist/bundle.es66.js +0 -34
- package/dist/bundle.es67.js +0 -6
- package/dist/bundle.es68.js +0 -12
- package/dist/bundle.es69.js +0 -47
- package/dist/bundle.es70.js +0 -11
- package/dist/bundle.es71.js +0 -18
- package/dist/bundle.es72.js +0 -32
- package/dist/bundle.es73.js +0 -35
- package/dist/bundle.es74.js +0 -6
- package/dist/bundle.es75.js +0 -7
- package/dist/bundle.es76.js +0 -7
- package/dist/bundle.es77.js +0 -11
- package/dist/bundle.es78.js +0 -17
- package/dist/bundle.es79.js +0 -7
- package/dist/bundle.es80.js +0 -17
- package/dist/bundle.es81.js +0 -25
- package/dist/uikit.css +0 -1
- /package/dist/{types/Button → Button}/index.d.ts +0 -0
- /package/dist/{types/ButtonGroup → ButtonGroup}/index.d.ts +0 -0
- /package/dist/{types/Checkbox → Checkbox}/index.d.ts +0 -0
- /package/dist/{types/Countdown → Countdown}/index.d.ts +0 -0
- /package/dist/{types/DateInput → DateInput}/index.d.ts +0 -0
- /package/dist/{types/DatePicker → DatePicker}/Calendar.d.ts +0 -0
- /package/dist/{types/DatePicker → DatePicker}/CalendarHeader.d.ts +0 -0
- /package/dist/{types/DatePicker → DatePicker}/index.d.ts +0 -0
- /package/dist/{types/Dialog → Dialog}/index.d.ts +0 -0
- /package/dist/{types/DialogAlert → DialogAlert}/Alert.d.ts +0 -0
- /package/dist/{types/DialogAlert → DialogAlert}/Viewport.d.ts +0 -0
- /package/dist/{types/DialogAlert → DialogAlert}/index.d.ts +0 -0
- /package/dist/{types/Drawer → Drawer}/index.d.ts +0 -0
- /package/dist/{types/File → File}/index.d.ts +0 -0
- /package/dist/{types/Form → Form}/index.d.ts +0 -0
- /package/dist/{types/Icon → Icon}/index.d.ts +0 -0
- /package/dist/{types/LoadButton → LoadButton}/index.d.ts +0 -0
- /package/dist/{types/NumberInput → NumberInput}/index.d.ts +0 -0
- /package/dist/{types/OptionItem → OptionItem}/OptionItem.d.ts +0 -0
- /package/dist/{types/OptionItem → OptionItem}/OptionsList.d.ts +0 -0
- /package/dist/{types/Popover → Popover}/index.d.ts +0 -0
- /package/dist/{types/Radio → Radio}/index.d.ts +0 -0
- /package/dist/{types/Scrollable → Scrollable}/ImitateScroll.d.ts +0 -0
- /package/dist/{types/Scrollable → Scrollable}/index.d.ts +0 -0
- /package/dist/{types/Select → Select}/SelectInput.d.ts +0 -0
- /package/dist/{types/Select → Select}/index.d.ts +0 -0
- /package/dist/{types/SelectTags → SelectTags}/index.d.ts +0 -0
- /package/dist/{types/Spinner → Spinner}/index.d.ts +0 -0
- /package/dist/{types/Stepper → Stepper}/index.d.ts +0 -0
- /package/dist/{types/Switch → Switch}/index.d.ts +0 -0
- /package/dist/{types/Tabs → Tabs}/index.d.ts +0 -0
- /package/dist/{types/TextArea → TextArea}/index.d.ts +0 -0
- /package/dist/{types/Toaster → Toaster}/RemoveListener.d.ts +0 -0
- /package/dist/{types/Toaster → Toaster}/Toast.d.ts +0 -0
- /package/dist/{types/Toaster → Toaster}/Viewport.d.ts +0 -0
- /package/dist/{types/Toaster → Toaster}/index.d.ts +0 -0
- /package/dist/{types/Tooltip → Tooltip}/index.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-frooze-closing.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-loading.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-local-storage.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-popover-position.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-previos.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-resize.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-scrollbox.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-stepper-input.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-update.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/useCalendar.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/useCalendarOptions-copy.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/useCalendarOptions.d.ts +0 -0
- /package/dist/{types/__libs → __libs}/calendar.d.ts +0 -0
- /package/dist/{types/__utils → __utils}/utils.d.ts +0 -0
- /package/dist/{bundle.es50.js → bundle.es42.js} +0 -0
- /package/dist/{types/types.d.ts → types.d.ts} +0 -0
package/dist/bundle.es3.js
CHANGED
|
@@ -1,45 +1,13 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
text: m,
|
|
11
|
-
active: l,
|
|
12
|
-
mode: c = "default",
|
|
13
|
-
appearance: f = "neutral",
|
|
14
|
-
size: s = "md",
|
|
15
|
-
align: p,
|
|
16
|
-
icon: n,
|
|
17
|
-
loading: a,
|
|
18
|
-
className: u,
|
|
19
|
-
iconRight: i,
|
|
20
|
-
...t
|
|
21
|
-
}, x) => /* @__PURE__ */ e(
|
|
22
|
-
"button",
|
|
23
|
-
{
|
|
24
|
-
ref: x,
|
|
25
|
-
className: j("button", u),
|
|
26
|
-
"data-size": s,
|
|
27
|
-
"data-loading": r(a),
|
|
28
|
-
"data-align": a ? "center" : p ?? (n && i ? "left" : "center"),
|
|
29
|
-
"data-appearance": f,
|
|
30
|
-
"data-mode": c,
|
|
31
|
-
"data-fill": r(o),
|
|
32
|
-
"data-active": r(l),
|
|
33
|
-
...t,
|
|
34
|
-
onClick: a ?? t.disabled ? void 0 : t.onClick,
|
|
35
|
-
children: a ? /* @__PURE__ */ e(k, { size: 14, width: 2 }) : /* @__PURE__ */ b(h, { children: [
|
|
36
|
-
n,
|
|
37
|
-
(d ?? m) && /* @__PURE__ */ e("span", { className: "button-text", children: m ?? d }),
|
|
38
|
-
i
|
|
39
|
-
] })
|
|
40
|
-
}
|
|
41
|
-
)
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import n from "classnames";
|
|
3
|
+
const d = ({ size: r = 40, className: t, width: e = 4, color: i = "inherit" }) => /* @__PURE__ */ o(
|
|
4
|
+
"div",
|
|
5
|
+
{
|
|
6
|
+
style: { width: `${r}px`, height: `${r}px`, color: i, borderWidth: `${e}px` },
|
|
7
|
+
className: n("spinner-border", t),
|
|
8
|
+
role: "status"
|
|
9
|
+
}
|
|
42
10
|
);
|
|
43
11
|
export {
|
|
44
|
-
|
|
12
|
+
d as Spinner
|
|
45
13
|
};
|
package/dist/bundle.es30.js
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { useRef as s, useCallback as c } from "react";
|
|
2
|
+
const p = () => {
|
|
3
|
+
const t = s(null), r = s({ cb: null }), i = c(() => {
|
|
4
|
+
if (t.current && t.current.parentElement) {
|
|
5
|
+
const e = t.current.parentElement, u = e.style.getPropertyValue("--radix-popper-anchor-width"), n = e.style.getPropertyValue("transform"), o = new MutationObserver(() => {
|
|
6
|
+
e.style.transform !== n && e.style.setProperty("transform", n);
|
|
7
|
+
});
|
|
8
|
+
o.observe(e, {
|
|
9
|
+
attributes: !0,
|
|
10
|
+
attributeFilter: ["style"]
|
|
11
|
+
}), r.current.cb = () => {
|
|
12
|
+
o.disconnect();
|
|
13
|
+
}, t.current.style.setProperty("--radix-popover-trigger-width", u);
|
|
9
14
|
}
|
|
10
|
-
}
|
|
15
|
+
}, []), l = c(() => {
|
|
16
|
+
r.current.cb && (r.current.cb(), r.current.cb = null);
|
|
17
|
+
}, []);
|
|
11
18
|
return {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Viewport: () => {
|
|
16
|
-
const r = n(null);
|
|
17
|
-
return s(() => {
|
|
18
|
-
e.emit = (o) => {
|
|
19
|
-
r.current && r.current.showAlert(o);
|
|
20
|
-
};
|
|
21
|
-
}, []), /* @__PURE__ */ i(u, { ref: r, ...t });
|
|
22
|
-
}
|
|
19
|
+
popoverRef: t,
|
|
20
|
+
handleAnimationEnd: l,
|
|
21
|
+
froozePopoverPosition: i
|
|
23
22
|
};
|
|
24
23
|
};
|
|
25
24
|
export {
|
|
26
|
-
|
|
25
|
+
p as useFroozeClosing
|
|
27
26
|
};
|
package/dist/bundle.es31.js
CHANGED
|
@@ -1,38 +1,83 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import { useRef as
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
1
|
+
import { jsxs as n, jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import b from "classnames";
|
|
3
|
+
import { attr as r } from "@companix/utils-browser";
|
|
4
|
+
import { forwardRef as g, useRef as w, useCallback as y } from "react";
|
|
5
|
+
import { Icon as a } from "./bundle.es34.js";
|
|
6
|
+
import { faClose as D, faChevronDown as R } from "@fortawesome/free-solid-svg-icons";
|
|
7
|
+
import { VisuallyHidden as T } from "@radix-ui/react-visually-hidden";
|
|
8
|
+
const V = g(
|
|
9
|
+
({
|
|
10
|
+
required: u,
|
|
11
|
+
size: d,
|
|
12
|
+
fill: m,
|
|
13
|
+
leftElement: l,
|
|
14
|
+
className: p,
|
|
15
|
+
value: o,
|
|
16
|
+
clearButton: f,
|
|
17
|
+
placeholder: C,
|
|
18
|
+
clearButtonIcon: h,
|
|
19
|
+
disabled: s,
|
|
20
|
+
onClear: I,
|
|
21
|
+
...i
|
|
22
|
+
}, N) => {
|
|
23
|
+
const e = w(null), k = y(
|
|
24
|
+
(t) => {
|
|
25
|
+
if (!e.current || !document)
|
|
26
|
+
return;
|
|
27
|
+
t.target !== e.current && (e.current.click(), document.activeElement !== e.current && e.current.focus());
|
|
28
|
+
},
|
|
29
|
+
[e]
|
|
30
|
+
), x = (t) => {
|
|
31
|
+
document && document.activeElement === e.current && t.preventDefault();
|
|
32
|
+
}, v = (t) => {
|
|
33
|
+
s || k(t);
|
|
34
|
+
}, F = (t) => {
|
|
35
|
+
x(t);
|
|
36
|
+
}, z = (t) => {
|
|
37
|
+
e.current && e.current.focus(), I?.(t);
|
|
38
|
+
};
|
|
39
|
+
return /* @__PURE__ */ n(
|
|
40
|
+
"div",
|
|
41
|
+
{
|
|
42
|
+
ref: N,
|
|
43
|
+
className: b("form select", p),
|
|
44
|
+
"data-size": d ?? "md",
|
|
45
|
+
"data-fill": r(m),
|
|
46
|
+
"data-required": r(u),
|
|
47
|
+
"data-disabled": r(s),
|
|
48
|
+
onMouseDown: F,
|
|
49
|
+
...i,
|
|
50
|
+
onClick: v,
|
|
51
|
+
children: [
|
|
52
|
+
/* @__PURE__ */ n("div", { className: "select-layout form-input", children: [
|
|
53
|
+
l && /* @__PURE__ */ c("div", { className: "select-element", children: l }),
|
|
54
|
+
/* @__PURE__ */ c("div", { className: "select-content", children: /* @__PURE__ */ n("div", { className: "select-content-text", "aria-disabled": s, children: [
|
|
55
|
+
!o && /* @__PURE__ */ c("span", { className: "select-placeholder", children: C }),
|
|
56
|
+
o
|
|
57
|
+
] }) }),
|
|
58
|
+
/* @__PURE__ */ n("div", { className: "select-element", children: [
|
|
59
|
+
f && o && /* @__PURE__ */ c("button", { className: "select-close-button", onClick: z, children: h ?? /* @__PURE__ */ c(a, { className: "select-close-icon", icon: D, size: "xxxs" }) }),
|
|
60
|
+
/* @__PURE__ */ c(a, { className: "expand-icon select-expand", icon: R, size: "xxxs" })
|
|
61
|
+
] })
|
|
62
|
+
] }),
|
|
63
|
+
/* @__PURE__ */ c(T, { asChild: !0, children: /* @__PURE__ */ c(
|
|
64
|
+
"input",
|
|
65
|
+
{
|
|
66
|
+
ref: e,
|
|
67
|
+
autoComplete: "off",
|
|
68
|
+
autoCapitalize: "none",
|
|
69
|
+
autoCorrect: "off",
|
|
70
|
+
spellCheck: "false",
|
|
71
|
+
"aria-autocomplete": "none",
|
|
72
|
+
onClick: i.onClick,
|
|
73
|
+
readOnly: !0
|
|
74
|
+
}
|
|
75
|
+
) })
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
);
|
|
36
81
|
export {
|
|
37
|
-
|
|
82
|
+
V as SelectInput
|
|
38
83
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useRef as i, useCallback as T } from "react";
|
|
2
|
+
const a = () => {
|
|
3
|
+
const t = i(null), l = i(null);
|
|
4
|
+
return { scrollToElement: T(
|
|
5
|
+
(r, u = !1) => {
|
|
6
|
+
const o = t.current, s = l.current;
|
|
7
|
+
if (!o || !s || r < 0 || r > s.children.length)
|
|
8
|
+
return;
|
|
9
|
+
const n = s.children[r];
|
|
10
|
+
if (!n)
|
|
11
|
+
return;
|
|
12
|
+
const c = o.offsetHeight, f = o.scrollTop, e = n.offsetTop, p = n.offsetHeight;
|
|
13
|
+
u ? o.scrollTop = e - c / 2 + p / 2 : e + p > c + f ? o.scrollTop = e - c + p : e < f && (o.scrollTop = e);
|
|
14
|
+
},
|
|
15
|
+
[l, t]
|
|
16
|
+
), scrollBoxRef: t, optionsWrapperRef: l };
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
a as useScrollListController
|
|
20
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useRef as u, useLayoutEffect as f, useEffect as s } from "react";
|
|
2
|
+
const o = (t, r) => {
|
|
3
|
+
const e = u(!1);
|
|
4
|
+
f(() => {
|
|
5
|
+
e.current = !0, t();
|
|
6
|
+
}, []), s(() => {
|
|
7
|
+
if (e.current) {
|
|
8
|
+
e.current = !1;
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
t();
|
|
12
|
+
}, r);
|
|
13
|
+
};
|
|
14
|
+
export {
|
|
15
|
+
o as useLayoutAndUpdate
|
|
16
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import f from "classnames";
|
|
3
|
+
import { forwardRef as l } from "react";
|
|
4
|
+
const g = l(
|
|
5
|
+
({ icon: r, className: t, size: i = "m", ...e }, a) => {
|
|
6
|
+
const [n, c, , , m] = r.icon;
|
|
7
|
+
return /* @__PURE__ */ o(
|
|
8
|
+
"svg",
|
|
9
|
+
{
|
|
10
|
+
ref: a,
|
|
11
|
+
"data-prefix": r.prefix,
|
|
12
|
+
"data-icon": r.iconName,
|
|
13
|
+
viewBox: `0 0 ${n} ${c}`,
|
|
14
|
+
className: f(`icon icon-size-${i}`, t),
|
|
15
|
+
...e,
|
|
16
|
+
role: "img",
|
|
17
|
+
children: /* @__PURE__ */ o(s, { paths: m })
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
), s = ({ paths: r }) => Array.isArray(r) ? /* @__PURE__ */ o("g", { children: r.map((t, i) => /* @__PURE__ */ o("path", { fill: "currentColor", d: t }, `-d-${i}`)) }) : /* @__PURE__ */ o("path", { fill: "currentColor", d: r });
|
|
22
|
+
export {
|
|
23
|
+
g as Icon
|
|
24
|
+
};
|
package/dist/bundle.es35.js
CHANGED
|
@@ -1,43 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
(u) => s && u < s ? s.toFixed(c) : C(u, c),
|
|
6
|
-
[s, c]
|
|
7
|
-
), [e, l] = d({
|
|
8
|
-
value: i(n),
|
|
9
|
-
cursor: 0
|
|
10
|
-
}), o = (u, t = 0) => {
|
|
11
|
-
const f = i(u);
|
|
12
|
-
l({ value: f, cursor: (r.current?.selectionStart || 0) + t }), m(+f);
|
|
13
|
-
};
|
|
14
|
-
return +e.value !== n && l({ value: i(n), cursor: 0 }), h(() => {
|
|
15
|
-
r.current && (r.current.setSelectionRange(e.cursor, e.cursor), r.current.focus());
|
|
16
|
-
}, [e]), {
|
|
17
|
-
inputRef: r,
|
|
18
|
-
value: e.value,
|
|
19
|
-
increment: () => {
|
|
20
|
-
o(g(n + a, c));
|
|
21
|
-
},
|
|
22
|
-
decrement: () => {
|
|
23
|
-
o(g(n - a, c));
|
|
24
|
-
},
|
|
25
|
-
handleChange: (u) => {
|
|
26
|
-
const t = u.currentTarget.value.trim();
|
|
27
|
-
if (t) {
|
|
28
|
-
if (isNaN(+t) || t.includes("e")) {
|
|
29
|
-
o(+e.value, -1);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
if (e.value.includes(".") && e.value.replace(".", "") === t && r.current && r.current.selectionStart) {
|
|
33
|
-
o(+e.value);
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
o(+t);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
};
|
|
1
|
+
import { useEffect as r } from "react";
|
|
2
|
+
const n = ({ callback: e }) => (r(() => () => {
|
|
3
|
+
e?.();
|
|
4
|
+
}, []), null);
|
|
41
5
|
export {
|
|
42
|
-
|
|
6
|
+
n as RemoveListener
|
|
43
7
|
};
|