@xemahq/ui-kernel 0.8.0 → 0.9.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/index.js +5 -21
- package/dist/index.js.map +1 -1
- package/dist/lib/biome-host/agent-validation.js +5 -9
- package/dist/lib/biome-host/agent-validation.js.map +1 -1
- package/dist/lib/biome-host/biome-builders.js +5 -9
- package/dist/lib/biome-host/biome-builders.js.map +1 -1
- package/dist/lib/biome-host/biome-mode.js +1 -2
- package/dist/lib/biome-host/biome-navigation.js +6 -10
- package/dist/lib/biome-host/biome-navigation.js.map +1 -1
- package/dist/lib/biome-host/biome-registry.js +13 -20
- package/dist/lib/biome-host/biome-registry.js.map +1 -1
- package/dist/lib/biome-host/biome-scope.js +9 -14
- package/dist/lib/biome-host/biome-scope.js.map +1 -1
- package/dist/lib/biome-host/biome-scoped-query.js +8 -13
- package/dist/lib/biome-host/biome-scoped-query.js.map +1 -1
- package/dist/lib/biome-host/create-biome-orval-config.js +1 -4
- package/dist/lib/biome-host/create-biome-orval-config.js.map +1 -1
- package/dist/lib/biome-host/define-web-biome.js +3 -6
- package/dist/lib/biome-host/define-web-biome.js.map +1 -1
- package/dist/lib/biome-host/errors.js +1 -4
- package/dist/lib/biome-host/errors.js.map +1 -1
- package/dist/lib/biome-host/frontend-biome.js +3 -6
- package/dist/lib/biome-host/frontend-biome.js.map +1 -1
- package/dist/lib/biome-host/host-bridge.js +5 -9
- package/dist/lib/biome-host/host-bridge.js.map +1 -1
- package/dist/lib/biome-host/host-sources.js +1 -2
- package/dist/lib/biome-host/i18n-hooks.js +5 -9
- package/dist/lib/biome-host/i18n-hooks.js.map +1 -1
- package/dist/lib/biome-host/i18n-port.js +1 -4
- package/dist/lib/biome-host/i18n-port.js.map +1 -1
- package/dist/lib/biome-host/index.js +22 -38
- package/dist/lib/biome-host/index.js.map +1 -1
- package/dist/lib/biome-host/realtime-hooks.js +7 -12
- package/dist/lib/biome-host/realtime-hooks.js.map +1 -1
- package/dist/lib/biome-host/realtime-port.js +1 -2
- package/dist/lib/biome-host/response-envelope.js +2 -6
- package/dist/lib/biome-host/response-envelope.js.map +1 -1
- package/dist/lib/biome-host/session-contributions.js +1 -2
- package/dist/lib/biome-host/session-profiles.js +7 -11
- package/dist/lib/biome-host/session-profiles.js.map +1 -1
- package/dist/lib/biome-host/use-mutation-with-error-toast.js +7 -10
- package/dist/lib/biome-host/use-mutation-with-error-toast.js.map +1 -1
- package/dist/lib/biome-host/use-page-state.js +16 -21
- package/dist/lib/biome-host/use-page-state.js.map +1 -1
- package/dist/lib/capabilities/capability-provider.js +11 -15
- package/dist/lib/capabilities/capability-provider.js.map +1 -1
- package/dist/lib/capabilities/index.js +3 -19
- package/dist/lib/capabilities/index.js.map +1 -1
- package/dist/lib/capabilities/types.js +1 -2
- package/dist/lib/capabilities/use-capability.js +5 -9
- package/dist/lib/capabilities/use-capability.js.map +1 -1
- package/dist/lib/system-bus/capability-invoke.js +1 -2
- package/dist/lib/system-bus/deeplink.js +12 -17
- package/dist/lib/system-bus/deeplink.js.map +1 -1
- package/dist/lib/system-bus/enums.js +10 -13
- package/dist/lib/system-bus/enums.js.map +1 -1
- package/dist/lib/system-bus/host-ports.js +1 -2
- package/dist/lib/system-bus/index.js +10 -26
- package/dist/lib/system-bus/index.js.map +1 -1
- package/dist/lib/system-bus/intent-registry.js +6 -10
- package/dist/lib/system-bus/intent-registry.js.map +1 -1
- package/dist/lib/system-bus/intents.js +1 -2
- package/dist/lib/system-bus/palette.js +1 -2
- package/dist/lib/system-bus/system-bus-builder.js +10 -13
- package/dist/lib/system-bus/system-bus-builder.js.map +1 -1
- package/dist/lib/system-bus/system-bus.js +1 -2
- package/dist/lib/system-bus/windows.js +1 -2
- package/dist/offline/id.js +1 -4
- package/dist/offline/id.js.map +1 -1
- package/dist/offline/index.js +8 -25
- package/dist/offline/index.js.map +1 -1
- package/dist/offline/mutation.js +5 -8
- package/dist/offline/mutation.js.map +1 -1
- package/dist/offline/offline-status-badge.js +7 -10
- package/dist/offline/offline-status-badge.js.map +1 -1
- package/dist/offline/online-controller.js +2 -7
- package/dist/offline/online-controller.js.map +1 -1
- package/dist/offline/outbox.js +22 -26
- package/dist/offline/outbox.js.map +1 -1
- package/dist/offline/react.js +15 -21
- package/dist/offline/react.js.map +1 -1
- package/dist/offline/storage.js +3 -9
- package/dist/offline/storage.js.map +1 -1
- package/dist/offline/types.js +2 -5
- package/dist/offline/types.js.map +1 -1
- package/dist/org-db/components/DbResultTable.js +7 -10
- package/dist/org-db/components/DbResultTable.js.map +1 -1
- package/dist/org-db/index.js +1 -5
- package/dist/org-db/index.js.map +1 -1
- package/dist/pdf/index.d.ts +2 -0
- package/dist/pdf/index.d.ts.map +1 -0
- package/dist/pdf/index.js +2 -0
- package/dist/pdf/index.js.map +1 -0
- package/dist/registry/index.js +8 -24
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/lib/agent-validation-host.js +5 -8
- package/dist/registry/lib/agent-validation-host.js.map +1 -1
- package/dist/registry/lib/biome-slot.js +9 -12
- package/dist/registry/lib/biome-slot.js.map +1 -1
- package/dist/registry/lib/biomes-enabled-context.js +5 -9
- package/dist/registry/lib/biomes-enabled-context.js.map +1 -1
- package/dist/registry/lib/extension-points.js +1 -4
- package/dist/registry/lib/extension-points.js.map +1 -1
- package/dist/registry/lib/primitives/SessionEventCard.js +7 -10
- package/dist/registry/lib/primitives/SessionEventCard.js.map +1 -1
- package/dist/registry/lib/primitives/SessionEventTimeline.js +9 -12
- package/dist/registry/lib/primitives/SessionEventTimeline.js.map +1 -1
- package/dist/registry/lib/primitives/SessionMutationBar.js +3 -6
- package/dist/registry/lib/primitives/SessionMutationBar.js.map +1 -1
- package/dist/registry/lib/primitives/SessionTabbedDrawer.js +11 -14
- package/dist/registry/lib/primitives/SessionTabbedDrawer.js.map +1 -1
- package/dist/registry/lib/primitives/index.js +4 -20
- package/dist/registry/lib/primitives/index.js.map +1 -1
- package/dist/registry/lib/session-context-builder.js +6 -10
- package/dist/registry/lib/session-context-builder.js.map +1 -1
- package/dist/registry/lib/session-context-provider.js +9 -14
- package/dist/registry/lib/session-context-provider.js.map +1 -1
- package/dist/registry/lib/session-selectors.js +30 -39
- package/dist/registry/lib/session-selectors.js.map +1 -1
- package/dist/session/comments/CommentRail.js +6 -9
- package/dist/session/comments/CommentRail.js.map +1 -1
- package/dist/session/index.js +3 -9
- package/dist/session/index.js.map +1 -1
- package/dist/session/lib/cn.js +4 -7
- package/dist/session/lib/cn.js.map +1 -1
- package/dist/session/shell/SessionWorkspaceShell.js +5 -8
- package/dist/session/shell/SessionWorkspaceShell.js.map +1 -1
- package/dist/session-kit/approvals/ApprovalButton.js +3 -6
- package/dist/session-kit/approvals/ApprovalButton.js.map +1 -1
- package/dist/session-kit/approvals/ApprovalCard.js +30 -33
- package/dist/session-kit/approvals/ApprovalCard.js.map +1 -1
- package/dist/session-kit/approvals/ApprovalsCenter.js +29 -32
- package/dist/session-kit/approvals/ApprovalsCenter.js.map +1 -1
- package/dist/session-kit/approvals/CapabilityApprovalStickyBar.js +12 -15
- package/dist/session-kit/approvals/CapabilityApprovalStickyBar.js.map +1 -1
- package/dist/session-kit/approvals/Obligation.js +12 -16
- package/dist/session-kit/approvals/Obligation.js.map +1 -1
- package/dist/session-kit/approvals/ScopedBody.js +34 -37
- package/dist/session-kit/approvals/ScopedBody.js.map +1 -1
- package/dist/session-kit/approvals/approval-icons.js +1 -2
- package/dist/session-kit/approvals/approval-model.js +6 -11
- package/dist/session-kit/approvals/approval-model.js.map +1 -1
- package/dist/session-kit/approvals/index.js +11 -27
- package/dist/session-kit/approvals/index.js.map +1 -1
- package/dist/session-kit/approvals/obligation-display.js +13 -16
- package/dist/session-kit/approvals/obligation-display.js.map +1 -1
- package/dist/session-kit/approvals/risk-accent.js +6 -9
- package/dist/session-kit/approvals/risk-accent.js.map +1 -1
- package/dist/session-kit/approvals/scope-icons.js +2 -5
- package/dist/session-kit/approvals/scope-icons.js.map +1 -1
- package/dist/session-kit/combobox/Combobox.js +19 -22
- package/dist/session-kit/combobox/Combobox.js.map +1 -1
- package/dist/session-kit/combobox/use-click-outside.js +4 -7
- package/dist/session-kit/combobox/use-click-outside.js.map +1 -1
- package/dist/session-kit/display/ContextHeader.js +10 -13
- package/dist/session-kit/display/ContextHeader.js.map +1 -1
- package/dist/session-kit/display/FileDiffCard.js +11 -14
- package/dist/session-kit/display/FileDiffCard.js.map +1 -1
- package/dist/session-kit/display/MD.js +14 -17
- package/dist/session-kit/display/MD.js.map +1 -1
- package/dist/session-kit/display/MessageTurn.js +20 -23
- package/dist/session-kit/display/MessageTurn.js.map +1 -1
- package/dist/session-kit/display/ThinkingPanel.js +7 -10
- package/dist/session-kit/display/ThinkingPanel.js.map +1 -1
- package/dist/session-kit/display/TodoChecklist.js +13 -16
- package/dist/session-kit/display/TodoChecklist.js.map +1 -1
- package/dist/session-kit/display/TokenMeter.js +8 -11
- package/dist/session-kit/display/TokenMeter.js.map +1 -1
- package/dist/session-kit/display/ToolStrip.js +26 -30
- package/dist/session-kit/display/ToolStrip.js.map +1 -1
- package/dist/session-kit/display/TypingDots.js +3 -6
- package/dist/session-kit/display/TypingDots.js.map +1 -1
- package/dist/session-kit/index.js +20 -36
- package/dist/session-kit/index.js.map +1 -1
- package/dist/session-kit/lib/enums.js +14 -17
- package/dist/session-kit/lib/enums.js.map +1 -1
- package/dist/session-kit/lib/portal-accent.js +1 -4
- package/dist/session-kit/lib/portal-accent.js.map +1 -1
- package/dist/session-kit/lib/status-dot.js +19 -24
- package/dist/session-kit/lib/status-dot.js.map +1 -1
- package/dist/session-kit/primitives/Avatar.js +3 -6
- package/dist/session-kit/primitives/Avatar.js.map +1 -1
- package/dist/session-kit/primitives/PortalGlyph.js +8 -11
- package/dist/session-kit/primitives/PortalGlyph.js.map +1 -1
- package/dist/session-kit/primitives/RiskPill.js +10 -14
- package/dist/session-kit/primitives/RiskPill.js.map +1 -1
- package/dist/session-kit/primitives/ScopeDot.js +7 -10
- package/dist/session-kit/primitives/ScopeDot.js.map +1 -1
- package/dist/session-kit/primitives/Segmented.js +4 -7
- package/dist/session-kit/primitives/Segmented.js.map +1 -1
- package/dist/ui/branding/app-branding-provider.js +13 -51
- package/dist/ui/branding/app-branding-provider.js.map +1 -1
- package/dist/ui/branding/sanitize.js +3 -8
- package/dist/ui/branding/sanitize.js.map +1 -1
- package/dist/ui/breakpoints.js +1 -4
- package/dist/ui/breakpoints.js.map +1 -1
- package/dist/ui/capture/document-preview.js +16 -19
- package/dist/ui/capture/document-preview.js.map +1 -1
- package/dist/ui/capture/field-spec-to-zod.js +32 -36
- package/dist/ui/capture/field-spec-to-zod.js.map +1 -1
- package/dist/ui/capture/field-spec.js +6 -13
- package/dist/ui/capture/field-spec.js.map +1 -1
- package/dist/ui/capture/index.js +10 -30
- package/dist/ui/capture/index.js.map +1 -1
- package/dist/ui/capture/schema-field-input.js +55 -58
- package/dist/ui/capture/schema-field-input.js.map +1 -1
- package/dist/ui/capture/schema-form.js +11 -14
- package/dist/ui/capture/schema-form.js.map +1 -1
- package/dist/ui/capture/use-prefill.js +13 -16
- package/dist/ui/capture/use-prefill.js.map +1 -1
- package/dist/ui/capture/use-schema-validation.js +13 -16
- package/dist/ui/capture/use-schema-validation.js.map +1 -1
- package/dist/ui/capture/use-wizard.js +15 -18
- package/dist/ui/capture/use-wizard.js.map +1 -1
- package/dist/ui/capture/value-format.js +4 -8
- package/dist/ui/capture/value-format.js.map +1 -1
- package/dist/ui/capture/wizard.js +10 -14
- package/dist/ui/capture/wizard.js.map +1 -1
- package/dist/ui/charts/bar-chart.js +14 -17
- package/dist/ui/charts/bar-chart.js.map +1 -1
- package/dist/ui/charts/chart-frame.js +11 -16
- package/dist/ui/charts/chart-frame.js.map +1 -1
- package/dist/ui/charts/chart-types.js +1 -2
- package/dist/ui/charts/chart-utils.js +7 -15
- package/dist/ui/charts/chart-utils.js.map +1 -1
- package/dist/ui/charts/donut-chart.js +11 -14
- package/dist/ui/charts/donut-chart.js.map +1 -1
- package/dist/ui/charts/index.js +6 -20
- package/dist/ui/charts/index.js.map +1 -1
- package/dist/ui/charts/line-chart.js +15 -18
- package/dist/ui/charts/line-chart.js.map +1 -1
- package/dist/ui/charts/sparkline.js +9 -12
- package/dist/ui/charts/sparkline.js.map +1 -1
- package/dist/ui/chrome/AsyncBoundary.js +9 -15
- package/dist/ui/chrome/AsyncBoundary.js.map +1 -1
- package/dist/ui/chrome/EmptyState.js +9 -12
- package/dist/ui/chrome/EmptyState.js.map +1 -1
- package/dist/ui/chrome/ErrorCard.js +8 -11
- package/dist/ui/chrome/ErrorCard.js.map +1 -1
- package/dist/ui/chrome/LoadingState.js +8 -11
- package/dist/ui/chrome/LoadingState.js.map +1 -1
- package/dist/ui/chrome/PageHeader.js +10 -14
- package/dist/ui/chrome/PageHeader.js.map +1 -1
- package/dist/ui/chrome/StateCard.js +7 -11
- package/dist/ui/chrome/StateCard.js.map +1 -1
- package/dist/ui/chrome/confirm-delete-dialog.js +5 -8
- package/dist/ui/chrome/confirm-delete-dialog.js.map +1 -1
- package/dist/ui/chrome/page-shell.js +9 -15
- package/dist/ui/chrome/page-shell.js.map +1 -1
- package/dist/ui/chrome/scope-badge.js +5 -8
- package/dist/ui/chrome/scope-badge.js.map +1 -1
- package/dist/ui/chrome/status-badge.js +7 -10
- package/dist/ui/chrome/status-badge.js.map +1 -1
- package/dist/ui/cn.js +5 -8
- package/dist/ui/cn.js.map +1 -1
- package/dist/ui/design-tokens.js +21 -28
- package/dist/ui/design-tokens.js.map +1 -1
- package/dist/ui/hooks/use-debounced-value.js +4 -7
- package/dist/ui/hooks/use-debounced-value.js.map +1 -1
- package/dist/ui/hooks/use-is-mobile.js +8 -11
- package/dist/ui/hooks/use-is-mobile.js.map +1 -1
- package/dist/ui/index.d.ts +0 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +46 -87
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/pdf/pdf-preview.js +17 -20
- package/dist/ui/pdf/pdf-preview.js.map +1 -1
- package/dist/ui/primitives/alert-dialog.js +14 -60
- package/dist/ui/primitives/alert-dialog.js.map +1 -1
- package/dist/ui/primitives/async-combobox.js +18 -21
- package/dist/ui/primitives/async-combobox.js.map +1 -1
- package/dist/ui/primitives/badge.js +7 -44
- package/dist/ui/primitives/badge.js.map +1 -1
- package/dist/ui/primitives/button.js +9 -46
- package/dist/ui/primitives/button.js.map +1 -1
- package/dist/ui/primitives/card.js +10 -51
- package/dist/ui/primitives/card.js.map +1 -1
- package/dist/ui/primitives/checkbox.js +7 -43
- package/dist/ui/primitives/checkbox.js.map +1 -1
- package/dist/ui/primitives/collapsible.js +2 -40
- package/dist/ui/primitives/collapsible.js.map +1 -1
- package/dist/ui/primitives/dialog.js +12 -57
- package/dist/ui/primitives/dialog.js.map +1 -1
- package/dist/ui/primitives/dropdown-menu.js +15 -65
- package/dist/ui/primitives/dropdown-menu.js.map +1 -1
- package/dist/ui/primitives/form-stepper.js +8 -12
- package/dist/ui/primitives/form-stepper.js.map +1 -1
- package/dist/ui/primitives/input.js +5 -41
- package/dist/ui/primitives/input.js.map +1 -1
- package/dist/ui/primitives/label.js +8 -44
- package/dist/ui/primitives/label.js.map +1 -1
- package/dist/ui/primitives/overflow-tabs.js +18 -21
- package/dist/ui/primitives/overflow-tabs.js.map +1 -1
- package/dist/ui/primitives/popover.js +6 -44
- package/dist/ui/primitives/popover.js.map +1 -1
- package/dist/ui/primitives/preview-device-frame.js +16 -19
- package/dist/ui/primitives/preview-device-frame.js.map +1 -1
- package/dist/ui/primitives/radio-group.js +8 -45
- package/dist/ui/primitives/radio-group.js.map +1 -1
- package/dist/ui/primitives/resizable.js +11 -16
- package/dist/ui/primitives/resizable.js.map +1 -1
- package/dist/ui/primitives/scroll-area.js +7 -44
- package/dist/ui/primitives/scroll-area.js.map +1 -1
- package/dist/ui/primitives/select.js +15 -60
- package/dist/ui/primitives/select.js.map +1 -1
- package/dist/ui/primitives/separator.js +6 -42
- package/dist/ui/primitives/separator.js.map +1 -1
- package/dist/ui/primitives/sheet.js +14 -59
- package/dist/ui/primitives/sheet.js.map +1 -1
- package/dist/ui/primitives/skeleton.js +5 -7
- package/dist/ui/primitives/skeleton.js.map +1 -1
- package/dist/ui/primitives/switch.js +6 -42
- package/dist/ui/primitives/switch.js.map +1 -1
- package/dist/ui/primitives/table.js +12 -55
- package/dist/ui/primitives/table.js.map +1 -1
- package/dist/ui/primitives/tabs.js +8 -47
- package/dist/ui/primitives/tabs.js.map +1 -1
- package/dist/ui/primitives/tag-multi-select.js +24 -27
- package/dist/ui/primitives/tag-multi-select.js.map +1 -1
- package/dist/ui/primitives/textarea.js +5 -41
- package/dist/ui/primitives/textarea.js.map +1 -1
- package/dist/ui/primitives/tooltip.js +6 -45
- package/dist/ui/primitives/tooltip.js.map +1 -1
- package/package.json +8 -1
- package/src/pdf/index.ts +11 -0
- package/src/ui/index.ts +4 -1
|
@@ -1,27 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const button_1 = require("../primitives/button");
|
|
7
|
-
const card_1 = require("../primitives/card");
|
|
8
|
-
const DefaultLink = ({ href, children }) => ((0, jsx_runtime_1.jsx)("a", { href: href, children: children }));
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../cn';
|
|
3
|
+
import { Button } from '../primitives/button';
|
|
4
|
+
import { Card, CardContent } from '../primitives/card';
|
|
5
|
+
const DefaultLink = ({ href, children }) => (_jsx("a", { href: href, children: children }));
|
|
9
6
|
const VARIANT_DEFAULTS = {
|
|
10
7
|
'not-configured': { iconBg: 'bg-info/10', iconColor: 'text-info' },
|
|
11
8
|
'no-results': { iconBg: 'bg-warning/10', iconColor: 'text-warning' },
|
|
12
9
|
'disabled-context': { iconBg: 'bg-muted', iconColor: 'text-ink-3' },
|
|
13
10
|
};
|
|
14
|
-
function EmptyState({ icon: Icon, title, description, illustration, variant = 'not-configured', size = 'comfortable', iconBg, iconColor, action, secondaryAction, linkComponent, className, }) {
|
|
11
|
+
export default function EmptyState({ icon: Icon, title, description, illustration, variant = 'not-configured', size = 'comfortable', iconBg, iconColor, action, secondaryAction, linkComponent, className, }) {
|
|
15
12
|
const Link = linkComponent ?? DefaultLink;
|
|
16
13
|
const defaults = VARIANT_DEFAULTS[variant];
|
|
17
14
|
const resolvedIconBg = iconBg ?? defaults.iconBg;
|
|
18
15
|
const resolvedIconColor = iconColor ?? defaults.iconColor;
|
|
19
16
|
if (size === 'inline') {
|
|
20
|
-
return ((
|
|
17
|
+
return (_jsx("div", { className: cn('flex items-center justify-center px-3 py-6 text-center text-body-2 text-ink-4', className), children: _jsxs("div", { className: "max-w-sm space-y-1", children: [_jsx("p", { className: "text-ink-3", children: title }), description && _jsx("p", { className: "text-ink-4", children: description }), (action || secondaryAction) && (_jsxs("div", { className: "mt-3 flex items-center justify-center gap-2", children: [action && (_jsxs(Button, { size: "sm", variant: "outline", onClick: action.onClick, className: "h-7 gap-1.5 text-body-2", children: [action.icon && _jsx(action.icon, { className: "h-3.5 w-3.5" }), action.label] })), secondaryAction && (_jsx(Button, { asChild: true, size: "sm", variant: "ghost", className: "h-7 px-2 text-body-2", children: _jsx(Link, { href: secondaryAction.href, children: secondaryAction.label }) }))] }))] }) }));
|
|
21
18
|
}
|
|
22
19
|
if (size === 'dense') {
|
|
23
|
-
return ((
|
|
20
|
+
return (_jsxs("div", { className: cn('flex flex-col items-center justify-center px-4 py-8 text-center', className), children: [illustration ?? (_jsx("div", { className: cn('h-9 w-9 rounded-xl flex items-center justify-center mb-3', resolvedIconBg), children: _jsx(Icon, { className: cn('h-4 w-4', resolvedIconColor) }) })), _jsx("p", { className: "text-body-1 font-semibold text-ink", children: title }), description && (_jsx("p", { className: "mt-1 max-w-md text-body-2 leading-snug text-ink-3", children: description })), (action || secondaryAction) && (_jsxs("div", { className: "mt-3 flex items-center gap-2", children: [action && (_jsxs(Button, { size: "sm", variant: "outline", onClick: action.onClick, className: "h-7 gap-1.5 text-body-2", children: [action.icon && _jsx(action.icon, { className: "h-3.5 w-3.5" }), action.label] })), secondaryAction && (_jsx(Button, { asChild: true, size: "sm", variant: "ghost", className: "h-7 px-2 text-body-2", children: _jsx(Link, { href: secondaryAction.href, children: secondaryAction.label }) }))] }))] }));
|
|
24
21
|
}
|
|
25
|
-
return ((
|
|
22
|
+
return (_jsx(Card, { className: cn('border-2 border-dashed border-border/50 rounded-xl', className), children: _jsxs(CardContent, { className: "flex flex-col items-center justify-center py-16 text-center", children: [illustration ?? (_jsx("div", { className: `h-16 w-16 rounded-2xl flex items-center justify-center mb-5 ${resolvedIconBg}`, children: _jsx(Icon, { className: `h-7 w-7 ${resolvedIconColor}` }) })), _jsx("p", { className: "text-subtitle font-semibold text-ink", children: title }), description && (_jsx("p", { className: "text-body-1 mt-2 max-w-sm text-ink-3 leading-relaxed", children: description })), (action || secondaryAction) && (_jsxs("div", { className: "mt-6 flex items-center gap-3", children: [action && (_jsxs(Button, { size: "sm", variant: "outline", onClick: action.onClick, className: "gap-2 h-10 px-5", children: [action.icon && _jsx(action.icon, { className: "h-4 w-4" }), action.label] })), secondaryAction && (_jsx(Button, { asChild: true, size: "sm", variant: "ghost", className: "h-10 px-3", children: _jsx(Link, { href: secondaryAction.href, children: secondaryAction.label }) }))] }))] }) }));
|
|
26
23
|
}
|
|
27
24
|
//# sourceMappingURL=EmptyState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../../src/ui/chrome/EmptyState.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../../src/ui/chrome/EmptyState.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
const card_1 = require("../primitives/card");
|
|
9
|
-
const defaultFormatError = (error, fallback) => (0, errors_1.getUserFacingErrorMessage)(error, fallback);
|
|
10
|
-
function ErrorCard({ error, title = 'Something went wrong', onRetry, formatError = defaultFormatError, fallbackMessage = 'Unable to load this content right now.', }) {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { AlertCircle, RefreshCw } from 'lucide-react';
|
|
3
|
+
import { getUserFacingErrorMessage } from '../../lib/biome-host/errors';
|
|
4
|
+
import { Button } from '../primitives/button';
|
|
5
|
+
import { Card, CardContent } from '../primitives/card';
|
|
6
|
+
const defaultFormatError = (error, fallback) => getUserFacingErrorMessage(error, fallback);
|
|
7
|
+
export default function ErrorCard({ error, title = 'Something went wrong', onRetry, formatError = defaultFormatError, fallbackMessage = 'Unable to load this content right now.', }) {
|
|
11
8
|
const message = formatError(error, fallbackMessage);
|
|
12
|
-
return ((
|
|
9
|
+
return (_jsx(Card, { className: "border-destructive/25 bg-destructive/[0.03] rounded-xl", children: _jsxs(CardContent, { className: "flex flex-col items-center py-14 text-center", children: [_jsx("div", { className: "h-14 w-14 rounded-2xl bg-destructive/10 flex items-center justify-center mb-4", children: _jsx(AlertCircle, { className: "h-6 w-6 text-destructive" }) }), _jsx("p", { className: "text-subtitle font-semibold text-ink", children: title }), _jsx("p", { className: "text-body-1 text-ink-3 mt-2 max-w-md leading-relaxed", children: message }), onRetry && (_jsxs(Button, { size: "sm", variant: "outline", onClick: onRetry, className: "mt-5 gap-2 h-10 border-destructive/20 text-destructive hover:bg-destructive/5", children: [_jsx(RefreshCw, { className: "h-4 w-4" }), "Retry"] }))] }) }));
|
|
13
10
|
}
|
|
14
11
|
//# sourceMappingURL=ErrorCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorCard.js","sourceRoot":"","sources":["../../../src/ui/chrome/ErrorCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ErrorCard.js","sourceRoot":"","sources":["../../../src/ui/chrome/ErrorCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWvD,MAAM,kBAAkB,GAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CACpE,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAe7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,KAAK,EACL,KAAK,GAAG,sBAAsB,EAC9B,OAAO,EACP,WAAW,GAAG,kBAAkB,EAChC,eAAe,GAAG,wCAAwC,GAC3C;IACf,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAEpD,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAC,wDAAwD,YACtE,MAAC,WAAW,IAAC,SAAS,EAAC,8CAA8C,aACnE,cAAK,SAAS,EAAC,+EAA+E,YAC5F,KAAC,WAAW,IAAC,SAAS,EAAC,0BAA0B,GAAG,GAChD,EACN,YAAG,SAAS,EAAC,sCAAsC,YAAE,KAAK,GAAK,EAC/D,YAAG,SAAS,EAAC,sDAAsD,YAAE,OAAO,GAAK,EAChF,OAAO,IAAI,CACV,MAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,+EAA+E,aAEzF,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,GAAG,aAE1B,CACV,IACW,GACT,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const cn_1 = require("../cn");
|
|
7
|
-
const skeleton_1 = require("../primitives/skeleton");
|
|
8
|
-
function LoadingState({ variant = 'spinner', label = 'Loading…', rows = 4, className, }) {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Loader2 } from 'lucide-react';
|
|
3
|
+
import { cn } from '../cn';
|
|
4
|
+
import { Skeleton } from '../primitives/skeleton';
|
|
5
|
+
export default function LoadingState({ variant = 'spinner', label = 'Loading…', rows = 4, className, }) {
|
|
9
6
|
if (variant === 'skeleton-list') {
|
|
10
|
-
return ((
|
|
7
|
+
return (_jsx("div", { className: cn('space-y-3', className), role: "status", "aria-label": label, children: Array.from({ length: rows }).map((_, i) => (_jsx(Skeleton, { className: "h-12 w-full rounded-xl" }, i))) }));
|
|
11
8
|
}
|
|
12
9
|
if (variant === 'skeleton-card') {
|
|
13
|
-
return ((
|
|
10
|
+
return (_jsxs("div", { className: cn('space-y-3', className), role: "status", "aria-label": label, children: [_jsx(Skeleton, { className: "h-40 w-full rounded-2xl" }), _jsx(Skeleton, { className: "h-4 w-2/3 rounded" }), _jsx(Skeleton, { className: "h-4 w-1/2 rounded" })] }));
|
|
14
11
|
}
|
|
15
|
-
return ((
|
|
12
|
+
return (_jsxs("div", { className: cn('flex flex-col items-center justify-center py-14 text-center', className), role: "status", "aria-label": label, children: [_jsx(Loader2, { className: "h-6 w-6 animate-spin text-ink-3" }), label && _jsx("p", { className: "mt-3 text-body-2 text-ink-3", children: label })] }));
|
|
16
13
|
}
|
|
17
14
|
//# sourceMappingURL=LoadingState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingState.js","sourceRoot":"","sources":["../../../src/ui/chrome/LoadingState.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LoadingState.js","sourceRoot":"","sources":["../../../src/ui/chrome/LoadingState.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAqBlD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,OAAO,GAAG,SAAS,EACnB,KAAK,GAAG,UAAU,EAClB,IAAI,GAAG,CAAC,EACR,SAAS,GACmB;IAC5B,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,QAAQ,gBAAa,KAAK,YACxE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1C,KAAC,QAAQ,IAAS,SAAS,EAAC,wBAAwB,IAArC,CAAC,CAAuC,CACxD,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,QAAQ,gBAAa,KAAK,aACzE,KAAC,QAAQ,IAAC,SAAS,EAAC,yBAAyB,GAAG,EAChD,KAAC,QAAQ,IAAC,SAAS,EAAC,mBAAmB,GAAG,EAC1C,KAAC,QAAQ,IAAC,SAAS,EAAC,mBAAmB,GAAG,IACtC,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,6DAA6D,EAAE,SAAS,CAAC,EACvF,IAAI,EAAC,QAAQ,gBACD,KAAK,aAEjB,KAAC,OAAO,IAAC,SAAS,EAAC,iCAAiC,GAAG,EACtD,KAAK,IAAI,YAAG,SAAS,EAAC,6BAA6B,YAAE,KAAK,GAAK,IAC5D,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
function PageHeader({ title, description, topbarDescription, eyebrow, helpActions, actions, backTo, }) {
|
|
10
|
-
const topbarActions = (0, react_1.useMemo)(() => actions, [actions]);
|
|
11
|
-
const topbarMeta = (0, react_1.useMemo)(() => (description ? (0, jsx_runtime_1.jsx)("span", { children: description }) : null), [description]);
|
|
12
|
-
(0, biome_host_1.useHostBridge)().pageMeta.usePageMeta({
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { useHostBridge } from '../../lib/biome-host';
|
|
4
|
+
import { cn } from '../cn';
|
|
5
|
+
export default function PageHeader({ title, description, topbarDescription, eyebrow, helpActions, actions, backTo, }) {
|
|
6
|
+
const topbarActions = useMemo(() => actions, [actions]);
|
|
7
|
+
const topbarMeta = useMemo(() => (description ? _jsx("span", { children: description }) : null), [description]);
|
|
8
|
+
useHostBridge().pageMeta.usePageMeta({
|
|
13
9
|
title,
|
|
14
10
|
eyebrow,
|
|
15
11
|
description: topbarDescription ?? description,
|
|
@@ -20,7 +16,7 @@ function PageHeader({ title, description, topbarDescription, eyebrow, helpAction
|
|
|
20
16
|
});
|
|
21
17
|
return null;
|
|
22
18
|
}
|
|
23
|
-
function PageToolbar({ children, trailing, className, }) {
|
|
24
|
-
return ((
|
|
19
|
+
export function PageToolbar({ children, trailing, className, }) {
|
|
20
|
+
return (_jsxs("div", { className: cn('flex shrink-0 items-center gap-2 border-b border-rule/50 bg-paper px-4 py-1.5 sm:px-6', className), children: [_jsx("div", { className: "flex min-w-0 flex-1 flex-wrap items-center gap-2", children: children }), trailing && _jsx("div", { className: "flex shrink-0 items-center gap-1.5", children: trailing })] }));
|
|
25
21
|
}
|
|
26
22
|
//# sourceMappingURL=PageHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageHeader.js","sourceRoot":"","sources":["../../../src/ui/chrome/PageHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PageHeader.js","sourceRoot":"","sources":["../../../src/ui/chrome/PageHeader.tsx"],"names":[],"mappings":";AAsBA,OAAO,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAuB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AA0C3B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,OAAO,EACP,MAAM,GACoB;IAI1B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAO,WAAW,GAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EACvD,CAAC,WAAW,CAAC,CACd,CAAC;IAKF,aAAa,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACnC,KAAK;QACL,OAAO;QACP,WAAW,EAAE,iBAAiB,IAAI,WAAW;QAC7C,OAAO,EAAE,WAAW;QACpB,aAAa;QACb,UAAU;QACV,MAAM;KACP,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAsBD,MAAM,UAAU,WAAW,CAAC,EAC1B,QAAQ,EACR,QAAQ,EACR,SAAS,GACkB;IAC3B,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,uFAAuF,EACvF,SAAS,CACV,aAED,cAAK,SAAS,EAAC,kDAAkD,YAAE,QAAQ,GAAO,EACjF,QAAQ,IAAI,cAAK,SAAS,EAAC,oCAAoC,YAAE,QAAQ,GAAO,IAC7E,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const cn_1 = require("../cn");
|
|
8
|
-
const StateCard = ({ variant, icon, title, description, action, errorDetails, className = '', }) => {
|
|
9
|
-
const [detailsExpanded, setDetailsExpanded] = (0, react_1.useState)(false);
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronDown, ChevronRight } from 'lucide-react';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { cn } from '../cn';
|
|
5
|
+
export const StateCard = ({ variant, icon, title, description, action, errorDetails, className = '', }) => {
|
|
6
|
+
const [detailsExpanded, setDetailsExpanded] = useState(false);
|
|
10
7
|
const isError = variant.startsWith('error');
|
|
11
8
|
const isDetailed = variant === 'error-detailed';
|
|
12
|
-
return ((
|
|
9
|
+
return (_jsxs("div", { className: cn('flex flex-col items-center justify-center py-14 px-6 rounded-xl border-2', isError ? 'border-destructive/20 bg-destructive/[0.03]' : 'border-dashed border-border/50 bg-paper-elev/60', className), children: [_jsx("div", { className: cn('h-14 w-14 rounded-2xl flex items-center justify-center mb-5', isError ? 'bg-destructive/10' : 'bg-primary/10'), children: _jsx("span", { className: isError ? 'text-destructive' : 'text-primary', children: icon }) }), _jsx("h2", { className: "text-subtitle font-semibold text-ink mb-2 text-center", children: title }), description && (_jsx("p", { className: "text-body-1 text-ink-3 max-w-md text-center mb-4 leading-relaxed", children: description })), isDetailed && errorDetails && (_jsxs("div", { className: "mt-4 w-full max-w-md", children: [_jsxs("button", { type: "button", onClick: () => setDetailsExpanded(!detailsExpanded), className: "text-body-1 font-medium text-destructive hover:text-destructive flex items-center gap-1.5 mb-2", children: [detailsExpanded ? _jsx(ChevronDown, { className: "h-4 w-4" }) : _jsx(ChevronRight, { className: "h-4 w-4" }), "Error Details"] }), detailsExpanded && (_jsxs("div", { className: "p-4 bg-card border border-destructive/20 rounded-xl space-y-3", children: [errorDetails.fields && errorDetails.fields.length > 0 && (_jsx("div", { className: "space-y-1.5", children: errorDetails.fields.map((field, idx) => (_jsxs("div", { className: "text-body-1", children: [_jsx("span", { className: "font-semibold text-destructive", children: field.label }), _jsxs("span", { className: "text-ink/70", children: [": ", field.value] })] }, idx))) })), errorDetails.stackTrace && (_jsxs("details", { className: "text-body-1", children: [_jsx("summary", { className: "font-medium text-destructive cursor-pointer mb-1", children: "Stack Trace" }), _jsx("pre", { className: "bg-destructive/5 p-3 rounded-lg overflow-auto max-h-32 text-destructive whitespace-pre-wrap break-words text-body-1 font-mono", children: errorDetails.stackTrace })] })), errorDetails.requestId && (_jsxs("div", { className: "text-body-1 pt-2 border-t border-destructive/15", children: [_jsx("span", { className: "font-medium text-ink-3", children: "Request ID" }), _jsx("br", {}), _jsx("code", { className: "text-body-1 text-ink/70 font-mono break-all", children: errorDetails.requestId })] }))] }))] })), action && (_jsx("button", { type: "button", onClick: action.onClick, className: cn('mt-6 px-5 py-2.5 rounded-lg font-medium transition-colors h-10', isError
|
|
13
10
|
? 'bg-destructive text-destructive-foreground hover:bg-destructive/90'
|
|
14
11
|
: 'bg-primary text-primary-foreground hover:bg-primary/90'), children: action.label }))] }));
|
|
15
12
|
};
|
|
16
|
-
exports.StateCard = StateCard;
|
|
17
13
|
//# sourceMappingURL=StateCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateCard.js","sourceRoot":"","sources":["../../../src/ui/chrome/StateCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StateCard.js","sourceRoot":"","sources":["../../../src/ui/chrome/StateCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const alert_dialog_1 = require("../primitives/alert-dialog");
|
|
7
|
-
function ConfirmDeleteDialog({ open, onOpenChange, onConfirm, title = 'Delete item', description = 'This action cannot be undone. Are you sure you want to continue?', isPending, confirmLabel = 'Delete', }) {
|
|
8
|
-
return ((0, jsx_runtime_1.jsx)(alert_dialog_1.AlertDialog, { open: open, onOpenChange: onOpenChange, children: (0, jsx_runtime_1.jsxs)(alert_dialog_1.AlertDialogContent, { children: [(0, jsx_runtime_1.jsxs)(alert_dialog_1.AlertDialogHeader, { children: [(0, jsx_runtime_1.jsx)(alert_dialog_1.AlertDialogTitle, { children: title }), (0, jsx_runtime_1.jsx)(alert_dialog_1.AlertDialogDescription, { children: description })] }), (0, jsx_runtime_1.jsxs)(alert_dialog_1.AlertDialogFooter, { children: [(0, jsx_runtime_1.jsx)(alert_dialog_1.AlertDialogCancel, { disabled: isPending, children: "Cancel" }), (0, jsx_runtime_1.jsxs)(alert_dialog_1.AlertDialogAction, { onClick: onConfirm, disabled: isPending, className: "bg-destructive text-destructive-foreground hover:bg-destructive/90", children: [isPending && (0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { className: "h-4 w-4 mr-1.5 animate-spin" }), confirmLabel] })] })] }) }));
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Loader2 } from 'lucide-react';
|
|
3
|
+
import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '../primitives/alert-dialog';
|
|
4
|
+
export default function ConfirmDeleteDialog({ open, onOpenChange, onConfirm, title = 'Delete item', description = 'This action cannot be undone. Are you sure you want to continue?', isPending, confirmLabel = 'Delete', }) {
|
|
5
|
+
return (_jsx(AlertDialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: title }), _jsx(AlertDialogDescription, { children: description })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { disabled: isPending, children: "Cancel" }), _jsxs(AlertDialogAction, { onClick: onConfirm, disabled: isPending, className: "bg-destructive text-destructive-foreground hover:bg-destructive/90", children: [isPending && _jsx(Loader2, { className: "h-4 w-4 mr-1.5 animate-spin" }), confirmLabel] })] })] }) }));
|
|
9
6
|
}
|
|
10
7
|
//# sourceMappingURL=confirm-delete-dialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirm-delete-dialog.js","sourceRoot":"","sources":["../../../src/ui/chrome/confirm-delete-dialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"confirm-delete-dialog.js","sourceRoot":"","sources":["../../../src/ui/chrome/confirm-delete-dialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAiBpC,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,KAAK,GAAG,aAAa,EACrB,WAAW,GAAG,kEAAkE,EAChF,SAAS,EACT,YAAY,GAAG,QAAQ,GACE;IACzB,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,YACjD,MAAC,kBAAkB,eACjB,MAAC,iBAAiB,eAChB,KAAC,gBAAgB,cAAE,KAAK,GAAoB,EAC5C,KAAC,sBAAsB,cAAE,WAAW,GAA0B,IAC5C,EACpB,MAAC,iBAAiB,eAChB,KAAC,iBAAiB,IAAC,QAAQ,EAAE,SAAS,uBAA4B,EAClE,MAAC,iBAAiB,IAChB,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAC,oEAAoE,aAE7E,SAAS,IAAI,KAAC,OAAO,IAAC,SAAS,EAAC,6BAA6B,GAAG,EAChE,YAAY,IACK,IACF,IACD,GACT,CACf,CAAC;AACJ,CAAC"}
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const lucide_react_1 = require("lucide-react");
|
|
9
|
-
const biome_host_1 = require("../../lib/biome-host");
|
|
10
|
-
const EmptyState_1 = __importDefault(require("./EmptyState"));
|
|
11
|
-
const tabs_1 = require("../primitives/tabs");
|
|
12
|
-
function PageShell({ icon: _Icon, title, description, children, actions, tabs, activeTab, onTabChange, maxWidth, embedded, eyebrow, backTo, topbarActions, }) {
|
|
13
|
-
(0, biome_host_1.useHostBridge)().pageMeta.usePageMeta({ title, description, eyebrow, backTo, topbarActions });
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { FileQuestion } from 'lucide-react';
|
|
3
|
+
import { useHostBridge } from '../../lib/biome-host';
|
|
4
|
+
import EmptyState from './EmptyState';
|
|
5
|
+
import { Tabs, TabsList, TabsTrigger } from '../primitives/tabs';
|
|
6
|
+
export default function PageShell({ icon: _Icon, title, description, children, actions, tabs, activeTab, onTabChange, maxWidth, embedded, eyebrow, backTo, topbarActions, }) {
|
|
7
|
+
useHostBridge().pageMeta.usePageMeta({ title, description, eyebrow, backTo, topbarActions });
|
|
14
8
|
if (embedded) {
|
|
15
|
-
return ((
|
|
9
|
+
return (_jsxs("div", { className: "flex h-full min-h-0 flex-col bg-paper", children: [(tabs && tabs.length > 0) || actions ? (_jsx("div", { className: "shrink-0 border-b border-rule bg-paper-elev/40", children: _jsxs("div", { className: "flex items-center gap-3 px-4 py-2 lg:px-6", children: [tabs && tabs.length > 0 && (_jsx(Tabs, { value: activeTab, onValueChange: onTabChange, className: "flex-1 min-w-0", children: _jsx("div", { className: "overflow-x-auto", children: _jsx(TabsList, { className: "h-7 bg-transparent p-0 gap-0", children: tabs.map((tab) => (_jsxs(TabsTrigger, { value: tab.value, className: "rounded-none border-b-2 border-transparent px-2 py-1 text-body-2 font-medium text-ink-3 transition-colors data-[state=active]:border-primary data-[state=active]:text-ink data-[state=active]:bg-transparent data-[state=active]:shadow-none", children: [tab.label, tab.count !== undefined && (_jsx("span", { className: "ml-1.5 text-caption tabular-nums opacity-70", children: tab.count })), tab.indicator && (_jsx("span", { className: "ml-1.5 inline-block h-1.5 w-1.5 rounded-full bg-warning" }))] }, tab.value))) }) }) })), !tabs && _jsx("div", { className: "flex-1" }), actions && _jsx("div", { className: "flex items-center gap-2 shrink-0", children: actions })] }) })) : null, _jsx("div", { className: "flex-1 overflow-auto min-h-0", children: _jsx("div", { className: "flex h-full min-h-0 flex-col px-4 pb-4 pt-3 lg:px-6", children: children }) })] }));
|
|
16
10
|
}
|
|
17
|
-
return ((
|
|
11
|
+
return (_jsxs("div", { className: `flex h-full min-h-0 flex-col ${maxWidth ?? ''}`, children: [(tabs || actions) && (_jsx("div", { className: "shrink-0 border-b border-border/50 px-4 sm:px-5 lg:px-8", children: _jsxs("div", { className: "flex min-h-[34px] flex-col gap-2 py-1.5 sm:flex-row sm:items-center sm:gap-3 sm:py-0", children: [tabs && tabs.length > 0 && (_jsx(Tabs, { value: activeTab, onValueChange: onTabChange, className: "flex-1 min-w-0", children: _jsx("div", { className: "overflow-x-auto", children: _jsx(TabsList, { className: "h-7 bg-transparent p-0 gap-0", children: tabs.map((tab) => (_jsxs(TabsTrigger, { value: tab.value, className: "whitespace-nowrap rounded-none border-b-2 border-transparent px-2.5 py-1.5 text-caption font-medium text-ink-3/90 transition-colors data-[state=active]:border-primary data-[state=active]:bg-transparent data-[state=active]:text-ink data-[state=active]:shadow-none hover:text-ink", children: [tab.label, tab.count !== undefined && (_jsx("span", { className: "ml-1.5 text-caption tabular-nums opacity-60", children: tab.count })), tab.indicator && (_jsx("span", { className: "ml-1.5 inline-block h-1.5 w-1.5 rounded-full bg-warning" }))] }, tab.value))) }) }) })), !tabs && _jsx("div", { className: "flex-1" }), actions && (_jsx("div", { className: "flex w-full flex-wrap items-center gap-2 sm:w-auto sm:shrink-0 sm:justify-end", children: actions }))] }) })), _jsx("div", { className: "flex min-h-0 flex-1 flex-col overflow-auto px-4 pb-5 pt-4 sm:px-6 sm:pb-6 sm:pt-5", children: children || (_jsx(EmptyState, { icon: FileQuestion, title: "Nothing to show yet", description: "This page has no content to display. Check back once the workspace has data." })) })] }));
|
|
18
12
|
}
|
|
19
13
|
//# sourceMappingURL=page-shell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-shell.js","sourceRoot":"","sources":["../../../src/ui/chrome/page-shell.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page-shell.js","sourceRoot":"","sources":["../../../src/ui/chrome/page-shell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const design_tokens_1 = require("../design-tokens");
|
|
7
|
-
function ScopeBadge({ label, tone = 'neutral', hint, className, }) {
|
|
8
|
-
return ((0, jsx_runtime_1.jsx)("span", { className: (0, cn_1.cn)('inline-flex shrink-0 items-center rounded-sm border px-1.5 py-0 text-[10px] font-medium uppercase tracking-wide', design_tokens_1.TONE_STYLES[tone], className), title: hint, children: label }));
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../cn';
|
|
3
|
+
import { TONE_STYLES } from '../design-tokens';
|
|
4
|
+
export default function ScopeBadge({ label, tone = 'neutral', hint, className, }) {
|
|
5
|
+
return (_jsx("span", { className: cn('inline-flex shrink-0 items-center rounded-sm border px-1.5 py-0 text-[10px] font-medium uppercase tracking-wide', TONE_STYLES[tone], className), title: hint, children: label }));
|
|
9
6
|
}
|
|
10
7
|
//# sourceMappingURL=scope-badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-badge.js","sourceRoot":"","sources":["../../../src/ui/chrome/scope-badge.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scope-badge.js","sourceRoot":"","sources":["../../../src/ui/chrome/scope-badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAa,MAAM,kBAAkB,CAAC;AAoB1D,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,KAAK,EACL,IAAI,GAAG,SAAS,EAChB,IAAI,EACJ,SAAS,GACO;IAChB,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,iHAAiH,EACjH,WAAW,CAAC,IAAI,CAAC,EACjB,SAAS,CACV,EACD,KAAK,EAAE,IAAI,YAEV,KAAK,GACD,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const cn_1 = require("../cn");
|
|
6
|
-
const design_tokens_1 = require("../design-tokens");
|
|
7
|
-
const badge_1 = require("../primitives/badge");
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../cn';
|
|
3
|
+
import { getStatusStyle } from '../design-tokens';
|
|
4
|
+
import { Badge } from '../primitives/badge';
|
|
8
5
|
const SIZE_TOKENS = {
|
|
9
6
|
xs: {
|
|
10
7
|
badge: 'h-[18px] px-1.5 py-0 text-[10px] font-medium',
|
|
@@ -22,9 +19,9 @@ const SIZE_TOKENS = {
|
|
|
22
19
|
gap: 'gap-1.5',
|
|
23
20
|
},
|
|
24
21
|
};
|
|
25
|
-
function StatusBadge({ status, className, dot, size = 'sm', children, }) {
|
|
26
|
-
const style =
|
|
22
|
+
export default function StatusBadge({ status, className, dot, size = 'sm', children, }) {
|
|
23
|
+
const style = getStatusStyle(status);
|
|
27
24
|
const sz = SIZE_TOKENS[size];
|
|
28
|
-
return ((
|
|
25
|
+
return (_jsxs(Badge, { variant: "outline", className: cn('inline-flex items-center rounded-full', sz.badge, sz.gap, style.badge, className), children: [dot && _jsx("span", { className: cn('shrink-0 rounded-full', sz.dot, style.dot) }), children ?? _jsx("span", { className: "capitalize", children: status.replace(/_/g, ' ') })] }));
|
|
29
26
|
}
|
|
30
27
|
//# sourceMappingURL=status-badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-badge.js","sourceRoot":"","sources":["../../../src/ui/chrome/status-badge.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status-badge.js","sourceRoot":"","sources":["../../../src/ui/chrome/status-badge.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAmB5C,MAAM,WAAW,GAAwC;IACvD,EAAE,EAAE;QACF,KAAK,EAAE,8CAA8C;QACrD,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,OAAO;KACb;IACD,EAAE,EAAE;QACF,KAAK,EAAE,wCAAwC;QAC/C,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,SAAS;KACf;IACD,EAAE,EAAE;QACF,KAAK,EAAE,2BAA2B;QAClC,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,SAAS;KACf;CACF,CAAC;AAWF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,SAAS,EACT,GAAG,EACH,IAAI,GAAG,IAAI,EACX,QAAQ,GACS;IACjB,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CACL,MAAC,KAAK,IACJ,OAAO,EAAC,SAAS,EACjB,SAAS,EAAE,EAAE,CACX,uCAAuC,EACvC,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,GAAG,EACN,KAAK,CAAC,KAAK,EACX,SAAS,CACV,aAEA,GAAG,IAAI,eAAM,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAI,EAC1E,QAAQ,IAAI,eAAM,SAAS,EAAC,YAAY,YAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAQ,IACtE,CACT,CAAC;AACJ,CAAC"}
|
package/dist/ui/cn.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const clsx_1 = require("clsx");
|
|
5
|
-
const tailwind_merge_1 = require("tailwind-merge");
|
|
6
|
-
const twMerge = (0, tailwind_merge_1.extendTailwindMerge)({
|
|
1
|
+
import { clsx } from 'clsx';
|
|
2
|
+
import { extendTailwindMerge } from 'tailwind-merge';
|
|
3
|
+
const twMerge = extendTailwindMerge({
|
|
7
4
|
extend: {
|
|
8
5
|
classGroups: {
|
|
9
6
|
'font-size': [
|
|
@@ -12,7 +9,7 @@ const twMerge = (0, tailwind_merge_1.extendTailwindMerge)({
|
|
|
12
9
|
},
|
|
13
10
|
},
|
|
14
11
|
});
|
|
15
|
-
function cn(...inputs) {
|
|
16
|
-
return twMerge(
|
|
12
|
+
export function cn(...inputs) {
|
|
13
|
+
return twMerge(clsx(inputs));
|
|
17
14
|
}
|
|
18
15
|
//# sourceMappingURL=cn.js.map
|
package/dist/ui/cn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cn.js","sourceRoot":"","sources":["../../src/ui/cn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cn.js","sourceRoot":"","sources":["../../src/ui/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAcrD,MAAM,OAAO,GAAG,mBAAmB,CAAC;IAClC,MAAM,EAAE;QACN,WAAW,EAAE;YACX,WAAW,EAAE;gBACX,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;aAC1E;SACF;KACF;CACF,CAAC,CAAC;AAMH,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|
package/dist/ui/design-tokens.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ORIGIN_STYLES = exports.STATE_STYLES = exports.KIND_STYLES = exports.AGENT_SOURCE_STYLES = exports.RISK_LEVEL_STYLES = exports.IMPORTANCE_STYLES = exports.SECTION_STYLES = exports.CARD_STYLES = exports.TYPE_STYLES = exports.SEVERITY_STYLES = exports.PRIORITY_STYLES = exports.STATUS_STYLES = exports.TONE_STYLES = void 0;
|
|
4
|
-
exports.getStatusStyle = getStatusStyle;
|
|
5
|
-
exports.getPriorityStyle = getPriorityStyle;
|
|
6
|
-
exports.getSeverityStyle = getSeverityStyle;
|
|
7
|
-
exports.getRiskLevelStyle = getRiskLevelStyle;
|
|
8
1
|
const SUCCESS_STYLE = {
|
|
9
2
|
badge: 'bg-success/15 text-success dark:text-success border-success/30',
|
|
10
3
|
dot: 'bg-success',
|
|
@@ -53,7 +46,7 @@ const NEUTRAL_STYLE = {
|
|
|
53
46
|
border: 'border-border',
|
|
54
47
|
icon: 'text-ink-3',
|
|
55
48
|
};
|
|
56
|
-
|
|
49
|
+
export const TONE_STYLES = {
|
|
57
50
|
neutral: 'bg-paper-elev text-ink-3 border-border',
|
|
58
51
|
primary: 'bg-primary/10 text-primary border-primary/20',
|
|
59
52
|
info: 'bg-info/15 text-info dark:text-info border-info/20',
|
|
@@ -62,7 +55,7 @@ exports.TONE_STYLES = {
|
|
|
62
55
|
danger: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/20',
|
|
63
56
|
accent: 'bg-amber-500/15 text-amber-700 dark:text-amber-400 border-amber-500/20',
|
|
64
57
|
};
|
|
65
|
-
|
|
58
|
+
export const STATUS_STYLES = {
|
|
66
59
|
pending: INFO_STYLE,
|
|
67
60
|
running: WARNING_STYLE,
|
|
68
61
|
waiting_on_approval: WARNING_STYLE,
|
|
@@ -97,10 +90,10 @@ exports.STATUS_STYLES = {
|
|
|
97
90
|
approved: SUCCESS_STYLE,
|
|
98
91
|
manual_review: WARNING_STYLE,
|
|
99
92
|
};
|
|
100
|
-
function getStatusStyle(status) {
|
|
101
|
-
return
|
|
93
|
+
export function getStatusStyle(status) {
|
|
94
|
+
return STATUS_STYLES[status] ?? STATUS_STYLES.pending;
|
|
102
95
|
}
|
|
103
|
-
|
|
96
|
+
export const PRIORITY_STYLES = {
|
|
104
97
|
p0: {
|
|
105
98
|
badge: 'bg-destructive text-white border-destructive',
|
|
106
99
|
text: 'text-destructive dark:text-destructive',
|
|
@@ -130,10 +123,10 @@ exports.PRIORITY_STYLES = {
|
|
|
130
123
|
label: 'Low',
|
|
131
124
|
},
|
|
132
125
|
};
|
|
133
|
-
function getPriorityStyle(priority) {
|
|
134
|
-
return
|
|
126
|
+
export function getPriorityStyle(priority) {
|
|
127
|
+
return PRIORITY_STYLES[priority] ?? PRIORITY_STYLES.p3;
|
|
135
128
|
}
|
|
136
|
-
|
|
129
|
+
export const SEVERITY_STYLES = {
|
|
137
130
|
critical: {
|
|
138
131
|
badge: 'bg-destructive text-white border-destructive',
|
|
139
132
|
text: 'text-destructive dark:text-destructive',
|
|
@@ -171,24 +164,24 @@ exports.SEVERITY_STYLES = {
|
|
|
171
164
|
border: 'border-info/30',
|
|
172
165
|
},
|
|
173
166
|
};
|
|
174
|
-
function getSeverityStyle(severity) {
|
|
167
|
+
export function getSeverityStyle(severity) {
|
|
175
168
|
const s = severity.toLowerCase();
|
|
176
|
-
return
|
|
169
|
+
return SEVERITY_STYLES[s] ?? { badge: 'bg-paper-elev text-ink-3 border-border', text: 'text-ink-3', bg: 'bg-muted/30', border: 'border-border' };
|
|
177
170
|
}
|
|
178
|
-
|
|
171
|
+
export const TYPE_STYLES = {
|
|
179
172
|
epic: { badge: 'bg-primary/15 text-primary dark:text-primary border-primary/30', text: 'text-primary dark:text-primary', border: 'border-l-purple-600' },
|
|
180
173
|
story: { badge: 'bg-info/15 text-info dark:text-info border-info/30', text: 'text-info dark:text-info', border: 'border-l-blue-600' },
|
|
181
174
|
task: { badge: 'bg-success/15 text-success dark:text-success border-success/30', text: 'text-success dark:text-success', border: 'border-l-green-600' },
|
|
182
175
|
bug: { badge: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/30', text: 'text-destructive dark:text-destructive', border: 'border-l-red-600' },
|
|
183
176
|
};
|
|
184
|
-
|
|
177
|
+
export const CARD_STYLES = {
|
|
185
178
|
default: 'bg-card border border-border/50 rounded-xl shadow-[var(--shadow-2)]',
|
|
186
179
|
elevated: 'bg-card border border-border/40 rounded-xl shadow-[var(--shadow-8)]',
|
|
187
180
|
dark: 'bg-foreground text-background rounded-xl shadow-[var(--shadow-16)]',
|
|
188
181
|
accent: 'bg-primary/5 border border-primary/15 rounded-xl',
|
|
189
182
|
empty: 'border-2 border-dashed border-border/50 rounded-xl',
|
|
190
183
|
};
|
|
191
|
-
|
|
184
|
+
export const SECTION_STYLES = {
|
|
192
185
|
pageTitle: 'text-lg sm:text-xl font-semibold tracking-tight text-ink',
|
|
193
186
|
sectionHeader: 'text-sm font-semibold text-ink',
|
|
194
187
|
cardLabel: 'text-[11px] font-semibold uppercase tracking-wider text-ink-3',
|
|
@@ -196,22 +189,22 @@ exports.SECTION_STYLES = {
|
|
|
196
189
|
metricValue: 'text-xl sm:text-2xl font-semibold tabular-nums text-ink',
|
|
197
190
|
metricLabel: 'text-sm text-ink-3',
|
|
198
191
|
};
|
|
199
|
-
|
|
192
|
+
export const IMPORTANCE_STYLES = {
|
|
200
193
|
1: { badge: 'bg-paper-elev text-ink-3 border-border', label: 'Low', star: 'text-ink-3' },
|
|
201
194
|
2: { badge: 'bg-info/15 text-info dark:text-info border-info/30', label: 'Normal', star: 'text-info' },
|
|
202
195
|
3: { badge: 'bg-warning/15 text-warning dark:text-warning border-warning/30', label: 'High', star: 'text-warning' },
|
|
203
196
|
4: { badge: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/30', label: 'Critical', star: 'text-destructive' },
|
|
204
197
|
};
|
|
205
|
-
|
|
198
|
+
export const RISK_LEVEL_STYLES = {
|
|
206
199
|
low: { badge: 'bg-success/15 text-success dark:text-success border-success/30', text: 'text-success dark:text-success' },
|
|
207
200
|
medium: { badge: 'bg-warning/15 text-warning dark:text-warning border-warning/30', text: 'text-warning dark:text-warning' },
|
|
208
201
|
high: { badge: 'bg-warning/15 text-warning dark:text-warning border-warning/30', text: 'text-warning dark:text-warning' },
|
|
209
202
|
critical: { badge: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/30', text: 'text-destructive dark:text-destructive' },
|
|
210
203
|
};
|
|
211
|
-
function getRiskLevelStyle(level) {
|
|
212
|
-
return
|
|
204
|
+
export function getRiskLevelStyle(level) {
|
|
205
|
+
return RISK_LEVEL_STYLES[level] ?? RISK_LEVEL_STYLES.low;
|
|
213
206
|
}
|
|
214
|
-
|
|
207
|
+
export const AGENT_SOURCE_STYLES = {
|
|
215
208
|
dynamic: {
|
|
216
209
|
border: 'border-warning/30',
|
|
217
210
|
bg: 'bg-warning/5',
|
|
@@ -225,13 +218,13 @@ exports.AGENT_SOURCE_STYLES = {
|
|
|
225
218
|
iconBg: 'bg-primary/10',
|
|
226
219
|
},
|
|
227
220
|
};
|
|
228
|
-
|
|
221
|
+
export const KIND_STYLES = {
|
|
229
222
|
LESSON: 'bg-info/15 text-info dark:text-info border-info/30',
|
|
230
223
|
PATTERN: 'bg-primary/15 text-primary dark:text-primary border-primary/30',
|
|
231
224
|
CORRECTION: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/30',
|
|
232
225
|
PREFERENCE: 'bg-success/15 text-success dark:text-success border-success/30',
|
|
233
226
|
};
|
|
234
|
-
|
|
227
|
+
export const STATE_STYLES = {
|
|
235
228
|
CANDIDATE: 'bg-paper-elev text-ink-3 border-border',
|
|
236
229
|
ACTIVE: 'bg-success/15 text-success dark:text-success border-success/30',
|
|
237
230
|
SUPERSEDED: 'bg-paper-elev text-ink-3 border-border line-through',
|
|
@@ -239,7 +232,7 @@ exports.STATE_STYLES = {
|
|
|
239
232
|
REVIEW_REQUIRED: 'bg-warning/15 text-warning dark:text-warning border-warning/30',
|
|
240
233
|
ARCHIVED: 'bg-paper-elev text-ink-3 border-border opacity-60',
|
|
241
234
|
};
|
|
242
|
-
|
|
235
|
+
export const ORIGIN_STYLES = {
|
|
243
236
|
GATE_REJECTION: 'bg-destructive/15 text-destructive dark:text-destructive border-destructive/30',
|
|
244
237
|
GATE_APPROVAL: 'bg-success/15 text-success dark:text-success border-success/30',
|
|
245
238
|
USER_CORRECTION: 'bg-warning/15 text-warning dark:text-warning border-warning/30',
|