@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.
- package/dist/Button/Button.scss +128 -0
- package/dist/ButtonGroup/ButtonGroup.scss +18 -0
- package/dist/Checkbox/Checkbox.scss +115 -0
- package/dist/DateInput/DateInput.scss +11 -0
- package/dist/DatePicker/Calendar.scss +125 -0
- package/dist/DatePicker/DatePicker.scss +0 -0
- package/dist/Dialog/Dialog.scss +25 -0
- package/dist/Dialog/Popup.scss +55 -0
- package/dist/DialogAlert/Alert.scss +52 -0
- package/dist/Drawer/Drawer.scss +112 -0
- package/dist/Form/Form.scss +70 -0
- package/dist/Form/Input.scss +24 -0
- package/dist/Icon/icon.scss +18 -0
- package/dist/OptionItem/Option.scss +89 -0
- package/dist/Popover/Popover.scss +80 -0
- package/dist/Radio/Radio.scss +148 -0
- package/dist/Scrollable/Scrollable.scss +50 -0
- package/dist/Select/Select.scss +80 -0
- package/dist/SelectTags/SelectTags.scss +66 -0
- package/dist/Spinner/Spinner.scss +14 -0
- package/dist/Stepper/StepperInput.scss +35 -0
- package/dist/Switch/Switch.scss +102 -0
- package/dist/Tabs/Tabs.scss +58 -0
- package/dist/TextArea/TextArea.scss +34 -0
- package/dist/Toaster/Toaster.scss +151 -0
- package/dist/Tooltip/Tooltip.scss +28 -0
- package/dist/bundle.es.js +56 -59
- package/dist/bundle.es10.js +35 -84
- package/dist/bundle.es11.js +30 -72
- package/dist/bundle.es12.js +14 -34
- package/dist/bundle.es13.js +7 -30
- package/dist/bundle.es14.js +33 -16
- package/dist/bundle.es15.js +24 -8
- package/dist/bundle.es16.js +15 -27
- package/dist/bundle.es17.js +22 -25
- package/dist/bundle.es18.js +13 -21
- package/dist/bundle.es19.js +38 -22
- package/dist/bundle.es2.js +45 -0
- package/dist/bundle.es20.js +16 -13
- package/dist/bundle.es21.js +34 -39
- package/dist/bundle.es22.js +20 -15
- package/dist/bundle.es23.js +38 -32
- package/dist/bundle.es24.js +110 -20
- package/dist/bundle.es25.js +106 -34
- package/dist/bundle.es26.js +34 -110
- package/dist/bundle.es27.js +11 -113
- package/dist/bundle.es28.js +23 -34
- package/dist/bundle.es29.js +35 -10
- package/dist/bundle.es3.js +10 -42
- package/dist/bundle.es30.js +20 -21
- package/dist/bundle.es31.js +81 -36
- package/dist/bundle.es32.js +20 -0
- package/dist/bundle.es33.js +16 -0
- package/dist/bundle.es34.js +24 -0
- package/dist/bundle.es35.js +5 -41
- package/dist/bundle.es36.js +18 -437
- package/dist/bundle.es37.js +14 -22
- package/dist/bundle.es38.js +68 -22
- package/dist/bundle.es39.js +68 -81
- package/dist/bundle.es4.js +85 -12
- package/dist/bundle.es40.js +31 -17
- package/dist/bundle.es41.js +67 -13
- package/dist/bundle.es43.js +75 -5
- package/dist/bundle.es44.js +46 -18
- package/dist/bundle.es45.js +42 -13
- package/dist/bundle.es5.js +82 -83
- package/dist/bundle.es6.js +74 -81
- package/dist/bundle.es7.js +26 -78
- package/dist/bundle.es8.js +80 -22
- package/dist/bundle.es9.js +71 -43
- package/dist/css-properties.scss +120 -0
- package/dist/{types/index.d.ts → index.d.ts} +0 -1
- package/dist/index.scss +25 -0
- package/dist/mixins.scss +100 -0
- package/dist/theme.scss +101 -0
- package/package.json +1 -1
- package/dist/bundle.es46.js +0 -72
- package/dist/bundle.es47.js +0 -70
- package/dist/bundle.es48.js +0 -34
- package/dist/bundle.es49.js +0 -70
- package/dist/bundle.es51.js +0 -78
- package/dist/bundle.es52.js +0 -51
- package/dist/bundle.es53.js +0 -45
- package/dist/bundle.es54.js +0 -40
- package/dist/bundle.es55.js +0 -36
- package/dist/bundle.es56.js +0 -9
- package/dist/bundle.es57.js +0 -9
- package/dist/bundle.es58.js +0 -7
- package/dist/bundle.es59.js +0 -9
- package/dist/bundle.es60.js +0 -8
- package/dist/bundle.es61.js +0 -19
- package/dist/bundle.es62.js +0 -15
- package/dist/bundle.es63.js +0 -22
- package/dist/bundle.es64.js +0 -45
- package/dist/bundle.es65.js +0 -28
- package/dist/bundle.es66.js +0 -34
- package/dist/bundle.es67.js +0 -6
- package/dist/bundle.es68.js +0 -12
- package/dist/bundle.es69.js +0 -47
- package/dist/bundle.es70.js +0 -11
- package/dist/bundle.es71.js +0 -18
- package/dist/bundle.es72.js +0 -32
- package/dist/bundle.es73.js +0 -35
- package/dist/bundle.es74.js +0 -6
- package/dist/bundle.es75.js +0 -7
- package/dist/bundle.es76.js +0 -7
- package/dist/bundle.es77.js +0 -11
- package/dist/bundle.es78.js +0 -17
- package/dist/bundle.es79.js +0 -7
- package/dist/bundle.es80.js +0 -17
- package/dist/bundle.es81.js +0 -25
- package/dist/uikit.css +0 -1
- /package/dist/{types/Button → Button}/index.d.ts +0 -0
- /package/dist/{types/ButtonGroup → ButtonGroup}/index.d.ts +0 -0
- /package/dist/{types/Checkbox → Checkbox}/index.d.ts +0 -0
- /package/dist/{types/Countdown → Countdown}/index.d.ts +0 -0
- /package/dist/{types/DateInput → DateInput}/index.d.ts +0 -0
- /package/dist/{types/DatePicker → DatePicker}/Calendar.d.ts +0 -0
- /package/dist/{types/DatePicker → DatePicker}/CalendarHeader.d.ts +0 -0
- /package/dist/{types/DatePicker → DatePicker}/index.d.ts +0 -0
- /package/dist/{types/Dialog → Dialog}/index.d.ts +0 -0
- /package/dist/{types/DialogAlert → DialogAlert}/Alert.d.ts +0 -0
- /package/dist/{types/DialogAlert → DialogAlert}/Viewport.d.ts +0 -0
- /package/dist/{types/DialogAlert → DialogAlert}/index.d.ts +0 -0
- /package/dist/{types/Drawer → Drawer}/index.d.ts +0 -0
- /package/dist/{types/File → File}/index.d.ts +0 -0
- /package/dist/{types/Form → Form}/index.d.ts +0 -0
- /package/dist/{types/Icon → Icon}/index.d.ts +0 -0
- /package/dist/{types/LoadButton → LoadButton}/index.d.ts +0 -0
- /package/dist/{types/NumberInput → NumberInput}/index.d.ts +0 -0
- /package/dist/{types/OptionItem → OptionItem}/OptionItem.d.ts +0 -0
- /package/dist/{types/OptionItem → OptionItem}/OptionsList.d.ts +0 -0
- /package/dist/{types/Popover → Popover}/index.d.ts +0 -0
- /package/dist/{types/Radio → Radio}/index.d.ts +0 -0
- /package/dist/{types/Scrollable → Scrollable}/ImitateScroll.d.ts +0 -0
- /package/dist/{types/Scrollable → Scrollable}/index.d.ts +0 -0
- /package/dist/{types/Select → Select}/SelectInput.d.ts +0 -0
- /package/dist/{types/Select → Select}/index.d.ts +0 -0
- /package/dist/{types/SelectTags → SelectTags}/index.d.ts +0 -0
- /package/dist/{types/Spinner → Spinner}/index.d.ts +0 -0
- /package/dist/{types/Stepper → Stepper}/index.d.ts +0 -0
- /package/dist/{types/Switch → Switch}/index.d.ts +0 -0
- /package/dist/{types/Tabs → Tabs}/index.d.ts +0 -0
- /package/dist/{types/TextArea → TextArea}/index.d.ts +0 -0
- /package/dist/{types/Toaster → Toaster}/RemoveListener.d.ts +0 -0
- /package/dist/{types/Toaster → Toaster}/Toast.d.ts +0 -0
- /package/dist/{types/Toaster → Toaster}/Viewport.d.ts +0 -0
- /package/dist/{types/Toaster → Toaster}/index.d.ts +0 -0
- /package/dist/{types/Tooltip → Tooltip}/index.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-frooze-closing.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-loading.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-local-storage.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-popover-position.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-previos.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-resize.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-scrollbox.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-stepper-input.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/use-update.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/useCalendar.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/useCalendarOptions-copy.d.ts +0 -0
- /package/dist/{types/__hooks → __hooks}/useCalendarOptions.d.ts +0 -0
- /package/dist/{types/__libs → __libs}/calendar.d.ts +0 -0
- /package/dist/{types/__utils → __utils}/utils.d.ts +0 -0
- /package/dist/{bundle.es50.js → bundle.es42.js} +0 -0
- /package/dist/{types/types.d.ts → types.d.ts} +0 -0
package/dist/bundle.es9.js
CHANGED
|
@@ -1,47 +1,75 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { jsxs as z, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import A from "classnames";
|
|
3
|
+
import F from "react-input-mask";
|
|
4
|
+
import { useLayoutAndUpdate as M } from "./bundle.es33.js";
|
|
5
|
+
import { attr as c } from "@companix/utils-browser";
|
|
6
|
+
import { forwardRef as R, useRef as m, useCallback as g } from "react";
|
|
7
|
+
import { mergeRefs as U } from "react-merge-refs";
|
|
8
|
+
const Q = R(
|
|
9
|
+
({
|
|
10
|
+
required: n,
|
|
11
|
+
size: f,
|
|
12
|
+
fill: a,
|
|
13
|
+
leftElement: e,
|
|
14
|
+
rightElement: u,
|
|
15
|
+
onChange: x,
|
|
16
|
+
onValueChange: $,
|
|
17
|
+
readOnly: b,
|
|
18
|
+
className: I,
|
|
19
|
+
value: N,
|
|
20
|
+
placeholder: W,
|
|
21
|
+
disabled: p,
|
|
22
|
+
mask: y,
|
|
23
|
+
maskChar: C,
|
|
24
|
+
inputRef: L,
|
|
25
|
+
...j
|
|
26
|
+
}, k) => {
|
|
27
|
+
const s = m(null), l = m(null), d = m(null), q = { Right: l, Left: d }, h = g((t) => {
|
|
28
|
+
if (s.current) {
|
|
29
|
+
const i = s.current.style, o = q[t];
|
|
30
|
+
o.current && o.current.clientWidth ? i[`padding${t}`] !== `${o.current.clientWidth}px` && (i[`padding${t}`] = `${o.current.clientWidth}px`) : i[`padding${t}`] && (i[`padding${t}`] = "");
|
|
31
|
+
}
|
|
32
|
+
}, []);
|
|
33
|
+
M(() => {
|
|
34
|
+
h("Left"), h("Right");
|
|
35
|
+
}, [u, e]);
|
|
36
|
+
const w = g((t) => {
|
|
37
|
+
x?.(t), $?.(t.target.value, t.target);
|
|
38
|
+
}, []);
|
|
39
|
+
return /* @__PURE__ */ z(
|
|
40
|
+
"div",
|
|
15
41
|
{
|
|
16
|
-
ref:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
42
|
+
ref: k,
|
|
43
|
+
className: A("form", I),
|
|
44
|
+
"data-size": f ?? "md",
|
|
45
|
+
"data-fill": c(a),
|
|
46
|
+
"data-required": c(n),
|
|
47
|
+
"data-disabled": c(p),
|
|
48
|
+
...j,
|
|
49
|
+
children: [
|
|
50
|
+
e && /* @__PURE__ */ r("span", { ref: d, className: "form-input-base-left-element", children: e }),
|
|
51
|
+
/* @__PURE__ */ r(
|
|
52
|
+
v,
|
|
53
|
+
{
|
|
54
|
+
type: "text",
|
|
55
|
+
ref: U([s, L]),
|
|
56
|
+
className: "form-input form-input-base",
|
|
57
|
+
"aria-disabled": p,
|
|
58
|
+
onChange: w,
|
|
59
|
+
value: N,
|
|
60
|
+
placeholder: W,
|
|
61
|
+
disabled: p,
|
|
62
|
+
readOnly: b,
|
|
63
|
+
maskChar: C,
|
|
64
|
+
mask: y
|
|
65
|
+
}
|
|
66
|
+
),
|
|
67
|
+
u && /* @__PURE__ */ r("span", { ref: l, className: "form-input-base-right-element", children: u })
|
|
68
|
+
]
|
|
21
69
|
}
|
|
22
|
-
)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}, I = ({ increment: r, decrement: t }) => /* @__PURE__ */ a("div", { className: "number-stepper", children: [
|
|
26
|
-
/* @__PURE__ */ e(c, { slot: "increment", onClick: r, children: /* @__PURE__ */ e(m, { size: "xxs", icon: C }) }),
|
|
27
|
-
/* @__PURE__ */ e("div", { className: "number-stepper-splitter" }),
|
|
28
|
-
/* @__PURE__ */ e(c, { slot: "decrement", onClick: t, children: /* @__PURE__ */ e(m, { size: "xxs", icon: b }) })
|
|
29
|
-
] }), c = ({ children: r, slot: t, onClick: n }) => {
|
|
30
|
-
const { pressProps: o, isPressed: s } = h({ onClick: n, preventFocusOnPress: !0 }), { onBeforeInput: p, ...i } = o;
|
|
31
|
-
return /* @__PURE__ */ e(
|
|
32
|
-
v,
|
|
33
|
-
{
|
|
34
|
-
...i,
|
|
35
|
-
onBeforeInput: p,
|
|
36
|
-
"data-slot": t,
|
|
37
|
-
"data-size": void 0,
|
|
38
|
-
"data-pressed": x(s),
|
|
39
|
-
style: { border: "none" },
|
|
40
|
-
className: "number-stepper-slot",
|
|
41
|
-
children: r
|
|
42
|
-
}
|
|
43
|
-
);
|
|
44
|
-
};
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
), v = R(({ mask: n, maskChar: f, ...a }, e) => n ? /* @__PURE__ */ r(F, { inputRef: e, mask: n, maskChar: f, ...a }) : /* @__PURE__ */ r("input", { ref: e, ...a }));
|
|
45
73
|
export {
|
|
46
|
-
|
|
74
|
+
Q as Form
|
|
47
75
|
};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
$properties: (
|
|
2
|
+
// Layout
|
|
3
|
+
display,
|
|
4
|
+
position,
|
|
5
|
+
top,
|
|
6
|
+
right,
|
|
7
|
+
bottom,
|
|
8
|
+
left,
|
|
9
|
+
z-index,
|
|
10
|
+
float,
|
|
11
|
+
clear,
|
|
12
|
+
overflow,
|
|
13
|
+
overflow-x,
|
|
14
|
+
overflow-y,
|
|
15
|
+
visibility,
|
|
16
|
+
// Box model
|
|
17
|
+
box-sizing,
|
|
18
|
+
width,
|
|
19
|
+
min-width,
|
|
20
|
+
max-width,
|
|
21
|
+
height,
|
|
22
|
+
min-height,
|
|
23
|
+
max-height,
|
|
24
|
+
margin,
|
|
25
|
+
margin-top,
|
|
26
|
+
margin-right,
|
|
27
|
+
margin-bottom,
|
|
28
|
+
margin-left,
|
|
29
|
+
padding,
|
|
30
|
+
padding-top,
|
|
31
|
+
padding-right,
|
|
32
|
+
padding-bottom,
|
|
33
|
+
padding-left,
|
|
34
|
+
// Flexbox
|
|
35
|
+
flex,
|
|
36
|
+
flex-direction,
|
|
37
|
+
flex-wrap,
|
|
38
|
+
flex-grow,
|
|
39
|
+
flex-shrink,
|
|
40
|
+
flex-basis,
|
|
41
|
+
justify-content,
|
|
42
|
+
align-items,
|
|
43
|
+
align-content,
|
|
44
|
+
align-self,
|
|
45
|
+
gap,
|
|
46
|
+
row-gap,
|
|
47
|
+
column-gap,
|
|
48
|
+
// Grid
|
|
49
|
+
grid,
|
|
50
|
+
grid-template-columns,
|
|
51
|
+
grid-template-rows,
|
|
52
|
+
grid-template-areas,
|
|
53
|
+
grid-column,
|
|
54
|
+
grid-row,
|
|
55
|
+
grid-area,
|
|
56
|
+
// Typography
|
|
57
|
+
color,
|
|
58
|
+
font,
|
|
59
|
+
font-family,
|
|
60
|
+
font-size,
|
|
61
|
+
font-weight,
|
|
62
|
+
font-style,
|
|
63
|
+
font-stretch,
|
|
64
|
+
line-height,
|
|
65
|
+
letter-spacing,
|
|
66
|
+
text-align,
|
|
67
|
+
text-decoration,
|
|
68
|
+
text-transform,
|
|
69
|
+
text-overflow,
|
|
70
|
+
white-space,
|
|
71
|
+
word-break,
|
|
72
|
+
word-wrap,
|
|
73
|
+
// Background
|
|
74
|
+
background,
|
|
75
|
+
background-color,
|
|
76
|
+
background-image,
|
|
77
|
+
background-repeat,
|
|
78
|
+
background-position,
|
|
79
|
+
background-size,
|
|
80
|
+
// Border
|
|
81
|
+
border,
|
|
82
|
+
border-width,
|
|
83
|
+
border-style,
|
|
84
|
+
border-color,
|
|
85
|
+
border-radius,
|
|
86
|
+
border-top,
|
|
87
|
+
border-right,
|
|
88
|
+
border-bottom,
|
|
89
|
+
border-left,
|
|
90
|
+
// Effects
|
|
91
|
+
box-shadow,
|
|
92
|
+
opacity,
|
|
93
|
+
filter,
|
|
94
|
+
// Transform & animation
|
|
95
|
+
transform,
|
|
96
|
+
transform-origin,
|
|
97
|
+
transition,
|
|
98
|
+
transition-property,
|
|
99
|
+
transition-duration,
|
|
100
|
+
transition-timing-function,
|
|
101
|
+
transition-delay,
|
|
102
|
+
animation,
|
|
103
|
+
animation-name,
|
|
104
|
+
animation-duration,
|
|
105
|
+
animation-timing-function,
|
|
106
|
+
animation-delay,
|
|
107
|
+
animation-iteration-count,
|
|
108
|
+
animation-direction,
|
|
109
|
+
animation-fill-mode,
|
|
110
|
+
// Interaction
|
|
111
|
+
cursor,
|
|
112
|
+
pointer-events,
|
|
113
|
+
user-select,
|
|
114
|
+
// Misc
|
|
115
|
+
outline,
|
|
116
|
+
outline-offset,
|
|
117
|
+
resize,
|
|
118
|
+
object-fit,
|
|
119
|
+
object-position
|
|
120
|
+
);
|
|
@@ -4,7 +4,6 @@ export { Scrollable } from './Scrollable';
|
|
|
4
4
|
export { ImitateScroll } from './Scrollable/ImitateScroll';
|
|
5
5
|
export { Popover } from './Popover';
|
|
6
6
|
export { Tooltip } from './Tooltip';
|
|
7
|
-
export { StepperInput } from './Stepper';
|
|
8
7
|
export { Select } from './Select';
|
|
9
8
|
export { Form } from './Form';
|
|
10
9
|
export { OptionItem } from './OptionItem/OptionItem';
|
package/dist/index.scss
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
@use './Button/Button.scss';
|
|
2
|
+
@use './Icon/icon.scss';
|
|
3
|
+
@use './Popover/Popover.scss';
|
|
4
|
+
@use './Tooltip/Tooltip.scss';
|
|
5
|
+
@use './Checkbox/Checkbox.scss';
|
|
6
|
+
@use './Radio/Radio.scss';
|
|
7
|
+
@use './Tabs/Tabs.scss';
|
|
8
|
+
@use './Toaster/Toaster.scss';
|
|
9
|
+
@use './Dialog/Popup.scss';
|
|
10
|
+
@use './Dialog/Dialog.scss';
|
|
11
|
+
@use './DialogAlert/Alert.scss';
|
|
12
|
+
@use './Drawer/Drawer.scss';
|
|
13
|
+
@use './Form/Form.scss';
|
|
14
|
+
@use './Select/Select.scss';
|
|
15
|
+
@use './TextArea/TextArea.scss';
|
|
16
|
+
@use './SelectTags/SelectTags.scss';
|
|
17
|
+
@use './OptionItem/Option.scss';
|
|
18
|
+
@use './DateInput/DateInput.scss';
|
|
19
|
+
@use './DatePicker/DatePicker.scss';
|
|
20
|
+
@use './DatePicker/Calendar.scss';
|
|
21
|
+
@use './Form/Input.scss';
|
|
22
|
+
@use './Switch/Switch.scss';
|
|
23
|
+
@use './Spinner/Spinner.scss';
|
|
24
|
+
@use './ButtonGroup/ButtonGroup.scss';
|
|
25
|
+
@use './Scrollable/Scrollable.scss';
|
package/dist/mixins.scss
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
@use './theme.scss';
|
|
2
|
+
@use './css-properties.scss';
|
|
3
|
+
|
|
4
|
+
@use 'sass:map';
|
|
5
|
+
@use 'sass:list';
|
|
6
|
+
@use 'sass:meta';
|
|
7
|
+
|
|
8
|
+
@mixin height($size) {
|
|
9
|
+
height: $size;
|
|
10
|
+
min-height: $size;
|
|
11
|
+
max-height: $size;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@mixin box($size) {
|
|
15
|
+
height: $size;
|
|
16
|
+
width: $size;
|
|
17
|
+
min-width: $size;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@mixin items-spacing($spacing) {
|
|
21
|
+
& > * {
|
|
22
|
+
margin-right: $spacing;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
& > :last-child {
|
|
26
|
+
margin-right: 0;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@mixin truncate-text() {
|
|
31
|
+
overflow: hidden;
|
|
32
|
+
text-overflow: ellipsis;
|
|
33
|
+
white-space: nowrap;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@function get-value($map, $keys...) {
|
|
37
|
+
$current: $map;
|
|
38
|
+
|
|
39
|
+
@each $key in $keys {
|
|
40
|
+
@if meta.type-of($current) != 'map' {
|
|
41
|
+
@return null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
$current: map.get($current, $key);
|
|
45
|
+
|
|
46
|
+
@if $current == null {
|
|
47
|
+
@return null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@return $current;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@mixin set-style($property, $source, $keys...) {
|
|
55
|
+
$path: list.append($keys, $property);
|
|
56
|
+
$var-name: get-value($source, $path...);
|
|
57
|
+
|
|
58
|
+
@if $var-name != null {
|
|
59
|
+
@if meta.type-of($var-name) != 'map' {
|
|
60
|
+
#{$property}: $var-name;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@mixin use-styles($component, $keys...) {
|
|
66
|
+
$source: map.get(theme.$tokens, $component);
|
|
67
|
+
|
|
68
|
+
@each $property, $v in css-properties.$properties {
|
|
69
|
+
@include set-style($property, $source, $keys...);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
@mixin use-styles-debug($component, $keys...) {
|
|
74
|
+
$source: map.get(theme.$tokens, $component);
|
|
75
|
+
|
|
76
|
+
@debug $source;
|
|
77
|
+
|
|
78
|
+
@each $property, $v in css-properties.$properties {
|
|
79
|
+
@include set-style($property, $source, $keys...);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@function get-var-name($component, $keys...) {
|
|
84
|
+
$source: map.get(theme.$tokens, $component);
|
|
85
|
+
$var-name: get-value($source, $keys...);
|
|
86
|
+
|
|
87
|
+
@return $var-name;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@mixin use-size($component, $keys...) {
|
|
91
|
+
$name: get-var-name($component, $keys...);
|
|
92
|
+
|
|
93
|
+
@if $name != null {
|
|
94
|
+
@if meta.type-of($name) != 'map' {
|
|
95
|
+
width: $name;
|
|
96
|
+
min-width: $name;
|
|
97
|
+
height: $name;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
package/dist/theme.scss
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use 'sass:string';
|
|
3
|
+
@use 'sass:list';
|
|
4
|
+
|
|
5
|
+
$button-appearances: ();
|
|
6
|
+
$tokens: ();
|
|
7
|
+
|
|
8
|
+
@function str-split($string, $delimiter) {
|
|
9
|
+
$result: ();
|
|
10
|
+
$buffer: '';
|
|
11
|
+
|
|
12
|
+
@for $i from 1 through string.length($string) {
|
|
13
|
+
$char: string.slice($string, $i, $i);
|
|
14
|
+
|
|
15
|
+
@if ($char == $delimiter) {
|
|
16
|
+
$result: list.append($result, $buffer);
|
|
17
|
+
$buffer: '';
|
|
18
|
+
} @else {
|
|
19
|
+
$buffer: $buffer + $char;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
$result: list.append($result, $buffer);
|
|
24
|
+
|
|
25
|
+
@return $result;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@function list-slice($list, $start, $end: list.length($list)) {
|
|
29
|
+
$new: ();
|
|
30
|
+
|
|
31
|
+
@for $i from $start through $end {
|
|
32
|
+
$new: list.append($new, list.nth($list, $i));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@return $new;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/// Добавляет значение в многоуровневую карту
|
|
39
|
+
@function map-deep-set($map, $keys, $value) {
|
|
40
|
+
$current: $map;
|
|
41
|
+
$key: list.nth($keys, 1);
|
|
42
|
+
|
|
43
|
+
@if list.length($keys) == 1 {
|
|
44
|
+
@return map.merge(
|
|
45
|
+
$current,
|
|
46
|
+
(
|
|
47
|
+
$key: $value
|
|
48
|
+
)
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
$nested: map.get($current, $key);
|
|
53
|
+
|
|
54
|
+
@if $nested == null {
|
|
55
|
+
$nested: ();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
$nested: map-deep-set($nested, list-slice($keys, 2), $value);
|
|
59
|
+
|
|
60
|
+
@return map.merge(
|
|
61
|
+
$current,
|
|
62
|
+
(
|
|
63
|
+
$key: $nested
|
|
64
|
+
)
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@mixin use-button-properties($vars) {
|
|
69
|
+
@each $full-name, $v in $vars {
|
|
70
|
+
// Разбиваем путь: primary-default-enabled-background → ('primary', 'default', 'enabled', 'background')
|
|
71
|
+
$parts: str-split($full-name, '_');
|
|
72
|
+
// Создаём CSS переменную:
|
|
73
|
+
$css-var: string.unquote('var(--btn_#{$full-name})');
|
|
74
|
+
// Глубоко добавляем значение в структуру
|
|
75
|
+
$button-appearances: map-deep-set($button-appearances, $parts, $css-var) !global;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@mixin use-tokens($components) {
|
|
80
|
+
@each $component-name, $v in $components {
|
|
81
|
+
$component-vars: map.get($components, $component-name);
|
|
82
|
+
|
|
83
|
+
@each $path, $v in $component-vars {
|
|
84
|
+
$name: #{$component-name}_#{$path};
|
|
85
|
+
// Разбиваем путь: primary_default_enabled_background → ('primary', 'default', 'enabled', 'background')
|
|
86
|
+
$keys: str-split($name, '_');
|
|
87
|
+
// Создаём CSS переменную:
|
|
88
|
+
$css-var: string.unquote('var(--#{$name})');
|
|
89
|
+
// Глубоко добавляем значение в структуру
|
|
90
|
+
$tokens: map-deep-set($tokens, $keys, $css-var) !global;
|
|
91
|
+
// set scss var
|
|
92
|
+
--#{$name}: #{map.get($component-vars, $path)};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
@mixin use-css-vars($prefix, $map) {
|
|
98
|
+
@each $name, $value in $map {
|
|
99
|
+
--#{$prefix}_#{$name}: #{$value};
|
|
100
|
+
}
|
|
101
|
+
}
|
package/package.json
CHANGED
package/dist/bundle.es46.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
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.es50.js";
|
|
3
|
-
import { CalendarHeader as F } from "./bundle.es51.js";
|
|
4
|
-
import { useCalendar as j } from "./bundle.es52.js";
|
|
5
|
-
import { attr as m } from "@companix/utils-browser";
|
|
6
|
-
import { isSameDate as f } from "./bundle.es47.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
|
-
);
|
|
69
|
-
};
|
|
70
|
-
export {
|
|
71
|
-
T as Calendar
|
|
72
|
-
};
|
package/dist/bundle.es47.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
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
|
-
};
|
|
59
|
-
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
|
|
70
|
-
};
|
package/dist/bundle.es48.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
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.es21.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
|
|
28
|
-
},
|
|
29
|
-
`alert-${e}`
|
|
30
|
-
)) });
|
|
31
|
-
});
|
|
32
|
-
export {
|
|
33
|
-
g as Viewport
|
|
34
|
-
};
|