@payloadcms/ui 3.29.0-internal.3471e81 → 3.29.0-internal.9400be9

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 (285) hide show
  1. package/dist/elements/Autosave/index.js +1 -1
  2. package/dist/elements/Autosave/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  4. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +143 -127
  5. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  6. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  7. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  8. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  9. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  10. package/dist/elements/BulkUpload/FileSidebar/index.js +5 -5
  11. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  12. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  13. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  14. package/dist/elements/ColumnSelector/index.js +1 -1
  15. package/dist/elements/ColumnSelector/index.js.map +1 -1
  16. package/dist/elements/ColumnSelector/index.scss +3 -2
  17. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  18. package/dist/elements/DeleteDocument/index.js +2 -1
  19. package/dist/elements/DeleteDocument/index.js.map +1 -1
  20. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  21. package/dist/elements/DeleteMany/index.js +1 -1
  22. package/dist/elements/DeleteMany/index.js.map +1 -1
  23. package/dist/elements/DocumentControls/index.js +1 -1
  24. package/dist/elements/DocumentControls/index.js.map +1 -1
  25. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  26. package/dist/elements/DocumentDrawer/DrawerContent.js +1 -2
  27. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  28. package/dist/elements/DocumentDrawer/types.d.ts +0 -4
  29. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  30. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  31. package/dist/elements/EditMany/DrawerContent.d.ts +3 -1
  32. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  33. package/dist/elements/EditMany/DrawerContent.js +122 -124
  34. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  35. package/dist/elements/EditMany/index.js +7 -7
  36. package/dist/elements/EditMany/index.js.map +1 -1
  37. package/dist/elements/EditMany/index.scss +14 -3
  38. package/dist/elements/FieldSelect/index.d.ts +12 -7
  39. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  40. package/dist/elements/FieldSelect/index.js +34 -131
  41. package/dist/elements/FieldSelect/index.js.map +1 -1
  42. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts +19 -0
  43. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -0
  44. package/dist/elements/FieldSelect/reduceFieldOptions.js +57 -0
  45. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -0
  46. package/dist/elements/ListControls/index.d.ts +24 -1
  47. package/dist/elements/ListControls/index.d.ts.map +1 -1
  48. package/dist/elements/ListControls/index.js +86 -115
  49. package/dist/elements/ListControls/index.js.map +1 -1
  50. package/dist/elements/ListControls/index.scss +9 -5
  51. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  52. package/dist/elements/ListDrawer/DrawerContent.js +2 -4
  53. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  54. package/dist/elements/ListDrawer/types.d.ts +2 -3
  55. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  56. package/dist/elements/ListDrawer/types.js.map +1 -1
  57. package/dist/elements/Pill/index.d.ts +1 -1
  58. package/dist/elements/Pill/index.d.ts.map +1 -1
  59. package/dist/elements/Pill/index.js +0 -2
  60. package/dist/elements/Pill/index.js.map +1 -1
  61. package/dist/elements/Pill/index.scss +6 -29
  62. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -1
  63. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  64. package/dist/elements/Popup/PopupButtonList/index.js +0 -1
  65. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  66. package/dist/elements/Popup/index.d.ts.map +1 -1
  67. package/dist/elements/Popup/index.js +1 -1
  68. package/dist/elements/Popup/index.js.map +1 -1
  69. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +1 -1
  70. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  71. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +1 -1
  72. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  73. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  74. package/dist/elements/RelationshipTable/index.js +4 -3
  75. package/dist/elements/RelationshipTable/index.js.map +1 -1
  76. package/dist/elements/Table/DefaultCell/fields/Date/index.js +1 -1
  77. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  78. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
  79. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  80. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  81. package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.js +2 -2
  82. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -0
  83. package/dist/{providers → elements}/TableColumns/buildColumnState.d.ts +1 -1
  84. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -0
  85. package/dist/{providers → elements}/TableColumns/buildColumnState.js +1 -1
  86. package/dist/elements/TableColumns/buildColumnState.js.map +1 -0
  87. package/dist/{providers → elements}/TableColumns/buildPolymorphicColumnState.d.ts +1 -1
  88. package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
  89. package/dist/{providers → elements}/TableColumns/buildPolymorphicColumnState.js +1 -1
  90. package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +1 -0
  91. package/dist/elements/TableColumns/context.d.ts.map +1 -0
  92. package/dist/elements/TableColumns/context.js.map +1 -0
  93. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -0
  94. package/dist/elements/TableColumns/filterFields.js.map +1 -0
  95. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -0
  96. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -0
  97. package/dist/elements/TableColumns/index.d.ts.map +1 -0
  98. package/dist/{providers → elements}/TableColumns/index.js +2 -4
  99. package/dist/elements/TableColumns/index.js.map +1 -0
  100. package/dist/{providers → elements}/TableColumns/types.d.ts +1 -1
  101. package/dist/elements/TableColumns/types.d.ts.map +1 -0
  102. package/dist/elements/TableColumns/types.js.map +1 -0
  103. package/dist/elements/Thumbnail/index.js +1 -1
  104. package/dist/elements/Thumbnail/index.js.map +1 -1
  105. package/dist/elements/ThumbnailCard/index.js +1 -1
  106. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  107. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  108. package/dist/elements/WhereBuilder/Condition/index.js +1 -1
  109. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  110. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  111. package/dist/elements/WhereBuilder/index.js +15 -18
  112. package/dist/elements/WhereBuilder/index.js.map +1 -1
  113. package/dist/elements/WhereBuilder/reduceFields.js +2 -2
  114. package/dist/elements/WhereBuilder/reduceFields.js.map +1 -1
  115. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts +8 -0
  116. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +1 -0
  117. package/dist/elements/WhereBuilder/transformWhereQuery.js +45 -0
  118. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -0
  119. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts +4 -0
  120. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -0
  121. package/dist/elements/WhereBuilder/validateWhereQuery.js +36 -0
  122. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -0
  123. package/dist/exports/client/index.d.ts +2 -7
  124. package/dist/exports/client/index.d.ts.map +1 -1
  125. package/dist/exports/client/index.js +23 -23
  126. package/dist/exports/client/index.js.map +4 -4
  127. package/dist/exports/shared/index.d.ts +5 -10
  128. package/dist/exports/shared/index.d.ts.map +1 -1
  129. package/dist/exports/shared/index.js +2 -2
  130. package/dist/exports/shared/index.js.map +4 -4
  131. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  132. package/dist/fields/Array/ArrayRow.js +1 -1
  133. package/dist/fields/Array/ArrayRow.js.map +1 -1
  134. package/dist/fields/Group/index.d.ts.map +1 -1
  135. package/dist/fields/Group/index.js.map +1 -1
  136. package/dist/fields/Group/index.scss +12 -6
  137. package/dist/fields/Relationship/optionsReducer.js +1 -1
  138. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  139. package/dist/forms/Form/fieldReducer.js +1 -1
  140. package/dist/forms/Form/fieldReducer.js.map +1 -1
  141. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  142. package/dist/forms/RenderFields/index.js +1 -1
  143. package/dist/forms/RenderFields/index.js.map +1 -1
  144. package/dist/icons/Chevron/index.d.ts +0 -1
  145. package/dist/icons/Chevron/index.d.ts.map +1 -1
  146. package/dist/icons/Chevron/index.js +0 -2
  147. package/dist/icons/Chevron/index.js.map +1 -1
  148. package/dist/icons/Dots/index.d.ts +0 -2
  149. package/dist/icons/Dots/index.d.ts.map +1 -1
  150. package/dist/icons/Dots/index.js +2 -5
  151. package/dist/icons/Dots/index.js.map +1 -1
  152. package/dist/icons/Dots/index.scss +0 -14
  153. package/dist/providers/DocumentInfo/index.js +1 -1
  154. package/dist/providers/DocumentInfo/index.js.map +1 -1
  155. package/dist/providers/DocumentInfo/types.d.ts +0 -1
  156. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  157. package/dist/providers/DocumentInfo/types.js.map +1 -1
  158. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  159. package/dist/providers/EntityVisibility/index.js.map +1 -1
  160. package/dist/providers/ListQuery/context.d.ts +0 -2
  161. package/dist/providers/ListQuery/context.d.ts.map +1 -1
  162. package/dist/providers/ListQuery/context.js +0 -2
  163. package/dist/providers/ListQuery/context.js.map +1 -1
  164. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  165. package/dist/providers/ListQuery/index.js +13 -29
  166. package/dist/providers/ListQuery/index.js.map +1 -1
  167. package/dist/providers/ListQuery/types.d.ts +3 -6
  168. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  169. package/dist/providers/ListQuery/types.js.map +1 -1
  170. package/dist/providers/Preferences/index.d.ts.map +1 -1
  171. package/dist/providers/Preferences/index.js.map +1 -1
  172. package/dist/providers/ServerFunctions/index.d.ts +0 -1
  173. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  174. package/dist/providers/ServerFunctions/index.js.map +1 -1
  175. package/dist/styles.css +1 -1
  176. package/dist/utilities/combineFieldLabel.d.ts +7 -0
  177. package/dist/utilities/combineFieldLabel.d.ts.map +1 -0
  178. package/dist/utilities/combineFieldLabel.js +31 -0
  179. package/dist/utilities/combineFieldLabel.js.map +1 -0
  180. package/dist/utilities/{formatDate.d.ts → formatDocTitle/formatDateTitle.d.ts} +1 -1
  181. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -0
  182. package/dist/utilities/{formatDate.js → formatDocTitle/formatDateTitle.js} +1 -1
  183. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -0
  184. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.d.ts +19 -0
  185. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.d.ts.map +1 -0
  186. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +19 -0
  187. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -0
  188. package/dist/utilities/{formatDocTitle.d.ts → formatDocTitle/index.d.ts} +2 -2
  189. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -0
  190. package/dist/utilities/{formatDocTitle.js → formatDocTitle/index.js} +11 -3
  191. package/dist/utilities/formatDocTitle/index.js.map +1 -0
  192. package/dist/utilities/mergeListSearchAndWhere.d.ts +10 -0
  193. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -0
  194. package/dist/utilities/mergeListSearchAndWhere.js +47 -0
  195. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -0
  196. package/dist/utilities/renderTable.js +4 -4
  197. package/dist/utilities/renderTable.js.map +1 -1
  198. package/dist/utilities/upsertPreferences.d.ts +2 -7
  199. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  200. package/dist/utilities/upsertPreferences.js +5 -11
  201. package/dist/utilities/upsertPreferences.js.map +1 -1
  202. package/dist/views/Edit/SetDocumentTitle/index.js +1 -1
  203. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  204. package/dist/views/Edit/index.d.ts.map +1 -1
  205. package/dist/views/Edit/index.js +1 -2
  206. package/dist/views/Edit/index.js.map +1 -1
  207. package/dist/views/List/index.d.ts.map +1 -1
  208. package/dist/views/List/index.js +1 -7
  209. package/dist/views/List/index.js.map +1 -1
  210. package/package.json +4 -4
  211. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts +0 -8
  212. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +0 -1
  213. package/dist/elements/ListControls/ActiveQueryPreset/index.js +0 -102
  214. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +0 -1
  215. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +0 -21
  216. package/dist/elements/ListControls/types.d.ts +0 -28
  217. package/dist/elements/ListControls/types.d.ts.map +0 -1
  218. package/dist/elements/ListControls/types.js.map +0 -1
  219. package/dist/elements/ListControls/useQueryPresets.d.ts +0 -17
  220. package/dist/elements/ListControls/useQueryPresets.d.ts.map +0 -1
  221. package/dist/elements/ListControls/useQueryPresets.js +0 -259
  222. package/dist/elements/ListControls/useQueryPresets.js.map +0 -1
  223. package/dist/elements/Popup/PopupDivider/index.d.ts +0 -4
  224. package/dist/elements/Popup/PopupDivider/index.d.ts.map +0 -1
  225. package/dist/elements/Popup/PopupDivider/index.js +0 -10
  226. package/dist/elements/Popup/PopupDivider/index.js.map +0 -1
  227. package/dist/elements/Popup/PopupDivider/index.scss +0 -10
  228. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts +0 -4
  229. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts.map +0 -1
  230. package/dist/elements/QueryPresets/cells/AccessCell/index.js +0 -25
  231. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +0 -1
  232. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +0 -4
  233. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +0 -1
  234. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +0 -11
  235. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +0 -1
  236. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts +0 -4
  237. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts.map +0 -1
  238. package/dist/elements/QueryPresets/cells/WhereCell/index.js +0 -23
  239. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +0 -1
  240. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +0 -4
  241. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +0 -1
  242. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +0 -64
  243. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +0 -1
  244. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -28
  245. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +0 -4
  246. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +0 -1
  247. package/dist/elements/QueryPresets/fields/WhereField/index.js +0 -118
  248. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +0 -1
  249. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  250. package/dist/icons/People/index.d.ts +0 -6
  251. package/dist/icons/People/index.d.ts.map +0 -1
  252. package/dist/icons/People/index.js +0 -18
  253. package/dist/icons/People/index.js.map +0 -1
  254. package/dist/icons/People/index.scss +0 -11
  255. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +0 -1
  256. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +0 -1
  257. package/dist/providers/TableColumns/buildColumnState.d.ts.map +0 -1
  258. package/dist/providers/TableColumns/buildColumnState.js.map +0 -1
  259. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
  260. package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +0 -1
  261. package/dist/providers/TableColumns/context.d.ts.map +0 -1
  262. package/dist/providers/TableColumns/context.js.map +0 -1
  263. package/dist/providers/TableColumns/filterFields.d.ts.map +0 -1
  264. package/dist/providers/TableColumns/filterFields.js.map +0 -1
  265. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +0 -1
  266. package/dist/providers/TableColumns/getInitialColumns.js.map +0 -1
  267. package/dist/providers/TableColumns/index.d.ts.map +0 -1
  268. package/dist/providers/TableColumns/index.js.map +0 -1
  269. package/dist/providers/TableColumns/types.d.ts.map +0 -1
  270. package/dist/providers/TableColumns/types.js +0 -2
  271. package/dist/providers/TableColumns/types.js.map +0 -1
  272. package/dist/utilities/formatDate.d.ts.map +0 -1
  273. package/dist/utilities/formatDate.js.map +0 -1
  274. package/dist/utilities/formatDocTitle.d.ts.map +0 -1
  275. package/dist/utilities/formatDocTitle.js.map +0 -1
  276. /package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.d.ts +0 -0
  277. /package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.scss +0 -0
  278. /package/dist/{providers → elements}/TableColumns/context.d.ts +0 -0
  279. /package/dist/{providers → elements}/TableColumns/context.js +0 -0
  280. /package/dist/{providers → elements}/TableColumns/filterFields.d.ts +0 -0
  281. /package/dist/{providers → elements}/TableColumns/filterFields.js +0 -0
  282. /package/dist/{providers → elements}/TableColumns/getInitialColumns.d.ts +0 -0
  283. /package/dist/{providers → elements}/TableColumns/getInitialColumns.js +0 -0
  284. /package/dist/{providers → elements}/TableColumns/index.d.ts +0 -0
  285. /package/dist/elements/{ListControls → TableColumns}/types.js +0 -0
