@companix/uikit 0.0.54 → 0.0.56

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 (55) hide show
  1. package/dist/Skeleton/Skeleton.scss +29 -0
  2. package/dist/Skeleton/index.d.ts +3 -0
  3. package/dist/__hooks/use-boolean-state.d.ts +5 -0
  4. package/dist/bundle.es.js +27 -23
  5. package/dist/bundle.es12.js +5 -5
  6. package/dist/bundle.es13.js +2 -2
  7. package/dist/bundle.es15.js +1 -1
  8. package/dist/bundle.es2.js +1 -1
  9. package/dist/bundle.es21.js +1 -1
  10. package/dist/bundle.es22.js +1 -1
  11. package/dist/bundle.es23.js +1 -1
  12. package/dist/bundle.es24.js +1 -1
  13. package/dist/bundle.es26.js +1 -1
  14. package/dist/bundle.es27.js +3 -3
  15. package/dist/bundle.es28.js +4 -4
  16. package/dist/bundle.es29.js +2 -2
  17. package/dist/bundle.es32.js +2 -2
  18. package/dist/bundle.es35.js +3 -35
  19. package/dist/bundle.es36.js +33 -20
  20. package/dist/bundle.es37.js +21 -10
  21. package/dist/bundle.es38.js +10 -26
  22. package/dist/bundle.es39.js +11 -38
  23. package/dist/bundle.es40.js +24 -48
  24. package/dist/bundle.es41.js +36 -40
  25. package/dist/bundle.es42.js +50 -8
  26. package/dist/bundle.es43.js +42 -24
  27. package/dist/bundle.es44.js +9 -23
  28. package/dist/bundle.es45.js +24 -23
  29. package/dist/bundle.es46.js +22 -86
  30. package/dist/bundle.es47.js +23 -17
  31. package/dist/bundle.es48.js +85 -42
  32. package/dist/bundle.es49.js +18 -4
  33. package/dist/bundle.es50.js +42 -22
  34. package/dist/bundle.es51.js +4 -39
  35. package/dist/bundle.es52.js +24 -5
  36. package/dist/bundle.es53.js +39 -14
  37. package/dist/bundle.es54.js +5 -14
  38. package/dist/bundle.es55.js +13 -69
  39. package/dist/bundle.es56.js +13 -67
  40. package/dist/bundle.es57.js +69 -69
  41. package/dist/bundle.es58.js +67 -10
  42. package/dist/bundle.es59.js +69 -42
  43. package/dist/bundle.es60.js +10 -14
  44. package/dist/bundle.es61.js +43 -32
  45. package/dist/bundle.es62.js +15 -70
  46. package/dist/bundle.es63.js +32 -14
  47. package/dist/bundle.es64.js +70 -75
  48. package/dist/bundle.es65.js +13 -48
  49. package/dist/bundle.es66.js +74 -13
  50. package/dist/bundle.es67.js +51 -0
  51. package/dist/bundle.es68.js +16 -0
  52. package/dist/bundle.es9.js +1 -1
  53. package/dist/index.d.ts +3 -0
  54. package/dist/index.scss +1 -0
  55. package/package.json +1 -1
@@ -1,26 +1,46 @@
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,
1
+ import { jsxs as x, jsx as e } from "react/jsx-runtime";
2
+ import { useEffect as O } from "react";
3
+ import { OptionItem as n } from "./bundle.es14.js";
4
+ import { OptionsList as u } from "./bundle.es16.js";
5
+ import { Icon as v } from "./bundle.es33.js";
6
+ import { faPlus as h } from "@companix/icons-solid";
7
+ const L = (s) => {
8
+ const {
9
+ isActive: m,
10
+ onOpened: c,
11
+ addOption: t,
12
+ scrollboxRef: l,
13
+ optionsWrapperRef: p,
14
+ options: i,
15
+ onSelect: r,
16
+ minimalOptions: a,
17
+ emptyText: f = "Ничего не найдено"
18
+ } = s;
19
+ return O(() => {
20
+ c?.();
21
+ }, []), /* @__PURE__ */ x(u, { scrollboxRef: l, optionsWrapperRef: p, maxHeight: 300, children: [
22
+ t && /* @__PURE__ */ e(
23
+ n,
14
24
  {
15
- inputRef: e,
16
- mask: r,
17
- maskChar: f,
18
- onChange: p,
19
- ...a
25
+ className: "select-add-option",
26
+ icon: /* @__PURE__ */ e(v, { icon: h }),
27
+ title: t.text,
28
+ onClick: t.onClick
20
29
  }
21
- ) : /* @__PURE__ */ u("input", { ref: e, ...a, onChange: p });
22
- }
23
- );
30
+ ),
31
+ i.length === 0 && !t && /* @__PURE__ */ e("div", { className: "select-tags-empty", children: f }),
32
+ i.map((o, d) => /* @__PURE__ */ e(
33
+ n,
34
+ {
35
+ active: m(o.value),
36
+ onClick: () => r?.(o.value),
37
+ minimal: a,
38
+ ...o
39
+ },
40
+ `select-option-${d}`
41
+ ))
42
+ ] });
43
+ };
24
44
  export {
25
- I as InputElement
45
+ L as SelectOptionsList
26
46
  };
