@camunda/design-system 0.59.0 → 0.61.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 (108) hide show
  1. package/dist/carbon-compat/filterable-multi-select.d.ts.map +1 -1
  2. package/dist/carbon-compat/filterable-multi-select.js +6 -1
  3. package/dist/carbon-compat/filterable-multi-select.js.map +1 -1
  4. package/dist/carbon-compat/multi-select.d.ts.map +1 -1
  5. package/dist/carbon-compat/multi-select.js +5 -1
  6. package/dist/carbon-compat/multi-select.js.map +1 -1
  7. package/dist/src/components/ui/alert-dialog.d.ts +11 -1
  8. package/dist/src/components/ui/alert-dialog.d.ts.map +1 -1
  9. package/dist/src/components/ui/alert-dialog.js +5 -4
  10. package/dist/src/components/ui/alert-dialog.js.map +1 -1
  11. package/dist/src/components/ui/alert.d.ts +1 -1
  12. package/dist/src/components/ui/alert.d.ts.map +1 -1
  13. package/dist/src/components/ui/alert.js +3 -1
  14. package/dist/src/components/ui/alert.js.map +1 -1
  15. package/dist/src/components/ui/app-sidebar.d.ts.map +1 -1
  16. package/dist/src/components/ui/app-sidebar.js +57 -16
  17. package/dist/src/components/ui/app-sidebar.js.map +1 -1
  18. package/dist/src/components/ui/card.d.ts.map +1 -1
  19. package/dist/src/components/ui/card.js +15 -1
  20. package/dist/src/components/ui/card.js.map +1 -1
  21. package/dist/src/components/ui/code-block.d.ts.map +1 -1
  22. package/dist/src/components/ui/code-block.js +1 -13
  23. package/dist/src/components/ui/code-block.js.map +1 -1
  24. package/dist/src/components/ui/combobox.d.ts +2 -2
  25. package/dist/src/components/ui/combobox.d.ts.map +1 -1
  26. package/dist/src/components/ui/combobox.js +68 -25
  27. package/dist/src/components/ui/combobox.js.map +1 -1
  28. package/dist/src/components/ui/date-range-picker.d.ts.map +1 -1
  29. package/dist/src/components/ui/date-range-picker.js +20 -1
  30. package/dist/src/components/ui/date-range-picker.js.map +1 -1
  31. package/dist/src/components/ui/dialog.d.ts +18 -2
  32. package/dist/src/components/ui/dialog.d.ts.map +1 -1
  33. package/dist/src/components/ui/dialog.js +9 -6
  34. package/dist/src/components/ui/dialog.js.map +1 -1
  35. package/dist/src/components/ui/file-uploader.d.ts.map +1 -1
  36. package/dist/src/components/ui/file-uploader.js +21 -2
  37. package/dist/src/components/ui/file-uploader.js.map +1 -1
  38. package/dist/src/components/ui/form-error-summary.d.ts +13 -0
  39. package/dist/src/components/ui/form-error-summary.d.ts.map +1 -0
  40. package/dist/src/components/ui/form-error-summary.js +53 -0
  41. package/dist/src/components/ui/form-error-summary.js.map +1 -0
  42. package/dist/src/components/ui/inline-edit.d.ts.map +1 -1
  43. package/dist/src/components/ui/inline-edit.js +14 -1
  44. package/dist/src/components/ui/inline-edit.js.map +1 -1
  45. package/dist/src/components/ui/multi-select.d.ts +7 -0
  46. package/dist/src/components/ui/multi-select.d.ts.map +1 -1
  47. package/dist/src/components/ui/multi-select.js +79 -27
  48. package/dist/src/components/ui/multi-select.js.map +1 -1
  49. package/dist/src/components/ui/multi-step-dialog.d.ts +11 -1
  50. package/dist/src/components/ui/multi-step-dialog.d.ts.map +1 -1
  51. package/dist/src/components/ui/multi-step-dialog.js +32 -4
  52. package/dist/src/components/ui/multi-step-dialog.js.map +1 -1
  53. package/dist/src/components/ui/notifications.d.ts +14 -1
  54. package/dist/src/components/ui/notifications.d.ts.map +1 -1
  55. package/dist/src/components/ui/notifications.js +17 -6
  56. package/dist/src/components/ui/notifications.js.map +1 -1
  57. package/dist/src/components/ui/overflow-strip.d.ts +18 -0
  58. package/dist/src/components/ui/overflow-strip.d.ts.map +1 -0
  59. package/dist/src/components/ui/overflow-strip.js +103 -0
  60. package/dist/src/components/ui/overflow-strip.js.map +1 -0
  61. package/dist/src/components/ui/scorecard.d.ts.map +1 -1
  62. package/dist/src/components/ui/scorecard.js +20 -1
  63. package/dist/src/components/ui/scorecard.js.map +1 -1
  64. package/dist/src/components/ui/select.d.ts +2 -2
  65. package/dist/src/components/ui/select.d.ts.map +1 -1
  66. package/dist/src/components/ui/select.js +123 -6
  67. package/dist/src/components/ui/select.js.map +1 -1
  68. package/dist/src/components/ui/tabs.d.ts +2 -1
  69. package/dist/src/components/ui/tabs.d.ts.map +1 -1
  70. package/dist/src/components/ui/tabs.js +16 -4
  71. package/dist/src/components/ui/tabs.js.map +1 -1
  72. package/dist/src/components/ui/toast.d.ts +4 -3
  73. package/dist/src/components/ui/toast.d.ts.map +1 -1
  74. package/dist/src/components/ui/toast.js +209 -23
  75. package/dist/src/components/ui/toast.js.map +1 -1
  76. package/dist/src/components/ui/toggle-group.d.ts +7 -1
  77. package/dist/src/components/ui/toggle-group.d.ts.map +1 -1
  78. package/dist/src/components/ui/toggle-group.js +23 -4
  79. package/dist/src/components/ui/toggle-group.js.map +1 -1
  80. package/dist/src/components/ui/tree-view.d.ts.map +1 -1
  81. package/dist/src/components/ui/tree-view.js +61 -45
  82. package/dist/src/components/ui/tree-view.js.map +1 -1
  83. package/dist/src/hooks/use-is-truncated.d.ts +9 -5
  84. package/dist/src/hooks/use-is-truncated.d.ts.map +1 -1
  85. package/dist/src/hooks/use-is-truncated.js +20 -7
  86. package/dist/src/hooks/use-is-truncated.js.map +1 -1
  87. package/dist/src/index.d.ts +2 -0
  88. package/dist/src/index.d.ts.map +1 -1
  89. package/dist/src/index.js +2 -0
  90. package/dist/src/index.js.map +1 -1
  91. package/dist/src/lib/focus-visible-on-close.d.ts +28 -0
  92. package/dist/src/lib/focus-visible-on-close.d.ts.map +1 -1
  93. package/dist/src/lib/focus-visible-on-close.js +54 -1
  94. package/dist/src/lib/focus-visible-on-close.js.map +1 -1
  95. package/dist/src/lib/i18n/dictionary.d.ts +5 -0
  96. package/dist/src/lib/i18n/dictionary.d.ts.map +1 -1
  97. package/dist/src/lib/i18n/dictionary.js +5 -0
  98. package/dist/src/lib/i18n/dictionary.js.map +1 -1
  99. package/dist/src/lib/merge-refs.d.ts +8 -0
  100. package/dist/src/lib/merge-refs.d.ts.map +1 -0
  101. package/dist/src/lib/merge-refs.js +15 -0
  102. package/dist/src/lib/merge-refs.js.map +1 -0
  103. package/dist/src/lib/with-ref.d.ts +3 -1
  104. package/dist/src/lib/with-ref.d.ts.map +1 -1
  105. package/dist/src/lib/with-ref.js +0 -10
  106. package/dist/src/lib/with-ref.js.map +1 -1
  107. package/dist/styles.css +68 -6
  108. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"multi-step-dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-step-dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { cn } from "../../lib/utils.js";
