@contact_incruiter/fcc 1.0.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.
Files changed (81) hide show
  1. package/dist/components/common/PageHeader.d.ts +10 -0
  2. package/dist/components/common/ProductIcon.d.ts +9 -0
  3. package/dist/components/common/SearchBar.d.ts +8 -0
  4. package/dist/components/common/StatusBadge.d.ts +9 -0
  5. package/dist/components/common/index.d.ts +4 -0
  6. package/dist/components/dashboard/AIBanner.d.ts +8 -0
  7. package/dist/components/dashboard/QuickActionCard.d.ts +11 -0
  8. package/dist/components/dashboard/SubscriptionCard.d.ts +6 -0
  9. package/dist/components/dashboard/WelcomeBanner.d.ts +6 -0
  10. package/dist/components/dashboard/index.d.ts +4 -0
  11. package/dist/components/index.d.ts +19 -0
  12. package/dist/components/layout/AppShell.d.ts +22 -0
  13. package/dist/components/layout/Sidebar.d.ts +23 -0
  14. package/dist/components/layout/TopBar.d.ts +11 -0
  15. package/dist/components/layout/index.d.ts +3 -0
  16. package/dist/components/types.d.ts +60 -0
  17. package/dist/components/ui/accordion.d.ts +7 -0
  18. package/dist/components/ui/alert-dialog.d.ts +20 -0
  19. package/dist/components/ui/alert.d.ts +8 -0
  20. package/dist/components/ui/aspect-ratio.d.ts +3 -0
  21. package/dist/components/ui/avatar.d.ts +6 -0
  22. package/dist/components/ui/badge.d.ts +9 -0
  23. package/dist/components/ui/breadcrumb.d.ts +19 -0
  24. package/dist/components/ui/button.d.ts +11 -0
  25. package/dist/components/ui/calendar.d.ts +8 -0
  26. package/dist/components/ui/card.d.ts +8 -0
  27. package/dist/components/ui/carousel.d.ts +18 -0
  28. package/dist/components/ui/chart.d.ts +62 -0
  29. package/dist/components/ui/checkbox.d.ts +4 -0
  30. package/dist/components/ui/collapsible.d.ts +5 -0
  31. package/dist/components/ui/command.d.ts +80 -0
  32. package/dist/components/ui/context-menu.d.ts +27 -0
  33. package/dist/components/ui/dialog.d.ts +19 -0
  34. package/dist/components/ui/drawer.d.ts +22 -0
  35. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  36. package/dist/components/ui/form.d.ts +23 -0
  37. package/dist/components/ui/hover-card.d.ts +6 -0
  38. package/dist/components/ui/input-otp.d.ts +34 -0
  39. package/dist/components/ui/input.d.ts +3 -0
  40. package/dist/components/ui/label.d.ts +5 -0
  41. package/dist/components/ui/menubar.d.ts +28 -0
  42. package/dist/components/ui/navigation-menu.d.ts +12 -0
  43. package/dist/components/ui/pagination.d.ts +28 -0
  44. package/dist/components/ui/popover.d.ts +7 -0
  45. package/dist/components/ui/progress.d.ts +4 -0
  46. package/dist/components/ui/radio-group.d.ts +5 -0
  47. package/dist/components/ui/resizable.d.ts +7 -0
  48. package/dist/components/ui/scroll-area.d.ts +5 -0
  49. package/dist/components/ui/select.d.ts +13 -0
  50. package/dist/components/ui/separator.d.ts +4 -0
  51. package/dist/components/ui/sheet.d.ts +25 -0
  52. package/dist/components/ui/sidebar.d.ts +65 -0
  53. package/dist/components/ui/skeleton.d.ts +2 -0
  54. package/dist/components/ui/slider.d.ts +4 -0
  55. package/dist/components/ui/sonner.d.ts +4 -0
  56. package/dist/components/ui/switch.d.ts +4 -0
  57. package/dist/components/ui/table.d.ts +10 -0
  58. package/dist/components/ui/tabs.d.ts +7 -0
  59. package/dist/components/ui/textarea.d.ts +3 -0
  60. package/dist/components/ui/toggle-group.d.ts +12 -0
  61. package/dist/components/ui/toggle.d.ts +12 -0
  62. package/dist/components/ui/tooltip.d.ts +7 -0
  63. package/dist/components/workflow/AddStepButton.d.ts +6 -0
  64. package/dist/components/workflow/ConditionalBranch.d.ts +8 -0
  65. package/dist/components/workflow/PipelineNode.d.ts +16 -0
  66. package/dist/components/workflow/ProductDragPanel.d.ts +8 -0
  67. package/dist/components/workflow/WorkflowDesigner.d.ts +11 -0
  68. package/dist/components/workflow/WorkflowListItem.d.ts +7 -0
  69. package/dist/components/workflow/WorkflowTemplateCard.d.ts +11 -0
  70. package/dist/components/workflow/index.d.ts +7 -0
  71. package/dist/favicon.ico +0 -0
  72. package/dist/hooks/use-mobile.d.ts +1 -0
  73. package/dist/index.cjs +2 -0
  74. package/dist/index.cjs.map +1 -0
  75. package/dist/index.d.ts +3 -0
  76. package/dist/index.js +4888 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/lib/utils.d.ts +2 -0
  79. package/dist/shared/InCruiterSidebar.d.ts +48 -0
  80. package/dist/shared/InCruiterTopBar.d.ts +24 -0
  81. package/package.json +112 -0
