@procore/core-react 12.17.6 → 12.17.7

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 (278) hide show
  1. package/babel.config.js +4 -1
  2. package/dist/AnchorNavigation/AnchorNavigation.js.map +1 -1
  3. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  4. package/dist/AnchorNavigation/AnchorNavigationProvider.js.map +1 -1
  5. package/dist/Avatar/Avatar.js +1 -2
  6. package/dist/Avatar/Avatar.js.map +1 -1
  7. package/dist/Avatar/Avatar.styles.js +5 -5
  8. package/dist/AvatarStack/AvatarStack.js.map +1 -1
  9. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  10. package/dist/Badge/Badge.styles.js +2 -2
  11. package/dist/Banner/Banner.js +36 -6
  12. package/dist/Banner/Banner.js.map +1 -1
  13. package/dist/Banner/Banner.styles.d.ts +1 -1
  14. package/dist/Banner/Banner.styles.js +15 -15
  15. package/dist/Banner/Banner.styles.js.map +1 -1
  16. package/dist/Box/Box.styles.js +1 -1
  17. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  18. package/dist/Button/Button.js.map +1 -1
  19. package/dist/Button/Button.styles.d.ts +1 -0
  20. package/dist/Button/Button.styles.js +7 -7
  21. package/dist/Button/Button.styles.js.map +1 -1
  22. package/dist/Button/Button.types.d.ts +4 -0
  23. package/dist/Button/Button.types.js.map +1 -1
  24. package/dist/Calendar/Calendar.js.map +1 -1
  25. package/dist/Calendar/Calendar.styles.js +8 -8
  26. package/dist/Card/Card.styles.js +1 -1
  27. package/dist/Checkbox/Checkbox.styles.js +6 -6
  28. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  29. package/dist/ContactItem/ContactItem.styles.js +5 -5
  30. package/dist/Content/Content.styles.js +2 -2
  31. package/dist/DateInput/DateInput.js.map +1 -1
  32. package/dist/DateInput/DateInput.styles.js +6 -6
  33. package/dist/DateSelect/DateSelect.js.map +1 -1
  34. package/dist/DetailPage/DetailPage.styles.js +7 -7
  35. package/dist/Dropdown/Dropdown.styles.js +3 -3
  36. package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
  37. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  38. package/dist/Dropzone/Dropzone.hooks.js +1 -2
  39. package/dist/Dropzone/Dropzone.hooks.js.map +1 -1
  40. package/dist/Dropzone/Dropzone.js +7 -9
  41. package/dist/Dropzone/Dropzone.js.map +1 -1
  42. package/dist/Dropzone/Dropzone.styles.js +9 -9
  43. package/dist/EmptyState/EmptyState.styles.js +6 -6
  44. package/dist/Field/Field.styles.js +3 -3
  45. package/dist/FileList/FileList.styles.js +4 -4
  46. package/dist/FileSelect/FileExplorer/FileExplorer.js.map +1 -1
  47. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  48. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js.map +1 -1
  49. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  50. package/dist/FileSelect/FileSelect.js.map +1 -1
  51. package/dist/FileSelect/FileSelect.styles.js +2 -2
  52. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js.map +1 -1
  53. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  54. package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
  55. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  56. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  57. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  58. package/dist/FileSelect/LocalSource/LocalSource.js.map +1 -1
  59. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  60. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  61. package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
  62. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  63. package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
  64. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  65. package/dist/FileSelect/storyHelpers.js.map +1 -1
  66. package/dist/FileToken/FileToken.styles.js +4 -4
  67. package/dist/FilterToken/FilterToken.js +22 -32
  68. package/dist/FilterToken/FilterToken.js.map +1 -1
  69. package/dist/FilterToken/FilterToken.styles.d.ts +5 -0
  70. package/dist/FilterToken/FilterToken.styles.js +18 -2
  71. package/dist/FilterToken/FilterToken.styles.js.map +1 -1
  72. package/dist/FlexList/FlexList.styles.js +1 -1
  73. package/dist/Form/Form.js.map +1 -1
  74. package/dist/Form/Form.styles.js +14 -14
  75. package/dist/Form/StyledFormikForm.styles.js +2 -2
  76. package/dist/Form/stories/util.js.map +1 -1
  77. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  78. package/dist/Grid/Grid.styles.js +2 -2
  79. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  80. package/dist/Input/Input.styles.js +1 -1
  81. package/dist/Link/Link.styles.js +1 -1
  82. package/dist/ListPage/ListPage.styles.js +8 -8
  83. package/dist/Loader/Loader.styles.js +2 -2
  84. package/dist/Menu/Menu.js.map +1 -1
  85. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  86. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  87. package/dist/MenuImperative/sensors.js.map +1 -1
  88. package/dist/Modal/Modal.js.map +1 -1
  89. package/dist/Modal/Modal.styles.js +13 -13
  90. package/dist/MultiSelect/MultiSelect.js.map +1 -1
  91. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  92. package/dist/NextMenu/NextMenu.js.map +1 -1
  93. package/dist/NextMenu/NextMenu.styles.js +3 -3
  94. package/dist/Notation/Notation.js +1 -1
  95. package/dist/NumberInput/NumberInput.js.map +1 -1
  96. package/dist/NumberInput/NumberInput.styles.js +7 -7
  97. package/dist/Overlay/Overlay.js.map +1 -1
  98. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  99. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  100. package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
  101. package/dist/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  102. package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  103. package/dist/PageLayout/PageLayout.js.map +1 -1
  104. package/dist/PageLayout/PageLayout.styles.js +16 -16
  105. package/dist/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  106. package/dist/PageTemplate/PageTemplate.styles.js +3 -3
  107. package/dist/Pagination/Pagination.js.map +1 -1
  108. package/dist/Pagination/Pagination.styles.js +5 -5
  109. package/dist/Panel/Panel.js.map +1 -1
  110. package/dist/Panel/Panel.styles.js +11 -11
  111. package/dist/Pill/Pill.styles.js +2 -2
  112. package/dist/PillSelect/PillSelect.styles.js +4 -4
  113. package/dist/Popover/Popover.styles.js +2 -2
  114. package/dist/Portal/Portal.styles.js +1 -1
  115. package/dist/ProgressBar/ProgressBar.d.ts +2 -0
  116. package/dist/ProgressBar/ProgressBar.js +2 -0
  117. package/dist/ProgressBar/ProgressBar.js.map +1 -1
  118. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  119. package/dist/ProgressBar/ProgressBar.types.js.map +1 -1
  120. package/dist/RadioButton/RadioButton.styles.js +3 -3
  121. package/dist/Required/Required.styles.js +3 -3
  122. package/dist/Search/Search.js.map +1 -1
  123. package/dist/Search/Search.styles.js +5 -5
  124. package/dist/Section/Section.js +1 -2
  125. package/dist/Section/Section.js.map +1 -1
  126. package/dist/Section/Section.styles.js +7 -7
  127. package/dist/Section/Section.styles.js.map +1 -1
  128. package/dist/SegmentedController/SegmentedController.js.map +1 -1
  129. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  130. package/dist/Select/Select.js.map +1 -1
  131. package/dist/Select/Select.styles.js +7 -7
  132. package/dist/Semantic/Semantic.styles.js +9 -9
  133. package/dist/Slider/Slider.js.map +1 -1
  134. package/dist/Slider/Slider.styles.js +5 -5
  135. package/dist/Spinner/Spinner.styles.js +7 -7
  136. package/dist/SplitViewCard/SplitViewCard.context.js.map +1 -1
  137. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  138. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  139. package/dist/SuperSelect/SuperSelect.js.map +1 -1
  140. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  141. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  142. package/dist/SuperSelect/SuperSelect.utils.js +1 -2
  143. package/dist/SuperSelect/SuperSelect.utils.js.map +1 -1
  144. package/dist/SuperSelect/presets/contactsPreset.js.map +1 -1
  145. package/dist/SuperSelect/presets/filterPreset.js.map +1 -1
  146. package/dist/SuperSelect/presets/pillPreset.js.map +1 -1
  147. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  148. package/dist/Switch/Switch.styles.js +4 -4
  149. package/dist/Table/Table.js.map +1 -1
  150. package/dist/Table/Table.styles.js +28 -28
  151. package/dist/TableShelf/TableShelf.styles.js +5 -5
  152. package/dist/Tabs/Tabs.js.map +1 -1
  153. package/dist/Tabs/Tabs.styles.js +15 -15
  154. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  155. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  156. package/dist/TextArea/TextArea.styles.js +1 -1
  157. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  158. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  159. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  160. package/dist/Thumbnail/Thumbnail.utils.js +2 -3
  161. package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
  162. package/dist/Thumbnail/ThumbnailDocumentIcon.js +2 -3
  163. package/dist/Thumbnail/ThumbnailDocumentIcon.js.map +1 -1
  164. package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
  165. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  166. package/dist/TieredDropdown/TieredDropdown.js.map +1 -1
  167. package/dist/TieredSelect/LeafSelectionTieredSelect.js.map +1 -1
  168. package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
  169. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  170. package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
  171. package/dist/Tile/Tile.js.map +1 -1
  172. package/dist/Tile/Tile.styles.js +8 -8
  173. package/dist/Title/Title.styles.js +7 -7
  174. package/dist/Toast/Toast.styles.js +3 -3
  175. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  176. package/dist/Token/Token.styles.js +3 -3
  177. package/dist/ToolHeader/ActionIcon.types.example.js.map +1 -1
  178. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  179. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  180. package/dist/Tooltip/Tooltip.styles.js +2 -2
  181. package/dist/Tree/Tree.js.map +1 -1
  182. package/dist/Tree/Tree.styles.js +9 -9
  183. package/dist/Tree/Tree.styles.js.map +1 -1
  184. package/dist/Typeahead/Typeahead.styles.js +3 -3
  185. package/dist/Typography/Typography.styles.js +1 -1
  186. package/dist/Typography/Typography.table.story.js +2 -2
  187. package/dist/_hooks/FocusScopeOverride.js.map +1 -1
  188. package/dist/_hooks/Hotkey.js.map +1 -1
  189. package/dist/_hooks/TextEntry.js.map +1 -1
  190. package/dist/_hooks/Timer.js.map +1 -1
  191. package/dist/_hooks/Trigger.js.map +1 -1
  192. package/dist/_hooks/useFileUploader.js.map +1 -1
  193. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  194. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  195. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  196. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  197. package/dist/_typedoc/Box/Box.types.json +68 -68
  198. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  199. package/dist/_typedoc/Button/Button.types.json +24 -16
  200. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  201. package/dist/_typedoc/Card/Card.types.json +6 -6
  202. package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
  203. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  204. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  205. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  206. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  207. package/dist/_typedoc/Dropdown/Dropdown.types.json +43 -39
  208. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  209. package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
  210. package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
  211. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  212. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  213. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  214. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  215. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  216. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  217. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  218. package/dist/_typedoc/Form/Form.types.json +741 -741
  219. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  220. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  221. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  222. package/dist/_typedoc/Input/Input.types.json +2 -2
  223. package/dist/_typedoc/Link/Link.types.json +4 -4
  224. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  225. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  226. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  227. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  228. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  229. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  230. package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
  231. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
  232. package/dist/_typedoc/PageLayout/PageLayout.types.json +29 -29
  233. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  234. package/dist/_typedoc/Panel/Panel.types.json +34 -30
  235. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  236. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  237. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  238. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  239. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  240. package/dist/_typedoc/Required/Required.types.json +5 -5
  241. package/dist/_typedoc/Search/Search.types.json +19 -19
  242. package/dist/_typedoc/Section/Section.types.json +15 -15
  243. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  244. package/dist/_typedoc/Select/Select.types.json +60 -60
  245. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  246. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  247. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  248. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +12 -12
  249. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  250. package/dist/_typedoc/Table/Table.types.json +101 -101
  251. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  252. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  253. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  254. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  255. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  256. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  257. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +48 -44
  258. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  259. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  260. package/dist/_typedoc/Title/Title.types.json +1 -1
  261. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  262. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  263. package/dist/_typedoc/Token/Token.types.json +4 -4
  264. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  265. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
  266. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  267. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  268. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  269. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  270. package/dist/_typedoc/_utils/types.json +3 -3
  271. package/dist/_typedoc/deprecations.json +1 -1
  272. package/dist/_utils/TinyMCE.js.map +1 -1
  273. package/dist/_utils/closeWithConfirm.js.map +1 -1
  274. package/dist/_utils/dateTime.js.map +1 -1
  275. package/dist/_utils/getAnchorPosition.js.map +1 -1
  276. package/package.json +2 -1
  277. package/tsconfig.prod.json +2 -1
  278. package/tsconfig.test.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FileSelect.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","React","ulid","useI18nContext","useFileUploader","addSubcomponents","FileExplorer","StyledFileSelect","StyledFileTokenList","FileSelectDropzone","GridSource","LocalSource","ProgressAnnouncer","TreeSource","FileSelectLocalSourceId","defaultGetTokenLabel","sourceId","sourceValueEntry","defaultGetMethod","defaultGetPayloadKey","defaultGetHeaders","getValueTokenLabel","entry","_getTokenLabel","getTokenLabel","undefined","namePlaceholder","console","warn","concat","FileSelectBase","forwardRef","_ref","ref","onAdd","_ref$beforeLocalFileU","beforeLocalFileUpload","onRemove","onProgress","onUploadStateChange","onError","onFileTokenClick","afterHide","dropzoneContentRenderer","_ref$hideDropzone","hideDropzone","_ref$getTokenLabel","_ref$hideLocalSource","hideLocalSource","localSourceDropzoneContentRenderer","_ref$maxFileNumber","maxFileNumber","Infinity","maxFileSize","minFileSize","accept","getEndpoint","_ref$getMethod","getMethod","_ref$getPayloadKey","getPayloadKey","getPayload","_ref$getHeaders","getHeaders","uploadFile","children","qa","props","_excluded","_React$useState","useState","_React$useState2","isOpen","setIsOpen","_React$useState3","_React$useState4","currentSource","setCurrentSource","_React$useState5","_React$useState6","sources","setSources","I18n","fileUploader","_React$useState7","_React$useState8","setValue","_React$useState9","_React$useState10","uploadProgress","setUploadProgress","_React$useState11","_React$useState12","pendingUploadsCount","setPendingUploadsCount","modalElRef","useRef","rootElRef","dropzoneRef","useEffect","useImperativeHandle","open","_sources$","newCurrentSource","close","resetSources","_resetListeners$curre","resetListeners","current","cb","modalEl","rootEl","uploadedValues","error","adjustedMaxFileNumber","hasReachedMaxFileNumber","unsubmittedSourceValues","flatMap","source","updateFile","fileId","payload","map","id","onProgressInternal","progress","Math","min","onErrorInternal","uploadFiles","newFiles","onComplete","response","localFile","find","uploadedFile","blob","src","onCompleteAll","onDrop","_ref2","_callee","acceptedFiles","shouldAttach","_callee$","_context","file","reduce","acc","item","_x","onFileExplorerSubmit","_sources$2","_dropzoneRef$current","_dropzoneRef$current$","origin","clearErrors","resetListener","attachButton","focus","onFileExplorerCancel","_sources$3","_dropzoneRef$current2","_dropzoneRef$current3","_dropzoneRef$current4","handleFileRemoval","updateSource","onAttachFromProject","_sources$4","createElement","_extends","container","unsubmittedValueCount","onCancel","onSubmit","onCurrentSourceChange","FileSelectContext","Provider","register","title","icon","isUploading","hasError","onChange","onResetValue","listener","listenerEntry","setIsUploading","setHasError","isModalOpen","localSource","tooltip","contentRenderer","dropzoneProps","openFileExplorer","openLocalFiles","disabled","errorMessage","multiple","noDrag","items","tokens","_uploadProgress$v$id","onClick","onClose","closeButton","removeEntry","noop","createContext","useFileSelectContext","useContext","FileSelect"],"sources":["../../src/FileSelect/FileSelect.tsx"],"sourcesContent":["import type { Method } from 'axios'\nimport React from 'react'\nimport { ulid } from 'ulid'\nimport type { PortalProps } from '../Portal/Portal.types'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useFileUploader } from '../_hooks/useFileUploader'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport type { DivAttributes } from '../_utils/types'\nimport { FileExplorer } from './FileExplorer/FileExplorer'\nimport { StyledFileSelect, StyledFileTokenList } from './FileSelect.styles'\nimport type {\n FileSelectContextApi,\n FileSelectProps,\n FileSelectRef,\n FileSelectSource,\n FileSelectSourceIdType,\n FileSelectValue,\n FileSelectValueEntry,\n} from './FileSelect.types'\nimport { FileSelectDropzone } from './FileSelectDropzone/FileSelectDropzone'\nimport type { FileSelectDropzoneRef } from './FileSelectDropzone/FileSelectDropzone.types'\nimport { GridSource } from './GridSource/GridSource'\nimport { LocalSource } from './LocalSource/LocalSource'\nimport type { ValueId } from './LocalSource/LocalSource.types'\nimport { ProgressAnnouncer } from './ProgressAnnouncer'\nimport { TreeSource } from './TreeSource/TreeSource'\n\nexport const FileSelectLocalSourceId = 'FileSelectLocalSource'\n\nconst defaultGetTokenLabel = (sourceId: string, sourceValueEntry: unknown) =>\n (sourceValueEntry as { name: string }).name\n\nconst defaultGetMethod = () => 'POST' as Method\nconst defaultGetPayloadKey = () => 'file'\nconst defaultGetHeaders = () => ({})\n\nconst getValueTokenLabel = (\n sourceId: FileSelectSourceIdType,\n entry: FileSelectValueEntry,\n getTokenLabel: FileSelectProps['getTokenLabel'] = defaultGetTokenLabel\n) => {\n const namePlaceholder = 'Untitled'\n const name = getTokenLabel(sourceId, entry) ?? entry.name\n\n if (!name) {\n console.warn(\n `FileSelect: Couldn't derive the name of \"${sourceId}\" source value. Check the source or use \"getTokenLabel\" prop`\n )\n }\n\n return name ?? namePlaceholder\n}\n\ntype FileSelectDOMAttributes = Omit<DivAttributes, 'onError' | 'onProgress'>\n\nconst FileSelectBase = React.forwardRef<\n FileSelectRef,\n FileSelectProps & FileSelectDOMAttributes & PortalProps\n>(\n (\n {\n onAdd,\n beforeLocalFileUpload = () => new Promise((resolve) => resolve(true)),\n onRemove,\n onProgress,\n onUploadStateChange,\n onError,\n onFileTokenClick,\n afterHide,\n\n dropzoneContentRenderer,\n hideDropzone = false,\n getTokenLabel = defaultGetTokenLabel,\n\n hideLocalSource = false,\n localSourceDropzoneContentRenderer,\n\n maxFileNumber = Infinity,\n maxFileSize,\n minFileSize,\n accept,\n\n getEndpoint,\n getMethod = defaultGetMethod,\n getPayloadKey = defaultGetPayloadKey,\n getPayload,\n getHeaders = defaultGetHeaders,\n uploadFile,\n\n children,\n qa,\n ...props\n },\n ref\n ) => {\n const [isOpen, setIsOpen] = React.useState(false)\n const [currentSource, setCurrentSource] =\n React.useState<FileSelectSourceIdType>('')\n const [sources, setSources] = React.useState<FileSelectSource[]>([])\n const I18n = useI18nContext()\n const fileUploader = useFileUploader({\n getEndpoint,\n getMethod,\n getPayloadKey,\n getPayload,\n getHeaders,\n uploadFile,\n })\n const [value, setValue] = React.useState<FileSelectValue>([])\n const [uploadProgress, setUploadProgress] = React.useState<\n Record<ValueId, number | null>\n >({})\n const [pendingUploadsCount, setPendingUploadsCount] = React.useState(0)\n\n const modalElRef = React.useRef<HTMLDivElement>(null)\n const rootElRef = React.useRef<HTMLDivElement>(null)\n const dropzoneRef = React.useRef<FileSelectDropzoneRef>(null)\n\n React.useEffect(() => {\n onUploadStateChange?.(pendingUploadsCount > 0)\n }, [pendingUploadsCount])\n\n React.useImperativeHandle(ref, () => ({\n setValue,\n open: (sourceId) => {\n setIsOpen(true)\n const newCurrentSource = sourceId ?? sources[0]?.sourceId\n if (newCurrentSource) {\n setCurrentSource(newCurrentSource)\n }\n },\n close: () => {\n setIsOpen(false)\n },\n resetSources: () => {\n resetListeners.current?.forEach((cb) => cb())\n },\n modalEl: modalElRef,\n rootEl: rootElRef,\n }))\n\n const uploadedValues = value.filter((entry) => !entry.error)\n const adjustedMaxFileNumber = maxFileNumber - uploadedValues.length\n const hasReachedMaxFileNumber = adjustedMaxFileNumber < 1\n\n const unsubmittedSourceValues = sources.flatMap((source) => source.value)\n\n const updateFile = (\n fileId: ValueId,\n payload: Partial<FileSelectValueEntry>\n ) => {\n setValue((prev) =>\n prev.map((v) => {\n if (v.id === fileId) {\n return {\n ...v,\n ...payload,\n }\n }\n return v\n })\n )\n }\n\n function onProgressInternal(id: ValueId, progress: number) {\n onProgress?.(id, progress)\n setUploadProgress((prev) => ({\n ...prev,\n [id]: Math.min(99, progress),\n }))\n }\n\n function onErrorInternal(id: ValueId, error: unknown) {\n updateFile(id, { error: I18n.t('core.fileSelect.uploadFailed') })\n onError?.(id, error)\n setUploadProgress((prev) => ({\n ...prev,\n [id]: 100,\n }))\n }\n\n const uploadFiles = (newFiles: FileSelectValue) => {\n function onComplete(id: ValueId, response: unknown) {\n const localFile = newFiles.find(\n (entry) => entry.id === id\n ) as FileSelectValueEntry\n updateFile(id, { response })\n\n const uploadedFile = {\n ...localFile,\n sourceId: FileSelectLocalSourceId,\n response,\n }\n onAdd?.([uploadedFile])\n setUploadProgress((prev) => ({\n ...prev,\n [id]: 100,\n }))\n }\n\n setPendingUploadsCount((prev) => prev + 1)\n fileUploader.uploadFiles(\n newFiles.map((entry) => ({ id: entry.id, blob: entry.src as File })),\n {\n onComplete,\n onProgress: onProgressInternal,\n onError: onErrorInternal,\n onCompleteAll: () => {\n setPendingUploadsCount((prev) => prev - 1)\n },\n }\n )\n }\n\n const onDrop = async (acceptedFiles: File[]) => {\n const newFiles: FileSelectValue = acceptedFiles\n .slice(0, adjustedMaxFileNumber)\n .map((file) => ({\n src: file,\n id: ulid(),\n name: file.name,\n sourceId: FileSelectLocalSourceId,\n }))\n\n const shouldAttach = await beforeLocalFileUpload(newFiles)\n if (!shouldAttach) return\n\n setUploadProgress((prev) =>\n newFiles.reduce((acc, item) => {\n acc[item.id] = 0\n return acc\n }, prev)\n )\n\n setValue((prev) => [\n ...prev,\n ...newFiles.map((file) => ({\n ...file,\n name: getValueTokenLabel(\n FileSelectLocalSourceId,\n file,\n getTokenLabel\n ),\n })),\n ])\n\n uploadFiles(newFiles)\n }\n\n const onFileExplorerSubmit = () => {\n setIsOpen(false)\n\n const values = sources.flatMap((source) => {\n if (source.sourceId === FileSelectLocalSourceId) {\n return source.value.map((v) => {\n const name = getValueTokenLabel(source.sourceId, v, getTokenLabel)\n return {\n ...v,\n name,\n sourceId: FileSelectLocalSourceId,\n }\n })\n }\n\n return source.value.map((entry) => {\n const name = getValueTokenLabel(source.sourceId, entry, getTokenLabel)\n\n return {\n id: ulid(),\n name,\n sourceId: source.sourceId,\n origin: entry,\n }\n })\n })\n setValue((prev) => [...prev, ...values])\n onAdd?.(values)\n\n clearErrors()\n resetListeners.current.forEach((resetListener) => resetListener?.())\n setCurrentSource(sources[0]?.sourceId)\n dropzoneRef.current?.attachButton?.focus()\n afterHide?.('submit')\n }\n\n const onFileExplorerCancel = () => {\n setIsOpen(false)\n resetListeners.current.forEach((resetListener) => resetListener?.())\n setCurrentSource(sources[0]?.sourceId)\n dropzoneRef.current?.attachButton?.focus()\n afterHide?.('cancel')\n }\n\n const clearErrors = () => {\n dropzoneRef.current?.clearErrors()\n }\n\n const handleFileRemoval = (value: FileSelectValueEntry) => {\n setValue((prev) => prev.filter((entry) => entry.id !== value.id))\n onRemove?.(value)\n setUploadProgress((prev) => ({\n ...prev,\n [value.id]: null,\n }))\n clearErrors()\n }\n\n const updateSource = (\n sourceId: FileSelectSourceIdType,\n props: Partial<FileSelectSource>\n ) => {\n setSources((prev) =>\n prev.map((source) => {\n if (source.sourceId === sourceId) {\n return {\n ...source,\n ...props,\n }\n }\n return source\n })\n )\n }\n\n const onAttachFromProject = () => {\n setIsOpen(true)\n if (!currentSource) {\n setCurrentSource(sources[0]?.sourceId)\n }\n }\n\n const resetListeners = React.useRef<(() => void)[]>([])\n\n return (\n <StyledFileSelect {...props} ref={rootElRef}>\n <FileExplorer\n ref={modalElRef}\n container={props.container}\n qa={{ attachButton: qa?.attachButton }}\n unsubmittedValueCount={unsubmittedSourceValues.length}\n onCancel={onFileExplorerCancel}\n onSubmit={onFileExplorerSubmit}\n sources={sources}\n currentSource={currentSource}\n onCurrentSourceChange={setCurrentSource}\n isOpen={isOpen}\n >\n <FileSelectContext.Provider\n value={{\n register: (sourceId, source) => {\n setSources((prev) => [\n ...prev,\n {\n title: '',\n icon: '',\n isUploading: false,\n hasError: false,\n value: [],\n ...source,\n sourceId,\n },\n ])\n return () => {\n setSources((prev) =>\n prev.filter((source) => source.sourceId !== sourceId)\n )\n }\n },\n currentSource,\n onChange: (sourceId, value) => {\n updateSource(sourceId, { value })\n },\n onResetValue: (listener) => {\n resetListeners.current = [...resetListeners.current, listener]\n return () => {\n resetListeners.current = resetListeners.current.filter(\n (listenerEntry) => listener !== listenerEntry\n )\n }\n },\n setIsUploading: (sourceId, isUploading) => {\n updateSource(sourceId, { isUploading })\n },\n setHasError: (sourceId, hasError) => {\n updateSource(sourceId, { hasError })\n },\n isModalOpen: isOpen,\n maxFileNumber:\n adjustedMaxFileNumber - unsubmittedSourceValues.length,\n }}\n >\n {!hideLocalSource ? (\n <LocalSource\n beforeLocalFileUpload={beforeLocalFileUpload}\n dropzoneContentRenderer={localSourceDropzoneContentRenderer}\n sourceId={FileSelectLocalSourceId}\n getEndpoint={getEndpoint}\n getMethod={getMethod}\n getPayloadKey={getPayloadKey}\n getPayload={getPayload}\n getHeaders={getHeaders}\n uploadFile={uploadFile}\n accept={accept}\n maxFileSize={maxFileSize}\n minFileSize={minFileSize}\n qa={qa?.localSource}\n />\n ) : null}\n {children}\n </FileSelectContext.Provider>\n </FileExplorer>\n <FileSelectDropzone\n ref={dropzoneRef}\n hideDropzone={hideDropzone}\n tooltip={\n hasReachedMaxFileNumber\n ? I18n.t('core.fileSelect.maxNumberOfFilesSelected')\n : ''\n }\n contentRenderer={\n dropzoneContentRenderer\n ? (dropzoneProps) => {\n return dropzoneContentRenderer({\n openFileExplorer: onAttachFromProject,\n openLocalFiles: dropzoneProps.open,\n disabled: dropzoneProps.disabled,\n errorMessage: dropzoneProps.errorMessage,\n })\n }\n : undefined\n }\n onAttachFromProject={onAttachFromProject}\n accept={accept}\n maxFileNumber={maxFileNumber}\n maxFileSize={maxFileSize}\n minFileSize={minFileSize}\n disabled={hasReachedMaxFileNumber}\n value={uploadedValues}\n onDrop={onDrop}\n multiple\n noDrag={hideDropzone}\n />\n <ProgressAnnouncer\n items={value.filter((v) => uploadProgress[v.id])}\n uploadProgress={uploadProgress}\n />\n <StyledFileTokenList\n tokens={value.map((v) => ({\n ...v,\n progress: uploadProgress[v.id] ?? 100,\n }))}\n onClick={onFileTokenClick}\n onClose={handleFileRemoval}\n qa={{ closeButton: qa?.removeEntry }}\n />\n </StyledFileSelect>\n )\n }\n)\n\nfunction noop() {}\n\nexport const FileSelectContext = React.createContext<FileSelectContextApi>({\n register: () => noop,\n currentSource: '',\n isModalOpen: false,\n onChange: noop,\n onResetValue: () => noop,\n maxFileNumber: Infinity,\n setIsUploading: noop,\n setHasError: noop,\n})\n\nexport const useFileSelectContext = () => {\n return React.useContext(FileSelectContext)\n}\n\n/**\n\n The file explorer enables users to select permitted files from various document\n sources in procore to attach to items.\n\n @since 10.19.0\n\n @see [Storybook](https://procore.github.io/core/latest/?path=/story/demos-fileselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/file-select)\n @see [New File Select Repo](https://github.com/procore/documents-js-monorepo/tree/main/packages/file-select)\n\n @deprecated\n This component has been removed from the system. The File Select base component is now managed in documents-js-monorepo.\n @deprecatedSince 11.23.3\n\n */\n\nexport const FileSelect = addSubcomponents(\n {\n LocalSource,\n GridSource,\n TreeSource,\n },\n FileSelectBase\n)\n"],"mappings":";;;+CACA,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAApG,CAAA,WAAAqG,kBAAA,CAAArG,CAAA,KAAAsG,gBAAA,CAAAtG,CAAA,KAAAuG,2BAAA,CAAAvG,CAAA,KAAAwG,kBAAA;AAAA,SAAAA,mBAAA,cAAA3C,SAAA;AAAA,SAAAyC,iBAAAtG,CAAA,8BAAAS,MAAA,YAAAT,CAAA,CAAAS,MAAA,CAAAE,QAAA,aAAAX,CAAA,uBAAAyG,KAAA,CAAAC,IAAA,CAAA1G,CAAA;AAAA,SAAAqG,mBAAArG,CAAA,QAAAyG,KAAA,CAAAE,OAAA,CAAA3G,CAAA,UAAA4G,iBAAA,CAAA5G,CAAA;AAAA,SAAA6G,mBAAA1G,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAyG,kBAAA3G,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAiH,SAAA,aAAAzB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAA6G,KAAA,CAAAjH,CAAA,EAAAD,CAAA,YAAAmH,MAAA9G,CAAA,IAAA0G,kBAAA,CAAAnG,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAA4G,KAAA,EAAAC,MAAA,UAAA/G,CAAA,cAAA+G,OAAA/G,CAAA,IAAA0G,kBAAA,CAAAnG,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAA4G,KAAA,EAAAC,MAAA,WAAA/G,CAAA,KAAA8G,KAAA;AAAA,SAAAE,QAAArH,CAAA,EAAAE,CAAA,QAAAD,CAAA,GAAAE,MAAA,CAAAsF,IAAA,CAAAzF,CAAA,OAAAG,MAAA,CAAAmH,qBAAA,QAAA/G,CAAA,GAAAJ,MAAA,CAAAmH,qBAAA,CAAAtH,CAAA,GAAAE,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAgH,MAAA,WAAArH,CAAA,WAAAC,MAAA,CAAAqH,wBAAA,CAAAxH,CAAA,EAAAE,CAAA,EAAAiB,UAAA,OAAAlB,CAAA,CAAAwE,IAAA,CAAAyC,KAAA,CAAAjH,CAAA,EAAAM,CAAA,YAAAN,CAAA;AAAA,SAAAwH,cAAAzH,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA+G,SAAA,CAAAnC,MAAA,EAAA5E,CAAA,UAAAD,CAAA,WAAAgH,SAAA,CAAA/G,CAAA,IAAA+G,SAAA,CAAA/G,CAAA,QAAAA,CAAA,OAAAmH,OAAA,CAAAlH,MAAA,CAAAF,CAAA,OAAA4C,OAAA,WAAA3C,CAAA,IAAAwH,eAAA,CAAA1H,CAAA,EAAAE,CAAA,EAAAD,CAAA,CAAAC,CAAA,SAAAC,MAAA,CAAAwH,yBAAA,GAAAxH,MAAA,CAAAyH,gBAAA,CAAA5H,CAAA,EAAAG,MAAA,CAAAwH,yBAAA,CAAA1H,CAAA,KAAAoH,OAAA,CAAAlH,MAAA,CAAAF,CAAA,GAAA4C,OAAA,WAAA3C,CAAA,IAAAC,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAE,CAAA,EAAAC,MAAA,CAAAqH,wBAAA,CAAAvH,CAAA,EAAAC,CAAA,iBAAAF,CAAA;AAAA,SAAA0H,gBAAA1H,CAAA,EAAAE,CAAA,EAAAD,CAAA,YAAAC,CAAA,GAAA2H,cAAA,CAAA3H,CAAA,MAAAF,CAAA,GAAAG,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAE,CAAA,IAAAO,KAAA,EAAAR,CAAA,EAAAkB,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAArB,CAAA,CAAAE,CAAA,IAAAD,CAAA,EAAAD,CAAA;AAAA,SAAA6H,eAAA5H,CAAA,QAAAS,CAAA,GAAAoH,YAAA,CAAA7H,CAAA,gCAAAgD,OAAA,CAAAvC,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAoH,aAAA7H,CAAA,EAAAC,CAAA,oBAAA+C,OAAA,CAAAhD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAU,MAAA,CAAAoH,WAAA,kBAAA/H,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAA8B,IAAA,CAAA7B,CAAA,EAAAC,CAAA,gCAAA+C,OAAA,CAAAvC,CAAA,UAAAA,CAAA,YAAAqD,SAAA,yEAAA7D,CAAA,GAAA8H,MAAA,GAAAC,MAAA,EAAAhI,CAAA;AAAA,SAAAiI,eAAAhI,CAAA,EAAAF,CAAA,WAAAmI,eAAA,CAAAjI,CAAA,KAAAkI,qBAAA,CAAAlI,CAAA,EAAAF,CAAA,KAAAyG,2BAAA,CAAAvG,CAAA,EAAAF,CAAA,KAAAqI,gBAAA;AAAA,SAAAA,iBAAA,cAAAtE,SAAA;AAAA,SAAA0C,4BAAAvG,CAAA,EAAAU,CAAA,QAAAV,CAAA,2BAAAA,CAAA,SAAA4G,iBAAA,CAAA5G,CAAA,EAAAU,CAAA,OAAAX,CAAA,MAAAqI,QAAA,CAAAxG,IAAA,CAAA5B,CAAA,EAAA4F,KAAA,6BAAA7F,CAAA,IAAAC,CAAA,CAAA+E,WAAA,KAAAhF,CAAA,GAAAC,CAAA,CAAA+E,WAAA,CAAAC,IAAA,aAAAjF,CAAA,cAAAA,CAAA,GAAA0G,KAAA,CAAAC,IAAA,CAAA1G,CAAA,oBAAAD,CAAA,+CAAAsI,IAAA,CAAAtI,CAAA,IAAA6G,iBAAA,CAAA5G,CAAA,EAAAU,CAAA;AAAA,SAAAkG,kBAAA5G,CAAA,EAAAU,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAV,CAAA,CAAA4E,MAAA,MAAAlE,CAAA,GAAAV,CAAA,CAAA4E,MAAA,YAAA9E,CAAA,MAAAK,CAAA,GAAAsG,KAAA,CAAA/F,CAAA,GAAAZ,CAAA,GAAAY,CAAA,EAAAZ,CAAA,IAAAK,CAAA,CAAAL,CAAA,IAAAE,CAAA,CAAAF,CAAA,UAAAK,CAAA;AAAA,SAAA+H,sBAAAlI,CAAA,EAAA8B,CAAA,QAAA/B,CAAA,WAAAC,CAAA,gCAAAS,MAAA,IAAAT,CAAA,CAAAS,MAAA,CAAAE,QAAA,KAAAX,CAAA,4BAAAD,CAAA,QAAAD,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAM,CAAA,EAAAJ,CAAA,OAAAqB,CAAA,OAAA1B,CAAA,iBAAAG,CAAA,IAAAT,CAAA,GAAAA,CAAA,CAAA6B,IAAA,CAAA5B,CAAA,GAAA+D,IAAA,QAAAjC,CAAA,QAAA7B,MAAA,CAAAF,CAAA,MAAAA,CAAA,UAAAgC,CAAA,uBAAAA,CAAA,IAAAjC,CAAA,GAAAU,CAAA,CAAAoB,IAAA,CAAA7B,CAAA,GAAAsD,IAAA,MAAA3C,CAAA,CAAA6D,IAAA,CAAAzE,CAAA,CAAAS,KAAA,GAAAG,CAAA,CAAAkE,MAAA,KAAA9C,CAAA,GAAAC,CAAA,iBAAA/B,CAAA,IAAAK,CAAA,OAAAF,CAAA,GAAAH,CAAA,yBAAA+B,CAAA,YAAAhC,CAAA,eAAAe,CAAA,GAAAf,CAAA,cAAAE,MAAA,CAAAa,CAAA,MAAAA,CAAA,2BAAAT,CAAA,QAAAF,CAAA,aAAAO,CAAA;AAAA,SAAAuH,gBAAAjI,CAAA,QAAAyG,KAAA,CAAAE,OAAA,CAAA3G,CAAA,UAAAA,CAAA;AAAA,SAAAsI,yBAAAxI,CAAA,EAAAC,CAAA,gBAAAD,CAAA,iBAAAO,CAAA,EAAAL,CAAA,EAAAQ,CAAA,GAAA+H,6BAAA,CAAAzI,CAAA,EAAAC,CAAA,OAAAE,MAAA,CAAAmH,qBAAA,QAAAjH,CAAA,GAAAF,MAAA,CAAAmH,qBAAA,CAAAtH,CAAA,QAAAE,CAAA,MAAAA,CAAA,GAAAG,CAAA,CAAAyE,MAAA,EAAA5E,CAAA,IAAAK,CAAA,GAAAF,CAAA,CAAAH,CAAA,UAAAD,CAAA,CAAAyI,OAAA,CAAAnI,CAAA,QAAAoI,oBAAA,CAAA7G,IAAA,CAAA9B,CAAA,EAAAO,CAAA,MAAAG,CAAA,CAAAH,CAAA,IAAAP,CAAA,CAAAO,CAAA,aAAAG,CAAA;AAAA,SAAA+H,8BAAAvI,CAAA,EAAAF,CAAA,gBAAAE,CAAA,iBAAAD,CAAA,gBAAAI,CAAA,IAAAH,CAAA,SAAAI,cAAA,CAAAwB,IAAA,CAAA5B,CAAA,EAAAG,CAAA,gBAAAL,CAAA,CAAA0I,OAAA,CAAArI,CAAA,aAAAJ,CAAA,CAAAI,CAAA,IAAAH,CAAA,CAAAG,CAAA,YAAAJ,CAAA;AAAA,OAAO2I,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,MAAM;AAE3B,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,gBAAgB,QAAQ,4BAA4B;AAE7D,SAASC,YAAY,QAAQ,6BAA6B;AAC1D,SAASC,gBAAgB,EAAEC,mBAAmB,QAAQ,qBAAqB;AAU3E,SAASC,kBAAkB,QAAQ,yCAAyC;AAE5E,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,WAAW,QAAQ,2BAA2B;AAEvD,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,UAAU,QAAQ,yBAAyB;AAEpD,OAAO,IAAMC,uBAAuB,GAAG,uBAAuB;AAE9D,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,QAAgB,EAAEC,gBAAyB;EAAA,OACtEA,gBAAgB,CAAsB1E,IAAI;AAAA;AAE7C,IAAM2E,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA;EAAA,OAAS,MAAM;AAAA,CAAU;AAC/C,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA;EAAA,OAAS,MAAM;AAAA;AACzC,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAA;EAAA,OAAU,CAAC,CAAC;AAAA,CAAC;AAEpC,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CACtBL,QAAgC,EAChCM,KAA2B,EAExB;EAAA,IAAAC,cAAA;EAAA,IADHC,aAA+C,GAAAlD,SAAA,CAAAnC,MAAA,QAAAmC,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAGyC,oBAAoB;EAEtE,IAAMW,eAAe,GAAG,UAAU;EAClC,IAAMnF,IAAI,IAAAgF,cAAA,GAAGC,aAAa,CAACR,QAAQ,EAAEM,KAAK,CAAC,cAAAC,cAAA,cAAAA,cAAA,GAAID,KAAK,CAAC/E,IAAI;EAEzD,IAAI,CAACA,IAAI,EAAE;IACToF,OAAO,CAACC,IAAI,8CAAAC,MAAA,CACkCb,QAAQ,oEACtD,CAAC;EACH;EAEA,OAAOzE,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAImF,eAAe;AAChC,CAAC;AAID,IAAMI,cAAc,gBAAG7B,KAAK,CAAC8B,UAAU,CAIrC,UAAAC,IAAA,EAkCEC,GAAG,EACA;EAAA,IAjCDC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAAC,qBAAA,GAAAH,IAAA,CACLI,qBAAqB;IAArBA,qBAAqB,GAAAD,qBAAA,cAAG;MAAA,OAAM,IAAItF,OAAO,CAAC,UAACtC,OAAO;QAAA,OAAKA,OAAO,CAAC,IAAI,CAAC;MAAA,EAAC;IAAA,IAAA4H,qBAAA;IACrEE,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,UAAU,GAAAN,IAAA,CAAVM,UAAU;IACVC,mBAAmB,GAAAP,IAAA,CAAnBO,mBAAmB;IACnBC,OAAO,GAAAR,IAAA,CAAPQ,OAAO;IACPC,gBAAgB,GAAAT,IAAA,CAAhBS,gBAAgB;IAChBC,SAAS,GAAAV,IAAA,CAATU,SAAS;IAETC,uBAAuB,GAAAX,IAAA,CAAvBW,uBAAuB;IAAAC,iBAAA,GAAAZ,IAAA,CACvBa,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAG,KAAK,GAAAA,iBAAA;IAAAE,kBAAA,GAAAd,IAAA,CACpBR,aAAa;IAAbA,aAAa,GAAAsB,kBAAA,cAAG/B,oBAAoB,GAAA+B,kBAAA;IAAAC,oBAAA,GAAAf,IAAA,CAEpCgB,eAAe;IAAfA,eAAe,GAAAD,oBAAA,cAAG,KAAK,GAAAA,oBAAA;IACvBE,kCAAkC,GAAAjB,IAAA,CAAlCiB,kCAAkC;IAAAC,kBAAA,GAAAlB,IAAA,CAElCmB,aAAa;IAAbA,aAAa,GAAAD,kBAAA,cAAGE,QAAQ,GAAAF,kBAAA;IACxBG,WAAW,GAAArB,IAAA,CAAXqB,WAAW;IACXC,WAAW,GAAAtB,IAAA,CAAXsB,WAAW;IACXC,MAAM,GAAAvB,IAAA,CAANuB,MAAM;IAENC,WAAW,GAAAxB,IAAA,CAAXwB,WAAW;IAAAC,cAAA,GAAAzB,IAAA,CACX0B,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAGvC,gBAAgB,GAAAuC,cAAA;IAAAE,kBAAA,GAAA3B,IAAA,CAC5B4B,aAAa;IAAbA,aAAa,GAAAD,kBAAA,cAAGxC,oBAAoB,GAAAwC,kBAAA;IACpCE,UAAU,GAAA7B,IAAA,CAAV6B,UAAU;IAAAC,eAAA,GAAA9B,IAAA,CACV+B,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG1C,iBAAiB,GAAA0C,eAAA;IAC9BE,UAAU,GAAAhC,IAAA,CAAVgC,UAAU;IAEVC,QAAQ,GAAAjC,IAAA,CAARiC,QAAQ;IACRC,EAAE,GAAAlC,IAAA,CAAFkC,EAAE;IACCC,KAAK,GAAAtE,wBAAA,CAAAmC,IAAA,EAAAoC,SAAA;EAIV,IAAAC,eAAA,GAA4BpE,KAAK,CAACqE,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAhF,cAAA,CAAA8E,eAAA;IAA1CG,MAAM,GAAAD,gBAAA;IAAEE,SAAS,GAAAF,gBAAA;EACxB,IAAAG,gBAAA,GACEzE,KAAK,CAACqE,QAAQ,CAAyB,EAAE,CAAC;IAAAK,gBAAA,GAAApF,cAAA,CAAAmF,gBAAA;IADrCE,aAAa,GAAAD,gBAAA;IAAEE,gBAAgB,GAAAF,gBAAA;EAEtC,IAAAG,gBAAA,GAA8B7E,KAAK,CAACqE,QAAQ,CAAqB,EAAE,CAAC;IAAAS,gBAAA,GAAAxF,cAAA,CAAAuF,gBAAA;IAA7DE,OAAO,GAAAD,gBAAA;IAAEE,UAAU,GAAAF,gBAAA;EAC1B,IAAMG,IAAI,GAAG/E,cAAc,CAAC,CAAC;EAC7B,IAAMgF,YAAY,GAAG/E,eAAe,CAAC;IACnCoD,WAAW,EAAXA,WAAW;IACXE,SAAS,EAATA,SAAS;IACTE,aAAa,EAAbA,aAAa;IACbC,UAAU,EAAVA,UAAU;IACVE,UAAU,EAAVA,UAAU;IACVC,UAAU,EAAVA;EACF,CAAC,CAAC;EACF,IAAAoB,gBAAA,GAA0BnF,KAAK,CAACqE,QAAQ,CAAkB,EAAE,CAAC;IAAAe,gBAAA,GAAA9F,cAAA,CAAA6F,gBAAA;IAAtDtN,KAAK,GAAAuN,gBAAA;IAAEC,QAAQ,GAAAD,gBAAA;EACtB,IAAAE,gBAAA,GAA4CtF,KAAK,CAACqE,QAAQ,CAExD,CAAC,CAAC,CAAC;IAAAkB,iBAAA,GAAAjG,cAAA,CAAAgG,gBAAA;IAFEE,cAAc,GAAAD,iBAAA;IAAEE,iBAAiB,GAAAF,iBAAA;EAGxC,IAAAG,iBAAA,GAAsD1F,KAAK,CAACqE,QAAQ,CAAC,CAAC,CAAC;IAAAsB,iBAAA,GAAArG,cAAA,CAAAoG,iBAAA;IAAhEE,mBAAmB,GAAAD,iBAAA;IAAEE,sBAAsB,GAAAF,iBAAA;EAElD,IAAMG,UAAU,GAAG9F,KAAK,CAAC+F,MAAM,CAAiB,IAAI,CAAC;EACrD,IAAMC,SAAS,GAAGhG,KAAK,CAAC+F,MAAM,CAAiB,IAAI,CAAC;EACpD,IAAME,WAAW,GAAGjG,KAAK,CAAC+F,MAAM,CAAwB,IAAI,CAAC;EAE7D/F,KAAK,CAACkG,SAAS,CAAC,YAAM;IACpB5D,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAGsD,mBAAmB,GAAG,CAAC,CAAC;EAChD,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB5F,KAAK,CAACmG,mBAAmB,CAACnE,GAAG,EAAE;IAAA,OAAO;MACpCqD,QAAQ,EAARA,QAAQ;MACRe,IAAI,EAAE,SAAAA,KAACrF,QAAQ,EAAK;QAAA,IAAAsF,SAAA;QAClB7B,SAAS,CAAC,IAAI,CAAC;QACf,IAAM8B,gBAAgB,GAAGvF,QAAQ,aAARA,QAAQ,cAARA,QAAQ,IAAAsF,SAAA,GAAItB,OAAO,CAAC,CAAC,CAAC,cAAAsB,SAAA,uBAAVA,SAAA,CAAYtF,QAAQ;QACzD,IAAIuF,gBAAgB,EAAE;UACpB1B,gBAAgB,CAAC0B,gBAAgB,CAAC;QACpC;MACF,CAAC;MACDC,KAAK,EAAE,SAAAA,MAAA,EAAM;QACX/B,SAAS,CAAC,KAAK,CAAC;MAClB,CAAC;MACDgC,YAAY,EAAE,SAAAA,aAAA,EAAM;QAAA,IAAAC,qBAAA;QAClB,CAAAA,qBAAA,GAAAC,cAAc,CAACC,OAAO,cAAAF,qBAAA,uBAAtBA,qBAAA,CAAwBxM,OAAO,CAAC,UAAC2M,EAAE;UAAA,OAAKA,EAAE,CAAC,CAAC;QAAA,EAAC;MAC/C,CAAC;MACDC,OAAO,EAAEf,UAAU;MACnBgB,MAAM,EAAEd;IACV,CAAC;EAAA,CAAC,CAAC;EAEH,IAAMe,cAAc,GAAGlP,KAAK,CAAC8G,MAAM,CAAC,UAAC0C,KAAK;IAAA,OAAK,CAACA,KAAK,CAAC2F,KAAK;EAAA,EAAC;EAC5D,IAAMC,qBAAqB,GAAG/D,aAAa,GAAG6D,cAAc,CAAC7K,MAAM;EACnE,IAAMgL,uBAAuB,GAAGD,qBAAqB,GAAG,CAAC;EAEzD,IAAME,uBAAuB,GAAGpC,OAAO,CAACqC,OAAO,CAAC,UAACC,MAAM;IAAA,OAAKA,MAAM,CAACxP,KAAK;EAAA,EAAC;EAEzE,IAAMyP,UAAU,GAAG,SAAbA,UAAUA,CACdC,MAAe,EACfC,OAAsC,EACnC;IACHnC,QAAQ,CAAC,UAACrI,IAAI;MAAA,OACZA,IAAI,CAACyK,GAAG,CAAC,UAAC5N,CAAC,EAAK;QACd,IAAIA,CAAC,CAAC6N,EAAE,KAAKH,MAAM,EAAE;UACnB,OAAA1I,aAAA,CAAAA,aAAA,KACKhF,CAAC,GACD2N,OAAO;QAEd;QACA,OAAO3N,CAAC;MACV,CAAC,CAAC;IAAA,CACJ,CAAC;EACH,CAAC;EAED,SAAS8N,kBAAkBA,CAACD,EAAW,EAAEE,QAAgB,EAAE;IACzDvF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGqF,EAAE,EAAEE,QAAQ,CAAC;IAC1BnC,iBAAiB,CAAC,UAACzI,IAAI;MAAA,OAAA6B,aAAA,CAAAA,aAAA,KAClB7B,IAAI,OAAA8B,eAAA,KACN4I,EAAE,EAAGG,IAAI,CAACC,GAAG,CAAC,EAAE,EAAEF,QAAQ,CAAC;IAAA,CAC5B,CAAC;EACL;EAEA,SAASG,eAAeA,CAACL,EAAW,EAAEV,KAAc,EAAE;IACpDM,UAAU,CAACI,EAAE,EAAE;MAAEV,KAAK,EAAE/B,IAAI,CAAC5N,CAAC,CAAC,8BAA8B;IAAE,CAAC,CAAC;IACjEkL,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGmF,EAAE,EAAEV,KAAK,CAAC;IACpBvB,iBAAiB,CAAC,UAACzI,IAAI;MAAA,OAAA6B,aAAA,CAAAA,aAAA,KAClB7B,IAAI,OAAA8B,eAAA,KACN4I,EAAE,EAAG,GAAG;IAAA,CACT,CAAC;EACL;EAEA,IAAMM,WAAW,GAAG,SAAdA,WAAWA,CAAIC,QAAyB,EAAK;IACjD,SAASC,UAAUA,CAACR,EAAW,EAAES,QAAiB,EAAE;MAClD,IAAMC,SAAS,GAAGH,QAAQ,CAACI,IAAI,CAC7B,UAAChH,KAAK;QAAA,OAAKA,KAAK,CAACqG,EAAE,KAAKA,EAAE;MAAA,CAC5B,CAAyB;MACzBJ,UAAU,CAACI,EAAE,EAAE;QAAES,QAAQ,EAARA;MAAS,CAAC,CAAC;MAE5B,IAAMG,YAAY,GAAAzJ,aAAA,CAAAA,aAAA,KACbuJ,SAAS;QACZrH,QAAQ,EAAEF,uBAAuB;QACjCsH,QAAQ,EAARA;MAAQ,EACT;MACDlG,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAG,CAACqG,YAAY,CAAC,CAAC;MACvB7C,iBAAiB,CAAC,UAACzI,IAAI;QAAA,OAAA6B,aAAA,CAAAA,aAAA,KAClB7B,IAAI,OAAA8B,eAAA,KACN4I,EAAE,EAAG,GAAG;MAAA,CACT,CAAC;IACL;IAEA7B,sBAAsB,CAAC,UAAC7I,IAAI;MAAA,OAAKA,IAAI,GAAG,CAAC;IAAA,EAAC;IAC1CkI,YAAY,CAAC8C,WAAW,CACtBC,QAAQ,CAACR,GAAG,CAAC,UAACpG,KAAK;MAAA,OAAM;QAAEqG,EAAE,EAAErG,KAAK,CAACqG,EAAE;QAAEa,IAAI,EAAElH,KAAK,CAACmH;MAAY,CAAC;IAAA,CAAC,CAAC,EACpE;MACEN,UAAU,EAAVA,UAAU;MACV7F,UAAU,EAAEsF,kBAAkB;MAC9BpF,OAAO,EAAEwF,eAAe;MACxBU,aAAa,EAAE,SAAAA,cAAA,EAAM;QACnB5C,sBAAsB,CAAC,UAAC7I,IAAI;UAAA,OAAKA,IAAI,GAAG,CAAC;QAAA,EAAC;MAC5C;IACF,CACF,CAAC;EACH,CAAC;EAED,IAAM0L,MAAM;IAAA,IAAAC,KAAA,GAAAvK,iBAAA,eAAAjH,mBAAA,GAAAoF,IAAA,CAAG,SAAAqM,QAAOC,aAAqB;MAAA,IAAAZ,QAAA,EAAAa,YAAA;MAAA,OAAA3R,mBAAA,GAAAuB,IAAA,UAAAqQ,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAhM,IAAA,GAAAgM,QAAA,CAAA3N,IAAA;UAAA;YACnC4M,QAAyB,GAAGY,aAAa,CAC5C3L,KAAK,CAAC,CAAC,EAAE+J,qBAAqB,CAAC,CAC/BQ,GAAG,CAAC,UAACwB,IAAI;cAAA,OAAM;gBACdT,GAAG,EAAES,IAAI;gBACTvB,EAAE,EAAEzH,IAAI,CAAC,CAAC;gBACV3D,IAAI,EAAE2M,IAAI,CAAC3M,IAAI;gBACfyE,QAAQ,EAAEF;cACZ,CAAC;YAAA,CAAC,CAAC;YAAAmI,QAAA,CAAA3N,IAAA;YAAA,OAEsB8G,qBAAqB,CAAC8F,QAAQ,CAAC;UAAA;YAApDa,YAAY,GAAAE,QAAA,CAAAjO,IAAA;YAAA,IACb+N,YAAY;cAAAE,QAAA,CAAA3N,IAAA;cAAA;YAAA;YAAA,OAAA2N,QAAA,CAAA9N,MAAA;UAAA;YAEjBuK,iBAAiB,CAAC,UAACzI,IAAI;cAAA,OACrBiL,QAAQ,CAACiB,MAAM,CAAC,UAACC,GAAG,EAAEC,IAAI,EAAK;gBAC7BD,GAAG,CAACC,IAAI,CAAC1B,EAAE,CAAC,GAAG,CAAC;gBAChB,OAAOyB,GAAG;cACZ,CAAC,EAAEnM,IAAI,CAAC;YAAA,CACV,CAAC;YAEDqI,QAAQ,CAAC,UAACrI,IAAI;cAAA,UAAA4E,MAAA,CAAAlE,kBAAA,CACTV,IAAI,GAAAU,kBAAA,CACJuK,QAAQ,CAACR,GAAG,CAAC,UAACwB,IAAI;gBAAA,OAAApK,aAAA,CAAAA,aAAA,KAChBoK,IAAI;kBACP3M,IAAI,EAAE8E,kBAAkB,CACtBP,uBAAuB,EACvBoI,IAAI,EACJ1H,aACF;gBAAC;cAAA,CACD,CAAC;YAAA,CACJ,CAAC;YAEFyG,WAAW,CAACC,QAAQ,CAAC;UAAA;UAAA;YAAA,OAAAe,QAAA,CAAA7L,IAAA;QAAA;MAAA,GAAAyL,OAAA;IAAA,CACtB;IAAA,gBAjCKF,MAAMA,CAAAW,EAAA;MAAA,OAAAV,KAAA,CAAArK,KAAA,OAAAD,SAAA;IAAA;EAAA,GAiCX;EAED,IAAMiL,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAS;IAAA,IAAAC,UAAA,EAAAC,oBAAA,EAAAC,qBAAA;IACjCjF,SAAS,CAAC,KAAK,CAAC;IAEhB,IAAM1K,MAAM,GAAGiL,OAAO,CAACqC,OAAO,CAAC,UAACC,MAAM,EAAK;MACzC,IAAIA,MAAM,CAACtG,QAAQ,KAAKF,uBAAuB,EAAE;QAC/C,OAAOwG,MAAM,CAACxP,KAAK,CAAC4P,GAAG,CAAC,UAAC5N,CAAC,EAAK;UAC7B,IAAMyC,IAAI,GAAG8E,kBAAkB,CAACiG,MAAM,CAACtG,QAAQ,EAAElH,CAAC,EAAE0H,aAAa,CAAC;UAClE,OAAA1C,aAAA,CAAAA,aAAA,KACKhF,CAAC;YACJyC,IAAI,EAAJA,IAAI;YACJyE,QAAQ,EAAEF;UAAuB;QAErC,CAAC,CAAC;MACJ;MAEA,OAAOwG,MAAM,CAACxP,KAAK,CAAC4P,GAAG,CAAC,UAACpG,KAAK,EAAK;QACjC,IAAM/E,IAAI,GAAG8E,kBAAkB,CAACiG,MAAM,CAACtG,QAAQ,EAAEM,KAAK,EAAEE,aAAa,CAAC;QAEtE,OAAO;UACLmG,EAAE,EAAEzH,IAAI,CAAC,CAAC;UACV3D,IAAI,EAAJA,IAAI;UACJyE,QAAQ,EAAEsG,MAAM,CAACtG,QAAQ;UACzB2I,MAAM,EAAErI;QACV,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC;IACFgE,QAAQ,CAAC,UAACrI,IAAI;MAAA,UAAA4E,MAAA,CAAAlE,kBAAA,CAASV,IAAI,GAAAU,kBAAA,CAAK5D,MAAM;IAAA,CAAC,CAAC;IACxCmI,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAGnI,MAAM,CAAC;IAEf6P,WAAW,CAAC,CAAC;IACbjD,cAAc,CAACC,OAAO,CAAC1M,OAAO,CAAC,UAAC2P,aAAa;MAAA,OAAKA,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAG,CAAC;IAAA,EAAC;IACpEhF,gBAAgB,EAAA2E,UAAA,GAACxE,OAAO,CAAC,CAAC,CAAC,cAAAwE,UAAA,uBAAVA,UAAA,CAAYxI,QAAQ,CAAC;IACtC,CAAAyI,oBAAA,GAAAvD,WAAW,CAACU,OAAO,cAAA6C,oBAAA,wBAAAC,qBAAA,GAAnBD,oBAAA,CAAqBK,YAAY,cAAAJ,qBAAA,uBAAjCA,qBAAA,CAAmCK,KAAK,CAAC,CAAC;IAC1CrH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,QAAQ,CAAC;EACvB,CAAC;EAED,IAAMsH,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAS;IAAA,IAAAC,UAAA,EAAAC,qBAAA,EAAAC,qBAAA;IACjC1F,SAAS,CAAC,KAAK,CAAC;IAChBkC,cAAc,CAACC,OAAO,CAAC1M,OAAO,CAAC,UAAC2P,aAAa;MAAA,OAAKA,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAG,CAAC;IAAA,EAAC;IACpEhF,gBAAgB,EAAAoF,UAAA,GAACjF,OAAO,CAAC,CAAC,CAAC,cAAAiF,UAAA,uBAAVA,UAAA,CAAYjJ,QAAQ,CAAC;IACtC,CAAAkJ,qBAAA,GAAAhE,WAAW,CAACU,OAAO,cAAAsD,qBAAA,wBAAAC,qBAAA,GAAnBD,qBAAA,CAAqBJ,YAAY,cAAAK,qBAAA,uBAAjCA,qBAAA,CAAmCJ,KAAK,CAAC,CAAC;IAC1CrH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,QAAQ,CAAC;EACvB,CAAC;EAED,IAAMkH,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IAAA,IAAAQ,qBAAA;IACxB,CAAAA,qBAAA,GAAAlE,WAAW,CAACU,OAAO,cAAAwD,qBAAA,uBAAnBA,qBAAA,CAAqBR,WAAW,CAAC,CAAC;EACpC,CAAC;EAED,IAAMS,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIvS,KAA2B,EAAK;IACzDwN,QAAQ,CAAC,UAACrI,IAAI;MAAA,OAAKA,IAAI,CAAC2B,MAAM,CAAC,UAAC0C,KAAK;QAAA,OAAKA,KAAK,CAACqG,EAAE,KAAK7P,KAAK,CAAC6P,EAAE;MAAA,EAAC;IAAA,EAAC;IACjEtF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGvK,KAAK,CAAC;IACjB4N,iBAAiB,CAAC,UAACzI,IAAI;MAAA,OAAA6B,aAAA,CAAAA,aAAA,KAClB7B,IAAI,OAAA8B,eAAA,KACNjH,KAAK,CAAC6P,EAAE,EAAG,IAAI;IAAA,CAChB,CAAC;IACHiC,WAAW,CAAC,CAAC;EACf,CAAC;EAED,IAAMU,YAAY,GAAG,SAAfA,YAAYA,CAChBtJ,QAAgC,EAChCmD,KAAgC,EAC7B;IACHc,UAAU,CAAC,UAAChI,IAAI;MAAA,OACdA,IAAI,CAACyK,GAAG,CAAC,UAACJ,MAAM,EAAK;QACnB,IAAIA,MAAM,CAACtG,QAAQ,KAAKA,QAAQ,EAAE;UAChC,OAAAlC,aAAA,CAAAA,aAAA,KACKwI,MAAM,GACNnD,KAAK;QAEZ;QACA,OAAOmD,MAAM;MACf,CAAC,CAAC;IAAA,CACJ,CAAC;EACH,CAAC;EAED,IAAMiD,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;IAChC9F,SAAS,CAAC,IAAI,CAAC;IACf,IAAI,CAACG,aAAa,EAAE;MAAA,IAAA4F,UAAA;MAClB3F,gBAAgB,EAAA2F,UAAA,GAACxF,OAAO,CAAC,CAAC,CAAC,cAAAwF,UAAA,uBAAVA,UAAA,CAAYxJ,QAAQ,CAAC;IACxC;EACF,CAAC;EAED,IAAM2F,cAAc,GAAG1G,KAAK,CAAC+F,MAAM,CAAiB,EAAE,CAAC;EAEvD,oBACE/F,KAAA,CAAAwK,aAAA,CAAClK,gBAAgB,EAAAmK,QAAA,KAAKvG,KAAK;IAAElC,GAAG,EAAEgE;EAAU,iBAC1ChG,KAAA,CAAAwK,aAAA,CAACnK,YAAY;IACX2B,GAAG,EAAE8D,UAAW;IAChB4E,SAAS,EAAExG,KAAK,CAACwG,SAAU;IAC3BzG,EAAE,EAAE;MAAE4F,YAAY,EAAE5F,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAE4F;IAAa,CAAE;IACvCc,qBAAqB,EAAExD,uBAAuB,CAACjL,MAAO;IACtD0O,QAAQ,EAAEb,oBAAqB;IAC/Bc,QAAQ,EAAEvB,oBAAqB;IAC/BvE,OAAO,EAAEA,OAAQ;IACjBJ,aAAa,EAAEA,aAAc;IAC7BmG,qBAAqB,EAAElG,gBAAiB;IACxCL,MAAM,EAAEA;EAAO,gBAEfvE,KAAA,CAAAwK,aAAA,CAACO,iBAAiB,CAACC,QAAQ;IACzBnT,KAAK,EAAE;MACLoT,QAAQ,EAAE,SAAAA,SAAClK,QAAQ,EAAEsG,MAAM,EAAK;QAC9BrC,UAAU,CAAC,UAAChI,IAAI;UAAA,UAAA4E,MAAA,CAAAlE,kBAAA,CACXV,IAAI,IAAA6B,aAAA,CAAAA,aAAA;YAELqM,KAAK,EAAE,EAAE;YACTC,IAAI,EAAE,EAAE;YACRC,WAAW,EAAE,KAAK;YAClBC,QAAQ,EAAE,KAAK;YACfxT,KAAK,EAAE;UAAE,GACNwP,MAAM;YACTtG,QAAQ,EAARA;UAAQ;QAAA,CAEX,CAAC;QACF,OAAO,YAAM;UACXiE,UAAU,CAAC,UAAChI,IAAI;YAAA,OACdA,IAAI,CAAC2B,MAAM,CAAC,UAAC0I,MAAM;cAAA,OAAKA,MAAM,CAACtG,QAAQ,KAAKA,QAAQ;YAAA,EAAC;UAAA,CACvD,CAAC;QACH,CAAC;MACH,CAAC;MACD4D,aAAa,EAAbA,aAAa;MACb2G,QAAQ,EAAE,SAAAA,SAACvK,QAAQ,EAAElJ,KAAK,EAAK;QAC7BwS,YAAY,CAACtJ,QAAQ,EAAE;UAAElJ,KAAK,EAALA;QAAM,CAAC,CAAC;MACnC,CAAC;MACD0T,YAAY,EAAE,SAAAA,aAACC,QAAQ,EAAK;QAC1B9E,cAAc,CAACC,OAAO,MAAA/E,MAAA,CAAAlE,kBAAA,CAAOgJ,cAAc,CAACC,OAAO,IAAE6E,QAAQ,EAAC;QAC9D,OAAO,YAAM;UACX9E,cAAc,CAACC,OAAO,GAAGD,cAAc,CAACC,OAAO,CAAChI,MAAM,CACpD,UAAC8M,aAAa;YAAA,OAAKD,QAAQ,KAAKC,aAAa;UAAA,CAC/C,CAAC;QACH,CAAC;MACH,CAAC;MACDC,cAAc,EAAE,SAAAA,eAAC3K,QAAQ,EAAEqK,WAAW,EAAK;QACzCf,YAAY,CAACtJ,QAAQ,EAAE;UAAEqK,WAAW,EAAXA;QAAY,CAAC,CAAC;MACzC,CAAC;MACDO,WAAW,EAAE,SAAAA,YAAC5K,QAAQ,EAAEsK,QAAQ,EAAK;QACnChB,YAAY,CAACtJ,QAAQ,EAAE;UAAEsK,QAAQ,EAARA;QAAS,CAAC,CAAC;MACtC,CAAC;MACDO,WAAW,EAAErH,MAAM;MACnBrB,aAAa,EACX+D,qBAAqB,GAAGE,uBAAuB,CAACjL;IACpD;EAAE,GAED,CAAC6G,eAAe,gBACf/C,KAAA,CAAAwK,aAAA,CAAC9J,WAAW;IACVyB,qBAAqB,EAAEA,qBAAsB;IAC7CO,uBAAuB,EAAEM,kCAAmC;IAC5DjC,QAAQ,EAAEF,uBAAwB;IAClC0C,WAAW,EAAEA,WAAY;IACzBE,SAAS,EAAEA,SAAU;IACrBE,aAAa,EAAEA,aAAc;IAC7BC,UAAU,EAAEA,UAAW;IACvBE,UAAU,EAAEA,UAAW;IACvBC,UAAU,EAAEA,UAAW;IACvBT,MAAM,EAAEA,MAAO;IACfF,WAAW,EAAEA,WAAY;IACzBC,WAAW,EAAEA,WAAY;IACzBY,EAAE,EAAEA,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAE4H;EAAY,CACrB,CAAC,GACA,IAAI,EACP7H,QACyB,CAChB,CAAC,eACfhE,KAAA,CAAAwK,aAAA,CAAChK,kBAAkB;IACjBwB,GAAG,EAAEiE,WAAY;IACjBrD,YAAY,EAAEA,YAAa;IAC3BkJ,OAAO,EACL5E,uBAAuB,GACnBjC,IAAI,CAAC5N,CAAC,CAAC,0CAA0C,CAAC,GAClD,EACL;IACD0U,eAAe,EACbrJ,uBAAuB,GACnB,UAACsJ,aAAa,EAAK;MACjB,OAAOtJ,uBAAuB,CAAC;QAC7BuJ,gBAAgB,EAAE3B,mBAAmB;QACrC4B,cAAc,EAAEF,aAAa,CAAC5F,IAAI;QAClC+F,QAAQ,EAAEH,aAAa,CAACG,QAAQ;QAChCC,YAAY,EAAEJ,aAAa,CAACI;MAC9B,CAAC,CAAC;IACJ,CAAC,GACD5K,SACL;IACD8I,mBAAmB,EAAEA,mBAAoB;IACzChH,MAAM,EAAEA,MAAO;IACfJ,aAAa,EAAEA,aAAc;IAC7BE,WAAW,EAAEA,WAAY;IACzBC,WAAW,EAAEA,WAAY;IACzB8I,QAAQ,EAAEjF,uBAAwB;IAClCrP,KAAK,EAAEkP,cAAe;IACtB2B,MAAM,EAAEA,MAAO;IACf2D,QAAQ;IACRC,MAAM,EAAE1J;EAAa,CACtB,CAAC,eACF5C,KAAA,CAAAwK,aAAA,CAAC7J,iBAAiB;IAChB4L,KAAK,EAAE1U,KAAK,CAAC8G,MAAM,CAAC,UAAC9E,CAAC;MAAA,OAAK2L,cAAc,CAAC3L,CAAC,CAAC6N,EAAE,CAAC;IAAA,EAAE;IACjDlC,cAAc,EAAEA;EAAe,CAChC,CAAC,eACFxF,KAAA,CAAAwK,aAAA,CAACjK,mBAAmB;IAClBiM,MAAM,EAAE3U,KAAK,CAAC4P,GAAG,CAAC,UAAC5N,CAAC;MAAA,IAAA4S,oBAAA;MAAA,OAAA5N,aAAA,CAAAA,aAAA,KACfhF,CAAC;QACJ+N,QAAQ,GAAA6E,oBAAA,GAAEjH,cAAc,CAAC3L,CAAC,CAAC6N,EAAE,CAAC,cAAA+E,oBAAA,cAAAA,oBAAA,GAAI;MAAG;IAAA,CACrC,CAAE;IACJC,OAAO,EAAElK,gBAAiB;IAC1BmK,OAAO,EAAEvC,iBAAkB;IAC3BnG,EAAE,EAAE;MAAE2I,WAAW,EAAE3I,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAE4I;IAAY;EAAE,CACtC,CACe,CAAC;AAEvB,CACF,CAAC;AAED,SAASC,IAAIA,CAAA,EAAG,CAAC;AAEjB,OAAO,IAAM/B,iBAAiB,gBAAG/K,KAAK,CAAC+M,aAAa,CAAuB;EACzE9B,QAAQ,EAAE,SAAAA,SAAA;IAAA,OAAM6B,IAAI;EAAA;EACpBnI,aAAa,EAAE,EAAE;EACjBiH,WAAW,EAAE,KAAK;EAClBN,QAAQ,EAAEwB,IAAI;EACdvB,YAAY,EAAE,SAAAA,aAAA;IAAA,OAAMuB,IAAI;EAAA;EACxB5J,aAAa,EAAEC,QAAQ;EACvBuI,cAAc,EAAEoB,IAAI;EACpBnB,WAAW,EAAEmB;AACf,CAAC,CAAC;AAEF,OAAO,IAAME,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAS;EACxC,OAAOhN,KAAK,CAACiN,UAAU,CAAClC,iBAAiB,CAAC;AAC5C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAMmC,UAAU,GAAG9M,gBAAgB,CACxC;EACEM,WAAW,EAAXA,WAAW;EACXD,UAAU,EAAVA,UAAU;EACVG,UAAU,EAAVA;AACF,CAAC,EACDiB,cACF,CAAC"}
