solid-ui 2.6.0 → 2.6.1-05fb7cc

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 (365) hide show
  1. package/LICENSE.md +3 -1
  2. package/README.md +84 -25
  3. package/dist/acl/access-controller.js +293 -0
  4. package/dist/acl/access-controller.js.map +1 -0
  5. package/dist/acl/access-groups.js +372 -0
  6. package/dist/acl/access-groups.js.map +1 -0
  7. package/dist/acl/acl-control.js +217 -0
  8. package/dist/acl/acl-control.js.map +1 -0
  9. package/dist/acl/acl.js +550 -0
  10. package/dist/acl/acl.js.map +1 -0
  11. package/dist/acl/add-agent-buttons.js +260 -0
  12. package/dist/acl/add-agent-buttons.js.map +1 -0
  13. package/dist/acl/index.js +35 -0
  14. package/dist/acl/index.js.map +1 -0
  15. package/dist/acl/types.js +7 -0
  16. package/dist/acl/types.js.map +1 -0
  17. package/dist/chat/keys.js +148 -0
  18. package/dist/chat/keys.js.map +1 -0
  19. package/dist/chat/signature.js +71 -0
  20. package/dist/chat/signature.js.map +1 -0
  21. package/dist/create/create.js +288 -0
  22. package/dist/create/create.js.map +1 -0
  23. package/dist/create/index.js +8 -0
  24. package/dist/create/index.js.map +1 -0
  25. package/dist/create/types.js +3 -0
  26. package/dist/create/types.js.map +1 -0
  27. package/dist/debug.js +23 -0
  28. package/dist/debug.js.map +1 -0
  29. package/dist/footer/index.js +72 -0
  30. package/dist/footer/index.js.map +1 -0
  31. package/dist/header/empty-profile.js +14 -0
  32. package/dist/header/empty-profile.js.map +1 -0
  33. package/dist/header/index.js +305 -0
  34. package/dist/header/index.js.map +1 -0
  35. package/dist/iconBase.js +40 -0
  36. package/dist/iconBase.js.map +1 -0
  37. package/dist/icons/solid_logo.js.map +1 -0
  38. package/{lib → dist}/index.d.ts +4 -4
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +170 -0
  41. package/dist/index.js.map +1 -0
  42. package/{lib → dist}/log.js +85 -99
  43. package/dist/log.js.map +1 -0
  44. package/dist/login/login.js +910 -0
  45. package/dist/login/login.js.map +1 -0
  46. package/dist/matrix/index.js +8 -0
  47. package/dist/matrix/index.js.map +1 -0
  48. package/dist/matrix/matrix.js +253 -0
  49. package/dist/matrix/matrix.js.map +1 -0
  50. package/dist/matrix/types.js +3 -0
  51. package/dist/matrix/types.js.map +1 -0
  52. package/dist/media/index.js +9 -0
  53. package/dist/media/index.js.map +1 -0
  54. package/dist/media/media-capture.js +198 -0
  55. package/dist/media/media-capture.js.map +1 -0
  56. package/dist/pad.js +795 -0
  57. package/dist/pad.js.map +1 -0
  58. package/dist/participation.js +228 -0
  59. package/dist/participation.js.map +1 -0
  60. package/dist/solid-ui.esm.js +25549 -0
  61. package/dist/solid-ui.esm.js.map +1 -0
  62. package/dist/solid-ui.esm.min.js +43 -0
  63. package/dist/solid-ui.esm.min.js.map +1 -0
  64. package/dist/solid-ui.js +23399 -70837
  65. package/dist/solid-ui.js.map +1 -1
  66. package/dist/solid-ui.min.js +40 -2
  67. package/dist/solid-ui.min.js.map +1 -1
  68. package/dist/tabs.js +398 -0
  69. package/dist/tabs.js.map +1 -0
  70. package/dist/utils/headerFooterHelpers.js +122 -0
  71. package/dist/utils/headerFooterHelpers.js.map +1 -0
  72. package/dist/utils/keyHelpers/accessData.js +108 -0
  73. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  74. package/dist/utils/keyHelpers/acl.js +112 -0
  75. package/dist/utils/keyHelpers/acl.js.map +1 -0
  76. package/dist/utils/keyHelpers/otherHelpers.js +19 -0
  77. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  78. package/dist/utils/label.js +150 -0
  79. package/dist/utils/label.js.map +1 -0
  80. package/dist/versionInfo.js +33 -0
  81. package/dist/versionInfo.js.map +1 -0
  82. package/dist/widgets/buttons/iconLinks.js +49 -0
  83. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  84. package/dist/widgets/buttons.js +1355 -0
  85. package/dist/widgets/buttons.js.map +1 -0
  86. package/dist/widgets/error.js +42 -0
  87. package/dist/widgets/error.js.map +1 -0
  88. package/dist/widgets/forms/autocomplete/autocompleteBar.js +162 -0
  89. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  90. package/dist/widgets/forms/autocomplete/autocompleteField.js +235 -0
  91. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  92. package/dist/widgets/forms/autocomplete/autocompletePicker.js +296 -0
  93. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  94. package/dist/widgets/forms/autocomplete/language.js +147 -0
  95. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/publicData.js +507 -0
  97. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  98. package/dist/widgets/forms/basic.js +250 -0
  99. package/dist/widgets/forms/basic.js.map +1 -0
  100. package/dist/widgets/forms/comment.js +52 -0
  101. package/dist/widgets/forms/comment.js.map +1 -0
  102. package/dist/widgets/forms/fieldFunction.js +49 -0
  103. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  104. package/dist/widgets/forms/fieldParams.js +95 -0
  105. package/dist/widgets/forms/fieldParams.js.map +1 -0
  106. package/dist/widgets/forms/formStyle.js +43 -0
  107. package/dist/widgets/forms/formStyle.js.map +1 -0
  108. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  109. package/{lib → dist}/widgets/widgetHelpers.js +19 -24
  110. package/dist/widgets/widgetHelpers.js.map +1 -0
  111. package/package.json +44 -47
  112. package/dist/789.solid-ui.min.js +0 -1
  113. package/dist/841.solid-ui.min.js +0 -3
  114. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  115. package/dist/841.solid-ui.min.js.map +0 -1
  116. package/dist/_2b19.solid-ui.js +0 -14
  117. package/dist/_2b19.solid-ui.js.map +0 -1
  118. package/dist/index.html +0 -1
  119. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  120. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  121. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  122. package/lib/acl/access-controller.js +0 -391
  123. package/lib/acl/access-controller.js.map +0 -1
  124. package/lib/acl/access-groups.js +0 -507
  125. package/lib/acl/access-groups.js.map +0 -1
  126. package/lib/acl/acl-control.js +0 -237
  127. package/lib/acl/acl-control.js.map +0 -1
  128. package/lib/acl/acl.js +0 -517
  129. package/lib/acl/acl.js.map +0 -1
  130. package/lib/acl/add-agent-buttons.js +0 -434
  131. package/lib/acl/add-agent-buttons.js.map +0 -1
  132. package/lib/acl/index.js +0 -39
  133. package/lib/acl/index.js.map +0 -1
  134. package/lib/acl/types.js +0 -6
  135. package/lib/acl/types.js.map +0 -1
  136. package/lib/chat/bookmarks.js +0 -303
  137. package/lib/chat/bookmarks.js.map +0 -1
  138. package/lib/chat/chatLogic.js +0 -420
  139. package/lib/chat/chatLogic.js.map +0 -1
  140. package/lib/chat/dateFolder.js +0 -328
  141. package/lib/chat/dateFolder.js.map +0 -1
  142. package/lib/chat/infinite.js +0 -994
  143. package/lib/chat/infinite.js.map +0 -1
  144. package/lib/chat/keys.js +0 -232
  145. package/lib/chat/keys.js.map +0 -1
  146. package/lib/chat/message.js +0 -715
  147. package/lib/chat/message.js.map +0 -1
  148. package/lib/chat/messageTools.js +0 -538
  149. package/lib/chat/messageTools.js.map +0 -1
  150. package/lib/chat/signature.js +0 -109
  151. package/lib/chat/signature.js.map +0 -1
  152. package/lib/chat/thread.js +0 -535
  153. package/lib/chat/thread.js.map +0 -1
  154. package/lib/create/create.js +0 -242
  155. package/lib/create/create.js.map +0 -1
  156. package/lib/create/index.js +0 -11
  157. package/lib/create/index.js.map +0 -1
  158. package/lib/create/types.js +0 -6
  159. package/lib/create/types.js.map +0 -1
  160. package/lib/debug.js +0 -30
  161. package/lib/debug.js.map +0 -1
  162. package/lib/folders.js +0 -132
  163. package/lib/folders.js.map +0 -1
  164. package/lib/footer/index.js +0 -123
  165. package/lib/footer/index.js.map +0 -1
  166. package/lib/header/empty-profile.js +0 -8
  167. package/lib/header/empty-profile.js.map +0 -1
  168. package/lib/header/index.js +0 -375
  169. package/lib/header/index.js.map +0 -1
  170. package/lib/iconBase.js +0 -44
  171. package/lib/iconBase.js.map +0 -1
  172. package/lib/icons/solid_logo.js.map +0 -1
  173. package/lib/index.d.ts.map +0 -1
  174. package/lib/index.js +0 -223
  175. package/lib/index.js.map +0 -1
  176. package/lib/log.js.map +0 -1
  177. package/lib/login/login.js +0 -1241
  178. package/lib/login/login.js.map +0 -1
  179. package/lib/matrix/index.js +0 -11
  180. package/lib/matrix/index.js.map +0 -1
  181. package/lib/matrix/matrix.js +0 -216
  182. package/lib/matrix/matrix.js.map +0 -1
  183. package/lib/matrix/types.js +0 -6
  184. package/lib/matrix/types.js.map +0 -1
  185. package/lib/media/index.js +0 -12
  186. package/lib/media/index.js.map +0 -1
  187. package/lib/media/media-capture.js +0 -194
  188. package/lib/media/media-capture.js.map +0 -1
  189. package/lib/messageArea.js +0 -319
  190. package/lib/messageArea.js.map +0 -1
  191. package/lib/noun_Camera_1618446_000000.js +0 -8
  192. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  193. package/lib/ns.js +0 -17
  194. package/lib/ns.js.map +0 -1
  195. package/lib/pad.js +0 -805
  196. package/lib/pad.js.map +0 -1
  197. package/lib/participation.js +0 -219
  198. package/lib/participation.js.map +0 -1
  199. package/lib/preferences.js +0 -215
  200. package/lib/preferences.js.map +0 -1
  201. package/lib/signup/config-default.js +0 -43
  202. package/lib/signup/config-default.js.map +0 -1
  203. package/lib/signup/signup.js +0 -74
  204. package/lib/signup/signup.js.map +0 -1
  205. package/lib/stories/decorators.js +0 -10
  206. package/lib/stories/decorators.js.map +0 -1
  207. package/lib/style.js +0 -158
  208. package/lib/style.js.map +0 -1
  209. package/lib/styleConstants.js +0 -35
  210. package/lib/styleConstants.js.map +0 -1
  211. package/lib/style_multiSelect.js +0 -62
  212. package/lib/style_multiSelect.js.map +0 -1
  213. package/lib/table.js +0 -1573
  214. package/lib/table.js.map +0 -1
  215. package/lib/tabs.js +0 -448
  216. package/lib/tabs.js.map +0 -1
  217. package/lib/typings.d.js +0 -2
  218. package/lib/typings.d.js.map +0 -1
  219. package/lib/utils/headerFooterHelpers.js +0 -165
  220. package/lib/utils/headerFooterHelpers.js.map +0 -1
  221. package/lib/utils/index.js +0 -527
  222. package/lib/utils/index.js.map +0 -1
  223. package/lib/utils/keyHelpers/accessData.js +0 -131
  224. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  225. package/lib/utils/keyHelpers/acl.js +0 -90
  226. package/lib/utils/keyHelpers/acl.js.map +0 -1
  227. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  228. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  229. package/lib/utils/label.js +0 -103
  230. package/lib/utils/label.js.map +0 -1
  231. package/lib/versionInfo.d.ts +0 -34
  232. package/lib/versionInfo.d.ts.map +0 -1
  233. package/lib/versionInfo.js +0 -39
  234. package/lib/versionInfo.js.map +0 -1
  235. package/lib/widgets/buttons/iconLinks.js +0 -53
  236. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  237. package/lib/widgets/buttons.js +0 -1306
  238. package/lib/widgets/buttons.js.map +0 -1
  239. package/lib/widgets/dragAndDrop.js +0 -194
  240. package/lib/widgets/dragAndDrop.js.map +0 -1
  241. package/lib/widgets/error.js +0 -46
  242. package/lib/widgets/error.js.map +0 -1
  243. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  244. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  245. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  246. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  247. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  248. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  249. package/lib/widgets/forms/autocomplete/language.js +0 -189
  250. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  251. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  252. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  253. package/lib/widgets/forms/basic.js +0 -254
  254. package/lib/widgets/forms/basic.js.map +0 -1
  255. package/lib/widgets/forms/comment.js +0 -54
  256. package/lib/widgets/forms/comment.js.map +0 -1
  257. package/lib/widgets/forms/fieldFunction.js +0 -52
  258. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  259. package/lib/widgets/forms/fieldParams.js +0 -77
  260. package/lib/widgets/forms/fieldParams.js.map +0 -1
  261. package/lib/widgets/forms/formStyle.js +0 -44
  262. package/lib/widgets/forms/formStyle.js.map +0 -1
  263. package/lib/widgets/forms.js +0 -2045
  264. package/lib/widgets/forms.js.map +0 -1
  265. package/lib/widgets/index.js +0 -110
  266. package/lib/widgets/index.js.map +0 -1
  267. package/lib/widgets/multiSelect.js +0 -658
  268. package/lib/widgets/multiSelect.js.map +0 -1
  269. package/lib/widgets/peoplePicker.js +0 -467
  270. package/lib/widgets/peoplePicker.js.map +0 -1
  271. package/lib/widgets/widgetHelpers.js.map +0 -1
  272. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  273. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  274. /package/{lib → dist}/acl/access-groups.d.ts +0 -0
  275. /package/{lib → dist}/acl/access-groups.d.ts.map +0 -0
  276. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  277. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  278. /package/{lib → dist}/acl/acl.d.ts +0 -0
  279. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  280. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  281. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  282. /package/{lib → dist}/acl/index.d.ts +0 -0
  283. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  284. /package/{lib → dist}/acl/types.d.ts +0 -0
  285. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  286. /package/{lib → dist}/chat/keys.d.ts +0 -0
  287. /package/{lib → dist}/chat/keys.d.ts.map +0 -0
  288. /package/{lib → dist}/chat/signature.d.ts +0 -0
  289. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  290. /package/{lib → dist}/create/create.d.ts +0 -0
  291. /package/{lib → dist}/create/create.d.ts.map +0 -0
  292. /package/{lib → dist}/create/index.d.ts +0 -0
  293. /package/{lib → dist}/create/index.d.ts.map +0 -0
  294. /package/{lib → dist}/create/types.d.ts +0 -0
  295. /package/{lib → dist}/create/types.d.ts.map +0 -0
  296. /package/{lib → dist}/debug.d.ts +0 -0
  297. /package/{lib → dist}/debug.d.ts.map +0 -0
  298. /package/{lib → dist}/footer/index.d.ts +0 -0
  299. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  300. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  301. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  302. /package/{lib → dist}/header/index.d.ts +0 -0
  303. /package/{lib → dist}/header/index.d.ts.map +0 -0
  304. /package/{lib → dist}/iconBase.d.ts +0 -0
  305. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  306. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  307. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  308. /package/{lib → dist}/icons/solid_logo.js +0 -0
  309. /package/{lib → dist}/log.d.ts +0 -0
  310. /package/{lib → dist}/log.d.ts.map +0 -0
  311. /package/{lib → dist}/login/login.d.ts +0 -0
  312. /package/{lib → dist}/login/login.d.ts.map +0 -0
  313. /package/{lib → dist}/matrix/index.d.ts +0 -0
  314. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  315. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  316. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  317. /package/{lib → dist}/matrix/types.d.ts +0 -0
  318. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  319. /package/{lib → dist}/media/index.d.ts +0 -0
  320. /package/{lib → dist}/media/index.d.ts.map +0 -0
  321. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  322. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  323. /package/{lib → dist}/pad.d.ts +0 -0
  324. /package/{lib → dist}/pad.d.ts.map +0 -0
  325. /package/{lib → dist}/participation.d.ts +0 -0
  326. /package/{lib → dist}/participation.d.ts.map +0 -0
  327. /package/{lib → dist}/tabs.d.ts +0 -0
  328. /package/{lib → dist}/tabs.d.ts.map +0 -0
  329. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  330. /package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +0 -0
  331. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts +0 -0
  332. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +0 -0
  333. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  334. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  335. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +0 -0
  336. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +0 -0
  337. /package/{lib → dist}/utils/label.d.ts +0 -0
  338. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  339. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  340. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  341. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  342. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  343. /package/{lib → dist}/widgets/error.d.ts +0 -0
  344. /package/{lib → dist}/widgets/error.d.ts.map +0 -0
  345. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  346. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  347. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  348. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  349. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
  355. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  356. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  357. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  358. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  359. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  360. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  361. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  362. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  363. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  364. /package/{lib → dist}/widgets/forms/formStyle.d.ts.map +0 -0
  365. /package/{lib → dist}/widgets/widgetHelpers.d.ts +0 -0
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.renderNameValuePair = renderNameValuePair;
7
+ exports.fieldLabel = fieldLabel;
8
+ exports.fieldStore = fieldStore;
9
+ exports.basicField = basicField;
10
+ const rdflib_1 = require("rdflib");
11
+ const solid_logic_1 = require("solid-logic");
12
+ const ns_1 = __importDefault(require("../../ns"));
13
+ const style_1 = require("../../style");
14
+ const styleConstants_1 = __importDefault(require("../../styleConstants"));
15
+ const utils_1 = require("../../utils");
16
+ const error_1 = require("../error");
17
+ const fieldFunction_1 = require("./fieldFunction");
18
+ const fieldParams_1 = require("./fieldParams");
19
+ const store = solid_logic_1.solidLogicSingleton.store;
20
+ /* Style and create a name, value pair
21
+ */
22
+ function renderNameValuePair(dom, kb, box, form, label) {
23
+ // const property = kb.any(form, ns.ui('property'))
24
+ box.style.display = 'flex';
25
+ box.style.flexDirection = 'row';
26
+ const lhs = box.appendChild(dom.createElement('div'));
27
+ lhs.style.width = styleConstants_1.default.formFieldNameBoxWidth;
28
+ const rhs = box.appendChild(dom.createElement('div'));
29
+ lhs.setAttribute('class', 'formFieldName');
30
+ lhs.setAttribute('style', style_1.style.formFieldNameBoxStyle);
31
+ rhs.setAttribute('class', 'formFieldValue');
32
+ if (label) {
33
+ lhs.appendChild(dom.createTextNode(label));
34
+ }
35
+ else if (kb.any(form, ns_1.default.ui('property'))) { // Assume more space for error on right
36
+ lhs.appendChild(fieldLabel(dom, kb.any(form, ns_1.default.ui('property')), form));
37
+ }
38
+ else {
39
+ rhs.appendChild((0, error_1.errorMessageBlock)(dom, 'No property or label given for form field: ' + form));
40
+ lhs.appendChild(dom.createTextNode('???'));
41
+ }
42
+ return rhs;
43
+ }
44
+ /**
45
+ * Create an anchor element with a label as the anchor text.
46
+ *
47
+ * @param dom The DOM
48
+ * @param property href for the anchor element
49
+ * @param fieldInQuestion field to produce a label for
50
+ *
51
+ * @internal exporting this only for unit tests
52
+ */
53
+ function fieldLabel(dom, property, fieldInQuestion) {
54
+ let lab = store.any(fieldInQuestion, ns_1.default.ui('label'));
55
+ if (!lab)
56
+ lab = (0, utils_1.label)(property, true); // Init capital
57
+ if (property === undefined) {
58
+ return dom.createTextNode('@@Internal error: undefined property');
59
+ }
60
+ const anchor = dom.createElement('a');
61
+ /* istanbul ignore next */
62
+ if (property.uri)
63
+ anchor.setAttribute('href', property.uri);
64
+ anchor.setAttribute('style', 'color: #3B5998; text-decoration: none;'); // Not too blue and no underline
65
+ anchor.textContent = lab;
66
+ return anchor;
67
+ }
68
+ /**
69
+ * Returns the document for the first quad that matches
70
+ * the subject and predicate provided, or default if that
71
+ * store is not editable.
72
+ *
73
+ * @param subject Subject about which we want to find an editable RDF document
74
+ * @param predicate Predicate about which we want to find an editable RDF document
75
+ * @param def default RDF document to return if none found
76
+ *
77
+ * @internal exporting this only for unit tests
78
+ */
79
+ function fieldStore(subject, predicate, def) {
80
+ const sts = store.statementsMatching(subject, predicate);
81
+ if (sts.length === 0)
82
+ return def; // can used default as no data yet
83
+ if (!store.updater) {
84
+ throw new Error('Store has no updater');
85
+ }
86
+ if (sts.length > 0 &&
87
+ sts[0].why.value &&
88
+ store.updater.editable(sts[0].why.value, store)) {
89
+ return store.sym(sts[0].why.value);
90
+ }
91
+ return def;
92
+ }
93
+ /**
94
+ * Render a basic form field
95
+ *
96
+ * The same function is used for many similar one-value fields, with different
97
+ * regexps used to validate.
98
+ *
99
+ * @param dom The HTML Document object aka Document Object Model
100
+ * @param container If present, the created widget will be appended to this
101
+ * @param already A hash table of (form, subject) kept to prevent recursive forms looping
102
+ * @param subject The thing about which the form displays/edits data
103
+ * @param form The form or field to be rendered
104
+ * @param doc The web document in which the data is
105
+ * @param callbackFunction Called when data is changed?
106
+ *
107
+ * @returns The HTML widget created
108
+ */
109
+ function basicField(dom, container, already, subject, form, doc, callbackFunction) {
110
+ const kb = store;
111
+ const formDoc = form.doc ? form.doc() : null; // @@ if blank no way to know
112
+ const box = dom.createElement('div');
113
+ const property = kb.any(form, ns_1.default.ui('property'));
114
+ if (container)
115
+ container.appendChild(box);
116
+ if (!property) {
117
+ return box.appendChild((0, error_1.errorMessageBlock)(dom, 'Error: No property given for text field: ' + form));
118
+ }
119
+ const rhs = renderNameValuePair(dom, kb, box, form);
120
+ // It can be cleaner to just remove empty fields if you can't edit them anyway
121
+ const suppressEmptyUneditable = kb.anyJS(form, ns_1.default.ui('suppressEmptyUneditable'), null, formDoc);
122
+ const uri = (0, fieldFunction_1.mostSpecificClassURI)(form);
123
+ let params = fieldParams_1.fieldParams[uri];
124
+ if (params === undefined)
125
+ params = { style: '' }; // non-bottom field types can do this
126
+ const paramStyle = params.style || '';
127
+ const inputStyle = style_1.style.textInputStyle + paramStyle;
128
+ const field = dom.createElement('input');
129
+ field.style = inputStyle;
130
+ rhs.appendChild(field);
131
+ field.setAttribute('type', params.type ? params.type : 'text');
132
+ const size = kb.anyJS(form, ns_1.default.ui('size')) || styleConstants_1.default.textInputSize || 20;
133
+ field.setAttribute('size', size);
134
+ const maxLength = kb.any(form, ns_1.default.ui('maxLength'));
135
+ field.setAttribute('maxLength', maxLength ? '' + maxLength : styleConstants_1.default.basicMaxLength);
136
+ doc = doc || fieldStore(subject, property, doc);
137
+ let obj = kb.any(subject, property, undefined, doc);
138
+ if (!obj) {
139
+ obj = kb.any(form, ns_1.default.ui('default'));
140
+ }
141
+ if (obj && obj.value && params.uriPrefix) {
142
+ // eg tel: or mailto:
143
+ field.value = decodeURIComponent(obj.value.replace(params.uriPrefix, '')) // should have no spaces but in case
144
+ .replace(/ /g, '');
145
+ }
146
+ else if (obj) {
147
+ /* istanbul ignore next */
148
+ field.value = obj.value || obj.value || '';
149
+ }
150
+ field.setAttribute('style', inputStyle);
151
+ if (!kb.updater) {
152
+ throw new Error('kb has no updater');
153
+ }
154
+ if (!kb.updater.editable(doc.uri)) {
155
+ field.readOnly = true // was: disabled. readOnly is better
156
+ ;
157
+ field.style = style_1.style.textInputStyleUneditable + paramStyle;
158
+ if (suppressEmptyUneditable && field.value === '') {
159
+ box.style.display = 'none'; // clutter
160
+ }
161
+ return box;
162
+ }
163
+ // read-write:
164
+ field.addEventListener('keyup', function (_e) {
165
+ if (params.pattern) {
166
+ field.setAttribute('style', inputStyle +
167
+ (field.value.match(params.pattern)
168
+ ? 'color: green;'
169
+ : 'color: red;'));
170
+ }
171
+ }, true);
172
+ field.addEventListener('change', function (_e) {
173
+ // i.e. lose focus with changed data
174
+ if (params.pattern && !field.value.match(params.pattern))
175
+ return;
176
+ field.disabled = true; // See if this stops getting two dates from fumbling e.g the chrome datepicker.
177
+ field.setAttribute('style', inputStyle + 'color: gray;'); // pending
178
+ const ds = kb.statementsMatching(subject, property); // remove any multiple values
179
+ let result;
180
+ if (params.namedNode) {
181
+ result = kb.sym(field.value);
182
+ }
183
+ else if (params.uriPrefix) {
184
+ result = encodeURIComponent(field.value.replace(/ /g, ''));
185
+ result = kb.sym(params.uriPrefix + field.value);
186
+ }
187
+ else {
188
+ if (params.dt) {
189
+ result = new rdflib_1.Literal(field.value.trim(), undefined, ns_1.default.xsd(params.dt));
190
+ }
191
+ else {
192
+ result = new rdflib_1.Literal(field.value);
193
+ }
194
+ }
195
+ let is = ds.map(statement => (0, rdflib_1.st)(statement.subject, statement.predicate, result, statement.why)); // can include >1 doc
196
+ if (is.length === 0) {
197
+ // or none
198
+ is = [(0, rdflib_1.st)(subject, property, result, doc)];
199
+ }
200
+ function updateMany(ds, is, callback) {
201
+ const docs = [];
202
+ is.forEach(st => {
203
+ if (!docs.includes(st.why.uri))
204
+ docs.push(st.why.uri);
205
+ });
206
+ ds.forEach(st => {
207
+ /* istanbul ignore next */
208
+ if (!docs.includes(st.why.uri))
209
+ docs.push(st.why.uri);
210
+ });
211
+ /* istanbul ignore next */
212
+ if (docs.length === 0) {
213
+ throw new Error('updateMany has no docs to patch');
214
+ }
215
+ if (!kb.updater) {
216
+ throw new Error('kb has no updater');
217
+ }
218
+ if (docs.length === 1) {
219
+ return kb.updater.update(ds, is, callback);
220
+ }
221
+ // return kb.updater.update(ds, is, callback)
222
+ const doc = docs.pop();
223
+ const is1 = is.filter(st => st.why.uri === doc);
224
+ const is2 = is.filter(st => st.why.uri !== doc);
225
+ const ds1 = ds.filter(st => st.why.uri === doc);
226
+ const ds2 = ds.filter(st => st.why.uri !== doc);
227
+ kb.updater.update(ds1, is1, function (uri, ok, body) {
228
+ if (ok) {
229
+ updateMany(ds2, is2, callback);
230
+ }
231
+ else {
232
+ callback(uri, ok, body);
233
+ }
234
+ });
235
+ }
236
+ updateMany(ds, is, function (uri, ok, body) {
237
+ // kb.updater.update(ds, is, function (uri, ok, body) {
238
+ if (ok) {
239
+ field.disabled = false;
240
+ field.setAttribute('style', inputStyle);
241
+ }
242
+ else {
243
+ box.appendChild((0, error_1.errorMessageBlock)(dom, body));
244
+ }
245
+ callbackFunction(ok, body);
246
+ });
247
+ }, true);
248
+ return box;
249
+ }
250
+ //# 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,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.commentField = commentField;
7
+ const solid_logic_1 = require("solid-logic");
8
+ const ns_1 = __importDefault(require("../../ns"));
9
+ const fieldFunction_1 = require("./fieldFunction");
10
+ const fieldParams_1 = require("./fieldParams");
11
+ const store = solid_logic_1.solidLogicSingleton.store;
12
+ /**
13
+ * A [[FieldFunction]] for a simple comment box. It will look for
14
+ * the first (form, ns.ui('contents'), ?) triple it can find in
15
+ * store and use the value of the object of that triple as
16
+ * the comment text.
17
+ *
18
+ * @param dom The DOM
19
+ * @param container If set, the result will be appended to it as a child
20
+ * @param already Unused
21
+ * @param subject Unused
22
+ * @param form RDF node with `ns.ui('contents')` attribute
23
+ * @param _doc Unused
24
+ * @param _callbackFunction Unused
25
+ *
26
+ * @returns a DOM element containing the comment.
27
+ */
28
+ function commentField(dom, container, already, subject, form, _doc, _callbackFunction) {
29
+ const kb = store;
30
+ let contents = kb.any(form, ns_1.default.ui('contents'));
31
+ if (!contents) {
32
+ contents = 'Error: No contents in comment field.';
33
+ }
34
+ const uri = (0, fieldFunction_1.mostSpecificClassURI)(form);
35
+ let params = fieldParams_1.fieldParams[uri];
36
+ if (params === undefined) {
37
+ params = {};
38
+ } // non-bottom field types can do this
39
+ const box = dom.createElement('div');
40
+ if (container)
41
+ container.appendChild(box);
42
+ const p = box.appendChild(dom.createElement(params.element || 'p'));
43
+ p.textContent = contents;
44
+ let style = kb.any(form, ns_1.default.ui('style'));
45
+ if (style === undefined) {
46
+ style = params.style ? params.style : '';
47
+ }
48
+ if (style)
49
+ p.setAttribute('style', style);
50
+ return box;
51
+ }
52
+ //# sourceMappingURL=comment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../../src/widgets/forms/comment.ts"],"names":[],"mappings":";;;;;AAuBA,oCAgCC;AAvDD,6CAAiD;AACjD,kDAAyB;AACzB,mDAAsD;AACtD,+CAA2C;AAE3C,MAAM,KAAK,GAAG,iCAAmB,CAAC,KAAK,CAAA;AAEvC;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,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,YAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,sCAAsC,CAAA;IACnD,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,oCAAoB,EAAC,IAAI,CAAC,CAAA;IACtC,IAAI,MAAM,GAAG,yBAAW,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,YAAE,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,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.field = void 0;
4
+ exports.mostSpecificClassURI = mostSpecificClassURI;
5
+ exports.fieldFunction = fieldFunction;
6
+ const solid_logic_1 = require("solid-logic");
7
+ const log_1 = require("../../log");
8
+ const error_1 = require("../error");
9
+ const store = solid_logic_1.solidLogicSingleton.store;
10
+ exports.field = {}; // Form field functions by URI of field type.
11
+ /**
12
+ * Which class of field is this? Relies on http://www.w3.org/2000/01/rdf-schema#subClassOf and
13
+ * https://linkeddata.github.io/rdflib.js/doc/classes/formula.html#bottomtypeuris
14
+ * to find the most specific RDF type if there are multiple.
15
+ *
16
+ * @param x a form field, e.g. `namedNode('https://timbl.com/timbl/Public/Test/Forms/individualForm.ttl#fullNameField')`
17
+ * @returns the URI of the most specific known class, e.g. `http://www.w3.org/ns/ui#SingleLineTextField`
18
+ */
19
+ function mostSpecificClassURI(x) {
20
+ const kb = store;
21
+ const ft = kb.findTypeURIs(x);
22
+ const bot = kb.bottomTypeURIs(ft); // most specific
23
+ const bots = [];
24
+ for (const b in bot)
25
+ bots.push(b);
26
+ // if (bots.length > 1) throw "Didn't expect "+x+" to have multiple bottom types: "+bots
27
+ return bots[0];
28
+ }
29
+ /**
30
+ * Returns a function that creates a form widget
31
+ * @param dom unused
32
+ * @param fieldInQuestion the field for which to create a form, e.g. namedNode('https://timbl.com/timbl/Public/Test/Forms/individualForm.ttl#fullNameField')
33
+ */
34
+ function fieldFunction(dom /* unused */, fieldInQuestion) {
35
+ const uri = mostSpecificClassURI(fieldInQuestion); // What type
36
+ // const uri = field.uri
37
+ const fun = exports.field[uri];
38
+ (0, log_1.debug)('paneUtils: Going to implement field ' + fieldInQuestion + ' of type ' + uri);
39
+ if (!fun) {
40
+ return function (dom2, container) {
41
+ const box = (0, error_1.errorMessageBlock)(dom2, 'No handler for field ' + fieldInQuestion + ' of type ' + uri);
42
+ if (container)
43
+ container.appendChild(box);
44
+ return box;
45
+ };
46
+ }
47
+ return fun;
48
+ }
49
+ //# sourceMappingURL=fieldFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldFunction.js","sourceRoot":"","sources":["../../../src/widgets/forms/fieldFunction.ts"],"names":[],"mappings":";;;AA2BA,oDAQC;AAOD,sCAmBC;AA5DD,6CAAiD;AACjD,mCAAiC;AACjC,oCAA4C;AAE5C,MAAM,KAAK,GAAG,iCAAmB,CAAC,KAAK,CAAA;AAY1B,QAAA,KAAK,GAA0C,EAAE,CAAA,CAAC,6CAA6C;AAE5G;;;;;;;GAOG;AACH,SAAgB,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,SAAgB,aAAa,CAAE,GAAQ,CAAC,YAAY,EAAE,eAAqB;IACzE,MAAM,GAAG,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAA,CAAC,YAAY;IAC9D,wBAAwB;IACxB,MAAM,GAAG,GAAG,aAAK,CAAC,GAAG,CAAC,CAAA;IACtB,IAAA,WAAK,EACH,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,IAAA,yBAAiB,EAC3B,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,95 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fieldParams = void 0;
7
+ const ns_1 = __importDefault(require("../../ns"));
8
+ const style_1 = require("../../style");
9
+ /**
10
+ * The fieldParams object defines various constants
11
+ * for use in various form fields. Depending on the
12
+ * field in questions, different values may be read
13
+ * from here.
14
+ */
15
+ exports.fieldParams = {
16
+ /**
17
+ * Text field
18
+ *
19
+ * For possible date popups see e.g. http://www.dynamicdrive.com/dynamicindex7/jasoncalendar.htm
20
+ * or use HTML5: http://www.w3.org/TR/2011/WD-html-markup-20110113/input.date.html
21
+ */
22
+ [ns_1.default.ui('ColorField').uri]: {
23
+ size: 9,
24
+ type: 'color',
25
+ style: 'height: 3em;', // around 1.5em is padding
26
+ dt: 'color',
27
+ 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*$/
28
+ }, // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/color
29
+ [ns_1.default.ui('DateField').uri]: {
30
+ size: 20,
31
+ type: 'date',
32
+ dt: 'date',
33
+ pattern: /^\s*[0-9][0-9][0-9][0-9](-[0-1]?[0-9]-[0-3]?[0-9])?Z?\s*$/
34
+ },
35
+ [ns_1.default.ui('DateTimeField').uri]: {
36
+ size: 20,
37
+ type: 'datetime-local', // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime
38
+ dt: 'dateTime',
39
+ 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*$/
40
+ },
41
+ [ns_1.default.ui('TimeField').uri]: {
42
+ size: 10,
43
+ type: 'time',
44
+ dt: 'time',
45
+ pattern: /^\s*([0-2]?[0-9]:[0-5][0-9](:[0-5][0-9])?)\s*$/
46
+ },
47
+ [ns_1.default.ui('IntegerField').uri]: {
48
+ size: 12,
49
+ style: 'text-align: right;',
50
+ dt: 'integer',
51
+ pattern: /^\s*-?[0-9]+\s*$/
52
+ },
53
+ [ns_1.default.ui('DecimalField').uri]: {
54
+ size: 12,
55
+ style: 'text-align: right;',
56
+ dt: 'decimal',
57
+ pattern: /^\s*-?[0-9]*(\.[0-9]*)?\s*$/
58
+ },
59
+ [ns_1.default.ui('FloatField').uri]: {
60
+ size: 12,
61
+ style: 'text-align: right;',
62
+ dt: 'float',
63
+ pattern: /^\s*-?[0-9]*(\.[0-9]*)?((e|E)-?[0-9]*)?\s*$/
64
+ },
65
+ [ns_1.default.ui('SingleLineTextField').uri]: {},
66
+ [ns_1.default.ui('NamedNodeURIField').uri]: {
67
+ namedNode: true
68
+ },
69
+ [ns_1.default.ui('TextField').uri]: {},
70
+ [ns_1.default.ui('PhoneField').uri]: {
71
+ size: 20,
72
+ uriPrefix: 'tel:',
73
+ pattern: /^\+?[\d-]+[\d]*$/
74
+ },
75
+ [ns_1.default.ui('EmailField').uri]: {
76
+ size: 30,
77
+ uriPrefix: 'mailto:',
78
+ pattern: /^\s*.*@.*\..*\s*$/ // @@ Get the right regexp here
79
+ },
80
+ [ns_1.default.ui('Group').uri]: {
81
+ style: style_1.style.formGroupStyle
82
+ },
83
+ /**
84
+ * Non-interactive fields
85
+ */
86
+ [ns_1.default.ui('Comment').uri]: {
87
+ element: 'p',
88
+ style: style_1.style.commentStyle
89
+ },
90
+ [ns_1.default.ui('Heading').uri]: {
91
+ element: 'h3',
92
+ style: style_1.style.formHeadingStyle
93
+ }
94
+ };
95
+ //# sourceMappingURL=fieldParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldParams.js","sourceRoot":"","sources":["../../../src/widgets/forms/fieldParams.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.setFieldStyle = setFieldStyle;
7
+ const ns_1 = __importDefault(require("../../ns"));
8
+ const solid_logic_1 = require("solid-logic");
9
+ const fieldParams_1 = require("./fieldParams");
10
+ const fieldFunction_1 = require("./fieldFunction");
11
+ const STYLE_URI_PREFIX = 'https://www.w3.org/ns/css#';
12
+ /* eslint-disable no-console */
13
+ function setFieldStyle(ele, field) {
14
+ const classUri = (0, fieldFunction_1.mostSpecificClassURI)(field);
15
+ const params = fieldParams_1.fieldParams[classUri] || {};
16
+ const style = solid_logic_1.store.any(field, ns_1.default.ui('style'));
17
+ if (!style) {
18
+ if (params.style) {
19
+ ele.setAttribute('style', params.style);
20
+ }
21
+ return;
22
+ }
23
+ if (style.termType === 'Literal') {
24
+ if (style)
25
+ ele.setAttribute('style', style.value);
26
+ }
27
+ else {
28
+ const sts = solid_logic_1.store.statementsMatching(style, null, null, field.doc());
29
+ sts.forEach(st => {
30
+ if (st.predicate.uri && st.predicate.uri.startsWith(STYLE_URI_PREFIX)) {
31
+ const cssAttribute = st.predicate.uri.slice(STYLE_URI_PREFIX.length);
32
+ try {
33
+ ele.style[cssAttribute] = st.object.value;
34
+ }
35
+ catch (err) {
36
+ console.warn(`setFieldStyle: Error setting element style ${cssAttribute} to "${st.object.value}"`);
37
+ console.warn(`setFieldStyle: ... Element tagName was "${ele.tagName || '???'}"`);
38
+ }
39
+ }
40
+ });
41
+ }
42
+ }
43
+ //# sourceMappingURL=formStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formStyle.js","sourceRoot":"","sources":["../../../src/widgets/forms/formStyle.ts"],"names":[],"mappings":";;;;;AAWA,sCA2BC;AAtCD,kDAAyB;AAEzB,6CAAmC;AACnC,+CAA2C;AAE3C,mDAAsD;AAEtD,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AAErD,+BAA+B;AAE/B,SAAgB,aAAa,CAAE,GAAe,EAAE,KAAU;IACxD,MAAM,QAAQ,GAAG,IAAA,oCAAoB,EAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,yBAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAE1C,MAAM,KAAK,GAAG,mBAAK,CAAC,GAAG,CAAC,KAAY,EAAE,YAAE,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,mBAAK,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,GAAG,EAAE,CAAC;oBACb,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,7 @@
1
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");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createImageDiv = exports.addClickListenerToElement = exports.wrapDivInATR = void 0;
4
+ const style_1 = require("../style");
8
5
  /**
9
6
  * Wraps a Div in a TR/RD
10
7
  *
@@ -19,15 +16,14 @@ var _style = require("../style");
19
16
  *
20
17
  * @internal exporting this only for unit tests
21
18
  */
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;
19
+ const wrapDivInATR = (dom, div, obj) => {
20
+ const tr = dom.createElement('tr');
21
+ const td = tr.appendChild(dom.createElement('td'));
22
+ td.appendChild(div);
23
+ tr.subject = obj;
24
+ return tr;
29
25
  };
