solid-ui 2.4.14-842f7f26 → 2.4.14-alpha

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 (260) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +0 -0
  3. package/lib/acl/access-controller.d.ts +0 -0
  4. package/lib/acl/access-controller.d.ts.map +0 -0
  5. package/lib/acl/access-controller.js +334 -441
  6. package/lib/acl/access-controller.js.map +1 -1
  7. package/lib/acl/access-groups.d.ts +0 -0
  8. package/lib/acl/access-groups.d.ts.map +0 -0
  9. package/lib/acl/access-groups.js +347 -492
  10. package/lib/acl/access-groups.js.map +1 -1
  11. package/lib/acl/acl-control.d.ts +0 -0
  12. package/lib/acl/acl-control.d.ts.map +0 -0
  13. package/lib/acl/acl-control.js +168 -198
  14. package/lib/acl/acl-control.js.map +1 -1
  15. package/lib/acl/acl.d.ts +0 -0
  16. package/lib/acl/acl.d.ts.map +0 -0
  17. package/lib/acl/acl.js +444 -459
  18. package/lib/acl/acl.js.map +1 -1
  19. package/lib/acl/add-agent-buttons.d.ts +0 -0
  20. package/lib/acl/add-agent-buttons.d.ts.map +0 -0
  21. package/lib/acl/add-agent-buttons.js +318 -515
  22. package/lib/acl/add-agent-buttons.js.map +1 -1
  23. package/lib/acl/index.d.ts +0 -0
  24. package/lib/acl/index.d.ts.map +0 -0
  25. package/lib/acl/index.js +27 -35
  26. package/lib/acl/index.js.map +1 -1
  27. package/lib/acl/styles.d.ts +0 -0
  28. package/lib/acl/styles.d.ts.map +0 -0
  29. package/lib/acl/styles.js +84 -90
  30. package/lib/acl/styles.js.map +1 -1
  31. package/lib/acl/types.d.ts +0 -0
  32. package/lib/acl/types.d.ts.map +0 -0
  33. package/lib/acl/types.js +5 -4
  34. package/lib/acl/types.js.map +1 -1
  35. package/lib/authn/authSession.d.ts +0 -0
  36. package/lib/authn/authSession.d.ts.map +0 -0
  37. package/lib/authn/authSession.js +14 -21
  38. package/lib/authn/authSession.js.map +1 -1
  39. package/lib/authn/authn.d.ts +0 -0
  40. package/lib/authn/authn.d.ts.map +0 -0
  41. package/lib/authn/authn.js +1391 -1935
  42. package/lib/authn/authn.js.map +1 -1
  43. package/lib/authn/config-default.js +0 -0
  44. package/lib/authn/config-default.js.map +0 -0
  45. package/lib/authn/index.d.ts +0 -0
  46. package/lib/authn/index.d.ts.map +0 -0
  47. package/lib/authn/index.js +26 -37
  48. package/lib/authn/index.js.map +1 -1
  49. package/lib/authn/signup.js +0 -0
  50. package/lib/authn/signup.js.map +0 -0
  51. package/lib/authn/types.d.ts +0 -0
  52. package/lib/authn/types.d.ts.map +0 -0
  53. package/lib/authn/types.js +1 -4
  54. package/lib/authn/types.js.map +1 -1
  55. package/lib/chat/bookmarks.js +0 -0
  56. package/lib/chat/bookmarks.js.map +0 -0
  57. package/lib/chat/dateFolder.js +0 -0
  58. package/lib/chat/dateFolder.js.map +0 -0
  59. package/lib/chat/infinite.js +0 -0
  60. package/lib/chat/infinite.js.map +0 -0
  61. package/lib/chat/message.js +0 -0
  62. package/lib/chat/message.js.map +0 -0
  63. package/lib/chat/messageTools.js +0 -0
  64. package/lib/chat/messageTools.js.map +0 -0
  65. package/lib/chat/thread.js +0 -0
  66. package/lib/chat/thread.js.map +0 -0
  67. package/lib/create/create.d.ts +0 -0
  68. package/lib/create/create.d.ts.map +0 -0
  69. package/lib/create/create.js +209 -214
  70. package/lib/create/create.js.map +1 -1
  71. package/lib/create/index.d.ts +0 -0
  72. package/lib/create/index.d.ts.map +0 -0
  73. package/lib/create/index.js +4 -10
  74. package/lib/create/index.js.map +1 -1
  75. package/lib/create/types.d.ts +0 -0
  76. package/lib/create/types.d.ts.map +0 -0
  77. package/lib/create/types.js +1 -4
  78. package/lib/create/types.js.map +1 -1
  79. package/lib/debug.d.ts +0 -0
  80. package/lib/debug.d.ts.map +0 -0
  81. package/lib/debug.js +30 -28
  82. package/lib/debug.js.map +1 -1
  83. package/lib/folders.js +0 -0
  84. package/lib/folders.js.map +0 -0
  85. package/lib/footer/index.d.ts +20 -0
  86. package/lib/footer/index.d.ts.map +1 -0
  87. package/lib/footer/index.js +130 -0
  88. package/lib/footer/index.js.map +1 -0
  89. package/lib/footer/styleMap.d.ts +8 -0
  90. package/lib/footer/styleMap.d.ts.map +1 -0
  91. package/lib/footer/styleMap.js +11 -0
  92. package/lib/footer/styleMap.js.map +1 -0
  93. package/lib/header/empty-profile.d.ts +0 -0
  94. package/lib/header/empty-profile.d.ts.map +0 -0
  95. package/lib/header/empty-profile.js +2 -6
  96. package/lib/header/empty-profile.js.map +1 -1
  97. package/lib/header/index.d.ts +11 -8
  98. package/lib/header/index.d.ts.map +1 -1
  99. package/lib/header/index.js +291 -355
  100. package/lib/header/index.js.map +1 -1
  101. package/lib/header/styleMap.d.ts +0 -2
  102. package/lib/header/styleMap.d.ts.map +1 -1
  103. package/lib/header/styleMap.js +116 -136
  104. package/lib/header/styleMap.js.map +1 -1
  105. package/lib/iconBase.d.ts +0 -0
  106. package/lib/iconBase.d.ts.map +0 -0
  107. package/lib/iconBase.js +23 -30
  108. package/lib/iconBase.js.map +1 -1
  109. package/lib/icons/solid_logo.d.ts +0 -0
  110. package/lib/icons/solid_logo.d.ts.map +0 -0
  111. package/lib/icons/solid_logo.js +0 -0
  112. package/lib/icons/solid_logo.js.map +1 -1
  113. package/lib/index.d.ts +2 -1
  114. package/lib/index.d.ts.map +1 -1
  115. package/lib/index.js +103 -198
  116. package/lib/index.js.map +1 -1
  117. package/lib/jss/index.d.ts +0 -0
  118. package/lib/jss/index.d.ts.map +0 -0
  119. package/lib/jss/index.js +21 -30
  120. package/lib/jss/index.js.map +1 -1
  121. package/lib/log.d.ts +0 -0
  122. package/lib/log.d.ts.map +0 -0
  123. package/lib/log.js +83 -131
  124. package/lib/log.js.map +1 -1
  125. package/lib/logic.d.ts +0 -0
  126. package/lib/logic.d.ts.map +0 -0
  127. package/lib/logic.js +82 -69
  128. package/lib/logic.js.map +1 -1
  129. package/lib/matrix/index.d.ts +0 -0
  130. package/lib/matrix/index.d.ts.map +0 -0
  131. package/lib/matrix/index.js +4 -10
  132. package/lib/matrix/index.js.map +1 -1
  133. package/lib/matrix/matrix.d.ts +0 -0
  134. package/lib/matrix/matrix.d.ts.map +0 -0
  135. package/lib/matrix/matrix.js +210 -237
  136. package/lib/matrix/matrix.js.map +1 -1
  137. package/lib/matrix/types.d.ts +0 -0
  138. package/lib/matrix/types.d.ts.map +0 -0
  139. package/lib/matrix/types.js +1 -4
  140. package/lib/matrix/types.js.map +1 -1
  141. package/lib/media/index.d.ts +0 -0
  142. package/lib/media/index.d.ts.map +0 -0
  143. package/lib/media/index.js +5 -11
  144. package/lib/media/index.js.map +1 -1
  145. package/lib/media/media-capture.d.ts +0 -0
  146. package/lib/media/media-capture.d.ts.map +0 -0
  147. package/lib/media/media-capture.js +187 -181
  148. package/lib/media/media-capture.js.map +1 -1
  149. package/lib/messageArea.js +0 -0
  150. package/lib/messageArea.js.map +0 -0
  151. package/lib/noun_Camera_1618446_000000.js +0 -0
  152. package/lib/noun_Camera_1618446_000000.js.map +0 -0
  153. package/lib/ns.js +0 -0
  154. package/lib/ns.js.map +0 -0
  155. package/lib/pad.d.ts +0 -0
  156. package/lib/pad.d.ts.map +0 -0
  157. package/lib/pad.js +794 -954
  158. package/lib/pad.js.map +1 -1
  159. package/lib/participation.d.ts +0 -0
  160. package/lib/participation.d.ts.map +0 -0
  161. package/lib/participation.js +170 -199
  162. package/lib/participation.js.map +1 -1
  163. package/lib/preferences.js +0 -0
  164. package/lib/preferences.js.map +0 -0
  165. package/lib/stories/decorators.js +0 -0
  166. package/lib/stories/decorators.js.map +0 -0
  167. package/lib/style.js +0 -0
  168. package/lib/style.js.map +0 -0
  169. package/lib/table.js +0 -0
  170. package/lib/table.js.map +0 -0
  171. package/lib/tabs.d.ts +0 -0
  172. package/lib/tabs.d.ts.map +0 -0
  173. package/lib/tabs.js +235 -342
  174. package/lib/tabs.js.map +1 -1
  175. package/lib/typings.d.js +0 -0
  176. package/lib/typings.d.js.map +0 -0
  177. package/lib/{header/headerHelpers.d.ts → utils/headerFooterHelpers.d.ts} +11 -3
  178. package/lib/utils/headerFooterHelpers.d.ts.map +1 -0
  179. package/lib/utils/headerFooterHelpers.js +164 -0
  180. package/lib/utils/headerFooterHelpers.js.map +1 -0
  181. package/lib/utils/index.js +0 -0
  182. package/lib/utils/index.js.map +0 -0
  183. package/lib/utils/label.d.ts +0 -0
  184. package/lib/utils/label.d.ts.map +0 -0
  185. package/lib/utils/label.js +121 -113
  186. package/lib/utils/label.js.map +1 -1
  187. package/lib/versionInfo.d.ts +0 -0
  188. package/lib/versionInfo.d.ts.map +0 -0
  189. package/lib/versionInfo.js +23 -28
  190. package/lib/versionInfo.js.map +1 -1
  191. package/lib/webpack-bundle.js +454 -160
  192. package/lib/webpack-bundle.js.map +1 -1
  193. package/lib/widgets/buttons/iconLinks.d.ts +0 -0
  194. package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
  195. package/lib/widgets/buttons/iconLinks.js +19 -30
  196. package/lib/widgets/buttons/iconLinks.js.map +1 -1
  197. package/lib/widgets/buttons.d.ts +0 -0
  198. package/lib/widgets/buttons.d.ts.map +0 -0
  199. package/lib/widgets/buttons.js +935 -1113
  200. package/lib/widgets/buttons.js.map +1 -1
  201. package/lib/widgets/dragAndDrop.js +0 -0
  202. package/lib/widgets/dragAndDrop.js.map +0 -0
  203. package/lib/widgets/error.d.ts +0 -0
  204. package/lib/widgets/error.d.ts.map +0 -0
  205. package/lib/widgets/error.js +18 -24
  206. package/lib/widgets/error.js.map +1 -1
  207. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  208. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  209. package/lib/widgets/forms/autocomplete/autocompleteBar.js +234 -325
  210. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  211. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  212. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  213. package/lib/widgets/forms/autocomplete/autocompleteField.js +246 -276
  214. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  215. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  216. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  217. package/lib/widgets/forms/autocomplete/autocompletePicker.js +317 -497
  218. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  219. package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
  220. package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
  221. package/lib/widgets/forms/autocomplete/language.js +159 -212
  222. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  223. package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
  224. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
  225. package/lib/widgets/forms/autocomplete/publicData.js +485 -718
  226. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  227. package/lib/widgets/forms/basic.d.ts +0 -0
  228. package/lib/widgets/forms/basic.d.ts.map +0 -0
  229. package/lib/widgets/forms/basic.js +208 -239
  230. package/lib/widgets/forms/basic.js.map +1 -1
  231. package/lib/widgets/forms/comment.d.ts +0 -0
  232. package/lib/widgets/forms/comment.d.ts.map +0 -0
  233. package/lib/widgets/forms/comment.js +48 -48
  234. package/lib/widgets/forms/comment.js.map +1 -1
  235. package/lib/widgets/forms/fieldFunction.d.ts +0 -0
  236. package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
  237. package/lib/widgets/forms/fieldFunction.js +31 -50
  238. package/lib/widgets/forms/fieldFunction.js.map +1 -1
  239. package/lib/widgets/forms/fieldParams.d.ts +0 -0
  240. package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
  241. package/lib/widgets/forms/fieldParams.js +102 -81
  242. package/lib/widgets/forms/fieldParams.js.map +1 -1
  243. package/lib/widgets/forms/formStyle.d.ts +0 -0
  244. package/lib/widgets/forms/formStyle.d.ts.map +0 -0
  245. package/lib/widgets/forms/formStyle.js +52 -50
  246. package/lib/widgets/forms/formStyle.js.map +1 -1
  247. package/lib/widgets/forms.js +0 -0
  248. package/lib/widgets/forms.js.map +0 -0
  249. package/lib/widgets/index.js +0 -0
  250. package/lib/widgets/index.js.map +0 -0
  251. package/lib/widgets/peoplePicker.js +0 -0
  252. package/lib/widgets/peoplePicker.js.map +0 -0
  253. package/lib/widgets/widgetHelpers.d.ts +0 -0
  254. package/lib/widgets/widgetHelpers.d.ts.map +0 -0
  255. package/lib/widgets/widgetHelpers.js +18 -30
  256. package/lib/widgets/widgetHelpers.js.map +1 -1
  257. package/package.json +5 -4
  258. package/lib/header/headerHelpers.d.ts.map +0 -1
  259. package/lib/header/headerHelpers.js +0 -96
  260. package/lib/header/headerHelpers.js.map +0 -1
