@cauca-911/material 21.0.1-beta.3 → 21.0.1-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/.eslintrc.json +79 -0
  2. package/README_PACKAGE.md +5 -0
  3. package/karma.conf.js +50 -0
  4. package/ng-package.json +7 -0
  5. package/package.json +2 -17
  6. package/src/assets/i18n/cauca/en-material.json +104 -0
  7. package/src/assets/i18n/cauca/es-material.json +104 -0
  8. package/src/assets/i18n/cauca/fr-material.json +106 -0
  9. package/src/assets/images/loading.gif +0 -0
  10. package/src/lib/cauca-material.component.html +1 -0
  11. package/src/lib/cauca-material.component.spec.ts +29 -0
  12. package/src/lib/cauca-material.component.ts +12 -0
  13. package/src/lib/cauca-material.service.spec.ts +16 -0
  14. package/src/lib/cauca-material.service.ts +7 -0
  15. package/src/lib/components/button/button.component.html +52 -0
  16. package/src/lib/components/button/button.component.scss +6 -0
  17. package/src/lib/components/button/button.component.spec.ts +142 -0
  18. package/src/lib/components/button/button.component.ts +22 -0
  19. package/src/lib/components/buttons/base-button.ts +35 -0
  20. package/src/lib/components/buttons/basic-button/basic-button.component.html +5 -0
  21. package/src/lib/components/buttons/basic-button/basic-button.component.scss +12 -0
  22. package/src/lib/components/buttons/basic-button/basic-button.component.spec.ts +106 -0
  23. package/src/lib/components/buttons/basic-button/basic-button.component.ts +17 -0
  24. package/src/lib/components/buttons/fab-button/fab-button.component.html +3 -0
  25. package/src/lib/components/buttons/fab-button/fab-button.component.scss +12 -0
  26. package/src/lib/components/buttons/fab-button/fab-button.component.spec.ts +82 -0
  27. package/src/lib/components/buttons/fab-button/fab-button.component.ts +16 -0
  28. package/src/lib/components/buttons/flat-button/flat-button.component.html +5 -0
  29. package/src/lib/components/buttons/flat-button/flat-button.component.scss +12 -0
  30. package/src/lib/components/buttons/flat-button/flat-button.component.spec.ts +106 -0
  31. package/src/lib/components/buttons/flat-button/flat-button.component.ts +17 -0
  32. package/src/lib/components/buttons/icon-button/icon-button.component.html +3 -0
  33. package/src/lib/components/buttons/icon-button/icon-button.component.scss +23 -0
  34. package/src/lib/components/buttons/icon-button/icon-button.component.spec.ts +38 -0
  35. package/src/lib/components/buttons/icon-button/icon-button.component.ts +15 -0
  36. package/src/lib/components/buttons/link-button/link-button.component.html +1 -0
  37. package/src/lib/components/buttons/link-button/link-button.component.scss +3 -0
  38. package/src/lib/components/buttons/link-button/link-button.component.spec.ts +97 -0
  39. package/src/lib/components/buttons/link-button/link-button.component.ts +25 -0
  40. package/src/lib/components/buttons/menu-item/menu-item.component.html +5 -0
  41. package/src/lib/components/buttons/menu-item/menu-item.component.scss +6 -0
  42. package/src/lib/components/buttons/menu-item/menu-item.component.spec.ts +66 -0
  43. package/src/lib/components/buttons/menu-item/menu-item.component.ts +19 -0
  44. package/src/lib/components/buttons/raised-button/raised-button.component.html +5 -0
  45. package/src/lib/components/buttons/raised-button/raised-button.component.scss +12 -0
  46. package/src/lib/components/buttons/raised-button/raised-button.component.spec.ts +108 -0
  47. package/src/lib/components/buttons/raised-button/raised-button.component.ts +17 -0
  48. package/src/lib/components/buttons/refresh-button/refresh-button.component.html +1 -0
  49. package/src/lib/components/buttons/refresh-button/refresh-button.component.scss +0 -0
  50. package/src/lib/components/buttons/refresh-button/refresh-button.component.spec.ts +81 -0
  51. package/src/lib/components/buttons/refresh-button/refresh-button.component.ts +19 -0
  52. package/src/lib/components/buttons/round-button/round-button.component.html +3 -0
  53. package/src/lib/components/buttons/round-button/round-button.component.scss +34 -0
  54. package/src/lib/components/buttons/round-button/round-button.component.spec.ts +26 -0
  55. package/src/lib/components/buttons/round-button/round-button.component.ts +14 -0
  56. package/src/lib/components/buttons/stroked-button/stroked-button.component.html +5 -0
  57. package/src/lib/components/buttons/stroked-button/stroked-button.component.scss +23 -0
  58. package/src/lib/components/buttons/stroked-button/stroked-button.component.spec.ts +114 -0
  59. package/src/lib/components/buttons/stroked-button/stroked-button.component.ts +17 -0
  60. package/src/lib/components/cauca-date-time-picker/cauca-date-time-picker.component.html +9 -0
  61. package/src/lib/components/cauca-date-time-picker/cauca-date-time-picker.component.scss +7 -0
  62. package/src/lib/components/cauca-date-time-picker/cauca-date-time-picker.component.spec.ts +68 -0
  63. package/src/lib/components/cauca-date-time-picker/cauca-date-time-picker.component.ts +155 -0
  64. package/src/lib/components/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.html +6 -0
  65. package/src/lib/components/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.scss +25 -0
  66. package/src/lib/components/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.spec.ts +23 -0
  67. package/src/lib/components/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.ts +23 -0
  68. package/src/lib/components/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.html +77 -0
  69. package/src/lib/components/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.scss +124 -0
  70. package/src/lib/components/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.spec.ts +96 -0
  71. package/src/lib/components/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.ts +228 -0
  72. package/src/lib/components/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.html +9 -0
  73. package/src/lib/components/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.scss +15 -0
  74. package/src/lib/components/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.spec.ts +105 -0
  75. package/src/lib/components/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.ts +48 -0
  76. package/src/lib/components/cauca-date-time-picker/models/dialog-date-time-picker-data.ts +29 -0
  77. package/src/lib/components/deprecated-components/cauca-input-file/cauca-input-file.component.html +14 -0
  78. package/src/lib/components/deprecated-components/cauca-input-file/cauca-input-file.component.scss +3 -0
  79. package/src/lib/components/deprecated-components/cauca-input-file/cauca-input-file.component.ts +87 -0
  80. package/src/lib/components/deprecated-components/cauca-input-multiple-langue/cauca-input-multiple-langue.component.html +12 -0
  81. package/src/lib/components/deprecated-components/cauca-input-multiple-langue/cauca-input-multiple-langue.component.scss +3 -0
  82. package/src/lib/components/deprecated-components/cauca-input-multiple-langue/cauca-input-multiple-langue.component.spec.ts +35 -0
  83. package/src/lib/components/deprecated-components/cauca-input-multiple-langue/cauca-input-multiple-langue.component.ts +57 -0
  84. package/src/lib/components/deprecated-components/cauca-menu-vertical/cauca-menu-vertical.component.html +49 -0
  85. package/src/lib/components/deprecated-components/cauca-menu-vertical/cauca-menu-vertical.component.ts +56 -0
  86. package/src/lib/components/deprecated-components/cauca-simple-dialog/cauca-simple-dialog.component.html +11 -0
  87. package/src/lib/components/deprecated-components/cauca-simple-dialog/cauca-simple-dialog.component.scss +4 -0
  88. package/src/lib/components/deprecated-components/cauca-simple-dialog/cauca-simple-dialog.component.spec.ts +39 -0
  89. package/src/lib/components/deprecated-components/cauca-simple-dialog/cauca-simple-dialog.component.ts +20 -0
  90. package/src/lib/components/deprecated-components/cauca-slideshow/cauca-slideshow.component.html +7 -0
  91. package/src/lib/components/deprecated-components/cauca-slideshow/cauca-slideshow.component.scss +41 -0
  92. package/src/lib/components/deprecated-components/cauca-slideshow/cauca-slideshow.component.spec.ts +24 -0
  93. package/src/lib/components/deprecated-components/cauca-slideshow/cauca-slideshow.component.ts +67 -0
  94. package/src/lib/components/deprecated-components/shared/models/menu-item.ts +11 -0
  95. package/src/lib/components/deprecated-components/shared/models/simple-dialog-data.ts +5 -0
  96. package/src/lib/components/dialogs/alert-dialog/alert-dialog.component.html +10 -0
  97. package/src/lib/components/dialogs/alert-dialog/alert-dialog.component.scss +14 -0
  98. package/src/lib/components/dialogs/alert-dialog/alert-dialog.component.spec.ts +90 -0
  99. package/src/lib/components/dialogs/alert-dialog/alert-dialog.component.ts +41 -0
  100. package/src/lib/components/dialogs/confirm-dialog/confirm-dialog.component.html +11 -0
  101. package/src/lib/components/dialogs/confirm-dialog/confirm-dialog.component.scss +29 -0
  102. package/src/lib/components/dialogs/confirm-dialog/confirm-dialog.component.spec.ts +137 -0
  103. package/src/lib/components/dialogs/confirm-dialog/confirm-dialog.component.ts +47 -0
  104. package/src/lib/components/dialogs/delete-dialog/delete-dialog.component.html +17 -0
  105. package/src/lib/components/dialogs/delete-dialog/delete-dialog.component.scss +14 -0
  106. package/src/lib/components/dialogs/delete-dialog/delete-dialog.component.spec.ts +96 -0
  107. package/src/lib/components/dialogs/delete-dialog/delete-dialog.component.ts +40 -0
  108. package/src/lib/components/dialogs/delete-dialog/models/delete-dialog-data.spec.ts +7 -0
  109. package/src/lib/components/dialogs/delete-dialog/models/delete-dialog-data.ts +5 -0
  110. package/src/lib/components/dialogs/dialog-styles.css +9 -0
  111. package/src/lib/components/dialogs/dialog-styles.scss +9 -0
  112. package/src/lib/components/dialogs/error-dialog/error-dialog.component.html +10 -0
  113. package/src/lib/components/dialogs/error-dialog/error-dialog.component.scss +10 -0
  114. package/src/lib/components/dialogs/error-dialog/error-dialog.component.spec.ts +91 -0
  115. package/src/lib/components/dialogs/error-dialog/error-dialog.component.ts +32 -0
  116. package/src/lib/components/dialogs/services/dialog.service.spec.ts +82 -0
  117. package/src/lib/components/dialogs/services/dialog.service.ts +107 -0
  118. package/src/lib/components/dialogs/text-input-dialog/text-input-dialog.component.html +24 -0
  119. package/src/lib/components/dialogs/text-input-dialog/text-input-dialog.component.scss +22 -0
  120. package/src/lib/components/dialogs/text-input-dialog/text-input-dialog.component.spec.ts +126 -0
  121. package/src/lib/components/dialogs/text-input-dialog/text-input-dialog.component.ts +66 -0
  122. package/src/lib/components/inputs/color-picker/color-picker.component.html +9 -0
  123. package/src/lib/components/inputs/color-picker/color-picker.component.scss +0 -0
  124. package/src/lib/components/inputs/color-picker/color-picker.component.spec.ts +29 -0
  125. package/src/lib/components/inputs/color-picker/color-picker.component.ts +111 -0
  126. package/src/lib/components/inputs/date-range-picker/date-range-picker.component.html +13 -0
  127. package/src/lib/components/inputs/date-range-picker/date-range-picker.component.scss +0 -0
  128. package/src/lib/components/inputs/date-range-picker/date-range-picker.component.spec.ts +80 -0
  129. package/src/lib/components/inputs/date-range-picker/date-range-picker.component.ts +46 -0
  130. package/src/lib/components/inputs/dropdown-chip-autocomplete/dropdown-chip-autocomplete.component.html +40 -0
  131. package/src/lib/components/inputs/dropdown-chip-autocomplete/dropdown-chip-autocomplete.component.scss +39 -0
  132. package/src/lib/components/inputs/dropdown-chip-autocomplete/dropdown-chip-autocomplete.component.spec.ts +135 -0
  133. package/src/lib/components/inputs/dropdown-chip-autocomplete/dropdown-chip-autocomplete.component.ts +263 -0
  134. package/src/lib/components/inputs/password/password-criteria/password-criteria.component.html +6 -0
  135. package/src/lib/components/inputs/password/password-criteria/password-criteria.component.scss +27 -0
  136. package/src/lib/components/inputs/password/password-criteria/password-criteria.component.spec.ts +90 -0
  137. package/src/lib/components/inputs/password/password-criteria/password-criteria.component.ts +17 -0
  138. package/src/lib/components/inputs/password/password-criteria-viewer/password-criteria-viewer.component.html +5 -0
  139. package/src/lib/components/inputs/password/password-criteria-viewer/password-criteria-viewer.component.scss +8 -0
  140. package/src/lib/components/inputs/password/password-criteria-viewer/password-criteria-viewer.component.spec.ts +98 -0
  141. package/src/lib/components/inputs/password/password-criteria-viewer/password-criteria-viewer.component.ts +16 -0
  142. package/src/lib/components/inputs/password/password-input/password-input.component.html +11 -0
  143. package/src/lib/components/inputs/password/password-input/password-input.component.scss +12 -0
  144. package/src/lib/components/inputs/password/password-input/password-input.component.spec.ts +141 -0
  145. package/src/lib/components/inputs/password/password-input/password-input.component.ts +67 -0
  146. package/src/lib/components/inputs/password/password-selection/password-selection.component.html +15 -0
  147. package/src/lib/components/inputs/password/password-selection/password-selection.component.scss +32 -0
  148. package/src/lib/components/inputs/password/password-selection/password-selection.component.spec.ts +138 -0
  149. package/src/lib/components/inputs/password/password-selection/password-selection.component.ts +101 -0
  150. package/src/lib/components/inputs/select-with-search/select-with-search.component.html +19 -0
  151. package/src/lib/components/inputs/select-with-search/select-with-search.component.scss +0 -0
  152. package/src/lib/components/inputs/select-with-search/select-with-search.component.spec.ts +215 -0
  153. package/src/lib/components/inputs/select-with-search/select-with-search.component.ts +108 -0
  154. package/src/lib/components/layout/expandable-panel/expandable-panel.component.html +14 -0
  155. package/src/lib/components/layout/expandable-panel/expandable-panel.component.scss +48 -0
  156. package/src/lib/components/layout/expandable-panel/expandable-panel.component.spec.ts +48 -0
  157. package/src/lib/components/layout/expandable-panel/expandable-panel.component.ts +19 -0
  158. package/src/lib/components/layout/group-container/group-container.component.html +6 -0
  159. package/src/lib/components/layout/group-container/group-container.component.scss +22 -0
  160. package/src/lib/components/layout/group-container/group-container.component.spec.ts +34 -0
  161. package/src/lib/components/layout/group-container/group-container.component.ts +14 -0
  162. package/src/lib/components/layout/menu-expandable-panel/menu-expandable-panel.component.html +13 -0
  163. package/src/lib/components/layout/menu-expandable-panel/menu-expandable-panel.component.scss +27 -0
  164. package/src/lib/components/layout/menu-expandable-panel/menu-expandable-panel.component.spec.ts +144 -0
  165. package/src/lib/components/layout/menu-expandable-panel/menu-expandable-panel.component.ts +52 -0
  166. package/src/lib/components/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.html +4 -0
  167. package/src/lib/components/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.scss +10 -0
  168. package/src/lib/components/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.spec.ts +80 -0
  169. package/src/lib/components/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.ts +28 -0
  170. package/src/lib/components/layout/page-title/page-title.component.html +35 -0
  171. package/src/lib/components/layout/page-title/page-title.component.scss +40 -0
  172. package/src/lib/components/layout/page-title/page-title.component.spec.ts +162 -0
  173. package/src/lib/components/layout/page-title/page-title.component.ts +28 -0
  174. package/src/lib/components/layout/sections/main-section/main-section.component.html +6 -0
  175. package/src/lib/components/layout/sections/main-section/main-section.component.scss +27 -0
  176. package/src/lib/components/layout/sections/main-section/main-section.component.spec.ts +42 -0
  177. package/src/lib/components/layout/sections/main-section/main-section.component.ts +13 -0
  178. package/src/lib/components/layout/sections/section-column/section-column.component.html +3 -0
  179. package/src/lib/components/layout/sections/section-column/section-column.component.scss +18 -0
  180. package/src/lib/components/layout/sections/section-column/section-column.component.spec.ts +35 -0
  181. package/src/lib/components/layout/sections/section-column/section-column.component.ts +12 -0
  182. package/src/lib/components/layout/sections/section-field/section-field.component.html +21 -0
  183. package/src/lib/components/layout/sections/section-field/section-field.component.scss +44 -0
  184. package/src/lib/components/layout/sections/section-field/section-field.component.spec.ts +74 -0
  185. package/src/lib/components/layout/sections/section-field/section-field.component.ts +22 -0
  186. package/src/lib/components/list-paginator/list-paginator.component.html +16 -0
  187. package/src/lib/components/list-paginator/list-paginator.component.scss +46 -0
  188. package/src/lib/components/list-paginator/list-paginator.component.spec.ts +248 -0
  189. package/src/lib/components/list-paginator/list-paginator.component.ts +81 -0
  190. package/src/lib/components/misc/loading-error/loading-error.component.html +11 -0
  191. package/src/lib/components/misc/loading-error/loading-error.component.scss +0 -0
  192. package/src/lib/components/misc/loading-error/loading-error.component.spec.ts +75 -0
  193. package/src/lib/components/misc/loading-error/loading-error.component.ts +18 -0
  194. package/src/lib/components/misc/loading-spinner-indicator/loading-spinner-indicator.component.html +3 -0
  195. package/src/lib/components/misc/loading-spinner-indicator/loading-spinner-indicator.component.scss +0 -0
  196. package/src/lib/components/misc/loading-spinner-indicator/loading-spinner-indicator.component.spec.ts +43 -0
  197. package/src/lib/components/misc/loading-spinner-indicator/loading-spinner-indicator.component.ts +16 -0
  198. package/src/lib/components/misc/snack-bar/snack-bar.component.html +16 -0
  199. package/src/lib/components/misc/snack-bar/snack-bar.component.scss +84 -0
  200. package/src/lib/components/misc/snack-bar/snack-bar.component.spec.ts +136 -0
  201. package/src/lib/components/misc/snack-bar/snack-bar.component.ts +39 -0
  202. package/src/lib/components/notifications/saving-confirmed-box/saving-confirmed-box.component.html +11 -0
  203. package/src/lib/components/notifications/saving-confirmed-box/saving-confirmed-box.component.scss +0 -0
  204. package/src/lib/components/notifications/saving-confirmed-box/saving-confirmed-box.component.spec.ts +67 -0
  205. package/src/lib/components/notifications/saving-confirmed-box/saving-confirmed-box.component.ts +15 -0
  206. package/src/lib/components/notifications/saving-error-box/saving-error-box.component.html +11 -0
  207. package/src/lib/components/notifications/saving-error-box/saving-error-box.component.scss +0 -0
  208. package/src/lib/components/notifications/saving-error-box/saving-error-box.component.spec.ts +77 -0
  209. package/src/lib/components/notifications/saving-error-box/saving-error-box.component.ts +17 -0
  210. package/src/lib/components/presenters/badge/badge.component.html +6 -0
  211. package/src/lib/components/presenters/badge/badge.component.scss +10 -0
  212. package/src/lib/components/presenters/badge/badge.component.spec.ts +41 -0
  213. package/src/lib/components/presenters/badge/badge.component.ts +18 -0
  214. package/src/lib/components/presenters/icon/icon.component.scss +9 -0
  215. package/src/lib/components/presenters/icon/icon.component.spec.ts +38 -0
  216. package/src/lib/components/presenters/icon/icon.component.ts +37 -0
  217. package/src/lib/core/breadcrumb.service.spec.ts +35 -0
  218. package/src/lib/core/breadcrumb.service.ts +24 -0
  219. package/src/lib/core/directives/auto-trim-and-lower.directive.spec.ts +22 -0
  220. package/src/lib/core/directives/auto-trim-and-lower.directive.ts +19 -0
  221. package/src/lib/core/directives/form-error/form-error.module.ts +21 -0
  222. package/src/lib/core/directives/form-error/has-error-root.directive.ts +31 -0
  223. package/src/lib/core/directives/form-error/has-error.directive.ts +95 -0
  224. package/src/lib/core/loading-state.service.spec.ts +57 -0
  225. package/src/lib/core/loading-state.service.ts +44 -0
  226. package/src/lib/core/models/breadcrumb-location.ts +6 -0
  227. package/src/lib/core/models/password-validation.ts +20 -0
  228. package/src/lib/core/validators/password/password-validator.spec.ts +155 -0
  229. package/src/lib/core/validators/password/password-validator.ts +30 -0
  230. package/src/lib/provide-cauca-material.ts +10 -0
  231. package/src/public-api.ts +70 -0
  232. package/src/test.ts +17 -0
  233. package/tsconfig.lib.json +18 -0
  234. package/tsconfig.lib.prod.json +4 -0
  235. package/tsconfig.spec.json +17 -0
  236. package/fesm2022/cauca-911-material.mjs +0 -4321
  237. package/fesm2022/cauca-911-material.mjs.map +0 -1
  238. package/types/cauca-911-material.d.ts +0 -755
