@solidxai/core-ui 0.1.15-beta.0 → 0.1.16-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/README.md +1 -1
  2. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.d.ts.map +1 -1
  3. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.js +2 -1
  4. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.js.map +1 -1
  5. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.tsx +3 -2
  6. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  7. package/dist/components/core/card/SolidCardView.js +1 -1
  8. package/dist/components/core/card/SolidCardView.js.map +1 -1
  9. package/dist/components/core/card/SolidCardView.tsx +1 -0
  10. package/dist/components/core/card/SolidCardViewConfigure.d.ts +1 -1
  11. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  12. package/dist/components/core/card/SolidCardViewConfigure.js +3 -3
  13. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  14. package/dist/components/core/card/SolidCardViewConfigure.tsx +4 -3
  15. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  16. package/dist/components/core/chatter/SolidChatterHeader.js +10 -7
  17. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  18. package/dist/components/core/chatter/SolidChatterHeader.tsx +12 -9
  19. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  20. package/dist/components/core/common/SolidGlobalSearchElement.js +3 -3
  21. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  22. package/dist/components/core/common/SolidGlobalSearchElement.tsx +2 -3
  23. package/dist/components/core/filter/SolidBooleanFilterElement.js +1 -1
  24. package/dist/components/core/filter/SolidBooleanFilterElement.js.map +1 -1
  25. package/dist/components/core/filter/SolidBooleanFilterElement.tsx +1 -1
  26. package/dist/components/core/filter/SolidManyToManyFilterElement.js +1 -1
  27. package/dist/components/core/filter/SolidManyToManyFilterElement.js.map +1 -1
  28. package/dist/components/core/filter/SolidManyToManyFilterElement.tsx +1 -1
  29. package/dist/components/core/filter/SolidManyToOneFilterElement.js +1 -1
  30. package/dist/components/core/filter/SolidManyToOneFilterElement.js.map +1 -1
  31. package/dist/components/core/filter/SolidManyToOneFilterElement.tsx +1 -1
  32. package/dist/components/core/filter/SolidOneToManyFilterElement.js +1 -1
  33. package/dist/components/core/filter/SolidOneToManyFilterElement.js.map +1 -1
  34. package/dist/components/core/filter/SolidOneToManyFilterElement.tsx +1 -1
  35. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js +1 -1
  36. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js.map +1 -1
  37. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.tsx +1 -1
  38. package/dist/components/core/filter/SolidSelectionStaticFilterElement.js +1 -1
  39. package/dist/components/core/filter/SolidSelectionStaticFilterElement.js.map +1 -1
  40. package/dist/components/core/filter/SolidSelectionStaticFilterElement.tsx +1 -1
  41. package/dist/components/core/filter/SolidVarInputsFilterElement.js +5 -5
  42. package/dist/components/core/filter/SolidVarInputsFilterElement.js.map +1 -1
  43. package/dist/components/core/filter/SolidVarInputsFilterElement.tsx +5 -5
  44. package/dist/components/core/filter/fields/SolidBooleanField.js +1 -1
  45. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  46. package/dist/components/core/filter/fields/SolidBooleanField.tsx +1 -1
  47. package/dist/components/core/filter/fields/SolidDateField.js +1 -1
  48. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  49. package/dist/components/core/filter/fields/SolidDateField.tsx +1 -1
  50. package/dist/components/core/filter/fields/SolidDatetimeField.js +1 -1
  51. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  52. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +1 -1
  53. package/dist/components/core/filter/fields/SolidExternalIdField.js +1 -1
  54. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  55. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +1 -1
  56. package/dist/components/core/filter/fields/SolidIdField.js +1 -1
  57. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  58. package/dist/components/core/filter/fields/SolidIdField.tsx +1 -1
  59. package/dist/components/core/filter/fields/SolidIntField.js +1 -1
  60. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  61. package/dist/components/core/filter/fields/SolidIntField.tsx +1 -1
  62. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +1 -1
  63. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  64. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +1 -1
  65. package/dist/components/core/filter/fields/SolidMediaSingleField.js +1 -1
  66. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  67. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +1 -1
  68. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +1 -1
  69. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  70. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +1 -1
  71. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +1 -1
  72. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  73. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +1 -1
  74. package/dist/components/core/filter/fields/SolidShortTextField.js +1 -1
  75. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  76. package/dist/components/core/filter/fields/SolidShortTextField.tsx +1 -1
  77. package/dist/components/core/filter/fields/SolidTimeField.js +1 -1
  78. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  79. package/dist/components/core/filter/fields/SolidTimeField.tsx +1 -1
  80. package/dist/components/core/filter/fields/SolidUuidField.js +1 -1
  81. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  82. package/dist/components/core/filter/fields/SolidUuidField.tsx +1 -1
  83. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +1 -1
  84. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  85. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +1 -1
  86. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +1 -1
  87. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  88. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +1 -1
  89. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +1 -1
  90. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  91. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +1 -1
  92. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  93. package/dist/components/core/form/fields/SolidMediaMultipleField.js +5 -3
  94. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  95. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +7 -3
  96. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  97. package/dist/components/core/form/fields/SolidMediaSingleField.js +5 -2
  98. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  99. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +7 -2
  100. package/dist/components/core/form/fields/solidFields.module.css +23 -15
  101. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  102. package/dist/components/core/kanban/SolidKanbanView.js +1 -1
  103. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  104. package/dist/components/core/kanban/SolidKanbanView.tsx +1 -2
  105. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts +1 -1
  106. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  107. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +3 -3
  108. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  109. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +4 -3
  110. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  111. package/dist/components/core/list/SolidListView.js +1 -1
  112. package/dist/components/core/list/SolidListView.js.map +1 -1
  113. package/dist/components/core/list/SolidListView.tsx +1 -0
  114. package/dist/components/core/list/SolidListViewConfigure.d.ts +1 -1
  115. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  116. package/dist/components/core/list/SolidListViewConfigure.js +3 -4
  117. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  118. package/dist/components/core/list/SolidListViewConfigure.tsx +4 -4
  119. package/dist/components/core/model/FieldMetaDataForm.js +23 -23
  120. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  121. package/dist/components/core/model/FieldMetaDataForm.tsx +30 -30
  122. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  123. package/dist/components/core/tree/SolidTreeView.js +2 -2
  124. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  125. package/dist/components/core/tree/SolidTreeView.tsx +3 -1
  126. package/dist/components/core/users/CreateUserRole.js +1 -1
  127. package/dist/components/core/users/CreateUserRole.js.map +1 -1
  128. package/dist/components/core/users/CreateUserRole.tsx +1 -1
  129. package/dist/components/layout/FilterMenu.d.ts.map +1 -1
  130. package/dist/components/layout/FilterMenu.js +2 -1
  131. package/dist/components/layout/FilterMenu.js.map +1 -1
  132. package/dist/components/layout/FilterMenu.tsx +6 -5
  133. package/dist/components/layout/GlobalSearch.d.ts.map +1 -1
  134. package/dist/components/layout/GlobalSearch.js +2 -1
  135. package/dist/components/layout/GlobalSearch.js.map +1 -1
  136. package/dist/components/layout/GlobalSearch.tsx +2 -1
  137. package/dist/components/layout/ListingHeader.d.ts.map +1 -1
  138. package/dist/components/layout/ListingHeader.js +8 -4
  139. package/dist/components/layout/ListingHeader.js.map +1 -1
  140. package/dist/components/layout/ListingHeader.tsx +9 -9
  141. package/dist/components/layout/navbar-one.d.ts.map +1 -1
  142. package/dist/components/layout/navbar-one.js.map +1 -1
  143. package/dist/components/layout/navbar-one.tsx +4 -16
  144. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  145. package/dist/components/layout/navbar-two-menu.js +8 -3
  146. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  147. package/dist/components/layout/navbar-two-menu.tsx +9 -4
  148. package/dist/components/shad-cn-ui/SolidDropdownMenu.d.ts +3 -1
  149. package/dist/components/shad-cn-ui/SolidDropdownMenu.d.ts.map +1 -1
  150. package/dist/components/shad-cn-ui/SolidDropdownMenu.js +3 -2
  151. package/dist/components/shad-cn-ui/SolidDropdownMenu.js.map +1 -1
  152. package/dist/components/shad-cn-ui/SolidDropdownMenu.tsx +10 -3
  153. package/dist/components/shad-cn-ui/SolidIcon.js +1 -1
  154. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  155. package/dist/components/shad-cn-ui/SolidIcon.tsx +1 -1
  156. package/dist/components/workflow/WorkflowNodeDocsPanel.css +29 -0
  157. package/dist/components/workflow/WorkflowNodeSchemaEditor.css +65 -0
  158. package/dist/helpers/getAcceptedFileTypes.d.ts +1 -0
  159. package/dist/helpers/getAcceptedFileTypes.d.ts.map +1 -1
  160. package/dist/helpers/getAcceptedFileTypes.js +6 -0
  161. package/dist/helpers/getAcceptedFileTypes.js.map +1 -1
  162. package/dist/helpers/getAcceptedFileTypes.tsx +7 -0
  163. package/dist/helpers/mediaType.d.ts.map +1 -1
  164. package/dist/helpers/mediaType.js +6 -3
  165. package/dist/helpers/mediaType.js.map +1 -1
  166. package/dist/helpers/mediaType.ts +6 -3
  167. package/dist/resources/globals.css +94 -879
  168. package/dist/resources/solid-custom.css +88 -56
  169. package/dist/resources/solid-responsive.css +1 -106
  170. package/dist/resources/stylesheets/_config.scss +1 -10
  171. package/dist/resources/stylesheets/_utils.scss +0 -7
  172. package/dist/resources/themes/solid-dark-purple/theme.css +11 -5853
  173. package/dist/resources/themes/solid-light-purple/theme.css +6 -5896
  174. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +0 -5
  175. package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.css +293 -0
  176. package/dist/styles.d.ts +0 -1
  177. package/dist/styles.d.ts.map +1 -1
  178. package/dist/styles.js +0 -1
  179. package/dist/styles.js.map +1 -1
  180. package/dist/styles.ts +0 -1
  181. package/package.json +1 -3
