payload 2.0.0-beta.8 → 2.0.0

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 (351) hide show
  1. package/README.md +132 -0
  2. package/config.d.ts +1 -0
  3. package/config.js +5 -1
  4. package/database.d.ts +1 -2
  5. package/database.js +1 -8
  6. package/dist/admin/Root.d.ts +5 -1
  7. package/dist/admin/Root.d.ts.map +1 -1
  8. package/dist/admin/Root.js +3 -3
  9. package/dist/admin/components/elements/ArrayAction/index.js +2 -2
  10. package/dist/admin/components/elements/DocumentControls/index.d.ts +1 -1
  11. package/dist/admin/components/elements/DocumentControls/index.d.ts.map +1 -1
  12. package/dist/admin/components/elements/DocumentControls/index.js +2 -3
  13. package/dist/admin/components/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  14. package/dist/admin/components/elements/DocumentDrawer/DrawerContent.js +5 -2
  15. package/dist/admin/components/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  16. package/dist/admin/components/elements/DocumentHeader/Tabs/Tab/index.js +7 -3
  17. package/dist/admin/components/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  18. package/dist/admin/components/elements/DocumentHeader/Tabs/index.js +4 -2
  19. package/dist/admin/components/elements/DocumentHeader/Tabs/index.scss +6 -10
  20. package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.d.ts.map +1 -1
  21. package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.js +10 -2
  22. package/dist/admin/components/elements/DocumentHeader/Tabs/types.d.ts +4 -0
  23. package/dist/admin/components/elements/DocumentHeader/Tabs/types.d.ts.map +1 -1
  24. package/dist/admin/components/elements/Drawer/index.d.ts.map +1 -1
  25. package/dist/admin/components/elements/Drawer/index.js +4 -3
  26. package/dist/admin/components/elements/Drawer/types.d.ts +1 -0
  27. package/dist/admin/components/elements/Drawer/types.d.ts.map +1 -1
  28. package/dist/admin/components/elements/Dropzone/index.d.ts +10 -0
  29. package/dist/admin/components/elements/Dropzone/index.d.ts.map +1 -0
  30. package/dist/admin/components/elements/Dropzone/index.js +120 -0
  31. package/dist/admin/components/elements/Dropzone/index.scss +52 -0
  32. package/dist/admin/components/elements/DuplicateDocument/index.d.ts.map +1 -1
  33. package/dist/admin/components/elements/DuplicateDocument/index.js +4 -3
  34. package/dist/admin/components/elements/EditUpload/index.d.ts +13 -0
  35. package/dist/admin/components/elements/EditUpload/index.d.ts.map +1 -0
  36. package/dist/admin/components/elements/EditUpload/index.js +378 -0
  37. package/dist/admin/components/elements/EditUpload/index.scss +218 -0
  38. package/dist/admin/components/elements/FileDetails/index.d.ts.map +1 -1
  39. package/dist/admin/components/elements/FileDetails/index.js +14 -99
  40. package/dist/admin/components/elements/FileDetails/index.scss +21 -0
  41. package/dist/admin/components/elements/FileDetails/types.d.ts +3 -0
  42. package/dist/admin/components/elements/FileDetails/types.d.ts.map +1 -1
  43. package/dist/admin/components/elements/Hamburger/index.d.ts.map +1 -1
  44. package/dist/admin/components/elements/Hamburger/index.js +12 -16
  45. package/dist/admin/components/elements/Hamburger/index.scss +41 -54
  46. package/dist/admin/components/elements/Header/index.d.ts.map +1 -1
  47. package/dist/admin/components/elements/Header/index.js +6 -6
  48. package/dist/admin/components/elements/Header/index.scss +6 -1
  49. package/dist/admin/components/elements/Localizer/index.d.ts.map +1 -1
  50. package/dist/admin/components/elements/Localizer/index.js +1 -3
  51. package/dist/admin/components/elements/Nav/NavToggler/index.d.ts.map +1 -1
  52. package/dist/admin/components/elements/Nav/NavToggler/index.js +2 -1
  53. package/dist/admin/components/elements/Nav/NavToggler/index.scss +4 -0
  54. package/dist/admin/components/elements/Nav/context.d.ts +1 -1
  55. package/dist/admin/components/elements/Nav/context.d.ts.map +1 -1
  56. package/dist/admin/components/elements/Nav/context.js +12 -7
  57. package/dist/admin/components/elements/Nav/index.d.ts.map +1 -1
  58. package/dist/admin/components/elements/Nav/index.js +19 -18
  59. package/dist/admin/components/elements/Nav/index.scss +3 -1
  60. package/dist/admin/components/elements/PreviewSizes/index.d.ts +14 -0
  61. package/dist/admin/components/elements/PreviewSizes/index.d.ts.map +1 -0
  62. package/dist/admin/components/elements/PreviewSizes/index.js +146 -0
  63. package/dist/admin/components/elements/PreviewSizes/index.scss +146 -0
  64. package/dist/admin/components/elements/Thumbnail/index.d.ts.map +1 -1
  65. package/dist/admin/components/elements/Thumbnail/index.js +61 -7
  66. package/dist/admin/components/elements/Thumbnail/types.d.ts +4 -2
  67. package/dist/admin/components/elements/Thumbnail/types.d.ts.map +1 -1
  68. package/dist/admin/components/elements/WhereBuilder/Condition/index.js +6 -6
  69. package/dist/admin/components/elements/WhereBuilder/field-types.js +2 -2
  70. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.d.ts +3 -1
  71. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  72. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.js +12 -6
  73. package/dist/admin/components/forms/Form/buildStateFromSchema/index.d.ts +4 -2
  74. package/dist/admin/components/forms/Form/buildStateFromSchema/index.d.ts.map +1 -1
  75. package/dist/admin/components/forms/Form/buildStateFromSchema/index.js +3 -2
  76. package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.d.ts +3 -1
  77. package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  78. package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.js +3 -2
  79. package/dist/admin/components/forms/Form/fieldReducer.js +7 -7
  80. package/dist/admin/components/forms/Form/index.d.ts.map +1 -1
  81. package/dist/admin/components/forms/Form/index.js +23 -8
  82. package/dist/admin/components/forms/Form/types.d.ts +1 -0
  83. package/dist/admin/components/forms/Form/types.d.ts.map +1 -1
  84. package/dist/admin/components/forms/field-types/Array/index.d.ts.map +1 -1
  85. package/dist/admin/components/forms/field-types/Array/index.js +10 -10
  86. package/dist/admin/components/forms/field-types/Blocks/index.js +8 -8
  87. package/dist/admin/components/forms/field-types/Checkbox/index.scss +4 -0
  88. package/dist/admin/components/forms/field-types/RichText/index.d.ts.map +1 -1
  89. package/dist/admin/components/forms/field-types/RichText/index.js +2 -4
  90. package/dist/admin/components/forms/field-types/RichText/types.d.ts +2 -1
  91. package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
  92. package/dist/admin/components/forms/field-types/Select/Input.d.ts.map +1 -1
  93. package/dist/admin/components/forms/field-types/Select/Input.js +4 -4
  94. package/dist/admin/components/forms/field-types/Upload/index.scss +1 -5
  95. package/dist/admin/components/forms/useField/index.d.ts.map +1 -1
  96. package/dist/admin/components/forms/useField/index.js +4 -1
  97. package/dist/admin/components/icons/MinimizeMaximize/index.d.ts +8 -0
  98. package/dist/admin/components/icons/MinimizeMaximize/index.d.ts.map +1 -0
  99. package/dist/admin/components/icons/MinimizeMaximize/index.js +85 -0
  100. package/dist/admin/components/templates/Default/index.d.ts.map +1 -1
  101. package/dist/admin/components/templates/Default/index.js +10 -10
  102. package/dist/admin/components/templates/Default/index.scss +39 -6
  103. package/dist/admin/components/utilities/FormQueryParams/index.d.ts +17 -0
  104. package/dist/admin/components/utilities/FormQueryParams/index.d.ts.map +1 -0
  105. package/dist/admin/components/utilities/FormQueryParams/index.js +23 -0
  106. package/dist/admin/components/utilities/Locale/index.d.ts +2 -2
  107. package/dist/admin/components/utilities/Locale/index.d.ts.map +1 -1
  108. package/dist/admin/components/utilities/Locale/index.js +2 -2
  109. package/dist/admin/components/utilities/OperationProvider/index.d.ts +1 -1
  110. package/dist/admin/components/utilities/OperationProvider/index.d.ts.map +1 -1
  111. package/dist/admin/components/utilities/OperationProvider/index.js +2 -2
  112. package/dist/admin/components/utilities/RenderCustomComponent/types.d.ts +1 -1
  113. package/dist/admin/components/utilities/RenderCustomComponent/types.d.ts.map +1 -1
  114. package/dist/admin/components/views/API/index.d.ts +6 -0
  115. package/dist/admin/components/views/API/index.d.ts.map +1 -0
  116. package/dist/admin/components/views/API/index.js +283 -0
  117. package/dist/admin/components/views/API/index.scss +203 -0
  118. package/dist/admin/components/views/Account/Default.d.ts.map +1 -1
  119. package/dist/admin/components/views/Account/Default.js +4 -4
  120. package/dist/admin/components/views/Account/index.d.ts.map +1 -1
  121. package/dist/admin/components/views/Account/index.js +15 -10
  122. package/dist/admin/components/views/Dashboard/index.d.ts.map +1 -1
  123. package/dist/admin/components/views/Dashboard/index.js +3 -5
  124. package/dist/admin/components/views/Global/Default/index.scss +12 -0
  125. package/dist/admin/components/views/Global/Routes/CustomComponent.d.ts.map +1 -1
  126. package/dist/admin/components/views/Global/Routes/CustomComponent.js +3 -2
  127. package/dist/admin/components/views/Global/Routes/custom.d.ts +2 -2
  128. package/dist/admin/components/views/Global/Routes/custom.d.ts.map +1 -1
  129. package/dist/admin/components/views/Global/Routes/custom.js +27 -18
  130. package/dist/admin/components/views/Global/Routes/index.d.ts.map +1 -1
  131. package/dist/admin/components/views/Global/Routes/index.js +11 -3
  132. package/dist/admin/components/views/Global/index.d.ts.map +1 -1
  133. package/dist/admin/components/views/Global/index.js +11 -4
  134. package/dist/admin/components/views/LivePreview/Context/context.d.ts +4 -4
  135. package/dist/admin/components/views/LivePreview/Context/context.d.ts.map +1 -1
  136. package/dist/admin/components/views/LivePreview/Context/context.js +1 -1
  137. package/dist/admin/components/views/LivePreview/Context/index.d.ts +2 -2
  138. package/dist/admin/components/views/LivePreview/Context/index.d.ts.map +1 -1
  139. package/dist/admin/components/views/LivePreview/Context/index.js +1 -1
  140. package/dist/admin/components/views/LivePreview/Device/index.js +2 -2
  141. package/dist/admin/components/views/LivePreview/DeviceContainer/index.js +3 -3
  142. package/dist/admin/components/views/LivePreview/Preview/index.d.ts +2 -0
  143. package/dist/admin/components/views/LivePreview/Preview/index.d.ts.map +1 -1
  144. package/dist/admin/components/views/LivePreview/Preview/index.js +30 -20
  145. package/dist/admin/components/views/LivePreview/Preview/index.scss +20 -6
  146. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.d.ts +5 -0
  147. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -0
  148. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.js +71 -0
  149. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.scss +54 -0
  150. package/dist/admin/components/views/LivePreview/Toolbar/index.d.ts +4 -1
  151. package/dist/admin/components/views/LivePreview/Toolbar/index.d.ts.map +1 -1
  152. package/dist/admin/components/views/LivePreview/Toolbar/index.js +24 -51
  153. package/dist/admin/components/views/LivePreview/Toolbar/index.scss +19 -60
  154. package/dist/admin/components/views/LivePreview/index.d.ts.map +1 -1
  155. package/dist/admin/components/views/LivePreview/index.js +26 -5
  156. package/dist/admin/components/views/LivePreview/index.scss +6 -2
  157. package/dist/admin/components/views/Login/index.js +3 -3
  158. package/dist/admin/components/views/Routes/collections.d.ts.map +1 -1
  159. package/dist/admin/components/views/Routes/collections.js +1 -1
  160. package/dist/admin/components/views/Routes/custom.d.ts +5 -4
  161. package/dist/admin/components/views/Routes/custom.d.ts.map +1 -1
  162. package/dist/admin/components/views/Routes/custom.js +23 -7
  163. package/dist/admin/components/views/Routes/globals.d.ts.map +1 -1
  164. package/dist/admin/components/views/Routes/globals.js +1 -1
  165. package/dist/admin/components/views/Routes/index.d.ts.map +1 -1
  166. package/dist/admin/components/views/Routes/index.js +12 -8
  167. package/dist/admin/components/views/Verify/index.js +1 -1
  168. package/dist/admin/components/views/collections/Edit/Default/index.d.ts.map +1 -1
  169. package/dist/admin/components/views/collections/Edit/Default/index.js +6 -6
  170. package/dist/admin/components/views/collections/Edit/Default/index.scss +12 -0
  171. package/dist/admin/components/views/collections/Edit/Routes/CustomComponent.js +3 -3
  172. package/dist/admin/components/views/collections/Edit/Routes/custom.d.ts.map +1 -1
  173. package/dist/admin/components/views/collections/Edit/Routes/custom.js +27 -18
  174. package/dist/admin/components/views/collections/Edit/Routes/index.d.ts.map +1 -1
  175. package/dist/admin/components/views/collections/Edit/Routes/index.js +4 -3
  176. package/dist/admin/components/views/collections/Edit/SetStepNav.js +3 -3
  177. package/dist/admin/components/views/collections/Edit/Upload/index.d.ts +7 -2
  178. package/dist/admin/components/views/collections/Edit/Upload/index.d.ts.map +1 -1
  179. package/dist/admin/components/views/collections/Edit/Upload/index.js +116 -121
  180. package/dist/admin/components/views/collections/Edit/Upload/index.scss +68 -68
  181. package/dist/admin/components/views/collections/Edit/Upload/types.d.ts +2 -3
  182. package/dist/admin/components/views/collections/Edit/Upload/types.d.ts.map +1 -1
  183. package/dist/admin/components/views/collections/Edit/formatFields.d.ts +1 -1
  184. package/dist/admin/components/views/collections/Edit/formatFields.d.ts.map +1 -1
  185. package/dist/admin/components/views/collections/Edit/formatFields.js +1 -1
  186. package/dist/admin/components/views/collections/Edit/index.d.ts.map +1 -1
  187. package/dist/admin/components/views/collections/Edit/index.js +36 -7
  188. package/dist/admin/components/views/collections/Edit/types.d.ts +12 -0
  189. package/dist/admin/components/views/collections/Edit/types.d.ts.map +1 -1
  190. package/dist/admin/components/views/collections/List/Cell/field-types/Code/index.d.ts +4 -1
  191. package/dist/admin/components/views/collections/List/Cell/field-types/Code/index.d.ts.map +1 -1
  192. package/dist/admin/components/views/collections/List/Cell/field-types/Code/index.js +7 -3
  193. package/dist/admin/components/views/collections/List/Cell/field-types/Code/index.scss +7 -2
  194. package/dist/admin/components/views/collections/List/Cell/field-types/Richtext/index.d.ts.map +1 -1
  195. package/dist/admin/components/views/collections/List/Cell/field-types/Richtext/index.js +2 -4
  196. package/dist/admin/components/views/collections/List/Cell/field-types/index.d.ts +1 -1
  197. package/dist/admin/components/views/collections/List/Cell/index.d.ts.map +1 -1
  198. package/dist/admin/components/views/collections/List/Cell/index.js +11 -1
  199. package/dist/admin/components/views/types.d.ts +8 -8
  200. package/dist/admin/components/views/types.d.ts.map +1 -1
  201. package/dist/auth/operations/me.d.ts.map +1 -1
  202. package/dist/auth/operations/me.js +13 -5
  203. package/dist/auth/strategies/jwt.js +3 -3
  204. package/dist/bin/build.d.ts.map +1 -1
  205. package/dist/bin/build.js +9 -5
  206. package/dist/bin/generateGraphQLSchema.js +2 -2
  207. package/dist/bin/index.js +3 -3
  208. package/dist/bin/migrate.d.ts +2 -1
  209. package/dist/bin/migrate.d.ts.map +1 -1
  210. package/dist/bin/migrate.js +16 -4
  211. package/dist/collections/config/sanitize.js +4 -4
  212. package/dist/collections/config/schema.d.ts.map +1 -1
  213. package/dist/collections/config/schema.js +7 -10
  214. package/dist/collections/config/types.d.ts +5 -41
  215. package/dist/collections/config/types.d.ts.map +1 -1
  216. package/dist/collections/config/types.js +1 -1
  217. package/dist/collections/dataloader.js +2 -2
  218. package/dist/config/defaults.js +2 -2
  219. package/dist/config/schema.d.ts.map +1 -1
  220. package/dist/config/schema.js +14 -8
  221. package/dist/config/shared/adminViewSchema.d.ts +3 -0
  222. package/dist/config/shared/adminViewSchema.d.ts.map +1 -0
  223. package/dist/config/shared/adminViewSchema.js +26 -0
  224. package/dist/config/shared/componentSchema.d.ts +4 -0
  225. package/dist/config/shared/componentSchema.d.ts.map +1 -1
  226. package/dist/config/shared/componentSchema.js +13 -1
  227. package/dist/config/types.d.ts +55 -37
  228. package/dist/config/types.d.ts.map +1 -1
  229. package/dist/config/types.js +1 -1
  230. package/dist/database/createDatabaseAdapter.d.ts +1 -1
  231. package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
  232. package/dist/database/createDatabaseAdapter.js +1 -10
  233. package/dist/database/migrations/createMigration.js +2 -2
  234. package/dist/database/migrations/getMigrations.d.ts +3 -0
  235. package/dist/database/migrations/getMigrations.d.ts.map +1 -1
  236. package/dist/database/migrations/getMigrations.js +7 -2
  237. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  238. package/dist/database/migrations/migrateDown.js +5 -6
  239. package/dist/database/migrations/migrateRefresh.d.ts +1 -1
  240. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  241. package/dist/database/migrations/migrateRefresh.js +63 -8
  242. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  243. package/dist/database/migrations/migrateReset.js +17 -1
  244. package/dist/database/migrations/migrationTemplate.d.ts +1 -1
  245. package/dist/database/migrations/migrationTemplate.d.ts.map +1 -1
  246. package/dist/database/migrations/migrationTemplate.js +2 -2
  247. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  248. package/dist/database/migrations/migrationsCollection.js +1 -5
  249. package/dist/database/types.d.ts +5 -15
  250. package/dist/database/types.d.ts.map +1 -1
  251. package/dist/exports/config.d.ts +1 -0
  252. package/dist/exports/config.d.ts.map +1 -1
  253. package/dist/exports/config.js +5 -1
  254. package/dist/exports/database.d.ts +1 -2
  255. package/dist/exports/database.d.ts.map +1 -1
  256. package/dist/exports/database.js +1 -8
  257. package/dist/exports/utilities.d.ts +2 -0
  258. package/dist/exports/utilities.d.ts.map +1 -1
  259. package/dist/exports/utilities.js +9 -1
  260. package/dist/fields/config/sanitize.d.ts +7 -3
  261. package/dist/fields/config/sanitize.d.ts.map +1 -1
  262. package/dist/fields/config/sanitize.js +17 -12
  263. package/dist/fields/config/sanitize.spec.js +19 -24
  264. package/dist/fields/config/schema.d.ts.map +1 -1
  265. package/dist/fields/config/schema.js +3 -2
  266. package/dist/fields/config/types.d.ts +2 -0
  267. package/dist/fields/config/types.d.ts.map +1 -1
  268. package/dist/fields/config/types.js +1 -1
  269. package/dist/fields/hooks/afterRead/promise.js +2 -2
  270. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  271. package/dist/fields/hooks/beforeChange/promise.js +3 -9
  272. package/dist/fields/validations.d.ts +3 -1
  273. package/dist/fields/validations.d.ts.map +1 -1
  274. package/dist/fields/validations.js +41 -32
  275. package/dist/globals/config/sanitize.js +4 -4
  276. package/dist/globals/config/schema.d.ts.map +1 -1
  277. package/dist/globals/config/schema.js +5 -10
  278. package/dist/globals/config/types.d.ts +6 -3
  279. package/dist/globals/config/types.d.ts.map +1 -1
  280. package/dist/graphql/schema/buildObjectType.js +2 -2
  281. package/dist/payload.d.ts.map +1 -1
  282. package/dist/payload.js +2 -2
  283. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  284. package/dist/preferences/deleteUserPreferences.js +13 -7
  285. package/dist/preferences/preferencesCollection.d.ts.map +1 -1
  286. package/dist/preferences/preferencesCollection.js +1 -13
  287. package/dist/translations/ar.json +14 -2
  288. package/dist/translations/az.json +14 -2
  289. package/dist/translations/bg.json +14 -2
  290. package/dist/translations/cs.json +14 -2
  291. package/dist/translations/de.json +14 -2
  292. package/dist/translations/en.json +12 -0
  293. package/dist/translations/es.json +14 -2
  294. package/dist/translations/fa.json +14 -2
  295. package/dist/translations/fr.json +14 -2
  296. package/dist/translations/hr.json +14 -2
  297. package/dist/translations/hu.json +14 -2
  298. package/dist/translations/index.d.ts +340 -26
  299. package/dist/translations/index.d.ts.map +1 -1
  300. package/dist/translations/it.json +16 -3
  301. package/dist/translations/ja.json +14 -2
  302. package/dist/translations/my.json +14 -2
  303. package/dist/translations/nb.json +14 -2
  304. package/dist/translations/nl.json +14 -2
  305. package/dist/translations/pl.json +15 -2
  306. package/dist/translations/pt.json +14 -2
  307. package/dist/translations/ro.json +14 -2
  308. package/dist/translations/ru.json +14 -2
  309. package/dist/translations/sv.json +14 -2
  310. package/dist/translations/th.json +14 -2
  311. package/dist/translations/tr.json +14 -2
  312. package/dist/translations/translation-schema.json +36 -0
  313. package/dist/translations/ua.json +14 -2
  314. package/dist/translations/vi.json +14 -2
  315. package/dist/translations/zh.json +14 -2
  316. package/dist/uploads/cropImage.d.ts +12 -0
  317. package/dist/uploads/cropImage.d.ts.map +1 -0
  318. package/dist/uploads/cropImage.js +47 -0
  319. package/dist/uploads/generateFileData.d.ts.map +1 -1
  320. package/dist/uploads/generateFileData.js +49 -14
  321. package/dist/uploads/imageResizer.d.ts +6 -1
  322. package/dist/uploads/imageResizer.d.ts.map +1 -1
  323. package/dist/uploads/imageResizer.js +48 -3
  324. package/dist/uploads/types.d.ts +5 -1
  325. package/dist/uploads/types.d.ts.map +1 -1
  326. package/dist/uploads/types.js +1 -1
  327. package/dist/utilities/fieldSchemaToJSON.d.ts +3 -0
  328. package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -0
  329. package/dist/utilities/fieldSchemaToJSON.js +77 -0
  330. package/dist/utilities/getIDType.d.ts +2 -1
  331. package/dist/utilities/getIDType.d.ts.map +1 -1
  332. package/dist/utilities/getIDType.js +3 -3
  333. package/dist/utilities/isValidID.js +2 -2
  334. package/package.json +2 -5
  335. package/utilities.d.ts +2 -0
  336. package/utilities.js +9 -1
  337. package/components/rich-text.d.ts +0 -4
  338. package/components/rich-text.js +0 -31
  339. package/dist/admin/components/views/LivePreview/useLivePreview.d.ts +0 -8
  340. package/dist/admin/components/views/LivePreview/useLivePreview.d.ts.map +0 -1
  341. package/dist/admin/components/views/LivePreview/useLivePreview.js +0 -43
  342. package/dist/admin/components/views/RestAPI/index.d.ts +0 -4
  343. package/dist/admin/components/views/RestAPI/index.d.ts.map +0 -1
  344. package/dist/admin/components/views/RestAPI/index.js +0 -113
  345. package/dist/admin/components/views/RestAPI/index.scss +0 -107
  346. package/dist/config/shared/routeSchema.d.ts +0 -3
  347. package/dist/config/shared/routeSchema.d.ts.map +0 -1
  348. package/dist/config/shared/routeSchema.js +0 -26
  349. package/dist/database/transaction.d.ts +0 -3
  350. package/dist/database/transaction.d.ts.map +0 -1
  351. package/dist/database/transaction.js +0 -21
