@lucca-front/ng 21.2.2 → 21.2.3-rc.4

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 (219) hide show
  1. package/fesm2022/lucca-front-ng-a11y.mjs +4 -4
  2. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-activity-feed.mjs +18 -18
  4. package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-api.mjs +40 -40
  6. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-app-layout.mjs +4 -4
  8. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-box.mjs +7 -7
  10. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +10 -10
  12. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-bubble-icon.mjs +11 -11
  14. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +9 -9
  16. package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-callout.mjs +68 -68
  18. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-chip.mjs +15 -15
  20. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-clear.mjs +9 -9
  22. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-code.mjs +4 -4
  24. package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-color.mjs +7 -7
  26. package/fesm2022/lucca-front-ng-color.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-comment.mjs +30 -30
  28. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-container.mjs +7 -7
  30. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-core-select-api.mjs +13 -13
  32. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-core-select-department.mjs +21 -15
  34. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +15 -15
  36. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +9 -9
  38. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +6 -6
  40. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-core-select-user.mjs +36 -36
  42. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-core-select.mjs +90 -90
  44. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-core.mjs +18 -18
  46. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-data-table.mjs +74 -74
  48. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-date.mjs +42 -42
  50. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-date2.mjs +121 -121
  52. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-department.mjs +25 -25
  54. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-dialog.mjs +55 -43
  56. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-divider.mjs +8 -8
  58. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-dropdown.mjs +43 -43
  60. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-empty-state.mjs +34 -34
  62. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-error-page.mjs +6 -6
  64. package/fesm2022/lucca-front-ng-error-page.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-establishment.mjs +34 -34
  66. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-fancy-box.mjs +10 -10
  68. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-file-upload.mjs +55 -55
  70. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-filter-pills.mjs +53 -53
  72. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-footer.mjs +10 -10
  74. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-form-field.mjs +65 -65
  76. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-form-header.mjs +4 -4
  78. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-form-label.mjs +12 -12
  80. package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-form.mjs +5 -5
  82. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-formly.mjs +58 -58
  84. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +20 -20
  86. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
  88. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +6 -6
  90. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
  91. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
  92. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +91 -89
  94. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  95. package/fesm2022/lucca-front-ng-forms.mjs +146 -145
  96. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-gauge.mjs +19 -19
  98. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-grid.mjs +23 -23
  100. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-highlight-data.mjs +16 -16
  102. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +11 -11
  104. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-index-table.mjs +60 -60
  106. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-inline-message.mjs +7 -7
  108. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-input.mjs +22 -22
  110. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-link.mjs +12 -12
  112. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-listbox.mjs +26 -26
  114. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-listing.mjs +19 -19
  116. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  117. package/fesm2022/lucca-front-ng-loading.mjs +8 -8
  118. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  119. package/fesm2022/lucca-front-ng-main-layout.mjs +9 -9
  120. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  121. package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -4
  122. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  123. package/fesm2022/lucca-front-ng-modal.mjs +23 -23
  124. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  125. package/fesm2022/lucca-front-ng-multi-select.mjs +61 -61
  126. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  127. package/fesm2022/lucca-front-ng-new-badge.mjs +4 -4
  128. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  129. package/fesm2022/lucca-front-ng-number-format.mjs +10 -10
  130. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  131. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  132. package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
  133. package/fesm2022/lucca-front-ng-numeric-badge.mjs +12 -12
  134. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  135. package/fesm2022/lucca-front-ng-option.mjs +130 -130
  136. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  137. package/fesm2022/lucca-front-ng-page-header.mjs +9 -9
  138. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-pagination.mjs +10 -10
  140. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  141. package/fesm2022/lucca-front-ng-plg-push.mjs +7 -7
  142. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  143. package/fesm2022/lucca-front-ng-popover.mjs +17 -17
  144. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  145. package/fesm2022/lucca-front-ng-popover2.mjs +15 -15
  146. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  147. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  148. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  149. package/fesm2022/lucca-front-ng-progress-bar.mjs +7 -7
  150. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  151. package/fesm2022/lucca-front-ng-progress-stepper.mjs +12 -12
  152. package/fesm2022/lucca-front-ng-progress-stepper.mjs.map +1 -1
  153. package/fesm2022/lucca-front-ng-read-more.mjs +17 -17
  154. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  155. package/fesm2022/lucca-front-ng-resource-card.mjs +21 -21
  156. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  157. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  158. package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
  159. package/fesm2022/lucca-front-ng-scroll-box.mjs +6 -6
  160. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  161. package/fesm2022/lucca-front-ng-scroll.mjs +8 -8
  162. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  163. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +14 -14
  164. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  165. package/fesm2022/lucca-front-ng-segmented-control.mjs +11 -11
  166. package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
  167. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  168. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  169. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  170. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  171. package/fesm2022/lucca-front-ng-simple-select.mjs +17 -17
  172. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  173. package/fesm2022/lucca-front-ng-skeleton.mjs +54 -50
  174. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  175. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +84 -0
  176. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs.map +1 -0
  177. package/fesm2022/lucca-front-ng-software-icon.mjs +20 -13
  178. package/fesm2022/lucca-front-ng-software-icon.mjs.map +1 -1
  179. package/fesm2022/lucca-front-ng-sortable-list.mjs +14 -14
  180. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  181. package/fesm2022/lucca-front-ng-status-badge.mjs +7 -7
  182. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  183. package/fesm2022/lucca-front-ng-table-of-content.mjs +7 -7
  184. package/fesm2022/lucca-front-ng-table-of-content.mjs.map +1 -1
  185. package/fesm2022/lucca-front-ng-tag.mjs +12 -12
  186. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  187. package/fesm2022/lucca-front-ng-text-flow.mjs +3 -3
  188. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
  189. package/fesm2022/lucca-front-ng-time.mjs +70 -69
  190. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  191. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  192. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  193. package/fesm2022/lucca-front-ng-toast.mjs +13 -13
  194. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  195. package/fesm2022/lucca-front-ng-tooltip.mjs +35 -35
  196. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  197. package/fesm2022/lucca-front-ng-tree-select.mjs +16 -16
  198. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  199. package/fesm2022/lucca-front-ng-user-popover.mjs +21 -21
  200. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  201. package/fesm2022/lucca-front-ng-user.mjs +78 -78
  202. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  203. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +27 -27
  204. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  205. package/package.json +9 -4
  206. package/types/lucca-front-ng-core-select-department.d.ts +4 -0
  207. package/types/lucca-front-ng-core-select-user.d.ts +1 -1
  208. package/types/lucca-front-ng-core-select.d.ts +5 -5
  209. package/types/lucca-front-ng-core.d.ts +1 -1
  210. package/types/lucca-front-ng-dialog.d.ts +7 -2
  211. package/types/lucca-front-ng-filter-pills.d.ts +4 -4
  212. package/types/lucca-front-ng-form-field.d.ts +2 -2
  213. package/types/lucca-front-ng-forms-rich-text-input.d.ts +1 -0
  214. package/types/lucca-front-ng-forms.d.ts +25 -14
  215. package/types/lucca-front-ng-multi-select.d.ts +1 -1
  216. package/types/lucca-front-ng-skeleton.d.ts +5 -1
  217. package/types/lucca-front-ng-software-icon-wrapper.d.ts +31 -0
  218. package/types/lucca-front-ng-software-icon.d.ts +10 -4
  219. package/types/lucca-front-ng-time.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-new-badge.mjs","sources":["../../../packages/ng/new-badge/new-badge.component.ts","../../../packages/ng/new-badge/new-badge.component.html","../../../packages/ng/new-badge/lucca-front-ng-new-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-new-badge',\n\ttemplateUrl: './new-badge.component.html',\n\tstyleUrl: './new-badge.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'newBadge',\n\t},\n})\nexport class NewBadgeComponent {\n\t/**\n\t * Changes the text displayed by the newBadge\n\t */\n\treadonly label = input.required<string>();\n}\n","{{ label() }}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAYa,iBAAiB,CAAA;AAV9B,IAAA,WAAA,GAAA;AAWC;;AAEG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAU;AACzC,IAAA;8GALY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,iPCZ9B,iBACA,EAAA,MAAA,EAAA,CAAA,0oBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDWa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;+BACC,cAAc,EAAA,eAAA,EAGP,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACL,wBAAA,KAAK,EAAE,UAAU;AACjB,qBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,0oBAAA,CAAA,EAAA;;;AEVF;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-new-badge.mjs","sources":["../../../packages/ng/new-badge/new-badge.component.ts","../../../packages/ng/new-badge/new-badge.component.html","../../../packages/ng/new-badge/lucca-front-ng-new-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-new-badge',\n\ttemplateUrl: './new-badge.component.html',\n\tstyleUrl: './new-badge.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'newBadge',\n\t},\n})\nexport class NewBadgeComponent {\n\t/**\n\t * Changes the text displayed by the newBadge\n\t */\n\treadonly label = input.required<string>();\n}\n","{{ label() }}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAYa,iBAAiB,CAAA;AAV9B,IAAA,WAAA,GAAA;AAWC;;AAEG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAAU;AACzC,IAAA;+GALY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,iPCZ9B,iBACA,EAAA,MAAA,EAAA,CAAA,0oBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDWa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;+BACC,cAAc,EAAA,eAAA,EAGP,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACL,wBAAA,KAAK,EAAE,UAAU;AACjB,qBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,0oBAAA,CAAA,EAAA;;;AEVF;;AAEG;;;;"}