@@ -3,8 +3,7 @@
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useWindowInfo } from '@faceless-ui/window-info';
5
5
  import { getTranslation } from '@payloadcms/translations';
6
- import { validateWhereQuery } from 'payload/shared';
7
- import React, { Fragment, useEffect, useRef, useState } from 'react';
6
+ import React, { useEffect, useRef, useState } from 'react';
8
7
  import { Popup, PopupList } from '../../elements/Popup/index.js';
9
8
  import { useUseTitleField } from '../../hooks/useUseAsTitle.js';
10
9
  import { ChevronIcon } from '../../icons/Chevron/index.js';
@@ -17,9 +16,8 @@ import { ColumnSelector } from '../ColumnSelector/index.js';
17
16
  import { Pill } from '../Pill/index.js';
18
17
  import { SearchFilter } from '../SearchFilter/index.js';
19
18
  import { WhereBuilder } from '../WhereBuilder/index.js';
20
- import { ActiveQueryPreset } from './ActiveQueryPreset/index.js';
19
+ import validateWhereQuery from '../WhereBuilder/validateWhereQuery.js';
21
20
  import { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js';
22
- import { useQueryPresets } from './useQueryPresets.js';
23
21
  import './index.scss';
24
22
  const baseClass = 'list-controls';
25
23
  /**
@@ -32,12 +30,9 @@ export const ListControls = props => {
32
30
  beforeActions,
33
31
  collectionConfig,
34
32
  collectionSlug,
35
- disableQueryPresets,
36
33
  enableColumns = true,
37
34
  enableSort = false,
38
- listMenuItems: listMenuItemsFromProps,
39
- queryPreset: activePreset,
40
- queryPresetPermissions,
35
+ listMenuItems,
41
36
  renderedFilters,
42
37
  resolvedFilterOptions
43
38
  } = props;
@@ -45,20 +40,6 @@ export const ListControls = props => {
45
40
  handleSearchChange,
46
41
  query
47
42
  } = useListQuery();
48
- const {
49
- CreateNewPresetDrawer,
50
- DeletePresetModal,
51
- EditPresetDrawer,
52
- hasModifiedPreset,
53
- openPresetListDrawer,
54
- PresetListDrawer,
55
- queryPresetMenuItems,
56
- resetPreset
57
- } = useQueryPresets({
58
- activePreset,
59
- collectionSlug,
60
- queryPresetPermissions
61
- });
62
43
  const titleField = useUseTitleField(collectionConfig);
63
44
  const {
64
45
  i18n,
@@ -104,102 +85,92 @@ export const ListControls = props => {
104
85
  });
105
86
  }
106
87
  }, [t, listSearchableFields, i18n, searchLabel]);
107
- let listMenuItems = listMenuItemsFromProps;
108
- if (collectionConfig?.enableQueryPresets && !disableQueryPresets && queryPresetMenuItems?.length > 0) {
109
- // Cannot push or unshift into `listMenuItemsFromProps` as it will mutate the original array
110
- listMenuItems = [...queryPresetMenuItems, listMenuItemsFromProps?.length > 0 ? /*#__PURE__*/_jsx(PopupList.Divider, {}, "divider") : null, ...(listMenuItemsFromProps || [])];
111
- }
112
- return /*#__PURE__*/_jsxs(Fragment, {
88
+ return /*#__PURE__*/_jsxs("div", {
89
+ className: baseClass,
113
90
  children: [/*#__PURE__*/_jsxs("div", {
114
- className: baseClass,
115
- children: [/*#__PURE__*/_jsxs("div", {
116
- className: `${baseClass}__wrap`,
117
- children: [/*#__PURE__*/_jsx(SearchIcon, {}), /*#__PURE__*/_jsx(SearchFilter, {
118
- fieldName: titleField && 'name' in titleField ? titleField?.name : null,
119
- handleChange: search => {
120
- return void handleSearchChange(search);
121
- },
122
- // @ts-expect-error @todo: fix types
123
- initialParams: query,
124
- label: searchLabelTranslated.current
125
- }, collectionSlug), activePreset && hasModifiedPreset ? /*#__PURE__*/_jsx("div", {
126
- className: `${baseClass}__modified`,
127
- children: "Modified"
128
- }) : null, /*#__PURE__*/_jsx("div", {
129
- className: `${baseClass}__buttons`,
130
- children: /*#__PURE__*/_jsxs("div", {
131
- className: `${baseClass}__buttons-wrap`,
132
- children: [!smallBreak && /*#__PURE__*/_jsx(React.Fragment, {
133
- children: beforeActions && beforeActions
134
- }), enableColumns && /*#__PURE__*/_jsx(Pill, {
135
- "aria-controls": `${baseClass}-columns`,
136
- "aria-expanded": visibleDrawer === 'columns',
137
- className: `${baseClass}__toggle-columns`,
138
- icon: /*#__PURE__*/_jsx(ChevronIcon, {
139
- direction: visibleDrawer === 'columns' ? 'up' : 'down'
140
- }),
141
- onClick: () => setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined),
142
- pillStyle: "light",
143
- children: t('general:columns')
144
- }), /*#__PURE__*/_jsx(Pill, {
145
- "aria-controls": `${baseClass}-where`,
146
- "aria-expanded": visibleDrawer === 'where',
147
- className: `${baseClass}__toggle-where`,
148
- icon: /*#__PURE__*/_jsx(ChevronIcon, {
149
- direction: visibleDrawer === 'where' ? 'up' : 'down'
150
- }),
151
- onClick: () => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined),
152
- pillStyle: "light",
153
- children: t('general:filters')
154
- }), enableSort && /*#__PURE__*/_jsx(Pill, {
155
- "aria-controls": `${baseClass}-sort`,
156
- "aria-expanded": visibleDrawer === 'sort',
157
- className: `${baseClass}__toggle-sort`,
158
- icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
159
- onClick: () => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined),
160
- pillStyle: "light",
161
- children: t('general:sort')
162
- }), !disableQueryPresets && /*#__PURE__*/_jsx(ActiveQueryPreset, {
163
- activePreset: activePreset,
164
- openPresetListDrawer: openPresetListDrawer,
165
- resetPreset: resetPreset
166
- }), listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && /*#__PURE__*/_jsx(Popup, {
167
- button: /*#__PURE__*/_jsx(Dots, {
168
- ariaLabel: t('general:moreOptions')
169
- }),
170
- className: `${baseClass}__popup`,
171
- horizontalAlign: "right",
172
- id: "list-menu",
173
- size: "large",
174
- verticalAlign: "bottom",
175
- children: /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
176
- children: listMenuItems.map((item, i_0) => /*#__PURE__*/_jsx(Fragment, {
177
- children: item
178
- }, `list-menu-item-${i_0}`))
179
- })
180
- })]
181
- })
182
- })]
183
- }), enableColumns && /*#__PURE__*/_jsx(AnimateHeight, {
184
- className: `${baseClass}__columns`,
185
- height: visibleDrawer === 'columns' ? 'auto' : 0,
186
- id: `${baseClass}-columns`,
187
- children: /*#__PURE__*/_jsx(ColumnSelector, {
188
- collectionSlug: collectionConfig.slug
189
- })
190
- }), /*#__PURE__*/_jsx(AnimateHeight, {
191
- className: `${baseClass}__where`,
192
- height: visibleDrawer === 'where' ? 'auto' : 0,
193
- id: `${baseClass}-where`,
194
- children: /*#__PURE__*/_jsx(WhereBuilder, {
195
- collectionPluralLabel: collectionConfig?.labels?.plural,
196
- collectionSlug: collectionConfig.slug,
197
- fields: collectionConfig?.fields,
198
- renderedFilters: renderedFilters,
199
- resolvedFilterOptions: resolvedFilterOptions
91
+ className: `${baseClass}__wrap`,
92
+ children: [/*#__PURE__*/_jsx(SearchIcon, {}), /*#__PURE__*/_jsx(SearchFilter, {
93
+ fieldName: titleField && 'name' in titleField ? titleField?.name : null,
94
+ handleChange: search => {
95
+ return void handleSearchChange(search);
96
+ },
97
+ // @ts-expect-error @todo: fix types
98
+ initialParams: query,
99
+ label: searchLabelTranslated.current
100
+ }, collectionSlug), /*#__PURE__*/_jsx("div", {
101
+ className: `${baseClass}__buttons`,
102
+ children: /*#__PURE__*/_jsxs("div", {
103
+ className: `${baseClass}__buttons-wrap`,
104
+ children: [!smallBreak && /*#__PURE__*/_jsx(React.Fragment, {
105
+ children: beforeActions && beforeActions
106
+ }), enableColumns && /*#__PURE__*/_jsx(Pill, {
107
+ "aria-controls": `${baseClass}-columns`,
108
+ "aria-expanded": visibleDrawer === 'columns',
109
+ className: `${baseClass}__toggle-columns`,
110
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {
111
+ direction: visibleDrawer === 'columns' ? 'up' : 'down'
112
+ }),
113
+ onClick: () => setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined),
114
+ pillStyle: "light",
115
+ children: t('general:columns')
116
+ }), /*#__PURE__*/_jsx(Pill, {
117
+ "aria-controls": `${baseClass}-where`,
118
+ "aria-expanded": visibleDrawer === 'where',
119
+ className: `${baseClass}__toggle-where`,
120
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {
121
+ direction: visibleDrawer === 'where' ? 'up' : 'down'
122
+ }),
123
+ onClick: () => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined),
124
+ pillStyle: "light",
125
+ children: t('general:filters')
126
+ }), enableSort && /*#__PURE__*/_jsx(Pill, {
127
+ "aria-controls": `${baseClass}-sort`,
128
+ "aria-expanded": visibleDrawer === 'sort',
129
+ className: `${baseClass}__toggle-sort`,
130
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
131
+ onClick: () => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined),
132
+ pillStyle: "light",
133
+ children: t('general:sort')
134
+ }), listMenuItems && /*#__PURE__*/_jsx(Popup, {
135
+ button: /*#__PURE__*/_jsx(Dots, {
136
+ ariaLabel: t('general:moreOptions')
137
+ }),
138
+ className: `${baseClass}__popup`,
139
+ horizontalAlign: "right",
140
+ size: "large",
141
+ verticalAlign: "bottom",
142
+ children: /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
143
+ children: listMenuItems.map(item => item)
144
+ })
145
+ })]
200
146
  })
201
147
  })]
