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,30 @@
1
+ import * as React from "react";
2
+ import { TextInput, type TextInputProps } from "react-native";
3
+ import { type FormFieldProps } from "./form-field";
4
+ type TextareaFieldProps = {
5
+ /**
6
+ * Class name for the outer FormField container. This leaves `className` for the textarea itself.
7
+ */
8
+ wrapperClassName?: string;
9
+ /** Optional focus callback tied to the floating label container. */
10
+ onFieldFocus?: FormFieldProps["onFocus"];
11
+ /** Optional blur callback tied to the floating label container. */
12
+ onFieldBlur?: FormFieldProps["onBlur"];
13
+ } & Omit<FormFieldProps, "children" | "className" | "onFocus" | "onBlur" | "placeholder"> & (TextInputProps & {
14
+ placeholderTextColorClassName?: string;
15
+ });
16
+ declare const TextareaField: React.ForwardRefExoticComponent<{
17
+ /**
18
+ * Class name for the outer FormField container. This leaves `className` for the textarea itself.
19
+ */
20
+ wrapperClassName?: string;
21
+ /** Optional focus callback tied to the floating label container. */
22
+ onFieldFocus?: FormFieldProps["onFocus"];
23
+ /** Optional blur callback tied to the floating label container. */
24
+ onFieldBlur?: FormFieldProps["onBlur"];
25
+ } & Omit<FormFieldProps, "children" | "className" | "onBlur" | "onFocus" | "placeholder"> & TextInputProps & {
26
+ placeholderTextColorClassName?: string;
27
+ } & React.RefAttributes<TextInput>>;
28
+ export { TextareaField as Textarea };
29
+ export type { TextareaFieldProps };
30
+ //# sourceMappingURL=textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../../$/components/ui/textarea.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEN,SAAS,EAGT,KAAK,cAAc,EACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9D,KAAK,kBAAkB,GAAG;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,YAAY,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,mEAAmE;IACnE,WAAW,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;CACvC,GAAG,IAAI,CACP,cAAc,EACd,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAC/D,GACA,CAAC,cAAc,GAAG;IAAE,6BAA6B,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE/D,QAAA,MAAM,aAAa;IAdlB;;OAEG;uBACgB,MAAM;IACzB,oEAAoE;mBACrD,cAAc,CAAC,SAAS,CAAC;IACxC,mEAAmE;kBACrD,cAAc,CAAC,QAAQ,CAAC;;oCAKc,MAAM;mCA6F1D,CAAC;AAIF,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,CAAC;AACrC,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,61 @@
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, } from "react-native";
27
+ import { Textarea as PrimitiveTextarea } from "../primitives/textarea";
28
+ import { FormField } from "./form-field";
29
+ var TextareaField = React.forwardRef(function (_a, ref) {
30
+ var onValueChange = _a.onValueChange, onFieldFocus = _a.onFieldFocus, onFieldBlur = _a.onFieldBlur, wrapperClassName = _a.wrapperClassName, className = _a.className, labelPlacement = _a.labelPlacement, placeholderTextColorClassName = _a.placeholderTextColorClassName, editable = _a.editable, inputOnChangeText = _a.onChangeText, inputOnFocus = _a.onFocus, inputOnBlur = _a.onBlur, disabled = _a.disabled, _b = _a.numberOfLines, numberOfLines = _b === void 0 ? Platform.select({ web: 2, native: 8 }) : _b, _c = _a.multiline, multiline = _c === void 0 ? true : _c, _d = _a.textAlignVertical, textAlignVertical = _d === void 0 ? "top" : _d, inputProps = __rest(_a, ["onValueChange", "onFieldFocus", "onFieldBlur", "wrapperClassName", "className", "labelPlacement", "placeholderTextColorClassName", "editable", "onChangeText", "onFocus", "onBlur", "disabled", "numberOfLines", "multiline", "textAlignVertical"]);
31
+ var forwardedEditable = disabled ? false : editable;
32
+ var mergeRefs = React.useCallback(function (node, inputRef) {
33
+ inputRef.current = node;
34
+ if (typeof ref === "function") {
35
+ ref(node);
36
+ }
37
+ else if (ref) {
38
+ ref.current = node;
39
+ }
40
+ }, [ref]);
41
+ return (_jsx(FormField, __assign({}, inputProps, { onValueChange: function (text) {
42
+ onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(text);
43
+ inputOnChangeText === null || inputOnChangeText === void 0 ? void 0 : inputOnChangeText(text);
44
+ }, onFocus: onFieldFocus, onBlur: onFieldBlur, disabled: forwardedEditable === false, labelPlacement: labelPlacement, className: wrapperClassName, children: function (_a) {
45
+ var fieldInputProps = _a.inputProps, inputRef = _a.inputRef;
46
+ var handleChangeText = function (text) {
47
+ fieldInputProps.onChangeText(text);
48
+ };
49
+ var handleFocus = function (event) {
50
+ fieldInputProps.onFocus();
51
+ inputOnFocus === null || inputOnFocus === void 0 ? void 0 : inputOnFocus(event);
52
+ };
53
+ var handleBlur = function (event) {
54
+ fieldInputProps.onBlur();
55
+ inputOnBlur === null || inputOnBlur === void 0 ? void 0 : inputOnBlur(event);
56
+ };
57
+ return (_jsx(PrimitiveTextarea, __assign({ ref: function (node) { return mergeRefs(node, inputRef); } }, fieldInputProps, inputProps, { multiline: multiline, numberOfLines: numberOfLines, textAlignVertical: textAlignVertical, editable: forwardedEditable, onChangeText: handleChangeText, onFocus: handleFocus, onBlur: handleBlur, className: cn("border-none bg-transparent px-0 pt-2 pb-2 text-base leading-[1.4]", className), placeholderTextColorClassName: placeholderTextColorClassName })));
58
+ } })));
59
+ });
60
+ TextareaField.displayName = "TextareaField";
61
+ export { TextareaField as Textarea };
@@ -0,0 +1,26 @@
1
+ import { type TimeWheelPickerFormat, type TimeWheelPickerProps as WheelPickerProps, type TimeWheelPickerValue } from "./timewheelpicker";
2
+ import { type FormFieldProps } from "./form-field";
3
+ import { PopoverContent } from "./popover";
4
+ import * as React from "react";
5
+ type TimePickerProps = Omit<FormFieldProps, "children" | "value" | "defaultValue" | "onValueChange" | "onFocus" | "onBlur" | "placeholder"> & {
6
+ value?: TimeWheelPickerValue;
7
+ defaultValue?: TimeWheelPickerValue;
8
+ onValueChange?: (value: TimeWheelPickerValue | undefined) => void;
9
+ placeholder?: string;
10
+ format?: TimeWheelPickerFormat;
11
+ minuteStep?: number;
12
+ formatTime?: (value: TimeWheelPickerValue | undefined) => string;
13
+ timeWheelPickerProps?: Omit<WheelPickerProps, "value" | "defaultValue" | "onValueChange" | "format" | "minuteStep">;
14
+ popoverContentProps?: React.ComponentPropsWithoutRef<typeof PopoverContent>;
15
+ iconClassName?: string;
16
+ onOpenChange?: (open: boolean) => void;
17
+ onFieldFocus?: FormFieldProps["onFocus"];
18
+ onFieldBlur?: FormFieldProps["onBlur"];
19
+ };
20
+ declare function TimePicker({ value, defaultValue, onValueChange, placeholder, format, minuteStep, formatTime, timeWheelPickerProps, popoverContentProps, iconClassName, onOpenChange, onFieldFocus, onFieldBlur, className, fieldClassName, ...formFieldProps }: TimePickerProps): import("react/jsx-runtime").JSX.Element;
21
+ declare namespace TimePicker {
22
+ var displayName: string;
23
+ }
24
+ export { TimePicker };
25
+ export type { TimePickerProps };
26
+ //# sourceMappingURL=timepicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timepicker.d.ts","sourceRoot":"","sources":["../../../../$/components/ui/timepicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEN,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,IAAI,gBAAgB,EAC7C,KAAK,oBAAoB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAW,cAAc,EAAE,MAAM,WAAW,CAAC;AAGpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,KAAK,eAAe,GAAG,IAAI,CAC1B,cAAc,EACZ,UAAU,GACV,OAAO,GACP,cAAc,GACd,eAAe,GACf,SAAS,GACT,QAAQ,GACR,aAAa,CACf,GAAG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,KAAK,IAAI,CAAC;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,KAAK,MAAM,CAAC;IACjE,oBAAoB,CAAC,EAAE,IAAI,CAC1B,gBAAgB,EAChB,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,QAAQ,GAAG,YAAY,CACpE,CAAC;IACF,mBAAmB,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,cAAc,CAAC,CAAC;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;CACvC,CAAC;AAsBF,iBAAS,UAAU,CAAC,EACnB,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAA6B,EAC7B,MAAc,EACd,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,GAAG,cAAc,EACjB,EAAE,eAAe,2CAsHjB;kBAvIQ,UAAU;;;AA2InB,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,90 @@
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, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
24
+ import { cn } from "../../../$/lib/utils";
25
+ import { useControllableState } from "../primitives/calendar/use-controllable-state";
26
+ import { TimeWheelPicker, } from "./timewheelpicker";
27
+ import { FormField } from "./form-field";
28
+ import { Icon } from "./icon";
29
+ import { Text } from "./text";
30
+ import { Popover } from "./popover";
31
+ import { Clock3 } from "lucide-react-native";
32
+ import * as React from "react";
33
+ import { Pressable, useWindowDimensions, View } from "react-native";
34
+ var pad2 = function (value) {
35
+ return String(Math.max(0, Math.trunc(value))).padStart(2, "0");
36
+ };
37
+ var buildDefaultFormatter = function (format) {
38
+ if (format === void 0) { format = "24h"; }
39
+ return function (time) {
40
+ if (!time)
41
+ return "";
42
+ var hour = Math.max(0, Math.min(23, Math.trunc(time.hour)));
43
+ var minute = Math.max(0, Math.min(59, Math.trunc(time.minute)));
44
+ if (format === "24h") {
45
+ return "".concat(pad2(hour), ":").concat(pad2(minute));
46
+ }
47
+ var meridiem = hour >= 12 ? "PM" : "AM";
48
+ var rawHour = hour % 12;
49
+ var hour12 = rawHour === 0 ? 12 : rawHour;
50
+ return "".concat(hour12, ":").concat(pad2(minute), " ").concat(meridiem);
51
+ };
52
+ };
53
+ function TimePicker(_a) {
54
+ var value = _a.value, defaultValue = _a.defaultValue, onValueChange = _a.onValueChange, _b = _a.placeholder, placeholder = _b === void 0 ? "Select a time" : _b, _c = _a.format, format = _c === void 0 ? "24h" : _c, minuteStep = _a.minuteStep, formatTime = _a.formatTime, timeWheelPickerProps = _a.timeWheelPickerProps, popoverContentProps = _a.popoverContentProps, iconClassName = _a.iconClassName, onOpenChange = _a.onOpenChange, onFieldFocus = _a.onFieldFocus, onFieldBlur = _a.onFieldBlur, className = _a.className, fieldClassName = _a.fieldClassName, formFieldProps = __rest(_a, ["value", "defaultValue", "onValueChange", "placeholder", "format", "minuteStep", "formatTime", "timeWheelPickerProps", "popoverContentProps", "iconClassName", "onOpenChange", "onFieldFocus", "onFieldBlur", "className", "fieldClassName"]);
55
+ var _d = useControllableState({
56
+ value: value,
57
+ defaultValue: defaultValue,
58
+ onChange: onValueChange,
59
+ }), selectedTime = _d[0], setSelectedTime = _d[1];
60
+ var popoverRef = React.useRef(null);
61
+ var formatter = React.useMemo(function () { return formatTime !== null && formatTime !== void 0 ? formatTime : buildDefaultFormatter(format); }, [format, formatTime]);
62
+ var displayValue = React.useMemo(function () { return formatter(selectedTime); }, [formatter, selectedTime]);
63
+ var dimensions = useWindowDimensions();
64
+ var isSmallerScreen = dimensions.width < 640;
65
+ return (_jsx(FormField, __assign({}, formFieldProps, { className: className, fieldClassName: cn("h-16", fieldClassName), value: displayValue, placeholder: placeholder, onFocus: onFieldFocus, onBlur: onFieldBlur, children: function (_a) {
66
+ var _b;
67
+ var inputProps = _a.inputProps, isFocused = _a.isFocused, hasError = _a.hasError, hasSuccess = _a.hasSuccess;
68
+ var handleOpenChange = function (nextOpen) {
69
+ if (formFieldProps.disabled)
70
+ return;
71
+ if (nextOpen) {
72
+ inputProps.onFocus();
73
+ }
74
+ else {
75
+ inputProps.onBlur();
76
+ }
77
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen);
78
+ };
79
+ var handleTimeChange = function (next) {
80
+ setSelectedTime(next);
81
+ };
82
+ var textToShow = displayValue || placeholder;
83
+ var resolvedPopoverContentClassName = cn("border-none bg-transparent p-0 shadow-none", popoverContentProps === null || popoverContentProps === void 0 ? void 0 : popoverContentProps.className);
84
+ return (_jsxs(_Fragment, { children: [_jsx(Popover, { onOpenChange: handleOpenChange, content: _jsx(TimeWheelPicker, __assign({ value: selectedTime, onValueChange: handleTimeChange, format: format, minuteStep: minuteStep }, timeWheelPickerProps, { className: cn("bg-card border border-border rounded-xl p-4", timeWheelPickerProps === null || timeWheelPickerProps === void 0 ? void 0 : timeWheelPickerProps.className), overlayBgColorClassName: "bg-card/70" })), contentProps: __assign(__assign({}, popoverContentProps), { className: resolvedPopoverContentClassName, sideOffset: (_b = popoverContentProps === null || popoverContentProps === void 0 ? void 0 : popoverContentProps.sideOffset) !== null && _b !== void 0 ? _b : 8 }), triggerRef: popoverRef, type: isSmallerScreen ? "floating-sheet" : "popover" }), _jsxs(Pressable, { className: "flex-row items-center justify-between gap-2 py-1.5", disabled: formFieldProps.disabled, accessibilityState: {
85
+ disabled: formFieldProps.disabled,
86
+ }, onPress: function () { var _a; return (_a = popoverRef.current) === null || _a === void 0 ? void 0 : _a.open(); }, children: [_jsx(View, { className: "flex-1", children: _jsx(Text, { className: cn("text-base", displayValue ? "text-foreground" : "text-muted-foreground"), numberOfLines: 1, ellipsizeMode: "tail", children: textToShow }) }), _jsx(Icon, { as: Clock3, className: cn("size-5 text-muted-foreground", isFocused && !hasError && !hasSuccess && "text-foreground", hasError && "text-destructive", hasSuccess && "text-primary", iconClassName) })] })] }));
87
+ } })));
88
+ }
89
+ TimePicker.displayName = "TimePicker";
90
+ export { TimePicker };
@@ -0,0 +1,22 @@
1
+ type TimeWheelPickerFormat = "12h" | "24h";
2
+ type TimeWheelPickerValue = {
3
+ hour: number;
4
+ minute: number;
5
+ };
6
+ type TimeWheelPickerProps = {
7
+ value?: TimeWheelPickerValue;
8
+ defaultValue?: TimeWheelPickerValue;
9
+ onValueChange?: (value: TimeWheelPickerValue) => void;
10
+ format?: TimeWheelPickerFormat;
11
+ minuteStep?: number;
12
+ itemHeight?: number;
13
+ visibleItems?: number;
14
+ hapticFeedback?: boolean;
15
+ className?: string;
16
+ columnClassName?: string;
17
+ overlayBgColorClassName?: string;
18
+ };
19
+ declare function TimeWheelPicker({ value, defaultValue, onValueChange, format, minuteStep, itemHeight, visibleItems, hapticFeedback, className, columnClassName, overlayBgColorClassName, }: TimeWheelPickerProps): import("react/jsx-runtime").JSX.Element;
20
+ export { TimeWheelPicker };
21
+ export type { TimeWheelPickerFormat, TimeWheelPickerProps, TimeWheelPickerValue, };
22
+ //# sourceMappingURL=timewheelpicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timewheelpicker.d.ts","sourceRoot":"","sources":["../../../../$/components/ui/timewheelpicker.tsx"],"names":[],"mappings":"AAOA,KAAK,qBAAqB,GAAG,KAAK,GAAG,KAAK,CAAC;AAG3C,KAAK,oBAAoB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC3B,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACtD,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,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;CACjC,CAAC;AA0EF,iBAAS,eAAe,CAAC,EACxB,KAAK,EACL,YAAY,EACZ,aAAa,EACb,MAAc,EACd,UAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,SAAS,EACT,eAAe,EACf,uBAAuB,GACvB,EAAE,oBAAoB,2CAiHtB;AAED,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EACX,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACpB,CAAC"}
@@ -0,0 +1,112 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { View } from "react-native";
4
+ import { WheelPicker } from "../primitives/wheelpicker";
5
+ import { Text } from "./text";
6
+ import { cn } from "../../../$/lib/utils";
7
+ function clampHour(hour) {
8
+ return Math.max(0, Math.min(23, Math.trunc(hour)));
9
+ }
10
+ function clampMinute(minute) {
11
+ return Math.max(0, Math.min(59, Math.trunc(minute)));
12
+ }
13
+ function normalizeMinute(minute, step) {
14
+ var rounded = Math.round(clampMinute(minute) / step) * step;
15
+ return Math.min(59, rounded);
16
+ }
17
+ function normalizeTimeValue(value, minuteStep) {
18
+ if (!value)
19
+ return { hour: 0, minute: 0 };
20
+ return {
21
+ hour: clampHour(value.hour),
22
+ minute: normalizeMinute(value.minute, minuteStep),
23
+ };
24
+ }
25
+ function to12Hour(hour24) {
26
+ var safeHour = clampHour(hour24);
27
+ var meridiem = safeHour >= 12 ? "PM" : "AM";
28
+ var raw = safeHour % 12;
29
+ var hour12 = raw === 0 ? 12 : raw;
30
+ return { hour12: hour12, meridiem: meridiem };
31
+ }
32
+ function to24Hour(hour12, meridiem) {
33
+ var safe = Math.max(1, Math.min(12, Math.trunc(hour12)));
34
+ if (meridiem === "AM")
35
+ return safe === 12 ? 0 : safe;
36
+ return safe === 12 ? 12 : safe + 12;
37
+ }
38
+ function pad2(n) {
39
+ return String(n).padStart(2, "0");
40
+ }
41
+ function buildHourItems(format) {
42
+ if (format === "24h") {
43
+ return Array.from({ length: 24 }, function (_, hour) { return ({
44
+ label: pad2(hour),
45
+ value: hour,
46
+ }); });
47
+ }
48
+ return Array.from({ length: 12 }, function (_, i) {
49
+ var hour12 = i + 1;
50
+ return { label: String(hour12), value: hour12 };
51
+ });
52
+ }
53
+ function buildMinuteItems(step) {
54
+ var _a;
55
+ var items = [];
56
+ for (var minute = 0; minute < 60; minute += step) {
57
+ items.push({ label: pad2(minute), value: minute });
58
+ }
59
+ // Ensure 59 is reachable when step doesn't divide 59 evenly.
60
+ if (((_a = items[items.length - 1]) === null || _a === void 0 ? void 0 : _a.value) !== 59) {
61
+ items.push({ label: pad2(59), value: 59 });
62
+ }
63
+ return items;
64
+ }
65
+ var meridiemItems = [
66
+ { label: "AM", value: "AM" },
67
+ { label: "PM", value: "PM" },
68
+ ];
69
+ function TimeWheelPicker(_a) {
70
+ var value = _a.value, defaultValue = _a.defaultValue, onValueChange = _a.onValueChange, _b = _a.format, format = _b === void 0 ? "24h" : _b, _c = _a.minuteStep, minuteStep = _c === void 0 ? 1 : _c, itemHeight = _a.itemHeight, visibleItems = _a.visibleItems, hapticFeedback = _a.hapticFeedback, className = _a.className, columnClassName = _a.columnClassName, overlayBgColorClassName = _a.overlayBgColorClassName;
71
+ var safeMinuteStep = React.useMemo(function () { return Math.max(1, Math.min(59, Math.trunc(minuteStep))); }, [minuteStep]);
72
+ var isControlled = value !== undefined;
73
+ var _d = React.useState(function () {
74
+ return normalizeTimeValue(defaultValue !== null && defaultValue !== void 0 ? defaultValue : value, safeMinuteStep);
75
+ }), internalValue = _d[0], setInternalValue = _d[1];
76
+ var current = React.useMemo(function () {
77
+ return normalizeTimeValue(isControlled ? value : internalValue, safeMinuteStep);
78
+ }, [internalValue, isControlled, safeMinuteStep, value]);
79
+ React.useEffect(function () {
80
+ if (!isControlled && defaultValue !== undefined) {
81
+ setInternalValue(normalizeTimeValue(defaultValue, safeMinuteStep));
82
+ }
83
+ }, [defaultValue, isControlled, safeMinuteStep]);
84
+ var hourItems = React.useMemo(function () { return buildHourItems(format); }, [format]);
85
+ var minuteItems = React.useMemo(function () { return buildMinuteItems(safeMinuteStep); }, [safeMinuteStep]);
86
+ var _e = React.useMemo(function () { return to12Hour(current.hour); }, [current.hour]), hour12 = _e.hour12, meridiem = _e.meridiem;
87
+ var emitChange = React.useCallback(function (next) {
88
+ var normalized = normalizeTimeValue(next, safeMinuteStep);
89
+ if (!isControlled)
90
+ setInternalValue(normalized);
91
+ onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(normalized);
92
+ }, [isControlled, onValueChange, safeMinuteStep]);
93
+ var handleHourChange = React.useCallback(function (nextHour) {
94
+ if (format === "24h") {
95
+ emitChange({ hour: nextHour, minute: current.minute });
96
+ return;
97
+ }
98
+ var nextHour24 = to24Hour(nextHour, meridiem);
99
+ emitChange({ hour: nextHour24, minute: current.minute });
100
+ }, [current.minute, emitChange, format, meridiem]);
101
+ var handleMinuteChange = React.useCallback(function (nextMinute) {
102
+ emitChange({ hour: current.hour, minute: nextMinute });
103
+ }, [current.hour, emitChange]);
104
+ var handleMeridiemChange = React.useCallback(function (next) {
105
+ if (format !== "12h")
106
+ return;
107
+ var nextHour24 = to24Hour(hour12, next);
108
+ emitChange({ hour: nextHour24, minute: current.minute });
109
+ }, [current.minute, emitChange, format, hour12]);
110
+ return (_jsxs(View, { className: cn("flex-row w-full items-center gap-3", className), children: [_jsx(WheelPicker, { items: hourItems, value: format === "24h" ? current.hour : hour12, onValueChange: handleHourChange, itemHeight: itemHeight, visibleItems: visibleItems, hapticFeedback: hapticFeedback, className: cn("flex-1", columnClassName), overlayBgColorClassName: overlayBgColorClassName }), _jsx(Text, { className: "text-foreground/60", "aria-hidden": true, children: ":" }), _jsx(WheelPicker, { items: minuteItems, value: current.minute, onValueChange: handleMinuteChange, itemHeight: itemHeight, visibleItems: visibleItems, hapticFeedback: hapticFeedback, className: cn("flex-1", columnClassName), overlayBgColorClassName: overlayBgColorClassName }), format === "12h" ? (_jsx(WheelPicker, { items: meridiemItems, value: meridiem, onValueChange: handleMeridiemChange, itemHeight: itemHeight, visibleItems: visibleItems, hapticFeedback: hapticFeedback, className: cn("flex-1", columnClassName), overlayBgColorClassName: overlayBgColorClassName })) : null] }));
111
+ }
112
+ export { TimeWheelPicker };
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import { ToggleGroup as PrimitiveToggleGroup, ToggleGroupIcon, ToggleGroupItem as PrimitiveToggleGroupItem } from "../primitives/toggle-group";
3
+ type ToggleGroupItemData = {
4
+ value?: string;
5
+ label: React.ReactNode;
6
+ itemProps?: React.ComponentProps<typeof PrimitiveToggleGroupItem>;
7
+ };
8
+ type ToggleGroupProps = React.ComponentProps<typeof PrimitiveToggleGroup> & {
9
+ items?: ToggleGroupItemData[];
10
+ };
11
+ declare function ToggleGroup({ items, children, ...props }: ToggleGroupProps): import("react/jsx-runtime").JSX.Element;
12
+ export { ToggleGroup, ToggleGroupIcon, PrimitiveToggleGroupItem as ToggleGroupItem, };
13
+ export * from "../primitives/toggle-group";
14
+ //# sourceMappingURL=toggle-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-group.d.ts","sourceRoot":"","sources":["../../../../$/components/ui/toggle-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACN,WAAW,IAAI,oBAAoB,EACnC,eAAe,EACf,eAAe,IAAI,wBAAwB,EAC3C,MAAM,4BAA4B,CAAC;AAGpC,KAAK,mBAAmB,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,CAAC;CAClE,CAAC;AAEF,KAAK,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,GAAG;IAC3E,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC9B,CAAC;AASF,iBAAS,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAuBnE;AAED,OAAO,EACN,WAAW,EACX,eAAe,EACf,wBAAwB,IAAI,eAAe,GAC3C,CAAC;AACF,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,44 @@
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 { ToggleGroup as PrimitiveToggleGroup, ToggleGroupIcon, ToggleGroupItem as PrimitiveToggleGroupItem, } from "../primitives/toggle-group";
25
+ import { Text } from "./text";
26
+ var renderLabel = function (label) {
27
+ if (typeof label === "string" || typeof label === "number") {
28
+ return _jsx(Text, { children: label });
29
+ }
30
+ return label;
31
+ };
32
+ function ToggleGroup(_a) {
33
+ var items = _a.items, children = _a.children, props = __rest(_a, ["items", "children"]);
34
+ if (!items || items.length === 0) {
35
+ return _jsx(PrimitiveToggleGroup, __assign({}, props, { children: children }));
36
+ }
37
+ return (_jsx(PrimitiveToggleGroup, __assign({}, props, { children: items.map(function (item, index) {
38
+ var _a;
39
+ var value = (_a = item.value) !== null && _a !== void 0 ? _a : String(index);
40
+ return (_jsx(PrimitiveToggleGroupItem, __assign({ value: value, isFirst: index === 0, isLast: index === items.length - 1 }, item.itemProps, { children: renderLabel(item.label) }), value));
41
+ }) })));
42
+ }
43
+ export { ToggleGroup, ToggleGroupIcon, PrimitiveToggleGroupItem as ToggleGroupItem, };
44
+ export * from "../primitives/toggle-group";
@@ -0,0 +1,2 @@
1
+ export * from "../primitives/toggle";
2
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../$/components/ui/toggle.tsx"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "../primitives/toggle";
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { Tooltip as PrimitiveTooltip, TooltipContent, TooltipTrigger } from "../primitives/tooltip";
3
+ type TooltipProps = React.ComponentProps<typeof PrimitiveTooltip> & {
4
+ trigger?: React.ReactNode;
5
+ content?: React.ReactNode;
6
+ triggerProps?: React.ComponentProps<typeof TooltipTrigger>;
7
+ contentProps?: React.ComponentProps<typeof TooltipContent>;
8
+ };
9
+ declare function Tooltip({ trigger, content, triggerProps, contentProps, children, ...props }: TooltipProps): import("react/jsx-runtime").JSX.Element;
10
+ export { Tooltip, TooltipContent, TooltipTrigger };
11
+ export * from "../primitives/tooltip";
12
+ //# sourceMappingURL=tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../$/components/ui/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACN,OAAO,IAAI,gBAAgB,EAC3B,cAAc,EACd,cAAc,EACd,MAAM,uBAAuB,CAAC;AAE/B,KAAK,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;CAC3D,CAAC;AAEF,iBAAS,OAAO,CAAC,EAChB,OAAO,EACP,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACR,EAAE,YAAY,2CAsBd;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AACnD,cAAc,uBAAuB,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, jsxs as _jsxs } from "react/jsx-runtime";
24
+ import { Tooltip as PrimitiveTooltip, TooltipContent, TooltipTrigger, } from "../primitives/tooltip";
25
+ function Tooltip(_a) {
26
+ var trigger = _a.trigger, content = _a.content, triggerProps = _a.triggerProps, contentProps = _a.contentProps, children = _a.children, props = __rest(_a, ["trigger", "content", "triggerProps", "contentProps", "children"]);
27
+ if (children) {
28
+ return (_jsxs(PrimitiveTooltip, __assign({}, props, { children: [trigger && (_jsx(TooltipTrigger, __assign({ asChild: true }, triggerProps, { children: trigger }))), children] })));
29
+ }
30
+ return (_jsxs(PrimitiveTooltip, __assign({}, props, { children: [_jsx(TooltipTrigger, __assign({ asChild: true }, triggerProps, { children: trigger })), _jsx(TooltipContent, __assign({}, contentProps, { children: content }))] })));
31
+ }
32
+ export { Tooltip, TooltipContent, TooltipTrigger };
33
+ export * from "../primitives/tooltip";
@@ -0,0 +1,2 @@
1
+ export * from "../primitives/view";
2
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../$/components/ui/view.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "../primitives/view";
@@ -0,0 +1,2 @@
1
+ export * from "../primitives/wheelpicker";
2
+ //# sourceMappingURL=wheelpicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wheelpicker.d.ts","sourceRoot":"","sources":["../../../../$/components/ui/wheelpicker.tsx"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "../primitives/wheelpicker";
@@ -0,0 +1,2 @@
1
+ export declare const useExtractTextClasses: (className?: string) => string;
2
+ //# sourceMappingURL=useExtractTextClasses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExtractTextClasses.d.ts","sourceRoot":"","sources":["../../../../$/lib/hooks/useExtractTextClasses.ts"],"names":[],"mappings":"AAiDA,eAAO,MAAM,qBAAqB,GAAI,YAAY,MAAM,WAMvD,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { useMemo } from "react";
2
+ var textClassPrefixSet = [
3
+ "text-",
4
+ "font-",
5
+ "leading-",
6
+ "transition-colors",
7
+ "whitespace-",
8
+ "text-opacity-",
9
+ "font-",
10
+ "tracking-",
11
+ "line-clamp-",
12
+ "text-overflow-",
13
+ "text-decoration-",
14
+ "text-transform-",
15
+ "text-align-",
16
+ "text-justify-",
17
+ "text-indent-",
18
+ "underline",
19
+ "line-through",
20
+ "no-underline",
21
+ "uppercase",
22
+ "lowercase",
23
+ "capitalize",
24
+ "normal-case",
25
+ "truncate",
26
+ "overflow-ellipsis",
27
+ "overflow-clip",
28
+ "overflow-visible",
29
+ "overflow-hidden",
30
+ "overflow-scroll",
31
+ "overflow-auto",
32
+ "antialiased",
33
+ "subpixel-antialiased",
34
+ "italic",
35
+ "not-italic",
36
+ "italic",
37
+ "normal-nums",
38
+ "ordinal",
39
+ "slashed-zero",
40
+ "lining-nums",
41
+ "oldstyle-nums",
42
+ "proportional-nums",
43
+ "tabular-nums",
44
+ "diagonal-fractions",
45
+ "stacked-fractions",
46
+ "normal-nums",
47
+ ];
48
+ export var useExtractTextClasses = function (className) {
49
+ var textClasses = useMemo(function () { return extractTextClasses(className); }, [className]).textClasses;
50
+ return textClasses;
51
+ };
52
+ var extractTextClasses = function (className) {
53
+ if (!className)
54
+ return { textClasses: "", classes: "" };
55
+ var classes = className.split(" ");
56
+ var textClasses = classes
57
+ .filter(function (c) {
58
+ return textClassPrefixSet.some(function (nc) { return c.startsWith(nc) || c.includes(nc); });
59
+ })
60
+ .join(" ");
61
+ return { textClasses: textClasses, classes: classes };
62
+ };
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ export declare function renderNode(node: React.ReactNode, className?: string): React.ReactNode;
3
+ //# sourceMappingURL=renderNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderNode.d.ts","sourceRoot":"","sources":["../../../../$/lib/utils/renderNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,wBAAgB,UAAU,CACzB,IAAI,EAAE,KAAK,CAAC,SAAS,EACrB,SAAS,CAAC,EAAE,MAAM,GAChB,KAAK,CAAC,SAAS,CAkBjB"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { Text } from "../../../$/components/primitives/text";
4
+ import { cn } from "../utils";
5
+ // Renders primitive values (string/number) as Text while passing through React elements.
6
+ // Optional className applied only when we wrap primitives.
7
+ export function renderNode(node, className) {
8
+ var _a;
9
+ if (node == null || typeof node === "boolean")
10
+ return null;
11
+ if (typeof node === "string" || typeof node === "number") {
12
+ return _jsx(Text, { className: cn(className), children: node });
13
+ }
14
+ // check if fragment
15
+ if (React.isValidElement(node) && node.type === React.Fragment) {
16
+ return React.Children.map((_a = node.props) === null || _a === void 0 ? void 0 : _a.children, function (child, i) { return (_jsx(React.Fragment, { children: renderNode(child, className) }, i)); });
17
+ }
18
+ if (Array.isArray(node)) {
19
+ return node.map(function (n, i) { return (_jsx(React.Fragment, { children: renderNode(n, className) }, i)); });
20
+ }
21
+ return node;
22
+ }
@@ -0,0 +1,5 @@
1
+ import { type ClassValue } from "clsx";
2
+ import { cva, type VariantProps } from "class-variance-authority";
3
+ export declare function mergeClasses(...inputs: ClassValue[]): string;
4
+ export { mergeClasses as cn, cva, type VariantProps };
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../$/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAE7C,OAAO,EAAE,GAAG,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAyBlE,wBAAgB,YAAY,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEnD;AAED,OAAO,EAAE,YAAY,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,YAAY,EAAE,CAAC"}