@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,34 +3,77 @@
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';
6
+ import {
7
+ ChangeDetectionStrategy,
8
+ Component,
9
+ booleanAttribute,
10
+ computed,
11
+ input,
12
+ model,
13
+ } from '@angular/core';
7
14
  import { FormsModule } from '@angular/forms';
8
- import { MatFormFieldModule, type MatFormFieldAppearance } from '@angular/material/form-field';
9
- import { MatInputModule } from '@angular/material/input';
15
+ import { HlmInputGroupImports } from '@spartan-ng/styles/input-group';
16
+ import { HlmLabelImports } from '@spartan-ng/styles/label';
10
17
  import type { AppFieldSize } from '../field-size';
18
+ import type { AppFieldAppearance } from '../field-appearance';
19
+ import { IconComponent, type AppIconName } from '../icon/icon';
20
+
21
+ const SIZE_CLASSES: Record<AppFieldSize, string> = {
22
+ sm: 'h-6 text-xs',
23
+ default: 'h-8',
24
+ lg: 'h-10',
25
+ };
26
+
27
+ const APPEARANCE_CLASSES: Record<AppFieldAppearance, string> = {
28
+ outline: '',
29
+ fill: 'border-transparent bg-muted',
30
+ };
11
31
 
12
- /** Thin wrapper over Material's `mat-form-field` + `matInput`. */
13
32
  @Component({
14
33
  selector: 'app-input',
15
34
  changeDetection: ChangeDetectionStrategy.OnPush,
16
- imports: [FormsModule, MatFormFieldModule, MatInputModule],
35
+ imports: [FormsModule, HlmInputGroupImports, HlmLabelImports, IconComponent],
36
+ host: { class: 'block min-w-0' },
17
37
  templateUrl: './input.html',
18
- styleUrl: './input.scss',
19
38
  })
20
39
  export class InputComponent {
21
- /** Two-way bindable value. Supports `[(value)]`. */
22
40
  readonly value = model<string>('');
23
-
24
41
  readonly placeholder = input<string>('');
25
42
  readonly label = input<string>('');
26
43
  readonly type = input<string>('text');
27
- readonly disabled = input<boolean>(false);
28
- readonly appearance = input<MatFormFieldAppearance>('outline');
29
- /** Field height: `sm` = 24px, `default` = 32px, `lg` = 40px. */
44
+ readonly disabled = input(false, { transform: booleanAttribute });
45
+ readonly appearance = input<AppFieldAppearance>('outline');
46
+ readonly error = input(false, { transform: booleanAttribute });
47
+ readonly errorMessage = input<string>('');
30
48
  readonly size = input<AppFieldSize>('default');
31
-
32
- /** `id` on the inner control, so an outer `app-field` label's `for` resolves. */
33
49
  readonly id = input<string>('');
34
-
35
50
  readonly ariaDescribedby = input<string>('');
51
+ // Accessible name for inputs with no visible <label> (e.g. an icon-only
52
+ // search box); harmless when a label is present.
53
+ readonly ariaLabel = input<string>('');
54
+ // Optional leading/trailing icons. When set the input renders inside an
55
+ // input-group so the icon sits inside the shared border.
56
+ readonly icon = input<AppIconName | ''>('');
57
+ readonly iconEnd = input<AppIconName | ''>('');
58
+
59
+ private static _uid = 0;
60
+ private readonly _autoId = `app-input-${InputComponent._uid++}`;
61
+ protected readonly resolvedId = computed(() => this.id() || this._autoId);
62
+ protected readonly errorId = computed(() => `${this.resolvedId()}-error`);
63
+
64
+ // Link the error message to the input via aria-describedby (merged with any
65
+ // caller-supplied ids) so screen readers announce it; null when absent.
66
+ protected readonly describedBy = computed(() => {
67
+ const ids = [this.ariaDescribedby(), this.error() && this.errorMessage() ? this.errorId() : '']
68
+ .filter(Boolean)
69
+ .join(' ');
70
+ return ids || null;
71
+ });
72
+
73
+ // Size + appearance apply to the input-group wrapper, which owns the border.
74
+ protected readonly groupClasses = computed(() =>
75
+ [SIZE_CLASSES[this.size()], APPEARANCE_CLASSES[this.appearance()]].filter(Boolean).join(' '),
76
+ );
36
77
  }
