@fayz-ai/plugin-courses 0.2.1 → 0.2.3

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 (44) hide show
  1. package/README.md +2 -0
  2. package/dist/components/CommerceUI.d.ts +39 -0
  3. package/dist/components/CommerceUI.d.ts.map +1 -0
  4. package/dist/connectors/stripe.d.ts +3 -0
  5. package/dist/connectors/stripe.d.ts.map +1 -0
  6. package/dist/dashboardWidgets.d.ts +3 -0
  7. package/dist/dashboardWidgets.d.ts.map +1 -0
  8. package/dist/index.cjs +735 -54
  9. package/dist/index.cjs.map +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +738 -57
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/format.d.ts +4 -0
  14. package/dist/lib/format.d.ts.map +1 -0
  15. package/dist/locales/en.d.ts.map +1 -1
  16. package/dist/locales/pt-BR.d.ts.map +1 -1
  17. package/dist/pages/CourseEditorPage.d.ts.map +1 -1
  18. package/dist/pages/FinancialPage.d.ts +6 -0
  19. package/dist/pages/FinancialPage.d.ts.map +1 -0
  20. package/dist/pages/MembersAreaPage.d.ts +6 -0
  21. package/dist/pages/MembersAreaPage.d.ts.map +1 -0
  22. package/dist/pages/ReportsPage.d.ts +6 -0
  23. package/dist/pages/ReportsPage.d.ts.map +1 -0
  24. package/dist/pages/SalesPage.d.ts +6 -0
  25. package/dist/pages/SalesPage.d.ts.map +1 -0
  26. package/dist/pages/SubscriptionsPage.d.ts +6 -0
  27. package/dist/pages/SubscriptionsPage.d.ts.map +1 -0
  28. package/dist/settings/CoursesSettings.d.ts +6 -0
  29. package/dist/settings/CoursesSettings.d.ts.map +1 -0
  30. package/package.json +7 -5
  31. package/src/components/CommerceUI.tsx +77 -0
  32. package/src/connectors/stripe.ts +34 -0
  33. package/src/dashboardWidgets.tsx +51 -0
  34. package/src/index.ts +51 -12
  35. package/src/lib/format.ts +22 -0
  36. package/src/locales/en.ts +109 -0
  37. package/src/locales/pt-BR.ts +109 -0
  38. package/src/pages/CourseEditorPage.tsx +133 -35
  39. package/src/pages/FinancialPage.tsx +76 -0
  40. package/src/pages/MembersAreaPage.tsx +60 -0
  41. package/src/pages/ReportsPage.tsx +59 -0
  42. package/src/pages/SalesPage.tsx +57 -0
  43. package/src/pages/SubscriptionsPage.tsx +56 -0
  44. package/src/settings/CoursesSettings.tsx +55 -0
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # @fayz-ai/plugin-courses
2
2
 
3
+ > **Status: experimental (incubating).** Not capability-complete — missing some or all of the capability bar (data-provider contract w/ supabase+mock pair, entity registries, settings, migrations; see `docs/PLUGIN-PATTERNS.md`). Fine to explore in dogfoods; NOT ready for fresh installs or generated apps, and its API may change without notice.
4
+
3
5
  > Drop a course-builder admin into any Fayz SaaS — courses, modules, lessons, enrollments.
4
6
 
5
7
  [![npm](https://img.shields.io/npm/v/@fayz-ai/plugin-courses.svg)](https://www.npmjs.com/package/@fayz-ai/plugin-courses)
@@ -0,0 +1,39 @@
1
+ import * as React from 'react';
2
+ /** Standard padded container for the commerce admin pages. */
3
+ export declare function PageContainer({ title, subtitle, actions, children }: {
4
+ title: string;
5
+ subtitle?: string;
6
+ actions?: React.ReactNode;
7
+ children: React.ReactNode;
8
+ }): React.JSX.Element;
9
+ /** A single KPI tile (revenue, sales, MRR…). */
10
+ export declare function StatCard({ label, value, hint }: {
11
+ label: string;
12
+ value: string;
13
+ hint?: string;
14
+ }): React.JSX.Element;
15
+ export declare function StatGrid({ children }: {
16
+ children: React.ReactNode;
17
+ }): React.JSX.Element;
18
+ /** Empty/loading state for the tables. */
19
+ export declare function TableEmpty({ children }: {
20
+ children: React.ReactNode;
21
+ }): React.JSX.Element;
22
+ export interface SimpleColumn<T> {
23
+ key: string;
24
+ header: string;
25
+ render: (row: T) => React.ReactNode;
26
+ align?: 'left' | 'right';
27
+ }
28
+ /**
29
+ * Thin adapter over the design-system DataTable (@fayz-ai/ui): the commerce
30
+ * pages describe columns declaratively; this maps them to tanstack ColumnDef so
31
+ * we reuse DataTable's sorting/skeleton/empty chrome instead of a bespoke table.
32
+ */
33
+ export declare function SimpleTable<T>({ columns, rows, empty, loading }: {
34
+ columns: SimpleColumn<T>[];
35
+ rows: T[];
36
+ empty: string;
37
+ loading?: boolean;
38
+ }): React.JSX.Element;
39
+ //# sourceMappingURL=CommerceUI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommerceUI.d.ts","sourceRoot":"","sources":["../../src/components/CommerceUI.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACpE,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,qBAaA;AAED,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,qBAQ/F;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAEnE;AAED,0CAA0C;AAC1C,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAMrE;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,qBAUA"}
@@ -0,0 +1,3 @@
1
+ import type { ConnectorDefinition } from '@fayz-ai/core';
2
+ export declare function createStripeConnector(): ConnectorDefinition;
3
+ //# sourceMappingURL=stripe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../src/connectors/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAMxD,wBAAgB,qBAAqB,IAAI,mBAAmB,CA2B3D"}
@@ -0,0 +1,3 @@
1
+ import type { DashboardWidgetDef } from '@fayz-ai/core';
2
+ export declare function createCoursesDashboardWidgets(): DashboardWidgetDef[];
3
+ //# sourceMappingURL=dashboardWidgets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboardWidgets.d.ts","sourceRoot":"","sources":["../src/dashboardWidgets.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AA0CvD,wBAAgB,6BAA6B,IAAI,kBAAkB,EAAE,CAOpE"}