@bnsights/bbsf-controls 1.2.6 → 1.2.8

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.
package/README.md CHANGED
@@ -1,1315 +1,1329 @@
1
- # BnsightsControlLibrary
2
-
3
- BBSF Controls package is part of BBSF 3 packages. It has all the form controls that we use to build our application forms.
4
-
5
- For more info please visit [BBSF Controls documenation](https://bbsfadmin.bnsights.com/controls) or [BBSF documentation](https://bnsightsprojects.visualstudio.com/BBSF%203/_wiki/wikis/BBSF-3.wiki/65/BBSF-Documentation)
6
-
7
- ---
8
-
9
- ## 🚀 NEW! Tree-Shakable Granular Modules (v2.0+)
10
-
11
- The package now supports **true tree-shaking** through granular modules for optimal bundle size!
12
-
13
- ### 📦 Available Modules
14
-
15
- #### ✨ Granular Modules (RECOMMENDED - Best Bundle Optimization)
16
-
17
- | Module | Gzipped Size | Contains | Main Dependencies |
18
- |--------|--------------|----------|-------------------|
19
- | **BBSFFormsBasicModule** | ~30 KB | TextBox, TextArea, CheckBox, RadioButton, Toggle | ngx-mask, Material slide-toggle |
20
- | **BBSFDropdownModule** | ~130 KB | DropdownList | ng-select (~100 KB) |
21
- | **BBSFDateTimeModule** | ~220 KB | DateTimePicker + Date pipes | Owl DateTime (~200 KB) |
22
- | **BBSFPhoneModule** | ~90 KB | Phone input | intl-tel-input (~80 KB) |
23
- | **BBSFUtilityModule** | ~80 KB | Form, Modals, Paging, PageHeader, Recaptcha | SweetAlert2, NgBootstrap |
24
- | **BBSFMultilingualModule** | ~15 KB | MultiLingualTextBox, MultiLingualTextArea | None (lightweight) |
25
-
26
- #### 📚 Legacy Grouped Modules (For Backward Compatibility)
27
-
28
- | Module | Size | Contains |
29
- |--------|------|----------|
30
- | **BBSFCoreModule** ⚠️ | ~650-800 KB | ALL modules above (deprecated, use granular modules instead) |
31
- | **BBSFEditorsModule** | ~800 KB | HtmlEditor, MarkdownEditor, MultiLingualHtmlEditor |
32
- | **BBSFUploadsModule** | ~360 KB | FileUpload, ImageUpload, ProfileImageUploader |
33
- | **BBSFSpecializedModule** | ~300 KB | Calendar, MapAutoComplete, AutocompleteTextBox, TagsInput, Repeater |
34
- | **BBSFControlsModule** ⚠️ | ~2+ MB | Everything (deprecated) |
35
-
36
- ---
37
-
38
- ### 📖 Usage Examples
39
-
40
- #### ✅ **Best Practice: Use Granular Modules**
41
-
42
- ```typescript
43
- // Example 1: Basic form with text inputs only (~30 KB)
44
- import { BBSFFormsBasicModule } from '@bnsights/bbsf-controls';
45
-
46
- @NgModule({
47
- imports: [BBSFFormsBasicModule]
48
- })
49
- export class SimpleFormModule { }
50
- ```
51
-
52
- ```typescript
53
- // Example 2: Form with dropdown (~160 KB - 75% smaller than BBSFCoreModule!)
54
- import {
55
- BBSFFormsBasicModule, // ~30 KB
56
- BBSFDropdownModule // ~130 KB
57
- } from '@bnsights/bbsf-controls';
58
-
59
- @NgModule({
60
- imports: [BBSFFormsBasicModule, BBSFDropdownModule]
61
- })
62
- export class FormWithDropdownModule { }
63
- ```
64
-
65
- ```typescript
66
- // Example 3: Form with date picker (~250 KB - 60% smaller!)
67
- import {
68
- BBSFFormsBasicModule, // ~30 KB
69
- BBSFDateTimeModule // ~220 KB
70
- } from '@bnsights/bbsf-controls';
71
-
72
- @NgModule({
73
- imports: [BBSFFormsBasicModule, BBSFDateTimeModule]
74
- })
75
- export class FormWithDateModule { }
76
- ```
77
-
78
- ```typescript
79
- // Example 4: Complex form with multiple controls (~565 KB - 13% smaller)
80
- import {
81
- BBSFFormsBasicModule, // ~30 KB - TextBox, CheckBox, etc.
82
- BBSFDropdownModule, // ~130 KB - Dropdown
83
- BBSFDateTimeModule, // ~220 KB - Date/Time
84
- BBSFPhoneModule, // ~90 KB - Phone
85
- BBSFUtilityModule, // ~80 KB - Form, Modals, Paging
86
- BBSFMultilingualModule // ~15 KB - Multilingual
87
- } from '@bnsights/bbsf-controls';
88
-
89
- @NgModule({
90
- imports: [
91
- BBSFFormsBasicModule,
92
- BBSFDropdownModule,
93
- BBSFDateTimeModule,
94
- BBSFPhoneModule,
95
- BBSFUtilityModule,
96
- BBSFMultilingualModule
97
- ]
98
- })
99
- export class FullFormModule { }
100
- ```
101
-
102
- ```typescript
103
- // Example 5: Form with rich text editor (~830 KB)
104
- import {
105
- BBSFFormsBasicModule,
106
- BBSFEditorsModule // Rich text editors
107
- } from '@bnsights/bbsf-controls';
108
-
109
- @NgModule({
110
- imports: [BBSFFormsBasicModule, BBSFEditorsModule]
111
- })
112
- export class ContentFormModule { }
113
- ```
114
-
115
- #### ⚠️ **Legacy: Old Module Imports (Not Recommended)**
116
-
117
- ```typescript
118
- // ❌ Old way 1: Loads ALL controls (~2+ MB)
119
- import { BBSFControlsModule } from '@bnsights/bbsf-controls';
120
-
121
- @NgModule({
122
- imports: [BBSFControlsModule] // Don't use this!
123
- })
124
- ```
125
-
126
- ```typescript
127
- // ⚠️ Old way 2: Still loads too much (~650 KB even if you use 1 control)
128
- import { BBSFCoreModule } from '@bnsights/bbsf-controls';
129
-
130
- @NgModule({
131
- imports: [BBSFCoreModule] // Use granular modules instead!
132
- })
133
- ```
134
-
135
- ---
136
-
137
- ### 📊 Performance Benefits
138
-
139
- #### Real-World Bundle Size Comparison
140
-
141
- | Use Case | Old (BBSFCoreModule) | New (Granular) | Savings |
142
- |----------|---------------------|----------------|---------|
143
- | **Basic form only** | 650 KB | 30 KB | **95%** ⬇️ |
144
- | **Form + Dropdown** | 650 KB | 160 KB | **75%** ⬇️ |
145
- | **Form + Date picker** | 650 KB | 250 KB | **60%** ⬇️ |
146
- | **Form + Phone** | 650 KB | 120 KB | **82%** ⬇️ |
147
- | **All core controls** | 650 KB | 565 KB | **13%** ⬇️ |
148
- | **+ Rich text editor** | 1450 KB | 830 KB | **43%** ⬇️ |
149
-
150
- #### Example: Typical Application Impact
151
-
152
- ```
153
- Before (using BBSFCoreModule):
154
- ├── TextBox ✓
155
- ├── Dropdown ✓
156
- └── Unused: DateTimePicker ✗ (~200 KB wasted)
157
- Phone ✗ (~80 KB wasted)
158
- Paging ✗ (~30 KB wasted)
159
- Modals ✗ (~50 KB wasted)
160
- ... (~290 KB wasted)
161
- Total: 650 KB
162
-
163
- After (using granular modules):
164
- ├── BBSFFormsBasicModule (~30 KB)
165
- └── BBSFDropdownModule (~130 KB)
166
- Total: 160 KB (490 KB saved! 75% reduction)
167
- ```
168
-
169
- ---
170
-
171
- ### 🔄 Migration Guide
172
-
173
- #### Step 1: Identify Your Controls
174
-
175
- Audit your application to see which controls you're actually using:
176
-
177
- ```bash
178
- # Search for control usage in your codebase
179
- grep -r "bbsf-textbox\|bbsf-dropdown\|bbsf-datepicker" src/
180
- ```
181
-
182
- #### Step 2: Map Controls to Granular Modules
183
-
184
- | If you use... | Import this module | Size |
185
- |--------------|-------------------|------|
186
- | TextBox, TextArea, CheckBox, Radio, Toggle | `BBSFFormsBasicModule` | ~30 KB |
187
- | DropdownList | `BBSFDropdownModule` | ~130 KB |
188
- | DateTimePicker | `BBSFDateTimeModule` | ~220 KB |
189
- | Phone | `BBSFPhoneModule` | ~90 KB |
190
- | Form, Modals, Paging, PageHeader | `BBSFUtilityModule` | ~80 KB |
191
- | MultiLingualTextBox/TextArea | `BBSFMultilingualModule` | ~15 KB |
192
- | HtmlEditor, MarkdownEditor | `BBSFEditorsModule` | ~800 KB |
193
- | FileUpload, ImageUpload | `BBSFUploadsModule` | ~360 KB |
194
- | Calendar, Maps, TagsInput, Repeater | `BBSFSpecializedModule` | ~300 KB |
195
-
196
- #### Step 3: Replace Imports
197
-
198
- **Migration Example 1: From BBSFControlsModule**
199
- ```typescript
200
- // ❌ Before: Loading ALL controls (~2+ MB)
201
- import { BBSFControlsModule } from '@bnsights/bbsf-controls';
202
-
203
- @NgModule({
204
- imports: [BBSFControlsModule]
205
- })
206
- export class UserFormModule { }
207
-
208
- // ✅ After: Only load what you need (~160 KB - 92% smaller!)
209
- import {
210
- BBSFFormsBasicModule, // You use TextBox, CheckBox
211
- BBSFDropdownModule // You use Dropdown
212
- } from '@bnsights/bbsf-controls';
213
-
214
- @NgModule({
215
- imports: [
216
- BBSFFormsBasicModule,
217
- BBSFDropdownModule
218
- ]
219
- })
220
- export class UserFormModule { }
221
- ```
222
-
223
- **Migration Example 2: From BBSFCoreModule**
224
- ```typescript
225
- // ⚠️ Before: Loading all core controls (~650 KB)
226
- import { BBSFCoreModule } from '@bnsights/bbsf-controls';
227
-
228
- @NgModule({
229
- imports: [BBSFCoreModule]
230
- })
231
- export class SimpleFormModule { }
232
-
233
- // ✅ After: Only basic forms (~30 KB - 95% smaller!)
234
- import { BBSFFormsBasicModule } from '@bnsights/bbsf-controls';
235
-
236
- @NgModule({
237
- imports: [BBSFFormsBasicModule]
238
- })
239
- export class SimpleFormModule { }
240
- ```
241
-
242
- **Migration Example 3: Complex Form**
243
- ```typescript
244
- // ❌ Before: BBSFCoreModule (~650 KB) + BBSFEditorsModule (~800 KB) = 1.45 MB
245
- import { BBSFCoreModule, BBSFEditorsModule } from '@bnsights/bbsf-controls';
246
-
247
- @NgModule({
248
- imports: [BBSFCoreModule, BBSFEditorsModule]
249
- })
250
- export class ArticleFormModule { }
251
-
252
- // ✅ After: Only what you need (~410 KB - 72% smaller!)
253
- import {
254
- BBSFFormsBasicModule, // ~30 KB - TextBox, CheckBox
255
- BBSFDropdownModule, // ~130 KB - Dropdown
256
- BBSFDateTimeModule, // ~220 KB - DatePicker
257
- BBSFFormsBasicModule // ~30 KB - Basic forms
258
- } from '@bnsights/bbsf-controls';
259
-
260
- @NgModule({
261
- imports: [
262
- BBSFFormsBasicModule,
263
- BBSFDropdownModule,
264
- BBSFDateTimeModule
265
- ]
266
- })
267
- export class ArticleFormModule { }
268
- ```
269
-
270
- #### Step 4: Verify Bundle Size
271
-
272
- After migration, build your app and check the bundle size:
273
-
274
- ```bash
275
- # Build with stats
276
- npm run build -- --stats-json
277
-
278
- # Analyze bundle (install if needed: npm i -g webpack-bundle-analyzer)
279
- npx webpack-bundle-analyzer dist/your-app/stats.json
280
- ```
281
-
282
- Look for `@bnsights/bbsf-controls` in the bundle analyzer to see your savings!
283
-
284
- #### Step 5: Update All Modules
285
-
286
- Search and replace across your codebase:
287
-
288
- ```bash
289
- # Find all BBSFControlsModule imports
290
- grep -r "BBSFControlsModule" src/
291
-
292
- # Find all BBSFCoreModule imports
293
- grep -r "BBSFCoreModule" src/
294
- ```
295
-
296
- Then update each file based on which controls it actually uses.
297
-
298
- ---
299
-
300
- ### ⚡ Quick Reference
301
-
302
- **Most Common Combinations:**
303
-
304
- ```typescript
305
- // Basic form (~30 KB)
306
- import { BBSFFormsBasicModule } from '@bnsights/bbsf-controls';
307
-
308
- // Form with dropdown (~160 KB)
309
- import { BBSFFormsBasicModule, BBSFDropdownModule } from '@bnsights/bbsf-controls';
310
-
311
- // Form with date picker (~250 KB)
312
- import { BBSFFormsBasicModule, BBSFDateTimeModule } from '@bnsights/bbsf-controls';
313
-
314
- // Complete form (~565 KB)
315
- import {
316
- BBSFFormsBasicModule,
317
- BBSFDropdownModule,
318
- BBSFDateTimeModule,
319
- BBSFPhoneModule,
320
- BBSFUtilityModule
321
- } from '@bnsights/bbsf-controls';
322
-
323
- // Content management (~830 KB)
324
- import { BBSFFormsBasicModule, BBSFEditorsModule } from '@bnsights/bbsf-controls';
325
-
326
- // Media management (~390 KB)
327
- import { BBSFFormsBasicModule, BBSFUploadsModule } from '@bnsights/bbsf-controls';
328
- ```
329
-
330
- ---
331
-
332
- ## 🔧 Troubleshooting
333
-
334
- ### Error: `export 'DOCUMENT' (imported as 'DOCUMENT') was not found in '@angular/core'`
335
-
336
- **Problem:** This error occurs when using Angular 19+ with the `BBSFEditorsModule` (which uses `@kolkov/angular-editor`). Angular 19's build system tries to process the `@kolkov/angular-editor` package and encounters compatibility issues.
337
-
338
- **Solution 1: Install @kolkov/angular-editor in your consuming app (Recommended)**
339
-
340
- Add `@kolkov/angular-editor` to your consuming app's `package.json` dependencies:
341
-
342
- ```bash
343
- npm install @kolkov/angular-editor@^3.0.0-beta.2
344
- ```
345
-
346
- This ensures the package is resolved correctly during the build process.
347
-
348
- **Solution 2: Use patch-package to fix the import**
349
-
350
- If Solution 1 doesn't work, you can patch the `@kolkov/angular-editor` package:
351
-
352
- 1. Install patch-package in your consuming app:
353
- ```bash
354
- npm install --save-dev patch-package postinstall-postinstall
355
- ```
356
-
357
- 2. Create a patch file:
358
- - Navigate to `node_modules/@kolkov/angular-editor/fesm2020/kolkov-angular-editor.mjs`
359
- - Verify that line 4 already has: `import { DOCUMENT, CommonModule } from '@angular/common';`
360
- - If the issue persists, it may be a bundling issue with Angular 19
361
-
362
- 3. If needed, manually patch the file and create a patch:
363
- ```bash
364
- npx patch-package @kolkov/angular-editor
365
- ```
366
-
367
- 4. Add a postinstall script to your `package.json`:
368
- ```json
369
- {
370
- "scripts": {
371
- "postinstall": "patch-package"
372
- }
373
- }
374
- ```
375
-
376
- **Solution 3: Configure your build to externalize @kolkov/angular-editor**
377
-
378
- If you're using a custom webpack configuration, you can configure it to externalize the package:
379
-
380
- ```javascript
381
- // webpack.config.js or angular.json custom webpack config
382
- externals: {
383
- '@kolkov/angular-editor': '@kolkov/angular-editor'
384
- }
385
- ```
386
-
387
- **Solution 4: Use a different HTML editor**
388
-
389
- If the issue persists, consider using a different HTML editor component that's compatible with Angular 19, or wait for an updated version of `@kolkov/angular-editor`.
390
-
391
- **Note:** The library maintainers are aware of this issue. The `@kolkov/angular-editor` package version `3.0.0-beta.2` was built for Angular 13-15, and Angular 19 has stricter module resolution. The recommended workaround is Solution 1.
392
-
393
- ---
394
-
395
- ## Change Log
396
-
397
- ## 1.0.194 / 16-10-2025
398
-
399
- =====================
400
-
401
- - Implement standalone components
402
-
403
- ## 1.0.193 / 16-10-2025
404
-
405
- =====================
406
-
407
- - Fix Format for displayValues in Tags, multiSelect
408
-
409
- ## 1.0.192 / 15-10-2025
410
-
411
- =====================
412
-
413
- - Fix Repeater URL Validation
414
- - Fix Clear singleSelection DropdownComponent
415
- - Remove Swal cancelButton style
416
-
417
- ## 1.0.191 / 23/9/2025
418
-
419
- =====================
420
-
421
- - Initialize repeater control when custom validation
422
- - Handle attach image in HTML Editor Component
423
- - Validate files count when drag and drop file in single upload
424
-
425
-
426
- ## 1.0.190 / 21/9/2025
427
-
428
- =====================
429
-
430
- - Add option to add buttons to hide in HTML Editor Component
431
- - Remove options from Html Editor component
432
-
433
- ## 1.0.189 / 15/9/2025
434
-
435
- =====================
436
-
437
- - Add option to show password requirements
438
-
439
- ## 1.0.188 / 15/9/2025
440
-
441
- =====================
442
-
443
- - Update utilities package to 1.0.68
444
- - Add Password Validation disclaimer
445
-
446
- ## 1.0.187 / 15/9/2025
447
-
448
- =====================
449
-
450
- - Update utilities package to 1.0.67
451
-
452
- ## 1.0.186 11-09-2025
453
-
454
- ====================
455
-
456
- - Fixing password validation issue in TextBoxComponent
457
-
458
- ## 1.0.185 07-09-2025
459
-
460
- ====================
461
-
462
- - DropdownList Enable Select all.
463
-
464
- ## 1.0.184 03-09-2025
465
-
466
- ====================
467
-
468
- - dropdownlist place error message outside input style
469
-
470
- ## 1.0.183 03-09-2025
471
-
472
- ====================
473
-
474
- - Fix FileUpload issues
475
- - Fix TextArea SpeechRecognition issue.
476
-
477
- ## 1.0.182 28-08-2025
478
-
479
- ====================
480
-
481
- - Update utilities package to 1.0.66
482
- - Fix FileUpload issues
483
- - Enhancement for textarea, multi lingual textbox
484
-
485
- ## 1.0.181 26-08-2025
486
-
487
- ====================
488
-
489
- - Update utilities package to 1.0.64
490
-
491
- # 1.0.178 20-08-2025 (deprecated)
492
- ====================
493
- - Fileupload component
494
- - fix accepted types issue.
495
- - fix error display issue.
496
-
497
- # 1.0.177 18-08-2025 (deprecated)
498
- ====================
499
- - Enhance File-Upload Component
500
- - Fix FileUplaod typo to be FileUpload
501
-
502
- # 1.0.176 11-08-2025
503
- ====================
504
- - Updating utilities package version.
505
-
506
- # 1.0.173 06-08-2025
507
- ====================
508
- - Add desplayValue getter in all controls to handle selected values
509
- - Fix some issue in file upload
510
-
511
- # 1.0.172 06-08-2025
512
- ====================
513
- - Add desplayValue in all controls to handle selected values
514
-
515
-
516
- # 1.0.171 04-08-2025
517
- ====================
518
- - add PreventDoubleClickDirective to handle double click issues
519
-
520
- # 1.0.168 03-08-2025
521
- ====================
522
- - Fix mic in `text-area`.
523
- - Handle navigation event in paging `enableBrowserNavigation`.
524
-
525
- ## 1.0.167 29-07-2025
526
- =====================
527
- - add fixes to `date-picker`, and `dropdownlist` components for pageFilter popup
528
-
529
- ## 1.0.170 / 23-7-2024 (Using Angular 19)
530
-
531
- =====================
532
-
533
- - Update BBSF to use Angular 19
534
- - Update utilities package
535
-
536
- ## 1.0.166 / 6/5/2025
537
- =====================
538
- Added extra options to **MapAutoCompleteOptions** advanced view mode
539
- - Sets the zoom level for the map > `zoom`
540
- - Finding a location by a specific address > `address`
541
- - Boolean to enable fallback behavior if the address lookup fails > `enableFallbackAddress`
542
- - Option to validates that the selected location is within a specific city boundary > `validateLocationWithinCity`
543
- - Added componentRestrictions Geo Restriction option > `country`
544
-
545
- Fixed href issue in **FileUploaderComponent**
546
-
547
- ## 1.0.161 / 12-3-2025
548
- =====================
549
- - Enable Grouping feature in dropdown control (Added hasGroup property in DropdownOptions and group property in DropdownListItem)
550
- ## 1.0.160 / 26-2-2025
551
- =====================
552
- - Tag Fix value null check
553
-
554
-
555
- ## 1.0.159 / 16-2-2025
556
-
557
- =====================
558
-
559
- - Update utilities package
560
- - Fix TextBox when value undenied in check max_length
561
-
562
- ## 1.0.158 / 16-2-2025
563
-
564
- =====================
565
-
566
- - update utilities package
567
-
568
- ## 1.0.157 / 30-12-2024
569
-
570
- =====================
571
-
572
- * Fix bug in TextBox when delete max limit chars
573
-
574
- ## 1.0.156 / 28-11-2024
575
-
576
- =====================
577
-
578
- * Fix bug in TextArea when speechrecoginitoin is disabled
579
-
580
- ## 1.0.155 / 28-11-2024
581
-
582
- =====================
583
-
584
- * Fix bug in Repeater table control on delete item
585
-
586
- ## 1.0.154 / 28-11-2024
587
-
588
- =====================
589
- **Fix TextArea When Using in Repeater**
590
-
591
- ## 1.0.153 / 27-11-2024
592
-
593
- =====================
594
- **Fix Repeater table control on delete item**
595
-
596
- ## 1.0.152 / 3-9-2024
597
-
598
- =====================
599
- -multi tenant
600
-
601
- ## 1.0.151 / 19-8-2024
602
-
603
- ======================
604
-
605
- * Added MarkdownEditor Control
606
-
607
- ## 1.0.150 / 8-8-2024
608
-
609
- ======================
610
-
611
- * Updated TextAreaComponent speech language select with UI fixes
612
-
613
- ## 1.0.149 / 6-8-2024
614
-
615
- ======================
616
-
617
- * Updated TextAreaComponent speech language select
618
-
619
- ## 1.0.148 / 4-8-2024
620
-
621
- ===================
622
-
623
- * fixed UI bug in speech to text of TextAreaComponent
624
-
625
- ## 1.0.147 / 4-8-2024
626
-
627
- ===================
628
-
629
- * fixed bug in speech to text of TextAreaComponent
630
-
631
- ## 1.0.146 / 4-8-2024
632
-
633
- ===================
634
-
635
- * added feature spech to text into TextAreaComponent
636
-
637
- ## 1.0.145 / 24-7-2024
638
-
639
- ===================
640
-
641
- * fix naming in file upload control
642
-
643
- ## 1.0.144 / 24-7-2024
644
-
645
- ===================
646
-
647
- * Fix viewing File upload control while options.isUploadFileAsync == false
648
-
649
- ## 1.0.143 / 16-7-2024
650
-
651
- ===================
652
-
653
- * Update imports for sweetalert package to avoid inline style injected to DOM
654
- * import style inside your applications
655
-
656
- ## 1.0.142 / 3-6-2024
657
-
658
- ===================
659
-
660
- * Update Utilities Library verion
661
-
662
- ## 1.0.141 / 18-4-2024
663
-
664
- ===================
665
-
666
- * Fix File uploader loading issue
667
-
668
- ## 1.0.140 / 3-4-2024
669
-
670
- ===================
671
-
672
- * Fix delete in repeater
673
-
674
- ## 1.0.139 / 2-4-2024
675
-
676
- ===================
677
-
678
- * Update Utilities Library
679
- * Fix delete in repeater
680
-
681
- ## 1.0.138 / 1-4-2024
682
-
683
- ===================
684
-
685
- * Update Utilities Library
686
-
687
- ## 1.0.137 / 31-3-2024
688
-
689
- ===================
690
-
691
- * Fix File uploader drop zone
692
-
693
- ## 1.0.136 / 28-3-2024
694
-
695
- ===================
696
-
697
- * Update Utilities Library
698
-
699
- ## 1.0.135 / 27-3-2024
700
-
701
- ===================
702
-
703
- * Update Utilities Library
704
- * Fix Delete File & Allowed File Type Issue In FileUpload Control
705
-
706
- ## 1.0.134 / 24-3-2024
707
-
708
- ===================
709
-
710
- * Fix delete in repeater control
711
-
712
- ## 1.0.133 / 24-3-2024
713
-
714
- ===================
715
-
716
- * Fix naming convention in repeater control while edit
717
-
718
- ## 1.0.132 / 21-3-2024
719
-
720
- ===================
721
-
722
- * Add outputFunction Prop in ControlOptionsBase to use it while add a control in repeater
723
- * add new type of repeater (checkbox control)
724
-
725
- ## 1.0.131 / 20-3-2024
726
-
727
- ===================
728
-
729
- * Fix File-Upload Control DTO Bug
730
-
731
- ## 1.0.130 / 19-3-2024
732
-
733
- ===================
734
-
735
- * Fix Multiple File-Upload Control Bug
736
-
737
- ## 1.0.129 / 14-3-2024
738
-
739
- ===================
740
-
741
- * Fix File-Upload Control Name Bug
742
-
743
- ## 1.0.128 / 12-3-2024
744
-
745
- ===================
746
-
747
- * Update Utilities Library
748
-
749
- ## 1.0.127 / 6-3-2024
750
-
751
- ===================
752
-
753
- * Update Utilities Library
754
-
755
- ## 1.0.126 / 6-3-2024
756
-
757
- ===================
758
-
759
- * Update Utilities Library
760
-
761
- ## 1.0.125 / 5-3-2024
762
-
763
- ===================
764
-
765
- * Update Utilities Library
766
-
767
- ## 1.0.124 / 27-2-2024
768
-
769
- ===================
770
-
771
- * Fix Bug in TextBox,TextArea,MultLingualTextArea Max Length Validation Msg,FileUpload and DateTimePicker
772
-
773
- ## 1.0.123 / 22-2-2024
774
-
775
- ===================
776
-
777
- * Fix Bug in Paging Component
778
-
779
- ## 1.0.122 / 15-2-2024
780
-
781
- ===================
782
-
783
- * Disable History List Of AutoComplate Control
784
- * Fix Paging Control (Page Change Bug)
785
-
786
- ## 1.0.121 / 14-2-2024
787
-
788
- ===================
789
-
790
- * Fix English and Arabic Validation Error for MultiLingualTextBox and MultiLingualHtmlEditor
791
- * Fix Characters count validation message in MultLingualTextBox
792
- * Update resource key to be VAL_ArabicIsRequiredAndOnly50CharactersEnglish in MultilingualTextbox, MultilingualTextArea,textbox and ValidationErrorMessage
793
- * Fix placeholder in MultilingualTextbox and MultilingualTextArea
794
- * Update Paging component fill totalcount of paging options
795
- * Add new file types for filer uploader in FileType Enums
796
- * Return file name, file type while upload file completed
797
-
798
- ## 1.0.120 / 11-2-2024
799
-
800
- ===================
801
- *Prevent Form Submit Twice
802
-
803
- ## 1.0.119 / 8-2-2024
804
-
805
- ===================
806
-
807
- * Update Utilities Library
808
-
809
- ## 1.0.118 / 8-2-2024
810
-
811
- ===================
812
-
813
- * Update Utilities Library
814
- * Fix FileUpload Loader issue
815
-
816
- ## 1.0.117 / 7-2-2024
817
-
818
- ===================
819
-
820
- * Fix MultiligualTextBox Arabic Binding issue
821
-
822
- ## 1.0.116 / 7-2-2024
823
-
824
- ===================
825
-
826
- * Fix AutoComplate Control Custom Validator Issue
827
-
828
- ## 1.0.115 / 6-2-2024
829
-
830
- ===================
831
-
832
- * Fix AutoComplate Control Custom Validator Issue
833
-
834
- ## 1.0.114 / 5-2-2024
835
-
836
- ===================
837
-
838
- * Update AutoComplate Control (Add Extra Filter- Take Name As Input)
839
- * Update TagsInput Control(Add Extra Filter- Take Name As Input)
840
- * Update Form Control(Allow Disable Submit With Enter Press)
841
-
842
- ## 1.0.113 / 4-1-2024
843
-
844
- ===================
845
-
846
- * Update Utilities Library
847
- * Update File Upload Control To Allow Upload File Async
848
- * Fix DateTimePicker Issue When Use In Filter Mode
849
-
850
- ## 1.0.112 / 21-12-2023
851
-
852
- ===================
853
-
854
- * update controls, controls options with new naming convention, and update datepicker controls (remove time zone offest)
855
-
856
- ## 1.0.111 / 13-12-2023
857
-
858
- ===================
859
-
860
- * Add Advanced map control.
861
-
862
- ## 1.0.110 / 11-12-2023
863
-
864
- ===================
865
-
866
- * Upgraded Angular version (17) and upgraded related libraries.
867
-
868
- ## 1.0.109 / 3-12-2023
869
-
870
- ===================
871
-
872
- * Update Utilities Library
873
-
874
- ## 1.0.108 / 3-12-2023
875
-
876
- ===================
877
-
878
- * Update Utilities Library
879
-
880
- ## 1.0.107 / 29-11-2023
881
-
882
- ===================
883
-
884
- * Update Utilities Library
885
-
886
- ## 1.0.106 / 19-11-2023
887
-
888
- ===================
889
-
890
- * Update Utilities Library
891
-
892
- ## 1.0.105 / 16-11-2023
893
-
894
- ===================
895
-
896
- * Update Utilities Library
897
-
898
- ## 1.0.104 / 16-10-2023
899
-
900
- ===================
901
-
902
- * Update textbox control add (OnBlur) output when curser get out of input.
903
-
904
- ## 1.0.103 / 15-10-2023
905
-
906
- ===================
907
-
908
- * Update AutocompleteTextBox Control
909
-
910
- ## 1.0.102 / 12-10-2023
911
-
912
- ===================
913
-
914
- * Update AutocompleteTextBox Control
915
-
916
- ## 1.0.101 / 14-9-2023
917
-
918
- ===================
919
-
920
- * Add Custom Template to AutocompleteTextBox options
921
-
922
- ## 1.0.100 / 15-8-2023
923
-
924
- ===================
925
-
926
- * Update Utilities Library
927
-
928
- ## 1.0.99 / 15-8-2023
929
-
930
- ===================
931
-
932
- * Update AutocompleteTextBox Control
933
- * Update FileUpload Control
934
- * Update Form Control
935
-
936
- ## 1.0.97 / 19-7-2023
937
-
938
- ===================
939
-
940
- * Update Utilities Library
941
- * fix MultiLingualHtmlEditor Control
942
-
943
- ## 1.0.96 / 18-7-2023
944
-
945
- ===================
946
-
947
- * Add Default value when BBSF Control is Readonly and not has value.
948
-
949
- ## 1.0.95 / 14-6-2023
950
-
951
- ===================
952
-
953
- * Add Readonly Option to All BBSF Controls
954
-
955
- ## 1.0.94 / 21-5-2023
956
-
957
- ===================
958
-
959
- * Fix File-Upload Control Bug (Delete file from multiple files has an error )
960
-
961
- ## 1.0.93 / 02-5-2023
962
-
963
- ===================
964
-
965
- * Fix Phone Control Bug
966
-
967
- ## 1.0.92 / 13-4-2023
968
-
969
- ===================
970
-
971
- * Fix Direction For All Control
972
-
973
- ## 1.0.91 / 8-4-2023
974
-
975
- ===================
976
-
977
- * Update Dropdown Control
978
-
979
- ## 1.0.90 / 27-3-2023
980
-
981
- ===================
982
-
983
- * Update Utilities Library
984
- * Update Controls
985
-
986
- ## 1.0.89 / 26-3-2023 (!!!Warning!! Testing Release)
987
-
988
- ===================
989
-
990
- * Update Utilities Library
991
-
992
- ## 1.0.88 / 22-3-2023
993
-
994
- ===================
995
-
996
- * Update Utilities Library
997
-
998
- ## 1.0.86 / 14-2-2023
999
-
1000
- ===================
1001
-
1002
- * Solve Textarea Control Bugs
1003
- * Solve Upload-File Control Bugs
1004
-
1005
- ## 1.0.84 / 12-2-2023
1006
-
1007
- ===================
1008
-
1009
- * Update AppBase Component
1010
- * Solve UI Issue In All Controls
1011
-
1012
- ## 1.0.83 / 25-1-2023
1013
-
1014
- ===================
1015
-
1016
- * Fix Modal Dismiss Issue
1017
-
1018
- ## 1.0.82 / 25-1-2023
1019
-
1020
- ===================
1021
-
1022
- * Fix TextBox control
1023
- * Fix MultiLingualTextBox control
1024
- * Fix MultiLingualHTML control
1025
-
1026
- ## 1.0.81 / 24-1-2023
1027
-
1028
- ===================
1029
-
1030
- * Fix HTML Editor control
1031
- * Fix Multilingual HTML Editor control
1032
- * Fix Tag-Input control
1033
- * Fix All UI Bugs
1034
-
1035
- ## 1.0.80 / 18-1-2023
1036
-
1037
- ===================
1038
-
1039
- * Fix HTML Editor control inline style
1040
- * Fix Multilingual HTML Editor control inline style
1041
- * Change Image Upload cropper tolltip to be translated
1042
-
1043
- ## 1.0.79 / 15-1-2023
1044
-
1045
- ===================
1046
- *Update App Base and Controls
1047
-
1048
- ## 1.0.78 / 11-1-2023
1049
-
1050
- ===================
1051
-
1052
- * Solve Image Control Bug
1053
-
1054
- ## 1.0.77 / 11-1-2023
1055
-
1056
- ===================
1057
-
1058
- * Solve Image Control Bug
1059
-
1060
- ## 1.0.74 / 9-1-2023
1061
-
1062
- ===================
1063
-
1064
- * Add UI Changes
1065
-
1066
- ## 1.0.73 / 5-1-2023
1067
-
1068
- ===================
1069
-
1070
- * Update utilities Version
1071
-
1072
- ## 1.0.72 / 3-1-2023
1073
-
1074
- ===================
1075
-
1076
- * Update utilities Version
1077
-
1078
- ## 1.0.71 / 25-12-2022
1079
-
1080
- ===================
1081
-
1082
- * Update utilities Version
1083
-
1084
- ## 1.0.70 / 22-12-2022
1085
-
1086
- ===================
1087
-
1088
- * Update utilities Version
1089
-
1090
- ## 1.0.69 / 05-12-2022
1091
-
1092
- ===================
1093
- *Add Page Header Control
1094
- *Add BBSF Base Component
1095
- *Update Captcha Control
1096
- *Add Custom Date Pipe
1097
- *Update Utilities version
1098
-
1099
- ## 1.0.68 / 22-11-2022
1100
-
1101
- ===================
1102
- *Fix Range Number in Repeater Control when control type number
1103
-
1104
- ## 1.0.66 / 20-11-2022
1105
-
1106
- * Controls UI revamp
1107
- * Textbox
1108
- * Textarea
1109
- * Multilingual Textbox
1110
- * Multilingual Textarea
1111
- * Checkbox
1112
- * Dropdown
1113
- * Repeater Table
1114
- * Image Upload
1115
- * Tags Input
1116
- * Paging
1117
-
1118
- ## 1.0.65 / 15-11-2022
1119
-
1120
- ===================
1121
-
1122
- * Add Captcha control
1123
-
1124
- ## 1.0.64 / 07-11-2022
1125
-
1126
- ===================
1127
-
1128
- * Enable two way binding to all controls
1129
- * Add new options to Confirmation Modal (showCancelButton - showCloseButton)
1130
- * Add option to all controls to allow label extra classes (LabelExtraClasses)
1131
-
1132
- ## 1.0.63 / 18-10-2022
1133
-
1134
- ===================
1135
-
1136
- * Fix Profile Image Upload control
1137
-
1138
- ## 1.0.62 / 11-10-2022
1139
-
1140
- ===================
1141
-
1142
- * Fix modal dismiss in form submission success
1143
- * Add new property to (DisableModalDismiss) to FormOptions
1144
- * Fix tags input control, add tag selected text when losing focus if AllowNewSelection set to true
1145
-
1146
- ## 1.0.61 / 10-10-2022
1147
-
1148
- ===================
1149
-
1150
- * Update tags input control validation (Handle unmatched selection when enabling add new selection)
1151
-
1152
- ## 1.0.60 / 2-10-2022
1153
-
1154
- ===================
1155
-
1156
- * Update lang-mode cases in MultiLingualTextArea & MultiLingualTextBox controls
1157
-
1158
- ## 1.0.59 / 29-9-2022
1159
-
1160
- ===================
1161
-
1162
- * Update repeater-table control
1163
- * Add DisableAddButton to remove add button from the table
1164
- * Add DisableDeleteButton to remove the delete button from the table
1165
- * Add IsHiddenInput to RepeaterField that allows hiding columns from the table
1166
- * Update ControlOptionsBase, Add IsReadonly options that allow control to be submitted with the form instead of IsDisabled (only applied to text-box control)
1167
-
1168
- ## 1.0.58 / 19-9-2022
1169
-
1170
- ===================
1171
-
1172
- * Update tag-input control to allow reset and delete
1173
- * Update repeater control
1174
-
1175
- ## 1.0.57 / 11-9-2022
1176
-
1177
- ===================
1178
-
1179
- * Fix tags input (hanle backspace to remove no matched error)
1180
-
1181
- ## 1.0.53 / 18-8-2022
1182
-
1183
- ===================
1184
-
1185
- * Update Location control(delete value when value empty)
1186
-
1187
- ## 1.0.52 / 16-8-2022
1188
-
1189
- ===================
1190
-
1191
- * Update Tag input control(custom validation mode)
1192
-
1193
- ## 1.0.51 / 14-8-2022
1194
-
1195
- ===================
1196
-
1197
- * Update utilities Version
1198
-
1199
- ## 1.0.50 / 4-8-2022
1200
-
1201
- ===================
1202
-
1203
- * Replace lang attribute with b-lang
1204
- * Update MapAutoComplete control to enable edit mode
1205
-
1206
- ## 1.0.49 / 28-7-2022
1207
-
1208
- ===================
1209
-
1210
- * Fix bug in autocomplete control
1211
-
1212
- ## 1.0.48 / 6-7-2022
1213
-
1214
- ===================
1215
-
1216
- * Update tag input control
1217
- * Update tag input dto
1218
- * Update tag input options
1219
-
1220
- ## 1.0.47 / 5-7-2022
1221
-
1222
- ===================
1223
-
1224
- * Add DisableBlockUI and StartPagingCallback to paging control options
1225
-
1226
- ## 1.0.46 / 4-7-2022
1227
-
1228
- ===================
1229
-
1230
- * [Paging control] Add clearFilter method to reset all filters
1231
- * [PagingOptions] Add property (ResetFilterButtonName) (string), to select button that clears filters
1232
- * [Paging control] Check for ResetFilterButtonName, if not null then add event listener (click) to call clearFilter method
1233
- * [Paging control] Add method (getFiltersValue) to get all filters in paging, Usually used in export method
1234
-
1235
- ## 1.0.45 / 23-6-2022
1236
-
1237
- ===================
1238
-
1239
- * Change paging control update items action,Pass PagingPayload object in body instead of params
1240
- * Fix bug in form control ngAfterViewInit
1241
-
1242
- ## 1.0.44 / 14-6-2022
1243
-
1244
- ===================
1245
-
1246
- * Fix bugs in DropDown,TagsInput controls
1247
-
1248
- ## 1.0.43 / 9-6-2022
1249
-
1250
- ===================
1251
-
1252
- * Fix bugs in DateTimePicker,FileUpload,Form,Paging,Toggle slide controls
1253
-
1254
- ## 1.0.42 / 2-6-2022
1255
-
1256
- ===================
1257
- *Fix FileUpload "Upload" resource
1258
- *Fix MultiLingualTextBox Arabic validation
1259
- *Fix TextBox Arabic validation
1260
- *Fix TagsInput noItemsMAtch message
1261
- *Add AreaOfFocus Guid to Enums
1262
- *Fix License FileType to BN
1263
-
1264
- ## 1.0.40/ 25-5-2022
1265
-
1266
- ===================
1267
-
1268
- * Update repeater model
1269
-
1270
- ## 1.0.38/ 16-5-2022
1271
-
1272
- ===================
1273
-
1274
- * Update utilities library version
1275
-
1276
- ## 1.0.37/ 16-5-2022
1277
-
1278
- ===================
1279
-
1280
- * Update all control
1281
- * Update all Models
1282
- * Update utilities library version
1283
-
1284
- ## 1.0.36/ 28-4-2022
1285
-
1286
- ===================
1287
-
1288
- * Update Paging control
1289
-
1290
- ## 1.0.35/ 27-4-2022
1291
-
1292
- ===================
1293
-
1294
- * Solve all bugs
1295
- * Implementing Controls Patch Updates
1296
- * Implementing BBSFDateTime Pipe
1297
-
1298
- ## 1.0.32 / 30-3-2022
1299
-
1300
- ===================
1301
-
1302
- * Update utilities library version
1303
-
1304
- ## 1.0.31 / 29-3-2022
1305
-
1306
- ===================
1307
-
1308
- * Update repeater-table control
1309
-
1310
- ## 1.0.29 / 27-3-2022
1311
-
1312
- ===================
1313
-
1314
- * Add Repeater Table control
1315
- * Update Complex Repeater control
1
+ # BnsightsControlLibrary
2
+
3
+ BBSF Controls package is part of BBSF 3 packages. It has all the form controls that we use to build our application forms.
4
+
5
+ For more info please visit [BBSF Controls documenation](https://bbsfadmin.bnsights.com/controls) or [BBSF documentation](https://bnsightsprojects.visualstudio.com/BBSF%203/_wiki/wikis/BBSF-3.wiki/65/BBSF-Documentation)
6
+
7
+ ---
8
+
9
+ ## 🚀 NEW! Tree-Shakable Granular Modules (v2.0+)
10
+
11
+ The package now supports **true tree-shaking** through granular modules for optimal bundle size!
12
+
13
+ ### 📦 Available Modules
14
+
15
+ #### ✨ Granular Modules (RECOMMENDED - Best Bundle Optimization)
16
+
17
+ | Module | Gzipped Size | Contains | Main Dependencies |
18
+ |--------|--------------|----------|-------------------|
19
+ | **BBSFFormsBasicModule** | ~30 KB | TextBox, TextArea, CheckBox, RadioButton, Toggle | ngx-mask, Material slide-toggle |
20
+ | **BBSFDropdownModule** | ~130 KB | DropdownList | ng-select (~100 KB) |
21
+ | **BBSFDateTimeModule** | ~220 KB | DateTimePicker + Date pipes | Owl DateTime (~200 KB) |
22
+ | **BBSFPhoneModule** | ~90 KB | Phone input | intl-tel-input (~80 KB) |
23
+ | **BBSFUtilityModule** | ~80 KB | Form, Modals, Paging, PageHeader, Recaptcha | SweetAlert2, NgBootstrap |
24
+ | **BBSFMultilingualModule** | ~15 KB | MultiLingualTextBox, MultiLingualTextArea | None (lightweight) |
25
+
26
+ #### 📚 Legacy Grouped Modules (For Backward Compatibility)
27
+
28
+ | Module | Size | Contains |
29
+ |--------|------|----------|
30
+ | **BBSFCoreModule** ⚠️ | ~650-800 KB | ALL modules above (deprecated, use granular modules instead) |
31
+ | **BBSFEditorsModule** | ~800 KB | HtmlEditor, MarkdownEditor, MultiLingualHtmlEditor |
32
+ | **BBSFUploadsModule** | ~360 KB | FileUpload, ImageUpload, ProfileImageUploader |
33
+ | **BBSFSpecializedModule** | ~300 KB | Calendar, MapAutoComplete, AutocompleteTextBox, TagsInput, Repeater |
34
+ | **BBSFControlsModule** ⚠️ | ~2+ MB | Everything (deprecated) |
35
+
36
+ ---
37
+
38
+ ### 📖 Usage Examples
39
+
40
+ #### ✅ **Best Practice: Use Granular Modules**
41
+
42
+ ```typescript
43
+ // Example 1: Basic form with text inputs only (~30 KB)
44
+ import { BBSFFormsBasicModule } from '@bnsights/bbsf-controls';
45
+
46
+ @NgModule({
47
+ imports: [BBSFFormsBasicModule]
48
+ })
49
+ export class SimpleFormModule { }
50
+ ```
51
+
52
+ ```typescript
53
+ // Example 2: Form with dropdown (~160 KB - 75% smaller than BBSFCoreModule!)
54
+ import {
55
+ BBSFFormsBasicModule, // ~30 KB
56
+ BBSFDropdownModule // ~130 KB
57
+ } from '@bnsights/bbsf-controls';
58
+
59
+ @NgModule({
60
+ imports: [BBSFFormsBasicModule, BBSFDropdownModule]
61
+ })
62
+ export class FormWithDropdownModule { }
63
+ ```
64
+
65
+ ```typescript
66
+ // Example 3: Form with date picker (~250 KB - 60% smaller!)
67
+ import {
68
+ BBSFFormsBasicModule, // ~30 KB
69
+ BBSFDateTimeModule // ~220 KB
70
+ } from '@bnsights/bbsf-controls';
71
+
72
+ @NgModule({
73
+ imports: [BBSFFormsBasicModule, BBSFDateTimeModule]
74
+ })
75
+ export class FormWithDateModule { }
76
+ ```
77
+
78
+ ```typescript
79
+ // Example 4: Complex form with multiple controls (~565 KB - 13% smaller)
80
+ import {
81
+ BBSFFormsBasicModule, // ~30 KB - TextBox, CheckBox, etc.
82
+ BBSFDropdownModule, // ~130 KB - Dropdown
83
+ BBSFDateTimeModule, // ~220 KB - Date/Time
84
+ BBSFPhoneModule, // ~90 KB - Phone
85
+ BBSFUtilityModule, // ~80 KB - Form, Modals, Paging
86
+ BBSFMultilingualModule // ~15 KB - Multilingual
87
+ } from '@bnsights/bbsf-controls';
88
+
89
+ @NgModule({
90
+ imports: [
91
+ BBSFFormsBasicModule,
92
+ BBSFDropdownModule,
93
+ BBSFDateTimeModule,
94
+ BBSFPhoneModule,
95
+ BBSFUtilityModule,
96
+ BBSFMultilingualModule
97
+ ]
98
+ })
99
+ export class FullFormModule { }
100
+ ```
101
+
102
+ ```typescript
103
+ // Example 5: Form with rich text editor (~830 KB)
104
+ import {
105
+ BBSFFormsBasicModule,
106
+ BBSFEditorsModule // Rich text editors
107
+ } from '@bnsights/bbsf-controls';
108
+
109
+ @NgModule({
110
+ imports: [BBSFFormsBasicModule, BBSFEditorsModule]
111
+ })
112
+ export class ContentFormModule { }
113
+ ```
114
+
115
+ #### ⚠️ **Legacy: Old Module Imports (Not Recommended)**
116
+
117
+ ```typescript
118
+ // ❌ Old way 1: Loads ALL controls (~2+ MB)
119
+ import { BBSFControlsModule } from '@bnsights/bbsf-controls';
120
+
121
+ @NgModule({
122
+ imports: [BBSFControlsModule] // Don't use this!
123
+ })
124
+ ```
125
+
126
+ ```typescript
127
+ // ⚠️ Old way 2: Still loads too much (~650 KB even if you use 1 control)
128
+ import { BBSFCoreModule } from '@bnsights/bbsf-controls';
129
+
130
+ @NgModule({
131
+ imports: [BBSFCoreModule] // Use granular modules instead!
132
+ })
133
+ ```
134
+
135
+ ---
136
+
137
+ ### 📊 Performance Benefits
138
+
139
+ #### Real-World Bundle Size Comparison
140
+
141
+ | Use Case | Old (BBSFCoreModule) | New (Granular) | Savings |
142
+ |----------|---------------------|----------------|---------|
143
+ | **Basic form only** | 650 KB | 30 KB | **95%** ⬇️ |
144
+ | **Form + Dropdown** | 650 KB | 160 KB | **75%** ⬇️ |
145
+ | **Form + Date picker** | 650 KB | 250 KB | **60%** ⬇️ |
146
+ | **Form + Phone** | 650 KB | 120 KB | **82%** ⬇️ |
147
+ | **All core controls** | 650 KB | 565 KB | **13%** ⬇️ |
148
+ | **+ Rich text editor** | 1450 KB | 830 KB | **43%** ⬇️ |
149
+
150
+ #### Example: Typical Application Impact
151
+
152
+ ```
153
+ Before (using BBSFCoreModule):
154
+ ├── TextBox ✓
155
+ ├── Dropdown ✓
156
+ └── Unused: DateTimePicker ✗ (~200 KB wasted)
157
+ Phone ✗ (~80 KB wasted)
158
+ Paging ✗ (~30 KB wasted)
159
+ Modals ✗ (~50 KB wasted)
160
+ ... (~290 KB wasted)
161
+ Total: 650 KB
162
+
163
+ After (using granular modules):
164
+ ├── BBSFFormsBasicModule (~30 KB)
165
+ └── BBSFDropdownModule (~130 KB)
166
+ Total: 160 KB (490 KB saved! 75% reduction)
167
+ ```
168
+
169
+ ---
170
+
171
+ ### 🔄 Migration Guide
172
+
173
+ #### Step 1: Identify Your Controls
174
+
175
+ Audit your application to see which controls you're actually using:
176
+
177
+ ```bash
178
+ # Search for control usage in your codebase
179
+ grep -r "bbsf-textbox\|bbsf-dropdown\|bbsf-datepicker" src/
180
+ ```
181
+
182
+ #### Step 2: Map Controls to Granular Modules
183
+
184
+ | If you use... | Import this module | Size |
185
+ |--------------|-------------------|------|
186
+ | TextBox, TextArea, CheckBox, Radio, Toggle | `BBSFFormsBasicModule` | ~30 KB |
187
+ | DropdownList | `BBSFDropdownModule` | ~130 KB |
188
+ | DateTimePicker | `BBSFDateTimeModule` | ~220 KB |
189
+ | Phone | `BBSFPhoneModule` | ~90 KB |
190
+ | Form, Modals, Paging, PageHeader | `BBSFUtilityModule` | ~80 KB |
191
+ | MultiLingualTextBox/TextArea | `BBSFMultilingualModule` | ~15 KB |
192
+ | HtmlEditor, MarkdownEditor | `BBSFEditorsModule` | ~800 KB |
193
+ | FileUpload, ImageUpload | `BBSFUploadsModule` | ~360 KB |
194
+ | Calendar, Maps, TagsInput, Repeater | `BBSFSpecializedModule` | ~300 KB |
195
+
196
+ #### Step 3: Replace Imports
197
+
198
+ **Migration Example 1: From BBSFControlsModule**
199
+ ```typescript
200
+ // ❌ Before: Loading ALL controls (~2+ MB)
201
+ import { BBSFControlsModule } from '@bnsights/bbsf-controls';
202
+
203
+ @NgModule({
204
+ imports: [BBSFControlsModule]
205
+ })
206
+ export class UserFormModule { }
207
+
208
+ // ✅ After: Only load what you need (~160 KB - 92% smaller!)
209
+ import {
210
+ BBSFFormsBasicModule, // You use TextBox, CheckBox
211
+ BBSFDropdownModule // You use Dropdown
212
+ } from '@bnsights/bbsf-controls';
213
+
214
+ @NgModule({
215
+ imports: [
216
+ BBSFFormsBasicModule,
217
+ BBSFDropdownModule
218
+ ]
219
+ })
220
+ export class UserFormModule { }
221
+ ```
222
+
223
+ **Migration Example 2: From BBSFCoreModule**
224
+ ```typescript
225
+ // ⚠️ Before: Loading all core controls (~650 KB)
226
+ import { BBSFCoreModule } from '@bnsights/bbsf-controls';
227
+
228
+ @NgModule({
229
+ imports: [BBSFCoreModule]
230
+ })
231
+ export class SimpleFormModule { }
232
+
233
+ // ✅ After: Only basic forms (~30 KB - 95% smaller!)
234
+ import { BBSFFormsBasicModule } from '@bnsights/bbsf-controls';
235
+
236
+ @NgModule({
237
+ imports: [BBSFFormsBasicModule]
238
+ })
239
+ export class SimpleFormModule { }
240
+ ```
241
+
242
+ **Migration Example 3: Complex Form**
243
+ ```typescript
244
+ // ❌ Before: BBSFCoreModule (~650 KB) + BBSFEditorsModule (~800 KB) = 1.45 MB
245
+ import { BBSFCoreModule, BBSFEditorsModule } from '@bnsights/bbsf-controls';
246
+
247
+ @NgModule({
248
+ imports: [BBSFCoreModule, BBSFEditorsModule]
249
+ })
250
+ export class ArticleFormModule { }
251
+
252
+ // ✅ After: Only what you need (~410 KB - 72% smaller!)
253
+ import {
254
+ BBSFFormsBasicModule, // ~30 KB - TextBox, CheckBox
255
+ BBSFDropdownModule, // ~130 KB - Dropdown
256
+ BBSFDateTimeModule, // ~220 KB - DatePicker
257
+ BBSFFormsBasicModule // ~30 KB - Basic forms
258
+ } from '@bnsights/bbsf-controls';
259
+
260
+ @NgModule({
261
+ imports: [
262
+ BBSFFormsBasicModule,
263
+ BBSFDropdownModule,
264
+ BBSFDateTimeModule
265
+ ]
266
+ })
267
+ export class ArticleFormModule { }
268
+ ```
269
+
270
+ #### Step 4: Verify Bundle Size
271
+
272
+ After migration, build your app and check the bundle size:
273
+
274
+ ```bash
275
+ # Build with stats
276
+ npm run build -- --stats-json
277
+
278
+ # Analyze bundle (install if needed: npm i -g webpack-bundle-analyzer)
279
+ npx webpack-bundle-analyzer dist/your-app/stats.json
280
+ ```
281
+
282
+ Look for `@bnsights/bbsf-controls` in the bundle analyzer to see your savings!
283
+
284
+ #### Step 5: Update All Modules
285
+
286
+ Search and replace across your codebase:
287
+
288
+ ```bash
289
+ # Find all BBSFControlsModule imports
290
+ grep -r "BBSFControlsModule" src/
291
+
292
+ # Find all BBSFCoreModule imports
293
+ grep -r "BBSFCoreModule" src/
294
+ ```
295
+
296
+ Then update each file based on which controls it actually uses.
297
+
298
+ ---
299
+
300
+ ### ⚡ Quick Reference
301
+
302
+ **Most Common Combinations:**
303
+
304
+ ```typescript
305
+ // Basic form (~30 KB)
306
+ import { BBSFFormsBasicModule } from '@bnsights/bbsf-controls';
307
+
308
+ // Form with dropdown (~160 KB)
309
+ import { BBSFFormsBasicModule, BBSFDropdownModule } from '@bnsights/bbsf-controls';
310
+
311
+ // Form with date picker (~250 KB)
312
+ import { BBSFFormsBasicModule, BBSFDateTimeModule } from '@bnsights/bbsf-controls';
313
+
314
+ // Complete form (~565 KB)
315
+ import {
316
+ BBSFFormsBasicModule,
317
+ BBSFDropdownModule,
318
+ BBSFDateTimeModule,
319
+ BBSFPhoneModule,
320
+ BBSFUtilityModule
321
+ } from '@bnsights/bbsf-controls';
322
+
323
+ // Content management (~830 KB)
324
+ import { BBSFFormsBasicModule, BBSFEditorsModule } from '@bnsights/bbsf-controls';
325
+
326
+ // Media management (~390 KB)
327
+ import { BBSFFormsBasicModule, BBSFUploadsModule } from '@bnsights/bbsf-controls';
328
+ ```
329
+
330
+ ---
331
+
332
+ ## 🔧 Troubleshooting
333
+
334
+ ### Error: `export 'DOCUMENT' (imported as 'DOCUMENT') was not found in '@angular/core'`
335
+
336
+ **Problem:** This error occurs when using Angular 19+ with the `BBSFEditorsModule` (which uses `@kolkov/angular-editor`). Angular 19's build system tries to process the `@kolkov/angular-editor` package and encounters compatibility issues.
337
+
338
+ **Solution 1: Install @kolkov/angular-editor in your consuming app (Recommended)**
339
+
340
+ Add `@kolkov/angular-editor` to your consuming app's `package.json` dependencies:
341
+
342
+ ```bash
343
+ npm install @kolkov/angular-editor@^3.0.0-beta.2
344
+ ```
345
+
346
+ This ensures the package is resolved correctly during the build process.
347
+
348
+ **Solution 2: Use patch-package to fix the import**
349
+
350
+ If Solution 1 doesn't work, you can patch the `@kolkov/angular-editor` package:
351
+
352
+ 1. Install patch-package in your consuming app:
353
+ ```bash
354
+ npm install --save-dev patch-package postinstall-postinstall
355
+ ```
356
+
357
+ 2. Create a patch file:
358
+ - Navigate to `node_modules/@kolkov/angular-editor/fesm2020/kolkov-angular-editor.mjs`
359
+ - Verify that line 4 already has: `import { DOCUMENT, CommonModule } from '@angular/common';`
360
+ - If the issue persists, it may be a bundling issue with Angular 19
361
+
362
+ 3. If needed, manually patch the file and create a patch:
363
+ ```bash
364
+ npx patch-package @kolkov/angular-editor
365
+ ```
366
+
367
+ 4. Add a postinstall script to your `package.json`:
368
+ ```json
369
+ {
370
+ "scripts": {
371
+ "postinstall": "patch-package"
372
+ }
373
+ }
374
+ ```
375
+
376
+ **Solution 3: Configure your build to externalize @kolkov/angular-editor**
377
+
378
+ If you're using a custom webpack configuration, you can configure it to externalize the package:
379
+
380
+ ```javascript
381
+ // webpack.config.js or angular.json custom webpack config
382
+ externals: {
383
+ '@kolkov/angular-editor': '@kolkov/angular-editor'
384
+ }
385
+ ```
386
+
387
+ **Solution 4: Use a different HTML editor**
388
+
389
+ If the issue persists, consider using a different HTML editor component that's compatible with Angular 19, or wait for an updated version of `@kolkov/angular-editor`.
390
+
391
+ **Note:** The library maintainers are aware of this issue. The `@kolkov/angular-editor` package version `3.0.0-beta.2` was built for Angular 13-15, and Angular 19 has stricter module resolution. The recommended workaround is Solution 1.
392
+
393
+ ---
394
+
395
+ ## Change Log
396
+
397
+
398
+ ## 1.2.8 / 25-12-2025
399
+
400
+ =====================
401
+
402
+ - upgrade utilities package
403
+
404
+ ## 1.2.7 / 08-12-2025
405
+
406
+ =====================
407
+
408
+ - upgrade to angular 19 starting from (v 1.2.0)
409
+ - Enhancement in file-upload-component
410
+
411
+ ## 1.0.194 / 16-10-2025
412
+
413
+ =====================
414
+
415
+ - Implement standalone components
416
+
417
+ ## 1.0.193 / 16-10-2025
418
+
419
+ =====================
420
+
421
+ - Fix Format for displayValues in Tags, multiSelect
422
+
423
+ ## 1.0.192 / 15-10-2025
424
+
425
+ =====================
426
+
427
+ - Fix Repeater URL Validation
428
+ - Fix Clear singleSelection DropdownComponent
429
+ - Remove Swal cancelButton style
430
+
431
+ ## 1.0.191 / 23/9/2025
432
+
433
+ =====================
434
+
435
+ - Initialize repeater control when custom validation
436
+ - Handle attach image in HTML Editor Component
437
+ - Validate files count when drag and drop file in single upload
438
+
439
+
440
+ ## 1.0.190 / 21/9/2025
441
+
442
+ =====================
443
+
444
+ - Add option to add buttons to hide in HTML Editor Component
445
+ - Remove options from Html Editor component
446
+
447
+ ## 1.0.189 / 15/9/2025
448
+
449
+ =====================
450
+
451
+ - Add option to show password requirements
452
+
453
+ ## 1.0.188 / 15/9/2025
454
+
455
+ =====================
456
+
457
+ - Update utilities package to 1.0.68
458
+ - Add Password Validation disclaimer
459
+
460
+ ## 1.0.187 / 15/9/2025
461
+
462
+ =====================
463
+
464
+ - Update utilities package to 1.0.67
465
+
466
+ ## 1.0.186 11-09-2025
467
+
468
+ ====================
469
+
470
+ - Fixing password validation issue in TextBoxComponent
471
+
472
+ ## 1.0.185 07-09-2025
473
+
474
+ ====================
475
+
476
+ - DropdownList Enable Select all.
477
+
478
+ ## 1.0.184 03-09-2025
479
+
480
+ ====================
481
+
482
+ - dropdownlist place error message outside input style
483
+
484
+ ## 1.0.183 03-09-2025
485
+
486
+ ====================
487
+
488
+ - Fix FileUpload issues
489
+ - Fix TextArea SpeechRecognition issue.
490
+
491
+ ## 1.0.182 28-08-2025
492
+
493
+ ====================
494
+
495
+ - Update utilities package to 1.0.66
496
+ - Fix FileUpload issues
497
+ - Enhancement for textarea, multi lingual textbox
498
+
499
+ ## 1.0.181 26-08-2025
500
+
501
+ ====================
502
+
503
+ - Update utilities package to 1.0.64
504
+
505
+ # 1.0.178 20-08-2025 (deprecated)
506
+ ====================
507
+ - Fileupload component
508
+ - fix accepted types issue.
509
+ - fix error display issue.
510
+
511
+ # 1.0.177 18-08-2025 (deprecated)
512
+ ====================
513
+ - Enhance File-Upload Component
514
+ - Fix FileUplaod typo to be FileUpload
515
+
516
+ # 1.0.176 11-08-2025
517
+ ====================
518
+ - Updating utilities package version.
519
+
520
+ # 1.0.173 06-08-2025
521
+ ====================
522
+ - Add desplayValue getter in all controls to handle selected values
523
+ - Fix some issue in file upload
524
+
525
+ # 1.0.172 06-08-2025
526
+ ====================
527
+ - Add desplayValue in all controls to handle selected values
528
+
529
+
530
+ # 1.0.171 04-08-2025
531
+ ====================
532
+ - add PreventDoubleClickDirective to handle double click issues
533
+
534
+ # 1.0.168 03-08-2025
535
+ ====================
536
+ - Fix mic in `text-area`.
537
+ - Handle navigation event in paging `enableBrowserNavigation`.
538
+
539
+ ## 1.0.167 29-07-2025
540
+ =====================
541
+ - add fixes to `date-picker`, and `dropdownlist` components for pageFilter popup
542
+
543
+ ## 1.0.170 / 23-7-2024 (Using Angular 19)
544
+
545
+ =====================
546
+
547
+ - Update BBSF to use Angular 19
548
+ - Update utilities package
549
+
550
+ ## 1.0.166 / 6/5/2025
551
+ =====================
552
+ Added extra options to **MapAutoCompleteOptions** advanced view mode
553
+ - Sets the zoom level for the map > `zoom`
554
+ - Finding a location by a specific address > `address`
555
+ - Boolean to enable fallback behavior if the address lookup fails > `enableFallbackAddress`
556
+ - Option to validates that the selected location is within a specific city boundary > `validateLocationWithinCity`
557
+ - Added componentRestrictions Geo Restriction option > `country`
558
+
559
+ Fixed href issue in **FileUploaderComponent**
560
+
561
+ ## 1.0.161 / 12-3-2025
562
+ =====================
563
+ - Enable Grouping feature in dropdown control (Added hasGroup property in DropdownOptions and group property in DropdownListItem)
564
+ ## 1.0.160 / 26-2-2025
565
+ =====================
566
+ - Tag Fix value null check
567
+
568
+
569
+ ## 1.0.159 / 16-2-2025
570
+
571
+ =====================
572
+
573
+ - Update utilities package
574
+ - Fix TextBox when value undenied in check max_length
575
+
576
+ ## 1.0.158 / 16-2-2025
577
+
578
+ =====================
579
+
580
+ - update utilities package
581
+
582
+ ## 1.0.157 / 30-12-2024
583
+
584
+ =====================
585
+
586
+ * Fix bug in TextBox when delete max limit chars
587
+
588
+ ## 1.0.156 / 28-11-2024
589
+
590
+ =====================
591
+
592
+ * Fix bug in TextArea when speechrecoginitoin is disabled
593
+
594
+ ## 1.0.155 / 28-11-2024
595
+
596
+ =====================
597
+
598
+ * Fix bug in Repeater table control on delete item
599
+
600
+ ## 1.0.154 / 28-11-2024
601
+
602
+ =====================
603
+ **Fix TextArea When Using in Repeater**
604
+
605
+ ## 1.0.153 / 27-11-2024
606
+
607
+ =====================
608
+ **Fix Repeater table control on delete item**
609
+
610
+ ## 1.0.152 / 3-9-2024
611
+
612
+ =====================
613
+ -multi tenant
614
+
615
+ ## 1.0.151 / 19-8-2024
616
+
617
+ ======================
618
+
619
+ * Added MarkdownEditor Control
620
+
621
+ ## 1.0.150 / 8-8-2024
622
+
623
+ ======================
624
+
625
+ * Updated TextAreaComponent speech language select with UI fixes
626
+
627
+ ## 1.0.149 / 6-8-2024
628
+
629
+ ======================
630
+
631
+ * Updated TextAreaComponent speech language select
632
+
633
+ ## 1.0.148 / 4-8-2024
634
+
635
+ ===================
636
+
637
+ * fixed UI bug in speech to text of TextAreaComponent
638
+
639
+ ## 1.0.147 / 4-8-2024
640
+
641
+ ===================
642
+
643
+ * fixed bug in speech to text of TextAreaComponent
644
+
645
+ ## 1.0.146 / 4-8-2024
646
+
647
+ ===================
648
+
649
+ * added feature spech to text into TextAreaComponent
650
+
651
+ ## 1.0.145 / 24-7-2024
652
+
653
+ ===================
654
+
655
+ * fix naming in file upload control
656
+
657
+ ## 1.0.144 / 24-7-2024
658
+
659
+ ===================
660
+
661
+ * Fix viewing File upload control while options.isUploadFileAsync == false
662
+
663
+ ## 1.0.143 / 16-7-2024
664
+
665
+ ===================
666
+
667
+ * Update imports for sweetalert package to avoid inline style injected to DOM
668
+ * import style inside your applications
669
+
670
+ ## 1.0.142 / 3-6-2024
671
+
672
+ ===================
673
+
674
+ * Update Utilities Library verion
675
+
676
+ ## 1.0.141 / 18-4-2024
677
+
678
+ ===================
679
+
680
+ * Fix File uploader loading issue
681
+
682
+ ## 1.0.140 / 3-4-2024
683
+
684
+ ===================
685
+
686
+ * Fix delete in repeater
687
+
688
+ ## 1.0.139 / 2-4-2024
689
+
690
+ ===================
691
+
692
+ * Update Utilities Library
693
+ * Fix delete in repeater
694
+
695
+ ## 1.0.138 / 1-4-2024
696
+
697
+ ===================
698
+
699
+ * Update Utilities Library
700
+
701
+ ## 1.0.137 / 31-3-2024
702
+
703
+ ===================
704
+
705
+ * Fix File uploader drop zone
706
+
707
+ ## 1.0.136 / 28-3-2024
708
+
709
+ ===================
710
+
711
+ * Update Utilities Library
712
+
713
+ ## 1.0.135 / 27-3-2024
714
+
715
+ ===================
716
+
717
+ * Update Utilities Library
718
+ * Fix Delete File & Allowed File Type Issue In FileUpload Control
719
+
720
+ ## 1.0.134 / 24-3-2024
721
+
722
+ ===================
723
+
724
+ * Fix delete in repeater control
725
+
726
+ ## 1.0.133 / 24-3-2024
727
+
728
+ ===================
729
+
730
+ * Fix naming convention in repeater control while edit
731
+
732
+ ## 1.0.132 / 21-3-2024
733
+
734
+ ===================
735
+
736
+ * Add outputFunction Prop in ControlOptionsBase to use it while add a control in repeater
737
+ * add new type of repeater (checkbox control)
738
+
739
+ ## 1.0.131 / 20-3-2024
740
+
741
+ ===================
742
+
743
+ * Fix File-Upload Control DTO Bug
744
+
745
+ ## 1.0.130 / 19-3-2024
746
+
747
+ ===================
748
+
749
+ * Fix Multiple File-Upload Control Bug
750
+
751
+ ## 1.0.129 / 14-3-2024
752
+
753
+ ===================
754
+
755
+ * Fix File-Upload Control Name Bug
756
+
757
+ ## 1.0.128 / 12-3-2024
758
+
759
+ ===================
760
+
761
+ * Update Utilities Library
762
+
763
+ ## 1.0.127 / 6-3-2024
764
+
765
+ ===================
766
+
767
+ * Update Utilities Library
768
+
769
+ ## 1.0.126 / 6-3-2024
770
+
771
+ ===================
772
+
773
+ * Update Utilities Library
774
+
775
+ ## 1.0.125 / 5-3-2024
776
+
777
+ ===================
778
+
779
+ * Update Utilities Library
780
+
781
+ ## 1.0.124 / 27-2-2024
782
+
783
+ ===================
784
+
785
+ * Fix Bug in TextBox,TextArea,MultLingualTextArea Max Length Validation Msg,FileUpload and DateTimePicker
786
+
787
+ ## 1.0.123 / 22-2-2024
788
+
789
+ ===================
790
+
791
+ * Fix Bug in Paging Component
792
+
793
+ ## 1.0.122 / 15-2-2024
794
+
795
+ ===================
796
+
797
+ * Disable History List Of AutoComplate Control
798
+ * Fix Paging Control (Page Change Bug)
799
+
800
+ ## 1.0.121 / 14-2-2024
801
+
802
+ ===================
803
+
804
+ * Fix English and Arabic Validation Error for MultiLingualTextBox and MultiLingualHtmlEditor
805
+ * Fix Characters count validation message in MultLingualTextBox
806
+ * Update resource key to be VAL_ArabicIsRequiredAndOnly50CharactersEnglish in MultilingualTextbox, MultilingualTextArea,textbox and ValidationErrorMessage
807
+ * Fix placeholder in MultilingualTextbox and MultilingualTextArea
808
+ * Update Paging component fill totalcount of paging options
809
+ * Add new file types for filer uploader in FileType Enums
810
+ * Return file name, file type while upload file completed
811
+
812
+ ## 1.0.120 / 11-2-2024
813
+
814
+ ===================
815
+ *Prevent Form Submit Twice
816
+
817
+ ## 1.0.119 / 8-2-2024
818
+
819
+ ===================
820
+
821
+ * Update Utilities Library
822
+
823
+ ## 1.0.118 / 8-2-2024
824
+
825
+ ===================
826
+
827
+ * Update Utilities Library
828
+ * Fix FileUpload Loader issue
829
+
830
+ ## 1.0.117 / 7-2-2024
831
+
832
+ ===================
833
+
834
+ * Fix MultiligualTextBox Arabic Binding issue
835
+
836
+ ## 1.0.116 / 7-2-2024
837
+
838
+ ===================
839
+
840
+ * Fix AutoComplate Control Custom Validator Issue
841
+
842
+ ## 1.0.115 / 6-2-2024
843
+
844
+ ===================
845
+
846
+ * Fix AutoComplate Control Custom Validator Issue
847
+
848
+ ## 1.0.114 / 5-2-2024
849
+
850
+ ===================
851
+
852
+ * Update AutoComplate Control (Add Extra Filter- Take Name As Input)
853
+ * Update TagsInput Control(Add Extra Filter- Take Name As Input)
854
+ * Update Form Control(Allow Disable Submit With Enter Press)
855
+
856
+ ## 1.0.113 / 4-1-2024
857
+
858
+ ===================
859
+
860
+ * Update Utilities Library
861
+ * Update File Upload Control To Allow Upload File Async
862
+ * Fix DateTimePicker Issue When Use In Filter Mode
863
+
864
+ ## 1.0.112 / 21-12-2023
865
+
866
+ ===================
867
+
868
+ * update controls, controls options with new naming convention, and update datepicker controls (remove time zone offest)
869
+
870
+ ## 1.0.111 / 13-12-2023
871
+
872
+ ===================
873
+
874
+ * Add Advanced map control.
875
+
876
+ ## 1.0.110 / 11-12-2023
877
+
878
+ ===================
879
+
880
+ * Upgraded Angular version (17) and upgraded related libraries.
881
+
882
+ ## 1.0.109 / 3-12-2023
883
+
884
+ ===================
885
+
886
+ * Update Utilities Library
887
+
888
+ ## 1.0.108 / 3-12-2023
889
+
890
+ ===================
891
+
892
+ * Update Utilities Library
893
+
894
+ ## 1.0.107 / 29-11-2023
895
+
896
+ ===================
897
+
898
+ * Update Utilities Library
899
+
900
+ ## 1.0.106 / 19-11-2023
901
+
902
+ ===================
903
+
904
+ * Update Utilities Library
905
+
906
+ ## 1.0.105 / 16-11-2023
907
+
908
+ ===================
909
+
910
+ * Update Utilities Library
911
+
912
+ ## 1.0.104 / 16-10-2023
913
+
914
+ ===================
915
+
916
+ * Update textbox control add (OnBlur) output when curser get out of input.
917
+
918
+ ## 1.0.103 / 15-10-2023
919
+
920
+ ===================
921
+
922
+ * Update AutocompleteTextBox Control
923
+
924
+ ## 1.0.102 / 12-10-2023
925
+
926
+ ===================
927
+
928
+ * Update AutocompleteTextBox Control
929
+
930
+ ## 1.0.101 / 14-9-2023
931
+
932
+ ===================
933
+
934
+ * Add Custom Template to AutocompleteTextBox options
935
+
936
+ ## 1.0.100 / 15-8-2023
937
+
938
+ ===================
939
+
940
+ * Update Utilities Library
941
+
942
+ ## 1.0.99 / 15-8-2023
943
+
944
+ ===================
945
+
946
+ * Update AutocompleteTextBox Control
947
+ * Update FileUpload Control
948
+ * Update Form Control
949
+
950
+ ## 1.0.97 / 19-7-2023
951
+
952
+ ===================
953
+
954
+ * Update Utilities Library
955
+ * fix MultiLingualHtmlEditor Control
956
+
957
+ ## 1.0.96 / 18-7-2023
958
+
959
+ ===================
960
+
961
+ * Add Default value when BBSF Control is Readonly and not has value.
962
+
963
+ ## 1.0.95 / 14-6-2023
964
+
965
+ ===================
966
+
967
+ * Add Readonly Option to All BBSF Controls
968
+
969
+ ## 1.0.94 / 21-5-2023
970
+
971
+ ===================
972
+
973
+ * Fix File-Upload Control Bug (Delete file from multiple files has an error )
974
+
975
+ ## 1.0.93 / 02-5-2023
976
+
977
+ ===================
978
+
979
+ * Fix Phone Control Bug
980
+
981
+ ## 1.0.92 / 13-4-2023
982
+
983
+ ===================
984
+
985
+ * Fix Direction For All Control
986
+
987
+ ## 1.0.91 / 8-4-2023
988
+
989
+ ===================
990
+
991
+ * Update Dropdown Control
992
+
993
+ ## 1.0.90 / 27-3-2023
994
+
995
+ ===================
996
+
997
+ * Update Utilities Library
998
+ * Update Controls
999
+
1000
+ ## 1.0.89 / 26-3-2023 (!!!Warning!! Testing Release)
1001
+
1002
+ ===================
1003
+
1004
+ * Update Utilities Library
1005
+
1006
+ ## 1.0.88 / 22-3-2023
1007
+
1008
+ ===================
1009
+
1010
+ * Update Utilities Library
1011
+
1012
+ ## 1.0.86 / 14-2-2023
1013
+
1014
+ ===================
1015
+
1016
+ * Solve Textarea Control Bugs
1017
+ * Solve Upload-File Control Bugs
1018
+
1019
+ ## 1.0.84 / 12-2-2023
1020
+
1021
+ ===================
1022
+
1023
+ * Update AppBase Component
1024
+ * Solve UI Issue In All Controls
1025
+
1026
+ ## 1.0.83 / 25-1-2023
1027
+
1028
+ ===================
1029
+
1030
+ * Fix Modal Dismiss Issue
1031
+
1032
+ ## 1.0.82 / 25-1-2023
1033
+
1034
+ ===================
1035
+
1036
+ * Fix TextBox control
1037
+ * Fix MultiLingualTextBox control
1038
+ * Fix MultiLingualHTML control
1039
+
1040
+ ## 1.0.81 / 24-1-2023
1041
+
1042
+ ===================
1043
+
1044
+ * Fix HTML Editor control
1045
+ * Fix Multilingual HTML Editor control
1046
+ * Fix Tag-Input control
1047
+ * Fix All UI Bugs
1048
+
1049
+ ## 1.0.80 / 18-1-2023
1050
+
1051
+ ===================
1052
+
1053
+ * Fix HTML Editor control inline style
1054
+ * Fix Multilingual HTML Editor control inline style
1055
+ * Change Image Upload cropper tolltip to be translated
1056
+
1057
+ ## 1.0.79 / 15-1-2023
1058
+
1059
+ ===================
1060
+ *Update App Base and Controls
1061
+
1062
+ ## 1.0.78 / 11-1-2023
1063
+
1064
+ ===================
1065
+
1066
+ * Solve Image Control Bug
1067
+
1068
+ ## 1.0.77 / 11-1-2023
1069
+
1070
+ ===================
1071
+
1072
+ * Solve Image Control Bug
1073
+
1074
+ ## 1.0.74 / 9-1-2023
1075
+
1076
+ ===================
1077
+
1078
+ * Add UI Changes
1079
+
1080
+ ## 1.0.73 / 5-1-2023
1081
+
1082
+ ===================
1083
+
1084
+ * Update utilities Version
1085
+
1086
+ ## 1.0.72 / 3-1-2023
1087
+
1088
+ ===================
1089
+
1090
+ * Update utilities Version
1091
+
1092
+ ## 1.0.71 / 25-12-2022
1093
+
1094
+ ===================
1095
+
1096
+ * Update utilities Version
1097
+
1098
+ ## 1.0.70 / 22-12-2022
1099
+
1100
+ ===================
1101
+
1102
+ * Update utilities Version
1103
+
1104
+ ## 1.0.69 / 05-12-2022
1105
+
1106
+ ===================
1107
+ *Add Page Header Control
1108
+ *Add BBSF Base Component
1109
+ *Update Captcha Control
1110
+ *Add Custom Date Pipe
1111
+ *Update Utilities version
1112
+
1113
+ ## 1.0.68 / 22-11-2022
1114
+
1115
+ ===================
1116
+ *Fix Range Number in Repeater Control when control type number
1117
+
1118
+ ## 1.0.66 / 20-11-2022
1119
+
1120
+ * Controls UI revamp
1121
+ * Textbox
1122
+ * Textarea
1123
+ * Multilingual Textbox
1124
+ * Multilingual Textarea
1125
+ * Checkbox
1126
+ * Dropdown
1127
+ * Repeater Table
1128
+ * Image Upload
1129
+ * Tags Input
1130
+ * Paging
1131
+
1132
+ ## 1.0.65 / 15-11-2022
1133
+
1134
+ ===================
1135
+
1136
+ * Add Captcha control
1137
+
1138
+ ## 1.0.64 / 07-11-2022
1139
+
1140
+ ===================
1141
+
1142
+ * Enable two way binding to all controls
1143
+ * Add new options to Confirmation Modal (showCancelButton - showCloseButton)
1144
+ * Add option to all controls to allow label extra classes (LabelExtraClasses)
1145
+
1146
+ ## 1.0.63 / 18-10-2022
1147
+
1148
+ ===================
1149
+
1150
+ * Fix Profile Image Upload control
1151
+
1152
+ ## 1.0.62 / 11-10-2022
1153
+
1154
+ ===================
1155
+
1156
+ * Fix modal dismiss in form submission success
1157
+ * Add new property to (DisableModalDismiss) to FormOptions
1158
+ * Fix tags input control, add tag selected text when losing focus if AllowNewSelection set to true
1159
+
1160
+ ## 1.0.61 / 10-10-2022
1161
+
1162
+ ===================
1163
+
1164
+ * Update tags input control validation (Handle unmatched selection when enabling add new selection)
1165
+
1166
+ ## 1.0.60 / 2-10-2022
1167
+
1168
+ ===================
1169
+
1170
+ * Update lang-mode cases in MultiLingualTextArea & MultiLingualTextBox controls
1171
+
1172
+ ## 1.0.59 / 29-9-2022
1173
+
1174
+ ===================
1175
+
1176
+ * Update repeater-table control
1177
+ * Add DisableAddButton to remove add button from the table
1178
+ * Add DisableDeleteButton to remove the delete button from the table
1179
+ * Add IsHiddenInput to RepeaterField that allows hiding columns from the table
1180
+ * Update ControlOptionsBase, Add IsReadonly options that allow control to be submitted with the form instead of IsDisabled (only applied to text-box control)
1181
+
1182
+ ## 1.0.58 / 19-9-2022
1183
+
1184
+ ===================
1185
+
1186
+ * Update tag-input control to allow reset and delete
1187
+ * Update repeater control
1188
+
1189
+ ## 1.0.57 / 11-9-2022
1190
+
1191
+ ===================
1192
+
1193
+ * Fix tags input (hanle backspace to remove no matched error)
1194
+
1195
+ ## 1.0.53 / 18-8-2022
1196
+
1197
+ ===================
1198
+
1199
+ * Update Location control(delete value when value empty)
1200
+
1201
+ ## 1.0.52 / 16-8-2022
1202
+
1203
+ ===================
1204
+
1205
+ * Update Tag input control(custom validation mode)
1206
+
1207
+ ## 1.0.51 / 14-8-2022
1208
+
1209
+ ===================
1210
+
1211
+ * Update utilities Version
1212
+
1213
+ ## 1.0.50 / 4-8-2022
1214
+
1215
+ ===================
1216
+
1217
+ * Replace lang attribute with b-lang
1218
+ * Update MapAutoComplete control to enable edit mode
1219
+
1220
+ ## 1.0.49 / 28-7-2022
1221
+
1222
+ ===================
1223
+
1224
+ * Fix bug in autocomplete control
1225
+
1226
+ ## 1.0.48 / 6-7-2022
1227
+
1228
+ ===================
1229
+
1230
+ * Update tag input control
1231
+ * Update tag input dto
1232
+ * Update tag input options
1233
+
1234
+ ## 1.0.47 / 5-7-2022
1235
+
1236
+ ===================
1237
+
1238
+ * Add DisableBlockUI and StartPagingCallback to paging control options
1239
+
1240
+ ## 1.0.46 / 4-7-2022
1241
+
1242
+ ===================
1243
+
1244
+ * [Paging control] Add clearFilter method to reset all filters
1245
+ * [PagingOptions] Add property (ResetFilterButtonName) (string), to select button that clears filters
1246
+ * [Paging control] Check for ResetFilterButtonName, if not null then add event listener (click) to call clearFilter method
1247
+ * [Paging control] Add method (getFiltersValue) to get all filters in paging, Usually used in export method
1248
+
1249
+ ## 1.0.45 / 23-6-2022
1250
+
1251
+ ===================
1252
+
1253
+ * Change paging control update items action,Pass PagingPayload object in body instead of params
1254
+ * Fix bug in form control ngAfterViewInit
1255
+
1256
+ ## 1.0.44 / 14-6-2022
1257
+
1258
+ ===================
1259
+
1260
+ * Fix bugs in DropDown,TagsInput controls
1261
+
1262
+ ## 1.0.43 / 9-6-2022
1263
+
1264
+ ===================
1265
+
1266
+ * Fix bugs in DateTimePicker,FileUpload,Form,Paging,Toggle slide controls
1267
+
1268
+ ## 1.0.42 / 2-6-2022
1269
+
1270
+ ===================
1271
+ *Fix FileUpload "Upload" resource
1272
+ *Fix MultiLingualTextBox Arabic validation
1273
+ *Fix TextBox Arabic validation
1274
+ *Fix TagsInput noItemsMAtch message
1275
+ *Add AreaOfFocus Guid to Enums
1276
+ *Fix License FileType to BN
1277
+
1278
+ ## 1.0.40/ 25-5-2022
1279
+
1280
+ ===================
1281
+
1282
+ * Update repeater model
1283
+
1284
+ ## 1.0.38/ 16-5-2022
1285
+
1286
+ ===================
1287
+
1288
+ * Update utilities library version
1289
+
1290
+ ## 1.0.37/ 16-5-2022
1291
+
1292
+ ===================
1293
+
1294
+ * Update all control
1295
+ * Update all Models
1296
+ * Update utilities library version
1297
+
1298
+ ## 1.0.36/ 28-4-2022
1299
+
1300
+ ===================
1301
+
1302
+ * Update Paging control
1303
+
1304
+ ## 1.0.35/ 27-4-2022
1305
+
1306
+ ===================
1307
+
1308
+ * Solve all bugs
1309
+ * Implementing Controls Patch Updates
1310
+ * Implementing BBSFDateTime Pipe
1311
+
1312
+ ## 1.0.32 / 30-3-2022
1313
+
1314
+ ===================
1315
+
1316
+ * Update utilities library version
1317
+
1318
+ ## 1.0.31 / 29-3-2022
1319
+
1320
+ ===================
1321
+
1322
+ * Update repeater-table control
1323
+
1324
+ ## 1.0.29 / 27-3-2022
1325
+
1326
+ ===================
1327
+
1328
+ * Add Repeater Table control
1329
+ * Update Complex Repeater control