1
+ {"version":3,"file":"FileSelect.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","React","ulid","useI18nContext","useFileUploader","addSubcomponents","FileExplorer","StyledFileSelect","StyledFileTokenList","FileSelectDropzone","GridSource","LocalSource","ProgressAnnouncer","TreeSource","FileSelectLocalSourceId","defaultGetTokenLabel","sourceId","sourceValueEntry","defaultGetMethod","defaultGetPayloadKey","defaultGetHeaders","getValueTokenLabel","entry","_getTokenLabel","getTokenLabel","undefined","namePlaceholder","console","warn","concat","FileSelectBase","forwardRef","_ref","ref","onAdd","_ref$beforeLocalFileU","beforeLocalFileUpload","onRemove","onProgress","onUploadStateChange","onError","onFileTokenClick","afterHide","dropzoneContentRenderer","_ref$hideDropzone","hideDropzone","_ref$getTokenLabel","_ref$hideLocalSource","hideLocalSource","localSourceDropzoneContentRenderer","_ref$maxFileNumber","maxFileNumber","Infinity","maxFileSize","minFileSize","accept","getEndpoint","_ref$getMethod","getMethod","_ref$getPayloadKey","getPayloadKey","getPayload","_ref$getHeaders","getHeaders","uploadFile","children","qa","props","_excluded","_React$useState","useState","_React$useState2","isOpen","setIsOpen","_React$useState3","_React$useState4","currentSource","setCurrentSource","_React$useState5","_React$useState6","sources","setSources","I18n","fileUploader","_React$useState7","_React$useState8","setValue","_React$useState9","_React$useState10","uploadProgress","setUploadProgress","_React$useState11","_React$useState12","pendingUploadsCount","setPendingUploadsCount","modalElRef","useRef","rootElRef","dropzoneRef","useEffect","useImperativeHandle","open","_sources$","newCurrentSource","close","resetSources","_resetListeners$curre","resetListeners","current","cb","modalEl","rootEl","uploadedValues","error","adjustedMaxFileNumber","hasReachedMaxFileNumber","unsubmittedSourceValues","flatMap","source","updateFile","fileId","payload","map","id","onProgressInternal","progress","Math","min","onErrorInternal","uploadFiles","newFiles","onComplete","response","localFile","find","uploadedFile","blob","src","onCompleteAll","onDrop","_ref2","_callee","acceptedFiles","shouldAttach","_callee$","_context","file","reduce","acc","item","_x","onFileExplorerSubmit","_sources$2","_dropzoneRef$current","_dropzoneRef$current$","origin","clearErrors","resetListener","attachButton","focus","onFileExplorerCancel","_sources$3","_dropzoneRef$current2","_dropzoneRef$current3","_dropzoneRef$current4","handleFileRemoval","updateSource","onAttachFromProject","_sources$4","createElement","_extends","container","unsubmittedValueCount","onCancel","onSubmit","onCurrentSourceChange","FileSelectContext","Provider","register","title","icon","isUploading","hasError","onChange","onResetValue","listener","listenerEntry","setIsUploading","setHasError","isModalOpen","localSource","tooltip","contentRenderer","dropzoneProps","openFileExplorer","openLocalFiles","disabled","errorMessage","multiple","noDrag","items","tokens","_uploadProgress$v$id","onClick","onClose","closeButton","removeEntry","noop","createContext","useFileSelectContext","useContext","FileSelect"],"sources":["../../src/FileSelect/FileSelect.tsx"],"sourcesContent":["import type { Method } from 'axios'\nimport React from 'react'\nimport { ulid } from 'ulid'\nimport type { PortalProps } from '../Portal/Portal.types'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useFileUploader } from '../_hooks/useFileUploader'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport type { DivAttributes } from '../_utils/types'\nimport { FileExplorer } from './FileExplorer/FileExplorer'\nimport { StyledFileSelect, StyledFileTokenList } from './FileSelect.styles'\nimport type {\n FileSelectContextApi,\n FileSelectProps,\n FileSelectRef,\n FileSelectSource,\n FileSelectSourceIdType,\n FileSelectValue,\n FileSelectValueEntry,\n} from './FileSelect.types'\nimport { FileSelectDropzone } from './FileSelectDropzone/FileSelectDropzone'\nimport type { FileSelectDropzoneRef } from './FileSelectDropzone/FileSelectDropzone.types'\nimport { GridSource } from './GridSource/GridSource'\nimport { LocalSource } from './LocalSource/LocalSource'\nimport type { ValueId } from './LocalSource/LocalSource.types'\nimport { ProgressAnnouncer } from './ProgressAnnouncer'\nimport { TreeSource } from './TreeSource/TreeSource'\n\nexport const FileSelectLocalSourceId = 'FileSelectLocalSource'\n\nconst defaultGetTokenLabel = (sourceId: string, sourceValueEntry: unknown) =>\n (sourceValueEntry as { name: string }).name\n\nconst defaultGetMethod = () => 'POST' as Method\nconst defaultGetPayloadKey = () => 'file'\nconst defaultGetHeaders = () => ({})\n\nconst getValueTokenLabel = (\n sourceId: FileSelectSourceIdType,\n entry: FileSelectValueEntry,\n getTokenLabel: FileSelectProps['getTokenLabel'] = defaultGetTokenLabel\n) => {\n const namePlaceholder = 'Untitled'\n const name = getTokenLabel(sourceId, entry) ?? entry.name\n\n if (!name) {\n console.warn(\n `FileSelect: Couldn't derive the name of \"${sourceId}\" source value. Check the source or use \"getTokenLabel\" prop`\n )\n }\n\n return name ?? namePlaceholder\n}\n\ntype FileSelectDOMAttributes = Omit<DivAttributes, 'onError' | 'onProgress'>\n\nconst FileSelectBase = React.forwardRef<\n FileSelectRef,\n FileSelectProps & FileSelectDOMAttributes & PortalProps\n>(\n (\n {\n onAdd,\n beforeLocalFileUpload = () => new Promise((resolve) => resolve(true)),\n onRemove,\n onProgress,\n onUploadStateChange,\n onError,\n onFileTokenClick,\n afterHide,\n\n dropzoneContentRenderer,\n hideDropzone = false,\n getTokenLabel = defaultGetTokenLabel,\n\n hideLocalSource = false,\n localSourceDropzoneContentRenderer,\n\n maxFileNumber = Infinity,\n maxFileSize,\n minFileSize,\n accept,\n\n getEndpoint,\n getMethod = defaultGetMethod,\n getPayloadKey = defaultGetPayloadKey,\n getPayload,\n getHeaders = defaultGetHeaders,\n uploadFile,\n\n children,\n qa,\n ...props\n },\n ref\n ) => {\n const [isOpen, setIsOpen] = React.useState(false)\n const [currentSource, setCurrentSource] =\n React.useState<FileSelectSourceIdType>('')\n const [sources, setSources] = React.useState<FileSelectSource[]>([])\n const I18n = useI18nContext()\n const fileUploader = useFileUploader({\n getEndpoint,\n getMethod,\n getPayloadKey,\n getPayload,\n getHeaders,\n uploadFile,\n })\n const [value, setValue] = React.useState<FileSelectValue>([])\n const [uploadProgress, setUploadProgress] = React.useState<\n Record<ValueId, number | null>\n >({})\n const [pendingUploadsCount, setPendingUploadsCount] = React.useState(0)\n\n const modalElRef = React.useRef<HTMLDivElement>(null)\n const rootElRef = React.useRef<HTMLDivElement>(null)\n const dropzoneRef = React.useRef<FileSelectDropzoneRef>(null)\n\n React.useEffect(() => {\n onUploadStateChange?.(pendingUploadsCount > 0)\n }, [pendingUploadsCount])\n\n React.useImperativeHandle(ref, () => ({\n setValue,\n open: (sourceId) => {\n setIsOpen(true)\n const newCurrentSource = sourceId ?? sources[0]?.sourceId\n if (newCurrentSource) {\n setCurrentSource(newCurrentSource)\n }\n },\n close: () => {\n setIsOpen(false)\n },\n resetSources: () => {\n resetListeners.current?.forEach((cb) => cb())\n },\n modalEl: modalElRef,\n rootEl: rootElRef,\n }))\n\n const uploadedValues = value.filter((entry) => !entry.error)\n const adjustedMaxFileNumber = maxFileNumber - uploadedValues.length\n const hasReachedMaxFileNumber = adjustedMaxFileNumber < 1\n\n const unsubmittedSourceValues = sources.flatMap((source) => source.value)\n\n const updateFile = (\n fileId: ValueId,\n payload: Partial<FileSelectValueEntry>\n ) => {\n setValue((prev) =>\n prev.map((v) => {\n if (v.id === fileId) {\n return {\n ...v,\n ...payload,\n }\n }\n return v\n })\n )\n }\n\n function onProgressInternal(id: ValueId, progress: number) {\n onProgress?.(id, progress)\n setUploadProgress((prev) => ({\n ...prev,\n [id]: Math.min(99, progress),\n }))\n }\n\n function onErrorInternal(id: ValueId, error: unknown) {\n updateFile(id, { error: I18n.t('core.fileSelect.uploadFailed') })\n onError?.(id, error)\n setUploadProgress((prev) => ({\n ...prev,\n [id]: 100,\n }))\n }\n\n const uploadFiles = (newFiles: FileSelectValue) => {\n function onComplete(id: ValueId, response: unknown) {\n const localFile = newFiles.find(\n (entry) => entry.id === id\n ) as FileSelectValueEntry\n updateFile(id, { response })\n\n const uploadedFile = {\n ...localFile,\n sourceId: FileSelectLocalSourceId,\n response,\n }\n onAdd?.([uploadedFile])\n setUploadProgress((prev) => ({\n ...prev,\n [id]: 100,\n }))\n }\n\n setPendingUploadsCount((prev) => prev + 1)\n fileUploader.uploadFiles(\n newFiles.map((entry) => ({ id: entry.id, blob: entry.src as File })),\n {\n onComplete,\n onProgress: onProgressInternal,\n onError: onErrorInternal,\n onCompleteAll: () => {\n setPendingUploadsCount((prev) => prev - 1)\n },\n }\n )\n }\n\n const onDrop = async (acceptedFiles: File[]) => {\n const newFiles: FileSelectValue = acceptedFiles\n .slice(0, adjustedMaxFileNumber)\n .map((file) => ({\n src: file,\n id: ulid(),\n name: file.name,\n sourceId: FileSelectLocalSourceId,\n }))\n\n const shouldAttach = await beforeLocalFileUpload(newFiles)\n if (!shouldAttach) return\n\n setUploadProgress((prev) =>\n newFiles.reduce((acc, item) => {\n acc[item.id] = 0\n return acc\n }, prev)\n )\n\n setValue((prev) => [\n ...prev,\n ...newFiles.map((file) => ({\n ...file,\n name: getValueTokenLabel(\n FileSelectLocalSourceId,\n file,\n getTokenLabel\n ),\n })),\n ])\n\n uploadFiles(newFiles)\n }\n\n const onFileExplorerSubmit = () => {\n setIsOpen(false)\n\n const values = sources.flatMap((source) => {\n if (source.sourceId === FileSelectLocalSourceId) {\n return source.value.map((v) => {\n const name = getValueTokenLabel(source.sourceId, v, getTokenLabel)\n return {\n ...v,\n name,\n sourceId: FileSelectLocalSourceId,\n }\n })\n }\n\n return source.value.map((entry) => {\n const name = getValueTokenLabel(source.sourceId, entry, getTokenLabel)\n\n return {\n id: ulid(),\n name,\n sourceId: source.sourceId,\n origin: entry,\n }\n })\n })\n setValue((prev) => [...prev, ...values])\n onAdd?.(values)\n\n clearErrors()\n resetListeners.current.forEach((resetListener) => resetListener?.())\n setCurrentSource(sources[0]?.sourceId)\n dropzoneRef.current?.attachButton?.focus()\n afterHide?.('submit')\n }\n\n const onFileExplorerCancel = () => {\n setIsOpen(false)\n resetListeners.current.forEach((resetListener) => resetListener?.())\n setCurrentSource(sources[0]?.sourceId)\n dropzoneRef.current?.attachButton?.focus()\n afterHide?.('cancel')\n }\n\n const clearErrors = () => {\n dropzoneRef.current?.clearErrors()\n }\n\n const handleFileRemoval = (value: FileSelectValueEntry) => {\n setValue((prev) => prev.filter((entry) => entry.id !== value.id))\n onRemove?.(value)\n setUploadProgress((prev) => ({\n ...prev,\n [value.id]: null,\n }))\n clearErrors()\n }\n\n const updateSource = (\n sourceId: FileSelectSourceIdType,\n props: Partial<FileSelectSource>\n ) => {\n setSources((prev) =>\n prev.map((source) => {\n if (source.sourceId === sourceId) {\n return {\n ...source,\n ...props,\n }\n }\n return source\n })\n )\n }\n\n const onAttachFromProject = () => {\n setIsOpen(true)\n if (!currentSource) {\n setCurrentSource(sources[0]?.sourceId)\n }\n }\n\n const resetListeners = React.useRef<(() => void)[]>([])\n\n return (\n <StyledFileSelect {...props} ref={rootElRef}>\n <FileExplorer\n ref={modalElRef}\n container={props.container}\n qa={{ attachButton: qa?.attachButton }}\n unsubmittedValueCount={unsubmittedSourceValues.length}\n onCancel={onFileExplorerCancel}\n onSubmit={onFileExplorerSubmit}\n sources={sources}\n currentSource={currentSource}\n onCurrentSourceChange={setCurrentSource}\n isOpen={isOpen}\n >\n <FileSelectContext.Provider\n value={{\n register: (sourceId, source) => {\n setSources((prev) => [\n ...prev,\n {\n title: '',\n icon: '',\n isUploading: false,\n hasError: false,\n value: [],\n ...source,\n sourceId,\n },\n ])\n return () => {\n setSources((prev) =>\n prev.filter((source) => source.sourceId !== sourceId)\n )\n }\n },\n currentSource,\n onChange: (sourceId, value) => {\n updateSource(sourceId, { value })\n },\n onResetValue: (listener) => {\n resetListeners.current = [...resetListeners.current, listener]\n return () => {\n resetListeners.current = resetListeners.current.filter(\n (listenerEntry) => listener !== listenerEntry\n )\n }\n },\n setIsUploading: (sourceId, isUploading) => {\n updateSource(sourceId, { isUploading })\n },\n setHasError: (sourceId, hasError) => {\n updateSource(sourceId, { hasError })\n },\n isModalOpen: isOpen,\n maxFileNumber:\n adjustedMaxFileNumber - unsubmittedSourceValues.length,\n }}\n >\n {!hideLocalSource ? (\n <LocalSource\n beforeLocalFileUpload={beforeLocalFileUpload}\n dropzoneContentRenderer={localSourceDropzoneContentRenderer}\n sourceId={FileSelectLocalSourceId}\n getEndpoint={getEndpoint}\n getMethod={getMethod}\n getPayloadKey={getPayloadKey}\n getPayload={getPayload}\n getHeaders={getHeaders}\n uploadFile={uploadFile}\n accept={accept}\n maxFileSize={maxFileSize}\n minFileSize={minFileSize}\n qa={qa?.localSource}\n />\n ) : null}\n {children}\n </FileSelectContext.Provider>\n </FileExplorer>\n <FileSelectDropzone\n ref={dropzoneRef}\n hideDropzone={hideDropzone}\n tooltip={\n hasReachedMaxFileNumber\n ? I18n.t('core.fileSelect.maxNumberOfFilesSelected')\n : ''\n }\n contentRenderer={\n dropzoneContentRenderer\n ? (dropzoneProps) => {\n return dropzoneContentRenderer({\n openFileExplorer: onAttachFromProject,\n openLocalFiles: dropzoneProps.open,\n disabled: dropzoneProps.disabled,\n errorMessage: dropzoneProps.errorMessage,\n })\n }\n : undefined\n }\n onAttachFromProject={onAttachFromProject}\n accept={accept}\n maxFileNumber={maxFileNumber}\n maxFileSize={maxFileSize}\n minFileSize={minFileSize}\n disabled={hasReachedMaxFileNumber}\n value={uploadedValues}\n onDrop={onDrop}\n multiple\n noDrag={hideDropzone}\n />\n <ProgressAnnouncer\n items={value.filter((v) => uploadProgress[v.id])}\n uploadProgress={uploadProgress}\n />\n <StyledFileTokenList\n tokens={value.map((v) => ({\n ...v,\n progress: uploadProgress[v.id] ?? 100,\n }))}\n onClick={onFileTokenClick}\n onClose={handleFileRemoval}\n qa={{ closeButton: qa?.removeEntry }}\n />\n </StyledFileSelect>\n )\n }\n)\n\nfunction noop() {}\n\nexport const FileSelectContext = React.createContext<FileSelectContextApi>({\n register: () => noop,\n currentSource: '',\n isModalOpen: false,\n onChange: noop,\n onResetValue: () => noop,\n maxFileNumber: Infinity,\n setIsUploading: noop,\n setHasError: noop,\n})\n\nexport const useFileSelectContext = () => {\n return React.useContext(FileSelectContext)\n}\n\n/**\n\n The file explorer enables users to select permitted files from various document\n sources in procore to attach to items.\n\n @since 10.19.0\n\n @see [Storybook](https://procore.github.io/core/latest/?path=/story/demos-fileselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/file-select)\n @see [New File Select Repo](https://github.com/procore/documents-js-monorepo/tree/main/packages/file-select)\n\n @deprecated\n This component has been removed from the system. The File Select base component is now managed in documents-js-monorepo.\n @deprecatedSince 11.23.3\n\n */\n\nexport const FileSelect = addSubcomponents(\n {\n LocalSource,\n GridSource,\n TreeSource,\n },\n FileSelectBase\n)\n"],"mappings":"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"}
@@ -3,10 +3,10 @@ import { spacing } from '../_styles/spacing';
3
3
  import { FileTokenList } from './FileTokenList';
