blimpui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/dist/$/components/primitives/accordion.d.ts +9 -0
  2. package/dist/$/components/primitives/accordion.d.ts.map +1 -0
  3. package/dist/$/components/primitives/accordion.js +64 -0
  4. package/dist/$/components/primitives/alert-dialog.d.ts +31 -0
  5. package/dist/$/components/primitives/alert-dialog.d.ts.map +1 -0
  6. package/dist/$/components/primitives/alert-dialog.js +74 -0
  7. package/dist/$/components/primitives/alert.d.ts +13 -0
  8. package/dist/$/components/primitives/alert.d.ts.map +1 -0
  9. package/dist/$/components/primitives/alert.js +42 -0
  10. package/dist/$/components/primitives/aspect-ratio.d.ts +2 -0
  11. package/dist/$/components/primitives/aspect-ratio.d.ts.map +1 -0
  12. package/dist/$/components/primitives/aspect-ratio.js +1 -0
  13. package/dist/$/components/primitives/avatar.d.ts +6 -0
  14. package/dist/$/components/primitives/avatar.d.ts.map +1 -0
  15. package/dist/$/components/primitives/avatar.js +38 -0
  16. package/dist/$/components/primitives/badge.d.ts +15 -0
  17. package/dist/$/components/primitives/badge.d.ts.map +1 -0
  18. package/dist/$/components/primitives/badge.js +64 -0
  19. package/dist/$/components/primitives/button.d.ts +37 -0
  20. package/dist/$/components/primitives/button.d.ts.map +1 -0
  21. package/dist/$/components/primitives/button.js +100 -0
  22. package/dist/$/components/primitives/calendar/calendar-header.d.ts +13 -0
  23. package/dist/$/components/primitives/calendar/calendar-header.d.ts.map +1 -0
  24. package/dist/$/components/primitives/calendar/calendar-header.js +15 -0
  25. package/dist/$/components/primitives/calendar/calendar-month-grid.d.ts +14 -0
  26. package/dist/$/components/primitives/calendar/calendar-month-grid.d.ts.map +1 -0
  27. package/dist/$/components/primitives/calendar/calendar-month-grid.js +29 -0
  28. package/dist/$/components/primitives/calendar/calendar-weekdays-row.d.ts +8 -0
  29. package/dist/$/components/primitives/calendar/calendar-weekdays-row.d.ts.map +1 -0
  30. package/dist/$/components/primitives/calendar/calendar-weekdays-row.js +36 -0
  31. package/dist/$/components/primitives/calendar/constants.d.ts +3 -0
  32. package/dist/$/components/primitives/calendar/constants.d.ts.map +1 -0
  33. package/dist/$/components/primitives/calendar/constants.js +15 -0
  34. package/dist/$/components/primitives/calendar/date-utils.d.ts +14 -0
  35. package/dist/$/components/primitives/calendar/date-utils.d.ts.map +1 -0
  36. package/dist/$/components/primitives/calendar/date-utils.js +77 -0
  37. package/dist/$/components/primitives/calendar/month-year-overlay.d.ts +14 -0
  38. package/dist/$/components/primitives/calendar/month-year-overlay.d.ts.map +1 -0
  39. package/dist/$/components/primitives/calendar/month-year-overlay.js +11 -0
  40. package/dist/$/components/primitives/calendar/types.d.ts +24 -0
  41. package/dist/$/components/primitives/calendar/types.d.ts.map +1 -0
  42. package/dist/$/components/primitives/calendar/types.js +1 -0
  43. package/dist/$/components/primitives/calendar/use-calendar-shell.d.ts +35 -0
  44. package/dist/$/components/primitives/calendar/use-calendar-shell.d.ts.map +1 -0
  45. package/dist/$/components/primitives/calendar/use-calendar-shell.js +95 -0
  46. package/dist/$/components/primitives/calendar/use-controllable-state.d.ts +8 -0
  47. package/dist/$/components/primitives/calendar/use-controllable-state.d.ts.map +1 -0
  48. package/dist/$/components/primitives/calendar/use-controllable-state.js +13 -0
  49. package/dist/$/components/primitives/calendar.d.ts +5 -0
  50. package/dist/$/components/primitives/calendar.d.ts.map +1 -0
  51. package/dist/$/components/primitives/calendar.js +48 -0
  52. package/dist/$/components/primitives/card.d.ts +10 -0
  53. package/dist/$/components/primitives/card.d.ts.map +1 -0
  54. package/dist/$/components/primitives/card.js +51 -0
  55. package/dist/$/components/primitives/checkbox.d.ts +8 -0
  56. package/dist/$/components/primitives/checkbox.d.ts.map +1 -0
  57. package/dist/$/components/primitives/checkbox.js +37 -0
  58. package/dist/$/components/primitives/collapsible.d.ts +2 -0
  59. package/dist/$/components/primitives/collapsible.d.ts.map +1 -0
  60. package/dist/$/components/primitives/collapsible.js +1 -0
  61. package/dist/$/components/primitives/context-menu.d.ts +61 -0
  62. package/dist/$/components/primitives/context-menu.d.ts.map +1 -0
  63. package/dist/$/components/primitives/context-menu.js +101 -0
  64. package/dist/$/components/primitives/dialog.d.ts +35 -0
  65. package/dist/$/components/primitives/dialog.d.ts.map +1 -0
  66. package/dist/$/components/primitives/dialog.js +68 -0
  67. package/dist/$/components/primitives/dropdown-menu.d.ts +61 -0
  68. package/dist/$/components/primitives/dropdown-menu.d.ts.map +1 -0
  69. package/dist/$/components/primitives/dropdown-menu.js +102 -0
  70. package/dist/$/components/primitives/hover-card.d.ts +18 -0
  71. package/dist/$/components/primitives/hover-card.d.ts.map +1 -0
  72. package/dist/$/components/primitives/hover-card.js +41 -0
  73. package/dist/$/components/primitives/icon.d.ts +27 -0
  74. package/dist/$/components/primitives/icon.d.ts.map +1 -0
  75. package/dist/$/components/primitives/icon.js +64 -0
  76. package/dist/$/components/primitives/input.d.ts +5 -0
  77. package/dist/$/components/primitives/input.d.ts.map +1 -0
  78. package/dist/$/components/primitives/input.js +38 -0
  79. package/dist/$/components/primitives/label.d.ts +4 -0
  80. package/dist/$/components/primitives/label.d.ts.map +1 -0
  81. package/dist/$/components/primitives/label.js +33 -0
  82. package/dist/$/components/primitives/list.d.ts +9 -0
  83. package/dist/$/components/primitives/list.d.ts.map +1 -0
  84. package/dist/$/components/primitives/list.js +155 -0
  85. package/dist/$/components/primitives/menubar.d.ts +57 -0
  86. package/dist/$/components/primitives/menubar.d.ts.map +1 -0
  87. package/dist/$/components/primitives/menubar.js +115 -0
  88. package/dist/$/components/primitives/multi-column-wheelpicker/index.d.ts +2 -0
  89. package/dist/$/components/primitives/multi-column-wheelpicker/index.d.ts.map +1 -0
  90. package/dist/$/components/primitives/multi-column-wheelpicker/index.js +1 -0
  91. package/dist/$/components/primitives/multi-column-wheelpicker/multi-column-wheelpicker.d.ts +35 -0
  92. package/dist/$/components/primitives/multi-column-wheelpicker/multi-column-wheelpicker.d.ts.map +1 -0
  93. package/dist/$/components/primitives/multi-column-wheelpicker/multi-column-wheelpicker.js +62 -0
  94. package/dist/$/components/primitives/native-only-animated-view.d.ts +13 -0
  95. package/dist/$/components/primitives/native-only-animated-view.d.ts.map +1 -0
  96. package/dist/$/components/primitives/native-only-animated-view.js +32 -0
  97. package/dist/$/components/primitives/popover.d.ts +18 -0
  98. package/dist/$/components/primitives/popover.d.ts.map +1 -0
  99. package/dist/$/components/primitives/popover.js +41 -0
  100. package/dist/$/components/primitives/pressable.d.ts +14 -0
  101. package/dist/$/components/primitives/pressable.d.ts.map +1 -0
  102. package/dist/$/components/primitives/pressable.js +39 -0
  103. package/dist/$/components/primitives/progress.d.ts +6 -0
  104. package/dist/$/components/primitives/progress.d.ts.map +1 -0
  105. package/dist/$/components/primitives/progress.js +60 -0
  106. package/dist/$/components/primitives/radio-group.d.ts +5 -0
  107. package/dist/$/components/primitives/radio-group.d.ts.map +1 -0
  108. package/dist/$/components/primitives/radio-group.js +37 -0
  109. package/dist/$/components/primitives/range-calendar/index.d.ts +2 -0
  110. package/dist/$/components/primitives/range-calendar/index.d.ts.map +1 -0
  111. package/dist/$/components/primitives/range-calendar/index.js +1 -0
  112. package/dist/$/components/primitives/range-calendar/range-calendar.d.ts +25 -0
  113. package/dist/$/components/primitives/range-calendar/range-calendar.d.ts.map +1 -0
  114. package/dist/$/components/primitives/range-calendar/range-calendar.js +170 -0
  115. package/dist/$/components/primitives/select.d.ts +59 -0
  116. package/dist/$/components/primitives/select.d.ts.map +1 -0
  117. package/dist/$/components/primitives/select.js +119 -0
  118. package/dist/$/components/primitives/separator.d.ts +4 -0
  119. package/dist/$/components/primitives/separator.d.ts.map +1 -0
  120. package/dist/$/components/primitives/separator.js +30 -0
  121. package/dist/$/components/primitives/skeleton.d.ts +5 -0
  122. package/dist/$/components/primitives/skeleton.d.ts.map +1 -0
  123. package/dist/$/components/primitives/skeleton.js +39 -0
  124. package/dist/$/components/primitives/switch.d.ts +4 -0
  125. package/dist/$/components/primitives/switch.d.ts.map +1 -0
  126. package/dist/$/components/primitives/switch.js +37 -0
  127. package/dist/$/components/primitives/tabs.d.ts +7 -0
  128. package/dist/$/components/primitives/tabs.d.ts.map +1 -0
  129. package/dist/$/components/primitives/tabs.js +48 -0
  130. package/dist/$/components/primitives/text.d.ts +13 -0
  131. package/dist/$/components/primitives/text.d.ts.map +1 -0
  132. package/dist/$/components/primitives/text.js +73 -0
  133. package/dist/$/components/primitives/textarea.d.ts +5 -0
  134. package/dist/$/components/primitives/textarea.d.ts.map +1 -0
  135. package/dist/$/components/primitives/textarea.js +33 -0
  136. package/dist/$/components/primitives/toast/index.d.ts +2 -0
  137. package/dist/$/components/primitives/toast/index.d.ts.map +1 -0
  138. package/dist/$/components/primitives/toast/index.js +1 -0
  139. package/dist/$/components/primitives/toast/index.web.d.ts +2 -0
  140. package/dist/$/components/primitives/toast/index.web.d.ts.map +1 -0
  141. package/dist/$/components/primitives/toast/index.web.js +1 -0
  142. package/dist/$/components/primitives/toggle-group.d.ts +13 -0
  143. package/dist/$/components/primitives/toggle-group.d.ts.map +1 -0
  144. package/dist/$/components/primitives/toggle-group.js +65 -0
  145. package/dist/$/components/primitives/toggle.d.ts +12 -0
  146. package/dist/$/components/primitives/toggle.d.ts.map +1 -0
  147. package/dist/$/components/primitives/toggle.js +63 -0
  148. package/dist/$/components/primitives/tooltip.d.ts +21 -0
  149. package/dist/$/components/primitives/tooltip.d.ts.map +1 -0
  150. package/dist/$/components/primitives/tooltip.js +47 -0
  151. package/dist/$/components/primitives/view.d.ts +15 -0
  152. package/dist/$/components/primitives/view.d.ts.map +1 -0
  153. package/dist/$/components/primitives/view.js +37 -0
  154. package/dist/$/components/primitives/wheelpicker/index.d.ts +4 -0
  155. package/dist/$/components/primitives/wheelpicker/index.d.ts.map +1 -0
  156. package/dist/$/components/primitives/wheelpicker/index.js +3 -0
  157. package/dist/$/components/primitives/wheelpicker/types.d.ts +7 -0
  158. package/dist/$/components/primitives/wheelpicker/types.d.ts.map +1 -0
  159. package/dist/$/components/primitives/wheelpicker/types.js +1 -0
  160. package/dist/$/components/primitives/wheelpicker/use-wheel-picker-value.d.ts +16 -0
  161. package/dist/$/components/primitives/wheelpicker/use-wheel-picker-value.d.ts.map +1 -0
  162. package/dist/$/components/primitives/wheelpicker/use-wheel-picker-value.js +43 -0
  163. package/dist/$/components/primitives/wheelpicker/wheel-picker-item.d.ts +11 -0
  164. package/dist/$/components/primitives/wheelpicker/wheel-picker-item.d.ts.map +1 -0
  165. package/dist/$/components/primitives/wheelpicker/wheel-picker-item.js +8 -0
  166. package/dist/$/components/primitives/wheelpicker/wheel-picker-list.d.ts +18 -0
  167. package/dist/$/components/primitives/wheelpicker/wheel-picker-list.d.ts.map +1 -0
  168. package/dist/$/components/primitives/wheelpicker/wheel-picker-list.js +253 -0
  169. package/dist/$/components/primitives/wheelpicker/wheelpicker.d.ts +17 -0
  170. package/dist/$/components/primitives/wheelpicker/wheelpicker.d.ts.map +1 -0
  171. package/dist/$/components/primitives/wheelpicker/wheelpicker.js +15 -0
  172. package/dist/$/components/ui/accordion.d.ts +17 -0
  173. package/dist/$/components/ui/accordion.d.ts.map +1 -0
  174. package/dist/$/components/ui/accordion.js +39 -0
  175. package/dist/$/components/ui/alert-dialog.d.ts +22 -0
  176. package/dist/$/components/ui/alert-dialog.d.ts.map +1 -0
  177. package/dist/$/components/ui/alert-dialog.js +92 -0
  178. package/dist/$/components/ui/alert.d.ts +14 -0
  179. package/dist/$/components/ui/alert.d.ts.map +1 -0
  180. package/dist/$/components/ui/alert.js +31 -0
  181. package/dist/$/components/ui/aspect-ratio.d.ts +2 -0
  182. package/dist/$/components/ui/aspect-ratio.d.ts.map +1 -0
  183. package/dist/$/components/ui/aspect-ratio.js +1 -0
  184. package/dist/$/components/ui/avatar.d.ts +14 -0
  185. package/dist/$/components/ui/avatar.d.ts.map +1 -0
  186. package/dist/$/components/ui/avatar.js +33 -0
  187. package/dist/$/components/ui/badge.d.ts +2 -0
  188. package/dist/$/components/ui/badge.d.ts.map +1 -0
  189. package/dist/$/components/ui/badge.js +1 -0
  190. package/dist/$/components/ui/button.d.ts +2 -0
  191. package/dist/$/components/ui/button.d.ts.map +1 -0
  192. package/dist/$/components/ui/button.js +1 -0
  193. package/dist/$/components/ui/calendar.d.ts +2 -0
  194. package/dist/$/components/ui/calendar.d.ts.map +1 -0
  195. package/dist/$/components/ui/calendar.js +1 -0
  196. package/dist/$/components/ui/card.d.ts +17 -0
  197. package/dist/$/components/ui/card.d.ts.map +1 -0
  198. package/dist/$/components/ui/card.js +33 -0
  199. package/dist/$/components/ui/checkbox.d.ts +2 -0
  200. package/dist/$/components/ui/checkbox.d.ts.map +1 -0
  201. package/dist/$/components/ui/checkbox.js +1 -0
  202. package/dist/$/components/ui/collapsible.d.ts +12 -0
  203. package/dist/$/components/ui/collapsible.d.ts.map +1 -0
  204. package/dist/$/components/ui/collapsible.js +33 -0
  205. package/dist/$/components/ui/context-menu.d.ts +59 -0
  206. package/dist/$/components/ui/context-menu.d.ts.map +1 -0
  207. package/dist/$/components/ui/context-menu.js +66 -0
  208. package/dist/$/components/ui/date-range-picker.d.ts +26 -0
  209. package/dist/$/components/ui/date-range-picker.d.ts.map +1 -0
  210. package/dist/$/components/ui/date-range-picker.js +89 -0
  211. package/dist/$/components/ui/datepicker.d.ts +26 -0
  212. package/dist/$/components/ui/datepicker.d.ts.map +1 -0
  213. package/dist/$/components/ui/datepicker.js +81 -0
  214. package/dist/$/components/ui/dialog.d.ts +18 -0
  215. package/dist/$/components/ui/dialog.d.ts.map +1 -0
  216. package/dist/$/components/ui/dialog.js +33 -0
  217. package/dist/$/components/ui/dropdown-menu.d.ts +59 -0
  218. package/dist/$/components/ui/dropdown-menu.d.ts.map +1 -0
  219. package/dist/$/components/ui/dropdown-menu.js +79 -0
  220. package/dist/$/components/ui/form-field/form-field-label.d.ts +15 -0
  221. package/dist/$/components/ui/form-field/form-field-label.d.ts.map +1 -0
  222. package/dist/$/components/ui/form-field/form-field-label.js +15 -0
  223. package/dist/$/components/ui/form-field/form-field-message.d.ts +11 -0
  224. package/dist/$/components/ui/form-field/form-field-message.d.ts.map +1 -0
  225. package/dist/$/components/ui/form-field/form-field-message.js +10 -0
  226. package/dist/$/components/ui/form-field/index.d.ts +48 -0
  227. package/dist/$/components/ui/form-field/index.d.ts.map +1 -0
  228. package/dist/$/components/ui/form-field/index.js +80 -0
  229. package/dist/$/components/ui/form-field/use-form-field-animation.d.ts +8 -0
  230. package/dist/$/components/ui/form-field/use-form-field-animation.d.ts.map +1 -0
  231. package/dist/$/components/ui/form-field/use-form-field-animation.js +23 -0
  232. package/dist/$/components/ui/form-field/use-form-field.d.ts +28 -0
  233. package/dist/$/components/ui/form-field/use-form-field.d.ts.map +1 -0
  234. package/dist/$/components/ui/form-field/use-form-field.js +55 -0
  235. package/dist/$/components/ui/hover-card.d.ts +12 -0
  236. package/dist/$/components/ui/hover-card.d.ts.map +1 -0
  237. package/dist/$/components/ui/hover-card.js +33 -0
  238. package/dist/$/components/ui/icon.d.ts +2 -0
  239. package/dist/$/components/ui/icon.d.ts.map +1 -0
  240. package/dist/$/components/ui/icon.js +1 -0
  241. package/dist/$/components/ui/input.d.ts +30 -0
  242. package/dist/$/components/ui/input.d.ts.map +1 -0
  243. package/dist/$/components/ui/input.js +60 -0
  244. package/dist/$/components/ui/label.d.ts +2 -0
  245. package/dist/$/components/ui/label.d.ts.map +1 -0
  246. package/dist/$/components/ui/label.js +1 -0
  247. package/dist/$/components/ui/list.d.ts +2 -0
  248. package/dist/$/components/ui/list.d.ts.map +1 -0
  249. package/dist/$/components/ui/list.js +1 -0
  250. package/dist/$/components/ui/menubar.d.ts +63 -0
  251. package/dist/$/components/ui/menubar.d.ts.map +1 -0
  252. package/dist/$/components/ui/menubar.js +66 -0
  253. package/dist/$/components/ui/multi-column-wheelpicker.d.ts +2 -0
  254. package/dist/$/components/ui/multi-column-wheelpicker.d.ts.map +1 -0
  255. package/dist/$/components/ui/multi-column-wheelpicker.js +1 -0
  256. package/dist/$/components/ui/native-only-animated-view.d.ts +2 -0
  257. package/dist/$/components/ui/native-only-animated-view.d.ts.map +1 -0
  258. package/dist/$/components/ui/native-only-animated-view.js +1 -0
  259. package/dist/$/components/ui/picker.d.ts +25 -0
  260. package/dist/$/components/ui/picker.d.ts.map +1 -0
  261. package/dist/$/components/ui/picker.js +80 -0
  262. package/dist/$/components/ui/popover.d.ts +34 -0
  263. package/dist/$/components/ui/popover.d.ts.map +1 -0
  264. package/dist/$/components/ui/popover.js +63 -0
  265. package/dist/$/components/ui/pressable.d.ts +2 -0
  266. package/dist/$/components/ui/pressable.d.ts.map +1 -0
  267. package/dist/$/components/ui/pressable.js +1 -0
  268. package/dist/$/components/ui/progress.d.ts +2 -0
  269. package/dist/$/components/ui/progress.d.ts.map +1 -0
  270. package/dist/$/components/ui/progress.js +1 -0
  271. package/dist/$/components/ui/radio-group.d.ts +15 -0
  272. package/dist/$/components/ui/radio-group.d.ts.map +1 -0
  273. package/dist/$/components/ui/radio-group.js +41 -0
  274. package/dist/$/components/ui/range-calendar.d.ts +2 -0
  275. package/dist/$/components/ui/range-calendar.d.ts.map +1 -0
  276. package/dist/$/components/ui/range-calendar.js +1 -0
  277. package/dist/$/components/ui/select.d.ts +75 -0
  278. package/dist/$/components/ui/select.d.ts.map +1 -0
  279. package/dist/$/components/ui/select.js +105 -0
  280. package/dist/$/components/ui/separator.d.ts +2 -0
  281. package/dist/$/components/ui/separator.d.ts.map +1 -0
  282. package/dist/$/components/ui/separator.js +1 -0
  283. package/dist/$/components/ui/skeleton.d.ts +2 -0
  284. package/dist/$/components/ui/skeleton.d.ts.map +1 -0
  285. package/dist/$/components/ui/skeleton.js +1 -0
  286. package/dist/$/components/ui/switch.d.ts +2 -0
  287. package/dist/$/components/ui/switch.d.ts.map +1 -0
  288. package/dist/$/components/ui/switch.js +1 -0
  289. package/dist/$/components/ui/tabs.d.ts +17 -0
  290. package/dist/$/components/ui/tabs.d.ts.map +1 -0
  291. package/dist/$/components/ui/tabs.js +48 -0
  292. package/dist/$/components/ui/text.d.ts +2 -0
  293. package/dist/$/components/ui/text.d.ts.map +1 -0
  294. package/dist/$/components/ui/text.js +1 -0
  295. package/dist/$/components/ui/textarea.d.ts +30 -0
  296. package/dist/$/components/ui/textarea.d.ts.map +1 -0
  297. package/dist/$/components/ui/textarea.js +61 -0
  298. package/dist/$/components/ui/timepicker.d.ts +26 -0
  299. package/dist/$/components/ui/timepicker.d.ts.map +1 -0
  300. package/dist/$/components/ui/timepicker.js +90 -0
  301. package/dist/$/components/ui/timewheelpicker.d.ts +22 -0
  302. package/dist/$/components/ui/timewheelpicker.d.ts.map +1 -0
  303. package/dist/$/components/ui/timewheelpicker.js +112 -0
  304. package/dist/$/components/ui/toggle-group.d.ts +14 -0
  305. package/dist/$/components/ui/toggle-group.d.ts.map +1 -0
  306. package/dist/$/components/ui/toggle-group.js +44 -0
  307. package/dist/$/components/ui/toggle.d.ts +2 -0
  308. package/dist/$/components/ui/toggle.d.ts.map +1 -0
  309. package/dist/$/components/ui/toggle.js +1 -0
  310. package/dist/$/components/ui/tooltip.d.ts +12 -0
  311. package/dist/$/components/ui/tooltip.d.ts.map +1 -0
  312. package/dist/$/components/ui/tooltip.js +33 -0
  313. package/dist/$/components/ui/view.d.ts +2 -0
  314. package/dist/$/components/ui/view.d.ts.map +1 -0
  315. package/dist/$/components/ui/view.js +1 -0
  316. package/dist/$/components/ui/wheelpicker.d.ts +2 -0
  317. package/dist/$/components/ui/wheelpicker.d.ts.map +1 -0
  318. package/dist/$/components/ui/wheelpicker.js +1 -0
  319. package/dist/$/lib/hooks/useExtractTextClasses.d.ts +2 -0
  320. package/dist/$/lib/hooks/useExtractTextClasses.d.ts.map +1 -0
  321. package/dist/$/lib/hooks/useExtractTextClasses.js +62 -0
  322. package/dist/$/lib/utils/renderNode.d.ts +3 -0
  323. package/dist/$/lib/utils/renderNode.d.ts.map +1 -0
  324. package/dist/$/lib/utils/renderNode.js +22 -0
  325. package/dist/$/lib/utils.d.ts +5 -0
  326. package/dist/$/lib/utils.d.ts.map +1 -0
  327. package/dist/$/lib/utils.js +32 -0
  328. package/dist/index.d.ts +44 -0
  329. package/dist/index.d.ts.map +1 -0
  330. package/dist/index.js +43 -0
  331. package/package.json +69 -0
