@trebired/frontend 1.10.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/actions/clipboard.d.ts +20 -0
  3. package/dist/actions/clipboard.d.ts.map +1 -0
  4. package/dist/actions/clipboard.js +152 -0
  5. package/dist/actions/clipboard.js.map +1 -0
  6. package/dist/actions/components/index.d.ts +2 -0
  7. package/dist/actions/components/index.d.ts.map +1 -1
  8. package/dist/actions/components/index.js +1 -0
  9. package/dist/actions/components/index.js.map +1 -1
  10. package/dist/actions/index.d.ts +4 -0
  11. package/dist/actions/index.d.ts.map +1 -1
  12. package/dist/actions/index.js +3 -0
  13. package/dist/actions/index.js.map +1 -1
  14. package/dist/actions/labels.d.ts +7 -0
  15. package/dist/actions/labels.d.ts.map +1 -0
  16. package/dist/actions/labels.js +52 -0
  17. package/dist/actions/labels.js.map +1 -0
  18. package/dist/actions/standard-buttons.d.ts +83 -0
  19. package/dist/actions/standard-buttons.d.ts.map +1 -0
  20. package/dist/actions/standard-buttons.js +141 -0
  21. package/dist/actions/standard-buttons.js.map +1 -0
  22. package/dist/entity/index.d.ts +2 -0
  23. package/dist/entity/index.d.ts.map +1 -0
  24. package/dist/entity/index.js +2 -0
  25. package/dist/entity/index.js.map +1 -0
  26. package/dist/entity/list.d.ts +25 -0
  27. package/dist/entity/list.d.ts.map +1 -0
  28. package/dist/entity/list.js +58 -0
  29. package/dist/entity/list.js.map +1 -0
  30. package/dist/index.d.ts +3 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +5 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/live/components/index.d.ts +11 -2
  35. package/dist/live/components/index.d.ts.map +1 -1
  36. package/dist/live/components/index.js +15 -2
  37. package/dist/live/components/index.js.map +1 -1
  38. package/dist/markdown/article.d.ts +14 -0
  39. package/dist/markdown/article.d.ts.map +1 -0
  40. package/dist/markdown/article.js +26 -0
  41. package/dist/markdown/article.js.map +1 -0
  42. package/dist/markdown/index.d.ts +2 -0
  43. package/dist/markdown/index.d.ts.map +1 -0
  44. package/dist/markdown/index.js +2 -0
  45. package/dist/markdown/index.js.map +1 -0
  46. package/dist/progress/bars.d.ts +38 -0
  47. package/dist/progress/bars.d.ts.map +1 -0
  48. package/dist/progress/bars.js +190 -0
  49. package/dist/progress/bars.js.map +1 -0
  50. package/dist/progress/index.d.ts +1 -0
  51. package/dist/progress/index.d.ts.map +1 -1
  52. package/dist/progress/index.js +1 -0
  53. package/dist/progress/index.js.map +1 -1
  54. package/dist/react/index.d.ts +4 -0
  55. package/dist/react/index.d.ts.map +1 -1
  56. package/dist/react/index.js +4 -0
  57. package/dist/react/index.js.map +1 -1
  58. package/dist/runtime/components.d.ts +12 -0
  59. package/dist/runtime/components.d.ts.map +1 -0
  60. package/dist/runtime/components.js +26 -0
  61. package/dist/runtime/components.js.map +1 -0
  62. package/dist/runtime/index.d.ts +2 -0
  63. package/dist/runtime/index.d.ts.map +1 -0
  64. package/dist/runtime/index.js +2 -0
  65. package/dist/runtime/index.js.map +1 -0
  66. package/dist/sidebar/components/index.d.ts +2 -0
  67. package/dist/sidebar/components/index.d.ts.map +1 -1
  68. package/dist/sidebar/components/index.js +1 -0
  69. package/dist/sidebar/components/index.js.map +1 -1
  70. package/dist/sidebar/dynamic/components/defaults.d.ts +7 -0
  71. package/dist/sidebar/dynamic/components/defaults.d.ts.map +1 -0
  72. package/dist/sidebar/dynamic/components/defaults.js +44 -0
  73. package/dist/sidebar/dynamic/components/defaults.js.map +1 -0
  74. package/dist/sidebar/dynamic/components/index.d.ts +5 -0
  75. package/dist/sidebar/dynamic/components/index.d.ts.map +1 -0
  76. package/dist/sidebar/dynamic/components/index.js +5 -0
  77. package/dist/sidebar/dynamic/components/index.js.map +1 -0
  78. package/dist/sidebar/dynamic/components/list.d.ts +4 -0
  79. package/dist/sidebar/dynamic/components/list.d.ts.map +1 -0
  80. package/dist/sidebar/dynamic/components/list.js +19 -0
  81. package/dist/sidebar/dynamic/components/list.js.map +1 -0
  82. package/dist/sidebar/dynamic/components/row.d.ts +14 -0
  83. package/dist/sidebar/dynamic/components/row.d.ts.map +1 -0
  84. package/dist/sidebar/dynamic/components/row.js +60 -0
  85. package/dist/sidebar/dynamic/components/row.js.map +1 -0
  86. package/dist/sidebar/dynamic/components/slots.d.ts +31 -0
  87. package/dist/sidebar/dynamic/components/slots.d.ts.map +1 -0
  88. package/dist/sidebar/dynamic/components/slots.js +55 -0
  89. package/dist/sidebar/dynamic/components/slots.js.map +1 -0
  90. package/dist/sidebar/dynamic/index.d.ts +5 -0
  91. package/dist/sidebar/dynamic/index.d.ts.map +1 -0
  92. package/dist/sidebar/dynamic/index.js +4 -0
  93. package/dist/sidebar/dynamic/index.js.map +1 -0
  94. package/dist/sidebar/dynamic/runtime/apply.d.ts +10 -0
  95. package/dist/sidebar/dynamic/runtime/apply.d.ts.map +1 -0
  96. package/dist/sidebar/dynamic/runtime/apply.js +129 -0
  97. package/dist/sidebar/dynamic/runtime/apply.js.map +1 -0
  98. package/dist/sidebar/dynamic/runtime/dom.d.ts +9 -0
  99. package/dist/sidebar/dynamic/runtime/dom.d.ts.map +1 -0
  100. package/dist/sidebar/dynamic/runtime/dom.js +31 -0
  101. package/dist/sidebar/dynamic/runtime/dom.js.map +1 -0
  102. package/dist/sidebar/dynamic/runtime/guards.d.ts +3 -0
  103. package/dist/sidebar/dynamic/runtime/guards.d.ts.map +1 -0
  104. package/dist/sidebar/dynamic/runtime/guards.js +19 -0
  105. package/dist/sidebar/dynamic/runtime/guards.js.map +1 -0
  106. package/dist/sidebar/dynamic/runtime/index.d.ts +7 -0
  107. package/dist/sidebar/dynamic/runtime/index.d.ts.map +1 -0
  108. package/dist/sidebar/dynamic/runtime/index.js +6 -0
  109. package/dist/sidebar/dynamic/runtime/index.js.map +1 -0
  110. package/dist/sidebar/dynamic/runtime/live.d.ts +13 -0
  111. package/dist/sidebar/dynamic/runtime/live.d.ts.map +1 -0
  112. package/dist/sidebar/dynamic/runtime/live.js +165 -0
  113. package/dist/sidebar/dynamic/runtime/live.js.map +1 -0
  114. package/dist/sidebar/dynamic/runtime/renderers.d.ts +7 -0
  115. package/dist/sidebar/dynamic/runtime/renderers.d.ts.map +1 -0
  116. package/dist/sidebar/dynamic/runtime/renderers.js +43 -0
  117. package/dist/sidebar/dynamic/runtime/renderers.js.map +1 -0
  118. package/dist/sidebar/dynamic/runtime/selectors.d.ts +9 -0
  119. package/dist/sidebar/dynamic/runtime/selectors.d.ts.map +1 -0
  120. package/dist/sidebar/dynamic/runtime/selectors.js +9 -0
  121. package/dist/sidebar/dynamic/runtime/selectors.js.map +1 -0
  122. package/dist/sidebar/dynamic/runtime/types.d.ts +40 -0
  123. package/dist/sidebar/dynamic/runtime/types.d.ts.map +1 -0
  124. package/dist/sidebar/dynamic/runtime/types.js +2 -0
  125. package/dist/sidebar/dynamic/runtime/types.js.map +1 -0
  126. package/dist/sidebar/dynamic/tree.d.ts +18 -0
  127. package/dist/sidebar/dynamic/tree.d.ts.map +1 -0
  128. package/dist/sidebar/dynamic/tree.js +106 -0
  129. package/dist/sidebar/dynamic/tree.js.map +1 -0
  130. package/dist/sidebar/dynamic/types.d.ts +99 -0
  131. package/dist/sidebar/dynamic/types.d.ts.map +1 -0
  132. package/dist/sidebar/dynamic/types.js +2 -0
  133. package/dist/sidebar/dynamic/types.js.map +1 -0
  134. package/dist/sidebar/index.d.ts +3 -0
  135. package/dist/sidebar/index.d.ts.map +1 -1
  136. package/dist/sidebar/index.js +3 -0
  137. package/dist/sidebar/index.js.map +1 -1
  138. package/dist/src/actions/clipboard.d.ts +20 -0
  139. package/dist/src/actions/clipboard.d.ts.map +1 -0
  140. package/dist/src/actions/clipboard.js +152 -0
  141. package/dist/src/actions/clipboard.js.map +1 -0
  142. package/dist/src/actions/components/index.d.ts +2 -0
  143. package/dist/src/actions/components/index.d.ts.map +1 -1
  144. package/dist/src/actions/components/index.js +1 -0
  145. package/dist/src/actions/components/index.js.map +1 -1
  146. package/dist/src/actions/index.d.ts +4 -0
  147. package/dist/src/actions/index.d.ts.map +1 -1
  148. package/dist/src/actions/index.js +3 -0
  149. package/dist/src/actions/index.js.map +1 -1
  150. package/dist/src/actions/labels.d.ts +7 -0
  151. package/dist/src/actions/labels.d.ts.map +1 -0
  152. package/dist/src/actions/labels.js +52 -0
  153. package/dist/src/actions/labels.js.map +1 -0
  154. package/dist/src/actions/standard-buttons.d.ts +83 -0
  155. package/dist/src/actions/standard-buttons.d.ts.map +1 -0
  156. package/dist/src/actions/standard-buttons.js +141 -0
  157. package/dist/src/actions/standard-buttons.js.map +1 -0
  158. package/dist/src/entity/index.d.ts +2 -0
  159. package/dist/src/entity/index.d.ts.map +1 -0
  160. package/dist/src/entity/index.js +2 -0
  161. package/dist/src/entity/index.js.map +1 -0
  162. package/dist/src/entity/list.d.ts +25 -0
  163. package/dist/src/entity/list.d.ts.map +1 -0
  164. package/dist/src/entity/list.js +58 -0
  165. package/dist/src/entity/list.js.map +1 -0
  166. package/dist/src/index.d.ts +3 -0
  167. package/dist/src/index.d.ts.map +1 -1
  168. package/dist/src/index.js +5 -1
  169. package/dist/src/index.js.map +1 -1
  170. package/dist/src/live/components/index.d.ts +11 -2
  171. package/dist/src/live/components/index.d.ts.map +1 -1
  172. package/dist/src/live/components/index.js +15 -2
  173. package/dist/src/live/components/index.js.map +1 -1
  174. package/dist/src/markdown/article.d.ts +14 -0
  175. package/dist/src/markdown/article.d.ts.map +1 -0
  176. package/dist/src/markdown/article.js +26 -0
  177. package/dist/src/markdown/article.js.map +1 -0
  178. package/dist/src/markdown/index.d.ts +2 -0
  179. package/dist/src/markdown/index.d.ts.map +1 -0
  180. package/dist/src/markdown/index.js +2 -0
  181. package/dist/src/markdown/index.js.map +1 -0
  182. package/dist/src/progress/bars.d.ts +38 -0
  183. package/dist/src/progress/bars.d.ts.map +1 -0
  184. package/dist/src/progress/bars.js +190 -0
  185. package/dist/src/progress/bars.js.map +1 -0
  186. package/dist/src/progress/index.d.ts +1 -0
  187. package/dist/src/progress/index.d.ts.map +1 -1
  188. package/dist/src/progress/index.js +1 -0
  189. package/dist/src/progress/index.js.map +1 -1
  190. package/dist/src/react/index.d.ts +4 -0
  191. package/dist/src/react/index.d.ts.map +1 -1
  192. package/dist/src/react/index.js +4 -0
  193. package/dist/src/react/index.js.map +1 -1
  194. package/dist/src/runtime/components.d.ts +12 -0
  195. package/dist/src/runtime/components.d.ts.map +1 -0
  196. package/dist/src/runtime/components.js +26 -0
  197. package/dist/src/runtime/components.js.map +1 -0
  198. package/dist/src/runtime/index.d.ts +2 -0
  199. package/dist/src/runtime/index.d.ts.map +1 -0
  200. package/dist/src/runtime/index.js +2 -0
  201. package/dist/src/runtime/index.js.map +1 -0
  202. package/dist/src/sidebar/components/index.d.ts +2 -0
  203. package/dist/src/sidebar/components/index.d.ts.map +1 -1
  204. package/dist/src/sidebar/components/index.js +1 -0
  205. package/dist/src/sidebar/components/index.js.map +1 -1
  206. package/dist/src/sidebar/dynamic/components/defaults.d.ts +7 -0
  207. package/dist/src/sidebar/dynamic/components/defaults.d.ts.map +1 -0
  208. package/dist/src/sidebar/dynamic/components/defaults.js +44 -0
  209. package/dist/src/sidebar/dynamic/components/defaults.js.map +1 -0
  210. package/dist/src/sidebar/dynamic/components/index.d.ts +5 -0
  211. package/dist/src/sidebar/dynamic/components/index.d.ts.map +1 -0
  212. package/dist/src/sidebar/dynamic/components/index.js +5 -0
  213. package/dist/src/sidebar/dynamic/components/index.js.map +1 -0
  214. package/dist/src/sidebar/dynamic/components/list.d.ts +4 -0
  215. package/dist/src/sidebar/dynamic/components/list.d.ts.map +1 -0
  216. package/dist/src/sidebar/dynamic/components/list.js +19 -0
  217. package/dist/src/sidebar/dynamic/components/list.js.map +1 -0
  218. package/dist/src/sidebar/dynamic/components/row.d.ts +14 -0
  219. package/dist/src/sidebar/dynamic/components/row.d.ts.map +1 -0
  220. package/dist/src/sidebar/dynamic/components/row.js +60 -0
  221. package/dist/src/sidebar/dynamic/components/row.js.map +1 -0
  222. package/dist/src/sidebar/dynamic/components/slots.d.ts +31 -0
  223. package/dist/src/sidebar/dynamic/components/slots.d.ts.map +1 -0
  224. package/dist/src/sidebar/dynamic/components/slots.js +55 -0
  225. package/dist/src/sidebar/dynamic/components/slots.js.map +1 -0
  226. package/dist/src/sidebar/dynamic/index.d.ts +5 -0
  227. package/dist/src/sidebar/dynamic/index.d.ts.map +1 -0
  228. package/dist/src/sidebar/dynamic/index.js +4 -0
  229. package/dist/src/sidebar/dynamic/index.js.map +1 -0
  230. package/dist/src/sidebar/dynamic/runtime/apply.d.ts +10 -0
  231. package/dist/src/sidebar/dynamic/runtime/apply.d.ts.map +1 -0
  232. package/dist/src/sidebar/dynamic/runtime/apply.js +129 -0
  233. package/dist/src/sidebar/dynamic/runtime/apply.js.map +1 -0
  234. package/dist/src/sidebar/dynamic/runtime/dom.d.ts +9 -0
  235. package/dist/src/sidebar/dynamic/runtime/dom.d.ts.map +1 -0
  236. package/dist/src/sidebar/dynamic/runtime/dom.js +31 -0
  237. package/dist/src/sidebar/dynamic/runtime/dom.js.map +1 -0
  238. package/dist/src/sidebar/dynamic/runtime/guards.d.ts +3 -0
  239. package/dist/src/sidebar/dynamic/runtime/guards.d.ts.map +1 -0
  240. package/dist/src/sidebar/dynamic/runtime/guards.js +19 -0
  241. package/dist/src/sidebar/dynamic/runtime/guards.js.map +1 -0
  242. package/dist/src/sidebar/dynamic/runtime/index.d.ts +7 -0
  243. package/dist/src/sidebar/dynamic/runtime/index.d.ts.map +1 -0
  244. package/dist/src/sidebar/dynamic/runtime/index.js +6 -0
  245. package/dist/src/sidebar/dynamic/runtime/index.js.map +1 -0
  246. package/dist/src/sidebar/dynamic/runtime/live.d.ts +13 -0
  247. package/dist/src/sidebar/dynamic/runtime/live.d.ts.map +1 -0
  248. package/dist/src/sidebar/dynamic/runtime/live.js +165 -0
  249. package/dist/src/sidebar/dynamic/runtime/live.js.map +1 -0
  250. package/dist/src/sidebar/dynamic/runtime/renderers.d.ts +7 -0
  251. package/dist/src/sidebar/dynamic/runtime/renderers.d.ts.map +1 -0
  252. package/dist/src/sidebar/dynamic/runtime/renderers.js +43 -0
  253. package/dist/src/sidebar/dynamic/runtime/renderers.js.map +1 -0
  254. package/dist/src/sidebar/dynamic/runtime/selectors.d.ts +9 -0
  255. package/dist/src/sidebar/dynamic/runtime/selectors.d.ts.map +1 -0
  256. package/dist/src/sidebar/dynamic/runtime/selectors.js +9 -0
  257. package/dist/src/sidebar/dynamic/runtime/selectors.js.map +1 -0
  258. package/dist/src/sidebar/dynamic/runtime/types.d.ts +40 -0
  259. package/dist/src/sidebar/dynamic/runtime/types.d.ts.map +1 -0
  260. package/dist/src/sidebar/dynamic/runtime/types.js +2 -0
  261. package/dist/src/sidebar/dynamic/runtime/types.js.map +1 -0
  262. package/dist/src/sidebar/dynamic/tree.d.ts +18 -0
  263. package/dist/src/sidebar/dynamic/tree.d.ts.map +1 -0
  264. package/dist/src/sidebar/dynamic/tree.js +106 -0
  265. package/dist/src/sidebar/dynamic/tree.js.map +1 -0
  266. package/dist/src/sidebar/dynamic/types.d.ts +99 -0
  267. package/dist/src/sidebar/dynamic/types.d.ts.map +1 -0
  268. package/dist/src/sidebar/dynamic/types.js +2 -0
  269. package/dist/src/sidebar/dynamic/types.js.map +1 -0
  270. package/dist/src/sidebar/index.d.ts +3 -0
  271. package/dist/src/sidebar/index.d.ts.map +1 -1
  272. package/dist/src/sidebar/index.js +3 -0
  273. package/dist/src/sidebar/index.js.map +1 -1
  274. package/package.json +4 -1
