@buoy-gg/floating-tools-core 7.0.36 → 7.0.38

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 (582) hide show
  1. package/README.md +36 -0
  2. package/floating.d.ts +1 -0
  3. package/floating.js +1 -0
  4. package/lib/commonjs/FloatingToolsStore.js +1 -501
  5. package/lib/commonjs/colors.js +1 -54
  6. package/lib/commonjs/constants.js +1 -31
  7. package/lib/commonjs/devToolsState.js +1 -325
  8. package/lib/commonjs/dial.js +1 -633
  9. package/lib/commonjs/dialUsage.js +1 -130
  10. package/lib/commonjs/easing.js +1 -69
  11. package/lib/commonjs/floating.js +1 -0
  12. package/lib/commonjs/fonts.js +1 -31
  13. package/lib/commonjs/fonts.web.js +1 -0
  14. package/lib/commonjs/icons/ICONS.md +7 -0
  15. package/lib/commonjs/icons/ask-buoy-icon.js +1 -27
  16. package/lib/commonjs/icons/ask-buoy-icon.native.js +1 -0
  17. package/lib/commonjs/icons/assets/askBuoy.png +0 -0
  18. package/lib/commonjs/icons/assets/askBuoy@2x.png +0 -0
  19. package/lib/commonjs/icons/assets/askBuoy@3x.png +0 -0
  20. package/lib/commonjs/icons/assets/assets.png +0 -0
  21. package/lib/commonjs/icons/assets/assets@2x.png +0 -0
  22. package/lib/commonjs/icons/assets/assets@3x.png +0 -0
  23. package/lib/commonjs/icons/assets/benchmark.png +0 -0
  24. package/lib/commonjs/icons/assets/benchmark@2x.png +0 -0
  25. package/lib/commonjs/icons/assets/benchmark@3x.png +0 -0
  26. package/lib/commonjs/icons/assets/camera.png +0 -0
  27. package/lib/commonjs/icons/assets/camera@2x.png +0 -0
  28. package/lib/commonjs/icons/assets/camera@3x.png +0 -0
  29. package/lib/commonjs/icons/assets/console.png +0 -0
  30. package/lib/commonjs/icons/assets/console@2x.png +0 -0
  31. package/lib/commonjs/icons/assets/console@3x.png +0 -0
  32. package/lib/commonjs/icons/assets/env.png +0 -0
  33. package/lib/commonjs/icons/assets/env@2x.png +0 -0
  34. package/lib/commonjs/icons/assets/env@3x.png +0 -0
  35. package/lib/commonjs/icons/assets/events.png +0 -0
  36. package/lib/commonjs/icons/assets/events@2x.png +0 -0
  37. package/lib/commonjs/icons/assets/events@3x.png +0 -0
  38. package/lib/commonjs/icons/assets/highlight.png +0 -0
  39. package/lib/commonjs/icons/assets/highlight@2x.png +0 -0
  40. package/lib/commonjs/icons/assets/highlight@3x.png +0 -0
  41. package/lib/commonjs/icons/assets/highlighter.png +0 -0
  42. package/lib/commonjs/icons/assets/highlighter@2x.png +0 -0
  43. package/lib/commonjs/icons/assets/highlighter@3x.png +0 -0
  44. package/lib/commonjs/icons/assets/image-overlay.png +0 -0
  45. package/lib/commonjs/icons/assets/image-overlay@2x.png +0 -0
  46. package/lib/commonjs/icons/assets/image-overlay@3x.png +0 -0
  47. package/lib/commonjs/icons/assets/images.png +0 -0
  48. package/lib/commonjs/icons/assets/images@2x.png +0 -0
  49. package/lib/commonjs/icons/assets/images@3x.png +0 -0
  50. package/lib/commonjs/icons/assets/impersonate.png +0 -0
  51. package/lib/commonjs/icons/assets/impersonate@2x.png +0 -0
  52. package/lib/commonjs/icons/assets/impersonate@3x.png +0 -0
  53. package/lib/commonjs/icons/assets/jotai.png +0 -0
  54. package/lib/commonjs/icons/assets/jotai@2x.png +0 -0
  55. package/lib/commonjs/icons/assets/jotai@3x.png +0 -0
  56. package/lib/commonjs/icons/assets/network.png +0 -0
  57. package/lib/commonjs/icons/assets/network@2x.png +0 -0
  58. package/lib/commonjs/icons/assets/network@3x.png +0 -0
  59. package/lib/commonjs/icons/assets/query.png +0 -0
  60. package/lib/commonjs/icons/assets/query@2x.png +0 -0
  61. package/lib/commonjs/icons/assets/query@3x.png +0 -0
  62. package/lib/commonjs/icons/assets/redux.png +0 -0
  63. package/lib/commonjs/icons/assets/redux@2x.png +0 -0
  64. package/lib/commonjs/icons/assets/redux@3x.png +0 -0
  65. package/lib/commonjs/icons/assets/riverpod.png +0 -0
  66. package/lib/commonjs/icons/assets/riverpod@2x.png +0 -0
  67. package/lib/commonjs/icons/assets/riverpod@3x.png +0 -0
  68. package/lib/commonjs/icons/assets/routes.png +0 -0
  69. package/lib/commonjs/icons/assets/routes@2x.png +0 -0
  70. package/lib/commonjs/icons/assets/routes@3x.png +0 -0
  71. package/lib/commonjs/icons/assets/scenarios.png +0 -0
  72. package/lib/commonjs/icons/assets/scenarios@2x.png +0 -0
  73. package/lib/commonjs/icons/assets/scenarios@3x.png +0 -0
  74. package/lib/commonjs/icons/assets/sentry.png +0 -0
  75. package/lib/commonjs/icons/assets/sentry@2x.png +0 -0
  76. package/lib/commonjs/icons/assets/sentry@3x.png +0 -0
  77. package/lib/commonjs/icons/assets/settings.png +0 -0
  78. package/lib/commonjs/icons/assets/settings@2x.png +0 -0
  79. package/lib/commonjs/icons/assets/settings@3x.png +0 -0
  80. package/lib/commonjs/icons/assets/storage.png +0 -0
  81. package/lib/commonjs/icons/assets/storage@2x.png +0 -0
  82. package/lib/commonjs/icons/assets/storage@3x.png +0 -0
  83. package/lib/commonjs/icons/assets/time-machine.png +0 -0
  84. package/lib/commonjs/icons/assets/time-machine@2x.png +0 -0
  85. package/lib/commonjs/icons/assets/time-machine@3x.png +0 -0
  86. package/lib/commonjs/icons/assets/wifi.png +0 -0
  87. package/lib/commonjs/icons/assets/wifi@2x.png +0 -0
  88. package/lib/commonjs/icons/assets/wifi@3x.png +0 -0
  89. package/lib/commonjs/icons/assets/zustand.png +0 -0
  90. package/lib/commonjs/icons/assets/zustand@2x.png +0 -0
  91. package/lib/commonjs/icons/assets/zustand@3x.png +0 -0
  92. package/lib/commonjs/icons/assets-icon.js +1 -26
  93. package/lib/commonjs/icons/assets-icon.native.js +1 -0
  94. package/lib/commonjs/icons/benchmark-icon.js +1 -24
  95. package/lib/commonjs/icons/benchmark-icon.native.js +1 -0
  96. package/lib/commonjs/icons/bif-raster-icon.js +1 -0
  97. package/lib/commonjs/icons/bif-raster-icon.native.js +1 -0
  98. package/lib/commonjs/icons/camera-icon.js +1 -27
  99. package/lib/commonjs/icons/camera-icon.native.js +1 -0
  100. package/lib/commonjs/icons/console-icon.js +1 -26
  101. package/lib/commonjs/icons/console-icon.native.js +1 -0
  102. package/lib/commonjs/icons/env-icon.js +1 -24
  103. package/lib/commonjs/icons/env-icon.native.js +1 -0
  104. package/lib/commonjs/icons/events-icon.js +1 -24
  105. package/lib/commonjs/icons/events-icon.native.js +1 -0
  106. package/lib/commonjs/icons/generated/assets-raster.g.js +1 -0
  107. package/lib/commonjs/icons/generated/benchmark-raster.g.js +1 -0
  108. package/lib/commonjs/icons/generated/camera-raster.g.js +1 -0
  109. package/lib/commonjs/icons/generated/env-raster.g.js +1 -0
  110. package/lib/commonjs/icons/generated/events-raster.g.js +1 -0
  111. package/lib/commonjs/icons/generated/glyph-icons.g.js +1 -299
  112. package/lib/commonjs/icons/generated/highlight-raster.g.js +1 -0
  113. package/lib/commonjs/icons/generated/highlighter-raster.g.js +1 -0
  114. package/lib/commonjs/icons/generated/icon-data.g.js +1 -7267
  115. package/lib/commonjs/icons/generated/image-overlay-raster.g.js +1 -0
  116. package/lib/commonjs/icons/generated/images-raster.g.js +1 -0
  117. package/lib/commonjs/icons/generated/network-raster.g.js +1 -0
  118. package/lib/commonjs/icons/generated/raster-icons.g.js +1 -0
  119. package/lib/commonjs/icons/generated/riverpod-raster.g.js +1 -0
  120. package/lib/commonjs/icons/generated/routes-raster.g.js +1 -0
  121. package/lib/commonjs/icons/generated/settings-raster.g.js +1 -0
  122. package/lib/commonjs/icons/generated/storage-raster.g.js +1 -0
  123. package/lib/commonjs/icons/generated/wifi-raster.g.js +1 -0
  124. package/lib/commonjs/icons/highlight-icon.js +1 -24
  125. package/lib/commonjs/icons/highlight-icon.native.js +1 -0
  126. package/lib/commonjs/icons/highlighter-icon.js +1 -0
  127. package/lib/commonjs/icons/highlighter-icon.native.js +1 -0
  128. package/lib/commonjs/icons/icon-factories.js +1 -173
  129. package/lib/commonjs/icons/icon-primitives.js +1 -676
  130. package/lib/commonjs/icons/icon-primitives.native.js +1 -904
  131. package/lib/commonjs/icons/icon-renderer.js +1 -307
  132. package/lib/commonjs/icons/iconGlow.js +1 -32
  133. package/lib/commonjs/icons/image-overlay-icon.js +1 -26
  134. package/lib/commonjs/icons/image-overlay-icon.native.js +1 -0
  135. package/lib/commonjs/icons/images-icon.js +1 -26
  136. package/lib/commonjs/icons/images-icon.native.js +1 -0
  137. package/lib/commonjs/icons/impersonate-icon.js +1 -26
  138. package/lib/commonjs/icons/impersonate-icon.native.js +1 -0
  139. package/lib/commonjs/icons/jotai-icon.js +1 -26
  140. package/lib/commonjs/icons/jotai-icon.native.js +1 -0
  141. package/lib/commonjs/icons/network-icon.js +1 -24
  142. package/lib/commonjs/icons/network-icon.native.js +1 -0
  143. package/lib/commonjs/icons/query-icon.js +1 -24
  144. package/lib/commonjs/icons/query-icon.native.js +1 -0
  145. package/lib/commonjs/icons/raster-icon.js +1 -0
  146. package/lib/commonjs/icons/redux-icon.js +1 -24
  147. package/lib/commonjs/icons/redux-icon.native.js +1 -0
  148. package/lib/commonjs/icons/renders-icon.js +1 -33
  149. package/lib/commonjs/icons/renders-icon.native.js +1 -0
  150. package/lib/commonjs/icons/riverpod-icon.js +1 -26
  151. package/lib/commonjs/icons/riverpod-icon.native.js +1 -0
  152. package/lib/commonjs/icons/routes-icon.js +1 -49
  153. package/lib/commonjs/icons/routes-icon.native.js +1 -0
  154. package/lib/commonjs/icons/routes-parts.js +1 -0
  155. package/lib/commonjs/icons/scenarios-icon.js +1 -26
  156. package/lib/commonjs/icons/scenarios-icon.native.js +1 -0
  157. package/lib/commonjs/icons/sentry-icon.js +1 -24
  158. package/lib/commonjs/icons/sentry-icon.native.js +1 -0
  159. package/lib/commonjs/icons/settings-icon.js +1 -23
  160. package/lib/commonjs/icons/settings-icon.native.js +1 -0
  161. package/lib/commonjs/icons/storage-icon.js +1 -24
  162. package/lib/commonjs/icons/storage-icon.native.js +1 -0
  163. package/lib/commonjs/icons/time-machine-icon.js +1 -26
  164. package/lib/commonjs/icons/time-machine-icon.native.js +1 -0
  165. package/lib/commonjs/icons/wifi-icon.js +1 -24
  166. package/lib/commonjs/icons/wifi-icon.native.js +1 -0
  167. package/lib/commonjs/icons/zustand-icon.js +1 -26
  168. package/lib/commonjs/icons/zustand-icon.native.js +1 -0
  169. package/lib/commonjs/index.js +1 -1099
  170. package/lib/commonjs/settings.js +1 -601
  171. package/lib/commonjs/utils.js +1 -72
  172. package/lib/module/FloatingToolsStore.js +1 -496
  173. package/lib/module/colors.js +1 -49
  174. package/lib/module/constants.js +1 -27
  175. package/lib/module/devToolsState.js +1 -318
  176. package/lib/module/dial.js +1 -618
  177. package/lib/module/dialUsage.js +1 -122
  178. package/lib/module/easing.js +1 -62
  179. package/lib/module/floating.js +1 -0
  180. package/lib/module/fonts.js +1 -28
  181. package/lib/module/fonts.web.js +1 -0
  182. package/lib/module/icons/ICONS.md +7 -0
  183. package/lib/module/icons/ask-buoy-icon.js +1 -18
  184. package/lib/module/icons/ask-buoy-icon.native.js +1 -0
  185. package/lib/module/icons/assets/askBuoy.png +0 -0
  186. package/lib/module/icons/assets/askBuoy@2x.png +0 -0
  187. package/lib/module/icons/assets/askBuoy@3x.png +0 -0
  188. package/lib/module/icons/assets/assets.png +0 -0
  189. package/lib/module/icons/assets/assets@2x.png +0 -0
  190. package/lib/module/icons/assets/assets@3x.png +0 -0
  191. package/lib/module/icons/assets/benchmark.png +0 -0
  192. package/lib/module/icons/assets/benchmark@2x.png +0 -0
  193. package/lib/module/icons/assets/benchmark@3x.png +0 -0
  194. package/lib/module/icons/assets/camera.png +0 -0
  195. package/lib/module/icons/assets/camera@2x.png +0 -0
  196. package/lib/module/icons/assets/camera@3x.png +0 -0
  197. package/lib/module/icons/assets/console.png +0 -0
  198. package/lib/module/icons/assets/console@2x.png +0 -0
  199. package/lib/module/icons/assets/console@3x.png +0 -0
  200. package/lib/module/icons/assets/env.png +0 -0
  201. package/lib/module/icons/assets/env@2x.png +0 -0
  202. package/lib/module/icons/assets/env@3x.png +0 -0
  203. package/lib/module/icons/assets/events.png +0 -0
  204. package/lib/module/icons/assets/events@2x.png +0 -0
  205. package/lib/module/icons/assets/events@3x.png +0 -0
  206. package/lib/module/icons/assets/highlight.png +0 -0
  207. package/lib/module/icons/assets/highlight@2x.png +0 -0
  208. package/lib/module/icons/assets/highlight@3x.png +0 -0
  209. package/lib/module/icons/assets/highlighter.png +0 -0
  210. package/lib/module/icons/assets/highlighter@2x.png +0 -0
  211. package/lib/module/icons/assets/highlighter@3x.png +0 -0
  212. package/lib/module/icons/assets/image-overlay.png +0 -0
  213. package/lib/module/icons/assets/image-overlay@2x.png +0 -0
  214. package/lib/module/icons/assets/image-overlay@3x.png +0 -0
  215. package/lib/module/icons/assets/images.png +0 -0
  216. package/lib/module/icons/assets/images@2x.png +0 -0
  217. package/lib/module/icons/assets/images@3x.png +0 -0
  218. package/lib/module/icons/assets/impersonate.png +0 -0
  219. package/lib/module/icons/assets/impersonate@2x.png +0 -0
  220. package/lib/module/icons/assets/impersonate@3x.png +0 -0
  221. package/lib/module/icons/assets/jotai.png +0 -0
  222. package/lib/module/icons/assets/jotai@2x.png +0 -0
  223. package/lib/module/icons/assets/jotai@3x.png +0 -0
  224. package/lib/module/icons/assets/network.png +0 -0
  225. package/lib/module/icons/assets/network@2x.png +0 -0
  226. package/lib/module/icons/assets/network@3x.png +0 -0
  227. package/lib/module/icons/assets/query.png +0 -0
  228. package/lib/module/icons/assets/query@2x.png +0 -0
  229. package/lib/module/icons/assets/query@3x.png +0 -0
  230. package/lib/module/icons/assets/redux.png +0 -0
  231. package/lib/module/icons/assets/redux@2x.png +0 -0
  232. package/lib/module/icons/assets/redux@3x.png +0 -0
  233. package/lib/module/icons/assets/riverpod.png +0 -0
  234. package/lib/module/icons/assets/riverpod@2x.png +0 -0
  235. package/lib/module/icons/assets/riverpod@3x.png +0 -0
  236. package/lib/module/icons/assets/routes.png +0 -0
  237. package/lib/module/icons/assets/routes@2x.png +0 -0
  238. package/lib/module/icons/assets/routes@3x.png +0 -0
  239. package/lib/module/icons/assets/scenarios.png +0 -0
  240. package/lib/module/icons/assets/scenarios@2x.png +0 -0
  241. package/lib/module/icons/assets/scenarios@3x.png +0 -0
  242. package/lib/module/icons/assets/sentry.png +0 -0
  243. package/lib/module/icons/assets/sentry@2x.png +0 -0
  244. package/lib/module/icons/assets/sentry@3x.png +0 -0
  245. package/lib/module/icons/assets/settings.png +0 -0
  246. package/lib/module/icons/assets/settings@2x.png +0 -0
  247. package/lib/module/icons/assets/settings@3x.png +0 -0
  248. package/lib/module/icons/assets/storage.png +0 -0
  249. package/lib/module/icons/assets/storage@2x.png +0 -0
  250. package/lib/module/icons/assets/storage@3x.png +0 -0
  251. package/lib/module/icons/assets/time-machine.png +0 -0
  252. package/lib/module/icons/assets/time-machine@2x.png +0 -0
  253. package/lib/module/icons/assets/time-machine@3x.png +0 -0
  254. package/lib/module/icons/assets/wifi.png +0 -0
  255. package/lib/module/icons/assets/wifi@2x.png +0 -0
  256. package/lib/module/icons/assets/wifi@3x.png +0 -0
  257. package/lib/module/icons/assets/zustand.png +0 -0
  258. package/lib/module/icons/assets/zustand@2x.png +0 -0
  259. package/lib/module/icons/assets/zustand@3x.png +0 -0
  260. package/lib/module/icons/assets-icon.js +1 -17
  261. package/lib/module/icons/assets-icon.native.js +1 -0
  262. package/lib/module/icons/benchmark-icon.js +1 -15
  263. package/lib/module/icons/benchmark-icon.native.js +1 -0
  264. package/lib/module/icons/bif-raster-icon.js +1 -0
  265. package/lib/module/icons/bif-raster-icon.native.js +1 -0
  266. package/lib/module/icons/camera-icon.js +1 -18
  267. package/lib/module/icons/camera-icon.native.js +1 -0
  268. package/lib/module/icons/console-icon.js +1 -17
  269. package/lib/module/icons/console-icon.native.js +1 -0
  270. package/lib/module/icons/env-icon.js +1 -15
  271. package/lib/module/icons/env-icon.native.js +1 -0
  272. package/lib/module/icons/events-icon.js +1 -15
  273. package/lib/module/icons/events-icon.native.js +1 -0
  274. package/lib/module/icons/generated/assets-raster.g.js +1 -0
  275. package/lib/module/icons/generated/benchmark-raster.g.js +1 -0
  276. package/lib/module/icons/generated/camera-raster.g.js +1 -0
  277. package/lib/module/icons/generated/env-raster.g.js +1 -0
  278. package/lib/module/icons/generated/events-raster.g.js +1 -0
  279. package/lib/module/icons/generated/glyph-icons.g.js +1 -296
  280. package/lib/module/icons/generated/highlight-raster.g.js +1 -0
  281. package/lib/module/icons/generated/highlighter-raster.g.js +1 -0
  282. package/lib/module/icons/generated/icon-data.g.js +1 -7262
  283. package/lib/module/icons/generated/image-overlay-raster.g.js +1 -0
  284. package/lib/module/icons/generated/images-raster.g.js +1 -0
  285. package/lib/module/icons/generated/network-raster.g.js +1 -0
  286. package/lib/module/icons/generated/raster-icons.g.js +1 -0
  287. package/lib/module/icons/generated/riverpod-raster.g.js +1 -0
  288. package/lib/module/icons/generated/routes-raster.g.js +1 -0
  289. package/lib/module/icons/generated/settings-raster.g.js +1 -0
  290. package/lib/module/icons/generated/storage-raster.g.js +1 -0
  291. package/lib/module/icons/generated/wifi-raster.g.js +1 -0
  292. package/lib/module/icons/highlight-icon.js +1 -15
  293. package/lib/module/icons/highlight-icon.native.js +1 -0
  294. package/lib/module/icons/highlighter-icon.js +1 -0
  295. package/lib/module/icons/highlighter-icon.native.js +1 -0
  296. package/lib/module/icons/icon-factories.js +1 -163
  297. package/lib/module/icons/icon-primitives.js +1 -673
  298. package/lib/module/icons/icon-primitives.native.js +1 -899
  299. package/lib/module/icons/icon-renderer.js +1 -302
  300. package/lib/module/icons/iconGlow.js +1 -28
  301. package/lib/module/icons/image-overlay-icon.js +1 -17
  302. package/lib/module/icons/image-overlay-icon.native.js +1 -0
  303. package/lib/module/icons/images-icon.js +1 -17
  304. package/lib/module/icons/images-icon.native.js +1 -0
  305. package/lib/module/icons/impersonate-icon.js +1 -17
  306. package/lib/module/icons/impersonate-icon.native.js +1 -0
  307. package/lib/module/icons/jotai-icon.js +1 -17
  308. package/lib/module/icons/jotai-icon.native.js +1 -0
  309. package/lib/module/icons/network-icon.js +1 -15
  310. package/lib/module/icons/network-icon.native.js +1 -0
  311. package/lib/module/icons/query-icon.js +1 -15
  312. package/lib/module/icons/query-icon.native.js +1 -0
  313. package/lib/module/icons/raster-icon.js +1 -0
  314. package/lib/module/icons/redux-icon.js +1 -15
  315. package/lib/module/icons/redux-icon.native.js +1 -0
  316. package/lib/module/icons/renders-icon.js +1 -17
  317. package/lib/module/icons/renders-icon.native.js +1 -0
  318. package/lib/module/icons/riverpod-icon.js +1 -17
  319. package/lib/module/icons/riverpod-icon.native.js +1 -0
  320. package/lib/module/icons/routes-icon.js +1 -41
  321. package/lib/module/icons/routes-icon.native.js +1 -0
  322. package/lib/module/icons/routes-parts.js +1 -0
  323. package/lib/module/icons/scenarios-icon.js +1 -17
  324. package/lib/module/icons/scenarios-icon.native.js +1 -0
  325. package/lib/module/icons/sentry-icon.js +1 -15
  326. package/lib/module/icons/sentry-icon.native.js +1 -0
  327. package/lib/module/icons/settings-icon.js +1 -19
  328. package/lib/module/icons/settings-icon.native.js +1 -0
  329. package/lib/module/icons/storage-icon.js +1 -15
  330. package/lib/module/icons/storage-icon.native.js +1 -0
  331. package/lib/module/icons/time-machine-icon.js +1 -17
  332. package/lib/module/icons/time-machine-icon.native.js +1 -0
  333. package/lib/module/icons/wifi-icon.js +1 -15
  334. package/lib/module/icons/wifi-icon.native.js +1 -0
  335. package/lib/module/icons/zustand-icon.js +1 -17
  336. package/lib/module/icons/zustand-icon.native.js +1 -0
  337. package/lib/module/index.js +1 -128
  338. package/lib/module/settings.js +1 -589
  339. package/lib/module/utils.js +1 -66
  340. package/lib/typescript/commonjs/FloatingToolsStore.d.ts +2 -0
  341. package/lib/typescript/commonjs/dial.d.ts +6 -0
  342. package/lib/typescript/commonjs/floating.d.ts +8 -0
  343. package/lib/typescript/commonjs/fonts.web.d.ts +3 -0
  344. package/lib/typescript/commonjs/icons/ask-buoy-icon.d.ts +1 -13
  345. package/lib/typescript/commonjs/icons/ask-buoy-icon.native.d.ts +4 -0
  346. package/lib/typescript/commonjs/icons/assets-icon.d.ts +1 -12
  347. package/lib/typescript/commonjs/icons/assets-icon.native.d.ts +3 -0
  348. package/lib/typescript/commonjs/icons/benchmark-icon.d.ts +1 -10
  349. package/lib/typescript/commonjs/icons/benchmark-icon.native.d.ts +3 -0
  350. package/lib/typescript/commonjs/icons/bif-raster-icon.d.ts +4 -0
  351. package/lib/typescript/commonjs/icons/bif-raster-icon.native.d.ts +5 -0
  352. package/lib/typescript/commonjs/icons/camera-icon.d.ts +1 -13
  353. package/lib/typescript/commonjs/icons/camera-icon.native.d.ts +3 -0
  354. package/lib/typescript/commonjs/icons/console-icon.d.ts +1 -12
  355. package/lib/typescript/commonjs/icons/console-icon.native.d.ts +4 -0
  356. package/lib/typescript/commonjs/icons/env-icon.d.ts +1 -10
  357. package/lib/typescript/commonjs/icons/env-icon.native.d.ts +3 -0
  358. package/lib/typescript/commonjs/icons/events-icon.d.ts +1 -10
  359. package/lib/typescript/commonjs/icons/events-icon.native.d.ts +3 -0
  360. package/lib/typescript/commonjs/icons/generated/assets-raster.g.d.ts +3 -0
  361. package/lib/typescript/commonjs/icons/generated/benchmark-raster.g.d.ts +3 -0
  362. package/lib/typescript/commonjs/icons/generated/camera-raster.g.d.ts +3 -0
  363. package/lib/typescript/commonjs/icons/generated/env-raster.g.d.ts +3 -0
  364. package/lib/typescript/commonjs/icons/generated/events-raster.g.d.ts +3 -0
  365. package/lib/typescript/commonjs/icons/generated/highlight-raster.g.d.ts +3 -0
  366. package/lib/typescript/commonjs/icons/generated/highlighter-raster.g.d.ts +3 -0
  367. package/lib/typescript/commonjs/icons/generated/icon-data.g.d.ts +26 -1
  368. package/lib/typescript/commonjs/icons/generated/image-overlay-raster.g.d.ts +3 -0
  369. package/lib/typescript/commonjs/icons/generated/images-raster.g.d.ts +3 -0
  370. package/lib/typescript/commonjs/icons/generated/network-raster.g.d.ts +3 -0
  371. package/lib/typescript/commonjs/icons/generated/raster-icons.g.d.ts +13 -0
  372. package/lib/typescript/commonjs/icons/generated/riverpod-raster.g.d.ts +3 -0
  373. package/lib/typescript/commonjs/icons/generated/routes-raster.g.d.ts +3 -0
  374. package/lib/typescript/commonjs/icons/generated/settings-raster.g.d.ts +3 -0
  375. package/lib/typescript/commonjs/icons/generated/storage-raster.g.d.ts +3 -0
  376. package/lib/typescript/commonjs/icons/generated/wifi-raster.g.d.ts +3 -0
  377. package/lib/typescript/commonjs/icons/highlight-icon.d.ts +1 -10
  378. package/lib/typescript/commonjs/icons/highlight-icon.native.d.ts +3 -0
  379. package/lib/typescript/commonjs/icons/highlighter-icon.d.ts +5 -0
  380. package/lib/typescript/commonjs/icons/highlighter-icon.native.d.ts +5 -0
  381. package/lib/typescript/commonjs/icons/image-overlay-icon.d.ts +1 -12
  382. package/lib/typescript/commonjs/icons/image-overlay-icon.native.d.ts +3 -0
  383. package/lib/typescript/commonjs/icons/images-icon.d.ts +1 -12
  384. package/lib/typescript/commonjs/icons/images-icon.native.d.ts +3 -0
  385. package/lib/typescript/commonjs/icons/impersonate-icon.d.ts +1 -12
  386. package/lib/typescript/commonjs/icons/impersonate-icon.native.d.ts +4 -0
  387. package/lib/typescript/commonjs/icons/jotai-icon.d.ts +1 -12
  388. package/lib/typescript/commonjs/icons/jotai-icon.native.d.ts +4 -0
  389. package/lib/typescript/commonjs/icons/network-icon.d.ts +1 -10
  390. package/lib/typescript/commonjs/icons/network-icon.native.d.ts +3 -0
  391. package/lib/typescript/commonjs/icons/query-icon.d.ts +1 -10
  392. package/lib/typescript/commonjs/icons/query-icon.native.d.ts +4 -0
  393. package/lib/typescript/commonjs/icons/raster-icon.d.ts +5 -0
  394. package/lib/typescript/commonjs/icons/redux-icon.d.ts +1 -10
  395. package/lib/typescript/commonjs/icons/redux-icon.native.d.ts +4 -0
  396. package/lib/typescript/commonjs/icons/renders-icon.d.ts +1 -12
  397. package/lib/typescript/commonjs/icons/renders-icon.native.d.ts +2 -0
  398. package/lib/typescript/commonjs/icons/riverpod-icon.d.ts +1 -12
  399. package/lib/typescript/commonjs/icons/riverpod-icon.native.d.ts +3 -0
  400. package/lib/typescript/commonjs/icons/routes-icon.d.ts +2 -30
  401. package/lib/typescript/commonjs/icons/routes-icon.native.d.ts +4 -0
  402. package/lib/typescript/commonjs/icons/routes-parts.d.ts +31 -0
  403. package/lib/typescript/commonjs/icons/scenarios-icon.d.ts +1 -12
  404. package/lib/typescript/commonjs/icons/scenarios-icon.native.d.ts +4 -0
  405. package/lib/typescript/commonjs/icons/sentry-icon.d.ts +1 -10
  406. package/lib/typescript/commonjs/icons/sentry-icon.native.d.ts +4 -0
  407. package/lib/typescript/commonjs/icons/settings-icon.d.ts +0 -13
  408. package/lib/typescript/commonjs/icons/settings-icon.native.d.ts +2 -0
  409. package/lib/typescript/commonjs/icons/storage-icon.d.ts +1 -10
  410. package/lib/typescript/commonjs/icons/storage-icon.native.d.ts +3 -0
  411. package/lib/typescript/commonjs/icons/time-machine-icon.d.ts +1 -12
  412. package/lib/typescript/commonjs/icons/time-machine-icon.native.d.ts +4 -0
  413. package/lib/typescript/commonjs/icons/wifi-icon.d.ts +1 -10
  414. package/lib/typescript/commonjs/icons/wifi-icon.native.d.ts +3 -0
  415. package/lib/typescript/commonjs/icons/zustand-icon.d.ts +1 -12
  416. package/lib/typescript/commonjs/icons/zustand-icon.native.d.ts +4 -0
  417. package/lib/typescript/module/FloatingToolsStore.d.ts +2 -0
  418. package/lib/typescript/module/dial.d.ts +6 -0
  419. package/lib/typescript/module/floating.d.ts +8 -0
  420. package/lib/typescript/module/fonts.web.d.ts +3 -0
  421. package/lib/typescript/module/icons/ask-buoy-icon.d.ts +1 -13
  422. package/lib/typescript/module/icons/ask-buoy-icon.native.d.ts +4 -0
  423. package/lib/typescript/module/icons/assets-icon.d.ts +1 -12
  424. package/lib/typescript/module/icons/assets-icon.native.d.ts +3 -0
  425. package/lib/typescript/module/icons/benchmark-icon.d.ts +1 -10
  426. package/lib/typescript/module/icons/benchmark-icon.native.d.ts +3 -0
  427. package/lib/typescript/module/icons/bif-raster-icon.d.ts +4 -0
  428. package/lib/typescript/module/icons/bif-raster-icon.native.d.ts +5 -0
  429. package/lib/typescript/module/icons/camera-icon.d.ts +1 -13
  430. package/lib/typescript/module/icons/camera-icon.native.d.ts +3 -0
  431. package/lib/typescript/module/icons/console-icon.d.ts +1 -12
  432. package/lib/typescript/module/icons/console-icon.native.d.ts +4 -0
  433. package/lib/typescript/module/icons/env-icon.d.ts +1 -10
  434. package/lib/typescript/module/icons/env-icon.native.d.ts +3 -0
  435. package/lib/typescript/module/icons/events-icon.d.ts +1 -10
  436. package/lib/typescript/module/icons/events-icon.native.d.ts +3 -0
  437. package/lib/typescript/module/icons/generated/assets-raster.g.d.ts +3 -0
  438. package/lib/typescript/module/icons/generated/benchmark-raster.g.d.ts +3 -0
  439. package/lib/typescript/module/icons/generated/camera-raster.g.d.ts +3 -0
  440. package/lib/typescript/module/icons/generated/env-raster.g.d.ts +3 -0
  441. package/lib/typescript/module/icons/generated/events-raster.g.d.ts +3 -0
  442. package/lib/typescript/module/icons/generated/highlight-raster.g.d.ts +3 -0
  443. package/lib/typescript/module/icons/generated/highlighter-raster.g.d.ts +3 -0
  444. package/lib/typescript/module/icons/generated/icon-data.g.d.ts +26 -1
  445. package/lib/typescript/module/icons/generated/image-overlay-raster.g.d.ts +3 -0
  446. package/lib/typescript/module/icons/generated/images-raster.g.d.ts +3 -0
  447. package/lib/typescript/module/icons/generated/network-raster.g.d.ts +3 -0
  448. package/lib/typescript/module/icons/generated/raster-icons.g.d.ts +13 -0
  449. package/lib/typescript/module/icons/generated/riverpod-raster.g.d.ts +3 -0
  450. package/lib/typescript/module/icons/generated/routes-raster.g.d.ts +3 -0
  451. package/lib/typescript/module/icons/generated/settings-raster.g.d.ts +3 -0
  452. package/lib/typescript/module/icons/generated/storage-raster.g.d.ts +3 -0
  453. package/lib/typescript/module/icons/generated/wifi-raster.g.d.ts +3 -0
  454. package/lib/typescript/module/icons/highlight-icon.d.ts +1 -10
  455. package/lib/typescript/module/icons/highlight-icon.native.d.ts +3 -0
  456. package/lib/typescript/module/icons/highlighter-icon.d.ts +5 -0
  457. package/lib/typescript/module/icons/highlighter-icon.native.d.ts +5 -0
  458. package/lib/typescript/module/icons/image-overlay-icon.d.ts +1 -12
  459. package/lib/typescript/module/icons/image-overlay-icon.native.d.ts +3 -0
  460. package/lib/typescript/module/icons/images-icon.d.ts +1 -12
  461. package/lib/typescript/module/icons/images-icon.native.d.ts +3 -0
  462. package/lib/typescript/module/icons/impersonate-icon.d.ts +1 -12
  463. package/lib/typescript/module/icons/impersonate-icon.native.d.ts +4 -0
  464. package/lib/typescript/module/icons/jotai-icon.d.ts +1 -12
  465. package/lib/typescript/module/icons/jotai-icon.native.d.ts +4 -0
  466. package/lib/typescript/module/icons/network-icon.d.ts +1 -10
  467. package/lib/typescript/module/icons/network-icon.native.d.ts +3 -0
  468. package/lib/typescript/module/icons/query-icon.d.ts +1 -10
  469. package/lib/typescript/module/icons/query-icon.native.d.ts +4 -0
  470. package/lib/typescript/module/icons/raster-icon.d.ts +5 -0
  471. package/lib/typescript/module/icons/redux-icon.d.ts +1 -10
  472. package/lib/typescript/module/icons/redux-icon.native.d.ts +4 -0
  473. package/lib/typescript/module/icons/renders-icon.d.ts +1 -12
  474. package/lib/typescript/module/icons/renders-icon.native.d.ts +2 -0
  475. package/lib/typescript/module/icons/riverpod-icon.d.ts +1 -12
  476. package/lib/typescript/module/icons/riverpod-icon.native.d.ts +3 -0
  477. package/lib/typescript/module/icons/routes-icon.d.ts +2 -30
  478. package/lib/typescript/module/icons/routes-icon.native.d.ts +4 -0
  479. package/lib/typescript/module/icons/routes-parts.d.ts +31 -0
  480. package/lib/typescript/module/icons/scenarios-icon.d.ts +1 -12
  481. package/lib/typescript/module/icons/scenarios-icon.native.d.ts +4 -0
  482. package/lib/typescript/module/icons/sentry-icon.d.ts +1 -10
  483. package/lib/typescript/module/icons/sentry-icon.native.d.ts +4 -0
  484. package/lib/typescript/module/icons/settings-icon.d.ts +0 -13
  485. package/lib/typescript/module/icons/settings-icon.native.d.ts +2 -0
  486. package/lib/typescript/module/icons/storage-icon.d.ts +1 -10
  487. package/lib/typescript/module/icons/storage-icon.native.d.ts +3 -0
  488. package/lib/typescript/module/icons/time-machine-icon.d.ts +1 -12
  489. package/lib/typescript/module/icons/time-machine-icon.native.d.ts +4 -0
  490. package/lib/typescript/module/icons/wifi-icon.d.ts +1 -10
  491. package/lib/typescript/module/icons/wifi-icon.native.d.ts +3 -0
  492. package/lib/typescript/module/icons/zustand-icon.d.ts +1 -12
  493. package/lib/typescript/module/icons/zustand-icon.native.d.ts +4 -0
  494. package/package.json +23 -3
  495. package/lib/typescript/commonjs/FloatingToolsStore.d.ts.map +0 -1
  496. package/lib/typescript/commonjs/colors.d.ts.map +0 -1
  497. package/lib/typescript/commonjs/constants.d.ts.map +0 -1
  498. package/lib/typescript/commonjs/devToolsState.d.ts.map +0 -1
  499. package/lib/typescript/commonjs/dial.d.ts.map +0 -1
  500. package/lib/typescript/commonjs/dialUsage.d.ts.map +0 -1
  501. package/lib/typescript/commonjs/easing.d.ts.map +0 -1
  502. package/lib/typescript/commonjs/fonts.d.ts.map +0 -1
  503. package/lib/typescript/commonjs/icons/ask-buoy-icon.d.ts.map +0 -1
  504. package/lib/typescript/commonjs/icons/assets-icon.d.ts.map +0 -1
  505. package/lib/typescript/commonjs/icons/benchmark-icon.d.ts.map +0 -1
  506. package/lib/typescript/commonjs/icons/camera-icon.d.ts.map +0 -1
  507. package/lib/typescript/commonjs/icons/console-icon.d.ts.map +0 -1
  508. package/lib/typescript/commonjs/icons/env-icon.d.ts.map +0 -1
  509. package/lib/typescript/commonjs/icons/events-icon.d.ts.map +0 -1
  510. package/lib/typescript/commonjs/icons/generated/glyph-icons.g.d.ts.map +0 -1
  511. package/lib/typescript/commonjs/icons/generated/icon-data.g.d.ts.map +0 -1
  512. package/lib/typescript/commonjs/icons/highlight-icon.d.ts.map +0 -1
  513. package/lib/typescript/commonjs/icons/icon-factories.d.ts.map +0 -1
  514. package/lib/typescript/commonjs/icons/icon-primitives.d.ts.map +0 -1
  515. package/lib/typescript/commonjs/icons/icon-primitives.native.d.ts.map +0 -1
  516. package/lib/typescript/commonjs/icons/icon-renderer.d.ts.map +0 -1
  517. package/lib/typescript/commonjs/icons/iconGlow.d.ts.map +0 -1
  518. package/lib/typescript/commonjs/icons/image-overlay-icon.d.ts.map +0 -1
  519. package/lib/typescript/commonjs/icons/images-icon.d.ts.map +0 -1
  520. package/lib/typescript/commonjs/icons/impersonate-icon.d.ts.map +0 -1
  521. package/lib/typescript/commonjs/icons/jotai-icon.d.ts.map +0 -1
  522. package/lib/typescript/commonjs/icons/network-icon.d.ts.map +0 -1
  523. package/lib/typescript/commonjs/icons/query-icon.d.ts.map +0 -1
  524. package/lib/typescript/commonjs/icons/redux-icon.d.ts.map +0 -1
  525. package/lib/typescript/commonjs/icons/renders-icon.d.ts.map +0 -1
  526. package/lib/typescript/commonjs/icons/riverpod-icon.d.ts.map +0 -1
  527. package/lib/typescript/commonjs/icons/routes-icon.d.ts.map +0 -1
  528. package/lib/typescript/commonjs/icons/scenarios-icon.d.ts.map +0 -1
  529. package/lib/typescript/commonjs/icons/sentry-icon.d.ts.map +0 -1
  530. package/lib/typescript/commonjs/icons/settings-icon.d.ts.map +0 -1
  531. package/lib/typescript/commonjs/icons/storage-icon.d.ts.map +0 -1
  532. package/lib/typescript/commonjs/icons/time-machine-icon.d.ts.map +0 -1
  533. package/lib/typescript/commonjs/icons/wifi-icon.d.ts.map +0 -1
  534. package/lib/typescript/commonjs/icons/zustand-icon.d.ts.map +0 -1
  535. package/lib/typescript/commonjs/index.d.ts.map +0 -1
  536. package/lib/typescript/commonjs/settings.d.ts.map +0 -1
  537. package/lib/typescript/commonjs/types.d.ts.map +0 -1
  538. package/lib/typescript/commonjs/utils.d.ts.map +0 -1
  539. package/lib/typescript/module/FloatingToolsStore.d.ts.map +0 -1
  540. package/lib/typescript/module/colors.d.ts.map +0 -1
  541. package/lib/typescript/module/constants.d.ts.map +0 -1
  542. package/lib/typescript/module/devToolsState.d.ts.map +0 -1
  543. package/lib/typescript/module/dial.d.ts.map +0 -1
  544. package/lib/typescript/module/dialUsage.d.ts.map +0 -1
  545. package/lib/typescript/module/easing.d.ts.map +0 -1
  546. package/lib/typescript/module/fonts.d.ts.map +0 -1
  547. package/lib/typescript/module/icons/ask-buoy-icon.d.ts.map +0 -1
  548. package/lib/typescript/module/icons/assets-icon.d.ts.map +0 -1
  549. package/lib/typescript/module/icons/benchmark-icon.d.ts.map +0 -1
  550. package/lib/typescript/module/icons/camera-icon.d.ts.map +0 -1
  551. package/lib/typescript/module/icons/console-icon.d.ts.map +0 -1
  552. package/lib/typescript/module/icons/env-icon.d.ts.map +0 -1
  553. package/lib/typescript/module/icons/events-icon.d.ts.map +0 -1
  554. package/lib/typescript/module/icons/generated/glyph-icons.g.d.ts.map +0 -1
  555. package/lib/typescript/module/icons/generated/icon-data.g.d.ts.map +0 -1
  556. package/lib/typescript/module/icons/highlight-icon.d.ts.map +0 -1
  557. package/lib/typescript/module/icons/icon-factories.d.ts.map +0 -1
  558. package/lib/typescript/module/icons/icon-primitives.d.ts.map +0 -1
  559. package/lib/typescript/module/icons/icon-primitives.native.d.ts.map +0 -1
  560. package/lib/typescript/module/icons/icon-renderer.d.ts.map +0 -1
  561. package/lib/typescript/module/icons/iconGlow.d.ts.map +0 -1
  562. package/lib/typescript/module/icons/image-overlay-icon.d.ts.map +0 -1
  563. package/lib/typescript/module/icons/images-icon.d.ts.map +0 -1
  564. package/lib/typescript/module/icons/impersonate-icon.d.ts.map +0 -1
  565. package/lib/typescript/module/icons/jotai-icon.d.ts.map +0 -1
  566. package/lib/typescript/module/icons/network-icon.d.ts.map +0 -1
  567. package/lib/typescript/module/icons/query-icon.d.ts.map +0 -1
  568. package/lib/typescript/module/icons/redux-icon.d.ts.map +0 -1
  569. package/lib/typescript/module/icons/renders-icon.d.ts.map +0 -1
  570. package/lib/typescript/module/icons/riverpod-icon.d.ts.map +0 -1
  571. package/lib/typescript/module/icons/routes-icon.d.ts.map +0 -1
  572. package/lib/typescript/module/icons/scenarios-icon.d.ts.map +0 -1
  573. package/lib/typescript/module/icons/sentry-icon.d.ts.map +0 -1
  574. package/lib/typescript/module/icons/settings-icon.d.ts.map +0 -1
  575. package/lib/typescript/module/icons/storage-icon.d.ts.map +0 -1
  576. package/lib/typescript/module/icons/time-machine-icon.d.ts.map +0 -1
  577. package/lib/typescript/module/icons/wifi-icon.d.ts.map +0 -1
  578. package/lib/typescript/module/icons/zustand-icon.d.ts.map +0 -1
  579. package/lib/typescript/module/index.d.ts.map +0 -1
  580. package/lib/typescript/module/settings.d.ts.map +0 -1
  581. package/lib/typescript/module/types.d.ts.map +0 -1
  582. package/lib/typescript/module/utils.d.ts.map +0 -1
