siesa-ui-kit 1.0.6 → 1.0.7

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