@salesforce/templates 66.13.6 → 66.13.8

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 (747) hide show
  1. package/lib/templates/project/angularextapp/CHANGELOG.md +232 -0
  2. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/angular.json +2 -7
  3. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/components.json +6 -0
  4. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/eslint.config.js +9 -1
  5. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/package-lock.json +19493 -9455
  6. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/package.json +17 -11
  7. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/app.config.ts +4 -6
  8. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/app.routes.ts +2 -2
  9. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/alert/alert.html +9 -13
  10. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/alert/alert.ts +16 -28
  11. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/button/button.html +19 -10
  12. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/button/button.ts +34 -25
  13. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/card/card.ts +40 -50
  14. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/collapsible/collapsible.html +38 -10
  15. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/collapsible/collapsible.ts +6 -11
  16. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-picker/date-picker.html +17 -22
  17. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-picker/date-picker.ts +29 -21
  18. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-range-picker/date-range-picker.html +16 -30
  19. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-range-picker/date-range-picker.ts +39 -36
  20. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/dialog/dialog.html +13 -30
  21. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/dialog/dialog.ts +6 -21
  22. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/dropdown-menu/dropdown-menu.html +20 -0
  23. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/dropdown-menu/dropdown-menu.ts +100 -0
  24. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/field/field.html +5 -11
  25. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/field/field.ts +10 -18
  26. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/field-appearance.ts +8 -0
  27. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/icon/icon.ts +62 -0
  28. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/input/input.html +32 -17
  29. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/input/input.ts +57 -14
  30. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/label/label.ts +8 -4
  31. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/paginator/paginator.html +74 -10
  32. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/paginator/paginator.ts +74 -18
  33. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/paginator/types.ts +13 -0
  34. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/popover/popover.html +10 -38
  35. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/popover/popover.ts +12 -15
  36. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/select/select.html +34 -22
  37. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/select/select.ts +25 -34
  38. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/separator/separator.ts +11 -36
  39. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/skeleton/skeleton.ts +5 -9
  40. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/spinner/spinner.ts +14 -21
  41. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/authentication/auth-form/auth-form.html +2 -3
  42. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/authentication/menu/auth-menu/auth-menu.html +31 -21
  43. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/authentication/menu/auth-menu/auth-menu.ts +6 -18
  44. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/authentication/session/session.html +2 -2
  45. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/authentication/submit-button/submit-button.html +8 -4
  46. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/authentication/submit-button/submit-button.ts +4 -16
  47. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/breadcrumb/breadcrumb.html +4 -24
  48. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/breadcrumb/breadcrumb.ts +3 -16
  49. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/date-filter.ts +1 -1
  50. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/date-range-filter.html +2 -1
  51. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/date-range-filter.ts +6 -15
  52. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/filter-field-wrapper.html +2 -0
  53. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/filter-field-wrapper.ts +2 -17
  54. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/multi-select-filter.html +2 -1
  55. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/numeric-range-filter.ts +3 -21
  56. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/search-filter.html +3 -3
  57. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/search-filter.ts +9 -13
  58. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/select-filter.html +2 -5
  59. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/select-filter.ts +1 -15
  60. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/text-filter.html +2 -5
  61. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/text-filter.ts +3 -17
  62. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/pagination/pagination.ts +4 -20
  63. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/search-bar/search-bar.html +10 -59
  64. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/search-bar/search-bar.ts +13 -93
  65. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/sort-control/sort-control.html +3 -29
  66. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/object-search/sort-control/sort-control.ts +5 -12
  67. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/pages/account-detail/account-detail-page.html +1 -23
  68. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/pages/account-detail/account-detail-page.ts +3 -23
  69. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/pages/account-search/account-search-page.html +1 -19
  70. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/pages/account-search/account-search-page.ts +8 -36
  71. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/pages/home/home.html +15 -4
  72. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/pages/home/home.spec.ts +8 -6
  73. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/pages/home/home.ts +56 -4
  74. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/alert/hlm-alert-action.ts +14 -0
  75. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/alert/hlm-alert-description.ts +17 -0
  76. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/alert/hlm-alert-title.ts +17 -0
  77. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/alert/hlm-alert.ts +35 -0
  78. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/alert/index.ts +16 -0
  79. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/button/hlm-button.token.ts +22 -0
  80. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/button/hlm-button.ts +72 -0
  81. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/button/index.ts +6 -0
  82. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/calendar/hlm-calendar-multi.ts +195 -0
  83. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/calendar/hlm-calendar-range.ts +194 -0
  84. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/calendar/hlm-calendar.ts +189 -0
  85. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/calendar/hlm-month-year-calendar.ts +119 -0
  86. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/calendar/index.ts +16 -0
  87. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-action.ts +12 -0
  88. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-avatar.ts +14 -0
  89. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-content.ts +12 -0
  90. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-description.ts +12 -0
  91. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-footer.ts +12 -0
  92. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-header.ts +15 -0
  93. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-title.ts +12 -0
  94. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card.token.ts +19 -0
  95. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card.ts +22 -0
  96. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/card/index.ts +28 -0
  97. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/collapsible/hlm-collapsible-content.ts +14 -0
  98. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/collapsible/hlm-collapsible-trigger.ts +9 -0
  99. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/collapsible/hlm-collapsible.ts +15 -0
  100. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/collapsible/index.ts +13 -0
  101. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-multi-input.ts +104 -0
  102. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker-anchor.ts +23 -0
  103. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker-input.ts +118 -0
  104. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker-multi.token.ts +109 -0
  105. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker-multi.ts +220 -0
  106. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker-trigger.ts +104 -0
  107. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker.token.ts +69 -0
  108. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker.ts +203 -0
  109. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-range-input.ts +120 -0
  110. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-range-picker.token.ts +86 -0
  111. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-range-picker.ts +252 -0
  112. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-month-year-input.ts +105 -0
  113. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-month-year-picker.token.ts +89 -0
  114. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-month-year-picker.ts +196 -0
  115. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/index.ts +38 -0
  116. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-close.ts +9 -0
  117. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-content.ts +74 -0
  118. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-description.ts +17 -0
  119. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-footer.ts +15 -0
  120. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-header.ts +12 -0
  121. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-overlay.ts +27 -0
  122. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-portal.ts +8 -0
  123. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-title.ts +14 -0
  124. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-trigger.ts +14 -0
  125. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog.service.ts +46 -0
  126. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog.ts +24 -0
  127. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/index.ts +35 -0
  128. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-checkbox-indicator.ts +21 -0
  129. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-checkbox.ts +54 -0
  130. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-focus-on-hover.ts +35 -0
  131. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-group.ts +14 -0
  132. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-item-sub-indicator.ts +19 -0
  133. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-item.ts +42 -0
  134. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-label.ts +20 -0
  135. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-radio-indicator.ts +21 -0
  136. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-radio.ts +49 -0
  137. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-separator.ts +12 -0
  138. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-shortcut.ts +15 -0
  139. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-sub-trigger.ts +52 -0
  140. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-sub.ts +53 -0
  141. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-token.ts +26 -0
  142. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-trigger.ts +46 -0
  143. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu.ts +57 -0
  144. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/index.ts +49 -0
  145. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-content.ts +12 -0
  146. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-description.ts +53 -0
  147. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-error.ts +100 -0
  148. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-group.ts +15 -0
  149. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-label.ts +17 -0
  150. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-legend.ts +19 -0
  151. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-separator.ts +24 -0
  152. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-set.ts +15 -0
  153. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-title.ts +15 -0
  154. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field.ts +47 -0
  155. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/field/index.ts +34 -0
  156. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/input/hlm-input.ts +21 -0
  157. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/input/index.ts +5 -0
  158. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/hlm-input-group-addon.ts +40 -0
  159. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/hlm-input-group-button.ts +47 -0
  160. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/hlm-input-group-input.ts +17 -0
  161. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/hlm-input-group-text.ts +14 -0
  162. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/hlm-input-group.ts +18 -0
  163. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/index.ts +19 -0
  164. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/label/hlm-label.ts +17 -0
  165. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/label/index.ts +5 -0
  166. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/label/label.html +11 -0
  167. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-numbered-pagination-query-params.ts +191 -0
  168. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-numbered-pagination.ts +290 -0
  169. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-content.ts +12 -0
  170. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-ellipsis.ts +27 -0
  171. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-item.ts +7 -0
  172. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-link.ts +51 -0
  173. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-next.ts +65 -0
  174. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-previous.ts +65 -0
  175. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination.ts +19 -0
  176. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/index.ts +31 -0
  177. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-content.ts +25 -0
  178. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-description.ts +12 -0
  179. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-header.ts +12 -0
  180. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-portal.ts +8 -0
  181. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-title.ts +12 -0
  182. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-trigger.ts +14 -0
  183. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover.ts +23 -0
  184. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/popover/index.ts +25 -0
  185. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-content.ts +44 -0
  186. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-group.ts +14 -0
  187. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-item.ts +36 -0
  188. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-label.ts +14 -0
  189. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-multiple.ts +37 -0
  190. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-placeholder.ts +17 -0
  191. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-portal.ts +8 -0
  192. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-scroll-down.ts +22 -0
  193. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-scroll-up.ts +22 -0
  194. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-separator.ts +14 -0
  195. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-trigger.ts +59 -0
  196. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-value-template.ts +5 -0
  197. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-value.ts +18 -0
  198. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-values-content.ts +9 -0
  199. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-values.ts +5 -0
  200. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select.ts +37 -0
  201. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/select/index.ts +52 -0
  202. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/separator/hlm-separator.ts +19 -0
  203. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/separator/index.ts +5 -0
  204. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/skeleton/hlm-skeleton.ts +14 -0
  205. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/skeleton/index.ts +5 -0
  206. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/spinner/hlm-spinner.ts +26 -0
  207. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/spinner/index.ts +5 -0
  208. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/utils/hlm.ts +313 -0
  209. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/utils/index.ts +2 -0
  210. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/shared/utils/provide-spartan-hlm.ts +34 -0
  211. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/index.html +0 -1
  212. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/{styles.scss → styles.css} +7 -38
  213. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/tsconfig.json +4 -1
  214. package/lib/templates/project/angularextapp/package.json +1 -1
  215. package/lib/templates/project/angularintapp/CHANGELOG.md +224 -0
  216. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/angular.json +2 -7
  217. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/components.json +6 -0
  218. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/eslint.config.js +9 -1
  219. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/package-lock.json +19509 -9471
  220. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/package.json +18 -12
  221. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/app.config.ts +4 -6
  222. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/app.routes.ts +3 -2
  223. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/alert/alert.html +9 -13
  224. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/alert/alert.ts +16 -28
  225. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/button/button.html +19 -10
  226. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/button/button.ts +34 -25
  227. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/card/card.ts +40 -50
  228. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/collapsible/collapsible.html +38 -10
  229. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/collapsible/collapsible.ts +6 -11
  230. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-picker/date-picker.html +17 -22
  231. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-picker/date-picker.ts +29 -21
  232. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-range-picker/date-range-picker.html +16 -30
  233. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-range-picker/date-range-picker.ts +39 -36
  234. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/dialog/dialog.html +13 -30
  235. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/dialog/dialog.ts +6 -21
  236. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/dropdown-menu/dropdown-menu.html +20 -0
  237. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/dropdown-menu/dropdown-menu.ts +100 -0
  238. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/field/field.html +5 -11
  239. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/field/field.ts +10 -18
  240. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/field-appearance.ts +8 -0
  241. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/icon/icon.ts +62 -0
  242. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/input/input.html +32 -17
  243. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/input/input.ts +57 -14
  244. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/label/label.ts +8 -4
  245. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/paginator/paginator.html +74 -10
  246. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/paginator/paginator.ts +74 -18
  247. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/paginator/types.ts +13 -0
  248. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/popover/popover.html +10 -38
  249. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/popover/popover.ts +12 -15
  250. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/select/select.html +34 -22
  251. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/select/select.ts +25 -34
  252. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/separator/separator.ts +11 -36
  253. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/skeleton/skeleton.ts +5 -9
  254. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/spinner/spinner.ts +14 -21
  255. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/agentforce/agentforce-embed.service.ts +13 -141
  256. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/agentforce/conversation.html +1 -1
  257. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/agentforce/conversation.ts +0 -3
  258. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/breadcrumb/breadcrumb.html +4 -24
  259. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/breadcrumb/breadcrumb.ts +3 -16
  260. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/date-filter.ts +1 -1
  261. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/date-range-filter.html +2 -1
  262. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/date-range-filter.ts +6 -15
  263. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/filter-field-wrapper.html +2 -0
  264. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/filter-field-wrapper.ts +2 -17
  265. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/multi-select-filter.html +2 -1
  266. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/numeric-range-filter.ts +3 -21
  267. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/search-filter.html +3 -3
  268. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/search-filter.ts +9 -13
  269. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/select-filter.html +2 -5
  270. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/select-filter.ts +1 -15
  271. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/text-filter.html +2 -5
  272. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/filters/text-filter.ts +3 -17
  273. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/pagination/pagination.ts +4 -20
  274. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/search-bar/search-bar.html +10 -59
  275. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/search-bar/search-bar.ts +13 -93
  276. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/sort-control/sort-control.html +3 -29
  277. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/features/object-search/sort-control/sort-control.ts +5 -12
  278. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/pages/account-detail/account-detail-page.html +1 -23
  279. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/pages/account-detail/account-detail-page.ts +3 -23
  280. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/pages/account-search/account-search-page.html +1 -19
  281. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/pages/account-search/account-search-page.ts +8 -36
  282. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/pages/home/home.html +15 -4
  283. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/pages/home/home.spec.ts +8 -6
  284. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/pages/home/home.ts +56 -4
  285. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/alert/hlm-alert-action.ts +14 -0
  286. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/alert/hlm-alert-description.ts +17 -0
  287. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/alert/hlm-alert-title.ts +17 -0
  288. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/alert/hlm-alert.ts +35 -0
  289. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/alert/index.ts +16 -0
  290. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/button/hlm-button.token.ts +22 -0
  291. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/button/hlm-button.ts +72 -0
  292. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/button/index.ts +6 -0
  293. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/calendar/hlm-calendar-multi.ts +195 -0
  294. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/calendar/hlm-calendar-range.ts +194 -0
  295. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/calendar/hlm-calendar.ts +189 -0
  296. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/calendar/hlm-month-year-calendar.ts +119 -0
  297. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/calendar/index.ts +16 -0
  298. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-action.ts +12 -0
  299. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-avatar.ts +14 -0
  300. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-content.ts +12 -0
  301. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-description.ts +12 -0
  302. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-footer.ts +12 -0
  303. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-header.ts +15 -0
  304. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card-title.ts +12 -0
  305. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card.token.ts +19 -0
  306. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/card/hlm-card.ts +22 -0
  307. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/card/index.ts +28 -0
  308. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/collapsible/hlm-collapsible-content.ts +14 -0
  309. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/collapsible/hlm-collapsible-trigger.ts +9 -0
  310. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/collapsible/hlm-collapsible.ts +15 -0
  311. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/collapsible/index.ts +13 -0
  312. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-multi-input.ts +104 -0
  313. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker-anchor.ts +23 -0
  314. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker-input.ts +118 -0
  315. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker-multi.token.ts +109 -0
  316. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker-multi.ts +220 -0
  317. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker-trigger.ts +104 -0
  318. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker.token.ts +69 -0
  319. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-picker.ts +203 -0
  320. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-range-input.ts +120 -0
  321. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-range-picker.token.ts +86 -0
  322. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-date-range-picker.ts +252 -0
  323. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-month-year-input.ts +105 -0
  324. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-month-year-picker.token.ts +89 -0
  325. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/hlm-month-year-picker.ts +196 -0
  326. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/date-picker/index.ts +38 -0
  327. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-close.ts +9 -0
  328. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-content.ts +74 -0
  329. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-description.ts +17 -0
  330. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-footer.ts +15 -0
  331. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-header.ts +12 -0
  332. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-overlay.ts +27 -0
  333. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-portal.ts +8 -0
  334. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-title.ts +14 -0
  335. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog-trigger.ts +14 -0
  336. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog.service.ts +46 -0
  337. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/hlm-dialog.ts +24 -0
  338. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dialog/index.ts +35 -0
  339. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-checkbox-indicator.ts +21 -0
  340. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-checkbox.ts +54 -0
  341. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-focus-on-hover.ts +35 -0
  342. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-group.ts +14 -0
  343. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-item-sub-indicator.ts +19 -0
  344. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-item.ts +42 -0
  345. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-label.ts +20 -0
  346. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-radio-indicator.ts +21 -0
  347. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-radio.ts +49 -0
  348. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-separator.ts +12 -0
  349. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-shortcut.ts +15 -0
  350. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-sub-trigger.ts +52 -0
  351. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-sub.ts +53 -0
  352. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-token.ts +26 -0
  353. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu-trigger.ts +46 -0
  354. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/hlm-dropdown-menu.ts +57 -0
  355. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/dropdown-menu/index.ts +49 -0
  356. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-content.ts +12 -0
  357. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-description.ts +53 -0
  358. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-error.ts +100 -0
  359. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-group.ts +15 -0
  360. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-label.ts +17 -0
  361. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-legend.ts +19 -0
  362. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-separator.ts +24 -0
  363. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-set.ts +15 -0
  364. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field-title.ts +15 -0
  365. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/field/hlm-field.ts +47 -0
  366. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/field/index.ts +34 -0
  367. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/input/hlm-input.ts +21 -0
  368. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/input/index.ts +5 -0
  369. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/hlm-input-group-addon.ts +40 -0
  370. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/hlm-input-group-button.ts +47 -0
  371. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/hlm-input-group-input.ts +17 -0
  372. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/hlm-input-group-text.ts +14 -0
  373. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/hlm-input-group.ts +18 -0
  374. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/input-group/index.ts +19 -0
  375. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/label/hlm-label.ts +17 -0
  376. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/label/index.ts +5 -0
  377. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/label/label.html +11 -0
  378. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-numbered-pagination-query-params.ts +191 -0
  379. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-numbered-pagination.ts +290 -0
  380. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-content.ts +12 -0
  381. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-ellipsis.ts +27 -0
  382. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-item.ts +7 -0
  383. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-link.ts +51 -0
  384. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-next.ts +65 -0
  385. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination-previous.ts +65 -0
  386. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/hlm-pagination.ts +19 -0
  387. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/pagination/index.ts +31 -0
  388. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-content.ts +25 -0
  389. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-description.ts +12 -0
  390. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-header.ts +12 -0
  391. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-portal.ts +8 -0
  392. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-title.ts +12 -0
  393. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover-trigger.ts +14 -0
  394. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/popover/hlm-popover.ts +23 -0
  395. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/popover/index.ts +25 -0
  396. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-content.ts +44 -0
  397. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-group.ts +14 -0
  398. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-item.ts +36 -0
  399. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-label.ts +14 -0
  400. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-multiple.ts +37 -0
  401. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-placeholder.ts +17 -0
  402. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-portal.ts +8 -0
  403. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-scroll-down.ts +22 -0
  404. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-scroll-up.ts +22 -0
  405. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-separator.ts +14 -0
  406. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-trigger.ts +59 -0
  407. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-value-template.ts +5 -0
  408. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-value.ts +18 -0
  409. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-values-content.ts +9 -0
  410. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select-values.ts +5 -0
  411. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/hlm-select.ts +37 -0
  412. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/select/index.ts +52 -0
  413. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/separator/hlm-separator.ts +19 -0
  414. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/separator/index.ts +5 -0
  415. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/skeleton/hlm-skeleton.ts +14 -0
  416. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/skeleton/index.ts +5 -0
  417. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/spinner/hlm-spinner.ts +26 -0
  418. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/spinner/index.ts +5 -0
  419. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/utils/hlm.ts +313 -0
  420. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/utils/index.ts +2 -0
  421. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/shared/utils/provide-spartan-hlm.ts +34 -0
  422. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/index.html +0 -1
  423. package/lib/templates/{uiBundles/angularbasic/src/styles.scss → project/angularintapp/_p_/_m_/_w_/_a_/src/styles.css} +7 -38
  424. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/tsconfig.json +4 -1
  425. package/lib/templates/project/angularintapp/package.json +1 -1
  426. package/lib/templates/project/reactexternalapp/CHANGELOG.md +96 -0
  427. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/package-lock.json +419 -141
  428. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/package.json +4 -4
  429. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_ls_/LanguageSwitcher.tsx +116 -0
  430. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_ls_/__examples__/language-switcher-example.tsx +36 -0
  431. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_ls_/__examples__/vite-config-site-example.ts +44 -0
  432. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_ls_/buildLanguageUrl.ts +158 -0
  433. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_ls_/index.ts +28 -0
  434. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/_ls_/languages.ts +46 -0
  435. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/README.md +246 -0
  436. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/api/apiUtils.ts +56 -0
  437. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/api/orgApiVersionService.ts +37 -0
  438. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/api/searchableContentTypesService.ts +116 -0
  439. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/channelResolver.ts +40 -0
  440. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/cmsQueryFragment.ts +97 -0
  441. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/contentTypeSessionCache.ts +134 -0
  442. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/contentTypeUtils.ts +38 -0
  443. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/hooks/useSearchableContentTypes.ts +128 -0
  444. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/index.ts +54 -0
  445. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/parseResponse.ts +65 -0
  446. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/searchChannel.ts +15 -0
  447. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/types.ts +66 -0
  448. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/registry.ts +38 -0
  449. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/sobject/index.ts +19 -0
  450. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/sobject/parseResponse.ts +56 -0
  451. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/sobject/queryFragment.ts +141 -0
  452. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/types.ts +101 -0
  453. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/api/searchService.ts +110 -45
  454. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/GlobalSearchBox.tsx +98 -0
  455. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/MergedSearchResults.tsx +34 -17
  456. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/Search.tsx +31 -13
  457. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/SearchResults.tsx +22 -11
  458. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/SourceSection.tsx +9 -4
  459. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/controls/ScopeSelector.tsx +58 -6
  460. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/results/CmsResultRow.tsx +101 -0
  461. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/results/resolveResultRenderer.ts +49 -0
  462. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/config.json +7 -2
  463. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/constants.ts +8 -0
  464. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/hooks/useSearch.ts +313 -50
  465. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/index.ts +26 -1
  466. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/queryBuilder.ts +62 -118
  467. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/_f_/search/types.ts +74 -5
  468. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/index.ts +5 -3
  469. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/pages/AccountObjectDetailPage.tsx +4 -2
  470. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/pages/Home.tsx +3 -42
  471. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/routes.tsx +12 -5
  472. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/types/globals.d.ts +23 -0
  473. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/tsconfig.tsbuildinfo +1 -1
  474. package/lib/templates/project/reactexternalapp/package.json +1 -1
  475. package/lib/templates/project/reactinternalapp/CHANGELOG.md +96 -0
  476. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/package-lock.json +430 -152
  477. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/package.json +5 -5
  478. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/README.md +246 -0
  479. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/api/apiUtils.ts +56 -0
  480. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/api/orgApiVersionService.ts +37 -0
  481. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/api/searchableContentTypesService.ts +116 -0
  482. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/channelResolver.ts +40 -0
  483. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/cmsQueryFragment.ts +97 -0
  484. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/contentTypeSessionCache.ts +134 -0
  485. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/contentTypeUtils.ts +38 -0
  486. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/hooks/useSearchableContentTypes.ts +128 -0
  487. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/index.ts +54 -0
  488. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/parseResponse.ts +65 -0
  489. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/searchChannel.ts +15 -0
  490. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/cms/types.ts +66 -0
  491. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/registry.ts +38 -0
  492. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/sobject/index.ts +19 -0
  493. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/sobject/parseResponse.ts +56 -0
  494. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/sobject/queryFragment.ts +141 -0
  495. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/adapters/types.ts +101 -0
  496. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/api/searchService.ts +110 -45
  497. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/GlobalSearchBox.tsx +98 -0
  498. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/MergedSearchResults.tsx +34 -17
  499. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/Search.tsx +31 -13
  500. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/SearchResults.tsx +22 -11
  501. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/SourceSection.tsx +9 -4
  502. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/controls/ScopeSelector.tsx +58 -6
  503. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/results/CmsResultRow.tsx +101 -0
  504. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/components/results/resolveResultRenderer.ts +49 -0
  505. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/config.json +7 -2
  506. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/constants.ts +8 -0
  507. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/hooks/useSearch.ts +313 -50
  508. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/index.ts +26 -1
  509. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/queryBuilder.ts +62 -118
  510. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/_f_/search/types.ts +74 -5
  511. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/pages/Home.tsx +3 -42
  512. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/routes.tsx +12 -5
  513. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/tsconfig.tsbuildinfo +1 -1
  514. package/lib/templates/project/reactinternalapp/package.json +1 -1
  515. package/lib/templates/uiBundles/angularbasic/angular.json +2 -7
  516. package/lib/templates/uiBundles/angularbasic/components.json +6 -0
  517. package/lib/templates/uiBundles/angularbasic/eslint.config.js +9 -1
  518. package/lib/templates/uiBundles/angularbasic/package-lock.json +19493 -9455
  519. package/lib/templates/uiBundles/angularbasic/package.json +17 -11
  520. package/lib/templates/uiBundles/angularbasic/src/app/app.config.ts +4 -6
  521. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/alert/alert.html +9 -13
  522. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/alert/alert.ts +16 -28
  523. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/button/button.html +19 -10
  524. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/button/button.ts +34 -25
  525. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/card/card.ts +40 -50
  526. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/collapsible/collapsible.html +38 -10
  527. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/collapsible/collapsible.ts +6 -11
  528. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-picker/date-picker.html +17 -22
  529. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-picker/date-picker.ts +29 -21
  530. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-range-picker/date-range-picker.html +16 -30
  531. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-range-picker/date-range-picker.ts +39 -36
  532. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/dialog/dialog.html +13 -30
  533. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/dialog/dialog.ts +6 -21
  534. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/dropdown-menu/dropdown-menu.html +20 -0
  535. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/dropdown-menu/dropdown-menu.ts +100 -0
  536. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/field/field.html +5 -11
  537. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/field/field.ts +10 -18
  538. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/field-appearance.ts +8 -0
  539. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/icon/icon.ts +62 -0
  540. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/input/input.html +32 -17
  541. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/input/input.ts +57 -14
  542. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/label/label.ts +8 -4
  543. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/paginator/paginator.html +74 -10
  544. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/paginator/paginator.ts +74 -18
  545. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/paginator/types.ts +13 -0
  546. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/popover/popover.html +10 -38
  547. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/popover/popover.ts +12 -15
  548. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/select/select.html +34 -22
  549. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/select/select.ts +25 -34
  550. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/separator/separator.ts +11 -36
  551. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/skeleton/skeleton.ts +5 -9
  552. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/spinner/spinner.ts +14 -21
  553. package/lib/templates/uiBundles/angularbasic/src/app/shared/alert/hlm-alert-action.ts +14 -0
  554. package/lib/templates/uiBundles/angularbasic/src/app/shared/alert/hlm-alert-description.ts +17 -0
  555. package/lib/templates/uiBundles/angularbasic/src/app/shared/alert/hlm-alert-title.ts +17 -0
  556. package/lib/templates/uiBundles/angularbasic/src/app/shared/alert/hlm-alert.ts +35 -0
  557. package/lib/templates/uiBundles/angularbasic/src/app/shared/alert/index.ts +16 -0
  558. package/lib/templates/uiBundles/angularbasic/src/app/shared/button/hlm-button.token.ts +22 -0
  559. package/lib/templates/uiBundles/angularbasic/src/app/shared/button/hlm-button.ts +72 -0
  560. package/lib/templates/uiBundles/angularbasic/src/app/shared/button/index.ts +6 -0
  561. package/lib/templates/uiBundles/angularbasic/src/app/shared/calendar/hlm-calendar-multi.ts +195 -0
  562. package/lib/templates/uiBundles/angularbasic/src/app/shared/calendar/hlm-calendar-range.ts +194 -0
  563. package/lib/templates/uiBundles/angularbasic/src/app/shared/calendar/hlm-calendar.ts +189 -0
  564. package/lib/templates/uiBundles/angularbasic/src/app/shared/calendar/hlm-month-year-calendar.ts +119 -0
  565. package/lib/templates/uiBundles/angularbasic/src/app/shared/calendar/index.ts +16 -0
  566. package/lib/templates/uiBundles/angularbasic/src/app/shared/card/hlm-card-action.ts +12 -0
  567. package/lib/templates/uiBundles/angularbasic/src/app/shared/card/hlm-card-avatar.ts +14 -0
  568. package/lib/templates/uiBundles/angularbasic/src/app/shared/card/hlm-card-content.ts +12 -0
  569. package/lib/templates/uiBundles/angularbasic/src/app/shared/card/hlm-card-description.ts +12 -0
  570. package/lib/templates/uiBundles/angularbasic/src/app/shared/card/hlm-card-footer.ts +12 -0
  571. package/lib/templates/uiBundles/angularbasic/src/app/shared/card/hlm-card-header.ts +15 -0
  572. package/lib/templates/uiBundles/angularbasic/src/app/shared/card/hlm-card-title.ts +12 -0
  573. package/lib/templates/uiBundles/angularbasic/src/app/shared/card/hlm-card.token.ts +19 -0
  574. package/lib/templates/uiBundles/angularbasic/src/app/shared/card/hlm-card.ts +22 -0
  575. package/lib/templates/uiBundles/angularbasic/src/app/shared/card/index.ts +28 -0
  576. package/lib/templates/uiBundles/angularbasic/src/app/shared/collapsible/hlm-collapsible-content.ts +14 -0
  577. package/lib/templates/uiBundles/angularbasic/src/app/shared/collapsible/hlm-collapsible-trigger.ts +9 -0
  578. package/lib/templates/uiBundles/angularbasic/src/app/shared/collapsible/hlm-collapsible.ts +15 -0
  579. package/lib/templates/uiBundles/angularbasic/src/app/shared/collapsible/index.ts +13 -0
  580. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-date-multi-input.ts +104 -0
  581. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-date-picker-anchor.ts +23 -0
  582. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-date-picker-input.ts +118 -0
  583. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-date-picker-multi.token.ts +109 -0
  584. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-date-picker-multi.ts +220 -0
  585. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-date-picker-trigger.ts +104 -0
  586. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-date-picker.token.ts +69 -0
  587. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-date-picker.ts +203 -0
  588. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-date-range-input.ts +120 -0
  589. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-date-range-picker.token.ts +86 -0
  590. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-date-range-picker.ts +252 -0
  591. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-month-year-input.ts +105 -0
  592. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-month-year-picker.token.ts +89 -0
  593. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/hlm-month-year-picker.ts +196 -0
  594. package/lib/templates/uiBundles/angularbasic/src/app/shared/date-picker/index.ts +38 -0
  595. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/hlm-dialog-close.ts +9 -0
  596. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/hlm-dialog-content.ts +74 -0
  597. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/hlm-dialog-description.ts +17 -0
  598. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/hlm-dialog-footer.ts +15 -0
  599. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/hlm-dialog-header.ts +12 -0
  600. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/hlm-dialog-overlay.ts +27 -0
  601. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/hlm-dialog-portal.ts +8 -0
  602. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/hlm-dialog-title.ts +14 -0
  603. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/hlm-dialog-trigger.ts +14 -0
  604. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/hlm-dialog.service.ts +46 -0
  605. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/hlm-dialog.ts +24 -0
  606. package/lib/templates/uiBundles/angularbasic/src/app/shared/dialog/index.ts +35 -0
  607. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-checkbox-indicator.ts +21 -0
  608. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-checkbox.ts +54 -0
  609. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-focus-on-hover.ts +35 -0
  610. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-group.ts +14 -0
  611. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-item-sub-indicator.ts +19 -0
  612. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-item.ts +42 -0
  613. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-label.ts +20 -0
  614. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-radio-indicator.ts +21 -0
  615. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-radio.ts +49 -0
  616. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-separator.ts +12 -0
  617. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-shortcut.ts +15 -0
  618. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-sub-trigger.ts +52 -0
  619. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-sub.ts +53 -0
  620. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-token.ts +26 -0
  621. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu-trigger.ts +46 -0
  622. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/hlm-dropdown-menu.ts +57 -0
  623. package/lib/templates/uiBundles/angularbasic/src/app/shared/dropdown-menu/index.ts +49 -0
  624. package/lib/templates/uiBundles/angularbasic/src/app/shared/field/hlm-field-content.ts +12 -0
  625. package/lib/templates/uiBundles/angularbasic/src/app/shared/field/hlm-field-description.ts +53 -0
  626. package/lib/templates/uiBundles/angularbasic/src/app/shared/field/hlm-field-error.ts +100 -0
  627. package/lib/templates/uiBundles/angularbasic/src/app/shared/field/hlm-field-group.ts +15 -0
  628. package/lib/templates/uiBundles/angularbasic/src/app/shared/field/hlm-field-label.ts +17 -0
  629. package/lib/templates/uiBundles/angularbasic/src/app/shared/field/hlm-field-legend.ts +19 -0
  630. package/lib/templates/uiBundles/angularbasic/src/app/shared/field/hlm-field-separator.ts +24 -0
  631. package/lib/templates/uiBundles/angularbasic/src/app/shared/field/hlm-field-set.ts +15 -0
  632. package/lib/templates/uiBundles/angularbasic/src/app/shared/field/hlm-field-title.ts +15 -0
  633. package/lib/templates/uiBundles/angularbasic/src/app/shared/field/hlm-field.ts +47 -0
  634. package/lib/templates/uiBundles/angularbasic/src/app/shared/field/index.ts +34 -0
  635. package/lib/templates/uiBundles/angularbasic/src/app/shared/input/hlm-input.ts +21 -0
  636. package/lib/templates/uiBundles/angularbasic/src/app/shared/input/index.ts +5 -0
  637. package/lib/templates/uiBundles/angularbasic/src/app/shared/input-group/hlm-input-group-addon.ts +40 -0
  638. package/lib/templates/uiBundles/angularbasic/src/app/shared/input-group/hlm-input-group-button.ts +47 -0
  639. package/lib/templates/uiBundles/angularbasic/src/app/shared/input-group/hlm-input-group-input.ts +17 -0
  640. package/lib/templates/uiBundles/angularbasic/src/app/shared/input-group/hlm-input-group-text.ts +14 -0
  641. package/lib/templates/uiBundles/angularbasic/src/app/shared/input-group/hlm-input-group.ts +18 -0
  642. package/lib/templates/uiBundles/angularbasic/src/app/shared/input-group/index.ts +19 -0
  643. package/lib/templates/uiBundles/angularbasic/src/app/shared/label/hlm-label.ts +17 -0
  644. package/lib/templates/uiBundles/angularbasic/src/app/shared/label/index.ts +5 -0
  645. package/lib/templates/uiBundles/angularbasic/src/app/shared/label/label.html +11 -0
  646. package/lib/templates/uiBundles/angularbasic/src/app/shared/pagination/hlm-numbered-pagination-query-params.ts +191 -0
  647. package/lib/templates/uiBundles/angularbasic/src/app/shared/pagination/hlm-numbered-pagination.ts +290 -0
  648. package/lib/templates/uiBundles/angularbasic/src/app/shared/pagination/hlm-pagination-content.ts +12 -0
  649. package/lib/templates/uiBundles/angularbasic/src/app/shared/pagination/hlm-pagination-ellipsis.ts +27 -0
  650. package/lib/templates/uiBundles/angularbasic/src/app/shared/pagination/hlm-pagination-item.ts +7 -0
  651. package/lib/templates/uiBundles/angularbasic/src/app/shared/pagination/hlm-pagination-link.ts +51 -0
  652. package/lib/templates/uiBundles/angularbasic/src/app/shared/pagination/hlm-pagination-next.ts +65 -0
  653. package/lib/templates/uiBundles/angularbasic/src/app/shared/pagination/hlm-pagination-previous.ts +65 -0
  654. package/lib/templates/uiBundles/angularbasic/src/app/shared/pagination/hlm-pagination.ts +19 -0
  655. package/lib/templates/uiBundles/angularbasic/src/app/shared/pagination/index.ts +31 -0
  656. package/lib/templates/uiBundles/angularbasic/src/app/shared/popover/hlm-popover-content.ts +25 -0
  657. package/lib/templates/uiBundles/angularbasic/src/app/shared/popover/hlm-popover-description.ts +12 -0
  658. package/lib/templates/uiBundles/angularbasic/src/app/shared/popover/hlm-popover-header.ts +12 -0
  659. package/lib/templates/uiBundles/angularbasic/src/app/shared/popover/hlm-popover-portal.ts +8 -0
  660. package/lib/templates/uiBundles/angularbasic/src/app/shared/popover/hlm-popover-title.ts +12 -0
  661. package/lib/templates/uiBundles/angularbasic/src/app/shared/popover/hlm-popover-trigger.ts +14 -0
  662. package/lib/templates/uiBundles/angularbasic/src/app/shared/popover/hlm-popover.ts +23 -0
  663. package/lib/templates/uiBundles/angularbasic/src/app/shared/popover/index.ts +25 -0
  664. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-content.ts +44 -0
  665. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-group.ts +14 -0
  666. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-item.ts +36 -0
  667. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-label.ts +14 -0
  668. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-multiple.ts +37 -0
  669. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-placeholder.ts +17 -0
  670. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-portal.ts +8 -0
  671. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-scroll-down.ts +22 -0
  672. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-scroll-up.ts +22 -0
  673. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-separator.ts +14 -0
  674. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-trigger.ts +59 -0
  675. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-value-template.ts +5 -0
  676. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-value.ts +18 -0
  677. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-values-content.ts +9 -0
  678. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select-values.ts +5 -0
  679. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/hlm-select.ts +37 -0
  680. package/lib/templates/uiBundles/angularbasic/src/app/shared/select/index.ts +52 -0
  681. package/lib/templates/uiBundles/angularbasic/src/app/shared/separator/hlm-separator.ts +19 -0
  682. package/lib/templates/uiBundles/angularbasic/src/app/shared/separator/index.ts +5 -0
  683. package/lib/templates/uiBundles/angularbasic/src/app/shared/skeleton/hlm-skeleton.ts +14 -0
  684. package/lib/templates/uiBundles/angularbasic/src/app/shared/skeleton/index.ts +5 -0
  685. package/lib/templates/uiBundles/angularbasic/src/app/shared/spinner/hlm-spinner.ts +26 -0
  686. package/lib/templates/uiBundles/angularbasic/src/app/shared/spinner/index.ts +5 -0
  687. package/lib/templates/uiBundles/angularbasic/src/app/shared/utils/hlm.ts +313 -0
  688. package/lib/templates/uiBundles/angularbasic/src/app/shared/utils/index.ts +2 -0
  689. package/lib/templates/uiBundles/angularbasic/src/app/shared/utils/provide-spartan-hlm.ts +34 -0
  690. package/lib/templates/uiBundles/angularbasic/src/index.html +0 -1
  691. package/lib/templates/{project/angularintapp/_p_/_m_/_w_/_a_/src/styles.scss → uiBundles/angularbasic/src/styles.css} +7 -38
  692. package/lib/templates/uiBundles/angularbasic/tsconfig.json +4 -1
  693. package/lib/templates/uiBundles/reactbasic/package-lock.json +393 -115
  694. package/lib/utils/template-placeholders.js +7 -0
  695. package/lib/utils/template-placeholders.js.map +1 -1
  696. package/lib/utils/uiBundleTemplateUtils.d.ts +3 -1
  697. package/lib/utils/uiBundleTemplateUtils.js +4 -1
  698. package/lib/utils/uiBundleTemplateUtils.js.map +1 -1
  699. package/package.json +7 -7
  700. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/_field-size.scss +0 -42
  701. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/button/button.scss +0 -112
  702. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/card/card.scss +0 -34
  703. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-picker/date-picker.scss +0 -36
  704. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-range-picker/date-range-picker.scss +0 -33
  705. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/input/input.scss +0 -35
  706. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/label/label.html +0 -3
  707. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/select/select.scss +0 -35
  708. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/separator/separator.html +0 -1
  709. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/separator/separator.scss +0 -23
  710. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/skeleton/skeleton.html +0 -1
  711. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/components/ui/skeleton/skeleton.scss +0 -28
  712. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/features/authentication/submit-button/submit-button.scss +0 -17
  713. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/pages/account-detail/account-detail-page.scss +0 -7
  714. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/pages/home/home-page.html +0 -18
  715. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/app/pages/home/home-page.ts +0 -47
  716. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/src/theme.scss +0 -39
  717. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/_field-size.scss +0 -42
  718. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/button/button.scss +0 -112
  719. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/card/card.scss +0 -34
  720. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-picker/date-picker.scss +0 -36
  721. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/date-range-picker/date-range-picker.scss +0 -33
  722. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/input/input.scss +0 -35
  723. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/label/label.html +0 -3
  724. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/select/select.scss +0 -35
  725. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/separator/separator.html +0 -1
  726. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/separator/separator.scss +0 -23
  727. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/skeleton/skeleton.html +0 -1
  728. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/components/ui/skeleton/skeleton.scss +0 -28
  729. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/pages/account-detail/account-detail-page.scss +0 -7
  730. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/pages/home/home-page.html +0 -18
  731. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/app/pages/home/home-page.ts +0 -47
  732. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/src/theme.scss +0 -39
  733. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/src/pages/AccountSearch.tsx +0 -25
  734. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/src/pages/AccountSearch.tsx +0 -25
  735. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/_field-size.scss +0 -42
  736. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/button/button.scss +0 -112
  737. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/card/card.scss +0 -34
  738. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-picker/date-picker.scss +0 -36
  739. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-range-picker/date-range-picker.scss +0 -33
  740. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/input/input.scss +0 -35
  741. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/label/label.html +0 -3
  742. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/select/select.scss +0 -35
  743. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/separator/separator.html +0 -1
  744. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/separator/separator.scss +0 -23
  745. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/skeleton/skeleton.html +0 -1
  746. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/skeleton/skeleton.scss +0 -28
  747. package/lib/templates/uiBundles/angularbasic/src/theme.scss +0 -39