@@ -1,41 +1,6 @@
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.es63.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
- );
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { Spinner as r } from "./bundle.es6.js";
3
+ const t = () => /* @__PURE__ */ e("div", { className: "select-popover-loading", children: /* @__PURE__ */ e(r, { size: 24 }) });
39
4
  export {
40
- v as InputContainer
5
+ t as SelectLoader
41
6
  };
@@ -1,7 +1,26 @@
1
- import { useEffect as r } from "react";
2
- const n = ({ callback: e }) => (r(() => () => {
3
- e?.();
4
- }, []), null);
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
+ );
5
24
  export {
6
- n as RemoveListener
25
+ I as InputElement
7
26
  };
@@ -1,16 +1,41 @@
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 { 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.es65.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
- d as useLoading
40
+ v as InputContainer
16
41
  };
@@ -1,16 +1,7 @@
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 { useEffect as r } from "react";
2
+ const n = ({ callback: e }) => (r(() => () => {
3
+ e?.();
4
+ }, []), null);
14
5
  export {
15
- f as useResizeTextarea
6
+ n as RemoveListener
16
7
  };
@@ -1,72 +1,16 @@
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.es57.js";
3
- import { CalendarHeader as F } from "./bundle.es64.js";
4
- import { useCalendar as j } from "./bundle.es65.js";
5
- import { attr as m } from "@companix/utils-browser";
6
- import { isSameDate as f } from "./bundle.es56.js";
7
- import { useLayoutEffect as I } from "react";
8
- const T = ({ disablePickers: c, value: e, onChange: i, ...l }) => {
9
- const {
10
- viewDate: n,
11
- setViewDate: r,
12
- setNextMonth: N,
13
- setPrevMonth: x,
14
- isMonthDisabled: M,
15
- isYearDisabled: v,
16
- isDayDisabled: w
17
- } = j(l);
18
- I(() => {
19
- e && r(e);
20
- }, [e]);
21
- const o = $(n), h = n.getMonth(), y = n.getFullYear(), C = /* @__PURE__ */ new Date();
22
- return /* @__PURE__ */ D("div", { className: "calendar", children: [
23
- /* @__PURE__ */ t(
24
- F,
25
- {
26
- viewDate: n,
27
- onChange: r,
28
- onNextMonth: N,
29
- onPrevMonth: x,
30
- disablePickers: c,
31
- isMonthDisabled: M,
32
- isYearDisabled: v
33
- }
34
- ),
35
- /* @__PURE__ */ t("div", { className: "calendar-names", children: g.map((d, a) => /* @__PURE__ */ t("div", { className: "calendar-name", children: d }, `week-name-${a}`)) }),
36
- /* @__PURE__ */ D("div", { className: "calendar-days", children: [
37
- p(b(u(o.month, o.year))).map((d, a) => /* @__PURE__ */ t("div", { className: "calendar-day", "data-void": !0 }, `void-${d}-${a}`)),
38
- p(k(o.month, o.year)).map((d, a) => {
39
- const s = new Date(y, h, a + 1);
40
- return /* @__PURE__ */ t(
41
- P,
42
- {
43
- day: a + 1,
44
- disabled: w(s),
45
- selected: !!(e && f(e, s)),
46
- today: f(s, C),
47
- onSelect: () => i?.(s)
48
- },
49
- `date-${d}-${y}-${h}-${a}`
50
- );
51
- })
52
- ] })
53
- ] });
54
- }, P = ({ day: c, disabled: e, selected: i, today: l, onSelect: n }) => {
55
- const r = () => {
56
- e || n?.();
57
- };
58
- return /* @__PURE__ */ t(
59
- "div",
60
- {
61
- className: "calendar-day",
62
- "data-disabled": m(e),
63
- "data-selected": m(i),
64
- "data-today": m(l),
65
- onClick: r,
66
- children: /* @__PURE__ */ t("span", { className: "calendar-day-number", children: c })
67
- }
68
- );
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
+ } };
69
13
  };
