@skysoftware-co/bayan-core-widgets-ui 0.0.8 → 0.0.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/README.md +520 -1
  2. package/fesm2022/skysoftware-co-bayan-core-widgets-ui.mjs +1232 -0
  3. package/fesm2022/skysoftware-co-bayan-core-widgets-ui.mjs.map +1 -0
  4. package/index.d.ts +5 -0
  5. package/lib/shared/common-methods/navigation.utils.d.ts +3 -0
  6. package/lib/shared/menu.dtos.d.ts +90 -0
  7. package/lib/shared/menu.service.d.ts +23 -0
  8. package/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.d.ts +36 -0
  9. package/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.d.ts +33 -0
  10. package/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.d.ts +58 -0
  11. package/lib/top-menu-widget/components/item-widget/item-widget.component.d.ts +28 -0
  12. package/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.d.ts +22 -0
  13. package/lib/top-menu-widget/components/settings-widget/settings-widget.component.d.ts +73 -0
  14. package/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.d.ts +42 -0
  15. package/lib/top-menu-widget/top-menu-widget.component.d.ts +57 -0
  16. package/lib/top-menu-widget/top-menu-widget.models.d.ts +24 -0
  17. package/package.json +48 -59
  18. package/{projects/bayan-core-ui/src/public-api.ts → public-api.d.ts} +10 -14
  19. package/.editorconfig +0 -17
  20. package/.github/copilot/WidgetDevelopmentGuide.md +0 -632
  21. package/.github/copilot/WidgetProjectStructure.md +0 -81
  22. package/.github/copilot/git.md +0 -176
  23. package/.github/copilot/guideline.md +0 -466
  24. package/.github/copilot-instructions.md +0 -697
  25. package/.github/prompts/As world class developer, create unit tests for.prompt.md +0 -7
  26. package/Web.config +0 -7
  27. package/angular.json +0 -43
  28. package/projects/bayan-core-ui/README.md +0 -522
  29. package/projects/bayan-core-ui/ng-package.json +0 -7
  30. package/projects/bayan-core-ui/package.json +0 -36
  31. package/projects/bayan-core-ui/src/assets/i18n/ar.json +0 -725
  32. package/projects/bayan-core-ui/src/assets/i18n/en.json +0 -683
  33. package/projects/bayan-core-ui/src/assets/i18n/fr.json +0 -687
  34. package/projects/bayan-core-ui/src/lib/shared/common-methods/navigation.utils.ts +0 -21
  35. package/projects/bayan-core-ui/src/lib/shared/menu.dtos.ts +0 -107
  36. package/projects/bayan-core-ui/src/lib/shared/menu.service.ts +0 -157
  37. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.html +0 -37
  38. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.ts +0 -68
  39. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.html +0 -56
  40. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.ts +0 -158
  41. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.html +0 -39
  42. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.ts +0 -152
  43. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/item-widget/item-widget.component.html +0 -39
  44. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/item-widget/item-widget.component.ts +0 -80
  45. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.html +0 -10
  46. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.ts +0 -89
  47. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/settings-widget/settings-widget.component.html +0 -111
  48. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/settings-widget/settings-widget.component.ts +0 -235
  49. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.html +0 -54
  50. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.ts +0 -140
  51. package/projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.component.html +0 -107
  52. package/projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.component.ts +0 -164
  53. package/projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.models.ts +0 -29
  54. package/projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.styles.css +0 -1378
  55. package/projects/bayan-core-ui/tsconfig.lib.json +0 -16
  56. package/projects/bayan-core-ui/tsconfig.lib.prod.json +0 -9
  57. package/projects/bayan-core-ui/tsconfig.spec.json +0 -13
  58. package/tsconfig.json +0 -40