4
4
  export var StyledFileTokenList = /*#__PURE__*/styled(FileTokenList).withConfig({
5
5
  displayName: "StyledFileTokenList",
6
- componentId: "core-12_17_6__sc-1r3srjk-0"
6
+ componentId: "core-12_17_7__sc-1r3srjk-0"
7
7
  })(["margin-top:", "px;"], spacing.md);
8
8
  export var StyledFileSelect = /*#__PURE__*/styled.div.withConfig({
9
9
  displayName: "StyledFileSelect",
10
- componentId: "core-12_17_6__sc-1r3srjk-1"
10
+ componentId: "core-12_17_7__sc-1r3srjk-1"
11
11
  })(["display:flex;flex-direction:column;"]);
12
12
  //# sourceMappingURL=FileSelect.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileSelectDropzone.js","names":["React","useImperativeHandle","useRef","Button","useDropzone","dropErrors","Flex","Tooltip","useI18nContext","dropzoneContainerAttr","StyledDropzone","StyledDropzoneMessage","StyledUploadButtonWrapper","DefaultContent","forwardRef","_ref","ref","disabled","errorMessage","_ref$hideDropzone","hideDropzone","multiple","onAttachFromProject","tooltip","qa","I18n","attachFilesButton","createElement","trigger","placement","overlay","variant","onClick","attachFiles","t","count","Infinity","direction","justifyContent","alignItems","error","Boolean","FileSelectDropzone","_ref2","accept","maxFileNumber","maxFileSize","minFileSize","value","onDrop","noDrag","contentRenderer","_ref2$hideDropzone","dropzoneState","attachButtonRef","clearErrors","dispatchDropError","reset","attachButton","current","defaultContent","props","_extends","dropzoneContent","hidden","rootProps","_defineProperty","isIconVisible","displayName"],"sources":["../../../src/FileSelect/FileSelectDropzone/FileSelectDropzone.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef } from 'react'\nimport { Button } from '../../Button/Button'\nimport { useDropzone } from '../../Dropzone/Dropzone.hooks'\nimport type { DropzoneContentProps } from '../../Dropzone/Dropzone.types'\nimport { dropErrors } from '../../Dropzone/Dropzone.types'\nimport { Flex } from '../../Flex/Flex'\nimport { Tooltip } from '../../Tooltip/Tooltip'\nimport { useI18nContext } from '../../_hooks/I18n'\nimport {\n dropzoneContainerAttr,\n StyledDropzone,\n StyledDropzoneMessage,\n StyledUploadButtonWrapper,\n} from './FileSelectDropzone.styles'\nimport type {\n FileSelectDropzoneContentProps,\n FileSelectDropzoneProps,\n FileSelectDropzoneRef,\n} from './FileSelectDropzone.types'\n\nconst DefaultContent = React.forwardRef<\n HTMLButtonElement,\n FileSelectDropzoneContentProps\n>(function DefaultContent(\n {\n disabled,\n errorMessage,\n hideDropzone = false,\n multiple,\n onAttachFromProject,\n tooltip,\n qa,\n },\n ref\n) {\n const I18n = useI18nContext()\n\n const attachFilesButton = (\n <Tooltip\n trigger={hideDropzone && tooltip ? 'hover' : 'none'}\n placement=\"right\"\n overlay={tooltip}\n >\n {/* this wrapper is required for the tooltip to work with disabled button */}\n <StyledUploadButtonWrapper>\n <Button\n ref={ref}\n variant=\"secondary\"\n onClick={onAttachFromProject}\n disabled={disabled}\n data-qa={qa?.attachFiles}\n >\n {I18n.t('core.fileAttacher.attachFiles', {\n count: multiple ? Infinity : 1,\n })}\n </Button>\n </StyledUploadButtonWrapper>\n </Tooltip>\n )\n\n return hideDropzone ? (\n attachFilesButton\n ) : (\n <Flex direction=\"column\" justifyContent=\"center\" alignItems=\"center\">\n {attachFilesButton}\n <StyledDropzoneMessage error={Boolean(errorMessage)}>\n {errorMessage || I18n.t('core.dropzone.dragAndDrop')}\n </StyledDropzoneMessage>\n </Flex>\n )\n})\n\nexport const FileSelectDropzone = React.forwardRef<\n FileSelectDropzoneRef,\n FileSelectDropzoneProps\n>(function FileSelectDropzone(\n {\n accept,\n maxFileNumber,\n maxFileSize,\n minFileSize,\n disabled,\n value,\n onDrop,\n multiple,\n noDrag,\n onAttachFromProject,\n contentRenderer,\n hideDropzone = false,\n tooltip,\n qa,\n },\n ref\n) {\n const dropzoneState = useDropzone({\n accept,\n maxFileNumber,\n maxFileSize,\n minFileSize,\n disabled,\n value,\n onDrop,\n multiple,\n noDrag,\n })\n\n const attachButtonRef = useRef<HTMLButtonElement>(null)\n\n useImperativeHandle(ref, () => ({\n clearErrors: () => {\n dropzoneState.dispatchDropError(dropErrors.reset)\n },\n attachButton: attachButtonRef.current,\n }))\n\n const defaultContent = (props: DropzoneContentProps) => (\n <DefaultContent\n {...props}\n ref={attachButtonRef}\n tooltip={tooltip}\n hideDropzone={hideDropzone}\n multiple={multiple}\n onAttachFromProject={onAttachFromProject}\n qa={{ attachFiles: qa?.attachFiles }}\n />\n )\n\n const dropzoneContent = contentRenderer || defaultContent\n\n return (\n <StyledDropzone\n {...dropzoneState}\n tooltip={hideDropzone ? null : tooltip}\n contentRenderer={dropzoneContent}\n hidden={hideDropzone}\n rootProps={{ [dropzoneContainerAttr]: '' }}\n {...(hideDropzone ? { isIconVisible: false } : {})}\n />\n )\n})\n\nFileSelectDropzone.displayName = 'FileSelectDropzone'\n"],"mappings":"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"}
