@sdcorejs/angular 21.0.5 → 21.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 (84) hide show
  1. package/fesm2022/sdcorejs-angular-components-anchor.mjs +9 -9
  2. package/fesm2022/sdcorejs-angular-components-autoid-inspector.mjs +15 -15
  3. package/fesm2022/sdcorejs-angular-components-avatar.mjs +3 -3
  4. package/fesm2022/sdcorejs-angular-components-badge.mjs +3 -3
  5. package/fesm2022/sdcorejs-angular-components-base.mjs +3 -3
  6. package/fesm2022/sdcorejs-angular-components-button.mjs +3 -3
  7. package/fesm2022/sdcorejs-angular-components-chart.mjs +12 -12
  8. package/fesm2022/sdcorejs-angular-components-ckeditor-styles.mjs +3 -3
  9. package/fesm2022/sdcorejs-angular-components-code-editor.mjs +3 -3
  10. package/fesm2022/sdcorejs-angular-components-document-builder.mjs +6 -6
  11. package/fesm2022/sdcorejs-angular-components-editor.mjs +3 -3
  12. package/fesm2022/sdcorejs-angular-components-form-generic.mjs +201 -201
  13. package/fesm2022/sdcorejs-angular-components-history.mjs +7 -7
  14. package/fesm2022/sdcorejs-angular-components-import-excel.mjs +10 -10
  15. package/fesm2022/sdcorejs-angular-components-inform.mjs +6 -6
  16. package/fesm2022/sdcorejs-angular-components-mini-editor.mjs +3 -3
  17. package/fesm2022/sdcorejs-angular-components-modal-resizable.mjs +3 -3
  18. package/fesm2022/sdcorejs-angular-components-modal.mjs +3 -3
  19. package/fesm2022/sdcorejs-angular-components-operator.mjs +3 -3
  20. package/fesm2022/sdcorejs-angular-components-org-chart.mjs +6 -6
  21. package/fesm2022/sdcorejs-angular-components-preview.mjs +6 -6
  22. package/fesm2022/sdcorejs-angular-components-query-bar.mjs +27 -27
  23. package/fesm2022/sdcorejs-angular-components-query-builder.mjs +3 -3
  24. package/fesm2022/sdcorejs-angular-components-quick-action.mjs +3 -3
  25. package/fesm2022/sdcorejs-angular-components-section.mjs +6 -6
  26. package/fesm2022/sdcorejs-angular-components-side-drawer.mjs +3 -3
  27. package/fesm2022/sdcorejs-angular-components-splitter.mjs +28 -14
  28. package/fesm2022/sdcorejs-angular-components-splitter.mjs.map +1 -1
  29. package/fesm2022/sdcorejs-angular-components-stepper.mjs +6 -6
  30. package/fesm2022/sdcorejs-angular-components-tab-router.mjs +18 -18
  31. package/fesm2022/sdcorejs-angular-components-tab.mjs +6 -6
  32. package/fesm2022/sdcorejs-angular-components-table.mjs +105 -105
  33. package/fesm2022/sdcorejs-angular-components-tree.mjs +6 -6
  34. package/fesm2022/sdcorejs-angular-components-upload-file.mjs +30 -24
  35. package/fesm2022/sdcorejs-angular-components-upload-file.mjs.map +1 -1
  36. package/fesm2022/sdcorejs-angular-components-view.mjs +3 -3
  37. package/fesm2022/sdcorejs-angular-components.mjs +1 -0
  38. package/fesm2022/sdcorejs-angular-components.mjs.map +1 -1
  39. package/fesm2022/sdcorejs-angular-directives.mjs +21 -21
  40. package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs +3 -3
  41. package/fesm2022/sdcorejs-angular-forms-checkbox.mjs +3 -3
  42. package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs +6 -6
  43. package/fesm2022/sdcorejs-angular-forms-chip.mjs +6 -6
  44. package/fesm2022/sdcorejs-angular-forms-date-range.mjs +3 -3
  45. package/fesm2022/sdcorejs-angular-forms-date.mjs +3 -3
  46. package/fesm2022/sdcorejs-angular-forms-datetime.mjs +9 -9
  47. package/fesm2022/sdcorejs-angular-forms-directives.mjs +12 -12
  48. package/fesm2022/sdcorejs-angular-forms-inline-text.mjs +3 -3
  49. package/fesm2022/sdcorejs-angular-forms-input-color.mjs +3 -3
  50. package/fesm2022/sdcorejs-angular-forms-input-number.mjs +3 -3
  51. package/fesm2022/sdcorejs-angular-forms-input.mjs +3 -3
  52. package/fesm2022/sdcorejs-angular-forms-label.mjs +3 -3
  53. package/fesm2022/sdcorejs-angular-forms-radio.mjs +3 -3
  54. package/fesm2022/sdcorejs-angular-forms-select.mjs +37 -8
  55. package/fesm2022/sdcorejs-angular-forms-select.mjs.map +1 -1
  56. package/fesm2022/sdcorejs-angular-forms-switch.mjs +3 -3
  57. package/fesm2022/sdcorejs-angular-forms-textarea.mjs +3 -3
  58. package/fesm2022/sdcorejs-angular-forms.mjs +4 -4
  59. package/fesm2022/sdcorejs-angular-handlers.mjs +3 -3
  60. package/fesm2022/sdcorejs-angular-i18n.mjs +6 -6
  61. package/fesm2022/sdcorejs-angular-interceptors.mjs +6 -6
  62. package/fesm2022/sdcorejs-angular-modules-auth.mjs +9 -9
  63. package/fesm2022/sdcorejs-angular-modules-authom.mjs +7 -7
  64. package/fesm2022/sdcorejs-angular-modules-keycloak.mjs +37 -14
  65. package/fesm2022/sdcorejs-angular-modules-keycloak.mjs.map +1 -1
  66. package/fesm2022/sdcorejs-angular-modules-layout.mjs +73 -73
  67. package/fesm2022/sdcorejs-angular-modules-permission.mjs +9 -9
  68. package/fesm2022/sdcorejs-angular-pipes.mjs +14 -14
  69. package/fesm2022/sdcorejs-angular-services-api.mjs +10 -10
  70. package/fesm2022/sdcorejs-angular-services-cache.mjs +3 -3
  71. package/fesm2022/sdcorejs-angular-services-confirm.mjs +6 -6
  72. package/fesm2022/sdcorejs-angular-services-docx.mjs +3 -3
  73. package/fesm2022/sdcorejs-angular-services-excel.mjs +3 -3
  74. package/fesm2022/sdcorejs-angular-services-license.mjs +3 -3
  75. package/fesm2022/sdcorejs-angular-services-loading.mjs +3 -3
  76. package/fesm2022/sdcorejs-angular-services-notify.mjs +9 -9
  77. package/fesm2022/sdcorejs-angular-services-storage.mjs +3 -3
  78. package/modules/keycloak/htmls/auth-keycloak-error.html +54 -0
  79. package/modules/keycloak/htmls/silent-renew.html +7 -0
  80. package/package.json +2 -2
  81. package/types/sdcorejs-angular-components-upload-file.d.ts +7 -4
  82. package/types/sdcorejs-angular-components.d.ts +1 -0
  83. package/types/sdcorejs-angular-forms-select.d.ts +21 -3
  84. package/types/sdcorejs-angular-modules-keycloak.d.ts +30 -0
