@kelpie/ui 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/dist/api/resources/activities.d.ts +2 -1
  2. package/dist/api/resources/activities.d.ts.map +1 -1
  3. package/dist/api/resources/activities.js +6 -2
  4. package/dist/api/resources/activities.js.map +1 -1
  5. package/dist/api/resources/conversions.d.ts +16 -0
  6. package/dist/api/resources/conversions.d.ts.map +1 -0
  7. package/dist/api/resources/conversions.js +81 -0
  8. package/dist/api/resources/conversions.js.map +1 -0
  9. package/dist/api/resources/enquiries.d.ts +2 -7
  10. package/dist/api/resources/enquiries.d.ts.map +1 -1
  11. package/dist/api/resources/enquiries.js +2 -30
  12. package/dist/api/resources/enquiries.js.map +1 -1
  13. package/dist/api/resources/importJobs.d.ts +2 -2
  14. package/dist/api/resources/importJobs.d.ts.map +1 -1
  15. package/dist/api/resources/importJobs.js.map +1 -1
  16. package/dist/app/KelpieApp.js +1 -1
  17. package/dist/app/KelpieApp.js.map +1 -1
  18. package/dist/components/ActivitiesPanel.d.ts +2 -2
  19. package/dist/components/ActivitiesPanel.d.ts.map +1 -1
  20. package/dist/components/ActivitiesPanel.js +7 -5
  21. package/dist/components/ActivitiesPanel.js.map +1 -1
  22. package/dist/components/ApiKeysPanel.d.ts +0 -7
  23. package/dist/components/ApiKeysPanel.d.ts.map +1 -1
  24. package/dist/components/ApiKeysPanel.js +83 -16
  25. package/dist/components/ApiKeysPanel.js.map +1 -1
  26. package/dist/components/ConvertRecordDialog.d.ts +30 -0
  27. package/dist/components/ConvertRecordDialog.d.ts.map +1 -0
  28. package/dist/components/ConvertRecordDialog.js +50 -0
  29. package/dist/components/ConvertRecordDialog.js.map +1 -0
  30. package/dist/components/Shell.d.ts.map +1 -1
  31. package/dist/components/Shell.js +19 -7
  32. package/dist/components/Shell.js.map +1 -1
  33. package/dist/index.d.ts +4 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +5 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/pages/DealDetail.d.ts.map +1 -1
  38. package/dist/pages/DealDetail.js +15 -2
  39. package/dist/pages/DealDetail.js.map +1 -1
  40. package/dist/pages/DecisionsPage.d.ts.map +1 -1
  41. package/dist/pages/DecisionsPage.js +1 -7
  42. package/dist/pages/DecisionsPage.js.map +1 -1
  43. package/dist/pages/EnquiryDetail.d.ts.map +1 -1
  44. package/dist/pages/EnquiryDetail.js +17 -25
  45. package/dist/pages/EnquiryDetail.js.map +1 -1
  46. package/dist/pages/ListDetail.d.ts.map +1 -1
  47. package/dist/pages/ListDetail.js +1 -14
  48. package/dist/pages/ListDetail.js.map +1 -1
  49. package/dist/pages/OpportunityDetail.d.ts.map +1 -1
  50. package/dist/pages/OpportunityDetail.js +15 -2
  51. package/dist/pages/OpportunityDetail.js.map +1 -1
  52. package/dist/pages/PartnershipDetail.d.ts.map +1 -1
  53. package/dist/pages/PartnershipDetail.js +15 -2
  54. package/dist/pages/PartnershipDetail.js.map +1 -1
  55. package/dist/pages/RaiseDetail.d.ts.map +1 -1
  56. package/dist/pages/RaiseDetail.js +15 -2
  57. package/dist/pages/RaiseDetail.js.map +1 -1
  58. package/dist/pages/account/SecurityPage.js +2 -2
  59. package/dist/pages/account/SecurityPage.js.map +1 -1
  60. package/dist/pages/admin/DataPage.d.ts.map +1 -1
  61. package/dist/pages/admin/DataPage.js +3 -3
  62. package/dist/pages/admin/DataPage.js.map +1 -1
  63. package/dist/pages/admin/PrivacyPage.js +3 -3
  64. package/dist/pages/admin/PrivacyPage.js.map +1 -1
  65. package/dist/pages/admin/TeamPage.js +1 -1
  66. package/dist/pages/admin/TeamPage.js.map +1 -1
  67. package/dist/pages/admin/WorkspaceSettingsPage.js +2 -12
  68. package/dist/pages/admin/WorkspaceSettingsPage.js.map +1 -1
  69. package/dist/pages/auth/AuthForm.d.ts +18 -0
  70. package/dist/pages/auth/AuthForm.d.ts.map +1 -1
  71. package/dist/pages/auth/AuthForm.js +17 -0
  72. package/dist/pages/auth/AuthForm.js.map +1 -1
  73. package/dist/pages/auth/AuthMethods.d.ts +12 -0
  74. package/dist/pages/auth/AuthMethods.d.ts.map +1 -0
  75. package/dist/pages/auth/AuthMethods.js +20 -0
  76. package/dist/pages/auth/AuthMethods.js.map +1 -0
  77. package/dist/pages/auth/SignInPage.d.ts +7 -0
  78. package/dist/pages/auth/SignInPage.d.ts.map +1 -1
  79. package/dist/pages/auth/SignInPage.js +3 -8
  80. package/dist/pages/auth/SignInPage.js.map +1 -1
  81. package/dist/pages/auth/SignUpPage.d.ts.map +1 -1
  82. package/dist/pages/auth/SignUpPage.js +2 -1
  83. package/dist/pages/auth/SignUpPage.js.map +1 -1
  84. package/dist/pages/auth/nextPath.d.ts +15 -0
  85. package/dist/pages/auth/nextPath.d.ts.map +1 -0
  86. package/dist/pages/auth/nextPath.js +17 -0
  87. package/dist/pages/auth/nextPath.js.map +1 -0
  88. package/dist/pages/forms/AddFieldMenu.js +2 -2
  89. package/dist/pages/forms/AddFieldMenu.js.map +1 -1
  90. package/dist/pages/forms/FieldsEditor.d.ts.map +1 -1
  91. package/dist/pages/forms/FieldsEditor.js +22 -10
  92. package/dist/pages/forms/FieldsEditor.js.map +1 -1
  93. package/dist/pages/forms/MapTargetSearch.d.ts +7 -0
  94. package/dist/pages/forms/MapTargetSearch.d.ts.map +1 -0
  95. package/dist/pages/forms/MapTargetSearch.js +32 -0
  96. package/dist/pages/forms/MapTargetSearch.js.map +1 -0
  97. package/dist/pages/forms/fieldList.d.ts +6 -7
  98. package/dist/pages/forms/fieldList.d.ts.map +1 -1
  99. package/dist/pages/forms/fieldList.js +14 -16
  100. package/dist/pages/forms/fieldList.js.map +1 -1
  101. package/dist/pages/forms/template.d.ts.map +1 -1
  102. package/dist/pages/forms/template.js +7 -0
  103. package/dist/pages/forms/template.js.map +1 -1
  104. package/dist/registry/context.d.ts +3 -1
  105. package/dist/registry/context.d.ts.map +1 -1
  106. package/dist/registry/context.js +4 -0
  107. package/dist/registry/context.js.map +1 -1
  108. package/dist/registry/contributions.d.ts +24 -0
  109. package/dist/registry/contributions.d.ts.map +1 -1
  110. package/dist/registry/contributions.js.map +1 -1
  111. package/dist/registry/registry.d.ts +4 -1
  112. package/dist/registry/registry.d.ts.map +1 -1
  113. package/dist/registry/registry.js +6 -0
  114. package/dist/registry/registry.js.map +1 -1
  115. package/package.json +2 -2
  116. package/src/api/resources/activities.ts +10 -2
  117. package/src/api/resources/conversions.ts +125 -0
  118. package/src/api/resources/enquiries.ts +9 -35
  119. package/src/api/resources/importJobs.ts +3 -2
  120. package/src/app/KelpieApp.tsx +1 -0
  121. package/src/components/ActivitiesPanel.tsx +20 -14
  122. package/src/components/ApiKeysPanel.tsx +206 -21
  123. package/src/components/ConvertRecordDialog.tsx +210 -0
  124. package/src/components/Shell.tsx +91 -36
  125. package/src/index.ts +7 -0
  126. package/src/pages/DealDetail.tsx +35 -0
  127. package/src/pages/DecisionsPage.tsx +0 -14
  128. package/src/pages/EnquiryDetail.tsx +37 -90
  129. package/src/pages/ListDetail.tsx +0 -47
  130. package/src/pages/OpportunityDetail.tsx +35 -0
  131. package/src/pages/PartnershipDetail.tsx +35 -0
  132. package/src/pages/RaiseDetail.tsx +35 -0
  133. package/src/pages/account/SecurityPage.tsx +6 -1
  134. package/src/pages/admin/DataPage.tsx +14 -9
  135. package/src/pages/admin/PrivacyPage.tsx +4 -4
  136. package/src/pages/admin/TeamPage.tsx +1 -2
  137. package/src/pages/admin/WorkspaceSettingsPage.tsx +1 -31
  138. package/src/pages/auth/AuthForm.tsx +38 -0
  139. package/src/pages/auth/AuthMethods.tsx +29 -0
  140. package/src/pages/auth/SignInPage.tsx +3 -8
  141. package/src/pages/auth/SignUpPage.tsx +7 -0
  142. package/src/pages/auth/nextPath.ts +17 -0
  143. package/src/pages/forms/AddFieldMenu.tsx +2 -2
  144. package/src/pages/forms/FieldsEditor.tsx +45 -20
  145. package/src/pages/forms/MapTargetSearch.tsx +69 -0
  146. package/src/pages/forms/fieldList.ts +34 -16
  147. package/src/pages/forms/template.ts +7 -0
  148. package/src/registry/context.ts +6 -0
  149. package/src/registry/contributions.ts +26 -0
  150. package/src/registry/registry.ts +12 -0