78
+
79
+ export const InputImports = [InputComponent] as const;
@@ -4,14 +4,18 @@
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
6
  import { ChangeDetectionStrategy, Component, input } from '@angular/core';
7
+ import { HlmLabelImports } from '@spartan-ng/styles/label';
7
8
 
8
- /** Thin wrapper over the native `<label>` element. */
9
9
  @Component({
10
10
  selector: 'app-label',
11
11
  changeDetection: ChangeDetectionStrategy.OnPush,
12
- templateUrl: './label.html',
12
+ imports: [HlmLabelImports],
13
+ template: `
14
+ <label hlmLabel [for]="for() ?? undefined" class="mb-1.5 block"><ng-content /></label>
15
+ `,
13
16
  })
14
17
  export class LabelComponent {
15
- /** Optional `for` attribute forwarded to the underlying `<label>`. */
16
- readonly for = input<string | null>(null);
18
+ readonly for = input<string | null | undefined>(undefined);
17
19
  }
20
+
21
+ export const LabelImports = [LabelComponent] as const;
@@ -1,10 +1,74 @@
1
- <mat-paginator
2
- [length]="length()"
3
- [pageIndex]="pageIndex()"
4
- [pageSize]="pageSize()"
5
- [pageSizeOptions]="pageSizeOptions()"
6
- [hidePageSize]="hidePageSize()"
7
- [showFirstLastButtons]="showFirstLastButtons()"
8
- [disabled]="disabled()"
9
- (page)="page.emit($event)"
10
- />
1
+ @if (!hidePageSize()) {
2
+ <div class="flex items-center gap-2">
3
+ <span [id]="pageSizeLabelId" class="text-muted-foreground text-nowrap">Items per page:</span>
4
+ @if (pageSizeOptions().length > 0) {
5
+ <select
6
+ class="h-8 rounded-md border border-input bg-background px-2 text-sm"
7
+ [attr.aria-labelledby]="pageSizeLabelId"
8
+ [disabled]="disabled()"
9
+ (change)="onPageSizeChange($event)"
10
+ >
11
+ @for (opt of pageSizeOptions(); track opt) {
12
+ <option [value]="opt" [selected]="opt === pageSize()">{{ opt }}</option>
13
+ }
14
+ </select>
15
+ } @else {
16
+ <span class="text-muted-foreground">{{ pageSize() }}</span>
17
+ }
18
+ </div>
19
+ }
20
+ <div class="text-muted-foreground text-nowrap">
21
+ {{ rangeLabel() }}
22
+ </div>
23
+ <nav hlmPagination class="w-auto mx-0">
24
+ <ul hlmPaginationContent>
25
+ @if (showFirstLastButtons()) {
26
+ <li hlmPaginationItem>
27
+ <button
28
+ type="button"
29
+ class="inline-flex items-center justify-center size-8 rounded-md border border-input bg-background hover:bg-accent hover:text-accent-foreground disabled:opacity-50 disabled:pointer-events-none"
30
+ [disabled]="disabled() || clampedPageIndex() === 0"
31
+ (click)="goToPage(0)"
32
+ aria-label="First page"
33
+ >
34
+ <ng-icon name="lucideChevronFirst" size="16" />
35
+ </button>
36
+ </li>
37
+ }
38
+ <li hlmPaginationItem>
39
+ <button
40
+ type="button"
41
+ class="inline-flex items-center justify-center size-8 rounded-md border border-input bg-background hover:bg-accent hover:text-accent-foreground disabled:opacity-50 disabled:pointer-events-none"
42
+ [disabled]="disabled() || clampedPageIndex() === 0"
43
+ (click)="goToPage(clampedPageIndex() - 1)"
44
+ aria-label="Previous page"
45
+ >
46
+ <ng-icon name="lucideChevronLeft" size="16" />
47
+ </button>
48
+ </li>
49
+ <li hlmPaginationItem>
50
+ <button
51
+ type="button"
52
+ class="inline-flex items-center justify-center size-8 rounded-md border border-input bg-background hover:bg-accent hover:text-accent-foreground disabled:opacity-50 disabled:pointer-events-none"
53
+ [disabled]="disabled() || clampedPageIndex() >= lastPage()"
54
+ (click)="goToPage(clampedPageIndex() + 1)"
55
+ aria-label="Next page"
56
+ >
57
+ <ng-icon name="lucideChevronRight" size="16" />
58
+ </button>
59
+ </li>
60
+ @if (showFirstLastButtons()) {
61
+ <li hlmPaginationItem>
62
+ <button
63
+ type="button"
64
+ class="inline-flex items-center justify-center size-8 rounded-md border border-input bg-background hover:bg-accent hover:text-accent-foreground disabled:opacity-50 disabled:pointer-events-none"
65
+ [disabled]="disabled() || clampedPageIndex() >= lastPage()"
66
+ (click)="goToPage(lastPage())"
67
+ aria-label="Last page"
68
+ >
69
+ <ng-icon name="lucideChevronLast" size="16" />
70
+ </button>
71
+ </li>
72
+ }
73
+ </ul>
74
+ </nav>
@@ -3,35 +3,91 @@
3
3
  * All rights reserved.
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
- import { booleanAttribute, ChangeDetectionStrategy, Component, input, output } from '@angular/core';
7
- import { MatPaginator, type PageEvent } from '@angular/material/paginator';
6
+ import {
7
+ ChangeDetectionStrategy,
8
+ Component,
9
+ booleanAttribute,
10
+ computed,
11
+ input,
12
+ model,
13
+ output,
14
+ } from '@angular/core';
15
+ import { NgIcon, provideIcons } from '@ng-icons/core';
16
+ import {
17
+ lucideChevronFirst,
18
+ lucideChevronLast,
19
+ lucideChevronLeft,
20
+ lucideChevronRight,
21
+ } from '@ng-icons/lucide';
22
+ import { HlmPaginationImports } from '@spartan-ng/styles/pagination';
23
+ import type { PageEvent } from './types';
24
+
25
+ export type { PageEvent } from './types';
8
26
 
