@devgateway/dvz-ui-react
Version:
A modular, embeddable React component library for data visualization and UI, built with TypeScript. Provides reusable components for charts, maps, dashboards, and more, with built-in support for internationalization and Redux integration.
85 lines (84 loc) • 2.63 kB
JavaScript
import { jsx as t, jsxs as W } from "react/jsx-runtime";
import { PostProvider as $, PostConsumer as p } from "@devgateway/wp-react-lib";
import j from "../connected-templates/PostIntro.js";
import { useState as J } from "react";
import { Container as c } from "semantic-ui-react";
import { CarouselProvider as L, Slider as O, Slide as T } from "pure-react-carousel";
import U from "./timeline.js";
const _ = (r) => {
let a = 0;
const { posts: i, height: n, interval: d, autoSwitch: o, currentSlide: l } = r;
return /* @__PURE__ */ t(
L,
{
currentSlide: l,
interval: d,
isPlaying: o,
totalSlides: i.length,
children: /* @__PURE__ */ t(O, { style: { height: `${n}px` }, tag: "ul", children: i.map((s) => /* @__PURE__ */ t(T, { index: a++, tag: "li", children: /* @__PURE__ */ t(j, { post: s, fluid: !0 }) })) })
}
);
}, G = (r) => {
const {
"data-type": a,
"data-taxonomy": i,
"data-categories": n,
"data-count": d,
"data-height": o,
"data-line-color": l = "#000",
"data-config": s = "{}",
"data-position": u = "middle",
"data-line-width": f = "1",
"data-margin-left": S = 50,
"data-margin-top": C = 25,
"data-margin-right": x = 50,
"data-margin-bottom": P = 25,
"data-font-size": y = 14,
"data-title-width": w = 100,
"data-subtitle-width": N = 50,
editing: m,
parent: v,
unique: b
} = r, [h, z] = J([0]), g = (e) => m ? e : decodeURIComponent(e), I = (e) => JSON.parse(g(e)), R = {
marginLeft: S,
marginTop: C,
marginRight: x,
marginBottom: P,
lineWidth: f,
height: 150,
position: u,
lineColor: g(l),
config: JSON.parse(decodeURIComponent(s)),
fontSize: y,
titleWidth: w,
subtitleWidth: N
};
return /* @__PURE__ */ t(
c,
{
style: { height: `${o}px` },
className: "viz new-time-line ",
fluid: !0,
children: /* @__PURE__ */ W(
$,
{
type: a,
taxonomy: i,
categories: I(n),
store: "carousel_" + v + "_" + b,
page: 1,
perPage: d,
children: [
/* @__PURE__ */ t(c, { className: "carousel-section", children: /* @__PURE__ */ t(p, { children: /* @__PURE__ */ t(_, { currentSlide: h, height: o - 250, interval: 5, autoSwitch: !1 }) }) }),
/* @__PURE__ */ t(c, { className: "time-line-section", children: /* @__PURE__ */ t(p, { children: /* @__PURE__ */ t(U, { currentSlide: h, onSelectSlide: (e) => {
z(e);
}, ...R }) }) })
]
}
)
}
);
};
export {
G as default
};