1
+ {"version":3,"file":"FileSelectDropzone.js","names":["React","useImperativeHandle","useRef","Button","useDropzone","dropErrors","Flex","Tooltip","useI18nContext","dropzoneContainerAttr","StyledDropzone","StyledDropzoneMessage","StyledUploadButtonWrapper","DefaultContent","forwardRef","_ref","ref","disabled","errorMessage","_ref$hideDropzone","hideDropzone","multiple","onAttachFromProject","tooltip","qa","I18n","attachFilesButton","createElement","trigger","placement","overlay","variant","onClick","attachFiles","t","count","Infinity","direction","justifyContent","alignItems","error","Boolean","FileSelectDropzone","_ref2","accept","maxFileNumber","maxFileSize","minFileSize","value","onDrop","noDrag","contentRenderer","_ref2$hideDropzone","dropzoneState","attachButtonRef","clearErrors","dispatchDropError","reset","attachButton","current","defaultContent","props","_extends","dropzoneContent","hidden","rootProps","_defineProperty","isIconVisible","displayName"],"sources":["../../../src/FileSelect/FileSelectDropzone/FileSelectDropzone.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef } from 'react'\nimport { Button } from '../../Button/Button'\nimport { useDropzone } from '../../Dropzone/Dropzone.hooks'\nimport type { DropzoneContentProps } from '../../Dropzone/Dropzone.types'\nimport { dropErrors } from '../../Dropzone/Dropzone.types'\nimport { Flex } from '../../Flex/Flex'\nimport { Tooltip } from '../../Tooltip/Tooltip'\nimport { useI18nContext } from '../../_hooks/I18n'\nimport {\n dropzoneContainerAttr,\n StyledDropzone,\n StyledDropzoneMessage,\n StyledUploadButtonWrapper,\n} from './FileSelectDropzone.styles'\nimport type {\n FileSelectDropzoneContentProps,\n FileSelectDropzoneProps,\n FileSelectDropzoneRef,\n} from './FileSelectDropzone.types'\n\nconst DefaultContent = React.forwardRef<\n HTMLButtonElement,\n FileSelectDropzoneContentProps\n>(function DefaultContent(\n {\n disabled,\n errorMessage,\n hideDropzone = false,\n multiple,\n onAttachFromProject,\n tooltip,\n qa,\n },\n ref\n) {\n const I18n = useI18nContext()\n\n const attachFilesButton = (\n <Tooltip\n trigger={hideDropzone && tooltip ? 'hover' : 'none'}\n placement=\"right\"\n overlay={tooltip}\n >\n {/* this wrapper is required for the tooltip to work with disabled button */}\n <StyledUploadButtonWrapper>\n <Button\n ref={ref}\n variant=\"secondary\"\n onClick={onAttachFromProject}\n disabled={disabled}\n data-qa={qa?.attachFiles}\n >\n {I18n.t('core.fileAttacher.attachFiles', {\n count: multiple ? Infinity : 1,\n })}\n </Button>\n </StyledUploadButtonWrapper>\n </Tooltip>\n )\n\n return hideDropzone ? (\n attachFilesButton\n ) : (\n <Flex direction=\"column\" justifyContent=\"center\" alignItems=\"center\">\n {attachFilesButton}\n <StyledDropzoneMessage error={Boolean(errorMessage)}>\n {errorMessage || I18n.t('core.dropzone.dragAndDrop')}\n </StyledDropzoneMessage>\n </Flex>\n )\n})\n\nexport const FileSelectDropzone = React.forwardRef<\n FileSelectDropzoneRef,\n FileSelectDropzoneProps\n>(function FileSelectDropzone(\n {\n accept,\n maxFileNumber,\n maxFileSize,\n minFileSize,\n disabled,\n value,\n onDrop,\n multiple,\n noDrag,\n onAttachFromProject,\n contentRenderer,\n hideDropzone = false,\n tooltip,\n qa,\n },\n ref\n) {\n const dropzoneState = useDropzone({\n accept,\n maxFileNumber,\n maxFileSize,\n minFileSize,\n disabled,\n value,\n onDrop,\n multiple,\n noDrag,\n })\n\n const attachButtonRef = useRef<HTMLButtonElement>(null)\n\n useImperativeHandle(ref, () => ({\n clearErrors: () => {\n dropzoneState.dispatchDropError(dropErrors.reset)\n },\n attachButton: attachButtonRef.current,\n }))\n\n const defaultContent = (props: DropzoneContentProps) => (\n <DefaultContent\n {...props}\n ref={attachButtonRef}\n tooltip={tooltip}\n hideDropzone={hideDropzone}\n multiple={multiple}\n onAttachFromProject={onAttachFromProject}\n qa={{ attachFiles: qa?.attachFiles }}\n />\n )\n\n const dropzoneContent = contentRenderer || defaultContent\n\n return (\n <StyledDropzone\n {...dropzoneState}\n tooltip={hideDropzone ? null : tooltip}\n contentRenderer={dropzoneContent}\n hidden={hideDropzone}\n rootProps={{ [dropzoneContainerAttr]: '' }}\n {...(hideDropzone ? { isIconVisible: false } : {})}\n />\n )\n})\n\nFileSelectDropzone.displayName = 'FileSelectDropzone'\n"],"mappings":"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"}
@@ -5,20 +5,20 @@ import { spacing } from '../../_styles/spacing';
5
5
  export var dropzoneContainerAttr = 'data-dropzone-container';