9
- /**
10
- * Thin wrapper over Material's `mat-paginator`. Presentation only — the host
11
- * decides what each page change means by listening to `(page)`.
12
- */
13
27
  @Component({
14
28
  selector: 'app-paginator',
15
29
  changeDetection: ChangeDetectionStrategy.OnPush,
16
- imports: [MatPaginator],
30
+ imports: [HlmPaginationImports, NgIcon],
31
+ providers: [
32
+ provideIcons({ lucideChevronFirst, lucideChevronLast, lucideChevronLeft, lucideChevronRight }),
33
+ ],
34
+ host: { class: 'flex items-center justify-end gap-4 text-sm' },
17
35
  templateUrl: './paginator.html',
18
36
  })
19
37
  export class PaginatorComponent {
20
- /** Total item count; Material derives the page count as `ceil(length / pageSize)`. */
21
38
  readonly length = input<number>(0);
22
- /** Zero-based index of the current page. */
23
- readonly pageIndex = input<number>(0);
24
- /** Items shown per page. */
25
- readonly pageSize = input<number>(10);
26
- /** Selectable page sizes; omit/empty to hide the size selector. */
39
+ readonly pageIndex = model<number>(0);
40
+ readonly pageSize = model<number>(10);
27
41
  readonly pageSizeOptions = input<readonly number[]>([]);
28
- /** Disable navigation buttons and the size select (e.g. while loading). */
29
42
  readonly disabled = input(false, { transform: booleanAttribute });
30
- /** Hide the "Items per page" selector. */
31
43
  readonly hidePageSize = input(false, { transform: booleanAttribute });
32
- /** Show the first / last page jump buttons. */
33
44
  readonly showFirstLastButtons = input(false, { transform: booleanAttribute });
34
-
35
- /** Emitted when the user changes page or page size. */
36
45
  readonly page = output<PageEvent>();
46
+
47
+ private static _uid = 0;
48
+ // Unique so the label→select association survives multiple paginators on a page.
49
+ protected readonly pageSizeLabelId = `app-paginator-page-size-${PaginatorComponent._uid++}`;
50
+
51
+ protected readonly lastPage = computed(() =>
52
+ Math.max(0, Math.ceil(this.length() / this.pageSize()) - 1),
53
+ );
54
+
55
+ protected readonly clampedPageIndex = computed(() =>
56
+ Math.max(0, Math.min(this.pageIndex(), this.lastPage())),
57
+ );
58
+
59
+ protected readonly rangeLabel = computed(() => {
60
+ const len = this.length();
61
+ if (len === 0) return '0 of 0';
62
+ const idx = this.clampedPageIndex();
63
+ const start = idx * this.pageSize() + 1;
64
+ const end = Math.min((idx + 1) * this.pageSize(), len);
65
+ return `${start} – ${end} of ${len}`;
66
+ });
67
+
68
+ protected goToPage(index: number): void {
69
+ const previousPageIndex = this.pageIndex();
70
+ this.pageIndex.set(index);
71
+ this.page.emit({
72
+ pageIndex: index,
73
+ previousPageIndex,
74
+ pageSize: this.pageSize(),
75
+ length: this.length(),
76
+ });
77
+ }
78
+
79
+ protected onPageSizeChange(event: Event): void {
80
+ const newSize = Number((event.target as HTMLSelectElement).value);
81
+ const previousPageIndex = this.pageIndex();
82
+ this.pageSize.set(newSize);
83
+ this.pageIndex.set(0);
84
+ this.page.emit({
85
+ pageIndex: 0,
86
+ previousPageIndex,
87
+ pageSize: newSize,
88
+ length: this.length(),
89
+ });
90
+ }
37
91
  }