30
-
26
+ exports.wrapDivInATR = wrapDivInATR;
31
27
  /**
32
28
  * Adds a click listener to a div
33
29
  *
@@ -40,11 +36,10 @@ var wrapDivInATR = exports.wrapDivInATR = function wrapDivInATR(dom, div, obj) {
40
36
  *
41
37
  * @internal exporting this only for unit tests
42
38
  */
43
-
44
- var addClickListenerToElement = exports.addClickListenerToElement = function addClickListenerToElement(div, onClickFunction) {
45
- div.addEventListener('click', onClickFunction);
39
+ const addClickListenerToElement = (div, onClickFunction) => {
40
+ div.addEventListener('click', onClickFunction);
46
41
  };
47
-
42
+ exports.addClickListenerToElement = addClickListenerToElement;
48
43
  /**
49
44
  * Wraps a Div in a TR/RD
50
45
  *
@@ -59,11 +54,11 @@ var addClickListenerToElement = exports.addClickListenerToElement = function add
59
54
  *
60
55
  * @internal exporting this only for unit tests
61
56
  */
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
57
+ const createImageDiv = (dom, div, image) => {
58
+ const imageDiv = div.appendChild(dom.createElement('div'));
59
+ imageDiv.setAttribute('style', style_1.style.imageDivStyle);
60
+ imageDiv.appendChild(image);
61
+ image.setAttribute('draggable', 'false'); // Stop the image being dragged instead - just the TR
68
62
  };
63
+ exports.createImageDiv = createImageDiv;
69
64
  //# sourceMappingURL=widgetHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgetHelpers.js","sourceRoot":"","sources":["../../src/widgets/widgetHelpers.ts"],"names":[],"mappings":";;;AAAA,oCAAgC;AAEhC;;;;;;;;;;;;;GAaG;AAEI,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;AANY,QAAA,YAAY,gBAMxB;AAED;;;;;;;;;;;GAWG;AAEI,MAAM,yBAAyB,GAAG,CAAC,GAAmB,EAAE,eAA2B,EAAE,EAAE;IAC5F,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;AAChD,CAAC,CAAA;AAFY,QAAA,yBAAyB,6BAErC;AAED;;;;;;;;;;;;;GAaG;AAEI,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,aAAK,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;AANY,QAAA,cAAc,kBAM1B"}