@inkandswitch/patchwork-pkg-base 0.0.17 → 0.0.18

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 (383) hide show
  1. package/init.js +0 -1
  2. package/modules.json +1 -11
  3. package/package.json +1 -1
  4. package/packages/account-picker/dist/AccountPicker-7VBUJTTB.js +0 -8860
  5. package/packages/account-picker/dist/AccountPicker-7VBUJTTB.js.map +0 -7
  6. package/packages/account-picker/dist/AccountPicker-CN73XGEW.css +0 -371
  7. package/packages/account-picker/dist/AccountPicker-CN73XGEW.css.map +0 -7
  8. package/packages/account-picker/dist/chunk-5WRI5ZAA.js +0 -31
  9. package/packages/account-picker/dist/chunk-5WRI5ZAA.js.map +0 -7
  10. package/packages/account-picker/dist/tool.css +0 -371
  11. package/packages/account-picker/dist/tool.css.map +0 -7
  12. package/packages/account-picker/dist/tool.js +0 -19
  13. package/packages/account-picker/dist/tool.js.map +0 -7
  14. package/packages/account-picker/package.json +0 -39
  15. package/packages/codemirror-base/dist/chunk-KMEIRH3R.js +0 -490
  16. package/packages/codemirror-base/dist/chunk-KMEIRH3R.js.map +0 -7
  17. package/packages/codemirror-base/dist/lib/codemirror.js +0 -7
  18. package/packages/codemirror-base/dist/lib/codemirror.js.map +0 -7
  19. package/packages/codemirror-base/dist/main.js +0 -17
  20. package/packages/codemirror-base/dist/main.js.map +0 -7
  21. package/packages/codemirror-base/dist/tool.js +0 -1799
  22. package/packages/codemirror-base/dist/tool.js.map +0 -7
  23. package/packages/codemirror-base/package.json +0 -55
  24. package/packages/codemirror-markdown/dist/apl-QAIM2KBM.js +0 -142
  25. package/packages/codemirror-markdown/dist/apl-QAIM2KBM.js.map +0 -7
  26. package/packages/codemirror-markdown/dist/asciiarmor-G7UKQURA.js +0 -58
  27. package/packages/codemirror-markdown/dist/asciiarmor-G7UKQURA.js.map +0 -7
  28. package/packages/codemirror-markdown/dist/asn1-JTUXKWKT.js +0 -144
  29. package/packages/codemirror-markdown/dist/asn1-JTUXKWKT.js.map +0 -7
  30. package/packages/codemirror-markdown/dist/asterisk-NM6JCXOL.js +0 -351
  31. package/packages/codemirror-markdown/dist/asterisk-NM6JCXOL.js.map +0 -7
  32. package/packages/codemirror-markdown/dist/brainfuck-X7FFM55E.js +0 -55
  33. package/packages/codemirror-markdown/dist/brainfuck-X7FFM55E.js.map +0 -7
  34. package/packages/codemirror-markdown/dist/chunk-46Z6CXSY.js +0 -1062
  35. package/packages/codemirror-markdown/dist/chunk-46Z6CXSY.js.map +0 -7
  36. package/packages/codemirror-markdown/dist/chunk-6JT2ASRP.js +0 -1111
  37. package/packages/codemirror-markdown/dist/chunk-6JT2ASRP.js.map +0 -7
  38. package/packages/codemirror-markdown/dist/chunk-CSJO4DNL.js +0 -1424
  39. package/packages/codemirror-markdown/dist/chunk-CSJO4DNL.js.map +0 -7
  40. package/packages/codemirror-markdown/dist/chunk-FLC3A4DL.js +0 -133
  41. package/packages/codemirror-markdown/dist/chunk-FLC3A4DL.js.map +0 -7
  42. package/packages/codemirror-markdown/dist/chunk-M3X2FRO3.js +0 -998
  43. package/packages/codemirror-markdown/dist/chunk-M3X2FRO3.js.map +0 -7
  44. package/packages/codemirror-markdown/dist/chunk-MAW6NPUW.js +0 -4930
  45. package/packages/codemirror-markdown/dist/chunk-MAW6NPUW.js.map +0 -7
  46. package/packages/codemirror-markdown/dist/chunk-MBTMKYFQ.js +0 -1779
  47. package/packages/codemirror-markdown/dist/chunk-MBTMKYFQ.js.map +0 -7
  48. package/packages/codemirror-markdown/dist/chunk-NEI7FGV4.js +0 -697
  49. package/packages/codemirror-markdown/dist/chunk-NEI7FGV4.js.map +0 -7
  50. package/packages/codemirror-markdown/dist/chunk-PPGERYN5.js +0 -2528
  51. package/packages/codemirror-markdown/dist/chunk-PPGERYN5.js.map +0 -7
  52. package/packages/codemirror-markdown/dist/clike-DOBZTBQN.js +0 -808
  53. package/packages/codemirror-markdown/dist/clike-DOBZTBQN.js.map +0 -7
  54. package/packages/codemirror-markdown/dist/clojure-PTADSDNF.js +0 -851
  55. package/packages/codemirror-markdown/dist/clojure-PTADSDNF.js.map +0 -7
  56. package/packages/codemirror-markdown/dist/cmake-5HAC7YMH.js +0 -73
  57. package/packages/codemirror-markdown/dist/cmake-5HAC7YMH.js.map +0 -7
  58. package/packages/codemirror-markdown/dist/cobol-HAM4C42S.js +0 -131
  59. package/packages/codemirror-markdown/dist/cobol-HAM4C42S.js.map +0 -7
  60. package/packages/codemirror-markdown/dist/coffeescript-IBRKASSJ.js +0 -310
  61. package/packages/codemirror-markdown/dist/coffeescript-IBRKASSJ.js.map +0 -7
  62. package/packages/codemirror-markdown/dist/commonlisp-KMRPB5EW.js +0 -132
  63. package/packages/codemirror-markdown/dist/commonlisp-KMRPB5EW.js.map +0 -7
  64. package/packages/codemirror-markdown/dist/crystal-2MDF4EKJ.js +0 -400
  65. package/packages/codemirror-markdown/dist/crystal-2MDF4EKJ.js.map +0 -7
  66. package/packages/codemirror-markdown/dist/css-VQQXA3AY.js +0 -1795
  67. package/packages/codemirror-markdown/dist/css-VQQXA3AY.js.map +0 -7
  68. package/packages/codemirror-markdown/dist/cypher-ZZEGDGDJ.js +0 -123
  69. package/packages/codemirror-markdown/dist/cypher-ZZEGDGDJ.js.map +0 -7
  70. package/packages/codemirror-markdown/dist/d-5S6PJOOT.js +0 -187
  71. package/packages/codemirror-markdown/dist/d-5S6PJOOT.js.map +0 -7
  72. package/packages/codemirror-markdown/dist/datatype.js +0 -48
  73. package/packages/codemirror-markdown/dist/datatype.js.map +0 -7
  74. package/packages/codemirror-markdown/dist/diff-S77XBOWF.js +0 -27
  75. package/packages/codemirror-markdown/dist/diff-S77XBOWF.js.map +0 -7
  76. package/packages/codemirror-markdown/dist/dist-2C6IPJHB.js +0 -98
  77. package/packages/codemirror-markdown/dist/dist-2C6IPJHB.js.map +0 -7
  78. package/packages/codemirror-markdown/dist/dist-2H653DKD.js +0 -170
  79. package/packages/codemirror-markdown/dist/dist-2H653DKD.js.map +0 -7
  80. package/packages/codemirror-markdown/dist/dist-2O4EI6YQ.js +0 -140
  81. package/packages/codemirror-markdown/dist/dist-2O4EI6YQ.js.map +0 -7
  82. package/packages/codemirror-markdown/dist/dist-2UJRV4FH.js +0 -75
  83. package/packages/codemirror-markdown/dist/dist-2UJRV4FH.js.map +0 -7
  84. package/packages/codemirror-markdown/dist/dist-52S6W6Z3.js +0 -15
  85. package/packages/codemirror-markdown/dist/dist-52S6W6Z3.js.map +0 -7
  86. package/packages/codemirror-markdown/dist/dist-5KN6ODPO.js +0 -340
  87. package/packages/codemirror-markdown/dist/dist-5KN6ODPO.js.map +0 -7
  88. package/packages/codemirror-markdown/dist/dist-BOGB4NCA.js +0 -20
  89. package/packages/codemirror-markdown/dist/dist-BOGB4NCA.js.map +0 -7
  90. package/packages/codemirror-markdown/dist/dist-DZ4PW5HP.js +0 -318
  91. package/packages/codemirror-markdown/dist/dist-DZ4PW5HP.js.map +0 -7
  92. package/packages/codemirror-markdown/dist/dist-FDBKXKIA.js +0 -100
  93. package/packages/codemirror-markdown/dist/dist-FDBKXKIA.js.map +0 -7
  94. package/packages/codemirror-markdown/dist/dist-G2KVVLNT.js +0 -381
  95. package/packages/codemirror-markdown/dist/dist-G2KVVLNT.js.map +0 -7
  96. package/packages/codemirror-markdown/dist/dist-HHNZE2GE.js +0 -193
  97. package/packages/codemirror-markdown/dist/dist-HHNZE2GE.js.map +0 -7
  98. package/packages/codemirror-markdown/dist/dist-HNH74YPL.js +0 -32
  99. package/packages/codemirror-markdown/dist/dist-HNH74YPL.js.map +0 -7
  100. package/packages/codemirror-markdown/dist/dist-LBQUKRIG.js +0 -27
  101. package/packages/codemirror-markdown/dist/dist-LBQUKRIG.js.map +0 -7
  102. package/packages/codemirror-markdown/dist/dist-MFKCWPLQ.js +0 -416
  103. package/packages/codemirror-markdown/dist/dist-MFKCWPLQ.js.map +0 -7
  104. package/packages/codemirror-markdown/dist/dist-NISFJM3T.js +0 -423
  105. package/packages/codemirror-markdown/dist/dist-NISFJM3T.js.map +0 -7
  106. package/packages/codemirror-markdown/dist/dist-Q7P6VH6H.js +0 -786
  107. package/packages/codemirror-markdown/dist/dist-Q7P6VH6H.js.map +0 -7
  108. package/packages/codemirror-markdown/dist/dist-RWF5A5GN.js +0 -451
  109. package/packages/codemirror-markdown/dist/dist-RWF5A5GN.js.map +0 -7
  110. package/packages/codemirror-markdown/dist/dist-UHUU7KLC.js +0 -748
  111. package/packages/codemirror-markdown/dist/dist-UHUU7KLC.js.map +0 -7
  112. package/packages/codemirror-markdown/dist/dist-WJMBFK7W.js +0 -360
  113. package/packages/codemirror-markdown/dist/dist-WJMBFK7W.js.map +0 -7
  114. package/packages/codemirror-markdown/dist/dist-XJYSXJ7H.js +0 -115
  115. package/packages/codemirror-markdown/dist/dist-XJYSXJ7H.js.map +0 -7
  116. package/packages/codemirror-markdown/dist/dist-YY24ZXZD.js +0 -212
  117. package/packages/codemirror-markdown/dist/dist-YY24ZXZD.js.map +0 -7
  118. package/packages/codemirror-markdown/dist/dockerfile-JECCOJWP.js +0 -209
  119. package/packages/codemirror-markdown/dist/dockerfile-JECCOJWP.js.map +0 -7
  120. package/packages/codemirror-markdown/dist/dtd-MNDWTW4Z.js +0 -116
  121. package/packages/codemirror-markdown/dist/dtd-MNDWTW4Z.js.map +0 -7
  122. package/packages/codemirror-markdown/dist/dylan-VQ4IHJDS.js +0 -317
  123. package/packages/codemirror-markdown/dist/dylan-VQ4IHJDS.js.map +0 -7
  124. package/packages/codemirror-markdown/dist/ebnf-IDZBFTCG.js +0 -142
  125. package/packages/codemirror-markdown/dist/ebnf-IDZBFTCG.js.map +0 -7
  126. package/packages/codemirror-markdown/dist/ecl-X3ROY7E6.js +0 -180
  127. package/packages/codemirror-markdown/dist/ecl-X3ROY7E6.js.map +0 -7
  128. package/packages/codemirror-markdown/dist/eiffel-WB3M7Y2E.js +0 -136
  129. package/packages/codemirror-markdown/dist/eiffel-WB3M7Y2E.js.map +0 -7
  130. package/packages/codemirror-markdown/dist/elm-VHXR6ZA3.js +0 -178
  131. package/packages/codemirror-markdown/dist/elm-VHXR6ZA3.js.map +0 -7
  132. package/packages/codemirror-markdown/dist/erlang-7ZBDDQDV.js +0 -676
  133. package/packages/codemirror-markdown/dist/erlang-7ZBDDQDV.js.map +0 -7
  134. package/packages/codemirror-markdown/dist/extensions/embed.js +0 -325
  135. package/packages/codemirror-markdown/dist/extensions/embed.js.map +0 -7
  136. package/packages/codemirror-markdown/dist/extensions/links.js +0 -118
  137. package/packages/codemirror-markdown/dist/extensions/links.js.map +0 -7
  138. package/packages/codemirror-markdown/dist/extensions/markdown.js +0 -3476
  139. package/packages/codemirror-markdown/dist/extensions/markdown.js.map +0 -7
  140. package/packages/codemirror-markdown/dist/factor-IKT2GQE2.js +0 -70
  141. package/packages/codemirror-markdown/dist/factor-IKT2GQE2.js.map +0 -7
  142. package/packages/codemirror-markdown/dist/fcl-CNBUVGUC.js +0 -143
  143. package/packages/codemirror-markdown/dist/fcl-CNBUVGUC.js.map +0 -7
  144. package/packages/codemirror-markdown/dist/forth-4BTPWSFZ.js +0 -118
  145. package/packages/codemirror-markdown/dist/forth-4BTPWSFZ.js.map +0 -7
  146. package/packages/codemirror-markdown/dist/fortran-V6F5DQPK.js +0 -469
  147. package/packages/codemirror-markdown/dist/fortran-V6F5DQPK.js.map +0 -7
  148. package/packages/codemirror-markdown/dist/gas-4DLP6BC4.js +0 -296
  149. package/packages/codemirror-markdown/dist/gas-4DLP6BC4.js.map +0 -7
  150. package/packages/codemirror-markdown/dist/gherkin-OSGPX6HI.js +0 -117
  151. package/packages/codemirror-markdown/dist/gherkin-OSGPX6HI.js.map +0 -7
  152. package/packages/codemirror-markdown/dist/groovy-R2JW63QF.js +0 -225
  153. package/packages/codemirror-markdown/dist/groovy-R2JW63QF.js.map +0 -7
  154. package/packages/codemirror-markdown/dist/haskell-GG7T4J6H.js +0 -461
  155. package/packages/codemirror-markdown/dist/haskell-GG7T4J6H.js.map +0 -7
  156. package/packages/codemirror-markdown/dist/haxe-ESFUJKSE.js +0 -521
  157. package/packages/codemirror-markdown/dist/haxe-ESFUJKSE.js.map +0 -7
  158. package/packages/codemirror-markdown/dist/http-SZLSACOW.js +0 -81
  159. package/packages/codemirror-markdown/dist/http-SZLSACOW.js.map +0 -7
  160. package/packages/codemirror-markdown/dist/idl-V7UH35RP.js +0 -987
  161. package/packages/codemirror-markdown/dist/idl-V7UH35RP.js.map +0 -7
  162. package/packages/codemirror-markdown/dist/javascript-MGRPKFDN.js +0 -13
  163. package/packages/codemirror-markdown/dist/javascript-MGRPKFDN.js.map +0 -7
  164. package/packages/codemirror-markdown/dist/julia-CWCVZVPG.js +0 -409
  165. package/packages/codemirror-markdown/dist/julia-CWCVZVPG.js.map +0 -7
  166. package/packages/codemirror-markdown/dist/livescript-IGKT2FL7.js +0 -303
  167. package/packages/codemirror-markdown/dist/livescript-IGKT2FL7.js.map +0 -7
  168. package/packages/codemirror-markdown/dist/lua-GHK7GCTS.js +0 -258
  169. package/packages/codemirror-markdown/dist/lua-GHK7GCTS.js.map +0 -7
  170. package/packages/codemirror-markdown/dist/main.js +0 -58
  171. package/packages/codemirror-markdown/dist/main.js.map +0 -7
  172. package/packages/codemirror-markdown/dist/mathematica-W5LMQI3M.js +0 -112
  173. package/packages/codemirror-markdown/dist/mathematica-W5LMQI3M.js.map +0 -7
  174. package/packages/codemirror-markdown/dist/mbox-A7CXJ4HZ.js +0 -119
  175. package/packages/codemirror-markdown/dist/mbox-A7CXJ4HZ.js.map +0 -7
  176. package/packages/codemirror-markdown/dist/mirc-WYJEQUBY.js +0 -109
  177. package/packages/codemirror-markdown/dist/mirc-WYJEQUBY.js.map +0 -7
  178. package/packages/codemirror-markdown/dist/mllike-C2YS6SJI.js +0 -340
  179. package/packages/codemirror-markdown/dist/mllike-C2YS6SJI.js.map +0 -7
  180. package/packages/codemirror-markdown/dist/modelica-BMJSLZS7.js +0 -149
  181. package/packages/codemirror-markdown/dist/modelica-BMJSLZS7.js.map +0 -7
  182. package/packages/codemirror-markdown/dist/mscgen-5BORDYHW.js +0 -137
  183. package/packages/codemirror-markdown/dist/mscgen-5BORDYHW.js.map +0 -7
  184. package/packages/codemirror-markdown/dist/mumps-BYE6H7ZX.js +0 -95
  185. package/packages/codemirror-markdown/dist/mumps-BYE6H7ZX.js.map +0 -7
  186. package/packages/codemirror-markdown/dist/nginx-Y54HR7MQ.js +0 -143
  187. package/packages/codemirror-markdown/dist/nginx-Y54HR7MQ.js.map +0 -7
  188. package/packages/codemirror-markdown/dist/nsis-UZLPE2DL.js +0 -67
  189. package/packages/codemirror-markdown/dist/nsis-UZLPE2DL.js.map +0 -7
  190. package/packages/codemirror-markdown/dist/ntriples-SAI3J2VH.js +0 -155
  191. package/packages/codemirror-markdown/dist/ntriples-SAI3J2VH.js.map +0 -7
  192. package/packages/codemirror-markdown/dist/octave-TLUBYOUX.js +0 -213
  193. package/packages/codemirror-markdown/dist/octave-TLUBYOUX.js.map +0 -7
  194. package/packages/codemirror-markdown/dist/oz-F6LNIR6Q.js +0 -233
  195. package/packages/codemirror-markdown/dist/oz-F6LNIR6Q.js.map +0 -7
  196. package/packages/codemirror-markdown/dist/pascal-WINE2FE6.js +0 -107
  197. package/packages/codemirror-markdown/dist/pascal-WINE2FE6.js.map +0 -7
  198. package/packages/codemirror-markdown/dist/perl-NZG3EIBE.js +0 -1107
  199. package/packages/codemirror-markdown/dist/perl-NZG3EIBE.js.map +0 -7
  200. package/packages/codemirror-markdown/dist/pig-U7OFLRCV.js +0 -105
  201. package/packages/codemirror-markdown/dist/pig-U7OFLRCV.js.map +0 -7
  202. package/packages/codemirror-markdown/dist/powershell-ZSUS7P6D.js +0 -330
  203. package/packages/codemirror-markdown/dist/powershell-ZSUS7P6D.js.map +0 -7
  204. package/packages/codemirror-markdown/dist/properties-IJRU6UJW.js +0 -60
  205. package/packages/codemirror-markdown/dist/properties-IJRU6UJW.js.map +0 -7
  206. package/packages/codemirror-markdown/dist/protobuf-2KETQIQ5.js +0 -80
  207. package/packages/codemirror-markdown/dist/protobuf-2KETQIQ5.js.map +0 -7
  208. package/packages/codemirror-markdown/dist/pug-IQCJJAZU.js +0 -410
  209. package/packages/codemirror-markdown/dist/pug-IQCJJAZU.js.map +0 -7
  210. package/packages/codemirror-markdown/dist/puppet-YIIDDH6A.js +0 -139
  211. package/packages/codemirror-markdown/dist/puppet-YIIDDH6A.js.map +0 -7
  212. package/packages/codemirror-markdown/dist/python-A6P3XTMX.js +0 -429
  213. package/packages/codemirror-markdown/dist/python-A6P3XTMX.js.map +0 -7
  214. package/packages/codemirror-markdown/dist/q-2KXN5RX7.js +0 -135
  215. package/packages/codemirror-markdown/dist/q-2KXN5RX7.js.map +0 -7
  216. package/packages/codemirror-markdown/dist/r-BB4MIIBH.js +0 -174
  217. package/packages/codemirror-markdown/dist/r-BB4MIIBH.js.map +0 -7
  218. package/packages/codemirror-markdown/dist/rpm-LMR25AQ3.js +0 -111
  219. package/packages/codemirror-markdown/dist/rpm-LMR25AQ3.js.map +0 -7
  220. package/packages/codemirror-markdown/dist/ruby-TSD6FT73.js +0 -333
  221. package/packages/codemirror-markdown/dist/ruby-TSD6FT73.js.map +0 -7
  222. package/packages/codemirror-markdown/dist/sas-6X4WWIGV.js +0 -209
  223. package/packages/codemirror-markdown/dist/sas-6X4WWIGV.js.map +0 -7
  224. package/packages/codemirror-markdown/dist/scheme-E3I46HBL.js +0 -230
  225. package/packages/codemirror-markdown/dist/scheme-E3I46HBL.js.map +0 -7
  226. package/packages/codemirror-markdown/dist/shell-GX3PRI4I.js +0 -224
  227. package/packages/codemirror-markdown/dist/shell-GX3PRI4I.js.map +0 -7
  228. package/packages/codemirror-markdown/dist/sieve-V65ZPL4F.js +0 -137
  229. package/packages/codemirror-markdown/dist/sieve-V65ZPL4F.js.map +0 -7
  230. package/packages/codemirror-markdown/dist/smalltalk-OVKP2CVW.js +0 -123
  231. package/packages/codemirror-markdown/dist/smalltalk-OVKP2CVW.js.map +0 -7
  232. package/packages/codemirror-markdown/dist/solr-C4DLQJCF.js +0 -71
  233. package/packages/codemirror-markdown/dist/solr-C4DLQJCF.js.map +0 -7
  234. package/packages/codemirror-markdown/dist/sparql-REKUW7B3.js +0 -251
  235. package/packages/codemirror-markdown/dist/sparql-REKUW7B3.js.map +0 -7
  236. package/packages/codemirror-markdown/dist/spreadsheet-S7NN2YTQ.js +0 -89
  237. package/packages/codemirror-markdown/dist/spreadsheet-S7NN2YTQ.js.map +0 -7
  238. package/packages/codemirror-markdown/dist/sql-ML2Q43YF.js +0 -358
  239. package/packages/codemirror-markdown/dist/sql-ML2Q43YF.js.map +0 -7
  240. package/packages/codemirror-markdown/dist/stex-TCOGKBT4.js +0 -233
  241. package/packages/codemirror-markdown/dist/stex-TCOGKBT4.js.map +0 -7
  242. package/packages/codemirror-markdown/dist/stylus-3ONNYZOM.js +0 -591
  243. package/packages/codemirror-markdown/dist/stylus-3ONNYZOM.js.map +0 -7
  244. package/packages/codemirror-markdown/dist/swift-CNWGZ22Y.js +0 -293
  245. package/packages/codemirror-markdown/dist/swift-CNWGZ22Y.js.map +0 -7
  246. package/packages/codemirror-markdown/dist/tcl-77IMAZYE.js +0 -116
  247. package/packages/codemirror-markdown/dist/tcl-77IMAZYE.js.map +0 -7
  248. package/packages/codemirror-markdown/dist/textile-6IWIIKFM.js +0 -416
  249. package/packages/codemirror-markdown/dist/textile-6IWIIKFM.js.map +0 -7
  250. package/packages/codemirror-markdown/dist/tiddlywiki-IJSZMUSA.js +0 -231
  251. package/packages/codemirror-markdown/dist/tiddlywiki-IJSZMUSA.js.map +0 -7
  252. package/packages/codemirror-markdown/dist/tiki-HG37JJIT.js +0 -276
  253. package/packages/codemirror-markdown/dist/tiki-HG37JJIT.js.map +0 -7
  254. package/packages/codemirror-markdown/dist/toml-NINU2IMM.js +0 -78
  255. package/packages/codemirror-markdown/dist/toml-NINU2IMM.js.map +0 -7
  256. package/packages/codemirror-markdown/dist/troff-AOQJ4Q4C.js +0 -63
  257. package/packages/codemirror-markdown/dist/troff-AOQJ4Q4C.js.map +0 -7
  258. package/packages/codemirror-markdown/dist/ttcn-TLOZ3FX3.js +0 -211
  259. package/packages/codemirror-markdown/dist/ttcn-TLOZ3FX3.js.map +0 -7
  260. package/packages/codemirror-markdown/dist/ttcn-cfg-3B6QY7QE.js +0 -141
  261. package/packages/codemirror-markdown/dist/ttcn-cfg-3B6QY7QE.js.map +0 -7
  262. package/packages/codemirror-markdown/dist/turtle-3N5KCGXP.js +0 -132
  263. package/packages/codemirror-markdown/dist/turtle-3N5KCGXP.js.map +0 -7
  264. package/packages/codemirror-markdown/dist/vb-I7M5DRLP.js +0 -204
  265. package/packages/codemirror-markdown/dist/vb-I7M5DRLP.js.map +0 -7
  266. package/packages/codemirror-markdown/dist/vbscript-U2ARSJLD.js +0 -482
  267. package/packages/codemirror-markdown/dist/vbscript-U2ARSJLD.js.map +0 -7
  268. package/packages/codemirror-markdown/dist/velocity-R3AYP5XJ.js +0 -151
  269. package/packages/codemirror-markdown/dist/velocity-R3AYP5XJ.js.map +0 -7
  270. package/packages/codemirror-markdown/dist/verilog-7VEWVDW6.js +0 -456
  271. package/packages/codemirror-markdown/dist/verilog-7VEWVDW6.js.map +0 -7
  272. package/packages/codemirror-markdown/dist/vhdl-JZUPPGBA.js +0 -162
  273. package/packages/codemirror-markdown/dist/vhdl-JZUPPGBA.js.map +0 -7
  274. package/packages/codemirror-markdown/dist/webidl-SLQFEELK.js +0 -206
  275. package/packages/codemirror-markdown/dist/webidl-SLQFEELK.js.map +0 -7
  276. package/packages/codemirror-markdown/dist/xquery-VXP5KJ6N.js +0 -532
  277. package/packages/codemirror-markdown/dist/xquery-VXP5KJ6N.js.map +0 -7
  278. package/packages/codemirror-markdown/dist/yacas-JRBC4BEV.js +0 -132
  279. package/packages/codemirror-markdown/dist/yacas-JRBC4BEV.js.map +0 -7
  280. package/packages/codemirror-markdown/dist/z80-AJF6WLUV.js +0 -95
  281. package/packages/codemirror-markdown/dist/z80-AJF6WLUV.js.map +0 -7
  282. package/packages/codemirror-markdown/example.js +0 -46
  283. package/packages/codemirror-markdown/package.json +0 -62
  284. package/packages/commands/dist/main.js +0 -504
  285. package/packages/commands/dist/main.js.map +0 -7
  286. package/packages/commands/package.json +0 -28
  287. package/packages/contact/dist/ContactAvatar-FP32ZZH2.js +0 -161
  288. package/packages/contact/dist/ContactAvatar-FP32ZZH2.js.map +0 -7
  289. package/packages/contact/dist/ContactViewer-ZHEE6INW.js +0 -60
  290. package/packages/contact/dist/ContactViewer-ZHEE6INW.js.map +0 -7
  291. package/packages/contact/dist/InlineContactAvatar-VZDPEZV2.js +0 -46
  292. package/packages/contact/dist/InlineContactAvatar-VZDPEZV2.js.map +0 -7
  293. package/packages/contact/dist/chunk-MOZI4Y4O.js +0 -54
  294. package/packages/contact/dist/chunk-MOZI4Y4O.js.map +0 -7
  295. package/packages/contact/dist/datatype-ABVDVPWS.js +0 -27
  296. package/packages/contact/dist/datatype-ABVDVPWS.js.map +0 -7
  297. package/packages/contact/dist/tool.css +0 -81
  298. package/packages/contact/dist/tool.css.map +0 -7
  299. package/packages/contact/dist/tool.js +0 -70
  300. package/packages/contact/dist/tool.js.map +0 -7
  301. package/packages/contact/package.json +0 -46
  302. package/packages/folder/dist/datatype-HWGUFBTQ.js +0 -27
  303. package/packages/folder/dist/datatype-HWGUFBTQ.js.map +0 -7
  304. package/packages/folder/dist/index.js +0 -27
  305. package/packages/folder/dist/index.js.map +0 -7
  306. package/packages/folder/dist/tool-62JZAZRP.js +0 -366
  307. package/packages/folder/dist/tool-62JZAZRP.js.map +0 -7
  308. package/packages/folder/package.json +0 -32
  309. package/packages/sideboard/dist/account-bar-OJQC3J6W.js +0 -2
  310. package/packages/sideboard/dist/account-bar-OJQC3J6W.js.map +0 -7
  311. package/packages/sideboard/dist/chunk-32FICX7K.js +0 -26
  312. package/packages/sideboard/dist/chunk-32FICX7K.js.map +0 -7
  313. package/packages/sideboard/dist/chunk-3OYP6TVA.js +0 -2
  314. package/packages/sideboard/dist/chunk-3OYP6TVA.js.map +0 -7
  315. package/packages/sideboard/dist/chunk-FW4363Y4.js +0 -2
  316. package/packages/sideboard/dist/chunk-FW4363Y4.js.map +0 -7
  317. package/packages/sideboard/dist/chunk-QKYKEZU4.js +0 -2
  318. package/packages/sideboard/dist/chunk-QKYKEZU4.js.map +0 -7
  319. package/packages/sideboard/dist/document-list-panel-42LSXXCO.js +0 -2
  320. package/packages/sideboard/dist/document-list-panel-42LSXXCO.js.map +0 -7
  321. package/packages/sideboard/dist/index.css +0 -2
  322. package/packages/sideboard/dist/index.css.map +0 -7
  323. package/packages/sideboard/dist/index.js +0 -2
  324. package/packages/sideboard/dist/index.js.map +0 -7
  325. package/packages/sideboard/dist/sideboard/sideboard.js +0 -2
  326. package/packages/sideboard/dist/sideboard/sideboard.js.map +0 -7
  327. package/packages/sideboard/package.json +0 -56
  328. package/packages/theming/dist/active-theme-K27UXDBG.js +0 -26
  329. package/packages/theming/dist/active-theme-K27UXDBG.js.map +0 -7
  330. package/packages/theming/dist/chunk-K4OOO2TK.js +0 -281
  331. package/packages/theming/dist/chunk-K4OOO2TK.js.map +0 -7
  332. package/packages/theming/dist/chunk-RATW7VZI.js +0 -11
  333. package/packages/theming/dist/chunk-RATW7VZI.js.map +0 -7
  334. package/packages/theming/dist/chunk-U7SC4JPE.js +0 -86
  335. package/packages/theming/dist/chunk-U7SC4JPE.js.map +0 -7
  336. package/packages/theming/dist/codemirror-theme.js +0 -2415
  337. package/packages/theming/dist/codemirror-theme.js.map +0 -7
  338. package/packages/theming/dist/datatype-UUJVIZM7.js +0 -16
  339. package/packages/theming/dist/datatype-UUJVIZM7.js.map +0 -7
  340. package/packages/theming/dist/gloom-JYQPEOHI.css +0 -102
  341. package/packages/theming/dist/lychee-BMLMUNP6.css +0 -114
  342. package/packages/theming/dist/main.js +0 -112
  343. package/packages/theming/dist/main.js.map +0 -7
  344. package/packages/theming/dist/theme-RC7MV6WP.css +0 -691
  345. package/packages/theming/dist/theme-editor-datatype-CIXRKEFF.js +0 -11
  346. package/packages/theming/dist/theme-editor-datatype-CIXRKEFF.js.map +0 -7
  347. package/packages/theming/dist/theme-editor.js +0 -576
  348. package/packages/theming/dist/theme-editor.js.map +0 -7
  349. package/packages/theming/dist/theme-titlebar-P2CODQGF.js +0 -21
  350. package/packages/theming/dist/theme-titlebar-P2CODQGF.js.map +0 -7
  351. package/packages/theming/dist/theme-tray-5L2KGCGD.js +0 -351
  352. package/packages/theming/dist/theme-tray-5L2KGCGD.js.map +0 -7
  353. package/packages/theming/dist/tool.js +0 -405
  354. package/packages/theming/dist/tool.js.map +0 -7
  355. package/packages/theming/package.json +0 -48
  356. package/packages/threepane/dist/IsolatedDocumentArea-LFSDWMIY.js +0 -2
  357. package/packages/threepane/dist/IsolatedDocumentArea-LFSDWMIY.js.map +0 -7
  358. package/packages/threepane/dist/PatchworkFrame-JTNZ6365.js +0 -2
  359. package/packages/threepane/dist/PatchworkFrame-JTNZ6365.js.map +0 -7
  360. package/packages/threepane/dist/chunk-7YXO2YGV.js +0 -2
  361. package/packages/threepane/dist/chunk-7YXO2YGV.js.map +0 -7
  362. package/packages/threepane/dist/chunk-FOMAU6H2.js +0 -972
  363. package/packages/threepane/dist/chunk-FOMAU6H2.js.map +0 -7
  364. package/packages/threepane/dist/chunk-FW4363Y4.js +0 -2
  365. package/packages/threepane/dist/chunk-FW4363Y4.js.map +0 -7
  366. package/packages/threepane/dist/datatypes-FKBTWAO7.js +0 -2
  367. package/packages/threepane/dist/datatypes-FKBTWAO7.js.map +0 -7
  368. package/packages/threepane/dist/index.js +0 -2
  369. package/packages/threepane/dist/index.js.map +0 -7
  370. package/packages/threepane/package.json +0 -42
  371. package/packages/tldraw4/dist/chunk-IKZWERSR.js +0 -38
  372. package/packages/tldraw4/dist/chunk-IKZWERSR.js.map +0 -7
  373. package/packages/tldraw4/dist/chunk-VF5CY24G.js +0 -140894
  374. package/packages/tldraw4/dist/chunk-VF5CY24G.js.map +0 -7
  375. package/packages/tldraw4/dist/datatype.js +0 -46
  376. package/packages/tldraw4/dist/datatype.js.map +0 -7
  377. package/packages/tldraw4/dist/main.css +0 -3202
  378. package/packages/tldraw4/dist/main.css.map +0 -7
  379. package/packages/tldraw4/dist/main.js +0 -42
  380. package/packages/tldraw4/dist/main.js.map +0 -7
  381. package/packages/tldraw4/dist/tool.js +0 -8767
  382. package/packages/tldraw4/dist/tool.js.map +0 -7
  383. package/packages/tldraw4/package.json +0 -62