package/.eslintrc.json ADDED
@@ -0,0 +1,79 @@
1
+ {
2
+ "extends": "../../.eslintrc.json",
3
+ "ignorePatterns": [
4
+ "!**/*",
5
+ "**/*.spec.ts",
6
+ "**/test.ts",
7
+ "build/**/*",
8
+ "dist/**/*"
9
+ ],
10
+ "overrides": [
11
+ {
12
+ "files": [
13
+ "*.ts"
14
+ ],
15
+ "parserOptions": {
16
+ "project": [
17
+ "projects/cauca-material/tsconfig.lib.json"
18
+ ]
19
+ },
20
+ "rules": {
21
+ "@angular-eslint/component-selector": [
22
+ "error",
23
+ {
24
+ "type": "element",
25
+ "prefix": "cauca",
26
+ "style": "kebab-case"
27
+ }
28
+ ],
29
+ "@angular-eslint/directive-selector": [
30
+ "error",
31
+ {
32
+ "type": "attribute",
33
+ "prefix": "",
34
+ "style": "camelCase"
35
+ }
36
+ ],
37
+ "@angular-eslint/prefer-standalone": "off",
38
+ "@typescript-eslint/consistent-type-definitions": "error",
39
+ "@typescript-eslint/dot-notation": "off",
40
+ "@typescript-eslint/explicit-member-accessibility": [
41
+ "error",
42
+ {
43
+ "accessibility": "explicit"
44
+ }
45
+ ],
46
+ "@typescript-eslint/no-inferrable-types": "off",
47
+ "@typescript-eslint/member-ordering": [
48
+ "error", {
49
+ "default": [
50
+ "signature",
51
+ "public-field",
52
+ "protected-field",
53
+ "private-field",
54
+ ["get", "set"],
55
+ "constructor",
56
+ "public-method",
57
+ "protected-method",
58
+ "private-method"
59
+ ]
60
+ }
61
+ ],
62
+ "brace-style": [
63
+ "error",
64
+ "1tbs"
65
+ ],
66
+ "id-blacklist": "off",
67
+ "id-match": "off",
68
+ "no-underscore-dangle": "off",
69
+ "@angular-eslint/prefer-inject": "off"
70
+ }
71
+ },
72
+ {
73
+ "files": [
74
+ "*.html"
75
+ ],
76
+ "rules": {}
77
+ }
78
+ ]
79
+ }
@@ -0,0 +1,5 @@
1
+ # @cauca-911/material
2
+
3
+ Run `npm install @cauca-911/material --save` to add this library to your project
4
+
5
+ ## To use this library, you need to import the module with specific configuration
package/karma.conf.js ADDED
@@ -0,0 +1,50 @@
1
+ // Karma configuration file, see link for more information
2
+ // https://karma-runner.github.io/1.0/config/configuration-file.html
3
+
4
+ module.exports = function (config) {
5
+ config.set({
6
+ basePath: '',
7
+ frameworks: ['jasmine', '@angular-devkit/build-angular'],
8
+ plugins: [
9
+ require('karma-jasmine'),
10
+ require('karma-chrome-launcher'),
11
+ require('karma-jasmine-html-reporter'),
12
+ require('karma-coverage'),
13
+ require('@angular-devkit/build-angular/plugins/karma')
14
+ ],
15
+ client: {
16
+ clearContext: false // leave Jasmine Spec Runner output visible in browser
17
+ },
18
+ coverageReporter: {
19
+ dir: 'build/reports/coverage',
20
+ reporters: [
21
+ { type: 'html', subdir: 'report-html' },
22
+ { type: 'lcov', subdir: 'report-lcov' }
23
+ ]
24
+ },
25
+ reporters: ['progress', 'kjhtml', 'coverage'],
26
+ port: 9876,
27
+ colors: true,
28
+ logLevel: config.LOG_INFO,
29
+ autoWatch: true,
30
+ browsers: ['Chrome'],
31
+ customLaunchers: {
32
+ ChromeHeadlessNoSandbox: {
33
+ base: 'ChromeHeadless',
34
+ flags: [
35
+ '--no-sandbox',
36
+ '--disable-setuid-sandbox',
37
+ '--disable-extensions',
38
+ '--disable-web-security',
39
+ '--disable-gpu',
40
+ '--no-proxy-server'
41
+ ]
42
+ }
43
+ },
44
+ singleRun: false,
45
+ restartOnFileChange: true,
46
+ captureTimeout: 120000,
47
+ browserDisconnectTimeout: 20000,
48
+ browserNoActivityTimeout: 120000,
49
+ });
50
+ };
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "dest": "../../dist/cauca-material",
4
+ "lib": {
5
+ "entryFile": "src/public-api.ts"
6
+ }
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cauca-911/material",
3
- "version": "21.0.1-beta.3",
3
+ "version": "21.0.1-beta.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=21.2.0",
6
6
  "@angular/core": ">=21.2.0",