@@ -3,39 +3,47 @@
3
3
  * All rights reserved.
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
- import { ChangeDetectionStrategy, Component, input, model } from '@angular/core';
7
- import { FormsModule } from '@angular/forms';
8
- import { MatDatepickerModule } from '@angular/material/datepicker';
9
- import { MatFormFieldModule, type MatFormFieldAppearance } from '@angular/material/form-field';
10
- import { MatInputModule } from '@angular/material/input';
6
+ import {
7
+ ChangeDetectionStrategy,
8
+ Component,
9
+ booleanAttribute,
10
+ computed,
11
+ input,
12
+ model,
13
+ } from '@angular/core';
14
+ import { NgClass } from '@angular/common';
15
+ import { HlmDatePickerImports } from '@spartan-ng/styles/date-picker';
11
16
  import type { AppFieldSize } from '../field-size';
12
17
 
13
- /**
14
- * Thin wrapper over Material's `mat-form-field` + `matInput` + `mat-datepicker`.
15
- * Relies on `provideNativeDateAdapter()`, so `value` is a plain `Date`.
16
- */
17
18
  @Component({
18
19
  selector: 'app-date-picker',
19
20
  changeDetection: ChangeDetectionStrategy.OnPush,
20
- imports: [FormsModule, MatDatepickerModule, MatFormFieldModule, MatInputModule],
21
+ imports: [HlmDatePickerImports, NgClass],
22
+ host: { class: 'block min-w-0' },
21
23
  templateUrl: './date-picker.html',
22
- styleUrl: './date-picker.scss',
23
24
  })
