@atom-learning/components 6.8.1 → 6.9.0
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/components/search-input/SearchInput.js +1 -1
- package/dist/components/search-input/SearchInput.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonBarChart.d.ts +7 -0
- package/dist/components/skeleton-loader/SkeletonBarChart.js +21 -0
- package/dist/components/skeleton-loader/SkeletonBarChart.js.map +1 -0
- package/dist/components/skeleton-loader/SkeletonCard.d.ts +2 -1
- package/dist/components/skeleton-loader/SkeletonCard.js +2 -10
- package/dist/components/skeleton-loader/SkeletonCard.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonColumnChart.d.ts +7 -0
- package/dist/components/skeleton-loader/SkeletonColumnChart.js +21 -0
- package/dist/components/skeleton-loader/SkeletonColumnChart.js.map +1 -0
- package/dist/components/skeleton-loader/SkeletonDoughnutChart.d.ts +2 -2
- package/dist/components/skeleton-loader/SkeletonDoughnutChart.js +18 -53
- package/dist/components/skeleton-loader/SkeletonDoughnutChart.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonPanelList.d.ts +4 -0
- package/dist/components/skeleton-loader/SkeletonPanelList.js +10 -0
- package/dist/components/skeleton-loader/SkeletonPanelList.js.map +1 -0
- package/dist/components/skeleton-loader/SkeletonSubjectList.d.ts +4 -0
- package/dist/components/skeleton-loader/SkeletonSubjectList.js +10 -0
- package/dist/components/skeleton-loader/SkeletonSubjectList.js.map +1 -0
- package/dist/components/skeleton-loader/SkeletonTable.d.ts +2 -2
- package/dist/components/skeleton-loader/SkeletonTable.js +2 -2
- package/dist/components/skeleton-loader/SkeletonTable.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonTabs.d.ts +3 -3
- package/dist/components/skeleton-loader/SkeletonTabs.js +2 -2
- package/dist/components/skeleton-loader/SkeletonTabs.js.map +1 -1
- package/dist/components/skeleton-loader/index.d.ts +4 -0
- package/dist/components/skeleton-loader/index.js +8 -0
- package/dist/components/skeleton-loader/index.js.map +1 -1
- package/dist/docgen.json +1 -1
- package/dist/index.cjs.js +62 -67
- package/dist/index.cjs.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -4391,7 +4391,7 @@ var SearchInput = react.forwardRef(({ size = "md", appearance = "standard", clas
|
|
|
4391
4391
|
...remainingProps,
|
|
4392
4392
|
value: innerValue,
|
|
4393
4393
|
onChange: handleOnChange,
|
|
4394
|
-
className: (0, clsx.default)(size === "sm" ? "pr-8" : "pr-10", "[
|
|
4394
|
+
className: (0, clsx.default)(size === "sm" ? "pr-8" : "pr-10", "[&::-webkit-search-decoration]:appearance-none", "[&::-webkit-search-cancel-button]:appearance-none", "[&::-webkit-search-results-button]:appearance-none")
|
|
4395
4395
|
}), getIcon());
|
|
4396
4396
|
});
|
|
4397
4397
|
SearchInput.displayName = "SearchInput";
|
|
@@ -7940,69 +7940,34 @@ var Tile = react.default.forwardRef(({ children, borderRadius = "lg", colorSchem
|
|
|
7940
7940
|
Tile.displayName = "Tile";
|
|
7941
7941
|
//#endregion
|
|
7942
7942
|
//#region src/components/skeleton-loader/SkeletonTabs.tsx
|
|
7943
|
-
var SkeletonTabs = ({ numberOfTabs,
|
|
7943
|
+
var SkeletonTabs = ({ numberOfTabs, className, tabClassName }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "flex-row", "gap-4", className) }, Array.from({ length: numberOfTabs }, (_, index) => `tab_${index}`).map((key) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
|
|
7944
7944
|
key,
|
|
7945
|
-
className: (0, clsx.default)("w-32", "h-6", "rounded-sm",
|
|
7945
|
+
className: (0, clsx.default)("w-32", "h-6", "rounded-sm", tabClassName)
|
|
7946
7946
|
})));
|
|
7947
7947
|
//#endregion
|
|
7948
7948
|
//#region src/components/skeleton-loader/SkeletonDoughnutChart.tsx
|
|
7949
|
-
var
|
|
7950
|
-
|
|
7951
|
-
|
|
7952
|
-
|
|
7953
|
-
|
|
7954
|
-
|
|
7955
|
-
|
|
7956
|
-
|
|
7957
|
-
|
|
7958
|
-
|
|
7959
|
-
|
|
7960
|
-
|
|
7961
|
-
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
|
|
7965
|
-
|
|
7966
|
-
|
|
7967
|
-
}, /* @__PURE__ */ react.default.createElement("path", { d: "M117 60q2 0 3-3A60 60 0 0 0 81 4l-4 2-5 17q-1 4 2 4a36 36 0 0 1 22 30q0 3 3 3z" })), /* @__PURE__ */ react.default.createElement("path", {
|
|
7968
|
-
className: "fill-grey-300",
|
|
7969
|
-
stroke: "#fff",
|
|
7970
|
-
strokeWidth: 1.6,
|
|
7971
|
-
d: "M117 60q2 0 3-3A60 60 0 0 0 81 4l-4 2-5 17q-1 4 2 4a36 36 0 0 1 22 30q0 3 3 3z",
|
|
7972
|
-
mask: "url(#b)"
|
|
7973
|
-
}), /* @__PURE__ */ react.default.createElement("mask", {
|
|
7974
|
-
id: "c",
|
|
7975
|
-
fill: "#fff"
|
|
7976
|
-
}, /* @__PURE__ */ react.default.createElement("path", { d: "M77 6q1-2-2-4a60 60 0 0 0-62 21q-1 2 1 4l14 10h5a36 36 0 0 1 35-12q3 1 4-2z" })), /* @__PURE__ */ react.default.createElement("path", {
|
|
7977
|
-
className: "fill-grey-300",
|
|
7978
|
-
stroke: "#fff",
|
|
7979
|
-
strokeWidth: 1.6,
|
|
7980
|
-
d: "M77 6q1-2-2-4a60 60 0 0 0-62 21q-1 2 1 4l14 10h5a36 36 0 0 1 35-12q3 1 4-2z",
|
|
7981
|
-
mask: "url(#c)"
|
|
7982
|
-
}), /* @__PURE__ */ react.default.createElement("mask", {
|
|
7983
|
-
id: "d",
|
|
7984
|
-
fill: "#fff"
|
|
7985
|
-
}, /* @__PURE__ */ react.default.createElement("path", { d: "M14 93q-3 2-1 5a60 60 0 0 0 62 20l2-4-5-16-4-3a36 36 0 0 1-35-11q-3-3-5-1z" })), /* @__PURE__ */ react.default.createElement("path", {
|
|
7986
|
-
className: "fill-grey-300",
|
|
7987
|
-
stroke: "#fff",
|
|
7988
|
-
strokeWidth: 1.6,
|
|
7989
|
-
d: "M14 93q-3 2-1 5a60 60 0 0 0 62 20l2-4-5-16-4-3a36 36 0 0 1-35-11q-3-3-5-1z",
|
|
7990
|
-
mask: "url(#d)"
|
|
7991
|
-
}), /* @__PURE__ */ react.default.createElement("mask", {
|
|
7992
|
-
id: "e",
|
|
7993
|
-
fill: "#fff"
|
|
7994
|
-
}, /* @__PURE__ */ react.default.createElement("path", { d: "M14 27q-2-2-4 1a60 60 0 0 0 0 65q1 2 4 0l14-10q3-2 1-4a36 36 0 0 1 0-37q2-3-1-5z" })), /* @__PURE__ */ react.default.createElement("path", {
|
|
7995
|
-
className: "fill-grey-300",
|
|
7996
|
-
stroke: "#fff",
|
|
7997
|
-
strokeWidth: 1.6,
|
|
7998
|
-
d: "M14 27q-2-2-4 1a60 60 0 0 0 0 65q1 2 4 0l14-10q3-2 1-4a36 36 0 0 1 0-37q2-3-1-5z",
|
|
7999
|
-
mask: "url(#e)"
|
|
8000
|
-
}));
|
|
8001
|
-
var SkeletonDoughnutChart = ({ containerCss }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "flex-row", "gap-4", "relative", containerCss) }, /* @__PURE__ */ react.default.createElement(DoughnutSvg, null));
|
|
7949
|
+
var buildConicGradient = () => {
|
|
7950
|
+
const numberOfSegments = 5;
|
|
7951
|
+
const gap = 4;
|
|
7952
|
+
const segmentAngle = (360 - numberOfSegments * gap) / numberOfSegments;
|
|
7953
|
+
const stops = [];
|
|
7954
|
+
let current = 0;
|
|
7955
|
+
Array.from({ length: numberOfSegments }).forEach(() => {
|
|
7956
|
+
stops.push(`var(--color-grey-300) ${current}deg ${current + segmentAngle}deg`);
|
|
7957
|
+
current += segmentAngle;
|
|
7958
|
+
stops.push(`white ${current}deg ${current + gap}deg`);
|
|
7959
|
+
current += gap;
|
|
7960
|
+
});
|
|
7961
|
+
return `conic-gradient(${stops.join(", ")})`;
|
|
7962
|
+
};
|
|
7963
|
+
var SkeletonDoughnutChart = ({ className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "size-60", className) }, /* @__PURE__ */ react.default.createElement("div", {
|
|
7964
|
+
className: "animate-shimmer aspect-square w-full rounded-full [background-image:var(--gradient)] bg-clip-padding",
|
|
7965
|
+
style: { "--gradient": buildConicGradient() }
|
|
7966
|
+
}, /* @__PURE__ */ react.default.createElement("div", { className: "mt-[20%] ml-[20%] size-[60%] rounded-full bg-white" })));
|
|
8002
7967
|
//#endregion
|
|
8003
7968
|
//#region src/components/skeleton-loader/SkeletonTable.tsx
|
|
8004
|
-
var SkeletonTable = ({ numberOfColumns = 4, numberOfRows = 4, columnWidth,
|
|
8005
|
-
return /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "flex-row", "gap-4", "relative",
|
|
7969
|
+
var SkeletonTable = ({ numberOfColumns = 4, numberOfRows = 4, columnWidth, className }) => {
|
|
7970
|
+
return /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "flex-row", "gap-4", "relative", className) }, /* @__PURE__ */ react.default.createElement(Table, { size: "md" }, /* @__PURE__ */ react.default.createElement(Table.Header, { theme: "white" }, Array.from({ length: numberOfColumns }, (_, index) => index).map((columnIndex) => /* @__PURE__ */ react.default.createElement(Table.HeaderCell, { key: columnIndex }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
|
|
8006
7971
|
style: { "--width": columnWidth?.[columnIndex] || "100px" },
|
|
8007
7972
|
className: "h-4 w-(--width) rounded-xl"
|
|
8008
7973
|
})))), /* @__PURE__ */ react.default.createElement(Table.Body, { striped: false }, Array.from({ length: numberOfRows }, (_, index) => index).map((rowIndex) => /* @__PURE__ */ react.default.createElement(Table.Row, { key: rowIndex }, Array.from({ length: numberOfColumns }, (_, index) => index).map((columnIndex) => /* @__PURE__ */ react.default.createElement(Table.Cell, {
|
|
@@ -8015,26 +7980,56 @@ var SkeletonTable = ({ numberOfColumns = 4, numberOfRows = 4, columnWidth, conta
|
|
|
8015
7980
|
};
|
|
8016
7981
|
//#endregion
|
|
8017
7982
|
//#region src/components/skeleton-loader/SkeletonCard.tsx
|
|
8018
|
-
var SkeletonCard = ({ numberOfRows = 3, withChart }) => /* @__PURE__ */ react.default.createElement(Tile, { className: "relative w-full flex-col items-center gap-6 p-6" }, /* @__PURE__ */ react.default.createElement(
|
|
8019
|
-
gap: "6",
|
|
8020
|
-
align: "center",
|
|
8021
|
-
className: "w-full"
|
|
8022
|
-
}, withChart && /* @__PURE__ */ react.default.createElement(SkeletonDoughnutChart, null), /* @__PURE__ */ react.default.createElement(Flex, {
|
|
8023
|
-
direction: "column",
|
|
8024
|
-
gap: "24",
|
|
8025
|
-
className: "grow"
|
|
8026
|
-
}, Array.from({ length: numberOfRows }, (_, index) => index).map((rowNumber) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
|
|
7983
|
+
var SkeletonCard = ({ numberOfRows = 3, withChart, className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("relative", "w-full", "flex-col", "items-center", "gap-6 p-6", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "align-center flex w-full gap-6" }, withChart && /* @__PURE__ */ react.default.createElement(SkeletonDoughnutChart, null), /* @__PURE__ */ react.default.createElement("div", { className: "flex grow flex-col gap-6" }, Array.from({ length: numberOfRows }, (_, index) => index).map((rowNumber) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
|
|
8027
7984
|
key: rowNumber,
|
|
8028
7985
|
className: "bg-grey-200 h-10 w-full min-w-25 rounded-md"
|
|
8029
7986
|
})))), /* @__PURE__ */ react.default.createElement(SkeletonButton, null));
|
|
8030
7987
|
//#endregion
|
|
7988
|
+
//#region src/components/skeleton-loader/SkeletonColumnChart.tsx
|
|
7989
|
+
var getBarHeight = (groupIndex, columnIndex) => Math.round(90 + Math.abs(Math.sin(groupIndex + columnIndex + 1)) * 30);
|
|
7990
|
+
var ColumnGroup = ({ numberOfColumns, groupIndex }) => /* @__PURE__ */ react.default.createElement("div", { className: "flex flex-col items-center gap-4" }, /* @__PURE__ */ react.default.createElement("div", { className: "flex items-end gap-2" }, Array.from({ length: numberOfColumns }, (_, i) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
|
|
7991
|
+
key: i,
|
|
7992
|
+
className: "h-(--height) w-5 rounded-t-full rounded-b-none",
|
|
7993
|
+
style: { "--height": `${getBarHeight(groupIndex, i)}px` }
|
|
7994
|
+
}))), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-2 w-14 rounded-full" }));
|
|
7995
|
+
var LegendItem$1 = () => /* @__PURE__ */ react.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-3 w-3 rounded-full" }), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-3 w-24 rounded-full" }));
|
|
7996
|
+
var SkeletonColumnChart = ({ numberOfLabels = 2, numberOfGroups = 7, numberOfColumns = 1, className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "flex-col", "gap-6", "w-full", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ react.default.createElement("div", { className: "flex items-center gap-4" }, Array.from({ length: numberOfLabels }, (_, i) => /* @__PURE__ */ react.default.createElement(LegendItem$1, { key: i })))), /* @__PURE__ */ react.default.createElement("div", { className: "flex items-end justify-between gap-2" }, Array.from({ length: numberOfGroups }, (_, i) => /* @__PURE__ */ react.default.createElement(ColumnGroup, {
|
|
7997
|
+
key: i,
|
|
7998
|
+
numberOfColumns,
|
|
7999
|
+
groupIndex: i
|
|
8000
|
+
}))));
|
|
8001
|
+
//#endregion
|
|
8002
|
+
//#region src/components/skeleton-loader/SkeletonBarChart.tsx
|
|
8003
|
+
var getBarWidth = (rowIndex) => Math.round(40 + Math.abs(Math.sin(rowIndex + 1)) * 55);
|
|
8004
|
+
var LegendItem = () => /* @__PURE__ */ react.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-3 w-3 rounded-full" }), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-3 w-24 rounded-full" }));
|
|
8005
|
+
var SkeletonBarChart = ({ numberOfLabels = 3, numberOfRows = 4, numberOfTicks = 4, className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "flex-col", "gap-6", "w-full", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "flex items-center gap-4" }, Array.from({ length: numberOfLabels }, (_, i) => /* @__PURE__ */ react.default.createElement(LegendItem, { key: i }))), /* @__PURE__ */ react.default.createElement("div", { className: "flex flex-col justify-between gap-4" }, Array.from({ length: numberOfRows }, (_, i) => /* @__PURE__ */ react.default.createElement("div", {
|
|
8006
|
+
key: i,
|
|
8007
|
+
className: "flex items-center gap-5"
|
|
8008
|
+
}, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-3 w-20 shrink-0 rounded-full" }), /* @__PURE__ */ react.default.createElement("div", { className: "grow" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
|
|
8009
|
+
className: "h-5 w-(--width) rounded-full",
|
|
8010
|
+
style: { "--width": `${getBarWidth(i)}%` }
|
|
8011
|
+
})))), /* @__PURE__ */ react.default.createElement("div", { className: "flex justify-between pl-24" }, Array.from({ length: numberOfTicks }, (_, i) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
|
|
8012
|
+
key: i,
|
|
8013
|
+
className: "h-2 w-8 rounded-full"
|
|
8014
|
+
})))));
|
|
8015
|
+
//#endregion
|
|
8016
|
+
//#region src/components/skeleton-loader/SkeletonPanelList.tsx
|
|
8017
|
+
var SkeletonPanelList = ({ className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("px-6", "flex-col", "w-full", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "border-grey-100 flex flex-wrap items-center gap-4 border-b py-4 last:border-b-0" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "size-10 rounded-full" }), /* @__PURE__ */ react.default.createElement("div", { className: "grow" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-4 w-2/3 rounded-full" })), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-8 w-28 rounded-md" })));
|
|
8018
|
+
//#endregion
|
|
8019
|
+
//#region src/components/skeleton-loader/SkeletonSubjectList.tsx
|
|
8020
|
+
var SkeletonSubjectList = ({ className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-2", "flex-row", "flex-wrap", "items-center", "justify-between", "gap-4", "w-full", className) }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-22 max-w-xl grow rounded-xl" }), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "size-10 shrink-0 rounded-md" }));
|
|
8021
|
+
//#endregion
|
|
8031
8022
|
//#region src/components/skeleton-loader/index.ts
|
|
8032
8023
|
var skeleton_loader_exports = /* @__PURE__ */ __exportAll({
|
|
8024
|
+
BarChart: () => SkeletonBarChart,
|
|
8033
8025
|
Button: () => SkeletonButton,
|
|
8034
8026
|
Card: () => SkeletonCard,
|
|
8027
|
+
ColumnChart: () => SkeletonColumnChart,
|
|
8035
8028
|
DoughnutChart: () => SkeletonDoughnutChart,
|
|
8036
8029
|
Heading: () => SkeletonHeading,
|
|
8037
8030
|
Loader: () => SkeletonLoader,
|
|
8031
|
+
PanelList: () => SkeletonPanelList,
|
|
8032
|
+
SubjectList: () => SkeletonSubjectList,
|
|
8038
8033
|
Table: () => SkeletonTable,
|
|
8039
8034
|
Tabs: () => SkeletonTabs
|
|
8040
8035
|
});
|