@rh-support/cases 1.0.2 → 1.0.4

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 (31) hide show
  1. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts.map +1 -1
  2. package/lib/esm/components/case-list/case-list-filters/ProductsFilter.js +21 -17
  3. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts.map +1 -1
  4. package/lib/esm/components/case-list/case-list-filters/SeverityFilter.js +19 -20
  5. package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts.map +1 -1
  6. package/lib/esm/components/case-list/case-list-filters/StatusFilter.js +18 -20
  7. package/lib/esm/components/case-list/case-list-filters/TypeFilter.d.ts.map +1 -1
  8. package/lib/esm/components/case-list/case-list-filters/TypeFilter.js +19 -13
  9. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts.map +1 -1
  10. package/lib/esm/components/case-list/case-list-filters/VersionsFilter.js +17 -19
  11. package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.js +1 -1
  12. package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts +1 -1
  13. package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts.map +1 -1
  14. package/lib/esm/components/case-list/case-search/AdvanceSearch.js +29 -49
  15. package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.js +1 -1
  16. package/lib/esm/components/case-list/case-search/CaseSearch.d.ts.map +1 -1
  17. package/lib/esm/components/case-list/case-search/CaseSearch.js +16 -15
  18. package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.d.ts.map +1 -1
  19. package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.js +161 -64
  20. package/lib/esm/css/caseList.css +7 -2
  21. package/lib/esm/css/caseSearch.css +0 -4
  22. package/lib/esm/enums/case.d.ts +15 -1
  23. package/lib/esm/enums/case.d.ts.map +1 -1
  24. package/lib/esm/enums/case.js +16 -2
  25. package/lib/esm/enums/filters.d.ts +35 -1
  26. package/lib/esm/enums/filters.d.ts.map +1 -1
  27. package/lib/esm/enums/filters.js +34 -0
  28. package/lib/esm/utils/caseSearchUtils.d.ts +3 -2
  29. package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
  30. package/lib/esm/utils/caseSearchUtils.js +68 -15
  31. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"useAdvanceSearchParser.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/useAdvanceSearchParser.tsx"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,MAAM,EAAE;;CAAA;yBASzB,MAAM;6BASF,MAAM;;EA4EzC"}
