@skysoftware-co/bayan-core-widgets-ui 0.0.8 → 0.0.10

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 (60) hide show
  1. package/README.md +520 -1
  2. package/fesm2022/skysoftware-co-bayan-core-widgets-ui.mjs +4125 -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/shared/pipes/translate.pipe.d.ts +10 -0
  9. package/lib/shared/services/translate.service.d.ts +12 -0
  10. package/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.d.ts +36 -0
  11. package/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.d.ts +32 -0
  12. package/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.d.ts +58 -0
  13. package/lib/top-menu-widget/components/item-widget/item-widget.component.d.ts +28 -0
  14. package/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.d.ts +22 -0
  15. package/lib/top-menu-widget/components/settings-widget/settings-widget.component.d.ts +73 -0
  16. package/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.d.ts +42 -0
  17. package/lib/top-menu-widget/top-menu-widget.component.d.ts +61 -0
  18. package/lib/top-menu-widget/top-menu-widget.models.d.ts +24 -0
  19. package/package.json +56 -59
  20. package/{projects/bayan-core-ui/src/public-api.ts → public-api.d.ts} +10 -14
  21. package/.editorconfig +0 -17
  22. package/.github/copilot/WidgetDevelopmentGuide.md +0 -632
  23. package/.github/copilot/WidgetProjectStructure.md +0 -81
  24. package/.github/copilot/git.md +0 -176
  25. package/.github/copilot/guideline.md +0 -466
  26. package/.github/copilot-instructions.md +0 -697
  27. package/.github/prompts/As world class developer, create unit tests for.prompt.md +0 -7
  28. package/Web.config +0 -7
  29. package/angular.json +0 -43
  30. package/projects/bayan-core-ui/README.md +0 -522
  31. package/projects/bayan-core-ui/ng-package.json +0 -7
  32. package/projects/bayan-core-ui/package.json +0 -36
  33. package/projects/bayan-core-ui/src/assets/i18n/ar.json +0 -725
  34. package/projects/bayan-core-ui/src/assets/i18n/en.json +0 -683
  35. package/projects/bayan-core-ui/src/assets/i18n/fr.json +0 -687
  36. package/projects/bayan-core-ui/src/lib/shared/common-methods/navigation.utils.ts +0 -21
  37. package/projects/bayan-core-ui/src/lib/shared/menu.dtos.ts +0 -107
  38. package/projects/bayan-core-ui/src/lib/shared/menu.service.ts +0 -157
  39. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.html +0 -37
  40. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.ts +0 -68
  41. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.html +0 -56
  42. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.ts +0 -158
  43. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.html +0 -39
  44. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.ts +0 -152
  45. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/item-widget/item-widget.component.html +0 -39
  46. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/item-widget/item-widget.component.ts +0 -80
  47. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.html +0 -10
  48. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.ts +0 -89
  49. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/settings-widget/settings-widget.component.html +0 -111
  50. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/settings-widget/settings-widget.component.ts +0 -235
  51. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.html +0 -54
  52. package/projects/bayan-core-ui/src/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.ts +0 -140
  53. package/projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.component.html +0 -107
  54. package/projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.component.ts +0 -164
  55. package/projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.models.ts +0 -29
  56. package/projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.styles.css +0 -1378
  57. package/projects/bayan-core-ui/tsconfig.lib.json +0 -16
  58. package/projects/bayan-core-ui/tsconfig.lib.prod.json +0 -9
  59. package/projects/bayan-core-ui/tsconfig.spec.json +0 -13
  60. package/tsconfig.json +0 -40
