@companix/uikit 0.0.84 → 0.0.85

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 (43) hide show
  1. package/dist/TextArea/index.d.ts +1 -1
  2. package/dist/bundle.es.js +43 -39
  3. package/dist/bundle.es12.js +4 -4
  4. package/dist/bundle.es13.js +3 -3
  5. package/dist/bundle.es14.js +2 -2
  6. package/dist/bundle.es16.js +1 -1
  7. package/dist/bundle.es2.js +1 -1
  8. package/dist/bundle.es21.js +1 -1
  9. package/dist/bundle.es22.js +1 -1
  10. package/dist/bundle.es23.js +1 -1
  11. package/dist/bundle.es24.js +1 -1
  12. package/dist/bundle.es25.js +1 -1
  13. package/dist/bundle.es27.js +23 -21
  14. package/dist/bundle.es28.js +1 -1
  15. package/dist/bundle.es29.js +1 -1
  16. package/dist/bundle.es32.js +1 -1
  17. package/dist/bundle.es37.js +1 -1
  18. package/dist/bundle.es42.js +12 -25
  19. package/dist/bundle.es43.js +13 -38
  20. package/dist/bundle.es44.js +24 -48
  21. package/dist/bundle.es45.js +36 -45
  22. package/dist/bundle.es46.js +50 -8
  23. package/dist/bundle.es47.js +47 -26
  24. package/dist/bundle.es48.js +9 -5
  25. package/dist/bundle.es49.js +26 -24
  26. package/dist/bundle.es50.js +5 -23
  27. package/dist/bundle.es51.js +24 -23
  28. package/dist/bundle.es52.js +22 -87
  29. package/dist/bundle.es53.js +23 -17
  30. package/dist/bundle.es54.js +87 -92
  31. package/dist/bundle.es55.js +17 -73
  32. package/dist/bundle.es56.js +92 -23
  33. package/dist/bundle.es57.js +73 -38
  34. package/dist/bundle.es58.js +24 -14
  35. package/dist/bundle.es59.js +39 -14
  36. package/dist/bundle.es60.js +1 -1
  37. package/dist/bundle.es63.js +1 -1
  38. package/dist/bundle.es66.js +1 -1
  39. package/dist/bundle.es67.js +1 -1
  40. package/dist/bundle.es68.js +1 -1
  41. package/dist/bundle.es9.js +1 -1
  42. package/dist/index.d.ts +3 -0
  43. package/package.json +1 -1
