@shamar/core 0.2.1 → 0.3.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 (52) hide show
  1. package/README.md +32 -0
  2. package/dist/dashboard-page.d.ts +20 -0
  3. package/dist/dashboard-page.d.ts.map +1 -0
  4. package/dist/dashboard-page.js +31 -0
  5. package/dist/dashboard-page.js.map +1 -0
  6. package/dist/dashboard-widgets.d.ts +41 -0
  7. package/dist/dashboard-widgets.d.ts.map +1 -0
  8. package/dist/dashboard-widgets.js +2 -0
  9. package/dist/dashboard-widgets.js.map +1 -0
  10. package/dist/index.d.ts +10 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +10 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/numbers.d.ts +10 -0
  15. package/dist/numbers.d.ts.map +1 -0
  16. package/dist/numbers.js +14 -0
  17. package/dist/numbers.js.map +1 -0
  18. package/dist/panel.d.ts +7 -0
  19. package/dist/panel.d.ts.map +1 -1
  20. package/dist/panel.js +9 -0
  21. package/dist/panel.js.map +1 -1
  22. package/dist/types.d.ts +2 -0
  23. package/dist/types.d.ts.map +1 -1
  24. package/dist/widget.d.ts +27 -0
  25. package/dist/widget.d.ts.map +1 -0
  26. package/dist/widget.js +29 -0
  27. package/dist/widget.js.map +1 -0
  28. package/dist/widgets/card-widget.d.ts +17 -0
  29. package/dist/widgets/card-widget.d.ts.map +1 -0
  30. package/dist/widgets/card-widget.js +19 -0
  31. package/dist/widgets/card-widget.js.map +1 -0
  32. package/dist/widgets/chart-widget.d.ts +23 -0
  33. package/dist/widgets/chart-widget.d.ts.map +1 -0
  34. package/dist/widgets/chart-widget.js +25 -0
  35. package/dist/widgets/chart-widget.js.map +1 -0
  36. package/dist/widgets/list-widget.d.ts +22 -0
  37. package/dist/widgets/list-widget.d.ts.map +1 -0
  38. package/dist/widgets/list-widget.js +24 -0
  39. package/dist/widgets/list-widget.js.map +1 -0
  40. package/dist/widgets/navigation-cards-widget.d.ts +12 -0
  41. package/dist/widgets/navigation-cards-widget.d.ts.map +1 -0
  42. package/dist/widgets/navigation-cards-widget.js +19 -0
  43. package/dist/widgets/navigation-cards-widget.js.map +1 -0
  44. package/dist/widgets/stat.d.ts +27 -0
  45. package/dist/widgets/stat.d.ts.map +1 -0
  46. package/dist/widgets/stat.js +37 -0
  47. package/dist/widgets/stat.js.map +1 -0
  48. package/dist/widgets/stats-overview-widget.d.ts +10 -0
  49. package/dist/widgets/stats-overview-widget.d.ts.map +1 -0
  50. package/dist/widgets/stats-overview-widget.js +19 -0
  51. package/dist/widgets/stats-overview-widget.js.map +1 -0
  52. package/package.json +1 -1
