@lssm/lib.ui-kit 1.42.0 → 1.42.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 (353) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/dist/index.d.ts +5 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +2 -1
  6. package/dist/index.js.map +1 -0
  7. package/dist/ui/accordion.d.ts +36 -0
  8. package/dist/ui/accordion.d.ts.map +1 -0
  9. package/dist/ui/accordion.js +3 -2
  10. package/dist/ui/accordion.js.map +1 -0
  11. package/dist/ui/alert-dialog.d.ts +72 -0
  12. package/dist/ui/alert-dialog.d.ts.map +1 -0
  13. package/dist/ui/alert-dialog.js +3 -2
  14. package/dist/ui/alert-dialog.js.map +1 -0
  15. package/dist/ui/alert.d.ts +37 -0
  16. package/dist/ui/alert.d.ts.map +1 -0
  17. package/dist/ui/alert.js +3 -2
  18. package/dist/ui/alert.js.map +1 -0
  19. package/dist/ui/aspect-ratio.d.ts +12 -0
  20. package/dist/ui/aspect-ratio.d.ts.map +1 -0
  21. package/dist/ui/aspect-ratio.js +2 -1
  22. package/dist/ui/aspect-ratio.js.map +1 -0
  23. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +8 -0
  24. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts.map +1 -0
  25. package/dist/ui/atoms/FilterSelect/FilterSelect.js +2 -1
  26. package/dist/ui/atoms/FilterSelect/FilterSelect.js.map +1 -0
  27. package/dist/ui/atoms/FilterSelect/index.d.ts +3 -0
  28. package/dist/ui/atoms/FilterSelect/types.d.ts +19 -0
  29. package/dist/ui/atoms/FilterSelect/types.d.ts.map +1 -0
  30. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +23 -0
  31. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts.map +1 -0
  32. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +4 -3
  33. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js.map +1 -0
  34. package/dist/ui/atoms/LoadingSpinner/index.d.ts +2 -0
  35. package/dist/ui/atoms/Pagination/Pagination.d.ts +8 -0
  36. package/dist/ui/atoms/Pagination/Pagination.d.ts.map +1 -0
  37. package/dist/ui/atoms/Pagination/Pagination.js +3 -5
  38. package/dist/ui/atoms/Pagination/Pagination.js.map +1 -0
  39. package/dist/ui/atoms/Pagination/index.d.ts +3 -0
  40. package/dist/ui/atoms/Pagination/types.d.ts +16 -0
  41. package/dist/ui/atoms/Pagination/types.d.ts.map +1 -0
  42. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +8 -0
  43. package/dist/ui/atoms/SearchInput/SearchInput.d.ts.map +1 -0
  44. package/dist/ui/atoms/SearchInput/SearchInput.js +4 -5
  45. package/dist/ui/atoms/SearchInput/SearchInput.js.map +1 -0
  46. package/dist/ui/atoms/SearchInput/index.d.ts +3 -0
  47. package/dist/ui/atoms/SearchInput/types.d.ts +13 -0
  48. package/dist/ui/atoms/SearchInput/types.d.ts.map +1 -0
  49. package/dist/ui/avatar.d.ts +28 -0
  50. package/dist/ui/avatar.d.ts.map +1 -0
  51. package/dist/ui/avatar.js +3 -2
  52. package/dist/ui/avatar.js.map +1 -0
  53. package/dist/ui/badge.d.ts +22 -0
  54. package/dist/ui/badge.d.ts.map +1 -0
  55. package/dist/ui/badge.js +3 -2
  56. package/dist/ui/badge.js.map +1 -0
  57. package/dist/ui/breadcrumb.d.ts +39 -0
  58. package/dist/ui/breadcrumb.d.ts.map +1 -0
  59. package/dist/ui/breadcrumb.js +5 -6
  60. package/dist/ui/breadcrumb.js.map +1 -0
  61. package/dist/ui/button.d.ts +26 -0
  62. package/dist/ui/button.d.ts.map +1 -0
  63. package/dist/ui/button.js +3 -2
  64. package/dist/ui/button.js.map +1 -0
  65. package/dist/ui/card.d.ts +44 -0
  66. package/dist/ui/card.d.ts.map +1 -0
  67. package/dist/ui/card.js +3 -2
  68. package/dist/ui/card.js.map +1 -0
  69. package/dist/ui/carousel.d.ts +5 -0
  70. package/dist/ui/carousel.d.ts.map +1 -0
  71. package/dist/ui/carousel.js +2 -1
  72. package/dist/ui/carousel.js.map +1 -0
  73. package/dist/ui/checkbox.d.ts +17 -0
  74. package/dist/ui/checkbox.d.ts.map +1 -0
  75. package/dist/ui/checkbox.js +3 -2
  76. package/dist/ui/checkbox.js.map +1 -0
  77. package/dist/ui/collapsible.d.ts +25 -0
  78. package/dist/ui/collapsible.d.ts.map +1 -0
  79. package/dist/ui/collapsible.js +2 -1
  80. package/dist/ui/collapsible.js.map +1 -0
  81. package/dist/ui/command.d.ts +5 -0
  82. package/dist/ui/command.d.ts.map +1 -0
  83. package/dist/ui/command.js +2 -1
  84. package/dist/ui/command.js.map +1 -0
  85. package/dist/ui/context-menu.d.ts +110 -0
  86. package/dist/ui/context-menu.d.ts.map +1 -0
  87. package/dist/ui/context-menu.js +3 -2
  88. package/dist/ui/context-menu.js.map +1 -0
  89. package/dist/ui/date-picker.d.ts +24 -0
  90. package/dist/ui/date-picker.d.ts.map +1 -0
  91. package/dist/ui/date-picker.js +3 -2
  92. package/dist/ui/date-picker.js.map +1 -0
  93. package/dist/ui/date-range-picker.d.ts +31 -0
  94. package/dist/ui/date-range-picker.d.ts.map +1 -0
  95. package/dist/ui/date-range-picker.js +4 -3
  96. package/dist/ui/date-range-picker.js.map +1 -0
  97. package/dist/ui/datetime-picker.d.ts +28 -0
  98. package/dist/ui/datetime-picker.d.ts.map +1 -0
  99. package/dist/ui/datetime-picker.js +2 -1
  100. package/dist/ui/datetime-picker.js.map +1 -0
  101. package/dist/ui/dialog.d.ts +69 -0
  102. package/dist/ui/dialog.d.ts.map +1 -0
  103. package/dist/ui/dialog.js +3 -2
  104. package/dist/ui/dialog.js.map +1 -0
  105. package/dist/ui/dropdown-menu.d.ts +112 -0
  106. package/dist/ui/dropdown-menu.d.ts.map +1 -0
  107. package/dist/ui/dropdown-menu.js +3 -2
  108. package/dist/ui/dropdown-menu.js.map +1 -0
  109. package/dist/ui/empty-state.d.ts +29 -0
  110. package/dist/ui/empty-state.d.ts.map +1 -0
  111. package/dist/ui/empty-state.js +3 -2
  112. package/dist/ui/empty-state.js.map +1 -0
  113. package/dist/ui/empty.d.ts +37 -0
  114. package/dist/ui/empty.d.ts.map +1 -0
  115. package/dist/ui/empty.js +3 -2
  116. package/dist/ui/empty.js.map +1 -0
  117. package/dist/ui/fab.d.ts +36 -0
  118. package/dist/ui/fab.d.ts.map +1 -0
  119. package/dist/ui/fab.js +3 -2
  120. package/dist/ui/fab.js.map +1 -0
  121. package/dist/ui/field.d.ts +67 -0
  122. package/dist/ui/field.d.ts.map +1 -0
  123. package/dist/ui/field.js +3 -2
  124. package/dist/ui/field.js.map +1 -0
  125. package/dist/ui/form.d.ts +50 -0
  126. package/dist/ui/form.d.ts.map +1 -0
  127. package/dist/ui/form.js +5 -4
  128. package/dist/ui/form.js.map +1 -0
  129. package/dist/ui/hover-card.d.ts +30 -0
  130. package/dist/ui/hover-card.d.ts.map +1 -0
  131. package/dist/ui/hover-card.js +3 -2
  132. package/dist/ui/hover-card.js.map +1 -0
  133. package/dist/ui/icons/Check.d.ts +2 -0
  134. package/dist/ui/icons/Check.js +2 -1
  135. package/dist/ui/icons/Check.js.map +1 -0
  136. package/dist/ui/icons/ChevronDown.d.ts +2 -0
  137. package/dist/ui/icons/ChevronDown.js +2 -1
  138. package/dist/ui/icons/ChevronDown.js.map +1 -0
  139. package/dist/ui/icons/ChevronRight.d.ts +2 -0
  140. package/dist/ui/icons/ChevronRight.js +2 -1
  141. package/dist/ui/icons/ChevronRight.js.map +1 -0
  142. package/dist/ui/icons/ChevronUp.d.ts +2 -0
  143. package/dist/ui/icons/ChevronUp.js +2 -1
  144. package/dist/ui/icons/ChevronUp.js.map +1 -0
  145. package/dist/ui/icons/CircleUser.d.ts +2 -0
  146. package/dist/ui/icons/CircleUser.js +2 -1
  147. package/dist/ui/icons/CircleUser.js.map +1 -0
  148. package/dist/ui/icons/Info.d.ts +2 -0
  149. package/dist/ui/icons/Info.js +2 -1
  150. package/dist/ui/icons/Info.js.map +1 -0
  151. package/dist/ui/icons/Key.d.ts +2 -0
  152. package/dist/ui/icons/Key.js +2 -1
  153. package/dist/ui/icons/Key.js.map +1 -0
  154. package/dist/ui/icons/MoonStar.d.ts +2 -0
  155. package/dist/ui/icons/MoonStar.js +2 -1
  156. package/dist/ui/icons/MoonStar.js.map +1 -0
  157. package/dist/ui/icons/Sun.d.ts +2 -0
  158. package/dist/ui/icons/Sun.js +2 -1
  159. package/dist/ui/icons/Sun.js.map +1 -0
  160. package/dist/ui/icons/X.d.ts +2 -0
  161. package/dist/ui/icons/X.js +2 -1
  162. package/dist/ui/icons/X.js.map +1 -0
  163. package/dist/ui/icons/iconWithClassName.d.ts +7 -0
  164. package/dist/ui/icons/iconWithClassName.d.ts.map +1 -0
  165. package/dist/ui/icons/iconWithClassName.js +2 -1
  166. package/dist/ui/icons/iconWithClassName.js.map +1 -0
  167. package/dist/ui/input.d.ts +15 -0
  168. package/dist/ui/input.d.ts.map +1 -0
  169. package/dist/ui/input.js +3 -2
  170. package/dist/ui/input.js.map +1 -0
  171. package/dist/ui/label.d.ts +16 -0
  172. package/dist/ui/label.d.ts.map +1 -0
  173. package/dist/ui/label.js +3 -2
  174. package/dist/ui/label.js.map +1 -0
  175. package/dist/ui/link.d.ts +14 -0
  176. package/dist/ui/link.d.ts.map +1 -0
  177. package/dist/ui/link.js +3 -2
  178. package/dist/ui/link.js.map +1 -0
  179. package/dist/ui/loading-button.d.ts +20 -0
  180. package/dist/ui/loading-button.d.ts.map +1 -0
  181. package/dist/ui/loading-button.js +2 -1
  182. package/dist/ui/loading-button.js.map +1 -0
  183. package/dist/ui/loading-overlay.d.ts +16 -0
  184. package/dist/ui/loading-overlay.d.ts.map +1 -0
  185. package/dist/ui/loading-overlay.js +2 -1
  186. package/dist/ui/loading-overlay.js.map +1 -0
  187. package/dist/ui/loading-screen.d.ts +14 -0
  188. package/dist/ui/loading-screen.d.ts.map +1 -0
  189. package/dist/ui/loading-screen.js +2 -1
  190. package/dist/ui/loading-screen.js.map +1 -0
  191. package/dist/ui/marketing/FeatureGrid.d.ts +21 -0
  192. package/dist/ui/marketing/FeatureGrid.d.ts.map +1 -0
  193. package/dist/ui/marketing/FeatureGrid.js +2 -1
  194. package/dist/ui/marketing/FeatureGrid.js.map +1 -0
  195. package/dist/ui/marketing/Hero.d.ts +28 -0
  196. package/dist/ui/marketing/Hero.d.ts.map +1 -0
  197. package/dist/ui/marketing/Hero.js +2 -1
  198. package/dist/ui/marketing/Hero.js.map +1 -0
  199. package/dist/ui/marketing/PricingTable.d.ts +25 -0
  200. package/dist/ui/marketing/PricingTable.d.ts.map +1 -0
  201. package/dist/ui/marketing/PricingTable.js +2 -1
  202. package/dist/ui/marketing/PricingTable.js.map +1 -0
  203. package/dist/ui/marketing/index.d.ts +4 -0
  204. package/dist/ui/menubar.d.ts +115 -0
  205. package/dist/ui/menubar.d.ts.map +1 -0
  206. package/dist/ui/menubar.js +3 -2
  207. package/dist/ui/menubar.js.map +1 -0
  208. package/dist/ui/molecules/Autocomplete/index.d.ts +5 -0
  209. package/dist/ui/molecules/Autocomplete/index.d.ts.map +1 -0
  210. package/dist/ui/molecules/Autocomplete/index.js +2 -1
  211. package/dist/ui/molecules/Autocomplete/index.js.map +1 -0
  212. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +8 -0
  213. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts.map +1 -0
  214. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +6 -5
  215. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js.map +1 -0
  216. package/dist/ui/molecules/SearchAndFilter/index.d.ts +3 -0
  217. package/dist/ui/molecules/SearchAndFilter/types.d.ts +25 -0
  218. package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -0
  219. package/dist/ui/molecules/SkeletonList.d.ts +16 -0
  220. package/dist/ui/molecules/SkeletonList.d.ts.map +1 -0
  221. package/dist/ui/molecules/SkeletonList.js +2 -1
  222. package/dist/ui/molecules/SkeletonList.js.map +1 -0
  223. package/dist/ui/nativewind-env.d.ts +1 -0
  224. package/dist/ui/navigation-menu.d.ts +68 -0
  225. package/dist/ui/navigation-menu.d.ts.map +1 -0
  226. package/dist/ui/navigation-menu.js +3 -2
  227. package/dist/ui/navigation-menu.js.map +1 -0
  228. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +30 -0
  229. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  230. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +5 -6
  231. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +1 -0
  232. package/dist/ui/organisms/ErrorBoundary/index.d.ts +2 -0
  233. package/dist/ui/organisms/ListPage/ListPage.d.ts +29 -0
  234. package/dist/ui/organisms/ListPage/ListPage.d.ts.map +1 -0
  235. package/dist/ui/organisms/ListPage/ListPage.js +12 -14
  236. package/dist/ui/organisms/ListPage/ListPage.js.map +1 -0
  237. package/dist/ui/organisms/ListPage/index.d.ts +3 -0
  238. package/dist/ui/organisms/ListPage/types.d.ts +42 -0
  239. package/dist/ui/organisms/ListPage/types.d.ts.map +1 -0
  240. package/dist/ui/page-header.d.ts +27 -0
  241. package/dist/ui/page-header.d.ts.map +1 -0
  242. package/dist/ui/page-header.js +3 -2
  243. package/dist/ui/page-header.js.map +1 -0
  244. package/dist/ui/password-strength.d.ts +21 -0
  245. package/dist/ui/password-strength.d.ts.map +1 -0
  246. package/dist/ui/password-strength.js +4 -3
  247. package/dist/ui/password-strength.js.map +1 -0
  248. package/dist/ui/popover.d.ts +30 -0
  249. package/dist/ui/popover.d.ts.map +1 -0
  250. package/dist/ui/popover.js +3 -2
  251. package/dist/ui/popover.js.map +1 -0
  252. package/dist/ui/progress.d.ts +17 -0
  253. package/dist/ui/progress.d.ts.map +1 -0
  254. package/dist/ui/progress.js +3 -2
  255. package/dist/ui/progress.js.map +1 -0
  256. package/dist/ui/radio-group.d.ts +15 -0
  257. package/dist/ui/radio-group.d.ts.map +1 -0
  258. package/dist/ui/radio-group.js +3 -2
  259. package/dist/ui/radio-group.js.map +1 -0
  260. package/dist/ui/select.d.ts +84 -0
  261. package/dist/ui/select.d.ts.map +1 -0
  262. package/dist/ui/select.js +3 -2
  263. package/dist/ui/select.js.map +1 -0
  264. package/dist/ui/separator.d.ts +16 -0
  265. package/dist/ui/separator.d.ts.map +1 -0
  266. package/dist/ui/separator.js +3 -2
  267. package/dist/ui/separator.js.map +1 -0
  268. package/dist/ui/sheet.d.ts +5 -0
  269. package/dist/ui/sheet.d.ts.map +1 -0
  270. package/dist/ui/sheet.js +2 -1
  271. package/dist/ui/sheet.js.map +1 -0
  272. package/dist/ui/sidebar.d.ts +5 -0
  273. package/dist/ui/sidebar.d.ts.map +1 -0
  274. package/dist/ui/sidebar.js +2 -1
  275. package/dist/ui/sidebar.js.map +1 -0
  276. package/dist/ui/skeleton.d.ts +12 -0
  277. package/dist/ui/skeleton.d.ts.map +1 -0
  278. package/dist/ui/skeleton.js +3 -2
  279. package/dist/ui/skeleton.js.map +1 -0
  280. package/dist/ui/stack.d.ts +77 -0
  281. package/dist/ui/stack.d.ts.map +1 -0
  282. package/dist/ui/stack.js +3 -2
  283. package/dist/ui/stack.js.map +1 -0
  284. package/dist/ui/stepper.d.ts +23 -0
  285. package/dist/ui/stepper.d.ts.map +1 -0
  286. package/dist/ui/stepper.js +3 -2
  287. package/dist/ui/stepper.js.map +1 -0
  288. package/dist/ui/switch.d.ts +15 -0
  289. package/dist/ui/switch.d.ts.map +1 -0
  290. package/dist/ui/switch.js +3 -2
  291. package/dist/ui/switch.js.map +1 -0
  292. package/dist/ui/table.d.ts +51 -0
  293. package/dist/ui/table.d.ts.map +1 -0
  294. package/dist/ui/table.js +3 -2
  295. package/dist/ui/table.js.map +1 -0
  296. package/dist/ui/tabs.d.ts +33 -0
  297. package/dist/ui/tabs.d.ts.map +1 -0
  298. package/dist/ui/tabs.js +3 -2
  299. package/dist/ui/tabs.js.map +1 -0
  300. package/dist/ui/text.d.ts +21 -0
  301. package/dist/ui/text.d.ts.map +1 -0
  302. package/dist/ui/text.js +3 -2
  303. package/dist/ui/text.js.map +1 -0
  304. package/dist/ui/textarea.d.ts +10 -0
  305. package/dist/ui/textarea.d.ts.map +1 -0
  306. package/dist/ui/textarea.js +3 -2
  307. package/dist/ui/textarea.js.map +1 -0
  308. package/dist/ui/time-picker.d.ts +22 -0
  309. package/dist/ui/time-picker.d.ts.map +1 -0
  310. package/dist/ui/time-picker.js +3 -2
  311. package/dist/ui/time-picker.js.map +1 -0
  312. package/dist/ui/toggle-group.d.ts +36 -0
  313. package/dist/ui/toggle-group.d.ts.map +1 -0
  314. package/dist/ui/toggle-group.js +3 -2
  315. package/dist/ui/toggle-group.js.map +1 -0
  316. package/dist/ui/toggle.d.ts +34 -0
  317. package/dist/ui/toggle.d.ts.map +1 -0
  318. package/dist/ui/toggle.js +3 -2
  319. package/dist/ui/toggle.js.map +1 -0
  320. package/dist/ui/tooltip.d.ts +32 -0
  321. package/dist/ui/tooltip.d.ts.map +1 -0
  322. package/dist/ui/tooltip.js +3 -2
  323. package/dist/ui/tooltip.js.map +1 -0
  324. package/dist/ui/typography.d.ts +65 -0
  325. package/dist/ui/typography.d.ts.map +1 -0
  326. package/dist/ui/typography.js +3 -2
  327. package/dist/ui/typography.js.map +1 -0
  328. package/dist/ui/useColorScheme.d.ts +12 -0
  329. package/dist/ui/useColorScheme.d.ts.map +1 -0
  330. package/dist/ui/useColorScheme.js +2 -1
  331. package/dist/ui/useColorScheme.js.map +1 -0
  332. package/dist/ui/useListState.d.ts +34 -0
  333. package/dist/ui/useListState.d.ts.map +1 -0
  334. package/dist/ui/useListState.js +2 -1
  335. package/dist/ui/useListState.js.map +1 -0
  336. package/dist/ui/usecases/UseCaseCard.d.ts +19 -0
  337. package/dist/ui/usecases/UseCaseCard.d.ts.map +1 -0
  338. package/dist/ui/usecases/UseCaseCard.js +2 -1
  339. package/dist/ui/usecases/UseCaseCard.js.map +1 -0
  340. package/dist/ui/usecases/UserStoryCard.d.ts +15 -0
  341. package/dist/ui/usecases/UserStoryCard.d.ts.map +1 -0
  342. package/dist/ui/usecases/UserStoryCard.js +2 -1
  343. package/dist/ui/usecases/UserStoryCard.js.map +1 -0
  344. package/dist/ui/usecases/index.d.ts +3 -0
  345. package/dist/ui/utils.d.ts +7 -0
  346. package/dist/ui/utils.d.ts.map +1 -0
  347. package/dist/ui/utils.js +2 -1
  348. package/dist/ui/utils.js.map +1 -0
  349. package/package.json +113 -105
  350. package/dist/-core/src/utils.js +0 -10
  351. package/dist/_virtual/rolldown_runtime.js +0 -33
  352. package/dist/tsconfig.tsbuildinfo +0 -1
  353. package/dist/ui/nativewind-env.d.js +0 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Chaman Ventures, SASU
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # @lssm/lib.ui-kit
2
2
 
