@salesforce/ui-bundle-template-base-angular-app 11.60.0 → 11.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/package.json +1 -1
  3. package/src/force-app/main/default/uiBundles/base-angular-app/angular.json +2 -7
  4. package/src/force-app/main/default/uiBundles/base-angular-app/components.json +6 -0
  5. package/src/force-app/main/default/uiBundles/base-angular-app/eslint.config.js +9 -1
  6. package/src/force-app/main/default/uiBundles/base-angular-app/package.json +16 -11
  7. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/app.config.ts +4 -6
  8. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/alert/alert.html +9 -13
  9. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/alert/alert.ts +16 -28
  10. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/button/button.html +19 -10
  11. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/button/button.ts +34 -25
  12. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/card/card.ts +40 -50
  13. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/collapsible/collapsible.html +38 -10
  14. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/collapsible/collapsible.ts +6 -11
  15. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/date-picker/date-picker.html +17 -22
  16. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/date-picker/date-picker.ts +29 -21
  17. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/date-range-picker/date-range-picker.html +16 -30
  18. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/date-range-picker/date-range-picker.ts +39 -36
  19. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/dialog/dialog.html +13 -30
  20. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/dialog/dialog.ts +6 -21
  21. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/dropdown-menu/dropdown-menu.html +20 -0
  22. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/dropdown-menu/dropdown-menu.ts +100 -0
  23. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/field/field.html +5 -11
  24. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/field/field.ts +10 -18
  25. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/field-appearance.ts +8 -0
  26. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/icon/icon.ts +62 -0
  27. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/input/input.html +32 -17
  28. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/input/input.ts +57 -14
  29. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/label/label.ts +8 -4
  30. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/paginator/paginator.html +74 -10
  31. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/paginator/paginator.ts +74 -18
  32. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/paginator/types.ts +13 -0
  33. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/popover/popover.html +10 -38
  34. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/popover/popover.ts +12 -15
  35. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/select/select.html +34 -22
  36. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/select/select.ts +25 -34
  37. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/separator/separator.ts +11 -36
  38. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/skeleton/skeleton.ts +5 -9
  39. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/spinner/spinner.ts +14 -21
  40. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/alert/src/index.ts +16 -0
  41. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/alert/src/lib/hlm-alert-action.ts +14 -0
  42. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/alert/src/lib/hlm-alert-description.ts +17 -0
  43. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/alert/src/lib/hlm-alert-title.ts +17 -0
  44. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/alert/src/lib/hlm-alert.ts +35 -0
  45. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/button/src/index.ts +6 -0
  46. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/button/src/lib/hlm-button.token.ts +22 -0
  47. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/button/src/lib/hlm-button.ts +72 -0
  48. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/calendar/src/index.ts +16 -0
  49. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/calendar/src/lib/hlm-calendar-multi.ts +195 -0
  50. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/calendar/src/lib/hlm-calendar-range.ts +194 -0
  51. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/calendar/src/lib/hlm-calendar.ts +189 -0
  52. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/calendar/src/lib/hlm-month-year-calendar.ts +119 -0
  53. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/card/src/index.ts +28 -0
  54. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/card/src/lib/hlm-card-action.ts +12 -0
  55. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/card/src/lib/hlm-card-avatar.ts +14 -0
  56. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/card/src/lib/hlm-card-content.ts +12 -0
  57. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/card/src/lib/hlm-card-description.ts +12 -0
  58. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/card/src/lib/hlm-card-footer.ts +12 -0
  59. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/card/src/lib/hlm-card-header.ts +15 -0
  60. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/card/src/lib/hlm-card-title.ts +12 -0
  61. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/card/src/lib/hlm-card.token.ts +19 -0
  62. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/card/src/lib/hlm-card.ts +22 -0
  63. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/collapsible/src/index.ts +13 -0
  64. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/collapsible/src/lib/hlm-collapsible-content.ts +14 -0
  65. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/collapsible/src/lib/hlm-collapsible-trigger.ts +9 -0
  66. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/collapsible/src/lib/hlm-collapsible.ts +15 -0
  67. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/index.ts +38 -0
  68. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-date-multi-input.ts +104 -0
  69. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-date-picker-anchor.ts +23 -0
  70. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-date-picker-input.ts +118 -0
  71. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-date-picker-multi.token.ts +109 -0
  72. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-date-picker-multi.ts +220 -0
  73. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-date-picker-trigger.ts +104 -0
  74. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-date-picker.token.ts +69 -0
  75. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-date-picker.ts +203 -0
  76. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-date-range-input.ts +120 -0
  77. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-date-range-picker.token.ts +86 -0
  78. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-date-range-picker.ts +252 -0
  79. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-month-year-input.ts +105 -0
  80. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-month-year-picker.token.ts +89 -0
  81. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/date-picker/src/lib/hlm-month-year-picker.ts +196 -0
  82. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/index.ts +35 -0
  83. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/lib/hlm-dialog-close.ts +9 -0
  84. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/lib/hlm-dialog-content.ts +74 -0
  85. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/lib/hlm-dialog-description.ts +17 -0
  86. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/lib/hlm-dialog-footer.ts +15 -0
  87. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/lib/hlm-dialog-header.ts +12 -0
  88. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/lib/hlm-dialog-overlay.ts +27 -0
  89. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/lib/hlm-dialog-portal.ts +8 -0
  90. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/lib/hlm-dialog-title.ts +14 -0
  91. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/lib/hlm-dialog-trigger.ts +14 -0
  92. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/lib/hlm-dialog.service.ts +46 -0
  93. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dialog/src/lib/hlm-dialog.ts +24 -0
  94. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/index.ts +49 -0
  95. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox-indicator.ts +21 -0
  96. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox.ts +54 -0
  97. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-focus-on-hover.ts +35 -0
  98. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-group.ts +14 -0
  99. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-item-sub-indicator.ts +19 -0
  100. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-item.ts +42 -0
  101. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-label.ts +20 -0
  102. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-radio-indicator.ts +21 -0
  103. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-radio.ts +49 -0
  104. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-separator.ts +12 -0
  105. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-shortcut.ts +15 -0
  106. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-sub-trigger.ts +52 -0
  107. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-sub.ts +53 -0
  108. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-token.ts +26 -0
  109. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu-trigger.ts +46 -0
  110. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/dropdown-menu/src/lib/hlm-dropdown-menu.ts +57 -0
  111. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/field/src/index.ts +34 -0
  112. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/field/src/lib/hlm-field-content.ts +12 -0
  113. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/field/src/lib/hlm-field-description.ts +53 -0
  114. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/field/src/lib/hlm-field-error.ts +100 -0
  115. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/field/src/lib/hlm-field-group.ts +15 -0
  116. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/field/src/lib/hlm-field-label.ts +17 -0
  117. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/field/src/lib/hlm-field-legend.ts +19 -0
  118. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/field/src/lib/hlm-field-separator.ts +24 -0
  119. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/field/src/lib/hlm-field-set.ts +15 -0
  120. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/field/src/lib/hlm-field-title.ts +15 -0
  121. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/field/src/lib/hlm-field.ts +47 -0
  122. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/input/src/index.ts +5 -0
  123. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/input/src/lib/hlm-input.ts +21 -0
  124. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/input-group/src/index.ts +19 -0
  125. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/input-group/src/lib/hlm-input-group-addon.ts +40 -0
  126. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/input-group/src/lib/hlm-input-group-button.ts +47 -0
  127. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/input-group/src/lib/hlm-input-group-input.ts +17 -0
  128. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/input-group/src/lib/hlm-input-group-text.ts +14 -0
  129. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/input-group/src/lib/hlm-input-group.ts +18 -0
  130. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/label/label.html +11 -0
  131. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/label/src/index.ts +5 -0
  132. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/label/src/lib/hlm-label.ts +17 -0
  133. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/pagination/src/index.ts +31 -0
  134. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/pagination/src/lib/hlm-numbered-pagination-query-params.ts +191 -0
  135. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/pagination/src/lib/hlm-numbered-pagination.ts +290 -0
  136. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/pagination/src/lib/hlm-pagination-content.ts +12 -0
  137. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/pagination/src/lib/hlm-pagination-ellipsis.ts +27 -0
  138. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/pagination/src/lib/hlm-pagination-item.ts +7 -0
  139. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/pagination/src/lib/hlm-pagination-link.ts +51 -0
  140. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/pagination/src/lib/hlm-pagination-next.ts +65 -0
  141. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/pagination/src/lib/hlm-pagination-previous.ts +65 -0
  142. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/pagination/src/lib/hlm-pagination.ts +19 -0
  143. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/popover/src/index.ts +25 -0
  144. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/popover/src/lib/hlm-popover-content.ts +25 -0
  145. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/popover/src/lib/hlm-popover-description.ts +12 -0
  146. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/popover/src/lib/hlm-popover-header.ts +12 -0
  147. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/popover/src/lib/hlm-popover-portal.ts +8 -0
  148. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/popover/src/lib/hlm-popover-title.ts +12 -0
  149. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/popover/src/lib/hlm-popover-trigger.ts +14 -0
  150. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/popover/src/lib/hlm-popover.ts +23 -0
  151. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/index.ts +52 -0
  152. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-content.ts +44 -0
  153. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-group.ts +14 -0
  154. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-item.ts +36 -0
  155. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-label.ts +14 -0
  156. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-multiple.ts +37 -0
  157. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-placeholder.ts +17 -0
  158. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-portal.ts +8 -0
  159. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-scroll-down.ts +22 -0
  160. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-scroll-up.ts +22 -0
  161. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-separator.ts +14 -0
  162. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-trigger.ts +59 -0
  163. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-value-template.ts +5 -0
  164. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-value.ts +18 -0
  165. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-values-content.ts +9 -0
  166. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select-values.ts +5 -0
  167. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/select/src/lib/hlm-select.ts +37 -0
  168. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/separator/src/index.ts +5 -0
  169. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/separator/src/lib/hlm-separator.ts +19 -0
  170. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/skeleton/src/index.ts +5 -0
  171. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/skeleton/src/lib/hlm-skeleton.ts +14 -0
  172. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/spinner/src/index.ts +5 -0
  173. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/spinner/src/lib/hlm-spinner.ts +26 -0
  174. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/utils/src/index.ts +2 -0
  175. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/utils/src/lib/hlm.ts +313 -0
  176. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/shared/spartan/utils/src/lib/provide-spartan-hlm.ts +34 -0
  177. package/src/force-app/main/default/uiBundles/base-angular-app/src/index.html +0 -1
  178. package/src/force-app/main/default/uiBundles/base-angular-app/src/{styles.scss → styles.css} +7 -38
  179. package/src/force-app/main/default/uiBundles/base-angular-app/tsconfig.json +4 -1
  180. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/_field-size.scss +0 -42
  181. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/button/button.scss +0 -112
  182. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/card/card.scss +0 -34
  183. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/date-picker/date-picker.scss +0 -36
  184. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/date-range-picker/date-range-picker.scss +0 -33
  185. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/input/input.scss +0 -35
  186. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/label/label.html +0 -3
  187. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/select/select.scss +0 -35
  188. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/separator/separator.html +0 -1
  189. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/separator/separator.scss +0 -23
  190. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/skeleton/skeleton.html +0 -1
  191. package/src/force-app/main/default/uiBundles/base-angular-app/src/app/components/ui/skeleton/skeleton.scss +0 -28
  192. package/src/force-app/main/default/uiBundles/base-angular-app/src/theme.scss +0 -39
