solid-ui 2.6.1-5f11346a → 2.6.1-6458d4e

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 (366) 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/{lib → dist}/chat/keys.d.ts +1 -1
  18. package/{lib → dist}/chat/keys.d.ts.map +1 -1
  19. package/dist/chat/keys.js +148 -0
  20. package/dist/chat/keys.js.map +1 -0
  21. package/dist/chat/signature.js +71 -0
  22. package/dist/chat/signature.js.map +1 -0
  23. package/dist/create/create.js +288 -0
  24. package/dist/create/create.js.map +1 -0
  25. package/dist/create/index.js +8 -0
  26. package/dist/create/index.js.map +1 -0
  27. package/dist/create/types.js +3 -0
  28. package/dist/create/types.js.map +1 -0
  29. package/dist/debug.js +23 -0
  30. package/dist/debug.js.map +1 -0
  31. package/dist/footer/index.js +72 -0
  32. package/dist/footer/index.js.map +1 -0
  33. package/dist/header/empty-profile.js +14 -0
  34. package/dist/header/empty-profile.js.map +1 -0
  35. package/dist/header/index.js +305 -0
  36. package/dist/header/index.js.map +1 -0
  37. package/dist/iconBase.js +40 -0
  38. package/dist/iconBase.js.map +1 -0
  39. package/dist/icons/solid_logo.js.map +1 -0
  40. package/{lib → dist}/index.d.ts +4 -4
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +170 -0
  43. package/dist/index.js.map +1 -0
  44. package/{lib → dist}/log.js +85 -99
  45. package/dist/log.js.map +1 -0
  46. package/dist/login/login.js +910 -0
  47. package/dist/login/login.js.map +1 -0
  48. package/dist/matrix/index.js +8 -0
  49. package/dist/matrix/index.js.map +1 -0
  50. package/dist/matrix/matrix.js +253 -0
  51. package/dist/matrix/matrix.js.map +1 -0
  52. package/dist/matrix/types.js +3 -0
  53. package/dist/matrix/types.js.map +1 -0
  54. package/dist/media/index.js +9 -0
  55. package/dist/media/index.js.map +1 -0
  56. package/dist/media/media-capture.js +198 -0
  57. package/dist/media/media-capture.js.map +1 -0
  58. package/dist/pad.js +795 -0
  59. package/dist/pad.js.map +1 -0
  60. package/dist/participation.js +228 -0
  61. package/dist/participation.js.map +1 -0
  62. package/dist/solid-ui.esm.js +25549 -0
  63. package/dist/solid-ui.esm.js.map +1 -0
  64. package/dist/solid-ui.esm.min.js +43 -0
  65. package/dist/solid-ui.esm.min.js.map +1 -0
  66. package/dist/solid-ui.js +23493 -68923
  67. package/dist/solid-ui.js.map +1 -1
  68. package/dist/solid-ui.min.js +40 -2
  69. package/dist/solid-ui.min.js.map +1 -1
  70. package/dist/tabs.js +398 -0
  71. package/dist/tabs.js.map +1 -0
  72. package/dist/utils/headerFooterHelpers.js +122 -0
  73. package/dist/utils/headerFooterHelpers.js.map +1 -0
  74. package/{lib → dist}/utils/keyHelpers/accessData.d.ts +3 -3
  75. package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +1 -1
  76. package/dist/utils/keyHelpers/accessData.js +108 -0
  77. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  78. package/dist/utils/keyHelpers/acl.js +112 -0
  79. package/dist/utils/keyHelpers/acl.js.map +1 -0
  80. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +1 -1
  81. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +1 -1
  82. package/dist/utils/keyHelpers/otherHelpers.js +19 -0
  83. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  84. package/dist/utils/label.js +150 -0
  85. package/dist/utils/label.js.map +1 -0
  86. package/dist/versionInfo.js +33 -0
  87. package/dist/versionInfo.js.map +1 -0
  88. package/dist/widgets/buttons/iconLinks.js +49 -0
  89. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  90. package/dist/widgets/buttons.js +1355 -0
  91. package/dist/widgets/buttons.js.map +1 -0
  92. package/dist/widgets/error.js +42 -0
  93. package/dist/widgets/error.js.map +1 -0
  94. package/dist/widgets/forms/autocomplete/autocompleteBar.js +162 -0
  95. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/autocompleteField.js +235 -0
  97. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  98. package/dist/widgets/forms/autocomplete/autocompletePicker.js +296 -0
  99. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  100. package/dist/widgets/forms/autocomplete/language.js +147 -0
  101. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  102. package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +3 -3
  103. package/dist/widgets/forms/autocomplete/publicData.d.ts.map +1 -0
  104. package/dist/widgets/forms/autocomplete/publicData.js +507 -0
  105. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  106. package/dist/widgets/forms/basic.js +250 -0
  107. package/dist/widgets/forms/basic.js.map +1 -0
  108. package/dist/widgets/forms/comment.js +52 -0
  109. package/dist/widgets/forms/comment.js.map +1 -0
  110. package/dist/widgets/forms/fieldFunction.js +49 -0
  111. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  112. package/dist/widgets/forms/fieldParams.js +95 -0
  113. package/dist/widgets/forms/fieldParams.js.map +1 -0
  114. package/dist/widgets/forms/formStyle.js +43 -0
  115. package/dist/widgets/forms/formStyle.js.map +1 -0
  116. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  117. package/{lib → dist}/widgets/widgetHelpers.js +19 -24
  118. package/dist/widgets/widgetHelpers.js.map +1 -0
  119. package/package.json +44 -47
  120. package/dist/789.solid-ui.min.js +0 -1
  121. package/dist/841.solid-ui.min.js +0 -3
  122. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  123. package/dist/841.solid-ui.min.js.map +0 -1
  124. package/dist/_2b19.solid-ui.js +0 -14
  125. package/dist/_2b19.solid-ui.js.map +0 -1
  126. package/dist/index.html +0 -1
  127. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  128. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  129. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  130. package/lib/acl/access-controller.js +0 -391
  131. package/lib/acl/access-controller.js.map +0 -1
  132. package/lib/acl/access-groups.js +0 -507
  133. package/lib/acl/access-groups.js.map +0 -1
  134. package/lib/acl/acl-control.js +0 -237
  135. package/lib/acl/acl-control.js.map +0 -1
  136. package/lib/acl/acl.js +0 -517
  137. package/lib/acl/acl.js.map +0 -1
  138. package/lib/acl/add-agent-buttons.js +0 -434
  139. package/lib/acl/add-agent-buttons.js.map +0 -1
  140. package/lib/acl/index.js +0 -39
  141. package/lib/acl/index.js.map +0 -1
  142. package/lib/acl/types.js +0 -6
  143. package/lib/acl/types.js.map +0 -1
  144. package/lib/chat/bookmarks.js +0 -303
  145. package/lib/chat/bookmarks.js.map +0 -1
  146. package/lib/chat/chatLogic.js +0 -420
  147. package/lib/chat/chatLogic.js.map +0 -1
  148. package/lib/chat/dateFolder.js +0 -328
  149. package/lib/chat/dateFolder.js.map +0 -1
  150. package/lib/chat/infinite.js +0 -994
  151. package/lib/chat/infinite.js.map +0 -1
  152. package/lib/chat/keys.js +0 -232
  153. package/lib/chat/keys.js.map +0 -1
  154. package/lib/chat/message.js +0 -715
  155. package/lib/chat/message.js.map +0 -1
  156. package/lib/chat/messageTools.js +0 -538
  157. package/lib/chat/messageTools.js.map +0 -1
  158. package/lib/chat/signature.js +0 -109
  159. package/lib/chat/signature.js.map +0 -1
  160. package/lib/chat/thread.js +0 -535
  161. package/lib/chat/thread.js.map +0 -1
  162. package/lib/create/create.js +0 -242
  163. package/lib/create/create.js.map +0 -1
  164. package/lib/create/index.js +0 -11
  165. package/lib/create/index.js.map +0 -1
  166. package/lib/create/types.js +0 -6
  167. package/lib/create/types.js.map +0 -1
  168. package/lib/debug.js +0 -30
  169. package/lib/debug.js.map +0 -1
  170. package/lib/folders.js +0 -132
  171. package/lib/folders.js.map +0 -1
  172. package/lib/footer/index.js +0 -123
  173. package/lib/footer/index.js.map +0 -1
  174. package/lib/header/empty-profile.js +0 -8
  175. package/lib/header/empty-profile.js.map +0 -1
  176. package/lib/header/index.js +0 -375
  177. package/lib/header/index.js.map +0 -1
  178. package/lib/iconBase.js +0 -44
  179. package/lib/iconBase.js.map +0 -1
  180. package/lib/icons/solid_logo.js.map +0 -1
  181. package/lib/index.d.ts.map +0 -1
  182. package/lib/index.js +0 -223
  183. package/lib/index.js.map +0 -1
  184. package/lib/log.js.map +0 -1
  185. package/lib/login/login.js +0 -1241
  186. package/lib/login/login.js.map +0 -1
  187. package/lib/matrix/index.js +0 -11
  188. package/lib/matrix/index.js.map +0 -1
  189. package/lib/matrix/matrix.js +0 -216
  190. package/lib/matrix/matrix.js.map +0 -1
  191. package/lib/matrix/types.js +0 -6
  192. package/lib/matrix/types.js.map +0 -1
  193. package/lib/media/index.js +0 -12
  194. package/lib/media/index.js.map +0 -1
  195. package/lib/media/media-capture.js +0 -194
  196. package/lib/media/media-capture.js.map +0 -1
  197. package/lib/messageArea.js +0 -319
  198. package/lib/messageArea.js.map +0 -1
  199. package/lib/noun_Camera_1618446_000000.js +0 -8
  200. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  201. package/lib/ns.js +0 -17
  202. package/lib/ns.js.map +0 -1
  203. package/lib/pad.js +0 -805
  204. package/lib/pad.js.map +0 -1
  205. package/lib/participation.js +0 -219
  206. package/lib/participation.js.map +0 -1
  207. package/lib/preferences.js +0 -215
  208. package/lib/preferences.js.map +0 -1
  209. package/lib/signup/config-default.js +0 -43
  210. package/lib/signup/config-default.js.map +0 -1
  211. package/lib/signup/signup.js +0 -74
  212. package/lib/signup/signup.js.map +0 -1
  213. package/lib/stories/decorators.js +0 -10
  214. package/lib/stories/decorators.js.map +0 -1
  215. package/lib/style.js +0 -158
  216. package/lib/style.js.map +0 -1
  217. package/lib/styleConstants.js +0 -35
  218. package/lib/styleConstants.js.map +0 -1
  219. package/lib/style_multiSelect.js +0 -62
  220. package/lib/style_multiSelect.js.map +0 -1
  221. package/lib/table.js +0 -1573
  222. package/lib/table.js.map +0 -1
  223. package/lib/tabs.js +0 -448
  224. package/lib/tabs.js.map +0 -1
  225. package/lib/typings.d.js +0 -2
  226. package/lib/typings.d.js.map +0 -1
  227. package/lib/utils/headerFooterHelpers.js +0 -165
  228. package/lib/utils/headerFooterHelpers.js.map +0 -1
  229. package/lib/utils/index.js +0 -527
  230. package/lib/utils/index.js.map +0 -1
  231. package/lib/utils/keyHelpers/accessData.js +0 -131
  232. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  233. package/lib/utils/keyHelpers/acl.js +0 -90
  234. package/lib/utils/keyHelpers/acl.js.map +0 -1
  235. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  236. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  237. package/lib/utils/label.js +0 -103
  238. package/lib/utils/label.js.map +0 -1
  239. package/lib/versionInfo.d.ts +0 -32
  240. package/lib/versionInfo.d.ts.map +0 -1
  241. package/lib/versionInfo.js +0 -37
  242. package/lib/versionInfo.js.map +0 -1
  243. package/lib/widgets/buttons/iconLinks.js +0 -53
  244. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  245. package/lib/widgets/buttons.js +0 -1306
  246. package/lib/widgets/buttons.js.map +0 -1
  247. package/lib/widgets/dragAndDrop.js +0 -194
  248. package/lib/widgets/dragAndDrop.js.map +0 -1
  249. package/lib/widgets/error.js +0 -46
  250. package/lib/widgets/error.js.map +0 -1
  251. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  252. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  253. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  254. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  255. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  256. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  257. package/lib/widgets/forms/autocomplete/language.js +0 -189
  258. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  259. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -1
  260. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  261. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  262. package/lib/widgets/forms/basic.js +0 -254
  263. package/lib/widgets/forms/basic.js.map +0 -1
  264. package/lib/widgets/forms/comment.js +0 -54
  265. package/lib/widgets/forms/comment.js.map +0 -1
  266. package/lib/widgets/forms/fieldFunction.js +0 -52
  267. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  268. package/lib/widgets/forms/fieldParams.js +0 -77
  269. package/lib/widgets/forms/fieldParams.js.map +0 -1
  270. package/lib/widgets/forms/formStyle.js +0 -44
  271. package/lib/widgets/forms/formStyle.js.map +0 -1
  272. package/lib/widgets/forms.js +0 -2045
  273. package/lib/widgets/forms.js.map +0 -1
  274. package/lib/widgets/index.js +0 -110
  275. package/lib/widgets/index.js.map +0 -1
  276. package/lib/widgets/multiSelect.js +0 -658
  277. package/lib/widgets/multiSelect.js.map +0 -1
  278. package/lib/widgets/peoplePicker.js +0 -467
  279. package/lib/widgets/peoplePicker.js.map +0 -1
  280. package/lib/widgets/widgetHelpers.js.map +0 -1
  281. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  282. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  283. /package/{lib → dist}/acl/access-groups.d.ts +0 -0
  284. /package/{lib → dist}/acl/access-groups.d.ts.map +0 -0
  285. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  286. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  287. /package/{lib → dist}/acl/acl.d.ts +0 -0
  288. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  289. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  290. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  291. /package/{lib → dist}/acl/index.d.ts +0 -0
  292. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  293. /package/{lib → dist}/acl/types.d.ts +0 -0
  294. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  295. /package/{lib → dist}/chat/signature.d.ts +0 -0
  296. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  297. /package/{lib → dist}/create/create.d.ts +0 -0
  298. /package/{lib → dist}/create/create.d.ts.map +0 -0
  299. /package/{lib → dist}/create/index.d.ts +0 -0
  300. /package/{lib → dist}/create/index.d.ts.map +0 -0
  301. /package/{lib → dist}/create/types.d.ts +0 -0
  302. /package/{lib → dist}/create/types.d.ts.map +0 -0
  303. /package/{lib → dist}/debug.d.ts +0 -0
  304. /package/{lib → dist}/debug.d.ts.map +0 -0
  305. /package/{lib → dist}/footer/index.d.ts +0 -0
  306. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  307. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  308. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  309. /package/{lib → dist}/header/index.d.ts +0 -0
  310. /package/{lib → dist}/header/index.d.ts.map +0 -0
  311. /package/{lib → dist}/iconBase.d.ts +0 -0
  312. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  313. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  314. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  315. /package/{lib → dist}/icons/solid_logo.js +0 -0
  316. /package/{lib → dist}/log.d.ts +0 -0
  317. /package/{lib → dist}/log.d.ts.map +0 -0
  318. /package/{lib → dist}/login/login.d.ts +0 -0
  319. /package/{lib → dist}/login/login.d.ts.map +0 -0
  320. /package/{lib → dist}/matrix/index.d.ts +0 -0
  321. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  322. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  323. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  324. /package/{lib → dist}/matrix/types.d.ts +0 -0
  325. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  326. /package/{lib → dist}/media/index.d.ts +0 -0
  327. /package/{lib → dist}/media/index.d.ts.map +0 -0
  328. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  329. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  330. /package/{lib → dist}/pad.d.ts +0 -0
  331. /package/{lib → dist}/pad.d.ts.map +0 -0
  332. /package/{lib → dist}/participation.d.ts +0 -0
  333. /package/{lib → dist}/participation.d.ts.map +0 -0
  334. /package/{lib → dist}/tabs.d.ts +0 -0
  335. /package/{lib → dist}/tabs.d.ts.map +0 -0
  336. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  337. /package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +0 -0
  338. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  339. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  340. /package/{lib → dist}/utils/label.d.ts +0 -0
  341. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  342. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  343. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  344. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  345. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  346. /package/{lib → dist}/widgets/error.d.ts +0 -0
  347. /package/{lib → dist}/widgets/error.d.ts.map +0 -0
  348. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  349. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  355. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  356. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  357. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  358. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  359. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  360. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  361. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  362. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  363. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  364. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  365. /package/{lib → dist}/widgets/forms/formStyle.d.ts.map +0 -0
  366. /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"}