@ziky/ui 0.1.7 → 0.1.9

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 (58) hide show
  1. package/dist/components/ActivityList.d.ts +15 -0
  2. package/dist/components/ActivityList.d.ts.map +1 -0
  3. package/dist/components/ActivityList.js +8 -0
  4. package/dist/components/ActivityList.js.map +1 -0
  5. package/dist/components/DashboardPanel.d.ts +10 -0
  6. package/dist/components/DashboardPanel.d.ts.map +1 -0
  7. package/dist/components/DashboardPanel.js +8 -0
  8. package/dist/components/DashboardPanel.js.map +1 -0
  9. package/dist/components/DashboardStatCard.d.ts +16 -0
  10. package/dist/components/DashboardStatCard.d.ts.map +1 -0
  11. package/dist/components/DashboardStatCard.js +15 -0
  12. package/dist/components/DashboardStatCard.js.map +1 -0
  13. package/dist/components/FilePicker.d.ts +22 -0
  14. package/dist/components/FilePicker.d.ts.map +1 -0
  15. package/dist/components/FilePicker.js +93 -0
  16. package/dist/components/FilePicker.js.map +1 -0
  17. package/dist/components/ImageUploadField.d.ts +18 -0
  18. package/dist/components/ImageUploadField.d.ts.map +1 -0
  19. package/dist/components/ImageUploadField.js +34 -0
  20. package/dist/components/ImageUploadField.js.map +1 -0
  21. package/dist/components/SectionHeader.d.ts +9 -0
  22. package/dist/components/SectionHeader.d.ts.map +1 -0
  23. package/dist/components/SectionHeader.js +8 -0
  24. package/dist/components/SectionHeader.js.map +1 -0
  25. package/dist/components/SmartDataTable/SmartDataTable.d.ts +24 -0
  26. package/dist/components/SmartDataTable/SmartDataTable.d.ts.map +1 -0
  27. package/dist/components/SmartDataTable/SmartDataTable.js +104 -0
  28. package/dist/components/SmartDataTable/SmartDataTable.js.map +1 -0
  29. package/dist/components/SmartDataTable/applyClientQuery.d.ts +9 -0
  30. package/dist/components/SmartDataTable/applyClientQuery.d.ts.map +1 -0
  31. package/dist/components/SmartDataTable/applyClientQuery.js +52 -0
  32. package/dist/components/SmartDataTable/applyClientQuery.js.map +1 -0
  33. package/dist/components/SmartDataTable/types.d.ts +17 -0
  34. package/dist/components/SmartDataTable/types.d.ts.map +1 -0
  35. package/dist/components/SmartDataTable/types.js +3 -0
  36. package/dist/components/SmartDataTable/types.js.map +1 -0
  37. package/dist/components/SmartDataTable/urlState.d.ts +20 -0
  38. package/dist/components/SmartDataTable/urlState.d.ts.map +1 -0
  39. package/dist/components/SmartDataTable/urlState.js +117 -0
  40. package/dist/components/SmartDataTable/urlState.js.map +1 -0
  41. package/dist/index.d.ts +9 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +9 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/menu/adminMenu.d.ts.map +1 -1
  46. package/dist/menu/adminMenu.js +5 -0
  47. package/dist/menu/adminMenu.js.map +1 -1
  48. package/dist/styles/components/filepicker.css +69 -0
  49. package/dist/styles/index.d.ts +1 -1
  50. package/dist/styles/index.d.ts.map +1 -1
  51. package/dist/styles/index.js +1 -1
  52. package/dist/styles/index.js.map +1 -1
  53. package/dist/styles/index.ts +1 -1
  54. package/dist/styles/layout/_dashboard.scss +279 -0
  55. package/dist/styles/layout/_dialog.scss +63 -0
  56. package/dist/styles/layout/_smartdatatable.scss +38 -0
  57. package/dist/styles/layout/layout.scss +11 -8
  58. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ import type { SmartDataTableQuery, SmartSortOrder } from './types';