@@ -1,618 +1 @@
1
- "use strict";
2
-
3
- import { monoFont } from "./fonts.js";
4
- /**
5
- * Dial Menu - Shared layout calculations, colors, and styling.
6
- *
7
- * Pure configuration and math functions for the dial menu.
8
- * No React or platform-specific code.
9
- */
10
-
11
- // =============================
12
- // Constants
13
- // =============================
14
-
15
- /** Maximum number of slots in the dial */
16
- export const MAX_DIAL_SLOTS = 6;
17
-
18
- /** Starting angle for first icon (top of circle, -90 degrees in radians) */
19
- export const DIAL_START_ANGLE = -1 * Math.PI / 2;
20
-
21
- /** Default button size in the center */
22
- export const DIAL_BUTTON_SIZE = 80;
23
-
24
- /** Default icon view size */
25
- export const DIAL_ICON_SIZE = 60;
26
-
27
- /**
28
- * Size of the icon GLYPH inside a dial slot. The slot (DIAL_ICON_SIZE) also
29
- * holds the label (and "Unavailable" caption), so the glyph must be smaller —
30
- * rendering a glyph at DIAL_ICON_SIZE overflows the slot and dwarfs its
31
- * neighbors.
32
- */
33
- export const DIAL_ICON_GLYPH_SIZE = 32;
34
-
35
- /** Padding from edge of circle to icons */
36
- export const DIAL_ICON_PADDING = 20;
37
-
38
- /** Number of grid lines in the dial */
39
- export const DIAL_GRID_LINE_COUNT = 6;
40
-
41
- // =============================
42
- // Dial Colors
43
- // =============================
44
-
45
- /**
46
- * Color palette for the dial menu — night theme.
47
- *
48
- * Values mirror the night tokens in @buoy-gg/shared-ui `ui/night/nightTheme.ts`
49
- * (kept as literals so this module stays dependency-free): near-black surfaces,
50
- * neutral hairlines, dark shadows instead of colored glows, and the brand green
51
- * surviving only as the single small accent.
52
- *
53
- * Property names match existing mobile implementation for compatibility.
54
- */
55
- export const dialColors = {
56
- /** Background color for the dial circle (night sheet) */
57
- dialBackground: '#050505',
58
- /** Gradient layer colors — faint neutral lifts for depth */
59
- dialGradient1: 'rgba(255, 255, 255, 0.05)',
60
- dialGradient2: 'rgba(255, 255, 255, 0.03)',
61
- dialGradient3: 'rgba(255, 255, 255, 0.06)',
62
- /** Border color for dial and buttons — neutral hairline */
63
- dialBorder: 'rgba(255, 255, 255, 0.12)',
64
- /** Shadow color — plain dark drop shadow, no colored glow */
65
- dialShadow: '#000000',
66
- /** Grid line color (night separator) */
67
- dialGridLine: 'rgba(255, 255, 255, 0.08)',
68
- /** Backdrop overlay color */
69
- dialBackdrop: 'rgba(0, 0, 0, 0.85)',
70
- /** Center button text color (night text) */
71
- centerText: '#ECEDEE',
72
- /** Center button text halo — dark, keeps text legible over star fields */
73
- centerTextGlow: 'rgba(0, 0, 0, 0.6)',
74
- /** Icon label color (night text) */
75
- iconLabel: '#ECEDEE',
76
- /** Muted companion for labels (night textSecondary) */
77
- iconLabelMuted: '#9BA1A6',
78
- /** The one brand accent (night accent, Buoy green) */
79
- accent: '#20C997',
80
- /** Empty slot dot background (night fill) */
81
- emptyDotBackground: 'rgba(255, 255, 255, 0.06)',
82
- /** Empty slot dot border */
83
- emptyDotBorder: 'rgba(255, 255, 255, 0.16)'
84
- };
85
- // =============================
86
- // Dial Styling Configuration
87
- // =============================
88
-
89
- /**
90
- * Styling configuration for the dial menu.
91
- * All numeric values that affect appearance.
92
- */
93
- export const dialStyles = {
94
- // Backdrop
95
- backdrop: {
96
- opacity: 0.85
97
- },
98
- // Main circle
99
- circle: {
100
- borderWidth: 1,
101
- shadowOpacity: 0.5,
102
- shadowRadius: 20
103
- },
104
- // Gradient layers (for depth effect)
105
- gradientLayers: [{
106
- opacity: 0.6,
107
- offsetPercent: 0
108
- }, {
109
- opacity: 0.4,
110
- offsetPercent: 30
111
- }, {
112
- opacity: 0.3,
113
- offsetPercent: 50
114
- }],
115
- // Grid lines
116
- grid: {
117
- lineCount: 6,
118
- lineHeight: 1,
119
- /** Rotation angles in degrees for each line */
120
- getLineRotations: () => Array.from({
121
- length: 6
122
- }, (_, i) => i * 60)
123
- },
124
- // Center button
125
- centerButton: {
126
- /** Button container is this multiple of button size */
127
- containerRatio: 1.5,
128
- /** Button border wrapper is this multiple of button size */
129
- borderRatio: 1.2,
130
- /** Border radius ratio */
131
- borderRadiusRatio: 0.6,
132
- borderWidth: 2,
133
- text: {
134
- fontSize: 10,
135
- fontWeight: '900',
136
- letterSpacing: 1,
137
- fontFamily: monoFont
138
- },
139
- proText: {
140
- fontSize: 8,
141
- letterSpacing: 2
142
- }
143
- },
144
- // Icon items
145
- icon: {
146
- /** Background gradient size as percent of icon size */
147
- gradientBgSizePercent: 85,
148
- gradientBgBorderRadius: 12,
149
- gradientBgOpacity: 0.3,
150
- /** Inner glow size as percent of icon size */
151
- innerGlowSizePercent: 70,
152
- innerGlowBorderRadius: 10,
153
- innerGlowOpacity: 0.5,
154
- label: {
155
- fontSize: 8,
156
- fontWeight: '900',
157
- letterSpacing: 0.3,
158
- fontFamily: monoFont,
159
- marginTop: 2
160
- },
161
- /** Icon wrapper margin bottom */
162
- wrapperMarginBottom: 4
163
- },
164
- // Empty slot
165
- emptySlot: {
166
- dotSize: 12,
167
- borderWidth: 1
168
- }
169
- };
170
-
171
- // =============================
172
- // Helper to generate grid line rotations
173
- // =============================
174
-
175
- /**
176
- * Get rotation angles for grid lines.
177
- * @param count - Number of grid lines (default: 6)
178
- * @returns Array of rotation angles in degrees
179
- */
180
- export function getGridLineRotations(count = DIAL_GRID_LINE_COUNT) {
181
- return Array.from({
182
- length: count
183
- }, (_, i) => i * (360 / count));
184
- }
185
-
186
- // =============================
187
- // Layout Calculations
188
- // =============================
189
-
190
- /**
191
- * Calculate dial layout dimensions based on screen size.
192
- */
193
- export function getDialLayout(config) {
194
- const {
195
- screenWidth,
196
- maxCircleSize = 320,
197
- circleSizeRatio = 0.75,
198
- iconSize = DIAL_ICON_SIZE,
199
- iconPadding = DIAL_ICON_PADDING
200
- } = config;
201
- const circleSize = Math.min(screenWidth * circleSizeRatio, maxCircleSize);
202
- const circleRadius = circleSize / 2;
203
- const iconRadius = circleRadius - iconSize / 2 - iconPadding;
204
- return {
205
- circleSize,
206
- circleRadius,
207
- iconRadius,
208
- iconSize,
209
- buttonSize: DIAL_BUTTON_SIZE
210
- };
211
- }
212
-
213
- // =============================
214
- // Icon Position Calculations
215
- // =============================
216
-
217
- /**
218
- * Get the angle for an icon at a given index.
219
- *
220
- * @param index - Icon index (0-based)
221
- * @param totalIcons - Total number of icon slots
222
- * @param startAngle - Starting angle in radians (default: top of circle)
223
- */
224
- export function getIconAngle(index, totalIcons, startAngle = DIAL_START_ANGLE) {
225
- const anglePerIcon = 2 * Math.PI / totalIcons;
226
- return startAngle + anglePerIcon * index;
227
- }
228
-
229
- /**
230
- * Get the position for an icon at a given index.
231
- *
232
- * @param index - Icon index (0-based)
233
- * @param totalIcons - Total number of icon slots
234
- * @param radius - Distance from center to icon
235
- * @param startAngle - Starting angle in radians (default: top of circle)
236
- */
237
- export function getIconPosition(index, totalIcons, radius, startAngle = DIAL_START_ANGLE) {
238
- const angle = getIconAngle(index, totalIcons, startAngle);
239
- return {
240
- x: radius * Math.cos(angle),
241
- y: radius * Math.sin(angle),
242
- angle
243
- };
244
- }
245
-
246
- /**
247
- * Get positions for all icons in the dial.
248
- *
249
- * @param totalIcons - Total number of icon slots
250
- * @param radius - Distance from center to icons
251
- * @param startAngle - Starting angle in radians (default: top of circle)
252
- */
253
- export function getAllIconPositions(totalIcons, radius, startAngle = DIAL_START_ANGLE) {
254
- return Array.from({
255
- length: totalIcons
256
- }, (_, index) => getIconPosition(index, totalIcons, radius, startAngle));
257
- }
258
-
259
- // =============================
260
- // Animation Timing
261
- // =============================
262
-
263
- /**
264
- * Get the interpolation input range for staggered icon animation.
265
- * Used to create smooth entrance animations with stagger.
266
- *
267
- * @param index - Icon index (0-based)
268
- * @param totalIcons - Total number of icons
269
- * @param staggerRatio - Delay ratio per icon (default: 0.1)
270
- */
271
- export function getIconStaggerInputRange(index, totalIcons, staggerRatio = 0.1) {
272
- const staggerDelay = index * staggerRatio;
273
- const maxStagger = (totalIcons - 1) * staggerRatio;
274
- return [0, staggerDelay, staggerDelay + (1 - maxStagger), 1];
275
- }
276
-
277
- // =============================
278
- // Comprehensive Animation Config
279
- // =============================
280
-
281
- /**
282
- * Easing function names used in animations.
283
- */
284
-
285
- /**
286
- * Spring animation configuration.
287
- */
288
-
289
- /**
290
- * Comprehensive animation configuration for the dial menu.
291
- * All timing, easing, and effect parameters in one place.
292
- */
293
- export const dialAnimationConfig = {
294
- /** Entrance animation sequence */
295
- entrance: {
296
- /** Backdrop fade in */
297
- backdrop: {
298
- duration: 400,
299
- easing: 'linear'
300
- },
301
- /** Dial circle animations */
302
- dial: {
303
- /** Spring scale from 0 to 1 */
304
- scale: {
305
- type: 'spring',
306
- damping: 15,
307
- stiffness: 150,
308
- mass: 1
309
- },
310
- /** 360 degree rotation on entrance */
311
- rotation: {
312
- duration: 800,
313
- degrees: 360,
314
- easing: 'easeOutCubic'
315
- }
316
- },
317
- /** Center button spring scale with delay */
318
- centerButton: {
319
- delay: 300,
320
- type: 'spring',
321
- damping: 10,
322
- stiffness: 200
323
- },
324
- /** Icons stagger entrance */
325
- icons: {
326
- delay: 500,
327
- duration: 600,
328
- easing: 'easeOutCubic'
329
- },
330
- /** Circuit traces fade in */
331
- circuitTraces: {
332
- delay: 600,
333
- duration: 1000
334
- }
335
- },
336
- /** Exit animation sequence */
337
- exit: {
338
- /** Icons collapse back to center */
339
- icons: {
340
- duration: 300,
341
- easing: 'easeInCubic'
342
- },
343
- /** Center button scale down */
344
- centerButton: {
345
- duration: 200,
346
- easing: 'easeInCubic'
347
- },
348
- /** Dial scale down */
349
- dialScale: {
350
- duration: 250,
351
- easing: 'easeInCubic'
352
- },
353
- /** Backdrop fade out */
354
- backdrop: {
355
- duration: 200
356
- }
357
- },
358
- /** Continuous looping effects */
359
- continuous: {
360
- /** Glitch effect - horizontal jitter */
361
- glitch: {
362
- interval: 3000,
363
- offset: 2,
364
- stepDuration: 50
365
- },
366
- /** Pulse effect - subtle scale oscillation */
367
- pulse: {
368
- minScale: 0.98,
369
- maxScale: 1.02,
370
- duration: 1000,
371
- easing: 'easeInOutCubic'
372
- },
373
- /** Floating effect - vertical bobbing */
374
- floating: {
375
- minY: 0,
376
- maxY: -8,
377
- duration: 3000,
378
- easing: 'easeInOutCubic'
379
- },
380
- /** Breathing effect - scale on center button */
381
- breathing: {
382
- minScale: 0.98,
383
- maxScale: 1.05,
384
- duration: 2500,
385
- easing: 'easeInOutCubic'
386
- }
387
- },
388
- /** Icon-specific animations */
389
- icons: {
390
- /** Stagger ratio for entrance (0-1 per icon) */
391
- staggerRatio: 0.1,
392
- /** Spiral effect parameters */
393
- spiral: {
394
- /** Start rotation in radians (2π = full rotation) */
395
- startRotation: Math.PI * 2,
396
- /** End rotation in radians */
397
- endRotation: 0
398
- },
399
- /** Opacity interpolation during entrance */
400
- opacity: {
401
- inputRange: [0, 0.3, 1],
402
- outputRange: [0, 0.3, 1]
403
- },
404
- /** Press in animation */
405
- pressIn: {
406
- scale: 0.95,
407
- type: 'spring',
408
- damping: 15,
409
- stiffness: 400
410
- },
411
- /** Press out animation */
412
- pressOut: {
413
- scale: 1,
414
- type: 'spring',
415
- damping: 15,
416
- stiffness: 400
417
- }
418
- },
419
- /** User interaction animations */
420
- interaction: {
421
- /** Icon selection pulse effect */
422
- iconSelect: {
423
- pulse: [{
424
- scale: 0.9,
425
- damping: 15,
426
- stiffness: 500
427
- }, {
428
- scale: 1,
429
- damping: 10,
430
- stiffness: 200
431
- }],
432
- actionDelay: 50
433
- },
434
- /** Center button hover effect */
435
- centerHover: {
436
- scale: 1.05,
437
- duration: 150
438
- }
439
- }
440
- };
441
- // =============================
442
- // CSS Bezier Curve Equivalents
443
- // =============================
444
-
445
- /**
446
- * CSS cubic-bezier approximations for React Native springs.
447
- * These provide similar visual feel in CSS transitions/animations.
448
- */
449
- export const dialCSSBeziers = {
450
- // Spring approximations (derived from damping/stiffness values)
451
- /** Spring: damping 15, stiffness 150 (dial scale) */
452
- dialScale: 'cubic-bezier(0.34, 1.56, 0.64, 1)',
453
- /** Spring: damping 10, stiffness 200 (center button) */
454
- centerButton: 'cubic-bezier(0.25, 1.7, 0.55, 1)',
455
- /** Spring: damping 15, stiffness 400 (icon press) */
456
- iconPress: 'cubic-bezier(0.22, 1.2, 0.36, 1)',
457
- /** Spring: damping 15, stiffness 500 (icon select pulse) */
458
- iconSelectPulse: 'cubic-bezier(0.18, 1.15, 0.32, 1)',
459
- // Standard easing curves
460
- /** Decelerate - for entrance animations */
461
- easeOutCubic: 'cubic-bezier(0.33, 1, 0.68, 1)',
462
- /** Accelerate - for exit animations */
463
- easeInCubic: 'cubic-bezier(0.32, 0, 0.67, 0)',
464
- /** Smooth in-out - for continuous effects */
465
- easeInOutCubic: 'cubic-bezier(0.65, 0, 0.35, 1)',
466
- /** Linear */
467
- linear: 'linear'
468
- };
469
- // =============================
470
- // CSS Keyframe Generators
471
- // =============================
472
-
473
- /**
474
- * Generate CSS @keyframes definitions for dial animations.
475
- * Can be injected into a <style> tag or used with CSS-in-JS.
476
- */
477
- export function generateDialCSSKeyframes() {
478
- const c = dialAnimationConfig.continuous;
479
- return {
480
- /** Glitch effect - horizontal jitter */
481
- dialGlitch: `@keyframes dialGlitch {
482
- 0%, 100% { transform: translateX(0); }
483
- 33% { transform: translateX(${c.glitch.offset}px); }
484
- 66% { transform: translateX(-${c.glitch.offset}px); }
485
- }`,
486
- /** Pulse effect - scale oscillation */
487
- dialPulse: `@keyframes dialPulse {
488
- 0%, 100% { transform: scale(1); }
489
- 50% { transform: scale(${c.pulse.maxScale}); }
490
- }`,
491
- /** Floating effect - vertical bob */
492
- dialFloating: `@keyframes dialFloating {
493
- 0%, 100% { transform: translateY(0); }
494
- 50% { transform: translateY(${c.floating.maxY}px); }
495
- }`,
496
- /** Breathing effect - scale pulse */
497
- dialBreathing: `@keyframes dialBreathing {
498
- 0%, 100% { transform: scale(1); }
499
- 50% { transform: scale(${c.breathing.maxScale}); }
500
- }`,
501
- /** Dial rotation entrance */
502
- dialRotation: `@keyframes dialRotation {
503
- from { transform: rotate(0deg); }
504
- to { transform: rotate(${dialAnimationConfig.entrance.dial.rotation.degrees}deg); }
505
- }`
506
- };
507
- }
508
-
509
- /**
510
- * Get CSS animation shorthand values for continuous effects.
511
- * Use these in the `animation` CSS property.
512
- */
513
- export function getDialCSSAnimationStyles() {
514
- const c = dialAnimationConfig.continuous;
515
- return {
516
- /** Glitch: triggered periodically via JS interval */
517
- glitch: `dialGlitch ${c.glitch.stepDuration * 3}ms ease`,
518
- /** Pulse: infinite loop */
519
- pulse: `dialPulse ${c.pulse.duration * 2}ms ${dialCSSBeziers.easeInOutCubic} infinite`,
520
- /** Floating: infinite loop */
521
- floating: `dialFloating ${c.floating.duration * 2}ms ${dialCSSBeziers.easeInOutCubic} infinite`,
522
- /** Breathing: infinite loop */
523
- breathing: `dialBreathing ${c.breathing.duration * 2}ms ${dialCSSBeziers.easeInOutCubic} infinite`,
524
- /** Dial rotation: plays once on entrance */
525
- dialRotation: `dialRotation ${dialAnimationConfig.entrance.dial.rotation.duration}ms ${dialCSSBeziers.easeOutCubic}`
526
- };
527
- }
528
-
529
- /**
530
- * Get all keyframes as a single CSS string for injection.
531
- */
532
- export function getDialCSSKeyframesString() {
533
- return Object.values(generateDialCSSKeyframes()).join('\n\n');
534
- }
535
-
536
- // =============================
537
- // Spiral Animation Utilities
538
- // =============================
539
-
540
- /**
541
- * Position and visual state during spiral animation.
542
- */
543
-
544
- /**
545
- * Calculate icon position during spiral entrance animation.
546
- *
547
- * @param progress - Animation progress (0 = start at center, 1 = final position)
548
- * @param index - Icon index (0-based)
549
- * @param totalIcons - Total number of icons
550
- * @param radius - Final radius from center
551
- * @param startAngle - Starting angle for icon layout (default: top of circle)
552
- */
553
- export function getSpiralAnimationPosition(progress, index, totalIcons, radius, startAngle = DIAL_START_ANGLE) {
554
- const finalPos = getIconPosition(index, totalIcons, radius, startAngle);
555
- const spiral = dialAnimationConfig.icons.spiral;
556
- const opacityConfig = dialAnimationConfig.icons.opacity;
557
-
558
- // Clamp progress to 0-1
559
- const p = Math.max(0, Math.min(1, progress));
560
-
561
- // Spiral rotation: interpolate from startRotation to endRotation
562
- const rotation = spiral.startRotation + (spiral.endRotation - spiral.startRotation) * p;
563
-
564
- // Distance from center grows with progress
565
- const distance = radius * p;
566
-
567
- // Calculate position along spiral path
568
- const spiralAngle = finalPos.angle + rotation;
569
-
570
- // Interpolate from spiral position to final position
571
- const spiralX = distance * Math.cos(spiralAngle);
572
- const spiralY = distance * Math.sin(spiralAngle);
573
-
574
- // Blend spiral position with final position based on progress
575
- const x = spiralX + (finalPos.x - spiralX) * p;
576
- const y = spiralY + (finalPos.y - spiralY) * p;
577
-
578
- // Opacity interpolation with configurable curve
579
- let opacity;
580
- if (p <= opacityConfig.inputRange[0]) {
581
- opacity = opacityConfig.outputRange[0];
582
- } else if (p <= opacityConfig.inputRange[1]) {
583
- const t = (p - opacityConfig.inputRange[0]) / (opacityConfig.inputRange[1] - opacityConfig.inputRange[0]);
584
- opacity = opacityConfig.outputRange[0] + (opacityConfig.outputRange[1] - opacityConfig.outputRange[0]) * t;
585
- } else {
586
- const t = (p - opacityConfig.inputRange[1]) / (opacityConfig.inputRange[2] - opacityConfig.inputRange[1]);
587
- opacity = opacityConfig.outputRange[1] + (opacityConfig.outputRange[2] - opacityConfig.outputRange[1]) * t;
588
- }
589
- return {
590
- x,
591
- y,
592
- rotation,
593
- scale: p,
594
- opacity
595
- };
596
- }
597
-
598
- /**
599
- * Calculate staggered progress for an icon based on master progress.
600
- * Applies the stagger delay so icons animate in sequence.
601
- *
602
- * @param masterProgress - Overall animation progress (0-1)
603
- * @param index - Icon index (0-based)
604
- * @param totalIcons - Total number of icons
605
- */
606
- export function getStaggeredIconProgress(masterProgress, index, totalIcons) {
607
- const inputRange = getIconStaggerInputRange(index, totalIcons, dialAnimationConfig.icons.staggerRatio);
608
-
609
- // Map master progress through stagger input range
610
- if (masterProgress <= inputRange[0]) return 0;
611
- if (masterProgress <= inputRange[1]) return 0;
612
- if (masterProgress >= inputRange[3]) return 1;
613
- if (masterProgress >= inputRange[2]) return 1;
614
-
615
- // Interpolate between inputRange[1] and inputRange[2]
616
- const t = (masterProgress - inputRange[1]) / (inputRange[2] - inputRange[1]);
617
- return Math.max(0, Math.min(1, t));
618
- }
1
+ "use strict";import{monoFont}from"./fonts";export const MAX_DIAL_SLOTS=6;export const DIAL_START_ANGLE=-1*Math.PI/2;export const DIAL_BUTTON_SIZE=80;export const DIAL_ICON_SIZE=60;export const DIAL_ICON_GLYPH_SIZE=32;export const DIAL_ICON_PADDING=20;export const DIAL_GRID_LINE_COUNT=6;export const dialColors={dialBackground:"#050505",dialGradient1:"rgba(255, 255, 255, 0.05)",dialGradient2:"rgba(255, 255, 255, 0.03)",dialGradient3:"rgba(255, 255, 255, 0.06)",dialBorder:"rgba(255, 255, 255, 0.12)",dialShadow:"#000000",dialGridLine:"rgba(255, 255, 255, 0.08)",dialBackdrop:"rgba(0, 0, 0, 0.85)",hubFill:"rgba(5, 5, 5, 0.34)",hubHalo:"rgba(5, 5, 5, 0.12)",centerText:"#ECEDEE",centerTextGlow:"rgba(0, 0, 0, 0.6)",iconLabel:"#ECEDEE",iconLabelMuted:"#9BA1A6",accent:"#20C997",emptyDotBackground:"rgba(255, 255, 255, 0.06)",emptyDotBorder:"rgba(255, 255, 255, 0.16)"};export const dialStyles={backdrop:{opacity:.85},circle:{borderWidth:1,shadowOpacity:.5,shadowRadius:20},gradientLayers:[{opacity:.6,offsetPercent:0},{opacity:.4,offsetPercent:30},{opacity:.3,offsetPercent:50}],grid:{lineCount:6,lineHeight:1,getLineRotations:()=>Array.from({length:6},(t,e)=>60*e)},centerButton:{containerRatio:1.5,borderRatio:1.2,borderRadiusRatio:.6,borderWidth:2,text:{fontSize:10,fontWeight:"900",letterSpacing:1,fontFamily:monoFont},proText:{fontSize:8,letterSpacing:2}},icon:{gradientBgSizePercent:85,gradientBgBorderRadius:12,gradientBgOpacity:.3,innerGlowSizePercent:70,innerGlowBorderRadius:10,innerGlowOpacity:.5,label:{fontSize:8,fontWeight:"900",letterSpacing:.3,fontFamily:monoFont,marginTop:2},wrapperMarginBottom:4},emptySlot:{dotSize:12,borderWidth:1}};export function getGridLineRotations(t=6){return Array.from({length:t},(e,n)=>n*(360/t))}export function getDialLayout(t){const{screenWidth:e,maxCircleSize:n=320,circleSizeRatio:i=.75,iconSize:a=DIAL_ICON_SIZE,iconPadding:o=DIAL_ICON_PADDING}=t,r=Math.min(e*i,n),s=r/2;return{circleSize:r,circleRadius:s,iconRadius:s-a/2-o,iconSize:a,buttonSize:80}}export function getIconAngle(t,e,n=DIAL_START_ANGLE){return n+2*Math.PI/e*t}export function getIconPosition(t,e,n,i=DIAL_START_ANGLE){const a=getIconAngle(t,e,i);return{x:n*Math.cos(a),y:n*Math.sin(a),angle:a}}export function getAllIconPositions(t,e,n=DIAL_START_ANGLE){return Array.from({length:t},(i,a)=>getIconPosition(a,t,e,n))}export function getIconStaggerInputRange(t,e,n=.1){const i=t*n;return[0,i,i+(1-(e-1)*n),1]}export const dialAnimationConfig={entrance:{backdrop:{duration:400,easing:"linear"},dial:{scale:{type:"spring",damping:15,stiffness:150,mass:1},rotation:{duration:800,degrees:360,easing:"easeOutCubic"}},centerButton:{delay:300,type:"spring",damping:10,stiffness:200},icons:{delay:500,duration:600,easing:"easeOutCubic"},circuitTraces:{delay:600,duration:1e3}},exit:{icons:{duration:300,easing:"easeInCubic"},centerButton:{duration:200,easing:"easeInCubic"},dialScale:{duration:250,easing:"easeInCubic"},backdrop:{duration:200}},continuous:{glitch:{interval:3e3,offset:2,stepDuration:50},pulse:{minScale:.98,maxScale:1.02,duration:1e3,easing:"easeInOutCubic"},floating:{minY:0,maxY:-8,duration:3e3,easing:"easeInOutCubic"},breathing:{minScale:.98,maxScale:1.05,duration:2500,easing:"easeInOutCubic"}},icons:{staggerRatio:.1,spiral:{startRotation:2*Math.PI,endRotation:0},opacity:{inputRange:[0,.3,1],outputRange:[0,.3,1]},pressIn:{scale:.95,type:"spring",damping:15,stiffness:400},pressOut:{scale:1,type:"spring",damping:15,stiffness:400}},interaction:{iconSelect:{pulse:[{scale:.9,damping:15,stiffness:500},{scale:1,damping:10,stiffness:200}],actionDelay:50},centerHover:{scale:1.05,duration:150}}};export const dialCSSBeziers={dialScale:"cubic-bezier(0.34, 1.56, 0.64, 1)",centerButton:"cubic-bezier(0.25, 1.7, 0.55, 1)",iconPress:"cubic-bezier(0.22, 1.2, 0.36, 1)",iconSelectPulse:"cubic-bezier(0.18, 1.15, 0.32, 1)",easeOutCubic:"cubic-bezier(0.33, 1, 0.68, 1)",easeInCubic:"cubic-bezier(0.32, 0, 0.67, 0)",easeInOutCubic:"cubic-bezier(0.65, 0, 0.35, 1)",linear:"linear"};export function generateDialCSSKeyframes(){const t=dialAnimationConfig.continuous;return{dialGlitch:`@keyframes dialGlitch {\n 0%, 100% { transform: translateX(0); }\n 33% { transform: translateX(${t.glitch.offset}px); }\n 66% { transform: translateX(-${t.glitch.offset}px); }\n }`,dialPulse:`@keyframes dialPulse {\n 0%, 100% { transform: scale(1); }\n 50% { transform: scale(${t.pulse.maxScale}); }\n }`,dialFloating:`@keyframes dialFloating {\n 0%, 100% { transform: translateY(0); }\n 50% { transform: translateY(${t.floating.maxY}px); }\n }`,dialBreathing:`@keyframes dialBreathing {\n 0%, 100% { transform: scale(1); }\n 50% { transform: scale(${t.breathing.maxScale}); }\n }`,dialRotation:`@keyframes dialRotation {\n from { transform: rotate(0deg); }\n to { transform: rotate(${dialAnimationConfig.entrance.dial.rotation.degrees}deg); }\n }`}}export function getDialCSSAnimationStyles(){const t=dialAnimationConfig.continuous;return{glitch:`dialGlitch ${3*t.glitch.stepDuration}ms ease`,pulse:`dialPulse ${2*t.pulse.duration}ms ${dialCSSBeziers.easeInOutCubic} infinite`,floating:`dialFloating ${2*t.floating.duration}ms ${dialCSSBeziers.easeInOutCubic} infinite`,breathing:`dialBreathing ${2*t.breathing.duration}ms ${dialCSSBeziers.easeInOutCubic} infinite`,dialRotation:`dialRotation ${dialAnimationConfig.entrance.dial.rotation.duration}ms ${dialCSSBeziers.easeOutCubic}`}}export function getDialCSSKeyframesString(){return Object.values(generateDialCSSKeyframes()).join("\n\n")}export function getSpiralAnimationPosition(t,e,n,i,a=DIAL_START_ANGLE){const o=getIconPosition(e,n,i,a),r=dialAnimationConfig.icons.spiral,s=dialAnimationConfig.icons.opacity,c=Math.max(0,Math.min(1,t)),l=r.startRotation+(r.endRotation-r.startRotation)*c,u=i*c,g=o.angle+l,d=u*Math.cos(g),p=u*Math.sin(g),f=d+(o.x-d)*c,m=p+(o.y-p)*c;let S;if(c<=s.inputRange[0])S=s.outputRange[0];else if(c<=s.inputRange[1]){const t=(c-s.inputRange[0])/(s.inputRange[1]-s.inputRange[0]);S=s.outputRange[0]+(s.outputRange[1]-s.outputRange[0])*t}else{const t=(c-s.inputRange[1])/(s.inputRange[2]-s.inputRange[1]);S=s.outputRange[1]+(s.outputRange[2]-s.outputRange[1])*t}return{x:f,y:m,rotation:l,scale:c,opacity:S}}export function getStaggeredIconProgress(t,e,n){const i=getIconStaggerInputRange(e,n,dialAnimationConfig.icons.staggerRatio);if(t<=i[0])return 0;if(t<=i[1])return 0;if(t>=i[3])return 1;if(t>=i[2])return 1;const a=(t-i[1])/(i[2]-i[1]);return Math.max(0,Math.min(1,a))}