@@ -189,10 +189,10 @@ class LuFormatNumberPipe {
189
189
  transform(value, options) {
190
190
  return new NumberFormat(options).format(value);
191
191
  }
192
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuFormatNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
193
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: LuFormatNumberPipe, isStandalone: true, name: "luNumberFormat" }); }
192
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuFormatNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
193
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.14", ngImport: i0, type: LuFormatNumberPipe, isStandalone: true, name: "luNumberFormat" }); }
194
194
  }
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuFormatNumberPipe, decorators: [{
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuFormatNumberPipe, decorators: [{
196
196
  type: Pipe,
197
197
  args: [{
198
198
  name: 'luNumberFormat',
@@ -205,12 +205,12 @@ class NumberFormatDirective {
205
205
  constructor() {
206
206
  this.#inputElement = inject((ElementRef)).nativeElement;
207
207
  this.#renderer = inject(Renderer2);
208
- this.#value = signal(null, ...(ngDevMode ? [{ debugName: "#value" }] : []));
209
- this.#isFocused = signal(false, ...(ngDevMode ? [{ debugName: "#isFocused" }] : []));
210
- this.formatOptions = input.required(...(ngDevMode ? [{ debugName: "formatOptions" }] : []));
208
+ this.#value = signal(null, ...(ngDevMode ? [{ debugName: "#value" }] : /* istanbul ignore next */ []));
209
+ this.#isFocused = signal(false, ...(ngDevMode ? [{ debugName: "#isFocused" }] : /* istanbul ignore next */ []));
210
+ this.formatOptions = input.required(...(ngDevMode ? [{ debugName: "formatOptions" }] : /* istanbul ignore next */ []));
211
211
  this.#numberFormat = computed(() => {
212
212
  return new NumberFormat(this.formatOptions());
213
- }, ...(ngDevMode ? [{ debugName: "#numberFormat" }] : []));
213
+ }, ...(ngDevMode ? [{ debugName: "#numberFormat" }] : /* istanbul ignore next */ []));
214
214
  this.onChange = () => { };
215
215
  this.onTouched = () => { };
216
216
  }
@@ -248,8 +248,8 @@ class NumberFormatDirective {
248
248
  this.#value.set(parsedInput.value);
249
249
  this.onChange?.(parsedInput.value);
250
250
  }
251
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: NumberFormatDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
252
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: NumberFormatDirective, isStandalone: true, selector: "input[luNumberFormatInput]", inputs: { formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "focus": "focus()", "blur": "lostFocus()", "input": "input()" } }, providers: [
251
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NumberFormatDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
252
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NumberFormatDirective, isStandalone: true, selector: "input[luNumberFormatInput]", inputs: { formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "focus": "focus()", "blur": "lostFocus()", "input": "input()" } }, providers: [
253
253
  {
254
254
  provide: NG_VALUE_ACCESSOR,
255
255
  useExisting: forwardRef(() => NumberFormatDirective),
@@ -257,7 +257,7 @@ class NumberFormatDirective {
257
257
  },
258
258
  ], ngImport: i0 }); }
259
259
  }
