@tmlmobilidade/ui 20250130.2005.29 → 20250131.2255.24

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.
package/dist/cjs/index.js CHANGED
@@ -1359,14 +1359,14 @@ function accessorSearch(record, accessor, query) {
1359
1359
  .includes(query);
1360
1360
  }
1361
1361
  function plainSearch(record, query) {
1362
- return Object.values(String(record)).some(value => value
1362
+ return Object.values(String(record)).some((value) => value
1363
1363
  ?.toString()
1364
1364
  .toLowerCase()
1365
1365
  .normalize('NFD')
1366
1366
  .replace(/[\u0300-\u036f]/g, '')
1367
1367
  .includes(query));
1368
1368
  }
1369
- function useSearchQuery(data, { accessors, debounce = 200 } = {}) {
1369
+ function useSearchQuery(data, { accessors, customSearch, debounce = 200, } = {}) {
1370
1370
  const [searchQuery, setSearchQuery] = React.useState(undefined);
1371
1371
  const [debouncedSearchQuery] = hooks.useDebouncedValue(searchQuery, debounce);
1372
1372
  const filteredData = React.useMemo(() => {
@@ -1377,9 +1377,16 @@ function useSearchQuery(data, { accessors, debounce = 200 } = {}) {
1377
1377
  .normalize('NFD')
1378
1378
  .replace(/[\u0300-\u036f]/g, '');
1379
1379
  filteredData = filteredData.filter((record) => {
1380
- if (accessors)
1381
- return accessors.some((accessor) => accessorSearch(record, accessor, query));
1382
- return plainSearch(record, query);
1380
+ if (!accessors) {
1381
+ return plainSearch(record, query);
1382
+ }
1383
+ const accessorMatch = accessors
1384
+ ? accessors.some((accessor) => accessorSearch(record, accessor, query))
1385
+ : false;
1386
+ const customMatch = customSearch
1387
+ ? customSearch(record, query)
1388
+ : false;
1389
+ return accessorMatch || customMatch;
1383
1390
  });
1384
1391
  }
1385
1392
  return filteredData;
@@ -1726,6 +1733,7 @@ exports.ThemeSwitcher = ThemeSwitcher;
1726
1733
  exports.Themer = Themer;
1727
1734
  exports.Tooltip = Tooltip;
1728
1735
  exports.useScreenSize = useScreenSize;
1736
+ exports.useSearchQuery = useSearchQuery;
1729
1737
  exports.useTheme = useTheme;
1730
1738
  exports.useToast = useToast;
1731
1739
  Object.keys(modals).forEach(function (k) {