3
+ Website: https://contractspec.lssm.tech/
4
+
5
+
3
6
  Universal UI components for React Native and Web, built on top of `nativewind` and `@rn-primitives`.
4
7
 
5
8
  ## Purpose
@@ -86,6 +89,16 @@ export function MyComponent() {
86
89
 
87
90
 
88
91
 
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
89
102
 
90
103
 
91
104
 
@@ -0,0 +1,5 @@
1
+ //#region index.d.ts
2
+ declare const _default: {};
3
+ //#endregion
4
+ export { _default as default };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../index.ts"],"sourcesContent":[],"mappings":""}
package/dist/index.js CHANGED
@@ -2,4 +2,5 @@
2
2
  var ui_kit_default = {};
3
3
 
4
4
  //#endregion
5
- export { ui_kit_default as default };
5
+ export { ui_kit_default as default };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../index.ts"],"sourcesContent":["export default {};\n"],"mappings":";AAAA,qBAAe,EAAE"}
@@ -0,0 +1,36 @@
1
+ import * as AccordionPrimitive from "@rn-primitives/accordion";
2
+ import * as React$1 from "react";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region ui/accordion.d.ts
6
+ declare function Accordion({
7
+ children,
8
+ ...props
9
+ }: Omit<AccordionPrimitive.RootProps, 'asChild'> & {
10
+ ref?: React$1.RefObject<AccordionPrimitive.RootRef>;
11
+ }): react_jsx_runtime0.JSX.Element;
12
+ declare function AccordionItem({
13
+ className,
14
+ value,
15
+ ...props
16
+ }: AccordionPrimitive.ItemProps & {
17
+ ref?: React$1.RefObject<AccordionPrimitive.ItemRef>;
18
+ }): react_jsx_runtime0.JSX.Element;
19
+ declare function AccordionTrigger({
20
+ className,
21
+ children,
22
+ ...props
23
+ }: AccordionPrimitive.TriggerProps & {
24
+ children?: React$1.ReactNode;
25
+ ref?: React$1.RefObject<AccordionPrimitive.TriggerRef>;
26
+ }): react_jsx_runtime0.JSX.Element;
27
+ declare function AccordionContent({
28
+ className,
29
+ children,
30
+ ...props
31
+ }: AccordionPrimitive.ContentProps & {
32
+ ref?: React$1.RefObject<AccordionPrimitive.ContentRef>;
33
+ }): react_jsx_runtime0.JSX.Element;
34
+ //#endregion
35
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
36
+ //# sourceMappingURL=accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.d.ts","names":[],"sources":["../../ui/accordion.tsx"],"sourcesContent":[],"mappings":";;;;;iBAkBS,SAAA;;;GAGN,KAAK,kBAAA,CAAmB;QACnB,OAAA,CAAM,UAAU,kBAAA,CAAmB;IAC1C,kBAAA,CAAA,GAAA,CAAA;AAtB8B,iBAqCtB,aAAA,CApBS;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;CAAA,EAwBf,kBAAA,CAAmB,SAxBJ,GAAA;EAChB,GAAA,CAAA,EAwBM,OAAA,CAAM,SAxBZ,CAwBsB,kBAAA,CAAmB,OAxBzC,CAAA;CAEM,CAAA,EAuBP,kBAAA,CAAA,GAAA,CAAA,OAvB0B;iBAwClB,gBAAA,CAxCN;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EA4CA,kBAAA,CAAmB,YA5CnB,GAAA;EACqB,QAAA,CAAA,EA4CX,OAAA,CAAM,SA5CwB;EAAnC,GAAA,CAAA,EA6CA,OAAA,CAAM,SA7CA,CA6CU,kBAAA,CAAmB,UA7C7B,CAAA;CACb,CAAA,EA6CA,kBAAA,CAAA,GAAA,CAAA,OA7CA;iBA+EQ,gBAAA,CA/ER;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EAmFE,kBAAA,CAAmB,YAnFrB,GAAA;EAeQ,GAAA,CAAA,EAqED,OAAA,CAAM,SArEQ,CAqEE,kBAAA,CAAmB,UArErB,CAAA;CACpB,CAAA,EAqED,kBAAA,CAAA,GAAA,CAAA,OArEC"}
@@ -1,10 +1,10 @@
1
1
  import { ChevronDown } from "./icons/ChevronDown.js";
2
- import { cn } from "../-core/src/utils.js";
3
2
  import { TextClassContext } from "./text.js";
4
3
  import * as AccordionPrimitive from "@rn-primitives/accordion";
5
4
  import "react";
6
5
  import { Platform, Pressable, View } from "react-native";
7
6
  import Animated, { Extrapolation, FadeIn, FadeOutUp, LayoutAnimationConfig, LinearTransition, interpolate, useAnimatedStyle, useDerivedValue, withTiming } from "react-native-reanimated";
7
+ import { cn } from "@lssm/lib.ui-kit-core/utils";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
 
10
10
  //#region ui/accordion.tsx
@@ -89,4 +89,5 @@ function InnerContent({ children, className }) {
89
89
  }
90
90
 
91
91
  //#endregion
92
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
92
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
93
+ //# sourceMappingURL=accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.js","names":[],"sources":["../../ui/accordion.tsx"],"sourcesContent":["import * as AccordionPrimitive from '@rn-primitives/accordion';\nimport * as React from 'react';\nimport { Platform, Pressable, View } from 'react-native';\nimport Animated, {\n Extrapolation,\n FadeIn,\n FadeOutUp,\n interpolate,\n LayoutAnimationConfig,\n LinearTransition,\n useAnimatedStyle,\n useDerivedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { ChevronDown } from './icons/ChevronDown';\nimport { TextClassContext } from './text';\nimport { cn } from '@lssm/lib.ui-kit-core/utils';\n\nfunction Accordion({\n children,\n ...props\n}: Omit<AccordionPrimitive.RootProps, 'asChild'> & {\n ref?: React.RefObject<AccordionPrimitive.RootRef>;\n}) {\n return (\n <LayoutAnimationConfig skipEntering>\n <AccordionPrimitive.Root\n {...(props as AccordionPrimitive.RootProps)}\n asChild={Platform.OS !== 'web'}\n >\n <Animated.View layout={LinearTransition.duration(200)}>\n {children}\n </Animated.View>\n </AccordionPrimitive.Root>\n </LayoutAnimationConfig>\n );\n}\n\nfunction AccordionItem({\n className,\n value,\n ...props\n}: AccordionPrimitive.ItemProps & {\n ref?: React.RefObject<AccordionPrimitive.ItemRef>;\n}) {\n return (\n <Animated.View\n className={'overflow-hidden'}\n layout={LinearTransition.duration(200)}\n >\n <AccordionPrimitive.Item\n className={cn('border-border border-b', className)}\n value={value}\n {...props}\n />\n </Animated.View>\n );\n}\n\nconst Trigger = Platform.OS === 'web' ? View : Pressable;\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: AccordionPrimitive.TriggerProps & {\n children?: React.ReactNode;\n ref?: React.RefObject<AccordionPrimitive.TriggerRef>;\n}) {\n const { isExpanded } = AccordionPrimitive.useItemContext();\n\n const progress = useDerivedValue(() =>\n isExpanded\n ? withTiming(1, { duration: 250 })\n : withTiming(0, { duration: 200 })\n );\n const chevronStyle = useAnimatedStyle(() => ({\n transform: [{ rotate: `${progress.value * 180}deg` }],\n opacity: interpolate(progress.value, [0, 1], [1, 0.8], Extrapolation.CLAMP),\n }));\n\n return (\n <TextClassContext.Provider value=\"native:text-lg font-medium web:group-hover:underline\">\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger {...props} asChild>\n <Trigger\n className={cn(\n 'group web:flex-1 web:transition-all web:focus-visible:outline-hidden web:focus-visible:ring-1 web:focus-visible:ring-muted-foreground flex flex-row items-center justify-between py-4',\n className\n )}\n >\n {children}\n <Animated.View style={chevronStyle}>\n <ChevronDown size={18} className={'text-foreground shrink-0'} />\n </Animated.View>\n </Trigger>\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n </TextClassContext.Provider>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionPrimitive.ContentProps & {\n ref?: React.RefObject<AccordionPrimitive.ContentRef>;\n}) {\n const { isExpanded } = AccordionPrimitive.useItemContext();\n return (\n <TextClassContext.Provider value=\"native:text-lg\">\n <AccordionPrimitive.Content\n className={cn(\n 'web:transition-all overflow-hidden text-sm',\n isExpanded ? 'web:animate-accordion-down' : 'web:animate-accordion-up'\n )}\n {...props}\n >\n <InnerContent className={cn('pb-4', className)}>\n {children}\n </InnerContent>\n </AccordionPrimitive.Content>\n </TextClassContext.Provider>\n );\n}\n\nfunction InnerContent({\n children,\n className,\n}: {\n children: React.ReactNode;\n className?: string;\n}) {\n if (Platform.OS === 'web') {\n return <View className={cn('pb-4', className)}>{children}</View>;\n }\n return (\n <Animated.View\n entering={FadeIn}\n exiting={FadeOutUp.duration(200)}\n className={cn('pb-4', className)}\n >\n {children}\n </Animated.View>\n );\n}\n\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger };\n"],"mappings":";;;;;;;;;;AAkBA,SAAS,UAAU,EACjB,UACA,GAAG,SAGF;AACD,QACE,oBAAC;EAAsB;YACrB,oBAAC,mBAAmB;GAClB,GAAK;GACL,SAAS,SAAS,OAAO;aAEzB,oBAAC,SAAS;IAAK,QAAQ,iBAAiB,SAAS,IAAI;IAClD;KACa;IACQ;GACJ;;AAI5B,SAAS,cAAc,EACrB,WACA,OACA,GAAG,SAGF;AACD,QACE,oBAAC,SAAS;EACR,WAAW;EACX,QAAQ,iBAAiB,SAAS,IAAI;YAEtC,oBAAC,mBAAmB;GAClB,WAAW,GAAG,0BAA0B,UAAU;GAC3C;GACP,GAAI;IACJ;GACY;;AAIpB,MAAM,UAAU,SAAS,OAAO,QAAQ,OAAO;AAE/C,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SAIF;CACD,MAAM,EAAE,eAAe,mBAAmB,gBAAgB;CAE1D,MAAM,WAAW,sBACf,aACI,WAAW,GAAG,EAAE,UAAU,KAAK,CAAC,GAChC,WAAW,GAAG,EAAE,UAAU,KAAK,CAAC,CACrC;CACD,MAAM,eAAe,wBAAwB;EAC3C,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,QAAQ,IAAI,MAAM,CAAC;EACrD,SAAS,YAAY,SAAS,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAI,EAAE,cAAc,MAAM;EAC5E,EAAE;AAEH,QACE,oBAAC,iBAAiB;EAAS,OAAM;YAC/B,oBAAC,mBAAmB;GAAO,WAAU;aACnC,oBAAC,mBAAmB;IAAQ,GAAI;IAAO;cACrC,qBAAC;KACC,WAAW,GACT,yLACA,UACD;gBAEA,UACD,oBAAC,SAAS;MAAK,OAAO;gBACpB,oBAAC;OAAY,MAAM;OAAI,WAAW;QAA8B;OAClD;MACR;KACiB;IACH;GACF;;AAIhC,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SAGF;CACD,MAAM,EAAE,eAAe,mBAAmB,gBAAgB;AAC1D,QACE,oBAAC,iBAAiB;EAAS,OAAM;YAC/B,oBAAC,mBAAmB;GAClB,WAAW,GACT,8CACA,aAAa,+BAA+B,2BAC7C;GACD,GAAI;aAEJ,oBAAC;IAAa,WAAW,GAAG,QAAQ,UAAU;IAC3C;KACY;IACY;GACH;;AAIhC,SAAS,aAAa,EACpB,UACA,aAIC;AACD,KAAI,SAAS,OAAO,MAClB,QAAO,oBAAC;EAAK,WAAW,GAAG,QAAQ,UAAU;EAAG;GAAgB;AAElE,QACE,oBAAC,SAAS;EACR,UAAU;EACV,SAAS,UAAU,SAAS,IAAI;EAChC,WAAW,GAAG,QAAQ,UAAU;EAE/B;GACa"}
@@ -0,0 +1,72 @@
1
+ import * as React$1 from "react";
2
+ import * as react_native0 from "react-native";
3
+ import { View, ViewProps } from "react-native";
4
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
5
+ import * as AlertDialogPrimitive from "@rn-primitives/alert-dialog";
6
+
7
+ //#region ui/alert-dialog.d.ts
8
+ declare const AlertDialog: React$1.ForwardRefExoticComponent<{
9
+ open?: boolean;
10
+ onOpenChange?: (value: boolean) => void;
11
+ defaultOpen?: boolean;
12
+ } & ViewProps & {
13
+ asChild?: boolean;
14
+ } & React$1.RefAttributes<View>>;
15
+ declare const AlertDialogTrigger: React$1.ForwardRefExoticComponent<Omit<react_native0.PressableProps & React$1.RefAttributes<View>, "ref"> & {
16
+ asChild?: boolean;
17
+ } & {
18
+ onKeyDown?: (ev: React$1.KeyboardEvent) => void;
19
+ onKeyUp?: (ev: React$1.KeyboardEvent) => void;
20
+ } & React$1.RefAttributes<View>>;
21
+ declare const AlertDialogPortal: typeof AlertDialogPrimitive.Portal;
22
+ declare function AlertDialogOverlayNative({
23
+ className,
24
+ children,
25
+ ...props
26
+ }: AlertDialogPrimitive.OverlayProps & {
27
+ ref?: React$1.RefObject<AlertDialogPrimitive.OverlayRef>;
28
+ }): react_jsx_runtime3.JSX.Element;
29
+ declare const AlertDialogOverlay: typeof AlertDialogOverlayNative;
30
+ declare function AlertDialogContent({
31
+ className,
32
+ portalHost,
33
+ ...props
34
+ }: AlertDialogPrimitive.ContentProps & {
35
+ ref?: React$1.RefObject<AlertDialogPrimitive.ContentRef>;
36
+ portalHost?: string;
37
+ }): react_jsx_runtime3.JSX.Element;
38
+ declare function AlertDialogHeader({
39
+ className,
40
+ ...props
41
+ }: ViewProps): react_jsx_runtime3.JSX.Element;
42
+ declare function AlertDialogFooter({
43
+ className,
44
+ ...props
45
+ }: ViewProps): react_jsx_runtime3.JSX.Element;
46
+ declare function AlertDialogTitle({
47
+ className,
48
+ ...props
49
+ }: AlertDialogPrimitive.TitleProps & {
50
+ ref?: React$1.RefObject<AlertDialogPrimitive.TitleRef>;
51
+ }): react_jsx_runtime3.JSX.Element;
52
+ declare function AlertDialogDescription({
53
+ className,
54
+ ...props
55
+ }: AlertDialogPrimitive.DescriptionProps & {
56
+ ref?: React$1.RefObject<AlertDialogPrimitive.DescriptionRef>;
57
+ }): react_jsx_runtime3.JSX.Element;
58
+ declare function AlertDialogAction({
59
+ className,
60
+ ...props
61
+ }: AlertDialogPrimitive.ActionProps & {
62
+ ref?: React$1.RefObject<AlertDialogPrimitive.ActionRef>;
63
+ }): react_jsx_runtime3.JSX.Element;
64
+ declare function AlertDialogCancel({
65
+ className,
66
+ ...props
67
+ }: AlertDialogPrimitive.CancelProps & {
68
+ ref?: React$1.RefObject<AlertDialogPrimitive.CancelRef>;
69
+ }): react_jsx_runtime3.JSX.Element;
70
+ //#endregion
71
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
72
+ //# sourceMappingURL=alert-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.d.ts","names":[],"sources":["../../ui/alert-dialog.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAQM,aAAW,OAAA,CAAA;;;;AAN6C,CAAA,YAMxD,GAAA;;;cAEA,oBAAkB,OAAA,CAAA,0BAAA,KAA+B,aAAA,CAA/B,cAAA,GAAA,OAAA,CAAA,cAAA;EAFP,OAAA,CAAA,EAAA,OAAA;CAAA,GAAA;EAEX,SAAA,CAAA,EAAA,CAAA,EAAA,uBAAiD,EAAA,GAAA,IAAA;EAAA,OAAA,CAAA,EAAA,CAA/B,EAAA,uBAAA,EAAA,GAAA,IAAA;CAAA,wBAAA,KAAA,CAAA,CAAA;cAElB,iBAFkB,EAAA,OAED,oBAAA,CAAA,MAFC;iBAyBf,wBAAA,CAzBe;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EA6BrB,oBAAA,CAAqB,YA7BA,GAAA;QA8BhB,OAAA,CAAM,UAAU,oBAAA,CAAqB;IAC5C,kBAAA,CAAA,GAAA,CAAA;cAoBK,2BAAkB;iBAKf,kBAAA;;;;AAxDe,GA4DrB,oBAAA,CAAqB;EA5DA,GAAA,CAAA,EA6DhB,OAAA,CAAM,SA7DU,CA6DA,oBAAA,CAAqB,UA7DrB,CAAA;EAAA,UAAA,CAAA,EAAA,MAAA;AAAA,CAAA,CAAA,EA+DvB,kBAAA,CAAA,GAAA,CAAA,OA7DsB;AAA8B,iBAkF5C,iBAAA,CA3DwB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2DmB,SA3DnB,CAAA,EA2D4B,kBAAA,CAAA,GAAA,CAAA,OA3D5B;iBA+DxB,iBAAA,CA9DP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA8DkD,SA9DlD,CAAA,EA8D2D,kBAAA,CAAA,GAAA,CAAA,OA9D3D;iBA0EO,gBAAA,CAzEP;EAAA,SAAA;EAAA,GAAA;CAAA,EA4EC,oBAAA,CAAqB,UA5EtB,GAAA;EAEC,GAAA,CAAA,EA2EK,OAAA,CAAM,SA3EU,CA2EA,oBAAA,CAAqB,QA3ErB,CAAA;CACA,CAAA,EA2EvB,kBAAA,CAAA,GAAA,CAAA,OA3E4C;iBAuFpC,sBAAA,CAvFK;EAAA,SAAA;EAAA,GAAA;CAAA,EA0FX,oBAAA,CAAqB,gBA1FV,GAAA;EACb,GAAA,CAAA,EA0FO,OAAA,CAAM,SA1Fb,CA0FuB,oBAAA,CAAqB,cA1F5C,CAAA;CAAA,CAAA,EA2FA,kBAAA,CAAA,GAAA,CAAA,OA3FA;AAAA,iBAuGQ,iBAAA,CAhFP;EAHsB,SAAA;EAAA,GAAA;CAAA,EAsFrB,oBAAA,CAAqB,WAnFtB,GAAA;EAEO,GAAA,CAAA,EAkFD,OAAA,CAAM,SAlFa,CAkFH,oBAAA,CAAqB,SAlFlB,CAAA;CACzB,CAAA,EAkFD,kBAAA,CAAA,GAAA,CAAA,OAlFC;iBA6FO,iBAAA,CA5FP;EAAA,SAAA;EAAA,GAAA;CAAA,EA+FC,oBAAA,CAAqB,WA/FtB,GAAA;EAEC,GAAA,CAAA,EA8FK,OAAA,CAAM,SA9FU,CA8FA,oBAAA,CAAqB,SA9FrB,CAAA;CACA,CAAA,EA8FvB,kBAAA,CAAA,GAAA,CAAA,OA9F4C"}
@@ -1,9 +1,9 @@
1
- import { cn } from "../-core/src/utils.js";
2
1
  import { TextClassContext } from "./text.js";
3
2
  import { buttonTextVariants, buttonVariants } from "./button.js";
4
3
  import "react";
5
4
  import { Platform, View } from "react-native";
6
5
  import Animated, { FadeIn, FadeOut } from "react-native-reanimated";
6
+ import { cn } from "@lssm/lib.ui-kit-core/utils";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  import * as AlertDialogPrimitive from "@rn-primitives/alert-dialog";
9
9
 
@@ -94,4 +94,5 @@ function AlertDialogCancel({ className, ...props }) {
94
94
  }
95
95
 
96
96
  //#endregion
97
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
97
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
98
+ //# sourceMappingURL=alert-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.js","names":[],"sources":["../../ui/alert-dialog.tsx"],"sourcesContent":["import * as AlertDialogPrimitive from '@rn-primitives/alert-dialog';\nimport * as React from 'react';\nimport { Platform, View, type ViewProps } from 'react-native';\nimport Animated, { FadeIn, FadeOut } from 'react-native-reanimated';\nimport { buttonTextVariants, buttonVariants } from './button';\nimport { cn } from '@lssm/lib.ui-kit-core/utils';\nimport { TextClassContext } from './text';\n\nconst AlertDialog = AlertDialogPrimitive.Root;\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger;\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal;\n\nfunction AlertDialogOverlayWeb({\n className,\n ...props\n}: AlertDialogPrimitive.OverlayProps & {\n ref?: React.RefObject<AlertDialogPrimitive.OverlayRef>;\n}) {\n const { open } = AlertDialogPrimitive.useRootContext();\n return (\n <AlertDialogPrimitive.Overlay\n className={cn(\n 'absolute top-0 right-0 bottom-0 left-0 z-50 flex items-center justify-center bg-black/80 p-2',\n open\n ? 'web:animate-in web:fade-in-0'\n : 'web:animate-out web:fade-out-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogOverlayNative({\n className,\n children,\n ...props\n}: AlertDialogPrimitive.OverlayProps & {\n ref?: React.RefObject<AlertDialogPrimitive.OverlayRef>;\n}) {\n return (\n <AlertDialogPrimitive.Overlay\n className={cn(\n 'absolute top-0 right-0 bottom-0 left-0 z-50 flex items-center justify-center bg-black/80 p-2',\n className\n )}\n {...props}\n asChild\n >\n <Animated.View\n entering={FadeIn.duration(150)}\n exiting={FadeOut.duration(150)}\n >\n {children}\n </Animated.View>\n </AlertDialogPrimitive.Overlay>\n );\n}\n\nconst AlertDialogOverlay = Platform.select({\n web: AlertDialogOverlayWeb,\n default: AlertDialogOverlayNative,\n});\n\nfunction AlertDialogContent({\n className,\n portalHost,\n ...props\n}: AlertDialogPrimitive.ContentProps & {\n ref?: React.RefObject<AlertDialogPrimitive.ContentRef>;\n portalHost?: string;\n}) {\n const { open } = AlertDialogPrimitive.useRootContext();\n\n return (\n <AlertDialogPortal hostName={portalHost}>\n <AlertDialogOverlay>\n <AlertDialogPrimitive.Content\n className={cn(\n 'border-border bg-background shadow-foreground/10 web:duration-200 z-50 max-w-lg gap-4 rounded-lg border p-6 shadow-lg',\n open\n ? 'web:animate-in web:fade-in-0 web:zoom-in-95'\n : 'web:animate-out web:fade-out-0 web:zoom-out-95',\n className\n )}\n {...props}\n />\n </AlertDialogOverlay>\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({ className, ...props }: ViewProps) {\n return <View className={cn('flex flex-col gap-2', className)} {...props} />;\n}\n\nfunction AlertDialogFooter({ className, ...props }: ViewProps) {\n return (\n <View\n className={cn(\n 'flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: AlertDialogPrimitive.TitleProps & {\n ref?: React.RefObject<AlertDialogPrimitive.TitleRef>;\n}) {\n return (\n <AlertDialogPrimitive.Title\n className={cn(\n 'native:text-xl text-foreground text-lg font-semibold',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: AlertDialogPrimitive.DescriptionProps & {\n ref?: React.RefObject<AlertDialogPrimitive.DescriptionRef>;\n}) {\n return (\n <AlertDialogPrimitive.Description\n className={cn(\n 'native:text-base text-muted-foreground text-sm',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: AlertDialogPrimitive.ActionProps & {\n ref?: React.RefObject<AlertDialogPrimitive.ActionRef>;\n}) {\n return (\n <TextClassContext.Provider value={buttonTextVariants({ className })}>\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants(), className)}\n {...props}\n />\n </TextClassContext.Provider>\n );\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: AlertDialogPrimitive.CancelProps & {\n ref?: React.RefObject<AlertDialogPrimitive.CancelRef>;\n}) {\n return (\n <TextClassContext.Provider\n value={buttonTextVariants({ className, variant: 'outline' })}\n >\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: 'outline', className }))}\n {...props}\n />\n </TextClassContext.Provider>\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n"],"mappings":";;;;;;;;;;AAQA,MAAM,cAAc,qBAAqB;AAEzC,MAAM,qBAAqB,qBAAqB;AAEhD,MAAM,oBAAoB,qBAAqB;AAE/C,SAAS,sBAAsB,EAC7B,WACA,GAAG,SAGF;CACD,MAAM,EAAE,SAAS,qBAAqB,gBAAgB;AACtD,QACE,oBAAC,qBAAqB;EACpB,WAAW,GACT,gGACA,OACI,iCACA,kCACJ,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,yBAAyB,EAChC,WACA,UACA,GAAG,SAGF;AACD,QACE,oBAAC,qBAAqB;EACpB,WAAW,GACT,gGACA,UACD;EACD,GAAI;EACJ;YAEA,oBAAC,SAAS;GACR,UAAU,OAAO,SAAS,IAAI;GAC9B,SAAS,QAAQ,SAAS,IAAI;GAE7B;IACa;GACa;;AAInC,MAAM,qBAAqB,SAAS,OAAO;CACzC,KAAK;CACL,SAAS;CACV,CAAC;AAEF,SAAS,mBAAmB,EAC1B,WACA,YACA,GAAG,SAIF;CACD,MAAM,EAAE,SAAS,qBAAqB,gBAAgB;AAEtD,QACE,oBAAC;EAAkB,UAAU;YAC3B,oBAAC,gCACC,oBAAC,qBAAqB;GACpB,WAAW,GACT,yHACA,OACI,gDACA,kDACJ,UACD;GACD,GAAI;IACJ,GACiB;GACH;;AAIxB,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAoB;AAC7D,QAAO,oBAAC;EAAK,WAAW,GAAG,uBAAuB,UAAU;EAAE,GAAI;GAAS;;AAG7E,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAoB;AAC7D,QACE,oBAAC;EACC,WAAW,GACT,0DACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SAGF;AACD,QACE,oBAAC,qBAAqB;EACpB,WAAW,GACT,wDACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAGF;AACD,QACE,oBAAC,qBAAqB;EACpB,WAAW,GACT,kDACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SAGF;AACD,QACE,oBAAC,iBAAiB;EAAS,OAAO,mBAAmB,EAAE,WAAW,CAAC;YACjE,oBAAC,qBAAqB;GACpB,WAAW,GAAG,gBAAgB,EAAE,UAAU;GAC1C,GAAI;IACJ;GACwB;;AAIhC,SAAS,kBAAkB,EACzB,WACA,GAAG,SAGF;AACD,QACE,oBAAC,iBAAiB;EAChB,OAAO,mBAAmB;GAAE;GAAW,SAAS;GAAW,CAAC;YAE5D,oBAAC,qBAAqB;GACpB,WAAW,GAAG,eAAe;IAAE,SAAS;IAAW;IAAW,CAAC,CAAC;GAChE,GAAI;IACJ;GACwB"}
@@ -0,0 +1,37 @@
1
+ import { Text as Text$1 } from "./text.js";
2
+ import * as React$1 from "react";
3
+ import { View, ViewProps } from "react-native";
4
+ import { LucideIcon } from "lucide-react-native";
5
+ import * as react_jsx_runtime11 from "react/jsx-runtime";
6
+ import { VariantProps } from "class-variance-authority";
7
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
8
+
9
+ //#region ui/alert.d.ts
10
+ declare const alertVariants: (props?: ({
11
+ variant?: "default" | "destructive" | null | undefined;
12
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
13
+ declare function Alert({
14
+ className,
15
+ variant,
16
+ children,
17
+ icon: Icon,
18
+ iconSize,
19
+ iconClassName,
20
+ ...props
21
+ }: ViewProps & VariantProps<typeof alertVariants> & {
22
+ ref?: React$1.RefObject<View>;
23
+ icon: LucideIcon;
24
+ iconSize?: number;
25
+ iconClassName?: string;
26
+ }): react_jsx_runtime11.JSX.Element;
27
+ declare function AlertTitle({
28
+ className,
29
+ ...props
30
+ }: React$1.ComponentProps<typeof Text$1>): react_jsx_runtime11.JSX.Element;
31
+ declare function AlertDescription({
32
+ className,
33
+ ...props
34
+ }: React$1.ComponentProps<typeof Text$1>): react_jsx_runtime11.JSX.Element;
35
+ //#endregion
36
+ export { Alert, AlertDescription, AlertTitle };
37
+ //# sourceMappingURL=alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.d.ts","names":[],"sources":["../../ui/alert.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;cAQM;;IAaL,+BAAA,CAAA;iBAEQ,KAAA;;;;QAID;;;;GAIL,YACD,oBAAoB;EAxBhB,GAAA,CAAA,EAyBI,OAAA,CAAM,SAZf,CAYyB,IAZzB,CAAA;EAEQ,IAAA,EAWC,UAXI;EACZ,QAAA,CAAA,EAAA,MAAA;EACA,aAAA,CAAA,EAAA,MAAA;CACA,CAAA,EAWC,mBAAA,CAAA,GAAA,CAAA,OAXD;iBA8BO,UAAA,CA7BD;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgCL,OAAA,CAAM,cAhCD,CAAA,OAgCuB,MAhCvB,CAAA,CAAA,EAgC4B,mBAAA,CAAA,GAAA,CAAA,OAhC5B;iBA4CC,gBAAA,CA3CP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA8CC,OAAA,CAAM,cA9CP,CAAA,OA8C6B,MA9C7B,CAAA,CAAA,EA8CkC,mBAAA,CAAA,GAAA,CAAA,OA9ClC"}
package/dist/ui/alert.js CHANGED
@@ -1,7 +1,7 @@
1
- import { cn } from "../-core/src/utils.js";
2
1
  import { Text as Text$1 } from "./text.js";
3
2
  import "react";
4
3
  import { View } from "react-native";
4
+ import { cn } from "@lssm/lib.ui-kit-core/utils";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { cva } from "class-variance-authority";
7
7
  import { useTheme } from "@react-navigation/native";
@@ -46,4 +46,5 @@ function AlertDescription({ className, ...props }) {
46
46
  }
47
47
 
48
48
  //#endregion
49
- export { Alert, AlertDescription, AlertTitle };
49
+ export { Alert, AlertDescription, AlertTitle };
50
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","names":["Text"],"sources":["../../ui/alert.tsx"],"sourcesContent":["import { useTheme } from '@react-navigation/native';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport type { LucideIcon } from 'lucide-react-native';\nimport * as React from 'react';\nimport { View, type ViewProps } from 'react-native';\nimport { cn } from '@lssm/lib.ui-kit-core/utils';\nimport { Text } from './text';\n\nconst alertVariants = cva(\n 'relative bg-background w-full rounded-lg border border-border p-4 shadow-2xs shadow-foreground/10',\n {\n variants: {\n variant: {\n default: '',\n destructive: 'border-destructive',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nfunction Alert({\n className,\n variant,\n children,\n icon: Icon,\n iconSize = 16,\n iconClassName,\n ...props\n}: ViewProps &\n VariantProps<typeof alertVariants> & {\n ref?: React.RefObject<View>;\n icon: LucideIcon;\n iconSize?: number;\n iconClassName?: string;\n }) {\n const { colors } = useTheme();\n return (\n <View\n role=\"alert\"\n className={alertVariants({ variant, className })}\n {...props}\n >\n <View className=\"absolute top-4 left-3.5 -translate-y-0.5\">\n <Icon\n size={iconSize}\n color={variant === 'destructive' ? colors.notification : colors.text}\n />\n </View>\n {children}\n </View>\n );\n}\n\nfunction AlertTitle({\n className,\n ...props\n}: React.ComponentProps<typeof Text>) {\n return (\n <Text\n className={cn(\n 'text-foreground mb-1 pl-7 text-base leading-none font-medium tracking-tight',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<typeof Text>) {\n return (\n <Text\n className={cn('text-foreground pl-7 text-sm leading-relaxed', className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle };\n"],"mappings":";;;;;;;;;AAQA,MAAM,gBAAgB,IACpB,qGACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aAAa;EACd,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,MAAM,EACb,WACA,SACA,UACA,MAAM,MACN,WAAW,IACX,eACA,GAAG,SAOA;CACH,MAAM,EAAE,WAAW,UAAU;AAC7B,QACE,qBAAC;EACC,MAAK;EACL,WAAW,cAAc;GAAE;GAAS;GAAW,CAAC;EAChD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC;IACC,MAAM;IACN,OAAO,YAAY,gBAAgB,OAAO,eAAe,OAAO;KAChE;IACG,EACN;GACI;;AAIX,SAAS,WAAW,EAClB,WACA,GAAG,SACiC;AACpC,QACE,oBAACA;EACC,WAAW,GACT,+EACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SACiC;AACpC,QACE,oBAACA;EACC,WAAW,GAAG,gDAAgD,UAAU;EACxE,GAAI;GACJ"}
@@ -0,0 +1,12 @@
1
+ import * as react0 from "react";
2
+ import * as react_native0 from "react-native";
3
+ import * as _rn_primitives_types0 from "@rn-primitives/types";
4
+
5
+ //#region ui/aspect-ratio.d.ts
6
+ declare const AspectRatio: react0.ForwardRefExoticComponent<Omit<_rn_primitives_types0.SlottableViewProps, "style"> & {
7
+ ratio?: number;
8
+ style?: react_native0.ViewStyle;
9
+ } & react0.RefAttributes<react_native0.View>>;
10
+ //#endregion
11
+ export { AspectRatio };
12
+ //# sourceMappingURL=aspect-ratio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aspect-ratio.d.ts","names":[],"sources":["../../ui/aspect-ratio.tsx"],"sourcesContent":[],"mappings":";;;;;cAEM,oBAAW,0BAAA,KAA4B,qBAAA,CAA5B,kBAAA;;UAAA,aAAA,CAAA"}
@@ -4,4 +4,5 @@ import * as AspectRatioPrimitive from "@rn-primitives/aspect-ratio";
4
4
  const AspectRatio = AspectRatioPrimitive.Root;
5
5
 
6
6
  //#endregion
7
- export { AspectRatio };
7
+ export { AspectRatio };
8
+ //# sourceMappingURL=aspect-ratio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aspect-ratio.js","names":[],"sources":["../../ui/aspect-ratio.tsx"],"sourcesContent":["import * as AspectRatioPrimitive from '@rn-primitives/aspect-ratio';\n\nconst AspectRatio = AspectRatioPrimitive.Root;\n\nexport { AspectRatio };\n"],"mappings":";;;AAEA,MAAM,cAAc,qBAAqB"}
@@ -0,0 +1,8 @@
1
+ import { FilterSelectProps } from "./types.js";
2
+ import React from "react";
3
+
4
+ //#region ui/atoms/FilterSelect/FilterSelect.d.ts
5
+ declare const FilterSelect: React.FC<FilterSelectProps>;
6
+ //#endregion
7
+ export { FilterSelect };
8
+ //# sourceMappingURL=FilterSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterSelect.d.ts","names":[],"sources":["../../../../ui/atoms/FilterSelect/FilterSelect.tsx"],"sourcesContent":[],"mappings":";;;;cAca,cAAc,KAAA,CAAM,GAAG"}
@@ -54,4 +54,5 @@ const FilterSelect = ({ value, options, onChange, placeholder = "Sélectionner..
54
54
  };
55
55
 
56
56
  //#endregion
57
- export { FilterSelect };
57
+ export { FilterSelect };
58
+ //# sourceMappingURL=FilterSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterSelect.js","names":["FilterSelect: React.FC<FilterSelectProps>","Text"],"sources":["../../../../ui/atoms/FilterSelect/FilterSelect.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '../../select';\nimport { Label } from '../../label';\nimport { HStack } from '../../stack';\nimport { View } from 'react-native';\nimport { Text } from '../../text';\nimport type { FilterSelectProps } from './types';\n\nexport const FilterSelect: React.FC<FilterSelectProps> = ({\n value,\n options,\n onChange,\n placeholder = 'Sélectionner...',\n label,\n disabled = false,\n className = '',\n showCounts = false,\n}) => {\n return (\n <HStack className={`space-y-2 ${className}`}>\n {label && (\n <Label className=\"text-foreground text-base font-medium\">{label}</Label>\n )}\n <Select value={value} onValueChange={onChange} disabled={disabled}>\n <SelectTrigger className=\"w-full\">\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent className=\"bg-background\">\n {/* All/Reset option */}\n <SelectItem value=\"all\" label=\"Tous\">\n <Text>Tous</Text>\n {showCounts && (\n <View className=\"text-muted-foreground ml-2 text-sm\">\n ({options.reduce((sum, option) => sum + (option.count || 0), 0)}\n )\n </View>\n )}\n </SelectItem>\n\n {/* Filter options */}\n {options.map((option) => (\n <SelectItem\n key={option.value}\n value={option.value}\n label={option.label}\n >\n <HStack className=\"flex w-full items-center justify-between\">\n <Text>{option.label}</Text>\n {showCounts && option.count !== undefined && (\n <Text className=\"text-muted-foreground ml-2 text-sm\">\n ({option.count})\n </Text>\n )}\n </HStack>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </HStack>\n );\n};\n"],"mappings":";;;;;;;;;AAcA,MAAaA,gBAA6C,EACxD,OACA,SACA,UACA,cAAc,mBACd,OACA,WAAW,OACX,YAAY,IACZ,aAAa,YACT;AACJ,QACE,qBAAC;EAAO,WAAW,aAAa;aAC7B,SACC,oBAAC;GAAM,WAAU;aAAyC;IAAc,EAE1E,qBAAC;GAAc;GAAO,eAAe;GAAoB;cACvD,oBAAC;IAAc,WAAU;cACvB,oBAAC,eAAyB,cAAe;KAC3B,EAChB,qBAAC;IAAc,WAAU;eAEvB,qBAAC;KAAW,OAAM;KAAM,OAAM;gBAC5B,oBAACC,oBAAK,SAAW,EAChB,cACC,qBAAC;MAAK,WAAU;;OAAqC;OACjD,QAAQ,QAAQ,KAAK,WAAW,OAAO,OAAO,SAAS,IAAI,EAAE;OAAC;;OAE3D;MAEE,EAGZ,QAAQ,KAAK,WACZ,oBAAC;KAEC,OAAO,OAAO;KACd,OAAO,OAAO;eAEd,qBAAC;MAAO,WAAU;iBAChB,oBAACA,oBAAM,OAAO,QAAa,EAC1B,cAAc,OAAO,UAAU,UAC9B,qBAACA;OAAK,WAAU;;QAAqC;QACjD,OAAO;QAAM;;QACV;OAEF;OAXJ,OAAO,MAYD,CACb;KACY;IACT;GACF"}
@@ -0,0 +1,3 @@
1
+ import { FilterOption, FilterSelectProps } from "./types.js";
2
+ import { FilterSelect } from "./FilterSelect.js";
3
+ export { type FilterOption, FilterSelect, type FilterSelectProps };
@@ -0,0 +1,19 @@
1
+ //#region ui/atoms/FilterSelect/types.d.ts
2
+ interface FilterOption {
3
+ value: string;
4
+ label: string;
5
+ count?: number;
6
+ }
7
+ interface FilterSelectProps {
8
+ value: FilterOption;
9
+ options: FilterOption[];
10
+ onChange: (value: FilterOption | undefined) => void;
11
+ placeholder?: string;
12
+ label?: string;
13
+ disabled?: boolean;
14
+ className?: string;
15
+ showCounts?: boolean;
16
+ }
17
+ //#endregion
18
+ export { FilterOption, FilterSelectProps };
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../ui/atoms/FilterSelect/types.ts"],"sourcesContent":[],"mappings":";UAAiB,YAAA;EAAA,KAAA,EAAA,MAAA;EAMA,KAAA,EAAA,MAAA;EACR,KAAA,CAAA,EAAA,MAAA;;AAEW,UAHH,iBAAA,CAGG;EAAY,KAAA,EAFvB,YAEuB;WADrB;oBACS"}
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+
3
+ //#region ui/atoms/LoadingSpinner/LoadingSpinner.d.ts
4
+ interface LoadingSpinnerProps {
5
+ size?: 'sm' | 'md' | 'lg' | 'xl';
6
+ className?: string;
7
+ text?: string;
8
+ fullScreen?: boolean;
9
+ }
10
+ declare const LoadingSpinner: React.FC<LoadingSpinnerProps>;
11
+ declare const SkeletonLine: React.FC<{
12
+ className?: string;
13
+ }>;
14
+ declare const SkeletonCard: React.FC<{
15
+ className?: string;
16
+ }>;
17
+ declare const SkeletonTable: React.FC<{
18
+ rows?: number;
19
+ cols?: number;
20
+ }>;
21
+ //#endregion
22
+ export { LoadingSpinner, SkeletonCard, SkeletonLine, SkeletonTable };
23
+ //# sourceMappingURL=LoadingSpinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingSpinner.d.ts","names":[],"sources":["../../../../ui/atoms/LoadingSpinner/LoadingSpinner.tsx"],"sourcesContent":[],"mappings":";;;UAMU,mBAAA;;EAAA,SAAA,CAAA,EAAA,MAAA;EAcG,IAAA,CAAA,EAAA,MAAA;EAgCA,UAAA,CAAA,EAAA,OAIZ;AAED;AAea,cArDA,cAqDe,EArDC,KAAA,CAAM,EAqDC,CArDE,mBAqDF,CAAA;cArBvB,cAAc,KAAA,CAAM;;;cAMpB,cAAc,KAAA,CAAM;;;cAepB,eAAe,KAAA,CAAM"}
@@ -1,9 +1,9 @@
1
- import { LoaderCircle } from "../../../node_modules/lucide-react/dist/esm/icons/loader-circle.js";
2
1
  import { P } from "../../typography.js";
3
2
  import { cn } from "../../utils.js";
4
3
  import React from "react";
5
4
  import { View } from "react-native";
6
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { Loader2 } from "lucide-react";
7
7
 
8
8
  //#region ui/atoms/LoadingSpinner/LoadingSpinner.tsx
9
9
  const sizeClasses = {
@@ -15,7 +15,7 @@ const sizeClasses = {
15
15
  const LoadingSpinner = ({ size = "md", className, text, fullScreen = false }) => {
16
16
  const spinner = /* @__PURE__ */ jsxs(View, {
17
17
  className: cn("flex flex-col items-center justify-center gap-2", className),
18
- children: [/* @__PURE__ */ jsx(LoaderCircle, { className: cn("text-primary-600 animate-spin", sizeClasses[size]) }), text && /* @__PURE__ */ jsx(P, {
18
+ children: [/* @__PURE__ */ jsx(Loader2, { className: cn("text-primary-600 animate-spin", sizeClasses[size]) }), text && /* @__PURE__ */ jsx(P, {
19
19
  className: "animate-pulse text-base text-gray-600",
20
20
  children: text
21
21
  })]
@@ -44,4 +44,5 @@ const SkeletonTable = ({ rows = 5, cols = 4 }) => /* @__PURE__ */ jsx(View, {
44
44
  });
45
45
 
46
46
  //#endregion
47
- export { LoadingSpinner, SkeletonCard, SkeletonLine, SkeletonTable };
47
+ export { LoadingSpinner, SkeletonCard, SkeletonLine, SkeletonTable };
48
+ //# sourceMappingURL=LoadingSpinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingSpinner.js","names":["LoadingSpinner: React.FC<LoadingSpinnerProps>","SkeletonLine: React.FC<{ className?: string }>","SkeletonCard: React.FC<{ className?: string }>","SkeletonTable: React.FC<{ rows?: number; cols?: number }>"],"sources":["../../../../ui/atoms/LoadingSpinner/LoadingSpinner.tsx"],"sourcesContent":["import React from 'react';\nimport { Loader2 } from 'lucide-react';\nimport { cn } from '../../utils';\nimport { P } from '../../typography';\nimport { View } from 'react-native';\n\ninterface LoadingSpinnerProps {\n size?: 'sm' | 'md' | 'lg' | 'xl';\n className?: string;\n text?: string;\n fullScreen?: boolean;\n}\n\nconst sizeClasses = {\n sm: 'h-4 w-4',\n md: 'h-6 w-6',\n lg: 'h-8 w-8',\n xl: 'h-12 w-12',\n};\n\nexport const LoadingSpinner: React.FC<LoadingSpinnerProps> = ({\n size = 'md',\n className,\n text,\n fullScreen = false,\n}) => {\n const spinner = (\n <View\n className={cn(\n 'flex flex-col items-center justify-center gap-2',\n className\n )}\n >\n <Loader2\n className={cn('text-primary-600 animate-spin', sizeClasses[size])}\n />\n {text && <P className=\"animate-pulse text-base text-gray-600\">{text}</P>}\n </View>\n );\n\n if (fullScreen) {\n return (\n <View className=\"fixed inset-0 z-50 flex items-center justify-center bg-white/80 backdrop-blur-xs\">\n {spinner}\n </View>\n );\n }\n\n return spinner;\n};\n\n// Skeleton loading components for better UX\nexport const SkeletonLine: React.FC<{ className?: string }> = ({\n className,\n}) => (\n <View className={cn('h-4 animate-pulse rounded-xs bg-gray-200', className)} />\n);\n\nexport const SkeletonCard: React.FC<{ className?: string }> = ({\n className,\n}) => (\n <View\n className={cn(\n 'animate-pulse space-y-3 rounded-lg bg-gray-200 p-4',\n className\n )}\n >\n <SkeletonLine className=\"h-6 w-3/4\" />\n <SkeletonLine className=\"h-4 w-full\" />\n <SkeletonLine className=\"h-4 w-2/3\" />\n </View>\n);\n\nexport const SkeletonTable: React.FC<{ rows?: number; cols?: number }> = ({\n rows = 5,\n cols = 4,\n}) => (\n <View className=\"space-y-3\">\n {Array.from({ length: rows }).map((_, i) => (\n <View key={i} className=\"flex space-x-4\">\n {Array.from({ length: cols }).map((_, j) => (\n <SkeletonLine key={j} className=\"flex-1\" />\n ))}\n </View>\n ))}\n </View>\n);\n"],"mappings":";;;;;;;;AAaA,MAAM,cAAc;CAClB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,MAAaA,kBAAiD,EAC5D,OAAO,MACP,WACA,MACA,aAAa,YACT;CACJ,MAAM,UACJ,qBAAC;EACC,WAAW,GACT,mDACA,UACD;aAED,oBAAC,WACC,WAAW,GAAG,iCAAiC,YAAY,MAAM,GACjE,EACD,QAAQ,oBAAC;GAAE,WAAU;aAAyC;IAAS;GACnE;AAGT,KAAI,WACF,QACE,oBAAC;EAAK,WAAU;YACb;GACI;AAIX,QAAO;;AAIT,MAAaC,gBAAkD,EAC7D,gBAEA,oBAAC,QAAK,WAAW,GAAG,4CAA4C,UAAU,GAAI;AAGhF,MAAaC,gBAAkD,EAC7D,gBAEA,qBAAC;CACC,WAAW,GACT,sDACA,UACD;;EAED,oBAAC,gBAAa,WAAU,cAAc;EACtC,oBAAC,gBAAa,WAAU,eAAe;EACvC,oBAAC,gBAAa,WAAU,cAAc;;EACjC;AAGT,MAAaC,iBAA6D,EACxE,OAAO,GACP,OAAO,QAEP,oBAAC;CAAK,WAAU;WACb,MAAM,KAAK,EAAE,QAAQ,MAAM,CAAC,CAAC,KAAK,GAAG,MACpC,oBAAC;EAAa,WAAU;YACrB,MAAM,KAAK,EAAE,QAAQ,MAAM,CAAC,CAAC,KAAK,KAAG,MACpC,oBAAC,gBAAqB,WAAU,YAAb,EAAwB,CAC3C;IAHO,EAIJ,CACP;EACG"}
@@ -0,0 +1,2 @@
1
+ import { LoadingSpinner, SkeletonCard, SkeletonLine, SkeletonTable } from "./LoadingSpinner.js";
2
+ export { LoadingSpinner, SkeletonCard, SkeletonLine, SkeletonTable };
@@ -0,0 +1,8 @@
1
+ import { PaginationProps } from "./types.js";
2
+ import React from "react";
3
+
4
+ //#region ui/atoms/Pagination/Pagination.d.ts
5
+ declare const Pagination: React.FC<PaginationProps>;
6
+ //#endregion
7
+ export { Pagination };
8
+ //# sourceMappingURL=Pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.d.ts","names":[],"sources":["../../../../ui/atoms/Pagination/Pagination.tsx"],"sourcesContent":[],"mappings":";;;;cAmBa,YAAY,KAAA,CAAM,GAAG"}
@@ -1,13 +1,10 @@
1
1
  import { Text as Text$1 } from "../../text.js";
2
2
  import { Button } from "../../button.js";
3
- import { ChevronLeft } from "../../../node_modules/lucide-react/dist/esm/icons/chevron-left.js";
4
- import { ChevronRight } from "../../../node_modules/lucide-react/dist/esm/icons/chevron-right.js";
5
- import { ChevronsLeft } from "../../../node_modules/lucide-react/dist/esm/icons/chevrons-left.js";
6
- import { ChevronsRight } from "../../../node_modules/lucide-react/dist/esm/icons/chevrons-right.js";
7
3
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../../select.js";
8
4
  import React from "react";
9
5
  import { View } from "react-native";
10
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from "lucide-react";
11
8
 
12
9
  //#region ui/atoms/Pagination/Pagination.tsx
13
10
  const Pagination = ({ currentPage, totalPages, totalItems, itemsPerPage, onPageChange, onItemsPerPageChange, disabled = false, className = "", showItemsPerPage = true, itemsPerPageOptions = [
@@ -162,4 +159,5 @@ const Pagination = ({ currentPage, totalPages, totalItems, itemsPerPage, onPageC
162
159
  };
163
160
 
164
161
  //#endregion
165
- export { Pagination };
162
+ export { Pagination };
163
+ //# sourceMappingURL=Pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.js","names":["Pagination: React.FC<PaginationProps>","Text"],"sources":["../../../../ui/atoms/Pagination/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport {\n ChevronLeft,\n ChevronRight,\n ChevronsLeft,\n ChevronsRight,\n} from 'lucide-react';\nimport { Button } from '../../button';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '../../select';\nimport type { PaginationProps } from './types';\nimport { View } from 'react-native';\nimport { Text } from '../../text';\n\nexport const Pagination: React.FC<PaginationProps> = ({\n currentPage,\n totalPages,\n totalItems,\n itemsPerPage,\n onPageChange,\n onItemsPerPageChange,\n disabled = false,\n className = '',\n showItemsPerPage = true,\n itemsPerPageOptions = [10, 25, 50, 100],\n}) => {\n const startItem = (currentPage - 1) * itemsPerPage + 1;\n const endItem = Math.min(currentPage * itemsPerPage, totalItems);\n\n const canGoPrevious = currentPage > 1 && !disabled;\n const canGoNext = currentPage < totalPages && !disabled;\n\n const getVisiblePageNumbers = () => {\n if (totalPages <= 7) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n if (currentPage <= 3) {\n return [1, 2, 3, 4, 5, -1, totalPages]; // -1 represents ellipsis\n }\n\n if (currentPage >= totalPages - 2) {\n return [\n 1,\n -1,\n totalPages - 4,\n totalPages - 3,\n totalPages - 2,\n totalPages - 1,\n totalPages,\n ];\n }\n\n return [\n 1,\n -1,\n currentPage - 1,\n currentPage,\n currentPage + 1,\n -1,\n totalPages,\n ];\n };\n\n if (totalPages === 0) return null;\n\n return (\n <View\n className={`flex flex-col items-center justify-between gap-4 sm:flex-row ${className}`}\n >\n {/* Items info */}\n <View className=\"text-muted-foreground order-2 text-base sm:order-1\">\n Affichage de {startItem} à {endItem} sur {totalItems} résultats\n </View>\n\n {/* Pagination controls */}\n <View className=\"order-1 flex items-center gap-2 sm:order-2\">\n {/* First page */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onPress={() => onPageChange(1)}\n disabled={!canGoPrevious}\n className=\"hidden h-8 w-8 p-0 sm:flex\"\n >\n <ChevronsLeft className=\"h-4 w-4\" />\n <Text className=\"sr-only\">Première page</Text>\n </Button>\n\n {/* Previous page */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onPress={() => onPageChange(currentPage - 1)}\n disabled={!canGoPrevious}\n className=\"h-8 w-8 p-0\"\n >\n <ChevronLeft className=\"h-4 w-4\" />\n <Text className=\"sr-only\">Page précédente</Text>\n </Button>\n\n {/* Page numbers */}\n <View className=\"flex items-center gap-1\">\n {getVisiblePageNumbers().map((page, index) => {\n if (page === -1) {\n return (\n <View\n key={`ellipsis-${index}`}\n className=\"text-muted-foreground px-2 py-1\"\n >\n ...\n </View>\n );\n }\n\n return (\n <Button\n key={page}\n variant={page === currentPage ? 'default' : 'outline'}\n size=\"sm\"\n onPress={() => onPageChange(page)}\n disabled={disabled}\n className=\"h-8 min-w-8 px-2\"\n >\n <Text>{page}</Text>\n </Button>\n );\n })}\n </View>\n\n {/* Next page */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onPress={() => onPageChange(currentPage + 1)}\n disabled={!canGoNext}\n className=\"h-8 w-8 p-0\"\n >\n <ChevronRight className=\"h-4 w-4\" />\n <Text className=\"sr-only\">Page suivante</Text>\n </Button>\n\n {/* Last page */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onPress={() => onPageChange(totalPages)}\n disabled={!canGoNext}\n className=\"hidden h-8 w-8 p-0 sm:flex\"\n >\n <ChevronsRight className=\"h-4 w-4\" />\n <Text className=\"sr-only\">Dernière page</Text>\n </Button>\n </View>\n\n {/* Items per page */}\n {showItemsPerPage && onItemsPerPageChange && (\n <View className=\"order-3 flex items-center gap-2 text-base\">\n <Text className=\"text-muted-foreground\">Afficher:</Text>\n <Select\n value={{\n value: itemsPerPage.toString(),\n label: itemsPerPage.toString(),\n }}\n onValueChange={(value) =>\n onItemsPerPageChange(parseInt(value?.value || ''))\n }\n disabled={disabled}\n >\n <SelectTrigger className=\"h-8 w-16\">\n <SelectValue placeholder=\"Afficher:\" />\n </SelectTrigger>\n <SelectContent className=\"bg-background\">\n {itemsPerPageOptions.map((option) => (\n <SelectItem\n key={option}\n value={option.toString()}\n label={option.toString()}\n >\n {option}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </View>\n )}\n </View>\n );\n};\n"],"mappings":";;;;;;;;;AAmBA,MAAaA,cAAyC,EACpD,aACA,YACA,YACA,cACA,cACA,sBACA,WAAW,OACX,YAAY,IACZ,mBAAmB,MACnB,sBAAsB;CAAC;CAAI;CAAI;CAAI;CAAI,OACnC;CACJ,MAAM,aAAa,cAAc,KAAK,eAAe;CACrD,MAAM,UAAU,KAAK,IAAI,cAAc,cAAc,WAAW;CAEhE,MAAM,gBAAgB,cAAc,KAAK,CAAC;CAC1C,MAAM,YAAY,cAAc,cAAc,CAAC;CAE/C,MAAM,8BAA8B;AAClC,MAAI,cAAc,EAChB,QAAO,MAAM,KAAK,EAAE,QAAQ,YAAY,GAAG,GAAG,MAAM,IAAI,EAAE;AAG5D,MAAI,eAAe,EACjB,QAAO;GAAC;GAAG;GAAG;GAAG;GAAG;GAAG;GAAI;GAAW;AAGxC,MAAI,eAAe,aAAa,EAC9B,QAAO;GACL;GACA;GACA,aAAa;GACb,aAAa;GACb,aAAa;GACb,aAAa;GACb;GACD;AAGH,SAAO;GACL;GACA;GACA,cAAc;GACd;GACA,cAAc;GACd;GACA;GACD;;AAGH,KAAI,eAAe,EAAG,QAAO;AAE7B,QACE,qBAAC;EACC,WAAW,gEAAgE;;GAG3E,qBAAC;IAAK,WAAU;;KAAqD;KACrD;KAAU;KAAI;KAAQ;KAAM;KAAW;;KAChD;GAGP,qBAAC;IAAK,WAAU;;KAEd,qBAAC;MACC,SAAQ;MACR,MAAK;MACL,eAAe,aAAa,EAAE;MAC9B,UAAU,CAAC;MACX,WAAU;iBAEV,oBAAC,gBAAa,WAAU,YAAY,EACpC,oBAACC;OAAK,WAAU;iBAAU;QAAoB;OACvC;KAGT,qBAAC;MACC,SAAQ;MACR,MAAK;MACL,eAAe,aAAa,cAAc,EAAE;MAC5C,UAAU,CAAC;MACX,WAAU;iBAEV,oBAAC,eAAY,WAAU,YAAY,EACnC,oBAACA;OAAK,WAAU;iBAAU;QAAsB;OACzC;KAGT,oBAAC;MAAK,WAAU;gBACb,uBAAuB,CAAC,KAAK,MAAM,UAAU;AAC5C,WAAI,SAAS,GACX,QACE,oBAAC;QAEC,WAAU;kBACX;UAFM,YAAY,QAIZ;AAIX,cACE,oBAAC;QAEC,SAAS,SAAS,cAAc,YAAY;QAC5C,MAAK;QACL,eAAe,aAAa,KAAK;QACvB;QACV,WAAU;kBAEV,oBAACA,oBAAM,OAAY;UAPd,KAQE;QAEX;OACG;KAGP,qBAAC;MACC,SAAQ;MACR,MAAK;MACL,eAAe,aAAa,cAAc,EAAE;MAC5C,UAAU,CAAC;MACX,WAAU;iBAEV,oBAAC,gBAAa,WAAU,YAAY,EACpC,oBAACA;OAAK,WAAU;iBAAU;QAAoB;OACvC;KAGT,qBAAC;MACC,SAAQ;MACR,MAAK;MACL,eAAe,aAAa,WAAW;MACvC,UAAU,CAAC;MACX,WAAU;iBAEV,oBAAC,iBAAc,WAAU,YAAY,EACrC,oBAACA;OAAK,WAAU;iBAAU;QAAoB;OACvC;;KACJ;GAGN,oBAAoB,wBACnB,qBAAC;IAAK,WAAU;eACd,oBAACA;KAAK,WAAU;eAAwB;MAAgB,EACxD,qBAAC;KACC,OAAO;MACL,OAAO,aAAa,UAAU;MAC9B,OAAO,aAAa,UAAU;MAC/B;KACD,gBAAgB,UACd,qBAAqB,SAAS,OAAO,SAAS,GAAG,CAAC;KAE1C;gBAEV,oBAAC;MAAc,WAAU;gBACvB,oBAAC,eAAY,aAAY,cAAc;OACzB,EAChB,oBAAC;MAAc,WAAU;gBACtB,oBAAoB,KAAK,WACxB,oBAAC;OAEC,OAAO,OAAO,UAAU;OACxB,OAAO,OAAO,UAAU;iBAEvB;SAJI,OAKM,CACb;OACY;MACT;KACJ;;GAEJ"}
@@ -0,0 +1,3 @@
1
+ import { PaginationProps } from "./types.js";
2
+ import { Pagination } from "./Pagination.js";
3
+ export { Pagination, type PaginationProps };
@@ -0,0 +1,16 @@
1
+ //#region ui/atoms/Pagination/types.d.ts
2
+ interface PaginationProps {
3
+ currentPage: number;
4
+ totalPages: number;
5
+ totalItems: number;
6
+ itemsPerPage: number;
7
+ onPageChange: (page: number) => void;
8
+ onItemsPerPageChange?: (itemsPerPage: number) => void;
9
+ disabled?: boolean;
10
+ className?: string;
11
+ showItemsPerPage?: boolean;
12
+ itemsPerPageOptions?: number[];
13
+ }
14
+ //#endregion
15
+ export { PaginationProps };
16
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../ui/atoms/Pagination/types.ts"],"sourcesContent":[],"mappings":";UAAiB,eAAA;EAAA,WAAA,EAAA,MAAe"}
@@ -0,0 +1,8 @@
1
+ import { SearchInputProps } from "./types.js";
2
+ import React from "react";
3
+
4
+ //#region ui/atoms/SearchInput/SearchInput.d.ts
5
+ declare const SearchInput: React.FC<SearchInputProps>;
6
+ //#endregion
7
+ export { SearchInput };
8
+ //# sourceMappingURL=SearchInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.d.ts","names":[],"sources":["../../../../ui/atoms/SearchInput/SearchInput.tsx"],"sourcesContent":[],"mappings":";;;;cAQa,aAAa,KAAA,CAAM,GAAG"}
@@ -1,14 +1,13 @@
1
1
  import { Text as Text$1 } from "../../text.js";
2
2
  import { Button } from "../../button.js";
3
- import { Search } from "../../../node_modules/lucide-react/dist/esm/icons/search.js";
4
- import { X } from "../../../node_modules/lucide-react/dist/esm/icons/x.js";
5
3
  import { Input } from "../../input.js";
6
4
  import React from "react";
7
5
  import { View } from "react-native";
8
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Search, X } from "lucide-react";
9
8
 
10
9
  //#region ui/atoms/SearchInput/SearchInput.tsx
11
- const SearchInput = ({ value, onChange, placeholder = "Rechercher...", onClear, disabled = false, className = "", autoFocus = false }) => {
10
+ const SearchInput = ({ value, onChange, placeholder = "Rechercher...", onClear, disabled = false, className = "" }) => {
12
11
  const handleClear = () => {
13
12
  onChange("");
14
13
  onClear?.();
@@ -25,7 +24,6 @@ const SearchInput = ({ value, onChange, placeholder = "Rechercher...", onClear,
25
24
  onChange: (e) => onChange(e.nativeEvent.text),
26
25
  placeholder,
27
26
  editable: !disabled,
28
- autoFocus,
29
27
  className: "pr-10 pl-10"
30
28
  }),
31
29
  value && /* @__PURE__ */ jsx(View, {
@@ -47,4 +45,5 @@ const SearchInput = ({ value, onChange, placeholder = "Rechercher...", onClear,
47
45
  };
48
46
 
49
47
  //#endregion
50
- export { SearchInput };
48
+ export { SearchInput };
49
+ //# sourceMappingURL=SearchInput.js.map