@fragment-build/ui 3.0.11 → 3.1.3
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/README.md +51 -1
- package/components/code/Code.d.ts +5 -0
- package/components/code/Code.js +4 -0
- package/components/code/Code.js.map +1 -0
- package/components/code/code.css +5 -0
- package/components/code-snippet/CodeSnippet.d.ts +5 -0
- package/components/code-snippet/CodeSnippet.js +15 -0
- package/components/code-snippet/CodeSnippet.js.map +1 -0
- package/components/code-snippet/code-snippet.css +13 -0
- package/components/theme-switch/ThemeSwitch.d.ts +0 -3
- package/components/theme-switch/ThemeSwitch.js +3 -10
- package/components/theme-switch/ThemeSwitch.js.map +1 -1
- package/index.css +26 -0
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +3 -2
- package/provider.js +1 -2
- package/provider.js.map +1 -1
- package/src/components/code/code.css +5 -0
- package/src/components/code-snippet/code-snippet.css +13 -0
- package/src/index.css +26 -0
package/README.md
CHANGED
|
@@ -60,7 +60,7 @@ Fragment UI is a design system and React component library which provides alread
|
|
|
60
60
|
|
|
61
61
|
2. Install Fragment UI and its peer dependencies
|
|
62
62
|
```bash
|
|
63
|
-
npm install -S @fragment-build/ui @heroui/react @heroui/styles
|
|
63
|
+
npm install -S @fragment-build/ui @heroui/react @heroui/styles @teispace/next-themes
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
As a next step you must configure the library the way you want to. See [**Configuration**](#🔧-configuration) section.
|
|
@@ -129,6 +129,56 @@ const config = {
|
|
|
129
129
|
export default config;
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
+
Set up your root layout with server-side theme reading to avoid flash of unstyled content:
|
|
133
|
+
|
|
134
|
+
```tsx
|
|
135
|
+
// app/layout.tsx
|
|
136
|
+
import { FragmentUIProvider } from '@fragment-build/ui';
|
|
137
|
+
import { ThemeProvider } from '@teispace/next-themes';
|
|
138
|
+
import { getTheme } from '@teispace/next-themes/server';
|
|
139
|
+
|
|
140
|
+
export default async function RootLayout({ children }) {
|
|
141
|
+
const initialTheme = await getTheme();
|
|
142
|
+
|
|
143
|
+
return (
|
|
144
|
+
<html suppressHydrationWarning>
|
|
145
|
+
<body>
|
|
146
|
+
<ThemeProvider attribute="class" initialTheme={initialTheme ?? undefined}>
|
|
147
|
+
<FragmentUIProvider>
|
|
148
|
+
{children}
|
|
149
|
+
</FragmentUIProvider>
|
|
150
|
+
</ThemeProvider>
|
|
151
|
+
</body>
|
|
152
|
+
</html>
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Toggle the theme in a client component using the `useTheme` hook:
|
|
158
|
+
|
|
159
|
+
```tsx
|
|
160
|
+
// components/ThemeToggle.tsx
|
|
161
|
+
'use client';
|
|
162
|
+
import { useTheme } from '@teispace/next-themes';
|
|
163
|
+
|
|
164
|
+
export function ThemeToggle() {
|
|
165
|
+
const { theme, setTheme } = useTheme();
|
|
166
|
+
return (
|
|
167
|
+
<button onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}>
|
|
168
|
+
Toggle theme
|
|
169
|
+
</button>
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Or use the built-in `ThemeSwitch` component:
|
|
175
|
+
|
|
176
|
+
```tsx
|
|
177
|
+
import { ThemeSwitch } from '@fragment-build/ui';
|
|
178
|
+
|
|
179
|
+
<ThemeSwitch />
|
|
180
|
+
```
|
|
181
|
+
|
|
132
182
|
## 🤝 Contributing
|
|
133
183
|
|
|
134
184
|
Feel free to fork and make a Pull Request to this project. All the input is warmly welcome!
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Code.js","sourceRoot":"","sources":["../../src/components/code/Code.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAOb,MAAM,CAAC,MAAM,IAAI,GAAwB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CACpE,eAAM,SAAS,EAAE,iBAAiB,SAAS,IAAI,EAAE,EAAE,YAChD,QAAQ,GACJ,CACR,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { Button, Tooltip } from '@heroui/react';
|
|
5
|
+
import { IconCheck, IconCopy } from '@tabler/icons-react';
|
|
6
|
+
export const CodeSnippet = ({ code, prefix = '$' }) => {
|
|
7
|
+
const [copied, setCopied] = useState(false);
|
|
8
|
+
const handleCopy = async () => {
|
|
9
|
+
await navigator.clipboard.writeText(code);
|
|
10
|
+
setCopied(true);
|
|
11
|
+
setTimeout(() => setCopied(false), 2000);
|
|
12
|
+
};
|
|
13
|
+
return (_jsxs("div", { className: "fragment-code-snippet", children: [_jsxs("pre", { className: "fragment-code-snippet__code", children: [prefix && _jsxs("span", { className: "fragment-code-snippet__prefix", children: [prefix, " "] }), code] }), _jsxs(Tooltip, { children: [_jsx(Button, { isIconOnly: true, "aria-label": "Copy to clipboard", size: "sm", variant: "ghost", onPress: handleCopy, children: copied ? _jsx(IconCheck, { size: 14 }) : _jsx(IconCopy, { size: 14 }) }), _jsx(Tooltip.Content, { children: copied ? 'Copied!' : 'Copy to clipboard' })] })] }));
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=CodeSnippet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeSnippet.js","sourceRoot":"","sources":["../../src/components/code-snippet/CodeSnippet.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAO1D,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE;IAChF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAK,SAAS,EAAC,6BAA6B,aACzC,MAAM,IAAI,gBAAM,SAAS,EAAC,+BAA+B,aAAE,MAAM,SAAS,EAC1E,IAAI,IACD,EACN,MAAC,OAAO,eACN,KAAC,MAAM,IACL,UAAU,sBACC,mBAAmB,EAC9B,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,OAAO,EACf,OAAO,EAAE,UAAU,YAElB,MAAM,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,GACnD,EACT,KAAC,OAAO,CAAC,OAAO,cAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,GAAmB,IACrE,IACN,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.fragment-code-snippet {
|
|
3
|
+
@apply inline-flex items-center gap-2 rounded-lg bg-default pr-2;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.fragment-code-snippet__code {
|
|
7
|
+
@apply text-sm font-mono pl-4 py-3;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.fragment-code-snippet__prefix {
|
|
11
|
+
@apply text-muted;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useTheme } from 'next-themes';
|
|
3
|
+
import { useTheme } from '@teispace/next-themes';
|
|
4
4
|
import { IconMoon, IconSun } from '@tabler/icons-react';
|
|
5
5
|
import { Button } from '@heroui/react';
|
|
6
|
-
import { useEffect, useState } from 'react';
|
|
7
6
|
export const ThemeSwitch = (props) => {
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
setMounted(true);
|
|
12
|
-
}, []);
|
|
13
|
-
if (!mounted)
|
|
14
|
-
return null;
|
|
15
|
-
return (_jsx(Button, { isIconOnly: true, size: "sm", variant: "tertiary", onPress: () => setTheme(theme === 'light' ? 'dark' : 'light'), ...props, children: theme === 'light' ? _jsx(IconSun, { size: 18 }) : _jsx(IconMoon, { size: 18 }) }));
|
|
7
|
+
const { resolvedTheme, setTheme } = useTheme();
|
|
8
|
+
return (_jsx(Button, { isIconOnly: true, size: "sm", variant: "tertiary", onPress: () => setTheme(resolvedTheme === 'light' ? 'dark' : 'light'), ...props, children: resolvedTheme === 'light' ? _jsx(IconSun, { size: 18 }) : _jsx(IconMoon, { size: 18 }) }));
|
|
16
9
|
};
|
|
17
10
|
//# sourceMappingURL=ThemeSwitch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeSwitch.js","sourceRoot":"","sources":["../../src/components/theme-switch/ThemeSwitch.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ThemeSwitch.js","sourceRoot":"","sources":["../../src/components/theme-switch/ThemeSwitch.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAQ,EAAE,MAAM,EAAoB,MAAM,eAAe,CAAC;AAI1D,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,KAAK,EAAE,EAAE;IAC/D,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE/C,OAAO,CACL,KAAC,MAAM,IAAC,UAAU,QAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAM,KAAK,YAC7H,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,GACpE,CACV,CAAC;AACJ,CAAC,CAAC"}
|
package/index.css
CHANGED
|
@@ -26,6 +26,30 @@
|
|
|
26
26
|
@apply border border-border px-6 py-4 shadow-none;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
.input-group, .search-field__group, .number-field__group{
|
|
30
|
+
@apply border border-border shadow-none h-auto;
|
|
31
|
+
|
|
32
|
+
.input-group__input, .search-field__input, .number-field__input {
|
|
33
|
+
@apply px-6 py-4;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.slider {
|
|
38
|
+
.slider__thumb {
|
|
39
|
+
@apply bg-transparent;
|
|
40
|
+
}
|
|
41
|
+
&[data-orientation="horizontal"] {
|
|
42
|
+
.slider__track {
|
|
43
|
+
@apply h-1;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
&[data-orientation="vertical"] {
|
|
47
|
+
.slider__track {
|
|
48
|
+
@apply w-1;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
29
53
|
.select__indicator {
|
|
30
54
|
@apply right-4;
|
|
31
55
|
}
|
|
@@ -88,6 +112,8 @@
|
|
|
88
112
|
@import "./fragments/widget/widget.css";
|
|
89
113
|
@import "./components/grid/grid.css";
|
|
90
114
|
@import "./components/multi-switch/multi-switch.css";
|
|
115
|
+
@import "./components/code/code.css";
|
|
116
|
+
@import "./components/code-snippet/code-snippet.css";
|
|
91
117
|
@import "./fragments/form/form.css";
|
|
92
118
|
@import "./fragments/form/form-section.css";
|
|
93
119
|
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { useTheme } from 'next-themes';
|
|
2
1
|
export { FragmentUIProvider } from './provider';
|
|
2
|
+
export { Code, type CodeProps } from './components/code/Code';
|
|
3
|
+
export { CodeSnippet, type CodeSnippetProps } from './components/code-snippet/CodeSnippet';
|
|
3
4
|
export { Grid, type GridProps } from './components/grid/Grid';
|
|
4
5
|
export { MultiSwitch, type MultiSwitchProps } from './components/multi-switch/MultiSwitch';
|
|
5
6
|
export { ThemeSwitch, type ThemeSwitchProps } from './components/theme-switch/ThemeSwitch';
|
package/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// TODO: export as utils.ts
|
|
2
|
-
export { useTheme } from 'next-themes';
|
|
3
2
|
export { FragmentUIProvider } from './provider';
|
|
4
3
|
// fragment components
|
|
4
|
+
export { Code } from './components/code/Code';
|
|
5
|
+
export { CodeSnippet } from './components/code-snippet/CodeSnippet';
|
|
5
6
|
export { Grid } from './components/grid/Grid';
|
|
6
7
|
export { MultiSwitch } from './components/multi-switch/MultiSwitch';
|
|
7
8
|
export { ThemeSwitch } from './components/theme-switch/ThemeSwitch';
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,sBAAsB;AACtB,OAAO,EAAE,IAAI,EAAkB,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAyB,MAAM,uCAAuC,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAkB,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAyB,MAAM,uCAAuC,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAyB,MAAO,uCAAuC,CAAC;AAE5F,OAAO,EAAE,IAAI,EAAkB,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAyB,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAwB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAoB,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAmB,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAqB,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,MAAM,EAAoB,MAAM,2BAA2B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fragment-build/ui",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22"
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@heroui/react": ">=3.0.0",
|
|
18
18
|
"@heroui/styles": ">=3.0.0",
|
|
19
|
+
"@teispace/next-themes": ">=0.5.0",
|
|
19
20
|
"react": ">=19.0.0",
|
|
20
21
|
"react-dom": ">=19.0.0",
|
|
21
22
|
"tailwindcss": ">=4.0.0"
|
|
@@ -23,7 +24,6 @@
|
|
|
23
24
|
"dependencies": {
|
|
24
25
|
"@tabler/icons-react": "3.44.0",
|
|
25
26
|
"apexcharts": "5.12.0",
|
|
26
|
-
"next-themes": "0.4.6",
|
|
27
27
|
"react-apexcharts": "2.1.0",
|
|
28
28
|
"tailwind-variants": "^3.2.2",
|
|
29
29
|
"tailwindcss": "4.3.0"
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@heroui/react": "3.0.5",
|
|
33
33
|
"@heroui/styles": "3.0.5",
|
|
34
|
+
"@teispace/next-themes": "0.5.0",
|
|
34
35
|
"@storybook/addon-a11y": "10.4.0",
|
|
35
36
|
"@storybook/addon-docs": "10.4.0",
|
|
36
37
|
"@storybook/addon-links": "10.4.0",
|
package/provider.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { ThemeProvider } from 'next-themes';
|
|
4
3
|
import { FragmentUIContext } from './context';
|
|
5
4
|
export const FragmentUIProvider = ({ children, linkComponent = 'a', }) => {
|
|
6
|
-
return (_jsx(FragmentUIContext.Provider, { value: { linkComponent }, children:
|
|
5
|
+
return (_jsx(FragmentUIContext.Provider, { value: { linkComponent }, children: children }));
|
|
7
6
|
};
|
|
8
7
|
//# sourceMappingURL=provider.js.map
|
package/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["src/provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["src/provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,iBAAiB,EAAsB,MAAM,WAAW,CAAC;AAOlE,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,QAAQ,EACR,aAAa,GAAG,GAAG,GACpB,EAAE,EAAE;IACH,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,aAAa,EAAE,YACjD,QAAQ,GACkB,CAC9B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.fragment-code-snippet {
|
|
3
|
+
@apply inline-flex items-center gap-2 rounded-lg bg-default pr-2;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.fragment-code-snippet__code {
|
|
7
|
+
@apply text-sm font-mono pl-4 py-3;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.fragment-code-snippet__prefix {
|
|
11
|
+
@apply text-muted;
|
|
12
|
+
}
|
|
13
|
+
}
|
package/src/index.css
CHANGED
|
@@ -26,6 +26,30 @@
|
|
|
26
26
|
@apply border border-border px-6 py-4 shadow-none;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
.input-group, .search-field__group, .number-field__group{
|
|
30
|
+
@apply border border-border shadow-none h-auto;
|
|
31
|
+
|
|
32
|
+
.input-group__input, .search-field__input, .number-field__input {
|
|
33
|
+
@apply px-6 py-4;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.slider {
|
|
38
|
+
.slider__thumb {
|
|
39
|
+
@apply bg-transparent;
|
|
40
|
+
}
|
|
41
|
+
&[data-orientation="horizontal"] {
|
|
42
|
+
.slider__track {
|
|
43
|
+
@apply h-1;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
&[data-orientation="vertical"] {
|
|
47
|
+
.slider__track {
|
|
48
|
+
@apply w-1;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
29
53
|
.select__indicator {
|
|
30
54
|
@apply right-4;
|
|
31
55
|
}
|
|
@@ -88,6 +112,8 @@
|
|
|
88
112
|
@import "./fragments/widget/widget.css";
|
|
89
113
|
@import "./components/grid/grid.css";
|
|
90
114
|
@import "./components/multi-switch/multi-switch.css";
|
|
115
|
+
@import "./components/code/code.css";
|
|
116
|
+
@import "./components/code-snippet/code-snippet.css";
|
|
91
117
|
@import "./fragments/form/form.css";
|
|
92
118
|
@import "./fragments/form/form-section.css";
|
|
93
119
|
|