solid-ui 2.6.1-e5ad2945 → 2.6.1-e78cbe5

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 +85 -26
  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 +31 -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
@@ -0,0 +1,241 @@
1
+ import { Literal, st } from 'rdflib';
2
+ import { solidLogicSingleton } from 'solid-logic';
3
+ import ns from '../../ns';
4
+ import { style } from '../../style';
5
+ import styleConstants from '../../styleConstants';
6
+ import { label } from '../../utils';
7
+ import { errorMessageBlock } from '../error';
8
+ import { mostSpecificClassURI } from './fieldFunction';
9
+ import { fieldParams } from './fieldParams';
10
+ const store = solidLogicSingleton.store;
11
+ /* Style and create a name, value pair
12
+ */
13
+ export function renderNameValuePair(dom, kb, box, form, label) {
14
+ // const property = kb.any(form, ns.ui('property'))
15
+ box.style.display = 'flex';
16
+ box.style.flexDirection = 'row';
17
+ const lhs = box.appendChild(dom.createElement('div'));
18
+ lhs.style.width = styleConstants.formFieldNameBoxWidth;
19
+ const rhs = box.appendChild(dom.createElement('div'));
20
+ lhs.setAttribute('class', 'formFieldName');
21
+ lhs.setAttribute('style', style.formFieldNameBoxStyle);
22
+ rhs.setAttribute('class', 'formFieldValue');
23
+ if (label) {
24
+ lhs.appendChild(dom.createTextNode(label));
25
+ }
26
+ else if (kb.any(form, ns.ui('property'))) { // Assume more space for error on right
27
+ lhs.appendChild(fieldLabel(dom, kb.any(form, ns.ui('property')), form));
28
+ }
29
+ else {
30
+ rhs.appendChild(errorMessageBlock(dom, 'No property or label given for form field: ' + form));
31
+ lhs.appendChild(dom.createTextNode('???'));
32
+ }
33
+ return rhs;
34
+ }
35
+ /**
36
+ * Create an anchor element with a label as the anchor text.
37
+ *
38
+ * @param dom The DOM
39
+ * @param property href for the anchor element
40
+ * @param fieldInQuestion field to produce a label for
41
+ *
42
+ * @internal exporting this only for unit tests
43
+ */
44
+ export function fieldLabel(dom, property, fieldInQuestion) {
45
+ let lab = store.any(fieldInQuestion, ns.ui('label'));
46
+ if (!lab)
47
+ lab = label(property, true); // Init capital
48
+ if (property === undefined) {
49
+ return dom.createTextNode('@@Internal error: undefined property');
50
+ }
51
+ const anchor = dom.createElement('a');
52
+ /* istanbul ignore next */
53
+ if (property.uri)
54
+ anchor.setAttribute('href', property.uri);
55
+ anchor.setAttribute('style', 'color: #3B5998; text-decoration: none;'); // Not too blue and no underline
56
+ anchor.textContent = lab;
57
+ return anchor;
58
+ }
59
+ /**
60
+ * Returns the document for the first quad that matches
61
+ * the subject and predicate provided, or default if that
62
+ * store is not editable.
63
+ *
64
+ * @param subject Subject about which we want to find an editable RDF document
65
+ * @param predicate Predicate about which we want to find an editable RDF document
66
+ * @param def default RDF document to return if none found
67
+ *
68
+ * @internal exporting this only for unit tests
69
+ */
70
+ export function fieldStore(subject, predicate, def) {
71
+ const sts = store.statementsMatching(subject, predicate);
72
+ if (sts.length === 0)
73
+ return def; // can used default as no data yet
74
+ if (!store.updater) {
75
+ throw new Error('Store has no updater');
76
+ }
77
+ if (sts.length > 0 &&
78
+ sts[0].why.value &&
79
+ store.updater.editable(sts[0].why.value, store)) {
80
+ return store.sym(sts[0].why.value);
81
+ }
82
+ return def;
83
+ }
84
+ /**
85
+ * Render a basic form field
86
+ *
87
+ * The same function is used for many similar one-value fields, with different
88
+ * regexps used to validate.
89
+ *
90
+ * @param dom The HTML Document object aka Document Object Model
91
+ * @param container If present, the created widget will be appended to this
92
+ * @param already A hash table of (form, subject) kept to prevent recursive forms looping
93
+ * @param subject The thing about which the form displays/edits data
94
+ * @param form The form or field to be rendered
95
+ * @param doc The web document in which the data is
96
+ * @param callbackFunction Called when data is changed?
97
+ *
98
+ * @returns The HTML widget created
99
+ */
100
+ export function basicField(dom, container, already, subject, form, doc, callbackFunction) {
101
+ const kb = store;
102
+ const formDoc = form.doc ? form.doc() : null; // @@ if blank no way to know
103
+ const box = dom.createElement('div');
104
+ const property = kb.any(form, ns.ui('property'));
105
+ if (container)
106
+ container.appendChild(box);
107
+ if (!property) {
108
+ return box.appendChild(errorMessageBlock(dom, 'Error: No property given for text field: ' + form));
109
+ }
110
+ const rhs = renderNameValuePair(dom, kb, box, form);
111
+ // It can be cleaner to just remove empty fields if you can't edit them anyway
112
+ const suppressEmptyUneditable = kb.anyJS(form, ns.ui('suppressEmptyUneditable'), null, formDoc);
113
+ const uri = mostSpecificClassURI(form);
114
+ let params = fieldParams[uri];
115
+ if (params === undefined)
116
+ params = { style: '' }; // non-bottom field types can do this
117
+ const paramStyle = params.style || '';
118
+ const inputStyle = style.textInputStyle + paramStyle;
119
+ const field = dom.createElement('input');
120
+ field.style = inputStyle;
121
+ rhs.appendChild(field);
122
+ field.setAttribute('type', params.type ? params.type : 'text');
123
+ const size = kb.anyJS(form, ns.ui('size')) || styleConstants.textInputSize || 20;
124
+ field.setAttribute('size', size);
125
+ const maxLength = kb.any(form, ns.ui('maxLength'));
126
+ field.setAttribute('maxLength', maxLength ? '' + maxLength : styleConstants.basicMaxLength);
127
+ doc = doc || fieldStore(subject, property, doc);
128
+ let obj = kb.any(subject, property, undefined, doc);
129
+ if (!obj) {
130
+ obj = kb.any(form, ns.ui('default'));
131
+ }
132
+ if (obj && obj.value && params.uriPrefix) {
133
+ // eg tel: or mailto:
134
+ field.value = decodeURIComponent(obj.value.replace(params.uriPrefix, '')) // should have no spaces but in case
135
+ .replace(/ /g, '');
136
+ }
137
+ else if (obj) {
138
+ /* istanbul ignore next */
139
+ field.value = obj.value || obj.value || '';
140
+ }
141
+ field.setAttribute('style', inputStyle);
142
+ if (!kb.updater) {
143
+ throw new Error('kb has no updater');
144
+ }
145
+ if (!kb.updater.editable(doc.uri)) {
146
+ field.readOnly = true // was: disabled. readOnly is better
147
+ ;
148
+ field.style = style.textInputStyleUneditable + paramStyle;
149
+ if (suppressEmptyUneditable && field.value === '') {
150
+ box.style.display = 'none'; // clutter
151
+ }
152
+ return box;
153
+ }
154
+ // read-write:
155
+ field.addEventListener('keyup', function (_e) {
156
+ if (params.pattern) {
157
+ field.setAttribute('style', inputStyle +
158
+ (field.value.match(params.pattern)
159
+ ? 'color: green;'
160
+ : 'color: red;'));
161
+ }
162
+ }, true);
163
+ field.addEventListener('change', function (_e) {
164
+ // i.e. lose focus with changed data
165
+ if (params.pattern && !field.value.match(params.pattern))
166
+ return;
167
+ field.disabled = true; // See if this stops getting two dates from fumbling e.g the chrome datepicker.
168
+ field.setAttribute('style', inputStyle + 'color: gray;'); // pending
169
+ const ds = kb.statementsMatching(subject, property); // remove any multiple values
170
+ let result;
171
+ if (params.namedNode) {
172
+ result = kb.sym(field.value);
173
+ }
174
+ else if (params.uriPrefix) {
175
+ result = encodeURIComponent(field.value.replace(/ /g, ''));
176
+ result = kb.sym(params.uriPrefix + field.value);
177
+ }
178
+ else {
179
+ if (params.dt) {
180
+ result = new Literal(field.value.trim(), undefined, ns.xsd(params.dt));
181
+ }
182
+ else {
183
+ result = new Literal(field.value);
184
+ }
185
+ }
186
+ let is = ds.map(statement => st(statement.subject, statement.predicate, result, statement.why)); // can include >1 doc
187
+ if (is.length === 0) {
188
+ // or none
189
+ is = [st(subject, property, result, doc)];
190
+ }
191
+ function updateMany(ds, is, callback) {
192
+ const docs = [];
193
+ is.forEach(st => {
194
+ if (!docs.includes(st.why.uri))
195
+ docs.push(st.why.uri);
196
+ });
197
+ ds.forEach(st => {
198
+ /* istanbul ignore next */
199
+ if (!docs.includes(st.why.uri))
200
+ docs.push(st.why.uri);
201
+ });
202
+ /* istanbul ignore next */
203
+ if (docs.length === 0) {
204
+ throw new Error('updateMany has no docs to patch');
205
+ }
206
+ if (!kb.updater) {
207
+ throw new Error('kb has no updater');
208
+ }
209
+ if (docs.length === 1) {
210
+ return kb.updater.update(ds, is, callback);
211
+ }
212
+ // return kb.updater.update(ds, is, callback)
213
+ const doc = docs.pop();
214
+ const is1 = is.filter(st => st.why.uri === doc);
215
+ const is2 = is.filter(st => st.why.uri !== doc);
216
+ const ds1 = ds.filter(st => st.why.uri === doc);
217
+ const ds2 = ds.filter(st => st.why.uri !== doc);
218
+ kb.updater.update(ds1, is1, function (uri, ok, body) {
219
+ if (ok) {
220
+ updateMany(ds2, is2, callback);
221
+ }
222
+ else {
223
+ callback(uri, ok, body);
224
+ }
225
+ });
226
+ }
227
+ updateMany(ds, is, function (uri, ok, body) {
228
+ // kb.updater.update(ds, is, function (uri, ok, body) {
229
+ if (ok) {
230
+ field.disabled = false;
231
+ field.setAttribute('style', inputStyle);
232
+ }
233
+ else {
234
+ box.appendChild(errorMessageBlock(dom, body));
235
+ }
236
+ callbackFunction(ok, body);
237
+ });
238
+ }, true);
239
+ return box;
240
+ }
241
+ //# sourceMappingURL=basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/widgets/forms/basic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { solidLogicSingleton } from 'solid-logic';
2
+ import ns from '../../ns';
3
+ import { mostSpecificClassURI } from './fieldFunction';
4
+ import { fieldParams } from './fieldParams';
5
+ const store = solidLogicSingleton.store;
6
+ /**
7
+ * A [[FieldFunction]] for a simple comment box. It will look for
8
+ * the first (form, ns.ui('contents'), ?) triple it can find in
9
+ * store and use the value of the object of that triple as
10
+ * the comment text.
11
+ *
12
+ * @param dom The DOM
13
+ * @param container If set, the result will be appended to it as a child
14
+ * @param already Unused
15
+ * @param subject Unused
16
+ * @param form RDF node with `ns.ui('contents')` attribute
17
+ * @param _doc Unused
18
+ * @param _callbackFunction Unused
19
+ *
20
+ * @returns a DOM element containing the comment.
21
+ */
22
+ export function commentField(dom, container, already, subject, form, _doc, _callbackFunction) {
23
+ const kb = store;
24
+ let contents = kb.any(form, ns.ui('contents'));
25
+ if (!contents) {
26
+ contents = 'Error: No contents in comment field.';
27
+ }
28
+ const uri = mostSpecificClassURI(form);
29
+ let params = fieldParams[uri];
30
+ if (params === undefined) {
31
+ params = {};
32
+ } // non-bottom field types can do this
33
+ const box = dom.createElement('div');
34
+ if (container)
35
+ container.appendChild(box);
36
+ const p = box.appendChild(dom.createElement(params.element || 'p'));
37
+ p.textContent = contents;
38
+ let style = kb.any(form, ns.ui('style'));
39
+ if (style === undefined) {
40
+ style = params.style ? params.style : '';
41
+ }
42
+ if (style)
43
+ p.setAttribute('style', style);
44
+ return box;
45
+ }
46
+ //# sourceMappingURL=comment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../../src/widgets/forms/comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;AAEvC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAiB,EACjB,SAAkC,EAClC,OAAY,EACZ,OAAY,EACZ,IAAI,EACJ,IAAI,EACJ,iBAAiB;IAEjB,MAAM,EAAE,GAAG,KAAK,CAAA;IAChB,IAAI,QAAQ,GAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,sCAAsC,CAAA;IACnD,CAAC;IACD,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,EAAE,CAAA;IACb,CAAC,CAAC,qCAAqC;IAEvC,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,SAAS;QAAE,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAA;IACnE,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAA;IAExB,IAAI,KAAK,GAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1C,CAAC;IACD,IAAI,KAAK;QAAE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,KAAY,CAAC,CAAA;IAEhD,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { solidLogicSingleton } from 'solid-logic';
2
+ import { debug } from '../../log';
3
+ import { errorMessageBlock } from '../error';
4
+ const store = solidLogicSingleton.store;
5
+ export const field = {}; // Form field functions by URI of field type.
6
+ /**
7
+ * Which class of field is this? Relies on http://www.w3.org/2000/01/rdf-schema#subClassOf and
8
+ * https://linkeddata.github.io/rdflib.js/doc/classes/formula.html#bottomtypeuris
9
+ * to find the most specific RDF type if there are multiple.
10
+ *
11
+ * @param x a form field, e.g. `namedNode('https://timbl.com/timbl/Public/Test/Forms/individualForm.ttl#fullNameField')`
12
+ * @returns the URI of the most specific known class, e.g. `http://www.w3.org/ns/ui#SingleLineTextField`
13
+ */
14
+ export function mostSpecificClassURI(x) {
15
+ const kb = store;
16
+ const ft = kb.findTypeURIs(x);
17
+ const bot = kb.bottomTypeURIs(ft); // most specific
18
+ const bots = [];
19
+ for (const b in bot)
20
+ bots.push(b);
21
+ // if (bots.length > 1) throw "Didn't expect "+x+" to have multiple bottom types: "+bots
22
+ return bots[0];
23
+ }
24
+ /**
25
+ * Returns a function that creates a form widget
26
+ * @param dom unused
27
+ * @param fieldInQuestion the field for which to create a form, e.g. namedNode('https://timbl.com/timbl/Public/Test/Forms/individualForm.ttl#fullNameField')
28
+ */
29
+ export function fieldFunction(dom /* unused */, fieldInQuestion) {
30
+ const uri = mostSpecificClassURI(fieldInQuestion); // What type
31
+ // const uri = field.uri
32
+ const fun = field[uri];
33
+ debug('paneUtils: Going to implement field ' + fieldInQuestion + ' of type ' + uri);
34
+ if (!fun) {
35
+ return function (dom2, container) {
36
+ const box = errorMessageBlock(dom2, 'No handler for field ' + fieldInQuestion + ' of type ' + uri);
37
+ if (container)
38
+ container.appendChild(box);
39
+ return box;
40
+ };
41
+ }
42
+ return fun;
43
+ }
44
+ //# sourceMappingURL=fieldFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldFunction.js","sourceRoot":"","sources":["../../../src/widgets/forms/fieldFunction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;AAYvC,MAAM,CAAC,MAAM,KAAK,GAA0C,EAAE,CAAA,CAAC,6CAA6C;AAE5G;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAE,CAAO;IAC3C,MAAM,EAAE,GAAG,KAAK,CAAA;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAQ,CAAC,CAAA;IACpC,MAAM,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA,CAAC,gBAAgB;IAClD,MAAM,IAAI,GAAU,EAAE,CAAA;IACtB,KAAK,MAAM,CAAC,IAAI,GAAG;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjC,wFAAwF;IACxF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAE,GAAQ,CAAC,YAAY,EAAE,eAAqB;IACzE,MAAM,GAAG,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAA,CAAC,YAAY;IAC9D,wBAAwB;IACxB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;IACtB,KAAK,CACH,sCAAsC,GAAG,eAAe,GAAG,WAAW,GAAG,GAAG,CAC7E,CAAA;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,UAAU,IAAkB,EAAE,SAAuB;YAC1D,MAAM,GAAG,GAAG,iBAAiB,CAC3B,IAAI,EACJ,uBAAuB,GAAG,eAAe,GAAG,WAAW,GAAG,GAAG,CAC9D,CAAA;YACD,IAAI,SAAS;gBAAE,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAEzC,OAAO,GAAG,CAAA;QACZ,CAAC,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,89 @@
1
+ import ns from '../../ns';
2
+ import { style } from '../../style';
3
+ /**
4
+ * The fieldParams object defines various constants
5
+ * for use in various form fields. Depending on the
6
+ * field in questions, different values may be read
7
+ * from here.
8
+ */
9
+ export const fieldParams = {
10
+ /**
11
+ * Text field
12
+ *
13
+ * For possible date popups see e.g. http://www.dynamicdrive.com/dynamicindex7/jasoncalendar.htm
14
+ * or use HTML5: http://www.w3.org/TR/2011/WD-html-markup-20110113/input.date.html
15
+ */
16
+ [ns.ui('ColorField').uri]: {
17
+ size: 9,
18
+ type: 'color',
19
+ style: 'height: 3em;', // around 1.5em is padding
20
+ dt: 'color',
21
+ pattern: /^\s*#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]([0-9a-f][0-9a-f])?\s*$/
22
+ }, // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/color
23
+ [ns.ui('DateField').uri]: {
24
+ size: 20,
25
+ type: 'date',
26
+ dt: 'date',
27
+ pattern: /^\s*[0-9][0-9][0-9][0-9](-[0-1]?[0-9]-[0-3]?[0-9])?Z?\s*$/
28
+ },
29
+ [ns.ui('DateTimeField').uri]: {
30
+ size: 20,
31
+ type: 'datetime-local', // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime
32
+ dt: 'dateTime',
33
+ pattern: /^\s*[0-9][0-9][0-9][0-9](-[0-1]?[0-9]-[0-3]?[0-9])?(T[0-2][0-9]:[0-5][0-9](:[0-5][0-9])?)?Z?\s*$/
34
+ },
35
+ [ns.ui('TimeField').uri]: {
36
+ size: 10,
37
+ type: 'time',
38
+ dt: 'time',
39
+ pattern: /^\s*([0-2]?[0-9]:[0-5][0-9](:[0-5][0-9])?)\s*$/
40
+ },
41
+ [ns.ui('IntegerField').uri]: {
42
+ size: 12,
43
+ style: 'text-align: right;',
44
+ dt: 'integer',
45
+ pattern: /^\s*-?[0-9]+\s*$/
46
+ },
47
+ [ns.ui('DecimalField').uri]: {
48
+ size: 12,
49
+ style: 'text-align: right;',
50
+ dt: 'decimal',
51
+ pattern: /^\s*-?[0-9]*(\.[0-9]*)?\s*$/
52
+ },
53
+ [ns.ui('FloatField').uri]: {
54
+ size: 12,
55
+ style: 'text-align: right;',
56
+ dt: 'float',
57
+ pattern: /^\s*-?[0-9]*(\.[0-9]*)?((e|E)-?[0-9]*)?\s*$/
58
+ },
59
+ [ns.ui('SingleLineTextField').uri]: {},
60
+ [ns.ui('NamedNodeURIField').uri]: {
61
+ namedNode: true
62
+ },
63
+ [ns.ui('TextField').uri]: {},
64
+ [ns.ui('PhoneField').uri]: {
65
+ size: 20,
66
+ uriPrefix: 'tel:',
67
+ pattern: /^\+?[\d-]+[\d]*$/
68
+ },
69
+ [ns.ui('EmailField').uri]: {
70
+ size: 30,
71
+ uriPrefix: 'mailto:',
72
+ pattern: /^\s*.*@.*\..*\s*$/ // @@ Get the right regexp here
73
+ },
74
+ [ns.ui('Group').uri]: {
75
+ style: style.formGroupStyle
76
+ },
77
+ /**
78
+ * Non-interactive fields
79
+ */
80
+ [ns.ui('Comment').uri]: {
81
+ element: 'p',
82
+ style: style.commentStyle
83
+ },
84
+ [ns.ui('Heading').uri]: {
85
+ element: 'h3',
86
+ style: style.formHeadingStyle
87
+ }
88
+ };
89
+ //# sourceMappingURL=fieldParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldParams.js","sourceRoot":"","sources":["../../../src/widgets/forms/fieldParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAanC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgD;IACtE;;;;;OAKG;IACH,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE;QACzB,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc,EAAE,0BAA0B;QACjD,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,8EAA8E;KACxF,EAAE,wEAAwE;IAE3E,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE;QACxB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,MAAM;QACV,OAAO,EAAE,2DAA2D;KACrE;IAED,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE;QAC5B,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,gBAAgB,EAAE,+EAA+E;QACvG,EAAE,EAAE,UAAU;QACd,OAAO,EAAE,kGAAkG;KAC5G;IAED,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE;QACxB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,MAAM;QACV,OAAO,EAAE,gDAAgD;KAC1D;IAED,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE;QAC3B,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,oBAAoB;QAC3B,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,kBAAkB;KAC5B;IAED,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE;QAC3B,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,oBAAoB;QAC3B,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,6BAA6B;KACvC;IAED,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE;QACzB,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,oBAAoB;QAC3B,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,6CAA6C;KACvD;IAED,CAAC,EAAE,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,EAAE,EAEnC;IACD,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,EAAE;QAChC,SAAS,EAAE,IAAI;KAChB;IACD,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,EAEzB;IAED,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE;QACzB,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,kBAAkB;KAC5B;IAED,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE;QACzB,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,mBAAmB,CAAC,+BAA+B;KAC7D;IAED,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE;QACpB,KAAK,EAAE,KAAK,CAAC,cAAc;KAC5B;IAED;;OAEG;IACH,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,EAAE,GAAG;QACZ,KAAK,EAAE,KAAK,CAAC,YAAY;KAC1B;IACD,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,KAAK,CAAC,gBAAgB;KAC9B;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"formStyle.d.ts","sourceRoot":"","sources":["../../../src/widgets/forms/formStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAU7B,wBAAgB,aAAa,CAAE,GAAG,EAAC,WAAW,EAAE,KAAK,EAAC,IAAI,QA2BzD"}
1
+ {"version":3,"file":"formStyle.d.ts","sourceRoot":"","sources":["../../../src/widgets/forms/formStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAQ7B,wBAAgB,aAAa,CAAE,GAAG,EAAC,WAAW,EAAE,KAAK,EAAC,IAAI,QA2BzD"}
@@ -0,0 +1,36 @@
1
+ import ns from '../../ns';
2
+ import { store } from 'solid-logic';
3
+ import { fieldParams } from './fieldParams';
4
+ import { mostSpecificClassURI } from './fieldFunction';
5
+ const STYLE_URI_PREFIX = 'https://www.w3.org/ns/css#';
6
+ export function setFieldStyle(ele, field) {
7
+ const classUri = mostSpecificClassURI(field);
8
+ const params = fieldParams[classUri] || {};
9
+ const style = store.any(field, ns.ui('style'));
10
+ if (!style) {
11
+ if (params.style) {
12
+ ele.setAttribute('style', params.style);
13
+ }
14
+ return;
15
+ }
16
+ if (style.termType === 'Literal') {
17
+ if (style)
18
+ ele.setAttribute('style', style.value);
19
+ }
20
+ else {
21
+ const sts = store.statementsMatching(style, null, null, field.doc());
22
+ sts.forEach(st => {
23
+ if (st.predicate.uri && st.predicate.uri.startsWith(STYLE_URI_PREFIX)) {
24
+ const cssAttribute = st.predicate.uri.slice(STYLE_URI_PREFIX.length);
25
+ try {
26
+ ele.style[cssAttribute] = st.object.value;
27
+ }
28
+ catch (_err) {
29
+ console.warn(`setFieldStyle: Error setting element style ${cssAttribute} to "${st.object.value}"`);
30
+ console.warn(`setFieldStyle: ... Element tagName was "${ele.tagName || '???'}"`);
31
+ }
32
+ }
33
+ });
34
+ }
35
+ }
36
+ //# sourceMappingURL=formStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formStyle.js","sourceRoot":"","sources":["../../../src/widgets/forms/formStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AAEzB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AAErD,MAAM,UAAU,aAAa,CAAE,GAAe,EAAE,KAAU;IACxD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAE1C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACzC,CAAC;QACD,OAAM;IACR,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,KAAK;YAAE,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,KAAK,CAAC,kBAAkB,CAAC,KAAY,EAAE,IAAI,EAAE,IAAI,EAAG,KAAa,CAAC,GAAG,EAAE,CAAC,CAAA;QACpF,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACf,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACtE,MAAM,YAAY,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;gBACpE,IAAI,CAAC;oBACH,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAA;gBAC3C,CAAC;gBAAC,OAAO,IAAI,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,8CAA8C,YAAY,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;oBAClG,OAAO,CAAC,IAAI,CAAC,6CAA6C,GAAG,CAAC,OAAO,IAAI,KAAK,GAAG,CAAC,CAAA;gBACpF,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"widgetHelpers.d.ts","sourceRoot":"","sources":["../../src/widgets/widgetHelpers.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,YAAY,GAAI,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,GAAG,wBAM5E,CAAA;AAED;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,yBAAyB,GAAI,KAAK,cAAc,EAAE,iBAAiB,MAAM,IAAI,SAEzF,CAAA;AAED;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,cAAc,GAAI,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,OAAO,gBAAgB,GAAG,iBAAiB,SAMjH,CAAA"}
1
+ {"version":3,"file":"widgetHelpers.d.ts","sourceRoot":"","sources":["../../src/widgets/widgetHelpers.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,YAAY,GAAI,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,GAAG,wBAM5E,CAAA;AAED;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,yBAAyB,GAAI,KAAK,cAAc,EAAE,iBAAiB,MAAM,IAAI,SAEzF,CAAA;AAED;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,cAAc,GAAI,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,OAAO,gBAAgB,GAAG,iBAAiB,SAMjH,CAAA"}
@@ -1,10 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.wrapDivInATR = exports.createImageDiv = exports.addClickListenerToElement = void 0;
7
- var _style = require("../style");
1
+ import { style } from '../style';
8
2
  /**
9
3
  * Wraps a Div in a TR/RD
10
4
  *
@@ -19,15 +13,13 @@ var _style = require("../style");
19
13
  *
20
14
  * @internal exporting this only for unit tests
21
15
  */
22
-
23
- var wrapDivInATR = exports.wrapDivInATR = function wrapDivInATR(dom, div, obj) {
24
- var tr = dom.createElement('tr');
25
- var td = tr.appendChild(dom.createElement('td'));
26
- td.appendChild(div);
27
- tr.subject = obj;
28
- return tr;
16
+ export const wrapDivInATR = (dom, div, obj) => {
17
+ const tr = dom.createElement('tr');
18
+ const td = tr.appendChild(dom.createElement('td'));
19
+ td.appendChild(div);
20
+ tr.subject = obj;
21
+ return tr;
29
22
  };
30
-
31
23
  /**
32
24
  * Adds a click listener to a div
33
25
  *
@@ -40,11 +32,9 @@ var wrapDivInATR = exports.wrapDivInATR = function wrapDivInATR(dom, div, obj) {
40
32
  *
41
33
  * @internal exporting this only for unit tests
42
34
  */
43
-
44
- var addClickListenerToElement = exports.addClickListenerToElement = function addClickListenerToElement(div, onClickFunction) {
45
- div.addEventListener('click', onClickFunction);
35
+ export const addClickListenerToElement = (div, onClickFunction) => {
36
+ div.addEventListener('click', onClickFunction);
46
37
  };
47
-
48
38
  /**
49
39
  * Wraps a Div in a TR/RD
50
40
  *
@@ -59,11 +49,10 @@ var addClickListenerToElement = exports.addClickListenerToElement = function add
59
49
  *
60
50
  * @internal exporting this only for unit tests
61
51
  */
62
-
63
- var createImageDiv = exports.createImageDiv = function createImageDiv(dom, div, image) {
64
- var imageDiv = div.appendChild(dom.createElement('div'));
65
- imageDiv.setAttribute('style', _style.imageDivStyle);
66
- imageDiv.appendChild(image);
67
- image.setAttribute('draggable', 'false'); // Stop the image being dragged instead - just the TR
52
+ export const createImageDiv = (dom, div, image) => {
53
+ const imageDiv = div.appendChild(dom.createElement('div'));
54
+ imageDiv.setAttribute('style', style.imageDivStyle);
55
+ imageDiv.appendChild(image);
56
+ image.setAttribute('draggable', 'false'); // Stop the image being dragged instead - just the TR
68
57
  };
69
58
  //# sourceMappingURL=widgetHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgetHelpers.js","sourceRoot":"","sources":["../../src/widgets/widgetHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAiB,EAAE,GAAmB,EAAE,GAAQ,EAAE,EAAE;IAC/E,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;IAClD,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAClB;IAAC,EAAU,CAAC,OAAO,GAAG,GAAG,CAAA;IAC1B,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAmB,EAAE,eAA2B,EAAE,EAAE;IAC5F,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;AAChD,CAAC,CAAA;AAED;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAiB,EAAE,GAAmB,EAAE,KAA2C,EAAE,EAAE;IACpH,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAE1D,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IACnD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAC3B,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA,CAAC,qDAAqD;AAChG,CAAC,CAAA"}