@hanzo/iam 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/react.d.ts CHANGED
@@ -124,4 +124,41 @@ export declare function useIamToken(): {
124
124
  refresh: () => Promise<string | null>;
125
125
  };
126
126
  export { IamContext };
127
+ export interface OrgProjectSwitcherProps {
128
+ organizations: Array<{
129
+ name: string;
130
+ displayName?: string;
131
+ owner?: string;
132
+ }>;
133
+ currentOrgId: string | null;
134
+ switchOrg: (orgId: string) => void;
135
+ projects?: Array<{
136
+ name: string;
137
+ displayName?: string;
138
+ organization?: string;
139
+ isDefault?: boolean;
140
+ }>;
141
+ currentProjectId?: string | null;
142
+ switchProject?: (projectId: string | null) => void;
143
+ onTenantChange?: (orgId: string | null, projectId: string | null) => void;
144
+ environment?: string | null;
145
+ className?: string;
146
+ alwaysShow?: boolean;
147
+ }
148
+ /**
149
+ * Organization and project switcher component.
150
+ *
151
+ * @example
152
+ * ```tsx
153
+ * import { useOrganizations, OrgProjectSwitcher } from '@hanzo/iam/react'
154
+ *
155
+ * function Nav() {
156
+ * const orgState = useOrganizations()
157
+ * return <OrgProjectSwitcher {...orgState} />
158
+ * }
159
+ * ```
160
+ */
161
+ export declare function OrgProjectSwitcher({ organizations, currentOrgId, switchOrg, projects, currentProjectId, switchProject, onTenantChange, environment, className, alwaysShow, }: OrgProjectSwitcherProps): import("react").DetailedReactHTMLElement<{
162
+ className: string;
163
+ }, HTMLElement> | null;
127
164
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
package/dist/react.js CHANGED
@@ -466,4 +466,57 @@ export function useIamToken() {
466
466
  }
467
467
  // Re-export context for advanced use
468
468
  export { IamContext };
