solid-panes 5.0.0-0 → 5.0.0

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 (290) hide show
  1. package/dist/RDFXMLPane.d.ts.map +1 -1
  2. package/dist/RDFXMLPane2.cjs.js +1 -2
  3. package/dist/RDFXMLPane2.cjs.js.map +1 -1
  4. package/dist/RDFXMLPane2.esm.js +15 -42
  5. package/dist/RDFXMLPane2.esm.js.map +1 -1
  6. package/dist/_virtual/~icons/lucide/arrow-left.cjs.js.map +1 -1
  7. package/dist/_virtual/~icons/lucide/arrow-left.esm.js.map +1 -1
  8. package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js.map +1 -1
  9. package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js.map +1 -1
  10. package/dist/_virtual/~icons/lucide/folder-open.cjs.js.map +1 -1
  11. package/dist/_virtual/~icons/lucide/folder-open.esm.js.map +1 -1
  12. package/dist/_virtual/~icons/lucide/folder.cjs.js +2 -0
  13. package/dist/_virtual/~icons/lucide/folder.cjs.js.map +1 -0
  14. package/dist/_virtual/~icons/lucide/{trash-2.esm.js → folder.esm.js} +4 -4
  15. package/dist/_virtual/~icons/lucide/folder.esm.js.map +1 -0
  16. package/dist/_virtual/~icons/lucide/globe.cjs.js.map +1 -1
  17. package/dist/_virtual/~icons/lucide/globe.esm.js.map +1 -1
  18. package/dist/_virtual/~icons/lucide/help-circle.cjs.js.map +1 -1
  19. package/dist/_virtual/~icons/lucide/help-circle.esm.js.map +1 -1
  20. package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js.map +1 -1
  21. package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js.map +1 -1
  22. package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js.map +1 -1
  23. package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js.map +1 -1
  24. package/dist/_virtual/~icons/lucide/pencil.cjs.js.map +1 -1
  25. package/dist/_virtual/~icons/lucide/pencil.esm.js.map +1 -1
  26. package/dist/_virtual/~icons/lucide/settings-2.cjs.js.map +1 -1
  27. package/dist/_virtual/~icons/lucide/settings-2.esm.js.map +1 -1
  28. package/dist/_virtual/~icons/lucide/share-2.cjs.js.map +1 -1
  29. package/dist/_virtual/~icons/lucide/share-2.esm.js.map +1 -1
  30. package/dist/_virtual/~icons/lucide/user-round-cog.cjs.js +2 -0
  31. package/dist/_virtual/~icons/lucide/user-round-cog.cjs.js.map +1 -0
  32. package/dist/_virtual/~icons/lucide/user-round-cog.esm.js +11 -0
  33. package/dist/_virtual/~icons/lucide/user-round-cog.esm.js.map +1 -0
  34. package/dist/_virtual/~icons/lucide/user.cjs.js.map +1 -1
  35. package/dist/_virtual/~icons/lucide/user.esm.js.map +1 -1
  36. package/dist/_virtual/~icons/lucide/users.cjs.js.map +1 -1
  37. package/dist/_virtual/~icons/lucide/users.esm.js.map +1 -1
  38. package/dist/audio/audioPane.cjs.js.map +1 -1
  39. package/dist/audio/audioPane.esm.js.map +1 -1
  40. package/dist/classInstancePane.cjs.js.map +1 -1
  41. package/dist/classInstancePane.esm.js.map +1 -1
  42. package/dist/components/editor-card/EditorCard.cjs.js +6 -0
  43. package/dist/components/editor-card/EditorCard.cjs.js.map +1 -0
  44. package/dist/components/editor-card/EditorCard.d.ts +16 -0
  45. package/dist/components/editor-card/EditorCard.d.ts.map +1 -0
  46. package/dist/components/editor-card/EditorCard.esm.js +268 -0
  47. package/dist/components/editor-card/EditorCard.esm.js.map +1 -0
  48. package/dist/components/editor-card/EditorCard.styles.cjs.js +2 -0
  49. package/dist/components/editor-card/EditorCard.styles.cjs.js.map +1 -0
  50. package/dist/components/editor-card/EditorCard.styles.esm.js +7 -0
  51. package/dist/components/editor-card/EditorCard.styles.esm.js.map +1 -0
  52. package/dist/components/editor-card/index.cjs.js +1 -0
  53. package/dist/components/editor-card/index.d.ts +4 -0
  54. package/dist/components/editor-card/index.d.ts.map +1 -0
  55. package/dist/components/editor-card/index.esm.js +1 -0
  56. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js +2 -2
  57. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js.map +1 -1
  58. package/dist/components/file-explorer-header/FileExplorerHeader.d.ts +1 -2
  59. package/dist/components/file-explorer-header/FileExplorerHeader.d.ts.map +1 -1
  60. package/dist/components/file-explorer-header/FileExplorerHeader.esm.js +16 -16
  61. package/dist/components/file-explorer-header/FileExplorerHeader.esm.js.map +1 -1
  62. package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js +1 -1
  63. package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js.map +1 -1
  64. package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js +1 -1
  65. package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js.map +1 -1
  66. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +24 -14
  67. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -1
  68. package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts +7 -1
  69. package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts.map +1 -1
  70. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +94 -66
  71. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js.map +1 -1
  72. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js +1 -1
  73. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js.map +1 -1
  74. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js +1 -1
  75. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js.map +1 -1
  76. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +22 -7
  77. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js.map +1 -1
  78. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts +3 -2
  79. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts.map +1 -1
  80. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +90 -65
  81. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js.map +1 -1
  82. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js +1 -1
  83. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js.map +1 -1
  84. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js +1 -1
  85. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js.map +1 -1
  86. package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js +4 -4
  87. package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js.map +1 -1
  88. package/dist/components/file-explorer-header/FileExplorerProvider.d.ts +1 -1
  89. package/dist/components/file-explorer-header/FileExplorerProvider.d.ts.map +1 -1
  90. package/dist/components/file-explorer-header/FileExplorerProvider.esm.js +17 -16
  91. package/dist/components/file-explorer-header/FileExplorerProvider.esm.js.map +1 -1
  92. package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js.map +1 -1
  93. package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js.map +1 -1
  94. package/dist/components/file-explorer-header/index.cjs.js +1 -0
  95. package/dist/components/file-explorer-header/index.d.ts +3 -0
  96. package/dist/components/file-explorer-header/index.d.ts.map +1 -0
  97. package/dist/components/file-explorer-header/index.esm.js +2 -0
  98. package/dist/components/file-explorer-header/types.d.ts +8 -0
  99. package/dist/components/file-explorer-header/types.d.ts.map +1 -1
  100. package/dist/components/header/Header.cjs.js +1 -1
  101. package/dist/components/header/Header.cjs.js.map +1 -1
  102. package/dist/components/header/Header.esm.js +4 -4
  103. package/dist/components/header/Header.esm.js.map +1 -1
  104. package/dist/components/header/Header.styles.cjs.js +1 -1
  105. package/dist/components/header/Header.styles.cjs.js.map +1 -1
  106. package/dist/components/header/Header.styles.esm.js +1 -1
  107. package/dist/components/header/Header.styles.esm.js.map +1 -1
  108. package/dist/components/navbar/Navbar.cjs.js +2 -2
  109. package/dist/components/navbar/Navbar.cjs.js.map +1 -1
  110. package/dist/components/navbar/Navbar.esm.js +5 -5
  111. package/dist/components/navbar/Navbar.esm.js.map +1 -1
  112. package/dist/components/navbar/Navbar.styles.cjs.js.map +1 -1
  113. package/dist/components/navbar/Navbar.styles.esm.js.map +1 -1
  114. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +23 -9
  115. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -1
  116. package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts +7 -4
  117. package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts.map +1 -1
  118. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +146 -84
  119. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js.map +1 -1
  120. package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.cjs.js +2 -0
  121. package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.cjs.js.map +1 -0
  122. package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.esm.js +7 -0
  123. package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.esm.js.map +1 -0
  124. package/dist/dashboard/basicPreferences.cjs.js.map +1 -1
  125. package/dist/dashboard/basicPreferences.esm.js.map +1 -1
  126. package/dist/dashboard/dashboardPane.cjs.js.map +1 -1
  127. package/dist/dashboard/dashboardPane.esm.js.map +1 -1
  128. package/dist/dashboard/homepage.cjs.js.map +1 -1
  129. package/dist/dashboard/homepage.esm.js.map +1 -1
  130. package/dist/dashboard/ontologyData.cjs.js.map +1 -1
  131. package/dist/dashboard/ontologyData.esm.js.map +1 -1
  132. package/dist/dashboard/preferencesFormText.cjs.js.map +1 -1
  133. package/dist/dashboard/preferencesFormText.esm.js.map +1 -1
  134. package/dist/dataContentPane2.cjs.js +1 -1
  135. package/dist/dataContentPane2.cjs.js.map +1 -1
  136. package/dist/dataContentPane2.esm.js +1 -1
  137. package/dist/dataContentPane2.esm.js.map +1 -1
  138. package/dist/defaultPane2.cjs.js +1 -1
  139. package/dist/defaultPane2.cjs.js.map +1 -1
  140. package/dist/defaultPane2.esm.js +2 -2
  141. package/dist/defaultPane2.esm.js.map +1 -1
  142. package/dist/dokieli/dokieliPane.cjs.js.map +1 -1
  143. package/dist/dokieli/dokieliPane.esm.js.map +1 -1
  144. package/dist/dokieli/new.cjs.js.map +1 -1
  145. package/dist/dokieli/new.esm.js.map +1 -1
  146. package/dist/form/pane.cjs.js.map +1 -1
  147. package/dist/form/pane.esm.js.map +1 -1
  148. package/dist/home/homePane.cjs.js +1 -1
  149. package/dist/home/homePane.cjs.js.map +1 -1
  150. package/dist/home/homePane.esm.js +1 -1
  151. package/dist/home/homePane.esm.js.map +1 -1
  152. package/dist/humanReadablePane.d.ts +1 -1
  153. package/dist/humanReadablePane.d.ts.map +1 -1
  154. package/dist/humanReadablePane2.cjs.js +1 -1
  155. package/dist/humanReadablePane2.cjs.js.map +1 -1
  156. package/dist/humanReadablePane2.esm.js +2 -2
  157. package/dist/humanReadablePane2.esm.js.map +1 -1
  158. package/dist/icons/folder.cjs.js.map +1 -1
  159. package/dist/icons/folder.esm.js.map +1 -1
  160. package/dist/icons/friends.cjs.js.map +1 -1
  161. package/dist/icons/friends.esm.js.map +1 -1
  162. package/dist/icons/person.cjs.js.map +1 -1
  163. package/dist/icons/person.esm.js.map +1 -1
  164. package/dist/imagePane2.cjs.js +1 -1
  165. package/dist/imagePane2.cjs.js.map +1 -1
  166. package/dist/imagePane2.esm.js +1 -1
  167. package/dist/imagePane2.esm.js.map +1 -1
  168. package/dist/index.cjs.js.map +1 -1
  169. package/dist/index.esm.js.map +1 -1
  170. package/dist/internal/internalPane2.cjs.js +1 -1
  171. package/dist/internal/internalPane2.cjs.js.map +1 -1
  172. package/dist/internal/internalPane2.esm.js +2 -2
  173. package/dist/internal/internalPane2.esm.js.map +1 -1
  174. package/dist/mainPage/header.cjs.js.map +1 -1
  175. package/dist/mainPage/header.esm.js.map +1 -1
  176. package/dist/mainPage/index.cjs.js.map +1 -1
  177. package/dist/mainPage/index.esm.js.map +1 -1
  178. package/dist/mainPage/navbar.cjs.js.map +1 -1
  179. package/dist/mainPage/navbar.esm.js.map +1 -1
  180. package/dist/n3Pane.d.ts.map +1 -1
  181. package/dist/n3Pane2.cjs.js +1 -2
  182. package/dist/n3Pane2.cjs.js.map +1 -1
  183. package/dist/n3Pane2.esm.js +10 -34
  184. package/dist/n3Pane2.esm.js.map +1 -1
  185. package/dist/outline/context.cjs.js.map +1 -1
  186. package/dist/outline/context.esm.js.map +1 -1
  187. package/dist/outline/manager2.cjs.js +1 -1
  188. package/dist/outline/manager2.cjs.js.map +1 -1
  189. package/dist/outline/manager2.esm.js +9 -12
  190. package/dist/outline/manager2.esm.js.map +1 -1
  191. package/dist/outline/outlineIcons.cjs.js.map +1 -1
  192. package/dist/outline/outlineIcons.esm.js.map +1 -1
  193. package/dist/outline/propertyViews.cjs.js.map +1 -1
  194. package/dist/outline/propertyViews.esm.js.map +1 -1
  195. package/dist/outline/queryByExample.cjs.js +1 -1
  196. package/dist/outline/queryByExample.cjs.js.map +1 -1
  197. package/dist/outline/queryByExample.esm.js +4 -4
  198. package/dist/outline/queryByExample.esm.js.map +1 -1
  199. package/dist/outline/userInput.cjs.js +1 -1
  200. package/dist/outline/userInput.cjs.js.map +1 -1
  201. package/dist/outline/userInput.esm.js +2 -2
  202. package/dist/outline/userInput.esm.js.map +1 -1
  203. package/dist/outline/viewAsImage.cjs.js.map +1 -1
  204. package/dist/outline/viewAsImage.esm.js.map +1 -1
  205. package/dist/outline/viewAsMbox.cjs.js.map +1 -1
  206. package/dist/outline/viewAsMbox.esm.js.map +1 -1
  207. package/dist/pad/padPane2.cjs.js +1 -1
  208. package/dist/pad/padPane2.cjs.js.map +1 -1
  209. package/dist/pad/padPane2.esm.js +3 -3
  210. package/dist/pad/padPane2.esm.js.map +1 -1
  211. package/dist/playlist/playlistPane.cjs.js +1 -1
  212. package/dist/playlist/playlistPane.cjs.js.map +1 -1
  213. package/dist/playlist/playlistPane.esm.js +1 -1
  214. package/dist/playlist/playlistPane.esm.js.map +1 -1
  215. package/dist/registerPanes.cjs.js.map +1 -1
  216. package/dist/registerPanes.esm.js.map +1 -1
  217. package/dist/schedule/formsForSchedule.cjs.js.map +1 -1
  218. package/dist/schedule/formsForSchedule.esm.js.map +1 -1
  219. package/dist/schedule/schedulePane2.cjs.js.map +1 -1
  220. package/dist/schedule/schedulePane2.esm.js.map +1 -1
  221. package/dist/sharing/sharingPane.cjs.js +1 -1
  222. package/dist/sharing/sharingPane.cjs.js.map +1 -1
  223. package/dist/sharing/sharingPane.esm.js +1 -1
  224. package/dist/sharing/sharingPane.esm.js.map +1 -1
  225. package/dist/slideshow/slideshowPane.cjs.js.map +1 -1
  226. package/dist/slideshow/slideshowPane.esm.js.map +1 -1
  227. package/dist/social/editProfileDetails.cjs.js.map +1 -1
  228. package/dist/social/editProfileDetails.esm.js.map +1 -1
  229. package/dist/social/icons.cjs.js.map +1 -1
  230. package/dist/social/icons.esm.js.map +1 -1
  231. package/dist/social/socialPane2.cjs.js +2 -2
  232. package/dist/social/socialPane2.cjs.js.map +1 -1
  233. package/dist/social/socialPane2.esm.js +3 -3
  234. package/dist/social/socialPane2.esm.js.map +1 -1
  235. package/dist/social/socialSections.cjs.js.map +1 -1
  236. package/dist/social/socialSections.esm.js.map +1 -1
  237. package/dist/social/triage.cjs.js +1 -1
  238. package/dist/social/triage.cjs.js.map +1 -1
  239. package/dist/social/triage.esm.js +1 -1
  240. package/dist/social/triage.esm.js.map +1 -1
  241. package/dist/tabbed/tabbedPane.cjs.js.map +1 -1
  242. package/dist/tabbed/tabbedPane.esm.js.map +1 -1
  243. package/dist/tableViewPane.cjs.js.map +1 -1
  244. package/dist/tableViewPane.esm.js.map +1 -1
  245. package/dist/transaction/pane.cjs.js.map +1 -1
  246. package/dist/transaction/pane.esm.js.map +1 -1
  247. package/dist/transaction/period.cjs.js +1 -1
  248. package/dist/transaction/period.cjs.js.map +1 -1
  249. package/dist/transaction/period.esm.js +1 -1
  250. package/dist/transaction/period.esm.js.map +1 -1
  251. package/dist/trip/tripPane.cjs.js.map +1 -1
  252. package/dist/trip/tripPane.esm.js.map +1 -1
  253. package/dist/trustedApplications/trustedApplications.dom.cjs.js.map +1 -1
  254. package/dist/trustedApplications/trustedApplications.dom.esm.js.map +1 -1
  255. package/dist/trustedApplications/trustedApplications.utils.cjs.js.map +1 -1
  256. package/dist/trustedApplications/trustedApplications.utils.esm.js.map +1 -1
  257. package/dist/trustedApplications/trustedApplications.view.cjs.js.map +1 -1
  258. package/dist/trustedApplications/trustedApplications.view.esm.js.map +1 -1
  259. package/dist/ui/pane.cjs.js.map +1 -1
  260. package/dist/ui/pane.esm.js.map +1 -1
  261. package/dist/utils/paneUtils.cjs.js.map +1 -1
  262. package/dist/utils/paneUtils.esm.js.map +1 -1
  263. package/dist/utils/podUtils.cjs.js +1 -1
  264. package/dist/utils/podUtils.cjs.js.map +1 -1
  265. package/dist/utils/podUtils.d.ts +6 -1
  266. package/dist/utils/podUtils.d.ts.map +1 -1
  267. package/dist/utils/podUtils.esm.js +93 -22
  268. package/dist/utils/podUtils.esm.js.map +1 -1
  269. package/dist/utils/webIdUtils.cjs.js.map +1 -1
  270. package/dist/utils/webIdUtils.esm.js.map +1 -1
  271. package/dist/versionInfo.cjs.js +1 -1
  272. package/dist/versionInfo.cjs.js.map +1 -1
  273. package/dist/versionInfo.esm.js +3 -3
  274. package/dist/versionInfo.esm.js.map +1 -1
  275. package/dist/video/videoPane.cjs.js.map +1 -1
  276. package/dist/video/videoPane.esm.js.map +1 -1
  277. package/package.json +13 -13
  278. package/dist/_virtual/~icons/lucide/trash-2.cjs.js +0 -2
  279. package/dist/_virtual/~icons/lucide/trash-2.cjs.js.map +0 -1
  280. package/dist/_virtual/~icons/lucide/trash-2.esm.js.map +0 -1
  281. package/dist/components/file-explorer-header/helper.cjs.js +0 -2
  282. package/dist/components/file-explorer-header/helper.cjs.js.map +0 -1
  283. package/dist/components/file-explorer-header/helper.d.ts +0 -15
  284. package/dist/components/file-explorer-header/helper.d.ts.map +0 -1
  285. package/dist/components/file-explorer-header/helper.esm.js +0 -64
  286. package/dist/components/file-explorer-header/helper.esm.js.map +0 -1
  287. package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js +0 -16
  288. package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js.map +0 -1
  289. package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js +0 -215
  290. package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"editProfileDetails.esm.js","names":[],"sources":["../../src/social/editProfileDetails.ts"],"sourcesContent":["import { LiveStore, NamedNode, st, sym } from 'rdflib'\nimport { html, render } from 'lit-html'\nimport { ns } from 'solid-ui'\nimport 'solid-ui/components/button'\nimport { editIcon, plusIcon, trashIcon } from './icons'\nimport { createSpinner } from './spinner'\n/* The following code was generated by AI Model: GPT-5.4\n Prompt: can you create me a form to enter this data [\nns.foaf('homepage'),\nns.foaf('weblog'),\nns.foaf('workplaceHomepage'),\nns.foaf('schoolHomepage')\n] and put an edit button at the top left corner of the header\n that when you click it pops up so you can enter this information\n and save it to the Webid. You can look in\n Dev2025/profile-pane/src/sections/heading/mutations to see how\n to write this data in the profile. */\ntype SolidUIButton = HTMLElement & {\n type: string\n variant: string\n size: string\n label: string\n disabled: boolean\n}\n\ntype ProfileLinkField = {\n key: 'homepage' | 'weblog' | 'workplaceHomepage' | 'schoolHomepage'\n label: string\n placeholder: string\n predicate: NamedNode\n}\n\ntype ProfileLinksValues = Record<ProfileLinkField['key'], string[]>\n\ntype EditProfileDetailsButtonOptions = {\n dom: HTMLDocument\n store: LiveStore\n subject: NamedNode\n onSaved: () => void\n}\n\nexport const profileLinkFields: ProfileLinkField[] = [\n {\n key: 'homepage',\n label: 'Homepage',\n placeholder: 'https://example.com',\n predicate: ns.foaf('homepage')\n },\n {\n key: 'weblog',\n label: 'Weblog',\n placeholder: 'https://blog.example.com',\n predicate: ns.foaf('weblog')\n },\n {\n key: 'workplaceHomepage',\n label: 'Workplace Homepage',\n placeholder: 'https://company.example.com',\n predicate: ns.foaf('workplaceHomepage')\n },\n {\n key: 'schoolHomepage',\n label: 'School Homepage',\n placeholder: 'https://school.example.edu',\n predicate: ns.foaf('schoolHomepage')\n }\n]\n\nfunction createEmptyProfileLinkValues (): ProfileLinksValues {\n return {\n homepage: [''],\n weblog: [''],\n workplaceHomepage: [''],\n schoolHomepage: ['']\n }\n}\n\nfunction readProfileLinkValues (store: LiveStore, subject: NamedNode): ProfileLinksValues {\n const doc = subject.doc()\n return profileLinkFields.reduce((result, field) => {\n const values = store\n .statementsMatching(subject, field.predicate, undefined, doc)\n .map((statement) => statement.object?.value || '')\n .filter(Boolean)\n\n result[field.key] = values.length ? values : ['']\n return result\n }, createEmptyProfileLinkValues())\n}\n\nfunction normalizeUrlList (values: string[], fieldLabel: string): string[] {\n const unique = new Set<string>()\n const lines = values\n .map((entry) => entry.trim())\n .filter(Boolean)\n\n for (const line of lines) {\n let parsed: URL\n try {\n parsed = new URL(line)\n } catch {\n throw new Error(`${fieldLabel} must contain valid absolute URLs.`)\n }\n\n if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {\n throw new Error(`${fieldLabel} only supports http and https URLs.`)\n }\n\n unique.add(parsed.toString())\n }\n\n return [...unique]\n}\n\nasync function saveProfileLinkValues (\n store: LiveStore,\n subject: NamedNode,\n values: ProfileLinksValues\n): Promise<void> {\n const updater = (store as any).updater\n const fetcher = (store as any).fetcher\n if (!updater || typeof updater.serialize !== 'function' || !fetcher || typeof fetcher.webOperation !== 'function') {\n throw new Error('This profile cannot be edited with the current store.')\n }\n\n const doc = subject.doc()\n const insertions: any[] = []\n const existingStatements: any[] = []\n\n for (const field of profileLinkFields) {\n existingStatements.push(...store.statementsMatching(subject, field.predicate, undefined, doc))\n const nextValues = normalizeUrlList(values[field.key], field.label)\n for (const nextValue of nextValues) {\n insertions.push(st(subject, field.predicate, sym(nextValue), doc))\n }\n }\n\n const retainedStatements = store\n .statementsMatching(undefined, undefined, undefined, doc)\n .filter((statement) => {\n return !profileLinkFields.some((field) => {\n return statement.subject.equals(subject) && statement.predicate.equals(field.predicate)\n })\n })\n\n const nextStatements = retainedStatements.concat(insertions)\n const contentType = 'text/turtle'\n const body = updater.serialize(doc.value, nextStatements, contentType)\n const response = await fetcher.webOperation('PUT', doc.value, {\n noMeta: true,\n contentType,\n body\n })\n\n if (!response || response.ok !== true) {\n const status = response?.status || 'unknown'\n throw new Error(`Unable to save profile links. Web error: ${status}`)\n }\n\n existingStatements.forEach((statement) => {\n store.removeStatement(statement)\n })\n\n for (const statement of insertions) {\n store.add(statement.subject, statement.predicate, statement.object, statement.why)\n }\n}\n\nexport function appendProfileLinks (\n _container: HTMLElement,\n _dom: HTMLDocument,\n _store: LiveStore,\n _subject: NamedNode\n): void {\n // Hidden for now because social-pane website links are not part of the new design.\n // Revisit later if we decide to show profile links in this header again.\n}\n\nexport function createEditProfileDetailsButton (\n options: EditProfileDetailsButtonOptions\n): HTMLElement {\n const { dom, store, subject, onSaved } = options\n const button = dom.createElement('solid-ui-button') as SolidUIButton\n button.type = 'button'\n button.className = 'social-pane__edit-button profile__action-button profile__heading-action-button profile-action-text flex-center profile-section-collapsible__edit-button'\n button.variant = 'secondary'\n button.size = 'sm'\n\n const label = dom.createElement('span')\n label.className = 'profile-section-collapsible__edit-label social-pane__edit-button-label'\n label.innerHTML = `${editIcon} Edit`\n button.appendChild(label)\n\n const icon = dom.createElement('span')\n icon.className = 'profile-section-collapsible__edit-icon social-pane__edit-button-icon'\n icon.setAttribute('aria-hidden', 'true')\n icon.innerHTML = editIcon\n button.appendChild(icon)\n\n button.setAttribute('aria-label', 'Edit profile links')\n\n const openDialog = () => {\n const initialValues = readProfileLinkValues(store, subject)\n const formState = profileLinkFields.reduce((result, field) => {\n result[field.key] = [...initialValues[field.key]]\n return result\n }, createEmptyProfileLinkValues())\n const overlay = dom.createElement('div')\n overlay.classList.add('social-pane__dialog-backdrop', 'flex-center')\n\n const dialog = dom.createElement('div')\n dialog.classList.add('social-pane__dialog')\n dialog.setAttribute('role', 'dialog')\n dialog.setAttribute('aria-modal', 'true')\n dialog.setAttribute('aria-label', 'Edit profile links')\n overlay.appendChild(dialog)\n\n const dialogHeader = dom.createElement('div')\n dialogHeader.classList.add('social-pane__dialog-header')\n dialog.appendChild(dialogHeader)\n\n const title = dom.createElement('h2')\n title.className = 'social-pane__dialog-title'\n title.textContent = 'Edit profile links'\n dialogHeader.appendChild(title)\n\n const form = dom.createElement('form')\n form.classList.add('social-pane__dialog-form', 'flex-column')\n dialog.appendChild(form)\n\n const savingOverlay = dom.createElement('div')\n savingOverlay.className = 'social-pane__dialog-saving-overlay'\n savingOverlay.hidden = true\n dialog.appendChild(savingOverlay)\n\n const fieldsContainer = dom.createElement('div')\n fieldsContainer.className = 'social-pane__dialog-fields'\n form.appendChild(fieldsContainer)\n\n const errorMessage = dom.createElement('p')\n errorMessage.className = 'social-pane__dialog-error'\n\n const focusRow = (fieldKey: ProfileLinkField['key'], rowIndex: number) => {\n const nextField = fieldsContainer.querySelector<HTMLInputElement>(`input[data-profile-link-key=\"${fieldKey}\"][data-profile-link-index=\"${String(rowIndex)}\"]`)\n nextField?.focus()\n }\n\n const renderFields = (focusTarget?: { fieldKey: ProfileLinkField['key'], rowIndex: number }) => {\n fieldsContainer.replaceChildren()\n\n for (const field of profileLinkFields) {\n const fieldWrapper = dom.createElement('section')\n fieldWrapper.classList.add('social-pane__dialog-field', 'flex-column')\n\n const fieldHeader = dom.createElement('div')\n fieldHeader.className = 'social-pane__dialog-field-header'\n fieldWrapper.appendChild(fieldHeader)\n\n const fieldLabel = dom.createElement('h3')\n fieldLabel.className = 'social-pane__dialog-label'\n fieldLabel.textContent = field.label\n fieldHeader.appendChild(fieldLabel)\n\n const addButton = dom.createElement('solid-ui-button') as SolidUIButton\n addButton.type = 'button'\n addButton.className = 'social-pane__dialog-row-button--add'\n addButton.setAttribute('aria-label', `Add another ${field.label.toLowerCase()}`)\n addButton.variant = 'secondary'\n addButton.size = 'sm'\n const addButtonContent = dom.createElement('span')\n addButtonContent.className = 'social-pane__add-more-content'\n const addButtonInline = dom.createElement('span')\n addButtonInline.className = 'social-pane__add-more-inline'\n const addButtonIcon = dom.createElement('span')\n addButtonIcon.className = 'social-pane__add-more-icon'\n addButtonIcon.setAttribute('aria-hidden', 'true')\n addButtonIcon.innerHTML = plusIcon\n const addButtonText = dom.createElement('span')\n addButtonText.textContent = 'Add More'\n addButtonInline.appendChild(addButtonIcon)\n addButtonInline.appendChild(addButtonText)\n addButtonContent.appendChild(addButtonInline)\n addButton.appendChild(addButtonContent)\n addButton.addEventListener('click', () => {\n formState[field.key].push('')\n renderFields({ fieldKey: field.key, rowIndex: formState[field.key].length - 1 })\n })\n fieldHeader.appendChild(addButton)\n\n const rows = dom.createElement('div')\n rows.className = 'social-pane__dialog-row-list'\n fieldWrapper.appendChild(rows)\n\n const values = formState[field.key].length ? formState[field.key] : ['']\n values.forEach((value, index) => {\n const row = dom.createElement('div')\n row.className = 'social-pane__dialog-row'\n\n const input = dom.createElement('input')\n input.classList.add('social-pane__dialog-input', 'input')\n input.type = 'url'\n input.placeholder = field.placeholder\n input.value = value\n input.setAttribute('data-profile-link-key', field.key)\n input.setAttribute('data-profile-link-index', String(index))\n input.addEventListener('input', () => {\n formState[field.key][index] = input.value\n })\n row.appendChild(input)\n\n const removeButton = dom.createElement('solid-ui-button') as SolidUIButton\n removeButton.type = 'button'\n removeButton.className = 'social-pane__dialog-row-button--remove'\n removeButton.setAttribute('aria-label', `Remove ${field.label.toLowerCase()} ${index + 1}`)\n removeButton.setAttribute('title', 'Remove')\n removeButton.variant = 'icon'\n removeButton.size = 'md'\n const removeButtonIcon = dom.createElement('span')\n removeButtonIcon.className = 'social-pane__dialog-row-button-icon social-pane__dialog-row-button-icon--remove'\n removeButtonIcon.setAttribute('slot', 'icon')\n removeButtonIcon.setAttribute('aria-hidden', 'true')\n removeButtonIcon.innerHTML = trashIcon\n removeButton.appendChild(removeButtonIcon)\n removeButton.addEventListener('click', () => {\n if (formState[field.key].length === 1) {\n formState[field.key][0] = ''\n } else {\n formState[field.key].splice(index, 1)\n }\n renderFields()\n })\n row.appendChild(removeButton)\n\n rows.appendChild(row)\n })\n\n fieldsContainer.appendChild(fieldWrapper)\n }\n\n if (focusTarget) {\n focusRow(focusTarget.fieldKey, focusTarget.rowIndex)\n }\n }\n\n renderFields()\n\n form.appendChild(errorMessage)\n\n const actions = dom.createElement('div')\n actions.className = 'social-pane__dialog-actions'\n form.appendChild(actions)\n\n const closeButton = dom.createElement('solid-ui-button') as SolidUIButton\n closeButton.type = 'button'\n closeButton.className = 'social-pane__dialog-button--cancel'\n closeButton.setAttribute('aria-label', 'Close dialog')\n closeButton.label = 'Close'\n closeButton.variant = 'secondary'\n closeButton.size = 'md'\n actions.appendChild(closeButton)\n\n const saveButton = dom.createElement('solid-ui-button') as SolidUIButton\n saveButton.type = 'button'\n saveButton.className = 'social-pane__dialog-button--save'\n saveButton.label = 'Save Changes'\n saveButton.variant = 'primary'\n saveButton.size = 'md'\n actions.appendChild(saveButton)\n\n let isSaving = false\n\n const setSavingState = (nextSaving: boolean) => {\n isSaving = nextSaving\n dialog.classList.toggle('modal--saving', nextSaving)\n dialog.setAttribute('aria-busy', String(nextSaving))\n form.toggleAttribute('inert', nextSaving)\n saveButton.disabled = nextSaving\n saveButton.setAttribute('aria-busy', String(nextSaving))\n closeButton.disabled = nextSaving\n savingOverlay.hidden = !nextSaving\n\n if (nextSaving) {\n const activeElement = dialog.ownerDocument.activeElement as HTMLElement | null\n if (activeElement && dialog.contains(activeElement)) {\n activeElement.blur()\n }\n\n render(html`\n <div class=\"modal__saving-indicator inline-flex-row justify-center\" aria-live=\"polite\" aria-label=\"Saving changes\">\n ${createSpinner()}\n </div>\n `, savingOverlay)\n } else {\n render(html``, savingOverlay)\n }\n }\n\n const closeDialog = (force = false) => {\n if (isSaving && !force) return\n overlay.remove()\n }\n\n const requestCloseDialog = () => {\n closeDialog()\n }\n\n const handleSave = async () => {\n errorMessage.textContent = ''\n setSavingState(true)\n\n const nextValues = profileLinkFields.reduce((result, field) => {\n result[field.key] = [...formState[field.key]]\n return result\n }, createEmptyProfileLinkValues())\n\n try {\n await saveProfileLinkValues(store, subject, nextValues)\n setSavingState(false)\n closeDialog(true)\n onSaved()\n } catch (error) {\n errorMessage.textContent = error instanceof Error ? error.message : 'Unable to save profile links.'\n } finally {\n if (isSaving) {\n setSavingState(false)\n }\n }\n }\n\n overlay.addEventListener('click', (event) => {\n if (event.target === overlay) closeDialog()\n })\n closeButton.addEventListener('click', requestCloseDialog)\n\n saveButton.addEventListener('click', async (event) => {\n event.preventDefault()\n await handleSave()\n })\n\n overlay.addEventListener('keydown', (event) => {\n if (event.key === 'Escape') closeDialog()\n })\n\n form.addEventListener('submit', (event) => {\n event.preventDefault()\n })\n\n dom.body.appendChild(overlay)\n focusRow('homepage', 0)\n }\n\n button.addEventListener('click', openDialog)\n return button\n}\n"],"mappings":";;;;;;AA8Ce,EAAG,KAAK,UAAU,GAMlB,EAAG,KAAK,QAAQ,GAMhB,EAAG,KAAK,mBAAmB,GAM3B,EAAG,KAAK,gBAAgB;AAwGvC,SAAgB,EACd,GACA,GACA,GACA,GACM,CAGR"}