@@ -1,4 +1,8 @@
1
- @import 'tailwindcss';
1
+ @layer theme, base, components, utilities;
2
+ @import 'tailwindcss/theme.css' layer(theme);
3
+ @import 'tailwindcss/preflight.css' layer(base);
4
+ @import 'tailwindcss/utilities.css';
5
+ @import '@spartan-ng/brain/hlm-tailwind-preset.css';
2
6
 
3
7
  @layer base {
4
8
  html,
@@ -14,12 +18,8 @@
14
18
  @custom-variant dark (&:is(.dark *));
15
19
 
16
20
  /*
17
- * shadcn design tokens, ported from the React base app's global.css so the
18
- * shared object-search feature (bg-card, text-muted-foreground, border-border,
19
- * rounded-* via --radius, etc.) renders identically in Angular. The React base
20
- * also imports tw-animate-css and shadcn/tailwind.css (accordion keyframes +
21
- * data-* variants) — omitted here as they are not installed for the Angular
22
- * base and are not required for layout/color parity.
21
+ * shadcn design tokens — identical to the React base app's global.css.
22
+ * Spartan/UI helm components read these CSS variables directly.
23
23
  */
24
24
  @theme inline {
25
25
  --color-background: var(--background);
@@ -137,34 +137,3 @@
137
137
  @apply bg-background text-foreground;
138
138
  }
139
139
  }
