@ziky/ui 0.1.8 → 0.2.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 (57) hide show
  1. package/README.md +38 -6
  2. package/dist/components/FilePicker.d.ts +22 -0
  3. package/dist/components/FilePicker.d.ts.map +1 -0
  4. package/dist/components/FilePicker.js +93 -0
  5. package/dist/components/FilePicker.js.map +1 -0
  6. package/dist/components/ImageUploadField.d.ts +21 -0
  7. package/dist/components/ImageUploadField.d.ts.map +1 -0
  8. package/dist/components/ImageUploadField.js +35 -0
  9. package/dist/components/ImageUploadField.js.map +1 -0
  10. package/dist/components/SmartAvatar.d.ts +16 -0
  11. package/dist/components/SmartAvatar.d.ts.map +1 -0
  12. package/dist/components/SmartAvatar.js +57 -0
  13. package/dist/components/SmartAvatar.js.map +1 -0
  14. package/dist/components/SmartCheckbox.d.ts +33 -0
  15. package/dist/components/SmartCheckbox.d.ts.map +1 -0
  16. package/dist/components/SmartCheckbox.js +53 -0
  17. package/dist/components/SmartCheckbox.js.map +1 -0
  18. package/dist/components/SmartDataTable/SmartDataTable.d.ts +30 -0
  19. package/dist/components/SmartDataTable/SmartDataTable.d.ts.map +1 -0
  20. package/dist/components/SmartDataTable/SmartDataTable.js +132 -0
  21. package/dist/components/SmartDataTable/SmartDataTable.js.map +1 -0
  22. package/dist/components/SmartDataTable/applyClientQuery.d.ts +9 -0
  23. package/dist/components/SmartDataTable/applyClientQuery.d.ts.map +1 -0
  24. package/dist/components/SmartDataTable/applyClientQuery.js +52 -0
  25. package/dist/components/SmartDataTable/applyClientQuery.js.map +1 -0
  26. package/dist/components/SmartDataTable/types.d.ts +17 -0
  27. package/dist/components/SmartDataTable/types.d.ts.map +1 -0
  28. package/dist/components/SmartDataTable/types.js +3 -0
  29. package/dist/components/SmartDataTable/types.js.map +1 -0
  30. package/dist/components/SmartDataTable/urlState.d.ts +20 -0
  31. package/dist/components/SmartDataTable/urlState.d.ts.map +1 -0
  32. package/dist/components/SmartDataTable/urlState.js +117 -0
  33. package/dist/components/SmartDataTable/urlState.js.map +1 -0
  34. package/dist/index.d.ts +8 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +11 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/layout/AppTopbar.d.ts.map +1 -1
  39. package/dist/layout/AppTopbar.js +2 -1
  40. package/dist/layout/AppTopbar.js.map +1 -1
  41. package/dist/providers/RidinProviders.d.ts.map +1 -1
  42. package/dist/providers/RidinProviders.js +2 -1
  43. package/dist/providers/RidinProviders.js.map +1 -1
  44. package/dist/providers/SmartDialogProvider.d.ts +19 -0
  45. package/dist/providers/SmartDialogProvider.d.ts.map +1 -0
  46. package/dist/providers/SmartDialogProvider.js +74 -0
  47. package/dist/providers/SmartDialogProvider.js.map +1 -0
  48. package/dist/styles/components/filepicker.css +69 -0
  49. package/dist/styles/components/smartcheckbox.css +33 -0
  50. package/dist/styles/index.d.ts +2 -0
  51. package/dist/styles/index.d.ts.map +1 -1
  52. package/dist/styles/index.js +2 -0
  53. package/dist/styles/index.js.map +1 -1
  54. package/dist/styles/index.ts +2 -0
  55. package/dist/styles/layout/_smartdatatable.scss +38 -0
  56. package/dist/styles/layout/layout.scss +5 -4
  57. package/package.json +3 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartDataTable.js","sourceRoot":"","sources":["../../../src/components/SmartDataTable/SmartDataTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { SmartDataTableQuery, SmartDataTableResult } from './types';
