@payloadcms/ui 3.0.0-canary.a7293f6 → 3.0.0-canary.ab70b75

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 (236) hide show
  1. package/dist/elements/AddNewRelation/index.scss +36 -34
  2. package/dist/elements/AppHeader/index.scss +151 -150
  3. package/dist/elements/ArrayAction/index.scss +23 -21
  4. package/dist/elements/Autosave/index.scss +4 -2
  5. package/dist/elements/Banner/index.scss +51 -49
  6. package/dist/elements/BulkUpload/ActionsBar/index.scss +45 -43
  7. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -1
  8. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  9. package/dist/elements/BulkUpload/AddFilesView/index.js +2 -0
  10. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/AddFilesView/index.scss +23 -21
  12. package/dist/elements/BulkUpload/AddingFilesView/index.scss +16 -14
  13. package/dist/elements/BulkUpload/DrawerCloseButton/index.scss +23 -21
  14. package/dist/elements/BulkUpload/EditForm/index.scss +6 -4
  15. package/dist/elements/BulkUpload/FileSidebar/index.scss +214 -212
  16. package/dist/elements/BulkUpload/Header/index.scss +11 -9
  17. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  18. package/dist/elements/BulkUpload/index.js +22 -42
  19. package/dist/elements/BulkUpload/index.js.map +1 -1
  20. package/dist/elements/Button/index.scss +202 -200
  21. package/dist/elements/Card/index.scss +58 -56
  22. package/dist/elements/CodeEditor/index.scss +16 -14
  23. package/dist/elements/Collapsible/index.scss +125 -123
  24. package/dist/elements/ColumnSelector/index.scss +36 -34
  25. package/dist/elements/CopyToClipboard/index.scss +21 -19
  26. package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
  27. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  28. package/dist/elements/DatePicker/DatePicker.js +1 -1
  29. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  30. package/dist/elements/DatePicker/index.scss +309 -307
  31. package/dist/elements/DatePicker/library.scss +859 -0
  32. package/dist/elements/DeleteDocument/index.scss +32 -30
  33. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  34. package/dist/elements/DeleteMany/index.js +16 -5
  35. package/dist/elements/DeleteMany/index.js.map +1 -1
  36. package/dist/elements/DeleteMany/index.scss +29 -27
  37. package/dist/elements/DocumentControls/index.js +1 -1
  38. package/dist/elements/DocumentControls/index.js.map +1 -1
  39. package/dist/elements/DocumentControls/index.scss +190 -188
  40. package/dist/elements/DocumentDrawer/index.scss +55 -53
  41. package/dist/elements/DocumentFields/index.scss +144 -142
  42. package/dist/elements/Drawer/index.scss +111 -109
  43. package/dist/elements/Dropzone/index.scss +32 -30
  44. package/dist/elements/DuplicateDocument/index.scss +31 -29
  45. package/dist/elements/EditMany/index.scss +162 -160
  46. package/dist/elements/EditUpload/index.scss +180 -178
  47. package/dist/elements/ErrorPill/index.scss +27 -25
  48. package/dist/elements/FieldSelect/index.scss +4 -2
  49. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +25 -23
  50. package/dist/elements/FileDetails/FileMeta/index.scss +21 -19
  51. package/dist/elements/FileDetails/StaticFileDetails/index.scss +104 -102
  52. package/dist/elements/GenerateConfirmation/index.scss +29 -27
  53. package/dist/elements/Gutter/index.scss +14 -12
  54. package/dist/elements/Hamburger/index.scss +38 -36
  55. package/dist/elements/IDLabel/index.scss +11 -9
  56. package/dist/elements/ListControls/index.scss +71 -69
  57. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  58. package/dist/elements/ListDrawer/DrawerContent.js +61 -57
  59. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  60. package/dist/elements/ListDrawer/index.scss +93 -91
  61. package/dist/elements/ListHeader/index.scss +9 -7
  62. package/dist/elements/ListSelection/index.scss +14 -12
  63. package/dist/elements/Loading/index.scss +108 -106
  64. package/dist/elements/Localizer/LocalizerLabel/index.scss +44 -42
  65. package/dist/elements/Localizer/index.scss +7 -5
  66. package/dist/elements/Locked/index.scss +11 -9
  67. package/dist/elements/Nav/NavToggler/index.scss +9 -7
  68. package/dist/elements/NavGroup/index.scss +43 -41
  69. package/dist/elements/Pagination/ClickableArrow/index.scss +34 -32
  70. package/dist/elements/Pagination/index.scss +40 -38
  71. package/dist/elements/PerPage/index.scss +37 -35
  72. package/dist/elements/Pill/index.scss +103 -101
  73. package/dist/elements/Popup/PopupButtonList/index.scss +45 -43
  74. package/dist/elements/Popup/PopupTrigger/index.scss +23 -21
  75. package/dist/elements/Popup/index.scss +185 -183
  76. package/dist/elements/PreviewSizes/index.scss +115 -113
  77. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  78. package/dist/elements/PublishMany/index.js +16 -5
  79. package/dist/elements/PublishMany/index.js.map +1 -1
  80. package/dist/elements/PublishMany/index.scss +28 -26
  81. package/dist/elements/ReactSelect/ClearIndicator/index.scss +6 -4
  82. package/dist/elements/ReactSelect/DropdownIndicator/index.scss +11 -9
  83. package/dist/elements/ReactSelect/MultiValue/index.scss +26 -24
  84. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +16 -14
  85. package/dist/elements/ReactSelect/MultiValueRemove/index.scss +20 -18
  86. package/dist/elements/ReactSelect/ValueContainer/index.scss +22 -20
  87. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  88. package/dist/elements/ReactSelect/index.js +2 -0
  89. package/dist/elements/ReactSelect/index.js.map +1 -1
  90. package/dist/elements/ReactSelect/index.scss +66 -59
  91. package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +5 -3
  92. package/dist/elements/RelationshipTable/index.scss +21 -19
  93. package/dist/elements/RenderTitle/index.scss +7 -5
  94. package/dist/elements/SearchFilter/index.scss +31 -28
  95. package/dist/elements/SelectAll/index.scss +5 -3
  96. package/dist/elements/SelectRow/index.scss +6 -4
  97. package/dist/elements/ShimmerEffect/index.scss +26 -24
  98. package/dist/elements/SortColumn/index.scss +51 -49
  99. package/dist/elements/SortComplex/index.scss +27 -25
  100. package/dist/elements/Status/index.scss +45 -43
  101. package/dist/elements/StayLoggedIn/index.scss +28 -26
  102. package/dist/elements/StepNav/index.scss +62 -61
  103. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.scss +20 -18
  104. package/dist/elements/Table/DefaultCell/fields/Code/index.scss +22 -20
  105. package/dist/elements/Table/DefaultCell/fields/File/index.scss +18 -16
  106. package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +20 -18
  107. package/dist/elements/Table/DefaultCell/index.js +2 -2
  108. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  109. package/dist/elements/Table/index.scss +74 -72
  110. package/dist/elements/TableColumns/buildColumnState.js +1 -0
  111. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  112. package/dist/elements/Thumbnail/index.scss +37 -35
  113. package/dist/elements/ThumbnailCard/index.scss +31 -29
  114. package/dist/elements/Tooltip/index.scss +77 -75
  115. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  116. package/dist/elements/UnpublishMany/index.js +16 -5
  117. package/dist/elements/UnpublishMany/index.js.map +1 -1
  118. package/dist/elements/UnpublishMany/index.scss +28 -26
  119. package/dist/elements/Upload/index.d.ts.map +1 -1
  120. package/dist/elements/Upload/index.js +2 -0
  121. package/dist/elements/Upload/index.js.map +1 -1
  122. package/dist/elements/Upload/index.scss +117 -121
  123. package/dist/elements/WhereBuilder/Condition/Number/index.scss +4 -2
  124. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +9 -7
  125. package/dist/elements/WhereBuilder/Condition/Text/index.scss +4 -2
  126. package/dist/elements/WhereBuilder/Condition/index.scss +43 -41
  127. package/dist/elements/WhereBuilder/index.scss +28 -26
  128. package/dist/exports/client/{CodeEditor-4A6256PR.js → CodeEditor-VPUKDCXS.js} +1 -1
  129. package/dist/exports/client/{CodeEditor-4A6256PR.js.map → CodeEditor-VPUKDCXS.js.map} +1 -1
  130. package/dist/exports/client/{DatePicker-HNJMUG32.js → DatePicker-FUJV23KL.js} +2 -2
  131. package/dist/exports/client/{chunk-IHJK2MAT.js → chunk-UMJJTMDP.js} +2 -2
  132. package/dist/exports/client/{chunk-IHJK2MAT.js.map → chunk-UMJJTMDP.js.map} +4 -4
  133. package/dist/exports/client/index.d.ts +2 -1
  134. package/dist/exports/client/index.d.ts.map +1 -1
  135. package/dist/exports/client/index.js +22 -19
  136. package/dist/exports/client/index.js.map +4 -4
  137. package/dist/fields/Array/index.scss +74 -72
  138. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +25 -23
  139. package/dist/fields/Blocks/BlocksDrawer/index.scss +36 -34
  140. package/dist/fields/Blocks/SectionTitle/index.scss +51 -49
  141. package/dist/fields/Blocks/index.scss +89 -87
  142. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  143. package/dist/fields/Checkbox/index.js +1 -0
  144. package/dist/fields/Checkbox/index.js.map +1 -1
  145. package/dist/fields/Checkbox/index.scss +107 -105
  146. package/dist/fields/Code/index.scss +18 -16
  147. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  148. package/dist/fields/Collapsible/index.scss +8 -6
  149. package/dist/fields/ConfirmPassword/index.scss +18 -16
  150. package/dist/fields/DateTime/index.scss +13 -11
  151. package/dist/fields/Email/index.scss +21 -19
  152. package/dist/fields/FieldDescription/index.scss +9 -7
  153. package/dist/fields/FieldError/index.scss +13 -11
  154. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  155. package/dist/fields/FieldLabel/index.js +58 -30
  156. package/dist/fields/FieldLabel/index.js.map +1 -1
  157. package/dist/fields/FieldLabel/index.scss +34 -10
  158. package/dist/fields/Group/index.scss +107 -105
  159. package/dist/fields/JSON/index.scss +11 -9
  160. package/dist/fields/Number/index.scss +19 -17
  161. package/dist/fields/Password/index.scss +18 -16
  162. package/dist/fields/Point/index.scss +33 -31
  163. package/dist/fields/RadioGroup/Radio/index.scss +58 -56
  164. package/dist/fields/RadioGroup/index.d.ts +1 -0
  165. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  166. package/dist/fields/RadioGroup/index.js +33 -30
  167. package/dist/fields/RadioGroup/index.js.map +1 -1
  168. package/dist/fields/RadioGroup/index.scss +57 -55
  169. package/dist/fields/Relationship/index.scss +44 -42
  170. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +40 -38
  171. package/dist/fields/Relationship/select-components/SingleValue/index.scss +43 -41
  172. package/dist/fields/Row/index.scss +31 -29
  173. package/dist/fields/Select/index.scss +16 -14
  174. package/dist/fields/Tabs/Tab/index.scss +58 -56
  175. package/dist/fields/Tabs/index.d.ts.map +1 -1
  176. package/dist/fields/Tabs/index.js +69 -53
  177. package/dist/fields/Tabs/index.js.map +1 -1
  178. package/dist/fields/Tabs/index.scss +46 -44
  179. package/dist/fields/Text/index.scss +23 -21
  180. package/dist/fields/Textarea/index.scss +89 -87
  181. package/dist/fields/Upload/HasMany/index.scss +20 -18
  182. package/dist/fields/Upload/HasOne/index.scss +5 -3
  183. package/dist/fields/Upload/Input.d.ts.map +1 -1
  184. package/dist/fields/Upload/Input.js +39 -36
  185. package/dist/fields/Upload/Input.js.map +1 -1
  186. package/dist/fields/Upload/RelationshipContent/index.scss +44 -42
  187. package/dist/fields/Upload/UploadCard/index.scss +21 -19
  188. package/dist/fields/Upload/index.scss +49 -47
  189. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  190. package/dist/forms/Form/fieldReducer.js +7 -0
  191. package/dist/forms/Form/fieldReducer.js.map +1 -1
  192. package/dist/forms/Form/index.scss +5 -3
  193. package/dist/forms/RenderFields/index.scss +47 -45
  194. package/dist/forms/Submit/index.scss +5 -3
  195. package/dist/forms/useField/index.d.ts.map +1 -1
  196. package/dist/forms/useField/index.js +1 -1
  197. package/dist/forms/useField/index.js.map +1 -1
  198. package/dist/graphics/Account/Default/index.scss +43 -41
  199. package/dist/icons/Calendar/index.scss +8 -6
  200. package/dist/icons/Check/index.scss +9 -7
  201. package/dist/icons/Chevron/index.scss +18 -16
  202. package/dist/icons/CloseMenu/index.scss +7 -5
  203. package/dist/icons/Copy/index.scss +9 -7
  204. package/dist/icons/DragHandle/index.scss +9 -7
  205. package/dist/icons/Edit/index.scss +9 -7
  206. package/dist/icons/Line/index.scss +8 -6
  207. package/dist/icons/Link/index.scss +8 -6
  208. package/dist/icons/Lock/index.scss +6 -4
  209. package/dist/icons/LogOut/index.scss +8 -6
  210. package/dist/icons/Menu/index.scss +6 -4
  211. package/dist/icons/More/index.scss +8 -6
  212. package/dist/icons/Plus/index.scss +6 -4
  213. package/dist/icons/Search/index.scss +8 -6
  214. package/dist/icons/Swap/index.scss +9 -7
  215. package/dist/icons/X/index.scss +6 -4
  216. package/dist/providers/Auth/index.d.ts +9 -4
  217. package/dist/providers/Auth/index.d.ts.map +1 -1
  218. package/dist/providers/Auth/index.js +51 -56
  219. package/dist/providers/Auth/index.js.map +1 -1
  220. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  221. package/dist/providers/Config/createClientConfig/fields.js +21 -3
  222. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  223. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  224. package/dist/providers/DocumentInfo/index.js +4 -0
  225. package/dist/providers/DocumentInfo/index.js.map +1 -1
  226. package/dist/providers/Selection/index.js +3 -3
  227. package/dist/providers/Selection/index.js.map +1 -1
  228. package/dist/scss/app.scss +166 -162
  229. package/dist/scss/colors.scss +256 -254
  230. package/dist/scss/resets.scss +9 -7
  231. package/dist/scss/toastify.scss +42 -40
  232. package/dist/scss/toasts.scss +105 -103
  233. package/dist/scss/type.scss +81 -79
  234. package/dist/styles.css +1 -1
  235. package/package.json +8 -8
  236. /package/dist/exports/client/{DatePicker-HNJMUG32.js.map → DatePicker-FUJV23KL.js.map} +0 -0