70
14
  export {
71
- T as Calendar
15
+ d as useLoading
72
16
  };
@@ -1,70 +1,16 @@
1
- import { useMemo as D, useCallback as c } from "react";
2
- function l(e, t) {
3
- return e.getDate() === t.getDate() && e.getMonth() === t.getMonth() && e.getFullYear() === t.getFullYear();
4
- }
5
- function f(e) {
6
- const t = new Date(e);
7
- return t.setHours(0, 0, 0, 0), t;
8
- }
9
- function h(e) {
10
- const t = new Date(e);
11
- return t.setHours(23, 59, 59, 999), t;
12
- }
13
- function M(e, t = {}) {
14
- const { min: n, max: r, withTime: s = !1 } = t;
15
- return !s && (n && l(e, n) || r && l(e, r)) ? !1 : !!(n && e < n || r && e > r);
16
- }
17
- function m(e, t) {
18
- const n = new Date(e);
19
- if (!t)
20
- return n;
21
- const r = n.getDate(), s = new Date(e);
22
- s.setMonth(n.getMonth() + t + 1, 0);
23
- const a = s.getDate();
24
- return r >= a ? s : (n.setFullYear(s.getFullYear(), s.getMonth(), r), n);
25
- }
26
- function F(e, t) {
27
- return m(e, -1);
28
- }
29
- function g(e) {
30
- const t = new Date(e), n = new Date(t);
31
- return n.setFullYear(t.getFullYear(), t.getMonth() + 1, 0), n.setHours(0, 0, 0, 0), n.getDate();
32
- }
33
- function Y(e, t) {
34
- const n = new Date(e);
35
- return n.setFullYear(t), n;
36
- }
37
- function y(e, t) {
38
- const n = new Date(e), r = n.getFullYear(), s = n.getDate(), a = new Date(e);
39
- a.setFullYear(r, t, 15), a.setHours(0, 0, 0, 0);
40
- const u = g(a);
41
- return n.setMonth(t, Math.min(s, u)), n;
42
- }
43
- const w = (e) => {
44
- const { disableFuture: t, disablePast: n, maxDateTime: r, minDateTime: s, shouldDisableDate: a } = e;
45
- return (u, i) => {
46
- const o = /* @__PURE__ */ new Date();
47
- return a ? a(u) : t ? f(u) > o : n ? h(u) < o : s || r ? M(u, { min: s, max: r, withTime: i }) : !1;
48
- };
49
- }, d = (e) => {
50
- const t = D(() => w(e), [
51
- e.disableFuture,
52
- e.disablePast,
53
- e.shouldDisableDate,
54
- e.minDateTime,
55
- e.maxDateTime
56
- ]);
57
- return c(t, [t]);
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];
58
13
  };
59
14
  export {
60
- m as addMonths,
61
- w as createDayDisableChecker,
62
- h as endOfDay,
63
- M as isDayMinMaxRestricted,
64
- l as isSameDate,
65
- y as setMonth,
66
- Y as setYear,
67
- f as startOfDay,
68
- F as subMonths,
69
- d as useDayDisableCheker
15
+ f as useResizeTextarea
70
16
  };
