@burdenoff/microfe-organization 2026.525.2 → 2026.527.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 (180) hide show
  1. package/dist/organization-management/AdminOrganizationRoutes.js +1 -1
  2. package/dist/organization-management/AdminOrganizationRoutes.js.map +1 -1
  3. package/dist/organization-management/UserOrganizationRoutes.js +1 -1
  4. package/dist/organization-management/UserOrganizationRoutes.js.map +1 -1
  5. package/dist/organization-management/modules/members/components/MyInviteCard.js +2 -0
  6. package/dist/organization-management/modules/members/components/MyInviteCard.js.map +1 -1
  7. package/dist/organization-management/modules/members/components/PendingInvitesList.js +2 -0
  8. package/dist/organization-management/modules/members/components/PendingInvitesList.js.map +1 -1
  9. package/dist/organization-management/modules/members/pages/InviteMemberPage.js +1 -0
  10. package/dist/organization-management/modules/members/pages/InviteMemberPage.js.map +1 -1
  11. package/dist/organization-management/modules/members/pages/MemberDetailPage.js +2 -1
  12. package/dist/organization-management/modules/members/pages/MemberDetailPage.js.map +1 -1
  13. package/dist/organization-management/modules/members/pages/MembersListPage.js +10 -2
  14. package/dist/organization-management/modules/members/pages/MembersListPage.js.map +1 -1
  15. package/dist/organization-management/modules/organizations/pages/OrganizationCreatePage.js +1 -0
  16. package/dist/organization-management/modules/organizations/pages/OrganizationCreatePage.js.map +1 -1
  17. package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.js +6 -1
  18. package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.js.map +1 -1
  19. package/dist/organization-management/modules/organizations/pages/OrganizationEditPage.js +1 -0
  20. package/dist/organization-management/modules/organizations/pages/OrganizationEditPage.js.map +1 -1
  21. package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.js +15 -4
  22. package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.js.map +1 -1
  23. package/dist/organization-management/modules/workspaces/components/WorkspaceCard.js +1 -1
  24. package/dist/organization-management/modules/workspaces/components/WorkspaceCard.js.map +1 -1
  25. package/dist/organization-management/modules/workspaces/components/WorkspaceForm.js +2 -2
  26. package/dist/organization-management/modules/workspaces/components/WorkspaceForm.js.map +1 -1
  27. package/dist/organization-management/modules/workspaces/hooks/useWorkspaceMembers.js.map +1 -1
  28. package/dist/organization-management/modules/workspaces/hooks/useWorkspaces.js.map +1 -1
  29. package/dist/organization-management/modules/workspaces/pages/WorkspaceCreatePage.js +1 -0
  30. package/dist/organization-management/modules/workspaces/pages/WorkspaceCreatePage.js.map +1 -1
  31. package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.js +8 -1
  32. package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.js.map +1 -1
  33. package/dist/organization-management/modules/workspaces/pages/WorkspaceEditPage.js +1 -0
  34. package/dist/organization-management/modules/workspaces/pages/WorkspaceEditPage.js.map +1 -1
  35. package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.js +10 -0
  36. package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.js.map +1 -1
  37. package/dist/organization-management/providers/OrgConsoleProvider.js +1 -1
  38. package/dist/organization-management/providers/OrgConsoleProvider.js.map +1 -1
  39. package/dist/organization-management/shared/components/dialog/ConfirmDialog.js +25 -86
  40. package/dist/organization-management/shared/components/dialog/ConfirmDialog.js.map +1 -1
  41. package/dist/organization-management/shared/components/dialog/ConfirmDialogView.js +69 -0
  42. package/dist/organization-management/shared/components/dialog/ConfirmDialogView.js.map +1 -0
  43. package/dist/organization-management/shared/components/feedback/EmptyState.js +1 -0
  44. package/dist/organization-management/shared/components/feedback/EmptyState.js.map +1 -1
  45. package/dist/organization-management/shared/components/feedback/ErrorState.js +2 -1
  46. package/dist/organization-management/shared/components/feedback/ErrorState.js.map +1 -1
  47. package/dist/organization-management/shared/components/feedback/LoadingState.js +1 -2
  48. package/dist/organization-management/shared/components/feedback/LoadingState.js.map +1 -1
  49. package/dist/organization-management/shared/components/input/SearchInput.js +1 -0
  50. package/dist/organization-management/shared/components/input/SearchInput.js.map +1 -1
  51. package/dist/organization-management/shared/components/input/SelectionCheckbox.js +1 -1
  52. package/dist/organization-management/shared/components/input/SelectionCheckbox.js.map +1 -1
  53. package/dist/organization-management/shared/types/graphql.js.map +1 -1
  54. package/package.json +1 -1
  55. package/dist/generated/global-operations.d.ts +0 -1738
  56. package/dist/generated/global-operations.d.ts.map +0 -1
  57. package/dist/generated/global-types.d.ts +0 -23527
  58. package/dist/generated/global-types.d.ts.map +0 -1
  59. package/dist/generated/wspace-operations.d.ts +0 -2
  60. package/dist/generated/wspace-operations.d.ts.map +0 -1
  61. package/dist/generated/wspace-types.d.ts +0 -57851
  62. package/dist/generated/wspace-types.d.ts.map +0 -1
  63. package/dist/index.d.ts +0 -56
  64. package/dist/index.d.ts.map +0 -1
  65. package/dist/organization-management/AdminOrganizationRoot.d.ts +0 -16
  66. package/dist/organization-management/AdminOrganizationRoot.d.ts.map +0 -1
  67. package/dist/organization-management/AdminOrganizationRoutes.d.ts +0 -16
  68. package/dist/organization-management/AdminOrganizationRoutes.d.ts.map +0 -1
  69. package/dist/organization-management/UserOrganizationRoot.d.ts +0 -24
  70. package/dist/organization-management/UserOrganizationRoot.d.ts.map +0 -1
  71. package/dist/organization-management/UserOrganizationRoutes.d.ts +0 -34
  72. package/dist/organization-management/UserOrganizationRoutes.d.ts.map +0 -1
  73. package/dist/organization-management/constants/permissions.d.ts +0 -30
  74. package/dist/organization-management/constants/permissions.d.ts.map +0 -1
  75. package/dist/organization-management/hooks/useOrganizationEventEmitter.d.ts +0 -19
  76. package/dist/organization-management/hooks/useOrganizationEventEmitter.d.ts.map +0 -1
  77. package/dist/organization-management/hooks/useOrganizationPageView.d.ts +0 -11
  78. package/dist/organization-management/hooks/useOrganizationPageView.d.ts.map +0 -1
  79. package/dist/organization-management/modules/members/components/InviteMemberForm.d.ts +0 -18
  80. package/dist/organization-management/modules/members/components/InviteMemberForm.d.ts.map +0 -1
  81. package/dist/organization-management/modules/members/components/InviteStatusBadge.d.ts +0 -6
  82. package/dist/organization-management/modules/members/components/InviteStatusBadge.d.ts.map +0 -1
  83. package/dist/organization-management/modules/members/components/MemberRoleBadge.d.ts +0 -11
  84. package/dist/organization-management/modules/members/components/MemberRoleBadge.d.ts.map +0 -1
  85. package/dist/organization-management/modules/members/components/MyInviteCard.d.ts +0 -22
  86. package/dist/organization-management/modules/members/components/MyInviteCard.d.ts.map +0 -1
  87. package/dist/organization-management/modules/members/components/PendingInvitesList.d.ts +0 -6
  88. package/dist/organization-management/modules/members/components/PendingInvitesList.d.ts.map +0 -1
  89. package/dist/organization-management/modules/members/hooks/useInvites.d.ts +0 -80
  90. package/dist/organization-management/modules/members/hooks/useInvites.d.ts.map +0 -1
  91. package/dist/organization-management/modules/members/hooks/useMembers.d.ts +0 -84
  92. package/dist/organization-management/modules/members/hooks/useMembers.d.ts.map +0 -1
  93. package/dist/organization-management/modules/members/pages/InviteMemberPage.d.ts +0 -6
  94. package/dist/organization-management/modules/members/pages/InviteMemberPage.d.ts.map +0 -1
  95. package/dist/organization-management/modules/members/pages/MemberDetailPage.d.ts +0 -6
  96. package/dist/organization-management/modules/members/pages/MemberDetailPage.d.ts.map +0 -1
  97. package/dist/organization-management/modules/members/pages/MembersListPage.d.ts +0 -2
  98. package/dist/organization-management/modules/members/pages/MembersListPage.d.ts.map +0 -1
  99. package/dist/organization-management/modules/members/pages/MyInvitesPage.d.ts +0 -6
  100. package/dist/organization-management/modules/members/pages/MyInvitesPage.d.ts.map +0 -1
  101. package/dist/organization-management/modules/members/types/index.d.ts +0 -35
  102. package/dist/organization-management/modules/members/types/index.d.ts.map +0 -1
  103. package/dist/organization-management/modules/organizations/components/OrganizationForm.d.ts +0 -13
  104. package/dist/organization-management/modules/organizations/components/OrganizationForm.d.ts.map +0 -1
  105. package/dist/organization-management/modules/organizations/components/OrganizationStatusBadge.d.ts +0 -13
  106. package/dist/organization-management/modules/organizations/components/OrganizationStatusBadge.d.ts.map +0 -1
  107. package/dist/organization-management/modules/organizations/hooks/useOrganizations.d.ts +0 -118
  108. package/dist/organization-management/modules/organizations/hooks/useOrganizations.d.ts.map +0 -1
  109. package/dist/organization-management/modules/organizations/hooks/useOrgsWithPermission.d.ts +0 -26
  110. package/dist/organization-management/modules/organizations/hooks/useOrgsWithPermission.d.ts.map +0 -1
  111. package/dist/organization-management/modules/organizations/pages/OrganizationCreatePage.d.ts +0 -6
  112. package/dist/organization-management/modules/organizations/pages/OrganizationCreatePage.d.ts.map +0 -1
  113. package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.d.ts +0 -2
  114. package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.d.ts.map +0 -1
  115. package/dist/organization-management/modules/organizations/pages/OrganizationEditPage.d.ts +0 -6
  116. package/dist/organization-management/modules/organizations/pages/OrganizationEditPage.d.ts.map +0 -1
  117. package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.d.ts +0 -19
  118. package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.d.ts.map +0 -1
  119. package/dist/organization-management/modules/organizations/schemas/index.d.ts +0 -53
  120. package/dist/organization-management/modules/organizations/schemas/index.d.ts.map +0 -1
  121. package/dist/organization-management/modules/organizations/types/index.d.ts +0 -34
  122. package/dist/organization-management/modules/organizations/types/index.d.ts.map +0 -1
  123. package/dist/organization-management/modules/workspaces/components/AddWorkspaceMemberDialog.d.ts +0 -13
  124. package/dist/organization-management/modules/workspaces/components/AddWorkspaceMemberDialog.d.ts.map +0 -1
  125. package/dist/organization-management/modules/workspaces/components/WorkspaceCard.d.ts +0 -16
  126. package/dist/organization-management/modules/workspaces/components/WorkspaceCard.d.ts.map +0 -1
  127. package/dist/organization-management/modules/workspaces/components/WorkspaceForm.d.ts +0 -16
  128. package/dist/organization-management/modules/workspaces/components/WorkspaceForm.d.ts.map +0 -1
  129. package/dist/organization-management/modules/workspaces/components/WorkspaceStatusBadge.d.ts +0 -13
  130. package/dist/organization-management/modules/workspaces/components/WorkspaceStatusBadge.d.ts.map +0 -1
  131. package/dist/organization-management/modules/workspaces/hooks/useWorkspaceMembers.d.ts +0 -47
  132. package/dist/organization-management/modules/workspaces/hooks/useWorkspaceMembers.d.ts.map +0 -1
  133. package/dist/organization-management/modules/workspaces/hooks/useWorkspaces.d.ts +0 -133
  134. package/dist/organization-management/modules/workspaces/hooks/useWorkspaces.d.ts.map +0 -1
  135. package/dist/organization-management/modules/workspaces/pages/WorkspaceCreatePage.d.ts +0 -2
  136. package/dist/organization-management/modules/workspaces/pages/WorkspaceCreatePage.d.ts.map +0 -1
  137. package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.d.ts +0 -2
  138. package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.d.ts.map +0 -1
  139. package/dist/organization-management/modules/workspaces/pages/WorkspaceEditPage.d.ts +0 -2
  140. package/dist/organization-management/modules/workspaces/pages/WorkspaceEditPage.d.ts.map +0 -1
  141. package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.d.ts +0 -2
  142. package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.d.ts.map +0 -1
  143. package/dist/organization-management/modules/workspaces/schemas/index.d.ts +0 -44
  144. package/dist/organization-management/modules/workspaces/schemas/index.d.ts.map +0 -1
  145. package/dist/organization-management/modules/workspaces/types/index.d.ts +0 -39
  146. package/dist/organization-management/modules/workspaces/types/index.d.ts.map +0 -1
  147. package/dist/organization-management/modules/workspaces/types/workspace-member.d.ts +0 -48
  148. package/dist/organization-management/modules/workspaces/types/workspace-member.d.ts.map +0 -1
  149. package/dist/organization-management/providers/OrgConsoleProvider.d.ts +0 -19
  150. package/dist/organization-management/providers/OrgConsoleProvider.d.ts.map +0 -1
  151. package/dist/organization-management/providers/OrgScopedPermissions.d.ts +0 -22
  152. package/dist/organization-management/providers/OrgScopedPermissions.d.ts.map +0 -1
  153. package/dist/organization-management/shared/components/dialog/ConfirmDialog.d.ts +0 -28
  154. package/dist/organization-management/shared/components/dialog/ConfirmDialog.d.ts.map +0 -1
  155. package/dist/organization-management/shared/components/feedback/EmptyState.d.ts +0 -14
  156. package/dist/organization-management/shared/components/feedback/EmptyState.d.ts.map +0 -1
  157. package/dist/organization-management/shared/components/feedback/ErrorState.d.ts +0 -11
  158. package/dist/organization-management/shared/components/feedback/ErrorState.d.ts.map +0 -1
  159. package/dist/organization-management/shared/components/feedback/LoadingState.d.ts +0 -6
  160. package/dist/organization-management/shared/components/feedback/LoadingState.d.ts.map +0 -1
  161. package/dist/organization-management/shared/components/input/SearchInput.d.ts +0 -15
  162. package/dist/organization-management/shared/components/input/SearchInput.d.ts.map +0 -1
  163. package/dist/organization-management/shared/components/input/SelectionCheckbox.d.ts +0 -10
  164. package/dist/organization-management/shared/components/input/SelectionCheckbox.d.ts.map +0 -1
  165. package/dist/organization-management/shared/hooks/useDebouncedValue.d.ts +0 -2
  166. package/dist/organization-management/shared/hooks/useDebouncedValue.d.ts.map +0 -1
  167. package/dist/organization-management/shared/hooks/useTr.d.ts +0 -14
  168. package/dist/organization-management/shared/hooks/useTr.d.ts.map +0 -1
  169. package/dist/organization-management/shared/logger.d.ts +0 -11
  170. package/dist/organization-management/shared/logger.d.ts.map +0 -1
  171. package/dist/organization-management/shared/recaptcha.d.ts +0 -2
  172. package/dist/organization-management/shared/recaptcha.d.ts.map +0 -1
  173. package/dist/organization-management/shared/types/graphql.d.ts +0 -131
  174. package/dist/organization-management/shared/types/graphql.d.ts.map +0 -1
  175. package/dist/organization-management/shared/utils/cn.d.ts +0 -8
  176. package/dist/organization-management/shared/utils/cn.d.ts.map +0 -1
  177. package/dist/organization-management/types/index.d.ts +0 -46
  178. package/dist/organization-management/types/index.d.ts.map +0 -1
  179. package/dist/utils/nativeBridge.d.ts +0 -3
  180. package/dist/utils/nativeBridge.d.ts.map +0 -1