24
25
  export class DatePickerComponent {
25
- /** Two-way bindable date value. `null` clears the field. Supports `[(value)]`. */
26
- readonly value = model<Date | null>(null);
27
-
26
+ readonly value = model<Date | null | undefined>(undefined);
28
27
  readonly label = input<string>('');
29
28
  readonly placeholder = input<string>('');
30
- readonly disabled = input<boolean>(false);
31
- readonly appearance = input<MatFormFieldAppearance>('outline');
32
- /** Field height: `sm` = 24px, `default` = 32px, `lg` = 40px. */
29
+ readonly disabled = input(false, { transform: booleanAttribute });
30
+ readonly readonly = input(false, { transform: booleanAttribute });
33
31
  readonly size = input<AppFieldSize>('default');
34
-
35
- /** Earliest / latest selectable date; `null` leaves that bound open. */
36
32
  readonly min = input<Date | null>(null);
37
33
  readonly max = input<Date | null>(null);
38
34
 
39
- /** When `true`, calendar-only: typing is blocked, clicking opens the picker. */
40
- readonly readonly = input<boolean>(false);
35
+ private static _uid = 0;
36
+ protected readonly labelId = `app-date-picker-${DatePickerComponent._uid++}`;
37
+
38
+ protected readonly wrapperClasses = computed(() => {
39
+ const cls: string[] = [];
40
+ const s = this.size();
41
+ if (s === 'sm')
42
+ cls.push('[&_[data-slot=input-group]]:h-6', '[&_[data-slot=input-group]]:text-xs');
43
+ if (s === 'lg')
44
+ cls.push('[&_[data-slot=input-group]]:h-10', '[&_[data-slot=input-group]]:text-lg');
45
+ return cls;
46
+ });
41
47
  }
