@rufous/ui 0.1.84 → 0.1.85
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/main.cjs +216 -23
- package/dist/main.css +179 -4
- package/dist/main.d.cts +34 -3
- package/dist/main.d.ts +34 -3
- package/dist/main.js +215 -23
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -28749,6 +28749,7 @@ __export(main_exports, {
|
|
|
28749
28749
|
SuspendUserIcon: () => suspendUserIcon_default,
|
|
28750
28750
|
Switch: () => Switch,
|
|
28751
28751
|
Tab: () => Tab,
|
|
28752
|
+
TabPanel: () => TabPanel,
|
|
28752
28753
|
Tabs: () => Tabs,
|
|
28753
28754
|
TechnicalSkillsIcon: () => technicalSkillsIcon_default,
|
|
28754
28755
|
TextField: () => TextField,
|
|
@@ -30644,10 +30645,25 @@ var MONTHS = [
|
|
|
30644
30645
|
"November",
|
|
30645
30646
|
"December"
|
|
30646
30647
|
];
|
|
30648
|
+
var MONTHS_SHORT = [
|
|
30649
|
+
"Jan",
|
|
30650
|
+
"Feb",
|
|
30651
|
+
"Mar",
|
|
30652
|
+
"Apr",
|
|
30653
|
+
"May",
|
|
30654
|
+
"Jun",
|
|
30655
|
+
"Jul",
|
|
30656
|
+
"Aug",
|
|
30657
|
+
"Sep",
|
|
30658
|
+
"Oct",
|
|
30659
|
+
"Nov",
|
|
30660
|
+
"Dec"
|
|
30661
|
+
];
|
|
30647
30662
|
var formatDisplay = (d, fmt = "MM/DD/YYYY") => {
|
|
30648
30663
|
const mm = String(d.getMonth() + 1).padStart(2, "0");
|
|
30649
30664
|
const dd = String(d.getDate()).padStart(2, "0");
|
|
30650
30665
|
const yyyy = String(d.getFullYear());
|
|
30666
|
+
const day = d.getDate();
|
|
30651
30667
|
switch (fmt) {
|
|
30652
30668
|
case "DD/MM/YYYY":
|
|
30653
30669
|
return `${dd}/${mm}/${yyyy}`;
|
|
@@ -30659,13 +30675,49 @@ var formatDisplay = (d, fmt = "MM/DD/YYYY") => {
|
|
|
30659
30675
|
return `${mm}-${dd}-${yyyy}`;
|
|
30660
30676
|
case "YYYY/MM/DD":
|
|
30661
30677
|
return `${yyyy}/${mm}/${dd}`;
|
|
30678
|
+
case "DD MMM YYYY":
|
|
30679
|
+
return `${dd} ${MONTHS_SHORT[d.getMonth()]} ${yyyy}`;
|
|
30680
|
+
case "MMM DD, YYYY":
|
|
30681
|
+
return `${MONTHS_SHORT[d.getMonth()]} ${dd}, ${yyyy}`;
|
|
30682
|
+
case "DD MMMM YYYY":
|
|
30683
|
+
return `${dd} ${MONTHS[d.getMonth()]} ${yyyy}`;
|
|
30684
|
+
case "MMMM DD, YYYY":
|
|
30685
|
+
return `${MONTHS[d.getMonth()]} ${dd}, ${yyyy}`;
|
|
30662
30686
|
case "MM/DD/YYYY":
|
|
30663
30687
|
default:
|
|
30664
30688
|
return `${mm}/${dd}/${yyyy}`;
|
|
30665
30689
|
}
|
|
30666
30690
|
};
|
|
30667
30691
|
var formatTimeDisplay = (h, m, ampm) => `${String(h).padStart(2, "0")}:${String(m).padStart(2, "0")} ${ampm}`;
|
|
30692
|
+
var parseMonthName = (name) => {
|
|
30693
|
+
const lower = name.toLowerCase();
|
|
30694
|
+
let idx = MONTHS.findIndex((m) => m.toLowerCase() === lower);
|
|
30695
|
+
if (idx >= 0) return idx;
|
|
30696
|
+
idx = MONTHS_SHORT.findIndex((m) => m.toLowerCase() === lower);
|
|
30697
|
+
return idx;
|
|
30698
|
+
};
|
|
30668
30699
|
var parseDisplay = (str, fmt = "MM/DD/YYYY") => {
|
|
30700
|
+
if (fmt === "DD MMM YYYY" || fmt === "DD MMMM YYYY") {
|
|
30701
|
+
const parts2 = str.split(" ");
|
|
30702
|
+
if (parts2.length !== 3) return null;
|
|
30703
|
+
const dd2 = parseInt(parts2[0], 10);
|
|
30704
|
+
const mm2 = parseMonthName(parts2[1]);
|
|
30705
|
+
const yyyy2 = parseInt(parts2[2], 10);
|
|
30706
|
+
if (isNaN(dd2) || mm2 < 0 || isNaN(yyyy2) || yyyy2 < 1e3) return null;
|
|
30707
|
+
const d2 = new Date(yyyy2, mm2, dd2);
|
|
30708
|
+
return isNaN(d2.getTime()) ? null : d2;
|
|
30709
|
+
}
|
|
30710
|
+
if (fmt === "MMM DD, YYYY" || fmt === "MMMM DD, YYYY") {
|
|
30711
|
+
const cleaned = str.replace(",", "");
|
|
30712
|
+
const parts2 = cleaned.split(" ").filter(Boolean);
|
|
30713
|
+
if (parts2.length !== 3) return null;
|
|
30714
|
+
const mm2 = parseMonthName(parts2[0]);
|
|
30715
|
+
const dd2 = parseInt(parts2[1], 10);
|
|
30716
|
+
const yyyy2 = parseInt(parts2[2], 10);
|
|
30717
|
+
if (mm2 < 0 || isNaN(dd2) || isNaN(yyyy2) || yyyy2 < 1e3) return null;
|
|
30718
|
+
const d2 = new Date(yyyy2, mm2, dd2);
|
|
30719
|
+
return isNaN(d2.getTime()) ? null : d2;
|
|
30720
|
+
}
|
|
30669
30721
|
const sep = str.includes("/") ? "/" : "-";
|
|
30670
30722
|
const parts = str.split(sep);
|
|
30671
30723
|
if (parts.length !== 3) return null;
|
|
@@ -30850,27 +30902,89 @@ var CalendarBody = ({
|
|
|
30850
30902
|
dayCells,
|
|
30851
30903
|
onDayClick,
|
|
30852
30904
|
onPrev,
|
|
30853
|
-
onNext
|
|
30854
|
-
|
|
30855
|
-
|
|
30856
|
-
|
|
30857
|
-
const
|
|
30858
|
-
const
|
|
30859
|
-
|
|
30905
|
+
onNext,
|
|
30906
|
+
onMonthSelect,
|
|
30907
|
+
onYearSelect
|
|
30908
|
+
}) => {
|
|
30909
|
+
const [pickerView, setPickerView] = (0, import_react19.useState)("calendar");
|
|
30910
|
+
const handleMonthClick = () => {
|
|
30911
|
+
setPickerView(pickerView === "month" ? "calendar" : "month");
|
|
30912
|
+
};
|
|
30913
|
+
const handleYearClick = () => {
|
|
30914
|
+
setPickerView(pickerView === "year" ? "calendar" : "year");
|
|
30915
|
+
};
|
|
30916
|
+
const handleMonthPick = (month) => {
|
|
30917
|
+
onMonthSelect(month);
|
|
30918
|
+
setPickerView("calendar");
|
|
30919
|
+
};
|
|
30920
|
+
const handleYearPick = (year) => {
|
|
30921
|
+
onYearSelect(year);
|
|
30922
|
+
setPickerView("calendar");
|
|
30923
|
+
};
|
|
30924
|
+
const currentYear = todayDate.getFullYear();
|
|
30925
|
+
const yearStart = viewYear - 6;
|
|
30926
|
+
const years = Array.from({ length: 16 }, (_, i) => yearStart + i);
|
|
30927
|
+
return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement("div", { className: "rf-date-picker__header" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "rf-date-picker__header-labels" }, /* @__PURE__ */ import_react19.default.createElement(
|
|
30928
|
+
"span",
|
|
30929
|
+
{
|
|
30930
|
+
className: `rf-date-picker__month-label ${pickerView === "month" ? "rf-date-picker__month-label--active" : ""}`,
|
|
30931
|
+
onClick: handleMonthClick
|
|
30932
|
+
},
|
|
30933
|
+
MONTHS[viewMonth]
|
|
30934
|
+
), /* @__PURE__ */ import_react19.default.createElement(
|
|
30935
|
+
"span",
|
|
30936
|
+
{
|
|
30937
|
+
className: `rf-date-picker__year-label ${pickerView === "year" ? "rf-date-picker__year-label--active" : ""}`,
|
|
30938
|
+
onClick: handleYearClick
|
|
30939
|
+
},
|
|
30940
|
+
viewYear
|
|
30941
|
+
)), /* @__PURE__ */ import_react19.default.createElement("div", { className: "rf-date-picker__nav" }, pickerView === "year" ? /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement("button", { type: "button", className: "rf-date-picker__nav-btn", onClick: () => onYearSelect(viewYear - 16), "aria-label": "Previous years" }, "\u2039"), /* @__PURE__ */ import_react19.default.createElement("button", { type: "button", className: "rf-date-picker__nav-btn", onClick: () => onYearSelect(viewYear + 16), "aria-label": "Next years" }, "\u203A")) : /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement("button", { type: "button", className: "rf-date-picker__nav-btn", onClick: onPrev, "aria-label": "Previous month" }, "\u2039"), /* @__PURE__ */ import_react19.default.createElement("button", { type: "button", className: "rf-date-picker__nav-btn", onClick: onNext, "aria-label": "Next month" }, "\u203A")))), pickerView === "month" && /* @__PURE__ */ import_react19.default.createElement("div", { className: "rf-date-picker__month-grid" }, MONTHS_SHORT.map((m, idx) => /* @__PURE__ */ import_react19.default.createElement(
|
|
30860
30942
|
"button",
|
|
30861
30943
|
{
|
|
30862
|
-
key:
|
|
30944
|
+
key: m,
|
|
30863
30945
|
type: "button",
|
|
30864
30946
|
className: [
|
|
30865
|
-
"rf-date-
|
|
30866
|
-
|
|
30867
|
-
|
|
30947
|
+
"rf-date-picker__month-cell",
|
|
30948
|
+
idx === viewMonth ? "rf-date-picker__month-cell--selected" : "",
|
|
30949
|
+
idx === todayDate.getMonth() && viewYear === currentYear ? "rf-date-picker__month-cell--current" : ""
|
|
30868
30950
|
].filter(Boolean).join(" "),
|
|
30869
|
-
onClick: () =>
|
|
30951
|
+
onClick: () => handleMonthPick(idx)
|
|
30870
30952
|
},
|
|
30871
|
-
|
|
30872
|
-
)
|
|
30873
|
-
|
|
30953
|
+
m
|
|
30954
|
+
))), pickerView === "year" && /* @__PURE__ */ import_react19.default.createElement("div", { className: "rf-date-picker__year-grid" }, years.map((y) => /* @__PURE__ */ import_react19.default.createElement(
|
|
30955
|
+
"button",
|
|
30956
|
+
{
|
|
30957
|
+
key: y,
|
|
30958
|
+
type: "button",
|
|
30959
|
+
className: [
|
|
30960
|
+
"rf-date-picker__year-cell",
|
|
30961
|
+
y === viewYear ? "rf-date-picker__year-cell--selected" : "",
|
|
30962
|
+
y === currentYear ? "rf-date-picker__year-cell--current" : ""
|
|
30963
|
+
].filter(Boolean).join(" "),
|
|
30964
|
+
onClick: () => handleYearPick(y)
|
|
30965
|
+
},
|
|
30966
|
+
y
|
|
30967
|
+
))), pickerView === "calendar" && /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement("div", { className: "rf-date-picker__weekdays" }, WEEKDAYS.map((w) => /* @__PURE__ */ import_react19.default.createElement("div", { key: w, className: "rf-date-picker__weekday" }, w))), /* @__PURE__ */ import_react19.default.createElement("div", { className: "rf-date-picker__grid" }, dayCells.map((day, idx) => {
|
|
30968
|
+
if (day === null) return /* @__PURE__ */ import_react19.default.createElement("div", { key: `e-${idx}`, className: "rf-date-picker__day rf-date-picker__day--empty" });
|
|
30969
|
+
const cellDate = new Date(viewYear, viewMonth, day);
|
|
30970
|
+
const isSelected = selectedDate ? isSameDay(cellDate, selectedDate) : false;
|
|
30971
|
+
const isToday = isSameDay(cellDate, todayDate);
|
|
30972
|
+
return /* @__PURE__ */ import_react19.default.createElement(
|
|
30973
|
+
"button",
|
|
30974
|
+
{
|
|
30975
|
+
key: day,
|
|
30976
|
+
type: "button",
|
|
30977
|
+
className: [
|
|
30978
|
+
"rf-date-picker__day",
|
|
30979
|
+
isSelected ? "rf-date-picker__day--selected" : "",
|
|
30980
|
+
isToday && !isSelected ? "rf-date-picker__day--today" : ""
|
|
30981
|
+
].filter(Boolean).join(" "),
|
|
30982
|
+
onClick: () => onDayClick(day)
|
|
30983
|
+
},
|
|
30984
|
+
day
|
|
30985
|
+
);
|
|
30986
|
+
}))));
|
|
30987
|
+
};
|
|
30874
30988
|
var DateField = ({
|
|
30875
30989
|
label,
|
|
30876
30990
|
value,
|
|
@@ -30928,7 +31042,9 @@ var DateField = ({
|
|
|
30928
31042
|
const MINUTES = Array.from({ length: 60 }, (_, i) => String(i).padStart(2, "0"));
|
|
30929
31043
|
const AMPMS = ["AM", "PM"];
|
|
30930
31044
|
const containerRef = (0, import_react19.useRef)(null);
|
|
30931
|
-
const
|
|
31045
|
+
const pickerRef = (0, import_react19.useRef)(null);
|
|
31046
|
+
const [dropUp, setDropUp] = (0, import_react19.useState)(false);
|
|
31047
|
+
const inputId = (0, import_react19.useRef)(`rf-df-${Math.random().toString(36).substring(2, 11)}`).current;
|
|
30932
31048
|
(0, import_react19.useEffect)(() => {
|
|
30933
31049
|
if (value === void 0) return;
|
|
30934
31050
|
if (!value) {
|
|
@@ -30960,6 +31076,13 @@ var DateField = ({
|
|
|
30960
31076
|
document.addEventListener("mousedown", handler);
|
|
30961
31077
|
return () => document.removeEventListener("mousedown", handler);
|
|
30962
31078
|
}, [open]);
|
|
31079
|
+
(0, import_react19.useEffect)(() => {
|
|
31080
|
+
if (!open || !containerRef.current) return;
|
|
31081
|
+
const rect = containerRef.current.getBoundingClientRect();
|
|
31082
|
+
const spaceBelow = window.innerHeight - rect.bottom;
|
|
31083
|
+
const pickerHeight = 400;
|
|
31084
|
+
setDropUp(spaceBelow < pickerHeight && rect.top > pickerHeight);
|
|
31085
|
+
}, [open]);
|
|
30963
31086
|
const commitDate = (0, import_react19.useCallback)((d, h, m, ap) => {
|
|
30964
31087
|
setSelectedDate(d);
|
|
30965
31088
|
if (!d) {
|
|
@@ -31152,9 +31275,11 @@ var DateField = ({
|
|
|
31152
31275
|
), open && !disabled && /* @__PURE__ */ import_react19.default.createElement(
|
|
31153
31276
|
"div",
|
|
31154
31277
|
{
|
|
31278
|
+
ref: pickerRef,
|
|
31155
31279
|
className: [
|
|
31156
31280
|
"rf-date-picker",
|
|
31157
|
-
isSideVariant ? "rf-date-picker--side" : ""
|
|
31281
|
+
isSideVariant ? "rf-date-picker--side" : "",
|
|
31282
|
+
dropUp ? "rf-date-picker--drop-up" : ""
|
|
31158
31283
|
].filter(Boolean).join(" "),
|
|
31159
31284
|
onMouseDown: (e) => e.preventDefault()
|
|
31160
31285
|
},
|
|
@@ -31168,7 +31293,9 @@ var DateField = ({
|
|
|
31168
31293
|
dayCells,
|
|
31169
31294
|
onDayClick: handleDayClick,
|
|
31170
31295
|
onPrev: prevMonth,
|
|
31171
|
-
onNext: nextMonth
|
|
31296
|
+
onNext: nextMonth,
|
|
31297
|
+
onMonthSelect: setViewMonth,
|
|
31298
|
+
onYearSelect: setViewYear
|
|
31172
31299
|
}
|
|
31173
31300
|
), type === "datetime" && /* @__PURE__ */ import_react19.default.createElement("div", { className: "rf-date-picker__time-section" }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "rf-date-picker__time-label" }, "Time"), /* @__PURE__ */ import_react19.default.createElement(
|
|
31174
31301
|
SpinnerPanel,
|
|
@@ -31240,7 +31367,7 @@ var MONTHS2 = [
|
|
|
31240
31367
|
"November",
|
|
31241
31368
|
"December"
|
|
31242
31369
|
];
|
|
31243
|
-
var
|
|
31370
|
+
var MONTHS_SHORT2 = [
|
|
31244
31371
|
"Jan",
|
|
31245
31372
|
"Feb",
|
|
31246
31373
|
"Mar",
|
|
@@ -31277,14 +31404,14 @@ var dateToISO = (d) => {
|
|
|
31277
31404
|
const dd = String(d.getDate()).padStart(2, "0");
|
|
31278
31405
|
return `${y}-${mo}-${dd}`;
|
|
31279
31406
|
};
|
|
31280
|
-
var formatShort = (d) => `${String(d.getDate()).padStart(2, "0")} ${
|
|
31407
|
+
var formatShort = (d) => `${String(d.getDate()).padStart(2, "0")} ${MONTHS_SHORT2[d.getMonth()]} ${d.getFullYear()}`;
|
|
31281
31408
|
var parseInputDate = (str) => {
|
|
31282
31409
|
const s = str.trim();
|
|
31283
31410
|
if (!s) return null;
|
|
31284
31411
|
const shortMatch = s.match(/^(\d{1,2})\s+([A-Za-z]+)\s+(\d{4})$/);
|
|
31285
31412
|
if (shortMatch) {
|
|
31286
31413
|
const day = parseInt(shortMatch[1], 10);
|
|
31287
|
-
const monthIdx =
|
|
31414
|
+
const monthIdx = MONTHS_SHORT2.findIndex((m) => m.toLowerCase() === shortMatch[2].toLowerCase());
|
|
31288
31415
|
const year = parseInt(shortMatch[3], 10);
|
|
31289
31416
|
if (monthIdx !== -1 && day >= 1 && day <= 31 && year >= 1e3) {
|
|
31290
31417
|
const d = new Date(year, monthIdx, day);
|
|
@@ -32312,8 +32439,11 @@ function DataGrid({
|
|
|
32312
32439
|
actions,
|
|
32313
32440
|
pageSize: initialPageSize = 10,
|
|
32314
32441
|
pageSizeOptions = [5, 10, 25, 50],
|
|
32315
|
-
title
|
|
32442
|
+
title,
|
|
32443
|
+
className,
|
|
32444
|
+
sx
|
|
32316
32445
|
}) {
|
|
32446
|
+
const sxClass = useSx(sx);
|
|
32317
32447
|
const [columnOverrides, setColumnOverrides] = (0, import_react22.useState)({});
|
|
32318
32448
|
const resolvedColumns = (0, import_react22.useMemo)(() => {
|
|
32319
32449
|
return initialColumnsProp.map((col) => {
|
|
@@ -32614,7 +32744,7 @@ function DataGrid({
|
|
|
32614
32744
|
return offset2;
|
|
32615
32745
|
};
|
|
32616
32746
|
const hasActiveFilters = advancedFilters.some((f) => f.value);
|
|
32617
|
-
return /* @__PURE__ */ import_react22.default.createElement("div", { className: "dg-root" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "dg-header" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "dg-header-info" }, /* @__PURE__ */ import_react22.default.createElement("h2", null, title), /* @__PURE__ */ import_react22.default.createElement("p", null, filteredData.length, " total records")), /* @__PURE__ */ import_react22.default.createElement("div", { className: "dg-header-actions" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "dg-search-wrap" }, /* @__PURE__ */ import_react22.default.createElement(import_lucide_react2.Search, { size: 15 }), /* @__PURE__ */ import_react22.default.createElement(
|
|
32747
|
+
return /* @__PURE__ */ import_react22.default.createElement("div", { className: ["dg-root", sxClass, className].filter(Boolean).join(" ") }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "dg-header" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "dg-header-info" }, /* @__PURE__ */ import_react22.default.createElement("h2", null, title), /* @__PURE__ */ import_react22.default.createElement("p", null, filteredData.length, " total records")), /* @__PURE__ */ import_react22.default.createElement("div", { className: "dg-header-actions" }, /* @__PURE__ */ import_react22.default.createElement("div", { className: "dg-search-wrap" }, /* @__PURE__ */ import_react22.default.createElement(import_lucide_react2.Search, { size: 15 }), /* @__PURE__ */ import_react22.default.createElement(
|
|
32618
32748
|
"input",
|
|
32619
32749
|
{
|
|
32620
32750
|
className: "dg-search",
|
|
@@ -34953,6 +35083,23 @@ var Box = React87.forwardRef(
|
|
|
34953
35083
|
margin,
|
|
34954
35084
|
width,
|
|
34955
35085
|
height,
|
|
35086
|
+
minWidth,
|
|
35087
|
+
maxWidth,
|
|
35088
|
+
minHeight,
|
|
35089
|
+
maxHeight,
|
|
35090
|
+
flex,
|
|
35091
|
+
flexWrap,
|
|
35092
|
+
flexGrow,
|
|
35093
|
+
flexShrink,
|
|
35094
|
+
overflow,
|
|
35095
|
+
position: position2,
|
|
35096
|
+
top,
|
|
35097
|
+
right,
|
|
35098
|
+
bottom,
|
|
35099
|
+
left,
|
|
35100
|
+
borderRadius,
|
|
35101
|
+
bgcolor,
|
|
35102
|
+
color: color2,
|
|
34956
35103
|
className,
|
|
34957
35104
|
style,
|
|
34958
35105
|
sx,
|
|
@@ -34969,6 +35116,23 @@ var Box = React87.forwardRef(
|
|
|
34969
35116
|
...margin !== void 0 ? { margin: typeof margin === "number" ? `${margin}px` : margin } : {},
|
|
34970
35117
|
...width !== void 0 ? { width: typeof width === "number" ? `${width}px` : width } : {},
|
|
34971
35118
|
...height !== void 0 ? { height: typeof height === "number" ? `${height}px` : height } : {},
|
|
35119
|
+
...minWidth !== void 0 ? { minWidth: typeof minWidth === "number" ? `${minWidth}px` : minWidth } : {},
|
|
35120
|
+
...maxWidth !== void 0 ? { maxWidth: typeof maxWidth === "number" ? `${maxWidth}px` : maxWidth } : {},
|
|
35121
|
+
...minHeight !== void 0 ? { minHeight: typeof minHeight === "number" ? `${minHeight}px` : minHeight } : {},
|
|
35122
|
+
...maxHeight !== void 0 ? { maxHeight: typeof maxHeight === "number" ? `${maxHeight}px` : maxHeight } : {},
|
|
35123
|
+
...flex !== void 0 ? { flex } : {},
|
|
35124
|
+
...flexWrap !== void 0 ? { flexWrap } : {},
|
|
35125
|
+
...flexGrow !== void 0 ? { flexGrow } : {},
|
|
35126
|
+
...flexShrink !== void 0 ? { flexShrink } : {},
|
|
35127
|
+
...overflow !== void 0 ? { overflow } : {},
|
|
35128
|
+
...position2 !== void 0 ? { position: position2 } : {},
|
|
35129
|
+
...top !== void 0 ? { top: typeof top === "number" ? `${top}px` : top } : {},
|
|
35130
|
+
...right !== void 0 ? { right: typeof right === "number" ? `${right}px` : right } : {},
|
|
35131
|
+
...bottom !== void 0 ? { bottom: typeof bottom === "number" ? `${bottom}px` : bottom } : {},
|
|
35132
|
+
...left !== void 0 ? { left: typeof left === "number" ? `${left}px` : left } : {},
|
|
35133
|
+
...borderRadius !== void 0 ? { borderRadius: typeof borderRadius === "number" ? `${borderRadius}px` : borderRadius } : {},
|
|
35134
|
+
...bgcolor !== void 0 ? { backgroundColor: bgcolor } : {},
|
|
35135
|
+
...color2 !== void 0 ? { color: color2 } : {},
|
|
34972
35136
|
...style
|
|
34973
35137
|
};
|
|
34974
35138
|
const classes = ["rf-box", sxClass, className].filter(Boolean).join(" ");
|
|
@@ -34989,6 +35153,8 @@ var Stack2 = React88.forwardRef(
|
|
|
34989
35153
|
divider,
|
|
34990
35154
|
flexWrap,
|
|
34991
35155
|
useFlexGap = true,
|
|
35156
|
+
flex,
|
|
35157
|
+
overflow,
|
|
34992
35158
|
component: component2 = "div",
|
|
34993
35159
|
children,
|
|
34994
35160
|
className,
|
|
@@ -35004,6 +35170,8 @@ var Stack2 = React88.forwardRef(
|
|
|
35004
35170
|
...justifyContent !== void 0 ? { justifyContent } : {},
|
|
35005
35171
|
...flexWrap !== void 0 ? { flexWrap } : {},
|
|
35006
35172
|
...gapValue !== void 0 && useFlexGap ? { gap: gapValue } : {},
|
|
35173
|
+
...flex !== void 0 ? { flex } : {},
|
|
35174
|
+
...overflow !== void 0 ? { overflow } : {},
|
|
35007
35175
|
...style
|
|
35008
35176
|
};
|
|
35009
35177
|
const classes = ["rf-stack", sxClass, className].filter(Boolean).join(" ");
|
|
@@ -35492,6 +35660,30 @@ var Tabs = ({
|
|
|
35492
35660
|
));
|
|
35493
35661
|
};
|
|
35494
35662
|
Tabs.displayName = "Tabs";
|
|
35663
|
+
var TabPanel = ({
|
|
35664
|
+
value,
|
|
35665
|
+
activeValue,
|
|
35666
|
+
children,
|
|
35667
|
+
keepMounted = false,
|
|
35668
|
+
className = "",
|
|
35669
|
+
style,
|
|
35670
|
+
sx
|
|
35671
|
+
}) => {
|
|
35672
|
+
const sxClass = useSx(sx);
|
|
35673
|
+
const isActive = value === activeValue;
|
|
35674
|
+
if (!isActive && !keepMounted) return null;
|
|
35675
|
+
return /* @__PURE__ */ import_react38.default.createElement(
|
|
35676
|
+
"div",
|
|
35677
|
+
{
|
|
35678
|
+
role: "tabpanel",
|
|
35679
|
+
hidden: !isActive,
|
|
35680
|
+
className: ["rf-tab-panel", sxClass, className].filter(Boolean).join(" "),
|
|
35681
|
+
style
|
|
35682
|
+
},
|
|
35683
|
+
isActive && children
|
|
35684
|
+
);
|
|
35685
|
+
};
|
|
35686
|
+
TabPanel.displayName = "TabPanel";
|
|
35495
35687
|
|
|
35496
35688
|
// lib/Breadcrumbs/Breadcrumbs.tsx
|
|
35497
35689
|
var import_react39 = __toESM(require("react"), 1);
|
|
@@ -36897,6 +37089,7 @@ ImageField.displayName = "ImageField";
|
|
|
36897
37089
|
SuspendUserIcon,
|
|
36898
37090
|
Switch,
|
|
36899
37091
|
Tab,
|
|
37092
|
+
TabPanel,
|
|
36900
37093
|
Tabs,
|
|
36901
37094
|
TechnicalSkillsIcon,
|
|
36902
37095
|
TextField,
|
package/dist/main.css
CHANGED
|
@@ -1494,6 +1494,11 @@ pre {
|
|
|
1494
1494
|
justify-content: space-between;
|
|
1495
1495
|
padding: 18px 20px 12px;
|
|
1496
1496
|
}
|
|
1497
|
+
.rf-date-picker__header-labels {
|
|
1498
|
+
display: flex;
|
|
1499
|
+
align-items: center;
|
|
1500
|
+
gap: 6px;
|
|
1501
|
+
}
|
|
1497
1502
|
.rf-date-picker__month-label {
|
|
1498
1503
|
font-size: 1rem;
|
|
1499
1504
|
font-weight: 700;
|
|
@@ -1501,6 +1506,33 @@ pre {
|
|
|
1501
1506
|
letter-spacing: -0.01em;
|
|
1502
1507
|
cursor: pointer;
|
|
1503
1508
|
user-select: none;
|
|
1509
|
+
padding: 2px 6px;
|
|
1510
|
+
border-radius: 6px;
|
|
1511
|
+
transition: background-color 0.15s ease;
|
|
1512
|
+
}
|
|
1513
|
+
.rf-date-picker__month-label:hover {
|
|
1514
|
+
background-color: rgba(164, 27, 6, 0.08);
|
|
1515
|
+
}
|
|
1516
|
+
.rf-date-picker__month-label--active {
|
|
1517
|
+
background-color: rgba(164, 27, 6, 0.1);
|
|
1518
|
+
color: #a41b06;
|
|
1519
|
+
}
|
|
1520
|
+
.rf-date-picker__year-label {
|
|
1521
|
+
font-size: 1rem;
|
|
1522
|
+
font-weight: 700;
|
|
1523
|
+
color: #555555;
|
|
1524
|
+
cursor: pointer;
|
|
1525
|
+
user-select: none;
|
|
1526
|
+
padding: 2px 6px;
|
|
1527
|
+
border-radius: 6px;
|
|
1528
|
+
transition: background-color 0.15s ease;
|
|
1529
|
+
}
|
|
1530
|
+
.rf-date-picker__year-label:hover {
|
|
1531
|
+
background-color: rgba(164, 27, 6, 0.08);
|
|
1532
|
+
}
|
|
1533
|
+
.rf-date-picker__year-label--active {
|
|
1534
|
+
background-color: rgba(164, 27, 6, 0.1);
|
|
1535
|
+
color: #a41b06;
|
|
1504
1536
|
}
|
|
1505
1537
|
.rf-date-picker__nav {
|
|
1506
1538
|
display: flex;
|
|
@@ -1884,6 +1916,83 @@ pre {
|
|
|
1884
1916
|
color: rgba(0, 0, 0, 0.75);
|
|
1885
1917
|
background-color: rgba(0, 0, 0, 0.05);
|
|
1886
1918
|
}
|
|
1919
|
+
.rf-date-picker--drop-up {
|
|
1920
|
+
top: auto;
|
|
1921
|
+
bottom: calc(100% + 6px);
|
|
1922
|
+
transform-origin: bottom left;
|
|
1923
|
+
}
|
|
1924
|
+
.rf-date-picker__month-grid {
|
|
1925
|
+
display: grid;
|
|
1926
|
+
grid-template-columns: repeat(3, 1fr);
|
|
1927
|
+
gap: 6px;
|
|
1928
|
+
padding: 8px 16px 12px;
|
|
1929
|
+
}
|
|
1930
|
+
.rf-date-picker__month-cell {
|
|
1931
|
+
display: flex;
|
|
1932
|
+
align-items: center;
|
|
1933
|
+
justify-content: center;
|
|
1934
|
+
padding: 10px 8px;
|
|
1935
|
+
border-radius: 8px;
|
|
1936
|
+
font-size: 0.85rem;
|
|
1937
|
+
font-weight: 500;
|
|
1938
|
+
color: #333333;
|
|
1939
|
+
background: none;
|
|
1940
|
+
border: none;
|
|
1941
|
+
cursor: pointer;
|
|
1942
|
+
transition: background-color 0.12s ease, color 0.12s ease;
|
|
1943
|
+
outline: none;
|
|
1944
|
+
}
|
|
1945
|
+
.rf-date-picker__month-cell:hover {
|
|
1946
|
+
background-color: rgba(164, 27, 6, 0.08);
|
|
1947
|
+
}
|
|
1948
|
+
.rf-date-picker__month-cell--selected {
|
|
1949
|
+
background-color: #a41b06;
|
|
1950
|
+
color: #ffffff;
|
|
1951
|
+
font-weight: 600;
|
|
1952
|
+
}
|
|
1953
|
+
.rf-date-picker__month-cell--selected:hover {
|
|
1954
|
+
background-color: #8a1705;
|
|
1955
|
+
}
|
|
1956
|
+
.rf-date-picker__month-cell--current:not(.rf-date-picker__month-cell--selected) {
|
|
1957
|
+
color: #a41b06;
|
|
1958
|
+
font-weight: 600;
|
|
1959
|
+
}
|
|
1960
|
+
.rf-date-picker__year-grid {
|
|
1961
|
+
display: grid;
|
|
1962
|
+
grid-template-columns: repeat(4, 1fr);
|
|
1963
|
+
gap: 6px;
|
|
1964
|
+
padding: 8px 16px 12px;
|
|
1965
|
+
}
|
|
1966
|
+
.rf-date-picker__year-cell {
|
|
1967
|
+
display: flex;
|
|
1968
|
+
align-items: center;
|
|
1969
|
+
justify-content: center;
|
|
1970
|
+
padding: 10px 4px;
|
|
1971
|
+
border-radius: 8px;
|
|
1972
|
+
font-size: 0.85rem;
|
|
1973
|
+
font-weight: 500;
|
|
1974
|
+
color: #333333;
|
|
1975
|
+
background: none;
|
|
1976
|
+
border: none;
|
|
1977
|
+
cursor: pointer;
|
|
1978
|
+
transition: background-color 0.12s ease, color 0.12s ease;
|
|
1979
|
+
outline: none;
|
|
1980
|
+
}
|
|
1981
|
+
.rf-date-picker__year-cell:hover {
|
|
1982
|
+
background-color: rgba(164, 27, 6, 0.08);
|
|
1983
|
+
}
|
|
1984
|
+
.rf-date-picker__year-cell--selected {
|
|
1985
|
+
background-color: #a41b06;
|
|
1986
|
+
color: #ffffff;
|
|
1987
|
+
font-weight: 600;
|
|
1988
|
+
}
|
|
1989
|
+
.rf-date-picker__year-cell--selected:hover {
|
|
1990
|
+
background-color: #8a1705;
|
|
1991
|
+
}
|
|
1992
|
+
.rf-date-picker__year-cell--current:not(.rf-date-picker__year-cell--selected) {
|
|
1993
|
+
color: #a41b06;
|
|
1994
|
+
font-weight: 600;
|
|
1995
|
+
}
|
|
1887
1996
|
|
|
1888
1997
|
/* lib/styles/date-range-field.css */
|
|
1889
1998
|
.rf-date-range-field {
|
|
@@ -2345,6 +2454,16 @@ pre {
|
|
|
2345
2454
|
padding-left: 0;
|
|
2346
2455
|
margin-top: 0;
|
|
2347
2456
|
}
|
|
2457
|
+
.rf-autocomplete.rf-text-field--disabled .rf-text-field__wrapper {
|
|
2458
|
+
cursor: not-allowed;
|
|
2459
|
+
}
|
|
2460
|
+
.rf-autocomplete.rf-text-field--disabled .rf-autocomplete__tag {
|
|
2461
|
+
opacity: 0.5;
|
|
2462
|
+
}
|
|
2463
|
+
.rf-autocomplete.rf-text-field--disabled .rf-autocomplete__endgroup {
|
|
2464
|
+
opacity: 0.35;
|
|
2465
|
+
pointer-events: none;
|
|
2466
|
+
}
|
|
2348
2467
|
.rf-autocomplete__icon-btn {
|
|
2349
2468
|
background: none;
|
|
2350
2469
|
border: none;
|
|
@@ -2571,6 +2690,18 @@ pre {
|
|
|
2571
2690
|
.rf-select.rf-text-field--disabled .rf-text-field__wrapper {
|
|
2572
2691
|
cursor: not-allowed;
|
|
2573
2692
|
}
|
|
2693
|
+
.rf-select.rf-text-field--disabled .rf-select__display {
|
|
2694
|
+
color: var(--tf-disabled-color, rgba(0, 0, 0, 0.38));
|
|
2695
|
+
}
|
|
2696
|
+
.rf-select.rf-text-field--disabled .rf-select__arrow {
|
|
2697
|
+
color: rgba(0, 0, 0, 0.2);
|
|
2698
|
+
}
|
|
2699
|
+
.rf-select.rf-text-field--disabled .rf-select__chip {
|
|
2700
|
+
opacity: 0.5;
|
|
2701
|
+
}
|
|
2702
|
+
.rf-select.rf-text-field--disabled .rf-select__count {
|
|
2703
|
+
opacity: 0.5;
|
|
2704
|
+
}
|
|
2574
2705
|
.rf-select__display {
|
|
2575
2706
|
display: flex;
|
|
2576
2707
|
align-items: center;
|
|
@@ -4893,6 +5024,12 @@ pre {
|
|
|
4893
5024
|
align-items: center;
|
|
4894
5025
|
font-size: 1.25rem;
|
|
4895
5026
|
}
|
|
5027
|
+
.rf-tab-panel {
|
|
5028
|
+
width: 100%;
|
|
5029
|
+
}
|
|
5030
|
+
.rf-tab-panel[hidden] {
|
|
5031
|
+
display: none;
|
|
5032
|
+
}
|
|
4896
5033
|
|
|
4897
5034
|
/* lib/styles/breadcrumbs.css */
|
|
4898
5035
|
.rf-breadcrumbs {
|
|
@@ -5800,9 +5937,10 @@ pre {
|
|
|
5800
5937
|
outline-offset: 2px;
|
|
5801
5938
|
}
|
|
5802
5939
|
.rf-image-field--disabled {
|
|
5803
|
-
opacity: 0.
|
|
5940
|
+
opacity: 0.45;
|
|
5804
5941
|
cursor: not-allowed;
|
|
5805
5942
|
pointer-events: none;
|
|
5943
|
+
filter: grayscale(60%);
|
|
5806
5944
|
}
|
|
5807
5945
|
|
|
5808
5946
|
/* lib/styles/text-field.css */
|
|
@@ -5900,10 +6038,28 @@ pre {
|
|
|
5900
6038
|
.rf-text-field__input:focus {
|
|
5901
6039
|
outline: none;
|
|
5902
6040
|
}
|
|
6041
|
+
.rf-text-field--disabled {
|
|
6042
|
+
pointer-events: none;
|
|
6043
|
+
}
|
|
6044
|
+
.rf-text-field--disabled .rf-text-field__wrapper {
|
|
6045
|
+
cursor: not-allowed;
|
|
6046
|
+
pointer-events: none;
|
|
6047
|
+
background-color: rgba(0, 0, 0, 0.04);
|
|
6048
|
+
}
|
|
6049
|
+
.rf-text-field--disabled .rf-text-field__label {
|
|
6050
|
+
color: var(--tf-disabled-color);
|
|
6051
|
+
}
|
|
6052
|
+
.rf-text-field--disabled .rf-text-field__adornment {
|
|
6053
|
+
color: var(--tf-disabled-color);
|
|
6054
|
+
opacity: 0.5;
|
|
6055
|
+
}
|
|
6056
|
+
.rf-text-field--disabled .rf-text-field__helper-text {
|
|
6057
|
+
color: var(--tf-disabled-color);
|
|
6058
|
+
}
|
|
5903
6059
|
.rf-text-field__input:disabled {
|
|
5904
6060
|
opacity: 1;
|
|
5905
6061
|
color: var(--tf-disabled-color);
|
|
5906
|
-
cursor:
|
|
6062
|
+
cursor: not-allowed;
|
|
5907
6063
|
}
|
|
5908
6064
|
.rf-text-field__input::placeholder {
|
|
5909
6065
|
color: var(--tf-placeholder-color);
|
|
@@ -6007,7 +6163,10 @@ pre {
|
|
|
6007
6163
|
border-width: 2px;
|
|
6008
6164
|
}
|
|
6009
6165
|
.rf-text-field--outlined.rf-text-field--disabled .rf-text-field__notch {
|
|
6010
|
-
border-color:
|
|
6166
|
+
border-color: rgba(0, 0, 0, 0.15);
|
|
6167
|
+
}
|
|
6168
|
+
.rf-text-field--outlined.rf-text-field--disabled .rf-text-field__wrapper:hover .rf-text-field__notch {
|
|
6169
|
+
border-color: rgba(0, 0, 0, 0.15);
|
|
6011
6170
|
}
|
|
6012
6171
|
.rf-text-field--filled .rf-text-field__wrapper {
|
|
6013
6172
|
background-color: var(--tf-filled-bg);
|
|
@@ -6061,7 +6220,13 @@ pre {
|
|
|
6061
6220
|
transform: translate(12px, 7px) scale(0.75);
|
|
6062
6221
|
}
|
|
6063
6222
|
.rf-text-field--filled.rf-text-field--disabled .rf-text-field__wrapper {
|
|
6064
|
-
background-color: rgba(0, 0, 0, 0.
|
|
6223
|
+
background-color: rgba(0, 0, 0, 0.04);
|
|
6224
|
+
}
|
|
6225
|
+
.rf-text-field--filled.rf-text-field--disabled .rf-text-field__wrapper:hover {
|
|
6226
|
+
background-color: rgba(0, 0, 0, 0.04);
|
|
6227
|
+
}
|
|
6228
|
+
.rf-text-field--filled.rf-text-field--disabled .rf-text-field__wrapper:hover::before {
|
|
6229
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.42);
|
|
6065
6230
|
}
|
|
6066
6231
|
.rf-text-field--filled.rf-text-field--disabled .rf-text-field__wrapper::before {
|
|
6067
6232
|
border-bottom-style: dotted;
|
|
@@ -6111,6 +6276,9 @@ pre {
|
|
|
6111
6276
|
.rf-text-field--standard.rf-text-field--disabled .rf-text-field__wrapper::before {
|
|
6112
6277
|
border-bottom-style: dotted;
|
|
6113
6278
|
}
|
|
6279
|
+
.rf-text-field--standard.rf-text-field--disabled .rf-text-field__wrapper:hover::before {
|
|
6280
|
+
border-bottom: 1px dotted rgba(0, 0, 0, 0.42);
|
|
6281
|
+
}
|
|
6114
6282
|
.rf-text-field--error .rf-text-field__label,
|
|
6115
6283
|
.rf-text-field--error .rf-text-field__wrapper:focus-within .rf-text-field__label {
|
|
6116
6284
|
color: var(--tf-error-color);
|
|
@@ -6217,6 +6385,13 @@ pre {
|
|
|
6217
6385
|
margin-right: 10px;
|
|
6218
6386
|
margin-left: 0;
|
|
6219
6387
|
}
|
|
6388
|
+
.rf-text-field--compact.rf-text-field--disabled .rf-text-field__wrapper {
|
|
6389
|
+
border-color: rgba(0, 0, 0, 0.12);
|
|
6390
|
+
background-color: rgba(0, 0, 0, 0.04);
|
|
6391
|
+
}
|
|
6392
|
+
.rf-text-field--compact.rf-text-field--disabled .rf-text-field__wrapper:hover {
|
|
6393
|
+
border-color: rgba(0, 0, 0, 0.12);
|
|
6394
|
+
}
|
|
6220
6395
|
|
|
6221
6396
|
/* node_modules/jodit/es5/jodit.min.css */
|
|
6222
6397
|
.jodit-ui-button-icon-text__icon {
|
package/dist/main.d.cts
CHANGED
|
@@ -549,7 +549,7 @@ interface AddressLookupProps {
|
|
|
549
549
|
*/
|
|
550
550
|
declare const AddressLookup: ({ value, onChange, label, error, size, sx, layout, required, token, }: AddressLookupProps) => React__default.JSX.Element;
|
|
551
551
|
|
|
552
|
-
type DateFormatString = "MM/DD/YYYY" | "DD/MM/YYYY" | "YYYY-MM-DD" | "DD-MM-YYYY" | "MM-DD-YYYY" | "YYYY/MM/DD";
|
|
552
|
+
type DateFormatString = "MM/DD/YYYY" | "DD/MM/YYYY" | "YYYY-MM-DD" | "DD-MM-YYYY" | "MM-DD-YYYY" | "YYYY/MM/DD" | "DD MMM YYYY" | "MMM DD, YYYY" | "DD MMMM YYYY" | "MMMM DD, YYYY";
|
|
553
553
|
interface DateFieldProps {
|
|
554
554
|
/** Floating label */
|
|
555
555
|
label?: string;
|
|
@@ -754,11 +754,13 @@ interface DataGridProps<T> {
|
|
|
754
754
|
pageSize?: number;
|
|
755
755
|
pageSizeOptions?: number[];
|
|
756
756
|
title?: string;
|
|
757
|
+
className?: string;
|
|
758
|
+
sx?: SxProp;
|
|
757
759
|
}
|
|
758
760
|
|
|
759
761
|
declare function DataGrid<T extends {
|
|
760
762
|
id: string | number;
|
|
761
|
-
}>({ columns: initialColumnsProp, data, actions, pageSize: initialPageSize, pageSizeOptions, title }: DataGridProps<T>): React__default.JSX.Element;
|
|
763
|
+
}>({ columns: initialColumnsProp, data, actions, pageSize: initialPageSize, pageSizeOptions, title, className, sx, }: DataGridProps<T>): React__default.JSX.Element;
|
|
762
764
|
|
|
763
765
|
interface MentionItem {
|
|
764
766
|
id: string;
|
|
@@ -1120,6 +1122,23 @@ interface BoxProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
1120
1122
|
margin?: string | number;
|
|
1121
1123
|
width?: string | number;
|
|
1122
1124
|
height?: string | number;
|
|
1125
|
+
minWidth?: string | number;
|
|
1126
|
+
maxWidth?: string | number;
|
|
1127
|
+
minHeight?: string | number;
|
|
1128
|
+
maxHeight?: string | number;
|
|
1129
|
+
flex?: string | number;
|
|
1130
|
+
flexWrap?: string;
|
|
1131
|
+
flexGrow?: number;
|
|
1132
|
+
flexShrink?: number;
|
|
1133
|
+
overflow?: string;
|
|
1134
|
+
position?: string;
|
|
1135
|
+
top?: string | number;
|
|
1136
|
+
right?: string | number;
|
|
1137
|
+
bottom?: string | number;
|
|
1138
|
+
left?: string | number;
|
|
1139
|
+
borderRadius?: string | number;
|
|
1140
|
+
bgcolor?: string;
|
|
1141
|
+
color?: string;
|
|
1123
1142
|
className?: string;
|
|
1124
1143
|
style?: CSSProperties;
|
|
1125
1144
|
sx?: SxProp;
|
|
@@ -1134,6 +1153,8 @@ interface StackProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
1134
1153
|
divider?: ReactNode;
|
|
1135
1154
|
flexWrap?: "nowrap" | "wrap" | "wrap-reverse";
|
|
1136
1155
|
useFlexGap?: boolean;
|
|
1156
|
+
flex?: string | number;
|
|
1157
|
+
overflow?: string;
|
|
1137
1158
|
component?: keyof React.JSX.IntrinsicElements;
|
|
1138
1159
|
children: ReactNode;
|
|
1139
1160
|
className?: string;
|
|
@@ -1282,6 +1303,16 @@ interface TabsProps {
|
|
|
1282
1303
|
sx?: SxProp;
|
|
1283
1304
|
}
|
|
1284
1305
|
declare const Tabs: React__default.FC<TabsProps>;
|
|
1306
|
+
interface TabPanelProps {
|
|
1307
|
+
value: string | number;
|
|
1308
|
+
activeValue: string | number;
|
|
1309
|
+
children: ReactNode;
|
|
1310
|
+
keepMounted?: boolean;
|
|
1311
|
+
className?: string;
|
|
1312
|
+
style?: CSSProperties;
|
|
1313
|
+
sx?: SxProp;
|
|
1314
|
+
}
|
|
1315
|
+
declare const TabPanel: React__default.FC<TabPanelProps>;
|
|
1285
1316
|
|
|
1286
1317
|
interface BreadcrumbsProps {
|
|
1287
1318
|
separator?: ReactNode;
|
|
@@ -1555,4 +1586,4 @@ interface ImageFieldProps {
|
|
|
1555
1586
|
}
|
|
1556
1587
|
declare const ImageField: React__default.ForwardRefExoticComponent<ImageFieldProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1557
1588
|
|
|
1558
|
-
export { APP_THEMES, Accordion, AccordionDetails, type AccordionDetailsProps, type AccordionProps, AccordionSummary, type AccordionSummaryProps, type Action, ActivateUserIcon, AddButton, AddressLookup, ArchivedIcon, AssignGroupIcon, Autocomplete, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, BaseDialog, Box, type BoxProps, Breadcrumbs, type BreadcrumbsProps, CameraIcon, CancelButton, Card, CardActions, type CardActionsProps, CardContent, type CardContentProps, CardHeader, type CardHeaderProps, CardMedia, type CardMediaProps, type CardProps, Checkbox, type CheckboxProps, Chip, type ChipProps, CircularProgress, CircularProgressIcon, type CircularProgressIconProps, CloseIcon, Collapse, type CollapseProps, type Column, CopyIcon, DataGrid, type DataGridProps, DateField, type DateFieldProps, type DateFormatString, DateRangeField, type DateRangeFieldProps, type DateRangeValue, DifficultyAllIcon, DifficultyEasyIcon, DifficultyHardIcon, DifficultyMediumIcon, Divider, type DividerProps, DollarIcon, DownloadIcon, DownloadPdfIcon, Drawer, type DrawerProps, EditChatIcon, EditIcon, EngagementIcon, Fade, type FadeProps, FunctionIcon, Grid, type GridProps, Grow, type GrowProps, HelpOutlinedIcon, HierarchyIcon, ImageField, type ImageFieldProps, InactiveGroupIcon, IndustryIcon, InvoiceIcon, Link, type LinkProps, List, ListItem, ListItemButton, type ListItemButtonProps, ListItemIcon, type ListItemIconProps, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, LocationPinIcon, LogsIcon, type MentionItem, Menu, MenuDivider, MenuItem, type MenuItemProps, MenuList, type MenuListProps, type MenuProps, MinExperienceIcon, NineDotMenuIcon, NotificationIcon, Paper, type PaperProps, Popover, type PopoverProps, Popper, type PopperProps, ProjectIcon, QualificationsIcon, QuestionStatusAllIcon, QuestionStatusPrivateIcon, QuestionStatusPublicIcon, QuestionTypeAllIcon, QuestionTypeCodingIcon, QuestionTypeDescriptiveIcon, QuestionTypeMultipleIcon, QuestionTypeSingleIcon, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rating, type RatingProps, RefreshIcon, ResendInviteIcon, RichTextEditor, type RichTextEditorProps, RolesIcon, RufousAiIcon, RufousBirdIcon, RufousLauncherIcon, RufousLogoLoader, type RufousLogoLoaderProps, RufousThemeProvider, Select, type SelectProps, SidebarIcon, Skeleton, type SkeletonProps, Slide, type SlideProps, Slider, type SliderProps, Snackbar, type SnackbarProps, SoftSkillsIcon, type SortDirection, Stack, type StackProps, StandardButton, Step, StepButton, type StepButtonProps, StepContent, type StepContentProps, StepLabel, type StepLabelProps, type StepProps, Stepper, type StepperProps, SubmitButton, SubscribeIcon, SuspendUserIcon, Switch, type SwitchProps, type SxProp, Tab, type TabProps, Tabs, type TabsProps, TechnicalSkillsIcon, TextField, type TextFieldProps, TickIcon, TimerIcon, ToggleButton, ToggleButtonGroup, type ToggleButtonGroupProps, type ToggleButtonProps, Tooltip, type TooltipProps, TrashIcon, Typography, type TypographyProps, UnArchivedIcon, UnsubscribeIcon, UploadIcon, UserAssignIcon, ViewIcon, WorkItemIcon, Zoom, type ZoomProps, useRufousTheme };
|
|
1589
|
+
export { APP_THEMES, Accordion, AccordionDetails, type AccordionDetailsProps, type AccordionProps, AccordionSummary, type AccordionSummaryProps, type Action, ActivateUserIcon, AddButton, AddressLookup, ArchivedIcon, AssignGroupIcon, Autocomplete, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, BaseDialog, Box, type BoxProps, Breadcrumbs, type BreadcrumbsProps, CameraIcon, CancelButton, Card, CardActions, type CardActionsProps, CardContent, type CardContentProps, CardHeader, type CardHeaderProps, CardMedia, type CardMediaProps, type CardProps, Checkbox, type CheckboxProps, Chip, type ChipProps, CircularProgress, CircularProgressIcon, type CircularProgressIconProps, CloseIcon, Collapse, type CollapseProps, type Column, CopyIcon, DataGrid, type DataGridProps, DateField, type DateFieldProps, type DateFormatString, DateRangeField, type DateRangeFieldProps, type DateRangeValue, DifficultyAllIcon, DifficultyEasyIcon, DifficultyHardIcon, DifficultyMediumIcon, Divider, type DividerProps, DollarIcon, DownloadIcon, DownloadPdfIcon, Drawer, type DrawerProps, EditChatIcon, EditIcon, EngagementIcon, Fade, type FadeProps, FunctionIcon, Grid, type GridProps, Grow, type GrowProps, HelpOutlinedIcon, HierarchyIcon, ImageField, type ImageFieldProps, InactiveGroupIcon, IndustryIcon, InvoiceIcon, Link, type LinkProps, List, ListItem, ListItemButton, type ListItemButtonProps, ListItemIcon, type ListItemIconProps, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, LocationPinIcon, LogsIcon, type MentionItem, Menu, MenuDivider, MenuItem, type MenuItemProps, MenuList, type MenuListProps, type MenuProps, MinExperienceIcon, NineDotMenuIcon, NotificationIcon, Paper, type PaperProps, Popover, type PopoverProps, Popper, type PopperProps, ProjectIcon, QualificationsIcon, QuestionStatusAllIcon, QuestionStatusPrivateIcon, QuestionStatusPublicIcon, QuestionTypeAllIcon, QuestionTypeCodingIcon, QuestionTypeDescriptiveIcon, QuestionTypeMultipleIcon, QuestionTypeSingleIcon, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rating, type RatingProps, RefreshIcon, ResendInviteIcon, RichTextEditor, type RichTextEditorProps, RolesIcon, RufousAiIcon, RufousBirdIcon, RufousLauncherIcon, RufousLogoLoader, type RufousLogoLoaderProps, RufousThemeProvider, Select, type SelectProps, SidebarIcon, Skeleton, type SkeletonProps, Slide, type SlideProps, Slider, type SliderProps, Snackbar, type SnackbarProps, SoftSkillsIcon, type SortDirection, Stack, type StackProps, StandardButton, Step, StepButton, type StepButtonProps, StepContent, type StepContentProps, StepLabel, type StepLabelProps, type StepProps, Stepper, type StepperProps, SubmitButton, SubscribeIcon, SuspendUserIcon, Switch, type SwitchProps, type SxProp, Tab, TabPanel, type TabPanelProps, type TabProps, Tabs, type TabsProps, TechnicalSkillsIcon, TextField, type TextFieldProps, TickIcon, TimerIcon, ToggleButton, ToggleButtonGroup, type ToggleButtonGroupProps, type ToggleButtonProps, Tooltip, type TooltipProps, TrashIcon, Typography, type TypographyProps, UnArchivedIcon, UnsubscribeIcon, UploadIcon, UserAssignIcon, ViewIcon, WorkItemIcon, Zoom, type ZoomProps, useRufousTheme };
|
package/dist/main.d.ts
CHANGED
|
@@ -549,7 +549,7 @@ interface AddressLookupProps {
|
|
|
549
549
|
*/
|
|
550
550
|
declare const AddressLookup: ({ value, onChange, label, error, size, sx, layout, required, token, }: AddressLookupProps) => React__default.JSX.Element;
|
|
551
551
|
|
|
552
|
-
type DateFormatString = "MM/DD/YYYY" | "DD/MM/YYYY" | "YYYY-MM-DD" | "DD-MM-YYYY" | "MM-DD-YYYY" | "YYYY/MM/DD";
|
|
552
|
+
type DateFormatString = "MM/DD/YYYY" | "DD/MM/YYYY" | "YYYY-MM-DD" | "DD-MM-YYYY" | "MM-DD-YYYY" | "YYYY/MM/DD" | "DD MMM YYYY" | "MMM DD, YYYY" | "DD MMMM YYYY" | "MMMM DD, YYYY";
|
|
553
553
|
interface DateFieldProps {
|
|
554
554
|
/** Floating label */
|
|
555
555
|
label?: string;
|
|
@@ -754,11 +754,13 @@ interface DataGridProps<T> {
|
|
|
754
754
|
pageSize?: number;
|
|
755
755
|
pageSizeOptions?: number[];
|
|
756
756
|
title?: string;
|
|
757
|
+
className?: string;
|
|
758
|
+
sx?: SxProp;
|
|
757
759
|
}
|
|
758
760
|
|
|
759
761
|
declare function DataGrid<T extends {
|
|
760
762
|
id: string | number;
|
|
761
|
-
}>({ columns: initialColumnsProp, data, actions, pageSize: initialPageSize, pageSizeOptions, title }: DataGridProps<T>): React__default.JSX.Element;
|
|
763
|
+
}>({ columns: initialColumnsProp, data, actions, pageSize: initialPageSize, pageSizeOptions, title, className, sx, }: DataGridProps<T>): React__default.JSX.Element;
|
|
762
764
|
|
|
763
765
|
interface MentionItem {
|
|
764
766
|
id: string;
|
|
@@ -1120,6 +1122,23 @@ interface BoxProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
1120
1122
|
margin?: string | number;
|
|
1121
1123
|
width?: string | number;
|
|
1122
1124
|
height?: string | number;
|
|
1125
|
+
minWidth?: string | number;
|
|
1126
|
+
maxWidth?: string | number;
|
|
1127
|
+
minHeight?: string | number;
|
|
1128
|
+
maxHeight?: string | number;
|
|
1129
|
+
flex?: string | number;
|
|
1130
|
+
flexWrap?: string;
|
|
1131
|
+
flexGrow?: number;
|
|
1132
|
+
flexShrink?: number;
|
|
1133
|
+
overflow?: string;
|
|
1134
|
+
position?: string;
|
|
1135
|
+
top?: string | number;
|
|
1136
|
+
right?: string | number;
|
|
1137
|
+
bottom?: string | number;
|
|
1138
|
+
left?: string | number;
|
|
1139
|
+
borderRadius?: string | number;
|
|
1140
|
+
bgcolor?: string;
|
|
1141
|
+
color?: string;
|
|
1123
1142
|
className?: string;
|
|
1124
1143
|
style?: CSSProperties;
|
|
1125
1144
|
sx?: SxProp;
|
|
@@ -1134,6 +1153,8 @@ interface StackProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
1134
1153
|
divider?: ReactNode;
|
|
1135
1154
|
flexWrap?: "nowrap" | "wrap" | "wrap-reverse";
|
|
1136
1155
|
useFlexGap?: boolean;
|
|
1156
|
+
flex?: string | number;
|
|
1157
|
+
overflow?: string;
|
|
1137
1158
|
component?: keyof React.JSX.IntrinsicElements;
|
|
1138
1159
|
children: ReactNode;
|
|
1139
1160
|
className?: string;
|
|
@@ -1282,6 +1303,16 @@ interface TabsProps {
|
|
|
1282
1303
|
sx?: SxProp;
|
|
1283
1304
|
}
|
|
1284
1305
|
declare const Tabs: React__default.FC<TabsProps>;
|
|
1306
|
+
interface TabPanelProps {
|
|
1307
|
+
value: string | number;
|
|
1308
|
+
activeValue: string | number;
|
|
1309
|
+
children: ReactNode;
|
|
1310
|
+
keepMounted?: boolean;
|
|
1311
|
+
className?: string;
|
|
1312
|
+
style?: CSSProperties;
|
|
1313
|
+
sx?: SxProp;
|
|
1314
|
+
}
|
|
1315
|
+
declare const TabPanel: React__default.FC<TabPanelProps>;
|
|
1285
1316
|
|
|
1286
1317
|
interface BreadcrumbsProps {
|
|
1287
1318
|
separator?: ReactNode;
|
|
@@ -1555,4 +1586,4 @@ interface ImageFieldProps {
|
|
|
1555
1586
|
}
|
|
1556
1587
|
declare const ImageField: React__default.ForwardRefExoticComponent<ImageFieldProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1557
1588
|
|
|
1558
|
-
export { APP_THEMES, Accordion, AccordionDetails, type AccordionDetailsProps, type AccordionProps, AccordionSummary, type AccordionSummaryProps, type Action, ActivateUserIcon, AddButton, AddressLookup, ArchivedIcon, AssignGroupIcon, Autocomplete, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, BaseDialog, Box, type BoxProps, Breadcrumbs, type BreadcrumbsProps, CameraIcon, CancelButton, Card, CardActions, type CardActionsProps, CardContent, type CardContentProps, CardHeader, type CardHeaderProps, CardMedia, type CardMediaProps, type CardProps, Checkbox, type CheckboxProps, Chip, type ChipProps, CircularProgress, CircularProgressIcon, type CircularProgressIconProps, CloseIcon, Collapse, type CollapseProps, type Column, CopyIcon, DataGrid, type DataGridProps, DateField, type DateFieldProps, type DateFormatString, DateRangeField, type DateRangeFieldProps, type DateRangeValue, DifficultyAllIcon, DifficultyEasyIcon, DifficultyHardIcon, DifficultyMediumIcon, Divider, type DividerProps, DollarIcon, DownloadIcon, DownloadPdfIcon, Drawer, type DrawerProps, EditChatIcon, EditIcon, EngagementIcon, Fade, type FadeProps, FunctionIcon, Grid, type GridProps, Grow, type GrowProps, HelpOutlinedIcon, HierarchyIcon, ImageField, type ImageFieldProps, InactiveGroupIcon, IndustryIcon, InvoiceIcon, Link, type LinkProps, List, ListItem, ListItemButton, type ListItemButtonProps, ListItemIcon, type ListItemIconProps, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, LocationPinIcon, LogsIcon, type MentionItem, Menu, MenuDivider, MenuItem, type MenuItemProps, MenuList, type MenuListProps, type MenuProps, MinExperienceIcon, NineDotMenuIcon, NotificationIcon, Paper, type PaperProps, Popover, type PopoverProps, Popper, type PopperProps, ProjectIcon, QualificationsIcon, QuestionStatusAllIcon, QuestionStatusPrivateIcon, QuestionStatusPublicIcon, QuestionTypeAllIcon, QuestionTypeCodingIcon, QuestionTypeDescriptiveIcon, QuestionTypeMultipleIcon, QuestionTypeSingleIcon, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rating, type RatingProps, RefreshIcon, ResendInviteIcon, RichTextEditor, type RichTextEditorProps, RolesIcon, RufousAiIcon, RufousBirdIcon, RufousLauncherIcon, RufousLogoLoader, type RufousLogoLoaderProps, RufousThemeProvider, Select, type SelectProps, SidebarIcon, Skeleton, type SkeletonProps, Slide, type SlideProps, Slider, type SliderProps, Snackbar, type SnackbarProps, SoftSkillsIcon, type SortDirection, Stack, type StackProps, StandardButton, Step, StepButton, type StepButtonProps, StepContent, type StepContentProps, StepLabel, type StepLabelProps, type StepProps, Stepper, type StepperProps, SubmitButton, SubscribeIcon, SuspendUserIcon, Switch, type SwitchProps, type SxProp, Tab, type TabProps, Tabs, type TabsProps, TechnicalSkillsIcon, TextField, type TextFieldProps, TickIcon, TimerIcon, ToggleButton, ToggleButtonGroup, type ToggleButtonGroupProps, type ToggleButtonProps, Tooltip, type TooltipProps, TrashIcon, Typography, type TypographyProps, UnArchivedIcon, UnsubscribeIcon, UploadIcon, UserAssignIcon, ViewIcon, WorkItemIcon, Zoom, type ZoomProps, useRufousTheme };
|
|
1589
|
+
export { APP_THEMES, Accordion, AccordionDetails, type AccordionDetailsProps, type AccordionProps, AccordionSummary, type AccordionSummaryProps, type Action, ActivateUserIcon, AddButton, AddressLookup, ArchivedIcon, AssignGroupIcon, Autocomplete, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, BaseDialog, Box, type BoxProps, Breadcrumbs, type BreadcrumbsProps, CameraIcon, CancelButton, Card, CardActions, type CardActionsProps, CardContent, type CardContentProps, CardHeader, type CardHeaderProps, CardMedia, type CardMediaProps, type CardProps, Checkbox, type CheckboxProps, Chip, type ChipProps, CircularProgress, CircularProgressIcon, type CircularProgressIconProps, CloseIcon, Collapse, type CollapseProps, type Column, CopyIcon, DataGrid, type DataGridProps, DateField, type DateFieldProps, type DateFormatString, DateRangeField, type DateRangeFieldProps, type DateRangeValue, DifficultyAllIcon, DifficultyEasyIcon, DifficultyHardIcon, DifficultyMediumIcon, Divider, type DividerProps, DollarIcon, DownloadIcon, DownloadPdfIcon, Drawer, type DrawerProps, EditChatIcon, EditIcon, EngagementIcon, Fade, type FadeProps, FunctionIcon, Grid, type GridProps, Grow, type GrowProps, HelpOutlinedIcon, HierarchyIcon, ImageField, type ImageFieldProps, InactiveGroupIcon, IndustryIcon, InvoiceIcon, Link, type LinkProps, List, ListItem, ListItemButton, type ListItemButtonProps, ListItemIcon, type ListItemIconProps, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, LocationPinIcon, LogsIcon, type MentionItem, Menu, MenuDivider, MenuItem, type MenuItemProps, MenuList, type MenuListProps, type MenuProps, MinExperienceIcon, NineDotMenuIcon, NotificationIcon, Paper, type PaperProps, Popover, type PopoverProps, Popper, type PopperProps, ProjectIcon, QualificationsIcon, QuestionStatusAllIcon, QuestionStatusPrivateIcon, QuestionStatusPublicIcon, QuestionTypeAllIcon, QuestionTypeCodingIcon, QuestionTypeDescriptiveIcon, QuestionTypeMultipleIcon, QuestionTypeSingleIcon, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rating, type RatingProps, RefreshIcon, ResendInviteIcon, RichTextEditor, type RichTextEditorProps, RolesIcon, RufousAiIcon, RufousBirdIcon, RufousLauncherIcon, RufousLogoLoader, type RufousLogoLoaderProps, RufousThemeProvider, Select, type SelectProps, SidebarIcon, Skeleton, type SkeletonProps, Slide, type SlideProps, Slider, type SliderProps, Snackbar, type SnackbarProps, SoftSkillsIcon, type SortDirection, Stack, type StackProps, StandardButton, Step, StepButton, type StepButtonProps, StepContent, type StepContentProps, StepLabel, type StepLabelProps, type StepProps, Stepper, type StepperProps, SubmitButton, SubscribeIcon, SuspendUserIcon, Switch, type SwitchProps, type SxProp, Tab, TabPanel, type TabPanelProps, type TabProps, Tabs, type TabsProps, TechnicalSkillsIcon, TextField, type TextFieldProps, TickIcon, TimerIcon, ToggleButton, ToggleButtonGroup, type ToggleButtonGroupProps, type ToggleButtonProps, Tooltip, type TooltipProps, TrashIcon, Typography, type TypographyProps, UnArchivedIcon, UnsubscribeIcon, UploadIcon, UserAssignIcon, ViewIcon, WorkItemIcon, Zoom, type ZoomProps, useRufousTheme };
|
package/dist/main.js
CHANGED
|
@@ -1885,10 +1885,25 @@ var MONTHS = [
|
|
|
1885
1885
|
"November",
|
|
1886
1886
|
"December"
|
|
1887
1887
|
];
|
|
1888
|
+
var MONTHS_SHORT = [
|
|
1889
|
+
"Jan",
|
|
1890
|
+
"Feb",
|
|
1891
|
+
"Mar",
|
|
1892
|
+
"Apr",
|
|
1893
|
+
"May",
|
|
1894
|
+
"Jun",
|
|
1895
|
+
"Jul",
|
|
1896
|
+
"Aug",
|
|
1897
|
+
"Sep",
|
|
1898
|
+
"Oct",
|
|
1899
|
+
"Nov",
|
|
1900
|
+
"Dec"
|
|
1901
|
+
];
|
|
1888
1902
|
var formatDisplay = (d, fmt = "MM/DD/YYYY") => {
|
|
1889
1903
|
const mm = String(d.getMonth() + 1).padStart(2, "0");
|
|
1890
1904
|
const dd = String(d.getDate()).padStart(2, "0");
|
|
1891
1905
|
const yyyy = String(d.getFullYear());
|
|
1906
|
+
const day = d.getDate();
|
|
1892
1907
|
switch (fmt) {
|
|
1893
1908
|
case "DD/MM/YYYY":
|
|
1894
1909
|
return `${dd}/${mm}/${yyyy}`;
|
|
@@ -1900,13 +1915,49 @@ var formatDisplay = (d, fmt = "MM/DD/YYYY") => {
|
|
|
1900
1915
|
return `${mm}-${dd}-${yyyy}`;
|
|
1901
1916
|
case "YYYY/MM/DD":
|
|
1902
1917
|
return `${yyyy}/${mm}/${dd}`;
|
|
1918
|
+
case "DD MMM YYYY":
|
|
1919
|
+
return `${dd} ${MONTHS_SHORT[d.getMonth()]} ${yyyy}`;
|
|
1920
|
+
case "MMM DD, YYYY":
|
|
1921
|
+
return `${MONTHS_SHORT[d.getMonth()]} ${dd}, ${yyyy}`;
|
|
1922
|
+
case "DD MMMM YYYY":
|
|
1923
|
+
return `${dd} ${MONTHS[d.getMonth()]} ${yyyy}`;
|
|
1924
|
+
case "MMMM DD, YYYY":
|
|
1925
|
+
return `${MONTHS[d.getMonth()]} ${dd}, ${yyyy}`;
|
|
1903
1926
|
case "MM/DD/YYYY":
|
|
1904
1927
|
default:
|
|
1905
1928
|
return `${mm}/${dd}/${yyyy}`;
|
|
1906
1929
|
}
|
|
1907
1930
|
};
|
|
1908
1931
|
var formatTimeDisplay = (h, m, ampm) => `${String(h).padStart(2, "0")}:${String(m).padStart(2, "0")} ${ampm}`;
|
|
1932
|
+
var parseMonthName = (name) => {
|
|
1933
|
+
const lower = name.toLowerCase();
|
|
1934
|
+
let idx = MONTHS.findIndex((m) => m.toLowerCase() === lower);
|
|
1935
|
+
if (idx >= 0) return idx;
|
|
1936
|
+
idx = MONTHS_SHORT.findIndex((m) => m.toLowerCase() === lower);
|
|
1937
|
+
return idx;
|
|
1938
|
+
};
|
|
1909
1939
|
var parseDisplay = (str, fmt = "MM/DD/YYYY") => {
|
|
1940
|
+
if (fmt === "DD MMM YYYY" || fmt === "DD MMMM YYYY") {
|
|
1941
|
+
const parts2 = str.split(" ");
|
|
1942
|
+
if (parts2.length !== 3) return null;
|
|
1943
|
+
const dd2 = parseInt(parts2[0], 10);
|
|
1944
|
+
const mm2 = parseMonthName(parts2[1]);
|
|
1945
|
+
const yyyy2 = parseInt(parts2[2], 10);
|
|
1946
|
+
if (isNaN(dd2) || mm2 < 0 || isNaN(yyyy2) || yyyy2 < 1e3) return null;
|
|
1947
|
+
const d2 = new Date(yyyy2, mm2, dd2);
|
|
1948
|
+
return isNaN(d2.getTime()) ? null : d2;
|
|
1949
|
+
}
|
|
1950
|
+
if (fmt === "MMM DD, YYYY" || fmt === "MMMM DD, YYYY") {
|
|
1951
|
+
const cleaned = str.replace(",", "");
|
|
1952
|
+
const parts2 = cleaned.split(" ").filter(Boolean);
|
|
1953
|
+
if (parts2.length !== 3) return null;
|
|
1954
|
+
const mm2 = parseMonthName(parts2[0]);
|
|
1955
|
+
const dd2 = parseInt(parts2[1], 10);
|
|
1956
|
+
const yyyy2 = parseInt(parts2[2], 10);
|
|
1957
|
+
if (mm2 < 0 || isNaN(dd2) || isNaN(yyyy2) || yyyy2 < 1e3) return null;
|
|
1958
|
+
const d2 = new Date(yyyy2, mm2, dd2);
|
|
1959
|
+
return isNaN(d2.getTime()) ? null : d2;
|
|
1960
|
+
}
|
|
1910
1961
|
const sep = str.includes("/") ? "/" : "-";
|
|
1911
1962
|
const parts = str.split(sep);
|
|
1912
1963
|
if (parts.length !== 3) return null;
|
|
@@ -2091,27 +2142,89 @@ var CalendarBody = ({
|
|
|
2091
2142
|
dayCells,
|
|
2092
2143
|
onDayClick,
|
|
2093
2144
|
onPrev,
|
|
2094
|
-
onNext
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
const
|
|
2099
|
-
const
|
|
2100
|
-
|
|
2145
|
+
onNext,
|
|
2146
|
+
onMonthSelect,
|
|
2147
|
+
onYearSelect
|
|
2148
|
+
}) => {
|
|
2149
|
+
const [pickerView, setPickerView] = useState5("calendar");
|
|
2150
|
+
const handleMonthClick = () => {
|
|
2151
|
+
setPickerView(pickerView === "month" ? "calendar" : "month");
|
|
2152
|
+
};
|
|
2153
|
+
const handleYearClick = () => {
|
|
2154
|
+
setPickerView(pickerView === "year" ? "calendar" : "year");
|
|
2155
|
+
};
|
|
2156
|
+
const handleMonthPick = (month) => {
|
|
2157
|
+
onMonthSelect(month);
|
|
2158
|
+
setPickerView("calendar");
|
|
2159
|
+
};
|
|
2160
|
+
const handleYearPick = (year) => {
|
|
2161
|
+
onYearSelect(year);
|
|
2162
|
+
setPickerView("calendar");
|
|
2163
|
+
};
|
|
2164
|
+
const currentYear = todayDate.getFullYear();
|
|
2165
|
+
const yearStart = viewYear - 6;
|
|
2166
|
+
const years = Array.from({ length: 16 }, (_, i) => yearStart + i);
|
|
2167
|
+
return /* @__PURE__ */ React68.createElement(React68.Fragment, null, /* @__PURE__ */ React68.createElement("div", { className: "rf-date-picker__header" }, /* @__PURE__ */ React68.createElement("div", { className: "rf-date-picker__header-labels" }, /* @__PURE__ */ React68.createElement(
|
|
2168
|
+
"span",
|
|
2169
|
+
{
|
|
2170
|
+
className: `rf-date-picker__month-label ${pickerView === "month" ? "rf-date-picker__month-label--active" : ""}`,
|
|
2171
|
+
onClick: handleMonthClick
|
|
2172
|
+
},
|
|
2173
|
+
MONTHS[viewMonth]
|
|
2174
|
+
), /* @__PURE__ */ React68.createElement(
|
|
2175
|
+
"span",
|
|
2176
|
+
{
|
|
2177
|
+
className: `rf-date-picker__year-label ${pickerView === "year" ? "rf-date-picker__year-label--active" : ""}`,
|
|
2178
|
+
onClick: handleYearClick
|
|
2179
|
+
},
|
|
2180
|
+
viewYear
|
|
2181
|
+
)), /* @__PURE__ */ React68.createElement("div", { className: "rf-date-picker__nav" }, pickerView === "year" ? /* @__PURE__ */ React68.createElement(React68.Fragment, null, /* @__PURE__ */ React68.createElement("button", { type: "button", className: "rf-date-picker__nav-btn", onClick: () => onYearSelect(viewYear - 16), "aria-label": "Previous years" }, "\u2039"), /* @__PURE__ */ React68.createElement("button", { type: "button", className: "rf-date-picker__nav-btn", onClick: () => onYearSelect(viewYear + 16), "aria-label": "Next years" }, "\u203A")) : /* @__PURE__ */ React68.createElement(React68.Fragment, null, /* @__PURE__ */ React68.createElement("button", { type: "button", className: "rf-date-picker__nav-btn", onClick: onPrev, "aria-label": "Previous month" }, "\u2039"), /* @__PURE__ */ React68.createElement("button", { type: "button", className: "rf-date-picker__nav-btn", onClick: onNext, "aria-label": "Next month" }, "\u203A")))), pickerView === "month" && /* @__PURE__ */ React68.createElement("div", { className: "rf-date-picker__month-grid" }, MONTHS_SHORT.map((m, idx) => /* @__PURE__ */ React68.createElement(
|
|
2101
2182
|
"button",
|
|
2102
2183
|
{
|
|
2103
|
-
key:
|
|
2184
|
+
key: m,
|
|
2104
2185
|
type: "button",
|
|
2105
2186
|
className: [
|
|
2106
|
-
"rf-date-
|
|
2107
|
-
|
|
2108
|
-
|
|
2187
|
+
"rf-date-picker__month-cell",
|
|
2188
|
+
idx === viewMonth ? "rf-date-picker__month-cell--selected" : "",
|
|
2189
|
+
idx === todayDate.getMonth() && viewYear === currentYear ? "rf-date-picker__month-cell--current" : ""
|
|
2109
2190
|
].filter(Boolean).join(" "),
|
|
2110
|
-
onClick: () =>
|
|
2191
|
+
onClick: () => handleMonthPick(idx)
|
|
2111
2192
|
},
|
|
2112
|
-
|
|
2113
|
-
)
|
|
2114
|
-
|
|
2193
|
+
m
|
|
2194
|
+
))), pickerView === "year" && /* @__PURE__ */ React68.createElement("div", { className: "rf-date-picker__year-grid" }, years.map((y) => /* @__PURE__ */ React68.createElement(
|
|
2195
|
+
"button",
|
|
2196
|
+
{
|
|
2197
|
+
key: y,
|
|
2198
|
+
type: "button",
|
|
2199
|
+
className: [
|
|
2200
|
+
"rf-date-picker__year-cell",
|
|
2201
|
+
y === viewYear ? "rf-date-picker__year-cell--selected" : "",
|
|
2202
|
+
y === currentYear ? "rf-date-picker__year-cell--current" : ""
|
|
2203
|
+
].filter(Boolean).join(" "),
|
|
2204
|
+
onClick: () => handleYearPick(y)
|
|
2205
|
+
},
|
|
2206
|
+
y
|
|
2207
|
+
))), pickerView === "calendar" && /* @__PURE__ */ React68.createElement(React68.Fragment, null, /* @__PURE__ */ React68.createElement("div", { className: "rf-date-picker__weekdays" }, WEEKDAYS.map((w) => /* @__PURE__ */ React68.createElement("div", { key: w, className: "rf-date-picker__weekday" }, w))), /* @__PURE__ */ React68.createElement("div", { className: "rf-date-picker__grid" }, dayCells.map((day, idx) => {
|
|
2208
|
+
if (day === null) return /* @__PURE__ */ React68.createElement("div", { key: `e-${idx}`, className: "rf-date-picker__day rf-date-picker__day--empty" });
|
|
2209
|
+
const cellDate = new Date(viewYear, viewMonth, day);
|
|
2210
|
+
const isSelected = selectedDate ? isSameDay(cellDate, selectedDate) : false;
|
|
2211
|
+
const isToday = isSameDay(cellDate, todayDate);
|
|
2212
|
+
return /* @__PURE__ */ React68.createElement(
|
|
2213
|
+
"button",
|
|
2214
|
+
{
|
|
2215
|
+
key: day,
|
|
2216
|
+
type: "button",
|
|
2217
|
+
className: [
|
|
2218
|
+
"rf-date-picker__day",
|
|
2219
|
+
isSelected ? "rf-date-picker__day--selected" : "",
|
|
2220
|
+
isToday && !isSelected ? "rf-date-picker__day--today" : ""
|
|
2221
|
+
].filter(Boolean).join(" "),
|
|
2222
|
+
onClick: () => onDayClick(day)
|
|
2223
|
+
},
|
|
2224
|
+
day
|
|
2225
|
+
);
|
|
2226
|
+
}))));
|
|
2227
|
+
};
|
|
2115
2228
|
var DateField = ({
|
|
2116
2229
|
label,
|
|
2117
2230
|
value,
|
|
@@ -2169,7 +2282,9 @@ var DateField = ({
|
|
|
2169
2282
|
const MINUTES = Array.from({ length: 60 }, (_, i) => String(i).padStart(2, "0"));
|
|
2170
2283
|
const AMPMS = ["AM", "PM"];
|
|
2171
2284
|
const containerRef = useRef4(null);
|
|
2172
|
-
const
|
|
2285
|
+
const pickerRef = useRef4(null);
|
|
2286
|
+
const [dropUp, setDropUp] = useState5(false);
|
|
2287
|
+
const inputId = useRef4(`rf-df-${Math.random().toString(36).substring(2, 11)}`).current;
|
|
2173
2288
|
useEffect4(() => {
|
|
2174
2289
|
if (value === void 0) return;
|
|
2175
2290
|
if (!value) {
|
|
@@ -2201,6 +2316,13 @@ var DateField = ({
|
|
|
2201
2316
|
document.addEventListener("mousedown", handler);
|
|
2202
2317
|
return () => document.removeEventListener("mousedown", handler);
|
|
2203
2318
|
}, [open]);
|
|
2319
|
+
useEffect4(() => {
|
|
2320
|
+
if (!open || !containerRef.current) return;
|
|
2321
|
+
const rect = containerRef.current.getBoundingClientRect();
|
|
2322
|
+
const spaceBelow = window.innerHeight - rect.bottom;
|
|
2323
|
+
const pickerHeight = 400;
|
|
2324
|
+
setDropUp(spaceBelow < pickerHeight && rect.top > pickerHeight);
|
|
2325
|
+
}, [open]);
|
|
2204
2326
|
const commitDate = useCallback((d, h, m, ap) => {
|
|
2205
2327
|
setSelectedDate(d);
|
|
2206
2328
|
if (!d) {
|
|
@@ -2393,9 +2515,11 @@ var DateField = ({
|
|
|
2393
2515
|
), open && !disabled && /* @__PURE__ */ React68.createElement(
|
|
2394
2516
|
"div",
|
|
2395
2517
|
{
|
|
2518
|
+
ref: pickerRef,
|
|
2396
2519
|
className: [
|
|
2397
2520
|
"rf-date-picker",
|
|
2398
|
-
isSideVariant ? "rf-date-picker--side" : ""
|
|
2521
|
+
isSideVariant ? "rf-date-picker--side" : "",
|
|
2522
|
+
dropUp ? "rf-date-picker--drop-up" : ""
|
|
2399
2523
|
].filter(Boolean).join(" "),
|
|
2400
2524
|
onMouseDown: (e) => e.preventDefault()
|
|
2401
2525
|
},
|
|
@@ -2409,7 +2533,9 @@ var DateField = ({
|
|
|
2409
2533
|
dayCells,
|
|
2410
2534
|
onDayClick: handleDayClick,
|
|
2411
2535
|
onPrev: prevMonth,
|
|
2412
|
-
onNext: nextMonth
|
|
2536
|
+
onNext: nextMonth,
|
|
2537
|
+
onMonthSelect: setViewMonth,
|
|
2538
|
+
onYearSelect: setViewYear
|
|
2413
2539
|
}
|
|
2414
2540
|
), type === "datetime" && /* @__PURE__ */ React68.createElement("div", { className: "rf-date-picker__time-section" }, /* @__PURE__ */ React68.createElement("div", { className: "rf-date-picker__time-label" }, "Time"), /* @__PURE__ */ React68.createElement(
|
|
2415
2541
|
SpinnerPanel,
|
|
@@ -2485,7 +2611,7 @@ var MONTHS2 = [
|
|
|
2485
2611
|
"November",
|
|
2486
2612
|
"December"
|
|
2487
2613
|
];
|
|
2488
|
-
var
|
|
2614
|
+
var MONTHS_SHORT2 = [
|
|
2489
2615
|
"Jan",
|
|
2490
2616
|
"Feb",
|
|
2491
2617
|
"Mar",
|
|
@@ -2522,14 +2648,14 @@ var dateToISO = (d) => {
|
|
|
2522
2648
|
const dd = String(d.getDate()).padStart(2, "0");
|
|
2523
2649
|
return `${y}-${mo}-${dd}`;
|
|
2524
2650
|
};
|
|
2525
|
-
var formatShort = (d) => `${String(d.getDate()).padStart(2, "0")} ${
|
|
2651
|
+
var formatShort = (d) => `${String(d.getDate()).padStart(2, "0")} ${MONTHS_SHORT2[d.getMonth()]} ${d.getFullYear()}`;
|
|
2526
2652
|
var parseInputDate = (str) => {
|
|
2527
2653
|
const s = str.trim();
|
|
2528
2654
|
if (!s) return null;
|
|
2529
2655
|
const shortMatch = s.match(/^(\d{1,2})\s+([A-Za-z]+)\s+(\d{4})$/);
|
|
2530
2656
|
if (shortMatch) {
|
|
2531
2657
|
const day = parseInt(shortMatch[1], 10);
|
|
2532
|
-
const monthIdx =
|
|
2658
|
+
const monthIdx = MONTHS_SHORT2.findIndex((m) => m.toLowerCase() === shortMatch[2].toLowerCase());
|
|
2533
2659
|
const year = parseInt(shortMatch[3], 10);
|
|
2534
2660
|
if (monthIdx !== -1 && day >= 1 && day <= 31 && year >= 1e3) {
|
|
2535
2661
|
const d = new Date(year, monthIdx, day);
|
|
@@ -3579,8 +3705,11 @@ function DataGrid({
|
|
|
3579
3705
|
actions,
|
|
3580
3706
|
pageSize: initialPageSize = 10,
|
|
3581
3707
|
pageSizeOptions = [5, 10, 25, 50],
|
|
3582
|
-
title
|
|
3708
|
+
title,
|
|
3709
|
+
className,
|
|
3710
|
+
sx
|
|
3583
3711
|
}) {
|
|
3712
|
+
const sxClass = useSx(sx);
|
|
3584
3713
|
const [columnOverrides, setColumnOverrides] = useState8({});
|
|
3585
3714
|
const resolvedColumns = useMemo2(() => {
|
|
3586
3715
|
return initialColumnsProp.map((col) => {
|
|
@@ -3881,7 +4010,7 @@ function DataGrid({
|
|
|
3881
4010
|
return offset;
|
|
3882
4011
|
};
|
|
3883
4012
|
const hasActiveFilters = advancedFilters.some((f) => f.value);
|
|
3884
|
-
return /* @__PURE__ */ React72.createElement("div", { className: "dg-root" }, /* @__PURE__ */ React72.createElement("div", { className: "dg-header" }, /* @__PURE__ */ React72.createElement("div", { className: "dg-header-info" }, /* @__PURE__ */ React72.createElement("h2", null, title), /* @__PURE__ */ React72.createElement("p", null, filteredData.length, " total records")), /* @__PURE__ */ React72.createElement("div", { className: "dg-header-actions" }, /* @__PURE__ */ React72.createElement("div", { className: "dg-search-wrap" }, /* @__PURE__ */ React72.createElement(Search, { size: 15 }), /* @__PURE__ */ React72.createElement(
|
|
4013
|
+
return /* @__PURE__ */ React72.createElement("div", { className: ["dg-root", sxClass, className].filter(Boolean).join(" ") }, /* @__PURE__ */ React72.createElement("div", { className: "dg-header" }, /* @__PURE__ */ React72.createElement("div", { className: "dg-header-info" }, /* @__PURE__ */ React72.createElement("h2", null, title), /* @__PURE__ */ React72.createElement("p", null, filteredData.length, " total records")), /* @__PURE__ */ React72.createElement("div", { className: "dg-header-actions" }, /* @__PURE__ */ React72.createElement("div", { className: "dg-search-wrap" }, /* @__PURE__ */ React72.createElement(Search, { size: 15 }), /* @__PURE__ */ React72.createElement(
|
|
3885
4014
|
"input",
|
|
3886
4015
|
{
|
|
3887
4016
|
className: "dg-search",
|
|
@@ -6241,6 +6370,23 @@ var Box = React87.forwardRef(
|
|
|
6241
6370
|
margin,
|
|
6242
6371
|
width,
|
|
6243
6372
|
height,
|
|
6373
|
+
minWidth,
|
|
6374
|
+
maxWidth,
|
|
6375
|
+
minHeight,
|
|
6376
|
+
maxHeight,
|
|
6377
|
+
flex,
|
|
6378
|
+
flexWrap,
|
|
6379
|
+
flexGrow,
|
|
6380
|
+
flexShrink,
|
|
6381
|
+
overflow,
|
|
6382
|
+
position,
|
|
6383
|
+
top,
|
|
6384
|
+
right,
|
|
6385
|
+
bottom,
|
|
6386
|
+
left,
|
|
6387
|
+
borderRadius,
|
|
6388
|
+
bgcolor,
|
|
6389
|
+
color,
|
|
6244
6390
|
className,
|
|
6245
6391
|
style,
|
|
6246
6392
|
sx,
|
|
@@ -6257,6 +6403,23 @@ var Box = React87.forwardRef(
|
|
|
6257
6403
|
...margin !== void 0 ? { margin: typeof margin === "number" ? `${margin}px` : margin } : {},
|
|
6258
6404
|
...width !== void 0 ? { width: typeof width === "number" ? `${width}px` : width } : {},
|
|
6259
6405
|
...height !== void 0 ? { height: typeof height === "number" ? `${height}px` : height } : {},
|
|
6406
|
+
...minWidth !== void 0 ? { minWidth: typeof minWidth === "number" ? `${minWidth}px` : minWidth } : {},
|
|
6407
|
+
...maxWidth !== void 0 ? { maxWidth: typeof maxWidth === "number" ? `${maxWidth}px` : maxWidth } : {},
|
|
6408
|
+
...minHeight !== void 0 ? { minHeight: typeof minHeight === "number" ? `${minHeight}px` : minHeight } : {},
|
|
6409
|
+
...maxHeight !== void 0 ? { maxHeight: typeof maxHeight === "number" ? `${maxHeight}px` : maxHeight } : {},
|
|
6410
|
+
...flex !== void 0 ? { flex } : {},
|
|
6411
|
+
...flexWrap !== void 0 ? { flexWrap } : {},
|
|
6412
|
+
...flexGrow !== void 0 ? { flexGrow } : {},
|
|
6413
|
+
...flexShrink !== void 0 ? { flexShrink } : {},
|
|
6414
|
+
...overflow !== void 0 ? { overflow } : {},
|
|
6415
|
+
...position !== void 0 ? { position } : {},
|
|
6416
|
+
...top !== void 0 ? { top: typeof top === "number" ? `${top}px` : top } : {},
|
|
6417
|
+
...right !== void 0 ? { right: typeof right === "number" ? `${right}px` : right } : {},
|
|
6418
|
+
...bottom !== void 0 ? { bottom: typeof bottom === "number" ? `${bottom}px` : bottom } : {},
|
|
6419
|
+
...left !== void 0 ? { left: typeof left === "number" ? `${left}px` : left } : {},
|
|
6420
|
+
...borderRadius !== void 0 ? { borderRadius: typeof borderRadius === "number" ? `${borderRadius}px` : borderRadius } : {},
|
|
6421
|
+
...bgcolor !== void 0 ? { backgroundColor: bgcolor } : {},
|
|
6422
|
+
...color !== void 0 ? { color } : {},
|
|
6260
6423
|
...style
|
|
6261
6424
|
};
|
|
6262
6425
|
const classes = ["rf-box", sxClass, className].filter(Boolean).join(" ");
|
|
@@ -6277,6 +6440,8 @@ var Stack = React88.forwardRef(
|
|
|
6277
6440
|
divider,
|
|
6278
6441
|
flexWrap,
|
|
6279
6442
|
useFlexGap = true,
|
|
6443
|
+
flex,
|
|
6444
|
+
overflow,
|
|
6280
6445
|
component = "div",
|
|
6281
6446
|
children,
|
|
6282
6447
|
className,
|
|
@@ -6292,6 +6457,8 @@ var Stack = React88.forwardRef(
|
|
|
6292
6457
|
...justifyContent !== void 0 ? { justifyContent } : {},
|
|
6293
6458
|
...flexWrap !== void 0 ? { flexWrap } : {},
|
|
6294
6459
|
...gapValue !== void 0 && useFlexGap ? { gap: gapValue } : {},
|
|
6460
|
+
...flex !== void 0 ? { flex } : {},
|
|
6461
|
+
...overflow !== void 0 ? { overflow } : {},
|
|
6295
6462
|
...style
|
|
6296
6463
|
};
|
|
6297
6464
|
const classes = ["rf-stack", sxClass, className].filter(Boolean).join(" ");
|
|
@@ -6788,6 +6955,30 @@ var Tabs = ({
|
|
|
6788
6955
|
));
|
|
6789
6956
|
};
|
|
6790
6957
|
Tabs.displayName = "Tabs";
|
|
6958
|
+
var TabPanel = ({
|
|
6959
|
+
value,
|
|
6960
|
+
activeValue,
|
|
6961
|
+
children,
|
|
6962
|
+
keepMounted = false,
|
|
6963
|
+
className = "",
|
|
6964
|
+
style,
|
|
6965
|
+
sx
|
|
6966
|
+
}) => {
|
|
6967
|
+
const sxClass = useSx(sx);
|
|
6968
|
+
const isActive = value === activeValue;
|
|
6969
|
+
if (!isActive && !keepMounted) return null;
|
|
6970
|
+
return /* @__PURE__ */ React93.createElement(
|
|
6971
|
+
"div",
|
|
6972
|
+
{
|
|
6973
|
+
role: "tabpanel",
|
|
6974
|
+
hidden: !isActive,
|
|
6975
|
+
className: ["rf-tab-panel", sxClass, className].filter(Boolean).join(" "),
|
|
6976
|
+
style
|
|
6977
|
+
},
|
|
6978
|
+
isActive && children
|
|
6979
|
+
);
|
|
6980
|
+
};
|
|
6981
|
+
TabPanel.displayName = "TabPanel";
|
|
6791
6982
|
|
|
6792
6983
|
// lib/Breadcrumbs/Breadcrumbs.tsx
|
|
6793
6984
|
import React94, {
|
|
@@ -8226,6 +8417,7 @@ export {
|
|
|
8226
8417
|
suspendUserIcon_default as SuspendUserIcon,
|
|
8227
8418
|
Switch,
|
|
8228
8419
|
Tab,
|
|
8420
|
+
TabPanel,
|
|
8229
8421
|
Tabs,
|
|
8230
8422
|
technicalSkillsIcon_default as TechnicalSkillsIcon,
|
|
8231
8423
|
TextField,
|