@@ -46,7 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
49
- import { useEffect, useState } from 'react';
49
+ import { useState } from 'react';
50
50
  import styles from './chatter.module.css';
51
51
  import { SolidMessageComposer } from './SolidMessageComposer';
52
52
  import { useLazyGetusersQuery } from '../../../redux/api/userApi';
@@ -62,19 +62,21 @@ export var SolidChatterHeader = function (props) {
62
62
  startDate: null,
63
63
  endDate: null
64
64
  }), filters = _d[0], setFilters = _d[1];
65
- var _e = useState(false), hasActiveFilters = _e[0], setHasActiveFilters = _e[1];
65
+ var _e = useState({
66
+ name: '',
67
+ startDate: null,
68
+ endDate: null
69
+ }), appliedFilters = _e[0], setAppliedFilters = _e[1];
66
70
  var _f = useState([]), suggestions = _f[0], setSuggestions = _f[1];
67
71
  var _g = useState(null), selectedUser = _g[0], setSelectedUser = _g[1];
68
72
  var getUsers = useLazyGetusersQuery()[0];
69
- useEffect(function () {
70
- var isActive = filters.name !== '' || filters.startDate !== null || filters.endDate !== null;
71
- setHasActiveFilters(isActive);
72
- }, [filters]);
73
+ var hasActiveFilters = appliedFilters.name !== '' || appliedFilters.startDate !== null || appliedFilters.endDate !== null;
73
74
  var handleFilterClick = function () {
74
75
  setSelectedUser(filters.name ? { fullName: filters.name } : null);
75
76
  setShowFilterDialog(true);
76
77
  };
