@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.
Files changed (165) hide show
  1. package/dist/Button/Button.scss +128 -0
  2. package/dist/ButtonGroup/ButtonGroup.scss +18 -0
  3. package/dist/Checkbox/Checkbox.scss +115 -0
  4. package/dist/DateInput/DateInput.scss +11 -0
  5. package/dist/DatePicker/Calendar.scss +125 -0
  6. package/dist/DatePicker/DatePicker.scss +0 -0
  7. package/dist/Dialog/Dialog.scss +25 -0
  8. package/dist/Dialog/Popup.scss +55 -0
  9. package/dist/DialogAlert/Alert.scss +52 -0
  10. package/dist/Drawer/Drawer.scss +112 -0
  11. package/dist/Form/Form.scss +70 -0
  12. package/dist/Form/Input.scss +24 -0
  13. package/dist/Icon/icon.scss +18 -0
  14. package/dist/OptionItem/Option.scss +89 -0
  15. package/dist/Popover/Popover.scss +80 -0
  16. package/dist/Radio/Radio.scss +148 -0
  17. package/dist/Scrollable/Scrollable.scss +50 -0
  18. package/dist/Select/Select.scss +80 -0
  19. package/dist/SelectTags/SelectTags.scss +66 -0
  20. package/dist/Spinner/Spinner.scss +14 -0
  21. package/dist/Stepper/StepperInput.scss +35 -0
  22. package/dist/Switch/Switch.scss +102 -0
  23. package/dist/Tabs/Tabs.scss +58 -0
  24. package/dist/TextArea/TextArea.scss +34 -0
  25. package/dist/Toaster/Toaster.scss +151 -0
  26. package/dist/Tooltip/Tooltip.scss +28 -0
  27. package/dist/bundle.es.js +56 -59
  28. package/dist/bundle.es10.js +35 -84
  29. package/dist/bundle.es11.js +30 -72
  30. package/dist/bundle.es12.js +14 -34
  31. package/dist/bundle.es13.js +7 -30
  32. package/dist/bundle.es14.js +33 -16
  33. package/dist/bundle.es15.js +24 -8
  34. package/dist/bundle.es16.js +15 -27
  35. package/dist/bundle.es17.js +22 -25
  36. package/dist/bundle.es18.js +13 -21
  37. package/dist/bundle.es19.js +38 -22
  38. package/dist/bundle.es2.js +45 -0
  39. package/dist/bundle.es20.js +16 -13
  40. package/dist/bundle.es21.js +34 -39
  41. package/dist/bundle.es22.js +20 -15
  42. package/dist/bundle.es23.js +38 -32
  43. package/dist/bundle.es24.js +110 -20
  44. package/dist/bundle.es25.js +106 -34
  45. package/dist/bundle.es26.js +34 -110
  46. package/dist/bundle.es27.js +11 -113
  47. package/dist/bundle.es28.js +23 -34
  48. package/dist/bundle.es29.js +35 -10
  49. package/dist/bundle.es3.js +10 -42
  50. package/dist/bundle.es30.js +20 -21
  51. package/dist/bundle.es31.js +81 -36
  52. package/dist/bundle.es32.js +20 -0
  53. package/dist/bundle.es33.js +16 -0
  54. package/dist/bundle.es34.js +24 -0
  55. package/dist/bundle.es35.js +5 -41
  56. package/dist/bundle.es36.js +18 -437
  57. package/dist/bundle.es37.js +14 -22
  58. package/dist/bundle.es38.js +68 -22
  59. package/dist/bundle.es39.js +68 -81
  60. package/dist/bundle.es4.js +85 -12
  61. package/dist/bundle.es40.js +31 -17
  62. package/dist/bundle.es41.js +67 -13
  63. package/dist/bundle.es43.js +75 -5
  64. package/dist/bundle.es44.js +46 -18
  65. package/dist/bundle.es45.js +42 -13
  66. package/dist/bundle.es5.js +82 -83
  67. package/dist/bundle.es6.js +74 -81
  68. package/dist/bundle.es7.js +26 -78
  69. package/dist/bundle.es8.js +80 -22
  70. package/dist/bundle.es9.js +71 -43
  71. package/dist/css-properties.scss +120 -0
  72. package/dist/{types/index.d.ts → index.d.ts} +0 -1
  73. package/dist/index.scss +25 -0
  74. package/dist/mixins.scss +100 -0
  75. package/dist/theme.scss +101 -0
  76. package/package.json +1 -1
  77. package/dist/bundle.es46.js +0 -72
  78. package/dist/bundle.es47.js +0 -70
  79. package/dist/bundle.es48.js +0 -34
  80. package/dist/bundle.es49.js +0 -70
  81. package/dist/bundle.es51.js +0 -78
  82. package/dist/bundle.es52.js +0 -51
  83. package/dist/bundle.es53.js +0 -45
  84. package/dist/bundle.es54.js +0 -40
  85. package/dist/bundle.es55.js +0 -36
  86. package/dist/bundle.es56.js +0 -9
  87. package/dist/bundle.es57.js +0 -9
  88. package/dist/bundle.es58.js +0 -7
  89. package/dist/bundle.es59.js +0 -9
  90. package/dist/bundle.es60.js +0 -8
  91. package/dist/bundle.es61.js +0 -19
  92. package/dist/bundle.es62.js +0 -15
  93. package/dist/bundle.es63.js +0 -22
  94. package/dist/bundle.es64.js +0 -45
  95. package/dist/bundle.es65.js +0 -28
  96. package/dist/bundle.es66.js +0 -34
  97. package/dist/bundle.es67.js +0 -6
  98. package/dist/bundle.es68.js +0 -12
  99. package/dist/bundle.es69.js +0 -47
  100. package/dist/bundle.es70.js +0 -11
  101. package/dist/bundle.es71.js +0 -18
  102. package/dist/bundle.es72.js +0 -32
  103. package/dist/bundle.es73.js +0 -35
  104. package/dist/bundle.es74.js +0 -6
  105. package/dist/bundle.es75.js +0 -7
  106. package/dist/bundle.es76.js +0 -7
  107. package/dist/bundle.es77.js +0 -11
  108. package/dist/bundle.es78.js +0 -17
  109. package/dist/bundle.es79.js +0 -7
  110. package/dist/bundle.es80.js +0 -17
  111. package/dist/bundle.es81.js +0 -25
  112. package/dist/uikit.css +0 -1
  113. /package/dist/{types/Button → Button}/index.d.ts +0 -0
  114. /package/dist/{types/ButtonGroup → ButtonGroup}/index.d.ts +0 -0
  115. /package/dist/{types/Checkbox → Checkbox}/index.d.ts +0 -0
  116. /package/dist/{types/Countdown → Countdown}/index.d.ts +0 -0
  117. /package/dist/{types/DateInput → DateInput}/index.d.ts +0 -0
  118. /package/dist/{types/DatePicker → DatePicker}/Calendar.d.ts +0 -0
  119. /package/dist/{types/DatePicker → DatePicker}/CalendarHeader.d.ts +0 -0
  120. /package/dist/{types/DatePicker → DatePicker}/index.d.ts +0 -0
  121. /package/dist/{types/Dialog → Dialog}/index.d.ts +0 -0
  122. /package/dist/{types/DialogAlert → DialogAlert}/Alert.d.ts +0 -0
  123. /package/dist/{types/DialogAlert → DialogAlert}/Viewport.d.ts +0 -0
  124. /package/dist/{types/DialogAlert → DialogAlert}/index.d.ts +0 -0
  125. /package/dist/{types/Drawer → Drawer}/index.d.ts +0 -0
  126. /package/dist/{types/File → File}/index.d.ts +0 -0
  127. /package/dist/{types/Form → Form}/index.d.ts +0 -0
  128. /package/dist/{types/Icon → Icon}/index.d.ts +0 -0
  129. /package/dist/{types/LoadButton → LoadButton}/index.d.ts +0 -0
  130. /package/dist/{types/NumberInput → NumberInput}/index.d.ts +0 -0
  131. /package/dist/{types/OptionItem → OptionItem}/OptionItem.d.ts +0 -0
  132. /package/dist/{types/OptionItem → OptionItem}/OptionsList.d.ts +0 -0
  133. /package/dist/{types/Popover → Popover}/index.d.ts +0 -0
  134. /package/dist/{types/Radio → Radio}/index.d.ts +0 -0
  135. /package/dist/{types/Scrollable → Scrollable}/ImitateScroll.d.ts +0 -0
  136. /package/dist/{types/Scrollable → Scrollable}/index.d.ts +0 -0
  137. /package/dist/{types/Select → Select}/SelectInput.d.ts +0 -0
  138. /package/dist/{types/Select → Select}/index.d.ts +0 -0
  139. /package/dist/{types/SelectTags → SelectTags}/index.d.ts +0 -0
  140. /package/dist/{types/Spinner → Spinner}/index.d.ts +0 -0
  141. /package/dist/{types/Stepper → Stepper}/index.d.ts +0 -0
  142. /package/dist/{types/Switch → Switch}/index.d.ts +0 -0
  143. /package/dist/{types/Tabs → Tabs}/index.d.ts +0 -0
  144. /package/dist/{types/TextArea → TextArea}/index.d.ts +0 -0
  145. /package/dist/{types/Toaster → Toaster}/RemoveListener.d.ts +0 -0
  146. /package/dist/{types/Toaster → Toaster}/Toast.d.ts +0 -0
  147. /package/dist/{types/Toaster → Toaster}/Viewport.d.ts +0 -0
  148. /package/dist/{types/Toaster → Toaster}/index.d.ts +0 -0
  149. /package/dist/{types/Tooltip → Tooltip}/index.d.ts +0 -0
  150. /package/dist/{types/__hooks → __hooks}/use-frooze-closing.d.ts +0 -0
  151. /package/dist/{types/__hooks → __hooks}/use-loading.d.ts +0 -0
  152. /package/dist/{types/__hooks → __hooks}/use-local-storage.d.ts +0 -0
  153. /package/dist/{types/__hooks → __hooks}/use-popover-position.d.ts +0 -0
  154. /package/dist/{types/__hooks → __hooks}/use-previos.d.ts +0 -0
  155. /package/dist/{types/__hooks → __hooks}/use-resize.d.ts +0 -0
  156. /package/dist/{types/__hooks → __hooks}/use-scrollbox.d.ts +0 -0
  157. /package/dist/{types/__hooks → __hooks}/use-stepper-input.d.ts +0 -0
  158. /package/dist/{types/__hooks → __hooks}/use-update.d.ts +0 -0
  159. /package/dist/{types/__hooks → __hooks}/useCalendar.d.ts +0 -0
  160. /package/dist/{types/__hooks → __hooks}/useCalendarOptions-copy.d.ts +0 -0
  161. /package/dist/{types/__hooks → __hooks}/useCalendarOptions.d.ts +0 -0
  162. /package/dist/{types/__libs → __libs}/calendar.d.ts +0 -0
  163. /package/dist/{types/__utils → __utils}/utils.d.ts +0 -0
  164. /package/dist/{bundle.es50.js → bundle.es42.js} +0 -0
  165. /package/dist/{types/types.d.ts → types.d.ts} +0 -0
