@sd-angular/core 19.0.4 → 19.0.7

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 (56) hide show
  1. package/README.md +13 -8
  2. package/assets/{scss/README.md → STYLE-GUIDE.md} +3 -0
  3. package/components/index.d.ts +3 -0
  4. package/components/org-chart/index.d.ts +3 -0
  5. package/components/org-chart/src/org-chart-item-def.directive.d.ts +9 -0
  6. package/components/org-chart/src/org-chart.component.d.ts +26 -0
  7. package/components/org-chart/src/org-chart.model.d.ts +32 -0
  8. package/components/query-bar/src/query-bar.component.d.ts +15 -2
  9. package/components/query-bar/src/query-bar.model.d.ts +22 -0
  10. package/components/query-builder/src/query-builder.component.d.ts +23 -6
  11. package/components/query-builder/src/query-builder.model.d.ts +71 -23
  12. package/components/section/src/section.component.d.ts +4 -1
  13. package/components/splitter/src/splitter.component.d.ts +8 -2
  14. package/components/splitter/src/splitter.models.d.ts +13 -0
  15. package/components/table/src/services/table-filter/table-filter.model.d.ts +2 -0
  16. package/components/tree/index.d.ts +3 -0
  17. package/components/tree/src/tree-item-def.directive.d.ts +9 -0
  18. package/components/tree/src/tree.component.d.ts +102 -0
  19. package/components/tree/src/tree.model.d.ts +142 -0
  20. package/components/upload-file/src/upload-file.component.d.ts +7 -4
  21. package/fesm2022/sd-angular-core-components-form-generic.mjs +2 -2
  22. package/fesm2022/sd-angular-core-components-form-generic.mjs.map +1 -1
  23. package/fesm2022/sd-angular-core-components-org-chart.mjs +110 -0
  24. package/fesm2022/sd-angular-core-components-org-chart.mjs.map +1 -0
  25. package/fesm2022/sd-angular-core-components-query-bar.mjs +37 -8
  26. package/fesm2022/sd-angular-core-components-query-bar.mjs.map +1 -1
  27. package/fesm2022/sd-angular-core-components-query-builder.mjs +257 -59
  28. package/fesm2022/sd-angular-core-components-query-builder.mjs.map +1 -1
  29. package/fesm2022/sd-angular-core-components-section.mjs +7 -4
  30. package/fesm2022/sd-angular-core-components-section.mjs.map +1 -1
  31. package/fesm2022/sd-angular-core-components-splitter.mjs +39 -14
  32. package/fesm2022/sd-angular-core-components-splitter.mjs.map +1 -1
  33. package/fesm2022/sd-angular-core-components-table.mjs +6 -2
  34. package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
  35. package/fesm2022/sd-angular-core-components-tree.mjs +526 -0
  36. package/fesm2022/sd-angular-core-components-tree.mjs.map +1 -0
  37. package/fesm2022/sd-angular-core-components-upload-file.mjs +15 -9
  38. package/fesm2022/sd-angular-core-components-upload-file.mjs.map +1 -1
  39. package/fesm2022/sd-angular-core-components.mjs +3 -0
  40. package/fesm2022/sd-angular-core-components.mjs.map +1 -1
  41. package/fesm2022/sd-angular-core-forms-autocomplete.mjs +2 -2
  42. package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
  43. package/fesm2022/sd-angular-core-forms-select.mjs +65 -6
  44. package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
  45. package/fesm2022/sd-angular-core-modules-keycloak.mjs +30 -7
  46. package/fesm2022/sd-angular-core-modules-keycloak.mjs.map +1 -1
  47. package/forms/select/index.d.ts +1 -0
  48. package/forms/select/src/select-footer-action.directive.d.ts +11 -0
  49. package/forms/select/src/select.component.d.ts +17 -1
  50. package/modules/keycloak/htmls/auth-keycloak-error.html +54 -0
  51. package/modules/keycloak/htmls/silent-renew.html +7 -0
  52. package/modules/keycloak/keycloak.configuration.d.ts +25 -0
  53. package/modules/keycloak/keycloak.service.d.ts +5 -0
  54. package/package.json +76 -68
  55. package/sd-angular-core-19.0.7.tgz +0 -0
  56. package/sd-angular-core-19.0.4.tgz +0 -0
