@e280/quay 0.0.0-2 → 0.0.0-20

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 (168) hide show
  1. package/README.md +98 -0
  2. package/package.json +17 -11
  3. package/s/cellar/cask.ts +1 -13
  4. package/s/cellar/cellar.test.ts +25 -42
  5. package/s/cellar/cellar.ts +16 -20
  6. package/s/cellar/index.ts +0 -4
  7. package/s/cellar/mammoth.ts +50 -0
  8. package/s/cellar/mammoth.worker.bundle.ts +30 -0
  9. package/s/demo/main.bundle.ts +2 -3
  10. package/s/dom/components/breadcrumb/component.ts +6 -5
  11. package/s/dom/components/browser/component.ts +11 -7
  12. package/s/dom/components/browser/style.css.ts +31 -31
  13. package/s/dom/components/dropzone/component.ts +6 -4
  14. package/s/dom/components/dropzone/style.css.ts +12 -13
  15. package/s/dom/components/filter/component.ts +13 -8
  16. package/s/dom/components/outliner/component.ts +8 -5
  17. package/s/dom/components/searchbar/component.ts +13 -7
  18. package/s/dom/components/sort/component.ts +13 -9
  19. package/s/dom/theme.css.ts +66 -2
  20. package/s/dom/views/tree/component.ts +10 -8
  21. package/s/dom/views/tree/style.css.ts +10 -10
  22. package/s/genius/parts/hy-tree.ts +10 -9
  23. package/s/index.html.ts +68 -73
  24. package/s/index.ts +6 -1
  25. package/s/logic/aspects/codex/codex.ts +3 -3
  26. package/s/logic/aspects/codex/example.ts +1 -4
  27. package/s/logic/aspects/codex/parts/codex-item.ts +4 -4
  28. package/s/logic/aspects/codex/parts/hierarchy.ts +1 -0
  29. package/s/logic/aspects/codex/parts/types.ts +1 -1
  30. package/s/logic/aspects/dropzone.ts +20 -16
  31. package/s/logic/aspects/tree-trail.ts +5 -4
  32. package/s/logic/brain.ts +5 -3
  33. package/s/logic/group.ts +13 -10
  34. package/s/logic/presets/media/group.ts +5 -4
  35. package/s/logic/presets/media/library.test.ts +82 -0
  36. package/s/logic/presets/media/library.ts +249 -0
  37. package/s/logic/presets/media/schema.ts +10 -1
  38. package/s/logic/presets/opfs/schema.ts +1 -1
  39. package/s/logic/presets/plain/group.ts +2 -2
  40. package/s/logic/presets/plain/schema.ts +1 -1
  41. package/s/logic/types.ts +1 -1
  42. package/s/tests.test.ts +2 -0
  43. package/x/cellar/cask.d.ts +2 -4
  44. package/x/cellar/cask.js +3 -12
  45. package/x/cellar/cask.js.map +1 -1
  46. package/x/cellar/cellar.d.ts +9 -7
  47. package/x/cellar/cellar.js +17 -22
  48. package/x/cellar/cellar.js.map +1 -1
  49. package/x/cellar/cellar.test.d.ts +2 -3
  50. package/x/cellar/cellar.test.js +24 -39
  51. package/x/cellar/cellar.test.js.map +1 -1
  52. package/x/cellar/index.d.ts +0 -3
  53. package/x/cellar/index.js +0 -3
  54. package/x/cellar/index.js.map +1 -1
  55. package/x/cellar/mammoth.d.ts +23 -0
  56. package/x/cellar/mammoth.js +34 -0
  57. package/x/cellar/mammoth.js.map +1 -0
  58. package/x/cellar/mammoth.worker.bundle.d.ts +1 -0
  59. package/x/cellar/mammoth.worker.bundle.js +20 -0
  60. package/x/cellar/mammoth.worker.bundle.js.map +1 -0
  61. package/x/cellar/mammoth.worker.bundle.min.js +8 -0
  62. package/x/cellar/mammoth.worker.bundle.min.js.map +7 -0
  63. package/x/demo/main.bundle.js +2 -2
  64. package/x/demo/main.bundle.js.map +1 -1
  65. package/x/demo/main.bundle.min.js +229 -197
  66. package/x/demo/main.bundle.min.js.LEGAL.txt +33 -0
  67. package/x/demo/main.bundle.min.js.map +7 -0
  68. package/x/dom/components/breadcrumb/component.d.ts +1 -1
  69. package/x/dom/components/breadcrumb/component.js +6 -5
  70. package/x/dom/components/breadcrumb/component.js.map +1 -1
  71. package/x/dom/components/browser/component.d.ts +1 -1
  72. package/x/dom/components/browser/component.js +10 -7
  73. package/x/dom/components/browser/component.js.map +1 -1
  74. package/x/dom/components/browser/style.css.d.ts +1 -1
  75. package/x/dom/components/browser/style.css.js +31 -30
  76. package/x/dom/components/browser/style.css.js.map +1 -1
  77. package/x/dom/components/dropzone/component.d.ts +1 -1
  78. package/x/dom/components/dropzone/component.js +6 -4
  79. package/x/dom/components/dropzone/component.js.map +1 -1
  80. package/x/dom/components/dropzone/style.css.d.ts +1 -1
  81. package/x/dom/components/dropzone/style.css.js +12 -12
  82. package/x/dom/components/dropzone/style.css.js.map +1 -1
  83. package/x/dom/components/filter/component.d.ts +1 -1
  84. package/x/dom/components/filter/component.js +10 -8
  85. package/x/dom/components/filter/component.js.map +1 -1
  86. package/x/dom/components/outliner/component.d.ts +1 -1
  87. package/x/dom/components/outliner/component.js +7 -5
  88. package/x/dom/components/outliner/component.js.map +1 -1
  89. package/x/dom/components/searchbar/component.d.ts +1 -1
  90. package/x/dom/components/searchbar/component.js +12 -6
  91. package/x/dom/components/searchbar/component.js.map +1 -1
  92. package/x/dom/components/sort/component.d.ts +1 -1
  93. package/x/dom/components/sort/component.js +11 -9
  94. package/x/dom/components/sort/component.js.map +1 -1
  95. package/x/dom/components.d.ts +7 -7
  96. package/x/dom/theme.css.d.ts +1 -1
  97. package/x/dom/theme.css.js +65 -1
  98. package/x/dom/theme.css.js.map +1 -1
  99. package/x/dom/views/tree/component.d.ts +1 -6
  100. package/x/dom/views/tree/component.js +10 -8
  101. package/x/dom/views/tree/component.js.map +1 -1
  102. package/x/dom/views/tree/style.css.d.ts +1 -1
  103. package/x/dom/views/tree/style.css.js +10 -10
  104. package/x/dom/views/tree/style.css.js.map +1 -1
  105. package/x/genius/parts/hy-tree.js +9 -8
  106. package/x/genius/parts/hy-tree.js.map +1 -1
  107. package/x/index.d.ts +6 -1
  108. package/x/index.html +70 -167
  109. package/x/index.html.d.ts +1 -2
  110. package/x/index.html.js +67 -73
  111. package/x/index.html.js.map +1 -1
  112. package/x/index.js +6 -1
  113. package/x/index.js.map +1 -1
  114. package/x/logic/aspects/codex/codex.js +3 -3
  115. package/x/logic/aspects/codex/codex.js.map +1 -1
  116. package/x/logic/aspects/codex/example.d.ts +0 -1
  117. package/x/logic/aspects/codex/example.js +1 -3
  118. package/x/logic/aspects/codex/example.js.map +1 -1
  119. package/x/logic/aspects/codex/parts/codex-item.d.ts +1 -1
  120. package/x/logic/aspects/codex/parts/codex-item.js +4 -4
  121. package/x/logic/aspects/codex/parts/codex-item.js.map +1 -1
  122. package/x/logic/aspects/codex/parts/hierarchy.js +1 -0
  123. package/x/logic/aspects/codex/parts/hierarchy.js.map +1 -1
  124. package/x/logic/aspects/codex/parts/types.d.ts +1 -1
  125. package/x/logic/aspects/dropzone.d.ts +1 -1
  126. package/x/logic/aspects/dropzone.js +19 -15
  127. package/x/logic/aspects/dropzone.js.map +1 -1
  128. package/x/logic/aspects/tree-trail.d.ts +1 -1
  129. package/x/logic/aspects/tree-trail.js +4 -4
  130. package/x/logic/aspects/tree-trail.js.map +1 -1
  131. package/x/logic/brain.d.ts +4 -2
  132. package/x/logic/brain.js.map +1 -1
  133. package/x/logic/group.d.ts +7 -7
  134. package/x/logic/group.js +10 -8
  135. package/x/logic/group.js.map +1 -1
  136. package/x/logic/presets/media/group.d.ts +1 -1
  137. package/x/logic/presets/media/group.js +3 -3
  138. package/x/logic/presets/media/group.js.map +1 -1
  139. package/x/logic/presets/media/library.d.ts +59 -0
  140. package/x/logic/presets/media/library.js +201 -0
  141. package/x/logic/presets/media/library.js.map +1 -0
  142. package/x/logic/presets/media/library.test.d.ts +9 -0
  143. package/x/logic/presets/media/library.test.js +62 -0
  144. package/x/logic/presets/media/library.test.js.map +1 -0
  145. package/x/logic/presets/media/schema.d.ts +10 -1
  146. package/x/logic/presets/opfs/schema.d.ts +1 -1
  147. package/x/logic/presets/plain/group.js +2 -2
  148. package/x/logic/presets/plain/group.js.map +1 -1
  149. package/x/logic/presets/plain/schema.d.ts +1 -1
  150. package/x/logic/types.d.ts +1 -1
  151. package/x/tests.test.js +2 -0
  152. package/x/tests.test.js.map +1 -1
  153. package/s/cellar/forklift.ts +0 -9
  154. package/s/cellar/memory-forklift.ts +0 -29
  155. package/s/cellar/opfs-forklift.ts +0 -49
  156. package/x/cellar/forklift.d.ts +0 -7
  157. package/x/cellar/forklift.js +0 -2
  158. package/x/cellar/forklift.js.map +0 -1
  159. package/x/cellar/memory-forklift.d.ts +0 -9
  160. package/x/cellar/memory-forklift.js +0 -21
  161. package/x/cellar/memory-forklift.js.map +0 -1
  162. package/x/cellar/opfs-forklift.d.ts +0 -11
  163. package/x/cellar/opfs-forklift.js +0 -44
  164. package/x/cellar/opfs-forklift.js.map +0 -1
  165. package/x/genius/folio.md +0 -29
  166. package/x/genius/quay.md +0 -13
  167. package/x/genius/turbo.md +0 -21
  168. package/x/importmap.json +0 -47