@@ -1,83 +1,70 @@
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.es37.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
- );
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]);
58
+ };
81
59
  export {
82
- V as SelectInput
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
83
70
  };
@@ -1,14 +1,87 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- /* empty css */
3
- import p from "classnames";
4
- const d = ({ size: r = 40, className: t, width: e = 4, color: i = "inherit" }) => /* @__PURE__ */ o(
5
- "div",
6
- {
7
- style: { width: `${r}px`, height: `${r}px`, color: i, borderWidth: `${e}px` },
8
- className: p("spinner-border", t),
9
- role: "status"
10
- }
11
- );
1
+ import { jsx as v } from "react/jsx-runtime";
2
+ import I from "classnames";
3
+ import { forwardRef as S } from "react";
4
+ import { varToStyle as r, px as i } from "@companix/utils-browser";
5
+ const $ = S((t, c) => {
6
+ let {
7
+ interactionKind: m = "static",
8
+ thumbPos: g = "center",
9
+ thumbPadding: l = 4,
10
+ heightAuto: s,
11
+ scrollX: h,
12
+ className: b,
13
+ scrollY: n,
14
+ onWheel: f,
15
+ maxHeight: d,
16
+ onScroll: p,
17
+ thumbColor: u,
18
+ children: w
19
+ } = t;
20
+ const x = (() => {
21
+ if (t.implementation === "edge") {
22
+ l = 0;
23
+ const { padding: o, scrollbarWidth: e } = t;
24
+ return {
25
+ ...r({ "--scrollbar-width": i(e) }),
26
+ padding: `0px ${o - e}px 0px ${o}px`
27
+ };
28
+ }
29
+ if (t.implementation === "outer") {
30
+ const { shadowPadding: o = 0, noneCorrect: e, scrollbarWidth: a } = t;
31
+ return window.IS_MOBILE ? {
32
+ padding: o,
33
+ margin: -o
34
+ } : {
35
+ ...r({ "--scrollbar-width": i(a) }),
36
+ padding: o,
37
+ margin: -o,
38
+ marginRight: e ? void 0 : `calc(-${a}px - ${o}px)`,
39
+ marginBottom: 0
40
+ };
41
+ }
42
+ if (t.implementation === "inner") {
43
+ const { padding: o } = t;
44
+ return window.IS_MOBILE ? {
45
+ [n ? "paddingLeft" : "paddingTop"]: o,
46
+ [n ? "paddingRight" : "paddingBottom"]: o
47
+ } : {
48
+ [n ? "paddingLeft" : "paddingTop"]: o,
49
+ ...r({ "--scrollbar-width": i(o) })
50
+ };
51
+ }
52
+ return {};
53
+ })();
54
+ return /* @__PURE__ */ v(
55
+ "div",
56
+ {
57
+ ref: c,
58
+ onWheel: f,
59
+ onScroll: p,
60
+ onMouseDown: (o) => {
61
+ o.preventDefault();
62
+ },
63
+ style: {
64
+ ...x,
65
+ ...t.style,
66
+ maxHeight: d ? i(d) : void 0,
67
+ ...r({ "--thumb-padding": i(l) }),
68
+ ...r({ "--thumb-color": u ?? "#c1c2c8bd" })
69
+ },
70
+ className: I(
71
+ !window.IS_MOBILE && "scrollable",
72
+ b,
73
+ s ? "" : "h-full",
74
+ {
75
+ "overflow-y-scroll": n,
76
+ "overflow-x-scroll": h,
77
+ "scrollable-hover-interaction": m === "hover",
78
+ "scrollable-border-position": g === "border"
79
+ }
80
+ ),
81
+ children: w
82
+ }
83
+ );
84
+ });
12
85
  export {
13
- d as Spinner
86
+ $ as Scrollable
14
87
  };
