@raystack/apsara 0.33.1 → 0.34.1

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 (93) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/v1/components/calendar/calendar.cjs +2 -2
  3. package/dist/v1/components/calendar/calendar.cjs.map +1 -1
  4. package/dist/v1/components/calendar/calendar.d.ts.map +1 -1
  5. package/dist/v1/components/calendar/calendar.js +2 -2
  6. package/dist/v1/components/calendar/calendar.js.map +1 -1
  7. package/dist/v1/components/data-table/components/content.cjs +11 -6
  8. package/dist/v1/components/data-table/components/content.cjs.map +1 -1
  9. package/dist/v1/components/data-table/components/content.d.ts.map +1 -1
  10. package/dist/v1/components/data-table/components/content.js +11 -6
  11. package/dist/v1/components/data-table/components/content.js.map +1 -1
  12. package/dist/v1/components/data-table/components/display-properties.cjs +1 -1
  13. package/dist/v1/components/data-table/components/display-properties.cjs.map +1 -1
  14. package/dist/v1/components/data-table/components/display-properties.js +1 -1
  15. package/dist/v1/components/data-table/components/display-properties.js.map +1 -1
  16. package/dist/v1/components/data-table/components/display-settings.cjs +11 -4
  17. package/dist/v1/components/data-table/components/display-settings.cjs.map +1 -1
  18. package/dist/v1/components/data-table/components/display-settings.d.ts.map +1 -1
  19. package/dist/v1/components/data-table/components/display-settings.js +11 -4
  20. package/dist/v1/components/data-table/components/display-settings.js.map +1 -1
  21. package/dist/v1/components/data-table/components/filters.cjs +3 -2
  22. package/dist/v1/components/data-table/components/filters.cjs.map +1 -1
  23. package/dist/v1/components/data-table/components/filters.js +3 -2
  24. package/dist/v1/components/data-table/components/filters.js.map +1 -1
  25. package/dist/v1/components/data-table/components/grouping.cjs +7 -4
  26. package/dist/v1/components/data-table/components/grouping.cjs.map +1 -1
  27. package/dist/v1/components/data-table/components/grouping.d.ts +4 -3
  28. package/dist/v1/components/data-table/components/grouping.d.ts.map +1 -1
  29. package/dist/v1/components/data-table/components/grouping.js +7 -4
  30. package/dist/v1/components/data-table/components/grouping.js.map +1 -1
  31. package/dist/v1/components/data-table/components/ordering.cjs.map +1 -1
  32. package/dist/v1/components/data-table/components/ordering.d.ts +2 -2
  33. package/dist/v1/components/data-table/components/ordering.d.ts.map +1 -1
  34. package/dist/v1/components/data-table/components/ordering.js.map +1 -1
  35. package/dist/v1/components/data-table/data-table.cjs +4 -2
  36. package/dist/v1/components/data-table/data-table.cjs.map +1 -1
  37. package/dist/v1/components/data-table/data-table.d.ts +1 -1
  38. package/dist/v1/components/data-table/data-table.d.ts.map +1 -1
  39. package/dist/v1/components/data-table/data-table.js +4 -2
  40. package/dist/v1/components/data-table/data-table.js.map +1 -1
  41. package/dist/v1/components/data-table/data-table.module.css.cjs +1 -1
  42. package/dist/v1/components/data-table/data-table.module.css.js +1 -1
  43. package/dist/v1/components/data-table/data-table.types.cjs +7 -0
  44. package/dist/v1/components/data-table/data-table.types.cjs.map +1 -1
  45. package/dist/v1/components/data-table/data-table.types.d.ts +26 -11
  46. package/dist/v1/components/data-table/data-table.types.d.ts.map +1 -1
  47. package/dist/v1/components/data-table/data-table.types.js +6 -1
  48. package/dist/v1/components/data-table/data-table.types.js.map +1 -1
  49. package/dist/v1/components/data-table/hooks/useFilters.cjs +8 -5
  50. package/dist/v1/components/data-table/hooks/useFilters.cjs.map +1 -1
  51. package/dist/v1/components/data-table/hooks/useFilters.d.ts.map +1 -1
  52. package/dist/v1/components/data-table/hooks/useFilters.js +9 -6
  53. package/dist/v1/components/data-table/hooks/useFilters.js.map +1 -1
  54. package/dist/v1/components/data-table/index.d.ts +1 -1
  55. package/dist/v1/components/data-table/index.d.ts.map +1 -1
  56. package/dist/v1/components/data-table/utils/filter-operations.cjs +56 -1
  57. package/dist/v1/components/data-table/utils/filter-operations.cjs.map +1 -1
  58. package/dist/v1/components/data-table/utils/filter-operations.d.ts +17 -2
  59. package/dist/v1/components/data-table/utils/filter-operations.d.ts.map +1 -1
  60. package/dist/v1/components/data-table/utils/filter-operations.js +54 -2
  61. package/dist/v1/components/data-table/utils/filter-operations.js.map +1 -1
  62. package/dist/v1/components/data-table/utils/index.cjs +38 -36
  63. package/dist/v1/components/data-table/utils/index.cjs.map +1 -1
  64. package/dist/v1/components/data-table/utils/index.d.ts +2 -6
  65. package/dist/v1/components/data-table/utils/index.d.ts.map +1 -1
  66. package/dist/v1/components/data-table/utils/index.js +36 -33
  67. package/dist/v1/components/data-table/utils/index.js.map +1 -1
  68. package/dist/v1/components/filter-chip/filter-chip.cjs +2 -2
  69. package/dist/v1/components/filter-chip/filter-chip.cjs.map +1 -1
  70. package/dist/v1/components/filter-chip/filter-chip.js +2 -2
  71. package/dist/v1/components/filter-chip/filter-chip.js.map +1 -1
  72. package/dist/v1/components/select/select.cjs +8 -2
  73. package/dist/v1/components/select/select.cjs.map +1 -1
  74. package/dist/v1/components/select/select.d.ts +1 -0
  75. package/dist/v1/components/select/select.d.ts.map +1 -1
  76. package/dist/v1/components/select/select.js +8 -2
  77. package/dist/v1/components/select/select.js.map +1 -1
  78. package/dist/v1/components/table/table.cjs.map +1 -1
  79. package/dist/v1/components/table/table.d.ts +1 -1
  80. package/dist/v1/components/table/table.js.map +1 -1
  81. package/dist/v1/index.cjs +4 -2
  82. package/dist/v1/index.cjs.map +1 -1
  83. package/dist/v1/index.d.ts +1 -1
  84. package/dist/v1/index.d.ts.map +1 -1
  85. package/dist/v1/index.js +2 -2
  86. package/dist/v1/style.css +1 -1
  87. package/dist/v1/types/filters.cjs +2 -2
  88. package/dist/v1/types/filters.cjs.map +1 -1
  89. package/dist/v1/types/filters.d.ts +5 -5
  90. package/dist/v1/types/filters.d.ts.map +1 -1
  91. package/dist/v1/types/filters.js +2 -2
  92. package/dist/v1/types/filters.js.map +1 -1
  93. package/package.json +1 -1
@@ -26,15 +26,11 @@ function queryToTableState(query) {
26
26
  globalFilter: query.search,
27
27
  };
28
28
  }