6
6
  export var StyledDropzone = /*#__PURE__*/styled(Dropzone).withConfig({
7
7
  displayName: "StyledDropzone",
8
- componentId: "core-12_17_6__sc-ueh7d7-0"
8
+ componentId: "core-12_17_7__sc-ueh7d7-0"
9
9
  })(["", ""], function (_ref) {
10
10
  var hidden = _ref.hidden;
11
11
  return hidden && "\n [".concat(dropzoneContainerAttr, "] {\n align-self: flex-start;\n margin-bottom: ").concat(spacing.xs, "px;\n\n &,\n &:hover {\n width: auto;\n min-height: auto;\n border: none;\n padding: 0;\n background: transparent;\n cursor: default;\n }\n }\n \n ");
12
12
  });
13
13
  export var StyledDropzoneMessage = /*#__PURE__*/styled.span.withConfig({
14
14
  displayName: "StyledDropzoneMessage",
15
- componentId: "core-12_17_6__sc-ueh7d7-1"
15
+ componentId: "core-12_17_7__sc-ueh7d7-1"
16
16
  })(["", ""], function (_ref2) {
17
17
  var error = _ref2.error;
18
18
  return error && "\n color: ".concat(colors.gray15, ";\n ");
19
19
  });
20
20
  export var StyledUploadButtonWrapper = /*#__PURE__*/styled.div.withConfig({
21
21
  displayName: "StyledUploadButtonWrapper",
22
- componentId: "core-12_17_6__sc-ueh7d7-2"
22
+ componentId: "core-12_17_7__sc-ueh7d7-2"
23
23
  })(["display:block;margin-left:auto;margin-right:auto;margin-bottom:", "px;"], spacing.sm);
