@nori-ui/core 0.0.5 → 1.0.2

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 (387) hide show
  1. package/dist/animation/animated-view.cjs +13 -0
  2. package/dist/animation/animated-view.cjs.map +1 -0
  3. package/dist/animation/animated-view.d.cts +6 -0
  4. package/dist/animation/animated-view.d.ts +6 -0
  5. package/dist/animation/animated-view.js +4 -0
  6. package/dist/animation/animated-view.js.map +1 -0
  7. package/dist/animation/animated-view.web.cjs +9 -0
  8. package/dist/animation/animated-view.web.cjs.map +1 -0
  9. package/dist/animation/animated-view.web.d.cts +5 -0
  10. package/dist/animation/animated-view.web.d.ts +5 -0
  11. package/dist/animation/animated-view.web.js +8 -0
  12. package/dist/animation/animated-view.web.js.map +1 -0
  13. package/dist/animation/use-animated-number.cjs +80 -0
  14. package/dist/animation/use-animated-number.cjs.map +1 -0
  15. package/dist/animation/use-animated-number.d.cts +8 -0
  16. package/dist/animation/use-animated-number.d.ts +8 -0
  17. package/dist/animation/use-animated-number.js +4 -0
  18. package/dist/animation/use-animated-number.js.map +1 -0
  19. package/dist/animation/use-animated-number.web.cjs +28 -0
  20. package/dist/animation/use-animated-number.web.cjs.map +1 -0
  21. package/dist/animation/use-animated-number.web.d.cts +8 -0
  22. package/dist/animation/use-animated-number.web.d.ts +8 -0
  23. package/dist/animation/use-animated-number.web.js +25 -0
  24. package/dist/animation/use-animated-number.web.js.map +1 -0
  25. package/dist/{chunk-RX7UULY3.js → chunk-33S7ADWM.js} +3 -3
  26. package/dist/{chunk-RX7UULY3.js.map → chunk-33S7ADWM.js.map} +1 -1
  27. package/dist/chunk-3BDDPFCI.js +108 -0
  28. package/dist/chunk-3BDDPFCI.js.map +1 -0
  29. package/dist/chunk-3F4TXKDY.js +314 -0
  30. package/dist/chunk-3F4TXKDY.js.map +1 -0
  31. package/dist/chunk-5A2QOOVN.js +15 -0
  32. package/dist/chunk-5A2QOOVN.js.map +1 -0
  33. package/dist/chunk-5XEGZFG5.js +208 -0
  34. package/dist/chunk-5XEGZFG5.js.map +1 -0
  35. package/dist/chunk-6AD6KCVB.js +178 -0
  36. package/dist/chunk-6AD6KCVB.js.map +1 -0
  37. package/dist/chunk-7GPDNQSX.js +967 -0
  38. package/dist/chunk-7GPDNQSX.js.map +1 -0
  39. package/dist/chunk-7UKRN73P.js +42 -0
  40. package/dist/chunk-7UKRN73P.js.map +1 -0
  41. package/dist/chunk-7Z4NMNX6.js +64 -0
  42. package/dist/chunk-7Z4NMNX6.js.map +1 -0
  43. package/dist/chunk-ACLHDHX3.js +29 -0
  44. package/dist/chunk-ACLHDHX3.js.map +1 -0
  45. package/dist/chunk-BZLT6R62.js +80 -0
  46. package/dist/chunk-BZLT6R62.js.map +1 -0
  47. package/dist/chunk-CCUXO2HN.js +450 -0
  48. package/dist/chunk-CCUXO2HN.js.map +1 -0
  49. package/dist/chunk-CHXHRJNZ.js +43 -0
  50. package/dist/chunk-CHXHRJNZ.js.map +1 -0
  51. package/dist/chunk-DDGMLLS3.js +188 -0
  52. package/dist/chunk-DDGMLLS3.js.map +1 -0
  53. package/dist/chunk-EWWQQ5DB.js +654 -0
  54. package/dist/chunk-EWWQQ5DB.js.map +1 -0
  55. package/dist/chunk-FEPTH5RV.js +169 -0
  56. package/dist/chunk-FEPTH5RV.js.map +1 -0
  57. package/dist/{chunk-SSTXLK5I.js → chunk-FT2XBBQJ.js} +42 -6
  58. package/dist/chunk-FT2XBBQJ.js.map +1 -0
  59. package/dist/chunk-IKLA2CVQ.js +260 -0
  60. package/dist/chunk-IKLA2CVQ.js.map +1 -0
  61. package/dist/chunk-JQQ3FBN7.js +18 -0
  62. package/dist/chunk-JQQ3FBN7.js.map +1 -0
  63. package/dist/chunk-JSAG5YO7.js +69 -0
  64. package/dist/chunk-JSAG5YO7.js.map +1 -0
  65. package/dist/chunk-JZ774T7U.js +76 -0
  66. package/dist/chunk-JZ774T7U.js.map +1 -0
  67. package/dist/chunk-KWRDJPP3.js +10 -0
  68. package/dist/chunk-KWRDJPP3.js.map +1 -0
  69. package/dist/chunk-LVWNMQGR.js +1106 -0
  70. package/dist/chunk-LVWNMQGR.js.map +1 -0
  71. package/dist/chunk-LWLK6HSW.js +143 -0
  72. package/dist/chunk-LWLK6HSW.js.map +1 -0
  73. package/dist/chunk-MDOZGILD.js +134 -0
  74. package/dist/chunk-MDOZGILD.js.map +1 -0
  75. package/dist/chunk-MKSDYRWQ.js +446 -0
  76. package/dist/chunk-MKSDYRWQ.js.map +1 -0
  77. package/dist/chunk-MRJWPRCX.js +80 -0
  78. package/dist/chunk-MRJWPRCX.js.map +1 -0
  79. package/dist/chunk-NRYWNOG5.js +410 -0
  80. package/dist/chunk-NRYWNOG5.js.map +1 -0
  81. package/dist/chunk-OMU4R4Y5.js +144 -0
  82. package/dist/chunk-OMU4R4Y5.js.map +1 -0
  83. package/dist/chunk-PNP7L4TA.js +103 -0
  84. package/dist/chunk-PNP7L4TA.js.map +1 -0
  85. package/dist/chunk-QI6646JZ.js +3 -0
  86. package/dist/{chunk-UAKFCMWK.js.map → chunk-QI6646JZ.js.map} +1 -1
  87. package/dist/chunk-QJNV7YQP.js +138 -0
  88. package/dist/chunk-QJNV7YQP.js.map +1 -0
  89. package/dist/chunk-R5JMDDCB.js +292 -0
  90. package/dist/chunk-R5JMDDCB.js.map +1 -0
  91. package/dist/chunk-RB3YBWQ4.js +77 -0
  92. package/dist/chunk-RB3YBWQ4.js.map +1 -0
  93. package/dist/chunk-RFW5SRZA.js +23 -0
  94. package/dist/chunk-RFW5SRZA.js.map +1 -0
  95. package/dist/chunk-RGJ3NBKE.js +8 -0
  96. package/dist/chunk-RGJ3NBKE.js.map +1 -0
  97. package/dist/chunk-SFNDR6DI.js +485 -0
  98. package/dist/chunk-SFNDR6DI.js.map +1 -0
  99. package/dist/chunk-SWC5CNKE.js +13 -0
  100. package/dist/chunk-SWC5CNKE.js.map +1 -0
  101. package/dist/chunk-TLS54G6Y.js +15 -0
  102. package/dist/chunk-TLS54G6Y.js.map +1 -0
  103. package/dist/chunk-WCQVDF3K.js +12 -0
  104. package/dist/{chunk-7QVYU63E.js.map → chunk-WCQVDF3K.js.map} +1 -1
  105. package/dist/chunk-WGT345SV.js +427 -0
  106. package/dist/chunk-WGT345SV.js.map +1 -0
  107. package/dist/chunk-X7APG7G2.js +1566 -0
  108. package/dist/chunk-X7APG7G2.js.map +1 -0
  109. package/dist/chunk-XALU6LOT.js +306 -0
  110. package/dist/chunk-XALU6LOT.js.map +1 -0
  111. package/dist/chunk-YNKKEO2A.js +336 -0
  112. package/dist/chunk-YNKKEO2A.js.map +1 -0
  113. package/dist/chunk-ZBW3BA5R.js +148 -0
  114. package/dist/chunk-ZBW3BA5R.js.map +1 -0
  115. package/dist/{chunk-FXKIWONG.js → chunk-ZIBNLXIV.js} +12 -6
  116. package/dist/chunk-ZIBNLXIV.js.map +1 -0
  117. package/dist/chunk-ZMSIYLSI.js +563 -0
  118. package/dist/chunk-ZMSIYLSI.js.map +1 -0
  119. package/dist/chunk-ZQMNGPLE.js +981 -0
  120. package/dist/chunk-ZQMNGPLE.js.map +1 -0
  121. package/dist/chunk-ZRD4FQBT.js +153 -0
  122. package/dist/chunk-ZRD4FQBT.js.map +1 -0
  123. package/dist/client.cjs +11289 -439
  124. package/dist/client.cjs.map +1 -1
  125. package/dist/client.d.cts +68 -117
  126. package/dist/client.d.ts +68 -117
  127. package/dist/client.js +58 -40
  128. package/dist/client.js.map +1 -1
  129. package/dist/components/Accordion/index.cjs +900 -0
  130. package/dist/components/Accordion/index.cjs.map +1 -0
  131. package/dist/components/Accordion/index.d.cts +72 -0
  132. package/dist/components/Accordion/index.d.ts +72 -0
  133. package/dist/components/Accordion/index.js +10 -0
  134. package/dist/components/Accordion/index.js.map +1 -0
  135. package/dist/components/Alert/index.cjs +567 -0
  136. package/dist/components/Alert/index.cjs.map +1 -0
  137. package/dist/components/Alert/index.d.cts +41 -0
  138. package/dist/components/Alert/index.d.ts +41 -0
  139. package/dist/components/Alert/index.js +8 -0
  140. package/dist/components/Alert/index.js.map +1 -0
  141. package/dist/components/AlertDialog/index.cjs +892 -0
  142. package/dist/components/AlertDialog/index.cjs.map +1 -0
  143. package/dist/components/AlertDialog/index.d.cts +68 -0
  144. package/dist/components/AlertDialog/index.d.ts +68 -0
  145. package/dist/components/AlertDialog/index.js +9 -0
  146. package/dist/components/AlertDialog/index.js.map +1 -0
  147. package/dist/components/Avatar/index.cjs +427 -0
  148. package/dist/components/Avatar/index.cjs.map +1 -0
  149. package/dist/components/Avatar/index.d.cts +40 -0
  150. package/dist/components/Avatar/index.d.ts +40 -0
  151. package/dist/components/Avatar/index.js +7 -0
  152. package/dist/components/Avatar/index.js.map +1 -0
  153. package/dist/components/Badge/index.cjs +433 -0
  154. package/dist/components/Badge/index.cjs.map +1 -0
  155. package/dist/components/Badge/index.d.cts +35 -0
  156. package/dist/components/Badge/index.d.ts +35 -0
  157. package/dist/components/Badge/index.js +7 -0
  158. package/dist/components/Badge/index.js.map +1 -0
  159. package/dist/components/Box/index.cjs +415 -0
  160. package/dist/components/Box/index.cjs.map +1 -0
  161. package/dist/components/Box/index.d.cts +24 -0
  162. package/dist/components/Box/index.d.ts +24 -0
  163. package/dist/components/Box/index.js +9 -0
  164. package/dist/components/Box/index.js.map +1 -0
  165. package/dist/components/Breadcrumb/index.cjs +1939 -0
  166. package/dist/components/Breadcrumb/index.cjs.map +1 -0
  167. package/dist/components/Breadcrumb/index.d.cts +186 -0
  168. package/dist/components/Breadcrumb/index.d.ts +186 -0
  169. package/dist/components/Breadcrumb/index.js +11 -0
  170. package/dist/components/Breadcrumb/index.js.map +1 -0
  171. package/dist/components/Button/index.cjs +631 -0
  172. package/dist/components/Button/index.cjs.map +1 -0
  173. package/dist/components/Button/index.d.cts +27 -0
  174. package/dist/components/Button/index.d.ts +27 -0
  175. package/dist/components/Button/index.js +9 -0
  176. package/dist/components/Button/index.js.map +1 -0
  177. package/dist/components/Calendar/index.cjs +3017 -0
  178. package/dist/components/Calendar/index.cjs.map +1 -0
  179. package/dist/components/Calendar/index.d.cts +169 -0
  180. package/dist/components/Calendar/index.d.ts +169 -0
  181. package/dist/components/Calendar/index.js +11 -0
  182. package/dist/components/Calendar/index.js.map +1 -0
  183. package/dist/components/Card/index.cjs +469 -0
  184. package/dist/components/Card/index.cjs.map +1 -0
  185. package/dist/components/Card/index.d.cts +33 -0
  186. package/dist/components/Card/index.d.ts +33 -0
  187. package/dist/components/Card/index.js +7 -0
  188. package/dist/components/Card/index.js.map +1 -0
  189. package/dist/components/Checkbox/index.cjs +590 -0
  190. package/dist/components/Checkbox/index.cjs.map +1 -0
  191. package/dist/components/Checkbox/index.d.cts +22 -0
  192. package/dist/components/Checkbox/index.d.ts +22 -0
  193. package/dist/components/Checkbox/index.js +9 -0
  194. package/dist/components/Checkbox/index.js.map +1 -0
  195. package/dist/components/Dialog/index.cjs +888 -0
  196. package/dist/components/Dialog/index.cjs.map +1 -0
  197. package/dist/components/Dialog/index.d.cts +56 -0
  198. package/dist/components/Dialog/index.d.ts +56 -0
  199. package/dist/components/Dialog/index.js +10 -0
  200. package/dist/components/Dialog/index.js.map +1 -0
  201. package/dist/components/FloatButton/index.cjs +1254 -0
  202. package/dist/components/FloatButton/index.cjs.map +1 -0
  203. package/dist/components/FloatButton/index.d.cts +133 -0
  204. package/dist/components/FloatButton/index.d.ts +133 -0
  205. package/dist/components/FloatButton/index.js +11 -0
  206. package/dist/components/FloatButton/index.js.map +1 -0
  207. package/dist/components/HStack/index.cjs +480 -0
  208. package/dist/components/HStack/index.cjs.map +1 -0
  209. package/dist/components/HStack/index.d.cts +24 -0
  210. package/dist/components/HStack/index.d.ts +24 -0
  211. package/dist/components/HStack/index.js +9 -0
  212. package/dist/components/HStack/index.js.map +1 -0
  213. package/dist/components/InputGroup/index.cjs +638 -0
  214. package/dist/components/InputGroup/index.cjs.map +1 -0
  215. package/dist/components/InputGroup/index.d.cts +33 -0
  216. package/dist/components/InputGroup/index.d.ts +33 -0
  217. package/dist/components/InputGroup/index.js +7 -0
  218. package/dist/components/InputGroup/index.js.map +1 -0
  219. package/dist/components/Pagination/index.cjs +2501 -0
  220. package/dist/components/Pagination/index.cjs.map +1 -0
  221. package/dist/components/Pagination/index.d.cts +164 -0
  222. package/dist/components/Pagination/index.d.ts +164 -0
  223. package/dist/components/Pagination/index.js +12 -0
  224. package/dist/components/Pagination/index.js.map +1 -0
  225. package/dist/components/Popover/index.cjs +739 -0
  226. package/dist/components/Popover/index.cjs.map +1 -0
  227. package/dist/components/Popover/index.d.cts +44 -0
  228. package/dist/components/Popover/index.d.ts +44 -0
  229. package/dist/components/Popover/index.js +8 -0
  230. package/dist/components/Popover/index.js.map +1 -0
  231. package/dist/components/Progress/index.cjs +493 -0
  232. package/dist/components/Progress/index.cjs.map +1 -0
  233. package/dist/components/Progress/index.d.cts +63 -0
  234. package/dist/components/Progress/index.d.ts +63 -0
  235. package/dist/components/Progress/index.js +7 -0
  236. package/dist/components/Progress/index.js.map +1 -0
  237. package/dist/components/Radio/index.cjs +584 -0
  238. package/dist/components/Radio/index.cjs.map +1 -0
  239. package/dist/components/Radio/index.d.cts +51 -0
  240. package/dist/components/Radio/index.d.ts +51 -0
  241. package/dist/components/Radio/index.js +7 -0
  242. package/dist/components/Radio/index.js.map +1 -0
  243. package/dist/components/SegmentedControl/index.cjs +502 -0
  244. package/dist/components/SegmentedControl/index.cjs.map +1 -0
  245. package/dist/components/SegmentedControl/index.d.cts +45 -0
  246. package/dist/components/SegmentedControl/index.d.ts +45 -0
  247. package/dist/components/SegmentedControl/index.js +7 -0
  248. package/dist/components/SegmentedControl/index.js.map +1 -0
  249. package/dist/components/Select/index.cjs +1359 -0
  250. package/dist/components/Select/index.cjs.map +1 -0
  251. package/dist/components/Select/index.d.cts +140 -0
  252. package/dist/components/Select/index.d.ts +140 -0
  253. package/dist/components/Select/index.js +8 -0
  254. package/dist/components/Select/index.js.map +1 -0
  255. package/dist/components/Separator/index.cjs +358 -0
  256. package/dist/components/Separator/index.cjs.map +1 -0
  257. package/dist/components/Separator/index.d.cts +28 -0
  258. package/dist/components/Separator/index.d.ts +28 -0
  259. package/dist/components/Separator/index.js +6 -0
  260. package/dist/components/Separator/index.js.map +1 -0
  261. package/dist/components/Skeleton/index.cjs +384 -0
  262. package/dist/components/Skeleton/index.cjs.map +1 -0
  263. package/dist/components/Skeleton/index.d.cts +30 -0
  264. package/dist/components/Skeleton/index.d.ts +30 -0
  265. package/dist/components/Skeleton/index.js +6 -0
  266. package/dist/components/Skeleton/index.js.map +1 -0
  267. package/dist/components/Slider/index.cjs +880 -0
  268. package/dist/components/Slider/index.cjs.map +1 -0
  269. package/dist/components/Slider/index.d.cts +84 -0
  270. package/dist/components/Slider/index.d.ts +84 -0
  271. package/dist/components/Slider/index.js +6 -0
  272. package/dist/components/Slider/index.js.map +1 -0
  273. package/dist/components/Spinner/index.cjs +32 -0
  274. package/dist/components/Spinner/index.cjs.map +1 -0
  275. package/dist/components/Spinner/index.d.cts +25 -0
  276. package/dist/components/Spinner/index.d.ts +25 -0
  277. package/dist/components/Spinner/index.js +4 -0
  278. package/dist/components/Spinner/index.js.map +1 -0
  279. package/dist/components/Switch/index.cjs +623 -0
  280. package/dist/components/Switch/index.cjs.map +1 -0
  281. package/dist/components/Switch/index.d.cts +22 -0
  282. package/dist/components/Switch/index.d.ts +22 -0
  283. package/dist/components/Switch/index.js +10 -0
  284. package/dist/components/Switch/index.js.map +1 -0
  285. package/dist/components/Tabs/index.cjs +630 -0
  286. package/dist/components/Tabs/index.cjs.map +1 -0
  287. package/dist/components/Tabs/index.d.cts +63 -0
  288. package/dist/components/Tabs/index.d.ts +63 -0
  289. package/dist/components/Tabs/index.js +7 -0
  290. package/dist/components/Tabs/index.js.map +1 -0
  291. package/dist/components/Text/index.cjs +401 -0
  292. package/dist/components/Text/index.cjs.map +1 -0
  293. package/dist/components/Text/index.d.cts +24 -0
  294. package/dist/components/Text/index.d.ts +24 -0
  295. package/dist/components/Text/index.js +7 -0
  296. package/dist/components/Text/index.js.map +1 -0
  297. package/dist/components/TextArea/index.cjs +482 -0
  298. package/dist/components/TextArea/index.cjs.map +1 -0
  299. package/dist/components/TextArea/index.d.cts +25 -0
  300. package/dist/components/TextArea/index.d.ts +25 -0
  301. package/dist/components/TextArea/index.js +8 -0
  302. package/dist/components/TextArea/index.js.map +1 -0
  303. package/dist/components/TextInput/index.cjs +477 -0
  304. package/dist/components/TextInput/index.cjs.map +1 -0
  305. package/dist/components/TextInput/index.d.cts +33 -0
  306. package/dist/components/TextInput/index.d.ts +33 -0
  307. package/dist/components/TextInput/index.js +7 -0
  308. package/dist/components/TextInput/index.js.map +1 -0
  309. package/dist/components/Toast/index.cjs +167 -0
  310. package/dist/components/Toast/index.cjs.map +1 -0
  311. package/dist/components/Toast/index.d.cts +143 -0
  312. package/dist/components/Toast/index.d.ts +143 -0
  313. package/dist/components/Toast/index.js +4 -0
  314. package/dist/components/Toast/index.js.map +1 -0
  315. package/dist/components/Toggle/index.cjs +770 -0
  316. package/dist/components/Toggle/index.cjs.map +1 -0
  317. package/dist/components/Toggle/index.d.cts +83 -0
  318. package/dist/components/Toggle/index.d.ts +83 -0
  319. package/dist/components/Toggle/index.js +7 -0
  320. package/dist/components/Toggle/index.js.map +1 -0
  321. package/dist/components/Tooltip/index.cjs +813 -0
  322. package/dist/components/Tooltip/index.cjs.map +1 -0
  323. package/dist/components/Tooltip/index.d.cts +55 -0
  324. package/dist/components/Tooltip/index.d.ts +55 -0
  325. package/dist/components/Tooltip/index.js +8 -0
  326. package/dist/components/Tooltip/index.js.map +1 -0
  327. package/dist/components/VStack/index.cjs +480 -0
  328. package/dist/components/VStack/index.cjs.map +1 -0
  329. package/dist/components/VStack/index.d.cts +19 -0
  330. package/dist/components/VStack/index.d.ts +19 -0
  331. package/dist/components/VStack/index.js +9 -0
  332. package/dist/components/VStack/index.js.map +1 -0
  333. package/dist/i18n/index.cjs +39 -3
  334. package/dist/i18n/index.cjs.map +1 -1
  335. package/dist/i18n/index.d.cts +4 -60
  336. package/dist/i18n/index.d.ts +4 -60
  337. package/dist/i18n/index.js +3 -2
  338. package/dist/icons/index.cjs +326 -26
  339. package/dist/icons/index.cjs.map +1 -1
  340. package/dist/icons/index.js +4 -3
  341. package/dist/index-D3_M3G6U.d.ts +19 -0
  342. package/dist/index-uXPK_Rg8.d.cts +19 -0
  343. package/dist/index.cjs +11176 -463
  344. package/dist/index.cjs.map +1 -1
  345. package/dist/index.d.cts +39 -183
  346. package/dist/index.d.ts +39 -183
  347. package/dist/index.js +49 -9
  348. package/dist/resolve-D-GOaxZy.d.cts +60 -0
  349. package/dist/resolve-D-GOaxZy.d.ts +60 -0
  350. package/dist/slot/index.cjs +9 -3
  351. package/dist/slot/index.cjs.map +1 -1
  352. package/dist/slot/index.js +2 -2
  353. package/dist/stories/index.cjs +108 -0
  354. package/dist/stories/index.cjs.map +1 -0
  355. package/dist/stories/index.d.cts +46 -0
  356. package/dist/stories/index.d.ts +46 -0
  357. package/dist/stories/index.js +94 -0
  358. package/dist/stories/index.js.map +1 -0
  359. package/dist/theme/index.cjs +259 -26
  360. package/dist/theme/index.cjs.map +1 -1
  361. package/dist/theme/index.d.cts +26 -0
  362. package/dist/theme/index.d.ts +26 -0
  363. package/dist/theme/index.js +4 -3
  364. package/dist/use-theme-CoqfnvRs.d.cts +112 -0
  365. package/dist/use-theme-CoqfnvRs.d.ts +112 -0
  366. package/dist/utils/cn.cjs +18 -6
  367. package/dist/utils/cn.cjs.map +1 -1
  368. package/dist/utils/cn.js +2 -2
  369. package/package.json +41 -10
  370. package/dist/chunk-6OABNXBY.js +0 -213
  371. package/dist/chunk-6OABNXBY.js.map +0 -1
  372. package/dist/chunk-7QVYU63E.js +0 -6
  373. package/dist/chunk-FXKIWONG.js.map +0 -1
  374. package/dist/chunk-NDEDMCHT.js +0 -40
  375. package/dist/chunk-NDEDMCHT.js.map +0 -1
  376. package/dist/chunk-SSTXLK5I.js.map +0 -1
  377. package/dist/chunk-UAKFCMWK.js +0 -3
  378. package/dist/chunk-X3AJNNF6.js +0 -539
  379. package/dist/chunk-X3AJNNF6.js.map +0 -1
  380. package/dist/chunk-XGM2K4TT.js +0 -31
  381. package/dist/chunk-XGM2K4TT.js.map +0 -1
  382. package/dist/stories/story-registry.cjs +0 -776
  383. package/dist/stories/story-registry.cjs.map +0 -1
  384. package/dist/stories/story-registry.d.cts +0 -13
  385. package/dist/stories/story-registry.d.ts +0 -13
  386. package/dist/stories/story-registry.js +0 -106
  387. package/dist/stories/story-registry.js.map +0 -1
