virtual-ui-lib 1.0.31 → 1.0.32
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/index.js +38 -0
- package/dist/index.mjs +37 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -34,6 +34,7 @@ __export(index_exports, {
|
|
|
34
34
|
Button: () => Button,
|
|
35
35
|
Card: () => Card,
|
|
36
36
|
CopyButton: () => CopyButton,
|
|
37
|
+
DateRangePicker: () => DateRangePicker,
|
|
37
38
|
Dropdown: () => Dropdown,
|
|
38
39
|
EmptyState: () => EmptyState,
|
|
39
40
|
Footer: () => Footer,
|
|
@@ -962,6 +963,42 @@ var MultiStepProgress = ({
|
|
|
962
963
|
cursor: currentStep === steps.length - 1 ? "not-allowed" : "pointer"
|
|
963
964
|
} }, "Next")));
|
|
964
965
|
};
|
|
966
|
+
|
|
967
|
+
// src/components/DateRangePicker/DateRangePicker.jsx
|
|
968
|
+
var import_react19 = __toESM(require("react"));
|
|
969
|
+
var DateRangePicker = ({
|
|
970
|
+
startDate = /* @__PURE__ */ new Date(),
|
|
971
|
+
endDate = new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + 7)),
|
|
972
|
+
onChange,
|
|
973
|
+
bg = "#0f172a",
|
|
974
|
+
highlightColor = "#2563eb",
|
|
975
|
+
borderColor = "#7c3aed",
|
|
976
|
+
borderRadius = "12px",
|
|
977
|
+
textColor = "#f1f5f9"
|
|
978
|
+
}) => {
|
|
979
|
+
const [selectedStart, setSelectedStart] = (0, import_react19.useState)(startDate);
|
|
980
|
+
const [selectedEnd, setSelectedEnd] = (0, import_react19.useState)(endDate);
|
|
981
|
+
const daysArray = Array.from({ length: 30 }, (_, i) => new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + i)));
|
|
982
|
+
const handleSelect = (date) => {
|
|
983
|
+
if (!selectedStart || selectedEnd && date < selectedStart) {
|
|
984
|
+
setSelectedStart(date);
|
|
985
|
+
setSelectedEnd(null);
|
|
986
|
+
} else {
|
|
987
|
+
setSelectedEnd(date);
|
|
988
|
+
}
|
|
989
|
+
onChange && onChange(selectedStart, selectedEnd);
|
|
990
|
+
};
|
|
991
|
+
return /* @__PURE__ */ import_react19.default.createElement("div", { style: { display: "flex", flexDirection: "column", background: bg, padding: "16px", borderRadius, border: `1px solid ${borderColor}`, boxShadow: "0 4px 20px rgba(0, 0, 0, 0.2)", fontFamily: "system-ui, sans-serif" } }, /* @__PURE__ */ import_react19.default.createElement("h3", { style: { color: textColor, margin: "0 0 12px", fontSize: "16px", fontWeight: "600" } }, "Select Date Range"), /* @__PURE__ */ import_react19.default.createElement("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 1fr)", gap: "8px" } }, daysArray.map((date, index) => /* @__PURE__ */ import_react19.default.createElement("button", { key: index, onClick: () => handleSelect(date), style: {
|
|
992
|
+
background: date >= selectedStart && date <= selectedEnd ? highlightColor : "#334155",
|
|
993
|
+
color: textColor,
|
|
994
|
+
padding: "10px 0",
|
|
995
|
+
borderRadius,
|
|
996
|
+
border: "none",
|
|
997
|
+
cursor: "pointer",
|
|
998
|
+
transition: "background 0.3s",
|
|
999
|
+
fontSize: "14px"
|
|
1000
|
+
} }, date.getDate()))));
|
|
1001
|
+
};
|
|
965
1002
|
// Annotate the CommonJS export names for ESM import in node:
|
|
966
1003
|
0 && (module.exports = {
|
|
967
1004
|
AlertBanner,
|
|
@@ -969,6 +1006,7 @@ var MultiStepProgress = ({
|
|
|
969
1006
|
Button,
|
|
970
1007
|
Card,
|
|
971
1008
|
CopyButton,
|
|
1009
|
+
DateRangePicker,
|
|
972
1010
|
Dropdown,
|
|
973
1011
|
EmptyState,
|
|
974
1012
|
Footer,
|
package/dist/index.mjs
CHANGED
|
@@ -910,12 +910,49 @@ var MultiStepProgress = ({
|
|
|
910
910
|
cursor: currentStep === steps.length - 1 ? "not-allowed" : "pointer"
|
|
911
911
|
} }, "Next")));
|
|
912
912
|
};
|
|
913
|
+
|
|
914
|
+
// src/components/DateRangePicker/DateRangePicker.jsx
|
|
915
|
+
import React19, { useState as useState13 } from "react";
|
|
916
|
+
var DateRangePicker = ({
|
|
917
|
+
startDate = /* @__PURE__ */ new Date(),
|
|
918
|
+
endDate = new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + 7)),
|
|
919
|
+
onChange,
|
|
920
|
+
bg = "#0f172a",
|
|
921
|
+
highlightColor = "#2563eb",
|
|
922
|
+
borderColor = "#7c3aed",
|
|
923
|
+
borderRadius = "12px",
|
|
924
|
+
textColor = "#f1f5f9"
|
|
925
|
+
}) => {
|
|
926
|
+
const [selectedStart, setSelectedStart] = useState13(startDate);
|
|
927
|
+
const [selectedEnd, setSelectedEnd] = useState13(endDate);
|
|
928
|
+
const daysArray = Array.from({ length: 30 }, (_, i) => new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + i)));
|
|
929
|
+
const handleSelect = (date) => {
|
|
930
|
+
if (!selectedStart || selectedEnd && date < selectedStart) {
|
|
931
|
+
setSelectedStart(date);
|
|
932
|
+
setSelectedEnd(null);
|
|
933
|
+
} else {
|
|
934
|
+
setSelectedEnd(date);
|
|
935
|
+
}
|
|
936
|
+
onChange && onChange(selectedStart, selectedEnd);
|
|
937
|
+
};
|
|
938
|
+
return /* @__PURE__ */ React19.createElement("div", { style: { display: "flex", flexDirection: "column", background: bg, padding: "16px", borderRadius, border: `1px solid ${borderColor}`, boxShadow: "0 4px 20px rgba(0, 0, 0, 0.2)", fontFamily: "system-ui, sans-serif" } }, /* @__PURE__ */ React19.createElement("h3", { style: { color: textColor, margin: "0 0 12px", fontSize: "16px", fontWeight: "600" } }, "Select Date Range"), /* @__PURE__ */ React19.createElement("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 1fr)", gap: "8px" } }, daysArray.map((date, index) => /* @__PURE__ */ React19.createElement("button", { key: index, onClick: () => handleSelect(date), style: {
|
|
939
|
+
background: date >= selectedStart && date <= selectedEnd ? highlightColor : "#334155",
|
|
940
|
+
color: textColor,
|
|
941
|
+
padding: "10px 0",
|
|
942
|
+
borderRadius,
|
|
943
|
+
border: "none",
|
|
944
|
+
cursor: "pointer",
|
|
945
|
+
transition: "background 0.3s",
|
|
946
|
+
fontSize: "14px"
|
|
947
|
+
} }, date.getDate()))));
|
|
948
|
+
};
|
|
913
949
|
export {
|
|
914
950
|
AlertBanner,
|
|
915
951
|
AnimatedProgressBar,
|
|
916
952
|
Button,
|
|
917
953
|
Card,
|
|
918
954
|
CopyButton,
|
|
955
|
+
DateRangePicker,
|
|
919
956
|
Dropdown,
|
|
920
957
|
EmptyState,
|
|
921
958
|
Footer,
|