@@ -1,72 +1,72 @@
1
- import { clamp as m } from "@companix/utils-browser";
2
- import { formatTime as i } from "@companix/utils-js";
3
- const g = (n, r) => new Date(r, n, 0).getDate(), u = (n, r) => new Date(r, n - 1, 1).getDay(), D = (n) => n === 0 ? 6 : n - 1, d = (n) => new Array(n).fill(0), T = (n) => ({
4
- day: n.getDate(),
5
- month: n.getMonth() + 1,
6
- year: n.getFullYear()
7
- }), p = ({ min: n, max: r }) => (t) => {
8
- if (n.year === t.year) {
9
- if (t.month !== 0 && t.month < n.month)
10
- return t.month = 0, t.day = 0, t;
11
- if (t.month === n.month && t.day < n.day && t.day !== 0)
12
- return t.day = 0, t;
13
- }
14
- if (r.year === t.year) {
15
- if (t.month !== 0 && t.month > r.month)
16
- return t.month = 0, t.day = 0, t;
17
- if (t.month === r.month && t.day > r.day && t.day !== 0)
18
- return t.day = 0, t;
19
- }
20
- }, A = ["Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], M = [
21
- "Январь",
22
- "Февраль",
23
- "Март",
24
- "Апрель",
25
- "Май",
26
- "Июнь",
27
- "Июль",
28
- "Август",
29
- "Сентябрь",
30
- "Октябрь",
31
- "Ноябрь",
32
- "Декабрь"
33
- ], c = 9999, a = 100, w = (n, r) => {
34
- const t = [], o = m(n - r, a, c), e = m(n + r, a, c);
35
- for (let s = o; s <= e; s++)
36
- t.push({ title: String(s).padStart(4, "0"), value: s });
37
- return t;
38
- }, F = (n) => {
39
- const r = [], t = new Intl.DateTimeFormat(n, {
40
- month: "long"
41
- });
42
- for (let o = 0; o < 12; o++)
43
- r.push({
44
- title: t.format(new Date(2023, o, 15)),
45
- value: o
46
- });
47
- return r;
48
- }, Y = (n, r) => r.reduce((t, o) => t.replaceAll(o, ""), n.trim()), E = ({ hours: n, minutes: r }, t = ":") => [i(n), i(r)].join(t), h = (n, r = ":") => {
49
- const [t, o] = [i(n.hours), i(n.minutes)], e = [t, o].join(r);
50
- return { title: e, value: e, hours: t, minutes: o };
51
- }, _ = (n, r = ":") => {
52
- const t = { minutes: -n, hours: 0 };
53
- return Array.from({ length: 1440 / n }).map(() => (t.minutes += n, t.minutes === 60 && (t.minutes = 0, t.hours++), h(t, r)));
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.es59.js";
3
+ import { CalendarHeader as F } from "./bundle.es66.js";
4
+ import { useCalendar as j } from "./bundle.es67.js";
5
+ import { attr as m } from "@companix/utils-browser";
6
+ import { isSameDate as f } from "./bundle.es58.js";
7
+ import { useLayoutEffect as I } from "react";
8
+ const T = ({ disablePickers: c, value: e, onChange: i, ...l }) => {
9
+ const {
10
+ viewDate: n,
11
+ setViewDate: r,
12
+ setNextMonth: N,
13
+ setPrevMonth: x,
14
+ isMonthDisabled: M,
15
+ isYearDisabled: v,
16
+ isDayDisabled: w
17
+ } = j(l);
18
+ I(() => {
19
+ e && r(e);
20
+ }, [e]);
21
+ const o = $(n), h = n.getMonth(), y = n.getFullYear(), C = /* @__PURE__ */ new Date();
22
+ return /* @__PURE__ */ D("div", { className: "calendar", children: [
23
+ /* @__PURE__ */ t(
24
+ F,
25
+ {
26
+ viewDate: n,
27
+ onChange: r,
28
+ onNextMonth: N,
29
+ onPrevMonth: x,
30
+ disablePickers: c,
31
+ isMonthDisabled: M,
32
+ isYearDisabled: v
33
+ }
34
+ ),
35
+ /* @__PURE__ */ t("div", { className: "calendar-names", children: g.map((d, a) => /* @__PURE__ */ t("div", { className: "calendar-name", children: d }, `week-name-${a}`)) }),
36
+ /* @__PURE__ */ D("div", { className: "calendar-days", children: [
37
+ p(b(u(o.month, o.year))).map((d, a) => /* @__PURE__ */ t("div", { className: "calendar-day", "data-void": !0 }, `void-${d}-${a}`)),
38
+ p(k(o.month, o.year)).map((d, a) => {
39
+ const s = new Date(y, h, a + 1);
40
+ return /* @__PURE__ */ t(
41
+ P,
42
+ {
43
+ day: a + 1,
44
+ disabled: w(s),
45
+ selected: !!(e && f(e, s)),
46
+ today: f(s, C),
47
+ onSelect: () => i?.(s)
48
+ },
49
+ `date-${d}-${y}-${h}-${a}`
50
+ );
51
+ })
52
+ ] })
53
+ ] });
54
+ }, P = ({ day: c, disabled: e, selected: i, today: l, onSelect: n }) => {
55
+ const r = () => {
56
+ e || n?.();
57
+ };
58
+ return /* @__PURE__ */ t(
59
+ "div",
60
+ {
61
+ className: "calendar-day",
62
+ "data-disabled": m(e),
63
+ "data-selected": m(i),
64
+ "data-today": m(l),
65
+ onClick: r,
66
+ children: /* @__PURE__ */ t("span", { className: "calendar-day-number", children: c })
67
+ }
68
+ );
54
69
  };
55
70
  export {
56
- c as DEFAULT_MAX_YEAR,
57
- a as DEFAULT_MIN_YEAR,
58
- M as DefaultMonths,
59
- E as convertTimeToOption,
60
- p as createDateValidation,
61
- d as createVoids,
62
- T as dateToFormat,
63
- D as getDayIndex,
64
- u as getFirstDay,
65
- g as getMonthMaxDay,
66
- F as getMonths,
67
- h as getTimeValue,
68
- _ as getTimesOptions,
69
- w as getYears,
70
- Y as removeDigits,
71
- A as weeks
71
+ T as Calendar
72
72
  };
@@ -1,13 +1,70 @@
1
- import { jsxs as r, Fragment as a, jsx as e } from "react/jsx-runtime";
2
- import { faXmark as i, faChevronDown as m } from "@companix/icons-solid";
3
- import { Icon as o } from "./bundle.es33.js";
4
- const f = (n) => {
5
- const { clearButton: c, clearButtonIcon: t, value: s, onClear: l } = n;
6
- return /* @__PURE__ */ r(a, { children: [
7
- c && s && /* @__PURE__ */ e("button", { className: "select-close-button", onClick: l, children: t ?? /* @__PURE__ */ e(o, { className: "select-close-icon", icon: i, size: "xxxs" }) }),
8
- /* @__PURE__ */ e(o, { className: "expand-icon select-expand", icon: m, size: "xxxs" })
9
- ] });
1
+ import { useMemo as D, useCallback as c } from "react";
2
+ function l(e, t) {
3
+ return e.getDate() === t.getDate() && e.getMonth() === t.getMonth() && e.getFullYear() === t.getFullYear();
4
+ }
5
+ function f(e) {
6
+ const t = new Date(e);
7
+ return t.setHours(0, 0, 0, 0), t;
8
+ }
9
+ function h(e) {
10
+ const t = new Date(e);
11
+ return t.setHours(23, 59, 59, 999), t;
12
+ }
13
+ function M(e, t = {}) {
14
+ const { min: n, max: r, withTime: s = !1 } = t;
15
+ return !s && (n && l(e, n) || r && l(e, r)) ? !1 : !!(n && e < n || r && e > r);
16
+ }
17
+ function m(e, t) {
18
+ const n = new Date(e);
19
+ if (!t)
20
+ return n;
21
+ const r = n.getDate(), s = new Date(e);
22
+ s.setMonth(n.getMonth() + t + 1, 0);
23
+ const a = s.getDate();
24
+ return r >= a ? s : (n.setFullYear(s.getFullYear(), s.getMonth(), r), n);
25
+ }
26
+ function F(e, t) {
27
+ return m(e, -1);
28
+ }
29
+ function g(e) {
30
+ const t = new Date(e), n = new Date(t);
31
+ return n.setFullYear(t.getFullYear(), t.getMonth() + 1, 0), n.setHours(0, 0, 0, 0), n.getDate();
32
+ }
33
+ function Y(e, t) {
34
+ const n = new Date(e);
35
+ return n.setFullYear(t), n;
36
+ }
37
+ function y(e, t) {
38
+ const n = new Date(e), r = n.getFullYear(), s = n.getDate(), a = new Date(e);
39
+ a.setFullYear(r, t, 15), a.setHours(0, 0, 0, 0);
40
+ const u = g(a);
41
+ return n.setMonth(t, Math.min(s, u)), n;
42
+ }
43
+ const w = (e) => {
44
+ const { disableFuture: t, disablePast: n, maxDateTime: r, minDateTime: s, shouldDisableDate: a } = e;
45
+ return (u, i) => {
46
+ const o = /* @__PURE__ */ new Date();
47
+ return a ? a(u) : t ? f(u) > o : n ? h(u) < o : s || r ? M(u, { min: s, max: r, withTime: i }) : !1;
48
+ };
49
+ }, d = (e) => {
50
+ const t = D(() => w(e), [
51
+ e.disableFuture,
52
+ e.disablePast,
53
+ e.shouldDisableDate,
54
+ e.minDateTime,
55
+ e.maxDateTime
56
+ ]);
57
+ return c(t, [t]);
10
58
  };
11
59
  export {
12
- f as SelectRightElements
60
+ m as addMonths,
61
+ w as createDayDisableChecker,
62
+ h as endOfDay,
63
+ M as isDayMinMaxRestricted,
64
+ l as isSameDate,
65
+ y as setMonth,
66
+ Y as setYear,
67
+ f as startOfDay,
68
+ F as subMonths,
69
+ d as useDayDisableCheker
13
70
  };