import React from "react";
import type { Theme } from "../../common/styles.js";
import { DataEditorAll as DataEditor } from "../../data-editor-all.js";
import {
BeautifulWrapper,
Description,
MoreInfo,
PropName,
defaultProps,
useAllMockedKinds,
} from "../../data-editor/stories/utils.js";
import { SimpleThemeWrapper } from "../../stories/story-utils.js";
export default {
title: "Glide-Data-Grid/DataEditor Demos",
decorators: [
(Story: React.ComponentType) => (
),
],
};
const darkTheme = {
accentColor: "#8c96ff",
accentLight: "rgba(202, 206, 255, 0.253)",
textDark: "#ffffff",
textMedium: "#b8b8b8",
textLight: "#a0a0a0",
textBubble: "#ffffff",
bgIconHeader: "#b8b8b8",
fgIconHeader: "#000000",
textHeader: "#a1a1a1",
textHeaderSelected: "#000000",
bgCell: "#16161b",
bgCellMedium: "#202027",
bgHeader: "#212121",
bgHeaderHasFocus: "#474747",
bgHeaderHovered: "#404040",
bgBubble: "#212121",
bgBubbleSelected: "#000000",
bgSearchResult: "#423c24",
borderColor: "rgba(225,225,225,0.2)",
drilldownBorder: "rgba(225,225,225,0.4)",
linkColor: "#4F5DFF",
headerFontStyle: "bold 14px",
baseFontStyle: "13px",
fontFamily:
"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif",
};
const hotdogStand = {
accentColor: "#8c96ff",
accentLight: "rgba(202, 206, 255, 0.253)",
textDark: "#ffffff",
textMedium: "rgba(255, 255, 255, 0.9)",
textLight: "rgba(255, 255, 255, 0.7)",
textBubble: "#000000",
bgIconHeader: "#880000",
fgIconHeader: "#ff5555",
textHeader: "rgba(0, 0, 0, 0.9)",
textHeaderSelected: "#000000",
bgCell: "#ff0000",
bgCellMedium: "#ff4d4d",
bgHeader: "#f3f300",
bgHeaderHasFocus: "#eeee00",
bgHeaderHovered: "#e0e000",
bgBubble: "#ffff00",
bgBubbleSelected: "#ffff00",
bgSearchResult: "#423c24",
borderColor: "#ffff00",
drilldownBorder: "#ffff00",
linkColor: "#4F5DFF",
headerFontStyle: "bold 14px",
baseFontStyle: "13px",
fontFamily:
"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif",
roundingRadius: 6,
};
export const ThemeSupport: React.VFC = () => {
const { cols, getCellContent, onColumnResize, setCellValue } = useAllMockedKinds();
const [theme, setTheme] = React.useState>({});
const [numRows, setNumRows] = React.useState(1000);
const onRowAppended = React.useCallback(() => {
const newRow = numRows;
setNumRows(cv => cv + 1);
for (let c = 0; c < 6; c++) {
setCellValue([c, newRow], {
displayData: "",
data: "",
} as any);
}
}, [numRows, setCellValue]);
return (
DataGrid respects the theme provided by the theme prop.
or{" "}
even{" "}
>
}>
);
};