package/README.md CHANGED
@@ -144,6 +144,38 @@ export default class OpsDashboardPage extends Page {
144
144
 
145
145
  `SettingsPage` / `FormPage` / `ListPage` remain shortcuts for a settings form, generic form, or table. List row clicks open `GET /:slug/:id` using `static infolist()` or columns.
146
146
 
147
+ ## Dashboard
148
+
149
+ Panel home (`GET /`) is a {@link DashboardPage} with Filament-style **widget classes**:
150
+
151
+ ```ts
152
+ import {
153
+ DashboardPage,
154
+ StatsOverviewWidget,
155
+ ListWidget,
156
+ ChartWidget,
157
+ NavigationCardsWidget,
158
+ Stat,
159
+ } from '@shamar/core'
160
+
161
+ class ProductStats extends StatsOverviewWidget {
162
+ static override stats() {
163
+ return [Stat.make('Products', 42).description('In catalog').chart([4, 8, 6, 10])]
164
+ }
165
+ }
166
+
167
+ class AdminDashboard extends DashboardPage {
168
+ static override widgets() {
169
+ return [ProductStats, ...super.widgets()] // super.widgets() = nav cards
170
+ }
171
+ }
172
+
173
+ // config/shamar.ts
174
+ panel('admin').dashboardPage(AdminDashboard)
175
+ ```
176
+
177
+ Widget kinds: `StatsOverviewWidget`, `CardWidget`, `ListWidget`, `ChartWidget` (Apex default; `.library('chartjs')`), and built-in `NavigationCardsWidget`.
178
+
147
179
  ## Layout width
148
180
 
149
181
  Default for form and detail pages: `screen-xl` (1280px) — fills the column up to that cap.
@@ -0,0 +1,20 @@
1
+ import { Page } from './page.js';
2
+ import type { WidgetClass } from './widget.js';
3
+ /** Reserved slug — dashboard pages are not registered as `/:slug` routes. */
4
+ export declare const DASHBOARD_PAGE_SLUG = "__dashboard__";
5
+ /**
6
+ * Panel home dashboard. Override {@link widgets} and register via
7
+ * `panel('admin').dashboardPage(MyDashboard)`.
8
+ */
9
+ export declare abstract class DashboardPage extends Page {
10
+ static slug: string;
11
+ static label: string;
12
+ static navigationHidden: boolean;
13
+ /** Responsive grid columns for widget layout (1–4). */
14
+ static columns: number;
15
+ static widgets(): WidgetClass[];
16
+ }
17
+ export type DashboardPageClass = typeof DashboardPage;
18
+ /** True when `value` is DashboardPage or a subclass. */
19
+ export declare function isDashboardPage(value: unknown): value is DashboardPageClass;
20
+ //# sourceMappingURL=dashboard-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-page.d.ts","sourceRoot":"","sources":["../src/dashboard-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD;;;GAGG;AACH,8BAAsB,aAAc,SAAQ,IAAI;IAC9C,OAAgB,IAAI,SAAuB;IAC3C,OAAgB,KAAK,SAAe;IACpC,OAAgB,gBAAgB,UAAQ;IAExC,uDAAuD;IACvD,MAAM,CAAC,OAAO,SAAK;IAEnB,MAAM,CAAC,OAAO,IAAI,WAAW,EAAE;CAGhC;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,aAAa,CAAC;AAEtD,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAQ3E"}
@@ -0,0 +1,31 @@
1
+ import { Page } from './page.js';
2
+ import { NavigationCardsWidget } from './widgets/navigation-cards-widget.js';
3
+ /** Reserved slug — dashboard pages are not registered as `/:slug` routes. */
4
+ export const DASHBOARD_PAGE_SLUG = '__dashboard__';
5
+ /**
6
+ * Panel home dashboard. Override {@link widgets} and register via
7
+ * `panel('admin').dashboardPage(MyDashboard)`.
8
+ */
9
+ export class DashboardPage extends Page {
10
+ static slug = DASHBOARD_PAGE_SLUG;
11
+ static label = 'Dashboard';
12
+ static navigationHidden = true;
13
+ /** Responsive grid columns for widget layout (1–4). */
14
+ static columns = 3;
15
+ static widgets() {
16
+ return [NavigationCardsWidget];
17
+ }
18
+ }
19
+ /** True when `value` is DashboardPage or a subclass. */
20
+ export function isDashboardPage(value) {
21
+ if (typeof value !== 'function')
22
+ return false;
23
+ let current = value;
24
+ while (typeof current === 'function') {
25
+ if (current === DashboardPage)
26
+ return true;
27
+ current = Object.getPrototypeOf(current);
28
+ }
29
+ return false;
30
+ }
31
+ //# sourceMappingURL=dashboard-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-page.js","sourceRoot":"","sources":["../src/dashboard-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAG7E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAEnD;;;GAGG;AACH,MAAM,OAAgB,aAAc,SAAQ,IAAI;IAC9C,MAAM,CAAU,IAAI,GAAG,mBAAmB,CAAC;IAC3C,MAAM,CAAU,KAAK,GAAG,WAAW,CAAC;IACpC,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC;IAExC,uDAAuD;IACvD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAEnB,MAAM,CAAC,OAAO;QACZ,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC;;AAKH,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,OAAO,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { StatData } from './widgets/stat.js';
2
+ import type { CardWidgetContent } from './widgets/card-widget.js';
3
+ import type { ListWidgetColumn, ListWidgetRecord } from './widgets/list-widget.js';
4
+ import type { ChartData, ChartLibrary, ChartType } from './widgets/chart-widget.js';
5
+ export type DashboardWidgetKind = 'statsOverview' | 'card' | 'list' | 'chart' | 'navigationCards';
6
+ export interface NavigationCardItem {
7
+ label: string;
8
+ href: string;
9
+ icon?: string;
10
+ }
11
+ export interface ResolvedDashboardWidget {
12
+ id: string;
13
+ kind: DashboardWidgetKind;
14
+ heading?: string;
15
+ columnSpan: number | 'full';
16
+ sort: number;
17
+ view?: string;
18
+ payload: DashboardWidgetPayload;
19
+ }
20
+ export type DashboardWidgetPayload = StatsOverviewPayload | CardPayload | ListPayload | ChartPayload | NavigationCardsPayload;
21
+ export interface StatsOverviewPayload {
22
+ stats: StatData[];
23
+ }
24
+ export interface CardPayload {
25
+ content: CardWidgetContent;
26
+ }
27
+ export interface ListPayload {
28
+ columns: ListWidgetColumn[];
29
+ records: ListWidgetRecord[];
30
+ limit: number;
31
+ }
32
+ export interface ChartPayload {
33
+ chartType: ChartType;
34
+ library: ChartLibrary;
35
+ data: ChartData;
36
+ }
37
+ export interface NavigationCardsPayload {
38
+ cards: NavigationCardItem[];
39
+ emptyMessage?: string;
40
+ }
41
+ //# sourceMappingURL=dashboard-widgets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-widgets.d.ts","sourceRoot":"","sources":["../src/dashboard-widgets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEpF,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,MAAM,GACN,MAAM,GACN,OAAO,GACP,iBAAiB,CAAC;AAEtB,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,sBAAsB,CAAC;CACjC;AAED,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,WAAW,GACX,WAAW,GACX,YAAY,GACZ,sBAAsB,CAAC;AAE3B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dashboard-widgets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-widgets.js","sourceRoot":"","sources":["../src/dashboard-widgets.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -14,11 +14,21 @@ export * from './page-content.js';
14
14
  export * from './page-registry.js';
15
15
  export * from './registry.js';
16
16
  export * from './panel.js';
17
+ export * from './widget.js';
18
+ export * from './widgets/stat.js';
19
+ export * from './widgets/stats-overview-widget.js';
20
+ export * from './widgets/card-widget.js';
21
+ export * from './widgets/list-widget.js';
22
+ export * from './widgets/chart-widget.js';
23
+ export * from './widgets/navigation-cards-widget.js';
24
+ export * from './dashboard-page.js';
25
+ export * from './dashboard-widgets.js';
17
26
  export * from './content-max-width.js';
18
27
  export * from './default-per-page.js';
19
28
  export * from './reactivity.js';
20
29
  export * from './validation.js';
21
30
  export * from './labels.js';
31
+ export * from './numbers.js';
22
32
  export * from './currency.js';
23
33
  export * from './alignment.js';
24
34
  export * from './relation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -14,11 +14,21 @@ export * from './page-content.js';
14
14
  export * from './page-registry.js';
15
15
  export * from './registry.js';
16
16
  export * from './panel.js';
17
+ export * from './widget.js';
18
+ export * from './widgets/stat.js';
19
+ export * from './widgets/stats-overview-widget.js';
20
+ export * from './widgets/card-widget.js';
21
+ export * from './widgets/list-widget.js';
22
+ export * from './widgets/chart-widget.js';
23
+ export * from './widgets/navigation-cards-widget.js';
24
+ export * from './dashboard-page.js';
25
+ export * from './dashboard-widgets.js';
17
26
  export * from './content-max-width.js';
18
27
  export * from './default-per-page.js';
19
28
  export * from './reactivity.js';
20
29
  export * from './validation.js';
21
30
  export * from './labels.js';
31
+ export * from './numbers.js';
22
32
  export * from './currency.js';
23
33
  export * from './alignment.js';
24
34
  export * from './relation.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Format large numbers for dashboard stats (e.g. 1284500 → "1.3M").
3
+ * Uses {@link Intl.NumberFormat} compact notation.
4
+ */
5
+ export declare function formatCompactNumber(value: number, options?: {
6
+ locale?: string;
7
+ /** Max fraction digits for compact form (default 1). */
8
+ maximumFractionDigits?: number;
9
+ }): string;
10
+ //# sourceMappingURL=numbers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numbers.d.ts","sourceRoot":"","sources":["../src/numbers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,GACA,MAAM,CAOR"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Format large numbers for dashboard stats (e.g. 1284500 → "1.3M").
3
+ * Uses {@link Intl.NumberFormat} compact notation.
4
+ */
5
+ export function formatCompactNumber(value, options) {
6
+ if (!Number.isFinite(value))
7
+ return '—';
8
+ return new Intl.NumberFormat(options?.locale ?? 'en', {
9
+ notation: 'compact',
10
+ compactDisplay: 'short',
11
+ maximumFractionDigits: options?.maximumFractionDigits ?? 1,
12
+ }).format(value);
13
+ }
14
+ //# sourceMappingURL=numbers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numbers.js","sourceRoot":"","sources":["../src/numbers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,OAIC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE;QACpD,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,OAAO;QACvB,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,IAAI,CAAC;KAC3D,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC"}
package/dist/panel.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { BrandDisplay, PanelBranding, PanelConfig, PanelOrm } from './types.js';
2
2
  import type { Page } from './page.js';
3
+ import type { DashboardPage } from './dashboard-page.js';
3
4
  import type { Resource } from './resource.js';
4
5
  /**
5
6
  * Filament-style panel builder.
@@ -68,6 +69,12 @@ export declare class PanelBuilder {
68
69
  * Default is to deny empty authorization.
69
70
  */
70
71
  allowUsersWithoutRoles(value?: boolean): this;
72
+ /**
73
+ * Replace the panel home dashboard (`GET /`).
74
+ *
75
+ * @example panel('admin').dashboardPage(AdminDashboard)
76
+ */
77
+ dashboardPage(pageClass: typeof DashboardPage): this;
71
78
  build(): PanelConfig;
72
79
  }