92
+
93
+ export const PaginatorImports = [PaginatorComponent] as const;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright (c) 2026, Salesforce, Inc.,
3
+ * All rights reserved.
4
+ * For full license text, see the LICENSE.txt file
5
+ */
6
+
7
+ /** Payload emitted by PaginatorComponent's `(page)` output. */
8
+ export interface PageEvent {
9
+ pageIndex: number;
10
+ previousPageIndex: number;
11
+ pageSize: number;
12
+ length: number;
13
+ }
@@ -1,41 +1,13 @@
1
- <span
2
- cdkOverlayOrigin
3
- #origin="cdkOverlayOrigin"
4
- role="button"
5
- tabindex="0"
6
- [attr.aria-expanded]="open()"
7
- (click)="toggle()"
8
- (keydown.enter)="toggle()"
9
- (keydown.space)="$event.preventDefault(); toggle()"
1
+ <hlm-popover
2
+ [align]="align()"
3
+ [sideOffset]="sideOffset()"
4
+ [state]="open() ? 'open' : 'closed'"
5
+ (stateChanged)="onStateChanged($event)"
10
6
  >
11
- <ng-content select="[trigger]" />
12
- </span>
13
-
14
- <ng-template
15
- cdkConnectedOverlay
16
- [cdkConnectedOverlayOrigin]="origin"
17
- [cdkConnectedOverlayOpen]="open()"
18
- [cdkConnectedOverlayHasBackdrop]="true"
19
- cdkConnectedOverlayBackdropClass="cdk-overlay-transparent-backdrop"
20
- [cdkConnectedOverlayOffsetY]="sideOffset()"
21
- [cdkConnectedOverlayPositions]="[
22
- {
23
- originX: align(),
24
- originY: 'bottom',
25
- overlayX: align(),
26
- overlayY: 'top',
27
- },
28
- {
29
- originX: align(),
30
- originY: 'top',
31
- overlayX: align(),
32
- overlayY: 'bottom',
33
- },
34
- ]"
35
- (backdropClick)="close()"
36
- (detach)="close()"
37
- >
38
- <div class="bg-white text-sm rounded-lg shadow-md ring-1 ring-black/10 outline-none">
7
+ <button hlmPopoverTrigger type="button" [class]="triggerClass()" [attr.aria-label]="ariaLabel()">
8
+ <ng-content select="[trigger]" />
9
+ </button>
10
+ <div hlmPopoverContent *hlmPopoverPortal>
39
11
  <ng-content />
