siesa-ui-kit 1.0.3 → 1.0.5

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 (459) hide show
  1. package/README.md +28 -54
  2. package/claude/agents/siesa-ui-kit-specialist.md +2401 -0
  3. package/claude/prompts/component-template.md +121 -0
  4. package/claude/settings.local.json +61 -0
  5. package/docs/border-radius.md +1261 -0
  6. package/docs/colors.md +832 -0
  7. package/docs/dark-mode-guide.md +1426 -0
  8. package/docs/filters.md +1243 -0
  9. package/docs/icons.md +1283 -0
  10. package/docs/shadows.md +1377 -0
  11. package/docs/spacing.md +1684 -0
  12. package/docs/typography.md +1268 -0
  13. package/package.json +14 -34
  14. package/postcss.config.cjs +6 -0
  15. package/public/,Business Logo.png +0 -0
  16. package/public/.Siesa Logo.png +0 -0
  17. package/public/bg_siesa.png +0 -0
  18. package/public/siesa_logo_mobile.png +0 -0
  19. package/public/vite.svg +1 -0
  20. package/src/App.css +42 -0
  21. package/src/App.tsx +8 -0
  22. package/src/ButtonTest.tsx +147 -0
  23. package/src/assets/fonts/README.md +261 -0
  24. package/src/assets/fonts/SiesaBT/SiesaBT-Bold.otf +0 -0
  25. package/src/assets/fonts/SiesaBT/SiesaBT-Light.otf +0 -0
  26. package/src/assets/fonts/SiesaBT/SiesaBT-Regular.otf +0 -0
  27. package/src/assets/react.svg +1 -0
  28. package/src/components/Alert/Alert.stories.tsx +332 -0
  29. package/src/components/Alert/Alert.tsx +106 -0
  30. package/src/components/Alert/Alert.types.ts +54 -0
  31. package/src/components/Avatar/Avatar.stories.tsx +494 -0
  32. package/src/components/Avatar/Avatar.tsx +143 -0
  33. package/src/components/Avatar/Avatar.types.ts +53 -0
  34. package/src/components/Badge/Badge.stories.tsx +339 -0
  35. package/src/components/Badge/Badge.tsx +278 -0
  36. package/src/components/Badge/Badge.types.ts +58 -0
  37. package/src/components/Button/Button.stories.tsx +950 -0
  38. package/src/components/Button/Button.tsx +337 -0
  39. package/src/components/Button/Button.types.ts +180 -0
  40. package/src/components/Button/icons.tsx +87 -0
  41. package/{dist/components/Button/index.d.ts → src/components/Button/index.ts} +3 -4
  42. package/src/components/Checkbox/Checkbox.stories.tsx +453 -0
  43. package/src/components/Checkbox/Checkbox.tsx +208 -0
  44. package/src/components/Checkbox/Checkbox.types.ts +61 -0
  45. package/src/components/DescriptionList/DescriptionList.stories.tsx +250 -0
  46. package/src/components/DescriptionList/DescriptionList.tsx +96 -0
  47. package/src/components/DescriptionList/DescriptionList.types.ts +29 -0
  48. package/src/components/Divider/Divider.stories.tsx +263 -0
  49. package/src/components/Divider/Divider.tsx +80 -0
  50. package/src/components/Divider/Divider.types.ts +24 -0
  51. package/src/components/Dropdown/Dropdown.stories.tsx +552 -0
  52. package/src/components/Dropdown/Dropdown.tsx +422 -0
  53. package/src/components/Dropdown/Dropdown.types.ts +146 -0
  54. package/src/components/Dropdown/README.md +266 -0
  55. package/src/components/Dropdown/icons.tsx +72 -0
  56. package/{dist/components/Dropdown/index.d.ts → src/components/Dropdown/index.ts} +8 -4
  57. package/src/components/Input/Input.stories.tsx +583 -0
  58. package/src/components/Input/Input.tsx +204 -0
  59. package/src/components/Input/Input.types.ts +80 -0
  60. package/src/components/Input/icons.tsx +145 -0
  61. package/{dist/components/Input/index.d.ts → src/components/Input/index.ts} +2 -3
  62. package/src/components/LoginView/LoginView.stories.tsx +148 -0
  63. package/src/components/LoginView/LoginView.tsx +426 -0
  64. package/src/components/LoginView/LoginView.types.ts +52 -0
  65. package/src/components/LoginView/README.md +396 -0
  66. package/src/components/LoginView/icons.tsx +85 -0
  67. package/{dist/components/LoginView/index.d.ts → src/components/LoginView/index.ts} +3 -4
  68. package/src/components/Navbar/Navbar.stories.tsx +810 -0
  69. package/src/components/Navbar/Navbar.tsx +755 -0
  70. package/src/components/Navbar/Navbar.types.ts +219 -0
  71. package/src/components/Navbar/README.md +279 -0
  72. package/src/components/Navbar/icons.tsx +102 -0
  73. package/src/components/Navbar/index.ts +8 -0
  74. package/src/components/NavigationBar/NavigationBar.stories.tsx +406 -0
  75. package/src/components/NavigationBar/NavigationBar.tsx +246 -0
  76. package/src/components/NavigationBar/NavigationBar.types.ts +74 -0
  77. package/src/components/NavigationBar/README.md +469 -0
  78. package/{dist/components/NavigationBar/index.d.ts → src/components/NavigationBar/index.ts} +2 -3
  79. package/src/components/NavigationRail/NavigationRail.stories.tsx +417 -0
  80. package/src/components/NavigationRail/NavigationRail.tsx +418 -0
  81. package/src/components/NavigationRail/NavigationRail.types.ts +109 -0
  82. package/src/components/NavigationRail/README.md +224 -0
  83. package/{dist/components/NavigationRail/index.d.ts → src/components/NavigationRail/index.ts} +2 -3
  84. package/src/components/Notification/Notification.stories.tsx +513 -0
  85. package/src/components/Notification/Notification.tsx +145 -0
  86. package/src/components/Notification/Notification.types.ts +142 -0
  87. package/src/components/Notification/README.md +409 -0
  88. package/{dist/components/Notification/index.d.ts → src/components/Notification/index.ts} +3 -3
  89. package/src/components/POSConvention/POSConvention.stories.tsx +235 -0
  90. package/src/components/POSConvention/POSConvention.tsx +129 -0
  91. package/{dist/components/POSConvention/POSConvention.types.d.ts → src/components/POSConvention/POSConvention.types.ts} +38 -37
  92. package/src/components/POSConvention/README.md +123 -0
  93. package/src/components/POSConvention/icons.tsx +45 -0
  94. package/{dist/components/POSConvention/index.d.ts → src/components/POSConvention/index.ts} +3 -4
  95. package/src/components/POSLocationButton/POSLocationButton.stories.tsx +531 -0
  96. package/src/components/POSLocationButton/POSLocationButton.tsx +247 -0
  97. package/src/components/POSLocationButton/POSLocationButton.types.ts +87 -0
  98. package/src/components/POSLocationButton/README.md +253 -0
  99. package/src/components/POSLocationButton/icons.tsx +120 -0
  100. package/src/components/POSLocationButton/index.ts +14 -0
  101. package/src/components/POSNumberButton/POSNumberButton.stories.tsx +415 -0
  102. package/src/components/POSNumberButton/POSNumberButton.tsx +179 -0
  103. package/src/components/POSNumberButton/POSNumberButton.types.ts +51 -0
  104. package/src/components/POSNumberButton/README.md +321 -0
  105. package/{dist/components/POSNumberButton/index.d.ts → src/components/POSNumberButton/index.ts} +3 -3
  106. package/src/components/POSProductButton/POSProductButton.stories.tsx +318 -0
  107. package/src/components/POSProductButton/POSProductButton.tsx +152 -0
  108. package/src/components/POSProductButton/POSProductButton.types.ts +46 -0
  109. package/src/components/POSProductButton/README.md +269 -0
  110. package/{dist/components/POSProductButton/index.d.ts → src/components/POSProductButton/index.ts} +2 -3
  111. package/src/components/POSProductCard/POSProductCard.stories.tsx +642 -0
  112. package/src/components/POSProductCard/POSProductCard.tsx +208 -0
  113. package/src/components/POSProductCard/POSProductCard.types.ts +76 -0
  114. package/src/components/POSProductCard/README.md +179 -0
  115. package/src/components/POSProductCard/icons.tsx +26 -0
  116. package/{dist/components/POSProductCard/index.d.ts → src/components/POSProductCard/index.ts} +2 -3
  117. package/src/components/POSProductSidebarItems/POSProductSidebarItems.stories.tsx +753 -0
  118. package/src/components/POSProductSidebarItems/POSProductSidebarItems.tsx +332 -0
  119. package/src/components/POSProductSidebarItems/POSProductSidebarItems.types.ts +119 -0
  120. package/src/components/POSProductSidebarItems/README.md +198 -0
  121. package/src/components/POSProductSidebarItems/icons.tsx +21 -0
  122. package/{dist/components/POSProductSidebarItems/index.d.ts → src/components/POSProductSidebarItems/index.ts} +3 -4
  123. package/src/components/POSTable/POSTable.stories.tsx +737 -0
  124. package/src/components/POSTable/POSTable.tsx +401 -0
  125. package/src/components/POSTable/POSTable.types.ts +83 -0
  126. package/src/components/POSTable/README.md +286 -0
  127. package/src/components/POSTable/index.ts +7 -0
  128. package/src/components/Pagination/Pagination.stories.tsx +555 -0
  129. package/src/components/Pagination/Pagination.tsx +286 -0
  130. package/src/components/Pagination/Pagination.types.ts +93 -0
  131. package/src/components/Pagination/README.md +298 -0
  132. package/src/components/Pagination/icons.tsx +47 -0
  133. package/{dist/components/Pagination/index.d.ts → src/components/Pagination/index.ts} +3 -4
  134. package/src/components/Quantity/Quantity.stories.tsx +457 -0
  135. package/src/components/Quantity/Quantity.tsx +289 -0
  136. package/src/components/Quantity/Quantity.types.ts +70 -0
  137. package/src/components/Radio/Radio.stories.tsx +523 -0
  138. package/src/components/Radio/Radio.tsx +170 -0
  139. package/src/components/Radio/Radio.types.ts +122 -0
  140. package/src/components/Select/README.md +299 -0
  141. package/src/components/Select/Select.stories.tsx +673 -0
  142. package/src/components/Select/Select.tsx +454 -0
  143. package/src/components/Select/Select.types.ts +148 -0
  144. package/src/components/Select/icons.tsx +50 -0
  145. package/{dist/components/Select/index.d.ts → src/components/Select/index.ts} +3 -4
  146. package/src/components/SignUpView/SignUpView.stories.tsx +129 -0
  147. package/src/components/SignUpView/SignUpView.tsx +503 -0
  148. package/src/components/SignUpView/SignUpView.types.ts +58 -0
  149. package/src/components/SignUpView/icons.tsx +71 -0
  150. package/{dist/components/SignUpView/index.d.ts → src/components/SignUpView/index.ts} +3 -4
  151. package/src/components/Switch/README.md +112 -0
  152. package/src/components/Switch/Switch.stories.tsx +550 -0
  153. package/src/components/Switch/Switch.tsx +246 -0
  154. package/src/components/Switch/Switch.types.ts +67 -0
  155. package/src/components/Table/README.md +369 -0
  156. package/src/components/Table/Table.stories.tsx +805 -0
  157. package/src/components/Table/Table.tsx +688 -0
  158. package/src/components/Table/Table.types.ts +204 -0
  159. package/src/components/Table/index.ts +9 -0
  160. package/src/components/Tabs/README.md +201 -0
  161. package/src/components/Tabs/Tabs.stories.tsx +580 -0
  162. package/src/components/Tabs/Tabs.tsx +356 -0
  163. package/src/components/Tabs/Tabs.types.ts +127 -0
  164. package/src/components/Tabs/icons.tsx +129 -0
  165. package/src/components/Tabs/index.ts +11 -0
  166. package/src/components/Textarea/Textarea.stories.tsx +535 -0
  167. package/src/components/Textarea/Textarea.tsx +188 -0
  168. package/src/components/Textarea/Textarea.types.ts +54 -0
  169. package/src/context/ThemeContext.tsx +99 -0
  170. package/{dist/context/index.d.ts → src/context/index.ts} +1 -2
  171. package/src/index.css +29 -0
  172. package/src/index.ts +39 -0
  173. package/src/main.tsx +10 -0
  174. package/src/views/ProductsView/ProductsView.stories.tsx +344 -0
  175. package/src/views/ProductsView/ProductsView.tsx +480 -0
  176. package/src/views/ProductsView/ProductsView.types.ts +238 -0
  177. package/src/views/ProductsView/README.md +312 -0
  178. package/src/views/ProductsView/icons.tsx +38 -0
  179. package/src/views/ProductsView/index.ts +8 -0
  180. package/src/views/RecoverPasswordView/README.md +269 -0
  181. package/src/views/RecoverPasswordView/RecoverPasswordView.stories.tsx +131 -0
  182. package/src/views/RecoverPasswordView/RecoverPasswordView.tsx +376 -0
  183. package/src/views/RecoverPasswordView/RecoverPasswordView.types.ts +56 -0
  184. package/src/views/RecoverPasswordView/icons.tsx +17 -0
  185. package/{dist/views/RecoverPasswordView/index.d.ts → src/views/RecoverPasswordView/index.ts} +2 -3
  186. package/src/views/TableLayoutView/README.md +268 -0
  187. package/src/views/TableLayoutView/TableLayoutView.stories.tsx +235 -0
  188. package/src/views/TableLayoutView/TableLayoutView.tsx +461 -0
  189. package/src/views/TableLayoutView/TableLayoutView.types.ts +209 -0
  190. package/src/views/TableLayoutView/icons.tsx +113 -0
  191. package/src/views/TableLayoutView/index.ts +6 -0
  192. package/storybook/main.ts +20 -0
  193. package/storybook/preview.tsx +84 -0
  194. package/storybook/vitest.setup.ts +7 -0
  195. package/tailwind.config.js +128 -0
  196. package/dist/ButtonTest.d.ts +0 -6
  197. package/dist/ButtonTest.d.ts.map +0 -1
  198. package/dist/components/Alert/Alert.d.ts +0 -23
  199. package/dist/components/Alert/Alert.d.ts.map +0 -1
  200. package/dist/components/Alert/Alert.types.d.ts +0 -46
  201. package/dist/components/Alert/Alert.types.d.ts.map +0 -1
  202. package/dist/components/Avatar/Avatar.d.ts +0 -41
  203. package/dist/components/Avatar/Avatar.d.ts.map +0 -1
  204. package/dist/components/Avatar/Avatar.types.d.ts +0 -46
  205. package/dist/components/Avatar/Avatar.types.d.ts.map +0 -1
  206. package/dist/components/Badge/Badge.d.ts +0 -42
  207. package/dist/components/Badge/Badge.d.ts.map +0 -1
  208. package/dist/components/Badge/Badge.types.d.ts +0 -32
  209. package/dist/components/Badge/Badge.types.d.ts.map +0 -1
  210. package/dist/components/Button/Button.d.ts +0 -84
  211. package/dist/components/Button/Button.d.ts.map +0 -1
  212. package/dist/components/Button/Button.types.d.ts +0 -162
  213. package/dist/components/Button/Button.types.d.ts.map +0 -1
  214. package/dist/components/Button/icons.d.ts +0 -26
  215. package/dist/components/Button/icons.d.ts.map +0 -1
  216. package/dist/components/Button/index.d.ts.map +0 -1
  217. package/dist/components/Checkbox/Checkbox.d.ts +0 -31
  218. package/dist/components/Checkbox/Checkbox.d.ts.map +0 -1
  219. package/dist/components/Checkbox/Checkbox.types.d.ts +0 -53
  220. package/dist/components/Checkbox/Checkbox.types.d.ts.map +0 -1
  221. package/dist/components/DescriptionList/DescriptionList.d.ts +0 -38
  222. package/dist/components/DescriptionList/DescriptionList.d.ts.map +0 -1
  223. package/dist/components/DescriptionList/DescriptionList.types.d.ts +0 -27
  224. package/dist/components/DescriptionList/DescriptionList.types.d.ts.map +0 -1
  225. package/dist/components/Divider/Divider.d.ts +0 -33
  226. package/dist/components/Divider/Divider.d.ts.map +0 -1
  227. package/dist/components/Divider/Divider.types.d.ts +0 -22
  228. package/dist/components/Divider/Divider.types.d.ts.map +0 -1
  229. package/dist/components/Dropdown/Dropdown.d.ts +0 -66
  230. package/dist/components/Dropdown/Dropdown.d.ts.map +0 -1
  231. package/dist/components/Dropdown/Dropdown.types.d.ts +0 -124
  232. package/dist/components/Dropdown/Dropdown.types.d.ts.map +0 -1
  233. package/dist/components/Dropdown/icons.d.ts +0 -10
  234. package/dist/components/Dropdown/icons.d.ts.map +0 -1
  235. package/dist/components/Dropdown/index.d.ts.map +0 -1
  236. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts +0 -101
  237. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts.map +0 -1
  238. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts +0 -95
  239. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts.map +0 -1
  240. package/dist/components/DropdownItemCollapsible/icons.d.ts +0 -19
  241. package/dist/components/DropdownItemCollapsible/icons.d.ts.map +0 -1
  242. package/dist/components/DropdownItemCollapsible/index.d.ts +0 -9
  243. package/dist/components/DropdownItemCollapsible/index.d.ts.map +0 -1
  244. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts +0 -75
  245. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts.map +0 -1
  246. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts +0 -85
  247. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts.map +0 -1
  248. package/dist/components/DropdownItemHeading/icons.d.ts +0 -48
  249. package/dist/components/DropdownItemHeading/icons.d.ts.map +0 -1
  250. package/dist/components/DropdownItemHeading/index.d.ts +0 -4
  251. package/dist/components/DropdownItemHeading/index.d.ts.map +0 -1
  252. package/dist/components/Input/Input.d.ts +0 -40
  253. package/dist/components/Input/Input.d.ts.map +0 -1
  254. package/dist/components/Input/Input.types.d.ts +0 -71
  255. package/dist/components/Input/Input.types.d.ts.map +0 -1
  256. package/dist/components/Input/icons.d.ts +0 -15
  257. package/dist/components/Input/icons.d.ts.map +0 -1
  258. package/dist/components/Input/index.d.ts.map +0 -1
  259. package/dist/components/LoginView/LoginView.d.ts +0 -36
  260. package/dist/components/LoginView/LoginView.d.ts.map +0 -1
  261. package/dist/components/LoginView/LoginView.types.d.ts +0 -46
  262. package/dist/components/LoginView/LoginView.types.d.ts.map +0 -1
  263. package/dist/components/LoginView/icons.d.ts +0 -18
  264. package/dist/components/LoginView/icons.d.ts.map +0 -1
  265. package/dist/components/LoginView/index.d.ts.map +0 -1
  266. package/dist/components/Navbar/Navbar.d.ts +0 -63
  267. package/dist/components/Navbar/Navbar.d.ts.map +0 -1
  268. package/dist/components/Navbar/Navbar.types.d.ts +0 -194
  269. package/dist/components/Navbar/Navbar.types.d.ts.map +0 -1
  270. package/dist/components/Navbar/icons.d.ts +0 -12
  271. package/dist/components/Navbar/icons.d.ts.map +0 -1
  272. package/dist/components/Navbar/index.d.ts +0 -4
  273. package/dist/components/Navbar/index.d.ts.map +0 -1
  274. package/dist/components/NavigationBar/NavigationBar.d.ts +0 -75
  275. package/dist/components/NavigationBar/NavigationBar.d.ts.map +0 -1
  276. package/dist/components/NavigationBar/NavigationBar.types.d.ts +0 -63
  277. package/dist/components/NavigationBar/NavigationBar.types.d.ts.map +0 -1
  278. package/dist/components/NavigationBar/index.d.ts.map +0 -1
  279. package/dist/components/NavigationRail/NavigationRail.d.ts +0 -7
  280. package/dist/components/NavigationRail/NavigationRail.d.ts.map +0 -1
  281. package/dist/components/NavigationRail/NavigationRail.types.d.ts +0 -92
  282. package/dist/components/NavigationRail/NavigationRail.types.d.ts.map +0 -1
  283. package/dist/components/NavigationRail/index.d.ts.map +0 -1
  284. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts +0 -90
  285. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts.map +0 -1
  286. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts +0 -155
  287. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts.map +0 -1
  288. package/dist/components/NavigationRailItem/index.d.ts +0 -3
  289. package/dist/components/NavigationRailItem/index.d.ts.map +0 -1
  290. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts +0 -124
  291. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts.map +0 -1
  292. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts +0 -154
  293. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts.map +0 -1
  294. package/dist/components/NavigationRailPanel/index.d.ts +0 -3
  295. package/dist/components/NavigationRailPanel/index.d.ts.map +0 -1
  296. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts +0 -99
  297. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts.map +0 -1
  298. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts +0 -111
  299. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +0 -1
  300. package/dist/components/NavigationRailTypes/icons.d.ts +0 -58
  301. package/dist/components/NavigationRailTypes/icons.d.ts.map +0 -1
  302. package/dist/components/NavigationRailTypes/index.d.ts +0 -4
  303. package/dist/components/NavigationRailTypes/index.d.ts.map +0 -1
  304. package/dist/components/Notification/Notification.d.ts +0 -52
  305. package/dist/components/Notification/Notification.d.ts.map +0 -1
  306. package/dist/components/Notification/Notification.types.d.ts +0 -138
  307. package/dist/components/Notification/Notification.types.d.ts.map +0 -1
  308. package/dist/components/Notification/index.d.ts.map +0 -1
  309. package/dist/components/POSConvention/POSConvention.d.ts +0 -55
  310. package/dist/components/POSConvention/POSConvention.d.ts.map +0 -1
  311. package/dist/components/POSConvention/POSConvention.types.d.ts.map +0 -1
  312. package/dist/components/POSConvention/icons.d.ts +0 -21
  313. package/dist/components/POSConvention/icons.d.ts.map +0 -1
  314. package/dist/components/POSConvention/index.d.ts.map +0 -1
  315. package/dist/components/POSLocationButton/POSLocationButton.d.ts +0 -73
  316. package/dist/components/POSLocationButton/POSLocationButton.d.ts.map +0 -1
  317. package/dist/components/POSLocationButton/POSLocationButton.types.d.ts +0 -75
  318. package/dist/components/POSLocationButton/POSLocationButton.types.d.ts.map +0 -1
  319. package/dist/components/POSLocationButton/icons.d.ts +0 -37
  320. package/dist/components/POSLocationButton/icons.d.ts.map +0 -1
  321. package/dist/components/POSLocationButton/index.d.ts +0 -4
  322. package/dist/components/POSLocationButton/index.d.ts.map +0 -1
  323. package/dist/components/POSNumberButton/POSNumberButton.d.ts +0 -61
  324. package/dist/components/POSNumberButton/POSNumberButton.d.ts.map +0 -1
  325. package/dist/components/POSNumberButton/POSNumberButton.types.d.ts +0 -43
  326. package/dist/components/POSNumberButton/POSNumberButton.types.d.ts.map +0 -1
  327. package/dist/components/POSNumberButton/index.d.ts.map +0 -1
  328. package/dist/components/POSProductButton/POSProductButton.d.ts +0 -59
  329. package/dist/components/POSProductButton/POSProductButton.d.ts.map +0 -1
  330. package/dist/components/POSProductButton/POSProductButton.types.d.ts +0 -40
  331. package/dist/components/POSProductButton/POSProductButton.types.d.ts.map +0 -1
  332. package/dist/components/POSProductButton/index.d.ts.map +0 -1
  333. package/dist/components/POSProductCard/POSProductCard.d.ts +0 -68
  334. package/dist/components/POSProductCard/POSProductCard.d.ts.map +0 -1
  335. package/dist/components/POSProductCard/POSProductCard.types.d.ts +0 -67
  336. package/dist/components/POSProductCard/POSProductCard.types.d.ts.map +0 -1
  337. package/dist/components/POSProductCard/icons.d.ts +0 -10
  338. package/dist/components/POSProductCard/icons.d.ts.map +0 -1
  339. package/dist/components/POSProductCard/index.d.ts.map +0 -1
  340. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts +0 -57
  341. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts.map +0 -1
  342. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts +0 -85
  343. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts.map +0 -1
  344. package/dist/components/POSProductSidebarItems/icons.d.ts +0 -9
  345. package/dist/components/POSProductSidebarItems/icons.d.ts.map +0 -1
  346. package/dist/components/POSProductSidebarItems/index.d.ts.map +0 -1
  347. package/dist/components/POSTable/POSTable.d.ts +0 -75
  348. package/dist/components/POSTable/POSTable.d.ts.map +0 -1
  349. package/dist/components/POSTable/POSTable.types.d.ts +0 -71
  350. package/dist/components/POSTable/POSTable.types.d.ts.map +0 -1
  351. package/dist/components/POSTable/index.d.ts +0 -3
  352. package/dist/components/POSTable/index.d.ts.map +0 -1
  353. package/dist/components/Pagination/Pagination.d.ts +0 -29
  354. package/dist/components/Pagination/Pagination.d.ts.map +0 -1
  355. package/dist/components/Pagination/Pagination.types.d.ts +0 -79
  356. package/dist/components/Pagination/Pagination.types.d.ts.map +0 -1
  357. package/dist/components/Pagination/icons.d.ts +0 -18
  358. package/dist/components/Pagination/icons.d.ts.map +0 -1
  359. package/dist/components/Pagination/index.d.ts.map +0 -1
  360. package/dist/components/Quantity/Quantity.d.ts +0 -38
  361. package/dist/components/Quantity/Quantity.d.ts.map +0 -1
  362. package/dist/components/Quantity/Quantity.types.d.ts +0 -59
  363. package/dist/components/Quantity/Quantity.types.d.ts.map +0 -1
  364. package/dist/components/Radio/Radio.d.ts +0 -45
  365. package/dist/components/Radio/Radio.d.ts.map +0 -1
  366. package/dist/components/Radio/Radio.types.d.ts +0 -115
  367. package/dist/components/Radio/Radio.types.d.ts.map +0 -1
  368. package/dist/components/Select/Select.d.ts +0 -37
  369. package/dist/components/Select/Select.d.ts.map +0 -1
  370. package/dist/components/Select/Select.types.d.ts +0 -124
  371. package/dist/components/Select/Select.types.d.ts.map +0 -1
  372. package/dist/components/Select/icons.d.ts +0 -16
  373. package/dist/components/Select/icons.d.ts.map +0 -1
  374. package/dist/components/Select/index.d.ts.map +0 -1
  375. package/dist/components/SignUpView/SignUpView.d.ts +0 -38
  376. package/dist/components/SignUpView/SignUpView.d.ts.map +0 -1
  377. package/dist/components/SignUpView/SignUpView.types.d.ts +0 -51
  378. package/dist/components/SignUpView/SignUpView.types.d.ts.map +0 -1
  379. package/dist/components/SignUpView/icons.d.ts +0 -18
  380. package/dist/components/SignUpView/icons.d.ts.map +0 -1
  381. package/dist/components/SignUpView/index.d.ts.map +0 -1
  382. package/dist/components/Switch/Switch.d.ts +0 -46
  383. package/dist/components/Switch/Switch.d.ts.map +0 -1
  384. package/dist/components/Switch/Switch.types.d.ts +0 -58
  385. package/dist/components/Switch/Switch.types.d.ts.map +0 -1
  386. package/dist/components/Table/Table.d.ts +0 -64
  387. package/dist/components/Table/Table.d.ts.map +0 -1
  388. package/dist/components/Table/Table.types.d.ts +0 -173
  389. package/dist/components/Table/Table.types.d.ts.map +0 -1
  390. package/dist/components/Table/index.d.ts +0 -3
  391. package/dist/components/Table/index.d.ts.map +0 -1
  392. package/dist/components/Tabs/Tabs.d.ts +0 -76
  393. package/dist/components/Tabs/Tabs.d.ts.map +0 -1
  394. package/dist/components/Tabs/Tabs.types.d.ts +0 -107
  395. package/dist/components/Tabs/Tabs.types.d.ts.map +0 -1
  396. package/dist/components/Tabs/icons.d.ts +0 -45
  397. package/dist/components/Tabs/icons.d.ts.map +0 -1
  398. package/dist/components/Tabs/index.d.ts +0 -4
  399. package/dist/components/Tabs/index.d.ts.map +0 -1
  400. package/dist/components/Textarea/Textarea.d.ts +0 -38
  401. package/dist/components/Textarea/Textarea.d.ts.map +0 -1
  402. package/dist/components/Textarea/Textarea.types.d.ts +0 -46
  403. package/dist/components/Textarea/Textarea.types.d.ts.map +0 -1
  404. package/dist/context/ThemeContext.d.ts +0 -46
  405. package/dist/context/ThemeContext.d.ts.map +0 -1
  406. package/dist/context/index.d.ts.map +0 -1
  407. package/dist/index.d.ts +0 -56
  408. package/dist/index.d.ts.map +0 -1
  409. package/dist/siesa-ui-kit.cjs +0 -1260
  410. package/dist/siesa-ui-kit.cjs.map +0 -1
  411. package/dist/siesa-ui-kit.mjs +0 -4496
  412. package/dist/siesa-ui-kit.mjs.map +0 -1
  413. package/dist/views/ListView/ListView.d.ts +0 -47
  414. package/dist/views/ListView/ListView.d.ts.map +0 -1
  415. package/dist/views/ListView/ListView.types.d.ts +0 -177
  416. package/dist/views/ListView/ListView.types.d.ts.map +0 -1
  417. package/dist/views/ListView/icons.d.ts +0 -60
  418. package/dist/views/ListView/icons.d.ts.map +0 -1
  419. package/dist/views/ListView/index.d.ts +0 -3
  420. package/dist/views/ListView/index.d.ts.map +0 -1
  421. package/dist/views/LoginView/LoginView.d.ts +0 -36
  422. package/dist/views/LoginView/LoginView.d.ts.map +0 -1
  423. package/dist/views/LoginView/LoginView.types.d.ts +0 -46
  424. package/dist/views/LoginView/LoginView.types.d.ts.map +0 -1
  425. package/dist/views/LoginView/icons.d.ts +0 -18
  426. package/dist/views/LoginView/icons.d.ts.map +0 -1
  427. package/dist/views/LoginView/index.d.ts +0 -4
  428. package/dist/views/LoginView/index.d.ts.map +0 -1
  429. package/dist/views/ProductsView/ProductsView.d.ts +0 -56
  430. package/dist/views/ProductsView/ProductsView.d.ts.map +0 -1
  431. package/dist/views/ProductsView/ProductsView.types.d.ts +0 -184
  432. package/dist/views/ProductsView/ProductsView.types.d.ts.map +0 -1
  433. package/dist/views/ProductsView/icons.d.ts +0 -12
  434. package/dist/views/ProductsView/icons.d.ts.map +0 -1
  435. package/dist/views/ProductsView/index.d.ts +0 -3
  436. package/dist/views/ProductsView/index.d.ts.map +0 -1
  437. package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts +0 -34
  438. package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts.map +0 -1
  439. package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts +0 -50
  440. package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts.map +0 -1
  441. package/dist/views/RecoverPasswordView/icons.d.ts +0 -9
  442. package/dist/views/RecoverPasswordView/icons.d.ts.map +0 -1
  443. package/dist/views/RecoverPasswordView/index.d.ts.map +0 -1
  444. package/dist/views/SignUpView/SignUpView.d.ts +0 -38
  445. package/dist/views/SignUpView/SignUpView.d.ts.map +0 -1
  446. package/dist/views/SignUpView/SignUpView.types.d.ts +0 -51
  447. package/dist/views/SignUpView/SignUpView.types.d.ts.map +0 -1
  448. package/dist/views/SignUpView/icons.d.ts +0 -18
  449. package/dist/views/SignUpView/icons.d.ts.map +0 -1
  450. package/dist/views/SignUpView/index.d.ts +0 -4
  451. package/dist/views/SignUpView/index.d.ts.map +0 -1
  452. package/dist/views/TableLayoutView/TableLayoutView.d.ts +0 -46
  453. package/dist/views/TableLayoutView/TableLayoutView.d.ts.map +0 -1
  454. package/dist/views/TableLayoutView/TableLayoutView.types.d.ts +0 -170
  455. package/dist/views/TableLayoutView/TableLayoutView.types.d.ts.map +0 -1
  456. package/dist/views/TableLayoutView/icons.d.ts +0 -27
  457. package/dist/views/TableLayoutView/icons.d.ts.map +0 -1
  458. package/dist/views/TableLayoutView/index.d.ts +0 -3
  459. package/dist/views/TableLayoutView/index.d.ts.map +0 -1