2
+ type ApplyOptions<T> = {
3
+ searchFields?: Array<keyof T>;
4
+ filterFields?: Array<keyof T>;
5
+ getFieldValue?: (row: T, field: string) => unknown;
6
+ };
7
+ export declare function applySmartDataTableQuery<T>(rows: T[], query: SmartDataTableQuery, options?: ApplyOptions<T>): SmartDataTableResult<T>;
8
+ export {};
9
+ //# sourceMappingURL=applyClientQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyClientQuery.d.ts","sourceRoot":"","sources":["../../../src/components/SmartDataTable/applyClientQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEzE,KAAK,YAAY,CAAC,CAAC,IAAI;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CACpD,CAAC;AAeF,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,IAAI,EAAE,CAAC,EAAE,EACT,KAAK,EAAE,mBAAmB,EAC1B,OAAO,GAAE,YAAY,CAAC,CAAC,CAAM,GAC5B,oBAAoB,CAAC,CAAC,CAAC,CAsCzB"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applySmartDataTableQuery = applySmartDataTableQuery;
4
+ function normalize(value) {
5
+ return String(value ?? '').toLowerCase();
6
+ }
7
+ function defaultGetFieldValue(row, field) {
8
+ return row[field];
9
+ }
10
+ function matchesContains(haystack, needle) {
11
+ if (!needle)
12
+ return true;
13
+ return normalize(haystack).includes(needle);
14
+ }
15
+ function applySmartDataTableQuery(rows, query, options = {}) {
16
+ const searchNeedle = normalize(query.q);
17
+ const getFieldValue = options.getFieldValue ?? (defaultGetFieldValue);
18
+ const filtered = rows.filter((row) => {
19
+ if (searchNeedle && options.searchFields?.length) {
20
+ const matchAny = options.searchFields.some((field) => matchesContains(getFieldValue(row, String(field)), searchNeedle));
21
+ if (!matchAny)
22
+ return false;
23
+ }
24
+ for (const [field, value] of Object.entries(query.filters ?? {})) {
25
+ if (!value)
26
+ continue;
27
+ if (!matchesContains(getFieldValue(row, field), normalize(value)))
28
+ return false;
29
+ }
30
+ return true;
31
+ });
32
+ const sorted = (() => {
33
+ if (!query.sortField || !query.sortOrder)
34
+ return filtered;
35
+ const field = query.sortField;
36
+ const order = query.sortOrder;
37
+ return [...filtered].sort((a, b) => {
38
+ const av = getFieldValue(a, field);
39
+ const bv = getFieldValue(b, field);
40
+ const an = Number(av);
41
+ const bn = Number(bv);
42
+ if (Number.isFinite(an) && Number.isFinite(bn))
43
+ return order * (an - bn);
44
+ return order * normalize(av).localeCompare(normalize(bv));
45
+ });
46
+ })();
47
+ const total = sorted.length;
48
+ const start = Math.max(0, (query.page - 1) * query.rows);
49
+ const data = sorted.slice(start, start + query.rows);
50
+ return { data, total };
51
+ }
52
+ //# sourceMappingURL=applyClientQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyClientQuery.js","sourceRoot":"","sources":["../../../src/components/SmartDataTable/applyClientQuery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { DataTableFilterMeta } from 'primereact/datatable';
2
+ export type SmartSortOrder = 1 | -1;
3
+ export type SmartDataTableQuery = {
4
+ page: number;
5
+ rows: number;
6
+ sortField?: string;
7
+ sortOrder?: SmartSortOrder;
8
+ q?: string;
9
+ filters: Record<string, string>;
10
+ extra: Record<string, string>;
11
+ };
12
+ export type SmartDataTableResult<T> = {
13
+ data: T[];
14
+ total: number;
15
+ };
16
+ export type SmartDataTableFilterMeta = DataTableFilterMeta;
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/SmartDataTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/SmartDataTable/types.ts"],"names":[],"mappings":""}
@@ -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
@@ -17,9 +17,17 @@ export { default as AppMenuitem } from './layout/AppMenuitem';
17
17
  export * from './types';