@@ -1,20 +1,34 @@
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);
1
+ import { jsx as s, Fragment as p } from "react/jsx-runtime";
2
+ import { forwardRef as f, useState as u, useImperativeHandle as c } from "react";
3
+ import { AlertDialog as x } from "./bundle.es19.js";
4
+ const g = f((a, l) => {
5
+ const [i, n] = u([]);
6
+ c(
7
+ l,
8
+ () => ({
9
+ showAlert: (e) => {
10
+ n((t) => [...t, e]);
11
+ }
12
+ }),
13
+ []
14
+ );
15
+ const d = (e) => {
16
+ n((t) => {
17
+ const r = [...t], o = r.findIndex((m) => m.id === e);
18
+ return o !== -1 && r.splice(o, 1), r;
19
+ });
20
+ };
21
+ return /* @__PURE__ */ s(p, { children: i.map(({ id: e, ...t }) => /* @__PURE__ */ s(
22
+ x,
23
+ {
24
+ defaultOpen: !0,
25
+ onUnMounted: () => d(e),
26
+ ...a,
27
+ ...t
14
28
  },
15
- [l, t]
16
- ), scrollBoxRef: t, optionsWrapperRef: l };
17
- };
29
+ `alert-${e}`
30
+ )) });
31
+ });
18
32
  export {
19
- a as useScrollListController
33
+ g as Viewport
20
34
  };
