@burdenoff/microfe-crewfoundry 2026.608.1 → 2026.625.1

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 (131) hide show
  1. package/dist/crewfoundry/pages/AdminAdminPagePage.js +94 -78
  2. package/dist/crewfoundry/pages/AdminAdminPagePage.js.map +1 -1
  3. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js +112 -96
  4. package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js.map +1 -1
  5. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js +101 -85
  6. package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js.map +1 -1
  7. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js +131 -115
  8. package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js.map +1 -1
  9. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js +116 -100
  10. package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js.map +1 -1
  11. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js +15 -15
  12. package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js.map +1 -1
  13. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js +63 -51
  14. package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js.map +1 -1
  15. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js +16 -16
  16. package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js.map +1 -1
  17. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js +26 -26
  18. package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js.map +1 -1
  19. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js +28 -28
  20. package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js.map +1 -1
  21. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js +10 -10
  22. package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js.map +1 -1
  23. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js +71 -59
  24. package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js.map +1 -1
  25. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js +59 -47
  26. package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js.map +1 -1
  27. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js +77 -61
  28. package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js.map +1 -1
  29. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js +40 -40
  30. package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js.map +1 -1
  31. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js +13 -13
  32. package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js.map +1 -1
  33. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js +102 -86
  34. package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js.map +1 -1
  35. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js +173 -139
  36. package/dist/crewfoundry/pages/DashboardDashboardPagePage.js.map +1 -1
  37. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js +59 -59
  38. package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js.map +1 -1
  39. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js +113 -97
  40. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js.map +1 -1
  41. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js +45 -45
  42. package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js.map +1 -1
  43. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js +85 -69
  44. package/dist/crewfoundry/pages/HiringApplicationsPagePage.js.map +1 -1
  45. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js +23 -23
  46. package/dist/crewfoundry/pages/HiringCandidatesPagePage.js.map +1 -1
  47. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js +40 -40
  48. package/dist/crewfoundry/pages/HiringCreateJobPagePage.js.map +1 -1
  49. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js +59 -47
  50. package/dist/crewfoundry/pages/HiringInterviewsPagePage.js.map +1 -1
  51. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js +52 -48
  52. package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js.map +1 -1
  53. package/dist/crewfoundry/pages/HiringJobsPagePage.js +31 -26
  54. package/dist/crewfoundry/pages/HiringJobsPagePage.js.map +1 -1
  55. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js +61 -49
  56. package/dist/crewfoundry/pages/HrDepartmentsPagePage.js.map +1 -1
  57. package/dist/crewfoundry/pages/HrEmployeesPagePage.js +83 -67
  58. package/dist/crewfoundry/pages/HrEmployeesPagePage.js.map +1 -1
  59. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js +90 -74
  60. package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js.map +1 -1
  61. package/dist/crewfoundry/pages/HrPayrollPagePage.js +90 -74
  62. package/dist/crewfoundry/pages/HrPayrollPagePage.js.map +1 -1
  63. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js +83 -67
  64. package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js.map +1 -1
  65. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js +54 -42
  66. package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js.map +1 -1
  67. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js +16 -16
  68. package/dist/crewfoundry/pages/LearningCertificatesPagePage.js.map +1 -1
  69. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js +39 -35
  70. package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js.map +1 -1
  71. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js +24 -24
  72. package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js.map +1 -1
  73. package/dist/crewfoundry/pages/LearningCoursesPagePage.js +14 -14
  74. package/dist/crewfoundry/pages/LearningCoursesPagePage.js.map +1 -1
  75. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js +81 -65
  76. package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js.map +1 -1
  77. package/dist/crewfoundry/pages/LearningLearningPagePage.js +73 -57
  78. package/dist/crewfoundry/pages/LearningLearningPagePage.js.map +1 -1
  79. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js +28 -28
  80. package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js.map +1 -1
  81. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js +12 -12
  82. package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js.map +1 -1
  83. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js +75 -59
  84. package/dist/crewfoundry/pages/LearningMyLearningPagePage.js.map +1 -1
  85. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js +57 -45
  86. package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js.map +1 -1
  87. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js +71 -59
  88. package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js.map +1 -1
  89. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js +48 -48
  90. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js.map +1 -1
  91. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js +44 -43
  92. package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js.map +1 -1
  93. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js +58 -46
  94. package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js.map +1 -1
  95. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js +16 -16
  96. package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js.map +1 -1
  97. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js +23 -23
  98. package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js.map +1 -1
  99. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js +9 -9
  100. package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js.map +1 -1
  101. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js +43 -39
  102. package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js.map +1 -1
  103. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js +31 -27
  104. package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js.map +1 -1
  105. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js +59 -47
  106. package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js.map +1 -1
  107. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js +13 -13
  108. package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js.map +1 -1
  109. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js +66 -50
  110. package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js.map +1 -1
  111. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js +18 -18
  112. package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js.map +1 -1
  113. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js +74 -62
  114. package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js.map +1 -1
  115. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js +21 -21
  116. package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js.map +1 -1
  117. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js +47 -43
  118. package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js.map +1 -1
  119. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js +20 -20
  120. package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js.map +1 -1
  121. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js +58 -46
  122. package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js.map +1 -1
  123. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js +38 -34
  124. package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js.map +1 -1
  125. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js +14 -14
  126. package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js.map +1 -1
  127. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js +67 -67
  128. package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js.map +1 -1
  129. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js +16 -16
  130. package/dist/crewfoundry/pages/TeamsTeamsPagePage.js.map +1 -1
  131. package/package.json +2 -2
@@ -2,10 +2,10 @@ import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
2
2
  import { useMemo as t } from "react";
3
3
  import { Award as n, BarChart3 as r, Building2 as i, Calendar as a, ExternalLink as o, Globe as s, MapPin as c, TrendingUp as l, Users as u } from "lucide-react";
4
4
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
5
- import { Badge as p, Button as m, Card as h, CardContent as g, CardDescription as _, CardHeader as v, CardTitle as y, Separator as b } from "@burdenoff/fe-libs/ui";
5
+ import { Badge as p, Button as m, Card as h, CardContent as g, CardDescription as _, CardHeader as v, CardTitle as y, GradientText as b, Separator as x } from "@burdenoff/fe-libs/ui";
6
6
  //#region src/crewfoundry/pages/CompanyCompanyProfilePagePage.tsx