@@ -0,0 +1,654 @@
1
+ import { useTranslation } from './chunk-RFW5SRZA.js';
2
+ import { defaultSemanticIcons } from './chunk-7Z4NMNX6.js';
3
+ import { Badge } from './chunk-3BDDPFCI.js';
4
+ import { px } from './chunk-5A2QOOVN.js';
5
+ import { cn } from './chunk-CHXHRJNZ.js';
6
+ import { useThemeColors } from './chunk-R5JMDDCB.js';
7
+ import { __name } from './chunk-WCQVDF3K.js';
8
+ import * as React from 'react';
9
+ import { createContext, useContext, useState, useRef, useCallback, useMemo, useEffect, isValidElement, cloneElement } from 'react';
10
+ import { StyleSheet, useWindowDimensions, View, Text, Platform, Pressable } from 'react-native';
11
+ import { jsxs, Fragment, jsx } from 'nativewind/jsx-runtime';
12
+
13
+ var isDev = process.env.NODE_ENV !== "production";
14
+ var SafeAreaInsetsContext = /* @__PURE__ */ React.createContext(null);
15
+ if (isDev) {
16
+ SafeAreaInsetsContext.displayName = "SafeAreaInsetsContext";
17
+ }
18
+ var SafeAreaFrameContext = /* @__PURE__ */ React.createContext(null);
19
+ if (isDev) {
20
+ SafeAreaFrameContext.displayName = "SafeAreaFrameContext";
21
+ }
22
+ StyleSheet.create({
23
+ fill: {
24
+ flex: 1
25
+ }
26
+ });
27
+ SafeAreaInsetsContext.Consumer;
28
+ var FloatButtonGroupContext = createContext(null);
29
+ var SIZE_MAP = {
30
+ small: { diameter: 40, iconSize: 18, fontSize: 14, padX: 16 },
31
+ medium: { diameter: 56, iconSize: 22, fontSize: 14, padX: 20 },
32
+ large: { diameter: 72, iconSize: 28, fontSize: 16, padX: 28 }
33
+ };
34
+ var DEFAULT_OFFSET_WEB = 24;
35
+ var DEFAULT_OFFSET_NATIVE = 16;
36
+ var FloatButtonRoot = /* @__PURE__ */ __name((props) => {
37
+ const groupCtx = useContext(FloatButtonGroupContext);
38
+ const colors = useThemeColors();
39
+ const insets = useContext(SafeAreaInsetsContext) ?? { top: 0, bottom: 0};
40
+ const { width: viewportWidth } = useWindowDimensions();
41
+ const {
42
+ icon,
43
+ label,
44
+ accessibilityLabel,
45
+ shape: shapeProp,
46
+ size = groupCtx ? "small" : "medium",
47
+ variant = "primary",
48
+ tooltip,
49
+ badge,
50
+ disabled = false,
51
+ loading = false,
52
+ visible = true,
53
+ placement = "bottom-right",
54
+ positioning = "fixed",
55
+ offset,
56
+ respectSafeArea = false,
57
+ href,
58
+ dir = "ltr",
59
+ onLongPress,
60
+ className,
61
+ testID,
62
+ children,
63
+ onPress,
64
+ onClick,
65
+ "aria-haspopup": ariaHasPopup,
66
+ "aria-expanded": ariaExpanded
67
+ } = props;
68
+ if (process.env.NODE_ENV !== "production" && onPress && onClick) {
69
+ console.warn("<FloatButton>: both `onPress` and `onClick` defined \u2014 `onPress` will be used. Pick one.");
70
+ }
71
+ const onPressFn = onPress ?? onClick;
72
+ const shape = shapeProp ?? (label && icon ? "extended" : "circle");
73
+ const sizeTokens = SIZE_MAP[size];
74
+ const [tooltipVisible, setTooltipVisible] = useState(false);
75
+ const longPressFiredRef = useRef(false);
76
+ const handlePress = useCallback(
77
+ (event) => {
78
+ if (disabled || loading) {
79
+ return;
80
+ }
81
+ if (longPressFiredRef.current) {
82
+ longPressFiredRef.current = false;
83
+ return;
84
+ }
85
+ if (groupCtx) {
86
+ groupCtx.close();
87
+ }
88
+ onPressFn?.(event);
89
+ },
90
+ [disabled, loading, groupCtx, onPressFn]
91
+ );
92
+ const handleLongPress = useCallback(
93
+ (event) => {
94
+ if (disabled || loading) {
95
+ return;
96
+ }
97
+ longPressFiredRef.current = true;
98
+ onLongPress?.(event);
99
+ },
100
+ [disabled, loading, onLongPress]
101
+ );
102
+ const variantStyle = useMemo(() => resolveVariantStyle(variant, colors), [variant, colors]);
103
+ const positionStyle = groupCtx ? null : resolvePositionStyle({
104
+ placement,
105
+ positioning,
106
+ offset: offset ?? {},
107
+ dir,
108
+ insets,
109
+ viewportWidth,
110
+ respectSafeArea
111
+ });
112
+ const containerOpacity = visible ? disabled ? 0.4 : 1 : 0;
113
+ const isExtended = shape === "extended" && Boolean(label);
114
+ const containerDimensions = isExtended ? {
115
+ minWidth: sizeTokens.diameter,
116
+ height: sizeTokens.diameter,
117
+ paddingHorizontal: sizeTokens.padX,
118
+ borderRadius: sizeTokens.diameter / 2
119
+ } : {
120
+ width: sizeTokens.diameter,
121
+ height: sizeTokens.diameter,
122
+ borderRadius: shape === "square" ? px(colors.radius.lg) : sizeTokens.diameter / 2
123
+ };
124
+ const a11yLabel = accessibilityLabel ?? label ?? tooltip;
125
+ if (process.env.NODE_ENV !== "production" && !a11yLabel && icon) {
126
+ console.warn("<FloatButton>: provide `accessibilityLabel` or `label` for icon-only buttons (WCAG 2.2).");
127
+ }
128
+ const shadowStyle = useMemo(() => resolveShadowStyle(variant, colors), [variant, colors]);
129
+ const contentNode = /* @__PURE__ */ jsxs(Fragment, { children: [
130
+ loading ? /* @__PURE__ */ jsx(SmallSpinner, { color: variantStyle.fg, size: sizeTokens.iconSize }) : /* @__PURE__ */ jsx(
131
+ View,
132
+ {
133
+ style: {
134
+ width: sizeTokens.iconSize,
135
+ height: sizeTokens.iconSize,
136
+ alignItems: "center",
137
+ justifyContent: "center",
138
+ // Sets CSS `color` on the wrapper div under RN-Web
139
+ // so any nested SVG using `stroke="currentColor"`
140
+ // or `fill="currentColor"` inherits the variant fg.
141
+ // RN ignores `color` on a View (it's only valid on
142
+ // Text) — silently dropped on native.
143
+ color: variantStyle.fg
144
+ },
145
+ children: tintIcon(icon, variantStyle.fg)
146
+ }
147
+ ),
148
+ isExtended ? /* @__PURE__ */ jsx(
149
+ Text,
150
+ {
151
+ style: {
152
+ marginLeft: px(colors.spacing["2"]),
153
+ color: variantStyle.fg,
154
+ fontFamily: colors.fontFamily.body,
155
+ fontSize: sizeTokens.fontSize,
156
+ fontWeight: colors.fontWeight.medium,
157
+ letterSpacing: -0.1,
158
+ fontVariant: ["tabular-nums"]
159
+ },
160
+ numberOfLines: 1,
161
+ children: label
162
+ }
163
+ ) : null
164
+ ] });
165
+ const wrapperStyle = {
166
+ ...positionStyle ?? {},
167
+ opacity: containerOpacity,
168
+ // Web-only transitions for visibility/scale (silently dropped on native).
169
+ ...Platform.OS === "web" ? {
170
+ transitionProperty: "opacity, transform",
171
+ transitionDuration: "180ms",
172
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)",
173
+ pointerEvents: visible ? "auto" : "none"
174
+ } : null
175
+ };
176
+ const buttonNode = /* @__PURE__ */ jsx(
177
+ Pressable,
178
+ {
179
+ ...testID !== void 0 ? { testID } : {},
180
+ role: "button",
181
+ accessibilityRole: "button",
182
+ accessibilityLabel: a11yLabel,
183
+ "aria-label": a11yLabel,
184
+ disabled: disabled || loading,
185
+ "aria-disabled": disabled || void 0,
186
+ "aria-busy": loading || void 0,
187
+ ...ariaHasPopup !== void 0 ? { "aria-haspopup": ariaHasPopup } : {},
188
+ ...ariaExpanded !== void 0 ? { "aria-expanded": ariaExpanded } : {},
189
+ onPress: handlePress,
190
+ onLongPress: onLongPress ? handleLongPress : void 0,
191
+ onHoverIn: () => setTooltipVisible(true),
192
+ onHoverOut: () => setTooltipVisible(false),
193
+ onFocus: () => setTooltipVisible(true),
194
+ onBlur: () => setTooltipVisible(false),
195
+ style: Platform.OS === "web" ? (state) => {
196
+ const { pressed, hovered } = state;
197
+ return {
198
+ flexDirection: "row",
199
+ alignItems: "center",
200
+ justifyContent: "center",
201
+ backgroundColor: pressed ? variantStyle.bgPressed : hovered ? variantStyle.bgHover : variantStyle.bg,
202
+ ...variantStyle.borderColor ? { borderWidth: 1, borderColor: variantStyle.borderColor } : null,
203
+ ...containerDimensions,
204
+ ...shadowStyle.resting,
205
+ ...pressed ? { transform: [{ scale: 0.96 }], ...shadowStyle.pressed } : null,
206
+ ...hovered && !pressed ? { transform: [{ translateY: -1 }], ...shadowStyle.hover } : null,
207
+ ...{
208
+ transitionProperty: "background-color, box-shadow, transform",
209
+ transitionDuration: "150ms",
210
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)",
211
+ cursor: disabled || loading ? "not-allowed" : "pointer",
212
+ outlineWidth: 0
213
+ }
214
+ };
215
+ } : {
216
+ flexDirection: "row",
217
+ alignItems: "center",
218
+ justifyContent: "center",
219
+ backgroundColor: variantStyle.bg,
220
+ ...variantStyle.borderColor ? { borderWidth: 1, borderColor: variantStyle.borderColor } : null,
221
+ ...containerDimensions,
222
+ ...shadowStyle.resting
223
+ },
224
+ children: contentNode
225
+ }
226
+ );
227
+ const linkedButton = href && Platform.OS === "web" ? /* @__PURE__ */ jsx(
228
+ "a",
229
+ {
230
+ href,
231
+ "aria-label": a11yLabel,
232
+ style: { textDecoration: "none", color: "inherit", display: "inline-flex" },
233
+ onClick: (e) => {
234
+ if (onPressFn) {
235
+ onPressFn({
236
+ preventDefault: /* @__PURE__ */ __name(() => e.preventDefault(), "preventDefault")
237
+ });
238
+ }
239
+ },
240
+ children: buttonNode
241
+ }
242
+ ) : buttonNode;
243
+ const showTooltip = tooltip && (Platform.OS === "web" ? tooltipVisible : groupCtx?.open ?? false);
244
+ return /* @__PURE__ */ jsxs(View, { className: cn(className), style: wrapperStyle, children: [
245
+ /* @__PURE__ */ jsxs(View, { style: { flexDirection: "row", alignItems: "center", gap: px(colors.spacing["2"]) }, children: [
246
+ showTooltip ? /* @__PURE__ */ jsx(TooltipChip, { text: tooltip }) : null,
247
+ /* @__PURE__ */ jsxs(View, { style: { position: "relative" }, children: [
248
+ linkedButton,
249
+ badge ? /* @__PURE__ */ jsx(BadgeOverlay, { badge, size }) : null
250
+ ] })
251
+ ] }),
252
+ children
253
+ ] });
254
+ }, "FloatButtonRoot");
255
+ var FloatButtonGroup = /* @__PURE__ */ __name(({
256
+ trigger = "click",
257
+ open: openProp,
258
+ defaultOpen = false,
259
+ onOpenChange,
260
+ direction = "up",
261
+ backdrop = false,
262
+ expandIcon,
263
+ collapseIcon,
264
+ actions,
265
+ children,
266
+ ...buttonProps
267
+ }) => {
268
+ const isControlled = openProp !== void 0;
269
+ const [innerOpen, setInnerOpen] = useState(defaultOpen);
270
+ const open = isControlled ? openProp : innerOpen;
271
+ const setOpen = useCallback(
272
+ (next) => {
273
+ if (!isControlled) {
274
+ setInnerOpen(next);
275
+ }
276
+ onOpenChange?.(next);
277
+ },
278
+ [isControlled, onOpenChange]
279
+ );
280
+ const close = useCallback(() => setOpen(false), [setOpen]);
281
+ const toggle = useCallback(() => setOpen(!open), [setOpen, open]);
282
+ const actionItems = actions ? actions.map((action, idx) => {
283
+ return /* @__PURE__ */ jsx(FloatButton, { ...action }, `fab-action-${idx}`);
284
+ }) : children;
285
+ const groupCtxValue = useMemo(
286
+ () => ({
287
+ open,
288
+ close,
289
+ direction,
290
+ insideGroup: true,
291
+ indexRef: { next: 0 }
292
+ }),
293
+ [open, close, direction]
294
+ );
295
+ const triggerIcon = open ? collapseIcon ?? /* @__PURE__ */ jsx(RotatedIcon, { node: expandIcon ?? buttonProps.icon }) : expandIcon ?? buttonProps.icon;
296
+ return /* @__PURE__ */ jsxs(FloatButtonGroupContext.Provider, { value: groupCtxValue, children: [
297
+ backdrop && open ? /* @__PURE__ */ jsx(Backdrop, { onPress: close, positioning: buttonProps.positioning ?? "fixed" }) : null,
298
+ /* @__PURE__ */ jsxs(
299
+ GroupLayout,
300
+ {
301
+ direction,
302
+ placement: buttonProps.placement ?? "bottom-right",
303
+ positioning: buttonProps.positioning ?? "fixed",
304
+ offset: buttonProps.offset ?? {},
305
+ dir: buttonProps.dir ?? "ltr",
306
+ children: [
307
+ open ? /* @__PURE__ */ jsx(View, { style: groupActionsLayoutStyle(direction), children: actionItems }) : null,
308
+ /* @__PURE__ */ jsx(
309
+ FloatButton,
310
+ {
311
+ ...buttonProps,
312
+ icon: triggerIcon,
313
+ ...trigger === "click" ? { onPress: toggle } : {},
314
+ ...trigger === "longPress" ? { onLongPress: toggle } : {},
315
+ "aria-haspopup": "menu",
316
+ "aria-expanded": open
317
+ }
318
+ )
319
+ ]
320
+ }
321
+ )
322
+ ] });
323
+ }, "FloatButtonGroup");
324
+ var FloatButtonBackToTop = /* @__PURE__ */ __name(({
325
+ scrollRef,
326
+ visibilityThreshold = 400,
327
+ variant = "surface",
328
+ ...rest
329
+ }) => {
330
+ const { t } = useTranslation();
331
+ const [visible, setVisible] = useState(false);
332
+ useEffect(() => {
333
+ if (Platform.OS !== "web" || typeof window === "undefined") {
334
+ return;
335
+ }
336
+ const onScroll = /* @__PURE__ */ __name(() => setVisible(window.scrollY > visibilityThreshold), "onScroll");
337
+ onScroll();
338
+ window.addEventListener("scroll", onScroll, { passive: true });
339
+ return () => window.removeEventListener("scroll", onScroll);
340
+ }, [visibilityThreshold]);
341
+ const onPress = useCallback(() => {
342
+ if (Platform.OS === "web" && typeof window !== "undefined") {
343
+ window.scrollTo({ top: 0, behavior: "smooth" });
344
+ return;
345
+ }
346
+ scrollRef?.current?.scrollTo?.({ y: 0, animated: true });
347
+ }, [scrollRef]);
348
+ return /* @__PURE__ */ jsx(
349
+ FloatButton,
350
+ {
351
+ ...rest,
352
+ variant,
353
+ visible,
354
+ icon: /* @__PURE__ */ jsx(defaultSemanticIcons.chevronUp, { size: 20 }),
355
+ accessibilityLabel: rest.accessibilityLabel ?? t("floatButton.backToTop", { defaultValue: "Back to top" }),
356
+ onPress
357
+ }
358
+ );
359
+ }, "FloatButtonBackToTop");
360
+ var FloatButton = Object.assign(FloatButtonRoot, {
361
+ Group: FloatButtonGroup,
362
+ BackToTop: FloatButtonBackToTop
363
+ });
364
+ var TooltipChip = /* @__PURE__ */ __name(({ text }) => {
365
+ const colors = useThemeColors();
366
+ return /* @__PURE__ */ jsx(
367
+ View,
368
+ {
369
+ accessibilityElementsHidden: true,
370
+ importantForAccessibility: "no-hide-descendants",
371
+ style: {
372
+ backgroundColor: colors.semantic.background.elevated,
373
+ borderRadius: px(colors.radius.sm) + 2,
374
+ borderWidth: 1,
375
+ borderColor: colors.semantic.border.default,
376
+ paddingHorizontal: px(colors.spacing["2"]),
377
+ paddingVertical: 4,
378
+ ...Platform.OS === "web" ? { boxShadow: "0 1px 2px rgba(0,0,0,0.06)" } : null
379
+ },
380
+ children: /* @__PURE__ */ jsx(
381
+ Text,
382
+ {
383
+ style: {
384
+ color: colors.semantic.text.default,
385
+ fontFamily: colors.fontFamily.body,
386
+ fontSize: 13,
387
+ lineHeight: 16
388
+ },
389
+ children: text
390
+ }
391
+ )
392
+ }
393
+ );
394
+ }, "TooltipChip");
395
+ var BadgeOverlay = /* @__PURE__ */ __name(({ badge, size }) => {
396
+ const offsetTop = size === "large" ? -6 : -4;
397
+ const offsetRight = size === "large" ? -6 : -4;
398
+ return /* @__PURE__ */ jsx(
399
+ View,
400
+ {
401
+ pointerEvents: "none",
402
+ style: {
403
+ position: "absolute",
404
+ top: offsetTop,
405
+ right: offsetRight,
406
+ zIndex: 1
407
+ },
408
+ children: badge.dot ? /* @__PURE__ */ jsx(Badge, { tone: badge.tone ?? "danger", appearance: "solid", children: " " }) : /* @__PURE__ */ jsx(Badge, { tone: badge.tone ?? "danger", appearance: "solid", children: String(badge.count ?? 0) })
409
+ }
410
+ );
411
+ }, "BadgeOverlay");
412
+ var SmallSpinner = /* @__PURE__ */ __name(({ color, size }) => {
413
+ if (Platform.OS === "web") {
414
+ return /* @__PURE__ */ jsx(
415
+ View,
416
+ {
417
+ style: {
418
+ width: size,
419
+ height: size,
420
+ borderRadius: size / 2,
421
+ borderWidth: 2,
422
+ borderColor: "transparent",
423
+ borderTopColor: color,
424
+ animationName: "fb-spin",
425
+ animationDuration: "700ms",
426
+ animationIterationCount: "infinite",
427
+ animationTimingFunction: "linear"
428
+ }
429
+ }
430
+ );
431
+ }
432
+ return /* @__PURE__ */ jsx(
433
+ View,
434
+ {
435
+ style: {
436
+ width: size,
437
+ height: size,
438
+ borderRadius: size / 2,
439
+ borderWidth: 2,
440
+ borderColor: color,
441
+ opacity: 0.6
442
+ }
443
+ }
444
+ );
445
+ }, "SmallSpinner");
446
+ var Backdrop = /* @__PURE__ */ __name(({ onPress, positioning }) => {
447
+ return /* @__PURE__ */ jsx(
448
+ Pressable,
449
+ {
450
+ onPress,
451
+ accessibilityLabel: "Close",
452
+ style: {
453
+ position: Platform.OS === "web" && positioning === "fixed" ? "fixed" : "absolute",
454
+ top: 0,
455
+ left: 0,
456
+ right: 0,
457
+ bottom: 0,
458
+ backgroundColor: "rgba(0, 0, 0, 0.32)",
459
+ zIndex: 49
460
+ }
461
+ }
462
+ );
463
+ }, "Backdrop");
464
+ var RotatedIcon = /* @__PURE__ */ __name(({ node, color }) => {
465
+ const tintedNode = color && isValidElement(node) ? cloneElement(node, { color }) : node;
466
+ return /* @__PURE__ */ jsx(
467
+ View,
468
+ {
469
+ style: {
470
+ transform: [{ rotate: "45deg" }],
471
+ // CSS `color` cascades to nested `currentColor` SVGs on web.
472
+ ...color ? { color } : null,
473
+ ...Platform.OS === "web" ? {
474
+ transitionProperty: "transform",
475
+ transitionDuration: "200ms",
476
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)"
477
+ } : null
478
+ },
479
+ children: tintedNode
480
+ }
481
+ );
482
+ }, "RotatedIcon");
483
+ var GroupLayout = /* @__PURE__ */ __name(({
484
+ direction,
485
+ placement,
486
+ positioning,
487
+ offset,
488
+ dir,
489
+ children
490
+ }) => {
491
+ const insets = useContext(SafeAreaInsetsContext) ?? { top: 0, bottom: 0};
492
+ const { width: viewportWidth } = useWindowDimensions();
493
+ const positionStyle = resolvePositionStyle({
494
+ placement,
495
+ positioning,
496
+ offset,
497
+ dir,
498
+ insets,
499
+ viewportWidth,
500
+ respectSafeArea: false
501
+ });
502
+ return /* @__PURE__ */ jsx(
503
+ View,
504
+ {
505
+ style: {
506
+ ...positionStyle,
507
+ flexDirection: direction === "left" || direction === "right" ? "row" : "column",
508
+ alignItems: direction === "left" || direction === "right" ? "center" : "flex-end",
509
+ justifyContent: direction === "up" ? "flex-end" : "flex-start"
510
+ },
511
+ children: direction === "up" || direction === "left" ? children : Array.isArray(children) ? [...children].reverse() : children
512
+ }
513
+ );
514
+ }, "GroupLayout");
515
+ function groupActionsLayoutStyle(direction) {
516
+ const isVertical = direction === "up" || direction === "down";
517
+ return {
518
+ flexDirection: isVertical ? "column" : "row",
519
+ alignItems: "flex-end",
520
+ gap: 12,
521
+ marginBottom: direction === "up" ? 12 : 0,
522
+ marginTop: direction === "down" ? 12 : 0,
523
+ marginRight: direction === "left" ? 12 : 0,
524
+ marginLeft: direction === "right" ? 12 : 0
525
+ };
526
+ }
527
+ __name(groupActionsLayoutStyle, "groupActionsLayoutStyle");
528
+ function resolveVariantStyle(variant, colors) {
529
+ switch (variant) {
530
+ case "primary":
531
+ return {
532
+ bg: colors.semantic.interactive.primary,
533
+ bgHover: colors.semantic.interactive.primaryHover,
534
+ bgPressed: colors.semantic.interactive.primaryPressed,
535
+ fg: colors.semantic.text.inverted
536
+ };
537
+ case "secondary":
538
+ return {
539
+ bg: colors.semantic.background.subtle,
540
+ bgHover: colors.semantic.background.elevated,
541
+ bgPressed: colors.semantic.background.subtle,
542
+ fg: colors.semantic.text.default,
543
+ borderColor: colors.semantic.border.default
544
+ };
545
+ case "tertiary":
546
+ return {
547
+ bg: "transparent",
548
+ bgHover: withAlpha(colors.semantic.interactive.primary, 0.08),
549
+ bgPressed: withAlpha(colors.semantic.interactive.primary, 0.12),
550
+ fg: colors.semantic.interactive.primary,
551
+ borderColor: colors.semantic.interactive.primary
552
+ };
553
+ case "surface":
554
+ return {
555
+ bg: colors.semantic.background.elevated,
556
+ bgHover: colors.semantic.background.subtle,
557
+ bgPressed: colors.semantic.background.subtle,
558
+ fg: colors.semantic.text.default,
559
+ borderColor: colors.semantic.border.default
560
+ };
561
+ }
562
+ }
563
+ __name(resolveVariantStyle, "resolveVariantStyle");
564
+ function resolveShadowStyle(variant, colors) {
565
+ if (Platform.OS !== "web") {
566
+ return {
567
+ resting: {
568
+ shadowColor: variant === "primary" ? colors.semantic.interactive.primary : "#000",
569
+ shadowOffset: { width: 0, height: 6 },
570
+ shadowOpacity: variant === "primary" ? 0.25 : 0.12,
571
+ shadowRadius: 16,
572
+ elevation: 6
573
+ },
574
+ hover: {},
575
+ pressed: {
576
+ shadowOffset: { width: 0, height: 2 },
577
+ shadowRadius: 6,
578
+ elevation: 2
579
+ }
580
+ };
581
+ }
582
+ const tint = variant === "primary" ? colors.semantic.interactive.primary : "#000";
583
+ return {
584
+ resting: {
585
+ ...{
586
+ boxShadow: `0 1px 2px rgba(0,0,0,0.06), 0 8px 24px -6px ${withAlpha(tint, variant === "primary" ? 0.32 : 0.08)}`
587
+ }
588
+ },
589
+ hover: {
590
+ ...{
591
+ boxShadow: `0 2px 4px rgba(0,0,0,0.08), 0 12px 28px -6px ${withAlpha(tint, variant === "primary" ? 0.4 : 0.12)}`
592
+ }
593
+ },
594
+ pressed: {
595
+ ...{ boxShadow: `0 1px 2px rgba(0,0,0,0.06)` }
596
+ }
597
+ };
598
+ }
599
+ __name(resolveShadowStyle, "resolveShadowStyle");
600
+ function resolvePositionStyle({
601
+ placement,
602
+ positioning = "fixed",
603
+ offset,
604
+ dir,
605
+ insets,
606
+ viewportWidth,
607
+ respectSafeArea
608
+ }) {
609
+ const defaultOffset = Platform.OS === "web" ? DEFAULT_OFFSET_WEB : DEFAULT_OFFSET_NATIVE;
610
+ const x = offset.x ?? defaultOffset;
611
+ const y = offset.y ?? defaultOffset;
612
+ const safeBottom = Platform.OS !== "web" && respectSafeArea ? insets.bottom : 0;
613
+ const safeTop = Platform.OS !== "web" && respectSafeArea ? insets.top : 0;
614
+ const flippedPlacement = dir === "rtl" ? placement === "bottom-right" ? "bottom-left" : placement === "bottom-left" ? "bottom-right" : placement === "top-right" ? "top-left" : "top-right" : placement;
615
+ const cssPosition = Platform.OS === "web" && positioning === "fixed" ? "fixed" : "absolute";
616
+ const base = {
617
+ position: cssPosition,
618
+ zIndex: 50
619
+ };
620
+ switch (flippedPlacement) {
621
+ case "bottom-right":
622
+ return { ...base, bottom: y + safeBottom, right: x };
623
+ case "bottom-left":
624
+ return { ...base, bottom: y + safeBottom, left: x };
625
+ case "top-right":
626
+ return { ...base, top: y + safeTop, right: x };
627
+ case "top-left":
628
+ return { ...base, top: y + safeTop, left: x };
629
+ }
630
+ return base;
631
+ }
632
+ __name(resolvePositionStyle, "resolvePositionStyle");
633
+ function tintIcon(icon, color) {
634
+ if (!isValidElement(icon)) {
635
+ return icon;
636
+ }
637
+ return cloneElement(icon, { color });
638
+ }
639
+ __name(tintIcon, "tintIcon");
640
+ function withAlpha(color, alpha) {
641
+ if (color.startsWith("#") && (color.length === 7 || color.length === 4)) {
642
+ const expanded = color.length === 4 ? `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}` : color;
643
+ const r = Number.parseInt(expanded.slice(1, 3), 16);
644
+ const g = Number.parseInt(expanded.slice(3, 5), 16);
645
+ const b = Number.parseInt(expanded.slice(5, 7), 16);
646
+ return `rgba(${r}, ${g}, ${b}, ${alpha})`;
647
+ }
648
+ return color;
649
+ }
650
+ __name(withAlpha, "withAlpha");
651
+
652
+ export { FloatButton };
653
+ //# sourceMappingURL=chunk-EWWQQ5DB.js.map
654
+ //# sourceMappingURL=chunk-EWWQQ5DB.js.map