@@ -1,16 +1,70 @@
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;
1
+ import { jsxs as T, jsx as $ } from "react/jsx-runtime";
2
+ import { forwardRef as b, useState as I, useMemo as P, useImperativeHandle as R, useCallback as j, createElement as k } from "react";
3
+ import * as c from "@radix-ui/react-toast";
4
+ import { varToStyle as w } from "@companix/utils-browser";
5
+ import { Toast as C } from "./bundle.es45.js";
6
+ var g = /* @__PURE__ */ ((e) => (e["top-center"] = "up", e["top-left"] = "left", e["top-right"] = "right", e["bottom-center"] = "down", e["bottom-left"] = "left", e["bottom-right"] = "right", e))(g || {});
7
+ const M = b((e, h) => {
8
+ const { side: f = "top", align: i = "center", gap: m = 14, duration: u, swipeThreshold: v, closeIcon: x } = e, [l, p] = I([]), o = P(() => ({}), []);
9
+ R(
10
+ h,
11
+ () => ({
12
+ addToast: (t) => {
13
+ p((r) => [...r, t]);
14
+ }
15
+ }),
16
+ []
17
+ );
18
+ const d = j((t) => {
19
+ t.forEach(({ id: r }, a) => {
20
+ let s = 0;
21
+ for (let n = a + 1; n < t.length; n++)
22
+ o[t[n].id] && (s += o[t[n].id].clientHeight + m);
23
+ o[r] && o[r].style.setProperty("--offset", `${s}px`);
24
+ });
25
+ }, []), y = (t) => {
26
+ p((r) => {
27
+ const a = [...r], s = a.findIndex((n) => n.id === t);
28
+ return s !== -1 && a.splice(s, 1), a;
29
+ });
30
+ };
31
+ return /* @__PURE__ */ T(
32
+ c.Provider,
33
+ {
34
+ duration: u,
35
+ swipeThreshold: v,
36
+ swipeDirection: g[`${f}-${i}`],
37
+ children: [
38
+ l.map(({ id: t, ...r }) => /* @__PURE__ */ k(
39
+ C,
40
+ {
41
+ ...r,
42
+ key: `toaster-${t}`,
43
+ closeIcon: x,
44
+ onInitialized: (a) => {
45
+ o[t] = a, d(l);
46
+ },
47
+ onRemoving: () => {
48
+ delete o[t], d(l);
49
+ },
50
+ onRemoved: () => {
51
+ o[t] && delete o[t], y(t);
52
+ }
53
+ }
54
+ )),
55
+ /* @__PURE__ */ $(
56
+ c.Viewport,
57
+ {
58
+ "data-side": f,
59
+ "data-align": i,
60
+ className: "toaster-viewport",
61
+ style: w({ "--toasters-gap": `${m}px` })
62
+ }
63
+ )
64
+ ]
10
65
  }
11
- t();
12
- }, r);
13
- };
66
+ );
67
+ });
14
68
  export {
15
- o as useLayoutAndUpdate
69
+ M as Viewport
16
70
  };