package/x/index.js CHANGED
@@ -1,6 +1,11 @@
1
- export { register, css } from "@benev/slate";
1
+ export { css } from "lit";
2
+ export { dom } from "@e280/sly";
2
3
  export * from "./cellar/index.js";
3
4
  export * from "./dom/components.js";
5
+ export { brain } from "./dom/context.js";
6
+ export * from "./logic/presets/media/schema.js";
7
+ export * from "./logic/presets/media/group.js";
8
+ export * from "./logic/presets/media/library.js";
4
9
  import { Permissions } from "./logic/permissions.js";
5
10
  const Quay = {
6
11
  permissions: Permissions,
package/x/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAE,GAAG,EAAC,MAAM,cAAc,CAAA;AAE1C,cAAc,mBAAmB,CAAA;AAEjC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAElD,MAAM,IAAI,GAAG;IACZ,WAAW,EAAE,WAAW;CACxB,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAA;AACvB,OAAO,EAAC,GAAG,EAAC,MAAM,WAAW,CAAA;AAE7B,cAAc,mBAAmB,CAAA;AAEjC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAElD,MAAM,IAAI,GAAG;IACZ,WAAW,EAAE,WAAW;CACxB,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -24,16 +24,16 @@ export class Codex {
24
24
  this.clade.setSpecimen(id, kind, specimen);
25
25
  const item = new CodexItem(this, id);
26
26
  this.#items.set(id, item);
27
- return item.signal.value;
27
+ return item.signal();
28
28
  }
29
29
  /** add an item to the hierachy as a root root */
30
30
  root(item) {
31
31
  this.hierarchy.establishRoot(item.id);
32
- return item.signal.value;
32
+ return item.signal();
33
33
  }
34
34
  /** get an item by its id */
35
35
  require(id) {
36
- return this.#items.require(id).signal.value;
36
+ return this.#items.require(id).signal();
37
37
  }
38
38
  }