260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: NumberFormatDirective, decorators: [{
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NumberFormatDirective, decorators: [{
261
261
  type: Directive,
262
262
  args: [{
263
263
  selector: 'input[luNumberFormatInput]',
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-number-format.mjs","sources":["../../../packages/ng/number-format/number-format.models.ts","../../../packages/ng/number-format/number-format.ts","../../../packages/ng/number-format/number-format.pipe.ts","../../../packages/ng/number-format/number-format.directive.ts","../../../packages/ng/number-format/lucca-front-ng-number-format.ts"],"sourcesContent":["export type NumberFormatStyle = 'decimal' | 'currency' | 'percent' | 'unit';\n\nexport type NumberFormatUnit =\n\t| 'acre'\n\t| 'bit'\n\t| 'byte'\n\t| 'celsius'\n\t| 'centimeter'\n\t| 'day'\n\t| 'degree'\n\t| 'fahrenheit'\n\t| 'fluid-ounce'\n\t| 'foot'\n\t| 'gallon'\n\t| 'gigabit'\n\t| 'gigabyte'\n\t| 'gram'\n\t| 'hectare'\n\t| 'hour'\n\t| 'inch'\n\t| 'kilobit'\n\t| 'kilobyte'\n\t| 'kilogram'\n\t| 'kilometer'\n\t| 'liter'\n\t| 'megabit'\n\t| 'megabyte'\n\t| 'meter'\n\t| 'microsecond'\n\t| 'mile'\n\t| 'mile-scandinavian'\n\t| 'milliliter'\n\t| 'millimeter'\n\t| 'millisecond'\n\t| 'minute'\n\t| 'month'\n\t| 'nanosecond'\n\t| 'ounce'\n\t| 'percent'\n\t| 'petabyte'\n\t| 'pound'\n\t| 'second'\n\t| 'stone'\n\t| 'terabit'\n\t| 'terabyte'\n\t| 'week'\n\t| 'yard'\n\t| 'year';\n\nexport type NumberFormatUnitDisplay = 'short' | 'narrow' | 'long';\n\nexport type NumberFormatCurrencyDisplay = 'code' | 'symbol' | 'narrowSymbol' | 'name';\n\nexport interface NumberFormatOptions {\n\tlocale: string;\n\tmin?: number | undefined;\n\tmax?: number | undefined;\n\tstyle: NumberFormatStyle;\n\tcurrency?: string | undefined;\n\tcurrencyDisplay?: NumberFormatCurrencyDisplay | undefined;\n\tunit?: NumberFormatUnit | undefined;\n\tunitDisplay?: NumberFormatUnitDisplay | undefined;\n\tuseGrouping?: boolean | undefined;\n\tminimumIntegerDigits?: number | undefined;\n\tminimumFractionDigits?: number | undefined;\n\tmaximumFractionDigits?: number | undefined;\n\tminimumSignificantDigits?: number | undefined;\n\tmaximumSignificantDigits?: number | undefined;\n}\n\nexport interface NumberFormatSplittedInput {\n\tminusSign: string;\n\tinteger: string;\n\tdelimiter: string;\n\tfraction: string;\n}\n\nexport interface NumberFormatParsedInput {\n\tsplittedInput: NumberFormatSplittedInput;\n\tcleanInput: string;\n\tvalue: number | null;\n}\n\nexport function joinSplittedInput({ minusSign, integer, delimiter, fraction }: NumberFormatSplittedInput): string {\n\treturn `${minusSign}${integer}${delimiter}${fraction}`;\n}\n\nexport function canCastSplittedInputToNumber({ integer, fraction }: NumberFormatSplittedInput): boolean {\n\treturn integer !== '' || fraction !== '';\n}\n","import { canCastSplittedInputToNumber, joinSplittedInput, NumberFormatOptions, NumberFormatParsedInput, NumberFormatSplittedInput } from './number-format.models';\n\nconst VALUE_TYPES: Intl.NumberFormatPartTypes[] = ['integer', 'decimal', 'fraction', 'group', 'minusSign'];\n\nconst DIGIT_TYPES: Intl.NumberFormatPartTypes[] = ['integer', 'decimal', 'fraction'];\n\nconst SUFFIX_PREFIX_TYPES: Intl.NumberFormatPartTypes[] = ['percent', 'percentSign', 'currency', 'unit'];\n\nexport class NumberFormat {\n\treadonly locale: string;\n\treadonly min: number | undefined;\n\treadonly max: number | undefined;\n\treadonly options: Intl.NumberFormatOptions;\n\treadonly #focusIntlNumberFormat: Intl.NumberFormat;\n\treadonly #intlNumberFormat: Intl.NumberFormat;\n\n\tconstructor({ locale, min, max, ...options }: NumberFormatOptions) {\n\t\tthis.locale = locale;\n\t\tthis.min = min;\n\t\tthis.max = max;\n\t\tthis.options = this.#applyBoundariesToDigitOptions(options);\n\t\tthis.#intlNumberFormat = new Intl.NumberFormat(this.locale, this.options);\n\t\tthis.#focusIntlNumberFormat = new Intl.NumberFormat(this.locale, {\n\t\t\t...this.options,\n\t\t\tminimumFractionDigits: 0,\n\t\t});\n\t}\n\n\t#applyBoundariesToDigitOptions({\n\t\tstyle,\n\t\tminimumFractionDigits,\n\t\tmaximumFractionDigits,\n\t\tminimumIntegerDigits,\n\t\tminimumSignificantDigits,\n\t\tmaximumSignificantDigits,\n\t\t...options\n\t}: Intl.NumberFormatOptions): Intl.NumberFormatOptions {\n\t\tstyle = style ?? 'decimal';\n\t\tif (style !== 'currency') {\n\t\t\t// https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#minimumfractiondigits\n\t\t\tminimumFractionDigits = Math.min(Math.max(minimumFractionDigits ?? 0, 0), 20);\n\t\t\t// https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#maximumfractiondigits\n\t\t\tmaximumFractionDigits = Math.min(Math.max(maximumFractionDigits ?? 2, minimumFractionDigits), 20);\n\t\t\t// https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#maximumfractiondigits\n\t\t\tminimumIntegerDigits = Math.min(Math.max(minimumFractionDigits ?? 1, 1), 21);\n\t\t\t// https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#minimumsignificantdigits\n\t\t\tminimumSignificantDigits = Math.min(Math.max(minimumSignificantDigits ?? 1, 1), 21);\n\t\t\t// https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#maximumsignificantdigits\n\t\t\tmaximumSignificantDigits = Math.min(Math.max(maximumSignificantDigits ?? 21, minimumSignificantDigits), 21);\n\t\t}\n\t\treturn {\n\t\t\t...options,\n\t\t\tstyle,\n\t\t\tminimumFractionDigits,\n\t\t\tmaximumFractionDigits,\n\t\t\tminimumIntegerDigits,\n\t\t\tminimumSignificantDigits,\n\t\t\tmaximumSignificantDigits,\n\t\t};\n\t}\n\n\tgetSuffix(value: number | null): string | null {\n\t\tvalue = value ?? 1;\n\n\t\t// Parts after digits are suffix\n\t\tconst parts = this.#intlNumberFormat.formatToParts(value).reverse();\n\t\tconst indexOfFirstDigit = parts.findIndex((p) => DIGIT_TYPES.includes(p.type));\n\t\tconst indexOfFirstSuffix = parts.findIndex((p) => SUFFIX_PREFIX_TYPES.includes(p.type));\n\t\tif (indexOfFirstSuffix >= 0 && indexOfFirstSuffix < indexOfFirstDigit) {\n\t\t\treturn parts[indexOfFirstSuffix].value;\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetPrefix(value: number | null): string | null {\n\t\tvalue = value ?? 1;\n\n\t\t// Parts before digits are prefix\n\t\tconst parts = this.#intlNumberFormat.formatToParts(value);\n\t\tconst indexOfLastDigit = parts.findIndex((p) => DIGIT_TYPES.includes(p.type));\n\t\tconst indexOfLastSuffix = parts.findIndex((p) => SUFFIX_PREFIX_TYPES.includes(p.type));\n\t\tif (indexOfLastSuffix >= 0 && indexOfLastSuffix < indexOfLastDigit) {\n\t\t\treturn parts[indexOfLastSuffix].value;\n\t\t}\n\t\treturn null;\n\t}\n\n\tapplyRange(value: number | null): number | null {\n\t\tif (value === null) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.min !== undefined) {\n\t\t\tvalue = Math.max(this.min, value);\n\t\t}\n\t\tif (this.max !== undefined) {\n\t\t\tvalue = Math.min(this.max, value);\n\t\t}\n\t\treturn value;\n\t}\n\n\t#parseAndSplitInput(input: string): NumberFormatSplittedInput {\n\t\tlet minusSign = /^-/g.exec(input)?.[0] ?? '';\n\t\t// if minus sign has been input but range only allows positive values, remove it\n\t\tif (this.min >= 0) {\n\t\t\tminusSign = '';\n\t\t}\n\n\t\t// Add minus sign by default if range only allows negative values\n\t\tif (this.max < 0) {\n\t\t\tminusSign = '-';\n\t\t}\n\n\t\t// Keep only digits and decimal delimiter\n\t\tinput = input.replace(/[^.,0-9]/g, '');\n\n\t\t// Replace decimal delimiter ',' by '.' before casting string to number\n\t\tinput = input.replace(/,/g, '.');\n\n\t\tconst parts = input.split('.');\n\t\tconst integer = parts[0];\n\t\tconst fraction = parts\n\t\t\t.slice(1)\n\t\t\t.join('')\n\t\t\t//ignore digits above maximumFractionDigits\n\t\t\t.slice(0, this.options.maximumFractionDigits ?? 2);\n\t\tconst delimiter = parts.length > 1 ? '.' : '';\n\n\t\tconst splittedInput: NumberFormatSplittedInput = {\n\t\t\tminusSign,\n\t\t\tinteger,\n\t\t\tdelimiter,\n\t\t\tfraction,\n\t\t};\n\n\t\t// cast input in number only if it has integer or fraction\n\t\tif (canCastSplittedInputToNumber(splittedInput)) {\n\t\t\tlet value = +joinSplittedInput(splittedInput);\n\t\t\tif (this.options.style === 'percent') {\n\t\t\t\tvalue /= 100;\n\t\t\t\tvalue = +value.toFixed(this.options.maximumFractionDigits + 2);\n\t\t\t}\n\n\t\t\t// if value is not in range, fix it and split again !\n\t\t\tconst valueInRange = this.applyRange(value);\n\t\t\tif (value !== valueInRange) {\n\t\t\t\treturn this.#parseAndSplitInput(this.getFocusFormat(valueInRange));\n\t\t\t}\n\t\t}\n\t\treturn splittedInput;\n\t}\n\n\tparse(input: string): NumberFormatParsedInput {\n\t\tconst splittedInput = this.#parseAndSplitInput(input);\n\t\tconst cleanInput = joinSplittedInput(splittedInput);\n\t\tlet value: number | null = null;\n\n\t\tif (canCastSplittedInputToNumber(splittedInput)) {\n\t\t\tvalue = +joinSplittedInput(splittedInput);\n\t\t\tif (this.options.style === 'percent') {\n\t\t\t\tvalue /= 100;\n\t\t\t\tvalue = +value.toFixed(this.options.maximumFractionDigits + 2);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tsplittedInput,\n\t\t\tcleanInput,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\tformat(value: number | null): string {\n\t\tif (value === null) {\n\t\t\treturn '';\n\t\t}\n\t\treturn this.#intlNumberFormat.format(value);\n\t}\n\n\tgetFocusFormat(value: number | undefined | null): string {\n\t\tif (value === null || value === undefined || isNaN(value)) {\n\t\t\t// Add minus sign by default if range only allows negative values\n\t\t\treturn this.max < 0 ? '-' : '';\n\t\t}\n\t\tconst parts = this.#focusIntlNumberFormat.formatToParts(value);\n\t\tconst minusSign = parts.find((p) => p.type === 'minusSign')?.value ?? '';\n\t\tconst integerPart = parts\n\t\t\t.filter((p) => p.type === 'integer')\n\t\t\t.map((p) => p.value)\n\t\t\t.join('');\n\t\tconst decimal = parts.find((p) => p.type === 'decimal') ? '.' : '';\n\t\tconst fractionPart = parts\n\t\t\t.filter((p) => p.type === 'fraction')\n\t\t\t.map((p) => p.value)\n\t\t\t.join('');\n\n\t\treturn `${minusSign}${integerPart}${decimal}${fractionPart}`;\n\t}\n\n\tgetBlurFormat(value: number | undefined | null): string {\n\t\tif (value === null || value === undefined) {\n\t\t\treturn '';\n\t\t}\n\t\treturn this.#intlNumberFormat\n\t\t\t.formatToParts(value)\n\t\t\t.filter((p) => VALUE_TYPES.includes(p.type))\n\t\t\t.map((p) => {\n\t\t\t\tif (p.type === 'minusSign') {\n\t\t\t\t\treturn '−';\n\t\t\t\t}\n\t\t\t\treturn p.value;\n\t\t\t})\n\t\t\t.join('');\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { NumberFormat } from './number-format';\nimport { NumberFormatOptions } from './number-format.models';\n\n@Pipe({\n\tname: 'luNumberFormat',\n})\nexport class LuFormatNumberPipe implements PipeTransform {\n\ttransform(value: number, options: NumberFormatOptions) {\n\t\treturn new NumberFormat(options).format(value);\n\t}\n}\n","// Based on Intl number input\n// (more info: https://dm4t2.github.io/)\n\nimport { computed, Directive, ElementRef, forwardRef, HostListener, inject, input, Renderer2, signal } from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NumberFormat } from './number-format';\nimport { NumberFormatOptions } from './number-format.models';\n\n@Directive({\n\tselector: 'input[luNumberFormatInput]',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => NumberFormatDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class NumberFormatDirective implements ControlValueAccessor {\n\treadonly #inputElement = inject<ElementRef<HTMLInputElement>>(ElementRef<HTMLInputElement>).nativeElement;\n\treadonly #renderer = inject(Renderer2);\n\n\t#value = signal<number | undefined | null>(null);\n\t#isFocused = signal<boolean>(false);\n\n\tformatOptions = input.required<NumberFormatOptions>();\n\t#numberFormat = computed(() => {\n\t\treturn new NumberFormat(this.formatOptions());\n\t});\n\n\tonChange: (_value: number | undefined | null) => void = () => {};\n\n\tonTouched: () => void = (): void => {};\n\n\twriteValue(value: number | undefined | null): void {\n\t\tvalue = this.#numberFormat().applyRange(value);\n\t\tthis.#value.set(value);\n\t\tthis.#inputElement.value = this.#isFocused() ? this.#numberFormat().getFocusFormat(value) : this.#numberFormat().getBlurFormat(value);\n\t}\n\n\tregisterOnChange(fn: (_value: number | undefined | null) => void): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.#renderer.setProperty(this.#inputElement, 'disabled', isDisabled);\n\t}\n\t@HostListener('focus') focus(): void {\n\t\tthis.#isFocused.set(true);\n\t\tthis.#inputElement.value = this.#numberFormat().getFocusFormat(this.#value());\n\t}\n\n\t@HostListener('blur') lostFocus(): void {\n\t\tthis.#isFocused.set(false);\n\t\tthis.#inputElement.value = this.#numberFormat().getBlurFormat(this.#value());\n\t\tthis.onTouched();\n\t}\n\n\t@HostListener('input') input(): void {\n\t\tconst parsedInput = this.#numberFormat().parse(this.#inputElement.value);\n\n\t\tthis.#inputElement.value = parsedInput.cleanInput;\n\n\t\tthis.#value.set(parsedInput.value);\n\n\t\tthis.onChange?.(parsedInput.value);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-number-format.mjs","sources":["../../../packages/ng/number-format/number-format.models.ts","../../../packages/ng/number-format/number-format.ts","../../../packages/ng/number-format/number-format.pipe.ts","../../../packages/ng/number-format/number-format.directive.ts","../../../packages/ng/number-format/lucca-front-ng-number-format.ts"],"sourcesContent":["export type NumberFormatStyle = 'decimal' | 'currency' | 'percent' | 'unit';\n\nexport type NumberFormatUnit =\n\t| 'acre'\n\t| 'bit'\n\t| 'byte'\n\t| 'celsius'\n\t| 'centimeter'\n\t| 'day'\n\t| 'degree'\n\t| 'fahrenheit'\n\t| 'fluid-ounce'\n\t| 'foot'\n\t| 'gallon'\n\t| 'gigabit'\n\t| 'gigabyte'\n\t| 'gram'\n\t| 'hectare'\n\t| 'hour'\n\t| 'inch'\n\t| 'kilobit'\n\t| 'kilobyte'\n\t| 'kilogram'\n\t| 'kilometer'\n\t| 'liter'\n\t| 'megabit'\n\t| 'megabyte'\n\t| 'meter'\n\t| 'microsecond'\n\t| 'mile'\n\t| 'mile-scandinavian'\n\t| 'milliliter'\n\t| 'millimeter'\n\t| 'millisecond'\n\t| 'minute'\n\t| 'month'\n\t| 'nanosecond'\n\t| 'ounce'\n\t| 'percent'\n\t| 'petabyte'\n\t| 'pound'\n\t| 'second'\n\t| 'stone'\n\t| 'terabit'\n\t| 'terabyte'\n\t| 'week'\n\t| 'yard'\n\t| 'year';\n\nexport type NumberFormatUnitDisplay = 'short' | 'narrow' | 'long';\n\nexport type NumberFormatCurrencyDisplay = 'code' | 'symbol' | 'narrowSymbol' | 'name';\n\nexport interface NumberFormatOptions {\n\tlocale: string;\n\tmin?: number | undefined;\n\tmax?: number | undefined;\n\tstyle: NumberFormatStyle;\n\tcurrency?: string | undefined;\n\tcurrencyDisplay?: NumberFormatCurrencyDisplay | undefined;\n\tunit?: NumberFormatUnit | undefined;\n\tunitDisplay?: NumberFormatUnitDisplay | undefined;\n\tuseGrouping?: boolean | undefined;\n\tminimumIntegerDigits?: number | undefined;\n\tminimumFractionDigits?: number | undefined;\n\tmaximumFractionDigits?: number | undefined;\n\tminimumSignificantDigits?: number | undefined;\n\tmaximumSignificantDigits?: number | undefined;\n}\n\nexport interface NumberFormatSplittedInput {\n\tminusSign: string;\n\tinteger: string;\n\tdelimiter: string;\n\tfraction: string;\n}\n\nexport interface NumberFormatParsedInput {\n\tsplittedInput: NumberFormatSplittedInput;\n\tcleanInput: string;\n\tvalue: number | null;\n}\n\nexport function joinSplittedInput({ minusSign, integer, delimiter, fraction }: NumberFormatSplittedInput): string {\n\treturn `${minusSign}${integer}${delimiter}${fraction}`;\n}\n\nexport function canCastSplittedInputToNumber({ integer, fraction }: NumberFormatSplittedInput): boolean {\n\treturn integer !== '' || fraction !== '';\n}\n","import { canCastSplittedInputToNumber, joinSplittedInput, NumberFormatOptions, NumberFormatParsedInput, NumberFormatSplittedInput } from './number-format.models';\n\nconst VALUE_TYPES: Intl.NumberFormatPartTypes[] = ['integer', 'decimal', 'fraction', 'group', 'minusSign'];\n\nconst DIGIT_TYPES: Intl.NumberFormatPartTypes[] = ['integer', 'decimal', 'fraction'];\n\nconst SUFFIX_PREFIX_TYPES: Intl.NumberFormatPartTypes[] = ['percent', 'percentSign', 'currency', 'unit'];\n\nexport class NumberFormat {\n\treadonly locale: string;\n\treadonly min: number | undefined;\n\treadonly max: number | undefined;\n\treadonly options: Intl.NumberFormatOptions;\n\treadonly #focusIntlNumberFormat: Intl.NumberFormat;\n\treadonly #intlNumberFormat: Intl.NumberFormat;\n\n\tconstructor({ locale, min, max, ...options }: NumberFormatOptions) {\n\t\tthis.locale = locale;\n\t\tthis.min = min;\n\t\tthis.max = max;\n\t\tthis.options = this.#applyBoundariesToDigitOptions(options);\n\t\tthis.#intlNumberFormat = new Intl.NumberFormat(this.locale, this.options);\n\t\tthis.#focusIntlNumberFormat = new Intl.NumberFormat(this.locale, {\n\t\t\t...this.options,\n\t\t\tminimumFractionDigits: 0,\n\t\t});\n\t}\n\n\t#applyBoundariesToDigitOptions({\n\t\tstyle,\n\t\tminimumFractionDigits,\n\t\tmaximumFractionDigits,\n\t\tminimumIntegerDigits,\n\t\tminimumSignificantDigits,\n\t\tmaximumSignificantDigits,\n\t\t...options\n\t}: Intl.NumberFormatOptions): Intl.NumberFormatOptions {\n\t\tstyle = style ?? 'decimal';\n\t\tif (style !== 'currency') {\n\t\t\t// https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#minimumfractiondigits\n\t\t\tminimumFractionDigits = Math.min(Math.max(minimumFractionDigits ?? 0, 0), 20);\n\t\t\t// https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#maximumfractiondigits\n\t\t\tmaximumFractionDigits = Math.min(Math.max(maximumFractionDigits ?? 2, minimumFractionDigits), 20);\n\t\t\t// https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#maximumfractiondigits\n\t\t\tminimumIntegerDigits = Math.min(Math.max(minimumFractionDigits ?? 1, 1), 21);\n\t\t\t// https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#minimumsignificantdigits\n\t\t\tminimumSignificantDigits = Math.min(Math.max(minimumSignificantDigits ?? 1, 1), 21);\n\t\t\t// https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#maximumsignificantdigits\n\t\t\tmaximumSignificantDigits = Math.min(Math.max(maximumSignificantDigits ?? 21, minimumSignificantDigits), 21);\n\t\t}\n\t\treturn {\n\t\t\t...options,\n\t\t\tstyle,\n\t\t\tminimumFractionDigits,\n\t\t\tmaximumFractionDigits,\n\t\t\tminimumIntegerDigits,\n\t\t\tminimumSignificantDigits,\n\t\t\tmaximumSignificantDigits,\n\t\t};\n\t}\n\n\tgetSuffix(value: number | null): string | null {\n\t\tvalue = value ?? 1;\n\n\t\t// Parts after digits are suffix\n\t\tconst parts = this.#intlNumberFormat.formatToParts(value).reverse();\n\t\tconst indexOfFirstDigit = parts.findIndex((p) => DIGIT_TYPES.includes(p.type));\n\t\tconst indexOfFirstSuffix = parts.findIndex((p) => SUFFIX_PREFIX_TYPES.includes(p.type));\n\t\tif (indexOfFirstSuffix >= 0 && indexOfFirstSuffix < indexOfFirstDigit) {\n\t\t\treturn parts[indexOfFirstSuffix].value;\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetPrefix(value: number | null): string | null {\n\t\tvalue = value ?? 1;\n\n\t\t// Parts before digits are prefix\n\t\tconst parts = this.#intlNumberFormat.formatToParts(value);\n\t\tconst indexOfLastDigit = parts.findIndex((p) => DIGIT_TYPES.includes(p.type));\n\t\tconst indexOfLastSuffix = parts.findIndex((p) => SUFFIX_PREFIX_TYPES.includes(p.type));\n\t\tif (indexOfLastSuffix >= 0 && indexOfLastSuffix < indexOfLastDigit) {\n\t\t\treturn parts[indexOfLastSuffix].value;\n\t\t}\n\t\treturn null;\n\t}\n\n\tapplyRange(value: number | null): number | null {\n\t\tif (value === null) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.min !== undefined) {\n\t\t\tvalue = Math.max(this.min, value);\n\t\t}\n\t\tif (this.max !== undefined) {\n\t\t\tvalue = Math.min(this.max, value);\n\t\t}\n\t\treturn value;\n\t}\n\n\t#parseAndSplitInput(input: string): NumberFormatSplittedInput {\n\t\tlet minusSign = /^-/g.exec(input)?.[0] ?? '';\n\t\t// if minus sign has been input but range only allows positive values, remove it\n\t\tif (this.min >= 0) {\n\t\t\tminusSign = '';\n\t\t}\n\n\t\t// Add minus sign by default if range only allows negative values\n\t\tif (this.max < 0) {\n\t\t\tminusSign = '-';\n\t\t}\n\n\t\t// Keep only digits and decimal delimiter\n\t\tinput = input.replace(/[^.,0-9]/g, '');\n\n\t\t// Replace decimal delimiter ',' by '.' before casting string to number\n\t\tinput = input.replace(/,/g, '.');\n\n\t\tconst parts = input.split('.');\n\t\tconst integer = parts[0];\n\t\tconst fraction = parts\n\t\t\t.slice(1)\n\t\t\t.join('')\n\t\t\t//ignore digits above maximumFractionDigits\n\t\t\t.slice(0, this.options.maximumFractionDigits ?? 2);\n\t\tconst delimiter = parts.length > 1 ? '.' : '';\n\n\t\tconst splittedInput: NumberFormatSplittedInput = {\n\t\t\tminusSign,\n\t\t\tinteger,\n\t\t\tdelimiter,\n\t\t\tfraction,\n\t\t};\n\n\t\t// cast input in number only if it has integer or fraction\n\t\tif (canCastSplittedInputToNumber(splittedInput)) {\n\t\t\tlet value = +joinSplittedInput(splittedInput);\n\t\t\tif (this.options.style === 'percent') {\n\t\t\t\tvalue /= 100;\n\t\t\t\tvalue = +value.toFixed(this.options.maximumFractionDigits + 2);\n\t\t\t}\n\n\t\t\t// if value is not in range, fix it and split again !\n\t\t\tconst valueInRange = this.applyRange(value);\n\t\t\tif (value !== valueInRange) {\n\t\t\t\treturn this.#parseAndSplitInput(this.getFocusFormat(valueInRange));\n\t\t\t}\n\t\t}\n\t\treturn splittedInput;\n\t}\n\n\tparse(input: string): NumberFormatParsedInput {\n\t\tconst splittedInput = this.#parseAndSplitInput(input);\n\t\tconst cleanInput = joinSplittedInput(splittedInput);\n\t\tlet value: number | null = null;\n\n\t\tif (canCastSplittedInputToNumber(splittedInput)) {\n\t\t\tvalue = +joinSplittedInput(splittedInput);\n\t\t\tif (this.options.style === 'percent') {\n\t\t\t\tvalue /= 100;\n\t\t\t\tvalue = +value.toFixed(this.options.maximumFractionDigits + 2);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tsplittedInput,\n\t\t\tcleanInput,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\tformat(value: number | null): string {\n\t\tif (value === null) {\n\t\t\treturn '';\n\t\t}\n\t\treturn this.#intlNumberFormat.format(value);\n\t}\n\n\tgetFocusFormat(value: number | undefined | null): string {\n\t\tif (value === null || value === undefined || isNaN(value)) {\n\t\t\t// Add minus sign by default if range only allows negative values\n\t\t\treturn this.max < 0 ? '-' : '';\n\t\t}\n\t\tconst parts = this.#focusIntlNumberFormat.formatToParts(value);\n\t\tconst minusSign = parts.find((p) => p.type === 'minusSign')?.value ?? '';\n\t\tconst integerPart = parts\n\t\t\t.filter((p) => p.type === 'integer')\n\t\t\t.map((p) => p.value)\n\t\t\t.join('');\n\t\tconst decimal = parts.find((p) => p.type === 'decimal') ? '.' : '';\n\t\tconst fractionPart = parts\n\t\t\t.filter((p) => p.type === 'fraction')\n\t\t\t.map((p) => p.value)\n\t\t\t.join('');\n\n\t\treturn `${minusSign}${integerPart}${decimal}${fractionPart}`;\n\t}\n\n\tgetBlurFormat(value: number | undefined | null): string {\n\t\tif (value === null || value === undefined) {\n\t\t\treturn '';\n\t\t}\n\t\treturn this.#intlNumberFormat\n\t\t\t.formatToParts(value)\n\t\t\t.filter((p) => VALUE_TYPES.includes(p.type))\n\t\t\t.map((p) => {\n\t\t\t\tif (p.type === 'minusSign') {\n\t\t\t\t\treturn '−';\n\t\t\t\t}\n\t\t\t\treturn p.value;\n\t\t\t})\n\t\t\t.join('');\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { NumberFormat } from './number-format';\nimport { NumberFormatOptions } from './number-format.models';\n\n@Pipe({\n\tname: 'luNumberFormat',\n})\nexport class LuFormatNumberPipe implements PipeTransform {\n\ttransform(value: number, options: NumberFormatOptions) {\n\t\treturn new NumberFormat(options).format(value);\n\t}\n}\n","// Based on Intl number input\n// (more info: https://dm4t2.github.io/)\n\nimport { computed, Directive, ElementRef, forwardRef, HostListener, inject, input, Renderer2, signal } from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NumberFormat } from './number-format';\nimport { NumberFormatOptions } from './number-format.models';\n\n@Directive({\n\tselector: 'input[luNumberFormatInput]',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => NumberFormatDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class NumberFormatDirective implements ControlValueAccessor {\n\treadonly #inputElement = inject<ElementRef<HTMLInputElement>>(ElementRef<HTMLInputElement>).nativeElement;\n\treadonly #renderer = inject(Renderer2);\n\n\t#value = signal<number | undefined | null>(null);\n\t#isFocused = signal<boolean>(false);\n\n\tformatOptions = input.required<NumberFormatOptions>();\n\t#numberFormat = computed(() => {\n\t\treturn new NumberFormat(this.formatOptions());\n\t});\n\n\tonChange: (_value: number | undefined | null) => void = () => {};\n\n\tonTouched: () => void = (): void => {};\n\n\twriteValue(value: number | undefined | null): void {\n\t\tvalue = this.#numberFormat().applyRange(value);\n\t\tthis.#value.set(value);\n\t\tthis.#inputElement.value = this.#isFocused() ? this.#numberFormat().getFocusFormat(value) : this.#numberFormat().getBlurFormat(value);\n\t}\n\n\tregisterOnChange(fn: (_value: number | undefined | null) => void): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.#renderer.setProperty(this.#inputElement, 'disabled', isDisabled);\n\t}\n\t@HostListener('focus') focus(): void {\n\t\tthis.#isFocused.set(true);\n\t\tthis.#inputElement.value = this.#numberFormat().getFocusFormat(this.#value());\n\t}\n\n\t@HostListener('blur') lostFocus(): void {\n\t\tthis.#isFocused.set(false);\n\t\tthis.#inputElement.value = this.#numberFormat().getBlurFormat(this.#value());\n\t\tthis.onTouched();\n\t}\n\n\t@HostListener('input') input(): void {\n\t\tconst parsedInput = this.#numberFormat().parse(this.#inputElement.value);\n\n\t\tthis.#inputElement.value = parsedInput.cleanInput;\n\n\t\tthis.#value.set(parsedInput.value);\n\n\t\tthis.onChange?.(parsedInput.value);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -19,10 +19,10 @@ class LuNumberPipe {
19
19
  return integral;
20
20
  }
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuNumberPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
23
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: LuNumberPipe, isStandalone: true, name: "luNumber" }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuNumberPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
23
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.14", ngImport: i0, type: LuNumberPipe, isStandalone: true, name: "luNumber" }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuNumberPipe, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuNumberPipe, decorators: [{
26
26
  type: Pipe,
27
27
  args: [{
28
28
  name: 'luNumber',
@@ -37,11 +37,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
37
37
  * @deprecated use `LuNumberPipe` instead
38
38
  */
39
39
  class LuNumberModule {
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
41
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: LuNumberModule, imports: [LuNumberPipe], exports: [LuNumberPipe] }); }
42
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuNumberModule }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
41
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.14", ngImport: i0, type: LuNumberModule, imports: [LuNumberPipe], exports: [LuNumberPipe] }); }
42
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuNumberModule }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuNumberModule, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuNumberModule, decorators: [{
45
45
  type: NgModule,
46
46
  args: [{
47
47
  imports: [LuNumberPipe],
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-number.mjs","sources":["../../../packages/ng/number/number.pipe.ts","../../../packages/ng/number/number.module.ts","../../../packages/ng/number/lucca-front-ng-number.ts"],"sourcesContent":["import { formatNumber, getLocaleNumberSymbol, NumberSymbol } from '@angular/common';\nimport { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'luNumber',\n\tpure: true,\n})\nexport class LuNumberPipe implements PipeTransform {\n\tconstructor(@Inject(LOCALE_ID) protected locale: string) {}\n\ttransform(number: number, precision = 2) {\n\t\tconst formatted = formatNumber(number, this.locale, `1.${precision}-${precision}`);\n\t\tconst separator = getLocaleNumberSymbol(this.locale, NumberSymbol.Decimal);\n\t\tconst split = formatted.split(separator);\n\t\tconst integral = split[0];\n\t\tconst decimal = split[1];\n\n\t\tif (precision > 0) {\n\t\t\treturn `${integral}${separator}${decimal}`;\n\t\t} else {\n\t\t\treturn integral;\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuNumberPipe } from './number.pipe';\n\n/**\n * @deprecated use `LuNumberPipe` instead\n */\n@NgModule({\n\timports: [LuNumberPipe],\n\texports: [LuNumberPipe],\n})\nexport class LuNumberModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAOa,YAAY,CAAA;AACxB,IAAA,WAAA,CAAyC,MAAc,EAAA;QAAd,IAAA,CAAA,MAAM,GAAN,MAAM;IAAW;AAC1D,IAAA,SAAS,CAAC,MAAc,EAAE,SAAS,GAAG,CAAC,EAAA;AACtC,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,SAAS,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,CAAC;AAClF,QAAA,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC1E,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;AACxC,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;AAExB,QAAA,IAAI,SAAS,GAAG,CAAC,EAAE;AAClB,YAAA,OAAO,GAAG,QAAQ,CAAA,EAAG,SAAS,CAAA,EAAG,OAAO,EAAE;QAC3C;aAAO;AACN,YAAA,OAAO,QAAQ;QAChB;IACD;AAdY,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBACJ,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GADjB,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,IAAI,EAAE,IAAI;AACV,iBAAA;;0BAEa,MAAM;2BAAC,SAAS;;;ACL9B;;AAEG;MAKU,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,OAAA,EAAA,CAHhB,YAAY,CAAA,EAAA,OAAA,EAAA,CACZ,YAAY,CAAA,EAAA,CAAA,CAAA;+GAEV,cAAc,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,iBAAA;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-number.mjs","sources":["../../../packages/ng/number/number.pipe.ts","../../../packages/ng/number/number.module.ts","../../../packages/ng/number/lucca-front-ng-number.ts"],"sourcesContent":["import { formatNumber, getLocaleNumberSymbol, NumberSymbol } from '@angular/common';\nimport { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'luNumber',\n\tpure: true,\n})\nexport class LuNumberPipe implements PipeTransform {\n\tconstructor(@Inject(LOCALE_ID) protected locale: string) {}\n\ttransform(number: number, precision = 2) {\n\t\tconst formatted = formatNumber(number, this.locale, `1.${precision}-${precision}`);\n\t\tconst separator = getLocaleNumberSymbol(this.locale, NumberSymbol.Decimal);\n\t\tconst split = formatted.split(separator);\n\t\tconst integral = split[0];\n\t\tconst decimal = split[1];\n\n\t\tif (precision > 0) {\n\t\t\treturn `${integral}${separator}${decimal}`;\n\t\t} else {\n\t\t\treturn integral;\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuNumberPipe } from './number.pipe';\n\n/**\n * @deprecated use `LuNumberPipe` instead\n */\n@NgModule({\n\timports: [LuNumberPipe],\n\texports: [LuNumberPipe],\n})\nexport class LuNumberModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAOa,YAAY,CAAA;AACxB,IAAA,WAAA,CAAyC,MAAc,EAAA;QAAd,IAAA,CAAA,MAAM,GAAN,MAAM;IAAW;AAC1D,IAAA,SAAS,CAAC,MAAc,EAAE,SAAS,GAAG,CAAC,EAAA;AACtC,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,SAAS,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,CAAC;AAClF,QAAA,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC1E,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;AACxC,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;AAExB,QAAA,IAAI,SAAS,GAAG,CAAC,EAAE;AAClB,YAAA,OAAO,GAAG,QAAQ,CAAA,EAAG,SAAS,CAAA,EAAG,OAAO,EAAE;QAC3C;aAAO;AACN,YAAA,OAAO,QAAQ;QAChB;IACD;AAdY,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBACJ,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GADjB,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,IAAI,EAAE,IAAI;AACV,iBAAA;;0BAEa,MAAM;2BAAC,SAAS;;;ACL9B;;AAEG;MAKU,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAd,cAAc,EAAA,OAAA,EAAA,CAHhB,YAAY,CAAA,EAAA,OAAA,EAAA,CACZ,YAAY,CAAA,EAAA,CAAA,CAAA;gHAEV,cAAc,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,iBAAA;;;ACTD;;AAEG;;;;"}
@@ -11,32 +11,32 @@ class NumericBadgeComponent {
11
11
  /**
12
12
  * The value to display, number or string contains number only.
13
13
  */
14
- this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
14
+ this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
15
15
  /**
16
16
  * The size of the badge
17
17
  */
18
- this.size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
18
+ this.size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
19
19
  /**
20
20
  * The palette to use for this badge. Defaults to 'none' (inherits parent palette)
21
21
  */
22
- this.palette = input('none', ...(ngDevMode ? [{ debugName: "palette" }] : []));
22
+ this.palette = input('none', ...(ngDevMode ? [{ debugName: "palette" }] : /* istanbul ignore next */ []));
23
23
  /**
24
24
  * Applies the loading state
25
25
  */
26
- this.loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), transform: booleanAttribute });
26
+ this.loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
27
27
  /**
28
28
  * Indicates the maximum value of number for the numeric badge
29
29
  */
30
- this.maxValue = input(999, ...(ngDevMode ? [{ debugName: "maxValue" }] : []));
30
+ this.maxValue = input(999, ...(ngDevMode ? [{ debugName: "maxValue" }] : /* istanbul ignore next */ []));
31
31
  /**
32
32
  * Disabled tooltip on numeric badge
33
33
  */
34
- this.disableTooltip = input(false, { ...(ngDevMode ? { debugName: "disableTooltip" } : {}), transform: booleanAttribute });
34
+ this.disableTooltip = input(false, { ...(ngDevMode ? { debugName: "disableTooltip" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
35
35
  this.numericBadgeClasses = computed(() => {
36
36
  const palette = this.palette();
37
37
  const size = this.size();
38
38
  return { [`palette-${palette}`]: !!palette, [`mod-${size}`]: !!size };
39
- }, ...(ngDevMode ? [{ debugName: "numericBadgeClasses" }] : []));
39
+ }, ...(ngDevMode ? [{ debugName: "numericBadgeClasses" }] : /* istanbul ignore next */ []));
40
40
  this.displayValue = computed(() => {
41
41
  const value = this.value();
42
42
  const maxValue = this.maxValue();
@@ -46,21 +46,21 @@ class NumericBadgeComponent {
46
46
  else {
47
47
  return value;
48
48
  }
49
- }, ...(ngDevMode ? [{ debugName: "displayValue" }] : []));
49
+ }, ...(ngDevMode ? [{ debugName: "displayValue" }] : /* istanbul ignore next */ []));
50
50
  this.isDisabled = computed(() => {
51
51
  const value = this.value();
52
52
  return this.disableTooltip() || typeof value !== 'number' || this.loading() || this.maxValue() >= +value;
53
- }, ...(ngDevMode ? [{ debugName: "isDisabled" }] : []));
53
+ }, ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
54
54
  _effectWithDeps([this.numericBadgeClasses], (numericBadgeClasses) => {
55
55
  if (numericBadgeClasses) {
56
56
  this.#luClass.setState(numericBadgeClasses);
57
57
  }
58
58
  });
59
59
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: NumericBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: NumericBadgeComponent, isStandalone: true, selector: "lu-numeric-badge", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, disableTooltip: { classPropertyName: "disableTooltip", publicName: "disableTooltip", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-loading": "loading()", "attr.aria-hidden": "loading()" }, classAttribute: "numericBadge" }, providers: [LuClass], ngImport: i0, template: "<span class=\"numericBadge-value\" [luTooltip]=\"value()\" [luTooltipDisabled]=\"isDisabled()\">{{ displayValue() }}</span>\n", styles: ["@charset \"UTF-8\";@layer components{.numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-neutral-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-neutral-700));--components-numericBadge-loadingColor: var(--palettes-500, var(--palettes-neutral-500));--components-numericBadge-size: 1.5rem;--components-numericBadge-font: var(--pr-t-font-body-S);--components-numericBadge-borderRadius: var(--pr-t-border-radius-default);--components-numericBadge-fontSize: var(--pr-t-font-body-S-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-S-lineHeight);display:inline-flex;align-items:center;justify-content:center;block-size:var(--components-numericBadge-size);min-inline-size:var(--components-numericBadge-size);padding:var(--pr-t-spacings-50);font:var(--components-numericBadge-font);font-size:var(--components-numericBadge-fontSize);line-height:var(--components-numericBadge-lineHeight);font-weight:var(--pr-t-font-fontWeight-semibold);background-color:var(--components-numericBadge-background);color:var(--components-numericBadge-color);border-radius:var(--components-numericBadge-borderRadius);transition-timing-function:ease;white-space:nowrap;position:relative;transition-duration:var(--commons-animations-durations-fast);transition-property:color}.numericBadge:empty:before{content:\"\\a0\"/\"\"}.numericBadge-value{outline:none}}@layer mods{.numericBadge.mod-S{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.numericBadge.mod-XS{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.numericBadge.is-loading{--commons-loading-frontground: var(--components-numericBadge-loadingColor);--commons-loading-borderWidth: 2px;--components-numericBadge-color: transparent}.numericBadge.is-loading:after{content:\"\";inline-size:calc(var(--components-numericBadge-size) - var(--pr-t-spacings-100));block-size:calc(var(--components-numericBadge-size) - var(--pr-t-spacings-100));border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.numericBadge.is-loading.mod-S{--commons-loading-borderWidth: 1.5px}.numericBadge.is-loading.mod-XS{--commons-loading-borderWidth: 1px}.numericBadge:focus-within{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}}@layer base{lu-numeric-badge{display:inline-flex}}\n"], dependencies: [{ kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NumericBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: NumericBadgeComponent, isStandalone: true, selector: "lu-numeric-badge", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, disableTooltip: { classPropertyName: "disableTooltip", publicName: "disableTooltip", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-loading": "loading()", "attr.aria-hidden": "loading()" }, classAttribute: "numericBadge" }, providers: [LuClass], ngImport: i0, template: "<span class=\"numericBadge-value\" [luTooltip]=\"value()\" [luTooltipDisabled]=\"isDisabled()\">{{ displayValue() }}</span>\n", styles: ["@charset \"UTF-8\";@layer components{.numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-neutral-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-neutral-700));--components-numericBadge-loadingColor: var(--palettes-500, var(--palettes-neutral-500));--components-numericBadge-size: 1.5rem;--components-numericBadge-font: var(--pr-t-font-body-S);--components-numericBadge-borderRadius: var(--pr-t-border-radius-default);--components-numericBadge-fontSize: var(--pr-t-font-body-S-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-S-lineHeight);display:inline-flex;align-items:center;justify-content:center;block-size:var(--components-numericBadge-size);min-inline-size:var(--components-numericBadge-size);padding:var(--pr-t-spacings-50);font:var(--components-numericBadge-font);font-size:var(--components-numericBadge-fontSize);line-height:var(--components-numericBadge-lineHeight);font-weight:var(--pr-t-font-fontWeight-semibold);background-color:var(--components-numericBadge-background);color:var(--components-numericBadge-color);border-radius:var(--components-numericBadge-borderRadius);transition-timing-function:ease;white-space:nowrap;position:relative;transition-duration:var(--commons-animations-durations-fast);transition-property:color}.numericBadge:empty:before{content:\"\\a0\"/\"\"}.numericBadge-value{outline:none}}@layer mods{.numericBadge.mod-S{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.numericBadge.mod-XS{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.numericBadge.is-loading{--commons-loading-frontground: var(--components-numericBadge-loadingColor);--commons-loading-borderWidth: 2px;--components-numericBadge-color: transparent}.numericBadge.is-loading:after{content:\"\";inline-size:calc(var(--components-numericBadge-size) - var(--pr-t-spacings-100));block-size:calc(var(--components-numericBadge-size) - var(--pr-t-spacings-100));border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.numericBadge.is-loading.mod-S{--commons-loading-borderWidth: 1.5px}.numericBadge.is-loading.mod-XS{--commons-loading-borderWidth: 1px}.numericBadge:focus-within{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}}@layer base{lu-numeric-badge{display:inline-flex}}\n"], dependencies: [{ kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: NumericBadgeComponent, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NumericBadgeComponent, decorators: [{
64
64
  type: Component,
65
65
  args: [{ selector: 'lu-numeric-badge', changeDetection: ChangeDetectionStrategy.OnPush, imports: [LuTooltipModule], providers: [LuClass], host: {
66
66
  class: 'numericBadge',
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-numeric-badge.mjs","sources":["../../../packages/ng/numeric-badge/numeric-badge.component.ts","../../../packages/ng/numeric-badge/numeric-badge.component.html","../../../packages/ng/numeric-badge/lucca-front-ng-numeric-badge.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\n\n@Component({\n\tselector: 'lu-numeric-badge',\n\ttemplateUrl: './numeric-badge.component.html',\n\tstyleUrl: './numeric-badge.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [LuTooltipModule],\n\tproviders: [LuClass],\n\thost: {\n\t\tclass: 'numericBadge',\n\t\t'[class.is-loading]': 'loading()',\n\t\t'[attr.aria-hidden]': 'loading()',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class NumericBadgeComponent {\n\t#luClass = inject(LuClass);\n\n\t/**\n\t * The value to display, number or string contains number only.\n\t */\n\treadonly value = input.required<number | string>();\n\n\t/**\n\t * The size of the badge\n\t */\n\treadonly size = input<'XS' | 'S' | 'M'>();\n\n\t/**\n\t * The palette to use for this badge. Defaults to 'none' (inherits parent palette)\n\t */\n\treadonly palette = input<Palette>('none');\n\n\t/**\n\t * Applies the loading state\n\t */\n\treadonly loading = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Indicates the maximum value of number for the numeric badge\n\t */\n\treadonly maxValue = input<number>(999);\n\n\t/**\n\t * Disabled tooltip on numeric badge\n\t */\n\treadonly disableTooltip = input(false, { transform: booleanAttribute });\n\n\treadonly numericBadgeClasses = computed(() => {\n\t\tconst palette = this.palette();\n\t\tconst size = this.size();\n\t\treturn { [`palette-${palette}`]: !!palette, [`mod-${size}`]: !!size };\n\t});\n\n\treadonly displayValue = computed(() => {\n\t\tconst value = this.value();\n\t\tconst maxValue = this.maxValue();\n\t\tif (typeof value === 'number') {\n\t\t\treturn +value > maxValue ? `${maxValue}+` : value;\n\t\t} else {\n\t\t\treturn value;\n\t\t}\n\t});\n\n\treadonly isDisabled = computed<boolean>(() => {\n\t\tconst value = this.value();\n\t\treturn this.disableTooltip() || typeof value !== 'number' || this.loading() || this.maxValue() >= +value;\n\t});\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.numericBadgeClasses], (numericBadgeClasses) => {\n\t\t\tif (numericBadgeClasses) {\n\t\t\t\tthis.#luClass.setState(numericBadgeClasses);\n\t\t\t}\n\t\t});\n\t}\n}\n","<span class=\"numericBadge-value\" [luTooltip]=\"value()\" [luTooltipDisabled]=\"isDisabled()\">{{ displayValue() }}</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":";;;;;;MAkBa,qBAAqB,CAAA;AACjC,IAAA,QAAQ;AAqDR,IAAA,WAAA,GAAA;AArDA,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;AAE1B;;AAEG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAmB;AAElD;;AAEG;QACM,IAAA,CAAA,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAoB;AAEzC;;AAEG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAU,MAAM,mDAAC;AAEzC;;AAEG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,oDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEhE;;AAEG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,GAAG,oDAAC;AAEtC;;AAEG;QACM,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,KAAK,2DAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE9D,QAAA,IAAA,CAAA,mBAAmB,GAAG,QAAQ,CAAC,MAAK;AAC5C,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YACxB,OAAO,EAAE,CAAC,CAAA,QAAA,EAAW,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA,IAAA,EAAO,IAAI,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,EAAE;AACtE,QAAA,CAAC,+DAAC;AAEO,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AACrC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC9B,gBAAA,OAAO,CAAC,KAAK,GAAG,QAAQ,GAAG,CAAA,EAAG,QAAQ,CAAA,CAAA,CAAG,GAAG,KAAK;YAClD;iBAAO;AACN,gBAAA,OAAO,KAAK;YACb;AACD,QAAA,CAAC,wDAAC;AAEO,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAU,MAAK;AAC5C,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;YAC1B,OAAO,IAAI,CAAC,cAAc,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK;AACzG,QAAA,CAAC,sDAAC;QAGDA,eAAe,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,KAAI;YACnE,IAAI,mBAAmB,EAAE;AACxB,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC5C;AACD,QAAA,CAAC,CAAC;IACH;8GA5DY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,m8BARtB,CAAC,OAAO,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVrB,+HACA,stGDQW,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FASb,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAdjC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,eAAe,CAAC,EAAA,SAAA,EACf,CAAC,OAAO,CAAC,EAAA,IAAA,EACd;AACL,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,oBAAoB,EAAE,WAAW;AACjC,wBAAA,oBAAoB,EAAE,WAAW;qBACjC,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,+HAAA,EAAA,MAAA,EAAA,CAAA,+pGAAA,CAAA,EAAA;;;AEhBtC;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-numeric-badge.mjs","sources":["../../../packages/ng/numeric-badge/numeric-badge.component.ts","../../../packages/ng/numeric-badge/numeric-badge.component.html","../../../packages/ng/numeric-badge/lucca-front-ng-numeric-badge.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\n\n@Component({\n\tselector: 'lu-numeric-badge',\n\ttemplateUrl: './numeric-badge.component.html',\n\tstyleUrl: './numeric-badge.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [LuTooltipModule],\n\tproviders: [LuClass],\n\thost: {\n\t\tclass: 'numericBadge',\n\t\t'[class.is-loading]': 'loading()',\n\t\t'[attr.aria-hidden]': 'loading()',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class NumericBadgeComponent {\n\t#luClass = inject(LuClass);\n\n\t/**\n\t * The value to display, number or string contains number only.\n\t */\n\treadonly value = input.required<number | string>();\n\n\t/**\n\t * The size of the badge\n\t */\n\treadonly size = input<'XS' | 'S' | 'M'>();\n\n\t/**\n\t * The palette to use for this badge. Defaults to 'none' (inherits parent palette)\n\t */\n\treadonly palette = input<Palette>('none');\n\n\t/**\n\t * Applies the loading state\n\t */\n\treadonly loading = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Indicates the maximum value of number for the numeric badge\n\t */\n\treadonly maxValue = input<number>(999);\n\n\t/**\n\t * Disabled tooltip on numeric badge\n\t */\n\treadonly disableTooltip = input(false, { transform: booleanAttribute });\n\n\treadonly numericBadgeClasses = computed(() => {\n\t\tconst palette = this.palette();\n\t\tconst size = this.size();\n\t\treturn { [`palette-${palette}`]: !!palette, [`mod-${size}`]: !!size };\n\t});\n\n\treadonly displayValue = computed(() => {\n\t\tconst value = this.value();\n\t\tconst maxValue = this.maxValue();\n\t\tif (typeof value === 'number') {\n\t\t\treturn +value > maxValue ? `${maxValue}+` : value;\n\t\t} else {\n\t\t\treturn value;\n\t\t}\n\t});\n\n\treadonly isDisabled = computed<boolean>(() => {\n\t\tconst value = this.value();\n\t\treturn this.disableTooltip() || typeof value !== 'number' || this.loading() || this.maxValue() >= +value;\n\t});\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.numericBadgeClasses], (numericBadgeClasses) => {\n\t\t\tif (numericBadgeClasses) {\n\t\t\t\tthis.#luClass.setState(numericBadgeClasses);\n\t\t\t}\n\t\t});\n\t}\n}\n","<span class=\"numericBadge-value\" [luTooltip]=\"value()\" [luTooltipDisabled]=\"isDisabled()\">{{ displayValue() }}</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}