@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
@@ -29,6 +29,8 @@
29
29
  */
30
30
 
31
31
  import { useMemo, type ReactNode } from "react";
32
+ import { AlertCircle } from "lucide-react";
33
+ import { Alert, AlertDescription, AlertTitle } from "../../../components/ui/alert";
32
34
  import { useSearch } from "../hooks/useSearch";
33
35
  import { SearchBar } from "./controls/SearchBar";
34
36
  import { ScopeSelector } from "./controls/ScopeSelector";
@@ -152,6 +154,7 @@ export function Search({
152
154
  scope={handle.scope}
153
155
  onScopeChange={handle.setScope}
154
156
  allLabel={allScopeLabel}
157
+ discoveredContentTypes={handle.discoveredContentTypes}
155
158
  />
156
159
  )}
157
160
  </div>
@@ -164,20 +167,35 @@ export function Search({
164
167
  />
165
168
  ) : (
166
169
  <>
167
- {/* Aggregate count on its own row, directly above the results —
168
- only in "All" scope, where the per-source sections don't each
169
- carry a single meaningful total. */}
170
- {showTotalResults && !handle.loading && (
171
- <p className="text-sm text-muted-foreground" role="status">
172
- {totalResults} total result{totalResults === 1 ? "" : "s"}
173
- </p>
170
+ {handle.error ? (
171
+ /* Page-level failure (every queried source failed, or a
172
+ whole-request/network error). Show the single consolidated
173
+ banner and nothing else — the per-source sections would each
174
+ repeat the same "Failed to load <source>" error and their
175
+ (now empty) filter/sort chrome, so suppress them entirely. */
176
+ <Alert variant="destructive" role="alert">
177
+ <AlertCircle aria-hidden="true" />
178
+ <AlertTitle>Search failed</AlertTitle>
179
+ <AlertDescription>{handle.error}</AlertDescription>
180
+ </Alert>
181
+ ) : (
182
+ <>
183
+ {/* Aggregate count on its own row, directly above the results —
184
+ only in "All" scope, where the per-source sections don't each
185
+ carry a single meaningful total. */}
186
+ {showTotalResults && !handle.loading && (
187
+ <p className="text-sm text-muted-foreground" role="status">
188
+ {totalResults} total result{totalResults === 1 ? "" : "s"}
189
+ </p>
190
+ )}
191
+ <SearchResults
192
+ handle={handle}
193
+ renderResult={renderResult}
194
+ renderFilters={renderFilters}
195
+ emptyMessages={emptyMessages}
196
+ />
197
+ </>
174
198
  )}
175
- <SearchResults
176
- handle={handle}
177
- renderResult={renderResult}
178
- renderFilters={renderFilters}
179
- emptyMessages={emptyMessages}
180
- />
181
199
  </>
182
200
  )}
183
201
  </div>
@@ -21,11 +21,11 @@
21
21
 
22
22
  import type { ReactNode } from "react";
23
23
  import { SourceSection } from "./SourceSection";
24
- import { DefaultResultRow } from "./results/DefaultResultRow";
25
24
  import { DefaultFilterPanel } from "./filters/DefaultFilterPanel";
26
- import { ALL_SCOPE, type SearchHandle } from "../types";
25
+ import { resolveResultRenderer, type ResultRenderer } from "./results/resolveResultRenderer";
26
+ import { ALL_SCOPE, parseScope, type SearchHandle } from "../types";
27
+ import { isCmsSearchSupported } from "../adapters/cms/api/orgApiVersionService";
27
28
 
28
- type ResultRenderer = ((node: unknown) => ReactNode) | false;
29
29
  type FilterRenderer = (() => ReactNode) | false;
30
30
 
31
31
  interface SearchResultsProps {
@@ -42,23 +42,34 @@ export function SearchResults({
42
42
  emptyMessages,
43
43
  }: SearchResultsProps) {
44
44
  const filtersHidden = handle.scope === ALL_SCOPE;
45
+ // Match sections against the base scope so a "<cmsKey>:<fqn>" scope still
46
+ // renders the CMS source's section (the fqn only narrows the query).
47
+ const { base: scopeBase } = parseScope(handle.scope);
45
48
  return (
46
49
  <div className="space-y-10">
47
50
  {Object.entries(handle.sources).map(([key, controller]) => {
48
- if (handle.scope !== ALL_SCOPE && handle.scope !== key) return null;
49
- const overrideResult = renderResult?.[key];
50
- if (overrideResult === false) return null;
51
- const resolvedRenderResult: (node: unknown) => ReactNode =
52
- overrideResult ?? ((node) => <DefaultResultRow node={node} source={controller.config} />);
51
+ if (scopeBase !== ALL_SCOPE && scopeBase !== key) return null;
52
+ // CMS search is skipped on builds below the CMS-search API version, so a
53
+ // CMS source never returns rows — rendering its section would only show
54
+ // an empty "Content" heading. Hide it (same gate as the CMS fetch skip).
55
+ if (controller.config.kind === "cms" && !isCmsSearchSupported()) return null;
56
+ // Resolve the renderer through the shared helper so a CMS source
57
+ // renders via CmsResultRow (never DefaultResultRow) in this mode; a
58
+ // `renderResult[key]` override — including `false` (hide) — still wins.
59
+ const resolvedRenderResult = resolveResultRenderer(controller.config, renderResult);
60
+ if (resolvedRenderResult === false) return null;
53
61
 
62
+ // CMS sources have no `filterBy`; the guard below keeps their chrome off.
54
63
  const overrideFilters = renderFilters?.[key];
55
- const hasFilterFields = (controller.config.filterBy?.length ?? 0) > 0;
64
+ const sourceConfig = controller.config;
65
+ const hasFilterFields =
66
+ sourceConfig.kind === "sobject" && (sourceConfig.filterBy?.length ?? 0) > 0;
56
67
  const resolvedRenderFilters: (() => ReactNode) | undefined =
57
68
  overrideFilters === false
58
69
  ? undefined
59
70
  : (overrideFilters ??
60
- (hasFilterFields
61
- ? () => <DefaultFilterPanel source={controller.config} />
71
+ (hasFilterFields && sourceConfig.kind === "sobject"
72
+ ? () => <DefaultFilterPanel source={sourceConfig} />
62
73
  : undefined));
63
74
 
64
75
  return (
@@ -54,9 +54,14 @@ export function SourceSection({
54
54
 
55
55
  const pageSizeOptions = pagination.pageSizeOptions ?? [pagination.pageSize];
56
56
 
57
+ // `sortBy` / `idField` are SObject-only — narrow on `kind` so the union
58
+ // widening of `config` doesn't regress SObject behavior (CMS has neither).
59
+ const sortBy = config.kind === "sobject" ? config.sortBy : undefined;
60
+ const idField = config.kind === "sobject" ? config.idField : undefined;
61
+
57
62
  const showFilterPanel = !!renderFilters && !hideFilterChrome;
58
63
  const showActiveChips = !hideFilterChrome && filters.active.length > 0;
59
- const showSortControl = !hideFilterChrome && (config.sortBy?.length ?? 0) > 0;
64
+ const showSortControl = !hideFilterChrome && (sortBy?.length ?? 0) > 0;
60
65
 
61
66
  // Persistent, always-mounted live region: screen readers announce result
62
67
  // updates (searching → count → empty → error) without an Enter keypress.
@@ -102,8 +107,8 @@ export function SourceSection({
102
107
 
103
108
  {(showSortControl || showActiveChips) && (
104
109
  <div className="flex flex-wrap items-center gap-2 mb-3">
105
- {showSortControl && config.sortBy ? (
106
- <SortControl configs={config.sortBy} sort={sort.current} onSortChange={sort.set} />
110
+ {showSortControl && sortBy ? (
111
+ <SortControl configs={sortBy} sort={sort.current} onSortChange={sort.set} />
107
112
  ) : null}
108
113
  {showActiveChips && (
109
114
  <ActiveFilters filters={filters.active} onRemove={filters.remove} />
@@ -139,7 +144,7 @@ export function SourceSection({
139
144
  {showResults && (
140
145
  <ul className="divide-y">
141
146
  {nodes.map((node, i) => (
142
- <li key={getNodeKey(node, config.idField, i)} className="py-3">
147
+ <li key={getNodeKey(node, idField, i)} className="py-3">
143
148
  {renderResult(node)}
144
149
  </li>
145
150
  ))}
@@ -3,10 +3,14 @@
3
3
  *
4
4
  * Sits next to the search bar in the default {@link Search} layout. The
5
5
  * options are derived from the configured sources: an "All" entry plus one
6
- * entry per source (using each source's `label`).
6
+ * entry per source (using each source's `label`). When CMS content types have
7
+ * been discovered at runtime, one extra entry per type is appended under its
8
+ * CMS source — value `"<cmsKey>:<fqn>"`, label the server-provided content-type
9
+ * label — so a user can narrow a CMS search to a single content type.
7
10
  *
8
11
  * Selecting a non-"All" scope tells {@link useSearch} to fetch and render
9
- * only that source. Switching scope resets per-source pagination cursors —
12
+ * only that source. Selecting a `"<cmsKey>:<fqn>"` entry runs a CMS-only search
13
+ * for that content type. Switching scope resets per-source pagination cursors —
10
14
  * the visible result set is changing.
11
15
  */
12
16
 
@@ -17,13 +21,23 @@ import {
17
21
  SelectTrigger,
18
22
  SelectValue,
19
23
  } from "../../../../components/ui/select";
20
- import { ALL_SCOPE, type SearchConfig, type SearchScope } from "../../types";
24
+ import { ALL_SCOPE, CMS_SCOPE_SEPARATOR, type SearchConfig, type SearchScope } from "../../types";
25
+ import type { DiscoveredContentType } from "../../adapters/cms/contentTypeUtils";
26
+ import { isCmsSearchSupported } from "../../adapters/cms/api/orgApiVersionService";
21
27
 
22
28
  interface ScopeSelectorProps {
23
29
  config: SearchConfig;
24
30
  scope: SearchScope;
25
31
  onScopeChange: (scope: SearchScope) => void;
26
32
  allLabel?: string;
33
+ /**
34
+ * CMS content types discovered at runtime (from
35
+ * {@link SearchHandle.discoveredContentTypes}) — each with its FQN and
36
+ * server-provided display `label`. Appended as per-type entries under the CMS
37
+ * source once discovery completes; omit or pass `[]` before then. No-op when
38
+ * the config has no CMS source.
39
+ */
40
+ discoveredContentTypes?: DiscoveredContentType[];
27
41
  className?: string;
28
42
  }
29
43
 
@@ -32,9 +46,21 @@ export function ScopeSelector({
32
46
  scope,
33
47
  onScopeChange,
34
48
  allLabel = "All",
49
+ discoveredContentTypes = [],
35
50
  className,
36
51
  }: ScopeSelectorProps) {
37
52
  if (config.sources.length === 0) return null;
53
+ // Discovered content types attach to the (single) CMS source. Entries are
54
+ // injected only after discovery, so the dropdown starts with just the config
55
+ // sources and grows once the CMS channel's types are known.
56
+ const cmsSource = config.sources.find((s) => s.kind === "cms");
57
+ const hasDiscoveredTypes = !!cmsSource && discoveredContentTypes.length > 0;
58
+ const contentTypeEntries = hasDiscoveredTypes
59
+ ? discoveredContentTypes.map((ct) => ({
60
+ value: `${cmsSource!.key}${CMS_SCOPE_SEPARATOR}${ct.fqn}`,
61
+ label: ct.label,
62
+ }))
63
+ : [];
38
64
  return (
39
65
  <div className={className}>
40
66
  <Select value={scope} onValueChange={onScopeChange}>
@@ -43,9 +69,35 @@ export function ScopeSelector({
43
69
  </SelectTrigger>
44
70
  <SelectContent>
45
71
  <SelectItem value={ALL_SCOPE}>{allLabel}</SelectItem>
46
- {config.sources.map((source) => (
47
- <SelectItem key={source.key} value={source.key}>
48
- {source.label}
72
+ {config.sources.map((source) => {
73
+ // CMS search is skipped entirely on builds below the CMS-search API
74
+ // version (same gate `useSearch` uses to drop the CMS request), so
75
+ // its scope entry ("Content") would only ever yield an empty result.
76
+ // Hide it. Build-version-only — safe to evaluate during render.
77
+ if (source.kind === "cms" && !isCmsSearchSupported()) {
78
+ return null;
79
+ }
80
+ // Once the CMS channel's content types are known, the generic CMS
81
+ // source entry (e.g. "Content") is redundant — its per-type entries
82
+ // (appended below) cover the same source at finer granularity, so
83
+ // drop the catch-all to avoid a duplicate-looking scope option.
84
+ // EXCEPTION: keep it while it is the current scope. Discovery can
85
+ // complete AFTER the user has selected the generic CMS scope; if we
86
+ // removed the only matching item, the controlled Radix select would
87
+ // hold a value no item represents and render blank — leaving AT
88
+ // users unable to identify the active scope (WCAG 4.1.2).
89
+ if (source.kind === "cms" && hasDiscoveredTypes && scope !== source.key) {
90
+ return null;
91
+ }
92
+ return (
93
+ <SelectItem key={source.key} value={source.key}>
94
+ {source.label}
95
+ </SelectItem>
96
+ );
97
+ })}
98
+ {contentTypeEntries.map((entry) => (
99
+ <SelectItem key={entry.value} value={entry.value}>
100
+ {entry.label}
49
101
  </SelectItem>
50
102
  ))}
51
103
  </SelectContent>
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Per-node row for a CMS source. Used by both the per-source section
3
+ * (`SearchResults`) and the merged grid (`MergedSearchResults`) via the shared
4
+ * `resolveResultRenderer` (UI-owned) whenever `source.kind === "cms"`.
5
+ *
6
+ * Renders a title, a published-date subtitle, an optional content-type badge,
7
+ * and a react-router `<Link>` when a route can be built.
8
+ *
9
+ * Link target:
10
+ * - `source.routePattern` tokens: `:id` (managedContentId), `:key`
11
+ * (managedContentKey), `:contentType` (contentType).
12
+ * - falls back to `/content/:contentType/:id` when no `routePattern` is
13
+ * configured.
14
+ *
15
+ * The content-type label is rendered only when its FQN passes `isValidCmsFqn`.
16
+ */
17
+
18
+ import type { ReactNode } from "react";
19
+ import { Link } from "react-router";
20
+ import type { CmsSourceConfig, CmsSearchItem } from "../../adapters/cms/types";
21
+ import { formatContentTypeLabel, isValidCmsFqn } from "../../adapters/cms/contentTypeUtils";
22
+
23
+ /** Formats an ISO date string for display; echoes the raw string on failure. */
24
+ function formatPublishedDate(dateStr: string): string {
25
+ const date = new Date(dateStr);
26
+ if (isNaN(date.getTime())) return dateStr;
27
+ return date.toLocaleDateString(undefined, {
28
+ year: "numeric",
29
+ month: "short",
30
+ day: "numeric",
31
+ });
32
+ }
33
+
34
+ /**
35
+ * Substitutes `:id` / `:key` / `:contentType` tokens in a route pattern with
36
+ * the item's values (URL-encoded). Returns `null` if a required token has no
37
+ * value.
38
+ */
39
+ function resolveRoute(pattern: string, item: CmsSearchItem): string | null {
40
+ const tokens: Record<string, string | undefined> = {
41
+ id: item.managedContentId,
42
+ key: item.managedContentKey,
43
+ contentType: item.contentType,
44
+ };
45
+ let failed = false;
46
+ const out = pattern.replace(/:([A-Za-z_][A-Za-z0-9_]*)/g, (_match, token: string) => {
47
+ const value = tokens[token];
48
+ if (value == null || value === "") {
49
+ failed = true;
50
+ return "";
51
+ }
52
+ return encodeURIComponent(value);
53
+ });
54
+ return failed ? null : out;
55
+ }
56
+
57
+ interface CmsResultRowProps {
58
+ node: unknown;
59
+ source: CmsSourceConfig;
60
+ }
61
+
62
+ export function CmsResultRow({ node, source }: CmsResultRowProps) {
63
+ const item = node as CmsSearchItem;
64
+
65
+ const publishedDate = item.managedContentChannelDeliveryDetails?.[0]?.publishedDate;
66
+ const showType = typeof item.contentType === "string" && isValidCmsFqn(item.contentType);
67
+
68
+ const subtitleParts: string[] = [];
69
+ if (showType) subtitleParts.push(formatContentTypeLabel(item.contentType));
70
+ if (publishedDate) subtitleParts.push(`Published: ${formatPublishedDate(publishedDate)}`);
71
+
72
+ const content: ReactNode = (
73
+ <>
74
+ <span className="font-medium">{item.title ?? "—"}</span>
75
+ {item.highlightedSnippet && (
76
+ <p className="text-sm text-muted-foreground">{item.highlightedSnippet}</p>
77
+ )}
78
+ {subtitleParts.length > 0 && (
79
+ <p className="text-sm text-muted-foreground">{subtitleParts.join(" · ")}</p>
80
+ )}
81
+ </>
82
+ );
83
+
84
+ // Only render a drill-down link when the source explicitly configures a
85
+ // routePattern. Without one, content rows render as plain (non-linked) rows
86
+ // so they never navigate to an unbuilt detail route.
87
+ const href = source.routePattern ? resolveRoute(source.routePattern, item) : null;
88
+ if (href) {
89
+ return (
90
+ <Link
91
+ to={href}
92
+ className="block hover:bg-accent rounded-md px-3 -mx-3 py-1 transition-colors"
93
+ aria-label={`View content: ${item.title}`}
94
+ >
95
+ {content}
96
+ </Link>
97
+ );
98
+ }
99
+
100
+ return <div className="px-3 -mx-3 py-1">{content}</div>;
101
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Single source of truth for choosing how one source's result node is rendered.
3
+ *
4
+ * Every result layout (`SearchResults`, `MergedSearchResults`, and any future
5
+ * grid/list) MUST resolve its per-node renderer through this helper so the
6
+ * kind-aware default can never be missed in one mode. The rule, in order:
7
+ *
8
+ * 1. A `renderResult[source.key]` config override wins in EVERY mode —
9
+ * including `false`, which hides the source entirely.
10
+ * 2. Otherwise `source.kind === "cms"` → {@link CmsResultRow}.
11
+ * 3. Otherwise (SObject) → {@link DefaultResultRow}.
12
+ *
13
+ * Returning the same union the callers already use (`renderer | false`) lets a
14
+ * component early-return `null` for a hidden source without special-casing.
15
+ */
16
+
17
+ import { createElement, type ReactNode } from "react";
18
+ import type { SourceConfig } from "../../types";
19
+ import { DefaultResultRow } from "./DefaultResultRow";
20
+ import { CmsResultRow } from "./CmsResultRow";
21
+
22
+ /** A per-node renderer, or `false` to hide the source's results. */
23
+ export type ResultRenderer = ((node: unknown) => ReactNode) | false;
24
+
25
+ /**
26
+ * Resolves the renderer for one source. See the module doc for the precedence
27
+ * rules. `renderResult` is the optional per-source override map from `<Search>`.
28
+ */
29
+ export function resolveResultRenderer(
30
+ source: SourceConfig,
31
+ renderResult?: Record<string, ResultRenderer>,
32
+ ): ResultRenderer {
33
+ const override = renderResult?.[source.key];
34
+ // A config override wins in every mode — including `false` (hide).
35
+ if (override !== undefined) return override;
36
+
37
+ // Assign a `displayName` so React DevTools shows a readable label for the
38
+ // per-node component factory and the `react/display-name` lint rule is
39
+ // satisfied. (This is a debug label only — it does not affect reference
40
+ // identity; a new function is still created on each call.)
41
+ if (source.kind === "cms") {
42
+ const renderCmsRow = (node: unknown) => createElement(CmsResultRow, { node, source });
43
+ renderCmsRow.displayName = "CmsResultRowRenderer";
44
+ return renderCmsRow;
45
+ }
46
+ const renderDefaultRow = (node: unknown) => createElement(DefaultResultRow, { node, source });
47
+ renderDefaultRow.displayName = "DefaultResultRowRenderer";
48
+ return renderDefaultRow;
49
+ }
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "pagination": {
3
+ "mode": "per-source",
3
4
  "pageSize": 10,
4
5
  "pageSizeOptions": [5, 10, 20]
5
6
  },
@@ -38,7 +39,6 @@
38
39
  "objectName": "Contact",
39
40
  "label": "Contacts",
40
41
  "labelSingular": "Contact",
41
- "routePattern": "/contacts/:id",
42
42
  "searchableFields": ["Name", "Email", "Phone"],
43
43
  "displayFields": [
44
44
  "Name",
@@ -58,7 +58,6 @@
58
58
  "objectName": "Opportunity",
59
59
  "label": "Opportunities",
60
60
  "labelSingular": "Opportunity",
61
- "routePattern": "/opportunities/:id",
62
61
  "searchableFields": ["Name"],
63
62
  "displayFields": [
64
63
  "Name",
@@ -78,6 +77,12 @@
78
77
  { "field": "Name", "label": "Name" }
79
78
  ],
80
79
  "defaultSort": { "field": "CloseDate", "direction": "DESC" }
80
+ },
81
+ {
82
+ "kind": "cms",
83
+ "key": "content",
84
+ "label": "Content",
85
+ "labelSingular": "Content"
81
86
  }
82
87
  ]
83
88
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Minimum trimmed keyword length before a search fires. Both the SObject and
3
+ * CMS search backends reject terms shorter than this (returning errors that the
4
+ * UI would otherwise render as "Search failed for this source." on every
5
+ * source), so the query is gated client-side until the user types at least this
6
+ * many characters. Shared so every `<Search>` consumer inherits the same floor.
7
+ */
8
+ export const MIN_QUERY_LENGTH = 3;