@shamar/core 0.2.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +84 -58
  2. package/dist/actions.d.ts +2 -0
  3. package/dist/actions.d.ts.map +1 -1
  4. package/dist/actions.js +8 -0
  5. package/dist/actions.js.map +1 -1
  6. package/dist/dashboard-page.d.ts +20 -0
  7. package/dist/dashboard-page.d.ts.map +1 -0
  8. package/dist/dashboard-page.js +31 -0
  9. package/dist/dashboard-page.js.map +1 -0
  10. package/dist/dashboard-widgets.d.ts +41 -0
  11. package/dist/dashboard-widgets.d.ts.map +1 -0
  12. package/dist/dashboard-widgets.js +2 -0
  13. package/dist/dashboard-widgets.js.map +1 -0
  14. package/dist/form.d.ts +2 -0
  15. package/dist/form.d.ts.map +1 -1
  16. package/dist/form.js +20 -0
  17. package/dist/form.js.map +1 -1
  18. package/dist/index.d.ts +10 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +10 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/infolist.d.ts +5 -0
  23. package/dist/infolist.d.ts.map +1 -1
  24. package/dist/infolist.js +24 -0
  25. package/dist/infolist.js.map +1 -1
  26. package/dist/numbers.d.ts +10 -0
  27. package/dist/numbers.d.ts.map +1 -0
  28. package/dist/numbers.js +14 -0
  29. package/dist/numbers.js.map +1 -0
  30. package/dist/page-content.d.ts +9 -8
  31. package/dist/page-content.d.ts.map +1 -1
  32. package/dist/page-content.js +15 -8
  33. package/dist/page-content.js.map +1 -1
  34. package/dist/page.d.ts +16 -9
  35. package/dist/page.d.ts.map +1 -1
  36. package/dist/page.js +34 -17
  37. package/dist/page.js.map +1 -1
  38. package/dist/panel.d.ts +18 -1
  39. package/dist/panel.d.ts.map +1 -1
  40. package/dist/panel.js +26 -1
  41. package/dist/panel.js.map +1 -1
  42. package/dist/resource.d.ts +16 -10
  43. package/dist/resource.d.ts.map +1 -1
  44. package/dist/resource.js +42 -25
  45. package/dist/resource.js.map +1 -1
  46. package/dist/table.d.ts +2 -0
  47. package/dist/table.d.ts.map +1 -1
  48. package/dist/table.js +16 -0
  49. package/dist/table.js.map +1 -1
  50. package/dist/types.d.ts +21 -0
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/widget.d.ts +27 -0
  53. package/dist/widget.d.ts.map +1 -0
  54. package/dist/widget.js +29 -0
  55. package/dist/widget.js.map +1 -0
  56. package/dist/widgets/card-widget.d.ts +17 -0
  57. package/dist/widgets/card-widget.d.ts.map +1 -0
  58. package/dist/widgets/card-widget.js +19 -0
  59. package/dist/widgets/card-widget.js.map +1 -0
  60. package/dist/widgets/chart-widget.d.ts +23 -0
  61. package/dist/widgets/chart-widget.d.ts.map +1 -0
  62. package/dist/widgets/chart-widget.js +25 -0
  63. package/dist/widgets/chart-widget.js.map +1 -0
  64. package/dist/widgets/list-widget.d.ts +22 -0
  65. package/dist/widgets/list-widget.d.ts.map +1 -0
  66. package/dist/widgets/list-widget.js +24 -0
  67. package/dist/widgets/list-widget.js.map +1 -0
  68. package/dist/widgets/navigation-cards-widget.d.ts +12 -0
  69. package/dist/widgets/navigation-cards-widget.d.ts.map +1 -0
  70. package/dist/widgets/navigation-cards-widget.js +19 -0
  71. package/dist/widgets/navigation-cards-widget.js.map +1 -0
  72. package/dist/widgets/stat.d.ts +27 -0
  73. package/dist/widgets/stat.d.ts.map +1 -0
  74. package/dist/widgets/stat.js +37 -0
  75. package/dist/widgets/stat.js.map +1 -0
  76. package/dist/widgets/stats-overview-widget.d.ts +10 -0
  77. package/dist/widgets/stats-overview-widget.d.ts.map +1 -0
  78. package/dist/widgets/stats-overview-widget.js +19 -0
  79. package/dist/widgets/stats-overview-widget.js.map +1 -0
  80. package/package.json +1 -1
@@ -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": "1.0.0",
4
4
  "description": "Filament-inspired resource DSL for Shamar admin (ORM-agnostic core).",
5
5
  "license": "MIT",
6
6
  "type": "module",