39
39
  //# sourceMappingURL=codex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../s/logic/aspects/codex/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAE9B,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAA;AAGjD,MAAM,OAAO,KAAK;IAWT;IACA;IAXR,MAAM,CAAC,KAAK,CAAoB,MAAkB;QACjD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAK,MAAM,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAA;QACjC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,GAAG,IAAI,IAAI,EAAqB,CAAA;IAEtC,YACQ,KAAgB,EAChB,SAAoB;QADpB,UAAK,GAAL,KAAK,CAAW;QAChB,cAAS,GAAT,SAAS,CAAW;IACzB,CAAC;IAEJ,iDAAiD;IACjD,MAAM,CAAkC,IAAO,EAAE,QAA4B;QAC5E,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,iDAAiD;IACjD,IAAI,CAA0B,IAAO;QACpC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,4BAA4B;IAC5B,OAAO,CAAC,EAAM;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;IAC5C,CAAC;CACD"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../s/logic/aspects/codex/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAE9B,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAA;AAGjD,MAAM,OAAO,KAAK;IAWT;IACA;IAXR,MAAM,CAAC,KAAK,CAAoB,MAAkB;QACjD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAK,MAAM,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAA;QACjC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,GAAG,IAAI,IAAI,EAAqB,CAAA;IAEtC,YACQ,KAAgB,EAChB,SAAoB;QADpB,UAAK,GAAL,KAAK,CAAW;QAChB,cAAS,GAAT,SAAS,CAAW;IACzB,CAAC;IAEJ,iDAAiD;IACjD,MAAM,CAAkC,IAAO,EAAE,QAA4B;QAC5E,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACrB,CAAC;IAED,iDAAiD;IACjD,IAAI,CAA0B,IAAO;QACpC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACrB,CAAC;IAED,4BAA4B;IAC5B,OAAO,CAAC,EAAM;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA;IACxC,CAAC;CACD"}
@@ -1,4 +1,3 @@
1
- import "@benev/slate/x/node.js";
2
1
  import { AsSchema, Taxon } from "./parts/types.js";
