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,64 @@
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 { cn } from '../../../$/lib/utils';
25
+ import { withUniwind } from 'uniwind';
26
+ function IconImpl(_a) {
27
+ var IconComponent = _a.as, props = __rest(_a, ["as"]);
28
+ return _jsx(IconComponent, __assign({}, props));
29
+ }
30
+ var StyledIcon = withUniwind(IconImpl, {
31
+ size: {
32
+ fromClassName: 'className',
33
+ styleProperty: 'width',
34
+ },
35
+ color: {
36
+ fromClassName: 'className',
37
+ styleProperty: 'color',
38
+ },
39
+ });
40
+ /**
41
+ * A wrapper component for Lucide icons with Uniwind `className` support via `withUniwind`.
42
+ *
43
+ * This component allows you to render any Lucide icon while applying utility classes
44
+ * using `uniwind`. It avoids the need to wrap or configure each icon individually.
45
+ *
46
+ * @component
47
+ * @example
48
+ * ```tsx
49
+ * import { ArrowRight } from 'lucide-react-native';
50
+ * import { Icon } from '@/registry/uniwind/registry/components/ui/icon';
51
+ *
52
+ * <Icon as={ArrowRight} className="text-red-500 size-4" />
53
+ * ```
54
+ *
55
+ * @param {LucideIcon} as - The Lucide icon component to render.
56
+ * @param {string} className - Utility classes to style the icon using Uniwind.
57
+ * @param {number} size - Icon size (overrides the size class).
58
+ * @param {...LucideProps} ...props - Additional Lucide icon props passed to the "as" icon.
59
+ */
60
+ function Icon(_a) {
61
+ var IconComponent = _a.as, className = _a.className, props = __rest(_a, ["as", "className"]);
62
+ return (_jsx(StyledIcon, __assign({ as: IconComponent, className: cn('text-foreground size-5', className) }, props)));
63
+ }
64
+ export { Icon };
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ import { TextInput, type TextInputProps } from "react-native";
3
+ declare const Input: React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<TextInput>>;
4
+ export { Input };
5
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../$/components/primitives/input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAY,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAExE,QAAA,MAAM,KAAK,kFAgCV,CAAC;AAIF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,38 @@
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 { cn } from "../../../$/lib/utils";
25
+ import * as React from "react";
26
+ import { Platform, TextInput } from "react-native";
27
+ var Input = React.forwardRef(function (_a, ref) {
28
+ var className = _a.className, placeholderTextColorClassName = _a.placeholderTextColorClassName, props = __rest(_a, ["className", "placeholderTextColorClassName"]);
29
+ return (_jsx(TextInput, __assign({ ref: ref, className: cn(" text-foreground flex w-full min-w-0 flex-row items-center border px-3 py-1 text-base leading-5", props.editable === false &&
30
+ cn("opacity-50", Platform.select({
31
+ web: "disabled:pointer-events-none disabled:cursor-not-allowed",
32
+ })), Platform.select({
33
+ web: cn("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground outline-none transition-[color,box-shadow] md:text-sm", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"),
34
+ native: "placeholder:text-muted-foreground/50",
35
+ }), className), placeholderTextColorClassName: cn("text-muted-foreground", placeholderTextColorClassName) }, props)));
36
+ });
37
+ Input.displayName = "Input";
38
+ export { Input };
@@ -0,0 +1,4 @@
1
+ import * as LabelPrimitive from '@rn-primitives/label';
2
+ declare function Label({ className, onPress, onLongPress, onPressIn, onPressOut, disabled, ...props }: LabelPrimitive.TextProps & React.RefAttributes<LabelPrimitive.TextRef>): import("react/jsx-runtime").JSX.Element;
3
+ export { Label };
4
+ //# sourceMappingURL=label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../../$/components/primitives/label.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,OAAO,EACP,WAAW,EACX,SAAS,EACT,UAAU,EACV,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,2CAyBxE;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,33 @@
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 { cn } from '../../../$/lib/utils';
25
+ import * as LabelPrimitive from '@rn-primitives/label';
26
+ import { Platform } from 'react-native';
27
+ function Label(_a) {
28
+ var className = _a.className, onPress = _a.onPress, onLongPress = _a.onLongPress, onPressIn = _a.onPressIn, onPressOut = _a.onPressOut, disabled = _a.disabled, props = __rest(_a, ["className", "onPress", "onLongPress", "onPressIn", "onPressOut", "disabled"]);
29
+ return (_jsx(LabelPrimitive.Root, { className: cn('flex select-none flex-row items-center gap-2', Platform.select({
30
+ web: 'cursor-default leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50',
31
+ }), disabled && 'opacity-50'), onPress: onPress, onLongPress: onLongPress, onPressIn: onPressIn, onPressOut: onPressOut, disabled: disabled, children: _jsx(LabelPrimitive.Text, __assign({ className: cn('text-foreground text-sm font-medium', Platform.select({ web: 'leading-none' }), className) }, props)) }));
32
+ }
33
+ export { Label };
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import type { LegendListProps, LegendListRef } from "@legendapp/list";
3
+ type ListComponent = (<T>(props: LegendListProps<T> & React.RefAttributes<LegendListRef>) => React.ReactNode) & {
4
+ displayName?: string;
5
+ };
6
+ declare const List: ListComponent;
7
+ export { List };
8
+ export type { LegendListProps as ListProps, LegendListRef as ListRef };
9
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../$/components/primitives/list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACX,eAAe,EACf,aAAa,EAEb,MAAM,iBAAiB,CAAC;AA4EzB,KAAK,aAAa,GAAG,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,KAC1D,KAAK,CAAC,SAAS,CAAC,GAAG;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,IAAI,EA2HM,aAAa,CAAC;AAI9B,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,YAAY,EAAE,eAAe,IAAI,SAAS,EAAE,aAAa,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,155 @@
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
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import * as React from "react";
14
+ import { LegendList as LegendListBase } from "@legendapp/list";
15
+ import { Platform, StyleSheet } from "react-native";
16
+ function toNumber(value) {
17
+ if (typeof value === "number")
18
+ return value;
19
+ if (typeof value === "string") {
20
+ var parsed = Number.parseFloat(value);
21
+ return Number.isFinite(parsed) ? parsed : 0;
22
+ }
23
+ return 0;
24
+ }
25
+ function pickStyleNumber(flatStyle) {
26
+ var keys = [];
27
+ for (var _i = 1; _i < arguments.length; _i++) {
28
+ keys[_i - 1] = arguments[_i];
29
+ }
30
+ if (!flatStyle)
31
+ return undefined;
32
+ for (var _a = 0, keys_1 = keys; _a < keys_1.length; _a++) {
33
+ var key = keys_1[_a];
34
+ var v = flatStyle[key];
35
+ if (v != null)
36
+ return toNumber(v);
37
+ }
38
+ return undefined;
39
+ }
40
+ function getContentPadding(contentContainerStyle, axis) {
41
+ var _a, _b, _c, _d;
42
+ var flat = StyleSheet.flatten(contentContainerStyle);
43
+ if (axis === "y") {
44
+ var start_1 = (_a = pickStyleNumber(flat, "paddingTop", "paddingVertical", "padding")) !== null && _a !== void 0 ? _a : 0;
45
+ var end_1 = (_b = pickStyleNumber(flat, "paddingBottom", "paddingVertical", "padding")) !== null && _b !== void 0 ? _b : 0;
46
+ return { start: start_1, end: end_1 };
47
+ }
48
+ var start = (_c = pickStyleNumber(flat, "paddingLeft", "paddingHorizontal", "padding")) !== null && _c !== void 0 ? _c : 0;
49
+ var end = (_d = pickStyleNumber(flat, "paddingRight", "paddingHorizontal", "padding")) !== null && _d !== void 0 ? _d : 0;
50
+ return { start: start, end: end };
51
+ }
52
+ function getAxis(horizontal) {
53
+ return horizontal ? "x" : "y";
54
+ }
55
+ function wrapSnapChild(child, axis, snapToInterval) {
56
+ var _a;
57
+ var sizeProp = axis === "y" ? "height" : "width";
58
+ var alignProp = axis === "y" ? "scrollSnapAlign" : "scrollSnapAlign";
59
+ return (_jsx("div", { style: (_a = {},
60
+ _a[sizeProp] = snapToInterval,
61
+ _a[alignProp] = "start",
62
+ _a), children: child }));
63
+ }
64
+ var List = React.forwardRef(function List(props, forwardedRef) {
65
+ var internalRef = React.useRef(null);
66
+ var didCorrectInitialPaddingSnap = React.useRef(false);
67
+ React.useImperativeHandle(forwardedRef, function () { return internalRef.current; }, []);
68
+ var isWeb = Platform.OS === "web";
69
+ var axis = getAxis(props.horizontal);
70
+ var snapToInterval = props.snapToInterval;
71
+ var pagingEnabled = Boolean(props.pagingEnabled);
72
+ var contentPadding = React.useMemo(function () { return getContentPadding(props.contentContainerStyle, axis); }, [axis, props.contentContainerStyle]);
73
+ var renderItem = props.renderItem;
74
+ var wrappedRenderItem = React.useMemo(function () {
75
+ if (!isWeb || !snapToInterval || !renderItem)
76
+ return renderItem;
77
+ var render = typeof renderItem === "function"
78
+ ? renderItem
79
+ : function (info) {
80
+ return React.createElement(renderItem, info);
81
+ };
82
+ return function (info) {
83
+ return wrapSnapChild(render(info), axis, snapToInterval);
84
+ };
85
+ }, [axis, isWeb, renderItem, snapToInterval]);
86
+ var wrappedChildren = React.useMemo(function () {
87
+ if (!isWeb || !snapToInterval || props.children == null)
88
+ return props.children;
89
+ var children = React.Children.toArray(props.children);
90
+ return children.map(function (child, index) {
91
+ var _a;
92
+ return (_jsx(React.Fragment, { children: wrapSnapChild(child, axis, snapToInterval) }, (_a = child === null || child === void 0 ? void 0 : child.key) !== null && _a !== void 0 ? _a : index));
93
+ });
94
+ }, [axis, isWeb, props, snapToInterval]);
95
+ React.useEffect(function () {
96
+ var _a;
97
+ if (!isWeb || !snapToInterval)
98
+ return;
99
+ var list = internalRef.current;
100
+ if (!list)
101
+ return;
102
+ var node = (_a = list.getScrollableNode) === null || _a === void 0 ? void 0 : _a.call(list);
103
+ var el = node && typeof node === "object" && "style" in node
104
+ ? node
105
+ : null;
106
+ if (!el)
107
+ return;
108
+ // CSS scroll snapping + momentum-ish feel
109
+ var scrollSnapType = "".concat(axis, " mandatory");
110
+ el.style.scrollSnapType = scrollSnapType;
111
+ el.style.scrollBehavior = "smooth";
112
+ // Respect RN contentContainerStyle padding when snapping.
113
+ // Without this, the browser snaps items flush to the scrollport edge,
114
+ // effectively ignoring top/bottom (or left/right) padding.
115
+ var start = contentPadding.start, end = contentPadding.end;
116
+ if (axis === "y") {
117
+ el.style.scrollPadding = "".concat(start, "px 0px ").concat(end, "px 0px");
118
+ el.style.scrollPaddingTop = "".concat(start, "px");
119
+ el.style.scrollPaddingBottom = "".concat(end, "px");
120
+ }
121
+ else {
122
+ el.style.scrollPadding = "0px ".concat(end, "px 0px ").concat(start, "px");
123
+ el.style.scrollPaddingLeft = "".concat(start, "px");
124
+ el.style.scrollPaddingRight = "".concat(end, "px");
125
+ }
126
+ // If the browser already snapped the first item *past* the padding
127
+ // before we applied scrollPadding, correct it once so the padding shows.
128
+ if (!didCorrectInitialPaddingSnap.current && start > 0) {
129
+ didCorrectInitialPaddingSnap.current = true;
130
+ var current = axis === "y" ? el.scrollTop : el.scrollLeft;
131
+ if (current > 0 && current <= start + 1) {
132
+ if (axis === "y")
133
+ el.scrollTo({ top: 0 });
134
+ else
135
+ el.scrollTo({ left: 0 });
136
+ }
137
+ }
138
+ // iOS Safari momentum scrolling
139
+ el.style.webkitOverflowScrolling = "touch";
140
+ // Note: On web, CSS scroll snapping already provides paging-like behavior.
141
+ // A manual scroll rounding handler fights the browser snap logic and
142
+ // can cause contentContainerStyle padding (top/bottom) to be ignored.
143
+ // So we intentionally do nothing special for pagingEnabled here.
144
+ return;
145
+ }, [axis, contentPadding, isWeb, pagingEnabled, snapToInterval]);
146
+ var getFixedItemSize = props.getFixedItemSize;
147
+ var mergedGetFixedItemSize = React.useMemo(function () {
148
+ if (!snapToInterval || getFixedItemSize)
149
+ return getFixedItemSize;
150
+ return function () { return snapToInterval; };
151
+ }, [getFixedItemSize, snapToInterval]);
152
+ return (_jsx(LegendListBase, __assign({ ref: internalRef }, props, { getFixedItemSize: mergedGetFixedItemSize, renderItem: wrappedRenderItem, children: wrappedChildren })));
153
+ });
154
+ List.displayName = "List";
155
+ export { List };
@@ -0,0 +1,57 @@
1
+ import * as MenubarPrimitive from "@rn-primitives/menubar";
2
+ import * as React from "react";
3
+ import { type StyleProp, Text, type TextProps, View, type ViewStyle } from "react-native";
4
+ declare const MenubarMenu: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
5
+ asChild?: boolean;
6
+ } & {
7
+ value: string | undefined;
8
+ } & React.RefAttributes<View>>;
9
+ declare const MenubarGroup: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
10
+ asChild?: boolean;
11
+ } & React.RefAttributes<View>>;
12
+ declare const MenubarPortal: typeof MenubarPrimitive.Portal;
13
+ declare const MenubarSub: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
14
+ asChild?: boolean;
15
+ } & {
16
+ defaultOpen?: boolean;
17
+ open?: boolean;
18
+ onOpenChange?: (value: boolean) => void;
19
+ } & React.RefAttributes<View>>;
20
+ declare const MenubarRadioGroup: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
21
+ asChild?: boolean;
22
+ } & {
23
+ value: string | undefined;
24
+ onValueChange: (value: string) => void;
25
+ } & React.RefAttributes<View>>;
26
+ declare function Menubar({ className, value: valueProp, onValueChange: onValueChangeProp, ...props }: MenubarPrimitive.RootProps & React.RefAttributes<MenubarPrimitive.RootRef>): import("react/jsx-runtime").JSX.Element;
27
+ declare function MenubarTrigger({ className, ...props }: MenubarPrimitive.TriggerProps & React.RefAttributes<MenubarPrimitive.TriggerRef>): import("react/jsx-runtime").JSX.Element;
28
+ declare function MenubarSubTrigger({ className, inset, children, iconClassName, ...props }: MenubarPrimitive.SubTriggerProps & React.RefAttributes<MenubarPrimitive.SubTriggerRef> & {
29
+ children?: React.ReactNode;
30
+ iconClassName?: string;
31
+ inset?: boolean;
32
+ }): import("react/jsx-runtime").JSX.Element;
33
+ declare function MenubarSubContent({ className, ...props }: MenubarPrimitive.SubContentProps & React.RefAttributes<MenubarPrimitive.SubContentRef>): import("react/jsx-runtime").JSX.Element;
34
+ declare function MenubarContent({ className, overlayClassName, overlayStyle, portalHost, align, alignOffset, sideOffset, ...props }: MenubarPrimitive.ContentProps & React.RefAttributes<MenubarPrimitive.ContentRef> & {
35
+ overlayStyle?: StyleProp<ViewStyle>;
36
+ overlayClassName?: string;
37
+ portalHost?: string;
38
+ }): import("react/jsx-runtime").JSX.Element;
39
+ declare function MenubarItem({ className, inset, variant, ...props }: MenubarPrimitive.ItemProps & React.RefAttributes<MenubarPrimitive.ItemRef> & {
40
+ className?: string;
41
+ inset?: boolean;
42
+ variant?: "default" | "destructive";
43
+ }): import("react/jsx-runtime").JSX.Element;
44
+ declare function MenubarCheckboxItem({ className, children, ...props }: MenubarPrimitive.CheckboxItemProps & React.RefAttributes<MenubarPrimitive.CheckboxItemRef> & {
45
+ children?: React.ReactNode;
46
+ }): import("react/jsx-runtime").JSX.Element;
47
+ declare function MenubarRadioItem({ className, children, ...props }: MenubarPrimitive.RadioItemProps & React.RefAttributes<MenubarPrimitive.RadioItemRef> & {
48
+ children?: React.ReactNode;
49
+ }): import("react/jsx-runtime").JSX.Element;
50
+ declare function MenubarLabel({ className, inset, ...props }: MenubarPrimitive.LabelProps & React.RefAttributes<MenubarPrimitive.LabelRef> & {
51
+ className?: string;
52
+ inset?: boolean;
53
+ }): import("react/jsx-runtime").JSX.Element;
54
+ declare function MenubarSeparator({ className, ...props }: MenubarPrimitive.SeparatorProps & React.RefAttributes<MenubarPrimitive.SeparatorRef>): import("react/jsx-runtime").JSX.Element;
55
+ declare function MenubarShortcut({ className, ...props }: TextProps & React.RefAttributes<Text>): import("react/jsx-runtime").JSX.Element;
56
+ export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, };
57
+ //# sourceMappingURL=menubar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../../../../$/components/primitives/menubar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
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, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
24
+ import { Icon } from "../../../$/components/primitives/icon";
25
+ import { NativeOnlyAnimatedView } from "../../../$/components/primitives/native-only-animated-view";
26
+ import { TextClassContext } from "../../../$/components/primitives/text";
27
+ import { cn } from "../../../$/lib/utils";
28
+ import * as MenubarPrimitive from "@rn-primitives/menubar";
29
+ import { Portal } from "@rn-primitives/portal";
30
+ import { Check, ChevronDown, ChevronRight, ChevronUp, } from "lucide-react-native";
31
+ import * as React from "react";
32
+ import { Platform, Pressable, StyleSheet, Text, View, } from "react-native";
33
+ import { FadeIn } from "react-native-reanimated";
34
+ import { FullWindowOverlay as RNFullWindowOverlay } from "react-native-screens";
35
+ var MenubarMenu = MenubarPrimitive.Menu;
36
+ var MenubarGroup = MenubarPrimitive.Group;
37
+ var MenubarPortal = MenubarPrimitive.Portal;
38
+ var MenubarSub = MenubarPrimitive.Sub;
39
+ var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
40
+ var FullWindowOverlay = Platform.OS === "ios" ? RNFullWindowOverlay : React.Fragment;
41
+ function Menubar(_a) {
42
+ var className = _a.className, valueProp = _a.value, onValueChangeProp = _a.onValueChange, props = __rest(_a, ["className", "value", "onValueChange"]);
43
+ var id = React.useId();
44
+ var _b = React.useState(undefined), value = _b[0], setValue = _b[1];
45
+ function closeMenu() {
46
+ if (onValueChangeProp) {
47
+ onValueChangeProp(undefined);
48
+ return;
49
+ }
50
+ setValue(undefined);
51
+ }
52
+ return (_jsxs(_Fragment, { children: [Platform.OS !== "web" && (value || valueProp) ? (_jsx(Portal, { name: "menubar-overlay-".concat(id), children: _jsx(Pressable, { onPress: closeMenu, style: StyleSheet.absoluteFill }) })) : null, _jsx(MenubarPrimitive.Root, __assign({ className: cn("bg-background border-border flex h-10 flex-row items-center gap-1 rounded-md border p-1 shadow-sm shadow-black/5 sm:h-9", className), value: value !== null && value !== void 0 ? value : valueProp, onValueChange: onValueChangeProp !== null && onValueChangeProp !== void 0 ? onValueChangeProp : setValue }, props))] }));
53
+ }
54
+ function MenubarTrigger(_a) {
55
+ var className = _a.className, props = __rest(_a, ["className"]);
56
+ var value = MenubarPrimitive.useRootContext().value;
57
+ var itemValue = MenubarPrimitive.useMenuContext().value;
58
+ return (_jsx(TextClassContext.Provider, { value: cn("text-sm font-medium select-none group-active:text-accent-foreground", value === itemValue && "text-accent-foreground"), children: _jsx(MenubarPrimitive.Trigger, __assign({ className: cn("group flex items-center rounded-md px-2 py-1.5 sm:py-1", Platform.select({
59
+ web: "focus:bg-accent focus:text-accent-foreground cursor-default outline-none",
60
+ }), value === itemValue && "bg-accent", className) }, props)) }));
61
+ }
62
+ function MenubarSubTrigger(_a) {
63
+ var className = _a.className, inset = _a.inset, children = _a.children, iconClassName = _a.iconClassName, props = __rest(_a, ["className", "inset", "children", "iconClassName"]);
64
+ var open = MenubarPrimitive.useSubContext().open;
65
+ var icon = Platform.OS === "web" ? ChevronRight : open ? ChevronUp : ChevronDown;
66
+ return (_jsx(TextClassContext.Provider, { value: cn("text-sm select-none group-active:text-accent-foreground", open && "text-accent-foreground"), children: _jsxs(MenubarPrimitive.SubTrigger, __assign({ className: cn("active:bg-accent group flex flex-row items-center justify-between rounded-sm px-2 py-2 sm:py-1.5", Platform.select({
67
+ web: "focus:bg-accent focus:text-accent-foreground cursor-default outline-none [&_svg]:pointer-events-none",
68
+ }), open && "bg-accent", inset && "pl-8") }, props, { children: [_jsx(_Fragment, { children: children }), _jsx(Icon, { as: icon, className: cn("text-foreground size-4 shrink-0", iconClassName) })] })) }));
69
+ }
70
+ function MenubarSubContent(_a) {
71
+ var className = _a.className, props = __rest(_a, ["className"]);
72
+ return (_jsx(NativeOnlyAnimatedView, { entering: FadeIn, children: _jsx(MenubarPrimitive.SubContent, __assign({ className: cn("bg-popover border-border overflow-hidden rounded-md border p-1 shadow-lg shadow-black/5", Platform.select({
73
+ web: "animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fade-in-0 data-[state=closed]:zoom-out-95 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-context-menu-content-transform-origin) z-50 min-w-[8rem]",
74
+ }), className) }, props)) }));
75
+ }
76
+ function MenubarContent(_a) {
77
+ var className = _a.className, overlayClassName = _a.overlayClassName, overlayStyle = _a.overlayStyle, portalHost = _a.portalHost, _b = _a.align, align = _b === void 0 ? "start" : _b, _c = _a.alignOffset, alignOffset = _c === void 0 ? -4 : _c, _d = _a.sideOffset, sideOffset = _d === void 0 ? 8 : _d, props = __rest(_a, ["className", "overlayClassName", "overlayStyle", "portalHost", "align", "alignOffset", "sideOffset"]);
78
+ return (_jsx(MenubarPrimitive.Portal, { hostName: portalHost, children: _jsx(FullWindowOverlay, { children: _jsx(NativeOnlyAnimatedView, { entering: FadeIn, style: StyleSheet.absoluteFill, pointerEvents: "box-none", children: _jsx(TextClassContext.Provider, { value: "text-popover-foreground", children: _jsx(MenubarPrimitive.Content, __assign({ className: cn("bg-popover border-border min-w-[12rem] overflow-hidden rounded-md border p-1 shadow-lg shadow-black/5", Platform.select({
79
+ web: cn("animate-in fade-in-0 zoom-in-95 max-h-(--radix-context-menu-content-available-height) origin-(--radix-context-menu-content-transform-origin) z-50 cursor-default", props.side === "bottom" && "slide-in-from-top-2", props.side === "top" && "slide-in-from-bottom-2"),
80
+ }), className), align: align, alignOffset: alignOffset, sideOffset: sideOffset }, props)) }) }) }) }));
81
+ }
82
+ function MenubarItem(_a) {
83
+ var className = _a.className, inset = _a.inset, variant = _a.variant, props = __rest(_a, ["className", "inset", "variant"]);
84
+ return (_jsx(TextClassContext.Provider, { value: cn("select-none text-sm text-popover-foreground group-active:text-popover-foreground", variant === "destructive" &&
85
+ "text-destructive group-active:text-destructive"), children: _jsx(MenubarPrimitive.Item, __assign({ className: cn("active:bg-accent group relative flex flex-row items-center gap-2 rounded-sm px-2 py-2 sm:py-1.5", Platform.select({
86
+ web: cn("focus:bg-accent focus:text-accent-foreground cursor-default outline-none data-[disabled]:pointer-events-none", variant === "destructive" &&
87
+ "focus:bg-destructive/10 dark:focus:bg-destructive/20"),
88
+ }), variant === "destructive" &&
89
+ "active:bg-destructive/10 dark:active:bg-destructive/20", props.disabled && "opacity-50", inset && "pl-8", className) }, props)) }));
90
+ }
91
+ function MenubarCheckboxItem(_a) {
92
+ var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
93
+ return (_jsx(TextClassContext.Provider, { value: "text-sm text-popover-foreground select-none group-active:text-accent-foreground", children: _jsxs(MenubarPrimitive.CheckboxItem, __assign({ className: cn("active:bg-accent group relative flex flex-row items-center gap-2 rounded-sm py-2 pl-8 pr-2 sm:py-1.5", Platform.select({
94
+ web: "focus:bg-accent focus:text-accent-foreground cursor-default outline-none data-[disabled]:pointer-events-none",
95
+ }), props.disabled && "opacity-50", className) }, props, { children: [_jsx(View, { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(MenubarPrimitive.ItemIndicator, { children: _jsx(Icon, { as: Check, className: cn("text-foreground size-4", Platform.select({ web: "pointer-events-none" })) }) }) }), _jsx(_Fragment, { children: children })] })) }));
96
+ }
97
+ function MenubarRadioItem(_a) {
98
+ var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
99
+ return (_jsx(TextClassContext.Provider, { value: "text-sm text-popover-foreground select-none group-active:text-accent-foreground", children: _jsxs(MenubarPrimitive.RadioItem, __assign({ className: cn("active:bg-accent group relative flex flex-row items-center gap-2 rounded-sm py-2 pl-8 pr-2 sm:py-1.5", Platform.select({
100
+ web: "focus:bg-accent focus:text-accent-foreground cursor-default outline-none data-[disabled]:pointer-events-none",
101
+ }), props.disabled && "opacity-50", className) }, props, { children: [_jsx(View, { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(MenubarPrimitive.ItemIndicator, { children: _jsx(View, { className: "bg-foreground h-2 w-2 rounded-full" }) }) }), _jsx(_Fragment, { children: children })] })) }));
102
+ }
103
+ function MenubarLabel(_a) {
104
+ var className = _a.className, inset = _a.inset, props = __rest(_a, ["className", "inset"]);
105
+ return (_jsx(MenubarPrimitive.Label, __assign({ className: cn("text-foreground px-2 py-2 text-sm font-medium sm:py-1.5", inset && "pl-8", className) }, props)));
106
+ }
107
+ function MenubarSeparator(_a) {
108
+ var className = _a.className, props = __rest(_a, ["className"]);
109
+ return (_jsx(MenubarPrimitive.Separator, __assign({ className: cn("bg-border -mx-1 my-1 h-px", className) }, props)));
110
+ }
111
+ function MenubarShortcut(_a) {
112
+ var className = _a.className, props = __rest(_a, ["className"]);
113
+ return (_jsx(Text, __assign({ className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className) }, props)));
114
+ }
115
+ export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, };
@@ -0,0 +1,2 @@
1
+ export * from "./multi-column-wheelpicker";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/multi-column-wheelpicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./multi-column-wheelpicker";
@@ -0,0 +1,35 @@
1
+ import { type WheelPickerItem } from "../../../../$/components/primitives/wheelpicker";
2
+ type MultiColumnWheelPickerColumn<TValue = unknown> = {
3
+ key?: string;
4
+ items: Array<WheelPickerItem<TValue>>;
5
+ value?: TValue;
6
+ defaultValue?: TValue;
7
+ onValueChange?: (value: TValue, index: number) => void;
8
+ itemHeight?: number;
9
+ visibleItems?: number;
10
+ hapticFeedback?: boolean;
11
+ className?: string;
12
+ overlayBgColorClassName?: string;
13
+ };
14
+ type ColumnValue<TColumn> = TColumn extends MultiColumnWheelPickerColumn<infer TValue> ? TValue : never;
15
+ type ColumnChangePayload<TColumn> = {
16
+ columnIndex: number;
17
+ value: ColumnValue<TColumn>;
18
+ index: number;
19
+ };
20
+ type MultiColumnWheelPickerProps<TColumns extends ReadonlyArray<MultiColumnWheelPickerColumn<any>> = ReadonlyArray<MultiColumnWheelPickerColumn<any>>> = {
21
+ columns: TColumns;
22
+ onChange?: (payload: ColumnChangePayload<TColumns[number]>) => void;
23
+ itemHeight?: number;
24
+ visibleItems?: number;
25
+ hapticFeedback?: boolean;
26
+ className?: string;
27
+ columnClassName?: string;
28
+ overlayBgColorClassName?: string;
29
+ gap?: number;
30
+ };
31
+ declare function MultiColumnWheelPicker<TColumns extends ReadonlyArray<MultiColumnWheelPickerColumn<any>>>({ columns, onChange, itemHeight, visibleItems, hapticFeedback, className, columnClassName, overlayBgColorClassName, gap, }: MultiColumnWheelPickerProps<TColumns>): import("react/jsx-runtime").JSX.Element;
32
+ declare const MemoizedMultiColumnWheelPicker: typeof MultiColumnWheelPicker;
33
+ export { MemoizedMultiColumnWheelPicker as MultiColumnWheelPicker };
34
+ export type { MultiColumnWheelPickerColumn, MultiColumnWheelPickerProps };
35
+ //# sourceMappingURL=multi-column-wheelpicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-column-wheelpicker.d.ts","sourceRoot":"","sources":["../../../../../$/components/primitives/multi-column-wheelpicker/multi-column-wheelpicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEN,KAAK,eAAe,EACpB,MAAM,qCAAqC,CAAC;AAG7C,KAAK,4BAA4B,CAAC,MAAM,GAAG,OAAO,IAAI;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,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,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,KAAK,WAAW,CAAC,OAAO,IAAI,OAAO,SAAS,4BAA4B,CACvE,MAAM,MAAM,CACZ,GACE,MAAM,GACN,KAAK,CAAC;AAET,KAAK,mBAAmB,CAAC,OAAO,IAAI;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,2BAA2B,CAC/B,QAAQ,SAAS,aAAa,CAC7B,4BAA4B,CAAC,GAAG,CAAC,CACjC,GAAG,aAAa,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,IACjD;IACH,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAiGF,iBAAS,sBAAsB,CAC9B,QAAQ,SAAS,aAAa,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,EAChE,EACD,OAAO,EACP,QAAQ,EACR,UAAe,EACf,YAAgB,EAChB,cAAc,EACd,SAAS,EACT,eAAe,EACf,uBAAuB,EACvB,GAAQ,GACR,EAAE,2BAA2B,CAAC,QAAQ,CAAC,2CAyCvC;AAED,QAAA,MAAM,8BAA8B,EAE/B,OAAO,sBAAsB,CAAC;AAEnC,OAAO,EAAE,8BAA8B,IAAI,sBAAsB,EAAE,CAAC;AACpE,YAAY,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { View } from "react-native";
4
+ import { WheelPicker, } from "../../../../$/components/primitives/wheelpicker";
5
+ import { cn } from "../../../../$/lib/utils";
6
+ function WheelPickerColumnInner(_a) {
7
+ var _b, _c, _d, _e;
8
+ var column = _a.column, columnIndex = _a.columnIndex, totalColumns = _a.totalColumns, defaults = _a.defaults, onChange = _a.onChange;
9
+ var defaultItemHeight = defaults.itemHeight, defaultVisibleItems = defaults.visibleItems, defaultHaptics = defaults.hapticFeedback, columnClassName = defaults.columnClassName, overlayBgColorClassName = defaults.overlayBgColorClassName, gap = defaults.gap;
10
+ var resolvedItemHeight = (_b = column.itemHeight) !== null && _b !== void 0 ? _b : defaultItemHeight;
11
+ var resolvedVisibleItems = (_c = column.visibleItems) !== null && _c !== void 0 ? _c : defaultVisibleItems;
12
+ var resolvedHaptics = (_d = column.hapticFeedback) !== null && _d !== void 0 ? _d : defaultHaptics;
13
+ var resolvedOverlayBg = (_e = column.overlayBgColorClassName) !== null && _e !== void 0 ? _e : overlayBgColorClassName;
14
+ var marginRight = React.useMemo(function () { return (columnIndex === totalColumns - 1 ? 0 : Math.max(0, gap)); }, [columnIndex, gap, totalColumns]);
15
+ var handleValueChange = React.useCallback(function (value, index) {
16
+ var _a;
17
+ (_a = column.onValueChange) === null || _a === void 0 ? void 0 : _a.call(column, value, index);
18
+ onChange === null || onChange === void 0 ? void 0 : onChange({ columnIndex: columnIndex, value: value, index: index });
19
+ }, [column.onValueChange, columnIndex, onChange]);
20
+ var mergedClassName = React.useMemo(function () { return cn(columnClassName, column.className); }, [column.className, columnClassName]);
21
+ return (_jsx(View, { className: "flex-1", children: _jsx(WheelPicker, { items: column.items, value: column.value, defaultValue: column.defaultValue, onValueChange: handleValueChange, itemHeight: resolvedItemHeight, visibleItems: resolvedVisibleItems, hapticFeedback: resolvedHaptics, className: mergedClassName, overlayBgColorClassName: resolvedOverlayBg }) }));
22
+ }
23
+ var WheelPickerColumn = React.memo(WheelPickerColumnInner, function (prev, next) {
24
+ return (prev.column === next.column &&
25
+ prev.columnIndex === next.columnIndex &&
26
+ prev.totalColumns === next.totalColumns &&
27
+ prev.defaults.itemHeight === next.defaults.itemHeight &&
28
+ prev.defaults.visibleItems === next.defaults.visibleItems &&
29
+ prev.defaults.hapticFeedback === next.defaults.hapticFeedback &&
30
+ prev.defaults.columnClassName === next.defaults.columnClassName &&
31
+ prev.defaults.overlayBgColorClassName ===
32
+ next.defaults.overlayBgColorClassName &&
33
+ prev.defaults.gap === next.defaults.gap &&
34
+ prev.onChange === next.onChange);
35
+ });
36
+ function MultiColumnWheelPicker(_a) {
37
+ var columns = _a.columns, onChange = _a.onChange, _b = _a.itemHeight, itemHeight = _b === void 0 ? 44 : _b, _c = _a.visibleItems, visibleItems = _c === void 0 ? 5 : _c, hapticFeedback = _a.hapticFeedback, className = _a.className, columnClassName = _a.columnClassName, overlayBgColorClassName = _a.overlayBgColorClassName, _d = _a.gap, gap = _d === void 0 ? 12 : _d;
38
+ var defaults = React.useMemo(function () { return ({
39
+ itemHeight: itemHeight,
40
+ visibleItems: visibleItems,
41
+ hapticFeedback: hapticFeedback,
42
+ columnClassName: columnClassName,
43
+ overlayBgColorClassName: overlayBgColorClassName,
44
+ gap: gap,
45
+ }); }, [
46
+ columnClassName,
47
+ gap,
48
+ hapticFeedback,
49
+ itemHeight,
50
+ overlayBgColorClassName,
51
+ visibleItems,
52
+ ]);
53
+ var handleChange = React.useCallback(function (payload) {
54
+ onChange === null || onChange === void 0 ? void 0 : onChange(payload);
55
+ }, [onChange]);
56
+ return (_jsx(View, { className: cn("flex-row ", className), children: columns.map(function (column, columnIndex) {
57
+ var _a;
58
+ return (_jsx(WheelPickerColumn, { column: column, columnIndex: columnIndex, totalColumns: columns.length, defaults: defaults, onChange: handleChange }, (_a = column.key) !== null && _a !== void 0 ? _a : columnIndex));
59
+ }) }));
60
+ }
61
+ var MemoizedMultiColumnWheelPicker = React.memo(MultiColumnWheelPicker);
62
+ export { MemoizedMultiColumnWheelPicker as MultiColumnWheelPicker };