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 +0,0 @@
1
- {"version":3,"file":"multiSelect.js","names":["style","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","IconicMultiSelect","exports","_ref","data","itemTemplate","noData","noResults","placeholder","select","container","tagTemplate","textField","valueField","_classCallCheck2","_defineProperty2","_data","_itemTemplate","_noData","_noResults","_placeholder","_select","_selectContainer","_tagTemplate","_textField","_valueField","_createClass2","key","value","init","nodeName","length","Error","_options","_getDataFromSettings","_getDataFromSelectTag","_renderMultiselect","_renderOptionsList","_domElements","clear","_multiselect","querySelector","input","optionsContainer","optionsContainerList","options","list","querySelectorAll","find","callbackFn","node","undefined","some","_enableEventListenners","_initSelectedList","concat","subscribe","callback","_event","_addOptionToList","option","index","_this","html","multiselect__selected","_processTemplate","text","multiselect__remove_btn","_cross","insertAdjacentHTML","_this$_multiselect$qu","removeBtn","lastElementChild","addEventListener","target","el","dataset","_handleOption","_clearSelection","_this2","_loop","_selectedOptions","classList","remove","setAttribute","multiselect__options","_removeOptionFromList","_handleClearSelectionBtn","_handlePlaceholder","_dispatchEvent","action","selection","_closeList","_filterOptions","_removeAllArrowSelected","event","_this3","document","_ref2","contains","_ref3","add","multiselect__options_visible","_ref4","_handleArrows","_handleBackspace","_handleEnter","_this4","isOpen","valueLowerCase","toLowerCase","textContent","substring","appendChild","parentNode","removeChild","hasResults","_showNoResults","_generateId","result","characters","charactersLength","charAt","Math","floor","random","arr","item","push","selected","hasAttribute","isValueFieldValid","isTextFieldValid","keyCode","preventDefault","firstElementChild","multiselect__options_ul_li_arrow_selected","scrollIntoView","ArrowUp","Up","ArrowDown","Down","multiselect__options_ul_li","children","_scrollIntoView","lastSelectedOption","targetLastSelectedOption","display","dispatchEvent","arguments","splice","multiselect__options_selected","_toConsumableArray2","_this5","hasItemsSelected","_loop2","template","processedTemplate","objAttr","match","map","replace","_this$_data$index$att","attr","className","optionDom","_this6","multiselect__options_ul","join","_showNoData","id","createElement","multiselect__container","multiselect__wrapper","multiselect__input","multiselect__clear_btn","innerHTML","parent","child","rectParent","getBoundingClientRect","rectChild","top","bottom","offsetHeight","scrollTop","clientHeight","offsetTop","condition","multiselect__options_ul_p_multiselect__options_no_data","dom","multiselect__options_ul_p_multiselect__options_no_results"],"sources":["../../src/widgets/multiSelect.js"],"sourcesContent":["/*\n * IconicMultiSelect v0.7.0\n * Licence: MIT\n * (c) 2021 Sidney Wimart.\n * repo & configuration: https://github.com/sidneywm/iconic-multiselect\n */\n\n/**\n * @version IconicMultiSelect v0.7.0\n * @licence MIT\n */\nimport * as style from '../style_multiSelect'\n\nexport class IconicMultiSelect {\n _data\n _domElements\n _event = () => {}\n _itemTemplate\n _multiselect\n _noData\n _noResults\n _options = []\n _placeholder\n _select\n _selectContainer\n _selectedOptions = []\n _tagTemplate\n _textField\n _valueField\n _cross = `\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.2253 4.81108C5.83477 4.42056 5.20161 4.42056 4.81108 4.81108C4.42056 5.20161 4.42056 5.83477 4.81108 6.2253L10.5858 12L4.81114 17.7747C4.42062 18.1652 4.42062 18.7984 4.81114 19.1889C5.20167 19.5794 5.83483 19.5794 6.22535 19.1889L12 13.4142L17.7747 19.1889C18.1652 19.5794 18.7984 19.5794 19.1889 19.1889C19.5794 18.7984 19.5794 18.1652 19.1889 17.7747L13.4142 12L19.189 6.2253C19.5795 5.83477 19.5795 5.20161 19.189 4.81108C18.7985 4.42056 18.1653 4.42056 17.7748 4.81108L12 10.5858L6.2253 4.81108Z\"\n fill=\"currentColor\"\n />\n </svg>\n `\n\n /**\n * Iconic Multiselect constructor.\n * @param { Object[] } data - Array of objects.\n * @param { string } noData - Defines the message when there is no data input.\n * @param { string } noResults - Defines the message when there is no result if options are filtered.\n * @param { string } placeholder - Defines the placeholder's text.\n * @param { string } select - DOM element to be selected. It must be a HTML Select tag - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select\n * @param { string } textField - Field to select in the object for the text.\n * @param { string } valueField - Field to select in the object for the value.\n */\n constructor ({ data, itemTemplate, noData, noResults, placeholder, select, container, tagTemplate, textField, valueField }) {\n this._data = data ?? []\n this._itemTemplate = itemTemplate ?? null\n this._noData = noData ?? 'No data found.'\n this._noResults = noResults ?? 'No results found.'\n this._placeholder = placeholder ?? 'Select...'\n this._select = select\n // Timea added a container here\n this._selectContainer = container\n this._tagTemplate = tagTemplate ?? null\n this._textField = textField ?? null\n this._valueField = valueField ?? null\n }\n\n /**\n * Initialize the Iconic Multiselect component.\n * @public\n */\n init () {\n // Timea change to use this._select instead of this._selectContainer\n if (this._select && this._select.nodeName === 'SELECT') {\n if (this._itemTemplate && this._data.length === 0) { throw new Error('itemTemplate must be initialized with data from the component settings') }\n if (this._tagTemplate && this._data.length === 0) { throw new Error('tagTemplate must be initialized with data from the component settings') }\n\n this._options = this._data.length > 0 ? this._getDataFromSettings() : this._getDataFromSelectTag()\n\n this._renderMultiselect()\n this._renderOptionsList()\n\n this._domElements = {\n clear: this._multiselect.querySelector('.multiselect__clear-btn'),\n input: this._multiselect.querySelector('.multiselect__input'),\n optionsContainer: this._multiselect.querySelector('.multiselect__options'),\n optionsContainerList: this._multiselect.querySelector('.multiselect__options > ul'),\n options: {\n list: this._multiselect.querySelectorAll('.multiselect__options > ul > li'),\n find: function (callbackFn) {\n for (let i = 0; i < this.list.length; i++) {\n const node = this.list[i]\n if (callbackFn(node)) return node\n }\n return undefined\n },\n some: function (callbackFn) {\n for (let i = 0; i < this.list.length; i++) {\n const node = this.list[i]\n if (callbackFn(node, i)) return true\n }\n return false\n }\n }\n }\n\n this._enableEventListenners()\n this._initSelectedList()\n } else {\n throw new Error(`The selector '${this._select}' did not select any valid select tag.`)\n }\n }\n\n /**\n * Subscribes to the emitted events.\n * @param { Function } callback - Callback function which emits a custom event object.\n * @public\n */\n subscribe (callback) {\n if (typeof callback === 'function') {\n this._event = callback\n } else {\n throw new Error('parameter in the subscribe method is not a function')\n }\n }\n\n /**\n * Add an option to the selection list.\n * @param { Object: { text: string; value: string; }} option\n * @private\n */\n _addOptionToList (option, index) {\n const html = `<span class=\"multiselect__selected\" style=\"${style.multiselect__selected}\" data-value=\"${option.value}\">${\n this._tagTemplate ? this._processTemplate(this._tagTemplate, index) : option.text\n }<span class=\"multiselect__remove-btn\" style=\"${style.multiselect__remove_btn}\">${this._cross}</span></span>`\n\n this._domElements.input.insertAdjacentHTML('beforebegin', html)\n\n const { lastElementChild: removeBtn } = this._multiselect.querySelector(`span[data-value=\"${option.value}\"]`)\n removeBtn.addEventListener('click', () => {\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n this._handleOption(target)\n })\n }\n\n /**\n * Clears all selected options.\n * @private\n */\n _clearSelection () {\n for (let i = 0; i < this._selectedOptions.length; i++) {\n const option = this._selectedOptions[i]\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n target.classList.remove('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options)\n this._removeOptionFromList(target.dataset.value)\n }\n this._selectedOptions = []\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n this._dispatchEvent({\n action: 'CLEAR_ALL_OPTIONS',\n selection: this._selectedOptions\n })\n }\n\n /**\n * Close the options container.\n * @private\n */\n _closeList () {\n this._domElements.input.value = ''\n this._domElements.optionsContainer.classList.remove('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options)\n this._filterOptions('')\n this._removeAllArrowSelected()\n }\n\n /**\n * Dispatches new events.\n * @param { object : { action: string; selection: { option: string; text: string; }[]; value?: string; } } event\n * @private\n */\n _dispatchEvent (event) {\n this._event(event)\n }\n\n /**\n * Enables all main event listenners.\n * @private\n */\n _enableEventListenners () {\n document.addEventListener('mouseup', ({ target }) => {\n if (!this._multiselect.contains(target)) {\n this._filterOptions('')\n this._closeList()\n this._handlePlaceholder()\n }\n })\n\n this._domElements.clear.addEventListener('click', () => {\n this._clearSelection()\n })\n\n for (let i = 0; i < this._domElements.options.list.length; i++) {\n const option = this._domElements.options.list[i]\n option.addEventListener('click', ({ target }) => {\n this._handleOption(target)\n this._closeList()\n })\n }\n\n this._domElements.input.addEventListener('focus', () => {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n })\n\n this._domElements.input.addEventListener('input', ({ target: { value } }) => {\n if (this._domElements.options.list.length > 0) {\n this._filterOptions(value)\n }\n })\n\n this._domElements.input.addEventListener('keydown', (e) => {\n this._handleArrows(e)\n this._handleBackspace(e)\n this._handleEnter(e)\n })\n }\n\n /**\n * Filters user input.\n * @param { string } value\n * @private\n */\n _filterOptions (value) {\n const isOpen = this._domElements.optionsContainer.classList.contains('visible')\n const valueLowerCase = value.toLowerCase()\n\n if (!isOpen && value.length > 0) {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n }\n\n if (this._domElements.options.list.length > 0) {\n for (let i = 0; i < this._domElements.options.list.length; i++) {\n const el = this._domElements.options.list[i]\n const text = this._itemTemplate ? this._data[i][this._textField] : el.textContent\n\n if (text.toLowerCase().substring(0, valueLowerCase.length) === valueLowerCase) {\n this._domElements.optionsContainerList.appendChild(el)\n } else {\n el.parentNode && el.parentNode.removeChild(el)\n }\n }\n\n const hasResults = this._domElements.options.some(\n (el, index) =>\n (this._itemTemplate ? this._data[index][this._textField] : el.textContent)\n .toLowerCase()\n .substring(0, valueLowerCase.length) === valueLowerCase\n )\n this._showNoResults(!hasResults)\n }\n }\n\n _generateId (length) {\n let result = ''\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n const charactersLength = characters.length\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength))\n }\n return result\n }\n\n /**\n * Gets data from select tag.\n * @private\n */\n _getDataFromSelectTag () {\n const arr = []\n const { options } = this._select\n for (let i = 0; i < options.length; i++) {\n const item = options[i]\n arr.push({\n text: item.text,\n value: item.value,\n selected: item.hasAttribute('selected')\n })\n }\n return arr\n }\n\n /**\n * Gets data from settings.\n * @private\n */\n _getDataFromSettings () {\n if (this._data.length > 0 && this._valueField && this._textField) {\n const isValueFieldValid = typeof this._valueField === 'string'\n const isTextFieldValid = typeof this._textField === 'string'\n const arr = []\n\n if (!isValueFieldValid || !isTextFieldValid) {\n throw new Error('textField and valueField must be of type string')\n }\n\n for (let i = 0; i < this._data.length; i++) {\n const item = this._data[i]\n arr.push({\n value: item[this._valueField],\n text: item[this._textField],\n selected: typeof item.selected === 'boolean' ? item.selected : false\n })\n }\n return arr\n } else {\n return null\n }\n }\n\n /**\n * Handles Arrow up & Down. Selection of an option is also possible with these keys.\n * @param { Event } event\n * @private\n */\n _handleArrows (event) {\n if (event.keyCode === 40 || event.keyCode === 38) {\n event.preventDefault()\n const isOpen = this._domElements.optionsContainer.classList.contains('visible')\n // An updated view of the container is needed because of the filtering option\n const optionsContainerList = this._multiselect.querySelector('.multiselect__options > ul')\n\n if (!isOpen) {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n optionsContainerList.firstElementChild.classList.add('arrow-selected')\n optionsContainerList.firstElementChild.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n optionsContainerList.firstElementChild.scrollIntoView(false)\n } else {\n let selected = this._multiselect.querySelector('.multiselect__options ul li.arrow-selected')\n const action = {\n ArrowUp: 'previous',\n Up: 'previous',\n ArrowDown: 'next',\n Down: 'next'\n }\n\n if (!selected) {\n optionsContainerList.firstElementChild.classList.add('arrow-selected')\n optionsContainerList.firstElementChild.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n optionsContainerList.firstElementChild.scrollIntoView(false)\n return\n }\n\n selected.classList.remove('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li)\n\n selected = selected[action[event.key] + 'ElementSibling']\n\n // Go to start or end of the popup list\n if (!selected) {\n selected =\n optionsContainerList.children[action[event.key] === 'next' ? 0 : optionsContainerList.children.length - 1]\n selected.classList.add('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n this._scrollIntoView(optionsContainerList, selected)\n return\n }\n\n selected.classList.add('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n this._scrollIntoView(optionsContainerList, selected)\n }\n }\n }\n\n /**\n * Handles the backspace key event - Deletes the preceding option in the selection list.\n * @param { Event } e\n * @private\n */\n _handleBackspace (e) {\n if (e.keyCode === 8 && e.target.value === '') {\n const lastSelectedOption =\n this._selectedOptions.length > 0 ? this._selectedOptions[this._selectedOptions.length - 1] : null\n\n if (lastSelectedOption) {\n const targetLastSelectedOption = this._multiselect.querySelector(\n `li[data-value=\"${lastSelectedOption.value}\"]`\n )\n this._handleOption(targetLastSelectedOption)\n\n if (this._selectedOptions.length === 0) {\n this._domElements.optionsContainer.classList.remove('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options)\n }\n }\n }\n }\n\n /**\n * Shows clear selection button if some options are selected.\n * @private\n */\n _handleClearSelectionBtn () {\n if (this._selectedOptions.length > 0) {\n this._domElements.clear.style.display = 'flex'\n } else {\n this._domElements.clear.style.display = 'none'\n }\n }\n\n /**\n * Handles the enter key event.\n * @param { Event } event\n * @private\n */\n _handleEnter (event) {\n if (event.keyCode === 13) {\n const selected = this._multiselect.querySelector('.multiselect__options ul li.arrow-selected')\n if (selected) {\n this._handleOption(selected)\n this._closeList()\n }\n }\n }\n\n _handleOption (target, dispatchEvent = true) {\n // Remove\n for (let i = 0; i < this._selectedOptions.length; i++) {\n const el = this._selectedOptions[i]\n if (el.value === target.dataset.value) {\n target.classList.remove('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options)\n this._selectedOptions.splice(i, 1)\n this._removeOptionFromList(target.dataset.value)\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n\n return (\n dispatchEvent &&\n this._dispatchEvent({\n action: 'REMOVE_OPTION',\n value: target.dataset.value,\n selection: this._selectedOptions\n })\n )\n }\n }\n\n // Add\n for (let i = 0; i < this._options.length; i++) {\n const option = this._options[i]\n if (option.value === target.dataset.value) {\n target.classList.add('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options_selected)\n this._selectedOptions = [...this._selectedOptions, option]\n this._addOptionToList(option, i)\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n\n return (\n dispatchEvent &&\n this._dispatchEvent({\n action: 'ADD_OPTION',\n value: target.dataset.value,\n selection: this._selectedOptions\n })\n )\n }\n }\n }\n\n /**\n * Shows the placeholder if no options are selected.\n * @private\n */\n _handlePlaceholder () {\n this._domElements.input.placeholder = this._placeholder\n }\n\n _initSelectedList () {\n let hasItemsSelected = false\n\n for (let i = 0; i < this._options.length; i++) {\n const option = this._options[i]\n if (option.selected) {\n hasItemsSelected = true\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n target.classList.add('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options_selected)\n this._selectedOptions = [...this._selectedOptions, option]\n this._addOptionToList(option, i)\n }\n }\n\n if (hasItemsSelected) { this._handleClearSelectionBtn() }\n this._handlePlaceholder()\n }\n\n /**\n * Process the custom template.\n * @param { string } template\n * @private\n */\n _processTemplate (template, index) {\n let processedTemplate = template\n const objAttr = template.match(/\\$\\{(\\w+)\\}/g).map((e) => e.replace(/\\$\\{|\\}/g, ''))\n\n for (let i = 0; i < objAttr.length; i++) {\n const attr = objAttr[i]\n // eslint-disable-next-line no-useless-escape\n processedTemplate = processedTemplate.replace(`\\$\\{${attr}\\}`, this._data[index][attr] ?? '')\n }\n\n return processedTemplate\n }\n\n _removeAllArrowSelected () {\n const className = 'arrow-selected'\n const target = this._domElements.options.find((el) => el.classList.contains(className))\n target && target.classList.remove(className) && target.setAttribute('style', style.multiselect__options_ul_li)\n }\n\n /**\n * Removes an option from the list.\n * @param { string } value\n * @private\n */\n _removeOptionFromList (value) {\n const optionDom = this._multiselect.querySelector(`span[data-value=\"${value}\"]`)\n optionDom && optionDom.parentNode && optionDom.parentNode.removeChild(optionDom)\n }\n\n /**\n * Renders the multiselect options list view.\n * @private\n */\n _renderOptionsList () {\n const html = `\n <div class=\"multiselect__options\" style=\"${style.multiselect__options}\">\n <ul style=\"${style.multiselect__options_ul}\">\n ${\n this._options.length > 0 && !this._itemTemplate\n ? this._options\n .map((option) => {\n return `\n <li data-value=\"${option.value}\" style=\"${style.multiselect__options_ul_li}\">${option.text}</li>\n `\n })\n .join('')\n : ''\n }\n\n ${\n this._options.length > 0 && this._itemTemplate\n ? this._options\n .map((option, index) => {\n return `\n <li data-value=\"${option.value}\" style=\"${style.multiselect__options_ul_li}\">${this._processTemplate(this._itemTemplate, index)}</li>\n `\n })\n .join('')\n : ''\n }\n ${this._showNoData(this._options.length === 0)}\n </ul>\n </div>\n `\n\n this._multiselect.insertAdjacentHTML('beforeend', html)\n }\n\n /**\n * Renders the multiselect view.\n * @private\n */\n _renderMultiselect () {\n this._select.style.display = 'none'\n const id = 'iconic-' + this._generateId(20)\n // Timea created dedicated div element because previous code was not rendering\n this._multiselect = document.createElement('div')\n this._multiselect.setAttribute('id', id)\n this._multiselect.setAttribute('class', 'multiselect__container')\n this._multiselect.setAttribute('style', style.multiselect__container)\n const html = `\n <div class=\"multiselect__wrapper\" style=\"${style.multiselect__wrapper}\">\n <input class=\"multiselect__input\" style=\"${style.multiselect__input}\" placeholder=\"${this._placeholder}\" />\n </div>\n <span style=\"display: none;\" class=\"multiselect__clear-btn\" style=\"${style.multiselect__clear_btn}\">${this._cross}</span>\n `\n this._multiselect.innerHTML = html\n this._selectContainer.appendChild(this._multiselect)\n }\n\n /**\n * ScrollIntoView - This small utility reproduces the behavior of .scrollIntoView({ block: \"nearest\", inline: \"nearest\" })\n * This is for IE compatibility without a need of a polyfill\n * @private\n */\n _scrollIntoView (parent, child) {\n const rectParent = parent.getBoundingClientRect()\n const rectChild = child.getBoundingClientRect()\n\n // Detect if not visible at top and then scroll to the top\n if (!(rectParent.top < rectChild.bottom - child.offsetHeight)) {\n parent.scrollTop = child.clientHeight + (child.offsetTop - child.offsetHeight)\n }\n\n // Detect if not visible at bottom and then scroll to the bottom\n if (!(rectParent.bottom > rectChild.top + child.offsetHeight)) {\n parent.scrollTop =\n child.clientHeight +\n (child.offsetTop - child.offsetHeight) -\n (parent.offsetHeight - (child.offsetHeight + (child.offsetHeight - child.clientHeight)))\n }\n }\n\n /**\n * Shows a no data message.\n * @param { boolean } condition\n * @private\n */\n _showNoData (condition) {\n return condition ? `<p class=\"multiselect__options--no-data\" style=\"${style.multiselect__options_ul_p_multiselect__options_no_data}\">${this._noData}</p>` : ''\n }\n\n /**\n * Shows a no results message.\n * @param { boolean } condition\n * @private\n */\n _showNoResults (condition) {\n const dom = this._multiselect.querySelector('.multiselect__options--no-results')\n if (condition) {\n const html = `<p class=\"multiselect__options--no-results\" style=\"${style.multiselect__options_ul_p_multiselect__options_no_results}\">${this._noResults}</p>`\n !dom && this._domElements.optionsContainerList.insertAdjacentHTML('beforeend', html)\n } else {\n dom && dom.parentNode && dom.parentNode.removeChild(dom)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,467 +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.Person = exports.PeoplePicker = exports.GroupPicker = exports.GroupBuilder = exports.Group = void 0;
9
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _escapeHtml = _interopRequireDefault(require("escape-html"));
13
- var _uuid = _interopRequireDefault(require("uuid"));
14
- var rdf = _interopRequireWildcard(require("rdflib"));
15
- var debug = _interopRequireWildcard(require("../debug"));
16
- var _dragAndDrop = require("./dragAndDrop");
17
- var _error = require("./error");
18
- var _iconBase = require("../iconBase");
19
- var ns = _interopRequireWildcard(require("../ns"));
20
- var _solidLogic = require("solid-logic");
21
- var _templateObject;
22
- /**
23
- *
24
- * People Picker Pane
25
- *
26
- * This pane offers a mechanism for selecting a set of individuals, groups, or
27
- * organizations to take some action on.
28
- *
29
- * Assumptions
30
- * - Assumes that the user has a type index entry for vcard:AddressBook. @@ bad assuption
31
- *
32
- */
33
- 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 _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
34
- var kb = _solidLogic.solidLogicSingleton.store;
35
- var PeoplePicker = exports.PeoplePicker = /*#__PURE__*/function () {
36
- function PeoplePicker(element, typeIndex, groupPickedCb, options) {
37
- (0, _classCallCheck2["default"])(this, PeoplePicker);
38
- // @@ can't expect typeindex to be passed
39
- this.options = options || {};
40
- this.element = element;
41
- this.typeIndex = typeIndex;
42
- this.groupPickedCb = groupPickedCb;
43
- this.selectedgroup = this.options.selectedgroup; // current selected group if any
44
- this.onSelectGroup = this.onSelectGroup.bind(this);
45
- }
46
- return (0, _createClass2["default"])(PeoplePicker, [{
47
- key: "render",
48
- value: function render() {
49
- var _this = this;
50
- var container = document.createElement('div');
51
- container.style.maxWidth = '350px';
52
- container.style.minHeight = '200px';
53
- container.style.outline = '1px solid black';
54
- container.style.display = 'flex';
55
- if (this.selectedgroup) {
56
- container.style.flexDirection = 'column';
57
- var selectedGroup = document.createElement('div');
58
- new Group(selectedGroup, this.selectedgroup).render();
59
- var changeGroupButton = document.createElement('button');
60
- changeGroupButton.textContent = (0, _escapeHtml["default"])('Change group');
61
- changeGroupButton.addEventListener('click', function (_event) {
62
- _this.selectedgroup = null;
63
- _this.render();
64
- });
65
- container.appendChild(selectedGroup);
66
- container.appendChild(changeGroupButton);
67
- } else {
68
- this.findAddressBook(this.typeIndex).then(function (_ref) {
69
- var book = _ref.book;
70
- var chooseExistingGroupButton = document.createElement('button');
71
- chooseExistingGroupButton.textContent = (0, _escapeHtml["default"])('Pick an existing group');
72
- chooseExistingGroupButton.style.margin = 'auto';
73
- chooseExistingGroupButton.addEventListener('click', function (_event) {
74
- new GroupPicker(container, book, _this.onSelectGroup).render();
75
- });
76
- var createNewGroupButton = document.createElement('button');
77
- createNewGroupButton.textContent = (0, _escapeHtml["default"])('Create a new group');
78
- createNewGroupButton.style.margin = 'auto';
79
- createNewGroupButton.addEventListener('click', function (_event) {
80
- _this.createNewGroup(book, _this.options.defaultNewGroupName).then(function (_ref2) {
81
- var group = _ref2.group;
82
- new GroupBuilder(_this.element, book, group, _this.onSelectGroup).render();
83
- })["catch"](function (errorBody) {
84
- _this.element.appendChild((0, _error.errorMessageBlock)(document, (0, _escapeHtml["default"])("Error creating a new group. (".concat(errorBody, ")"))));
85
- });
86
- });
87
- container.appendChild(chooseExistingGroupButton);
88
- container.appendChild(createNewGroupButton);
89
- _this.element.innerHTML = '';
90
- _this.element.appendChild(container);
91
- })["catch"](function (err) {
92
- _this.element.appendChild((0, _error.errorMessageBlock)(document, (0, _escapeHtml["default"])("Could find your groups. (".concat(err, ")"))));
93
- });
94
- }
95
- this.element.innerHTML = '';
96
- this.element.appendChild(container);
97
- return this;
98
- }
99
- }, {
100
- key: "findAddressBook",
101
- value: function findAddressBook(typeIndex) {
102
- return new Promise(function (resolve, reject) {
103
- kb.fetcher.nowOrWhenFetched(typeIndex, function (ok, err) {
104
- if (!ok) {
105
- return reject(err);
106
- }
107
- var bookRegistration = kb.any(null, ns.solid('forClass'), ns.vcard('AddressBook'));
108
- if (!bookRegistration) {
109
- return reject(new Error('no address book registered in the solid type index ' + typeIndex));
110
- }
111
- var book = kb.any(bookRegistration, ns.solid('instance'));
112
- if (!book) {
113
- return reject(new Error('incomplete address book registration'));
114
- }
115
- kb.fetcher.load(book).then(function (_xhr) {
116
- return resolve({
117
- book: book
118
- });
119
- })["catch"](function (err) {
120
- return reject(new Error('Could not load address book ' + err));
121
- });
122
- });
123
- });
124
- }
125
- }, {
126
- key: "createNewGroup",
127
- value: function createNewGroup(book, defaultNewGroupName) {
128
- var _indexes = indexes(book),
129
- groupIndex = _indexes.groupIndex,
130
- groupContainer = _indexes.groupContainer;
131
- var group = rdf.sym("".concat(groupContainer.uri).concat(_uuid["default"].v4().slice(0, 8), ".ttl#this"));
132
- var name = defaultNewGroupName || 'Untitled Group';
133
-
134
- // NOTE that order matters here. Unfortunately this type of update is
135
- // non-atomic in that solid requires us to send two PATCHes, either of which
136
- // might fail.
137
- var patchPromises = [group.doc(), groupIndex].map(function (doc) {
138
- var typeStatement = rdf.st(group, ns.rdf('type'), ns.vcard('Group'), doc);
139
- var nameStatement = rdf.st(group, ns.vcard('fn'), name, group.doc(), doc);
140
- var includesGroupStatement = rdf.st(book, ns.vcard('includesGroup'), group, doc);
141
- var toIns = doc.equals(groupIndex) ? [typeStatement, nameStatement, includesGroupStatement] : [typeStatement, nameStatement];
142
- return patch(doc.uri, {
143
- toIns: toIns
144
- }).then(function () {
145
- toIns.forEach(function (st) {
146
- kb.add(st);
147
- });
148
- });
149
- });
150
- return Promise.all(patchPromises).then(function () {
151
- return {
152
- group: group
153
- };
154
- })["catch"](function (err) {
155
- debug.log('Could not create new group. PATCH failed ' + err);
156
- throw new Error("Couldn't create new group. PATCH failed for (".concat(err.xhr ? err.xhr.responseURL : '', " )"));
157
- });
158
- }
159
- }, {
160
- key: "onSelectGroup",
161
- value: function onSelectGroup(group) {
162
- this.selectedgroup = group;
163
- this.groupPickedCb(group);
164
- this.render();
165
- }
166
- }]);
167
- }();
168
- var GroupPicker = exports.GroupPicker = /*#__PURE__*/function () {
169
- function GroupPicker(element, book, onSelectGroup) {
170
- (0, _classCallCheck2["default"])(this, GroupPicker);
171
- this.element = element;
172
- this.book = book;
173
- this.onSelectGroup = onSelectGroup;
174
- }
175
- return (0, _createClass2["default"])(GroupPicker, [{
176
- key: "render",
177
- value: function render() {
178
- var _this2 = this;
179
- this.loadGroups().then(function (groups) {
180
- // render the groups
181
- var container = document.createElement('div');
182
- container.style.display = 'flex';
183
- container.style.flexDirection = 'column';
184
- groups.forEach(function (group) {
185
- var groupButton = document.createElement('button');
186
- groupButton.addEventListener('click', _this2.handleClickGroup(group));
187
- new Group(groupButton, group).render();
188
- container.appendChild(groupButton);
189
- });
190
- _this2.element.innerHTML = '';
191
- _this2.element.appendChild(container);
192
- })["catch"](function (err) {
193
- _this2.element.appendChild((0, _error.errorMessageBlock)(document, (0, _escapeHtml["default"])("There was an error loading your groups. (".concat(err, ")"))));
194
- });
195
- return this;
196
- }
197
- }, {
198
- key: "loadGroups",
199
- value: function loadGroups() {
200
- var _this3 = this;
201
- return new Promise(function (resolve, reject) {
202
- var _indexes2 = indexes(_this3.book),
203
- groupIndex = _indexes2.groupIndex;
204
- kb.fetcher.nowOrWhenFetched(groupIndex, function (ok, err) {
205
- if (!ok) {
206
- return reject(err);
207
- }
208
- var groups = kb.each(_this3.book, ns.vcard('includesGroup'));
209
- return resolve(groups);
210
- });
211
- });
212
- }
213
- }, {
214
- key: "handleClickGroup",
215
- value: function handleClickGroup(group) {
216
- var _this4 = this;
217
- return function (_event) {
218
- _this4.onSelectGroup(group);
219
- };
220
- }
221
- }]);
222
- }();
223
- var Group = exports.Group = /*#__PURE__*/function () {
224
- function Group(element, group) {
225
- (0, _classCallCheck2["default"])(this, Group);
226
- this.element = element;
227
- this.group = group;
228
- }
229
- return (0, _createClass2["default"])(Group, [{
230
- key: "render",
231
- value: function render() {
232
- var container = document.createElement('div');
233
- container.textContent = (0, _escapeHtml["default"])(
234
- // @@@@@ need to escape??
235
- getWithDefault(this.group, ns.vcard('fn'), "[".concat(this.group.value, "]")));
236
- this.element.innerHTML = '';
237
- this.element.appendChild(container);
238
- return this;
239
- }
240
- }]);
241
- }();
242
- var GroupBuilder = exports.GroupBuilder = /*#__PURE__*/function () {
243
- function GroupBuilder(element, book, group, doneBuildingCb, groupChangedCb) {
244
- (0, _classCallCheck2["default"])(this, GroupBuilder);
245
- this.element = element;
246
- this.book = book;
247
- this.group = group;
248
- this.onGroupChanged = function (err, changeType, agent) {
249
- if (groupChangedCb) {
250
- groupChangedCb(err, changeType, agent);
251
- }
252
- };
253
- this.groupChangedCb = groupChangedCb;
254
- this.doneBuildingCb = doneBuildingCb;
255
- }
256
- return (0, _createClass2["default"])(GroupBuilder, [{
257
- key: "refresh",
258
- value: function refresh() {
259
- // TODO: implement
260
- }
261
- }, {
262
- key: "render",
263
- value: function render() {
264
- var _this5 = this;
265
- var dropContainer = document.createElement('div');
266
- dropContainer.style.maxWidth = '350px';
267
- dropContainer.style.minHeight = '200px';
268
- dropContainer.style.outline = '1px solid black';
269
- dropContainer.style.display = 'flex';
270
- dropContainer.style.flexDirection = 'column';
271
- (0, _dragAndDrop.makeDropTarget)(dropContainer, function (uris) {
272
- uris.forEach(function (uri) {
273
- _this5.add(uri)["catch"](function (err) {
274
- _this5.element.appendChild((0, _error.errorMessageBlock)(document, (0, _escapeHtml["default"])("Could not add the given WebId. (".concat(err, ")"))));
275
- });
276
- });
277
- });
278
- var groupNameInput = document.createElement('input');
279
- groupNameInput.type = 'text';
280
- groupNameInput.value = getWithDefault(this.group, ns.vcard('fn'), 'Untitled Group');
281
- groupNameInput.addEventListener('change', function (event) {
282
- _this5.setGroupName(event.target.value)["catch"](function (err) {
283
- _this5.element.appendChild((0, _error.errorMessageBlock)(document, "Error changing group name. (".concat(err, ")")));
284
- });
285
- });
286
- var groupNameLabel = document.createElement('label');
287
- groupNameLabel.textContent = (0, _escapeHtml["default"])('Group Name:');
288
- groupNameLabel.appendChild(groupNameInput);
289
- dropContainer.appendChild(groupNameLabel);
290
- if (kb.any(this.group, ns.vcard('hasMember'))) {
291
- kb.match(this.group, ns.vcard('hasMember')).forEach(function (statement) {
292
- var webIdNode = statement.object;
293
- var personDiv = document.createElement('div');
294
- new Person(personDiv, webIdNode, _this5.handleRemove(webIdNode)).render();
295
- dropContainer.appendChild(personDiv);
296
- });
297
- } else {
298
- var copy = document.createElement('p');
299
- copy.textContent = (0, _escapeHtml["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n To add someone to this group, drag and drop their WebID URL onto the box.\n "])));
300
- dropContainer.appendChild(copy);
301
- }
302
- var doneBuildingButton = document.createElement('button');
303
- doneBuildingButton.textContent = (0, _escapeHtml["default"])('Done');
304
- doneBuildingButton.addEventListener('click', function (_event) {
305
- _this5.doneBuildingCb(_this5.group);
306
- });
307
- dropContainer.appendChild(doneBuildingButton);
308
- this.element.innerHTML = '';
309
- this.element.appendChild(dropContainer);
310
- return this;
311
- }
312
- }, {
313
- key: "add",
314
- value: function add(webId) {
315
- var _this6 = this;
316
- return new Promise(function (resolve, reject) {
317
- kb.fetcher.nowOrWhenFetched(webId, function (ok, err) {
318
- if (!ok) {
319
- _this6.onGroupChanged(err);
320
- return reject(err);
321
- }
322
- // make sure it's a valid person, group, or entity (for now just handle
323
- // webId)
324
- var webIdNode = rdf.namedNode(webId);
325
- var rdfClass = kb.any(webIdNode, ns.rdf('type'));
326
- if (!rdfClass || !rdfClass.equals(ns.foaf('Person'))) {
327
- return reject(new Error("Only people supported right now. (tried to add something of type ".concat(rdfClass.value, ")")));
328
- }
329
- return resolve(webIdNode);
330
- });
331
- }).then(function (webIdNode) {
332
- var statement = rdf.st(_this6.group, ns.vcard('hasMember'), webIdNode);
333
- if (kb.holdsStatement(statement)) {
334
- return webIdNode;
335
- }
336
- return patch(_this6.group.doc().uri, {
337
- toIns: [statement]
338
- }).then(function () {
339
- statement.why = _this6.group.doc();
340
- kb.add(statement);
341
- _this6.onGroupChanged(null, 'added', webIdNode);
342
- _this6.render();
343
- });
344
- });
345
- }
346
- }, {
347
- key: "handleRemove",
348
- value: function handleRemove(webIdNode) {
349
- var _this7 = this;
350
- return function (_event) {
351
- var statement = rdf.st(_this7.group, ns.vcard('hasMember'), webIdNode);
352
- return patch(_this7.group.doc().uri, {
353
- toDel: [statement]
354
- }).then(function () {
355
- kb.remove(statement);
356
- _this7.onGroupChanged(null, 'removed', webIdNode);
357
- _this7.render();
358
- return true;
359
- })["catch"](function (err) {
360
- var name = kb.any(webIdNode, ns.foaf('name'));
361
- var errorMessage = name && name.value ? "Could not remove ".concat(name.value, ". (").concat(err, ")") : "Could not remove ".concat(webIdNode.value, ". (").concat(err, ")");
362
- throw new Error(errorMessage);
363
- });
364
- };
365
- }
366
- }, {
367
- key: "setGroupName",
368
- value: function setGroupName(name) {
369
- var _this8 = this;
370
- var _indexes3 = indexes(this.book),
371
- groupIndex = _indexes3.groupIndex;
372
- var updatePromises = [this.group.doc(), groupIndex].map(function (namedGraph) {
373
- var oldNameStatements = kb.match(_this8.group, ns.vcard('fn'), null, namedGraph);
374
- var newNameStatement = rdf.st(_this8.group, ns.vcard('fn'), rdf.literal(name));
375
- return patch(namedGraph.value, {
376
- toDel: oldNameStatements,
377
- toIns: [newNameStatement]
378
- }).then(function (_solidResponse) {
379
- kb.removeStatements(oldNameStatements);
380
- newNameStatement.why = namedGraph;
381
- kb.add(newNameStatement);
382
- });
383
- });
384
- return Promise.all(updatePromises);
385
- }
386
- }]);
387
- }(); // @ignore exporting this only for the unit test
388
- // @@ TODO maybe I should move this down at end, but for
389
- // now I will leave it where it was
390
- var Person = exports.Person = /*#__PURE__*/function () {
391
- function Person(element, webIdNode, handleRemove) {
392
- (0, _classCallCheck2["default"])(this, Person);
393
- this.webIdNode = webIdNode;
394
- this.element = element;
395
- this.handleRemove = handleRemove;
396
- }
397
- return (0, _createClass2["default"])(Person, [{
398
- key: "render",
399
- value: function render() {
400
- var _this9 = this;
401
- var container = document.createElement('div');
402
- container.style.display = 'flex';
403
-
404
- // TODO: take a look at UI.widgets.setName
405
- var imgSrc = getWithDefault(this.webIdNode, ns.foaf('img'), _iconBase.iconBase + 'noun_15059.svg');
406
- var profileImg = document.createElement('img');
407
- profileImg.src = (0, _escapeHtml["default"])(imgSrc);
408
- profileImg.width = '50';
409
- profileImg.height = '50';
410
- profileImg.style.margin = '5px';
411
-
412
- // TODO: take a look at UI.widgets.setImage
413
- var name = getWithDefault(this.webIdNode, ns.foaf('name'), "[".concat(this.webIdNode, "]"));
414
- var nameSpan = document.createElement('span');
415
- nameSpan.innerHTML = (0, _escapeHtml["default"])(name);
416
- nameSpan.style.flexGrow = '1';
417
- nameSpan.style.margin = 'auto 0';
418
- var removeButton = document.createElement('button');
419
- removeButton.textContent = 'Remove';
420
- removeButton.addEventListener('click', function (_event) {
421
- return _this9.handleRemove()["catch"](function (err) {
422
- _this9.element.appendChild((0, _error.errorMessageBlock)(document, (0, _escapeHtml["default"])("".concat(err))));
423
- });
424
- });
425
- removeButton.style.margin = '5px';
426
- container.appendChild(profileImg);
427
- container.appendChild(nameSpan);
428
- container.appendChild(removeButton);
429
- this.element.innerHTML = '';
430
- this.element.appendChild(container);
431
- return this;
432
- }
433
- }]);
434
- }();
435
- function getWithDefault(subject, predicate, defaultValue) {
436
- var object = kb.any(subject, predicate);
437
- return object ? object.value : defaultValue;
438
- }
439
- function patch(url, _ref3) {
440
- var toDel = _ref3.toDel,
441
- toIns = _ref3.toIns;
442
- return new Promise(function (resolve, reject) {
443
- kb.updater.update(toDel, toIns, function (uri, success, errorMessage) {
444
- if (!success) {
445
- return reject(new Error("PATCH failed for resource <".concat(uri, ">: ").concat(errorMessage)));
446
- }
447
- resolve();
448
- });
449
- });
450
- // return webClient.patch(url, toDel, toIns)
451
- // .then(solidResponse => {
452
- // const status = solidResponse.xhr.status
453
- // if (status < 200 || status >= 400) {
454
- // const err = new Error(`PATCH failed for resource <${solidResponse.url}>`)
455
- // err.solidResponse = solidResponse
456
- // throw err
457
- // }
458
- // })
459
- }
460
- function indexes(book) {
461
- return {
462
- // bookIndex: book,
463
- groupIndex: kb.any(book, ns.vcard('groupIndex')),
464
- groupContainer: kb.sym(book.dir().uri + 'Group/')
465
- };
466
- }
467
- //# sourceMappingURL=peoplePicker.js.map