package/angular.json DELETED
@@ -1,43 +0,0 @@
1
- {
2
- "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3
- "version": 1,
4
- "newProjectRoot": "projects",
5
- "projects": {
6
- "BayanCoreComponents": {
7
- "projectType": "library",
8
- "root": "projects/bayan-core-ui",
9
- "sourceRoot": "projects/bayan-core-ui/src",
10
- "prefix": "lib",
11
- "architect": {
12
- "build": {
13
- "builder": "@angular-devkit/build-angular:ng-packagr",
14
- "options": {
15
- "project": "projects/bayan-core-ui/ng-package.json"
16
- },
17
- "configurations": {
18
- "production": {
19
- "tsConfig": "projects/bayan-core-ui/tsconfig.lib.prod.json"
20
- },
21
- "development": {
22
- "tsConfig": "projects/bayan-core-ui/tsconfig.lib.json"
23
- }
24
- },
25
- "defaultConfiguration": "production"
26
- },
27
- "test": {
28
- "builder": "@angular-devkit/build-angular:karma",
29
- "options": {
30
- "tsConfig": "projects/bayan-core-ui/tsconfig.spec.json",
31
- "polyfills": [
32
- "zone.js",
33
- "zone.js/testing"
34
- ]
35
- }
36
- }
37
- }
38
- }
39
- },
40
- "cli": {
41
- "analytics": false
42
- }
43
- }
@@ -1,522 +0,0 @@
1
- # @skysoftware-co/bayan-core-widgets-ui
2
-
3
- Reusable Angular widgets for Bayan top-menu scenarios.
4
-
5
- ## Package Surface
6
-
7
- This package currently exports:
8
-
9
- - `BayanCoreTopMenuWidgetComponent`
10
- - `BayanCoreTopMenuService`
11
- - shared DTOs from `menu.dtos`
12
-
13
- The child widgets are documented below because they make up the top-menu contract, but they are currently intended for internal composition rather than direct package consumption.
14
-
15
- ## Installation
16
-
17
- ```bash
18
- npm install @skysoftware-co/bayan-core-widgets-ui
19
- ```
20
-
21
- ## Basic Usage
22
-
23
- ```html
24
- <bayan-core-top-menu-widget
25
- [baseUrl]="appBaseUrl"
26
- [systemModule]="systemModule"
27
- [sidebarCollapsed]="sidebarCollapsed"
28
- [homeUrl]="homeUrl"
29
- [logoUrl]="logoUrl"
30
- [collapsedLogoUrl]="collapsedLogoUrl"
31
- [menuItems]="menuItems"
32
- [searchItems]="searchItems"
33
- [nameModeItems]="nameModeItems"
34
- [showGlobalSearch]="true"
35
- [showUserPanel]="true"
36
- [showSettings]="true"
37
- [showNotifications]="true"
38
- [showHelp]="true"
39
- [useInternalDialogs]="true"
40
- [aboutDialog]="aboutDialog"
41
- [changePasswordDialog]="changePasswordDialog"
42
- (menuItemClick)="onMenuItemClick($event)"
43
- (searchSubmit)="onSearchSubmit($event)"
44
- (searchItemNavigate)="onSearchItemNavigate($event)"
45
- (propertyChanged)="onPropertyChange($event)"
46
- (signOutClick)="onSignOut()"
47
- (submitPasswordChange)="onSubmitPasswordChange($event)">
48
- </bayan-core-top-menu-widget>
49
- ```
50
-
51
- ## Models
52
-
53
- ```ts
54
- interface TopMenuWidgetItem {
55
- id?: string | number;
56
- menuName: string;
57
- menuUrl?: string | null;
58
- children?: TopMenuWidgetItem[];
59
- }
60
-
61
- interface TopMenuWidgetSearchItem {
62
- id?: string | number;
63
- menuTitle: string;
64
- menuSubTitle: string;
65
- menuUrl?: string | null;
66
- iconClass?: string | null;
67
- isTranslatable?: boolean;
68
- }
69
-
70
- interface TopMenuWidgetNameModeItem {
71
- id: string;
72
- text: string;
73
- selected: boolean;
74
- }
75
-
76
- interface TopMenuWidgetAboutDialogConfig {
77
- title?: string;
78
- logoUrl?: string;
79
- version?: string;
80
- versionLabel?: string;
81
- copyright?: string;
82
- statusLabel?: string;
83
- licenseButtonLabel?: string;
84
- releaseNotesButtonLabel?: string;
85
- supportButtonLabel?: string;
86
- closeButtonLabel?: string;
87
- }
88
-
89
- interface TopMenuWidgetChangePasswordDialogConfig {
90
- title: string;
91
- currentPasswordLabel: string;
92
- newPasswordLabel: string;
93
- confirmNewPasswordLabel: string;
94
- primaryButtonText: string;
95
- }
96
-
97
- interface TopMenuWidgetChangePasswordPayload {
98
- currentPassword: string;
99
- newPassword: string;
100
- confirmNewPassword: string;
101
- }
102
- ```
103
-
104
- ## Top Menu Widget
105
-
106
- Selector: `bayan-core-top-menu-widget`
107
-
108
- ### Inputs
109
-
110
- | Name | Type | Default | Description |
111
- |---|---|---|---|
112
- | `baseUrl` | `string` | `''` | Base URL used to resolve internal and external navigation targets. |
113
- | `systemModule` | `SystemModule \| null` | `null` | Current system module context. |
114
- | `sidebarCollapsed` | `boolean` | `false` | Switches the brand area to the collapsed logo state. |
115
- | `homeUrl` | `string \| null` | `null` | Brand navigation target. |
116
- | `logoUrl` | `string` | Bayan CDN URL | Expanded logo source. |
117
- | `collapsedLogoUrl` | `string` | Bayan CDN URL | Collapsed logo source. |
118
- | `searchPlaceholder` | `string` | `'TopMenu.SearchPlaceholder'` | Search placeholder text or translation key. |
119
- | `menuItems` | `TopMenuWidgetItem[]` | `[]` | Top-level navigation items. |
120
- | `searchItems` | `TopMenuWidgetSearchItem[]` | `[]` | Autocomplete items for global search. |
121
- | `isSsoLogin` | `boolean` | `false` | Fallback SSO flag when the user panel does not provide one. |
122
- | `useAlternateNames` | `boolean` | `false` | Enables alternate-names behavior in settings. |
123
- | `displayAlternateNames` | `boolean` | `false` | Marks alternate names as active. |
124
- | `hrBlocked` | `boolean` | `false` | Current HR block state. |
125
- | `hrCanBlock` | `boolean` | `false` | Enables HR block and release actions. |
126
- | `tkBlocked` | `boolean` | `false` | Current Timekeeping block state. |
127
- | `tkCanBlock` | `boolean` | `false` | Enables Timekeeping block and release actions. |
128
- | `employeeNamesMode` | `AppFramePreferences` | | Name display mode option from preferences. |
129
- | `settingsEnabled` | `boolean` | `true` | Enables settings interactions. |
130
- | `useInternalDialogs` | `boolean` | `false` | Shows built-in About and Change Password dialogs. |
131
- | `changePasswordLoading` | `boolean` | `false` | Loading state for the built-in Change Password dialog. |
132
- | `changePasswordDialog` | `TopMenuWidgetChangePasswordDialogConfig` | default labels | Built-in Change Password dialog labels. |
133
- | `aboutDialog` | `TopMenuWidgetAboutDialogConfig` | default labels | Built-in About dialog content and labels. |
134
- | `showGlobalSearch` | `boolean` | `false` | Shows the global search widget. |
135
- | `showUserPanel` | `boolean` | `false` | Shows the user panel widget. |
136
- | `showSettings` | `boolean` | `false` | Shows the settings widget. |
137
- | `showNotifications` | `boolean` | `true` | Shows the notifications widget. |
138
- | `notificationsTitle` | `string` | `'Notifications'` | Notification link title text or translation key. |
139
- | `showHelp` | `boolean` | `true` | Shows the help action. |
140
- | `helpTitle` | `string` | `'Help'` | Help link title text or translation key. |
141
- | `helpUrl` | `string \| null` | `null` | Help navigation target. |
142
- | `helpIcon` | `IconDefinition` | `faQuestionCircle` | Help icon. |
143
- | `helpAnchorClass` | `string` | `'menu-icon-btn top-menu-widget__help-link'` | CSS classes for the help anchor. |
144
- | `helpUrlTarget` | `'_self' \| '_blank' \| string` | `'_blank'` | Anchor target for the help action. |
145
-
146
- ### Outputs
147
-
148
- | Name | Type | Description |
149
- |---|---|---|
150
- | `logoClick` | `EventEmitter<void>` | Fired when the brand link is clicked. |
151
- | `helpClick` | `EventEmitter<void>` | Fired when the help action is clicked. |
152
- | `menuItemClick` | `EventEmitter<TopMenuWidgetItem>` | Fired when a leaf menu item is activated. |
153
- | `searchSubmit` | `EventEmitter<string>` | Fired when free-text search is submitted. |
154
- | `searchItemNavigate` | `EventEmitter<TopMenuWidgetSearchItem>` | Fired when an autocomplete result is chosen. |
155
- | `propertyChanged` | `EventEmitter<PropertyOption>` | Fired when the active property changes. |
156
- | `signOutClick` | `EventEmitter<void>` | Fired when sign out is requested. |
157
- | `alternateNamesChange` | `EventEmitter<void>` | Fired when alternate names are toggled. |
158
- | `nameModeChange` | `EventEmitter<number>` | Fired when a name mode item is selected. |
159
- | `blockHrClick` | `EventEmitter<void>` | Fired when HR block is requested. |
160
- | `releaseHrClick` | `EventEmitter<void>` | Fired when HR release is requested. |
161
- | `blockTkClick` | `EventEmitter<void>` | Fired when Timekeeping block is requested. |
162
- | `releaseTkClick` | `EventEmitter<void>` | Fired when Timekeeping release is requested. |
163
- | `changePasswordClick` | `EventEmitter<void>` | Fired when Change Password is requested from settings. |
164
- | `openAboutClick` | `EventEmitter<void>` | Fired when About is requested from settings. |
165
- | `aboutLicenseClick` | `EventEmitter<void>` | Fired when the About dialog license action is clicked. |
166
- | `aboutReleaseNotesClick` | `EventEmitter<void>` | Fired when the About dialog release-notes action is clicked. |
167
- | `aboutSupportClick` | `EventEmitter<void>` | Fired when the About dialog support action is clicked. |
168
- | `submitPasswordChange` | `EventEmitter<TopMenuWidgetChangePasswordPayload>` | Fired when the built-in Change Password dialog is submitted. |
169
-
170
- ## Internal Composition Widgets
171
-
172
- These widgets are used by the top-menu component and are documented here so the full contract is visible.
173
-
174
- ### Global Search Widget
175
-
176
- Selector: `bayan-core-global-search-widget`
177
-
178
- Inputs:
179
-
180
- | Name | Type | Default | Description |
181
- |---|---|---|---|
182
- | `baseUrl` | `string` | `''` | Base URL used to resolve selected item URLs. |
183
- | `ActivePropertyChanged` | `boolean` | `false` | Boolean change token used to reset the search input after a property switch. |
184
- | `placeholder` | `string` | `'TopMenu.SearchPlaceholder'` | Placeholder text or translation key. |
185
- | `dataSource` | `TopMenuWidgetSearchItem[]` | `[]` | Search results shown in the autocomplete. |
186
-
187
- Outputs:
188
-
189
- | Name | Type | Description |
190
- |---|---|---|
191
- | `search` | `EventEmitter<string>` | Fired when the user submits free-text search with Enter. |
192
- | `itemNavigate` | `EventEmitter<TopMenuWidgetSearchItem>` | Fired when the user selects a result item. |
193
-
194
- ### Item Widget
195
-
196
- Selector: `bayan-core-item-widget`
197
-
198
- Inputs:
199
-
200
- | Name | Type | Default | Description |
201
- |---|---|---|---|
202
- | `baseUrl` | `string` | `''` | Base URL used to resolve item URLs. |
203
- | `ActivePropertyChanged` | `boolean` | `false` | Boolean change token used to close open menu branches after a property switch. |
204
- | `item` | `TopMenuWidgetItem` | required | Menu item to render. |
205
-
206
- Outputs:
207
-
208
- | Name | Type | Description |
209
- |---|---|---|
210
- | `itemClick` | `EventEmitter<TopMenuWidgetItem>` | Fired when a leaf menu item is activated. |
211
-
212
- ### Notifications Widget
213
-
214
- Selector: `bayan-core-notifications-widget`
215
-
216
- Inputs:
217
-
218
- | Name | Type | Default | Description |
219
- |---|---|---|---|
220
- | `baseUrl` | `string` | `''` | Base URL used to load the notifications summary and resolve its navigation URL. |
221
- | `title` | `string` | `'Notifications'` | Link title text or translation key. |
222
- | `wrapperClass` | `string` | `'notifications-icon-wrap menu-dropdown-host'` | Wrapper CSS classes. |
223
- | `linkClass` | `string` | `'menu-icon-btn cursor-pointer top-menu-widget__notification-btn'` | Anchor CSS classes. |
224
- | `iconClass` | `string` | `'fs-6'` | Bell icon CSS classes. |
225
- | `badgeClass` | `string` | `'top-menu-widget__notification-badge'` | Badge CSS classes. |
226
-
227
- Outputs: none.
228
-
229
- ### Settings Widget
230
-
231
- Selector: `bayan-core-settings-widget`
232
-
233
- Inputs:
234
-
235
- | Name | Type | Default | Description |
236
- |---|---|---|---|
237
- | `ActivePropertyChanged` | `boolean` | `false` | Boolean change token used to close the settings menu after a property switch. |
238
- | `useAlternateNames` | `boolean` | `false` | Enables alternate names behavior. |
239
- | `displayAlternateNames` | `boolean` | `false` | Marks alternate names as active. |
240
- | `hrBlocked` | `boolean` | `false` | Current HR block state. |
241
- | `hrCanBlock` | `boolean` | `false` | Enables HR block and release actions. |
242
- | `tkBlocked` | `boolean` | `false` | Current Timekeeping block state. |
243
- | `tkCanBlock` | `boolean` | `false` | Enables Timekeeping block and release actions. |
244
- | `employeeNamesMode` | `AppFramePreferences` | | Name mode option from preferences. |
245
- | `settingsEnabled` | `boolean` | `true` | Enables settings interactions. |
246
-
247
- Outputs:
248
-
249
- | Name | Type | Description |
250
- |---|---|---|
251
- | `alternateNamesChange` | `EventEmitter<void>` | Fired when alternate names are toggled. |
252
- | `nameModeChange` | `EventEmitter<number>` | Fired when a name mode item is selected. |
253
- | `blockHrClick` | `EventEmitter<void>` | Fired when HR block is requested. |
254
- | `releaseHrClick` | `EventEmitter<void>` | Fired when HR release is requested. |
255
- | `blockTkClick` | `EventEmitter<void>` | Fired when Timekeeping block is requested. |
256
- | `releaseTkClick` | `EventEmitter<void>` | Fired when Timekeeping release is requested. |
257
- | `changePasswordClick` | `EventEmitter<void>` | Fired when Change Password is requested. |
258
- | `openAboutClick` | `EventEmitter<void>` | Fired when About is requested. |
259
-
260
- ### User Panel Widget
261
-
262
- Selector: `bayan-core-user-panel-widget`
263
-
264
- Inputs:
265
-
266
- | Name | Type | Default | Description |
267
- |---|---|---|---|
268
- | `baseUrl` | `string` | `''` | Base URL used to load the current user panel and to switch the active property. |
269
- | `wrapperClass` | `string` | `'menu-dropdown-host'` | Wrapper CSS classes. |
270
- | `dropdownOpenClass` | `string` | `'open'` | CSS class added while the dropdown is open. |
271
- | `toggleButtonClass` | `string` | `'employee-toggle'` | Toggle button CSS classes. |
272
- | `employeeInfoClass` | `string` | `'employee-info'` | Employee info wrapper CSS classes. |
273
- | `userNameClass` | `string` | `'user-name'` | User name text CSS classes. |
274
- | `propertyNameClass` | `string` | `'property-name'` | Active property text CSS classes. |
275
- | `caretClass` | `string` | `'employee-caret'` | Caret CSS classes. |
276
- | `menuClass` | `string` | `'employee-menu menu-dropdown-panel'` | Dropdown menu CSS classes. |
277
- | `sectionLabelClass` | `string` | `'menu-section-label'` | Section label CSS classes. |
278
- | `menuItemClass` | `string` | `'menu-item'` | Property row CSS classes. |
279
- | `menuItemActiveClass` | `string` | `'menu-item-active'` | Active property CSS class. |
280
- | `indicatorClass` | `string` | `'menu-indicator'` | Selection indicator CSS classes. |
281
- | `invisibleIndicatorClass` | `string` | `'invisible'` | Hidden indicator CSS class. |
282
- | `dividerClass` | `string` | `'menu-divider'` | Divider CSS classes. |
283
- | `signOutButtonClass` | `string` | `'menu-item menu-item-signout'` | Sign-out button CSS classes. |
284
- | `showSignOutIcon` | `boolean` | `true` | Shows or hides the sign-out icon. |
285
- | `signOutIconClass` | `string` | `'mx-2'` | Sign-out icon CSS classes. |
286
-
287
- Outputs:
288
-
289
- | Name | Type | Description |
290
- |---|---|---|
291
- | `propertyChanged` | `EventEmitter<PropertyOption>` | Fired after `switchProperty` succeeds and the widget refetches the user panel. |
292
- | `signOutClick` | `EventEmitter<void>` | Fired when sign out is requested. |
293
-
294
- ### Change Password Widget
295
-
296
- Selector: `bayan-core-change-password-widget`
297
-
298
- Inputs:
299
-
300
- | Name | Type | Default | Description |
301
- |---|---|---|---|
302
- | `baseUrl` | `string` | `''` | Reserved for dialog-level extensibility. |
303
- | `visible` | `boolean` | `false` | Controls popup visibility. |
304
- | `config` | `TopMenuWidgetChangePasswordDialogConfig` | required | Dialog labels and title. |
305
- | `isSubmitting` | `boolean` | `false` | Disables editing while submission is in progress. |
306
-
307
- Outputs:
308
-
309
- | Name | Type | Description |
310
- |---|---|---|
311
- | `visibleChange` | `EventEmitter<boolean>` | Fired when the dialog requests a visibility change. |
312
- | `submitPasswordChange` | `EventEmitter<TopMenuWidgetChangePasswordPayload>` | Fired with the form payload when save succeeds validation. |
313
-
314
- ### About Dialog Widget
315
-
316
- Selector: `bayan-core-about-dialog-widget`
317
-
318
- Inputs:
319
-
320
- | Name | Type | Default | Description |
321
- |---|---|---|---|
322
- | `baseUrl` | `string` | `''` | Reserved for dialog-level extensibility. |
323
- | `visible` | `boolean` | `false` | Controls dialog visibility. |
324
- | `config` | `TopMenuWidgetAboutDialogConfig` | required | Dialog content and action labels. |
325
-
326
- Outputs:
327
-
328
- | Name | Type | Description |
329
- |---|---|---|
330
- | `visibleChange` | `EventEmitter<boolean>` | Fired when the dialog requests to close. |
331
- | `licenseClick` | `EventEmitter<void>` | Fired when the license action is clicked. |
332
- | `releaseNotesClick` | `EventEmitter<void>` | Fired when the release-notes action is clicked. |
333
- | `supportClick` | `EventEmitter<void>` | Fired when the support action is clicked. |
334
-
335
- ## Widget API Reference
336
-
337
- ### BayanCoreTopMenuWidgetComponent
338
- **Inputs:**
339
- - `baseUrl: string`
340
- - `systemModule: SystemModule | null`
341
- - `sidebarCollapsed: boolean`
342
- - `homeUrl: string | null`
343
- - `logoUrl: string`
344
- - `collapsedLogoUrl: string`
345
- - `isSsoLogin: boolean`
346
- - `showGlobalSearch: boolean`
347
- - `showUserPanel: boolean`
348
- - `showSettings: boolean`
349
- - `ShowShourtcutMenus: boolean`
350
- - `showNotifications: boolean`
351
- - `notificationsTitle: string`
352
- - `showHelp: boolean`
353
- - `helpTitle: string`
354
- - `helpUrl: string | null`
355
- - `helpIcon: IconDefinition`
356
- - `helpAnchorClass: string`
357
- - `helpUrlTarget: '_self' | '_blank' | string`
358
- - `licenseUrl: string`
359
- - `releaseNotesUrl: string`
360
- - `supportUrl: string`
361
-
362
- **Outputs:**
363
- - `logoClick: EventEmitter<void>`
364
- - `helpClick: EventEmitter<void>`
365
- - `menuItemClick: EventEmitter<TopMenuShortcut>`
366
- - `searchSubmit: EventEmitter<string>`
367
- - `propertyChanged: EventEmitter<PropertyOption>`
368
- - `signOutClick: EventEmitter<void>`
369
- - `alternateNamesChange: EventEmitter<boolean>`
370
- - `employeeNameModeChange: EventEmitter<EmployeeNamesModeOption>`
371
-
372
- ---
373
-
374
- ### BayanCoreSettingsWidgetComponent
375
- **Inputs:**
376
- - `baseUrl: string`
377
- - `licenseUrl: string`
378
- - `releaseNotesUrl: string`
379
- - `supportUrl: string`
380
- - `ActivePropertyChanged: boolean`
381
- - `checkIcon: any`
382
- - `cogIcon: any`
383
- - `infoIcon: any`
384
- - `dropdownOpen: Signal<boolean>`
385
- - `dropdownHostClass: string`
386
- - `toggleBtnClass: string`
387
- - `menuPanelClass: string`
388
- - `sectionLabelClass: string`
389
- - `menuRowClass: string`
390
- - `dividerClass: string`
391
- - `indicatorClass: string`
392
- - `indicatorActiveClass: string`
393
- - `indicatorInvisibleClass: string`
394
- - `alternateNamesLinkClass: string`
395
-
396
- **Outputs:**
397
- - `alternateNamesChange: EventEmitter<boolean>`
398
- - `nameModeChange: EventEmitter<EmployeeNamesModeOption>`
399
-
400
- ---
401
-
402
- ### BayanCoreAboutDialogWidgetComponent
403
- **Inputs:**
404
- - `baseUrl: string`
405
- - `visible: boolean`
406
- - `config: TopMenuWidgetAboutDialogConfig`
407
- - `licenseUrl: string`
408
- - `releaseNotesUrl: string`
409
- - `supportUrl: string`
410
- - `backdropClass: string`
411
- - `modalClass: string`
412
- - `headerClass: string`
413
- - `titleClass: string`
414
- - `closeBtnClass: string`
415
- - `bodyClass: string`
416
- - `logoClass: string`
417
- - `productNameClass: string`
418
- - `versionTextClass: string`
419
- - `upToDateClass: string`
420
- - `copyrightClass: string`
421
- - `actionsClass: string`
422
- - `actionBtnClass: string`
423
-
424
- **Outputs:**
425
- - `visibleChange: EventEmitter<boolean>`
426
- - `licenseClick: EventEmitter<void>`
427
- - `releaseNotesClick: EventEmitter<void>`
428
- - `supportClick: EventEmitter<void>`
429
-
430
- ---
431
-
432
- ### BayanCoreChangePasswordWidgetComponent
433
- **Inputs:**
434
- - `baseUrl: string`
435
- - `visible: boolean`
436
- - `config: TopMenuWidgetChangePasswordDialogConfig`
437
- - `isSubmitting: boolean`
438
-
439
- **Outputs:**
440
- - `visibleChange: EventEmitter<boolean>`
441
-
442
- ---
443
-
444
- ### BayanCoreGlobalSearchWidgetComponent
445
- **Inputs:**
446
- - `baseUrl: string`
447
- - `ActivePropertyChanged: boolean`
448
- - `ActivePropertyId: number`
449
- - `placeholder: string`
450
- - `searchMode: 'contains' | 'startswith'`
451
- - `stylingMode: 'filled' | 'outlined' | 'underlined'`
452
- - `searchWrapperClass: string`
453
- - `searchItemClass: string`
454
- - `searchItemTitleClass: string`
455
- - `searchItemSubtitleClass: string`
456
- - `iconClass: string`
457
-
458
- **Outputs:**
459
- - `search: EventEmitter<string>`
460
- - `itemNavigate: EventEmitter<GlobalSearchMenu>`
461
-
462
- ---
463
-
464
- ### BayanCoreUserPanelWidgetComponent
465
- **Inputs:**
466
- - `baseUrl: string`
467
- - `wrapperClass: string`
468
- - `dropdownOpenClass: string`
469
- - `toggleButtonClass: string`
470
- - `employeeInfoClass: string`
471
- - `userNameClass: string`
472
- - `propertyNameClass: string`
473
- - `caretClass: string`
474
- - `menuClass: string`
475
- - `sectionLabelClass: string`
476
- - `menuItemClass: string`
477
- - `menuItemActiveClass: string`
478
- - `indicatorClass: string`
479
- - `invisibleIndicatorClass: string`
480
- - `dividerClass: string`
481
- - `signOutButtonClass: string`
482
- - `showSignOutIcon: boolean`
483
- - `signOutIconClass: string`
484
-
485
- **Outputs:**
486
- - `propertyChanged: EventEmitter<PropertyOption>`
487
- - `signOutClick: EventEmitter<void>`
488
-
489
- ---
490
-
491
- ### BayanCoreItemWidgetComponent
492
- **Inputs:**
493
- - `baseUrl: string`
494
- - `ActivePropertyChanged: boolean`
495
- - `item: TopMenuShortcut`
496
- - `navItemClass: string`
497
- - `navLinkClass: string`
498
- - `dropdownClass: string`
499
- - `dropdownOpenClass: string`
500
- - `dropdownToggleClass: string`
501
- - `caretClass: string`
502
- - `dropdownMenuClass: string`
503
-
504
- **Outputs:**
505
- - `itemClick: EventEmitter<TopMenuShortcut>`
506
-
507
- ---
508
-
509
- ### BayanCoreNotificationsWidgetComponent
510
- **Inputs:**
511
- - `baseUrl: string`
512
- - `title: string`
513
- - `wrapperClass: string`
514
- - `linkClass: string`
515
- - `iconClass: string`
516
- - `badgeClass: string`
517
-
518
- ## Build
519
-
520
- ```bash
521
- npm run build -- --project BayanCoreComponents --configuration development
522
- ```
@@ -1,7 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/bayan-core-ui",
4
- "lib": {
5
- "entryFile": "src/public-api.ts"
6
- }
7
- }
@@ -1,36 +0,0 @@
1
- {
2
- "name": "@skysoftware-co/bayan-core-widgets-ui",
3
- "version": "0.0.8",
4
- "peerDependencies": {
5
- "@angular/common": "19.2.14",
6
- "@angular/core": "19.2.14",
7
- "@ngx-translate/core": ">=15.0.0",
8
- "@skysoftware-co/bayan-components-ui": ">=1.1.0",
9
- "@skysoftware-co/sky-components-ui": ">=1.3.3",
10
- "devextreme-angular": ">=23.0.0",
11
- "@fortawesome/angular-fontawesome": ">=0.14.0",
12
- "@fortawesome/pro-light-svg-icons": ">=6.0.0",
13
- "@fortawesome/pro-solid-svg-icons": ">=6.0.0"
14
- },
15
- "main": "fesm2022/skysoftware-co-bayan-core-widgets-ui.mjs",
16
- "module": "fesm2022/skysoftware-co-bayan-core-widgets-ui.mjs",
17
- "typings": "index.d.ts",
18
- "sideEffects": false,
19
- "peerDependenciesMeta": {
20
- "@ngx-translate/core": {
21
- "optional": true
22
- },
23
- "devextreme-angular": {
24
- "optional": true
25
- },
26
- "@fortawesome/angular-fontawesome": {
27
- "optional": true
28
- },
29
- "@fortawesome/pro-light-svg-icons": {
30
- "optional": true
31
- },
32
- "@fortawesome/pro-solid-svg-icons": {
33
- "optional": true
34
- }
35
- }
36
- }