29
- const defaultGroupOption = {
30
- id: "--",
31
- label: "No grouping",
32
- };
33
- function getColumnsWithFilterFn(columns = [], filters = []) {
29
+ function getColumnsWithFilterFn(columns = [], filters$1 = []) {
34
30
  return columns.map((column) => {
35
- const colFilter = filters?.find((filter) => filter.name === column.accessorKey);
31
+ const colFilter = filters$1?.find((filter) => filter.name === column.accessorKey);
36
32
  const filterFn = colFilter?.operator
37
- ? filterOperations.getFilterFn(column.columnType, colFilter.operator)
33
+ ? filterOperations.getFilterFn(column.filterType || filters.FilterType.string, colFilter.operator)
38
34
  : undefined;
39
35
  return {
40
36
  ...column,
@@ -45,29 +41,32 @@ function getColumnsWithFilterFn(columns = [], filters = []) {
45
41
  function groupData(data, group_by, columns = []) {
46
42
  if (!data)
47
43
  return [];
48
- if (!group_by || group_by === defaultGroupOption.id)
44
+ if (!group_by || group_by === dataTable_types.defaultGroupOption.id)
49
45
  return data;
50
- const group_by_map = data.reduce((acc, currentData) => {
46
+ const groupMap = new Map();
47
+ data.forEach((currentData) => {
51
48
  const item = currentData;
52
49
  const keyValue = item[group_by];
53
- acc[keyValue] = acc[keyValue] || [];
54
- acc[keyValue].push(item);
55
- return acc;
56
- }, {});
50
+ if (!groupMap.has(keyValue)) {
51
+ groupMap.set(keyValue, []);
52
+ }
53
+ groupMap.get(keyValue)?.push(item);
54
+ });
57
55
  const columnDef = columns.find((col) => col.accessorKey === group_by);
58
- const sortOrder = columnDef?.groupSortOrder || dataTable_types.SortOrders.ASC;
59
56
  const showGroupCount = columnDef?.showGroupCount || false;
60
- return Object.entries(group_by_map)
61
- .map(([key, value]) => ({
62
- group_key: key,
63
- subRows: value,
64
- count: columnDef?.groupCountMap?.[key] ?? value.length,
65
- showGroupCount,
66
- }))
67
- .sort((a, b) => {
68
- const sortValue = sortOrder === dataTable_types.SortOrders.ASC ? 1 : -1;
69
- return a.group_key.localeCompare(b.group_key) * sortValue;
57
+ const groupLablesMap = columnDef?.groupLabelsMap || {};
58
+ const groupCountMap = columnDef?.groupCountMap || {};
59
+ const groupedData = [];
60
+ groupMap.forEach((value, key) => {
61
+ groupedData.push({
62
+ label: groupLablesMap[key] || key,
63
+ group_key: key,
64
+ subRows: value,
65
+ count: groupCountMap[key] ?? value.length,
66
+ showGroupCount,
67
+ });
70
68
  });
69
+ return groupedData;
71
70
  }
72
71
  const generateFilterMap = (filters$1 = []) => {
73
72
  return new Map(filters$1
@@ -117,22 +116,26 @@ function getInitialColumnVisibility(columns = []) {
117
116
  }, {});
118
117
  }
119
118
  function sanitizeTableQuery(query) {
120
- const { group_by = [], filters: filters$1 = [], sort = [], __group_by_sort = dataTable_types.SortOrders.ASC, ...rest } = query;
121
- const sanitizedGroupBy = group_by?.filter((key) => key !== defaultGroupOption.id);
119
+ const { group_by = [], filters: filters$1 = [], sort = [], ...rest } = query;
120
+ const sanitizedGroupBy = group_by?.filter((key) => key !== dataTable_types.defaultGroupOption.id);
122
121
  const sanitizedFilters = filters$1
123
122
  ?.filter((data) => data._type === filters.FilterType.select || data.value !== "")
124
123
  ?.map((data) => ({
125
- ...data,
126
- value: data._type === filters.FilterType.date
127
- ? data.value.toISOString()
128
- : data.value,
124
+ name: data.name,
125
+ operator: filterOperations.getFilterOperator({
126
+ operator: data.operator,
127
+ value: data.value,
128
+ filterType: data._type,
129
+ }),
130
+ ...filterOperations.getFilterValue({
131
+ value: data.value,
132
+ filterType: data._type,
133
+ dataType: data._dataType,
134
+ }),
129
135
  })) || [];
130
- const sortWithGroupBy = sanitizedGroupBy?.[0]
131
- ? [{ name: group_by[0], order: __group_by_sort }, ...sort]
132
- : sort;
133
136
  return {
134
137
  ...rest,
135
- sort: sortWithGroupBy,
138
+ sort: sort,
136
139
  group_by: sanitizedGroupBy,
137
140
  filters: sanitizedFilters,
138
141
  };
@@ -140,12 +143,11 @@ function sanitizeTableQuery(query) {
140
143
  function getDefaultTableQuery(defaultSort, oldQuery = {}) {
141
144
  return {
142
145
  sort: [defaultSort],
143
- group_by: [defaultGroupOption.id],
146
+ group_by: [dataTable_types.defaultGroupOption.id],
144
147
  ...oldQuery,
145
148
  };
146
149
  }
147
150
 
148
- exports.defaultGroupOption = defaultGroupOption;
149
151
  exports.getColumnsWithFilterFn = getColumnsWithFilterFn;
150
152
  exports.getDefaultTableQuery = getDefaultTableQuery;
151
153
  exports.getInitialColumnVisibility = getInitialColumnVisibility;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../../v1/components/data-table/utils/index.tsx"],"sourcesContent":["import { TableState } from \"@tanstack/table-core\";\nimport {\n SortOrders,\n DataTableColumnDef,\n GroupedData,\n Sort,\n DataTableQuery,\n RQLFilter,\n} from \"../data-table.types\";\nimport { FilterType } from \"~/v1/types/filters\";\nimport { getFilterFn } from \"./filter-operations\";\n\nexport function queryToTableState(query: DataTableQuery): Partial<TableState> {\n const columnFilters =\n query.filters\n ?.filter((data) => data.value !== \"\")\n ?.map((data) => {\n const valueObject =\n data._type === FilterType.date\n ? { date: data.value }\n : { value: data.value };\n return {\n value: valueObject,\n id: data?.name,\n };\n }) || [];\n\n const sorting = query.sort?.map((data) => ({\n id: data?.name,\n desc: data?.order === SortOrders.DESC,\n }));\n return {\n columnFilters: columnFilters,\n sorting: sorting,\n globalFilter: query.search,\n };\n}\n\nexport const defaultGroupOption = {\n id: \"--\",\n label: \"No grouping\",\n};\n\nexport function getColumnsWithFilterFn<TData, TValue>(\n columns: DataTableColumnDef<TData, TValue>[] = [],\n filters: RQLFilter[] = []\n): DataTableColumnDef<TData, TValue>[] {\n return columns.map((column) => {\n const colFilter = filters?.find(\n (filter) => filter.name === column.accessorKey\n );\n const filterFn = colFilter?.operator\n ? getFilterFn(column.columnType, colFilter.operator)\n : undefined;\n\n return {\n ...column,\n filterFn,\n };\n });\n}\n\ntype GroupedDataMap<T> = Record<string, T[]>;\n\nexport function groupData<TData>(\n data: TData[],\n group_by?: string,\n columns: DataTableColumnDef<TData, any>[] = []\n): GroupedData<TData>[] {\n if (!data) return [];\n if (!group_by || group_by === defaultGroupOption.id)\n return data as GroupedData<TData>[];\n const group_by_map = data.reduce(\n (acc: GroupedDataMap<TData>, currentData: TData) => {\n const item = currentData as Record<string, string>;\n const keyValue = item[group_by];\n acc[keyValue] = acc[keyValue] || [];\n acc[keyValue].push(item as TData);\n return acc;\n },\n {} as GroupedDataMap<TData>\n );\n\n const columnDef = columns.find((col) => col.accessorKey === group_by);\n const sortOrder = columnDef?.groupSortOrder || SortOrders.ASC;\n const showGroupCount = columnDef?.showGroupCount || false;\n\n return Object.entries(group_by_map)\n .map(([key, value]) => ({\n group_key: key,\n subRows: value,\n count: columnDef?.groupCountMap?.[key] ?? value.length,\n showGroupCount,\n }))\n .sort((a, b) => {\n const sortValue = sortOrder === SortOrders.ASC ? 1 : -1;\n return a.group_key.localeCompare(b.group_key) * sortValue;\n });\n}\n\nconst generateFilterMap = (filters: RQLFilter[] = []): Map<string, any> => {\n return new Map(\n filters\n ?.filter((data) => data._type === FilterType.select || data.value !== \"\")\n .map(({ name, operator, value }) => [`${name}-${operator}`, value])\n );\n};\n\nconst generateSortMap = (sort: Sort[] = []): Map<string, string> => {\n return new Map(sort.map(({ name, order }) => [name, order]));\n};\n\nconst isFilterChanged = (\n oldFilters: RQLFilter[] = [],\n newFilters: RQLFilter[] = []\n): boolean => {\n const oldFilterMap = generateFilterMap(oldFilters);\n const newFilterMap = generateFilterMap(newFilters);\n\n if (oldFilterMap.size !== newFilterMap.size) return true;\n\n return [...newFilterMap].some(\n ([key, value]) => oldFilterMap.get(key) !== value\n );\n};\n\nconst isSortChanged = (oldSort: Sort[] = [], newSort: Sort[] = []): boolean => {\n if (oldSort.length !== newSort.length) return true;\n\n const oldSortMap = generateSortMap(oldSort);\n const newSortMap = generateSortMap(newSort);\n\n return [...newSortMap].some(([key, order]) => oldSortMap.get(key) !== order);\n};\n\nconst isGroupChanged = (\n oldGroupBy: string[] = [],\n newGroupBy: string[] = []\n): boolean => {\n if (oldGroupBy.length !== newGroupBy.length) return true;\n\n const oldGroupSet = new Set(oldGroupBy);\n return newGroupBy.some((item) => !oldGroupSet.has(item));\n};\n\nconst isSearchChanged = (oldSearch?: string, newSearch?: string): boolean => {\n return oldSearch !== newSearch;\n};\n\nexport const hasQueryChanged = (\n oldQuery: DataTableQuery | null,\n newQuery: DataTableQuery\n): boolean => {\n if (!oldQuery) return true;\n return (\n isFilterChanged(oldQuery.filters, newQuery.filters) ||\n isSortChanged(oldQuery.sort, newQuery.sort) ||\n isGroupChanged(oldQuery.group_by, newQuery.group_by) ||\n isSearchChanged(oldQuery.search, newQuery.search)\n );\n};\n\nexport function getInitialColumnVisibility<TData, TValue>(\n columns: DataTableColumnDef<TData, TValue>[] = []\n): Record<string, boolean> | {} {\n return columns.reduce((acc, col) => {\n return {\n ...acc,\n [col.accessorKey]: col.defaultHidden ? false : true,\n };\n }, {});\n}\n\nexport function sanitizeTableQuery(query: DataTableQuery): DataTableQuery {\n const {\n group_by = [],\n filters = [],\n sort = [],\n __group_by_sort = SortOrders.ASC,\n ...rest\n } = query;\n const sanitizedGroupBy = group_by?.filter(\n (key) => key !== defaultGroupOption.id\n );\n\n const sanitizedFilters =\n filters\n ?.filter((data) => data._type === FilterType.select || data.value !== \"\")\n ?.map((data) => ({\n ...data,\n value:\n data._type === FilterType.date\n ? (data.value as Date).toISOString()\n : data.value,\n })) || [];\n\n const sortWithGroupBy = sanitizedGroupBy?.[0]\n ? [{ name: group_by[0], order: __group_by_sort }, ...sort]\n : sort;\n return {\n ...rest,\n sort: sortWithGroupBy,\n group_by: sanitizedGroupBy,\n filters: sanitizedFilters,\n };\n}\n\nexport function getDefaultTableQuery(\n defaultSort: Sort,\n oldQuery: DataTableQuery = {}\n): DataTableQuery {\n return {\n sort: [defaultSort],\n group_by: [defaultGroupOption.id],\n ...oldQuery,\n };\n}\n"],"names":["FilterType","SortOrders","getFilterFn","filters"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../v1/components/data-table/utils/index.tsx"],"sourcesContent":["import { TableState } from \"@tanstack/table-core\";\nimport {\n SortOrders,\n DataTableColumnDef,\n GroupedData,\n DataTableSort,\n DataTableQuery,\n RQLFilter,\n defaultGroupOption,\n} from \"../data-table.types\";\nimport { FilterType } from \"~/v1/types/filters\";\nimport {\n getFilterFn,\n getFilterOperator,\n getFilterValue,\n} from \"./filter-operations\";\n\nexport function queryToTableState(query: DataTableQuery): Partial<TableState> {\n const columnFilters =\n query.filters\n ?.filter((data) => data.value !== \"\")\n ?.map((data) => {\n const valueObject =\n data._type === FilterType.date\n ? { date: data.value }\n : { value: data.value };\n return {\n value: valueObject,\n id: data?.name,\n };\n }) || [];\n\n const sorting = query.sort?.map((data) => ({\n id: data?.name,\n desc: data?.order === SortOrders.DESC,\n }));\n return {\n columnFilters: columnFilters,\n sorting: sorting,\n globalFilter: query.search,\n };\n}\n\nexport function getColumnsWithFilterFn<TData, TValue>(\n columns: DataTableColumnDef<TData, TValue>[] = [],\n filters: RQLFilter[] = []\n): DataTableColumnDef<TData, TValue>[] {\n return columns.map((column) => {\n const colFilter = filters?.find(\n (filter) => filter.name === column.accessorKey\n );\n const filterFn = colFilter?.operator\n ? getFilterFn(column.filterType || FilterType.string, colFilter.operator)\n : undefined;\n\n return {\n ...column,\n filterFn,\n };\n });\n}\n\nexport function groupData<TData>(\n data: TData[],\n group_by?: string,\n columns: DataTableColumnDef<TData, any>[] = []\n): GroupedData<TData>[] {\n if (!data) return [];\n if (!group_by || group_by === defaultGroupOption.id)\n return data as GroupedData<TData>[];\n\n const groupMap = new Map<string, TData[]>();\n data.forEach((currentData: TData) => {\n const item = currentData as Record<string, string>;\n const keyValue = item[group_by];\n if (!groupMap.has(keyValue)) {\n groupMap.set(keyValue, []);\n }\n groupMap.get(keyValue)?.push(item as TData);\n });\n\n const columnDef = columns.find((col) => col.accessorKey === group_by);\n const showGroupCount = columnDef?.showGroupCount || false;\n const groupLablesMap = columnDef?.groupLabelsMap || {};\n const groupCountMap = columnDef?.groupCountMap || {};\n const groupedData: GroupedData<TData>[] = [];\n\n groupMap.forEach((value, key) => {\n groupedData.push({\n label: groupLablesMap[key] || key,\n group_key: key,\n subRows: value,\n count: groupCountMap[key] ?? value.length,\n showGroupCount,\n });\n });\n\n return groupedData;\n}\n\nconst generateFilterMap = (filters: RQLFilter[] = []): Map<string, any> => {\n return new Map(\n filters\n ?.filter((data) => data._type === FilterType.select || data.value !== \"\")\n .map(({ name, operator, value }) => [`${name}-${operator}`, value])\n );\n};\n\nconst generateSortMap = (sort: DataTableSort[] = []): Map<string, string> => {\n return new Map(sort.map(({ name, order }) => [name, order]));\n};\n\nconst isFilterChanged = (\n oldFilters: RQLFilter[] = [],\n newFilters: RQLFilter[] = []\n): boolean => {\n const oldFilterMap = generateFilterMap(oldFilters);\n const newFilterMap = generateFilterMap(newFilters);\n\n if (oldFilterMap.size !== newFilterMap.size) return true;\n\n return [...newFilterMap].some(\n ([key, value]) => oldFilterMap.get(key) !== value\n );\n};\n\nconst isSortChanged = (\n oldSort: DataTableSort[] = [],\n newSort: DataTableSort[] = []\n): boolean => {\n if (oldSort.length !== newSort.length) return true;\n\n const oldSortMap = generateSortMap(oldSort);\n const newSortMap = generateSortMap(newSort);\n\n return [...newSortMap].some(([key, order]) => oldSortMap.get(key) !== order);\n};\n\nconst isGroupChanged = (\n oldGroupBy: string[] = [],\n newGroupBy: string[] = []\n): boolean => {\n if (oldGroupBy.length !== newGroupBy.length) return true;\n\n const oldGroupSet = new Set(oldGroupBy);\n return newGroupBy.some((item) => !oldGroupSet.has(item));\n};\n\nconst isSearchChanged = (oldSearch?: string, newSearch?: string): boolean => {\n return oldSearch !== newSearch;\n};\n\nexport const hasQueryChanged = (\n oldQuery: DataTableQuery | null,\n newQuery: DataTableQuery\n): boolean => {\n if (!oldQuery) return true;\n return (\n isFilterChanged(oldQuery.filters, newQuery.filters) ||\n isSortChanged(oldQuery.sort, newQuery.sort) ||\n isGroupChanged(oldQuery.group_by, newQuery.group_by) ||\n isSearchChanged(oldQuery.search, newQuery.search)\n );\n};\n\nexport function getInitialColumnVisibility<TData, TValue>(\n columns: DataTableColumnDef<TData, TValue>[] = []\n): Record<string, boolean> | {} {\n return columns.reduce((acc, col) => {\n return {\n ...acc,\n [col.accessorKey]: col.defaultHidden ? false : true,\n };\n }, {});\n}\n\nexport function sanitizeTableQuery(query: DataTableQuery): DataTableQuery {\n const { group_by = [], filters = [], sort = [], ...rest } = query;\n const sanitizedGroupBy = group_by?.filter(\n (key) => key !== defaultGroupOption.id\n );\n\n const sanitizedFilters =\n filters\n ?.filter((data) => data._type === FilterType.select || data.value !== \"\")\n ?.map((data) => ({\n name: data.name,\n operator: getFilterOperator({\n operator: data.operator,\n value: data.value,\n filterType: data._type,\n }),\n ...getFilterValue({\n value: data.value,\n filterType: data._type,\n dataType: data._dataType,\n }),\n })) || [];\n\n return {\n ...rest,\n sort: sort,\n group_by: sanitizedGroupBy,\n filters: sanitizedFilters,\n };\n}\n\nexport function getDefaultTableQuery(\n defaultSort: DataTableSort,\n oldQuery: DataTableQuery = {}\n): DataTableQuery {\n return {\n sort: [defaultSort],\n group_by: [defaultGroupOption.id],\n ...oldQuery,\n };\n}\n"],"names":["FilterType","SortOrders","filters","getFilterFn","defaultGroupOption","getFilterOperator","getFilterValue"],"mappings":"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"}
@@ -1,14 +1,10 @@
1
1
  import { TableState } from "@tanstack/table-core";
2
- import { DataTableColumnDef, GroupedData, Sort, DataTableQuery, RQLFilter } from "../data-table.types";
2
+ import { DataTableColumnDef, GroupedData, DataTableSort, DataTableQuery, RQLFilter } from "../data-table.types";
3
3
  export declare function queryToTableState(query: DataTableQuery): Partial<TableState>;
4
- export declare const defaultGroupOption: {
5
- id: string;
6
- label: string;
7
- };
8
4
  export declare function getColumnsWithFilterFn<TData, TValue>(columns?: DataTableColumnDef<TData, TValue>[], filters?: RQLFilter[]): DataTableColumnDef<TData, TValue>[];
9
5
  export declare function groupData<TData>(data: TData[], group_by?: string, columns?: DataTableColumnDef<TData, any>[]): GroupedData<TData>[];
10
6
  export declare const hasQueryChanged: (oldQuery: DataTableQuery | null, newQuery: DataTableQuery) => boolean;
11
7
  export declare function getInitialColumnVisibility<TData, TValue>(columns?: DataTableColumnDef<TData, TValue>[]): Record<string, boolean> | {};
12
8
  export declare function sanitizeTableQuery(query: DataTableQuery): DataTableQuery;
13
- export declare function getDefaultTableQuery(defaultSort: Sort, oldQuery?: DataTableQuery): DataTableQuery;
9
+ export declare function getDefaultTableQuery(defaultSort: DataTableSort, oldQuery?: DataTableQuery): DataTableQuery;
14
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../v1/components/data-table/utils/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAEL,kBAAkB,EAClB,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACV,MAAM,qBAAqB,CAAC;AAI7B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAwB5E;AAED,eAAO,MAAM,kBAAkB;;;CAG9B,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAClD,OAAO,GAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAO,EACjD,OAAO,GAAE,SAAS,EAAO,GACxB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAcrC;AAID,wBAAgB,SAAS,CAAC,KAAK,EAC7B,IAAI,EAAE,KAAK,EAAE,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAO,GAC7C,WAAW,CAAC,KAAK,CAAC,EAAE,CA8BtB;AAmDD,eAAO,MAAM,eAAe,aAChB,cAAc,GAAG,IAAI,YACrB,cAAc,KACvB,OAQF,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EACtD,OAAO,GAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAO,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,CAO9B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAgCxE;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,IAAI,EACjB,QAAQ,GAAE,cAAmB,GAC5B,cAAc,CAMhB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../v1/components/data-table/utils/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAEL,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,cAAc,EACd,SAAS,EAEV,MAAM,qBAAqB,CAAC;AAQ7B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAwB5E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAClD,OAAO,GAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAO,EACjD,OAAO,GAAE,SAAS,EAAO,GACxB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAcrC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAC7B,IAAI,EAAE,KAAK,EAAE,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAO,GAC7C,WAAW,CAAC,KAAK,CAAC,EAAE,CAgCtB;AAsDD,eAAO,MAAM,eAAe,aAChB,cAAc,GAAG,IAAI,YACrB,cAAc,KACvB,OAQF,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EACtD,OAAO,GAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAO,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,CAO9B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CA6BxE;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,aAAa,EAC1B,QAAQ,GAAE,cAAmB,GAC5B,cAAc,CAMhB"}
@@ -1,6 +1,6 @@
1
- import { SortOrders } from '../data-table.types.js';
1
+ import { SortOrders, defaultGroupOption } from '../data-table.types.js';
2
2
  import { FilterType } from '../../../types/filters.js';
3
- import { getFilterFn } from './filter-operations.js';
3
+ import { getFilterFn, getFilterOperator, getFilterValue } from './filter-operations.js';
4
4
 
5
5
  function queryToTableState(query) {
6
6
  const columnFilters = query.filters
@@ -24,15 +24,11 @@ function queryToTableState(query) {
24
24
  globalFilter: query.search,
25
25
  };
26
26
  }
27
- const defaultGroupOption = {
28
- id: "--",
29
- label: "No grouping",
30
- };
31
27
  function getColumnsWithFilterFn(columns = [], filters = []) {
32
28
  return columns.map((column) => {
33
29
  const colFilter = filters?.find((filter) => filter.name === column.accessorKey);
34
30
  const filterFn = colFilter?.operator
35
- ? getFilterFn(column.columnType, colFilter.operator)
31
+ ? getFilterFn(column.filterType || FilterType.string, colFilter.operator)
36
32
  : undefined;
37
33
  return {
38
34
  ...column,
@@ -45,27 +41,30 @@ function groupData(data, group_by, columns = []) {
45
41
  return [];
46
42
  if (!group_by || group_by === defaultGroupOption.id)
47
43
  return data;
48
- const group_by_map = data.reduce((acc, currentData) => {
44
+ const groupMap = new Map();
45
+ data.forEach((currentData) => {
49
46
  const item = currentData;
50
47
  const keyValue = item[group_by];
51
- acc[keyValue] = acc[keyValue] || [];
52
- acc[keyValue].push(item);
53
- return acc;
54
- }, {});
48
+ if (!groupMap.has(keyValue)) {
49
+ groupMap.set(keyValue, []);
50
+ }
51
+ groupMap.get(keyValue)?.push(item);
52
+ });
55
53
  const columnDef = columns.find((col) => col.accessorKey === group_by);
56
- const sortOrder = columnDef?.groupSortOrder || SortOrders.ASC;
57
54
  const showGroupCount = columnDef?.showGroupCount || false;
58
- return Object.entries(group_by_map)
59
- .map(([key, value]) => ({
60
- group_key: key,
61
- subRows: value,
62
- count: columnDef?.groupCountMap?.[key] ?? value.length,
63
- showGroupCount,
64
- }))
65
- .sort((a, b) => {
66
- const sortValue = sortOrder === SortOrders.ASC ? 1 : -1;
67
- return a.group_key.localeCompare(b.group_key) * sortValue;
55
+ const groupLablesMap = columnDef?.groupLabelsMap || {};
56
+ const groupCountMap = columnDef?.groupCountMap || {};
57
+ const groupedData = [];
58
+ groupMap.forEach((value, key) => {
59
+ groupedData.push({
60
+ label: groupLablesMap[key] || key,
61
+ group_key: key,
62
+ subRows: value,
63
+ count: groupCountMap[key] ?? value.length,
64
+ showGroupCount,
65
+ });
68
66
  });
67
+ return groupedData;
69
68
  }
70
69
  const generateFilterMap = (filters = []) => {
71
70
  return new Map(filters
@@ -115,22 +114,26 @@ function getInitialColumnVisibility(columns = []) {
115
114
  }, {});
116
115
  }
117
116
  function sanitizeTableQuery(query) {
118
- const { group_by = [], filters = [], sort = [], __group_by_sort = SortOrders.ASC, ...rest } = query;
117
+ const { group_by = [], filters = [], sort = [], ...rest } = query;
119
118
  const sanitizedGroupBy = group_by?.filter((key) => key !== defaultGroupOption.id);
120
119
  const sanitizedFilters = filters
121
120
  ?.filter((data) => data._type === FilterType.select || data.value !== "")
122
121
  ?.map((data) => ({
123
- ...data,
124
- value: data._type === FilterType.date
125
- ? data.value.toISOString()
126
- : data.value,
122
+ name: data.name,
123
+ operator: getFilterOperator({
124
+ operator: data.operator,
125
+ value: data.value,
126
+ filterType: data._type,
127
+ }),
128
+ ...getFilterValue({
129
+ value: data.value,
130
+ filterType: data._type,
131
+ dataType: data._dataType,
132
+ }),
127
133
  })) || [];
128
- const sortWithGroupBy = sanitizedGroupBy?.[0]
129
- ? [{ name: group_by[0], order: __group_by_sort }, ...sort]
130
- : sort;
131
134
  return {
132
135
  ...rest,
133
- sort: sortWithGroupBy,
136
+ sort: sort,
134
137
  group_by: sanitizedGroupBy,
135
138
  filters: sanitizedFilters,
136
139
  };
@@ -143,5 +146,5 @@ function getDefaultTableQuery(defaultSort, oldQuery = {}) {
143
146
  };
144
147
  }
145
148
 
146
- export { defaultGroupOption, getColumnsWithFilterFn, getDefaultTableQuery, getInitialColumnVisibility, groupData, hasQueryChanged, queryToTableState, sanitizeTableQuery };
149
+ export { getColumnsWithFilterFn, getDefaultTableQuery, getInitialColumnVisibility, groupData, hasQueryChanged, queryToTableState, sanitizeTableQuery };
147
150
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../v1/components/data-table/utils/index.tsx"],"sourcesContent":["import { TableState } from \"@tanstack/table-core\";\nimport {\n SortOrders,\n DataTableColumnDef,\n GroupedData,\n Sort,\n DataTableQuery,\n RQLFilter,\n} from \"../data-table.types\";\nimport { FilterType } from \"~/v1/types/filters\";\nimport { getFilterFn } from \"./filter-operations\";\n\nexport function queryToTableState(query: DataTableQuery): Partial<TableState> {\n const columnFilters =\n query.filters\n ?.filter((data) => data.value !== \"\")\n ?.map((data) => {\n const valueObject =\n data._type === FilterType.date\n ? { date: data.value }\n : { value: data.value };\n return {\n value: valueObject,\n id: data?.name,\n };\n }) || [];\n\n const sorting = query.sort?.map((data) => ({\n id: data?.name,\n desc: data?.order === SortOrders.DESC,\n }));\n return {\n columnFilters: columnFilters,\n sorting: sorting,\n globalFilter: query.search,\n };\n}\n\nexport const defaultGroupOption = {\n id: \"--\",\n label: \"No grouping\",\n};\n\nexport function getColumnsWithFilterFn<TData, TValue>(\n columns: DataTableColumnDef<TData, TValue>[] = [],\n filters: RQLFilter[] = []\n): DataTableColumnDef<TData, TValue>[] {\n return columns.map((column) => {\n const colFilter = filters?.find(\n (filter) => filter.name === column.accessorKey\n );\n const filterFn = colFilter?.operator\n ? getFilterFn(column.columnType, colFilter.operator)\n : undefined;\n\n return {\n ...column,\n filterFn,\n };\n });\n}\n\ntype GroupedDataMap<T> = Record<string, T[]>;\n\nexport function groupData<TData>(\n data: TData[],\n group_by?: string,\n columns: DataTableColumnDef<TData, any>[] = []\n): GroupedData<TData>[] {\n if (!data) return [];\n if (!group_by || group_by === defaultGroupOption.id)\n return data as GroupedData<TData>[];\n const group_by_map = data.reduce(\n (acc: GroupedDataMap<TData>, currentData: TData) => {\n const item = currentData as Record<string, string>;\n const keyValue = item[group_by];\n acc[keyValue] = acc[keyValue] || [];\n acc[keyValue].push(item as TData);\n return acc;\n },\n {} as GroupedDataMap<TData>\n );\n\n const columnDef = columns.find((col) => col.accessorKey === group_by);\n const sortOrder = columnDef?.groupSortOrder || SortOrders.ASC;\n const showGroupCount = columnDef?.showGroupCount || false;\n\n return Object.entries(group_by_map)\n .map(([key, value]) => ({\n group_key: key,\n subRows: value,\n count: columnDef?.groupCountMap?.[key] ?? value.length,\n showGroupCount,\n }))\n .sort((a, b) => {\n const sortValue = sortOrder === SortOrders.ASC ? 1 : -1;\n return a.group_key.localeCompare(b.group_key) * sortValue;\n });\n}\n\nconst generateFilterMap = (filters: RQLFilter[] = []): Map<string, any> => {\n return new Map(\n filters\n ?.filter((data) => data._type === FilterType.select || data.value !== \"\")\n .map(({ name, operator, value }) => [`${name}-${operator}`, value])\n );\n};\n\nconst generateSortMap = (sort: Sort[] = []): Map<string, string> => {\n return new Map(sort.map(({ name, order }) => [name, order]));\n};\n\nconst isFilterChanged = (\n oldFilters: RQLFilter[] = [],\n newFilters: RQLFilter[] = []\n): boolean => {\n const oldFilterMap = generateFilterMap(oldFilters);\n const newFilterMap = generateFilterMap(newFilters);\n\n if (oldFilterMap.size !== newFilterMap.size) return true;\n\n return [...newFilterMap].some(\n ([key, value]) => oldFilterMap.get(key) !== value\n );\n};\n\nconst isSortChanged = (oldSort: Sort[] = [], newSort: Sort[] = []): boolean => {\n if (oldSort.length !== newSort.length) return true;\n\n const oldSortMap = generateSortMap(oldSort);\n const newSortMap = generateSortMap(newSort);\n\n return [...newSortMap].some(([key, order]) => oldSortMap.get(key) !== order);\n};\n\nconst isGroupChanged = (\n oldGroupBy: string[] = [],\n newGroupBy: string[] = []\n): boolean => {\n if (oldGroupBy.length !== newGroupBy.length) return true;\n\n const oldGroupSet = new Set(oldGroupBy);\n return newGroupBy.some((item) => !oldGroupSet.has(item));\n};\n\nconst isSearchChanged = (oldSearch?: string, newSearch?: string): boolean => {\n return oldSearch !== newSearch;\n};\n\nexport const hasQueryChanged = (\n oldQuery: DataTableQuery | null,\n newQuery: DataTableQuery\n): boolean => {\n if (!oldQuery) return true;\n return (\n isFilterChanged(oldQuery.filters, newQuery.filters) ||\n isSortChanged(oldQuery.sort, newQuery.sort) ||\n isGroupChanged(oldQuery.group_by, newQuery.group_by) ||\n isSearchChanged(oldQuery.search, newQuery.search)\n );\n};\n\nexport function getInitialColumnVisibility<TData, TValue>(\n columns: DataTableColumnDef<TData, TValue>[] = []\n): Record<string, boolean> | {} {\n return columns.reduce((acc, col) => {\n return {\n ...acc,\n [col.accessorKey]: col.defaultHidden ? false : true,\n };\n }, {});\n}\n\nexport function sanitizeTableQuery(query: DataTableQuery): DataTableQuery {\n const {\n group_by = [],\n filters = [],\n sort = [],\n __group_by_sort = SortOrders.ASC,\n ...rest\n } = query;\n const sanitizedGroupBy = group_by?.filter(\n (key) => key !== defaultGroupOption.id\n );\n\n const sanitizedFilters =\n filters\n ?.filter((data) => data._type === FilterType.select || data.value !== \"\")\n ?.map((data) => ({\n ...data,\n value:\n data._type === FilterType.date\n ? (data.value as Date).toISOString()\n : data.value,\n })) || [];\n\n const sortWithGroupBy = sanitizedGroupBy?.[0]\n ? [{ name: group_by[0], order: __group_by_sort }, ...sort]\n : sort;\n return {\n ...rest,\n sort: sortWithGroupBy,\n group_by: sanitizedGroupBy,\n filters: sanitizedFilters,\n };\n}\n\nexport function getDefaultTableQuery(\n defaultSort: Sort,\n oldQuery: DataTableQuery = {}\n): DataTableQuery {\n return {\n sort: [defaultSort],\n group_by: [defaultGroupOption.id],\n ...oldQuery,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../v1/components/data-table/utils/index.tsx"],"sourcesContent":["import { TableState } from \"@tanstack/table-core\";\nimport {\n SortOrders,\n DataTableColumnDef,\n GroupedData,\n DataTableSort,\n DataTableQuery,\n RQLFilter,\n defaultGroupOption,\n} from \"../data-table.types\";\nimport { FilterType } from \"~/v1/types/filters\";\nimport {\n getFilterFn,\n getFilterOperator,\n getFilterValue,\n} from \"./filter-operations\";\n\nexport function queryToTableState(query: DataTableQuery): Partial<TableState> {\n const columnFilters =\n query.filters\n ?.filter((data) => data.value !== \"\")\n ?.map((data) => {\n const valueObject =\n data._type === FilterType.date\n ? { date: data.value }\n : { value: data.value };\n return {\n value: valueObject,\n id: data?.name,\n };\n }) || [];\n\n const sorting = query.sort?.map((data) => ({\n id: data?.name,\n desc: data?.order === SortOrders.DESC,\n }));\n return {\n columnFilters: columnFilters,\n sorting: sorting,\n globalFilter: query.search,\n };\n}\n\nexport function getColumnsWithFilterFn<TData, TValue>(\n columns: DataTableColumnDef<TData, TValue>[] = [],\n filters: RQLFilter[] = []\n): DataTableColumnDef<TData, TValue>[] {\n return columns.map((column) => {\n const colFilter = filters?.find(\n (filter) => filter.name === column.accessorKey\n );\n const filterFn = colFilter?.operator\n ? getFilterFn(column.filterType || FilterType.string, colFilter.operator)\n : undefined;\n\n return {\n ...column,\n filterFn,\n };\n });\n}\n\nexport function groupData<TData>(\n data: TData[],\n group_by?: string,\n columns: DataTableColumnDef<TData, any>[] = []\n): GroupedData<TData>[] {\n if (!data) return [];\n if (!group_by || group_by === defaultGroupOption.id)\n return data as GroupedData<TData>[];\n\n const groupMap = new Map<string, TData[]>();\n data.forEach((currentData: TData) => {\n const item = currentData as Record<string, string>;\n const keyValue = item[group_by];\n if (!groupMap.has(keyValue)) {\n groupMap.set(keyValue, []);\n }\n groupMap.get(keyValue)?.push(item as TData);\n });\n\n const columnDef = columns.find((col) => col.accessorKey === group_by);\n const showGroupCount = columnDef?.showGroupCount || false;\n const groupLablesMap = columnDef?.groupLabelsMap || {};\n const groupCountMap = columnDef?.groupCountMap || {};\n const groupedData: GroupedData<TData>[] = [];\n\n groupMap.forEach((value, key) => {\n groupedData.push({\n label: groupLablesMap[key] || key,\n group_key: key,\n subRows: value,\n count: groupCountMap[key] ?? value.length,\n showGroupCount,\n });\n });\n\n return groupedData;\n}\n\nconst generateFilterMap = (filters: RQLFilter[] = []): Map<string, any> => {\n return new Map(\n filters\n ?.filter((data) => data._type === FilterType.select || data.value !== \"\")\n .map(({ name, operator, value }) => [`${name}-${operator}`, value])\n );\n};\n\nconst generateSortMap = (sort: DataTableSort[] = []): Map<string, string> => {\n return new Map(sort.map(({ name, order }) => [name, order]));\n};\n\nconst isFilterChanged = (\n oldFilters: RQLFilter[] = [],\n newFilters: RQLFilter[] = []\n): boolean => {\n const oldFilterMap = generateFilterMap(oldFilters);\n const newFilterMap = generateFilterMap(newFilters);\n\n if (oldFilterMap.size !== newFilterMap.size) return true;\n\n return [...newFilterMap].some(\n ([key, value]) => oldFilterMap.get(key) !== value\n );\n};\n\nconst isSortChanged = (\n oldSort: DataTableSort[] = [],\n newSort: DataTableSort[] = []\n): boolean => {\n if (oldSort.length !== newSort.length) return true;\n\n const oldSortMap = generateSortMap(oldSort);\n const newSortMap = generateSortMap(newSort);\n\n return [...newSortMap].some(([key, order]) => oldSortMap.get(key) !== order);\n};\n\nconst isGroupChanged = (\n oldGroupBy: string[] = [],\n newGroupBy: string[] = []\n): boolean => {\n if (oldGroupBy.length !== newGroupBy.length) return true;\n\n const oldGroupSet = new Set(oldGroupBy);\n return newGroupBy.some((item) => !oldGroupSet.has(item));\n};\n\nconst isSearchChanged = (oldSearch?: string, newSearch?: string): boolean => {\n return oldSearch !== newSearch;\n};\n\nexport const hasQueryChanged = (\n oldQuery: DataTableQuery | null,\n newQuery: DataTableQuery\n): boolean => {\n if (!oldQuery) return true;\n return (\n isFilterChanged(oldQuery.filters, newQuery.filters) ||\n isSortChanged(oldQuery.sort, newQuery.sort) ||\n isGroupChanged(oldQuery.group_by, newQuery.group_by) ||\n isSearchChanged(oldQuery.search, newQuery.search)\n );\n};\n\nexport function getInitialColumnVisibility<TData, TValue>(\n columns: DataTableColumnDef<TData, TValue>[] = []\n): Record<string, boolean> | {} {\n return columns.reduce((acc, col) => {\n return {\n ...acc,\n [col.accessorKey]: col.defaultHidden ? false : true,\n };\n }, {});\n}\n\nexport function sanitizeTableQuery(query: DataTableQuery): DataTableQuery {\n const { group_by = [], filters = [], sort = [], ...rest } = query;\n const sanitizedGroupBy = group_by?.filter(\n (key) => key !== defaultGroupOption.id\n );\n\n const sanitizedFilters =\n filters\n ?.filter((data) => data._type === FilterType.select || data.value !== \"\")\n ?.map((data) => ({\n name: data.name,\n operator: getFilterOperator({\n operator: data.operator,\n value: data.value,\n filterType: data._type,\n }),\n ...getFilterValue({\n value: data.value,\n filterType: data._type,\n dataType: data._dataType,\n }),\n })) || [];\n\n return {\n ...rest,\n sort: sort,\n group_by: sanitizedGroupBy,\n filters: sanitizedFilters,\n };\n}\n\nexport function getDefaultTableQuery(\n defaultSort: DataTableSort,\n oldQuery: DataTableQuery = {}\n): DataTableQuery {\n return {\n sort: [defaultSort],\n group_by: [defaultGroupOption.id],\n ...oldQuery,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ require('../popover/popover.cjs');
17
17
  var filterChip_module = require('./filter-chip.module.css.cjs');
18
18
  var filters = require('../../types/filters.cjs');
19
19
 
20
- const Operation = ({ label, columnType = filters.FilterType.text, onOperationSelect, }) => {
20
+ const Operation = ({ label, columnType = filters.FilterType.string, onOperationSelect, }) => {
21
21
  const filterOptions = filters.filterOperators[columnType] || [];
22
22
  // FilterOperatorTypes gives error as Select returns string
23
23
  const [value, setValue] = React.useState(filterOptions?.[0]?.value);
@@ -31,7 +31,7 @@ const Operation = ({ label, columnType = filters.FilterType.text, onOperationSel
31
31
  return (jsxRuntime.jsxRuntimeExports.jsx(select.Select.Item, { value: opt.value, "aria-label": `Filter ${label} ${opt.label}`, children: opt.label }, opt.value));
32
32
  }) })] }));
33
33
  };
34
- const FilterChip = ({ label, value, onRemove = () => null, className, ref, columnType = "text", options = [], onValueChange, onOperationChange, leadingIcon, ...props }) => {
34
+ const FilterChip = ({ label, value, onRemove = () => null, className, ref, columnType = filters.FilterType.string, options = [], onValueChange, onOperationChange, leadingIcon, ...props }) => {
35
35
  const [operation, setOperation] = React.useState();
36
36
  const [filterValue, setFilterValue] = React.useState(value || "");
37
37
  React.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"filter-chip.cjs","sources":["../../../../v1/components/filter-chip/filter-chip.tsx"],"sourcesContent":["import { Cross1Icon } from \"@radix-ui/react-icons\";\nimport { ReactNode, useEffect, useState, ReactElement } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select } from \"../select\";\nimport { Text } from \"../text\";\nimport { TextField } from \"../textfield\";\nimport { DatePicker } from \"../calendar\";\nimport styles from \"./filter-chip.module.css\";\nimport {\n FilterSelectOption,\n FilterOperation,\n FilterType,\n FilterTypes,\n filterOperators,\n} from \"~/v1/types/filters\";\n\nexport interface FilterChipProps {\n label: string;\n value?: string;\n onRemove?: () => void;\n className?: string;\n ref?: React.RefObject<HTMLDivElement>;\n children?: ReactNode;\n columnType?: FilterTypes;\n options?: FilterSelectOption[];\n onValueChange?: (value: any) => void;\n onOperationChange?: (operation: string) => void;\n leadingIcon?: ReactElement;\n}\n\ninterface OperationProps {\n label: string;\n columnType: FilterTypes;\n onOperationSelect: (op: FilterOperation) => void;\n}\n\nconst Operation = ({\n label,\n columnType = FilterType.text,\n onOperationSelect,\n}: OperationProps) => {\n const filterOptions = filterOperators[columnType] || [];\n // FilterOperatorTypes gives error as Select returns string\n const [value, setValue] = useState<string>(filterOptions?.[0]?.value);\n\n useEffect(() => {\n const selectedOption = filterOptions.find((o) => o.value === value);\n if (selectedOption) {\n onOperationSelect(selectedOption);\n }\n }, [value]);\n\n return (\n <Select\n value={value}\n onValueChange={setValue}\n aria-labelledby={`${label}-label`}\n >\n <Select.Trigger\n variant=\"filter\"\n className={styles.operation}\n aria-label={`${label} filter operation`}\n >\n <Select.Value\n placeholder=\"Select operation\"\n className={styles.operationText}\n />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {filterOptions.map((opt) => {\n return (\n <Select.Item\n key={opt.value}\n value={opt.value}\n aria-label={`Filter ${label} ${opt.label}`}\n >\n {opt.label}\n </Select.Item>\n );\n })}\n </Select.Content>\n </Select>\n );\n};\n\nexport const FilterChip = ({\n label,\n value,\n onRemove = () => null,\n className,\n ref,\n columnType = \"text\",\n options = [],\n onValueChange,\n onOperationChange,\n leadingIcon,\n ...props\n}: FilterChipProps) => {\n const [operation, setOperation] = useState<FilterOperation>();\n const [filterValue, setFilterValue] = useState<any>(value || \"\");\n\n useEffect(() => {\n if (onOperationChange && operation?.value) {\n onOperationChange(operation?.value);\n }\n }, [operation?.value]);\n\n useEffect(() => {\n if (onValueChange) {\n onValueChange(filterValue);\n }\n }, [filterValue]);\n\n const renderValueInput = () => {\n switch (columnType) {\n case FilterType.select:\n return (\n <Select value={filterValue.toString()} onValueChange={setFilterValue}>\n <Select.Trigger variant=\"filter\" className={styles.selectValue}>\n <Select.Value placeholder=\"Select value\" />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {options.map((opt) => (\n <Select.Item\n key={opt.value.toString()}\n value={opt.value.toString()}\n >\n {opt.label}\n </Select.Item>\n ))}\n </Select.Content>\n </Select>\n );\n case FilterType.date:\n return (\n <div className={styles.dateFieldWrapper}>\n <DatePicker\n value={filterValue}\n onSelect={(date) => setFilterValue(date)}\n showCalendarIcon={false}\n textFieldProps={{ className: styles.dateField }}\n />\n </div>\n );\n default:\n return (\n <div className={styles.textFieldWrapper}>\n <TextField\n className={styles.textField}\n value={filterValue}\n onChange={(e) => setFilterValue(e.target.value)}\n />\n </div>\n );\n }\n };\n\n return (\n <Box\n ref={ref}\n className={[styles.chip, className].filter(Boolean).join(\" \")}\n role=\"group\"\n aria-label={`Filter by ${label}`}\n {...props}\n >\n <Flex align=\"center\">\n <Flex align=\"center\" gap={2}>\n {leadingIcon && (\n <span className={styles.leadingIcon} aria-hidden=\"true\">\n {leadingIcon}\n </span>\n )}\n <Text size={2} weight=\"normal\">\n {label}\n </Text>\n </Flex>\n <Operation\n columnType={columnType}\n label={label}\n onOperationSelect={setOperation}\n />\n {renderValueInput()}\n <div\n className={styles.removeIconContainer}\n role=\"button\"\n tabIndex={0}\n aria-label={`Remove ${label} filter`}\n >\n <Cross1Icon className={styles.removeIcon} onClick={onRemove} />\n </div>\n </Flex>\n </Box>\n );\n};\n\nFilterChip.displayName = \"FilterChip\";\n"],"names":["FilterType","filterOperators","useState","useEffect","_jsxs","Select","_jsx","styles","DatePicker","TextField","Box","Flex","Text","Cross1Icon"],"mappings":";;;;;;;;;;;;;;;;;;;AAqCA,MAAM,SAAS,GAAG,CAAC,EACjB,KAAK,EACL,UAAU,GAAGA,kBAAU,CAAC,IAAI,EAC5B,iBAAiB,GACF,KAAI;IACnB,MAAM,aAAa,GAAGC,uBAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;;AAExD,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGC,cAAQ,CAAS,aAAa,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEtEC,eAAS,CAAC,MAAK;AACb,QAAA,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACpE,IAAI,cAAc,EAAE;YAClB,iBAAiB,CAAC,cAAc,CAAC,CAAC;SACnC;AACH,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEZ,IAAA,QACEC,iCAAA,CAACC,aAAM,EAAA,EACL,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,QAAQ,EAAA,iBAAA,EACN,GAAG,KAAK,CAAA,MAAA,CAAQ,EAEjC,QAAA,EAAA,CAAAC,gCAAA,CAACD,aAAM,CAAC,OAAO,EAAA,EACb,OAAO,EAAC,QAAQ,EAChB,SAAS,EAAEE,yBAAM,CAAC,SAAS,gBACf,CAAG,EAAA,KAAK,CAAmB,iBAAA,CAAA,EAAA,QAAA,EAEvCD,gCAAC,CAAAD,aAAM,CAAC,KAAK,EACX,EAAA,WAAW,EAAC,kBAAkB,EAC9B,SAAS,EAAEE,yBAAM,CAAC,aAAa,EAAA,CAC/B,EACa,CAAA,EACjBD,gCAAC,CAAAD,aAAM,CAAC,OAAO,oBAAc,QAAQ,EAAA,QAAA,EAClC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;AACzB,oBAAA,QACEC,gCAAA,CAACD,aAAM,CAAC,IAAI,EAAA,EAEV,KAAK,EAAE,GAAG,CAAC,KAAK,EAAA,YAAA,EACJ,CAAU,OAAA,EAAA,KAAK,CAAI,CAAA,EAAA,GAAG,CAAC,KAAK,CAAE,CAAA,EAAA,QAAA,EAEzC,GAAG,CAAC,KAAK,EAAA,EAJL,GAAG,CAAC,KAAK,CAKF,EACd;AACJ,iBAAC,CAAC,EAAA,CACa,CACV,EAAA,CAAA,EACT;AACJ,CAAC,CAAC;AAEW,MAAA,UAAU,GAAG,CAAC,EACzB,KAAK,EACL,KAAK,EACL,QAAQ,GAAG,MAAM,IAAI,EACrB,SAAS,EACT,GAAG,EACH,UAAU,GAAG,MAAM,EACnB,OAAO,GAAG,EAAE,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,GAAG,KAAK,EACQ,KAAI;IACpB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAGH,cAAQ,EAAmB,CAAC;AAC9D,IAAA,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAGA,cAAQ,CAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAEjEC,eAAS,CAAC,MAAK;AACb,QAAA,IAAI,iBAAiB,IAAI,SAAS,EAAE,KAAK,EAAE;AACzC,YAAA,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACrC;AACH,KAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvBA,eAAS,CAAC,MAAK;QACb,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,WAAW,CAAC,CAAC;SAC5B;AACH,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,gBAAgB,GAAG,MAAK;QAC5B,QAAQ,UAAU;YAChB,KAAKH,kBAAU,CAAC,MAAM;AACpB,gBAAA,QACEI,iCAAC,CAAAC,aAAM,IAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,cAAc,EAAA,QAAA,EAAA,CAClEC,iCAACD,aAAM,CAAC,OAAO,EAAC,EAAA,OAAO,EAAC,QAAQ,EAAC,SAAS,EAAEE,yBAAM,CAAC,WAAW,YAC5DD,gCAAC,CAAAD,aAAM,CAAC,KAAK,EAAA,EAAC,WAAW,EAAC,cAAc,GAAG,EAC5B,CAAA,EACjBC,iCAACD,aAAM,CAAC,OAAO,EAAA,EAAA,cAAA,EAAc,QAAQ,EAClC,QAAA,EAAA,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,MACfC,iCAACD,aAAM,CAAC,IAAI,EAEV,EAAA,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAA,QAAA,EAE1B,GAAG,CAAC,KAAK,IAHL,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAIb,CACf,CAAC,EACa,CAAA,CAAA,EAAA,CACV,EACT;YACJ,KAAKL,kBAAU,CAAC,IAAI;AAClB,gBAAA,QACEM,gCAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,yBAAM,CAAC,gBAAgB,EACrC,QAAA,EAAAD,gCAAA,CAACE,qBAAU,EACT,EAAA,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,EACxC,gBAAgB,EAAE,KAAK,EACvB,cAAc,EAAE,EAAE,SAAS,EAAED,yBAAM,CAAC,SAAS,EAAE,EAC/C,CAAA,EAAA,CACE,EACN;AACJ,YAAA;AACE,gBAAA,QACED,gCAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,yBAAM,CAAC,gBAAgB,EAAA,QAAA,EACrCD,gCAAC,CAAAG,mBAAS,IACR,SAAS,EAAEF,yBAAM,CAAC,SAAS,EAC3B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,CAAA,EAAA,CACE,EACN;SACL;AACH,KAAC,CAAC;AAEF,IAAA,QACED,gCAAA,CAACI,OAAG,EAAA,EACF,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,CAACH,yBAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAC7D,IAAI,EAAC,OAAO,gBACA,CAAa,UAAA,EAAA,KAAK,CAAE,CAAA,EAAA,GAC5B,KAAK,EAAA,QAAA,EAETH,iCAAC,CAAAO,SAAI,IAAC,KAAK,EAAC,QAAQ,EAAA,QAAA,EAAA,CAClBP,iCAAC,CAAAO,SAAI,EAAC,EAAA,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAA,QAAA,EAAA,CACxB,WAAW,KACVL,gCAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAEC,yBAAM,CAAC,WAAW,EAAA,aAAA,EAAc,MAAM,EAAA,QAAA,EACpD,WAAW,EACP,CAAA,CACR,EACDD,gCAAA,CAACM,SAAI,EAAA,EAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAC,QAAQ,EAC3B,QAAA,EAAA,KAAK,EACD,CAAA,CAAA,EAAA,CACF,EACPN,gCAAC,CAAA,SAAS,EACR,EAAA,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,YAAY,EAAA,CAC/B,EACD,gBAAgB,EAAE,EACnBA,gCAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAEC,yBAAM,CAAC,mBAAmB,EACrC,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,EACC,YAAA,EAAA,CAAA,OAAA,EAAU,KAAK,CAAS,OAAA,CAAA,EAAA,QAAA,EAEpCD,gCAAC,CAAAO,yBAAU,EAAC,EAAA,SAAS,EAAEN,yBAAM,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAI,CAAA,EAAA,CAC3D,CACD,EAAA,CAAA,EAAA,CACH,EACN;AACJ,EAAE;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
1
+ {"version":3,"file":"filter-chip.cjs","sources":["../../../../v1/components/filter-chip/filter-chip.tsx"],"sourcesContent":["import { Cross1Icon } from \"@radix-ui/react-icons\";\nimport { ReactNode, useEffect, useState, ReactElement } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select } from \"../select\";\nimport { Text } from \"../text\";\nimport { TextField } from \"../textfield\";\nimport { DatePicker } from \"../calendar\";\nimport styles from \"./filter-chip.module.css\";\nimport {\n FilterSelectOption,\n FilterOperation,\n FilterType,\n FilterTypes,\n filterOperators,\n} from \"~/v1/types/filters\";\n\nexport interface FilterChipProps {\n label: string;\n value?: string;\n onRemove?: () => void;\n className?: string;\n ref?: React.RefObject<HTMLDivElement>;\n children?: ReactNode;\n columnType?: FilterTypes;\n options?: FilterSelectOption[];\n onValueChange?: (value: any) => void;\n onOperationChange?: (operation: string) => void;\n leadingIcon?: ReactElement;\n}\n\ninterface OperationProps {\n label: string;\n columnType: FilterTypes;\n onOperationSelect: (op: FilterOperation) => void;\n}\n\nconst Operation = ({\n label,\n columnType = FilterType.string,\n onOperationSelect,\n}: OperationProps) => {\n const filterOptions = filterOperators[columnType] || [];\n // FilterOperatorTypes gives error as Select returns string\n const [value, setValue] = useState<string>(filterOptions?.[0]?.value);\n\n useEffect(() => {\n const selectedOption = filterOptions.find((o) => o.value === value);\n if (selectedOption) {\n onOperationSelect(selectedOption);\n }\n }, [value]);\n\n return (\n <Select\n value={value}\n onValueChange={setValue}\n aria-labelledby={`${label}-label`}\n >\n <Select.Trigger\n variant=\"filter\"\n className={styles.operation}\n aria-label={`${label} filter operation`}\n >\n <Select.Value\n placeholder=\"Select operation\"\n className={styles.operationText}\n />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {filterOptions.map((opt) => {\n return (\n <Select.Item\n key={opt.value}\n value={opt.value}\n aria-label={`Filter ${label} ${opt.label}`}\n >\n {opt.label}\n </Select.Item>\n );\n })}\n </Select.Content>\n </Select>\n );\n};\n\nexport const FilterChip = ({\n label,\n value,\n onRemove = () => null,\n className,\n ref,\n columnType = FilterType.string,\n options = [],\n onValueChange,\n onOperationChange,\n leadingIcon,\n ...props\n}: FilterChipProps) => {\n const [operation, setOperation] = useState<FilterOperation>();\n const [filterValue, setFilterValue] = useState<any>(value || \"\");\n\n useEffect(() => {\n if (onOperationChange && operation?.value) {\n onOperationChange(operation?.value);\n }\n }, [operation?.value]);\n\n useEffect(() => {\n if (onValueChange) {\n onValueChange(filterValue);\n }\n }, [filterValue]);\n\n const renderValueInput = () => {\n switch (columnType) {\n case FilterType.select:\n return (\n <Select value={filterValue.toString()} onValueChange={setFilterValue}>\n <Select.Trigger variant=\"filter\" className={styles.selectValue}>\n <Select.Value placeholder=\"Select value\" />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {options.map((opt) => (\n <Select.Item\n key={opt.value.toString()}\n value={opt.value.toString()}\n >\n {opt.label}\n </Select.Item>\n ))}\n </Select.Content>\n </Select>\n );\n case FilterType.date:\n return (\n <div className={styles.dateFieldWrapper}>\n <DatePicker\n value={filterValue}\n onSelect={(date) => setFilterValue(date)}\n showCalendarIcon={false}\n textFieldProps={{ className: styles.dateField }}\n />\n </div>\n );\n default:\n return (\n <div className={styles.textFieldWrapper}>\n <TextField\n className={styles.textField}\n value={filterValue}\n onChange={(e) => setFilterValue(e.target.value)}\n />\n </div>\n );\n }\n };\n\n return (\n <Box\n ref={ref}\n className={[styles.chip, className].filter(Boolean).join(\" \")}\n role=\"group\"\n aria-label={`Filter by ${label}`}\n {...props}\n >\n <Flex align=\"center\">\n <Flex align=\"center\" gap={2}>\n {leadingIcon && (\n <span className={styles.leadingIcon} aria-hidden=\"true\">\n {leadingIcon}\n </span>\n )}\n <Text size={2} weight=\"normal\">\n {label}\n </Text>\n </Flex>\n <Operation\n columnType={columnType}\n label={label}\n onOperationSelect={setOperation}\n />\n {renderValueInput()}\n <div\n className={styles.removeIconContainer}\n role=\"button\"\n tabIndex={0}\n aria-label={`Remove ${label} filter`}\n >\n <Cross1Icon className={styles.removeIcon} onClick={onRemove} />\n </div>\n </Flex>\n </Box>\n );\n};\n\nFilterChip.displayName = \"FilterChip\";\n"],"names":["FilterType","filterOperators","useState","useEffect","_jsxs","Select","_jsx","styles","DatePicker","TextField","Box","Flex","Text","Cross1Icon"],"mappings":"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"}
@@ -15,7 +15,7 @@ import '../popover/popover.js';
15
15
  import styles from './filter-chip.module.css.js';
16
16
  import { FilterType, filterOperators } from '../../types/filters.js';
17
17
 
18
- const Operation = ({ label, columnType = FilterType.text, onOperationSelect, }) => {
18
+ const Operation = ({ label, columnType = FilterType.string, onOperationSelect, }) => {
19
19
  const filterOptions = filterOperators[columnType] || [];
20
20
  // FilterOperatorTypes gives error as Select returns string
21
21
  const [value, setValue] = useState(filterOptions?.[0]?.value);
@@ -29,7 +29,7 @@ const Operation = ({ label, columnType = FilterType.text, onOperationSelect, })
29
29
  return (jsxRuntimeExports.jsx(Select.Item, { value: opt.value, "aria-label": `Filter ${label} ${opt.label}`, children: opt.label }, opt.value));
30
30
  }) })] }));
31
31
  };
32
- const FilterChip = ({ label, value, onRemove = () => null, className, ref, columnType = "text", options = [], onValueChange, onOperationChange, leadingIcon, ...props }) => {
32
+ const FilterChip = ({ label, value, onRemove = () => null, className, ref, columnType = FilterType.string, options = [], onValueChange, onOperationChange, leadingIcon, ...props }) => {
33
33
  const [operation, setOperation] = useState();
34
34
  const [filterValue, setFilterValue] = useState(value || "");
35
35
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"filter-chip.js","sources":["../../../../v1/components/filter-chip/filter-chip.tsx"],"sourcesContent":["import { Cross1Icon } from \"@radix-ui/react-icons\";\nimport { ReactNode, useEffect, useState, ReactElement } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select } from \"../select\";\nimport { Text } from \"../text\";\nimport { TextField } from \"../textfield\";\nimport { DatePicker } from \"../calendar\";\nimport styles from \"./filter-chip.module.css\";\nimport {\n FilterSelectOption,\n FilterOperation,\n FilterType,\n FilterTypes,\n filterOperators,\n} from \"~/v1/types/filters\";\n\nexport interface FilterChipProps {\n label: string;\n value?: string;\n onRemove?: () => void;\n className?: string;\n ref?: React.RefObject<HTMLDivElement>;\n children?: ReactNode;\n columnType?: FilterTypes;\n options?: FilterSelectOption[];\n onValueChange?: (value: any) => void;\n onOperationChange?: (operation: string) => void;\n leadingIcon?: ReactElement;\n}\n\ninterface OperationProps {\n label: string;\n columnType: FilterTypes;\n onOperationSelect: (op: FilterOperation) => void;\n}\n\nconst Operation = ({\n label,\n columnType = FilterType.text,\n onOperationSelect,\n}: OperationProps) => {\n const filterOptions = filterOperators[columnType] || [];\n // FilterOperatorTypes gives error as Select returns string\n const [value, setValue] = useState<string>(filterOptions?.[0]?.value);\n\n useEffect(() => {\n const selectedOption = filterOptions.find((o) => o.value === value);\n if (selectedOption) {\n onOperationSelect(selectedOption);\n }\n }, [value]);\n\n return (\n <Select\n value={value}\n onValueChange={setValue}\n aria-labelledby={`${label}-label`}\n >\n <Select.Trigger\n variant=\"filter\"\n className={styles.operation}\n aria-label={`${label} filter operation`}\n >\n <Select.Value\n placeholder=\"Select operation\"\n className={styles.operationText}\n />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {filterOptions.map((opt) => {\n return (\n <Select.Item\n key={opt.value}\n value={opt.value}\n aria-label={`Filter ${label} ${opt.label}`}\n >\n {opt.label}\n </Select.Item>\n );\n })}\n </Select.Content>\n </Select>\n );\n};\n\nexport const FilterChip = ({\n label,\n value,\n onRemove = () => null,\n className,\n ref,\n columnType = \"text\",\n options = [],\n onValueChange,\n onOperationChange,\n leadingIcon,\n ...props\n}: FilterChipProps) => {\n const [operation, setOperation] = useState<FilterOperation>();\n const [filterValue, setFilterValue] = useState<any>(value || \"\");\n\n useEffect(() => {\n if (onOperationChange && operation?.value) {\n onOperationChange(operation?.value);\n }\n }, [operation?.value]);\n\n useEffect(() => {\n if (onValueChange) {\n onValueChange(filterValue);\n }\n }, [filterValue]);\n\n const renderValueInput = () => {\n switch (columnType) {\n case FilterType.select:\n return (\n <Select value={filterValue.toString()} onValueChange={setFilterValue}>\n <Select.Trigger variant=\"filter\" className={styles.selectValue}>\n <Select.Value placeholder=\"Select value\" />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {options.map((opt) => (\n <Select.Item\n key={opt.value.toString()}\n value={opt.value.toString()}\n >\n {opt.label}\n </Select.Item>\n ))}\n </Select.Content>\n </Select>\n );\n case FilterType.date:\n return (\n <div className={styles.dateFieldWrapper}>\n <DatePicker\n value={filterValue}\n onSelect={(date) => setFilterValue(date)}\n showCalendarIcon={false}\n textFieldProps={{ className: styles.dateField }}\n />\n </div>\n );\n default:\n return (\n <div className={styles.textFieldWrapper}>\n <TextField\n className={styles.textField}\n value={filterValue}\n onChange={(e) => setFilterValue(e.target.value)}\n />\n </div>\n );\n }\n };\n\n return (\n <Box\n ref={ref}\n className={[styles.chip, className].filter(Boolean).join(\" \")}\n role=\"group\"\n aria-label={`Filter by ${label}`}\n {...props}\n >\n <Flex align=\"center\">\n <Flex align=\"center\" gap={2}>\n {leadingIcon && (\n <span className={styles.leadingIcon} aria-hidden=\"true\">\n {leadingIcon}\n </span>\n )}\n <Text size={2} weight=\"normal\">\n {label}\n </Text>\n </Flex>\n <Operation\n columnType={columnType}\n label={label}\n onOperationSelect={setOperation}\n />\n {renderValueInput()}\n <div\n className={styles.removeIconContainer}\n role=\"button\"\n tabIndex={0}\n aria-label={`Remove ${label} filter`}\n >\n <Cross1Icon className={styles.removeIcon} onClick={onRemove} />\n </div>\n </Flex>\n </Box>\n );\n};\n\nFilterChip.displayName = \"FilterChip\";\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"filter-chip.js","sources":["../../../../v1/components/filter-chip/filter-chip.tsx"],"sourcesContent":["import { Cross1Icon } from \"@radix-ui/react-icons\";\nimport { ReactNode, useEffect, useState, ReactElement } from \"react\";\nimport { Box } from \"../box\";\nimport { Flex } from \"../flex\";\nimport { Select } from \"../select\";\nimport { Text } from \"../text\";\nimport { TextField } from \"../textfield\";\nimport { DatePicker } from \"../calendar\";\nimport styles from \"./filter-chip.module.css\";\nimport {\n FilterSelectOption,\n FilterOperation,\n FilterType,\n FilterTypes,\n filterOperators,\n} from \"~/v1/types/filters\";\n\nexport interface FilterChipProps {\n label: string;\n value?: string;\n onRemove?: () => void;\n className?: string;\n ref?: React.RefObject<HTMLDivElement>;\n children?: ReactNode;\n columnType?: FilterTypes;\n options?: FilterSelectOption[];\n onValueChange?: (value: any) => void;\n onOperationChange?: (operation: string) => void;\n leadingIcon?: ReactElement;\n}\n\ninterface OperationProps {\n label: string;\n columnType: FilterTypes;\n onOperationSelect: (op: FilterOperation) => void;\n}\n\nconst Operation = ({\n label,\n columnType = FilterType.string,\n onOperationSelect,\n}: OperationProps) => {\n const filterOptions = filterOperators[columnType] || [];\n // FilterOperatorTypes gives error as Select returns string\n const [value, setValue] = useState<string>(filterOptions?.[0]?.value);\n\n useEffect(() => {\n const selectedOption = filterOptions.find((o) => o.value === value);\n if (selectedOption) {\n onOperationSelect(selectedOption);\n }\n }, [value]);\n\n return (\n <Select\n value={value}\n onValueChange={setValue}\n aria-labelledby={`${label}-label`}\n >\n <Select.Trigger\n variant=\"filter\"\n className={styles.operation}\n aria-label={`${label} filter operation`}\n >\n <Select.Value\n placeholder=\"Select operation\"\n className={styles.operationText}\n />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {filterOptions.map((opt) => {\n return (\n <Select.Item\n key={opt.value}\n value={opt.value}\n aria-label={`Filter ${label} ${opt.label}`}\n >\n {opt.label}\n </Select.Item>\n );\n })}\n </Select.Content>\n </Select>\n );\n};\n\nexport const FilterChip = ({\n label,\n value,\n onRemove = () => null,\n className,\n ref,\n columnType = FilterType.string,\n options = [],\n onValueChange,\n onOperationChange,\n leadingIcon,\n ...props\n}: FilterChipProps) => {\n const [operation, setOperation] = useState<FilterOperation>();\n const [filterValue, setFilterValue] = useState<any>(value || \"\");\n\n useEffect(() => {\n if (onOperationChange && operation?.value) {\n onOperationChange(operation?.value);\n }\n }, [operation?.value]);\n\n useEffect(() => {\n if (onValueChange) {\n onValueChange(filterValue);\n }\n }, [filterValue]);\n\n const renderValueInput = () => {\n switch (columnType) {\n case FilterType.select:\n return (\n <Select value={filterValue.toString()} onValueChange={setFilterValue}>\n <Select.Trigger variant=\"filter\" className={styles.selectValue}>\n <Select.Value placeholder=\"Select value\" />\n </Select.Trigger>\n <Select.Content data-variant=\"filter\">\n {options.map((opt) => (\n <Select.Item\n key={opt.value.toString()}\n value={opt.value.toString()}\n >\n {opt.label}\n </Select.Item>\n ))}\n </Select.Content>\n </Select>\n );\n case FilterType.date:\n return (\n <div className={styles.dateFieldWrapper}>\n <DatePicker\n value={filterValue}\n onSelect={(date) => setFilterValue(date)}\n showCalendarIcon={false}\n textFieldProps={{ className: styles.dateField }}\n />\n </div>\n );\n default:\n return (\n <div className={styles.textFieldWrapper}>\n <TextField\n className={styles.textField}\n value={filterValue}\n onChange={(e) => setFilterValue(e.target.value)}\n />\n </div>\n );\n }\n };\n\n return (\n <Box\n ref={ref}\n className={[styles.chip, className].filter(Boolean).join(\" \")}\n role=\"group\"\n aria-label={`Filter by ${label}`}\n {...props}\n >\n <Flex align=\"center\">\n <Flex align=\"center\" gap={2}>\n {leadingIcon && (\n <span className={styles.leadingIcon} aria-hidden=\"true\">\n {leadingIcon}\n </span>\n )}\n <Text size={2} weight=\"normal\">\n {label}\n </Text>\n </Flex>\n <Operation\n columnType={columnType}\n label={label}\n onOperationSelect={setOperation}\n />\n {renderValueInput()}\n <div\n className={styles.removeIconContainer}\n role=\"button\"\n tabIndex={0}\n aria-label={`Remove ${label} filter`}\n >\n <Cross1Icon className={styles.removeIcon} onClick={onRemove} />\n </div>\n </Flex>\n </Box>\n );\n};\n\nFilterChip.displayName = \"FilterChip\";\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -43,10 +43,16 @@ const trigger = index$1.cva(select_module.default.trigger, {
43
43
  variant: "default",
44
44
  },
45
45
  });
46
- const SelectTrigger = React__namespace.forwardRef(({ size, variant, className, children, iconProps = {}, 'aria-label': ariaLabel, style, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsxs(index.Trigger, { ref: ref, className: trigger({ size, variant, className }), "aria-label": ariaLabel || 'Select option', role: "combobox", style: style, ...props, children: [children, variant !== 'filter' && (jsxRuntime.jsxRuntimeExports.jsx(index.Icon, { asChild: true, children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronDownIcon, { className: select_module.default.triggerIcon, "aria-hidden": "true", ...iconProps }) }))] })));
46
+ const SelectTrigger = React__namespace.forwardRef(({ size, variant, className, children, iconProps = {}, 'aria-label': ariaLabel, style, stopPropagation = false, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsxs(index.Trigger, { ref: ref, className: trigger({ size, variant, className }), "aria-label": ariaLabel || 'Select option', role: "combobox", style: style, onPointerDown: (e) => {
47
+ if (stopPropagation) {
48
+ e.stopPropagation();
49
+ }
50
+ }, ...props, children: [children, variant !== 'filter' && (jsxRuntime.jsxRuntimeExports.jsx(index.Icon, { asChild: true, children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronDownIcon, { className: select_module.default.triggerIcon, "aria-hidden": "true", ...iconProps }) }))] })));
47
51
  SelectTrigger.displayName = index.Trigger.displayName;
48
52
  const content = index$1.cva(select_module.default.content);
49
- const SelectContent = React__namespace.forwardRef(({ className, children, position = "popper", ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsx(index.Portal, { children: jsxRuntime.jsxRuntimeExports.jsx(index.Content, { ref: ref, className: content({ className }), position: position, role: "listbox", ...props, children: children }) })));
53
+ const SelectContent = React__namespace.forwardRef(({ className, children, position = "popper", ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsx(index.Portal, { children: jsxRuntime.jsxRuntimeExports.jsx(index.Content, { ref: ref, className: content({ className }), position: position, role: "listbox", onPointerDownOutside: (e) => {
54
+ e.stopPropagation();
55
+ }, ...props, children: children }) })));
50
56
  SelectContent.displayName = index.Content.displayName;
51
57
  const menuitem = index$1.cva(select_module.default.menuitem);
52
58
  const SelectItem = React__namespace.forwardRef(({ className, textProps = {}, children, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsx(index.Item, { ref: ref, className: menuitem({ className }), role: "option", ...props, children: jsxRuntime.jsxRuntimeExports.jsx(index.ItemText, { children: jsxRuntime.jsxRuntimeExports.jsx(text.Text, { ...textProps, children: children }) }) })));
@@ -1 +1 @@
1
- {"version":3,"file":"select.cjs","sources":["../../../../v1/components/select/select.tsx"],"sourcesContent":["import { ChevronDownIcon } from \"@radix-ui/react-icons\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { Text } from \"../text\";\nimport { TextProps } from \"../text/text\";\nimport styles from \"./select.module.css\";\n\ninterface AriaProps {\n 'aria-label'?: string;\n 'aria-describedby'?: string;\n 'aria-required'?: boolean;\n 'aria-invalid'?: boolean;\n}\n\ninterface TriggerStyleProps {\n style?: React.CSSProperties;\n className?: string;\n}\n\nexport interface IconProps extends React.SVGAttributes<SVGElement> {\n children?: never;\n color?: string;\n}\n\nconst trigger = cva(styles.trigger, {\n variants: {\n size: {\n small: styles[\"trigger-small\"],\n medium: styles[\"trigger-medium\"],\n },\n variant: {\n default: \"\",\n filter: styles[\"trigger-filter\"],\n }\n },\n defaultVariants: {\n size: \"medium\",\n variant: \"default\",\n },\n});\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> &\n React.PropsWithChildren<VariantProps<typeof trigger>> & {\n iconProps?: IconProps;\n } &\n AriaProps &\n TriggerStyleProps\n>(({ \n size, \n variant, \n className, \n children, \n iconProps = {}, \n 'aria-label': ariaLabel,\n style,\n ...props \n}, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={trigger({ size, variant, className })}\n aria-label={ariaLabel || 'Select option'}\n role=\"combobox\"\n style={style}\n {...props}\n >\n {children}\n {variant !== 'filter' && (\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon \n className={styles.triggerIcon} \n aria-hidden=\"true\"\n {...iconProps} \n />\n </SelectPrimitive.Icon>\n )}\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst content = cva(styles.content);\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> &\n React.PropsWithChildren<VariantProps<typeof content>>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={content({ className })}\n position={position}\n role=\"listbox\"\n {...props}\n >\n {children}\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst menuitem = cva(styles.menuitem);\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> & {\n textProps?: TextProps;\n }\n>(({ className, textProps = {}, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={menuitem({ className })}\n role=\"option\"\n {...props}\n >\n <SelectPrimitive.ItemText>\n <Text {...textProps}>{children}</Text>\n </SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst separator = cva(styles.separator);\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={separator({ className })}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport const Select = Object.assign(SelectPrimitive.Root, {\n Group: SelectPrimitive.Group,\n Value: SelectPrimitive.Value,\n ScrollUpButton: SelectPrimitive.ScrollDownButton,\n ScrollDownButton: SelectPrimitive.ScrollDownButton,\n Viewport: SelectPrimitive.Viewport,\n Trigger: SelectTrigger,\n Content: SelectContent,\n Item: SelectItem,\n Separator: SelectSeparator,\n});\n"],"names":["cva","styles","React","_jsxs","SelectPrimitive.Trigger","_jsx","SelectPrimitive.Icon","ChevronDownIcon","SelectPrimitive.Portal","SelectPrimitive.Content","SelectPrimitive.Item","SelectPrimitive.ItemText","Text","SelectPrimitive.Separator","SelectPrimitive.Root","SelectPrimitive.Group","SelectPrimitive.Value","SelectPrimitive.ScrollDownButton","SelectPrimitive.Viewport"],"mappings":"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"}
1
+ {"version":3,"file":"select.cjs","sources":["../../../../v1/components/select/select.tsx"],"sourcesContent":["import { ChevronDownIcon } from \"@radix-ui/react-icons\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { Text } from \"../text\";\nimport { TextProps } from \"../text/text\";\nimport styles from \"./select.module.css\";\n\ninterface AriaProps {\n 'aria-label'?: string;\n 'aria-describedby'?: string;\n 'aria-required'?: boolean;\n 'aria-invalid'?: boolean;\n}\n\ninterface TriggerStyleProps {\n style?: React.CSSProperties;\n className?: string;\n stopPropagation?: boolean;\n}\n\nexport interface IconProps extends React.SVGAttributes<SVGElement> {\n children?: never;\n color?: string;\n}\n\nconst trigger = cva(styles.trigger, {\n variants: {\n size: {\n small: styles[\"trigger-small\"],\n medium: styles[\"trigger-medium\"],\n },\n variant: {\n default: \"\",\n filter: styles[\"trigger-filter\"],\n }\n },\n defaultVariants: {\n size: \"medium\",\n variant: \"default\",\n },\n});\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> &\n React.PropsWithChildren<VariantProps<typeof trigger>> & {\n iconProps?: IconProps;\n } &\n AriaProps &\n TriggerStyleProps\n>(({ \n size, \n variant, \n className, \n children, \n iconProps = {}, \n 'aria-label': ariaLabel,\n style,\n stopPropagation = false,\n ...props \n}, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={trigger({ size, variant, className })}\n aria-label={ariaLabel || 'Select option'}\n role=\"combobox\"\n style={style}\n onPointerDown={(e) => {\n if (stopPropagation) {\n e.stopPropagation();\n }\n }}\n {...props}\n >\n {children}\n {variant !== 'filter' && (\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon \n className={styles.triggerIcon} \n aria-hidden=\"true\"\n {...iconProps} \n />\n </SelectPrimitive.Icon>\n )}\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst content = cva(styles.content);\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> &\n React.PropsWithChildren<VariantProps<typeof content>>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={content({ className })}\n position={position}\n role=\"listbox\"\n onPointerDownOutside={(e) => {\n e.stopPropagation();\n }}\n {...props}\n >\n {children}\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst menuitem = cva(styles.menuitem);\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> & {\n textProps?: TextProps;\n }\n>(({ className, textProps = {}, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={menuitem({ className })}\n role=\"option\"\n {...props}\n >\n <SelectPrimitive.ItemText>\n <Text {...textProps}>{children}</Text>\n </SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst separator = cva(styles.separator);\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={separator({ className })}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport const Select = Object.assign(SelectPrimitive.Root, {\n Group: SelectPrimitive.Group,\n Value: SelectPrimitive.Value,\n ScrollUpButton: SelectPrimitive.ScrollDownButton,\n ScrollDownButton: SelectPrimitive.ScrollDownButton,\n Viewport: SelectPrimitive.Viewport,\n Trigger: SelectTrigger,\n Content: SelectContent,\n Item: SelectItem,\n Separator: SelectSeparator,\n});\n"],"names":["cva","styles","React","_jsxs","SelectPrimitive.Trigger","_jsx","SelectPrimitive.Icon","ChevronDownIcon","SelectPrimitive.Portal","SelectPrimitive.Content","SelectPrimitive.Item","SelectPrimitive.ItemText","Text","SelectPrimitive.Separator","SelectPrimitive.Root","SelectPrimitive.Group","SelectPrimitive.Value","SelectPrimitive.ScrollDownButton","SelectPrimitive.Viewport"],"mappings":"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"}
@@ -11,6 +11,7 @@ interface AriaProps {
11
11
  interface TriggerStyleProps {
12
12
  style?: React.CSSProperties;
13
13
  className?: string;
14
+ stopPropagation?: boolean;
14
15
  }
15
16
  export interface IconProps extends React.SVGAttributes<SVGElement> {
16
17
  children?: never;
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../v1/components/select/select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,UAAU,SAAS;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC;IAChE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkHD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;CAUjB,CAAC"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../v1/components/select/select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,UAAU,SAAS;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC;IAChE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2HD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;CAUjB,CAAC"}