@verisoft/ui-primeng 19.0.1-1 → 20.1.0
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/.eslintrc.json +43 -0
- package/README.md +377 -3
- package/assets/.gitkeep +0 -0
- package/assets/sass/main.scss +9 -26
- package/assets/sass/themes/_verisoft_theme.scss +2 -0
- package/assets/sass/vendors/_bootstrap.scss +2 -2
- package/assets/sass/vendors/_primeng.scss +1 -2
- package/jest.config.ts +22 -0
- package/ng-package.json +14 -0
- package/package.json +14 -27
- package/project.json +36 -0
- package/{index.d.ts → src/index.ts} +4 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.html +11 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.scss +18 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.spec.ts +21 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.stories.ts +36 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.ts +27 -0
- package/src/lib/components/breadcrumb/breadcrumb.pipe.ts +13 -0
- package/src/lib/components/button/button-severity.pipe.ts +20 -0
- package/src/lib/components/button/button.component.html +20 -0
- package/src/lib/components/button/button.component.scss +0 -0
- package/src/lib/components/button/button.component.spec.ts +21 -0
- package/src/lib/components/button/button.component.ts +49 -0
- package/src/lib/components/calendar/calendar.component.html +53 -0
- package/src/lib/components/calendar/calendar.component.scss +0 -0
- package/src/lib/components/calendar/calendar.component.spec.ts +21 -0
- package/src/lib/components/calendar/calendar.component.ts +70 -0
- package/src/lib/components/checkbox/checkbox.component.html +20 -0
- package/src/lib/components/checkbox/checkbox.component.scss +15 -0
- package/src/lib/components/checkbox/checkbox.component.spec.ts +21 -0
- package/src/lib/components/checkbox/checkbox.component.stories.ts +72 -0
- package/src/lib/components/checkbox/checkbox.component.ts +46 -0
- package/src/lib/components/confirm-dialog/confirm-dialog.component.html +51 -0
- package/src/lib/components/confirm-dialog/confirm-dialog.component.scss +3 -0
- package/src/lib/components/confirm-dialog/confirm-dialog.component.spec.ts +21 -0
- package/src/lib/components/confirm-dialog/confirm-dialog.component.stories.ts +74 -0
- package/src/lib/components/confirm-dialog/confirm-dialog.component.ts +73 -0
- package/src/lib/components/dropdown/dropdown.component.html +93 -0
- package/src/lib/components/dropdown/dropdown.component.scss +16 -0
- package/src/lib/components/dropdown/dropdown.component.spec.ts +21 -0
- package/src/lib/components/dropdown/dropdown.component.ts +139 -0
- package/src/lib/components/dropdown-button/dropdown-button.component.html +1 -0
- package/src/lib/components/dropdown-button/dropdown-button.component.ts +20 -0
- package/src/lib/components/dropdown-button/index.ts +1 -0
- package/src/lib/components/errors/error.component.html +7 -0
- package/src/lib/components/errors/error.component.scss +3 -0
- package/src/lib/components/errors/error.component.ts +34 -0
- package/src/lib/components/errors/index.ts +1 -0
- package/src/lib/components/feature-list/directives/feature-list-column.directive.ts +32 -0
- package/src/lib/components/feature-list/directives/feature-list-filter-field.directive.ts +8 -0
- package/src/lib/components/feature-list/feature-list-filter.pipe.ts +21 -0
- package/src/lib/components/feature-list/feature-list-page.component.ts +32 -0
- package/src/lib/components/feature-list/feature-list-page.model.ts +42 -0
- package/src/lib/components/feature-list/feature-list.component.html +59 -0
- package/src/lib/components/feature-list/feature-list.component.scss +10 -0
- package/src/lib/components/feature-list/feature-list.component.ts +341 -0
- package/src/lib/components/filter/directives/filter-field.directive.ts +34 -0
- package/src/lib/components/filter/filter.component.html +68 -0
- package/src/lib/components/filter/filter.component.scss +0 -0
- package/src/lib/components/filter/filter.component.spec.ts +21 -0
- package/src/lib/components/filter/filter.component.stories.ts +23 -0
- package/src/lib/components/filter/filter.component.ts +281 -0
- package/src/lib/components/filter/filter.model.ts +18 -0
- package/src/lib/components/form-field/form-field.component.html +42 -0
- package/src/lib/components/form-field/form-field.component.scss +0 -0
- package/src/lib/components/form-field/form-field.component.spec.ts +21 -0
- package/src/lib/components/form-field/form-field.component.stories.ts +69 -0
- package/src/lib/components/form-field/form-field.component.ts +37 -0
- package/src/lib/components/header/header.component.html +84 -0
- package/src/lib/components/header/header.component.scss +0 -0
- package/src/lib/components/header/header.component.spec.ts +21 -0
- package/src/lib/components/header/header.component.stories.ts +24 -0
- package/src/lib/components/header/header.component.ts +65 -0
- package/src/lib/components/header/services/header-provider.service.ts +15 -0
- package/src/lib/components/icon/icon.component.html +2 -0
- package/src/lib/components/icon/icon.component.scss +51 -0
- package/src/lib/components/icon/icon.component.ts +86 -0
- package/src/lib/components/icon/index.ts +2 -0
- package/src/lib/components/input-group/input-group.component.html +34 -0
- package/src/lib/components/input-group/input-group.component.spec.ts +21 -0
- package/src/lib/components/input-group/input-group.component.ts +58 -0
- package/src/lib/components/loader/loader.component.html +5 -0
- package/src/lib/components/loader/loader.component.scss +0 -0
- package/src/lib/components/loader/loader.component.spec.ts +21 -0
- package/src/lib/components/loader/loader.component.ts +16 -0
- package/src/lib/components/multiselect/multiselect.component.html +67 -0
- package/src/lib/components/multiselect/multiselect.component.scss +0 -0
- package/src/lib/components/multiselect/multiselect.component.spec.ts +21 -0
- package/src/lib/components/multiselect/multiselect.component.ts +120 -0
- package/src/lib/components/number-input/number-input.component.html +22 -0
- package/src/lib/components/number-input/number-input.component.spec.ts +21 -0
- package/src/lib/components/number-input/number-input.component.ts +55 -0
- package/src/lib/components/page-header/page-header.component.html +35 -0
- package/src/lib/components/page-header/page-header.component.scss +0 -0
- package/src/lib/components/page-header/page-header.component.spec.ts +21 -0
- package/src/lib/components/page-header/page-header.component.ts +31 -0
- package/src/lib/components/password/password.component.html +24 -0
- package/src/lib/components/password/password.component.scss +0 -0
- package/src/lib/components/password/password.component.spec.ts +21 -0
- package/src/lib/components/password/password.component.ts +56 -0
- package/src/lib/components/radiobutton/radiobutton.component.html +34 -0
- package/src/lib/components/radiobutton/radiobutton.component.scss +6 -0
- package/src/lib/components/radiobutton/radiobutton.component.spec.ts +21 -0
- package/src/lib/components/radiobutton/radiobutton.component.stories.ts +71 -0
- package/src/lib/components/radiobutton/radiobutton.component.ts +61 -0
- package/src/lib/components/section/section.component.html +25 -0
- package/src/lib/components/section/section.component.scss +0 -0
- package/src/lib/components/section/section.component.spec.ts +21 -0
- package/src/lib/components/section/section.component.ts +31 -0
- package/src/lib/components/shared-components/.eslintrc.json +42 -0
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.html +25 -0
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.scss +0 -0
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.spec.ts +21 -0
- package/src/lib/components/shared-components/action-button-group/action-button-group.component.ts +111 -0
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.html +10 -0
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.scss +0 -0
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.spec.ts +21 -0
- package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.ts +69 -0
- package/src/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.ts +142 -0
- package/src/lib/components/shared-components/dynamic-component/dynamic-component.component.ts +56 -0
- package/{lib/components/shared-components/dynamic-component/index.d.ts → src/lib/components/shared-components/dynamic-component/index.ts} +2 -2
- package/src/lib/components/shared-components/generic-field/generic-field.component.html +98 -0
- package/src/lib/components/shared-components/generic-field/generic-field.component.spec.ts +21 -0
- package/src/lib/components/shared-components/generic-field/generic-field.component.ts +90 -0
- package/{lib/components/shared-components/generic-field/index.d.ts → src/lib/components/shared-components/generic-field/index.ts} +1 -1
- package/src/lib/components/shared-components/generic-form/generic-form.component.html +46 -0
- package/src/lib/components/shared-components/generic-form/generic-form.component.spec.ts +21 -0
- package/src/lib/components/shared-components/generic-form/generic-form.component.ts +56 -0
- package/src/lib/components/shared-components/generic-form/generic-form.model.spec.ts +82 -0
- package/src/lib/components/shared-components/generic-form/generic-form.model.ts +68 -0
- package/{lib/components/shared-components/generic-form/index.d.ts → src/lib/components/shared-components/generic-form/index.ts} +2 -2
- package/{lib/components/shared-components/index.d.ts → src/lib/components/shared-components/index.ts} +4 -6
- package/src/lib/components/side-menu/side-menu.component.html +53 -0
- package/src/lib/components/side-menu/side-menu.component.scss +0 -0
- package/src/lib/components/side-menu/side-menu.component.spec.ts +21 -0
- package/src/lib/components/side-menu/side-menu.component.ts +96 -0
- package/src/lib/components/side-menu/side-menu.module.ts +66 -0
- package/src/lib/components/slider/slider.component.html +19 -0
- package/src/lib/components/slider/slider.component.spec.ts +21 -0
- package/src/lib/components/slider/slider.component.ts +56 -0
- package/src/lib/components/snackbar/services/snackbar.service.ts +45 -0
- package/src/lib/components/snackbar/snackbar.component.html +3 -0
- package/src/lib/components/snackbar/snackbar.component.scss +0 -0
- package/src/lib/components/snackbar/snackbar.component.spec.ts +21 -0
- package/src/lib/components/snackbar/snackbar.component.stories.ts +70 -0
- package/src/lib/components/snackbar/snackbar.component.ts +25 -0
- package/src/lib/components/stepper/stepper.component.html +35 -0
- package/src/lib/components/stepper/stepper.component.spec.ts +21 -0
- package/src/lib/components/stepper/stepper.component.ts +39 -0
- package/src/lib/components/switch/switch.component.html +18 -0
- package/src/lib/components/switch/switch.component.scss +0 -0
- package/src/lib/components/switch/switch.component.spec.ts +21 -0
- package/src/lib/components/switch/switch.component.stories.ts +65 -0
- package/src/lib/components/switch/switch.component.ts +52 -0
- package/src/lib/components/tab-view/tab-view-item.component.ts +22 -0
- package/src/lib/components/tab-view/tab-view.component.html +41 -0
- package/src/lib/components/tab-view/tab-view.component.ts +55 -0
- package/src/lib/components/table/table-filter.pipe.ts +59 -0
- package/src/lib/components/table/table.component.html +127 -0
- package/src/lib/components/table/table.component.scss +11 -0
- package/src/lib/components/table/table.component.spec.ts +21 -0
- package/src/lib/components/table/table.component.stories.ts +55 -0
- package/src/lib/components/table/table.component.ts +288 -0
- package/src/lib/components/table/table.models.ts +26 -0
- package/src/lib/components/tag/index.ts +2 -0
- package/src/lib/components/tag/tag.component.html +12 -0
- package/src/lib/components/tag/tag.component.scss +33 -0
- package/src/lib/components/tag/tag.component.ts +83 -0
- package/src/lib/components/textarea/textarea.component.html +40 -0
- package/src/lib/components/textarea/textarea.component.scss +5 -0
- package/src/lib/components/textarea/textarea.component.spec.ts +21 -0
- package/src/lib/components/textarea/textarea.component.stories.ts +98 -0
- package/src/lib/components/textarea/textarea.component.ts +62 -0
- package/src/lib/components/textfield/textfield.component.html +82 -0
- package/src/lib/components/textfield/textfield.component.scss +23 -0
- package/src/lib/components/textfield/textfield.component.spec.ts +21 -0
- package/src/lib/components/textfield/textfield.component.stories.ts +85 -0
- package/src/lib/components/textfield/textfield.component.ts +68 -0
- package/src/lib/components/tooltip/index.ts +1 -0
- package/src/lib/components/tooltip/tooltip.component.html +3 -0
- package/src/lib/components/tooltip/tooltip.component.ts +17 -0
- package/src/lib/icons.ts +36 -0
- package/src/lib/interceptors/http-error-message.interceptor.ts +35 -0
- package/src/lib/pages/not-found-page/not-found-page.component.html +26 -0
- package/src/lib/pages/not-found-page/not-found-page.component.scss +0 -0
- package/src/lib/pages/not-found-page/not-found-page.component.spec.ts +21 -0
- package/src/lib/pages/not-found-page/not-found-page.component.ts +16 -0
- package/src/tab-view.ts +1 -0
- package/src/test-setup.ts +8 -0
- package/tsconfig.json +29 -0
- package/tsconfig.lib.json +18 -0
- package/tsconfig.lib.prod.json +9 -0
- package/tsconfig.spec.json +16 -0
- package/fesm2022/verisoft-ui-primeng.mjs +0 -2880
- package/fesm2022/verisoft-ui-primeng.mjs.map +0 -1
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +0 -6
- package/lib/components/breadcrumb/breadcrumb.pipe.d.ts +0 -9
- package/lib/components/button/button-severity.pipe.d.ts +0 -9
- package/lib/components/button/button.component.d.ts +0 -20
- package/lib/components/calendar/calendar.component.d.ts +0 -17
- package/lib/components/checkbox/checkbox.component.d.ts +0 -10
- package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +0 -15
- package/lib/components/dropdown/dropdown.component.d.ts +0 -38
- package/lib/components/dropdown-button/dropdown-button.component.d.ts +0 -14
- package/lib/components/dropdown-button/index.d.ts +0 -1
- package/lib/components/errors/error.component.d.ts +0 -16
- package/lib/components/errors/index.d.ts +0 -1
- package/lib/components/form-field/form-field.component.d.ts +0 -12
- package/lib/components/header/header.component.d.ts +0 -23
- package/lib/components/header/services/header-provider.service.d.ts +0 -10
- package/lib/components/input-group/input-group.component.d.ts +0 -9
- package/lib/components/loader/loader.component.d.ts +0 -6
- package/lib/components/multiselect/multiselect.component.d.ts +0 -34
- package/lib/components/number-input/number-input.component.d.ts +0 -14
- package/lib/components/page-header/page-header.component.d.ts +0 -10
- package/lib/components/password/password.component.d.ts +0 -11
- package/lib/components/radiobutton/radiobutton.component.d.ts +0 -10
- package/lib/components/section/section.component.d.ts +0 -12
- package/lib/components/shared-components/action-button-group/action-button-group.component.d.ts +0 -28
- package/lib/components/shared-components/action-button-group/components/action-button/action-button.component.d.ts +0 -24
- package/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.d.ts +0 -17
- package/lib/components/shared-components/dynamic-component/dynamic-component.component.d.ts +0 -16
- package/lib/components/shared-components/feature-list/directives/feature-list-column.directive.d.ts +0 -10
- package/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.d.ts +0 -6
- package/lib/components/shared-components/feature-list/feature-list-filter.pipe.d.ts +0 -9
- package/lib/components/shared-components/feature-list/feature-list-page.component.d.ts +0 -9
- package/lib/components/shared-components/feature-list/feature-list-page.model.d.ts +0 -23
- package/lib/components/shared-components/feature-list/feature-list.component.d.ts +0 -62
- package/lib/components/shared-components/filter/directives/filter-field.directive.d.ts +0 -20
- package/lib/components/shared-components/filter/filter.component.d.ts +0 -53
- package/lib/components/shared-components/filter/filter.model.d.ts +0 -2
- package/lib/components/shared-components/generic-field/generic-field.component.d.ts +0 -28
- package/lib/components/shared-components/generic-form/generic-form.component.d.ts +0 -15
- package/lib/components/shared-components/generic-form/generic-form.model.d.ts +0 -4
- package/lib/components/side-menu/side-menu.component.d.ts +0 -27
- package/lib/components/side-menu/side-menu.module.d.ts +0 -13
- package/lib/components/slider/slider.component.d.ts +0 -12
- package/lib/components/snackbar/services/snackbar.service.d.ts +0 -12
- package/lib/components/snackbar/snackbar.component.d.ts +0 -9
- package/lib/components/stepper/stepper.component.d.ts +0 -17
- package/lib/components/switch/switch.component.d.ts +0 -9
- package/lib/components/tab-view/tab-view-item.component.d.ts +0 -12
- package/lib/components/tab-view/tab-view.component.d.ts +0 -17
- package/lib/components/table/table-filter.pipe.d.ts +0 -13
- package/lib/components/table/table.component.d.ts +0 -67
- package/lib/components/table/table.models.d.ts +0 -4
- package/lib/components/textarea/textarea.component.d.ts +0 -12
- package/lib/components/textfield/textfield.component.d.ts +0 -12
- package/lib/components/tooltip/index.d.ts +0 -1
- package/lib/components/tooltip/tooltip.component.d.ts +0 -10
- package/lib/icons.d.ts +0 -2
- package/lib/interceptors/http-error-message.interceptor.d.ts +0 -11
- /package/{lib/components/breadcrumb/index.d.ts → src/lib/components/breadcrumb/index.ts} +0 -0
- /package/{lib/components/button/index.d.ts → src/lib/components/button/index.ts} +0 -0
- /package/{lib/components/calendar/index.d.ts → src/lib/components/calendar/index.ts} +0 -0
- /package/{lib/components/checkbox/index.d.ts → src/lib/components/checkbox/index.ts} +0 -0
- /package/{lib/components/confirm-dialog/index.d.ts → src/lib/components/confirm-dialog/index.ts} +0 -0
- /package/{lib/components/dropdown/index.d.ts → src/lib/components/dropdown/index.ts} +0 -0
- /package/{lib/components/shared-components/feature-list/index.d.ts → src/lib/components/feature-list/index.ts} +0 -0
- /package/{lib/components/shared-components/filter/index.d.ts → src/lib/components/filter/index.ts} +0 -0
- /package/{lib/components/form-field/index.d.ts → src/lib/components/form-field/index.ts} +0 -0
- /package/{lib/components/header/index.d.ts → src/lib/components/header/index.ts} +0 -0
- /package/{lib/components/input-group/index.d.ts → src/lib/components/input-group/index.ts} +0 -0
- /package/{lib/components/loader/index.d.ts → src/lib/components/loader/index.ts} +0 -0
- /package/{lib/components/multiselect/index.d.ts → src/lib/components/multiselect/index.ts} +0 -0
- /package/{lib/components/number-input/index.d.ts → src/lib/components/number-input/index.ts} +0 -0
- /package/{lib/components/page-header/index.d.ts → src/lib/components/page-header/index.ts} +0 -0
- /package/{lib/components/password/index.d.ts → src/lib/components/password/index.ts} +0 -0
- /package/{lib/components/radiobutton/index.d.ts → src/lib/components/radiobutton/index.ts} +0 -0
- /package/{lib/components/section/index.d.ts → src/lib/components/section/index.ts} +0 -0
- /package/{lib/components/shared-components/action-button-group/index.d.ts → src/lib/components/shared-components/action-button-group/index.ts} +0 -0
- /package/{lib/components/side-menu/index.d.ts → src/lib/components/side-menu/index.ts} +0 -0
- /package/{lib/components/slider/index.d.ts → src/lib/components/slider/index.ts} +0 -0
- /package/{lib/components/snackbar/index.d.ts → src/lib/components/snackbar/index.ts} +0 -0
- /package/{lib/components/stepper/index.d.ts → src/lib/components/stepper/index.ts} +0 -0
- /package/{lib/components/switch/index.d.ts → src/lib/components/switch/index.ts} +0 -0
- /package/{lib/components/tab-view/index.d.ts → src/lib/components/tab-view/index.ts} +0 -0
- /package/{lib/components/table/index.d.ts → src/lib/components/table/index.ts} +0 -0
- /package/{lib/components/textarea/index.d.ts → src/lib/components/textarea/index.ts} +0 -0
- /package/{lib/components/textfield/index.d.ts → src/lib/components/textfield/index.ts} +0 -0
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": ["../../../.eslintrc.base.json"],
|
|
3
|
+
"ignorePatterns": ["!**/*"],
|
|
4
|
+
"overrides": [
|
|
5
|
+
{
|
|
6
|
+
"files": ["*.ts"],
|
|
7
|
+
"extends": [
|
|
8
|
+
"plugin:@nx/angular",
|
|
9
|
+
"plugin:@angular-eslint/template/process-inline-templates"
|
|
10
|
+
],
|
|
11
|
+
"rules": {
|
|
12
|
+
"@angular-eslint/directive-selector": [
|
|
13
|
+
"error",
|
|
14
|
+
{
|
|
15
|
+
"type": "attribute",
|
|
16
|
+
"prefix": "v",
|
|
17
|
+
"style": "camelCase"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"@angular-eslint/component-selector": [
|
|
21
|
+
"error",
|
|
22
|
+
{
|
|
23
|
+
"type": "element",
|
|
24
|
+
"prefix": "v",
|
|
25
|
+
"style": "kebab-case"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"files": ["*.html"],
|
|
32
|
+
"extends": ["plugin:@nx/angular-template"],
|
|
33
|
+
"rules": {}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"files": ["*.json"],
|
|
37
|
+
"parser": "jsonc-eslint-parser",
|
|
38
|
+
"rules": {
|
|
39
|
+
"@nx/dependency-checks": "error"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
package/README.md
CHANGED
|
@@ -1,7 +1,381 @@
|
|
|
1
|
-
# ui-primeng
|
|
1
|
+
# @verisoft/ui-primeng
|
|
2
2
|
|
|
3
|
-
This library
|
|
3
|
+
A comprehensive Angular UI component library built on top of PrimeNG that provides enterprise-grade components with modern design and extensive functionality. This library combines the power of PrimeNG with Verisoft's design patterns to deliver consistent, feature-rich user interfaces for business applications.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The `@verisoft/ui-primeng` library extends `@verisoft/ui-core` and leverages PrimeNG components to provide a complete set of UI components suitable for enterprise applications. It offers advanced data components, rich form controls, and sophisticated layout elements with built-in theming and internationalization support.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
### Components
|
|
12
|
+
- **Form Controls**: Advanced text fields, dropdowns, checkboxes, radio buttons, calendars, sliders
|
|
13
|
+
- **Data Components**: Feature-rich tables with pagination, sorting, filtering, and export
|
|
14
|
+
- **Navigation**: Breadcrumbs, side menus, tabs, stepper components with progress tracking
|
|
15
|
+
- **Input Groups**: Complex input combinations with buttons, icons, and validation
|
|
16
|
+
- **Feedback**: Toast notifications, confirm dialogs, loading indicators, tooltips
|
|
17
|
+
- **Layout**: Headers, page headers, sections with collapsible content
|
|
18
|
+
- **Advanced**: Multi-select with search, number inputs with formatting, password strength
|
|
19
|
+
|
|
20
|
+
### Key Features
|
|
21
|
+
- ✅ **PrimeNG Integration**: Built on top of the mature PrimeNG component library
|
|
22
|
+
- ✅ **Enterprise Ready**: Components designed for complex business applications
|
|
23
|
+
- ✅ **Rich Data Handling**: Advanced table features with virtual scrolling and lazy loading
|
|
24
|
+
- ✅ **Theming Support**: Multiple built-in themes with customization options
|
|
25
|
+
- ✅ **Internationalization**: Full i18n support with @ngx-translate integration
|
|
26
|
+
- ✅ **Accessibility**: WCAG 2.1 compliant with keyboard navigation support
|
|
27
|
+
- ✅ **Form Integration**: Deep Angular Reactive Forms integration with validation
|
|
28
|
+
- ✅ **Performance**: Optimized for large datasets and complex UIs
|
|
29
|
+
|
|
30
|
+
## Installation
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm install @verisoft/ui-primeng
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Peer Dependencies
|
|
37
|
+
|
|
38
|
+
Make sure you have the following peer dependencies installed:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm install @verisoft/core @verisoft/ui-core primeng @angular/core @angular/common @angular/forms @angular/platform-browser @angular/router rxjs @ngx-translate/core uuid
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Styling Setup
|
|
45
|
+
|
|
46
|
+
Add PrimeNG CSS theme to your `angular.json` or import in your global styles:
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
// angular.json
|
|
50
|
+
"styles": [
|
|
51
|
+
"node_modules/primeng/resources/themes/saga-blue/theme.css",
|
|
52
|
+
"node_modules/primeng/resources/primeng.min.css",
|
|
53
|
+
"node_modules/primeicons/primeicons.css"
|
|
54
|
+
]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Or in your global `styles.scss`:
|
|
58
|
+
|
|
59
|
+
```scss
|
|
60
|
+
@import 'primeng/resources/themes/saga-blue/theme.css';
|
|
61
|
+
@import 'primeng/resources/primeng.min.css';
|
|
62
|
+
@import 'primeicons/primeicons.css';
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Quick Start
|
|
66
|
+
|
|
67
|
+
1. **Import individual components** in your Angular application:
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
import {
|
|
71
|
+
ButtonComponent,
|
|
72
|
+
TextfieldComponent,
|
|
73
|
+
FormFieldComponent
|
|
74
|
+
} from '@verisoft/ui-primeng';
|
|
75
|
+
|
|
76
|
+
@Component({
|
|
77
|
+
imports: [ButtonComponent, TextfieldComponent, FormFieldComponent],
|
|
78
|
+
// ...
|
|
79
|
+
})
|
|
80
|
+
export class MyComponent { }
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
2. **Use components** in your templates:
|
|
84
|
+
|
|
85
|
+
```html
|
|
86
|
+
<v-button [primary]="true" icon="pi pi-check">Save Changes</v-button>
|
|
87
|
+
<v-form-field label="Business Email">
|
|
88
|
+
<v-textfield formControlName="email" placeholder="Enter email address"></v-textfield>
|
|
89
|
+
</v-form-field>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Usage Examples
|
|
93
|
+
|
|
94
|
+
### Advanced Form with Validation
|
|
95
|
+
```typescript
|
|
96
|
+
// Component
|
|
97
|
+
import { FormBuilder, Validators } from '@angular/forms';
|
|
98
|
+
import {
|
|
99
|
+
ButtonComponent,
|
|
100
|
+
TextfieldComponent,
|
|
101
|
+
DropdownComponent,
|
|
102
|
+
NumberInputComponent,
|
|
103
|
+
CalendarComponent,
|
|
104
|
+
MultiselectComponent,
|
|
105
|
+
TextareaComponent,
|
|
106
|
+
FormFieldComponent
|
|
107
|
+
} from '@verisoft/ui-primeng';
|
|
108
|
+
|
|
109
|
+
@Component({
|
|
110
|
+
imports: [
|
|
111
|
+
ButtonComponent,
|
|
112
|
+
TextfieldComponent,
|
|
113
|
+
DropdownComponent,
|
|
114
|
+
NumberInputComponent,
|
|
115
|
+
CalendarComponent,
|
|
116
|
+
MultiselectComponent,
|
|
117
|
+
TextareaComponent,
|
|
118
|
+
FormFieldComponent
|
|
119
|
+
],
|
|
120
|
+
// ...
|
|
121
|
+
})
|
|
122
|
+
export class BusinessFormComponent {
|
|
123
|
+
form = this.fb.group({
|
|
124
|
+
companyName: ['', [Validators.required, Validators.minLength(3)]],
|
|
125
|
+
industry: ['', Validators.required],
|
|
126
|
+
employees: [null, [Validators.required, Validators.min(1)]],
|
|
127
|
+
foundedDate: [null, Validators.required],
|
|
128
|
+
features: [[]],
|
|
129
|
+
description: ['', Validators.maxLength(500)]
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
industries = [
|
|
133
|
+
{ label: 'Technology', value: 'tech' },
|
|
134
|
+
{ label: 'Healthcare', value: 'health' },
|
|
135
|
+
{ label: 'Finance', value: 'finance' }
|
|
136
|
+
];
|
|
137
|
+
|
|
138
|
+
features = [
|
|
139
|
+
{ label: 'Online Payments', value: 'payments' },
|
|
140
|
+
{ label: 'Customer Support', value: 'support' },
|
|
141
|
+
{ label: 'Analytics', value: 'analytics' }
|
|
142
|
+
];
|
|
143
|
+
|
|
144
|
+
constructor(private fb: FormBuilder) {}
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
```html
|
|
149
|
+
<!-- Template -->
|
|
150
|
+
<form [formGroup]="form">
|
|
151
|
+
<v-form-field label="Company Name" [required]="true">
|
|
152
|
+
<v-textfield formControlName="companyName" placeholder="Enter company name"></v-textfield>
|
|
153
|
+
</v-form-field>
|
|
154
|
+
|
|
155
|
+
<v-form-field label="Industry" [required]="true">
|
|
156
|
+
<v-dropdown formControlName="industry" [options]="industries" placeholder="Select industry"></v-dropdown>
|
|
157
|
+
</v-form-field>
|
|
158
|
+
|
|
159
|
+
<v-form-field label="Number of Employees" [required]="true">
|
|
160
|
+
<v-number-input formControlName="employees" [min]="1" [max]="10000"></v-number-input>
|
|
161
|
+
</v-form-field>
|
|
162
|
+
|
|
163
|
+
<v-form-field label="Founded Date" [required]="true">
|
|
164
|
+
<v-calendar formControlName="foundedDate" [showIcon]="true"></v-calendar>
|
|
165
|
+
</v-form-field>
|
|
166
|
+
|
|
167
|
+
<v-form-field label="Required Features">
|
|
168
|
+
<v-multiselect formControlName="features" [options]="features" [filter]="true"></v-multiselect>
|
|
169
|
+
</v-form-field>
|
|
170
|
+
|
|
171
|
+
<v-form-field label="Description">
|
|
172
|
+
<v-textarea formControlName="description" [rows]="4" [maxLength]="500"></v-textarea>
|
|
173
|
+
</v-form-field>
|
|
174
|
+
|
|
175
|
+
<v-button [primary]="true" type="submit" [disabled]="form.invalid">Submit Application</v-button>
|
|
176
|
+
</form>
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Advanced Data Table
|
|
180
|
+
```typescript
|
|
181
|
+
// Component
|
|
182
|
+
import { TableComponent, PageHeaderComponent, ButtonComponent } from '@verisoft/ui-primeng';
|
|
183
|
+
|
|
184
|
+
@Component({
|
|
185
|
+
imports: [TableComponent, PageHeaderComponent, ButtonComponent],
|
|
186
|
+
// ...
|
|
187
|
+
})
|
|
188
|
+
export class DataManagementComponent {
|
|
189
|
+
employees = [
|
|
190
|
+
{ id: 1, name: 'John Doe', department: 'IT', salary: 75000, hireDate: new Date('2020-01-15') },
|
|
191
|
+
{ id: 2, name: 'Jane Smith', department: 'HR', salary: 68000, hireDate: new Date('2019-03-20') }
|
|
192
|
+
];
|
|
193
|
+
|
|
194
|
+
columns = [
|
|
195
|
+
{ field: 'name', header: 'Employee Name', sortable: true, filter: true },
|
|
196
|
+
{ field: 'department', header: 'Department', sortable: true, filter: true },
|
|
197
|
+
{ field: 'salary', header: 'Salary', sortable: true, filter: true, type: 'currency' },
|
|
198
|
+
{ field: 'hireDate', header: 'Hire Date', sortable: true, filter: true, type: 'date' }
|
|
199
|
+
];
|
|
200
|
+
|
|
201
|
+
exportColumns = this.columns.map(col => ({ title: col.header, dataKey: col.field }));
|
|
202
|
+
|
|
203
|
+
exportPdf() {
|
|
204
|
+
// Export functionality
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
exportExcel() {
|
|
208
|
+
// Export functionality
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
```html
|
|
214
|
+
<!-- Template -->
|
|
215
|
+
<v-page-header title="Employee Management">
|
|
216
|
+
<v-button icon="pi pi-download" label="Export PDF" (click)="exportPdf()"></v-button>
|
|
217
|
+
<v-button icon="pi pi-file-excel" label="Export Excel" (click)="exportExcel()"></v-button>
|
|
218
|
+
</v-page-header>
|
|
219
|
+
|
|
220
|
+
<v-table
|
|
221
|
+
[data]="employees"
|
|
222
|
+
[columns]="columns"
|
|
223
|
+
[sortable]="true"
|
|
224
|
+
[filterable]="true"
|
|
225
|
+
[pagination]="true"
|
|
226
|
+
[rows]="10"
|
|
227
|
+
[exportFilename]="'employees'"
|
|
228
|
+
[globalFilterFields]="['name', 'department']">
|
|
229
|
+
|
|
230
|
+
<ng-template pTemplate="caption">
|
|
231
|
+
<div class="table-header">
|
|
232
|
+
<span>Employee Directory</span>
|
|
233
|
+
<span class="p-input-icon-left">
|
|
234
|
+
<i class="pi pi-search"></i>
|
|
235
|
+
<input pInputText type="text" (input)="table.filterGlobal($event.target.value, 'contains')" placeholder="Global Search" />
|
|
236
|
+
</span>
|
|
237
|
+
</div>
|
|
238
|
+
</ng-template>
|
|
239
|
+
</v-table>
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Stepper Component for Multi-Step Process
|
|
243
|
+
```typescript
|
|
244
|
+
// Component
|
|
245
|
+
import { StepperComponent, ButtonComponent } from '@verisoft/ui-primeng';
|
|
246
|
+
|
|
247
|
+
@Component({
|
|
248
|
+
imports: [StepperComponent, ButtonComponent],
|
|
249
|
+
// ...
|
|
250
|
+
})
|
|
251
|
+
export class OnboardingComponent {
|
|
252
|
+
activeIndex = 0;
|
|
253
|
+
|
|
254
|
+
steps = [
|
|
255
|
+
{ label: 'Personal Info' },
|
|
256
|
+
{ label: 'Company Details' },
|
|
257
|
+
{ label: 'Preferences' },
|
|
258
|
+
{ label: 'Confirmation' }
|
|
259
|
+
];
|
|
260
|
+
|
|
261
|
+
nextStep() {
|
|
262
|
+
if (this.activeIndex < this.steps.length - 1) {
|
|
263
|
+
this.activeIndex++;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
prevStep() {
|
|
268
|
+
if (this.activeIndex > 0) {
|
|
269
|
+
this.activeIndex--;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
```html
|
|
276
|
+
<!-- Template -->
|
|
277
|
+
<v-stepper [(activeIndex)]="activeIndex" [steps]="steps">
|
|
278
|
+
<v-step>
|
|
279
|
+
<!-- Personal Info Form -->
|
|
280
|
+
<h3>Personal Information</h3>
|
|
281
|
+
<!-- Form fields -->
|
|
282
|
+
</v-step>
|
|
283
|
+
|
|
284
|
+
<v-step>
|
|
285
|
+
<!-- Company Details Form -->
|
|
286
|
+
<h3>Company Details</h3>
|
|
287
|
+
<!-- Form fields -->
|
|
288
|
+
</v-step>
|
|
289
|
+
|
|
290
|
+
<v-step>
|
|
291
|
+
<!-- Preferences Form -->
|
|
292
|
+
<h3>Preferences</h3>
|
|
293
|
+
<!-- Form fields -->
|
|
294
|
+
</v-step>
|
|
295
|
+
|
|
296
|
+
<v-step>
|
|
297
|
+
<!-- Confirmation -->
|
|
298
|
+
<h3>Review & Confirm</h3>
|
|
299
|
+
<!-- Summary -->
|
|
300
|
+
</v-step>
|
|
301
|
+
</v-stepper>
|
|
302
|
+
|
|
303
|
+
<div class="step-actions">
|
|
304
|
+
<v-button label="Back" (click)="prevStep()" [disabled]="activeIndex === 0"></v-button>
|
|
305
|
+
<v-button label="Next" (click)="nextStep()" [disabled]="activeIndex === steps.length - 1" [primary]="true"></v-button>
|
|
306
|
+
</div>
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
## Theming
|
|
310
|
+
|
|
311
|
+
The library supports multiple PrimeNG themes. You can switch themes by changing the CSS import:
|
|
312
|
+
|
|
313
|
+
```scss
|
|
314
|
+
// Light themes
|
|
315
|
+
@import 'primeng/resources/themes/saga-blue/theme.css'; // Default
|
|
316
|
+
@import 'primeng/resources/themes/saga-green/theme.css';
|
|
317
|
+
@import 'primeng/resources/themes/saga-orange/theme.css';
|
|
318
|
+
|
|
319
|
+
// Dark themes
|
|
320
|
+
@import 'primeng/resources/themes/vela-blue/theme.css';
|
|
321
|
+
@import 'primeng/resources/themes/vela-green/theme.css';
|
|
322
|
+
@import 'primeng/resources/themes/arya-blue/theme.css';
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
## Internationalization
|
|
326
|
+
|
|
327
|
+
The library includes built-in support for internationalization:
|
|
328
|
+
|
|
329
|
+
```typescript
|
|
330
|
+
// app.module.ts
|
|
331
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
332
|
+
|
|
333
|
+
@NgModule({
|
|
334
|
+
imports: [
|
|
335
|
+
TranslateModule.forRoot({
|
|
336
|
+
loader: {
|
|
337
|
+
provide: TranslateLoader,
|
|
338
|
+
useFactory: HttpLoaderFactory,
|
|
339
|
+
deps: [HttpClient]
|
|
340
|
+
}
|
|
341
|
+
})
|
|
342
|
+
]
|
|
343
|
+
})
|
|
344
|
+
export class AppModule { }
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
## API Documentation
|
|
348
|
+
|
|
349
|
+
For detailed component APIs, properties, and methods, please refer to:
|
|
350
|
+
- Component documentation with IntelliSense
|
|
351
|
+
- [PrimeNG Documentation](https://primeng.org/) for underlying component features
|
|
352
|
+
- Verisoft component extensions and customizations
|
|
353
|
+
|
|
354
|
+
## Development
|
|
355
|
+
|
|
356
|
+
### Running unit tests
|
|
6
357
|
|
|
7
358
|
Run `nx test ui-primeng` to execute the unit tests.
|
|
359
|
+
|
|
360
|
+
### Building the library
|
|
361
|
+
|
|
362
|
+
Run `nx build ui-primeng` to build the library.
|
|
363
|
+
|
|
364
|
+
### Linting
|
|
365
|
+
|
|
366
|
+
Run `nx lint ui-primeng` to run ESLint on the library.
|
|
367
|
+
|
|
368
|
+
## Performance Tips
|
|
369
|
+
|
|
370
|
+
- Use virtual scrolling for large datasets in tables
|
|
371
|
+
- Implement lazy loading for dropdowns with many options
|
|
372
|
+
- Use OnPush change detection strategy for better performance
|
|
373
|
+
- Consider pagination for tables with extensive data
|
|
374
|
+
|
|
375
|
+
## Contributing
|
|
376
|
+
|
|
377
|
+
This library is part of the Verisoft framework. Please follow the established coding standards and ensure compatibility with PrimeNG updates.
|
|
378
|
+
|
|
379
|
+
## License
|
|
380
|
+
|
|
381
|
+
Copyright © Verisoft. All rights reserved.
|
package/assets/.gitkeep
ADDED
|
File without changes
|
package/assets/sass/main.scss
CHANGED
|
@@ -1,27 +1,10 @@
|
|
|
1
|
-
@import "primeng/resources/primeng.min.css";
|
|
2
|
-
@import "primeicons/primeicons.css";
|
|
3
|
-
// Téma je nyní konfigurováno v app.config.ts pomocí providePrimeNG s Aura theme
|
|
4
1
|
|
|
5
|
-
@
|
|
6
|
-
|
|
7
|
-
@
|
|
8
|
-
@
|
|
9
|
-
@
|
|
10
|
-
@
|
|
11
|
-
@
|
|
12
|
-
@
|
|
13
|
-
|
|
14
|
-
@import './layout/formField';
|
|
15
|
-
@import './layout/radiobutton';
|
|
16
|
-
@import './layout/snackbar';
|
|
17
|
-
@import './layout/icons';
|
|
18
|
-
@import './layout/inputSwitch';
|
|
19
|
-
@import './layout/tree';
|
|
20
|
-
@import './layout/button';
|
|
21
|
-
@import './layout/dialog';
|
|
22
|
-
@import './layout/checkbox';
|
|
23
|
-
@import './layout/header';
|
|
24
|
-
@import './layout/sidemenu';
|
|
25
|
-
@import './layout/loader';
|
|
26
|
-
@import './layout/dropdown';
|
|
27
|
-
@import './layout/app';
|
|
2
|
+
@use "primeicons/primeicons.css";
|
|
3
|
+
|
|
4
|
+
@use './base/_typography';
|
|
5
|
+
@use './utils/_variables';
|
|
6
|
+
@use './vendors/_bootstrap';
|
|
7
|
+
@use './utils/_mixins';
|
|
8
|
+
@use './utils/_utils';
|
|
9
|
+
@use './themes/_verisoft_theme';
|
|
10
|
+
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@
|
|
2
|
-
@
|
|
1
|
+
@use 'bootstrap/scss/bootstrap-grid.scss';
|
|
2
|
+
@use 'bootstrap/scss/bootstrap-utilities.scss';
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
@
|
|
2
|
-
// Téma je nyní konfigurováno v app.config.ts pomocí providePrimeNG s Aura theme
|
|
1
|
+
@use 'primeicons/primeicons.css';
|
package/jest.config.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
export default {
|
|
3
|
+
displayName: 'ui-primeng',
|
|
4
|
+
preset: '../../../jest.preset.js',
|
|
5
|
+
setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
|
|
6
|
+
coverageDirectory: '../../../coverage/src/libs/ui-primeng',
|
|
7
|
+
transform: {
|
|
8
|
+
'^.+\\.(ts|mjs|js|html)$': [
|
|
9
|
+
'jest-preset-angular',
|
|
10
|
+
{
|
|
11
|
+
tsconfig: '<rootDir>/tsconfig.spec.json',
|
|
12
|
+
stringifyContentPathRegex: '\\.(html|svg)$',
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
},
|
|
16
|
+
transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
|
|
17
|
+
snapshotSerializers: [
|
|
18
|
+
'jest-preset-angular/build/serializers/no-ng-attributes',
|
|
19
|
+
'jest-preset-angular/build/serializers/ng-snapshot',
|
|
20
|
+
'jest-preset-angular/build/serializers/html-comment',
|
|
21
|
+
],
|
|
22
|
+
};
|
package/ng-package.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../../node_modules/ng-packagr/ng-package.schema.json",
|
|
3
|
+
"dest": "../../../dist/src/libs/ui-primeng",
|
|
4
|
+
"lib": {
|
|
5
|
+
"entryFile": "src/index.ts"
|
|
6
|
+
},
|
|
7
|
+
"assets": [
|
|
8
|
+
"./assets/",
|
|
9
|
+
"README.md"
|
|
10
|
+
],
|
|
11
|
+
"allowedNonPeerDependencies": [
|
|
12
|
+
"uuid"
|
|
13
|
+
]
|
|
14
|
+
}
|
package/package.json
CHANGED
|
@@ -1,33 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@verisoft/ui-primeng",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.1.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@verisoft/core": "
|
|
6
|
-
"@verisoft/ui-core": "
|
|
7
|
-
"@angular/core": "
|
|
8
|
-
"@angular/common": "
|
|
9
|
-
"@angular/forms": "
|
|
10
|
-
"@angular/platform-browser": "
|
|
11
|
-
"@angular/router": "
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"uuid": "^10.0.0",
|
|
16
|
-
"@faker-js/faker": "9.8.0"
|
|
5
|
+
"@verisoft/core": "~20.1.0",
|
|
6
|
+
"@verisoft/ui-core": "~20.1.0",
|
|
7
|
+
"@angular/core": "~20.2.0",
|
|
8
|
+
"@angular/common": "~20.2.0",
|
|
9
|
+
"@angular/forms": "~20.2.0",
|
|
10
|
+
"@angular/platform-browser": "~20.2.0",
|
|
11
|
+
"@angular/router": "~20.2.0",
|
|
12
|
+
"@ngx-translate/core": "^17.0.0",
|
|
13
|
+
"primeng": "~20.0.1",
|
|
14
|
+
"rxjs": "~7.8.0"
|
|
17
15
|
},
|
|
18
16
|
"dependencies": {
|
|
19
|
-
"
|
|
17
|
+
"uuid": "^11.0.0"
|
|
20
18
|
},
|
|
21
|
-
"sideEffects": false
|
|
22
|
-
|
|
23
|
-
"typings": "index.d.ts",
|
|
24
|
-
"exports": {
|
|
25
|
-
"./package.json": {
|
|
26
|
-
"default": "./package.json"
|
|
27
|
-
},
|
|
28
|
-
".": {
|
|
29
|
-
"types": "./index.d.ts",
|
|
30
|
-
"default": "./fesm2022/verisoft-ui-primeng.mjs"
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
19
|
+
"sideEffects": false
|
|
20
|
+
}
|
package/project.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ui-primeng",
|
|
3
|
+
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
|
|
4
|
+
"sourceRoot": "src/libs/ui-primeng/src",
|
|
5
|
+
"prefix": "verisoft",
|
|
6
|
+
"projectType": "library",
|
|
7
|
+
"tags": [],
|
|
8
|
+
"targets": {
|
|
9
|
+
"build": {
|
|
10
|
+
"executor": "@nx/angular:package",
|
|
11
|
+
"outputs": ["{workspaceRoot}/dist/{projectRoot}"],
|
|
12
|
+
"options": {
|
|
13
|
+
"project": "src/libs/ui-primeng/ng-package.json"
|
|
14
|
+
},
|
|
15
|
+
"configurations": {
|
|
16
|
+
"production": {
|
|
17
|
+
"tsConfig": "src/libs/ui-primeng/tsconfig.lib.prod.json"
|
|
18
|
+
},
|
|
19
|
+
"development": {
|
|
20
|
+
"tsConfig": "src/libs/ui-primeng/tsconfig.lib.json"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"defaultConfiguration": "production"
|
|
24
|
+
},
|
|
25
|
+
"test": {
|
|
26
|
+
"executor": "@nx/jest:jest",
|
|
27
|
+
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
|
|
28
|
+
"options": {
|
|
29
|
+
"jestConfig": "src/libs/ui-primeng/jest.config.ts"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"lint": {
|
|
33
|
+
"executor": "@nx/eslint:lint"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -26,5 +26,9 @@ export * from './lib/components/switch';
|
|
|
26
26
|
export * from './lib/interceptors/http-error-message.interceptor';
|
|
27
27
|
export * from './lib/components/tab-view';
|
|
28
28
|
export * from './lib/components/shared-components';
|
|
29
|
+
export * from './lib/components/filter';
|
|
30
|
+
export * from './lib/components/feature-list';
|
|
29
31
|
export * from './lib/components/tooltip';
|
|
32
|
+
export * from './lib/components/tag';
|
|
33
|
+
export * from './lib/components/icon';
|
|
30
34
|
export * from './lib/icons';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<div class="v-breadcrumb card flex justify-content-center">
|
|
2
|
+
@if (useHomeRoute) {
|
|
3
|
+
<p-breadcrumb
|
|
4
|
+
class="max-w-full"
|
|
5
|
+
[model]="items | menuItem"
|
|
6
|
+
[home]="home"
|
|
7
|
+
></p-breadcrumb>
|
|
8
|
+
} @else {
|
|
9
|
+
<p-breadcrumb class="max-w-full" [model]="items | menuItem"></p-breadcrumb>
|
|
10
|
+
}
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
p-breadcrumb > nav {
|
|
2
|
+
border: none;
|
|
3
|
+
> ol {
|
|
4
|
+
align-items: stretch;
|
|
5
|
+
font-weight: 600;
|
|
6
|
+
font-size: 1rem;
|
|
7
|
+
}
|
|
8
|
+
a[aria-current='page'] > span {
|
|
9
|
+
color: var(--primary-color) !important;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
.p-menuitem-link {
|
|
13
|
+
gap: 0.5rem;
|
|
14
|
+
text-align: center;
|
|
15
|
+
}
|
|
16
|
+
.p-menuitem-text {
|
|
17
|
+
align-self: baseline;
|
|
18
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
import { BreadcrumbComponent } from './breadcrumb.component';
|
|
3
|
+
|
|
4
|
+
describe('BreadcrumbComponent', () => {
|
|
5
|
+
let component: BreadcrumbComponent;
|
|
6
|
+
let fixture: ComponentFixture<BreadcrumbComponent>;
|
|
7
|
+
|
|
8
|
+
beforeEach(async () => {
|
|
9
|
+
await TestBed.configureTestingModule({
|
|
10
|
+
imports: [BreadcrumbComponent],
|
|
11
|
+
}).compileComponents();
|
|
12
|
+
|
|
13
|
+
fixture = TestBed.createComponent(BreadcrumbComponent);
|
|
14
|
+
component = fixture.componentInstance;
|
|
15
|
+
fixture.detectChanges();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should create', () => {
|
|
19
|
+
expect(component).toBeTruthy();
|
|
20
|
+
});
|
|
21
|
+
});
|