5
5
  import { useC4Dictionary } from "../../lib/i18n/context.js";
6
- import { Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogTitle, } from "./dialog.js";
6
+ import { takeOverOpenFocus } from "../../lib/focus-visible-on-close.js";
7
+ import { DIALOG_FOCUSABLE_SELECTOR, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogTitle, } from "./dialog.js";
7
8
  import { Button } from "./button.js";
8
9
  import { typographyVariants } from "./typography.js";
9
10
  // Only `value` (+ the footer-relevant props below) is read off each child —
@@ -40,7 +41,7 @@ function useMultiStepDialogStepContext(componentName) {
40
41
  }
41
42
  return ctx;
42
43
  }
43
- function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaultStep, onStepChange, onNext, onBack, onComplete, size = "md", backLabel, nextLabel, completeLabel, dotsAriaLabel, closeLabel, className, restoreFocusRef, children, }) {
44
+ function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaultStep, onStepChange, onNext, onBack, onComplete, size = "md", backLabel, nextLabel, completeLabel, dotsAriaLabel, closeLabel, className, initialFocusRef, restoreFocusRef, children, }) {
44
45
  const { t } = useC4Dictionary();
45
46
  const resolvedBackLabel = backLabel ?? t("multiStepDialog.back");
46
47
  const resolvedNextLabel = nextLabel ?? t("multiStepDialog.next");
@@ -134,10 +135,37 @@ function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaul
134
135
  return;
135
136
  emitStepChange(targetValue, "dot");
136
137
  }