469
+ /**
470
+ * Organization and project switcher component.
471
+ *
472
+ * @example
473
+ * ```tsx
474
+ * import { useOrganizations, OrgProjectSwitcher } from '@hanzo/iam/react'
475
+ *
476
+ * function Nav() {
477
+ * const orgState = useOrganizations()
478
+ * return <OrgProjectSwitcher {...orgState} />
479
+ * }
480
+ * ```
481
+ */
482
+ export function OrgProjectSwitcher({ organizations, currentOrgId, switchOrg, projects = [], currentProjectId = null, switchProject, onTenantChange, environment, className = "", alwaysShow = false, }) {
483
+ useEffect(() => {
484
+ onTenantChange?.(currentOrgId, currentProjectId ?? null);
485
+ }, [currentOrgId, currentProjectId, onTenantChange]);
486
+ const handleOrgChange = useCallback((e) => switchOrg(e.target.value), [switchOrg]);
487
+ const handleProjectChange = useCallback((e) => switchProject?.(e.target.value || null), [switchProject]);
488
+ if (!alwaysShow && organizations.length <= 1 && projects.length <= 1) {
489
+ if (organizations.length === 1) {
490
+ const org = organizations[0];
491
+ return createElement("div", { className: `flex items-center gap-2 text-sm ${className}` }, createElement("span", { className: "font-medium" }, org.displayName || org.name), projects.length === 1
492
+ ? [
493
+ createElement("span", { className: "text-muted-foreground", key: "sep" }, "/"),
494
+ createElement("span", { key: "proj" }, projects[0].displayName || projects[0].name),
495
+ ]
496
+ : null, environment
497
+ ? createElement("span", { className: "rounded-full bg-muted px-2 py-0.5 text-xs text-muted-foreground" }, environment)
498
+ : null);
499
+ }
500
+ return null;
501
+ }
502
+ return createElement("div", { className: `flex items-center gap-2 ${className}` }, createElement("select", {
503
+ value: currentOrgId ?? "",
504
+ onChange: handleOrgChange,
505
+ className: "h-8 rounded-md border border-border bg-background px-2 text-sm text-foreground focus:outline-none focus:ring-1 focus:ring-ring",
506
+ "aria-label": "Switch organization",
507
+ }, ...organizations.map((org) => createElement("option", { key: org.name, value: org.name }, org.displayName || org.name))), projects.length > 0 && switchProject
508
+ ? [
509
+ createElement("span", { className: "text-muted-foreground", key: "sep" }, "/"),
510
+ createElement("select", {
511
+ key: "proj-select",
512
+ value: currentProjectId ?? "",
513
+ onChange: handleProjectChange,
514
+ className: "h-8 rounded-md border border-border bg-background px-2 text-sm text-foreground focus:outline-none focus:ring-1 focus:ring-ring",
515
+ "aria-label": "Switch project",
516
+ }, ...projects.map((proj) => createElement("option", { key: proj.name, value: proj.name }, proj.displayName || proj.name))),
517
+ ]
518
+ : null, environment
519
+ ? createElement("span", { className: "rounded-full bg-muted px-2 py-0.5 text-xs text-muted-foreground" }, environment)
520
+ : null);
521
+ }
469
522
  //# sourceMappingURL=react.js.map
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/iam",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "TypeScript SDK for Hanzo IAM — OIDC auth, JWT validation, OAuth2 PKCE, user/org/project APIs",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/react.ts CHANGED
@@ -591,3 +591,129 @@ export function useIamToken(): {
591
591
 
592
592
  // Re-export context for advanced use
593
593
  export { IamContext };
594
+
595
+ // ---------------------------------------------------------------------------
596
+ // OrgProjectSwitcher component
597
+ // ---------------------------------------------------------------------------
598
+
599
+ export interface OrgProjectSwitcherProps {
600
+ organizations: Array<{ name: string; displayName?: string; owner?: string }>;
601
+ currentOrgId: string | null;
602
+ switchOrg: (orgId: string) => void;
603
+ projects?: Array<{ name: string; displayName?: string; organization?: string; isDefault?: boolean }>;
604
+ currentProjectId?: string | null;
605
+ switchProject?: (projectId: string | null) => void;
606
+ onTenantChange?: (orgId: string | null, projectId: string | null) => void;
607
+ environment?: string | null;
608
+ className?: string;
609
+ alwaysShow?: boolean;
610
+ }
611
+
612
+ /**
613
+ * Organization and project switcher component.
614
+ *
615
+ * @example
616
+ * ```tsx
617
+ * import { useOrganizations, OrgProjectSwitcher } from '@hanzo/iam/react'
618
+ *
619
+ * function Nav() {
620
+ * const orgState = useOrganizations()
621
+ * return <OrgProjectSwitcher {...orgState} />
622
+ * }
623
+ * ```
624
+ */
625
+ export function OrgProjectSwitcher({
626
+ organizations,
627
+ currentOrgId,
628
+ switchOrg,
629
+ projects = [],
630
+ currentProjectId = null,
631
+ switchProject,
632
+ onTenantChange,
633
+ environment,
634
+ className = "",
635
+ alwaysShow = false,
636
+ }: OrgProjectSwitcherProps) {
637
+ useEffect(() => {
638
+ onTenantChange?.(currentOrgId, currentProjectId ?? null);
639
+ }, [currentOrgId, currentProjectId, onTenantChange]);
640
+
641
+ const handleOrgChange = useCallback(
642
+ (e: { target: { value: string } }) => switchOrg(e.target.value),
643
+ [switchOrg],
644
+ );
645
+
646
+ const handleProjectChange = useCallback(
647
+ (e: { target: { value: string } }) => switchProject?.(e.target.value || null),
648
+ [switchProject],
649
+ );
650
+
651
+ if (!alwaysShow && organizations.length <= 1 && projects.length <= 1) {
652
+ if (organizations.length === 1) {
653
+ const org = organizations[0];
654
+ return createElement(
655
+ "div",
656
+ { className: `flex items-center gap-2 text-sm ${className}` },
657
+ createElement("span", { className: "font-medium" }, org.displayName || org.name),
658
+ projects.length === 1
659
+ ? [
660
+ createElement("span", { className: "text-muted-foreground", key: "sep" }, "/"),
661
+ createElement("span", { key: "proj" }, projects[0].displayName || projects[0].name),
662
+ ]
663
+ : null,
664
+ environment
665
+ ? createElement(
666
+ "span",
667
+ { className: "rounded-full bg-muted px-2 py-0.5 text-xs text-muted-foreground" },
668
+ environment,
669
+ )
670
+ : null,
671
+ );
672
+ }
673
+ return null;
674
+ }
675
+
676
+ return createElement(
677
+ "div",
678
+ { className: `flex items-center gap-2 ${className}` },
679
+ createElement(
680
+ "select",
681
+ {
682
+ value: currentOrgId ?? "",
683
+ onChange: handleOrgChange,
684
+ className:
685
+ "h-8 rounded-md border border-border bg-background px-2 text-sm text-foreground focus:outline-none focus:ring-1 focus:ring-ring",
686
+ "aria-label": "Switch organization",
687
+ },
688
+ ...organizations.map((org) =>
689
+ createElement("option", { key: org.name, value: org.name }, org.displayName || org.name),
690
+ ),
691
+ ),
692
+ projects.length > 0 && switchProject
693
+ ? [
694
+ createElement("span", { className: "text-muted-foreground", key: "sep" }, "/"),
695
+ createElement(
696
+ "select",
697
+ {
698
+ key: "proj-select",
699
+ value: currentProjectId ?? "",
700
+ onChange: handleProjectChange,
701
+ className:
702
+ "h-8 rounded-md border border-border bg-background px-2 text-sm text-foreground focus:outline-none focus:ring-1 focus:ring-ring",
703
+ "aria-label": "Switch project",
704
+ },
705
+ ...projects.map((proj) =>
706
+ createElement("option", { key: proj.name, value: proj.name }, proj.displayName || proj.name),
707
+ ),
708
+ ),
709
+ ]
710
+ : null,
711
+ environment
712
+ ? createElement(
713
+ "span",
714
+ { className: "rounded-full bg-muted px-2 py-0.5 text-xs text-muted-foreground" },
715
+ environment,
716
+ )
717
+ : null,
718
+ );
719
+ }