@@ -2,23 +2,43 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ editDrawerSlug: function() {
13
+ return editDrawerSlug;
14
+ },
15
+ sizePreviewSlug: function() {
16
+ return sizePreviewSlug;
17
+ },
18
+ UploadActions: function() {
19
+ return UploadActions;
20
+ },
21
+ Upload: function() {
22
+ return Upload;
9
23
  }
10
24
  });
11
25
  const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
26
  const _reacti18next = require("react-i18next");
27
+ const _isImage = /*#__PURE__*/ _interop_require_default(require("../../../../../../uploads/isImage"));
13
28
  const _Button = /*#__PURE__*/ _interop_require_default(require("../../../../elements/Button"));
29
+ const _Drawer = require("../../../../elements/Drawer");
30
+ const _Dropzone = require("../../../../elements/Dropzone");
31
+ const _EditUpload = require("../../../../elements/EditUpload");
14
32
  const _FileDetails = /*#__PURE__*/ _interop_require_default(require("../../../../elements/FileDetails"));
33
+ const _PreviewSizes = /*#__PURE__*/ _interop_require_default(require("../../../../elements/PreviewSizes"));
34
+ const _Thumbnail = /*#__PURE__*/ _interop_require_default(require("../../../../elements/Thumbnail"));
15
35
  const _Error = /*#__PURE__*/ _interop_require_default(require("../../../../forms/Error"));