@@ -1,10 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from 'react';
2
+ import { API_KEY_PRESET_SCOPES, API_KEY_SCOPE_GROUPS, API_KEY_SCOPE_LABELS, expandApiKeyScopes, isApiKeyGranularScope, isApiKeyPresetScope, } from '@kelpie/schemas';
3
+ import { useMemo, useState } from 'react';
3
4
  import { useTimezone } from '../api/resources/account.js';
4
5
  import { useApiKeys, useCreateApiKey, useRevokeApiKey } from '../api/resources/apiKeys.js';
5
6
  import { formatDate } from '../lib/dates.js';
6
7
  import { CopyButton } from './CopyButton.js';
7
8
  import { ErrorPanel, LoadingPanel } from './QueryState.js';
9
+ const PRESET_OPTIONS = API_KEY_PRESET_SCOPES.filter((scope) => scope !== 'write:all');
8
10
  export function ApiKeysPanel({ kind, namePlaceholder, createTitle, emptyMessage, }) {
9
11
  const { records, isLoading, error } = useApiKeys(kind);
10
12
  const revokeApiKey = useRevokeApiKey();
@@ -26,40 +28,105 @@ export function ApiKeysPanel({ kind, namePlaceholder, createTitle, emptyMessage,
26
28
  function CreateKeyModal({ kind, title, namePlaceholder, onCreated, onCancel, }) {
27
29
  const createApiKey = useCreateApiKey();
28
30
  const [name, setName] = useState('');
31
+ const [accessMode, setAccessMode] = useState('full');
32
+ const [selectedPresets, setSelectedPresets] = useState([]);
33
+ const [selectedCustom, setSelectedCustom] = useState([]);
34
+ const [showCustom, setShowCustom] = useState(false);
35
+ const presetExpandedScopes = useMemo(() => expandApiKeyScopes(selectedPresets), [selectedPresets]);
36
+ const showScopeGrid = (accessMode === 'custom' && showCustom) ||
37
+ (accessMode === 'presets' && selectedPresets.length > 0);
38
+ function scopesForCreate() {
39
+ if (accessMode === 'full') {
40
+ return undefined;
41
+ }
42
+ if (accessMode === 'presets') {
43
+ return selectedPresets.length === 0 ? undefined : selectedPresets;
44
+ }
45
+ return selectedCustom.length === 0 ? undefined : selectedCustom;
46
+ }
29
47
  function submit(event) {
30
48
  event.preventDefault();
49
+ const scopes = scopesForCreate();
31
50
  createApiKey
32
- .runAsync({ name: name.trim(), kind })
51
+ .runAsync({
52
+ name: name.trim(),
53
+ kind,
54
+ ...(scopes === undefined ? {} : { scopes }),
55
+ })
33
56
  .then(onCreated)
34
57
  .catch(() => undefined);
35
58
  }
36
- return (_jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-ink/40 p-4", children: _jsx("div", { className: "animate-slide-in w-full max-w-md rounded-md border border-border bg-surface-raised p-5", children: _jsxs("form", { onSubmit: submit, children: [_jsx("h2", { className: "text-[15px] font-semibold text-ink", children: title }), _jsxs("label", { className: "mt-4 block", children: [_jsx("span", { className: "mb-1.5 block text-[12px] font-medium", children: "Name" }), _jsx("input", { value: name, onChange: (event) => {
59
+ function togglePreset(scope) {
60
+ setAccessMode('presets');
61
+ setSelectedCustom([]);
62
+ setShowCustom(false);
63
+ setSelectedPresets((current) => current.includes(scope) ? current.filter((entry) => entry !== scope) : [...current, scope]);
64
+ }
65
+ function toggleCustom(scope) {
66
+ setAccessMode('custom');
67
+ setSelectedPresets([]);
68
+ setSelectedCustom((current) => current.includes(scope) ? current.filter((entry) => entry !== scope) : [...current, scope]);
69
+ }
70
+ function isScopeChecked(scope) {
71
+ if (accessMode === 'custom') {
72
+ return selectedCustom.includes(scope);
73
+ }
74
+ if (accessMode === 'presets') {
75
+ return presetExpandedScopes.has(scope);
76
+ }
77
+ return false;
78
+ }
79
+ return (_jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-ink/40 p-4", children: _jsx("div", { className: "animate-slide-in max-h-[90vh] w-full max-w-lg overflow-y-auto rounded-md border border-border bg-surface-raised p-5", children: _jsxs("form", { onSubmit: submit, children: [_jsx("h2", { className: "text-[15px] font-semibold text-ink", children: title }), _jsxs("label", { className: "mt-4 block", children: [_jsx("span", { className: "mb-1.5 block text-[12px] font-medium", children: "Name" }), _jsx("input", { value: name, onChange: (event) => {
37
80
  setName(event.target.value);
38
- }, placeholder: namePlaceholder, required: true, autoFocus: true, className: "w-full rounded-md border border-border bg-surface px-3 py-2 text-[13px] outline-none focus:border-accent focus:ring-2 focus:ring-accent/20" })] }), createApiKey.error !== null && (_jsx("div", { className: "mt-3", children: _jsx(ErrorPanel, { error: createApiKey.error }) })), _jsxs("div", { className: "mt-4 flex justify-end gap-2", children: [_jsx("button", { type: "button", onClick: onCancel, className: "rounded-md px-3 py-2 text-[12px] font-medium text-ink-muted hover:text-ink", children: "Cancel" }), _jsx("button", { type: "submit", disabled: createApiKey.isPending, className: "rounded-md bg-accent px-3.5 py-2 text-[12px] font-semibold text-accent-fg hover:bg-accent-hover disabled:opacity-50", children: createApiKey.isPending ? 'Creating…' : 'Create' })] })] }) }) }));
81
+ }, placeholder: namePlaceholder, required: true, autoFocus: true, className: "w-full rounded-md border border-border bg-surface px-3 py-2 text-[13px] outline-none focus:border-accent focus:ring-2 focus:ring-accent/20" })] }), _jsxs("fieldset", { className: "mt-4", children: [_jsx("legend", { className: "mb-2 text-[12px] font-medium text-ink", children: "Access" }), _jsxs("div", { className: "space-y-2", children: [_jsxs("label", { className: "flex items-center gap-2 text-[13px] text-ink", children: [_jsx("input", { type: "radio", name: "access", checked: accessMode === 'full', onChange: () => {
82
+ setAccessMode('full');
83
+ setSelectedPresets([]);
84
+ setSelectedCustom([]);
85
+ setShowCustom(false);
86
+ } }), "Full access"] }), _jsxs("div", { className: "rounded-md border border-border p-3", children: [_jsx("p", { className: "mb-2 text-[11px] font-medium tracking-wide text-ink-muted uppercase", children: "Presets" }), _jsx("div", { className: "space-y-1.5", children: PRESET_OPTIONS.map((scope) => (_jsxs("label", { className: "flex items-center gap-2 text-[13px] text-ink", children: [_jsx("input", { type: "checkbox", checked: accessMode === 'presets' && selectedPresets.includes(scope), onChange: () => {
87
+ togglePreset(scope);
88
+ } }), API_KEY_SCOPE_LABELS[scope]] }, scope))) })] }), accessMode !== 'presets' && (_jsx("button", { type: "button", onClick: () => {
89
+ setShowCustom((open) => !open);
90
+ if (!showCustom) {
91
+ setAccessMode('custom');
92
+ setSelectedPresets([]);
93
+ }
94
+ }, className: "text-[12px] font-medium text-accent hover:underline", children: showCustom ? 'Hide custom scopes' : 'Custom scopes…' })), showScopeGrid && (_jsxs("div", { className: "space-y-3 rounded-md border border-border p-3", children: [accessMode === 'presets' && (_jsxs("p", { className: "text-[11px] text-ink-muted", children: ["Included in the selected preset", selectedPresets.length === 1 ? '' : 's', "."] })), API_KEY_SCOPE_GROUPS.map((group) => (_jsxs("div", { children: [_jsx("p", { className: "mb-1.5 text-[11px] font-medium tracking-wide text-ink-muted uppercase", children: group.label }), _jsx("div", { className: "grid grid-cols-1 gap-1 sm:grid-cols-2", children: group.scopes.map((scope) => (_jsxs("label", { className: `flex items-center gap-2 text-[12px] ${accessMode === 'presets' ? 'text-ink-muted' : 'text-ink'}`, children: [_jsx("input", { type: "checkbox", checked: isScopeChecked(scope), disabled: accessMode === 'presets', onChange: () => {
95
+ toggleCustom(scope);
96
+ } }), API_KEY_SCOPE_LABELS[scope]] }, scope))) })] }, group.label))), accessMode === 'presets' && (_jsx("button", { type: "button", onClick: () => {
97
+ setAccessMode('custom');
98
+ setSelectedPresets([]);
99
+ setSelectedCustom([...presetExpandedScopes]);
100
+ setShowCustom(true);
101
+ }, className: "text-[12px] font-medium text-accent hover:underline", children: "Switch to custom scopes\u2026" }))] }))] }), _jsx("p", { className: "mt-2 text-[11px] text-ink-faint", children: "Write includes read for the same resource. Presets cover many scopes at once." })] }), createApiKey.error !== null && (_jsx("div", { className: "mt-3", children: _jsx(ErrorPanel, { error: createApiKey.error }) })), _jsxs("div", { className: "mt-4 flex justify-end gap-2", children: [_jsx("button", { type: "button", onClick: onCancel, className: "rounded-md px-3 py-2 text-[12px] font-medium text-ink-muted hover:text-ink", children: "Cancel" }), _jsx("button", { type: "submit", disabled: createApiKey.isPending, className: "rounded-md bg-accent px-3.5 py-2 text-[12px] font-semibold text-accent-fg hover:bg-accent-hover disabled:opacity-50", children: createApiKey.isPending ? 'Creating…' : 'Create' })] })] }) }) }));
39
102
  }