package/lib/tabs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tabs.ts"],"names":["ContainerElement","HTMLElement","TabWidgetElement","TabElement","tabWidget","options","subject","dom","document","orientation","parseInt","backgroundColor","flipped","vertical","onClose","getColors","selectedColor","color","bodyMainStyle","rootElement","createElement","setAttribute","navElement","appendChild","mainElement","tabContainer","tabElement","bodyContainer","corners","cornersPrepped","concat","slice","cornersStyle","join","margins","marginsPrepped","marginsStyle","paddingStyle","tabStyle","unselectedStyle","selectedStyle","shownStyle","hiddenStyle","refresh","orderedSync","startEmpty","children","length","selectedTab","Array","from","map","tab","firstChild","find","dataset","name","click","addCancelButton","onCloseSet","existingCancelButton","querySelector","removeChild","extraTab","classList","add","tabCancelButton","getAttribute","getItems","items","ordered","store","the","predicate","elements","each","makeNewSlot","item","ele","div","addEventListener","e","metaKey","resetTabStyle","resetBodyStyle","bodyTR","bodyMain","getOrCreateContainerElement","renderTabSettings","altKey","asSettings","innerHTML","renderMain","renderTab","textContent","newBodyMain","slot","i","j","left","right","differ","sameTerm","insertables","newSlot","newBodyDiv","insertBefore","contains","isLight","colorBlend","a","b","mix","ca","cb","res","str","hex","res2","split","h","l","x","total"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;AAEA;AACA;AACA;IACMA,gB;;;;;;;;;;;;;;;;;;;;kDAAyBC,W;;IAoBlBC,gB;;;;;;;;;;;;;;;;;;;;;;kDAAyBD,W;AAMtC;AACA;AACA;;;;;IACME,U;;;;;;;;;;;;;;;;;;;;;kDAAmBF,W;AAKzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASG,SAAT,CAAoBC,OAApB,EAA+C;AACpD,MAAMC,OAAO,GAAGD,OAAO,CAACC,OAAxB;AACA,MAAMC,GAAG,GAAGF,OAAO,CAACE,GAAR,IAAeC,QAA3B;AACA,MAAMC,WAAW,GAAGC,QAAQ,CAACL,OAAO,CAACI,WAAR,IAAuB,GAAxB,CAA5B;AACA,MAAME,eAAe,GAAGN,OAAO,CAACM,eAAR,IAA2B,SAAnD;AACA,MAAMC,OAAO,GAAGH,WAAW,GAAG,CAA9B;AACA,MAAMI,QAAQ,GAAGJ,WAAW,GAAG,CAA/B;AACA,MAAMK,OAAO,GAAGT,OAAO,CAACS,OAAxB;;AAEA,mBAA+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","sourcesContent":["import { cancelButton } from './widgets'\nimport { label } from './utils'\nimport { NamedNode } from 'rdflib'\nimport { store } from './logic'\n\n/**\n * @ignore\n */\nclass ContainerElement extends HTMLElement {\n asSettings?: boolean\n}\n\ntype TabWidgetOptions = {\n backgroundColor?: string\n dom?: HTMLDocument\n items?: Array<NamedNode>\n onClose?: (event: Event) => void\n ordered?: boolean\n orientation?: '0' | '1' | '2' | '3'\n predicate?: NamedNode\n renderMain?: (bodyMain: HTMLElement, subject: NamedNode) => void\n renderTab?: (tabDiv: HTMLDivElement, subject: NamedNode) => void\n renderTabSettings?: (bodyMain: ContainerElement, subject: NamedNode) => void\n selectedTab?: string\n startEmpty?: boolean\n subject?: NamedNode\n}\n\nexport class TabWidgetElement extends HTMLElement {\n bodyContainer?: HTMLElement\n refresh?: () => void\n tabContainer?: HTMLElement\n}\n\n/**\n * @ignore\n */\nclass TabElement extends HTMLElement {\n bodyTR?: HTMLElement\n subject?: NamedNode\n}\n\n/**\n * Use this widget to generate tabs from triples set in the global store.\n *\n * [Here you can see examples of the tabs](https://solid.github.io/solid-ui/examples/tabs/).\n *\n * It assumes that items to use for tabs will be in a collection by default,\n * e.g.:\n *\n * ```turtle\n * :subject :predicate ( :item1 :item2 ) .\n * ```\n *\n * You can override this by setting `ordered: false`, in which case it expects\n * unordered triples:\n *\n * ```turtle\n * :subject :predicate :item1, :item 2 .\n * ```\n *\n * Triples that are not ordered in collection are in principle not sorted,\n * which means that tabs could change order every time you render the widget.\n * But in this case the widget will try to sort it in order to keep it\n * consistent.\n *\n * In both of these cases you need to define options `subject` and `predicate`\n * to tell the widget which triples it should be looking for.\n *\n * Finally you can set items manually, using the `items` option, e.g.:\n *\n * ```javascript\n * {\n * items: [\n * namedNode('https://domain.tld/#item1'),\n * namedNode('https://domain.tld/#item2')\n * ]\n * }\n * ```\n *\n * When you set items manually you do not need to set `subject` and\n * `predicate`.\n *\n * In any case you probably want to set the renderMain option to specify\n * what should be rendered for the various items, e.g.:\n *\n * ```javascript\n * {\n * renderMain: (bodyMain, subject) => {\n * bodyMain.innerHTML = renderItem(subject)\n * }\n * }\n * ```\n *\n * **Note:** `renderItem` is a custom function that you need to define yourself.\n *\n * The option `renderTabSettings` allows you to render a custom view in the\n * body container that is shown when you hold the ALT key and click on a\n * tab. It works very much like the `renderMain` option:\n *\n * ```javascript\n * {\n * renderTabSettings: (bodyMain, subject) => {\n * bodyMain.innerHTML = renderTabSettings(subject)\n * }\n * }\n * ```\n *\n * **Note:** `renderTabSettings` is a custom function that you need to define\n * yourself.\n *\n * By default the widget will try to guess the label by using the\n * [[utils.label]] function. If you want to customize this yourself, you can\n * use the `renderTab` option:\n *\n * ```javascript\n * {\n * renderTab: (tabDiv, subject) => {\n * tabDiv.innerText = renderTabText(subject)\n * }\n * }\n * ```\n *\n * **Note:** `renderTabText` is a custom function you need to define yourself.\n *\n * The option renderTab is also important if you want to set which tab should\n * be selected once the widget is rendered. By default it will simply select\n * the first tab, but you can override by setting `dataset.name` on the tab\n * and referring to the same string in `selectedTab`:\n *\n * ```javascript\n * {\n * renderTab: (tabDiv, subject) => {\n * tabDiv.dataset.name = subject.uri\n * },\n * selectedTab: item2.uri\n * }\n * ```\n *\n * You can apply a color to use for tabs and border of the container by using\n * option `background-color`. This is #ddddcc by default.\n *\n * You can override the document object that the widget uses to generate DOM\n * elements by setting the option `dom`. This is encouraged to set if you\n * intend your functionality to be used in environments that don't provide\n * a global `document` object.\n *\n * If you want to render a close button next to the tabs you can set option\n * `onClose` which takes a callback function that is triggered when the\n * button is clicked:\n *\n * ```javascript\n * {\n * onClose: (event) => {\n * // do something that hides the widget altogether\n * }\n * }\n * ```\n *\n * The option `orientation` allows you to set which side the tabs should be\n * located: `'0'` = Top, `'1'` = Left, `'2'` = Bottom, `'3'` = Right\n *\n * If you don't want to render anything in the body container by default,\n * you can set the option `startEmpty` to `true`.\n *\n * @param options\n */\nexport function tabWidget (options: TabWidgetOptions) {\n const subject = options.subject\n const dom = options.dom || document\n const orientation = parseInt(options.orientation || '0')\n const backgroundColor = options.backgroundColor || '#ddddcc'\n const flipped = orientation & 2\n const vertical = orientation & 1\n const onClose = options.onClose\n\n const [selectedColor, color] = getColors(backgroundColor)\n const bodyMainStyle = `flex: 2; width: auto; height: 100%; border: 0.1em; border-style: solid; border-color: ${selectedColor}; padding: 1em;`\n const rootElement: TabWidgetElement = dom.createElement('div') // 20200117a\n\n rootElement.setAttribute('style', 'display: flex; height: 100%; width: 100%; flex-direction: ' +\n (vertical ? 'row' : 'column') + (flipped ? '-reverse;' : ';'))\n\n const navElement = rootElement.appendChild(dom.createElement('nav'))\n navElement.setAttribute('style', 'margin: 0;')\n\n const mainElement = rootElement.appendChild(dom.createElement('main'))\n\n mainElement.setAttribute('style', 'margin: 0; width:100%; height: 100%;') // override tabbedtab.css\n const tabContainer = navElement.appendChild(dom.createElement('ul'))\n tabContainer.setAttribute('style', `\n list-style-type: none;\n display: flex;\n height: 100%;\n width: 100%;\n margin: 0;\n padding: 0;\n flex-direction: ${(vertical ? 'column' : 'row')}\n `)\n\n const tabElement = 'li'\n\n const bodyContainer = mainElement\n rootElement.tabContainer = tabContainer\n rootElement.bodyContainer = bodyContainer\n\n const corners = ['0.2em', '0.2em', '0', '0'] // top left, TR, BR, BL\n const cornersPrepped = corners.concat(corners).slice(orientation, orientation + 4)\n const cornersStyle = `border-radius: ${cornersPrepped.join(' ')};`\n\n const margins = ['0.3em', '0.3em', '0', '0.3em'] // top, right, bottom, left\n const marginsPrepped = margins.concat(margins).slice(orientation, orientation + 4)\n const marginsStyle = `margin: ${marginsPrepped.join(' ')};`\n\n const paddingStyle = `padding: ${marginsPrepped.join(' ')};`\n\n const tabStyle = cornersStyle + `padding: 0.7em; max-width: 20em; color: ${color};`\n const unselectedStyle = `${tabStyle + marginsStyle}opacity: 50%; background-color: ${backgroundColor};`\n const selectedStyle = `${tabStyle + marginsStyle}background-color: ${selectedColor};`\n const shownStyle = 'height: 100%; width: 100%;'\n const hiddenStyle = shownStyle + 'display: none;'\n rootElement.refresh = orderedSync\n orderedSync()\n\n if (!options.startEmpty && tabContainer.children.length && options.selectedTab) {\n const selectedTab = Array.from(tabContainer.children)\n .map(tab => tab.firstChild as HTMLElement)\n .find(tab => tab.dataset.name === options.selectedTab)\n const tab = selectedTab || tabContainer.children[0].firstChild as HTMLButtonElement\n tab.click()\n } else if (!options.startEmpty) {\n (tabContainer.children[0].firstChild as HTMLButtonElement).click() // Open first tab\n }\n return rootElement\n\n function addCancelButton (tabContainer) {\n if (tabContainer.dataset.onCloseSet) {\n // @@ TODO: this is only here to make the browser tests work\n // Discussion at https://github.com/solid/solid-ui/pull/110#issuecomment-527080663\n const existingCancelButton = tabContainer.querySelector('.unstyled')\n tabContainer.removeChild(existingCancelButton)\n }\n const extraTab = dom.createElement(tabElement)\n extraTab.classList.add('unstyled')\n const tabCancelButton = cancelButton(dom, onClose)\n tabCancelButton.setAttribute('style', tabCancelButton.getAttribute('style') + paddingStyle)\n extraTab.appendChild(tabCancelButton)\n tabContainer.appendChild(extraTab)\n tabContainer.dataset.onCloseSet = 'true'\n }\n\n function getItems (): Array<NamedNode> {\n if (options.items) return options.items\n if (options.ordered !== false) {\n // options.ordered defaults to true\n return (store.the(subject, options.predicate) as any).elements\n } else {\n return store.each(subject, options.predicate) as any\n }\n }\n\n function makeNewSlot (item: NamedNode) {\n const ele = dom.createElement(tabElement) as TabElement\n ele.subject = item\n const div = ele.appendChild(dom.createElement('div'))\n div.setAttribute('style', unselectedStyle)\n\n div.addEventListener('click', function (e) {\n if (!e.metaKey) {\n resetTabStyle()\n resetBodyStyle()\n }\n div.setAttribute('style', selectedStyle)\n if (!ele.bodyTR) return\n ele.bodyTR.setAttribute('style', shownStyle)\n const bodyMain = getOrCreateContainerElement(ele)\n if (options.renderTabSettings && e.altKey && ele.subject && bodyMain.asSettings !== true) {\n bodyMain.innerHTML = 'loading settings ...' + item\n options.renderTabSettings(bodyMain, ele.subject)\n bodyMain.asSettings = true\n } else if (options.renderMain && ele.subject && bodyMain.asSettings !== false) {\n bodyMain.innerHTML = 'loading item ...' + item\n options.renderMain(bodyMain, ele.subject)\n bodyMain.asSettings = false\n }\n })\n\n if (options.renderTab) {\n options.renderTab(div, item)\n } else {\n div.textContent = label(item)\n }\n return ele\n\n function getOrCreateContainerElement (ele: TabElement): ContainerElement {\n const bodyMain = ele.bodyTR?.children[0] as ContainerElement\n if (bodyMain) return bodyMain\n const newBodyMain = ele.bodyTR!.appendChild(dom.createElement('main'))\n newBodyMain.setAttribute('style', bodyMainStyle)\n return newBodyMain\n }\n }\n\n // @@ Use common one from utils?\n function orderedSync () {\n const items = getItems()\n let slot: TabElement, i, j, left, right\n let differ = false\n // Find how many match at each end\n for (left = 0; left < tabContainer.children.length; left++) {\n slot = tabContainer.children[left] as TabElement\n if (\n left >= items.length ||\n (slot.subject && !slot.subject.sameTerm(items[left]))\n ) {\n differ = true\n break\n }\n }\n if (!differ && items.length === tabContainer.children.length) {\n return // The two just match in order: a case to optimize for\n }\n for (right = tabContainer.children.length - 1; right >= 0; right--) {\n slot = tabContainer.children[right] as TabElement\n j = right - tabContainer.children.length + items.length\n if (slot.subject && !slot.subject.sameTerm(items[j])) {\n break\n }\n }\n // The elements left ... right in tabContainer.children do not match\n const insertables = items.slice(left, right - tabContainer.children.length + items.length + 1)\n while (right >= left) {\n // remove extra\n tabContainer.removeChild(tabContainer.children[left])\n bodyContainer.removeChild(bodyContainer.children[left])\n right -= 1\n }\n for (i = 0; i < insertables.length; i++) {\n const newSlot = makeNewSlot(insertables[i])\n const newBodyDiv = dom.createElement('div')\n newSlot.bodyTR = newBodyDiv\n if (left === tabContainer.children.length) {\n // None left of original on right\n tabContainer.appendChild(newSlot)\n bodyContainer.appendChild(newBodyDiv)\n } else {\n tabContainer.insertBefore(newSlot, tabContainer.children[left + i])\n bodyContainer.insertBefore(newBodyDiv, bodyContainer.children[left + i])\n }\n }\n if (onClose) {\n addCancelButton(tabContainer)\n }\n }\n\n function resetTabStyle () {\n for (let i = 0; i < tabContainer.children.length; i++) {\n const tab = tabContainer.children[i]\n if (tab.classList.contains('unstyled')) {\n continue\n }\n if (tab.children[0]) {\n tab.children[0].setAttribute('style', unselectedStyle)\n }\n }\n }\n\n function resetBodyStyle () {\n for (let i = 0; i < bodyContainer.children.length; i++) {\n bodyContainer.children[i].setAttribute('style', hiddenStyle)\n }\n }\n}\n\n/**\n * @internal\n */\nfunction getColors (backgroundColor: string): [string, string] {\n return isLight(backgroundColor)\n ? [colorBlend(backgroundColor, '#ffffff', 0.3), '#000000']\n : [colorBlend(backgroundColor, '#000000', 0.3), '#ffffff']\n}\n\n/**\n * @internal\n */\nfunction colorBlend (a: string, b: string, mix: number): string {\n let ca, cb, res\n let str = '#'\n const hex = '0123456789abcdef'\n for (let i = 0; i < 3; i++) {\n ca = parseInt(a.slice(i * 2 + 1, i * 2 + 3), 16)\n cb = parseInt(b.slice(i * 2 + 1, i * 2 + 3), 16)\n res = ca * (1.0 - mix) + cb * mix // @@@ rounding\n const res2 = parseInt(('' + res).split('.')[0]) // @@ ugh\n const h = parseInt(('' + res2 / 16).split('.')[0]) // @@ ugh\n const l = parseInt(('' + (res2 % 16)).split('.')[0]) // @@ ugh\n str += hex[h] + hex[l]\n }\n return str\n}\n\n/**\n * @internal\n */\nfunction isLight (x: string): boolean {\n let total = 0\n for (let i = 0; i < 3; i++) {\n total += parseInt(x.slice(i * 2 + 1, i * 2 + 3), 16)\n }\n return total > 128 * 3\n}\n"],"file":"tabs.js"}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../src/tabs.ts"],"names":[],"mappings":"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"}
package/lib/typings.d.js CHANGED
File without changes
File without changes
@@ -1,4 +1,4 @@
1
- import { NamedNode } from 'rdflib';
1
+ import { IndexedFormula, NamedNode } from 'rdflib';
2
2
  declare type ThrottleOptions = {
3
3
  leading?: boolean;
4
4
  throttling?: boolean;
@@ -7,14 +7,22 @@ declare type ThrottleOptions = {
7
7
  /**
8
8
  * @ignore exporting this only for the unit test
9
9
  */
10
- export declare function addStyleClassToElement(element: any, styleClasses: string[]): void;
10
+ export declare function addStyleClassToElement(element: any, styleClasses: string[], type?: string): void;
11
11
  /**
12
12
  * @ignore exporting this only for the unit test
13
13
  */
14
14
  export declare function getPod(): NamedNode;
15
+ /**
16
+ * @ignore exporting this only for the unit test
17
+ */
18
+ export declare function getPodOwner(pod: NamedNode, store: IndexedFormula): Promise<NamedNode | null>;
19
+ /**
20
+ * @ignore exporting this only for the unit test
21
+ */
22
+ export declare function getName(store: IndexedFormula, user: NamedNode): string;
15
23
  /**
16
24
  * @ignore exporting this only for the unit test
17
25
  */
18
26
  export declare function throttle(func: Function, wait: number, options?: ThrottleOptions): (...args: any[]) => any;
19
27
  export {};
20
- //# sourceMappingURL=headerHelpers.d.ts.map
28
+ //# sourceMappingURL=headerFooterHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headerFooterHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/headerFooterHelpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAO,MAAM,QAAQ,CAAA;AAMvD,aAAK,eAAe,GAAG;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAA;AAYD;;GAEG;AACH,wBAAgB,sBAAsB,CAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,QAM1F;AACD;;GAEG;AACH,wBAAgB,MAAM,IAAK,SAAS,CAGnC;AACD;;GAEG;AACH,wBAAsB,WAAW,CAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAqBnG;AACD;;GAEG;AACH,wBAAgB,OAAO,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAIvE;AACD;;GAEG;AACH,wBAAgB,QAAQ,CAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAgC9G"}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.throttle = exports.getName = exports.getPodOwner = exports.getPod = exports.addStyleClassToElement = void 0;
40
+ /*
41
+ Copied from mashlib/src/global/metadata.ts
42
+ */
43
+ var rdflib_1 = require("rdflib");
44
+ var __1 = require("..");
45
+ var styleMap_1 = require("../header/styleMap");
46
+ var styleMap_2 = require("../footer/styleMap");
47
+ var jss_1 = require("../jss");
48
+ /**
49
+ * @internal
50
+ */
51
+ function getStyle(styleClass, type) {
52
+ if (type && type === 'footer') {
53
+ return styleMap_2.styleMap[styleClass];
54
+ }
55
+ else {
56
+ return styleMap_1.styleMap[styleClass];
57
+ }
58
+ }
59
+ /**
60
+ * @ignore exporting this only for the unit test
61
+ */
62
+ function addStyleClassToElement(element, styleClasses, type) {
63
+ styleClasses.forEach(function (styleClass) {
64
+ var _a;
65
+ var style = getStyle(styleClass, type);
66
+ var classes = (0, jss_1.getClasses)(document.head, (_a = {}, _a[styleClass] = style, _a)).classes;
67
+ element.classList.add(classes[styleClass]);
68
+ });
69
+ }
70
+ exports.addStyleClassToElement = addStyleClassToElement;
71
+ /**
72
+ * @ignore exporting this only for the unit test
73
+ */
74
+ function getPod() {
75
+ // @@ TODO: This is given that mashlib runs on NSS - might need to change when we want it to run on other Pod servers
76
+ return (0, rdflib_1.sym)(document.location.origin).site();
77
+ }
78
+ exports.getPod = getPod;
79
+ /**
80
+ * @ignore exporting this only for the unit test
81
+ */
82
+ function getPodOwner(pod, store) {
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ var podOwner, err_1, storageIsListedInPodOwnersProfile;
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0:
88
+ podOwner = (0, rdflib_1.sym)("".concat(pod.uri, "profile/card#me"));
89
+ _a.label = 1;
90
+ case 1:
91
+ _a.trys.push([1, 5, , 6]);
92
+ if (!store.fetcher) return [3 /*break*/, 3];
93
+ return [4 /*yield*/, store.fetcher.load(podOwner.doc())];
94
+ case 2:
95
+ _a.sent();
96
+ return [3 /*break*/, 4];
97
+ case 3: throw new Error('There was a problem loading the Fetcher');
98
+ case 4: return [3 /*break*/, 6];
99
+ case 5:
100
+ err_1 = _a.sent();
101
+ throw new Error('Did NOT find pod owners profile at ' + podOwner);
102
+ case 6:
103
+ if (podOwner) {
104
+ storageIsListedInPodOwnersProfile = store.holds(podOwner, __1.ns.space('storage'), pod, podOwner.doc());
105
+ if (!storageIsListedInPodOwnersProfile) {
106
+ throw new Error("** Pod owner ".concat(podOwner, " does NOT list pod ").concat(pod, " as storage"));
107
+ }
108
+ }
109
+ return [2 /*return*/, podOwner];
110
+ }
111
+ });
112
+ });
113
+ }
114
+ exports.getPodOwner = getPodOwner;
115
+ /**
116
+ * @ignore exporting this only for the unit test
117
+ */
118
+ function getName(store, user) {
119
+ return store.anyValue(user, __1.ns.vcard('fn'), null, user.doc()) ||
120
+ store.anyValue(user, __1.ns.foaf('name'), null, user.doc()) ||
121
+ user.uri;
122
+ }
123
+ exports.getName = getName;
124
+ /**
125
+ * @ignore exporting this only for the unit test
126
+ */
127
+ function throttle(func, wait, options) {
128
+ if (options === void 0) { options = {}; }
129
+ var context, args, result;
130
+ var timeout = null;
131
+ var previous = 0;
132
+ var later = function () {
133
+ previous = !options.leading ? 0 : Date.now();
134
+ timeout = null;
135
+ result = func.apply(context, args);
136
+ if (!timeout)
137
+ context = args = null;
138
+ };
139
+ return function () {
140
+ var now = Date.now();
141
+ if (!previous && !options.leading)
142
+ previous = now;
143
+ var remaining = wait - (now - previous);
144
+ // @ts-ignore
145
+ context = this;
146
+ args = arguments;
147
+ if (remaining <= 0 || remaining > wait) {
148
+ if (timeout) {
149
+ clearTimeout(timeout);
150
+ timeout = null;
151
+ }
152
+ previous = now;
153
+ result = func.apply(context, args);
154
+ if (!timeout)
155
+ context = args = null;
156
+ }
157
+ else if (!timeout && options.trailing !== false) {
158
+ timeout = setTimeout(later, remaining);
159
+ }
160
+ return result;
161
+ };
162
+ }
163
+ exports.throttle = throttle;
164
+ //# sourceMappingURL=headerFooterHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headerFooterHelpers.js","sourceRoot":"","sources":["../../src/utils/headerFooterHelpers.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
@@ -1,126 +1,134 @@
1
1
  "use strict";
