@ryanhe919/lumen-ui 0.2.1 → 0.3.0

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 (503) hide show
  1. package/LICENSE +21 -0
  2. package/dist/LMBadge-BBDOGTps.js +126 -0
  3. package/dist/LMBadge-BBDOGTps.js.map +1 -0
  4. package/dist/LMBadge-D95iccla.cjs +125 -0
  5. package/dist/LMBadge-D95iccla.cjs.map +1 -0
  6. package/dist/LMButton-B258yfky.cjs +333 -0
  7. package/dist/LMButton-B258yfky.cjs.map +1 -0
  8. package/dist/LMButton-S4xQSohi.js +334 -0
  9. package/dist/LMButton-S4xQSohi.js.map +1 -0
  10. package/dist/LMCard-D7ABNC95.js +207 -0
  11. package/dist/LMCard-D7ABNC95.js.map +1 -0
  12. package/dist/LMCard-D_K051f2.cjs +206 -0
  13. package/dist/LMCard-D_K051f2.cjs.map +1 -0
  14. package/dist/LMCheckbox-C2YvEQ8f.cjs +197 -0
  15. package/dist/LMCheckbox-C2YvEQ8f.cjs.map +1 -0
  16. package/dist/LMCheckbox-DaaJRjKt.js +198 -0
  17. package/dist/LMCheckbox-DaaJRjKt.js.map +1 -0
  18. package/dist/LMDatePicker-BlUwN4On.cjs +565 -0
  19. package/dist/LMDatePicker-BlUwN4On.cjs.map +1 -0
  20. package/dist/LMDatePicker-DSv28BFH.js +566 -0
  21. package/dist/LMDatePicker-DSv28BFH.js.map +1 -0
  22. package/dist/LMDrawer--lFV_a3m.cjs +207 -0
  23. package/dist/LMDrawer--lFV_a3m.cjs.map +1 -0
  24. package/dist/LMDrawer-DJ5ugeZR.js +208 -0
  25. package/dist/LMDrawer-DJ5ugeZR.js.map +1 -0
  26. package/dist/LMDropdown-wiTMuyhU.js +285 -0
  27. package/dist/LMDropdown-wiTMuyhU.js.map +1 -0
  28. package/dist/LMDropdown-yl5l7qtz.cjs +284 -0
  29. package/dist/LMDropdown-yl5l7qtz.cjs.map +1 -0
  30. package/dist/LMEmpty-BedQxpbi.cjs +188 -0
  31. package/dist/LMEmpty-BedQxpbi.cjs.map +1 -0
  32. package/dist/LMEmpty-DzHM1fOb.js +189 -0
  33. package/dist/LMEmpty-DzHM1fOb.js.map +1 -0
  34. package/dist/LMField-BS-DSEya.js +67 -0
  35. package/dist/LMField-BS-DSEya.js.map +1 -0
  36. package/dist/LMField-DhDHj64z.cjs +66 -0
  37. package/dist/LMField-DhDHj64z.cjs.map +1 -0
  38. package/dist/LMInput-CVjawj1F.cjs +140 -0
  39. package/dist/LMInput-CVjawj1F.cjs.map +1 -0
  40. package/dist/LMInput-D9csGyhj.js +141 -0
  41. package/dist/LMInput-D9csGyhj.js.map +1 -0
  42. package/dist/LMMenu-IDAgZFuC.cjs +234 -0
  43. package/dist/LMMenu-IDAgZFuC.cjs.map +1 -0
  44. package/dist/LMMenu-yXadjQLQ.js +235 -0
  45. package/dist/LMMenu-yXadjQLQ.js.map +1 -0
  46. package/dist/LMModal-BCVVPLot.cjs +203 -0
  47. package/dist/LMModal-BCVVPLot.cjs.map +1 -0
  48. package/dist/LMModal-DCJPlfA4.js +204 -0
  49. package/dist/LMModal-DCJPlfA4.js.map +1 -0
  50. package/dist/LMNumberInput-B1tU7T_W.cjs +294 -0
  51. package/dist/LMNumberInput-B1tU7T_W.cjs.map +1 -0
  52. package/dist/LMNumberInput-BI5_OEx4.js +295 -0
  53. package/dist/LMNumberInput-BI5_OEx4.js.map +1 -0
  54. package/dist/LMPagination-BypfLRlF.js +305 -0
  55. package/dist/LMPagination-BypfLRlF.js.map +1 -0
  56. package/dist/LMPagination-CouDFIwd.cjs +304 -0
  57. package/dist/LMPagination-CouDFIwd.cjs.map +1 -0
  58. package/dist/LMRadio-CHn6nFSy.cjs +189 -0
  59. package/dist/LMRadio-CHn6nFSy.cjs.map +1 -0
  60. package/dist/LMRadio-UQLNgTMF.js +190 -0
  61. package/dist/LMRadio-UQLNgTMF.js.map +1 -0
  62. package/dist/LMSearchInput-CIvVkEf2.js +205 -0
  63. package/dist/LMSearchInput-CIvVkEf2.js.map +1 -0
  64. package/dist/LMSearchInput-nBlAX734.cjs +204 -0
  65. package/dist/LMSearchInput-nBlAX734.cjs.map +1 -0
  66. package/dist/LMSelect-B-MWX2JI.js +309 -0
  67. package/dist/LMSelect-B-MWX2JI.js.map +1 -0
  68. package/dist/LMSelect-ByQcUp2S.cjs +308 -0
  69. package/dist/LMSelect-ByQcUp2S.cjs.map +1 -0
  70. package/dist/LMStatCard-D5HV9r6d.js +348 -0
  71. package/dist/LMStatCard-D5HV9r6d.js.map +1 -0
  72. package/dist/LMStatCard-MXs9Z0qH.cjs +347 -0
  73. package/dist/LMStatCard-MXs9Z0qH.cjs.map +1 -0
  74. package/dist/LMSwitch-CP1_nrfU.js +207 -0
  75. package/dist/LMSwitch-CP1_nrfU.js.map +1 -0
  76. package/dist/LMSwitch-DYoSH6wE.cjs +206 -0
  77. package/dist/LMSwitch-DYoSH6wE.cjs.map +1 -0
  78. package/dist/LMTable-Cp8HZqiV.js +594 -0
  79. package/dist/LMTable-Cp8HZqiV.js.map +1 -0
  80. package/dist/LMTable-j1ZzAzXB.cjs +593 -0
  81. package/dist/LMTable-j1ZzAzXB.cjs.map +1 -0
  82. package/dist/LMTabs-D5n9lB8X.js +210 -0
  83. package/dist/LMTabs-D5n9lB8X.js.map +1 -0
  84. package/dist/LMTabs-NPmOzPat.cjs +209 -0
  85. package/dist/LMTabs-NPmOzPat.cjs.map +1 -0
  86. package/dist/LMTextarea-5dVVPeL2.js +136 -0
  87. package/dist/LMTextarea-5dVVPeL2.js.map +1 -0
  88. package/dist/LMTextarea-yG0OBZjA.cjs +135 -0
  89. package/dist/LMTextarea-yG0OBZjA.cjs.map +1 -0
  90. package/dist/LMTooltip-30_lOAnH.cjs +85 -0
  91. package/dist/LMTooltip-30_lOAnH.cjs.map +1 -0
  92. package/dist/LMTooltip-h47oYhl8.js +86 -0
  93. package/dist/LMTooltip-h47oYhl8.js.map +1 -0
  94. package/dist/LMUpload-BwXoxIfE.js +380 -0
  95. package/dist/LMUpload-BwXoxIfE.js.map +1 -0
  96. package/dist/LMUpload-CJopkWc6.cjs +379 -0
  97. package/dist/LMUpload-CJopkWc6.cjs.map +1 -0
  98. package/dist/componentSizes-CdWNL526.js +125 -0
  99. package/dist/componentSizes-CdWNL526.js.map +1 -0
  100. package/dist/componentSizes-DUTZ7uEM.cjs +124 -0
  101. package/dist/componentSizes-DUTZ7uEM.cjs.map +1 -0
  102. package/dist/components/Chat/LMChatBubble/LMChatBubble.d.ts +28 -0
  103. package/dist/components/Chat/LMChatBubble/LMChatBubble.d.ts.map +1 -0
  104. package/dist/components/Chat/LMChatBubble/LMChatBubble.stories.d.ts +25 -0
  105. package/dist/components/Chat/LMChatBubble/LMChatBubble.stories.d.ts.map +1 -0
  106. package/dist/components/Chat/LMChatBubble/index.d.ts +3 -0
  107. package/dist/components/Chat/LMChatBubble/index.d.ts.map +1 -0
  108. package/dist/components/Chat/LMChatContainer/LMChatContainer.d.ts +85 -0
  109. package/dist/components/Chat/LMChatContainer/LMChatContainer.d.ts.map +1 -0
  110. package/dist/components/Chat/LMChatContainer/LMChatContainer.stories.d.ts +23 -0
  111. package/dist/components/Chat/LMChatContainer/LMChatContainer.stories.d.ts.map +1 -0
  112. package/dist/components/Chat/LMChatContainer/index.d.ts +3 -0
  113. package/dist/components/Chat/LMChatContainer/index.d.ts.map +1 -0
  114. package/dist/components/Chat/LMChatInput/LMChatInput.d.ts +55 -0
  115. package/dist/components/Chat/LMChatInput/LMChatInput.d.ts.map +1 -0
  116. package/dist/components/Chat/LMChatInput/LMChatInput.stories.d.ts +27 -0
  117. package/dist/components/Chat/LMChatInput/LMChatInput.stories.d.ts.map +1 -0
  118. package/dist/components/Chat/LMChatInput/index.d.ts +3 -0
  119. package/dist/components/Chat/LMChatInput/index.d.ts.map +1 -0
  120. package/dist/components/Chat/LMChatList/LMChatList.d.ts +60 -0
  121. package/dist/components/Chat/LMChatList/LMChatList.d.ts.map +1 -0
  122. package/dist/components/Chat/LMChatList/LMChatList.stories.d.ts +21 -0
  123. package/dist/components/Chat/LMChatList/LMChatList.stories.d.ts.map +1 -0
  124. package/dist/components/Chat/LMChatList/index.d.ts +3 -0
  125. package/dist/components/Chat/LMChatList/index.d.ts.map +1 -0
  126. package/dist/components/Chat/LMChatMessage/LMChatMessage.d.ts +56 -0
  127. package/dist/components/Chat/LMChatMessage/LMChatMessage.d.ts.map +1 -0
  128. package/dist/components/Chat/LMChatMessage/LMChatMessage.stories.d.ts +27 -0
  129. package/dist/components/Chat/LMChatMessage/LMChatMessage.stories.d.ts.map +1 -0
  130. package/dist/components/Chat/LMChatMessage/index.d.ts +3 -0
  131. package/dist/components/Chat/LMChatMessage/index.d.ts.map +1 -0
  132. package/dist/components/Chat/LMCodeBlock/LMCodeBlock.d.ts +32 -0
  133. package/dist/components/Chat/LMCodeBlock/LMCodeBlock.d.ts.map +1 -0
  134. package/dist/components/Chat/LMCodeBlock/LMCodeBlock.stories.d.ts +27 -0
  135. package/dist/components/Chat/LMCodeBlock/LMCodeBlock.stories.d.ts.map +1 -0
  136. package/dist/components/Chat/LMCodeBlock/index.d.ts +3 -0
  137. package/dist/components/Chat/LMCodeBlock/index.d.ts.map +1 -0
  138. package/dist/components/Chat/LMMarkdownRenderer/LMMarkdownRenderer.d.ts +24 -0
  139. package/dist/components/Chat/LMMarkdownRenderer/LMMarkdownRenderer.d.ts.map +1 -0
  140. package/dist/components/Chat/LMMarkdownRenderer/LMMarkdownRenderer.stories.d.ts +23 -0
  141. package/dist/components/Chat/LMMarkdownRenderer/LMMarkdownRenderer.stories.d.ts.map +1 -0
  142. package/dist/components/Chat/LMMarkdownRenderer/index.d.ts +3 -0
  143. package/dist/components/Chat/LMMarkdownRenderer/index.d.ts.map +1 -0
  144. package/dist/components/Chat/LMTypingIndicator/LMTypingIndicator.d.ts +21 -0
  145. package/dist/components/Chat/LMTypingIndicator/LMTypingIndicator.d.ts.map +1 -0
  146. package/dist/components/Chat/LMTypingIndicator/LMTypingIndicator.stories.d.ts +25 -0
  147. package/dist/components/Chat/LMTypingIndicator/LMTypingIndicator.stories.d.ts.map +1 -0
  148. package/dist/components/Chat/LMTypingIndicator/index.d.ts +3 -0
  149. package/dist/components/Chat/LMTypingIndicator/index.d.ts.map +1 -0
  150. package/dist/components/Chat/index.d.ts +9 -0
  151. package/dist/components/Chat/index.d.ts.map +1 -0
  152. package/dist/components/DataDisplay/LMCard/LMCard.d.ts +30 -0
  153. package/dist/components/DataDisplay/LMCard/LMCard.d.ts.map +1 -0
  154. package/dist/components/DataDisplay/LMCard/LMCard.stories.d.ts +33 -0
  155. package/dist/components/DataDisplay/LMCard/LMCard.stories.d.ts.map +1 -0
  156. package/dist/components/DataDisplay/LMCard/LMCard.test.d.ts +2 -0
  157. package/dist/components/DataDisplay/LMCard/LMCard.test.d.ts.map +1 -0
  158. package/dist/components/DataDisplay/LMCard/index.d.ts +3 -0
  159. package/dist/components/DataDisplay/LMCard/index.d.ts.map +1 -0
  160. package/dist/components/DataDisplay/LMEmpty/LMEmpty.d.ts +18 -0
  161. package/dist/components/DataDisplay/LMEmpty/LMEmpty.d.ts.map +1 -0
  162. package/dist/components/DataDisplay/LMEmpty/LMEmpty.stories.d.ts +31 -0
  163. package/dist/components/DataDisplay/LMEmpty/LMEmpty.stories.d.ts.map +1 -0
  164. package/dist/components/DataDisplay/LMEmpty/LMEmpty.test.d.ts +2 -0
  165. package/dist/components/DataDisplay/LMEmpty/LMEmpty.test.d.ts.map +1 -0
  166. package/dist/components/DataDisplay/LMEmpty/index.d.ts +3 -0
  167. package/dist/components/DataDisplay/LMEmpty/index.d.ts.map +1 -0
  168. package/dist/components/DataDisplay/LMStatCard/LMStatCard.d.ts +40 -0
  169. package/dist/components/DataDisplay/LMStatCard/LMStatCard.d.ts.map +1 -0
  170. package/dist/components/DataDisplay/LMStatCard/LMStatCard.stories.d.ts +35 -0
  171. package/dist/components/DataDisplay/LMStatCard/LMStatCard.stories.d.ts.map +1 -0
  172. package/dist/components/DataDisplay/LMStatCard/LMStatCard.test.d.ts +2 -0
  173. package/dist/components/DataDisplay/LMStatCard/LMStatCard.test.d.ts.map +1 -0
  174. package/dist/components/DataDisplay/LMStatCard/index.d.ts +3 -0
  175. package/dist/components/DataDisplay/LMStatCard/index.d.ts.map +1 -0
  176. package/dist/components/DataDisplay/LMTable/LMTable.d.ts +93 -0
  177. package/dist/components/DataDisplay/LMTable/LMTable.d.ts.map +1 -0
  178. package/dist/components/DataDisplay/LMTable/LMTable.stories.d.ts +35 -0
  179. package/dist/components/DataDisplay/LMTable/LMTable.stories.d.ts.map +1 -0
  180. package/dist/components/DataDisplay/LMTable/LMTable.test.d.ts +2 -0
  181. package/dist/components/DataDisplay/LMTable/LMTable.test.d.ts.map +1 -0
  182. package/dist/components/DataDisplay/LMTable/index.d.ts +3 -0
  183. package/dist/components/DataDisplay/LMTable/index.d.ts.map +1 -0
  184. package/dist/components/DataDisplay/LMTabs/LMTabs.d.ts +40 -0
  185. package/dist/components/DataDisplay/LMTabs/LMTabs.d.ts.map +1 -0
  186. package/dist/components/DataDisplay/LMTabs/LMTabs.stories.d.ts +35 -0
  187. package/dist/components/DataDisplay/LMTabs/LMTabs.stories.d.ts.map +1 -0
  188. package/dist/components/DataDisplay/LMTabs/LMTabs.test.d.ts +2 -0
  189. package/dist/components/DataDisplay/LMTabs/LMTabs.test.d.ts.map +1 -0
  190. package/dist/components/DataDisplay/LMTabs/index.d.ts +3 -0
  191. package/dist/components/DataDisplay/LMTabs/index.d.ts.map +1 -0
  192. package/dist/components/DataDisplay/LMTooltip/LMTooltip.d.ts +18 -0
  193. package/dist/components/DataDisplay/LMTooltip/LMTooltip.d.ts.map +1 -0
  194. package/dist/components/DataDisplay/LMTooltip/LMTooltip.stories.d.ts +27 -0
  195. package/dist/components/DataDisplay/LMTooltip/LMTooltip.stories.d.ts.map +1 -0
  196. package/dist/components/DataDisplay/LMTooltip/LMTooltip.test.d.ts +2 -0
  197. package/dist/components/DataDisplay/LMTooltip/LMTooltip.test.d.ts.map +1 -0
  198. package/dist/components/DataDisplay/LMTooltip/index.d.ts +3 -0
  199. package/dist/components/DataDisplay/LMTooltip/index.d.ts.map +1 -0
  200. package/dist/components/DataDisplay/index.d.ts +7 -0
  201. package/dist/components/DataDisplay/index.d.ts.map +1 -0
  202. package/dist/components/Feedback/LMConfirm/LMConfirm.d.ts +25 -0
  203. package/dist/components/Feedback/LMConfirm/LMConfirm.d.ts.map +1 -0
  204. package/dist/components/Feedback/LMConfirm/LMConfirm.stories.d.ts +19 -0
  205. package/dist/components/Feedback/LMConfirm/LMConfirm.stories.d.ts.map +1 -0
  206. package/dist/components/Feedback/LMConfirm/LMConfirm.test.d.ts +2 -0
  207. package/dist/components/Feedback/LMConfirm/LMConfirm.test.d.ts.map +1 -0
  208. package/dist/components/Feedback/LMConfirm/index.d.ts +5 -0
  209. package/dist/components/Feedback/LMConfirm/index.d.ts.map +1 -0
  210. package/dist/components/Feedback/LMDrawer/LMDrawer.d.ts +38 -0
  211. package/dist/components/Feedback/LMDrawer/LMDrawer.d.ts.map +1 -0
  212. package/dist/components/Feedback/LMDrawer/LMDrawer.stories.d.ts +33 -0
  213. package/dist/components/Feedback/LMDrawer/LMDrawer.stories.d.ts.map +1 -0
  214. package/dist/components/Feedback/LMDrawer/LMDrawer.test.d.ts +2 -0
  215. package/dist/components/Feedback/LMDrawer/LMDrawer.test.d.ts.map +1 -0
  216. package/dist/components/Feedback/LMDrawer/index.d.ts +3 -0
  217. package/dist/components/Feedback/LMDrawer/index.d.ts.map +1 -0
  218. package/dist/components/Feedback/LMMessage/LMMessage.d.ts +31 -0
  219. package/dist/components/Feedback/LMMessage/LMMessage.d.ts.map +1 -0
  220. package/dist/components/Feedback/LMMessage/LMMessage.stories.d.ts +25 -0
  221. package/dist/components/Feedback/LMMessage/LMMessage.stories.d.ts.map +1 -0
  222. package/dist/components/Feedback/LMMessage/LMMessage.test.d.ts +2 -0
  223. package/dist/components/Feedback/LMMessage/LMMessage.test.d.ts.map +1 -0
  224. package/dist/components/Feedback/LMMessage/index.d.ts +5 -0
  225. package/dist/components/Feedback/LMMessage/index.d.ts.map +1 -0
  226. package/dist/components/Feedback/LMModal/LMModal.d.ts +62 -0
  227. package/dist/components/Feedback/LMModal/LMModal.d.ts.map +1 -0
  228. package/dist/components/Feedback/LMModal/LMModal.stories.d.ts +23 -0
  229. package/dist/components/Feedback/LMModal/LMModal.stories.d.ts.map +1 -0
  230. package/dist/components/Feedback/LMModal/LMModal.test.d.ts +2 -0
  231. package/dist/components/Feedback/LMModal/LMModal.test.d.ts.map +1 -0
  232. package/dist/components/Feedback/LMModal/index.d.ts +3 -0
  233. package/dist/components/Feedback/LMModal/index.d.ts.map +1 -0
  234. package/dist/components/Feedback/index.d.ts +5 -0
  235. package/dist/components/Feedback/index.d.ts.map +1 -0
  236. package/dist/components/Form/LMCheckbox/LMCheckbox.d.ts +18 -0
  237. package/dist/components/Form/LMCheckbox/LMCheckbox.d.ts.map +1 -0
  238. package/dist/components/Form/LMCheckbox/LMCheckbox.stories.d.ts +23 -0
  239. package/dist/components/Form/LMCheckbox/LMCheckbox.stories.d.ts.map +1 -0
  240. package/dist/components/Form/LMCheckbox/LMCheckbox.test.d.ts +2 -0
  241. package/dist/components/Form/LMCheckbox/LMCheckbox.test.d.ts.map +1 -0
  242. package/dist/components/Form/LMCheckbox/index.d.ts +3 -0
  243. package/dist/components/Form/LMCheckbox/index.d.ts.map +1 -0
  244. package/dist/components/Form/LMDatePicker/LMDatePicker.d.ts +52 -0
  245. package/dist/components/Form/LMDatePicker/LMDatePicker.d.ts.map +1 -0
  246. package/dist/components/Form/LMDatePicker/LMDatePicker.stories.d.ts +41 -0
  247. package/dist/components/Form/LMDatePicker/LMDatePicker.stories.d.ts.map +1 -0
  248. package/dist/components/Form/LMDatePicker/LMDatePicker.test.d.ts +2 -0
  249. package/dist/components/Form/LMDatePicker/LMDatePicker.test.d.ts.map +1 -0
  250. package/dist/components/Form/LMDatePicker/index.d.ts +3 -0
  251. package/dist/components/Form/LMDatePicker/index.d.ts.map +1 -0
  252. package/dist/components/Form/LMField/LMField.d.ts +19 -0
  253. package/dist/components/Form/LMField/LMField.d.ts.map +1 -0
  254. package/dist/components/Form/LMField/LMField.stories.d.ts +23 -0
  255. package/dist/components/Form/LMField/LMField.stories.d.ts.map +1 -0
  256. package/dist/components/Form/LMField/LMField.test.d.ts +2 -0
  257. package/dist/components/Form/LMField/LMField.test.d.ts.map +1 -0
  258. package/dist/components/Form/LMField/index.d.ts +3 -0
  259. package/dist/components/Form/LMField/index.d.ts.map +1 -0
  260. package/dist/components/Form/LMInput/LMInput.d.ts +20 -0
  261. package/dist/components/Form/LMInput/LMInput.d.ts.map +1 -0
  262. package/dist/components/Form/LMInput/LMInput.stories.d.ts +29 -0
  263. package/dist/components/Form/LMInput/LMInput.stories.d.ts.map +1 -0
  264. package/dist/components/Form/LMInput/LMInput.test.d.ts +2 -0
  265. package/dist/components/Form/LMInput/LMInput.test.d.ts.map +1 -0
  266. package/dist/components/Form/LMInput/index.d.ts +3 -0
  267. package/dist/components/Form/LMInput/index.d.ts.map +1 -0
  268. package/dist/components/Form/LMNumberInput/LMNumberInput.d.ts +40 -0
  269. package/dist/components/Form/LMNumberInput/LMNumberInput.d.ts.map +1 -0
  270. package/dist/components/Form/LMNumberInput/LMNumberInput.stories.d.ts +33 -0
  271. package/dist/components/Form/LMNumberInput/LMNumberInput.stories.d.ts.map +1 -0
  272. package/dist/components/Form/LMNumberInput/LMNumberInput.test.d.ts +2 -0
  273. package/dist/components/Form/LMNumberInput/LMNumberInput.test.d.ts.map +1 -0
  274. package/dist/components/Form/LMNumberInput/index.d.ts +3 -0
  275. package/dist/components/Form/LMNumberInput/index.d.ts.map +1 -0
  276. package/dist/components/Form/LMRadio/LMRadio.d.ts +18 -0
  277. package/dist/components/Form/LMRadio/LMRadio.d.ts.map +1 -0
  278. package/dist/components/Form/LMRadio/LMRadio.stories.d.ts +25 -0
  279. package/dist/components/Form/LMRadio/LMRadio.stories.d.ts.map +1 -0
  280. package/dist/components/Form/LMRadio/LMRadio.test.d.ts +2 -0
  281. package/dist/components/Form/LMRadio/LMRadio.test.d.ts.map +1 -0
  282. package/dist/components/Form/LMRadio/index.d.ts +3 -0
  283. package/dist/components/Form/LMRadio/index.d.ts.map +1 -0
  284. package/dist/components/Form/LMSearchInput/LMSearchInput.d.ts +36 -0
  285. package/dist/components/Form/LMSearchInput/LMSearchInput.d.ts.map +1 -0
  286. package/dist/components/Form/LMSearchInput/LMSearchInput.stories.d.ts +27 -0
  287. package/dist/components/Form/LMSearchInput/LMSearchInput.stories.d.ts.map +1 -0
  288. package/dist/components/Form/LMSearchInput/LMSearchInput.test.d.ts +2 -0
  289. package/dist/components/Form/LMSearchInput/LMSearchInput.test.d.ts.map +1 -0
  290. package/dist/components/Form/LMSearchInput/index.d.ts +3 -0
  291. package/dist/components/Form/LMSearchInput/index.d.ts.map +1 -0
  292. package/dist/components/Form/LMSelect/LMSelect.d.ts +37 -0
  293. package/dist/components/Form/LMSelect/LMSelect.d.ts.map +1 -0
  294. package/dist/components/Form/LMSelect/LMSelect.stories.d.ts +27 -0
  295. package/dist/components/Form/LMSelect/LMSelect.stories.d.ts.map +1 -0
  296. package/dist/components/Form/LMSelect/LMSelect.test.d.ts +2 -0
  297. package/dist/components/Form/LMSelect/LMSelect.test.d.ts.map +1 -0
  298. package/dist/components/Form/LMSelect/index.d.ts +3 -0
  299. package/dist/components/Form/LMSelect/index.d.ts.map +1 -0
  300. package/dist/components/Form/LMSwitch/LMSwitch.d.ts +18 -0
  301. package/dist/components/Form/LMSwitch/LMSwitch.d.ts.map +1 -0
  302. package/dist/components/Form/LMSwitch/LMSwitch.stories.d.ts +25 -0
  303. package/dist/components/Form/LMSwitch/LMSwitch.stories.d.ts.map +1 -0
  304. package/dist/components/Form/LMSwitch/LMSwitch.test.d.ts +2 -0
  305. package/dist/components/Form/LMSwitch/LMSwitch.test.d.ts.map +1 -0
  306. package/dist/components/Form/LMSwitch/index.d.ts +3 -0
  307. package/dist/components/Form/LMSwitch/index.d.ts.map +1 -0
  308. package/dist/components/Form/LMTextarea/LMTextarea.d.ts +14 -0
  309. package/dist/components/Form/LMTextarea/LMTextarea.d.ts.map +1 -0
  310. package/dist/components/Form/LMTextarea/LMTextarea.stories.d.ts +23 -0
  311. package/dist/components/Form/LMTextarea/LMTextarea.stories.d.ts.map +1 -0
  312. package/dist/components/Form/LMTextarea/LMTextarea.test.d.ts +2 -0
  313. package/dist/components/Form/LMTextarea/LMTextarea.test.d.ts.map +1 -0
  314. package/dist/components/Form/LMTextarea/index.d.ts +3 -0
  315. package/dist/components/Form/LMTextarea/index.d.ts.map +1 -0
  316. package/dist/components/Form/LMUpload/LMUpload.d.ts +68 -0
  317. package/dist/components/Form/LMUpload/LMUpload.d.ts.map +1 -0
  318. package/dist/components/Form/LMUpload/LMUpload.stories.d.ts +41 -0
  319. package/dist/components/Form/LMUpload/LMUpload.stories.d.ts.map +1 -0
  320. package/dist/components/Form/LMUpload/LMUpload.test.d.ts +2 -0
  321. package/dist/components/Form/LMUpload/LMUpload.test.d.ts.map +1 -0
  322. package/dist/components/Form/LMUpload/index.d.ts +3 -0
  323. package/dist/components/Form/LMUpload/index.d.ts.map +1 -0
  324. package/dist/components/Form/index.d.ts +12 -0
  325. package/dist/components/Form/index.d.ts.map +1 -0
  326. package/dist/components/General/LMBadge/LMBadge.d.ts +21 -0
  327. package/dist/components/General/LMBadge/LMBadge.d.ts.map +1 -0
  328. package/dist/components/General/LMBadge/LMBadge.stories.d.ts +31 -0
  329. package/dist/components/General/LMBadge/LMBadge.stories.d.ts.map +1 -0
  330. package/dist/components/General/LMBadge/LMBadge.test.d.ts +2 -0
  331. package/dist/components/General/LMBadge/LMBadge.test.d.ts.map +1 -0
  332. package/dist/components/General/LMBadge/index.d.ts +3 -0
  333. package/dist/components/General/LMBadge/index.d.ts.map +1 -0
  334. package/dist/components/General/LMButton/LMButton.d.ts +25 -0
  335. package/dist/components/General/LMButton/LMButton.d.ts.map +1 -0
  336. package/dist/components/General/LMButton/LMButton.stories.d.ts +39 -0
  337. package/dist/components/General/LMButton/LMButton.stories.d.ts.map +1 -0
  338. package/dist/components/General/LMButton/LMButton.test.d.ts +2 -0
  339. package/dist/components/General/LMButton/LMButton.test.d.ts.map +1 -0
  340. package/dist/components/General/LMButton/index.d.ts +3 -0
  341. package/dist/components/General/LMButton/index.d.ts.map +1 -0
  342. package/dist/components/General/index.d.ts +3 -0
  343. package/dist/components/General/index.d.ts.map +1 -0
  344. package/dist/components/Navigation/LMDropdown/LMDropdown.d.ts +40 -0
  345. package/dist/components/Navigation/LMDropdown/LMDropdown.d.ts.map +1 -0
  346. package/dist/components/Navigation/LMDropdown/LMDropdown.stories.d.ts +31 -0
  347. package/dist/components/Navigation/LMDropdown/LMDropdown.stories.d.ts.map +1 -0
  348. package/dist/components/Navigation/LMDropdown/LMDropdown.test.d.ts +2 -0
  349. package/dist/components/Navigation/LMDropdown/LMDropdown.test.d.ts.map +1 -0
  350. package/dist/components/Navigation/LMDropdown/index.d.ts +3 -0
  351. package/dist/components/Navigation/LMDropdown/index.d.ts.map +1 -0
  352. package/dist/components/Navigation/LMMenu/LMMenu.d.ts +48 -0
  353. package/dist/components/Navigation/LMMenu/LMMenu.d.ts.map +1 -0
  354. package/dist/components/Navigation/LMMenu/LMMenu.stories.d.ts +25 -0
  355. package/dist/components/Navigation/LMMenu/LMMenu.stories.d.ts.map +1 -0
  356. package/dist/components/Navigation/LMMenu/LMMenu.test.d.ts +2 -0
  357. package/dist/components/Navigation/LMMenu/LMMenu.test.d.ts.map +1 -0
  358. package/dist/components/Navigation/LMMenu/index.d.ts +3 -0
  359. package/dist/components/Navigation/LMMenu/index.d.ts.map +1 -0
  360. package/dist/components/Navigation/LMPagination/LMPagination.d.ts +32 -0
  361. package/dist/components/Navigation/LMPagination/LMPagination.d.ts.map +1 -0
  362. package/dist/components/Navigation/LMPagination/LMPagination.stories.d.ts +35 -0
  363. package/dist/components/Navigation/LMPagination/LMPagination.stories.d.ts.map +1 -0
  364. package/dist/components/Navigation/LMPagination/LMPagination.test.d.ts +2 -0
  365. package/dist/components/Navigation/LMPagination/LMPagination.test.d.ts.map +1 -0
  366. package/dist/components/Navigation/LMPagination/index.d.ts +3 -0
  367. package/dist/components/Navigation/LMPagination/index.d.ts.map +1 -0
  368. package/dist/components/Navigation/index.d.ts +4 -0
  369. package/dist/components/Navigation/index.d.ts.map +1 -0
  370. package/dist/components/badge/index.cjs +5 -0
  371. package/dist/components/badge/index.cjs.map +1 -0
  372. package/dist/components/badge/index.js +5 -0
  373. package/dist/components/badge/index.js.map +1 -0
  374. package/dist/components/button/index.cjs +5 -0
  375. package/dist/components/button/index.cjs.map +1 -0
  376. package/dist/components/button/index.js +5 -0
  377. package/dist/components/button/index.js.map +1 -0
  378. package/dist/components/card/index.cjs +5 -0
  379. package/dist/components/card/index.cjs.map +1 -0
  380. package/dist/components/card/index.js +5 -0
  381. package/dist/components/card/index.js.map +1 -0
  382. package/dist/components/checkbox/index.cjs +5 -0
  383. package/dist/components/checkbox/index.cjs.map +1 -0
  384. package/dist/components/checkbox/index.js +5 -0
  385. package/dist/components/checkbox/index.js.map +1 -0
  386. package/dist/components/confirm/index.cjs +6 -0
  387. package/dist/components/confirm/index.cjs.map +1 -0
  388. package/dist/components/confirm/index.js +6 -0
  389. package/dist/components/confirm/index.js.map +1 -0
  390. package/dist/components/date-picker/index.cjs +5 -0
  391. package/dist/components/date-picker/index.cjs.map +1 -0
  392. package/dist/components/date-picker/index.js +5 -0
  393. package/dist/components/date-picker/index.js.map +1 -0
  394. package/dist/components/drawer/index.cjs +5 -0
  395. package/dist/components/drawer/index.cjs.map +1 -0
  396. package/dist/components/drawer/index.js +5 -0
  397. package/dist/components/drawer/index.js.map +1 -0
  398. package/dist/components/dropdown/index.cjs +5 -0
  399. package/dist/components/dropdown/index.cjs.map +1 -0
  400. package/dist/components/dropdown/index.js +5 -0
  401. package/dist/components/dropdown/index.js.map +1 -0
  402. package/dist/components/empty/index.cjs +5 -0
  403. package/dist/components/empty/index.cjs.map +1 -0
  404. package/dist/components/empty/index.js +5 -0
  405. package/dist/components/empty/index.js.map +1 -0
  406. package/dist/components/field/index.cjs +5 -0
  407. package/dist/components/field/index.cjs.map +1 -0
  408. package/dist/components/field/index.js +5 -0
  409. package/dist/components/field/index.js.map +1 -0
  410. package/dist/components/input/index.cjs +5 -0
  411. package/dist/components/input/index.cjs.map +1 -0
  412. package/dist/components/input/index.js +5 -0
  413. package/dist/components/input/index.js.map +1 -0
  414. package/dist/components/menu/index.cjs +5 -0
  415. package/dist/components/menu/index.cjs.map +1 -0
  416. package/dist/components/menu/index.js +5 -0
  417. package/dist/components/menu/index.js.map +1 -0
  418. package/dist/components/message/index.cjs +7 -0
  419. package/dist/components/message/index.cjs.map +1 -0
  420. package/dist/components/message/index.js +7 -0
  421. package/dist/components/message/index.js.map +1 -0
  422. package/dist/components/modal/index.cjs +5 -0
  423. package/dist/components/modal/index.cjs.map +1 -0
  424. package/dist/components/modal/index.js +5 -0
  425. package/dist/components/modal/index.js.map +1 -0
  426. package/dist/components/number-input/index.cjs +5 -0
  427. package/dist/components/number-input/index.cjs.map +1 -0
  428. package/dist/components/number-input/index.js +5 -0
  429. package/dist/components/number-input/index.js.map +1 -0
  430. package/dist/components/pagination/index.cjs +5 -0
  431. package/dist/components/pagination/index.cjs.map +1 -0
  432. package/dist/components/pagination/index.js +5 -0
  433. package/dist/components/pagination/index.js.map +1 -0
  434. package/dist/components/radio/index.cjs +5 -0
  435. package/dist/components/radio/index.cjs.map +1 -0
  436. package/dist/components/radio/index.js +5 -0
  437. package/dist/components/radio/index.js.map +1 -0
  438. package/dist/components/search-input/index.cjs +5 -0
  439. package/dist/components/search-input/index.cjs.map +1 -0
  440. package/dist/components/search-input/index.js +5 -0
  441. package/dist/components/search-input/index.js.map +1 -0
  442. package/dist/components/select/index.cjs +5 -0
  443. package/dist/components/select/index.cjs.map +1 -0
  444. package/dist/components/select/index.js +5 -0
  445. package/dist/components/select/index.js.map +1 -0
  446. package/dist/components/stat-card/index.cjs +5 -0
  447. package/dist/components/stat-card/index.cjs.map +1 -0
  448. package/dist/components/stat-card/index.js +5 -0
  449. package/dist/components/stat-card/index.js.map +1 -0
  450. package/dist/components/switch/index.cjs +5 -0
  451. package/dist/components/switch/index.cjs.map +1 -0
  452. package/dist/components/switch/index.js +5 -0
  453. package/dist/components/switch/index.js.map +1 -0
  454. package/dist/components/table/index.cjs +5 -0
  455. package/dist/components/table/index.cjs.map +1 -0
  456. package/dist/components/table/index.js +5 -0
  457. package/dist/components/table/index.js.map +1 -0
  458. package/dist/components/tabs/index.cjs +5 -0
  459. package/dist/components/tabs/index.cjs.map +1 -0
  460. package/dist/components/tabs/index.js +5 -0
  461. package/dist/components/tabs/index.js.map +1 -0
  462. package/dist/components/textarea/index.cjs +5 -0
  463. package/dist/components/textarea/index.cjs.map +1 -0
  464. package/dist/components/textarea/index.js +5 -0
  465. package/dist/components/textarea/index.js.map +1 -0
  466. package/dist/components/tooltip/index.cjs +5 -0
  467. package/dist/components/tooltip/index.cjs.map +1 -0
  468. package/dist/components/tooltip/index.js +5 -0
  469. package/dist/components/tooltip/index.js.map +1 -0
  470. package/dist/components/upload/index.cjs +5 -0
  471. package/dist/components/upload/index.cjs.map +1 -0
  472. package/dist/components/upload/index.js +5 -0
  473. package/dist/components/upload/index.js.map +1 -0
  474. package/dist/hooks/index.d.ts +5 -0
  475. package/dist/hooks/index.d.ts.map +1 -0
  476. package/dist/hooks/useConfirm.d.ts +17 -0
  477. package/dist/hooks/useConfirm.d.ts.map +1 -0
  478. package/dist/hooks/useMessage.d.ts +14 -0
  479. package/dist/hooks/useMessage.d.ts.map +1 -0
  480. package/dist/index.cjs +1907 -6229
  481. package/dist/index.cjs.map +1 -1
  482. package/dist/index.d.ts +10 -982
  483. package/dist/index.d.ts.map +1 -0
  484. package/dist/index.js +1906 -6227
  485. package/dist/index.js.map +1 -1
  486. package/dist/style.css +389 -60
  487. package/dist/types/index.d.ts +25 -0
  488. package/dist/types/index.d.ts.map +1 -0
  489. package/dist/useConfirm-BIxTX3mT.js +218 -0
  490. package/dist/useConfirm-BIxTX3mT.js.map +1 -0
  491. package/dist/useConfirm-BO5Ch3Bf.cjs +217 -0
  492. package/dist/useConfirm-BO5Ch3Bf.cjs.map +1 -0
  493. package/dist/useMessage-BBxUPe8b.cjs +242 -0
  494. package/dist/useMessage-BBxUPe8b.cjs.map +1 -0
  495. package/dist/useMessage-CRsCgzDR.js +243 -0
  496. package/dist/useMessage-CRsCgzDR.js.map +1 -0
  497. package/dist/utils/cn.d.ts +8 -0
  498. package/dist/utils/cn.d.ts.map +1 -0
  499. package/dist/utils/componentSizes.d.ts +57 -0
  500. package/dist/utils/componentSizes.d.ts.map +1 -0
  501. package/dist/utils/index.d.ts +3 -0
  502. package/dist/utils/index.d.ts.map +1 -0
  503. package/package.json +270 -9