40
- /**
41
- * The secret, shown once.
42
- *
43
- * Nothing can retrieve it afterwards, so this panel says so plainly instead of
44
- * leaving a reader to discover it by coming back for the value later.
45
- */
46
103
  function SecretOnce({ apiKey, onDismiss, }) {
47
104
  return (_jsxs("div", { className: "rounded-md border border-accent/40 bg-accent-soft px-4 py-3", children: [_jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("p", { className: "text-[13px] font-medium text-ink", children: "Copy this key now. It is not shown again." }), _jsx("code", { className: "mt-2 block break-all rounded border border-border bg-surface px-3 py-2 font-mono text-[12px] text-ink", children: apiKey.secret })] }), _jsx(CopyButton, { value: apiKey.secret, label: "Copy the API key" })] }), _jsx("button", { type: "button", onClick: onDismiss, className: "mt-2 text-[12px] font-medium text-accent hover:underline", children: "I have copied it" })] }));
48
105
  }
106
+ function formatScopeSummary(scopes) {
107
+ if (scopes.length === 0) {
108
+ return 'Full access';
109
+ }
110
+ const presets = scopes.filter(isApiKeyPresetScope);
111
+ const granular = scopes.filter(isApiKeyGranularScope);
112
+ if (granular.length === 0) {
113
+ return presets.map((scope) => API_KEY_SCOPE_LABELS[scope]).join(', ');
114
+ }
115
+ if (presets.length === 0) {
116
+ return `Custom (${String(scopes.length)} scopes)`;
117
+ }
118
+ return [...presets.map((scope) => API_KEY_SCOPE_LABELS[scope]), `Custom (${String(granular.length)})`].join(', ');
119
+ }
49
120
  function ApiKeyTable({ keys, emptyMessage, onRevoke, isRevoking, }) {
50
121
  if (keys.length === 0) {
51
122
  return (_jsx("p", { className: "rounded-md border border-border px-4 py-10 text-center text-[13px] text-ink-faint", children: emptyMessage }));
52
123
  }
53
- return (_jsx("div", { className: "overflow-hidden rounded-md border border-border", children: _jsxs("table", { className: "w-full text-left text-[13px]", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-border bg-surface text-[11px] font-semibold tracking-wide text-ink-muted uppercase", children: [_jsx("th", { className: "px-4 py-2.5", children: "Name" }), _jsx("th", { className: "px-4 py-2.5", children: "Prefix" }), _jsx("th", { className: "px-4 py-2.5", children: "Created" }), _jsx("th", { className: "px-4 py-2.5", children: "Last used" }), _jsx("th", { className: "px-4 py-2.5 text-right", children: "Actions" })] }) }), _jsx("tbody", { children: keys.map((key) => (_jsx(ApiKeyRow, { apiKey: key, onRevoke: onRevoke, isRevoking: isRevoking }, key.id))) })] }) }));
124
+ return (_jsx("div", { className: "overflow-hidden rounded-md border border-border", children: _jsxs("table", { className: "w-full text-left text-[13px]", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-border bg-surface text-[11px] font-semibold tracking-wide text-ink-muted uppercase", children: [_jsx("th", { className: "px-4 py-2.5", children: "Name" }), _jsx("th", { className: "px-4 py-2.5", children: "Scopes" }), _jsx("th", { className: "px-4 py-2.5", children: "Prefix" }), _jsx("th", { className: "px-4 py-2.5", children: "Created" }), _jsx("th", { className: "px-4 py-2.5", children: "Last used" }), _jsx("th", { className: "px-4 py-2.5 text-right", children: "Actions" })] }) }), _jsx("tbody", { children: keys.map((key) => (_jsx(ApiKeyRow, { apiKey: key, onRevoke: onRevoke, isRevoking: isRevoking }, key.id))) })] }) }));
54
125
  }
55
- /**
56
- * Revoking a key takes effect at once and cannot be undone, so this asks first,
57
- * the same two-step confirm `WebhooksPage` uses for removing a registration.
58
- */
59
126
  function ApiKeyRow({ apiKey, onRevoke, isRevoking, }) {
60
127
  const [isConfirming, setIsConfirming] = useState(false);
61
128
  const timezone = useTimezone();
62
- return (_jsxs("tr", { className: "border-b border-border last:border-0", children: [_jsx("td", { className: "px-4 py-3 font-medium", children: apiKey.name }), _jsx("td", { className: "px-4 py-3 font-mono text-[12px] text-ink-muted", children: apiKey.displayPrefix }), _jsx("td", { className: "px-4 py-3 text-ink-muted", children: formatDate(apiKey.createdAt, timezone) }), _jsx("td", { className: "px-4 py-3 text-ink-muted", children: apiKey.lastUsedAt === null ? 'Never' : formatDate(apiKey.lastUsedAt, timezone) }), _jsx("td", { className: "px-4 py-3 text-right", children: isConfirming ? (_jsxs("span", { className: "inline-flex items-center gap-3", children: [_jsx("button", { type: "button", onClick: () => {
129
+ return (_jsxs("tr", { className: "border-b border-border last:border-0", children: [_jsx("td", { className: "px-4 py-3 font-medium", children: apiKey.name }), _jsx("td", { className: "px-4 py-3 text-ink-muted", children: formatScopeSummary(apiKey.scopes) }), _jsx("td", { className: "px-4 py-3 font-mono text-[12px] text-ink-muted", children: apiKey.displayPrefix }), _jsx("td", { className: "px-4 py-3 text-ink-muted", children: formatDate(apiKey.createdAt, timezone) }), _jsx("td", { className: "px-4 py-3 text-ink-muted", children: apiKey.lastUsedAt === null ? 'Never' : formatDate(apiKey.lastUsedAt, timezone) }), _jsx("td", { className: "px-4 py-3 text-right", children: isConfirming ? (_jsxs("span", { className: "inline-flex items-center gap-3", children: [_jsx("button", { type: "button", onClick: () => {
63
130
  setIsConfirming(false);
64
131
  }, className: "text-[12px] font-medium text-ink-muted hover:text-ink", children: "Cancel" }), _jsx("button", { type: "button", disabled: isRevoking, onClick: () => {
65
132
  onRevoke(apiKey.id);
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKeysPanel.js","sourceRoot":"","sources":["../../src/components/ApiKeysPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiKeysPanel.js","sourceRoot":"","sources":["../../src/components/ApiKeysPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { ConvertPipelineRecordInput, PipelineKind } from '@kelpie/schemas';
2
+ import type { MutationResult } from '../api/resource.ts';
3
+ import { type ConvertPipelineRecordArguments, type ConvertedPipelineRecord } from '../api/resources/conversions.ts';
4
+ export interface ConvertRecordDialogProps {
5
+ readonly sourceKind: PipelineKind;
6
+ readonly recordName: string;
7
+ readonly companyId: string | null;
8
+ readonly isPending: boolean;
9
+ readonly onCancel: () => void;
10
+ readonly onConfirm: (body: ConvertPipelineRecordInput) => void;
11
+ }
12
+ export declare function ConvertRecordDialog({ sourceKind, recordName, companyId, isPending, onCancel, onConfirm, }: ConvertRecordDialogProps): React.JSX.Element;
13
+ export interface ConvertRecordActionProps {
14
+ readonly sourceKind: PipelineKind;
15
+ readonly recordId: string;
16
+ readonly recordName: string;
17
+ readonly companyId: string | null;
18
+ readonly convertedTo: {
19
+ readonly targetType: PipelineKind;
20
+ readonly targetId: string;
21
+ } | null;
22
+ readonly convert: MutationResult<ConvertPipelineRecordArguments, ConvertedPipelineRecord>;
23
+ readonly onConverted: (record: ConvertedPipelineRecord, targetType: PipelineKind) => void;
24
+ readonly showDialog: boolean;
25
+ readonly onOpenDialog: () => void;
26
+ readonly onCloseDialog: () => void;
27
+ }
28
+ export declare function ConvertRecordButton({ convertedTo, convert, onOpenDialog, }: Pick<ConvertRecordActionProps, 'convertedTo' | 'convert' | 'onOpenDialog'>): React.JSX.Element;
29
+ export declare function ConvertRecordAction({ sourceKind, recordId, recordName, companyId, convert, onConverted, showDialog, onCloseDialog, }: ConvertRecordActionProps): React.JSX.Element | null;
30
+ //# sourceMappingURL=ConvertRecordDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConvertRecordDialog.d.ts","sourceRoot":"","sources":["../../src/components/ConvertRecordDialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAK/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAEL,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAA;AAIxC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAA;CAC/D;AAED,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,wBAAwB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAiG9C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC7F,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,8BAA8B,EAAE,uBAAuB,CAAC,CAAA;IACzF,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,KAAK,IAAI,CAAA;IACzF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAA;CACnC;AAED,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,OAAO,EACP,YAAY,GACb,EAAE,IAAI,CACL,wBAAwB,EACxB,aAAa,GAAG,SAAS,GAAG,cAAc,CAC3C,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsBpB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,EACP,WAAW,EACX,UAAU,EACV,aAAa,GACd,EAAE,wBAAwB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAuBrD"}
@@ -0,0 +1,50 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { PIPELINE_KINDS, PIPELINE_KIND_LABELS, } from '@kelpie/schemas';
3
+ import { useState } from 'react';
4
+ import { Link } from 'react-router';
5
+ import { useCompanies } from '../api/resources/companies.js';
6
+ import { detailPathForPipelineKind, } from '../api/resources/conversions.js';
7
+ const COMPANY_REQUIRED_TARGETS = new Set(['deal', 'raise', 'partnership']);
8
+ export function ConvertRecordDialog({ sourceKind, recordName, companyId, isPending, onCancel, onConfirm, }) {
9
+ const targetOptions = PIPELINE_KINDS.filter((kind) => kind !== sourceKind);
10
+ const [targetType, setTargetType] = useState(targetOptions[0] ?? 'deal');
11
+ const [kind, setKind] = useState('');
12
+ const [selectedCompanyId, setSelectedCompanyId] = useState(companyId ?? '');
13
+ const companies = useCompanies({ limit: 100 });
14
+ const needsCompany = COMPANY_REQUIRED_TARGETS.has(targetType) && companyId === null;
15
+ const needsKind = targetType === 'opportunity' || targetType === 'partnership';
16
+ return (_jsxs("div", { className: "rounded-md border border-border bg-surface-raised p-4", children: [_jsxs("p", { className: "text-[13px] text-ink", children: ["Convert ", _jsx("span", { className: "font-semibold", children: recordName }), " to another record type. This creates a new record, moves notes / activity / plans / decisions to it, copies linked people, and leaves this record in place with a link."] }), _jsxs("div", { className: "mt-4 space-y-3", children: [_jsxs("label", { className: "block text-[12px] font-medium text-ink-muted", children: ["Convert to", _jsx("select", { value: targetType, onChange: (event) => {
17
+ setTargetType(event.target.value);
18
+ }, className: "mt-1 block w-full rounded-md border border-border bg-surface px-2.5 py-1.5 text-[13px] text-ink", children: targetOptions.map((kind) => (_jsx("option", { value: kind, children: PIPELINE_KIND_LABELS[kind] }, kind))) })] }), needsKind && (_jsxs("label", { className: "block text-[12px] font-medium text-ink-muted", children: ["Kind", _jsx("input", { value: kind, onChange: (event) => {
19
+ setKind(event.target.value);
20
+ }, className: "mt-1 block w-full rounded-md border border-border bg-surface px-2.5 py-1.5 text-[13px] text-ink", placeholder: targetType === 'opportunity' ? 'Grant' : 'Integration' })] })), needsCompany && (_jsxs("label", { className: "block text-[12px] font-medium text-ink-muted", children: ["Company", _jsxs("select", { value: selectedCompanyId, onChange: (event) => {
21
+ setSelectedCompanyId(event.target.value);
22
+ }, className: "mt-1 block w-full rounded-md border border-border bg-surface px-2.5 py-1.5 text-[13px] text-ink", children: [_jsx("option", { value: "", children: "Choose a company\u2026" }), companies.records.map((company) => (_jsx("option", { value: company.id, children: company.name }, company.id)))] })] }))] }), _jsxs("div", { className: "mt-4 flex justify-end gap-2", children: [_jsx("button", { type: "button", onClick: onCancel, disabled: isPending, className: "rounded-md px-2.5 py-1 text-[12px] font-medium text-ink-muted hover:text-ink disabled:opacity-50", children: "Cancel" }), _jsx("button", { type: "button", disabled: isPending || (needsCompany && selectedCompanyId.length === 0), onClick: () => {
23
+ onConfirm({
24
+ targetType,
25
+ ...(needsKind && kind.length > 0 ? { kind } : {}),
26
+ ...(needsCompany ? { companyId: selectedCompanyId } : {}),
27
+ });
28
+ }, className: "rounded-md bg-accent px-3 py-1.5 text-[12px] font-semibold text-accent-fg hover:bg-accent-hover disabled:opacity-50", children: isPending ? 'Converting…' : 'Convert' })] })] }));
29
+ }
30
+ export function ConvertRecordButton({ convertedTo, convert, onOpenDialog, }) {
31
+ if (convertedTo !== null) {
32
+ return (_jsxs(Link, { to: detailPathForPipelineKind(convertedTo.targetType, convertedTo.targetId), className: "rounded-md border border-border px-2.5 py-1 text-[12px] font-medium text-accent transition hover:border-accent hover:underline", children: ["Converted \u2014 view ", PIPELINE_KIND_LABELS[convertedTo.targetType].toLowerCase()] }));
33
+ }
34
+ return (_jsx("button", { type: "button", onClick: onOpenDialog, disabled: convert.isPending, className: "rounded-md border border-border px-2.5 py-1 text-[12px] font-medium text-ink-muted transition hover:border-accent hover:text-accent disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-border disabled:hover:text-ink-muted", children: "Convert\u2026" }));
35
+ }
36
+ export function ConvertRecordAction({ sourceKind, recordId, recordName, companyId, convert, onConverted, showDialog, onCloseDialog, }) {
37
+ if (!showDialog) {
38
+ return null;
39
+ }
40
+ return (_jsx(ConvertRecordDialog, { sourceKind: sourceKind, recordName: recordName, companyId: companyId, isPending: convert.isPending, onCancel: onCloseDialog, onConfirm: (body) => {
41
+ convert
42
+ .runAsync({ id: recordId, body })
43
+ .then((record) => {
44
+ onCloseDialog();
45
+ onConverted(record, body.targetType);
46
+ })
47
+ .catch(() => undefined);
48
+ } }));
49
+ }
50
+ //# sourceMappingURL=ConvertRecordDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConvertRecordDialog.js","sourceRoot":"","sources":["../../src/components/ConvertRecordDialog.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Shell.d.ts","sourceRoot":"","sources":["../../src/components/Shell.tsx"],"names":[],"mappings":"AA8EA,wBAAgB,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CA+MzC"}
1
+ {"version":3,"file":"Shell.d.ts","sourceRoot":"","sources":["../../src/components/Shell.tsx"],"names":[],"mappings":"AAwFA,wBAAgB,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CA4PzC"}
@@ -1,6 +1,6 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from 'react';
3
- import { NavLink, Outlet, useLocation, useNavigate } from 'react-router';
3
+ import { Link, NavLink, Outlet, useLocation, useNavigate } from 'react-router';
4
4
  import { useAccount, useTheme } from '../api/resources/account.js';
5
5
  import { useLogOut } from '../api/resources/session.js';
6
6
  import { initialsOf } from '../lib/names.js';
@@ -44,11 +44,19 @@ const CORE_NAV = [
44
44
  { id: 'decisions', label: 'Decisions', to: '/decisions', order: 500 },
45
45
  ];
46
46
  /**
47
- * `nav.primary` is one flat slot (`modules.md`); the mockup renders it as two
48
- * visual groups, an unheaded top section and a headed "CRM" section. This is
49
- * presentation only, so it stays here rather than becoming a second slot.
47
+ * `nav.primary` is one flat slot (`modules.md`); the shell renders it as visual
48
+ * groups: an unheaded top section, an unheaded directory pair (People,
49
+ * Companies), a headed "CRM" section for pipeline objects, then a headed
50
+ * "Tools" section for Lists and Forms. Presentation only — it stays here rather
51
+ * than becoming extra slots.
50
52
  */
51
53
  const TOP_LEVEL_NAV_IDS = new Set(['dashboard', 'handbook', 'planning', 'decisions']);
54
+ const DIRECTORY_NAV_IDS = new Set(['people', 'companies']);
55
+ const TOOLS_NAV_IDS = new Set(['lists', 'forms']);
56
+ const ADMIN_ENTRY_PATH = '/admin/workspace';
57
+ function isAdminRoute(pathname) {
58
+ return pathname.startsWith('/admin/');
59
+ }
52
60
  function linkClass({ isActive }) {
53
61
  return [
54
62
  'block rounded-md px-2 py-1 text-[13px] transition-colors duration-100',
@@ -103,9 +111,13 @@ export function Shell() {
103
111
  }, [menuOpen]);
104
112
  const navItems = useVisibleNavItems(CORE_NAV, moduleNav);
105
113
  const topLevelItems = navItems.filter((item) => TOP_LEVEL_NAV_IDS.has(item.id));
106
- const crmItems = navItems.filter((item) => !TOP_LEVEL_NAV_IDS.has(item.id));
114
+ const nonTopLevelItems = navItems.filter((item) => !TOP_LEVEL_NAV_IDS.has(item.id));
115
+ const directoryItems = nonTopLevelItems.filter((item) => DIRECTORY_NAV_IDS.has(item.id));
116
+ const toolsItems = nonTopLevelItems.filter((item) => TOOLS_NAV_IDS.has(item.id));
117
+ const crmItems = nonTopLevelItems.filter((item) => !DIRECTORY_NAV_IDS.has(item.id) && !TOOLS_NAV_IDS.has(item.id));
107
118
  const adminItems = useVisibleNavItems(CORE_ADMIN_NAV, moduleAdminNav);
108
- return (_jsxs("div", { className: "flex min-h-screen bg-surface", children: [_jsxs("aside", { className: "flex w-[200px] shrink-0 flex-col border-r border-sidebar-border bg-sidebar", children: [_jsx("div", { className: "px-3 py-4", children: _jsx(NavLink, { to: "/dashboard", className: "group block px-2", children: _jsx("div", { className: "text-[15px] font-semibold tracking-tight text-sidebar-ink transition-opacity group-hover:opacity-80", children: "Kelpie" }) }) }), _jsxs("nav", { className: "flex flex-1 flex-col gap-5 overflow-y-auto px-2 pb-4", children: [_jsx("div", { className: "flex flex-col gap-0.5", children: topLevelItems.map((item) => (_jsx(NavLink, { to: item.to, className: linkClass, children: item.label }, item.id))) }), _jsxs("div", { children: [_jsx("div", { className: "mb-1 px-2 text-[11px] text-sidebar-muted", children: "CRM" }), _jsx("div", { className: "flex flex-col gap-0.5", children: crmItems.map((item) => (_jsx(NavLink, { to: item.to, className: linkClass, children: item.label }, item.id))) })] }), _jsxs("div", { children: [_jsx("div", { className: "mb-1 px-2 text-[11px] text-sidebar-muted", children: "Admin" }), _jsx("div", { className: "flex flex-col gap-0.5", children: adminItems.map((item) => (_jsx(NavLink, { to: item.to, className: linkClass, children: item.label }, item.id))) })] })] })] }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [_jsxs("header", { className: "flex h-11 items-center gap-3 border-b border-border px-5", children: [_jsx("form", { className: "flex-1", onSubmit: (event) => {
119
+ const inAdminNav = isAdminRoute(location.pathname);
120
+ return (_jsxs("div", { className: "flex min-h-screen bg-surface", children: [_jsxs("aside", { className: "flex w-[200px] shrink-0 flex-col border-r border-sidebar-border bg-sidebar", children: [_jsx("div", { className: "px-3 py-4", children: _jsx(NavLink, { to: "/dashboard", className: "group block px-2", children: _jsx("div", { className: "text-[15px] font-semibold tracking-tight text-sidebar-ink transition-opacity group-hover:opacity-80", children: "Kelpie" }) }) }), _jsx("nav", { className: "flex flex-1 flex-col gap-5 overflow-y-auto px-2 pb-4", children: inAdminNav ? (_jsxs(_Fragment, { children: [_jsx(Link, { to: "/dashboard", className: "inline-flex px-2 text-[12px] font-medium text-sidebar-muted transition-colors hover:text-sidebar-ink", children: "\u2190 Back" }), _jsxs("div", { children: [_jsx("div", { className: "mb-1 px-2 text-[11px] text-sidebar-muted", children: "Admin" }), _jsx("div", { className: "flex flex-col gap-0.5", children: adminItems.map((item) => (_jsx(NavLink, { to: item.to, className: linkClass, children: item.label }, item.id))) })] })] })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "flex flex-col gap-0.5", children: topLevelItems.map((item) => (_jsx(NavLink, { to: item.to, className: linkClass, children: item.label }, item.id))) }), directoryItems.length > 0 && (_jsx("div", { className: "flex flex-col gap-0.5", children: directoryItems.map((item) => (_jsx(NavLink, { to: item.to, className: linkClass, children: item.label }, item.id))) })), crmItems.length > 0 && (_jsxs("div", { children: [_jsx("div", { className: "mb-1 px-2 text-[11px] text-sidebar-muted", children: "CRM" }), _jsx("div", { className: "flex flex-col gap-0.5", children: crmItems.map((item) => (_jsx(NavLink, { to: item.to, className: linkClass, children: item.label }, item.id))) })] })), toolsItems.length > 0 && (_jsxs("div", { children: [_jsx("div", { className: "mb-1 px-2 text-[11px] text-sidebar-muted", children: "Tools" }), _jsx("div", { className: "flex flex-col gap-0.5", children: toolsItems.map((item) => (_jsx(NavLink, { to: item.to, className: linkClass, children: item.label }, item.id))) })] })), _jsx("div", { className: "flex flex-col gap-0.5", children: _jsx(NavLink, { to: ADMIN_ENTRY_PATH, className: linkClass, children: "Admin" }) })] })) })] }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [_jsxs("header", { className: "flex h-11 items-center gap-3 border-b border-border px-5", children: [_jsx("form", { className: "flex-1", onSubmit: (event) => {
109
121
  event.preventDefault();
110
122
  const term = query.trim();
111
123
  if (term.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"Shell.js","sourceRoot":"","sources":["../../src/components/Shell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Shell.js","sourceRoot":"","sources":["../../src/components/Shell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE9E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAA;AAEnD;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAuB;IACzC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE;IAC3E,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE;IAC5D,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE;IAClE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE;IACrE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE;IAC5D,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE;IACxE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE;IACxE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE;IACzD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE;CACtE,CAAA;AAED,MAAM,QAAQ,GAAuB;IACnC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE;IACpE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;IAC5D,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;IAC5D,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE;IACrE,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE;IACrE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACzD,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE;IACjF,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE;IAC3E,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE;IAC9E,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACzD,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;IACzD,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;IAClE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;IAClE,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE;CACtE,CAAA;AAED;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;AAC1G,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;AAC/E,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAEtE,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAE3C,SAAS,YAAY,CAAC,QAAgB;IACpC,OAAO,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,QAAQ,EAAyB;IACpD,OAAO;QACL,uEAAuE;QACvE,QAAQ;YACN,CAAC,CAAC,gDAAgD;YAClD,CAAC,CAAC,kEAAkE;KACvE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACb,CAAC;AAED,MAAM,WAAW,GAAuD;IACtE,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,QAAQ;CACf,CAAA;AAED,MAAM,YAAY,GAA8C;IAC9D,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACb,CAAA;AAED,MAAM,UAAU,KAAK;IACnB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;IACxC,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,4EAA4E;IAC5E,uDAAuD;IACvD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAM;QACR,CAAC;QAED,SAAS,aAAa,CAAC,KAAiB;YACtC,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC7D,WAAW,CAAC,KAAK,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QAED,SAAS,SAAS,CAAC,KAAoB;YACrC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC3B,WAAW,CAAC,KAAK,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;QACrD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAE/C,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;YACxD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACpD,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACxD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/E,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IACnF,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IACxF,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAChF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CACtC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACzE,CAAA;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;IACrE,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAElD,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,iBAAO,SAAS,EAAC,4EAA4E,aAC3F,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,OAAO,IAAC,EAAE,EAAC,YAAY,EAAC,SAAS,EAAC,kBAAkB,YACnD,cAAK,SAAS,EAAC,qGAAqG,uBAE9G,GACE,GACN,EAEN,cAAK,SAAS,EAAC,sDAAsD,YAClE,UAAU,CAAC,CAAC,CAAC,CACZ,8BACE,KAAC,IAAI,IACH,EAAE,EAAC,YAAY,EACf,SAAS,EAAC,sGAAsG,4BAG3G,EAEP,0BACE,cAAK,SAAS,EAAC,0CAA0C,sBAAY,EACrE,cAAK,SAAS,EAAC,uBAAuB,YACnC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,KAAC,OAAO,IAAe,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,YACrD,IAAI,CAAC,KAAK,IADC,IAAI,CAAC,EAAE,CAEX,CACX,CAAC,GACE,IACF,IACL,CACJ,CAAC,CAAC,CAAC,CACF,8BACE,cAAK,SAAS,EAAC,uBAAuB,YACnC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC3B,KAAC,OAAO,IAAe,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,YACrD,IAAI,CAAC,KAAK,IADC,IAAI,CAAC,EAAE,CAEX,CACX,CAAC,GACE,EAEL,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5B,cAAK,SAAS,EAAC,uBAAuB,YACnC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC5B,KAAC,OAAO,IAAe,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,YACrD,IAAI,CAAC,KAAK,IADC,IAAI,CAAC,EAAE,CAEX,CACX,CAAC,GACE,CACP,EAEA,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,0BACE,cAAK,SAAS,EAAC,0CAA0C,oBAAU,EACnE,cAAK,SAAS,EAAC,uBAAuB,YACnC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACtB,KAAC,OAAO,IAAe,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,YACrD,IAAI,CAAC,KAAK,IADC,IAAI,CAAC,EAAE,CAEX,CACX,CAAC,GACE,IACF,CACP,EAEA,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CACxB,0BACE,cAAK,SAAS,EAAC,0CAA0C,sBAAY,EACrE,cAAK,SAAS,EAAC,uBAAuB,YACnC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,KAAC,OAAO,IAAe,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,YACrD,IAAI,CAAC,KAAK,IADC,IAAI,CAAC,EAAE,CAEX,CACX,CAAC,GACE,IACF,CACP,EAED,cAAK,SAAS,EAAC,uBAAuB,YACpC,KAAC,OAAO,IAAC,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,sBAEzC,GACN,IACL,CACJ,GACG,IACA,EAER,eAAK,SAAS,EAAC,8BAA8B,aAC3C,kBAAQ,SAAS,EAAC,0DAA0D,aAC1E,eACE,SAAS,EAAC,QAAQ,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oCAClB,KAAK,CAAC,cAAc,EAAE,CAAA;oCACtB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;oCAEzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wCACtB,OAAM;oCACR,CAAC;oCAED,KAAK,QAAQ,CAAC,aAAa,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gCACxD,CAAC,YAED,gBACE,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wCAClB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oCAC9B,CAAC,gBACU,QAAQ,EACnB,WAAW,EAAC,cAAS,EACrB,SAAS,EAAC,wMAAwM,GAClN,GACG,EACP,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;oCACZ,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;gCAC9B,CAAC,EACD,KAAK,EAAE,UAAU,YAAY,CAAC,KAAK,CAAC,EAAE,EACtC,SAAS,EAAC,mGAAmG,YAE5G,YAAY,CAAC,KAAK,CAAC,GACb,EACT,eAAK,SAAS,EAAC,UAAU,EAAC,GAAG,EAAE,OAAO,aACpC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;4CACZ,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;wCACpC,CAAC,mBACc,QAAQ,mBACT,MAAM,EACpB,SAAS,EAAC,2IAA2I,EACrJ,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,SAAS,YAEhC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAChD,EACR,QAAQ,IAAI,CACX,eACE,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,0GAA0G,aAEpH,eAAK,SAAS,EAAC,kCAAkC,aAC/C,cAAK,SAAS,EAAC,2CAA2C,YACvD,OAAO,EAAE,IAAI,IAAI,UAAU,GACxB,EACN,cAAK,SAAS,EAAC,+CAA+C,YAC3D,OAAO,EAAE,KAAK,IAAI,EAAE,GACjB,IACF,EACN,KAAC,OAAO,IACN,EAAE,EAAC,kBAAkB,EACrB,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,GAAG,EAAE;oDACZ,WAAW,CAAC,KAAK,CAAC,CAAA;gDACpB,CAAC,EACD,SAAS,EAAC,0EAA0E,iCAG5E,EACV,KAAC,OAAO,IACN,EAAE,EAAC,sBAAsB,EACzB,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,GAAG,EAAE;oDACZ,WAAW,CAAC,KAAK,CAAC,CAAA;gDACpB,CAAC,EACD,SAAS,EAAC,iGAAiG,4BAGnG,EACV,iBACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,MAAM,CAAC,SAAS,EAC1B,OAAO,EAAE,GAAG,EAAE;oDACZ,WAAW,CAAC,KAAK,CAAC,CAAA;oDAClB,MAAM;yDACH,QAAQ,EAAE;yDACV,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;yDACtB,OAAO,CAAC,GAAG,EAAE;wDACZ,KAAK,QAAQ,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;oDAC5C,CAAC,CAAC,CAAA;gDACN,CAAC,EACD,SAAS,EAAC,iFAAiF,yBAGpF,IACL,CACP,IACG,IACC,EAET,eAAM,SAAS,EAAC,wCAAwC,YAGtD,KAAC,aAAa,cACZ,KAAC,MAAM,KAAG,IADQ,QAAQ,CAAC,QAAQ,CAErB,GACX,IACH,IACF,CACP,CAAA;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -70,6 +70,8 @@ export { DecisionsPage } from './pages/DecisionsPage.tsx';
70
70
  export { PeoplePage } from './pages/PeoplePage.tsx';
71
71
  export { PersonDetail } from './pages/PersonDetail.tsx';
72
72
  export { PlanningPage } from './pages/PlanningPage.tsx';
73
+ export { AuthDivider, AuthLinkButton } from './pages/auth/AuthForm.tsx';
74
+ export { safeNext } from './pages/auth/nextPath.ts';
73
75
  export { ForgotPasswordPage } from './pages/auth/ForgotPasswordPage.tsx';
74
76
  export { JoinPage } from './pages/auth/JoinPage.tsx';
75
77
  export { ResetPasswordPage } from './pages/auth/ResetPasswordPage.tsx';
@@ -85,12 +87,12 @@ export type { ListViewController } from './lib/listView.ts';
85
87
  export { applyTheme, getStoredTheme, resolveTheme, setStoredTheme, watchSystemTheme } from './lib/theme.ts';
86
88
  export type { ThemePreference } from './lib/theme.ts';
87
89
  export { EXTENSIBLE_RECORD_TYPES, NAV_SLOTS } from './registry/contributions.ts';
88
- export type { DashboardCard, ExtensibleRecordType, NavItem, NavSlot, RecordContext, RecordSidebarCard, RecordTab, RouteContribution, } from './registry/contributions.ts';
90
+ export type { AuthMethod, AuthMethodContext, DashboardCard, ExtensibleRecordType, NavItem, NavSlot, RecordContext, RecordSidebarCard, RecordTab, RouteContribution, } from './registry/contributions.ts';
89
91
  export { defineOverridable } from './registry/overridable.ts';
90
92
  export type { Overridable } from './registry/overridable.ts';
91
93
  export { NO_UI_MODULES, UiModuleError, inSlotOrder, registerUiModules } from './registry/registry.ts';
92
94
  export type { UiExtensions, UiModule, UiModuleContext } from './registry/registry.ts';
93
- export { useDashboardCards, useModuleRoutes, useNavItems, useOverridable, useRecordSidebarCards, useRecordTabs, useUiExtensions, } from './registry/context.ts';
95
+ export { useAuthMethods, useDashboardCards, useModuleRoutes, useNavItems, useOverridable, useRecordSidebarCards, useRecordTabs, useUiExtensions, } from './registry/context.ts';
94
96
  export { UiExtensionProvider } from './registry/UiExtensionProvider.tsx';
95
97
  export type { UiExtensionProviderProps } from './registry/UiExtensionProvider.tsx';
96
98
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -39,6 +39,10 @@ export { DecisionsPage } from './pages/DecisionsPage.js';
39
39
  export { PeoplePage } from './pages/PeoplePage.js';
40
40
  export { PersonDetail } from './pages/PersonDetail.js';
41
41
  export { PlanningPage } from './pages/PlanningPage.js';
42
+ // The controls a module contributing a sign-in method builds its button from,
43
+ // so it matches the form beside it without copying class names.
44
+ export { AuthDivider, AuthLinkButton } from './pages/auth/AuthForm.js';
45
+ export { safeNext } from './pages/auth/nextPath.js';
42
46
  export { ForgotPasswordPage } from './pages/auth/ForgotPasswordPage.js';
43
47
  export { JoinPage } from './pages/auth/JoinPage.js';
44
48
  export { ResetPasswordPage } from './pages/auth/ResetPasswordPage.js';
@@ -53,6 +57,6 @@ export { applyTheme, getStoredTheme, resolveTheme, setStoredTheme, watchSystemTh
53
57
  export { EXTENSIBLE_RECORD_TYPES, NAV_SLOTS } from './registry/contributions.js';
54
58
  export { defineOverridable } from './registry/overridable.js';
55
59
  export { NO_UI_MODULES, UiModuleError, inSlotOrder, registerUiModules } from './registry/registry.js';
56
- export { useDashboardCards, useModuleRoutes, useNavItems, useOverridable, useRecordSidebarCards, useRecordTabs, useUiExtensions, } from './registry/context.js';
60
+ export { useAuthMethods, useDashboardCards, useModuleRoutes, useNavItems, useOverridable, useRecordSidebarCards, useRecordTabs, useUiExtensions, } from './registry/context.js';
57
61
  export { UiExtensionProvider } from './registry/UiExtensionProvider.js';
58
62
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DealDetail.d.ts","sourceRoot":"","sources":["../../src/pages/DealDetail.tsx"],"names":[],"mappings":"AAsDA,wBAAgB,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAyF9C"}
1
+ {"version":3,"file":"DealDetail.d.ts","sourceRoot":"","sources":["../../src/pages/DealDetail.tsx"],"names":[],"mappings":"AA2DA,wBAAgB,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAuH9C"}
@@ -3,6 +3,7 @@ import { useState } from 'react';
3
3
  import { Link, useNavigate, useParams } from 'react-router';
4
4
  import { usePatch } from '../api/resource.js';
5
5
  import { useCompanies, useCompany } from '../api/resources/companies.js';
6
+ import { detailPathForPipelineKind, useConvertPipelineRecord, } from '../api/resources/conversions.js';
6
7
  import { useDeal, useDeleteDeal, useUpdateDeal } from '../api/resources/deals.js';
7
8
  import { useFormSubmissionsForRecord } from '../api/resources/forms.js';
8
9
  import { useMembers } from '../api/resources/members.js';
@@ -12,6 +13,7 @@ import { useRecordPlanItems } from '../api/resources/planItems.js';
12
13
  import { ActivitiesPanel, LatestActivity } from '../components/ActivitiesPanel.js';
13
14
  import { AgentTasks } from '../components/AgentTasks.js';
14
15
  import { Chip } from '../components/Chip.js';
16
+ import { ConvertRecordAction, ConvertRecordButton } from '../components/ConvertRecordDialog.js';
15
17
  import { DecisionsPanel } from '../components/DecisionsPanel.js';
16
18
  import { DeleteRecord } from '../components/DeleteRecord.js';
17
19
  import { EntitySearch } from '../components/EntitySearch.js';
@@ -48,10 +50,12 @@ export function DealDetail() {
48
50
  const { id } = useParams();
49
51
  const navigate = useNavigate();
50
52
  const { record, isLoading, isNotFound, error } = useDeal(id);
53
+ const convertRecord = useConvertPipelineRecord('deal');
51
54
  const deleteDeal = useDeleteDeal();
52
55
  const moduleTabs = inSlotOrder(useRecordTabs('deal'));
53
56
  const hasCustomFields = useHasCustomFields('deal');
54
57
  const [activeTab, setActiveTab] = useState('overview');
58
+ const [showConvert, setShowConvert] = useState(false);
55
59
  const formSubmissions = useFormSubmissionsForRecord('deal', id);
56
60
  if (isNotFound) {
57
61
  return _jsx(NotFoundPanel, { label: "Deal", backTo: "/deals" });
@@ -77,12 +81,21 @@ export function DealDetail() {
77
81
  ];
78
82
  const active = tabs.some((tab) => tab.id === activeTab) ? activeTab : 'overview';
79
83
  const moduleTab = moduleTabs.find((tab) => tab.id === active);
80
- return (_jsxs("div", { className: "animate-fade-in mx-auto max-w-6xl", children: [_jsx(Link, { to: "/deals", className: "mb-4 inline-flex text-[12px] font-medium text-ink-muted transition hover:text-accent", children: "\u2190 Deals" }), _jsxs("div", { className: "grid items-start gap-8 lg:grid-cols-[minmax(0,1fr)_280px]", children: [_jsxs("div", { className: "min-w-0 space-y-8", children: [_jsx(DealHeading, { deal: record }), _jsxs("div", { className: "flex justify-end gap-2", children: [_jsx(AgentTasks, { targetType: "deal", targetId: record.id, targetLabel: record.name }), _jsx(DeleteRecord, { recordLabel: "Deal", recordName: record.name, isPending: deleteDeal.isPending, error: deleteDeal.error, onConfirm: () => {
84
+ const convertedTo = record.convertedTo;
85
+ return (_jsxs("div", { className: "animate-fade-in mx-auto max-w-6xl", children: [_jsx(Link, { to: "/deals", className: "mb-4 inline-flex text-[12px] font-medium text-ink-muted transition hover:text-accent", children: "\u2190 Deals" }), _jsxs("div", { className: "grid items-start gap-8 lg:grid-cols-[minmax(0,1fr)_280px]", children: [_jsxs("div", { className: "min-w-0 space-y-8", children: [_jsx(DealHeading, { deal: record }), _jsxs("div", { className: "flex justify-end gap-2", children: [_jsx(ConvertRecordButton, { convertedTo: convertedTo, convert: convertRecord, onOpenDialog: () => {
86
+ setShowConvert(true);
87
+ } }), _jsx(AgentTasks, { targetType: "deal", targetId: record.id, targetLabel: record.name }), _jsx(DeleteRecord, { recordLabel: "Deal", recordName: record.name, isPending: deleteDeal.isPending, error: deleteDeal.error, onConfirm: () => {
81
88
  deleteDeal
82
89
  .runAsync(record.id)
83
90
  .then(() => navigate('/deals'))
84
91
  .catch(() => undefined);
85
- } })] }), _jsxs(RecordTabs, { tabs: tabs, active: active, onChange: setActiveTab, ariaLabel: "Deal sections", children: [active === 'overview' && _jsx(DealOverview, { deal: record }), active === 'fields' && (_jsx(DealFields, { deal: record })), active === 'plan' && _jsx(PlanPanel, { targetType: "deal", targetId: record.id }), active === 'activity' && _jsx(ActivitiesPanel, { targetType: "deal", targetId: record.id }), active === 'notes' && _jsx(NotesPanel, { targetType: "deal", targetId: record.id }), active === 'decisions' && _jsx(DecisionsPanel, { targetType: "deal", targetId: record.id }), active === 'lists' && _jsx(ListsPanel, { targetType: "deal", targetId: record.id }), active === 'forms' && _jsx(FormsPanel, { targetType: "deal", targetId: record.id }), moduleTab?.render({ objectType: 'deal', recordId: record.id })] })] }), _jsxs("aside", { className: "space-y-4 text-[12px] lg:sticky lg:top-6", children: [_jsx(DealSidebar, { deal: record }), _jsx(DealContacts, { deal: record })] })] })] }));
92
+ } })] }), convertRecord.error !== null && _jsx(ErrorPanel, { error: convertRecord.error }), _jsx(ConvertRecordAction, { sourceKind: "deal", recordId: record.id, recordName: record.name, companyId: record.companyId, convertedTo: convertedTo, convert: convertRecord, showDialog: showConvert, onOpenDialog: () => {
93
+ setShowConvert(true);
94
+ }, onCloseDialog: () => {
95
+ setShowConvert(false);
96
+ }, onConverted: (created, targetType) => {
97
+ navigate(detailPathForPipelineKind(targetType, created.id));
98
+ } }), _jsxs(RecordTabs, { tabs: tabs, active: active, onChange: setActiveTab, ariaLabel: "Deal sections", children: [active === 'overview' && _jsx(DealOverview, { deal: record }), active === 'fields' && (_jsx(DealFields, { deal: record })), active === 'plan' && _jsx(PlanPanel, { targetType: "deal", targetId: record.id }), active === 'activity' && _jsx(ActivitiesPanel, { targetType: "deal", targetId: record.id }), active === 'notes' && _jsx(NotesPanel, { targetType: "deal", targetId: record.id }), active === 'decisions' && _jsx(DecisionsPanel, { targetType: "deal", targetId: record.id }), active === 'lists' && _jsx(ListsPanel, { targetType: "deal", targetId: record.id }), active === 'forms' && _jsx(FormsPanel, { targetType: "deal", targetId: record.id }), moduleTab?.render({ objectType: 'deal', recordId: record.id })] })] }), _jsxs("aside", { className: "space-y-4 text-[12px] lg:sticky lg:top-6", children: [_jsx(DealSidebar, { deal: record }), _jsx(DealContacts, { deal: record })] })] })] }));
86
99
  }
87
100
  function useDealPatch(deal) {
88
101
  return usePatch(useUpdateDeal, deal);