@@ -1,7 +1,77 @@
1
- import { useEffect as r } from "react";
2
- const n = ({ callback: e }) => (r(() => () => {
3
- e?.();
4
- }, []), null);
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.es8.js";
4
+ import { getMonths as k, getYears as z, DEFAULT_MAX_YEAR as f, DEFAULT_MIN_YEAR as g } from "./bundle.es42.js";
5
+ import { Icon as C } from "./bundle.es34.js";
6
+ import { faChevronLeft as E, faChevronRight as T } from "@fortawesome/free-solid-svg-icons";
7
+ import { setMonth as _, setYear as F } from "./bundle.es39.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 || 0)
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 || 0)
69
+ }
70
+ )
71
+ ] }),
72
+ !l && /* @__PURE__ */ o("button", { className: "calendar-navigation", "data-side": "right", onClick: N, children: /* @__PURE__ */ o(C, { icon: T }) })
73
+ ] });
74
+ };
5
75
  export {
6
- n as RemoveListener
76
+ y as CalendarHeader
7
77
  };
@@ -1,23 +1,51 @@
1
- import { useState as a } from "react";
2
- const l = ({ onClick: i }) => {
3
- const [e, s] = a({ isLoading: !1, isError: !1 });
1
+ import { subMonths as L, addMonths as N, useDayDisableCheker as R } from "./bundle.es39.js";
2
+ import { DEFAULT_MIN_YEAR as w, DEFAULT_MAX_YEAR as A } from "./bundle.es42.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
+ );
4
39
  return {
5
- ...e,
6
- handleClick: (o) => {
7
- e.isLoading || i(() => s({ isLoading: !0, isError: !1 }), o).then(() => {
8
- s({
9
- isLoading: !1,
10
- isError: !1
11
- });
12
- }).catch((r) => {
13
- console.log(r), s({
14
- isLoading: !1,
15
- isError: !0
16
- });
17
- });
18
- }
40
+ viewDate: e,
41
+ setViewDate: u,
42
+ setPrevMonth: _,
43
+ setNextMonth: C,
44
+ isDayDisabled: D,
45
+ isMonthDisabled: k,
46
+ isYearDisabled: v
19
47
  };