24
24
  //# sourceMappingURL=FileSelectDropzone.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileTokenList.js","names":["React","useListNavigation","isFunction","StyledFileToken","StyledTokenList","noop","getProgress","_ref","progress","isUndefined","value","FileTokenList","forwardRef","_ref2","ref","tokens","onClick","_ref2$onClose","onClose","qa","onKeyDown","props","_objectWithoutProperties","_excluded","focusedTokenRef","useRef","_React$useState","useState","_React$useState2","_slicedToArray","isListFocused","setIsListFocused","navigation","circular","initialIndex","size","length","useEffect","setSize","current","focus","onKeyDownHandler","useCallback","e","token","index","key","preventDefault","repeat","set","Math","max","error","decrement","increment","createElement","_extends","onFocus","onBlur","map","_qa$fileToken","isFocused","fileToken","call","id","tabIndex","progressValue","errorMessage","fileName","name","onLabelClick","displayName"],"sources":["../../../src/FileSelect/FileTokenList/FileTokenList.tsx"],"sourcesContent":["import React from 'react'\nimport { useListNavigation } from '../../_hooks/ListNavigation'\nimport { isFunction } from '../../_utils/isFunction'\nimport type { DivAttributes } from '../../_utils/types'\nimport type { FileTokenEntry, FileTokenListProps } from './FileToken.types'\nimport { StyledFileToken, StyledTokenList } from './FileTokenList.styles'\n\nfunction noop() {}\n\nfunction getProgress({ progress }: FileTokenEntry) {\n return progress ?? 100\n}\n\nfunction isUndefined(value: any): value is undefined {\n return typeof value === 'undefined'\n}\n\nexport const FileTokenList = React.forwardRef<\n HTMLDivElement,\n FileTokenListProps & Omit<DivAttributes, 'onClick'>\n>(function FileTokenList(\n { tokens, onClick, onClose = noop, qa, onKeyDown, ...props },\n ref\n) {\n const focusedTokenRef = React.useRef<HTMLDivElement>(null)\n const [isListFocused, setIsListFocused] = React.useState(false)\n\n const navigation = useListNavigation({\n circular: false,\n initialIndex: 0,\n size: tokens.length,\n })\n\n React.useEffect(() => {\n navigation.setSize(tokens.length)\n if (tokens.length === 0) setIsListFocused(false)\n }, [navigation, tokens.length])\n\n React.useEffect(() => {\n if (focusedTokenRef.current && isListFocused) {\n focusedTokenRef.current.focus()\n }\n }, [isListFocused, navigation])\n\n const onKeyDownHandler = React.useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!isListFocused) return\n\n const token = tokens[navigation.index]\n\n switch (e.key) {\n case 'Backspace':\n case 'Delete':\n e.preventDefault()\n if (!e.repeat) {\n onClose(token)\n if (tokens.length >= 1) {\n navigation.set(Math.max(0, navigation.index - 1))\n }\n }\n break\n case 'Space Bar':\n case ' ':\n e.preventDefault()\n const { error } = token\n\n if (isUndefined(error) && getProgress(token) === 100) {\n onClick?.(token)\n }\n break\n case 'ArrowUp':\n case 'Up':\n case 'ArrowLeft':\n case 'Left':\n e.preventDefault()\n navigation.decrement()\n break\n case 'ArrowDown':\n case 'Down':\n case 'ArrowRight':\n case 'Right':\n e.preventDefault()\n navigation.increment()\n break\n default:\n }\n onKeyDown && onKeyDown(e)\n },\n [isListFocused, navigation, onClick, onClose, onKeyDown, tokens]\n )\n\n return (\n <StyledTokenList\n {...props}\n ref={ref}\n onFocus={() => setIsListFocused(true)}\n onBlur={() => setIsListFocused(false)}\n onKeyDown={onKeyDownHandler}\n >\n {tokens.map((token, index) => {\n const isFocused = navigation.index === index\n\n return (\n <StyledFileToken\n data-qa={qa?.fileToken?.(token.id)}\n qa={qa}\n key={token.id}\n ref={isFocused ? focusedTokenRef : null}\n tabIndex={isFocused ? 0 : -1}\n progressValue={getProgress(token)}\n errorMessage={token.error}\n fileName={token.name}\n onFocus={() => navigation.set(index)}\n onLabelClick={isFunction(onClick) ? () => onClick(token) : onClick}\n onClose={() => onClose(token)}\n />\n )\n })}\n </StyledTokenList>\n )\n})\n\nFileTokenList.displayName = 'FileTokenList'\n"],"mappings":"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"}
