@bnsights/bbsf-controls 1.2.0 → 1.2.2

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,1252 +1,1315 @@
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
- ## Change Log
333
-
334
- ## 1.0.194 / 16-10-2025
335
-
336
- =====================
337
-
338
- - Implement standalone components
339
-
340
- ## 1.0.193 / 16-10-2025
341
-
342
- =====================
343
-
344
- - Fix Format for displayValues in Tags, multiSelect
345
-
346
- ## 1.0.192 / 15-10-2025
347
-
348
- =====================
349
-
350
- - Fix Repeater URL Validation
351
- - Fix Clear singleSelection DropdownComponent
352
- - Remove Swal cancelButton style
353
-
354
- ## 1.0.191 / 23/9/2025
355
-
356
- =====================
357
-
358
- - Initialize repeater control when custom validation
359
- - Handle attach image in HTML Editor Component
360
- - Validate files count when drag and drop file in single upload
361
-
362
-
363
- ## 1.0.190 / 21/9/2025
364
-
365
- =====================
366
-
367
- - Add option to add buttons to hide in HTML Editor Component
368
- - Remove options from Html Editor component
369
-
370
- ## 1.0.189 / 15/9/2025
371
-
372
- =====================
373
-
374
- - Add option to show password requirements
375
-
376
- ## 1.0.188 / 15/9/2025
377
-
378
- =====================
379
-
380
- - Update utilities package to 1.0.68
381
- - Add Password Validation disclaimer
382
-
383
- ## 1.0.187 / 15/9/2025
384
-
385
- =====================
386
-
387
- - Update utilities package to 1.0.67
388
-
389
- ## 1.0.186 11-09-2025
390
-
391
- ====================
392
-
393
- - Fixing password validation issue in TextBoxComponent
394
-
395
- ## 1.0.185 07-09-2025
396
-
397
- ====================
398
-
399
- - DropdownList Enable Select all.
400
-
401
- ## 1.0.184 03-09-2025
402
-
403
- ====================
404
-
405
- - dropdownlist place error message outside input style
406
-
407
- ## 1.0.183 03-09-2025
408
-
409
- ====================
410
-
411
- - Fix FileUpload issues
412
- - Fix TextArea SpeechRecognition issue.
413
-
414
- ## 1.0.182 28-08-2025
415
-
416
- ====================
417
-
418
- - Update utilities package to 1.0.66
419
- - Fix FileUpload issues
420
- - Enhancement for textarea, multi lingual textbox
421
-
422
- ## 1.0.181 26-08-2025
423
-
424
- ====================
425
-
426
- - Update utilities package to 1.0.64
427
-
428
- # 1.0.178 20-08-2025 (deprecated)
429
- ====================
430
- - Fileupload component
431
- - fix accepted types issue.
432
- - fix error display issue.
433
-
434
- # 1.0.177 18-08-2025 (deprecated)
435
- ====================
436
- - Enhance File-Upload Component
437
- - Fix FileUplaod typo to be FileUpload
438
-
439
- # 1.0.176 11-08-2025
440
- ====================
441
- - Updating utilities package version.
442
-
443
- # 1.0.173 06-08-2025
444
- ====================
445
- - Add desplayValue getter in all controls to handle selected values
446
- - Fix some issue in file upload
447
-
448
- # 1.0.172 06-08-2025
449
- ====================
450
- - Add desplayValue in all controls to handle selected values
451
-
452
-
453
- # 1.0.171 04-08-2025
454
- ====================
455
- - add PreventDoubleClickDirective to handle double click issues
456
-
457
- # 1.0.168 03-08-2025
458
- ====================
459
- - Fix mic in `text-area`.
460
- - Handle navigation event in paging `enableBrowserNavigation`.
461
-
462
- ## 1.0.167 29-07-2025
463
- =====================
464
- - add fixes to `date-picker`, and `dropdownlist` components for pageFilter popup
465
-
466
- ## 1.0.170 / 23-7-2024 (Using Angular 19)
467
-
468
- =====================
469
-
470
- - Update BBSF to use Angular 19
471
- - Update utilities package
472
-
473
- ## 1.0.166 / 6/5/2025
474
- =====================
475
- Added extra options to **MapAutoCompleteOptions** advanced view mode
476
- - Sets the zoom level for the map > `zoom`
477
- - Finding a location by a specific address > `address`
478
- - Boolean to enable fallback behavior if the address lookup fails > `enableFallbackAddress`
479
- - Option to validates that the selected location is within a specific city boundary > `validateLocationWithinCity`
480
- - Added componentRestrictions Geo Restriction option > `country`
481
-
482
- Fixed href issue in **FileUploaderComponent**
483
-
484
- ## 1.0.161 / 12-3-2025
485
- =====================
486
- - Enable Grouping feature in dropdown control (Added hasGroup property in DropdownOptions and group property in DropdownListItem)
487
- ## 1.0.160 / 26-2-2025
488
- =====================
489
- - Tag Fix value null check
490
-
491
-
492
- ## 1.0.159 / 16-2-2025
493
-
494
- =====================
495
-
496
- - Update utilities package
497
- - Fix TextBox when value undenied in check max_length
498
-
499
- ## 1.0.158 / 16-2-2025
500
-
501
- =====================
502
-
503
- - update utilities package
504
-
505
- ## 1.0.157 / 30-12-2024
506
-
507
- =====================
508
-
509
- * Fix bug in TextBox when delete max limit chars
510
-
511
- ## 1.0.156 / 28-11-2024
512
-
513
- =====================
514
-
515
- * Fix bug in TextArea when speechrecoginitoin is disabled
516
-
517
- ## 1.0.155 / 28-11-2024
518
-
519
- =====================
520
-
521
- * Fix bug in Repeater table control on delete item
522
-
523
- ## 1.0.154 / 28-11-2024
524
-
525
- =====================
526
- **Fix TextArea When Using in Repeater**
527
-
528
- ## 1.0.153 / 27-11-2024
529
-
530
- =====================
531
- **Fix Repeater table control on delete item**
532
-
533
- ## 1.0.152 / 3-9-2024
534
-
535
- =====================
536
- -multi tenant
537
-
538
- ## 1.0.151 / 19-8-2024
539
-
540
- ======================
541
-
542
- * Added MarkdownEditor Control
543
-
544
- ## 1.0.150 / 8-8-2024
545
-
546
- ======================
547
-
548
- * Updated TextAreaComponent speech language select with UI fixes
549
-
550
- ## 1.0.149 / 6-8-2024
551
-
552
- ======================
553
-
554
- * Updated TextAreaComponent speech language select
555
-
556
- ## 1.0.148 / 4-8-2024
557
-
558
- ===================
559
-
560
- * fixed UI bug in speech to text of TextAreaComponent
561
-
562
- ## 1.0.147 / 4-8-2024
563
-
564
- ===================
565
-
566
- * fixed bug in speech to text of TextAreaComponent
567
-
568
- ## 1.0.146 / 4-8-2024
569
-
570
- ===================
571
-
572
- * added feature spech to text into TextAreaComponent
573
-
574
- ## 1.0.145 / 24-7-2024
575
-
576
- ===================
577
-
578
- * fix naming in file upload control
579
-
580
- ## 1.0.144 / 24-7-2024
581
-
582
- ===================
583
-
584
- * Fix viewing File upload control while options.isUploadFileAsync == false
585
-
586
- ## 1.0.143 / 16-7-2024
587
-
588
- ===================
589
-
590
- * Update imports for sweetalert package to avoid inline style injected to DOM
591
- * import style inside your applications
592
-
593
- ## 1.0.142 / 3-6-2024
594
-
595
- ===================
596
-
597
- * Update Utilities Library verion
598
-
599
- ## 1.0.141 / 18-4-2024
600
-
601
- ===================
602
-
603
- * Fix File uploader loading issue
604
-
605
- ## 1.0.140 / 3-4-2024
606
-
607
- ===================
608
-
609
- * Fix delete in repeater
610
-
611
- ## 1.0.139 / 2-4-2024
612
-
613
- ===================
614
-
615
- * Update Utilities Library
616
- * Fix delete in repeater
617
-
618
- ## 1.0.138 / 1-4-2024
619
-
620
- ===================
621
-
622
- * Update Utilities Library
623
-
624
- ## 1.0.137 / 31-3-2024
625
-
626
- ===================
627
-
628
- * Fix File uploader drop zone
629
-
630
- ## 1.0.136 / 28-3-2024
631
-
632
- ===================
633
-
634
- * Update Utilities Library
635
-
636
- ## 1.0.135 / 27-3-2024
637
-
638
- ===================
639
-
640
- * Update Utilities Library
641
- * Fix Delete File & Allowed File Type Issue In FileUpload Control
642
-
643
- ## 1.0.134 / 24-3-2024
644
-
645
- ===================
646
-
647
- * Fix delete in repeater control
648
-
649
- ## 1.0.133 / 24-3-2024
650
-
651
- ===================
652
-
653
- * Fix naming convention in repeater control while edit
654
-
655
- ## 1.0.132 / 21-3-2024
656
-
657
- ===================
658
-
659
- * Add outputFunction Prop in ControlOptionsBase to use it while add a control in repeater
660
- * add new type of repeater (checkbox control)
661
-
662
- ## 1.0.131 / 20-3-2024
663
-
664
- ===================
665
-
666
- * Fix File-Upload Control DTO Bug
667
-
668
- ## 1.0.130 / 19-3-2024
669
-
670
- ===================
671
-
672
- * Fix Multiple File-Upload Control Bug
673
-
674
- ## 1.0.129 / 14-3-2024
675
-
676
- ===================
677
-
678
- * Fix File-Upload Control Name Bug
679
-
680
- ## 1.0.128 / 12-3-2024
681
-
682
- ===================
683
-
684
- * Update Utilities Library
685
-
686
- ## 1.0.127 / 6-3-2024
687
-
688
- ===================
689
-
690
- * Update Utilities Library
691
-
692
- ## 1.0.126 / 6-3-2024
693
-
694
- ===================
695
-
696
- * Update Utilities Library
697
-
698
- ## 1.0.125 / 5-3-2024
699
-
700
- ===================
701
-
702
- * Update Utilities Library
703
-
704
- ## 1.0.124 / 27-2-2024
705
-
706
- ===================
707
-
708
- * Fix Bug in TextBox,TextArea,MultLingualTextArea Max Length Validation Msg,FileUpload and DateTimePicker
709
-
710
- ## 1.0.123 / 22-2-2024
711
-
712
- ===================
713
-
714
- * Fix Bug in Paging Component
715
-
716
- ## 1.0.122 / 15-2-2024
717
-
718
- ===================
719
-
720
- * Disable History List Of AutoComplate Control
721
- * Fix Paging Control (Page Change Bug)
722
-
723
- ## 1.0.121 / 14-2-2024
724
-
725
- ===================
726
-
727
- * Fix English and Arabic Validation Error for MultiLingualTextBox and MultiLingualHtmlEditor
728
- * Fix Characters count validation message in MultLingualTextBox
729
- * Update resource key to be VAL_ArabicIsRequiredAndOnly50CharactersEnglish in MultilingualTextbox, MultilingualTextArea,textbox and ValidationErrorMessage
730
- * Fix placeholder in MultilingualTextbox and MultilingualTextArea
731
- * Update Paging component fill totalcount of paging options
732
- * Add new file types for filer uploader in FileType Enums
733
- * Return file name, file type while upload file completed
734
-
735
- ## 1.0.120 / 11-2-2024
736
-
737
- ===================
738
- *Prevent Form Submit Twice
739
-
740
- ## 1.0.119 / 8-2-2024
741
-
742
- ===================
743
-
744
- * Update Utilities Library
745
-
746
- ## 1.0.118 / 8-2-2024
747
-
748
- ===================
749
-
750
- * Update Utilities Library
751
- * Fix FileUpload Loader issue
752
-
753
- ## 1.0.117 / 7-2-2024
754
-
755
- ===================
756
-
757
- * Fix MultiligualTextBox Arabic Binding issue
758
-
759
- ## 1.0.116 / 7-2-2024
760
-
761
- ===================
762
-
763
- * Fix AutoComplate Control Custom Validator Issue
764
-
765
- ## 1.0.115 / 6-2-2024
766
-
767
- ===================
768
-
769
- * Fix AutoComplate Control Custom Validator Issue
770
-
771
- ## 1.0.114 / 5-2-2024
772
-
773
- ===================
774
-
775
- * Update AutoComplate Control (Add Extra Filter- Take Name As Input)
776
- * Update TagsInput Control(Add Extra Filter- Take Name As Input)
777
- * Update Form Control(Allow Disable Submit With Enter Press)
778
-
779
- ## 1.0.113 / 4-1-2024
780
-
781
- ===================
782
-
783
- * Update Utilities Library
784
- * Update File Upload Control To Allow Upload File Async
785
- * Fix DateTimePicker Issue When Use In Filter Mode
786
-
787
- ## 1.0.112 / 21-12-2023
788
-
789
- ===================
790
-
791
- * update controls, controls options with new naming convention, and update datepicker controls (remove time zone offest)
792
-
793
- ## 1.0.111 / 13-12-2023
794
-
795
- ===================
796
-
797
- * Add Advanced map control.
798
-
799
- ## 1.0.110 / 11-12-2023
800
-
801
- ===================
802
-
803
- * Upgraded Angular version (17) and upgraded related libraries.
804
-
805
- ## 1.0.109 / 3-12-2023
806
-
807
- ===================
808
-
809
- * Update Utilities Library
810
-
811
- ## 1.0.108 / 3-12-2023
812
-
813
- ===================
814
-
815
- * Update Utilities Library
816
-
817
- ## 1.0.107 / 29-11-2023
818
-
819
- ===================
820
-
821
- * Update Utilities Library
822
-
823
- ## 1.0.106 / 19-11-2023
824
-
825
- ===================
826
-
827
- * Update Utilities Library
828
-
829
- ## 1.0.105 / 16-11-2023
830
-
831
- ===================
832
-
833
- * Update Utilities Library
834
-
835
- ## 1.0.104 / 16-10-2023
836
-
837
- ===================
838
-
839
- * Update textbox control add (OnBlur) output when curser get out of input.
840
-
841
- ## 1.0.103 / 15-10-2023
842
-
843
- ===================
844
-
845
- * Update AutocompleteTextBox Control
846
-
847
- ## 1.0.102 / 12-10-2023
848
-
849
- ===================
850
-
851
- * Update AutocompleteTextBox Control
852
-
853
- ## 1.0.101 / 14-9-2023
854
-
855
- ===================
856
-
857
- * Add Custom Template to AutocompleteTextBox options
858
-
859
- ## 1.0.100 / 15-8-2023
860
-
861
- ===================
862
-
863
- * Update Utilities Library
864
-
865
- ## 1.0.99 / 15-8-2023
866
-
867
- ===================
868
-
869
- * Update AutocompleteTextBox Control
870
- * Update FileUpload Control
871
- * Update Form Control
872
-
873
- ## 1.0.97 / 19-7-2023
874
-
875
- ===================
876
-
877
- * Update Utilities Library
878
- * fix MultiLingualHtmlEditor Control
879
-
880
- ## 1.0.96 / 18-7-2023
881
-
882
- ===================
883
-
884
- * Add Default value when BBSF Control is Readonly and not has value.
885
-
886
- ## 1.0.95 / 14-6-2023
887
-
888
- ===================
889
-
890
- * Add Readonly Option to All BBSF Controls
891
-
892
- ## 1.0.94 / 21-5-2023
893
-
894
- ===================
895
-
896
- * Fix File-Upload Control Bug (Delete file from multiple files has an error )
897
-
898
- ## 1.0.93 / 02-5-2023
899
-
900
- ===================
901
-
902
- * Fix Phone Control Bug
903
-
904
- ## 1.0.92 / 13-4-2023
905
-
906
- ===================
907
-
908
- * Fix Direction For All Control
909
-
910
- ## 1.0.91 / 8-4-2023
911
-
912
- ===================
913
-
914
- * Update Dropdown Control
915
-
916
- ## 1.0.90 / 27-3-2023
917
-
918
- ===================
919
-
920
- * Update Utilities Library
921
- * Update Controls
922
-
923
- ## 1.0.89 / 26-3-2023 (!!!Warning!! Testing Release)
924
-
925
- ===================
926
-
927
- * Update Utilities Library
928
-
929
- ## 1.0.88 / 22-3-2023
930
-
931
- ===================
932
-
933
- * Update Utilities Library
934
-
935
- ## 1.0.86 / 14-2-2023
936
-
937
- ===================
938
-
939
- * Solve Textarea Control Bugs
940
- * Solve Upload-File Control Bugs
941
-
942
- ## 1.0.84 / 12-2-2023
943
-
944
- ===================
945
-
946
- * Update AppBase Component
947
- * Solve UI Issue In All Controls
948
-
949
- ## 1.0.83 / 25-1-2023
950
-
951
- ===================
952
-
953
- * Fix Modal Dismiss Issue
954
-
955
- ## 1.0.82 / 25-1-2023
956
-
957
- ===================
958
-
959
- * Fix TextBox control
960
- * Fix MultiLingualTextBox control
961
- * Fix MultiLingualHTML control
962
-
963
- ## 1.0.81 / 24-1-2023
964
-
965
- ===================
966
-
967
- * Fix HTML Editor control
968
- * Fix Multilingual HTML Editor control
969
- * Fix Tag-Input control
970
- * Fix All UI Bugs
971
-
972
- ## 1.0.80 / 18-1-2023
973
-
974
- ===================
975
-
976
- * Fix HTML Editor control inline style
977
- * Fix Multilingual HTML Editor control inline style
978
- * Change Image Upload cropper tolltip to be translated
979
-
980
- ## 1.0.79 / 15-1-2023
981
-
982
- ===================
983
- *Update App Base and Controls
984
-
985
- ## 1.0.78 / 11-1-2023
986
-
987
- ===================
988
-
989
- * Solve Image Control Bug
990
-
991
- ## 1.0.77 / 11-1-2023
992
-
993
- ===================
994
-
995
- * Solve Image Control Bug
996
-
997
- ## 1.0.74 / 9-1-2023
998
-
999
- ===================
1000
-
1001
- * Add UI Changes
1002
-
1003
- ## 1.0.73 / 5-1-2023
1004
-
1005
- ===================
1006
-
1007
- * Update utilities Version
1008
-
1009
- ## 1.0.72 / 3-1-2023
1010
-
1011
- ===================
1012
-
1013
- * Update utilities Version
1014
-
1015
- ## 1.0.71 / 25-12-2022
1016
-
1017
- ===================
1018
-
1019
- * Update utilities Version
1020
-
1021
- ## 1.0.70 / 22-12-2022
1022
-
1023
- ===================
1024
-
1025
- * Update utilities Version
1026
-
1027
- ## 1.0.69 / 05-12-2022
1028
-
1029
- ===================
1030
- *Add Page Header Control
1031
- *Add BBSF Base Component
1032
- *Update Captcha Control
1033
- *Add Custom Date Pipe
1034
- *Update Utilities version
1035
-
1036
- ## 1.0.68 / 22-11-2022
1037
-
1038
- ===================
1039
- *Fix Range Number in Repeater Control when control type number
1040
-
1041
- ## 1.0.66 / 20-11-2022
1042
-
1043
- * Controls UI revamp
1044
- * Textbox
1045
- * Textarea
1046
- * Multilingual Textbox
1047
- * Multilingual Textarea
1048
- * Checkbox
1049
- * Dropdown
1050
- * Repeater Table
1051
- * Image Upload
1052
- * Tags Input
1053
- * Paging
1054
-
1055
- ## 1.0.65 / 15-11-2022
1056
-
1057
- ===================
1058
-
1059
- * Add Captcha control
1060
-
1061
- ## 1.0.64 / 07-11-2022
1062
-
1063
- ===================
1064
-
1065
- * Enable two way binding to all controls
1066
- * Add new options to Confirmation Modal (showCancelButton - showCloseButton)
1067
- * Add option to all controls to allow label extra classes (LabelExtraClasses)
1068
-
1069
- ## 1.0.63 / 18-10-2022
1070
-
1071
- ===================
1072
-
1073
- * Fix Profile Image Upload control
1074
-
1075
- ## 1.0.62 / 11-10-2022
1076
-
1077
- ===================
1078
-
1079
- * Fix modal dismiss in form submission success
1080
- * Add new property to (DisableModalDismiss) to FormOptions
1081
- * Fix tags input control, add tag selected text when losing focus if AllowNewSelection set to true
1082
-
1083
- ## 1.0.61 / 10-10-2022
1084
-
1085
- ===================
1086
-
1087
- * Update tags input control validation (Handle unmatched selection when enabling add new selection)
1088
-
1089
- ## 1.0.60 / 2-10-2022
1090
-
1091
- ===================
1092
-
1093
- * Update lang-mode cases in MultiLingualTextArea & MultiLingualTextBox controls
1094
-
1095
- ## 1.0.59 / 29-9-2022
1096
-
1097
- ===================
1098
-
1099
- * Update repeater-table control
1100
- * Add DisableAddButton to remove add button from the table
1101
- * Add DisableDeleteButton to remove the delete button from the table
1102
- * Add IsHiddenInput to RepeaterField that allows hiding columns from the table
1103
- * Update ControlOptionsBase, Add IsReadonly options that allow control to be submitted with the form instead of IsDisabled (only applied to text-box control)
1104
-
1105
- ## 1.0.58 / 19-9-2022
1106
-
1107
- ===================
1108
-
1109
- * Update tag-input control to allow reset and delete
1110
- * Update repeater control
1111
-
1112
- ## 1.0.57 / 11-9-2022
1113
-
1114
- ===================
1115
-
1116
- * Fix tags input (hanle backspace to remove no matched error)
1117
-
1118
- ## 1.0.53 / 18-8-2022
1119
-
1120
- ===================
1121
-
1122
- * Update Location control(delete value when value empty)
1123
-
1124
- ## 1.0.52 / 16-8-2022
1125
-
1126
- ===================
1127
-
1128
- * Update Tag input control(custom validation mode)
1129
-
1130
- ## 1.0.51 / 14-8-2022
1131
-
1132
- ===================
1133
-
1134
- * Update utilities Version
1135
-
1136
- ## 1.0.50 / 4-8-2022
1137
-
1138
- ===================
1139
-
1140
- * Replace lang attribute with b-lang
1141
- * Update MapAutoComplete control to enable edit mode
1142
-
1143
- ## 1.0.49 / 28-7-2022
1144
-
1145
- ===================
1146
-
1147
- * Fix bug in autocomplete control
1148
-
1149
- ## 1.0.48 / 6-7-2022
1150
-
1151
- ===================
1152
-
1153
- * Update tag input control
1154
- * Update tag input dto
1155
- * Update tag input options
1156
-
1157
- ## 1.0.47 / 5-7-2022
1158
-
1159
- ===================
1160
-
1161
- * Add DisableBlockUI and StartPagingCallback to paging control options
1162
-
1163
- ## 1.0.46 / 4-7-2022
1164
-
1165
- ===================
1166
-
1167
- * [Paging control] Add clearFilter method to reset all filters
1168
- * [PagingOptions] Add property (ResetFilterButtonName) (string), to select button that clears filters
1169
- * [Paging control] Check for ResetFilterButtonName, if not null then add event listener (click) to call clearFilter method
1170
- * [Paging control] Add method (getFiltersValue) to get all filters in paging, Usually used in export method
1171
-
1172
- ## 1.0.45 / 23-6-2022
1173
-
1174
- ===================
1175
-
1176
- * Change paging control update items action,Pass PagingPayload object in body instead of params
1177
- * Fix bug in form control ngAfterViewInit
1178
-
1179
- ## 1.0.44 / 14-6-2022
1180
-
1181
- ===================
1182
-
1183
- * Fix bugs in DropDown,TagsInput controls
1184
-
1185
- ## 1.0.43 / 9-6-2022
1186
-
1187
- ===================
1188
-
1189
- * Fix bugs in DateTimePicker,FileUpload,Form,Paging,Toggle slide controls
1190
-
1191
- ## 1.0.42 / 2-6-2022
1192
-
1193
- ===================
1194
- *Fix FileUpload "Upload" resource
1195
- *Fix MultiLingualTextBox Arabic validation
1196
- *Fix TextBox Arabic validation
1197
- *Fix TagsInput noItemsMAtch message
1198
- *Add AreaOfFocus Guid to Enums
1199
- *Fix License FileType to BN
1200
-
1201
- ## 1.0.40/ 25-5-2022
1202
-
1203
- ===================
1204
-
1205
- * Update repeater model
1206
-
1207
- ## 1.0.38/ 16-5-2022
1208
-
1209
- ===================
1210
-
1211
- * Update utilities library version
1212
-
1213
- ## 1.0.37/ 16-5-2022
1214
-
1215
- ===================
1216
-
1217
- * Update all control
1218
- * Update all Models
1219
- * Update utilities library version
1220
-
1221
- ## 1.0.36/ 28-4-2022
1222
-
1223
- ===================
1224
-
1225
- * Update Paging control
1226
-
1227
- ## 1.0.35/ 27-4-2022
1228
-
1229
- ===================
1230
-
1231
- * Solve all bugs
1232
- * Implementing Controls Patch Updates
1233
- * Implementing BBSFDateTime Pipe
1234
-
1235
- ## 1.0.32 / 30-3-2022
1236
-
1237
- ===================
1238
-
1239
- * Update utilities library version
1240
-
1241
- ## 1.0.31 / 29-3-2022
1242
-
1243
- ===================
1244
-
1245
- * Update repeater-table control
1246
-
1247
- ## 1.0.29 / 27-3-2022
1248
-
1249
- ===================
1250
-
1251
- * Add Repeater Table control
1252
- * 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
+ ## 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