138
+ const primaryActionRef = React.useRef(null);
139
+ // Radix's default open focus is the first tabbable element in DOM order.
140
+ // Here that is the first progress dot whenever the active step is
141
+ // read-only (the usual onboarding shape): step content comes first but
142
+ // has nothing to focus, and the dots sit before the footer. A dot is a
143
+ // no-op for the current step, so the wizard opens on the step's first
144
+ // control instead, or on Next/CTA when there is none — the action that
145
+ // moves it forward. The step's own scroll tab stop (a read-only
146
+ // `MultiStepDialogBody`) doesn't count as a control.
147
+ function handleOpenAutoFocus(event) {
148
+ const content = event.currentTarget;
149
+ if (!(content instanceof HTMLElement))
150
+ return;
151
+ const activeStep = content.querySelector('[data-slot="multi-step-dialog-step"][data-state="active"]');
152
+ const firstStepControl = Array.from(activeStep?.querySelectorAll(DIALOG_FOCUSABLE_SELECTOR) ??
153
+ []).find((el) => el.dataset.slot !== "dialog-body");
154
+ // First usable candidate wins; an unresolved or disabled one is skipped
155
+ // rather than ending the search, so the wizard always opens focused.
156
+ // Only the consumer's explicit ref forces the focus ring (#400); the
157
+ // wizard's own defaults keep the browser's heuristic, like any Dialog.
158
+ if (takeOverOpenFocus(event, initialFocusRef?.current))
159
+ return;
160
+ for (const candidate of [firstStepControl, primaryActionRef.current]) {
161
+ if (takeOverOpenFocus(event, candidate, { ring: false }))
162
+ return;
163
+ }
164
+ }
137
165
  const disableNextReasonId = React.useId();
138
166
  const showDisableNextReason = Boolean(activeStepMeta?.disableNext) &&
139
167
  Boolean(activeStepMeta?.disableNextReason);
140
- return (_jsx(Dialog, { open: resolvedOpen, onOpenChange: handleDialogOpenChange, children: _jsxs(DialogContent, { size: size, className: className, restoreFocusRef: restoreFocusRef, closeLabel: closeLabel, onEscapeKeyDown: () => {
168
+ return (_jsx(Dialog, { open: resolvedOpen, onOpenChange: handleDialogOpenChange, children: _jsxs(DialogContent, { size: size, className: className, restoreFocusRef: restoreFocusRef, closeLabel: closeLabel, onOpenAutoFocus: handleOpenAutoFocus, onEscapeKeyDown: () => {
141
169
  closeReasonRef.current = "escape";
142
170
  }, onPointerDownOutside: () => {
143
171
  closeReasonRef.current = "overlay";
@@ -157,7 +185,7 @@ function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaul
157
185
  "h-2 rounded-full transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", isActive
158
186
  ? "w-5 bg-primary-action-default"
159
187
  : "w-2 bg-neutral-foreground-subtle hover:bg-neutral-foreground-strong") }) }, meta.value));
160
- }) })), _jsxs(DialogFooter, { className: cn(isFirstStep ? undefined : "sm:justify-between"), children: [!isFirstStep && (_jsx(Button, { type: "button", variant: "secondary", onClick: handleBack, children: resolvedBackLabel })), _jsxs("div", { className: "flex flex-col items-end gap-1", children: [showDisableNextReason && (_jsx("span", { id: disableNextReasonId, "data-slot": "multi-step-dialog-next-reason", className: "text-xs text-neutral-foreground-subtle", children: activeStepMeta?.disableNextReason })), _jsx(Button, { type: "button", onClick: handleNext, "aria-disabled": activeStepMeta?.disableNext || undefined, "aria-describedby": showDisableNextReason ? disableNextReasonId : undefined, children: isLastStep
188
+ }) })), _jsxs(DialogFooter, { className: cn(isFirstStep ? undefined : "sm:justify-between"), children: [!isFirstStep && (_jsx(Button, { type: "button", variant: "secondary", onClick: handleBack, children: resolvedBackLabel })), _jsxs("div", { className: "flex flex-col items-end gap-1", children: [showDisableNextReason && (_jsx("span", { id: disableNextReasonId, "data-slot": "multi-step-dialog-next-reason", className: "text-xs text-neutral-foreground-subtle", children: activeStepMeta?.disableNextReason })), _jsx(Button, { ref: primaryActionRef, type: "button", onClick: handleNext, "aria-disabled": activeStepMeta?.disableNext || undefined, "aria-describedby": showDisableNextReason ? disableNextReasonId : undefined, children: isLastStep
161
189
  ? (activeStepMeta?.ctaLabel ?? resolvedCompleteLabel)
162
190
  : (activeStepMeta?.nextLabel ?? resolvedNextLabel) })] })] })] }) }));