40
12
  </div>
41
- </ng-template>
13
+ </hlm-popover>
@@ -3,32 +3,23 @@
3
3
  * All rights reserved.
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
- import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
7
6
  import { ChangeDetectionStrategy, Component, input, model } from '@angular/core';
7
+ import { HlmPopoverImports } from '@spartan-ng/styles/popover';
8
8
 
9
- /**
10
- * Popover backed by CDK Overlay. Slots: `[trigger]` (anchor, toggles the
11
- * popover) and default (body). `open` is a two-way model; a backdrop click
12
- * closes it.
13
- */
14
9
  @Component({
15
10
  selector: 'app-popover',
16
11
  changeDetection: ChangeDetectionStrategy.OnPush,
17
- imports: [CdkConnectedOverlay, CdkOverlayOrigin],
12
+ imports: [HlmPopoverImports],
18
13
  templateUrl: './popover.html',
19
14
  })
20
15
  export class PopoverComponent {
21
- /**
22
- * Two-way bindable open state. Supports `[(open)]`, a plain `[open]`
23
- * input, or listening to the auto-generated `(openChange)` event.
24
- */
25
16
  readonly open = model<boolean>(false);
26
-
27
- /** Panel alignment relative to the trigger. Defaults to below-start. */
28
17
  readonly align = input<'start' | 'center' | 'end'>('start');
29
-
30
- /** Vertical gap between the trigger and the panel, in px. */
31
18
  readonly sideOffset = input<number>(4);
19
+ // The wrapper owns the single real trigger `<button>` (so callers project
20
+ // plain content, never a nested button); these style/label it.
21
+ readonly triggerClass = input<string>('');
22
+ readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });
32
23
 