73
80
  export declare function panel(id: string): PanelBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;gBAEhB,EAAE,EAAE,MAAM;IAStB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKpC;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAKtC,0CAA0C;IAC1C,aAAa,IAAI,IAAI;IAIrB,0CAA0C;IAC1C,aAAa,IAAI,IAAI;IAIrB,0CAA0C;IAC1C,gBAAgB,IAAI,IAAI;IAIxB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAK1B,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC,GAAG,IAAI;IAK7C,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI;IAKrC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKpC;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKhC;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKpC;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC;;;OAGG;IACH,sBAAsB,CAAC,KAAK,UAAO,GAAG,IAAI;IAK1C,KAAK,IAAI,WAAW;CAOrB;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAE9C"}
1
+ {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;gBAEhB,EAAE,EAAE,MAAM;IAStB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKpC;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAKtC,0CAA0C;IAC1C,aAAa,IAAI,IAAI;IAIrB,0CAA0C;IAC1C,aAAa,IAAI,IAAI;IAIrB,0CAA0C;IAC1C,gBAAgB,IAAI,IAAI;IAIxB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAK1B,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC,GAAG,IAAI;IAK7C,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI;IAKrC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKpC;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKhC;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKpC;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC;;;OAGG;IACH,sBAAsB,CAAC,KAAK,UAAO,GAAG,IAAI;IAK1C;;;;OAIG;IACH,aAAa,CAAC,SAAS,EAAE,OAAO,aAAa,GAAG,IAAI;IAKpD,KAAK,IAAI,WAAW;CAOrB;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAE9C"}
package/dist/panel.js CHANGED
@@ -111,6 +111,15 @@ export class PanelBuilder {
111
111
  this.config.allowUsersWithoutRoles = value;
112
112
  return this;
113
113
  }
114
+ /**
115
+ * Replace the panel home dashboard (`GET /`).
116
+ *
117
+ * @example panel('admin').dashboardPage(AdminDashboard)
118
+ */
119
+ dashboardPage(pageClass) {
120
+ this.config.dashboardPage = pageClass;
121
+ return this;
122
+ }
114
123
  build() {
115
124
  return {
116
125
  ...this.config,
package/dist/panel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"panel.js","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel.js","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -589,5 +589,7 @@ export interface PanelConfig {
589
589
  * Default `false` — empty authorization is denied at the panel gate.
590
590
  */
591
591
  allowUsersWithoutRoles?: boolean;
592
+ /** Panel home dashboard class. Defaults to built-in {@link DashboardPage}. */
593
+ dashboardPage?: typeof import('./dashboard-page.js').DashboardPage;
592
594
  }
593
595
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { ShamarUser } from './types.js';
2
+ /** Context passed into dashboard widget data hooks. */
3
+ export interface WidgetRequestContext {
4
+ user?: ShamarUser | null;
5
+ panelId?: string;
6
+ /** Panel base path for building widget links. */
7
+ basePath?: string;
8
+ }
9
+ export type WidgetColumnSpan = number | 'full';
10
+ /**
11
+ * Filament-style dashboard widget base class.
12
+ * Subclass and register on a {@link DashboardPage} via {@link DashboardPage.widgets}.
13
+ */
14
+ export declare abstract class Widget {
15
+ /** Stable id for DOM / chart mounting. Defaults to the class name at resolve time. */
16
+ static id?: string;
17
+ static sort: number;
18
+ static columnSpan: WidgetColumnSpan;
19
+ static heading?: string;
20
+ /** Optional Edge view override (`shamar::widgets/...` or app view path). */
21
+ static view?: string;
22
+ static canView(_user: ShamarUser | null | undefined): boolean;
23
+ }
24
+ export type WidgetClass = typeof Widget;
25
+ /** True when `value` extends {@link Widget}. */
26
+ export declare function isWidgetClass(value: unknown): value is WidgetClass;
27
+ //# sourceMappingURL=widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C;;;GAGG;AACH,8BAAsB,MAAM;IAC1B,sFAAsF;IACtF,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,IAAI,SAAK;IAChB,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAK;IACxC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;CAG9D;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC;AAExC,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAQlE"}
package/dist/widget.js ADDED
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Filament-style dashboard widget base class.
3
+ * Subclass and register on a {@link DashboardPage} via {@link DashboardPage.widgets}.
4
+ */
5
+ export class Widget {
6
+ /** Stable id for DOM / chart mounting. Defaults to the class name at resolve time. */
7
+ static id;
8
+ static sort = 0;
9
+ static columnSpan = 1;
10
+ static heading;
11
+ /** Optional Edge view override (`shamar::widgets/...` or app view path). */
12
+ static view;
13
+ static canView(_user) {
14
+ return true;
15
+ }
16
+ }
17
+ /** True when `value` extends {@link Widget}. */
18
+ export function isWidgetClass(value) {
19
+ if (typeof value !== 'function')
20
+ return false;
21
+ let current = value;
22
+ while (typeof current === 'function') {
23
+ if (current === Widget)
24
+ return true;
25
+ current = Object.getPrototypeOf(current);
26
+ }
27
+ return false;
28
+ }
29
+ //# sourceMappingURL=widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,MAAM,OAAgB,MAAM;IAC1B,sFAAsF;IACtF,MAAM,CAAC,EAAE,CAAU;IACnB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,MAAM,CAAC,UAAU,GAAqB,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAU;IACxB,4EAA4E;IAC5E,MAAM,CAAC,IAAI,CAAU;IAErB,MAAM,CAAC,OAAO,CAAC,KAAoC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;;AAKH,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,OAAO,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { Widget, type WidgetRequestContext } from '../widget.js';
2
+ import type { WidgetClass } from '../widget.js';
3
+ export interface CardWidgetContent {
4
+ /** App or package Edge view path. */
5
+ view?: string;
6
+ data?: Record<string, unknown>;
7
+ /** Raw HTML snippet (escaped by Edge unless marked safe). */
8
+ html?: string;
9
+ }
10
+ /**
11
+ * General-purpose card widget with custom Edge content or HTML.
12
+ */
13
+ export declare abstract class CardWidget extends Widget {
14
+ static content(_ctx: WidgetRequestContext): CardWidgetContent | Promise<CardWidgetContent>;
15
+ }
16
+ export declare function isCardWidget(value: WidgetClass): value is typeof CardWidget;
17
+ //# sourceMappingURL=card-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/card-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,8BAAsB,UAAW,SAAQ,MAAM;IAC7C,MAAM,CAAC,OAAO,CACZ,IAAI,EAAE,oBAAoB,GACzB,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAGlD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,IAAI,OAAO,UAAU,CAO3E"}
@@ -0,0 +1,19 @@
1
+ import { Widget } from '../widget.js';
2
+ /**
3
+ * General-purpose card widget with custom Edge content or HTML.
4
+ */
5
+ export class CardWidget extends Widget {
6
+ static content(_ctx) {
7
+ return {};
8
+ }
9
+ }
10
+ export function isCardWidget(value) {
11
+ let current = value;
12
+ while (typeof current === 'function') {
13
+ if (current === CardWidget)
14
+ return true;
15
+ current = Object.getPrototypeOf(current);
16
+ }
17
+ return false;
18
+ }
19
+ //# sourceMappingURL=card-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-widget.js","sourceRoot":"","sources":["../../src/widgets/card-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,cAAc,CAAC;AAWjE;;GAEG;AACH,MAAM,OAAgB,UAAW,SAAQ,MAAM;IAC7C,MAAM,CAAC,OAAO,CACZ,IAA0B;QAE1B,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,KAAkB;IAC7C,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,OAAO,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { Widget, type WidgetRequestContext } from '../widget.js';
2
+ import type { WidgetClass } from '../widget.js';
3
+ export type ChartType = 'line' | 'bar' | 'area' | 'donut' | 'pie';
4
+ export type ChartLibrary = 'apex' | 'chartjs';
5
+ export interface ChartDataset {
6
+ label: string;
7
+ data: number[];
8
+ color?: string;
9
+ }
10
+ export interface ChartData {
11
+ labels: string[];
12
+ datasets: ChartDataset[];
13
+ }
14
+ /**
15
+ * Chart card — ApexCharts by default; Chart.js optional.
16
+ */
17
+ export declare abstract class ChartWidget extends Widget {
18
+ static type(): ChartType;
19
+ static library(): ChartLibrary;
20
+ static data(_ctx: WidgetRequestContext): ChartData | Promise<ChartData>;
21
+ }
22
+ export declare function isChartWidget(value: WidgetClass): value is typeof ChartWidget;
23
+ //# sourceMappingURL=chart-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/chart-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,8BAAsB,WAAY,SAAQ,MAAM;IAC9C,MAAM,CAAC,IAAI,IAAI,SAAS;IAIxB,MAAM,CAAC,OAAO,IAAI,YAAY;IAI9B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;CAGxE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,IAAI,OAAO,WAAW,CAO7E"}
@@ -0,0 +1,25 @@
1
+ import { Widget } from '../widget.js';
2
+ /**
3
+ * Chart card — ApexCharts by default; Chart.js optional.
4
+ */
5
+ export class ChartWidget extends Widget {
6
+ static type() {
7
+ return 'line';
8
+ }
9
+ static library() {
10
+ return 'apex';
11
+ }
12
+ static data(_ctx) {
13
+ return { labels: [], datasets: [] };
14
+ }
15
+ }
16
+ export function isChartWidget(value) {
17
+ let current = value;
18
+ while (typeof current === 'function') {
19
+ if (current === ChartWidget)
20
+ return true;
21
+ current = Object.getPrototypeOf(current);
22
+ }
23
+ return false;
24
+ }
25
+ //# sourceMappingURL=chart-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-widget.js","sourceRoot":"","sources":["../../src/widgets/chart-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,cAAc,CAAC;AAiBjE;;GAEG;AACH,MAAM,OAAgB,WAAY,SAAQ,MAAM;IAC9C,MAAM,CAAC,IAAI;QACT,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAAO;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAA0B;QACpC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,OAAO,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QACzC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { Widget, type WidgetRequestContext } from '../widget.js';
2
+ import type { WidgetClass } from '../widget.js';
3
+ export interface ListWidgetColumn {
4
+ label: string;
5
+ /** Dot path on each record, e.g. `name` or `meta.status`. */
6
+ attribute: string;
7
+ }
8
+ export interface ListWidgetRecord {
9
+ [key: string]: unknown;
10
+ url?: string;
11
+ }
12
+ /**
13
+ * Card with a simple key/value or multi-column list.
14
+ */
15
+ export declare abstract class ListWidget extends Widget {
16
+ static columns(): ListWidgetColumn[];
17
+ static records(_ctx: WidgetRequestContext): ListWidgetRecord[] | Promise<ListWidgetRecord[]>;
18
+ /** Max rows to show (default 5). */
19
+ static limit: number;
20
+ }
21
+ export declare function isListWidget(value: WidgetClass): value is typeof ListWidget;
22
+ //# sourceMappingURL=list-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/list-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,8BAAsB,UAAW,SAAQ,MAAM;IAC7C,MAAM,CAAC,OAAO,IAAI,gBAAgB,EAAE;IAIpC,MAAM,CAAC,OAAO,CACZ,IAAI,EAAE,oBAAoB,GACzB,gBAAgB,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAInD,oCAAoC;IACpC,MAAM,CAAC,KAAK,SAAK;CAClB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,IAAI,OAAO,UAAU,CAO3E"}
@@ -0,0 +1,24 @@
1
+ import { Widget } from '../widget.js';
2
+ /**
3
+ * Card with a simple key/value or multi-column list.
4
+ */
5
+ export class ListWidget extends Widget {
6
+ static columns() {
7
+ return [];
8
+ }
9
+ static records(_ctx) {
10
+ return [];
11
+ }
12
+ /** Max rows to show (default 5). */
13
+ static limit = 5;
14
+ }
15
+ export function isListWidget(value) {
16
+ let current = value;
17
+ while (typeof current === 'function') {
18
+ if (current === ListWidget)
19
+ return true;
20
+ current = Object.getPrototypeOf(current);
21
+ }
22
+ return false;
23
+ }
24
+ //# sourceMappingURL=list-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-widget.js","sourceRoot":"","sources":["../../src/widgets/list-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,cAAc,CAAC;AAcjE;;GAEG;AACH,MAAM,OAAgB,UAAW,SAAQ,MAAM;IAC7C,MAAM,CAAC,OAAO;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,OAAO,CACZ,IAA0B;QAE1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oCAAoC;IACpC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;;AAGnB,MAAM,UAAU,YAAY,CAAC,KAAkB;IAC7C,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,OAAO,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Widget } from '../widget.js';
2
+ import type { WidgetClass } from '../widget.js';
3
+ /**
4
+ * Built-in widget that renders panel navigation roots as link cards.
5
+ * Data (`menuRoots`) is injected by the Adonis host at render time.
6
+ */
7
+ export declare class NavigationCardsWidget extends Widget {
8
+ static sort: number;
9
+ static columnSpan: number | 'full';
10
+ }
11
+ export declare function isNavigationCardsWidget(value: WidgetClass): value is typeof NavigationCardsWidget;
12
+ //# sourceMappingURL=navigation-cards-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-cards-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/navigation-cards-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,MAAM;IAC/C,OAAgB,IAAI,SAAQ;IAC5B,OAAgB,UAAU,EAAE,MAAM,GAAG,MAAM,CAAU;CACtD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,IAAI,OAAO,qBAAqB,CAOjG"}
@@ -0,0 +1,19 @@
1
+ import { Widget } from '../widget.js';
2
+ /**
3
+ * Built-in widget that renders panel navigation roots as link cards.
4
+ * Data (`menuRoots`) is injected by the Adonis host at render time.
5
+ */
6
+ export class NavigationCardsWidget extends Widget {
7
+ static sort = 1000;
8
+ static columnSpan = 'full';
9
+ }
10
+ export function isNavigationCardsWidget(value) {
11
+ let current = value;
12
+ while (typeof current === 'function') {
13
+ if (current === NavigationCardsWidget)
14
+ return true;
15
+ current = Object.getPrototypeOf(current);
16
+ }
17
+ return false;
18
+ }
19
+ //# sourceMappingURL=navigation-cards-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-cards-widget.js","sourceRoot":"","sources":["../../src/widgets/navigation-cards-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,MAAM;IAC/C,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAU,UAAU,GAAoB,MAAM,CAAC;;AAGvD,MAAM,UAAU,uBAAuB,CAAC,KAAkB;IACxD,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,OAAO,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,qBAAqB;YAAE,OAAO,IAAI,CAAC;QACnD,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,27 @@
1
+ export type StatColor = 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'gray';
2
+ export interface StatData {
3
+ label: string;
4
+ value: string | number;
5
+ description?: string;
6
+ descriptionIcon?: string;
7
+ descriptionIconPosition?: 'before' | 'after';
8
+ color?: StatColor;
9
+ url?: string;
10
+ /** Sparkline values rendered under the stat. */
11
+ chart?: number[];
12
+ }
13
+ /**
14
+ * Filament-style stat card descriptor for {@link StatsOverviewWidget}.
15
+ */
16
+ export declare class Stat {
17
+ private readonly data;
18
+ private constructor();
19
+ static make(label: string, value: string | number): Stat;
20
+ description(text: string): this;
21
+ descriptionIcon(icon: string, position?: 'before' | 'after'): this;
22
+ color(color: StatColor): this;
23
+ url(href: string): this;
24
+ chart(values: number[]): this;
25
+ toJSON(): StatData;
26
+ }
27
+ //# sourceMappingURL=stat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stat.d.ts","sourceRoot":"","sources":["../../src/widgets/stat.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvF,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAEhC,OAAO;IAIP,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIxD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAQ,GAAG,OAAiB,GAAG,IAAI;IAM3E,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAK7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKvB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAK7B,MAAM,IAAI,QAAQ;CAGnB"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Filament-style stat card descriptor for {@link StatsOverviewWidget}.
3
+ */
4
+ export class Stat {
5
+ data;
6
+ constructor(label, value) {
7
+ this.data = { label, value };
8
+ }
9
+ static make(label, value) {
10
+ return new Stat(label, value);
11
+ }
12
+ description(text) {
13
+ this.data.description = text;
14
+ return this;
15
+ }
16
+ descriptionIcon(icon, position = 'after') {
17
+ this.data.descriptionIcon = icon;
18
+ this.data.descriptionIconPosition = position;
19
+ return this;
20
+ }
21
+ color(color) {
22
+ this.data.color = color;
23
+ return this;
24
+ }
25
+ url(href) {
26
+ this.data.url = href;
27
+ return this;
28
+ }
29
+ chart(values) {
30
+ this.data.chart = values;
31
+ return this;
32
+ }
33
+ toJSON() {
34
+ return { ...this.data };
35
+ }
36
+ }
37
+ //# sourceMappingURL=stat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stat.js","sourceRoot":"","sources":["../../src/widgets/stat.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,OAAO,IAAI;IACE,IAAI,CAAW;IAEhC,YAAoB,KAAa,EAAE,KAAsB;QACvD,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,KAAa,EAAE,KAAsB;QAC/C,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,WAA+B,OAAO;QAClE,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,IAAY;QACd,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ import { Widget, type WidgetClass, type WidgetRequestContext } from '../widget.js';
2
+ import { Stat, type StatData } from './stat.js';
3
+ /**
4
+ * Grid of KPI stat cards (Filament StatsOverviewWidget).
5
+ */
6
+ export declare abstract class StatsOverviewWidget extends Widget {
7
+ static stats(_ctx: WidgetRequestContext): Stat[] | StatData[] | Promise<Stat[] | StatData[]>;
8
+ }
9
+ export declare function isStatsOverviewWidget(value: WidgetClass): value is typeof StatsOverviewWidget;
10
+ //# sourceMappingURL=stats-overview-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-overview-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/stats-overview-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEhD;;GAEG;AACH,8BAAsB,mBAAoB,SAAQ,MAAM;IACtD,MAAM,CAAC,KAAK,CACV,IAAI,EAAE,oBAAoB,GACzB,IAAI,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;CAGtD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,IAAI,OAAO,mBAAmB,CAO7F"}
@@ -0,0 +1,19 @@
1
+ import { Widget } from '../widget.js';
2
+ /**
3
+ * Grid of KPI stat cards (Filament StatsOverviewWidget).
4
+ */
5
+ export class StatsOverviewWidget extends Widget {
6
+ static stats(_ctx) {
7
+ return [];
8
+ }
9
+ }
10
+ export function isStatsOverviewWidget(value) {
11
+ let current = value;
12
+ while (typeof current === 'function') {
13
+ if (current === StatsOverviewWidget)
14
+ return true;
15
+ current = Object.getPrototypeOf(current);
16
+ }
17
+ return false;
18
+ }
19
+ //# sourceMappingURL=stats-overview-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-overview-widget.js","sourceRoot":"","sources":["../../src/widgets/stats-overview-widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA+C,MAAM,cAAc,CAAC;AAGnF;;GAEG;AACH,MAAM,OAAgB,mBAAoB,SAAQ,MAAM;IACtD,MAAM,CAAC,KAAK,CACV,IAA0B;QAE1B,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAkB;IACtD,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,OAAO,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,mBAAmB;YAAE,OAAO,IAAI,CAAC;QACjD,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shamar/core",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "Filament-inspired resource DSL for Shamar admin (ORM-agnostic core).",
5
5
  "license": "MIT",
6
6
  "type": "module",