48
+
49
+ export const DatePickerImports = [DatePickerComponent] as const;
@@ -1,34 +1,20 @@
1
- <mat-form-field
2
- class="w-full"
3
- [class]="'size-' + size()"
4
- [appearance]="appearance()"
5
- subscriptSizing="dynamic"
6
- >
1
+ <div class="w-full" [ngClass]="wrapperClasses()">
7
2
  @if (label()) {
8
- <mat-label>{{ label() }}</mat-label>
3
+ <label [for]="labelId" class="text-sm leading-none font-medium select-none mb-1.5 block">
4
+ {{ label() }}
5
+ </label>
9
6
  }
10
- <mat-date-range-input [rangePicker]="picker" [min]="min()" [max]="max()" [disabled]="disabled()">
11
- <input
12
- matStartDate
13
- [placeholder]="startPlaceholder()"
14
- [value]="value()?.start ?? null"
7
+ <hlm-date-range-picker
8
+ [date]="dateRange()"
9
+ (dateChange)="onRangeChange($event)"
10
+ [disabled]="disabled()"
11
+ [minDate]="min()"
12
+ [maxDate]="max()"
13
+ >
14
+ <hlm-date-range-input
15
+ [inputId]="labelId"
16
+ [placeholder]="startPlaceholder() + ' — ' + endPlaceholder()"
15
17
  [readonly]="readonly()"
