@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
36 lines (35 loc) • 3.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LoadingDots = exports.loadingDotsStencil = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const common_1 = require("@workday/canvas-kit-react/common");
const canvas_kit_styling_1 = require("@workday/canvas-kit-styling");
const canvas_tokens_web_1 = require("@workday/canvas-tokens-web");
/**
* Keyframe for the dots loading animation.
*/
const keyframesLoading = (0, canvas_kit_styling_1.keyframes)({ name: "1wh8zt", styles: "0%, 80%, 100%{transform:scale(0);}40%{transform:scale(1);}0%, 79%, 100%{opacity:0.6;}27%{opacity:1;}53%{opacity:0.8;}" });
exports.loadingDotsStencil = (0, canvas_kit_styling_1.createStencil)({
vars: {
animationDurationMs: '40ms',
loadingDotColor: '',
},
parts: {
loadingAnimationDot: 'loading-animation-dot',
},
base: { name: "jlvrb", styles: "--animationDurationMs-loading-dots-f4f937:40ms;box-sizing:border-box;display:inline-flex;gap:var(--cnvs-sys-gap-sm, var(--cnvs-sys-space-x2, 0.5rem));[data-part=\"loading-animation-dot\"]{background-color:var(--loadingDotColor-loading-dots-f4f937, var(--cnvs-sys-color-accent-muted-default, var(--cnvs-sys-color-bg-muted-default, oklch(0.5103 0.0255 256.8 / 1))));width:var(--cnvs-sys-size-xxxs, var(--cnvs-sys-space-x4, 1rem));height:var(--cnvs-sys-size-xxxs, var(--cnvs-sys-space-x4, 1rem));font-size:0;border-radius:var(--cnvs-sys-shape-full, var(--cnvs-sys-shape-round, 65rem));outline:0.125rem solid transparent;transform:scale(0);display:inline-block;animation-name:animation-1wh8zt;animation-duration:calc(var(--animationDurationMs-loading-dots-f4f937) * 35);animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-fill-mode:both;&:nth-child(1){animation-delay:0ms;}&:nth-child(2){animation-delay:calc(var(--animationDurationMs-loading-dots-f4f937) * 4);}&:nth-child(3){animation-delay:calc(var(--animationDurationMs-loading-dots-f4f937) * 8);}}" },
modifiers: {
variant: {
inverse: { name: "38j1kk", styles: "[data-part=\"loading-animation-dot\"]{background-color:var(--loadingDotColor-loading-dots-f4f937, var(--cnvs-sys-color-bg-default));}" }
}
}
}, "loading-dots-f4f937");
/**
* A simple component that displays three horizontal dots, to be used when some data is loading.
*/
exports.LoadingDots = (0, common_1.createComponent)('div')({
displayName: 'LoadingDots',
Component: ({ loadingDotColor, animationDurationMs, variant, ...elemProps }, ref, Element) => {
return ((0, jsx_runtime_1.jsxs)(Element, { ref: ref, ...(0, canvas_kit_styling_1.handleCsProp)(elemProps, (0, exports.loadingDotsStencil)({ loadingDotColor, animationDurationMs, variant })), children: [(0, jsx_runtime_1.jsx)("div", { "data-part": "loading-animation-dot" }), (0, jsx_runtime_1.jsx)("div", { "data-part": "loading-animation-dot" }), (0, jsx_runtime_1.jsx)("div", { "data-part": "loading-animation-dot" })] }));
},
});