@@ -1,277 +1,279 @@
1
1
  @import '../../../scss/styles.scss';
2
2
 
3
- .file-selections {
4
- --file-gutter-h: calc(var(--gutter-h) / 4);
5
- border-right: 1px solid var(--theme-border-color);
6
- padding: 0;
7
- display: flex;
8
- flex-direction: column;
9
- width: 300px;
10
- overflow: auto;
11
- max-height: 100%;
12
-
13
- &__header {
14
- position: sticky;
15
- top: 0;
16
- margin-top: var(--base);
17
- z-index: 1;
18
- display: flex;
19
- align-items: center;
20
- justify-content: space-between;
21
- width: 100%;
22
- background: var(--theme-bg);
23
- flex-wrap: wrap;
24
-
25
- p {
26
- margin: 0;
27
- }
28
- }
29
-
30
- &__headerTopRow {
31
- display: flex;
32
- align-items: center;
33
- justify-content: space-between;
34
- gap: var(--base);
35
- width: 100%;
36
- padding-block: var(--base);
37
- padding-inline: var(--file-gutter-h);
38
- }
39
-
40
- &__header__text {
3
+ @layer payload-default {
4
+ .file-selections {
5
+ --file-gutter-h: calc(var(--gutter-h) / 4);
6
+ border-right: 1px solid var(--theme-border-color);
7
+ padding: 0;
41
8
  display: flex;
42
9
  flex-direction: column;
10
+ width: 300px;
11
+ overflow: auto;
12
+ max-height: 100%;
43
13
 
44
- .error-pill {
45
- align-self: flex-start;
46
- }
47
- }
48
-
49
- &__filesContainer {
50
- display: flex;
51
- flex-direction: column;
52
- gap: calc(var(--base) / 4);
53
- margin-top: calc(var(--base) / 2);
54
- width: 100%;
55
- padding-inline: var(--file-gutter-h);
14
+ &__header {
15
+ position: sticky;
16
+ top: 0;
17
+ margin-top: var(--base);
18
+ z-index: 1;
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: space-between;
22
+ width: 100%;
23
+ background: var(--theme-bg);
24
+ flex-wrap: wrap;
56
25
 
57
- .shimmer-effect {
58
- border-radius: var(--style-radius-m);
26
+ p {
27
+ margin: 0;
28
+ }
59
29
  }
60
- }
61
30
 
62
- &__fileRowContainer {
63
- --rowPadding: calc(var(--base) / 4);
64
- position: relative;
65
- &:last-child {
66
- margin-bottom: calc(var(--base) / 4);
31
+ &__headerTopRow {
32
+ display: flex;
33
+ align-items: center;
34
+ justify-content: space-between;
35
+ gap: var(--base);
36
+ width: 100%;
37
+ padding-block: var(--base);
38
+ padding-inline: var(--file-gutter-h);
67
39
  }
68
- }
69
40
 
70
- &__fileRow {
71
- @include btn-reset;
72
- display: flex;
73
- padding: var(--rowPadding);
74
- align-items: center;
75
- gap: calc(var(--base) / 2);
76
- border-radius: var(--style-radius-m);
77
- max-width: 100%;
78
- cursor: pointer;
79
- width: 100%;
80
-
81
- &:hover {
82
- background-color: var(--theme-elevation-100);
41
+ &__header__text {
42
+ display: flex;
43
+ flex-direction: column;
44
+
45
+ .error-pill {
46
+ align-self: flex-start;
47
+ }
83
48
  }
84
49
 
85
- .thumbnail {
86
- width: base(1.2);
87
- height: base(1.2);
88
- flex-shrink: 0;
89
- object-fit: cover;
90
- border-radius: var(--style-radius-s);
50
+ &__filesContainer {
51
+ display: flex;
52
+ flex-direction: column;
53
+ gap: calc(var(--base) / 4);
54
+ margin-top: calc(var(--base) / 2);
55
+ width: 100%;
56
+ padding-inline: var(--file-gutter-h);
57
+
58
+ .shimmer-effect {
59
+ border-radius: var(--style-radius-m);
60
+ }
91
61
  }
92
62
 
93
- p {
94
- margin: 0;
63
+ &__fileRowContainer {
64
+ --rowPadding: calc(var(--base) / 4);
65
+ position: relative;
66
+ &:last-child {
67
+ margin-bottom: calc(var(--base) / 4);
68
+ }
95
69
  }
96
- }
97
70
 
98
- &__fileDetails {
99
- display: flex;
100
- flex-direction: column;
101
- min-width: 0;
102
- }
71
+ &__fileRow {
72
+ @include btn-reset;
73
+ display: flex;
74
+ padding: var(--rowPadding);
75
+ align-items: center;
76
+ gap: calc(var(--base) / 2);
77
+ border-radius: var(--style-radius-m);
78
+ max-width: 100%;
79
+ cursor: pointer;
80
+ width: 100%;
103
81
 
104
- &__fileRowContainer--active {
105
- .file-selections__fileRow {
106
- background-color: var(--theme-elevation-100);
107
- }
82
+ &:hover {
83
+ background-color: var(--theme-elevation-100);
84
+ }
108
85
 
109
- .file-selections__remove {
110
- .icon--x {
111
- opacity: 1;
86
+ .thumbnail {
87
+ width: base(1.2);
88
+ height: base(1.2);
89
+ flex-shrink: 0;
90
+ object-fit: cover;
91
+ border-radius: var(--style-radius-s);
112
92
  }
113
- }
114
- }
115
93
 
116
- &__fileRowContainer--error {
117
- .file-selections__fileRow {
118
- background-color: var(--theme-error-100);
94
+ p {
95
+ margin: 0;
96
+ }
119
97
  }
120
98
 
121
- &.file-selections__fileRowContainer--active .file-selections__fileRow,
122
- .file-selections__fileRow:hover {
123
- background-color: var(--theme-error-200);
99
+ &__fileDetails {
100
+ display: flex;
101
+ flex-direction: column;
102
+ min-width: 0;
124
103
  }
125
104
 
126
- .file-selections__remove--overlay:hover {
127
- background-color: var(--theme-error-50);
105
+ &__fileRowContainer--active {
106
+ .file-selections__fileRow {
107
+ background-color: var(--theme-elevation-100);
108
+ }
128
109
 
129
- .icon--x {
130
- opacity: 1;
110
+ .file-selections__remove {
111
+ .icon--x {
112
+ opacity: 1;
113
+ }
131
114
  }
132
115
  }
133
- }
134
-
135
- &__errorCount {
136
- margin-left: auto;
137
- position: absolute;
138
- transform: translate(50%, -50%);
139
- top: 0;
140
- right: 0;
141
- }
142
116
 
143
- &__fileName {
144
- white-space: nowrap;
145
- overflow: hidden;
146
- text-overflow: ellipsis;
147
- }
117
+ &__fileRowContainer--error {
118
+ .file-selections__fileRow {
119
+ background-color: var(--theme-error-100);
120
+ }
148
121
 
149
- &__fileSize {
150
- font-size: calc(var(--base) / 2);
151
- color: var(--theme-elvation-400);
152
- flex-shrink: 0;
153
- }
122
+ &.file-selections__fileRowContainer--active .file-selections__fileRow,
123
+ .file-selections__fileRow:hover {
124
+ background-color: var(--theme-error-200);
125
+ }
154
126
 
155
- &__remove {
156
- @include btn-reset;
157
- margin: 0;
158
- margin-left: auto;
127
+ .file-selections__remove--overlay:hover {
128
+ background-color: var(--theme-error-50);
159
129
 
160
- .icon--x {
161
- opacity: 0.75;
130
+ .icon--x {
131
+ opacity: 1;
132
+ }
133
+ }
162
134
  }
163
- }
164
135
 
165
- &__remove--underlay {
166
- pointer-events: none;
167
- opacity: 0;
168
- }
136
+ &__errorCount {
137
+ margin-left: auto;
138
+ position: absolute;
139
+ transform: translate(50%, -50%);
140
+ top: 0;
141
+ right: 0;
142
+ }
169
143
 
170
- &__remove--overlay {
171
- position: absolute;
172
- transform: translateY(-50%);
173
- top: 50%;
174
- bottom: 50%;
175
- right: var(--rowPadding);
176
- height: 20px;
177
- border-radius: var(--style-radius-m);
178
- cursor: pointer;
179
-
180
- &:hover {
181
- background-color: var(--theme-elevation-200);
144
+ &__fileName {
145
+ white-space: nowrap;
146
+ overflow: hidden;
147
+ text-overflow: ellipsis;
182
148
  }
183
- }
184
149
 
185
- &__header__actions {
186
- display: flex;
187
- gap: var(--base);
188
- }
150
+ &__fileSize {
151
+ font-size: calc(var(--base) / 2);
152
+ color: var(--theme-elvation-400);
153
+ flex-shrink: 0;
154
+ }
189
155
 
190
- &__toggler {
191
- display: none;
192
- margin: 0;
193
- padding-block: 0;
194
- }
156
+ &__remove {
157
+ @include btn-reset;
158
+ margin: 0;
159
+ margin-left: auto;
195
160
 
196
- &__header__mobileDocActions {
197
- display: none;
198
- }
161
+ .icon--x {
162
+ opacity: 0.75;
163
+ }
164
+ }
199
165
 
200
- &__animateWrapper {
201
- overflow: auto;
202
- }
166
+ &__remove--underlay {
167
+ pointer-events: none;
168
+ opacity: 0;
169
+ }
203
170
 
204
- &__mobileBlur {
205
- @include blur-bg;
206
- position: fixed;
207
- top: 0;
208
- left: 0;
209
- width: 100%;
210
- height: 100%;
211
- opacity: 0;
212
- transition: opacity 100ms cubic-bezier(0, 0.2, 0.2, 1);
213
- }
171
+ &__remove--overlay {
172
+ position: absolute;
173
+ transform: translateY(-50%);
174
+ top: 50%;
175
+ bottom: 50%;
176
+ right: var(--rowPadding);
177
+ height: 20px;
178
+ border-radius: var(--style-radius-m);
179
+ cursor: pointer;
214
180
 
215
- &__showingFiles {
216
- .file-selections__mobileBlur {
217
- opacity: 1;
181
+ &:hover {
182
+ background-color: var(--theme-elevation-200);
183
+ }
218
184
  }
219
- }
220
185
 
221
- @include mid-break {
222
- --file-gutter-h: var(--gutter-h);
223
- flex-direction: column-reverse;
224
- width: 100%;
225
- position: sticky;
226
- bottom: 0;
227
- flex-shrink: 0;
186
+ &__header__actions {
187
+ display: flex;
188
+ gap: var(--base);
189
+ }
228
190
 
229
- &__showingFiles {
230
- z-index: 2;
191
+ &__toggler {
192
+ display: none;
193
+ margin: 0;
194
+ padding-block: 0;
231
195
  }
232
196
 
233
- &__filesContainer {
234
- @include blur-bg;
197
+ &__header__mobileDocActions {
198
+ display: none;
235
199
  }
236
200
 
237
- &__fileRowContainer {
238
- z-index: 1;
201
+ &__animateWrapper {
202
+ overflow: auto;
239
203
  }
240
204
 
241
- &__header {
242
- margin-top: 0;
205
+ &__mobileBlur {
206
+ @include blur-bg;
207
+ position: fixed;
208
+ top: 0;
209
+ left: 0;
210
+ width: 100%;
211
+ height: 100%;
212
+ opacity: 0;
213
+ transition: opacity 100ms cubic-bezier(0, 0.2, 0.2, 1);
243
214
  }
244
215
 
245
- &__headerTopRow {
246
- border-top: 1px solid var(--theme-border-color);
247
- padding-block: calc(var(--base) * 0.8);
216
+ &__showingFiles {
217
+ .file-selections__mobileBlur {
218
+ opacity: 1;
219
+ }
248
220
  }
249
221
 
250
- &__header__mobileDocActions {
251
- position: relative;
252
- display: flex;
222
+ @include mid-break {
223
+ --file-gutter-h: var(--gutter-h);
224
+ flex-direction: column-reverse;
253
225
  width: 100%;
254
- padding-block: calc(var(--base) * 0.8);
255
- padding-inline: var(--file-gutter-h);
256
- border-top: 1px solid var(--theme-border-color);
226
+ position: sticky;
227
+ bottom: 0;
228
+ flex-shrink: 0;
257
229
 
258
- > div {
230
+ &__showingFiles {
231
+ z-index: 2;
232
+ }
233
+
234
+ &__filesContainer {
235
+ @include blur-bg;
236
+ }
237
+
238
+ &__fileRowContainer {
239
+ z-index: 1;
240
+ }
241
+
242
+ &__header {
243
+ margin-top: 0;
244
+ }
245
+
246
+ &__headerTopRow {
247
+ border-top: 1px solid var(--theme-border-color);
248
+ padding-block: calc(var(--base) * 0.8);
249
+ }
250
+
251
+ &__header__mobileDocActions {
252
+ position: relative;
259
253
  display: flex;
260
- justify-content: flex-end;
261
254
  width: 100%;
262
- button {
263
- flex: 0.5;
255
+ padding-block: calc(var(--base) * 0.8);
256
+ padding-inline: var(--file-gutter-h);
257
+ border-top: 1px solid var(--theme-border-color);
258
+
259
+ > div {
260
+ display: flex;
261
+ justify-content: flex-end;
262
+ width: 100%;
263
+ button {
264
+ flex: 0.5;
265
+ }
264
266
  }
265
267
  }
266
- }
267
268
 
268
- &__toggler {
269
- padding-right: 0;
270
- display: block;
271
- }
269
+ &__toggler {
270
+ padding-right: 0;
271
+ display: block;
272
+ }
272
273
 
273
- .btn {
274
- margin: 0;
274
+ .btn {
275
+ margin: 0;
276
+ }
275
277
  }
276
278
  }
277
279
  }
@@ -1,12 +1,14 @@
1
- .bulk-upload--drawer-header {
2
- display: flex;
3
- justify-content: space-between;
4
- align-items: center;
5
- padding: calc(var(--base) * 2.5) var(--gutter-h);
6
- height: 48px;
7
- border-bottom: 1px solid var(--theme-border-color);
1
+ @layer payload-default {
2
+ .bulk-upload--drawer-header {
3
+ display: flex;
4
+ justify-content: space-between;
5
+ align-items: center;
6
+ padding: calc(var(--base) * 2.5) var(--gutter-h);
7
+ height: 48px;
8
+ border-bottom: 1px solid var(--theme-border-color);
8
9
 
9
- h2 {
10
- margin: 0;
10
+ h2 {
11
+ margin: 0;
12
+ }
11
13
  }
12
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/BulkUpload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAiCzB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAAA;AAED,wBAAgB,gBAAgB,sBAa/B;AAED,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,QAAQ,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,eAAe,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC1C,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,WAAW,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IAC9D,YAAY,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAA;CAClE,CAAA;AAeD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA8CtF;AAED,eAAO,MAAM,aAAa,yBAAkC,CAAA;AAE5D,wBAAgB,uBAAuB,WAItC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/BulkUpload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAuDzB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAAA;AAED,wBAAgB,gBAAgB,sBAa/B;AAED,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,QAAQ,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,eAAe,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC1C,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,WAAW,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IAC9D,YAAY,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAA;CAClE,CAAA;AAeD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA8CtF;AAED,eAAO,MAAM,aAAa,yBAAkC,CAAA;AAE5D,wBAAgB,uBAAuB,WAItC"}
@@ -4,6 +4,7 @@ import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { useModal } from '@faceless-ui/modal';
6
6
  import React from 'react';
7
+ import { useConfig } from '../../providers/Config/index.js';
7
8
  import { EditDepthProvider, useEditDepth } from '../../providers/EditDepth/index.js';
8
9
  import { Drawer } from '../Drawer/index.js';
9
10
  import { AddFilesView } from './AddFilesView/index.js';
@@ -11,7 +12,6 @@ import { AddingFilesView } from './AddingFilesView/index.js';
11
12
  import { FormsManagerProvider, useFormsManager } from './FormsManager/index.js';
12
13
  const drawerSlug = 'bulk-upload-drawer-slug';
13
14
  function DrawerContent() {
14
- const $ = _c(9);
15
15
  const {
16
16
  addFiles,
17
17
  forms,
@@ -24,52 +24,32 @@ function DrawerContent() {
24
24
  collectionSlug,
25
25
  drawerSlug
26
26
  } = useBulkUpload();
27
- let t0;
28
- if ($[0] !== addFiles) {
29
- t0 = acceptedFiles => {
30
- addFiles(acceptedFiles);
31
- };
32
- $[0] = addFiles;
33
- $[1] = t0;
34
- } else {
35
- t0 = $[1];
36
- }
37
- const onDrop = t0;
27
+ const {
28
+ config
29
+ } = useConfig();
30
+ const uploadCollection = config.collections.find(col => col.slug === collectionSlug);
31
+ const uploadConfig = uploadCollection.upload;
32
+ const uploadMimeTypes = uploadConfig.mimeTypes;
33
+ const onDrop = React.useCallback(acceptedFiles => {
34
+ const fileTransfer = new DataTransfer();
35
+ for (const candidateFile of acceptedFiles) {
36
+ if (uploadMimeTypes === undefined || uploadMimeTypes.length === 0 || uploadMimeTypes?.includes(candidateFile.type)) {
37
+ fileTransfer.items.add(candidateFile);
38
+ }
39
+ }
40
+ void addFiles(fileTransfer.files);
41
+ }, [addFiles, uploadMimeTypes]);
38
42
  if (!collectionSlug) {
39
43
  return null;
40
44
  }
41
45
  if (!forms.length && !isInitializing) {
42
- let t1;
43
- if ($[2] !== closeModal || $[3] !== drawerSlug) {
44
- t1 = () => closeModal(drawerSlug);
45
- $[2] = closeModal;
46
- $[3] = drawerSlug;
47
- $[4] = t1;
48
- } else {
49
- t1 = $[4];
50
- }
51
- let t2;
52
- if ($[5] !== t1 || $[6] !== onDrop) {
53
- t2 = _jsx(AddFilesView, {
54
- onCancel: t1,
55
- onDrop
56
- });
57
- $[5] = t1;
58
- $[6] = onDrop;
59
- $[7] = t2;
60
- } else {
61
- t2 = $[7];
62
- }
63
- return t2;
46
+ return /*#__PURE__*/_jsx(AddFilesView, {
47
+ acceptMimeTypes: uploadMimeTypes?.join(', '),
48
+ onCancel: () => closeModal(drawerSlug),
49
+ onDrop: onDrop
50
+ });
64
51
  } else {
65
- let t1;
66
- if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
67
- t1 = _jsx(AddingFilesView, {});
68
- $[8] = t1;
69
- } else {
70
- t1 = $[8];
71
- }
72
- return t1;
52
+ return /*#__PURE__*/_jsx(AddingFilesView, {});
73
53
  }
74
54
  }
75
55
  export function BulkUploadDrawer() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","EditDepthProvider","useEditDepth","Drawer","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","drawerSlug","DrawerContent","$","addFiles","forms","isInitializing","closeModal","collectionSlug","useBulkUpload","t0","acceptedFiles","onDrop","length","t1","t2","_jsx","onCancel","BulkUploadDrawer","currentDepth","depth","children","gutter","Header","slug","Context","createContext","initialFiles","undefined","maxFiles","onSuccess","setCollectionSlug","setInitialFiles","setMaxFiles","setOnCancel","setOnSuccess","BulkUploadProvider","collection","setCollection","useState","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadDrawerSlug","Symbol","for","t3","t4","docIDs","errorCount","t5","Provider","value","_jsxs","Fragment","useContext"],"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { EditDepthProvider, useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { AddFilesView } from './AddFilesView/index.js'\nimport { AddingFilesView } from './AddingFilesView/index.js'\nimport { FormsManagerProvider, useFormsManager } from './FormsManager/index.js'\n\nconst drawerSlug = 'bulk-upload-drawer-slug'\n\nfunction DrawerContent() {\n const { addFiles, forms, isInitializing } = useFormsManager()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug } = useBulkUpload()\n\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n void addFiles(acceptedFiles)\n },\n [addFiles],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return <AddFilesView onCancel={() => closeModal(drawerSlug)} onDrop={onDrop} />\n } else {\n return <AddingFilesView />\n }\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadDrawer() {\n const currentDepth = useEditDepth()\n const { drawerSlug } = useBulkUpload()\n\n return (\n <EditDepthProvider depth={currentDepth || 1}>\n <Drawer gutter={false} Header={null} slug={drawerSlug}>\n <FormsManagerProvider>\n <DrawerContent />\n </FormsManagerProvider>\n </Drawer>\n </EditDepthProvider>\n )\n}\n\ntype BulkUploadContext = {\n collectionSlug: string\n drawerSlug: string\n initialFiles: FileList\n maxFiles: number\n onCancel: () => void\n onSuccess: (newDocs: JsonObject[], errorCount: number) => void\n setCollectionSlug: (slug: string) => void\n setInitialFiles: (files: FileList) => void\n setMaxFiles: (maxFiles: number) => void\n setOnCancel: (onCancel: BulkUploadContext['onCancel']) => void\n setOnSuccess: (onSuccess: BulkUploadContext['onSuccess']) => void\n}\n\nconst Context = React.createContext<BulkUploadContext>({\n collectionSlug: '',\n drawerSlug: '',\n initialFiles: undefined,\n maxFiles: undefined,\n onCancel: () => null,\n onSuccess: () => null,\n setCollectionSlug: () => null,\n setInitialFiles: () => null,\n setMaxFiles: () => null,\n setOnCancel: () => null,\n setOnSuccess: () => null,\n})\nexport function BulkUploadProvider({ children }: { readonly children: React.ReactNode }) {\n const [collection, setCollection] = React.useState<string>()\n const [onSuccessFunction, setOnSuccessFunction] = React.useState<BulkUploadContext['onSuccess']>()\n const [onCancelFunction, setOnCancelFunction] = React.useState<BulkUploadContext['onCancel']>()\n const [initialFiles, setInitialFiles] = React.useState<FileList>(undefined)\n const [maxFiles, setMaxFiles] = React.useState<number>(undefined)\n const drawerSlug = useBulkUploadDrawerSlug()\n\n const setCollectionSlug: BulkUploadContext['setCollectionSlug'] = (slug) => {\n setCollection(slug)\n }\n\n const setOnSuccess: BulkUploadContext['setOnSuccess'] = (onSuccess) => {\n setOnSuccessFunction(() => onSuccess)\n }\n\n return (\n <Context.Provider\n value={{\n collectionSlug: collection,\n drawerSlug,\n initialFiles,\n maxFiles,\n onCancel: () => {\n if (typeof onCancelFunction === 'function') {\n onCancelFunction()\n }\n },\n onSuccess: (docIDs, errorCount) => {\n if (typeof onSuccessFunction === 'function') {\n onSuccessFunction(docIDs, errorCount)\n }\n },\n setCollectionSlug,\n setInitialFiles,\n setMaxFiles,\n setOnCancel: setOnCancelFunction,\n setOnSuccess,\n }}\n >\n <React.Fragment>\n {children}\n <BulkUploadDrawer />\n </React.Fragment>\n </Context.Provider>\n )\n}\n\nexport const useBulkUpload = () => React.useContext(Context)\n\nexport function useBulkUploadDrawerSlug() {\n const depth = useEditDepth()\n\n return `${drawerSlug}-${depth || 1}`\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useConfig","EditDepthProvider","useEditDepth","Drawer","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","drawerSlug","DrawerContent","addFiles","forms","isInitializing","closeModal","collectionSlug","useBulkUpload","config","uploadCollection","collections","find","col","slug","uploadConfig","upload","uploadMimeTypes","mimeTypes","onDrop","useCallback","acceptedFiles","fileTransfer","DataTransfer","candidateFile","undefined","length","includes","type","items","add","files","_jsx","acceptMimeTypes","join","onCancel","BulkUploadDrawer","$","currentDepth","t0","t1","depth","children","gutter","Header","Context","createContext","initialFiles","maxFiles","onSuccess","setCollectionSlug","setInitialFiles","setMaxFiles","setOnCancel","setOnSuccess","BulkUploadProvider","collection","setCollection","useState","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadDrawerSlug","Symbol","for","t2","t3","t4","docIDs","errorCount","t5","Provider","value","_jsxs","Fragment","useContext"],"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { EditDepthProvider, useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { AddFilesView } from './AddFilesView/index.js'\nimport { AddingFilesView } from './AddingFilesView/index.js'\nimport { FormsManagerProvider, useFormsManager } from './FormsManager/index.js'\n\nconst drawerSlug = 'bulk-upload-drawer-slug'\n\nfunction DrawerContent() {\n const { addFiles, forms, isInitializing } = useFormsManager()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug } = useBulkUpload()\n const { config } = useConfig()\n\n const uploadCollection = config.collections.find((col) => col.slug === collectionSlug)\n const uploadConfig = uploadCollection.upload\n const uploadMimeTypes = uploadConfig.mimeTypes\n\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n const fileTransfer = new DataTransfer()\n for (const candidateFile of acceptedFiles) {\n if (\n uploadMimeTypes === undefined ||\n uploadMimeTypes.length === 0 ||\n uploadMimeTypes?.includes(candidateFile.type)\n ) {\n fileTransfer.items.add(candidateFile)\n }\n }\n void addFiles(fileTransfer.files)\n },\n [addFiles, uploadMimeTypes],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return (\n <AddFilesView\n acceptMimeTypes={uploadMimeTypes?.join(', ')}\n onCancel={() => closeModal(drawerSlug)}\n onDrop={onDrop}\n />\n )\n } else {\n return <AddingFilesView />\n }\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadDrawer() {\n const currentDepth = useEditDepth()\n const { drawerSlug } = useBulkUpload()\n\n return (\n <EditDepthProvider depth={currentDepth || 1}>\n <Drawer gutter={false} Header={null} slug={drawerSlug}>\n <FormsManagerProvider>\n <DrawerContent />\n </FormsManagerProvider>\n </Drawer>\n </EditDepthProvider>\n )\n}\n\ntype BulkUploadContext = {\n collectionSlug: string\n drawerSlug: string\n initialFiles: FileList\n maxFiles: number\n onCancel: () => void\n onSuccess: (newDocs: JsonObject[], errorCount: number) => void\n setCollectionSlug: (slug: string) => void\n setInitialFiles: (files: FileList) => void\n setMaxFiles: (maxFiles: number) => void\n setOnCancel: (onCancel: BulkUploadContext['onCancel']) => void\n setOnSuccess: (onSuccess: BulkUploadContext['onSuccess']) => void\n}\n\nconst Context = React.createContext<BulkUploadContext>({\n collectionSlug: '',\n drawerSlug: '',\n initialFiles: undefined,\n maxFiles: undefined,\n onCancel: () => null,\n onSuccess: () => null,\n setCollectionSlug: () => null,\n setInitialFiles: () => null,\n setMaxFiles: () => null,\n setOnCancel: () => null,\n setOnSuccess: () => null,\n})\nexport function BulkUploadProvider({ children }: { readonly children: React.ReactNode }) {\n const [collection, setCollection] = React.useState<string>()\n const [onSuccessFunction, setOnSuccessFunction] = React.useState<BulkUploadContext['onSuccess']>()\n const [onCancelFunction, setOnCancelFunction] = React.useState<BulkUploadContext['onCancel']>()\n const [initialFiles, setInitialFiles] = React.useState<FileList>(undefined)\n const [maxFiles, setMaxFiles] = React.useState<number>(undefined)\n const drawerSlug = useBulkUploadDrawerSlug()\n\n const setCollectionSlug: BulkUploadContext['setCollectionSlug'] = (slug) => {\n setCollection(slug)\n }\n\n const setOnSuccess: BulkUploadContext['setOnSuccess'] = (onSuccess) => {\n setOnSuccessFunction(() => onSuccess)\n }\n\n return (\n <Context.Provider\n value={{\n collectionSlug: collection,\n drawerSlug,\n initialFiles,\n maxFiles,\n onCancel: () => {\n if (typeof onCancelFunction === 'function') {\n onCancelFunction()\n }\n },\n onSuccess: (docIDs, errorCount) => {\n if (typeof onSuccessFunction === 'function') {\n onSuccessFunction(docIDs, errorCount)\n }\n },\n setCollectionSlug,\n setInitialFiles,\n setMaxFiles,\n setOnCancel: setOnCancelFunction,\n setOnSuccess,\n }}\n >\n <React.Fragment>\n {children}\n <BulkUploadDrawer />\n </React.Fragment>\n </Context.Provider>\n )\n}\n\nexport const useBulkUpload = () => React.useContext(Context)\n\nexport function useBulkUploadDrawerSlug() {\n const depth = useEditDepth()\n\n return `${drawerSlug}-${depth || 1}`\n}\n"],"mappings":"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","ignoreList":[]}