@companix/uikit 0.0.75 → 0.0.76

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.
@@ -1,3 +1,13 @@
1
+ .scrollable {
2
+ &[data-scroll-x] {
3
+ overflow-x: scroll;
4
+ }
5
+
6
+ &[data-scroll-y] {
7
+ overflow-y: scroll;
8
+ }
9
+ }
10
+
1
11
  .scrollable::-webkit-scrollbar {
2
12
  width: var(--scrollbar-width);
3
13
  height: var(--scrollbar-width);
@@ -33,6 +43,11 @@
33
43
  border-top-width: calc(var(--thumb-padding) * 2);
34
44
  }
35
45
 
46
+ .hidden-scroll {
47
+ overflow-y: scroll;
48
+ height: 100%;
49
+ }
50
+
36
51
  .hidden-scroll::-webkit-scrollbar {
37
52
  display: none;
38
53
  }
@@ -2,7 +2,7 @@ import { jsxs as b, jsx as o } from "react/jsx-runtime";
2
2
  import h from "classnames";
3
3
  import { attr as e } from "@companix/utils-browser";
4
4
  import { forwardRef as x } from "react";
5
- import { useInputPadding as N } from "./bundle.es64.js";
5
+ import { useInputPadding as N } from "./bundle.es66.js";
6
6
  const v = x(
7
7
  ({
8
8
  required: s,
@@ -1,7 +1,7 @@
1
1
  import { jsxs as D, jsx as t } from "react/jsx-runtime";
2
2
  import { dateToFormat as $, weeks as g, createVoids as p, getDayIndex as b, getFirstDay as u, getMonthMaxDay as k } from "./bundle.es51.js";
3
- import { CalendarHeader as F } from "./bundle.es65.js";
4
- import { useCalendar as j } from "./bundle.es66.js";
3
+ import { CalendarHeader as F } from "./bundle.es64.js";
4
+ import { useCalendar as j } from "./bundle.es65.js";
5
5
  import { attr as m } from "@companix/utils-browser";
6
6
  import { isSameDate as f } from "./bundle.es58.js";
7
7
  import { useLayoutEffect as I } from "react";
@@ -1,16 +1,77 @@
1
- import { useRef as l, useCallback as p } from "react";
2
- import { useEffectWithLayout as d } from "./bundle.es67.js";
3
- const g = (r, f) => {
4
- const c = l(null), i = l(null), o = { Right: c, Left: i }, u = p((t) => {
5
- if (r.current) {
6
- const n = r.current.style, e = o[t];
7
- e.current && e.current.clientWidth ? n[`padding${t}`] !== `${e.current.clientWidth}px` && (n[`padding${t}`] = `${e.current.clientWidth}px`) : n[`padding${t}`] && (n[`padding${t}`] = "");
8
- }
9
- }, []);
10
- return d(() => {
11
- u("Left"), u("Right");
12
- }, f), { rightRef: c, leftRef: i };
1
+ import { jsxs as d, jsx as o } from "react/jsx-runtime";
2
+ import { useCallback as u, useMemo as h } from "react";
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.es51.js";
5
+ import { Icon as C } from "./bundle.es33.js";
6
+ import { faChevronLeft as E, faChevronRight as T } from "@companix/icons-solid";
7
+ import { setMonth as _, setYear as F } from "./bundle.es58.js";
8
+ const y = ({
9
+ viewDate: n,
10
+ onChange: c,
11
+ isMonthDisabled: a,
12
+ isYearDisabled: m,
13
+ onNextMonth: N,
14
+ onPrevMonth: v
15
+ }) => {
16
+ const e = n.getFullYear(), r = n.getMonth(), s = "ru", M = u(
17
+ (t) => {
18
+ c(_(n, t));
19
+ },
20
+ [c, n]
21
+ ), x = u(
22
+ (t) => {
23
+ c(F(n, t));
24
+ },
25
+ [c, n]
26
+ ), A = h(() => k(s).map((t) => ({
27
+ ...t,
28
+ className: "capitalize",
29
+ disabled: a && a(t.value)
30
+ })), [s, a]), Y = h(() => z(e, 100).map((t) => ({
31
+ ...t,
32
+ disabled: m && m(t.value)
33
+ })), [e, m]);
34
+ let l = r === 11 && e === f;
35
+ a && !l && (l = a(
36
+ r === 11 ? 0 : r + 1,
37
+ r === 11 ? Math.min(e + 1, f) : e
38
+ ));
39
+ let i = r === 0 && e === g;
40
+ return a && !i && (i = a(
41
+ r === 0 ? 11 : r - 1,
42
+ r === 0 ? Math.max(e - 1, g) : e
43
+ )), /* @__PURE__ */ d("div", { className: "calendar-header", children: [
44
+ !i && /* @__PURE__ */ o("button", { className: "calendar-navigation", "data-side": "left", onClick: v, children: /* @__PURE__ */ o(C, { icon: E }) }),
45
+ /* @__PURE__ */ d("div", { className: "calendar-pickers", children: [
46
+ /* @__PURE__ */ o(
47
+ p,
48
+ {
49
+ fill: !0,
50
+ options: Y,
51
+ size: "sm",
52
+ value: e,
53
+ minimalOptions: !0,
54
+ matchTarget: "min-width",
55
+ onChange: (t) => x(t)
56
+ }
57
+ ),
58
+ /* @__PURE__ */ o(
59
+ p,
60
+ {
61
+ fill: !0,
62
+ options: A,
63
+ size: "sm",
64
+ className: "capitalize",
65
+ value: r,
66
+ minimalOptions: !0,
67
+ matchTarget: "min-width",
68
+ onChange: (t) => M(t)
69
+ }
70
+ )
71
+ ] }),
72
+ !l && /* @__PURE__ */ o("button", { className: "calendar-navigation", "data-side": "right", onClick: N, children: /* @__PURE__ */ o(C, { icon: T }) })
73
+ ] });
13
74
  };
14
75
  export {
15
- g as useInputPadding
76
+ y as CalendarHeader
16
77
  };
@@ -1,77 +1,51 @@
1
- import { jsxs as d, jsx as o } from "react/jsx-runtime";
2
- import { useCallback as u, useMemo as h } from "react";
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.es51.js";
5
- import { Icon as C } from "./bundle.es33.js";
6
- import { faChevronLeft as E, faChevronRight as T } from "@companix/icons-solid";
7
- import { setMonth as _, setYear as F } from "./bundle.es58.js";
8
- const y = ({
9
- viewDate: n,
10
- onChange: c,
11
- isMonthDisabled: a,
12
- isYearDisabled: m,
13
- onNextMonth: N,
14
- onPrevMonth: v
1
+ import { subMonths as L, addMonths as N, useDayDisableCheker as R } from "./bundle.es58.js";
2
+ import { DEFAULT_MIN_YEAR as w, DEFAULT_MAX_YEAR as A } from "./bundle.es51.js";
3
+ import { useState as U, useCallback as M } from "react";
4
+ const X = ({
5
+ value: p,
6
+ disablePast: r,
7
+ disableFuture: c,
8
+ shouldDisableDate: E,
9
+ minDateTime: l,
10
+ maxDateTime: s
15
11
  }) => {
16
- const e = n.getFullYear(), r = n.getMonth(), s = "ru", M = u(
17
- (t) => {
18
- c(_(n, t));
12
+ const [e, u] = U(p || /* @__PURE__ */ new Date()), _ = M(() => {
13
+ u(L(e));
14
+ }, [e]), C = M(() => {
15
+ u(N(e, 1));
16
+ }, [e]), D = R({
17
+ disableFuture: c,
18
+ disablePast: r,
19
+ shouldDisableDate: E,
20
+ minDateTime: l,
21
+ maxDateTime: s
22
+ }), k = M(
23
+ (o, t) => {
24
+ const n = /* @__PURE__ */ new Date();
25
+ t = t || e.getFullYear();
26
+ const h = l ? l.getMonth() : 0, Y = s ? s.getMonth() : 11, F = l?.getFullYear() || w, f = s?.getFullYear() || A;
27
+ let g = t >= F && t <= f ? t === F && h > o || t === f && o > Y : !0;
28
+ return c && (g = g || (t === n.getFullYear() ? o > n.getMonth() : t > n.getFullYear())), r && (g = g || (t === n.getFullYear() ? o < n.getMonth() : t < n.getFullYear())), g;
19
29
  },
20
- [c, n]
21
- ), x = u(
22
- (t) => {
23
- c(F(n, t));
30
+ [c, r, e, l, s]
31
+ ), v = M(
32
+ (o) => {
33
+ const t = /* @__PURE__ */ new Date(), n = l?.getFullYear() || w, h = s?.getFullYear() || A;
34
+ let Y = n > o || o > h;
35
+ return c && (Y = Y || o > t.getFullYear()), r && (Y = Y || o < t.getFullYear()), Y;
24
36
  },
25
- [c, n]
26
- ), A = h(() => k(s).map((t) => ({
27
- ...t,
28
- className: "capitalize",
29
- disabled: a && a(t.value)
30
- })), [s, a]), Y = h(() => z(e, 100).map((t) => ({
31
- ...t,
32
- disabled: m && m(t.value)
33
- })), [e, m]);
34
- let l = r === 11 && e === f;
35
- a && !l && (l = a(
36
- r === 11 ? 0 : r + 1,
37
- r === 11 ? Math.min(e + 1, f) : e
38
- ));
39
- let i = r === 0 && e === g;
40
- return a && !i && (i = a(
41
- r === 0 ? 11 : r - 1,
42
- r === 0 ? Math.max(e - 1, g) : e
43
- )), /* @__PURE__ */ d("div", { className: "calendar-header", children: [
44
- !i && /* @__PURE__ */ o("button", { className: "calendar-navigation", "data-side": "left", onClick: v, children: /* @__PURE__ */ o(C, { icon: E }) }),
45
- /* @__PURE__ */ d("div", { className: "calendar-pickers", children: [
46
- /* @__PURE__ */ o(
47
- p,
48
- {
49
- fill: !0,
50
- options: Y,
51
- size: "sm",
52
- value: e,
53
- minimalOptions: !0,
54
- matchTarget: "min-width",
55
- onChange: (t) => x(t)
56
- }
57
- ),
58
- /* @__PURE__ */ o(
59
- p,
60
- {
61
- fill: !0,
62
- options: A,
63
- size: "sm",
64
- className: "capitalize",
65
- value: r,
66
- minimalOptions: !0,
67
- matchTarget: "min-width",
68
- onChange: (t) => M(t)
69
- }
70
- )
71
- ] }),
72
- !l && /* @__PURE__ */ o("button", { className: "calendar-navigation", "data-side": "right", onClick: N, children: /* @__PURE__ */ o(C, { icon: T }) })
73
- ] });
37
+ [c, r, l, s]
38
+ );
39
+ return {
40
+ viewDate: e,
41
+ setViewDate: u,
42
+ setPrevMonth: _,
43
+ setNextMonth: C,
44
+ isDayDisabled: D,
45
+ isMonthDisabled: k,
46
+ isYearDisabled: v
47
+ };
74
48
  };
75
49
  export {
76
- y as CalendarHeader
50
+ X as useCalendar
77
51
  };
@@ -1,51 +1,16 @@
1
- import { subMonths as L, addMonths as N, useDayDisableCheker as R } from "./bundle.es58.js";
2
- import { DEFAULT_MIN_YEAR as w, DEFAULT_MAX_YEAR as A } from "./bundle.es51.js";
3
- import { useState as U, useCallback as M } from "react";
4
- const X = ({
5
- value: p,
6
- disablePast: r,
7
- disableFuture: c,
8
- shouldDisableDate: E,
9
- minDateTime: l,
10
- maxDateTime: s
11
- }) => {
12
- const [e, u] = U(p || /* @__PURE__ */ new Date()), _ = M(() => {
13
- u(L(e));
14
- }, [e]), C = M(() => {
15
- u(N(e, 1));
16
- }, [e]), D = R({
17
- disableFuture: c,
18
- disablePast: r,
19
- shouldDisableDate: E,
20
- minDateTime: l,
21
- maxDateTime: s
22
- }), k = M(
23
- (o, t) => {
24
- const n = /* @__PURE__ */ new Date();
25
- t = t || e.getFullYear();
26
- const h = l ? l.getMonth() : 0, Y = s ? s.getMonth() : 11, F = l?.getFullYear() || w, f = s?.getFullYear() || A;
27
- let g = t >= F && t <= f ? t === F && h > o || t === f && o > Y : !0;
28
- return c && (g = g || (t === n.getFullYear() ? o > n.getMonth() : t > n.getFullYear())), r && (g = g || (t === n.getFullYear() ? o < n.getMonth() : t < n.getFullYear())), g;
29
- },
30
- [c, r, e, l, s]
31
- ), v = M(
32
- (o) => {
33
- const t = /* @__PURE__ */ new Date(), n = l?.getFullYear() || w, h = s?.getFullYear() || A;
34
- let Y = n > o || o > h;
35
- return c && (Y = Y || o > t.getFullYear()), r && (Y = Y || o < t.getFullYear()), Y;
36
- },
37
- [c, r, l, s]
38
- );
39
- return {
40
- viewDate: e,
41
- setViewDate: u,
42
- setPrevMonth: _,
43
- setNextMonth: C,
44
- isDayDisabled: D,
45
- isMonthDisabled: k,
46
- isYearDisabled: v
47
- };
1
+ import { useRef as l, useCallback as p } from "react";
2
+ import { useEffectWithLayout as d } from "./bundle.es67.js";
3
+ const g = (r, f) => {
4
+ const c = l(null), i = l(null), o = { Right: c, Left: i }, u = p((t) => {
5
+ if (r.current) {
6
+ const n = r.current.style, e = o[t];
7
+ e.current && e.current.clientWidth ? n[`padding${t}`] !== `${e.current.clientWidth}px` && (n[`padding${t}`] = `${e.current.clientWidth}px`) : n[`padding${t}`] && (n[`padding${t}`] = "");
8
+ }
9
+ }, []);
10
+ return d(() => {
11
+ u("Left"), u("Right");
12
+ }, f), { rightRef: c, leftRef: i };
48
13
  };
49
14
  export {
50
- X as useCalendar
15
+ g as useInputPadding
51
16
  };
@@ -1,88 +1,88 @@
1
- import { jsx as S } from "react/jsx-runtime";
2
- import I from "classnames";
3
- import { forwardRef as B } from "react";
4
- import { customCSS as r, px as i } from "@companix/utils-browser";
5
- const $ = B((t, c) => {
1
+ import { jsx as I } from "react/jsx-runtime";
2
+ import B from "classnames";
3
+ import { forwardRef as L } from "react";
4
+ import { customCSS as i, px as r, attr as c } from "@companix/utils-browser";
5
+ const C = L((o, m) => {
6
6
  let {
7
- interactionKind: m = "static",
8
- thumbPos: s = "center",
9
- thumbPadding: l = 4,
10
- heightAuto: g,
11
- scrollX: h,
12
- className: u,
7
+ interactionKind: s = "static",
8
+ thumbPos: g = "center",
9
+ thumbPadding: d = 4,
10
+ heightAuto: h,
11
+ scrollX: u,
12
+ className: p,
13
13
  scrollY: n,
14
- preventOnMouse: f,
15
- onWheel: p,
16
- maxHeight: d,
17
- onScroll: b,
18
- thumbColor: w,
19
- children: x
20
- } = t;
21
- const v = (() => {
22
- if (t.implementation === "edge") {
23
- l = 0;
24
- const { padding: o, scrollbarWidth: e } = t;
14
+ preventOnMouse: b,
15
+ onWheel: f,
16
+ maxHeight: l,
17
+ onScroll: w,
18
+ thumbColor: x,
19
+ children: v
20
+ } = o;
21
+ const S = (() => {
22
+ if (o.implementation === "edge") {
23
+ d = 0;
24
+ const { padding: t, scrollbarWidth: e } = o;
25
25
  return {
26
- ...r({ "--scrollbar-width": i(e) }),
27
- padding: `0px ${o - e}px 0px ${o}px`
26
+ ...i({ "--scrollbar-width": r(e) }),
27
+ padding: `0px ${t - e}px 0px ${t}px`
28
28
  };
29
29
  }
30
- if (t.implementation === "outer") {
31
- const { shadowPadding: o = 0, noneCorrect: e, scrollbarWidth: a } = t;
30
+ if (o.implementation === "outer") {
31
+ const { shadowPadding: t = 0, noneCorrect: e, scrollbarWidth: a } = o;
32
32
  return window.IS_MOBILE ? {
33
- padding: o,
34
- margin: -o
33
+ padding: t,
34
+ margin: -t
35
35
  } : {
36
- ...r({ "--scrollbar-width": i(a) }),
37
- padding: o,
38
- margin: -o,
39
- marginRight: e ? void 0 : `calc(-${a}px - ${o}px)`,
36
+ ...i({ "--scrollbar-width": r(a) }),
37
+ padding: t,
38
+ margin: -t,
39
+ marginRight: e ? void 0 : `calc(-${a}px - ${t}px)`,
40
40
  marginBottom: 0
41
41
  };
42
42
  }
43
- if (t.implementation === "inner") {
44
- const { padding: o } = t;
43
+ if (o.implementation === "inner") {
44
+ const { padding: t } = o;
45
45
  return window.IS_MOBILE ? {
46
- [n ? "paddingLeft" : "paddingTop"]: o,
47
- [n ? "paddingRight" : "paddingBottom"]: o
46
+ [n ? "paddingLeft" : "paddingTop"]: t,
47
+ [n ? "paddingRight" : "paddingBottom"]: t
48
48
  } : {
49
- [n ? "paddingLeft" : "paddingTop"]: o,
50
- ...r({ "--scrollbar-width": i(o) })
49
+ [n ? "paddingLeft" : "paddingTop"]: t,
50
+ ...i({ "--scrollbar-width": r(t) })
51
51
  };
52
52
  }
53
53
  return {};
54
54
  })();
55
- return /* @__PURE__ */ S(
55
+ return /* @__PURE__ */ I(
56
56
  "div",
57
57
  {
58
- ref: c,
59
- onWheel: p,
60
- onScroll: b,
61
- onMouseDown: (o) => {
62
- f && o.preventDefault();
58
+ ref: m,
59
+ onWheel: f,
60
+ onScroll: w,
61
+ onMouseDown: (t) => {
62
+ b && t.preventDefault();
63
63
  },
64
64
  style: {
65
- ...v,
66
- ...t.style,
67
- maxHeight: d ? i(d) : void 0,
68
- ...r({ "--thumb-padding": i(l) }),
69
- ...r({ "--thumb-color": w ?? "#c1c2c8bd" })
65
+ ...S,
66
+ ...o.style,
67
+ maxHeight: l ? r(l) : void 0,
68
+ ...i({ "--thumb-padding": r(d) }),
69
+ ...i({ "--thumb-color": x ?? "#c1c2c8bd" })
70
70
  },
71
- className: I(
71
+ "data-scroll-x": c(u),
72
+ "data-scroll-y": c(n),
73
+ className: B(
72
74
  !window.IS_MOBILE && "scrollable",
73
- u,
74
- g ? "" : "h-full",
75
+ p,
76
+ h ? "" : "h-full",
75
77
  {
76
- "overflow-y-scroll": n,
77
- "overflow-x-scroll": h,
78
- "scrollable-hover-interaction": m === "hover",
79
- "scrollable-border-position": s === "border"
78
+ "scrollable-hover-interaction": s === "hover",
79
+ "scrollable-border-position": g === "border"
80
80
  }
81
81
  ),
82
- children: x
82
+ children: v
83
83
  }
84
84
  );
85
85
  });
86
86
  export {
87
- $ as Scrollable
87
+ C as Scrollable
88
88
  };
@@ -59,7 +59,7 @@ const C = ({
59
59
  /* @__PURE__ */ c(
60
60
  "div",
61
61
  {
62
- className: L("hidden-scroll h-full overflow-y-scroll", g),
62
+ className: L("hidden-scroll", g),
63
63
  onScroll: M,
64
64
  ref: t,
65
65
  children: b
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@companix/uikit",
3
- "version": "0.0.75",
3
+ "version": "0.0.76",
4
4
  "main": "./dist/bundle.es.js",
5
5
  "module": "./dist/bundle.es.js",
6
6
  "types": "./dist/index.d.ts",