@@ -1,81 +0,0 @@
1
- Bayan Core Widgets Project Structure & Widget Creation Guide
2
- Project Structure Overview
3
- This repository is organized as follows:
4
-
5
- Bayan.Core.Widgets/
6
- ├── projects/
7
- │ └── namespace-ui/
8
- │ ├── README.md
9
- │ ├── src/
10
- │ │ └── lib/
11
- │ │ ├── <widget-name>/
12
- │ │ │ ├── <widget-name>.component.ts
13
- │ │ │ ├── <widget-name>.component.html
14
- │ │ │ ├── <widget-name>.component.scss
15
- │ │ │ └── ...
16
- │ │ └── shared/
17
- │ │ ├── <feature>.dtos.ts
18
- │ │ └── <feature>.service.ts
19
- │ └── ...
20
- ├── README.md
21
- └── ...
22
-
23
- • Each widget is a standalone Angular component under `projects/namespace-ui/src/lib/<widget-name>/`.
24
- • Reusable DTOs and services shared by multiple widgets belong under `projects/namespace-ui/src/lib/shared/`.
25
- • Reuse shared services and pipes exported by `@skysoftware-co/sky-components-ui` before adding new ones under the Widgets project.
26
- • Do not create Widgets-local services named `CookiesService`, `SecureCookieService`, `SecureStorageService`, `LocalStorageService`, `EncryptionService`, `TranslationService`, `SkyScreenService`, or `SkyPDFService`; import them from `@skysoftware-co/sky-components-ui`.
27
- • Do not create Widgets-local pipes named `capitalizefirst`, `highlight`, `safe`, or `translate`; import them from `@skysoftware-co/sky-components-ui`.
28
- • Documentation for this library belongs at `projects/namespace-ui/README.md`.
29
- ---
30
-
31
- How to Create a New Widget
32
- 1. Generate a New Standalone Component
33
- From the root of the repository, run:
34
- ng generate component <widget-name> --project namespace-ui --standalone
35
-
36
- This creates a new folder and component files under `projects/namespace-ui/src/lib/<widget-name>/`
37
-
38
- 2. (Optional) Reuse Existing Shared Services Or Pipes First
39
- If your widget needs API, translation, formatting, or shared infrastructure behavior, first import the exported service or pipe from `@skysoftware-co/sky-components-ui`.
40
-
41
- Create a new Widgets-local service only if the package does not already provide the required behavior.
42
- Never create local replacements for `CookiesService`, `SecureCookieService`, `SecureStorageService`, `LocalStorageService`, `EncryptionService`, `TranslationService`, `SkyScreenService`, `SkyPDFService`, `capitalizefirst`, `highlight`, `safe`, or `translate`.
43
- If the new DTO or service will be reused by more than one widget, create it under `projects/namespace-ui/src/lib/shared/` instead of the widget folder.
44
-
45
- 3. Implement the Widget
46
- • Use @Input() for all configurable properties.
47
- • Use @Output() for all events.
48
- • Use the shared translation pipes exported by `@skysoftware-co/sky-components-ui` for all user-facing text.
49
- • Use shared services from `@skysoftware-co/sky-components-ui` when available, otherwise use a Widgets-specific service with baseUrl as an input.
50
- • Emit loading and error states via isLoadingChanged and errorOccurred outputs.
51
- • Keep widget-private files inside the widget folder.
52
- • Keep reusable shared DTOs and services in `src/lib/shared/`.
53
- 4. Add the Widget to the Module (if needed)
54
- If you are not using standalone components, declare your widget in the appropriate module. For standalone, this is not required.
55
- 5. Follow Naming and Code Standards
56
- • Component selector: hr-<widget-name>
57
- • Folder and file names: kebab-case
58
- • Class names: PascalCase
59
- • Inputs/Outputs: camelCase
60
- 6. Test and Document
61
- • Add unit tests in the same folder as your component.
62
- • Document all inputs, outputs, and usage in `projects/namespace-ui/README.md` unless the user explicitly requests another documentation location.
63
- ---
64
- Example: Creating a "profile-job-info-contract-widget"
65
- 1. Generate the component:
66
- ng generate component profile-job-info-contract-widget --project namespace-ui --standalone
67
-
68
- 2. Import and reuse the required shared service or pipe from `@skysoftware-co/sky-components-ui` when available.
69
-
70
- 3. Implement as per standards above.
71
-
72
-
73
- ---
74
- Additional Tips
75
- • Review existing widgets in `projects/namespace-ui/src/lib/` for reference.
76
- • Use the provided services and pipes from `@skysoftware-co/sky-components-ui` before adding new Widgets-specific implementations.
77
- • Keep widgets focused and reusable.
78
- • If another repo is mentioned as a source example, treat it as reference-only unless the user explicitly asks to edit it.
79
- ---
80
- For more details, see the main ./README.md and the Widget Development Guide.
81
- ---
@@ -1,176 +0,0 @@
1
- ## Version Control
2
-
3
- This document defines the standards and conventions used in Git version control. All developers and AI assistants should follow these guidelines to maintain consistency across the codebase.
4
-
5
- ### Commit Message Format
6
-
7
- ```
8
- <type>(<scope>): <subject>
9
-
10
- Types: feat, fix, docs, refactor, test, chore
11
- Examples:
12
- - feat(policy): add premium rule validation
13
- - fix(employee): correct service years calculation
14
- ```
15
-
16
- ### Branch Naming
17
-
18
- ```
19
- feature/add-dependant-enrollment
20
- bugfix/fix-premium-calculation
21
- hotfix/correct-membership-id-generation
22
- refactor/improve-error-handling
23
- docs/update-api-documentation
24
- ```
25
-
26
- ### .gitignore Configuration
27
-
28
- Every .NET repository MUST have a `.gitignore` file in the repository root. When creating new projects, always create this file with the standard configuration below.
29
-
30
- **Create file:** `.gitignore` (repository root)
31
-
32
- **Essential exclusions:**
33
- - Build outputs (`bin/`, `obj/`)
34
- - IDE files (`.vs/`, `.vscode/`, `.idea/`)
35
- - User-specific files (`*.suo`, `*.user`)
36
- - NuGet packages (`packages/`, `*.nupkg`)
37
- - Sensitive files (`appsettings.Development.json`, `*.pfx`, `.env`)
38
- - Test results (`TestResults/`, `*.trx`)
39
- - OS-specific files (`Thumbs.db`, `.DS_Store`)
40
-
41
- **Complete .gitignore template:**
42
-
43
- ```gitignore
44
- # .NET Build Outputs
45
- [Bb]in/
46
- [Oo]bj/
47
- [Ll]og/
48
- [Ll]ogs/
49
-
50
- # Visual Studio 2022/2019/2017 cache/options
51
- .vs/
52
- *.suo
53
- *.user
54
- *.userosscache
55
- *.sln.docstates
56
-
57
- # Visual Studio Code
58
- .vscode/*
59
- !.vscode/settings.json
60
- !.vscode/tasks.json
61
- !.vscode/launch.json
62
- !.vscode/extensions.json
63
- *.code-workspace
64
-
65
- # Build results
66
- [Dd]ebug/
67
- [Dd]ebugPublic/
68
- [Rr]elease/
69
- [Rr]eleases/
70
- x64/
71
- x86/
72
- [Ww][Ii][Nn]32/
73
- [Aa][Rr][Mm]/
74
- [Aa][Rr][Mm]64/
75
- bld/
76
-
77
- # .NET Core
78
- project.lock.json
79
- project.fragment.lock.json
80
- artifacts/
81
-
82
- # NuGet Packages
83
- *.nupkg
84
- *.snupkg
85
- **/packages/*
86
- !**/packages/build/
87
- *.nuget.props
88
- *.nuget.targets
89
-
90
- # Test Results
91
- [Tt]est[Rr]esult*/
92
- [Bb]uild[Ll]og.*
93
- *.trx
94
- *.coverage
95
- *.coveragexml
96
- TestResults/
97
-
98
- # Visual Studio profiler
99
- *.psess
100
- *.vsp
101
- *.vspx
102
- *.sap
103
-
104
- # ReSharper
105
- _ReSharper*/
106
- *.[Rr]e[Ss]harper
107
- *.DotSettings.user
108
-
109
- # JetBrains Rider
110
- *.sln.iml
111
- .idea/
112
-
113
- # SQL Server files
114
- *.mdf
115
- *.ldf
116
- *.ndf
117
-
118
- # Sensitive configuration files
119
- appsettings.Development.json
120
- appsettings.Local.json
121
- *.secrets.json
122
- connectionstrings.json
123
- *.pfx
124
- *.p12
125
-
126
- # AWS credentials
127
- credentials
128
- config
129
-
130
- # Environment files
131
- .env
132
- .env.local
133
- .env.*.local
134
-
135
- # macOS
136
- .DS_Store
137
-
138
- # Windows
139
- Thumbs.db
140
- Desktop.ini
141
- $RECYCLE.BIN/
142
- *.lnk
143
-
144
- # Logs and databases
145
- *.log
146
- *.sqlite
147
- *.sqlite3
148
-
149
- # Temporary files
150
- *.tmp
151
- *.temp
152
- *.swp
153
- *~
154
-
155
- # Coverage reports
156
- coverage/
157
-
158
- # Terraform
159
- *.tfstate
160
- *.tfstate.*
161
- .terraform/
162
-
163
- # Docker
164
- docker-compose.override.yml
165
- ```
166
-
167
- **Why this matters:**
168
- - Prevents committing build artifacts and generated files
169
- - Protects sensitive configuration and credentials
170
- - Keeps repository clean and reduces merge conflicts
171
- - Ensures consistent behavior across development environments
172
-
173
- **When to create:**
174
- - ✅ ALWAYS create `.gitignore` as first file in new repository
175
- - ✅ Before first `git add` command
176
- - ✅ When setting up new .NET solution
@@ -1,466 +0,0 @@
1
-
2
- # Bayan HRMS — AI Design & Development Prompt Guide
3
-
4
- This document defines the complete rules for generating UI designs and Angular components for Bayan HRMS using AI tools such as Figma Make, design copilots, or code generators.
5
-
6
- The AI MUST follow these rules strictly when generating any screen, component, or UI layout.
7
-
8
- This guideline is the single source of truth for:
9
- - UI Design
10
- - UX Structure
11
- - Design Tokens
12
- - Angular Implementation
13
- - Component Architecture
14
-
15
- ---
16
-
17
- # 1. Product Design Philosophy
18
-
19
- All UI generated must follow these product values.
20
-
21
- ## Core Principles
22
-
23
- 1. Clarity over cleverness
24
- HR systems are used daily. Reduce cognitive load.
25
-
26
- 2. Consistency builds trust
27
- Use the same patterns everywhere.
28
-
29
- 3. Scalability
30
- UI must work for small companies and enterprise hospitality groups.
31
-
32
- 4. Respect user time
33
- Interfaces should feel fast and purposeful.
34
-
35
- ---
36
-
37
- # 2. UX Guidelines
38
-
39
- AI must follow these UX rules:
40
-
41
- - Layouts must be task-first
42
- - Use progressive disclosure for advanced options
43
- - Avoid visual clutter
44
- - Always provide clear system feedback
45
-
46
- ---
47
-
48
- # 3. Layout System
49
-
50
- ## Frame Sizes
51
-
52
- Desktop: 1440px
53
- Extended detail screens: 1460px
54
- Tablet: 1024px
55
- Mobile: 375px (reference only)
56
-
57
- ## Grid System
58
-
59
- - 12 column grid
60
- - Margin: 80px
61
- - Content margin: 32px
62
- - Gutter: 24px
63
-
64
- ---
65
-
66
- # 4. Spacing System
67
-
68
- Use the 8px spacing scale.
69
-
70
- Allowed values:
71
- 4, 8, 16, 24, 32, 40, 48, 64
72
-
73
- Typical usage:
74
-
75
- - Tight spacing: 4px
76
- - Component spacing: 8px
77
- - Standard gaps: 16px
78
- - Section spacing: 32px
79
- - Page margins: 48px
80
-
81
- ---
82
-
83
- # 5. Color System
84
-
85
- AI must only use colors from this palette.
86
-
87
- ## Primary Colors
88
-
89
- Primary Orange: #F18206
90
- Link Orange: #F78204
91
- Secondary Beige: #F0E4D5
92
- Teal Accent: #00796B
93
-
94
- Usage:
95
-
96
- - #F18206 → Primary actions
97
- - #F78204 → Links
98
- - #00796B → Action icons
99
- - #F0E4D5 → Badges
100
-
101
- ## Neutral Colors
102
-
103
- Background Primary: #FFFFFF
104
- Background Secondary: #FAFAFA
105
- Background Tertiary: #F5F5F5
106
- Text Primary: #333333
107
- Text Tertiary: #212529
108
-
109
- Important rule:
110
-
111
- Never use grey text like #9D9C9C.
112
-
113
- Muted text must be:
114
- #333333 with font-weight 300.
115
-
116
- ---
117
-
118
- # 6. Status Colors
119
-
120
- Accepted: #F18206
121
- Assigned: #F3C94B
122
- Assessed: #3B82F6
123
- Reviewed: #388E3C
124
-
125
- Additional semantic colors:
126
-
127
- Error: #EF4444
128
- Warning: #F59E0B
129
- Neutral: #9CA3AF
130
-
131
- ---
132
-
133
- # 7. Typography
134
-
135
- Font family: Inter
136
-
137
- ## Typography Scale
138
-
139
- H1 — 32px Bold
140
- H2 — 22px Medium
141
- H3 — 16px Semibold
142
- Body Large — 16px Regular
143
- Body — 14px Regular
144
- Small — 12px Regular
145
- Caption — 10px Regular
146
-
147
- ## Typography Rules
148
-
149
- - Only one H1 per screen
150
- - Maintain hierarchy with size and weight
151
- - Minimum line height 1.4
152
- - Text must be left aligned in forms and tables
153
-
154
- ---
155
-
156
- # 8. Border Radius
157
-
158
- Cards: 12px
159
- Buttons: 7px
160
- Inputs: 5px
161
- Badges: 4px
162
- Circles: 50%
163
-
164
- ---
165
-
166
- # 9. Shadows
167
-
168
- Standard card shadow:
169
-
170
- 0px 4px 4px rgba(0,0,0,0.25)
171
-
172
- Rules:
173
-
174
- - Cards use shadow
175
- - Buttons do not use shadow
176
- - Elevated components use card shadow
177
-
178
- ---
179
-
180
- # 10. Component Design Rules
181
-
182
- ## Buttons
183
-
184
- Primary Button
185
- - Background: #F18206
186
- - Text: White
187
- - Height: 36px
188
- - Radius: 7px
189
-
190
- Secondary Button
191
- - Background: White
192
- - Border: #C9C7C7
193
- - Height: 36px
194
- - Radius: 7px
195
-
196
- ## Cards
197
-
198
- Background: White
199
- Border: rgba(224,224,224,0.78)
200
- Radius: 12px
201
- Shadow: Standard card shadow
202
- Padding: 16px
203
-
204
- ## Tables
205
-
206
- Header
207
- - Background: #F2F2F2
208
- - Height: 32px
209
- - Text: 12px semibold
210
-
211
- Rows
212
- - Height: 40–60px
213
- - Padding: 16px
214
-
215
- ## Inputs
216
-
217
- Background: #F8F7F7
218
- Border: rgba(0,0,0,0.23)
219
- Height: 36–48px
220
- Radius: 5px
221
- Padding: 16px
222
-
223
- ## File Upload
224
-
225
- Height: 220px
226
- Border: dashed
227
- Radius: 5px
228
-
229
- ---
230
-
231
- # 11. Navigation
232
-
233
- Primary navigation
234
- - Left sidebar
235
- - Collapsible
236
- - Background #FAFAFA
237
-
238
- Top bar
239
- - Height 148px
240
- - Background #F8F7F7
241
-
242
- ---
243
-
244
- # 12. Layout Patterns
245
-
246
- Dashboard Layout
247
- - Two column grid
248
- - Gap 24px
249
- - Equal card widths
250
-
251
- Detail Layout
252
- - Two panel layout
253
- - Main content left
254
- - Sidebar right (467px)
255
-
256
- Table Layout
257
- - Filters on top
258
- - Table full width
259
- - Pagination bottom
260
-
261
- ---
262
-
263
- # 13. Accessibility
264
-
265
- All UI must follow WCAG AA.
266
-
267
- Requirements:
268
-
269
- - Minimum contrast ratio
270
- - Visible focus states
271
- - Minimum click size 36px
272
- - Clear interactive affordance
273
-
274
- ---
275
-
276
- # 14. Data Handling
277
-
278
- Change tracking must display:
279
-
280
- New value
281
- Old: [previous value]
282
-
283
- Old values must use font-weight 300.
284
-
285
- ---
286
-
287
- # 15. Empty States
288
-
289
- Empty states must:
290
-
291
- - Explain why content is empty
292
- - Provide next action
293
- - Never blame the user
294
-
295
- ---
296
-
297
- # 16. Angular Implementation Rules
298
-
299
- Angular version: v19+
300
-
301
- ## Styling
302
-
303
- Use Bootstrap 5
304
-
305
- Install:
306
- bootstrap ^5.3.3
307
-
308
- Rules:
309
-
310
- - Use one global style.css
311
- - Do not create component CSS files
312
- - Avoid inline styles
313
-
314
- Use:
315
- class, ngClass, ngStyle
316
-
317
- ---
318
-
319
- # 17. Icons
320
-
321
- Use FontAwesome packages:
322
-
323
- @fortawesome/angular-fontawesome
324
- @fortawesome/fontawesome-svg-core
325
- @fortawesome/pro-light-svg-icons
326
- @fortawesome/pro-regular-svg-icons
327
- @fortawesome/pro-solid-svg-icons
328
- @fortawesome/pro-thin-svg-icons
329
-
330
- ---
331
-
332
- # 18. UI Components
333
-
334
- Never use native HTML controls.
335
-
336
- Always use DevExtreme components.
337
-
338
- Packages:
339
-
340
- devextreme 24.1.7
341
- devextreme-angular 24.1.7
342
-
343
- ---
344
-
345
- # 19. Component Architecture
346
-
347
- Rules:
348
-
349
- - Each component must have a single responsibility
350
- - Split complex screens into subcomponents
351
- - Use standalone components
352
-
353
- Use:
354
-
355
- Input
356
- Output
357
- Signals
358
-
359
- Do not define interfaces inside components.
360
-
361
- Use folders:
362
-
363
- /types
364
- /api
365
- /services
366
-
367
- ---
368
-
369
- # 20. Routing
370
-
371
- Use lazy loading.
372
-
373
- Load pages only when needed.
374
-
375
- ---
376
-
377
- # 21. Shared Packages
378
-
379
- Use:
380
-
381
- @skysoftware-co/bayan-components-ui
382
- @skysoftware-co/sky-components-ui
383
-
384
- Theme:
385
-
386
- @skysoftware-co/sky-themes
387
-
388
- ---
389
-
390
- # 22. Date Handling
391
-
392
- Use moment ^2.30.1
393
-
394
- ---
395
-
396
- # 23. File Structure
397
-
398
- Angular components must include only:
399
-
400
- .ts
401
- .html
402
-
403
- Do not create:
404
-
405
- .spec.ts
406
- .css
407
- .scss
408
-
409
- ---
410
-
411
- # 24. Responsiveness
412
-
413
- Designs must support:
414
-
415
- Desktop
416
- Large Desktop
417
- Tablet
418
-
419
- Mobile is optional reference.
420
-
421
- ---
422
-
423
- # 25. Naming Conventions
424
-
425
- Component naming pattern:
426
-
427
- Component / Type / State
428
-
429
- Examples:
430
-
431
- Button/Primary/Default
432
- Card/Employee/Default
433
- Table/Status/Compact
434
-
435
- ---
436
-
437
- # 26. Development Checklist
438
-
439
- Before finalizing UI or code verify:
440
-
441
- ✓ Approved colors used
442
- ✓ Spacing scale applied
443
- ✓ Inter font used
444
- ✓ Correct border radius
445
- ✓ Card shadows applied
446
- ✓ WCAG contrast respected
447
- ✓ Click targets ≥ 36px
448
- ✓ Proper component architecture
449
-
450
- ---
451
-
452
- # 27. Critical AI Rules
453
-
454
- AI must:
455
-
456
- 1. Follow the design system strictly
457
- 2. Never invent colors or spacing values
458
- 3. Always use DevExtreme components
459
- 4. Follow Angular architecture rules
460
- 5. Maintain consistent typography and spacing
461
- 6. Generate responsive layouts
462
- 7. Use Bootstrap utility classes
463
-
464
- ---
465
-
466
- End of Guideline