@c-rex/components 0.0.1 → 0.0.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 +74 -0
- package/dist/components/src/autocomplete.d.ts +8 -0
- package/dist/components/src/autocomplete.d.ts.map +1 -0
- package/dist/components/src/autocomplete.js +36 -0
- package/dist/components/src/blog-card.d.ts +17 -0
- package/dist/components/src/blog-card.d.ts.map +1 -0
- package/dist/components/src/blog-card.js +16 -0
- package/dist/components/src/blur-image.d.ts +4 -0
- package/dist/components/src/blur-image.d.ts.map +1 -0
- package/dist/components/src/blur-image.js +16 -0
- package/dist/components/src/breadcrumb.d.ts +9 -0
- package/dist/components/src/breadcrumb.d.ts.map +1 -0
- package/dist/components/src/breadcrumb.js +33 -0
- package/dist/components/src/empty.d.ts +3 -0
- package/dist/components/src/empty.d.ts.map +1 -0
- package/dist/components/src/empty.js +9 -0
- package/dist/components/src/navbar.d.ts +8 -0
- package/dist/components/src/navbar.d.ts.map +1 -0
- package/dist/components/src/navbar.js +14 -0
- package/dist/components/src/providers/search-state-wrapper.d.ts +13 -0
- package/dist/components/src/providers/search-state-wrapper.d.ts.map +1 -0
- package/dist/components/src/providers/search-state-wrapper.js +10 -0
- package/dist/components/src/result-list.d.ts +8 -0
- package/dist/components/src/result-list.d.ts.map +1 -0
- package/dist/components/src/result-list.js +16 -0
- package/dist/components/src/result-view/blog-view.stories.d.ts +7 -0
- package/dist/components/src/result-view/blog-view.stories.d.ts.map +1 -0
- package/dist/components/src/result-view/blog-view.stories.js +58 -0
- package/dist/components/src/result-view/blog.d.ts +8 -0
- package/dist/components/src/result-view/blog.d.ts.map +1 -0
- package/dist/components/src/result-view/blog.js +22 -0
- package/dist/components/src/result-view/table-view.stories.d.ts +7 -0
- package/dist/components/src/result-view/table-view.stories.d.ts.map +1 -0
- package/dist/components/src/result-view/table-view.stories.js +55 -0
- package/dist/components/src/result-view/table.d.ts +8 -0
- package/dist/components/src/result-view/table.d.ts.map +1 -0
- package/dist/components/src/result-view/table.js +26 -0
- package/dist/components/src/sidebar.d.ts +10 -0
- package/dist/components/src/sidebar.d.ts.map +1 -0
- package/dist/components/src/sidebar.js +10 -0
- package/dist/components/src/stories/blog-card.stories.d.ts +7 -0
- package/dist/components/src/stories/blog-card.stories.d.ts.map +1 -0
- package/dist/components/src/stories/blog-card.stories.js +42 -0
- package/dist/components/src/stories/blur-image.stories.d.ts +32 -0
- package/dist/components/src/stories/blur-image.stories.d.ts.map +1 -0
- package/dist/components/src/stories/blur-image.stories.js +47 -0
- package/dist/components/src/stories/breadcrumb.stories.d.ts +7 -0
- package/dist/components/src/stories/breadcrumb.stories.d.ts.map +1 -0
- package/dist/components/src/stories/breadcrumb.stories.js +48 -0
- package/dist/components/src/stories/empty.stories.d.ts +10 -0
- package/dist/components/src/stories/empty.stories.d.ts.map +1 -0
- package/dist/components/src/stories/empty.stories.js +11 -0
- package/dist/components/src/stories/navbar.stories.d.ts +6 -0
- package/dist/components/src/stories/navbar.stories.d.ts.map +1 -0
- package/dist/components/src/stories/navbar.stories.js +14 -0
- package/dist/components/src/stories/sidebar.stories.d.ts +24 -0
- package/dist/components/src/stories/sidebar.stories.d.ts.map +1 -0
- package/dist/components/src/stories/sidebar.stories.js +80 -0
- package/dist/components/tailwind.config.d.ts +2 -0
- package/dist/components/tailwind.config.d.ts.map +1 -0
- package/dist/components/tailwind.config.js +15 -0
- package/dist/config/src/index.d.ts +4 -0
- package/dist/config/src/index.d.ts.map +1 -0
- package/dist/config/src/index.js +67 -0
- package/dist/constants/src/index.d.ts +17 -0
- package/dist/constants/src/index.d.ts.map +1 -0
- package/dist/constants/src/index.js +30 -0
- package/dist/contexts/src/index.d.ts +15 -0
- package/dist/contexts/src/index.d.ts.map +1 -0
- package/dist/contexts/src/index.js +18 -0
- package/dist/interfaces/src/common.d.ts +36 -0
- package/dist/interfaces/src/common.d.ts.map +1 -0
- package/dist/interfaces/src/common.js +2 -0
- package/dist/interfaces/src/config.d.ts +26 -0
- package/dist/interfaces/src/config.d.ts.map +1 -0
- package/dist/interfaces/src/config.js +2 -0
- package/dist/interfaces/src/directoryNodes.d.ts +8 -0
- package/dist/interfaces/src/directoryNodes.d.ts.map +1 -0
- package/dist/interfaces/src/directoryNodes.js +2 -0
- package/dist/interfaces/src/documentTypes.d.ts +7 -0
- package/dist/interfaces/src/documentTypes.d.ts.map +1 -0
- package/dist/interfaces/src/documentTypes.js +2 -0
- package/dist/interfaces/src/index.d.ts +7 -0
- package/dist/interfaces/src/index.d.ts.map +1 -0
- package/dist/interfaces/src/index.js +22 -0
- package/dist/interfaces/src/informationUnits.d.ts +53 -0
- package/dist/interfaces/src/informationUnits.d.ts.map +1 -0
- package/dist/interfaces/src/informationUnits.js +2 -0
- package/dist/interfaces/src/treeOfContent.d.ts +8 -0
- package/dist/interfaces/src/treeOfContent.d.ts.map +1 -0
- package/dist/interfaces/src/treeOfContent.js +2 -0
- package/dist/types/src/index.d.ts +8 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/index.js +2 -0
- package/dist/utils/src/breadcrumbs.d.ts +3 -0
- package/dist/utils/src/breadcrumbs.d.ts.map +1 -0
- package/dist/utils/src/breadcrumbs.js +14 -0
- package/dist/utils/src/classMerge.d.ts +3 -0
- package/dist/utils/src/classMerge.d.ts.map +1 -0
- package/dist/utils/src/classMerge.js +8 -0
- package/dist/utils/src/index.d.ts +5 -0
- package/dist/utils/src/index.d.ts.map +1 -0
- package/dist/utils/src/index.js +20 -0
- package/dist/utils/src/treeOfContent.d.ts +2 -0
- package/dist/utils/src/treeOfContent.d.ts.map +1 -0
- package/dist/utils/src/treeOfContent.js +85 -0
- package/dist/utils/src/utils.d.ts +8 -0
- package/dist/utils/src/utils.d.ts.map +1 -0
- package/dist/utils/src/utils.js +37 -0
- package/package.json +102 -42
- package/dist/index.d.mts +0 -68
- package/dist/index.d.ts +0 -68
- package/dist/index.js +0 -2919
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -2910
- package/dist/index.mjs.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# C-Rex Components
|
|
2
|
+
|
|
3
|
+
A collection of reusable React components built on top of @c-rex/ui for the C-Rex application.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Pre-built components following C-Rex design system
|
|
8
|
+
- Built with TypeScript for type safety
|
|
9
|
+
- Fully customizable and extensible
|
|
10
|
+
- Integration with C-Rex services and utilities
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
This package is part of the C-Rex monorepo and comes pre-installed. If you need to install it separately:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @c-rex/components
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Available Components
|
|
21
|
+
|
|
22
|
+
### AppSidebar
|
|
23
|
+
A navigation sidebar component that supports:
|
|
24
|
+
- Nested menu items
|
|
25
|
+
- Loading states with skeletons
|
|
26
|
+
- Active state indicators
|
|
27
|
+
- Collapsible functionality
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
import { AppSidebar } from '@c-rex/components';
|
|
31
|
+
|
|
32
|
+
<AppSidebar
|
|
33
|
+
data={treeData}
|
|
34
|
+
loading={false}
|
|
35
|
+
/>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Development
|
|
39
|
+
|
|
40
|
+
### Prerequisites
|
|
41
|
+
- Node.js 18 or higher
|
|
42
|
+
- Access to @c-rex/ui package
|
|
43
|
+
- Access to @c-rex/interfaces package
|
|
44
|
+
|
|
45
|
+
### Testing
|
|
46
|
+
```bash
|
|
47
|
+
npm run test
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Storybook
|
|
51
|
+
View and interact with components in isolation:
|
|
52
|
+
```bash
|
|
53
|
+
npm run storybook
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Contributing
|
|
57
|
+
|
|
58
|
+
1. Components should be built using @c-rex/ui as the foundation
|
|
59
|
+
2. Include TypeScript types
|
|
60
|
+
3. Add Storybook stories for new components
|
|
61
|
+
4. Write unit tests for component logic
|
|
62
|
+
5. Follow the existing component patterns
|
|
63
|
+
|
|
64
|
+
## Dependencies
|
|
65
|
+
|
|
66
|
+
- @c-rex/ui: Base UI components
|
|
67
|
+
- @c-rex/interfaces: Type definitions
|
|
68
|
+
- @c-rex/services: API services
|
|
69
|
+
- React 18+
|
|
70
|
+
|
|
71
|
+
## License
|
|
72
|
+
|
|
73
|
+
Internal use only - C-Rex.net
|
|
74
|
+
```
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type Props = {
|
|
2
|
+
initialValue: string;
|
|
3
|
+
onSelect: (value: string) => void;
|
|
4
|
+
onSearch: (value: string) => Promise<string[]>;
|
|
5
|
+
};
|
|
6
|
+
export declare const AutoComplete: ({ initialValue, onSearch, onSelect, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=autocomplete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../src/autocomplete.tsx"],"names":[],"mappings":"AAiBA,KAAK,KAAK,GAAG;IACT,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,uCAI1B,KAAK,4CAqFP,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AutoComplete = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const cmdk_1 = require("cmdk");
|
|
6
|
+
const lucide_react_1 = require("lucide-react");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const input_1 = require("@c-rex/ui/input");
|
|
9
|
+
const command_1 = require("@c-rex/ui/command");
|
|
10
|
+
const popover_1 = require("@c-rex/ui/popover");
|
|
11
|
+
const AutoComplete = ({ initialValue, onSearch, onSelect, }) => {
|
|
12
|
+
const [query, setQuery] = (0, react_1.useState)(initialValue);
|
|
13
|
+
const [suggestions, setSuggestions] = (0, react_1.useState)([]);
|
|
14
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
15
|
+
(0, react_1.useEffect)(() => {
|
|
16
|
+
const debounceFetch = setTimeout(() => {
|
|
17
|
+
if (query) {
|
|
18
|
+
onSearch(query).then(setSuggestions);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
setSuggestions([]);
|
|
22
|
+
}
|
|
23
|
+
}, 300);
|
|
24
|
+
return () => clearTimeout(debounceFetch);
|
|
25
|
+
}, [onSearch, query]);
|
|
26
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "flex items-center", children: (0, jsx_runtime_1.jsx)(popover_1.Popover, { open: open, onOpenChange: setOpen, children: (0, jsx_runtime_1.jsxs)(command_1.Command, { shouldFilter: false, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverAnchor, { asChild: true, children: (0, jsx_runtime_1.jsx)(cmdk_1.Command.Input, { asChild: true, value: query, onValueChange: setQuery, onKeyDown: (e) => setOpen(e.key !== "Escape"), onMouseDown: () => setOpen(false), onFocus: () => setOpen(true), children: (0, jsx_runtime_1.jsx)(input_1.Input, {}) }) }), !open && (0, jsx_runtime_1.jsx)(command_1.CommandList, { "aria-hidden": "true", className: "hidden" }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { asChild: true, onOpenAutoFocus: (e) => e.preventDefault(), onInteractOutside: (e) => {
|
|
27
|
+
if (e.target instanceof Element &&
|
|
28
|
+
e.target.hasAttribute("cmdk-input")) {
|
|
29
|
+
e.preventDefault();
|
|
30
|
+
}
|
|
31
|
+
}, className: "w-[--radix-popover-trigger-width] p-0", children: (0, jsx_runtime_1.jsx)(command_1.CommandList, { children: suggestions.length > 0 ? ((0, jsx_runtime_1.jsx)(command_1.CommandGroup, { children: suggestions.map((option) => ((0, jsx_runtime_1.jsxs)(command_1.CommandItem, { value: option, onMouseDown: (e) => e.preventDefault(), onSelect: (inputValue) => {
|
|
32
|
+
setOpen(false);
|
|
33
|
+
onSelect(inputValue ?? "");
|
|
34
|
+
}, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Check, { className: "mr-2 h-4 w-4 opacity-0" }), option] }, option))) })) : ((0, jsx_runtime_1.jsx)(command_1.CommandEmpty, { children: "No suggestions." })) }) })] }) }) }));
|
|
35
|
+
};
|
|
36
|
+
exports.AutoComplete = AutoComplete;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface BlogCardProp {
|
|
2
|
+
data: {
|
|
3
|
+
title: string;
|
|
4
|
+
blurDataURL: string;
|
|
5
|
+
image: string;
|
|
6
|
+
description: string;
|
|
7
|
+
authors: string;
|
|
8
|
+
_id: string;
|
|
9
|
+
date: string;
|
|
10
|
+
slug: string;
|
|
11
|
+
};
|
|
12
|
+
priority?: boolean;
|
|
13
|
+
horizontal?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const BlogCard: ({ data, priority, horizontal, }: BlogCardProp) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=blog-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blog-card.d.ts","sourceRoot":"","sources":["../../../src/blog-card.tsx"],"names":[],"mappings":"AAMA,UAAU,YAAY;IAClB,IAAI,EAAE;QACF,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,QAAQ,GAAI,iCAItB,YAAY,4CA6Dd,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BlogCard = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const link_1 = __importDefault(require("next/link"));
|
|
9
|
+
const utils_1 = require("@c-rex/utils");
|
|
10
|
+
const blur_image_1 = require("./blur-image");
|
|
11
|
+
const BlogCard = ({ data, priority, horizontal = false, }) => {
|
|
12
|
+
return ((0, jsx_runtime_1.jsxs)("article", { className: (0, utils_1.cn)("group relative", horizontal
|
|
13
|
+
? "grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6"
|
|
14
|
+
: "flex flex-col space-y-2"), children: [data.image && ((0, jsx_runtime_1.jsx)("div", { className: "w-full overflow-hidden rounded-xl border", children: (0, jsx_runtime_1.jsx)(blur_image_1.BlurImage, { alt: data.title, blurDataURL: data.blurDataURL, className: (0, utils_1.cn)("size-full object-cover object-center", horizontal ? "lg:h-72" : null), width: 800, height: 400, priority: priority, placeholder: "blur", src: data.image, sizes: "(max-width: 768px) 750px, 600px" }) })), (0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)("flex flex-1 flex-col", horizontal ? "justify-center" : "justify-between"), children: [(0, jsx_runtime_1.jsxs)("div", { className: "w-full", children: [(0, jsx_runtime_1.jsx)("h2", { className: "my-1.5 line-clamp-2 font-heading text-2xl", children: data.title }), data.description && ((0, jsx_runtime_1.jsx)("p", { className: "line-clamp-2 text-muted-foreground", children: data.description }))] }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-4 flex items-center space-x-3", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex items-center -space-x-2", children: data.authors && ((0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: data.authors })) }), data.date && ((0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: data.date }))] })] }), (0, jsx_runtime_1.jsx)(link_1.default, { href: data.slug, className: "absolute inset-0", target: "_blank", children: (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "View Article" }) })] }));
|
|
15
|
+
};
|
|
16
|
+
exports.BlogCard = BlogCard;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blur-image.d.ts","sourceRoot":"","sources":["../../../src/blur-image.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,eAAO,MAAM,SAAS,GAAI,OAAO,cAAc,CAAC,OAAO,KAAK,CAAC,4CAe5D,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.BlurImage = void 0;
|
|
8
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
|
+
const react_1 = require("react");
|
|
10
|
+
const image_1 = __importDefault(require("next/image"));
|
|
11
|
+
const utils_1 = require("@c-rex/utils");
|
|
12
|
+
const BlurImage = (props) => {
|
|
13
|
+
const [isLoading, setLoading] = (0, react_1.useState)(true);
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)(image_1.default, { ...props, alt: props.alt, className: (0, utils_1.cn)(props.className, "duration-500 ease-in-out", isLoading ? "blur-sm" : "blur-0"), onLoad: () => setLoading(false) }));
|
|
15
|
+
};
|
|
16
|
+
exports.BlurImage = BlurImage;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import { TreeOfContent } from "@c-rex/interfaces";
|
|
3
|
+
interface BreadcrumbProps {
|
|
4
|
+
items: TreeOfContent[];
|
|
5
|
+
loading?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const Breadcrumb: FC<BreadcrumbProps>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=breadcrumb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAa,MAAM,OAAO,CAAC;AAUtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,UAAU,eAAe;IACrB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA+D1C,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Breadcrumb = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const breadcrumb_1 = require("@c-rex/ui/breadcrumb");
|
|
6
|
+
const skeleton_1 = require("@c-rex/ui/skeleton");
|
|
7
|
+
const Breadcrumb = ({ items, loading }) => {
|
|
8
|
+
if (!items) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
if (loading) {
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)(breadcrumb_1.Breadcrumb, { children: (0, jsx_runtime_1.jsxs)(breadcrumb_1.BreadcrumbList, { children: [(0, jsx_runtime_1.jsx)(breadcrumb_1.BreadcrumbItem, { children: (0, jsx_runtime_1.jsx)(breadcrumb_1.BreadcrumbPage, { children: "Home" }) }), (0, jsx_runtime_1.jsx)(breadcrumb_1.BreadcrumbSeparator, {}), (0, jsx_runtime_1.jsx)(breadcrumb_1.BreadcrumbItem, { children: (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "w-40 h-6" }) }), (0, jsx_runtime_1.jsx)(breadcrumb_1.BreadcrumbSeparator, {}), (0, jsx_runtime_1.jsx)(breadcrumb_1.BreadcrumbItem, { children: (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "w-40 h-6" }) })] }) }));
|
|
13
|
+
}
|
|
14
|
+
const homeItem = {
|
|
15
|
+
link: "/",
|
|
16
|
+
label: "Home",
|
|
17
|
+
id: "home",
|
|
18
|
+
active: false,
|
|
19
|
+
children: [],
|
|
20
|
+
};
|
|
21
|
+
const newItemList = [homeItem, ...items];
|
|
22
|
+
const renderLink = (showLink, item) => {
|
|
23
|
+
if (showLink) {
|
|
24
|
+
return (0, jsx_runtime_1.jsx)(breadcrumb_1.BreadcrumbLink, { href: item.link, children: item.label });
|
|
25
|
+
}
|
|
26
|
+
return (0, jsx_runtime_1.jsx)(breadcrumb_1.BreadcrumbPage, { children: item.label });
|
|
27
|
+
};
|
|
28
|
+
return ((0, jsx_runtime_1.jsx)(breadcrumb_1.Breadcrumb, { children: (0, jsx_runtime_1.jsx)(breadcrumb_1.BreadcrumbList, { children: newItemList.map((item, index) => {
|
|
29
|
+
const isLast = index === newItemList.length - 1;
|
|
30
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(breadcrumb_1.BreadcrumbItem, { children: renderLink(!isLast, item) }, `${item.label}-item`), !isLast && ((0, jsx_runtime_1.jsx)(breadcrumb_1.BreadcrumbSeparator, {}, `${item.label}-separator`))] }));
|
|
31
|
+
}) }) }));
|
|
32
|
+
};
|
|
33
|
+
exports.Breadcrumb = Breadcrumb;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../../src/empty.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,eAAO,MAAM,KAAK,EAAE,EASnB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Empty = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const alert_1 = require("@c-rex/ui/alert");
|
|
6
|
+
const Empty = () => {
|
|
7
|
+
return ((0, jsx_runtime_1.jsxs)(alert_1.Alert, { className: "my-2", children: [(0, jsx_runtime_1.jsx)(alert_1.AlertTitle, { children: "No results" }), (0, jsx_runtime_1.jsx)(alert_1.AlertDescription, { children: "No data available. Please try adjusting your search or filter criteria." })] }));
|
|
8
|
+
};
|
|
9
|
+
exports.Empty = Empty;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../../src/navbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAM3B,UAAU,WAAW;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAsDlC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NavBar = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const link_1 = __importDefault(require("next/link"));
|
|
9
|
+
const button_1 = require("@c-rex/ui/button");
|
|
10
|
+
const image_1 = __importDefault(require("next/image"));
|
|
11
|
+
const NavBar = () => {
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)("header", { className: "sticky top-0 z-40 flex w-full bg-background/60 backdrop-blur-xl transition-all bg-transparent border-b justify-center py-4", children: (0, jsx_runtime_1.jsxs)("div", { className: "container flex justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-6 md:gap-10", children: [(0, jsx_runtime_1.jsx)(link_1.default, { href: "/", className: "flex items-center space-x-1.5", children: (0, jsx_runtime_1.jsx)(image_1.default, { src: "/img/logo.png", alt: "C-rex Logo", width: 88, height: 50 }) }), (0, jsx_runtime_1.jsxs)("nav", { className: "hidden gap-6 md:flex", children: [(0, jsx_runtime_1.jsx)(link_1.default, { href: "/blog", prefetch: true, className: "flex items-center text-lg font-medium transition-colors hover:text-foreground/80 sm:text-sm", children: "Blog" }), (0, jsx_runtime_1.jsx)(link_1.default, { href: "#", prefetch: true, className: "flex items-center text-lg font-medium transition-colors hover:text-foreground/80 sm:text-sm", children: "Documentation" })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "flex items-center space-x-3", children: (0, jsx_runtime_1.jsx)(button_1.Button, { className: "hidden gap-2 px-5 md:flex", variant: "default", size: "sm", rounded: "full", children: (0, jsx_runtime_1.jsx)("span", { children: "Sign In" }) }) })] }) }));
|
|
13
|
+
};
|
|
14
|
+
exports.NavBar = NavBar;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FC, ReactNode } from "react";
|
|
2
|
+
interface SearchStateWrapperProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
filters: {
|
|
5
|
+
searchValue: string;
|
|
6
|
+
page: number;
|
|
7
|
+
selectedLanguage: string[];
|
|
8
|
+
availableLanguages: string[];
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export declare const SearchStateWrapper: FC<SearchStateWrapperProps>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=search-state-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-state-wrapper.d.ts","sourceRoot":"","sources":["../../../../src/providers/search-state-wrapper.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,uBAAuB;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;KAChC,CAAC;CACL;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAK1D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SearchStateWrapper = void 0;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const contexts_1 = require("@c-rex/contexts");
|
|
7
|
+
const SearchStateWrapper = ({ children, filters, }) => {
|
|
8
|
+
return (0, jsx_runtime_1.jsx)(contexts_1.SearchProvider, { value: { ...filters }, children: children });
|
|
9
|
+
};
|
|
10
|
+
exports.SearchStateWrapper = SearchStateWrapper;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import { informationUnitsItems } from "@c-rex/interfaces";
|
|
3
|
+
interface ResultListProps {
|
|
4
|
+
items: informationUnitsItems[];
|
|
5
|
+
}
|
|
6
|
+
export declare const ResultList: FC<ResultListProps>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=result-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-list.d.ts","sourceRoot":"","sources":["../../../src/result-list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAQ1D,UAAU,eAAe;IACrB,KAAK,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAE1C,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ResultList = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const empty_1 = require("./empty");
|
|
9
|
+
//import { CUSTOMER_CONFIG } from '@/config/customerConfig';
|
|
10
|
+
//import { RESULT_VIEW_OPTIONS } from '@/constants/components';
|
|
11
|
+
const blog_1 = __importDefault(require("./result-view/blog"));
|
|
12
|
+
const ViewComponent = blog_1.default;
|
|
13
|
+
const ResultList = ({ items }) => {
|
|
14
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: items.length == 0 ? (0, jsx_runtime_1.jsx)(empty_1.Empty, {}) : (0, jsx_runtime_1.jsx)(ViewComponent, { items: items }) });
|
|
15
|
+
};
|
|
16
|
+
exports.ResultList = ResultList;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import BlogView from '../result-view/blog';
|
|
3
|
+
declare const meta: Meta<typeof BlogView>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof BlogView>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
//# sourceMappingURL=blog-view.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blog-view.stories.d.ts","sourceRoot":"","sources":["../../../../src/result-view/blog-view.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAO/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;AAwCvC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Default = void 0;
|
|
7
|
+
const blog_1 = __importDefault(require("../result-view/blog"));
|
|
8
|
+
const meta = {
|
|
9
|
+
title: 'Components/ResultView/Blog',
|
|
10
|
+
component: blog_1.default,
|
|
11
|
+
parameters: {
|
|
12
|
+
layout: 'centered',
|
|
13
|
+
},
|
|
14
|
+
tags: ['autodocs'],
|
|
15
|
+
};
|
|
16
|
+
exports.default = meta;
|
|
17
|
+
const mockItems = [
|
|
18
|
+
{
|
|
19
|
+
id: '1',
|
|
20
|
+
shortId: 'doc-1',
|
|
21
|
+
labels: [
|
|
22
|
+
{ value: 'Getting Started with C-Rex', language: 'en-US' },
|
|
23
|
+
{ value: 'Começando com C-Rex', language: 'pt-BR' }
|
|
24
|
+
],
|
|
25
|
+
languages: ['pt-BR'],
|
|
26
|
+
type: 'document',
|
|
27
|
+
renditions: [],
|
|
28
|
+
directoryNodes: []
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: '2',
|
|
32
|
+
shortId: 'doc-2',
|
|
33
|
+
labels: [
|
|
34
|
+
{ value: 'Advanced Configuration Guide', language: 'en-US' }
|
|
35
|
+
],
|
|
36
|
+
languages: ['en-US'],
|
|
37
|
+
type: 'document',
|
|
38
|
+
renditions: [],
|
|
39
|
+
directoryNodes: []
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: '3',
|
|
43
|
+
shortId: 'doc-3',
|
|
44
|
+
labels: [
|
|
45
|
+
{ value: 'API Documentation', language: 'en-US' },
|
|
46
|
+
{ value: 'Documentation API', language: 'fr-FR' }
|
|
47
|
+
],
|
|
48
|
+
languages: ['fr-FR'],
|
|
49
|
+
type: 'document',
|
|
50
|
+
renditions: [],
|
|
51
|
+
directoryNodes: []
|
|
52
|
+
}
|
|
53
|
+
];
|
|
54
|
+
exports.Default = {
|
|
55
|
+
args: {
|
|
56
|
+
items: mockItems
|
|
57
|
+
}
|
|
58
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../../../../src/result-view/blog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,OAAO,EAAE,qBAAqB,EAAU,MAAM,mBAAmB,CAAC;AAElE,UAAU,aAAa;IACnB,KAAK,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA0B/B,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
const blog_card_1 = require("../blog-card");
|
|
5
|
+
const BlogView = ({ items }) => {
|
|
6
|
+
const getTitle = (labels) => {
|
|
7
|
+
return labels.map((item) => item.value).join();
|
|
8
|
+
};
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "grid gap-8 md:grid-cols-2 md:gap-x-6 md:gap-y-10 xl:grid-cols-3", children: items.map((item, index) => {
|
|
10
|
+
return ((0, jsx_runtime_1.jsx)(blog_card_1.BlogCard, { data: {
|
|
11
|
+
title: getTitle(item.labels),
|
|
12
|
+
blurDataURL: "/img/blog-post-1.webp",
|
|
13
|
+
image: "/img/blog-post-1.webp",
|
|
14
|
+
description: "item.shortDescription",
|
|
15
|
+
authors: "item.authors",
|
|
16
|
+
_id: "item._id",
|
|
17
|
+
date: "item.date",
|
|
18
|
+
slug: `info/${item.shortId}`,
|
|
19
|
+
} }, index));
|
|
20
|
+
}) }));
|
|
21
|
+
};
|
|
22
|
+
exports.default = BlogView;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import TableView from '../result-view/table';
|
|
3
|
+
declare const meta: Meta<typeof TableView>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof TableView>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
//# sourceMappingURL=table-view.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-view.stories.d.ts","sourceRoot":"","sources":["../../../../src/result-view/table-view.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAOhC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;AAqCxC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Default = void 0;
|
|
7
|
+
const table_1 = __importDefault(require("../result-view/table"));
|
|
8
|
+
const meta = {
|
|
9
|
+
title: 'Components/ResultView/Table',
|
|
10
|
+
component: table_1.default,
|
|
11
|
+
parameters: {
|
|
12
|
+
layout: 'centered',
|
|
13
|
+
},
|
|
14
|
+
tags: ['autodocs'],
|
|
15
|
+
};
|
|
16
|
+
exports.default = meta;
|
|
17
|
+
const mockItems = [
|
|
18
|
+
{
|
|
19
|
+
id: '1',
|
|
20
|
+
labels: [
|
|
21
|
+
{ value: 'Installation Guide', language: 'en-US' },
|
|
22
|
+
{ value: 'Guide d\'installation', language: 'fr-FR' }
|
|
23
|
+
],
|
|
24
|
+
languages: ['fr-FR'],
|
|
25
|
+
type: 'document',
|
|
26
|
+
renditions: [],
|
|
27
|
+
directoryNodes: []
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
id: '2',
|
|
31
|
+
labels: [
|
|
32
|
+
{ value: 'User Manual', language: 'en-US' },
|
|
33
|
+
{ value: 'Manual del Usuario', language: 'es-ES' }
|
|
34
|
+
],
|
|
35
|
+
languages: ['es-ES'],
|
|
36
|
+
type: 'document',
|
|
37
|
+
renditions: [],
|
|
38
|
+
directoryNodes: []
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: '3',
|
|
42
|
+
labels: [
|
|
43
|
+
{ value: 'Technical Specifications', language: 'en-US' }
|
|
44
|
+
],
|
|
45
|
+
languages: ['en-US'],
|
|
46
|
+
type: 'document',
|
|
47
|
+
renditions: [],
|
|
48
|
+
directoryNodes: []
|
|
49
|
+
}
|
|
50
|
+
];
|
|
51
|
+
exports.Default = {
|
|
52
|
+
args: {
|
|
53
|
+
items: mockItems
|
|
54
|
+
}
|
|
55
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import { informationUnitsItems } from "@c-rex/interfaces";
|
|
3
|
+
interface TableViewProps {
|
|
4
|
+
items: informationUnitsItems[];
|
|
5
|
+
}
|
|
6
|
+
declare const TableView: FC<TableViewProps>;
|
|
7
|
+
export default TableView;
|
|
8
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/result-view/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAa,MAAM,OAAO,CAAC;AAStC,OAAO,EAAE,qBAAqB,EAAU,MAAM,mBAAmB,CAAC;AAGlE,UAAU,cAAc;IACpB,KAAK,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA8CjC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
const table_1 = require("@c-rex/ui/table");
|
|
5
|
+
const TableView = ({ items }) => {
|
|
6
|
+
const getTitle = (labels) => {
|
|
7
|
+
return labels.map((item) => item.value).join();
|
|
8
|
+
};
|
|
9
|
+
const getIcons = (languages) => {
|
|
10
|
+
return languages.map((lang, index) => {
|
|
11
|
+
const aux = lang.split("-")[1];
|
|
12
|
+
/*
|
|
13
|
+
const FlagIcon = getFlagIcon(aux);
|
|
14
|
+
|
|
15
|
+
return FlagIcon && (
|
|
16
|
+
<div key={index} style={{ width: 36 }} className="border me-3">
|
|
17
|
+
<FlagIcon />
|
|
18
|
+
</div>
|
|
19
|
+
)
|
|
20
|
+
*/
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: { width: 36 }, className: "border me-3", children: aux }, index));
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "rounded-md border", children: (0, jsx_runtime_1.jsxs)(table_1.Table, { children: [(0, jsx_runtime_1.jsx)(table_1.TableHeader, { children: (0, jsx_runtime_1.jsxs)(table_1.TableRow, { children: [(0, jsx_runtime_1.jsx)(table_1.TableCell, { children: "Title" }), (0, jsx_runtime_1.jsx)(table_1.TableCell, { children: "Country" })] }) }), (0, jsx_runtime_1.jsx)(table_1.TableBody, { children: items.map((item, index) => ((0, jsx_runtime_1.jsxs)(table_1.TableRow, { children: [(0, jsx_runtime_1.jsx)(table_1.TableCell, { children: getTitle(item.labels) }), (0, jsx_runtime_1.jsx)(table_1.TableCell, { children: getIcons(item.languages) })] }, index))) })] }) }));
|
|
25
|
+
};
|
|
26
|
+
exports.default = TableView;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ComponentProps } from "react";
|
|
2
|
+
import { Sidebar } from "@c-rex/ui/sidebar";
|
|
3
|
+
import { TreeOfContent } from "@c-rex/interfaces";
|
|
4
|
+
interface SidebarProps extends ComponentProps<typeof Sidebar> {
|
|
5
|
+
data: TreeOfContent[];
|
|
6
|
+
loading?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function AppSidebar({ data, loading, ...props }: SidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=sidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EACH,OAAO,EAUV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,UAAU,YAAa,SAAQ,cAAc,CAAC,OAAO,OAAO,CAAC;IACzD,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAoDnE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AppSidebar = AppSidebar;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const sidebar_1 = require("@c-rex/ui/sidebar");
|
|
7
|
+
const skeleton_1 = require("@c-rex/ui/skeleton");
|
|
8
|
+
function AppSidebar({ data, loading, ...props }) {
|
|
9
|
+
return ((0, jsx_runtime_1.jsxs)(sidebar_1.Sidebar, { collapsible: "icon", ...props, className: "top-20", children: [(0, jsx_runtime_1.jsx)(sidebar_1.SidebarContent, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarGroup, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenu, { className: "pt-4", children: loading ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "w-auto h-10 mb-2" }), (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "w-auto h-10 mb-2" }), (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "w-auto h-10 mb-2 ml-8" }), (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "w-auto h-10 mb-2 ml-8" }), (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "w-auto h-10 mb-2 ml-8" }), (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "w-auto h-10 mb-2 ml-8" }), (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "w-auto h-10 mb-2" })] })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: data.map((item) => ((0, jsx_runtime_1.jsxs)(sidebar_1.SidebarMenuItem, { children: [(0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuButton, { asChild: true, isActive: item.active, children: (0, jsx_runtime_1.jsx)("a", { href: item.link, title: item.label, children: item.label }) }), item.children?.length ? ((0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuSub, { children: item.children.map((item) => ((0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuSubItem, { children: (0, jsx_runtime_1.jsx)(sidebar_1.SidebarMenuSubButton, { asChild: true, isActive: item.active, children: (0, jsx_runtime_1.jsx)("a", { href: item.link, title: item.label, children: item.label }) }) }, item.label))) })) : null] }, item.id))) })) }) }) }), (0, jsx_runtime_1.jsx)(sidebar_1.SidebarRail, {})] }));
|
|
10
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: Meta;
|
|
3
|
+
export default meta;
|
|
4
|
+
type Story = StoryObj<typeof meta>;
|
|
5
|
+
export declare const Horizontal: Story;
|
|
6
|
+
export declare const WithPriority: Story;
|
|
7
|
+
//# sourceMappingURL=blog-card.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blog-card.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/blog-card.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,QAAA,MAAM,IAAI,EAAE,IAYqB,CAAC;AAElC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAanC,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC"}
|