@@ -0,0 +1,129 @@
1
+ import { queryAll } from "../../../dom/index.js";
2
+ import { clearChildren, runtimeContext, slotActive, slotDisabled, } from "./dom.js";
3
+ import { defaultCountNode, defaultLoaderNode, defaultStateNode, } from "./renderers.js";
4
+ import { DYNAMIC_SIDEBAR_COUNT_SLOT_SELECTOR, DYNAMIC_SIDEBAR_DYNAMIC_LINK_SELECTOR, DYNAMIC_SIDEBAR_LOADER_SLOT_SELECTOR, DYNAMIC_SIDEBAR_STATE_SLOT_SELECTOR, } from "./selectors.js";
5
+ import { dynamicSidebarNumber, dynamicSidebarText, textValue, } from "../tree.js";
6
+ function applyDynamicSidebarCountSlots(root, counts, renderers = {}) {
7
+ queryAll(root, DYNAMIC_SIDEBAR_COUNT_SLOT_SELECTOR)
8
+ .forEach((slot) => {
9
+ const path = textValue(slot.getAttribute("data-tbf-sidebar-count-path"));
10
+ const count = dynamicSidebarNumber(counts, path);
11
+ if (!path || slotDisabled(slot) ||
12
+ !slotActive(slot, "data-tbf-sidebar-count-visibility") || count == null) {
13
+ clearChildren(slot);
14
+ return;
15
+ }
16
+ const node = (renderers.count || defaultCountNode)({
17
+ ...runtimeContext(root, counts, slot),
18
+ count,
19
+ path,
20
+ });
21
+ slot.replaceChildren(...(node ? [node] : []));
22
+ });
23
+ }
24
+ function applyDynamicSidebarStateSlots(root, counts, renderers = {}) {
25
+ queryAll(root, DYNAMIC_SIDEBAR_STATE_SLOT_SELECTOR)
26
+ .forEach((slot) => {
27
+ const path = textValue(slot.getAttribute("data-tbf-sidebar-state-path"));
28
+ const state = dynamicSidebarText(counts, path);
29
+ const node = path && !slotDisabled(slot)
30
+ ? (renderers.state || defaultStateNode)({
31
+ ...runtimeContext(root, counts, slot),
32
+ path,
33
+ state,
34
+ })
35
+ : null;
36
+ slot.replaceChildren(...(node ? [node] : []));
37
+ });
38
+ }
39
+ function applyRepositoryIdleLoader(slot, root, counts, idleCountPath, renderers) {
40
+ if (!idleCountPath || slot.getAttribute("data-tbf-sidebar-active") !== "1") {
41
+ clearChildren(slot);
42
+ return true;
43
+ }
44
+ const idleCount = dynamicSidebarNumber(counts, idleCountPath);
45
+ if (idleCount == null) {
46
+ clearChildren(slot);
47
+ return true;
48
+ }
49
+ const node = (renderers.count || defaultCountNode)({
50
+ ...runtimeContext(root, counts, slot),
51
+ count: idleCount,
52
+ path: idleCountPath,
53
+ });
54
+ slot.replaceChildren(...(node ? [node] : []));
55
+ return true;
56
+ }
57
+ function applyDynamicSidebarLoaderSlot(root, counts, slot, renderers = {}) {
58
+ const loaderPath = textValue(slot.getAttribute("data-tbf-sidebar-loader-path"));
59
+ const repositoryId = textValue(slot.getAttribute("data-tbf-sidebar-status-repository-id"));
60
+ const idleCountPath = textValue(slot.getAttribute("data-tbf-sidebar-status-idle-count-path"));
61
+ const statusPath = textValue(slot.getAttribute("data-tbf-sidebar-status-path"));
62
+ const running = dynamicSidebarNumber(counts, loaderPath) || 0;
63
+ if (slotDisabled(slot) || !slotActive(slot, "data-tbf-sidebar-loader-visibility")) {
64
+ clearChildren(slot);
65
+ return;
66
+ }
67
+ if (repositoryId && running <= 0 && idleCountPath) {
68
+ if (applyRepositoryIdleLoader(slot, root, counts, idleCountPath, renderers))
69
+ return;
70
+ }
71
+ const node = (renderers.loader || defaultLoaderNode)({
72
+ ...runtimeContext(root, counts, slot),
73
+ idleCount: idleCountPath ? dynamicSidebarNumber(counts, idleCountPath) : null,
74
+ idleCountPath,
75
+ lastStatus: dynamicSidebarText(counts, statusPath),
76
+ loaderPath,
77
+ repositoryId,
78
+ running,
79
+ statusPath,
80
+ });
81
+ slot.replaceChildren(...(node ? [node] : []));
82
+ }
83
+ function applyDynamicSidebarLoaderSlots(root, counts, renderers = {}) {
84
+ queryAll(root, DYNAMIC_SIDEBAR_LOADER_SLOT_SELECTOR)
85
+ .forEach((slot) => {
86
+ applyDynamicSidebarLoaderSlot(root, counts, slot, renderers);
87
+ });
88
+ }
89
+ function setDynamicSidebarLinkDisabled(link, disabled) {
90
+ link.setAttribute("data-tbf-sidebar-link-disabled", disabled ? "1" : "0");
91
+ link.setAttribute("data-tbf-disabled", disabled ? "true" : "false");
92
+ if (disabled) {
93
+ link.setAttribute("aria-disabled", "true");
94
+ link.setAttribute("tabindex", "-1");
95
+ link.removeAttribute("aria-current");
96
+ link.removeAttribute("data-tbf-sidebar-link-active");
97
+ link.closest("li")?.removeAttribute("data-tbf-sidebar-link-row-active");
98
+ link.closest("li")?.removeAttribute("data-tbf-active");
99
+ }
100
+ else {
101
+ link.removeAttribute("aria-disabled");
102
+ link.removeAttribute("tabindex");
103
+ }
104
+ link.querySelectorAll([
105
+ DYNAMIC_SIDEBAR_COUNT_SLOT_SELECTOR,
106
+ DYNAMIC_SIDEBAR_LOADER_SLOT_SELECTOR,
107
+ DYNAMIC_SIDEBAR_STATE_SLOT_SELECTOR,
108
+ ].join(",")).forEach((slot) => {
109
+ if (slot instanceof HTMLElement) {
110
+ slot.setAttribute("data-tbf-sidebar-disabled", disabled ? "1" : "0");
111
+ }
112
+ });
113
+ }
114
+ function applyDynamicSidebarDisabledLinks(root, counts) {
115
+ queryAll(root, DYNAMIC_SIDEBAR_DYNAMIC_LINK_SELECTOR)
116
+ .forEach((link) => {
117
+ const path = textValue(link.getAttribute("data-tbf-sidebar-disabled-path"));
118
+ const disabled = !path || (dynamicSidebarNumber(counts, path) || 0) <= 0;
119
+ setDynamicSidebarLinkDisabled(link, disabled);
120
+ });
121
+ }
122
+ function applyDynamicSidebarCounts(root, counts, renderers = {}) {
123
+ applyDynamicSidebarDisabledLinks(root, counts);
124
+ applyDynamicSidebarCountSlots(root, counts, renderers);
125
+ applyDynamicSidebarStateSlots(root, counts, renderers);
126
+ applyDynamicSidebarLoaderSlots(root, counts, renderers);
127
+ }
128
+ export { applyDynamicSidebarCounts, applyDynamicSidebarCountSlots, applyDynamicSidebarDisabledLinks, applyDynamicSidebarLoaderSlot, applyDynamicSidebarLoaderSlots, applyDynamicSidebarStateSlots, setDynamicSidebarLinkDisabled, };
129
+ //# sourceMappingURL=apply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/apply.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { DynamicSidebarRuntimeRenderContext } from "./types.js";
2
+ declare function rootDocument(root: HTMLElement): Document;
3
+ declare function clearChildren(node: Element): void;
4
+ declare function slotActive(slot: HTMLElement, visibilityAttr: string): boolean;
5
+ declare function slotDisabled(slot: HTMLElement): boolean;
6
+ declare function runtimeContext(root: HTMLElement, counts: unknown, slot: HTMLElement): DynamicSidebarRuntimeRenderContext;
7
+ declare function liveRootContent(host: HTMLElement): Element;
8
+ export { clearChildren, liveRootContent, rootDocument, runtimeContext, slotActive, slotDisabled, };
9
+ //# sourceMappingURL=dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/dom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAGrE,iBAAS,YAAY,CAAC,IAAI,EAAE,WAAW,YAEtC;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,OAAO,QAEnC;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,WAI5D;AAED,iBAAS,YAAY,CAAC,IAAI,EAAE,WAAW,WAEtC;AAED,iBAAS,cAAc,CACrB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,WAAW,GAChB,kCAAkC,CAOpC;AAED,iBAAS,eAAe,CAAC,IAAI,EAAE,WAAW,WAKzC;AAED,OAAO,EACL,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,GACb,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { textValue } from "../tree.js";
2
+ function rootDocument(root) {
3
+ return root.ownerDocument || document;
4
+ }
5
+ function clearChildren(node) {
6
+ node.replaceChildren();
7
+ }
8
+ function slotActive(slot, visibilityAttr) {
9
+ const visibility = textValue(slot.getAttribute(visibilityAttr), "always");
10
+ return visibility !== "active" ||
11
+ slot.getAttribute("data-tbf-sidebar-active") === "1";
12
+ }
13
+ function slotDisabled(slot) {
14
+ return slot.getAttribute("data-tbf-sidebar-disabled") === "1";
15
+ }
16
+ function runtimeContext(root, counts, slot) {
17
+ return {
18
+ active: slot.getAttribute("data-tbf-sidebar-active") === "1",
19
+ counts,
20
+ disabled: slotDisabled(slot),
21
+ document: rootDocument(root),
22
+ };
23
+ }
24
+ function liveRootContent(host) {
25
+ return Array.from(host.children).find((node) => {
26
+ return node instanceof HTMLElement &&
27
+ node.tagName.toLowerCase() !== "script";
28
+ });
29
+ }
30
+ export { clearChildren, liveRootContent, rootDocument, runtimeContext, slotActive, slotDisabled, };
31
+ //# sourceMappingURL=dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/dom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,SAAS,YAAY,CAAC,IAAiB;IACrC,OAAO,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC;AACxC,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,CAAC,eAAe,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,UAAU,CAAC,IAAiB,EAAE,cAAsB;IAC3D,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1E,OAAO,UAAU,KAAK,QAAQ;QAC5B,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,GAAG,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB;IACrC,OAAO,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,KAAK,GAAG,CAAC;AAChE,CAAC;AAED,SAAS,cAAc,CACrB,IAAiB,EACjB,MAAe,EACf,IAAiB;IAEjB,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,GAAG;QAC5D,MAAM;QACN,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC;QAC5B,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAiB;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,OAAO,IAAI,YAAY,WAAW;YAChC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EACL,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,GACb,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare function bindDynamicSidebarDisabledLinkGuard(root: HTMLElement): void;
2
+ export { bindDynamicSidebarDisabledLinkGuard };
3
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/guards.ts"],"names":[],"mappings":"AAIA,iBAAS,mCAAmC,CAAC,IAAI,EAAE,WAAW,QAY7D;AAED,OAAO,EAAE,mCAAmC,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { DYNAMIC_SIDEBAR_DISABLED_LINK_SELECTOR } from "./selectors.js";
2
+ const disabledLinkRoots = new WeakSet();
3
+ function bindDynamicSidebarDisabledLinkGuard(root) {
4
+ if (disabledLinkRoots.has(root))
5
+ return;
6
+ disabledLinkRoots.add(root);
7
+ root.addEventListener("click", (event) => {
8
+ const target = event.target instanceof Element ? event.target : null;
9
+ const link = target
10
+ ? target.closest(DYNAMIC_SIDEBAR_DISABLED_LINK_SELECTOR)
11
+ : null;
12
+ if (!link || !root.contains(link))
13
+ return;
14
+ event.preventDefault();
15
+ event.stopPropagation();
16
+ }, true);
17
+ }
18
+ export { bindDynamicSidebarDisabledLinkGuard };
19
+ //# sourceMappingURL=guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sCAAsC,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAe,CAAC;AAErD,SAAS,mCAAmC,CAAC,IAAiB;IAC5D,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO;IACxC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM;YACjB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,sCAAsC,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO;QAC1C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAED,OAAO,EAAE,mCAAmC,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./apply.js";
2
+ export * from "./guards.js";
3
+ export * from "./live.js";
4
+ export * from "./renderers.js";
5
+ export * from "./selectors.js";
6
+ export type * from "./types.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,mBAAmB,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./apply.js";
2
+ export * from "./guards.js";
3
+ export * from "./live.js";
4
+ export * from "./renderers.js";
5
+ export * from "./selectors.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type BindRoot } from "../../../dom/index.d.ts";
2
+ import type { DynamicSidebarLiveOptions } from "./types.js";
3
+ import type { DynamicSidebarDescriptor, DynamicSidebarResponseItem } from "../types.d.ts";
4
+ declare function collectDynamicSidebarDescriptors(): DynamicSidebarDescriptor[];
5
+ declare function collectDynamicSidebarRooms(): string[];
6
+ declare function requestDynamicSidebarCounts(): Promise<DynamicSidebarResponseItem[]>;
7
+ declare function applyDynamicSidebarResponse(itemsInput: unknown): void;
8
+ declare function refreshDynamicSidebarLive(): Promise<void>;
9
+ declare function scheduleDynamicSidebarRefresh(delayMs?: number): void;
10
+ declare function bindDynamicSidebarLiveHost(host: HTMLElement): HTMLElement;
11
+ declare function bindDynamicSidebarLive(root?: BindRoot, options?: DynamicSidebarLiveOptions): void;
12
+ export { applyDynamicSidebarResponse, bindDynamicSidebarLive, bindDynamicSidebarLiveHost, collectDynamicSidebarDescriptors, collectDynamicSidebarRooms, refreshDynamicSidebarLive, requestDynamicSidebarCounts, scheduleDynamicSidebarRefresh, };
13
+ //# sourceMappingURL=live.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/live.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAUvB,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,wBAAwB,EAExB,0BAA0B,EAC3B,MAAM,eAAe,CAAC;AAuDvB,iBAAS,gCAAgC,+BAUxC;AAED,iBAAS,0BAA0B,aAWlC;AAED,iBAAe,2BAA2B,0CAIzC;AAED,iBAAS,2BAA2B,CAAC,UAAU,EAAE,OAAO,QAgBvD;AAED,iBAAe,yBAAyB,kBAevC;AAED,iBAAS,6BAA6B,CAAC,OAAO,SAAoC,QAMjF;AAkBD,iBAAS,0BAA0B,CAAC,IAAI,EAAE,WAAW,eAgBpD;AAED,iBAAS,sBAAsB,CAC7B,IAAI,GAAE,QAAmB,EACzB,OAAO,CAAC,EAAE,yBAAyB,QAKpC;AAED,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAC1B,gCAAgC,EAChC,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,GAC9B,CAAC"}
@@ -0,0 +1,165 @@
1
+ import { queryAll, readElementJson, } from "../../../dom/index.js";
2
+ import { applyDynamicSidebarCounts } from "./apply.js";
3
+ import { bindDynamicSidebarDisabledLinkGuard, } from "./guards.js";
4
+ import { liveRootContent } from "./dom.js";
5
+ import { DYNAMIC_SIDEBAR_LIVE_CONFIG_SELECTOR, DYNAMIC_SIDEBAR_LIVE_SELECTOR, } from "./selectors.js";
6
+ import { textValue } from "../tree.js";
7
+ const liveRoots = new Set();
8
+ const liveConfigs = new WeakMap();
9
+ let liveOptions = {};
10
+ let unsubscribeRooms = [];
11
+ let refreshTimer = 0;
12
+ let refreshInFlight = false;
13
+ let refreshQueued = false;
14
+ function mergeLiveOptions(options) {
15
+ if (!options)
16
+ return liveOptions;
17
+ liveOptions = {
18
+ ...liveOptions,
19
+ ...options,
20
+ renderers: {
21
+ ...(liveOptions.renderers || {}),
22
+ ...(options.renderers || {}),
23
+ },
24
+ };
25
+ return liveOptions;
26
+ }
27
+ function visibleLiveRoots() {
28
+ return Array.from(liveRoots).filter((node) => node.isConnected);
29
+ }
30
+ function descriptorKeyFromConfig(config) {
31
+ const side = textValue(config.side, "left");
32
+ const type = textValue(config.type);
33
+ const path = textValue(config.path);
34
+ const params = JSON.stringify(config.params && typeof config.params === "object" ? config.params : {});
35
+ return `${side}:${type}:${path}:${params}`;
36
+ }
37
+ function descriptorFromRoot(root) {
38
+ const config = liveConfigs.get(root) || {};
39
+ const type = textValue(config.type);
40
+ const path = textValue(config.path);
41
+ if (!type || !path)
42
+ return null;
43
+ return {
44
+ key: descriptorKeyFromConfig(config),
45
+ params: config.params && typeof config.params === "object" ? config.params : {},
46
+ path,
47
+ rooms: Array.isArray(config.rooms)
48
+ ? config.rooms.map((item) => textValue(item)).filter(Boolean)
49
+ : [],
50
+ side: textValue(config.side, "left"),
51
+ type,
52
+ };
53
+ }
54
+ function collectDynamicSidebarDescriptors() {
55
+ const out = [];
56
+ const seen = new Set();
57
+ for (const root of visibleLiveRoots()) {
58
+ const descriptor = descriptorFromRoot(root);
59
+ if (!descriptor || seen.has(descriptor.key))
60
+ continue;
61
+ seen.add(descriptor.key);
62
+ out.push(descriptor);
63
+ }
64
+ return out;
65
+ }
66
+ function collectDynamicSidebarRooms() {
67
+ const rooms = [];
68
+ const seen = new Set();
69
+ for (const descriptor of collectDynamicSidebarDescriptors()) {
70
+ for (const room of descriptor.rooms) {
71
+ if (!room || seen.has(room))
72
+ continue;
73
+ seen.add(room);
74
+ rooms.push(room);
75
+ }
76
+ }
77
+ return rooms;
78
+ }
79
+ async function requestDynamicSidebarCounts() {
80
+ const descriptors = collectDynamicSidebarDescriptors();
81
+ if (!descriptors.length || typeof liveOptions.request !== "function")
82
+ return [];
83
+ return await liveOptions.request(descriptors);
84
+ }
85
+ function applyDynamicSidebarResponse(itemsInput) {
86
+ const items = Array.isArray(itemsInput) ? itemsInput : [];
87
+ const countsByKey = new Map();
88
+ items.forEach((itemInput) => {
89
+ const item = itemInput && typeof itemInput === "object"
90
+ ? itemInput
91
+ : null;
92
+ const key = textValue(item?.key);
93
+ if (!key || item?.resolved !== true)
94
+ return;
95
+ countsByKey.set(key, item.entity_counts || {});
96
+ });
97
+ for (const root of visibleLiveRoots()) {
98
+ const key = descriptorKeyFromConfig(liveConfigs.get(root) || {});
99
+ if (!countsByKey.has(key))
100
+ continue;
101
+ applyDynamicSidebarCounts(root, countsByKey.get(key) || {}, liveOptions.renderers || {});
102
+ }
103
+ }
104
+ async function refreshDynamicSidebarLive() {
105
+ if (refreshInFlight) {
106
+ refreshQueued = true;
107
+ return;
108
+ }
109
+ refreshInFlight = true;
110
+ try {
111
+ const items = await requestDynamicSidebarCounts();
112
+ if (items != null)
113
+ applyDynamicSidebarResponse(items);
114
+ }
115
+ finally {
116
+ refreshInFlight = false;
117
+ if (!refreshQueued)
118
+ return;
119
+ refreshQueued = false;
120
+ scheduleDynamicSidebarRefresh(liveOptions.refreshDelayMs || 120);
121
+ }
122
+ }
123
+ function scheduleDynamicSidebarRefresh(delayMs = liveOptions.refreshDelayMs || 120) {
124
+ if (refreshTimer)
125
+ window.clearTimeout(refreshTimer);
126
+ refreshTimer = window.setTimeout(() => {
127
+ refreshTimer = 0;
128
+ void refreshDynamicSidebarLive();
129
+ }, Math.max(0, delayMs));
130
+ }
131
+ function syncDynamicSidebarRooms() {
132
+ unsubscribeRooms.forEach((unsubscribe) => unsubscribe());
133
+ unsubscribeRooms = [];
134
+ if (typeof liveOptions.subscribe !== "function")
135
+ return;
136
+ const eventName = liveOptions.event || "sidebar";
137
+ unsubscribeRooms = collectDynamicSidebarRooms()
138
+ .map((room) => liveOptions.subscribe?.(room, (payload) => {
139
+ if (payload && typeof payload === "object" && "event" in payload &&
140
+ textValue(payload.event) !== eventName)
141
+ return;
142
+ scheduleDynamicSidebarRefresh(liveOptions.refreshDelayMs || 120);
143
+ }))
144
+ .filter((cleanup) => {
145
+ return typeof cleanup === "function";
146
+ });
147
+ }
148
+ function bindDynamicSidebarLiveHost(host) {
149
+ const root = liveRootContent(host) || host;
150
+ if (!(root instanceof HTMLElement))
151
+ return null;
152
+ liveRoots.add(root);
153
+ liveConfigs.set(root, readElementJson(host, DYNAMIC_SIDEBAR_LIVE_CONFIG_SELECTOR, {}));
154
+ bindDynamicSidebarDisabledLinkGuard(root);
155
+ syncDynamicSidebarRooms();
156
+ scheduleDynamicSidebarRefresh(0);
157
+ return root;
158
+ }
159
+ function bindDynamicSidebarLive(root = document, options) {
160
+ mergeLiveOptions(options);
161
+ queryAll(root, DYNAMIC_SIDEBAR_LIVE_SELECTOR)
162
+ .forEach(bindDynamicSidebarLiveHost);
163
+ }
164
+ export { applyDynamicSidebarResponse, bindDynamicSidebarLive, bindDynamicSidebarLiveHost, collectDynamicSidebarDescriptors, collectDynamicSidebarRooms, refreshDynamicSidebarLive, requestDynamicSidebarCounts, scheduleDynamicSidebarRefresh, };
165
+ //# sourceMappingURL=live.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/live.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { DynamicSidebarRuntimeCountContext, DynamicSidebarRuntimeLoaderContext, DynamicSidebarRuntimeStateContext } from "./types.js";
2
+ declare function defaultCountNode(context: DynamicSidebarRuntimeCountContext): HTMLSpanElement;
3
+ declare function loaderNode(documentRef: Document, size: string): HTMLDivElement;
4
+ declare function defaultLoaderNode(context: DynamicSidebarRuntimeLoaderContext): HTMLSpanElement;
5
+ declare function defaultStateNode(context: DynamicSidebarRuntimeStateContext): HTMLSpanElement;
6
+ export { defaultCountNode, defaultLoaderNode, defaultStateNode, loaderNode, };
7
+ //# sourceMappingURL=renderers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/renderers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iCAAiC,EACjC,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,YAAY,CAAC;AAGpB,iBAAS,gBAAgB,CAAC,OAAO,EAAE,iCAAiC,mBAKnE;AAED,iBAAS,UAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAKtD;AAED,iBAAS,iBAAiB,CAAC,OAAO,EAAE,kCAAkC,mBAarE;AAED,iBAAS,gBAAgB,CAAC,OAAO,EAAE,iCAAiC,mBASnE;AAED,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,GACX,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { formatWrappedCount } from "../../../primitives/components/index.js";
2
+ import { textValue } from "../tree.js";
3
+ function defaultCountNode(context) {
4
+ const node = context.document.createElement("span");
5
+ node.className = "time-counter";
6
+ node.textContent = formatWrappedCount(context.count);
7
+ return node;
8
+ }
9
+ function loaderNode(documentRef, size) {
10
+ const node = documentRef.createElement("div");
11
+ node.className = `loader-circle ${size}`;
12
+ node.setAttribute("aria-hidden", "true");
13
+ return node;
14
+ }
15
+ function defaultLoaderNode(context) {
16
+ if (context.repositoryId) {
17
+ if (context.running <= 0)
18
+ return null;
19
+ const host = context.document.createElement("span");
20
+ host.className = "text-muted no-select inline-row gap-xs ver-center";
21
+ host.appendChild(loaderNode(context.document, "xs"));
22
+ return host;
23
+ }
24
+ if (context.running <= 0)
25
+ return null;
26
+ const host = context.document.createElement("span");
27
+ host.className = "text-muted no-select inline-row gap-xs ver-center";
28
+ host.appendChild(loaderNode(context.document, "sm"));
29
+ return host;
30
+ }
31
+ function defaultStateNode(context) {
32
+ const state = textValue(context.state).toLowerCase();
33
+ if (!state)
34
+ return null;
35
+ const node = context.document.createElement("span");
36
+ node.className = `dot dot-sm ${state === "running" ? "green" : "red"}`;
37
+ node.setAttribute("aria-hidden", "true");
38
+ node.setAttribute("data-state", state);
39
+ node.setAttribute("data-tbf-sidebar-state-dot", "");
40
+ return node;
41
+ }
42
+ export { defaultCountNode, defaultLoaderNode, defaultStateNode, loaderNode, };
43
+ //# sourceMappingURL=renderers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderers.js","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/renderers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAMnD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,SAAS,gBAAgB,CAAC,OAA0C;IAClE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;IAChC,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,WAAqB,EAAE,IAAY;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS,GAAG,iBAAiB,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA2C;IACpE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,mDAAmD,CAAC;QACrE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,GAAG,mDAAmD,CAAC;IACrE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA0C;IAClE,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,GAAG,cAAc,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACvE,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,GACX,CAAC"}
@@ -0,0 +1,9 @@
1
+ declare const DYNAMIC_SIDEBAR_LIVE_SELECTOR = "[data-tbf-sidebar-dynamic-live]";
2
+ declare const DYNAMIC_SIDEBAR_LIVE_CONFIG_SELECTOR = "script[type=\"application/json\"][data-tbf-sidebar-dynamic-live-config]";
3
+ declare const DYNAMIC_SIDEBAR_COUNT_SLOT_SELECTOR = "[data-tbf-sidebar-count-slot]";
4
+ declare const DYNAMIC_SIDEBAR_LOADER_SLOT_SELECTOR = "[data-tbf-sidebar-loader-slot]";
5
+ declare const DYNAMIC_SIDEBAR_STATE_SLOT_SELECTOR = "[data-tbf-sidebar-state-slot]";
6
+ declare const DYNAMIC_SIDEBAR_DYNAMIC_LINK_SELECTOR = "a[data-tbf-sidebar-link-dynamic='1']";
7
+ declare const DYNAMIC_SIDEBAR_DISABLED_LINK_SELECTOR = "a[data-tbf-sidebar-link-disabled='1']";
8
+ export { DYNAMIC_SIDEBAR_COUNT_SLOT_SELECTOR, DYNAMIC_SIDEBAR_DISABLED_LINK_SELECTOR, DYNAMIC_SIDEBAR_DYNAMIC_LINK_SELECTOR, DYNAMIC_SIDEBAR_LIVE_CONFIG_SELECTOR, DYNAMIC_SIDEBAR_LIVE_SELECTOR, DYNAMIC_SIDEBAR_LOADER_SLOT_SELECTOR, DYNAMIC_SIDEBAR_STATE_SLOT_SELECTOR, };
9
+ //# sourceMappingURL=selectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/selectors.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,6BAA6B,oCAAoC,CAAC;AACxE,QAAA,MAAM,oCAAoC,4EAC+B,CAAC;AAC1E,QAAA,MAAM,mCAAmC,kCAAkC,CAAC;AAC5E,QAAA,MAAM,oCAAoC,mCAAmC,CAAC;AAC9E,QAAA,MAAM,mCAAmC,kCAAkC,CAAC;AAC5E,QAAA,MAAM,qCAAqC,yCACH,CAAC;AACzC,QAAA,MAAM,sCAAsC,0CACH,CAAC;AAE1C,OAAO,EACL,mCAAmC,EACnC,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,6BAA6B,EAC7B,oCAAoC,EACpC,mCAAmC,GACpC,CAAC"}
@@ -0,0 +1,9 @@
1
+ const DYNAMIC_SIDEBAR_LIVE_SELECTOR = "[data-tbf-sidebar-dynamic-live]";
2
+ const DYNAMIC_SIDEBAR_LIVE_CONFIG_SELECTOR = 'script[type="application/json"][data-tbf-sidebar-dynamic-live-config]';
3
+ const DYNAMIC_SIDEBAR_COUNT_SLOT_SELECTOR = "[data-tbf-sidebar-count-slot]";
4
+ const DYNAMIC_SIDEBAR_LOADER_SLOT_SELECTOR = "[data-tbf-sidebar-loader-slot]";
5
+ const DYNAMIC_SIDEBAR_STATE_SLOT_SELECTOR = "[data-tbf-sidebar-state-slot]";
6
+ const DYNAMIC_SIDEBAR_DYNAMIC_LINK_SELECTOR = "a[data-tbf-sidebar-link-dynamic='1']";
7
+ const DYNAMIC_SIDEBAR_DISABLED_LINK_SELECTOR = "a[data-tbf-sidebar-link-disabled='1']";
8
+ export { DYNAMIC_SIDEBAR_COUNT_SLOT_SELECTOR, DYNAMIC_SIDEBAR_DISABLED_LINK_SELECTOR, DYNAMIC_SIDEBAR_DYNAMIC_LINK_SELECTOR, DYNAMIC_SIDEBAR_LIVE_CONFIG_SELECTOR, DYNAMIC_SIDEBAR_LIVE_SELECTOR, DYNAMIC_SIDEBAR_LOADER_SLOT_SELECTOR, DYNAMIC_SIDEBAR_STATE_SLOT_SELECTOR, };
9
+ //# sourceMappingURL=selectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/selectors.ts"],"names":[],"mappings":"AAAA,MAAM,6BAA6B,GAAG,iCAAiC,CAAC;AACxE,MAAM,oCAAoC,GACxC,uEAAuE,CAAC;AAC1E,MAAM,mCAAmC,GAAG,+BAA+B,CAAC;AAC5E,MAAM,oCAAoC,GAAG,gCAAgC,CAAC;AAC9E,MAAM,mCAAmC,GAAG,+BAA+B,CAAC;AAC5E,MAAM,qCAAqC,GACzC,sCAAsC,CAAC;AACzC,MAAM,sCAAsC,GAC1C,uCAAuC,CAAC;AAE1C,OAAO,EACL,mCAAmC,EACnC,sCAAsC,EACtC,qCAAqC,EACrC,oCAAoC,EACpC,6BAA6B,EAC7B,oCAAoC,EACpC,mCAAmC,GACpC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { DynamicSidebarDescriptor, DynamicSidebarResponseItem } from "../types.d.ts";
2
+ type DynamicSidebarRuntimeRenderContext = {
3
+ active: boolean;
4
+ counts: unknown;
5
+ disabled: boolean;
6
+ document: Document;
7
+ };
8
+ type DynamicSidebarRuntimeCountContext = DynamicSidebarRuntimeRenderContext & {
9
+ count: number;
10
+ path: string;
11
+ };
12
+ type DynamicSidebarRuntimeLoaderContext = DynamicSidebarRuntimeRenderContext & {
13
+ idleCount: number | null;
14
+ idleCountPath: string;
15
+ lastStatus: string;
16
+ loaderPath: string;
17
+ repositoryId: string;
18
+ running: number;
19
+ statusPath: string;
20
+ };
21
+ type DynamicSidebarRuntimeStateContext = DynamicSidebarRuntimeRenderContext & {
22
+ path: string;
23
+ state: string;
24
+ };
25
+ type DynamicSidebarRuntimeRenderers = {
26
+ count?: (context: DynamicSidebarRuntimeCountContext) => Node | null;
27
+ loader?: (context: DynamicSidebarRuntimeLoaderContext) => Node | null;
28
+ state?: (context: DynamicSidebarRuntimeStateContext) => Node | null;
29
+ };
30
+ type DynamicSidebarCleanup = () => void;
31
+ type DynamicSidebarSubscribe = (room: string, listener: (payload: unknown) => void) => DynamicSidebarCleanup | void;
32
+ type DynamicSidebarLiveOptions = {
33
+ event?: string;
34
+ refreshDelayMs?: number;
35
+ renderers?: DynamicSidebarRuntimeRenderers;
36
+ request?: (descriptors: DynamicSidebarDescriptor[]) => Promise<DynamicSidebarResponseItem[] | null | undefined> | DynamicSidebarResponseItem[] | null | undefined;
37
+ subscribe?: DynamicSidebarSubscribe;
38
+ };
39
+ export type { DynamicSidebarCleanup, DynamicSidebarLiveOptions, DynamicSidebarRuntimeCountContext, DynamicSidebarRuntimeLoaderContext, DynamicSidebarRuntimeRenderContext, DynamicSidebarRuntimeRenderers, DynamicSidebarRuntimeStateContext, DynamicSidebarSubscribe, };
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAE1F,KAAK,kCAAkC,GAAG;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,KAAK,iCAAiC,GACpC,kCAAkC,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ,KAAK,kCAAkC,GACrC,kCAAkC,GAAG;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEJ,KAAK,iCAAiC,GACpC,kCAAkC,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEJ,KAAK,8BAA8B,GAAG;IACpC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,iCAAiC,KAAK,IAAI,GAAG,IAAI,CAAC;IACpE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,kCAAkC,KAAK,IAAI,GAAG,IAAI,CAAC;IACtE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,iCAAiC,KAAK,IAAI,GAAG,IAAI,CAAC;CACrE,CAAC;AAEF,KAAK,qBAAqB,GAAG,MAAM,IAAI,CAAC;AAExC,KAAK,uBAAuB,GAAG,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KACjC,qBAAqB,GAAG,IAAI,CAAC;AAElC,KAAK,yBAAyB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,8BAA8B,CAAC;IAC3C,OAAO,CAAC,EAAE,CACR,WAAW,EAAE,wBAAwB,EAAE,KACpC,OAAO,CAAC,0BAA0B,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC,GAC3D,0BAA0B,EAAE,GAC5B,IAAI,GACJ,SAAS,CAAC;IACZ,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC,CAAC;AAEF,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,iCAAiC,EACjC,kCAAkC,EAClC,kCAAkC,EAClC,8BAA8B,EAC9B,iCAAiC,EACjC,uBAAuB,GACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/sidebar/dynamic/runtime/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { DynamicSidebarContext, DynamicSidebarItem, DynamicSidebarLinkItem, DynamicSidebarLiveConfig } from "./types.js";
2
+ declare function textValue(value: unknown, fallback?: string): string;
3
+ declare function sidebarCountsTree(sidebar: DynamicSidebarContext | null | undefined): object;
4
+ declare function dynamicSidebarTreeValue(tree: unknown, pathInput?: string): unknown;
5
+ declare function dynamicSidebarNumber(tree: unknown, pathInput?: string): number;
6
+ declare function dynamicSidebarText(tree: unknown, pathInput?: string): string;
7
+ declare function dynamicSidebarCount(sidebar: DynamicSidebarContext | null | undefined, pathInput?: string): number;
8
+ declare function dynamicSidebarTextValue(sidebar: DynamicSidebarContext | null | undefined, pathInput?: string): string;
9
+ declare function dynamicSidebarLinkDisabled(sidebar: DynamicSidebarContext | null | undefined, item: DynamicSidebarLinkItem): boolean;
10
+ declare function normalizeRoutePath(input: unknown): string;
11
+ declare function dynamicSidebarLinkActive(currentPathInput: unknown, item: DynamicSidebarLinkItem, disabled: boolean): boolean;
12
+ declare function isDynamicSidebarDivider(item: DynamicSidebarItem): item is Extract<DynamicSidebarItem, {
13
+ kind: "divider";
14
+ }>;
15
+ declare function normalizeDynamicSidebarItems(items: DynamicSidebarItem[]): DynamicSidebarItem[];
16
+ declare function dynamicSidebarLiveConfig(sidebar: DynamicSidebarContext | null | undefined): DynamicSidebarLiveConfig;
17
+ export { dynamicSidebarCount, dynamicSidebarLinkActive, dynamicSidebarLinkDisabled, dynamicSidebarLiveConfig, dynamicSidebarNumber, dynamicSidebarText, dynamicSidebarTextValue, dynamicSidebarTreeValue, isDynamicSidebarDivider, normalizeDynamicSidebarItems, normalizeRoutePath, sidebarCountsTree, textValue, };
18
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../src/sidebar/dynamic/tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAK,UAG/C;AAED,iBAAS,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,UAG3E;AAED,iBAAS,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,WAajE;AAED,iBAAS,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,UAI9D;AAED,iBAAS,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,UAG5D;AAED,iBAAS,mBAAmB,CAC1B,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,EACjD,SAAS,CAAC,EAAE,MAAM,UAGnB;AAED,iBAAS,uBAAuB,CAC9B,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,EACjD,SAAS,CAAC,EAAE,MAAM,UAGnB;AAED,iBAAS,0BAA0B,CACjC,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,EACjD,IAAI,EAAE,sBAAsB,WAK7B;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,OAAO,UAKzC;AAED,iBAAS,wBAAwB,CAC/B,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,EAAE,OAAO,WAQlB;AAED,iBAAS,uBAAuB,CAC9B,IAAI,EAAE,kBAAkB,GACvB,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAE1D;AAED,iBAAS,4BAA4B,CAAC,KAAK,EAAE,kBAAkB,EAAE,wBAoBhE;AAED,iBAAS,wBAAwB,CAC/B,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAChD,wBAAwB,CAe1B;AAED,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,GACV,CAAC"}