2
+ type UrlStateOptions = {
3
+ prefix: string;
4
+ defaultRows?: number;
5
+ defaultPage?: number;
6
+ defaultSortField?: string;
7
+ defaultSortOrder?: SmartSortOrder;
8
+ extraKeys?: string[];
9
+ };
10
+ type SetQueryOptions = {
11
+ replace?: boolean;
12
+ resetPage?: boolean;
13
+ };
14
+ export declare function useSmartDataTableUrlState(options: UrlStateOptions): {
15
+ query: SmartDataTableQuery;
16
+ setQuery: (patch: Partial<SmartDataTableQuery>, opts?: SetQueryOptions) => void;
17
+ setExtra: (key: string, value: string, opts?: SetQueryOptions) => void;
18
+ };
19
+ export {};
20
+ //# sourceMappingURL=urlState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlState.d.ts","sourceRoot":"","sources":["../../../src/components/SmartDataTable/urlState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEnE,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,KAAK,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AA4ClE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,eAAe;;sBA6BtD,OAAO,CAAC,mBAAmB,CAAC,SAAS,eAAe;oBAqCtD,MAAM,SAAS,MAAM,SAAS,eAAe;EAQtD"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useSmartDataTableUrlState = useSmartDataTableUrlState;
7
+ const react_1 = __importDefault(require("react"));
8
+ const react_router_dom_1 = require("react-router-dom");
9
+ function parseNumber(value, fallback) {
10
+ const parsed = Number(value);
11
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
12
+ }
13
+ function parseSortOrder(value) {
14
+ if (value === '1')
15
+ return 1;
16
+ if (value === '-1')
17
+ return -1;
18
+ return undefined;
19
+ }
20
+ function cloneParams(searchParams) {
21
+ return new URLSearchParams(Array.from(searchParams.entries()));
22
+ }
23
+ function setOrDelete(params, key, value) {
24
+ const normalized = value == null ? '' : String(value);
25
+ if (!normalized)
26
+ params.delete(key);
27
+ else
28
+ params.set(key, normalized);
29
+ }
30
+ function extractFilters(searchParams, prefix) {
31
+ const filters = {};
32
+ const filterPrefix = `${prefix}f.`;
33
+ for (const [key, value] of Array.from(searchParams.entries())) {
34
+ if (!key.startsWith(filterPrefix))
35
+ continue;
36
+ const field = key.slice(filterPrefix.length);
37
+ if (!field)
38
+ continue;
39
+ if (value)
40
+ filters[field] = value;
41
+ }
42
+ return filters;
43
+ }
44
+ function extractExtra(searchParams, prefix, extraKeys) {
45
+ const extra = {};
46
+ for (const key of extraKeys) {
47
+ const value = searchParams.get(`${prefix}${key}`);
48
+ if (value)
49
+ extra[key] = value;
50
+ }
51
+ return extra;
52
+ }
53
+ function useSmartDataTableUrlState(options) {
54
+ const [searchParams, setSearchParams] = (0, react_router_dom_1.useSearchParams)();
55
+ const prefix = options.prefix;
56
+ const defaultPage = options.defaultPage ?? 1;
57
+ const defaultRows = options.defaultRows ?? 20;
58
+ const extraKeys = react_1.default.useMemo(() => options.extraKeys ?? [], [options.extraKeys]);
59
+ const query = react_1.default.useMemo(() => {
60
+ const page = parseNumber(searchParams.get(`${prefix}page`), defaultPage);
61
+ const rows = parseNumber(searchParams.get(`${prefix}rows`), defaultRows);
62
+ const sortField = searchParams.get(`${prefix}sort`) ?? options.defaultSortField ?? undefined;
63
+ const sortOrder = parseSortOrder(searchParams.get(`${prefix}order`)) ?? options.defaultSortOrder ?? undefined;
64
+ const q = searchParams.get(`${prefix}q`) ?? undefined;
65
+ const filters = extractFilters(searchParams, prefix);
66
+ const extra = extractExtra(searchParams, prefix, extraKeys);
67
+ return { page, rows, sortField, sortOrder, q, filters, extra };
68
+ }, [
69
+ defaultPage,
70
+ defaultRows,
71
+ extraKeys,
72
+ options.defaultSortField,
73
+ options.defaultSortOrder,
74
+ prefix,
75
+ searchParams,
76
+ ]);
77
+ const setQuery = react_1.default.useCallback((patch, opts) => {
78
+ const next = cloneParams(searchParams);
79
+ if (patch.page != null || opts?.resetPage) {
80
+ setOrDelete(next, `${prefix}page`, String(patch.page ?? 1));
81
+ }
82
+ if (patch.rows != null)
83
+ setOrDelete(next, `${prefix}rows`, String(patch.rows));
84
+ if (patch.sortField !== undefined)
85
+ setOrDelete(next, `${prefix}sort`, patch.sortField);
86
+ if (patch.sortOrder !== undefined) {
87
+ setOrDelete(next, `${prefix}order`, patch.sortOrder != null ? String(patch.sortOrder) : '');
88
+ }
89
+ if (patch.q !== undefined)
90
+ setOrDelete(next, `${prefix}q`, patch.q);
91
+ if (patch.filters) {
92
+ const filterPrefix = `${prefix}f.`;
93
+ for (const key of Array.from(next.keys())) {
94
+ if (key.startsWith(filterPrefix))
95
+ next.delete(key);
96
+ }
97
+ for (const [field, value] of Object.entries(patch.filters)) {
98
+ setOrDelete(next, `${filterPrefix}${field}`, value);
99
+ }
100
+ }
101
+ if (patch.extra) {
102
+ for (const key of extraKeys) {
103
+ if (Object.prototype.hasOwnProperty.call(patch.extra, key)) {
104
+ setOrDelete(next, `${prefix}${key}`, patch.extra[key]);
105
+ }
106
+ }
107
+ }
108
+ setSearchParams(next, { replace: opts?.replace ?? true });
109
+ }, [extraKeys, prefix, searchParams, setSearchParams]);
110
+ const setExtra = react_1.default.useCallback((key, value, opts) => {
111
+ if (!extraKeys.includes(key))
112
+ return;
113
+ setQuery({ extra: { ...query.extra, [key]: value } }, opts);
114
+ }, [extraKeys, query.extra, setQuery]);
115
+ return { query, setQuery, setExtra };
116
+ }
117
+ //# sourceMappingURL=urlState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlState.js","sourceRoot":"","sources":["../../../src/components/SmartDataTable/urlState.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -18,4 +18,13 @@ export * from './types';
18
18
  export * from './menu/adminMenu';
