solid-ui 2.6.1 → 3.0.0-63a1640

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 (369) hide show
  1. package/LICENSE.md +3 -1
  2. package/README.md +236 -30
  3. package/dist/acl/access-controller.js +238 -0
  4. package/dist/acl/access-controller.js.map +1 -0
  5. package/{lib → dist}/acl/access-groups.d.ts +2 -2
  6. package/{lib → dist}/acl/access-groups.d.ts.map +1 -1
  7. package/dist/acl/access-groups.js +323 -0
  8. package/dist/acl/access-groups.js.map +1 -0
  9. package/dist/acl/acl-control.js +173 -0
  10. package/dist/acl/acl-control.js.map +1 -0
  11. package/dist/acl/acl.js +495 -0
  12. package/dist/acl/acl.js.map +1 -0
  13. package/dist/acl/add-agent-buttons.js +217 -0
  14. package/dist/acl/add-agent-buttons.js.map +1 -0
  15. package/dist/acl/index.js +32 -0
  16. package/dist/acl/index.js.map +1 -0
  17. package/dist/acl/types.js +6 -0
  18. package/dist/acl/types.js.map +1 -0
  19. package/dist/chat/keys.js +106 -0
  20. package/dist/chat/keys.js.map +1 -0
  21. package/dist/chat/signature.js +63 -0
  22. package/dist/chat/signature.js.map +1 -0
  23. package/dist/create/create.js +249 -0
  24. package/dist/create/create.js.map +1 -0
  25. package/dist/create/index.js +5 -0
  26. package/dist/create/index.js.map +1 -0
  27. package/dist/create/types.js +2 -0
  28. package/dist/create/types.js.map +1 -0
  29. package/dist/debug.d.ts.map +1 -0
  30. package/dist/debug.js +13 -0
  31. package/dist/debug.js.map +1 -0
  32. package/dist/footer/index.js +67 -0
  33. package/dist/footer/index.js.map +1 -0
  34. package/dist/header/empty-profile.js +11 -0
  35. package/dist/header/empty-profile.js.map +1 -0
  36. package/dist/header/index.js +260 -0
  37. package/dist/header/index.js.map +1 -0
  38. package/dist/iconBase.js +37 -0
  39. package/dist/iconBase.js.map +1 -0
  40. package/dist/icons/solid_logo.js.map +1 -0
  41. package/{lib → dist}/index.d.ts +7 -9
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +102 -0
  44. package/dist/index.js.map +1 -0
  45. package/{lib → dist}/log.d.ts.map +1 -1
  46. package/dist/log.js +182 -0
  47. package/dist/log.js.map +1 -0
  48. package/dist/login/login.js +858 -0
  49. package/dist/login/login.js.map +1 -0
  50. package/dist/matrix/index.js +5 -0
  51. package/dist/matrix/index.js.map +1 -0
  52. package/dist/matrix/matrix.js +217 -0
  53. package/dist/matrix/matrix.js.map +1 -0
  54. package/dist/matrix/types.js +2 -0
  55. package/dist/matrix/types.js.map +1 -0
  56. package/dist/media/index.js +6 -0
  57. package/dist/media/index.js.map +1 -0
  58. package/dist/media/media-capture.js +161 -0
  59. package/dist/media/media-capture.js.map +1 -0
  60. package/dist/pad.js +775 -0
  61. package/dist/pad.js.map +1 -0
  62. package/{lib → dist}/participation.d.ts.map +1 -1
  63. package/dist/participation.js +184 -0
  64. package/dist/participation.js.map +1 -0
  65. package/dist/solid-ui.esm.js +25531 -0
  66. package/dist/solid-ui.esm.js.map +1 -0
  67. package/dist/solid-ui.esm.min.js +43 -0
  68. package/dist/solid-ui.esm.min.js.map +1 -0
  69. package/dist/solid-ui.js +23479 -68931
  70. package/dist/solid-ui.js.map +1 -1
  71. package/dist/solid-ui.min.js +40 -2
  72. package/dist/solid-ui.min.js.map +1 -1
  73. package/dist/tabs.js +388 -0
  74. package/dist/tabs.js.map +1 -0
  75. package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +1 -1
  76. package/dist/utils/headerFooterHelpers.js +114 -0
  77. package/dist/utils/headerFooterHelpers.js.map +1 -0
  78. package/dist/utils/keyHelpers/accessData.js +64 -0
  79. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  80. package/dist/utils/keyHelpers/acl.js +74 -0
  81. package/dist/utils/keyHelpers/acl.js.map +1 -0
  82. package/dist/utils/keyHelpers/otherHelpers.js +13 -0
  83. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  84. package/dist/utils/label.js +111 -0
  85. package/dist/utils/label.js.map +1 -0
  86. package/dist/versionInfo.js +30 -0
  87. package/dist/versionInfo.js.map +1 -0
  88. package/dist/widgets/buttons/iconLinks.js +44 -0
  89. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  90. package/dist/widgets/buttons.js +1280 -0
  91. package/dist/widgets/buttons.js.map +1 -0
  92. package/dist/widgets/error.d.ts +14 -0
  93. package/dist/widgets/error.d.ts.map +1 -0
  94. package/dist/widgets/error.js +35 -0
  95. package/dist/widgets/error.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/autocompleteBar.js +123 -0
  97. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  98. package/dist/widgets/forms/autocomplete/autocompleteField.js +199 -0
  99. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  100. package/dist/widgets/forms/autocomplete/autocompletePicker.js +256 -0
  101. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  102. package/dist/widgets/forms/autocomplete/language.js +104 -0
  103. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  104. package/dist/widgets/forms/autocomplete/publicData.js +460 -0
  105. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  106. package/dist/widgets/forms/basic.js +241 -0
  107. package/dist/widgets/forms/basic.js.map +1 -0
  108. package/dist/widgets/forms/comment.js +46 -0
  109. package/dist/widgets/forms/comment.js.map +1 -0
  110. package/dist/widgets/forms/fieldFunction.js +44 -0
  111. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  112. package/dist/widgets/forms/fieldParams.js +89 -0
  113. package/dist/widgets/forms/fieldParams.js.map +1 -0
  114. package/{lib → dist}/widgets/forms/formStyle.d.ts.map +1 -1
  115. package/dist/widgets/forms/formStyle.js +36 -0
  116. package/dist/widgets/forms/formStyle.js.map +1 -0
  117. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  118. package/{lib → dist}/widgets/widgetHelpers.js +14 -25
  119. package/dist/widgets/widgetHelpers.js.map +1 -0
  120. package/package.json +48 -52
  121. package/dist/789.solid-ui.min.js +0 -1
  122. package/dist/841.solid-ui.min.js +0 -3
  123. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  124. package/dist/841.solid-ui.min.js.map +0 -1
  125. package/dist/_2b19.solid-ui.js +0 -14
  126. package/dist/_2b19.solid-ui.js.map +0 -1
  127. package/dist/index.html +0 -1
  128. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  129. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  130. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  131. package/lib/acl/access-controller.js +0 -391
  132. package/lib/acl/access-controller.js.map +0 -1
  133. package/lib/acl/access-groups.js +0 -507
  134. package/lib/acl/access-groups.js.map +0 -1
  135. package/lib/acl/acl-control.js +0 -237
  136. package/lib/acl/acl-control.js.map +0 -1
  137. package/lib/acl/acl.js +0 -517
  138. package/lib/acl/acl.js.map +0 -1
  139. package/lib/acl/add-agent-buttons.js +0 -434
  140. package/lib/acl/add-agent-buttons.js.map +0 -1
  141. package/lib/acl/index.js +0 -39
  142. package/lib/acl/index.js.map +0 -1
  143. package/lib/acl/types.js +0 -6
  144. package/lib/acl/types.js.map +0 -1
  145. package/lib/chat/bookmarks.js +0 -303
  146. package/lib/chat/bookmarks.js.map +0 -1
  147. package/lib/chat/chatLogic.js +0 -420
  148. package/lib/chat/chatLogic.js.map +0 -1
  149. package/lib/chat/dateFolder.js +0 -328
  150. package/lib/chat/dateFolder.js.map +0 -1
  151. package/lib/chat/infinite.js +0 -994
  152. package/lib/chat/infinite.js.map +0 -1
  153. package/lib/chat/keys.js +0 -232
  154. package/lib/chat/keys.js.map +0 -1
  155. package/lib/chat/message.js +0 -715
  156. package/lib/chat/message.js.map +0 -1
  157. package/lib/chat/messageTools.js +0 -538
  158. package/lib/chat/messageTools.js.map +0 -1
  159. package/lib/chat/signature.js +0 -109
  160. package/lib/chat/signature.js.map +0 -1
  161. package/lib/chat/thread.js +0 -535
  162. package/lib/chat/thread.js.map +0 -1
  163. package/lib/create/create.js +0 -242
  164. package/lib/create/create.js.map +0 -1
  165. package/lib/create/index.js +0 -11
  166. package/lib/create/index.js.map +0 -1
  167. package/lib/create/types.js +0 -6
  168. package/lib/create/types.js.map +0 -1
  169. package/lib/debug.d.ts.map +0 -1
  170. package/lib/debug.js +0 -30
  171. package/lib/debug.js.map +0 -1
  172. package/lib/folders.js +0 -132
  173. package/lib/folders.js.map +0 -1
  174. package/lib/footer/index.js +0 -123
  175. package/lib/footer/index.js.map +0 -1
  176. package/lib/header/empty-profile.js +0 -8
  177. package/lib/header/empty-profile.js.map +0 -1
  178. package/lib/header/index.js +0 -375
  179. package/lib/header/index.js.map +0 -1
  180. package/lib/iconBase.js +0 -44
  181. package/lib/iconBase.js.map +0 -1
  182. package/lib/icons/solid_logo.js.map +0 -1
  183. package/lib/index.d.ts.map +0 -1
  184. package/lib/index.js +0 -223
  185. package/lib/index.js.map +0 -1
  186. package/lib/log.js +0 -213
  187. package/lib/log.js.map +0 -1
  188. package/lib/login/login.js +0 -1241
  189. package/lib/login/login.js.map +0 -1
  190. package/lib/matrix/index.js +0 -11
  191. package/lib/matrix/index.js.map +0 -1
  192. package/lib/matrix/matrix.js +0 -216
  193. package/lib/matrix/matrix.js.map +0 -1
  194. package/lib/matrix/types.js +0 -6
  195. package/lib/matrix/types.js.map +0 -1
  196. package/lib/media/index.js +0 -12
  197. package/lib/media/index.js.map +0 -1
  198. package/lib/media/media-capture.js +0 -194
  199. package/lib/media/media-capture.js.map +0 -1
  200. package/lib/messageArea.js +0 -319
  201. package/lib/messageArea.js.map +0 -1
  202. package/lib/noun_Camera_1618446_000000.js +0 -8
  203. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  204. package/lib/ns.js +0 -17
  205. package/lib/ns.js.map +0 -1
  206. package/lib/pad.js +0 -805
  207. package/lib/pad.js.map +0 -1
  208. package/lib/participation.js +0 -219
  209. package/lib/participation.js.map +0 -1
  210. package/lib/preferences.js +0 -215
  211. package/lib/preferences.js.map +0 -1
  212. package/lib/signup/config-default.js +0 -43
  213. package/lib/signup/config-default.js.map +0 -1
  214. package/lib/signup/signup.js +0 -74
  215. package/lib/signup/signup.js.map +0 -1
  216. package/lib/stories/decorators.js +0 -10
  217. package/lib/stories/decorators.js.map +0 -1
  218. package/lib/style.js +0 -158
  219. package/lib/style.js.map +0 -1
  220. package/lib/styleConstants.js +0 -35
  221. package/lib/styleConstants.js.map +0 -1
  222. package/lib/style_multiSelect.js +0 -62
  223. package/lib/style_multiSelect.js.map +0 -1
  224. package/lib/table.js +0 -1573
  225. package/lib/table.js.map +0 -1
  226. package/lib/tabs.js +0 -448
  227. package/lib/tabs.js.map +0 -1
  228. package/lib/typings.d.js +0 -2
  229. package/lib/typings.d.js.map +0 -1
  230. package/lib/utils/headerFooterHelpers.js +0 -165
  231. package/lib/utils/headerFooterHelpers.js.map +0 -1
  232. package/lib/utils/index.js +0 -527
  233. package/lib/utils/index.js.map +0 -1
  234. package/lib/utils/keyHelpers/accessData.js +0 -131
  235. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  236. package/lib/utils/keyHelpers/acl.js +0 -90
  237. package/lib/utils/keyHelpers/acl.js.map +0 -1
  238. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  239. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  240. package/lib/utils/label.js +0 -103
  241. package/lib/utils/label.js.map +0 -1
  242. package/lib/versionInfo.d.ts +0 -32
  243. package/lib/versionInfo.d.ts.map +0 -1
  244. package/lib/versionInfo.js +0 -37
  245. package/lib/versionInfo.js.map +0 -1
  246. package/lib/widgets/buttons/iconLinks.js +0 -53
  247. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  248. package/lib/widgets/buttons.js +0 -1306
  249. package/lib/widgets/buttons.js.map +0 -1
  250. package/lib/widgets/dragAndDrop.js +0 -194
  251. package/lib/widgets/dragAndDrop.js.map +0 -1
  252. package/lib/widgets/error.d.ts +0 -2
  253. package/lib/widgets/error.d.ts.map +0 -1
  254. package/lib/widgets/error.js +0 -46
  255. package/lib/widgets/error.js.map +0 -1
  256. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  257. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  258. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  259. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  260. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  261. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  262. package/lib/widgets/forms/autocomplete/language.js +0 -189
  263. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  264. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  265. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  266. package/lib/widgets/forms/basic.js +0 -254
  267. package/lib/widgets/forms/basic.js.map +0 -1
  268. package/lib/widgets/forms/comment.js +0 -54
  269. package/lib/widgets/forms/comment.js.map +0 -1
  270. package/lib/widgets/forms/fieldFunction.js +0 -52
  271. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  272. package/lib/widgets/forms/fieldParams.js +0 -77
  273. package/lib/widgets/forms/fieldParams.js.map +0 -1
  274. package/lib/widgets/forms/formStyle.js +0 -44
  275. package/lib/widgets/forms/formStyle.js.map +0 -1
  276. package/lib/widgets/forms.js +0 -2045
  277. package/lib/widgets/forms.js.map +0 -1
  278. package/lib/widgets/index.js +0 -110
  279. package/lib/widgets/index.js.map +0 -1
  280. package/lib/widgets/multiSelect.js +0 -658
  281. package/lib/widgets/multiSelect.js.map +0 -1
  282. package/lib/widgets/peoplePicker.js +0 -467
  283. package/lib/widgets/peoplePicker.js.map +0 -1
  284. package/lib/widgets/widgetHelpers.js.map +0 -1
  285. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  286. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  287. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  288. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  289. /package/{lib → dist}/acl/acl.d.ts +0 -0
  290. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  291. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  292. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  293. /package/{lib → dist}/acl/index.d.ts +0 -0
  294. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  295. /package/{lib → dist}/acl/types.d.ts +0 -0
  296. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  297. /package/{lib → dist}/chat/keys.d.ts +0 -0
  298. /package/{lib → dist}/chat/keys.d.ts.map +0 -0
  299. /package/{lib → dist}/chat/signature.d.ts +0 -0
  300. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  301. /package/{lib → dist}/create/create.d.ts +0 -0
  302. /package/{lib → dist}/create/create.d.ts.map +0 -0
  303. /package/{lib → dist}/create/index.d.ts +0 -0
  304. /package/{lib → dist}/create/index.d.ts.map +0 -0
  305. /package/{lib → dist}/create/types.d.ts +0 -0
  306. /package/{lib → dist}/create/types.d.ts.map +0 -0
  307. /package/{lib → dist}/debug.d.ts +0 -0
  308. /package/{lib → dist}/footer/index.d.ts +0 -0
  309. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  310. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  311. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  312. /package/{lib → dist}/header/index.d.ts +0 -0
  313. /package/{lib → dist}/header/index.d.ts.map +0 -0
  314. /package/{lib → dist}/iconBase.d.ts +0 -0
  315. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  316. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  317. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  318. /package/{lib → dist}/icons/solid_logo.js +0 -0
  319. /package/{lib → dist}/log.d.ts +0 -0
  320. /package/{lib → dist}/login/login.d.ts +0 -0
  321. /package/{lib → dist}/login/login.d.ts.map +0 -0
  322. /package/{lib → dist}/matrix/index.d.ts +0 -0
  323. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  324. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  325. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  326. /package/{lib → dist}/matrix/types.d.ts +0 -0
  327. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  328. /package/{lib → dist}/media/index.d.ts +0 -0
  329. /package/{lib → dist}/media/index.d.ts.map +0 -0
  330. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  331. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  332. /package/{lib → dist}/pad.d.ts +0 -0
  333. /package/{lib → dist}/pad.d.ts.map +0 -0
  334. /package/{lib → dist}/participation.d.ts +0 -0
  335. /package/{lib → dist}/tabs.d.ts +0 -0
  336. /package/{lib → dist}/tabs.d.ts.map +0 -0
  337. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  338. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts +0 -0
  339. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +0 -0
  340. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  341. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  342. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +0 -0
  343. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +0 -0
  344. /package/{lib → dist}/utils/label.d.ts +0 -0
  345. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  346. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  347. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  348. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  349. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  355. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  356. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  357. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  358. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +0 -0
  359. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
  360. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  361. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  362. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  363. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  364. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  365. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  366. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  367. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  368. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  369. /package/{lib → dist}/widgets/widgetHelpers.d.ts +0 -0