1
+ {"version":3,"file":"FileTokenList.js","names":["React","useListNavigation","isFunction","StyledFileToken","StyledTokenList","noop","getProgress","_ref","progress","isUndefined","value","FileTokenList","forwardRef","_ref2","ref","tokens","onClick","_ref2$onClose","onClose","qa","onKeyDown","props","_objectWithoutProperties","_excluded","focusedTokenRef","useRef","_React$useState","useState","_React$useState2","_slicedToArray","isListFocused","setIsListFocused","navigation","circular","initialIndex","size","length","useEffect","setSize","current","focus","onKeyDownHandler","useCallback","e","token","index","key","preventDefault","repeat","set","Math","max","error","decrement","increment","createElement","_extends","onFocus","onBlur","map","_qa$fileToken","isFocused","fileToken","call","id","tabIndex","progressValue","errorMessage","fileName","name","onLabelClick","displayName"],"sources":["../../../src/FileSelect/FileTokenList/FileTokenList.tsx"],"sourcesContent":["import React from 'react'\nimport { useListNavigation } from '../../_hooks/ListNavigation'\nimport { isFunction } from '../../_utils/isFunction'\nimport type { DivAttributes } from '../../_utils/types'\nimport type { FileTokenEntry, FileTokenListProps } from './FileToken.types'\nimport { StyledFileToken, StyledTokenList } from './FileTokenList.styles'\n\nfunction noop() {}\n\nfunction getProgress({ progress }: FileTokenEntry) {\n return progress ?? 100\n}\n\nfunction isUndefined(value: any): value is undefined {\n return typeof value === 'undefined'\n}\n\nexport const FileTokenList = React.forwardRef<\n HTMLDivElement,\n FileTokenListProps & Omit<DivAttributes, 'onClick'>\n>(function FileTokenList(\n { tokens, onClick, onClose = noop, qa, onKeyDown, ...props },\n ref\n) {\n const focusedTokenRef = React.useRef<HTMLDivElement>(null)\n const [isListFocused, setIsListFocused] = React.useState(false)\n\n const navigation = useListNavigation({\n circular: false,\n initialIndex: 0,\n size: tokens.length,\n })\n\n React.useEffect(() => {\n navigation.setSize(tokens.length)\n if (tokens.length === 0) setIsListFocused(false)\n }, [navigation, tokens.length])\n\n React.useEffect(() => {\n if (focusedTokenRef.current && isListFocused) {\n focusedTokenRef.current.focus()\n }\n }, [isListFocused, navigation])\n\n const onKeyDownHandler = React.useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!isListFocused) return\n\n const token = tokens[navigation.index]\n\n switch (e.key) {\n case 'Backspace':\n case 'Delete':\n e.preventDefault()\n if (!e.repeat) {\n onClose(token)\n if (tokens.length >= 1) {\n navigation.set(Math.max(0, navigation.index - 1))\n }\n }\n break\n case 'Space Bar':\n case ' ':\n e.preventDefault()\n const { error } = token\n\n if (isUndefined(error) && getProgress(token) === 100) {\n onClick?.(token)\n }\n break\n case 'ArrowUp':\n case 'Up':\n case 'ArrowLeft':\n case 'Left':\n e.preventDefault()\n navigation.decrement()\n break\n case 'ArrowDown':\n case 'Down':\n case 'ArrowRight':\n case 'Right':\n e.preventDefault()\n navigation.increment()\n break\n default:\n }\n onKeyDown && onKeyDown(e)\n },\n [isListFocused, navigation, onClick, onClose, onKeyDown, tokens]\n )\n\n return (\n <StyledTokenList\n {...props}\n ref={ref}\n onFocus={() => setIsListFocused(true)}\n onBlur={() => setIsListFocused(false)}\n onKeyDown={onKeyDownHandler}\n >\n {tokens.map((token, index) => {\n const isFocused = navigation.index === index\n\n return (\n <StyledFileToken\n data-qa={qa?.fileToken?.(token.id)}\n qa={qa}\n key={token.id}\n ref={isFocused ? focusedTokenRef : null}\n tabIndex={isFocused ? 0 : -1}\n progressValue={getProgress(token)}\n errorMessage={token.error}\n fileName={token.name}\n onFocus={() => navigation.set(index)}\n onLabelClick={isFunction(onClick) ? () => onClick(token) : onClick}\n onClose={() => onClose(token)}\n />\n )\n })}\n </StyledTokenList>\n )\n})\n\nFileTokenList.displayName = 'FileTokenList'\n"],"mappings":"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"}
@@ -3,10 +3,10 @@ import { FileToken } from '../../FileToken/FileToken';
3
3
  import { spacing } from '../../_styles/spacing';
4
4
  export var StyledTokenList = /*#__PURE__*/styled.div.withConfig({
5
5
  displayName: "StyledTokenList",
6
- componentId: "core-12_17_6__sc-u9tli5-0"
6
+ componentId: "core-12_17_7__sc-u9tli5-0"
7
7
  })(["display:flex;flex-wrap:wrap;"]);
8
8
  export var StyledFileToken = /*#__PURE__*/styled(FileToken).withConfig({
9
9
  displayName: "StyledFileToken",
10
- componentId: "core-12_17_6__sc-u9tli5-1"
10
+ componentId: "core-12_17_7__sc-u9tli5-1"
11
11
  })(["margin-bottom:", "px;margin-right:", "px;"], spacing.sm, spacing.sm);
12
12
  //# sourceMappingURL=FileTokenList.styles.js.map