202
- }), PresetListDrawer, EditPresetDrawer, CreateNewPresetDrawer, DeletePresetModal]
148
+ }), enableColumns && /*#__PURE__*/_jsx(AnimateHeight, {
149
+ className: `${baseClass}__columns`,
150
+ height: visibleDrawer === 'columns' ? 'auto' : 0,
151
+ id: `${baseClass}-columns`,
152
+ children: /*#__PURE__*/_jsx(ColumnSelector, {
153
+ collectionSlug: collectionConfig.slug
154
+ })
155
+ }), /*#__PURE__*/_jsx(AnimateHeight, {
156
+ className: `${baseClass}__where`,
157
+ height: visibleDrawer === 'where' ? 'auto' : 0,
158
+ id: `${baseClass}-where`,
159
+ children: /*#__PURE__*/_jsx(WhereBuilder, {
160
+ collectionPluralLabel: collectionConfig?.labels?.plural,
161
+ collectionSlug: collectionConfig.slug,
162
+ fields: collectionConfig?.fields,
163
+ renderedFilters: renderedFilters,
164
+ resolvedFilterOptions: resolvedFilterOptions
165
+ })
166
+ }), enableSort && /*#__PURE__*/_jsx(AnimateHeight, {
167
+ className: `${baseClass}__sort`,
168
+ height: visibleDrawer === 'sort' ? 'auto' : 0,
169
+ id: `${baseClass}-sort`,
170
+ children: /*#__PURE__*/_jsx("p", {
171
+ children: "Sort Complex"
172
+ })
173
+ })]
203
174
  });