18
18
  export * from './menu/adminMenu';
19
19
  export * from './providers/RidinProviders';
20
+ export { SmartDialogProvider, useSmartDialog } from './providers/SmartDialogProvider';
20
21
  export * from './components/GlobalLoadingOverlay';
21
22
  export * from './components/DashboardStatCard';
22
23
  export * from './components/DashboardPanel';
23
24
  export * from './components/SectionHeader';
24
25
  export * from './components/ActivityList';
26
+ export * from './components/FilePicker';
27
+ export * from './components/ImageUploadField';
28
+ export * from './components/SmartAvatar';
29
+ export * from './components/SmartCheckbox';
30
+ export * from './components/SmartDataTable/SmartDataTable';
31
+ export * from './components/SmartDataTable/types';
32
+ export * from './components/SmartDataTable/applyClientQuery';
25
33
  //# 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;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,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,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtF,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,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,8CAA8C,CAAC"}
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.AppMenuitem = exports.AppMenu = exports.AppConfig = exports.AppFooter = exports.AppSidebar = exports.AppTopbar = exports.MenuProvider = exports.MenuContext = exports.LayoutProvider = exports.LayoutContext = exports.RidinAdminLayout = exports.SakaiLayout = exports.Layout = void 0;
20
+ exports.useSmartDialog = exports.SmartDialogProvider = exports.AppMenuitem = exports.AppMenu = exports.AppConfig = exports.AppFooter = exports.AppSidebar = exports.AppTopbar = exports.MenuProvider = exports.MenuContext = exports.LayoutProvider = exports.LayoutContext = exports.RidinAdminLayout = exports.SakaiLayout = exports.Layout = void 0;
21
21
  require("./styles");
22
22
  var layout_1 = require("./layout/layout");
23
23
  Object.defineProperty(exports, "Layout", { enumerable: true, get: function () { return __importDefault(layout_1).default; } });