3
2
  export type FilesystemSchema = AsSchema<{
4
3
  taxon: Taxon;
@@ -1,5 +1,3 @@
1
- import "@benev/slate/x/node.js";
2
- import { repeat_string } from "@benev/turtle";
3
1
  import { Codex } from "./codex.js";
4
2
  // we create a codex that uses our schema, and specifies these icons
5
3
  const codex = Codex.setup({
@@ -26,7 +24,7 @@ src
26
24
  // we can crawl any folder!
27
25
  // 👇
28
26
  for (const [item, ancestors] of folder.crawl()) {
29
- const indent = repeat_string(ancestors.length, " ");
27
+ const indent = " ".repeat(ancestors.length);
30
28
  const specimen = item.specimen;
31
29
  const label = item.kind === "folder"
32
30
  ? specimen.label + "/"
@@ -1 +1 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../s/logic/aspects/codex/example.ts"],"names":[],"mappings":"AACA,OAAO,wBAAwB,CAAA;AAC/B,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAgBhC,oEAAoE;AACpE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAmB;IAC3C,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC;IACpB,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC;CAClB,CAAC,CAAA;AAEF,uCAAuC;AACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAA;AACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,CAAC,CAAA;AACzD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,CAAC,CAAA;AAE/D,0CAA0C;AAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAA;AAClD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC,CAAA;AACvD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC,CAAA;AAEvD,4DAA4D;AAC5D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;KAChB,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,SAAS,CAAC;KACjB,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,4BAA4B;AAE1C,0CAA0C;AAC1C,GAAG;KACD,MAAM,CAAC,KAAK,CAAC;KACb,MAAM,CAAC,KAAK,CAAC,CAAA;AAEd,6CAA6C;AAC7C,wCAAwC;AACzC,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ;QACnC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG;QACtB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAA;IACjB,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;AAC5B,CAAC;AAED,WAAW;AACX,cAAc;AACd,iBAAiB;AACjB,SAAS;AACT,eAAe;AACf,eAAe"}
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../s/logic/aspects/codex/example.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAgBhC,oEAAoE;AACpE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAmB;IAC3C,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC;IACpB,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC;CAClB,CAAC,CAAA;AAEF,uCAAuC;AACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAA;AACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,CAAC,CAAA;AACzD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,CAAC,CAAA;AAE/D,0CAA0C;AAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAA;AAClD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC,CAAA;AACvD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC,CAAA;AAEvD,4DAA4D;AAC5D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;KAChB,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,SAAS,CAAC;KACjB,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,4BAA4B;AAE1C,0CAA0C;AAC1C,GAAG;KACD,MAAM,CAAC,KAAK,CAAC;KACb,MAAM,CAAC,KAAK,CAAC,CAAA;AAEd,6CAA6C;AAC7C,wCAAwC;AACzC,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ;QACnC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG;QACtB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAA;IACjB,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;AAC5B,CAAC;AAED,WAAW;AACX,cAAc;AACd,iBAAiB;AACjB,SAAS;AACT,eAAe;AACf,eAAe"}
@@ -8,7 +8,7 @@ import { Id, Kind, Schema } from "./types.js";
8
8
  export declare class CodexItem<Sc extends Schema = any, K extends Kind<Sc> = Kind<Sc>> {
9
9
  private codex;
10
10
  id: Id;
11
- signal: import("@benev/slate").Signal<this>;
11
+ signal: import("@e280/strata").Signal<this>;
12
12
  constructor(codex: Codex<Sc>, id: Id);
13
13
  get kind(): K;
14
14
  isKind<K2 extends Kind<Sc>>(kind: K2): this is CodexItem<Sc, K2>;
@@ -1,4 +1,4 @@
1
- import { signal } from "@benev/slate";
1
+ import { signal } from "@e280/strata";
2
2
  /**
3
3
  * Codex Item
4
4
  * - Quay's concept of a nestable thing.
@@ -42,13 +42,13 @@ export class CodexItem {
42
42
  /** add items as children */
43
43
  attach(...items) {
44
44
  this.codex.hierarchy.attach(this.id, ...items.map(i => i.id));
45
- this.signal.publish();
45
+ this.signal(this);
46
46
  return this;
47
47
  }
48
48
  /** detach this item from the hierarchy completely */
49
49
  detach() {
50
50
  this.codex.hierarchy.detach(this.id);
51
- this.signal.publish();
51
+ this.signal(this);
52
52
  }
53
53
  /** create a new item that will be a child */
54
54
  create(kind, specimen) {
@@ -59,7 +59,7 @@ export class CodexItem {
59
59
  /** create a new item that will be a child */
60
60
  destroy() {
61
61
  this.codex.hierarchy.destroy(this.id);
62
- this.signal.publish();
62
+ this.signal(this);
63
63
  }
64
64
  /** iterate over this item and all its descendants */
65
65
  *crawl(predicate = () => true) {
@@ -1 +1 @@
1
- {"version":3,"file":"codex-item.js","sourceRoot":"","sources":["../../../../../s/logic/aspects/codex/parts/codex-item.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAInC;;;;GAIG;AACH,MAAM,OAAO,SAAS;IAIZ;IACD;IAJR,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAErB,YACS,KAAgB,EACjB,EAAM;QADL,UAAK,GAAL,KAAK,CAAW;QACjB,OAAE,GAAF,EAAE,CAAI;IACX,CAAC;IAEJ,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAI,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;IAC/C,CAAC;IAED,MAAM,CAAsB,IAAQ;QACnC,OAAO,CAAC,IAAW,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,+CAA+C;IAC/C,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAA;IAC7C,CAAC;IAED,iDAAiD;IACjD,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAI,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAA;IACnD,CAAC;IAED,qEAAqE;IACrE,IAAI,MAAM;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtD,OAAO,MAAM;YACZ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAkB;YAC7C,CAAC,CAAC,SAAS,CAAA;IACb,CAAC;IAED,2CAA2C;IAC3C,IAAI,QAAQ;QACX,mGAAmG;QACnG,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACnD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,4BAA4B;IAC5B,MAAM,CAAC,GAAG,KAAsB;QAC/B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QACrB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,qDAAqD;IACrD,MAAM;QACL,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;IAED,6CAA6C;IAC7C,MAAM,CAAkC,IAAO,EAAE,QAA4B;QAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,6CAA6C;IAC7C,OAAO;QACN,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;IAED,qDAAqD;IACrD,CAAC,KAAK,CAAC,YAAqE,GAAG,EAAE,CAAC,IAAI;QACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAC1C,IAAI,CAAC,EAAE,EACP,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EACtB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CACtC,CACD,CAAA;QACD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,QAAQ;YAChC,MAAM;gBACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACF,CAAA;IACvC,CAAC;CACD"}
1
+ {"version":3,"file":"codex-item.js","sourceRoot":"","sources":["../../../../../s/logic/aspects/codex/parts/codex-item.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ export class Hierarchy {
45
45
  }
46
46
  /** destroy all relations associated with this id, and all its descendants */
47
47
  destroy(id) {
48
+ this.detach(id);
48
49
  const tree = [...this.crawl(id)];
49
50
  for (const [id] of tree) {
50
51
  this.#children.delete(id);
@@ -1 +1 @@
1
- {"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../../../../s/logic/aspects/codex/parts/hierarchy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../../../../s/logic/aspects/codex/parts/hierarchy.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Content } from "@benev/slate";
1
+ import { Content } from "@e280/sly";
2
2
  export type Id = string;
3
3
  export type Taxon = {
4
4
  icon: Content;
@@ -6,7 +6,7 @@ export declare class Dropzone {
6
6
  constructor(group: Group);
7
7
  get grabbed(): CodexItem<any, string | number | symbol> | undefined;
8
8
  get hovering(): CodexItem<any, string | number | symbol> | undefined;
9
- dragenter: (e: DragEvent, target?: CodexItem) => void;
9
+ dragenter: (e: DragEvent, target: CodexItem) => void;
10
10
  dragleave: (e: DragEvent) => void;
11
11
  dragstart: (e: DragEvent, n: CodexItem) => void;
12
12
  dragover: (e: DragEvent, n: CodexItem) => void;
@@ -1,8 +1,9 @@
1
- import { ShockDragDrop, signal } from "@benev/slate";
1
+ import { loot } from "@e280/sly/loot";
2
+ import { signal } from "@e280/strata";
2
3
  export class Dropzone {
3
4
  group;
4
- #drag_drop = new ShockDragDrop({
5
- handle_drop: (_e, grabbed, hovering) => this.group.move(grabbed, hovering)
5
+ #drag_drop = new loot.DragAndDrops({
6
+ acceptDrop: (_e, grabbed, hovering) => this.group.move(grabbed, hovering)
6
7
  });
7
8
  constructor(group) {
8
9
  this.group = group;
@@ -10,31 +11,34 @@ export class Dropzone {
10
11
  // to make drop file to import ui work
11
12
  #hovering = signal(undefined);
12
13
  get grabbed() {
13
- return this.#drag_drop.grabbed;
14
+ return this.#drag_drop.dragging;
14
15
  }
15
16
  get hovering() {
16
- return this.#drag_drop.hovering ?? this.#hovering.value;
17
+ return this.#drag_drop.hovering ?? this.#hovering();
17
18
  }
18
19
  dragenter = (e, target) => {
19
20
  e.preventDefault();
20
- this.#drag_drop.dropzone.dragenter()(e);
21
- this.#hovering.value = target;
21
+ this.#drag_drop.dropzone(() => target).dragenter(e);
22
+ this.#hovering(target);
22
23
  };
23
24
  dragleave = (e) => {
24
- this.#drag_drop.dropzone.dragleave()(e);
25
- this.#hovering.value = undefined;
25
+ const hovering = this.hovering;
26
+ if (hovering)
27
+ this.#drag_drop.dropzone(() => hovering).dragleave(e);
28
+ this.#hovering(undefined);
26
29
  };
27
30
  dragstart = (e, n) => {
28
31
  e.stopPropagation();
29
- this.#drag_drop.dragzone.dragstart(n)(e);
32
+ this.#drag_drop.dragzone(() => n).dragstart(e);
30
33
  };
31
34
  dragover = (e, n) => {
32
35
  e.preventDefault();
33
- this.#drag_drop.dropzone.dragover(n)(e);
36
+ this.#drag_drop.dropzone(() => n).dragover(e);
34
37
  };
35
38
  dragend = (e) => {
36
- this.#drag_drop.dragzone.dragend()(e);
37
- this.#hovering.value = undefined;
39
+ this.#drag_drop.$draggy(undefined);
40
+ this.#drag_drop.$droppy(undefined);
41
+ this.#hovering(undefined);
38
42
  };
39
43
  drop = (e, target) => {
40
44
  e.preventDefault();
@@ -46,8 +50,8 @@ export class Dropzone {
46
50
  const child = this.grabbed?.children.some(c => this.hovering?.id === c.id);
47
51
  const parent = this.grabbed?.parent?.id === this.hovering?.id;
48
52
  if (!same && !child && !parent)
49
- this.#drag_drop.dropzone.drop(target)(e);
50
- this.#hovering.value = undefined;
53
+ this.#drag_drop.dropzone(() => target).drop(e);
54
+ this.#hovering(undefined);
51
55
  };
52
56
  change = (e, targetFolder) => {
53
57
  const input = e.currentTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"dropzone.js","sourceRoot":"","sources":["../../../s/logic/aspects/dropzone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dropzone.js","sourceRoot":"","sources":["../../../s/logic/aspects/dropzone.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Schema } from "./codex/parts/types.js";
2
2
  import { CodexItem } from "./codex/parts/codex-item.js";
3
3
  export declare class TreeTrail<Sc extends Schema> {
4
- readonly signal: import("@benev/slate").Signal<CodexItem<Sc, keyof Sc["specimens"]>[]>;
4
+ readonly signal: import("@e280/strata").Signal<CodexItem<Sc, keyof Sc["specimens"]>[]>;
5
5
  constructor(root: CodexItem<Sc>);
6
6
  setTrail(e: Event, item: CodexItem<Sc>): void;
7
7
  get currentFolder(): CodexItem<Sc, keyof Sc["specimens"]>[];
@@ -1,8 +1,8 @@
1
- import { signal } from "@benev/slate";
1
+ import { signal } from "@e280/strata";
2
2
  export class TreeTrail {
3
3
  signal = signal([]);
4
4
  constructor(root) {
5
- this.signal.value = [root];
5
+ this.signal([root]);
6
6
  }
7
7
  setTrail(e, item) {
8
8
  if (e.target !== e.currentTarget)
@@ -15,10 +15,10 @@ export class TreeTrail {
15
15
  trail.unshift(cur);
16
16
  cur = cur.parent;
17
17
  }
18
- this.signal.value = trail;
18
+ this.signal(trail);
19
19
  }
20
20
  get currentFolder() {
21
- return this.signal.value.at(-1)?.children ?? [];
21
+ return this.signal().at(-1)?.children ?? [];
22
22
  }
23
23
  }
24
24
  //# sourceMappingURL=tree-trail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-trail.js","sourceRoot":"","sources":["../../../s/logic/aspects/tree-trail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAInC,MAAM,OAAO,SAAS;IACZ,MAAM,GAAG,MAAM,CAAkB,EAAE,CAAC,CAAA;IAE7C,YAAY,IAAmB;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,QAAQ,CAAC,CAAQ,EAAE,IAAmB;QACrC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa;YAAE,OAAM;QAExC,MAAM,KAAK,GAAoB,EAAE,CAAA;QAEjC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAEd,OAAO,GAAG,EAAE,CAAC;YACZ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAClB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IAC1B,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAA;IAChD,CAAC;CACD"}
1
+ {"version":3,"file":"tree-trail.js","sourceRoot":"","sources":["../../../s/logic/aspects/tree-trail.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAInC,MAAM,OAAO,SAAS;IACZ,MAAM,GAAG,MAAM,CAAkB,EAAE,CAAC,CAAA;IAE7C,YAAY,IAAmB;QAC9B,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACpB,CAAC;IAED,QAAQ,CAAC,CAAQ,EAAE,IAAmB;QACrC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa;YAAE,OAAM;QAExC,MAAM,KAAK,GAAoB,EAAE,CAAA;QAEjC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAEd,OAAO,GAAG,EAAE,CAAC;YACZ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAClB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAA;IAC5C,CAAC;CACD"}
@@ -1,4 +1,5 @@
1
1
  import { Group } from "./group.js";
2
+ type RegisteredGroup<G> = G extends Group<infer _Schema> ? G : never;
2
3
  /**
3
4
  * Quay's global state
4
5
  * - manages groups
@@ -6,6 +7,7 @@ import { Group } from "./group.js";
6
7
  */
7
8
  export declare class Brain {
8
9
  #private;
9
- setGroup<G extends Group>(name: string, group: G): G;
10
- getGroup<G extends Group>(name: string): G;
10
+ setGroup<G>(name: string, group: RegisteredGroup<G>): RegisteredGroup<G>;
11
+ getGroup<G = Group>(name: string): RegisteredGroup<G>;
11
12
  }
13
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"brain.js","sourceRoot":"","sources":["../../s/logic/brain.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAG9B;;;;GAIG;AACH,MAAM,OAAO,KAAK;IACjB,OAAO,GAAG,IAAI,IAAI,EAAiB,CAAA;IAEnC,QAAQ,CAAkB,IAAY,EAAE,KAAQ;QAC/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC7B,OAAO,KAAK,CAAA;IACb,CAAC;IAED,QAAQ,CAAkB,IAAY;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAM,CAAA;IACvC,CAAC;CACD"}
1
+ {"version":3,"file":"brain.js","sourceRoot":"","sources":["../../s/logic/brain.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAK9B;;;;GAIG;AACH,MAAM,OAAO,KAAK;IACjB,OAAO,GAAG,IAAI,IAAI,EAAiB,CAAA;IAEnC,QAAQ,CAAI,IAAY,EAAE,KAAyB;QAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC7B,OAAO,KAAK,CAAA;IACb,CAAC;IAED,QAAQ,CAAY,IAAY;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAuB,CAAA;IACxD,CAAC;CACD"}
@@ -8,9 +8,9 @@ export declare class Group<Sc extends Schema = any> {
8
8
  config: GroupConfig<Sc>;
9
9
  trail: TreeTrail<Sc>;
10
10
  dropzone: Dropzone;
11
- searchText: import("@benev/slate").Signal<string>;
12
- selectedFilter: import("@benev/slate").Signal<string>;
13
- selectedSort: import("@benev/slate").Signal<string>;
11
+ searchText: import("@e280/strata").Signal<string>;
12
+ selectedFilter: import("@e280/strata").Signal<string>;
13
+ selectedSort: import("@e280/strata").Signal<string>;
14
14
  on: {
15
15
  newFolder: import("@e280/stz").Sub<[{
16
16
  parent: CodexItem<Sc>;
@@ -20,7 +20,7 @@ export declare class Group<Sc extends Schema = any> {
20
20
  target: CodexItem<Sc>;
21
21
  }]>;
22
22
  delete: import("@e280/stz").Sub<[{
23
- item: CodexItem<Sc>;
23
+ items: CodexItem<Sc>[];
24
24
  }]>;
25
25
  rename: import("@e280/stz").Sub<[{
26
26
  item: CodexItem<Sc>;
@@ -36,16 +36,16 @@ export declare class Group<Sc extends Schema = any> {
36
36
  refresh: import("@e280/stz").Sub<[{}]>;
37
37
  };
38
38
  constructor(config: GroupConfig<Sc>);
39
- get permissions(): (item: CodexItem) => Permission;
39
+ get permissions(): (item: CodexItem<Sc>) => Permission;
40
40
  getFilterFn(filterKey: string): SearchFn<Sc>;
41
41
  getSearchFn(searchText: string): SearchFn<Sc>;
42
42
  getSortFn(sortKey: string): SortFn<Sc>;
43
43
  sort(items: CodexItem<Sc>[]): CodexItem<Sc>[];
44
44
  matches(item: CodexItem<Sc>): boolean;
45
45
  move(item: CodexItem<Sc>, target: CodexItem<Sc>): void;
46
- delete(item: CodexItem<Sc>): void;
46
+ delete(item: CodexItem<Sc>): Promise<void>;
47
47
  rename(item: CodexItem<Sc>, newName: string): void;
48
- upload(files: File[], folder: CodexItem<Sc>): void;
48
+ upload(files: File[], folder: CodexItem<Sc>): Promise<void>;
49
49
  addFolder(parent: CodexItem<Sc>): void;
50
50
  components: () => () => /*elided*/ any;
51
51
  }
package/x/logic/group.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { sub } from "@e280/stz";
2
- import { signal } from "@benev/slate";
2
+ import { signal } from "@e280/strata";
3
3
  import { Dropzone } from "./aspects/dropzone.js";
4
4
  import { TreeTrail } from "./aspects/tree-trail.js";
5
5
  export class Group {
@@ -20,8 +20,8 @@ export class Group {
20
20
  };
21
21
  constructor(config) {
22
22
  this.config = config;
23
- this.selectedFilter.value = config.defaultFilter;
24
- this.selectedSort.value = config.defaultSort;
23
+ this.selectedFilter(config.defaultFilter);
24
+ this.selectedSort(config.defaultSort);
25
25
  this.trail = new TreeTrail(config.root);
26
26
  }
27
27
  get permissions() {
@@ -38,12 +38,12 @@ export class Group {
38
38
  return this.config.sorts?.get(sortKey) ?? (() => 0);
39
39
  }
40
40
  sort(items) {
41
- const sortFn = this.getSortFn(this.selectedSort.value);
41
+ const sortFn = this.getSortFn(this.selectedSort());
42
42
  return [...items].sort(sortFn);
43
43
  }
44
44
  matches(item) {
45
- const filterFn = this.getFilterFn(this.selectedFilter.value);
46
- const searchFn = this.getSearchFn(this.searchText.value);
45
+ const filterFn = this.getFilterFn(this.selectedFilter());
46
+ const searchFn = this.getSearchFn(this.searchText());
47
47
  return filterFn(item) && searchFn(item);
48
48
  }
49
49
  move(item, target) {
@@ -56,8 +56,9 @@ export class Group {
56
56
  delete(item) {
57
57
  if (!this.permissions(item).delete)
58
58
  throw new Error("delete permission not granted");
59
+ const items = [...item.crawl()].map(([item]) => item);
59
60
  item.destroy();
60
- this.on.delete.pub({ item });
61
+ return this.on.delete.pub({ items });
61
62
  }
62
63
  rename(item, newName) {
63
64
  if (!this.permissions(item).rename)
@@ -67,7 +68,8 @@ export class Group {
67
68
  upload(files, folder) {
68
69
  if (!this.permissions(folder).upload)
69
70
  throw new Error("upload permission not granted");
70
- this.on.upload.pub({ files, target: folder });
71
+ return this.on.upload.pub({ files, target: folder })
72
+ .then(() => this.on.refresh.pub({}));
71
73
  }
72
74
  addFolder(parent) {
73
75
  if (!this.permissions(parent).newFolder)
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../s/logic/group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../s/logic/group.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Group } from "../../group.js";
2
2
  import { MediaSchema } from "./schema.js";
3
3
  import { GroupConfig } from "../../types.js";
4
- export declare class MediaGroup extends Group<MediaSchema> implements Group {
4
+ export declare class MediaGroup extends Group<MediaSchema> {
5
5
  static config: () => GroupConfig<MediaSchema>;
6
6
  constructor();
7
7
  }
@@ -1,7 +1,7 @@
1
+ import { html } from "lit";
1
2
  import { MapG } from "@e280/stz";
2
- import { html } from "@benev/slate";
3
- import Quay from "../../../index.js";
4
3
  import { Group } from "../../group.js";
4
+ import { Permissions } from "../../permissions.js";
5
5
  import { Codex } from "../../aspects/codex/codex.js";
6
6
  export class MediaGroup extends Group {
7
7
  static config = () => {
@@ -65,7 +65,7 @@ export class MediaGroup extends Group {
65
65
  // // TODO icons
66
66
  // : html`<sl-icon name=${item.taxon.icon}></sl-icon>`
67
67
  },
68
- permissions: item => Quay.permissions.all,
68
+ permissions: item => Permissions.all,
69
69
  };
70
70
  };
71
71
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../s/logic/presets/media/group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../s/logic/presets/media/group.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { MediaGroup } from "./group.js";
2
+ import { Cellar } from "../../../cellar/cellar.js";
3
+ import { MediaFormat, MediaProgress } from "./schema.js";
4
+ import { CodexItem } from "../../aspects/codex/parts/codex-item.js";
5
+ export type MediaRecord = {
6
+ hash: string;
7
+ label: string;
8
+ format: MediaFormat;
9
+ mime: string;
10
+ size: number;
11
+ createdAt: number;
12
+ updatedAt: number;
13
+ };
14
+ export declare class MediaLibrary extends MediaGroup {
15
+ #private;
16
+ static open(scope?: string): Promise<MediaLibrary>;
17
+ progress: import("@e280/stz").Sub<[MediaProgress]>;
18
+ cellar: Cellar;
19
+ constructor();
20
+ scope(name: string): Promise<MediaLibrary>;
21
+ records(): AsyncGenerator<MediaRecord, void, unknown>;
22
+ include(hash: string): Promise<void>;
23
+ findByHash(hash: string): (CodexItem<{
24
+ taxon: {
25
+ icon: import("@e280/sly").Content;
26
+ };
27
+ specimens: {
28
+ folder: {
29
+ label: string;
30
+ };
31
+ file: {
32
+ label: string;
33
+ format: MediaFormat;
34
+ previewUrl: string | null;
35
+ hash?: string;
36
+ mime?: string;
37
+ size?: number;
38
+ };
39
+ };
40
+ }, "folder" | "file"> & CodexItem<{
41
+ taxon: {
42
+ icon: import("@e280/sly").Content;
43
+ };
44
+ specimens: {
45
+ folder: {
46
+ label: string;
47
+ };
48
+ file: {
49
+ label: string;
50
+ format: MediaFormat;
51
+ previewUrl: string | null;
52
+ hash?: string;
53
+ mime?: string;
54
+ size?: number;
55
+ };
56
+ };
57
+ }, "file">) | undefined;
58
+ dispose(): void;
59
+ }