163
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"multi-step-dialog.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-step-dialog.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"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"}
@@ -86,6 +86,19 @@ export interface NotificationsPanelProps {
86
86
  * to suppress the empty-state message entirely.
87
87
  */
88
88
  emptyMessage?: React.ReactNode;
89
+ /**
90
+ * Renders a loading affordance instead of `emptyMessage`/the list. Ignored when `error` is
91
+ * truthy — see the precedence note on `error`.
92
+ */
93
+ isLoading?: boolean;
94
+ /**
95
+ * Renders an error state instead of `emptyMessage`/the list. `true` shows default copy,
96
+ * sourced from the i18n dictionary at key `"notifications.error"`; a `ReactNode` (e.g. a
97
+ * message plus a retry button) replaces it entirely. Precedence is `error` > `isLoading` >
98
+ * empty > list, so a fetch that is simultaneously still-loading and already-failed (a stale
99
+ * `isLoading` flag from the previous request) shows the error, not the spinner.
100
+ */
101
+ error?: boolean | React.ReactNode;
89
102
  /** Rendered in the panel header — e.g. a "Mark all as read" button. */
90
103
  headerAction?: React.ReactNode;
91
104
  /** Component used for notifications carrying an `href`. Default: a plain anchor. */
@@ -121,5 +134,5 @@ export interface NotificationsPanelProps {
121
134
  * appears in several products: if one marks on open, another on click and a third only on an
122
135
  * explicit action, the unread count means something different in each app.
123
136
  */
124
- export declare function NotificationsPanel({ notifications, open, onOpenChange, onDismiss, onDismissAll, dismissAllLabel, title, emptyMessage, headerAction, linkComponent, totalCountLabel, unreadPrefixLabel, closeLabel, className, }: NotificationsPanelProps): React.JSX.Element;
137
+ export declare function NotificationsPanel({ notifications, open, onOpenChange, onDismiss, onDismissAll, dismissAllLabel, title, emptyMessage, isLoading, error, headerAction, linkComponent, totalCountLabel, unreadPrefixLabel, closeLabel, className, }: NotificationsPanelProps): React.JSX.Element;
125
138
  //# sourceMappingURL=notifications.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/notifications.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,WAAe,EACf,QAAY,EACZ,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,SAAS,GACV,EAAE,qBAAqB,qBAiDvB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,eAAe,EAAE,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,uEAAuE;IACvE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,uEAAuE;IACvE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,oFAAoF;IACpF,aAAa,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IAClC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,eAAe,EACf,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,SAAS,GACV,EAAE,uBAAuB,qBAkFzB"}
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/notifications.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,WAAe,EACf,QAAY,EACZ,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,SAAS,GACV,EAAE,qBAAqB,qBAiDvB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,eAAe,EAAE,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,uEAAuE;IACvE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,uEAAuE;IACvE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,oFAAoF;IACpF,aAAa,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IAClC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,eAAe,EACf,KAAK,EACL,YAAY,EACZ,SAAiB,EACjB,KAAK,EACL,YAAY,EACZ,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,SAAS,GACV,EAAE,uBAAuB,qBA8GzB"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
- import { Bell, ListX, X } from "../../icons/lucide.js";
4
+ import { Bell, CircleAlert, ListX, Loader2, X } from "../../icons/lucide.js";
5
5
  import { cn } from "../../lib/utils.js";
6
6
  import { useC4Dictionary } from "../../lib/i18n/context.js";
7
7
  import { Button } from "./button.js";
@@ -44,10 +44,17 @@ export function NotificationBell({ unreadCount = 0, maxCount = 9, label, trigger
44
44
  * appears in several products: if one marks on open, another on click and a third only on an
45
45
  * explicit action, the unread count means something different in each app.
46
46
  */
47
- export function NotificationsPanel({ notifications, open, onOpenChange, onDismiss, onDismissAll, dismissAllLabel, title, emptyMessage, headerAction, linkComponent, totalCountLabel, unreadPrefixLabel, closeLabel, className, }) {
47
+ export function NotificationsPanel({ notifications, open, onOpenChange, onDismiss, onDismissAll, dismissAllLabel, title, emptyMessage, isLoading = false, error, headerAction, linkComponent, totalCountLabel, unreadPrefixLabel, closeLabel, className, }) {
48
48
  const { t } = useC4Dictionary();
49
49
  const isEmpty = notifications.length === 0;
50
- const showDismissAll = Boolean(onDismissAll) && !isEmpty;
50
+ const hasError = Boolean(error);
51
+ const showList = !hasError && !isLoading && !isEmpty;
52
+ // Header actions act on the list — dismiss-all hides on an empty list too (unchanged from
53
+ // before `isLoading`/`error` existed); headerAction keeps showing on a merely-empty panel
54
+ // (unchanged), but both hide once there's an error or a fetch in flight, since there's no
55
+ // list, empty or otherwise, to act on.
56
+ const showDismissAll = Boolean(onDismissAll) && !isEmpty && !hasError && !isLoading;
57
+ const showHeaderActions = !hasError && !isLoading && (Boolean(headerAction) || showDismissAll);
51
58
  return (_jsx(Sheet, { open: open, onOpenChange: onOpenChange, children: _jsxs(SheetContent, { side: "right", "data-slot": "notifications-panel", closeLabel: closeLabel, className: cn("w-full sm:max-w-sm", className),
52
59
  // Radix's default autofocus lands on the first tabbable element, which — with
53
60
  // `onDismissAll` and no `headerAction` — is the icon-only "Dismiss all" `IconButton`.
@@ -61,19 +68,23 @@ export function NotificationsPanel({ notifications, open, onOpenChange, onDismis
61
68
  event.preventDefault();
62
69
  const closeButton = event.currentTarget.querySelector('[data-slot="sheet-close"]');
63
70
  closeButton?.focus();
64
- }, children: [_jsxs(SheetHeader, { children: [_jsx(SheetTitle, { children: title ?? t("notifications.panelTitle") }), isEmpty ? (_jsx(SheetDescription, { children: emptyMessage === undefined
71
+ }, children: [_jsxs(SheetHeader, { children: [_jsx(SheetTitle, { children: title ?? t("notifications.panelTitle") }), hasError ? (
72
+ // role="alert" (not just aria-describedby, which is only read at dialog-open time):
73
+ // `error` can flip while the panel is already open, and that transition is exactly
74
+ // what issue #418 reports as silently hidden.
75
+ _jsxs(SheetDescription, { role: "alert", className: "flex items-start gap-2 text-danger-foreground-strong", children: [_jsx(CircleAlert, { "aria-hidden": true, className: "mt-0.5 size-4 shrink-0" }), error === true ? t("notifications.error") : error] })) : isLoading ? (_jsxs(SheetDescription, { role: "status", className: "flex items-start gap-2", children: [_jsx(Loader2, { "aria-hidden": true, className: "mt-0.5 size-4 shrink-0 animate-spin" }), t("notifications.loading")] })) : isEmpty ? (_jsx(SheetDescription, { children: emptyMessage === undefined
65
76
  ? t("notifications.empty")
66
77
  : emptyMessage })) : (_jsx(SheetDescription, { className: "sr-only", children: totalCountLabel ??
67
78
  t("notifications.totalCount", {
68
79
  count: notifications.length,
69
- }) })), headerAction || showDismissAll ? (
80
+ }) })), showHeaderActions ? (
70
81
  // Icon-only, same footprint as the per-row dismiss control (icon-xs), so a header
71
82
  // action reads as a lightweight affordance rather than a second row of button chrome.
72
83
  // The accessible name lives in `label` (IconButton sets both `aria-label` and the
73
84
  // Tooltip text from it), so nothing here depends on a visible label to be understood.
74
85
  // `ListX`, not `X` — the panel's own close control sits a few pixels away and shares
75
86
  // that glyph; a distinct icon avoids reading as a second, confusing close button.
76
- _jsxs("div", { className: "flex items-center gap-1", children: [headerAction, showDismissAll ? (_jsx(IconButton, { variant: "ghost", size: "xs", icon: ListX, label: dismissAllLabel ?? t("notifications.dismissAll"), onClick: onDismissAll })) : null] })) : null] }), isEmpty ? null : (_jsx("ul", { className: "m-0 flex list-none flex-col gap-1 overflow-y-auto p-4 pt-0", children: notifications.map((notification) => (_jsx(NotificationRow, { notification: notification, onDismiss: onDismiss, linkComponent: linkComponent, unreadPrefixLabel: unreadPrefixLabel }, notification.key))) }))] }) }));
87
+ _jsxs("div", { className: "flex items-center gap-1", children: [headerAction, showDismissAll ? (_jsx(IconButton, { variant: "ghost", size: "xs", icon: ListX, label: dismissAllLabel ?? t("notifications.dismissAll"), onClick: onDismissAll })) : null] })) : null] }), showList ? (_jsx("ul", { className: "m-0 flex list-none flex-col gap-1 overflow-y-auto p-4 pt-0", children: notifications.map((notification) => (_jsx(NotificationRow, { notification: notification, onDismiss: onDismiss, linkComponent: linkComponent, unreadPrefixLabel: unreadPrefixLabel }, notification.key))) })) : null] }) }));
77
88
  }
