@jolly-pixel/ui 1.0.1

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 (723) hide show
  1. package/LICENSE +44 -0
  2. package/README.md +194 -0
  3. package/dist/color/area.d.ts +24 -0
  4. package/dist/color/area.d.ts.map +1 -0
  5. package/dist/color/area.js +27 -0
  6. package/dist/color/area.js.map +1 -0
  7. package/dist/color/draft.d.ts +10 -0
  8. package/dist/color/draft.d.ts.map +1 -0
  9. package/dist/color/draft.js +18 -0
  10. package/dist/color/draft.js.map +1 -0
  11. package/dist/containers/Dialog.d.ts +20 -0
  12. package/dist/containers/Dialog.d.ts.map +1 -0
  13. package/dist/containers/Dialog.js +162 -0
  14. package/dist/containers/Dialog.js.map +1 -0
  15. package/dist/containers/Dialog.styles.d.ts +2 -0
  16. package/dist/containers/Dialog.styles.d.ts.map +1 -0
  17. package/dist/containers/Dialog.styles.js +54 -0
  18. package/dist/containers/Dialog.styles.js.map +1 -0
  19. package/dist/containers/Dock.d.ts +97 -0
  20. package/dist/containers/Dock.d.ts.map +1 -0
  21. package/dist/containers/Dock.js +432 -0
  22. package/dist/containers/Dock.js.map +1 -0
  23. package/dist/containers/Dock.styles.d.ts +2 -0
  24. package/dist/containers/Dock.styles.d.ts.map +1 -0
  25. package/dist/containers/Dock.styles.js +358 -0
  26. package/dist/containers/Dock.styles.js.map +1 -0
  27. package/dist/containers/DockLayout.d.ts +51 -0
  28. package/dist/containers/DockLayout.d.ts.map +1 -0
  29. package/dist/containers/DockLayout.js +601 -0
  30. package/dist/containers/DockLayout.js.map +1 -0
  31. package/dist/containers/Floating.d.ts +56 -0
  32. package/dist/containers/Floating.d.ts.map +1 -0
  33. package/dist/containers/Floating.js +437 -0
  34. package/dist/containers/Floating.js.map +1 -0
  35. package/dist/containers/Floating.styles.d.ts +2 -0
  36. package/dist/containers/Floating.styles.d.ts.map +1 -0
  37. package/dist/containers/Floating.styles.js +123 -0
  38. package/dist/containers/Floating.styles.js.map +1 -0
  39. package/dist/containers/Folder.d.ts +30 -0
  40. package/dist/containers/Folder.d.ts.map +1 -0
  41. package/dist/containers/Folder.js +220 -0
  42. package/dist/containers/Folder.js.map +1 -0
  43. package/dist/containers/Folder.styles.d.ts +2 -0
  44. package/dist/containers/Folder.styles.d.ts.map +1 -0
  45. package/dist/containers/Folder.styles.js +228 -0
  46. package/dist/containers/Folder.styles.js.map +1 -0
  47. package/dist/containers/FolderListController.d.ts +28 -0
  48. package/dist/containers/FolderListController.d.ts.map +1 -0
  49. package/dist/containers/FolderListController.js +219 -0
  50. package/dist/containers/FolderListController.js.map +1 -0
  51. package/dist/containers/Pane.d.ts +109 -0
  52. package/dist/containers/Pane.d.ts.map +1 -0
  53. package/dist/containers/Pane.js +429 -0
  54. package/dist/containers/Pane.js.map +1 -0
  55. package/dist/containers/Pane.styles.d.ts +2 -0
  56. package/dist/containers/Pane.styles.d.ts.map +1 -0
  57. package/dist/containers/Pane.styles.js +193 -0
  58. package/dist/containers/Pane.styles.js.map +1 -0
  59. package/dist/containers/Rail.d.ts +14 -0
  60. package/dist/containers/Rail.d.ts.map +1 -0
  61. package/dist/containers/Rail.js +52 -0
  62. package/dist/containers/Rail.js.map +1 -0
  63. package/dist/containers/Tab.d.ts +17 -0
  64. package/dist/containers/Tab.d.ts.map +1 -0
  65. package/dist/containers/Tab.js +61 -0
  66. package/dist/containers/Tab.js.map +1 -0
  67. package/dist/containers/Tabs.d.ts +21 -0
  68. package/dist/containers/Tabs.d.ts.map +1 -0
  69. package/dist/containers/Tabs.js +166 -0
  70. package/dist/containers/Tabs.js.map +1 -0
  71. package/dist/containers/Tabs.styles.d.ts +2 -0
  72. package/dist/containers/Tabs.styles.d.ts.map +1 -0
  73. package/dist/containers/Tabs.styles.js +99 -0
  74. package/dist/containers/Tabs.styles.js.map +1 -0
  75. package/dist/containers/Toolbar.d.ts +15 -0
  76. package/dist/containers/Toolbar.d.ts.map +1 -0
  77. package/dist/containers/Toolbar.js +62 -0
  78. package/dist/containers/Toolbar.js.map +1 -0
  79. package/dist/containers/dialogHelpers.d.ts +24 -0
  80. package/dist/containers/dialogHelpers.d.ts.map +1 -0
  81. package/dist/containers/dialogHelpers.js +89 -0
  82. package/dist/containers/dialogHelpers.js.map +1 -0
  83. package/dist/containers/events.d.ts +75 -0
  84. package/dist/containers/events.d.ts.map +1 -0
  85. package/dist/containers/events.js +9 -0
  86. package/dist/containers/events.js.map +1 -0
  87. package/dist/containers/layout.d.ts +86 -0
  88. package/dist/containers/layout.d.ts.map +1 -0
  89. package/dist/containers/layout.js +240 -0
  90. package/dist/containers/layout.js.map +1 -0
  91. package/dist/containers/resize.d.ts +8 -0
  92. package/dist/containers/resize.d.ts.map +1 -0
  93. package/dist/containers/resize.js +28 -0
  94. package/dist/containers/resize.js.map +1 -0
  95. package/dist/controls/Button.d.ts +32 -0
  96. package/dist/controls/Button.d.ts.map +1 -0
  97. package/dist/controls/Button.js +83 -0
  98. package/dist/controls/Button.js.map +1 -0
  99. package/dist/controls/Button.styles.d.ts +2 -0
  100. package/dist/controls/Button.styles.d.ts.map +1 -0
  101. package/dist/controls/Button.styles.js +86 -0
  102. package/dist/controls/Button.styles.js.map +1 -0
  103. package/dist/controls/ButtonGroup.d.ts +26 -0
  104. package/dist/controls/ButtonGroup.d.ts.map +1 -0
  105. package/dist/controls/ButtonGroup.js +159 -0
  106. package/dist/controls/ButtonGroup.js.map +1 -0
  107. package/dist/controls/ButtonGroup.styles.d.ts +2 -0
  108. package/dist/controls/ButtonGroup.styles.d.ts.map +1 -0
  109. package/dist/controls/ButtonGroup.styles.js +104 -0
  110. package/dist/controls/ButtonGroup.styles.js.map +1 -0
  111. package/dist/controls/Checkbox.d.ts +20 -0
  112. package/dist/controls/Checkbox.d.ts.map +1 -0
  113. package/dist/controls/Checkbox.js +73 -0
  114. package/dist/controls/Checkbox.js.map +1 -0
  115. package/dist/controls/Checkbox.styles.d.ts +3 -0
  116. package/dist/controls/Checkbox.styles.d.ts.map +1 -0
  117. package/dist/controls/Checkbox.styles.js +116 -0
  118. package/dist/controls/Checkbox.styles.js.map +1 -0
  119. package/dist/controls/Color.d.ts +35 -0
  120. package/dist/controls/Color.d.ts.map +1 -0
  121. package/dist/controls/Color.js +224 -0
  122. package/dist/controls/Color.js.map +1 -0
  123. package/dist/controls/Color.styles.d.ts +2 -0
  124. package/dist/controls/Color.styles.d.ts.map +1 -0
  125. package/dist/controls/Color.styles.js +89 -0
  126. package/dist/controls/Color.styles.js.map +1 -0
  127. package/dist/controls/ColorPicker.d.ts +40 -0
  128. package/dist/controls/ColorPicker.d.ts.map +1 -0
  129. package/dist/controls/ColorPicker.js +423 -0
  130. package/dist/controls/ColorPicker.js.map +1 -0
  131. package/dist/controls/ColorPicker.styles.d.ts +5 -0
  132. package/dist/controls/ColorPicker.styles.d.ts.map +1 -0
  133. package/dist/controls/ColorPicker.styles.js +305 -0
  134. package/dist/controls/ColorPicker.styles.js.map +1 -0
  135. package/dist/controls/Control.d.ts +21 -0
  136. package/dist/controls/Control.d.ts.map +1 -0
  137. package/dist/controls/Control.js +137 -0
  138. package/dist/controls/Control.js.map +1 -0
  139. package/dist/controls/Control.styles.d.ts +2 -0
  140. package/dist/controls/Control.styles.d.ts.map +1 -0
  141. package/dist/controls/Control.styles.js +108 -0
  142. package/dist/controls/Control.styles.js.map +1 -0
  143. package/dist/controls/Controls.d.ts +25 -0
  144. package/dist/controls/Controls.d.ts.map +1 -0
  145. package/dist/controls/Controls.js +72 -0
  146. package/dist/controls/Controls.js.map +1 -0
  147. package/dist/controls/Controls.styles.d.ts +2 -0
  148. package/dist/controls/Controls.styles.d.ts.map +1 -0
  149. package/dist/controls/Controls.styles.js +102 -0
  150. package/dist/controls/Controls.styles.js.map +1 -0
  151. package/dist/controls/Flags.d.ts +26 -0
  152. package/dist/controls/Flags.d.ts.map +1 -0
  153. package/dist/controls/Flags.js +91 -0
  154. package/dist/controls/Flags.js.map +1 -0
  155. package/dist/controls/Flags.styles.d.ts +2 -0
  156. package/dist/controls/Flags.styles.d.ts.map +1 -0
  157. package/dist/controls/Flags.styles.js +65 -0
  158. package/dist/controls/Flags.styles.js.map +1 -0
  159. package/dist/controls/Number.d.ts +31 -0
  160. package/dist/controls/Number.d.ts.map +1 -0
  161. package/dist/controls/Number.js +161 -0
  162. package/dist/controls/Number.js.map +1 -0
  163. package/dist/controls/Number.styles.d.ts +5 -0
  164. package/dist/controls/Number.styles.d.ts.map +1 -0
  165. package/dist/controls/Number.styles.js +53 -0
  166. package/dist/controls/Number.styles.js.map +1 -0
  167. package/dist/controls/PropertyRow.d.ts +26 -0
  168. package/dist/controls/PropertyRow.d.ts.map +1 -0
  169. package/dist/controls/PropertyRow.js +77 -0
  170. package/dist/controls/PropertyRow.js.map +1 -0
  171. package/dist/controls/PropertyRow.styles.d.ts +5 -0
  172. package/dist/controls/PropertyRow.styles.d.ts.map +1 -0
  173. package/dist/controls/PropertyRow.styles.js +115 -0
  174. package/dist/controls/PropertyRow.styles.js.map +1 -0
  175. package/dist/controls/Range.d.ts +30 -0
  176. package/dist/controls/Range.d.ts.map +1 -0
  177. package/dist/controls/Range.js +196 -0
  178. package/dist/controls/Range.js.map +1 -0
  179. package/dist/controls/Range.styles.d.ts +2 -0
  180. package/dist/controls/Range.styles.d.ts.map +1 -0
  181. package/dist/controls/Range.styles.js +29 -0
  182. package/dist/controls/Range.styles.js.map +1 -0
  183. package/dist/controls/Select.d.ts +24 -0
  184. package/dist/controls/Select.d.ts.map +1 -0
  185. package/dist/controls/Select.js +104 -0
  186. package/dist/controls/Select.js.map +1 -0
  187. package/dist/controls/Select.styles.d.ts +2 -0
  188. package/dist/controls/Select.styles.d.ts.map +1 -0
  189. package/dist/controls/Select.styles.js +51 -0
  190. package/dist/controls/Select.styles.js.map +1 -0
  191. package/dist/controls/Separator.d.ts +19 -0
  192. package/dist/controls/Separator.d.ts.map +1 -0
  193. package/dist/controls/Separator.js +55 -0
  194. package/dist/controls/Separator.js.map +1 -0
  195. package/dist/controls/Separator.styles.d.ts +2 -0
  196. package/dist/controls/Separator.styles.d.ts.map +1 -0
  197. package/dist/controls/Separator.styles.js +49 -0
  198. package/dist/controls/Separator.styles.js.map +1 -0
  199. package/dist/controls/Slider.d.ts +27 -0
  200. package/dist/controls/Slider.d.ts.map +1 -0
  201. package/dist/controls/Slider.js +170 -0
  202. package/dist/controls/Slider.js.map +1 -0
  203. package/dist/controls/Slider.styles.d.ts +2 -0
  204. package/dist/controls/Slider.styles.d.ts.map +1 -0
  205. package/dist/controls/Slider.styles.js +165 -0
  206. package/dist/controls/Slider.styles.js.map +1 -0
  207. package/dist/controls/Text.d.ts +17 -0
  208. package/dist/controls/Text.d.ts.map +1 -0
  209. package/dist/controls/Text.js +99 -0
  210. package/dist/controls/Text.js.map +1 -0
  211. package/dist/controls/flagMask.d.ts +13 -0
  212. package/dist/controls/flagMask.d.ts.map +1 -0
  213. package/dist/controls/flagMask.js +27 -0
  214. package/dist/controls/flagMask.js.map +1 -0
  215. package/dist/controls/roving.d.ts +5 -0
  216. package/dist/controls/roving.d.ts.map +1 -0
  217. package/dist/controls/roving.js +20 -0
  218. package/dist/controls/roving.js.map +1 -0
  219. package/dist/controls/types.d.ts +18 -0
  220. package/dist/controls/types.d.ts.map +1 -0
  221. package/dist/controls/types.js +2 -0
  222. package/dist/controls/types.js.map +1 -0
  223. package/dist/data/Tree.d.ts +44 -0
  224. package/dist/data/Tree.d.ts.map +1 -0
  225. package/dist/data/Tree.js +662 -0
  226. package/dist/data/Tree.js.map +1 -0
  227. package/dist/data/Tree.styles.d.ts +2 -0
  228. package/dist/data/Tree.styles.d.ts.map +1 -0
  229. package/dist/data/Tree.styles.js +244 -0
  230. package/dist/data/Tree.styles.js.map +1 -0
  231. package/dist/data/Tree.types.d.ts +46 -0
  232. package/dist/data/Tree.types.d.ts.map +1 -0
  233. package/dist/data/Tree.types.js +2 -0
  234. package/dist/data/Tree.types.js.map +1 -0
  235. package/dist/data/dropZone.d.ts +14 -0
  236. package/dist/data/dropZone.d.ts.map +1 -0
  237. package/dist/data/dropZone.js +26 -0
  238. package/dist/data/dropZone.js.map +1 -0
  239. package/dist/data/events.d.ts +23 -0
  240. package/dist/data/events.d.ts.map +1 -0
  241. package/dist/data/events.js +9 -0
  242. package/dist/data/events.js.map +1 -0
  243. package/dist/data/resolveRename.d.ts +5 -0
  244. package/dist/data/resolveRename.d.ts.map +1 -0
  245. package/dist/data/resolveRename.js +12 -0
  246. package/dist/data/resolveRename.js.map +1 -0
  247. package/dist/data/resolveReparent.d.ts +33 -0
  248. package/dist/data/resolveReparent.d.ts.map +1 -0
  249. package/dist/data/resolveReparent.js +82 -0
  250. package/dist/data/resolveReparent.js.map +1 -0
  251. package/dist/data/rowDragSession.d.ts +19 -0
  252. package/dist/data/rowDragSession.d.ts.map +1 -0
  253. package/dist/data/rowDragSession.js +74 -0
  254. package/dist/data/rowDragSession.js.map +1 -0
  255. package/dist/data/selection.d.ts +16 -0
  256. package/dist/data/selection.d.ts.map +1 -0
  257. package/dist/data/selection.js +57 -0
  258. package/dist/data/selection.js.map +1 -0
  259. package/dist/data/treeNodes.d.ts +19 -0
  260. package/dist/data/treeNodes.d.ts.map +1 -0
  261. package/dist/data/treeNodes.js +71 -0
  262. package/dist/data/treeNodes.js.map +1 -0
  263. package/dist/dom.d.ts +13 -0
  264. package/dist/dom.d.ts.map +1 -0
  265. package/dist/dom.js +25 -0
  266. package/dist/dom.js.map +1 -0
  267. package/dist/facade/Binding.d.ts +25 -0
  268. package/dist/facade/Binding.d.ts.map +1 -0
  269. package/dist/facade/Binding.js +145 -0
  270. package/dist/facade/Binding.js.map +1 -0
  271. package/dist/facade/Button.d.ts +19 -0
  272. package/dist/facade/Button.d.ts.map +1 -0
  273. package/dist/facade/Button.js +34 -0
  274. package/dist/facade/Button.js.map +1 -0
  275. package/dist/facade/Container.d.ts +32 -0
  276. package/dist/facade/Container.d.ts.map +1 -0
  277. package/dist/facade/Container.js +83 -0
  278. package/dist/facade/Container.js.map +1 -0
  279. package/dist/facade/Dock.d.ts +11 -0
  280. package/dist/facade/Dock.d.ts.map +1 -0
  281. package/dist/facade/Dock.js +27 -0
  282. package/dist/facade/Dock.js.map +1 -0
  283. package/dist/facade/Folder.d.ts +16 -0
  284. package/dist/facade/Folder.d.ts.map +1 -0
  285. package/dist/facade/Folder.js +19 -0
  286. package/dist/facade/Folder.js.map +1 -0
  287. package/dist/facade/Monitor.d.ts +37 -0
  288. package/dist/facade/Monitor.d.ts.map +1 -0
  289. package/dist/facade/Monitor.js +66 -0
  290. package/dist/facade/Monitor.js.map +1 -0
  291. package/dist/facade/Pane.d.ts +55 -0
  292. package/dist/facade/Pane.d.ts.map +1 -0
  293. package/dist/facade/Pane.js +60 -0
  294. package/dist/facade/Pane.js.map +1 -0
  295. package/dist/facade/Presence.d.ts +29 -0
  296. package/dist/facade/Presence.d.ts.map +1 -0
  297. package/dist/facade/Presence.js +48 -0
  298. package/dist/facade/Presence.js.map +1 -0
  299. package/dist/facade/Separator.d.ts +11 -0
  300. package/dist/facade/Separator.d.ts.map +1 -0
  301. package/dist/facade/Separator.js +24 -0
  302. package/dist/facade/Separator.js.map +1 -0
  303. package/dist/facade/dispatch.d.ts +22 -0
  304. package/dist/facade/dispatch.d.ts.map +1 -0
  305. package/dist/facade/dispatch.js +67 -0
  306. package/dist/facade/dispatch.js.map +1 -0
  307. package/dist/facade/monitorFields.d.ts +11 -0
  308. package/dist/facade/monitorFields.d.ts.map +1 -0
  309. package/dist/facade/monitorFields.js +13 -0
  310. package/dist/facade/monitorFields.js.map +1 -0
  311. package/dist/facade/monitorValue.d.ts +8 -0
  312. package/dist/facade/monitorValue.d.ts.map +1 -0
  313. package/dist/facade/monitorValue.js +13 -0
  314. package/dist/facade/monitorValue.js.map +1 -0
  315. package/dist/feedback/JollyPixelLogo.d.ts +2 -0
  316. package/dist/feedback/JollyPixelLogo.d.ts.map +1 -0
  317. package/dist/feedback/JollyPixelLogo.js +91 -0
  318. package/dist/feedback/JollyPixelLogo.js.map +1 -0
  319. package/dist/feedback/Loading.d.ts +36 -0
  320. package/dist/feedback/Loading.d.ts.map +1 -0
  321. package/dist/feedback/Loading.js +175 -0
  322. package/dist/feedback/Loading.js.map +1 -0
  323. package/dist/feedback/Loading.styles.d.ts +2 -0
  324. package/dist/feedback/Loading.styles.d.ts.map +1 -0
  325. package/dist/feedback/Loading.styles.js +236 -0
  326. package/dist/feedback/Loading.styles.js.map +1 -0
  327. package/dist/feedback/Log.d.ts +21 -0
  328. package/dist/feedback/Log.d.ts.map +1 -0
  329. package/dist/feedback/Log.js +126 -0
  330. package/dist/feedback/Log.js.map +1 -0
  331. package/dist/feedback/Log.styles.d.ts +2 -0
  332. package/dist/feedback/Log.styles.d.ts.map +1 -0
  333. package/dist/feedback/Log.styles.js +65 -0
  334. package/dist/feedback/Log.styles.js.map +1 -0
  335. package/dist/feedback/LogQueue.d.ts +12 -0
  336. package/dist/feedback/LogQueue.d.ts.map +1 -0
  337. package/dist/feedback/LogQueue.js +91 -0
  338. package/dist/feedback/LogQueue.js.map +1 -0
  339. package/dist/feedback/LogQueue.types.d.ts +16 -0
  340. package/dist/feedback/LogQueue.types.d.ts.map +1 -0
  341. package/dist/feedback/LogQueue.types.js +2 -0
  342. package/dist/feedback/LogQueue.types.js.map +1 -0
  343. package/dist/feedback/Progress.d.ts +24 -0
  344. package/dist/feedback/Progress.d.ts.map +1 -0
  345. package/dist/feedback/Progress.js +120 -0
  346. package/dist/feedback/Progress.js.map +1 -0
  347. package/dist/feedback/Progress.styles.d.ts +2 -0
  348. package/dist/feedback/Progress.styles.d.ts.map +1 -0
  349. package/dist/feedback/Progress.styles.js +150 -0
  350. package/dist/feedback/Progress.styles.js.map +1 -0
  351. package/dist/feedback/index.d.ts +6 -0
  352. package/dist/feedback/index.d.ts.map +1 -0
  353. package/dist/feedback/index.js +5 -0
  354. package/dist/feedback/index.js.map +1 -0
  355. package/dist/feedback/normalizeProgress.d.ts +11 -0
  356. package/dist/feedback/normalizeProgress.d.ts.map +1 -0
  357. package/dist/feedback/normalizeProgress.js +24 -0
  358. package/dist/feedback/normalizeProgress.js.map +1 -0
  359. package/dist/field/DraftController.d.ts +24 -0
  360. package/dist/field/DraftController.d.ts.map +1 -0
  361. package/dist/field/DraftController.js +72 -0
  362. package/dist/field/DraftController.js.map +1 -0
  363. package/dist/field/JollyField.d.ts +101 -0
  364. package/dist/field/JollyField.d.ts.map +1 -0
  365. package/dist/field/JollyField.js +356 -0
  366. package/dist/field/JollyField.js.map +1 -0
  367. package/dist/field/JollyField.styles.d.ts +5 -0
  368. package/dist/field/JollyField.styles.d.ts.map +1 -0
  369. package/dist/field/JollyField.styles.js +439 -0
  370. package/dist/field/JollyField.styles.js.map +1 -0
  371. package/dist/field/PointerFocusController.d.ts +16 -0
  372. package/dist/field/PointerFocusController.d.ts.map +1 -0
  373. package/dist/field/PointerFocusController.js +36 -0
  374. package/dist/field/PointerFocusController.js.map +1 -0
  375. package/dist/field/PopoverController.d.ts +60 -0
  376. package/dist/field/PopoverController.d.ts.map +1 -0
  377. package/dist/field/PopoverController.js +122 -0
  378. package/dist/field/PopoverController.js.map +1 -0
  379. package/dist/field/events.d.ts +14 -0
  380. package/dist/field/events.d.ts.map +1 -0
  381. package/dist/field/events.js +25 -0
  382. package/dist/field/events.js.map +1 -0
  383. package/dist/field/mixed.d.ts +15 -0
  384. package/dist/field/mixed.d.ts.map +1 -0
  385. package/dist/field/mixed.js +10 -0
  386. package/dist/field/mixed.js.map +1 -0
  387. package/dist/field/pointerModality.d.ts +14 -0
  388. package/dist/field/pointerModality.d.ts.map +1 -0
  389. package/dist/field/pointerModality.js +26 -0
  390. package/dist/field/pointerModality.js.map +1 -0
  391. package/dist/field/predicates.d.ts +18 -0
  392. package/dist/field/predicates.d.ts.map +1 -0
  393. package/dist/field/predicates.js +42 -0
  394. package/dist/field/predicates.js.map +1 -0
  395. package/dist/geometry/Rect.d.ts +10 -0
  396. package/dist/geometry/Rect.d.ts.map +1 -0
  397. package/dist/geometry/Rect.js +2 -0
  398. package/dist/geometry/Rect.js.map +1 -0
  399. package/dist/geometry/anchoredPosition.d.ts +23 -0
  400. package/dist/geometry/anchoredPosition.d.ts.map +1 -0
  401. package/dist/geometry/anchoredPosition.js +62 -0
  402. package/dist/geometry/anchoredPosition.js.map +1 -0
  403. package/dist/geometry/clampToViewport.d.ts +23 -0
  404. package/dist/geometry/clampToViewport.d.ts.map +1 -0
  405. package/dist/geometry/clampToViewport.js +16 -0
  406. package/dist/geometry/clampToViewport.js.map +1 -0
  407. package/dist/icon/Icon.d.ts +21 -0
  408. package/dist/icon/Icon.d.ts.map +1 -0
  409. package/dist/icon/Icon.js +88 -0
  410. package/dist/icon/Icon.js.map +1 -0
  411. package/dist/icon/builtins.d.ts +2 -0
  412. package/dist/icon/builtins.d.ts.map +1 -0
  413. package/dist/icon/builtins.js +149 -0
  414. package/dist/icon/builtins.js.map +1 -0
  415. package/dist/icon/index.d.ts +3 -0
  416. package/dist/icon/index.d.ts.map +1 -0
  417. package/dist/icon/index.js +3 -0
  418. package/dist/icon/index.js.map +1 -0
  419. package/dist/icon/registry.d.ts +20 -0
  420. package/dist/icon/registry.d.ts.map +1 -0
  421. package/dist/icon/registry.js +20 -0
  422. package/dist/icon/registry.js.map +1 -0
  423. package/dist/index.d.ts +96 -0
  424. package/dist/index.d.ts.map +1 -0
  425. package/dist/index.js +90 -0
  426. package/dist/index.js.map +1 -0
  427. package/dist/interaction/drag/DragSession.d.ts +111 -0
  428. package/dist/interaction/drag/DragSession.d.ts.map +1 -0
  429. package/dist/interaction/drag/DragSession.js +273 -0
  430. package/dist/interaction/drag/DragSession.js.map +1 -0
  431. package/dist/interaction/drag/dragGhost.d.ts +47 -0
  432. package/dist/interaction/drag/dragGhost.d.ts.map +1 -0
  433. package/dist/interaction/drag/dragGhost.js +77 -0
  434. package/dist/interaction/drag/dragGhost.js.map +1 -0
  435. package/dist/interaction/drag/dragOverlay.d.ts +44 -0
  436. package/dist/interaction/drag/dragOverlay.d.ts.map +1 -0
  437. package/dist/interaction/drag/dragOverlay.js +169 -0
  438. package/dist/interaction/drag/dragOverlay.js.map +1 -0
  439. package/dist/interaction/drag/dropIndex.d.ts +26 -0
  440. package/dist/interaction/drag/dropIndex.d.ts.map +1 -0
  441. package/dist/interaction/drag/dropIndex.js +34 -0
  442. package/dist/interaction/drag/dropIndex.js.map +1 -0
  443. package/dist/interaction/ensureDocumentStyles.d.ts +5 -0
  444. package/dist/interaction/ensureDocumentStyles.d.ts.map +1 -0
  445. package/dist/interaction/ensureDocumentStyles.js +14 -0
  446. package/dist/interaction/ensureDocumentStyles.js.map +1 -0
  447. package/dist/interaction/scrub/ScrubController.d.ts +27 -0
  448. package/dist/interaction/scrub/ScrubController.d.ts.map +1 -0
  449. package/dist/interaction/scrub/ScrubController.js +114 -0
  450. package/dist/interaction/scrub/ScrubController.js.map +1 -0
  451. package/dist/interaction/scrub/dragGuide.d.ts +9 -0
  452. package/dist/interaction/scrub/dragGuide.d.ts.map +1 -0
  453. package/dist/interaction/scrub/dragGuide.js +54 -0
  454. package/dist/interaction/scrub/dragGuide.js.map +1 -0
  455. package/dist/math/AxisController.d.ts +37 -0
  456. package/dist/math/AxisController.d.ts.map +1 -0
  457. package/dist/math/AxisController.js +141 -0
  458. package/dist/math/AxisController.js.map +1 -0
  459. package/dist/math/Point2d.d.ts +33 -0
  460. package/dist/math/Point2d.d.ts.map +1 -0
  461. package/dist/math/Point2d.js +169 -0
  462. package/dist/math/Point2d.js.map +1 -0
  463. package/dist/math/Point2d.styles.d.ts +2 -0
  464. package/dist/math/Point2d.styles.d.ts.map +1 -0
  465. package/dist/math/Point2d.styles.js +55 -0
  466. package/dist/math/Point2d.styles.js.map +1 -0
  467. package/dist/math/Quaternion.d.ts +33 -0
  468. package/dist/math/Quaternion.d.ts.map +1 -0
  469. package/dist/math/Quaternion.js +149 -0
  470. package/dist/math/Quaternion.js.map +1 -0
  471. package/dist/math/Quaternion.styles.d.ts +3 -0
  472. package/dist/math/Quaternion.styles.d.ts.map +1 -0
  473. package/dist/math/Quaternion.styles.js +5 -0
  474. package/dist/math/Quaternion.styles.js.map +1 -0
  475. package/dist/math/Transform.d.ts +62 -0
  476. package/dist/math/Transform.d.ts.map +1 -0
  477. package/dist/math/Transform.js +179 -0
  478. package/dist/math/Transform.js.map +1 -0
  479. package/dist/math/Transform.styles.d.ts +2 -0
  480. package/dist/math/Transform.styles.d.ts.map +1 -0
  481. package/dist/math/Transform.styles.js +21 -0
  482. package/dist/math/Transform.styles.js.map +1 -0
  483. package/dist/math/Vector2.d.ts +14 -0
  484. package/dist/math/Vector2.d.ts.map +1 -0
  485. package/dist/math/Vector2.js +33 -0
  486. package/dist/math/Vector2.js.map +1 -0
  487. package/dist/math/Vector3.d.ts +11 -0
  488. package/dist/math/Vector3.d.ts.map +1 -0
  489. package/dist/math/Vector3.js +22 -0
  490. package/dist/math/Vector3.js.map +1 -0
  491. package/dist/math/Vector4.d.ts +11 -0
  492. package/dist/math/Vector4.d.ts.map +1 -0
  493. package/dist/math/Vector4.js +22 -0
  494. package/dist/math/Vector4.js.map +1 -0
  495. package/dist/math/VectorField.d.ts +33 -0
  496. package/dist/math/VectorField.d.ts.map +1 -0
  497. package/dist/math/VectorField.js +152 -0
  498. package/dist/math/VectorField.js.map +1 -0
  499. package/dist/math/VectorField.styles.d.ts +5 -0
  500. package/dist/math/VectorField.styles.d.ts.map +1 -0
  501. package/dist/math/VectorField.styles.js +111 -0
  502. package/dist/math/VectorField.styles.js.map +1 -0
  503. package/dist/math/axes.d.ts +6 -0
  504. package/dist/math/axes.d.ts.map +1 -0
  505. package/dist/math/axes.js +38 -0
  506. package/dist/math/axes.js.map +1 -0
  507. package/dist/math/components.d.ts +3 -0
  508. package/dist/math/components.d.ts.map +1 -0
  509. package/dist/math/components.js +46 -0
  510. package/dist/math/components.js.map +1 -0
  511. package/dist/math/equals.d.ts +10 -0
  512. package/dist/math/equals.d.ts.map +1 -0
  513. package/dist/math/equals.js +52 -0
  514. package/dist/math/equals.js.map +1 -0
  515. package/dist/math/euler.d.ts +20 -0
  516. package/dist/math/euler.d.ts.map +1 -0
  517. package/dist/math/euler.js +65 -0
  518. package/dist/math/euler.js.map +1 -0
  519. package/dist/math/guards.d.ts +8 -0
  520. package/dist/math/guards.d.ts.map +1 -0
  521. package/dist/math/guards.js +53 -0
  522. package/dist/math/guards.js.map +1 -0
  523. package/dist/math/types.d.ts +32 -0
  524. package/dist/math/types.d.ts.map +1 -0
  525. package/dist/math/types.js +2 -0
  526. package/dist/math/types.js.map +1 -0
  527. package/dist/monitors/Graph.d.ts +39 -0
  528. package/dist/monitors/Graph.d.ts.map +1 -0
  529. package/dist/monitors/Graph.js +171 -0
  530. package/dist/monitors/Graph.js.map +1 -0
  531. package/dist/monitors/Graph.styles.d.ts +2 -0
  532. package/dist/monitors/Graph.styles.d.ts.map +1 -0
  533. package/dist/monitors/Graph.styles.js +46 -0
  534. package/dist/monitors/Graph.styles.js.map +1 -0
  535. package/dist/monitors/Monitor.d.ts +19 -0
  536. package/dist/monitors/Monitor.d.ts.map +1 -0
  537. package/dist/monitors/Monitor.js +61 -0
  538. package/dist/monitors/Monitor.js.map +1 -0
  539. package/dist/monitors/Monitor.styles.d.ts +2 -0
  540. package/dist/monitors/Monitor.styles.d.ts.map +1 -0
  541. package/dist/monitors/Monitor.styles.js +38 -0
  542. package/dist/monitors/Monitor.styles.js.map +1 -0
  543. package/dist/monitors/format.d.ts +7 -0
  544. package/dist/monitors/format.d.ts.map +1 -0
  545. package/dist/monitors/format.js +28 -0
  546. package/dist/monitors/format.js.map +1 -0
  547. package/dist/network/RoomPresenceSource.d.ts +29 -0
  548. package/dist/network/RoomPresenceSource.d.ts.map +1 -0
  549. package/dist/network/RoomPresenceSource.js +116 -0
  550. package/dist/network/RoomPresenceSource.js.map +1 -0
  551. package/dist/network/index.d.ts +2 -0
  552. package/dist/network/index.d.ts.map +1 -0
  553. package/dist/network/index.js +2 -0
  554. package/dist/network/index.js.map +1 -0
  555. package/dist/numeric/evaluate.d.ts +12 -0
  556. package/dist/numeric/evaluate.d.ts.map +1 -0
  557. package/dist/numeric/evaluate.js +206 -0
  558. package/dist/numeric/evaluate.js.map +1 -0
  559. package/dist/numeric/format.d.ts +14 -0
  560. package/dist/numeric/format.d.ts.map +1 -0
  561. package/dist/numeric/format.js +47 -0
  562. package/dist/numeric/format.js.map +1 -0
  563. package/dist/numeric/modifierMultiplier.d.ts +12 -0
  564. package/dist/numeric/modifierMultiplier.d.ts.map +1 -0
  565. package/dist/numeric/modifierMultiplier.js +13 -0
  566. package/dist/numeric/modifierMultiplier.js.map +1 -0
  567. package/dist/numeric/valueFromDelta.d.ts +26 -0
  568. package/dist/numeric/valueFromDelta.d.ts.map +1 -0
  569. package/dist/numeric/valueFromDelta.js +34 -0
  570. package/dist/numeric/valueFromDelta.js.map +1 -0
  571. package/dist/peer/LockController.d.ts +26 -0
  572. package/dist/peer/LockController.d.ts.map +1 -0
  573. package/dist/peer/LockController.js +111 -0
  574. package/dist/peer/LockController.js.map +1 -0
  575. package/dist/peer/Presence.d.ts +37 -0
  576. package/dist/peer/Presence.d.ts.map +1 -0
  577. package/dist/peer/Presence.js +151 -0
  578. package/dist/peer/Presence.js.map +1 -0
  579. package/dist/peer/Presence.styles.d.ts +2 -0
  580. package/dist/peer/Presence.styles.d.ts.map +1 -0
  581. package/dist/peer/Presence.styles.js +86 -0
  582. package/dist/peer/Presence.styles.js.map +1 -0
  583. package/dist/peer/PresenceSource.d.ts +28 -0
  584. package/dist/peer/PresenceSource.d.ts.map +1 -0
  585. package/dist/peer/PresenceSource.js +20 -0
  586. package/dist/peer/PresenceSource.js.map +1 -0
  587. package/dist/peer/events.d.ts +13 -0
  588. package/dist/peer/events.d.ts.map +1 -0
  589. package/dist/peer/events.js +9 -0
  590. package/dist/peer/events.js.map +1 -0
  591. package/dist/peer/presenceContext.d.ts +22 -0
  592. package/dist/peer/presenceContext.d.ts.map +1 -0
  593. package/dist/peer/presenceContext.js +42 -0
  594. package/dist/peer/presenceContext.js.map +1 -0
  595. package/dist/peer/resolveLock.d.ts +18 -0
  596. package/dist/peer/resolveLock.d.ts.map +1 -0
  597. package/dist/peer/resolveLock.js +38 -0
  598. package/dist/peer/resolveLock.js.map +1 -0
  599. package/dist/peer/toPresencePeers.d.ts +7 -0
  600. package/dist/peer/toPresencePeers.d.ts.map +1 -0
  601. package/dist/peer/toPresencePeers.js +14 -0
  602. package/dist/peer/toPresencePeers.js.map +1 -0
  603. package/dist/peer/types.d.ts +16 -0
  604. package/dist/peer/types.d.ts.map +1 -0
  605. package/dist/peer/types.js +2 -0
  606. package/dist/peer/types.js.map +1 -0
  607. package/dist/stats/MetricDefinition.d.ts +23 -0
  608. package/dist/stats/MetricDefinition.d.ts.map +1 -0
  609. package/dist/stats/MetricDefinition.js +14 -0
  610. package/dist/stats/MetricDefinition.js.map +1 -0
  611. package/dist/stats/Stats.d.ts +23 -0
  612. package/dist/stats/Stats.d.ts.map +1 -0
  613. package/dist/stats/Stats.js +354 -0
  614. package/dist/stats/Stats.js.map +1 -0
  615. package/dist/stats/Stats.styles.d.ts +2 -0
  616. package/dist/stats/Stats.styles.d.ts.map +1 -0
  617. package/dist/stats/Stats.styles.js +60 -0
  618. package/dist/stats/Stats.styles.js.map +1 -0
  619. package/dist/stats/StatsRecorder.d.ts +29 -0
  620. package/dist/stats/StatsRecorder.d.ts.map +1 -0
  621. package/dist/stats/StatsRecorder.js +151 -0
  622. package/dist/stats/StatsRecorder.js.map +1 -0
  623. package/dist/stats/builtins.d.ts +14 -0
  624. package/dist/stats/builtins.d.ts.map +1 -0
  625. package/dist/stats/builtins.js +63 -0
  626. package/dist/stats/builtins.js.map +1 -0
  627. package/dist/stats/index.d.ts +3 -0
  628. package/dist/stats/index.d.ts.map +1 -0
  629. package/dist/stats/index.js +3 -0
  630. package/dist/stats/index.js.map +1 -0
  631. package/dist/storage/LocalStorageAdapter.d.ts +28 -0
  632. package/dist/storage/LocalStorageAdapter.d.ts.map +1 -0
  633. package/dist/storage/LocalStorageAdapter.js +57 -0
  634. package/dist/storage/LocalStorageAdapter.js.map +1 -0
  635. package/dist/storage/MemoryStorageAdapter.d.ts +10 -0
  636. package/dist/storage/MemoryStorageAdapter.d.ts.map +1 -0
  637. package/dist/storage/MemoryStorageAdapter.js +13 -0
  638. package/dist/storage/MemoryStorageAdapter.js.map +1 -0
  639. package/dist/storage/PersistedState.d.ts +20 -0
  640. package/dist/storage/PersistedState.d.ts.map +1 -0
  641. package/dist/storage/PersistedState.js +34 -0
  642. package/dist/storage/PersistedState.js.map +1 -0
  643. package/dist/storage/StorageAdapter.d.ts +5 -0
  644. package/dist/storage/StorageAdapter.d.ts.map +1 -0
  645. package/dist/storage/StorageAdapter.js +2 -0
  646. package/dist/storage/StorageAdapter.js.map +1 -0
  647. package/dist/storage/keys.d.ts +13 -0
  648. package/dist/storage/keys.d.ts.map +1 -0
  649. package/dist/storage/keys.js +58 -0
  650. package/dist/storage/keys.js.map +1 -0
  651. package/dist/theme/ambientTheme.d.ts +5 -0
  652. package/dist/theme/ambientTheme.d.ts.map +1 -0
  653. package/dist/theme/ambientTheme.js +54 -0
  654. package/dist/theme/ambientTheme.js.map +1 -0
  655. package/dist/theme/components/DensityControl.d.ts +23 -0
  656. package/dist/theme/components/DensityControl.d.ts.map +1 -0
  657. package/dist/theme/components/DensityControl.js +78 -0
  658. package/dist/theme/components/DensityControl.js.map +1 -0
  659. package/dist/theme/components/ScopeHost.d.ts +21 -0
  660. package/dist/theme/components/ScopeHost.d.ts.map +1 -0
  661. package/dist/theme/components/ScopeHost.js +34 -0
  662. package/dist/theme/components/ScopeHost.js.map +1 -0
  663. package/dist/theme/components/ThemeControl.d.ts +23 -0
  664. package/dist/theme/components/ThemeControl.d.ts.map +1 -0
  665. package/dist/theme/components/ThemeControl.js +78 -0
  666. package/dist/theme/components/ThemeControl.js.map +1 -0
  667. package/dist/theme/components/ThemePreferences.d.ts +34 -0
  668. package/dist/theme/components/ThemePreferences.d.ts.map +1 -0
  669. package/dist/theme/components/ThemePreferences.js +151 -0
  670. package/dist/theme/components/ThemePreferences.js.map +1 -0
  671. package/dist/theme/font.d.ts +11 -0
  672. package/dist/theme/font.d.ts.map +1 -0
  673. package/dist/theme/font.js +50 -0
  674. package/dist/theme/font.js.map +1 -0
  675. package/dist/theme/peerColor.d.ts +7 -0
  676. package/dist/theme/peerColor.d.ts.map +1 -0
  677. package/dist/theme/peerColor.js +11 -0
  678. package/dist/theme/peerColor.js.map +1 -0
  679. package/dist/theme/preferences.d.ts +5 -0
  680. package/dist/theme/preferences.d.ts.map +1 -0
  681. package/dist/theme/preferences.js +22 -0
  682. package/dist/theme/preferences.js.map +1 -0
  683. package/dist/theme/resolveThemeToken.d.ts +7 -0
  684. package/dist/theme/resolveThemeToken.d.ts.map +1 -0
  685. package/dist/theme/resolveThemeToken.js +39 -0
  686. package/dist/theme/resolveThemeToken.js.map +1 -0
  687. package/dist/theme/styles/fallbacks.d.ts +54 -0
  688. package/dist/theme/styles/fallbacks.d.ts.map +1 -0
  689. package/dist/theme/styles/fallbacks.js +56 -0
  690. package/dist/theme/styles/fallbacks.js.map +1 -0
  691. package/dist/theme/styles/hiddenStyles.d.ts +9 -0
  692. package/dist/theme/styles/hiddenStyles.d.ts.map +1 -0
  693. package/dist/theme/styles/hiddenStyles.js +15 -0
  694. package/dist/theme/styles/hiddenStyles.js.map +1 -0
  695. package/dist/theme/styles/mixins.d.ts +21 -0
  696. package/dist/theme/styles/mixins.d.ts.map +1 -0
  697. package/dist/theme/styles/mixins.js +41 -0
  698. package/dist/theme/styles/mixins.js.map +1 -0
  699. package/dist/theme/styles/themeStyles.d.ts +5 -0
  700. package/dist/theme/styles/themeStyles.d.ts.map +1 -0
  701. package/dist/theme/styles/themeStyles.js +23 -0
  702. package/dist/theme/styles/themeStyles.js.map +1 -0
  703. package/dist/theme/tokens/density.d.ts +8 -0
  704. package/dist/theme/tokens/density.d.ts.map +1 -0
  705. package/dist/theme/tokens/density.js +29 -0
  706. package/dist/theme/tokens/density.js.map +1 -0
  707. package/dist/theme/tokens/ramps.d.ts +5 -0
  708. package/dist/theme/tokens/ramps.d.ts.map +1 -0
  709. package/dist/theme/tokens/ramps.js +47 -0
  710. package/dist/theme/tokens/ramps.js.map +1 -0
  711. package/dist/theme/tokens/scales.d.ts +5 -0
  712. package/dist/theme/tokens/scales.d.ts.map +1 -0
  713. package/dist/theme/tokens/scales.js +63 -0
  714. package/dist/theme/tokens/scales.js.map +1 -0
  715. package/dist/theme/tokens/semantic.d.ts +5 -0
  716. package/dist/theme/tokens/semantic.d.ts.map +1 -0
  717. package/dist/theme/tokens/semantic.js +208 -0
  718. package/dist/theme/tokens/semantic.js.map +1 -0
  719. package/dist/theme/types.d.ts +6 -0
  720. package/dist/theme/types.d.ts.map +1 -0
  721. package/dist/theme/types.js +2 -0
  722. package/dist/theme/types.js.map +1 -0
  723. package/package.json +75 -0
