bhoomi-virtual-ui-library 1.0.7 → 1.0.8
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 +79 -0
- package/dist/index.mjs +78 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -31,6 +31,7 @@ var index_exports = {};
|
|
|
31
31
|
__export(index_exports, {
|
|
32
32
|
Button: () => Button,
|
|
33
33
|
Card: () => Card,
|
|
34
|
+
DualRingLoader: () => DualRingLoader,
|
|
34
35
|
ECommerceCard: () => ECommerceCard,
|
|
35
36
|
PricingCard: () => PricingCard,
|
|
36
37
|
Profilecard: () => Profilecard,
|
|
@@ -717,10 +718,88 @@ var ShoesCard = ({
|
|
|
717
718
|
fontFamily: "system-ui,sans-serif"
|
|
718
719
|
} }, "Buy Now")));
|
|
719
720
|
};
|
|
721
|
+
|
|
722
|
+
// src/components/DualRingLoader/DualRingLoader.jsx
|
|
723
|
+
var import_react7 = __toESM(require("react"));
|
|
724
|
+
var DualRingLoader = ({
|
|
725
|
+
size = 40,
|
|
726
|
+
outerColor = "#7F77DD",
|
|
727
|
+
innerColor = "#D85A30",
|
|
728
|
+
speed = 1,
|
|
729
|
+
label = null
|
|
730
|
+
}) => {
|
|
731
|
+
const outerRef = (0, import_react7.useRef)(null);
|
|
732
|
+
const innerRef = (0, import_react7.useRef)(null);
|
|
733
|
+
const borderWidth = Math.max(2, Math.round(size * 0.08));
|
|
734
|
+
const innerInset = Math.round(size * 0.16);
|
|
735
|
+
const innerSize = size - innerInset * 2;
|
|
736
|
+
(0, import_react7.useEffect)(() => {
|
|
737
|
+
const outerDuration = (0.8 / speed).toFixed(2) + "s";
|
|
738
|
+
const innerDuration = (1.1 / speed).toFixed(2) + "s";
|
|
739
|
+
if (outerRef.current) {
|
|
740
|
+
outerRef.current.style.animation = "dual-ring-spin " + outerDuration + " linear infinite";
|
|
741
|
+
}
|
|
742
|
+
if (innerRef.current) {
|
|
743
|
+
innerRef.current.style.animation = "dual-ring-spin " + innerDuration + " linear infinite reverse";
|
|
744
|
+
}
|
|
745
|
+
}, [speed]);
|
|
746
|
+
return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement("style", null, `
|
|
747
|
+
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;600;700&family=DM+Mono:wght@400;500&display=swap');
|
|
748
|
+
@keyframes dual-ring-spin { to { transform: rotate(360deg); } }
|
|
749
|
+
`), /* @__PURE__ */ import_react7.default.createElement("div", { style: { display: "inline-flex", flexDirection: "column", alignItems: "center", gap: "12px" } }, /* @__PURE__ */ import_react7.default.createElement(
|
|
750
|
+
"div",
|
|
751
|
+
{
|
|
752
|
+
role: "status",
|
|
753
|
+
"aria-label": label || "Loading",
|
|
754
|
+
style: {
|
|
755
|
+
width: size + "px",
|
|
756
|
+
height: size + "px",
|
|
757
|
+
position: "relative",
|
|
758
|
+
flexShrink: 0
|
|
759
|
+
}
|
|
760
|
+
},
|
|
761
|
+
/* @__PURE__ */ import_react7.default.createElement(
|
|
762
|
+
"div",
|
|
763
|
+
{
|
|
764
|
+
ref: outerRef,
|
|
765
|
+
style: {
|
|
766
|
+
position: "absolute",
|
|
767
|
+
inset: 0,
|
|
768
|
+
borderRadius: "50%",
|
|
769
|
+
border: borderWidth + "px solid transparent",
|
|
770
|
+
borderTopColor: outerColor
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
),
|
|
774
|
+
/* @__PURE__ */ import_react7.default.createElement(
|
|
775
|
+
"div",
|
|
776
|
+
{
|
|
777
|
+
ref: innerRef,
|
|
778
|
+
style: {
|
|
779
|
+
position: "absolute",
|
|
780
|
+
top: innerInset + "px",
|
|
781
|
+
left: innerInset + "px",
|
|
782
|
+
width: innerSize + "px",
|
|
783
|
+
height: innerSize + "px",
|
|
784
|
+
borderRadius: "50%",
|
|
785
|
+
border: borderWidth + "px solid transparent",
|
|
786
|
+
borderBottomColor: innerColor
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
)
|
|
790
|
+
), label && /* @__PURE__ */ import_react7.default.createElement("span", { style: {
|
|
791
|
+
fontFamily: "'DM Mono', monospace",
|
|
792
|
+
fontSize: "11px",
|
|
793
|
+
letterSpacing: "0.1em",
|
|
794
|
+
color: "#999",
|
|
795
|
+
textTransform: "uppercase"
|
|
796
|
+
} }, label)));
|
|
797
|
+
};
|
|
720
798
|
// Annotate the CommonJS export names for ESM import in node:
|
|
721
799
|
0 && (module.exports = {
|
|
722
800
|
Button,
|
|
723
801
|
Card,
|
|
802
|
+
DualRingLoader,
|
|
724
803
|
ECommerceCard,
|
|
725
804
|
PricingCard,
|
|
726
805
|
Profilecard,
|
package/dist/index.mjs
CHANGED
|
@@ -677,9 +677,87 @@ var ShoesCard = ({
|
|
|
677
677
|
fontFamily: "system-ui,sans-serif"
|
|
678
678
|
} }, "Buy Now")));
|
|
679
679
|
};
|
|
680
|
+
|
|
681
|
+
// src/components/DualRingLoader/DualRingLoader.jsx
|
|
682
|
+
import React7, { useState as useState4, useEffect, useRef } from "react";
|
|
683
|
+
var DualRingLoader = ({
|
|
684
|
+
size = 40,
|
|
685
|
+
outerColor = "#7F77DD",
|
|
686
|
+
innerColor = "#D85A30",
|
|
687
|
+
speed = 1,
|
|
688
|
+
label = null
|
|
689
|
+
}) => {
|
|
690
|
+
const outerRef = useRef(null);
|
|
691
|
+
const innerRef = useRef(null);
|
|
692
|
+
const borderWidth = Math.max(2, Math.round(size * 0.08));
|
|
693
|
+
const innerInset = Math.round(size * 0.16);
|
|
694
|
+
const innerSize = size - innerInset * 2;
|
|
695
|
+
useEffect(() => {
|
|
696
|
+
const outerDuration = (0.8 / speed).toFixed(2) + "s";
|
|
697
|
+
const innerDuration = (1.1 / speed).toFixed(2) + "s";
|
|
698
|
+
if (outerRef.current) {
|
|
699
|
+
outerRef.current.style.animation = "dual-ring-spin " + outerDuration + " linear infinite";
|
|
700
|
+
}
|
|
701
|
+
if (innerRef.current) {
|
|
702
|
+
innerRef.current.style.animation = "dual-ring-spin " + innerDuration + " linear infinite reverse";
|
|
703
|
+
}
|
|
704
|
+
}, [speed]);
|
|
705
|
+
return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("style", null, `
|
|
706
|
+
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;600;700&family=DM+Mono:wght@400;500&display=swap');
|
|
707
|
+
@keyframes dual-ring-spin { to { transform: rotate(360deg); } }
|
|
708
|
+
`), /* @__PURE__ */ React7.createElement("div", { style: { display: "inline-flex", flexDirection: "column", alignItems: "center", gap: "12px" } }, /* @__PURE__ */ React7.createElement(
|
|
709
|
+
"div",
|
|
710
|
+
{
|
|
711
|
+
role: "status",
|
|
712
|
+
"aria-label": label || "Loading",
|
|
713
|
+
style: {
|
|
714
|
+
width: size + "px",
|
|
715
|
+
height: size + "px",
|
|
716
|
+
position: "relative",
|
|
717
|
+
flexShrink: 0
|
|
718
|
+
}
|
|
719
|
+
},
|
|
720
|
+
/* @__PURE__ */ React7.createElement(
|
|
721
|
+
"div",
|
|
722
|
+
{
|
|
723
|
+
ref: outerRef,
|
|
724
|
+
style: {
|
|
725
|
+
position: "absolute",
|
|
726
|
+
inset: 0,
|
|
727
|
+
borderRadius: "50%",
|
|
728
|
+
border: borderWidth + "px solid transparent",
|
|
729
|
+
borderTopColor: outerColor
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
),
|
|
733
|
+
/* @__PURE__ */ React7.createElement(
|
|
734
|
+
"div",
|
|
735
|
+
{
|
|
736
|
+
ref: innerRef,
|
|
737
|
+
style: {
|
|
738
|
+
position: "absolute",
|
|
739
|
+
top: innerInset + "px",
|
|
740
|
+
left: innerInset + "px",
|
|
741
|
+
width: innerSize + "px",
|
|
742
|
+
height: innerSize + "px",
|
|
743
|
+
borderRadius: "50%",
|
|
744
|
+
border: borderWidth + "px solid transparent",
|
|
745
|
+
borderBottomColor: innerColor
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
)
|
|
749
|
+
), label && /* @__PURE__ */ React7.createElement("span", { style: {
|
|
750
|
+
fontFamily: "'DM Mono', monospace",
|
|
751
|
+
fontSize: "11px",
|
|
752
|
+
letterSpacing: "0.1em",
|
|
753
|
+
color: "#999",
|
|
754
|
+
textTransform: "uppercase"
|
|
755
|
+
} }, label)));
|
|
756
|
+
};
|
|
680
757
|
export {
|
|
681
758
|
Button,
|
|
682
759
|
Card,
|
|
760
|
+
DualRingLoader,
|
|
683
761
|
ECommerceCard,
|
|
684
762
|
PricingCard,
|
|
685
763
|
Profilecard,
|