@@ -8,6 +8,31 @@ interface SdKeycloakTenantConfig {
8
8
  realm: string;
9
9
  clientId: string;
10
10
  secureRoutes?: string[];
11
+ /**
12
+ * Basename (KHÔNG kèm đuôi `.html`) của file Keycloak **silent SSO redirect** mà consumer
13
+ * BẮT BUỘC đặt trong thư mục `public/`. Mặc định `'silent-renew'`.
14
+ *
15
+ * Service sẽ truyền `${origin}/<silentRenewUrl>.html` vào `silentCheckSsoRedirectUri`. Với giá trị
16
+ * mặc định, Keycloak gọi `${origin}/silent-renew.html` (giống hành vi cũ — không phá vỡ project hiện có).
17
+ *
18
+ * 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,
19
+ * 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).
20
+ * Cho phép truyền kèm `/` đầu hoặc đuôi `.html` (tự chuẩn hoá), hoặc đặt sâu hơn:
21
+ * `'assets/silent-renew'` → `${origin}/assets/silent-renew.html`.
22
+ */
23
+ silentRenewUrl?: string;
24
+ /**
25
+ * Basename (KHÔNG kèm đuôi `.html`) của **trang lỗi tĩnh** trong `public/`, dùng làm đích redirect khi
26
+ * `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'`.
27
+ *
28
+ * 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
29
+ * 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
30
+ * đang đứng sẵn ở trang lỗi này (chống vòng lặp redirect).
31
+ *
32
+ * Consumer nên tạo file (nội dung mẫu ở `modules/keycloak/htmls/auth-keycloak-error.html`) và viết lại
33
+ * 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`.
34
+ */
35
+ authErrorUrl?: string;
11
36
  }
12
37
  interface ISdKeycloakConfiguration {
13
38
  loadTenantConfig: () => Promise<SdKeycloakTenantConfig>;
@@ -18,6 +43,11 @@ declare class SdKeycloakService {
18
43
  keycloak: Keycloak;
19
44
  config: SdKeycloakTenantConfig;
20
45
  init(config: SdKeycloakTenantConfig): Promise<boolean>;
46
+ /**
47
+ * Chuẩn hoá basename file tĩnh trong public/ thành URL tuyệt đối.
48
+ * `'silent-renew'` | `'/silent-renew'` | `'silent-renew.html'` → `${origin}/silent-renew.html`.
49
+ */
50
+ private toPublicHtmlUrl;
21
51
  login(): Promise<void>;
22
52
  logout(): Promise<void>;
23
53
  getToken(): string | undefined;