@@ -0,0 +1,601 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ // Import Third-party Dependencies
11
+ import { LitElement, css, html } from "lit";
12
+ import { customElement, property } from "lit/decorators.js";
13
+ import { emitContainerEvent } from "./events.js";
14
+ import { Floating } from "./Floating.js";
15
+ import { emptyLayout, parseLayout, reconcileLayout, serializeLayout } from "./layout.js";
16
+ import { headerGhost } from "../interaction/drag/dragGhost.js";
17
+ import { startDragSession } from "../interaction/drag/DragSession.js";
18
+ import { LocalStorageAdapter } from "../storage/LocalStorageAdapter.js";
19
+ // CONSTANTS
20
+ const kExtractMinWidth = 160;
21
+ const kExtractMinHeight = 80;
22
+ /** Window kept under the cursor when a grab offset outruns its own box. */
23
+ const kGrabInset = 24;
24
+ /**
25
+ * Coordinates a set of docks, the panes inside them, and the floating windows
26
+ * panes are dragged out into.
27
+ *
28
+ * The host contributes no geometry of its own: it renders `display: contents`
29
+ * so the author keeps full control of the arrangement. What it owns is the
30
+ * behaviour docks cannot own individually, namely which pane lives where, the
31
+ * single persisted snapshot of that, and any drag that crosses a container.
32
+ */
33
+ let DockLayout = class DockLayout extends LitElement {
34
+ static styles = css `
35
+ :host {
36
+ display: contents;
37
+ }
38
+ `;
39
+ #declared = null;
40
+ #snapshot = emptyLayout();
41
+ /** Geometry each pane last floated at, kept while it is docked. */
42
+ #geometry = new Map();
43
+ #session = null;
44
+ #applying = false;
45
+ #saveQueued = false;
46
+ #keyboardOrigin = null;
47
+ constructor() {
48
+ super();
49
+ this.storageKey = "";
50
+ this.storage = new LocalStorageAdapter();
51
+ }
52
+ connectedCallback() {
53
+ super.connectedCallback();
54
+ this.addEventListener("jolly-pane-drag", this.#onPaneDrag);
55
+ this.addEventListener("jolly-pane-move", this.#onPaneMove);
56
+ this.addEventListener("jolly-layout-dirty", this.#onDirty);
57
+ }
58
+ disconnectedCallback() {
59
+ this.removeEventListener("jolly-pane-drag", this.#onPaneDrag);
60
+ this.removeEventListener("jolly-pane-move", this.#onPaneMove);
61
+ this.removeEventListener("jolly-layout-dirty", this.#onDirty);
62
+ this.#session?.cancel();
63
+ this.#session = null;
64
+ super.disconnectedCallback();
65
+ }
66
+ render() {
67
+ return html `<slot @slotchange=${this.#onSlotChange}></slot>`;
68
+ }
69
+ firstUpdated() {
70
+ this.#declared = this.#readDeclared();
71
+ this.#snapshot = reconcileLayout(parseLayout(this.storage.get(this.#namespace())), this.#declared);
72
+ this.#apply(this.#snapshot);
73
+ }
74
+ /**
75
+ * Docks registered under this layout, in document order.
76
+ */
77
+ docks() {
78
+ return [...this.querySelectorAll("jolly-dock")].filter((dock) => dock.closest("jolly-dock-layout") === this);
79
+ }
80
+ /**
81
+ * Panes registered under this layout, docked or floating.
82
+ */
83
+ panes() {
84
+ return [...this.querySelectorAll("jolly-pane")].filter((pane) => pane.closest("jolly-dock-layout") === this);
85
+ }
86
+ /**
87
+ * Re-reads the markup and re-applies the current snapshot onto it.
88
+ */
89
+ sync() {
90
+ if (this.#applying) {
91
+ return;
92
+ }
93
+ this.#snapshot = reconcileLayout(this.#snapshot, this.#readDeclared());
94
+ this.#apply(this.#snapshot);
95
+ }
96
+ /**
97
+ * Discards the stored arrangement and restores the authored one.
98
+ */
99
+ resetLayout() {
100
+ this.storage.set(this.#namespace(), "");
101
+ this.#snapshot = reconcileLayout(null, this.#declared ?? this.#readDeclared());
102
+ this.#apply(this.#snapshot);
103
+ emitContainerEvent(this, "jolly-layout-change", {
104
+ snapshot: this.#snapshot
105
+ });
106
+ }
107
+ /**
108
+ * Current arrangement, as it would be persisted.
109
+ */
110
+ snapshot() {
111
+ return this.#read();
112
+ }
113
+ #onSlotChange = () => {
114
+ if (this.#applying || !this.hasUpdated) {
115
+ return;
116
+ }
117
+ this.sync();
118
+ };
119
+ #onDirty = () => {
120
+ if (this.#applying || this.#saveQueued) {
121
+ return;
122
+ }
123
+ this.#saveQueued = true;
124
+ queueMicrotask(() => {
125
+ this.#saveQueued = false;
126
+ this.#save();
127
+ });
128
+ };
129
+ /**
130
+ * Runs a pane drag that may end in any dock, in a new floating window, or
131
+ * simply somewhere else on screen.
132
+ */
133
+ #onPaneDrag = (event) => {
134
+ if (this.#session !== null) {
135
+ return;
136
+ }
137
+ event.stopPropagation();
138
+ const { detail } = event;
139
+ const { pane } = detail;
140
+ const home = pane.closest("jolly-dock");
141
+ const frame = floatingOf(pane);
142
+ const originX = detail.event.clientX;
143
+ const originY = detail.event.clientY;
144
+ const rect = pane.getBoundingClientRect();
145
+ const grabX = originX - rect.x;
146
+ const grabY = originY - rect.y;
147
+ const startX = frame?.x ?? 0;
148
+ const startY = frame?.y ?? 0;
149
+ this.#session = startDragSession({
150
+ source: pane,
151
+ event: detail.event,
152
+ handle: detail.handle,
153
+ ghostLabel: pane.heading || pane.layoutKey,
154
+ ghost: frame === null,
155
+ ghostElement: () => {
156
+ const ghost = headerGhost(pane);
157
+ // Only "heading" needs putting back: it is the one thing the header
158
+ // shows that a clone of the attributes alone does not carry.
159
+ ghost.heading = pane.heading;
160
+ return ghost;
161
+ },
162
+ // Every dock takes the pane across its whole surface, its own dock
163
+ // included: one gesture moves a pane from any dock to any other, with no
164
+ // detour through a floating window.
165
+ zones: () => this.docks().map((dock) => {
166
+ return {
167
+ id: dock.layoutKey,
168
+ rect: dock.dropZone(),
169
+ candidates: dock.dropCandidates(),
170
+ axis: dock.axis,
171
+ source: dock === home ? dock.panes().indexOf(pane) : null,
172
+ line: (index) => dock.insertionLine(index)
173
+ };
174
+ }),
175
+ // A window is dragged by its whole box, so a dock it has entered arms
176
+ // even when the cursor is still short of it. Without a window there is
177
+ // nothing but the cursor to go by.
178
+ probe: frame === null ?
179
+ undefined :
180
+ (clientX, clientY) => {
181
+ const box = frame.getBoundingClientRect();
182
+ return {
183
+ x: startX + clientX - originX,
184
+ y: startY + clientY - originY,
185
+ width: box.width,
186
+ height: box.height
187
+ };
188
+ },
189
+ onStart: () => {
190
+ // Exactly one source ghosts: a docked pane dims in the slot it keeps,
191
+ // and a floating one hands that over to the window carrying it.
192
+ if (frame === null) {
193
+ pane.dragging = true;
194
+ }
195
+ else {
196
+ frame.dragging = true;
197
+ }
198
+ },
199
+ onPreview: (result) => {
200
+ // The window keeps following the pointer even over an armed dock: it
201
+ // is dimmed, so the insertion line stays readable underneath it, and
202
+ // a window that stopped dead would read as a dropped gesture.
203
+ frame?.moveTo(startX + result.x - originX, startY + result.y - originY);
204
+ },
205
+ onCommit: (result) => {
206
+ const zoneId = result.zone?.id ?? null;
207
+ const dock = zoneId === null ?
208
+ null :
209
+ this.docks().find((candidate) => candidate.layoutKey === zoneId) ?? null;
210
+ if (dock !== null) {
211
+ this.#dockPane(pane, dock, result.index);
212
+ this.#save();
213
+ }
214
+ else if (frame === null) {
215
+ this.#extract(pane, {
216
+ x: result.x,
217
+ y: result.y,
218
+ offsetX: grabX,
219
+ offsetY: grabY
220
+ });
221
+ }
222
+ else {
223
+ this.#save();
224
+ }
225
+ },
226
+ onCancel: () => {
227
+ if (frame !== null) {
228
+ frame.moveTo(startX, startY);
229
+ }
230
+ },
231
+ onEnd: () => {
232
+ this.#session = null;
233
+ pane.dragging = false;
234
+ if (frame !== null) {
235
+ frame.dragging = false;
236
+ }
237
+ }
238
+ });
239
+ };
240
+ #onPaneMove = (event) => {
241
+ event.stopPropagation();
242
+ const { pane, command } = event.detail;
243
+ const label = pane.heading || pane.layoutKey;
244
+ if (command === "start") {
245
+ this.#keyboardOrigin = this.#read();
246
+ pane.announce(`${label} grabbed`);
247
+ return;
248
+ }
249
+ if (command === "cancel") {
250
+ if (this.#keyboardOrigin !== null) {
251
+ this.#apply(this.#keyboardOrigin);
252
+ }
253
+ this.#keyboardOrigin = null;
254
+ pane.announce(`${label} movement cancelled`);
255
+ return;
256
+ }
257
+ if (command === "finish") {
258
+ this.#keyboardOrigin = null;
259
+ this.#save();
260
+ pane.announce(`${label} dropped`);
261
+ return;
262
+ }
263
+ if (command === "up" || command === "down") {
264
+ this.#nudge(pane, command === "up" ? -1 : 1);
265
+ }
266
+ else {
267
+ this.#shift(pane, command === "previous" ? -1 : 1);
268
+ }
269
+ pane.announce(this.#positionOf(pane, label));
270
+ };
271
+ /**
272
+ * Moves a pane one slot along the dock it already sits in.
273
+ */
274
+ #nudge(pane, offset) {
275
+ const dock = pane.closest("jolly-dock");
276
+ if (dock === null) {
277
+ return;
278
+ }
279
+ const list = dock.panes();
280
+ const from = list.indexOf(pane);
281
+ const to = Math.min(Math.max(from + offset, 0), list.length - 1);
282
+ if (from === -1 || from === to) {
283
+ return;
284
+ }
285
+ this.#dockPane(pane, dock, offset > 0 ? to + 1 : to);
286
+ }
287
+ /**
288
+ * Moves a pane to the adjacent dock, docking a floating pane on the way in.
289
+ */
290
+ #shift(pane, offset) {
291
+ const docks = this.docks();
292
+ if (docks.length === 0) {
293
+ return;
294
+ }
295
+ const home = pane.closest("jolly-dock");
296
+ if (home === null) {
297
+ const target = offset < 0 ? docks[0] : docks[docks.length - 1];
298
+ this.#dockPane(pane, target, target.panes().length);
299
+ return;
300
+ }
301
+ const index = docks.indexOf(home);
302
+ const next = Math.min(Math.max(index + offset, 0), docks.length - 1);
303
+ if (index === next) {
304
+ return;
305
+ }
306
+ this.#dockPane(pane, docks[next], docks[next].panes().length);
307
+ }
308
+ /**
309
+ * Places a pane in a dock at an insertion index.
310
+ *
311
+ * The index counts the dock's current children, including the pane itself
312
+ * when it already lives there, which is what a drag session reports.
313
+ */
314
+ #dockPane(pane, dock, index) {
315
+ const list = dock.panes();
316
+ const from = list.indexOf(pane);
317
+ const target = from !== -1 && index > from ? index - 1 : index;
318
+ const others = list.filter((candidate) => candidate !== pane);
319
+ const reference = others[target] ?? null;
320
+ // Reinserting a pane before the sibling it already precedes would
321
+ // reparent it for nothing, tearing down and rebuilding its subtree.
322
+ if (from !== -1 && reference === (list[from + 1] ?? null)) {
323
+ return;
324
+ }
325
+ const frame = this.#releaseWindow(pane);
326
+ dock.insertBefore(pane, reference);
327
+ this.#discardWindow(frame);
328
+ this.#refresh();
329
+ }
330
+ /**
331
+ * Detaches a pane into a new floating window under the pointer.
332
+ *
333
+ * The window comes back at the size the pane last floated at, not at the one
334
+ * its dock stretched it to: a window narrowed to fit a corner of the screen
335
+ * that returned dock-sized would have to be narrowed again every time.
336
+ * Nothing remembered means nothing to restore, so a pane leaving a dock for
337
+ * the first time is sized by what it measures there.
338
+ */
339
+ #extract(pane, grab) {
340
+ const rect = pane.getBoundingClientRect();
341
+ const remembered = this.#geometry.get(pane.layoutKey);
342
+ const width = Math.max(remembered?.width ?? rect.width, kExtractMinWidth);
343
+ const height = Math.max(remembered?.height ?? rect.height, kExtractMinHeight);
344
+ const frame = document.createElement("jolly-floating");
345
+ // A window narrower than the pane was in its dock would otherwise be hung
346
+ // off a grab offset past its own edge, and land away from the cursor.
347
+ frame.x = grab.x - Math.min(grab.offsetX, Math.max(width - kGrabInset, 0));
348
+ frame.y = grab.y - Math.min(grab.offsetY, Math.max(height - kGrabInset, 0));
349
+ frame.width = width;
350
+ frame.height = height;
351
+ this.append(frame);
352
+ frame.append(pane);
353
+ this.#refresh();
354
+ void frame.updateComplete.then(() => {
355
+ frame.clampToView();
356
+ frame.raise();
357
+ this.#save();
358
+ });
359
+ }
360
+ /**
361
+ * Takes a pane out of its window, keeping the geometry it had in it.
362
+ *
363
+ * The window is discarded moments later and is the only thing that knows how
364
+ * big the pane was, so what it knows has to outlive it.
365
+ */
366
+ #releaseWindow(pane) {
367
+ const frame = floatingOf(pane);
368
+ if (frame !== null) {
369
+ this.#geometry.set(pane.layoutKey, geometryOf(frame));
370
+ }
371
+ return frame;
372
+ }
373
+ #discardWindow(frame) {
374
+ if (frame !== null &&
375
+ frame.pane() === null) {
376
+ frame.remove();
377
+ }
378
+ }
379
+ #positionOf(pane, label) {
380
+ const dock = pane.closest("jolly-dock");
381
+ if (dock === null) {
382
+ return `${label}, floating`;
383
+ }
384
+ const list = dock.panes();
385
+ return `${label}, ${dock.side} dock, position ` +
386
+ `${list.indexOf(pane) + 1} of ${list.length}`;
387
+ }
388
+ /**
389
+ * Applies a snapshot onto the DOM: placement first, then geometry.
390
+ */
391
+ #apply(snapshot) {
392
+ this.#applying = true;
393
+ try {
394
+ const index = new Map(this.panes().map((pane) => [pane.layoutKey, pane]));
395
+ // Replaced rather than merged, so a reset forgets the sizes panes were
396
+ // given since instead of handing them back on the next drag out.
397
+ this.#geometry = new Map(Object.entries(snapshot.geometry));
398
+ for (const dock of this.docks()) {
399
+ const state = snapshot.docks[dock.layoutKey];
400
+ if (state === undefined) {
401
+ continue;
402
+ }
403
+ if (state.size !== undefined) {
404
+ dock.size = state.size;
405
+ }
406
+ dock.collapsed = state.collapsed === true;
407
+ this.#orderPanes(dock, state.panes, index);
408
+ }
409
+ for (const [key, geometry] of Object.entries(snapshot.floating)) {
410
+ const pane = index.get(key);
411
+ if (pane !== undefined) {
412
+ this.#applyFloating(pane, geometry);
413
+ }
414
+ }
415
+ for (const [key, state] of Object.entries(snapshot.panes)) {
416
+ const pane = index.get(key);
417
+ if (pane !== undefined && state.collapsed !== undefined) {
418
+ pane.collapsed = state.collapsed;
419
+ }
420
+ }
421
+ for (const pane of this.panes()) {
422
+ pane.applyFolderStates(snapshot.folders[pane.layoutKey] ?? {});
423
+ }
424
+ }
425
+ finally {
426
+ this.#applying = false;
427
+ }
428
+ }
429
+ #orderPanes(dock, keys, index) {
430
+ const desired = [];
431
+ for (const key of keys) {
432
+ const pane = index.get(key);
433
+ if (pane !== undefined) {
434
+ desired.push(pane);
435
+ }
436
+ }
437
+ const current = dock.panes();
438
+ const unchanged = desired.length === current.length &&
439
+ desired.every((pane, position) => pane === current[position]);
440
+ if (unchanged) {
441
+ return;
442
+ }
443
+ for (const pane of desired) {
444
+ const frame = this.#releaseWindow(pane);
445
+ dock.append(pane);
446
+ this.#discardWindow(frame);
447
+ }
448
+ }
449
+ #applyFloating(pane, geometry) {
450
+ let frame = floatingOf(pane);
451
+ if (frame === null) {
452
+ frame = document.createElement("jolly-floating");
453
+ this.append(frame);
454
+ frame.append(pane);
455
+ }
456
+ for (const key of ["x", "y", "width", "height"]) {
457
+ const value = geometry[key];
458
+ if (value !== undefined) {
459
+ frame[key] = value;
460
+ }
461
+ }
462
+ }
463
+ /**
464
+ * Reads the arrangement the markup currently describes, geometry included.
465
+ *
466
+ * Captured once before the stored snapshot is applied, so `resetLayout` has
467
+ * the authored sizes and window positions to restore, not merely the
468
+ * authored placement.
469
+ */
470
+ #readDeclared() {
471
+ const floating = [];
472
+ const locked = [];
473
+ for (const pane of this.panes()) {
474
+ const frame = floatingOf(pane);
475
+ if (frame !== null) {
476
+ floating.push({
477
+ key: pane.layoutKey,
478
+ geometry: geometryOf(frame)
479
+ });
480
+ }
481
+ if (pane.locked) {
482
+ locked.push(pane.layoutKey);
483
+ }
484
+ }
485
+ return {
486
+ docks: this.docks().map((dock) => {
487
+ return {
488
+ key: dock.layoutKey,
489
+ size: dock.size,
490
+ panes: dock.panes().map((pane) => pane.layoutKey)
491
+ };
492
+ }),
493
+ floating,
494
+ locked
495
+ };
496
+ }
497
+ /**
498
+ * Reads the arrangement the DOM currently has.
499
+ *
500
+ * A window on screen is the freshest word on the size of the pane in it, so
501
+ * reading one also updates what that pane is remembered at.
502
+ */
503
+ #read() {
504
+ const docks = {};
505
+ for (const dock of this.docks()) {
506
+ docks[dock.layoutKey] = {
507
+ size: dock.size,
508
+ collapsed: dock.collapsed,
509
+ panes: dock.panes().map((pane) => pane.layoutKey)
510
+ };
511
+ }
512
+ const floating = {};
513
+ const geometry = {};
514
+ const panes = {};
515
+ const folders = {};
516
+ for (const pane of this.panes()) {
517
+ const frame = floatingOf(pane);
518
+ if (frame !== null) {
519
+ floating[pane.layoutKey] = geometryOf(frame);
520
+ this.#geometry.set(pane.layoutKey, geometryOf(frame));
521
+ }
522
+ // Copied on the way out: the snapshot is handed to callers, and what
523
+ // they get must not reach back into the cache behind it.
524
+ const remembered = this.#geometry.get(pane.layoutKey);
525
+ if (remembered !== undefined) {
526
+ geometry[pane.layoutKey] = {
527
+ ...remembered
528
+ };
529
+ }
530
+ if (pane.collapsible) {
531
+ panes[pane.layoutKey] = {
532
+ collapsed: pane.collapsed
533
+ };
534
+ }
535
+ const folderStates = pane.folderStates();
536
+ if (Object.keys(folderStates).length > 0) {
537
+ folders[pane.layoutKey] = folderStates;
538
+ }
539
+ }
540
+ return {
541
+ ...emptyLayout(),
542
+ docks,
543
+ floating,
544
+ geometry,
545
+ panes,
546
+ folders
547
+ };
548
+ }
549
+ /**
550
+ * Re-reads the snapshot from the DOM without persisting it.
551
+ *
552
+ * Every placement change has to land here at once. Adding or removing a
553
+ * floating window re-runs the host slot change, and the `sync()` that
554
+ * follows reconciles stored placement over declared placement: against a
555
+ * snapshot that still describes the old arrangement, it would undo the move
556
+ * that had just been made.
557
+ */
558
+ #refresh() {
559
+ this.#snapshot = this.#read();
560
+ }
561
+ #save() {
562
+ this.#refresh();
563
+ this.storage.set(this.#namespace(), serializeLayout(this.#snapshot));
564
+ emitContainerEvent(this, "jolly-layout-change", {
565
+ snapshot: this.#snapshot
566
+ });
567
+ }
568
+ #namespace() {
569
+ if (this.storageKey !== "") {
570
+ return this.storageKey;
571
+ }
572
+ const path = globalThis.location?.pathname ?? "";
573
+ return `${path}:jolly-dock-layout`;
574
+ }
575
+ };
576
+ __decorate([
577
+ property({ type: String, attribute: "storage-key" }),
578
+ __metadata("design:type", String)
579
+ ], DockLayout.prototype, "storageKey", void 0);
580
+ __decorate([
581
+ property({ attribute: false }),
582
+ __metadata("design:type", Object)
583
+ ], DockLayout.prototype, "storage", void 0);
584
+ DockLayout = __decorate([
585
+ customElement("jolly-dock-layout"),
586
+ __metadata("design:paramtypes", [])
587
+ ], DockLayout);
588
+ export { DockLayout };
589
+ function floatingOf(pane) {
590
+ const parent = pane.parentElement;
591
+ return parent instanceof Floating ? parent : null;
592
+ }
593
+ function geometryOf(frame) {
594
+ return {
595
+ x: frame.x,
596
+ y: frame.y,
597
+ width: frame.width,
598
+ height: frame.height
599
+ };
600
+ }
601
+ //# sourceMappingURL=DockLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DockLayout.js","sourceRoot":"","sources":["../../src/containers/DockLayout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { LitElement, type TemplateResult } from "lit";
2
+ import { type PaneElement } from "./Pane.ts";
3
+ import type { StorageAdapter } from "../storage/StorageAdapter.ts";
4
+ export declare class Floating extends LitElement {
5
+ #private;
6
+ static styles: import("lit").CSSResult[];
7
+ x: number;
8
+ y: number;
9
+ width: number;
10
+ height: number;
11
+ minWidth: number;
12
+ minHeight: number;
13
+ dragging: boolean;
14
+ hidden: boolean;
15
+ storageKey: string;
16
+ storage: StorageAdapter;
17
+ _slot: HTMLSlotElement;
18
+ _rightHandle: HTMLDivElement;
19
+ _bottomHandle: HTMLDivElement;
20
+ _cornerHandle: HTMLDivElement;
21
+ /**
22
+ * True inside a `jolly-dock-layout`, which then owns movement and
23
+ * persistence so a drag can also end in a dock.
24
+ */
25
+ get managed(): boolean;
26
+ /**
27
+ * Identity used by the layout snapshot, taken from the pane it holds.
28
+ */
29
+ get layoutKey(): string;
30
+ constructor();
31
+ connectedCallback(): void;
32
+ render(): TemplateResult;
33
+ protected willUpdate(): void;
34
+ protected firstUpdated(): void;
35
+ protected updated(changed: Map<PropertyKey, unknown>): void;
36
+ disconnectedCallback(): void;
37
+ /**
38
+ * The pane this window holds, if any.
39
+ */
40
+ pane(): PaneElement | null;
41
+ /**
42
+ * Places the window at a viewport position, clamped to stay reachable.
43
+ */
44
+ moveTo(x: number, y: number): void;
45
+ /**
46
+ * Brings the window above its siblings in the same root.
47
+ */
48
+ raise(): void;
49
+ clampToView: () => void;
50
+ }
51
+ declare global {
52
+ interface HTMLElementTagNameMap {
53
+ "jolly-floating": Floating;
54
+ }
55
+ }
56
+ //# sourceMappingURL=Floating.d.ts.map