@@ -0,0 +1,347 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const componentSizes = require("./componentSizes-DUTZ7uEM.cjs");
4
+ const ArrowUpIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "w-3 h-3", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 10V2M6 2l4 4M6 2L2 6" }) });
5
+ const ArrowDownIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "w-3 h-3", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 2v8M6 10l4-4M6 10l-4-4" }) });
6
+ const MinusIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "w-3 h-3", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M2 6h8" }) });
7
+ const LMStatCard = ({
8
+ title,
9
+ value,
10
+ description,
11
+ icon,
12
+ trend,
13
+ trendText,
14
+ variant = "default",
15
+ size = "md",
16
+ clickable = false,
17
+ onClick,
18
+ className = "",
19
+ prefix,
20
+ suffix,
21
+ bordered = true,
22
+ shadow = true,
23
+ compact = false
24
+ }) => {
25
+ const resolvedSize = componentSizes.clampComponentSize(size, componentSizes.COMPONENT_SIZE_ORDER);
26
+ const iconSizeClasses = compact ? {
27
+ xs: "w-4 h-4",
28
+ sm: "w-5 h-5",
29
+ md: "w-6 h-6",
30
+ lg: "w-8 h-8",
31
+ xl: "w-10 h-10",
32
+ "2xl": "w-12 h-12"
33
+ } : {
34
+ xs: "w-5 h-5",
35
+ sm: "w-6 h-6",
36
+ md: "w-10 h-10",
37
+ lg: "w-12 h-12",
38
+ xl: "w-14 h-14",
39
+ "2xl": "w-16 h-16"
40
+ };
41
+ const titleTextClasses = compact ? {
42
+ xs: "text-[10px]",
43
+ sm: "text-[10px]",
44
+ md: "text-xs",
45
+ lg: "text-sm",
46
+ xl: "text-base",
47
+ "2xl": "text-lg"
48
+ } : {
49
+ xs: "text-xs",
50
+ sm: "text-xs",
51
+ md: "text-sm",
52
+ lg: "text-base",
53
+ xl: "text-lg",
54
+ "2xl": "text-xl"
55
+ };
56
+ const metaTextClasses = compact ? {
57
+ xs: "text-[10px]",
58
+ sm: "text-[10px]",
59
+ md: "text-[10px]",
60
+ lg: "text-[10px]",
61
+ xl: "text-xs",
62
+ "2xl": "text-xs"
63
+ } : {
64
+ xs: "text-xs",
65
+ sm: "text-xs",
66
+ md: "text-sm",
67
+ lg: "text-sm",
68
+ xl: "text-base",
69
+ "2xl": "text-lg"
70
+ };
71
+ const descriptionTextClasses = {
72
+ xs: "text-xs",
73
+ sm: "text-xs",
74
+ md: "text-xs",
75
+ lg: "text-xs",
76
+ xl: "text-xs",
77
+ "2xl": "text-xs"
78
+ };
79
+ const valueTextClasses = compact ? {
80
+ xs: "text-sm",
81
+ sm: "text-base",
82
+ md: "text-lg",
83
+ lg: "text-xl",
84
+ xl: "text-2xl",
85
+ "2xl": "text-3xl"
86
+ } : {
87
+ xs: "text-lg",
88
+ sm: "text-xl",
89
+ md: "text-3xl",
90
+ lg: "text-4xl",
91
+ xl: "text-5xl",
92
+ "2xl": "text-6xl"
93
+ };
94
+ const roundedClasses = "rounded-2xl";
95
+ const borderClasses = bordered ? "border" : "";
96
+ const shadowClasses = shadow ? "shadow-sm" : "";
97
+ const clickableClasses = clickable ? "cursor-pointer transition-transform hover:scale-105" : "";
98
+ const baseClassName = `
99
+ ${componentSizes.SIZE_PADDING_CLASSES[resolvedSize]} ${roundedClasses} ${borderClasses} ${shadowClasses} ${clickableClasses}
100
+ backdrop-blur-md transition-all duration-300
101
+ ${className}
102
+ `.trim().replace(/\s+/g, " ");
103
+ const getCardStyles = () => {
104
+ const baseStyles = {
105
+ backgroundColor: "var(--lm-bg-elevated)",
106
+ color: "var(--lm-text-primary)",
107
+ borderColor: "var(--lm-border-default)",
108
+ boxShadow: "var(--lm-shadow-sm)"
109
+ };
110
+ switch (variant) {
111
+ case "primary":
112
+ return {
113
+ ...baseStyles,
114
+ backgroundColor: "var(--lm-primary-50)",
115
+ borderColor: "var(--lm-primary-200)"
116
+ };
117
+ case "success":
118
+ return {
119
+ ...baseStyles,
120
+ backgroundColor: "var(--lm-success-50)",
121
+ borderColor: "var(--lm-success-200)"
122
+ };
123
+ case "warning":
124
+ return {
125
+ ...baseStyles,
126
+ backgroundColor: "var(--lm-warning-50)",
127
+ borderColor: "var(--lm-warning-200)"
128
+ };
129
+ case "error":
130
+ return {
131
+ ...baseStyles,
132
+ backgroundColor: "var(--lm-error-50)",
133
+ borderColor: "var(--lm-error-200)"
134
+ };
135
+ case "info":
136
+ return {
137
+ ...baseStyles,
138
+ backgroundColor: "var(--lm-gray-50)",
139
+ borderColor: "var(--lm-gray-200)"
140
+ };
141
+ default:
142
+ return baseStyles;
143
+ }
144
+ };
145
+ const getHoverStyles = () => {
146
+ if (!clickable) return {};
147
+ switch (variant) {
148
+ case "primary":
149
+ return {
150
+ backgroundColor: "var(--lm-primary-100)",
151
+ borderColor: "var(--lm-primary-300)",
152
+ boxShadow: "var(--lm-shadow-md)"
153
+ };
154
+ case "success":
155
+ return {
156
+ backgroundColor: "var(--lm-success-100)",
157
+ borderColor: "var(--lm-success-300)",
158
+ boxShadow: "var(--lm-shadow-md)"
159
+ };
160
+ case "warning":
161
+ return {
162
+ backgroundColor: "var(--lm-warning-100)",
163
+ borderColor: "var(--lm-warning-300)",
164
+ boxShadow: "var(--lm-shadow-md)"
165
+ };
166
+ case "error":
167
+ return {
168
+ backgroundColor: "var(--lm-error-100)",
169
+ borderColor: "var(--lm-error-300)",
170
+ boxShadow: "var(--lm-shadow-md)"
171
+ };
172
+ case "info":
173
+ return {
174
+ backgroundColor: "var(--lm-gray-100)",
175
+ borderColor: "var(--lm-gray-300)",
176
+ boxShadow: "var(--lm-shadow-md)"
177
+ };
178
+ default:
179
+ return {
180
+ backgroundColor: "var(--lm-bg-paper)",
181
+ borderColor: "var(--lm-border-strong)",
182
+ boxShadow: "var(--lm-shadow-md)"
183
+ };
184
+ }
185
+ };
186
+ const getIconStyles = () => {
187
+ switch (variant) {
188
+ case "primary":
189
+ return {
190
+ color: "var(--lm-primary-600)",
191
+ backgroundColor: "var(--lm-primary-100)"
192
+ };
193
+ case "success":
194
+ return {
195
+ color: "var(--lm-success-600)",
196
+ backgroundColor: "var(--lm-success-100)"
197
+ };
198
+ case "warning":
199
+ return {
200
+ color: "var(--lm-warning-600)",
201
+ backgroundColor: "var(--lm-warning-100)"
202
+ };
203
+ case "error":
204
+ return {
205
+ color: "var(--lm-error-600)",
206
+ backgroundColor: "var(--lm-error-100)"
207
+ };
208
+ case "info":
209
+ return {
210
+ color: "var(--lm-gray-600)",
211
+ backgroundColor: "var(--lm-gray-100)"
212
+ };
213
+ default:
214
+ return {
215
+ color: "var(--lm-primary-600)",
216
+ backgroundColor: "var(--lm-bg-paper)"
217
+ };
218
+ }
219
+ };
220
+ const getValueStyles = () => {
221
+ switch (variant) {
222
+ case "primary":
223
+ return { color: "var(--lm-primary-700)" };
224
+ case "success":
225
+ return { color: "var(--lm-success-700)" };
226
+ case "warning":
227
+ return { color: "var(--lm-warning-700)" };
228
+ case "error":
229
+ return { color: "var(--lm-error-700)" };
230
+ case "info":
231
+ return { color: "var(--lm-gray-700)" };
232
+ default:
233
+ return { color: "var(--lm-text-primary)" };
234
+ }
235
+ };
236
+ const getTrendStyles = () => {
237
+ if (trend == null) return {};
238
+ if (trend > 0) return { color: "var(--lm-success-600)" };
239
+ if (trend < 0) return { color: "var(--lm-error-600)" };
240
+ return { color: "var(--lm-text-secondary)" };
241
+ };
242
+ const getTrendIcon = () => {
243
+ if (trend == null) return null;
244
+ if (trend > 0) return /* @__PURE__ */ jsxRuntime.jsx(ArrowUpIcon, {});
245
+ if (trend < 0) return /* @__PURE__ */ jsxRuntime.jsx(ArrowDownIcon, {});
246
+ return /* @__PURE__ */ jsxRuntime.jsx(MinusIcon, {});
247
+ };
248
+ const handleKeyDown = (e) => {
249
+ if (!clickable) return;
250
+ if (e.key === "Enter" || e.key === " ") {
251
+ e.preventDefault();
252
+ onClick == null ? void 0 : onClick();
253
+ }
254
+ };
255
+ return /* @__PURE__ */ jsxRuntime.jsx(
256
+ "div",
257
+ {
258
+ className: baseClassName,
259
+ style: getCardStyles(),
260
+ onClick: clickable ? onClick : void 0,
261
+ onKeyDown: handleKeyDown,
262
+ onMouseEnter: (e) => {
263
+ if (clickable) Object.assign(e.currentTarget.style, getHoverStyles());
264
+ },
265
+ onMouseLeave: (e) => {
266
+ if (clickable) Object.assign(e.currentTarget.style, getCardStyles());
267
+ },
268
+ role: clickable ? "button" : void 0,
269
+ tabIndex: clickable ? 0 : void 0,
270
+ "aria-label": clickable ? title : void 0,
271
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start justify-between overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
272
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 mb-2 min-w-0", children: [
273
+ icon && /* @__PURE__ */ jsxRuntime.jsx(
274
+ "div",
275
+ {
276
+ className: `${iconSizeClasses[resolvedSize]} rounded-lg flex items-center justify-center shrink-0`,
277
+ style: getIconStyles(),
278
+ children: icon
279
+ }
280
+ ),
281
+ /* @__PURE__ */ jsxRuntime.jsx(
282
+ "h3",
283
+ {
284
+ className: `${titleTextClasses[resolvedSize]} font-medium truncate`,
285
+ style: { color: "var(--lm-text-secondary)" },
286
+ title,
287
+ children: title
288
+ }
289
+ )
290
+ ] }),
291
+ /* @__PURE__ */ jsxRuntime.jsxs(
292
+ "div",
293
+ {
294
+ className: `flex items-baseline ${componentSizes.SIZE_GAP_CLASSES[resolvedSize]} min-w-0 overflow-hidden w-full`,
295
+ children: [
296
+ prefix && /* @__PURE__ */ jsxRuntime.jsx(
297
+ "span",
298
+ {
299
+ className: `${metaTextClasses[resolvedSize]} shrink-0`,
300
+ style: { color: "var(--lm-text-secondary)" },
301
+ children: prefix
302
+ }
303
+ ),
304
+ /* @__PURE__ */ jsxRuntime.jsx(
305
+ "span",
306
+ {
307
+ className: `font-bold ${valueTextClasses[resolvedSize]} overflow-hidden`,
308
+ style: getValueStyles(),
309
+ children: value
310
+ }
311
+ ),
312
+ suffix && /* @__PURE__ */ jsxRuntime.jsx(
313
+ "span",
314
+ {
315
+ className: `${metaTextClasses[resolvedSize]} shrink-0`,
316
+ style: { color: "var(--lm-text-secondary)" },
317
+ children: suffix
318
+ }
319
+ )
320
+ ]
321
+ }
322
+ ),
323
+ description && /* @__PURE__ */ jsxRuntime.jsx(
324
+ "p",
325
+ {
326
+ className: `${descriptionTextClasses[resolvedSize]} mt-1 truncate`,
327
+ style: { color: "var(--lm-text-secondary)" },
328
+ title: description,
329
+ children: description
330
+ }
331
+ ),
332
+ (trend != null || trendText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex items-center ${componentSizes.SIZE_GAP_CLASSES[resolvedSize]} mt-2`, children: [
333
+ trend != null && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", style: getTrendStyles(), children: [
334
+ getTrendIcon(),
335
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-medium", children: [
336
+ Math.abs(trend),
337
+ "%"
338
+ ] })
339
+ ] }),
340
+ trendText && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", style: { color: "var(--lm-text-secondary)" }, children: trendText })
341
+ ] })
342
+ ] }) })
343
+ }
344
+ );
345
+ };
346
+ exports.LMStatCard = LMStatCard;
347
+ //# sourceMappingURL=LMStatCard-MXs9Z0qH.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LMStatCard-MXs9Z0qH.cjs","sources":["../src/components/DataDisplay/LMStatCard/LMStatCard.tsx"],"sourcesContent":["import React from 'react'\nimport {\n COMPONENT_SIZE_ORDER,\n SIZE_GAP_CLASSES,\n SIZE_PADDING_CLASSES,\n clampComponentSize,\n} from '../../../utils/componentSizes'\nimport type { ComponentSize } from '../../../utils/componentSizes'\n\nexport interface LMStatCardProps {\n /** Title */\n title: string\n /** Value */\n value: string | number\n /** Description text */\n description?: string\n /** Left icon */\n icon?: React.ReactNode\n /** Trend value (percentage, positive/negative indicates direction; 0 means flat) */\n trend?: number\n /** Trend description text */\n trendText?: string\n /** Visual variant */\n variant?: 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info'\n /** Size */\n size?: ComponentSize\n /** Clickable */\n clickable?: boolean\n /** Click event */\n onClick?: () => void\n /** Class name */\n className?: string\n /** Value prefix (e.g., $) */\n prefix?: string\n /** Value suffix (e.g., %, times) */\n suffix?: string\n /** Show border */\n bordered?: boolean\n /** Show shadow */\n shadow?: boolean\n /** Compact mode: uses smaller spacing and fonts when enabled */\n compact?: boolean\n}\n\nconst ArrowUpIcon: React.FC = () => (\n <svg className=\"w-3 h-3\" viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M6 10V2M6 2l4 4M6 2L2 6\" />\n </svg>\n)\n\nconst ArrowDownIcon: React.FC = () => (\n <svg className=\"w-3 h-3\" viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M6 2v8M6 10l4-4M6 10l-4-4\" />\n </svg>\n)\n\nconst MinusIcon: React.FC = () => (\n <svg className=\"w-3 h-3\" viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M2 6h8\" />\n </svg>\n)\n\nconst LMStatCard: React.FC<LMStatCardProps> = ({\n title,\n value,\n description,\n icon,\n trend,\n trendText,\n variant = 'default',\n size = 'md',\n clickable = false,\n onClick,\n className = '',\n prefix,\n suffix,\n bordered = true,\n shadow = true,\n compact = false,\n}) => {\n const resolvedSize = clampComponentSize(size, COMPONENT_SIZE_ORDER)\n\n const iconSizeClasses: Record<ComponentSize, string> = compact\n ? {\n xs: 'w-4 h-4',\n sm: 'w-5 h-5',\n md: 'w-6 h-6',\n lg: 'w-8 h-8',\n xl: 'w-10 h-10',\n '2xl': 'w-12 h-12',\n }\n : {\n xs: 'w-5 h-5',\n sm: 'w-6 h-6',\n md: 'w-10 h-10',\n lg: 'w-12 h-12',\n xl: 'w-14 h-14',\n '2xl': 'w-16 h-16',\n }\n\n const titleTextClasses: Record<ComponentSize, string> = compact\n ? {\n xs: 'text-[10px]',\n sm: 'text-[10px]',\n md: 'text-xs',\n lg: 'text-sm',\n xl: 'text-base',\n '2xl': 'text-lg',\n }\n : {\n xs: 'text-xs',\n sm: 'text-xs',\n md: 'text-sm',\n lg: 'text-base',\n xl: 'text-lg',\n '2xl': 'text-xl',\n }\n\n const metaTextClasses: Record<ComponentSize, string> = compact\n ? {\n xs: 'text-[10px]',\n sm: 'text-[10px]',\n md: 'text-[10px]',\n lg: 'text-[10px]',\n xl: 'text-xs',\n '2xl': 'text-xs',\n }\n : {\n xs: 'text-xs',\n sm: 'text-xs',\n md: 'text-sm',\n lg: 'text-sm',\n xl: 'text-base',\n '2xl': 'text-lg',\n }\n\n const descriptionTextClasses: Record<ComponentSize, string> = {\n xs: 'text-xs',\n sm: 'text-xs',\n md: 'text-xs',\n lg: 'text-xs',\n xl: 'text-xs',\n '2xl': 'text-xs',\n }\n\n const valueTextClasses: Record<ComponentSize, string> = compact\n ? {\n xs: 'text-sm',\n sm: 'text-base',\n md: 'text-lg',\n lg: 'text-xl',\n xl: 'text-2xl',\n '2xl': 'text-3xl',\n }\n : {\n xs: 'text-lg',\n sm: 'text-xl',\n md: 'text-3xl',\n lg: 'text-4xl',\n xl: 'text-5xl',\n '2xl': 'text-6xl',\n }\n\n const roundedClasses = 'rounded-2xl'\n const borderClasses = bordered ? 'border' : ''\n const shadowClasses = shadow ? 'shadow-sm' : ''\n const clickableClasses = clickable ? 'cursor-pointer transition-transform hover:scale-105' : ''\n\n const baseClassName = `\n ${SIZE_PADDING_CLASSES[resolvedSize]} ${roundedClasses} ${borderClasses} ${shadowClasses} ${clickableClasses}\n backdrop-blur-md transition-all duration-300\n ${className}\n `\n .trim()\n .replace(/\\s+/g, ' ')\n\n const getCardStyles = () => {\n const baseStyles = {\n backgroundColor: 'var(--lm-bg-elevated)',\n color: 'var(--lm-text-primary)',\n borderColor: 'var(--lm-border-default)',\n boxShadow: 'var(--lm-shadow-sm)',\n } as React.CSSProperties\n\n switch (variant) {\n case 'primary':\n return {\n ...baseStyles,\n backgroundColor: 'var(--lm-primary-50)',\n borderColor: 'var(--lm-primary-200)',\n }\n case 'success':\n return {\n ...baseStyles,\n backgroundColor: 'var(--lm-success-50)',\n borderColor: 'var(--lm-success-200)',\n }\n case 'warning':\n return {\n ...baseStyles,\n backgroundColor: 'var(--lm-warning-50)',\n borderColor: 'var(--lm-warning-200)',\n }\n case 'error':\n return {\n ...baseStyles,\n backgroundColor: 'var(--lm-error-50)',\n borderColor: 'var(--lm-error-200)',\n }\n case 'info':\n return {\n ...baseStyles,\n backgroundColor: 'var(--lm-gray-50)',\n borderColor: 'var(--lm-gray-200)',\n }\n default:\n return baseStyles\n }\n }\n\n const getHoverStyles = () => {\n if (!clickable) return {}\n switch (variant) {\n case 'primary':\n return {\n backgroundColor: 'var(--lm-primary-100)',\n borderColor: 'var(--lm-primary-300)',\n boxShadow: 'var(--lm-shadow-md)',\n }\n case 'success':\n return {\n backgroundColor: 'var(--lm-success-100)',\n borderColor: 'var(--lm-success-300)',\n boxShadow: 'var(--lm-shadow-md)',\n }\n case 'warning':\n return {\n backgroundColor: 'var(--lm-warning-100)',\n borderColor: 'var(--lm-warning-300)',\n boxShadow: 'var(--lm-shadow-md)',\n }\n case 'error':\n return {\n backgroundColor: 'var(--lm-error-100)',\n borderColor: 'var(--lm-error-300)',\n boxShadow: 'var(--lm-shadow-md)',\n }\n case 'info':\n return {\n backgroundColor: 'var(--lm-gray-100)',\n borderColor: 'var(--lm-gray-300)',\n boxShadow: 'var(--lm-shadow-md)',\n }\n default:\n return {\n backgroundColor: 'var(--lm-bg-paper)',\n borderColor: 'var(--lm-border-strong)',\n boxShadow: 'var(--lm-shadow-md)',\n }\n }\n }\n\n const getIconStyles = () => {\n switch (variant) {\n case 'primary':\n return {\n color: 'var(--lm-primary-600)',\n backgroundColor: 'var(--lm-primary-100)',\n }\n case 'success':\n return {\n color: 'var(--lm-success-600)',\n backgroundColor: 'var(--lm-success-100)',\n }\n case 'warning':\n return {\n color: 'var(--lm-warning-600)',\n backgroundColor: 'var(--lm-warning-100)',\n }\n case 'error':\n return {\n color: 'var(--lm-error-600)',\n backgroundColor: 'var(--lm-error-100)',\n }\n case 'info':\n return {\n color: 'var(--lm-gray-600)',\n backgroundColor: 'var(--lm-gray-100)',\n }\n default:\n return {\n color: 'var(--lm-primary-600)',\n backgroundColor: 'var(--lm-bg-paper)',\n }\n }\n }\n\n const getValueStyles = () => {\n switch (variant) {\n case 'primary':\n return { color: 'var(--lm-primary-700)' }\n case 'success':\n return { color: 'var(--lm-success-700)' }\n case 'warning':\n return { color: 'var(--lm-warning-700)' }\n case 'error':\n return { color: 'var(--lm-error-700)' }\n case 'info':\n return { color: 'var(--lm-gray-700)' }\n default:\n return { color: 'var(--lm-text-primary)' }\n }\n }\n\n const getTrendStyles = () => {\n if (trend == null) return {}\n if (trend > 0) return { color: 'var(--lm-success-600)' }\n if (trend < 0) return { color: 'var(--lm-error-600)' }\n return { color: 'var(--lm-text-secondary)' }\n }\n\n const getTrendIcon = () => {\n if (trend == null) return null\n if (trend > 0) return <ArrowUpIcon />\n if (trend < 0) return <ArrowDownIcon />\n return <MinusIcon />\n }\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (e) => {\n if (!clickable) return\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick?.()\n }\n }\n\n return (\n <div\n className={baseClassName}\n style={getCardStyles()}\n onClick={clickable ? onClick : undefined}\n onKeyDown={handleKeyDown}\n onMouseEnter={(e) => {\n if (clickable) Object.assign(e.currentTarget.style, getHoverStyles())\n }}\n onMouseLeave={(e) => {\n if (clickable) Object.assign(e.currentTarget.style, getCardStyles())\n }}\n role={clickable ? 'button' : undefined}\n tabIndex={clickable ? 0 : undefined}\n aria-label={clickable ? title : undefined}\n >\n <div className=\"flex items-start justify-between overflow-hidden\">\n <div className=\"flex-1 min-w-0\">\n {/* Title and icon */}\n <div className=\"flex items-center gap-2 mb-2 min-w-0\">\n {icon && (\n <div\n className={`${iconSizeClasses[resolvedSize]} rounded-lg flex items-center justify-center shrink-0`}\n style={getIconStyles()}\n >\n {icon}\n </div>\n )}\n <h3\n className={`${titleTextClasses[resolvedSize]} font-medium truncate`}\n style={{ color: 'var(--lm-text-secondary)' }}\n title={title}\n >\n {title}\n </h3>\n </div>\n\n {/* Value area (prefix/suffix) */}\n <div\n className={`flex items-baseline ${SIZE_GAP_CLASSES[resolvedSize]} min-w-0 overflow-hidden w-full`}\n >\n {prefix && (\n <span\n className={`${metaTextClasses[resolvedSize]} shrink-0`}\n style={{ color: 'var(--lm-text-secondary)' }}\n >\n {prefix}\n </span>\n )}\n <span\n className={`font-bold ${valueTextClasses[resolvedSize]} overflow-hidden`}\n style={getValueStyles()}\n >\n {value}\n </span>\n {suffix && (\n <span\n className={`${metaTextClasses[resolvedSize]} shrink-0`}\n style={{ color: 'var(--lm-text-secondary)' }}\n >\n {suffix}\n </span>\n )}\n </div>\n\n {/* Description */}\n {description && (\n <p\n className={`${descriptionTextClasses[resolvedSize]} mt-1 truncate`}\n style={{ color: 'var(--lm-text-secondary)' }}\n title={description}\n >\n {description}\n </p>\n )}\n\n {/* Trend area */}\n {(trend != null || trendText) && (\n <div className={`flex items-center ${SIZE_GAP_CLASSES[resolvedSize]} mt-2`}>\n {trend != null && (\n <div className=\"flex items-center gap-1\" style={getTrendStyles()}>\n {getTrendIcon()}\n <span className=\"text-sm font-medium\">{Math.abs(trend)}%</span>\n </div>\n )}\n {trendText && (\n <span className=\"text-sm\" style={{ color: 'var(--lm-text-secondary)' }}>\n {trendText}\n </span>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nexport default LMStatCard\n"],"names":["jsx","clampComponentSize","COMPONENT_SIZE_ORDER","SIZE_PADDING_CLASSES","jsxs","SIZE_GAP_CLASSES"],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useId } from "react";
3
+ const sizeConfig = {
4
+ xs: {
5
+ container: "p-2 gap-2",
6
+ label: "text-xs",
7
+ description: "text-xs mt-0.5",
8
+ errorMessage: "text-xs",
9
+ track: "w-7 h-4",
10
+ thumb: "w-2.5 h-2.5",
11
+ translate: "translate-x-3"
12
+ },
13
+ sm: {
14
+ container: "p-3 gap-2.5",
15
+ label: "text-sm",
16
+ description: "text-xs mt-1",
17
+ errorMessage: "text-xs",
18
+ track: "w-9 h-5",
19
+ thumb: "w-3 h-3",
20
+ translate: "translate-x-4"
21
+ },
22
+ md: {
23
+ container: "p-4 gap-3",
24
+ label: "text-base",
25
+ description: "text-sm mt-1",
26
+ errorMessage: "text-xs",
27
+ track: "w-11 h-6",
28
+ thumb: "w-4 h-4",
29
+ translate: "translate-x-5"
30
+ },
31
+ lg: {
32
+ container: "p-5 gap-4",
33
+ label: "text-lg",
34
+ description: "text-base mt-1.5",
35
+ errorMessage: "text-sm",
36
+ track: "w-14 h-7",
37
+ thumb: "w-5 h-5",
38
+ translate: "translate-x-7"
39
+ },
40
+ xl: {
41
+ container: "p-6 gap-4",
42
+ label: "text-xl",
43
+ description: "text-lg mt-2",
44
+ errorMessage: "text-sm",
45
+ track: "w-16 h-8",
46
+ thumb: "w-6 h-6",
47
+ translate: "translate-x-8"
48
+ },
49
+ "2xl": {
50
+ container: "p-8 gap-5",
51
+ label: "text-2xl",
52
+ description: "text-xl mt-2.5",
53
+ errorMessage: "text-base",
54
+ track: "w-20 h-10",
55
+ thumb: "w-8 h-8",
56
+ translate: "translate-x-10"
57
+ }
58
+ };
59
+ const LMSwitch = ({
60
+ label,
61
+ description,
62
+ error = false,
63
+ errorMessage,
64
+ size = "md",
65
+ id,
66
+ ...props
67
+ }) => {
68
+ const autoId = useId();
69
+ const controlId = id ?? `lm-switch-${autoId}`;
70
+ const errId = `lm-switch-err-${autoId}`;
71
+ const currentSize = sizeConfig[size];
72
+ const getTrackBg = () => {
73
+ if (props.disabled) return "var(--lm-bg-paper)";
74
+ if (error && !props.checked) return "var(--lm-error-300)";
75
+ if (props.checked) return "var(--lm-primary-500)";
76
+ return "var(--lm-border-default)";
77
+ };
78
+ const getDisabledStyles = () => {
79
+ if (props.disabled) {
80
+ return {
81
+ opacity: 0.6,
82
+ cursor: "not-allowed"
83
+ };
84
+ }
85
+ return {};
86
+ };
87
+ const getContainerStyles = () => {
88
+ const base = { backgroundColor: "var(--lm-bg-paper)" };
89
+ return error ? { ...base, backgroundColor: "var(--lm-error-50)" } : base;
90
+ };
91
+ const getHoverContainerStyles = () => error ? { backgroundColor: "var(--lm-error-100)" } : { backgroundColor: "var(--lm-bg-elevated)" };
92
+ const getLabelStyles = () => {
93
+ if (error) return { color: "var(--lm-error-700)" };
94
+ if (props.disabled)
95
+ return { color: "var(--lm-text-disabled)", cursor: "not-allowed" };
96
+ return { color: "var(--lm-text-primary)", cursor: "pointer" };
97
+ };
98
+ const getDescriptionStyles = () => error ? { color: "var(--lm-error-600)" } : { color: "var(--lm-text-secondary)" };
99
+ return /* @__PURE__ */ jsxs("div", { children: [
100
+ /* @__PURE__ */ jsxs(
101
+ "label",
102
+ {
103
+ htmlFor: controlId,
104
+ className: `flex items-start rounded-2xl transition-colors duration-200 ${currentSize.container} ${props.disabled ? "" : "cursor-pointer"}`,
105
+ style: getContainerStyles(),
106
+ onMouseEnter: (e) => {
107
+ if (!props.disabled) {
108
+ Object.assign(e.currentTarget.style, getHoverContainerStyles());
109
+ }
110
+ },
111
+ onMouseLeave: (e) => {
112
+ if (!props.disabled) {
113
+ Object.assign(e.currentTarget.style, getContainerStyles());
114
+ }
115
+ },
116
+ children: [
117
+ /* @__PURE__ */ jsxs("div", { className: "shrink-0 relative", children: [
118
+ /* @__PURE__ */ jsx(
119
+ "input",
120
+ {
121
+ type: "checkbox",
122
+ id: controlId,
123
+ ...props,
124
+ className: "sr-only peer",
125
+ "aria-invalid": error || void 0,
126
+ "aria-describedby": errorMessage ? errId : void 0,
127
+ style: getDisabledStyles()
128
+ }
129
+ ),
130
+ /* @__PURE__ */ jsx(
131
+ "div",
132
+ {
133
+ className: `${currentSize.track} rounded-full transition-all duration-300 relative`,
134
+ style: {
135
+ backgroundColor: getTrackBg(),
136
+ ...getDisabledStyles()
137
+ },
138
+ children: /* @__PURE__ */ jsx(
139
+ "div",
140
+ {
141
+ className: `${currentSize.thumb} absolute left-1 top-1/2 -translate-y-1/2 rounded-full transition-transform duration-300 ${props.checked ? currentSize.translate : "translate-x-0"}`,
142
+ style: {
143
+ backgroundColor: "var(--lm-bg-elevated)",
144
+ boxShadow: "0 1px 3px rgba(0, 0, 0, 0.1)"
145
+ }
146
+ }
147
+ )
148
+ }
149
+ )
150
+ ] }),
151
+ (label || description) && /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
152
+ label && /* @__PURE__ */ jsx(
153
+ "span",
154
+ {
155
+ className: `font-medium leading-tight transition-colors duration-200 ${currentSize.label}`,
156
+ style: getLabelStyles(),
157
+ children: label
158
+ }
159
+ ),
160
+ description && /* @__PURE__ */ jsx(
161
+ "p",
162
+ {
163
+ className: currentSize.description,
164
+ style: getDescriptionStyles(),
165
+ children: description
166
+ }
167
+ )
168
+ ] })
169
+ ]
170
+ }
171
+ ),
172
+ errorMessage && /* @__PURE__ */ jsxs(
173
+ "p",
174
+ {
175
+ id: errId,
176
+ className: `flex items-center gap-1 mt-2 ${currentSize.errorMessage}`,
177
+ style: { color: "var(--lm-error-500)" },
178
+ role: "alert",
179
+ "aria-live": "polite",
180
+ children: [
181
+ /* @__PURE__ */ jsx(
182
+ "svg",
183
+ {
184
+ className: "w-3 h-3",
185
+ fill: "currentColor",
186
+ viewBox: "0 0 20 20",
187
+ "aria-hidden": "true",
188
+ children: /* @__PURE__ */ jsx(
189
+ "path",
190
+ {
191
+ fillRule: "evenodd",
192
+ d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",
193
+ clipRule: "evenodd"
194
+ }
195
+ )
196
+ }
197
+ ),
198
+ errorMessage
199
+ ]
200
+ }
201
+ )
202
+ ] });
203
+ };
204
+ export {
205
+ LMSwitch as L
206
+ };
207
+ //# sourceMappingURL=LMSwitch-CP1_nrfU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LMSwitch-CP1_nrfU.js","sources":["../src/components/Form/LMSwitch/LMSwitch.tsx"],"sourcesContent":["import React, { useId } from 'react'\nimport type { ComponentSize } from '../../../utils/componentSizes'\n\nexport interface LMSwitchProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {\n /** Label text */\n label?: string\n /** Description text */\n description?: string\n /** Error state */\n error?: boolean\n /** Error message */\n errorMessage?: string\n /** Size */\n size?: ComponentSize\n}\n\nconst sizeConfig = {\n xs: {\n container: 'p-2 gap-2',\n label: 'text-xs',\n description: 'text-xs mt-0.5',\n errorMessage: 'text-xs',\n track: 'w-7 h-4',\n thumb: 'w-2.5 h-2.5',\n translate: 'translate-x-3',\n },\n sm: {\n container: 'p-3 gap-2.5',\n label: 'text-sm',\n description: 'text-xs mt-1',\n errorMessage: 'text-xs',\n track: 'w-9 h-5',\n thumb: 'w-3 h-3',\n translate: 'translate-x-4',\n },\n md: {\n container: 'p-4 gap-3',\n label: 'text-base',\n description: 'text-sm mt-1',\n errorMessage: 'text-xs',\n track: 'w-11 h-6',\n thumb: 'w-4 h-4',\n translate: 'translate-x-5',\n },\n lg: {\n container: 'p-5 gap-4',\n label: 'text-lg',\n description: 'text-base mt-1.5',\n errorMessage: 'text-sm',\n track: 'w-14 h-7',\n thumb: 'w-5 h-5',\n translate: 'translate-x-7',\n },\n xl: {\n container: 'p-6 gap-4',\n label: 'text-xl',\n description: 'text-lg mt-2',\n errorMessage: 'text-sm',\n track: 'w-16 h-8',\n thumb: 'w-6 h-6',\n translate: 'translate-x-8',\n },\n '2xl': {\n container: 'p-8 gap-5',\n label: 'text-2xl',\n description: 'text-xl mt-2.5',\n errorMessage: 'text-base',\n track: 'w-20 h-10',\n thumb: 'w-8 h-8',\n translate: 'translate-x-10',\n },\n}\n\nconst LMSwitch: React.FC<LMSwitchProps> = ({\n label,\n description,\n error = false,\n errorMessage,\n size = 'md',\n id,\n ...props\n}) => {\n const autoId = useId()\n const controlId = id ?? `lm-switch-${autoId}`\n const errId = `lm-switch-err-${autoId}`\n\n const currentSize = sizeConfig[size]\n\n const getTrackBg = () => {\n if (props.disabled) return 'var(--lm-bg-paper)'\n if (error && !props.checked) return 'var(--lm-error-300)'\n if (props.checked) return 'var(--lm-primary-500)'\n return 'var(--lm-border-default)'\n }\n\n const getDisabledStyles = () => {\n if (props.disabled) {\n return {\n opacity: 0.6,\n cursor: 'not-allowed',\n } as React.CSSProperties\n }\n return {}\n }\n\n const getContainerStyles = () => {\n const base = { backgroundColor: 'var(--lm-bg-paper)' }\n return error ? { ...base, backgroundColor: 'var(--lm-error-50)' } : base\n }\n\n const getHoverContainerStyles = () =>\n error\n ? { backgroundColor: 'var(--lm-error-100)' }\n : { backgroundColor: 'var(--lm-bg-elevated)' }\n\n const getLabelStyles = () => {\n if (error) return { color: 'var(--lm-error-700)' }\n if (props.disabled)\n return { color: 'var(--lm-text-disabled)', cursor: 'not-allowed' }\n return { color: 'var(--lm-text-primary)', cursor: 'pointer' }\n }\n\n const getDescriptionStyles = () =>\n error\n ? { color: 'var(--lm-error-600)' }\n : { color: 'var(--lm-text-secondary)' }\n\n return (\n <div>\n <label\n htmlFor={controlId}\n className={`flex items-start rounded-2xl transition-colors duration-200 ${currentSize.container} ${\n props.disabled ? '' : 'cursor-pointer'\n }`}\n style={getContainerStyles()}\n onMouseEnter={(e) => {\n if (!props.disabled) {\n Object.assign(e.currentTarget.style, getHoverContainerStyles())\n }\n }}\n onMouseLeave={(e) => {\n if (!props.disabled) {\n Object.assign(e.currentTarget.style, getContainerStyles())\n }\n }}\n >\n <div className=\"shrink-0 relative\">\n <input\n type=\"checkbox\"\n id={controlId}\n {...props}\n className=\"sr-only peer\"\n aria-invalid={error || undefined}\n aria-describedby={errorMessage ? errId : undefined}\n style={getDisabledStyles()}\n />\n <div\n className={`${currentSize.track} rounded-full transition-all duration-300 relative`}\n style={{\n backgroundColor: getTrackBg(),\n ...getDisabledStyles(),\n }}\n >\n <div\n className={`${currentSize.thumb} absolute left-1 top-1/2 -translate-y-1/2 rounded-full transition-transform duration-300 ${\n props.checked ? currentSize.translate : 'translate-x-0'\n }`}\n style={{\n backgroundColor: 'var(--lm-bg-elevated)',\n boxShadow: '0 1px 3px rgba(0, 0, 0, 0.1)',\n }}\n />\n </div>\n </div>\n\n {(label || description) && (\n <div className=\"flex-1\">\n {label && (\n <span\n className={`font-medium leading-tight transition-colors duration-200 ${currentSize.label}`}\n style={getLabelStyles()}\n >\n {label}\n </span>\n )}\n {description && (\n <p\n className={currentSize.description}\n style={getDescriptionStyles()}\n >\n {description}\n </p>\n )}\n </div>\n )}\n </label>\n\n {errorMessage && (\n <p\n id={errId}\n className={`flex items-center gap-1 mt-2 ${currentSize.errorMessage}`}\n style={{ color: 'var(--lm-error-500)' }}\n role=\"alert\"\n aria-live=\"polite\"\n >\n <svg\n className=\"w-3 h-3\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\"\n clipRule=\"evenodd\"\n />\n </svg>\n {errorMessage}\n </p>\n )}\n </div>\n )\n}\n\nexport default LMSwitch\n"],"names":[],"mappings":"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"}