36
+ const _context = require("../../../../forms/Form/context");
16
37
  const _reduceFieldsToValues = /*#__PURE__*/ _interop_require_default(require("../../../../forms/Form/reduceFieldsToValues"));
17
- const _Label = /*#__PURE__*/ _interop_require_default(require("../../../../forms/Label"));
38
+ const _shared = require("../../../../forms/field-types/shared");
18
39
  const _useField = /*#__PURE__*/ _interop_require_default(require("../../../../forms/useField"));
19
40
  const _DocumentInfo = require("../../../../utilities/DocumentInfo");
20
41
  require("./index.scss");
21
- const _shared = require("../../../../forms/field-types/shared");
22
42
  function _interop_require_default(obj) {
23
43
  return obj && obj.__esModule ? obj : {
24
44
  default: obj
@@ -64,24 +84,31 @@ function _interop_require_wildcard(obj, nodeInterop) {
64
84
  return newObj;
65
85
  }
66
86
  const baseClass = 'file-field';
67
- const handleDrag = (e)=>{
68
- e.preventDefault();
69
- e.stopPropagation();
70
- };
87
+ const editDrawerSlug = 'edit-upload';
88
+ const sizePreviewSlug = 'preview-sizes';
71
89
  const validate = (value)=>{
72
90
  if (!value && value !== undefined) {
73
91
  return 'A file is required.';
74
92
  }
75
93
  return true;
76
94
  };
95
+ const UploadActions = ({ canEdit, showSizePreviews })=>{
96
+ const { t } = (0, _reacti18next.useTranslation)('upload');
97
+ return /*#__PURE__*/ _react.default.createElement("div", {
98
+ className: `${baseClass}__file-mutation`
99
+ }, showSizePreviews && /*#__PURE__*/ _react.default.createElement(_Drawer.DrawerToggler, {
100
+ className: `${baseClass}__previewSizes`,
101
+ slug: sizePreviewSlug
102
+ }, t('upload:previewSizes')), canEdit && /*#__PURE__*/ _react.default.createElement(_Drawer.DrawerToggler, {
103
+ className: `${baseClass}__edit`,
104
+ slug: editDrawerSlug
105
+ }, t('upload:editImage')));
106
+ };
77
107
  const Upload = (props)=>{
78
- const { collection, internalState } = props;
79
- const inputRef = (0, _react.useRef)(null);
80
- const dropRef = (0, _react.useRef)(null);
81
- const [selectingFile, setSelectingFile] = (0, _react.useState)(false);
82
- const [dragging, setDragging] = (0, _react.useState)(false);
83
- const [dragCounter, setDragCounter] = (0, _react.useState)(0);
108
+ const submitted = (0, _context.useFormSubmitted)();
109
+ const { collection, internalState, onChange, updatedAt } = props;
84
110
  const [replacingFile, setReplacingFile] = (0, _react.useState)(false);
111
+ const [fileSrc, setFileSrc] = (0, _react.useState)(null);
85
112
  const { t } = (0, _reacti18next.useTranslation)([
86
113
  'upload',
87
114
  'general'
@@ -92,38 +119,6 @@ const Upload = (props)=>{
92
119
  path: 'file',
93
120
  validate
94
121
  });
95
- const handleDragIn = (0, _react.useCallback)((e)=>{
96
- e.preventDefault();
97
- e.stopPropagation();
98
- setDragCounter((count)=>count + 1);
99
- if (e.dataTransfer.items && e.dataTransfer.items.length > 0) {
100
- setDragging(true);
101
- }
102
- }, []);
103
- const handleDragOut = (0, _react.useCallback)((e)=>{
104
- e.preventDefault();
105
- e.stopPropagation();
106
- setDragCounter((count)=>count - 1);
107
- if (dragCounter > 1) return;
108
- setDragging(false);
109
- }, [
110
- dragCounter
111
- ]);
112
- const handleDrop = (0, _react.useCallback)((e)=>{
113
- e.preventDefault();
114
- e.stopPropagation();
115
- setDragging(false);
116
- if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
117
- setValue(e.dataTransfer.files[0]);
118
- setDragging(false);
119
- e.dataTransfer.clearData();
120
- setDragCounter(0);
121
- } else {
122
- setDragging(false);
123
- }
124
- }, [
125
- setValue
126
- ]);
127
122
  const handleFileNameChange = (e)=>{
128
123
  const updatedFileName = e.target.value;
129
124
  if (value) {
@@ -138,25 +133,18 @@ const Upload = (props)=>{
138
133
  ;
139
134
  }
140
135
  };
141
- // Only called when input is interacted with directly
142
- // Not called when drag + drop is used
143
- // Or when input is cleared
144
- const handleInputChange = (0, _react.useCallback)(()=>{
145
- setSelectingFile(false);
146
- setValue(inputRef?.current?.files?.[0] || null);
136
+ const handleFileSelection = _react.default.useCallback((files)=>{
137
+ const fileToUpload = files?.[0];
138
+ setValue(fileToUpload);
147
139
  }, [
148
- inputRef,
149
140
  setValue
150
141
  ]);
151
- (0, _react.useEffect)(()=>{
152
- if (selectingFile) {
153
- inputRef.current.click();
154
- setSelectingFile(false);
155
- }
142
+ const handleFileRemoval = (0, _react.useCallback)(()=>{
143
+ setReplacingFile(true);
144
+ setValue(null);
145
+ setFileSrc('');
156
146
  }, [
157
- selectingFile,
158
- inputRef,
159
- setSelectingFile
147
+ setValue
160
148
  ]);
161
149
  (0, _react.useEffect)(()=>{
162
150
  setDoc((0, _reduceFieldsToValues.default)(internalState || {}, true));
@@ -165,88 +153,95 @@ const Upload = (props)=>{
165
153
  internalState
166
154
  ]);
167
155
  (0, _react.useEffect)(()=>{
168
- const div = dropRef.current;
169
- if (div) {
170
- div.addEventListener('dragenter', handleDragIn);
171
- div.addEventListener('dragleave', handleDragOut);
172
- div.addEventListener('dragover', handleDrag);
173
- div.addEventListener('drop', handleDrop);
174
- return ()=>{
175
- div.removeEventListener('dragenter', handleDragIn);
176
- div.removeEventListener('dragleave', handleDragOut);
177
- div.removeEventListener('dragover', handleDrag);
178
- div.removeEventListener('drop', handleDrop);
156
+ if (value instanceof File) {
157
+ const fileReader = new FileReader();
158
+ fileReader.onload = (e)=>{
159
+ const imgSrc = e.target?.result;
160
+ if (typeof imgSrc === 'string') {
161
+ setFileSrc(imgSrc);
162
+ }
179
163
  };
164
+ fileReader.readAsDataURL(value);
165
+ }
166
+ if (typeof onChange === 'function') {
167
+ onChange(value);
180
168
  }
181
- return ()=>null;
182
169
  }, [
183
- handleDragIn,
184
- handleDragOut,
185
- handleDrop,
186
- value
170
+ value,
171
+ onChange,
172
+ updatedAt
187
173
  ]);
188
174
  const canRemoveUpload = docPermissions?.update?.permission && 'delete' in docPermissions && docPermissions?.delete?.permission;
175
+ const hasImageSizes = collection?.upload?.imageSizes?.length > 0;
176
+ const hasResizeOptions = Boolean(collection?.upload?.resizeOptions);
177
+ const { collection: { upload: { crop: showCrop = true, focalPoint = true } } = {} } = props;
178
+ const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions);
179
+ const lastSubmittedTime = submitted ? new Date().toISOString() : null;
189
180
  return /*#__PURE__*/ _react.default.createElement("div", {
190
181
  className: [
191
182
  _shared.fieldBaseClass,
192
- baseClass,
193
- dragging && `${baseClass}--dragging`
183
+ baseClass
194
184
  ].filter(Boolean).join(' ')
195
185
  }, /*#__PURE__*/ _react.default.createElement(_Error.default, {
196
186
  message: errorMessage,
197
187
  showError: showError
198
188
  }), doc.filename && !replacingFile && /*#__PURE__*/ _react.default.createElement(_FileDetails.default, {
189
+ canEdit: showCrop || showFocalPoint,
199
190
  collection: collection,
200
191
  doc: doc,
201
- handleRemove: canRemoveUpload ? ()=>{
202
- setReplacingFile(true);
203
- setValue(null);
204
- } : undefined
192
+ handleRemove: canRemoveUpload ? handleFileRemoval : undefined,
193
+ hasImageSizes: hasImageSizes,
194
+ imageCacheTag: lastSubmittedTime
205
195
  }), (!doc.filename || replacingFile) && /*#__PURE__*/ _react.default.createElement("div", {
206
196
  className: `${baseClass}__upload`
207
- }, value && /*#__PURE__*/ _react.default.createElement("div", {
208
- className: `${baseClass}__file-selected`
209
- }, /*#__PURE__*/ _react.default.createElement(_Label.default, {
210
- label: t('fileName'),
211
- required: true
212
- }), /*#__PURE__*/ _react.default.createElement("div", {
213
- className: `${baseClass}__file-upload`
197
+ }, !value && /*#__PURE__*/ _react.default.createElement(_Dropzone.Dropzone, {
198
+ className: `${baseClass}__dropzone`,
199
+ mimeTypes: collection?.upload?.mimeTypes,
200
+ onChange: handleFileSelection
201
+ }), value && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement("div", {
202
+ className: `${baseClass}__thumbnail-wrap`
203
+ }, /*#__PURE__*/ _react.default.createElement(_Thumbnail.default, {
204
+ fileSrc: (0, _isImage.default)(value.type) ? fileSrc : null
205
+ })), /*#__PURE__*/ _react.default.createElement("div", {
206
+ className: `${baseClass}__file-adjustments`
214
207
  }, /*#__PURE__*/ _react.default.createElement("input", {
215
208
  className: `${baseClass}__filename`,
216
209
  onChange: handleFileNameChange,
217
210
  type: "text",
218
211
  value: value.name
219
- }), /*#__PURE__*/ _react.default.createElement(_Button.default, {
220
- buttonStyle: "none",
212
+ }), (0, _isImage.default)(value.type) && /*#__PURE__*/ _react.default.createElement(UploadActions, {
213
+ canEdit: showCrop || showFocalPoint,
214
+ showSizePreviews: hasImageSizes && doc.filename && !replacingFile
215
+ })), /*#__PURE__*/ _react.default.createElement(_Button.default, {
216
+ buttonStyle: "icon-label",
217
+ className: `${baseClass}__remove`,
221
218
  icon: "x",
222
- onClick: ()=>{
223
- setValue(null);
224
- inputRef.current.value = null;
225
- },
219
+ iconStyle: "with-border",
220
+ onClick: handleFileRemoval,
221
+ round: true,
226
222
  tooltip: t('general:cancel')
227
- }))), !value && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement("div", {
228
- className: `${baseClass}__drop-zone`,
229
- onPaste: (e)=>{
230
- if (e?.clipboardData?.files.length) {
231
- const fileObject = e.clipboardData.files[0];
232
- if (fileObject) setValue(fileObject);
233
- }
234
- },
235
- ref: dropRef
236
- }, /*#__PURE__*/ _react.default.createElement(_Button.default, {
237
- buttonStyle: "secondary",
238
- className: `${baseClass}__file-button`,
239
- onClick: ()=>setSelectingFile(true),
240
- size: "small"
241
- }, t('selectFile')), /*#__PURE__*/ _react.default.createElement("p", {
242
- className: `${baseClass}__drag-label`
243
- }, t('general:or'), " ", t('dragAndDrop')))), /*#__PURE__*/ _react.default.createElement("input", {
244
- accept: collection?.upload?.mimeTypes?.join(','),
245
- onChange: handleInputChange,
246
- ref: inputRef,
247
- type: "file"
223
+ }))), (value || doc.filename) && /*#__PURE__*/ _react.default.createElement(_Drawer.Drawer, {
224
+ header: null,
225
+ slug: editDrawerSlug
226
+ }, /*#__PURE__*/ _react.default.createElement(_EditUpload.EditUpload, {
227
+ doc: doc || undefined,
228
+ fileName: value?.name || doc?.filename,
229
+ fileSrc: fileSrc || doc?.url,
230
+ imageCacheTag: lastSubmittedTime,
231
+ showCrop: showCrop,
232
+ showFocalPoint: showFocalPoint
233
+ })), doc && hasImageSizes && /*#__PURE__*/ _react.default.createElement(_Drawer.Drawer, {
234
+ className: `${baseClass}__previewDrawer`,
235
+ hoverTitle: true,
236
+ slug: sizePreviewSlug,
237
+ title: t('upload:sizesFor', {
238
+ label: doc?.filename
239
+ })
240
+ }, /*#__PURE__*/ _react.default.createElement(_PreviewSizes.default, {
241
+ collection: collection,
242
+ doc: doc,
243
+ updatedAt: updatedAt
248
244
  })));
249
245
  };
250
- const _default = Upload;
251
246
 
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0VkaXQvVXBsb2FkL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IEJ1dHRvbiBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9CdXR0b24nXG5pbXBvcnQgRmlsZURldGFpbHMgZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvRmlsZURldGFpbHMnXG5pbXBvcnQgRXJyb3IgZnJvbSAnLi4vLi4vLi4vLi4vZm9ybXMvRXJyb3InXG5pbXBvcnQgcmVkdWNlRmllbGRzVG9WYWx1ZXMgZnJvbSAnLi4vLi4vLi4vLi4vZm9ybXMvRm9ybS9yZWR1Y2VGaWVsZHNUb1ZhbHVlcydcbmltcG9ydCBMYWJlbCBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9MYWJlbCdcbmltcG9ydCB1c2VGaWVsZCBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy91c2VGaWVsZCdcbmltcG9ydCB7IHVzZURvY3VtZW50SW5mbyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9Eb2N1bWVudEluZm8nXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmltcG9ydCB7IGZpZWxkQmFzZUNsYXNzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZm9ybXMvZmllbGQtdHlwZXMvc2hhcmVkJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnZmlsZS1maWVsZCdcblxuY29uc3QgaGFuZGxlRHJhZyA9IChlKSA9PiB7XG4gIGUucHJldmVudERlZmF1bHQoKVxuICBlLnN0b3BQcm9wYWdhdGlvbigpXG59XG5cbmNvbnN0IHZhbGlkYXRlID0gKHZhbHVlKSA9PiB7XG4gIGlmICghdmFsdWUgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiAnQSBmaWxlIGlzIHJlcXVpcmVkLidcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmNvbnN0IFVwbG9hZDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbiwgaW50ZXJuYWxTdGF0ZSB9ID0gcHJvcHNcblxuICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZihudWxsKVxuICBjb25zdCBkcm9wUmVmID0gdXNlUmVmKG51bGwpXG4gIGNvbnN0IFtzZWxlY3RpbmdGaWxlLCBzZXRTZWxlY3RpbmdGaWxlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZHJhZ2dpbmcsIHNldERyYWdnaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZHJhZ0NvdW50ZXIsIHNldERyYWdDb3VudGVyXSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IFtyZXBsYWNpbmdGaWxlLCBzZXRSZXBsYWNpbmdGaWxlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFsndXBsb2FkJywgJ2dlbmVyYWwnXSlcbiAgY29uc3QgW2RvYywgc2V0RG9jXSA9IHVzZVN0YXRlKHJlZHVjZUZpZWxkc1RvVmFsdWVzKGludGVybmFsU3RhdGUgfHwge30sIHRydWUpKVxuICBjb25zdCB7IGRvY1Blcm1pc3Npb25zIH0gPSB1c2VEb2N1bWVudEluZm8oKVxuXG4gIGNvbnN0IHsgZXJyb3JNZXNzYWdlLCBzZXRWYWx1ZSwgc2hvd0Vycm9yLCB2YWx1ZSB9ID0gdXNlRmllbGQ8eyBuYW1lOiBzdHJpbmcgfT4oe1xuICAgIHBhdGg6ICdmaWxlJyxcbiAgICB2YWxpZGF0ZSxcbiAgfSlcblxuICBjb25zdCBoYW5kbGVEcmFnSW4gPSB1c2VDYWxsYmFjaygoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBzZXREcmFnQ291bnRlcigoY291bnQpID0+IGNvdW50ICsgMSlcbiAgICBpZiAoZS5kYXRhVHJhbnNmZXIuaXRlbXMgJiYgZS5kYXRhVHJhbnNmZXIuaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgc2V0RHJhZ2dpbmcodHJ1ZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZURyYWdPdXQgPSB1c2VDYWxsYmFjayhcbiAgICAoZSkgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICBzZXREcmFnQ291bnRlcigoY291bnQpID0+IGNvdW50IC0gMSlcbiAgICAgIGlmIChkcmFnQ291bnRlciA+IDEpIHJldHVyblxuICAgICAgc2V0RHJhZ2dpbmcoZmFsc2UpXG4gICAgfSxcbiAgICBbZHJhZ0NvdW50ZXJdLFxuICApXG5cbiAgY29uc3QgaGFuZGxlRHJvcCA9IHVzZUNhbGxiYWNrKFxuICAgIChlKSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIHNldERyYWdnaW5nKGZhbHNlKVxuXG4gICAgICBpZiAoZS5kYXRhVHJhbnNmZXIuZmlsZXMgJiYgZS5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBzZXRWYWx1ZShlLmRhdGFUcmFuc2Zlci5maWxlc1swXSlcbiAgICAgICAgc2V0RHJhZ2dpbmcoZmFsc2UpXG5cbiAgICAgICAgZS5kYXRhVHJhbnNmZXIuY2xlYXJEYXRhKClcbiAgICAgICAgc2V0RHJhZ0NvdW50ZXIoMClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldERyYWdnaW5nKGZhbHNlKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFZhbHVlXSxcbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUZpbGVOYW1lQ2hhbmdlID0gKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgdXBkYXRlZEZpbGVOYW1lID0gZS50YXJnZXQudmFsdWVcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IGZpbGVWYWx1ZSA9IHZhbHVlIGFzIEZpbGVcbiAgICAgIC8vIENyZWF0aW5nIGEgbmV3IEZpbGUgb2JqZWN0IHdpdGggdXBkYXRlZCBwcm9wZXJ0aWVzXG4gICAgICBjb25zdCBuZXdGaWxlID0gbmV3IEZpbGUoW2ZpbGVWYWx1ZV0sIHVwZGF0ZWRGaWxlTmFtZSwgeyB0eXBlOiBmaWxlVmFsdWUudHlwZSB9KVxuICAgICAgc2V0VmFsdWUobmV3RmlsZSkgLy8gVXBkYXRpbmcgdGhlIHN0YXRlIHdpdGggdGhlIG5ldyBGaWxlIG9iamVjdFxuICAgIH1cbiAgfVxuXG4gIC8vIE9ubHkgY2FsbGVkIHdoZW4gaW5wdXQgaXMgaW50ZXJhY3RlZCB3aXRoIGRpcmVjdGx5XG4gIC8vIE5vdCBjYWxsZWQgd2hlbiBkcmFnICsgZHJvcCBpcyB1c2VkXG4gIC8vIE9yIHdoZW4gaW5wdXQgaXMgY2xlYXJlZFxuICBjb25zdCBoYW5kbGVJbnB1dENoYW5nZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTZWxlY3RpbmdGaWxlKGZhbHNlKVxuICAgIHNldFZhbHVlKGlucHV0UmVmPy5jdXJyZW50Py5maWxlcz8uWzBdIHx8IG51bGwpXG4gIH0sIFtpbnB1dFJlZiwgc2V0VmFsdWVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGluZ0ZpbGUpIHtcbiAgICAgIGlucHV0UmVmLmN1cnJlbnQuY2xpY2soKVxuICAgICAgc2V0U2VsZWN0aW5nRmlsZShmYWxzZSlcbiAgICB9XG4gIH0sIFtzZWxlY3RpbmdGaWxlLCBpbnB1dFJlZiwgc2V0U2VsZWN0aW5nRmlsZV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXREb2MocmVkdWNlRmllbGRzVG9WYWx1ZXMoaW50ZXJuYWxTdGF0ZSB8fCB7fSwgdHJ1ZSkpXG4gICAgc2V0UmVwbGFjaW5nRmlsZShmYWxzZSlcbiAgfSwgW2ludGVybmFsU3RhdGVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZGl2ID0gZHJvcFJlZi5jdXJyZW50XG4gICAgaWYgKGRpdikge1xuICAgICAgZGl2LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRlcicsIGhhbmRsZURyYWdJbilcbiAgICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCdkcmFnbGVhdmUnLCBoYW5kbGVEcmFnT3V0KVxuICAgICAgZGl2LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgaGFuZGxlRHJhZylcbiAgICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgaGFuZGxlRHJvcClcblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZGl2LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRlcicsIGhhbmRsZURyYWdJbilcbiAgICAgICAgZGl2LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIGhhbmRsZURyYWdPdXQpXG4gICAgICAgIGRpdi5yZW1vdmVFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIGhhbmRsZURyYWcpXG4gICAgICAgIGRpdi5yZW1vdmVFdmVudExpc3RlbmVyKCdkcm9wJywgaGFuZGxlRHJvcClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4gbnVsbFxuICB9LCBbaGFuZGxlRHJhZ0luLCBoYW5kbGVEcmFnT3V0LCBoYW5kbGVEcm9wLCB2YWx1ZV0pXG5cbiAgY29uc3QgY2FuUmVtb3ZlVXBsb2FkID1cbiAgICBkb2NQZXJtaXNzaW9ucz8udXBkYXRlPy5wZXJtaXNzaW9uICYmXG4gICAgJ2RlbGV0ZScgaW4gZG9jUGVybWlzc2lvbnMgJiZcbiAgICBkb2NQZXJtaXNzaW9ucz8uZGVsZXRlPy5wZXJtaXNzaW9uXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e1tmaWVsZEJhc2VDbGFzcywgYmFzZUNsYXNzLCBkcmFnZ2luZyAmJiBgJHtiYXNlQ2xhc3N9LS1kcmFnZ2luZ2BdXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLmpvaW4oJyAnKX1cbiAgICA+XG4gICAgICA8RXJyb3IgbWVzc2FnZT17ZXJyb3JNZXNzYWdlfSBzaG93RXJyb3I9e3Nob3dFcnJvcn0gLz5cbiAgICAgIHtkb2MuZmlsZW5hbWUgJiYgIXJlcGxhY2luZ0ZpbGUgJiYgKFxuICAgICAgICA8RmlsZURldGFpbHNcbiAgICAgICAgICBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufVxuICAgICAgICAgIGRvYz17ZG9jfVxuICAgICAgICAgIGhhbmRsZVJlbW92ZT17XG4gICAgICAgICAgICBjYW5SZW1vdmVVcGxvYWRcbiAgICAgICAgICAgICAgPyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzZXRSZXBsYWNpbmdGaWxlKHRydWUpXG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZShudWxsKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAgeyghZG9jLmZpbGVuYW1lIHx8IHJlcGxhY2luZ0ZpbGUpICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3VwbG9hZGB9PlxuICAgICAgICAgIHt2YWx1ZSAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZmlsZS1zZWxlY3RlZGB9PlxuICAgICAgICAgICAgICA8TGFiZWwgbGFiZWw9e3QoJ2ZpbGVOYW1lJyl9IHJlcXVpcmVkIC8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19maWxlLXVwbG9hZGB9PlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19maWxlbmFtZWB9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlRmlsZU5hbWVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWUubmFtZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBpY29uPVwieFwiXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKG51bGwpXG4gICAgICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSBudWxsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgdG9vbHRpcD17dCgnZ2VuZXJhbDpjYW5jZWwnKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgICAgeyF2YWx1ZSAmJiAoXG4gICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Ryb3Atem9uZWB9XG4gICAgICAgICAgICAgICAgb25QYXN0ZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChlPy5jbGlwYm9hcmREYXRhPy5maWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsZU9iamVjdCA9IGUuY2xpcGJvYXJkRGF0YS5maWxlc1swXVxuICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZU9iamVjdCkgc2V0VmFsdWUoZmlsZU9iamVjdClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHJlZj17ZHJvcFJlZn1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZmlsZS1idXR0b25gfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2VsZWN0aW5nRmlsZSh0cnVlKX1cbiAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3QoJ3NlbGVjdEZpbGUnKX1cbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RyYWctbGFiZWxgfT5cbiAgICAgICAgICAgICAgICAgIHt0KCdnZW5lcmFsOm9yJyl9IHt0KCdkcmFnQW5kRHJvcCcpfVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBhY2NlcHQ9e2NvbGxlY3Rpb24/LnVwbG9hZD8ubWltZVR5cGVzPy5qb2luKCcsJyl9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICByZWY9e2lucHV0UmVmfVxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBVcGxvYWRcbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJoYW5kbGVEcmFnIiwiZSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwidmFsaWRhdGUiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsIlVwbG9hZCIsInByb3BzIiwiY29sbGVjdGlvbiIsImludGVybmFsU3RhdGUiLCJpbnB1dFJlZiIsInVzZVJlZiIsImRyb3BSZWYiLCJzZWxlY3RpbmdGaWxlIiwic2V0U2VsZWN0aW5nRmlsZSIsInVzZVN0YXRlIiwiZHJhZ2dpbmciLCJzZXREcmFnZ2luZyIsImRyYWdDb3VudGVyIiwic2V0RHJhZ0NvdW50ZXIiLCJyZXBsYWNpbmdGaWxlIiwic2V0UmVwbGFjaW5nRmlsZSIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsImRvYyIsInNldERvYyIsInJlZHVjZUZpZWxkc1RvVmFsdWVzIiwiZG9jUGVybWlzc2lvbnMiLCJ1c2VEb2N1bWVudEluZm8iLCJlcnJvck1lc3NhZ2UiLCJzZXRWYWx1ZSIsInNob3dFcnJvciIsInVzZUZpZWxkIiwicGF0aCIsImhhbmRsZURyYWdJbiIsInVzZUNhbGxiYWNrIiwiY291bnQiLCJkYXRhVHJhbnNmZXIiLCJpdGVtcyIsImxlbmd0aCIsImhhbmRsZURyYWdPdXQiLCJoYW5kbGVEcm9wIiwiZmlsZXMiLCJjbGVhckRhdGEiLCJoYW5kbGVGaWxlTmFtZUNoYW5nZSIsInVwZGF0ZWRGaWxlTmFtZSIsInRhcmdldCIsImZpbGVWYWx1ZSIsIm5ld0ZpbGUiLCJGaWxlIiwidHlwZSIsImhhbmRsZUlucHV0Q2hhbmdlIiwiY3VycmVudCIsInVzZUVmZmVjdCIsImNsaWNrIiwiZGl2IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjYW5SZW1vdmVVcGxvYWQiLCJ1cGRhdGUiLCJwZXJtaXNzaW9uIiwiZGVsZXRlIiwiY2xhc3NOYW1lIiwiZmllbGRCYXNlQ2xhc3MiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsIkVycm9yIiwibWVzc2FnZSIsImZpbGVuYW1lIiwiRmlsZURldGFpbHMiLCJoYW5kbGVSZW1vdmUiLCJMYWJlbCIsImxhYmVsIiwicmVxdWlyZWQiLCJpbnB1dCIsIm9uQ2hhbmdlIiwibmFtZSIsIkJ1dHRvbiIsImJ1dHRvblN0eWxlIiwiaWNvbiIsIm9uQ2xpY2siLCJ0b29sdGlwIiwiUmVhY3QiLCJGcmFnbWVudCIsIm9uUGFzdGUiLCJjbGlwYm9hcmREYXRhIiwiZmlsZU9iamVjdCIsInJlZiIsInNpemUiLCJwIiwiYWNjZXB0IiwidXBsb2FkIiwibWltZVR5cGVzIl0sIm1hcHBpbmdzIjoiOzs7OytCQWdPQTs7O2VBQUE7OzsrREFoT2dFOzhCQUNqQzsrREFJWjtvRUFDSzs4REFDTjs2RUFDZTs4REFDZjtpRUFDRzs4QkFDVztRQUN6Qjt3QkFDd0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQixNQUFNQSxZQUFZO0FBRWxCLE1BQU1DLGFBQWEsQ0FBQ0M7SUFDbEJBLEVBQUVDLGNBQWM7SUFDaEJELEVBQUVFLGVBQWU7QUFDbkI7QUFFQSxNQUFNQyxXQUFXLENBQUNDO0lBQ2hCLElBQUksQ0FBQ0EsU0FBU0EsVUFBVUMsV0FBVztRQUNqQyxPQUFPO0lBQ1Q7SUFFQSxPQUFPO0FBQ1Q7QUFFQSxNQUFNQyxTQUEwQixDQUFDQztJQUMvQixNQUFNLEVBQUVDLFVBQVUsRUFBRUMsYUFBYSxFQUFFLEdBQUdGO0lBRXRDLE1BQU1HLFdBQVdDLElBQUFBLGFBQU0sRUFBQztJQUN4QixNQUFNQyxVQUFVRCxJQUFBQSxhQUFNLEVBQUM7SUFDdkIsTUFBTSxDQUFDRSxlQUFlQyxpQkFBaUIsR0FBR0MsSUFBQUEsZUFBUSxFQUFDO0lBQ25ELE1BQU0sQ0FBQ0MsVUFBVUMsWUFBWSxHQUFHRixJQUFBQSxlQUFRLEVBQUM7SUFDekMsTUFBTSxDQUFDRyxhQUFhQyxlQUFlLEdBQUdKLElBQUFBLGVBQVEsRUFBQztJQUMvQyxNQUFNLENBQUNLLGVBQWVDLGlCQUFpQixHQUFHTixJQUFBQSxlQUFRLEVBQUM7SUFDbkQsTUFBTSxFQUFFTyxDQUFDLEVBQUUsR0FBR0MsSUFBQUEsNEJBQWMsRUFBQztRQUFDO1FBQVU7S0FBVTtJQUNsRCxNQUFNLENBQUNDLEtBQUtDLE9BQU8s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
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0VkaXQvVXBsb2FkL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCBpc0ltYWdlIGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3VwbG9hZHMvaXNJbWFnZSdcbmltcG9ydCBCdXR0b24gZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvQnV0dG9uJ1xuaW1wb3J0IHsgRHJhd2VyLCBEcmF3ZXJUb2dnbGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWxlbWVudHMvRHJhd2VyJ1xuaW1wb3J0IHsgRHJvcHpvbmUgfSBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9Ecm9wem9uZSdcbmltcG9ydCB7IEVkaXRVcGxvYWQgfSBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9FZGl0VXBsb2FkJ1xuaW1wb3J0IEZpbGVEZXRhaWxzIGZyb20gJy4uLy4uLy4uLy4uL2VsZW1lbnRzL0ZpbGVEZXRhaWxzJ1xuaW1wb3J0IFByZXZpZXdTaXplcyBmcm9tICcuLi8uLi8uLi8uLi9lbGVtZW50cy9QcmV2aWV3U2l6ZXMnXG5pbXBvcnQgVGh1bWJuYWlsIGZyb20gJy4uLy4uLy4uLy4uL2VsZW1lbnRzL1RodW1ibmFpbCdcbmltcG9ydCBFcnJvciBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9FcnJvcidcbmltcG9ydCB7IHVzZUZvcm1TdWJtaXR0ZWQgfSBmcm9tICcuLi8uLi8uLi8uLi9mb3Jtcy9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgcmVkdWNlRmllbGRzVG9WYWx1ZXMgZnJvbSAnLi4vLi4vLi4vLi4vZm9ybXMvRm9ybS9yZWR1Y2VGaWVsZHNUb1ZhbHVlcydcbmltcG9ydCB7IGZpZWxkQmFzZUNsYXNzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZm9ybXMvZmllbGQtdHlwZXMvc2hhcmVkJ1xuaW1wb3J0IHVzZUZpZWxkIGZyb20gJy4uLy4uLy4uLy4uL2Zvcm1zL3VzZUZpZWxkJ1xuaW1wb3J0IHsgdXNlRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL0RvY3VtZW50SW5mbydcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnZmlsZS1maWVsZCdcbmV4cG9ydCBjb25zdCBlZGl0RHJhd2VyU2x1ZyA9ICdlZGl0LXVwbG9hZCdcbmV4cG9ydCBjb25zdCBzaXplUHJldmlld1NsdWcgPSAncHJldmlldy1zaXplcydcblxuY29uc3QgdmFsaWRhdGUgPSAodmFsdWUpID0+IHtcbiAgaWYgKCF2YWx1ZSAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuICdBIGZpbGUgaXMgcmVxdWlyZWQuJ1xuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IFVwbG9hZEFjdGlvbnMgPSAoeyBjYW5FZGl0LCBzaG93U2l6ZVByZXZpZXdzIH0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigndXBsb2FkJylcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZmlsZS1tdXRhdGlvbmB9PlxuICAgICAge3Nob3dTaXplUHJldmlld3MgJiYgKFxuICAgICAgICA8RHJhd2VyVG9nZ2xlciBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3ByZXZpZXdTaXplc2B9IHNsdWc9e3NpemVQcmV2aWV3U2x1Z30+XG4gICAgICAgICAge3QoJ3VwbG9hZDpwcmV2aWV3U2l6ZXMnKX1cbiAgICAgICAgPC9EcmF3ZXJUb2dnbGVyPlxuICAgICAgKX1cbiAgICAgIHtjYW5FZGl0ICYmIChcbiAgICAgICAgPERyYXdlclRvZ2dsZXIgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19lZGl0YH0gc2x1Zz17ZWRpdERyYXdlclNsdWd9PlxuICAgICAgICAgIHt0KCd1cGxvYWQ6ZWRpdEltYWdlJyl9XG4gICAgICAgIDwvRHJhd2VyVG9nZ2xlcj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IFVwbG9hZDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHN1Ym1pdHRlZCA9IHVzZUZvcm1TdWJtaXR0ZWQoKVxuICBjb25zdCB7IGNvbGxlY3Rpb24sIGludGVybmFsU3RhdGUsIG9uQ2hhbmdlLCB1cGRhdGVkQXQgfSA9IHByb3BzXG4gIGNvbnN0IFtyZXBsYWNpbmdGaWxlLCBzZXRSZXBsYWNpbmdGaWxlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZmlsZVNyYywgc2V0RmlsZVNyY10gPSB1c2VTdGF0ZTxudWxsIHwgc3RyaW5nPihudWxsKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFsndXBsb2FkJywgJ2dlbmVyYWwnXSlcbiAgY29uc3QgW2RvYywgc2V0RG9jXSA9IHVzZVN0YXRlKHJlZHVjZUZpZWxkc1RvVmFsdWVzKGludGVybmFsU3RhdGUgfHwge30sIHRydWUpKVxuICBjb25zdCB7IGRvY1Blcm1pc3Npb25zIH0gPSB1c2VEb2N1bWVudEluZm8oKVxuICBjb25zdCB7IGVycm9yTWVzc2FnZSwgc2V0VmFsdWUsIHNob3dFcnJvciwgdmFsdWUgfSA9IHVzZUZpZWxkPEZpbGU+KHtcbiAgICBwYXRoOiAnZmlsZScsXG4gICAgdmFsaWRhdGUsXG4gIH0pXG5cbiAgY29uc3QgaGFuZGxlRmlsZU5hbWVDaGFuZ2UgPSAoZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBjb25zdCB1cGRhdGVkRmlsZU5hbWUgPSBlLnRhcmdldC52YWx1ZVxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3QgZmlsZVZhbHVlID0gdmFsdWVcbiAgICAgIC8vIENyZWF0aW5nIGEgbmV3IEZpbGUgb2JqZWN0IHdpdGggdXBkYXRlZCBwcm9wZXJ0aWVzXG4gICAgICBjb25zdCBuZXdGaWxlID0gbmV3IEZpbGUoW2ZpbGVWYWx1ZV0sIHVwZGF0ZWRGaWxlTmFtZSwgeyB0eXBlOiBmaWxlVmFsdWUudHlwZSB9KVxuICAgICAgc2V0VmFsdWUobmV3RmlsZSkgLy8gVXBkYXRpbmcgdGhlIHN0YXRlIHdpdGggdGhlIG5ldyBGaWxlIG9iamVjdFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUZpbGVTZWxlY3Rpb24gPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAoZmlsZXM6IEZpbGVMaXN0KSA9PiB7XG4gICAgICBjb25zdCBmaWxlVG9VcGxvYWQgPSBmaWxlcz8uWzBdXG4gICAgICBzZXRWYWx1ZShmaWxlVG9VcGxvYWQpXG4gICAgfSxcbiAgICBbc2V0VmFsdWVdLFxuICApXG5cbiAgY29uc3QgaGFuZGxlRmlsZVJlbW92YWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0UmVwbGFjaW5nRmlsZSh0cnVlKVxuICAgIHNldFZhbHVlKG51bGwpXG4gICAgc2V0RmlsZVNyYygnJylcbiAgfSwgW3NldFZhbHVlXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldERvYyhyZWR1Y2VGaWVsZHNUb1ZhbHVlcyhpbnRlcm5hbFN0YXRlIHx8IHt9LCB0cnVlKSlcbiAgICBzZXRSZXBsYWNpbmdGaWxlKGZhbHNlKVxuICB9LCBbaW50ZXJuYWxTdGF0ZV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKVxuICAgICAgZmlsZVJlYWRlci5vbmxvYWQgPSAoZSkgPT4ge1xuICAgICAgICBjb25zdCBpbWdTcmMgPSBlLnRhcmdldD8ucmVzdWx0XG5cbiAgICAgICAgaWYgKHR5cGVvZiBpbWdTcmMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgc2V0RmlsZVNyYyhpbWdTcmMpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZpbGVSZWFkZXIucmVhZEFzRGF0YVVSTCh2YWx1ZSlcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG9uQ2hhbmdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvbkNoYW5nZSh2YWx1ZSlcbiAgICB9XG4gIH0sIFt2YWx1ZSwgb25DaGFuZ2UsIHVwZGF0ZWRBdF0pXG5cbiAgY29uc3QgY2FuUmVtb3ZlVXBsb2FkID1cbiAgICBkb2NQZXJtaXNzaW9ucz8udXBkYXRlPy5wZXJtaXNzaW9uICYmXG4gICAgJ2RlbGV0ZScgaW4gZG9jUGVybWlzc2lvbnMgJiZcbiAgICBkb2NQZXJtaXNzaW9ucz8uZGVsZXRlPy5wZXJtaXNzaW9uXG5cbiAgY29uc3QgaGFzSW1hZ2VTaXplcyA9IGNvbGxlY3Rpb24/LnVwbG9hZD8uaW1hZ2VTaXplcz8ubGVuZ3RoID4gMFxuICBjb25zdCBoYXNSZXNpemVPcHRpb25zID0gQm9vbGVhbihjb2xsZWN0aW9uPy51cGxvYWQ/LnJlc2l6ZU9wdGlvbnMpXG5cbiAgY29uc3QgeyBjb2xsZWN0aW9uOiB7IHVwbG9hZDogeyBjcm9wOiBzaG93Q3JvcCA9IHRydWUsIGZvY2FsUG9pbnQgPSB0cnVlIH0gfSA9IHt9IH0gPSBwcm9wc1xuXG4gIGNvbnN0IHNob3dGb2NhbFBvaW50ID0gZm9jYWxQb2ludCAmJiAoaGFzSW1hZ2VTaXplcyB8fCBoYXNSZXNpemVPcHRpb25zKVxuXG4gIGNvbnN0IGxhc3RTdWJtaXR0ZWRUaW1lID0gc3VibWl0dGVkID8gbmV3IERhdGUoKS50b0lTT1N0cmluZygpIDogbnVsbFxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e1tmaWVsZEJhc2VDbGFzcywgYmFzZUNsYXNzXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpfT5cbiAgICAgIDxFcnJvciBtZXNzYWdlPXtlcnJvck1lc3NhZ2V9IHNob3dFcnJvcj17c2hvd0Vycm9yfSAvPlxuXG4gICAgICB7ZG9jLmZpbGVuYW1lICYmICFyZXBsYWNpbmdGaWxlICYmIChcbiAgICAgICAgPEZpbGVEZXRhaWxzXG4gICAgICAgICAgY2FuRWRpdD17c2hvd0Nyb3AgfHwgc2hvd0ZvY2FsUG9pbnR9XG4gICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICBkb2M9e2RvY31cbiAgICAgICAgICBoYW5kbGVSZW1vdmU9e2NhblJlbW92ZVVwbG9hZCA/IGhhbmRsZUZpbGVSZW1vdmFsIDogdW5kZWZpbmVkfVxuICAgICAgICAgIGhhc0ltYWdlU2l6ZXM9e2hhc0ltYWdlU2l6ZXN9XG4gICAgICAgICAgaW1hZ2VDYWNoZVRhZz17bGFzdFN1Ym1pdHRlZFRpbWV9XG4gICAgICAgIC8+XG4gICAgICApfVxuXG4gICAgICB7KCFkb2MuZmlsZW5hbWUgfHwgcmVwbGFjaW5nRmlsZSkgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdXBsb2FkYH0+XG4gICAgICAgICAgeyF2YWx1ZSAmJiAoXG4gICAgICAgICAgICA8RHJvcHpvbmVcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19kcm9wem9uZWB9XG4gICAgICAgICAgICAgIG1pbWVUeXBlcz17Y29sbGVjdGlvbj8udXBsb2FkPy5taW1lVHlwZXN9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVGaWxlU2VsZWN0aW9ufVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge3ZhbHVlICYmIChcbiAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3RodW1ibmFpbC13cmFwYH0+XG4gICAgICAgICAgICAgICAgPFRodW1ibmFpbCBmaWxlU3JjPXtpc0ltYWdlKHZhbHVlLnR5cGUpID8gZmlsZVNyYyA6IG51bGx9IC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZmlsZS1hZGp1c3RtZW50c2B9PlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19maWxlbmFtZWB9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlRmlsZU5hbWVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWUubmFtZX1cbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAge2lzSW1hZ2UodmFsdWUudHlwZSkgJiYgKFxuICAgICAgICAgICAgICAgICAgPFVwbG9hZEFjdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgY2FuRWRpdD17c2hvd0Nyb3AgfHwgc2hvd0ZvY2FsUG9pbnR9XG4gICAgICAgICAgICAgICAgICAgIHNob3dTaXplUHJldmlld3M9e2hhc0ltYWdlU2l6ZXMgJiYgZG9jLmZpbGVuYW1lICYmICFyZXBsYWNpbmdGaWxlfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19yZW1vdmVgfVxuICAgICAgICAgICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgICAgICAgICBpY29uU3R5bGU9XCJ3aXRoLWJvcmRlclwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlRmlsZVJlbW92YWx9XG4gICAgICAgICAgICAgICAgcm91bmRcbiAgICAgICAgICAgICAgICB0b29sdGlwPXt0KCdnZW5lcmFsOmNhbmNlbCcpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIHsodmFsdWUgfHwgZG9jLmZpbGVuYW1lKSAmJiAoXG4gICAgICAgIDxEcmF3ZXIgaGVhZGVyPXtudWxsfSBzbHVnPXtlZGl0RHJhd2VyU2x1Z30+XG4gICAgICAgICAgPEVkaXRVcGxvYWRcbiAgICAgICAgICAgIGRvYz17ZG9jIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGZpbGVOYW1lPXt2YWx1ZT8ubmFtZSB8fCBkb2M/LmZpbGVuYW1lfVxuICAgICAgICAgICAgZmlsZVNyYz17ZmlsZVNyYyB8fCBkb2M/LnVybH1cbiAgICAgICAgICAgIGltYWdlQ2FjaGVUYWc9e2xhc3RTdWJtaXR0ZWRUaW1lfVxuICAgICAgICAgICAgc2hvd0Nyb3A9e3Nob3dDcm9wfVxuICAgICAgICAgICAgc2hvd0ZvY2FsUG9pbnQ9e3Nob3dGb2NhbFBvaW50fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRHJhd2VyPlxuICAgICAgKX1cbiAgICAgIHtkb2MgJiYgaGFzSW1hZ2VTaXplcyAmJiAoXG4gICAgICAgIDxEcmF3ZXJcbiAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3ByZXZpZXdEcmF3ZXJgfVxuICAgICAgICAgIGhvdmVyVGl0bGVcbiAgICAgICAgICBzbHVnPXtzaXplUHJldmlld1NsdWd9XG4gICAgICAgICAgdGl0bGU9e3QoJ3VwbG9hZDpzaXplc0ZvcicsIHsgbGFiZWw6IGRvYz8uZmlsZW5hbWUgfSl9XG4gICAgICAgID5cbiAgICAgICAgICA8UHJldmlld1NpemVzIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259IGRvYz17ZG9jfSB1cGRhdGVkQXQ9e3VwZGF0ZWRBdH0gLz5cbiAgICAgICAgPC9EcmF3ZXI+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiZWRpdERyYXdlclNsdWciLCJzaXplUHJldmlld1NsdWciLCJVcGxvYWRBY3Rpb25zIiwiVXBsb2FkIiwiYmFzZUNsYXNzIiwidmFsaWRhdGUiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImNhbkVkaXQiLCJzaG93U2l6ZVByZXZpZXdzIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiZGl2IiwiY2xhc3NOYW1lIiwiRHJhd2VyVG9nZ2xlciIsInNsdWciLCJwcm9wcyIsInN1Ym1pdHRlZCIsInVzZUZvcm1TdWJtaXR0ZWQiLCJjb2xsZWN0aW9uIiwiaW50ZXJuYWxTdGF0ZSIsIm9uQ2hhbmdlIiwidXBkYXRlZEF0IiwicmVwbGFjaW5nRmlsZSIsInNldFJlcGxhY2luZ0ZpbGUiLCJ1c2VTdGF0ZSIsImZpbGVTcmMiLCJzZXRGaWxlU3JjIiwiZG9jIiwic2V0RG9jIiwicmVkdWNlRmllbGRzVG9WYWx1ZXMiLCJkb2NQZXJtaXNzaW9ucyIsInVzZURvY3VtZW50SW5mbyIsImVycm9yTWVzc2FnZSIsInNldFZhbHVlIiwic2hvd0Vycm9yIiwidXNlRmllbGQiLCJwYXRoIiwiaGFuZGxlRmlsZU5hbWVDaGFuZ2UiLCJlIiwidXBkYXRlZEZpbGVOYW1lIiwidGFyZ2V0IiwiZmlsZVZhbHVlIiwibmV3RmlsZSIsIkZpbGUiLCJ0eXBlIiwiaGFuZGxlRmlsZVNlbGVjdGlvbiIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJmaWxlcyIsImZpbGVUb1VwbG9hZCIsImhhbmRsZUZpbGVSZW1vdmFsIiwidXNlRWZmZWN0IiwiZmlsZVJlYWRlciIsIkZpbGVSZWFkZXIiLCJvbmxvYWQiLCJpbWdTcmMiLCJyZXN1bHQiLCJyZWFkQXNEYXRhVVJMIiwiY2FuUmVtb3ZlVXBsb2FkIiwidXBkYXRlIiwicGVybWlzc2lvbiIsImRlbGV0ZSIsImhhc0ltYWdlU2l6ZXMiLCJ1cGxvYWQiLCJpbWFnZVNpemVzIiwibGVuZ3RoIiwiaGFzUmVzaXplT3B0aW9ucyIsIkJvb2xlYW4iLCJyZXNpemVPcHRpb25zIiwiY3JvcCIsInNob3dDcm9wIiwiZm9jYWxQb2ludCIsInNob3dGb2NhbFBvaW50IiwibGFzdFN1Ym1pdHRlZFRpbWUiLCJEYXRlIiwidG9JU09TdHJpbmciLCJmaWVsZEJhc2VDbGFzcyIsImZpbHRlciIsImpvaW4iLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWxlbmFtZSIsIkZpbGVEZXRhaWxzIiwiaGFuZGxlUmVtb3ZlIiwiaW1hZ2VDYWNoZVRhZyIsIkRyb3B6b25lIiwibWltZVR5cGVzIiwiRnJhZ21lbnQiLCJUaHVtYm5haWwiLCJpc0ltYWdlIiwiaW5wdXQiLCJuYW1lIiwiQnV0dG9uIiwiYnV0dG9uU3R5bGUiLCJpY29uIiwiaWNvblN0eWxlIiwib25DbGljayIsInJvdW5kIiwidG9vbHRpcCIsIkRyYXdlciIsImhlYWRlciIsIkVkaXRVcGxvYWQiLCJmaWxlTmFtZSIsInVybCIsImhvdmVyVGl0bGUiLCJ0aXRsZSIsImxhYmVsIiwiUHJldmlld1NpemVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQXNCYUEsY0FBYztlQUFkQTs7SUFDQUMsZUFBZTtlQUFmQTs7SUFVQUMsYUFBYTtlQUFiQTs7SUFrQkFDLE1BQU07ZUFBTkE7OzsrREFuRDJDOzhCQUN6QjtnRUFJWDsrREFDRDt3QkFDbUI7MEJBQ2I7NEJBQ0U7b0VBQ0g7cUVBQ0M7a0VBQ0g7OERBQ0o7eUJBQ2U7NkVBQ0E7d0JBQ0Y7aUVBQ1Y7OEJBQ1c7UUFDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVQLE1BQU1DLFlBQVk7QUFDWCxNQUFNSixpQkFBaUI7QUFDdkIsTUFBTUMsa0JBQWtCO0FBRS9CLE1BQU1JLFdBQVcsQ0FBQ0M7SUFDaEIsSUFBSSxDQUFDQSxTQUFTQSxVQUFVQyxXQUFXO1FBQ2pDLE9BQU87SUFDVDtJQUVBLE9BQU87QUFDVDtBQUVPLE1BQU1MLGdCQUFnQixDQUFDLEVBQUVNLE9BQU8sRUFBRUMsZ0JBQWdCLEVBQUU7SUFDekQsTUFBTSxFQUFFQyxDQUFDLEVBQUUs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
@@ -5,109 +5,109 @@
5
5
  margin-bottom: var(--base);
6
6
  background: var(--theme-elevation-50);
7
7
 
8
+ &__upload {
9
+ display: flex;
10
+ }
11
+
8
12
  .tooltip.error-message {
9
13
  z-index: 3;
10
14
  bottom: calc(100% - #{base(0.5)});
11
15
  }
12
16
 
13
- &__drag-label {
14
- margin: 0;
15
- text-transform: lowercase;
17
+ &__file-selected {
18
+ display: flex;
16
19
  }
17
20
 
18
- &__upload {
21
+ &__thumbnail-wrap {
19
22
  position: relative;
23
+ width: 150px;
20
24
 
21
- input[type='file'] {
25
+ .thumbnail {
22
26
  position: absolute;
23
- top: 0;
24
- z-index: -1;
27
+ width: 100%;
28
+ height: 100%;
29
+ object-fit: contain;
25
30
  }
26
31
  }
27
32
 
28
- &__file-selected,
29
- &__drop-zone {
30
- background: var(--theme-elevation-100);
31
- position: relative;
32
- z-index: 2;
33
- padding: base(2);
34
- display: flex;
33
+ &__remove {
34
+ margin: calc($baseline * 1.5) $baseline $baseline 0;
35
+ place-self: flex-start;
35
36
  }
36
37
 
37
- &__drop-zone {
38
- align-items: center;
39
- border: 1px dotted var(--theme-elevation-400);
40
- gap: $baseline;
38
+ &__file-adjustments {
39
+ padding: $baseline;
40
+ width: 100%;
41
+ display: flex;
42
+ flex-direction: column;
43
+ gap: calc(var(--base) / 2);
44
+ }
41
45
 
42
- .btn {
43
- margin: 0;
44
- }
46
+ &__filename {
47
+ @include formInput;
48
+ background-color: var(--theme-bg);
45
49
  }
46
50
 
47
- &__file-selected {
48
- gap: $baseline;
49
- flex-direction: column;
50
- .btn {
51
- @include formInput;
52
- position: relative;
53
- margin: 0;
54
- margin-left: -1px;
55
- display: flex;
56
- padding: 0 base(0.5);
57
- align-items: center;
58
- display: flex;
51
+ &__file-mutation {
52
+ display: flex;
53
+ gap: calc(var(--base) / 2);
54
+ flex-wrap: wrap;
55
+
56
+ & button {
59
57
  cursor: pointer;
60
- width: fit-content;
58
+ background-color: var(--theme-elevation-150);
59
+ border: none;
60
+ border-radius: $style-radius-s;
61
+ padding: base(0.25) base(0.5);
62
+ text-wrap: nowrap;
63
+ overflow: hidden;
64
+ text-overflow: ellipsis;
61
65
 
62
66
  &:hover {
63
- .btn__icon {
64
- background: none;
65
-
66
- .stroke {
67
- stroke: currentColor;
68
- }
69
- }
67
+ background-color: var(--theme-elevation-100);
70
68
  }
71
69
  }
72
70
  }
73
71
 
74
- &__file-upload {
75
- display: flex;
76
- width: 100%;
72
+ &__previewDrawer {
73
+ & h2 {
74
+ margin: 0 base(1) 0 0;
75
+ text-wrap: nowrap;
76
+ overflow: hidden;
77
+ text-overflow: ellipsis;
78
+ max-width: calc(100% - base(2));
79
+ }
77
80
  }
78
81
 
79
- &__filename {
80
- @include formInput;
81
- padding-top: base(0.25);
82
- padding-bottom: base(0.25);
83
- flex-wrap: nowrap;
84
- }
82
+ @include small-break {
83
+ &__upload {
84
+ flex-wrap: wrap;
85
+ justify-content: space-between;
86
+ }
85
87
 
86
- &--dragging {
87
- .file-field__drop-zone {
88
- border-color: var(--theme-success-500);
89
- background: var(--theme-success-150);
88
+ &__remove {
89
+ margin: $baseline;
90
+ order: 2;
91
+ }
90
92
 
91
- * {
92
- pointer-events: none;
93
- }
93
+ &__file-adjustments {
94
+ order: 3;
95
+ border-top: 2px solid var(--theme-elevation-0);
96
+ padding: calc($baseline * 0.5);
97
+ gap: 0;
94
98
  }
95
- }
96
99
 
97
- @include mid-break {
98
- &__drop-zone {
99
- display: block;
100
- text-align: center;
100
+ &__thumbnail-wrap {
101
+ order: 1;
102
+ width: 50%;
101
103
 
102
- .btn {
103
- margin: 0 auto;
104
+ .thumbnail {
104
105
  width: 100%;
105
- max-width: 200px;
106
106
  }
107
+ }
107
108
 
108
- .file-field__drag-label {
109
- display: none;
110
- }
109
+ &__edit {
110
+ display: none;
111
111
  }
112
112
  }
113
113
  }
@@ -1,10 +1,9 @@
1
1
  import type { SanitizedCollectionConfig } from '../../../../../../collections/config/types';
2
2
  import type { Fields } from '../../../../forms/Form/types';
3
3
  export type Props = {
4
- adminThumbnail?: string;
5
4
  collection: SanitizedCollectionConfig;
6
- data?: Fields;
7
5
  internalState?: Fields;
8
- mimeTypes?: string[];
6
+ onChange?: (file?: File) => void;
7
+ updatedAt?: string;
9
8
  };
10
9
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/Edit/Upload/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAA;AAC3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAE1D,MAAM,MAAM,KAAK,GAAG;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,yBAAyB,CAAA;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/Edit/Upload/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAA;AAC3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAE1D,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,yBAAyB,CAAA;IACrC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { SanitizedCollectionConfig } from '../../../../../collections/config/types';
2
2
  import type { Field } from '../../../../../fields/config/types';
3
- declare const formatFields: (collection: SanitizedCollectionConfig, isEditing: boolean) => Field[];
3
+ declare const formatFields: (collection: SanitizedCollectionConfig, isEditing?: boolean) => Field[];
4
4
  export default formatFields;
5
5
  //# sourceMappingURL=formatFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatFields.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/views/collections/Edit/formatFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAA;AAI/D,QAAA,MAAM,YAAY,eAAgB,yBAAyB,aAAa,OAAO,KAAG,KAAK,EAGhE,CAAA;AAEvB,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"formatFields.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/views/collections/Edit/formatFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAA;AAI/D,QAAA,MAAM,YAAY,eAAgB,yBAAyB,cAAc,OAAO,KAAG,KAAK,EAGjE,CAAA;AAEvB,eAAe,YAAY,CAAA"}
@@ -12,4 +12,4 @@ const _types = require("../../../../../fields/config/types");
12
12
  const formatFields = (collection, isEditing)=>isEditing ? collection.fields.filter((field)=>(0, _types.fieldAffectsData)(field) && field.name !== 'id' || true) : collection.fields;
13
13
  const _default = formatFields;
14
14
 
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0VkaXQvZm9ybWF0RmllbGRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5cbmNvbnN0IGZvcm1hdEZpZWxkcyA9IChjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLCBpc0VkaXRpbmc6IGJvb2xlYW4pOiBGaWVsZFtdID0+XG4gIGlzRWRpdGluZ1xuICAgID8gY29sbGVjdGlvbi5maWVsZHMuZmlsdGVyKChmaWVsZCkgPT4gKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgIT09ICdpZCcpIHx8IHRydWUpXG4gICAgOiBjb2xsZWN0aW9uLmZpZWxkc1xuXG5leHBvcnQgZGVmYXVsdCBmb3JtYXRGaWVsZHNcbiJdLCJuYW1lcyI6WyJmb3JtYXRGaWVsZHMiLCJjb2xsZWN0aW9uIiwiaXNFZGl0aW5nIiwiZmllbGRzIiwiZmlsdGVyIiwiZmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFVQTs7O2VBQUE7Ozt1QkFQaUM7QUFFakMsTUFBTUEsZUFBZSxDQUFDQyxZQUF1Q0MsWUFDM0RBLFlBQ0lELFdBQVdFLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLENBQUNDLFFBQVUsQUFBQ0MsSUFBQUEsdUJBQWdCLEVBQUNELFVBQVVBLE1BQU1FLElBQUksS0FBSyxRQUFTLFFBQ3hGTixXQUFXRSxNQUFNO01BRXZCLFdBQWVIIn0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0VkaXQvZm9ybWF0RmllbGRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5cbmNvbnN0IGZvcm1hdEZpZWxkcyA9IChjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLCBpc0VkaXRpbmc/OiBib29sZWFuKTogRmllbGRbXSA9PlxuICBpc0VkaXRpbmdcbiAgICA/IGNvbGxlY3Rpb24uZmllbGRzLmZpbHRlcigoZmllbGQpID0+IChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lICE9PSAnaWQnKSB8fCB0cnVlKVxuICAgIDogY29sbGVjdGlvbi5maWVsZHNcblxuZXhwb3J0IGRlZmF1bHQgZm9ybWF0RmllbGRzXG4iXSwibmFtZXMiOlsiZm9ybWF0RmllbGRzIiwiY29sbGVjdGlvbiIsImlzRWRpdGluZyIsImZpZWxkcyIsImZpbHRlciIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBVUE7OztlQUFBOzs7dUJBUGlDO0FBRWpDLE1BQU1BLGVBQWUsQ0FBQ0MsWUFBdUNDLFlBQzNEQSxZQUNJRCxXQUFXRSxNQUFNLENBQUNDLE1BQU0sQ0FBQyxDQUFDQyxRQUFVLEFBQUNDLElBQUFBLHVCQUFnQixFQUFDRCxVQUFVQSxNQUFNRSxJQUFJLEtBQUssUUFBUyxRQUN4Rk4sV0FBV0UsTUFBTTtNQUV2QixXQUFlSCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/views/collections/Edit/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAOvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAczC,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAoIlC,CAAA;AACD,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/views/collections/Edit/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAQvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAezC,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA2JlC,CAAA;AACD,eAAe,QAAQ,CAAA"}