78
89
  function NotificationRow({ notification, onDismiss, linkComponent, unreadPrefixLabel, }) {
79
90
  const { t } = useC4Dictionary();
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../../src/components/ui/notifications.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../../src/components/ui/notifications.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @internal
3
+ * Shared horizontal-overflow affordance for `TabsList` and `ToggleGroup`.
4
+ * Not part of the public API — never exported from `src/index.ts`.
5
+ */
6
+ import * as React from "react";
7
+ export type OverflowStripDirection = "before" | "after";
8
+ export declare function useOverflowStrip<T extends HTMLElement>(): {
9
+ ref: React.RefObject<T | null>;
10
+ hasMoreBefore: boolean;
11
+ hasMoreAfter: boolean;
12
+ scrollByStep: (direction: OverflowStripDirection) => void;
13
+ };
14
+ export declare function OverflowStripArrow({ direction, onScroll, }: {
15
+ direction: OverflowStripDirection;
16
+ onScroll: () => void;
17
+ }): React.JSX.Element;
18
+ //# sourceMappingURL=overflow-strip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overflow-strip.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/overflow-strip.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW;;;;8BAsDtC,sBAAsB;EAsBrC;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,QAAQ,GACT,EAAE;IACD,SAAS,EAAE,sBAAsB,CAAC;IAClC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,qBAqCA"}
@@ -0,0 +1,103 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @internal
4
+ * Shared horizontal-overflow affordance for `TabsList` and `ToggleGroup`.
5
+ * Not part of the public API — never exported from `src/index.ts`.
6
+ */
7
+ import * as React from "react";
8
+ import { ChevronLeft, ChevronRight } from "../../icons/lucide.js";
9
+ import { useC4Dictionary } from "../../lib/i18n/context.js";
10
+ import { Button } from "./button.js";
11
+ const SCROLL_EDGE_EPSILON_PX = 1;
12
+ const SCROLL_STEP_RATIO = 0.8;
13
+ export function useOverflowStrip() {
14
+ const ref = React.useRef(null);
15
+ const [hasMoreBefore, setHasMoreBefore] = React.useState(false);
16
+ const [hasMoreAfter, setHasMoreAfter] = React.useState(false);
17
+ const recompute = React.useCallback(() => {
18
+ const node = ref.current;
19
+ if (node == null)
20
+ return;
21
+ // Vertical Tabs/ToggleGroup never scroll horizontally and never get
22
+ // arrows — Radix stamps `data-orientation` on this same list/root
23
+ // element, so no extra prop has to be threaded through to read it here.
24
+ if (node.dataset.orientation === "vertical") {
25
+ setHasMoreBefore(false);
26
+ setHasMoreAfter(false);
27
+ return;
28
+ }
29
+ setHasMoreBefore(node.scrollLeft > SCROLL_EDGE_EPSILON_PX);
30
+ setHasMoreAfter(node.scrollLeft <
31
+ node.scrollWidth - node.clientWidth - SCROLL_EDGE_EPSILON_PX);
32
+ }, []);
33
+ // No dependency list on purpose: items added to a strip that is already
34
+ // clamped change its `scrollWidth` but not its box, so neither the
35
+ // ResizeObserver below nor a scroll event would notice them.
36
+ React.useLayoutEffect(recompute);
37
+ React.useLayoutEffect(() => {
38
+ const node = ref.current;
39
+ if (node == null)
40
+ return;
41
+ node.addEventListener("scroll", recompute, { passive: true });
42
+ // A web font that lands after mount widens the labels of a strip whose
43
+ // own box is already clamped — no resize, no scroll, only a new
44
+ // `scrollWidth`. jsdom has no `document.fonts`.
45
+ document.fonts?.ready.then(recompute);
46
+ // jsdom (unit tests, and the non-browser half of the Storybook toolchain)
47
+ // has no ResizeObserver — skip live width tracking there instead of
48
+ // throwing on mount.
49
+ let resizeObserver;
50
+ if (typeof ResizeObserver !== "undefined") {
51
+ resizeObserver = new ResizeObserver(recompute);
52
+ resizeObserver.observe(node);
53
+ }
54
+ return () => {
55
+ node.removeEventListener("scroll", recompute);
56
+ resizeObserver?.disconnect();
57
+ };
58
+ }, [recompute]);
59
+ const scrollByStep = React.useCallback((direction) => {
60
+ const node = ref.current;
61
+ if (node == null)
62
+ return;
63
+ const delta = node.clientWidth *
64
+ SCROLL_STEP_RATIO *
65
+ (direction === "before" ? -1 : 1);
66
+ // No explicit `behavior` option: the list itself carries
67
+ // `motion-safe:scroll-smooth`, and `scrollBy`'s default ("auto") defers
68
+ // to that CSS property, unlike assigning `scrollLeft` directly, which is
69
+ // always instant regardless of `scroll-behavior`.
70
+ if (typeof node.scrollBy === "function") {
71
+ node.scrollBy({ left: delta });
72
+ }
73
+ else {
74
+ // jsdom has no `scrollBy` implementation.
75
+ node.scrollLeft += delta;
76
+ }
77
+ }, []);
78
+ return { ref, hasMoreBefore, hasMoreAfter, scrollByStep };
79
+ }
80
+ export function OverflowStripArrow({ direction, onScroll, }) {
81
+ const { t } = useC4Dictionary();
82
+ const Icon = direction === "before" ? ChevronLeft : ChevronRight;
83
+ // Two literal `t()` call sites rather than one call with a computed key —
84
+ // dictionary-usage.test.mjs's static audit only recognizes a key that
85
+ // appears as `t("literal.key")` verbatim, not one assembled at runtime.
86
+ const label = direction === "before"
87
+ ? t("overflowStrip.previous")
88
+ : t("overflowStrip.next");
89
+ return (_jsx(Button, { type: "button", variant: "ghost", size: "icon-xs", "data-slot": "overflow-strip-arrow", "data-direction": direction,
90
+ // Pointer/touch affordance only: keyboard users already move between
91
+ // items with the arrow keys, and the browser scrolls the newly
92
+ // focused item into view on its own — so this button is never part of
93
+ // the keyboard path, and `aria-hidden` keeps it out of the tablist/
94
+ // group's accessible child count. The `aria-label` still follows the
95
+ // usual icon-only-element rule, since assistive tech attached
96
+ // directly to the DOM node (rather than walking the a11y tree) can
97
+ // still surface it.
98
+ tabIndex: -1, "aria-hidden": "true", "aria-label": label,
99
+ // `tabIndex={-1}` still takes focus on click; keeping it on the active
100
+ // item means the arrow keys keep working right after a click.
101
+ onPointerDown: (event) => event.preventDefault(), onClick: onScroll, className: "shrink-0", children: _jsx(Icon, { "aria-hidden": "true" }) }));
102
+ }
103
+ //# sourceMappingURL=overflow-strip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overflow-strip.js","sourceRoot":"","sources":["../../../../src/components/ui/overflow-strip.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scorecard.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/scorecard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC5C;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uIAAuI;IACvI,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkFD,iBAAS,SAAS,CAAC,EACjB,KAAK,EACL,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,EACT,MAAa,EACb,IAAgB,EAChB,OAAe,EACf,KAAa,EACb,YAAY,EACZ,SAAS,GACV,EAAE,cAAc,qBA6DhB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"scorecard.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/scorecard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC5C;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uIAAuI;IACvI,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyHD,iBAAS,SAAS,CAAC,EACjB,KAAK,EACL,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,EACT,MAAa,EACb,IAAgB,EAChB,OAAe,EACf,KAAa,EACb,YAAY,EACZ,SAAS,GACV,EAAE,cAAc,qBA6DhB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,sBAAsB,EAAE,CAAC"}
@@ -3,11 +3,22 @@ import * as React from "react";
3
3
  import { ArrowDownRight, ArrowUpRight } from "../../icons/lucide.js";
4
4
  import { cn } from "../../lib/utils.js";
5
5
  import { useC4Dictionary } from "../../lib/i18n/context.js";
6
+ import { useIsTruncated } from "../../hooks/use-is-truncated.js";
6
7
  import { Badge } from "./badge.js";
7
8
  import { Card, CardHeader, CardTitle } from "./card.js";
8
9
  import { Skeleton } from "./skeleton.js";
9
10
  import { Sparkline } from "./sparkline.js";
11
+ import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
10
12
  function ScorecardBody({ label, tooltip, value, delta, sparkline, size, loading, empty, emptyMessage, asCard, }) {
13
+ // Hook must run unconditionally, above the `loading` early return below, or
14
+ // the loading→loaded transition changes this component's hook count. During
15
+ // loading the value span isn't rendered, so `ref.current` is null and
16
+ // `measure()` is a no-op (same situation multi-select's placeholder hook is
17
+ // in while chips are showing instead).
18
+ const { ref: valueRef, isTruncated: valueTruncated, measure: measureValue, } = useIsTruncated();
19
+ React.useLayoutEffect(() => {
20
+ measureValue();
21
+ });
11
22
  if (loading) {
12
23
  return (_jsxs(_Fragment, { children: [_jsx(Skeleton, { className: "h-4 w-24" }), _jsx(Skeleton, { className: cn("h-7 w-20", size === "sm" && "h-6 w-16") })] }));
13
24
  }
@@ -22,7 +33,15 @@ function ScorecardBody({ label, tooltip, value, delta, sparkline, size, loading,
22
33
  const sparklineElement = sparkline ? (_jsx(Sparkline, { data: sparkline.data, dataKey: sparkline.dataKey, loading: false, activeDot: false, className: asCard
23
34
  ? "w-auto -mx-4 -mb-4 group-data-[size=sm]/card:-mx-3 group-data-[size=sm]/card:-mb-3"
24
35
  : undefined })) : null;
25
- return (_jsxs(_Fragment, { children: [_jsx(CardTitle, { tooltip: tooltip, className: "text-sm font-normal", children: label }), _jsx("div", { className: "flex min-w-0 items-center", children: _jsxs("span", { className: "inline-flex min-w-0 max-w-full items-center gap-2", children: [_jsx("span", { className: cn("min-w-0 truncate text-2xl font-semibold text-neutral-foreground-strong", size === "sm" && "text-xl"), children: empty ? emptyMessage : value }), !empty && delta && (_jsxs(Badge, { variant: delta.variant, className: "shrink-0", children: [_jsx(DeltaIcon, { "data-icon": "inline-start", "aria-hidden": "true" }), _jsx("span", { className: "sr-only", children: delta.direction === "increase"
36
+ const valueContent = empty ? emptyMessage : value;
37
+ // No focusable ancestor wraps this KPI value — plain static text, per the
38
+ // "Truncated Text" decision tree in docs/specs/shadcn/patterns.md.
39
+ // `tabIndex={0}` goes directly on the value span. `ring-inset`: this span
40
+ // lives inside `<Card>`'s own `overflow-hidden` (when `asCard`), same clip
41
+ // risk nav-breadcrumb.tsx's label button ring documents.
42
+ const valueSpan = (_jsx("span", { ref: valueRef, tabIndex: 0, onPointerEnter: measureValue, onFocus: measureValue, className: cn("min-w-0 truncate rounded-sm text-2xl font-semibold text-neutral-foreground-strong outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", size === "sm" && "text-xl"), children: valueContent }));
43
+ const valueElement = valueTruncated ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: valueSpan }), _jsx(TooltipContent, { children: valueContent })] })) : (valueSpan);
44
+ return (_jsxs(_Fragment, { children: [_jsx(CardTitle, { tooltip: tooltip, className: "text-sm font-normal", children: label }), _jsx("div", { className: "flex min-w-0 items-center", children: _jsxs("span", { className: "inline-flex min-w-0 max-w-full items-center gap-2", children: [valueElement, !empty && delta && (_jsxs(Badge, { variant: delta.variant, className: "shrink-0", children: [_jsx(DeltaIcon, { "data-icon": "inline-start", "aria-hidden": "true" }), _jsx("span", { className: "sr-only", children: delta.direction === "increase"
26
45
  ? "Increased by "
27
46
  : "Decreased by " }), delta.value] }))] }) }), !empty && sparklineElement] }));
28
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scorecard.js","sourceRoot":"","sources":["../../../../src/components/ui/scorecard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scorecard.js","sourceRoot":"","sources":["../../../../src/components/ui/scorecard.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import * as React from "react";
2
2
  import { Select as SelectPrimitive } from "radix-ui";
3
3
  declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): React.JSX.Element;
4
4
  declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): React.JSX.Element;
5
- declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): React.JSX.Element;
5
+ declare function SelectValue({ children, ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): React.JSX.Element;
6
6
  type SelectTriggerProps = React.ComponentProps<typeof SelectPrimitive.Trigger> & {
7
7
  size?: "sm" | "default";
8
8
  /** Rendered below the trigger when `aria-invalid` is set. Also wires `aria-errormessage`/`aria-describedby`. */
@@ -10,7 +10,7 @@ type SelectTriggerProps = React.ComponentProps<typeof SelectPrimitive.Trigger> &
10
10
  /** Rendered below the trigger when not invalid. Wires `aria-describedby`. */
11
11
  helperText?: React.ReactNode;
12
12
  };
13
- declare function SelectTrigger({ className, size, children, id, invalidText, helperText, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, "aria-errormessage": ariaErrorMessage, ...props }: SelectTriggerProps): React.JSX.Element;
13
+ declare function SelectTrigger({ className, size, children, id, invalidText, helperText, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, "aria-errormessage": ariaErrorMessage, ref, onPointerEnter, onFocus, ...props }: SelectTriggerProps): React.JSX.Element;
14
14
  declare function SelectContent({ className, children, position, onCloseAutoFocus, restoreFocusRef, ...props }: React.ComponentProps<typeof SelectPrimitive.Content> & {
15
15
  /**
16
16
  * Element to refocus when the select closes, instead of the default
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAUrD,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,qBAEnD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAEpD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAEpD;AAED,KAAK,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAC5C,OAAO,eAAe,CAAC,OAAO,CAC/B,GAAG;IACF,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,gHAAgH;IAChH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B,CAAC;AAEF,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,IAAgB,EAChB,QAAQ,EACR,EAAE,EACF,WAAW,EACX,UAAU,EACV,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,EACnC,mBAAmB,EAAE,gBAAgB,EACrC,GAAG,KAAK,EACT,EAAE,kBAAkB,qBAwDpB;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACvD,qBAwCA;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAWpD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,qBAkBnD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,qBAQxD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,qBAa7D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,qBAa/D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AA6BrD,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,qBAEnD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAEpD;AAED,iBAAS,WAAW,CAAC,EACnB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAsCpD;AAED,KAAK,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAC5C,OAAO,eAAe,CAAC,OAAO,CAC/B,GAAG;IACF,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,gHAAgH;IAChH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B,CAAC;AAEF,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,IAAgB,EAChB,QAAQ,EACR,EAAE,EACF,WAAW,EACX,UAAU,EACV,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,EACnC,mBAAmB,EAAE,gBAAgB,EACrC,GAAG,EACH,cAAc,EACd,OAAO,EACP,GAAG,KAAK,EACT,EAAE,kBAAkB,qBAsJpB;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACvD,qBAwCA;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAWpD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,qBAkBnD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,qBAQxD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,qBAa7D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,qBAa/D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,kBAAkB,EAAE,CAAC"}