@@ -1,105 +1,44 @@
1
- import { useCallback as e, useMemo as t, useState as n } from "react";
2
- import { AlertCircle as r, AlertTriangle as i, Info as a } from "lucide-react";
3
- import { AlertDialog as o, AlertDialogAction as s, AlertDialogCancel as c, AlertDialogContent as l, AlertDialogDescription as u, AlertDialogFooter as d, AlertDialogHeader as f, AlertDialogTitle as p } from "@burdenoff/fe-libs/ui";
4
- import { jsx as m, jsxs as h } from "react/jsx-runtime";
5
- import { useI18n as g } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
1
+ import { ConfirmDialog as e } from "./ConfirmDialogView.js";
2
+ import { useCallback as t, useMemo as n, useState as r } from "react";
3
+ import { jsx as i } from "react/jsx-runtime";
6
4
  //#region src/organization-management/shared/components/dialog/ConfirmDialog.tsx
7
- var _ = {
8
- default: {
9
- icon: a,
10
- iconContainerClassName: "bg-[var(--color-status-info-bgSubtle)]",
11
- iconClassName: "text-[var(--color-status-info-text)]",
12
- actionClassName: "bg-[var(--color-action-primary-bg)] text-[var(--color-action-primary-text)] hover:opacity-90"
13
- },
14
- warning: {
15
- icon: i,
16
- iconContainerClassName: "bg-[var(--color-status-warning-bgSubtle)]",
17
- iconClassName: "text-[var(--color-status-warning-text)]",
18
- actionClassName: "bg-[var(--color-status-warning-bg)] text-[var(--color-text-inverse)] hover:opacity-90"
19
- },
20
- danger: {
21
- icon: r,
22
- iconContainerClassName: "bg-[var(--color-status-error-bgSubtle)]",
23
- iconClassName: "text-[var(--color-status-error-text)]",
24
- actionClassName: "bg-[var(--color-status-error-bg)] text-[var(--color-text-inverse)] hover:opacity-90"
25
- }
26
- };
27
- function v({ open: t, onOpenChange: n, title: r, description: i, confirmText: a, cancelText: v, variant: y = "default", onConfirm: b }) {
28
- let { t: x } = g(), S = e((e, t) => {
29
- let n = x(e);
30
- return n === e ? t : n;
31
- }, [x]), C = _[y], w = C.icon, T = a ?? S("common.confirm", "Confirm"), E = v ?? S("common.cancel", "Cancel");
32
- return /* @__PURE__ */ m(o, {
33
- open: t,
34
- onOpenChange: n,
35
- children: /* @__PURE__ */ h(l, {
36
- className: "max-w-md border-[var(--color-border-default)] bg-[var(--color-bg-surface)] text-[var(--color-text-primary)]",
37
- children: [/* @__PURE__ */ m(f, { children: /* @__PURE__ */ h("div", {
38
- className: "flex items-start gap-4",
39
- children: [/* @__PURE__ */ m("div", {
40
- className: `flex h-10 w-10 items-center justify-center rounded-full ${C.iconContainerClassName}`,
41
- children: /* @__PURE__ */ m(w, { className: `h-5 w-5 ${C.iconClassName}` })
42
- }), /* @__PURE__ */ h("div", {
43
- className: "flex-1",
44
- children: [/* @__PURE__ */ m(p, {
45
- className: "text-lg text-[var(--color-text-primary)]",
46
- children: r
47
- }), /* @__PURE__ */ m(u, {
48
- className: "mt-2 text-sm text-[var(--color-text-secondary)]",
49
- children: i
50
- })]
51
- })]
52
- }) }), /* @__PURE__ */ h(d, {
53
- className: "mt-6",
54
- children: [/* @__PURE__ */ m(c, {
55
- className: "border-[var(--color-border-default)] bg-[var(--color-bg-surface)] text-[var(--color-text-primary)] hover:bg-[var(--color-bg-subtle)]",
56
- children: E
57
- }), /* @__PURE__ */ m(s, {
58
- onClick: b,
59
- className: C.actionClassName,
60
- children: T
61
- })]
62
- })]
63
- })
64
- });
65
- }
66
- function y() {
67
- let [r, i] = n({
5
+ function a() {
6
+ let [a, o] = r({
68
7
  open: !1,
69
8
  title: "",
70
9
  description: ""
71
- }), [a, o] = n(null), s = e((e) => {
72
- i({
10
+ }), [s, c] = r(null), l = t((e) => {
11
+ o({
73
12
  ...e,
74
13
  open: !0
75
- }), o(() => e.onConfirm);
76
- }, []), c = e((e) => {
77
- i((t) => ({
14
+ }), c(() => e.onConfirm);
15
+ }, []), u = t((e) => {
16
+ o((t) => ({
78
17
  ...t,
79
18
  open: e
80
- })), e || o(null);
19
+ })), e || c(null);
81
20
  }, []);
82
21
  return {
83
- openConfirmDialog: s,
84
- ConfirmDialog: t(() => /* @__PURE__ */ m(v, {
85
- open: r.open,
86
- onOpenChange: c,
87
- title: r.title,
88
- description: r.description,
89
- confirmText: r.confirmText,
90
- cancelText: r.cancelText,
91
- variant: r.variant,
22
+ openConfirmDialog: l,
23
+ ConfirmDialog: n(() => /* @__PURE__ */ i(e, {
24
+ open: a.open,
25
+ onOpenChange: u,
26
+ title: a.title,
27
+ description: a.description,
28
+ confirmText: a.confirmText,
29
+ cancelText: a.cancelText,
30
+ variant: a.variant,
92
31
  onConfirm: () => {
93
- a?.(), c(!1);
32
+ s?.(), u(!1);
94
33
  }
95
34
  }), [
96
- c,
97
- a,
98
- r
35
+ u,
36
+ s,
37
+ a
99
38
  ])
100
39
  };
101
40
  }
102
41
  //#endregion
103
- export { y as useConfirmDialog };
42
+ export { a as useConfirmDialog };
104
43
 
105
44
  //# sourceMappingURL=ConfirmDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialog.js","names":[],"sources":["../../../../../src/organization-management/shared/components/dialog/ConfirmDialog.tsx"],"sourcesContent":["import { AlertCircle, AlertTriangle, Info } from 'lucide-react';\nimport { useCallback, useMemo, useState } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from '@burdenoff/fe-libs/ui';\n\ntype ConfirmDialogVariant = 'default' | 'warning' | 'danger';\n\ninterface ConfirmDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n title: string;\n description: string;\n confirmText?: string;\n cancelText?: string;\n variant?: ConfirmDialogVariant;\n onConfirm: () => void;\n}\n\ninterface ConfirmDialogState {\n open: boolean;\n title: string;\n description: string;\n confirmText?: string;\n cancelText?: string;\n variant?: ConfirmDialogVariant;\n}\n\nconst VARIANT_STYLES: Record<\n ConfirmDialogVariant,\n {\n icon: typeof Info;\n iconContainerClassName: string;\n iconClassName: string;\n actionClassName: string;\n }\n> = {\n default: {\n icon: Info,\n iconContainerClassName: 'bg-[var(--color-status-info-bgSubtle)]',\n iconClassName: 'text-[var(--color-status-info-text)]',\n actionClassName:\n 'bg-[var(--color-action-primary-bg)] text-[var(--color-action-primary-text)] hover:opacity-90',\n },\n warning: {\n icon: AlertTriangle,\n iconContainerClassName: 'bg-[var(--color-status-warning-bgSubtle)]',\n iconClassName: 'text-[var(--color-status-warning-text)]',\n actionClassName:\n 'bg-[var(--color-status-warning-bg)] text-[var(--color-text-inverse)] hover:opacity-90',\n },\n danger: {\n icon: AlertCircle,\n iconContainerClassName: 'bg-[var(--color-status-error-bgSubtle)]',\n iconClassName: 'text-[var(--color-status-error-text)]',\n actionClassName:\n 'bg-[var(--color-status-error-bg)] text-[var(--color-text-inverse)] hover:opacity-90',\n },\n};\n\nexport function ConfirmDialog({\n open,\n onOpenChange,\n title,\n description,\n confirmText,\n cancelText,\n variant = 'default',\n onConfirm,\n}: ConfirmDialogProps) {\n const { t } = useI18n();\n const tr = useCallback(\n (key: string, fallback: string) => {\n const translated = t(key);\n return translated === key ? fallback : translated;\n },\n [t]\n );\n const styles = VARIANT_STYLES[variant];\n const Icon = styles.icon;\n const resolvedConfirmText = confirmText ?? tr('common.confirm', 'Confirm');\n const resolvedCancelText = cancelText ?? tr('common.cancel', 'Cancel');\n\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n <AlertDialogContent className=\"max-w-md border-[var(--color-border-default)] bg-[var(--color-bg-surface)] text-[var(--color-text-primary)]\">\n <AlertDialogHeader>\n <div className=\"flex items-start gap-4\">\n <div\n className={`flex h-10 w-10 items-center justify-center rounded-full ${styles.iconContainerClassName}`}\n >\n <Icon className={`h-5 w-5 ${styles.iconClassName}`} />\n </div>\n <div className=\"flex-1\">\n <AlertDialogTitle className=\"text-lg text-[var(--color-text-primary)]\">\n {title}\n </AlertDialogTitle>\n <AlertDialogDescription className=\"mt-2 text-sm text-[var(--color-text-secondary)]\">\n {description}\n </AlertDialogDescription>\n </div>\n </div>\n </AlertDialogHeader>\n\n <AlertDialogFooter className=\"mt-6\">\n <AlertDialogCancel className=\"border-[var(--color-border-default)] bg-[var(--color-bg-surface)] text-[var(--color-text-primary)] hover:bg-[var(--color-bg-subtle)]\">\n {resolvedCancelText}\n </AlertDialogCancel>\n <AlertDialogAction onClick={onConfirm} className={styles.actionClassName}>\n {resolvedConfirmText}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n );\n}\n\nexport function useConfirmDialog() {\n const [state, setState] = useState<ConfirmDialogState>({\n open: false,\n title: '',\n description: '',\n });\n const [onConfirm, setOnConfirm] = useState<(() => void) | null>(null);\n\n const openConfirmDialog = useCallback(\n (config: Omit<ConfirmDialogState, 'open'> & { onConfirm: () => void }) => {\n setState({ ...config, open: true });\n setOnConfirm(() => config.onConfirm);\n },\n []\n );\n\n const handleOpenChange = useCallback((open: boolean) => {\n setState((previousState) => ({ ...previousState, open }));\n if (!open) {\n setOnConfirm(null);\n }\n }, []);\n\n const dialog = useMemo(\n () => (\n <ConfirmDialog\n open={state.open}\n onOpenChange={handleOpenChange}\n title={state.title}\n description={state.description}\n confirmText={state.confirmText}\n cancelText={state.cancelText}\n variant={state.variant}\n onConfirm={() => {\n onConfirm?.();\n handleOpenChange(false);\n }}\n />\n ),\n [handleOpenChange, onConfirm, state]\n );\n\n return { openConfirmDialog, ConfirmDialog: dialog };\n}\n"],"mappings":";;;;;;AAoCA,IAAM,IAQF;CACF,SAAS;EACP,MAAM;EACN,wBAAwB;EACxB,eAAe;EACf,iBACE;EACH;CACD,SAAS;EACP,MAAM;EACN,wBAAwB;EACxB,eAAe;EACf,iBACE;EACH;CACD,QAAQ;EACN,MAAM;EACN,wBAAwB;EACxB,eAAe;EACf,iBACE;EACH;CACF;AAED,SAAgB,EAAc,EAC5B,SACA,iBACA,UACA,gBACA,gBACA,eACA,aAAU,WACV,gBACqB;CACrB,IAAM,EAAE,SAAM,GAAS,EACjB,IAAK,GACR,GAAa,MAAqB;EACjC,IAAM,IAAa,EAAE,EAAI;AACzB,SAAO,MAAe,IAAM,IAAW;IAEzC,CAAC,EAAE,CACJ,EACK,IAAS,EAAe,IACxB,IAAO,EAAO,MACd,IAAsB,KAAe,EAAG,kBAAkB,UAAU,EACpE,IAAqB,KAAc,EAAG,iBAAiB,SAAS;AAEtE,QACE,kBAAC,GAAD;EAAmB;EAAoB;YACrC,kBAAC,GAAD;GAAoB,WAAU;aAA9B,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KACE,WAAW,2DAA2D,EAAO;eAE7E,kBAAC,GAAD,EAAM,WAAW,WAAW,EAAO,iBAAmB,CAAA;KAClD,CAAA,EACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD;MAAkB,WAAU;gBACzB;MACgB,CAAA,EACnB,kBAAC,GAAD;MAAwB,WAAU;gBAC/B;MACsB,CAAA,CACrB;OACF;OACY,CAAA,EAEpB,kBAAC,GAAD;IAAmB,WAAU;cAA7B,CACE,kBAAC,GAAD;KAAmB,WAAU;eAC1B;KACiB,CAAA,EACpB,kBAAC,GAAD;KAAmB,SAAS;KAAW,WAAW,EAAO;eACtD;KACiB,CAAA,CACF;MACD;;EACT,CAAA;;AAIlB,SAAgB,IAAmB;CACjC,IAAM,CAAC,GAAO,KAAY,EAA6B;EACrD,MAAM;EACN,OAAO;EACP,aAAa;EACd,CAAC,EACI,CAAC,GAAW,KAAgB,EAA8B,KAAK,EAE/D,IAAoB,GACvB,MAAyE;AAExE,EADA,EAAS;GAAE,GAAG;GAAQ,MAAM;GAAM,CAAC,EACnC,QAAmB,EAAO,UAAU;IAEtC,EAAE,CACH,EAEK,IAAmB,GAAa,MAAkB;AAEtD,EADA,GAAU,OAAmB;GAAE,GAAG;GAAe;GAAM,EAAE,EACpD,KACH,EAAa,KAAK;IAEnB,EAAE,CAAC;AAqBN,QAAO;EAAE;EAAmB,eAnBb,QAEX,kBAAC,GAAD;GACE,MAAM,EAAM;GACZ,cAAc;GACd,OAAO,EAAM;GACb,aAAa,EAAM;GACnB,aAAa,EAAM;GACnB,YAAY,EAAM;GAClB,SAAS,EAAM;GACf,iBAAiB;AAEf,IADA,KAAa,EACb,EAAiB,GAAM;;GAEzB,CAAA,EAEJ;GAAC;GAAkB;GAAW;GAAM,CACrC;EAEkD"}
1
+ {"version":3,"file":"ConfirmDialog.js","names":[],"sources":["../../../../../src/organization-management/shared/components/dialog/ConfirmDialog.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport { ConfirmDialog, type ConfirmDialogVariant } from './ConfirmDialogView';\n\ninterface ConfirmDialogState {\n open: boolean;\n title: string;\n description: string;\n confirmText?: string;\n cancelText?: string;\n variant?: ConfirmDialogVariant;\n}\n\nexport function useConfirmDialog() {\n const [state, setState] = useState<ConfirmDialogState>({\n open: false,\n title: '',\n description: '',\n });\n const [onConfirm, setOnConfirm] = useState<(() => void) | null>(null);\n\n const openConfirmDialog = useCallback(\n (config: Omit<ConfirmDialogState, 'open'> & { onConfirm: () => void }) => {\n setState({ ...config, open: true });\n setOnConfirm(() => config.onConfirm);\n },\n []\n );\n\n const handleOpenChange = useCallback((open: boolean) => {\n setState((previousState) => ({ ...previousState, open }));\n if (!open) {\n setOnConfirm(null);\n }\n }, []);\n\n const dialog = useMemo(\n () => (\n <ConfirmDialog\n open={state.open}\n onOpenChange={handleOpenChange}\n title={state.title}\n description={state.description}\n confirmText={state.confirmText}\n cancelText={state.cancelText}\n variant={state.variant}\n onConfirm={() => {\n onConfirm?.();\n handleOpenChange(false);\n }}\n />\n ),\n [handleOpenChange, onConfirm, state]\n );\n\n return { openConfirmDialog, ConfirmDialog: dialog };\n}\n"],"mappings":";;;;AAYA,SAAgB,IAAmB;CACjC,IAAM,CAAC,GAAO,KAAY,EAA6B;EACrD,MAAM;EACN,OAAO;EACP,aAAa;EACd,CAAC,EACI,CAAC,GAAW,KAAgB,EAA8B,KAAK,EAE/D,IAAoB,GACvB,MAAyE;AAExE,EADA,EAAS;GAAE,GAAG;GAAQ,MAAM;GAAM,CAAC,EACnC,QAAmB,EAAO,UAAU;IAEtC,EAAE,CACH,EAEK,IAAmB,GAAa,MAAkB;AAEtD,EADA,GAAU,OAAmB;GAAE,GAAG;GAAe;GAAM,EAAE,EACpD,KACH,EAAa,KAAK;IAEnB,EAAE,CAAC;AAqBN,QAAO;EAAE;EAAmB,eAnBb,QAEX,kBAAC,GAAD;GACE,MAAM,EAAM;GACZ,cAAc;GACd,OAAO,EAAM;GACb,aAAa,EAAM;GACnB,aAAa,EAAM;GACnB,YAAY,EAAM;GAClB,SAAS,EAAM;GACf,iBAAiB;AAEf,IADA,KAAa,EACb,EAAiB,GAAM;;GAEzB,CAAA,EAEJ;GAAC;GAAkB;GAAW;GAAM,CACrC;EAEkD"}
@@ -0,0 +1,69 @@
1
+ import { useCallback as e } from "react";
2
+ import { AlertCircle as t, AlertTriangle as n, Info as r } from "lucide-react";
3
+ import { AlertDialog as i, AlertDialogAction as a, AlertDialogCancel as o, AlertDialogContent as s, AlertDialogDescription as c, AlertDialogFooter as l, AlertDialogHeader as u, AlertDialogTitle as d } from "@burdenoff/fe-libs/ui";
4
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
5
+ import { useI18n as m } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
6
+ //#region src/organization-management/shared/components/dialog/ConfirmDialogView.tsx
7
+ var h = {
8
+ default: {
9
+ icon: r,
10
+ iconContainerClassName: "bg-[var(--color-status-info-bgSubtle)]",
11
+ iconClassName: "text-[var(--color-status-info-text)]",
12
+ actionClassName: "bg-[var(--color-action-primary-bg)] text-[var(--color-action-primary-text)] hover:opacity-90"
13
+ },
14
+ warning: {
15
+ icon: n,
16
+ iconContainerClassName: "bg-[var(--color-status-warning-bgSubtle)]",
17
+ iconClassName: "text-[var(--color-status-warning-text)]",
18
+ actionClassName: "bg-[var(--color-status-warning-bg)] text-[var(--color-text-inverse)] hover:opacity-90"
19
+ },
20
+ danger: {
21
+ icon: t,
22
+ iconContainerClassName: "bg-[var(--color-status-error-bgSubtle)]",
23
+ iconClassName: "text-[var(--color-status-error-text)]",
24
+ actionClassName: "bg-[var(--color-status-error-bg)] text-[var(--color-text-inverse)] hover:opacity-90"
25
+ }
26
+ };
27
+ function g({ open: t, onOpenChange: n, title: r, description: g, confirmText: _, cancelText: v, variant: y = "default", onConfirm: b }) {
28
+ let { t: x } = m(), S = e((e, t) => {
29
+ let n = x(e);
30
+ return n === e ? t : n;
31
+ }, [x]), C = h[y], w = C.icon, T = _ ?? S("common.confirm", "Confirm"), E = v ?? S("common.cancel", "Cancel");
32
+ return /* @__PURE__ */ f(i, {
33
+ open: t,
34
+ onOpenChange: n,
35
+ children: /* @__PURE__ */ p(s, {
36
+ className: "max-w-md border-[var(--color-border-default)] bg-[var(--color-bg-surface)] text-[var(--color-text-primary)]",
37
+ children: [/* @__PURE__ */ f(u, { children: /* @__PURE__ */ p("div", {
38
+ className: "flex items-start gap-4",
39
+ children: [/* @__PURE__ */ f("div", {
40
+ className: `flex h-10 w-10 items-center justify-center rounded-full ${C.iconContainerClassName}`,
41
+ children: /* @__PURE__ */ f(w, { className: `h-5 w-5 ${C.iconClassName}` })
42
+ }), /* @__PURE__ */ p("div", {
43
+ className: "flex-1",
44
+ children: [/* @__PURE__ */ f(d, {
45
+ className: "text-lg text-[var(--color-text-primary)]",
46
+ children: r
47
+ }), /* @__PURE__ */ f(c, {
48
+ className: "mt-2 text-sm text-[var(--color-text-secondary)]",
49
+ children: g
50
+ })]
51
+ })]
52
+ }) }), /* @__PURE__ */ p(l, {
53
+ className: "mt-6",
54
+ children: [/* @__PURE__ */ f(o, {
55
+ className: "border-[var(--color-border-default)] bg-[var(--color-bg-surface)] text-[var(--color-text-primary)] hover:bg-[var(--color-bg-subtle)]",
56
+ children: E
57
+ }), /* @__PURE__ */ f(a, {
58
+ onClick: b,
59
+ className: C.actionClassName,
60
+ children: T
61
+ })]
62
+ })]
63
+ })
64
+ });
65
+ }
66
+ //#endregion
67
+ export { g as ConfirmDialog };
68
+
69
+ //# sourceMappingURL=ConfirmDialogView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfirmDialogView.js","names":[],"sources":["../../../../../src/organization-management/shared/components/dialog/ConfirmDialogView.tsx"],"sourcesContent":["import { AlertCircle, AlertTriangle, Info } from 'lucide-react';\nimport { useCallback } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from '@burdenoff/fe-libs/ui';\n\nexport type ConfirmDialogVariant = 'default' | 'warning' | 'danger';\n\nexport interface ConfirmDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n title: string;\n description: string;\n confirmText?: string;\n cancelText?: string;\n variant?: ConfirmDialogVariant;\n onConfirm: () => void;\n}\n\nconst VARIANT_STYLES: Record<\n ConfirmDialogVariant,\n {\n icon: typeof Info;\n iconContainerClassName: string;\n iconClassName: string;\n actionClassName: string;\n }\n> = {\n default: {\n icon: Info,\n iconContainerClassName: 'bg-[var(--color-status-info-bgSubtle)]',\n iconClassName: 'text-[var(--color-status-info-text)]',\n actionClassName:\n 'bg-[var(--color-action-primary-bg)] text-[var(--color-action-primary-text)] hover:opacity-90',\n },\n warning: {\n icon: AlertTriangle,\n iconContainerClassName: 'bg-[var(--color-status-warning-bgSubtle)]',\n iconClassName: 'text-[var(--color-status-warning-text)]',\n actionClassName:\n 'bg-[var(--color-status-warning-bg)] text-[var(--color-text-inverse)] hover:opacity-90',\n },\n danger: {\n icon: AlertCircle,\n iconContainerClassName: 'bg-[var(--color-status-error-bgSubtle)]',\n iconClassName: 'text-[var(--color-status-error-text)]',\n actionClassName:\n 'bg-[var(--color-status-error-bg)] text-[var(--color-text-inverse)] hover:opacity-90',\n },\n};\n\nexport function ConfirmDialog({\n open,\n onOpenChange,\n title,\n description,\n confirmText,\n cancelText,\n variant = 'default',\n onConfirm,\n}: ConfirmDialogProps) {\n const { t } = useI18n();\n const tr = useCallback(\n (key: string, fallback: string) => {\n const translated = t(key);\n return translated === key ? fallback : translated;\n },\n [t]\n );\n const styles = VARIANT_STYLES[variant];\n const Icon = styles.icon;\n const resolvedConfirmText = confirmText ?? tr('common.confirm', 'Confirm');\n const resolvedCancelText = cancelText ?? tr('common.cancel', 'Cancel');\n\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n <AlertDialogContent className=\"max-w-md border-[var(--color-border-default)] bg-[var(--color-bg-surface)] text-[var(--color-text-primary)]\">\n <AlertDialogHeader>\n <div className=\"flex items-start gap-4\">\n <div\n className={`flex h-10 w-10 items-center justify-center rounded-full ${styles.iconContainerClassName}`}\n >\n <Icon className={`h-5 w-5 ${styles.iconClassName}`} />\n </div>\n <div className=\"flex-1\">\n <AlertDialogTitle className=\"text-lg text-[var(--color-text-primary)]\">\n {title}\n </AlertDialogTitle>\n <AlertDialogDescription className=\"mt-2 text-sm text-[var(--color-text-secondary)]\">\n {description}\n </AlertDialogDescription>\n </div>\n </div>\n </AlertDialogHeader>\n\n <AlertDialogFooter className=\"mt-6\">\n <AlertDialogCancel className=\"border-[var(--color-border-default)] bg-[var(--color-bg-surface)] text-[var(--color-text-primary)] hover:bg-[var(--color-bg-subtle)]\">\n {resolvedCancelText}\n </AlertDialogCancel>\n <AlertDialogAction onClick={onConfirm} className={styles.actionClassName}>\n {resolvedConfirmText}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n );\n}\n"],"mappings":";;;;;;AA2BA,IAAM,IAQF;CACF,SAAS;EACP,MAAM;EACN,wBAAwB;EACxB,eAAe;EACf,iBACE;EACH;CACD,SAAS;EACP,MAAM;EACN,wBAAwB;EACxB,eAAe;EACf,iBACE;EACH;CACD,QAAQ;EACN,MAAM;EACN,wBAAwB;EACxB,eAAe;EACf,iBACE;EACH;CACF;AAED,SAAgB,EAAc,EAC5B,SACA,iBACA,UACA,gBACA,gBACA,eACA,aAAU,WACV,gBACqB;CACrB,IAAM,EAAE,SAAM,GAAS,EACjB,IAAK,GACR,GAAa,MAAqB;EACjC,IAAM,IAAa,EAAE,EAAI;AACzB,SAAO,MAAe,IAAM,IAAW;IAEzC,CAAC,EAAE,CACJ,EACK,IAAS,EAAe,IACxB,IAAO,EAAO,MACd,IAAsB,KAAe,EAAG,kBAAkB,UAAU,EACpE,IAAqB,KAAc,EAAG,iBAAiB,SAAS;AAEtE,QACE,kBAAC,GAAD;EAAmB;EAAoB;YACrC,kBAAC,GAAD;GAAoB,WAAU;aAA9B,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KACE,WAAW,2DAA2D,EAAO;eAE7E,kBAAC,GAAD,EAAM,WAAW,WAAW,EAAO,iBAAmB,CAAA;KAClD,CAAA,EACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD;MAAkB,WAAU;gBACzB;MACgB,CAAA,EACnB,kBAAC,GAAD;MAAwB,WAAU;gBAC/B;MACsB,CAAA,CACrB;OACF;OACY,CAAA,EAEpB,kBAAC,GAAD;IAAmB,WAAU;cAA7B,CACE,kBAAC,GAAD;KAAmB,WAAU;eAC1B;KACiB,CAAA,EACpB,kBAAC,GAAD;KAAmB,SAAS;KAAW,WAAW,EAAO;eACtD;KACiB,CAAA,CACF;MACD;;EACT,CAAA"}
@@ -17,6 +17,7 @@ function n({ icon: n, title: r, description: i, action: a }) {
17
17
  children: i
18
18
  }),
19
19
  a && /* @__PURE__ */ e("button", {
20
+ type: "button",
20
21
  onClick: a.onClick,
21
22
  className: "\n inline-flex items-center gap-2 px-4 py-2\n bg-[var(--color-action-primary-bg)]\n text-[var(--color-action-primary-text)]\n rounded-lg\n hover:opacity-90 hover:scale-[1.02]\n active:scale-[0.98]\n transition-all duration-200\n font-medium\n ",
22
23
  children: a.label
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.js","names":[],"sources":["../../../../../src/organization-management/shared/components/feedback/EmptyState.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\ninterface EmptyStateProps {\n icon: ReactNode;\n title: string;\n description: string;\n action?: {\n label: string;\n onClick: () => void;\n };\n}\n\nexport function EmptyState({ icon, title, description, action }: EmptyStateProps) {\n return (\n <div className=\"flex flex-col items-center justify-center py-12 text-center animate-in fade-in duration-300\">\n <div className=\"text-[var(--color-text-muted)] mb-4\">{icon}</div>\n <h3 className=\"text-lg font-semibold text-[var(--color-text-primary)] mb-2\">{title}</h3>\n <p className=\"text-sm text-[var(--color-text-muted)] mb-6 max-w-md\">{description}</p>\n {action && (\n <button\n onClick={action.onClick}\n className=\"\n inline-flex items-center gap-2 px-4 py-2\n bg-[var(--color-action-primary-bg)]\n text-[var(--color-action-primary-text)]\n rounded-lg\n hover:opacity-90 hover:scale-[1.02]\n active:scale-[0.98]\n transition-all duration-200\n font-medium\n \"\n >\n {action.label}\n </button>\n )}\n </div>\n );\n}\n"],"mappings":";;AAYA,SAAgB,EAAW,EAAE,SAAM,UAAO,gBAAa,aAA2B;AAChF,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAAuC;IAAW,CAAA;GACjE,kBAAC,MAAD;IAAI,WAAU;cAA+D;IAAW,CAAA;GACxF,kBAAC,KAAD;IAAG,WAAU;cAAwD;IAAgB,CAAA;GACpF,KACC,kBAAC,UAAD;IACE,SAAS,EAAO;IAChB,WAAU;cAWT,EAAO;IACD,CAAA;GAEP"}
1
+ {"version":3,"file":"EmptyState.js","names":[],"sources":["../../../../../src/organization-management/shared/components/feedback/EmptyState.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\ninterface EmptyStateProps {\n icon: ReactNode;\n title: string;\n description: string;\n action?: {\n label: string;\n onClick: () => void;\n };\n}\n\nexport function EmptyState({ icon, title, description, action }: EmptyStateProps) {\n return (\n <div className=\"flex flex-col items-center justify-center py-12 text-center animate-in fade-in duration-300\">\n <div className=\"text-[var(--color-text-muted)] mb-4\">{icon}</div>\n <h3 className=\"text-lg font-semibold text-[var(--color-text-primary)] mb-2\">{title}</h3>\n <p className=\"text-sm text-[var(--color-text-muted)] mb-6 max-w-md\">{description}</p>\n {action && (\n <button type=\"button\"\n onClick={action.onClick}\n className=\"\n inline-flex items-center gap-2 px-4 py-2\n bg-[var(--color-action-primary-bg)]\n text-[var(--color-action-primary-text)]\n rounded-lg\n hover:opacity-90 hover:scale-[1.02]\n active:scale-[0.98]\n transition-all duration-200\n font-medium\n \"\n >\n {action.label}\n </button>\n )}\n </div>\n );\n}\n"],"mappings":";;AAYA,SAAgB,EAAW,EAAE,SAAM,UAAO,gBAAa,aAA2B;AAChF,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAAuC;IAAW,CAAA;GACjE,kBAAC,MAAD;IAAI,WAAU;cAA+D;IAAW,CAAA;GACxF,kBAAC,KAAD;IAAG,WAAU;cAAwD;IAAgB,CAAA;GACpF,KACC,kBAAC,UAAD;IAAQ,MAAK;IACX,SAAS,EAAO;IAChB,WAAU;cAWT,EAAO;IACD,CAAA;GAEP"}
@@ -9,7 +9,7 @@ function i({ title: i, message: a, action: o }) {
9
9
  role: "alert",
10
10
  children: [
11
11
  /* @__PURE__ */ n("div", {
12
- className: "w-16 h-16 rounded-full bg-[var(--color-status-error-muted)] flex items-center justify-center mb-4",
12
+ className: "size-16 rounded-full bg-[var(--color-status-error-muted)] flex items-center justify-center mb-4",
13
13
  children: /* @__PURE__ */ n(t, {
14
14
  size: 32,
15
15
  className: "text-[var(--color-status-error)]"
@@ -24,6 +24,7 @@ function i({ title: i, message: a, action: o }) {
24
24
  children: a
25
25
  }),
26
26
  o && /* @__PURE__ */ n("button", {
27
+ type: "button",
27
28
  onClick: o.onClick,
28
29
  className: "\n inline-flex items-center gap-2 px-4 py-2\n bg-[var(--color-action-primary-bg)]\n text-[var(--color-action-primary-text)]\n rounded-lg\n hover:opacity-90 hover:scale-[1.02]\n active:scale-[0.98]\n transition-all duration-200\n font-medium\n ",
29
30
  children: o.label
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorState.js","names":[],"sources":["../../../../../src/organization-management/shared/components/feedback/ErrorState.tsx"],"sourcesContent":["import { AlertCircle } from 'lucide-react';\nimport { useTr } from '../../hooks/useTr';\n\ninterface ErrorStateProps {\n title?: string;\n message: string;\n action?: {\n label: string;\n onClick: () => void;\n };\n}\n\nexport function ErrorState({ title, message, action }: ErrorStateProps) {\n const tr = useTr();\n const resolvedTitle = title ?? tr('common.error.title', 'Something went wrong');\n return (\n <div\n className=\"flex flex-col items-center justify-center py-12 text-center animate-in fade-in duration-300\"\n role=\"alert\"\n >\n <div className=\"w-16 h-16 rounded-full bg-[var(--color-status-error-muted)] flex items-center justify-center mb-4\">\n <AlertCircle size={32} className=\"text-[var(--color-status-error)]\" />\n </div>\n <h3 className=\"text-lg font-semibold text-[var(--color-text-primary)] mb-2\">\n {resolvedTitle}\n </h3>\n <p className=\"text-sm text-[var(--color-text-muted)] mb-6 max-w-md\">{message}</p>\n {action && (\n <button\n onClick={action.onClick}\n className=\"\n inline-flex items-center gap-2 px-4 py-2\n bg-[var(--color-action-primary-bg)]\n text-[var(--color-action-primary-text)]\n rounded-lg\n hover:opacity-90 hover:scale-[1.02]\n active:scale-[0.98]\n transition-all duration-200\n font-medium\n \"\n >\n {action.label}\n </button>\n )}\n </div>\n );\n}\n"],"mappings":";;;;AAYA,SAAgB,EAAW,EAAE,UAAO,YAAS,aAA2B;CACtE,IAAM,IAAK,GAAO,EACZ,IAAgB,KAAS,EAAG,sBAAsB,uBAAuB;AAC/E,QACE,kBAAC,OAAD;EACE,WAAU;EACV,MAAK;YAFP;GAIE,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD;KAAa,MAAM;KAAI,WAAU;KAAqC,CAAA;IAClE,CAAA;GACN,kBAAC,MAAD;IAAI,WAAU;cACX;IACE,CAAA;GACL,kBAAC,KAAD;IAAG,WAAU;cAAwD;IAAY,CAAA;GAChF,KACC,kBAAC,UAAD;IACE,SAAS,EAAO;IAChB,WAAU;cAWT,EAAO;IACD,CAAA;GAEP"}
1
+ {"version":3,"file":"ErrorState.js","names":[],"sources":["../../../../../src/organization-management/shared/components/feedback/ErrorState.tsx"],"sourcesContent":["import { AlertCircle } from 'lucide-react';\nimport { useTr } from '../../hooks/useTr';\n\ninterface ErrorStateProps {\n title?: string;\n message: string;\n action?: {\n label: string;\n onClick: () => void;\n };\n}\n\nexport function ErrorState({ title, message, action }: ErrorStateProps) {\n const tr = useTr();\n const resolvedTitle = title ?? tr('common.error.title', 'Something went wrong');\n return (\n <div\n className=\"flex flex-col items-center justify-center py-12 text-center animate-in fade-in duration-300\"\n role=\"alert\"\n >\n <div className=\"size-16 rounded-full bg-[var(--color-status-error-muted)] flex items-center justify-center mb-4\">\n <AlertCircle size={32} className=\"text-[var(--color-status-error)]\" />\n </div>\n <h3 className=\"text-lg font-semibold text-[var(--color-text-primary)] mb-2\">\n {resolvedTitle}\n </h3>\n <p className=\"text-sm text-[var(--color-text-muted)] mb-6 max-w-md\">{message}</p>\n {action && (\n <button type=\"button\"\n onClick={action.onClick}\n className=\"\n inline-flex items-center gap-2 px-4 py-2\n bg-[var(--color-action-primary-bg)]\n text-[var(--color-action-primary-text)]\n rounded-lg\n hover:opacity-90 hover:scale-[1.02]\n active:scale-[0.98]\n transition-all duration-200\n font-medium\n \"\n >\n {action.label}\n </button>\n )}\n </div>\n );\n}\n"],"mappings":";;;;AAYA,SAAgB,EAAW,EAAE,UAAO,YAAS,aAA2B;CACtE,IAAM,IAAK,GAAO,EACZ,IAAgB,KAAS,EAAG,sBAAsB,uBAAuB;AAC/E,QACE,kBAAC,OAAD;EACE,WAAU;EACV,MAAK;YAFP;GAIE,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD;KAAa,MAAM;KAAI,WAAU;KAAqC,CAAA;IAClE,CAAA;GACN,kBAAC,MAAD;IAAI,WAAU;cACX;IACE,CAAA;GACL,kBAAC,KAAD;IAAG,WAAU;cAAwD;IAAY,CAAA;GAChF,KACC,kBAAC,UAAD;IAAQ,MAAK;IACX,SAAS,EAAO;IAChB,WAAU;cAWT,EAAO;IACD,CAAA;GAEP"}
@@ -4,9 +4,8 @@ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
4
  //#region src/organization-management/shared/components/feedback/LoadingState.tsx
5
5
  function i({ message: i }) {
6
6
  let a = e(), o = i ?? a("common.loading", "Loading...");
7
- return /* @__PURE__ */ r("div", {
7
+ return /* @__PURE__ */ r("output", {
8
8
  className: "flex flex-col items-center justify-center py-12 animate-in fade-in duration-300",
9
- role: "status",
10
9
  "aria-live": "polite",
11
10
  "aria-busy": "true",
12
11
  children: [/* @__PURE__ */ n(t, {
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingState.js","names":[],"sources":["../../../../../src/organization-management/shared/components/feedback/LoadingState.tsx"],"sourcesContent":["import { Loader2 } from 'lucide-react';\nimport { useTr } from '../../hooks/useTr';\n\ninterface LoadingStateProps {\n message?: string;\n}\n\nexport function LoadingState({ message }: LoadingStateProps) {\n const tr = useTr();\n const resolvedMessage = message ?? tr('common.loading', 'Loading...');\n return (\n <div\n className=\"flex flex-col items-center justify-center py-12 animate-in fade-in duration-300\"\n role=\"status\"\n aria-live=\"polite\"\n aria-busy=\"true\"\n >\n <Loader2 size={48} className=\"text-[var(--color-status-info)] animate-spin mb-4\" />\n <p className=\"text-sm text-[var(--color-text-muted)]\">{resolvedMessage}</p>\n </div>\n );\n}\n"],"mappings":";;;;AAOA,SAAgB,EAAa,EAAE,cAA8B;CAC3D,IAAM,IAAK,GAAO,EACZ,IAAkB,KAAW,EAAG,kBAAkB,aAAa;AACrE,QACE,kBAAC,OAAD;EACE,WAAU;EACV,MAAK;EACL,aAAU;EACV,aAAU;YAJZ,CAME,kBAAC,GAAD;GAAS,MAAM;GAAI,WAAU;GAAsD,CAAA,EACnF,kBAAC,KAAD;GAAG,WAAU;aAA0C;GAAoB,CAAA,CACvE"}
1
+ {"version":3,"file":"LoadingState.js","names":[],"sources":["../../../../../src/organization-management/shared/components/feedback/LoadingState.tsx"],"sourcesContent":["import { Loader2 } from 'lucide-react';\nimport { useTr } from '../../hooks/useTr';\n\ninterface LoadingStateProps {\n message?: string;\n}\n\nexport function LoadingState({ message }: LoadingStateProps) {\n const tr = useTr();\n const resolvedMessage = message ?? tr('common.loading', 'Loading...');\n return (\n <output\n className=\"flex flex-col items-center justify-center py-12 animate-in fade-in duration-300\"\n aria-live=\"polite\"\n aria-busy=\"true\"\n >\n <Loader2 size={48} className=\"text-[var(--color-status-info)] animate-spin mb-4\" />\n <p className=\"text-sm text-[var(--color-text-muted)]\">{resolvedMessage}</p>\n </output>\n );\n}\n"],"mappings":";;;;AAOA,SAAgB,EAAa,EAAE,cAA8B;CAC3D,IAAM,IAAK,GAAO,EACZ,IAAkB,KAAW,EAAG,kBAAkB,aAAa;AACrE,QACE,kBAAC,UAAD;EACE,WAAU;EACV,aAAU;EACV,aAAU;YAHZ,CAKE,kBAAC,GAAD;GAAS,MAAM;GAAI,WAAU;GAAsD,CAAA,EACnF,kBAAC,KAAD;GAAG,WAAU;aAA0C;GAAoB,CAAA,CACpE"}
@@ -26,6 +26,7 @@ function a({ value: a, onChange: o, placeholder: s, className: c = "", label: l,
26
26
  className: "\n w-full pl-[3.25rem] pr-10 py-2\n bg-[var(--color-bg-surface)]\n border border-[var(--color-border-default)]\n rounded-lg\n text-[var(--color-text-primary)]\n placeholder:text-[var(--color-text-muted)]\n focus:outline-none focus:ring-2 focus:ring-[var(--color-border-focus)]\n transition-all duration-200\n "
27
27
  }),
28
28
  a && /* @__PURE__ */ r("button", {
29
+ type: "button",
29
30
  onClick: () => o(""),
30
31
  className: "\n absolute right-3 top-1/2 -translate-y-1/2\n p-1 rounded-md\n text-[var(--color-text-muted)]\n hover:text-[var(--color-text-primary)]\n hover:bg-[var(--color-bg-subtle)]\n active:scale-95\n transition-all duration-200\n ",
31
32
  "aria-label": "Clear search",
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","names":[],"sources":["../../../../../src/organization-management/shared/components/input/SearchInput.tsx"],"sourcesContent":["import { Search, X } from 'lucide-react';\nimport { useTr } from '../../hooks/useTr';\n\ninterface SearchInputProps {\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n className?: string;\n label?: string;\n inputId?: string;\n}\n\n/**\n * SearchInput\n * Reusable search input component with clear button\n */\nexport function SearchInput({\n value,\n onChange,\n placeholder,\n className = '',\n label,\n inputId,\n}: SearchInputProps) {\n const tr = useTr();\n const resolvedPlaceholder = placeholder ?? tr('common.search.placeholder', 'Search...');\n return (\n <div className={`relative ${className}`}>\n {label ? (\n <label htmlFor={inputId} className=\"sr-only\">\n {label}\n </label>\n ) : null}\n <Search\n size={18}\n className=\"absolute left-3 top-1/2 -translate-y-1/2 text-[var(--color-text-muted)]\"\n />\n <input\n id={inputId}\n type=\"text\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n placeholder={resolvedPlaceholder}\n aria-label={label ?? resolvedPlaceholder}\n className=\"\n w-full pl-[3.25rem] pr-10 py-2\n bg-[var(--color-bg-surface)]\n border border-[var(--color-border-default)]\n rounded-lg\n text-[var(--color-text-primary)]\n placeholder:text-[var(--color-text-muted)]\n focus:outline-none focus:ring-2 focus:ring-[var(--color-border-focus)]\n transition-all duration-200\n \"\n />\n {value && (\n <button\n onClick={() => onChange('')}\n className=\"\n absolute right-3 top-1/2 -translate-y-1/2\n p-1 rounded-md\n text-[var(--color-text-muted)]\n hover:text-[var(--color-text-primary)]\n hover:bg-[var(--color-bg-subtle)]\n active:scale-95\n transition-all duration-200\n \"\n aria-label=\"Clear search\"\n >\n <X size={16} />\n </button>\n )}\n </div>\n );\n}\n"],"mappings":";;;;AAgBA,SAAgB,EAAY,EAC1B,UACA,aACA,gBACA,eAAY,IACZ,UACA,cACmB;CACnB,IAAM,IAAK,GAAO,EACZ,IAAsB,KAAe,EAAG,6BAA6B,YAAY;AACvF,QACE,kBAAC,OAAD;EAAK,WAAW,YAAY;YAA5B;GACG,IACC,kBAAC,SAAD;IAAO,SAAS;IAAS,WAAU;cAChC;IACK,CAAA,GACN;GACJ,kBAAC,GAAD;IACE,MAAM;IACN,WAAU;IACV,CAAA;GACF,kBAAC,SAAD;IACE,IAAI;IACJ,MAAK;IACE;IACP,WAAW,MAAM,EAAS,EAAE,OAAO,MAAM;IACzC,aAAa;IACb,cAAY,KAAS;IACrB,WAAU;IAUV,CAAA;GACD,KACC,kBAAC,UAAD;IACE,eAAe,EAAS,GAAG;IAC3B,WAAU;IASV,cAAW;cAEX,kBAAC,GAAD,EAAG,MAAM,IAAM,CAAA;IACR,CAAA;GAEP"}
1
+ {"version":3,"file":"SearchInput.js","names":[],"sources":["../../../../../src/organization-management/shared/components/input/SearchInput.tsx"],"sourcesContent":["import { Search, X } from 'lucide-react';\nimport { useTr } from '../../hooks/useTr';\n\ninterface SearchInputProps {\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n className?: string;\n label?: string;\n inputId?: string;\n}\n\n/**\n * SearchInput\n * Reusable search input component with clear button\n */\nexport function SearchInput({\n value,\n onChange,\n placeholder,\n className = '',\n label,\n inputId,\n}: SearchInputProps) {\n const tr = useTr();\n const resolvedPlaceholder = placeholder ?? tr('common.search.placeholder', 'Search...');\n return (\n <div className={`relative ${className}`}>\n {label ? (\n <label htmlFor={inputId} className=\"sr-only\">\n {label}\n </label>\n ) : null}\n <Search\n size={18}\n className=\"absolute left-3 top-1/2 -translate-y-1/2 text-[var(--color-text-muted)]\"\n />\n <input\n id={inputId}\n type=\"text\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n placeholder={resolvedPlaceholder}\n aria-label={label ?? resolvedPlaceholder}\n className=\"\n w-full pl-[3.25rem] pr-10 py-2\n bg-[var(--color-bg-surface)]\n border border-[var(--color-border-default)]\n rounded-lg\n text-[var(--color-text-primary)]\n placeholder:text-[var(--color-text-muted)]\n focus:outline-none focus:ring-2 focus:ring-[var(--color-border-focus)]\n transition-all duration-200\n \"\n />\n {value && (\n <button type=\"button\"\n onClick={() => onChange('')}\n className=\"\n absolute right-3 top-1/2 -translate-y-1/2\n p-1 rounded-md\n text-[var(--color-text-muted)]\n hover:text-[var(--color-text-primary)]\n hover:bg-[var(--color-bg-subtle)]\n active:scale-95\n transition-all duration-200\n \"\n aria-label=\"Clear search\"\n >\n <X size={16} />\n </button>\n )}\n </div>\n );\n}\n"],"mappings":";;;;AAgBA,SAAgB,EAAY,EAC1B,UACA,aACA,gBACA,eAAY,IACZ,UACA,cACmB;CACnB,IAAM,IAAK,GAAO,EACZ,IAAsB,KAAe,EAAG,6BAA6B,YAAY;AACvF,QACE,kBAAC,OAAD;EAAK,WAAW,YAAY;YAA5B;GACG,IACC,kBAAC,SAAD;IAAO,SAAS;IAAS,WAAU;cAChC;IACK,CAAA,GACN;GACJ,kBAAC,GAAD;IACE,MAAM;IACN,WAAU;IACV,CAAA;GACF,kBAAC,SAAD;IACE,IAAI;IACJ,MAAK;IACE;IACP,WAAW,MAAM,EAAS,EAAE,OAAO,MAAM;IACzC,aAAa;IACb,cAAY,KAAS;IACrB,WAAU;IAUV,CAAA;GACD,KACC,kBAAC,UAAD;IAAQ,MAAK;IACX,eAAe,EAAS,GAAG;IAC3B,WAAU;IASV,cAAW;cAEX,kBAAC,GAAD,EAAG,MAAM,IAAM,CAAA;IACR,CAAA;GAEP"}
@@ -12,7 +12,7 @@ function r({ checked: r, indeterminate: i = !1, disabled: a = !1, onChange: o, a
12
12
  disabled: a,
13
13
  "aria-label": s,
14
14
  onChange: (e) => o(e.target.checked),
15
- className: "h-4 w-4 rounded border-[var(--color-border-default)] text-[var(--color-action-primary-bg)] focus:ring-2 focus:ring-[var(--color-border-focus)]"
15
+ className: "size-4 rounded border-[var(--color-border-default)] text-[var(--color-action-primary-bg)] focus:ring-2 focus:ring-[var(--color-border-focus)]"
16
16
  });
17
17
  }
18
18
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionCheckbox.js","names":[],"sources":["../../../../../src/organization-management/shared/components/input/SelectionCheckbox.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\ninterface SelectionCheckboxProps {\n checked: boolean;\n indeterminate?: boolean;\n disabled?: boolean;\n onChange: (checked: boolean) => void;\n ariaLabel: string;\n}\n\nexport function SelectionCheckbox({\n checked,\n indeterminate = false,\n disabled = false,\n onChange,\n ariaLabel,\n}: SelectionCheckboxProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate && !checked;\n }\n }, [checked, indeterminate]);\n\n return (\n <input\n ref={inputRef}\n type=\"checkbox\"\n checked={checked}\n disabled={disabled}\n aria-label={ariaLabel}\n onChange={(event) => onChange(event.target.checked)}\n className=\"h-4 w-4 rounded border-[var(--color-border-default)] text-[var(--color-action-primary-bg)] focus:ring-2 focus:ring-[var(--color-border-focus)]\"\n />\n );\n}\n"],"mappings":";;;AAUA,SAAgB,EAAkB,EAChC,YACA,mBAAgB,IAChB,cAAW,IACX,aACA,gBACyB;CACzB,IAAM,IAAW,EAAyB,KAAK;AAQ/C,QANA,QAAgB;AACd,EAAI,EAAS,YACX,EAAS,QAAQ,gBAAgB,KAAiB,CAAC;IAEpD,CAAC,GAAS,EAAc,CAAC,EAG1B,kBAAC,SAAD;EACE,KAAK;EACL,MAAK;EACI;EACC;EACV,cAAY;EACZ,WAAW,MAAU,EAAS,EAAM,OAAO,QAAQ;EACnD,WAAU;EACV,CAAA"}
1
+ {"version":3,"file":"SelectionCheckbox.js","names":[],"sources":["../../../../../src/organization-management/shared/components/input/SelectionCheckbox.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\ninterface SelectionCheckboxProps {\n checked: boolean;\n indeterminate?: boolean;\n disabled?: boolean;\n onChange: (checked: boolean) => void;\n ariaLabel: string;\n}\n\nexport function SelectionCheckbox({\n checked,\n indeterminate = false,\n disabled = false,\n onChange,\n ariaLabel,\n}: SelectionCheckboxProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate && !checked;\n }\n }, [checked, indeterminate]);\n\n return (\n <input\n ref={inputRef}\n type=\"checkbox\"\n checked={checked}\n disabled={disabled}\n aria-label={ariaLabel}\n onChange={(event) => onChange(event.target.checked)}\n className=\"size-4 rounded border-[var(--color-border-default)] text-[var(--color-action-primary-bg)] focus:ring-2 focus:ring-[var(--color-border-focus)]\"\n />\n );\n}\n"],"mappings":";;;AAUA,SAAgB,EAAkB,EAChC,YACA,mBAAgB,IAChB,cAAW,IACX,aACA,gBACyB;CACzB,IAAM,IAAW,EAAyB,KAAK;AAQ/C,QANA,QAAgB;AACd,EAAI,EAAS,YACX,EAAS,QAAQ,gBAAgB,KAAiB,CAAC;IAEpD,CAAC,GAAS,EAAc,CAAC,EAG1B,kBAAC,SAAD;EACE,KAAK;EACL,MAAK;EACI;EACC;EACV,cAAY;EACZ,WAAW,MAAU,EAAS,EAAM,OAAO,QAAQ;EACnD,WAAU;EACV,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","names":[],"sources":["../../../../src/organization-management/shared/types/graphql.ts"],"sourcesContent":["/**\n * Shared GraphQL types\n * Generated types will be added via GraphQL Codegen\n */\n\n// Pagination\nexport interface PageInfo {\n totalCount: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n startCursor?: string;\n endCursor?: string;\n}\n\nexport interface PaginationInput {\n first?: number;\n after?: string;\n last?: number;\n before?: string;\n}\n\n// Connection pattern\nexport interface Connection<T> {\n items: T[];\n pageInfo: PageInfo;\n}\n\n// Common enums\nexport enum TenantStatus {\n ACTIVE = 'ACTIVE',\n INACTIVE = 'INACTIVE',\n SUSPENDED = 'SUSPENDED',\n}\n\nexport enum OrganizationStatus {\n ACTIVE = 'ACTIVE',\n INACTIVE = 'INACTIVE',\n ARCHIVED = 'ARCHIVED',\n}\n\nexport enum WorkspaceStatus {\n ACTIVE = 'ACTIVE',\n INACTIVE = 'INACTIVE',\n ARCHIVED = 'ARCHIVED',\n}\n\nexport enum WorkspaceVisibility {\n PRIVATE = 'PRIVATE',\n PUBLIC = 'PUBLIC',\n INTERNAL = 'INTERNAL',\n}\n\nexport enum OrganizationRole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n TENANT_ADMIN = 'TENANT_ADMIN',\n ORG_ADMIN = 'ORG_ADMIN',\n WORKSPACE_ADMIN = 'WORKSPACE_ADMIN',\n MEMBER = 'MEMBER',\n GUEST = 'GUEST',\n}\n\nexport enum WorkspaceRole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n TENANT_ADMIN = 'TENANT_ADMIN',\n ORG_ADMIN = 'ORG_ADMIN',\n WORKSPACE_ADMIN = 'WORKSPACE_ADMIN',\n MEMBER = 'MEMBER',\n GUEST = 'GUEST',\n}\n\nexport enum ProductStatus {\n ACTIVE = 'ACTIVE',\n BETA = 'BETA',\n DEPRECATED = 'DEPRECATED',\n COMING_SOON = 'COMING_SOON',\n}\n\n// Base entity types (will be replaced by codegen)\nexport interface Tenant {\n id: string;\n name: string;\n slug: string;\n status: TenantStatus;\n subscriptionTier?: string;\n billingAccountId?: string;\n customDomain?: string;\n logoUrl?: string;\n metadata?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n organizations?: Organization[];\n products?: PlatformProduct[];\n}\n\nexport interface Organization {\n id: string;\n tenantId: string;\n name: string;\n slug: string;\n description?: string;\n logo?: string;\n website?: string;\n status: OrganizationStatus;\n metadata?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n memberCount?: number;\n workspaceCount?: number;\n workspaces?: Workspace[];\n}\n\nexport interface Workspace {\n id: string;\n organizationId: string;\n tenantId: string;\n name: string;\n slug: string;\n status: WorkspaceStatus;\n type: string; // PERSONAL, TEAM, etc.\n memberCount?: number;\n endpoint?: string;\n region?: string;\n metadata?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface Member {\n id: string;\n userId: string;\n organizationId: string;\n role: string;\n invitedBy?: string;\n joinedAt?: string;\n}\n\nexport interface PlatformProduct {\n id: string;\n name: string;\n slug: string;\n description?: string;\n category?: string;\n status: ProductStatus;\n iconUrl?: string;\n version?: string;\n metadata?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n"],"mappings":";AAkCA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,WAAA,YACA,EAAA,WAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,WAAA,YACA,EAAA,WAAA;KACD"}
1
+ {"version":3,"file":"graphql.js","names":[],"sources":["../../../../src/organization-management/shared/types/graphql.ts"],"sourcesContent":["/**\n * Shared GraphQL types\n * Generated types will be added via GraphQL Codegen\n */\n\n// Pagination\nexport interface PageInfo {\n totalCount: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n startCursor?: string;\n endCursor?: string;\n}\n\nexport interface PaginationInput {\n first?: number;\n after?: string;\n last?: number;\n before?: string;\n}\n\n// Connection pattern\nexport interface Connection<T> {\n items: T[];\n pageInfo: PageInfo;\n}\n\n// Common enums\nenum TenantStatus {\n ACTIVE = 'ACTIVE',\n INACTIVE = 'INACTIVE',\n SUSPENDED = 'SUSPENDED',\n}\n\nexport enum OrganizationStatus {\n ACTIVE = 'ACTIVE',\n INACTIVE = 'INACTIVE',\n ARCHIVED = 'ARCHIVED',\n}\n\nexport enum WorkspaceStatus {\n ACTIVE = 'ACTIVE',\n INACTIVE = 'INACTIVE',\n ARCHIVED = 'ARCHIVED',\n}\n\nenum ProductStatus {\n ACTIVE = 'ACTIVE',\n BETA = 'BETA',\n DEPRECATED = 'DEPRECATED',\n COMING_SOON = 'COMING_SOON',\n}\n\n// Base entity types (will be replaced by codegen)\nexport interface Tenant {\n id: string;\n name: string;\n slug: string;\n status: TenantStatus;\n subscriptionTier?: string;\n billingAccountId?: string;\n customDomain?: string;\n logoUrl?: string;\n metadata?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n organizations?: Organization[];\n products?: PlatformProduct[];\n}\n\nexport interface Organization {\n id: string;\n tenantId: string;\n name: string;\n slug: string;\n description?: string;\n logo?: string;\n website?: string;\n status: OrganizationStatus;\n metadata?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n memberCount?: number;\n workspaceCount?: number;\n workspaces?: Workspace[];\n}\n\nexport interface Workspace {\n id: string;\n organizationId: string;\n tenantId: string;\n name: string;\n slug: string;\n status: WorkspaceStatus;\n type: string; // PERSONAL, TEAM, etc.\n memberCount?: number;\n endpoint?: string;\n region?: string;\n metadata?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface Member {\n id: string;\n userId: string;\n organizationId: string;\n role: string;\n invitedBy?: string;\n joinedAt?: string;\n}\n\nexport interface PlatformProduct {\n id: string;\n name: string;\n slug: string;\n description?: string;\n category?: string;\n status: ProductStatus;\n iconUrl?: string;\n version?: string;\n metadata?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n"],"mappings":";AAkCA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,WAAA,YACA,EAAA,WAAA;KACD,EAEW,IAAL,yBAAA,GAAA;QACL,EAAA,SAAA,UACA,EAAA,WAAA,YACA,EAAA,WAAA;KACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-organization",
3
- "version": "2026.525.2",
3
+ "version": "2026.527.1",
4
4
  "description": "Organization management microfrontend for Burdenoff products",
5
5
  "type": "module",
6
6
  "files": [