@@ -47,9 +47,19 @@ Object.defineProperty(exports, "AppMenuitem", { enumerable: true, get: function
47
47
  __exportStar(require("./types"), exports);
48
48
  __exportStar(require("./menu/adminMenu"), exports);
49
49
  __exportStar(require("./providers/RidinProviders"), exports);
50
+ var SmartDialogProvider_1 = require("./providers/SmartDialogProvider");
51
+ Object.defineProperty(exports, "SmartDialogProvider", { enumerable: true, get: function () { return SmartDialogProvider_1.SmartDialogProvider; } });
52
+ Object.defineProperty(exports, "useSmartDialog", { enumerable: true, get: function () { return SmartDialogProvider_1.useSmartDialog; } });
50
53
  __exportStar(require("./components/GlobalLoadingOverlay"), exports);
51
54
  __exportStar(require("./components/DashboardStatCard"), exports);
52
55
  __exportStar(require("./components/DashboardPanel"), exports);
53
56
  __exportStar(require("./components/SectionHeader"), exports);
54
57
  __exportStar(require("./components/ActivityList"), exports);
58
+ __exportStar(require("./components/FilePicker"), exports);
59
+ __exportStar(require("./components/ImageUploadField"), exports);
60
+ __exportStar(require("./components/SmartAvatar"), exports);
61
+ __exportStar(require("./components/SmartCheckbox"), exports);
62
+ __exportStar(require("./components/SmartDataTable/SmartDataTable"), exports);
63
+ __exportStar(require("./components/SmartDataTable/types"), exports);
64
+ __exportStar(require("./components/SmartDataTable/applyClientQuery"), exports);
55
65
  //# 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;AAClD,iEAA+C;AAC/C,8DAA4C;AAC5C,6DAA2C;AAC3C,4DAA0C"}
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,uEAAsF;AAA7E,0HAAA,mBAAmB,OAAA;AAAE,qHAAA,cAAc,OAAA;AAC5C,oEAAkD;AAClD,iEAA+C;AAC/C,8DAA4C;AAC5C,6DAA2C;AAC3C,4DAA0C;AAC1C,0DAAwC;AACxC,gEAA8C;AAC9C,2DAAyC;AACzC,6DAA2C;AAC3C,6EAA2D;AAC3D,oEAAkD;AAClD,+EAA6D"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppTopbar.d.ts","sourceRoot":"","sources":["../../src/layout/AppTopbar.tsx"],"names":[],"mappings":"AACA,OAAO,KAON,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7D,QAAA,MAAM,SAAS,qFAsMb,CAAC;AAIH,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"AppTopbar.d.ts","sourceRoot":"","sources":["../../src/layout/AppTopbar.tsx"],"names":[],"mappings":"AACA,OAAO,KAON,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7D,QAAA,MAAM,SAAS,qFA+Lb,CAAC;AAIH,eAAe,SAAS,CAAC"}
@@ -7,6 +7,7 @@ const layoutcontext_1 = require("./context/layoutcontext");
7
7
  const overlaypanel_1 = require("primereact/overlaypanel");
8
8
  const button_1 = require("primereact/button");
9
9
  const react_router_dom_1 = require("react-router-dom");
10
+ const SmartAvatar_1 = require("../components/SmartAvatar");
10
11
  const AppTopbar = (0, react_1.forwardRef)((props, ref) => {
11
12
  const { layoutConfig, layoutState, onMenuToggle, showProfileSidebar } = (0, react_1.useContext)(layoutcontext_1.LayoutContext);
12
13
  const menubuttonRef = (0, react_1.useRef)(null);
@@ -75,7 +76,7 @@ const AppTopbar = (0, react_1.forwardRef)((props, ref) => {
75
76
  }));
76
77
  return ((0, jsx_runtime_1.jsxs)("div", { className: "layout-topbar", children: [(0, jsx_runtime_1.jsxs)(react_router_dom_1.Link, { to: props.logoTo ?? '/', className: "layout-topbar-logo", children: [(0, jsx_runtime_1.jsx)("img", { src: `/layout/images/logo-${layoutConfig.colorScheme !== 'light' ? 'white' : 'dark'}.svg`, width: "47.22px", height: '35px', alt: "logo" }), (0, jsx_runtime_1.jsx)("span", { children: props.logoText ?? 'SAKAI' })] }), (0, jsx_runtime_1.jsx)("button", { ref: menubuttonRef, type: "button", className: "p-link layout-menu-button layout-topbar-button", onClick: onMenuToggle, children: (0, jsx_runtime_1.jsx)("i", { className: "pi pi-bars" }) }), (0, jsx_runtime_1.jsx)("button", { ref: topbarmenubuttonRef, type: "button", className: "p-link layout-topbar-menu-button layout-topbar-button", onClick: showProfileSidebar, children: (0, jsx_runtime_1.jsx)("i", { className: "pi pi-ellipsis-v" }) }), (0, jsx_runtime_1.jsxs)("div", { ref: topbarmenuRef, className: (0, utils_1.classNames)('layout-topbar-menu', {
77
78
  'layout-topbar-menu-mobile-active': layoutState.profileSidebarVisible,
78
- }), children: [(0, jsx_runtime_1.jsxs)("button", { type: "button", className: "p-link layout-topbar-button", children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-calendar" }), (0, jsx_runtime_1.jsx)("span", { children: t('topbar.calendar') })] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", className: "p-link layout-topbar-button", onClick: () => navigate(props.profileTo ?? '/profile'), children: [(0, jsx_runtime_1.jsx)("img", { src: avatarUrl, alt: t('topbar.profile'), width: 24, height: 24, className: "border-circle", style: { objectFit: 'cover' } }), (0, jsx_runtime_1.jsx)("span", { children: t('topbar.profile') })] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", className: "p-link layout-topbar-button", onClick: (e) => profileOverlayRef.current?.toggle(e), children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-cog" }), (0, jsx_runtime_1.jsx)("span", { children: t('topbar.settings') })] })] }), (0, jsx_runtime_1.jsxs)(overlaypanel_1.OverlayPanel, { ref: profileOverlayRef, className: "p-3 w-19rem", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex align-items-center mb-3 gap-3", children: [(0, jsx_runtime_1.jsxs)("div", { className: "relative", children: [(0, jsx_runtime_1.jsx)("img", { src: avatarUrl, alt: "Profile avatar", width: 48, height: 48, className: "border-circle cursor-pointer", onClick: handlePickAvatar }), (0, jsx_runtime_1.jsx)("input", { ref: fileInputRef, type: "file", accept: "image/*", style: { display: 'none' }, onChange: (e) => void handleAvatarSelected(e) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "min-w-0", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-900 font-semibold truncate", children: displayName }), (0, jsx_runtime_1.jsx)("div", { className: "text-600 text-sm truncate", children: userEmail })] })] }), avatarError && (0, jsx_runtime_1.jsx)("div", { className: "p-error mb-2", children: avatarError }), (0, jsx_runtime_1.jsxs)("div", { className: "surface-50 border-round p-3 mb-3", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-900 font-medium mb-2", children: t('topbar.quickActions') }), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2 flex-column", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { label: t('topbar.settingsPage'), icon: "pi pi-sliders-h", className: "p-button-sm w-full", onClick: () => {
79
+ }), children: [(0, jsx_runtime_1.jsxs)("button", { type: "button", className: "p-link layout-topbar-button", children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-calendar" }), (0, jsx_runtime_1.jsx)("span", { children: t('topbar.calendar') })] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", className: "p-link layout-topbar-button", onClick: () => navigate(props.profileTo ?? '/profile'), children: [(0, jsx_runtime_1.jsx)(SmartAvatar_1.SmartAvatar, { src: avatarUrl, name: displayName, size: 24, alt: t('topbar.profile') }), (0, jsx_runtime_1.jsx)("span", { children: t('topbar.profile') })] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", className: "p-link layout-topbar-button", onClick: (e) => profileOverlayRef.current?.toggle(e), children: [(0, jsx_runtime_1.jsx)("i", { className: "pi pi-cog" }), (0, jsx_runtime_1.jsx)("span", { children: t('topbar.settings') })] })] }), (0, jsx_runtime_1.jsxs)(overlaypanel_1.OverlayPanel, { ref: profileOverlayRef, className: "p-3 w-19rem", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex align-items-center mb-3 gap-3", children: [(0, jsx_runtime_1.jsxs)("div", { className: "relative", children: [(0, jsx_runtime_1.jsx)(SmartAvatar_1.SmartAvatar, { src: avatarUrl, name: displayName, size: 48, alt: "Profile avatar", onClick: handlePickAvatar, style: { cursor: 'pointer' } }), (0, jsx_runtime_1.jsx)("input", { ref: fileInputRef, type: "file", accept: "image/*", style: { display: 'none' }, onChange: (e) => void handleAvatarSelected(e) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "min-w-0", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-900 font-semibold truncate", children: displayName }), (0, jsx_runtime_1.jsx)("div", { className: "text-600 text-sm truncate", children: userEmail })] })] }), avatarError && (0, jsx_runtime_1.jsx)("div", { className: "p-error mb-2", children: avatarError }), (0, jsx_runtime_1.jsxs)("div", { className: "surface-50 border-round p-3 mb-3", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-900 font-medium mb-2", children: t('topbar.quickActions') }), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2 flex-column", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { label: t('topbar.settingsPage'), icon: "pi pi-sliders-h", className: "p-button-sm w-full", onClick: () => {
79
80
  profileOverlayRef.current?.hide();
80
81
  navigate(props.settingsTo ?? '/settings');
81
82
  } }), (0, jsx_runtime_1.jsx)(react_router_dom_1.Link, { className: "w-full", to: props.profileTo ?? '/profile', children: (0, jsx_runtime_1.jsx)(button_1.Button, { label: t('topbar.profile'), icon: "pi pi-user", className: "p-button-outlined p-button-sm w-full", onClick: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"AppTopbar.js","sourceRoot":"","sources":["../../src/layout/AppTopbar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppTopbar.js","sourceRoot":"","sources":["../../src/layout/AppTopbar.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RidinProviders.d.ts","sourceRoot":"","sources":["../../src/providers/RidinProviders.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAWnE"}
1
+ {"version":3,"file":"RidinProviders.d.ts","sourceRoot":"","sources":["../../src/providers/RidinProviders.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAWnE"}
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RidinProviders = RidinProviders;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const api_1 = require("primereact/api");
6
+ const SmartDialogProvider_1 = require("./SmartDialogProvider");
6
7
  function RidinProviders({ children }) {
7
8
  return ((0, jsx_runtime_1.jsx)(api_1.PrimeReactProvider, { value: {
8
9
  ripple: true,
9
10
  hideOverlaysOnDocumentScrolling: false,
10
- }, children: children }));
11
+ }, children: (0, jsx_runtime_1.jsx)(SmartDialogProvider_1.SmartDialogProvider, { children: children }) }));
11
12
  }
12
13
  //# sourceMappingURL=RidinProviders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RidinProviders.js","sourceRoot":"","sources":["../../src/providers/RidinProviders.tsx"],"names":[],"mappings":";;AAGA,wCAWC;;AAbD,wCAAoD;AAEpD,SAAgB,cAAc,CAAC,EAAE,QAAQ,EAA2B;IAClE,OAAO,CACL,uBAAC,wBAAkB,IACjB,KAAK,EAAE;YACL,MAAM,EAAE,IAAI;YACZ,+BAA+B,EAAE,KAAK;SACvC,YAEA,QAAQ,GACU,CACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"RidinProviders.js","sourceRoot":"","sources":["../../src/providers/RidinProviders.tsx"],"names":[],"mappings":";;AAIA,wCAWC;;AAdD,wCAAoD;AACpD,+DAA4D;AAE5D,SAAgB,cAAc,CAAC,EAAE,QAAQ,EAA2B;IAClE,OAAO,CACL,uBAAC,wBAAkB,IACjB,KAAK,EAAE;YACL,MAAM,EAAE,IAAI;YACZ,+BAA+B,EAAE,KAAK;SACvC,YAED,uBAAC,yCAAmB,cAAE,QAAQ,GAAuB,GAClC,CACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { ReactNode } from 'react';
2
+ type SmartDialogVariant = 'info' | 'success' | 'warning' | 'error';
3
+ type SmartDialogOptions = {
4
+ title?: ReactNode;
5
+ message: ReactNode;
6
+ variant?: SmartDialogVariant;
7
+ confirmLabel?: string;
8
+ cancelLabel?: string;
9
+ };
10
+ type SmartDialogContextValue = {
11
+ alert: (options: SmartDialogOptions) => Promise<void>;
12
+ confirm: (options: SmartDialogOptions) => Promise<boolean>;
13
+ };
14
+ export declare function SmartDialogProvider({ children }: {
15
+ children: ReactNode;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ export declare function useSmartDialog(): SmartDialogContextValue;
18
+ export {};
19
+ //# sourceMappingURL=SmartDialogProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartDialogProvider.d.ts","sourceRoot":"","sources":["../../src/providers/SmartDialogProvider.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,KAAK,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnE,KAAK,kBAAkB,GAAG;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAQF,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D,CAAC;AAqBF,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAsGxE;AAED,wBAAgB,cAAc,4BAM7B"}
@@ -0,0 +1,74 @@
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.SmartDialogProvider = SmartDialogProvider;
7
+ exports.useSmartDialog = useSmartDialog;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
9
+ const react_1 = __importDefault(require("react"));
10
+ const button_1 = require("primereact/button");
11
+ const dialog_1 = require("primereact/dialog");
12
+ const SmartDialogContext = react_1.default.createContext(null);
13
+ const VARIANT_META = {
14
+ info: { icon: 'pi pi-info-circle', color: '#2563eb' },
15
+ success: { icon: 'pi pi-check-circle', color: '#059669' },
16
+ warning: { icon: 'pi pi-exclamation-triangle', color: '#d97706' },
17
+ error: { icon: 'pi pi-times-circle', color: '#dc2626' },
18
+ };
19
+ const DEFAULT_CANCEL_LABEL = 'Cancel';
20
+ const DEFAULT_CONFIRM_LABEL = {
21
+ alert: 'OK',
22
+ confirm: 'Yes',
23
+ };
24
+ function getDefaultTitle(type) {
25
+ return type === 'confirm' ? 'Confirm action' : 'Notice';
26
+ }
27
+ function SmartDialogProvider({ children }) {
28
+ const [activeDialog, setActiveDialog] = react_1.default.useState(null);
29
+ const showDialog = react_1.default.useCallback((options, type) => {
30
+ return new Promise((resolve) => {
31
+ setActiveDialog({
32
+ ...options,
33
+ variant: options.variant ?? (type === 'confirm' ? 'warning' : 'info'),
34
+ type,
35
+ resolve,
36
+ });
37
+ });
38
+ }, []);
39
+ const alert = react_1.default.useCallback((options) => showDialog(options, 'alert'), [showDialog]);
40
+ const confirm = react_1.default.useCallback((options) => showDialog(options, 'confirm'), [showDialog]);
41
+ const handleConfirm = react_1.default.useCallback(() => {
42
+ setActiveDialog((current) => {
43
+ if (current) {
44
+ current.resolve(current.type === 'confirm' ? true : undefined);
45
+ }
46
+ return null;
47
+ });
48
+ }, []);
49
+ const handleCancel = react_1.default.useCallback(() => {
50
+ setActiveDialog((current) => {
51
+ if (current) {
52
+ current.resolve(false);
53
+ }
54
+ return null;
55
+ });
56
+ }, []);
57
+ const footer = react_1.default.useMemo(() => {
58
+ if (!activeDialog)
59
+ return null;
60
+ const confirmSeverity = activeDialog.variant === 'error' ? 'danger' : activeDialog.variant;
61
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-content-end gap-2", children: [activeDialog.type === 'confirm' && ((0, jsx_runtime_1.jsx)(button_1.Button, { label: activeDialog.cancelLabel ?? DEFAULT_CANCEL_LABEL, onClick: handleCancel, severity: "secondary", type: "button" })), (0, jsx_runtime_1.jsx)(button_1.Button, { label: activeDialog.confirmLabel ?? DEFAULT_CONFIRM_LABEL[activeDialog.type], onClick: handleConfirm, severity: confirmSeverity, autoFocus: true, type: "button" })] }));
62
+ }, [activeDialog, handleCancel, handleConfirm]);
63
+ const title = activeDialog?.title ?? (activeDialog ? getDefaultTitle(activeDialog.type) : undefined);
64
+ const meta = activeDialog ? VARIANT_META[activeDialog.variant] : null;
65
+ return ((0, jsx_runtime_1.jsxs)(SmartDialogContext.Provider, { value: { alert, confirm }, children: [children, (0, jsx_runtime_1.jsx)(dialog_1.Dialog, { visible: Boolean(activeDialog), header: title, onHide: activeDialog?.type === 'confirm' ? handleCancel : handleConfirm, modal: true, closable: false, dismissableMask: false, breakpoints: { '640px': '90vw' }, style: { minWidth: '360px' }, footer: footer, focusOnShow: true, children: activeDialog && ((0, jsx_runtime_1.jsxs)("div", { className: "flex gap-4", children: [meta && ((0, jsx_runtime_1.jsx)("span", { style: { fontSize: '1.6rem', color: meta.color }, children: (0, jsx_runtime_1.jsx)("i", { className: meta.icon, "aria-hidden": true }) })), (0, jsx_runtime_1.jsx)("div", { className: "flex-1", children: (0, jsx_runtime_1.jsx)("p", { className: "m-0", children: activeDialog.message }) })] })) })] }));
66
+ }
67
+ function useSmartDialog() {
68
+ const context = react_1.default.useContext(SmartDialogContext);
69
+ if (!context) {
70
+ throw new Error('useSmartDialog must be used within a SmartDialogProvider');
71
+ }
72
+ return context;
73
+ }
74
+ //# sourceMappingURL=SmartDialogProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartDialogProvider.js","sourceRoot":"","sources":["../../src/providers/SmartDialogProvider.tsx"],"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
+