@object-ui/plugin-dashboard 17.7.0 → 18.0.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 (37) hide show
  1. package/CHANGELOG.md +525 -0
  2. package/README.md +56 -17
  3. package/dist/DashboardGridLayout.d.ts +7 -6
  4. package/dist/DashboardGridLayout.d.ts.map +1 -1
  5. package/dist/DashboardRenderer.d.ts +30 -2
  6. package/dist/DashboardRenderer.d.ts.map +1 -1
  7. package/dist/DashboardWithConfig.d.ts.map +1 -1
  8. package/dist/DatasetWidget.d.ts +22 -23
  9. package/dist/DatasetWidget.d.ts.map +1 -1
  10. package/dist/MetricCard.d.ts +6 -0
  11. package/dist/MetricCard.d.ts.map +1 -1
  12. package/dist/MetricWidget.d.ts +21 -4
  13. package/dist/MetricWidget.d.ts.map +1 -1
  14. package/dist/ObjectMetricWidget.d.ts.map +1 -1
  15. package/dist/ObjectPivotTable.d.ts +7 -6
  16. package/dist/ObjectPivotTable.d.ts.map +1 -1
  17. package/dist/RecordDetailDrawer.d.ts +13 -2
  18. package/dist/RecordDetailDrawer.d.ts.map +1 -1
  19. package/dist/chartRenderHandoff.d.ts +9 -0
  20. package/dist/chartRenderHandoff.d.ts.map +1 -0
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1136 -1037
  24. package/dist/index.umd.cjs +3 -2
  25. package/dist/legacyRetiredWidget.d.ts +24 -1
  26. package/dist/legacyRetiredWidget.d.ts.map +1 -1
  27. package/dist/metricTile.d.ts +87 -0
  28. package/dist/metricTile.d.ts.map +1 -0
  29. package/dist/schemaHostProps.d.ts +55 -11
  30. package/dist/schemaHostProps.d.ts.map +1 -1
  31. package/dist/utils.d.ts +24 -6
  32. package/dist/utils.d.ts.map +1 -1
  33. package/dist/widgetDispatch.d.ts +36 -6
  34. package/dist/widgetDispatch.d.ts.map +1 -1
  35. package/package.json +11 -11
  36. package/dist/widgetSubCaption.d.ts +0 -40
  37. package/dist/widgetSubCaption.d.ts.map +0 -1
package/README.md CHANGED
@@ -207,9 +207,11 @@ or the spec's inline per-locale map (`I18nLabel`).
207
207
 
208
208
  A card with no `value` is refused by `@object-ui/types/zod`, on the tolerant
209
209
  face and the strict one. `metric-card` is not a widget type, so a card is never