77
78
  var handleApplyFilters = function () {
79
+ setAppliedFilters(filters);
78
80
  if (onFilterChange) {
79
81
  onFilterChange(filters);
80
82
  }
@@ -89,6 +91,7 @@ export var SolidChatterHeader = function (props) {
89
91
  setSelectedUser(null);
90
92
  setSuggestions([]);
91
93
  setFilters(clearedFilters);
94
+ setAppliedFilters(clearedFilters);
92
95
  if (onFilterChange) {
93
96
  onFilterChange(clearedFilters);
94
97
  }
@@ -147,7 +150,7 @@ export var SolidChatterHeader = function (props) {
147
150
  setSelectedUser(null);
148
151
  updateNameFilter(value);
149
152
  };
150
- return (_jsxs("div", { className: "".concat(styles.chatterTitle, " ").concat(title ? styles.chatterTitleWithLabel : '', " solid-list-toolbar"), children: [_jsxs("div", { className: 'flex justify-between items-center solid-list-toolbar-row', children: [_jsx("p", { className: "m-0 view-title solid-text-wrapper form-wrapper-title", children: title || '' }), _jsxs("div", { className: 'flex items-center solid-header-buttons-wrapper', children: [_jsx(SolidButton, { size: "sm", type: "button", "aria-label": "Log Note", variant: hasActiveFilters ? 'primary' : 'outline', className: "solid-icon-button", style: { gap: 0 }, leftIcon: _jsx(Edit, { size: 14 }), onClick: function () { return handleTabClick('log'); } }), _jsx(SolidButton, { size: "sm", type: "button", "aria-label": "Filter", variant: hasActiveFilters ? 'primary' : 'outline', className: "solid-icon-button", style: { gap: 0 }, leftIcon: _jsx(Filter, { size: 14 }), onClick: handleFilterClick }), _jsx(SolidButton, { size: "sm", type: "button", "aria-label": "Refresh", variant: "outline", className: "solid-icon-button", style: { gap: 0 }, leftIcon: _jsx(RefreshCw, { size: 14 }), onClick: refetch })] })] }), visibleBox &&
153
+ return (_jsxs("div", { className: "".concat(styles.chatterTitle, " ").concat(title ? styles.chatterTitleWithLabel : '', " solid-list-toolbar"), children: [_jsxs("div", { className: 'flex justify-between items-center solid-list-toolbar-row', children: [_jsx("p", { className: "m-0 view-title solid-text-wrapper form-wrapper-title", children: title || '' }), _jsxs("div", { className: 'flex items-center solid-header-buttons-wrapper', children: [_jsx(SolidButton, { size: "sm", type: "button", "aria-label": "Log Note", variant: "outline", className: "solid-icon-button", style: { gap: 0 }, leftIcon: _jsx(Edit, { size: 14 }), onClick: function () { return handleTabClick('log'); } }), _jsx(SolidButton, { size: "sm", type: "button", "aria-label": "Filter", variant: "outline", className: "solid-icon-button ".concat(hasActiveFilters ? 'is-filter-active' : ''), style: { gap: 0 }, leftIcon: _jsx(Filter, { size: 14 }), onClick: handleFilterClick }), _jsx(SolidButton, { size: "sm", type: "button", "aria-label": "Refresh", variant: "outline", className: "solid-icon-button", style: { gap: 0 }, leftIcon: _jsx(RefreshCw, { size: 14 }), onClick: refetch })] })] }), visibleBox &&
151
154
  _jsxs("div", { className: 'mt-2', children: [visibleBox === "email-message" &&
152
155
  _jsx(SolidMessageComposer, { id: id, refetch: refetch, modelSingularName: modelSingularName, type: "email", onCancel: onComposerCancel, modelUserKey: modelUserKey }), visibleBox === "log" &&
153
156
  _jsx(SolidMessageComposer, { id: id, refetch: refetch, modelSingularName: modelSingularName, onCancel: onComposerCancel, modelUserKey: modelUserKey })] }), _jsxs(SolidDialog, { open: showFilterDialog, onOpenChange: setShowFilterDialog, className: 'solid-filter-dialog-shell solid-chatter-filter-main', style: { width: 500 }, showHeader: false, dismissible: false, children: [_jsxs(SolidDialogHeader, { className: "solid-filter-dialog-head", children: [_jsx("div", { children: _jsx(SolidDialogTitle, { className: "solid-filter-dialog-title m-0", children: "Filter Messages" }) }), _jsx(SolidDialogClose, { className: "solid-filter-dialog-close" })] }), _jsx(SolidDialogSeparator, { className: "solid-filter-dialog-sep" }), _jsx(SolidDialogBody, { className: "solid-filter-dialog-body", children: _jsxs("div", { className: "flex flex-col gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("label", { htmlFor: "fullName", className: "form-field-label", children: "User" }), _jsx(SolidAutocomplete, { id: "fullName", value: selectedUser, suggestions: suggestions, field: "fullName", completeMethod: searchUsers, onChange: function (e) { return handleUserChange(e.value); }, placeholder: "Filter by user", className: "w-full", inputClassName: "w-full", portal: true })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("label", { htmlFor: "dateRange", className: "form-field-label", children: "Date Range" }), _jsxs("div", { className: "flex gap-2 flex-col md:flex-row", children: [_jsx("div", { className: "flex-1", children: _jsx(SolidDatePicker, { selected: (_a = filters.startDate) !== null && _a !== void 0 ? _a : undefined, onChange: function (date) { return setFilters(function (prev) { return (__assign(__assign({}, prev), { startDate: date !== null && date !== void 0 ? date : null })); }); }, placeholderText: "Start Date", className: "w-full", wrapperClassName: "w-full", inputClassName: "w-full", portalId: "solid-datepicker-portal" }) }), _jsx("div", { className: "flex-1", children: _jsx(SolidDatePicker, { selected: (_b = filters.endDate) !== null && _b !== void 0 ? _b : undefined, onChange: function (date) { return setFilters(function (prev) { return (__assign(__assign({}, prev), { endDate: date !== null && date !== void 0 ? date : null })); }); }, placeholderText: "End Date", className: "w-full", wrapperClassName: "w-full", inputClassName: "w-full", portalId: "solid-datepicker-portal" }) })] })] })] }) }), _jsxs(SolidDialogFooter, { children: [_jsx(SolidButton, { label: "Clear", size: "sm", variant: "outline", onClick: handleClearFilters }), _jsx(SolidButton, { label: "Apply", size: "sm", className: "solid-purple-button", onClick: handleApplyFilters })] })] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"SolidChatterHeader.js","sourceRoot":"","sources":["../../../../src/components/core/chatter/SolidChatterHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react'\nimport styles from './chatter.module.css'\nimport { SolidMessageComposer } from './SolidMessageComposer'\nimport { useLazyGetusersQuery } from '../../../redux/api/userApi'\nimport { ERROR_MESSAGES } from '../../../constants/error-messages'\nimport {\n SolidButton,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n SolidAutocomplete,\n SolidDatePicker\n} from '../../shad-cn-ui'\nimport { Filter, RefreshCw,Edit } from 'lucide-react'\ninterface FilterState {\n name: string;\n startDate: Date | null;\n endDate: Date | null;\n}\n\ninterface Props {\n activeTab: any,\n handleTabClick: any,\n visibleBox: any,\n modelSingularName: any,\n refetch: any,\n id: any,\n onFilterChange?: (filters: FilterState) => void;\n onComposerCancel?: () => void;\n title?: string;\n modelUserKey?: string;\n}\n\nexport const SolidChatterHeader = (props: Props) => {\n const { activeTab, visibleBox, handleTabClick, modelSingularName, refetch, id, onFilterChange, onComposerCancel, title, modelUserKey } = props;\n const [showFilterDialog, setShowFilterDialog] = useState(false);\n const [filters, setFilters] = useState<FilterState>({\n name: '',\n startDate: null,\n endDate: null\n });\n const [hasActiveFilters, setHasActiveFilters] = useState(false);\n const [suggestions, setSuggestions] = useState<any[]>([]);\n const [selectedUser, setSelectedUser] = useState<any | null>(null);\n const [getUsers] = useLazyGetusersQuery();\n\n useEffect(() => {\n const isActive = filters.name !== '' || filters.startDate !== null || filters.endDate !== null;\n setHasActiveFilters(isActive);\n }, [filters]);\n\n const handleFilterClick = () => {\n setSelectedUser(filters.name ? { fullName: filters.name } : null);\n setShowFilterDialog(true);\n };\n\n const handleApplyFilters = () => {\n if (onFilterChange) {\n onFilterChange(filters);\n }\n setShowFilterDialog(false);\n };\n\n const handleClearFilters = () => {\n const clearedFilters = {\n name: '',\n startDate: null,\n endDate: null\n };\n setSelectedUser(null);\n setSuggestions([]);\n setFilters(clearedFilters);\n if (onFilterChange) {\n onFilterChange(clearedFilters);\n }\n setShowFilterDialog(false);\n };\n\n const updateNameFilter = (value: string) => {\n setFilters(prev => {\n if (prev.name === value) {\n return prev;\n }\n return {\n ...prev,\n name: value\n };\n });\n };\n\n const searchUsers = async (event: { query: string }) => {\n const query = event.query || '';\n setSelectedUser((prev: any | null) => {\n if (!prev) {\n return prev;\n }\n return prev.fullName === query ? prev : null;\n });\n updateNameFilter(query);\n try {\n const response = await getUsers(`filters[fullName][$containsi]=${query}`).unwrap();\n setSuggestions(response?.data?.records || []);\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_USER, error);\n setSuggestions([]);\n }\n };\n\n const handleUserChange = (value: any) => {\n if (!value) {\n setSelectedUser(null);\n updateNameFilter('');\n return;\n }\n if (typeof value === 'object') {\n setSelectedUser(value);\n updateNameFilter(value.fullName || '');\n return;\n }\n setSelectedUser(null);\n updateNameFilter(value);\n };\n\n return (\n <div className={`${styles.chatterTitle} ${title ? styles.chatterTitleWithLabel : ''} solid-list-toolbar`}>\n <div className='flex justify-between items-center solid-list-toolbar-row'>\n <p className=\"m-0 view-title solid-text-wrapper form-wrapper-title\">\n {title || ''}\n </p>\n <div className='flex items-center solid-header-buttons-wrapper'>\n {/* <Button\n label=\"Send Message\"\n size=\"small\"\n type=\"button\"\n onClick={() => handleTabClick('email-message')}\n {...(activeTab !== 'email-message' && {\n severity: 'secondary',\n outlined: true,\n })}\n /> */}\n {/* <SolidButton\n label=\"Log Note\"\n size=\"sm\"\n type=\"button\"\n variant=\"primary\"\n className=\"solid-purple-button\"\n onClick={() => handleTabClick('log')}\n /> */}\n <SolidButton\n size=\"sm\"\n type=\"button\"\n aria-label=\"Log Note\"\n variant={hasActiveFilters ? 'primary' : 'outline'}\n className=\"solid-icon-button\"\n style={{ gap: 0 }}\n leftIcon={<Edit size={14} />}\n onClick={() => handleTabClick('log')}\n />\n <SolidButton\n size=\"sm\"\n type=\"button\"\n aria-label=\"Filter\"\n variant={hasActiveFilters ? 'primary' : 'outline'}\n className=\"solid-icon-button\"\n style={{ gap: 0 }}\n leftIcon={<Filter size={14} />}\n onClick={handleFilterClick}\n />\n <SolidButton\n size=\"sm\"\n type=\"button\"\n aria-label=\"Refresh\"\n variant=\"outline\"\n className=\"solid-icon-button\"\n style={{ gap: 0 }}\n leftIcon={<RefreshCw size={14} />}\n onClick={refetch}\n />\n </div>\n </div>\n {visibleBox &&\n <div className='mt-2'>\n {visibleBox === \"email-message\" &&\n <SolidMessageComposer id={id} refetch={refetch} modelSingularName={modelSingularName} type={\"email\"} onCancel={onComposerCancel} modelUserKey={modelUserKey} />\n }\n\n {visibleBox === \"log\" &&\n <SolidMessageComposer id={id} refetch={refetch} modelSingularName={modelSingularName} onCancel={onComposerCancel} modelUserKey={modelUserKey} />\n }\n </div>\n }\n <SolidDialog\n open={showFilterDialog}\n onOpenChange={setShowFilterDialog}\n className='solid-filter-dialog-shell solid-chatter-filter-main'\n style={{ width: 500 }}\n showHeader={false}\n dismissible={false}\n >\n <SolidDialogHeader className=\"solid-filter-dialog-head\">\n <div>\n <SolidDialogTitle className=\"solid-filter-dialog-title m-0\">Filter Messages</SolidDialogTitle>\n </div>\n <SolidDialogClose className=\"solid-filter-dialog-close\" />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-filter-dialog-sep\" />\n <SolidDialogBody className=\"solid-filter-dialog-body\">\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col gap-2\">\n <label htmlFor=\"fullName\" className=\"form-field-label\">User</label>\n <SolidAutocomplete\n id=\"fullName\"\n value={selectedUser}\n suggestions={suggestions}\n field=\"fullName\"\n completeMethod={searchUsers}\n onChange={(e) => handleUserChange(e.value)}\n placeholder=\"Filter by user\"\n className=\"w-full\"\n inputClassName=\"w-full\"\n portal\n />\n </div>\n <div className=\"flex flex-col gap-2\">\n <label htmlFor=\"dateRange\" className=\"form-field-label\">Date Range</label>\n <div className=\"flex gap-2 flex-col md:flex-row\">\n <div className=\"flex-1\">\n <SolidDatePicker\n selected={filters.startDate ?? undefined}\n onChange={(date: Date | null) => setFilters(prev => ({ ...prev, startDate: date ?? null }))}\n placeholderText=\"Start Date\"\n className=\"w-full\"\n wrapperClassName=\"w-full\"\n inputClassName=\"w-full\"\n portalId=\"solid-datepicker-portal\"\n />\n </div>\n <div className=\"flex-1\">\n <SolidDatePicker\n selected={filters.endDate ?? undefined}\n onChange={(date: Date | null) => setFilters(prev => ({ ...prev, endDate: date ?? null }))}\n placeholderText=\"End Date\"\n className=\"w-full\"\n wrapperClassName=\"w-full\"\n inputClassName=\"w-full\"\n portalId=\"solid-datepicker-portal\"\n />\n </div>\n </div>\n </div>\n </div>\n </SolidDialogBody>\n <SolidDialogFooter>\n <SolidButton \n label=\"Clear\" \n size=\"sm\"\n variant=\"outline\"\n onClick={handleClearFilters}\n />\n <SolidButton \n label=\"Apply\" \n size=\"sm\"\n className=\"solid-purple-button\"\n onClick={handleApplyFilters}\n />\n </SolidDialogFooter>\n </SolidDialog>\n </div>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidChatterHeader.js","sourceRoot":"","sources":["../../../../src/components/core/chatter/SolidChatterHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from 'react'\nimport styles from './chatter.module.css'\nimport { SolidMessageComposer } from './SolidMessageComposer'\nimport { useLazyGetusersQuery } from '../../../redux/api/userApi'\nimport { ERROR_MESSAGES } from '../../../constants/error-messages'\nimport {\n SolidButton,\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n SolidAutocomplete,\n SolidDatePicker\n} from '../../shad-cn-ui'\nimport { Filter, RefreshCw,Edit } from 'lucide-react'\ninterface FilterState {\n name: string;\n startDate: Date | null;\n endDate: Date | null;\n}\n\ninterface Props {\n activeTab: any,\n handleTabClick: any,\n visibleBox: any,\n modelSingularName: any,\n refetch: any,\n id: any,\n onFilterChange?: (filters: FilterState) => void;\n onComposerCancel?: () => void;\n title?: string;\n modelUserKey?: string;\n}\n\nexport const SolidChatterHeader = (props: Props) => {\n const { activeTab, visibleBox, handleTabClick, modelSingularName, refetch, id, onFilterChange, onComposerCancel, title, modelUserKey } = props;\n const [showFilterDialog, setShowFilterDialog] = useState(false);\n const [filters, setFilters] = useState<FilterState>({\n name: '',\n startDate: null,\n endDate: null\n });\n const [appliedFilters, setAppliedFilters] = useState<FilterState>({\n name: '',\n startDate: null,\n endDate: null\n });\n const [suggestions, setSuggestions] = useState<any[]>([]);\n const [selectedUser, setSelectedUser] = useState<any | null>(null);\n const [getUsers] = useLazyGetusersQuery();\n\n const hasActiveFilters = appliedFilters.name !== '' || appliedFilters.startDate !== null || appliedFilters.endDate !== null;\n\n const handleFilterClick = () => {\n setSelectedUser(filters.name ? { fullName: filters.name } : null);\n setShowFilterDialog(true);\n };\n\n const handleApplyFilters = () => {\n setAppliedFilters(filters);\n if (onFilterChange) {\n onFilterChange(filters);\n }\n setShowFilterDialog(false);\n };\n\n const handleClearFilters = () => {\n const clearedFilters = {\n name: '',\n startDate: null,\n endDate: null\n };\n setSelectedUser(null);\n setSuggestions([]);\n setFilters(clearedFilters);\n setAppliedFilters(clearedFilters);\n if (onFilterChange) {\n onFilterChange(clearedFilters);\n }\n setShowFilterDialog(false);\n };\n\n const updateNameFilter = (value: string) => {\n setFilters(prev => {\n if (prev.name === value) {\n return prev;\n }\n return {\n ...prev,\n name: value\n };\n });\n };\n\n const searchUsers = async (event: { query: string }) => {\n const query = event.query || '';\n setSelectedUser((prev: any | null) => {\n if (!prev) {\n return prev;\n }\n return prev.fullName === query ? prev : null;\n });\n updateNameFilter(query);\n try {\n const response = await getUsers(`filters[fullName][$containsi]=${query}`).unwrap();\n setSuggestions(response?.data?.records || []);\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_USER, error);\n setSuggestions([]);\n }\n };\n\n const handleUserChange = (value: any) => {\n if (!value) {\n setSelectedUser(null);\n updateNameFilter('');\n return;\n }\n if (typeof value === 'object') {\n setSelectedUser(value);\n updateNameFilter(value.fullName || '');\n return;\n }\n setSelectedUser(null);\n updateNameFilter(value);\n };\n\n return (\n <div className={`${styles.chatterTitle} ${title ? styles.chatterTitleWithLabel : ''} solid-list-toolbar`}>\n <div className='flex justify-between items-center solid-list-toolbar-row'>\n <p className=\"m-0 view-title solid-text-wrapper form-wrapper-title\">\n {title || ''}\n </p>\n <div className='flex items-center solid-header-buttons-wrapper'>\n {/* <Button\n label=\"Send Message\"\n size=\"small\"\n type=\"button\"\n onClick={() => handleTabClick('email-message')}\n {...(activeTab !== 'email-message' && {\n severity: 'secondary',\n outlined: true,\n })}\n /> */}\n {/* <SolidButton\n label=\"Log Note\"\n size=\"sm\"\n type=\"button\"\n variant=\"primary\"\n className=\"solid-purple-button\"\n onClick={() => handleTabClick('log')}\n /> */}\n <SolidButton\n size=\"sm\"\n type=\"button\"\n aria-label=\"Log Note\"\n variant=\"outline\"\n className=\"solid-icon-button\"\n style={{ gap: 0 }}\n leftIcon={<Edit size={14} />}\n onClick={() => handleTabClick('log')}\n />\n <SolidButton\n size=\"sm\"\n type=\"button\"\n aria-label=\"Filter\"\n variant=\"outline\"\n className={`solid-icon-button ${hasActiveFilters ? 'is-filter-active' : ''}`}\n style={{ gap: 0 }}\n leftIcon={<Filter size={14} />}\n onClick={handleFilterClick}\n />\n <SolidButton\n size=\"sm\"\n type=\"button\"\n aria-label=\"Refresh\"\n variant=\"outline\"\n className=\"solid-icon-button\"\n style={{ gap: 0 }}\n leftIcon={<RefreshCw size={14} />}\n onClick={refetch}\n />\n </div>\n </div>\n {visibleBox &&\n <div className='mt-2'>\n {visibleBox === \"email-message\" &&\n <SolidMessageComposer id={id} refetch={refetch} modelSingularName={modelSingularName} type={\"email\"} onCancel={onComposerCancel} modelUserKey={modelUserKey} />\n }\n\n {visibleBox === \"log\" &&\n <SolidMessageComposer id={id} refetch={refetch} modelSingularName={modelSingularName} onCancel={onComposerCancel} modelUserKey={modelUserKey} />\n }\n </div>\n }\n <SolidDialog\n open={showFilterDialog}\n onOpenChange={setShowFilterDialog}\n className='solid-filter-dialog-shell solid-chatter-filter-main'\n style={{ width: 500 }}\n showHeader={false}\n dismissible={false}\n >\n <SolidDialogHeader className=\"solid-filter-dialog-head\">\n <div>\n <SolidDialogTitle className=\"solid-filter-dialog-title m-0\">Filter Messages</SolidDialogTitle>\n </div>\n <SolidDialogClose className=\"solid-filter-dialog-close\" />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-filter-dialog-sep\" />\n <SolidDialogBody className=\"solid-filter-dialog-body\">\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col gap-2\">\n <label htmlFor=\"fullName\" className=\"form-field-label\">User</label>\n <SolidAutocomplete\n id=\"fullName\"\n value={selectedUser}\n suggestions={suggestions}\n field=\"fullName\"\n completeMethod={searchUsers}\n onChange={(e) => handleUserChange(e.value)}\n placeholder=\"Filter by user\"\n className=\"w-full\"\n inputClassName=\"w-full\"\n portal\n />\n </div>\n <div className=\"flex flex-col gap-2\">\n <label htmlFor=\"dateRange\" className=\"form-field-label\">Date Range</label>\n <div className=\"flex gap-2 flex-col md:flex-row\">\n <div className=\"flex-1\">\n <SolidDatePicker\n selected={filters.startDate ?? undefined}\n onChange={(date: Date | null) => setFilters(prev => ({ ...prev, startDate: date ?? null }))}\n placeholderText=\"Start Date\"\n className=\"w-full\"\n wrapperClassName=\"w-full\"\n inputClassName=\"w-full\"\n portalId=\"solid-datepicker-portal\"\n />\n </div>\n <div className=\"flex-1\">\n <SolidDatePicker\n selected={filters.endDate ?? undefined}\n onChange={(date: Date | null) => setFilters(prev => ({ ...prev, endDate: date ?? null }))}\n placeholderText=\"End Date\"\n className=\"w-full\"\n wrapperClassName=\"w-full\"\n inputClassName=\"w-full\"\n portalId=\"solid-datepicker-portal\"\n />\n </div>\n </div>\n </div>\n </div>\n </SolidDialogBody>\n <SolidDialogFooter>\n <SolidButton \n label=\"Clear\" \n size=\"sm\"\n variant=\"outline\"\n onClick={handleClearFilters}\n />\n <SolidButton \n label=\"Apply\" \n size=\"sm\"\n className=\"solid-purple-button\"\n onClick={handleApplyFilters}\n />\n </SolidDialogFooter>\n </SolidDialog>\n </div>\n )\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { useEffect, useState } from 'react'
1
+ import { useState } from 'react'
2
2
  import styles from './chatter.module.css'
3
3
  import { SolidMessageComposer } from './SolidMessageComposer'
4
4
  import { useLazyGetusersQuery } from '../../../redux/api/userApi'
@@ -43,15 +43,16 @@ export const SolidChatterHeader = (props: Props) => {
43
43
  startDate: null,
44
44
  endDate: null
45
45
  });
46
- const [hasActiveFilters, setHasActiveFilters] = useState(false);
46
+ const [appliedFilters, setAppliedFilters] = useState<FilterState>({
47
+ name: '',
48
+ startDate: null,
49
+ endDate: null
50
+ });
47
51
  const [suggestions, setSuggestions] = useState<any[]>([]);
48
52
  const [selectedUser, setSelectedUser] = useState<any | null>(null);
49
53
  const [getUsers] = useLazyGetusersQuery();
50
54
 
51
- useEffect(() => {
52
- const isActive = filters.name !== '' || filters.startDate !== null || filters.endDate !== null;
53
- setHasActiveFilters(isActive);
54
- }, [filters]);
55
+ const hasActiveFilters = appliedFilters.name !== '' || appliedFilters.startDate !== null || appliedFilters.endDate !== null;
55
56
 
56
57
  const handleFilterClick = () => {
57
58
  setSelectedUser(filters.name ? { fullName: filters.name } : null);
@@ -59,6 +60,7 @@ export const SolidChatterHeader = (props: Props) => {
59
60
  };
60
61
 
61
62
  const handleApplyFilters = () => {
63
+ setAppliedFilters(filters);
62
64
  if (onFilterChange) {
63
65
  onFilterChange(filters);
64
66
  }
@@ -74,6 +76,7 @@ export const SolidChatterHeader = (props: Props) => {
74
76
  setSelectedUser(null);
75
77
  setSuggestions([]);
76
78
  setFilters(clearedFilters);
79
+ setAppliedFilters(clearedFilters);
77
80
  if (onFilterChange) {
78
81
  onFilterChange(clearedFilters);
79
82
  }
@@ -154,7 +157,7 @@ export const SolidChatterHeader = (props: Props) => {
154
157
  size="sm"
155
158
  type="button"
156
159
  aria-label="Log Note"
157
- variant={hasActiveFilters ? 'primary' : 'outline'}
160
+ variant="outline"
158
161
  className="solid-icon-button"
159
162
  style={{ gap: 0 }}
160
163
  leftIcon={<Edit size={14} />}
@@ -164,8 +167,8 @@ export const SolidChatterHeader = (props: Props) => {
164
167
  size="sm"
165
168
  type="button"
166
169
  aria-label="Filter"
167
- variant={hasActiveFilters ? 'primary' : 'outline'}
168
- className="solid-icon-button"
170
+ variant="outline"
171
+ className={`solid-icon-button ${hasActiveFilters ? 'is-filter-active' : ''}`}
169
172
  style={{ gap: 0 }}
170
173
  leftIcon={<Filter size={14} />}
171
174
  onClick={handleFilterClick}
@@ -1 +1 @@
1
- {"version":3,"file":"SolidGlobalSearchElement.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/SolidGlobalSearchElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoG,MAAM,OAAO,CAAC;AAYzH,OAA0B,EAAE,eAAe,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AA0B3G,MAAM,MAAM,eAAe,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;CAClC,CAAA;AAoUD,eAAO,MAAM,2BAA2B,sBAAuB,GAAG,aAAa,GAAG,yBAAyB,MAAM,iBAAiB,MAAM,QAavI,CAAA;AAGD,eAAO,MAAM,mBAAmB,iBAAkB,GAAG,gBAAgB,GAAG,eAAe,GAAG,qBAAqB,GAAG,kBAAkB,YAAY,EAAE,qBAAqB,eAAe,EAAE,QAwBvL,CAAA;AA2JD,eAAO,MAAM,wBAAwB,kFAi4DnC,CAAC"}
1
+ {"version":3,"file":"SolidGlobalSearchElement.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/SolidGlobalSearchElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoG,MAAM,OAAO,CAAC;AAYzH,OAA0B,EAAE,eAAe,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AA0B3G,MAAM,MAAM,eAAe,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;CAClC,CAAA;AAoUD,eAAO,MAAM,2BAA2B,sBAAuB,GAAG,aAAa,GAAG,yBAAyB,MAAM,iBAAiB,MAAM,QAavI,CAAA;AAGD,eAAO,MAAM,mBAAmB,iBAAkB,GAAG,gBAAgB,GAAG,eAAe,GAAG,qBAAqB,GAAG,kBAAkB,YAAY,EAAE,qBAAqB,eAAe,EAAE,QAwBvL,CAAA;AA2JD,eAAO,MAAM,wBAAwB,kFAg4DnC,CAAC"}
@@ -1738,7 +1738,7 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
1738
1738
  e.preventDefault();
1739
1739
  handlePredefinedSearch(predefinedSearch);
1740
1740
  }, onMouseEnter: function () { return setFocusedIndex(optionIndex); }, children: _jsxs("span", { className: "solid-search-overlay-option-content", children: [_jsx("span", { className: "solid-search-overlay-option-icon", "aria-hidden": "true", children: _jsx(Sparkles, { size: 15 }) }), _jsxs("span", { className: "solid-search-overlay-option-copy", children: [_jsx("span", { className: "solid-search-overlay-option-title", children: predefinedSearch.name }), _jsxs("span", { className: "solid-search-overlay-option-description", children: ["Search for \u201C", inputValue, "\u201D", predefinedSearch.description ? " \u2014 ".concat(predefinedSearch.description) : ""] })] })] }) }, index));
1741
- })] }), _jsx("div", { className: "solid-filter-dialog-sep" })] })), _jsxs("div", { className: "solid-search-overlay-section solid-search-overlay-section--search", children: [_jsxs("h6", { className: "my-1 solid-search-overlay-heading solid-search-overlay-section-title solid-search-overlay-heading-with-icon", children: [_jsx(Search, { size: 13 }), _jsx("span", { children: "Search individual fields" }), _jsx("span", { className: "solid-search-overlay-section-count", children: searchableFields.length })] }), searchableFields.length > 0 ? (searchableFields.map(function (value, index) {
1741
+ })] }), _jsx("hr", { className: "solid-search-overlay-section-separator" })] })), _jsxs("div", { className: "solid-search-overlay-section solid-search-overlay-section--search", children: [_jsxs("h6", { className: "my-1 solid-search-overlay-heading solid-search-overlay-section-title solid-search-overlay-heading-with-icon", children: [_jsx(Search, { size: 13 }), _jsx("span", { children: "Search individual fields" }), _jsx("span", { className: "solid-search-overlay-section-count", children: searchableFields.length })] }), searchableFields.length > 0 ? (searchableFields.map(function (value, index) {
1742
1742
  var optionIndex = overlayOptions.findIndex(function (option) { return option.id === "field:".concat(value.fieldName); });
1743
1743
  return (_jsx(SolidButton, { id: getOverlayOptionId(optionIndex), role: "option", "aria-selected": focusedIndex === optionIndex, variant: "ghost", size: "sm", className: "text-color solid-search-overlay-option ".concat(focusedIndex === optionIndex ? "solid-search-overlay-option-active" : ""), onMouseDown: function (e) {
1744
1744
  e.preventDefault();
@@ -1760,8 +1760,8 @@ export var SolidGlobalSearchElement = forwardRef(function (_a, ref) {
1760
1760
  }
1761
1761
  }, onMouseEnter: function () { return setFocusedIndex(optionIndex); }, children: _jsxs("span", { className: "solid-search-overlay-option-content", children: [_jsx("span", { className: "solid-search-overlay-option-icon", "aria-hidden": "true", children: _jsx(Search, { size: 15 }) }), _jsxs("span", { className: "solid-search-overlay-option-copy", children: [_jsx("span", { className: "solid-search-overlay-option-title", children: toTitleCase(value.displayName.trim()) }), _jsxs("span", { className: "solid-search-overlay-option-description", children: ["Search for \u201C", inputValue, "\u201D"] })] })] }) }, index));
1762
1762
  })) : (_jsxs("div", { className: "solid-search-overlay-no-fields", children: [_jsx("div", { className: "solid-search-overlay-no-fields-icon", children: _jsx(SearchX, { size: 14 }) }), _jsx("div", { className: "solid-search-overlay-no-fields-text", children: "No fields configured for search." })] }))] })] })) :
1763
- _jsxs(_Fragment, { children: [_jsx("div", { className: "solid-search-overlay-empty", children: _jsxs("div", { className: "solid-search-overlay-panel-callout", children: [_jsx("div", { className: "solid-search-overlay-panel-callout-icon", children: _jsx(Search, { size: 13 }) }), _jsxs("div", { className: "solid-search-overlay-panel-callout-copy", children: [_jsx("div", { className: "solid-search-overlay-empty-title", children: "Start typing to search" }), _jsxs("div", { className: "solid-search-overlay-empty-subtitle", children: ["Enter a value to see suggested searches and searchable ", searchableEntityLabel, " fields."] })] })] }) }), _jsx("div", { className: "solid-filter-dialog-sep" })] }), selectableSavedFilters.length > 0 &&
1764
- _jsxs(_Fragment, { children: [_jsx("hr", { className: "solid-search-overlay-section-separator" }), _jsxs("div", { className: "solid-search-overlay-section solid-search-overlay-section--saved", children: [_jsxs("div", { className: "solid-search-overlay-panel-callout solid-search-overlay-panel-callout-compact", children: [_jsx("div", { className: "solid-search-overlay-panel-callout-icon", children: _jsx(Bookmark, { size: 13 }) }), _jsx("div", { className: "solid-search-overlay-panel-callout-copy", children: _jsxs("p", { className: "solid-search-overlay-heading solid-search-overlay-section-title", children: [_jsx("span", { children: "Saved filters" }), _jsx("span", { className: "solid-search-overlay-section-count", children: selectableSavedFilters.length })] }) })] }), _jsx("div", { className: "solid-search-overlay-saved-list", children: selectableSavedFilters.map(function (savedfilter, index) {
1763
+ _jsx(_Fragment, { children: _jsx("div", { className: "solid-search-overlay-empty", children: _jsxs("div", { className: "solid-search-overlay-panel-callout", children: [_jsx("div", { className: "solid-search-overlay-panel-callout-icon", children: _jsx(Search, { size: 13 }) }), _jsxs("div", { className: "solid-search-overlay-panel-callout-copy", children: [_jsx("div", { className: "solid-search-overlay-empty-title", children: "Start typing to search" }), _jsxs("div", { className: "solid-search-overlay-empty-subtitle", children: ["Enter a value to see suggested searches and searchable ", searchableEntityLabel, " fields."] })] })] }) }) }), selectableSavedFilters.length > 0 &&
1764
+ _jsxs(_Fragment, { children: [_jsx("hr", { className: "solid-search-overlay-section-separator" }), _jsxs("div", { className: "solid-search-overlay-section solid-search-overlay-section--saved", children: [_jsxs("div", { className: "solid-search-overlay-panel-callout solid-search-overlay-panel-callout-compact items-center", children: [_jsx("div", { className: "solid-search-overlay-panel-callout-icon", children: _jsx(Bookmark, { size: 13 }) }), _jsx("div", { className: "solid-search-overlay-panel-callout-copy", children: _jsxs("p", { className: "solid-search-overlay-heading solid-search-overlay-section-title", children: [_jsx("span", { children: "Saved filters" }), _jsx("span", { className: "solid-search-overlay-section-count", children: selectableSavedFilters.length })] }) })] }), _jsx("div", { className: "solid-search-overlay-saved-list", children: selectableSavedFilters.map(function (savedfilter, index) {
1765
1765
  var _a;
1766
1766
  return (_jsx(SavedFilterList, { savedfilter: savedfilter, activeSavedFilterReference: (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.systemKey) || (currentSavedFilterData === null || currentSavedFilterData === void 0 ? void 0 : currentSavedFilterData.id), applySavedFilter: applySavedFilter, openSavedCustomFilter: openSavedCustomFilter, setSavedFilterTobeDeleted: setSavedFilterTobeDeleted, setIsDeleteSQDialogVisible: setIsDeleteSQDialogVisible, isFocused: ((_a = overlayOptions[focusedIndex]) === null || _a === void 0 ? void 0 : _a.id) === "saved:".concat(savedfilter.id), onMouseEnter: function () {
1767
1767
  var optIndex = overlayOptions.findIndex(function (o) { return o.id === "saved:".concat(savedfilter.id); });