@@ -0,0 +1,54 @@
1
+ <!doctype html>
2
+ <html lang="vi">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Lỗi đăng nhập</title>
7
+ <!--
8
+ Trang lỗi tĩnh (fallback) cho luồng đăng nhập Keycloak — đích redirect khi keycloak.init() thất bại.
9
+
10
+ MẪU TỔNG QUÁT TỪ CORE: dùng được NGAY, không cần chỉnh sửa gì. Consumer COPY file này vào
11
+ `public/auth-keycloak-error.html` (hoặc tên theo `authErrorUrl`). Khi muốn, tuỳ biến tại các
12
+ placeholder bên dưới (logo, thông tin hỗ trợ, nội dung, ngôn ngữ).
13
+
14
+ Nguyên tắc: KHÔNG phụ thuộc JS/CSS/ảnh bên ngoài (bundle app có thể đã lỗi) → style để inline,
15
+ mặc định không nhúng tài nguyên nào.
16
+ -->
17
+ <style>
18
+ * { box-sizing: border-box; }
19
+ html, body { height: 100%; margin: 0; }
20
+ body {
21
+ display: flex; align-items: center; justify-content: center;
22
+ min-height: 100vh; padding: 24px;
23
+ font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
24
+ color: #1f2937; background: #f5f6f8;
25
+ }
26
+ .box {
27
+ max-width: 480px; width: 100%; text-align: center;
28
+ background: #fff; border: 1px solid #e5e7eb; border-radius: 12px;
29
+ padding: 40px 32px; box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
30
+ }
31
+ h1 { font-size: 20px; margin: 0 0 12px; }
32
+ p { margin: 8px 0; line-height: 1.6; color: #4b5563; font-size: 14px; }
33
+ .actions { margin-top: 24px; }
34
+ .btn {
35
+ display: inline-block; padding: 10px 20px; border-radius: 8px;
36
+ background: #2563eb; color: #fff; text-decoration: none; font-size: 14px;
37
+ }
38
+ </style>
39
+ </head>
40
+ <body>
41
+ <main class="box">
42
+ <!-- (Tuỳ chọn) Logo — bỏ comment và sửa src:
43
+ <img src="/your-logo.svg" alt="logo" style="height: 40px; margin-bottom: 24px;" /> -->
44
+ <h1>Có lỗi xảy ra khi đăng nhập</h1>
45
+ <p>Hệ thống đang gặp sự cố kỹ thuật trong quá trình xác thực. Trang chưa thể tải đầy đủ thông tin.</p>
46
+ <p>Vui lòng thử lại sau ít phút.</p>
47
+ <!-- (Tuỳ chọn) Thông tin hỗ trợ — bỏ comment và sửa email/đường dẫn:
48
+ <p>Cần hỗ trợ? Liên hệ <a href="mailto:you@example.com">you@example.com</a></p> -->
49
+ <div class="actions">
50
+ <a class="btn" href="/">Thử lại</a>
51
+ </div>
52
+ </main>
53
+ </body>
54
+ </html>
@@ -0,0 +1,7 @@
1
+ <html>
2
+ <body>
3
+ <script>
4
+ parent.postMessage(location.href, location.origin);
5
+ </script>
6
+ </body>
7
+ </html>
@@ -4,6 +4,31 @@ export interface SdKeycloakTenantConfig {
4
4
  realm: string;
5
5
  clientId: string;
6
6
  secureRoutes?: string[];
7
+ /**
8
+ * Basename (KHÔNG kèm đuôi `.html`) của file Keycloak **silent SSO redirect** mà consumer
9
+ * BẮT BUỘC đặt trong thư mục `public/`. Mặc định `'silent-renew'`.
10
+ *
11
+ * Service sẽ truyền `${origin}/<silentRenewUrl>.html` vào `silentCheckSsoRedirectUri`. Với giá trị
12
+ * mặc định, Keycloak gọi `${origin}/silent-renew.html` (giống hành vi cũ — không phá vỡ project hiện có).
13
+ *
14
+ * Consumer cần tạo file tĩnh này (nội dung mẫu ở `modules/keycloak/htmls/silent-renew.html`); nếu THIẾU,
15
+ * silent `check-sso` thất bại và `init()` trả về `false` không mong muốn (user bị coi là chưa đăng nhập).
16
+ * Cho phép truyền kèm `/` đầu hoặc đuôi `.html` (tự chuẩn hoá), hoặc đặt sâu hơn:
17
+ * `'assets/silent-renew'` → `${origin}/assets/silent-renew.html`.
18
+ */
19
+ silentRenewUrl?: string;
20
+ /**
21
+ * Basename (KHÔNG kèm đuôi `.html`) của **trang lỗi tĩnh** trong `public/`, dùng làm đích redirect khi
22
+ * `keycloak.init()` NÉM LỖI (Keycloak sập / mạng lỗi / cấu hình realm sai). Mặc định `'auth-keycloak-error'`.
23
+ *
24
+ * Khi init thất bại, app điều hướng full-page tới `${origin}/<authErrorUrl>.html`. Vì là file tĩnh nên
25
+ * trang lỗi vẫn hiển thị kể cả khi bundle Angular chưa khởi tạo được. Service cũng tự bỏ qua `init()` nếu
26
+ * đang đứng sẵn ở trang lỗi này (chống vòng lặp redirect).
27
+ *
28
+ * Consumer nên tạo file (nội dung mẫu ở `modules/keycloak/htmls/auth-keycloak-error.html`) và viết lại
29
+ * branding/nội dung. Nếu THIẾU, redirect rơi vào trang 404 của host. Chuẩn hoá giá trị giống `silentRenewUrl`.
30
+ */
31
+ authErrorUrl?: string;
7
32
  }
8
33
  export interface ISdKeycloakConfiguration {
9
34
  loadTenantConfig: () => Promise<SdKeycloakTenantConfig>;
@@ -5,6 +5,11 @@ export declare class SdKeycloakService {
5
5
  keycloak: Keycloak;
6
6
  config: SdKeycloakTenantConfig;
7
7
  init(config: SdKeycloakTenantConfig): Promise<boolean>;
8
+ /**
9
+ * Chuẩn hoá basename file tĩnh trong public/ thành URL tuyệt đối.
10
+ * `'silent-renew'` | `'/silent-renew'` | `'silent-renew.html'` → `${origin}/silent-renew.html`.
11
+ */
12
+ private toPublicHtmlUrl;
8
13
  login(): Promise<void>;
9
14
  logout(): Promise<void>;
10
15
  getToken(): string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sd-angular/core",
3
- "version": "19.0.4",
3
+ "version": "19.0.7",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.0.0 || ^20.0.0 || ^21.0.0",
6
6
  "@angular/core": "^19.0.0 || ^20.0.0 || ^21.0.0",
@@ -8,7 +8,7 @@
8
8
  "@angular/material-date-fns-adapter": "^19.0.0 || ^20.0.0 || ^21.0.0"
9
9
  },
10
10
  "dependencies": {
11
- "@sdcorejs/utils": "^1.1.2",
11
+ "@sdcorejs/utils": "^1.1.3",
12
12
  "@ckeditor/ckeditor5-angular": "11.1.2",
13
13
  "@omer-go/docx-parser-converter-ts": "^1.0.0",
14
14
  "@bjorn3/browser_wasi_shim": "^0.4.2",
@@ -32,26 +32,26 @@
32
32
  "types": "./index.d.ts",
33
33
  "default": "./fesm2022/sd-angular-core.mjs"
34
34
  },
35
- "./configurations": {
36
- "types": "./configurations/index.d.ts",
37
- "default": "./fesm2022/sd-angular-core-configurations.mjs"
38
- },
39
35
  "./components": {
40
36
  "types": "./components/index.d.ts",
41
37
  "default": "./fesm2022/sd-angular-core-components.mjs"
42
38
  },
39
+ "./configurations": {
40
+ "types": "./configurations/index.d.ts",
41
+ "default": "./fesm2022/sd-angular-core-configurations.mjs"
42
+ },
43
43
  "./directives": {
44
44
  "types": "./directives/index.d.ts",
45
45
  "default": "./fesm2022/sd-angular-core-directives.mjs"
46
46
  },
47
- "./forms": {
48
- "types": "./forms/index.d.ts",
49
- "default": "./fesm2022/sd-angular-core-forms.mjs"
50
- },
51
47
  "./handlers": {
52
48
  "types": "./handlers/index.d.ts",
53
49
  "default": "./fesm2022/sd-angular-core-handlers.mjs"
54
50
  },
51
+ "./forms": {
52
+ "types": "./forms/index.d.ts",
53
+ "default": "./fesm2022/sd-angular-core-forms.mjs"
54
+ },
55
55
  "./i18n": {
56
56
  "types": "./i18n/index.d.ts",
57
57
  "default": "./fesm2022/sd-angular-core-i18n.mjs"
@@ -84,14 +84,14 @@
84
84
  "types": "./components/anchor/index.d.ts",
85
85
  "default": "./fesm2022/sd-angular-core-components-anchor.mjs"
86
86
  },
87
- "./components/autoid-inspector": {
88
- "types": "./components/autoid-inspector/index.d.ts",
89
- "default": "./fesm2022/sd-angular-core-components-autoid-inspector.mjs"
90
- },
91
87
  "./components/avatar": {
92
88
  "types": "./components/avatar/index.d.ts",
93
89
  "default": "./fesm2022/sd-angular-core-components-avatar.mjs"
94
90
  },
91
+ "./components/autoid-inspector": {
92
+ "types": "./components/autoid-inspector/index.d.ts",
93
+ "default": "./fesm2022/sd-angular-core-components-autoid-inspector.mjs"
94
+ },
95
95
  "./components/base": {
96
96
  "types": "./components/base/index.d.ts",
97
97
  "default": "./fesm2022/sd-angular-core-components-base.mjs"
@@ -128,50 +128,54 @@
128
128
  "types": "./components/form-generic/index.d.ts",
129
129
  "default": "./fesm2022/sd-angular-core-components-form-generic.mjs"
130
130
  },
131
+ "./components/import-excel": {
132
+ "types": "./components/import-excel/index.d.ts",
133
+ "default": "./fesm2022/sd-angular-core-components-import-excel.mjs"
134
+ },
131
135
  "./components/history": {
132
136
  "types": "./components/history/index.d.ts",
133
137
  "default": "./fesm2022/sd-angular-core-components-history.mjs"
134
138
  },
135
- "./components/import-excel": {
136
- "types": "./components/import-excel/index.d.ts",
137
- "default": "./fesm2022/sd-angular-core-components-import-excel.mjs"
139
+ "./components/inform": {
140
+ "types": "./components/inform/index.d.ts",
141
+ "default": "./fesm2022/sd-angular-core-components-inform.mjs"
138
142
  },
139
143
  "./components/mini-editor": {
140
144
  "types": "./components/mini-editor/index.d.ts",
141
145
  "default": "./fesm2022/sd-angular-core-components-mini-editor.mjs"
142
146
  },
147
+ "./components/modal": {
148
+ "types": "./components/modal/index.d.ts",
149
+ "default": "./fesm2022/sd-angular-core-components-modal.mjs"
150
+ },
143
151
  "./components/operator": {
144
152
  "types": "./components/operator/index.d.ts",
145
153
  "default": "./fesm2022/sd-angular-core-components-operator.mjs"
146
154
  },
147
- "./components/inform": {
148
- "types": "./components/inform/index.d.ts",
149
- "default": "./fesm2022/sd-angular-core-components-inform.mjs"
150
- },
151
155
  "./components/preview": {
152
156
  "types": "./components/preview/index.d.ts",
153
157
  "default": "./fesm2022/sd-angular-core-components-preview.mjs"
154
158
  },
155
- "./components/query-builder": {
156
- "types": "./components/query-builder/index.d.ts",
157
- "default": "./fesm2022/sd-angular-core-components-query-builder.mjs"
158
- },
159
159
  "./components/query-bar": {
160
160
  "types": "./components/query-bar/index.d.ts",
161
161
  "default": "./fesm2022/sd-angular-core-components-query-bar.mjs"
162
162
  },
163
- "./components/quick-action": {
164
- "types": "./components/quick-action/index.d.ts",
165
- "default": "./fesm2022/sd-angular-core-components-quick-action.mjs"
163
+ "./components/query-builder": {
164
+ "types": "./components/query-builder/index.d.ts",
165
+ "default": "./fesm2022/sd-angular-core-components-query-builder.mjs"
166
166
  },
167
- "./components/modal-resizable": {
168
- "types": "./components/modal-resizable/index.d.ts",
169
- "default": "./fesm2022/sd-angular-core-components-modal-resizable.mjs"
167
+ "./components/org-chart": {
168
+ "types": "./components/org-chart/index.d.ts",
169
+ "default": "./fesm2022/sd-angular-core-components-org-chart.mjs"
170
170
  },
171
171
  "./components/section": {
172
172
  "types": "./components/section/index.d.ts",
173
173
  "default": "./fesm2022/sd-angular-core-components-section.mjs"
174
174
  },
175
+ "./components/quick-action": {
176
+ "types": "./components/quick-action/index.d.ts",
177
+ "default": "./fesm2022/sd-angular-core-components-quick-action.mjs"
178
+ },
175
179
  "./components/side-drawer": {
176
180
  "types": "./components/side-drawer/index.d.ts",
177
181
  "default": "./fesm2022/sd-angular-core-components-side-drawer.mjs"
@@ -180,14 +184,14 @@
180
184
  "types": "./components/splitter/index.d.ts",
181
185
  "default": "./fesm2022/sd-angular-core-components-splitter.mjs"
182
186
  },
183
- "./components/tab": {
184
- "types": "./components/tab/index.d.ts",
185
- "default": "./fesm2022/sd-angular-core-components-tab.mjs"
186
- },
187
187
  "./components/stepper": {
188
188
  "types": "./components/stepper/index.d.ts",
189
189
  "default": "./fesm2022/sd-angular-core-components-stepper.mjs"
190
190
  },
191
+ "./components/tab": {
192
+ "types": "./components/tab/index.d.ts",
193
+ "default": "./fesm2022/sd-angular-core-components-tab.mjs"
194
+ },
191
195
  "./components/tab-router": {
192
196
  "types": "./components/tab-router/index.d.ts",
193
197
  "default": "./fesm2022/sd-angular-core-components-tab-router.mjs"
@@ -196,34 +200,38 @@
196
200
  "types": "./components/table/index.d.ts",
197
201
  "default": "./fesm2022/sd-angular-core-components-table.mjs"
198
202
  },
199
- "./components/view": {
200
- "types": "./components/view/index.d.ts",
201
- "default": "./fesm2022/sd-angular-core-components-view.mjs"
203
+ "./components/tree": {
204
+ "types": "./components/tree/index.d.ts",
205
+ "default": "./fesm2022/sd-angular-core-components-tree.mjs"
202
206
  },
203
207
  "./components/upload-file": {
204
208
  "types": "./components/upload-file/index.d.ts",
205
209
  "default": "./fesm2022/sd-angular-core-components-upload-file.mjs"
206
210
  },
211
+ "./components/view": {
212
+ "types": "./components/view/index.d.ts",
213
+ "default": "./fesm2022/sd-angular-core-components-view.mjs"
214
+ },
207
215
  "./forms/autocomplete": {
208
216
  "types": "./forms/autocomplete/index.d.ts",
209
217
  "default": "./fesm2022/sd-angular-core-forms-autocomplete.mjs"
210
218
  },
211
- "./forms/chip": {
212
- "types": "./forms/chip/index.d.ts",
213
- "default": "./fesm2022/sd-angular-core-forms-chip.mjs"
214
- },
215
219
  "./forms/checkbox": {
216
220
  "types": "./forms/checkbox/index.d.ts",
217
221
  "default": "./fesm2022/sd-angular-core-forms-checkbox.mjs"
218
222
  },
219
- "./forms/chip-calendar": {
220
- "types": "./forms/chip-calendar/index.d.ts",
221
- "default": "./fesm2022/sd-angular-core-forms-chip-calendar.mjs"
223
+ "./forms/chip": {
224
+ "types": "./forms/chip/index.d.ts",
225
+ "default": "./fesm2022/sd-angular-core-forms-chip.mjs"
222
226
  },
223
227
  "./forms/date": {
224
228
  "types": "./forms/date/index.d.ts",
225
229
  "default": "./fesm2022/sd-angular-core-forms-date.mjs"
226
230
  },
231
+ "./forms/chip-calendar": {
232
+ "types": "./forms/chip-calendar/index.d.ts",
233
+ "default": "./fesm2022/sd-angular-core-forms-chip-calendar.mjs"
234
+ },
227
235
  "./forms/date-range": {
228
236
  "types": "./forms/date-range/index.d.ts",
229
237
  "default": "./fesm2022/sd-angular-core-forms-date-range.mjs"
@@ -232,26 +240,26 @@
232
240
  "types": "./forms/datetime/index.d.ts",
233
241
  "default": "./fesm2022/sd-angular-core-forms-datetime.mjs"
234
242
  },
235
- "./forms/inline-text": {
236
- "types": "./forms/inline-text/index.d.ts",
237
- "default": "./fesm2022/sd-angular-core-forms-inline-text.mjs"
238
- },
239
243
  "./forms/directives": {
240
244
  "types": "./forms/directives/index.d.ts",
241
245
  "default": "./fesm2022/sd-angular-core-forms-directives.mjs"
242
246
  },
247
+ "./forms/inline-text": {
248
+ "types": "./forms/inline-text/index.d.ts",
249
+ "default": "./fesm2022/sd-angular-core-forms-inline-text.mjs"
250
+ },
243
251
  "./forms/input": {
244
252
  "types": "./forms/input/index.d.ts",
245
253
  "default": "./fesm2022/sd-angular-core-forms-input.mjs"
246
254
  },
247
- "./forms/input-number": {
248
- "types": "./forms/input-number/index.d.ts",
249
- "default": "./fesm2022/sd-angular-core-forms-input-number.mjs"
250
- },
251
255
  "./forms/input-color": {
252
256
  "types": "./forms/input-color/index.d.ts",
253
257
  "default": "./fesm2022/sd-angular-core-forms-input-color.mjs"
254
258
  },
259
+ "./forms/input-number": {
260
+ "types": "./forms/input-number/index.d.ts",
261
+ "default": "./fesm2022/sd-angular-core-forms-input-number.mjs"
262
+ },
255
263
  "./forms/label": {
256
264
  "types": "./forms/label/index.d.ts",
257
265
  "default": "./fesm2022/sd-angular-core-forms-label.mjs"
@@ -268,14 +276,14 @@
268
276
  "types": "./forms/select/index.d.ts",
269
277
  "default": "./fesm2022/sd-angular-core-forms-select.mjs"
270
278
  },
271
- "./forms/textarea": {
272
- "types": "./forms/textarea/index.d.ts",
273
- "default": "./fesm2022/sd-angular-core-forms-textarea.mjs"
274
- },
275
279
  "./forms/switch": {
276
280
  "types": "./forms/switch/index.d.ts",
277
281
  "default": "./fesm2022/sd-angular-core-forms-switch.mjs"
278
282
  },
283
+ "./forms/textarea": {
284
+ "types": "./forms/textarea/index.d.ts",
285
+ "default": "./fesm2022/sd-angular-core-forms-textarea.mjs"
286
+ },
279
287
  "./modules/auth": {
280
288
  "types": "./modules/auth/index.d.ts",
281
289
  "default": "./fesm2022/sd-angular-core-modules-auth.mjs"
@@ -292,14 +300,14 @@
292
300
  "types": "./modules/layout/index.d.ts",
293
301
  "default": "./fesm2022/sd-angular-core-modules-layout.mjs"
294
302
  },
295
- "./modules/permission": {
296
- "types": "./modules/permission/index.d.ts",
297
- "default": "./fesm2022/sd-angular-core-modules-permission.mjs"
298
- },
299
303
  "./services/api": {
300
304
  "types": "./services/api/index.d.ts",
301
305
  "default": "./fesm2022/sd-angular-core-services-api.mjs"
302
306
  },
307
+ "./modules/permission": {
308
+ "types": "./modules/permission/index.d.ts",
309
+ "default": "./fesm2022/sd-angular-core-modules-permission.mjs"
310
+ },
303
311
  "./services/cache": {
304
312
  "types": "./services/cache/index.d.ts",
305
313
  "default": "./fesm2022/sd-angular-core-services-cache.mjs"
@@ -328,17 +336,13 @@
328
336
  "types": "./services/notify/index.d.ts",
329
337
  "default": "./fesm2022/sd-angular-core-services-notify.mjs"
330
338
  },
331
- "./services/storage": {
332
- "types": "./services/storage/index.d.ts",
333
- "default": "./fesm2022/sd-angular-core-services-storage.mjs"
334
- },
335
339
  "./utilities/data-state": {
336
340
  "types": "./utilities/data-state/index.d.ts",
337
341
  "default": "./fesm2022/sd-angular-core-utilities-data-state.mjs"
338
342
  },
339
- "./components/modal": {
340
- "types": "./components/modal/index.d.ts",
341
- "default": "./fesm2022/sd-angular-core-components-modal.mjs"
343
+ "./services/storage": {
344
+ "types": "./services/storage/index.d.ts",
345
+ "default": "./fesm2022/sd-angular-core-services-storage.mjs"
342
346
  },
343
347
  "./utilities/extensions": {
344
348
  "types": "./utilities/extensions/index.d.ts",
@@ -347,6 +351,10 @@
347
351
  "./utilities/models": {
348
352
  "types": "./utilities/models/index.d.ts",
349
353
  "default": "./fesm2022/sd-angular-core-utilities-models.mjs"
354
+ },
355
+ "./components/modal-resizable": {
356
+ "types": "./components/modal-resizable/index.d.ts",
357
+ "default": "./fesm2022/sd-angular-core-components-modal-resizable.mjs"
350
358
  }
351
359
  }
352
360
  }
Binary file
Binary file