7
- function x() {
8
- let { employees: x, departments: S, teams: C, projects: w, announcements: T } = e(), E = t(() => {
7
+ function S() {
8
+ let { employees: S, departments: C, teams: w, projects: T, announcements: E } = e(), D = t(() => {
9
9
  let e = [
10
10
  {
11
11
  year: "2020",
@@ -19,33 +19,33 @@ function x() {
19
19
  year: "2022",
20
20
  event: "Expanded hiring and payroll capabilities"
21
21
  }
22
- ], t = T.slice(0, 4).map((e, t) => ({
22
+ ], t = E.slice(0, 4).map((e, t) => ({
23
23
  year: String(2023 + t),
24
24
  event: e.title
25
25
  }));
26
26
  return [...e, ...t];
27
- }, [T]), D = t(() => [
27
+ }, [E]), O = t(() => [
28
28
  {
29
29
  title: "People First",
30
- description: `Supporting ${x.length} employees with modern workforce tooling.`
30
+ description: `Supporting ${S.length} employees with modern workforce tooling.`
31
31
  },
32
32
  {
33
33
  title: "Transparency",
34
- description: `Cross-functional visibility across ${S.length} departments.`
34
+ description: `Cross-functional visibility across ${C.length} departments.`
35
35
  },
36
36
  {
37
37
  title: "Innovation",
38
- description: `${w.filter((e) => e.status === "active").length} active initiatives driving product growth.`
38
+ description: `${T.filter((e) => e.status === "active").length} active initiatives driving product growth.`
39
39
  },
40
40
  {
41
41
  title: "Inclusion",
42
- description: `Distributed teams across ${new Set(x.map((e) => e.location)).size} locations.`
42
+ description: `Distributed teams across ${new Set(S.map((e) => e.location)).size} locations.`
43
43
  }
44
44
  ], [
45
- S.length,
46
- x,
47
- w
48
- ]), O = t(() => Array.from(new Set(x.map((e) => e.location))).slice(0, 8), [x]);
45
+ C.length,
46
+ S,
47
+ T
48
+ ]), k = t(() => Array.from(new Set(S.map((e) => e.location))).slice(0, 8), [S]);
49
49
  return /* @__PURE__ */ f("div", {
50
50
  className: "space-y-6 p-6",
51
51
  children: [
@@ -54,13 +54,13 @@ function x() {
54
54
  children: [/* @__PURE__ */ f("div", {
55
55
  className: "flex items-center gap-4",
56
56
  children: [/* @__PURE__ */ d("div", {
57
- className: "flex h-14 w-14 items-center justify-center rounded-xl bg-primary text-primary-foreground",
57
+ className: "flex h-14 w-14 items-center justify-center rounded-xl bg-action-primary-bg text-action-primary-text",
58
58
  children: /* @__PURE__ */ d(i, { className: "h-7 w-7" })
59
59
  }), /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("h1", {
60
60
  className: "text-2xl font-semibold",
61
- children: "CrewFoundry Inc."
61
+ children: /* @__PURE__ */ d(b, { children: "CrewFoundry Inc." })
62
62
  }), /* @__PURE__ */ d("p", {
63
- className: "text-sm text-muted-foreground",
63
+ className: "text-sm text-text-secondary",
64
64
  children: "Modern workforce management platform"
65
65
  })] })]
66
66
  }), /* @__PURE__ */ f(m, {
@@ -75,31 +75,31 @@ function x() {
75
75
  {
76
76
  icon: u,
77
77
  label: "Employees",
78
- value: `${x.length}+`,
79
- color: "text-blue-500"
78
+ value: `${S.length}+`,
79
+ color: "text-status-info-text"
80
80
  },
81
81
  {
82
82
  icon: i,
83
83
  label: "Departments",
84
- value: S.length.toString(),
85
- color: "text-purple-500"
84
+ value: C.length.toString(),
85
+ color: "text-action-primary-bg"
86
86
  },
87
87
  {
88
88
  icon: r,
89
89
  label: "Active Projects",
90
- value: w.filter((e) => e.status === "active").length.toString(),
91
- color: "text-green-500"
90
+ value: T.filter((e) => e.status === "active").length.toString(),
91
+ color: "text-status-success-text"
92
92
  },
93
93
  {
94
94
  icon: l,
95
95
  label: "Teams",
96
- value: C.length.toString(),
97
- color: "text-orange-500"
96
+ value: w.length.toString(),
97
+ color: "text-status-warning-text"
98
98
  }
99
99
  ].map((e) => /* @__PURE__ */ d(h, { children: /* @__PURE__ */ f(g, {
100
100
  className: "flex items-center gap-3 pt-6",
101
101
  children: [/* @__PURE__ */ d(e.icon, { className: `h-5 w-5 ${e.color}` }), /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
102
- className: "text-xs text-muted-foreground",
102
+ className: "text-xs text-text-secondary",
103
103
  children: e.label
104
104
  }), /* @__PURE__ */ d("p", {
105
105
  className: "text-lg font-bold",
@@ -116,11 +116,11 @@ function x() {
116
116
  className: "text-base",
117
117
  children: "About CrewFoundry"
118
118
  }) }), /* @__PURE__ */ f(g, {
119
- className: "space-y-3 text-sm text-muted-foreground",
119
+ className: "space-y-3 text-sm text-text-secondary",
120
120
  children: [
121
121
  /* @__PURE__ */ d("p", { children: "CrewFoundry is a modern, all-in-one workforce management platform built for growing organizations. Our platform streamlines HR operations, recruitment, payroll processing, and employee development through an intuitive interface powered by AI and automation." }),
122
122
  /* @__PURE__ */ d("p", { children: "Founded in 2020 in San Francisco, we've grown to serve hundreds of companies managing their workforce with our integrated suite of tools spanning hiring, onboarding, time tracking, learning management, and analytics." }),
123
- /* @__PURE__ */ d(b, {}),
123
+ /* @__PURE__ */ d(x, {}),
124
124
  /* @__PURE__ */ f("div", {
125
125
  className: "grid grid-cols-2 gap-3 text-xs",
126
126
  children: [
@@ -149,13 +149,13 @@ function x() {
149
149
  children: "Our Values"
150
150
  }), /* @__PURE__ */ d(_, { children: "The principles that guide how we build and work" })] }), /* @__PURE__ */ d(g, {
151
151
  className: "grid gap-3 sm:grid-cols-2",
152
- children: D.map((e) => /* @__PURE__ */ f("div", {
152
+ children: O.map((e) => /* @__PURE__ */ f("div", {
153
153
  className: "rounded-lg border p-3 space-y-1",
154
154
  children: [/* @__PURE__ */ d("p", {
155
155
  className: "text-sm font-medium",
156
156
  children: e.title
157
157
  }), /* @__PURE__ */ d("p", {
158
- className: "text-xs text-muted-foreground",
158
+ className: "text-xs text-text-secondary",
159
159
  children: e.description
160
160
  })]
161
161
  }, e.title))
@@ -165,18 +165,18 @@ function x() {
165
165
  children: "Departments"
166
166
  }) }), /* @__PURE__ */ d(g, {
167
167
  className: "p-0",
168
- children: S.map((e, t) => /* @__PURE__ */ f("div", {
169
- className: `flex items-center justify-between px-6 py-3 ${t < S.length - 1 ? "border-b" : ""}`,
168
+ children: C.map((e, t) => /* @__PURE__ */ f("div", {
169
+ className: `flex items-center justify-between px-6 py-3 ${t < C.length - 1 ? "border-b" : ""}`,
170
170
  children: [/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
171
171
  className: "text-sm font-medium",
172
172
  children: e.name
173
173
  }), /* @__PURE__ */ f("p", {
174
- className: "text-xs text-muted-foreground",
174
+ className: "text-xs text-text-secondary",
175
175
  children: ["Led by ", e.headName]
176
176
  })] }), /* @__PURE__ */ f("div", {
177
177
  className: "flex items-center gap-3",
178
178
  children: [/* @__PURE__ */ f("span", {
179
- className: "text-xs text-muted-foreground",
179
+ className: "text-xs text-text-secondary",
180
180
  children: [e.employeeCount, " employees"]
181
181
  }), /* @__PURE__ */ d(p, {
182
182
  variant: e.status === "active" ? "default" : "secondary",
@@ -194,21 +194,21 @@ function x() {
194
194
  children: "Company Timeline"
195
195
  }) }), /* @__PURE__ */ d(g, {
196
196
  className: "space-y-0",
197
- children: E.map((e, t) => /* @__PURE__ */ f("div", {
197
+ children: D.map((e, t) => /* @__PURE__ */ f("div", {
198
198
  className: "flex gap-3",
199
199
  children: [/* @__PURE__ */ f("div", {
200
200
  className: "flex flex-col items-center",
201
201
  children: [/* @__PURE__ */ d("div", {
202
- className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground text-[10px] font-medium",
202
+ className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-action-primary-bg text-action-primary-text text-[10px] font-medium",
203
203
  children: e.year.slice(2)
204
- }), t < E.length - 1 && /* @__PURE__ */ d("div", { className: "h-full w-px bg-border my-1" })]
204
+ }), t < D.length - 1 && /* @__PURE__ */ d("div", { className: "h-full w-px bg-border my-1" })]
205
205
  }), /* @__PURE__ */ f("div", {
206
206
  className: "pb-4",
207
207
  children: [/* @__PURE__ */ d("p", {
208
208
  className: "text-xs font-medium",
209
209
  children: e.year
210
210
  }), /* @__PURE__ */ d("p", {
211
- className: "text-xs text-muted-foreground",
211
+ className: "text-xs text-text-secondary",
212
212
  children: e.event
213
213
  })]
214
214
  })]
@@ -218,9 +218,9 @@ function x() {
218
218
  children: "Office Locations"
219
219
  }) }), /* @__PURE__ */ d(g, {
220
220
  className: "space-y-2",
221
- children: O.map((e) => /* @__PURE__ */ f("div", {
221
+ children: k.map((e) => /* @__PURE__ */ f("div", {
222
222
  className: "flex items-center gap-2 text-sm",
223
- children: [/* @__PURE__ */ d(c, { className: "h-3 w-3 text-muted-foreground" }), /* @__PURE__ */ d("span", { children: e })]
223
+ children: [/* @__PURE__ */ d(c, { className: "h-3 w-3 text-text-secondary" }), /* @__PURE__ */ d("span", { children: e })]
224
224
  }, e))
225
225
  })] })]
226
226
  })]
@@ -229,6 +229,6 @@ function x() {
229
229
  });
230
230
  }
231
231
  //#endregion
232
- export { x as CompanyCompanyProfilePagePage };
232
+ export { S as CompanyCompanyProfilePagePage };
233
233
 
234
234
  //# sourceMappingURL=CompanyCompanyProfilePagePage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompanyCompanyProfilePagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CompanyCompanyProfilePagePage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Separator,\n} from '@burdenoff/fe-libs/ui';\nimport {\n Award,\n BarChart3,\n Building2,\n Calendar,\n ExternalLink,\n Globe,\n MapPin,\n TrendingUp,\n Users,\n} from 'lucide-react';\nimport { useMemo } from 'react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function CompanyCompanyProfilePagePage() {\n const { employees, departments, teams, projects, announcements } = useCrewFoundryStore();\n\n const milestones = useMemo(() => {\n const base = [\n { year: '2020', event: 'CrewFoundry founded and team assembled' },\n { year: '2021', event: 'Core workforce modules launched' },\n { year: '2022', event: 'Expanded hiring and payroll capabilities' },\n ];\n const dynamic = announcements.slice(0, 4).map((announcement, index) => ({\n year: String(2023 + index),\n event: announcement.title,\n }));\n return [...base, ...dynamic];\n }, [announcements]);\n\n const values = useMemo(\n () => [\n {\n title: 'People First',\n description: `Supporting ${employees.length} employees with modern workforce tooling.`,\n },\n {\n title: 'Transparency',\n description: `Cross-functional visibility across ${departments.length} departments.`,\n },\n {\n title: 'Innovation',\n description: `${projects.filter((project) => project.status === 'active').length} active initiatives driving product growth.`,\n },\n {\n title: 'Inclusion',\n description: `Distributed teams across ${new Set(employees.map((employee) => employee.location)).size} locations.`,\n },\n ],\n [departments.length, employees, projects]\n );\n\n const officeLocations = useMemo(\n () => Array.from(new Set(employees.map((employee) => employee.location))).slice(0, 8),\n [employees]\n );\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-4\">\n <div className=\"flex h-14 w-14 items-center justify-center rounded-xl bg-primary text-primary-foreground\">\n <Building2 className=\"h-7 w-7\" />\n </div>\n <div>\n <h1 className=\"text-2xl font-semibold\">CrewFoundry Inc.</h1>\n <p className=\"text-sm text-muted-foreground\">Modern workforce management platform</p>\n </div>\n </div>\n <Button variant=\"outline\" size=\"sm\">\n <ExternalLink className=\"h-3 w-3 mr-1\" />\n crewfoundry.com\n </Button>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n {[\n {\n icon: Users,\n label: 'Employees',\n value: `${employees.length}+`,\n color: 'text-blue-500',\n },\n {\n icon: Building2,\n label: 'Departments',\n value: departments.length.toString(),\n color: 'text-purple-500',\n },\n {\n icon: BarChart3,\n label: 'Active Projects',\n value: projects.filter((p) => p.status === 'active').length.toString(),\n color: 'text-green-500',\n },\n {\n icon: TrendingUp,\n label: 'Teams',\n value: teams.length.toString(),\n color: 'text-orange-500',\n },\n ].map((stat) => (\n <Card key={stat.label}>\n <CardContent className=\"flex items-center gap-3 pt-6\">\n <stat.icon className={`h-5 w-5 ${stat.color}`} />\n <div>\n <p className=\"text-xs text-muted-foreground\">{stat.label}</p>\n <p className=\"text-lg font-bold\">{stat.value}</p>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n\n <div className=\"grid gap-6 lg:grid-cols-3\">\n <div className=\"lg:col-span-2 space-y-6\">\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">About CrewFoundry</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3 text-sm text-muted-foreground\">\n <p>\n CrewFoundry is a modern, all-in-one workforce management platform built for growing\n organizations. Our platform streamlines HR operations, recruitment, payroll\n processing, and employee development through an intuitive interface powered by AI\n and automation.\n </p>\n <p>\n Founded in 2020 in San Francisco, we&apos;ve grown to serve hundreds of companies\n managing their workforce with our integrated suite of tools spanning hiring,\n onboarding, time tracking, learning management, and analytics.\n </p>\n <Separator />\n <div className=\"grid grid-cols-2 gap-3 text-xs\">\n <div className=\"flex items-center gap-2\">\n <MapPin className=\"h-3 w-3\" />\n <span>San Francisco, CA (HQ)</span>\n </div>\n <div className=\"flex items-center gap-2\">\n <Globe className=\"h-3 w-3\" />\n <span>6 office locations globally</span>\n </div>\n <div className=\"flex items-center gap-2\">\n <Calendar className=\"h-3 w-3\" />\n <span>Founded 2020</span>\n </div>\n <div className=\"flex items-center gap-2\">\n <Award className=\"h-3 w-3\" />\n <span>Series B funded</span>\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">Our Values</CardTitle>\n <CardDescription>The principles that guide how we build and work</CardDescription>\n </CardHeader>\n <CardContent className=\"grid gap-3 sm:grid-cols-2\">\n {values.map((v) => (\n <div key={v.title} className=\"rounded-lg border p-3 space-y-1\">\n <p className=\"text-sm font-medium\">{v.title}</p>\n <p className=\"text-xs text-muted-foreground\">{v.description}</p>\n </div>\n ))}\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">Departments</CardTitle>\n </CardHeader>\n <CardContent className=\"p-0\">\n {departments.map((dept, i) => (\n <div\n key={dept.id}\n className={`flex items-center justify-between px-6 py-3 ${i < departments.length - 1 ? 'border-b' : ''}`}\n >\n <div>\n <p className=\"text-sm font-medium\">{dept.name}</p>\n <p className=\"text-xs text-muted-foreground\">Led by {dept.headName}</p>\n </div>\n <div className=\"flex items-center gap-3\">\n <span className=\"text-xs text-muted-foreground\">\n {dept.employeeCount} employees\n </span>\n <Badge\n variant={dept.status === 'active' ? 'default' : 'secondary'}\n className=\"text-[10px]\"\n >\n {dept.status}\n </Badge>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n\n <div className=\"space-y-4\">\n <Card>\n <CardHeader>\n <CardTitle className=\"text-sm\">Company Timeline</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-0\">\n {milestones.map((ms, i) => (\n <div key={ms.year} className=\"flex gap-3\">\n <div className=\"flex flex-col items-center\">\n <div className=\"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground text-[10px] font-medium\">\n {ms.year.slice(2)}\n </div>\n {i < milestones.length - 1 && <div className=\"h-full w-px bg-border my-1\" />}\n </div>\n <div className=\"pb-4\">\n <p className=\"text-xs font-medium\">{ms.year}</p>\n <p className=\"text-xs text-muted-foreground\">{ms.event}</p>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"text-sm\">Office Locations</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n {officeLocations.map((loc) => (\n <div key={loc} className=\"flex items-center gap-2 text-sm\">\n <MapPin className=\"h-3 w-3 text-muted-foreground\" />\n <span>{loc}</span>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CompanyCompanyProfilePagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CompanyCompanyProfilePagePage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n GradientText,\n Separator,\n} from '@burdenoff/fe-libs/ui';\nimport {\n Award,\n BarChart3,\n Building2,\n Calendar,\n ExternalLink,\n Globe,\n MapPin,\n TrendingUp,\n Users,\n} from 'lucide-react';\nimport { useMemo } from 'react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function CompanyCompanyProfilePagePage() {\n const { employees, departments, teams, projects, announcements } = useCrewFoundryStore();\n\n const milestones = useMemo(() => {\n const base = [\n { year: '2020', event: 'CrewFoundry founded and team assembled' },\n { year: '2021', event: 'Core workforce modules launched' },\n { year: '2022', event: 'Expanded hiring and payroll capabilities' },\n ];\n const dynamic = announcements.slice(0, 4).map((announcement, index) => ({\n year: String(2023 + index),\n event: announcement.title,\n }));\n return [...base, ...dynamic];\n }, [announcements]);\n\n const values = useMemo(\n () => [\n {\n title: 'People First',\n description: `Supporting ${employees.length} employees with modern workforce tooling.`,\n },\n {\n title: 'Transparency',\n description: `Cross-functional visibility across ${departments.length} departments.`,\n },\n {\n title: 'Innovation',\n description: `${projects.filter((project) => project.status === 'active').length} active initiatives driving product growth.`,\n },\n {\n title: 'Inclusion',\n description: `Distributed teams across ${new Set(employees.map((employee) => employee.location)).size} locations.`,\n },\n ],\n [departments.length, employees, projects]\n );\n\n const officeLocations = useMemo(\n () => Array.from(new Set(employees.map((employee) => employee.location))).slice(0, 8),\n [employees]\n );\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-4\">\n <div className=\"flex h-14 w-14 items-center justify-center rounded-xl bg-action-primary-bg text-action-primary-text\">\n <Building2 className=\"h-7 w-7\" />\n </div>\n <div>\n <h1 className=\"text-2xl font-semibold\">\n <GradientText>CrewFoundry Inc.</GradientText>\n </h1>\n <p className=\"text-sm text-text-secondary\">Modern workforce management platform</p>\n </div>\n </div>\n <Button variant=\"outline\" size=\"sm\">\n <ExternalLink className=\"h-3 w-3 mr-1\" />\n crewfoundry.com\n </Button>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n {[\n {\n icon: Users,\n label: 'Employees',\n value: `${employees.length}+`,\n color: 'text-status-info-text',\n },\n {\n icon: Building2,\n label: 'Departments',\n value: departments.length.toString(),\n color: 'text-action-primary-bg',\n },\n {\n icon: BarChart3,\n label: 'Active Projects',\n value: projects.filter((p) => p.status === 'active').length.toString(),\n color: 'text-status-success-text',\n },\n {\n icon: TrendingUp,\n label: 'Teams',\n value: teams.length.toString(),\n color: 'text-status-warning-text',\n },\n ].map((stat) => (\n <Card key={stat.label}>\n <CardContent className=\"flex items-center gap-3 pt-6\">\n <stat.icon className={`h-5 w-5 ${stat.color}`} />\n <div>\n <p className=\"text-xs text-text-secondary\">{stat.label}</p>\n <p className=\"text-lg font-bold\">{stat.value}</p>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n\n <div className=\"grid gap-6 lg:grid-cols-3\">\n <div className=\"lg:col-span-2 space-y-6\">\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">About CrewFoundry</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3 text-sm text-text-secondary\">\n <p>\n CrewFoundry is a modern, all-in-one workforce management platform built for growing\n organizations. Our platform streamlines HR operations, recruitment, payroll\n processing, and employee development through an intuitive interface powered by AI\n and automation.\n </p>\n <p>\n Founded in 2020 in San Francisco, we&apos;ve grown to serve hundreds of companies\n managing their workforce with our integrated suite of tools spanning hiring,\n onboarding, time tracking, learning management, and analytics.\n </p>\n <Separator />\n <div className=\"grid grid-cols-2 gap-3 text-xs\">\n <div className=\"flex items-center gap-2\">\n <MapPin className=\"h-3 w-3\" />\n <span>San Francisco, CA (HQ)</span>\n </div>\n <div className=\"flex items-center gap-2\">\n <Globe className=\"h-3 w-3\" />\n <span>6 office locations globally</span>\n </div>\n <div className=\"flex items-center gap-2\">\n <Calendar className=\"h-3 w-3\" />\n <span>Founded 2020</span>\n </div>\n <div className=\"flex items-center gap-2\">\n <Award className=\"h-3 w-3\" />\n <span>Series B funded</span>\n </div>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">Our Values</CardTitle>\n <CardDescription>The principles that guide how we build and work</CardDescription>\n </CardHeader>\n <CardContent className=\"grid gap-3 sm:grid-cols-2\">\n {values.map((v) => (\n <div key={v.title} className=\"rounded-lg border p-3 space-y-1\">\n <p className=\"text-sm font-medium\">{v.title}</p>\n <p className=\"text-xs text-text-secondary\">{v.description}</p>\n </div>\n ))}\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">Departments</CardTitle>\n </CardHeader>\n <CardContent className=\"p-0\">\n {departments.map((dept, i) => (\n <div\n key={dept.id}\n className={`flex items-center justify-between px-6 py-3 ${i < departments.length - 1 ? 'border-b' : ''}`}\n >\n <div>\n <p className=\"text-sm font-medium\">{dept.name}</p>\n <p className=\"text-xs text-text-secondary\">Led by {dept.headName}</p>\n </div>\n <div className=\"flex items-center gap-3\">\n <span className=\"text-xs text-text-secondary\">\n {dept.employeeCount} employees\n </span>\n <Badge\n variant={dept.status === 'active' ? 'default' : 'secondary'}\n className=\"text-[10px]\"\n >\n {dept.status}\n </Badge>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n\n <div className=\"space-y-4\">\n <Card>\n <CardHeader>\n <CardTitle className=\"text-sm\">Company Timeline</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-0\">\n {milestones.map((ms, i) => (\n <div key={ms.year} className=\"flex gap-3\">\n <div className=\"flex flex-col items-center\">\n <div className=\"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-action-primary-bg text-action-primary-text text-[10px] font-medium\">\n {ms.year.slice(2)}\n </div>\n {i < milestones.length - 1 && <div className=\"h-full w-px bg-border my-1\" />}\n </div>\n <div className=\"pb-4\">\n <p className=\"text-xs font-medium\">{ms.year}</p>\n <p className=\"text-xs text-text-secondary\">{ms.event}</p>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"text-sm\">Office Locations</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n {officeLocations.map((loc) => (\n <div key={loc} className=\"flex items-center gap-2 text-sm\">\n <MapPin className=\"h-3 w-3 text-text-secondary\" />\n <span>{loc}</span>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;AAyBA,SAAgB,IAAgC;CAC9C,IAAM,EAAE,cAAW,gBAAa,UAAO,aAAU,qBAAkB,GAAqB,EAElF,IAAa,QAAc;EAC/B,IAAM,IAAO;GACX;IAAE,MAAM;IAAQ,OAAO;IAA0C;GACjE;IAAE,MAAM;IAAQ,OAAO;IAAmC;GAC1D;IAAE,MAAM;IAAQ,OAAO;IAA4C;GACpE,EACK,IAAU,EAAc,MAAM,GAAG,EAAE,CAAC,KAAK,GAAc,OAAW;GACtE,MAAM,OAAO,OAAO,EAAM;GAC1B,OAAO,EAAa;GACrB,EAAE;AACH,SAAO,CAAC,GAAG,GAAM,GAAG,EAAQ;IAC3B,CAAC,EAAc,CAAC,EAEb,IAAS,QACP;EACJ;GACE,OAAO;GACP,aAAa,cAAc,EAAU,OAAO;GAC7C;EACD;GACE,OAAO;GACP,aAAa,sCAAsC,EAAY,OAAO;GACvE;EACD;GACE,OAAO;GACP,aAAa,GAAG,EAAS,QAAQ,MAAY,EAAQ,WAAW,SAAS,CAAC,OAAO;GAClF;EACD;GACE,OAAO;GACP,aAAa,4BAA4B,IAAI,IAAI,EAAU,KAAK,MAAa,EAAS,SAAS,CAAC,CAAC,KAAK;GACvG;EACF,EACD;EAAC,EAAY;EAAQ;EAAW;EAAS,CAC1C,EAEK,IAAkB,QAChB,MAAM,KAAK,IAAI,IAAI,EAAU,KAAK,MAAa,EAAS,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,EACrF,CAAC,EAAU,CACZ;AAED,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,OAAD;MAAK,WAAU;gBACb,kBAAC,GAAD,EAAW,WAAU,WAAY,CAAA;MAC7B,CAAA,EACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;MAAI,WAAU;gBACZ,kBAAC,GAAD,EAAA,UAAc,oBAA+B,CAAA;MAC1C,CAAA,EACL,kBAAC,KAAD;MAAG,WAAU;gBAA8B;MAAwC,CAAA,CAC/E,EAAA,CAAA,CACF;QACN,kBAAC,GAAD;KAAQ,SAAQ;KAAU,MAAK;eAA/B,CACE,kBAAC,GAAD,EAAc,WAAU,gBAAiB,CAAA,EAAA,kBAElC;OACL;;GAEN,kBAAC,OAAD;IAAK,WAAU;cACZ;KACC;MACE,MAAM;MACN,OAAO;MACP,OAAO,GAAG,EAAU,OAAO;MAC3B,OAAO;MACR;KACD;MACE,MAAM;MACN,OAAO;MACP,OAAO,EAAY,OAAO,UAAU;MACpC,OAAO;MACR;KACD;MACE,MAAM;MACN,OAAO;MACP,OAAO,EAAS,QAAQ,MAAM,EAAE,WAAW,SAAS,CAAC,OAAO,UAAU;MACtE,OAAO;MACR;KACD;MACE,MAAM;MACN,OAAO;MACP,OAAO,EAAM,OAAO,UAAU;MAC9B,OAAO;MACR;KACF,CAAC,KAAK,MACL,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;KAAa,WAAU;eAAvB,CACE,kBAAC,EAAK,MAAN,EAAW,WAAW,WAAW,EAAK,SAAW,CAAA,EACjD,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;MAAG,WAAU;gBAA+B,EAAK;MAAU,CAAA,EAC3D,kBAAC,KAAD;MAAG,WAAU;gBAAqB,EAAK;MAAU,CAAA,CAC7C,EAAA,CAAA,CACM;QACT,EARI,EAAK,MAQT,CACP;IACE,CAAA;GAEN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;OAAW,WAAU;iBAAY;OAA6B,CAAA,EACnD,CAAA,EACb,kBAAC,GAAD;OAAa,WAAU;iBAAvB;QACE,kBAAC,KAAD,EAAA,UAAG,qQAKC,CAAA;QACJ,kBAAC,KAAD,EAAA,UAAG,4NAIC,CAAA;QACJ,kBAAC,GAAD,EAAa,CAAA;QACb,kBAAC,OAAD;SAAK,WAAU;mBAAf;UACE,kBAAC,OAAD;WAAK,WAAU;qBAAf,CACE,kBAAC,GAAD,EAAQ,WAAU,WAAY,CAAA,EAC9B,kBAAC,QAAD,EAAA,UAAM,0BAA6B,CAAA,CAC/B;;UACN,kBAAC,OAAD;WAAK,WAAU;qBAAf,CACE,kBAAC,GAAD,EAAO,WAAU,WAAY,CAAA,EAC7B,kBAAC,QAAD,EAAA,UAAM,+BAAkC,CAAA,CACpC;;UACN,kBAAC,OAAD;WAAK,WAAU;qBAAf,CACE,kBAAC,GAAD,EAAU,WAAU,WAAY,CAAA,EAChC,kBAAC,QAAD,EAAA,UAAM,gBAAmB,CAAA,CACrB;;UACN,kBAAC,OAAD;WAAK,WAAU;qBAAf,CACE,kBAAC,GAAD,EAAO,WAAU,WAAY,CAAA,EAC7B,kBAAC,QAAD,EAAA,UAAM,mBAAsB,CAAA,CACxB;;UACF;;QACM;SACT,EAAA,CAAA;MAEP,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;OAAW,WAAU;iBAAY;OAAsB,CAAA,EACvD,kBAAC,GAAD,EAAA,UAAiB,mDAAiE,CAAA,CACvE,EAAA,CAAA,EACb,kBAAC,GAAD;OAAa,WAAU;iBACpB,EAAO,KAAK,MACX,kBAAC,OAAD;QAAmB,WAAU;kBAA7B,CACE,kBAAC,KAAD;SAAG,WAAU;mBAAuB,EAAE;SAAU,CAAA,EAChD,kBAAC,KAAD;SAAG,WAAU;mBAA+B,EAAE;SAAgB,CAAA,CAC1D;UAHI,EAAE,MAGN,CACN;OACU,CAAA,CACT,EAAA,CAAA;MAEP,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;OAAW,WAAU;iBAAY;OAAuB,CAAA,EAC7C,CAAA,EACb,kBAAC,GAAD;OAAa,WAAU;iBACpB,EAAY,KAAK,GAAM,MACtB,kBAAC,OAAD;QAEE,WAAW,+CAA+C,IAAI,EAAY,SAAS,IAAI,aAAa;kBAFtG,CAIE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;SAAG,WAAU;mBAAuB,EAAK;SAAS,CAAA,EAClD,kBAAC,KAAD;SAAG,WAAU;mBAAb,CAA2C,WAAQ,EAAK,SAAa;WACjE,EAAA,CAAA,EACN,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,QAAD;UAAM,WAAU;oBAAhB,CACG,EAAK,eAAc,aACf;aACP,kBAAC,GAAD;UACE,SAAS,EAAK,WAAW,WAAW,YAAY;UAChD,WAAU;oBAET,EAAK;UACA,CAAA,CACJ;WACF;UAlBC,EAAK,GAkBN,CACN;OACU,CAAA,CACT,EAAA,CAAA;MACH;QAEN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAW,WAAU;gBAAU;MAA4B,CAAA,EAChD,CAAA,EACb,kBAAC,GAAD;MAAa,WAAU;gBACpB,EAAW,KAAK,GAAI,MACnB,kBAAC,OAAD;OAAmB,WAAU;iBAA7B,CACE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,OAAD;SAAK,WAAU;mBACZ,EAAG,KAAK,MAAM,EAAE;SACb,CAAA,EACL,IAAI,EAAW,SAAS,KAAK,kBAAC,OAAD,EAAK,WAAU,8BAA+B,CAAA,CACxE;WACN,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,KAAD;SAAG,WAAU;mBAAuB,EAAG;SAAS,CAAA,EAChD,kBAAC,KAAD;SAAG,WAAU;mBAA+B,EAAG;SAAU,CAAA,CACrD;UACF;SAXI,EAAG,KAWP,CACN;MACU,CAAA,CACT,EAAA,CAAA,EAEP,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAW,WAAU;gBAAU;MAA4B,CAAA,EAChD,CAAA,EACb,kBAAC,GAAD;MAAa,WAAU;gBACpB,EAAgB,KAAK,MACpB,kBAAC,OAAD;OAAe,WAAU;iBAAzB,CACE,kBAAC,GAAD,EAAQ,WAAU,+BAAgC,CAAA,EAClD,kBAAC,QAAD,EAAA,UAAO,GAAW,CAAA,CACd;SAHI,EAGJ,CACN;MACU,CAAA,CACT,EAAA,CAAA,CACH;OACF;;GACF"}
@@ -1,23 +1,23 @@
1
1
  import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
2
2
  import { Mail as t, Plus as n, Star as r } from "lucide-react";
3
3
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
4
- import { Badge as o, Button as s, Card as c, CardContent as l, CardHeader as u, CardTitle as d } from "@burdenoff/fe-libs/ui";
4
+ import { Badge as o, Button as s, Card as c, CardContent as l, CardHeader as u, CardTitle as d, GradientText as f } from "@burdenoff/fe-libs/ui";
5
5
  //#region src/crewfoundry/pages/CompanyVendorManagementPagePage.tsx
6
- function f() {
7
- let { vendors: f } = e(), p = f.reduce((e, t) => e + t.contractValue, 0);
6
+ function p() {
7
+ let { vendors: p } = e(), m = p.reduce((e, t) => e + t.contractValue, 0);
8
8
  return /* @__PURE__ */ a("div", {
9
9
  className: "space-y-6 p-6",
10
10
  children: [/* @__PURE__ */ a("div", {
11
11
  className: "flex items-center justify-between",
12
12
  children: [/* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("h1", {
13
13
  className: "text-2xl font-semibold",
14
- children: "Vendor Management"
14
+ children: /* @__PURE__ */ i(f, { children: "Vendor Management" })
15
15
  }), /* @__PURE__ */ a("p", {
16
- className: "text-sm text-muted-foreground",
16
+ className: "text-sm text-text-secondary",
17
17
  children: [
18
- f.length,
18
+ p.length,
19
19
  " vendors · $",
20
- (p / 1e3).toFixed(0),
20
+ (m / 1e3).toFixed(0),
21
21
  "K total contract value"
22
22
  ]
23
23
  })] }), /* @__PURE__ */ a(s, {
@@ -26,7 +26,7 @@ function f() {
26
26
  })]
27
27
  }), /* @__PURE__ */ i("div", {
28
28
  className: "grid gap-4 md:grid-cols-2 lg:grid-cols-3",
29
- children: f.map((e) => /* @__PURE__ */ a(c, { children: [/* @__PURE__ */ i(u, { children: /* @__PURE__ */ a("div", {
29
+ children: p.map((e) => /* @__PURE__ */ a(c, { children: [/* @__PURE__ */ i(u, { children: /* @__PURE__ */ a("div", {
30
30
  className: "flex items-center justify-between",
31
31
  children: [/* @__PURE__ */ i(d, {
32
32
  className: "text-base",
@@ -47,13 +47,13 @@ function f() {
47
47
  /* @__PURE__ */ a("div", {
48
48
  className: "grid grid-cols-2 gap-2 mt-2",
49
49
  children: [/* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("p", {
50
- className: "text-xs text-muted-foreground",
50
+ className: "text-xs text-text-secondary",
51
51
  children: "Contact"
52
52
  }), /* @__PURE__ */ i("p", {
53
53
  className: "text-sm",
54
54
  children: e.contactPerson
55
55
  })] }), /* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("p", {
56
- className: "text-xs text-muted-foreground",
56
+ className: "text-xs text-text-secondary",
57
57
  children: "Contract Value"
58
58
  }), /* @__PURE__ */ a("p", {
59
59
  className: "text-sm font-medium",
@@ -63,11 +63,11 @@ function f() {
63
63
  /* @__PURE__ */ a("div", {
64
64
  className: "flex items-center justify-between pt-2 border-t mt-2",
65
65
  children: [/* @__PURE__ */ a("div", {
66
- className: "flex items-center gap-1 text-xs text-muted-foreground",
66
+ className: "flex items-center gap-1 text-xs text-text-secondary",
67
67
  children: [/* @__PURE__ */ i(t, { className: "h-3 w-3" }), e.email]
68
68
  }), /* @__PURE__ */ a("div", {
69
69
  className: "flex items-center gap-1",
70
- children: [/* @__PURE__ */ i(r, { className: "h-3 w-3 text-yellow-500" }), /* @__PURE__ */ i("span", {
70
+ children: [/* @__PURE__ */ i(r, { className: "h-3 w-3 text-status-warning-text" }), /* @__PURE__ */ i("span", {
71
71
  className: "text-sm",
72
72
  children: e.rating
73
73
  })]
@@ -79,6 +79,6 @@ function f() {
79
79
  });
80
80
  }
81
81
  //#endregion
82
- export { f as CompanyVendorManagementPagePage };
82
+ export { p as CompanyVendorManagementPagePage };
83
83
 
84
84
  //# sourceMappingURL=CompanyVendorManagementPagePage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompanyVendorManagementPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CompanyVendorManagementPagePage.tsx"],"sourcesContent":["import { Badge, Button, Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { DollarSign, Mail, Phone, Plus, Star } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function CompanyVendorManagementPagePage() {\n const { vendors } = useCrewFoundryStore();\n const totalContractValue = vendors.reduce((s, v) => s + v.contractValue, 0);\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Vendor Management</h1>\n <p className=\"text-sm text-muted-foreground\">\n {vendors.length} vendors · ${(totalContractValue / 1000).toFixed(0)}K total contract\n value\n </p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"h-4 w-4 mr-1\" />\n Add Vendor\n </Button>\n </div>\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-3\">\n {vendors.map((vendor) => (\n <Card key={vendor.id}>\n <CardHeader>\n <div className=\"flex items-center justify-between\">\n <CardTitle className=\"text-base\">{vendor.name}</CardTitle>\n <Badge\n variant={vendor.status === 'active' ? 'default' : 'secondary'}\n className=\"text-[10px]\"\n >\n {vendor.status}\n </Badge>\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-2\">\n <Badge variant=\"outline\" className=\"text-[10px]\">\n {vendor.category}\n </Badge>\n <div className=\"grid grid-cols-2 gap-2 mt-2\">\n <div>\n <p className=\"text-xs text-muted-foreground\">Contact</p>\n <p className=\"text-sm\">{vendor.contactPerson}</p>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground\">Contract Value</p>\n <p className=\"text-sm font-medium\">${vendor.contractValue.toLocaleString()}</p>\n </div>\n </div>\n <div className=\"flex items-center justify-between pt-2 border-t mt-2\">\n <div className=\"flex items-center gap-1 text-xs text-muted-foreground\">\n <Mail className=\"h-3 w-3\" />\n {vendor.email}\n </div>\n <div className=\"flex items-center gap-1\">\n <Star className=\"h-3 w-3 text-yellow-500\" />\n <span className=\"text-sm\">{vendor.rating}</span>\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;AAIA,SAAgB,IAAkC;CAChD,IAAM,EAAE,eAAY,GAAqB,EACnC,IAAqB,EAAQ,QAAQ,GAAG,MAAM,IAAI,EAAE,eAAe,EAAE;AAE3E,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;IAAI,WAAU;cAAyB;IAAsB,CAAA,EAC7D,kBAAC,KAAD;IAAG,WAAU;cAAb;KACG,EAAQ;KAAO;MAAc,IAAqB,KAAM,QAAQ,EAAE;KAAC;KAElE;MACA,EAAA,CAAA,EACN,kBAAC,GAAD;IAAQ,MAAK;cAAb,CACE,kBAAC,GAAD,EAAM,WAAU,gBAAiB,CAAA,EAAA,aAE1B;MACL;MACN,kBAAC,OAAD;GAAK,WAAU;aACZ,EAAQ,KAAK,MACZ,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD;KAAW,WAAU;eAAa,EAAO;KAAiB,CAAA,EAC1D,kBAAC,GAAD;KACE,SAAS,EAAO,WAAW,WAAW,YAAY;KAClD,WAAU;eAET,EAAO;KACF,CAAA,CACJ;OACK,CAAA,EACb,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,GAAD;MAAO,SAAQ;MAAU,WAAU;gBAChC,EAAO;MACF,CAAA;KACR,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAgC;OAAW,CAAA,EACxD,kBAAC,KAAD;OAAG,WAAU;iBAAW,EAAO;OAAkB,CAAA,CAC7C,EAAA,CAAA,EACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAgC;OAAkB,CAAA,EAC/D,kBAAC,KAAD;OAAG,WAAU;iBAAb,CAAmC,KAAE,EAAO,cAAc,gBAAgB,CAAK;SAC3E,EAAA,CAAA,CACF;;KACN,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA,EAC3B,EAAO,MACJ;UACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAM,WAAU,2BAA4B,CAAA,EAC5C,kBAAC,QAAD;QAAM,WAAU;kBAAW,EAAO;QAAc,CAAA,CAC5C;SACF;;KACF;OACM,CAAA,CACT,EAAA,EAvCI,EAAO,GAuCX,CACP;GACE,CAAA,CACF"}
1
+ {"version":3,"file":"CompanyVendorManagementPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/CompanyVendorManagementPagePage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n GradientText,\n} from '@burdenoff/fe-libs/ui';\nimport { DollarSign, Mail, Phone, Plus, Star } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function CompanyVendorManagementPagePage() {\n const { vendors } = useCrewFoundryStore();\n const totalContractValue = vendors.reduce((s, v) => s + v.contractValue, 0);\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">\n <GradientText>Vendor Management</GradientText>\n </h1>\n <p className=\"text-sm text-text-secondary\">\n {vendors.length} vendors · ${(totalContractValue / 1000).toFixed(0)}K total contract\n value\n </p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"h-4 w-4 mr-1\" />\n Add Vendor\n </Button>\n </div>\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-3\">\n {vendors.map((vendor) => (\n <Card key={vendor.id}>\n <CardHeader>\n <div className=\"flex items-center justify-between\">\n <CardTitle className=\"text-base\">{vendor.name}</CardTitle>\n <Badge\n variant={vendor.status === 'active' ? 'default' : 'secondary'}\n className=\"text-[10px]\"\n >\n {vendor.status}\n </Badge>\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-2\">\n <Badge variant=\"outline\" className=\"text-[10px]\">\n {vendor.category}\n </Badge>\n <div className=\"grid grid-cols-2 gap-2 mt-2\">\n <div>\n <p className=\"text-xs text-text-secondary\">Contact</p>\n <p className=\"text-sm\">{vendor.contactPerson}</p>\n </div>\n <div>\n <p className=\"text-xs text-text-secondary\">Contract Value</p>\n <p className=\"text-sm font-medium\">${vendor.contractValue.toLocaleString()}</p>\n </div>\n </div>\n <div className=\"flex items-center justify-between pt-2 border-t mt-2\">\n <div className=\"flex items-center gap-1 text-xs text-text-secondary\">\n <Mail className=\"h-3 w-3\" />\n {vendor.email}\n </div>\n <div className=\"flex items-center gap-1\">\n <Star className=\"h-3 w-3 text-status-warning-text\" />\n <span className=\"text-sm\">{vendor.rating}</span>\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;AAYA,SAAgB,IAAkC;CAChD,IAAM,EAAE,eAAY,GAAqB,EACnC,IAAqB,EAAQ,QAAQ,GAAG,MAAM,IAAI,EAAE,eAAe,EAAE;AAE3E,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;IAAI,WAAU;cACZ,kBAAC,GAAD,EAAA,UAAc,qBAAgC,CAAA;IAC3C,CAAA,EACL,kBAAC,KAAD;IAAG,WAAU;cAAb;KACG,EAAQ;KAAO;MAAc,IAAqB,KAAM,QAAQ,EAAE;KAAC;KAElE;MACA,EAAA,CAAA,EACN,kBAAC,GAAD;IAAQ,MAAK;cAAb,CACE,kBAAC,GAAD,EAAM,WAAU,gBAAiB,CAAA,EAAA,aAE1B;MACL;MACN,kBAAC,OAAD;GAAK,WAAU;aACZ,EAAQ,KAAK,MACZ,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD;KAAW,WAAU;eAAa,EAAO;KAAiB,CAAA,EAC1D,kBAAC,GAAD;KACE,SAAS,EAAO,WAAW,WAAW,YAAY;KAClD,WAAU;eAET,EAAO;KACF,CAAA,CACJ;OACK,CAAA,EACb,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,GAAD;MAAO,SAAQ;MAAU,WAAU;gBAChC,EAAO;MACF,CAAA;KACR,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;OAAG,WAAU;iBAA8B;OAAW,CAAA,EACtD,kBAAC,KAAD;OAAG,WAAU;iBAAW,EAAO;OAAkB,CAAA,CAC7C,EAAA,CAAA,EACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;OAAG,WAAU;iBAA8B;OAAkB,CAAA,EAC7D,kBAAC,KAAD;OAAG,WAAU;iBAAb,CAAmC,KAAE,EAAO,cAAc,gBAAgB,CAAK;SAC3E,EAAA,CAAA,CACF;;KACN,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA,EAC3B,EAAO,MACJ;UACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAM,WAAU,oCAAqC,CAAA,EACrD,kBAAC,QAAD;QAAM,WAAU;kBAAW,EAAO;QAAc,CAAA,CAC5C;SACF;;KACF;OACM,CAAA,CACT,EAAA,EAvCI,EAAO,GAuCX,CACP;GACE,CAAA,CACF"}