204
175
  };
205
176
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","validateWhereQuery","React","Fragment","useEffect","useRef","useState","Popup","PopupList","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","Pill","SearchFilter","WhereBuilder","ActiveQueryPreset","getTextFieldsToBeSearched","useQueryPresets","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","disableQueryPresets","enableColumns","enableSort","listMenuItems","listMenuItemsFromProps","queryPreset","activePreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","handleSearchChange","query","CreateNewPresetDrawer","DeletePresetModal","EditPresetDrawer","hasModifiedPreset","openPresetListDrawer","PresetListDrawer","queryPresetMenuItems","resetPreset","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","enableQueryPresets","_jsx","Divider","_jsxs","className","fieldName","handleChange","search","initialParams","icon","direction","onClick","pillStyle","Array","isArray","button","ariaLabel","horizontalAlign","id","size","verticalAlign","ButtonGroup","map","item","height","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport { validateWhereQuery } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport type { ListControlsProps } from './types.js'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport { ActiveQueryPreset } from './ActiveQueryPreset/index.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport { useQueryPresets } from './useQueryPresets.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n disableQueryPresets,\n enableColumns = true,\n enableSort = false,\n listMenuItems: listMenuItemsFromProps,\n queryPreset: activePreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n\n const { handleSearchChange, query } = useListQuery()\n\n const {\n CreateNewPresetDrawer,\n DeletePresetModal,\n EditPresetDrawer,\n hasModifiedPreset,\n openPresetListDrawer,\n PresetListDrawer,\n queryPresetMenuItems,\n resetPreset,\n } = useQueryPresets({\n activePreset,\n collectionSlug,\n queryPresetPermissions,\n })\n\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField &&\n (typeof titleField.label === 'string' || typeof titleField.label === 'object')\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n let listMenuItems: React.ReactNode[] = listMenuItemsFromProps\n\n if (\n collectionConfig?.enableQueryPresets &&\n !disableQueryPresets &&\n queryPresetMenuItems?.length > 0\n ) {\n // Cannot push or unshift into `listMenuItemsFromProps` as it will mutate the original array\n listMenuItems = [\n ...queryPresetMenuItems,\n listMenuItemsFromProps?.length > 0 ? <PopupList.Divider key=\"divider\" /> : null,\n ...(listMenuItemsFromProps || []),\n ]\n }\n\n return (\n <Fragment>\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={query}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n />\n {activePreset && hasModifiedPreset ? (\n <div className={`${baseClass}__modified`}>Modified</div>\n ) : null}\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && <React.Fragment>{beforeActions && beforeActions}</React.Fragment>}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {!disableQueryPresets && (\n <ActiveQueryPreset\n activePreset={activePreset}\n openPresetListDrawer={openPresetListDrawer}\n resetPreset={resetPreset}\n />\n )}\n {listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n id=\"list-menu\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {listMenuItems.map((item, i) => (\n <Fragment key={`list-menu-item-${i}`}>{item}</Fragment>\n ))}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n </div>\n {PresetListDrawer}\n {EditPresetDrawer}\n {CreateNewPresetDrawer}\n {DeletePresetModal}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","React","useEffect","useRef","useState","Popup","PopupList","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","Pill","SearchFilter","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","enableColumns","enableSort","listMenuItems","renderedFilters","resolvedFilterOptions","handleSearchChange","query","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","_jsx","fieldName","handleChange","search","initialParams","Fragment","icon","direction","onClick","pillStyle","button","ariaLabel","horizontalAlign","size","verticalAlign","ButtonGroup","map","item","height","id","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ResolvedFilterOptions, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly beforeActions?: React.ReactNode[]\n readonly collectionConfig: ClientCollectionConfig\n readonly collectionSlug: string\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkDelete?: boolean\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkEdit?: boolean\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n readonly listMenuItems?: React.ReactNode[]\n readonly renderedFilters?: Map<string, React.ReactNode>\n readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n enableColumns = true,\n enableSort = false,\n listMenuItems,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n const { handleSearchChange, query } = useListQuery()\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField &&\n (typeof titleField.label === 'string' || typeof titleField.label === 'object')\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={query}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && <React.Fragment>{beforeActions && beforeActions}</React.Fragment>}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {listMenuItems && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>{listMenuItems.map((item) => item)}</PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -24,14 +24,18 @@
24
24
  border-radius: 0;
25
25
  }