16
- (dateChange)="onStartChange($event.value)"
17
- (click)="readonly() && picker.open()"
18
- (keydown.enter)="readonly() && picker.open()"
19
- (keydown.space)="readonly() && picker.open()"
20
18
  />
21
- <input
22
- matEndDate
23
- [placeholder]="endPlaceholder()"
24
- [value]="value()?.end ?? null"
25
- [readonly]="readonly()"
26
- (dateChange)="onEndChange($event.value)"
27
- (click)="readonly() && picker.open()"
28
- (keydown.enter)="readonly() && picker.open()"
29
- (keydown.space)="readonly() && picker.open()"
30
- />
31
- </mat-date-range-input>
32
- <mat-datepicker-toggle matIconSuffix [for]="picker" />
33
- <mat-date-range-picker #picker />
34
- </mat-form-field>
19
+ </hlm-date-range-picker>
20
+ </div>
@@ -3,64 +3,67 @@
3
3
  * All rights reserved.
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
- import { ChangeDetectionStrategy, Component, input, model } from '@angular/core';
7
- import { FormsModule } from '@angular/forms';
8
- import { DateRange, MatDatepickerModule } from '@angular/material/datepicker';
9
- import { MatFormFieldModule, type MatFormFieldAppearance } from '@angular/material/form-field';
10
- import { MatInputModule } from '@angular/material/input';
6
+ import {
7
+ ChangeDetectionStrategy,
8
+ Component,
9
+ booleanAttribute,
10
+ computed,
11
+ input,
12
+ model,
13
+ } from '@angular/core';
14
+ import { NgClass } from '@angular/common';
15
+ import { HlmDatePickerImports } from '@spartan-ng/styles/date-picker';
11
16
  import type { AppFieldSize } from '../field-size';