@@ -1,161 +0,0 @@
1
- import {
2
- createAvatar,
3
- getInitials,
4
- setAvatarFallback,
5
- setAvatarImage
6
- } from "./chunk-MOZI4Y4O.js";
7
-
8
- // src/ui.ts
9
- var USER_COLOR_PALETTE = [
10
- { name: "Sky Blue", value: "hsl(200, 70%, 50%)" },
11
- { name: "Coral", value: "hsl(10, 75%, 58%)" },
12
- { name: "Emerald", value: "hsl(145, 70%, 45%)" },
13
- { name: "Violet", value: "hsl(270, 70%, 55%)" },
14
- { name: "Amber", value: "hsl(38, 85%, 50%)" },
15
- { name: "Rose", value: "hsl(350, 70%, 55%)" },
16
- { name: "Teal", value: "hsl(178, 70%, 45%)" },
17
- { name: "Indigo", value: "hsl(235, 70%, 58%)" },
18
- { name: "Lime", value: "hsl(85, 70%, 45%)" },
19
- { name: "Fuchsia", value: "hsl(310, 70%, 55%)" },
20
- { name: "Orange", value: "hsl(25, 80%, 52%)" },
21
- { name: "Cyan", value: "hsl(188, 75%, 48%)" }
22
- ];
23
- function generateColorFromString(str) {
24
- const hash = Math.abs(
25
- str.split("").reduce((acc, char) => acc + char.charCodeAt(0), 0)
26
- );
27
- const colorIndex = hash % USER_COLOR_PALETTE.length;
28
- return USER_COLOR_PALETTE[colorIndex].value;
29
- }
30
-
31
- // src/components/ContactAvatar.ts
32
- import { getImportableUrlFromAutomergeUrl } from "@inkandswitch/patchwork-filesystem";
33
-
34
- // ../node_modules/.pnpm/@inkandswitch+patchwork-providers@0.2.2_@automerge+automerge-repo@2.6.0-subduction.39_supports-color@7.2.0_/node_modules/@inkandswitch/patchwork-providers/dist/index.js
35
- function subscribe(element, selector, listener) {
36
- const view = element.closest("patchwork-view");
37
- const dispatchEl = view ?? element;
38
- const channel = new MessageChannel();
39
- const port = channel.port2;
40
- const controller = new AbortController();
41
- const { signal } = controller;
42
- port.addEventListener("message", (event) => {
43
- if (event.data?.type === "change")
44
- listener(event.data.value);
45
- }, { signal });
46
- port.start();
47
- const detail = {
48
- selector,
49
- port: channel.port1
50
- };
51
- dispatchEl.dispatchEvent(new CustomEvent("patchwork:subscribe", {
52
- detail,
53
- bubbles: true,
54
- composed: true
55
- }));
56
- return () => {
57
- if (signal.aborted)
58
- return;
59
- controller.abort();
60
- port.postMessage({ type: "unsubscribe" });
61
- port.close();
62
- };
63
- }
64
-
65
- // src/components/ContactAvatar.ts
66
- function renderContactAvatar(handle, element) {
67
- const avatar = createAvatar("default");
68
- element.appendChild(avatar);
69
- let selfName = "me";
70
- const cleanups = [];
71
- const heartbeats = {};
72
- let presenceTimer;
73
- function onEphemeralMessage(message) {
74
- if (message.senderId) {
75
- heartbeats[message.senderId] = Date.now();
76
- }
77
- updatePresence();
78
- }
79
- function updatePresence() {
80
- const docUrl = handle.url;
81
- const now = Date.now();
82
- const timeout = 3e4;
83
- const isPresent = Object.entries(heartbeats).some(
84
- ([id, ts]) => id !== selfName && now - ts < timeout
85
- );
86
- const contact = handle.doc();
87
- const userColor = contact && "color" in contact && contact.color ? contact.color : generateColorFromString(docUrl);
88
- if (isPresent) {
89
- avatar.classList.add("contact-avatar--present");
90
- avatar.style.setProperty("--contact-presence-color", userColor);
91
- } else {
92
- avatar.classList.remove("contact-avatar--present");
93
- avatar.style.removeProperty("--contact-presence-color");
94
- }
95
- }
96
- handle.on("ephemeral-message", onEphemeralMessage);
97
- cleanups.push(() => handle.off("ephemeral-message", onEphemeralMessage));
98
- presenceTimer = setInterval(updatePresence, 5e3);
99
- cleanups.push(() => clearInterval(presenceTimer));
100
- const unsubscribe = subscribe(
101
- element,
102
- { type: "patchwork:contact" },
103
- (contactUrl) => {
104
- element.repo.find(contactUrl).then((selfHandle) => {
105
- const selfDoc = selfHandle.doc();
106
- if (selfDoc?.type === "registered") {
107
- selfName = selfDoc.name;
108
- }
109
- });
110
- }
111
- );
112
- cleanups.push(unsubscribe);
113
- if (window.accountDocHandle) {
114
- element.repo.find(window.accountDocHandle.url).then((accountHandle) => {
115
- const accountDoc = accountHandle.doc();
116
- if (accountDoc?.contactUrl) {
117
- element.repo.find(accountDoc.contactUrl).then((selfHandle) => {
118
- const selfDoc = selfHandle.doc();
119
- if (selfDoc?.type === "registered") {
120
- selfName = selfDoc.name;
121
- }
122
- });
123
- }
124
- });
125
- }
126
- async function update() {
127
- const contact = handle.doc();
128
- if (!contact) {
129
- avatar.style.display = "none";
130
- return;
131
- }
132
- avatar.style.display = "";
133
- const isRegistered = contact.type === "registered";
134
- const name = isRegistered ? contact.name : "Anonymous";
135
- let avatarImgUrl;
136
- if (isRegistered && contact.avatarUrl) {
137
- try {
138
- const avatarHandle = await element.repo.find(contact.avatarUrl);
139
- avatarImgUrl = getImportableUrlFromAutomergeUrl(avatarHandle.url);
140
- } catch {
141
- }
142
- }
143
- setAvatarImage(avatar, avatarImgUrl, name);
144
- if (isRegistered && name) {
145
- setAvatarFallback(avatar, { initials: getInitials(name) });
146
- } else {
147
- setAvatarFallback(avatar, { iconSize: 20 });
148
- }
149
- updatePresence();
150
- }
151
- handle.on("change", update);
152
- cleanups.push(() => handle.off("change", update));
153
- update();
154
- return () => {
155
- for (const cleanup of cleanups) cleanup();
156
- };
157
- }
158
- export {
159
- renderContactAvatar
160
- };
161
- //# sourceMappingURL=ContactAvatar-FP32ZZH2.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/ui.ts", "../src/components/ContactAvatar.ts", "../../node_modules/.pnpm/@inkandswitch+patchwork-providers@0.2.2_@automerge+automerge-repo@2.6.0-subduction.39_supports-color@7.2.0_/node_modules/@inkandswitch/patchwork-providers/dist/index.js"],
4
- "sourcesContent": ["/**\n * TODO: establish a system for referencing styles that\n * are shared across multiple tools.\n * This palette is also defined in the account-picker.\n *\n * User color palette for presence indicators (cursors, avatars, etc.)\n *\n * Colors are selected to:\n * - Be easily distinguishable from each other\n * - Work well on both light and dark backgrounds\n * - Be accessible and readable\n * - Look professional and modern\n */\nexport const USER_COLOR_PALETTE = [\n { name: \"Sky Blue\", value: \"hsl(200, 70%, 50%)\" },\n { name: \"Coral\", value: \"hsl(10, 75%, 58%)\" },\n { name: \"Emerald\", value: \"hsl(145, 70%, 45%)\" },\n { name: \"Violet\", value: \"hsl(270, 70%, 55%)\" },\n { name: \"Amber\", value: \"hsl(38, 85%, 50%)\" },\n { name: \"Rose\", value: \"hsl(350, 70%, 55%)\" },\n { name: \"Teal\", value: \"hsl(178, 70%, 45%)\" },\n { name: \"Indigo\", value: \"hsl(235, 70%, 58%)\" },\n { name: \"Lime\", value: \"hsl(85, 70%, 45%)\" },\n { name: \"Fuchsia\", value: \"hsl(310, 70%, 55%)\" },\n { name: \"Orange\", value: \"hsl(25, 80%, 52%)\" },\n { name: \"Cyan\", value: \"hsl(188, 75%, 48%)\" },\n] as const;\n\n/**\n * Generate a deterministic color from a string (like userId)\n * Useful for fallback when user hasn't chosen a color\n */\nexport function generateColorFromString(str: string): string {\n const hash = Math.abs(\n str.split(\"\").reduce((acc, char) => acc + char.charCodeAt(0), 0)\n );\n const colorIndex = hash % USER_COLOR_PALETTE.length;\n return USER_COLOR_PALETTE[colorIndex].value;\n}\n", "import type { AutomergeUrl, DocHandle } from \"@automerge/automerge-repo\";\nimport type { ToolElement } from \"@inkandswitch/patchwork-plugins\";\nimport type { ContactDoc } from \"../types\";\nimport { createAvatar, setAvatarImage, setAvatarFallback, getInitials } from \"./Avatar\";\nimport { generateColorFromString } from \"../ui\";\nimport { getImportableUrlFromAutomergeUrl } from \"@inkandswitch/patchwork-filesystem\";\nimport { subscribe } from \"@inkandswitch/patchwork-providers\";\n\ndeclare global {\n interface Window {\n accountDocHandle?: { url: AutomergeUrl };\n }\n}\n\ntype TinyPatchworkLayoutDoc = {\n contactUrl: AutomergeUrl;\n};\n\nexport function renderContactAvatar(\n handle: DocHandle<ContactDoc>,\n element: ToolElement\n) {\n const avatar = createAvatar(\"default\");\n element.appendChild(avatar);\n\n let selfName = \"me\";\n const cleanups: (() => void)[] = [];\n\n // Track presence via ephemeral messages\n const heartbeats: Record<string, number> = {};\n let presenceTimer: ReturnType<typeof setInterval>;\n\n function onEphemeralMessage(message: { senderId: string; message: unknown }) {\n // useRemoteAwareness tracks heartbeats from ephemeral messages\n if (message.senderId) {\n heartbeats[message.senderId] = Date.now();\n }\n updatePresence();\n }\n\n function updatePresence() {\n const docUrl = handle.url;\n const now = Date.now();\n const timeout = 30000;\n const isPresent = Object.entries(heartbeats).some(\n ([id, ts]) => id !== selfName && now - ts < timeout\n );\n\n const contact = handle.doc();\n const userColor =\n contact && \"color\" in contact && contact.color\n ? contact.color\n : generateColorFromString(docUrl);\n\n if (isPresent) {\n avatar.classList.add(\"contact-avatar--present\");\n avatar.style.setProperty(\"--contact-presence-color\", userColor);\n } else {\n avatar.classList.remove(\"contact-avatar--present\");\n avatar.style.removeProperty(\"--contact-presence-color\");\n }\n }\n\n handle.on(\"ephemeral-message\", onEphemeralMessage);\n cleanups.push(() => handle.off(\"ephemeral-message\", onEphemeralMessage));\n\n // Periodically clean up stale heartbeats\n presenceTimer = setInterval(updatePresence, 5000);\n cleanups.push(() => clearInterval(presenceTimer));\n\n // Get own contact via provider subscription\n const unsubscribe = subscribe<string>(\n element,\n { type: \"patchwork:contact\" },\n (contactUrl) => {\n element.repo\n .find<ContactDoc>(contactUrl as AutomergeUrl)\n .then((selfHandle) => {\n const selfDoc = selfHandle.doc();\n if (selfDoc?.type === \"registered\") {\n selfName = selfDoc.name;\n }\n });\n }\n );\n cleanups.push(unsubscribe);\n\n // Fallback: use window.accountDocHandle\n if (window.accountDocHandle) {\n element.repo\n .find<TinyPatchworkLayoutDoc>(window.accountDocHandle.url)\n .then((accountHandle) => {\n const accountDoc = accountHandle.doc();\n if (accountDoc?.contactUrl) {\n element.repo\n .find<ContactDoc>(accountDoc.contactUrl)\n .then((selfHandle) => {\n const selfDoc = selfHandle.doc();\n if (selfDoc?.type === \"registered\") {\n selfName = selfDoc.name;\n }\n });\n }\n });\n }\n\n async function update() {\n const contact = handle.doc();\n if (!contact) {\n avatar.style.display = \"none\";\n return;\n }\n avatar.style.display = \"\";\n\n const isRegistered = contact.type === \"registered\";\n const name = isRegistered ? contact.name : \"Anonymous\";\n\n // avatar image\n let avatarImgUrl: string | undefined;\n if (isRegistered && contact.avatarUrl) {\n try {\n const avatarHandle = await element.repo.find(contact.avatarUrl);\n avatarImgUrl = getImportableUrlFromAutomergeUrl(avatarHandle.url);\n } catch {\n // ignore failed avatar lookup\n }\n }\n setAvatarImage(avatar, avatarImgUrl, name);\n\n // fallback\n if (isRegistered && name) {\n setAvatarFallback(avatar, { initials: getInitials(name) });\n } else {\n setAvatarFallback(avatar, { iconSize: 20 });\n }\n\n updatePresence();\n }\n\n handle.on(\"change\", update);\n cleanups.push(() => handle.off(\"change\", update));\n update();\n\n return () => {\n for (const cleanup of cleanups) cleanup();\n };\n}\n", "/**\n * Open a streaming subscription. Dispatches a `patchwork:subscribe` for the\n * given `selector` carrying a fresh `MessageChannel` port; the answering\n * provider pushes values back over that channel for as long as the\n * subscription is live. `listener` is invoked once per emission (the first\n * delivery is always async because `MessagePort.postMessage` queues a task).\n *\n * The event is dispatched from the nearest enclosing `<patchwork-view>` so\n * callers can pass any node inside a provider subtree. An unclaimed\n * subscription is never settled: if no provider answers, `listener` simply\n * never fires.\n *\n * Returns an unsubscribe function. Calling it tells the provider to tear down\n * (via an `unsubscribe` message) and closes the consumer's port; any values\n * the provider emits after that are dropped.\n */\nexport function subscribe(element, selector, listener) {\n const view = element.closest(\"patchwork-view\");\n const dispatchEl = view ?? element;\n const channel = new MessageChannel();\n const port = channel.port2;\n const controller = new AbortController();\n const { signal } = controller;\n port.addEventListener(\"message\", (event) => {\n if (event.data?.type === \"change\")\n listener(event.data.value);\n }, { signal });\n // addEventListener (unlike assigning onmessage) does not implicitly start\n // the port, so message delivery has to be kicked off explicitly.\n port.start();\n const detail = {\n selector,\n port: channel.port1,\n };\n dispatchEl.dispatchEvent(new CustomEvent(\"patchwork:subscribe\", {\n detail,\n bubbles: true,\n composed: true,\n }));\n return () => {\n if (signal.aborted)\n return;\n controller.abort();\n port.postMessage({ type: \"unsubscribe\" });\n port.close();\n };\n}\n/**\n * Answer a `patchwork:subscribe`. The `producer` receives a `respond`\n * callback it can call any number of times to push values to the consumer,\n * and may return a teardown that runs when the consumer unsubscribes. Stops\n * propagation so ancestor providers don't double-answer. Values emitted after\n * the consumer unsubscribes are dropped.\n */\nexport function accept(event, producer) {\n event.stopPropagation();\n const port = event.detail.port;\n let alive = true;\n const respond = (value) => {\n if (!alive)\n return;\n port.postMessage({ type: \"change\", value });\n };\n let teardown;\n try {\n teardown = producer(respond);\n }\n catch (err) {\n console.error(\"[patchwork-providers] subscribe producer threw:\", err);\n }\n const stop = () => {\n if (!alive)\n return;\n alive = false;\n try {\n teardown?.();\n }\n catch (err) {\n console.error(\"[patchwork-providers] subscribe teardown threw:\", err);\n }\n port.close();\n };\n port.onmessage = (event) => {\n if (event.data?.type === \"unsubscribe\")\n stop();\n };\n}\n/**\n * One-shot convenience wrapper over {@link subscribe}: opens a subscription\n * for `selector`, resolves with the first value a provider emits, then\n * immediately unsubscribes. Because there is no fallback provider, an\n * unclaimed selector never resolves \u2014 use `subscribe` directly if you need to\n * handle the \"no provider\" case.\n */\nexport function request(element, selector) {\n return new Promise((resolve) => {\n const unsubscribe = subscribe(element, selector, (value) => {\n // The first emission is always async (postMessage queues a task), so\n // `unsubscribe` is assigned by the time this fires.\n unsubscribe();\n resolve(value);\n });\n });\n}\nexport { registerRepoProviderElement, } from \"./repo-provider.js\";\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,60 +0,0 @@
1
- import {
2
- createAvatar,
3
- getInitials,
4
- setAvatarFallback,
5
- setAvatarImage
6
- } from "./chunk-MOZI4Y4O.js";
7
-
8
- // src/components/ContactViewer.ts
9
- import { automergeUrlToServiceWorkerUrl } from "@inkandswitch/patchwork-filesystem";
10
- function renderContactViewer(handle, element) {
11
- const wrapper = document.createElement("div");
12
- wrapper.className = "contact-viewer";
13
- const avatar = createAvatar("lg");
14
- const nameEl = document.createElement("h2");
15
- nameEl.className = "contact-viewer-name";
16
- const labelEl = document.createElement("p");
17
- labelEl.className = "contact-viewer-label";
18
- labelEl.textContent = "Unregistered user";
19
- wrapper.append(avatar, nameEl);
20
- element.appendChild(wrapper);
21
- async function update() {
22
- const contact = handle.doc();
23
- if (!contact) {
24
- wrapper.style.display = "none";
25
- return;
26
- }
27
- wrapper.style.display = "";
28
- const isRegistered = contact.type === "registered";
29
- const name = isRegistered ? contact.name : "Anonymous";
30
- nameEl.textContent = name;
31
- let avatarImgUrl;
32
- if (isRegistered && contact.avatarUrl) {
33
- try {
34
- const avatarHandle = await element.repo.find(contact.avatarUrl);
35
- avatarImgUrl = automergeUrlToServiceWorkerUrl(avatarHandle.url);
36
- } catch {
37
- }
38
- }
39
- setAvatarImage(avatar, avatarImgUrl, name);
40
- if (isRegistered && name) {
41
- setAvatarFallback(avatar, { initials: getInitials(name) });
42
- } else {
43
- setAvatarFallback(avatar, { iconSize: 32 });
44
- }
45
- if (!isRegistered) {
46
- if (!wrapper.contains(labelEl)) wrapper.appendChild(labelEl);
47
- } else {
48
- labelEl.remove();
49
- }
50
- }
51
- handle.on("change", update);
52
- update();
53
- return () => {
54
- handle.off("change", update);
55
- };
56
- }
57
- export {
58
- renderContactViewer
59
- };
60
- //# sourceMappingURL=ContactViewer-ZHEE6INW.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/ContactViewer.ts"],
4
- "sourcesContent": ["import type { DocHandle } from \"@automerge/automerge-repo\";\nimport type { ToolElement } from \"@inkandswitch/patchwork-plugins\";\nimport type { ContactDoc } from \"../types\";\nimport { createAvatar, setAvatarImage, setAvatarFallback, getInitials } from \"./Avatar\";\nimport { automergeUrlToServiceWorkerUrl } from \"@inkandswitch/patchwork-filesystem\";\n\nexport function renderContactViewer(\n handle: DocHandle<ContactDoc>,\n element: ToolElement\n) {\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"contact-viewer\";\n\n const avatar = createAvatar(\"lg\");\n const nameEl = document.createElement(\"h2\");\n nameEl.className = \"contact-viewer-name\";\n const labelEl = document.createElement(\"p\");\n labelEl.className = \"contact-viewer-label\";\n labelEl.textContent = \"Unregistered user\";\n\n wrapper.append(avatar, nameEl);\n element.appendChild(wrapper);\n\n async function update() {\n const contact = handle.doc();\n if (!contact) {\n wrapper.style.display = \"none\";\n return;\n }\n wrapper.style.display = \"\";\n\n const isRegistered = contact.type === \"registered\";\n const name = isRegistered ? contact.name : \"Anonymous\";\n\n nameEl.textContent = name;\n\n // avatar image\n let avatarImgUrl: string | undefined;\n if (isRegistered && contact.avatarUrl) {\n try {\n const avatarHandle = await element.repo.find(contact.avatarUrl);\n avatarImgUrl = automergeUrlToServiceWorkerUrl(avatarHandle.url);\n } catch {\n // ignore failed avatar lookup\n }\n }\n setAvatarImage(avatar, avatarImgUrl, name);\n\n // fallback\n if (isRegistered && name) {\n setAvatarFallback(avatar, { initials: getInitials(name) });\n } else {\n setAvatarFallback(avatar, { iconSize: 32 });\n }\n\n // label\n if (!isRegistered) {\n if (!wrapper.contains(labelEl)) wrapper.appendChild(labelEl);\n } else {\n labelEl.remove();\n }\n }\n\n handle.on(\"change\", update);\n update();\n\n return () => {\n handle.off(\"change\", update);\n };\n}\n"],
5
- "mappings": ";;;;;;;;AAIA,SAAS,sCAAsC;AAExC,SAAS,oBACd,QACA,SACA;AACA,QAAM,UAAU,SAAS,cAAc,KAAK;AAC5C,UAAQ,YAAY;AAEpB,QAAM,SAAS,aAAa,IAAI;AAChC,QAAM,SAAS,SAAS,cAAc,IAAI;AAC1C,SAAO,YAAY;AACnB,QAAM,UAAU,SAAS,cAAc,GAAG;AAC1C,UAAQ,YAAY;AACpB,UAAQ,cAAc;AAEtB,UAAQ,OAAO,QAAQ,MAAM;AAC7B,UAAQ,YAAY,OAAO;AAE3B,iBAAe,SAAS;AACtB,UAAM,UAAU,OAAO,IAAI;AAC3B,QAAI,CAAC,SAAS;AACZ,cAAQ,MAAM,UAAU;AACxB;AAAA,IACF;AACA,YAAQ,MAAM,UAAU;AAExB,UAAM,eAAe,QAAQ,SAAS;AACtC,UAAM,OAAO,eAAe,QAAQ,OAAO;AAE3C,WAAO,cAAc;AAGrB,QAAI;AACJ,QAAI,gBAAgB,QAAQ,WAAW;AACrC,UAAI;AACF,cAAM,eAAe,MAAM,QAAQ,KAAK,KAAK,QAAQ,SAAS;AAC9D,uBAAe,+BAA+B,aAAa,GAAG;AAAA,MAChE,QAAQ;AAAA,MAER;AAAA,IACF;AACA,mBAAe,QAAQ,cAAc,IAAI;AAGzC,QAAI,gBAAgB,MAAM;AACxB,wBAAkB,QAAQ,EAAE,UAAU,YAAY,IAAI,EAAE,CAAC;AAAA,IAC3D,OAAO;AACL,wBAAkB,QAAQ,EAAE,UAAU,GAAG,CAAC;AAAA,IAC5C;AAGA,QAAI,CAAC,cAAc;AACjB,UAAI,CAAC,QAAQ,SAAS,OAAO,EAAG,SAAQ,YAAY,OAAO;AAAA,IAC7D,OAAO;AACL,cAAQ,OAAO;AAAA,IACjB;AAAA,EACF;AAEA,SAAO,GAAG,UAAU,MAAM;AAC1B,SAAO;AAEP,SAAO,MAAM;AACX,WAAO,IAAI,UAAU,MAAM;AAAA,EAC7B;AACF;",
6
- "names": []
7
- }
@@ -1,46 +0,0 @@
1
- import {
2
- createAvatar,
3
- getInitials,
4
- setAvatarFallback,
5
- setAvatarImage
6
- } from "./chunk-MOZI4Y4O.js";
7
-
8
- // src/components/InlineContactAvatar.ts
9
- import { automergeUrlToServiceWorkerUrl } from "@inkandswitch/patchwork-filesystem";
10
- function renderInlineContactAvatar(handle, element) {
11
- const avatar = createAvatar("sm");
12
- element.appendChild(avatar);
13
- async function update() {
14
- const contact = handle.doc();
15
- if (!contact) {
16
- avatar.style.display = "none";
17
- return;
18
- }
19
- avatar.style.display = "";
20
- const isRegistered = contact.type === "registered";
21
- const name = isRegistered ? contact.name : "Anonymous";
22
- let avatarImgUrl;
23
- if (isRegistered && contact.avatarUrl) {
24
- try {
25
- const avatarHandle = await element.repo.find(contact.avatarUrl);
26
- avatarImgUrl = automergeUrlToServiceWorkerUrl(avatarHandle.url);
27
- } catch {
28
- }
29
- }
30
- setAvatarImage(avatar, avatarImgUrl, name);
31
- if (isRegistered && name) {
32
- setAvatarFallback(avatar, { initials: getInitials(name) });
33
- } else {
34
- setAvatarFallback(avatar, { iconSize: 16 });
35
- }
36
- }
37
- handle.on("change", update);
38
- update();
39
- return () => {
40
- handle.off("change", update);
41
- };
42
- }
43
- export {
44
- renderInlineContactAvatar
45
- };
46
- //# sourceMappingURL=InlineContactAvatar-VZDPEZV2.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/InlineContactAvatar.ts"],
4
- "sourcesContent": ["import type { DocHandle } from \"@automerge/automerge-repo\";\nimport type { ToolElement } from \"@inkandswitch/patchwork-plugins\";\nimport type { ContactDoc } from \"../types\";\nimport { createAvatar, setAvatarImage, setAvatarFallback, getInitials } from \"./Avatar\";\nimport { automergeUrlToServiceWorkerUrl } from \"@inkandswitch/patchwork-filesystem\";\n\nexport function renderInlineContactAvatar(\n handle: DocHandle<ContactDoc>,\n element: ToolElement\n) {\n const avatar = createAvatar(\"sm\");\n element.appendChild(avatar);\n\n async function update() {\n const contact = handle.doc();\n if (!contact) {\n avatar.style.display = \"none\";\n return;\n }\n avatar.style.display = \"\";\n\n const isRegistered = contact.type === \"registered\";\n const name = isRegistered ? contact.name : \"Anonymous\";\n\n // avatar image\n let avatarImgUrl: string | undefined;\n if (isRegistered && contact.avatarUrl) {\n try {\n const avatarHandle = await element.repo.find(contact.avatarUrl);\n avatarImgUrl = automergeUrlToServiceWorkerUrl(avatarHandle.url);\n } catch {\n // ignore failed avatar lookup\n }\n }\n setAvatarImage(avatar, avatarImgUrl, name);\n\n // fallback\n if (isRegistered && name) {\n setAvatarFallback(avatar, { initials: getInitials(name) });\n } else {\n setAvatarFallback(avatar, { iconSize: 16 });\n }\n }\n\n handle.on(\"change\", update);\n update();\n\n return () => {\n handle.off(\"change\", update);\n };\n}\n"],
5
- "mappings": ";;;;;;;;AAIA,SAAS,sCAAsC;AAExC,SAAS,0BACd,QACA,SACA;AACA,QAAM,SAAS,aAAa,IAAI;AAChC,UAAQ,YAAY,MAAM;AAE1B,iBAAe,SAAS;AACtB,UAAM,UAAU,OAAO,IAAI;AAC3B,QAAI,CAAC,SAAS;AACZ,aAAO,MAAM,UAAU;AACvB;AAAA,IACF;AACA,WAAO,MAAM,UAAU;AAEvB,UAAM,eAAe,QAAQ,SAAS;AACtC,UAAM,OAAO,eAAe,QAAQ,OAAO;AAG3C,QAAI;AACJ,QAAI,gBAAgB,QAAQ,WAAW;AACrC,UAAI;AACF,cAAM,eAAe,MAAM,QAAQ,KAAK,KAAK,QAAQ,SAAS;AAC9D,uBAAe,+BAA+B,aAAa,GAAG;AAAA,MAChE,QAAQ;AAAA,MAER;AAAA,IACF;AACA,mBAAe,QAAQ,cAAc,IAAI;AAGzC,QAAI,gBAAgB,MAAM;AACxB,wBAAkB,QAAQ,EAAE,UAAU,YAAY,IAAI,EAAE,CAAC;AAAA,IAC3D,OAAO;AACL,wBAAkB,QAAQ,EAAE,UAAU,GAAG,CAAC;AAAA,IAC5C;AAAA,EACF;AAEA,SAAO,GAAG,UAAU,MAAM;AAC1B,SAAO;AAEP,SAAO,MAAM;AACX,WAAO,IAAI,UAAU,MAAM;AAAA,EAC7B;AACF;",
6
- "names": []
7
- }
@@ -1,54 +0,0 @@
1
- // src/components/Avatar.ts
2
- var sizeClass = {
3
- default: "",
4
- sm: "contact-avatar--sm",
5
- lg: "contact-avatar--lg"
6
- };
7
- var USER_ICON_SVGS = {
8
- 16: `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>`,
9
- 20: `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>`,
10
- 32: `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>`
11
- };
12
- function createAvatar(size = "default") {
13
- const root = document.createElement("span");
14
- root.className = ["contact-avatar", sizeClass[size]].filter(Boolean).join(" ");
15
- return root;
16
- }
17
- function setAvatarImage(root, src, alt) {
18
- let img = root.querySelector(".contact-avatar-image");
19
- if (src) {
20
- if (!img) {
21
- img = document.createElement("img");
22
- img.className = "contact-avatar-image";
23
- root.prepend(img);
24
- }
25
- img.src = src;
26
- img.alt = alt;
27
- } else if (img) {
28
- img.remove();
29
- }
30
- }
31
- function setAvatarFallback(root, content) {
32
- let fallback = root.querySelector(".contact-avatar-fallback");
33
- if (!fallback) {
34
- fallback = document.createElement("span");
35
- fallback.className = "contact-avatar-fallback";
36
- root.appendChild(fallback);
37
- }
38
- if ("initials" in content) {
39
- fallback.textContent = content.initials;
40
- } else {
41
- fallback.innerHTML = USER_ICON_SVGS[content.iconSize] ?? USER_ICON_SVGS[20];
42
- }
43
- }
44
- function getInitials(name) {
45
- return name.split(" ").map((word) => word[0]).join("");
46
- }
47
-
48
- export {
49
- createAvatar,
50
- setAvatarImage,
51
- setAvatarFallback,
52
- getInitials
53
- };
54
- //# sourceMappingURL=chunk-MOZI4Y4O.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/Avatar.ts"],
4
- "sourcesContent": ["export type AvatarSize = \"default\" | \"sm\" | \"lg\";\n\nconst sizeClass: Record<AvatarSize, string> = {\n default: \"\",\n sm: \"contact-avatar--sm\",\n lg: \"contact-avatar--lg\",\n};\n\nconst USER_ICON_SVGS: Record<number, string> = {\n 16: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\"/><circle cx=\"12\" cy=\"7\" r=\"4\"/></svg>`,\n 20: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\"/><circle cx=\"12\" cy=\"7\" r=\"4\"/></svg>`,\n 32: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\"/><circle cx=\"12\" cy=\"7\" r=\"4\"/></svg>`,\n};\n\nexport function createAvatar(size: AvatarSize = \"default\"): HTMLElement {\n const root = document.createElement(\"span\");\n root.className = [\"contact-avatar\", sizeClass[size]]\n .filter(Boolean)\n .join(\" \");\n return root;\n}\n\nexport function setAvatarImage(\n root: HTMLElement,\n src: string | undefined,\n alt: string\n) {\n let img = root.querySelector<HTMLImageElement>(\".contact-avatar-image\");\n if (src) {\n if (!img) {\n img = document.createElement(\"img\");\n img.className = \"contact-avatar-image\";\n root.prepend(img);\n }\n img.src = src;\n img.alt = alt;\n } else if (img) {\n img.remove();\n }\n}\n\nexport function setAvatarFallback(\n root: HTMLElement,\n content: { initials: string } | { iconSize: number }\n) {\n let fallback = root.querySelector<HTMLElement>(\".contact-avatar-fallback\");\n if (!fallback) {\n fallback = document.createElement(\"span\");\n fallback.className = \"contact-avatar-fallback\";\n root.appendChild(fallback);\n }\n if (\"initials\" in content) {\n fallback.textContent = content.initials;\n } else {\n fallback.innerHTML = USER_ICON_SVGS[content.iconSize] ?? USER_ICON_SVGS[20];\n }\n}\n\nexport function getInitials(name: string): string {\n return name\n .split(\" \")\n .map((word) => word[0])\n .join(\"\");\n}\n"],
5
- "mappings": ";AAEA,IAAM,YAAwC;AAAA,EAC5C,SAAS;AAAA,EACT,IAAI;AAAA,EACJ,IAAI;AACN;AAEA,IAAM,iBAAyC;AAAA,EAC7C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,SAAS,aAAa,OAAmB,WAAwB;AACtE,QAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,OAAK,YAAY,CAAC,kBAAkB,UAAU,IAAI,CAAC,EAChD,OAAO,OAAO,EACd,KAAK,GAAG;AACX,SAAO;AACT;AAEO,SAAS,eACd,MACA,KACA,KACA;AACA,MAAI,MAAM,KAAK,cAAgC,uBAAuB;AACtE,MAAI,KAAK;AACP,QAAI,CAAC,KAAK;AACR,YAAM,SAAS,cAAc,KAAK;AAClC,UAAI,YAAY;AAChB,WAAK,QAAQ,GAAG;AAAA,IAClB;AACA,QAAI,MAAM;AACV,QAAI,MAAM;AAAA,EACZ,WAAW,KAAK;AACd,QAAI,OAAO;AAAA,EACb;AACF;AAEO,SAAS,kBACd,MACA,SACA;AACA,MAAI,WAAW,KAAK,cAA2B,0BAA0B;AACzE,MAAI,CAAC,UAAU;AACb,eAAW,SAAS,cAAc,MAAM;AACxC,aAAS,YAAY;AACrB,SAAK,YAAY,QAAQ;AAAA,EAC3B;AACA,MAAI,cAAc,SAAS;AACzB,aAAS,cAAc,QAAQ;AAAA,EACjC,OAAO;AACL,aAAS,YAAY,eAAe,QAAQ,QAAQ,KAAK,eAAe,EAAE;AAAA,EAC5E;AACF;AAEO,SAAS,YAAY,MAAsB;AAChD,SAAO,KACJ,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE;AACZ;",
6
- "names": []
7
- }
@@ -1,27 +0,0 @@
1
- // src/datatype.ts
2
- var init = (doc) => {
3
- Object.assign(doc, {
4
- type: "anonymous"
5
- });
6
- };
7
- var getTitle = (doc) => {
8
- if (doc.type === "registered") {
9
- return doc.name;
10
- }
11
- return "Anonymous";
12
- };
13
- var setTitle = (doc, title) => {
14
- if (doc.type === "registered") {
15
- doc.name = title;
16
- }
17
- };
18
- var ContactDatatype = {
19
- init,
20
- getTitle,
21
- setTitle
22
- };
23
- export {
24
- ContactDatatype,
25
- init
26
- };
27
- //# sourceMappingURL=datatype-ABVDVPWS.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/datatype.ts"],
4
- "sourcesContent": ["import { type DatatypeImplementation } from \"@inkandswitch/patchwork-plugins\";\nimport type { ContactDoc } from \"./types\";\n\nexport const init = (doc: ContactDoc) => {\n Object.assign(doc, {\n type: \"anonymous\",\n } as ContactDoc);\n};\n\nconst getTitle = (doc: ContactDoc) => {\n if (doc.type === \"registered\") {\n return doc.name;\n }\n return \"Anonymous\";\n};\n\nconst setTitle = (doc: ContactDoc, title: string) => {\n if (doc.type === \"registered\") {\n doc.name = title;\n }\n};\n\nexport const ContactDatatype: DatatypeImplementation<ContactDoc> = {\n init,\n getTitle,\n setTitle,\n};\n"],
5
- "mappings": ";AAGO,IAAM,OAAO,CAAC,QAAoB;AACvC,SAAO,OAAO,KAAK;AAAA,IACjB,MAAM;AAAA,EACR,CAAe;AACjB;AAEA,IAAM,WAAW,CAAC,QAAoB;AACpC,MAAI,IAAI,SAAS,cAAc;AAC7B,WAAO,IAAI;AAAA,EACb;AACA,SAAO;AACT;AAEA,IAAM,WAAW,CAAC,KAAiB,UAAkB;AACnD,MAAI,IAAI,SAAS,cAAc;AAC7B,QAAI,OAAO;AAAA,EACb;AACF;AAEO,IAAM,kBAAsD;AAAA,EACjE;AAAA,EACA;AAAA,EACA;AACF;",
6
- "names": []
7
- }
@@ -1,81 +0,0 @@
1
- /* src/styles.css */
2
- @layer package {
3
- :root,
4
- :host,
5
- [theme] {
6
- --contact-fg: var(--editor-line, black);
7
- --contact-muted-fg: var(--editor-line-offset-50, #999);
8
- --contact-border: var(--editor-fill-offset-10, #e5e5e5);
9
- --contact-fallback-bg: var(--editor-fill-offset-20, #ccc);
10
- --contact-fallback-fg: var(--editor-line-offset-30, #4d4d4d);
11
- }
12
- }
13
- .contact-avatar {
14
- position: relative;
15
- display: inline-flex;
16
- flex-shrink: 0;
17
- overflow: hidden;
18
- border-radius: 9999px;
19
- border: 1px solid var(--contact-border);
20
- min-width: 2rem;
21
- min-height: 2rem;
22
- max-width: 2rem;
23
- max-height: 2rem;
24
- height: 100%;
25
- width: 100%;
26
- }
27
- .contact-avatar--sm {
28
- min-width: initial;
29
- min-height: initial;
30
- max-width: initial;
31
- max-height: initial;
32
- width: 1.5rem;
33
- height: 1.5rem;
34
- }
35
- .contact-avatar--lg {
36
- min-width: initial;
37
- min-height: initial;
38
- max-width: initial;
39
- max-height: initial;
40
- width: 64px;
41
- height: 64px;
42
- }
43
- .contact-avatar--present {
44
- box-shadow: 0 0 0 2px var(--contact-presence-color);
45
- }
46
- .contact-avatar-image {
47
- position: absolute;
48
- inset: 0;
49
- z-index: 1;
50
- width: 100%;
51
- height: 100%;
52
- object-fit: cover;
53
- }
54
- .contact-avatar-fallback {
55
- position: absolute;
56
- inset: 0;
57
- display: flex;
58
- align-items: center;
59
- justify-content: center;
60
- border-radius: 9999px;
61
- background: var(--contact-fallback-bg);
62
- color: var(--contact-fallback-fg);
63
- }
64
- .contact-viewer {
65
- display: flex;
66
- flex-direction: column;
67
- align-items: center;
68
- gap: 0.5rem;
69
- color: var(--contact-fg);
70
- }
71
- .contact-viewer-name {
72
- margin: 0;
73
- font-size: 1.25rem;
74
- font-weight: 600;
75
- }
76
- .contact-viewer-label {
77
- margin: 0;
78
- font-size: 0.875rem;
79
- color: var(--contact-muted-fg);
80
- }
81
- /*# sourceMappingURL=tool.css.map */
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/styles.css"],
4
- "sourcesContent": ["@layer package {\n:root,\n:host,\n[theme] {\n --contact-fg: var(--editor-line, black);\n --contact-muted-fg: var(--editor-line-offset-50, #999);\n --contact-border: var(--editor-fill-offset-10, #e5e5e5);\n --contact-fallback-bg: var(--editor-fill-offset-20, #ccc);\n --contact-fallback-fg: var(--editor-line-offset-30, #4d4d4d);\n}\n}\n\n/* Avatar */\n\n.contact-avatar {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n overflow: hidden;\n border-radius: 9999px;\n border: 1px solid var(--contact-border);\n min-width: 2rem;\n min-height: 2rem;\n max-width: 2rem;\n max-height: 2rem;\n height: 100%;\n width: 100%;\n}\n\n.contact-avatar--sm {\n min-width: initial;\n min-height: initial;\n max-width: initial;\n max-height: initial;\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.contact-avatar--lg {\n min-width: initial;\n min-height: initial;\n max-width: initial;\n max-height: initial;\n width: 64px;\n height: 64px;\n}\n\n.contact-avatar--present {\n box-shadow: 0 0 0 2px var(--contact-presence-color);\n}\n\n.contact-avatar-image {\n position: absolute;\n inset: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.contact-avatar-fallback {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 9999px;\n background: var(--contact-fallback-bg);\n color: var(--contact-fallback-fg);\n}\n\n/* Contact Viewer */\n\n.contact-viewer {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.5rem;\n color: var(--contact-fg);\n}\n\n.contact-viewer-name {\n margin: 0;\n font-size: 1.25rem;\n font-weight: 600;\n}\n\n.contact-viewer-label {\n margin: 0;\n font-size: 0.875rem;\n color: var(--contact-muted-fg);\n}\n"],
5
- "mappings": ";AAAA;AACA;AAAA,EACA;AAAA,EACA,CAAC;AACC,kBAAc,IAAI,aAAa,EAAE;AACjC,wBAAoB,IAAI,uBAAuB,EAAE;AACjD,sBAAkB,IAAI,uBAAuB,EAAE;AAC/C,2BAAuB,IAAI,uBAAuB,EAAE;AACpD,2BAAuB,IAAI,uBAAuB,EAAE;AACtD;AACA;AAIA,CAAC;AACC,YAAU;AACV,WAAS;AACT,eAAa;AACb,YAAU;AACV,iBAAe;AACf,UAAQ,IAAI,MAAM,IAAI;AACtB,aAAW;AACX,cAAY;AACZ,aAAW;AACX,cAAY;AACZ,UAAQ;AACR,SAAO;AACT;AAEA,CAAC;AACC,aAAW;AACX,cAAY;AACZ,aAAW;AACX,cAAY;AACZ,SAAO;AACP,UAAQ;AACV;AAEA,CAAC;AACC,aAAW;AACX,cAAY;AACZ,aAAW;AACX,cAAY;AACZ,SAAO;AACP,UAAQ;AACV;AAEA,CAAC;AACC,cAAY,EAAE,EAAE,EAAE,IAAI,IAAI;AAC5B;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,WAAS;AACT,SAAO;AACP,UAAQ;AACR,cAAY;AACd;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,iBAAe;AACf,cAAY,IAAI;AAChB,SAAO,IAAI;AACb;AAIA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,OAAK;AACL,SAAO,IAAI;AACb;AAEA,CAAC;AACC,UAAQ;AACR,aAAW;AACX,eAAa;AACf;AAEA,CAAC;AACC,UAAQ;AACR,aAAW;AACX,SAAO,IAAI;AACb;",
6
- "names": []
7
- }
@@ -1,70 +0,0 @@
1
- // src/tool.ts
2
- function addStyles(element, textContent) {
3
- const id = "contact-styles";
4
- const el = element.querySelector(`#${id}`) ?? document.createElement("style");
5
- Object.assign(el, { textContent, id });
6
- element.append(el);
7
- }
8
- async function loadStyles() {
9
- const url = new URL("./tool.css", import.meta.url);
10
- return (await fetch(url)).text();
11
- }
12
- var plugins = [
13
- {
14
- type: "patchwork:datatype",
15
- id: "contact",
16
- name: "Contact",
17
- icon: "User",
18
- unlisted: true,
19
- async load() {
20
- const { ContactDatatype } = await import("./datatype-ABVDVPWS.js");
21
- return ContactDatatype;
22
- }
23
- },
24
- {
25
- type: "patchwork:tool",
26
- id: "contact",
27
- name: "Contact Viewer",
28
- supportedDatatypes: ["contact"],
29
- async load() {
30
- const { renderContactViewer } = await import("./ContactViewer-ZHEE6INW.js");
31
- const css = await loadStyles();
32
- return (handle, element) => {
33
- addStyles(document.head, css);
34
- return renderContactViewer(handle, element);
35
- };
36
- }
37
- },
38
- {
39
- type: "patchwork:tool",
40
- id: "contact-avatar",
41
- name: "Contact Avatar",
42
- supportedDatatypes: ["contact"],
43
- async load() {
44
- const { renderContactAvatar } = await import("./ContactAvatar-FP32ZZH2.js");
45
- const css = await loadStyles();
46
- return (handle, element) => {
47
- addStyles(document.head, css);
48
- return renderContactAvatar(handle, element);
49
- };
50
- }
51
- },
52
- {
53
- type: "patchwork:tool",
54
- id: "contact-inline",
55
- name: "Inline Contact Avatar",
56
- supportedDatatypes: ["contact"],
57
- async load() {
58
- const { renderInlineContactAvatar } = await import("./InlineContactAvatar-VZDPEZV2.js");
59
- const css = await loadStyles();
60
- return (handle, element) => {
61
- addStyles(document.head, css);
62
- return renderInlineContactAvatar(handle, element);
63
- };
64
- }
65
- }
66
- ];
67
- export {
68
- plugins
69
- };
70
- //# sourceMappingURL=tool.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/tool.ts"],
4
- "sourcesContent": ["import type { ToolImplementation } from \"@inkandswitch/patchwork-plugins\";\nimport \"./styles.css\";\n\nfunction addStyles(element: HTMLElement, textContent: string) {\n const id = \"contact-styles\";\n const el = element.querySelector(`#${id}`) ?? document.createElement(\"style\");\n Object.assign(el, { textContent, id });\n element.append(el);\n}\n\nasync function loadStyles() {\n const url = new URL(\"./tool.css\", import.meta.url);\n return (await fetch(url)).text();\n}\n\nexport const plugins = [\n {\n type: \"patchwork:datatype\",\n id: \"contact\",\n name: \"Contact\",\n icon: \"User\",\n unlisted: true,\n async load() {\n const { ContactDatatype } = await import(\"./datatype\");\n return ContactDatatype;\n },\n },\n {\n type: \"patchwork:tool\",\n id: \"contact\",\n name: \"Contact Viewer\",\n supportedDatatypes: [\"contact\"],\n async load(): Promise<ToolImplementation> {\n const { renderContactViewer } =\n await import(\"./components/ContactViewer\");\n const css = await loadStyles();\n return (handle, element) => {\n addStyles(document.head, css);\n return renderContactViewer(handle, element);\n };\n },\n },\n {\n type: \"patchwork:tool\",\n id: \"contact-avatar\",\n name: \"Contact Avatar\",\n supportedDatatypes: [\"contact\"],\n async load(): Promise<ToolImplementation> {\n const { renderContactAvatar } =\n await import(\"./components/ContactAvatar\");\n const css = await loadStyles();\n return (handle, element) => {\n addStyles(document.head, css);\n return renderContactAvatar(handle, element);\n };\n },\n },\n {\n type: \"patchwork:tool\",\n id: \"contact-inline\",\n name: \"Inline Contact Avatar\",\n supportedDatatypes: [\"contact\"],\n async load(): Promise<ToolImplementation> {\n const { renderInlineContactAvatar } =\n await import(\"./components/InlineContactAvatar\");\n const css = await loadStyles();\n return (handle, element) => {\n addStyles(document.head, css);\n return renderInlineContactAvatar(handle, element);\n };\n },\n },\n];\n"],
5
- "mappings": ";AAGA,SAAS,UAAU,SAAsB,aAAqB;AAC5D,QAAM,KAAK;AACX,QAAM,KAAK,QAAQ,cAAc,IAAI,EAAE,EAAE,KAAK,SAAS,cAAc,OAAO;AAC5E,SAAO,OAAO,IAAI,EAAE,aAAa,GAAG,CAAC;AACrC,UAAQ,OAAO,EAAE;AACnB;AAEA,eAAe,aAAa;AAC1B,QAAM,MAAM,IAAI,IAAI,cAAc,YAAY,GAAG;AACjD,UAAQ,MAAM,MAAM,GAAG,GAAG,KAAK;AACjC;AAEO,IAAM,UAAU;AAAA,EACrB;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,MAAM,OAAO;AACX,YAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,wBAAY;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,oBAAoB,CAAC,SAAS;AAAA,IAC9B,MAAM,OAAoC;AACxC,YAAM,EAAE,oBAAoB,IAC1B,MAAM,OAAO,6BAA4B;AAC3C,YAAM,MAAM,MAAM,WAAW;AAC7B,aAAO,CAAC,QAAQ,YAAY;AAC1B,kBAAU,SAAS,MAAM,GAAG;AAC5B,eAAO,oBAAoB,QAAQ,OAAO;AAAA,MAC5C;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,oBAAoB,CAAC,SAAS;AAAA,IAC9B,MAAM,OAAoC;AACxC,YAAM,EAAE,oBAAoB,IAC1B,MAAM,OAAO,6BAA4B;AAC3C,YAAM,MAAM,MAAM,WAAW;AAC7B,aAAO,CAAC,QAAQ,YAAY;AAC1B,kBAAU,SAAS,MAAM,GAAG;AAC5B,eAAO,oBAAoB,QAAQ,OAAO;AAAA,MAC5C;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,oBAAoB,CAAC,SAAS;AAAA,IAC9B,MAAM,OAAoC;AACxC,YAAM,EAAE,0BAA0B,IAChC,MAAM,OAAO,mCAAkC;AACjD,YAAM,MAAM,MAAM,WAAW;AAC7B,aAAO,CAAC,QAAQ,YAAY;AAC1B,kBAAU,SAAS,MAAM,GAAG;AAC5B,eAAO,0BAA0B,QAAQ,OAAO;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AACF;",
6
- "names": []
7
- }