@buoy-gg/floating-tools-core 7.0.41 → 7.0.42

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