@tecsinapse/cortex-react 1.2.2 → 1.3.0-beta.0
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/cjs/components/Avatar.js +3 -2
- package/dist/cjs/components/BaseSnackbar.js +13 -0
- package/dist/cjs/components/BreadcrumbItem.js +2 -1
- package/dist/cjs/components/Breadcrumbs.js +1 -1
- package/dist/cjs/components/Button.js +10 -1
- package/dist/cjs/components/Calendar.js +22 -0
- package/dist/cjs/components/CalendarCell.js +51 -0
- package/dist/cjs/components/CalendarGrid.js +23 -0
- package/dist/cjs/components/CalendarGridBodyRows.js +12 -0
- package/dist/cjs/components/CalendarGridHeaderRow.js +12 -0
- package/dist/cjs/components/CalendarHeader.js +40 -0
- package/dist/cjs/components/Card.js +1 -1
- package/dist/cjs/components/DateSegment.js +12 -0
- package/dist/cjs/components/DefaultSnack.js +27 -0
- package/dist/cjs/components/Drawer.js +3 -1
- package/dist/cjs/components/GroupButton.js +43 -0
- package/dist/cjs/components/Input.js +5 -3
- package/dist/cjs/components/Modal.js +6 -13
- package/dist/cjs/components/ProgressBar.js +71 -0
- package/dist/cjs/components/RangeCalendar.js +44 -0
- package/dist/cjs/components/SearchInput.js +19 -9
- package/dist/cjs/components/Select.js +4 -4
- package/dist/cjs/components/Skeleton.js +4 -1
- package/dist/cjs/components/Table.js +8 -14
- package/dist/cjs/components/TextArea.js +2 -0
- package/dist/cjs/components/TimeField.js +12 -0
- package/dist/cjs/components/TimeFieldInput.js +22 -0
- package/dist/cjs/components/Toggle.js +17 -9
- package/dist/cjs/components/utils.js +5 -4
- package/dist/cjs/hooks/useCalendar.js +27 -0
- package/dist/cjs/hooks/useCalendarCell.js +35 -0
- package/dist/cjs/hooks/useCalendarGrid.js +14 -0
- package/dist/cjs/hooks/useTimeField.js +32 -0
- package/dist/cjs/index.js +37 -16
- package/dist/cjs/service/SnackbarSonner.js +54 -0
- package/dist/cjs/styles/calendar-cell.js +40 -0
- package/dist/cjs/styles/groupButton.js +16 -0
- package/dist/cjs/styles/progressBar.js +21 -0
- package/dist/esm/components/Avatar.js +4 -3
- package/dist/esm/components/BaseSnackbar.js +11 -0
- package/dist/esm/components/BreadcrumbItem.js +2 -1
- package/dist/esm/components/Breadcrumbs.js +1 -1
- package/dist/esm/components/Button.js +10 -1
- package/dist/esm/components/Calendar.js +20 -0
- package/dist/esm/components/CalendarCell.js +49 -0
- package/dist/esm/components/CalendarGrid.js +21 -0
- package/dist/esm/components/CalendarGridBodyRows.js +10 -0
- package/dist/esm/components/CalendarGridHeaderRow.js +10 -0
- package/dist/esm/components/CalendarHeader.js +38 -0
- package/dist/esm/components/Card.js +1 -1
- package/dist/esm/components/DateSegment.js +10 -0
- package/dist/esm/components/DefaultSnack.js +25 -0
- package/dist/esm/components/Drawer.js +3 -1
- package/dist/esm/components/GroupButton.js +41 -0
- package/dist/esm/components/Input.js +5 -3
- package/dist/esm/components/Modal.js +6 -13
- package/dist/esm/components/ProgressBar.js +69 -0
- package/dist/esm/components/RangeCalendar.js +42 -0
- package/dist/esm/components/SearchInput.js +19 -9
- package/dist/esm/components/Select.js +4 -4
- package/dist/esm/components/Skeleton.js +4 -1
- package/dist/esm/components/Table.js +9 -14
- package/dist/esm/components/TextArea.js +2 -0
- package/dist/esm/components/TimeField.js +10 -0
- package/dist/esm/components/TimeFieldInput.js +20 -0
- package/dist/esm/components/Toggle.js +17 -9
- package/dist/esm/components/utils.js +5 -4
- package/dist/esm/hooks/useCalendar.js +25 -0
- package/dist/esm/hooks/useCalendarCell.js +33 -0
- package/dist/esm/hooks/useCalendarGrid.js +12 -0
- package/dist/esm/hooks/useTimeField.js +30 -0
- package/dist/esm/index.js +18 -7
- package/dist/esm/service/SnackbarSonner.js +52 -0
- package/dist/esm/styles/calendar-cell.js +38 -0
- package/dist/esm/styles/groupButton.js +14 -0
- package/dist/esm/styles/progressBar.js +19 -0
- package/dist/types/components/BaseSnackbar.d.ts +9 -0
- package/dist/types/components/BreadcrumbItem.d.ts +1 -3
- package/dist/types/components/Calendar.d.ts +6 -0
- package/dist/types/components/CalendarCell.d.ts +8 -0
- package/dist/types/components/CalendarGrid.d.ts +6 -0
- package/dist/types/components/CalendarGridBodyRows.d.ts +6 -0
- package/dist/types/components/CalendarGridHeaderRow.d.ts +5 -0
- package/dist/types/components/CalendarHeader.d.ts +6 -0
- package/dist/types/components/DateSegment.d.ts +7 -0
- package/dist/types/components/DefaultSnack.d.ts +6 -0
- package/dist/types/components/Drawer.d.ts +1 -1
- package/dist/types/components/GroupButton.d.ts +19 -0
- package/dist/types/components/Input.d.ts +2 -2
- package/dist/types/components/Modal.d.ts +2 -2
- package/dist/types/components/ProgressBar.d.ts +9 -0
- package/dist/types/components/RangeCalendar.d.ts +10 -0
- package/dist/types/components/SearchInput.d.ts +0 -1
- package/dist/types/components/Select.d.ts +0 -1
- package/dist/types/components/Skeleton.d.ts +4 -2
- package/dist/types/components/Table.d.ts +0 -1
- package/dist/types/components/TimeField.d.ts +7 -0
- package/dist/types/components/TimeFieldInput.d.ts +10 -0
- package/dist/types/components/index.d.ts +13 -7
- package/dist/types/components/utils.d.ts +1 -1
- package/dist/types/hooks/index.d.ts +3 -0
- package/dist/types/hooks/useCalendar.d.ts +10 -0
- package/dist/types/hooks/useCalendarCell.d.ts +18 -0
- package/dist/types/hooks/useCalendarGrid.d.ts +10 -0
- package/dist/types/hooks/useTimeField.d.ts +7 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/provider/SnackbarProvider.d.ts +10 -0
- package/dist/types/service/ISnackbar.d.ts +7 -0
- package/dist/types/service/SnackbarSonner.d.ts +7 -0
- package/dist/types/service/index.d.ts +2 -0
- package/dist/types/styles/calendar-cell.d.ts +199 -0
- package/dist/types/styles/groupButton.d.ts +77 -0
- package/dist/types/styles/index.d.ts +3 -0
- package/dist/types/styles/progressBar.d.ts +78 -0
- package/dist/types/tests/Avatar.test.d.ts +1 -0
- package/dist/types/tests/Badge.test.d.ts +1 -0
- package/dist/types/tests/BreadcrumbItem.test.d.ts +1 -0
- package/dist/types/tests/Breadcrumbs.test.d.ts +1 -0
- package/dist/types/tests/Button.test.d.ts +1 -0
- package/dist/types/tests/Calendar.test.d.ts +1 -0
- package/dist/types/tests/CalendarCell.test.d.ts +1 -0
- package/dist/types/tests/CalendarGridBodyRows.test.d.ts +1 -0
- package/dist/types/tests/CalendarGridHeaderRow.test.d.ts +1 -0
- package/dist/types/tests/CalendarHeader.test.d.ts +1 -0
- package/dist/types/tests/Card.test.d.ts +1 -0
- package/dist/types/tests/DateSegment.test.d.ts +1 -0
- package/dist/types/tests/DefaultSnack.test.d.ts +1 -0
- package/dist/types/tests/Drawer.test.d.ts +1 -0
- package/dist/types/tests/GroupButton.test.d.ts +1 -0
- package/dist/types/tests/Hint.test.d.ts +1 -0
- package/dist/types/tests/Input.test.d.ts +1 -0
- package/dist/types/tests/Modal.test.d.ts +1 -0
- package/dist/types/tests/ProgressBar.test.d.ts +1 -0
- package/dist/types/tests/SearchInput.test.d.ts +1 -0
- package/dist/types/tests/Select.test.d.ts +1 -0
- package/dist/types/tests/Skeleton.test.d.ts +1 -0
- package/dist/types/tests/Snackbar.test.d.ts +1 -0
- package/dist/types/tests/Table.test.d.ts +1 -0
- package/dist/types/tests/Tag.test.d.ts +1 -0
- package/dist/types/tests/TextArea.test.d.ts +1 -0
- package/dist/types/tests/TimeField.test.d.ts +1 -0
- package/dist/types/tests/TimeFieldInput.test.d.ts +1 -0
- package/dist/types/tests/Toggle.test.d.ts +1 -0
- package/dist/types/tests/useCalendarCell.test.d.ts +1 -0
- package/dist/types/tests/useDebouncedState.test.d.ts +1 -0
- package/dist/types/tests/utils.test.d.ts +1 -0
- package/package.json +10 -5
- package/dist/cjs/components/Snackbar.js +0 -18
- package/dist/esm/components/Snackbar.js +0 -16
- package/dist/types/components/Snackbar.d.ts +0 -9
|
@@ -7,46 +7,40 @@ const THead = ({
|
|
|
7
7
|
children,
|
|
8
8
|
className,
|
|
9
9
|
...rest
|
|
10
|
-
}) => /* @__PURE__ */ React.createElement("thead", { className: cortexCore.tHead({ className }), ...rest }, children);
|
|
10
|
+
}) => /* @__PURE__ */ React.createElement("thead", { className: cortexCore.tHead({ className }), "data-testid": "thead", ...rest }, children);
|
|
11
11
|
const TRow = ({
|
|
12
12
|
children,
|
|
13
13
|
className,
|
|
14
14
|
...rest
|
|
15
|
-
}) => /* @__PURE__ */ React.createElement("tr", { className: cortexCore.tRow({ className }), ...rest }, children);
|
|
15
|
+
}) => /* @__PURE__ */ React.createElement("tr", { className: cortexCore.tRow({ className }), "data-testid": "trow", ...rest }, children);
|
|
16
16
|
const THeadCell = ({
|
|
17
17
|
children,
|
|
18
18
|
className,
|
|
19
19
|
...rest
|
|
20
|
-
}) => /* @__PURE__ */ React.createElement("th", { className: cortexCore.tHeadCell({ className }), ...rest }, children);
|
|
20
|
+
}) => /* @__PURE__ */ React.createElement("th", { className: cortexCore.tHeadCell({ className }), "data-testid": "thead-cell", ...rest }, children);
|
|
21
21
|
const TRowHeader = ({
|
|
22
22
|
children
|
|
23
|
-
}) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("tr", { className: cortexCore.tRow() }, children), /* @__PURE__ */ React.createElement("tr", { className: cortexCore.tRow() }, /* @__PURE__ */ React.createElement("td", { colSpan: 99 }, /* @__PURE__ */ React.createElement("hr", { className: cortexCore.hr() }))));
|
|
23
|
+
}) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("tr", { className: cortexCore.tRow(), "data-testid": "trow-header" }, children), /* @__PURE__ */ React.createElement("tr", { className: cortexCore.tRow() }, /* @__PURE__ */ React.createElement("td", { colSpan: 99 }, /* @__PURE__ */ React.createElement("hr", { className: cortexCore.hr() }))));
|
|
24
24
|
const TCell = ({
|
|
25
25
|
children,
|
|
26
26
|
className,
|
|
27
27
|
...rest
|
|
28
|
-
}) => /* @__PURE__ */ React.createElement("td", { className: cortexCore.tCell({ className }), ...rest }, children);
|
|
28
|
+
}) => /* @__PURE__ */ React.createElement("td", { className: cortexCore.tCell({ className }), "data-testid": "tcell", ...rest }, children);
|
|
29
29
|
const TFoot = ({
|
|
30
30
|
children,
|
|
31
31
|
className,
|
|
32
32
|
...rest
|
|
33
|
-
}) => /* @__PURE__ */ React.createElement("tfoot", { className: cortexCore.tFoot({ className }), ...rest }, children);
|
|
33
|
+
}) => /* @__PURE__ */ React.createElement("tfoot", { className: cortexCore.tFoot({ className }), "data-testid": "tfoot", ...rest }, children);
|
|
34
34
|
const Table = ({
|
|
35
35
|
children,
|
|
36
36
|
className,
|
|
37
37
|
...rest
|
|
38
|
-
}) => /* @__PURE__ */ React.createElement("table", { className: cortexCore.tRoot({ className }), ...rest }, children);
|
|
39
|
-
const Hr = ({
|
|
40
|
-
children,
|
|
41
|
-
className,
|
|
42
|
-
...rest
|
|
43
|
-
}) => /* @__PURE__ */ React.createElement("hr", { className: cortexCore.hr({ className }), ...rest }, children);
|
|
38
|
+
}) => /* @__PURE__ */ React.createElement("table", { className: cortexCore.tRoot({ className }), "data-testid": "table", ...rest }, children);
|
|
44
39
|
const Td = ({
|
|
45
40
|
children,
|
|
46
41
|
...rest
|
|
47
|
-
}) => /* @__PURE__ */ React.createElement("td", { ...rest }, children);
|
|
42
|
+
}) => /* @__PURE__ */ React.createElement("td", { ...rest, "data-testid": "td" }, children);
|
|
48
43
|
|
|
49
|
-
exports.Hr = Hr;
|
|
50
44
|
exports.TCell = TCell;
|
|
51
45
|
exports.TFoot = TFoot;
|
|
52
46
|
exports.THead = THead;
|
|
@@ -14,6 +14,7 @@ const Box = React.forwardRef(
|
|
|
14
14
|
return /* @__PURE__ */ React.createElement("div", { className: "flex w-full flex-col" }, /* @__PURE__ */ React.createElement(
|
|
15
15
|
"textarea",
|
|
16
16
|
{
|
|
17
|
+
"data-testid": "textarea-box",
|
|
17
18
|
ref,
|
|
18
19
|
id: id ?? name,
|
|
19
20
|
name,
|
|
@@ -48,6 +49,7 @@ const Face = React.forwardRef(
|
|
|
48
49
|
{
|
|
49
50
|
ref,
|
|
50
51
|
className: clsx.clsx(cortexCore.input(variants), className),
|
|
52
|
+
"data-testid": "textarea-face",
|
|
51
53
|
id: "textarea-face",
|
|
52
54
|
...rest
|
|
53
55
|
},
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var DateSegment = require('./DateSegment.js');
|
|
5
|
+
var useTimeField = require('../hooks/useTimeField.js');
|
|
6
|
+
|
|
7
|
+
const TimeField = (props) => {
|
|
8
|
+
const { fieldProps, ref, state } = useTimeField.useTimeField(props);
|
|
9
|
+
return /* @__PURE__ */ React.createElement("div", { ...fieldProps, ref, className: "flex flex-row" }, state.segments.map((segment, i) => /* @__PURE__ */ React.createElement(DateSegment.DateSegment, { key: i, segment, state })));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
module.exports = TimeField;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var Input = require('./Input.js');
|
|
5
|
+
var cortexCore = require('@tecsinapse/cortex-core');
|
|
6
|
+
var TimeField = require('./TimeField.js');
|
|
7
|
+
|
|
8
|
+
const TimeFieldInput = (props) => {
|
|
9
|
+
const { onChange, value, label, variants } = props;
|
|
10
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
11
|
+
Input.Input.Face,
|
|
12
|
+
{
|
|
13
|
+
variants,
|
|
14
|
+
className: "flex flex-row",
|
|
15
|
+
"data-testid": "time-field-input"
|
|
16
|
+
},
|
|
17
|
+
/* @__PURE__ */ React.createElement("span", { className: cortexCore.labelStyle({}) }, label),
|
|
18
|
+
/* @__PURE__ */ React.createElement("div", { className: cortexCore.inputBox("", label) }, /* @__PURE__ */ React.createElement(TimeField, { onChange, value }))
|
|
19
|
+
));
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.TimeFieldInput = TimeFieldInput;
|
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var React = require('react');
|
|
4
3
|
var cortexCore = require('@tecsinapse/cortex-core');
|
|
4
|
+
var React = require('react');
|
|
5
5
|
|
|
6
6
|
const Toggle = React.forwardRef((props, ref) => {
|
|
7
|
-
return /* @__PURE__ */ React.createElement(
|
|
8
|
-
"
|
|
7
|
+
return /* @__PURE__ */ React.createElement(
|
|
8
|
+
"div",
|
|
9
9
|
{
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
className: "flex flex-row items-center gap-x-centi",
|
|
11
|
+
"data-testid": "toggle-div"
|
|
12
|
+
},
|
|
13
|
+
/* @__PURE__ */ React.createElement("label", { className: cortexCore.styleLabelElement() }, /* @__PURE__ */ React.createElement(
|
|
14
|
+
"input",
|
|
15
|
+
{
|
|
16
|
+
type: "checkbox",
|
|
17
|
+
className: cortexCore.styleInputElement(),
|
|
18
|
+
ref,
|
|
19
|
+
"data-testid": "toggle-input",
|
|
20
|
+
...props
|
|
21
|
+
}
|
|
22
|
+
), /* @__PURE__ */ React.createElement("div", { className: cortexCore.toggle() }))
|
|
23
|
+
);
|
|
16
24
|
});
|
|
17
25
|
|
|
18
26
|
exports.Toggle = Toggle;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const getNameInitials = (name) => {
|
|
4
4
|
const nameSplit = name.split(" ");
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const length = nameSplit.length;
|
|
6
|
+
if (length > 1) {
|
|
7
|
+
return `${nameSplit[0][0]}${nameSplit[length - 1][0]}`;
|
|
7
8
|
}
|
|
8
9
|
return name[0];
|
|
9
10
|
};
|
|
10
11
|
|
|
11
|
-
exports.
|
|
12
|
+
exports.getNameInitials = getNameInitials;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var date = require('@internationalized/date');
|
|
4
|
+
var reactAria = require('react-aria');
|
|
5
|
+
var reactStately = require('react-stately');
|
|
6
|
+
|
|
7
|
+
const useCalendar = ({ value, onChange }) => {
|
|
8
|
+
const { locale } = reactAria.useLocale();
|
|
9
|
+
const state = reactStately.useCalendarState({
|
|
10
|
+
locale,
|
|
11
|
+
createCalendar: date.createCalendar,
|
|
12
|
+
defaultValue: new date.CalendarDate(
|
|
13
|
+
value.getFullYear(),
|
|
14
|
+
value.getMonth(),
|
|
15
|
+
value.getDate()
|
|
16
|
+
),
|
|
17
|
+
onChange: (value2) => onChange(value2.toDate(date.getLocalTimeZone()))
|
|
18
|
+
});
|
|
19
|
+
const { calendarProps, title } = reactAria.useCalendar({}, state);
|
|
20
|
+
return {
|
|
21
|
+
calendarProps,
|
|
22
|
+
title,
|
|
23
|
+
state
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.useCalendar = useCalendar;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var date = require('@internationalized/date');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var reactAria = require('react-aria');
|
|
6
|
+
|
|
7
|
+
const useCalendarCell = ({ state, date: date$1 }) => {
|
|
8
|
+
const ref = React.useRef(null);
|
|
9
|
+
const {
|
|
10
|
+
cellProps,
|
|
11
|
+
buttonProps,
|
|
12
|
+
isSelected,
|
|
13
|
+
isOutsideVisibleRange,
|
|
14
|
+
formattedDate
|
|
15
|
+
} = reactAria.useCalendarCell({ date: date$1 }, state, ref);
|
|
16
|
+
const rangeStateHighlitedRange = state?.highlightedRange;
|
|
17
|
+
const isSameDayStart = rangeStateHighlitedRange ? date.isSameDay(date$1, state?.highlightedRange?.start) : void 0;
|
|
18
|
+
const isSameDayEnd = rangeStateHighlitedRange ? date.isSameDay(date$1, state?.highlightedRange?.end) : void 0;
|
|
19
|
+
const isSelectionStart = isSameDayStart && !isSameDayEnd;
|
|
20
|
+
const isSelectionEnd = isSameDayEnd && !isSameDayStart;
|
|
21
|
+
const inRange = date$1 > rangeStateHighlitedRange?.start && date$1 < rangeStateHighlitedRange?.end;
|
|
22
|
+
return {
|
|
23
|
+
ref,
|
|
24
|
+
cellProps,
|
|
25
|
+
buttonProps,
|
|
26
|
+
isSelected,
|
|
27
|
+
isOutsideVisibleRange,
|
|
28
|
+
formattedDate,
|
|
29
|
+
isSelectionStart,
|
|
30
|
+
isSelectionEnd,
|
|
31
|
+
inRange
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
exports.useCalendarCell = useCalendarCell;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var reactAria = require('react-aria');
|
|
4
|
+
|
|
5
|
+
const useCalendarGrid = ({ state }) => {
|
|
6
|
+
const { gridProps, headerProps, weekDays } = reactAria.useCalendarGrid({}, state);
|
|
7
|
+
return {
|
|
8
|
+
gridProps,
|
|
9
|
+
headerProps,
|
|
10
|
+
weekDays
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.useCalendarGrid = useCalendarGrid;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var reactAria = require('react-aria');
|
|
5
|
+
var reactStately = require('react-stately');
|
|
6
|
+
var date = require('@internationalized/date');
|
|
7
|
+
|
|
8
|
+
const useTimeField = (props) => {
|
|
9
|
+
const { value, onChange } = props;
|
|
10
|
+
const { locale } = reactAria.useLocale();
|
|
11
|
+
const state = reactStately.useTimeFieldState({
|
|
12
|
+
value: new date.Time(value?.hour, value?.minute),
|
|
13
|
+
onChange: (timeValue) => onChange({ hour: timeValue.hour, minute: timeValue.minute }),
|
|
14
|
+
locale
|
|
15
|
+
});
|
|
16
|
+
const ref = React.useRef(null);
|
|
17
|
+
const { fieldProps } = reactAria.useTimeField(
|
|
18
|
+
{
|
|
19
|
+
"aria-label": "time-field",
|
|
20
|
+
hourCycle: 24
|
|
21
|
+
},
|
|
22
|
+
state,
|
|
23
|
+
ref
|
|
24
|
+
);
|
|
25
|
+
return {
|
|
26
|
+
fieldProps,
|
|
27
|
+
ref,
|
|
28
|
+
state
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
exports.useTimeField = useTimeField;
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,28 +1,46 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var Avatar = require('./components/Avatar.js');
|
|
3
4
|
var Badge = require('./components/Badge.js');
|
|
5
|
+
var BaseSnackbar = require('./components/BaseSnackbar.js');
|
|
6
|
+
var Breadcrumbs = require('./components/Breadcrumbs.js');
|
|
4
7
|
var Button = require('./components/Button.js');
|
|
8
|
+
var Calendar = require('./components/Calendar.js');
|
|
5
9
|
var Card = require('./components/Card.js');
|
|
10
|
+
var DefaultSnack = require('./components/DefaultSnack.js');
|
|
11
|
+
var Drawer = require('./components/Drawer.js');
|
|
12
|
+
var GroupButton = require('./components/GroupButton.js');
|
|
6
13
|
var Hint = require('./components/Hint.js');
|
|
7
14
|
var Input = require('./components/Input.js');
|
|
8
15
|
var Modal = require('./components/Modal.js');
|
|
16
|
+
var ProgressBar = require('./components/ProgressBar.js');
|
|
17
|
+
var RangeCalendar = require('./components/RangeCalendar.js');
|
|
9
18
|
var Select = require('./components/Select.js');
|
|
10
|
-
var
|
|
19
|
+
var Skeleton = require('./components/Skeleton.js');
|
|
20
|
+
var Table = require('./components/Table.js');
|
|
11
21
|
var Tag = require('./components/Tag.js');
|
|
12
|
-
var Toggle = require('./components/Toggle.js');
|
|
13
22
|
var TextArea = require('./components/TextArea.js');
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
23
|
+
var Toggle = require('./components/Toggle.js');
|
|
24
|
+
var TimeFieldInput = require('./components/TimeFieldInput.js');
|
|
25
|
+
var SnackbarSonner = require('./service/SnackbarSonner.js');
|
|
26
|
+
var useCalendar = require('./hooks/useCalendar.js');
|
|
27
|
+
var useCalendarCell = require('./hooks/useCalendarCell.js');
|
|
28
|
+
var useCalendarGrid = require('./hooks/useCalendarGrid.js');
|
|
29
|
+
var useDebouncedState = require('./hooks/useDebouncedState.js');
|
|
19
30
|
|
|
20
31
|
|
|
21
32
|
|
|
33
|
+
exports.Avatar = Avatar.Avatar;
|
|
22
34
|
exports.Badge = Badge.Badge;
|
|
23
35
|
exports.BadgeAnchor = Badge.BadgeAnchor;
|
|
36
|
+
exports.BaseSnackbar = BaseSnackbar.BaseSnackbar;
|
|
37
|
+
exports.Breadcrumbs = Breadcrumbs.Breadcrumbs;
|
|
24
38
|
exports.Button = Button.Button;
|
|
39
|
+
exports.Calendar = Calendar.Calendar;
|
|
25
40
|
exports.Card = Card.Card;
|
|
41
|
+
exports.DefaultSnack = DefaultSnack.DefaultSnack;
|
|
42
|
+
exports.Drawer = Drawer.Drawer;
|
|
43
|
+
exports.GroupButton = GroupButton.GroupButton;
|
|
26
44
|
exports.Hint = Hint.Hint;
|
|
27
45
|
exports.Box = Input.Box;
|
|
28
46
|
exports.Face = Input.Face;
|
|
@@ -31,12 +49,10 @@ exports.Left = Input.Left;
|
|
|
31
49
|
exports.Right = Input.Right;
|
|
32
50
|
exports.Root = Input.Root;
|
|
33
51
|
exports.Modal = Modal.Modal;
|
|
52
|
+
exports.ProgressBar = ProgressBar.ProgressBar;
|
|
53
|
+
exports.RangeCalendar = RangeCalendar.RangeCalendar;
|
|
34
54
|
exports.Select = Select.Select;
|
|
35
|
-
exports.
|
|
36
|
-
exports.Tag = Tag.Tag;
|
|
37
|
-
exports.Toggle = Toggle.Toggle;
|
|
38
|
-
exports.TextArea = TextArea.TextArea;
|
|
39
|
-
exports.Hr = Table.Hr;
|
|
55
|
+
exports.Skeleton = Skeleton.Skeleton;
|
|
40
56
|
exports.TCell = Table.TCell;
|
|
41
57
|
exports.TFoot = Table.TFoot;
|
|
42
58
|
exports.THead = Table.THead;
|
|
@@ -45,7 +61,12 @@ exports.TRow = Table.TRow;
|
|
|
45
61
|
exports.TRowHeader = Table.TRowHeader;
|
|
46
62
|
exports.Table = Table.Table;
|
|
47
63
|
exports.Td = Table.Td;
|
|
48
|
-
exports.
|
|
49
|
-
exports.
|
|
50
|
-
exports.
|
|
51
|
-
exports.
|
|
64
|
+
exports.Tag = Tag.Tag;
|
|
65
|
+
exports.TextArea = TextArea.TextArea;
|
|
66
|
+
exports.Toggle = Toggle.Toggle;
|
|
67
|
+
exports.TimeFieldInput = TimeFieldInput.TimeFieldInput;
|
|
68
|
+
exports.SnackbarSonner = SnackbarSonner.SnackbarSonner;
|
|
69
|
+
exports.useCalendar = useCalendar.useCalendar;
|
|
70
|
+
exports.useCalendarCell = useCalendarCell.useCalendarCell;
|
|
71
|
+
exports.useCalendarGrid = useCalendarGrid.useCalendarGrid;
|
|
72
|
+
exports.useDebouncedState = useDebouncedState.useDebouncedState;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var sonner = require('sonner');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
require('clsx');
|
|
6
|
+
require('../components/Badge.js');
|
|
7
|
+
require('../components/BaseSnackbar.js');
|
|
8
|
+
require('react-icons/md');
|
|
9
|
+
require('../components/Card.js');
|
|
10
|
+
require('../components/Button.js');
|
|
11
|
+
require('@internationalized/date');
|
|
12
|
+
require('react-aria');
|
|
13
|
+
require('react-stately');
|
|
14
|
+
require('../components/CalendarCell.js');
|
|
15
|
+
require('@tecsinapse/cortex-core');
|
|
16
|
+
require('react-icons/fa');
|
|
17
|
+
var DefaultSnack = require('../components/DefaultSnack.js');
|
|
18
|
+
require('../components/GroupButton.js');
|
|
19
|
+
require('../components/Hint.js');
|
|
20
|
+
require('../components/Input.js');
|
|
21
|
+
require('../components/Modal.js');
|
|
22
|
+
require('../styles/calendar-cell.js');
|
|
23
|
+
require('../styles/groupButton.js');
|
|
24
|
+
require('../styles/progressBar.js');
|
|
25
|
+
require('../components/Select.js');
|
|
26
|
+
require('../components/Tag.js');
|
|
27
|
+
require('../components/TextArea.js');
|
|
28
|
+
require('../components/Toggle.js');
|
|
29
|
+
|
|
30
|
+
class SnackbarSonner {
|
|
31
|
+
custom(Component, options) {
|
|
32
|
+
return sonner.toast.custom(() => Component, {
|
|
33
|
+
...options,
|
|
34
|
+
duration: options?.duration ?? 5e3
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
show(type, message, options) {
|
|
38
|
+
return sonner.toast.custom(
|
|
39
|
+
(t) => {
|
|
40
|
+
return /* @__PURE__ */ React.createElement(
|
|
41
|
+
DefaultSnack.DefaultSnack,
|
|
42
|
+
{
|
|
43
|
+
text: message,
|
|
44
|
+
variants: { intent: type },
|
|
45
|
+
onDismiss: () => sonner.toast.dismiss(t)
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
},
|
|
49
|
+
{ ...options, duration: options?.duration ?? 5e3 }
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
exports.SnackbarSonner = SnackbarSonner;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tailwindVariants = require('tailwind-variants');
|
|
4
|
+
|
|
5
|
+
const calendarCell = tailwindVariants.tv({
|
|
6
|
+
slots: {
|
|
7
|
+
cell: "text-center rounded-mili text-black",
|
|
8
|
+
button: "flex aspect-square items-center justify-center"
|
|
9
|
+
},
|
|
10
|
+
variants: {
|
|
11
|
+
isSelected: {
|
|
12
|
+
true: {
|
|
13
|
+
cell: "bg-primary-medium text-white"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
isSelectionStart: {
|
|
17
|
+
true: {
|
|
18
|
+
cell: "bg-primary-medium rounded-r-none text-white"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
isSelectionEnd: {
|
|
22
|
+
true: {
|
|
23
|
+
cell: "bg-primary-medium rounded-l-none text-white"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
inRange: {
|
|
27
|
+
true: {
|
|
28
|
+
cell: "bg-primary-light rounded-none text-black"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
isOutsideVisibleRange: {
|
|
32
|
+
true: {
|
|
33
|
+
cell: "text-secondary-light cursor-default",
|
|
34
|
+
button: "cursor-default"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
exports.calendarCell = calendarCell;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tailwindVariants = require('tailwind-variants');
|
|
4
|
+
|
|
5
|
+
const groupButton = tailwindVariants.tv({
|
|
6
|
+
slots: {
|
|
7
|
+
button: "border-[1px] border-secondary-medium px-centi py-mili items-center flex text-sub font-bold",
|
|
8
|
+
inactive: "bg-white text-secondary-medium disabled:bg-secondary-light",
|
|
9
|
+
firstButton: "first:rounded-l-mili first:border-r-0",
|
|
10
|
+
lastButton: "last:rounded-r-mili last:border-l-0",
|
|
11
|
+
container: "flex flex-row flex-1 h-[2rem] w-[500px]",
|
|
12
|
+
active: "text-white bg-secondary-medium"
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
exports.groupButton = groupButton;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tailwindVariants = require('tailwind-variants');
|
|
4
|
+
|
|
5
|
+
const progressBarFilled = tailwindVariants.tv({
|
|
6
|
+
base: "h-full first:rounded-l-pill last:rounded-r-pill",
|
|
7
|
+
variants: {
|
|
8
|
+
intentProgress: {
|
|
9
|
+
default: "bg-primary-medium",
|
|
10
|
+
error: "bg-error-medium",
|
|
11
|
+
info: "bg-info-medium",
|
|
12
|
+
warning: "bg-warning-medium",
|
|
13
|
+
success: "bg-success-medium"
|
|
14
|
+
},
|
|
15
|
+
showAnimation: {
|
|
16
|
+
true: "transition-[width] duration-1000 ease-linear"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
exports.progressBarFilled = progressBarFilled;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import clsx from 'clsx';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { getNameInitials } from './utils.js';
|
|
4
4
|
|
|
5
5
|
const Avatar = ({ src, name, className, ...rest }) => {
|
|
6
6
|
const [hasError, setHasError] = React.useState(false);
|
|
@@ -22,9 +22,10 @@ const Avatar = ({ src, name, className, ...rest }) => {
|
|
|
22
22
|
src,
|
|
23
23
|
alt: name,
|
|
24
24
|
className: "rounded-pill",
|
|
25
|
-
onError: () => setHasError(true)
|
|
25
|
+
onError: () => setHasError(true),
|
|
26
|
+
"data-testid": "avatar-img"
|
|
26
27
|
}
|
|
27
|
-
) : /* @__PURE__ */ React.createElement("p", { className: "font-bold text-white text-base" },
|
|
28
|
+
) : /* @__PURE__ */ React.createElement("p", { className: "font-bold text-white text-base", "data-testid": "avatar-p" }, getNameInitials(name))
|
|
28
29
|
);
|
|
29
30
|
};
|
|
30
31
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
|
+
import { snackbar } from '@tecsinapse/cortex-core';
|
|
3
|
+
|
|
4
|
+
const BaseSnackbar = forwardRef(
|
|
5
|
+
(props, ref) => {
|
|
6
|
+
const { children, show, variants } = props;
|
|
7
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, show ? /* @__PURE__ */ React.createElement("div", { className: snackbar(variants), ref, "data-testid": "snackbar" }, children) : /* @__PURE__ */ React.createElement(React.Fragment, null));
|
|
8
|
+
}
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
export { BaseSnackbar };
|
|
@@ -16,7 +16,8 @@ const BreadcrumbItem = ({
|
|
|
16
16
|
), !isLast ? /* @__PURE__ */ React.createElement(
|
|
17
17
|
MdOutlineKeyboardDoubleArrowRight,
|
|
18
18
|
{
|
|
19
|
-
className: "mt-[0.125rem] text-primary-medium"
|
|
19
|
+
className: "mt-[0.125rem] text-primary-medium",
|
|
20
|
+
"data-testid": "breadcrumb-item-icon"
|
|
20
21
|
}
|
|
21
22
|
) : /* @__PURE__ */ React.createElement(React.Fragment, null)));
|
|
22
23
|
};
|
|
@@ -3,7 +3,16 @@ import { button } from '@tecsinapse/cortex-core';
|
|
|
3
3
|
|
|
4
4
|
const Button = forwardRef((props, ref) => {
|
|
5
5
|
const { variants, children, ...rest } = props;
|
|
6
|
-
return /* @__PURE__ */ React.createElement(
|
|
6
|
+
return /* @__PURE__ */ React.createElement(
|
|
7
|
+
"button",
|
|
8
|
+
{
|
|
9
|
+
className: button(variants),
|
|
10
|
+
ref,
|
|
11
|
+
"data-testid": "button",
|
|
12
|
+
...rest
|
|
13
|
+
},
|
|
14
|
+
children
|
|
15
|
+
);
|
|
7
16
|
});
|
|
8
17
|
|
|
9
18
|
export { Button };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useCalendar } from '../hooks/useCalendar.js';
|
|
3
|
+
import '@internationalized/date';
|
|
4
|
+
import 'react-aria';
|
|
5
|
+
import { CalendarGrid } from './CalendarGrid.js';
|
|
6
|
+
import { CalendarHeader } from './CalendarHeader.js';
|
|
7
|
+
|
|
8
|
+
const Calendar = ({ value, onChange }) => {
|
|
9
|
+
const { calendarProps, title, state } = useCalendar({ value, onChange });
|
|
10
|
+
return /* @__PURE__ */ React.createElement("div", { ...calendarProps, className: "calendar", "data-testid": "calendar-div" }, /* @__PURE__ */ React.createElement(
|
|
11
|
+
CalendarHeader,
|
|
12
|
+
{
|
|
13
|
+
onClickPrevButton: () => state.focusPreviousPage(),
|
|
14
|
+
onClickNextButton: () => state.focusNextPage(),
|
|
15
|
+
title
|
|
16
|
+
}
|
|
17
|
+
), /* @__PURE__ */ React.createElement(CalendarGrid, { state }));
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { Calendar };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import '@internationalized/date';
|
|
3
|
+
import 'react-aria';
|
|
4
|
+
import 'react-stately';
|
|
5
|
+
import { useCalendarCell } from '../hooks/useCalendarCell.js';
|
|
6
|
+
import { calendarCell } from '../styles/calendar-cell.js';
|
|
7
|
+
import '../styles/groupButton.js';
|
|
8
|
+
import '../styles/progressBar.js';
|
|
9
|
+
import { Td } from './Table.js';
|
|
10
|
+
|
|
11
|
+
const { cell, button } = calendarCell();
|
|
12
|
+
const CalendarCell = ({ state, date }) => {
|
|
13
|
+
const {
|
|
14
|
+
ref,
|
|
15
|
+
cellProps,
|
|
16
|
+
buttonProps,
|
|
17
|
+
isSelected,
|
|
18
|
+
isOutsideVisibleRange,
|
|
19
|
+
formattedDate,
|
|
20
|
+
isSelectionStart,
|
|
21
|
+
isSelectionEnd,
|
|
22
|
+
inRange
|
|
23
|
+
} = useCalendarCell({ state, date });
|
|
24
|
+
return /* @__PURE__ */ React.createElement(
|
|
25
|
+
Td,
|
|
26
|
+
{
|
|
27
|
+
...cellProps,
|
|
28
|
+
"data-testid": "calendar-cell-td",
|
|
29
|
+
className: cell({
|
|
30
|
+
isOutsideVisibleRange,
|
|
31
|
+
isSelected,
|
|
32
|
+
isSelectionStart,
|
|
33
|
+
isSelectionEnd,
|
|
34
|
+
inRange
|
|
35
|
+
})
|
|
36
|
+
},
|
|
37
|
+
/* @__PURE__ */ React.createElement(
|
|
38
|
+
"div",
|
|
39
|
+
{
|
|
40
|
+
...buttonProps,
|
|
41
|
+
ref,
|
|
42
|
+
className: button({ isOutsideVisibleRange })
|
|
43
|
+
},
|
|
44
|
+
formattedDate
|
|
45
|
+
)
|
|
46
|
+
);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export { CalendarCell };
|