1
+ {"version":3,"file":"editProfileDetails.esm.js","names":["ns","appendProfileLinks"],"sources":["../../src/social/editProfileDetails.ts"],"sourcesContent":["import { LiveStore, NamedNode, st, sym } from 'rdflib'\nimport { html, render } from 'lit-html'\nimport { ns } from 'solid-ui'\nimport 'solid-ui/components/button'\nimport { editIcon, plusIcon, trashIcon } from './icons'\nimport { createSpinner } from './spinner'\n/* The following code was generated by AI Model: GPT-5.4\n Prompt: can you create me a form to enter this data [\nns.foaf('homepage'),\nns.foaf('weblog'),\nns.foaf('workplaceHomepage'),\nns.foaf('schoolHomepage')\n] and put an edit button at the top left corner of the header\n that when you click it pops up so you can enter this information\n and save it to the Webid. You can look in\n Dev2025/profile-pane/src/sections/heading/mutations to see how\n to write this data in the profile. */\ntype SolidUIButton = HTMLElement & {\n type: string\n variant: string\n size: string\n label: string\n disabled: boolean\n}\n\ntype ProfileLinkField = {\n key: 'homepage' | 'weblog' | 'workplaceHomepage' | 'schoolHomepage'\n label: string\n placeholder: string\n predicate: NamedNode\n}\n\ntype ProfileLinksValues = Record<ProfileLinkField['key'], string[]>\n\ntype EditProfileDetailsButtonOptions = {\n dom: HTMLDocument\n store: LiveStore\n subject: NamedNode\n onSaved: () => void\n}\n\nexport const profileLinkFields: ProfileLinkField[] = [\n {\n key: 'homepage',\n label: 'Homepage',\n placeholder: 'https://example.com',\n predicate: ns.foaf('homepage')\n },\n {\n key: 'weblog',\n label: 'Weblog',\n placeholder: 'https://blog.example.com',\n predicate: ns.foaf('weblog')\n },\n {\n key: 'workplaceHomepage',\n label: 'Workplace Homepage',\n placeholder: 'https://company.example.com',\n predicate: ns.foaf('workplaceHomepage')\n },\n {\n key: 'schoolHomepage',\n label: 'School Homepage',\n placeholder: 'https://school.example.edu',\n predicate: ns.foaf('schoolHomepage')\n }\n]\n\nfunction createEmptyProfileLinkValues (): ProfileLinksValues {\n return {\n homepage: [''],\n weblog: [''],\n workplaceHomepage: [''],\n schoolHomepage: ['']\n }\n}\n\nfunction readProfileLinkValues (store: LiveStore, subject: NamedNode): ProfileLinksValues {\n const doc = subject.doc()\n return profileLinkFields.reduce((result, field) => {\n const values = store\n .statementsMatching(subject, field.predicate, undefined, doc)\n .map((statement) => statement.object?.value || '')\n .filter(Boolean)\n\n result[field.key] = values.length ? values : ['']\n return result\n }, createEmptyProfileLinkValues())\n}\n\nfunction normalizeUrlList (values: string[], fieldLabel: string): string[] {\n const unique = new Set<string>()\n const lines = values\n .map((entry) => entry.trim())\n .filter(Boolean)\n\n for (const line of lines) {\n let parsed: URL\n try {\n parsed = new URL(line)\n } catch {\n throw new Error(`${fieldLabel} must contain valid absolute URLs.`)\n }\n\n if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {\n throw new Error(`${fieldLabel} only supports http and https URLs.`)\n }\n\n unique.add(parsed.toString())\n }\n\n return [...unique]\n}\n\nasync function saveProfileLinkValues (\n store: LiveStore,\n subject: NamedNode,\n values: ProfileLinksValues\n): Promise<void> {\n const updater = (store as any).updater\n const fetcher = (store as any).fetcher\n if (!updater || typeof updater.serialize !== 'function' || !fetcher || typeof fetcher.webOperation !== 'function') {\n throw new Error('This profile cannot be edited with the current store.')\n }\n\n const doc = subject.doc()\n const insertions: any[] = []\n const existingStatements: any[] = []\n\n for (const field of profileLinkFields) {\n existingStatements.push(...store.statementsMatching(subject, field.predicate, undefined, doc))\n const nextValues = normalizeUrlList(values[field.key], field.label)\n for (const nextValue of nextValues) {\n insertions.push(st(subject, field.predicate, sym(nextValue), doc))\n }\n }\n\n const retainedStatements = store\n .statementsMatching(undefined, undefined, undefined, doc)\n .filter((statement) => {\n return !profileLinkFields.some((field) => {\n return statement.subject.equals(subject) && statement.predicate.equals(field.predicate)\n })\n })\n\n const nextStatements = retainedStatements.concat(insertions)\n const contentType = 'text/turtle'\n const body = updater.serialize(doc.value, nextStatements, contentType)\n const response = await fetcher.webOperation('PUT', doc.value, {\n noMeta: true,\n contentType,\n body\n })\n\n if (!response || response.ok !== true) {\n const status = response?.status || 'unknown'\n throw new Error(`Unable to save profile links. Web error: ${status}`)\n }\n\n existingStatements.forEach((statement) => {\n store.removeStatement(statement)\n })\n\n for (const statement of insertions) {\n store.add(statement.subject, statement.predicate, statement.object, statement.why)\n }\n}\n\nexport function appendProfileLinks (\n _container: HTMLElement,\n _dom: HTMLDocument,\n _store: LiveStore,\n _subject: NamedNode\n): void {\n // Hidden for now because social-pane website links are not part of the new design.\n // Revisit later if we decide to show profile links in this header again.\n}\n\nexport function createEditProfileDetailsButton (\n options: EditProfileDetailsButtonOptions\n): HTMLElement {\n const { dom, store, subject, onSaved } = options\n const button = dom.createElement('solid-ui-button') as SolidUIButton\n button.type = 'button'\n button.className = 'social-pane__edit-button profile__action-button profile__heading-action-button profile-action-text flex-center profile-section-collapsible__edit-button'\n button.variant = 'secondary'\n button.size = 'sm'\n\n const label = dom.createElement('span')\n label.className = 'profile-section-collapsible__edit-label social-pane__edit-button-label'\n label.innerHTML = `${editIcon} Edit`\n button.appendChild(label)\n\n const icon = dom.createElement('span')\n icon.className = 'profile-section-collapsible__edit-icon social-pane__edit-button-icon'\n icon.setAttribute('aria-hidden', 'true')\n icon.innerHTML = editIcon\n button.appendChild(icon)\n\n button.setAttribute('aria-label', 'Edit profile links')\n\n const openDialog = () => {\n const initialValues = readProfileLinkValues(store, subject)\n const formState = profileLinkFields.reduce((result, field) => {\n result[field.key] = [...initialValues[field.key]]\n return result\n }, createEmptyProfileLinkValues())\n const overlay = dom.createElement('div')\n overlay.classList.add('social-pane__dialog-backdrop', 'flex-center')\n\n const dialog = dom.createElement('div')\n dialog.classList.add('social-pane__dialog')\n dialog.setAttribute('role', 'dialog')\n dialog.setAttribute('aria-modal', 'true')\n dialog.setAttribute('aria-label', 'Edit profile links')\n overlay.appendChild(dialog)\n\n const dialogHeader = dom.createElement('div')\n dialogHeader.classList.add('social-pane__dialog-header')\n dialog.appendChild(dialogHeader)\n\n const title = dom.createElement('h2')\n title.className = 'social-pane__dialog-title'\n title.textContent = 'Edit profile links'\n dialogHeader.appendChild(title)\n\n const form = dom.createElement('form')\n form.classList.add('social-pane__dialog-form', 'flex-column')\n dialog.appendChild(form)\n\n const savingOverlay = dom.createElement('div')\n savingOverlay.className = 'social-pane__dialog-saving-overlay'\n savingOverlay.hidden = true\n dialog.appendChild(savingOverlay)\n\n const fieldsContainer = dom.createElement('div')\n fieldsContainer.className = 'social-pane__dialog-fields'\n form.appendChild(fieldsContainer)\n\n const errorMessage = dom.createElement('p')\n errorMessage.className = 'social-pane__dialog-error'\n\n const focusRow = (fieldKey: ProfileLinkField['key'], rowIndex: number) => {\n const nextField = fieldsContainer.querySelector<HTMLInputElement>(`input[data-profile-link-key=\"${fieldKey}\"][data-profile-link-index=\"${String(rowIndex)}\"]`)\n nextField?.focus()\n }\n\n const renderFields = (focusTarget?: { fieldKey: ProfileLinkField['key'], rowIndex: number }) => {\n fieldsContainer.replaceChildren()\n\n for (const field of profileLinkFields) {\n const fieldWrapper = dom.createElement('section')\n fieldWrapper.classList.add('social-pane__dialog-field', 'flex-column')\n\n const fieldHeader = dom.createElement('div')\n fieldHeader.className = 'social-pane__dialog-field-header'\n fieldWrapper.appendChild(fieldHeader)\n\n const fieldLabel = dom.createElement('h3')\n fieldLabel.className = 'social-pane__dialog-label'\n fieldLabel.textContent = field.label\n fieldHeader.appendChild(fieldLabel)\n\n const addButton = dom.createElement('solid-ui-button') as SolidUIButton\n addButton.type = 'button'\n addButton.className = 'social-pane__dialog-row-button--add'\n addButton.setAttribute('aria-label', `Add another ${field.label.toLowerCase()}`)\n addButton.variant = 'secondary'\n addButton.size = 'sm'\n const addButtonContent = dom.createElement('span')\n addButtonContent.className = 'social-pane__add-more-content'\n const addButtonInline = dom.createElement('span')\n addButtonInline.className = 'social-pane__add-more-inline'\n const addButtonIcon = dom.createElement('span')\n addButtonIcon.className = 'social-pane__add-more-icon'\n addButtonIcon.setAttribute('aria-hidden', 'true')\n addButtonIcon.innerHTML = plusIcon\n const addButtonText = dom.createElement('span')\n addButtonText.textContent = 'Add More'\n addButtonInline.appendChild(addButtonIcon)\n addButtonInline.appendChild(addButtonText)\n addButtonContent.appendChild(addButtonInline)\n addButton.appendChild(addButtonContent)\n addButton.addEventListener('click', () => {\n formState[field.key].push('')\n renderFields({ fieldKey: field.key, rowIndex: formState[field.key].length - 1 })\n })\n fieldHeader.appendChild(addButton)\n\n const rows = dom.createElement('div')\n rows.className = 'social-pane__dialog-row-list'\n fieldWrapper.appendChild(rows)\n\n const values = formState[field.key].length ? formState[field.key] : ['']\n values.forEach((value, index) => {\n const row = dom.createElement('div')\n row.className = 'social-pane__dialog-row'\n\n const input = dom.createElement('input')\n input.classList.add('social-pane__dialog-input', 'input')\n input.type = 'url'\n input.placeholder = field.placeholder\n input.value = value\n input.setAttribute('data-profile-link-key', field.key)\n input.setAttribute('data-profile-link-index', String(index))\n input.addEventListener('input', () => {\n formState[field.key][index] = input.value\n })\n row.appendChild(input)\n\n const removeButton = dom.createElement('solid-ui-button') as SolidUIButton\n removeButton.type = 'button'\n removeButton.className = 'social-pane__dialog-row-button--remove'\n removeButton.setAttribute('aria-label', `Remove ${field.label.toLowerCase()} ${index + 1}`)\n removeButton.setAttribute('title', 'Remove')\n removeButton.variant = 'icon'\n removeButton.size = 'md'\n const removeButtonIcon = dom.createElement('span')\n removeButtonIcon.className = 'social-pane__dialog-row-button-icon social-pane__dialog-row-button-icon--remove'\n removeButtonIcon.setAttribute('slot', 'icon')\n removeButtonIcon.setAttribute('aria-hidden', 'true')\n removeButtonIcon.innerHTML = trashIcon\n removeButton.appendChild(removeButtonIcon)\n removeButton.addEventListener('click', () => {\n if (formState[field.key].length === 1) {\n formState[field.key][0] = ''\n } else {\n formState[field.key].splice(index, 1)\n }\n renderFields()\n })\n row.appendChild(removeButton)\n\n rows.appendChild(row)\n })\n\n fieldsContainer.appendChild(fieldWrapper)\n }\n\n if (focusTarget) {\n focusRow(focusTarget.fieldKey, focusTarget.rowIndex)\n }\n }\n\n renderFields()\n\n form.appendChild(errorMessage)\n\n const actions = dom.createElement('div')\n actions.className = 'social-pane__dialog-actions'\n form.appendChild(actions)\n\n const closeButton = dom.createElement('solid-ui-button') as SolidUIButton\n closeButton.type = 'button'\n closeButton.className = 'social-pane__dialog-button--cancel'\n closeButton.setAttribute('aria-label', 'Close dialog')\n closeButton.label = 'Close'\n closeButton.variant = 'secondary'\n closeButton.size = 'md'\n actions.appendChild(closeButton)\n\n const saveButton = dom.createElement('solid-ui-button') as SolidUIButton\n saveButton.type = 'button'\n saveButton.className = 'social-pane__dialog-button--save'\n saveButton.label = 'Save Changes'\n saveButton.variant = 'primary'\n saveButton.size = 'md'\n actions.appendChild(saveButton)\n\n let isSaving = false\n\n const setSavingState = (nextSaving: boolean) => {\n isSaving = nextSaving\n dialog.classList.toggle('modal--saving', nextSaving)\n dialog.setAttribute('aria-busy', String(nextSaving))\n form.toggleAttribute('inert', nextSaving)\n saveButton.disabled = nextSaving\n saveButton.setAttribute('aria-busy', String(nextSaving))\n closeButton.disabled = nextSaving\n savingOverlay.hidden = !nextSaving\n\n if (nextSaving) {\n const activeElement = dialog.ownerDocument.activeElement as HTMLElement | null\n if (activeElement && dialog.contains(activeElement)) {\n activeElement.blur()\n }\n\n render(html`\n <div class=\"modal__saving-indicator inline-flex-row justify-center\" aria-live=\"polite\" aria-label=\"Saving changes\">\n ${createSpinner()}\n </div>\n `, savingOverlay)\n } else {\n render(html``, savingOverlay)\n }\n }\n\n const closeDialog = (force = false) => {\n if (isSaving && !force) return\n overlay.remove()\n }\n\n const requestCloseDialog = () => {\n closeDialog()\n }\n\n const handleSave = async () => {\n errorMessage.textContent = ''\n setSavingState(true)\n\n const nextValues = profileLinkFields.reduce((result, field) => {\n result[field.key] = [...formState[field.key]]\n return result\n }, createEmptyProfileLinkValues())\n\n try {\n await saveProfileLinkValues(store, subject, nextValues)\n setSavingState(false)\n closeDialog(true)\n onSaved()\n } catch (error) {\n errorMessage.textContent = error instanceof Error ? error.message : 'Unable to save profile links.'\n } finally {\n if (isSaving) {\n setSavingState(false)\n }\n }\n }\n\n overlay.addEventListener('click', (event) => {\n if (event.target === overlay) closeDialog()\n })\n closeButton.addEventListener('click', requestCloseDialog)\n\n saveButton.addEventListener('click', async (event) => {\n event.preventDefault()\n await handleSave()\n })\n\n overlay.addEventListener('keydown', (event) => {\n if (event.key === 'Escape') closeDialog()\n })\n\n form.addEventListener('submit', (event) => {\n event.preventDefault()\n })\n\n dom.body.appendChild(overlay)\n focusRow('homepage', 0)\n }\n\n button.addEventListener('click', openDialog)\n return button\n}\n"],"mappings":";;;;;;AA8CeA,EAAG,KAAK,UAAU,GAMlBA,EAAG,KAAK,QAAQ,GAMhBA,EAAG,KAAK,mBAAmB,GAM3BA,EAAG,KAAK,gBAAgB;AAwGvC,SAAgBC,EACd,GACA,GACA,GACA,GACM,CAGR"}
@@ -1 +1 @@
1
- {"version":3,"file":"icons.cjs.js","names":[],"sources":["../../src/social/icons.ts"],"sourcesContent":["/* Simpliest solution for now since we are only using it for the symposium\nand then we will use icons from solid-assets */\nconst html = String.raw\n\nexport const personInCircleIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"64\" \n height=\"64\" \n viewBox=\"0 0 64 64\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M32.0007 58.6666C46.7282 58.6666 58.6673 46.7275 58.6673 31.9999C58.6673 17.2723 46.7282 5.33325 32.0007 5.33325C17.2731 5.33325 5.33398 17.2723 5.33398 31.9999C5.33398 46.7275 17.2731 58.6666 32.0007 58.6666Z\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M32 34.6667C36.4183 34.6667 40 31.085 40 26.6667C40 22.2485 36.4183 18.6667 32 18.6667C27.5817 18.6667 24 22.2485 24 26.6667C24 31.085 27.5817 34.6667 32 34.6667Z\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M18.666 55.0986V50.6666C18.666 49.2521 19.2279 47.8955 20.2281 46.8954C21.2283 45.8952 22.5849 45.3333 23.9993 45.3333H39.9993C41.4138 45.3333 42.7704 45.8952 43.7706 46.8954C44.7708 47.8955 45.3327 49.2521 45.3327 50.6666V55.0986\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const editIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"3 3 14 14\" \n fill=\"none\"\n aria-hidden=\"true\" \n focusable=\"false\"\n >\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.3063 3.34814C14.9271 3.34832 15.5236 3.59563 15.9625 4.03467C16.4012 4.47362 16.648 5.06935 16.6481 5.68994C16.648 6.31072 16.4004 6.90719 15.9615 7.34619L15.9606 7.34521L7.95373 15.355L7.95275 15.356C7.73845 15.5696 7.47464 15.7278 7.18517 15.8159H7.1842L4.57287 16.6079H4.57092C4.40678 16.6572 4.23224 16.6614 4.06603 16.6196C3.89974 16.5778 3.74793 16.4918 3.62658 16.3706C3.50526 16.2494 3.41865 16.0974 3.37658 15.9312C3.33472 15.7651 3.3383 15.5903 3.38732 15.4263L3.3883 15.4243L4.18127 12.813V12.811C4.27013 12.5215 4.42882 12.2574 4.64318 12.0435L12.651 4.03467V4.03369C13.09 3.59513 13.6857 3.34816 14.3063 3.34814ZM5.56213 12.9634C5.49841 13.0269 5.4509 13.1059 5.42443 13.1919L5.42345 13.1909L4.82189 15.1733L6.80627 14.5718C6.89221 14.5456 6.97114 14.4985 7.03478 14.4351L13.274 8.19482L11.8014 6.72217L5.56213 12.9634ZM14.3063 4.64893C14.0303 4.64894 13.7652 4.75864 13.5699 4.95361L12.7213 5.80225L14.194 7.2749L15.0426 6.42627L15.1119 6.3501C15.2635 6.16488 15.3473 5.93141 15.3473 5.68994C15.3472 5.41394 15.2377 5.14881 15.0426 4.95361C14.8474 4.75846 14.5823 4.64906 14.3063 4.64893Z\" fill=\"#1E2939\"/>\n </svg>\n`\nexport const locationIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"16\" \n height=\"16\" \n viewBox=\"0 0 16 16\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M13.3327 6.66659C13.3327 9.99525 9.64002 13.4619 8.40002 14.5326C8.2845 14.6194 8.14388 14.6664 7.99935 14.6664C7.85482 14.6664 7.7142 14.6194 7.59868 14.5326C6.35868 13.4619 2.66602 9.99525 2.66602 6.66659C2.66602 5.2521 3.22792 3.89554 4.22811 2.89535C5.22831 1.89516 6.58486 1.33325 7.99935 1.33325C9.41384 1.33325 10.7704 1.89516 11.7706 2.89535C12.7708 3.89554 13.3327 5.2521 13.3327 6.66659Z\" stroke=\"#4A5565\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M8 8.66675C9.10457 8.66675 10 7.77132 10 6.66675C10 5.56218 9.10457 4.66675 8 4.66675C6.89543 4.66675 6 5.56218 6 6.66675C6 7.77132 6.89543 8.66675 8 8.66675Z\" stroke=\"#4A5565\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const closeIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"12\" \n height=\"12\" \n viewBox=\"0 0 12 12\" \n fill=\"none\"\n aria-hidden=\"true\" \n focusable=\"false\"\n >\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.5301 0.244005C10.8555 -0.0813835 11.3834 -0.0812864 11.7088 0.244005C12.0338 0.569352 12.0338 1.09639 11.7088 1.42174L7.15416 5.97545L11.7088 10.5301C12.0341 10.8556 12.0342 11.3835 11.7088 11.7088C11.3835 12.0342 10.8556 12.0341 10.5301 11.7088L5.97545 7.15416L1.42174 11.7088C1.09639 12.0338 0.569351 12.0338 0.244004 11.7088C-0.0812866 11.3834 -0.0813828 10.8555 0.244004 10.5301L4.79772 5.97545L0.244004 1.42174C-0.0812866 1.09629 -0.0813828 0.569393 0.244004 0.244005C0.569393 -0.0813835 1.09629 -0.0812864 1.42174 0.244005L5.97545 4.79772L10.5301 0.244005Z\" fill=\"#4A5565\"/>\n </svg>\n`\nexport const trashIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"20\" \n height=\"20\" \n viewBox=\"0 0 20 20\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M8.33301 9.16675V14.1667\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M11.667 9.16675V14.1667\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.8337 5V16.6667C15.8337 17.1087 15.6581 17.5326 15.3455 17.8452C15.0329 18.1577 14.609 18.3333 14.167 18.3333H5.83366C5.39163 18.3333 4.96771 18.1577 4.65515 17.8452C4.34259 17.5326 4.16699 17.1087 4.16699 16.6667V5\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M2.5 5H17.5\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M6.66699 5.00008V3.33341C6.66699 2.89139 6.84259 2.46746 7.15515 2.1549C7.46771 1.84234 7.89163 1.66675 8.33366 1.66675H11.667C12.109 1.66675 12.5329 1.84234 12.8455 2.1549C13.1581 2.46746 13.3337 2.89139 13.3337 3.33341V5.00008\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const plusIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"12\" \n height=\"12\" \n viewBox=\"0 0 12 12\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <g clip-path=\"url(#clip0_3001_2564)\">\n <path d=\"M6.06055 0.10083C6.53372 0.101056 6.91793 0.485037 6.91797 0.958252V5.20532H11.165C11.6384 5.20532 12.0225 5.58936 12.0225 6.06274C12.0223 6.536 11.6383 6.92017 11.165 6.92017H6.91797V11.1663C6.91797 11.6395 6.53374 12.0235 6.06055 12.0237C5.58716 12.0237 5.20312 11.6396 5.20312 11.1663V6.92017H0.957031C0.483929 6.91994 0.0997601 6.53586 0.0996094 6.06274C0.0996094 5.5895 0.483837 5.20555 0.957031 5.20532H5.20312V0.958252C5.20316 0.484897 5.58718 0.10083 6.06055 0.10083Z\" fill=\"#7C4DFF\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_3001_2564\">\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n`\n"],"mappings":"AAEA,IAAM,EAAO,OAAO,IAEP,EAAqB,CAAI;;;;;;;;;;;;;EAcd,CAAI;;;;;;;;;;;EAY5B,IAAa,EAAe,CAAI;;;;;;;;;;;;EAaP,CAAI;;;;;;;;;;;EAYJ,CAAI;;;;;;;;;;;;;;;EAgBL,CAAI"}
1
+ {"version":3,"file":"icons.cjs.js","names":["html","personInCircleIcon","locationIcon"],"sources":["../../src/social/icons.ts"],"sourcesContent":["/* Simpliest solution for now since we are only using it for the symposium\nand then we will use icons from solid-assets */\nconst html = String.raw\n\nexport const personInCircleIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"64\" \n height=\"64\" \n viewBox=\"0 0 64 64\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M32.0007 58.6666C46.7282 58.6666 58.6673 46.7275 58.6673 31.9999C58.6673 17.2723 46.7282 5.33325 32.0007 5.33325C17.2731 5.33325 5.33398 17.2723 5.33398 31.9999C5.33398 46.7275 17.2731 58.6666 32.0007 58.6666Z\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M32 34.6667C36.4183 34.6667 40 31.085 40 26.6667C40 22.2485 36.4183 18.6667 32 18.6667C27.5817 18.6667 24 22.2485 24 26.6667C24 31.085 27.5817 34.6667 32 34.6667Z\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M18.666 55.0986V50.6666C18.666 49.2521 19.2279 47.8955 20.2281 46.8954C21.2283 45.8952 22.5849 45.3333 23.9993 45.3333H39.9993C41.4138 45.3333 42.7704 45.8952 43.7706 46.8954C44.7708 47.8955 45.3327 49.2521 45.3327 50.6666V55.0986\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const editIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"3 3 14 14\" \n fill=\"none\"\n aria-hidden=\"true\" \n focusable=\"false\"\n >\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.3063 3.34814C14.9271 3.34832 15.5236 3.59563 15.9625 4.03467C16.4012 4.47362 16.648 5.06935 16.6481 5.68994C16.648 6.31072 16.4004 6.90719 15.9615 7.34619L15.9606 7.34521L7.95373 15.355L7.95275 15.356C7.73845 15.5696 7.47464 15.7278 7.18517 15.8159H7.1842L4.57287 16.6079H4.57092C4.40678 16.6572 4.23224 16.6614 4.06603 16.6196C3.89974 16.5778 3.74793 16.4918 3.62658 16.3706C3.50526 16.2494 3.41865 16.0974 3.37658 15.9312C3.33472 15.7651 3.3383 15.5903 3.38732 15.4263L3.3883 15.4243L4.18127 12.813V12.811C4.27013 12.5215 4.42882 12.2574 4.64318 12.0435L12.651 4.03467V4.03369C13.09 3.59513 13.6857 3.34816 14.3063 3.34814ZM5.56213 12.9634C5.49841 13.0269 5.4509 13.1059 5.42443 13.1919L5.42345 13.1909L4.82189 15.1733L6.80627 14.5718C6.89221 14.5456 6.97114 14.4985 7.03478 14.4351L13.274 8.19482L11.8014 6.72217L5.56213 12.9634ZM14.3063 4.64893C14.0303 4.64894 13.7652 4.75864 13.5699 4.95361L12.7213 5.80225L14.194 7.2749L15.0426 6.42627L15.1119 6.3501C15.2635 6.16488 15.3473 5.93141 15.3473 5.68994C15.3472 5.41394 15.2377 5.14881 15.0426 4.95361C14.8474 4.75846 14.5823 4.64906 14.3063 4.64893Z\" fill=\"#1E2939\"/>\n </svg>\n`\nexport const locationIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"16\" \n height=\"16\" \n viewBox=\"0 0 16 16\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M13.3327 6.66659C13.3327 9.99525 9.64002 13.4619 8.40002 14.5326C8.2845 14.6194 8.14388 14.6664 7.99935 14.6664C7.85482 14.6664 7.7142 14.6194 7.59868 14.5326C6.35868 13.4619 2.66602 9.99525 2.66602 6.66659C2.66602 5.2521 3.22792 3.89554 4.22811 2.89535C5.22831 1.89516 6.58486 1.33325 7.99935 1.33325C9.41384 1.33325 10.7704 1.89516 11.7706 2.89535C12.7708 3.89554 13.3327 5.2521 13.3327 6.66659Z\" stroke=\"#4A5565\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M8 8.66675C9.10457 8.66675 10 7.77132 10 6.66675C10 5.56218 9.10457 4.66675 8 4.66675C6.89543 4.66675 6 5.56218 6 6.66675C6 7.77132 6.89543 8.66675 8 8.66675Z\" stroke=\"#4A5565\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const closeIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"12\" \n height=\"12\" \n viewBox=\"0 0 12 12\" \n fill=\"none\"\n aria-hidden=\"true\" \n focusable=\"false\"\n >\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.5301 0.244005C10.8555 -0.0813835 11.3834 -0.0812864 11.7088 0.244005C12.0338 0.569352 12.0338 1.09639 11.7088 1.42174L7.15416 5.97545L11.7088 10.5301C12.0341 10.8556 12.0342 11.3835 11.7088 11.7088C11.3835 12.0342 10.8556 12.0341 10.5301 11.7088L5.97545 7.15416L1.42174 11.7088C1.09639 12.0338 0.569351 12.0338 0.244004 11.7088C-0.0812866 11.3834 -0.0813828 10.8555 0.244004 10.5301L4.79772 5.97545L0.244004 1.42174C-0.0812866 1.09629 -0.0813828 0.569393 0.244004 0.244005C0.569393 -0.0813835 1.09629 -0.0812864 1.42174 0.244005L5.97545 4.79772L10.5301 0.244005Z\" fill=\"#4A5565\"/>\n </svg>\n`\nexport const trashIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"20\" \n height=\"20\" \n viewBox=\"0 0 20 20\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M8.33301 9.16675V14.1667\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M11.667 9.16675V14.1667\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.8337 5V16.6667C15.8337 17.1087 15.6581 17.5326 15.3455 17.8452C15.0329 18.1577 14.609 18.3333 14.167 18.3333H5.83366C5.39163 18.3333 4.96771 18.1577 4.65515 17.8452C4.34259 17.5326 4.16699 17.1087 4.16699 16.6667V5\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M2.5 5H17.5\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M6.66699 5.00008V3.33341C6.66699 2.89139 6.84259 2.46746 7.15515 2.1549C7.46771 1.84234 7.89163 1.66675 8.33366 1.66675H11.667C12.109 1.66675 12.5329 1.84234 12.8455 2.1549C13.1581 2.46746 13.3337 2.89139 13.3337 3.33341V5.00008\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const plusIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"12\" \n height=\"12\" \n viewBox=\"0 0 12 12\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <g clip-path=\"url(#clip0_3001_2564)\">\n <path d=\"M6.06055 0.10083C6.53372 0.101056 6.91793 0.485037 6.91797 0.958252V5.20532H11.165C11.6384 5.20532 12.0225 5.58936 12.0225 6.06274C12.0223 6.536 11.6383 6.92017 11.165 6.92017H6.91797V11.1663C6.91797 11.6395 6.53374 12.0235 6.06055 12.0237C5.58716 12.0237 5.20312 11.6396 5.20312 11.1663V6.92017H0.957031C0.483929 6.91994 0.0997601 6.53586 0.0996094 6.06274C0.0996094 5.5895 0.483837 5.20555 0.957031 5.20532H5.20312V0.958252C5.20316 0.484897 5.58718 0.10083 6.06055 0.10083Z\" fill=\"#7C4DFF\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_3001_2564\">\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n`\n"],"mappings":"AAEA,IAAMA,EAAO,OAAO,IAEPC,EAAqB,CAAI;;;;;;;;;;;;;EAcd,CAAI;;;;;;;;;;;EAY5B,IAAaC,EAAe,CAAI;;;;;;;;;;;;EAaP,CAAI;;;;;;;;;;;EAYJ,CAAI;;;;;;;;;;;;;;;EAgBL,CAAI"}
@@ -1 +1 @@
1
- {"version":3,"file":"icons.esm.js","names":[],"sources":["../../src/social/icons.ts"],"sourcesContent":["/* Simpliest solution for now since we are only using it for the symposium\nand then we will use icons from solid-assets */\nconst html = String.raw\n\nexport const personInCircleIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"64\" \n height=\"64\" \n viewBox=\"0 0 64 64\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M32.0007 58.6666C46.7282 58.6666 58.6673 46.7275 58.6673 31.9999C58.6673 17.2723 46.7282 5.33325 32.0007 5.33325C17.2731 5.33325 5.33398 17.2723 5.33398 31.9999C5.33398 46.7275 17.2731 58.6666 32.0007 58.6666Z\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M32 34.6667C36.4183 34.6667 40 31.085 40 26.6667C40 22.2485 36.4183 18.6667 32 18.6667C27.5817 18.6667 24 22.2485 24 26.6667C24 31.085 27.5817 34.6667 32 34.6667Z\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M18.666 55.0986V50.6666C18.666 49.2521 19.2279 47.8955 20.2281 46.8954C21.2283 45.8952 22.5849 45.3333 23.9993 45.3333H39.9993C41.4138 45.3333 42.7704 45.8952 43.7706 46.8954C44.7708 47.8955 45.3327 49.2521 45.3327 50.6666V55.0986\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const editIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"3 3 14 14\" \n fill=\"none\"\n aria-hidden=\"true\" \n focusable=\"false\"\n >\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.3063 3.34814C14.9271 3.34832 15.5236 3.59563 15.9625 4.03467C16.4012 4.47362 16.648 5.06935 16.6481 5.68994C16.648 6.31072 16.4004 6.90719 15.9615 7.34619L15.9606 7.34521L7.95373 15.355L7.95275 15.356C7.73845 15.5696 7.47464 15.7278 7.18517 15.8159H7.1842L4.57287 16.6079H4.57092C4.40678 16.6572 4.23224 16.6614 4.06603 16.6196C3.89974 16.5778 3.74793 16.4918 3.62658 16.3706C3.50526 16.2494 3.41865 16.0974 3.37658 15.9312C3.33472 15.7651 3.3383 15.5903 3.38732 15.4263L3.3883 15.4243L4.18127 12.813V12.811C4.27013 12.5215 4.42882 12.2574 4.64318 12.0435L12.651 4.03467V4.03369C13.09 3.59513 13.6857 3.34816 14.3063 3.34814ZM5.56213 12.9634C5.49841 13.0269 5.4509 13.1059 5.42443 13.1919L5.42345 13.1909L4.82189 15.1733L6.80627 14.5718C6.89221 14.5456 6.97114 14.4985 7.03478 14.4351L13.274 8.19482L11.8014 6.72217L5.56213 12.9634ZM14.3063 4.64893C14.0303 4.64894 13.7652 4.75864 13.5699 4.95361L12.7213 5.80225L14.194 7.2749L15.0426 6.42627L15.1119 6.3501C15.2635 6.16488 15.3473 5.93141 15.3473 5.68994C15.3472 5.41394 15.2377 5.14881 15.0426 4.95361C14.8474 4.75846 14.5823 4.64906 14.3063 4.64893Z\" fill=\"#1E2939\"/>\n </svg>\n`\nexport const locationIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"16\" \n height=\"16\" \n viewBox=\"0 0 16 16\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M13.3327 6.66659C13.3327 9.99525 9.64002 13.4619 8.40002 14.5326C8.2845 14.6194 8.14388 14.6664 7.99935 14.6664C7.85482 14.6664 7.7142 14.6194 7.59868 14.5326C6.35868 13.4619 2.66602 9.99525 2.66602 6.66659C2.66602 5.2521 3.22792 3.89554 4.22811 2.89535C5.22831 1.89516 6.58486 1.33325 7.99935 1.33325C9.41384 1.33325 10.7704 1.89516 11.7706 2.89535C12.7708 3.89554 13.3327 5.2521 13.3327 6.66659Z\" stroke=\"#4A5565\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M8 8.66675C9.10457 8.66675 10 7.77132 10 6.66675C10 5.56218 9.10457 4.66675 8 4.66675C6.89543 4.66675 6 5.56218 6 6.66675C6 7.77132 6.89543 8.66675 8 8.66675Z\" stroke=\"#4A5565\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const closeIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"12\" \n height=\"12\" \n viewBox=\"0 0 12 12\" \n fill=\"none\"\n aria-hidden=\"true\" \n focusable=\"false\"\n >\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.5301 0.244005C10.8555 -0.0813835 11.3834 -0.0812864 11.7088 0.244005C12.0338 0.569352 12.0338 1.09639 11.7088 1.42174L7.15416 5.97545L11.7088 10.5301C12.0341 10.8556 12.0342 11.3835 11.7088 11.7088C11.3835 12.0342 10.8556 12.0341 10.5301 11.7088L5.97545 7.15416L1.42174 11.7088C1.09639 12.0338 0.569351 12.0338 0.244004 11.7088C-0.0812866 11.3834 -0.0813828 10.8555 0.244004 10.5301L4.79772 5.97545L0.244004 1.42174C-0.0812866 1.09629 -0.0813828 0.569393 0.244004 0.244005C0.569393 -0.0813835 1.09629 -0.0812864 1.42174 0.244005L5.97545 4.79772L10.5301 0.244005Z\" fill=\"#4A5565\"/>\n </svg>\n`\nexport const trashIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"20\" \n height=\"20\" \n viewBox=\"0 0 20 20\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M8.33301 9.16675V14.1667\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M11.667 9.16675V14.1667\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.8337 5V16.6667C15.8337 17.1087 15.6581 17.5326 15.3455 17.8452C15.0329 18.1577 14.609 18.3333 14.167 18.3333H5.83366C5.39163 18.3333 4.96771 18.1577 4.65515 17.8452C4.34259 17.5326 4.16699 17.1087 4.16699 16.6667V5\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M2.5 5H17.5\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M6.66699 5.00008V3.33341C6.66699 2.89139 6.84259 2.46746 7.15515 2.1549C7.46771 1.84234 7.89163 1.66675 8.33366 1.66675H11.667C12.109 1.66675 12.5329 1.84234 12.8455 2.1549C13.1581 2.46746 13.3337 2.89139 13.3337 3.33341V5.00008\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const plusIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"12\" \n height=\"12\" \n viewBox=\"0 0 12 12\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <g clip-path=\"url(#clip0_3001_2564)\">\n <path d=\"M6.06055 0.10083C6.53372 0.101056 6.91793 0.485037 6.91797 0.958252V5.20532H11.165C11.6384 5.20532 12.0225 5.58936 12.0225 6.06274C12.0223 6.536 11.6383 6.92017 11.165 6.92017H6.91797V11.1663C6.91797 11.6395 6.53374 12.0235 6.06055 12.0237C5.58716 12.0237 5.20312 11.6396 5.20312 11.1663V6.92017H0.957031C0.483929 6.91994 0.0997601 6.53586 0.0996094 6.06274C0.0996094 5.5895 0.483837 5.20555 0.957031 5.20532H5.20312V0.958252C5.20316 0.484897 5.58718 0.10083 6.06055 0.10083Z\" fill=\"#7C4DFF\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_3001_2564\">\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n`\n"],"mappings":";AAEA,IAAM,IAAO,OAAO,KAEP,IAAqB,CAAI;;;;;;;;;;;;;;AAcd,CAAI;;;;;;;;;;;;AAY5B,IAAa,IAAe,CAAI;;;;;;;;;;;;;AAaP,CAAI;;;;;;;;;;;GAYJ,CAAI;;;;;;;;;;;;;;;GAgBL,CAAI"}
1
+ {"version":3,"file":"icons.esm.js","names":["html","personInCircleIcon","locationIcon"],"sources":["../../src/social/icons.ts"],"sourcesContent":["/* Simpliest solution for now since we are only using it for the symposium\nand then we will use icons from solid-assets */\nconst html = String.raw\n\nexport const personInCircleIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"64\" \n height=\"64\" \n viewBox=\"0 0 64 64\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M32.0007 58.6666C46.7282 58.6666 58.6673 46.7275 58.6673 31.9999C58.6673 17.2723 46.7282 5.33325 32.0007 5.33325C17.2731 5.33325 5.33398 17.2723 5.33398 31.9999C5.33398 46.7275 17.2731 58.6666 32.0007 58.6666Z\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M32 34.6667C36.4183 34.6667 40 31.085 40 26.6667C40 22.2485 36.4183 18.6667 32 18.6667C27.5817 18.6667 24 22.2485 24 26.6667C24 31.085 27.5817 34.6667 32 34.6667Z\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M18.666 55.0986V50.6666C18.666 49.2521 19.2279 47.8955 20.2281 46.8954C21.2283 45.8952 22.5849 45.3333 23.9993 45.3333H39.9993C41.4138 45.3333 42.7704 45.8952 43.7706 46.8954C44.7708 47.8955 45.3327 49.2521 45.3327 50.6666V55.0986\" stroke=\"#CBD5E1\" stroke-width=\"5.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const editIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"3 3 14 14\" \n fill=\"none\"\n aria-hidden=\"true\" \n focusable=\"false\"\n >\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.3063 3.34814C14.9271 3.34832 15.5236 3.59563 15.9625 4.03467C16.4012 4.47362 16.648 5.06935 16.6481 5.68994C16.648 6.31072 16.4004 6.90719 15.9615 7.34619L15.9606 7.34521L7.95373 15.355L7.95275 15.356C7.73845 15.5696 7.47464 15.7278 7.18517 15.8159H7.1842L4.57287 16.6079H4.57092C4.40678 16.6572 4.23224 16.6614 4.06603 16.6196C3.89974 16.5778 3.74793 16.4918 3.62658 16.3706C3.50526 16.2494 3.41865 16.0974 3.37658 15.9312C3.33472 15.7651 3.3383 15.5903 3.38732 15.4263L3.3883 15.4243L4.18127 12.813V12.811C4.27013 12.5215 4.42882 12.2574 4.64318 12.0435L12.651 4.03467V4.03369C13.09 3.59513 13.6857 3.34816 14.3063 3.34814ZM5.56213 12.9634C5.49841 13.0269 5.4509 13.1059 5.42443 13.1919L5.42345 13.1909L4.82189 15.1733L6.80627 14.5718C6.89221 14.5456 6.97114 14.4985 7.03478 14.4351L13.274 8.19482L11.8014 6.72217L5.56213 12.9634ZM14.3063 4.64893C14.0303 4.64894 13.7652 4.75864 13.5699 4.95361L12.7213 5.80225L14.194 7.2749L15.0426 6.42627L15.1119 6.3501C15.2635 6.16488 15.3473 5.93141 15.3473 5.68994C15.3472 5.41394 15.2377 5.14881 15.0426 4.95361C14.8474 4.75846 14.5823 4.64906 14.3063 4.64893Z\" fill=\"#1E2939\"/>\n </svg>\n`\nexport const locationIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"16\" \n height=\"16\" \n viewBox=\"0 0 16 16\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M13.3327 6.66659C13.3327 9.99525 9.64002 13.4619 8.40002 14.5326C8.2845 14.6194 8.14388 14.6664 7.99935 14.6664C7.85482 14.6664 7.7142 14.6194 7.59868 14.5326C6.35868 13.4619 2.66602 9.99525 2.66602 6.66659C2.66602 5.2521 3.22792 3.89554 4.22811 2.89535C5.22831 1.89516 6.58486 1.33325 7.99935 1.33325C9.41384 1.33325 10.7704 1.89516 11.7706 2.89535C12.7708 3.89554 13.3327 5.2521 13.3327 6.66659Z\" stroke=\"#4A5565\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M8 8.66675C9.10457 8.66675 10 7.77132 10 6.66675C10 5.56218 9.10457 4.66675 8 4.66675C6.89543 4.66675 6 5.56218 6 6.66675C6 7.77132 6.89543 8.66675 8 8.66675Z\" stroke=\"#4A5565\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const closeIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"12\" \n height=\"12\" \n viewBox=\"0 0 12 12\" \n fill=\"none\"\n aria-hidden=\"true\" \n focusable=\"false\"\n >\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.5301 0.244005C10.8555 -0.0813835 11.3834 -0.0812864 11.7088 0.244005C12.0338 0.569352 12.0338 1.09639 11.7088 1.42174L7.15416 5.97545L11.7088 10.5301C12.0341 10.8556 12.0342 11.3835 11.7088 11.7088C11.3835 12.0342 10.8556 12.0341 10.5301 11.7088L5.97545 7.15416L1.42174 11.7088C1.09639 12.0338 0.569351 12.0338 0.244004 11.7088C-0.0812866 11.3834 -0.0813828 10.8555 0.244004 10.5301L4.79772 5.97545L0.244004 1.42174C-0.0812866 1.09629 -0.0813828 0.569393 0.244004 0.244005C0.569393 -0.0813835 1.09629 -0.0812864 1.42174 0.244005L5.97545 4.79772L10.5301 0.244005Z\" fill=\"#4A5565\"/>\n </svg>\n`\nexport const trashIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"20\" \n height=\"20\" \n viewBox=\"0 0 20 20\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path d=\"M8.33301 9.16675V14.1667\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M11.667 9.16675V14.1667\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M15.8337 5V16.6667C15.8337 17.1087 15.6581 17.5326 15.3455 17.8452C15.0329 18.1577 14.609 18.3333 14.167 18.3333H5.83366C5.39163 18.3333 4.96771 18.1577 4.65515 17.8452C4.34259 17.5326 4.16699 17.1087 4.16699 16.6667V5\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M2.5 5H17.5\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M6.66699 5.00008V3.33341C6.66699 2.89139 6.84259 2.46746 7.15515 2.1549C7.46771 1.84234 7.89163 1.66675 8.33366 1.66675H11.667C12.109 1.66675 12.5329 1.84234 12.8455 2.1549C13.1581 2.46746 13.3337 2.89139 13.3337 3.33341V5.00008\" stroke=\"#D1D5DC\" stroke-width=\"1.45833\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\nexport const plusIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" \n width=\"12\" \n height=\"12\" \n viewBox=\"0 0 12 12\" \n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <g clip-path=\"url(#clip0_3001_2564)\">\n <path d=\"M6.06055 0.10083C6.53372 0.101056 6.91793 0.485037 6.91797 0.958252V5.20532H11.165C11.6384 5.20532 12.0225 5.58936 12.0225 6.06274C12.0223 6.536 11.6383 6.92017 11.165 6.92017H6.91797V11.1663C6.91797 11.6395 6.53374 12.0235 6.06055 12.0237C5.58716 12.0237 5.20312 11.6396 5.20312 11.1663V6.92017H0.957031C0.483929 6.91994 0.0997601 6.53586 0.0996094 6.06274C0.0996094 5.5895 0.483837 5.20555 0.957031 5.20532H5.20312V0.958252C5.20316 0.484897 5.58718 0.10083 6.06055 0.10083Z\" fill=\"#7C4DFF\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_3001_2564\">\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n`\n"],"mappings":";AAEA,IAAMA,IAAO,OAAO,KAEPC,IAAqB,CAAI;;;;;;;;;;;;;;AAcd,CAAI;;;;;;;;;;;;AAY5B,IAAaC,IAAe,CAAI;;;;;;;;;;;;;AAaP,CAAI;;;;;;;;;;;GAYJ,CAAI;;;;;;;;;;;;;;;GAgBL,CAAI"}
@@ -1,6 +1,6 @@
1
- (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.social-pane-host,.social-pane{--profile-interactive-cursor:pointer;background:var(--color-background,#f8f9fb);border-radius:var(--border-radius-base,.3125rem);box-sizing:border-box;width:100%;min-width:100%;max-width:none;margin-top:20px;display:block;overflow:visible}.social-pane__header-content{align-items:flex-start;column-gap:var(--spacing-md,1.25rem);row-gap:var(--spacing-xxs,.3125rem);grid-template-columns:auto minmax(0,1fr) auto;width:100%;min-width:0;display:grid}.social-pane__header-media{grid-area:1/1}.social-pane__header-details{flex-direction:column;grid-area:1/2;align-items:flex-start;min-width:0;display:flex}.social-pane__header-actions{place-self:flex-start end;align-items:flex-start;gap:var(--spacing-xs,.5rem);flex-wrap:wrap;grid-area:1/3;margin-left:auto;display:flex}.social-pane__header-actions--friend{justify-content:center}.social-pane__header-actions--friend>solid-ui-button{--button-border-radius:var(--border-radius-md,.5rem);--button-hover-text:var(--color-primary,#7c4dff);--button-hover-border:var(--color-primary,#7c4dff);margin-inline:auto}.social-pane__header-summary{align-items:flex-start;gap:var(--spacing-xxs,.125rem);flex-direction:column;width:100%;max-width:100%;display:flex}.social-pane__header-stats{gap:var(--spacing-xs,.75rem);margin-top:var(--spacing-xxs,.3125rem);flex-wrap:wrap;justify-content:flex-start;align-self:flex-start;display:flex}.social-pane__header-stat{appearance:none;cursor:var(--profile-interactive-cursor,pointer);color:var(--slate-700,#314158);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-bold,600);line-height:var(--line-height-tight,1.4);background:0 0;border:0;padding:0;text-decoration:none}.social-pane__header-stat+.social-pane__header-stat:before{content:"◆";color:var(--gray-400,#99a1af);margin-right:var(--spacing-xs,.75rem);vertical-align:middle;font-size:.5rem}.social-pane__header-stat:hover .social-pane__header-stat-label{text-decoration:underline}.social-pane__header-stat:focus-visible{outline:var(--border-width-medium,2px) solid #111827;outline-offset:2px}.social-pane__edit-button{--button-height-sm:0;--button-padding-sm:var(--spacing-xxs,.3125rem);--button-background:transparent;--button-border:transparent;--button-border-width:0;--button-hover-background:transparent;--button-hover-border:transparent;--button-text:var(--color-primary,#7c4dff);--button-hover-text:var(--color-primary,#7c4dff);--button-font-size-sm:var(--font-size-sm,.875rem);--button-font-weight:var(--font-weight-regular,400);--button-line-height:var(--line-height-base,1.5);--button-icon-size-sm:.875rem;width:auto;min-width:0;max-width:none;display:inline-block;position:static}.social-pane__edit-button::part(button):hover{text-decoration:underline}.social-pane__edit-button::part(button):focus-visible{outline:var(--border-width-medium,2px) solid var(--color-primary,#7c4dff);outline-offset:2px}.social-pane__edit-button-label{align-items:center;gap:var(--spacing-xxs,.3125rem);display:inline-flex}.social-pane__edit-button .profile-section-collapsible__edit-icon,.social-pane__edit-button-icon{line-height:0;display:none}.social-pane__edit-button-label svg,.social-pane__edit-button-icon svg,.social-pane__edit-button .profile-section-collapsible__edit-icon svg{vertical-align:middle;flex:none;width:.875rem;height:.875rem;display:inline-block}.social-pane__edit-button-label svg path,.social-pane__edit-button-icon svg path,.social-pane__edit-button .profile-section-collapsible__edit-icon svg path{fill:var(--color-primary,#7c4dff);stroke:none}.social-pane__dialog-backdrop{z-index:1000;background:#0f172a73;padding:1rem;position:fixed;inset:0}.social-pane__dialog{background:var(--white,#fff);width:min(32rem,100%);max-height:calc(100vh - 2rem);color:var(--color-text,#111827);padding:var(--spacing-md,1.25rem);border-radius:1rem;position:relative;overflow:auto;box-shadow:0 20px 45px #0f172a40}.social-pane__dialog-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md,1rem);padding-bottom:var(--spacing-base,.5rem);margin-bottom:var(--spacing-sm,.938rem);border-bottom:var(--border-width-sm,.1rem) solid var(--slate-200,#e2e8f0);display:flex}.social-pane__dialog-title{margin:0 0 var(--spacing-base,.5rem)}.social-pane__dialog-close{--button-background:transparent;--button-border:transparent;--button-border-width:0;--button-hover-background:transparent;--button-hover-border:transparent;color:var(--color-text-subheading,#6b7280);cursor:pointer;flex:none;padding:0;line-height:0}.social-pane__dialog-close:hover{color:var(--color-text-primary,#364153)}.social-pane__dialog-close:focus-visible{outline:var(--border-width-medium,2px) solid var(--color-text-primary,#364153);outline-offset:2px}.social-pane__dialog-close svg{width:var(--icon-xxxs,.75rem);height:var(--icon-xxxs,.75rem)}.social-pane__dialog-close svg path{fill:currentColor}.social-pane__dialog-form{gap:var(--spacing-sm,.938rem)}.social-pane__dialog-fields{gap:var(--spacing-sm,.938rem);flex-direction:column;display:flex}.social-pane__dialog-field{gap:.2rem}.social-pane__dialog-field-header{justify-content:space-between;align-items:center;gap:var(--spacing-xs,.75rem);display:flex}.social-pane__dialog-row-list{flex-direction:column;gap:.2rem;display:flex}.social-pane__dialog-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem;display:grid}.social-pane__dialog-label{color:var(--gray-700,#364153);font-size:var(--font-size-md,1rem);font-weight:var(--font-weight-md,500);margin:0;line-height:normal}.social-pane__dialog-input{box-sizing:border-box;resize:none;width:100%;min-height:auto}.social-pane__dialog-error{min-height:1.25rem;color:var(--color-warning,red);margin:0}.social-pane__dialog-saving-overlay{z-index:10;background:#ffffffc7;place-items:center;display:grid;position:absolute;inset:0}.social-pane__dialog-saving-overlay[hidden]{display:none}.social-pane__dialog.modal--saving .social-pane__dialog-form{opacity:.45;pointer-events:none}.social-pane__dialog .modal__saving-indicator{gap:0}.social-pane__dialog-row-button-icon{flex:none;justify-content:center;align-items:center;line-height:0;display:inline-flex}.social-pane__dialog-row-button-icon svg{display:block}.social-pane__dialog-field-header solid-ui-button.social-pane__dialog-row-button--add{box-sizing:border-box;--button-min-height:auto;--button-padding-sm:var(--spacing-xxs,.3125rem);--button-background:transparent;--button-border:transparent;--button-border-width:0;--button-hover-background:transparent;--button-hover-border:transparent;--button-text:var(--color-primary,#7c4dff);--button-hover-text:var(--color-primary,#7c4dff);--button-height-sm:auto;--button-font-weight:var(--font-weight-md,500);--button-font-size-sm:var(--font-size-sm,.875rem);--button-line-height:var(--line-height-base,1.5);flex:none;justify-self:flex-start;width:auto;min-width:0;max-width:none;margin-left:auto}.social-pane__dialog-field-header solid-ui-button.social-pane__dialog-row-button--add::part(button){min-height:auto;padding:var(--spacing-xxs,.3125rem);color:var(--color-primary,#7c4dff);font-weight:var(--font-weight-md,500);background:0 0;border:none}.social-pane__dialog-field-header solid-ui-button.social-pane__dialog-row-button--add:hover::part(button){text-decoration:underline}.social-pane__add-more-content{display:inline}.social-pane__add-more-inline{white-space:normal;display:inline}.social-pane__add-more-icon{width:var(--icon-xxxs,.75rem);height:var(--icon-xxxs,.75rem);margin-right:var(--spacing-xxs,.3125rem);vertical-align:text-top;line-height:0;display:inline-block}.social-pane__add-more-icon svg{width:100%;height:100%;display:block}.social-pane__dialog-row-list solid-ui-button.social-pane__dialog-row-button--remove{min-height:var(--min-touch-target,44px);min-width:var(--min-touch-target,44px);color:var(--gray-300,#d1d5dc);--button-background:transparent;--button-box-shadow:none;--button-active-box-shadow:none;--button-active-transform:none;--button-border:transparent;--button-border-width:0;--button-border-radius:var(--border-radius-base,.3125rem);--button-hover-background:var(--lavender-300,#e6dcff);--button-hover-border:transparent;--button-hover-text:var(--color-primary,#7c4dff);--button-hover-box-shadow:none;--button-text:currentColor;--button-height-md:var(--min-touch-target,44px);--button-padding-md:0;--button-padding-x-sm:0;--button-icon-size-md:var(--icon-xxs,1rem);--button-icon-size-lg:var(--icon-xxs,1rem)}.social-pane__dialog-row-list solid-ui-button.social-pane__dialog-row-button--remove:hover,.social-pane__dialog-row-list solid-ui-button.social-pane__dialog-row-button--remove:focus-within{color:var(--gray-300,#d1d5dc)}.social-pane__dialog-row-button-icon--remove svg{width:1rem;height:1rem}.social-pane__dialog-row-button-icon--remove svg path{stroke:currentColor}.social-pane__dialog-actions{justify-content:flex-end;gap:var(--spacing-xs,.75rem);padding-top:var(--spacing-base,.5rem);border-top:var(--border-width-sm,.1rem) solid var(--slate-200,#e2e8f0);margin-top:0;display:flex}.social-pane__dialog-actions>solid-ui-button{--button-border-width:1px;--button-border-radius:var(--border-radius-base,.3125rem);--button-box-shadow:none;--button-hover-box-shadow:none;--button-active-box-shadow:none;--button-active-transform:none;width:10.8rem}.social-pane__dialog-actions solid-ui-button.social-pane__dialog-button--save{--button-font-size-md:var(--font-size-lg,1.125rem);--button-background:var(--color-primary,#7c4dff);--button-border:var(--color-primary,#7c4dff);--button-text:var(--white,#fff);--button-hover-background:color-mix(in srgb, var(--color-primary,#7c4dff) 90%, black);--button-hover-border:color-mix(in srgb, var(--color-primary,#7c4dff) 90%, black);--button-hover-text:var(--white,#fff)}.social-pane__dialog-actions solid-ui-button.social-pane__dialog-button--cancel{--button-background:var(--white,#fff);--button-border:var(--gray-300,#d1d5dc);--button-font-weight:var(--font-weight-normal,normal);--button-text:var(--gray-800,#1e2939);--button-hover-background:var(--blue-900,#083575);--button-hover-border:var(--blue-900,#083575);--button-hover-text:var(--white,#fff);--button-font-size-md:var(--font-size-sm,.875rem)}.social-pane__header-name{color:var(--color-text-heading,#000);font-size:var(--font-size-xxl,1.75rem);font-weight:var(--font-weight-bold,600);text-indent:0;text-align:left;overflow-wrap:anywhere;margin:0;padding:0;line-height:1.2;transform:translate(-4px)}.social-pane__header-location{align-items:center;gap:var(--spacing-2xs,.625rem);color:var(--color-text-secondary,#4a5565);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-normal,400);line-height:1.2;display:inline-flex}.social-pane__header-job-org{color:var(--color-text-subheading,#101828);white-space:normal;width:100%;font-size:var(--font-size-lg,1.125rem);font-weight:var(--font-weight-md,500);text-align:left;margin:0;line-height:1.25}.social-pane__header-location-icon{line-height:0}.social-pane__header-location-icon svg{width:var(--icon-xxs,1rem);height:var(--icon-xxs,1rem)}.social-profile-links{grid-template-columns:repeat(2,max-content);align-items:start;gap:.15rem 1rem;display:grid}.social-pane__header-hero{border-radius:var(--border-radius-full,.625rem);border:var(--border-width-sm,.1rem) solid var(--color-primary,#7c4dff);background:var(--gray-200,#e5e7eb) 50% / cover no-repeat;object-fit:cover;object-position:center;background-position:50%;width:140px;height:140px}.social-pane__header-hero-icon{border:var(--border-width-sm,.1rem) solid var(--color-primary,#7c4dff);background:var(--color-card-bg);flex-shrink:0;width:140px;height:140px;line-height:0;border-radius:var(--border-radius-full,.625rem)!important}.social-pane__header-hero-icon svg{width:100%;height:100%;display:block}.social-pane .social-layout{align-items:flex-start;gap:1rem;width:100%;display:flex}.social-pane .social-primary{flex:70%;grid-template-rows:auto minmax(0,auto);grid-template-columns:minmax(0,1fr);align-items:start;gap:0;min-width:0;display:grid}.social-pane .social-primary__tabs{align-items:center;gap:var(--spacing-base,.5rem);z-index:1;background:0 0;grid-area:1/1;width:fit-content;max-width:100%;margin-bottom:0;padding:0;display:flex;position:relative}.social-pane .social-primary__tab{appearance:none;border:0;border-bottom:var(--border-width-sm,.1rem) solid transparent;color:#374151;cursor:pointer;font:inherit;font-weight:var(--font-weight-bold,600);padding:var(--spacing-2xs,.625rem) 1rem;background:0 0;border-radius:0;transition:background-color .12s,color .12s,box-shadow .12s;box-shadow:none!important}.social-pane .social-primary__tab:hover{color:var(--grey-purple-900,#332746);background:var(--lavender-300,#e6dcff)!important;box-shadow:none!important}.social-pane .social-primary__tab[aria-selected=true],.social-pane .social-primary__tab--active{color:var(--grey-purple-900,#332746);border-bottom-color:var(--color-primary,#7c4dff);background:0 0;box-shadow:none!important}.social-pane .social-primary__tab:focus-visible{outline-offset:2px;outline:none;box-shadow:none!important}.social-pane .social-primary__panel{opacity:0;visibility:hidden;pointer-events:none;grid-area:2/1;transition:opacity .16s,transform .16s,visibility 0s linear .16s;display:none;transform:translateY(.35rem)}.social-pane .social-primary__panel--active{opacity:1;visibility:visible;pointer-events:auto;border:0;border-bottom:var(--border-width-sm,.1rem) solid transparent;transition:opacity .18s,transform .18s;display:block;transform:translateY(0)}.social-pane .social-pane__mutual-friends,.social-pane .social-pane__all-friends{padding-top:var(--spacing-xxxs,.2rem);margin-top:0}.social-pane .social-main{background-color:var(--color-card-bg,#fff);color:var(--color-text-primary,#364153);box-sizing:border-box;border-collapse:collapse;border:0;width:100%;padding:0;display:table}.social-pane .social-main--mutual{gap:var(--spacing-xs,.75rem);border-radius:var(--border-radius-lg,.75rem);margin-top:1em;margin-bottom:1em;padding:1rem}.social-pane .social-main--requests{gap:var(--spacing-md,1rem);border-radius:var(--border-radius-lg,.75rem);flex-direction:column;margin-top:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.social-requests__note{color:var(--color-text-subheading,#475467);font-size:var(--font-size-sm,.875rem);margin:0;line-height:1.5}.social-requests__group{gap:var(--spacing-sm,.938rem)}.social-requests__group-header{flex-direction:column;gap:.125rem;display:flex}.social-requests__group-title{color:var(--color-text-heading,#101828);font-size:var(--font-size-lg,1.125rem);margin:0;line-height:1.25}.social-requests__group-description,.social-requests__empty{color:var(--color-text-subheading,#667085);font-size:var(--font-size-sm,.875rem);margin:0;line-height:1.5}.social-requests__table{margin-top:0}.social-pane .social-mutual-summary{gap:var(--spacing-base,.5rem)}.social-pane .social-mutual-summary-line{color:var(--slate-700,#314158);font-size:var(--font-size-sm,.95rem);line-height:var(--line-height-base,1.5);justify-content:flex-start;padding:1rem}.social-pane .social-mutual-summary-line--action{gap:var(--spacing-xxs,.75rem);flex-wrap:wrap}.social-pane .social-mutual-confirm-prompt{align-items:center;gap:var(--spacing-xxxs,.2rem);font-weight:var(--font-weight-semibold,600);flex-wrap:wrap;display:inline-flex}.social-pane .social-pane__friend-action--inline{z-index:auto;align-self:flex-start;position:static;top:auto;right:auto}.social-pane .social-mutual-checkbox-form{margin:0;padding:0 1rem 1rem;display:block}.social-pane .social-mutual-checkbox-form label{align-items:center;gap:var(--spacing-2xs,.65rem);color:var(--slate-700,#374151);font-size:var(--font-size-sm,.875rem);flex-wrap:wrap;line-height:1.4;display:inline-flex}.social-pane .social-mutual-checkbox-form input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary,#7c4dff);margin:0}.social-pane .social-mutual-checkbox-form input[type=checkbox]:disabled{opacity:.65;cursor:not-allowed}.social-pane .social-friends-list{width:100%;margin-top:0}.social-pane .social-friends-grid{table-layout:fixed;border-collapse:separate;border-spacing:0;align-items:stretch;gap:var(--spacing-xs,.75rem);flex-wrap:wrap;width:100%;display:flex}.social-pane .social-friends-grid>tbody{align-items:stretch;gap:var(--spacing-xs,.75rem);flex-wrap:wrap;width:100%;display:flex}.social-pane .social-friends-grid>tr,.social-pane .social-friends-grid>tbody>tr{table-layout:fixed;box-sizing:border-box;width:calc(50% - .375rem);display:inline-table}.social-pane .social-friends-grid>tr,.social-pane .social-friends-grid>tbody>tr,.social-pane .social-friend-card{border:1px solid var(--gray-200,#e5e7eb);background:var(--white,#fff);border-radius:var(--border-radius-lg,.75rem);transition:box-shadow .14s,border-color .14s,transform .14s;overflow:visible;box-shadow:0 1px 3px #00000014}.social-pane .social-friends-grid>tr:hover,.social-pane .social-friends-grid>tbody>tr:hover,.social-pane .social-friend-card:hover{border-color:var(--gray-300,#d1d5dc);transform:translateY(-1px);box-shadow:0 6px 18px #0000001a}.social-pane .social-friends-grid>tr td,.social-pane .social-friends-grid>tbody>tr td,.social-pane .social-friend-card td{background:var(--color-background,#f8f9fb);box-sizing:border-box}.social-pane .social-friends-grid>tr>td:nth-child(2),.social-pane .social-friends-grid>tbody>tr>td:nth-child(2){width:auto;min-width:0;padding-left:1.4rem}.social-pane .social-friends-grid>tr>td:nth-child(3),.social-pane .social-friends-grid>tbody>tr>td:nth-child(3){vertical-align:top;width:2.5rem;min-width:2.5rem;padding-left:.25rem}.social-pane .social-friends-grid>tr>td:first-child,.social-pane .social-friends-grid>tbody>tr>td:first-child{padding-right:1.2rem}.social-pane .social-friends-grid td>div>div{overflow-wrap:anywhere;white-space:normal!important;width:100%!important;min-width:0!important;max-width:100%!important}.social-pane .social-friends-grid td>div>div button{white-space:normal!important}.social-pane .social-friends-grid>tr>td:nth-child(2)>div:first-child,.social-pane .social-friends-grid>tbody>tr>td:nth-child(2)>div:first-child{flex-wrap:wrap;align-items:flex-start;gap:.2rem .4rem;min-width:0;display:flex}.social-pane .social-friends-grid>tr>td:nth-child(2)>div:first-child>span:first-of-type,.social-pane .social-friends-grid>tbody>tr>td:nth-child(2)>div:first-child>span:first-of-type{vertical-align:text-top;max-width:100%;font-size:var(--font-size-lg,1.125rem);font-weight:var(--font-weight-bold,600);line-height:var(--line-height-tight);text-overflow:clip;white-space:normal;overflow-wrap:anywhere;margin-top:0;margin-bottom:0;display:inline-block;overflow:visible}.social-pane .social-friend-pronouns{margin-left:var(--spacing-xs,.25rem);color:var(--color-text-secondary,#4a5565);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-regular,400);text-align:left;line-height:1.2;display:inline}.social-pane .social-friend-job-org{white-space:normal;overflow-wrap:anywhere;width:100%;min-width:0;color:var(--color-text-subheading,#101828);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-medium,500);text-align:left;margin:0;line-height:1.25}.social-pane .social-friend-location{color:var(--color-text-secondary,#6b7280);font-size:var(--font-size-xs,.8125rem);overflow-wrap:anywhere;line-height:1.3}@media (width<=960px){.social-pane .social-friends-grid>tr,.social-pane .social-friends-grid>tbody>tr{width:100%}}.social-pane .social-friends-header{padding:0 var(--spacing-xs,.75rem) var(--spacing-base,.5rem);background-color:var(--gray-100,#f3f4f6);caption-side:top;justify-content:space-between;align-items:center;margin-top:0;display:flex}.social-pane .social-friends-header-title{font-size:var(--font-size-md,1rem);font-weight:var(--font-weight-bold,600);color:var(--color-text-primary,#364153)}.social-pane .social-friends-header-actions{justify-content:flex-end;align-items:center;display:inline-flex}.social-pane .social-friends-header-actions--standalone{align-items:center;gap:var(--spacing-xs,.75rem);justify-content:flex-start;padding:.7rem 1rem 0;display:flex}.social-pane .social-friends-header-dropzone{border-collapse:collapse}.social-pane .social-friends-header-dropzone-cell{padding:0}.social-pane .social-friends-header-hint{color:var(--color-text-secondary,#4a5565);font-size:var(--font-size-sm,.875rem);line-height:1.4}.social-pane .social-friends-header-actions button{justify-content:center;align-items:center;display:inline-flex;overflow:hidden;border-width:0!important;width:2rem!important;min-width:2rem!important;height:2rem!important;margin:0!important;padding:0!important}.social-pane .social-friends-header-actions button img{object-fit:contain;pointer-events:none;display:block;width:100%!important;height:100%!important}.social-pane a{color:var(--color-primary,#7c4dff);font-weight:700;text-decoration:none}.social-pane a:hover{color:var(--color-primary,#7c4dff);font-weight:700;text-decoration:underline}.social-pane a:active{color:var(--color-primary,#7c4dff);text-decoration:none}.social-pane__link-button{white-space:nowrap;width:fit-content;max-width:100%;padding:var(--spacing-xxxs,.2rem) var(--spacing-base,.5rem);text-align:left;background-color:#0000;border:none;margin-top:0;margin-bottom:0;display:inline-flex}.social-pane__link-button>a{white-space:normal;overflow-wrap:anywhere;max-width:100%;color:var(--color-primary,#7c4dff);background-color:#0000;display:inline-flex}.social-pane__link-button>a:link,.social-pane__link-button>a:visited,.social-pane__link-button>a:hover{color:var(--color-primary,#7c4dff)}.social-pane__link-button>a:hover{text-decoration:underline}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-content{align-items:start;column-gap:var(--spacing-md,1rem);grid-template-columns:4.375rem minmax(0,1fr) auto;row-gap:.25rem;padding:1rem 1rem 0;display:grid}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-media{display:contents}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-details{flex-direction:column;grid-area:1/2;align-items:flex-start;gap:.125rem;min-width:0;display:flex}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-actions{justify-content:flex-end;justify-self:end;gap:var(--spacing-2xs,.3125rem);grid-area:1/3;width:auto;margin-left:0}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-actions--friend{grid-area:3/1/auto/-1;justify-content:center;justify-self:stretch;width:100%;margin-top:.125rem;margin-left:0}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-summary{flex-direction:column;gap:0;width:100%;display:flex}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__header-name,.social-pane__header-job-org,.social-pane__header-location){text-align:left;justify-content:flex-start;width:100%}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-stats{justify-content:flex-start;align-self:flex-start;gap:var(--spacing-xs,.5rem);width:100%;margin-top:-.4375rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-profile-links{row-gap:var(--spacing-xxxs,.2rem);grid-area:2/1/auto/-1;grid-template-columns:1fr;justify-items:start;margin-top:-.375rem;padding-left:0}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane .social-primary__tabs,:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-primary__tabs{margin-top:-.5rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__link-button{justify-self:start;padding-left:0;padding-right:0}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__link-button>a{font-size:var(--font-size-sm,.875rem);text-align:left}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__dialog-field-header{grid-template-columns:minmax(0,1fr)}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__header-hero,.social-pane__header-hero-icon){aspect-ratio:1;grid-area:1/1;width:5rem;height:5rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-name{font-size:var(--font-size-xl,1.375rem);line-height:1.15}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-job-org{font-size:var(--font-size-md,1rem);line-height:1.25}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane .social-friend-pronouns{font-size:.6875rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__header-location,.social-pane__header-stat),:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane .social-friend-location{font-size:var(--font-size-xxs,.75rem)}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__edit-button-label,.social-pane__edit-button .profile-section-collapsible__edit-label){display:none!important}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__edit-button{--button-background:transparent;--button-border-width:0;--button-border:transparent;--button-text:var(--color-text,#1a1a1a);--button-hover-background:var(--lavender-300,#e6dcff);--button-hover-border:transparent;--button-hover-text:var(--color-text,#1a1a1a);--button-font-size-sm:clamp(.9rem, 2.1vw, 1rem);--button-font-weight:var(--font-weight-regular,400);--button-icon-size-sm:.875rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__edit-button-icon,.social-pane__edit-button .profile-section-collapsible__edit-icon){justify-content:center;align-items:center;width:.875rem;height:.875rem;line-height:0;display:inline-flex}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__edit-button-icon svg,.social-pane__edit-button .profile-section-collapsible__edit-icon svg){width:.875rem;height:.875rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__edit-button-icon svg path,.social-pane__edit-button .profile-section-collapsible__edit-icon svg path){fill:var(--color-text,#1a1a1a);stroke:none}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__dialog-actions{justify-content:center;align-items:center;gap:var(--spacing-sm,.938rem);padding:var(--spacing-md,1rem) 0 0;margin:var(--spacing-md,1rem) auto 0;box-sizing:border-box;flex-direction:row;width:100%}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__dialog-actions>solid-ui-button{flex:none;width:10.8rem;min-width:8.5rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__dialog-field-header solid-ui-button.social-pane__dialog-row-button--add::part(button){font-size:var(--font-size-sm,.875rem);line-height:var(--line-height-base,1.5)}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane .social-friends-header-actions--standalone{gap:var(--spacing-2xs,.625rem);flex-wrap:wrap;padding-top:.35rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane .social-layout,.social-pane .social-primary,.social-layout,.social-primary),:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane .social-friends-grid,:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-friends-grid{display:block}:is(.social-pane-host,.social-pane)[data-input-mode=touch]{--profile-interactive-cursor:auto}:is(.social-pane-host,.social-pane)[data-input-mode=pointer]{--profile-interactive-cursor:pointer}@media (width<=600px){.social-pane__header-content{align-items:start;column-gap:var(--spacing-md,1rem);grid-template-columns:4.375rem minmax(0,1fr) auto;row-gap:.25rem;padding:1rem 1rem 0;display:grid}.social-pane__header-media{display:contents}.social-pane__header-details{flex-direction:column;grid-area:1/2;align-items:flex-start;gap:.125rem;min-width:0;display:flex}.social-pane__header-actions{justify-content:flex-end;justify-self:end;gap:var(--spacing-2xs,.3125rem);grid-area:1/3;width:auto;margin-left:0}.social-pane__header-actions--friend{grid-area:3/1/auto/-1;justify-content:center;justify-self:stretch;width:100%;margin-top:.125rem;margin-left:0}.social-pane__header-summary{flex-direction:column;gap:0;width:100%;display:flex}.social-pane__header-name,.social-pane__header-job-org,.social-pane__header-location{text-align:left;justify-content:flex-start;width:100%}.social-pane__header-stats{justify-content:flex-start;align-self:flex-start;gap:var(--spacing-xs,.5rem);width:100%;margin-top:-.4375rem}.social-profile-links{row-gap:var(--spacing-xxxs,.2rem);grid-area:2/1/auto/-1;grid-template-columns:1fr;justify-items:start;margin-top:-.375rem;padding-left:0}.social-pane .social-primary__tabs{margin-top:-.5rem}.social-pane__link-button{justify-self:start;padding-left:0;padding-right:0}.social-pane__link-button>a{font-size:var(--font-size-sm,.875rem);text-align:left}.social-pane__dialog-field-header{grid-template-columns:minmax(0,1fr)}.social-pane__header-hero,.social-pane__header-hero-icon{aspect-ratio:1;grid-area:1/1;width:5rem;height:5rem}.social-pane__header-name{font-size:var(--font-size-xl,1.375rem);line-height:1.15}.social-pane__header-job-org{font-size:var(--font-size-md,1rem);line-height:1.25}.social-pane .social-friend-pronouns{font-size:.6875rem}.social-pane__header-location,.social-pane__header-stat,.social-pane .social-friend-location{font-size:var(--font-size-xxs,.75rem)}.social-pane__friend-action{--button-padding-sm:var(--spacing-xxxs,.2rem) var(--spacing-xxs-old,.3rem);--button-font-size-sm:var(--font-size-xs,.813rem);--button-border-radius-sm:var(--border-radius-base,.3125rem)}.social-pane__edit-button-label,.social-pane__edit-button .profile-section-collapsible__edit-label{display:none!important}.social-pane__edit-button{--button-background:transparent;--button-border-width:0;--button-border:transparent;--button-text:var(--color-text,#1a1a1a);--button-hover-background:var(--lavender-300,#e6dcff);--button-hover-border:transparent;--button-hover-text:var(--color-text,#1a1a1a);--button-font-size-sm:clamp(.9rem, 2.1vw, 1rem);--button-font-weight:var(--font-weight-regular,400);--button-icon-size-sm:.875rem}.social-pane__edit-button-icon,.social-pane__edit-button .profile-section-collapsible__edit-icon{justify-content:center;align-items:center;width:.875rem;height:.875rem;line-height:0;display:inline-flex}.social-pane__edit-button-icon svg,.social-pane__edit-button .profile-section-collapsible__edit-icon svg{width:.875rem;height:.875rem}.social-pane__edit-button-icon svg path,.social-pane__edit-button .profile-section-collapsible__edit-icon svg path{fill:var(--color-text,#1a1a1a);stroke:none}.social-pane__dialog-actions{justify-content:center;align-items:center;gap:var(--spacing-sm,.938rem);padding:var(--spacing-md,1rem) 0 0;margin:var(--spacing-md,1rem) auto 0;box-sizing:border-box;flex-direction:row;width:100%}.social-pane__dialog-actions>solid-ui-button{flex:none;width:10.8rem;min-width:8.5rem}.social-pane__dialog-field-header solid-ui-button.social-pane__dialog-row-button--add::part(button){font-size:var(--font-size-sm,.875rem);line-height:var(--line-height-base,1.5)}.social-pane .social-friends-header-actions--standalone{gap:var(--spacing-2xs,.625rem);flex-wrap:wrap;padding-top:.35rem}.social-pane .social-layout,.social-pane .social-primary,.social-pane .social-friends-grid{display:block}.social-pane .social-friends-grid>tr,.social-pane .social-friends-grid>tbody>tr{width:100%;margin-bottom:var(--spacing-xs,.75rem);display:table}.social-pane .social-friends-grid>tr:last-child,.social-pane .social-friends-grid>tbody>tr:last-child{margin-bottom:0}.social-pane .social-main{width:100%}}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();;const e=require("./icons.cjs.js"),t=require("./socialSections.cjs.js"),n=require("./triage.cjs.js");let r=require("solid-ui"),i=require("solid-logic");function a(e,t){let n=t.environment?.layout??`desktop`,r=t.environment?.theme??`light`,i=t.environment?.inputMode??`pointer`;e.classList.add(`social-pane-host`),e.dataset.layout=n,e.dataset.theme=r,e.dataset.inputMode=i}var o={icon:r.icons.originalIconBase+`foaf/foafTiny.gif`,name:`social`,label:function(e,t){let n=t.session.store.findTypeURIs(e);return n[r.ns.foaf(`Person`).uri]||n[r.ns.vcard(`Individual`).uri]?`Friends`:null},global:!1,render:function(o,s){let c=s.dom,l=function(e,t){let n=[];for(let r=0;r<e.length;r++)for(let i=0;i<t.length;i++)if(t[i].sameTerm(e[r])){n.push(t[i]);break}return n},m=function(e){let t=new Set,n=[];for(let r of e)!r?.value||t.has(r.value)||(t.add(r.value),n.push(r));return n},h=function(e,t){if(!t)return e;let n=c.createElement(`a`);return n.setAttribute(`href`,t),n.appendChild(e),n},ee=function(e){return c.createTextNode(e)},g=function(){},te=function(e,t,n,i={}){let a=c.createElement(`form`),o=c.createElement(`label`),s=c.createElement(`input`),l=c.createElement(`span`);return l.className=`question`,typeof e==`string`?l.textContent=e:l.appendChild(e),s.setAttribute(`type`,`checkbox`),i.disabled&&(s.disabled=!0,i.disabledTitle&&(s.title=i.disabledTitle,s.setAttribute(`aria-label`,i.disabledTitle))),o.appendChild(l),o.appendChild(s),a.appendChild(o),s.checked=n,s.addEventListener(`click`,function(e){if(this.checked)try{_.UserInput.sparqler.insert_statement(t,function(e,n,i){if(l.className=`question`,!n){r.log.alert(`Error occurs while inserting `+t+`
1
+ (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.social-pane-host,.social-pane{--profile-interactive-cursor:pointer;background:var(--color-background,#f8f9fb);border-radius:var(--border-radius-base,.3125rem);box-sizing:border-box;width:100%;min-width:100%;max-width:none;margin-top:20px;display:block;overflow:visible}.social-pane__header-content{align-items:flex-start;column-gap:var(--spacing-md,1.25rem);row-gap:var(--spacing-xxs,.3125rem);grid-template-columns:auto minmax(0,1fr) auto;width:100%;min-width:0;display:grid}.social-pane__header-media{grid-area:1/1}.social-pane__header-details{flex-direction:column;grid-area:1/2;align-items:flex-start;min-width:0;display:flex}.social-pane__header-actions{place-self:flex-start end;align-items:flex-start;gap:var(--spacing-xs,.5rem);flex-wrap:wrap;grid-area:1/3;margin-left:auto;display:flex}.social-pane__header-actions--friend{justify-content:center}.social-pane__header-actions--friend>solid-ui-button{--button-border-radius:var(--border-radius-md,.5rem);--button-hover-text:var(--color-primary,#7c4dff);--button-hover-border:var(--color-primary,#7c4dff);margin-inline:auto}.social-pane__header-summary{align-items:flex-start;gap:var(--spacing-xxs,.125rem);flex-direction:column;width:100%;max-width:100%;display:flex}.social-pane__header-stats{gap:var(--spacing-xs,.75rem);margin-top:var(--spacing-xxs,.3125rem);flex-wrap:wrap;justify-content:flex-start;align-self:flex-start;display:flex}.social-pane__header-stat{appearance:none;cursor:var(--profile-interactive-cursor,pointer);color:var(--slate-700,#314158);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-bold,600);line-height:var(--line-height-tight,1.4);background:0 0;border:0;padding:0;text-decoration:none}.social-pane__header-stat+.social-pane__header-stat:before{content:"◆";color:var(--gray-400,#99a1af);margin-right:var(--spacing-xs,.75rem);vertical-align:middle;font-size:.5rem}.social-pane__header-stat:hover .social-pane__header-stat-label{text-decoration:underline}.social-pane__header-stat:focus-visible{outline:var(--border-width-medium,2px) solid #111827;outline-offset:2px}.social-pane__edit-button{--button-height-sm:0;--button-padding-sm:var(--spacing-xxs,.3125rem);--button-background:transparent;--button-border:transparent;--button-border-width:0;--button-hover-background:transparent;--button-hover-border:transparent;--button-text:var(--color-primary,#7c4dff);--button-hover-text:var(--color-primary,#7c4dff);--button-font-size-sm:var(--font-size-sm,.875rem);--button-font-weight:var(--font-weight-regular,400);--button-line-height:var(--line-height-base,1.5);--button-icon-size-sm:.875rem;width:auto;min-width:0;max-width:none;display:inline-block;position:static}.social-pane__edit-button::part(button):hover{text-decoration:underline}.social-pane__edit-button::part(button):focus-visible{outline:var(--border-width-medium,2px) solid var(--color-primary,#7c4dff);outline-offset:2px}.social-pane__edit-button-label{align-items:center;gap:var(--spacing-xxs,.3125rem);display:inline-flex}.social-pane__edit-button .profile-section-collapsible__edit-icon,.social-pane__edit-button-icon{line-height:0;display:none}.social-pane__edit-button-label svg,.social-pane__edit-button-icon svg,.social-pane__edit-button .profile-section-collapsible__edit-icon svg{vertical-align:middle;flex:none;width:.875rem;height:.875rem;display:inline-block}.social-pane__edit-button-label svg path,.social-pane__edit-button-icon svg path,.social-pane__edit-button .profile-section-collapsible__edit-icon svg path{fill:var(--color-primary,#7c4dff);stroke:none}.social-pane__dialog-backdrop{z-index:1000;background:#0f172a73;padding:1rem;position:fixed;inset:0}.social-pane__dialog{background:var(--white,#fff);width:min(32rem,100%);max-height:calc(100vh - 2rem);color:var(--color-text,#111827);padding:var(--spacing-md,1.25rem);border-radius:1rem;position:relative;overflow:auto;box-shadow:0 20px 45px #0f172a40}.social-pane__dialog-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md,1rem);padding-bottom:var(--spacing-base,.5rem);margin-bottom:var(--spacing-sm,.938rem);border-bottom:var(--border-width-sm,.1rem) solid var(--slate-200,#e2e8f0);display:flex}.social-pane__dialog-title{margin:0 0 var(--spacing-base,.5rem)}.social-pane__dialog-close{--button-background:transparent;--button-border:transparent;--button-border-width:0;--button-hover-background:transparent;--button-hover-border:transparent;color:var(--color-text-subheading,#6b7280);cursor:pointer;flex:none;padding:0;line-height:0}.social-pane__dialog-close:hover{color:var(--color-text-primary,#364153)}.social-pane__dialog-close:focus-visible{outline:var(--border-width-medium,2px) solid var(--color-text-primary,#364153);outline-offset:2px}.social-pane__dialog-close svg{width:var(--icon-xxxs,.75rem);height:var(--icon-xxxs,.75rem)}.social-pane__dialog-close svg path{fill:currentColor}.social-pane__dialog-form{gap:var(--spacing-sm,.938rem)}.social-pane__dialog-fields{gap:var(--spacing-sm,.938rem);flex-direction:column;display:flex}.social-pane__dialog-field{gap:.2rem}.social-pane__dialog-field-header{justify-content:space-between;align-items:center;gap:var(--spacing-xs,.75rem);display:flex}.social-pane__dialog-row-list{flex-direction:column;gap:.2rem;display:flex}.social-pane__dialog-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem;display:grid}.social-pane__dialog-label{color:var(--gray-700,#364153);font-size:var(--font-size-md,1rem);font-weight:var(--font-weight-md,500);margin:0;line-height:normal}.social-pane__dialog-input{box-sizing:border-box;resize:none;width:100%;min-height:auto}.social-pane__dialog-error{min-height:1.25rem;color:var(--color-warning,red);margin:0}.social-pane__dialog-saving-overlay{z-index:10;background:#ffffffc7;place-items:center;display:grid;position:absolute;inset:0}.social-pane__dialog-saving-overlay[hidden]{display:none}.social-pane__dialog.modal--saving .social-pane__dialog-form{opacity:.45;pointer-events:none}.social-pane__dialog .modal__saving-indicator{gap:0}.social-pane__dialog-row-button-icon{flex:none;justify-content:center;align-items:center;line-height:0;display:inline-flex}.social-pane__dialog-row-button-icon svg{display:block}.social-pane__dialog-field-header solid-ui-button.social-pane__dialog-row-button--add{box-sizing:border-box;--button-min-height:auto;--button-padding-sm:var(--spacing-xxs,.3125rem);--button-background:transparent;--button-border:transparent;--button-border-width:0;--button-hover-background:transparent;--button-hover-border:transparent;--button-text:var(--color-primary,#7c4dff);--button-hover-text:var(--color-primary,#7c4dff);--button-height-sm:auto;--button-font-weight:var(--font-weight-md,500);--button-font-size-sm:var(--font-size-sm,.875rem);--button-line-height:var(--line-height-base,1.5);flex:none;justify-self:flex-start;width:auto;min-width:0;max-width:none;margin-left:auto}.social-pane__dialog-field-header solid-ui-button.social-pane__dialog-row-button--add::part(button){min-height:auto;padding:var(--spacing-xxs,.3125rem);color:var(--color-primary,#7c4dff);font-weight:var(--font-weight-md,500);background:0 0;border:none}.social-pane__dialog-field-header solid-ui-button.social-pane__dialog-row-button--add:hover::part(button){text-decoration:underline}.social-pane__add-more-content{display:inline}.social-pane__add-more-inline{white-space:normal;display:inline}.social-pane__add-more-icon{width:var(--icon-xxxs,.75rem);height:var(--icon-xxxs,.75rem);margin-right:var(--spacing-xxs,.3125rem);vertical-align:text-top;line-height:0;display:inline-block}.social-pane__add-more-icon svg{width:100%;height:100%;display:block}.social-pane__dialog-row-list solid-ui-button.social-pane__dialog-row-button--remove{min-height:var(--min-touch-target,44px);min-width:var(--min-touch-target,44px);color:var(--gray-300,#d1d5dc);--button-background:transparent;--button-box-shadow:none;--button-active-box-shadow:none;--button-active-transform:none;--button-border:transparent;--button-border-width:0;--button-border-radius:var(--border-radius-base,.3125rem);--button-hover-background:var(--lavender-300,#e6dcff);--button-hover-border:transparent;--button-hover-text:var(--color-primary,#7c4dff);--button-hover-box-shadow:none;--button-text:currentColor;--button-height-md:var(--min-touch-target,44px);--button-padding-md:0;--button-padding-x-sm:0;--button-icon-size-md:var(--icon-xxs,1rem);--button-icon-size-lg:var(--icon-xxs,1rem)}.social-pane__dialog-row-list solid-ui-button.social-pane__dialog-row-button--remove:hover,.social-pane__dialog-row-list solid-ui-button.social-pane__dialog-row-button--remove:focus-within{color:var(--gray-300,#d1d5dc)}.social-pane__dialog-row-button-icon--remove svg{width:1rem;height:1rem}.social-pane__dialog-row-button-icon--remove svg path{stroke:currentColor}.social-pane__dialog-actions{justify-content:flex-end;gap:var(--spacing-xs,.75rem);padding-top:var(--spacing-base,.5rem);border-top:var(--border-width-sm,.1rem) solid var(--slate-200,#e2e8f0);margin-top:0;display:flex}.social-pane__dialog-actions>solid-ui-button{--button-border-width:1px;--button-border-radius:var(--border-radius-base,.3125rem);--button-box-shadow:none;--button-hover-box-shadow:none;--button-active-box-shadow:none;--button-active-transform:none;width:10.8rem}.social-pane__dialog-actions solid-ui-button.social-pane__dialog-button--save{--button-font-size-md:var(--font-size-lg,1.125rem);--button-background:var(--color-primary,#7c4dff);--button-border:var(--color-primary,#7c4dff);--button-text:var(--white,#fff);--button-hover-background:color-mix(in srgb, var(--color-primary,#7c4dff) 90%, black);--button-hover-border:color-mix(in srgb, var(--color-primary,#7c4dff) 90%, black);--button-hover-text:var(--white,#fff)}.social-pane__dialog-actions solid-ui-button.social-pane__dialog-button--cancel{--button-background:var(--white,#fff);--button-border:var(--gray-300,#d1d5dc);--button-font-weight:var(--font-weight-normal,normal);--button-text:var(--gray-800,#1e2939);--button-hover-background:var(--blue-900,#083575);--button-hover-border:var(--blue-900,#083575);--button-hover-text:var(--white,#fff);--button-font-size-md:var(--font-size-sm,.875rem)}.social-pane__header-name{color:var(--color-text-heading,#000);font-size:var(--font-size-xxl,1.75rem);font-weight:var(--font-weight-bold,600);text-indent:0;text-align:left;overflow-wrap:anywhere;margin:0;padding:0;line-height:1.2;transform:translate(-4px)}.social-pane__header-location{align-items:center;gap:var(--spacing-2xs,.625rem);color:var(--color-text-secondary,#4a5565);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-normal,400);line-height:1.2;display:inline-flex}.social-pane__header-job-org{color:var(--color-text-subheading,#101828);white-space:normal;width:100%;font-size:var(--font-size-lg,1.125rem);font-weight:var(--font-weight-md,500);text-align:left;margin:0;line-height:1.25}.social-pane__header-location-icon{line-height:0}.social-pane__header-location-icon svg{width:var(--icon-xxs,1rem);height:var(--icon-xxs,1rem)}.social-profile-links{grid-template-columns:repeat(2,max-content);align-items:start;gap:.15rem 1rem;display:grid}.social-pane__header-hero{border-radius:var(--border-radius-full,.625rem);border:var(--border-width-sm,.1rem) solid var(--color-primary,#7c4dff);background:var(--gray-200,#e5e7eb) 50% / cover no-repeat;object-fit:cover;object-position:center;background-position:50%;width:140px;height:140px}.social-pane__header-hero-icon{border:var(--border-width-sm,.1rem) solid var(--color-primary,#7c4dff);background:var(--color-card-bg);flex-shrink:0;width:140px;height:140px;line-height:0;border-radius:var(--border-radius-full,.625rem)!important}.social-pane__header-hero-icon svg{width:100%;height:100%;display:block}.social-pane .social-layout{align-items:flex-start;gap:1rem;width:100%;display:flex}.social-pane .social-primary{flex:70%;grid-template-rows:auto minmax(0,auto);grid-template-columns:minmax(0,1fr);align-items:start;gap:0;min-width:0;display:grid}.social-pane .social-primary__tabs{align-items:center;gap:var(--spacing-base,.5rem);z-index:1;background:0 0;grid-area:1/1;width:fit-content;max-width:100%;margin-bottom:0;padding:0;display:flex;position:relative}.social-pane .social-primary__tab{appearance:none;border:0;border-bottom:var(--border-width-sm,.1rem) solid transparent;color:#374151;cursor:pointer;font:inherit;font-weight:var(--font-weight-bold,600);padding:var(--spacing-2xs,.625rem) 1rem;background:0 0;border-radius:0;transition:background-color .12s,color .12s,box-shadow .12s;box-shadow:none!important}.social-pane .social-primary__tab:hover{color:var(--grey-purple-900,#332746);background:var(--lavender-300,#e6dcff)!important;box-shadow:none!important}.social-pane .social-primary__tab[aria-selected=true],.social-pane .social-primary__tab--active{color:var(--grey-purple-900,#332746);border-bottom-color:var(--color-primary,#7c4dff);background:0 0;box-shadow:none!important}.social-pane .social-primary__tab:focus-visible{outline-offset:2px;outline:none;box-shadow:none!important}.social-pane .social-primary__panel{opacity:0;visibility:hidden;pointer-events:none;grid-area:2/1;transition:opacity .16s,transform .16s,visibility 0s linear .16s;display:none;transform:translateY(.35rem)}.social-pane .social-primary__panel--active{opacity:1;visibility:visible;pointer-events:auto;border:0;border-bottom:var(--border-width-sm,.1rem) solid transparent;transition:opacity .18s,transform .18s;display:block;transform:translateY(0)}.social-pane .social-pane__mutual-friends,.social-pane .social-pane__all-friends{padding-top:var(--spacing-xxxs,.2rem);margin-top:0}.social-pane .social-main{background-color:var(--color-card-bg,#fff);color:var(--color-text-primary,#364153);box-sizing:border-box;border-collapse:collapse;border:0;width:100%;padding:0;display:table}.social-pane .social-main--mutual{gap:var(--spacing-xs,.75rem);border-radius:var(--border-radius-lg,.75rem);margin-top:1em;margin-bottom:1em;padding:1rem}.social-pane .social-main--requests{gap:var(--spacing-md,1rem);border-radius:var(--border-radius-lg,.75rem);flex-direction:column;margin-top:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.social-requests__note{color:var(--color-text-subheading,#475467);font-size:var(--font-size-sm,.875rem);margin:0;line-height:1.5}.social-requests__group{gap:var(--spacing-sm,.938rem)}.social-requests__group-header{flex-direction:column;gap:.125rem;display:flex}.social-requests__group-title{color:var(--color-text-heading,#101828);font-size:var(--font-size-lg,1.125rem);margin:0;line-height:1.25}.social-requests__group-description,.social-requests__empty{color:var(--color-text-subheading,#667085);font-size:var(--font-size-sm,.875rem);margin:0;line-height:1.5}.social-requests__table{margin-top:0}.social-pane .social-mutual-summary{gap:var(--spacing-base,.5rem)}.social-pane .social-mutual-summary-line{color:var(--slate-700,#314158);font-size:var(--font-size-sm,.95rem);line-height:var(--line-height-base,1.5);justify-content:flex-start;padding:1rem}.social-pane .social-mutual-summary-line--action{gap:var(--spacing-xxs,.75rem);flex-wrap:wrap}.social-pane .social-mutual-confirm-prompt{align-items:center;gap:var(--spacing-xxxs,.2rem);font-weight:var(--font-weight-semibold,600);flex-wrap:wrap;display:inline-flex}.social-pane .social-pane__friend-action--inline{z-index:auto;align-self:flex-start;position:static;top:auto;right:auto}.social-pane .social-mutual-checkbox-form{margin:0;padding:0 1rem 1rem;display:block}.social-pane .social-mutual-checkbox-form label{align-items:center;gap:var(--spacing-2xs,.65rem);color:var(--slate-700,#374151);font-size:var(--font-size-sm,.875rem);flex-wrap:wrap;line-height:1.4;display:inline-flex}.social-pane .social-mutual-checkbox-form input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary,#7c4dff);margin:0}.social-pane .social-mutual-checkbox-form input[type=checkbox]:disabled{opacity:.65;cursor:not-allowed}.social-pane .social-friends-list{width:100%;margin-top:0}.social-pane .social-friends-grid{table-layout:fixed;border-collapse:separate;border-spacing:0;align-items:stretch;gap:var(--spacing-xs,.75rem);flex-wrap:wrap;width:100%;display:flex}.social-pane .social-friends-grid>tbody{align-items:stretch;gap:var(--spacing-xs,.75rem);flex-wrap:wrap;width:100%;display:flex}.social-pane .social-friends-grid>tr,.social-pane .social-friends-grid>tbody>tr{table-layout:fixed;box-sizing:border-box;width:calc(50% - .375rem);display:inline-table}.social-pane .social-friends-grid>tr,.social-pane .social-friends-grid>tbody>tr,.social-pane .social-friend-card{border:1px solid var(--gray-200,#e5e7eb);background:var(--white,#fff);border-radius:var(--border-radius-lg,.75rem);transition:box-shadow .14s,border-color .14s,transform .14s;overflow:visible;box-shadow:0 1px 3px #00000014}.social-pane .social-friends-grid>tr:hover,.social-pane .social-friends-grid>tbody>tr:hover,.social-pane .social-friend-card:hover{border-color:var(--gray-300,#d1d5dc);transform:translateY(-1px);box-shadow:0 6px 18px #0000001a}.social-pane .social-friends-grid>tr td,.social-pane .social-friends-grid>tbody>tr td,.social-pane .social-friend-card td{background:var(--color-background,#f8f9fb);box-sizing:border-box}.social-pane .social-friends-grid>tr>td:nth-child(2),.social-pane .social-friends-grid>tbody>tr>td:nth-child(2){width:auto;min-width:0;padding-left:1.4rem}.social-pane .social-friends-grid>tr>td:nth-child(3),.social-pane .social-friends-grid>tbody>tr>td:nth-child(3){vertical-align:top;width:2.5rem;min-width:2.5rem;padding-left:.25rem}.social-pane .social-friends-grid>tr>td:first-child,.social-pane .social-friends-grid>tbody>tr>td:first-child{padding-right:1.2rem}.social-pane .social-friends-grid td>div>div{overflow-wrap:anywhere;white-space:normal!important;width:100%!important;min-width:0!important;max-width:100%!important}.social-pane .social-friends-grid td>div>div button{white-space:normal!important}.social-pane .social-friends-grid>tr>td:nth-child(2)>div:first-child,.social-pane .social-friends-grid>tbody>tr>td:nth-child(2)>div:first-child{flex-wrap:wrap;align-items:flex-start;gap:.2rem .4rem;min-width:0;display:flex}.social-pane .social-friends-grid>tr>td:nth-child(2)>div:first-child>span:first-of-type,.social-pane .social-friends-grid>tbody>tr>td:nth-child(2)>div:first-child>span:first-of-type{vertical-align:text-top;max-width:100%;font-size:var(--font-size-lg,1.125rem);font-weight:var(--font-weight-bold,600);line-height:var(--line-height-tight);text-overflow:clip;white-space:normal;overflow-wrap:anywhere;margin-top:0;margin-bottom:0;display:inline-block;overflow:visible}.social-pane .social-friend-pronouns{margin-left:var(--spacing-xs,.25rem);color:var(--color-text-secondary,#4a5565);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-regular,400);text-align:left;line-height:1.2;display:inline}.social-pane .social-friend-job-org{white-space:normal;overflow-wrap:anywhere;width:100%;min-width:0;color:var(--color-text-subheading,#101828);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-medium,500);text-align:left;margin:0;line-height:1.25}.social-pane .social-friend-location{color:var(--color-text-secondary,#6b7280);font-size:var(--font-size-xs,.8125rem);overflow-wrap:anywhere;line-height:1.3}@media (width<=960px){.social-pane .social-friends-grid>tr,.social-pane .social-friends-grid>tbody>tr{width:100%}}.social-pane .social-friends-header{padding:0 var(--spacing-xs,.75rem) var(--spacing-base,.5rem);background-color:var(--gray-100,#f3f4f6);caption-side:top;justify-content:space-between;align-items:center;margin-top:0;display:flex}.social-pane .social-friends-header-title{font-size:var(--font-size-md,1rem);font-weight:var(--font-weight-bold,600);color:var(--color-text-primary,#364153)}.social-pane .social-friends-header-actions{justify-content:flex-end;align-items:center;display:inline-flex}.social-pane .social-friends-header-actions--standalone{align-items:center;gap:var(--spacing-xs,.75rem);justify-content:flex-start;padding:.7rem 1rem 0;display:flex}.social-pane .social-friends-header-dropzone{border-collapse:collapse}.social-pane .social-friends-header-dropzone-cell{padding:0}.social-pane .social-friends-header-hint{color:var(--color-text-secondary,#4a5565);font-size:var(--font-size-sm,.875rem);line-height:1.4}.social-pane .social-friends-header-actions button{justify-content:center;align-items:center;display:inline-flex;overflow:hidden;border-width:0!important;width:2rem!important;min-width:2rem!important;height:2rem!important;margin:0!important;padding:0!important}.social-pane .social-friends-header-actions button img{object-fit:contain;pointer-events:none;display:block;width:100%!important;height:100%!important}.social-pane a{color:var(--color-primary,#7c4dff);font-weight:700;text-decoration:none}.social-pane a:hover{color:var(--color-primary,#7c4dff);font-weight:700;text-decoration:underline}.social-pane a:active{color:var(--color-primary,#7c4dff);text-decoration:none}.social-pane__link-button{white-space:nowrap;width:fit-content;max-width:100%;padding:var(--spacing-xxxs,.2rem) var(--spacing-base,.5rem);text-align:left;background-color:#0000;border:none;margin-top:0;margin-bottom:0;display:inline-flex}.social-pane__link-button>a{white-space:normal;overflow-wrap:anywhere;max-width:100%;color:var(--color-primary,#7c4dff);background-color:#0000;display:inline-flex}.social-pane__link-button>a:link,.social-pane__link-button>a:visited,.social-pane__link-button>a:hover{color:var(--color-primary,#7c4dff)}.social-pane__link-button>a:hover{text-decoration:underline}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-content{align-items:start;column-gap:var(--spacing-md,1rem);grid-template-columns:4.375rem minmax(0,1fr) auto;row-gap:.25rem;padding:1rem 1rem 0;display:grid}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-media{display:contents}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-details{flex-direction:column;grid-area:1/2;align-items:flex-start;gap:.125rem;min-width:0;display:flex}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-actions{justify-content:flex-end;justify-self:end;gap:var(--spacing-2xs,.3125rem);grid-area:1/3;width:auto;margin-left:0}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-actions--friend{grid-area:3/1/auto/-1;justify-content:center;justify-self:stretch;width:100%;margin-top:.125rem;margin-left:0}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-summary{flex-direction:column;gap:0;width:100%;display:flex}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__header-name,.social-pane__header-job-org,.social-pane__header-location){text-align:left;justify-content:flex-start;width:100%}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-stats{justify-content:flex-start;align-self:flex-start;gap:var(--spacing-xs,.5rem);width:100%;margin-top:-.4375rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-profile-links{row-gap:var(--spacing-xxxs,.2rem);grid-area:2/1/auto/-1;grid-template-columns:1fr;justify-items:start;margin-top:-.375rem;padding-left:0}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane .social-primary__tabs,:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-primary__tabs{margin-top:-.5rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__link-button{justify-self:start;padding-left:0;padding-right:0}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__link-button>a{font-size:var(--font-size-sm,.875rem);text-align:left}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__dialog-field-header{grid-template-columns:minmax(0,1fr)}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__header-hero,.social-pane__header-hero-icon){aspect-ratio:1;grid-area:1/1;width:5rem;height:5rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-name{font-size:var(--font-size-xl,1.375rem);line-height:1.15}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__header-job-org{font-size:var(--font-size-md,1rem);line-height:1.25}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane .social-friend-pronouns{font-size:.6875rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__header-location,.social-pane__header-stat),:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane .social-friend-location{font-size:var(--font-size-xxs,.75rem)}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__edit-button-label,.social-pane__edit-button .profile-section-collapsible__edit-label){display:none!important}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__edit-button{--button-background:transparent;--button-border-width:0;--button-border:transparent;--button-text:var(--color-text,#1a1a1a);--button-hover-background:var(--lavender-300,#e6dcff);--button-hover-border:transparent;--button-hover-text:var(--color-text,#1a1a1a);--button-font-size-sm:clamp(.9rem, 2.1vw, 1rem);--button-font-weight:var(--font-weight-regular,400);--button-icon-size-sm:.875rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__edit-button-icon,.social-pane__edit-button .profile-section-collapsible__edit-icon){justify-content:center;align-items:center;width:.875rem;height:.875rem;line-height:0;display:inline-flex}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__edit-button-icon svg,.social-pane__edit-button .profile-section-collapsible__edit-icon svg){width:.875rem;height:.875rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane__edit-button-icon svg path,.social-pane__edit-button .profile-section-collapsible__edit-icon svg path){fill:var(--color-text,#1a1a1a);stroke:none}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__dialog-actions{justify-content:center;align-items:center;gap:var(--spacing-sm,.938rem);padding:var(--spacing-md,1rem) 0 0;margin:var(--spacing-md,1rem) auto 0;box-sizing:border-box;flex-direction:row;width:100%}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__dialog-actions>solid-ui-button{flex:none;width:10.8rem;min-width:8.5rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane__dialog-field-header solid-ui-button.social-pane__dialog-row-button--add::part(button){font-size:var(--font-size-sm,.875rem);line-height:var(--line-height-base,1.5)}:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane .social-friends-header-actions--standalone{gap:var(--spacing-2xs,.625rem);flex-wrap:wrap;padding-top:.35rem}:is(.social-pane-host,.social-pane)[data-layout=mobile] :is(.social-pane .social-layout,.social-pane .social-primary,.social-layout,.social-primary),:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-pane .social-friends-grid,:is(.social-pane-host,.social-pane)[data-layout=mobile] .social-friends-grid{display:block}:is(.social-pane-host,.social-pane)[data-input-mode=touch]{--profile-interactive-cursor:auto}:is(.social-pane-host,.social-pane)[data-input-mode=pointer]{--profile-interactive-cursor:pointer}@media (width<=600px){.social-pane__header-content{align-items:start;column-gap:var(--spacing-md,1rem);grid-template-columns:4.375rem minmax(0,1fr) auto;row-gap:.25rem;padding:1rem 1rem 0;display:grid}.social-pane__header-media{display:contents}.social-pane__header-details{flex-direction:column;grid-area:1/2;align-items:flex-start;gap:.125rem;min-width:0;display:flex}.social-pane__header-actions{justify-content:flex-end;justify-self:end;gap:var(--spacing-2xs,.3125rem);grid-area:1/3;width:auto;margin-left:0}.social-pane__header-actions--friend{grid-area:3/1/auto/-1;justify-content:center;justify-self:stretch;width:100%;margin-top:.125rem;margin-left:0}.social-pane__header-summary{flex-direction:column;gap:0;width:100%;display:flex}.social-pane__header-name,.social-pane__header-job-org,.social-pane__header-location{text-align:left;justify-content:flex-start;width:100%}.social-pane__header-stats{justify-content:flex-start;align-self:flex-start;gap:var(--spacing-xs,.5rem);width:100%;margin-top:-.4375rem}.social-profile-links{row-gap:var(--spacing-xxxs,.2rem);grid-area:2/1/auto/-1;grid-template-columns:1fr;justify-items:start;margin-top:-.375rem;padding-left:0}.social-pane .social-primary__tabs{margin-top:-.5rem}.social-pane__link-button{justify-self:start;padding-left:0;padding-right:0}.social-pane__link-button>a{font-size:var(--font-size-sm,.875rem);text-align:left}.social-pane__dialog-field-header{grid-template-columns:minmax(0,1fr)}.social-pane__header-hero,.social-pane__header-hero-icon{aspect-ratio:1;grid-area:1/1;width:5rem;height:5rem}.social-pane__header-name{font-size:var(--font-size-xl,1.375rem);line-height:1.15}.social-pane__header-job-org{font-size:var(--font-size-md,1rem);line-height:1.25}.social-pane .social-friend-pronouns{font-size:.6875rem}.social-pane__header-location,.social-pane__header-stat,.social-pane .social-friend-location{font-size:var(--font-size-xxs,.75rem)}.social-pane__friend-action{--button-padding-sm:var(--spacing-xxxs,.2rem) var(--spacing-xxs-old,.3rem);--button-font-size-sm:var(--font-size-xs,.813rem);--button-border-radius-sm:var(--border-radius-base,.3125rem)}.social-pane__edit-button-label,.social-pane__edit-button .profile-section-collapsible__edit-label{display:none!important}.social-pane__edit-button{--button-background:transparent;--button-border-width:0;--button-border:transparent;--button-text:var(--color-text,#1a1a1a);--button-hover-background:var(--lavender-300,#e6dcff);--button-hover-border:transparent;--button-hover-text:var(--color-text,#1a1a1a);--button-font-size-sm:clamp(.9rem, 2.1vw, 1rem);--button-font-weight:var(--font-weight-regular,400);--button-icon-size-sm:.875rem}.social-pane__edit-button-icon,.social-pane__edit-button .profile-section-collapsible__edit-icon{justify-content:center;align-items:center;width:.875rem;height:.875rem;line-height:0;display:inline-flex}.social-pane__edit-button-icon svg,.social-pane__edit-button .profile-section-collapsible__edit-icon svg{width:.875rem;height:.875rem}.social-pane__edit-button-icon svg path,.social-pane__edit-button .profile-section-collapsible__edit-icon svg path{fill:var(--color-text,#1a1a1a);stroke:none}.social-pane__dialog-actions{justify-content:center;align-items:center;gap:var(--spacing-sm,.938rem);padding:var(--spacing-md,1rem) 0 0;margin:var(--spacing-md,1rem) auto 0;box-sizing:border-box;flex-direction:row;width:100%}.social-pane__dialog-actions>solid-ui-button{flex:none;width:10.8rem;min-width:8.5rem}.social-pane__dialog-field-header solid-ui-button.social-pane__dialog-row-button--add::part(button){font-size:var(--font-size-sm,.875rem);line-height:var(--line-height-base,1.5)}.social-pane .social-friends-header-actions--standalone{gap:var(--spacing-2xs,.625rem);flex-wrap:wrap;padding-top:.35rem}.social-pane .social-layout,.social-pane .social-primary,.social-pane .social-friends-grid{display:block}.social-pane .social-friends-grid>tr,.social-pane .social-friends-grid>tbody>tr{width:100%;margin-bottom:var(--spacing-xs,.75rem);display:table}.social-pane .social-friends-grid>tr:last-child,.social-pane .social-friends-grid>tbody>tr:last-child{margin-bottom:0}.social-pane .social-main{width:100%}}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();;const e=require("./icons.cjs.js"),t=require("./socialSections.cjs.js"),n=require("./triage.cjs.js");let r=require("solid-ui"),i=require("solid-logic");function a(e,t){let n=t.environment?.layout??`desktop`,r=t.environment?.theme??`light`,i=t.environment?.inputMode??`pointer`;e.classList.add(`social-pane-host`),e.dataset.layout=n,e.dataset.theme=r,e.dataset.inputMode=i}var o={icon:r.icons.originalIconBase+`foaf/foafTiny.gif`,name:`social`,label:function(e,t){let n=t.session.store.findTypeURIs(e);return n[r.ns.foaf(`Person`).uri]||n[r.ns.vcard(`Individual`).uri]?`Friends`:null},global:!1,render:function(o,s){let c=s.dom,l=function(e,t){let n=[];for(let r=0;r<e.length;r++)for(let i=0;i<t.length;i++)if(t[i].sameTerm(e[r])){n.push(t[i]);break}return n},m=function(e){let t=new Set,n=[];for(let r of e)r?.value&&!t.has(r.value)&&(t.add(r.value),n.push(r));return n},h=function(e,t){if(!t)return e;let n=c.createElement(`a`);return n.setAttribute(`href`,t),n.appendChild(e),n},ee=function(e){return c.createTextNode(e)},g=function(){},te=function(e,t,n,i={}){let a=c.createElement(`form`),o=c.createElement(`label`),s=c.createElement(`input`),l=c.createElement(`span`);return l.className=`question`,typeof e==`string`?l.textContent=e:l.appendChild(e),s.setAttribute(`type`,`checkbox`),i.disabled&&(s.disabled=!0,i.disabledTitle&&(s.title=i.disabledTitle,s.setAttribute(`aria-label`,i.disabledTitle))),o.appendChild(l),o.appendChild(s),a.appendChild(o),s.checked=n,s.addEventListener(`click`,function(e){if(this.checked)try{_.UserInput.sparqler.insert_statement(t,function(e,n,i){if(l.className=`question`,!n){r.log.alert(`Error occurs while inserting `+t+`
2
2
 
3
3
  `+i),s.checked=!1;return}v.add(t.subject,t.predicate,t.object,t.why),g()})}catch(e){r.log.error(`Data write fails:`+e),r.log.alert(`Data write fails:`+e),s.checked=!1,l.className=`question`}else try{_.UserInput.sparqler.delete_statement(t,function(e,n,i){l.className=`question`,n?(v.removeMany(t.subject,t.predicate,t.object,t.why),g()):(r.log.alert(`Error occurs while deleting `+t+`
4
4
 
5
- `+i),s.checked=!0)})}catch(e){r.log.alert(`Delete fails:`+e),s.checked=!0}},!1),a},_=s.getOutliner(c),v=s.session.store,y=c.createElement(`div`);y.classList.add(`social-pane`,`flex-column`,`gap-xxs`),a(y,s);let b=r.ns.foaf,ne=r.ns.vcard,x=i.authn.currentUser(),re=x?x.uri:null,S=x&&v.sameThings(x,o),C=b(`knows`),ie=v.anyValue(o,b(`givenname`))||v.anyValue(o,b(`firstName`))||v.anyValue(o,b(`nick`))||v.anyValue(o,b(`name`))||v.anyValue(o,ne(`fn`)),w=m(v.each(o,C)),ae=x?m(v.each(x,b(`knows`))):[],T=x&&!S?m(l(w,ae)).filter(e=>!v.sameThings(e,x)):[],oe=x&&!S?T.length:null,E=p(o,x),D=null,O=!1,k=!1,A=!1,se=y.appendChild(c.createElement(`div`));se.className=`social-layout`;let j=se.appendChild(c.createElement(`div`));j.className=`social-primary`;let M=j.appendChild(c.createElement(`div`));M.classList.add(`social-primary__tabs`,`flex-center`),M.setAttribute(`role`,`tablist`),M.setAttribute(`aria-label`,`Social sections`);let N=M.appendChild(c.createElement(`button`));N.className=`social-primary__tab`,N.type=`button`,N.id=`social-tab-all-friends`,N.textContent=`All Friends`,N.setAttribute(`role`,`tab`),N.setAttribute(`aria-controls`,`social-panel-all-friends`),N.setAttribute(`aria-selected`,`true`),N.tabIndex=0;let P=M.appendChild(c.createElement(`button`));if(P.className=`social-primary__tab`,P.type=`button`,P.id=`social-tab-mutual`,P.textContent=`Mutual`,P.setAttribute(`role`,`tab`),P.setAttribute(`aria-controls`,`social-panel-mutual`),P.setAttribute(`aria-selected`,`false`),P.tabIndex=-1,x){let e=v.each(void 0,b(`primaryTopic`),x),t=``;for(let n=0;n<e.length;n++)if(v.whether(e[n],r.ns.rdf(`type`),b(`PersonalProfileDocument`))){let i=e[n];if(O=_.UserInput.sparqler.editable(i.uri,v),!O)t+=`Your profile <`+r.utils.escapeForXML(i.uri)+`> is not remotely editable.`;else{D=i;break}}if(!S){let e=v.canon(x);k=v.whether(o,C,e),A=!1;let t=v.statementsMatching(e,C,o);t.length&&(A=!0,D||=t[0].why)}}let F=e=>e===`authenticated`&&!S&&!A,I=E===`owner`&&O,ce=E===`authenticated`&&!S&&O&&!!D,le=I,L={canEdit:I,viewerMode:E,showAddFriendAction:F(E)},R=t.createHeaderSection(s,o,L,{friendCount:w.length,mutualFriendCount:oe,onSelectFriends:function(){Q(`all-friends`)},onSelectMutual:typeof oe==`number`?function(){Q(`mutual`)}:void 0},function(){return f(s,o)});R.classList.add(`social-pane__header-section`,`flex-column`),y.prepend(R);let z=new Map;(function(e){let t=new Map;e.forEach(e=>{!e?.value||e.value===o.value||t.set(e.value,u(v,e))}),z.clear(),t.forEach((e,t)=>{z.set(t,e)})})(w);let B=function(t,n){let r=z.get(t.value)||u(v,t);z.set(t.value,r);let i=n.createElement(`div`),a=[r.jobTitle,r.organization].filter(Boolean).join(` | `);if(a){let e=i.appendChild(n.createElement(`div`));e.className=`social-friend-job-org`,e.textContent=a}if(r.location){let t=i.appendChild(n.createElement(`div`));t.className=`social-friend-location`,t.innerHTML=`${e.locationIcon} ${r.location}`}return i.childNodes.length?i:null},V=function(e,t){let n=z.get(e.value)||u(v,e);z.set(e.value,n);let r=n.pronouns;if(!r)return null;let i=t.createElement(`span`);return i.className=`social-friend-pronouns`,i.textContent=`(${r})`,i},H=x&&!S?t.createMutualSection({dom:c,subject:o,familiar:ie,me:x,meUri:re,incoming:k,outgoing:A,editable:ce,profile:D,knows:C,mutualConnections:T,link:h,text:ee,buildCheckboxForm:te,renderSupportingInfo:B,renderNameSuffix:V}):{section:c.createElement(`section`),content:c.createElement(`div`),refreshMutualFriends:function(){}},U=H.section,W=H.content;U.className||(U.className=`social-pane__mutual-friends social-primary__panel`,U.id=`social-panel-mutual`,U.setAttribute(`role`,`tabpanel`),U.setAttribute(`aria-labelledby`,`social-tab-mutual`),W.className=`social-main social-main--mutual`,U.appendChild(W)),j.appendChild(U);let ue=t.createAllFriendsSection({dom:c,subject:o,profile:le?D:null,editable:le,renderSupportingInfo:B,renderNameSuffix:V}),G=ue.section,de=ue.friendsList;j.appendChild(G);let K=n.triageFriends(v,o),q=t.createRequestsSection({dom:c,triage:K,renderSupportingInfo:B,renderNameSuffix:V}),J=q.section;j.appendChild(J);let Y=M.appendChild(c.createElement(`button`));Y.className=`social-primary__tab`,Y.type=`button`,Y.id=`social-tab-requests`,Y.textContent=`Requests`,Y.setAttribute(`role`,`tab`),Y.setAttribute(`aria-controls`,`social-panel-requests`),Y.setAttribute(`aria-selected`,`false`),Y.tabIndex=-1;let X=`all-friends`,Z=E===`owner`,Q=function(e){X=e;let t=e===`mutual`,n=e===`all-friends`,r=Z&&e===`requests`;P.classList.toggle(`social-primary__tab--active`,t),P.setAttribute(`aria-selected`,String(t)),P.tabIndex=t?0:-1,N.classList.toggle(`social-primary__tab--active`,n),N.setAttribute(`aria-selected`,String(n)),N.tabIndex=n?0:-1,Y.classList.toggle(`social-primary__tab--active`,r),Y.setAttribute(`aria-selected`,String(r)),Y.tabIndex=r?0:-1,U.classList.toggle(`social-primary__panel--active`,t),U.setAttribute(`aria-hidden`,String(!t)),G.classList.toggle(`social-primary__panel--active`,n),G.setAttribute(`aria-hidden`,String(!n)),J.classList.toggle(`social-primary__panel--active`,r),J.setAttribute(`aria-hidden`,String(!r)),J.hidden=!Z||!r},fe=function(){if(!x||S)return;let e=v.canon(x);k=v.whether(o,C,e),A=v.statementsMatching(e,C,o).length>0;let n=t.createMutualSection({dom:c,subject:o,familiar:ie,me:x,meUri:re,incoming:k,outgoing:A,editable:ce,profile:D,knows:C,mutualConnections:T,link:h,text:ee,buildCheckboxForm:te,renderSupportingInfo:B,renderNameSuffix:V});U.replaceWith(n.section),H=n,U=n.section,W=n.content};g=function(){fe(),L={...L,showAddFriendAction:F(L.viewerMode)},R.refreshSocialHeader?.(L),K=n.triageFriends(v,o),q.refreshRequests(K),Q(X)},Q(`all-friends`);let $=function(e){let t=e===`authenticated`&&!S;if(Z=e===`owner`,P.hidden=!t,Y.hidden=!Z,!Z&&X===`requests`){Q(`all-friends`);return}Q(`all-friends`)};P.addEventListener(`click`,function(){Q(`mutual`)}),N.addEventListener(`click`,function(){Q(`all-friends`)}),Y.addEventListener(`click`,function(){Q(`requests`)});let pe=function(){let e=de.refresh;typeof e==`function`&&e.call(de)},me=function(){H.refreshMutualFriends()};return(async()=>{try{for await(let e of d(s,o))z.clear(),e.forEach(e=>{z.set(e.url,e)}),pe(),me()}catch{}})(),(async()=>{try{K=await n.loadFriendshipTriage(s,o),q.refreshRequests(K),pe(),me()}catch{}})(),$(`anonymous`),i.authn.checkUser().then(e=>{let t=p(o,e);$(t);let n=t===`owner`&&O;L={...L,canEdit:n,viewerMode:t,showAddFriendAction:F(t)},R.refreshSocialHeader?.(L)}).catch(()=>{$(`anonymous`),L={...L,canEdit:!1,viewerMode:`anonymous`,showAddFriendAction:!1},R.refreshSocialHeader?.(L)}),y}},s=3;function c(e,t){let n=e.anyJS(t,r.ns.solid(`preferredSubjectPronoun`))||``;if(n){let i=e.anyJS(t,r.ns.solid(`preferredObjectPronoun`));i&&(n+=`/`+i)}return n||``}function l(e,t){return e&&t?`${t}, ${e}`:e||t||null}function u(e,t){let n=e.anyValue(t,r.ns.vcard(`fn`))||e.anyValue(t,r.ns.foaf(`name`))||null,i=e.anyValue(t,r.ns.vcard(`nickname`))||e.anyValue(t,r.ns.foaf(`nick`))||null,a=e.anyValue(t,r.ns.vcard(`bday`))||null,o=r.widgets.findImage(t),s=e.anyValue(t,r.ns.vcard(`role`))||null,u=e.anyValue(t,r.ns.vcard(`organization-name`))||null,d=e.any(t,r.ns.vcard(`hasAddress`))||null,f=l(d==null?null:e.anyValue(d,r.ns.vcard(`country-name`)),d==null?null:e.anyValue(d,r.ns.vcard(`locality`))),p=c(e,t);return{url:t.value,imageUrl:o,name:n,nickname:i,jobTitle:s,organization:u,birthdate:a,location:f,pronouns:p,subjectNode:t}}async function*d(e,t,n=s){let i=e.session.store,a=i?.fetcher;if(a&&typeof a.load==`function`)try{await a.load(t.doc())}catch{}let o=new Set,c=i.each(t,r.ns.foaf(`knows`),null,t.doc()),l=[];for(let e of c){let n=e?.value;!n||o.has(n)||t.value===n||(o.add(n),l.push(e))}let d=[];for(let e of l){if(a&&typeof a.load==`function`)try{await a.load(e.doc())}catch{}d.push(u(i,e)),d.length%n===0&&(yield[...d])}d.length>0&&d.length%n!==0&&(yield[...d])}function f(e,t){let n=e.session.store,i=n.anyValue(t,r.ns.vcard(`fn`))||n.anyValue(t,r.ns.foaf(`name`))||void 0,a=n.anyValue(t,r.ns.vcard(`nickname`))||n.anyValue(t,r.ns.foaf(`nick`))||void 0,o=n.anyValue(t,r.ns.vcard(`bday`))||void 0,s=r.widgets.findImage(t),u=n.anyValue(t,r.ns.vcard(`role`))||void 0,d=n.anyValue(t,r.ns.vcard(`organization-name`))||void 0,f=n.any(t,r.ns.vcard(`hasAddress`))||null,p=l(f==null?void 0:n.anyValue(f,r.ns.vcard(`country-name`)),f==null?void 0:n.anyValue(f,r.ns.vcard(`locality`))),m=c(n,t);return{url:t.value,imageUrl:s,name:i,nickname:a,jobTitle:u,organization:d,birthdate:o,location:p,pronouns:m}}function p(e,t=i.authn.currentUser()){let n=typeof t==`string`?t:typeof t==`object`&&t&&(t.value||t.uri)||null,r=`anonymous`;return n===e.value&&(r=`owner`),n&&n!==e.value&&(r=`authenticated`),r}exports.pronounsAsText=c,exports.selectProfileData=f,exports.socialPane=o,exports.streamFriends=d;
5
+ `+i),s.checked=!0)})}catch(e){r.log.alert(`Delete fails:`+e),s.checked=!0}},!1),a},_=s.getOutliner(c),v=s.session.store,y=c.createElement(`div`);y.classList.add(`social-pane`,`flex-column`,`gap-xxs`),a(y,s);let b=r.ns.foaf,ne=r.ns.vcard,x=i.authn.currentUser(),re=x?x.uri:null,S=x&&v.sameThings(x,o),C=b(`knows`),ie=v.anyValue(o,b(`givenname`))||v.anyValue(o,b(`firstName`))||v.anyValue(o,b(`nick`))||v.anyValue(o,b(`name`))||v.anyValue(o,ne(`fn`)),w=m(v.each(o,C)),ae=x?m(v.each(x,b(`knows`))):[],T=x&&!S?m(l(w,ae)).filter(e=>!v.sameThings(e,x)):[],oe=x&&!S?T.length:null,E=p(o,x),D=null,O=!1,k=!1,A=!1,se=y.appendChild(c.createElement(`div`));se.className=`social-layout`;let j=se.appendChild(c.createElement(`div`));j.className=`social-primary`;let M=j.appendChild(c.createElement(`div`));M.classList.add(`social-primary__tabs`,`flex-center`),M.setAttribute(`role`,`tablist`),M.setAttribute(`aria-label`,`Social sections`);let N=M.appendChild(c.createElement(`button`));N.className=`social-primary__tab`,N.type=`button`,N.id=`social-tab-all-friends`,N.textContent=`All Friends`,N.setAttribute(`role`,`tab`),N.setAttribute(`aria-controls`,`social-panel-all-friends`),N.setAttribute(`aria-selected`,`true`),N.tabIndex=0;let P=M.appendChild(c.createElement(`button`));if(P.className=`social-primary__tab`,P.type=`button`,P.id=`social-tab-mutual`,P.textContent=`Mutual`,P.setAttribute(`role`,`tab`),P.setAttribute(`aria-controls`,`social-panel-mutual`),P.setAttribute(`aria-selected`,`false`),P.tabIndex=-1,x){let e=v.each(void 0,b(`primaryTopic`),x),t=``;for(let n=0;n<e.length;n++)if(v.whether(e[n],r.ns.rdf(`type`),b(`PersonalProfileDocument`))){let i=e[n];if(O=_.UserInput.sparqler.editable(i.uri,v),!O)t+=`Your profile <`+r.utils.escapeForXML(i.uri)+`> is not remotely editable.`;else{D=i;break}}if(!S){let e=v.canon(x);k=v.whether(o,C,e),A=!1;let t=v.statementsMatching(e,C,o);t.length&&(A=!0,D||=t[0].why)}}let F=e=>e===`authenticated`&&!S&&!A,I=E===`owner`&&O,ce=E===`authenticated`&&!S&&O&&!!D,le=I,L={canEdit:I,viewerMode:E,showAddFriendAction:F(E)},R=t.createHeaderSection(s,o,L,{friendCount:w.length,mutualFriendCount:oe,onSelectFriends:function(){Q(`all-friends`)},onSelectMutual:typeof oe==`number`?function(){Q(`mutual`)}:void 0},function(){return f(s,o)});R.classList.add(`social-pane__header-section`,`flex-column`),y.prepend(R);let z=new Map;(function(e){let t=new Map;e.forEach(e=>{e?.value&&e.value!==o.value&&t.set(e.value,u(v,e))}),z.clear(),t.forEach((e,t)=>{z.set(t,e)})})(w);let B=function(t,n){let r=z.get(t.value)||u(v,t);z.set(t.value,r);let i=n.createElement(`div`),a=[r.jobTitle,r.organization].filter(Boolean).join(` | `);if(a){let e=i.appendChild(n.createElement(`div`));e.className=`social-friend-job-org`,e.textContent=a}if(r.location){let t=i.appendChild(n.createElement(`div`));t.className=`social-friend-location`,t.innerHTML=`${e.locationIcon} ${r.location}`}return i.childNodes.length?i:null},V=function(e,t){let n=z.get(e.value)||u(v,e);z.set(e.value,n);let r=n.pronouns;if(!r)return null;let i=t.createElement(`span`);return i.className=`social-friend-pronouns`,i.textContent=`(${r})`,i},H=x&&!S?t.createMutualSection({dom:c,subject:o,familiar:ie,me:x,meUri:re,incoming:k,outgoing:A,editable:ce,profile:D,knows:C,mutualConnections:T,link:h,text:ee,buildCheckboxForm:te,renderSupportingInfo:B,renderNameSuffix:V}):{section:c.createElement(`section`),content:c.createElement(`div`),refreshMutualFriends:function(){}},U=H.section,W=H.content;U.className||(U.className=`social-pane__mutual-friends social-primary__panel`,U.id=`social-panel-mutual`,U.setAttribute(`role`,`tabpanel`),U.setAttribute(`aria-labelledby`,`social-tab-mutual`),W.className=`social-main social-main--mutual`,U.appendChild(W)),j.appendChild(U);let ue=t.createAllFriendsSection({dom:c,subject:o,profile:le?D:null,editable:le,renderSupportingInfo:B,renderNameSuffix:V}),G=ue.section,de=ue.friendsList;j.appendChild(G);let K=n.triageFriends(v,o),q=t.createRequestsSection({dom:c,triage:K,renderSupportingInfo:B,renderNameSuffix:V}),J=q.section;j.appendChild(J);let Y=M.appendChild(c.createElement(`button`));Y.className=`social-primary__tab`,Y.type=`button`,Y.id=`social-tab-requests`,Y.textContent=`Requests`,Y.setAttribute(`role`,`tab`),Y.setAttribute(`aria-controls`,`social-panel-requests`),Y.setAttribute(`aria-selected`,`false`),Y.tabIndex=-1;let X=`all-friends`,Z=E===`owner`,Q=function(e){X=e;let t=e===`mutual`,n=e===`all-friends`,r=Z&&e===`requests`;P.classList.toggle(`social-primary__tab--active`,t),P.setAttribute(`aria-selected`,String(t)),P.tabIndex=t?0:-1,N.classList.toggle(`social-primary__tab--active`,n),N.setAttribute(`aria-selected`,String(n)),N.tabIndex=n?0:-1,Y.classList.toggle(`social-primary__tab--active`,r),Y.setAttribute(`aria-selected`,String(r)),Y.tabIndex=r?0:-1,U.classList.toggle(`social-primary__panel--active`,t),U.setAttribute(`aria-hidden`,String(!t)),G.classList.toggle(`social-primary__panel--active`,n),G.setAttribute(`aria-hidden`,String(!n)),J.classList.toggle(`social-primary__panel--active`,r),J.setAttribute(`aria-hidden`,String(!r)),J.hidden=!Z||!r},fe=function(){if(!x||S)return;let e=v.canon(x);k=v.whether(o,C,e),A=v.statementsMatching(e,C,o).length>0;let n=t.createMutualSection({dom:c,subject:o,familiar:ie,me:x,meUri:re,incoming:k,outgoing:A,editable:ce,profile:D,knows:C,mutualConnections:T,link:h,text:ee,buildCheckboxForm:te,renderSupportingInfo:B,renderNameSuffix:V});U.replaceWith(n.section),H=n,U=n.section,W=n.content};g=function(){fe(),L={...L,showAddFriendAction:F(L.viewerMode)},R.refreshSocialHeader?.(L),K=n.triageFriends(v,o),q.refreshRequests(K),Q(X)},Q(`all-friends`);let $=function(e){let t=e===`authenticated`&&!S;if(Z=e===`owner`,P.hidden=!t,Y.hidden=!Z,!Z&&X===`requests`){Q(`all-friends`);return}Q(`all-friends`)};P.addEventListener(`click`,function(){Q(`mutual`)}),N.addEventListener(`click`,function(){Q(`all-friends`)}),Y.addEventListener(`click`,function(){Q(`requests`)});let pe=function(){let e=de.refresh;typeof e==`function`&&e.call(de)},me=function(){H.refreshMutualFriends()};return(async()=>{try{for await(let e of d(s,o))z.clear(),e.forEach(e=>{z.set(e.url,e)}),pe(),me()}catch{}})(),(async()=>{try{K=await n.loadFriendshipTriage(s,o),q.refreshRequests(K),pe(),me()}catch{}})(),$(`anonymous`),i.authn.checkUser().then(e=>{let t=p(o,e);$(t);let n=t===`owner`&&O;L={...L,canEdit:n,viewerMode:t,showAddFriendAction:F(t)},R.refreshSocialHeader?.(L)}).catch(()=>{$(`anonymous`),L={...L,canEdit:!1,viewerMode:`anonymous`,showAddFriendAction:!1},R.refreshSocialHeader?.(L)}),y}},s=3;function c(e,t){let n=e.anyJS(t,r.ns.solid(`preferredSubjectPronoun`))||``;if(n){let i=e.anyJS(t,r.ns.solid(`preferredObjectPronoun`));i&&(n+=`/`+i)}return n||``}function l(e,t){return e&&t?`${t}, ${e}`:e||t||null}function u(e,t){let n=e.anyValue(t,r.ns.vcard(`fn`))||e.anyValue(t,r.ns.foaf(`name`))||null,i=e.anyValue(t,r.ns.vcard(`nickname`))||e.anyValue(t,r.ns.foaf(`nick`))||null,a=e.anyValue(t,r.ns.vcard(`bday`))||null,o=r.widgets.findImage(t),s=e.anyValue(t,r.ns.vcard(`role`))||null,u=e.anyValue(t,r.ns.vcard(`organization-name`))||null,d=e.any(t,r.ns.vcard(`hasAddress`))||null,f=l(d==null?null:e.anyValue(d,r.ns.vcard(`country-name`)),d==null?null:e.anyValue(d,r.ns.vcard(`locality`))),p=c(e,t);return{url:t.value,imageUrl:o,name:n,nickname:i,jobTitle:s,organization:u,birthdate:a,location:f,pronouns:p,subjectNode:t}}async function*d(e,t,n=s){let i=e.session.store,a=i?.fetcher;if(a&&typeof a.load==`function`)try{await a.load(t.doc())}catch{}let o=new Set,c=i.each(t,r.ns.foaf(`knows`),null,t.doc()),l=[];for(let e of c){let n=e?.value;n&&!o.has(n)&&t.value!==n&&(o.add(n),l.push(e))}let d=[];for(let e of l){if(a&&typeof a.load==`function`)try{await a.load(e.doc())}catch{}d.push(u(i,e)),d.length%n===0&&(yield[...d])}d.length>0&&d.length%n!==0&&(yield[...d])}function f(e,t){let n=e.session.store,i=n.anyValue(t,r.ns.vcard(`fn`))||n.anyValue(t,r.ns.foaf(`name`))||void 0,a=n.anyValue(t,r.ns.vcard(`nickname`))||n.anyValue(t,r.ns.foaf(`nick`))||void 0,o=n.anyValue(t,r.ns.vcard(`bday`))||void 0,s=r.widgets.findImage(t),u=n.anyValue(t,r.ns.vcard(`role`))||void 0,d=n.anyValue(t,r.ns.vcard(`organization-name`))||void 0,f=n.any(t,r.ns.vcard(`hasAddress`))||null,p=l(f==null?void 0:n.anyValue(f,r.ns.vcard(`country-name`)),f==null?void 0:n.anyValue(f,r.ns.vcard(`locality`))),m=c(n,t);return{url:t.value,imageUrl:s,name:i,nickname:a,jobTitle:u,organization:d,birthdate:o,location:p,pronouns:m}}function p(e,t=i.authn.currentUser()){let n=typeof t==`string`?t:typeof t==`object`&&t&&(t.value||t.uri)||null,r=`anonymous`;return n===e.value&&(r=`owner`),n&&n!==e.value&&(r=`authenticated`),r}exports.pronounsAsText=c,exports.selectProfileData=f,exports.socialPane=o,exports.streamFriends=d;
6
6
  //# sourceMappingURL=socialPane2.cjs.js.map