@fidely-ui/react
Version:
Fidely UI is a modern, beautifully crafted React design system powered by Ark UI and Panda CSS, delivering accessible and themeable components for building exceptional web apps
73 lines (69 loc) • 2.61 kB
JavaScript
'use client'
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/components/skeleton/index.ts
var skeleton_exports = {};
__export(skeleton_exports, {
Skeleton: () => Skeleton,
SkeletonText: () => SkeletonText
});
module.exports = __toCommonJS(skeleton_exports);
// src/components/skeleton/skeleton.tsx
var import_factory = require("@ark-ui/react/factory");
var import_react = require("react");
var import_jsx = require("@fidely-ui/styled-system/jsx");
var import_recipes = require("@fidely-ui/styled-system/recipes");
var import_jsx_runtime = require("react/jsx-runtime");
var StyledSkeleton = (0, import_jsx.styled)(import_factory.ark.div, import_recipes.skeleton);
var Skeleton = (0, import_react.forwardRef)(
(props, ref) => {
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledSkeleton, { ref, ...props });
}
);
Skeleton.displayName = "Skeleton";
// src/components/skeleton/skeleton-text.tsx
var import_react2 = require("react");
var import_jsx2 = require("@fidely-ui/styled-system/jsx");
var import_jsx_runtime2 = require("react/jsx-runtime");
var SkeletonText = (0, import_react2.forwardRef)(
function SkeletonText2(props, ref) {
const {
noOfLines = 3,
spacing = "0.5rem",
skeletonHeight = "50px",
...rest
} = props;
const lines = Array.from({ length: noOfLines }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
Skeleton,
{
height: skeletonHeight,
mb: i === noOfLines - 1 ? 0 : spacing,
...rest
},
i
));
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx2.styled.div, { ref, display: "flex", flexDirection: "column", ...rest, children: lines });
}
);
SkeletonText.displayName = "SkeletonText";
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
Skeleton,
SkeletonText
});