@@ -0,0 +1,2 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1,48 @@
1
+ import React, { type ReactNode } from 'react';
2
+ export type IconComponent = React.ComponentType<{
3
+ size?: number;
4
+ style?: React.CSSProperties;
5
+ className?: string;
6
+ }>;
7
+ export interface SidebarNavItemConfig {
8
+ label: string;
9
+ Icon: IconComponent;
10
+ /** Internal navigation href — calls onNavigate(href) */
11
+ href?: string;
12
+ /** External link — opens in new tab */
13
+ link?: string;
14
+ badge?: number;
15
+ /** Shows a chevron and uses expandedContent as a collapsible panel */
16
+ hasChevron?: boolean;
17
+ expandedContent?: ReactNode;
18
+ onClick?: () => void;
19
+ }
20
+ export interface SidebarProfileItemConfig {
21
+ label: string;
22
+ Icon: IconComponent;
23
+ href?: string;
24
+ link?: string;
25
+ onClick?: () => void;
26
+ }
27
+ export interface InCruiterSidebarUser {
28
+ name?: string;
29
+ role?: string;
30
+ avatarUrl?: string;
31
+ }
32
+ export interface InCruiterSidebarProps {
33
+ logoSrc?: string;
34
+ user?: InCruiterSidebarUser;
35
+ /** Main nav items. Defaults to empty — pass your own. */
36
+ navItems?: SidebarNavItemConfig[];
37
+ /** Bottom "other" nav items (e.g. Support, Logout). Defaults to empty. */
38
+ otherItems?: SidebarNavItemConfig[];
39
+ /** Profile dropdown items. Defaults to My Profile + Accounts & Billing. */
40
+ profileItems?: SidebarProfileItemConfig[];
41
+ activeHref?: string;
42
+ onNavigate?: (href: string) => void;
43
+ /** Controlled collapse — pass alongside onToggleCollapse to host collapse state */
44
+ collapsed?: boolean;
45
+ onToggleCollapse?: (collapsed: boolean) => void;
46
+ children?: ReactNode;
47
+ }
48
+ export declare function InCruiterSidebar({ logoSrc, user, navItems, otherItems, profileItems, activeHref, onNavigate, collapsed: collapsedProp, onToggleCollapse, children, }: InCruiterSidebarProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { type ReactNode, type Ref } from 'react';
2
+ export interface TopBarNavLink {
3
+ label: string;
4
+ active?: boolean;
5
+ onClick?: () => void;
6
+ }
7
+ export interface InCruiterTopBarProps {
8
+ /** Page title shown on the left when there are no navLinks */
9
+ title?: string;
10
+ /** Shows a blue dot badge when > 0 */
11
+ notificationCount?: number;
12
+ onBellClick?: () => void;
13
+ /** Ref for outside-click detection on the bell button wrapper */
14
+ bellRef?: Ref<HTMLDivElement>;
15
+ /** Dropdown node rendered below the bell */
16
+ notificationDropdown?: ReactNode;
17
+ /** ReactNode rendered on the left side (e.g. a quick-create button) */
18
+ leftButton?: ReactNode;
19
+ /** Tab-style links rendered in the centre-right area */
20
+ navLinks?: TopBarNavLink[];
21
+ /** ReactNode rendered just before navLinks (e.g. a "What's New" button) */
22
+ rightExtra?: ReactNode;
23
+ }
24
+ export declare function InCruiterTopBar({ title, notificationCount, onBellClick, bellRef, notificationDropdown, leftButton, navLinks, rightExtra, }: InCruiterTopBarProps): import("react/jsx-runtime").JSX.Element;
package/package.json ADDED
@@ -0,0 +1,112 @@
1
+ {
2
+ "name": "@contact_incruiter/fcc",
3
+ "version": "1.0.0",
4
+ "description": "InCruiter Front-end Component Collection — reusable React components for InCruiter products",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ },
15
+ "./dist/index.css": "./dist/index.css"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "publishConfig": {
21
+ "access": "restricted"
22
+ },
23
+ "scripts": {
24
+ "dev": "vite",
25
+ "build": "vite build && tsc -p tsconfig.lib.json",
26
+ "build:lib": "vite build",
27
+ "build:types": "tsc -p tsconfig.lib.json",
28
+ "preview": "vite preview",
29
+ "lint": "eslint .",
30
+ "lint:fix": "eslint . --fix",
31
+ "format": "prettier --write .",
32
+ "type-check": "tsc --noEmit",
33
+ "prepublishOnly": "npm run build"
34
+ },
35
+ "peerDependencies": {
36
+ "lucide-react": ">=0.400.0",
37
+ "react": ">=18.0.0",
38
+ "react-dom": ">=18.0.0"
39
+ },
40
+ "dependencies": {
41
+ "@fontsource/inter": "^5.2.8",
42
+ "@fontsource/plus-jakarta-sans": "^5.2.8",
43
+ "@hookform/resolvers": "^5.2.2",
44
+ "@radix-ui/react-accordion": "^1.2.12",
45
+ "@radix-ui/react-alert-dialog": "^1.1.15",
46
+ "@radix-ui/react-aspect-ratio": "^1.1.8",
47
+ "@radix-ui/react-avatar": "^1.1.11",
48
+ "@radix-ui/react-checkbox": "^1.3.3",
49
+ "@radix-ui/react-collapsible": "^1.1.12",
50
+ "@radix-ui/react-context-menu": "^2.2.16",
51
+ "@radix-ui/react-dialog": "^1.1.15",
52
+ "@radix-ui/react-dropdown-menu": "^2.1.16",
53
+ "@radix-ui/react-hover-card": "^1.1.15",
54
+ "@radix-ui/react-label": "^2.1.8",
55
+ "@radix-ui/react-menubar": "^1.1.16",
56
+ "@radix-ui/react-navigation-menu": "^1.2.14",
57
+ "@radix-ui/react-popover": "^1.1.15",
58
+ "@radix-ui/react-progress": "^1.1.8",
59
+ "@radix-ui/react-radio-group": "^1.3.8",
60
+ "@radix-ui/react-scroll-area": "^1.2.10",
61
+ "@radix-ui/react-select": "^2.2.6",
62
+ "@radix-ui/react-separator": "^1.1.8",
63
+ "@radix-ui/react-slider": "^1.3.6",
64
+ "@radix-ui/react-slot": "^1.2.4",
65
+ "@radix-ui/react-switch": "^1.2.6",
66
+ "@radix-ui/react-tabs": "^1.1.13",
67
+ "@radix-ui/react-toggle": "^1.1.10",
68
+ "@radix-ui/react-toggle-group": "^1.1.11",
69
+ "@radix-ui/react-tooltip": "^1.2.8",
70
+ "@tanstack/react-query": "^5.100.14",
71
+ "class-variance-authority": "^0.7.1",
72
+ "clsx": "^2.1.1",
73
+ "cmdk": "^1.1.1",
74
+ "date-fns": "^4.1.0",
75
+ "embla-carousel-react": "^8.6.0",
76
+ "framer-motion": "^12.38.0",
77
+ "input-otp": "^1.4.2",
78
+ "lucide-react": "^0.575.0",
79
+ "react": "^19.2.0",
80
+ "react-day-picker": "^9.14.0",
81
+ "react-dom": "^19.2.0",
82
+ "react-hook-form": "^7.71.2",
83
+ "react-resizable-panels": "^4.6.5",
84
+ "recharts": "^2.15.4",
85
+ "sonner": "^2.0.7",
86
+ "tailwind-merge": "^3.5.0",
87
+ "tailwindcss": "^4.2.1",
88
+ "tw-animate-css": "^1.3.4",
89
+ "vaul": "^1.1.2",
90
+ "zod": "^3.23.8"
91
+ },
92
+ "devDependencies": {
93
+ "@eslint/js": "^9.32.0",
94
+ "@tailwindcss/vite": "^4.2.1",
95
+ "@types/node": "^22.16.5",
96
+ "@types/react": "^19.2.0",
97
+ "@types/react-dom": "^19.2.0",
98
+ "@vitejs/plugin-react": "^5.0.4",
99
+ "eslint": "^9.32.0",
100
+ "eslint-config-prettier": "^10.1.1",
101
+ "eslint-plugin-prettier": "^5.2.6",
102
+ "eslint-plugin-react-hooks": "^5.2.0",
103
+ "eslint-plugin-react-refresh": "^0.4.20",
104
+ "eslint-plugin-security": "^3.0.1",
105
+ "globals": "^15.15.0",
106
+ "prettier": "^3.7.3",
107
+ "typescript": "^5.8.3",
108
+ "typescript-eslint": "^8.56.1",
109
+ "vite": "^7.3.1",
110
+ "vite-tsconfig-paths": "^6.0.2"
111
+ }
112
+ }