@@ -1,391 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.AccessController = void 0;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _acl = require("./acl");
15
- var _rdflib = require("rdflib");
16
- var _accessGroups = require("./access-groups");
17
- var _aclControl = require("./acl-control");
18
- var utils = _interopRequireWildcard(require("../utils"));
19
- var debug = _interopRequireWildcard(require("../debug"));
20
- var style = _interopRequireWildcard(require("../style"));
21
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t5 in e) "default" !== _t5 && {}.hasOwnProperty.call(e, _t5) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t5)) && (i.get || i.set) ? o(f, _t5, i) : f[_t5] = e[_t5]); return f; })(e, t); }
22
- /**
23
- * Contains the [[AccessController]] class
24
- * @packageDocumentation
25
- */
26
- /**
27
- * Rendered HTML component used in the databrowser's Sharing pane.
28
- */
29
- var AccessController = exports.AccessController = /*#__PURE__*/function () {
30
- function AccessController(subject, noun, context, statusElement, targetIsProtected, targetDoc, targetACLDoc, defaultHolder, defaultACLDoc, prospectiveDefaultHolder, store, dom) {
31
- (0, _classCallCheck2["default"])(this, AccessController);
32
- this.subject = subject;
33
- this.noun = noun;
34
- this.context = context;
35
- this.statusElement = statusElement;
36
- this.targetIsProtected = targetIsProtected;
37
- this.targetDoc = targetDoc;
38
- this.targetACLDoc = targetACLDoc;
39
- this.defaultHolder = defaultHolder;
40
- this.defaultACLDoc = defaultACLDoc;
41
- this.prospectiveDefaultHolder = prospectiveDefaultHolder;
42
- this.store = store;
43
- this.dom = dom;
44
- (0, _defineProperty2["default"])(this, "mainCombo", void 0);
45
- (0, _defineProperty2["default"])(this, "defaultsCombo", void 0);
46
- (0, _defineProperty2["default"])(this, "isContainer", void 0);
47
- (0, _defineProperty2["default"])(this, "defaultsDiffer", void 0);
48
- (0, _defineProperty2["default"])(this, "rootElement", void 0);
49
- (0, _defineProperty2["default"])(this, "isUsingDefaults", void 0);
50
- this.rootElement = dom.createElement('div');
51
- this.rootElement.setAttribute('style', style.aclGroupContent);
52
- this.isContainer = targetDoc.uri.slice(-1) === '/'; // Give default for all directories
53
- if (defaultHolder && defaultACLDoc) {
54
- this.isUsingDefaults = true;
55
- var aclDefaultStore = (0, _acl.adoptACLDefault)(this.targetDoc, targetACLDoc, defaultHolder, defaultACLDoc);
56
- this.mainCombo = new _accessGroups.AccessGroups(targetDoc, targetACLDoc, this, aclDefaultStore, {
57
- defaults: this.isContainer
58
- });
59
- this.defaultsCombo = null;
60
- this.defaultsDiffer = false;
61
- } else {
62
- this.isUsingDefaults = false;
63
- this.mainCombo = new _accessGroups.AccessGroups(targetDoc, targetACLDoc, this, store);
64
- this.defaultsCombo = new _accessGroups.AccessGroups(targetDoc, targetACLDoc, this, store, {
65
- defaults: this.isContainer
66
- });
67
- this.defaultsDiffer = !(0, _acl.sameACL)(this.mainCombo.aclMap, this.defaultsCombo.aclMap);
68
- }
69
- }
70
- return (0, _createClass2["default"])(AccessController, [{
71
- key: "isEditable",
72
- get: function get() {
73
- return !this.isUsingDefaults;
74
- }
75
- }, {
76
- key: "render",
77
- value: function render() {
78
- this.rootElement.innerHTML = '';
79
- if (this.isUsingDefaults) {
80
- this.renderStatus("The sharing for this ".concat(this.noun, " is the default for folder "));
81
- if (this.defaultHolder) {
82
- var defaultHolderLink = this.statusElement.appendChild(this.dom.createElement('a'));
83
- defaultHolderLink.href = this.defaultHolder.uri;
84
- defaultHolderLink.innerText = (0, _aclControl.shortNameForFolder)(this.defaultHolder);
85
- }
86
- } else if (!this.defaultsDiffer && this.isContainer) {
87
- this.renderStatus('This is also the default for things in this folder.');
88
- } else {
89
- this.renderStatus('');
90
- }
91
- this.rootElement.appendChild(this.mainCombo.render());
92
- if (this.defaultsCombo && this.defaultsDiffer) {
93
- this.rootElement.appendChild(this.renderRemoveDefaultsController());
94
- this.rootElement.appendChild(this.defaultsCombo.render());
95
- } else if (this.isEditable && this.isContainer) {
96
- this.rootElement.appendChild(this.renderAddDefaultsController());
97
- }
98
- if (!this.targetIsProtected && this.isUsingDefaults) {
99
- this.rootElement.appendChild(this.renderAddAclsController());
100
- } else if (!this.targetIsProtected) {
101
- this.rootElement.appendChild(this.renderRemoveAclsController());
102
- }
103
- return this.rootElement;
104
- }
105
- }, {
106
- key: "renderRemoveAclsController",
107
- value: function renderRemoveAclsController() {
108
- var _this = this;
109
- var useDefaultButton = this.dom.createElement('button');
110
- useDefaultButton.innerText = "Remove custom sharing settings for this ".concat(this.noun, " -- just use default").concat(this.prospectiveDefaultHolder ? " for ".concat(utils.label(this.prospectiveDefaultHolder)) : '');
111
- useDefaultButton.setAttribute('style', style.bigButton);
112
- useDefaultButton.addEventListener('click', function () {
113
- return _this.removeAcls().then(function () {
114
- return _this.render();
115
- })["catch"](function (error) {
116
- return _this.renderStatus(error);
117
- });
118
- });
119
- return useDefaultButton;
120
- }
121
- }, {
122
- key: "renderAddAclsController",
123
- value: function renderAddAclsController() {
124
- var _this2 = this;
125
- var addAclButton = this.dom.createElement('button');
126
- addAclButton.innerText = "Set specific sharing for this ".concat(this.noun);
127
- addAclButton.setAttribute('style', style.bigButton);
128
- addAclButton.addEventListener('click', function () {
129
- return _this2.addAcls().then(function () {
130
- return _this2.render();
131
- })["catch"](function (error) {
132
- return _this2.renderStatus(error);
133
- });
134
- });
135
- return addAclButton;
136
- }
137
- }, {
138
- key: "renderAddDefaultsController",
139
- value: function renderAddDefaultsController() {
140
- var _this3 = this;
141
- var containerElement = this.dom.createElement('div');
142
- containerElement.setAttribute('style', style.defaultsController);
143
- var noticeElement = containerElement.appendChild(this.dom.createElement('div'));
144
- noticeElement.innerText = 'Sharing for things within the folder currently tracks sharing for the folder.';
145
- noticeElement.setAttribute('style', style.defaultsControllerNotice);
146
- var button = containerElement.appendChild(this.dom.createElement('button'));
147
- button.innerText = 'Set the sharing of folder contents separately from the sharing for the folder';
148
- button.setAttribute('style', style.bigButton);
149
- button.addEventListener('click', function () {
150
- return _this3.addDefaults().then(function () {
151
- return _this3.render();
152
- });
153
- });
154
- return containerElement;
155
- }
156
- }, {
157
- key: "renderRemoveDefaultsController",
158
- value: function renderRemoveDefaultsController() {
159
- var _this4 = this;
160
- var containerElement = this.dom.createElement('div');
161
- containerElement.setAttribute('style', style.defaultsController);
162
- var noticeElement = containerElement.appendChild(this.dom.createElement('div'));
163
- noticeElement.innerText = 'Access to things within this folder:';
164
- noticeElement.setAttribute('style', style.defaultsControllerNotice);
165
- var button = containerElement.appendChild(this.dom.createElement('button'));
166
- button.innerText = 'Set default for folder contents to just track the sharing for the folder';
167
- button.setAttribute('style', style.bigButton);
168
- button.addEventListener('click', function () {
169
- return _this4.removeDefaults().then(function () {
170
- return _this4.render();
171
- })["catch"](function (error) {
172
- return _this4.renderStatus(error);
173
- });
174
- });
175
- return containerElement;
176
- }
177
- }, {
178
- key: "renderTemporaryStatus",
179
- value: function renderTemporaryStatus(message) {
180
- var _this5 = this;
181
- // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87
182
- this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed);
183
- this.statusElement.innerText = message;
184
- this.statusElement.setAttribute('style', style.temporaryStatusInit);
185
- setTimeout(function () {
186
- _this5.statusElement.setAttribute('style', style.temporaryStatusEnd);
187
- });
188
- setTimeout(function () {
189
- _this5.statusElement.innerText = '';
190
- }, 5000);
191
- }
192
- }, {
193
- key: "renderStatus",
194
- value: function renderStatus(message) {
195
- // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87
196
- if (!message) {
197
- this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed);
198
- }
199
- this.statusElement.innerText = message;
200
- }
201
- }, {
202
- key: "addAcls",
203
- value: function () {
204
- var _addAcls = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
205
- var _this6 = this;
206
- var message, aclGraph, _message, _t;
207
- return _regenerator["default"].wrap(function (_context) {
208
- while (1) switch (_context.prev = _context.next) {
209
- case 0:
210
- if (!(!this.defaultHolder || !this.defaultACLDoc)) {
211
- _context.next = 1;
212
- break;
213
- }
214
- message = 'Unable to find defaults to copy';
215
- debug.error(message);
216
- return _context.abrupt("return", Promise.reject(message));
217
- case 1:
218
- aclGraph = (0, _acl.adoptACLDefault)(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc);
219
- aclGraph.statements.forEach(function (st) {
220
- return _this6.store.add(st.subject, st.predicate, st.object, _this6.targetACLDoc);
221
- });
222
- _context.prev = 2;
223
- _context.next = 3;
224
- return this.store.fetcher.putBack(this.targetACLDoc);
225
- case 3:
226
- this.isUsingDefaults = false;
227
- return _context.abrupt("return", Promise.resolve());
228
- case 4:
229
- _context.prev = 4;
230
- _t = _context["catch"](2);
231
- _message = " Error writing back access control file! ".concat(_t);
232
- debug.error(_message);
233
- return _context.abrupt("return", Promise.reject(_message));
234
- case 5:
235
- case "end":
236
- return _context.stop();
237
- }
238
- }, _callee, this, [[2, 4]]);
239
- }));
240
- function addAcls() {
241
- return _addAcls.apply(this, arguments);
242
- }
243
- return addAcls;
244
- }()
245
- }, {
246
- key: "addDefaults",
247
- value: function () {
248
- var _addDefaults = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
249
- return _regenerator["default"].wrap(function (_context2) {
250
- while (1) switch (_context2.prev = _context2.next) {
251
- case 0:
252
- this.defaultsCombo = new _accessGroups.AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, {
253
- defaults: true
254
- });
255
- this.defaultsDiffer = true;
256
- case 1:
257
- case "end":
258
- return _context2.stop();
259
- }
260
- }, _callee2, this);
261
- }));
262
- function addDefaults() {
263
- return _addDefaults.apply(this, arguments);
264
- }
265
- return addDefaults;
266
- }()
267
- }, {
268
- key: "removeAcls",
269
- value: function () {
270
- var _removeAcls = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
271
- var message, _t2, _t3;
272
- return _regenerator["default"].wrap(function (_context3) {
273
- while (1) switch (_context3.prev = _context3.next) {
274
- case 0:
275
- _context3.prev = 0;
276
- _context3.next = 1;
277
- return this.store.fetcher["delete"](this.targetACLDoc.uri, {});
278
- case 1:
279
- this.isUsingDefaults = true;
280
- _context3.prev = 2;
281
- _context3.next = 3;
282
- return (0, _acl.getProspectiveHolder)(this.targetDoc.uri);
283
- case 3:
284
- this.prospectiveDefaultHolder = _context3.sent;
285
- _context3.next = 5;
286
- break;
287
- case 4:
288
- _context3.prev = 4;
289
- _t2 = _context3["catch"](2);
290
- // No need to show this error in status, but good to warn about it in console
291
- debug.warn(_t2);
292
- case 5:
293
- _context3.next = 7;
294
- break;
295
- case 6:
296
- _context3.prev = 6;
297
- _t3 = _context3["catch"](0);
298
- message = "Error deleting access control file: ".concat(this.targetACLDoc, ": ").concat(_t3);
299
- debug.error(message);
300
- return _context3.abrupt("return", Promise.reject(message));
301
- case 7:
302
- case "end":
303
- return _context3.stop();
304
- }
305
- }, _callee3, this, [[0, 6], [2, 4]]);
306
- }));
307
- function removeAcls() {
308
- return _removeAcls.apply(this, arguments);
309
- }
310
- return removeAcls;
311
- }()
312
- }, {
313
- key: "removeDefaults",
314
- value: function () {
315
- var _removeDefaults = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
316
- var fallbackCombo, _t4;
317
- return _regenerator["default"].wrap(function (_context4) {
318
- while (1) switch (_context4.prev = _context4.next) {
319
- case 0:
320
- fallbackCombo = this.defaultsCombo;
321
- _context4.prev = 1;
322
- this.defaultsCombo = null;
323
- this.defaultsDiffer = false;
324
- _context4.next = 2;
325
- return this.save();
326
- case 2:
327
- _context4.next = 4;
328
- break;
329
- case 3:
330
- _context4.prev = 3;
331
- _t4 = _context4["catch"](1);
332
- this.defaultsCombo = fallbackCombo;
333
- this.defaultsDiffer = true;
334
- debug.error(_t4);
335
- return _context4.abrupt("return", Promise.reject(_t4));
336
- case 4:
337
- case "end":
338
- return _context4.stop();
339
- }
340
- }, _callee4, this, [[1, 3]]);
341
- }));
342
- function removeDefaults() {
343
- return _removeDefaults.apply(this, arguments);
344
- }
345
- return removeDefaults;
346
- }()
347
- }, {
348
- key: "save",
349
- value: function save() {
350
- var _this7 = this;
351
- // build graph
352
- var newAClGraph = (0, _rdflib.graph)();
353
- if (!this.isContainer) {
354
- (0, _acl.makeACLGraphbyCombo)(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true);
355
- } else if (this.defaultsCombo && this.defaultsDiffer) {
356
- // Pair of controls
357
- (0, _acl.makeACLGraphbyCombo)(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true);
358
- (0, _acl.makeACLGraphbyCombo)(newAClGraph, this.targetDoc, this.defaultsCombo.byCombo, this.targetACLDoc, false, true);
359
- } else {
360
- // Linked controls
361
- (0, _acl.makeACLGraphbyCombo)(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true, true);
362
- }
363
-
364
- // add authenticated fetcher
365
- newAClGraph.fetcher = (0, _rdflib.fetcher)(newAClGraph, {
366
- fetch: this.store.fetcher._fetch
367
- });
368
- var updater = newAClGraph.updater || new _rdflib.UpdateManager(newAClGraph);
369
-
370
- // save ACL resource
371
- return new Promise(function (resolve, reject) {
372
- updater.put(_this7.targetACLDoc, newAClGraph.statementsMatching(undefined, undefined, undefined, _this7.targetACLDoc), 'text/turtle', function (uri, ok, message) {
373
- if (!ok) {
374
- return reject(new Error("ACL file save failed: ".concat(message)));
375
- }
376
- _this7.store.fetcher.unload(_this7.targetACLDoc);
377
- _this7.store.add(newAClGraph.statements);
378
- _this7.store.fetcher.requested[_this7.targetACLDoc.uri] = 'done'; // missing: save headers
379
- _this7.mainCombo.store = _this7.store;
380
- if (_this7.defaultsCombo) {
381
- _this7.defaultsCombo.store = _this7.store;
382
- }
383
- _this7.defaultsDiffer = !!_this7.defaultsCombo && !(0, _acl.sameACL)(_this7.mainCombo.aclMap, _this7.defaultsCombo.aclMap);
384
- debug.log('ACL modification: success!');
385
- resolve();
386
- });
387
- });
388
- }
389
- }]);
390
- }();
391
- //# sourceMappingURL=access-controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"access-controller.js","names":["_acl","require","_rdflib","_accessGroups","_aclControl","utils","_interopRequireWildcard","debug","style","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t5","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AccessController","exports","subject","noun","context","statusElement","targetIsProtected","targetDoc","targetACLDoc","defaultHolder","defaultACLDoc","prospectiveDefaultHolder","store","dom","_classCallCheck2","_defineProperty2","rootElement","createElement","setAttribute","aclGroupContent","isContainer","uri","slice","isUsingDefaults","aclDefaultStore","adoptACLDefault","mainCombo","AccessGroups","defaults","defaultsCombo","defaultsDiffer","sameACL","aclMap","_createClass2","key","value","render","innerHTML","renderStatus","concat","defaultHolderLink","appendChild","href","innerText","shortNameForFolder","renderRemoveDefaultsController","isEditable","renderAddDefaultsController","renderAddAclsController","renderRemoveAclsController","_this","useDefaultButton","label","bigButton","addEventListener","removeAcls","then","error","_this2","addAclButton","addAcls","_this3","containerElement","defaultsController","noticeElement","defaultsControllerNotice","button","addDefaults","_this4","removeDefaults","renderTemporaryStatus","message","_this5","aclControlBoxStatusRevealed","temporaryStatusInit","setTimeout","temporaryStatusEnd","_addAcls","_asyncToGenerator2","_regenerator","mark","_callee","_this6","aclGraph","_message","_t","wrap","_context","prev","next","abrupt","Promise","reject","statements","forEach","st","add","predicate","object","fetcher","putBack","resolve","stop","apply","arguments","_addDefaults","_callee2","_context2","_removeAcls","_callee3","_t2","_t3","_context3","getProspectiveHolder","sent","warn","_removeDefaults","_callee4","fallbackCombo","_t4","_context4","save","_this7","newAClGraph","graph","makeACLGraphbyCombo","byCombo","fetch","_fetch","updater","UpdateManager","put","statementsMatching","undefined","ok","Error","unload","requested","log"],"sources":["../../src/acl/access-controller.ts"],"sourcesContent":["/**\n * Contains the [[AccessController]] class\n * @packageDocumentation\n */\n\nimport { adoptACLDefault, getProspectiveHolder, makeACLGraphbyCombo, sameACL } from './acl'\nimport { fetcher, graph, NamedNode, UpdateManager } from 'rdflib'\nimport { AccessGroups } from './access-groups'\nimport { DataBrowserContext } from 'pane-registry'\nimport { shortNameForFolder } from './acl-control'\nimport * as utils from '../utils'\nimport * as debug from '../debug'\nimport * as style from '../style'\n\n/**\n * Rendered HTML component used in the databrowser's Sharing pane.\n */\nexport class AccessController {\n public mainCombo: AccessGroups\n public defaultsCombo: AccessGroups | null\n private readonly isContainer: boolean\n private defaultsDiffer: boolean\n private readonly rootElement: HTMLDivElement\n private isUsingDefaults: boolean\n\n constructor (\n public subject: NamedNode,\n public noun: string,\n public context: DataBrowserContext,\n private statusElement: HTMLElement,\n public targetIsProtected: boolean,\n private targetDoc: NamedNode,\n private targetACLDoc: NamedNode,\n private defaultHolder: NamedNode | null,\n private defaultACLDoc: NamedNode | null,\n private prospectiveDefaultHolder: NamedNode | undefined,\n public store,\n public dom: HTMLDocument\n ) {\n this.rootElement = dom.createElement('div')\n this.rootElement.setAttribute('style', style.aclGroupContent)\n this.isContainer = targetDoc.uri.slice(-1) === '/' // Give default for all directories\n if (defaultHolder && defaultACLDoc) {\n this.isUsingDefaults = true\n const aclDefaultStore = adoptACLDefault(this.targetDoc, targetACLDoc, defaultHolder, defaultACLDoc)\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, aclDefaultStore, { defaults: this.isContainer })\n this.defaultsCombo = null\n this.defaultsDiffer = false\n } else {\n this.isUsingDefaults = false\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, store)\n this.defaultsCombo = new AccessGroups(targetDoc, targetACLDoc, this, store, { defaults: this.isContainer })\n this.defaultsDiffer = !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n }\n }\n\n public get isEditable (): boolean {\n return !this.isUsingDefaults\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n if (this.isUsingDefaults) {\n this.renderStatus(`The sharing for this ${this.noun} is the default for folder `)\n if (this.defaultHolder) {\n const defaultHolderLink = this.statusElement.appendChild(this.dom.createElement('a'))\n defaultHolderLink.href = this.defaultHolder.uri\n defaultHolderLink.innerText = shortNameForFolder(this.defaultHolder)\n }\n } else if (!this.defaultsDiffer && this.isContainer) {\n this.renderStatus('This is also the default for things in this folder.')\n } else {\n this.renderStatus('')\n }\n this.rootElement.appendChild(this.mainCombo.render())\n if (this.defaultsCombo && this.defaultsDiffer) {\n this.rootElement.appendChild(this.renderRemoveDefaultsController())\n this.rootElement.appendChild(this.defaultsCombo.render())\n } else if (this.isEditable && this.isContainer) {\n this.rootElement.appendChild(this.renderAddDefaultsController())\n }\n if (!this.targetIsProtected && this.isUsingDefaults) {\n this.rootElement.appendChild(this.renderAddAclsController())\n } else if (!this.targetIsProtected) {\n this.rootElement.appendChild(this.renderRemoveAclsController())\n }\n return this.rootElement\n }\n\n private renderRemoveAclsController (): HTMLElement {\n const useDefaultButton = this.dom.createElement('button')\n useDefaultButton.innerText = `Remove custom sharing settings for this ${this.noun} -- just use default${this.prospectiveDefaultHolder ? ` for ${utils.label(this.prospectiveDefaultHolder)}` : ''}`\n useDefaultButton.setAttribute('style', style.bigButton)\n useDefaultButton.addEventListener('click', () => this.removeAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return useDefaultButton\n }\n\n private renderAddAclsController (): HTMLElement {\n const addAclButton = this.dom.createElement('button')\n addAclButton.innerText = `Set specific sharing for this ${this.noun}`\n addAclButton.setAttribute('style', style.bigButton)\n addAclButton.addEventListener('click', () => this.addAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return addAclButton\n }\n\n private renderAddDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Sharing for things within the folder currently tracks sharing for the folder.'\n noticeElement.setAttribute('style', style.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set the sharing of folder contents separately from the sharing for the folder'\n button.setAttribute('style', style.bigButton)\n button.addEventListener('click', () => this.addDefaults()\n .then(() => this.render()))\n return containerElement\n }\n\n private renderRemoveDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Access to things within this folder:'\n noticeElement.setAttribute('style', style.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set default for folder contents to just track the sharing for the folder'\n button.setAttribute('style', style.bigButton)\n button.addEventListener('click', () => this.removeDefaults()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return containerElement\n }\n\n public renderTemporaryStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n this.statusElement.innerText = message\n this.statusElement.setAttribute('style', style.temporaryStatusInit)\n setTimeout(() => {\n this.statusElement.setAttribute('style', style.temporaryStatusEnd)\n })\n setTimeout(() => {\n this.statusElement.innerText = ''\n }, 5000)\n }\n\n public renderStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n if (!message) {\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n }\n this.statusElement.innerText = message\n }\n\n private async addAcls (): Promise<void> {\n if (!this.defaultHolder || !this.defaultACLDoc) {\n const message = 'Unable to find defaults to copy'\n debug.error(message)\n return Promise.reject(message)\n }\n const aclGraph = adoptACLDefault(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc)\n aclGraph.statements.forEach(st => this.store.add(st.subject, st.predicate, st.object, this.targetACLDoc))\n try {\n await this.store.fetcher.putBack(this.targetACLDoc)\n this.isUsingDefaults = false\n return Promise.resolve()\n } catch (error) {\n const message = ` Error writing back access control file! ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async addDefaults (): Promise<void> {\n this.defaultsCombo = new AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, { defaults: true })\n this.defaultsDiffer = true\n }\n\n private async removeAcls (): Promise<void> {\n try {\n await this.store.fetcher.delete(this.targetACLDoc.uri, {})\n this.isUsingDefaults = true\n try {\n this.prospectiveDefaultHolder = await getProspectiveHolder(this.targetDoc.uri)\n } catch (error) {\n // No need to show this error in status, but good to warn about it in console\n debug.warn(error)\n }\n } catch (error) {\n const message = `Error deleting access control file: ${this.targetACLDoc}: ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async removeDefaults (): Promise<void> {\n const fallbackCombo = this.defaultsCombo\n try {\n this.defaultsCombo = null\n this.defaultsDiffer = false\n await this.save()\n } catch (error) {\n this.defaultsCombo = fallbackCombo\n this.defaultsDiffer = true\n debug.error(error)\n return Promise.reject(error)\n }\n }\n\n public save (): Promise<void> {\n // build graph\n const newAClGraph = graph()\n if (!this.isContainer) {\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n } else if (this.defaultsCombo && this.defaultsDiffer) {\n // Pair of controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.defaultsCombo.byCombo, this.targetACLDoc, false, true)\n } else {\n // Linked controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true, true)\n }\n\n // add authenticated fetcher\n newAClGraph.fetcher = fetcher(newAClGraph, { fetch: this.store.fetcher._fetch })\n const updater = newAClGraph.updater || new UpdateManager(newAClGraph)\n\n // save ACL resource\n return new Promise((resolve, reject) => {\n updater.put(\n this.targetACLDoc,\n newAClGraph.statementsMatching(undefined, undefined, undefined, this.targetACLDoc),\n 'text/turtle',\n (uri, ok, message) => {\n if (!ok) {\n return reject(new Error(`ACL file save failed: ${message}`))\n }\n this.store.fetcher.unload(this.targetACLDoc)\n this.store.add(newAClGraph.statements)\n this.store.fetcher.requested[this.targetACLDoc.uri] = 'done' // missing: save headers\n this.mainCombo.store = this.store\n if (this.defaultsCombo) {\n this.defaultsCombo.store = this.store\n }\n this.defaultsDiffer = !!this.defaultsCombo && !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n debug.log('ACL modification: success!')\n resolve()\n }\n )\n })\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAKA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAC,uBAAA,CAAAL,OAAA;AACA,IAAAM,KAAA,GAAAD,uBAAA,CAAAL,OAAA;AACA,IAAAO,KAAA,GAAAF,uBAAA,CAAAL,OAAA;AAAiC,SAAAK,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,wBAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,GAAA,IAAAd,CAAA,gBAAAc,GAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,GAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,GAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,GAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,GAAA,IAAAd,CAAA,CAAAc,GAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAZjC;AACA;AACA;AACA;AAWA;AACA;AACA;AAFA,IAGamB,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA;EAQ3B,SAAAA,iBACSE,OAAkB,EAClBC,IAAY,EACZC,OAA2B,EAC1BC,aAA0B,EAC3BC,iBAA0B,EACzBC,SAAoB,EACpBC,YAAuB,EACvBC,aAA+B,EAC/BC,aAA+B,EAC/BC,wBAA+C,EAChDC,KAAK,EACLC,GAAiB,EACxB;IAAA,IAAAC,gBAAA,mBAAAd,gBAAA;IAAA,KAZOE,OAAkB,GAAlBA,OAAkB;IAAA,KAClBC,IAAY,GAAZA,IAAY;IAAA,KACZC,OAA2B,GAA3BA,OAA2B;IAAA,KAC1BC,aAA0B,GAA1BA,aAA0B;IAAA,KAC3BC,iBAA0B,GAA1BA,iBAA0B;IAAA,KACzBC,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,YAAuB,GAAvBA,YAAuB;IAAA,KACvBC,aAA+B,GAA/BA,aAA+B;IAAA,KAC/BC,aAA+B,GAA/BA,aAA+B;IAAA,KAC/BC,wBAA+C,GAA/CA,wBAA+C;IAAA,KAChDC,KAAK,GAALA,KAAK;IAAA,KACLC,GAAiB,GAAjBA,GAAiB;IAAA,IAAAE,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IAAA,IAAAA,gBAAA;IAExB,IAAI,CAACC,WAAW,GAAGH,GAAG,CAACI,aAAa,CAAC,KAAK,CAAC;IAC3C,IAAI,CAACD,WAAW,CAACE,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAACwC,eAAe,CAAC;IAC7D,IAAI,CAACC,WAAW,GAAGb,SAAS,CAACc,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAC;IACnD,IAAIb,aAAa,IAAIC,aAAa,EAAE;MAClC,IAAI,CAACa,eAAe,GAAG,IAAI;MAC3B,IAAMC,eAAe,GAAG,IAAAC,oBAAe,EAAC,IAAI,CAAClB,SAAS,EAAEC,YAAY,EAAEC,aAAa,EAAEC,aAAa,CAAC;MACnG,IAAI,CAACgB,SAAS,GAAG,IAAIC,0BAAY,CAACpB,SAAS,EAAEC,YAAY,EAAE,IAAI,EAAEgB,eAAe,EAAE;QAAEI,QAAQ,EAAE,IAAI,CAACR;MAAY,CAAC,CAAC;MACjH,IAAI,CAACS,aAAa,GAAG,IAAI;MACzB,IAAI,CAACC,cAAc,GAAG,KAAK;IAC7B,CAAC,MAAM;MACL,IAAI,CAACP,eAAe,GAAG,KAAK;MAC5B,IAAI,CAACG,SAAS,GAAG,IAAIC,0BAAY,CAACpB,SAAS,EAAEC,YAAY,EAAE,IAAI,EAAEI,KAAK,CAAC;MACvE,IAAI,CAACiB,aAAa,GAAG,IAAIF,0BAAY,CAACpB,SAAS,EAAEC,YAAY,EAAE,IAAI,EAAEI,KAAK,EAAE;QAAEgB,QAAQ,EAAE,IAAI,CAACR;MAAY,CAAC,CAAC;MAC3G,IAAI,CAACU,cAAc,GAAG,CAAC,IAAAC,YAAO,EAAC,IAAI,CAACL,SAAS,CAACM,MAAM,EAAE,IAAI,CAACH,aAAa,CAACG,MAAM,CAAC;IAClF;EACF;EAAC,WAAAC,aAAA,aAAAjC,gBAAA;IAAAkC,GAAA;IAAA1C,GAAA,EAED,SAAAA,IAAA,EAAkC;MAChC,OAAO,CAAC,IAAI,CAAC+B,eAAe;IAC9B;EAAC;IAAAW,GAAA;IAAAC,KAAA,EAED,SAAOC,MAAMA,CAAA,EAAiB;MAC5B,IAAI,CAACpB,WAAW,CAACqB,SAAS,GAAG,EAAE;MAC/B,IAAI,IAAI,CAACd,eAAe,EAAE;QACxB,IAAI,CAACe,YAAY,yBAAAC,MAAA,CAAyB,IAAI,CAACpC,IAAI,gCAA6B,CAAC;QACjF,IAAI,IAAI,CAACM,aAAa,EAAE;UACtB,IAAM+B,iBAAiB,GAAG,IAAI,CAACnC,aAAa,CAACoC,WAAW,CAAC,IAAI,CAAC5B,GAAG,CAACI,aAAa,CAAC,GAAG,CAAC,CAAC;UACrFuB,iBAAiB,CAACE,IAAI,GAAG,IAAI,CAACjC,aAAa,CAACY,GAAG;UAC/CmB,iBAAiB,CAACG,SAAS,GAAG,IAAAC,8BAAkB,EAAC,IAAI,CAACnC,aAAa,CAAC;QACtE;MACF,CAAC,MAAM,IAAI,CAAC,IAAI,CAACqB,cAAc,IAAI,IAAI,CAACV,WAAW,EAAE;QACnD,IAAI,CAACkB,YAAY,CAAC,qDAAqD,CAAC;MAC1E,CAAC,MAAM;QACL,IAAI,CAACA,YAAY,CAAC,EAAE,CAAC;MACvB;MACA,IAAI,CAACtB,WAAW,CAACyB,WAAW,CAAC,IAAI,CAACf,SAAS,CAACU,MAAM,CAAC,CAAC,CAAC;MACrD,IAAI,IAAI,CAACP,aAAa,IAAI,IAAI,CAACC,cAAc,EAAE;QAC7C,IAAI,CAACd,WAAW,CAACyB,WAAW,CAAC,IAAI,CAACI,8BAA8B,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC7B,WAAW,CAACyB,WAAW,CAAC,IAAI,CAACZ,aAAa,CAACO,MAAM,CAAC,CAAC,CAAC;MAC3D,CAAC,MAAM,IAAI,IAAI,CAACU,UAAU,IAAI,IAAI,CAAC1B,WAAW,EAAE;QAC9C,IAAI,CAACJ,WAAW,CAACyB,WAAW,CAAC,IAAI,CAACM,2BAA2B,CAAC,CAAC,CAAC;MAClE;MACA,IAAI,CAAC,IAAI,CAACzC,iBAAiB,IAAI,IAAI,CAACiB,eAAe,EAAE;QACnD,IAAI,CAACP,WAAW,CAACyB,WAAW,CAAC,IAAI,CAACO,uBAAuB,CAAC,CAAC,CAAC;MAC9D,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC1C,iBAAiB,EAAE;QAClC,IAAI,CAACU,WAAW,CAACyB,WAAW,CAAC,IAAI,CAACQ,0BAA0B,CAAC,CAAC,CAAC;MACjE;MACA,OAAO,IAAI,CAACjC,WAAW;IACzB;EAAC;IAAAkB,GAAA;IAAAC,KAAA,EAED,SAAQc,0BAA0BA,CAAA,EAAiB;MAAA,IAAAC,KAAA;MACjD,IAAMC,gBAAgB,GAAG,IAAI,CAACtC,GAAG,CAACI,aAAa,CAAC,QAAQ,CAAC;MACzDkC,gBAAgB,CAACR,SAAS,8CAAAJ,MAAA,CAA8C,IAAI,CAACpC,IAAI,0BAAAoC,MAAA,CAAuB,IAAI,CAAC5B,wBAAwB,WAAA4B,MAAA,CAAW/D,KAAK,CAAC4E,KAAK,CAAC,IAAI,CAACzC,wBAAwB,CAAC,IAAK,EAAE,CAAE;MACnMwC,gBAAgB,CAACjC,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAAC0E,SAAS,CAAC;MACvDF,gBAAgB,CAACG,gBAAgB,CAAC,OAAO,EAAE;QAAA,OAAMJ,KAAI,CAACK,UAAU,CAAC,CAAC,CAC/DC,IAAI,CAAC;UAAA,OAAMN,KAAI,CAACd,MAAM,CAAC,CAAC;QAAA,EAAC,SACpB,CAAC,UAAAqB,KAAK;UAAA,OAAIP,KAAI,CAACZ,YAAY,CAACmB,KAAK,CAAC;QAAA,EAAC;MAAA,EAAC;MAC5C,OAAON,gBAAgB;IACzB;EAAC;IAAAjB,GAAA;IAAAC,KAAA,EAED,SAAQa,uBAAuBA,CAAA,EAAiB;MAAA,IAAAU,MAAA;MAC9C,IAAMC,YAAY,GAAG,IAAI,CAAC9C,GAAG,CAACI,aAAa,CAAC,QAAQ,CAAC;MACrD0C,YAAY,CAAChB,SAAS,oCAAAJ,MAAA,CAAoC,IAAI,CAACpC,IAAI,CAAE;MACrEwD,YAAY,CAACzC,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAAC0E,SAAS,CAAC;MACnDM,YAAY,CAACL,gBAAgB,CAAC,OAAO,EAAE;QAAA,OAAMI,MAAI,CAACE,OAAO,CAAC,CAAC,CACxDJ,IAAI,CAAC;UAAA,OAAME,MAAI,CAACtB,MAAM,CAAC,CAAC;QAAA,EAAC,SACpB,CAAC,UAAAqB,KAAK;UAAA,OAAIC,MAAI,CAACpB,YAAY,CAACmB,KAAK,CAAC;QAAA,EAAC;MAAA,EAAC;MAC5C,OAAOE,YAAY;IACrB;EAAC;IAAAzB,GAAA;IAAAC,KAAA,EAED,SAAQY,2BAA2BA,CAAA,EAAiB;MAAA,IAAAc,MAAA;MAClD,IAAMC,gBAAgB,GAAG,IAAI,CAACjD,GAAG,CAACI,aAAa,CAAC,KAAK,CAAC;MACtD6C,gBAAgB,CAAC5C,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAACoF,kBAAkB,CAAC;MAEhE,IAAMC,aAAa,GAAGF,gBAAgB,CAACrB,WAAW,CAAC,IAAI,CAAC5B,GAAG,CAACI,aAAa,CAAC,KAAK,CAAC,CAAC;MACjF+C,aAAa,CAACrB,SAAS,GAAG,+EAA+E;MACzGqB,aAAa,CAAC9C,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAACsF,wBAAwB,CAAC;MAEnE,IAAMC,MAAM,GAAGJ,gBAAgB,CAACrB,WAAW,CAAC,IAAI,CAAC5B,GAAG,CAACI,aAAa,CAAC,QAAQ,CAAC,CAAC;MAC7EiD,MAAM,CAACvB,SAAS,GAAG,+EAA+E;MAClGuB,MAAM,CAAChD,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAAC0E,SAAS,CAAC;MAC7Ca,MAAM,CAACZ,gBAAgB,CAAC,OAAO,EAAE;QAAA,OAAMO,MAAI,CAACM,WAAW,CAAC,CAAC,CACtDX,IAAI,CAAC;UAAA,OAAMK,MAAI,CAACzB,MAAM,CAAC,CAAC;QAAA,EAAC;MAAA,EAAC;MAC7B,OAAO0B,gBAAgB;IACzB;EAAC;IAAA5B,GAAA;IAAAC,KAAA,EAED,SAAQU,8BAA8BA,CAAA,EAAiB;MAAA,IAAAuB,MAAA;MACrD,IAAMN,gBAAgB,GAAG,IAAI,CAACjD,GAAG,CAACI,aAAa,CAAC,KAAK,CAAC;MACtD6C,gBAAgB,CAAC5C,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAACoF,kBAAkB,CAAC;MAEhE,IAAMC,aAAa,GAAGF,gBAAgB,CAACrB,WAAW,CAAC,IAAI,CAAC5B,GAAG,CAACI,aAAa,CAAC,KAAK,CAAC,CAAC;MACjF+C,aAAa,CAACrB,SAAS,GAAG,sCAAsC;MAChEqB,aAAa,CAAC9C,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAACsF,wBAAwB,CAAC;MAEnE,IAAMC,MAAM,GAAGJ,gBAAgB,CAACrB,WAAW,CAAC,IAAI,CAAC5B,GAAG,CAACI,aAAa,CAAC,QAAQ,CAAC,CAAC;MAC7EiD,MAAM,CAACvB,SAAS,GAAG,0EAA0E;MAC7FuB,MAAM,CAAChD,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAAC0E,SAAS,CAAC;MAC7Ca,MAAM,CAACZ,gBAAgB,CAAC,OAAO,EAAE;QAAA,OAAMc,MAAI,CAACC,cAAc,CAAC,CAAC,CACzDb,IAAI,CAAC;UAAA,OAAMY,MAAI,CAAChC,MAAM,CAAC,CAAC;QAAA,EAAC,SACpB,CAAC,UAAAqB,KAAK;UAAA,OAAIW,MAAI,CAAC9B,YAAY,CAACmB,KAAK,CAAC;QAAA,EAAC;MAAA,EAAC;MAC5C,OAAOK,gBAAgB;IACzB;EAAC;IAAA5B,GAAA;IAAAC,KAAA,EAED,SAAOmC,qBAAqBA,CAAEC,OAAe,EAAQ;MAAA,IAAAC,MAAA;MACnD;MACA,IAAI,CAACnE,aAAa,CAACa,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAAC8F,2BAA2B,CAAC;MAC3E,IAAI,CAACpE,aAAa,CAACsC,SAAS,GAAG4B,OAAO;MACtC,IAAI,CAAClE,aAAa,CAACa,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAAC+F,mBAAmB,CAAC;MACnEC,UAAU,CAAC,YAAM;QACfH,MAAI,CAACnE,aAAa,CAACa,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAACiG,kBAAkB,CAAC;MACpE,CAAC,CAAC;MACFD,UAAU,CAAC,YAAM;QACfH,MAAI,CAACnE,aAAa,CAACsC,SAAS,GAAG,EAAE;MACnC,CAAC,EAAE,IAAI,CAAC;IACV;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAOG,YAAYA,CAAEiC,OAAe,EAAQ;MAC1C;MACA,IAAI,CAACA,OAAO,EAAE;QACZ,IAAI,CAAClE,aAAa,CAACa,YAAY,CAAC,OAAO,EAAEvC,KAAK,CAAC8F,2BAA2B,CAAC;MAC7E;MACA,IAAI,CAACpE,aAAa,CAACsC,SAAS,GAAG4B,OAAO;IACxC;EAAC;IAAArC,GAAA;IAAAC,KAAA;MAAA,IAAA0C,QAAA,OAAAC,kBAAA,0BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAC,QAAA;QAAA,IAAAC,MAAA;QAAA,IAAAX,OAAA,EAAAY,QAAA,EAAAC,QAAA,EAAAC,EAAA;QAAA,OAAAN,YAAA,YAAAO,IAAA,WAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,MACM,CAAC,IAAI,CAAChF,aAAa,IAAI,CAAC,IAAI,CAACC,aAAa;gBAAA6E,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACtClB,OAAO,GAAG,iCAAiC;cACjD7F,KAAK,CAAC+E,KAAK,CAACc,OAAO,CAAC;cAAA,OAAAgB,QAAA,CAAAG,MAAA,WACbC,OAAO,CAACC,MAAM,CAACrB,OAAO,CAAC;YAAA;cAE1BY,QAAQ,GAAG,IAAA1D,oBAAe,EAAC,IAAI,CAAClB,SAAS,EAAE,IAAI,CAACC,YAAY,EAAE,IAAI,CAACC,aAAa,EAAE,IAAI,CAACC,aAAa,CAAC;cAC3GyE,QAAQ,CAACU,UAAU,CAACC,OAAO,CAAC,UAAAC,EAAE;gBAAA,OAAIb,MAAI,CAACtE,KAAK,CAACoF,GAAG,CAACD,EAAE,CAAC7F,OAAO,EAAE6F,EAAE,CAACE,SAAS,EAAEF,EAAE,CAACG,MAAM,EAAEhB,MAAI,CAAC1E,YAAY,CAAC;cAAA,EAAC;cAAA+E,QAAA,CAAAC,IAAA;cAAAD,QAAA,CAAAE,IAAA;cAAA,OAEjG,IAAI,CAAC7E,KAAK,CAACuF,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC5F,YAAY,CAAC;YAAA;cACnD,IAAI,CAACe,eAAe,GAAG,KAAK;cAAA,OAAAgE,QAAA,CAAAG,MAAA,WACrBC,OAAO,CAACU,OAAO,CAAC,CAAC;YAAA;cAAAd,QAAA,CAAAC,IAAA;cAAAH,EAAA,GAAAE,QAAA;cAElBhB,QAAO,+CAAAhC,MAAA,CAAA8C,EAAA;cACb3G,KAAK,CAAC+E,KAAK,CAACc,QAAO,CAAC;cAAA,OAAAgB,QAAA,CAAAG,MAAA,WACbC,OAAO,CAACC,MAAM,CAACrB,QAAO,CAAC;YAAA;YAAA;cAAA,OAAAgB,QAAA,CAAAe,IAAA;UAAA;QAAA,GAAArB,OAAA;MAAA,CAEjC;MAAA,SAjBarB,OAAOA,CAAA;QAAA,OAAAiB,QAAA,CAAA0B,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAP5C,OAAO;IAAA;EAAA;IAAA1B,GAAA;IAAAC,KAAA;MAAA,IAAAsE,YAAA,OAAA3B,kBAAA,0BAAAC,YAAA,YAAAC,IAAA,CAmBrB,SAAA0B,SAAA;QAAA,OAAA3B,YAAA,YAAAO,IAAA,WAAAqB,SAAA;UAAA,kBAAAA,SAAA,CAAAnB,IAAA,GAAAmB,SAAA,CAAAlB,IAAA;YAAA;cACE,IAAI,CAAC5D,aAAa,GAAG,IAAIF,0BAAY,CAAC,IAAI,CAACpB,SAAS,EAAE,IAAI,CAACC,YAAY,EAAE,IAAI,EAAE,IAAI,CAACI,KAAK,EAAE;gBAAEgB,QAAQ,EAAE;cAAK,CAAC,CAAC;cAC9G,IAAI,CAACE,cAAc,GAAG,IAAI;YAAA;YAAA;cAAA,OAAA6E,SAAA,CAAAL,IAAA;UAAA;QAAA,GAAAI,QAAA;MAAA,CAC3B;MAAA,SAHavC,WAAWA,CAAA;QAAA,OAAAsC,YAAA,CAAAF,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAXrC,WAAW;IAAA;EAAA;IAAAjC,GAAA;IAAAC,KAAA;MAAA,IAAAyE,WAAA,OAAA9B,kBAAA,0BAAAC,YAAA,YAAAC,IAAA,CAKzB,SAAA6B,SAAA;QAAA,IAAAtC,OAAA,EAAAuC,GAAA,EAAAC,GAAA;QAAA,OAAAhC,YAAA,YAAAO,IAAA,WAAA0B,SAAA;UAAA,kBAAAA,SAAA,CAAAxB,IAAA,GAAAwB,SAAA,CAAAvB,IAAA;YAAA;cAAAuB,SAAA,CAAAxB,IAAA;cAAAwB,SAAA,CAAAvB,IAAA;cAAA,OAEU,IAAI,CAAC7E,KAAK,CAACuF,OAAO,UAAO,CAAC,IAAI,CAAC3F,YAAY,CAACa,GAAG,EAAE,CAAC,CAAC,CAAC;YAAA;cAC1D,IAAI,CAACE,eAAe,GAAG,IAAI;cAAAyF,SAAA,CAAAxB,IAAA;cAAAwB,SAAA,CAAAvB,IAAA;cAAA,OAEa,IAAAwB,yBAAoB,EAAC,IAAI,CAAC1G,SAAS,CAACc,GAAG,CAAC;YAAA;cAA9E,IAAI,CAACV,wBAAwB,GAAAqG,SAAA,CAAAE,IAAA;cAAAF,SAAA,CAAAvB,IAAA;cAAA;YAAA;cAAAuB,SAAA,CAAAxB,IAAA;cAAAsB,GAAA,GAAAE,SAAA;cAE7B;cACAtI,KAAK,CAACyI,IAAI,CAAAL,GAAM,CAAC;YAAA;cAAAE,SAAA,CAAAvB,IAAA;cAAA;YAAA;cAAAuB,SAAA,CAAAxB,IAAA;cAAAuB,GAAA,GAAAC,SAAA;cAGbzC,OAAO,0CAAAhC,MAAA,CAA0C,IAAI,CAAC/B,YAAY,QAAA+B,MAAA,CAAAwE,GAAA;cACxErI,KAAK,CAAC+E,KAAK,CAACc,OAAO,CAAC;cAAA,OAAAyC,SAAA,CAAAtB,MAAA,WACbC,OAAO,CAACC,MAAM,CAACrB,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAyC,SAAA,CAAAV,IAAA;UAAA;QAAA,GAAAO,QAAA;MAAA,CAEjC;MAAA,SAfatD,UAAUA,CAAA;QAAA,OAAAqD,WAAA,CAAAL,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAVjD,UAAU;IAAA;EAAA;IAAArB,GAAA;IAAAC,KAAA;MAAA,IAAAiF,eAAA,OAAAtC,kBAAA,0BAAAC,YAAA,YAAAC,IAAA,CAiBxB,SAAAqC,SAAA;QAAA,IAAAC,aAAA,EAAAC,GAAA;QAAA,OAAAxC,YAAA,YAAAO,IAAA,WAAAkC,SAAA;UAAA,kBAAAA,SAAA,CAAAhC,IAAA,GAAAgC,SAAA,CAAA/B,IAAA;YAAA;cACQ6B,aAAa,GAAG,IAAI,CAACzF,aAAa;cAAA2F,SAAA,CAAAhC,IAAA;cAEtC,IAAI,CAAC3D,aAAa,GAAG,IAAI;cACzB,IAAI,CAACC,cAAc,GAAG,KAAK;cAAA0F,SAAA,CAAA/B,IAAA;cAAA,OACrB,IAAI,CAACgC,IAAI,CAAC,CAAC;YAAA;cAAAD,SAAA,CAAA/B,IAAA;cAAA;YAAA;cAAA+B,SAAA,CAAAhC,IAAA;cAAA+B,GAAA,GAAAC,SAAA;cAEjB,IAAI,CAAC3F,aAAa,GAAGyF,aAAa;cAClC,IAAI,CAACxF,cAAc,GAAG,IAAI;cAC1BpD,KAAK,CAAC+E,KAAK,CAAA8D,GAAM,CAAC;cAAA,OAAAC,SAAA,CAAA9B,MAAA,WACXC,OAAO,CAACC,MAAM,CAAA2B,GAAM,CAAC;YAAA;YAAA;cAAA,OAAAC,SAAA,CAAAlB,IAAA;UAAA;QAAA,GAAAe,QAAA;MAAA,CAE/B;MAAA,SAZahD,cAAcA,CAAA;QAAA,OAAA+C,eAAA,CAAAb,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAdnC,cAAc;IAAA;EAAA;IAAAnC,GAAA;IAAAC,KAAA,EAc5B,SAAOsF,IAAIA,CAAA,EAAmB;MAAA,IAAAC,MAAA;MAC5B;MACA,IAAMC,WAAW,GAAG,IAAAC,aAAK,EAAC,CAAC;MAC3B,IAAI,CAAC,IAAI,CAACxG,WAAW,EAAE;QACrB,IAAAyG,wBAAmB,EAACF,WAAW,EAAE,IAAI,CAACpH,SAAS,EAAE,IAAI,CAACmB,SAAS,CAACoG,OAAO,EAAE,IAAI,CAACtH,YAAY,EAAE,IAAI,CAAC;MACnG,CAAC,MAAM,IAAI,IAAI,CAACqB,aAAa,IAAI,IAAI,CAACC,cAAc,EAAE;QACpD;QACA,IAAA+F,wBAAmB,EAACF,WAAW,EAAE,IAAI,CAACpH,SAAS,EAAE,IAAI,CAACmB,SAAS,CAACoG,OAAO,EAAE,IAAI,CAACtH,YAAY,EAAE,IAAI,CAAC;QACjG,IAAAqH,wBAAmB,EAACF,WAAW,EAAE,IAAI,CAACpH,SAAS,EAAE,IAAI,CAACsB,aAAa,CAACiG,OAAO,EAAE,IAAI,CAACtH,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC;MAC9G,CAAC,MAAM;QACL;QACA,IAAAqH,wBAAmB,EAACF,WAAW,EAAE,IAAI,CAACpH,SAAS,EAAE,IAAI,CAACmB,SAAS,CAACoG,OAAO,EAAE,IAAI,CAACtH,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC;MACzG;;MAEA;MACAmH,WAAW,CAACxB,OAAO,GAAG,IAAAA,eAAO,EAACwB,WAAW,EAAE;QAAEI,KAAK,EAAE,IAAI,CAACnH,KAAK,CAACuF,OAAO,CAAC6B;MAAO,CAAC,CAAC;MAChF,IAAMC,OAAO,GAAGN,WAAW,CAACM,OAAO,IAAI,IAAIC,qBAAa,CAACP,WAAW,CAAC;;MAErE;MACA,OAAO,IAAIhC,OAAO,CAAC,UAACU,OAAO,EAAET,MAAM,EAAK;QACtCqC,OAAO,CAACE,GAAG,CACTT,MAAI,CAAClH,YAAY,EACjBmH,WAAW,CAACS,kBAAkB,CAACC,SAAS,EAAEA,SAAS,EAAEA,SAAS,EAAEX,MAAI,CAAClH,YAAY,CAAC,EAClF,aAAa,EACb,UAACa,GAAG,EAAEiH,EAAE,EAAE/D,OAAO,EAAK;UACpB,IAAI,CAAC+D,EAAE,EAAE;YACP,OAAO1C,MAAM,CAAC,IAAI2C,KAAK,0BAAAhG,MAAA,CAA0BgC,OAAO,CAAE,CAAC,CAAC;UAC9D;UACAmD,MAAI,CAAC9G,KAAK,CAACuF,OAAO,CAACqC,MAAM,CAACd,MAAI,CAAClH,YAAY,CAAC;UAC5CkH,MAAI,CAAC9G,KAAK,CAACoF,GAAG,CAAC2B,WAAW,CAAC9B,UAAU,CAAC;UACtC6B,MAAI,CAAC9G,KAAK,CAACuF,OAAO,CAACsC,SAAS,CAACf,MAAI,CAAClH,YAAY,CAACa,GAAG,CAAC,GAAG,MAAM,EAAC;UAC7DqG,MAAI,CAAChG,SAAS,CAACd,KAAK,GAAG8G,MAAI,CAAC9G,KAAK;UACjC,IAAI8G,MAAI,CAAC7F,aAAa,EAAE;YACtB6F,MAAI,CAAC7F,aAAa,CAACjB,KAAK,GAAG8G,MAAI,CAAC9G,KAAK;UACvC;UACA8G,MAAI,CAAC5F,cAAc,GAAG,CAAC,CAAC4F,MAAI,CAAC7F,aAAa,IAAI,CAAC,IAAAE,YAAO,EAAC2F,MAAI,CAAChG,SAAS,CAACM,MAAM,EAAE0F,MAAI,CAAC7F,aAAa,CAACG,MAAM,CAAC;UACxGtD,KAAK,CAACgK,GAAG,CAAC,4BAA4B,CAAC;UACvCrC,OAAO,CAAC,CAAC;QACX,CACF,CAAC;MACH,CAAC,CAAC;IACJ;EAAC;AAAA","ignoreList":[]}