20
48
  };
21
49
  export {
22
- l as useLoading
50
+ X as useCalendar
23
51
  };
@@ -1,16 +1,45 @@
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];
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
+ import * as t from "@radix-ui/react-toast";
3
+ import { attr as C } from "@companix/utils-browser";
4
+ import { useState as h, useRef as v, useEffect as N, useLayoutEffect as x } from "react";
5
+ import { RemoveListener as R } from "./bundle.es35.js";
6
+ const E = (i) => {
7
+ const [c, l] = h(!1), o = v(null), {
8
+ appearance: d = "neutral",
9
+ icon: r,
10
+ title: a,
11
+ description: s,
12
+ duration: m,
13
+ closeIcon: u,
14
+ onRemoving: p,
15
+ onRemoved: f,
16
+ onInitialized: L
17
+ } = i;
18
+ return N(() => {
19
+ l(!0);
20
+ }, []), x(() => {
21
+ o.current && L(o.current);
22
+ }, []), /* @__PURE__ */ n(
23
+ t.Root,
24
+ {
25
+ ref: o,
26
+ "data-expanded": !0,
27
+ "data-appearance": d,
28
+ "data-mounted": C(c),
29
+ className: "toaster",
30
+ duration: m,
31
+ children: [
32
+ /* @__PURE__ */ e(R, { callback: f }),
33
+ r && /* @__PURE__ */ e("div", { className: "toaster-icon", children: r }),
34
+ /* @__PURE__ */ n("div", { className: "toaster-content", children: [
35
+ a && /* @__PURE__ */ e(t.Title, { className: "toaster-title", children: a }),
36
+ s && /* @__PURE__ */ e(t.Description, { className: "toaster-description", children: s })
37
+ ] }),
38
+ /* @__PURE__ */ e(t.Close, { className: "toaster-close", onClick: p, children: u ?? /* @__PURE__ */ e("svg", { viewBox: "0 0 16 16", fill: "currentColor", children: /* @__PURE__ */ e("path", { d: "M2.96967 2.96967C3.26256 2.67678 3.73744 2.67678 4.03033 2.96967L8 6.939L11.9697 2.96967C12.2626 2.67678 12.7374 2.67678 13.0303 2.96967C13.3232 3.26256 13.3232 3.73744 13.0303 4.03033L9.061 8L13.0303 11.9697C13.2966 12.2359 13.3208 12.6526 13.1029 12.9462L13.0303 13.0303C12.7374 13.3232 12.2626 13.3232 11.9697 13.0303L8 9.061L4.03033 13.0303C3.73744 13.3232 3.26256 13.3232 2.96967 13.0303C2.67678 12.7374 2.67678 12.2626 2.96967 11.9697L6.939 8L2.96967 4.03033C2.7034 3.76406 2.6792 3.3474 2.89705 3.05379L2.96967 2.96967Z" }) }) })
39
+ ]
40
+ }
41
+ );
13
42
  };
14
43
  export {
15
- f as useResizeTextarea
44
+ E as Toast
16
45
  };