12
17
 
13
- export { DateRange } from '@angular/material/datepicker';
18
+ export interface DateRange<D> {
19
+ start: D | null;
20
+ end: D | null;
21
+ }
14
22
 
15
- /**
16
- * Thin wrapper over Material's `mat-form-field` + `mat-date-range-input` +
17
- * `mat-date-range-picker`. Relies on `provideNativeDateAdapter()`, so the value
18
- * is Material's `DateRange<Date>` (`{ start, end }`) of plain `Date`s.
19
- */
20
23
  @Component({
21
24
  selector: 'app-date-range-picker',
22
25
  changeDetection: ChangeDetectionStrategy.OnPush,
23
- imports: [FormsModule, MatDatepickerModule, MatFormFieldModule, MatInputModule],
26
+ imports: [HlmDatePickerImports, NgClass],
27
+ host: { class: 'block min-w-0' },
24
28
  templateUrl: './date-range-picker.html',
25
- styleUrl: './date-range-picker.scss',
26
29
  })
27
30
  export class DateRangePickerComponent {
28
- /** Two-way bindable range value. `null` clears the field. Supports `[(value)]`. */
29
31
  readonly value = model<DateRange<Date> | null>(null);
30
-
31
32
  readonly label = input<string>('');
32
33
  readonly startPlaceholder = input<string>('Start');
33
34
  readonly endPlaceholder = input<string>('End');
34
- readonly disabled = input<boolean>(false);
35
- readonly appearance = input<MatFormFieldAppearance>('outline');
36
- /** Field height: `sm` = 24px, `default` = 32px, `lg` = 40px. */
35
+ readonly disabled = input(false, { transform: booleanAttribute });
36
+ readonly readonly = input(false, { transform: booleanAttribute });
37
37
  readonly size = input<AppFieldSize>('default');
38
-
39
- /** Earliest / latest selectable date; `null` leaves that bound open. */
40
38
  readonly min = input<Date | null>(null);
41
39
  readonly max = input<Date | null>(null);
42
40
 
43
- /** When `true`, calendar-only: typing is blocked, clicking opens the picker. */
44
- readonly readonly = input<boolean>(false);
41
+ private static _uid = 0;
42
+ protected readonly labelId = `app-date-range-picker-${DateRangePickerComponent._uid++}`;
45
43
 
46
- /** Start/end come off the range input's `(dateChange)` events as a pair. */
47
- protected onStartChange(start: Date | null): void {
48
- this.setRange(start, this.value()?.end ?? null);
49
- }
44
+ protected readonly wrapperClasses = computed(() => {
45
+ const cls: string[] = [];
46
+ const s = this.size();
47
+ if (s === 'sm')
48
+ cls.push('[&_[data-slot=input-group]]:h-6', '[&_[data-slot=input-group]]:text-xs');
49
+ if (s === 'lg')
50
+ cls.push('[&_[data-slot=input-group]]:h-10', '[&_[data-slot=input-group]]:text-lg');
51
+ return cls;
52
+ });
50
53
 
51
- protected onEndChange(end: Date | null): void {
52
- this.setRange(this.value()?.start ?? null, end);
54
+ protected dateRange(): [Date, Date] | undefined {
55
+ const v = this.value();
56
+ if (v?.start && v?.end) return [v.start, v.end];
57
+ return undefined;
53
58
  }
54
59
 
55
- /**
56
- * Commit a range, guarding against an inverted `start > end` that the two
57
- * independent `(dateChange)` events can otherwise produce mid-selection.
58
- */
59
- private setRange(start: Date | null, end: Date | null): void {
60
- if (start && end && start.getTime() > end.getTime()) {
61
- this.value.set(new DateRange(end, start));
60
+ protected onRangeChange(range: [Date | null, Date | null] | null): void {
61
+ if (!range) {
62
+ this.value.set(null);
62
63
  return;
63
64
  }
64
- this.value.set(new DateRange(start, end));
65
+ this.value.set({ start: range[0], end: range[1] });
65
66
  }
66
67
  }
68
+
69
+ export const DateRangePickerImports = [DateRangePickerComponent] as const;
@@ -1,37 +1,20 @@
1
- <ng-template
2
- cdkConnectedOverlay
3
- [cdkConnectedOverlayOpen]="open()"
4
- [cdkConnectedOverlayHasBackdrop]="true"
5
- cdkConnectedOverlayBackdropClass="cdk-overlay-dark-backdrop"
6
- [cdkConnectedOverlayPositions]="[
7
- {
8
- originX: 'center',
9
- originY: 'center',
10
- overlayX: 'center',
11
- overlayY: 'center',
12
- },
13
- ]"
14
- (backdropClick)="onBackdropClick()"
15
- (overlayKeydown)="$event.key === 'Escape' && close()"
16
- (detach)="close()"
1
+ <hlm-dialog
2
+ [state]="open() ? 'open' : 'closed'"
3
+ [disableClose]="!closeOnBackdrop()"
4
+ [aria-label]="ariaLabel()"
5
+ [aria-labelledby]="ariaLabelledby()"
6
+ (stateChanged)="onStateChanged($event)"
17
7
  >
18
- <div
19
- role="dialog"
20
- aria-modal="true"
21
- [attr.aria-label]="ariaLabel()"
22
- [attr.aria-labelledby]="ariaLabelledby()"
23
- cdkTrapFocus
24
- [cdkTrapFocusAutoCapture]="true"
25
- class="bg-card text-card-foreground flex w-full max-w-md flex-col gap-4 rounded-xl p-6 shadow-lg ring-1 ring-black/10 outline-none"
26
- >
27
- <div data-slot="dialog-header" class="flex flex-col gap-1">
8
+ <button hlmDialogTrigger type="button" class="hidden" aria-label="Open dialog"></button>
9
+ <hlm-dialog-content *hlmDialogPortal>
10
+ <div hlmDialogHeader>
28
11
  <ng-content select="[header]" />
29
12
  </div>
30
- <div data-slot="dialog-body" class="text-sm">
13
+ <div class="text-sm">
31
14
  <ng-content />
32
15
  </div>
33
- <div data-slot="dialog-footer" class="flex items-center justify-end gap-2">
16
+ <div hlmDialogFooter>
34
17
  <ng-content select="[footer]" />
35
18
  </div>
36
- </div>
37
- </ng-template>
19
+ </hlm-dialog-content>
20
+ </hlm-dialog>
@@ -3,43 +3,26 @@
3
3
  * All rights reserved.
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
- import { CdkTrapFocus } from '@angular/cdk/a11y';
7
- import { CdkConnectedOverlay } from '@angular/cdk/overlay';
8
6
  import { ChangeDetectionStrategy, Component, input, model, output } from '@angular/core';
7
+ import { HlmDialogImports } from '@spartan-ng/styles/dialog';
9
8
 
10
- /**
11
- * Modal dialog backed by CDK Overlay. Slots: `[header]`, default (body),
12
- * `[footer]`. `open` is a two-way model; a backdrop click or Escape closes it
13
- * and emits `(closed)`. `cdkTrapFocus` keeps focus inside the panel while open.
14
- */
15
9
  @Component({
16
10
  selector: 'app-dialog',
17
11
  changeDetection: ChangeDetectionStrategy.OnPush,
18
- imports: [CdkConnectedOverlay, CdkTrapFocus],
12
+ imports: [HlmDialogImports],
19
13
  templateUrl: './dialog.html',
20
14
  })
21
15
  export class DialogComponent {
22
- /** Two-way bindable open state. Supports `[(open)]`. */
23
16
  readonly open = model<boolean>(false);
24
-
25
- /** When true a backdrop click closes the dialog. */
26
17
  readonly closeOnBackdrop = input<boolean>(true);
27
-
28
- /** Accessible name for the dialog (or use `ariaLabelledby`). */
29
18
  readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });
30
-
31
- /** `id` of an element (e.g. the projected header) that names the dialog. */
32
19
  readonly ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });
