npm install fina-react-dsThis package is designed to work with Tailwind4
``bash`
npm install fina-react-ds
In index.css add this lines :
`css
@source "../node_modules/fina-react-ds/dist";
@custom-variant dark (&:is(.dark *));
@theme inline {
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-primary-light: var(--primary-light);
--color-primary-light-foreground: var(--primary-light-foreground);
--color-info: var(--info);
--color-info-foreground: var(--info-foreground);
--color-info-light: var(--info-light);
--color-info-light-foreground: var(--info-light-foreground);
--color-warning: var(--warning);
--color-warning-foreground: var(--warning-foreground);
--color-warning-light: var(--warning-light);
--color-warning-light-foreground: var(--warning-light-foreground);
--color-success: var(--success);
--color-success-foreground: var(--success-foreground);
--color-success-light: var(--success-light);
--color-success-light-foreground: var(--success-light-foreground);
--color-dark: var(--dark);
--color-dark-foreground: var(--dark-foreground);
--color-destructive: var(--destructive);
--color-destructive-foreground: var(--destructive-foreground);
--color-destructive-light: var(--destructive-light);
--color-destructive-light-foreground: var(--destructive-light-foreground);
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-border: var(--border);
--color-ring: var(--ring);
--color-muted: var(--muted);
--color-accent: var(--accent);
--color-accent-foreground: var(--accent-foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--color-tabs: var(--tabs);
--color-popover: var(--popover);
--color-popover-foreground: var(--popover-foreground);
--color-input: var(--input);
--color-input-border: var(--input-border);
--color-input-accent: var(--input-accent);
--color-input-accent-foreground: var(--input-accent-foreground);
--color-placeholder: var(--placeholder);
--color-chart-1: var(--chart-1);
--color-chart-2: var(--chart-2);
--color-chart-3: var(--chart-3);
--color-chart-4: var(--chart-4);
--color-chart-5: var(--chart-5);
--color-sidebar: var(--sidebar);
--color-sidebar-foreground: var(--sidebar-foreground);
--color-sidebar-primary: var(--sidebar-primary);
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
--color-sidebar-accent: var(--sidebar-accent);
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
--color-sidebar-border: var(--sidebar-border);
--color-sidebar-ring: var(--sidebar-ring);
}
:root {
--primary: oklch(0.4481 0.0944 269.57);
--primary-foreground: oklch(1 0 0);
--primary-light: oklch(0.9219 0.0113 269.54);
--primary-light-foreground: oklch(0.401 0.0817 269.12);
--destructive: oklch(0.6438 0.204 25.26);
--destructive-foreground: oklch(1 0 0);
--destructive-light: oklch(0.9467 0.0237 30.49);
--destructive-light-foreground: oklch(0.6004 0.1556 33.58);
--info: oklch(0.6599 0.135 238.76);
--info-foreground: oklch(1 0 0);
--info-light: oklch(0.9455 0.0226 233.36);
--info-light-foreground: oklch(0.587 0.1182 238.22);
--warning: oklch(0.8218 0.1423 77.89);
--warning-foreground: oklch(1 0 0);
--warning-light: oklch(0.9707 0.0237 79.74);
--warning-light-foreground: oklch(0.7275 0.1248 77.62);
--success: oklch(0.6872 0.1242 179.08);
--success-foreground: oklch(1 0 0);
--success-light: oklch(0.9471 0.0277 185.57);
--success-light-foreground: oklch(0.6095 0.1094 179.62);
--dark: oklch(0 0 0);
--dark-foreground: oklch(1 0 0);
--background: oklch(0.9659 0.008 286.25);
--foreground: oklch(0.145 0 0);
--border: oklch(0.922 0 0);
--ring: oklch(0.708 0 0);
--muted: oklch(0.5517 0.0138 285.94);
--accent: oklch(0.9674 0.0013 286.38);
--accent-foreground: oklch(0.2103 0.0059 285.89);
--card: oklch(1 0 0);
--card-foreground: oklch(0.145 0 0);
--tabs: oklch(1 0 0);
--popover: oklch(1 0 0);
--popover-foreground: oklch(0.145 0 0);
--input: oklch(1 0 0);
--input-border: oklch(0.922 0 0);
--input-accent: oklch(0.922 0 0);
--input-accent-foreground: oklch(0.145 0 0);
--placeholder: oklch(0.5517 0.0138 285.94);
--chart-1: oklch(0.646 0.222 41.116);
--chart-2: oklch(0.6 0.118 184.704);
--chart-3: oklch(0.398 0.07 227.392);
--chart-4: oklch(0.828 0.189 84.429);
--chart-5: oklch(0.769 0.188 70.08);
--sidebar: oklch(0.4482 0.0944 269.57);
--sidebar-foreground: oklch(1 0 0);
--sidebar-primary: oklch(0.205 0 0);
--sidebar-primary-foreground: oklch(0.985 0 0);
--sidebar-accent: oklch(0.97 0 0);
--sidebar-accent-foreground: oklch(0.205 0 0);
--sidebar-border: oklch(0.922 0 0);
--sidebar-ring: oklch(0.708 0 0);
}
.dark {
--primary: oklch(0.4481 0.0944 269.57);
--primary-foreground: oklch(1 0 0);
--primary-light: oklch(0.289 0.0214 265.85);
--primary-light-foreground: oklch(0.5656 0.0719 270.69);
--destructive: oklch(0.6763 0.1776 33.46);
--destructive-foreground: oklch(1 0 0);
--destructive-light: oklch(0.324 0.0253 26.24);
--destructive-light-foreground: oklch(0.731 0.1407 32.84);
--info: oklch(0.6599 0.135 238.76);
--info-foreground: oklch(1 0 0);
--info-light: oklch(0.325 0.0354 236.54);
--info-light-foreground: oklch(0.7215 0.1136 235.18);
--warning: oklch(0.8218 0.1423 77.89);
--warning-foreground: oklch(1 0 0);
--warning-light: oklch(0.3569 0.024 90.72);
--warning-light-foreground: oklch(0.8544 0.1201 79.41);
--success: oklch(0.6872 0.1242 179.08);
--success-foreground: oklch(1 0 0);
--success-light: oklch(0.3287 0.036 192.75);
--success-light-foreground: oklch(0.7381 0.1169 182.21);
--dark: oklch(0.3232 0.0068 248.04);
--dark-foreground: oklch(1 0 0);
--background: oklch(0.2293 0.009 255.61);
--foreground: oklch(0.985 0 0);
--border: oklch(1 0 0 / 10%);
--ring: oklch(0.556 0 0);
--muted: oklch(0.708 0 0);
--accent: oklch(0.3 0.007 248.07);
--accent-foreground: oklch(0.985 0 0);
--card: oklch(0.2621 0.0095 248.19);
--card-foreground: oklch(0.985 0 0);
--tabs: oklch(0.2621 0.0095 248.19);
--popover: oklch(0.2293 0.009 255.61);
--popover-foreground: oklch(0.985 0 0);
--input: oklch(0.2988 0.0092 248.14);
--input-border: oklch(1 0 0 / 15%);
--input-accent: oklch(1 0 0 / 15%);
--input-accent-foreground: oklch(0.985 0 0);
--placeholder: oklch(0.708 0 0);
--chart-1: oklch(0.488 0.243 264.376);
--chart-2: oklch(0.696 0.17 162.48);
--chart-3: oklch(0.769 0.188 70.08);
--chart-4: oklch(0.627 0.265 303.9);
--chart-5: oklch(0.645 0.246 16.439);
--sidebar: oklch(0.2621 0.0095 248.19);
--sidebar-foreground: oklch(0.985 0 0);
--sidebar-primary: oklch(0.488 0.243 264.376);
--sidebar-primary-foreground: oklch(0.985 0 0);
--sidebar-accent: oklch(0.2958 0.0084 255.57);
--sidebar-accent-foreground: oklch(0.985 0 0);
--sidebar-border: oklch(1 0 0 / 10%);
--sidebar-ring: oklch(0.556 0 0);
}
@layer base {
* {
@apply border-border outline-ring/50;
}
body {
@apply bg-background text-foreground;
}
}
`
In index.jsx add this line :
`jsx`
import "fina-react-ds/ckeditor5.css";
In index.css add this lines :
`css
:root {
--ck-inner-shadow: none;
--ck-border-radius: 0.375rem;
}
.ck-sticky-panel__content {
border: none !important;
}
.ck-editor__editable {
min-height: 200px !important;
border: none !important;
}
```