@@ -20,20 +20,5 @@
20
20
  "cauca-material",
21
21
  "cauca-911/material",
22
22
  "material"
23
- ],
24
- "module": "fesm2022/cauca-911-material.mjs",
25
- "typings": "types/cauca-911-material.d.ts",
26
- "exports": {
27
- "./package.json": {
28
- "default": "./package.json"
29
- },
30
- ".": {
31
- "types": "./types/cauca-911-material.d.ts",
32
- "default": "./fesm2022/cauca-911-material.mjs"
33
- }
34
- },
35
- "sideEffects": false,
36
- "scripts": {
37
- "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with partial compilation mode, before attempting to publish.\\n')\" && exit 1"
38
- }
23
+ ]
39
24
  }
@@ -0,0 +1,104 @@
1
+ {
2
+ "material": {
3
+ "ok": "Ok",
4
+ "apply": "Apply",
5
+ "cancel": "Cancel",
6
+ "clear": "Clear",
7
+ "description": "The \"@cauca-911/material\" library add many visual component",
8
+ "select": "Select",
9
+ "dialogTitle": "Data acquisition",
10
+ "dialogMessage": "Data acquisition in progress <img src=\"/assets/images/loading.gif\" alt=\"\" width=\"20\" />",
11
+ "version": "Version",
12
+ "refresh": "Refresh"
13
+ },
14
+ "ok": "Ok",
15
+ "apply": "Apply",
16
+ "cancel": "Cancel",
17
+ "clear": "Clear",
18
+ "description": "The \"@cauca-911/material\" library add many visual component",
19
+ "select": "Select",
20
+ "dialogTitle": "Data acquisition",
21
+ "dialogMessage": "Data acquisition in progress <img src=\"/assets/images/loading.gif\" alt=\"\" width=\"20\" />",
22
+ "version": "Version",
23
+ "refresh": "Refresh",
24
+ "close": "Close",
25
+ "copyLink": "Copy link",
26
+ "logout": "Logout",
27
+ "search": "Search",
28
+ "en": "English",
29
+ "fr": "French",
30
+ "or": "OR",
31
+ "errorTitle": "Error",
32
+ "edit": "Edit",
33
+ "delete": "Delete",
34
+ "save": "Save",
35
+ "yes": "Yes",
36
+ "no": "No",
37
+ "dateRangeSelectorLabel": "Dates",
38
+ "errorDialog": {
39
+ "titleError": "Deletion Error",
40
+ "messageError": "An error occurred while deleting \"{{itemName}}\". Please try again later."
41
+ },
42
+ "savingSuccessNotification": {
43
+ "title": "Saving",
44
+ "message": "The save was successful."
45
+ },
46
+ "deleteDialog": {
47
+ "titleFemale": "Delete {{itemType}}",
48
+ "titleMale": "Delete {{itemType}}",
49
+ "message": "Are you sure you want to delete \"{{itemName}}\"?",
50
+ "titleError": "Unable to delete",
51
+ "messageError": "An error occurred while deleting the item \"{{itemName}}\""
52
+ },
53
+ "cancelEditionDialog": {
54
+ "title": "Cancel confirmation",
55
+ "message": "You have unsaved changes, are you sure you want to undo them ?"
56
+ },
57
+ "validationErrorDialog": {
58
+ "title": "Invalid data",
59
+ "message": "You cannot save because you have invalid information.",
60
+ "messageNext": "You cannot continue because you have invalid information."
61
+ },
62
+ "alertDialog": {
63
+ "errorTitle": "Error",
64
+ "noResult": "No results",
65
+ "deleteErrorMessage": "An error has occured while deleting item, please try again.",
66
+ "genericErrorMessage": "An error has occured, please try again.",
67
+ "saveErrorMessage": "An error has occured while saving data, please try again.",
68
+ "loadErrorMessage": "An error has occured while loading data, please try again."
69
+ },
70
+ "generalError": {
71
+ "errorAlertTitle": "Error",
72
+ "loadingErrorAlertTitle": "Loading error",
73
+ "loadingErrorAlertMessage": "An alert has occured while loading date. Please try again.",
74
+ "savingErrorAlertTitle": "Saving error",
75
+ "savingErrorAlertMessage": "An alert has occured while saving date. Please try again.",
76
+ "retryButtonLabel": "Retry"
77
+ },
78
+ "error": {
79
+ "requiredField": "Required field.",
80
+ "maxLength": "Value must have less than {{value}} characters.",
81
+ "valueMin": "Value below minimum",
82
+ "valueMax": "Value over maximum",
83
+ "invalidEmail": "Invalid email",
84
+ "invalidPhoneNumber": "Invalid phone number",
85
+ "min": "Minimum value: {{value}}",
86
+ "max": "Maximum value: {{value}}",
87
+ "length": "Length must not exceed {{value}} characters.",
88
+ "identicalPassword": "Same passwords",
89
+ "minimumCharacters": "Minimum 13 characters",
90
+ "minimumNumeric": "Minimum 1 numbers (0-9)",
91
+ "minimumSpecialCharacter": "Minimum 1 special character (!, @, $, ...)",
92
+ "minimumUpperAndLowercase": "Minimum 1 uppercase et 1 lowercase (A, z)"
93
+ },
94
+ "passwordEdition" : {
95
+ "passwordSelection": "Please choose a password.",
96
+ "password": "Password",
97
+ "passwordConfirmation": "Password confirmation",
98
+ "minimumCharacters": "Minimum 13 characters",
99
+ "minimumOneNumeric": "Minimum 1 number (0-9)",
100
+ "minimumOneSpecialCharacter": "Minimum 1 special character (!, @, $, etc.)",
101
+ "needLowerAndUppercase": "Minimum 1 uppercase and 1 lowercase (A, z)",
102
+ "equalPasswords": "Same passwords"
103
+ }
104
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "material": {
3
+ "ok": "Ok",
4
+ "apply": "Aplicar",
5
+ "cancel": "Cancelar",
6
+ "clear": "Claro",
7
+ "description": "La librería \"@cauca-911/material\" agrega componentes basados ​​en @angular/material",
8
+ "select": "Para seleccionar",
9
+ "dialogTitle": "Adquisición de datos",
10
+ "dialogMessage": "Adquisición de datos en curso <img src=\"/assets/images/loading.gif\" alt=\"\" width=\"20\" />",
11
+ "version": "Versión",
12
+ "refresh": "Actualizar"
13
+ },
14
+ "ok": "Ok",
15
+ "apply": "Aplicar",
16
+ "cancel": "Cancelar",
17
+ "clear": "Claro",
18
+ "description": "La librería \"@cauca-911/material\" agrega muchos componentes visuales",
19
+ "select": "Seleccionar",
20
+ "dialogTitle": "Adquisición de datos",
21
+ "dialogMessage": "Adquisición de datos en curso <img src=\"/assets/images/loading.gif\" alt=\"\" width=\"20\" />",
22
+ "version": "Versión",
23
+ "refresh": "Actualizar",
24
+ "close": "Cerrar",
25
+ "copyLink": "Copiar enlace",
26
+ "logout": "Cerrar sesión",
27
+ "search": "Buscar",
28
+ "en": "Inglés",
29
+ "fr": "Francés",
30
+ "or": "O",
31
+ "errorTitle": "Error",
32
+ "edit": "Editar",
33
+ "delete": "Eliminar",
34
+ "save": "Guardar",
35
+ "yes": "Sí",
36
+ "no": "No",
37
+ "dateRangeSelectorLabel": "Fechas",
38
+ "errorDialog": {
39
+ "titleError": "Error al eliminar",
40
+ "messageError": "Ocurrió un error al eliminar \"{{itemName}}\". Por favor, inténtalo de nuevo más tarde."
41
+ },
42
+ "savingSuccessNotification": {
43
+ "title": "Guardando",
44
+ "message": "El guardado fue exitoso."
45
+ },
46
+ "deleteDialog": {
47
+ "titleFemale": "Eliminar {{itemType}}",
48
+ "titleMale": "Eliminar {{itemType}}",
49
+ "message": "¿Está seguro que desea eliminar \"{{itemName}}\"?",
50
+ "titleError": "No se puede eliminar",
51
+ "messageError": "Ocurrió un error al eliminar el elemento \"{{itemName}}\""
52
+ },
53
+ "cancelEditionDialog": {
54
+ "title": "Confirmación de cancelación",
55
+ "message": "Tiene cambios sin guardar, ¿está seguro que desea deshacerlos?"
56
+ },
57
+ "validationErrorDialog": {
58
+ "title": "Datos inválidos",
59
+ "message": "No puede guardar porque tiene información inválida.",
60
+ "messageNext": "No puede continuar porque tiene información inválida."
61
+ },
62
+ "alertDialog": {
63
+ "errorTitle": "Error",
64
+ "noResult": "Sin resultados",
65
+ "deleteErrorMessage": "Ocurrió un error al eliminar el elemento, por favor intente de nuevo.",
66
+ "genericErrorMessage": "Ocurrió un error, por favor intente de nuevo.",
67
+ "saveErrorMessage": "Ocurrió un error al guardar los datos, por favor intente de nuevo.",
68
+ "loadErrorMessage": "Ocurrió un error al cargar los datos, por favor intente de nuevo."
69
+ },
70
+ "generalError": {
71
+ "errorAlertTitle": "Error",
72
+ "loadingErrorAlertTitle": "Error al cargar",
73
+ "loadingErrorAlertMessage": "Ocurrió una alerta al cargar los datos. Por favor intente de nuevo.",
74
+ "savingErrorAlertTitle": "Error al guardar",
75
+ "savingErrorAlertMessage": "Ocurrió una alerta al guardar los datos. Por favor intente de nuevo.",
76
+ "retryButtonLabel": "Reintentar"
77
+ },
78
+ "error": {
79
+ "requiredField": "Campo obligatorio.",
80
+ "maxLength": "El valor debe tener menos de {{value}} caracteres.",
81
+ "valueMin": "Valor por debajo del mínimo",
82
+ "valueMax": "Valor por encima del máximo",
83
+ "invalidEmail": "Correo electrónico inválido",
84
+ "invalidPhoneNumber": "Número de teléfono inválido",
85
+ "min": "Valor mínimo: {{value}}",
86
+ "max": "Valor máximo: {{value}}",
87
+ "length": "La longitud no debe exceder {{value}} caracteres.",
88
+ "identicalPassword": "Contraseñas iguales",
89
+ "minimumCharacters": "Mínimo 13 caracteres",
90
+ "minimumNumeric": "Mínimo 1 número (0-9)",
91
+ "minimumSpecialCharacter": "Mínimo 1 carácter especial (!, @, $, ...)",
92
+ "minimumUpperAndLowercase": "Mínimo 1 mayúscula y 1 minúscula (A, z)"
93
+ },
94
+ "passwordEdition": {
95
+ "passwordSelection": "Por favor, elija una contraseña.",
96
+ "password": "Contraseña",
97
+ "passwordConfirmation": "Confirmación de contraseña",
98
+ "minimumCharacters": "Mínimo 13 caracteres",
99
+ "minimumOneNumeric": "Mínimo 1 número (0-9)",
100
+ "minimumOneSpecialCharacter": "Mínimo 1 carácter especial (!, @, $, etc.)",
101
+ "needLowerAndUppercase": "Mínimo 1 mayúscula y 1 minúscula (A, z)",
102
+ "equalPasswords": "Contraseñas iguales"
103
+ }
104
+ }
@@ -0,0 +1,106 @@
1
+ {
2
+ "material": {
3
+ "ok": "Ok",
4
+ "apply": "Appliquer",
5
+ "cancel": "Annuler",
6
+ "clear": "Vider",
7
+ "description": "La librairie \"@cauca-911/material\" ajoute des composants basé sur @angular/material",
8
+ "select": "Sélectionner",
9
+ "dialogTitle": "Acquisition des données",
10
+ "dialogMessage": "Acquisition des données en cours <img src=\"/assets/images/loading.gif\" alt=\"\" width=\"20\" />",
11
+ "version": "Version",
12
+ "refresh": "Rafraîchir"
13
+ },
14
+ "ok": "Ok",
15
+ "apply": "Appliquer",
16
+ "cancel": "Annuler",
17
+ "clear": "Vider",
18
+ "description": "La librairie \"@cauca-911/material\" ajoute des composants basé sur @angular/material",
19
+ "select": "Sélectionner",
20
+ "dialogTitle": "Acquisition des données",
21
+ "dialogMessage": "Acquisition des données en cours <img src=\"/assets/images/loading.gif\" alt=\"\" width=\"20\" />",
22
+ "version": "Version",
23
+ "refresh": "Rafraîchir",
24
+ "errorTitle": "Erreur",
25
+ "edit": "Éditer",
26
+ "delete": "Supprimer",
27
+ "save": "Sauvegarder",
28
+ "yes": "Oui",
29
+ "no": "Non",
30
+ "close": "Fermer",
31
+ "copyLink": "Copier le lien",
32
+ "logout": "Déconnexion",
33
+ "search": "Rechercher",
34
+ "en": "Anglais",
35
+ "fr": "Français",
36
+ "es": "Espagnol",
37
+ "or": "OU",
38
+ "dateRangeSelectorLabel": "Dates",
39
+ "errorDialog": {
40
+ "titleError": "Erreur de suppression",
41
+ "messageError": "Une erreur est survenue lors de la suppression de \"{{itemName}}\". Veuillez réessayer plus tard."
42
+ },
43
+ "deleteDialog": {
44
+ "titleFemale": "Supprimer une {{itemType}}",
45
+ "titleMale": "Supprimer un {{itemType}}",
46
+ "message": "Êtes-vous sûr de vouloir supprimer l'élément \"{{itemName}}\" ?",
47
+ "titleError": "Erreur de suppression",
48
+ "messageError": "Une erreur s'est produite lors de la suppression de l'élément \"{{itemName}}\"."
49
+ },
50
+ "cancelEditionDialog": {
51
+ "title": "Confirmation d'annulation",
52
+ "message": "Vous avez des changements non sauvegardés, êtes-vous sûr de vouloir les annuler ?"
53
+ },
54
+ "validationErrorDialog": {
55
+ "title": "Données invalides",
56
+ "message": "Vous ne pouvez sauvegarder parce que vous avez des informations invalides.",
57
+ "messageNext": "Vous ne pouvez continuer parce que vous avez des informations invalides."
58
+ },
59
+ "alertDialog": {
60
+ "errorTitle": "Erreur",
61
+ "noResult": "Aucun résultat",
62
+ "genericErrorMessage": "Une erreur s'est produite, veuillez réessayer.",
63
+ "saveErrorMessage": "Une erreur s'est produite lors de la sauvegarde, veuillez réessayer.",
64
+ "loadErrorMessage": "Une erreur s'est produite lors du chargement, veuillez réessayer.",
65
+ "deleteErrorMessage": "Une erreur s'est produite lors de la suppression, veuillez réessayer.",
66
+ "creationErrorMessage": "Une erreur s'est produite lors de la création du fichier, veuillez réessayer."
67
+ },
68
+ "savingSuccessNotification": {
69
+ "title": "Sauvegarde",
70
+ "message": "La sauvegarde s'est effectuée avec succès."
71
+ },
72
+ "generalError": {
73
+ "errorAlertTitle": "Erreur",
74
+ "loadingErrorAlertTitle": "Erreur de chargement",
75
+ "loadingErrorAlertMessage": "Une erreur s'est produite pendant le chargement, veuillez réessayer.",
76
+ "savingErrorAlertTitle": "Erreur de sauvegarde",
77
+ "savingErrorAlertMessage": "Une erreur s'est produite pendant la sauvegarde, veuillez réessayer.",
78
+ "retryButtonLabel": "Réessayer"
79
+ },
80
+ "error": {
81
+ "requiredField": "Ce champ est obligatoire.",
82
+ "maxLength": "Ce champ doit avoir moins de {{value}} caractères.",
83
+ "valueMin": "Valeur sous minimum",
84
+ "valueMax": "Valeur au dessus maximum",
85
+ "invalidEmail": "Le courriel entré n'est pas valide",
86
+ "invalidPhoneNumber": "Le téléphone n'est pas valide",
87
+ "min": "Valeur minimale: {{value}}",
88
+ "max": "Valeur maximale: {{value}}",
89
+ "minimumCharacters": "Minimum 13 caractères",
90
+ "minimumNumeric": "Minimum 1 chiffre (0-9)",
91
+ "minimumSpecialCharacter": "Minimum 1 caractère spécial (!, @, $, ...)",
92
+ "minimumUpperAndLowercase": "Minimum 1 majuscule et 1 minuscule (A, z)",
93
+ "identicalPassword": "Mots de passe identiques",
94
+ "length": "La longueur ne doit pas dépasser {{value}} caractères."
95
+ },
96
+ "passwordEdition" : {
97
+ "passwordSelection": "Veuillez choisir un mot de passe.",
98
+ "password": "Mot de passe",
99
+ "passwordConfirmation": "Confirmation du mot de passe",
100
+ "minimumCharacters": "Minimum 13 caractères",
101
+ "minimumOneNumeric": "Minimum 1 chiffre (0-9)",
102
+ "minimumOneSpecialCharacter": "Minimum 1 caractère spécial (!, @, $, etc.)",
103
+ "needLowerAndUppercase": "Minimum 1 majuscule et 1 minuscule (A, z)",
104
+ "equalPasswords": "Mots de passe identiques"
105
+ }
106
+ }
Binary file
@@ -0,0 +1 @@
1
+ <div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>
@@ -0,0 +1,29 @@
1
+ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2
+ import { TranslateModule } from '@ngx-translate/core';
3
+
4
+ import { CaucaMaterialComponent } from './cauca-material.component';
5
+
6
+ describe('CaucaMaterialComponent', () => {
7
+ let component: CaucaMaterialComponent;
8
+ let fixture: ComponentFixture<CaucaMaterialComponent>;
9
+
10
+ beforeEach(waitForAsync(() => {
11
+ TestBed.configureTestingModule({
12
+ imports: [
13
+ CaucaMaterialComponent,
14
+ TranslateModule.forRoot()
15
+ ]
16
+ })
17
+ .compileComponents();
18
+ }));
19
+
20
+ beforeEach(() => {
21
+ fixture = TestBed.createComponent(CaucaMaterialComponent);
22
+ component = fixture.componentInstance;
23
+ fixture.detectChanges();
24
+ });
25
+
26
+ it('should create', () => {
27
+ expect(component).toBeTruthy();
28
+ });
29
+ });
@@ -0,0 +1,12 @@
1
+ import { Component } from '@angular/core';
2
+ import { TranslateModule } from '@ngx-translate/core';
3
+
4
+ @Component({
5
+ selector: 'cauca-material',
6
+ templateUrl: './cauca-material.component.html',
7
+ styles: [],
8
+ imports: [TranslateModule]
9
+ })
10
+ export class CaucaMaterialComponent {
11
+
12
+ }
@@ -0,0 +1,16 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+
3
+ import { CaucaMaterialService } from './cauca-material.service';
4
+
5
+ describe('CaucaMaterialService', () => {
6
+ let service: CaucaMaterialService;
7
+
8
+ beforeEach(() => {
9
+ TestBed.configureTestingModule({});
10
+ service = TestBed.inject(CaucaMaterialService);
11
+ });
12
+
13
+ it('should be created', () => {
14
+ expect(service).toBeTruthy();
15
+ });
16
+ });
@@ -0,0 +1,7 @@
1
+ import { Injectable } from '@angular/core';
2
+
3
+ @Injectable({
4
+ providedIn: 'root'
5
+ })
6
+ export class CaucaMaterialService {
7
+ }
@@ -0,0 +1,52 @@
1
+ @if (type() === 'basic') {
2
+ <button [ngClass]="class()" mat-button (click)="buttonClick.emit()" [disabled]="disable() || inProgress()" [color]="color()" class="button-basic">
3
+ @if (inProgress() || icon()) {
4
+ <mat-icon [class.button-spin]="inProgress()">{{ inProgress() ? 'update' : icon() }}</mat-icon>
5
+ }
6
+ <span>{{label()}}</span>
7
+ </button>
8
+ }
9
+
10
+ @if (type() === 'raised') {
11
+ <button [ngClass]="class()" matButton="elevated" (click)="buttonClick.emit()" [disabled]="disable() || inProgress()" [color]="color()" class="button-raised">
12
+ @if (inProgress() || icon()) {
13
+ <mat-icon [class.button-spin]="inProgress()">{{ inProgress() ? 'update' : icon() }}</mat-icon>
14
+ }
15
+ <span>{{label()}}</span>
16
+ </button>
17
+ }
18
+
19
+ @if (type() === 'stroked') {
20
+ <button [ngClass]="class()" matButton="outlined" (click)="buttonClick.emit()" [disabled]="disable() || inProgress()" [color]="color()" class="button-stroked">
21
+ @if (inProgress() || icon()) {
22
+ <mat-icon [class.button-spin]="inProgress()">{{ inProgress() ? 'update' : icon() }}</mat-icon>
23
+ }
24
+ <span>{{label()}}</span>
25
+ </button>
26
+ }
27
+
28
+ @if (type() === 'flat') {
29
+ <button [ngClass]="class()" matButton="filled" (click)="buttonClick.emit()" [disabled]="disable() || inProgress()" [color]="color()" class="button-flat">
30
+ @if (inProgress() || icon()) {
31
+ <mat-icon [class.button-spin]="inProgress()">{{ inProgress() ? 'update' : icon() }}</mat-icon>
32
+ }
33
+ <span>{{label()}}</span>
34
+ </button>
35
+ }
36
+
37
+ @if (type() === 'icon') {
38
+ <button [ngClass]="class()" matIconButton (click)="buttonClick.emit()" [disabled]="disable() || inProgress()" [color]="color()" class="button-icon">
39
+ @if (inProgress() || icon()) {
40
+ <mat-icon [class.button-spin]="inProgress()">{{ inProgress() ? 'update' : icon() }}</mat-icon>
41
+ }
42
+ </button>
43
+ }
44
+
45
+ @if (type() === 'fab') {
46
+ <button [ngClass]="class()" matFab (click)="buttonClick.emit()" [disabled]="disable() || inProgress()" [color]="color()" class="button-icon">
47
+ @if (inProgress() || icon()) {
48
+ <mat-icon [class.button-spin]="inProgress()">{{ inProgress() ? 'update' : icon() }}</mat-icon>
49
+ }
50
+ <span>{{label()}}</span>
51
+ </button>
52
+ }
@@ -0,0 +1,6 @@
1
+ @keyframes spinner {
2
+ to { transform: rotate(360deg); }
3
+ }
4
+ .button-spin {
5
+ animation: spinner 1s linear infinite;
6
+ }