210
- read through widget keys alone, and no widget key stands in for `value`: a
211
- `dataset` makes the dashboard draw its dataset tile in the card's place, and
212
- `options` is not a binding (objectui#11483). For a figure queried from a
210
+ read through widget keys, and no widget key stands in for `value`: the
211
+ dashboard reads a widget key (`dataset`, `options`, `component`,
212
+ `colorVariant`, …) on a widget alone, so a card draws its own keys whatever
213
+ else it carries, and the strict face refuses a widget key on it
214
+ (objectui#11483, objectui#11598). For a figure queried from a
213
215
  dataset, write a `metric` widget with `dataset` and `values` (see "TypeScript
214
216
  Support" below).
215
217
 
@@ -536,12 +538,18 @@ where it resolves.
536
538
 
537
539
  objectui's legacy `component` envelope (`{ id, component, layout }`) is not the
538
540
  spec's widget, and the default is not applied to it: an envelope with no `type`
539
- draws its `component` under its card heading, as it always did. One node is
540
- retired there: an `object-metric` (under `object-metric` or
541
- `plugin-dashboard:object-metric`) draws the same retired-format prompt as a
542
- dataset-less metric widget and sends no query (objectui#11466). Bind a metric
543
- widget to a dataset instead. Every other envelope node draws as written, and the
544
- filter bar still scopes an envelope's `object-chart` and `object-data-table`.
541
+ draws its `component` under its card heading.
542
+
543
+ The envelope takes a `metric-card` node only (objectui#12163), and draws one
544
+ only (objectui#12254). Both validator faces and
545
+ `DashboardWidgetSchema['component']` refuse any other node by name, at
546
+ `component`, with the fix: a dashboard widget binds a dataset (ADR-0021), so
547
+ write the widget itself in the spec form, or put a `metric-card` in the slot.
548
+ Both surfaces draw a stored envelope by the same rule: a `metric-card` draws as
549
+ written, and any other node (an `object-chart`, a `text`, an `object-metric`, a
550
+ node with no `type`) draws the same retired-format prompt as a dataset-less
551
+ metric widget and sends no query. A `custom` widget with no `component` draws
552
+ the labelled placeholder described next.
545
553
 
546
554
  A `type` that names no widget family and no component type (a typo, or a family
547
555
  the spec no longer has) is refused by both validator faces at `type`. A stored
@@ -631,9 +639,9 @@ const users: DashboardWidgetSchema = {
631
639
  options: { value: '1,234' },
632
640
  };
633
641
 
634
- // Component format: a registered component node in the widget's `component`
635
- // slot. Its keys are that COMPONENT's props, not widget keys; a `metric-card`
636
- // here is typed by the same arm as `kpi` below.
642
+ // Component format: a `metric-card` node in the widget's `component` slot, the
643
+ // one node the slot takes (objectui#12163). Its keys are that COMPONENT's props,
644
+ // not widget keys; it is typed by the same arm as `kpi` below.
637
645
  const custom: DashboardWidgetSchema = {
638
646
  id: 'kpi_custom',
639
647
  component: {
@@ -696,9 +704,10 @@ a card directly in `widgets[]` whose `trend` is outside the three, or whose
696
704
 
697
705
  The widget keys (`colorVariant`, `filter`, `dataset`, …) are declared on the
698
706
  widget arm, `DashboardWidgetSchema`, which takes them from the spec's
699
- `DashboardWidget` row. The component arm declares none of them. Read straight
700
- off a `widgets[]` entry, such a key is typed `any`, supplied by the component
701
- arm's passthrough. This package's own readers take an entry by the slot's
707
+ `DashboardWidget` row. The component arm declares none of them, so read
708
+ straight off a `widgets[]` entry such a key is a compile error: the union offers
709
+ only the keys both arms declare (before objectui#8347 removed `BaseSchema`'s index
710
+ signature, the component arm answered it as `any`). This package's own readers take an entry by the slot's
702
711
  element type, `DashboardComponentSchema['widgets'][number]`. The component arm
703
712
  is not assignable to `DashboardWidgetSchema`, whose `type` names no component
704
713
  type, so narrow an entry on `type` first: `metric-card` is the one component
@@ -794,9 +803,13 @@ the schema arrives, or for good when the read failed (objectui#10657). A column
794
803
  that authors its `type` draws from it meanwhile. The record drawer a row opens
795
804
  (record drill-down) draws every value as the mask in that window too.
796
805
 
806
+ Authored as a node, the object-bound table is `object-data-table`. A bare `table`
807
+ is the static component: it takes its rows in `data` and declares neither
808
+ `objectName` nor a column `format`.
809
+
797
810
  ```jsonc
798
811
  {
799
- "type": "table",
812
+ "type": "object-data-table",
800
813
  "objectName": "opportunity",
801
814
  "columns": [
802
815
  { "accessorKey": "name", "header": "Opportunity" },
@@ -831,7 +844,7 @@ keeps a published edit over that catalog: an explicit override beats the
831
844
  packaged default. Pass `localized={true}` when your document came from such a
832
845
  read. The renderer then draws these texts as given:
833
846
 
834
- - the widget `title`, `description` and sub-caption (`options.description`);
847
+ - the widget `title` and `description`;
835
848
  - its own header `label` and `description`.
836
849
 
837
850
  An inline per-locale map is still collapsed to the active language. The client
@@ -845,6 +858,32 @@ preview or a design surface. The bundle keys under
845
858
  pass, as before. Header-action labels always go through the bundle, because the
846
859
  server does not translate them.
847
860
 
861
+ ## DashboardRenderer — the host draws "Refresh All" (`onRefreshStateChange`)
862
+
863
+ When the renderer holds an `onRefresh` handler it draws a "Refresh All" button,
864
+ and the same handler arms the authored `refreshIntervalSeconds` timer. A host
865
+ that draws its own page chrome can put that button in its chrome instead: pass
866
+ `onRefreshStateChange` alongside `onRefresh`. The renderer then draws no
867
+ refresh button of its own, and calls the callback with the state of its one
868
+ refresh implementation:
869
+
870
+ - `refreshing` is true while a run is in flight, manual or timed. Spin the
871
+ button's icon and disable the button on it.
872
+ - `handleRefresh` is the run the renderer's own button would call. Wire the
873
+ host's button to it, so a click calls `onRefresh` and shows the indicator.
874
+
875
+ The callback is called on mount, again each time `refreshing` changes, and with
876
+ `null` when there is nothing to draw: no `onRefresh` is wired, or the renderer
877
+ unmounted. A `useState` setter is enough as the callback; a new function on
878
+ every render is fine too.
879
+
880
+ The timer stays the renderer's: `onRefresh` still arms it, so the host runs no
881
+ timer of its own. The record-count badge (`recordCount`) is not handed over and
882
+ stays where the renderer draws it. The console's dashboard page
883
+ (`DashboardView`) passes the option and draws the button among its page
884
+ header's actions (objectui#12554). A host that leaves it unset gets the
885
+ renderer's button, as before.
886
+
848
887
  ## DashboardGridLayout — persisting drag / resize edits
849
888
 
850
889
  `DashboardGridLayout` (a React component you mount directly; its old schema
@@ -9,11 +9,11 @@ export interface DashboardGridLayoutProps {
9
9
  * `DatasetWidget` for ADR-0021 dataset-bound widgets (objectui#4614).
10
10
  *
11
11
  * Typed `unknown`, not `any`. The sibling declares `dataSource?: any`
12
- * (`DashboardRenderer.tsx:198`) for a reason that is explicitly historical —
12
+ * (`DashboardRendererProps.dataSource`) for a reason that is explicitly historical —
13
13
  * "that is precisely what it resolved to before", via the index signature that
14
14
  * used to answer for it — and this is a NEW declaration with no prior
15
15
  * resolution to preserve. `unknown` is what the consumer itself declares
16
- * (`DatasetWidget.tsx:655`, `dataSource: unknown`), so the value is forwarded
16
+ * (`DatasetWidget`'s own parameter, `dataSource: unknown`), so the value is forwarded
17
17
  * to exactly the type that receives it, and no call site is held to anything
18
18
  * new: every value is assignable to `unknown`. Narrowing it further to a real
19
19
  * adapter type is a separate change with its own consumer sweep, on both
@@ -26,10 +26,11 @@ export interface DashboardGridLayoutProps {
26
26
  * A dataset-bound widget arriving that way renders `DatasetWidget`'s own
27
27
  * no-capability diagnostic — a visible state, never a blank tile.
28
28
  *
29
- * `SchemaRenderer` forwards this as a React prop (its `...props` spread, last:
30
- * `SchemaRenderer.tsx:632`). It cannot be shadowed by the spec's per-element
31
- * `dataSource` BINDING, which is stripped from the schema before that spread
32
- * for exactly this reason (`SchemaRenderer.tsx:564-575`, objectstack#5576).
29
+ * `SchemaRenderer` forwards this as a React prop (its `...props` spread,
30
+ * last). It cannot be shadowed by the spec's per-element `dataSource`
31
+ * BINDING, which is stripped from the schema before that spread for exactly
32
+ * this reason (the `dataSource: _dataSource` strip in `SchemaRenderer`'s
33
+ * destructure, objectstack#5576).
33
34
  */
34
35
  dataSource?: unknown;
35
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardGridLayout.d.ts","sourceRoot":"","sources":["../src/DashboardGridLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA2C,KAAK,UAAU,IAAI,SAAS,EAAuC,MAAM,mBAAmB,CAAC;AAC/I,OAAO,kCAAkC,CAAC;AAK1C,OAAO,KAAK,EAAE,wBAAwB,EAAuC,MAAM,kBAAkB,CAAC;AA2CtG,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,wBAAwB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC/C;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC5D,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,SAAS,EAAE,GAClB,wBAAwB,CAa1B;AAiBD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAqlBlE,CAAC"}
1
+ {"version":3,"file":"DashboardGridLayout.d.ts","sourceRoot":"","sources":["../src/DashboardGridLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA2C,KAAK,UAAU,IAAI,SAAS,EAAuC,MAAM,mBAAmB,CAAC;AAC/I,OAAO,kCAAkC,CAAC;AAK1C,OAAO,KAAK,EAAE,wBAAwB,EAAuC,MAAM,kBAAkB,CAAC;AA4CtG,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,wBAAwB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC/C;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC5D,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,SAAS,EAAE,GAClB,wBAAwB,CAa1B;AAiBD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAklBlE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { DashboardComponentSchema } from '@object-ui/types';
2
2
  import { ActionDef, ActionResult, ActionContext, ModalHandler, SduiDomPassThroughKey } from '@object-ui/core';
3
3
  import { HTMLAttributes } from 'react';
4
+ import { DashboardAutoRefresh } from './useDashboardAutoRefresh.js';
4
5
  /**
5
6
  * The dashboard renderer's props.
6
7
  *
@@ -89,6 +90,33 @@ export interface DashboardRendererProps extends Pick<HTMLAttributes<HTMLDivEleme
89
90
  * title/subtitle so we don't display them twice.
90
91
  */
91
92
  hideHeaderText?: boolean;
93
+ /**
94
+ * The host draws the "Refresh All" control, in its own chrome, and this is
95
+ * how it learns what to draw (objectui#12554). Set it and the renderer draws
96
+ * no refresh button of its own; leave it unset and the renderer draws one
97
+ * whenever `onRefresh` is wired, exactly as before.
98
+ *
99
+ * The auto-refresh timer is untouched: it stays this renderer's, armed by
100
+ * `onRefresh` and the authored `refreshIntervalSeconds`, so a host that
101
+ * draws the button runs no timer of its own. What the renderer hands over is
102
+ * the state of that one refresh implementation (`useDashboardAutoRefresh`):
103
+ *
104
+ * - `refreshing`, true while a run is in flight, manual or timed: spin the
105
+ * icon and disable the button on it, as the renderer's own control does;
106
+ * - `handleRefresh`, the run the renderer's button calls: wire the host's
107
+ * button to it, so a click shows the same indicator and calls `onRefresh`.
108
+ *
109
+ * It is called on mount, again each time `refreshing` changes, and with
110
+ * `null` when there is nothing to draw: no `onRefresh` is wired, or the
111
+ * renderer unmounted. The renderer reads it through a ref, so a host may
112
+ * pass a new function on every render (a `useState` setter is enough).
113
+ *
114
+ * The record-count badge (`recordCount`) is not part of the hand-over; it
115
+ * stays where the renderer draws it. The console's dashboard page
116
+ * (`DashboardView`) sets this, and draws the button among its page header's
117
+ * actions.
118
+ */
119
+ onRefreshStateChange?: (state: DashboardAutoRefresh | null) => void;
92
120
  /**
93
121
  * The document arrives already translated for the active language: the host
94
122
  * read it from the server's `/meta` route, which resolves the packaged
@@ -98,8 +126,8 @@ export interface DashboardRendererProps extends Pick<HTMLAttributes<HTMLDivEleme
98
126
  * it.
99
127
  *
100
128
  * When true, the texts the server translated — the dashboard `label` and
101
- * `description`, and each widget's `title`, `description` and sub-caption
102
- * (`options.description`) — are drawn as given: an inline per-locale map is
129
+ * `description`, and each widget's `title` and `description` — are drawn as
130
+ * given: an inline per-locale map is
103
131
  * still collapsed to the active language, but no client bundle lookup runs
104
132
  * over them. A second pass over a served value is what let the packaged
105
133
  * catalog win again, client-side, over a published edit (objectui#11295).
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardRenderer.d.ts","sourceRoot":"","sources":["../src/DashboardRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAc,wBAAwB,EAAwD,MAAM,kBAAkB,CAAC;AAGnI,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAanH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AA+K5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACnE,MAAM,EAAE,wBAAwB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrE,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,uDAAuD;IACvD,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAC1E,mGAAmG;IACnG,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wGAAwG;IACxG,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,CAAC;IACrH;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAumCD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,mHAiB7B,CAAC"}
1
+ {"version":3,"file":"DashboardRenderer.d.ts","sourceRoot":"","sources":["../src/DashboardRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAc,wBAAwB,EAAwD,MAAM,kBAAkB,CAAC;AAGnI,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAanH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAuB5C,OAAO,EAA2B,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAyJ/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACnE,MAAM,EAAE,wBAAwB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrE,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,uDAAuD;IACvD,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAC1E,mGAAmG;IACnG,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wGAAwG;IACxG,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,CAAC;IACrH;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA4pCD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,mHAiB7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardWithConfig.d.ts","sourceRoot":"","sources":["../src/DashboardWithConfig.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAOjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAMnE,MAAM,WAAW,wBAAwB;IACvC,qCAAqC;IACrC,MAAM,EAAE,wBAAwB,CAAC;IACjC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,6DAA6D;IAC7D,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACpD,iEAAiE;IACjE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACvE,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACvC,oDAAoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,iBAAyB,EACzB,SAAS,EACT,QAAQ,EACR,eAAe,GAChB,EAAE,wBAAwB,qBA6L1B"}
1
+ {"version":3,"file":"DashboardWithConfig.d.ts","sourceRoot":"","sources":["../src/DashboardWithConfig.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAOjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAMnE,MAAM,WAAW,wBAAwB;IACvC,qCAAqC;IACrC,MAAM,EAAE,wBAAwB,CAAC;IACjC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,6DAA6D;IAC7D,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACpD,iEAAiE;IACjE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACvE,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACvC,oDAAoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,iBAAyB,EACzB,SAAS,EACT,QAAQ,EACR,eAAe,GAChB,EAAE,wBAAwB,qBAmM1B"}
@@ -106,32 +106,31 @@ export declare function extractDateWindows(filter: unknown): {
106
106
  */
107
107
  export { chartConfigPresentation } from '@object-ui/core';
108
108
  /**
109
- * The sub-caption a dashboard surface already resolved for this tile
110
- * (objectui#8889). Three states, and the difference between two of them is
111
- * load-bearing:
109
+ * A dataset-bound widget: a metric tile, a table / pivot, or a chart, drawn
110
+ * from one dataset query.
112
111
  *
113
- * - **omitted (`undefined`)** — nobody upstream resolved it. This component is
114
- * rendering outside a dashboard surface (a standalone host, a preview, a
115
- * test), so there is no dashboard `name` in existence and therefore no
116
- * bundle key to look up. The AUTHORED limb is resolved locally, which is
117
- * exactly what objectui#7293 landed and what keeps rendering.
118
- * - **a string** — that is the answer; render it.
119
- * - **`null`** — a surface DID resolve it, to nothing. Render nothing, and in
120
- * particular do NOT fall back to the authored value: a bundle entry that
121
- * resolves to empty is the bundle winning, and the inline arms of
122
- * `getComponentSchema()` render nothing in that same case. Falling back here
123
- * is how the two surfaces would start to disagree.
124
- *
125
- * ⛔ Never widened to "the dashboard name" or "the widget's translation node".
126
- * Handing this component the INPUTS would put a second copy of the
127
- * authored-vs-bundle composition inside it, and the field's own invariant — "a
128
- * bundle entry always wins over an inline map and the two channels can never
129
- * disagree" — needs a single decision point to be true. That point is
130
- * `useWidgetSubCaption`; what arrives here is its answer.
112
+ * ⛔ No sub-caption prop, and no read of a `description` key in the options
113
+ * bag: the metric sub-caption is retired at both ends (objectui#11389, ruling
114
+ * C, after objectstack's half in `@objectstack/spec` 17.7.0). A widget keeps
115
+ * one authored description, `widget.description`, which the dashboard surface
116
+ * draws as the card-header subtitle. If a caption under a metric's value
117
+ * returns, it returns as a declared widget-level key outside the options bag,
118
+ * never as a key inside it. The options census in `@object-ui/sdui-parser`
119
+ * reads this file's text, comments included, which is why this note does not
120
+ * spell the bag's member access.
121
+ */
122
+ /**
123
+ * [objectui#12528] The heading a dashboard surface hands a dataset-bound
124
+ * metric tile instead of drawing its own card header: the widget's resolved
125
+ * title, and its resolved description, which becomes the title's tooltip.
131
126
  */
132
- export declare function DatasetWidget({ widget, dataSource, subCaption }: {
127
+ export interface DatasetMetricHeading {
128
+ title: string;
129
+ description?: string;
130
+ }
131
+ export declare function DatasetWidget({ widget, dataSource, heading }: {
133
132
  widget: any;
134
133
  dataSource: unknown;
135
- subCaption?: string | null;
134
+ heading?: DatasetMetricHeading;
136
135
  }): import("react").JSX.Element;
137
136
  //# sourceMappingURL=DatasetWidget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetWidget.d.ts","sourceRoot":"","sources":["../src/DatasetWidget.tsx"],"names":[],"mappings":"AA2CA,OAAO,EAYL,uBAAuB,EAWvB,YAAY,EAoBb,MAAM,iBAAiB,CAAC;AAuBzB;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,gCAA0B,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,UAAU,mDAAgB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AAEpC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACpC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd;IACD,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACpD,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAsBA;AASD,8DAA8D;AAC9D,wBAAgB,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAEpF;AA6CD,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG;IACnD,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC3C,CA4DA;AAsHD;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,+BAg7CjI"}
1
+ {"version":3,"file":"DatasetWidget.d.ts","sourceRoot":"","sources":["../src/DatasetWidget.tsx"],"names":[],"mappings":"AA2CA,OAAO,EAaL,uBAAuB,EAWvB,YAAY,EAmBb,MAAM,iBAAiB,CAAC;AA+BzB;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,gCAA0B,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,UAAU,mDAAgB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AAEpC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACpC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd;IACD,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACpD,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAsBA;AASD,8DAA8D;AAC9D,wBAAgB,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAEpF;AA0ED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG;IACnD,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC3C,CA4DA;AAuID;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;;;;;;;;;;GAaG;AACH;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAuBD,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAAE,+BAu8ClI"}
@@ -18,6 +18,12 @@ import { SchemaHostProps } from './schemaHostProps.js';
18
18
  * whole. The repo's spelling for this carve-out is `ComboboxProps`
19
19
  * (`extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "value" | "onChange">`),
20
20
  * omitted there for the same reason: the component's own contract owns the name.
21
+ *
22
+ * This declaration is the DIRECT React door's. Rendered through
23
+ * `SchemaRenderer`, the card's element receives only what `toDomProps` passes
24
+ * (objectui#4425, phase 2) — see `hostDomProps` in `./schemaHostProps`. That is
25
+ * also why an authored `label` stops at the component: it is not this card's
26
+ * heading (`title` is) and not an attribute either.
21
27
  */
22
28
  export interface MetricCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
23
29
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MetricCard.d.ts","sourceRoot":"","sources":["../src/MetricCard.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAC1F;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,GAAG,eAAe,CA6ElE,CAAC"}
1
+ {"version":3,"file":"MetricCard.d.ts","sourceRoot":"","sources":["../src/MetricCard.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGvE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAC1F;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,GAAG,eAAe,CAkFlE,CAAC"}
@@ -2,6 +2,7 @@ import { default as React } from 'react';
2
2
  import { I18nLabel } from '@object-ui/types';
3
3
  import { MetricColorVariant } from './colorVariants.js';
4
4
  import { SchemaHostProps } from './schemaHostProps.js';
5
+ import { MetricDelta } from './utils.js';
5
6
  /**
6
7
  * Lightweight numeric formatter for metric widgets.
7
8
  *
@@ -68,9 +69,15 @@ export type { MetricColorVariant };
68
69
  * own signature — the renderer's private door, not the consumer's front door.
69
70
  * The narrower `FieldWidgetDomProps` shape (objectui#3221) is the other spelling
70
71
  * in this repo, but it exists to be bound key-by-key to a runtime whitelist
71
- * (`toDomProps`) in both directions; this component has no such whitelist, and
72
- * inventing a half of one here would declare a set the spread does not enforce.
73
- * Whether plugin widgets should get that whitelist is objectui#4425.
72
+ * (`toDomProps`) in both directions, and this declaration is the DIRECT React
73
+ * door's, which keeps no whitelist.
74
+ *
75
+ * The renderer's door does (objectui#4425, phase 2): rendered through
76
+ * `SchemaRenderer`, this component's element receives only what `toDomProps`
77
+ * passes, so an authored key it does not declare — or `name`, or an authored
78
+ * `title` — no longer reaches the `Card`. This declaration governs the direct
79
+ * door only, and what it promises still arrives there. Both doors, and how the
80
+ * component tells them apart, are `hostDomProps` in `./schemaHostProps`.
74
81
  */
75
82
  export interface MetricWidgetProps extends React.HTMLAttributes<HTMLDivElement> {
76
83
  /**
@@ -91,6 +98,16 @@ export interface MetricWidgetProps extends React.HTMLAttributes<HTMLDivElement>
91
98
  label?: string | I18nLabel;
92
99
  direction?: 'up' | 'down' | 'neutral';
93
100
  };
101
+ /**
102
+ * The `compareTo`-derived trend a host computed with `computeMetricDelta`
103
+ * (`ObjectMetricWidget`); it replaces `trend` outright when set. Host state,
104
+ * ⛔ not a node key: its `value` may be `null` — a zero baseline, which has
105
+ * no percentage and draws as a dash (objectui#12677) — while the authored
106
+ * `trend.value` stays the number the spec declares.
107
+ */
108
+ derivedTrend?: MetricDelta & {
109
+ label?: string;
110
+ };
94
111
  icon?: React.ReactNode | string;
95
112
  className?: string;
96
113
  description?: string | I18nLabel;
@@ -133,5 +150,5 @@ export interface MetricWidgetProps extends React.HTMLAttributes<HTMLDivElement>
133
150
  */
134
151
  variant?: 'card' | 'bare';
135
152
  }
136
- export declare const MetricWidget: ({ label, value, trend, icon, className, description, loading, error, colorVariant, format, currency, prefix, suffix, onClick, variant, schema: _schema, bind: _bind, events: _events, props: _propsBag, ariaLabel: _ariaLabel, ariaDescribedBy: _ariaDescribedBy, dataSource: _dataSource, ...domProps }: MetricWidgetProps & SchemaHostProps) => React.JSX.Element;
153
+ export declare const MetricWidget: ({ label, value, trend, derivedTrend, icon, className, description, loading, error, colorVariant, format, currency, prefix, suffix, onClick, variant, schema: _schema, bind: _bind, events: _events, props: _propsBag, ariaLabel: _ariaLabel, ariaDescribedBy: _ariaDescribedBy, dataSource: _dataSource, ...domProps }: MetricWidgetProps & SchemaHostProps) => React.JSX.Element;
137
154
  //# sourceMappingURL=MetricWidget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetricWidget.d.ts","sourceRoot":"","sources":["../src/MetricWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAiBvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAA8C,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA2CzD;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGxE;AA+GD;;;;;;GAMG;AACH,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E;;;;;;;;;;OAUG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;KACvC,CAAC;IACF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,sFAAsF;IACtF,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,YAAY,GAAI,0SA6B1B,iBAAiB,GAAG,eAAe,sBA6IrC,CAAC"}
1
+ {"version":3,"file":"MetricWidget.d.ts","sourceRoot":"","sources":["../src/MetricWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAiBvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAA8C,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AA2CrE;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGxE;AA+GD;;;;;;GAMG;AACH,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E;;;;;;;;;;OAUG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;KACvC,CAAC;IACF;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,WAAW,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,sFAAsF;IACtF,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,YAAY,GAAI,wTA+B1B,iBAAiB,GAAG,eAAe,sBAsJrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectMetricWidget.d.ts","sourceRoot":"","sources":["../src/ObjectMetricWidget.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAgE,MAAM,OAAO,CAAC;AAGrF,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAYlG,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,SAAS,CAAC;AA8HjB;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,uBAAuB;IACtC,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;KAClE,CAAC;IACF,wBAAwB;IACxB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,iBAAiB;IACjB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,2FAA2F;QAC3F,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;KACvC,CAAC;IACF,6BAA6B;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IAChC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yGAAyG;IACzG,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,kDAAkD;IAClD,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACpG,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,iEAAiE;IACjE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwdhE,CAAC"}
1
+ {"version":3,"file":"ObjectMetricWidget.d.ts","sourceRoot":"","sources":["../src/ObjectMetricWidget.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAgE,MAAM,OAAO,CAAC;AAGrF,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAYlG,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,SAAS,CAAC;AA8HjB;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,uBAAuB;IACtC,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;KAClE,CAAC;IACF,wBAAwB;IACxB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,iBAAiB;IACjB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,2FAA2F;QAC3F,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;KACvC,CAAC;IACF,6BAA6B;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IAChC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yGAAyG;IACzG,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,kDAAkD;IAClD,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACpG,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,iEAAiE;IACjE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA0dhE,CAAC"}
@@ -6,10 +6,11 @@ import { ObjectPivotDrillDownConfig, PivotTableSchema } from '@object-ui/types';
6
6
  * below, and intersecting it with the tombstone would collapse that member to
7
7
  * `never`: the one pivot that drills could not be authored with a drill.
8
8
  *
9
- * Key remapping, not `Omit`: `PivotTableSchema` extends `BaseSchema`, whose
10
- * `[key: string]: any` widens `keyof` to all of `string`, so
11
- * `Omit<PivotTableSchema, 'drillDown'>` would keep the index signature and drop
12
- * every declared member.
9
+ * Key remapping, not `Omit`: written while `PivotTableSchema` inherited
10
+ * `BaseSchema`'s `[key: string]: any`, which widened `keyof` to all of
11
+ * `string`, so `Omit<PivotTableSchema, 'drillDown'>` would have kept the index
12
+ * signature and dropped every declared member. objectui#8347 removed the
13
+ * signature.
13
14
  */
14
15
  type PivotTableSchemaWithoutDrillDown = {
15
16
  [K in keyof PivotTableSchema as K extends 'drillDown' ? never : K]: PivotTableSchema[K];
@@ -27,8 +28,8 @@ export interface ObjectPivotTableProps {
27
28
  * writes it and no reader was added.
28
29
  *
29
30
  * A `?: never` tombstone, not a plain deletion: `PivotTableSchema` extends
30
- * `BaseSchema`, whose `[key: string]: any` would absorb a deleted member
31
- * silently at any value. Licensed by prong 1 of the discriminator
31
+ * `BaseSchema`, whose `[key: string]: any` absorbed a deleted member
32
+ * silently at any value until objectui#8347 (a widened value still would). Licensed by prong 1 of the discriminator
32
33
  * (objectui#5941, #7526, in its amended form, `5f8190c8c`): it names the live
33
34
  * replacement, `objectName`. A JSON-authored value is refused by name at
34
35
  * parse time too, since objectui#11440: the `object-pivot` arm of
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectPivotTable.d.ts","sourceRoot":"","sources":["../src/ObjectPivotTable.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAQxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAwBrF;;;;;;;;;;GAUG;AACH,KAAK,gCAAgC,GAAG;KACrC,CAAC,IAAI,MAAM,gBAAgB,IAAI,CAAC,SAAS,WAAW,GAAG,KAAK,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;CACxF,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,gCAAgC,GAAG;QACzC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;;;;;;;;;;;;;;;;;WAkBG;QACH,YAAY,CAAC,EAAE,KAAK,CAAC;QAkCrB,MAAM,CAAC,EAAE,GAAG,CAAC;QACb;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,0BAA0B,CAAC;KACxC,CAAC;IACF,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA6T5D,CAAC"}
1
+ {"version":3,"file":"ObjectPivotTable.d.ts","sourceRoot":"","sources":["../src/ObjectPivotTable.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAQxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAwBrF;;;;;;;;;;;GAWG;AACH,KAAK,gCAAgC,GAAG;KACrC,CAAC,IAAI,MAAM,gBAAgB,IAAI,CAAC,SAAS,WAAW,GAAG,KAAK,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;CACxF,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,gCAAgC,GAAG;QACzC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;;;;;;;;;;;;;;;;;WAkBG;QACH,YAAY,CAAC,EAAE,KAAK,CAAC;QAkCrB,MAAM,CAAC,EAAE,GAAG,CAAC;QACb;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,0BAA0B,CAAC;KACxC,CAAC;IACF,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA6T5D,CAAC"}
@@ -1,5 +1,16 @@
1
1
  import { default as React } from 'react';
2
- export interface RecordDetailDrawerProps {
2
+ /**
3
+ * Props of the dashboard's read-only drill drawer.
4
+ *
5
+ * Named `DashboardRecordDetailDrawerProps`, not `RecordDetailDrawerProps`:
6
+ * `@object-ui/plugin-detail` publishes `RecordDetailDrawerProps` for its own
7
+ * record drawer, a different component. That drawer is editable, deletes, and
8
+ * resizes, and it takes an `open` flag, a `recordId` and a `dataSource`. This
9
+ * one only shows a record the table already fetched. Neither package depends
10
+ * on the other, so the two could not share one declaration, and the narrower
11
+ * drawer has the specific name (objectui#6349, batch 8).
12
+ */
13
+ export interface DashboardRecordDetailDrawerProps {
3
14
  /** The record to display, or `null` when nothing is selected. */
4
15
  record: Record<string, any> | null;
5
16
  /** Object the record belongs to (drives label translation + field meta). */
@@ -27,5 +38,5 @@ export interface RecordDetailDrawerProps {
27
38
  */
28
39
  objectTypesPending?: boolean;
29
40
  }
30
- export declare const RecordDetailDrawer: React.FC<RecordDetailDrawerProps>;
41
+ export declare const RecordDetailDrawer: React.FC<DashboardRecordDetailDrawerProps>;
31
42
  //# sourceMappingURL=RecordDetailDrawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecordDetailDrawer.d.ts","sourceRoot":"","sources":["../src/RecordDetailDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAiBvC,MAAM,WAAW,uBAAuB;IACtC,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC7B,gDAAgD;IAChD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAgBD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqGhE,CAAC"}
1
+ {"version":3,"file":"RecordDetailDrawer.d.ts","sourceRoot":"","sources":["../src/RecordDetailDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAiBvC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gCAAgC;IAC/C,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC7B,gDAAgD;IAChD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAgBD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAqGzE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ChartSchema } from '@object-ui/types';
2
+ /** A `chart` node as a dashboard surface hands it to the chart renderer. */
3
+ export interface DashboardChartRenderSchema extends ChartSchema {
4
+ /** The positional palette the dashboard paints the series with. */
5
+ colors?: string[];
6
+ /** `false` for a deterministic first paint with no entrance animation (#2756). */
7
+ isAnimationActive?: boolean;
8
+ }
9
+ //# sourceMappingURL=chartRenderHandoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartRenderHandoff.d.ts","sourceRoot":"","sources":["../src/chartRenderHandoff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,4EAA4E;AAC5E,MAAM,WAAW,0BAA2B,SAAQ,WAAW;IAC7D,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
package/dist/index.d.ts CHANGED
@@ -19,7 +19,7 @@ export type { DashboardMetricNodeSchema } from './widgetDispatch.js';
19
19
  export { RETIRED_DASHBOARD_NODE_TYPES, RetiredDashboardNodeTombstone, reportRetiredDashboardNodeType, resetRetiredDashboardNodeTypeReports, } from './retired-node-types.js';
20
20
  export declare const dashboardComponents: {
21
21
  dashboard: React.ForwardRefExoticComponent<import('./DashboardRenderer.js').DashboardRendererProps & React.RefAttributes<HTMLDivElement>>;
22
- 'plugin-dashboard:metric': ({ label, value, trend, icon, className, description, loading, error, colorVariant, format, currency, prefix, suffix, onClick, variant, schema: _schema, bind: _bind, events: _events, props: _propsBag, ariaLabel: _ariaLabel, ariaDescribedBy: _ariaDescribedBy, dataSource: _dataSource, ...domProps }: import('./MetricWidget.js').MetricWidgetProps & import('./schemaHostProps.js').SchemaHostProps) => React.JSX.Element;
22
+ 'plugin-dashboard:metric': ({ label, value, trend, derivedTrend, icon, className, description, loading, error, colorVariant, format, currency, prefix, suffix, onClick, variant, schema: _schema, bind: _bind, events: _events, props: _propsBag, ariaLabel: _ariaLabel, ariaDescribedBy: _ariaDescribedBy, dataSource: _dataSource, ...domProps }: import('./MetricWidget.js').MetricWidgetProps & import('./schemaHostProps.js').SchemaHostProps) => React.JSX.Element;
23
23
  'plugin-dashboard:metric-card': React.FC<import('./MetricCard.js').MetricCardProps & import('./schemaHostProps.js').SchemaHostProps>;
24
24
  'object-metric': React.FC<{
25
25
  [key: string]: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMpD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAC9N,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAKlE,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAK3B,YAAY,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAMlE,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,oCAAoC,GACrC,MAAM,sBAAsB,CAAC;AA2c9B,eAAO,MAAM,mBAAmB;;;;;;iBA3Ra,GAAG;;;;;iBA4IJ,GAAG;;;CAuJ9C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMpD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAC9N,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAKlE,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAK3B,YAAY,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAMlE,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,oCAAoC,GACrC,MAAM,sBAAsB,CAAC;AA0f9B,eAAO,MAAM,mBAAmB;;;;;;iBA1Ua,GAAG;;;;;iBAoKJ,GAAG;;;CA8K9C,CAAC"}