@companix/uikit 0.1.10 → 0.1.12
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/WriteBar/Editor.d.ts +34 -0
- package/dist/WriteBar/Input.d.ts +14 -0
- package/dist/WriteBar/WireBar.scss +44 -46
- package/dist/WriteBar/index.d.ts +6 -6
- package/dist/WriteBar/keyboard.d.ts +16 -0
- package/dist/WriteBar/utils.d.ts +14 -0
- package/dist/bundle.es.js +59 -57
- package/dist/bundle.es10.js +1 -1
- package/dist/bundle.es13.js +4 -4
- package/dist/bundle.es14.js +3 -3
- package/dist/bundle.es15.js +2 -2
- package/dist/bundle.es17.js +1 -1
- package/dist/bundle.es24.js +1 -1
- package/dist/bundle.es25.js +1 -1
- package/dist/bundle.es26.js +1 -1
- package/dist/bundle.es27.js +1 -1
- package/dist/bundle.es29.js +1 -1
- package/dist/bundle.es30.js +4 -4
- package/dist/bundle.es31.js +2 -2
- package/dist/bundle.es34.js +2 -2
- package/dist/bundle.es40.js +48 -92
- package/dist/bundle.es41.js +152 -79
- package/dist/bundle.es42.js +81 -7
- package/dist/bundle.es43.js +7 -35
- package/dist/bundle.es44.js +33 -20
- package/dist/bundle.es45.js +21 -10
- package/dist/bundle.es46.js +10 -11
- package/dist/bundle.es47.js +11 -13
- package/dist/bundle.es48.js +13 -13
- package/dist/bundle.es49.js +13 -30
- package/dist/bundle.es50.js +29 -25
- package/dist/bundle.es51.js +17 -29
- package/dist/bundle.es52.js +36 -48
- package/dist/bundle.es53.js +49 -50
- package/dist/bundle.es54.js +51 -8
- package/dist/bundle.es55.js +8 -26
- package/dist/bundle.es56.js +27 -5
- package/dist/bundle.es57.js +5 -66
- package/dist/bundle.es58.js +66 -23
- package/dist/bundle.es59.js +22 -23
- package/dist/bundle.es60.js +24 -88
- package/dist/bundle.es61.js +88 -18
- package/dist/bundle.es62.js +17 -92
- package/dist/bundle.es63.js +92 -73
- package/dist/bundle.es64.js +73 -23
- package/dist/bundle.es65.js +20 -35
- package/dist/bundle.es66.js +37 -68
- package/dist/bundle.es67.js +68 -9
- package/dist/bundle.es68.js +10 -42
- package/dist/bundle.es69.js +42 -14
- package/dist/bundle.es70.js +32 -31
- package/dist/bundle.es71.js +65 -69
- package/dist/bundle.es72.js +42 -14
- package/dist/bundle.es73.js +14 -74
- package/dist/bundle.es74.js +30 -47
- package/dist/bundle.es75.js +69 -13
- package/dist/bundle.es76.js +77 -0
- package/dist/bundle.es77.js +51 -0
- package/dist/bundle.es78.js +16 -0
- package/dist/bundle.es79.js +16 -0
- package/dist/index.d.ts +1 -0
- package/package.json +1 -1
package/dist/bundle.es71.js
CHANGED
|
@@ -1,72 +1,68 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
key: `toaster-${t}`,
|
|
46
|
-
duration: o.duration ?? g,
|
|
47
|
-
closeIcon: T,
|
|
48
|
-
onInitialized: (e) => {
|
|
49
|
-
a[t] = e, m(i);
|
|
50
|
-
},
|
|
51
|
-
onClosing: () => {
|
|
52
|
-
delete a[t], m(i);
|
|
53
|
-
},
|
|
54
|
-
onClosed: () => v(t)
|
|
55
|
-
}
|
|
56
|
-
)),
|
|
57
|
-
/* @__PURE__ */ I(
|
|
58
|
-
c.Viewport,
|
|
59
|
-
{
|
|
60
|
-
"data-side": l,
|
|
61
|
-
"data-align": f,
|
|
62
|
-
className: "toaster-viewport",
|
|
63
|
-
style: k({ "--toasters-gap": `${d}px` })
|
|
64
|
-
}
|
|
65
|
-
)
|
|
66
|
-
]
|
|
1
|
+
var a = /* @__PURE__ */ ((o) => (o.Mod = "Mod", o.Alt = "Alt", o.Shift = "Shift", o.Meta = "Meta", o))(a || {});
|
|
2
|
+
const l = [
|
|
3
|
+
"Shift",
|
|
4
|
+
"Mod",
|
|
5
|
+
"ArrowDown",
|
|
6
|
+
"ArrowUp",
|
|
7
|
+
"Mod+ArrowDown",
|
|
8
|
+
"Mod+ArrowUp",
|
|
9
|
+
"Enter",
|
|
10
|
+
"Escape",
|
|
11
|
+
"Backspace",
|
|
12
|
+
"Shift+Enter",
|
|
13
|
+
"Mod+Enter",
|
|
14
|
+
"ArrowLeft",
|
|
15
|
+
"ArrowRight",
|
|
16
|
+
"Tab",
|
|
17
|
+
"Shift+Tab",
|
|
18
|
+
"Space",
|
|
19
|
+
"Mod+B",
|
|
20
|
+
"Mod+U",
|
|
21
|
+
"Mod+I",
|
|
22
|
+
"Mod+S",
|
|
23
|
+
"Mod+K",
|
|
24
|
+
"Mod+Equal",
|
|
25
|
+
"Mod+Shift+Equal",
|
|
26
|
+
"Mod+Minus",
|
|
27
|
+
"Mod+Shift+Minus",
|
|
28
|
+
"PageUp",
|
|
29
|
+
"PageDown",
|
|
30
|
+
"Home",
|
|
31
|
+
"End"
|
|
32
|
+
], c = typeof navigator < "u" && /Mac|iPhone|iPad|iPod/i.test(navigator.platform), d = (o) => o.key === "Meta" || o.metaKey, s = (o) => o.key === "Control" || o.ctrlKey, M = {
|
|
33
|
+
Mod: (o) => c ? d(o) : s(o),
|
|
34
|
+
Alt: (o) => o.key === "Alt" || o.altKey,
|
|
35
|
+
Shift: (o) => o.key === "Shift" || o.shiftKey,
|
|
36
|
+
Meta: (o) => c ? s(o) : d(o)
|
|
37
|
+
}, f = (o) => {
|
|
38
|
+
try {
|
|
39
|
+
const t = [];
|
|
40
|
+
for (const e of Object.values(a))
|
|
41
|
+
M[e](o) && t.push(e);
|
|
42
|
+
if (["Meta", "Control", "Alt", "Shift"].includes(o.key)) {
|
|
43
|
+
const e = t.join("+");
|
|
44
|
+
return { key: e, code: e };
|
|
67
45
|
}
|
|
68
|
-
|
|
69
|
-
|
|
46
|
+
const r = ["Key", "Digit", "Numpad"].find((e) => o.code.startsWith(e)), n = r ? o.code.slice(r.length) : o.code, i = o.key.length === 1 ? o.key.toUpperCase() : o.key;
|
|
47
|
+
return {
|
|
48
|
+
key: [...t, i].join("+"),
|
|
49
|
+
code: [...t, n].join("+")
|
|
50
|
+
};
|
|
51
|
+
} catch {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
}, y = (o) => {
|
|
55
|
+
const t = f(o);
|
|
56
|
+
if (!t)
|
|
57
|
+
return null;
|
|
58
|
+
const { key: r, code: n } = t;
|
|
59
|
+
return [r, n].find((i) => l.includes(i)) ?? null;
|
|
60
|
+
}, u = (o) => (t) => {
|
|
61
|
+
o(y(t), t);
|
|
62
|
+
};
|
|
70
63
|
export {
|
|
71
|
-
|
|
64
|
+
a as Modifier,
|
|
65
|
+
f as getKeyCombo,
|
|
66
|
+
y as getModuleKeyCombo,
|
|
67
|
+
u as onElementKeyDownFactory
|
|
72
68
|
};
|
package/dist/bundle.es72.js
CHANGED
|
@@ -1,16 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
const l = (e) => e.nodeType === Node.TEXT_NODE, c = (e) => e.nodeType === Node.ELEMENT_NODE, a = (e) => l(e) ? e.nodeValue || "" : c(e) && e.nodeName === "IMG" ? e.getAttribute("alt") || "" : c(e) && e.nodeName === "DIV" || c(e) && e.nodeName === "BR" && !(e.parentElement && c(e.parentElement) && e.parentElement.nodeName === "DIV" && e.parentElement.getAttribute("contenteditable") !== "true") ? `
|
|
2
|
+
` : "", u = (e) => {
|
|
3
|
+
const t = document.getSelection();
|
|
4
|
+
if (!t || t.rangeCount === 0)
|
|
5
|
+
return {};
|
|
6
|
+
const n = t.getRangeAt(0);
|
|
7
|
+
return n && e.contains(n.commonAncestorContainer) ? { range: n, selection: t } : {};
|
|
8
|
+
}, s = (e, t, n) => {
|
|
9
|
+
let r = n, o = t;
|
|
10
|
+
e === t && (r = 0, o = e.childNodes[n]);
|
|
11
|
+
const i = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT);
|
|
12
|
+
for (; i.nextNode(); ) {
|
|
13
|
+
if (i.currentNode === o)
|
|
14
|
+
return r;
|
|
15
|
+
r += a(i.currentNode).length;
|
|
16
|
+
}
|
|
17
|
+
return r;
|
|
18
|
+
}, m = (e, t) => {
|
|
19
|
+
const n = s(e, t.startContainer, t.startOffset);
|
|
20
|
+
return {
|
|
21
|
+
from: n,
|
|
22
|
+
to: t.collapsed ? n : s(e, t.endContainer, t.endOffset)
|
|
23
|
+
};
|
|
24
|
+
}, f = () => {
|
|
25
|
+
const e = window.getSelection();
|
|
26
|
+
if (!e || !e.rangeCount) return;
|
|
27
|
+
const t = e.getRangeAt(0);
|
|
28
|
+
if (t.commonAncestorContainer === document) return;
|
|
29
|
+
const n = t.commonAncestorContainer.parentElement;
|
|
30
|
+
if (!n) return;
|
|
31
|
+
const r = n.getBoundingClientRect(), o = t.getBoundingClientRect().bottom - r.bottom;
|
|
32
|
+
o > 0 && n.scrollBy({ top: o });
|
|
33
|
+
}, d = (e) => e.replace(/ /gi, " ").replace(/<br\s*\/?>/gi, `
|
|
34
|
+
`);
|
|
14
35
|
export {
|
|
15
|
-
|
|
36
|
+
u as getEditorSelection,
|
|
37
|
+
a as getNodeTextContent,
|
|
38
|
+
s as getPlainTextOffset,
|
|
39
|
+
m as getTextSelectionOffsets,
|
|
40
|
+
c as isElementNode,
|
|
41
|
+
l as isTextNode,
|
|
42
|
+
d as normalizeEditorText,
|
|
43
|
+
f as scrollSelectionIntoView
|
|
16
44
|
};
|
package/dist/bundle.es73.js
CHANGED
|
@@ -1,77 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
] });
|
|
1
|
+
const r = (e, o) => {
|
|
2
|
+
let t;
|
|
3
|
+
try {
|
|
4
|
+
t = localStorage.getItem(e) || void 0;
|
|
5
|
+
} catch {
|
|
6
|
+
}
|
|
7
|
+
return t ?? o;
|
|
8
|
+
}, m = (e) => (e || (e = window.matchMedia("(prefers-color-scheme: dark)")), e.matches ? "dark" : "light"), s = (e) => {
|
|
9
|
+
const [o, t] = ["theme-light", "theme-dark"];
|
|
10
|
+
let c = e;
|
|
11
|
+
e === "system" && (c = m()), document.documentElement.classList.remove(o, t), document.documentElement.classList.add(c === "dark" ? t : o), document.documentElement.style.colorScheme = c;
|
|
74
12
|
};
|
|
75
13
|
export {
|
|
76
|
-
|
|
14
|
+
r as getColorScheme,
|
|
15
|
+
m as getSystemColorScheme,
|
|
16
|
+
s as updateDOM
|
|
77
17
|
};
|
package/dist/bundle.es74.js
CHANGED
|
@@ -1,51 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
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]
|
|
1
|
+
import { jsx as s, Fragment as p } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as f, useState as c, useImperativeHandle as u } from "react";
|
|
3
|
+
import { AlertDialog as x } from "./bundle.es25.js";
|
|
4
|
+
const g = f((l, a) => {
|
|
5
|
+
const [i, o] = c([]);
|
|
6
|
+
u(
|
|
7
|
+
a,
|
|
8
|
+
() => ({
|
|
9
|
+
showAlert: (e) => {
|
|
10
|
+
o((t) => [...t, e]);
|
|
11
|
+
}
|
|
12
|
+
}),
|
|
13
|
+
[]
|
|
38
14
|
);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
isDayDisabled: D,
|
|
45
|
-
isMonthDisabled: k,
|
|
46
|
-
isYearDisabled: v
|
|
15
|
+
const d = (e) => {
|
|
16
|
+
o((t) => {
|
|
17
|
+
const r = [...t], n = r.findIndex((m) => m.id === e);
|
|
18
|
+
return n !== -1 && r.splice(n, 1), r;
|
|
19
|
+
});
|
|
47
20
|
};
|
|
48
|
-
}
|
|
21
|
+
return /* @__PURE__ */ s(p, { children: i.map(({ id: e, ...t }) => /* @__PURE__ */ s(
|
|
22
|
+
x,
|
|
23
|
+
{
|
|
24
|
+
defaultOpen: !0,
|
|
25
|
+
onClosed: () => d(e),
|
|
26
|
+
...l,
|
|
27
|
+
...t
|
|
28
|
+
},
|
|
29
|
+
`alert-${e}`
|
|
30
|
+
)) });
|
|
31
|
+
});
|
|
49
32
|
export {
|
|
50
|
-
|
|
33
|
+
g as Viewport
|
|
51
34
|
};
|
package/dist/bundle.es75.js
CHANGED
|
@@ -1,16 +1,72 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { jsxs as y, jsx as I } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as $, useState as b, useMemo as C, useImperativeHandle as w, useCallback as P, createElement as j } from "react";
|
|
3
|
+
import * as c from "@radix-ui/react-toast";
|
|
4
|
+
import { customCSS as k } from "@companix/utils-browser";
|
|
5
|
+
import { Toast as E } from "./bundle.es53.js";
|
|
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
|
+
const M = $((r, h) => {
|
|
8
|
+
const { side: l = "top", align: f = "center", gap: d = 14, duration: g, swipeThreshold: x, closeIcon: T } = r, [i, p] = b([]), a = C(() => ({}), []);
|
|
9
|
+
w(
|
|
10
|
+
h,
|
|
11
|
+
() => ({
|
|
12
|
+
showToast: (t) => {
|
|
13
|
+
p((o) => {
|
|
14
|
+
const e = [...o], n = o.findIndex((s) => s.id === t.id);
|
|
15
|
+
return n === -1 ? e.push(t) : e[n] = t, e;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}),
|
|
19
|
+
[]
|
|
20
|
+
);
|
|
21
|
+
const m = P((t) => {
|
|
22
|
+
t.forEach(({ id: o }, e) => {
|
|
23
|
+
let n = 0;
|
|
24
|
+
for (let s = e + 1; s < t.length; s++)
|
|
25
|
+
a[t[s].id] && (n += a[t[s].id].clientHeight + d);
|
|
26
|
+
a[o] && a[o].style.setProperty("--offset", `${n}px`);
|
|
27
|
+
});
|
|
28
|
+
}, []), v = (t) => {
|
|
29
|
+
p((o) => {
|
|
30
|
+
const e = [...o], n = e.findIndex((s) => s.id === t);
|
|
31
|
+
return n !== -1 && e.splice(n, 1), e;
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
return /* @__PURE__ */ y(
|
|
35
|
+
c.Provider,
|
|
36
|
+
{
|
|
37
|
+
swipeThreshold: x,
|
|
38
|
+
swipeDirection: u[`${l}-${f}`],
|
|
39
|
+
children: [
|
|
40
|
+
i.map(({ id: t, ...o }) => /* @__PURE__ */ j(
|
|
41
|
+
E,
|
|
42
|
+
{
|
|
43
|
+
...o,
|
|
44
|
+
id: t,
|
|
45
|
+
key: `toaster-${t}`,
|
|
46
|
+
duration: o.duration ?? g,
|
|
47
|
+
closeIcon: T,
|
|
48
|
+
onInitialized: (e) => {
|
|
49
|
+
a[t] = e, m(i);
|
|
50
|
+
},
|
|
51
|
+
onClosing: () => {
|
|
52
|
+
delete a[t], m(i);
|
|
53
|
+
},
|
|
54
|
+
onClosed: () => v(t)
|
|
55
|
+
}
|
|
56
|
+
)),
|
|
57
|
+
/* @__PURE__ */ I(
|
|
58
|
+
c.Viewport,
|
|
59
|
+
{
|
|
60
|
+
"data-side": l,
|
|
61
|
+
"data-align": f,
|
|
62
|
+
className: "toaster-viewport",
|
|
63
|
+
style: k({ "--toasters-gap": `${d}px` })
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
]
|
|
10
67
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
68
|
+
);
|
|
69
|
+
});
|
|
14
70
|
export {
|
|
15
|
-
|
|
71
|
+
M as Viewport
|
|
16
72
|
};
|
|
@@ -0,0 +1,77 @@
|
|
|
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.es13.js";
|
|
4
|
+
import { getMonths as k, getYears as z, DEFAULT_MAX_YEAR as f, DEFAULT_MIN_YEAR as g } from "./bundle.es64.js";
|
|
5
|
+
import { Icon as C } from "./bundle.es35.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
|
+
] });
|
|
74
|
+
};
|
|
75
|
+
export {
|
|
76
|
+
y as CalendarHeader
|
|
77
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
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.es64.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, 1));
|
|
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
|
+
};
|
|
48
|
+
};
|
|
49
|
+
export {
|
|
50
|
+
X as useCalendar
|
|
51
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useRef as l, useCallback as p } from "react";
|
|
2
|
+
import { useEffectWithLayout as d } from "./bundle.es79.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 };
|
|
13
|
+
};
|
|
14
|
+
export {
|
|
15
|
+
g as useInputPadding
|
|
16
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useRef as f, useLayoutEffect as u, useEffect as s } from "react";
|
|
2
|
+
const o = (t, r) => {
|
|
3
|
+
const e = f(!1);
|
|
4
|
+
u(() => {
|
|
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 useEffectWithLayout
|
|
16
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -73,6 +73,7 @@ export type { BlankProps } from './Blank';
|
|
|
73
73
|
export { ProgressRing } from './ProgressRing';
|
|
74
74
|
export type { ProgressRingProps } from './ProgressRing';
|
|
75
75
|
export { WriteBar } from './WriteBar';
|
|
76
|
+
export { Editor } from './WriteBar/Editor';
|
|
76
77
|
export type { WriteBarProps } from './WriteBar';
|
|
77
78
|
export { DropArea, DropAreaProvider, useDragEnter } from './DropArea';
|
|
78
79
|
export type { DropAreaProps } from './DropArea';
|