33
-
34
- /** Emitted whenever the dialog transitions to closed. */
35
20
  readonly closed = output<void>();
36
21
 
37
- /** Imperatively open the dialog. */
38
22
  show(): void {
39
23
  this.open.set(true);
40
24
  }
41
25
 
42
- /** Imperatively close the dialog and notify listeners. */
43
26
  close(): void {
44
27
  if (this.open()) {
45
28
  this.open.set(false);
@@ -47,9 +30,11 @@ export class DialogComponent {
47
30
  }
48
31
  }
49
32
 
50
- protected onBackdropClick(): void {
51
- if (this.closeOnBackdrop()) {
33
+ protected onStateChanged(state: 'open' | 'closed'): void {
34
+ if (state === 'closed' && this.open()) {
52
35
  this.close();
53
36
  }
54
37
  }
55
38
  }
39
+
40
+ export const DialogImports = [DialogComponent] as const;
@@ -0,0 +1,20 @@
1
+ <button
2
+ [hlmDropdownMenuTrigger]="menuTpl"
3
+ [align]="align()"
4
+ [side]="side()"
5
+ type="button"
6
+ [class]="triggerClass()"
7
+ [attr.aria-label]="ariaLabel()"
8
+ >
9
+ <ng-content select="[trigger]" />
10
+ </button>
11
+ <ng-template #menuTpl>
12
+ <div
13
+ hlmDropdownMenu
14
+ appDropdownMenuInjector
15
+ #menuInjector="appDropdownMenuInjector"
16
+ [sideOffset]="sideOffset()"
17
+ >
18
+ <ng-container *ngTemplateOutlet="content().templateRef; injector: menuInjector.injector" />
19
+ </div>
20
+ </ng-template>
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Copyright (c) 2026, Salesforce, Inc.,
3
+ * All rights reserved.
4
+ * For full license text, see the LICENSE.txt file
5
+ */
6
+ import { CdkMenuItem } from '@angular/cdk/menu';
7
+ import { NgTemplateOutlet } from '@angular/common';
8
+ import {
9
+ ChangeDetectionStrategy,
10
+ Component,
11
+ Directive,
12
+ inject,
13
+ Injector,
14
+ input,
15
+ TemplateRef,
16
+ contentChild,
17
+ } from '@angular/core';
18
+ import { outputFromObservable } from '@angular/core/rxjs-interop';
19
+ import type { MenuAlign, MenuSide } from '@spartan-ng/brain/core';
20
+ import {
21
+ HlmDropdownMenu,
22
+ HlmDropdownMenuItem,
23
+ HlmDropdownMenuLabel,
24
+ HlmDropdownMenuSeparator,
25
+ HlmDropdownMenuTrigger,
26
+ } from '@spartan-ng/styles/dropdown-menu';
27
+
28
+ // `appDropdownMenuItem` must be a directive (not a component) so it can be applied
29
+ // directly to the feature's own `<a>`/`<button>`, preserving native ENTER→click for
30
+ // `routerLink` and keyboard nav.
31
+ // Marker for the projected menu body. Consumers declare their items inside
32
+ // `<ng-template appDropdownMenuContent>` so the template can be rendered *inside*
33
+ // the `hlmDropdownMenu` (CdkMenu) with that element's injector — otherwise the
34
+ // items resolve DI at their declaration site and can't find `cdk-menu-stack`.
35
+ @Directive({ selector: '[appDropdownMenuContent]' })
36
+ export class DropdownMenuContentDirective {
37
+ readonly templateRef = inject<TemplateRef<unknown>>(TemplateRef);
38
+ }
39
+
40
+ // Captures the node injector of the `hlmDropdownMenu` element (which carries the
41
+ // `cdk-menu-stack` provider) so the projected content can inherit it.
42
+ @Directive({ selector: '[appDropdownMenuInjector]', exportAs: 'appDropdownMenuInjector' })
43
+ export class DropdownMenuInjectorDirective {
44
+ readonly injector = inject(Injector);
45
+ }
46
+
47
+ @Component({
48
+ selector: 'app-dropdown-menu',
49
+ changeDetection: ChangeDetectionStrategy.OnPush,
50
+ imports: [
51
+ HlmDropdownMenuTrigger,
52
+ HlmDropdownMenu,
53
+ NgTemplateOutlet,
54
+ DropdownMenuInjectorDirective,
55
+ ],
56
+ templateUrl: './dropdown-menu.html',
57
+ })
58
+ export class DropdownMenuComponent {
59
+ readonly align = input<MenuAlign>('start');
60
+ readonly side = input<MenuSide>('bottom');
61
+ readonly sideOffset = input<number>(1);
62
+ readonly triggerClass = input<string>('');
63
+ readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });
64
+
65
+ protected readonly content = contentChild.required(DropdownMenuContentDirective);
66
+ }
67
+
68
+ @Directive({
69
+ selector: 'a[appDropdownMenuItem], button[appDropdownMenuItem]',
70
+ hostDirectives: [{ directive: HlmDropdownMenuItem, inputs: ['disabled', 'variant', 'inset'] }],
71
+ })
72
+ export class DropdownMenuItemDirective {
73
+ // outputFromObservable workaround: a parent hostDirective can't re-export a host
74
+ // directive's output directly (raises NG2017), so bridge it via CdkMenuItem's observable.
75
+ readonly triggered = outputFromObservable(inject(CdkMenuItem).triggered);
76
+ }
77
+
78
+ @Component({
79
+ selector: 'app-dropdown-menu-label',
80
+ changeDetection: ChangeDetectionStrategy.OnPush,
81
+ hostDirectives: [{ directive: HlmDropdownMenuLabel, inputs: ['inset'] }],
82
+ template: '<ng-content />',
83
+ })
84
+ export class DropdownMenuLabelComponent {}
85
+
86
+ @Component({
87
+ selector: 'app-dropdown-menu-separator',
88
+ changeDetection: ChangeDetectionStrategy.OnPush,
89
+ hostDirectives: [HlmDropdownMenuSeparator],
90
+ template: '',
91
+ })
92
+ export class DropdownMenuSeparatorComponent {}
93
+
94
+ export const DropdownMenuImports = [
95
+ DropdownMenuComponent,
96
+ DropdownMenuContentDirective,
97
+ DropdownMenuItemDirective,
98
+ DropdownMenuLabelComponent,
99
+ DropdownMenuSeparatorComponent,
100
+ ] as const;
@@ -1,21 +1,15 @@
1
1
  @if (label()) {
2
- <label [attr.for]="htmlFor()" class="text-sm leading-none font-medium select-none">
2
+ <label hlmFieldLabel [for]="htmlFor() ?? undefined">
3
3
  {{ label() }}
4
4
  @if (required()) {
5
5
  <span aria-hidden="true" class="text-destructive">*</span>
6
6
  }
7
7
  </label>
8
8
  }