33
24
  toggle(): void {
34
25
  this.open.set(!this.open());
@@ -37,4 +28,10 @@ export class PopoverComponent {
37
28
  close(): void {
38
29
  this.open.set(false);
39
30
  }
31
+
32
+ protected onStateChanged(state: 'open' | 'closed'): void {
33
+ this.open.set(state === 'open');
34
+ }
40
35
  }
36
+
37
+ export const PopoverImports = [PopoverComponent] as const;
@@ -1,24 +1,36 @@
1
- <mat-form-field
2
- class="w-full"
3
- [class]="'size-' + size()"
4
- [appearance]="appearance()"
5
- subscriptSizing="dynamic"
6
- >
7
- @if (label()) {
8
- <mat-label>{{ label() }}</mat-label>
9
- }
10
- <mat-select
11
- [multiple]="multiple()"
12
- [placeholder]="placeholder()"
1
+ @if (label()) {
2
+ <label hlmLabel [for]="labelId" class="mb-1.5 block">{{ label() }}</label>
3
+ }
4
+ @if (!multiple()) {
5
+ <hlm-select
6
+ [value]="value()"
7
+ (valueChange)="onSingleChange($event)"
13
8
  [disabled]="disabled()"
14
- [ngModel]="selection()"
15
- (ngModelChange)="onSelectionChange($event)"
9
+ [itemToString]="itemToString"
16
10
  >
17
- @if (multiple()) {
18
- <mat-select-trigger>{{ multiTriggerLabel() }}</mat-select-trigger>
19
- }
20
- @for (option of options(); track option.value) {
21
- <mat-option [value]="option.value">{{ option.label }}</mat-option>
22
- }
23
- </mat-select>
24
- </mat-form-field>
11
+ <hlm-select-trigger [buttonId]="labelId" [size]="size()" [class]="triggerClasses()">
12
+ <hlm-select-value [placeholder]="placeholder()" />
13
+ </hlm-select-trigger>
14
+ <hlm-select-content *hlmSelectPortal>
15
+ @for (option of options(); track option.value) {
16
+ <hlm-select-item [value]="option.value">{{ option.label }}</hlm-select-item>
17
+ }
18
+ </hlm-select-content>
19
+ </hlm-select>
20
+ } @else {
21
+ <hlm-select-multiple
22
+ [value]="$any(values())"
23
+ (valueChange)="onMultiChange($event)"
24
+ [disabled]="disabled()"
25
+ [itemToString]="itemToString"
26
+ >
27
+ <hlm-select-trigger [buttonId]="labelId" [size]="size()" [class]="triggerClasses()">
28
+ <hlm-select-value [placeholder]="placeholder()" />
29
+ </hlm-select-trigger>
30
+ <hlm-select-content *hlmSelectPortal>
31
+ @for (option of options(); track option.value) {
32
+ <hlm-select-item [value]="option.value">{{ option.label }}</hlm-select-item>
33
+ }
34
+ </hlm-select-content>
35
+ </hlm-select-multiple>
36
+ }
@@ -4,69 +4,60 @@
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
6
  import {
7
- booleanAttribute,
8
7
  ChangeDetectionStrategy,
9
8
  Component,
9
+ booleanAttribute,
10
10
  computed,
11
11
  input,
12
12
  model,
13
13
  } from '@angular/core';
14
- import { FormsModule } from '@angular/forms';
15
- import { MatFormFieldModule, type MatFormFieldAppearance } from '@angular/material/form-field';
16
- import { MatSelectModule } from '@angular/material/select';
14
+ import { HlmSelectImports } from '@spartan-ng/styles/select';
15
+ import { HlmLabelImports } from '@spartan-ng/styles/label';
17
16
  import type { AppFieldSize } from '../field-size';
17
+ import type { AppFieldAppearance } from '../field-appearance';
18
18
 
19
- /** Shape of an option rendered in the dropdown. */
20
19
  export interface AppSelectOption {
21
20
  value: string;
22
21
  label: string;
23
22
  }
24
23
 
25
- /** Thin wrapper over Material's `mat-form-field` + `mat-select`. */
26
24
  @Component({
27
25
  selector: 'app-select',
28
26
  changeDetection: ChangeDetectionStrategy.OnPush,
29
- imports: [FormsModule, MatFormFieldModule, MatSelectModule],
27
+ imports: [HlmSelectImports, HlmLabelImports],
28
+ host: { class: 'block min-w-0' },
30
29
  templateUrl: './select.html',
31
- styleUrl: './select.scss',
32
30
  })
33
31
  export class SelectComponent {
34
- /** Two-way bindable single-select value. Ignored when `multiple` is set. */
35
32
  readonly value = model<string>('');
36
-
37
- /** Two-way bindable multi-select values. Used only when `multiple` is `true`. */
38
33
  readonly values = model<readonly string[]>([]);
39
-
40
- /** Render checkbox options and allow more than one selection. */
41
34
  readonly multiple = input(false, { transform: booleanAttribute });
42
-
43
35
  readonly options = input<readonly AppSelectOption[]>([]);
44
36
  readonly placeholder = input<string>('');
45
37
  readonly label = input<string>('');
46
- readonly disabled = input<boolean>(false);
47
- readonly appearance = input<MatFormFieldAppearance>('outline');
48
- /** Field height: `sm` = 24px, `default` = 32px, `lg` = 40px. */
38
+ readonly disabled = input(false, { transform: booleanAttribute });
39
+ readonly appearance = input<AppFieldAppearance>('outline');
49
40
  readonly size = input<AppFieldSize>('default');
50
41
 
51
- /** Value handed to `mat-select`: the `values` array when `multiple`, else `value`. */
52
- protected readonly selection = computed(() => (this.multiple() ? this.values() : this.value()));
42
+ private static _uid = 0;
43
+ protected readonly labelId = `app-select-${SelectComponent._uid++}`;
53
44
 
54
- /** Multi-select trigger summary: the sole option's label, else "N selected". */
55
- protected readonly multiTriggerLabel = computed(() => {
56
- const selected = this.values();
57
- if (selected.length === 1) {
58
- const only = selected[0];
59
- return this.options().find((o) => o.value === only)?.label ?? only;
60
- }
61
- return `${selected.length} selected`;
45
+ protected readonly itemToString = (value: string): string => {
46
+ return this.options().find((o) => o.value === value)?.label ?? value;
47
+ };
48
+
49
+ protected readonly triggerClasses = computed(() => {
50
+ if (this.appearance() === 'fill') return 'border-transparent bg-muted';
51
+ return '';
62
52
  });
63
53
 
64
- /** Single change handler — routes to the right model based on `multiple`. */
65
- protected onSelectionChange(next: string | string[]): void {
66
- if (this.multiple()) {
67
- this.values.set((next as string[]) ?? []);
68
- } else {
69
- this.value.set((next as string) ?? '');
70
- }
54
+ protected onSingleChange(event: string | null | undefined): void {
55
+ this.value.set(event ?? '');
56
+ }
57
+
58
+ protected onMultiChange(event: string[] | readonly string[] | null | undefined): void {
59
+ this.values.set(event ?? []);
71
60
  }
72
61
  }
62
+
63
+ export const SelectImports = [SelectComponent] as const;
@@ -3,54 +3,29 @@
3
3
  * All rights reserved.
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
- import {
7
- booleanAttribute,
8
- ChangeDetectionStrategy,
9
- Component,
10
- computed,
11
- input,
12
- } from '@angular/core';
13
- import { MatDivider } from '@angular/material/divider';
6
+ import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';
7
+ import { BrnSeparator } from '@spartan-ng/brain/separator';
8
+ import { hlmSeparatorClass } from '@spartan-ng/styles/separator';
9
+ import { classes } from '@spartan-ng/styles/utils';
14
10
 
15
- /** Layout axis of the separator line. */
16
11
  export type AppSeparatorOrientation = 'horizontal' | 'vertical';
17
12
 
18
- const BASE_CLASSES = 'shrink-0';
19
- const ORIENTATION_CLASSES: Record<AppSeparatorOrientation, string> = {
20
- horizontal: 'block w-full',
21
- vertical: 'self-stretch',
22
- };
23
-
24
- /**
25
- * Divider built on Material's `mat-divider`. `decorative` (default) hides the
26
- * host from assistive tech (`role="none"`); when false it exposes
27
- * `role="separator"` + `aria-orientation`. The inner `mat-divider` is marked
28
- * `role="presentation"` so it never announces a duplicate separator.
29
- */
30
13
  @Component({
31
14
  selector: 'app-separator',
32
15
  changeDetection: ChangeDetectionStrategy.OnPush,
33
- imports: [MatDivider],
34
- templateUrl: './separator.html',
35
- styleUrl: './separator.scss',
16
+ hostDirectives: [{ directive: BrnSeparator, inputs: ['orientation', 'decorative'] }],
36
17
  host: {
37
18
  'data-slot': 'separator',
38
- '[attr.data-orientation]': 'orientation()',
39
- '[attr.role]': "decorative() ? 'none' : 'separator'",
40
- '[attr.aria-orientation]':
41
- "decorative() ? null : (orientation() === 'vertical' ? 'vertical' : 'horizontal')",
42
- '[class]': 'hostClass()',
43
19
  },
20
+ template: '',
44
21
  })
45
22
  export class SeparatorComponent {
46
23
  readonly orientation = input<AppSeparatorOrientation>('horizontal');
47
24
  readonly decorative = input(true, { transform: booleanAttribute });
48
- /** Adds Material's horizontal inset margin so the line doesn't run edge-to-edge. */
49
- readonly inset = input(false, { transform: booleanAttribute });
50
25
 
51
- protected readonly isVertical = computed(() => this.orientation() === 'vertical');
52
-
53
- protected readonly hostClass = computed(
54
- () => `${BASE_CLASSES} ${ORIENTATION_CLASSES[this.orientation()]}`,
55
- );
26
+ constructor() {
27
+ classes(() => hlmSeparatorClass);
28
+ }
56
29
  }
30
+
31
+ export const SeparatorImports = [SeparatorComponent] as const;