19
19
  export * from './providers/RidinProviders';
20
20
  export * from './components/GlobalLoadingOverlay';
21
+ export * from './components/DashboardStatCard';
22
+ export * from './components/DashboardPanel';
23
+ export * from './components/SectionHeader';
24
+ export * from './components/ActivityList';
25
+ export * from './components/FilePicker';
26
+ export * from './components/ImageUploadField';
27
+ export * from './components/SmartDataTable/SmartDataTable';
28
+ export * from './components/SmartDataTable/types';
29
+ export * from './components/SmartDataTable/applyClientQuery';
21
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,CAAC;AAElB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,CAAC;AAElB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,8CAA8C,CAAC"}
package/dist/index.js CHANGED
@@ -48,4 +48,13 @@ __exportStar(require("./types"), exports);
48
48
  __exportStar(require("./menu/adminMenu"), exports);
49
49
  __exportStar(require("./providers/RidinProviders"), exports);
50
50
  __exportStar(require("./components/GlobalLoadingOverlay"), exports);
51
+ __exportStar(require("./components/DashboardStatCard"), exports);
52
+ __exportStar(require("./components/DashboardPanel"), exports);
53
+ __exportStar(require("./components/SectionHeader"), exports);
54
+ __exportStar(require("./components/ActivityList"), exports);
55
+ __exportStar(require("./components/FilePicker"), exports);
56
+ __exportStar(require("./components/ImageUploadField"), exports);
57
+ __exportStar(require("./components/SmartDataTable/SmartDataTable"), exports);
58
+ __exportStar(require("./components/SmartDataTable/types"), exports);
59
+ __exportStar(require("./components/SmartDataTable/applyClientQuery"), exports);
51
60
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,oBAAkB;AAElB,0CAAoD;AAA3C,iHAAA,OAAO,OAAU;AAE1B,oDAAmD;AAA1C,0GAAA,WAAW,OAAA;AAEpB,8DAA6D;AAApD,oHAAA,gBAAgB,OAAA;AAEzB,mEAAiD;AACjD,gEAA+E;AAAtE,8GAAA,aAAa,OAAA;AAAE,+GAAA,cAAc,OAAA;AACtC,4DAAyE;AAAhE,0GAAA,WAAW,OAAA;AAAE,2GAAA,YAAY,OAAA;AAClC,gDAA0D;AAAjD,uHAAA,OAAO,OAAa;AAC7B,kDAA4D;AAAnD,yHAAA,OAAO,OAAc;AAC9B,gDAA0D;AAAjD,uHAAA,OAAO,OAAa;AAC7B,gDAA0D;AAAjD,uHAAA,OAAO,OAAa;AAC7B,4CAAsD;AAA7C,mHAAA,OAAO,OAAW;AAC3B,oDAA8D;AAArD,2HAAA,OAAO,OAAe;AAC/B,0CAAwB;AACxB,mDAAiC;AACjC,6DAA2C;AAC3C,oEAAkD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,oBAAkB;AAElB,0CAAoD;AAA3C,iHAAA,OAAO,OAAU;AAE1B,oDAAmD;AAA1C,0GAAA,WAAW,OAAA;AAEpB,8DAA6D;AAApD,oHAAA,gBAAgB,OAAA;AAEzB,mEAAiD;AACjD,gEAA+E;AAAtE,8GAAA,aAAa,OAAA;AAAE,+GAAA,cAAc,OAAA;AACtC,4DAAyE;AAAhE,0GAAA,WAAW,OAAA;AAAE,2GAAA,YAAY,OAAA;AAClC,gDAA0D;AAAjD,uHAAA,OAAO,OAAa;AAC7B,kDAA4D;AAAnD,yHAAA,OAAO,OAAc;AAC9B,gDAA0D;AAAjD,uHAAA,OAAO,OAAa;AAC7B,gDAA0D;AAAjD,uHAAA,OAAO,OAAa;AAC7B,4CAAsD;AAA7C,mHAAA,OAAO,OAAW;AAC3B,oDAA8D;AAArD,2HAAA,OAAO,OAAe;AAC/B,0CAAwB;AACxB,mDAAiC;AACjC,6DAA2C;AAC3C,oEAAkD;AAClD,iEAA+C;AAC/C,8DAA4C;AAC5C,6DAA2C;AAC3C,4DAA0C;AAC1C,0DAAwC;AACxC,gEAA8C;AAC9C,6EAA2D;AAC3D,oEAAkD;AAClD,+EAA6D"}
@@ -1 +1 @@
1
- {"version":3,"file":"adminMenu.d.ts","sourceRoot":"","sources":["../../src/menu/adminMenu.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAclD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,SAAW,EAAE,CAAC,CAAC,EAAE,WAAW;;;;;;;;IA2C7F;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,UAAU,EACpB,QAAQ,SAAa,EACrB,CAAC,CAAC,EAAE,WAAW;;;;;;;;IAkBhB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,SAAY,EAAE,CAAC,CAAC,EAAE,WAAW;;;;;;;;IA0B/F"}
1
+ {"version":3,"file":"adminMenu.d.ts","sourceRoot":"","sources":["../../src/menu/adminMenu.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAclD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,SAAW,EAAE,CAAC,CAAC,EAAE,WAAW;;;;;;;;IA2C7F;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,UAAU,EACpB,QAAQ,SAAa,EACrB,CAAC,CAAC,EAAE,WAAW;;;;;;;;IAkBhB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,SAAY,EAAE,CAAC,CAAC,EAAE,WAAW;;;;;;;;IA+B/F"}
@@ -92,6 +92,11 @@ function buildSystemMenuModel(navigate, basePath = '/system', t) {
92
92
  icon: 'pi pi-envelope',
93
93
  command: () => go('emails'),
94
94
  },
95
+ {
96
+ label: tr(t, 'nav.files', 'Files'),
97
+ icon: 'pi pi-file',
98
+ command: () => go('files'),
99
+ },
95
100
  {
96
101
  label: tr(t, 'nav.settingsManager', 'Settings'),
97
102
  icon: 'pi pi-sliders-h',
@@ -1 +1 @@
1
- {"version":3,"file":"adminMenu.js","sourceRoot":"","sources":["../../src/menu/adminMenu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adminMenu.js","sourceRoot":"","sources":["../../src/menu/adminMenu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ .sakai-file-picker {
2
+ width: 100%;
3
+ }
4
+
5
+ .sakai-file-picker__drop {
6
+ display: flex;
7
+ align-items: center;
8
+ gap: 1rem;
9
+ padding: 0.75rem 0.85rem;
10
+ border-radius: 12px;
11
+ border: 1px dashed var(--surface-border);
12
+ background: var(--surface-0);
13
+ transition:
14
+ border-color 120ms ease,
15
+ background-color 120ms ease;
16
+ }
17
+
18
+ .sakai-file-picker__drop--drag {
19
+ border-color: var(--primary-color);
20
+ background: color-mix(in srgb, var(--primary-color) 6%, var(--surface-0));
21
+ }
22
+
23
+ .sakai-file-picker__icon {
24
+ width: 44px;
25
+ height: 44px;
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ border-radius: 12px;
30
+ border: 1px solid var(--surface-border);
31
+ background: var(--surface-50);
32
+ flex: 0 0 auto;
33
+ }
34
+
35
+ .sakai-file-picker__meta {
36
+ min-width: 0;
37
+ flex: 1 1 auto;
38
+ }
39
+
40
+ .sakai-file-picker__name {
41
+ font-weight: 600;
42
+ color: var(--text-color);
43
+ overflow: hidden;
44
+ text-overflow: ellipsis;
45
+ white-space: nowrap;
46
+ }
47
+
48
+ .sakai-file-picker__sub {
49
+ margin-top: 0.15rem;
50
+ font-size: 0.875rem;
51
+ color: var(--text-color-secondary);
52
+ overflow: hidden;
53
+ text-overflow: ellipsis;
54
+ white-space: nowrap;
55
+ }
56
+
57
+ .sakai-file-picker__actions {
58
+ display: flex;
59
+ align-items: center;
60
+ gap: 0.5rem;
61
+ flex: 0 0 auto;
62
+ }
63
+
64
+ .sakai-file-picker__helper {
65
+ margin-top: 0.35rem;
66
+ font-size: 0.875rem;
67
+ color: var(--text-color-secondary);
68
+ }
69
+
@@ -1,6 +1,6 @@
1
1
  import 'primeflex/primeflex.css';
2
2
  import 'primereact/resources/primereact.min.css';
3
- import 'primereact/resources/themes/lara-light-indigo/theme.css';
4
3
  import 'primeicons/primeicons.css';
4
+ import './components/filepicker.css';
5
5
  import './layout/layout.scss';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,yCAAyC,CAAC;AACjD,OAAO,yDAAyD,CAAC;AACjE,OAAO,2BAA2B,CAAC;AACnC,OAAO,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,yCAAyC,CAAC;AACjD,OAAO,2BAA2B,CAAC;AACnC,OAAO,6BAA6B,CAAC;AACrC,OAAO,sBAAsB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  require("primeflex/primeflex.css");
4
4
  require("primereact/resources/primereact.min.css");
5
- require("primereact/resources/themes/lara-light-indigo/theme.css");
6
5
  require("primeicons/primeicons.css");
6
+ require("./components/filepicker.css");
7
7
  require("./layout/layout.scss");
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":";;AAAA,mCAAiC;AACjC,mDAAiD;AACjD,mEAAiE;AACjE,qCAAmC;AACnC,gCAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":";;AAAA,mCAAiC;AACjC,mDAAiD;AACjD,qCAAmC;AACnC,uCAAqC;AACrC,gCAA8B"}
@@ -1,5 +1,5 @@
1
1
  import 'primeflex/primeflex.css';
2
2
  import 'primereact/resources/primereact.min.css';
3
- import 'primereact/resources/themes/lara-light-indigo/theme.css';
4
3
  import 'primeicons/primeicons.css';
4
+ import './components/filepicker.css';
5
5
  import './layout/layout.scss';
@@ -0,0 +1,279 @@
1
+ @use './_variables' as vars;
2
+
3
+ .sakai-section-header {
4
+ display: flex;
5
+ align-items: flex-end;
6
+ justify-content: space-between;
7
+ gap: 1.5rem;
8
+ margin-bottom: 1.5rem;
9
+ }
10
+
11
+ .sakai-section-header__title {
12
+ font-size: 1.4rem;
13
+ font-weight: 600;
14
+ color: var(--text-color);
15
+ margin: 0;
16
+ }
17
+
18
+ .sakai-section-header__subtitle {
19
+ margin: 0.35rem 0 0;
20
+ color: var(--text-color-secondary);
21
+ font-size: 0.95rem;
22
+ }
23
+
24
+ .sakai-section-header__actions {
25
+ display: flex;
26
+ align-items: center;
27
+ gap: 0.75rem;
28
+ }
29
+
30
+ .sakai-stat-card {
31
+ position: relative;
32
+ overflow: hidden;
33
+ padding: 1.5rem;
34
+ gap: 0.75rem;
35
+ }
36
+
37
+ .sakai-stat-card::before {
38
+ content: '';
39
+ position: absolute;
40
+ top: 0;
41
+ left: 0;
42
+ right: 0;
43
+ height: 4px;
44
+ background: linear-gradient(90deg, var(--primary-color), var(--cyan-500));
45
+ }
46
+
47
+ .sakai-stat-card--success::before {
48
+ background: linear-gradient(90deg, var(--green-500), var(--green-300));
49
+ }
50
+
51
+ .sakai-stat-card--warn::before {
52
+ background: linear-gradient(90deg, var(--yellow-500), var(--yellow-300));
53
+ }
54
+
55
+ .sakai-stat-card--danger::before {
56
+ background: linear-gradient(90deg, var(--red-500), var(--red-300));
57
+ }
58
+
59
+ .sakai-stat-card__top {
60
+ display: flex;
61
+ align-items: center;
62
+ justify-content: space-between;
63
+ gap: 1rem;
64
+ }
65
+
66
+ .sakai-stat-card__title {
67
+ font-size: 0.95rem;
68
+ color: var(--text-color-secondary);
69
+ font-weight: 500;
70
+ }
71
+
72
+ .sakai-stat-card__icon {
73
+ width: 2.75rem;
74
+ height: 2.75rem;
75
+ border-radius: 0.8rem;
76
+ display: inline-flex;
77
+ align-items: center;
78
+ justify-content: center;
79
+ background: var(--surface-100);
80
+ color: var(--text-color);
81
+ font-size: 1.2rem;
82
+ }
83
+
84
+ .sakai-stat-card--success .sakai-stat-card__icon {
85
+ background: var(--green-50);
86
+ color: var(--green-700);
87
+ }
88
+
89
+ .sakai-stat-card--warn .sakai-stat-card__icon {
90
+ background: var(--yellow-50);
91
+ color: var(--yellow-700);
92
+ }
93
+
94
+ .sakai-stat-card--danger .sakai-stat-card__icon {
95
+ background: var(--red-50);
96
+ color: var(--red-700);
97
+ }
98
+
99
+ .sakai-stat-card__value {
100
+ font-size: 2rem;
101
+ font-weight: 700;
102
+ letter-spacing: -0.02em;
103
+ color: var(--text-color);
104
+ }
105
+
106
+ .sakai-stat-card__trend {
107
+ display: inline-flex;
108
+ align-items: center;
109
+ gap: 0.5rem;
110
+ font-size: 0.9rem;
111
+ font-weight: 500;
112
+ }
113
+
114
+ .sakai-stat-card__trend-label {
115
+ color: var(--text-color-secondary);
116
+ font-weight: 400;
117
+ }
118
+
119
+ .sakai-stat-card__trend--up {
120
+ color: var(--green-600);
121
+ }
122
+
123
+ .sakai-stat-card__trend--down {
124
+ color: var(--red-500);
125
+ }
126
+
127
+ .sakai-stat-card__trend--neutral {
128
+ color: var(--text-color-secondary);
129
+ }
130
+
131
+ .sakai-stat-card__footer {
132
+ margin-top: 0.5rem;
133
+ color: var(--text-color-secondary);
134
+ font-size: 0.9rem;
135
+ }
136
+
137
+ .sakai-panel {
138
+ display: flex;
139
+ flex-direction: column;
140
+ gap: 1.25rem;
141
+ padding: 1.5rem;
142
+ }
143
+
144
+ .sakai-panel__header {
145
+ display: flex;
146
+ align-items: flex-start;
147
+ justify-content: space-between;
148
+ gap: 1.5rem;
149
+ padding-bottom: 1rem;
150
+ border-bottom: 1px solid var(--surface-border);
151
+ }
152
+
153
+ .sakai-panel__title {
154
+ margin: 0;
155
+ font-size: 1.15rem;
156
+ font-weight: 600;
157
+ color: var(--text-color);
158
+ }
159
+
160
+ .sakai-panel__subtitle {
161
+ margin: 0.35rem 0 0;
162
+ font-size: 0.95rem;
163
+ color: var(--text-color-secondary);
164
+ }
165
+
166
+ .sakai-panel__actions {
167
+ display: flex;
168
+ align-items: center;
169
+ gap: 0.75rem;
170
+ }
171
+
172
+ .sakai-panel__body {
173
+ display: flex;
174
+ flex-direction: column;
175
+ gap: 1rem;
176
+ }
177
+
178
+ .sakai-activity {
179
+ padding: 1.5rem;
180
+ }
181
+
182
+ .sakai-activity__header {
183
+ display: flex;
184
+ align-items: center;
185
+ justify-content: space-between;
186
+ margin-bottom: 1rem;
187
+ }
188
+
189
+ .sakai-activity__title {
190
+ margin: 0;
191
+ font-size: 1.15rem;
192
+ font-weight: 600;
193
+ color: var(--text-color);
194
+ }
195
+
196
+ .sakai-activity__list {
197
+ list-style: none;
198
+ padding: 0;
199
+ margin: 0;
200
+ display: flex;
201
+ flex-direction: column;
202
+ gap: 1.1rem;
203
+ }
204
+
205
+ .sakai-activity__item {
206
+ display: grid;
207
+ grid-template-columns: auto 1fr;
208
+ gap: 1rem;
209
+ align-items: flex-start;
210
+ }
211
+
212
+ .sakai-activity__icon {
213
+ width: 2.5rem;
214
+ height: 2.5rem;
215
+ border-radius: 0.9rem;
216
+ display: inline-flex;
217
+ align-items: center;
218
+ justify-content: center;
219
+ font-size: 1.1rem;
220
+ background: var(--surface-100);
221
+ color: var(--primary-color);
222
+ }
223
+
224
+ .sakai-activity__icon--primary {
225
+ background: var(--primary-50);
226
+ color: var(--primary-700);
227
+ }
228
+
229
+ .sakai-activity__icon--success {
230
+ background: var(--green-50);
231
+ color: var(--green-700);
232
+ }
233
+
234
+ .sakai-activity__icon--warn {
235
+ background: var(--yellow-50);
236
+ color: var(--yellow-700);
237
+ }
238
+
239
+ .sakai-activity__icon--danger {
240
+ background: var(--red-50);
241
+ color: var(--red-700);
242
+ }
243
+
244
+ .sakai-activity__content {
245
+ display: flex;
246
+ flex-direction: column;
247
+ gap: 0.4rem;
248
+ }
249
+
250
+ .sakai-activity__row {
251
+ display: flex;
252
+ align-items: center;
253
+ justify-content: space-between;
254
+ gap: 1rem;
255
+ }
256
+
257
+ .sakai-activity__item-title {
258
+ font-weight: 600;
259
+ color: var(--text-color);
260
+ }
261
+
262
+ .sakai-activity__time {
263
+ font-size: 0.85rem;
264
+ color: var(--text-color-secondary);
265
+ }
266
+
267
+ .sakai-activity__description {
268
+ margin: 0;
269
+ color: var(--text-color-secondary);
270
+ font-size: 0.95rem;
271
+ }
272
+
273
+ @media (max-width: 768px) {
274
+ .sakai-section-header,
275
+ .sakai-panel__header {
276
+ flex-direction: column;
277
+ align-items: flex-start;
278
+ }
279
+ }
@@ -0,0 +1,63 @@
1
+ @use './_variables' as vars;
2
+
3
+ /* Dialog (modal) */
4
+ .p-dialog-mask.p-component-overlay {
5
+ background: rgba(0, 0, 0, 0.35);
6
+ backdrop-filter: blur(2px);
7
+ }
8
+
9
+ .p-dialog {
10
+ border-radius: 14px;
11
+ overflow: hidden;
12
+ box-shadow:
13
+ 0 20px 50px rgba(0, 0, 0, 0.25),
14
+ 0 8px 20px rgba(0, 0, 0, 0.18);
15
+ border: 1px solid var(--surface-border);
16
+ }
17
+
18
+ .p-dialog .p-dialog-header {
19
+ padding: 1.25rem 1.25rem 0.75rem;
20
+ border-bottom: 1px solid var(--surface-border);
21
+ background: var(--surface-card);
22
+ }
23
+
24
+ .p-dialog .p-dialog-header .p-dialog-title {
25
+ font-size: 1.125rem;
26
+ font-weight: 650;
27
+ letter-spacing: -0.01em;
28
+ }
29
+
30
+ .p-dialog .p-dialog-header .p-dialog-header-icon {
31
+ width: 2.25rem;
32
+ height: 2.25rem;
33
+ border-radius: 10px;
34
+ }
35
+
36
+ .p-dialog .p-dialog-content {
37
+ padding: 1rem 1.25rem 1.25rem;
38
+ background: var(--surface-card);
39
+ }
40
+
41
+ .p-dialog .p-dialog-footer {
42
+ padding: 0.9rem 1.25rem 1.25rem;
43
+ border-top: 1px solid var(--surface-border);
44
+ background: var(--surface-card);
45
+ }
46
+
47
+ .p-dialog .p-dialog-footer .p-button {
48
+ border-radius: 10px;
49
+ }
50
+
51
+ /* Tighten field spacing in dialogs */
52
+ .p-dialog .p-dialog-content .field > label {
53
+ display: block;
54
+ margin-bottom: 0.5rem;
55
+ font-weight: 600;
56
+ color: var(--text-color);
57
+ }
58
+
59
+ .p-dialog .p-dialog-content .p-inputtext,
60
+ .p-dialog .p-dialog-content .p-dropdown,
61
+ .p-dialog .p-dialog-content .p-inputtextarea {
62
+ border-radius: 10px;
63
+ }