140
-
141
- /*
142
- * Angular Material colour re-skin — layered on top of the custom M3 theme
143
- * defined in theme.scss. The theme owns density (compact control heights) and
144
- * seeds the base `--mat-sys-*` system variables; here we remap the colour and
145
- * shape system variables to our shadcn design tokens so every Material
146
- * component adopts the shadcn look without touching component code. This block
147
- * loads after theme.scss, so these values win.
148
- *
149
- * Control sizing is NOT set here — density handles heights, and any remaining
150
- * form-field-specific styling lives in the component's own scoped CSS.
151
- */
152
- :root {
153
- --mat-sys-primary: var(--primary);
154
- --mat-sys-on-primary: var(--primary-foreground);
155
- --mat-sys-surface: var(--background);
156
- --mat-sys-on-surface: var(--foreground);
157
- --mat-sys-surface-variant: var(--muted);
158
- --mat-sys-on-surface-variant: var(--muted-foreground);
159
- --mat-sys-outline: var(--border);
160
- --mat-sys-outline-variant: var(--border);
161
- --mat-sys-error: var(--destructive);
162
- --mat-sys-corner-small: var(--radius-sm);
163
- --mat-sys-corner-medium: var(--radius-md);
164
- --mat-sys-corner-large: var(--radius-lg);
165
-
166
- // Card subtitle — Material defaults this to `--mat-sys-on-surface` (the same
167
- // dark colour as the title). React renders the card description in muted
168
- // grey (`text-muted-foreground`), so point the subtitle token there.
169
- --mat-card-subtitle-text-color: var(--muted-foreground);
170
- }
@@ -13,7 +13,10 @@
13
13
  "experimentalDecorators": true,
