@happyvertical/smrt-svelte 0.55.23 → 0.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -2
- package/README.md +2 -2
- package/agents/overview-surfaces.md +117 -6
- package/agents/screens.md +171 -5
- package/dist/components/command-palette/CommandPaletteDialog.svelte +1 -1
- package/dist/components/overview/OverviewGrid.svelte +8 -4
- package/dist/components/overview/OverviewGrid.svelte.d.ts.map +1 -1
- package/dist/components/overview/WidgetOptionsForm.svelte +13 -2
- package/dist/components/overview/WidgetOptionsForm.svelte.d.ts.map +1 -1
- package/dist/components/overview/format.d.ts +3 -12
- package/dist/components/overview/format.d.ts.map +1 -1
- package/dist/components/overview/format.js +2 -45
- package/dist/components/overview/grid-types.d.ts +6 -11
- package/dist/components/overview/grid-types.d.ts.map +1 -1
- package/dist/components/overview/index.d.ts +5 -1
- package/dist/components/overview/index.d.ts.map +1 -1
- package/dist/components/overview/index.js +3 -0
- package/dist/components/overview/recipe-widgets.d.ts +6 -3
- package/dist/components/overview/recipe-widgets.d.ts.map +1 -1
- package/dist/components/overview/recipe-widgets.js +9 -0
- package/dist/components/overview/record.d.ts +51 -0
- package/dist/components/overview/record.d.ts.map +1 -0
- package/dist/components/overview/record.js +146 -0
- package/dist/components/overview/registry.d.ts +3 -0
- package/dist/components/overview/registry.d.ts.map +1 -1
- package/dist/components/overview/registry.js +25 -0
- package/dist/components/overview/server.d.ts +5 -1
- package/dist/components/overview/server.d.ts.map +1 -1
- package/dist/components/overview/server.js +5 -1
- package/dist/components/overview/types.d.ts +29 -0
- package/dist/components/overview/types.d.ts.map +1 -1
- package/dist/components/overview/widgets/ChartWidget.svelte +5 -265
- package/dist/components/overview/widgets/ChartWidget.svelte.d.ts +1 -1
- package/dist/components/overview/widgets/ChartWidget.svelte.d.ts.map +1 -1
- package/dist/components/overview/widgets/LineItemsWidget.svelte +144 -0
- package/dist/components/overview/widgets/LineItemsWidget.svelte.d.ts +6 -0
- package/dist/components/overview/widgets/LineItemsWidget.svelte.d.ts.map +1 -0
- package/dist/components/overview/widgets/RecordListWidget.svelte +67 -3
- package/dist/components/overview/widgets/RecordListWidget.svelte.d.ts.map +1 -1
- package/dist/components/overview/widgets/RecordTable.svelte +167 -0
- package/dist/components/overview/widgets/RecordTable.svelte.d.ts +21 -0
- package/dist/components/overview/widgets/RecordTable.svelte.d.ts.map +1 -0
- package/dist/components/overview/widgets/RelatedWidget.svelte +117 -0
- package/dist/components/overview/widgets/RelatedWidget.svelte.d.ts +6 -0
- package/dist/components/overview/widgets/RelatedWidget.svelte.d.ts.map +1 -0
- package/dist/components/overview/widgets/core.d.ts +13 -2
- package/dist/components/overview/widgets/core.d.ts.map +1 -1
- package/dist/components/overview/widgets/core.js +43 -2
- package/dist/components/overview/widgets/data.d.ts +97 -8
- package/dist/components/overview/widgets/data.d.ts.map +1 -1
- package/dist/components/overview/widgets/line-totals.d.ts +48 -0
- package/dist/components/overview/widgets/line-totals.d.ts.map +1 -0
- package/dist/components/overview/widgets/line-totals.js +91 -0
- package/dist/components/overview/widgets/record-loaders.d.ts +63 -0
- package/dist/components/overview/widgets/record-loaders.d.ts.map +1 -0
- package/dist/components/overview/widgets/record-loaders.js +150 -0
- package/dist/components/overview/widgets/record-table.d.ts +45 -0
- package/dist/components/overview/widgets/record-table.d.ts.map +1 -0
- package/dist/components/overview/widgets/record-table.js +201 -0
- package/dist/components/overview/widgets/record-widgets.d.ts +27 -0
- package/dist/components/overview/widgets/record-widgets.d.ts.map +1 -0
- package/dist/components/overview/widgets/record-widgets.js +100 -0
- package/dist/components/screens/DetailScreen.svelte +105 -6
- package/dist/components/screens/DetailScreen.svelte.d.ts.map +1 -1
- package/dist/components/screens/EditForm.svelte +39 -3
- package/dist/components/screens/EditForm.svelte.d.ts.map +1 -1
- package/dist/components/screens/RecipeScreens.svelte +18 -18
- package/dist/components/screens/RecipeScreens.svelte.d.ts.map +1 -1
- package/dist/components/screens/RecordHeader.svelte +238 -0
- package/dist/components/screens/RecordHeader.svelte.d.ts +26 -0
- package/dist/components/screens/RecordHeader.svelte.d.ts.map +1 -0
- package/dist/components/screens/RecordScreen.svelte +511 -0
- package/dist/components/screens/RecordScreen.svelte.d.ts +5 -0
- package/dist/components/screens/RecordScreen.svelte.d.ts.map +1 -0
- package/dist/components/screens/columns.d.ts +29 -0
- package/dist/components/screens/columns.d.ts.map +1 -0
- package/dist/components/screens/columns.js +115 -0
- package/dist/components/screens/fields.d.ts +12 -2
- package/dist/components/screens/fields.d.ts.map +1 -1
- package/dist/components/screens/fields.js +37 -5
- package/dist/components/screens/index.d.ts +7 -2
- package/dist/components/screens/index.d.ts.map +1 -1
- package/dist/components/screens/index.js +6 -1
- package/dist/components/screens/record-header.d.ts +51 -0
- package/dist/components/screens/record-header.d.ts.map +1 -0
- package/dist/components/screens/record-header.js +118 -0
- package/dist/components/screens/relations.d.ts +49 -0
- package/dist/components/screens/relations.d.ts.map +1 -0
- package/dist/components/screens/relations.js +98 -0
- package/dist/components/screens/roles.d.ts +56 -0
- package/dist/components/screens/roles.d.ts.map +1 -0
- package/dist/components/screens/roles.js +174 -0
- package/dist/components/screens/types.d.ts +182 -1
- package/dist/components/screens/types.d.ts.map +1 -1
- package/dist/components/screens/values.d.ts +23 -1
- package/dist/components/screens/values.d.ts.map +1 -1
- package/dist/components/screens/values.js +80 -4
- package/dist/components/workspace/admin-shell/AdminShell.svelte +4 -4
- package/dist/components/workspace/admin-shell/ShellIconButton.svelte +2 -2
- package/dist/components/workspace/admin-shell/TenantNav.svelte +8 -8
- package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte +3 -3
- package/dist/i18n/strings.overview.d.ts +25 -0
- package/dist/i18n/strings.overview.d.ts.map +1 -1
- package/dist/i18n/strings.overview.js +25 -0
- package/dist/i18n/strings.screens.d.ts +8 -0
- package/dist/i18n/strings.screens.d.ts.map +1 -1
- package/dist/i18n/strings.screens.js +8 -0
- package/package.json +16 -16
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Component, Snippet } from 'svelte';
|
|
2
2
|
import type { OverviewController } from './controller.svelte.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { OverviewWidget, WidgetComponentProps, WidgetOptionsEditorProps } from './types.js';
|
|
4
4
|
/** A model the option editor offers for `model` fields. */
|
|
5
5
|
export interface OverviewModelChoice {
|
|
6
6
|
value: string;
|
|
@@ -16,6 +16,8 @@ export interface OverviewGridProps {
|
|
|
16
16
|
* unavailable.
|
|
17
17
|
*/
|
|
18
18
|
components?: ReadonlyMap<string, Component<WidgetComponentProps>>;
|
|
19
|
+
/** Resolved custom option editors (see `resolveWidgetOptionsEditors`). */
|
|
20
|
+
optionEditors?: ReadonlyMap<string, Component<WidgetOptionsEditorProps>>;
|
|
19
21
|
/**
|
|
20
22
|
* Edit mode. Omit to follow the shell's layout editor (the pencil), so a
|
|
21
23
|
* grid inside `AppShell` edits with the rest of the page.
|
|
@@ -43,14 +45,7 @@ export interface OverviewFormIssue {
|
|
|
43
45
|
code: string;
|
|
44
46
|
}
|
|
45
47
|
/** Props of `WidgetOptionsForm`. */
|
|
46
|
-
export
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
/** Current options (an existing widget) or starting values. */
|
|
50
|
-
initial: OverviewOptions;
|
|
51
|
-
models?: readonly OverviewModelChoice[];
|
|
52
|
-
/** Saves; returns issues to show, or `null` when it worked. */
|
|
53
|
-
onsave: (options: OverviewOptions) => OverviewFormIssue[] | null;
|
|
54
|
-
oncancel: () => void;
|
|
55
|
-
}
|
|
48
|
+
export type WidgetOptionsFormProps = WidgetOptionsEditorProps & {
|
|
49
|
+
optionsEditor?: Component<WidgetOptionsEditorProps>;
|
|
50
|
+
};
|
|
56
51
|
//# sourceMappingURL=grid-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-types.d.ts","sourceRoot":"","sources":["../../../src/components/overview/grid-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"grid-types.d.ts","sourceRoot":"","sources":["../../../src/components/overview/grid-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+BAA+B;AAC/B,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,UAAU,EAAE,kBAAkB,CAAC;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAClE,0EAA0E;IAC1E,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACzE;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,sFAAsF;IACtF,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,iEAAiE;IACjE,MAAM,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACxC,0DAA0D;IAC1D,aAAa,CAAC,EAAE,SAAS,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D;AAED,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,oCAAoC;AACpC,MAAM,MAAM,sBAAsB,GAAG,wBAAwB,GAAG;IAC9D,aAAa,CAAC,EAAE,SAAS,CAAC,wBAAwB,CAAC,CAAC;CACrD,CAAC"}
|
|
@@ -15,12 +15,16 @@ export { default as OverviewAssistantUndo } from './OverviewAssistantUndo.svelte
|
|
|
15
15
|
export { default as OverviewGrid } from './OverviewGrid.svelte';
|
|
16
16
|
export { spanFromKey, spanFromPointer } from './resize.js';
|
|
17
17
|
export * from './server.js';
|
|
18
|
+
export type { WidgetOptionsEditorProps } from './types.js';
|
|
18
19
|
export { default as WidgetOptionsForm } from './WidgetOptionsForm.svelte';
|
|
19
20
|
export { default as ChartWidget } from './widgets/ChartWidget.svelte';
|
|
20
21
|
export { type CoreWidgetLoaders, createChartWidget, createMetricWidget, createNoteWidget, createRecordListWidget, createShortcutsWidget, registerCoreWidgets, } from './widgets/core.js';
|
|
21
|
-
export { type ChartWidgetData, type MetricWidgetData, type RecordListWidgetData, type ShortcutEntry, type ShortcutNavSection, type ShortcutsWidgetData, shortcutsFromNav, } from './widgets/data.js';
|
|
22
|
+
export { type ChartWidgetData, type LineItemsWidgetData, type MetricWidgetData, type RecordListColumn, type RecordListRow, type RecordListWidgetData, type RecordStatusTone, type RelatedWidgetData, type RelatedWidgetTab, type ShortcutEntry, type ShortcutNavSection, type ShortcutsWidgetData, shortcutsFromNav, } from './widgets/data.js';
|
|
23
|
+
export { default as LineItemsWidget } from './widgets/LineItemsWidget.svelte';
|
|
22
24
|
export { default as MetricWidget } from './widgets/MetricWidget.svelte';
|
|
23
25
|
export { default as NoteWidget } from './widgets/NoteWidget.svelte';
|
|
24
26
|
export { default as RecordListWidget } from './widgets/RecordListWidget.svelte';
|
|
27
|
+
export { default as RelatedWidget } from './widgets/RelatedWidget.svelte';
|
|
28
|
+
export { createLineItemsWidget, createRelatedWidget, registerRecordWidgets, } from './widgets/record-widgets.js';
|
|
25
29
|
export { default as ShortcutsWidget } from './widgets/ShortcutsWidget.svelte';
|
|
26
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/overview/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,aAAa,EACb,QAAQ,GACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EACL,KAAK,iBAAiB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/overview/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,aAAa,EACb,QAAQ,GACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EACL,KAAK,iBAAiB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -18,7 +18,10 @@ export { default as WidgetOptionsForm } from './WidgetOptionsForm.svelte';
|
|
|
18
18
|
export { default as ChartWidget } from './widgets/ChartWidget.svelte';
|
|
19
19
|
export { createChartWidget, createMetricWidget, createNoteWidget, createRecordListWidget, createShortcutsWidget, registerCoreWidgets, } from './widgets/core.js';
|
|
20
20
|
export { shortcutsFromNav, } from './widgets/data.js';
|
|
21
|
+
export { default as LineItemsWidget } from './widgets/LineItemsWidget.svelte';
|
|
21
22
|
export { default as MetricWidget } from './widgets/MetricWidget.svelte';
|
|
22
23
|
export { default as NoteWidget } from './widgets/NoteWidget.svelte';
|
|
23
24
|
export { default as RecordListWidget } from './widgets/RecordListWidget.svelte';
|
|
25
|
+
export { default as RelatedWidget } from './widgets/RelatedWidget.svelte';
|
|
26
|
+
export { createLineItemsWidget, createRelatedWidget, registerRecordWidgets, } from './widgets/record-widgets.js';
|
|
24
27
|
export { default as ShortcutsWidget } from './widgets/ShortcutsWidget.svelte';
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*
|
|
11
11
|
* Svelte-free apart from type imports, so a server load can call it.
|
|
12
12
|
*/
|
|
13
|
-
import type {
|
|
13
|
+
import type { RecipeExportRef, RecipeSurface } from '@happyvertical/smrt-types';
|
|
14
14
|
import type { WidgetRegistry } from './registry.js';
|
|
15
15
|
/**
|
|
16
16
|
* Resolves one export of a module: `resolveExport('@acme/shop/svelte',
|
|
@@ -18,8 +18,11 @@ import type { WidgetRegistry } from './registry.js';
|
|
|
18
18
|
* stub); it may reject or return `undefined` for something it does not know.
|
|
19
19
|
*/
|
|
20
20
|
export type RecipeExportResolver = (specifier: string, exportName: string) => unknown | Promise<unknown>;
|
|
21
|
-
/** The part of a recipe this helper reads;
|
|
22
|
-
export
|
|
21
|
+
/** The part of a recipe this helper reads; manifests and readonly recipe statics fit. */
|
|
22
|
+
export interface RecipeWidgetSource {
|
|
23
|
+
id: string;
|
|
24
|
+
surfaces?: readonly RecipeSurface[];
|
|
25
|
+
}
|
|
23
26
|
export interface RegisterRecipeWidgetsOptions {
|
|
24
27
|
/** Replace a type that is already registered instead of skipping it. */
|
|
25
28
|
replace?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe-widgets.d.ts","sourceRoot":"","sources":["../../../src/components/overview/recipe-widgets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"recipe-widgets.d.ts","sourceRoot":"","sources":["../../../src/components/overview/recipe-widgets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAWpD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,KACf,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,4BAA4B;IAC3C,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CACzC;AAED,MAAM,MAAM,sBAAsB;AAChC,wEAAwE;AACtE,gBAAgB;AAClB,2DAA2D;GACzD,SAAS;AACX,4EAA4E;GAC1E,YAAY,CAAC;AAEjB,yDAAyD;AACzD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,sBAAsB,CAAC;IAC/B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,wDAAwD;IACxD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,GAAG,MAAM,GAC5B;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUlD;AAkGD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACrC,aAAa,EAAE,oBAAoB,EACnC,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,wBAAwB,CAAC,CAyDnC"}
|
|
@@ -39,6 +39,9 @@ function isModuleWithDefault(value) {
|
|
|
39
39
|
}
|
|
40
40
|
function toDefinition(surface, resolveExport, migrate) {
|
|
41
41
|
const component = once(() => resolveRef(surface.export, resolveExport));
|
|
42
|
+
const optionsEditor = surface.optionsEditor
|
|
43
|
+
? once(() => resolveRef(surface.optionsEditor, resolveExport))
|
|
44
|
+
: undefined;
|
|
42
45
|
const loadFn = surface.data?.load
|
|
43
46
|
? once(() => resolveRef(surface.data?.load, resolveExport))
|
|
44
47
|
: undefined;
|
|
@@ -67,6 +70,12 @@ function toDefinition(surface, resolveExport, migrate) {
|
|
|
67
70
|
def.maxSpan = surface.maxSpan;
|
|
68
71
|
if (migrate)
|
|
69
72
|
def.migrate = migrate;
|
|
73
|
+
if (optionsEditor) {
|
|
74
|
+
def.loadOptionsEditor = async () => {
|
|
75
|
+
const value = await optionsEditor();
|
|
76
|
+
return (isModuleWithDefault(value) ? value.default : value);
|
|
77
|
+
};
|
|
78
|
+
}
|
|
70
79
|
if (loadFn) {
|
|
71
80
|
const load = async (options, ctx) => {
|
|
72
81
|
const fn = await loadFn();
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The default overview of a record view (#3718 record page), persisted per
|
|
3
|
+
* model kind under `detail:<model>`: a summary strip of `metric` tiles
|
|
4
|
+
* (a count per related relation, and the sum of its money column where it
|
|
5
|
+
* has one), then the `line-items` table and totals when the model has an
|
|
6
|
+
* `items` relation, then one tabbed `related` widget over the `children`
|
|
7
|
+
* relations. Every piece is an ordinary widget, so a person can remove,
|
|
8
|
+
* move or replace it from the layout editor; `related: 'panels'` keeps the
|
|
9
|
+
* earlier one `records` panel per relation.
|
|
10
|
+
*
|
|
11
|
+
* Svelte-free. The widgets use the parent-filter vocabulary: `filter:
|
|
12
|
+
* 'parent'` plus the FK on the child (`field` for a count or a records
|
|
13
|
+
* panel; `parentField` when `field` is the measured one) confine the
|
|
14
|
+
* host's query to rows that point at `ctx.record.id`. `related` and
|
|
15
|
+
* `line-items` load through the host's `records` loader
|
|
16
|
+
* (`registerRecordWidgets`), so the shell's own loaders need no data access.
|
|
17
|
+
*/
|
|
18
|
+
import type { ScreenRelation } from '../screens/relations.js';
|
|
19
|
+
import type { ScreenCollectionDefinition } from '../screens/types.js';
|
|
20
|
+
import type { OverviewDefinition } from './types.js';
|
|
21
|
+
export interface RecordOverviewOptions {
|
|
22
|
+
/** Overview id; defaults to `recordOverviewId(definition.objectRef)`. */
|
|
23
|
+
id?: string;
|
|
24
|
+
/** The summary strip of `metric` tiles (default on). */
|
|
25
|
+
metrics?: boolean;
|
|
26
|
+
/** Most tiles in the strip (default {@link RECORD_OVERVIEW_MAX_METRICS}). */
|
|
27
|
+
maxMetrics?: number;
|
|
28
|
+
/**
|
|
29
|
+
* `tabs` (default): one `related` widget with a tab per relation.
|
|
30
|
+
* `panels`: one `records` panel per relation, with role-chosen columns.
|
|
31
|
+
*/
|
|
32
|
+
related?: 'tabs' | 'panels';
|
|
33
|
+
}
|
|
34
|
+
/** Widget types a record overview offers by default. */
|
|
35
|
+
export declare const RECORD_OVERVIEW_ALLOWED: readonly string[];
|
|
36
|
+
/** Tiles in the default summary strip. */
|
|
37
|
+
export declare const RECORD_OVERVIEW_MAX_METRICS = 4;
|
|
38
|
+
/** Rows a default `records` panel shows. */
|
|
39
|
+
export declare const RECORD_OVERVIEW_LIMIT = 5;
|
|
40
|
+
/**
|
|
41
|
+
* `detail:<model>` as an overview id. A qualified model id
|
|
42
|
+
* (`@acme/shop:Customer`) carries characters an overview id cannot
|
|
43
|
+
* (`OVERVIEW_PAGE_ID_PATTERN`), so `@`, `/` and `:` fold to dots:
|
|
44
|
+
* `detail:acme.shop.Customer`. Stable per model kind.
|
|
45
|
+
*/
|
|
46
|
+
export declare function recordOverviewId(model: string): string;
|
|
47
|
+
/** Span of a default `records` panel: two side by side on a wide page. */
|
|
48
|
+
export declare const RECORD_OVERVIEW_PANEL_SPAN = 2;
|
|
49
|
+
/** The default record overview of `definition` for its relations. */
|
|
50
|
+
export declare function recordOverview(definition: ScreenCollectionDefinition, relations: readonly ScreenRelation[], options?: RecordOverviewOptions): OverviewDefinition;
|
|
51
|
+
//# sourceMappingURL=record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/components/overview/record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,YAAY,CAAC;AAGrE,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC7B;AAED,wDAAwD;AACxD,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAOpD,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,4CAA4C;AAC5C,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOtD;AAwBD,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,qEAAqE;AACrE,wBAAgB,cAAc,CAC5B,UAAU,EAAE,0BAA0B,EACtC,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,OAAO,GAAE,qBAA0B,GAClC,kBAAkB,CAgGpB"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { relationKey } from '../screens/relations.js';
|
|
2
|
+
import { defineOverview } from './model.js';
|
|
3
|
+
import { formatColumnsOption } from './widgets/record-table.js';
|
|
4
|
+
/** Widget types a record overview offers by default. */
|
|
5
|
+
export const RECORD_OVERVIEW_ALLOWED = [
|
|
6
|
+
'related',
|
|
7
|
+
'line-items',
|
|
8
|
+
'records',
|
|
9
|
+
'metric',
|
|
10
|
+
'chart',
|
|
11
|
+
'note',
|
|
12
|
+
];
|
|
13
|
+
/** Tiles in the default summary strip. */
|
|
14
|
+
export const RECORD_OVERVIEW_MAX_METRICS = 4;
|
|
15
|
+
/** Rows a default `records` panel shows. */
|
|
16
|
+
export const RECORD_OVERVIEW_LIMIT = 5;
|
|
17
|
+
/**
|
|
18
|
+
* `detail:<model>` as an overview id. A qualified model id
|
|
19
|
+
* (`@acme/shop:Customer`) carries characters an overview id cannot
|
|
20
|
+
* (`OVERVIEW_PAGE_ID_PATTERN`), so `@`, `/` and `:` fold to dots:
|
|
21
|
+
* `detail:acme.shop.Customer`. Stable per model kind.
|
|
22
|
+
*/
|
|
23
|
+
export function recordOverviewId(model) {
|
|
24
|
+
const folded = model
|
|
25
|
+
.replace(/^@/, '')
|
|
26
|
+
.replace(/[/:]+/g, '.')
|
|
27
|
+
.replace(/[^A-Za-z0-9_.-]/g, '-')
|
|
28
|
+
.replace(/^[^A-Za-z0-9]+/, '');
|
|
29
|
+
return `detail:${folded || 'record'}`;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A default widget's id, from its relation rather than its position:
|
|
33
|
+
* `<prefix>-<Class>-<field>` (`records-Order-customerId`). The same relation
|
|
34
|
+
* keeps its id whichever other relations a host shows (a host may narrow the
|
|
35
|
+
* defaults to the models one app has), and never collides with the `w<n>`
|
|
36
|
+
* ids `nextWidgetId` gives added widgets, so a stored override stays valid
|
|
37
|
+
* against the full and the narrowed definition alike.
|
|
38
|
+
*/
|
|
39
|
+
function relationWidgetId(prefix, relation, taken) {
|
|
40
|
+
const base = `${prefix}-${relationKey(relation)}`
|
|
41
|
+
.replace(/[^A-Za-z0-9_-]+/g, '-')
|
|
42
|
+
.slice(0, 60);
|
|
43
|
+
let id = base;
|
|
44
|
+
for (let n = 2; taken.has(id); n += 1)
|
|
45
|
+
id = `${base}-${n}`;
|
|
46
|
+
taken.add(id);
|
|
47
|
+
return id;
|
|
48
|
+
}
|
|
49
|
+
/** Span of a default `records` panel: two side by side on a wide page. */
|
|
50
|
+
export const RECORD_OVERVIEW_PANEL_SPAN = 2;
|
|
51
|
+
/** The default record overview of `definition` for its relations. */
|
|
52
|
+
export function recordOverview(definition, relations, options = {}) {
|
|
53
|
+
const children = relations.filter((r) => r.kind === 'children');
|
|
54
|
+
const items = relations.filter((r) => r.kind === 'items');
|
|
55
|
+
const defaults = [];
|
|
56
|
+
const models = [];
|
|
57
|
+
const taken = new Set();
|
|
58
|
+
for (const relation of [...items, ...children]) {
|
|
59
|
+
if (!models.includes(relation.model))
|
|
60
|
+
models.push(relation.model);
|
|
61
|
+
}
|
|
62
|
+
if (options.metrics !== false) {
|
|
63
|
+
const max = options.maxMetrics ?? RECORD_OVERVIEW_MAX_METRICS;
|
|
64
|
+
const strip = [];
|
|
65
|
+
for (const relation of children) {
|
|
66
|
+
if (strip.length >= max)
|
|
67
|
+
break;
|
|
68
|
+
strip.push({
|
|
69
|
+
id: relationWidgetId('count', relation, taken),
|
|
70
|
+
type: 'metric',
|
|
71
|
+
span: 1,
|
|
72
|
+
options: {
|
|
73
|
+
title: relation.label,
|
|
74
|
+
model: relation.model,
|
|
75
|
+
measure: 'count',
|
|
76
|
+
field: relation.field,
|
|
77
|
+
filter: 'parent',
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
const money = (relation.columns ?? []).find((c) => c.role === 'money');
|
|
81
|
+
if (!money || strip.length >= max)
|
|
82
|
+
continue;
|
|
83
|
+
strip.push({
|
|
84
|
+
id: relationWidgetId('sum', relation, taken),
|
|
85
|
+
type: 'metric',
|
|
86
|
+
span: 1,
|
|
87
|
+
options: {
|
|
88
|
+
title: `${relation.label} · ${money.label}`,
|
|
89
|
+
model: relation.model,
|
|
90
|
+
measure: 'sum',
|
|
91
|
+
field: money.key,
|
|
92
|
+
filter: 'parent',
|
|
93
|
+
parentField: relation.field,
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
defaults.push(...strip);
|
|
98
|
+
}
|
|
99
|
+
const lines = items[0];
|
|
100
|
+
if (lines) {
|
|
101
|
+
defaults.push({
|
|
102
|
+
id: relationWidgetId('items', lines, taken),
|
|
103
|
+
type: 'line-items',
|
|
104
|
+
span: 4,
|
|
105
|
+
options: { title: lines.label, relation: relationKey(lines) },
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
if (options.related === 'panels') {
|
|
109
|
+
for (const relation of children) {
|
|
110
|
+
defaults.push({
|
|
111
|
+
id: relationWidgetId('records', relation, taken),
|
|
112
|
+
type: 'records',
|
|
113
|
+
span: RECORD_OVERVIEW_PANEL_SPAN,
|
|
114
|
+
options: {
|
|
115
|
+
title: relation.label,
|
|
116
|
+
model: relation.model,
|
|
117
|
+
field: relation.field,
|
|
118
|
+
filter: 'parent',
|
|
119
|
+
sort: 'createdAt',
|
|
120
|
+
direction: 'desc',
|
|
121
|
+
limit: RECORD_OVERVIEW_LIMIT,
|
|
122
|
+
...((relation.columns ?? []).length > 0
|
|
123
|
+
? {
|
|
124
|
+
columns: formatColumnsOption((relation.columns ?? []).map((c) => c.key)),
|
|
125
|
+
}
|
|
126
|
+
: {}),
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else if (children.length > 0) {
|
|
132
|
+
taken.add('related');
|
|
133
|
+
defaults.push({
|
|
134
|
+
id: 'related',
|
|
135
|
+
type: 'related',
|
|
136
|
+
span: 4,
|
|
137
|
+
options: { limit: RECORD_OVERVIEW_LIMIT },
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
return defineOverview({
|
|
141
|
+
id: options.id ?? recordOverviewId(definition.objectRef),
|
|
142
|
+
allowed: RECORD_OVERVIEW_ALLOWED,
|
|
143
|
+
models: models.length > 0 ? models : undefined,
|
|
144
|
+
defaults,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
@@ -34,6 +34,7 @@ export declare function registerWidget<Data>(def: WidgetDefinition<Data>, option
|
|
|
34
34
|
}): () => void;
|
|
35
35
|
/** A resolved component for each widget type that has one. */
|
|
36
36
|
export type WidgetComponents = Map<string, Component<WidgetComponentProps>>;
|
|
37
|
+
export type WidgetOptionsEditors = Map<string, Component<import('./types.js').WidgetOptionsEditorProps>>;
|
|
37
38
|
/**
|
|
38
39
|
* Resolve the components for `types`: eager components as is, lazy ones by
|
|
39
40
|
* awaiting `loadComponent`. Call it in a universal page load (or before
|
|
@@ -42,4 +43,6 @@ export type WidgetComponents = Map<string, Component<WidgetComponentProps>>;
|
|
|
42
43
|
* renders as unavailable.
|
|
43
44
|
*/
|
|
44
45
|
export declare function resolveWidgetComponents(types: Iterable<string>, registry?: WidgetRegistry): Promise<WidgetComponents>;
|
|
46
|
+
/** Resolve custom recipe option editors only in a browser or universal UI host. */
|
|
47
|
+
export declare function resolveWidgetOptionsEditors(types: Iterable<string>, registry?: WidgetRegistry): Promise<WidgetOptionsEditors>;
|
|
45
48
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/components/overview/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAIL,KAAK,gBAAgB,EAGrB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAyCpB,wCAAwC;AACxC,qBAAa,cAAc;;IAGzB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EACX,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAC3B,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO,GAClC,MAAM,IAAI;IAab,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI/C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,8CAA8C;IAC9C,KAAK,IAAI,MAAM,EAAE;IAIjB,IAAI,IAAI,gBAAgB,EAAE;CAG3B;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AAED,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,EAAE,cAAuC,CAAC;AAE5E,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,IAAI,EACjC,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAC3B,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,MAAM,IAAI,CAEZ;AAED,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/components/overview/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAIL,KAAK,gBAAgB,EAGrB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAyCpB,wCAAwC;AACxC,qBAAa,cAAc;;IAGzB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EACX,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAC3B,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO,GAClC,MAAM,IAAI;IAab,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI/C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,8CAA8C;IAC9C,KAAK,IAAI,MAAM,EAAE;IAIjB,IAAI,IAAI,gBAAgB,EAAE;CAG3B;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AAED,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,EAAE,cAAuC,CAAC;AAE5E,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,IAAI,EACjC,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAC3B,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,MAAM,IAAI,CAEZ;AAED,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,GAAG,CACpC,MAAM,EACN,SAAS,CAAC,OAAO,YAAY,EAAE,wBAAwB,CAAC,CACzD,CAAC;AAQF;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,QAAQ,GAAE,cAAsC,GAC/C,OAAO,CAAC,gBAAgB,CAAC,CAyB3B;AAED,mFAAmF;AACnF,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,QAAQ,GAAE,cAAsC,GAC/C,OAAO,CAAC,oBAAoB,CAAC,CA2B/B"}
|
|
@@ -110,3 +110,28 @@ export async function resolveWidgetComponents(types, registry = defaultWidgetReg
|
|
|
110
110
|
}));
|
|
111
111
|
return out;
|
|
112
112
|
}
|
|
113
|
+
/** Resolve custom recipe option editors only in a browser or universal UI host. */
|
|
114
|
+
export async function resolveWidgetOptionsEditors(types, registry = defaultWidgetRegistry) {
|
|
115
|
+
const out = new Map();
|
|
116
|
+
await Promise.all([...new Set(types)].map(async (type) => {
|
|
117
|
+
const def = registry.get(type);
|
|
118
|
+
if (!def)
|
|
119
|
+
return;
|
|
120
|
+
if (def.optionsEditor) {
|
|
121
|
+
out.set(type, def.optionsEditor);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
if (!def.loadOptionsEditor)
|
|
125
|
+
return;
|
|
126
|
+
try {
|
|
127
|
+
const loaded = await def.loadOptionsEditor();
|
|
128
|
+
out.set(type, (typeof loaded === 'object' && loaded !== null && 'default' in loaded
|
|
129
|
+
? loaded.default
|
|
130
|
+
: loaded));
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
// The descriptor-driven editor remains available as a safe fallback.
|
|
134
|
+
}
|
|
135
|
+
}));
|
|
136
|
+
return out;
|
|
137
|
+
}
|
|
@@ -10,7 +10,11 @@ export { type LoadOverviewOptions, loadOverview, type WidgetLoadInput, } from '.
|
|
|
10
10
|
export { applyOverviewOverride, checkOverviewOverride, defineOverview, diffOverview, isEmptyOverride, nextWidgetId, type OverviewOverrideCheck, parseOverviewDocument, parseOverviewOverride, type ResolvedOverview, resolveOverview, type SanitizeOptions, sanitizeOverview, } from './model.js';
|
|
11
11
|
export { allowedWidgetTypes, type DescribeOverviewInput, describeOverview, OVERVIEW_MAX_OPERATIONS, OVERVIEW_OPERATION_KINDS, OVERVIEW_OPERATION_SCHEMA, type OverviewAddOperation, type OverviewConfigureOperation, type OverviewDescription, type OverviewMoveOperation, type OverviewOperation, type OverviewOperationIssue, type OverviewOperationIssueCode, type OverviewOperationKind, type OverviewOperationResult, type OverviewOptionDescription, type OverviewPlan, type OverviewRemoveOperation, type OverviewResizeOperation, type OverviewWidgetTypeDescription, type PlanOverviewOperationsInput, planOverviewOperations, } from './operations.js';
|
|
12
12
|
export { parseRecipeExportRef, type RecipeExportResolver, type RecipeWidgetRegistration, type RecipeWidgetSkip, type RecipeWidgetSkipReason, type RecipeWidgetSource, type RegisterRecipeWidgetsOptions, registerRecipeWidgets, } from './recipe-widgets.js';
|
|
13
|
-
export {
|
|
13
|
+
export { RECORD_OVERVIEW_ALLOWED, RECORD_OVERVIEW_LIMIT, RECORD_OVERVIEW_MAX_METRICS, RECORD_OVERVIEW_PANEL_SPAN, type RecordOverviewOptions, recordOverview, recordOverviewId, } from './record.js';
|
|
14
|
+
export { createWidgetRegistry, defaultWidgetRegistry, registerWidget, resolveWidgetComponents, resolveWidgetOptionsEditors, type WidgetComponents, type WidgetOptionsEditors, WidgetRegistry, } from './registry.js';
|
|
14
15
|
export { assertWidgetOptionFields, defaultWidgetOptions, IDENTIFIER_PATTERN, MODEL_PATTERN, optionsEqual, validateWidgetOptions, } from './schema.js';
|
|
15
16
|
export * from './types.js';
|
|
17
|
+
export { type LineItemsTotals, type LineTotalKey, type LineTotalLine, type LineTotalsMismatch, type LineTotalsResult, lineItemTotals, sumLineAmounts, } from './widgets/line-totals.js';
|
|
18
|
+
export { createLineItemsLoader, createRelatedLoader, LINE_ITEMS_LIMIT, lineItemsOptions, lineItemsRelation, RELATED_WIDGET_LIMIT, RELATED_WIDGET_MAX_TABS, type RecordWidgetsOptions, relatedRelations, relatedTabOptions, } from './widgets/record-loaders.js';
|
|
19
|
+
export { DEFAULT_STATUS_TONES, formatColumnsOption, formatRecordCell, lineItemColumns, parseColumnsOption, RECORD_TABLE_MAX_COLUMNS, RECORD_TABLE_MAX_ROWS, type RecordCellContext, relatedColumns, statusLabel, statusTone, } from './widgets/record-table.js';
|
|
16
20
|
//# sourceMappingURL=server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/components/overview/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,8BAA8B,EAC9B,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,mBAAmB,EACxB,YAAY,EACZ,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,eAAe,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/components/overview/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,8BAA8B,EAC9B,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,mBAAmB,EACxB,YAAY,EACZ,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,eAAe,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,cAAc,EACd,WAAW,EACX,UAAU,GACX,MAAM,2BAA2B,CAAC"}
|
|
@@ -10,6 +10,10 @@ export { loadOverview, } from './load.js';
|
|
|
10
10
|
export { applyOverviewOverride, checkOverviewOverride, defineOverview, diffOverview, isEmptyOverride, nextWidgetId, parseOverviewDocument, parseOverviewOverride, resolveOverview, sanitizeOverview, } from './model.js';
|
|
11
11
|
export { allowedWidgetTypes, describeOverview, OVERVIEW_MAX_OPERATIONS, OVERVIEW_OPERATION_KINDS, OVERVIEW_OPERATION_SCHEMA, planOverviewOperations, } from './operations.js';
|
|
12
12
|
export { parseRecipeExportRef, registerRecipeWidgets, } from './recipe-widgets.js';
|
|
13
|
-
export {
|
|
13
|
+
export { RECORD_OVERVIEW_ALLOWED, RECORD_OVERVIEW_LIMIT, RECORD_OVERVIEW_MAX_METRICS, RECORD_OVERVIEW_PANEL_SPAN, recordOverview, recordOverviewId, } from './record.js';
|
|
14
|
+
export { createWidgetRegistry, defaultWidgetRegistry, registerWidget, resolveWidgetComponents, resolveWidgetOptionsEditors, WidgetRegistry, } from './registry.js';
|
|
14
15
|
export { assertWidgetOptionFields, defaultWidgetOptions, IDENTIFIER_PATTERN, MODEL_PATTERN, optionsEqual, validateWidgetOptions, } from './schema.js';
|
|
15
16
|
export * from './types.js';
|
|
17
|
+
export { lineItemTotals, sumLineAmounts, } from './widgets/line-totals.js';
|
|
18
|
+
export { createLineItemsLoader, createRelatedLoader, LINE_ITEMS_LIMIT, lineItemsOptions, lineItemsRelation, RELATED_WIDGET_LIMIT, RELATED_WIDGET_MAX_TABS, relatedRelations, relatedTabOptions, } from './widgets/record-loaders.js';
|
|
19
|
+
export { DEFAULT_STATUS_TONES, formatColumnsOption, formatRecordCell, lineItemColumns, parseColumnsOption, RECORD_TABLE_MAX_COLUMNS, RECORD_TABLE_MAX_ROWS, relatedColumns, statusLabel, statusTone, } from './widgets/record-table.js';
|
|
@@ -158,6 +158,12 @@ export interface WidgetComponentProps<Data = unknown> {
|
|
|
158
158
|
*/
|
|
159
159
|
presentation?: 'card' | 'plain';
|
|
160
160
|
}
|
|
161
|
+
/** The record an overview is rendered on (a record view, `RecordScreen`). */
|
|
162
|
+
export interface WidgetRecordContext {
|
|
163
|
+
/** Qualified model id (`objectRef`) of the record. */
|
|
164
|
+
model: string;
|
|
165
|
+
id: string;
|
|
166
|
+
}
|
|
161
167
|
/**
|
|
162
168
|
* Context a widget `load` runs with. The host builds it inside the page's
|
|
163
169
|
* server load from the request principal: the user's permissions, the
|
|
@@ -170,6 +176,12 @@ export interface WidgetLoadContext {
|
|
|
170
176
|
/** Aborts when the load times out or the request ends. */
|
|
171
177
|
signal?: AbortSignal;
|
|
172
178
|
locale?: string;
|
|
179
|
+
/**
|
|
180
|
+
* The record a record overview is rendered on. A `records` / `metric`
|
|
181
|
+
* loader honours `options.filter === 'parent'` by confining its query to
|
|
182
|
+
* rows whose `options.field` equals `record.id`.
|
|
183
|
+
*/
|
|
184
|
+
record?: WidgetRecordContext;
|
|
173
185
|
[capability: string]: unknown;
|
|
174
186
|
}
|
|
175
187
|
/**
|
|
@@ -184,6 +196,17 @@ export type WidgetMigrate = (options: Record<string, unknown>, fromVersion: numb
|
|
|
184
196
|
export type WidgetComponentModule<Data> = Component<WidgetComponentProps<Data>> | {
|
|
185
197
|
default: Component<WidgetComponentProps<Data>>;
|
|
186
198
|
};
|
|
199
|
+
/** Props for a custom widget option editor. Saving still passes through the registry schema. */
|
|
200
|
+
export interface WidgetOptionsEditorProps {
|
|
201
|
+
definition: RegisteredWidget;
|
|
202
|
+
initial: OverviewOptions;
|
|
203
|
+
models?: readonly {
|
|
204
|
+
value: string;
|
|
205
|
+
label: string;
|
|
206
|
+
}[];
|
|
207
|
+
onsave: (options: OverviewOptions) => WidgetOptionIssue[] | null;
|
|
208
|
+
oncancel: () => void;
|
|
209
|
+
}
|
|
187
210
|
/** What `registerWidget` takes. */
|
|
188
211
|
export interface WidgetDefinition<Data = unknown> {
|
|
189
212
|
/** Lowercase kebab id, e.g. `metric`. */
|
|
@@ -205,6 +228,12 @@ export interface WidgetDefinition<Data = unknown> {
|
|
|
205
228
|
* resolves these before rendering with `resolveWidgetComponents`.
|
|
206
229
|
*/
|
|
207
230
|
loadComponent?: () => Promise<WidgetComponentModule<Data>>;
|
|
231
|
+
/** Custom editor for dependent or remotely loaded option choices. */
|
|
232
|
+
optionsEditor?: Component<WidgetOptionsEditorProps>;
|
|
233
|
+
/** Resolves a custom editor lazily from a recipe export. */
|
|
234
|
+
loadOptionsEditor?: () => Promise<Component<WidgetOptionsEditorProps> | {
|
|
235
|
+
default: Component<WidgetOptionsEditorProps>;
|
|
236
|
+
}>;
|
|
208
237
|
/** Server loader; absent for widgets that render from options alone. */
|
|
209
238
|
load?: WidgetLoad<Data>;
|
|
210
239
|
/** Overview ids this widget may appear in; omit for any. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/overview/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC;;;;;GAKG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,8CAA8C;AAC9C,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,2CAA2C;AAC3C,eAAO,MAAM,mBAAmB,QAAqC,CAAC;AACtE,uEAAuE;AACvE,eAAO,MAAM,wBAAwB,QAAuC,CAAC;AAC7E,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,QAA2B,CAAC;AAE5D,8EAA8E;AAC9E,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AACnE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gEAAgE;IAChE,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC/C;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,sEAAsE;IACtE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,UAAU,GACV,cAAc,GACd,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,iBAAiB,CAAC;IACxB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAKD,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,UAAU,GACV,YAAY,GACZ,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,GACT,MAAM,CAAC;AAEX,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,gBAAgB,CAAC;IACvB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACzC;AAED,MAAM,MAAM,qBAAqB,GAC7B,UAAU,GACV,cAAc,GACd,UAAU,GACV,cAAc,GACd,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,gBAAgB,CAAC;AAErB,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GACtC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC;AAE/C,0DAA0D;AAC1D,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAKD,gDAAgD;AAChD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB,CAAC,IAAI,GAAG,OAAO;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,aAAa,CAAC,EAAE,SAAS,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,CACpB,IAAI,GAAG,OAAO,EACd,GAAG,SAAS,iBAAiB,GAAG,iBAAiB,IAC/C,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjE,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,WAAW,EAAE,MAAM,KAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;AAEpC,yDAAyD;AACzD,MAAM,MAAM,qBAAqB,CAAC,IAAI,IAClC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,GACrC;IAAE,OAAO,EAAE,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAA;CAAE,CAAC;AAEvD,mCAAmC;AACnC,MAAM,WAAW,gBAAgB,CAAC,IAAI,GAAG,OAAO;IAC9C,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACtC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,wEAAwE;IACxE,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,mDAAmD;IACnD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB,CAAC,IAAI,GAAG,OAAO,CAC9C,SAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,SAAS,GAAG,cAAc,CAAC;AAE/E,wDAAwD;AACxD,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,qBAAqB,CAAA;KAAE,CAAC;CACzC;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/overview/types.ts"],"names":[],"mappings":"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"}
|