@@ -0,0 +1,63 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import { Icon } from "../../../$/components/primitives/icon";
25
+ import { TextClassContext } from "../../../$/components/primitives/text";
26
+ import { cn } from "../../../$/lib/utils";
27
+ import * as TogglePrimitive from "@rn-primitives/toggle";
28
+ import { cva } from "class-variance-authority";
29
+ import * as React from "react";
30
+ import { Platform } from "react-native";
31
+ var toggleVariants = cva(cn("active:bg-muted group flex flex-row items-center justify-center gap-2 rounded-md", Platform.select({
32
+ web: "hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex cursor-default whitespace-nowrap outline-none transition-[color,box-shadow] focus-visible:ring-[3px] disabled:pointer-events-none [&_svg]:pointer-events-none",
33
+ })), {
34
+ variants: {
35
+ variant: {
36
+ default: "bg-transparent",
37
+ outline: cn("border-input active:bg-accent border bg-transparent shadow-sm shadow-black/5", Platform.select({
38
+ web: "hover:bg-accent hover:text-accent-foreground",
39
+ })),
40
+ },
41
+ size: {
42
+ default: "h-10 min-w-10 px-2.5 sm:h-9 sm:min-w-9 sm:px-2",
43
+ sm: "h-9 min-w-9 px-2 sm:h-8 sm:min-w-8 sm:px-1.5",
44
+ lg: "h-11 min-w-11 px-3 sm:h-10 sm:min-w-10 sm:px-2.5",
45
+ },
46
+ },
47
+ defaultVariants: {
48
+ variant: "default",
49
+ size: "default",
50
+ },
51
+ });
52
+ function Toggle(_a) {
53
+ var className = _a.className, variant = _a.variant, size = _a.size, props = __rest(_a, ["className", "variant", "size"]);
54
+ return (_jsx(TextClassContext.Provider, { value: cn("text-sm text-foreground font-medium", props.pressed
55
+ ? "text-accent-foreground"
56
+ : Platform.select({ web: "group-hover:text-muted-foreground" }), className), children: _jsx(TogglePrimitive.Root, __assign({ className: cn(toggleVariants({ variant: variant, size: size }), props.disabled && "opacity-50", props.pressed && "bg-accent", className) }, props)) }));
57
+ }
58
+ function ToggleIcon(_a) {
59
+ var className = _a.className, props = __rest(_a, ["className"]);
60
+ var textClass = React.useContext(TextClassContext);
61
+ return (_jsx(Icon, __assign({ className: cn("size-4 shrink-0", textClass, className) }, props)));
62
+ }
63
+ export { Toggle, ToggleIcon, toggleVariants };
@@ -0,0 +1,21 @@
1
+ import * as TooltipPrimitive from "@rn-primitives/tooltip";
2
+ import * as React from "react";
3
+ declare const Tooltip: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
4
+ asChild?: boolean;
5
+ } & {
6
+ onOpenChange?: (open: boolean) => void;
7
+ delayDuration?: number;
8
+ skipDelayDuration?: number;
9
+ disableHoverableContent?: boolean;
10
+ } & React.RefAttributes<import("react-native").View>>;
11
+ declare const TooltipTrigger: React.ForwardRefExoticComponent<Omit<import("react-native").PressableProps & React.RefAttributes<import("react-native").View>, "ref"> & {
12
+ asChild?: boolean;
13
+ } & {
14
+ onKeyDown?: (ev: React.KeyboardEvent) => void;
15
+ onKeyUp?: (ev: React.KeyboardEvent) => void;
16
+ } & React.RefAttributes<import("@rn-primitives/tooltip").TriggerRef>>;
17
+ declare function TooltipContent({ className, sideOffset, portalHost, side, ...props }: TooltipPrimitive.ContentProps & React.RefAttributes<TooltipPrimitive.ContentRef> & {
18
+ portalHost?: string;
19
+ }): import("react/jsx-runtime").JSX.Element;
20
+ export { Tooltip, TooltipContent, TooltipTrigger };
21
+ //# sourceMappingURL=tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../$/components/primitives/tooltip.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,QAAA,MAAM,OAAO;;;;;;;qDAAwB,CAAC;AAEtC,QAAA,MAAM,cAAc;;;;;qEAA2B,CAAC;AAKhD,iBAAS,cAAc,CAAC,EACvB,SAAS,EACT,UAAc,EACd,UAAU,EACV,IAAY,EACZ,GAAG,KAAK,EACR,EAAE,gBAAgB,CAAC,YAAY,GAC/B,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,2CA4CD;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,47 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import { NativeOnlyAnimatedView } from "../../../$/components/primitives/native-only-animated-view";
25
+ import { TextClassContext } from "../../../$/components/primitives/text";
26
+ import { cn } from "../../../$/lib/utils";
27
+ import * as TooltipPrimitive from "@rn-primitives/tooltip";
28
+ import * as React from "react";
29
+ import { Platform, StyleSheet } from "react-native";
30
+ import { FadeInDown, FadeInUp, FadeOut } from "react-native-reanimated";
31
+ import { FullWindowOverlay as RNFullWindowOverlay } from "react-native-screens";
32
+ var Tooltip = TooltipPrimitive.Root;
33
+ var TooltipTrigger = TooltipPrimitive.Trigger;
34
+ var FullWindowOverlay = Platform.OS === "ios" ? RNFullWindowOverlay : React.Fragment;
35
+ function TooltipContent(_a) {
36
+ var className = _a.className, _b = _a.sideOffset, sideOffset = _b === void 0 ? 4 : _b, portalHost = _a.portalHost, _c = _a.side, side = _c === void 0 ? "top" : _c, props = __rest(_a, ["className", "sideOffset", "portalHost", "side"]);
37
+ return (_jsx(TooltipPrimitive.Portal, { hostName: portalHost, children: _jsx(FullWindowOverlay, { children: _jsx(TooltipPrimitive.Overlay, { style: Platform.select({ native: StyleSheet.absoluteFill }), children: _jsx(NativeOnlyAnimatedView, { entering: side === "top"
38
+ ? FadeInDown.withInitialValues({
39
+ transform: [{ translateY: 3 }],
40
+ }).duration(150)
41
+ : FadeInUp.withInitialValues({
42
+ transform: [{ translateY: -5 }],
43
+ }), exiting: FadeOut, children: _jsx(TextClassContext.Provider, { value: "text-xs text-primary-foreground", children: _jsx(TooltipPrimitive.Content, __assign({ sideOffset: sideOffset, className: cn("bg-primary z-50 rounded-md px-3 py-2 sm:py-1.5", Platform.select({
44
+ web: cn("animate-in fade-in-0 zoom-in-95 origin-(--radix-tooltip-content-transform-origin) w-fit text-balance", side === "bottom" && "slide-in-from-top-2", side === "left" && "slide-in-from-right-2", side === "right" && "slide-in-from-left-2", side === "top" && "slide-in-from-bottom-2"),
45
+ }), className), side: side }, props)) }) }) }) }) }));
46
+ }
47
+ export { Tooltip, TooltipContent, TooltipTrigger };
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import { View as RNView } from "react-native";
3
+ export type ViewProps = React.ComponentPropsWithoutRef<typeof RNView> & {
4
+ className?: string;
5
+ asChild?: boolean;
6
+ children?: React.ReactNode;
7
+ };
8
+ export type View = React.ComponentRef<typeof RNView>;
9
+ declare const View: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
10
+ className?: string;
11
+ asChild?: boolean;
12
+ children?: React.ReactNode;
13
+ } & React.RefAttributes<RNView>>;
14
+ export { View };
15
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../$/components/primitives/view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAM9C,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,MAAM,CAAC,GAAG;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AACF,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC;AAWrD,QAAA,MAAM,IAAI;gBAfG,MAAM;cACR,OAAO;eACN,KAAK,CAAC,SAAS;gCAwB1B,CAAC;AAGF,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -0,0 +1,37 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import * as React from "react";
25
+ import { View as RNView } from "react-native";
26
+ import { TextClassContext } from "./text";
27
+ import { renderNode } from "../../lib/utils/renderNode";
28
+ import { useExtractTextClasses } from "../../lib/hooks/useExtractTextClasses";
29
+ import { cn } from "../../../$/lib/utils";
30
+ var BaseView = RNView;
31
+ var View = React.forwardRef(function (_a, ref) {
32
+ var className = _a.className, children = _a.children, rest = __rest(_a, ["className", "children"]);
33
+ var parent = useExtractTextClasses(className);
34
+ return (_jsx(TextClassContext.Provider, { value: parent, children: _jsx(BaseView, __assign({ ref: ref, className: cn(className) }, rest, { children: renderNode(children) })) }));
35
+ });
36
+ View.displayName = "View";
37
+ export { View };
@@ -0,0 +1,4 @@
1
+ export * from "./wheelpicker";
2
+ export * from "./types";
3
+ export * from "./use-wheel-picker-value";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/wheelpicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./wheelpicker";
2
+ export * from "./types";
3
+ export * from "./use-wheel-picker-value";
@@ -0,0 +1,7 @@
1
+ type WheelPickerItem<TValue> = {
2
+ label: string;
3
+ value: TValue;
4
+ disabled?: boolean;
5
+ };
6
+ export type { WheelPickerItem };
7
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/wheelpicker/types.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,CAAC,MAAM,IAAI;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { WheelPickerItem } from "./types";
2
+ type UseWheelPickerValueOptions<TValue> = {
3
+ items: Array<WheelPickerItem<TValue>>;
4
+ value?: TValue;
5
+ defaultValue?: TValue;
6
+ onValueChange?: (value: TValue, index: number) => void;
7
+ };
8
+ declare function clampIndex(index: number, length: number): number;
9
+ declare function valueIndexOf<TValue>(items: Array<WheelPickerItem<TValue>>, value: TValue): number;
10
+ declare function useWheelPickerValue<TValue>({ items, value, defaultValue, onValueChange, }: UseWheelPickerValueOptions<TValue>): {
11
+ selectedIndex: number;
12
+ handleIndexChange: (nextIndex: number, userInitiated: boolean) => void;
13
+ };
14
+ export { clampIndex, useWheelPickerValue, valueIndexOf };
15
+ export type { UseWheelPickerValueOptions };
16
+ //# sourceMappingURL=use-wheel-picker-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-wheel-picker-value.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/wheelpicker/use-wheel-picker-value.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,KAAK,0BAA0B,CAAC,MAAM,IAAI;IACzC,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAGhD;AAED,iBAAS,YAAY,CAAC,MAAM,EAC3B,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EACrC,KAAK,EAAE,MAAM,UAGb;AAED,iBAAS,mBAAmB,CAAC,MAAM,EAAE,EACpC,KAAK,EACL,KAAK,EACL,YAAY,EACZ,aAAa,GACb,EAAE,0BAA0B,CAAC,MAAM,CAAC;;mCAqBvB,MAAM,iBAAiB,OAAO;EAgB3C;AAED,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC;AACzD,YAAY,EAAE,0BAA0B,EAAE,CAAC"}
@@ -0,0 +1,43 @@
1
+ import * as React from "react";
2
+ function clampIndex(index, length) {
3
+ if (length <= 0)
4
+ return 0;
5
+ return Math.max(0, Math.min(length - 1, index));
6
+ }
7
+ function valueIndexOf(items, value) {
8
+ return items.findIndex(function (i) { return Object.is(i.value, value); });
9
+ }
10
+ function useWheelPickerValue(_a) {
11
+ var items = _a.items, value = _a.value, defaultValue = _a.defaultValue, onValueChange = _a.onValueChange;
12
+ var lastEmittedIndexRef = React.useRef(null);
13
+ var isControlled = value !== undefined;
14
+ var initialIndex = React.useMemo(function () {
15
+ if (isControlled) {
16
+ return clampIndex(valueIndexOf(items, value), items.length);
17
+ }
18
+ if (defaultValue !== undefined) {
19
+ return clampIndex(valueIndexOf(items, defaultValue), items.length);
20
+ }
21
+ return 0;
22
+ }, [defaultValue, isControlled, items, value]);
23
+ var _b = React.useState(initialIndex), uncontrolledIndex = _b[0], setUncontrolledIndex = _b[1];
24
+ var selectedIndex = isControlled
25
+ ? clampIndex(valueIndexOf(items, value), items.length)
26
+ : clampIndex(uncontrolledIndex, items.length);
27
+ var handleIndexChange = React.useCallback(function (nextIndex, userInitiated) {
28
+ var clamped = clampIndex(nextIndex, items.length);
29
+ if (lastEmittedIndexRef.current === clamped)
30
+ return;
31
+ if (!isControlled)
32
+ setUncontrolledIndex(clamped);
33
+ lastEmittedIndexRef.current = clamped;
34
+ var next = items[clamped];
35
+ if (next && onValueChange)
36
+ onValueChange(next.value, clamped);
37
+ }, [isControlled, items, onValueChange]);
38
+ return {
39
+ selectedIndex: selectedIndex,
40
+ handleIndexChange: handleIndexChange,
41
+ };
42
+ }
43
+ export { clampIndex, useWheelPickerValue, valueIndexOf };
@@ -0,0 +1,11 @@
1
+ import type { WheelPickerItem } from "./types";
2
+ type WheelPickerItemData<TValue> = WheelPickerItem<TValue>;
3
+ type WheelPickerItemProps<TValue> = {
4
+ item: WheelPickerItemData<TValue>;
5
+ index: number;
6
+ itemHeight: number;
7
+ onPress: (index: number) => void;
8
+ };
9
+ export declare function WheelPickerItem<TValue>({ item, index, itemHeight, onPress, }: WheelPickerItemProps<TValue>): import("react/jsx-runtime").JSX.Element;
10
+ export type { WheelPickerItemData, WheelPickerItemProps };
11
+ //# sourceMappingURL=wheel-picker-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wheel-picker-item.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/wheelpicker/wheel-picker-item.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,KAAK,mBAAmB,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AAE3D,KAAK,oBAAoB,CAAC,MAAM,IAAI;IACnC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,wBAAgB,eAAe,CAAC,MAAM,EAAE,EACvC,IAAI,EACJ,KAAK,EACL,UAAU,EACV,OAAO,GACP,EAAE,oBAAoB,CAAC,MAAM,CAAC,2CAmB9B;AAED,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Pressable } from "react-native";
3
+ import { Text } from "../../../../$/components/primitives/text";
4
+ import { cn } from "../../../../$/lib/utils";
5
+ export function WheelPickerItem(_a) {
6
+ var item = _a.item, index = _a.index, itemHeight = _a.itemHeight, onPress = _a.onPress;
7
+ return (_jsx(Pressable, { disabled: item.disabled, className: cn("flex-row items-center justify-center ", item.disabled && "opacity-50"), style: { height: itemHeight }, onPress: function () { return onPress(index); }, children: _jsx(Text, { className: cn("text-base text-foreground select-none"), selectable: false, children: item.label }) }));
8
+ }
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ import { type WheelPickerItemData } from "./wheel-picker-item";
3
+ type WheelPickerListProps<TValue> = {
4
+ items: Array<WheelPickerItemData<TValue>>;
5
+ selectedIndex: number;
6
+ onIndexChange: (index: number, userInitiated: boolean) => void;
7
+ itemHeight: number;
8
+ visibleItems: number;
9
+ hapticFeedback: boolean;
10
+ className?: string;
11
+ overlayBgColorClassName?: string;
12
+ };
13
+ declare const WheelPickerList: React.ForwardRefExoticComponent<WheelPickerListProps<any> & React.RefAttributes<{
14
+ scrollToIndex: (index: number, animated: boolean) => void;
15
+ }>>;
16
+ export { WheelPickerList };
17
+ export type { WheelPickerListProps, WheelPickerItemData };
18
+ //# sourceMappingURL=wheel-picker-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wheel-picker-list.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/wheelpicker/wheel-picker-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAoDhF,KAAK,oBAAoB,CAAC,MAAM,IAAI;IACnC,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,QAAA,MAAM,eAAe;mBACH,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI;GAiS3D,CAAC;AAIF,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,253 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
39
+ if (ar || !(i in from)) {
40
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
41
+ ar[i] = from[i];
42
+ }
43
+ }
44
+ return to.concat(ar || Array.prototype.slice.call(from));
45
+ };
46
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
47
+ import * as React from "react";
48
+ import { Platform, View } from "react-native";
49
+ import { List } from "../../../../$/components/primitives/list";
50
+ import { WheelPickerItem } from "./wheel-picker-item";
51
+ import { cn } from "../../../../$/lib/utils";
52
+ import { clampIndex } from "./use-wheel-picker-value";
53
+ function getIndexFromOffset(offset, itemHeight, length) {
54
+ if (!Number.isFinite(offset) ||
55
+ !Number.isFinite(itemHeight) ||
56
+ itemHeight <= 0)
57
+ return 0;
58
+ return clampIndex(Math.round(offset / itemHeight), length);
59
+ }
60
+ function scrollToItem(listRef, actualIndex, itemHeight, animated, spacerCount, padding) {
61
+ var list = listRef.current;
62
+ if (!list)
63
+ return;
64
+ // Prefer scrollToIndex so the list can virtualize around the target index.
65
+ // (This avoids a blank window on native when jumping to large offsets.)
66
+ if (typeof list.scrollToIndex === "function") {
67
+ list.scrollToIndex({
68
+ index: actualIndex + spacerCount,
69
+ animated: animated,
70
+ viewPosition: 0,
71
+ // Align the item with the centered selection window.
72
+ viewOffset: padding,
73
+ });
74
+ return;
75
+ }
76
+ // Fallback: scrollToOffset.
77
+ if (typeof list.scrollToOffset === "function") {
78
+ list.scrollToOffset({
79
+ offset: actualIndex * itemHeight,
80
+ animated: animated,
81
+ });
82
+ return;
83
+ }
84
+ }
85
+ var WheelPickerList = React.forwardRef(function (_a, ref) {
86
+ var items = _a.items, selectedIndex = _a.selectedIndex, onIndexChange = _a.onIndexChange, itemHeight = _a.itemHeight, visibleItems = _a.visibleItems, hapticFeedback = _a.hapticFeedback, className = _a.className, overlayBgColorClassName = _a.overlayBgColorClassName;
87
+ var listRef = React.useRef(null);
88
+ var settleTimerRef = React.useRef(null);
89
+ var lastScrollOffsetRef = React.useRef(0);
90
+ var ignoreScrollEventsRef = React.useRef(false);
91
+ var momentumActiveRef = React.useRef(false);
92
+ var userInteractingRef = React.useRef(false);
93
+ var scrollHapticIndexRef = React.useRef(null);
94
+ var lastHapticAtRef = React.useRef(0);
95
+ var hapticsModuleRef = React.useRef(null);
96
+ var isWeb = Platform.OS === "web";
97
+ var safeVisible = Math.max(1, Math.floor(visibleItems));
98
+ var viewportHeight = safeVisible * itemHeight;
99
+ var padding = Math.max(0, (viewportHeight - itemHeight) / 2);
100
+ var spacerCount = Math.floor(safeVisible / 2);
101
+ var paddedItems = React.useMemo(function () {
102
+ var top = Array.from({ length: spacerCount }, function (_, i) { return ({ __type: "spacer", key: "__wheel_spacer_start_".concat(i) }); });
103
+ var bottom = Array.from({ length: spacerCount }, function (_, i) { return ({ __type: "spacer", key: "__wheel_spacer_end_".concat(i) }); });
104
+ var body = items.map(function (it) { return ({ __type: "item", data: it }); });
105
+ return __spreadArray(__spreadArray(__spreadArray([], top, true), body, true), bottom, true);
106
+ }, [items, spacerCount]);
107
+ React.useImperativeHandle(ref, function () { return ({
108
+ scrollToIndex: function (index, animated) {
109
+ ignoreScrollEventsRef.current = true;
110
+ scrollToItem(listRef, index, itemHeight, animated, spacerCount, padding);
111
+ setTimeout(function () {
112
+ ignoreScrollEventsRef.current = false;
113
+ }, animated ? 200 : 0);
114
+ },
115
+ }); });
116
+ var triggerHaptic = React.useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
117
+ var now, _a, _b;
118
+ return __generator(this, function (_c) {
119
+ switch (_c.label) {
120
+ case 0:
121
+ if (!(!isWeb && hapticFeedback)) return [3 /*break*/, 6];
122
+ now = Date.now();
123
+ if (!(now - lastHapticAtRef.current >= 30)) return [3 /*break*/, 6];
124
+ lastHapticAtRef.current = now;
125
+ _c.label = 1;
126
+ case 1:
127
+ _c.trys.push([1, 5, , 6]);
128
+ if (!!hapticsModuleRef.current) return [3 /*break*/, 3];
129
+ _a = hapticsModuleRef;
130
+ return [4 /*yield*/, import("expo-haptics")];
131
+ case 2:
132
+ _a.current = _c.sent();
133
+ _c.label = 3;
134
+ case 3: return [4 /*yield*/, hapticsModuleRef.current.selectionAsync()];
135
+ case 4:
136
+ _c.sent();
137
+ return [3 /*break*/, 6];
138
+ case 5:
139
+ _b = _c.sent();
140
+ return [3 /*break*/, 6];
141
+ case 6: return [2 /*return*/];
142
+ }
143
+ });
144
+ }); }, [hapticFeedback, isWeb]);
145
+ var commitIndex = React.useCallback(function (nextIndex, userInitiated) {
146
+ if (userInitiated) {
147
+ triggerHaptic();
148
+ }
149
+ onIndexChange(nextIndex, userInitiated);
150
+ }, [triggerHaptic, onIndexChange]);
151
+ var onScrollEnd = React.useCallback(function (e) {
152
+ var _a, _b;
153
+ var offsetY = (_b = (_a = e.nativeEvent.contentOffset) === null || _a === void 0 ? void 0 : _a.y) !== null && _b !== void 0 ? _b : 0;
154
+ var nextIndex = getIndexFromOffset(offsetY, itemHeight, items.length);
155
+ if (ignoreScrollEventsRef.current)
156
+ return;
157
+ if (!userInteractingRef.current)
158
+ return;
159
+ // Only commit when the user actually interacted.
160
+ // This prevents initial layout/programmatic scroll syncing from emitting
161
+ // a value change (e.g. when opening an overlay).
162
+ commitIndex(nextIndex, true);
163
+ }, [commitIndex, itemHeight, items.length]);
164
+ var onScroll = React.useCallback(function (e) {
165
+ var _a, _b;
166
+ lastScrollOffsetRef.current = (_b = (_a = e.nativeEvent.contentOffset) === null || _a === void 0 ? void 0 : _a.y) !== null && _b !== void 0 ? _b : 0;
167
+ if (ignoreScrollEventsRef.current)
168
+ return;
169
+ // LegendList on web doesn't reliably fire begin-drag events, so we treat
170
+ // the first post-mount scroll as user interaction.
171
+ if (isWeb && !userInteractingRef.current) {
172
+ userInteractingRef.current = true;
173
+ }
174
+ var nextIndex = getIndexFromOffset(lastScrollOffsetRef.current, itemHeight, items.length);
175
+ // While scrolling, provide haptic ticks on index changes (doesn't commit value).
176
+ if (userInteractingRef.current &&
177
+ hapticFeedback &&
178
+ !isWeb &&
179
+ scrollHapticIndexRef.current !== nextIndex) {
180
+ scrollHapticIndexRef.current = nextIndex;
181
+ triggerHaptic();
182
+ }
183
+ // Web: LegendList + CSS snap doesn't reliably fire momentum/end events.
184
+ // Debounce scroll and commit once it settles.
185
+ if (isWeb) {
186
+ // Avoid committing due to initial layout / programmatic scroll.
187
+ if (!userInteractingRef.current)
188
+ return;
189
+ if (settleTimerRef.current)
190
+ clearTimeout(settleTimerRef.current);
191
+ settleTimerRef.current = setTimeout(function () {
192
+ var idx = getIndexFromOffset(lastScrollOffsetRef.current, itemHeight, items.length);
193
+ commitIndex(idx, true);
194
+ userInteractingRef.current = false;
195
+ }, 120);
196
+ }
197
+ }, [commitIndex, hapticFeedback, isWeb, itemHeight, items.length]);
198
+ React.useEffect(function () {
199
+ // Keep the scroll position aligned with the controlled selectedIndex.
200
+ // Run after mount/prop changes even if scroll events are initially ignored.
201
+ var t = setTimeout(function () {
202
+ if (userInteractingRef.current || momentumActiveRef.current)
203
+ return;
204
+ ignoreScrollEventsRef.current = true;
205
+ scrollToItem(listRef, selectedIndex, itemHeight, false, spacerCount, padding);
206
+ setTimeout(function () {
207
+ ignoreScrollEventsRef.current = false;
208
+ }, 0);
209
+ }, 0);
210
+ return function () { return clearTimeout(t); };
211
+ }, [itemHeight, padding, selectedIndex, spacerCount]);
212
+ var onPressItem = React.useCallback(function (actualIndex) {
213
+ userInteractingRef.current = true;
214
+ scrollToItem(listRef, actualIndex, itemHeight, false, spacerCount, padding);
215
+ commitIndex(actualIndex, true);
216
+ setTimeout(function () {
217
+ userInteractingRef.current = false;
218
+ }, 0);
219
+ }, [commitIndex, itemHeight, padding, spacerCount]);
220
+ var renderItem = React.useCallback(function (_a) {
221
+ var item = _a.item, index = _a.index;
222
+ if (item.__type === "spacer") {
223
+ return _jsx(View, { pointerEvents: "none", style: { height: itemHeight } });
224
+ }
225
+ var actualIndex = index - spacerCount;
226
+ return (_jsx(WheelPickerItem, { item: item.data, index: actualIndex, itemHeight: itemHeight, onPress: onPressItem }));
227
+ }, [itemHeight, onPressItem, spacerCount]);
228
+ return (_jsxs(View, { className: cn("relative overflow-hidden", className), style: { height: viewportHeight }, children: [_jsx(View, { pointerEvents: "none", className: "bg-foreground/5 absolute left-0 right-0 rounded-md z-50", style: { top: padding, height: itemHeight } }), _jsx(View, { pointerEvents: "none", className: cn("bg-background/50 absolute left-0 top-0 w-full z-50", overlayBgColorClassName), style: { height: itemHeight * (safeVisible / 2.5) } }), _jsx(View, { pointerEvents: "none", className: cn("bg-background/50 absolute left-0 bottom-0 w-full z-50", overlayBgColorClassName), style: { height: itemHeight * (safeVisible / 2.5) } }), _jsx(List, { ref: listRef, data: paddedItems, renderItem: renderItem, keyExtractor: function (item) {
229
+ return item.__type === "spacer" ? item.key : String(item.data.value);
230
+ }, initialScrollIndex: {
231
+ index: selectedIndex,
232
+ }, estimatedListSize: { height: viewportHeight, width: 1 }, recycleItems: true, snapToInterval: itemHeight, decelerationRate: 0.7, showsVerticalScrollIndicator: Platform.OS === "web" ? true : false, contentContainerStyle: undefined, extraData: {
233
+ selectedIndex: selectedIndex,
234
+ }, scrollEventThrottle: 16, onScroll: onScroll, onScrollBeginDrag: function () {
235
+ userInteractingRef.current = true;
236
+ scrollHapticIndexRef.current = null;
237
+ }, onMomentumScrollBegin: function () {
238
+ momentumActiveRef.current = true;
239
+ }, onMomentumScrollEnd: function (e) {
240
+ momentumActiveRef.current = false;
241
+ onScrollEnd(e);
242
+ userInteractingRef.current = false;
243
+ }, onScrollEndDrag: function (e) {
244
+ if (Platform.OS !== "web")
245
+ return;
246
+ if (!momentumActiveRef.current) {
247
+ onScrollEnd(e);
248
+ userInteractingRef.current = false;
249
+ }
250
+ }, estimatedItemSize: itemHeight })] }));
251
+ });
252
+ WheelPickerList.displayName = "WheelPickerList";
253
+ export { WheelPickerList };
@@ -0,0 +1,17 @@
1
+ import type { WheelPickerItem } from "./types";
2
+ type WheelPickerProps<TValue> = {
3
+ items: Array<WheelPickerItem<TValue>>;
4
+ value?: TValue;
5
+ defaultValue?: TValue;
6
+ onValueChange?: (value: TValue, index: number) => void;
7
+ itemHeight?: number;
8
+ visibleItems?: number;
9
+ /** Enable iOS-style selection ticks while scrolling (uses expo-haptics when available). */
10
+ hapticFeedback?: boolean;
11
+ className?: string;
12
+ overlayBgColorClassName?: string;
13
+ };
14
+ declare function WheelPicker<TValue>({ items, value, defaultValue, onValueChange, itemHeight, visibleItems, hapticFeedback, className, overlayBgColorClassName, }: WheelPickerProps<TValue>): import("react/jsx-runtime").JSX.Element;
15
+ export { WheelPicker };
16
+ export type { WheelPickerItem, WheelPickerProps };
17
+ //# sourceMappingURL=wheelpicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wheelpicker.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/wheelpicker/wheelpicker.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,KAAK,gBAAgB,CAAC,MAAM,IAAI;IAC/B,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,iBAAS,WAAW,CAAC,MAAM,EAAE,EAC5B,KAAK,EACL,KAAK,EACL,YAAY,EACZ,aAAa,EACb,UAAe,EACf,YAAgB,EAChB,cAAsC,EACtC,SAAS,EACT,uBAAuB,GACvB,EAAE,gBAAgB,CAAC,MAAM,CAAC,2CAmB1B;AAED,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Platform } from "react-native";
3
+ import { WheelPickerList } from "./wheel-picker-list";
4
+ import { useWheelPickerValue } from "./use-wheel-picker-value";
5
+ function WheelPicker(_a) {
6
+ var items = _a.items, value = _a.value, defaultValue = _a.defaultValue, onValueChange = _a.onValueChange, _b = _a.itemHeight, itemHeight = _b === void 0 ? 44 : _b, _c = _a.visibleItems, visibleItems = _c === void 0 ? 5 : _c, _d = _a.hapticFeedback, hapticFeedback = _d === void 0 ? Platform.OS === "ios" : _d, className = _a.className, overlayBgColorClassName = _a.overlayBgColorClassName;
7
+ var _e = useWheelPickerValue({
8
+ items: items,
9
+ value: value,
10
+ defaultValue: defaultValue,
11
+ onValueChange: onValueChange,
12
+ }), selectedIndex = _e.selectedIndex, handleIndexChange = _e.handleIndexChange;
13
+ return (_jsx(WheelPickerList, { items: items, selectedIndex: selectedIndex, onIndexChange: handleIndexChange, itemHeight: itemHeight, visibleItems: visibleItems, hapticFeedback: hapticFeedback, className: className, overlayBgColorClassName: overlayBgColorClassName }));
14
+ }
15
+ export { WheelPicker };