14
14
  "importHelpers": true,
15
15
  "target": "ES2022",
16
- "module": "preserve"
16
+ "module": "preserve",
17
+ "paths": {
18
+ "@spartan-ng/styles/*": ["./src/app/shared/spartan/*/src/index.ts"]
19
+ }
17
20
  },
18
21
  "angularCompilerOptions": {
19
22
  "enableI18nLegacyMessageIdFormat": false,
@@ -1,42 +0,0 @@
1
- /**
2
- * Copyright (c) 2026, Salesforce, Inc.,
3
- * All rights reserved.
4
- * For full license text, see the LICENSE.txt file
5
- */
6
-
7
- /*
8
- * Shared height scale for the form-field wrappers (app-input, app-select,
9
- * app-date-picker): sm = 24px, default = 32px, lg = 40px.
10
- *
11
- * Material's density scale only reaches 36px at its -5 floor, so these compact
12
- * heights can't come from `mat.form-field-density`. Instead we set the two M3
13
- * tokens that drive the height directly:
14
- * --mat-form-field-container-height -> `.mat-mdc-form-field-flex` min-height
15
- * --mat-form-field-container-vertical-padding -> infix padding-top / -bottom
16
- *
17
- * These are CSS custom properties, so setting them on the wrapper's own
18
- * `mat-form-field` (an in-view element that matches under emulated
19
- * encapsulation) is enough — they INHERIT down to Material's internal flex /
20
- * infix elements. No `::ng-deep` and no global classes needed. This mirrors how
21
- * `app-button` sizes work (it sets `--mat-button-*-container-height` tokens).
22
- */
23
- @mixin apply($height, $vertical-padding) {
24
- --mat-form-field-container-height: #{$height};
25
- --mat-form-field-container-vertical-padding: #{$vertical-padding};
26
- }
27
-
28
- /*
29
- * Emit the three size classes. Consumers opt in via `size` on the wrapper,
30
- * which renders `size-sm | size-default | size-lg` on the mat-form-field.
31
- */
32
- @mixin sizes {
33
- .size-sm {
34
- @include apply(1.5rem, 0.25rem); // 24px, 4px
35
- }
36
- .size-default {
37
- @include apply(2rem, 0.5rem); // 32px, 8px
38
- }
39
- .size-lg {
40
- @include apply(2.5rem, 0.75rem); // 40px, 12px
41
- }
42
- }
@@ -1,112 +0,0 @@
1
- /**
2
- * Copyright (c) 2026, Salesforce, Inc.,
3
- * All rights reserved.
4
- * For full license text, see the LICENSE.txt file
5
- */
6
- @use '@angular/material' as mat;
7
-
8
- // Compact density themes — Material's canonical heights (36 / 32 / 28px).
9
- $-lg: mat.define-theme(
10
- (
11
- density: (
12
- scale: -1,
13
- ),
14
- )
15
- );
16
- $-md: mat.define-theme(
17
- (
18
- density: (
19
- scale: -2,
20
- ),
21
- )
22
- );
23
- $-sm: mat.define-theme(
24
- (
25
- density: (
26
- scale: -3,
27
- ),
28
- )
29
- );
30
-
31
- @mixin -height($h) {
32
- --mat-button-filled-container-height: #{$h};
33
- --mat-button-outlined-container-height: #{$h};
34
- --mat-button-text-container-height: #{$h};
35
- --mat-button-tonal-container-height: #{$h};
36
- --mat-button-protected-container-height: #{$h};
37
- }
38
-
39
- @mixin -label-size($s) {
40
- --mat-button-filled-label-text-size: #{$s};
41
- --mat-button-outlined-label-text-size: #{$s};
42
- --mat-button-text-label-text-size: #{$s};
43
- --mat-button-tonal-label-text-size: #{$s};
44
- --mat-button-protected-label-text-size: #{$s};
45
- }
46
-
47
- :host {
48
- display: inline-flex;
49
- }
50
-
51
- .mat-mdc-button-base {
52
- width: 100%;
53
- font-weight: 500;
54
- --mat-button-filled-container-shape: var(--radius-md);
55
- --mat-button-outlined-container-shape: var(--radius-md);
56
- --mat-button-text-container-shape: var(--radius-md);
57
- --mat-button-tonal-container-shape: var(--radius-md);
58
- --mat-button-protected-container-shape: var(--radius-md);
59
- }
60
-
61
- // Heights via Material's density scale; 24px (xs) sits below the button
62
- // density floor (-3 = 28px), so it sets the height token directly.
63
- .size-default,
64
- .size-icon {
65
- @include mat.button-density($-md);
66
- }
67
- .size-sm,
68
- .size-icon-sm {
69
- @include mat.button-density($-sm);
70
- }
71
- .size-lg,
72
- .size-icon-lg {
73
- @include mat.button-density($-lg);
74
- }
75
- .size-xs,
76
- .size-icon-xs {
77
- @include -height(1.5rem);
78
- }
79
-
80
- // Font-size isn't a density concern, so it stays a label token.
81
- .size-default,
82
- .size-lg {
83
- @include -label-size(0.875rem);
84
- }
85
- .size-sm {
86
- @include -label-size(0.8rem);
87
- }
88
- .size-xs {
89
- @include -label-size(0.75rem);
90
- }
91
-
92
- // Icon-only: square, no min-width or horizontal padding. Material's leading-icon
93
- // margins assume a text label, so zero them to keep the icon centred.
94
- .size-icon,
95
- .size-icon-xs,
96
- .size-icon-sm,
97
- .size-icon-lg {
98
- width: auto;
99
- min-width: 0;
100
- padding: 0;
101
- aspect-ratio: 1;
102
-
103
- .mat-icon {
104
- margin: 0;
105
- }
106
- }
107
-
108
- // Destructive: subtle red tint + red text, matching React's bg-destructive/10.
109
- .destructive {
110
- --mat-button-filled-container-color: color-mix(in oklch, var(--destructive) 10%, transparent);
111
- --mat-button-filled-label-text-color: var(--destructive);
112
- }
@@ -1,34 +0,0 @@
1
- /**
2
- * Copyright (c) 2026, Salesforce, Inc.,
3
- * All rights reserved.
4
- * For full license text, see the LICENSE.txt file
5
- */
6
-
7
- // `size="sm"` — compact padding. Material hardcodes the card's 16px padding
8
- // (there is no padding design token to override), so the compact size tightens
9
- // the real Material padding classes. `::ng-deep` is required because the slot
10
- // content (`mat-card-header/content/actions`) is projected — it lives in the
11
- // consumer's view, not this wrapper's — so a plain scoped selector can't reach
12
- // it. The rules are anchored under `.app-card-sm`, a class only this component
13
- // applies, so the deep selector stays contained to compact cards.
14
- .app-card-sm {
15
- ::ng-deep .mat-mdc-card-header {
16
- padding: 0.75rem 0.75rem 0;
17
- }
18
-
19
- ::ng-deep .mat-mdc-card-content {
20
- padding: 0 0.75rem;
21
-
22
- &:first-child {
23
- padding-top: 0.75rem;
24
- }
25
-
26
- &:last-child {
27
- padding-bottom: 0.75rem;
28
- }
29
- }
30
-
31
- ::ng-deep .mat-mdc-card-actions {
32
- padding: 0.75rem;
33
- }
34
- }
@@ -1,36 +0,0 @@
1
- /**
2
- * Copyright (c) 2026, Salesforce, Inc.,
3
- * All rights reserved.
4
- * For full license text, see the LICENSE.txt file
5
- */
6
-
7
- @use '../field-size' as field-size;
8
-
9
- /*
10
- * Form-field-specific structural styling. Height comes from the `size` input
11
- * (see field-size.scss); colour comes from the --mat-sys-* remap (styles.css).
12
- * Here we only: give the outline our design-token radius, emit the size
13
- * classes, and collapse the empty hint/error subscript row.
14
- */
15
- @include field-size.sizes;
16
-
17
- :host {
18
- display: block;
19
- /*
20
- * Allow the host to shrink below the mat-form-field's intrinsic width when
21
- * used as a flex item (e.g. two side-by-side pickers in a date-range filter,
22
- * or a picker beside an operator select). Without this, the default
23
- * `min-width: auto` on a flex item keeps each field at its content width and
24
- * the row overflows its container.
25
- */
26
- min-width: 0;
27
- }
28
-
29
- .mat-mdc-form-field {
30
- --mdc-outlined-text-field-container-shape: var(--radius-md);
31
- font-size: 0.875rem; /* text-sm, matches the React inputs */
32
- }
33
-
34
- .mat-mdc-form-field-subscript-wrapper {
35
- display: none;
36
- }
@@ -1,33 +0,0 @@
1
- /**
2
- * Copyright (c) 2026, Salesforce, Inc.,
3
- * All rights reserved.
4
- * For full license text, see the LICENSE.txt file
5
- */
6
-
7
- @use '../field-size' as field-size;
8
-
9
- /*
10
- * Form-field-specific structural styling. Height comes from the `size` input
11
- * (see field-size.scss); colour comes from the --mat-sys-* remap (styles.css).
12
- * Here we only: give the outline our design-token radius, emit the size
13
- * classes, and collapse the empty hint/error subscript row.
14
- */
15
- @include field-size.sizes;
16
-
17
- :host {
18
- display: block;
19
- /*
20
- * Allow the host to shrink below the mat-form-field's intrinsic width when
21
- * used as a flex item, so the row doesn't overflow its container.
22
- */
23
- min-width: 0;
24
- }
25
-
26
- .mat-mdc-form-field {
27
- --mdc-outlined-text-field-container-shape: var(--radius-md);
28
- font-size: 0.875rem; /* text-sm, matches the React inputs */
29
- }
30
-
31
- .mat-mdc-form-field-subscript-wrapper {
32
- display: none;
33
- }
@@ -1,35 +0,0 @@
1
- /**
2
- * Copyright (c) 2026, Salesforce, Inc.,
3
- * All rights reserved.
4
- * For full license text, see the LICENSE.txt file
5
- */
6
-
7
- @use '../field-size' as field-size;
8
-
9
- /*
10
- * Form-field-specific structural styling. Height comes from the `size` input
11
- * (see field-size.scss); colour comes from the --mat-sys-* remap (styles.css).
12
- * Here we only: give the outline our design-token radius, emit the size
13
- * classes, and collapse the empty hint/error subscript row.
14
- */
15
- @include field-size.sizes;
16
-
17
- :host {
18
- display: block;
19
- /*
20
- * Allow the host to shrink below the mat-form-field's intrinsic width when
21
- * used as a flex item (e.g. two side-by-side inputs in a numeric/date
22
- * range). Without this, the default `min-width: auto` on a flex item keeps
23
- * each field at its content width and the row overflows its container.
24
- */
25
- min-width: 0;
26
- }
27
-
28
- .mat-mdc-form-field {
29
- --mdc-outlined-text-field-container-shape: var(--radius-md);
30
- font-size: 0.875rem; /* text-sm, matches the React inputs */
31
- }
32
-
33
- .mat-mdc-form-field-subscript-wrapper {
34
- display: none;
35
- }
@@ -1,3 +0,0 @@
1
- <label [attr.for]="for()" class="text-sm leading-none font-medium select-none">
2
- <ng-content />
3
- </label>
@@ -1,35 +0,0 @@
1
- /**
2
- * Copyright (c) 2026, Salesforce, Inc.,
3
- * All rights reserved.
4
- * For full license text, see the LICENSE.txt file
5
- */
6
-
7
- @use '../field-size' as field-size;
8
-
9
- /*
10
- * Form-field-specific structural styling. Height comes from the `size` input
11
- * (see field-size.scss); colour comes from the --mat-sys-* remap (styles.css).
12
- * Here we only: give the outline our design-token radius, emit the size
13
- * classes, and collapse the empty hint/error subscript row.
14
- */
15
- @include field-size.sizes;
16
-
17
- :host {
18
- display: block;
19
- /*
20
- * Allow the host to shrink below the mat-form-field's intrinsic width when
21
- * used as a flex item (e.g. the operator select beside a date picker in a
22
- * date filter row). Without this, the default `min-width: auto` on a flex
23
- * item keeps each field at its content width and the row overflows.
24
- */
25
- min-width: 0;
26
- }
27
-
28
- .mat-mdc-form-field {
29
- --mdc-outlined-text-field-container-shape: var(--radius-md);
30
- font-size: 0.875rem; /* text-sm, matches the React inputs */
31
- }
32
-
33
- .mat-mdc-form-field-subscript-wrapper {
34
- display: none;
35
- }
@@ -1 +0,0 @@
1
- <mat-divider role="presentation" [vertical]="isVertical()" [inset]="inset()" />
@@ -1,23 +0,0 @@
1
- /**
2
- * Copyright (c) 2026, Salesforce, Inc.,
3
- * All rights reserved.
4
- * For full license text, see the LICENSE.txt file
5
- */
6
-
7
- /*
8
- * Material's `mat-divider` draws a full-height border for the vertical variant,
9
- * so its element must fill the host. The host itself carries `self-stretch`
10
- * (see component `hostClass`) to take the flex row's height; here we make the
11
- * inner divider fill that height. Horizontal needs nothing extra — the divider
12
- * is already `display:block; width:100%`.
13
- */
14
- :host {
15
- // A vertical divider is a zero-width line; keep it out of flex growth math.
16
- &[data-orientation='vertical'] {
17
- display: flex;
18
- }
19
- }
20
-
21
- .mat-divider-vertical {
22
- height: 100%;
23
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * Copyright (c) 2026, Salesforce, Inc.,
3
- * All rights reserved.
4
- * For full license text, see the LICENSE.txt file
5
- */
6
-
7
- /*
8
- * The skeleton is a block by default so call sites only need to supply a width
9
- * and height (`h-4 w-32`) — no `block` utility to repeat. The pulse lives here
10
- * (rather than Tailwind's `animate-pulse`) so it can be switched off for users
11
- * who ask for reduced motion.
12
- */
13
- :host {
14
- display: block;
15
- animation: app-skeleton-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
16
- }
17
-
18
- @keyframes app-skeleton-pulse {
19
- 50% {
20
- opacity: 0.5;
21
- }
22
- }
23
-
24
- @media (prefers-reduced-motion: reduce) {
25
- :host {
26
- animation: none;
27
- }
28
- }
@@ -1,39 +0,0 @@
1
- // Copyright (c) 2026, Salesforce, Inc.,
2
- // All rights reserved.
3
- // For full license text, see the LICENSE.txt file
4
-
5
- // Angular Material M3 theme.
6
- // See https://material.angular.dev/guide/theming.
7
- //
8
- // This replaces the prebuilt azure-blue theme so we can set a negative
9
- // `density` — the standard, system-driven way to get the compact control
10
- // heights the React reference uses (no hardcoded pixel heights anywhere).
11
- //
12
- // Colour is intentionally NOT finalised here: the shadcn design tokens are
13
- // applied on top by remapping `--mat-sys-*` in styles.css, which loads after
14
- // this file. The palette below only seeds Material's base system variables.
15
- @use '@angular/material' as mat;
16
-
17
- html {
18
- @include mat.theme(
19
- (
20
- color: (
21
- theme-type: light,
22
- primary: mat.$azure-palette,
23
- tertiary: mat.$blue-palette,
24
- ),
25
- // Font family reads Tailwind's system stack (`--font-sans`, the same
26
- // default the React reference uses) instead of Material's Roboto, so
27
- // Material components and Tailwind-styled text share one font. Tailwind
28
- // is the single source of the family; the typescale sizes/weights stay
29
- // Material's own.
30
- typography: (
31
- plain-family: var(--font-sans),
32
- brand-family: var(--font-sans),
33
- ),
34
- // Compact density (scale 0 to -5). Drives control heights via
35
- // Material's own tokens instead of hardcoded px.
36
- density: -2,
37
- )
38
- );
39
- }