@@ -1,76 +1,20 @@
1
- import { clamp as m } from "@companix/utils-browser";
2
- import { formatTime as i } from "@companix/utils-js";
3
- const d = (n, r) => new Date(r, n, 0).getDate(), u = (n, r) => new Date(r, n - 1, 1).getDay(), g = (n) => n === 0 ? 6 : n - 1, D = (n) => new Array(n).fill(0), T = {
4
- add: (n, r) => n.includes(r) ? [...n] : [...n, r],
5
- remove: (n, r) => n.filter((t) => r !== t)
6
- }, p = (n) => ({
7
- day: n.getDate(),
8
- month: n.getMonth() + 1,
9
- year: n.getFullYear()
10
- }), A = ({ min: n, max: r }) => (t) => {
11
- if (n.year === t.year) {
12
- if (t.month !== 0 && t.month < n.month)
13
- return t.month = 0, t.day = 0, t;
14
- if (t.month === n.month && t.day < n.day && t.day !== 0)
15
- return t.day = 0, t;
16
- }
17
- if (r.year === t.year) {
18
- if (t.month !== 0 && t.month > r.month)
19
- return t.month = 0, t.day = 0, t;
20
- if (t.month === r.month && t.day > r.day && t.day !== 0)
21
- return t.day = 0, t;
22
- }
23
- }, M = ["Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], w = [
24
- "Январь",
25
- "Февраль",
26
- "Март",
27
- "Апрель",
28
- "Май",
29
- "Июнь",
30
- "Июль",
31
- "Август",
32
- "Сентябрь",
33
- "Октябрь",
34
- "Ноябрь",
35
- "Декабрь"
36
- ], c = 9999, a = 100, F = (n, r) => {
37
- const t = [], o = m(n - r, a, c), e = m(n + r, a, c);
38
- for (let s = o; s <= e; s++)
39
- t.push({ title: String(s).padStart(4, "0"), value: s });
40
- return t;
41
- }, Y = (n) => {
42
- const r = [], t = new Intl.DateTimeFormat(n, {
43
- month: "long"
44
- });
45
- for (let o = 0; o < 12; o++)
46
- r.push({
47
- title: t.format(new Date(2023, o, 15)),
48
- value: o
49
- });
50
- return r;
51
- }, E = (n, r) => r.reduce((t, o) => t.replaceAll(o, ""), n.trim()), _ = ({ hours: n, minutes: r }, t = ":") => [i(n), i(r)].join(t), h = (n, r = ":") => {
52
- const [t, o] = [i(n.hours), i(n.minutes)], e = [t, o].join(r);
53
- return { title: e, value: e, hours: t, minutes: o };
54
- }, I = (n, r = ":") => {
55
- const t = { minutes: -n, hours: 0 };
56
- return Array.from({ length: 1440 / n }).map(() => (t.minutes += n, t.minutes === 60 && (t.minutes = 0, t.hours++), h(t, r)));
1
+ import { useRef as u, useCallback as T } from "react";
2
+ const g = () => {
3
+ const l = u(null), t = u(null);
4
+ return { scrollToElement: T(
5
+ (r, f) => {
6
+ const o = l.current, s = t.current;
7
+ if (!o || !s || r < 0 || r > s.children.length)
8
+ return;
9
+ const c = s.children[r];
10
+ if (!c)
11
+ return;
12
+ const n = o.offsetHeight, i = o.scrollTop, e = c.offsetTop, p = c.offsetHeight;
13
+ f === "center" ? o.scrollTop = e - n / 2 + p / 2 : f === "top" ? o.scrollTop = e : e + p > n + i ? o.scrollTop = e - n + p : e < i && (o.scrollTop = e);
14
+ },
15
+ [t, l]
16
+ ), scrollBoxRef: l, optionsWrapperRef: t };
57
17
  };
58
18
  export {
59
- c as DEFAULT_MAX_YEAR,
60
- a as DEFAULT_MIN_YEAR,
61
- w as DefaultMonths,
62
- T as arrays,
63
- _ as convertTimeToOption,
64
- A as createDateValidation,
65
- D as createVoids,
66
- p as dateToFormat,
67
- g as getDayIndex,
68
- u as getFirstDay,
69
- d as getMonthMaxDay,
70
- Y as getMonths,
71
- h as getTimeValue,
72
- I as getTimesOptions,
73
- F as getYears,
74
- E as removeDigits,
75
- M as weeks
19
+ g as useScrollListController
76
20
  };
@@ -1,26 +1,95 @@
1
- import { jsx as u } from "react/jsx-runtime";
2
- import { forwardRef as m, useCallback as i } from "react";
3
- import c from "react-input-mask";
4
- const I = m(
5
- ({ mask: r, maskChar: f = "_", onChange: n, onValueChange: o, ...a }, e) => {
6
- const p = i(
7
- (t) => {
8
- n?.(t), o?.(t.target.value, t.target);
9
- },
10
- [n, o]
11
- );
12
- return r ? /* @__PURE__ */ u(
13
- c,
14
- {
15
- inputRef: e,
16
- mask: r,
17
- maskChar: f,
18
- onChange: p,
19
- ...a
1
+ import { jsx as i, jsxs as y } from "react/jsx-runtime";
2
+ import { useMemo as k, useEffect as C } from "react";
3
+ import { Spinner as P } from "./bundle.es6.js";
4
+ import { OptionItem as L } from "./bundle.es15.js";
5
+ import { OptionsList as T } from "./bundle.es17.js";
6
+ import { Icon as R } from "./bundle.es33.js";
7
+ import { faPlus as S } from "@companix/icons-solid";
8
+ const b = () => ({ isLoading: !1, options: [] }), I = (n) => {
9
+ const { onOptionsLoaded: e, useOptions: s = b, options: o } = n, t = s();
10
+ return C(() => {
11
+ t.options.length > 0 && e?.(t.options);
12
+ }, [t.options]), o ? { options: o, isLoading: !1 } : t;
13
+ }, H = (n) => {
14
+ const {
15
+ isActive: e,
16
+ emptyText: s,
17
+ isLoading: o,
18
+ scrollboxRef: t,
19
+ optionsWrapperRef: d,
20
+ addOption: p,
21
+ onOpened: f,
22
+ onSelect: O,
23
+ minimalOptions: u,
24
+ filterOptions: r,
25
+ disableFiltering: l,
26
+ close: c,
27
+ ...a
28
+ } = n, { emptyText: x, options: m, isLoading: g } = I(a), v = k(() => r && !l ? m.filter(r) : m, [m, r, l]);
29
+ return g ?? o ? /* @__PURE__ */ i("div", { className: "select-popover-loading", children: /* @__PURE__ */ i(P, { size: 24 }) }) : /* @__PURE__ */ i(
30
+ N,
31
+ {
32
+ options: v,
33
+ isActive: e,
34
+ emptyText: x ?? s,
35
+ scrollboxRef: t,
36
+ optionsWrapperRef: d,
37
+ minimalOptions: u,
38
+ addOption: p,
39
+ onOpened: f,
40
+ onSelect: O,
41
+ close: c
42
+ }
43
+ );
44
+ }, N = (n) => {
45
+ const {
46
+ isActive: e,
47
+ onOpened: s,
48
+ addOption: o,
49
+ scrollboxRef: t,
50
+ optionsWrapperRef: d,
51
+ options: p,
52
+ onSelect: f,
53
+ minimalOptions: O,
54
+ emptyText: u = "Ничего не найдено",
55
+ close: r
56
+ } = n;
57
+ C(() => {
58
+ s?.(p.findIndex(({ value: c }) => e(c)));
59
+ }, []);
60
+ const l = o ? /* @__PURE__ */ i(
61
+ L,
62
+ {
63
+ className: "select-add-option",
64
+ icon: /* @__PURE__ */ i(R, { icon: S }),
65
+ title: o.text,
66
+ onClick: o.onClick,
67
+ onClickCapture: () => {
68
+ o.closeOnClick && r();
20
69
  }
21
- ) : /* @__PURE__ */ u("input", { ref: e, ...a, onChange: p });
22
- }
23
- );
70
+ }
71
+ ) : void 0;
72
+ return /* @__PURE__ */ y(T, { scrollboxRef: t, optionsWrapperRef: d, maxHeight: 300, children: [
73
+ (o?.position === void 0 || o?.position === "first") && l,
74
+ p.length === 0 && !o && /* @__PURE__ */ i("div", { className: "select-tags-empty", children: u }),
75
+ p.map(({ title: c, value: a, className: x, icon: m, disabled: g, label: v }, h) => /* @__PURE__ */ i(
76
+ L,
77
+ {
78
+ active: e(a),
79
+ onClick: () => f?.(a),
80
+ minimal: O,
81
+ disabled: g,
82
+ className: x,
83
+ title: c,
84
+ label: v,
85
+ icon: m
86
+ },
87
+ `select-option-${h}`
88
+ )),
89
+ o?.position === "last" && l
90
+ ] });
91
+ };
24
92
  export {
25
- I as InputElement
93
+ H as OptionsPopover,
94
+ N as SelectOptionsList
26
95
  };
@@ -1,41 +1,76 @@
1
- import { jsxs as b, jsx as o } from "react/jsx-runtime";
2
- import h from "classnames";
3
- import { attr as e } from "@companix/utils-browser";
4
- import { forwardRef as x } from "react";
5
- import { useInputPadding as N } from "./bundle.es69.js";
6
- const v = x(
7
- ({
8
- required: s,
9
- disabled: t,
10
- size: i,
11
- fill: d,
12
- leftElement: r,
13
- rightElement: a,
14
- className: f,
15
- inputRef: m,
16
- children: n,
17
- ...p
18
- }, c) => {
19
- const { leftRef: l, rightRef: u } = N(m, [r, a]);
20
- return /* @__PURE__ */ b(
21
- "div",
22
- {
23
- ref: c,
24
- className: h("form", f),
25
- "data-size": i ?? "md",
26
- "data-fill": e(d),
27
- "data-required": e(s),
28
- "data-disabled": e(t),
29
- ...p,
30
- children: [
31
- r && /* @__PURE__ */ o("span", { ref: l, className: "form-input-base-left-element", children: r }),
32
- n,
33
- a && /* @__PURE__ */ o("span", { ref: u, className: "form-input-base-right-element", children: a })
34
- ]
35
- }
36
- );
1
+ import { clamp as m } from "@companix/utils-browser";
2
+ import { formatTime as i } from "@companix/utils-js";
3
+ const d = (n, r) => new Date(r, n, 0).getDate(), u = (n, r) => new Date(r, n - 1, 1).getDay(), g = (n) => n === 0 ? 6 : n - 1, D = (n) => new Array(n).fill(0), T = {
4
+ add: (n, r) => n.includes(r) ? [...n] : [...n, r],
5
+ remove: (n, r) => n.filter((t) => r !== t)
6
+ }, p = (n) => ({
7
+ day: n.getDate(),
8
+ month: n.getMonth() + 1,
9
+ year: n.getFullYear()
10
+ }), A = ({ min: n, max: r }) => (t) => {
11
+ if (n.year === t.year) {
12
+ if (t.month !== 0 && t.month < n.month)
13
+ return t.month = 0, t.day = 0, t;
14
+ if (t.month === n.month && t.day < n.day && t.day !== 0)
15
+ return t.day = 0, t;
37
16
  }
38
- );
17
+ if (r.year === t.year) {
18
+ if (t.month !== 0 && t.month > r.month)
19
+ return t.month = 0, t.day = 0, t;
20
+ if (t.month === r.month && t.day > r.day && t.day !== 0)
21
+ return t.day = 0, t;
22
+ }
23
+ }, M = ["Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], w = [
24
+ "Январь",
25
+ "Февраль",
26
+ "Март",
27
+ "Апрель",
28
+ "Май",
29
+ "Июнь",
30
+ "Июль",
31
+ "Август",
32
+ "Сентябрь",
33
+ "Октябрь",
34
+ "Ноябрь",
35
+ "Декабрь"
36
+ ], c = 9999, a = 100, F = (n, r) => {
37
+ const t = [], o = m(n - r, a, c), e = m(n + r, a, c);
38
+ for (let s = o; s <= e; s++)
39
+ t.push({ title: String(s).padStart(4, "0"), value: s });
40
+ return t;
41
+ }, Y = (n) => {
42
+ const r = [], t = new Intl.DateTimeFormat(n, {
43
+ month: "long"
44
+ });
45
+ for (let o = 0; o < 12; o++)
46
+ r.push({
47
+ title: t.format(new Date(2023, o, 15)),
48
+ value: o
49
+ });
50
+ return r;
51
+ }, E = (n, r) => r.reduce((t, o) => t.replaceAll(o, ""), n.trim()), _ = ({ hours: n, minutes: r }, t = ":") => [i(n), i(r)].join(t), h = (n, r = ":") => {
52
+ const [t, o] = [i(n.hours), i(n.minutes)], e = [t, o].join(r);
53
+ return { title: e, value: e, hours: t, minutes: o };
54
+ }, I = (n, r = ":") => {
55
+ const t = { minutes: -n, hours: 0 };
56
+ return Array.from({ length: 1440 / n }).map(() => (t.minutes += n, t.minutes === 60 && (t.minutes = 0, t.hours++), h(t, r)));
57
+ };
39
58
  export {
40
- v as InputContainer
59
+ c as DEFAULT_MAX_YEAR,
60
+ a as DEFAULT_MIN_YEAR,
61
+ w as DefaultMonths,
62
+ T as arrays,
63
+ _ as convertTimeToOption,
64
+ A as createDateValidation,
65
+ D as createVoids,
66
+ p as dateToFormat,
67
+ g as getDayIndex,
68
+ u as getFirstDay,
69
+ d as getMonthMaxDay,
70
+ Y as getMonths,
71
+ h as getTimeValue,
72
+ I as getTimesOptions,
73
+ F as getYears,
74
+ E as removeDigits,
75
+ M as weeks
41
76
  };
@@ -1,16 +1,26 @@
1
- import { useState as e } from "react";
2
- const d = ({ onClick: t }) => {
3
- const [a, s] = e({ isLoading: !1, isError: !1 });
4
- return { ...a, handleClick: (r) => {
5
- a.isLoading || t(() => {
6
- s({ isLoading: !0, isError: !1 });
7
- }, r).then(() => {
8
- s({ isLoading: !1, isError: !1 });
9
- }).catch(() => {
10
- s({ isLoading: !1, isError: !0 });
11
- });
12
- } };
13
- };
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import { forwardRef as m, useCallback as i } from "react";
3
+ import c from "react-input-mask";
4
+ const I = m(
5
+ ({ mask: r, maskChar: f = "_", onChange: n, onValueChange: o, ...a }, e) => {
6
+ const p = i(
7
+ (t) => {
8
+ n?.(t), o?.(t.target.value, t.target);
9
+ },
10
+ [n, o]
11
+ );
12
+ return r ? /* @__PURE__ */ u(
13
+ c,
14
+ {
15
+ inputRef: e,
16
+ mask: r,
17
+ maskChar: f,
18
+ onChange: p,
19
+ ...a
20
+ }
21
+ ) : /* @__PURE__ */ u("input", { ref: e, ...a, onChange: p });
22
+ }
23
+ );
14
24
  export {
15
- d as useLoading
25
+ I as InputElement
16
26
  };
@@ -1,16 +1,41 @@
1
- import { useRef as i, useCallback as o } from "react";
2
- const f = (e, s) => {
3
- const r = i(null), c = i(void 0), n = o(
4
- (t) => {
5
- s && t.offsetParent && (t.style.height = "", t.style.height = `${t.scrollHeight}px`, t.scrollHeight !== c.current && e && (e(t), c.current = t.scrollHeight));
6
- },
7
- [s, e]
8
- ), l = o(() => {
9
- const t = r.current;
10
- t && n(t);
11
- }, [r, n]);
12
- return [r, l];
13
- };
1
+ import { jsxs as b, jsx as o } from "react/jsx-runtime";
2
+ import h from "classnames";
3
+ import { attr as e } from "@companix/utils-browser";
4
+ import { forwardRef as x } from "react";
5
+ import { useInputPadding as N } from "./bundle.es69.js";
6
+ const v = x(
7
+ ({
8
+ required: s,
9
+ disabled: t,
10
+ size: i,
11
+ fill: d,
12
+ leftElement: r,
13
+ rightElement: a,
14
+ className: f,
15
+ inputRef: m,
16
+ children: n,
17
+ ...p
18
+ }, c) => {
19
+ const { leftRef: l, rightRef: u } = N(m, [r, a]);
20
+ return /* @__PURE__ */ b(
21
+ "div",
22
+ {
23
+ ref: c,
24
+ className: h("form", f),
25
+ "data-size": i ?? "md",
26
+ "data-fill": e(d),
27
+ "data-required": e(s),
28
+ "data-disabled": e(t),
29
+ ...p,
30
+ children: [
31
+ r && /* @__PURE__ */ o("span", { ref: l, className: "form-input-base-left-element", children: r }),
32
+ n,
33
+ a && /* @__PURE__ */ o("span", { ref: u, className: "form-input-base-right-element", children: a })
34
+ ]
35
+ }
36
+ );
37
+ }
38
+ );
14
39
  export {
15
- f as useResizeTextarea
40
+ v as InputContainer
16
41
  };
@@ -1,5 +1,5 @@
1
1
  import { jsxs as D, jsx as t } from "react/jsx-runtime";
2
- import { dateToFormat as $, weeks as g, createVoids as p, getDayIndex as b, getFirstDay as u, getMonthMaxDay as k } from "./bundle.es55.js";
2
+ import { dateToFormat as $, weeks as g, createVoids as p, getDayIndex as b, getFirstDay as u, getMonthMaxDay as k } from "./bundle.es57.js";
3
3
  import { CalendarHeader as F } from "./bundle.es67.js";
4
4
  import { useCalendar as j } from "./bundle.es68.js";
5
5
  import { attr as m } from "@companix/utils-browser";
@@ -1,4 +1,4 @@
1
- import { DefaultMonths as f, getMonthMaxDay as i } from "./bundle.es55.js";
1
+ import { DefaultMonths as f, getMonthMaxDay as i } from "./bundle.es57.js";
2
2
  import { useMemo as s } from "react";
3
3
  import { range as l } from "@companix/utils-js";
4
4
  const p = { day: 31, month: 12, year: 2050 }, u = { day: 1, month: 1, year: 1900 }, I = ({ min: t = u, max: e = p, now: r }) => {
@@ -2,7 +2,7 @@ import { jsxs as y, jsx as I } from "react/jsx-runtime";
2
2
  import { forwardRef as $, useState as b, useMemo as C, useImperativeHandle as w, useCallback as P, createElement as j } from "react";
3
3
  import * as c from "@radix-ui/react-toast";
4
4
  import { customCSS as k } from "@companix/utils-browser";
5
- import { Toast as E } from "./bundle.es44.js";
5
+ import { Toast as E } from "./bundle.es46.js";
6
6
  var u = /* @__PURE__ */ ((r) => (r["top-center"] = "up", r["top-left"] = "left", r["top-right"] = "right", r["bottom-center"] = "down", r["bottom-left"] = "left", r["bottom-right"] = "right", r))(u || {});
7
7
  const M = $((r, h) => {
8
8
  const { side: l = "top", align: f = "center", gap: d = 14, duration: g, swipeThreshold: x, closeIcon: T } = r, [i, p] = b([]), a = C(() => ({}), []);
@@ -1,7 +1,7 @@
1
1
  import { jsxs as d, jsx as o } from "react/jsx-runtime";
2
2
  import { useCallback as u, useMemo as h } from "react";
3
3
  import { Select as p } from "./bundle.es12.js";
4
- import { getMonths as k, getYears as z, DEFAULT_MAX_YEAR as f, DEFAULT_MIN_YEAR as g } from "./bundle.es55.js";
4
+ import { getMonths as k, getYears as z, DEFAULT_MAX_YEAR as f, DEFAULT_MIN_YEAR as g } from "./bundle.es57.js";
5
5
  import { Icon as C } from "./bundle.es33.js";
6
6
  import { faChevronLeft as E, faChevronRight as T } from "@companix/icons-solid";
7
7
  import { setMonth as _, setYear as F } from "./bundle.es61.js";
@@ -1,5 +1,5 @@
1
1
  import { subMonths as L, addMonths as N, useDayDisableCheker as R } from "./bundle.es61.js";
2
- import { DEFAULT_MIN_YEAR as w, DEFAULT_MAX_YEAR as A } from "./bundle.es55.js";
2
+ import { DEFAULT_MIN_YEAR as w, DEFAULT_MAX_YEAR as A } from "./bundle.es57.js";
3
3
  import { useState as U, useCallback as M } from "react";
4
4
  const X = ({
5
5
  value: p,
@@ -1,5 +1,5 @@
1
1
  import { jsx as r, jsxs as m } from "react/jsx-runtime";
2
- import { makeTabId as c, useTabSlider as i } from "./bundle.es50.js";
2
+ import { makeTabId as c, useTabSlider as i } from "./bundle.es52.js";
3
3
  import { attr as o } from "@companix/utils-browser";
4
4
  import { useRef as u, useId as f } from "react";
5
5
  const h = ({ value: s, onChange: t, options: a }) => {
package/dist/index.d.ts CHANGED
@@ -73,6 +73,9 @@ export { ThemeProvider, useTheme } from './ThemeProvider';
73
73
  export { ColorSchemeScript, colorSchemeScript } from './ThemeProvider/script';
74
74
  export { useLocalStorage } from './__hooks/use-local-storage';
75
75
  export { useBooleanState } from './__hooks/use-boolean-state';
76
+ export { useResizeTextarea } from './__hooks/use-resize';
77
+ export { useLoading } from './__hooks/use-loading';
78
+ export type { UseLoadingProps } from './__hooks/use-loading';
76
79
  export { createAlertAgent } from './DialogAlert';
77
80
  export { createToaster } from './Toaster';
78
81
  export { Toast } from './Toaster/Toast';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@companix/uikit",
3
- "version": "0.0.84",
3
+ "version": "0.0.85",
4
4
  "main": "./dist/bundle.es.js",
5
5
  "module": "./dist/bundle.es.js",
6
6
  "types": "./dist/index.d.ts",