2
-
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
7
13
  });
8
- exports.label = label;
9
-
10
- var log = _interopRequireWildcard(require("../log"));
11
-
12
- var _logic = require("../logic");
13
-
14
- var ns = _interopRequireWildcard(require("../ns"));
15
-
16
- var rdf = _interopRequireWildcard(require("rdflib"));
17
-
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
- // pull in first avoid cross-refs
23
- var UI = {
24
- log: log,
25
- ns: ns,
26
- rdf: rdf,
27
- store: _logic.store
28
- }; // This ubiquitous function returns the best label for a thing
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.label = void 0;
23
+ var log = __importStar(require("../log"));
24
+ var logic_1 = require("../logic");
25
+ var ns = __importStar(require("../ns"));
26
+ var rdf = __importStar(require("rdflib")); // pull in first avoid cross-refs
27
+ var UI = { log: log, ns: ns, rdf: rdf, store: logic_1.store };
28
+ // This ubiquitous function returns the best label for a thing
29
29
  //
30
30
  // The hacks in this code make a major difference to the usability
31
-
32
- function label(thing) {
33
- var initialCap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
34
-
35
- function doCap(label) {
36
- if (initialCap) {
37
- return label.slice(0, 1).toUpperCase() + label.slice(1);
31
+ function label(thing, initialCap) {
32
+ if (initialCap === void 0) { initialCap = false; }
33
+ function doCap(label) {
34
+ if (initialCap) {
35
+ return label.slice(0, 1).toUpperCase() + label.slice(1);
36
+ }
37
+ return label;
38
+ }
39
+ function cleanUp(label) {
40
+ var result = '';
41
+ if (label.slice(-1) === '/')
42
+ label = label.slice(0, -1); // chop trailing slash
43
+ for (var i = 0; i < label.length; i++) {
44
+ if (label[i] === '_' || label[i] === '-') {
45
+ result += ' ';
46
+ continue;
47
+ }
48
+ result += label[i];
49
+ if (i + 1 < label.length &&
50
+ label[i].toUpperCase() !== label[i] &&
51
+ label[i + 1].toLowerCase() !== label[i + 1]) {
52
+ result += ' ';
53
+ }
54
+ }
55
+ if (result.slice(0, 4) === 'has ')
56
+ result = result.slice(4);
57
+ return doCap(result);
58
+ }
59
+ var label = getWellKnownLabel(thing);
60
+ if (label) {
61
+ return doCap(label.value);
62
+ }
63
+ // Default to label just generated from the URI
64
+ if (thing.termType === 'BlankNode') {
65
+ return '...';
38
66
  }
39
-
40
- return label;
41
- }
42
-
43
- function cleanUp(label) {
44
- var result = '';
45
- if (label.slice(-1) === '/') label = label.slice(0, -1); // chop trailing slash
46
-
47
- for (var i = 0; i < label.length; i++) {
48
- if (label[i] === '_' || label[i] === '-') {
49
- result += ' ';
50
- continue;
51
- }
52
-
53
- result += label[i];
54
-
55
- if (i + 1 < label.length && label[i].toUpperCase() !== label[i] && label[i + 1].toLowerCase() !== label[i + 1]) {
56
- result += ' ';
57
- }
67
+ if (thing.termType === 'Collection') {
68
+ return '(' + thing.elements.length + ')';
58
69
  }
59
-
60
- if (result.slice(0, 4) === 'has ') result = result.slice(4);
61
- return doCap(result);
62
- }
63
-
64
- var label = getWellKnownLabel(thing);
65
-
66
- if (label) {
67
- return doCap(label.value);
68
- } // Default to label just generated from the URI
69
-
70
-
71
- if (thing.termType === 'BlankNode') {
72
- return '...';
73
- }
74
-
75
- if (thing.termType === 'Collection') {
76
- return '(' + thing.elements.length + ')';
77
- }
78
-
79
- var s = thing.uri;
80
- if (typeof s === 'undefined') return thing.toString(); // can't be a symbol
81
- // s = decodeURI(s) // This can crash is random valid @ signs are presentation
82
- // The idea was to clean up eg URIs encoded in query strings
83
- // Also encoded character in what was filenames like @ [] {}
84
-
85
- try {
86
- s = s.split('/').map(decodeURIComponent).join('/'); // If it is properly encoded
87
- } catch (e) {
88
- // try individual decoding of ASCII code points
89
- for (var i = s.length - 3; i > 0; i--) {
90
- var hex = '0123456789abcefABCDEF'; // The while upacks multiple layers of encoding
91
-
92
- while (s[i] === '%' && hex.indexOf(s[i + 1]) >= 0 && hex.indexOf(s[i + 2]) >= 0) {
93
- s = s.slice(0, i) + String.fromCharCode(parseInt(s.slice(i + 1, i + 3), 16)) + s.slice(i + 3);
94
- }
70
+ var s = thing.uri;
71
+ if (typeof s === 'undefined')
72
+ return thing.toString(); // can't be a symbol
73
+ // s = decodeURI(s) // This can crash is random valid @ signs are presentation
74
+ // The idea was to clean up eg URIs encoded in query strings
75
+ // Also encoded character in what was filenames like @ [] {}
76
+ try {
77
+ s = s
78
+ .split('/')
79
+ .map(decodeURIComponent)
80
+ .join('/'); // If it is properly encoded
95
81
  }
96
- }
97
-
98
- s = slice(s, '/profile/card#me');
99
- s = slice(s, '#this');
100
- s = slice(s, '#me');
101
- var hash = s.indexOf('#');
102
- if (hash >= 0) return cleanUp(s.slice(hash + 1)); // Eh? Why not do this? e.g. dc:title needs it only trim URIs, not rdfs:labels
103
-
104
- var slash = s.lastIndexOf('/', s.length - 2); // (len-2) excludes trailing slash
105
-
106
- if (slash >= 0 && slash < thing.uri.length) return cleanUp(s.slice(slash + 1));
107
- return doCap(decodeURIComponent(thing.uri));
82
+ catch (e) {
83
+ // try individual decoding of ASCII code points
84
+ for (var i = s.length - 3; i > 0; i--) {
85
+ var hex = '0123456789abcefABCDEF'; // The while upacks multiple layers of encoding
86
+ while (s[i] === '%' &&
87
+ hex.indexOf(s[i + 1]) >= 0 &&
88
+ hex.indexOf(s[i + 2]) >= 0) {
89
+ s =
90
+ s.slice(0, i) +
91
+ String.fromCharCode(parseInt(s.slice(i + 1, i + 3), 16)) +
92
+ s.slice(i + 3);
93
+ }
94
+ }
95
+ }
96
+ s = slice(s, '/profile/card#me');
97
+ s = slice(s, '#this');
98
+ s = slice(s, '#me');
99
+ var hash = s.indexOf('#');
100
+ if (hash >= 0)
101
+ return cleanUp(s.slice(hash + 1));
102
+ // Eh? Why not do this? e.g. dc:title needs it only trim URIs, not rdfs:labels
103
+ var slash = s.lastIndexOf('/', s.length - 2); // (len-2) excludes trailing slash
104
+ if (slash >= 0 && slash < thing.uri.length)
105
+ return cleanUp(s.slice(slash + 1));
106
+ return doCap(decodeURIComponent(thing.uri));
108
107
  }
109
-
108
+ exports.label = label;
110
109
  function slice(s, suffix) {
111
- var length = suffix.length * -1;
112
-
113
- if (s.slice(length) === suffix) {
114
- return s.slice(0, length);
115
- }
116
-
117
- return s;
118
- } // Hard coded known label predicates
110
+ var length = suffix.length * -1;
111
+ if (s.slice(length) === suffix) {
112
+ return s.slice(0, length);
113
+ }
114
+ return s;
115
+ }
116
+ // Hard coded known label predicates
119
117
  // @@ TBD: Add subproperties of rdfs:label
120
-
121
-
122
118
  function getWellKnownLabel(thing) {
123
- return _logic.store.any(thing, UI.ns.ui('label')) || // Prioritize ui:label
124
- _logic.store.any(thing, UI.ns.link('message')) || _logic.store.any(thing, UI.ns.vcard('fn')) || _logic.store.any(thing, UI.ns.foaf('name')) || _logic.store.any(thing, UI.ns.dct('title')) || _logic.store.any(thing, UI.ns.dc('title')) || _logic.store.any(thing, UI.ns.rss('title')) || _logic.store.any(thing, UI.ns.contact('fullName')) || _logic.store.any(thing, _logic.store.sym('http://www.w3.org/2001/04/roadmap/org#name')) || _logic.store.any(thing, UI.ns.cal('summary')) || _logic.store.any(thing, UI.ns.foaf('nick')) || _logic.store.any(thing, UI.ns.as('name')) || _logic.store.any(thing, UI.ns.schema('name')) || _logic.store.any(thing, UI.ns.rdfs('label'));
119
+ return logic_1.store.any(thing, UI.ns.ui('label')) || // Prioritize ui:label
120
+ logic_1.store.any(thing, UI.ns.link('message')) ||
121
+ logic_1.store.any(thing, UI.ns.vcard('fn')) ||
122
+ logic_1.store.any(thing, UI.ns.foaf('name')) ||
123
+ logic_1.store.any(thing, UI.ns.dct('title')) ||
124
+ logic_1.store.any(thing, UI.ns.dc('title')) ||
125
+ logic_1.store.any(thing, UI.ns.rss('title')) ||
126
+ logic_1.store.any(thing, UI.ns.contact('fullName')) ||
127
+ logic_1.store.any(thing, logic_1.store.sym('http://www.w3.org/2001/04/roadmap/org#name')) ||
128
+ logic_1.store.any(thing, UI.ns.cal('summary')) ||
129
+ logic_1.store.any(thing, UI.ns.foaf('nick')) ||
130
+ logic_1.store.any(thing, UI.ns.as('name')) ||
131
+ logic_1.store.any(thing, UI.ns.schema('name')) ||
132
+ logic_1.store.any(thing, UI.ns.rdfs('label'));
125
133
  }
126
134
  //# sourceMappingURL=label.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/label.ts"],"names":["UI","log","ns","rdf","store","label","thing","initialCap","doCap","slice","toUpperCase","cleanUp","result","i","length","toLowerCase","getWellKnownLabel","value","termType","elements","s","uri","toString","split","map","decodeURIComponent","join","e","hex","indexOf","String","fromCharCode","parseInt","hash","slash","lastIndexOf","suffix","any","ui","link","vcard","foaf","dct","dc","rss","contact","sym","cal","as","schema","rdfs"],"mappings":"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","sourcesContent":["import * as log from '../log'\nimport { store } from '../logic'\nimport * as ns from '../ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\n\nconst UI = { log, ns, rdf, store }\n\n// This ubiquitous function returns the best label for a thing\n//\n// The hacks in this code make a major difference to the usability\nexport function label (thing, initialCap = false): string {\n function doCap (label: string) {\n if (initialCap) {\n return label.slice(0, 1).toUpperCase() + label.slice(1)\n }\n return label\n }\n function cleanUp (label: string) {\n let result = ''\n if (label.slice(-1) === '/') label = label.slice(0, -1) // chop trailing slash\n for (let i = 0; i < label.length; i++) {\n if (label[i] === '_' || label[i] === '-') {\n result += ' '\n continue\n }\n result += label[i]\n if (\n i + 1 < label.length &&\n label[i].toUpperCase() !== label[i] &&\n label[i + 1].toLowerCase() !== label[i + 1]\n ) {\n result += ' '\n }\n }\n if (result.slice(0, 4) === 'has ') result = result.slice(4)\n return doCap(result)\n }\n\n const label = getWellKnownLabel(thing)\n\n if (label) {\n return doCap(label.value)\n }\n\n // Default to label just generated from the URI\n\n if (thing.termType === 'BlankNode') {\n return '...'\n }\n if (thing.termType === 'Collection') {\n return '(' + thing.elements.length + ')'\n }\n let s = thing.uri\n if (typeof s === 'undefined') return thing.toString() // can't be a symbol\n // s = decodeURI(s) // This can crash is random valid @ signs are presentation\n // The idea was to clean up eg URIs encoded in query strings\n // Also encoded character in what was filenames like @ [] {}\n try {\n s = s\n .split('/')\n .map(decodeURIComponent)\n .join('/') // If it is properly encoded\n } catch (e) {\n // try individual decoding of ASCII code points\n for (let i = s.length - 3; i > 0; i--) {\n const hex = '0123456789abcefABCDEF' // The while upacks multiple layers of encoding\n while (\n s[i] === '%' &&\n hex.indexOf(s[i + 1]) >= 0 &&\n hex.indexOf(s[i + 2]) >= 0\n ) {\n s =\n s.slice(0, i) +\n String.fromCharCode(parseInt(s.slice(i + 1, i + 3), 16)) +\n s.slice(i + 3)\n }\n }\n }\n\n s = slice(s, '/profile/card#me')\n s = slice(s, '#this')\n s = slice(s, '#me')\n\n const hash = s.indexOf('#')\n if (hash >= 0) return cleanUp(s.slice(hash + 1))\n\n // Eh? Why not do this? e.g. dc:title needs it only trim URIs, not rdfs:labels\n const slash = s.lastIndexOf('/', s.length - 2) // (len-2) excludes trailing slash\n if (slash >= 0 && slash < thing.uri.length) return cleanUp(s.slice(slash + 1))\n\n return doCap(decodeURIComponent(thing.uri))\n}\n\nfunction slice (s: string, suffix: string) {\n const length = suffix.length * -1\n if (s.slice(length) === suffix) {\n return s.slice(0, length)\n }\n return s\n}\n\n// Hard coded known label predicates\n// @@ TBD: Add subproperties of rdfs:label\nfunction getWellKnownLabel (thing) {\n return store.any(thing, UI.ns.ui('label')) || // Prioritize ui:label\n store.any(thing, UI.ns.link('message')) ||\n store.any(thing, UI.ns.vcard('fn')) ||\n store.any(thing, UI.ns.foaf('name')) ||\n store.any(thing, UI.ns.dct('title')) ||\n store.any(thing, UI.ns.dc('title')) ||\n store.any(thing, UI.ns.rss('title')) ||\n store.any(thing, UI.ns.contact('fullName')) ||\n store.any(thing, store.sym('http://www.w3.org/2001/04/roadmap/org#name')) ||\n store.any(thing, UI.ns.cal('summary')) ||\n store.any(thing, UI.ns.foaf('nick')) ||\n store.any(thing, UI.ns.as('name')) ||\n store.any(thing, UI.ns.schema('name')) ||\n store.any(thing, UI.ns.rdfs('label'))\n}\n"],"file":"label.js"}
1
+ {"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/utils/label.ts"],"names":[],"mappings":"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"}