9
-
9
+ @if (description()) {
10
+ <p hlmFieldDescription>{{ description() }}</p>
11
+ }
10
12
  <ng-content />
11
-
12
13
  @if (error()) {
13
- <p
14
- [id]="htmlFor() ? htmlFor() + '-error' : null"
15
- data-slot="field-error"
16
- role="alert"
17
- class="text-destructive text-sm"
18
- >
19
- {{ error() }}
20
- </p>
14
+ <hlm-field-error [forceShow]="true">{{ error() }}</hlm-field-error>
21
15
  }
@@ -3,34 +3,26 @@
3
3
  * All rights reserved.
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
6
+ import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';
7
+ import { HlmField, HlmFieldImports } from '@spartan-ng/styles/field';
7
8
 
8
- /**
9
- * Form-field wrapper: renders a `<label>`, the projected control, and an error
10
- * message when present. Composes around `app-input` and other controls.
11
- */
12
9
  @Component({
13
10
  selector: 'app-field',
14
11
  changeDetection: ChangeDetectionStrategy.OnPush,
15
- templateUrl: './field.html',
12
+ imports: [HlmFieldImports],
13
+ hostDirectives: [HlmField],
16
14
  host: {
17
15
  'data-slot': 'field',
18
- class: 'flex flex-col gap-1.5',
16
+ '[attr.data-invalid]': 'error() ? true : null',
19
17
  },
18
+ templateUrl: './field.html',
20
19
  })
21
20
  export class FieldComponent {
22
- /** Optional label text rendered above the control. */
23
21
  readonly label = input<string>('');
24
-
25
- /**
26
- * Error message; renders in a `role="alert"` region. When `htmlFor` is set
27
- * the region gets id `<htmlFor>-error` for the control's `aria-describedby`.
28
- */
22
+ readonly description = input<string>('');
29
23
  readonly error = input<string | null>(null);
30
-
31
- /** Marks the field required and renders an asterisk next to the label. */
32
- readonly required = input<boolean>(false);
33
-
34
- /** `id` of the projected control; forwarded to the label's `for`. */
24
+ readonly required = input(false, { transform: booleanAttribute });
35
25
  readonly htmlFor = input<string | null>(null);
36
26
  }
27
+
28
+ export const FieldImports = [FieldComponent] as const;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) 2026, Salesforce, Inc.,
3
+ * All rights reserved.
4
+ * For full license text, see the LICENSE.txt file
5
+ */
6
+
7
+ /** Form-field visual treatment: `outline` = bordered (default), `fill` = borderless muted background. */
8
+ export type AppFieldAppearance = 'outline' | 'fill';
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Copyright (c) 2026, Salesforce, Inc.,
3
+ * All rights reserved.
4
+ * For full license text, see the LICENSE.txt file
5
+ */
6
+ import { ChangeDetectionStrategy, Component, input } from '@angular/core';
7
+ import { NgIcon, provideIcons } from '@ng-icons/core';
8
+ import {
9
+ lucideArrowDown,
10
+ lucideArrowUp,
11
+ lucideChevronRight,
12
+ lucideCircleAlert,
13
+ lucideFileQuestion,
14
+ lucideListFilter,
15
+ lucideLogIn,
16
+ lucideLogOut,
17
+ lucideSearch,
18
+ lucideSearchX,
19
+ lucideUser,
20
+ lucideUserPen,
21
+ lucideUserPlus,
22
+ lucideX,
23
+ } from '@ng-icons/lucide';
24
+
25
+ export const APP_ICONS = {
26
+ error: lucideCircleAlert,
27
+ close: lucideX,
28
+ person: lucideUser,
29
+ login: lucideLogIn,
30
+ logout: lucideLogOut,
31
+ editProfile: lucideUserPen,
32
+ personAdd: lucideUserPlus,
33
+ search: lucideSearch,
34
+ filter: lucideListFilter,
35
+ chevronRight: lucideChevronRight,
36
+ arrowUp: lucideArrowUp,
37
+ arrowDown: lucideArrowDown,
38
+ noResults: lucideSearchX,
39
+ notFound: lucideFileQuestion,
40
+ } as const;
41
+
42
+ export type AppIconName = keyof typeof APP_ICONS;
43
+
44
+ @Component({
45
+ selector: 'app-icon',
46
+ changeDetection: ChangeDetectionStrategy.OnPush,
47
+ imports: [NgIcon],
48
+ providers: [provideIcons(APP_ICONS)],
49
+ host: {
50
+ '[class]': 'classes()',
51
+ '[attr.aria-label]': 'ariaLabel()',
52
+ '[attr.aria-hidden]': 'ariaLabel() ? null : true',
53
+ },
54
+ template: '<ng-icon [name]="name()" [size]="size()" />',
55
+ })
56
+ export class IconComponent {
57
+ readonly name = input.required<AppIconName>();
58
+ readonly size = input<string>('1rem');
59
+ readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });
60
+ // Non-size utilities (color, margin) still pass through to the host.
61
+ readonly classes = input<string>('', { alias: 'class' });
62
+ }
@@ -1,19 +1,34 @@
1
- <mat-form-field
2
- class="w-full"
3
- [class]="'size-' + size()"
4
- [appearance]="appearance()"
5
- subscriptSizing="dynamic"
6
- >
1
+ <div class="w-full space-y-1.5">
7
2
  @if (label()) {
8
- <mat-label>{{ label() }}</mat-label>
3
+ <label hlmLabel [for]="resolvedId()">{{ label() }}</label>
9
4
  }
10
- <input
11
- matInput
12
- [type]="type()"
13
- [placeholder]="placeholder()"
14
- [disabled]="disabled()"
15
- [attr.id]="id() || null"
16
- [attr.aria-describedby]="ariaDescribedby() || null"
17
- [(ngModel)]="value"
18
- />
19
- </mat-form-field>
5
+ <hlm-input-group [class]="groupClasses()">
6
+ @if (icon(); as leadingIcon) {
7
+ <hlm-input-group-addon>
8
+ <app-icon [name]="leadingIcon" class="flex items-end" aria-hidden="true" />
9
+ </hlm-input-group-addon>
10
+ }
11
+ <input
12
+ hlmInputGroupInput
13
+ [type]="type()"
14
+ [placeholder]="placeholder()"
15
+ [disabled]="disabled()"
16
+ [id]="resolvedId()"
17
+ [attr.aria-label]="ariaLabel() || null"
18
+ [attr.aria-describedby]="describedBy()"
19
+ [attr.aria-invalid]="error() || null"
20
+ [attr.data-matches-spartan-invalid]="error() || null"
21
+ [(ngModel)]="value"
22
+ />
23
+ @if (iconEnd(); as trailingIcon) {
24
+ <hlm-input-group-addon align="inline-end">
25
+ <app-icon [name]="trailingIcon" class="flex items-end" aria-hidden="true" />
26
+ </hlm-input-group-addon>
27
+ }
28
+ </hlm-input-group>
29
+ @if (error() && errorMessage()) {
30
+ <p [id]="errorId()" class="text-sm text-destructive" role="alert" aria-live="polite">
31
+ {{ errorMessage() }}
32
+ </p>
33
+ }
34
+ </div>