26
26
 
27
- &__modified {
28
- color: var(--theme-elevation-500);
29
- }
30
-
31
27
  &__buttons-wrap {
32
28
  display: flex;
33
29
  align-items: center;
34
- gap: 4px;
30
+ gap: base(0.2);
31
+
32
+ .pill {
33
+ background-color: var(--theme-elevation-150);
34
+
35
+ &:hover {
36
+ background-color: var(--theme-elevation-100);
37
+ }
38
+ }
35
39
  }
36
40
 
37
41
  .column-selector,
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAUjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsKvD,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAWjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmKvD,CAAA"}
@@ -2,18 +2,17 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useModal } from '@faceless-ui/modal';
5
- import { hoistQueryParamsToAnd } from 'payload/shared';
6
5
  import React, { useCallback, useEffect, useState } from 'react';
7
6
  import { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js';
8
7
  import { useEffectEvent } from '../../hooks/useEffectEvent.js';
9
8
  import { useConfig } from '../../providers/Config/index.js';
10
9
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
10
+ import { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js';
11
11
  import { ListDrawerContextProvider } from '../ListDrawer/Provider.js';
12
12
  import { LoadingOverlay } from '../Loading/index.js';
13
13
  export const ListDrawerContent = ({
14
14
  allowCreate = true,
15
15
  collectionSlugs,
16
- disableQueryPresets,
17
16
  drawerSlug,
18
17
  enableRowSelections,
19
18
  filterOptions,
@@ -92,7 +91,6 @@ export const ListDrawerContent = ({
92
91
  collectionSlug: slug_0,
93
92
  disableBulkDelete: true,
94
93
  disableBulkEdit: true,
95
- disableQueryPresets,
96
94
  drawerSlug,
97
95
  enableRowSelections,
98
96
  overrideEntityVisibility,
@@ -108,7 +106,7 @@ export const ListDrawerContent = ({
108
106
  closeModal(drawerSlug);
109
107
  }
110
108
  }
111
- }, [serverFunction, closeModal, allowCreate, drawerSlug, isOpen, enableRowSelections, filterOptions, overrideEntityVisibility, disableQueryPresets]);
109
+ }, [serverFunction, closeModal, allowCreate, drawerSlug, isOpen, enableRowSelections, filterOptions, overrideEntityVisibility]);
112
110
  useEffect(() => {
113
111
  if (!ListView) {
114
112
  void renderList(selectedOption.value);
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useModal","hoistQueryParamsToAnd","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","disableQueryPresets","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hoistQueryParamsToAnd } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((selectedCollectionFromProps: string) => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: selectedCollectionFromProps })?.labels,\n value: selectedCollectionFromProps,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(selectedCollectionFromProps)\n }, [selectedCollectionFromProps])\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n allowCreate,\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n allowCreate,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n disableQueryPresets,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n doc,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","hoistQueryParamsToAnd","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((selectedCollectionFromProps: string) => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: selectedCollectionFromProps })?.labels,\n value: selectedCollectionFromProps,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(selectedCollectionFromProps)\n }, [selectedCollectionFromProps])\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n allowCreate,\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n allowCreate,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n doc,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,6 @@ import type { ListDrawerContextProps } from './Provider.js';
5
5
  export type ListDrawerProps = {
6
6
  readonly allowCreate?: boolean;
7
7
  readonly collectionSlugs: SanitizedCollectionConfig['slug'][];
8
- readonly disableQueryPresets?: boolean;
9
8
  readonly drawerSlug?: string;
10
9
  readonly enableRowSelections?: boolean;
11
10
  readonly filterOptions?: FilterOptionsResult;
@@ -25,8 +24,8 @@ export type UseListDrawer = (args: {
25
24
  selectedCollection?: SanitizedCollectionConfig['slug'];
26
25
  uploads?: boolean;
27
26
  }) => [
28
- React.FC<Omit<ListDrawerProps, 'collectionSlugs'>>,
29
- React.FC<Omit<ListTogglerProps, 'drawerSlug'>>,
27
+ React.FC<Pick<ListDrawerProps, 'allowCreate' | 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>>,
28
+ React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled' | 'onClick'>>,
30
29
  {
31
30
  closeDrawer: () => void;
32
31
  collectionSlugs: SanitizedCollectionConfig['slug'][];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IAC7D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,GAAG,sBAAsB,CAAA;AAE1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IACrD,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC9C;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;QACpD,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7F,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IAC7D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,GAAG,sBAAsB,CAAA;AAE1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IACrD,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CACN,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,qBAAqB,GAAG,cAAc,GAAG,UAAU,CAAC,CAC3F;IACD,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;IACnF;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;QACpD,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7F,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { ListDrawerContextProps } from './Provider.js'\n\nexport type ListDrawerProps = {\n readonly allowCreate?: boolean\n readonly collectionSlugs: SanitizedCollectionConfig['slug'][]\n readonly disableQueryPresets?: boolean\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly overrideEntityVisibility?: boolean\n readonly selectedCollection?: string\n} & ListDrawerContextProps\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: SanitizedCollectionConfig['slug'][]\n filterOptions?: FilterOptionsResult\n overrideEntityVisibility?: boolean\n selectedCollection?: SanitizedCollectionConfig['slug']\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Omit<ListDrawerProps, 'collectionSlugs'>>,\n React.FC<Omit<ListTogglerProps, 'drawerSlug'>>,\n {\n closeDrawer: () => void\n collectionSlugs: SanitizedCollectionConfig['slug'][]\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n setCollectionSlugs: React.Dispatch<React.SetStateAction<SanitizedCollectionConfig['slug'][]>>\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AAwBA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { ListDrawerContextProps } from './Provider.js'\n\nexport type ListDrawerProps = {\n readonly allowCreate?: boolean\n readonly collectionSlugs: SanitizedCollectionConfig['slug'][]\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly overrideEntityVisibility?: boolean\n readonly selectedCollection?: string\n} & ListDrawerContextProps\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: SanitizedCollectionConfig['slug'][]\n filterOptions?: FilterOptionsResult\n overrideEntityVisibility?: boolean\n selectedCollection?: SanitizedCollectionConfig['slug']\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<\n Pick<ListDrawerProps, 'allowCreate' | 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>\n >, // drawer\n React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled' | 'onClick'>>, // toggler\n {\n closeDrawer: () => void\n collectionSlugs: SanitizedCollectionConfig['slug'][]\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n setCollectionSlugs: React.Dispatch<React.SetStateAction<SanitizedCollectionConfig['slug'][]>>\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AAuBA","ignoreList":[]}
@@ -15,7 +15,7 @@ export type PillProps = {
15
15
  icon?: React.ReactNode;
16
16
  id?: string;
17
17
  onClick?: () => void;
18
- pillStyle?: 'always-white' | 'dark' | 'error' | 'light' | 'light-gray' | 'success' | 'warning' | 'white';
18
+ pillStyle?: 'dark' | 'error' | 'light' | 'light-gray' | 'success' | 'warning' | 'white';
19
19
  rounded?: boolean;
20
20
  size?: 'medium' | 'small';
21
21
  to?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Pill/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE;QACb,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;KACpC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EACN,cAAc,GACd,MAAM,GACN,OAAO,GACP,OAAO,GACP,YAAY,GACZ,SAAS,GACT,SAAS,GACT,OAAO,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAGD,OAAO,cAAc,CAAA;AA2FrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAOpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Pill/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE;QACb,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;KACpC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;IACvF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAGD,OAAO,cAAc,CAAA;AAwFrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAOpC,CAAA"}
@@ -69,7 +69,6 @@ const DraggablePill = props => {
69
69
  };
70
70
  const StaticPill = props => {
71
71
  const {
72
- id,
73
72
  alignIcon = 'right',
74
73
  'aria-checked': ariaChecked,
75
74
  'aria-controls': ariaControls,
@@ -102,7 +101,6 @@ const StaticPill = props => {
102
101
  "aria-label": ariaLabel,
103
102
  className: classes,
104
103
  href: to || null,
105
- id: id,
106
104
  onClick: onClick,
107
105
  type: Element === 'button' ? 'button' : undefined,
108
106
  children: [/*#__PURE__*/_jsx("span", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","Link","useDraggableSortable","baseClass","DraggablePill","props","$","id","className","t0","attributes","isDragging","listeners","setNodeRef","transform","t1","t2","filter","Boolean","t3","join","t4","_jsx","StaticPill","elementProps","ref","style","alignIcon","ariaChecked","ariaControls","ariaExpanded","ariaLabel","children","draggable","icon","onClick","pillStyle","rounded","size","to","classes","Element","_jsxs","href","type","undefined","Pill"],"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementType, HTMLAttributes } from 'react'\n\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport { Link } from '../Link/index.js'\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: {\n ref: React.RefCallback<HTMLElement>\n } & HTMLAttributes<HTMLElement>\n icon?: React.ReactNode\n id?: string\n onClick?: () => void\n pillStyle?:\n | 'always-white'\n | 'dark'\n | 'error'\n | 'light'\n | 'light-gray'\n | 'success'\n | 'warning'\n | 'white'\n rounded?: boolean\n size?: 'medium' | 'small'\n to?: string\n}\n\nexport type RenderedTypeProps = {\n children: React.ReactNode\n className?: string\n onClick?: () => void\n to: string\n type?: 'button'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n id,\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n onClick,\n pillStyle = 'light',\n rounded,\n size = 'medium',\n to,\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n `${baseClass}--size-${size}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let Element: ElementType | React.FC<RenderedTypeProps> = 'div'\n\n if (onClick && !to) {\n Element = 'button'\n }\n\n if (to) {\n Element = Link\n }\n\n return (\n <Element\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n href={to || null}\n id={id}\n onClick={onClick}\n type={Element === 'button' ? 'button' : undefined}\n >\n <span className={`${baseClass}__label`}>{children}</span>\n {Boolean(icon) && <span className={`${baseClass}__icon`}>{icon}</span>}\n </Element>\n )\n}\n\nexport const Pill: React.FC<PillProps> = (props) => {\n const { draggable } = props\n\n if (draggable) {\n return <DraggablePill {...props} />\n }\n return <StaticPill {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Link","useDraggableSortable","baseClass","DraggablePill","props","$","id","className","t0","attributes","isDragging","listeners","setNodeRef","transform","t1","t2","filter","Boolean","t3","join","t4","_jsx","StaticPill","elementProps","ref","style","alignIcon","ariaChecked","ariaControls","ariaExpanded","ariaLabel","children","draggable","icon","onClick","pillStyle","rounded","size","to","classes","Element","_jsxs","href","type","undefined","Pill"],"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementType, HTMLAttributes } from 'react'\n\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport { Link } from '../Link/index.js'\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: {\n ref: React.RefCallback<HTMLElement>\n } & HTMLAttributes<HTMLElement>\n icon?: React.ReactNode\n id?: string\n onClick?: () => void\n pillStyle?: 'dark' | 'error' | 'light' | 'light-gray' | 'success' | 'warning' | 'white'\n rounded?: boolean\n size?: 'medium' | 'small'\n to?: string\n}\n\nexport type RenderedTypeProps = {\n children: React.ReactNode\n className?: string\n onClick?: () => void\n to: string\n type?: 'button'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n onClick,\n pillStyle = 'light',\n rounded,\n size = 'medium',\n to,\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n `${baseClass}--size-${size}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let Element: ElementType | React.FC<RenderedTypeProps> = 'div'\n\n if (onClick && !to) {\n Element = 'button'\n }\n if (to) {\n Element = Link\n }\n\n return (\n <Element\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n href={to || null}\n onClick={onClick}\n type={Element === 'button' ? 'button' : undefined}\n >\n <span className={`${baseClass}__label`}>{children}</span>\n {Boolean(icon) && <span className={`${baseClass}__icon`}>{icon}</span>}\n </Element>\n )\n}\n\nexport const Pill: React.FC<PillProps> = (props) => {\n const { draggable } = props\n\n if (draggable) {\n return <DraggablePill {...props} />\n }\n return <StaticPill {...props} />\n}\n"],"mappings":"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","ignoreList":[]}