1
+ {"version":3,"file":"useAdvanceSearchParser.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/useAdvanceSearchParser.tsx"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,MAAM,EAAE;;CAAA;yBASzB,MAAM;6BAIF,MAAM;;EAwLzC"}
@@ -3,20 +3,12 @@ import PEG from 'pegjs';
3
3
  import { useEffect, useRef } from 'react';
4
4
  import { SolrKeys } from '../../../enums/filters';
5
5
  import { useCaseListStateContext } from '../CaseListContext';
6
- // escaped from solrGrammar.txt
7
- const grammarStringInternal = '{\r\n function joinByOr(val) {\r\n return "(" + [].concat.apply([], val).filter(function(item) {return item !== \' \'}).join(" or ")+")";\r\n }\r\n}\r\n\r\nquery = sequence\r\n\r\nsequence = first:sequencePart cont:sequenceCont { return first + cont; }\r\nsequenceCont = orSequence / andSequence / ""\r\n\r\nandSequence = parts:(" and " sequencePart)+ { return [].concat.apply([], parts).join(""); }\r\norSequence = parts:(" or " sequencePart)+ { return [].concat.apply([], parts).join(""); }\r\nsequencePart = criteria / "(" sq:sequence ")" { return \'(\' + sq + \')\' }\r\n\r\n\r\ncriteria = basicCriteria / notCriteria\r\nnotCriteria = "-"criteria:basicCriteria {return \'-\' + criteria; }\r\nbasicCriteria = field:basicFieldName ":"" "* value:value { return field + ":" + value; }\r\n/ field:severityFieldName ":"" "* value:severityValue { return field + ":" + value; }\r\n/ field:statusFieldName ":"" "* value:statusValue { return field + ":" + value; }\r\n/ field:groupFieldName ":"" "* value:groupValue { return field + ":" + value; }\r\n/ field:caseTypeFieldName ":"" "* value:caseTypeValue { return field + ":" + value; }\r\n/ field:productFieldName ":"" "* value:productValue { return field + ":" + value; }\r\n/ field:ftsFieldName ":"" "* value:booleanValue { return field + ":" + value; }\r\n/ field:accountNumberFieldName ":"" "* value:accountNumberValue { return field + ":" + value; }\r\n/ field:accountNameFieldName ":"" "* value:accountNameValue { return field + ":" + value; }\r\n/ field:escalatedFieldName ":"" "* value:booleanValue { return field + ":" + value; }\r\n/ field:cepFieldName ":"" "* value:booleanValue { return field + ":" + value; }\r\n/ field:contactSSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }\r\n/ field:ownerSSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }\r\n/ field:createdBySSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }\r\n/ field:textFieldName ":"" "* value:value { return value; }\r\n\r\nvalue = range / string\r\nrange = "[" from:([^" "]+) " TO " to:([^\\]]+) "]" {return "[" + from.join("") + " TO " + to.join("") + "]"; }\r\nstring = quoted_term / unquoted_term / _\r\n\r\nunquoted_term\r\n = term:term_char+\r\n { \r\n return term.join(\'\');\r\n }\r\n\r\nterm_char\r\n = [^: \\t\\r\\n\\f\\{\\}()"+-/^~\\[\\]]\r\n\r\n \r\nquoted_term\r\n = \'"\' term:[^"]+ \'"\'\r\n {\r\n return \'"\' + term.join(\'\') + \'"\';\r\n }\r\nbooleanValue = "true" / "false"\r\nnumber = digits:[0-9]+ { return digits.join(\'\'); }\r\nmultipleValue = "(" val:(value)+ ")" { return joinByOr(val); }\r\nstringOrMulti = string / multipleValue\r\n\r\nbasicFieldName = "contactName" {return "case_contactName";}\r\n/ "createdByName" {return "case_createdByName";}\r\n/ "createdDate" {return "case_createdDate";}\r\n/ "closedDate" {return "case_closedDate";}\r\n/ "description" {return "case_description";}\r\n/ "summary" {return "case_summary";}\r\n/ "productVersion" {return "case_version";}\r\n/ "lastModifiedDate" {return "case_lastModifiedDate";}\r\n/ "lastModifiedByName" {return "case_lastModifiedByName";}\r\n/ "ownerName" {return "case_owner";}\r\n/ "caseNumber" {return "case_number";}\r\n/ "openshiftClusterId" {return "case_openshift_cluster_id";}\r\n/ "alternateCaseId" {return "case_alternate_id";}\r\n\r\ncepFieldName = "CEP" {return "case_is_cep";}\r\nftsFieldName = "FTS" {return "case_24_7";}\r\nescalatedFieldName = "escalated" {return "case_customer_escalation";}\r\ncontactSSOFieldName = "contactSSO" {return "case_contact_sso_username";}\r\nownerSSOFieldName = "ownerSSO" {return "case_owner_sso_username";}\r\ncreatedBySSOFieldName = "createdBySSO" {return "case_createdby_sso_username";}\r\ntextFieldName = "text" {return "";}\r\n\r\nseverityFieldName = "severity" {return "case_severity";}\r\nseverityValue = string / severityMultipleValue / _ \r\nseverityMultipleValue = "(" val:(severityValue)+ ")" { return joinByOr(val); }\r\n\r\nstatusFieldName = "status" {return "case_status";}\r\nstatusValue = string / statusMultipleValue / _ \r\nstatusMultipleValue = "(" val:(statusValue)+ ")" { return joinByOr(val); }\r\n\r\ngroupFieldName = "group" {return "case_folderNumber";}\r\ngroupValue = string / groupMultipleValue / _ \r\ngroupMultipleValue = "(" val:(groupValue)+ ")" { return joinByOr(val); }\r\n\r\ncaseTypeFieldName = "caseType" {return "case_type";}\r\ncaseTypeValue = string / caseTypeMultipleValue / _ \r\ncaseTypeMultipleValue = "(" val:(caseTypeValue)+ ")" { return joinByOr(val); }\r\n\r\nproductFieldName = "productName" { return "case_product"; }\r\nproductValue = string / productMultipleValue / _ \r\nproductMultipleValue = "(" val:(productValue)+ ")" { return joinByOr(val); }\r\n\r\naccountNumberFieldName = "accountNumber" {return "case_accountNumber";}\r\naccountNumberValue = number / string / accountNumberMultipleValue / _ \r\naccountNumberMultipleValue = "(" val:(accountNumberValue)+ ")" { return joinByOr(val); }\r\n\r\naccountNameFieldName = "accountName" { return "case_account_name";}\r\naccountNameValue = string / accountNameMultipleValue / _ \r\naccountNameMultipleValue = "(" val:(accountNameValue)+ ")" { return joinByOr(val); }\r\n\r\n_ "whitespace"\r\n = [ \\t\\r\\n\\f]+';
8
6
  export default function useAdvanceSearchParser({ onInit }) {
9
7
  const { filterValuesFromFacetResponse } = useCaseListStateContext();
10
8
  const { globalMetadataState: { caseGroups, loggedInUsersAccount, bookmarkedGroupAccounts, allCaseTypes }, } = useGlobalStateContext();
11
- const grammerStringRef = useRef(grammarStringInternal);
12
9
  const parserRef = useRef(null);
13
10
  const parse = (stringQuery) => {
14
- // on page load if we try to parse query from url, parser could be undefined
15
- // so we just intialise the parser with basic grammar without values
16
- if (!parserRef.current) {
17
- initParser();
18
- }
19
- return parserRef.current.parse(stringQuery);
11
+ return parserRef.current.parse(stringQuery.replace(/ +/g, ' '));
20
12
  };
21
13
  const parseSafe = (stringQuery) => {
22
14
  try {
@@ -25,69 +17,174 @@ export default function useAdvanceSearchParser({ onInit }) {
25
17
  catch (e) { }
26
18
  return '';
27
19
  };
28
- const initParser = () => {
20
+ const initParser = (grammer) => {
29
21
  try {
30
- parserRef.current = PEG.generate(grammerStringRef.current);
22
+ parserRef.current = PEG.generate(grammer);
31
23
  }
32
- catch (_a) {
24
+ catch (e) {
33
25
  parserRef.current = null;
34
26
  }
35
27
  };
36
- // write products, severity and status to grammar string once we have the values from facets
28
+ // init grammar parser once we have the values from facets
37
29
  useEffect(() => {
38
- if (!filterValuesFromFacetResponse)
30
+ if (!filterValuesFromFacetResponse ||
31
+ caseGroups.isFetching ||
32
+ allCaseTypes.isFetching ||
33
+ bookmarkedGroupAccounts.isFetching ||
34
+ loggedInUsersAccount.isFetching)
39
35
  return;
40
- const statusValues = filterValuesFromFacetResponse[SolrKeys.status]
41
- .map((status) => `"\\"${status.value}\\"" { return '"${status.value}"'; }`)
42
- .join(' / ');
43
- const severityValues = filterValuesFromFacetResponse[SolrKeys.severity]
44
- .map((severity) => `"\\"${severity.value}\\"" { return '"${severity.value}"'; }`)
45
- .join(' / ');
46
- const productValues = filterValuesFromFacetResponse[SolrKeys.product]
47
- .map((product) => `"\\"${product.value}\\"" { return '"${product.value}"'; }`)
48
- .join(' / ');
49
- writeValuesToGrammarString('status', statusValues);
50
- writeValuesToGrammarString('severity', severityValues);
51
- writeValuesToGrammarString('product', productValues);
52
- initParser();
53
- // // parse on page load so that we have the autocomplete setup on first load
54
- onInit && onInit();
55
- // eslint-disable-next-line react-hooks/exhaustive-deps
56
- }, [filterValuesFromFacetResponse, caseGroups.data]);
57
- // write case groups to solr grammar string
58
- useEffect(() => {
59
- const groupValues = (caseGroups.data || [])
60
- .map((group) => `"\\"${group.name}\\"" { return '${group.groupNum}'; }`)
61
- .join(' / ');
62
- writeValuesToGrammarString('group', groupValues);
63
- initParser();
64
- }, [caseGroups.data]);
65
- // write case types to solr grammar string
66
- useEffect(() => {
67
- const caseTypeValues = (allCaseTypes.data || [])
68
- .map((caseType) => `"\\"${caseType}\\"" { return '"${caseType}"'; }`)
69
- .join(' / ');
70
- writeValuesToGrammarString('caseType', caseTypeValues);
71
- initParser();
72
- }, [allCaseTypes.data]);
73
- // write account numbers and account name to solr grammar string
74
- useEffect(() => {
75
36
  const accounts = (bookmarkedGroupAccounts.data || []);
76
37
  const allAccounts = [...accounts, loggedInUsersAccount.data];
77
- const numberValues = allAccounts
78
- .map((account) => `"${account.accountNumber}" { return "${account.accountNumber}"; }`)
79
- .join(' / ');
80
- const nameValues = allAccounts
81
- .map((account) => `"\\"${account.name}\\"" { return "${account.name}"; }`)
82
- .join(' / ');
83
- writeValuesToGrammarString('accountNumber', `number / string / ${numberValues}`);
84
- writeValuesToGrammarString('accountName', `string / ${nameValues}`);
85
- initParser();
86
- }, [bookmarkedGroupAccounts.data, loggedInUsersAccount.data]);
87
- const writeValuesToGrammarString = (fieldName, values) => {
88
- const rule = `${fieldName}Value = ${values} / ${fieldName}MultipleValue / _`;
89
- const replaceRegex = new RegExp(`${fieldName}Value\\s*=.+`);
90
- grammerStringRef.current = grammerStringRef.current.replace(replaceRegex, rule);
91
- };
38
+ const grammarStringInternal = `
39
+ {
40
+ function joinByOr(val) {
41
+ return "(" + [].concat.apply([], val).filter(function(item) {return item !== ' '}).join(" OR ")+")";
42
+ }
43
+ }
44
+
45
+ query = sequence
46
+
47
+ sequence = first:sequencePart cont:sequenceCont { return first + cont; }
48
+
49
+ sequenceCont = orSequence / andSequence / ""
50
+
51
+ andSequence = parts:(" and " sequencePart)+ { return [].concat.apply([], parts).join(""); }
52
+ orSequence = parts:(" or " sequencePart)+ { return [].concat.apply([], parts).join(""); }
53
+ sequencePart = criteria / "(" sq:sequence ")" { return '(' + sq + ')' }
54
+
55
+ criteria = basicCriteria / notCriteria
56
+ notCriteria = "-"criteria:basicCriteria {return '-' + criteria; }
57
+ basicCriteria = field:basicFieldName ":"" "* value:value { return field + ":" + value; }
58
+ / field:severityFieldName ":"" "* value:severityValue { return field + ":" + value; }
59
+ / field:statusFieldName ":"" "* value:statusValue { return field + ":" + value; }
60
+ / field:groupFieldName ":"" "* value:groupValue { return field + ":" + value; }
61
+ / field:caseTypeFieldName ":"" "* value:caseTypeValue { return field + ":" + value; }
62
+ / field:productFieldName ":"" "* value:productValue { return field + ":" + value; }
63
+ / field:versionFieldName ":"" "* value:versionValue { return field + ":" + value; }
64
+ / field:ftsFieldName ":"" "* value:booleanValue { return field + ":" + value; }
65
+ / field:accountNumberFieldName ":"" "* value:accountNumberValue { return field + ":" + value; }
66
+ / field:accountNameFieldName ":"" "* value:accountNameValue { return field + ":" + value; }
67
+ / field:escalatedFieldName ":"" "* value:booleanValue { return field + ":" + value; }
68
+ / field:cepFieldName ":"" "* value:booleanValue { return field + ":" + value; }
69
+ / field:contactSSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }
70
+ / field:ownerSSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }
71
+ / field:createdBySSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }
72
+ / field:textFieldName ":"" "* value:value { return value; }
73
+
74
+ value = range / string
75
+ range = "[" from:([^" "]+) " TO " to:([^\\]]+) "]" {return "[" + from.join("") + " TO " + to.join("") + "]"; }
76
+ string = quoted_term / unquoted_term / _
77
+
78
+ unquoted_term
79
+ = term:term_char+
80
+ {
81
+ return term.join('');
82
+ }
83
+
84
+ term_char
85
+ = [^: \\t\\r\\n\\f\\{\\}()"+-/^~\\[\\]]
86
+
87
+ quoted_term
88
+ = '"' term:[^"]+ '"'
89
+ {
90
+ return '"' + term.join('') + '"';
91
+ }
92
+ booleanValue = "true" / "false"
93
+ number = digits:[0-9]+ { return digits.join(''); }
94
+ multipleValue = "(" val:(value)+ ")" { return joinByOr(val); }
95
+ stringOrMulti = string / multipleValue
96
+
97
+ basicFieldName = "contactName" {return "${SolrKeys.contactName}";}
98
+ / "createdByName" {return "${SolrKeys.createdBy}";}
99
+ / "createdDate" {return "${SolrKeys.createdDate}";}
100
+ / "closedDate" {return "${SolrKeys.caseClosedDate}";}
101
+ / "description" {return "${SolrKeys.description}";}
102
+ / "summary" {return "${SolrKeys.caseSummary}";}
103
+ / "lastModifiedDate" {return "${SolrKeys.modifiedDate}";}
104
+ / "lastModifiedByName" {return "${SolrKeys.modifiedBy}";}
105
+ / "ownerName" {return "${SolrKeys.ownerName}";}
106
+ / "caseNumber" {return "${SolrKeys.caseNumber}";}
107
+ / "openshiftClusterId" {return "${SolrKeys.openshiftClusterId}";}
108
+ / "alternateCaseId" {return "${SolrKeys.alternateId}";}
109
+
110
+ cepFieldName = "CEP" {return "${SolrKeys.cep}";}
111
+ ftsFieldName = "FTS" {return "${SolrKeys.fts}";}
112
+ escalatedFieldName = "escalated" {return "${SolrKeys.escalation}";}
113
+ contactSSOFieldName = "contactSSO" {return "${SolrKeys.caseContactSSO}";}
114
+ ownerSSOFieldName = "ownerSSO" {return "${SolrKeys.caseOwner}";}
115
+ createdBySSOFieldName = "createdBySSO" {return "${SolrKeys.createdBySsoUsername}";}
116
+ textFieldName = "text" {return "";}
117
+
118
+ severityFieldName = "severity" {return "${SolrKeys.severity}";}
119
+ severityValue = string
120
+ /${(filterValuesFromFacetResponse[SolrKeys.severity] || [])
121
+ .map((severity) => `'"${severity.value}"' { return '"${severity.value}"'; } `)
122
+ .join(' / ')}
123
+ / severityMultipleValue / _
124
+ severityMultipleValue = "(" val:(severityValue)+ ")" { return joinByOr(val); }
125
+
126
+ statusFieldName = "status" {return "${SolrKeys.status}";}
127
+ statusValue = string
128
+ /${(filterValuesFromFacetResponse[SolrKeys.status] || [])
129
+ .map((status) => `'"${status.value}"' { return '"${status.value}"'; } `)
130
+ .join(' / ')}
131
+ / statusMultipleValue / _
132
+ statusMultipleValue = "(" val:(statusValue)+ ")" { return joinByOr(val); }
133
+
134
+ groupFieldName = "group" {return "${SolrKeys.group}";}
135
+ groupValue = string
136
+ / ${(caseGroups.data || []).map((group) => `'"${group.name}"' { return '${group.groupNum}'; }`).join(' / ')}
137
+ / groupMultipleValue / _
138
+ groupMultipleValue = "(" val:(groupValue)+ ")" { return joinByOr(val); }
139
+
140
+ caseTypeFieldName = "caseType" {return "${SolrKeys.type}";}
141
+ caseTypeValue = string
142
+ / ${(allCaseTypes.data || []).map((caseType) => `'"${caseType}"' { return '"${caseType}"'; }`).join(' / ')}
143
+ / caseTypeMultipleValue / _
144
+ caseTypeMultipleValue = "(" val:(caseTypeValue)+ ")" { return joinByOr(val); }
145
+
146
+ productFieldName = "productName" { return "${SolrKeys.product}"; }
147
+ productValue = string
148
+ / ${(filterValuesFromFacetResponse[SolrKeys.product] || [])
149
+ .map((product) => `'"${product.value}"' { return '"${product.value}"'; } `)
150
+ .join(' / ')}
151
+ / productMultipleValue / _
152
+ productMultipleValue = "(" val:(productValue)+ ")" { return joinByOr(val); }
153
+
154
+ versionFieldName = "productVersion" { return "${SolrKeys.version}"; }
155
+ versionValue = string
156
+ / versionMultipleValue / _
157
+ versionMultipleValue = "(" val:(versionValue)+ ")" { return joinByOr(val); }
158
+
159
+ accountNumberFieldName = "accountNumber" {return "${SolrKeys.accountNumber}";}
160
+ accountNumberValue = number
161
+ / string
162
+ / ${allAccounts.map((account) => `"${account.accountNumber}" { return "${account.accountNumber}"; }`).join(' / ')}
163
+ / accountNumberMultipleValue / _
164
+ accountNumberMultipleValue = "(" val:(accountNumberValue)+ ")" { return joinByOr(val); }
165
+
166
+ accountNameFieldName = "accountName" { return "case_account_name";}
167
+ accountNameValue = string
168
+ / ${allAccounts.map((account) => `'"${account.name}"' { return "${account.name}"; }`).join(' / ')}
169
+ / accountNameMultipleValue / _
170
+ accountNameMultipleValue = "(" val:(accountNameValue)+ ")" { return joinByOr(val); }
171
+
172
+ _ "whitespace"
173
+ = [ \\t\\r\\n\\f]+
174
+
175
+ EOF
176
+ = !.
177
+ `;
178
+ initParser(grammarStringInternal);
179
+ // parse on page load so that we have the autocomplete setup on first load
180
+ onInit && onInit();
181
+ // eslint-disable-next-line react-hooks/exhaustive-deps
182
+ }, [
183
+ filterValuesFromFacetResponse,
184
+ caseGroups.isFetching,
185
+ allCaseTypes.isFetching,
186
+ bookmarkedGroupAccounts.isFetching,
187
+ loggedInUsersAccount.isFetching,
188
+ ]);
92
189
  return { parse, parseSafe, parserRef };
93
190
  }
@@ -155,11 +155,12 @@
155
155
  font-size: 14px;
156
156
  }
157
157
 
158
- .cases-main .case-search-top .filter-chip-wrapper .filter-chip-version-selector button {
158
+ .cases-main .case-search-top .filter-chip-wrapper button.pf-c-select__toggle {
159
159
  font-size: 13px;
160
+ --pf-c-select__toggle-text--Color: var(--pf-c-select__toggle--m-placeholder__toggle-text--Color) !important;
160
161
  }
161
162
 
162
- .cases-main .case-search-top .filter-chip-wrapper .filter-chip-version-selector button svg {
163
+ .cases-main .case-search-top .filter-chip-wrapper button.pf-c-select__toggle svg {
163
164
  margin-left: 4px;
164
165
  }
165
166
 
@@ -469,3 +470,7 @@
469
470
  min-width: 10%;
470
471
  max-width: 10%;
471
472
  }
473
+
474
+ .filter-group .pf-c-select__toggle {
475
+ --pf-c-select__toggle-text--Color: var(--pf-c-select__toggle--m-placeholder__toggle-text--Color) !important;
476
+ }
@@ -28,10 +28,6 @@
28
28
  }
29
29
  }
30
30
 
31
- .case-search-input-container input {
32
- padding-right: 35px;
33
- }
34
-
35
31
  .case-search-input-container button.search-btn {
36
32
  margin-left: 1rem;
37
33
  }
@@ -1,4 +1,4 @@
1
- import { SolrKeys } from './filters';
1
+ import { SFDCKeys, SolrKeys } from './filters';
2
2
  export declare enum CaseStatus {
3
3
  WaitingOnCustomer = "Waiting on Customer",
4
4
  WaitingOnRedHat = "Waiting on Red Hat",
@@ -42,4 +42,18 @@ export declare const caseListSortColumnIdsToSolrMap: {
42
42
  type: SolrKeys;
43
43
  closedDate: SolrKeys;
44
44
  };
45
+ export declare const caseListSortColumnIdsToSFDCMap: {
46
+ number: SFDCKeys;
47
+ summary: SFDCKeys;
48
+ severity: SFDCKeys;
49
+ contactName: SFDCKeys;
50
+ createdDate: SFDCKeys;
51
+ status: SFDCKeys;
52
+ lastModifiedDate: SFDCKeys;
53
+ accountNumber: SFDCKeys;
54
+ folderName: SFDCKeys;
55
+ alternateCaseId: SFDCKeys;
56
+ type: SFDCKeys;
57
+ closedDate: SFDCKeys;
58
+ };
45
59
  //# sourceMappingURL=case.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../../src/enums/case.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,oBAAY,UAAU;IAClB,iBAAiB,wBAAwB;IACzC,eAAe,uBAAuB;IACtC,IAAI,mBAAmB;IACvB,MAAM,WAAW;IACjB,GAAG,cAAc;CACpB;AAED,oBAAY,YAAY;IACpB,MAAM,eAAe;IACrB,SAAS,kBAAkB;IAC3B,MAAM,eAAe;IACrB,GAAG,YAAY;CAClB;AAED,eAAO,MAAM,cAAc,0UACgT,CAAC;AAE5U,oBAAY,iBAAiB;IACzB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,KAAK,gBAAgB;IACrB,OAAO,gBAAgB;IACvB,MAAM,WAAW;IACjB,QAAQ,qBAAqB;IAC7B,iBAAiB,YAAY;IAC7B,aAAa,kBAAkB;IAC/B,KAAK,eAAe;IACpB,eAAe,oBAAoB;IACnC,IAAI,SAAS;IACb,cAAc,eAAe;CAChC;AAED,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;CAa1C,CAAC"}
1
+ {"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../../src/enums/case.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE/C,oBAAY,UAAU;IAClB,iBAAiB,wBAAwB;IACzC,eAAe,uBAAuB;IACtC,IAAI,mBAAmB;IACvB,MAAM,WAAW;IACjB,GAAG,cAAc;CACpB;AAED,oBAAY,YAAY;IACpB,MAAM,eAAe;IACrB,SAAS,kBAAkB;IAC3B,MAAM,eAAe;IACrB,GAAG,YAAY;CAClB;AAED,eAAO,MAAM,cAAc,0UACgT,CAAC;AAE5U,oBAAY,iBAAiB;IACzB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,KAAK,gBAAgB;IACrB,OAAO,gBAAgB;IACvB,MAAM,WAAW;IACjB,QAAQ,qBAAqB;IAC7B,iBAAiB,YAAY;IAC7B,aAAa,kBAAkB;IAC/B,KAAK,eAAe;IACpB,eAAe,oBAAoB;IACnC,IAAI,SAAS;IACb,cAAc,eAAe;CAChC;AAED,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;CAa1C,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;CAa1C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { SolrKeys } from './filters';
1
+ import { SFDCKeys, SolrKeys } from './filters';
2
2
  export var CaseStatus;
3
3
  (function (CaseStatus) {
4
4
  CaseStatus["WaitingOnCustomer"] = "Waiting on Customer";
@@ -35,7 +35,7 @@ export const caseListSortColumnIdsToSolrMap = {
35
35
  [CaseListColumnIds.caseId]: SolrKeys.caseNumber,
36
36
  [CaseListColumnIds.summary]: SolrKeys.caseSummary,
37
37
  [CaseListColumnIds.severity]: SolrKeys.severity,
38
- [CaseListColumnIds.owner]: SolrKeys.createdBy,
38
+ [CaseListColumnIds.owner]: SolrKeys.contactName,
39
39
  [CaseListColumnIds.created]: SolrKeys.createdDate,
40
40
  [CaseListColumnIds.status]: SolrKeys.status,
41
41
  [CaseListColumnIds.modified]: SolrKeys.modifiedDate,
@@ -45,3 +45,17 @@ export const caseListSortColumnIdsToSolrMap = {
45
45
  [CaseListColumnIds.type]: SolrKeys.type,
46
46
  [CaseListColumnIds.caseClosedDate]: SolrKeys.caseClosedDate,
47
47
  };
48
+ export const caseListSortColumnIdsToSFDCMap = {
49
+ [CaseListColumnIds.caseId]: SFDCKeys.caseNumber,
50
+ [CaseListColumnIds.summary]: SFDCKeys.caseSummary,
51
+ [CaseListColumnIds.severity]: SFDCKeys.severity,
52
+ [CaseListColumnIds.owner]: SFDCKeys.contactName,
53
+ [CaseListColumnIds.created]: SFDCKeys.createdDate,
54
+ [CaseListColumnIds.status]: SFDCKeys.status,
55
+ [CaseListColumnIds.modified]: SFDCKeys.modifiedDate,
56
+ [CaseListColumnIds.accountNumber]: SFDCKeys.accountNumber,
57
+ [CaseListColumnIds.group]: SFDCKeys.groupName,
58
+ [CaseListColumnIds.alternateCaseId]: SFDCKeys.alternateId,
59
+ [CaseListColumnIds.type]: SFDCKeys.caseType,
60
+ [CaseListColumnIds.caseClosedDate]: SFDCKeys.caseClosedDate,
61
+ };
@@ -35,8 +35,42 @@ export declare enum SolrKeys {
35
35
  cep = "case_is_cep",
36
36
  accountName = "case_accountName",
37
37
  alternateId = "case_alternate_id",
38
- caseClosedDate = "case_closedDate"
38
+ caseClosedDate = "case_closedDate",
39
+ openshiftClusterId = "case_openshift_cluster_id"
39
40
  }
41
+ export declare const advancedSearchMap: {
42
+ case_number: string;
43
+ case_summary: string;
44
+ case_product: string;
45
+ case_status: string;
46
+ case_accountNumber: string;
47
+ case_folderNumber: string;
48
+ case_folderName: string;
49
+ case_severity: string;
50
+ case_owner_sso_username: string;
51
+ case_owner: string;
52
+ case_contactName: string;
53
+ case_contact_sso_username: string;
54
+ case_customer_escalation: string;
55
+ case_version: string;
56
+ case_createdByName: string;
57
+ case_createdby_sso_username: string;
58
+ case_createdDate: string;
59
+ case_lastModifiedByName: string;
60
+ case_lastModifiedDate: string;
61
+ case_last_public_update_date: string;
62
+ case_last_public_update_by: string;
63
+ case_description: string;
64
+ uri: string;
65
+ case_24_7: string;
66
+ case_type: string;
67
+ case_is_cep: string;
68
+ case_accountName: string;
69
+ case_alternate_id: string;
70
+ case_closedDate: string;
71
+ case_openshift_cluster_id: string;
72
+ case_account_name: string;
73
+ };
40
74
  export declare enum SolrPivotKeys {
41
75
  product_version = "case_product,case_version"
42
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/enums/filters.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;CACpB;AAED,oBAAY,QAAQ;IAChB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,OAAO,iBAAiB;IACxB,MAAM,gBAAgB;IACtB,aAAa,uBAAuB;IACpC,KAAK,sBAAsB;IAC3B,SAAS,oBAAoB;IAC7B,QAAQ,kBAAkB;IAC1B,SAAS,4BAA4B;IACrC,SAAS,eAAe;IACxB,WAAW,qBAAqB;IAChC,cAAc,8BAA8B;IAC5C,UAAU,6BAA6B;IACvC,OAAO,iBAAiB;IACxB,SAAS,uBAAuB;IAChC,oBAAoB,gCAAgC;IACpD,WAAW,qBAAqB;IAChC,UAAU,4BAA4B;IACtC,YAAY,0BAA0B;IACtC,oBAAoB,iCAAiC;IACrD,sBAAsB,+BAA+B;IACrD,WAAW,qBAAqB;IAChC,GAAG,QAAQ;IACX,GAAG,cAAc;IACjB,IAAI,cAAc;IAClB,GAAG,gBAAgB;IACnB,WAAW,qBAAqB;IAChC,WAAW,sBAAsB;IACjC,cAAc,oBAAoB;CACrC;AAGD,oBAAY,aAAa;IACrB,eAAe,8BAA8B;CAChD;AAED,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,oBAAY,QAAQ;IAChB,UAAU,eAAe;IACzB,WAAW,YAAY;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,aAAa,qBAAqB;IAClC,QAAQ,aAAa;IACrB,SAAS,YAAY;IACrB,WAAW,gBAAgB;IAC3B,SAAS,mBAAmB;IAC5B,UAAU,uBAAuB;IACjC,OAAO,YAAY;IACnB,SAAS,gBAAgB;IACzB,oBAAoB,gCAAgC;IACpD,WAAW,gBAAgB;IAC3B,UAAU,qBAAqB;IAC/B,YAAY,qBAAqB;IACjC,oBAAoB,qBAAqB;IACzC,sBAAsB,qBAAqB;IAC3C,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,cAAc,iBAAiB;CAClC;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAsB9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAElC,CAAC"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/enums/filters.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;CACpB;AAED,oBAAY,QAAQ;IAChB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,OAAO,iBAAiB;IACxB,MAAM,gBAAgB;IACtB,aAAa,uBAAuB;IACpC,KAAK,sBAAsB;IAC3B,SAAS,oBAAoB;IAC7B,QAAQ,kBAAkB;IAC1B,SAAS,4BAA4B;IACrC,SAAS,eAAe;IACxB,WAAW,qBAAqB;IAChC,cAAc,8BAA8B;IAC5C,UAAU,6BAA6B;IACvC,OAAO,iBAAiB;IACxB,SAAS,uBAAuB;IAChC,oBAAoB,gCAAgC;IACpD,WAAW,qBAAqB;IAChC,UAAU,4BAA4B;IACtC,YAAY,0BAA0B;IACtC,oBAAoB,iCAAiC;IACrD,sBAAsB,+BAA+B;IACrD,WAAW,qBAAqB;IAChC,GAAG,QAAQ;IACX,GAAG,cAAc;IACjB,IAAI,cAAc;IAClB,GAAG,gBAAgB;IACnB,WAAW,qBAAqB;IAChC,WAAW,sBAAsB;IACjC,cAAc,oBAAoB;IAClC,kBAAkB,8BAA8B;CACnD;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC7B,CAAC;AAGF,oBAAY,aAAa;IACrB,eAAe,8BAA8B;CAChD;AAED,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,oBAAY,QAAQ;IAChB,UAAU,eAAe;IACzB,WAAW,YAAY;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,aAAa,qBAAqB;IAClC,QAAQ,aAAa;IACrB,SAAS,YAAY;IACrB,WAAW,gBAAgB;IAC3B,SAAS,mBAAmB;IAC5B,UAAU,uBAAuB;IACjC,OAAO,YAAY;IACnB,SAAS,gBAAgB;IACzB,oBAAoB,gCAAgC;IACpD,WAAW,gBAAgB;IAC3B,UAAU,qBAAqB;IAC/B,YAAY,qBAAqB;IACjC,oBAAoB,qBAAqB;IACzC,sBAAsB,qBAAqB;IAC3C,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,cAAc,iBAAiB;CAClC;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAsB9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAElC,CAAC"}
@@ -38,7 +38,41 @@ export var SolrKeys;
38
38
  SolrKeys["accountName"] = "case_accountName";
39
39
  SolrKeys["alternateId"] = "case_alternate_id";
40
40
  SolrKeys["caseClosedDate"] = "case_closedDate";
41
+ SolrKeys["openshiftClusterId"] = "case_openshift_cluster_id";
41
42
  })(SolrKeys || (SolrKeys = {}));
43
+ export const advancedSearchMap = {
44
+ case_number: 'caseNumber',
45
+ case_summary: 'summary',
46
+ case_product: 'productName',
47
+ case_status: 'status',
48
+ case_accountNumber: 'accountNumber',
49
+ case_folderNumber: 'group',
50
+ case_folderName: 'groupName',
51
+ case_severity: 'severity',
52
+ case_owner_sso_username: 'caseOwner',
53
+ case_owner: 'ownerName',
54
+ case_contactName: 'contactName',
55
+ case_contact_sso_username: 'contactSSO',
56
+ case_customer_escalation: 'escalated',
57
+ case_version: 'productVersion',
58
+ case_createdByName: 'createdByName',
59
+ case_createdby_sso_username: 'createdBySSO',
60
+ case_createdDate: 'createdDate',
61
+ case_lastModifiedByName: 'lastModifiedByName',
62
+ case_lastModifiedDate: 'lastModifiedDate',
63
+ case_last_public_update_date: 'lastPublicUpdateDate',
64
+ case_last_public_update_by: 'lastPublicUpdateDateBy',
65
+ case_description: 'description',
66
+ uri: 'uri',
67
+ case_24_7: 'FTS',
68
+ case_type: 'caseType',
69
+ case_is_cep: 'CEP',
70
+ case_accountName: 'accountName',
71
+ case_alternate_id: 'alternateCaseId',
72
+ case_closedDate: 'closedDate',
73
+ case_openshift_cluster_id: 'openshiftClusterId',
74
+ case_account_name: 'accountName',
75
+ };
42
76
  // just to keep ts happy since the below const does not work
43
77
  export var SolrPivotKeys;
44
78
  (function (SolrPivotKeys) {
@@ -11,12 +11,13 @@ export declare const FILTER_URL_PAGE_SIZE_SEARCH_PARAM = "size";
11
11
  export declare const FILTER_URL_QUERY_TYPE = "searchType";
12
12
  declare function createSolrQueryFromFilterState(filterState: ICaseListFilterState, loggedInUser: UserAuth): any;
13
13
  declare function createUserFriendlyQueryFromFilterState(filterInfo: Partial<IFilterInfo>, filterQuery: string, useKeyForKVPair?: boolean): string;
14
+ declare function createUserFriendlyQueryFromFilterStateAdvancedSearch(filterInfo: Partial<IFilterInfo>, filterQuery: string, useKeyForKVPair?: boolean): string;
14
15
  declare function createAdvancedSearchQueryFromFilterState(filterInfo: Partial<IFilterInfo>, keyword: string, useKeyForKVPair?: any[]): string;
15
16
  declare function createQueryForCSVDownload(filterState: ICaseListFilterState, loggedInUserRights: UserAuth, loggedInUsersAccount: any, startValue?: number, limitValue?: number): any;
16
17
  declare function createSFDCQueryFromFilterState(filterState: ICaseListFilterState, loggedInUser: UserAuth, loggedInUserAccount: Partial<IAccount>): Partial<ISFDCCaseFilter>;
17
18
  declare function mapSFDCCaseListToSolrCaseList(response?: ISFDCCaseListResponse[]): ISolrCaseListResponse[];
18
19
  declare function createURLQueryFromFilterState(filterState: ICaseListFilterState): string;
19
20
  declare function createFilterStateFromUrlQuery(urlQuery: string, globalMetadataState: IGlobalMetadataState, pageSize?: number, currentPage?: number, searchType?: CaseSearchQueryType): ICaseListFilterState;
20
- declare function createFilterStateFromAdvancedQuery(queryString: string, globalMetadataState: IGlobalMetadataState, currentFilterState: ICaseListFilterState): ICaseListFilterState;
21
- export { createSolrQueryFromFilterState, createUserFriendlyQueryFromFilterState, createQueryForCSVDownload, createSFDCQueryFromFilterState, mapSFDCCaseListToSolrCaseList, createURLQueryFromFilterState, createFilterStateFromUrlQuery, createAdvancedSearchQueryFromFilterState, createFilterStateFromAdvancedQuery, };
21
+ declare function createFilterStateFromAdvancedQuery(queryString: string, globalMetadataState: IGlobalMetadataState, currentFilterState: ICaseListFilterState, parsedQuery?: string, type?: CaseSearchQueryType): ICaseListFilterState;
22
+ export { createSolrQueryFromFilterState, createUserFriendlyQueryFromFilterState, createUserFriendlyQueryFromFilterStateAdvancedSearch, createQueryForCSVDownload, createSFDCQueryFromFilterState, mapSFDCCaseListToSolrCaseList, createURLQueryFromFilterState, createFilterStateFromUrlQuery, createAdvancedSearchQueryFromFilterState, createFilterStateFromAdvancedQuery, };
22
23
  //# sourceMappingURL=caseSearchUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"caseSearchUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseSearchUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAUxD,OAAO,EACH,oBAAoB,EACpB,WAAW,EAId,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAEH,mBAAmB,EAEtB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,eAAO,MAAM,6BAA6B,UAAU,CAAC;AACrD,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,iCAAiC,SAAS,CAAC;AACxD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,iBAAS,8BAA8B,CAAC,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,QAAQ,OA+DhG;AAED,iBAAS,sCAAsC,CAC3C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,OAAe,UAwBnC;AAeD,iBAAS,wCAAwC,CAC7C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,eAAe,QAAK,UAoCvB;AAMD,iBAAS,yBAAyB,CAC9B,WAAW,EAAE,oBAAoB,EACjC,kBAAkB,EAAE,QAAQ,EAC5B,oBAAoB,KAAA,EACpB,UAAU,SAAI,EACd,UAAU,SAAO,OAcpB;AAkBD,iBAAS,8BAA8B,CACnC,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,QAAQ,EACtB,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,GACvC,OAAO,CAAC,eAAe,CAAC,CAkE1B;AAED,iBAAS,6BAA6B,CAAC,QAAQ,GAAE,qBAAqB,EAAO,GAAG,qBAAqB,EAAE,CAEtG;AAcD,iBAAS,6BAA6B,CAAC,WAAW,EAAE,oBAAoB,UAUvE;AAED,iBAAS,6BAA6B,CAClC,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,oBAAoB,EACzC,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,GAAE,mBAA+C,wBA4C9D;AAED,iBAAS,kCAAkC,CACvC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,oBAAoB,EACzC,kBAAkB,EAAE,oBAAoB,wBAmC3C;AAgGD,OAAO,EACH,8BAA8B,EAC9B,sCAAsC,EACtC,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,wCAAwC,EACxC,kCAAkC,GACrC,CAAC"}
1
+ {"version":3,"file":"caseSearchUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseSearchUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAUxD,OAAO,EACH,oBAAoB,EACpB,WAAW,EAId,MAAM,+CAA+C,CAAC;AAOvD,OAAO,EAEH,mBAAmB,EAEtB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,eAAO,MAAM,6BAA6B,UAAU,CAAC;AACrD,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,iCAAiC,SAAS,CAAC;AACxD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,iBAAS,8BAA8B,CAAC,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,QAAQ,OA4DhG;AAED,iBAAS,sCAAsC,CAC3C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,OAAe,UAwBnC;AAED,iBAAS,oDAAoD,CACzD,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,OAAe,UAgDnC;AAeD,iBAAS,wCAAwC,CAC7C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,eAAe,QAAK,UAoCvB;AASD,iBAAS,yBAAyB,CAC9B,WAAW,EAAE,oBAAoB,EACjC,kBAAkB,EAAE,QAAQ,EAC5B,oBAAoB,KAAA,EACpB,UAAU,SAAI,EACd,UAAU,SAAO,OAcpB;AAkBD,iBAAS,8BAA8B,CACnC,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,QAAQ,EACtB,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,GACvC,OAAO,CAAC,eAAe,CAAC,CAgE1B;AAED,iBAAS,6BAA6B,CAAC,QAAQ,GAAE,qBAAqB,EAAO,GAAG,qBAAqB,EAAE,CAEtG;AAcD,iBAAS,6BAA6B,CAAC,WAAW,EAAE,oBAAoB,UAUvE;AAED,iBAAS,6BAA6B,CAClC,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,oBAAoB,EACzC,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,GAAE,mBAA+C,wBAsD9D;AAGD,iBAAS,kCAAkC,CACvC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,oBAAoB,EACzC,kBAAkB,EAAE,oBAAoB,EACxC,WAAW,GAAE,MAAW,EACxB,IAAI,GAAE,mBAA+C,wBAqCxD;AAgGD,OAAO,EACH,8BAA8B,EAC9B,sCAAsC,EACtC,oDAAoD,EACpD,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,wCAAwC,EACxC,kCAAkC,GACrC,CAAC"}