@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,439 @@
1
+ // Import Third-party Dependencies
2
+ import { css } from "lit";
3
+ // Import Internal Dependencies
4
+ import { kFallback } from "../theme/styles/fallbacks.js";
5
+ import { fillTransition, truncate } from "../theme/styles/mixins.js";
6
+ /**
7
+ * Shared field layout and state styles.
8
+ */
9
+ export const fieldStyles = css `
10
+ /*
11
+ * Rows carry no outer spacing. The container that stacks them owns the gap,
12
+ * so a consumer can stack fields flush when that is what they want.
13
+ */
14
+ :host {
15
+ --jolly-field-active-color: light-dark(
16
+ var(--jolly-neutral-600),
17
+ var(--jolly-neutral-50)
18
+ );
19
+ --jolly-field-active-color-hover: light-dark(
20
+ var(--jolly-neutral-500),
21
+ var(--jolly-neutral-200)
22
+ );
23
+
24
+ display: block;
25
+ font-family: var(--jolly-font-family, ui-monospace, monospace);
26
+ font-size: var(--jolly-font-size, 11px);
27
+ color: var(--jolly-text, ${kFallback.text});
28
+ }
29
+
30
+ :host([colored]) {
31
+ --jolly-field-active-color: var(--jolly-accent-fill);
32
+ --jolly-field-active-color-hover: var(--jolly-accent-fill-hover);
33
+ }
34
+
35
+ :host([disabled]) {
36
+ opacity: 0.5;
37
+ pointer-events: none;
38
+ }
39
+
40
+ .row {
41
+ display: flex;
42
+ align-items: center;
43
+ gap: var(--jolly-space-1, 4px);
44
+ min-height: var(--jolly-row-height, 20px);
45
+ padding-inline: var(--jolly-space-1, 4px)
46
+ var(--jolly-field-inset-end, var(--jolly-space-1, 4px));
47
+ border-radius: var(--jolly-radius-sm, 2px);
48
+ ${fillTransition}
49
+ }
50
+
51
+ /*
52
+ * Flattened into the row's flex items by default, so inline layout is
53
+ * unaffected by the grouping these wrap for stacked layout.
54
+ */
55
+ .leading,
56
+ .content {
57
+ display: contents;
58
+ }
59
+
60
+ :host([label-position="top"]) .row {
61
+ flex-direction: column;
62
+ align-items: stretch;
63
+ min-height: auto;
64
+ gap: calc(var(--jolly-space-1, 4px) / 2);
65
+ }
66
+
67
+ :host([label-position="top"]) .leading,
68
+ :host([label-position="top"]) .content {
69
+ display: flex;
70
+ align-items: center;
71
+ gap: var(--jolly-space-1, 4px);
72
+ }
73
+
74
+ /*
75
+ * The gutter sits only on the label's line, so the value line needs a
76
+ * matching inset to keep both lines starting at the same edge.
77
+ */
78
+ :host([label-position="top"]) .content {
79
+ padding-inline-start: calc(
80
+ var(--jolly-gutter-width, 0px) + var(--jolly-space-1, 4px)
81
+ );
82
+ }
83
+
84
+ /* With no label the leading line is an empty band, unless it holds a lock. */
85
+ :host([unlabeled]:not([locked])[label-position="top"]) .leading {
86
+ display: none;
87
+ }
88
+
89
+ :host([unlabeled]:not([locked])[label-position="top"]) .content {
90
+ padding-inline-start: 0;
91
+ }
92
+
93
+ /*
94
+ * Locating the active row in a long pane. Deliberately fainter than the
95
+ * control's own focus tint, so the two read as a hierarchy and not a clash.
96
+ */
97
+ .row:focus-within {
98
+ background: var(--jolly-row-bg-focus);
99
+ }
100
+
101
+ /*
102
+ * Zero width by default. A collaborative container opts its subtree in, which
103
+ * buys back the fixed inset that keeps lock state from shifting the row.
104
+ */
105
+ .gutter {
106
+ display: flex;
107
+ align-items: center;
108
+ justify-content: center;
109
+ box-sizing: border-box;
110
+ flex: 0 0 auto;
111
+ width: var(--jolly-gutter-width, 0px);
112
+ height: 14px;
113
+ overflow: hidden;
114
+ }
115
+
116
+ /*
117
+ * Without a label the gap after a collapsed gutter is an inset paid for
118
+ * nothing. Locked keeps it: there the gutter paints an icon.
119
+ */
120
+ :host([unlabeled]:not([locked])) .gutter {
121
+ margin-inline-end: calc(var(--jolly-space-1, 4px) * -1);
122
+ }
123
+
124
+ /* No label column to inset for, so both edges fall back to the row inset. */
125
+ :host([unlabeled]:not([locked])) .row {
126
+ padding-inline-start: var(--jolly-field-inset-end, var(--jolly-space-1, 4px));
127
+ }
128
+
129
+ /*
130
+ * A lock always has to be visible, even where nothing reserved room for it.
131
+ * Opting the subtree in is what turns this from a widening row into a fixed
132
+ * inset; without it the lock still shows, it just costs a shift.
133
+ */
134
+ :host([locked]) .gutter {
135
+ width: max(var(--jolly-gutter-width, 0px), 14px);
136
+ overflow: visible;
137
+ }
138
+
139
+ /*
140
+ * Icons default to the 16px display size, which overflows the gutter. The
141
+ * lock is chrome inside a 14px box, so it is sized to the box it sits in.
142
+ */
143
+ .gutter > jolly-icon {
144
+ width: 14px;
145
+ height: 14px;
146
+ color: var(--jolly-locked-ring, var(--jolly-locked));
147
+ }
148
+
149
+ /*
150
+ * A configured width aligns value columns across fields. The cap stops a long
151
+ * label from eating the value area; a field packed beside another on one line
152
+ * lifts it, since there the label is legitimately most of the row.
153
+ */
154
+ .label {
155
+ flex: 0 0 auto;
156
+ width: var(--jolly-label-width, auto);
157
+ min-width: 0;
158
+ max-width: var(--jolly-label-max-width, 45%);
159
+ color: var(--jolly-text-muted);
160
+ text-align: start;
161
+ ${truncate}
162
+ user-select: none;
163
+ }
164
+
165
+ :host([label-position="top"]) .label {
166
+ width: auto;
167
+ max-width: none;
168
+ }
169
+
170
+ .value {
171
+ display: flex;
172
+ align-items: center;
173
+ flex: 1 1 auto;
174
+ gap: var(--jolly-space-1, 4px);
175
+ min-width: 0;
176
+ font-variant-numeric: var(--jolly-font-numeric, tabular-nums);
177
+ }
178
+
179
+ /*
180
+ * Base input styles shared by field controls. Boundaries are carried by the
181
+ * fill, so there is no border to state here.
182
+ */
183
+ .value input:not([type="color"]),
184
+ .value select {
185
+ flex: 1 1 auto;
186
+ min-width: 0;
187
+ height: var(--jolly-control-height, 20px);
188
+ padding: 0 var(--jolly-space-1, 4px);
189
+ border: 0;
190
+ border-radius: var(--jolly-radius-sm, 2px);
191
+ background: var(--jolly-control-bg, ${kFallback.controlBg});
192
+ color: inherit;
193
+ font: inherit;
194
+ font-variant-numeric: inherit;
195
+ ${fillTransition}
196
+ }
197
+
198
+ .value input:hover:not(:disabled),
199
+ .value select:hover:not(:disabled) {
200
+ background: var(--jolly-control-bg-hover);
201
+ }
202
+
203
+ /*
204
+ * Focus is a fill step rather than an outline. The step has to beat hover,
205
+ * because both are the same channel.
206
+ */
207
+ .value input:focus,
208
+ .value select:focus {
209
+ background: var(--jolly-control-bg-focus);
210
+ outline: none;
211
+ }
212
+
213
+ /*
214
+ * Numeric and monitor-style rows read better against the trailing edge, where
215
+ * the digits line up down the pane.
216
+ */
217
+ :host([align="end"]) .value input,
218
+ :host([align="end"]) .value select {
219
+ text-align: end;
220
+ }
221
+
222
+ :host([invalid]) .value input,
223
+ :host([invalid]) .value select {
224
+ background: var(--jolly-invalid-bg);
225
+ }
226
+
227
+ :host([invalid]) .value input:hover:not(:disabled),
228
+ :host([invalid]) .value select:hover:not(:disabled) {
229
+ background: var(--jolly-invalid-bg-hover);
230
+ }
231
+
232
+ :host([invalid]) .value input:focus,
233
+ :host([invalid]) .value select:focus {
234
+ background: var(--jolly-invalid-bg-focus);
235
+ }
236
+
237
+ :host([readonly]) .value input,
238
+ :host([readonly]) .value select {
239
+ background: var(--jolly-control-bg-muted);
240
+ }
241
+
242
+ /*
243
+ * Modified and locked both want the leading bar, so locked takes it: a locked
244
+ * field is not editable, which makes reverting moot anyway.
245
+ */
246
+ :host([modified]:not([locked])) {
247
+ box-shadow: inset 2px 0 0 0 var(--jolly-field-active-color);
248
+ border-radius: var(--jolly-radius-sm, 2px);
249
+ }
250
+
251
+ :host([locked]) {
252
+ padding-block: calc(var(--jolly-space-1, 4px) / 2);
253
+ box-shadow: inset 3px 0 0 0 var(--jolly-locked-ring, var(--jolly-locked));
254
+ border-radius: var(--jolly-radius-sm, 2px);
255
+ background: color-mix(
256
+ in oklab,
257
+ var(--jolly-locked-ring, var(--jolly-locked)) 12%,
258
+ transparent
259
+ );
260
+ }
261
+
262
+ /*
263
+ * A container can reserve one trailing column across sibling fields. The
264
+ * negative margin absorbs the row gap; padding restores it for presence,
265
+ * while the revert button cancels that padding to stay joined to the value.
266
+ */
267
+ .trailing {
268
+ display: flex;
269
+ align-items: center;
270
+ box-sizing: border-box;
271
+ flex: 0 0 auto;
272
+ gap: var(--jolly-space-1, 4px);
273
+ width: var(--jolly-field-trailing-width, auto);
274
+ margin-inline-start: calc(var(--jolly-space-1, 4px) * -1);
275
+ padding-inline-start: var(--jolly-space-1, 4px);
276
+ }
277
+
278
+ .trailing:not(:has(.revert, .peers)) {
279
+ padding-inline-start: 0;
280
+ }
281
+
282
+ /*
283
+ * The muted action stays visible while a modified value can be restored.
284
+ * It joins the value edge and uses the full control height, so its hover fill
285
+ * reads as trailing field chrome instead of a highlight behind the glyph.
286
+ */
287
+ .revert {
288
+ display: flex;
289
+ align-items: center;
290
+ justify-content: center;
291
+ flex: 0 0 auto;
292
+ width: var(--jolly-control-height, 20px);
293
+ height: var(--jolly-control-height, 20px);
294
+ margin-inline-start: calc(var(--jolly-space-1, 4px) * -1);
295
+ padding: 0;
296
+ border: 0;
297
+ border-radius:
298
+ 0
299
+ var(--jolly-radius-sm, 2px)
300
+ var(--jolly-radius-sm, 2px)
301
+ 0;
302
+ background: none;
303
+ color: var(--jolly-text-muted);
304
+ cursor: pointer;
305
+ ${fillTransition}
306
+ }
307
+
308
+ .revert > jolly-icon {
309
+ width: 14px;
310
+ height: 14px;
311
+ }
312
+
313
+ /* Filled values and the trailing action form a single control silhouette. */
314
+ .value:has(+ .trailing > .revert) input[type="text"]:last-child,
315
+ .value:has(+ .trailing > .revert) select {
316
+ border-start-end-radius: 0;
317
+ border-end-end-radius: 0;
318
+ }
319
+
320
+ .revert:hover {
321
+ background: var(--jolly-control-bg);
322
+ }
323
+
324
+ .revert:focus-visible {
325
+ background: var(--jolly-control-bg-focus);
326
+ outline: none;
327
+ }
328
+
329
+ .peers {
330
+ display: flex;
331
+ flex: 0 0 auto;
332
+ align-items: center;
333
+ margin-inline-start: auto;
334
+ }
335
+
336
+ .chip {
337
+ width: 10px;
338
+ height: 10px;
339
+ margin-left: -3px;
340
+ border: 1px solid var(--jolly-surface);
341
+ border-radius: 50%;
342
+ }
343
+
344
+ .chip:first-child {
345
+ margin-left: 0;
346
+ }
347
+
348
+ .overflow {
349
+ margin-left: var(--jolly-space-1, 4px);
350
+ color: var(--jolly-text-muted);
351
+ font-size: 0.85em;
352
+ }
353
+
354
+ /* Tooltips grow inward to stay within the field bounds. */
355
+ [data-tooltip] {
356
+ position: relative;
357
+ }
358
+
359
+ [data-tooltip]::after {
360
+ content: attr(data-tooltip);
361
+ position: absolute;
362
+ bottom: calc(100% + var(--jolly-space-1, 4px));
363
+ z-index: 1;
364
+ padding: 2px 6px;
365
+ border-radius: var(--jolly-radius-sm, 2px);
366
+ background: var(--jolly-surface-raised);
367
+ box-shadow: var(--jolly-shadow-overlay);
368
+ color: var(--jolly-text);
369
+ font-size: 0.85em;
370
+ white-space: nowrap;
371
+ opacity: 0;
372
+ pointer-events: none;
373
+ transform: translateY(2px);
374
+ transition:
375
+ opacity var(--jolly-duration-fast, 100ms) var(--jolly-easing, ease),
376
+ transform var(--jolly-duration-fast, 100ms) var(--jolly-easing, ease);
377
+ }
378
+
379
+ /*
380
+ * Offset on the tooltip rather than as gutter padding, which would widen the
381
+ * gutter on exactly the rows that must not change width.
382
+ */
383
+ .gutter[data-tooltip]::after {
384
+ left: 3px;
385
+ }
386
+
387
+ .chip::after {
388
+ right: 0;
389
+ }
390
+
391
+ [data-tooltip]:hover::after {
392
+ opacity: 1;
393
+ transform: translateY(0);
394
+ }
395
+
396
+ /* Align help and error text with the value area. */
397
+ .description,
398
+ .error {
399
+ display: flex;
400
+ align-items: flex-start;
401
+ gap: var(--jolly-space-1, 4px);
402
+ margin-block: calc(var(--jolly-space-1, 4px) / 2);
403
+ margin-inline: calc(
404
+ var(--jolly-gutter-width, 0px) + (var(--jolly-space-1, 4px) * 2)
405
+ )
406
+ var(--jolly-space-1, 4px);
407
+ font-size: 0.9em;
408
+ }
409
+
410
+ /* No label column to clear, so they follow the value back to the row inset. */
411
+ :host([unlabeled]:not([locked])) .description,
412
+ :host([unlabeled]:not([locked])) .error {
413
+ margin-inline-start: calc(
414
+ var(--jolly-gutter-width, 0px) +
415
+ var(--jolly-field-inset-end, var(--jolly-space-1, 4px))
416
+ );
417
+ }
418
+
419
+ .description jolly-icon,
420
+ .error jolly-icon {
421
+ flex: 0 0 auto;
422
+ width: 14px;
423
+ height: 14px;
424
+ margin-block-start: 0;
425
+ }
426
+
427
+ .description {
428
+ color: var(--jolly-text-muted);
429
+ }
430
+
431
+ .description jolly-icon {
432
+ color: var(--jolly-accent-text);
433
+ }
434
+
435
+ .error {
436
+ color: var(--jolly-danger);
437
+ }
438
+ `;
439
+ //# sourceMappingURL=JollyField.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JollyField.styles.js","sourceRoot":"","sources":["../../src/field/JollyField.styles.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,+BAA+B;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;+BAkBC,SAAS,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;MAqBvC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiHd,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA8B4B,SAAS,CAAC,SAAS;;;;MAIvD,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8Gd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqInB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { ReactiveControllerHost } from "lit";
2
+ /**
3
+ * Tracks pointer focus so fields can suppress a spurious focus-visible ring.
4
+ */
5
+ export declare class PointerFocusController {
6
+ #private;
7
+ constructor(host: ReactiveControllerHost);
8
+ get active(): boolean;
9
+ onFocus: () => void;
10
+ onBlur: () => void;
11
+ /**
12
+ * Keyboard input restores the focus-visible ring.
13
+ */
14
+ onKeyDown: () => void;
15
+ }
16
+ //# sourceMappingURL=PointerFocusController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PointerFocusController.d.ts","sourceRoot":"","sources":["../../src/field/PointerFocusController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,KAAK,CAAC;AAQlD;;GAEG;AACH,qBAAa,sBAAsB;;gBAK/B,IAAI,EAAE,sBAAsB;IAM9B,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,OAAO,QAAO,IAAI,CAEhB;IAEF,MAAM,QAAO,IAAI,CAEf;IAEF;;OAEG;IACH,SAAS,QAAO,IAAI,CAElB;CAYH"}
@@ -0,0 +1,36 @@
1
+ // Import Internal Dependencies
2
+ import { ensureModalityTracking, wasPointerInput } from "./pointerModality.js";
3
+ /**
4
+ * Tracks pointer focus so fields can suppress a spurious focus-visible ring.
5
+ */
6
+ export class PointerFocusController {
7
+ #host;
8
+ #active = false;
9
+ constructor(host) {
10
+ this.#host = host;
11
+ ensureModalityTracking();
12
+ }
13
+ get active() {
14
+ return this.#active;
15
+ }
16
+ onFocus = () => {
17
+ this.#set(wasPointerInput());
18
+ };
19
+ onBlur = () => {
20
+ this.#set(false);
21
+ };
22
+ /**
23
+ * Keyboard input restores the focus-visible ring.
24
+ */
25
+ onKeyDown = () => {
26
+ this.#set(false);
27
+ };
28
+ #set(value) {
29
+ if (this.#active === value) {
30
+ return;
31
+ }
32
+ this.#active = value;
33
+ this.#host.requestUpdate();
34
+ }
35
+ }
36
+ //# sourceMappingURL=PointerFocusController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PointerFocusController.js","sourceRoot":"","sources":["../../src/field/PointerFocusController.ts"],"names":[],"mappings":"AAGA,+BAA+B;AAC/B,OAAO,EACL,sBAAsB,EACtB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC,KAAK,CAAyB;IAC9B,OAAO,GAAG,KAAK,CAAC;IAEhB,YACE,IAA4B;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,sBAAsB,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO,GAAG,GAAS,EAAE;QACnB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,GAAG,GAAS,EAAE;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF;;OAEG;IACH,SAAS,GAAG,GAAS,EAAE;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,IAAI,CACF,KAAc;QAEd,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,60 @@
1
+ import type { ReactiveController, ReactiveControllerHost } from "lit";
2
+ export interface PopoverControllerOptions {
3
+ /**
4
+ * Anchor used for placement.
5
+ */
6
+ anchor: () => HTMLElement | null;
7
+ /**
8
+ * Popover element rendered by the host.
9
+ */
10
+ popover: () => HTMLElement | null;
11
+ /**
12
+ * Distance between the anchor edge and popover, in pixels.
13
+ */
14
+ gap?: number;
15
+ /** Preferred side of the anchor. */
16
+ side?: "above" | "below" | "left" | "right";
17
+ /**
18
+ * Alignment on the axis perpendicular to `side`: horizontal for
19
+ * "above"/"below", vertical for "left"/"right".
20
+ */
21
+ align?: "center" | "start";
22
+ onOpen?: () => void;
23
+ onClose?: () => void;
24
+ /**
25
+ * Called on Escape before the popover closes.
26
+ */
27
+ onCancel?: (event: KeyboardEvent) => void;
28
+ }
29
+ /**
30
+ * Positions a native popover beside an anchor and restores focus on close.
31
+ * The host renders the popover and trigger. The controller positions it as the
32
+ * viewport changes and reports Escape cancellation.
33
+ *
34
+ * ```ts
35
+ * #popup = new PopoverController(this, {
36
+ * anchor: () => this._button,
37
+ * popover: () => this._panel
38
+ * });
39
+ * ```
40
+ */
41
+ export declare class PopoverController implements ReactiveController {
42
+ #private;
43
+ constructor(host: ReactiveControllerHost, options: PopoverControllerOptions);
44
+ get open(): boolean;
45
+ /**
46
+ * Handles the popover `beforetoggle` event.
47
+ */
48
+ onBeforeToggle: (event: ToggleEvent) => void;
49
+ /**
50
+ * Handles the popover `toggle` event.
51
+ */
52
+ onToggle: (event: ToggleEvent) => void;
53
+ hide(): void;
54
+ /**
55
+ * Repositions the open popover.
56
+ */
57
+ reposition(): void;
58
+ hostDisconnected(): void;
59
+ }
60
+ //# sourceMappingURL=PopoverController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverController.d.ts","sourceRoot":"","sources":["../../src/field/PopoverController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,KAAK,CAAC;AAQb,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,MAAM,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,OAAO,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IAClC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;;gBAOxD,IAAI,EAAE,sBAAsB,EAC5B,OAAO,EAAE,wBAAwB;IAOnC,IAAI,IAAI,IAAI,OAAO,CAElB;IAED;;OAEG;IACH,cAAc,GACZ,OAAO,WAAW,KACjB,IAAI,CAQL;IAEF;;OAEG;IACH,QAAQ,GACN,OAAO,WAAW,KACjB,IAAI,CAkBL;IAEF,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,UAAU,IAAI,IAAI;IAkClB,gBAAgB,IAAI,IAAI;CAqDzB"}
@@ -0,0 +1,122 @@
1
+ // Import Internal Dependencies
2
+ import { anchoredPosition } from "../geometry/anchoredPosition.js";
3
+ // CONSTANTS
4
+ const kDefaultGap = 4;
5
+ /**
6
+ * Positions a native popover beside an anchor and restores focus on close.
7
+ * The host renders the popover and trigger. The controller positions it as the
8
+ * viewport changes and reports Escape cancellation.
9
+ *
10
+ * ```ts
11
+ * #popup = new PopoverController(this, {
12
+ * anchor: () => this._button,
13
+ * popover: () => this._panel
14
+ * });
15
+ * ```
16
+ */
17
+ export class PopoverController {
18
+ #host;
19
+ #options;
20
+ #open = false;
21
+ #restoreFocus = false;
22
+ constructor(host, options) {
23
+ this.#host = host;
24
+ this.#options = options;
25
+ host.addController(this);
26
+ }
27
+ get open() {
28
+ return this.#open;
29
+ }
30
+ /**
31
+ * Handles the popover `beforetoggle` event.
32
+ */
33
+ onBeforeToggle = (event) => {
34
+ if (event.newState !== "closed") {
35
+ return;
36
+ }
37
+ const popover = this.#options.popover();
38
+ this.#restoreFocus = popover !== null &&
39
+ popover.matches(":focus-within");
40
+ };
41
+ /**
42
+ * Handles the popover `toggle` event.
43
+ */
44
+ onToggle = (event) => {
45
+ this.#open = event.newState === "open";
46
+ if (this.#open) {
47
+ this.reposition();
48
+ this.#listen();
49
+ this.#options.onOpen?.();
50
+ }
51
+ else {
52
+ this.#unlisten();
53
+ this.#options.onClose?.();
54
+ if (this.#restoreFocus) {
55
+ this.#options.anchor()?.focus();
56
+ }
57
+ }
58
+ this.#host.requestUpdate();
59
+ };
60
+ hide() {
61
+ this.#options.popover()?.hidePopover();
62
+ }
63
+ /**
64
+ * Repositions the open popover.
65
+ */
66
+ reposition() {
67
+ const anchor = this.#options.anchor();
68
+ const popover = this.#options.popover();
69
+ if (anchor === null || popover === null || !this.#open) {
70
+ return;
71
+ }
72
+ const anchorRect = anchor.getBoundingClientRect();
73
+ const panelRect = popover.getBoundingClientRect();
74
+ const placed = anchoredPosition({
75
+ anchor: {
76
+ top: anchorRect.top,
77
+ bottom: anchorRect.bottom,
78
+ left: anchorRect.left,
79
+ right: anchorRect.right
80
+ },
81
+ panel: {
82
+ width: panelRect.width,
83
+ height: panelRect.height
84
+ },
85
+ viewport: {
86
+ width: window.innerWidth,
87
+ height: window.innerHeight
88
+ },
89
+ gap: this.#options.gap ?? kDefaultGap,
90
+ side: this.#options.side,
91
+ align: this.#options.align
92
+ });
93
+ popover.style.left = `${placed.x}px`;
94
+ popover.style.top = `${placed.y}px`;
95
+ }
96
+ hostDisconnected() {
97
+ this.#unlisten();
98
+ this.#open = false;
99
+ }
100
+ #onReposition = () => {
101
+ this.reposition();
102
+ };
103
+ #onKeyDown = (event) => {
104
+ if (event.key === "Escape" && this.#open) {
105
+ this.#options.onCancel?.(event);
106
+ }
107
+ };
108
+ /**
109
+ * Captures ancestor scrolling so the popover follows its anchor.
110
+ */
111
+ #listen() {
112
+ window.addEventListener("scroll", this.#onReposition, true);
113
+ window.addEventListener("resize", this.#onReposition);
114
+ document.addEventListener("keydown", this.#onKeyDown, true);
115
+ }
116
+ #unlisten() {
117
+ window.removeEventListener("scroll", this.#onReposition, true);
118
+ window.removeEventListener("resize", this.#onReposition);
119
+ document.removeEventListener("keydown", this.#onKeyDown, true);
120
+ }
121
+ }
122
+ //# sourceMappingURL=PopoverController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverController.js","sourceRoot":"","sources":["../../src/field/PopoverController.ts"],"names":[],"mappings":"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"}