@@ -1,4496 +0,0 @@
1
- import { jsxs as l, Fragment as S, jsx as e } from "react/jsx-runtime";
2
- import { forwardRef as A, cloneElement as ae, useRef as K, useEffect as W, useState as V, useMemo as ge, createContext as xe, useContext as ue } from "react";
3
- const Y = ({
4
- type: t = "default",
5
- size: a = "base",
6
- iconOnly: o = !1,
7
- leftIcon: r,
8
- rightIcon: n,
9
- children: s,
10
- disabled: c = !1,
11
- className: d = "",
12
- onClick: b,
13
- htmlType: x = "button",
14
- fullWidth: i = !1,
15
- ariaLabel: p,
16
- badge: m = !1,
17
- badgeCount: u,
18
- badgeColor: g = "red",
19
- ...y
20
- }) => {
21
- const f = {
22
- xs: o ? "h-6 w-6 p-1" : "h-6 py-1 px-2 gap-2",
23
- sm: o ? "h-7 w-7 p-1.5" : "h-7 py-1 px-2 gap-2",
24
- base: o ? "h-8 w-8 p-2" : "h-8 py-1.5 px-2.5 gap-2",
25
- l: o ? "h-9 w-9 p-2.5" : "h-9 py-2 px-3 gap-3",
26
- xl: o ? "h-10 w-10 p-3" : "h-10 py-2 px-4 gap-3"
27
- }, k = {
28
- xs: "w-4 h-4",
29
- sm: "w-4 h-4",
30
- base: "w-4 h-4",
31
- l: "w-4 h-4",
32
- xl: "w-4 h-4"
33
- }, w = {
34
- xs: "text-xs",
35
- // Label Tiny - 12px
36
- sm: "text-sm",
37
- // Label Small - 14px
38
- base: "text-sm",
39
- // Label Small - 14px (default para base)
40
- l: "text-sm",
41
- // Label Small - 14px (corregido según Figma)
42
- xl: "text-sm"
43
- // Label Small - 14px (corregido según Figma)
44
- }, h = {
45
- default: `
46
- bg-primary-custom-600
47
- text-primary-inverse-content
48
- border
49
- border-primary-inverse-border
50
- shadow-button-inset
51
- hover:bg-primary-custom-500
52
- active:scale-95
53
- transition-all
54
- duration-150
55
- dark:bg-dark-bg-inverse
56
- dark:text-dark-content-inverse
57
- dark:border-dark-border-inverse
58
- dark:hover:bg-dark-bg-inverse/90
59
- `,
60
- outline: `
61
- bg-transparent
62
- text-primary-custom-600
63
- border
64
- border-primary-custom-300
65
- shadow-sm
66
- hover:bg-primary-custom-100
67
- active:scale-95
68
- transition-all
69
- duration-150
70
- dark:text-dark-content-custom
71
- dark:border-dark-border-custom
72
- dark:hover:bg-dark-bg-custom/20
73
- `,
74
- plain: `
75
- bg-transparent
76
- text-primary-custom-600
77
- border
78
- border-transparent
79
- hover:bg-hover-overlay
80
- active:scale-95
81
- transition-all
82
- duration-150
83
- dark:text-dark-content-custom
84
- dark:hover:bg-hover-overlay-dark
85
- `
86
- }, v = `
87
- inline-flex
88
- items-center
89
- justify-center
90
- rounded-md
91
- font-bold
92
- whitespace-nowrap
93
- focus:outline-none
94
- focus:ring-4
95
- focus:ring-primary-custom-400
96
- focus:ring-offset-2
97
- focus:ring-offset-primary-custom-100
98
- dark:focus:ring-dark-border-custom
99
- dark:focus:ring-offset-dark-bg-primary
100
- disabled:opacity-50
101
- disabled:cursor-not-allowed
102
- disabled:pointer-events-none
103
- `, C = i ? "w-full" : "", N = [
104
- v,
105
- f[a],
106
- h[t],
107
- C,
108
- d
109
- ].join(" ").replace(/\s+/g, " ").trim(), B = (I) => I ? /* @__PURE__ */ e("span", { className: `inline-flex items-center justify-center ${k[a]}`, children: I }) : null, R = () => o ? B(r) : /* @__PURE__ */ l(S, { children: [
110
- r && B(r),
111
- s && /* @__PURE__ */ e("span", { className: w[a], children: s }),
112
- n && B(n)
113
- ] }), L = {
114
- zinc: { bg: "bg-zinc-600", text: "text-white" },
115
- red: { bg: "bg-red-700", text: "text-white" },
116
- orange: { bg: "bg-orange-700", text: "text-white" },
117
- amber: { bg: "bg-amber-700", text: "text-white" },
118
- yellow: { bg: "bg-yellow-700", text: "text-white" },
119
- lime: { bg: "bg-lime-700", text: "text-white" },
120
- green: { bg: "bg-green-700", text: "text-white" },
121
- emerald: { bg: "bg-emerald-700", text: "text-white" },
122
- teal: { bg: "bg-teal-700", text: "text-white" },
123
- cyan: { bg: "bg-cyan-700", text: "text-white" },
124
- sky: { bg: "bg-sky-700", text: "text-white" },
125
- blue: { bg: "bg-blue-700", text: "text-white" },
126
- indigo: { bg: "bg-indigo-700", text: "text-white" },
127
- violet: { bg: "bg-violet-700", text: "text-white" },
128
- purple: { bg: "bg-purple-700", text: "text-white" },
129
- fuchsia: { bg: "bg-fuchsia-700", text: "text-white" },
130
- pink: { bg: "bg-pink-700", text: "text-white" },
131
- rose: { bg: "bg-rose-700", text: "text-white" },
132
- primary: { bg: "bg-primary-custom-600", text: "text-white" },
133
- secondary: { bg: "bg-zinc-600", text: "text-white" },
134
- tertiary: { bg: "bg-zinc-600", text: "text-white" }
135
- }, D = L[g] || L.red, E = () => !m && u === void 0 ? null : u !== void 0 ? /* @__PURE__ */ e(
136
- "span",
137
- {
138
- className: `
139
- absolute
140
- -top-1
141
- -right-1
142
- flex
143
- items-center
144
- justify-center
145
- min-w-[16px]
146
- h-4
147
- px-1
148
- rounded-full
149
- text-[10px]
150
- font-bold
151
- leading-none
152
- ${D.bg}
153
- ${D.text}
154
- pointer-events-none
155
- `.trim().replace(/\s+/g, " "),
156
- "aria-label": `${u} notificaciones`,
157
- children: u > 99 ? "99+" : u
158
- }
159
- ) : /* @__PURE__ */ e(
160
- "span",
161
- {
162
- className: `
163
- absolute
164
- -top-1
165
- -right-1
166
- w-2
167
- h-2
168
- rounded-full
169
- ${D.bg}
170
- pointer-events-none
171
- `.trim().replace(/\s+/g, " "),
172
- "aria-label": "Notificación"
173
- }
174
- );
175
- return /* @__PURE__ */ l(
176
- "button",
177
- {
178
- type: x,
179
- className: `${N} ${m || u !== void 0 ? "relative" : ""}`,
180
- disabled: c,
181
- onClick: b,
182
- "aria-label": p,
183
- ...y,
184
- children: [
185
- R(),
186
- E()
187
- ]
188
- }
189
- );
190
- }, fe = A(
191
- ({
192
- label: t,
193
- labelSecondary: a,
194
- helperText: o,
195
- error: r = !1,
196
- errorMessage: n,
197
- leftIcon: s,
198
- rightIcon: c,
199
- fullWidth: d = !1,
200
- className: b = "",
201
- disabled: x = !1,
202
- id: i,
203
- ...p
204
- }, m) => {
205
- const u = i || `input-${Math.random().toString(36).substr(2, 9)}`, g = `
206
- w-full
207
- px-3
208
- py-1.5
209
- text-sm
210
- leading-6
211
- font-normal
212
- text-content-primary
213
- bg-bg-primary
214
- border
215
- border-border-primary
216
- rounded-md
217
- outline-none
218
- transition-all
219
- duration-150
220
- placeholder:text-content-tertiary
221
- dark:bg-dark-bg-primary
222
- dark:border-dark-border-primary
223
- dark:text-dark-content-primary
224
- dark:placeholder:text-dark-content-tertiary
225
- `, y = x ? `
226
- opacity-50
227
- cursor-not-allowed
228
- bg-bg-secondary
229
- dark:bg-dark-bg-secondary
230
- ` : `
231
- hover:border-primary-custom-600
232
- focus:border-primary-custom-600
233
- focus:ring-2
234
- focus:ring-primary-custom-400
235
- focus:ring-offset-2
236
- dark:hover:border-dark-border-custom
237
- dark:focus:border-dark-border-custom
238
- dark:focus:ring-dark-border-custom
239
- dark:focus:ring-offset-dark-bg-primary
240
- `, f = r ? `
241
- !border-error-border
242
- focus:!ring-error-border/30
243
- focus:!ring-offset-2
244
- dark:!border-error-border
245
- dark:focus:!ring-error-border/30
246
- dark:focus:!ring-offset-dark-bg-primary
247
- ` : "", k = d ? "w-full" : "w-[265px]", w = (h) => {
248
- if (!h) return null;
249
- const v = h.props.className || "";
250
- return ae(h, {
251
- className: `w-4 h-4 text-content-tertiary dark:text-dark-content-tertiary ${v}`
252
- });
253
- };
254
- return /* @__PURE__ */ l("div", { className: `flex flex-col gap-2 ${k} ${b}`, children: [
255
- t && /* @__PURE__ */ l(
256
- "label",
257
- {
258
- htmlFor: u,
259
- className: "flex items-center w-full font-bold text-sm leading-5 text-content-primary dark:text-dark-content-primary",
260
- children: [
261
- /* @__PURE__ */ e("span", { className: "flex-1", children: t }),
262
- a && /* @__PURE__ */ e("span", { className: "text-xs leading-4 text-primary-custom-600 dark:text-primary-custom-600", children: a })
263
- ]
264
- }
265
- ),
266
- /* @__PURE__ */ l("div", { className: "relative flex items-center", children: [
267
- s && /* @__PURE__ */ e("div", { className: "absolute left-3 pointer-events-none", children: w(s) }),
268
- /* @__PURE__ */ e(
269
- "input",
270
- {
271
- ref: m,
272
- id: u,
273
- disabled: x,
274
- className: `
275
- ${g}
276
- ${y}
277
- ${f}
278
- ${s ? "pl-9" : ""}
279
- ${c ? "pr-9" : ""}
280
- `.trim().replace(/\s+/g, " "),
281
- ...p
282
- }
283
- ),
284
- c && /* @__PURE__ */ e("div", { className: "absolute right-3 pointer-events-none", children: w(c) })
285
- ] }),
286
- (o || n) && /* @__PURE__ */ e(
287
- "p",
288
- {
289
- className: `
290
- text-xs
291
- leading-5
292
- ${r ? "text-error-content dark:text-error-content" : "text-content-tertiary dark:text-dark-content-tertiary"}
293
- `.trim().replace(/\s+/g, " "),
294
- children: r && n ? n : o
295
- }
296
- )
297
- ] });
298
- }
299
- );
300
- fe.displayName = "Input";
301
- const he = A(
302
- ({
303
- label: t,
304
- description: a,
305
- helperText: o,
306
- error: r = !1,
307
- errorMessage: n,
308
- fullWidth: s = !1,
309
- resize: c = "vertical",
310
- className: d = "",
311
- disabled: b = !1,
312
- id: x,
313
- rows: i = 4,
314
- ...p
315
- }, m) => {
316
- const u = x || `textarea-${Math.random().toString(36).substr(2, 9)}`, g = `
317
- w-full
318
- px-3
319
- pr-1.5
320
- py-1.5
321
- text-base
322
- leading-6
323
- font-normal
324
- bg-bg-primary
325
- border
326
- border-border-primary
327
- rounded-lg
328
- outline-none
329
- transition-all
330
- duration-150
331
- placeholder:text-content-tertiary
332
- dark:bg-dark-bg-primary
333
- dark:border-dark-border-primary
334
- dark:text-dark-content-primary
335
- dark:placeholder:text-dark-content-tertiary
336
- `, y = b ? `
337
- opacity-50
338
- cursor-not-allowed
339
- bg-bg-secondary
340
- dark:bg-dark-bg-secondary
341
- ` : `
342
- hover:border-zinc-400
343
- focus:border-2
344
- focus:border-primary-custom-600
345
- dark:hover:border-zinc-500
346
- dark:focus:border-2
347
- dark:focus:border-dark-border-custom
348
- `, f = r ? `
349
- !border-error-border
350
- focus:!border-2
351
- focus:!border-error-border
352
- dark:!border-error-border
353
- dark:focus:!border-2
354
- dark:focus:!border-error-border
355
- ` : "", k = c === "none" ? "resize-none" : c === "vertical" ? "resize-y" : c === "horizontal" ? "resize-x" : "resize";
356
- return /* @__PURE__ */ l("div", { className: `flex flex-col gap-2 ${s ? "w-full" : "w-[312px]"} ${d}`, children: [
357
- (t || a) && /* @__PURE__ */ l("div", { className: "flex flex-col gap-1 w-full", children: [
358
- t && /* @__PURE__ */ e(
359
- "label",
360
- {
361
- htmlFor: u,
362
- className: "font-bold text-sm leading-5 text-content-primary dark:text-dark-content-primary",
363
- children: t
364
- }
365
- ),
366
- a && /* @__PURE__ */ e("p", { className: "text-sm leading-5 text-content-secondary dark:text-dark-content-secondary", children: a })
367
- ] }),
368
- /* @__PURE__ */ e(
369
- "textarea",
370
- {
371
- ref: m,
372
- id: u,
373
- disabled: b,
374
- rows: i,
375
- className: `
376
- ${g}
377
- ${y}
378
- ${f}
379
- ${k}
380
- `.trim().replace(/\s+/g, " "),
381
- ...p
382
- }
383
- ),
384
- (o || n) && /* @__PURE__ */ e(
385
- "p",
386
- {
387
- className: `
388
- text-sm
389
- leading-5
390
- text-content-tertiary
391
- dark:text-dark-content-tertiary
392
- `.trim().replace(/\s+/g, " "),
393
- children: r && n ? n : o
394
- }
395
- )
396
- ] });
397
- }
398
- );
399
- he.displayName = "Textarea";
400
- const ke = A(
401
- ({
402
- label: t,
403
- description: a,
404
- checked: o = !1,
405
- indeterminate: r = !1,
406
- disabled: n = !1,
407
- className: s = "",
408
- id: c,
409
- onChange: d,
410
- ...b
411
- }, x) => {
412
- const i = K(null), p = x || i, m = c || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
413
- W(() => {
414
- p.current && (p.current.indeterminate = r);
415
- }, [r, p]);
416
- const f = [
417
- `
418
- w-4
419
- h-4
420
- rounded
421
- border
422
- border-border-primary
423
- bg-bg-primary
424
- transition-all
425
- duration-150
426
- flex
427
- items-center
428
- justify-center
429
- dark:bg-dark-bg-primary
430
- dark:border-dark-border-primary
431
- `,
432
- n ? `
433
- opacity-50
434
- cursor-not-allowed
435
- ` : o || r ? `
436
- peer-hover:border-[#50a5f7]
437
- peer-focus:ring-2
438
- peer-focus:ring-primary-custom-400/20
439
- peer-focus:border-primary-custom-600
440
- dark:peer-hover:border-[#50a5f7]
441
- dark:peer-focus:border-dark-border-custom
442
- dark:peer-focus:ring-dark-border-custom/20
443
- ` : `
444
- peer-hover:border-[#b6b6b9]
445
- peer-focus:ring-2
446
- peer-focus:ring-primary-custom-400/20
447
- peer-focus:border-primary-custom-600
448
- dark:peer-hover:border-[#b6b6b9]
449
- dark:peer-focus:border-dark-border-custom
450
- dark:peer-focus:ring-dark-border-custom/20
451
- `,
452
- o || r ? `
453
- !bg-primary-custom-600
454
- !border-primary-custom-500
455
- shadow-button-inset
456
- dark:!bg-dark-bg-inverse
457
- dark:!border-dark-bg-inverse
458
- ` : "",
459
- n ? "cursor-not-allowed" : "cursor-pointer"
460
- ].join(" ").replace(/\s+/g, " ").trim();
461
- return /* @__PURE__ */ l("div", { className: `inline-flex gap-3 items-start ${s}`, children: [
462
- /* @__PURE__ */ l("div", { className: "flex items-center justify-center h-5 w-4 shrink-0", children: [
463
- /* @__PURE__ */ e(
464
- "input",
465
- {
466
- ref: p,
467
- type: "checkbox",
468
- id: m,
469
- checked: o,
470
- disabled: n,
471
- onChange: d,
472
- className: "peer sr-only",
473
- ...b
474
- }
475
- ),
476
- /* @__PURE__ */ l("label", { htmlFor: m, className: f, children: [
477
- o && !r && /* @__PURE__ */ e(
478
- "svg",
479
- {
480
- className: "w-3 h-3 text-primary-inverse-content pointer-events-none",
481
- viewBox: "0 0 12 12",
482
- fill: "none",
483
- xmlns: "http://www.w3.org/2000/svg",
484
- children: /* @__PURE__ */ e(
485
- "path",
486
- {
487
- d: "M10 3L4.5 8.5L2 6",
488
- stroke: "currentColor",
489
- strokeWidth: "2",
490
- strokeLinecap: "round",
491
- strokeLinejoin: "round"
492
- }
493
- )
494
- }
495
- ),
496
- r && /* @__PURE__ */ e(
497
- "svg",
498
- {
499
- className: "w-3 h-3 text-primary-inverse-content pointer-events-none",
500
- viewBox: "0 0 12 12",
501
- fill: "none",
502
- xmlns: "http://www.w3.org/2000/svg",
503
- children: /* @__PURE__ */ e(
504
- "path",
505
- {
506
- d: "M2 6H10",
507
- stroke: "currentColor",
508
- strokeWidth: "2",
509
- strokeLinecap: "round"
510
- }
511
- )
512
- }
513
- )
514
- ] })
515
- ] }),
516
- (t || a) && /* @__PURE__ */ l(
517
- "label",
518
- {
519
- htmlFor: m,
520
- className: `flex-1 flex flex-col gap-1 text-sm leading-5 ${n ? "cursor-not-allowed opacity-50" : "cursor-pointer"}`,
521
- children: [
522
- t && /* @__PURE__ */ e("span", { className: "font-bold text-content-primary dark:text-dark-content-primary", children: t }),
523
- a && /* @__PURE__ */ e("span", { className: "font-normal text-content-secondary dark:text-content-secondary", children: a })
524
- ]
525
- }
526
- )
527
- ] });
528
- }
529
- );
530
- ke.displayName = "Checkbox";
531
- const ve = A(
532
- ({
533
- label: t,
534
- description: a,
535
- checked: o = !1,
536
- disabled: r = !1,
537
- className: n = "",
538
- id: s,
539
- onChange: c,
540
- value: d,
541
- name: b,
542
- ...x
543
- }, i) => {
544
- const p = s || `radio-${Math.random().toString(36).substr(2, 9)}`, m = `
545
- w-4
546
- h-4
547
- rounded-full
548
- border
549
- border-border-primary
550
- bg-bg-primary
551
- transition-all
552
- duration-150
553
- flex
554
- items-center
555
- justify-center
556
- dark:bg-dark-bg-primary
557
- dark:border-dark-border-primary
558
- `, u = r ? `
559
- opacity-50
560
- cursor-not-allowed
561
- ` : `
562
- peer-hover:border-primary-custom-600
563
- peer-focus:ring-2
564
- peer-focus:ring-primary-custom-400
565
- peer-focus:border-primary-custom-600
566
- dark:peer-hover:border-dark-border-custom
567
- dark:peer-focus:ring-dark-border-custom
568
- dark:peer-focus:border-dark-border-custom
569
- `, g = o ? `
570
- !bg-primary-custom-600
571
- !border-primary-inverse-border
572
- shadow-[0px_2px_0px_0px_inset_rgba(255,255,255,0.15)]
573
- dark:!bg-dark-bg-inverse
574
- dark:!border-dark-bg-inverse
575
- ` : "";
576
- return /* @__PURE__ */ l("div", { className: `flex gap-3 items-start ${n}`, children: [
577
- /* @__PURE__ */ l("div", { className: "flex items-center justify-center h-5 w-4 shrink-0", children: [
578
- /* @__PURE__ */ e(
579
- "input",
580
- {
581
- ref: i,
582
- type: "radio",
583
- id: p,
584
- checked: o,
585
- disabled: r,
586
- onChange: c,
587
- value: d,
588
- name: b,
589
- className: "peer sr-only",
590
- ...x
591
- }
592
- ),
593
- /* @__PURE__ */ e(
594
- "label",
595
- {
596
- htmlFor: p,
597
- className: `
598
- ${m}
599
- ${u}
600
- ${g}
601
- ${r ? "cursor-not-allowed" : "cursor-pointer"}
602
- `.trim().replace(/\s+/g, " "),
603
- children: o && /* @__PURE__ */ e("div", { className: "w-1.5 h-1.5 bg-white rounded-full dark:bg-dark-content-inverse" })
604
- }
605
- )
606
- ] }),
607
- (t || a) && /* @__PURE__ */ l(
608
- "label",
609
- {
610
- htmlFor: p,
611
- className: `flex-1 flex flex-col gap-1 text-sm leading-5 ${r ? "cursor-not-allowed opacity-50" : "cursor-pointer"}`,
612
- children: [
613
- t && /* @__PURE__ */ e("span", { className: "font-bold text-content-primary dark:text-dark-content-primary", children: t }),
614
- a && /* @__PURE__ */ e("span", { className: "font-normal text-content-secondary dark:text-content-secondary", children: a })
615
- ]
616
- }
617
- )
618
- ] });
619
- }
620
- );
621
- ve.displayName = "Radio";
622
- const ye = A(
623
- ({
624
- label: t,
625
- description: a,
626
- labelPosition: o = "leading",
627
- checked: r = !1,
628
- disabled: n = !1,
629
- className: s = "",
630
- id: c,
631
- onChange: d,
632
- ariaLabel: b,
633
- ...x
634
- }, i) => {
635
- const p = c || `switch-${Math.random().toString(36).substr(2, 9)}`, m = `
636
- w-8
637
- h-5
638
- rounded-xl
639
- border
640
- overflow-hidden
641
- relative
642
- transition-all
643
- duration-200
644
- `, u = () => n ? r ? `
645
- bg-primary-custom-600
646
- border-primary-inverse-border
647
- opacity-50
648
- cursor-not-allowed
649
- dark:bg-primary-custom-600
650
- dark:border-primary-inverse-border
651
- ` : `
652
- bg-[#fafafa]
653
- border-border-primary
654
- opacity-50
655
- cursor-not-allowed
656
- dark:bg-dark-bg-primary
657
- dark:border-dark-border-primary
658
- ` : r ? `
659
- bg-primary-custom-600
660
- border-primary-inverse-border
661
- cursor-pointer
662
- peer-hover:border-[#307cc5]
663
- peer-focus:shadow-[0px_0px_0px_2px_#dbeefe,0px_1px_2px_0px_rgba(0,0,0,0.05),0px_0px_0px_4px_#60b6fa]
664
- dark:bg-primary-custom-600
665
- dark:border-primary-inverse-border
666
- dark:peer-hover:border-[#307cc5]
667
- dark:peer-focus:shadow-[0px_0px_0px_2px_#dbeefe,0px_1px_2px_0px_rgba(0,0,0,0.05),0px_0px_0px_4px_#60b6fa]
668
- ` : `
669
- bg-[#fafafa]
670
- border-border-primary
671
- cursor-pointer
672
- peer-hover:border-[#b6b6b9]
673
- peer-focus:shadow-[0px_0px_0px_2px_#dbeefe,0px_1px_2px_0px_rgba(0,0,0,0.05),0px_0px_0px_4px_#60b6fa]
674
- dark:bg-dark-bg-primary
675
- dark:border-dark-border-primary
676
- dark:peer-hover:border-[#b6b6b9]
677
- dark:peer-focus:shadow-[0px_0px_0px_2px_#dbeefe,0px_1px_2px_0px_rgba(0,0,0,0.05),0px_0px_0px_4px_#60b6fa]
678
- `, g = () => {
679
- const h = `
680
- absolute
681
- w-4
682
- h-4
683
- bg-white
684
- rounded-[10px]
685
- border
686
- top-1/2
687
- -translate-y-1/2
688
- transition-all
689
- duration-200
690
- `, v = r ? "left-[13px]" : "left-px";
691
- return n ? `${h} ${v} ${r ? "border-primary-inverse-border dark:border-primary-inverse-border" : "border-border-primary dark:border-dark-border-primary"}` : `${h} ${v} ${r ? `
692
- border-primary-inverse-border
693
- peer-hover:border-[#307cc5]
694
- dark:border-primary-inverse-border
695
- dark:peer-hover:border-[#307cc5]
696
- ` : `
697
- border-border-primary
698
- peer-hover:border-[#b6b6b9]
699
- dark:border-dark-border-primary
700
- dark:peer-hover:border-[#b6b6b9]
701
- `}`;
702
- }, y = [
703
- m,
704
- u()
705
- ].join(" ").replace(/\s+/g, " ").trim(), f = g().replace(/\s+/g, " ").trim(), k = t || a ? /* @__PURE__ */ l(
706
- "label",
707
- {
708
- htmlFor: p,
709
- className: `flex-1 flex flex-col gap-1 text-sm leading-5 ${n ? "cursor-not-allowed opacity-50" : "cursor-pointer"}`,
710
- children: [
711
- t && /* @__PURE__ */ e("span", { className: "font-bold text-content-primary dark:text-dark-content-primary", children: t }),
712
- a && /* @__PURE__ */ e("span", { className: "font-normal text-content-secondary dark:text-content-secondary", children: a })
713
- ]
714
- }
715
- ) : null, w = /* @__PURE__ */ l("div", { className: "flex items-center justify-center shrink-0", children: [
716
- /* @__PURE__ */ e(
717
- "input",
718
- {
719
- ref: i,
720
- type: "checkbox",
721
- id: p,
722
- checked: r,
723
- disabled: n,
724
- onChange: d,
725
- className: "peer sr-only",
726
- "aria-label": b || t,
727
- ...x
728
- }
729
- ),
730
- /* @__PURE__ */ e(
731
- "label",
732
- {
733
- htmlFor: p,
734
- className: y,
735
- "aria-hidden": "true",
736
- children: /* @__PURE__ */ e("div", { className: f })
737
- }
738
- )
739
- ] });
740
- return /* @__PURE__ */ e("div", { className: `flex gap-2 items-center w-[344px] ${s}`, children: o === "leading" ? /* @__PURE__ */ l(S, { children: [
741
- k,
742
- w
743
- ] }) : /* @__PURE__ */ l(S, { children: [
744
- w,
745
- k
746
- ] }) });
747
- }
748
- );
749
- ye.displayName = "Switch";
750
- const we = A(
751
- ({
752
- size: t = "10",
753
- type: a = "circular",
754
- src: o,
755
- alt: r = "",
756
- initials: n,
757
- className: s = "",
758
- ...c
759
- }, d) => {
760
- const b = {
761
- 4: "w-5 h-5",
762
- 6: "w-6 h-6",
763
- 8: "w-8 h-8",
764
- 10: "w-10 h-10"
765
- }, x = {
766
- 4: "text-xs",
767
- // 12px - Paragraph Tiny
768
- 6: "text-xs",
769
- // 12px - Paragraph Tiny
770
- 8: "text-sm",
771
- // 14px - Paragraph Small
772
- 10: "text-base"
773
- // 16px - Paragraph Base
774
- }, i = {
775
- circular: "rounded-full",
776
- rounded: "rounded-md"
777
- }, p = `
778
- relative
779
- inline-flex
780
- items-center
781
- justify-center
782
- overflow-hidden
783
- ${b[t]}
784
- ${i[a]}
785
- `;
786
- return o ? /* @__PURE__ */ e(
787
- "div",
788
- {
789
- ref: d,
790
- className: `${p} ${s}`.trim().replace(/\s+/g, " "),
791
- children: /* @__PURE__ */ e(
792
- "img",
793
- {
794
- src: o,
795
- alt: r,
796
- className: "w-full h-full object-cover",
797
- ...c
798
- }
799
- )
800
- }
801
- ) : n ? /* @__PURE__ */ e(
802
- "div",
803
- {
804
- ref: d,
805
- className: `
806
- ${p}
807
- ${x[t]}
808
- bg-content-primary
809
- text-white
810
- font-normal
811
- dark:bg-dark-bg-inverse
812
- dark:text-dark-content-inverse
813
- ${s}
814
- `.trim().replace(/\s+/g, " "),
815
- children: /* @__PURE__ */ e("span", { className: "leading-none", children: n })
816
- }
817
- ) : /* @__PURE__ */ e(
818
- "div",
819
- {
820
- ref: d,
821
- className: `
822
- ${p}
823
- bg-background-secondary
824
- dark:bg-dark-bg-primary
825
- ${s}
826
- `.trim().replace(/\s+/g, " ")
827
- }
828
- );
829
- }
830
- );
831
- we.displayName = "Avatar";
832
- const Ce = A(
833
- ({
834
- type: t = "default",
835
- className: a = "",
836
- ...o
837
- }, r) => {
838
- const c = [
839
- "w-full h-px border-0",
840
- {
841
- // Default: Línea más visible para separaciones claras
842
- // Light: border-primary (#e4e4e7)
843
- // Dark: dark-border-primary (#71717a)
844
- default: "bg-border-primary dark:bg-dark-border-primary",
845
- // Soft: Línea más sutil para separaciones suaves
846
- // Light: border-secondary (#f4f4f5 - muy claro)
847
- // Dark: gray-700 (#374151 - gris medio-oscuro, más sutil que dark-border-primary)
848
- soft: "bg-border-secondary dark:bg-gray-700"
849
- }[t],
850
- a
851
- ].join(" ").replace(/\s+/g, " ").trim();
852
- return /* @__PURE__ */ e(
853
- "hr",
854
- {
855
- ref: r,
856
- className: c,
857
- ...o
858
- }
859
- );
860
- }
861
- );
862
- Ce.displayName = "Divider";
863
- const Ne = A(
864
- ({
865
- term: t,
866
- details: a,
867
- className: o = "",
868
- ...r
869
- }, n) => {
870
- const s = `
871
- flex
872
- flex-wrap
873
- gap-1
874
- items-start
875
- py-2.5
876
- border-b
877
- border-border-secondary
878
- dark:border-gray-700
879
- `, c = "flex-1 min-w-[180px]", d = [s, o].join(" ").replace(/\s+/g, " ").trim();
880
- return /* @__PURE__ */ l("div", { ref: n, className: d, ...r, children: [
881
- /* @__PURE__ */ e("div", { className: c, children: /* @__PURE__ */ e("p", { className: "text-sm leading-5 text-content-secondary dark:text-gray-400 font-normal", children: t }) }),
882
- /* @__PURE__ */ e("div", { className: c, children: /* @__PURE__ */ e("p", { className: "text-sm leading-5 text-content-primary dark:text-dark-content-primary font-normal", children: a }) })
883
- ] });
884
- }
885
- );
886
- Ne.displayName = "DescriptionList";
887
- const $e = A(
888
- ({
889
- title: t,
890
- description: a,
891
- children: o,
892
- actions: r,
893
- onCancel: n,
894
- onConfirm: s,
895
- cancelText: c = "Cancelar",
896
- confirmText: d = "Confirmar",
897
- className: b = "",
898
- ...x
899
- }, i) => {
900
- const p = r || /* @__PURE__ */ l(S, { children: [
901
- n && /* @__PURE__ */ e(Y, { type: "plain", size: "base", onClick: n, children: c }),
902
- s && /* @__PURE__ */ e(Y, { type: "default", size: "base", onClick: s, children: d })
903
- ] });
904
- return /* @__PURE__ */ e(
905
- "div",
906
- {
907
- ref: i,
908
- className: `
909
- w-[512px]
910
- bg-white
911
- dark:bg-dark-bg-primary
912
- border
913
- border-border-primary
914
- dark:border-dark-border-primary
915
- rounded-xl
916
- ${b}
917
- `.trim().replace(/\s+/g, " "),
918
- ...x,
919
- children: /* @__PURE__ */ l("div", { className: "p-6 flex flex-col gap-4", children: [
920
- /* @__PURE__ */ l("div", { className: "flex flex-col gap-3", children: [
921
- /* @__PURE__ */ e("p", { className: "text-sm leading-5 font-bold text-content-primary dark:text-dark-content-primary", children: t }),
922
- a && /* @__PURE__ */ e("p", { className: "text-sm leading-5 font-normal text-content-tertiary dark:text-content-tertiary", children: a })
923
- ] }),
924
- o && /* @__PURE__ */ e("div", { className: "flex flex-col gap-3", children: o }),
925
- /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-3 items-center justify-end", children: p })
926
- ] })
927
- }
928
- );
929
- }
930
- );
931
- $e.displayName = "Alert";
932
- const G = A(
933
- ({
934
- color: t = "zinc",
935
- leftIcon: a,
936
- label: o,
937
- count: r,
938
- className: n = "",
939
- ...s
940
- }, c) => {
941
- const b = {
942
- zinc: {
943
- bg: "bg-zinc-100",
944
- text: "text-zinc-600",
945
- hover: "hover:bg-zinc-200",
946
- notificationBg: "bg-zinc-600",
947
- notificationText: "text-zinc-100"
948
- },
949
- red: {
950
- bg: "bg-red-100",
951
- text: "text-red-700",
952
- hover: "hover:bg-red-200",
953
- notificationBg: "bg-red-700",
954
- notificationText: "text-red-100"
955
- },
956
- orange: {
957
- bg: "bg-orange-100",
958
- text: "text-orange-700",
959
- hover: "hover:bg-orange-200",
960
- notificationBg: "bg-orange-700",
961
- notificationText: "text-orange-100"
962
- },
963
- amber: {
964
- bg: "bg-amber-100",
965
- text: "text-amber-700",
966
- hover: "hover:bg-amber-200",
967
- notificationBg: "bg-amber-700",
968
- notificationText: "text-amber-100"
969
- },
970
- yellow: {
971
- bg: "bg-yellow-100",
972
- text: "text-yellow-700",
973
- hover: "hover:bg-yellow-200",
974
- notificationBg: "bg-yellow-700",
975
- notificationText: "text-yellow-100"
976
- },
977
- lime: {
978
- bg: "bg-lime-100",
979
- text: "text-lime-700",
980
- hover: "hover:bg-lime-200",
981
- notificationBg: "bg-lime-700",
982
- notificationText: "text-lime-100"
983
- },
984
- green: {
985
- bg: "bg-green-100",
986
- text: "text-green-700",
987
- hover: "hover:bg-green-200",
988
- notificationBg: "bg-green-700",
989
- notificationText: "text-green-100"
990
- },
991
- emerald: {
992
- bg: "bg-emerald-100",
993
- text: "text-emerald-700",
994
- hover: "hover:bg-emerald-200",
995
- notificationBg: "bg-emerald-700",
996
- notificationText: "text-emerald-100"
997
- },
998
- teal: {
999
- bg: "bg-teal-100",
1000
- text: "text-teal-700",
1001
- hover: "hover:bg-teal-200",
1002
- notificationBg: "bg-teal-700",
1003
- notificationText: "text-teal-100"
1004
- },
1005
- cyan: {
1006
- bg: "bg-cyan-100",
1007
- text: "text-cyan-700",
1008
- hover: "hover:bg-cyan-200",
1009
- notificationBg: "bg-cyan-700",
1010
- notificationText: "text-cyan-100"
1011
- },
1012
- sky: {
1013
- bg: "bg-sky-100",
1014
- text: "text-sky-700",
1015
- hover: "hover:bg-sky-200",
1016
- notificationBg: "bg-sky-700",
1017
- notificationText: "text-sky-100"
1018
- },
1019
- blue: {
1020
- bg: "bg-blue-100",
1021
- text: "text-blue-700",
1022
- hover: "hover:bg-blue-200",
1023
- notificationBg: "bg-blue-700",
1024
- notificationText: "text-blue-100"
1025
- },
1026
- indigo: {
1027
- bg: "bg-indigo-100",
1028
- text: "text-indigo-700",
1029
- hover: "hover:bg-indigo-200",
1030
- notificationBg: "bg-indigo-700",
1031
- notificationText: "text-indigo-100"
1032
- },
1033
- violet: {
1034
- bg: "bg-violet-100",
1035
- text: "text-violet-700",
1036
- hover: "hover:bg-violet-200",
1037
- notificationBg: "bg-violet-700",
1038
- notificationText: "text-violet-100"
1039
- },
1040
- purple: {
1041
- bg: "bg-purple-100",
1042
- text: "text-purple-700",
1043
- hover: "hover:bg-purple-200",
1044
- notificationBg: "bg-purple-700",
1045
- notificationText: "text-purple-100"
1046
- },
1047
- fuchsia: {
1048
- bg: "bg-fuchsia-100",
1049
- text: "text-fuchsia-700",
1050
- hover: "hover:bg-fuchsia-200",
1051
- notificationBg: "bg-fuchsia-700",
1052
- notificationText: "text-fuchsia-100"
1053
- },
1054
- pink: {
1055
- bg: "bg-pink-100",
1056
- text: "text-pink-700",
1057
- hover: "hover:bg-pink-200",
1058
- notificationBg: "bg-pink-700",
1059
- notificationText: "text-pink-100"
1060
- },
1061
- rose: {
1062
- bg: "bg-rose-100",
1063
- text: "text-rose-700",
1064
- hover: "hover:bg-rose-200",
1065
- notificationBg: "bg-rose-700",
1066
- notificationText: "text-rose-100"
1067
- },
1068
- primary: {
1069
- bg: "bg-primary-custom-100",
1070
- text: "text-primary-custom-600",
1071
- hover: "hover:bg-primary-custom-200",
1072
- notificationBg: "bg-primary-custom-600",
1073
- notificationText: "text-primary-custom-100"
1074
- },
1075
- secondary: {
1076
- bg: "bg-zinc-100",
1077
- text: "text-zinc-600",
1078
- hover: "hover:bg-zinc-200",
1079
- notificationBg: "bg-zinc-600",
1080
- notificationText: "text-zinc-100"
1081
- },
1082
- tertiary: {
1083
- bg: "bg-zinc-100",
1084
- text: "text-zinc-600",
1085
- hover: "hover:bg-zinc-200",
1086
- notificationBg: "bg-zinc-600",
1087
- notificationText: "text-zinc-100"
1088
- }
1089
- }[t], x = (p) => {
1090
- const m = p.props.className || "";
1091
- return ae(p, {
1092
- className: `w-3 h-3 ${m}`.trim()
1093
- });
1094
- }, i = [
1095
- "inline-flex",
1096
- "items-center",
1097
- "gap-1",
1098
- "px-1.5",
1099
- "py-1",
1100
- "rounded-md",
1101
- "font-sans",
1102
- b.bg,
1103
- b.hover,
1104
- "transition-colors",
1105
- "duration-200",
1106
- n
1107
- ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
1108
- return /* @__PURE__ */ l(
1109
- "div",
1110
- {
1111
- ref: c,
1112
- className: i,
1113
- ...s,
1114
- children: [
1115
- a && /* @__PURE__ */ e("div", { className: `flex items-center justify-center ${b.text}`, children: x(a) }),
1116
- /* @__PURE__ */ e("span", { className: `font-sans text-xs leading-4 ${b.text}`, children: o }),
1117
- r !== void 0 && /* @__PURE__ */ e(
1118
- "div",
1119
- {
1120
- className: `
1121
- h-3
1122
- flex
1123
- items-center
1124
- justify-center
1125
- px-0.5
1126
- rounded-sm
1127
- min-w-[12px]
1128
- ${b.notificationBg}
1129
- `.trim().replace(/\s+/g, " "),
1130
- children: /* @__PURE__ */ e("span", { className: `font-sans text-xs leading-4 ${b.notificationText}`, children: r })
1131
- }
1132
- )
1133
- ]
1134
- }
1135
- );
1136
- }
1137
- );
1138
- G.displayName = "Badge";
1139
- const ne = A(
1140
- ({
1141
- value: t,
1142
- defaultValue: a = 0,
1143
- onChange: o,
1144
- min: r = 0,
1145
- max: n,
1146
- label: s,
1147
- linkText: c,
1148
- onLinkClick: d,
1149
- helperText: b,
1150
- error: x = !1,
1151
- disabled: i = !1,
1152
- className: p = "",
1153
- ...m
1154
- }, u) => {
1155
- const [g, y] = V(a), f = t !== void 0, k = f ? t : g;
1156
- W(() => {
1157
- f || y(a);
1158
- }, [a, f]);
1159
- const w = (I) => {
1160
- let z = I;
1161
- r !== void 0 && z < r && (z = r), n !== void 0 && z > n && (z = n), f || y(z), o?.(z);
1162
- }, h = () => {
1163
- i || w(k - 1);
1164
- }, v = () => {
1165
- i || w(k + 1);
1166
- }, C = i || r !== void 0 && k <= r, N = i || n !== void 0 && k >= n, B = () => /* @__PURE__ */ e(
1167
- "svg",
1168
- {
1169
- width: "16",
1170
- height: "16",
1171
- viewBox: "0 0 16 16",
1172
- fill: "none",
1173
- xmlns: "http://www.w3.org/2000/svg",
1174
- children: /* @__PURE__ */ e(
1175
- "path",
1176
- {
1177
- d: "M3 8H13",
1178
- stroke: "currentColor",
1179
- strokeWidth: "1.5",
1180
- strokeLinecap: "round",
1181
- strokeLinejoin: "round"
1182
- }
1183
- )
1184
- }
1185
- ), R = () => /* @__PURE__ */ e(
1186
- "svg",
1187
- {
1188
- width: "16",
1189
- height: "16",
1190
- viewBox: "0 0 16 16",
1191
- fill: "none",
1192
- xmlns: "http://www.w3.org/2000/svg",
1193
- children: /* @__PURE__ */ e(
1194
- "path",
1195
- {
1196
- d: "M8 3V13M3 8H13",
1197
- stroke: "currentColor",
1198
- strokeWidth: "1.5",
1199
- strokeLinecap: "round",
1200
- strokeLinejoin: "round"
1201
- }
1202
- )
1203
- }
1204
- ), L = x ? "border-error-border dark:border-error-border" : "border-border-primary dark:border-dark-border-primary", D = !i && !x ? "hover:border-[#f9f9f9] dark:hover:border-[#f9f9f9]" : "", E = !i && !x ? "focus-within:border-2 focus-within:border-[#329cff] dark:focus-within:border-[#329cff]" : "";
1205
- return /* @__PURE__ */ l(
1206
- "div",
1207
- {
1208
- ref: u,
1209
- className: `flex flex-col gap-2 ${p}`.trim(),
1210
- ...m,
1211
- children: [
1212
- s && /* @__PURE__ */ l("div", { className: "flex items-center justify-between", children: [
1213
- /* @__PURE__ */ e("label", { className: "text-sm leading-5 font-bold text-content-primary dark:text-dark-content-primary", children: s }),
1214
- c && /* @__PURE__ */ e(
1215
- "button",
1216
- {
1217
- type: "button",
1218
- onClick: d,
1219
- disabled: i,
1220
- className: `
1221
- text-xs leading-4
1222
- text-primary-custom-600
1223
- hover:underline
1224
- dark:text-primary-custom-600
1225
- ${i ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}
1226
- transition-colors
1227
- duration-200
1228
- `.trim().replace(/\s+/g, " "),
1229
- children: c
1230
- }
1231
- )
1232
- ] }),
1233
- /* @__PURE__ */ l(
1234
- "div",
1235
- {
1236
- className: `
1237
- flex
1238
- items-center
1239
- gap-2
1240
- px-3
1241
- py-1.5
1242
- bg-white
1243
- dark:bg-dark-bg-primary
1244
- border
1245
- ${L}
1246
- ${D}
1247
- ${E}
1248
- rounded-lg
1249
- transition-colors
1250
- duration-200
1251
- ${i ? "opacity-50 cursor-not-allowed" : ""}
1252
- `.trim().replace(/\s+/g, " "),
1253
- children: [
1254
- /* @__PURE__ */ e(
1255
- "button",
1256
- {
1257
- type: "button",
1258
- onClick: h,
1259
- disabled: C,
1260
- className: `
1261
- flex
1262
- items-center
1263
- justify-center
1264
- w-4
1265
- h-4
1266
- ${C ? "text-content-tertiary dark:text-content-tertiary cursor-not-allowed" : "text-content-primary dark:text-dark-content-primary hover:text-content-secondary dark:hover:text-content-secondary cursor-pointer"}
1267
- transition-colors
1268
- duration-200
1269
- `.trim().replace(/\s+/g, " "),
1270
- "aria-label": "Decrementar",
1271
- children: /* @__PURE__ */ e(B, {})
1272
- }
1273
- ),
1274
- /* @__PURE__ */ e("div", { className: "flex-1 text-center", children: /* @__PURE__ */ e(
1275
- "span",
1276
- {
1277
- className: `
1278
- text-base leading-6
1279
- ${k === 0 ? "text-content-tertiary dark:text-content-tertiary" : "text-content-primary dark:text-dark-content-primary"}
1280
- `.trim().replace(/\s+/g, " "),
1281
- children: k
1282
- }
1283
- ) }),
1284
- /* @__PURE__ */ e(
1285
- "button",
1286
- {
1287
- type: "button",
1288
- onClick: v,
1289
- disabled: N,
1290
- className: `
1291
- flex
1292
- items-center
1293
- justify-center
1294
- w-4
1295
- h-4
1296
- ${N ? "text-content-tertiary dark:text-content-tertiary cursor-not-allowed" : "text-content-primary dark:text-dark-content-primary hover:text-content-secondary dark:hover:text-content-secondary cursor-pointer"}
1297
- transition-colors
1298
- duration-200
1299
- `.trim().replace(/\s+/g, " "),
1300
- "aria-label": "Incrementar",
1301
- children: /* @__PURE__ */ e(R, {})
1302
- }
1303
- )
1304
- ]
1305
- }
1306
- ),
1307
- b && /* @__PURE__ */ e(
1308
- "p",
1309
- {
1310
- className: `
1311
- text-sm leading-5
1312
- ${x ? "text-error-content dark:text-error-content" : "text-content-tertiary dark:text-content-tertiary"}
1313
- `.trim().replace(/\s+/g, " "),
1314
- children: b
1315
- }
1316
- )
1317
- ]
1318
- }
1319
- );
1320
- }
1321
- );
1322
- ne.displayName = "Quantity";
1323
- const je = () => /* @__PURE__ */ e(
1324
- "svg",
1325
- {
1326
- xmlns: "http://www.w3.org/2000/svg",
1327
- viewBox: "0 0 16 16",
1328
- fill: "currentColor",
1329
- className: "w-4 h-4",
1330
- children: /* @__PURE__ */ e(
1331
- "path",
1332
- {
1333
- fillRule: "evenodd",
1334
- d: "M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z",
1335
- clipRule: "evenodd"
1336
- }
1337
- )
1338
- }
1339
- ), or = ({
1340
- variant: t = "default",
1341
- children: a,
1342
- items: o,
1343
- open: r,
1344
- onOpenChange: n,
1345
- disabled: s = !1,
1346
- className: c = "",
1347
- menuClassName: d = "",
1348
- ariaLabel: b,
1349
- placeholder: x = "Options"
1350
- }) => {
1351
- const [i, p] = V(!1), m = K(null), u = r !== void 0, g = u ? r : i, y = () => {
1352
- if (s) return;
1353
- const h = !g;
1354
- u || p(h), n?.(h);
1355
- };
1356
- W(() => {
1357
- const h = (v) => {
1358
- m.current && !m.current.contains(v.target) && (u || p(!1), n?.(!1));
1359
- };
1360
- if (g)
1361
- return document.addEventListener("mousedown", h), () => {
1362
- document.removeEventListener("mousedown", h);
1363
- };
1364
- }, [g, u, n]), W(() => {
1365
- const h = (v) => {
1366
- v.key === "Escape" && g && (u || p(!1), n?.(!1));
1367
- };
1368
- if (g)
1369
- return document.addEventListener("keydown", h), () => {
1370
- document.removeEventListener("keydown", h);
1371
- };
1372
- }, [g, u, n]);
1373
- const f = (h) => {
1374
- h.disabled || h.isDivider || h.isHeading || (h.onClick && h.onClick({}), u || p(!1), n?.(!1));
1375
- }, k = [
1376
- // Base
1377
- "inline-flex",
1378
- "items-center",
1379
- "justify-center",
1380
- "rounded-lg",
1381
- "font-bold",
1382
- "text-sm",
1383
- "whitespace-nowrap",
1384
- "transition-all",
1385
- "duration-150",
1386
- // Variant-specific sizing
1387
- t === "icon-only" ? "w-9 h-9" : "gap-3 px-3 py-2",
1388
- // Colores y estados (Light Mode)
1389
- "bg-bg-primary",
1390
- "text-content-secondary",
1391
- "border",
1392
- "border-border-primary",
1393
- "hover:bg-background-secondary",
1394
- "active:scale-95",
1395
- // Dark Mode
1396
- "dark:bg-dark-bg-primary",
1397
- "dark:text-content-secondary",
1398
- "dark:border-dark-border-primary",
1399
- "dark:hover:bg-dark-bg-primary",
1400
- // Focus ring
1401
- "focus:outline-none",
1402
- "focus:ring-2",
1403
- "focus:ring-primary-custom-400",
1404
- "focus:ring-offset-2",
1405
- "dark:focus:ring-dark-border-custom",
1406
- "dark:focus:ring-offset-dark-bg-primary",
1407
- // Disabled
1408
- s && "opacity-50",
1409
- s && "cursor-not-allowed",
1410
- s && "pointer-events-none",
1411
- // Custom classes
1412
- c
1413
- ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), w = [
1414
- // Base
1415
- "absolute",
1416
- "top-full",
1417
- "left-0",
1418
- "mt-2",
1419
- "min-w-[182px]",
1420
- "rounded-xl",
1421
- "p-1",
1422
- "border",
1423
- "z-50",
1424
- // Colores (Light Mode)
1425
- "bg-background-secondary",
1426
- "border-border-primary",
1427
- // Dark Mode
1428
- "dark:bg-dark-bg-primary",
1429
- "dark:border-dark-border-primary",
1430
- // Shadow
1431
- "shadow-menu",
1432
- // Custom classes
1433
- d
1434
- ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
1435
- return /* @__PURE__ */ l("div", { ref: m, className: "relative inline-block", children: [
1436
- /* @__PURE__ */ l(
1437
- "button",
1438
- {
1439
- type: "button",
1440
- className: k,
1441
- onClick: y,
1442
- disabled: s,
1443
- "aria-label": b || (t === "icon-only" ? "Abrir menú" : void 0),
1444
- "aria-haspopup": "true",
1445
- "aria-expanded": g,
1446
- children: [
1447
- t === "default" && /* @__PURE__ */ e("span", { children: a || x }),
1448
- /* @__PURE__ */ e(je, {})
1449
- ]
1450
- }
1451
- ),
1452
- g && /* @__PURE__ */ e("div", { className: w, children: o.map((h, v) => h.isDivider ? /* @__PURE__ */ e(Le, { className: h.className }, v) : h.isHeading ? /* @__PURE__ */ e(_e, { className: h.className, children: h.children }, v) : /* @__PURE__ */ e(
1453
- Be,
1454
- {
1455
- ...h,
1456
- onClick: () => f(h)
1457
- },
1458
- v
1459
- )) })
1460
- ] });
1461
- }, Be = ({
1462
- children: t,
1463
- icon: a,
1464
- description: o,
1465
- shortcut: r,
1466
- disabled: n = !1,
1467
- selected: s = !1,
1468
- onClick: c,
1469
- className: d = ""
1470
- }) => {
1471
- const b = [
1472
- // Base
1473
- "flex",
1474
- "items-center",
1475
- "gap-3",
1476
- "px-4",
1477
- "py-2",
1478
- "rounded-lg",
1479
- "text-sm",
1480
- "w-full",
1481
- "text-left",
1482
- "transition-colors",
1483
- "duration-150",
1484
- // Colores y estados (Light Mode)
1485
- "text-content-primary",
1486
- !n && "hover:bg-white",
1487
- s && "bg-white",
1488
- // Dark Mode
1489
- "dark:text-dark-content-primary",
1490
- !n && "dark:hover:bg-dark-bg-primary",
1491
- s && "dark:bg-dark-bg-primary",
1492
- // Disabled
1493
- n && "opacity-50",
1494
- n && "cursor-not-allowed",
1495
- !n && "cursor-pointer",
1496
- // Custom classes
1497
- d
1498
- ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
1499
- return /* @__PURE__ */ l(
1500
- "button",
1501
- {
1502
- type: "button",
1503
- className: b,
1504
- onClick: c,
1505
- disabled: n,
1506
- children: [
1507
- a && /* @__PURE__ */ e("span", { className: "inline-flex items-center justify-center w-4 h-4 text-content-secondary dark:text-content-secondary", children: a }),
1508
- /* @__PURE__ */ l("div", { className: "flex-1 min-w-0", children: [
1509
- /* @__PURE__ */ e("div", { className: "text-content-primary dark:text-dark-content-primary", children: t }),
1510
- o && /* @__PURE__ */ e("div", { className: "text-xs text-content-secondary dark:text-content-secondary mt-0.5", children: o })
1511
- ] }),
1512
- r && /* @__PURE__ */ e("span", { className: "text-xs text-content-secondary dark:text-content-secondary ml-auto whitespace-nowrap", children: r })
1513
- ]
1514
- }
1515
- );
1516
- }, _e = ({
1517
- children: t,
1518
- className: a = ""
1519
- }) => {
1520
- const o = [
1521
- // Base
1522
- "px-4",
1523
- "py-1",
1524
- "text-xs",
1525
- "font-normal",
1526
- // Colores
1527
- "text-content-tertiary",
1528
- // Dark Mode
1529
- "dark:text-content-tertiary",
1530
- // Custom classes
1531
- a
1532
- ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
1533
- return /* @__PURE__ */ e("div", { className: o, children: t });
1534
- }, Le = ({
1535
- className: t = ""
1536
- }) => {
1537
- const a = [
1538
- // Base
1539
- "px-4",
1540
- "py-1",
1541
- // Custom classes
1542
- t
1543
- ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
1544
- return /* @__PURE__ */ e("div", { className: a, children: /* @__PURE__ */ e("div", { className: "h-px bg-border-primary dark:bg-dark-border-primary" }) });
1545
- }, sr = ({
1546
- count: t,
1547
- color: a = "red",
1548
- className: o = "",
1549
- ariaLabel: r
1550
- }) => {
1551
- const n = {
1552
- zinc: { bg: "bg-zinc-600", text: "text-white" },
1553
- red: { bg: "bg-content-extensions-red", text: "text-white" },
1554
- orange: { bg: "bg-orange-700", text: "text-white" },
1555
- amber: { bg: "bg-amber-700", text: "text-white" },
1556
- yellow: { bg: "bg-yellow-700", text: "text-white" },
1557
- lime: { bg: "bg-lime-700", text: "text-white" },
1558
- green: { bg: "bg-green-700", text: "text-white" },
1559
- emerald: { bg: "bg-emerald-700", text: "text-white" },
1560
- teal: { bg: "bg-teal-700", text: "text-white" },
1561
- cyan: { bg: "bg-cyan-700", text: "text-white" },
1562
- sky: { bg: "bg-sky-700", text: "text-white" },
1563
- blue: { bg: "bg-blue-700", text: "text-white" },
1564
- indigo: { bg: "bg-indigo-700", text: "text-white" },
1565
- violet: { bg: "bg-violet-700", text: "text-white" },
1566
- purple: { bg: "bg-purple-700", text: "text-white" },
1567
- fuchsia: { bg: "bg-fuchsia-700", text: "text-white" },
1568
- pink: { bg: "bg-pink-700", text: "text-white" },
1569
- rose: { bg: "bg-rose-700", text: "text-white" },
1570
- primary: { bg: "bg-primary-custom-600", text: "text-white" },
1571
- secondary: { bg: "bg-zinc-600", text: "text-white" },
1572
- tertiary: { bg: "bg-zinc-600", text: "text-white" }
1573
- }, s = n[a] || n.red, c = r || (t !== void 0 && t > 0 ? `${t} notificaci${t === 1 ? "ón" : "ones"}` : "Notificación pendiente");
1574
- if (t !== void 0 && t > 0) {
1575
- const d = t > 99 ? "99+" : t.toString();
1576
- return /* @__PURE__ */ e(
1577
- "span",
1578
- {
1579
- className: `
1580
- inline-flex
1581
- items-center
1582
- justify-center
1583
- min-w-[16px]
1584
- h-4
1585
- px-1
1586
- rounded-full
1587
- text-[10px]
1588
- font-bold
1589
- leading-none
1590
- ${s.bg}
1591
- ${s.text}
1592
- pointer-events-none
1593
- dark:${s.bg}
1594
- dark:${s.text}
1595
- ${o}
1596
- `.trim().replace(/\s+/g, " "),
1597
- role: "status",
1598
- "aria-label": c,
1599
- children: d
1600
- }
1601
- );
1602
- }
1603
- return /* @__PURE__ */ e(
1604
- "span",
1605
- {
1606
- className: `
1607
- inline-block
1608
- w-2
1609
- h-2
1610
- rounded-full
1611
- ${s.bg}
1612
- pointer-events-none
1613
- dark:${s.bg}
1614
- ${o}
1615
- `.trim().replace(/\s+/g, " "),
1616
- role: "status",
1617
- "aria-label": c
1618
- }
1619
- );
1620
- }, Me = ({ className: t = "" }) => /* @__PURE__ */ e(
1621
- "svg",
1622
- {
1623
- className: t,
1624
- xmlns: "http://www.w3.org/2000/svg",
1625
- viewBox: "0 0 16 16",
1626
- fill: "currentColor",
1627
- "aria-hidden": "true",
1628
- children: /* @__PURE__ */ e(
1629
- "path",
1630
- {
1631
- fillRule: "evenodd",
1632
- d: "M9.78 4.22a.75.75 0 0 1 0 1.06L7.06 8l2.72 2.72a.75.75 0 1 1-1.06 1.06L5.47 8.53a.75.75 0 0 1 0-1.06l3.25-3.25a.75.75 0 0 1 1.06 0Z",
1633
- clipRule: "evenodd"
1634
- }
1635
- )
1636
- }
1637
- ), Se = ({ className: t = "" }) => /* @__PURE__ */ e(
1638
- "svg",
1639
- {
1640
- className: t,
1641
- xmlns: "http://www.w3.org/2000/svg",
1642
- viewBox: "0 0 16 16",
1643
- fill: "currentColor",
1644
- "aria-hidden": "true",
1645
- children: /* @__PURE__ */ e(
1646
- "path",
1647
- {
1648
- fillRule: "evenodd",
1649
- d: "M6.22 4.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1 0 1.06l-3.25 3.25a.75.75 0 0 1-1.06-1.06L8.94 8 6.22 5.28a.75.75 0 0 1 0-1.06Z",
1650
- clipRule: "evenodd"
1651
- }
1652
- )
1653
- }
1654
- ), ir = ({
1655
- currentPage: t = 1,
1656
- totalPages: a,
1657
- onPageChange: o,
1658
- backText: r = "Atrás",
1659
- nextText: n = "Siguiente",
1660
- siblingCount: s = 1,
1661
- showBackButton: c = !0,
1662
- showNextButton: d = !0,
1663
- className: b = "",
1664
- ariaLabel: x = "Paginación"
1665
- }) => {
1666
- const i = ge(() => {
1667
- const y = s * 2 + 3 + 2;
1668
- if (a <= y)
1669
- return Array.from({ length: a }, (N, B) => B + 1);
1670
- const f = Math.max(t - s, 1), k = Math.min(t + s, a), w = f > 2, h = k < a - 1, v = 1, C = a;
1671
- if (!w && h) {
1672
- const N = 3 + 2 * s;
1673
- return [...Array.from({ length: N }, (R, L) => L + 1), "...", a];
1674
- }
1675
- if (w && !h) {
1676
- const N = 3 + 2 * s, B = Array.from(
1677
- { length: N },
1678
- (R, L) => a - N + L + 1
1679
- );
1680
- return [v, "...", ...B];
1681
- }
1682
- if (w && h) {
1683
- const N = Array.from(
1684
- { length: k - f + 1 },
1685
- (B, R) => f + R
1686
- );
1687
- return [v, "...", ...N, "...", C];
1688
- }
1689
- return [];
1690
- }, [t, a, s]), p = (g) => {
1691
- g >= 1 && g <= a && g !== t && o?.(g);
1692
- }, m = ({
1693
- page: g,
1694
- isActive: y = !1,
1695
- disabled: f = !1,
1696
- onClick: k,
1697
- ariaLabel: w
1698
- }) => {
1699
- const h = g === "...", B = [`
1700
- inline-flex
1701
- items-center
1702
- justify-center
1703
- gap-3
1704
- px-3
1705
- py-2
1706
- rounded-md
1707
- font-bold
1708
- text-sm
1709
- whitespace-nowrap
1710
- transition-all
1711
- duration-150
1712
- `, h ? `
1713
- text-primary-custom-600
1714
- dark:text-primary-custom-600
1715
- cursor-default
1716
- pointer-events-none
1717
- ` : y ? `
1718
- bg-primary-custom-100
1719
- text-primary-custom-600
1720
- dark:bg-primary-custom-100
1721
- dark:text-primary-custom-600
1722
- ` : `
1723
- text-primary-custom-600
1724
- hover:bg-primary-custom-100
1725
- active:scale-95
1726
- dark:text-primary-custom-600
1727
- dark:hover:bg-primary-custom-100
1728
- dark:active:scale-95
1729
- `, f ? `
1730
- opacity-50
1731
- cursor-not-allowed
1732
- pointer-events-none
1733
- ` : ""].join(" ").replace(/\s+/g, " ").trim();
1734
- return /* @__PURE__ */ e(
1735
- "button",
1736
- {
1737
- type: "button",
1738
- className: B,
1739
- onClick: k,
1740
- disabled: f || h,
1741
- "aria-label": w,
1742
- "aria-current": y ? "page" : void 0,
1743
- children: g
1744
- }
1745
- );
1746
- }, u = `
1747
- inline-flex
1748
- items-center
1749
- justify-between
1750
- gap-0
1751
- ${b}
1752
- `.replace(/\s+/g, " ").trim();
1753
- return /* @__PURE__ */ l("nav", { className: u, "aria-label": x, role: "navigation", children: [
1754
- c && /* @__PURE__ */ l(
1755
- "button",
1756
- {
1757
- type: "button",
1758
- className: `
1759
- inline-flex
1760
- items-center
1761
- justify-center
1762
- gap-3
1763
- px-3
1764
- py-2
1765
- rounded-md
1766
- font-bold
1767
- text-sm
1768
- text-primary-custom-600
1769
- hover:bg-primary-custom-100
1770
- active:scale-95
1771
- dark:text-primary-custom-600
1772
- dark:hover:bg-primary-custom-100
1773
- dark:active:scale-95
1774
- transition-all
1775
- duration-150
1776
- ${t === 1 ? "opacity-50 cursor-not-allowed pointer-events-none" : ""}
1777
- `.replace(/\s+/g, " ").trim(),
1778
- onClick: () => p(t - 1),
1779
- disabled: t === 1,
1780
- "aria-label": `${r} page`,
1781
- children: [
1782
- /* @__PURE__ */ e(Me, { className: "w-4 h-4" }),
1783
- r
1784
- ]
1785
- }
1786
- ),
1787
- /* @__PURE__ */ e("div", { className: "inline-flex items-center", children: i.map((g, y) => /* @__PURE__ */ e(
1788
- m,
1789
- {
1790
- page: g,
1791
- isActive: g === t,
1792
- onClick: () => typeof g == "number" && p(g),
1793
- ariaLabel: typeof g == "number" ? `Go to page ${g}` : `Page ${g}`
1794
- },
1795
- `${g}-${y}`
1796
- )) }),
1797
- d && /* @__PURE__ */ l(
1798
- "button",
1799
- {
1800
- type: "button",
1801
- className: `
1802
- inline-flex
1803
- items-center
1804
- justify-center
1805
- gap-3
1806
- px-3
1807
- py-2
1808
- rounded-md
1809
- font-bold
1810
- text-sm
1811
- text-primary-custom-600
1812
- hover:bg-primary-custom-100
1813
- active:scale-95
1814
- dark:text-primary-custom-600
1815
- dark:hover:bg-primary-custom-100
1816
- dark:active:scale-95
1817
- transition-all
1818
- duration-150
1819
- ${t === a ? "opacity-50 cursor-not-allowed pointer-events-none" : ""}
1820
- `.replace(/\s+/g, " ").trim(),
1821
- onClick: () => p(t + 1),
1822
- disabled: t === a,
1823
- "aria-label": `${n} page`,
1824
- children: [
1825
- n,
1826
- /* @__PURE__ */ e(Se, { className: "w-4 h-4" })
1827
- ]
1828
- }
1829
- )
1830
- ] });
1831
- }, Ie = ({ className: t = "" }) => /* @__PURE__ */ l(
1832
- "svg",
1833
- {
1834
- className: t,
1835
- xmlns: "http://www.w3.org/2000/svg",
1836
- viewBox: "0 0 16 16",
1837
- fill: "currentColor",
1838
- "aria-hidden": "true",
1839
- children: [
1840
- /* @__PURE__ */ e(
1841
- "path",
1842
- {
1843
- fillRule: "evenodd",
1844
- d: "M11.78 9.78a.75.75 0 0 1-1.06 0L8 7.06 5.28 9.78a.75.75 0 0 1-1.06-1.06l3.25-3.25a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1 0 1.06Z",
1845
- clipRule: "evenodd"
1846
- }
1847
- ),
1848
- /* @__PURE__ */ e(
1849
- "path",
1850
- {
1851
- fillRule: "evenodd",
1852
- d: "M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z",
1853
- clipRule: "evenodd"
1854
- }
1855
- )
1856
- ]
1857
- }
1858
- ), Re = ({ className: t = "" }) => /* @__PURE__ */ e(
1859
- "svg",
1860
- {
1861
- className: t,
1862
- xmlns: "http://www.w3.org/2000/svg",
1863
- viewBox: "0 0 16 16",
1864
- fill: "currentColor",
1865
- "aria-hidden": "true",
1866
- children: /* @__PURE__ */ e(
1867
- "path",
1868
- {
1869
- fillRule: "evenodd",
1870
- d: "M12.416 3.376a.75.75 0 0 1 .208 1.04l-5 7.5a.75.75 0 0 1-1.154.114l-3-3a.75.75 0 0 1 1.06-1.06l2.353 2.353 4.493-6.74a.75.75 0 0 1 1.04-.207Z",
1871
- clipRule: "evenodd"
1872
- }
1873
- )
1874
- }
1875
- ), lr = ({
1876
- options: t = [],
1877
- value: a,
1878
- defaultValue: o,
1879
- placeholder: r = "Seleccionar...",
1880
- disabled: n = !1,
1881
- error: s = !1,
1882
- label: c,
1883
- description: d,
1884
- showLabel: b = !0,
1885
- showDescription: x = !0,
1886
- menuHeader: i,
1887
- onChange: p,
1888
- className: m = "",
1889
- triggerClassName: u = "",
1890
- menuClassName: g = "",
1891
- ariaLabel: y,
1892
- id: f,
1893
- name: k,
1894
- required: w = !1,
1895
- menuPosition: h = "bottom",
1896
- fullWidth: v = !1
1897
- }) => {
1898
- const [C, N] = V(!1), [B, R] = V(
1899
- a !== void 0 ? a : o
1900
- ), [L, D] = V(-1), E = K(null), I = K(null), z = K(null);
1901
- W(() => {
1902
- a !== void 0 && R(a);
1903
- }, [a]), W(() => {
1904
- const j = (T) => {
1905
- E.current && !E.current.contains(T.target) && N(!1);
1906
- };
1907
- if (C)
1908
- return document.addEventListener("mousedown", j), () => {
1909
- document.removeEventListener("mousedown", j);
1910
- };
1911
- }, [C]), W(() => {
1912
- const j = (T) => {
1913
- if (C)
1914
- switch (T.key) {
1915
- case "Escape":
1916
- N(!1), I.current?.focus();
1917
- break;
1918
- case "ArrowDown":
1919
- T.preventDefault(), D((F) => F < t.length - 1 ? F + 1 : 0);
1920
- break;
1921
- case "ArrowUp":
1922
- T.preventDefault(), D((F) => F > 0 ? F - 1 : t.length - 1);
1923
- break;
1924
- case "Enter":
1925
- T.preventDefault(), L >= 0 && L < t.length && M(t[L]);
1926
- break;
1927
- }
1928
- };
1929
- if (C)
1930
- return document.addEventListener("keydown", j), () => {
1931
- document.removeEventListener("keydown", j);
1932
- };
1933
- }, [C, L, t]);
1934
- const P = t.find((j) => j.value === B), _ = () => {
1935
- n || (N(!C), D(-1));
1936
- }, M = (j) => {
1937
- j.disabled || (R(j.value), N(!1), p?.(j.value), setTimeout(() => {
1938
- I.current?.focus();
1939
- }, 0));
1940
- }, Z = [
1941
- `
1942
- inline-flex
1943
- items-center
1944
- justify-between
1945
- gap-3
1946
- w-full
1947
- px-3
1948
- py-2
1949
- text-sm
1950
- font-normal
1951
- leading-5
1952
- rounded-lg
1953
- border
1954
- transition-all
1955
- duration-150
1956
- `,
1957
- v ? "w-full" : "min-w-[200px]",
1958
- s ? `
1959
- border-error-border
1960
- bg-error-bg
1961
- text-content-primary
1962
- dark:border-error-border
1963
- dark:bg-error-bg
1964
- dark:text-dark-content-primary
1965
- ` : `
1966
- bg-bg-primary
1967
- border-border-primary
1968
- text-content-primary
1969
- dark:bg-dark-bg-primary
1970
- dark:border-dark-border-primary
1971
- dark:text-dark-content-primary
1972
- `,
1973
- !n && !s ? `
1974
- hover:bg-[rgba(255,255,255,1)]
1975
- hover:bg-[linear-gradient(90deg,rgba(0,0,0,0.024)_0%,rgba(0,0,0,0.024)_100%)]
1976
- dark:hover:bg-[rgba(17,45,87,1)]
1977
- dark:hover:bg-[linear-gradient(90deg,rgba(255,255,255,0.1)_0%,rgba(255,255,255,0.1)_100%)]
1978
- ` : "",
1979
- n ? "" : `
1980
- focus:outline-none
1981
- focus:ring-2
1982
- focus:ring-primary-custom-400
1983
- focus:ring-offset-2
1984
- dark:focus:ring-dark-border-custom
1985
- dark:focus:ring-offset-dark-bg-primary
1986
- `,
1987
- n ? `
1988
- opacity-50
1989
- cursor-not-allowed
1990
- ` : "",
1991
- u
1992
- ].join(" ").replace(/\s+/g, " ").trim(), se = [
1993
- `
1994
- absolute
1995
- z-50
1996
- w-full
1997
- min-w-[200px]
1998
- max-h-40
1999
- overflow-y-auto
2000
- p-1
2001
- rounded-md
2002
- border-0
2003
- transition-all
2004
- duration-150
2005
- `,
2006
- h === "top" ? "bottom-full mb-1" : "top-full mt-1",
2007
- `
2008
- bg-background-secondary
2009
- dark:bg-dark-bg-primary
2010
- `,
2011
- C ? "opacity-100 visible" : "opacity-0 invisible",
2012
- g
2013
- ].join(" ").replace(/\s+/g, " ").trim(), ie = `
2014
- flex
2015
- items-center
2016
- cursor-pointer
2017
- rounded-md
2018
- transition-all
2019
- duration-150
2020
- pl-2
2021
- pr-2.5
2022
- py-0.5
2023
- gap-0.5
2024
- text-[10px]
2025
- leading-[12px]
2026
- font-bold
2027
- `, le = (j, T) => {
2028
- const F = j.value === B, J = T === L, be = F && !J ? "text-content-primary dark:text-dark-content-primary" : J || F && J ? "bg-primary-custom-600 text-primary-inverse-content dark:bg-primary-custom-600 dark:text-primary-inverse-content" : "text-content-primary dark:text-dark-content-primary", me = j.disabled ? "" : "hover:bg-primary-custom-600 hover:text-primary-inverse-content dark:hover:bg-primary-custom-600 dark:hover:text-primary-inverse-content", pe = j.disabled ? "opacity-50 cursor-not-allowed" : "";
2029
- return [ie, be, me, pe].join(" ").replace(/\s+/g, " ").trim();
2030
- }, ce = [
2031
- "flex-shrink-0",
2032
- "transition-transform",
2033
- "duration-150",
2034
- C && "rotate-180",
2035
- n ? "text-content-tertiary dark:text-content-tertiary" : "text-content-secondary dark:text-content-secondary"
2036
- ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), de = "flex-shrink-0 w-4 h-4";
2037
- return /* @__PURE__ */ l("div", { className: `relative ${v ? "w-full" : ""} ${m}`, ref: E, children: [
2038
- b && c || x && d ? /* @__PURE__ */ l("div", { className: "flex flex-col gap-1 mb-1 w-full", children: [
2039
- b && c && /* @__PURE__ */ l(
2040
- "label",
2041
- {
2042
- htmlFor: f,
2043
- className: "text-sm font-bold leading-5 text-content-primary dark:text-dark-content-primary",
2044
- children: [
2045
- c,
2046
- w && /* @__PURE__ */ e("span", { className: "ml-1 text-error-content", children: "*" })
2047
- ]
2048
- }
2049
- ),
2050
- x && d && /* @__PURE__ */ e("p", { className: "text-sm font-normal leading-5 text-content-tertiary dark:text-content-tertiary", children: d })
2051
- ] }) : null,
2052
- /* @__PURE__ */ l(
2053
- "button",
2054
- {
2055
- ref: I,
2056
- type: "button",
2057
- className: Z,
2058
- onClick: _,
2059
- disabled: n,
2060
- "aria-label": y || c,
2061
- "aria-haspopup": "listbox",
2062
- "aria-expanded": C,
2063
- id: f,
2064
- children: [
2065
- /* @__PURE__ */ e(
2066
- "span",
2067
- {
2068
- className: P ? "" : "text-content-secondary dark:text-content-secondary",
2069
- children: P ? P.label : r
2070
- }
2071
- ),
2072
- /* @__PURE__ */ e(Ie, { className: ce })
2073
- ]
2074
- }
2075
- ),
2076
- k && /* @__PURE__ */ e(
2077
- "input",
2078
- {
2079
- type: "hidden",
2080
- name: k,
2081
- value: B !== void 0 ? String(B) : ""
2082
- }
2083
- ),
2084
- C && /* @__PURE__ */ l("div", { ref: z, className: se, role: "listbox", children: [
2085
- i && /* @__PURE__ */ e("div", { className: "flex items-center gap-0.5 px-6 py-0.5 rounded-[5px]", children: /* @__PURE__ */ e("span", { className: "text-[10px] font-bold leading-[12px] text-content-tertiary dark:text-content-tertiary", children: i }) }),
2086
- t.length === 0 && /* @__PURE__ */ e("div", { className: "px-2 py-1.5 text-[10px] leading-[12px] text-content-secondary dark:text-content-secondary", children: "No hay opciones disponibles" }),
2087
- t.map((j, T) => /* @__PURE__ */ l(
2088
- "div",
2089
- {
2090
- className: le(j, T),
2091
- onClick: () => M(j),
2092
- onMouseEnter: () => D(T),
2093
- role: "option",
2094
- "aria-selected": j.value === B,
2095
- "aria-disabled": j.disabled,
2096
- children: [
2097
- /* @__PURE__ */ e("div", { className: "w-4 flex items-center justify-center", children: j.value === B && /* @__PURE__ */ e(Re, { className: de }) }),
2098
- j.icon && /* @__PURE__ */ e("span", { className: "flex-shrink-0 w-4 h-4", children: j.icon }),
2099
- /* @__PURE__ */ e("span", { className: "flex-1 text-left", children: j.label })
2100
- ]
2101
- },
2102
- j.value
2103
- ))
2104
- ] })
2105
- ] });
2106
- }, De = () => /* @__PURE__ */ e(
2107
- "svg",
2108
- {
2109
- width: "16",
2110
- height: "16",
2111
- viewBox: "0 0 16 16",
2112
- fill: "none",
2113
- xmlns: "http://www.w3.org/2000/svg",
2114
- className: "transition-transform",
2115
- children: /* @__PURE__ */ e(
2116
- "path",
2117
- {
2118
- d: "M12 10L8 6L4 10",
2119
- stroke: "currentColor",
2120
- strokeWidth: "2",
2121
- strokeLinecap: "round",
2122
- strokeLinejoin: "round"
2123
- }
2124
- )
2125
- }
2126
- ), ze = () => /* @__PURE__ */ e(
2127
- "svg",
2128
- {
2129
- width: "16",
2130
- height: "16",
2131
- viewBox: "0 0 16 16",
2132
- fill: "none",
2133
- xmlns: "http://www.w3.org/2000/svg",
2134
- className: "transition-transform",
2135
- children: /* @__PURE__ */ e(
2136
- "path",
2137
- {
2138
- d: "M4 6L8 10L12 6",
2139
- stroke: "currentColor",
2140
- strokeWidth: "2",
2141
- strokeLinecap: "round",
2142
- strokeLinejoin: "round"
2143
- }
2144
- )
2145
- }
2146
- ), Te = () => /* @__PURE__ */ e(
2147
- "svg",
2148
- {
2149
- width: "16",
2150
- height: "16",
2151
- viewBox: "0 0 16 16",
2152
- fill: "none",
2153
- xmlns: "http://www.w3.org/2000/svg",
2154
- children: /* @__PURE__ */ e(
2155
- "path",
2156
- {
2157
- d: "M14 8H2M2 8L6.5 3.5M2 8L6.5 12.5",
2158
- stroke: "currentColor",
2159
- strokeWidth: "1.5",
2160
- strokeLinecap: "round",
2161
- strokeLinejoin: "round"
2162
- }
2163
- )
2164
- }
2165
- ), Ae = () => /* @__PURE__ */ e(
2166
- "svg",
2167
- {
2168
- width: "16",
2169
- height: "16",
2170
- viewBox: "0 0 16 16",
2171
- fill: "none",
2172
- xmlns: "http://www.w3.org/2000/svg",
2173
- children: /* @__PURE__ */ e(
2174
- "path",
2175
- {
2176
- d: "M2 8H14M14 8L9.5 3.5M14 8L9.5 12.5",
2177
- stroke: "currentColor",
2178
- strokeWidth: "1.5",
2179
- strokeLinecap: "round",
2180
- strokeLinejoin: "round"
2181
- }
2182
- )
2183
- }
2184
- ), Ee = ({
2185
- column: t,
2186
- sortable: a,
2187
- sorted: o,
2188
- sortDirection: r,
2189
- onSort: n
2190
- }) => {
2191
- const b = [`
2192
- flex
2193
- items-center
2194
- gap-3
2195
- px-6
2196
- py-2.5
2197
- min-h-[40px]
2198
- border-b
2199
- border-border-primary
2200
- dark:border-dark-border-primary
2201
- transition-colors
2202
- duration-150
2203
- `, a ? `
2204
- cursor-pointer
2205
- hover:bg-background-secondary
2206
- dark:hover:bg-dark-bg-primary/50
2207
- select-none
2208
- ` : "", {
2209
- left: "justify-start",
2210
- center: "justify-center",
2211
- right: "justify-end"
2212
- }[t.align || "left"]].join(" ").replace(/\s+/g, " ").trim();
2213
- return /* @__PURE__ */ l(
2214
- "div",
2215
- {
2216
- className: b,
2217
- onClick: a ? n : void 0,
2218
- role: a ? "button" : void 0,
2219
- tabIndex: a ? 0 : void 0,
2220
- onKeyDown: a ? (x) => {
2221
- (x.key === "Enter" || x.key === " ") && (x.preventDefault(), n());
2222
- } : void 0,
2223
- style: { width: t.width },
2224
- children: [
2225
- /* @__PURE__ */ e(
2226
- "span",
2227
- {
2228
- className: `
2229
- text-sm
2230
- font-bold
2231
- text-content-secondary
2232
- dark:text-content-secondary
2233
- overflow-ellipsis
2234
- overflow-hidden
2235
- whitespace-nowrap
2236
- `,
2237
- children: t.header
2238
- }
2239
- ),
2240
- a && /* @__PURE__ */ l("span", { className: "flex-shrink-0 text-content-secondary dark:text-content-secondary", children: [
2241
- o && r === "asc" && /* @__PURE__ */ e(De, {}),
2242
- o && r === "desc" && /* @__PURE__ */ e(ze, {}),
2243
- !o && /* @__PURE__ */ e("div", { className: "w-4 h-4" })
2244
- ] })
2245
- ]
2246
- }
2247
- );
2248
- }, ee = ({
2249
- children: t,
2250
- align: a = "left",
2251
- width: o,
2252
- isStriped: r = !1,
2253
- rowIndex: n = 0
2254
- }) => {
2255
- const s = {
2256
- left: "justify-start text-left",
2257
- center: "justify-center text-center",
2258
- right: "justify-end text-right"
2259
- }, c = r && n % 2 === 1 ? "bg-background-secondary dark:bg-dark-bg-primary/30" : "";
2260
- return /* @__PURE__ */ e(
2261
- "div",
2262
- {
2263
- className: `
2264
- flex
2265
- flex-col
2266
- ${s[a]}
2267
- px-6
2268
- py-4
2269
- min-h-[56px]
2270
- border-b
2271
- border-border-secondary
2272
- dark:border-dark-border-primary
2273
- ${c}
2274
- `,
2275
- style: { width: o },
2276
- children: /* @__PURE__ */ e(
2277
- "span",
2278
- {
2279
- className: `
2280
- text-sm
2281
- text-content-primary
2282
- dark:text-dark-content-primary
2283
- overflow-ellipsis
2284
- overflow-hidden
2285
- w-full
2286
- `,
2287
- children: t
2288
- }
2289
- )
2290
- }
2291
- );
2292
- }, Ze = ({
2293
- currentPage: t,
2294
- totalPages: a,
2295
- onPageChange: o,
2296
- previousLabel: r = "Anterior",
2297
- nextLabel: n = "Siguiente"
2298
- }) => {
2299
- const c = (() => {
2300
- const d = [];
2301
- if (a <= 7)
2302
- for (let x = 1; x <= a; x++)
2303
- d.push(x);
2304
- else
2305
- d.push(1), t <= 3 ? d.push(2, 3) : t >= a - 2 ? (d.push("..."), d.push(a - 2, a - 1)) : (d.push("..."), d.push(t), d.push("...")), a > 1 && d.push(a);
2306
- return d;
2307
- })();
2308
- return /* @__PURE__ */ l("div", { className: "flex items-center justify-between w-full h-9", children: [
2309
- /* @__PURE__ */ l(
2310
- "button",
2311
- {
2312
- onClick: () => t > 1 && o(t - 1),
2313
- disabled: t === 1,
2314
- className: `
2315
- flex
2316
- items-center
2317
- gap-3
2318
- px-3
2319
- py-2
2320
- rounded-md
2321
- text-sm
2322
- font-bold
2323
- text-primary-custom-600
2324
- dark:text-primary-custom-600
2325
- hover:bg-blue-50
2326
- dark:hover:bg-blue-900/20
2327
- disabled:opacity-50
2328
- disabled:cursor-not-allowed
2329
- transition-colors
2330
- duration-150
2331
- `,
2332
- children: [
2333
- /* @__PURE__ */ e(Te, {}),
2334
- /* @__PURE__ */ e("span", { children: r })
2335
- ]
2336
- }
2337
- ),
2338
- /* @__PURE__ */ e("div", { className: "flex items-center gap-0", children: c.map((d, b) => d === "..." ? /* @__PURE__ */ e(
2339
- "div",
2340
- {
2341
- className: `
2342
- flex
2343
- items-center
2344
- justify-center
2345
- px-3
2346
- py-2
2347
- text-sm
2348
- font-bold
2349
- text-primary-custom-600
2350
- dark:text-primary-custom-600
2351
- `,
2352
- children: d
2353
- },
2354
- `ellipsis-${b}`
2355
- ) : /* @__PURE__ */ e(
2356
- "button",
2357
- {
2358
- onClick: () => o(d),
2359
- className: `
2360
- flex
2361
- items-center
2362
- justify-center
2363
- px-3
2364
- py-2
2365
- rounded-md
2366
- text-sm
2367
- font-bold
2368
- text-primary-custom-600
2369
- dark:text-primary-custom-600
2370
- transition-colors
2371
- duration-150
2372
- ${d === t ? "bg-blue-100 dark:bg-blue-900/30" : "hover:bg-blue-50 dark:hover:bg-blue-900/20"}
2373
- `,
2374
- children: d
2375
- },
2376
- d
2377
- )) }),
2378
- /* @__PURE__ */ l(
2379
- "button",
2380
- {
2381
- onClick: () => t < a && o(t + 1),
2382
- disabled: t === a,
2383
- className: `
2384
- flex
2385
- items-center
2386
- gap-3
2387
- px-3
2388
- py-2
2389
- rounded-md
2390
- text-sm
2391
- font-bold
2392
- text-primary-custom-600
2393
- dark:text-primary-custom-600
2394
- hover:bg-blue-50
2395
- dark:hover:bg-blue-900/20
2396
- disabled:opacity-50
2397
- disabled:cursor-not-allowed
2398
- transition-colors
2399
- duration-150
2400
- `,
2401
- children: [
2402
- /* @__PURE__ */ e("span", { children: n }),
2403
- /* @__PURE__ */ e(Ae, {})
2404
- ]
2405
- }
2406
- )
2407
- ] });
2408
- }, cr = ({
2409
- title: t,
2410
- columns: a,
2411
- data: o,
2412
- variant: r = "basic",
2413
- showBorder: n = !0,
2414
- showShadow: s = !0,
2415
- // onRowClick, // TODO: Implement row click functionality
2416
- onSort: c,
2417
- sortColumn: d,
2418
- sortDirection: b,
2419
- fullWidth: x = !1,
2420
- emptyMessage: i = "No hay datos disponibles",
2421
- loading: p = !1,
2422
- loadingRows: m = 5,
2423
- pagination: u,
2424
- className: g = "",
2425
- id: y
2426
- }) => {
2427
- const [f, k] = V(null), [w, h] = V(null), v = d !== void 0 ? d : f, C = b !== void 0 ? b : w, N = (_) => {
2428
- let M = "asc";
2429
- v === _ && (C === "asc" ? M = "desc" : C === "desc" && (M = null)), c ? c(_, M) : (k(M ? _ : null), h(M));
2430
- }, B = (_, M) => typeof M == "function" ? M(_) : _[M], z = [
2431
- `
2432
- flex
2433
- flex-col
2434
- gap-4
2435
- bg-white
2436
- dark:bg-dark-bg-primary
2437
- rounded-xl
2438
- transition-all
2439
- duration-150
2440
- `,
2441
- n ? "border border-border-primary dark:border-dark-border-primary" : "",
2442
- s ? "shadow-base" : "",
2443
- "p-8",
2444
- x || r === "fullWidth" ? "w-full" : "",
2445
- g
2446
- ].join(" ").replace(/\s+/g, " ").trim();
2447
- return /* @__PURE__ */ l("div", { className: z, id: y, children: [
2448
- t && /* @__PURE__ */ e("div", { className: "flex items-center justify-center w-full", children: /* @__PURE__ */ e(
2449
- "h3",
2450
- {
2451
- className: `
2452
- text-base
2453
- font-bold
2454
- text-content-primary
2455
- dark:text-dark-content-primary
2456
- overflow-ellipsis
2457
- overflow-hidden
2458
- whitespace-nowrap
2459
- `,
2460
- children: t
2461
- }
2462
- ) }),
2463
- /* @__PURE__ */ e("div", { className: `flex w-full overflow-x-auto ${r === "grid" ? `
2464
- border
2465
- border-border-primary
2466
- dark:border-dark-border-primary
2467
- rounded-lg
2468
- overflow-hidden
2469
- ` : ""}`, children: a.map((_, M) => {
2470
- const O = typeof _.accessor == "function" ? `column_${M}` : String(_.accessor);
2471
- return /* @__PURE__ */ l("div", { className: "flex flex-col flex-1 min-w-0", children: [
2472
- /* @__PURE__ */ e(
2473
- Ee,
2474
- {
2475
- column: _,
2476
- sortable: _.sortable || !1,
2477
- sorted: v === O,
2478
- sortDirection: v === O ? C : null,
2479
- onSort: () => N(O)
2480
- }
2481
- ),
2482
- p && /* @__PURE__ */ e(S, { children: Array.from({ length: m }).map((U, H) => /* @__PURE__ */ e(
2483
- ee,
2484
- {
2485
- align: _.align,
2486
- width: _.width,
2487
- isStriped: r === "striped",
2488
- rowIndex: H,
2489
- children: /* @__PURE__ */ e(
2490
- "div",
2491
- {
2492
- className: `
2493
- h-4
2494
- bg-background-secondary
2495
- dark:bg-dark-border-primary
2496
- rounded
2497
- animate-pulse
2498
- `
2499
- }
2500
- )
2501
- },
2502
- `loading-${H}`
2503
- )) }),
2504
- !p && o.length > 0 && /* @__PURE__ */ e(S, { children: o.map((U, H) => {
2505
- const q = B(U, _.accessor), Q = _.render ? _.render(q, U, H) : q;
2506
- return /* @__PURE__ */ e(
2507
- ee,
2508
- {
2509
- align: _.align,
2510
- width: _.width,
2511
- isStriped: r === "striped",
2512
- rowIndex: H,
2513
- children: Q
2514
- },
2515
- H
2516
- );
2517
- }) }),
2518
- !p && o.length === 0 && M === 0 && /* @__PURE__ */ e(
2519
- "div",
2520
- {
2521
- className: `
2522
- flex
2523
- items-center
2524
- justify-center
2525
- px-6
2526
- py-12
2527
- text-sm
2528
- text-content-secondary
2529
- dark:text-content-secondary
2530
- `,
2531
- style: { gridColumn: `1 / ${a.length + 1}` },
2532
- children: i
2533
- }
2534
- )
2535
- ] }, O);
2536
- }) }),
2537
- u && /* @__PURE__ */ e(
2538
- Ze,
2539
- {
2540
- currentPage: u.currentPage,
2541
- totalPages: u.totalPages,
2542
- onPageChange: u.onPageChange,
2543
- previousLabel: u.previousLabel,
2544
- nextLabel: u.nextLabel
2545
- }
2546
- )
2547
- ] });
2548
- }, Ve = ({
2549
- label: t,
2550
- active: a = !1,
2551
- icon: o,
2552
- badge: r,
2553
- disabled: n = !1,
2554
- onClick: s,
2555
- className: c = "",
2556
- ariaLabel: d
2557
- }) => {
2558
- const b = `
2559
- relative
2560
- flex
2561
- flex-col
2562
- items-center
2563
- cursor-pointer
2564
- outline-none
2565
- transition-all
2566
- duration-150
2567
- p-0
2568
- border-0
2569
- bg-transparent
2570
- `, i = n ? "opacity-50 cursor-not-allowed pointer-events-none" : "", p = `
2571
- flex
2572
- items-center
2573
- justify-center
2574
- gap-1
2575
- p-2
2576
- rounded-lg
2577
- overflow-hidden
2578
- transition-all
2579
- duration-150
2580
- w-full
2581
- `, m = n ? "" : `
2582
- group-hover:bg-[rgba(0,0,0,0.03)]
2583
- group-focus-visible:bg-[rgba(0,0,0,0.03)]
2584
- group-focus-visible:shadow-[0px_0px_0px_2px_#dbeefe,0px_1px_2px_0px_rgba(0,0,0,0.05),0px_0px_0px_4px_#60b6fa]
2585
- dark:group-hover:bg-white/5
2586
- dark:group-focus-visible:bg-white/5
2587
- dark:group-focus-visible:shadow-[0px_0px_0px_2px_#1e3a5f,0px_1px_2px_0px_rgba(0,0,0,0.05),0px_0px_0px_4px_#0f6ae3]
2588
- `, u = a ? `
2589
- text-primary-custom-600
2590
- dark:text-primary-custom-600
2591
- ` : `
2592
- text-content-primary
2593
- dark:text-dark-content-primary
2594
- `, g = `
2595
- w-3
2596
- h-3
2597
- flex-shrink-0
2598
- `, y = a ? `
2599
- bg-primary-custom-600
2600
- dark:bg-primary-custom-600
2601
- ` : `
2602
- bg-content-primary
2603
- dark:bg-dark-content-primary
2604
- `, f = a ? `
2605
- absolute
2606
- -bottom-2.5
2607
- left-0
2608
- right-0
2609
- h-0.5
2610
- rounded-full
2611
- bg-primary-custom-600
2612
- dark:bg-primary-custom-600
2613
- z-10
2614
- ` : "hidden", k = [
2615
- b,
2616
- "",
2617
- i,
2618
- "group",
2619
- // Para usar group-hover y group-focus-visible
2620
- c
2621
- ].join(" ").replace(/\s+/g, " ").trim(), w = [
2622
- p,
2623
- m
2624
- ].join(" ").replace(/\s+/g, " ").trim();
2625
- return /* @__PURE__ */ l(
2626
- "button",
2627
- {
2628
- type: "button",
2629
- role: "tab",
2630
- "aria-selected": a,
2631
- "aria-disabled": n,
2632
- "aria-label": d || t,
2633
- tabIndex: n ? -1 : 0,
2634
- className: k,
2635
- onClick: n ? void 0 : s,
2636
- disabled: n,
2637
- children: [
2638
- /* @__PURE__ */ l("div", { className: w, children: [
2639
- o && /* @__PURE__ */ e("span", { className: `${g} ${u}`.trim(), children: o }),
2640
- /* @__PURE__ */ e(
2641
- "span",
2642
- {
2643
- className: `
2644
- text-sm
2645
- font-bold
2646
- leading-5
2647
- whitespace-nowrap
2648
- ${u}
2649
- `.replace(/\s+/g, " ").trim(),
2650
- children: t
2651
- }
2652
- ),
2653
- r !== void 0 && r > 0 && /* @__PURE__ */ e(
2654
- "span",
2655
- {
2656
- className: `
2657
- flex
2658
- items-center
2659
- justify-center
2660
- h-3
2661
- min-w-[12px]
2662
- px-0.5
2663
- rounded-sm
2664
- text-xs
2665
- font-normal
2666
- leading-4
2667
- text-primary-inverse-content
2668
- dark:text-dark-bg-primary
2669
- ${y}
2670
- `.replace(/\s+/g, " ").trim(),
2671
- "aria-label": `${r} notificaciones`,
2672
- children: r > 99 ? "99+" : r
2673
- }
2674
- )
2675
- ] }),
2676
- /* @__PURE__ */ e("div", { className: f })
2677
- ]
2678
- }
2679
- );
2680
- }, dr = ({
2681
- items: t,
2682
- activeId: a,
2683
- defaultActiveId: o,
2684
- onChange: r,
2685
- className: n = "",
2686
- fullWidth: s = !1,
2687
- size: c = "base",
2688
- showBorder: d = !0
2689
- }) => {
2690
- const [b, x] = V(
2691
- o || (t.length > 0 ? t[0].id : "")
2692
- ), i = a !== void 0, p = i ? a : b, m = (k) => {
2693
- i || x(k), r?.(k);
2694
- }, g = `
2695
- flex
2696
- items-end
2697
- pb-2.5
2698
- ${{
2699
- sm: "gap-0",
2700
- base: "gap-1",
2701
- lg: "gap-2"
2702
- }[c]}
2703
- ${s ? "w-full" : ""}
2704
- ${d ? "border-b border-border-primary dark:border-dark-border-primary" : ""}
2705
- `, y = s ? "flex-1" : "", f = [
2706
- g,
2707
- n
2708
- ].join(" ").replace(/\s+/g, " ").trim();
2709
- return /* @__PURE__ */ e(
2710
- "div",
2711
- {
2712
- role: "tablist",
2713
- "aria-label": "Pestañas de navegación",
2714
- className: f,
2715
- children: t.map((k) => /* @__PURE__ */ e(
2716
- Ve,
2717
- {
2718
- label: k.label,
2719
- active: p === k.id,
2720
- icon: k.icon,
2721
- badge: k.badge,
2722
- disabled: k.disabled,
2723
- onClick: () => m(k.id),
2724
- className: y
2725
- },
2726
- k.id
2727
- ))
2728
- }
2729
- );
2730
- }, He = () => /* @__PURE__ */ e(
2731
- "svg",
2732
- {
2733
- xmlns: "http://www.w3.org/2000/svg",
2734
- viewBox: "0 0 16 16",
2735
- fill: "currentColor",
2736
- width: "16",
2737
- height: "16",
2738
- children: /* @__PURE__ */ e("path", { d: "M1.75 1.002a.75.75 0 1 0 0 1.5h1.035l1.38 5.514a2.75 2.75 0 0 0 2.658 2.048h5.355a2.75 2.75 0 0 0 2.658-2.048l.9-3.597a.75.75 0 0 0-.728-.919H4.655l-.22-.88A.75.75 0 0 0 3.71 2H1.75ZM5 13a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM11.5 13a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z" })
2739
- }
2740
- ), Fe = () => /* @__PURE__ */ e(
2741
- "svg",
2742
- {
2743
- xmlns: "http://www.w3.org/2000/svg",
2744
- viewBox: "0 0 16 16",
2745
- fill: "currentColor",
2746
- width: "16",
2747
- height: "16",
2748
- children: /* @__PURE__ */ e(
2749
- "path",
2750
- {
2751
- fillRule: "evenodd",
2752
- d: "M12 5a4 4 0 0 0-8 0v2.379a1.5 1.5 0 0 1-.44 1.06L2.294 9.707a1 1 0 0 0-.293.707V11a1 1 0 0 0 1 1h2a3 3 0 1 0 6 0h2a1 1 0 0 0 1-1v-.586a1 1 0 0 0-.293-.707L12.44 8.44A1.5 1.5 0 0 1 12 7.38V5Zm-5.5 7a1.5 1.5 0 0 0 3 0h-3Z",
2753
- clipRule: "evenodd"
2754
- }
2755
- )
2756
- }
2757
- ), re = () => /* @__PURE__ */ e(
2758
- "svg",
2759
- {
2760
- xmlns: "http://www.w3.org/2000/svg",
2761
- viewBox: "0 0 16 16",
2762
- fill: "currentColor",
2763
- width: "16",
2764
- height: "16",
2765
- children: /* @__PURE__ */ e(
2766
- "path",
2767
- {
2768
- fillRule: "evenodd",
2769
- d: "M9.965 11.026a5 5 0 1 1 1.06-1.06l2.755 2.754a.75.75 0 1 1-1.06 1.06l-2.755-2.754ZM10.5 7a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z",
2770
- clipRule: "evenodd"
2771
- }
2772
- )
2773
- }
2774
- ), te = () => /* @__PURE__ */ e(
2775
- "svg",
2776
- {
2777
- xmlns: "http://www.w3.org/2000/svg",
2778
- viewBox: "0 0 16 16",
2779
- fill: "currentColor",
2780
- width: "16",
2781
- height: "16",
2782
- children: /* @__PURE__ */ e(
2783
- "path",
2784
- {
2785
- fillRule: "evenodd",
2786
- d: "M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z",
2787
- clipRule: "evenodd"
2788
- }
2789
- )
2790
- }
2791
- ), X = () => /* @__PURE__ */ e(
2792
- "svg",
2793
- {
2794
- xmlns: "http://www.w3.org/2000/svg",
2795
- viewBox: "0 0 16 16",
2796
- fill: "currentColor",
2797
- width: "16",
2798
- height: "16",
2799
- children: /* @__PURE__ */ e(
2800
- "path",
2801
- {
2802
- fillRule: "evenodd",
2803
- d: "M6.701 2.25c.577-1 2.02-1 2.598 0l5.196 9a1.5 1.5 0 0 1-1.299 2.25H2.804a1.5 1.5 0 0 1-1.3-2.25l5.197-9ZM8 4a.75.75 0 0 1 .75.75v3a.75.75 0 1 1-1.5 0v-3A.75.75 0 0 1 8 4Zm0 7.25a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",
2804
- clipRule: "evenodd"
2805
- }
2806
- )
2807
- }
2808
- ), We = () => /* @__PURE__ */ e(
2809
- "svg",
2810
- {
2811
- xmlns: "http://www.w3.org/2000/svg",
2812
- viewBox: "0 0 16 16",
2813
- fill: "currentColor",
2814
- width: "16",
2815
- height: "16",
2816
- children: /* @__PURE__ */ e(
2817
- "path",
2818
- {
2819
- fillRule: "evenodd",
2820
- d: "M14 4.75A2.75 2.75 0 0 0 11.25 2h-3A2.75 2.75 0 0 0 5.5 4.75v.5a.75.75 0 0 0 1.5 0v-.5c0-.69.56-1.25 1.25-1.25h3c.69 0 1.25.56 1.25 1.25v6.5c0 .69-.56 1.25-1.25 1.25h-3c-.69 0-1.25-.56-1.25-1.25v-.5a.75.75 0 0 0-1.5 0v.5A2.75 2.75 0 0 0 8.25 14h3A2.75 2.75 0 0 0 14 11.25v-6.5Zm-9.47.47a.75.75 0 0 0-1.06 0L1.22 7.47a.75.75 0 0 0 0 1.06l2.25 2.25a.75.75 0 1 0 1.06-1.06l-.97-.97h5.69a.75.75 0 0 0 0-1.5H3.56l.97-.97a.75.75 0 0 0 0-1.06Z",
2821
- clipRule: "evenodd"
2822
- }
2823
- )
2824
- }
2825
- ), br = ({
2826
- logo: t,
2827
- productName: a = "Nombre Producto",
2828
- environmentBadge: o,
2829
- userDropdown: r,
2830
- actions: n,
2831
- notifications: s,
2832
- className: c = "",
2833
- variant: d = "responsive",
2834
- hideActionButtons: b = !1,
2835
- leadingAction: x,
2836
- siesaLogo: i,
2837
- showBusinessLogo: p = !1,
2838
- showSiesaLogoLeading: m = !0,
2839
- showSiesaLogoTrailing: u = !1,
2840
- onNavigationClick: g,
2841
- onSearchClick: y,
2842
- onCartClick: f,
2843
- onNotificationsClick: k
2844
- }) => {
2845
- const w = `
2846
- box-border
2847
- flex
2848
- flex-col
2849
- items-center
2850
- justify-center
2851
- p-1
2852
- relative
2853
- rounded-md
2854
- shrink-0
2855
- text-primary-custom-600
2856
- hover:bg-background-secondary
2857
- active:scale-95
2858
- focus:outline-none
2859
- focus:ring-2
2860
- focus:ring-primary-custom-400
2861
- focus:ring-offset-2
2862
- dark:text-primary-custom-600
2863
- dark:hover:bg-dark-bg-secondary
2864
- dark:active:scale-95
2865
- dark:focus:ring-dark-border-custom
2866
- dark:focus:ring-offset-dark-bg-primary
2867
- transition-all
2868
- duration-150
2869
- `, h = `
2870
- bg-primary-custom-600
2871
- text-primary-inverse-content
2872
- border
2873
- border-primary-custom-600
2874
- shadow-button-inset
2875
- hover:bg-primary-custom-500
2876
- active:scale-95
2877
- focus:outline-none
2878
- focus:ring-2
2879
- focus:ring-primary-custom-400
2880
- focus:ring-offset-2
2881
- dark:bg-dark-bg-inverse
2882
- dark:text-dark-content-inverse
2883
- dark:border-dark-bg-inverse
2884
- dark:hover:bg-dark-bg-inverse/90
2885
- dark:active:scale-95
2886
- dark:focus:ring-dark-border-custom
2887
- dark:focus:ring-offset-dark-bg-primary
2888
- box-border
2889
- flex
2890
- flex-col
2891
- items-center
2892
- justify-center
2893
- p-3
2894
- relative
2895
- rounded-md
2896
- shrink-0
2897
- transition-all
2898
- duration-150
2899
- `, v = d === "mobile", C = d === "desktop", N = d === "tablet", B = d === "responsive", R = () => {
2900
- if (v) return null;
2901
- const $ = /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-4 h-4", children: /* @__PURE__ */ e(We, {}) });
2902
- return C || N ? /* @__PURE__ */ e(
2903
- "button",
2904
- {
2905
- className: h,
2906
- "aria-label": "Volver",
2907
- onClick: g,
2908
- children: $
2909
- }
2910
- ) : /* @__PURE__ */ e(
2911
- "button",
2912
- {
2913
- className: `hidden md:flex ${h}`,
2914
- "aria-label": "Volver",
2915
- onClick: g,
2916
- children: $
2917
- }
2918
- );
2919
- }, L = () => {
2920
- if (v || !p) return null;
2921
- const $ = /* @__PURE__ */ e(
2922
- "img",
2923
- {
2924
- src: "/,Business Logo.png",
2925
- alt: "Business Logo",
2926
- className: "w-full h-full object-contain"
2927
- }
2928
- );
2929
- return C ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[168px] h-[30px]", children: $ }) : N ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[140px] h-[25px]", children: $ }) : /* @__PURE__ */ e("div", { className: "hidden md:block overflow-hidden relative shrink-0 w-[140px] lg:w-[168px] h-[25px] lg:h-[30px]", children: $ });
2930
- }, D = () => {
2931
- const $ = /* @__PURE__ */ e(
2932
- "img",
2933
- {
2934
- src: "/.Siesa Logo.png",
2935
- alt: "Siesa",
2936
- className: "w-full h-full object-contain"
2937
- }
2938
- ), Z = /* @__PURE__ */ e(
2939
- "img",
2940
- {
2941
- src: "/siesa_logo_mobile.png",
2942
- alt: "Siesa",
2943
- className: "w-full h-full object-contain"
2944
- }
2945
- );
2946
- return v ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[30px] h-[30px]", children: Z }) : m ? C ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[120px] h-[30px]", children: $ }) : N ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[100px] h-[25px]", children: $ }) : /* @__PURE__ */ l(S, { children: [
2947
- /* @__PURE__ */ e("div", { className: "md:hidden overflow-hidden relative shrink-0 w-[30px] h-[30px]", children: Z }),
2948
- m && /* @__PURE__ */ l(S, { children: [
2949
- /* @__PURE__ */ e("div", { className: "hidden md:block lg:hidden overflow-hidden relative shrink-0 w-[100px] h-[25px]", children: $ }),
2950
- /* @__PURE__ */ e("div", { className: "hidden lg:block overflow-hidden relative shrink-0 w-[120px] h-[30px]", children: $ })
2951
- ] })
2952
- ] }) : null;
2953
- }, E = () => {
2954
- if (!u || v) return null;
2955
- const $ = /* @__PURE__ */ e(
2956
- "img",
2957
- {
2958
- src: "/.Siesa Logo.png",
2959
- alt: "Siesa",
2960
- className: "w-full h-full object-contain"
2961
- }
2962
- );
2963
- return C ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[120px] h-[30px]", children: $ }) : N ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[100px] h-[25px]", children: $ }) : /* @__PURE__ */ l(S, { children: [
2964
- /* @__PURE__ */ e("div", { className: "hidden md:block lg:hidden overflow-hidden relative shrink-0 w-[100px] h-[25px]", children: $ }),
2965
- /* @__PURE__ */ e("div", { className: "hidden lg:block overflow-hidden relative shrink-0 w-[120px] h-[30px]", children: $ })
2966
- ] });
2967
- }, I = ({ responsive: $ = !0 }) => {
2968
- const Z = /* @__PURE__ */ e("div", { className: "grow shrink-0 w-px min-h-px bg-border-primary dark:bg-dark-border-primary" });
2969
- return v ? null : C || N ? /* @__PURE__ */ e("div", { className: "flex flex-col gap-2 h-8 items-start px-0 py-1 relative shrink-0", children: Z }) : $ ? /* @__PURE__ */ e("div", { className: "hidden md:flex flex-col gap-2 h-8 items-start px-0 py-1 relative shrink-0", children: Z }) : null;
2970
- }, z = () => {
2971
- if (v || !a) return null;
2972
- const $ = /* @__PURE__ */ e("p", { className: "font-bold leading-7 text-xl text-content-primary dark:text-dark-content-primary tracking-[-0.5px] whitespace-nowrap", children: a });
2973
- return C || N ? $ : /* @__PURE__ */ e("p", { className: "hidden md:block font-bold leading-7 text-xl text-content-primary dark:text-dark-content-primary tracking-[-0.5px] whitespace-nowrap", children: a });
2974
- }, P = () => o ? v ? /* @__PURE__ */ e(
2975
- G,
2976
- {
2977
- color: "yellow",
2978
- leftIcon: /* @__PURE__ */ e(X, {}),
2979
- label: "Pruebas"
2980
- }
2981
- ) : C || N ? /* @__PURE__ */ e(
2982
- G,
2983
- {
2984
- color: "yellow",
2985
- leftIcon: /* @__PURE__ */ e(X, {}),
2986
- label: o
2987
- }
2988
- ) : /* @__PURE__ */ l(S, { children: [
2989
- /* @__PURE__ */ e("div", { className: "md:hidden", children: /* @__PURE__ */ e(
2990
- G,
2991
- {
2992
- color: "yellow",
2993
- leftIcon: /* @__PURE__ */ e(X, {}),
2994
- label: "Pruebas"
2995
- }
2996
- ) }),
2997
- /* @__PURE__ */ e("div", { className: "hidden md:block", children: /* @__PURE__ */ e(
2998
- G,
2999
- {
3000
- color: "yellow",
3001
- leftIcon: /* @__PURE__ */ e(X, {}),
3002
- label: o
3003
- }
3004
- ) })
3005
- ] }) : null, _ = () => b ? null : v ? /* @__PURE__ */ e(
3006
- "button",
3007
- {
3008
- className: w,
3009
- "aria-label": "Buscar",
3010
- onClick: y,
3011
- children: /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-4 h-4", children: /* @__PURE__ */ e(re, {}) })
3012
- }
3013
- ) : B ? /* @__PURE__ */ e(
3014
- "button",
3015
- {
3016
- className: `md:hidden ${w}`,
3017
- "aria-label": "Buscar",
3018
- onClick: y,
3019
- children: /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-4 h-4", children: /* @__PURE__ */ e(re, {}) })
3020
- }
3021
- ) : null, M = () => b ? null : /* @__PURE__ */ l("div", { className: "relative", children: [
3022
- /* @__PURE__ */ e(
3023
- "button",
3024
- {
3025
- className: w,
3026
- "aria-label": "Carrito de compras",
3027
- onClick: f,
3028
- children: /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-4 h-4", children: /* @__PURE__ */ e(He, {}) })
3029
- }
3030
- ),
3031
- s?.cart !== void 0 && s.cart > 0 && /* @__PURE__ */ e("div", { className: "absolute bg-error-content dark:bg-error-content flex flex-col gap-2.5 h-4 items-center justify-center left-[calc(50%+8px)] px-1 py-0 rounded-full top-[calc(50%-8px)] -translate-x-1/2 -translate-y-1/2 pointer-events-none min-w-[16px]", children: /* @__PURE__ */ e("p", { className: "font-bold leading-3 text-[10px] text-white text-center whitespace-nowrap", children: s.cart > 99 ? "+99" : s.cart }) })
3032
- ] }), O = () => b ? null : /* @__PURE__ */ l("div", { className: "relative", children: [
3033
- /* @__PURE__ */ e(
3034
- "button",
3035
- {
3036
- className: w,
3037
- "aria-label": "Notificaciones",
3038
- onClick: k,
3039
- children: /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-4 h-4", children: /* @__PURE__ */ e(Fe, {}) })
3040
- }
3041
- ),
3042
- s?.bell && /* @__PURE__ */ e("div", { className: "absolute w-2 h-2 bg-error-content dark:bg-error-content rounded-full left-[calc(50%+4px)] top-[calc(50%-8px)] -translate-x-1/2 pointer-events-none" })
3043
- ] }), U = () => {
3044
- if (!r) return null;
3045
- const $ = `
3046
- box-border
3047
- flex
3048
- items-center
3049
- justify-center
3050
- overflow-hidden
3051
- p-0
3052
- relative
3053
- shrink-0
3054
- hover:bg-background-secondary
3055
- active:scale-95
3056
- focus:outline-none
3057
- focus:ring-2
3058
- focus:ring-primary-custom-400
3059
- focus:ring-offset-2
3060
- dark:hover:bg-dark-bg-secondary
3061
- dark:active:scale-95
3062
- dark:focus:ring-dark-border-custom
3063
- dark:focus:ring-offset-dark-bg-primary
3064
- rounded-lg
3065
- transition-all
3066
- duration-150
3067
- `;
3068
- if (v)
3069
- return /* @__PURE__ */ e(
3070
- "button",
3071
- {
3072
- className: $,
3073
- onClick: r.onMenuClick,
3074
- "aria-label": "Menú de usuario",
3075
- children: /* @__PURE__ */ e("div", { className: "relative rounded-full shrink-0 w-8 h-8", children: /* @__PURE__ */ e(
3076
- "img",
3077
- {
3078
- alt: r.name,
3079
- className: "absolute inset-0 max-w-none object-center object-cover pointer-events-none rounded-full w-full h-full",
3080
- src: r.avatar
3081
- }
3082
- ) })
3083
- }
3084
- );
3085
- const Z = () => /* @__PURE__ */ e(
3086
- "button",
3087
- {
3088
- className: $,
3089
- onClick: r.onMenuClick,
3090
- "aria-label": "Menú de usuario",
3091
- children: /* @__PURE__ */ l("div", { className: "box-border flex gap-3 items-center justify-center overflow-hidden px-3 py-2 relative rounded-lg shrink-0", children: [
3092
- /* @__PURE__ */ l("div", { className: "flex gap-3 items-center justify-center relative shrink-0", children: [
3093
- /* @__PURE__ */ e("div", { className: "flex items-center justify-center relative shrink-0", children: /* @__PURE__ */ e("div", { className: "relative rounded-md shrink-0 w-10 h-10", children: /* @__PURE__ */ e(
3094
- "img",
3095
- {
3096
- alt: r.name,
3097
- className: "absolute inset-0 max-w-none object-center object-cover pointer-events-none rounded-md w-full h-full",
3098
- src: r.avatar
3099
- }
3100
- ) }) }),
3101
- /* @__PURE__ */ l("div", { className: "flex flex-col gap-0.5 items-start justify-center relative shrink-0 w-[123px]", children: [
3102
- /* @__PURE__ */ e("p", { className: "leading-5 relative shrink-0 text-sm text-content-primary dark:text-dark-content-primary whitespace-nowrap font-normal", children: r.name }),
3103
- (r.email || r.role) && /* @__PURE__ */ e("p", { className: "leading-4 min-w-full relative shrink-0 text-xs text-content-secondary dark:text-content-secondary w-min whitespace-nowrap overflow-hidden text-ellipsis", children: r.email || r.role })
3104
- ] })
3105
- ] }),
3106
- /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-5 h-5 text-content-secondary dark:text-content-secondary", children: /* @__PURE__ */ e(te, {}) })
3107
- ] })
3108
- }
3109
- );
3110
- return C || N ? Z() : /* @__PURE__ */ l(S, { children: [
3111
- /* @__PURE__ */ e(
3112
- "button",
3113
- {
3114
- className: `md:hidden ${$}`,
3115
- onClick: r.onMenuClick,
3116
- "aria-label": "Menú de usuario",
3117
- children: /* @__PURE__ */ e("div", { className: "relative rounded-full shrink-0 w-8 h-8", children: /* @__PURE__ */ e(
3118
- "img",
3119
- {
3120
- alt: r.name,
3121
- className: "absolute inset-0 max-w-none object-center object-cover pointer-events-none rounded-full w-full h-full",
3122
- src: r.avatar
3123
- }
3124
- ) })
3125
- }
3126
- ),
3127
- /* @__PURE__ */ e(
3128
- "button",
3129
- {
3130
- className: `hidden md:flex ${$}`,
3131
- onClick: r.onMenuClick,
3132
- "aria-label": "Menú de usuario",
3133
- children: /* @__PURE__ */ l("div", { className: "box-border flex gap-3 items-center justify-center overflow-hidden px-3 py-2 relative rounded-lg shrink-0", children: [
3134
- /* @__PURE__ */ l("div", { className: "flex gap-3 items-center justify-center relative shrink-0", children: [
3135
- /* @__PURE__ */ e("div", { className: "flex items-center justify-center relative shrink-0", children: /* @__PURE__ */ e("div", { className: "relative rounded-md shrink-0 w-10 h-10", children: /* @__PURE__ */ e(
3136
- "img",
3137
- {
3138
- alt: r.name,
3139
- className: "absolute inset-0 max-w-none object-center object-cover pointer-events-none rounded-md w-full h-full",
3140
- src: r.avatar
3141
- }
3142
- ) }) }),
3143
- /* @__PURE__ */ l("div", { className: "flex flex-col gap-0.5 items-start justify-center relative shrink-0 w-[123px]", children: [
3144
- /* @__PURE__ */ e("p", { className: "leading-5 relative shrink-0 text-sm text-content-primary dark:text-dark-content-primary whitespace-nowrap font-normal", children: r.name }),
3145
- (r.email || r.role) && /* @__PURE__ */ e("p", { className: "leading-4 min-w-full relative shrink-0 text-xs text-content-secondary dark:text-content-secondary w-min whitespace-nowrap overflow-hidden text-ellipsis", children: r.email || r.role })
3146
- ] })
3147
- ] }),
3148
- /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-5 h-5 text-content-secondary dark:text-content-secondary", children: /* @__PURE__ */ e(te, {}) })
3149
- ] })
3150
- }
3151
- )
3152
- ] });
3153
- }, Q = [`
3154
- box-border
3155
- flex
3156
- gap-8
3157
- items-center
3158
- px-4
3159
- py-1
3160
- relative
3161
- w-full
3162
- bg-background-primary
3163
- dark:bg-dark-bg-primary
3164
- `, {
3165
- responsive: "h-[40px] md:h-16",
3166
- desktop: "h-16",
3167
- tablet: "h-16",
3168
- mobile: "h-[40px]"
3169
- }[d], c].join(" ").replace(/\s+/g, " ").trim();
3170
- return /* @__PURE__ */ l("nav", { className: Q, children: [
3171
- /* @__PURE__ */ l("div", { className: "flex gap-4 items-center relative shrink-0", children: [
3172
- !v && (x || /* @__PURE__ */ e(R, {})),
3173
- t || /* @__PURE__ */ e(L, {}),
3174
- p && m && !v && /* @__PURE__ */ e(I, {}),
3175
- i || /* @__PURE__ */ e(D, {}),
3176
- a && m && !v && /* @__PURE__ */ e(I, {}),
3177
- /* @__PURE__ */ e(z, {})
3178
- ] }),
3179
- /* @__PURE__ */ l("div", { className: "flex gap-4 items-center justify-end grow min-h-px min-w-px relative shrink-0", children: [
3180
- /* @__PURE__ */ e(P, {}),
3181
- /* @__PURE__ */ e(_, {}),
3182
- /* @__PURE__ */ e(M, {}),
3183
- /* @__PURE__ */ e(O, {}),
3184
- r && !b && /* @__PURE__ */ e(I, {}),
3185
- /* @__PURE__ */ e(U, {}),
3186
- u && r && !v && /* @__PURE__ */ e(I, {}),
3187
- /* @__PURE__ */ e(E, {}),
3188
- n && /* @__PURE__ */ e("div", { className: "flex gap-2 items-center", children: n })
3189
- ] })
3190
- ] });
3191
- }, mr = ({
3192
- items: t,
3193
- activeItemId: a,
3194
- onItemClick: o,
3195
- className: r = "",
3196
- ariaLabel: n = "Navegación Principal"
3197
- }) => {
3198
- t.length > 5 && console.warn("NavigationBar: Se recomienda un máximo de 5 ítems para mejor UX");
3199
- const s = (i) => {
3200
- i.disabled || (i.onClick && i.onClick(i.id), o && o(i.id));
3201
- }, c = (i) => {
3202
- const p = i.active || i.id === a, m = `
3203
- flex-1
3204
- flex
3205
- flex-col
3206
- items-center
3207
- gap-1
3208
- px-0.5
3209
- py-0
3210
- min-w-0
3211
- cursor-pointer
3212
- transition-all
3213
- duration-150
3214
- ${i.disabled ? "opacity-50 cursor-not-allowed pointer-events-none" : ""}
3215
- `.replace(/\s+/g, " ").trim(), u = `
3216
- flex
3217
- items-center
3218
- justify-center
3219
- px-4
3220
- py-1
3221
- rounded-full
3222
- overflow-hidden
3223
- transition-all
3224
- duration-150
3225
- ${p ? "bg-primary-custom-100 dark:bg-primary-custom-100" : "bg-transparent hover:bg-hover-overlay dark:hover:bg-hover-overlay-dark"}
3226
- `.replace(/\s+/g, " ").trim(), g = `
3227
- font-['SiesaBT:Bold',sans-serif]
3228
- text-[10px]
3229
- leading-[12px]
3230
- font-bold
3231
- text-center
3232
- w-full
3233
- min-w-0
3234
- text-content-primary
3235
- dark:text-dark-content-primary
3236
- transition-colors
3237
- duration-150
3238
- `.replace(/\s+/g, " ").trim(), y = `
3239
- w-4
3240
- h-4
3241
- shrink-0
3242
- text-content-primary
3243
- dark:text-dark-content-primary
3244
- transition-colors
3245
- duration-150
3246
- `.replace(/\s+/g, " ").trim();
3247
- return /* @__PURE__ */ l(
3248
- "button",
3249
- {
3250
- type: "button",
3251
- className: m,
3252
- onClick: () => s(i),
3253
- disabled: i.disabled,
3254
- "aria-label": i.ariaLabel || i.label,
3255
- "aria-current": p ? "page" : void 0,
3256
- children: [
3257
- /* @__PURE__ */ e("div", { className: u, children: /* @__PURE__ */ e("span", { className: y, children: i.icon }) }),
3258
- /* @__PURE__ */ e("span", { className: g, children: i.label })
3259
- ]
3260
- },
3261
- i.id
3262
- );
3263
- }, d = `
3264
- bg-bg-primary
3265
- dark:bg-dark-bg-primary
3266
- p-4
3267
- w-full
3268
- transition-colors
3269
- duration-150
3270
- `.replace(/\s+/g, " ").trim(), b = `
3271
- flex
3272
- items-start
3273
- justify-center
3274
- w-full
3275
- `.replace(/\s+/g, " ").trim(), x = `
3276
- flex-1
3277
- flex
3278
- items-start
3279
- gap-2
3280
- min-h-0
3281
- min-w-0
3282
- `.replace(/\s+/g, " ").trim();
3283
- return /* @__PURE__ */ e(
3284
- "nav",
3285
- {
3286
- className: `${d} ${r}`.trim(),
3287
- role: "navigation",
3288
- "aria-label": n,
3289
- children: /* @__PURE__ */ e("div", { className: b, children: /* @__PURE__ */ e("div", { className: x, children: t.map((i) => c(i)) }) })
3290
- }
3291
- );
3292
- }, Oe = ({ lightColor: t, darkColor: a, className: o = "" }) => /* @__PURE__ */ l(
3293
- "svg",
3294
- {
3295
- className: `w-4 h-4 shrink-0 ${o}`.trim(),
3296
- xmlns: "http://www.w3.org/2000/svg",
3297
- viewBox: "0 0 16 16",
3298
- "aria-hidden": "true",
3299
- children: [
3300
- /* @__PURE__ */ e(
3301
- "circle",
3302
- {
3303
- cx: "8",
3304
- cy: "8",
3305
- r: "8",
3306
- fill: t,
3307
- className: "dark:hidden"
3308
- }
3309
- ),
3310
- /* @__PURE__ */ e(
3311
- "circle",
3312
- {
3313
- cx: "8",
3314
- cy: "8",
3315
- r: "8",
3316
- fill: a,
3317
- className: "hidden dark:block"
3318
- }
3319
- )
3320
- ]
3321
- }
3322
- ), pr = ({
3323
- status: t = "available",
3324
- className: a = ""
3325
- }) => {
3326
- const r = {
3327
- available: {
3328
- lightColor: "#0e79fd",
3329
- // Azul - contentCustomPrimary Light
3330
- darkColor: "#93d1fd",
3331
- // Azul claro - contentCustomPrimary Dark
3332
- label: "Disponible"
3333
- },
3334
- occupied: {
3335
- lightColor: "#af460e",
3336
- // Naranja - contentOrange Light
3337
- darkColor: "#f5a927",
3338
- // Amarillo - contentYellow Dark
3339
- label: "Ocupada"
3340
- },
3341
- reserved: {
3342
- lightColor: "#7e22ce",
3343
- // Morado - contentPurple Light
3344
- darkColor: "#c084fc",
3345
- // Morado claro - contentPurple Dark
3346
- label: "Reservada"
3347
- },
3348
- outOfService: {
3349
- lightColor: "#3f3f46",
3350
- // Gris - contentZinc Light (zinc-700)
3351
- darkColor: "#a1a1aa",
3352
- // Gris claro - contentZinc Dark (zinc-400)
3353
- label: "Fuera de Servicio"
3354
- }
3355
- }[t], s = [`
3356
- inline-flex
3357
- items-center
3358
- gap-1
3359
- shrink-0
3360
- `, a].join(" ").replace(/\s+/g, " ").trim();
3361
- return /* @__PURE__ */ l(
3362
- "div",
3363
- {
3364
- className: s,
3365
- role: "presentation",
3366
- "aria-label": `Estado: ${r.label}`,
3367
- children: [
3368
- /* @__PURE__ */ e(Oe, { lightColor: r.lightColor, darkColor: r.darkColor }),
3369
- /* @__PURE__ */ e(
3370
- "span",
3371
- {
3372
- className: `
3373
- text-xs
3374
- leading-4
3375
- font-normal
3376
- text-content-primary
3377
- dark:text-dark-content-primary
3378
- whitespace-nowrap
3379
- `.replace(/\s+/g, " ").trim(),
3380
- children: r.label
3381
- }
3382
- )
3383
- ]
3384
- }
3385
- );
3386
- }, Pe = ({ className: t = "" }) => /* @__PURE__ */ e(
3387
- "svg",
3388
- {
3389
- width: "12",
3390
- height: "12",
3391
- viewBox: "0 0 12 12",
3392
- fill: "none",
3393
- xmlns: "http://www.w3.org/2000/svg",
3394
- className: t,
3395
- children: /* @__PURE__ */ e(
3396
- "path",
3397
- {
3398
- d: "M10 3L4.5 8.5L2 6",
3399
- stroke: "currentColor",
3400
- strokeWidth: "1.5",
3401
- strokeLinecap: "round",
3402
- strokeLinejoin: "round"
3403
- }
3404
- )
3405
- }
3406
- ), Ue = ({ className: t = "" }) => /* @__PURE__ */ e(
3407
- "svg",
3408
- {
3409
- width: "12",
3410
- height: "12",
3411
- viewBox: "0 0 12 12",
3412
- fill: "none",
3413
- xmlns: "http://www.w3.org/2000/svg",
3414
- className: t,
3415
- children: /* @__PURE__ */ e(
3416
- "path",
3417
- {
3418
- d: "M9 3L3 9M3 3L9 9",
3419
- stroke: "currentColor",
3420
- strokeWidth: "1.5",
3421
- strokeLinecap: "round",
3422
- strokeLinejoin: "round"
3423
- }
3424
- )
3425
- }
3426
- ), Ge = ({ className: t = "" }) => /* @__PURE__ */ e(
3427
- "svg",
3428
- {
3429
- width: "12",
3430
- height: "12",
3431
- viewBox: "0 0 12 12",
3432
- fill: "none",
3433
- xmlns: "http://www.w3.org/2000/svg",
3434
- className: t,
3435
- children: /* @__PURE__ */ e(
3436
- "path",
3437
- {
3438
- d: "M10.5 5H1.5M8.5 1V3M3.5 1V3M3.25 11H8.75C9.57843 11 10.25 10.3284 10.25 9.5V3.5C10.25 2.67157 9.57843 2 8.75 2H3.25C2.42157 2 1.75 2.67157 1.75 3.5V9.5C1.75 10.3284 2.42157 11 3.25 11Z",
3439
- stroke: "currentColor",
3440
- strokeWidth: "1.5",
3441
- strokeLinecap: "round",
3442
- strokeLinejoin: "round"
3443
- }
3444
- )
3445
- }
3446
- ), Ke = ({ className: t = "" }) => /* @__PURE__ */ l(
3447
- "svg",
3448
- {
3449
- width: "12",
3450
- height: "12",
3451
- viewBox: "0 0 12 12",
3452
- fill: "none",
3453
- xmlns: "http://www.w3.org/2000/svg",
3454
- className: t,
3455
- children: [
3456
- /* @__PURE__ */ e(
3457
- "path",
3458
- {
3459
- d: "M10.5 6C10.5 8.48528 8.48528 10.5 6 10.5C3.51472 10.5 1.5 8.48528 1.5 6C1.5 3.51472 3.51472 1.5 6 1.5C8.48528 1.5 10.5 3.51472 10.5 6Z",
3460
- stroke: "currentColor",
3461
- strokeWidth: "1.5"
3462
- }
3463
- ),
3464
- /* @__PURE__ */ e(
3465
- "path",
3466
- {
3467
- d: "M9.18198 2.81802L2.81802 9.18198",
3468
- stroke: "currentColor",
3469
- strokeWidth: "1.5",
3470
- strokeLinecap: "round"
3471
- }
3472
- )
3473
- ]
3474
- }
3475
- ), qe = ({ className: t = "" }) => /* @__PURE__ */ e(
3476
- "svg",
3477
- {
3478
- width: "13",
3479
- height: "10",
3480
- viewBox: "0 0 13 10",
3481
- fill: "none",
3482
- xmlns: "http://www.w3.org/2000/svg",
3483
- className: t,
3484
- children: /* @__PURE__ */ e(
3485
- "path",
3486
- {
3487
- d: "M9.25 9V8C9.25 6.89543 8.35457 6 7.25 6H2.75C1.64543 6 0.75 6.89543 0.75 8V9M12.25 9V8C12.25 6.89543 11.3546 6 10.25 6H9.75M7 2.5C7 3.60457 6.10457 4.5 5 4.5C3.89543 4.5 3 3.60457 3 2.5C3 1.39543 3.89543 0.5 5 0.5C6.10457 0.5 7 1.39543 7 2.5ZM10 2C10 2.82843 9.32843 3.5 8.5 3.5C7.67157 3.5 7 2.82843 7 2C7 1.17157 7.67157 0.5 8.5 0.5C9.32843 0.5 10 1.17157 10 2Z",
3488
- stroke: "currentColor",
3489
- strokeWidth: "1",
3490
- strokeLinecap: "round",
3491
- strokeLinejoin: "round"
3492
- }
3493
- )
3494
- }
3495
- ), gr = ({
3496
- locationName: t,
3497
- status: a = "available",
3498
- state: o = "enabled",
3499
- capacity: r,
3500
- onClick: n,
3501
- disabled: s = !1,
3502
- className: c = "",
3503
- ariaLabel: d,
3504
- fullWidth: b = !0
3505
- }) => {
3506
- const i = {
3507
- available: {
3508
- // Azul Primary Custom (según Figma: #0e79fd)
3509
- textColor: "text-primary-custom-600 dark:text-primary-custom-600",
3510
- badgeBg: "bg-primary-custom-100 dark:bg-blue-900/30",
3511
- badgeText: "text-primary-custom-600 dark:text-blue-400",
3512
- activedBg: "bg-primary-custom-100 dark:bg-blue-900/30",
3513
- icon: Pe,
3514
- badgeLabel: "Disponible"
3515
- },
3516
- occupied: {
3517
- // Naranja/Yellow (según Figma: #af460e para texto, #fcedc9 para fondo)
3518
- textColor: "text-[#af460e] dark:text-orange-400",
3519
- badgeBg: "bg-[#fcedc9] dark:bg-yellow-900/30",
3520
- badgeText: "text-[#af460e] dark:text-orange-400",
3521
- activedBg: "bg-[#fcedc9] dark:bg-yellow-900/30",
3522
- icon: Ue,
3523
- badgeLabel: "Ocupada"
3524
- },
3525
- reserved: {
3526
- // Morado/Purple (según Figma: #7e22ce para texto, #f3e8ff para fondo)
3527
- textColor: "text-[#7e22ce] dark:text-fuchsia-400",
3528
- badgeBg: "bg-[#f3e8ff] dark:bg-purple-900/30",
3529
- badgeText: "text-[#7e22ce] dark:text-purple-400",
3530
- activedBg: "bg-[#f3e8ff] dark:bg-purple-900/30",
3531
- icon: Ge,
3532
- badgeLabel: "Reservada"
3533
- },
3534
- outOfService: {
3535
- // Gris/Zinc (según Figma: #3f3f46 para texto, #f4f4f5 para fondo)
3536
- textColor: "text-[#3f3f46] dark:text-zinc-400",
3537
- badgeBg: "bg-[#f4f4f5] dark:bg-zinc-800/30",
3538
- badgeText: "text-content-tertiary dark:text-zinc-400",
3539
- activedBg: "bg-[#f4f4f5] dark:bg-zinc-800/30",
3540
- icon: Ke,
3541
- badgeLabel: "F. de Servicio"
3542
- }
3543
- }[a], p = i.icon, m = o === "actived" ? i.activedBg : "bg-white dark:bg-dark-bg-primary", y = [`
3544
- flex
3545
- flex-col
3546
- items-stretch
3547
- justify-between
3548
- ${b ? "w-full" : "w-[189px]"}
3549
- h-[68px]
3550
- p-2
3551
- rounded-lg
3552
- cursor-pointer
3553
- transition-all
3554
- duration-150
3555
- focus:outline-none
3556
- focus:ring-2
3557
- focus:ring-primary-custom-400
3558
- focus:ring-offset-2
3559
- dark:focus:ring-dark-border-custom
3560
- dark:focus:ring-offset-dark-bg-primary
3561
- hover:shadow-md
3562
- active:scale-[0.98]
3563
- disabled:opacity-50
3564
- disabled:cursor-not-allowed
3565
- disabled:pointer-events-none
3566
- `, m, c].join(" ").replace(/\s+/g, " ").trim(), f = r ? `${r.current}/${r.total} mesas` : null;
3567
- return /* @__PURE__ */ l(
3568
- "button",
3569
- {
3570
- className: y,
3571
- onClick: n,
3572
- disabled: s,
3573
- "aria-label": d || `${t} - ${i.badgeLabel}`,
3574
- type: "button",
3575
- children: [
3576
- /* @__PURE__ */ e(
3577
- "div",
3578
- {
3579
- className: `
3580
- text-base
3581
- font-bold
3582
- leading-6
3583
- ${i.textColor}
3584
- `.replace(/\s+/g, " ").trim(),
3585
- children: t
3586
- }
3587
- ),
3588
- /* @__PURE__ */ l("div", { className: "flex items-center justify-between", children: [
3589
- f && /* @__PURE__ */ l("div", { className: "flex items-center gap-1", children: [
3590
- /* @__PURE__ */ e(qe, { className: i.textColor }),
3591
- /* @__PURE__ */ e(
3592
- "span",
3593
- {
3594
- className: `
3595
- text-[10px]
3596
- leading-[12px]
3597
- ${i.textColor}
3598
- `.replace(/\s+/g, " ").trim(),
3599
- children: f
3600
- }
3601
- )
3602
- ] }),
3603
- /* @__PURE__ */ l(
3604
- "div",
3605
- {
3606
- className: `
3607
- inline-flex
3608
- items-center
3609
- gap-1
3610
- px-1.5
3611
- py-1
3612
- rounded-md
3613
- ${i.badgeBg}
3614
- `.replace(/\s+/g, " ").trim(),
3615
- children: [
3616
- /* @__PURE__ */ e(p, { className: i.badgeText }),
3617
- /* @__PURE__ */ e(
3618
- "span",
3619
- {
3620
- className: `
3621
- text-xs
3622
- leading-4
3623
- ${i.badgeText}
3624
- `.replace(/\s+/g, " ").trim(),
3625
- children: i.badgeLabel
3626
- }
3627
- )
3628
- ]
3629
- }
3630
- )
3631
- ] })
3632
- ]
3633
- }
3634
- );
3635
- }, xr = ({
3636
- size: t = "l",
3637
- border: a = !1,
3638
- children: o,
3639
- disabled: r = !1,
3640
- className: n = "",
3641
- onClick: s,
3642
- ariaLabel: c,
3643
- htmlType: d = "button",
3644
- ...b
3645
- }) => {
3646
- const x = {
3647
- s: "w-10 h-10",
3648
- // 40x40px
3649
- m: "w-[65px] h-[65px]",
3650
- // 65x65px
3651
- l: "w-20 h-20"
3652
- // 80x80px
3653
- }, i = {
3654
- s: "text-2xl",
3655
- // 24px para botones pequeños
3656
- m: "text-5xl",
3657
- // 48px Display Tiny
3658
- l: "text-5xl"
3659
- // 48px Display Tiny
3660
- }, g = [
3661
- `
3662
- inline-flex
3663
- items-center
3664
- justify-center
3665
- rounded-lg
3666
- font-bold
3667
- tracking-tighter
3668
- whitespace-nowrap
3669
- cursor-pointer
3670
- focus:outline-none
3671
- focus:ring-2
3672
- focus:ring-primary-custom-400
3673
- focus:ring-offset-2
3674
- dark:focus:ring-dark-border-custom
3675
- dark:focus:ring-offset-dark-bg-primary
3676
- disabled:opacity-50
3677
- disabled:cursor-not-allowed
3678
- disabled:pointer-events-none
3679
- transition-all
3680
- duration-150
3681
- `,
3682
- x[t],
3683
- i[t],
3684
- a ? `
3685
- bg-white
3686
- text-content-primary
3687
- border
3688
- border-border-primary
3689
- hover:bg-primary-custom-600
3690
- hover:text-primary-inverse-content
3691
- hover:border-primary-inverse-border
3692
- active:bg-primary-custom-600
3693
- active:text-primary-inverse-content
3694
- active:border-primary-inverse-border
3695
- active:scale-95
3696
- dark:bg-dark-bg-primary
3697
- dark:text-dark-content-primary
3698
- dark:border-dark-border-primary
3699
- dark:hover:bg-dark-bg-inverse
3700
- dark:hover:text-dark-content-inverse
3701
- dark:hover:border-primary-inverse-border
3702
- dark:active:bg-dark-bg-inverse
3703
- dark:active:text-dark-content-inverse
3704
- dark:active:border-primary-inverse-border
3705
- dark:active:scale-95
3706
- ` : `
3707
- bg-white
3708
- text-content-primary
3709
- hover:bg-primary-custom-600
3710
- hover:text-primary-inverse-content
3711
- active:bg-primary-custom-600
3712
- active:text-primary-inverse-content
3713
- active:scale-95
3714
- dark:bg-dark-bg-primary
3715
- dark:text-dark-content-primary
3716
- dark:hover:bg-dark-bg-inverse
3717
- dark:hover:text-dark-content-inverse
3718
- dark:active:bg-dark-bg-inverse
3719
- dark:active:text-dark-content-inverse
3720
- dark:active:scale-95
3721
- `,
3722
- n
3723
- ].join(" ").replace(/\s+/g, " ").trim();
3724
- return /* @__PURE__ */ e(
3725
- "button",
3726
- {
3727
- type: d,
3728
- className: g,
3729
- disabled: r,
3730
- onClick: s,
3731
- "aria-label": c || `Número ${o}`,
3732
- ...b,
3733
- children: o
3734
- }
3735
- );
3736
- }, ur = ({
3737
- image: t,
3738
- label: a,
3739
- active: o = !1,
3740
- disabled: r = !1,
3741
- onClick: n,
3742
- className: s = "",
3743
- ariaLabel: c
3744
- }) => {
3745
- const x = [`
3746
- flex
3747
- flex-col
3748
- gap-2
3749
- p-3
3750
- rounded-lg
3751
- font-bold
3752
- text-sm
3753
- transition-all
3754
- duration-150
3755
- focus:outline-none
3756
- focus:ring-2
3757
- focus:ring-primary-custom-400
3758
- focus:ring-offset-2
3759
- dark:focus:ring-dark-border-custom
3760
- dark:focus:ring-offset-dark-bg-primary
3761
- `, r ? `
3762
- bg-white
3763
- text-content-primary
3764
- opacity-55
3765
- cursor-not-allowed
3766
- pointer-events-none
3767
- dark:bg-dark-bg-primary
3768
- dark:text-dark-content-primary
3769
- ` : o ? `
3770
- bg-primary-custom-100
3771
- text-primary-custom-600
3772
- cursor-pointer
3773
- hover:bg-primary-custom-100
3774
- active:scale-95
3775
- dark:bg-primary-custom-100/20
3776
- dark:text-primary-custom-600
3777
- dark:hover:bg-primary-custom-100/30
3778
- dark:active:scale-95
3779
- ` : `
3780
- bg-white
3781
- text-content-primary
3782
- cursor-pointer
3783
- hover:bg-background-secondary
3784
- active:scale-95
3785
- dark:bg-dark-bg-primary
3786
- dark:text-dark-content-primary
3787
- dark:hover:bg-dark-bg-primary/80
3788
- dark:active:scale-95
3789
- `, s].join(" ").replace(/\s+/g, " ").trim();
3790
- return /* @__PURE__ */ l(
3791
- "button",
3792
- {
3793
- type: "button",
3794
- className: x,
3795
- disabled: r,
3796
- onClick: n,
3797
- "aria-label": c || a,
3798
- "aria-pressed": o,
3799
- children: [
3800
- /* @__PURE__ */ e("div", { className: "aspect-[158/80] w-full rounded-lg overflow-hidden", children: /* @__PURE__ */ e(
3801
- "img",
3802
- {
3803
- src: t,
3804
- alt: a,
3805
- className: "w-full h-full object-cover"
3806
- }
3807
- ) }),
3808
- /* @__PURE__ */ e("div", { className: "w-full text-left leading-5", children: a })
3809
- ]
3810
- }
3811
- );
3812
- }, Qe = ({ className: t = "" }) => /* @__PURE__ */ e(
3813
- "svg",
3814
- {
3815
- width: "16",
3816
- height: "16",
3817
- viewBox: "0 0 16 16",
3818
- fill: "none",
3819
- xmlns: "http://www.w3.org/2000/svg",
3820
- className: t,
3821
- "aria-hidden": "true",
3822
- children: /* @__PURE__ */ e(
3823
- "path",
3824
- {
3825
- d: "M8 3V13M3 8H13",
3826
- stroke: "currentColor",
3827
- strokeWidth: "1.5",
3828
- strokeLinecap: "round",
3829
- strokeLinejoin: "round"
3830
- }
3831
- )
3832
- }
3833
- ), fr = ({
3834
- image: t,
3835
- productName: a,
3836
- price: o,
3837
- buttonText: r = "Agregar",
3838
- active: n = !1,
3839
- disabled: s = !1,
3840
- onAddClick: c,
3841
- onCardClick: d,
3842
- className: b = "",
3843
- ariaLabel: x
3844
- }) => {
3845
- const i = `
3846
- flex
3847
- flex-col
3848
- gap-2
3849
- p-3
3850
- rounded-lg
3851
- w-[170px]
3852
- transition-all
3853
- duration-150
3854
- focus:outline-none
3855
- focus:ring-2
3856
- focus:ring-primary-custom-400
3857
- focus:ring-offset-2
3858
- dark:focus:ring-dark-border-custom
3859
- dark:focus:ring-offset-dark-bg-primary
3860
- `, p = s ? `
3861
- bg-white
3862
- opacity-55
3863
- cursor-not-allowed
3864
- dark:bg-dark-bg-primary
3865
- ` : n ? `
3866
- bg-primary-custom-100
3867
- cursor-pointer
3868
- dark:bg-dark-bg-custom
3869
- ` : `
3870
- bg-white
3871
- cursor-pointer
3872
- dark:bg-dark-bg-primary
3873
- `, m = s ? `
3874
- text-content-primary
3875
- dark:text-dark-content-primary
3876
- ` : n ? `
3877
- text-primary-custom-600
3878
- dark:text-dark-content-custom
3879
- ` : `
3880
- text-content-primary
3881
- dark:text-dark-content-primary
3882
- `, u = [i, p, b].join(" ").replace(/\s+/g, " ").trim(), g = (f) => {
3883
- s || f.target.closest("button") || d?.(f);
3884
- }, y = (f) => {
3885
- f.stopPropagation(), !s && c?.(f);
3886
- };
3887
- return /* @__PURE__ */ l(
3888
- "div",
3889
- {
3890
- className: u,
3891
- onClick: g,
3892
- role: "article",
3893
- "aria-label": x || `${a} - ${o}`,
3894
- tabIndex: s ? -1 : 0,
3895
- children: [
3896
- /* @__PURE__ */ l("div", { className: "flex flex-col gap-3 w-full", children: [
3897
- /* @__PURE__ */ e("div", { className: "h-[88px] w-full rounded-lg overflow-hidden", children: /* @__PURE__ */ e(
3898
- "img",
3899
- {
3900
- src: t,
3901
- alt: a,
3902
- className: "w-full h-full object-cover"
3903
- }
3904
- ) }),
3905
- /* @__PURE__ */ l("div", { className: `flex flex-col w-full font-bold ${m}`.trim().replace(/\s+/g, " "), children: [
3906
- /* @__PURE__ */ e("div", { className: "text-sm leading-5", children: a }),
3907
- /* @__PURE__ */ e("div", { className: "text-2xl leading-8 tracking-tighter", children: o })
3908
- ] })
3909
- ] }),
3910
- /* @__PURE__ */ e(
3911
- Y,
3912
- {
3913
- type: "default",
3914
- size: "sm",
3915
- leftIcon: /* @__PURE__ */ e(Qe, { className: "w-4 h-4" }),
3916
- onClick: y,
3917
- disabled: s,
3918
- fullWidth: !0,
3919
- ariaLabel: `${r} ${a}`,
3920
- children: r
3921
- }
3922
- )
3923
- ]
3924
- }
3925
- );
3926
- }, Xe = ({ className: t = "" }) => /* @__PURE__ */ e(
3927
- "svg",
3928
- {
3929
- className: t,
3930
- xmlns: "http://www.w3.org/2000/svg",
3931
- viewBox: "0 0 16 16",
3932
- fill: "currentColor",
3933
- "aria-hidden": "true",
3934
- children: /* @__PURE__ */ e(
3935
- "path",
3936
- {
3937
- fillRule: "evenodd",
3938
- d: "M5 3.25V4H2.75a.75.75 0 0 0 0 1.5h.3l.815 8.15A1.5 1.5 0 0 0 5.357 15h5.285a1.5 1.5 0 0 0 1.493-1.35l.815-8.15h.3a.75.75 0 0 0 0-1.5H11v-.75A2.25 2.25 0 0 0 8.75 1h-1.5A2.25 2.25 0 0 0 5 3.25Zm2.25-.75a.75.75 0 0 0-.75.75V4h3v-.75a.75.75 0 0 0-.75-.75h-1.5ZM6.05 6a.75.75 0 0 1 .787.713l.275 5.5a.75.75 0 0 1-1.498.075l-.275-5.5A.75.75 0 0 1 6.05 6Zm3.9 0a.75.75 0 0 1 .712.787l-.275 5.5a.75.75 0 0 1-1.498-.075l.275-5.5a.75.75 0 0 1 .786-.711Z",
3939
- clipRule: "evenodd"
3940
- }
3941
- )
3942
- }
3943
- ), Je = ({
3944
- categoryLabel: t,
3945
- categoryColor: a = "lime",
3946
- productRef: o,
3947
- price: r,
3948
- productName: n,
3949
- descriptionItems: s = [],
3950
- showDescription: c = !0,
3951
- quantity: d = 0,
3952
- minQuantity: b = 0,
3953
- maxQuantity: x,
3954
- onQuantityChange: i,
3955
- onDelete: p,
3956
- disabled: m = !1,
3957
- className: u = "",
3958
- deleteIcon: g
3959
- }) => {
3960
- const y = {
3961
- lime: {
3962
- bg: "bg-lime-100 dark:bg-lime-900/40",
3963
- text: "text-lime-700 dark:text-lime-300"
3964
- },
3965
- red: {
3966
- bg: "bg-red-100 dark:bg-red-900/40",
3967
- text: "text-red-700 dark:text-red-300"
3968
- },
3969
- orange: {
3970
- bg: "bg-orange-100 dark:bg-orange-900/40",
3971
- text: "text-orange-700 dark:text-orange-300"
3972
- },
3973
- amber: {
3974
- bg: "bg-amber-100 dark:bg-amber-900/40",
3975
- text: "text-amber-700 dark:text-amber-300"
3976
- },
3977
- yellow: {
3978
- bg: "bg-yellow-100 dark:bg-yellow-900/40",
3979
- text: "text-yellow-700 dark:text-yellow-300"
3980
- },
3981
- green: {
3982
- bg: "bg-green-100 dark:bg-green-900/40",
3983
- text: "text-green-700 dark:text-green-300"
3984
- },
3985
- emerald: {
3986
- bg: "bg-emerald-100 dark:bg-emerald-900/40",
3987
- text: "text-emerald-700 dark:text-emerald-300"
3988
- },
3989
- teal: {
3990
- bg: "bg-teal-100 dark:bg-teal-900/40",
3991
- text: "text-teal-700 dark:text-teal-300"
3992
- },
3993
- cyan: {
3994
- bg: "bg-cyan-100 dark:bg-cyan-900/40",
3995
- text: "text-cyan-700 dark:text-cyan-300"
3996
- },
3997
- sky: {
3998
- bg: "bg-sky-100 dark:bg-sky-900/40",
3999
- text: "text-sky-700 dark:text-sky-300"
4000
- },
4001
- blue: {
4002
- bg: "bg-blue-100 dark:bg-blue-900/40",
4003
- text: "text-blue-700 dark:text-blue-300"
4004
- },
4005
- indigo: {
4006
- bg: "bg-indigo-100 dark:bg-indigo-900/40",
4007
- text: "text-indigo-700 dark:text-indigo-300"
4008
- },
4009
- violet: {
4010
- bg: "bg-violet-100 dark:bg-violet-900/40",
4011
- text: "text-violet-700 dark:text-violet-300"
4012
- },
4013
- purple: {
4014
- bg: "bg-purple-100 dark:bg-purple-900/40",
4015
- text: "text-purple-700 dark:text-purple-300"
4016
- },
4017
- fuchsia: {
4018
- bg: "bg-fuchsia-100 dark:bg-fuchsia-900/40",
4019
- text: "text-fuchsia-700 dark:text-fuchsia-300"
4020
- },
4021
- pink: {
4022
- bg: "bg-pink-100 dark:bg-pink-900/40",
4023
- text: "text-pink-700 dark:text-pink-300"
4024
- },
4025
- rose: {
4026
- bg: "bg-rose-100 dark:bg-rose-900/40",
4027
- text: "text-rose-700 dark:text-rose-300"
4028
- },
4029
- zinc: {
4030
- bg: "bg-zinc-100 dark:bg-zinc-800/50",
4031
- text: "text-zinc-600 dark:text-zinc-300"
4032
- },
4033
- primary: {
4034
- bg: "bg-primary-custom-100 dark:bg-primary-custom-600/30",
4035
- text: "text-primary-custom-600 dark:text-primary-custom-300"
4036
- }
4037
- }, f = y[a] || y.lime, k = (h) => {
4038
- !m && i && i(h);
4039
- }, w = () => {
4040
- !m && p && p();
4041
- };
4042
- return /* @__PURE__ */ l(
4043
- "div",
4044
- {
4045
- className: `
4046
- flex
4047
- flex-col
4048
- gap-2
4049
- w-full
4050
- ${m ? "opacity-50 pointer-events-none" : ""}
4051
- ${u}
4052
- `.trim().replace(/\s+/g, " "),
4053
- "data-component": "POSProductSidebarItems",
4054
- children: [
4055
- /* @__PURE__ */ l("div", { className: "flex flex-col gap-2 w-full", children: [
4056
- /* @__PURE__ */ l("div", { className: "flex flex-col gap-1 w-full", children: [
4057
- /* @__PURE__ */ l("div", { className: "flex items-center gap-1 w-full", children: [
4058
- /* @__PURE__ */ l("div", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
4059
- /* @__PURE__ */ e(
4060
- "div",
4061
- {
4062
- className: `
4063
- inline-flex
4064
- items-center
4065
- px-1.5
4066
- py-1
4067
- rounded-md
4068
- transition-colors
4069
- duration-150
4070
- ${f.bg}
4071
- `.trim().replace(/\s+/g, " "),
4072
- children: /* @__PURE__ */ e(
4073
- "span",
4074
- {
4075
- className: `
4076
- text-xs
4077
- leading-4
4078
- font-normal
4079
- text-center
4080
- whitespace-nowrap
4081
- ${f.text}
4082
- `.trim().replace(/\s+/g, " "),
4083
- children: t
4084
- }
4085
- )
4086
- }
4087
- ),
4088
- /* @__PURE__ */ e("span", { className: "text-[10px] leading-3 font-normal text-content-primary dark:text-dark-content-primary whitespace-nowrap", children: o })
4089
- ] }),
4090
- /* @__PURE__ */ e("div", { className: "flex items-center shrink-0", children: /* @__PURE__ */ e("span", { className: "text-xs leading-4 font-bold text-content-primary dark:text-dark-content-primary whitespace-nowrap text-right", children: r }) })
4091
- ] }),
4092
- /* @__PURE__ */ e("div", { className: "flex items-start w-full", children: /* @__PURE__ */ e("span", { className: "text-xs leading-4 font-bold text-content-primary dark:text-dark-content-primary flex-1 min-w-0", children: n }) })
4093
- ] }),
4094
- c && s.length > 0 && /* @__PURE__ */ e(
4095
- "div",
4096
- {
4097
- className: `
4098
- flex
4099
- flex-col
4100
- gap-2
4101
- p-2
4102
- rounded-lg
4103
- bg-background-secondary
4104
- dark:bg-zinc-700
4105
- w-full
4106
- transition-colors
4107
- duration-150
4108
- `.trim().replace(/\s+/g, " "),
4109
- children: s.map((h, v) => /* @__PURE__ */ l(
4110
- "div",
4111
- {
4112
- className: "flex items-center gap-1 w-full",
4113
- children: [
4114
- /* @__PURE__ */ e("span", { className: "flex-1 min-w-0 text-xs leading-3 font-normal text-content-primary dark:text-dark-content-primary", children: h.description }),
4115
- /* @__PURE__ */ e("span", { className: "text-xs leading-3 font-bold text-content-primary dark:text-dark-content-primary whitespace-nowrap text-right shrink-0", children: h.price })
4116
- ]
4117
- },
4118
- v
4119
- ))
4120
- }
4121
- )
4122
- ] }),
4123
- /* @__PURE__ */ l("div", { className: "flex items-center justify-between w-full", children: [
4124
- /* @__PURE__ */ e("div", { className: "w-[118px]", children: /* @__PURE__ */ e(
4125
- ne,
4126
- {
4127
- value: d,
4128
- min: b,
4129
- max: x,
4130
- onChange: k,
4131
- disabled: m
4132
- }
4133
- ) }),
4134
- /* @__PURE__ */ e(
4135
- "button",
4136
- {
4137
- type: "button",
4138
- onClick: w,
4139
- disabled: m,
4140
- className: `
4141
- flex
4142
- items-center
4143
- justify-center
4144
- w-6
4145
- h-6
4146
- rounded-md
4147
- text-red-700
4148
- dark:text-red-500
4149
- hover:text-red-800
4150
- dark:hover:text-red-400
4151
- hover:bg-red-50
4152
- dark:hover:bg-red-900/20
4153
- focus:outline-none
4154
- focus:ring-2
4155
- focus:ring-red-500/50
4156
- dark:focus:ring-red-400/50
4157
- focus:ring-offset-1
4158
- focus:ring-offset-white
4159
- dark:focus:ring-offset-dark-bg-primary
4160
- active:scale-95
4161
- transition-all
4162
- duration-150
4163
- ${m ? "cursor-not-allowed opacity-50" : "cursor-pointer"}
4164
- `.trim().replace(/\s+/g, " "),
4165
- "aria-label": "Eliminar producto",
4166
- children: g || /* @__PURE__ */ e(Xe, { className: "w-[18px] h-[21px]" })
4167
- }
4168
- )
4169
- ] })
4170
- ]
4171
- }
4172
- );
4173
- };
4174
- Je.displayName = "POSProductSidebarItems";
4175
- const hr = ({
4176
- tableNumber: t,
4177
- status: a = "available",
4178
- shape: o = "square",
4179
- chairs: r = 4,
4180
- showChairs: n = !0,
4181
- isActive: s = !1,
4182
- onClick: c,
4183
- className: d = "",
4184
- disabled: b = !1,
4185
- children: x
4186
- }) => {
4187
- const i = {
4188
- available: {
4189
- // Enabled state - Light: #0e79fd (azul primario del sistema), Dark: #93d1fd
4190
- border: "border-[#0e79fd]",
4191
- borderDark: "dark:border-[#93d1fd]",
4192
- bgEnabled: "bg-transparent",
4193
- bgEnabledDark: "dark:bg-transparent",
4194
- // Actived state - Light: Bg #dbeefe + Border #bce4ff según Figma
4195
- bgActive: "bg-[#dbeefe]",
4196
- bgActiveDark: "dark:bg-[#1e3a5f]",
4197
- borderActive: "border-[#bce4ff]",
4198
- borderActiveDark: "dark:border-[#1e3a5f]",
4199
- // Table and chairs - Light: #0e79fd, Dark: #93d1fd
4200
- table: "bg-[#0e79fd]",
4201
- tableDark: "dark:bg-[#93d1fd]",
4202
- chair: "bg-[#0e79fd]",
4203
- chairDark: "dark:bg-[#93d1fd]",
4204
- // Text (mismo color del estado - label está FUERA de la mesa según Figma)
4205
- text: "text-[#0e79fd]",
4206
- textDark: "dark:text-[#93d1fd]",
4207
- // Focus ring
4208
- focusRing: "focus:ring-[#93d1fd]",
4209
- focusRingDark: "dark:focus:ring-[#0e79fd]"
4210
- },
4211
- busy: {
4212
- // Enabled state - Light: #af460e, Dark: #f5a927
4213
- border: "border-[#af460e]",
4214
- borderDark: "dark:border-[#f5a927]",
4215
- bgEnabled: "bg-transparent",
4216
- bgEnabledDark: "dark:bg-transparent",
4217
- // Actived state
4218
- bgActive: "bg-[#fed7aa]",
4219
- bgActiveDark: "dark:bg-[#5c3a1e]",
4220
- borderActive: "border-[#fed7aa]",
4221
- borderActiveDark: "dark:border-[#5c3a1e]",
4222
- // Table and chairs - Light: #af460e, Dark: #f5a927
4223
- table: "bg-[#af460e]",
4224
- tableDark: "dark:bg-[#f5a927]",
4225
- chair: "bg-[#af460e]",
4226
- chairDark: "dark:bg-[#f5a927]",
4227
- // Text (mismo color del estado - label está FUERA de la mesa según Figma)
4228
- text: "text-[#af460e]",
4229
- textDark: "dark:text-[#f5a927]",
4230
- // Focus ring
4231
- focusRing: "focus:ring-[#f5a927]",
4232
- focusRingDark: "dark:focus:ring-[#af460e]"
4233
- },
4234
- reserved: {
4235
- // Enabled state - Light: #7e22ce, Dark: #c084fc
4236
- border: "border-[#7e22ce]",
4237
- borderDark: "dark:border-[#c084fc]",
4238
- bgEnabled: "bg-transparent",
4239
- bgEnabledDark: "dark:bg-transparent",
4240
- // Actived state
4241
- bgActive: "bg-[#e9d5ff]",
4242
- bgActiveDark: "dark:bg-[#3b1f5c]",
4243
- borderActive: "border-[#e9d5ff]",
4244
- borderActiveDark: "dark:border-[#3b1f5c]",
4245
- // Table and chairs - Light: #7e22ce, Dark: #c084fc
4246
- table: "bg-[#7e22ce]",
4247
- tableDark: "dark:bg-[#c084fc]",
4248
- chair: "bg-[#7e22ce]",
4249
- chairDark: "dark:bg-[#c084fc]",
4250
- // Text (mismo color del estado - label está FUERA de la mesa según Figma)
4251
- text: "text-[#7e22ce]",
4252
- textDark: "dark:text-[#c084fc]",
4253
- // Focus ring
4254
- focusRing: "focus:ring-[#c084fc]",
4255
- focusRingDark: "dark:focus:ring-[#7e22ce]"
4256
- }
4257
- }, p = {
4258
- square: {
4259
- container: "rounded-[4px]",
4260
- table: "w-[64px] h-[64px] rounded-[4px]"
4261
- },
4262
- circle: {
4263
- container: "rounded-[9999px]",
4264
- table: "w-[64px] h-[64px] rounded-[9999px]"
4265
- },
4266
- rectangle: {
4267
- container: "rounded-[4px]",
4268
- table: "w-[80px] h-[64px] rounded-[4px]"
4269
- },
4270
- oval: {
4271
- container: "rounded-[24px]",
4272
- table: "w-[80px] h-[64px] rounded-[24px]"
4273
- }
4274
- }, m = ({ rotation: f }) => /* @__PURE__ */ l(
4275
- "div",
4276
- {
4277
- className: "w-[28px] h-[22px]",
4278
- style: { transform: `rotate(${f}deg)` },
4279
- "aria-hidden": "true",
4280
- children: [
4281
- /* @__PURE__ */ e(
4282
- "div",
4283
- {
4284
- className: `
4285
- absolute
4286
- top-0
4287
- left-0
4288
- right-0
4289
- h-[16px]
4290
- rounded-t-[4px]
4291
- ${i[a].chair}
4292
- ${i[a].chairDark}
4293
- `
4294
- }
4295
- ),
4296
- /* @__PURE__ */ e(
4297
- "div",
4298
- {
4299
- className: `
4300
- absolute
4301
- bottom-0
4302
- left-[7.14%]
4303
- right-[7.14%]
4304
- h-[14px]
4305
- rounded-b-[4px]
4306
- ${i[a].chair}
4307
- ${i[a].chairDark}
4308
- `
4309
- }
4310
- )
4311
- ]
4312
- }
4313
- ), u = () => {
4314
- !b && c && c();
4315
- }, g = (f) => {
4316
- (f.key === "Enter" || f.key === " ") && !b && c && (f.preventDefault(), c());
4317
- }, y = [
4318
- // Dimensiones exactas del container
4319
- "w-[160px]",
4320
- "h-[160px]",
4321
- "shrink-0",
4322
- // Estructura
4323
- "relative",
4324
- "flex",
4325
- "flex-col",
4326
- "items-center",
4327
- "justify-center",
4328
- "p-0",
4329
- // Borde (2px según Figma)
4330
- "border-2",
4331
- "box-border",
4332
- // Border radius (8px según Figma)
4333
- "rounded-[8px]",
4334
- // Colores del borde y fondo según estado
4335
- s ? i[a].borderActive : i[a].border,
4336
- s ? i[a].borderActiveDark : i[a].borderDark,
4337
- s ? i[a].bgActive : i[a].bgEnabled,
4338
- s ? i[a].bgActiveDark : i[a].bgEnabledDark,
4339
- // Focus rings adaptativos (siguiendo patrón de Button)
4340
- "focus:outline-none",
4341
- "focus:ring-2",
4342
- i[a].focusRing,
4343
- i[a].focusRingDark,
4344
- "focus:ring-offset-2",
4345
- "dark:focus:ring-offset-dark-bg-primary",
4346
- // Transiciones
4347
- "transition-all",
4348
- "duration-150",
4349
- // Interactividad
4350
- c && !b ? "cursor-pointer" : "",
4351
- c && !b ? "hover:scale-105" : "",
4352
- c && !b ? "active:scale-95" : "",
4353
- b ? "opacity-50 cursor-not-allowed" : "",
4354
- // Clases adicionales
4355
- d
4356
- ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
4357
- return /* @__PURE__ */ l(
4358
- "button",
4359
- {
4360
- className: y,
4361
- onClick: u,
4362
- onKeyDown: g,
4363
- disabled: b,
4364
- type: "button",
4365
- "aria-label": `Mesa ${t} - ${a === "available" ? "Disponible" : a === "busy" ? "Ocupada" : "Reservada"}`,
4366
- children: [
4367
- /* @__PURE__ */ l("div", { className: "flex flex-col gap-[4px] items-center justify-center w-[134px] h-[134px] shrink-0", children: [
4368
- n && (r === 2 || r === 4 || r === 6 || r === 8) && /* @__PURE__ */ l("div", { className: "flex gap-[4px] items-center justify-center shrink-0", children: [
4369
- r >= 6 && /* @__PURE__ */ l(S, { children: [
4370
- /* @__PURE__ */ e(m, { rotation: 0 }),
4371
- /* @__PURE__ */ e(m, { rotation: 0 })
4372
- ] }),
4373
- r === 2 && /* @__PURE__ */ e(m, { rotation: 0 }),
4374
- r === 4 && /* @__PURE__ */ e(m, { rotation: 0 })
4375
- ] }),
4376
- /* @__PURE__ */ l("div", { className: "flex gap-[4px] items-center justify-center shrink-0", children: [
4377
- n && (r === 4 || r === 6 || r === 8) && /* @__PURE__ */ l("div", { className: "flex flex-col gap-[4px] items-start justify-center shrink-0", children: [
4378
- r >= 8 && /* @__PURE__ */ l(S, { children: [
4379
- /* @__PURE__ */ e(m, { rotation: 270 }),
4380
- /* @__PURE__ */ e(m, { rotation: 270 })
4381
- ] }),
4382
- (r === 4 || r === 6) && /* @__PURE__ */ e(m, { rotation: 270 })
4383
- ] }),
4384
- /* @__PURE__ */ e("div", { className: "flex flex-col gap-[4px] items-start justify-center shrink-0", children: /* @__PURE__ */ e("div", { className: "flex items-center shrink-0", children: /* @__PURE__ */ e(
4385
- "div",
4386
- {
4387
- className: `
4388
- ${p[o].table}
4389
- ${i[a].table}
4390
- ${i[a].tableDark}
4391
- shrink-0
4392
- `
4393
- }
4394
- ) }) }),
4395
- n && (r === 4 || r === 6 || r === 8) && /* @__PURE__ */ l("div", { className: "flex flex-col gap-[4px] items-start justify-center shrink-0", children: [
4396
- r >= 8 && /* @__PURE__ */ l(S, { children: [
4397
- /* @__PURE__ */ e(m, { rotation: 90 }),
4398
- /* @__PURE__ */ e(m, { rotation: 90 })
4399
- ] }),
4400
- (r === 4 || r === 6) && /* @__PURE__ */ e(m, { rotation: 90 })
4401
- ] })
4402
- ] }),
4403
- n && (r === 2 || r === 4 || r === 6 || r === 8) && /* @__PURE__ */ l("div", { className: "flex gap-[4px] items-center justify-center shrink-0", children: [
4404
- r >= 6 && /* @__PURE__ */ l(S, { children: [
4405
- /* @__PURE__ */ e(m, { rotation: 180 }),
4406
- /* @__PURE__ */ e(m, { rotation: 180 })
4407
- ] }),
4408
- r === 2 && /* @__PURE__ */ e(m, { rotation: 180 }),
4409
- r === 4 && /* @__PURE__ */ e(m, { rotation: 180 })
4410
- ] })
4411
- ] }),
4412
- /* @__PURE__ */ l(
4413
- "div",
4414
- {
4415
- className: `
4416
- flex
4417
- flex-col
4418
- justify-center
4419
- leading-[0]
4420
- not-italic
4421
- overflow-ellipsis
4422
- overflow-hidden
4423
- min-w-full
4424
- text-center
4425
- whitespace-nowrap
4426
- shrink-0
4427
- text-[10px]
4428
- font-normal
4429
- ${i[a].text}
4430
- ${i[a].textDark}
4431
- `,
4432
- children: [
4433
- /* @__PURE__ */ l("p", { className: "leading-[12px] overflow-ellipsis overflow-hidden", children: [
4434
- "Mesa ",
4435
- t
4436
- ] }),
4437
- x
4438
- ]
4439
- }
4440
- )
4441
- ]
4442
- }
4443
- );
4444
- }, oe = xe(void 0), kr = ({
4445
- children: t,
4446
- defaultTheme: a = "light"
4447
- }) => {
4448
- const [o, r] = V(() => typeof window < "u" && localStorage.getItem("siesa-ui-theme") || a);
4449
- W(() => {
4450
- const c = window.document.documentElement;
4451
- o === "dark" ? c.classList.add("dark") : c.classList.remove("dark"), localStorage.setItem("siesa-ui-theme", o);
4452
- }, [o]);
4453
- const n = () => {
4454
- r((c) => c === "light" ? "dark" : "light");
4455
- }, s = (c) => {
4456
- r(c);
4457
- };
4458
- return /* @__PURE__ */ e(oe.Provider, { value: { theme: o, toggleTheme: n, setTheme: s }, children: t });
4459
- }, vr = () => {
4460
- const t = ue(oe);
4461
- if (t === void 0)
4462
- throw new Error("useTheme debe ser usado dentro de un ThemeProvider");
4463
- return t;
4464
- };
4465
- export {
4466
- $e as Alert,
4467
- we as Avatar,
4468
- G as Badge,
4469
- Y as Button,
4470
- ke as Checkbox,
4471
- Ne as DescriptionList,
4472
- Ce as Divider,
4473
- or as Dropdown,
4474
- fe as Input,
4475
- br as Navbar,
4476
- mr as NavigationBar,
4477
- sr as Notification,
4478
- pr as POSConvention,
4479
- gr as POSLocationButton,
4480
- xr as POSNumberButton,
4481
- ur as POSProductButton,
4482
- fr as POSProductCard,
4483
- Je as POSProductSidebarItems,
4484
- hr as POSTable,
4485
- ir as Pagination,
4486
- ne as Quantity,
4487
- ve as Radio,
4488
- lr as Select,
4489
- ye as Switch,
4490
- cr as Table,
4491
- dr as Tabs,
4492
- he as Textarea,
4493
- kr as ThemeProvider,
4494
- vr as useTheme
4495
- };
4496
- //# sourceMappingURL=siesa-ui-kit.mjs.map