@gspa/ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/README.md +2307 -0
  2. package/dist/applogo.png +0 -0
  3. package/dist/favicon.ico +0 -0
  4. package/dist/gspa-ui.css +1 -0
  5. package/dist/index.esm.js +19540 -0
  6. package/dist/index.js +605 -0
  7. package/dist/logo.png +0 -0
  8. package/dist/src/App.vue.d.ts +3 -0
  9. package/dist/src/App.vue.d.ts.map +1 -0
  10. package/dist/src/__tests__/Alert.spec.d.ts +2 -0
  11. package/dist/src/__tests__/Alert.spec.d.ts.map +1 -0
  12. package/dist/src/__tests__/App.spec.d.ts +2 -0
  13. package/dist/src/__tests__/App.spec.d.ts.map +1 -0
  14. package/dist/src/__tests__/Badge.spec.d.ts +2 -0
  15. package/dist/src/__tests__/Badge.spec.d.ts.map +1 -0
  16. package/dist/src/__tests__/Button.spec.d.ts +2 -0
  17. package/dist/src/__tests__/Button.spec.d.ts.map +1 -0
  18. package/dist/src/__tests__/Card.spec.d.ts +2 -0
  19. package/dist/src/__tests__/Card.spec.d.ts.map +1 -0
  20. package/dist/src/__tests__/Checkbox.spec.d.ts +2 -0
  21. package/dist/src/__tests__/Checkbox.spec.d.ts.map +1 -0
  22. package/dist/src/__tests__/Dropdown.spec.d.ts +2 -0
  23. package/dist/src/__tests__/Dropdown.spec.d.ts.map +1 -0
  24. package/dist/src/__tests__/Input.spec.d.ts +2 -0
  25. package/dist/src/__tests__/Input.spec.d.ts.map +1 -0
  26. package/dist/src/__tests__/Modal.spec.d.ts +2 -0
  27. package/dist/src/__tests__/Modal.spec.d.ts.map +1 -0
  28. package/dist/src/__tests__/Radio.spec.d.ts +2 -0
  29. package/dist/src/__tests__/Radio.spec.d.ts.map +1 -0
  30. package/dist/src/__tests__/ReusableForm.spec.d.ts +2 -0
  31. package/dist/src/__tests__/ReusableForm.spec.d.ts.map +1 -0
  32. package/dist/src/__tests__/Tabs.spec.d.ts +2 -0
  33. package/dist/src/__tests__/Tabs.spec.d.ts.map +1 -0
  34. package/dist/src/__tests__/integration/CardIntegration.spec.d.ts +2 -0
  35. package/dist/src/__tests__/integration/CardIntegration.spec.d.ts.map +1 -0
  36. package/dist/src/__tests__/integration/FormIntegration.spec.d.ts +2 -0
  37. package/dist/src/__tests__/integration/FormIntegration.spec.d.ts.map +1 -0
  38. package/dist/src/__tests__/integration/ModalIntegration.spec.d.ts +2 -0
  39. package/dist/src/__tests__/integration/ModalIntegration.spec.d.ts.map +1 -0
  40. package/dist/src/__tests__/integration/NavigationIntegration.spec.d.ts +2 -0
  41. package/dist/src/__tests__/integration/NavigationIntegration.spec.d.ts.map +1 -0
  42. package/dist/src/components/Accordion.vue.d.ts +42 -0
  43. package/dist/src/components/Accordion.vue.d.ts.map +1 -0
  44. package/dist/src/components/AccordionItem.vue.d.ts +24 -0
  45. package/dist/src/components/AccordionItem.vue.d.ts.map +1 -0
  46. package/dist/src/components/AddReminderModal.vue.d.ts +17 -0
  47. package/dist/src/components/AddReminderModal.vue.d.ts.map +1 -0
  48. package/dist/src/components/Alert.vue.d.ts +34 -0
  49. package/dist/src/components/Alert.vue.d.ts.map +1 -0
  50. package/dist/src/components/Avatar.vue.d.ts +19 -0
  51. package/dist/src/components/Avatar.vue.d.ts.map +1 -0
  52. package/dist/src/components/Badge.vue.d.ts +28 -0
  53. package/dist/src/components/Badge.vue.d.ts.map +1 -0
  54. package/dist/src/components/Breadcrumb.vue.d.ts +15 -0
  55. package/dist/src/components/Breadcrumb.vue.d.ts.map +1 -0
  56. package/dist/src/components/Button.vue.d.ts +34 -0
  57. package/dist/src/components/Button.vue.d.ts.map +1 -0
  58. package/dist/src/components/ButtonGroup.vue.d.ts +22 -0
  59. package/dist/src/components/ButtonGroup.vue.d.ts.map +1 -0
  60. package/dist/src/components/Calendar.vue.d.ts +37 -0
  61. package/dist/src/components/Calendar.vue.d.ts.map +1 -0
  62. package/dist/src/components/Card.vue.d.ts +64 -0
  63. package/dist/src/components/Card.vue.d.ts.map +1 -0
  64. package/dist/src/components/CardBody.vue.d.ts +16 -0
  65. package/dist/src/components/CardBody.vue.d.ts.map +1 -0
  66. package/dist/src/components/CardContent.vue.d.ts +10 -0
  67. package/dist/src/components/CardContent.vue.d.ts.map +1 -0
  68. package/dist/src/components/CardFooter.vue.d.ts +16 -0
  69. package/dist/src/components/CardFooter.vue.d.ts.map +1 -0
  70. package/dist/src/components/CardHeader.vue.d.ts +26 -0
  71. package/dist/src/components/CardHeader.vue.d.ts.map +1 -0
  72. package/dist/src/components/CardTitle.vue.d.ts +10 -0
  73. package/dist/src/components/CardTitle.vue.d.ts.map +1 -0
  74. package/dist/src/components/Checkbox.vue.d.ts +38 -0
  75. package/dist/src/components/Checkbox.vue.d.ts.map +1 -0
  76. package/dist/src/components/CircularProgress.vue.d.ts +29 -0
  77. package/dist/src/components/CircularProgress.vue.d.ts.map +1 -0
  78. package/dist/src/components/DataTable.vue.d.ts +149 -0
  79. package/dist/src/components/DataTable.vue.d.ts.map +1 -0
  80. package/dist/src/components/DataTableCell.vue.d.ts +30 -0
  81. package/dist/src/components/DataTableCell.vue.d.ts.map +1 -0
  82. package/dist/src/components/DataTableFilters.vue.d.ts +52 -0
  83. package/dist/src/components/DataTableFilters.vue.d.ts.map +1 -0
  84. package/dist/src/components/DataTableHeader.vue.d.ts +24 -0
  85. package/dist/src/components/DataTableHeader.vue.d.ts.map +1 -0
  86. package/dist/src/components/DataTablePagination.vue.d.ts +38 -0
  87. package/dist/src/components/DataTablePagination.vue.d.ts.map +1 -0
  88. package/dist/src/components/DataTableRow.vue.d.ts +48 -0
  89. package/dist/src/components/DataTableRow.vue.d.ts.map +1 -0
  90. package/dist/src/components/DataTableToolBar.vue.d.ts +66 -0
  91. package/dist/src/components/DataTableToolBar.vue.d.ts.map +1 -0
  92. package/dist/src/components/DatePicker.vue.d.ts +39 -0
  93. package/dist/src/components/DatePicker.vue.d.ts.map +1 -0
  94. package/dist/src/components/Divider.vue.d.ts +19 -0
  95. package/dist/src/components/Divider.vue.d.ts.map +1 -0
  96. package/dist/src/components/Dropdown.vue.d.ts +22 -0
  97. package/dist/src/components/Dropdown.vue.d.ts.map +1 -0
  98. package/dist/src/components/DropdownItem.vue.d.ts +26 -0
  99. package/dist/src/components/DropdownItem.vue.d.ts.map +1 -0
  100. package/dist/src/components/EventsCalendar.vue.d.ts +394 -0
  101. package/dist/src/components/EventsCalendar.vue.d.ts.map +1 -0
  102. package/dist/src/components/FileUpload.vue.d.ts +19 -0
  103. package/dist/src/components/FileUpload.vue.d.ts.map +1 -0
  104. package/dist/src/components/FilterDrawer.vue.d.ts +15 -0
  105. package/dist/src/components/FilterDrawer.vue.d.ts.map +1 -0
  106. package/dist/src/components/Footer.vue.d.ts +24 -0
  107. package/dist/src/components/Footer.vue.d.ts.map +1 -0
  108. package/dist/src/components/FormField.vue.d.ts +42 -0
  109. package/dist/src/components/FormField.vue.d.ts.map +1 -0
  110. package/dist/src/components/Graph.vue.d.ts +32 -0
  111. package/dist/src/components/Graph.vue.d.ts.map +1 -0
  112. package/dist/src/components/GraphFilters.vue.d.ts +30 -0
  113. package/dist/src/components/GraphFilters.vue.d.ts.map +1 -0
  114. package/dist/src/components/Header.vue.d.ts +89 -0
  115. package/dist/src/components/Header.vue.d.ts.map +1 -0
  116. package/dist/src/components/Icon.vue.d.ts +19 -0
  117. package/dist/src/components/Icon.vue.d.ts.map +1 -0
  118. package/dist/src/components/Image.vue.d.ts +23 -0
  119. package/dist/src/components/Image.vue.d.ts.map +1 -0
  120. package/dist/src/components/Input.vue.d.ts +42 -0
  121. package/dist/src/components/Input.vue.d.ts.map +1 -0
  122. package/dist/src/components/InputGroup.vue.d.ts +20 -0
  123. package/dist/src/components/InputGroup.vue.d.ts.map +1 -0
  124. package/dist/src/components/Label.vue.d.ts +24 -0
  125. package/dist/src/components/Label.vue.d.ts.map +1 -0
  126. package/dist/src/components/Link.vue.d.ts +42 -0
  127. package/dist/src/components/Link.vue.d.ts.map +1 -0
  128. package/dist/src/components/ListItem.vue.d.ts +32 -0
  129. package/dist/src/components/ListItem.vue.d.ts.map +1 -0
  130. package/dist/src/components/Loader.vue.d.ts +27 -0
  131. package/dist/src/components/Loader.vue.d.ts.map +1 -0
  132. package/dist/src/components/Logo.vue.d.ts +19 -0
  133. package/dist/src/components/Logo.vue.d.ts.map +1 -0
  134. package/dist/src/components/MenuItem.vue.d.ts +28 -0
  135. package/dist/src/components/MenuItem.vue.d.ts.map +1 -0
  136. package/dist/src/components/Modal.vue.d.ts +28 -0
  137. package/dist/src/components/Modal.vue.d.ts.map +1 -0
  138. package/dist/src/components/ModalBody.vue.d.ts +16 -0
  139. package/dist/src/components/ModalBody.vue.d.ts.map +1 -0
  140. package/dist/src/components/ModalFooter.vue.d.ts +16 -0
  141. package/dist/src/components/ModalFooter.vue.d.ts.map +1 -0
  142. package/dist/src/components/ModalHeader.vue.d.ts +18 -0
  143. package/dist/src/components/ModalHeader.vue.d.ts.map +1 -0
  144. package/dist/src/components/MultiSelect.vue.d.ts +21 -0
  145. package/dist/src/components/MultiSelect.vue.d.ts.map +1 -0
  146. package/dist/src/components/Notification.vue.d.ts +28 -0
  147. package/dist/src/components/Notification.vue.d.ts.map +1 -0
  148. package/dist/src/components/Option.vue.d.ts +22 -0
  149. package/dist/src/components/Option.vue.d.ts.map +1 -0
  150. package/dist/src/components/Progress.vue.d.ts +15 -0
  151. package/dist/src/components/Progress.vue.d.ts.map +1 -0
  152. package/dist/src/components/ProgressBar.vue.d.ts +19 -0
  153. package/dist/src/components/ProgressBar.vue.d.ts.map +1 -0
  154. package/dist/src/components/Radio.vue.d.ts +21 -0
  155. package/dist/src/components/Radio.vue.d.ts.map +1 -0
  156. package/dist/src/components/RailNav.vue.d.ts +27 -0
  157. package/dist/src/components/RailNav.vue.d.ts.map +1 -0
  158. package/dist/src/components/ReminderConfig.vue.d.ts +15 -0
  159. package/dist/src/components/ReminderConfig.vue.d.ts.map +1 -0
  160. package/dist/src/components/ReusableForm.vue.d.ts +68 -0
  161. package/dist/src/components/ReusableForm.vue.d.ts.map +1 -0
  162. package/dist/src/components/ReusableFormModal.vue.d.ts +72 -0
  163. package/dist/src/components/ReusableFormModal.vue.d.ts.map +1 -0
  164. package/dist/src/components/RightDrawer.vue.d.ts +32 -0
  165. package/dist/src/components/RightDrawer.vue.d.ts.map +1 -0
  166. package/dist/src/components/Search.vue.d.ts +42 -0
  167. package/dist/src/components/Search.vue.d.ts.map +1 -0
  168. package/dist/src/components/Select.vue.d.ts +36 -0
  169. package/dist/src/components/Select.vue.d.ts.map +1 -0
  170. package/dist/src/components/Sidebar.vue.d.ts +32 -0
  171. package/dist/src/components/Sidebar.vue.d.ts.map +1 -0
  172. package/dist/src/components/Slider.vue.d.ts +17 -0
  173. package/dist/src/components/Slider.vue.d.ts.map +1 -0
  174. package/dist/src/components/Spinner.vue.d.ts +15 -0
  175. package/dist/src/components/Spinner.vue.d.ts.map +1 -0
  176. package/dist/src/components/Stepper.vue.d.ts +10 -0
  177. package/dist/src/components/Stepper.vue.d.ts.map +1 -0
  178. package/dist/src/components/StepperItem.vue.d.ts +17 -0
  179. package/dist/src/components/StepperItem.vue.d.ts.map +1 -0
  180. package/dist/src/components/Switch.vue.d.ts +17 -0
  181. package/dist/src/components/Switch.vue.d.ts.map +1 -0
  182. package/dist/src/components/Tab.vue.d.ts +26 -0
  183. package/dist/src/components/Tab.vue.d.ts.map +1 -0
  184. package/dist/src/components/TabPanel.vue.d.ts +22 -0
  185. package/dist/src/components/TabPanel.vue.d.ts.map +1 -0
  186. package/dist/src/components/Text.vue.d.ts +26 -0
  187. package/dist/src/components/Text.vue.d.ts.map +1 -0
  188. package/dist/src/components/Textarea.vue.d.ts +38 -0
  189. package/dist/src/components/Textarea.vue.d.ts.map +1 -0
  190. package/dist/src/components/ThemeConfigurator.vue.d.ts +3 -0
  191. package/dist/src/components/ThemeConfigurator.vue.d.ts.map +1 -0
  192. package/dist/src/components/Timeline.vue.d.ts +16 -0
  193. package/dist/src/components/Timeline.vue.d.ts.map +1 -0
  194. package/dist/src/components/TimelineItem.vue.d.ts +26 -0
  195. package/dist/src/components/TimelineItem.vue.d.ts.map +1 -0
  196. package/dist/src/components/Toast.vue.d.ts +19 -0
  197. package/dist/src/components/Toast.vue.d.ts.map +1 -0
  198. package/dist/src/components/Tooltip.vue.d.ts +22 -0
  199. package/dist/src/components/Tooltip.vue.d.ts.map +1 -0
  200. package/dist/src/components/Typography.vue.d.ts +52 -0
  201. package/dist/src/components/Typography.vue.d.ts.map +1 -0
  202. package/dist/src/components/charts/BarChart.vue.d.ts +47 -0
  203. package/dist/src/components/charts/BarChart.vue.d.ts.map +1 -0
  204. package/dist/src/components/charts/LineChart.vue.d.ts +71 -0
  205. package/dist/src/components/charts/LineChart.vue.d.ts.map +1 -0
  206. package/dist/src/components/charts/PieChart.vue.d.ts +53 -0
  207. package/dist/src/components/charts/PieChart.vue.d.ts.map +1 -0
  208. package/dist/src/components/charts/StackedBarChart.vue.d.ts +49 -0
  209. package/dist/src/components/charts/StackedBarChart.vue.d.ts.map +1 -0
  210. package/dist/src/components/widgets/DashboardWidget.vue.d.ts +54 -0
  211. package/dist/src/components/widgets/DashboardWidget.vue.d.ts.map +1 -0
  212. package/dist/src/directives/tooltip.d.ts +6 -0
  213. package/dist/src/directives/tooltip.d.ts.map +1 -0
  214. package/dist/src/helpers/calendarHelper.d.ts +107 -0
  215. package/dist/src/helpers/calendarHelper.d.ts.map +1 -0
  216. package/dist/src/index.d.ts +103 -0
  217. package/dist/src/index.d.ts.map +1 -0
  218. package/dist/src/layouts/AuthLayout.vue.d.ts +38 -0
  219. package/dist/src/layouts/AuthLayout.vue.d.ts.map +1 -0
  220. package/dist/src/layouts/DashboardLayout.vue.d.ts +17 -0
  221. package/dist/src/layouts/DashboardLayout.vue.d.ts.map +1 -0
  222. package/dist/src/layouts/DefaultLayout.vue.d.ts +30 -0
  223. package/dist/src/layouts/DefaultLayout.vue.d.ts.map +1 -0
  224. package/dist/src/layouts/ErrorLayout.vue.d.ts +218 -0
  225. package/dist/src/layouts/ErrorLayout.vue.d.ts.map +1 -0
  226. package/dist/src/lib/auth.d.ts +2 -0
  227. package/dist/src/lib/auth.d.ts.map +1 -0
  228. package/dist/src/lib/theme.d.ts +50 -0
  229. package/dist/src/lib/theme.d.ts.map +1 -0
  230. package/dist/src/lib/toast.d.ts +16 -0
  231. package/dist/src/lib/toast.d.ts.map +1 -0
  232. package/dist/src/main.d.ts +2 -0
  233. package/dist/src/main.d.ts.map +1 -0
  234. package/dist/src/router/AuthRoutes.d.ts +43 -0
  235. package/dist/src/router/AuthRoutes.d.ts.map +1 -0
  236. package/dist/src/router/DashboardRoutes.d.ts +15 -0
  237. package/dist/src/router/DashboardRoutes.d.ts.map +1 -0
  238. package/dist/src/router/index.d.ts +3 -0
  239. package/dist/src/router/index.d.ts.map +1 -0
  240. package/dist/src/stores/counter.d.ts +14 -0
  241. package/dist/src/stores/counter.d.ts.map +1 -0
  242. package/dist/src/utils/cn.d.ts +7 -0
  243. package/dist/src/utils/cn.d.ts.map +1 -0
  244. package/dist/src/views/AnalyticsPage.vue.d.ts +191 -0
  245. package/dist/src/views/AnalyticsPage.vue.d.ts.map +1 -0
  246. package/dist/src/views/DashboardPage.vue.d.ts +3 -0
  247. package/dist/src/views/DashboardPage.vue.d.ts.map +1 -0
  248. package/dist/src/views/DataTableTest.vue.d.ts +9 -0
  249. package/dist/src/views/DataTableTest.vue.d.ts.map +1 -0
  250. package/dist/src/views/WidgetsTest.vue.d.ts +3 -0
  251. package/dist/src/views/WidgetsTest.vue.d.ts.map +1 -0
  252. package/dist/src/views/authentication/ForgotPasswordPage.vue.d.ts +3 -0
  253. package/dist/src/views/authentication/ForgotPasswordPage.vue.d.ts.map +1 -0
  254. package/dist/src/views/authentication/LoginPage.vue.d.ts +3 -0
  255. package/dist/src/views/authentication/LoginPage.vue.d.ts.map +1 -0
  256. package/dist/src/views/docs/DocsLayout.vue.d.ts +3 -0
  257. package/dist/src/views/docs/DocsLayout.vue.d.ts.map +1 -0
  258. package/dist/src/views/docs/DocsSidebar.vue.d.ts +3 -0
  259. package/dist/src/views/docs/DocsSidebar.vue.d.ts.map +1 -0
  260. package/dist/src/views/docs/componentDocs.d.ts +36 -0
  261. package/dist/src/views/docs/componentDocs.d.ts.map +1 -0
  262. package/dist/src/views/docs/components/ComponentPreviewCard.vue.d.ts +17 -0
  263. package/dist/src/views/docs/components/ComponentPreviewCard.vue.d.ts.map +1 -0
  264. package/dist/src/views/docs/pages/ComponentDetailPage.vue.d.ts +3 -0
  265. package/dist/src/views/docs/pages/ComponentDetailPage.vue.d.ts.map +1 -0
  266. package/dist/src/views/docs/pages/ComponentsPage.vue.d.ts +3 -0
  267. package/dist/src/views/docs/pages/ComponentsPage.vue.d.ts.map +1 -0
  268. package/dist/src/views/docs/pages/FullGalleryPage.vue.d.ts +3 -0
  269. package/dist/src/views/docs/pages/FullGalleryPage.vue.d.ts.map +1 -0
  270. package/dist/src/views/docs/pages/GettingStartedPage.vue.d.ts +3 -0
  271. package/dist/src/views/docs/pages/GettingStartedPage.vue.d.ts.map +1 -0
  272. package/dist/src/views/docs/pages/InstallationPage.vue.d.ts +3 -0
  273. package/dist/src/views/docs/pages/InstallationPage.vue.d.ts.map +1 -0
  274. package/dist/src/views/docs/pages/SupportPage.vue.d.ts +3 -0
  275. package/dist/src/views/docs/pages/SupportPage.vue.d.ts.map +1 -0
  276. package/dist/src/views/docs/pages/ThemingPage.vue.d.ts +3 -0
  277. package/dist/src/views/docs/pages/ThemingPage.vue.d.ts.map +1 -0
  278. package/dist/src/views/templates/DashboardAnalytics.vue.d.ts +3 -0
  279. package/dist/src/views/templates/DashboardAnalytics.vue.d.ts.map +1 -0
  280. package/dist/src/views/templates/DashboardOverview.vue.d.ts +3 -0
  281. package/dist/src/views/templates/DashboardOverview.vue.d.ts.map +1 -0
  282. package/dist/src/views/templates/DashboardShell.vue.d.ts +30 -0
  283. package/dist/src/views/templates/DashboardShell.vue.d.ts.map +1 -0
  284. package/dist/src/views/templates/DashboardUsers.vue.d.ts +3 -0
  285. package/dist/src/views/templates/DashboardUsers.vue.d.ts.map +1 -0
  286. package/dist/stlbacklogo.jpeg +0 -0
  287. package/dist/stlbacklogo.png +0 -0
  288. package/dist/tsconfig.tsbuildinfo +1 -0
  289. package/package.json +101 -0
package/dist/index.js ADDED
@@ -0,0 +1,605 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),q=require("class-variance-authority"),ol=require("clsx");function A(...t){return ol.clsx(t)}/*!
2
+ * Font Awesome Free 7.0.1 by @fontawesome - https://fontawesome.com
3
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
+ * Copyright 2025 Fonticons, Inc.
5
+ */function ra(t,n){(n==null||n>t.length)&&(n=t.length);for(var a=0,o=Array(n);a<n;a++)o[a]=t[a];return o}function rl(t){if(Array.isArray(t))return t}function ll(t){if(Array.isArray(t))return ra(t)}function sl(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function il(t,n){for(var a=0;a<n.length;a++){var o=n[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,Qn(o.key),o)}}function cl(t,n,a){return n&&il(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function $t(t,n){var a=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!a){if(Array.isArray(t)||(a=Ba(t))||n){a&&(t=a);var o=0,r=function(){};return{s:r,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(i){throw i},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
6
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var l,s=!0,c=!1;return{s:function(){a=a.call(t)},n:function(){var i=a.next();return s=i.done,i},e:function(i){c=!0,l=i},f:function(){try{s||a.return==null||a.return()}finally{if(c)throw l}}}}function ue(t,n,a){return(n=Qn(n))in t?Object.defineProperty(t,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[n]=a,t}function ul(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function dl(t,n){var a=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(a!=null){var o,r,l,s,c=[],i=!0,u=!1;try{if(l=(a=a.call(t)).next,n===0){if(Object(a)!==a)return;i=!1}else for(;!(i=(o=l.call(a)).done)&&(c.push(o.value),c.length!==n);i=!0);}catch(f){u=!0,r=f}finally{try{if(!i&&a.return!=null&&(s=a.return(),Object(s)!==s))return}finally{if(u)throw r}}return c}}function ml(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
7
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fl(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
8
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function un(t,n){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),a.push.apply(a,o)}return a}function X(t){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?un(Object(a),!0).forEach(function(o){ue(t,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):un(Object(a)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(a,o))})}return t}function jt(t,n){return rl(t)||dl(t,n)||Ba(t,n)||ml()}function Se(t){return ll(t)||ul(t)||Ba(t)||fl()}function pl(t,n){if(typeof t!="object"||!t)return t;var a=t[Symbol.toPrimitive];if(a!==void 0){var o=a.call(t,n);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(t)}function Qn(t){var n=pl(t,"string");return typeof n=="symbol"?n:n+""}function At(t){"@babel/helpers - typeof";return At=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},At(t)}function Ba(t,n){if(t){if(typeof t=="string")return ra(t,n);var a={}.toString.call(t).slice(8,-1);return a==="Object"&&t.constructor&&(a=t.constructor.name),a==="Map"||a==="Set"?Array.from(t):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?ra(t,n):void 0}}var dn=function(){},Va={},Zn={},eo=null,to={mark:dn,measure:dn};try{typeof window<"u"&&(Va=window),typeof document<"u"&&(Zn=document),typeof MutationObserver<"u"&&(eo=MutationObserver),typeof performance<"u"&&(to=performance)}catch{}var gl=Va.navigator||{},mn=gl.userAgent,fn=mn===void 0?"":mn,Oe=Va,fe=Zn,pn=eo,Vt=to;Oe.document;var Me=!!fe.documentElement&&!!fe.head&&typeof fe.addEventListener=="function"&&typeof fe.createElement=="function",ao=~fn.indexOf("MSIE")||~fn.indexOf("Trident/"),Jt,vl=/fa(k|kd|s|r|l|t|d|dr|dl|dt|b|slr|slpr|wsb|tl|ns|nds|es|jr|jfr|jdr|cr|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,hl=/Font ?Awesome ?([567 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit|Notdog Duo|Notdog|Chisel|Etch|Thumbprint|Jelly Fill|Jelly Duo|Jelly|Slab Press|Slab|Whiteboard)?.*/i,no={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"},slab:{"fa-regular":"regular",faslr:"regular"},"slab-press":{"fa-regular":"regular",faslpr:"regular"},thumbprint:{"fa-light":"light",fatl:"light"},whiteboard:{"fa-semibold":"semibold",fawsb:"semibold"},notdog:{"fa-solid":"solid",fans:"solid"},"notdog-duo":{"fa-solid":"solid",fands:"solid"},etch:{"fa-solid":"solid",faes:"solid"},jelly:{"fa-regular":"regular",fajr:"regular"},"jelly-fill":{"fa-regular":"regular",fajfr:"regular"},"jelly-duo":{"fa-regular":"regular",fajdr:"regular"},chisel:{"fa-regular":"regular",facr:"regular"}},yl={GROUP:"duotone-group",PRIMARY:"primary",SECONDARY:"secondary"},oo=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone","fa-thumbprint","fa-whiteboard","fa-notdog","fa-notdog-duo","fa-chisel","fa-etch","fa-jelly","fa-jelly-fill","fa-jelly-duo","fa-slab","fa-slab-press"],xe="classic",bt="duotone",ro="sharp",lo="sharp-duotone",so="chisel",io="etch",co="jelly",uo="jelly-duo",mo="jelly-fill",fo="notdog",po="notdog-duo",go="slab",vo="slab-press",ho="thumbprint",yo="whiteboard",bl="Classic",xl="Duotone",kl="Sharp",wl="Sharp Duotone",Cl="Chisel",Bl="Etch",Vl="Jelly",El="Jelly Duo",Sl="Jelly Fill",Nl="Notdog",$l="Notdog Duo",Dl="Slab",zl="Slab Press",Tl="Thumbprint",Al="Whiteboard",bo=[xe,bt,ro,lo,so,io,co,uo,mo,fo,po,go,vo,ho,yo];Jt={},ue(ue(ue(ue(ue(ue(ue(ue(ue(ue(Jt,xe,bl),bt,xl),ro,kl),lo,wl),so,Cl),io,Bl),co,Vl),uo,El),mo,Sl),fo,Nl),ue(ue(ue(ue(ue(Jt,po,$l),go,Dl),vo,zl),ho,Tl),yo,Al);var Fl={classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},duotone:{900:"fad",400:"fadr",300:"fadl",100:"fadt"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds",400:"fasdr",300:"fasdl",100:"fasdt"},slab:{400:"faslr"},"slab-press":{400:"faslpr"},whiteboard:{600:"fawsb"},thumbprint:{300:"fatl"},notdog:{900:"fans"},"notdog-duo":{900:"fands"},etch:{900:"faes"},chisel:{400:"facr"},jelly:{400:"fajr"},"jelly-fill":{400:"fajfr"},"jelly-duo":{400:"fajdr"}},Ll={"Font Awesome 7 Free":{900:"fas",400:"far"},"Font Awesome 7 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 7 Brands":{400:"fab",normal:"fab"},"Font Awesome 7 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 7 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 7 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"},"Font Awesome 7 Jelly":{400:"fajr",normal:"fajr"},"Font Awesome 7 Jelly Fill":{400:"fajfr",normal:"fajfr"},"Font Awesome 7 Jelly Duo":{400:"fajdr",normal:"fajdr"},"Font Awesome 7 Slab":{400:"faslr",normal:"faslr"},"Font Awesome 7 Slab Press":{400:"faslpr",normal:"faslpr"},"Font Awesome 7 Thumbprint":{300:"fatl",normal:"fatl"},"Font Awesome 7 Notdog":{900:"fans",normal:"fans"},"Font Awesome 7 Notdog Duo":{900:"fands",normal:"fands"},"Font Awesome 7 Etch":{900:"faes",normal:"faes"},"Font Awesome 7 Chisel":{400:"facr",normal:"facr"},"Font Awesome 7 Whiteboard":{600:"fawsb",normal:"fawsb"}},Ml=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["chisel",{defaultShortPrefixId:"facr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["etch",{defaultShortPrefixId:"faes",defaultStyleId:"solid",styleIds:["solid"],futureStyleIds:[],defaultFontWeight:900}],["jelly",{defaultShortPrefixId:"fajr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["jelly-duo",{defaultShortPrefixId:"fajdr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["jelly-fill",{defaultShortPrefixId:"fajfr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["notdog",{defaultShortPrefixId:"fans",defaultStyleId:"solid",styleIds:["solid"],futureStyleIds:[],defaultFontWeight:900}],["notdog-duo",{defaultShortPrefixId:"fands",defaultStyleId:"solid",styleIds:["solid"],futureStyleIds:[],defaultFontWeight:900}],["slab",{defaultShortPrefixId:"faslr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["slab-press",{defaultShortPrefixId:"faslpr",defaultStyleId:"regular",styleIds:["regular"],futureStyleIds:[],defaultFontWeight:400}],["thumbprint",{defaultShortPrefixId:"fatl",defaultStyleId:"light",styleIds:["light"],futureStyleIds:[],defaultFontWeight:300}],["whiteboard",{defaultShortPrefixId:"fawsb",defaultStyleId:"semibold",styleIds:["semibold"],futureStyleIds:[],defaultFontWeight:600}]]),Il={chisel:{regular:"facr"},classic:{brands:"fab",light:"fal",regular:"far",solid:"fas",thin:"fat"},duotone:{light:"fadl",regular:"fadr",solid:"fad",thin:"fadt"},etch:{solid:"faes"},jelly:{regular:"fajr"},"jelly-duo":{regular:"fajdr"},"jelly-fill":{regular:"fajfr"},notdog:{solid:"fans"},"notdog-duo":{solid:"fands"},sharp:{light:"fasl",regular:"fasr",solid:"fass",thin:"fast"},"sharp-duotone":{light:"fasdl",regular:"fasdr",solid:"fasds",thin:"fasdt"},slab:{regular:"faslr"},"slab-press":{regular:"faslpr"},thumbprint:{light:"fatl"},whiteboard:{semibold:"fawsb"}},xo=["fak","fa-kit","fakd","fa-kit-duotone"],gn={kit:{fak:"kit","fa-kit":"kit"},"kit-duotone":{fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"}},_l=["kit"],Pl="kit",Ol="kit-duotone",jl="Kit",Rl="Kit Duotone";ue(ue({},Pl,jl),Ol,Rl);var Hl={kit:{"fa-kit":"fak"}},Ul={"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}},Wl={kit:{fak:"fa-kit"}},vn={kit:{kit:"fak"},"kit-duotone":{"kit-duotone":"fakd"}},Qt,Et={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},Yl=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone","fa-thumbprint","fa-whiteboard","fa-notdog","fa-notdog-duo","fa-chisel","fa-etch","fa-jelly","fa-jelly-fill","fa-jelly-duo","fa-slab","fa-slab-press"],ql="classic",Gl="duotone",Kl="sharp",Xl="sharp-duotone",Jl="chisel",Ql="etch",Zl="jelly",es="jelly-duo",ts="jelly-fill",as="notdog",ns="notdog-duo",os="slab",rs="slab-press",ls="thumbprint",ss="whiteboard",is="Classic",cs="Duotone",us="Sharp",ds="Sharp Duotone",ms="Chisel",fs="Etch",ps="Jelly",gs="Jelly Duo",vs="Jelly Fill",hs="Notdog",ys="Notdog Duo",bs="Slab",xs="Slab Press",ks="Thumbprint",ws="Whiteboard";Qt={},ue(ue(ue(ue(ue(ue(ue(ue(ue(ue(Qt,ql,is),Gl,cs),Kl,us),Xl,ds),Jl,ms),Ql,fs),Zl,ps),es,gs),ts,vs),as,hs),ue(ue(ue(ue(ue(Qt,ns,ys),os,bs),rs,xs),ls,ks),ss,ws);var Cs="kit",Bs="kit-duotone",Vs="Kit",Es="Kit Duotone";ue(ue({},Cs,Vs),Bs,Es);var Ss={classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},duotone:{"fa-regular":"fadr","fa-light":"fadl","fa-thin":"fadt"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds","fa-regular":"fasdr","fa-light":"fasdl","fa-thin":"fasdt"},slab:{"fa-regular":"faslr"},"slab-press":{"fa-regular":"faslpr"},whiteboard:{"fa-semibold":"fawsb"},thumbprint:{"fa-light":"fatl"},notdog:{"fa-solid":"fans"},"notdog-duo":{"fa-solid":"fands"},etch:{"fa-solid":"faes"},jelly:{"fa-regular":"fajr"},"jelly-fill":{"fa-regular":"fajfr"},"jelly-duo":{"fa-regular":"fajdr"},chisel:{"fa-regular":"facr"}},Ns={classic:["fas","far","fal","fat","fad"],duotone:["fadr","fadl","fadt"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds","fasdr","fasdl","fasdt"],slab:["faslr"],"slab-press":["faslpr"],whiteboard:["fawsb"],thumbprint:["fatl"],notdog:["fans"],"notdog-duo":["fands"],etch:["faes"],jelly:["fajr"],"jelly-fill":["fajfr"],"jelly-duo":["fajdr"],chisel:["facr"]},la={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"},slab:{faslr:"fa-regular"},"slab-press":{faslpr:"fa-regular"},whiteboard:{fawsb:"fa-semibold"},thumbprint:{fatl:"fa-light"},notdog:{fans:"fa-solid"},"notdog-duo":{fands:"fa-solid"},etch:{faes:"fa-solid"},jelly:{fajr:"fa-regular"},"jelly-fill":{fajfr:"fa-regular"},"jelly-duo":{fajdr:"fa-regular"},chisel:{facr:"fa-regular"}},$s=["fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands","fa-semibold"],ko=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt","faslr","faslpr","fawsb","fatl","fans","fands","faes","fajr","fajfr","fajdr","facr"].concat(Yl,$s),Ds=["solid","regular","light","thin","duotone","brands","semibold"],wo=[1,2,3,4,5,6,7,8,9,10],zs=wo.concat([11,12,13,14,15,16,17,18,19,20]),Ts=["aw","fw","pull-left","pull-right"],As=[].concat(Se(Object.keys(Ns)),Ds,Ts,["2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","inverse","layers","layers-bottom-left","layers-bottom-right","layers-counter","layers-text","layers-top-left","layers-top-right","li","pull-end","pull-start","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul","width-auto","width-fixed",Et.GROUP,Et.SWAP_OPACITY,Et.PRIMARY,Et.SECONDARY]).concat(wo.map(function(t){return"".concat(t,"x")})).concat(zs.map(function(t){return"w-".concat(t)})),Fs={"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}},Ae="___FONT_AWESOME___",sa=16,Co="fa",Bo="svg-inline--fa",qe="data-fa-i2svg",ia="data-fa-pseudo-element",Ls="data-fa-pseudo-element-pending",Ea="data-prefix",Sa="data-icon",hn="fontawesome-i2svg",Ms="async",Is=["HTML","HEAD","STYLE","SCRIPT"],Vo=["::before","::after",":before",":after"],Eo=(function(){try{return process.env.NODE_ENV==="production"}catch{return!1}})();function xt(t){return new Proxy(t,{get:function(a,o){return o in a?a[o]:a[xe]}})}var So=X({},no);So[xe]=X(X(X(X({},{"fa-duotone":"duotone"}),no[xe]),gn.kit),gn["kit-duotone"]);var _s=xt(So),ca=X({},Il);ca[xe]=X(X(X(X({},{duotone:"fad"}),ca[xe]),vn.kit),vn["kit-duotone"]);var yn=xt(ca),ua=X({},la);ua[xe]=X(X({},ua[xe]),Wl.kit);var Na=xt(ua),da=X({},Ss);da[xe]=X(X({},da[xe]),Hl.kit);xt(da);var Ps=vl,No="fa-layers-text",Os=hl,js=X({},Fl);xt(js);var Rs=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],Zt=yl,Hs=[].concat(Se(_l),Se(As)),mt=Oe.FontAwesomeConfig||{};function Us(t){var n=fe.querySelector("script["+t+"]");if(n)return n.getAttribute(t)}function Ws(t){return t===""?!0:t==="false"?!1:t==="true"?!0:t}if(fe&&typeof fe.querySelector=="function"){var Ys=[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-search-pseudo-elements","searchPseudoElements"],["data-search-pseudo-elements-warnings","searchPseudoElementsWarnings"],["data-search-pseudo-elements-full-scan","searchPseudoElementsFullScan"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]];Ys.forEach(function(t){var n=jt(t,2),a=n[0],o=n[1],r=Ws(Us(a));r!=null&&(mt[o]=r)})}var $o={styleDefault:"solid",familyDefault:xe,cssPrefix:Co,replacementClass:Bo,autoReplaceSvg:!0,autoAddCss:!0,searchPseudoElements:!1,searchPseudoElementsWarnings:!0,searchPseudoElementsFullScan:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};mt.familyPrefix&&(mt.cssPrefix=mt.familyPrefix);var rt=X(X({},$o),mt);rt.autoReplaceSvg||(rt.observeMutations=!1);var re={};Object.keys($o).forEach(function(t){Object.defineProperty(re,t,{enumerable:!0,set:function(a){rt[t]=a,ft.forEach(function(o){return o(re)})},get:function(){return rt[t]}})});Object.defineProperty(re,"familyPrefix",{enumerable:!0,set:function(n){rt.cssPrefix=n,ft.forEach(function(a){return a(re)})},get:function(){return rt.cssPrefix}});Oe.FontAwesomeConfig=re;var ft=[];function qs(t){return ft.push(t),function(){ft.splice(ft.indexOf(t),1)}}var Ze=sa,$e={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function Gs(t){if(!(!t||!Me)){var n=fe.createElement("style");n.setAttribute("type","text/css"),n.innerHTML=t;for(var a=fe.head.childNodes,o=null,r=a.length-1;r>-1;r--){var l=a[r],s=(l.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(s)>-1&&(o=l)}return fe.head.insertBefore(n,o),t}}var Ks="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function bn(){for(var t=12,n="";t-- >0;)n+=Ks[Math.random()*62|0];return n}function lt(t){for(var n=[],a=(t||[]).length>>>0;a--;)n[a]=t[a];return n}function $a(t){return t.classList?lt(t.classList):(t.getAttribute("class")||"").split(" ").filter(function(n){return n})}function Do(t){return"".concat(t).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Xs(t){return Object.keys(t||{}).reduce(function(n,a){return n+"".concat(a,'="').concat(Do(t[a]),'" ')},"").trim()}function Rt(t){return Object.keys(t||{}).reduce(function(n,a){return n+"".concat(a,": ").concat(t[a].trim(),";")},"")}function Da(t){return t.size!==$e.size||t.x!==$e.x||t.y!==$e.y||t.rotate!==$e.rotate||t.flipX||t.flipY}function Js(t){var n=t.transform,a=t.containerWidth,o=t.iconWidth,r={transform:"translate(".concat(a/2," 256)")},l="translate(".concat(n.x*32,", ").concat(n.y*32,") "),s="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") "),c="rotate(".concat(n.rotate," 0 0)"),i={transform:"".concat(l," ").concat(s," ").concat(c)},u={transform:"translate(".concat(o/2*-1," -256)")};return{outer:r,inner:i,path:u}}function Qs(t){var n=t.transform,a=t.width,o=a===void 0?sa:a,r=t.height,l=r===void 0?sa:r,s="";return ao?s+="translate(".concat(n.x/Ze-o/2,"em, ").concat(n.y/Ze-l/2,"em) "):s+="translate(calc(-50% + ".concat(n.x/Ze,"em), calc(-50% + ").concat(n.y/Ze,"em)) "),s+="scale(".concat(n.size/Ze*(n.flipX?-1:1),", ").concat(n.size/Ze*(n.flipY?-1:1),") "),s+="rotate(".concat(n.rotate,"deg) "),s}var Zs=`:root, :host {
9
+ --fa-font-solid: normal 900 1em/1 "Font Awesome 7 Free";
10
+ --fa-font-regular: normal 400 1em/1 "Font Awesome 7 Free";
11
+ --fa-font-light: normal 300 1em/1 "Font Awesome 7 Pro";
12
+ --fa-font-thin: normal 100 1em/1 "Font Awesome 7 Pro";
13
+ --fa-font-duotone: normal 900 1em/1 "Font Awesome 7 Duotone";
14
+ --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 7 Duotone";
15
+ --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 7 Duotone";
16
+ --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 7 Duotone";
17
+ --fa-font-brands: normal 400 1em/1 "Font Awesome 7 Brands";
18
+ --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 7 Sharp";
19
+ --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 7 Sharp";
20
+ --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 7 Sharp";
21
+ --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 7 Sharp";
22
+ --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 7 Sharp Duotone";
23
+ --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 7 Sharp Duotone";
24
+ --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 7 Sharp Duotone";
25
+ --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 7 Sharp Duotone";
26
+ --fa-font-slab-regular: normal 400 1em/1 "Font Awesome 7 Slab";
27
+ --fa-font-slab-press-regular: normal 400 1em/1 "Font Awesome 7 Slab Press";
28
+ --fa-font-whiteboard-semibold: normal 600 1em/1 "Font Awesome 7 Whiteboard";
29
+ --fa-font-thumbprint-light: normal 300 1em/1 "Font Awesome 7 Thumbprint";
30
+ --fa-font-notdog-solid: normal 900 1em/1 "Font Awesome 7 Notdog";
31
+ --fa-font-notdog-duo-solid: normal 900 1em/1 "Font Awesome 7 Notdog Duo";
32
+ --fa-font-etch-solid: normal 900 1em/1 "Font Awesome 7 Etch";
33
+ --fa-font-jelly-regular: normal 400 1em/1 "Font Awesome 7 Jelly";
34
+ --fa-font-jelly-fill-regular: normal 400 1em/1 "Font Awesome 7 Jelly Fill";
35
+ --fa-font-jelly-duo-regular: normal 400 1em/1 "Font Awesome 7 Jelly Duo";
36
+ --fa-font-chisel-regular: normal 400 1em/1 "Font Awesome 7 Chisel";
37
+ }
38
+
39
+ .svg-inline--fa {
40
+ box-sizing: content-box;
41
+ display: var(--fa-display, inline-block);
42
+ height: 1em;
43
+ overflow: visible;
44
+ vertical-align: -0.125em;
45
+ width: var(--fa-width, 1.25em);
46
+ }
47
+ .svg-inline--fa.fa-2xs {
48
+ vertical-align: 0.1em;
49
+ }
50
+ .svg-inline--fa.fa-xs {
51
+ vertical-align: 0em;
52
+ }
53
+ .svg-inline--fa.fa-sm {
54
+ vertical-align: -0.0714285714em;
55
+ }
56
+ .svg-inline--fa.fa-lg {
57
+ vertical-align: -0.2em;
58
+ }
59
+ .svg-inline--fa.fa-xl {
60
+ vertical-align: -0.25em;
61
+ }
62
+ .svg-inline--fa.fa-2xl {
63
+ vertical-align: -0.3125em;
64
+ }
65
+ .svg-inline--fa.fa-pull-left,
66
+ .svg-inline--fa .fa-pull-start {
67
+ float: inline-start;
68
+ margin-inline-end: var(--fa-pull-margin, 0.3em);
69
+ }
70
+ .svg-inline--fa.fa-pull-right,
71
+ .svg-inline--fa .fa-pull-end {
72
+ float: inline-end;
73
+ margin-inline-start: var(--fa-pull-margin, 0.3em);
74
+ }
75
+ .svg-inline--fa.fa-li {
76
+ width: var(--fa-li-width, 2em);
77
+ inset-inline-start: calc(-1 * var(--fa-li-width, 2em));
78
+ inset-block-start: 0.25em; /* syncing vertical alignment with Web Font rendering */
79
+ }
80
+
81
+ .fa-layers-counter, .fa-layers-text {
82
+ display: inline-block;
83
+ position: absolute;
84
+ text-align: center;
85
+ }
86
+
87
+ .fa-layers {
88
+ display: inline-block;
89
+ height: 1em;
90
+ position: relative;
91
+ text-align: center;
92
+ vertical-align: -0.125em;
93
+ width: var(--fa-width, 1.25em);
94
+ }
95
+ .fa-layers .svg-inline--fa {
96
+ inset: 0;
97
+ margin: auto;
98
+ position: absolute;
99
+ transform-origin: center center;
100
+ }
101
+
102
+ .fa-layers-text {
103
+ left: 50%;
104
+ top: 50%;
105
+ transform: translate(-50%, -50%);
106
+ transform-origin: center center;
107
+ }
108
+
109
+ .fa-layers-counter {
110
+ background-color: var(--fa-counter-background-color, #ff253a);
111
+ border-radius: var(--fa-counter-border-radius, 1em);
112
+ box-sizing: border-box;
113
+ color: var(--fa-inverse, #fff);
114
+ line-height: var(--fa-counter-line-height, 1);
115
+ max-width: var(--fa-counter-max-width, 5em);
116
+ min-width: var(--fa-counter-min-width, 1.5em);
117
+ overflow: hidden;
118
+ padding: var(--fa-counter-padding, 0.25em 0.5em);
119
+ right: var(--fa-right, 0);
120
+ text-overflow: ellipsis;
121
+ top: var(--fa-top, 0);
122
+ transform: scale(var(--fa-counter-scale, 0.25));
123
+ transform-origin: top right;
124
+ }
125
+
126
+ .fa-layers-bottom-right {
127
+ bottom: var(--fa-bottom, 0);
128
+ right: var(--fa-right, 0);
129
+ top: auto;
130
+ transform: scale(var(--fa-layers-scale, 0.25));
131
+ transform-origin: bottom right;
132
+ }
133
+
134
+ .fa-layers-bottom-left {
135
+ bottom: var(--fa-bottom, 0);
136
+ left: var(--fa-left, 0);
137
+ right: auto;
138
+ top: auto;
139
+ transform: scale(var(--fa-layers-scale, 0.25));
140
+ transform-origin: bottom left;
141
+ }
142
+
143
+ .fa-layers-top-right {
144
+ top: var(--fa-top, 0);
145
+ right: var(--fa-right, 0);
146
+ transform: scale(var(--fa-layers-scale, 0.25));
147
+ transform-origin: top right;
148
+ }
149
+
150
+ .fa-layers-top-left {
151
+ left: var(--fa-left, 0);
152
+ right: auto;
153
+ top: var(--fa-top, 0);
154
+ transform: scale(var(--fa-layers-scale, 0.25));
155
+ transform-origin: top left;
156
+ }
157
+
158
+ .fa-1x {
159
+ font-size: 1em;
160
+ }
161
+
162
+ .fa-2x {
163
+ font-size: 2em;
164
+ }
165
+
166
+ .fa-3x {
167
+ font-size: 3em;
168
+ }
169
+
170
+ .fa-4x {
171
+ font-size: 4em;
172
+ }
173
+
174
+ .fa-5x {
175
+ font-size: 5em;
176
+ }
177
+
178
+ .fa-6x {
179
+ font-size: 6em;
180
+ }
181
+
182
+ .fa-7x {
183
+ font-size: 7em;
184
+ }
185
+
186
+ .fa-8x {
187
+ font-size: 8em;
188
+ }
189
+
190
+ .fa-9x {
191
+ font-size: 9em;
192
+ }
193
+
194
+ .fa-10x {
195
+ font-size: 10em;
196
+ }
197
+
198
+ .fa-2xs {
199
+ font-size: calc(10 / 16 * 1em); /* converts a 10px size into an em-based value that's relative to the scale's 16px base */
200
+ line-height: calc(1 / 10 * 1em); /* sets the line-height of the icon back to that of it's parent */
201
+ vertical-align: calc((6 / 10 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
202
+ }
203
+
204
+ .fa-xs {
205
+ font-size: calc(12 / 16 * 1em); /* converts a 12px size into an em-based value that's relative to the scale's 16px base */
206
+ line-height: calc(1 / 12 * 1em); /* sets the line-height of the icon back to that of it's parent */
207
+ vertical-align: calc((6 / 12 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
208
+ }
209
+
210
+ .fa-sm {
211
+ font-size: calc(14 / 16 * 1em); /* converts a 14px size into an em-based value that's relative to the scale's 16px base */
212
+ line-height: calc(1 / 14 * 1em); /* sets the line-height of the icon back to that of it's parent */
213
+ vertical-align: calc((6 / 14 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
214
+ }
215
+
216
+ .fa-lg {
217
+ font-size: calc(20 / 16 * 1em); /* converts a 20px size into an em-based value that's relative to the scale's 16px base */
218
+ line-height: calc(1 / 20 * 1em); /* sets the line-height of the icon back to that of it's parent */
219
+ vertical-align: calc((6 / 20 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
220
+ }
221
+
222
+ .fa-xl {
223
+ font-size: calc(24 / 16 * 1em); /* converts a 24px size into an em-based value that's relative to the scale's 16px base */
224
+ line-height: calc(1 / 24 * 1em); /* sets the line-height of the icon back to that of it's parent */
225
+ vertical-align: calc((6 / 24 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
226
+ }
227
+
228
+ .fa-2xl {
229
+ font-size: calc(32 / 16 * 1em); /* converts a 32px size into an em-based value that's relative to the scale's 16px base */
230
+ line-height: calc(1 / 32 * 1em); /* sets the line-height of the icon back to that of it's parent */
231
+ vertical-align: calc((6 / 32 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
232
+ }
233
+
234
+ .fa-width-auto {
235
+ --fa-width: auto;
236
+ }
237
+
238
+ .fa-fw,
239
+ .fa-width-fixed {
240
+ --fa-width: 1.25em;
241
+ }
242
+
243
+ .fa-ul {
244
+ list-style-type: none;
245
+ margin-inline-start: var(--fa-li-margin, 2.5em);
246
+ padding-inline-start: 0;
247
+ }
248
+ .fa-ul > li {
249
+ position: relative;
250
+ }
251
+
252
+ .fa-li {
253
+ inset-inline-start: calc(-1 * var(--fa-li-width, 2em));
254
+ position: absolute;
255
+ text-align: center;
256
+ width: var(--fa-li-width, 2em);
257
+ line-height: inherit;
258
+ }
259
+
260
+ /* Heads Up: Bordered Icons will not be supported in the future!
261
+ - This feature will be deprecated in the next major release of Font Awesome (v8)!
262
+ - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8.
263
+ */
264
+ /* Notes:
265
+ * --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size)
266
+ * --@{v.$css-prefix}-border-padding =
267
+ ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment)
268
+ ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon)
269
+ */
270
+ .fa-border {
271
+ border-color: var(--fa-border-color, #eee);
272
+ border-radius: var(--fa-border-radius, 0.1em);
273
+ border-style: var(--fa-border-style, solid);
274
+ border-width: var(--fa-border-width, 0.0625em);
275
+ box-sizing: var(--fa-border-box-sizing, content-box);
276
+ padding: var(--fa-border-padding, 0.1875em 0.25em);
277
+ }
278
+
279
+ .fa-pull-left,
280
+ .fa-pull-start {
281
+ float: inline-start;
282
+ margin-inline-end: var(--fa-pull-margin, 0.3em);
283
+ }
284
+
285
+ .fa-pull-right,
286
+ .fa-pull-end {
287
+ float: inline-end;
288
+ margin-inline-start: var(--fa-pull-margin, 0.3em);
289
+ }
290
+
291
+ .fa-beat {
292
+ animation-name: fa-beat;
293
+ animation-delay: var(--fa-animation-delay, 0s);
294
+ animation-direction: var(--fa-animation-direction, normal);
295
+ animation-duration: var(--fa-animation-duration, 1s);
296
+ animation-iteration-count: var(--fa-animation-iteration-count, infinite);
297
+ animation-timing-function: var(--fa-animation-timing, ease-in-out);
298
+ }
299
+
300
+ .fa-bounce {
301
+ animation-name: fa-bounce;
302
+ animation-delay: var(--fa-animation-delay, 0s);
303
+ animation-direction: var(--fa-animation-direction, normal);
304
+ animation-duration: var(--fa-animation-duration, 1s);
305
+ animation-iteration-count: var(--fa-animation-iteration-count, infinite);
306
+ animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
307
+ }
308
+
309
+ .fa-fade {
310
+ animation-name: fa-fade;
311
+ animation-delay: var(--fa-animation-delay, 0s);
312
+ animation-direction: var(--fa-animation-direction, normal);
313
+ animation-duration: var(--fa-animation-duration, 1s);
314
+ animation-iteration-count: var(--fa-animation-iteration-count, infinite);
315
+ animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
316
+ }
317
+
318
+ .fa-beat-fade {
319
+ animation-name: fa-beat-fade;
320
+ animation-delay: var(--fa-animation-delay, 0s);
321
+ animation-direction: var(--fa-animation-direction, normal);
322
+ animation-duration: var(--fa-animation-duration, 1s);
323
+ animation-iteration-count: var(--fa-animation-iteration-count, infinite);
324
+ animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
325
+ }
326
+
327
+ .fa-flip {
328
+ animation-name: fa-flip;
329
+ animation-delay: var(--fa-animation-delay, 0s);
330
+ animation-direction: var(--fa-animation-direction, normal);
331
+ animation-duration: var(--fa-animation-duration, 1s);
332
+ animation-iteration-count: var(--fa-animation-iteration-count, infinite);
333
+ animation-timing-function: var(--fa-animation-timing, ease-in-out);
334
+ }
335
+
336
+ .fa-shake {
337
+ animation-name: fa-shake;
338
+ animation-delay: var(--fa-animation-delay, 0s);
339
+ animation-direction: var(--fa-animation-direction, normal);
340
+ animation-duration: var(--fa-animation-duration, 1s);
341
+ animation-iteration-count: var(--fa-animation-iteration-count, infinite);
342
+ animation-timing-function: var(--fa-animation-timing, linear);
343
+ }
344
+
345
+ .fa-spin {
346
+ animation-name: fa-spin;
347
+ animation-delay: var(--fa-animation-delay, 0s);
348
+ animation-direction: var(--fa-animation-direction, normal);
349
+ animation-duration: var(--fa-animation-duration, 2s);
350
+ animation-iteration-count: var(--fa-animation-iteration-count, infinite);
351
+ animation-timing-function: var(--fa-animation-timing, linear);
352
+ }
353
+
354
+ .fa-spin-reverse {
355
+ --fa-animation-direction: reverse;
356
+ }
357
+
358
+ .fa-pulse,
359
+ .fa-spin-pulse {
360
+ animation-name: fa-spin;
361
+ animation-direction: var(--fa-animation-direction, normal);
362
+ animation-duration: var(--fa-animation-duration, 1s);
363
+ animation-iteration-count: var(--fa-animation-iteration-count, infinite);
364
+ animation-timing-function: var(--fa-animation-timing, steps(8));
365
+ }
366
+
367
+ @media (prefers-reduced-motion: reduce) {
368
+ .fa-beat,
369
+ .fa-bounce,
370
+ .fa-fade,
371
+ .fa-beat-fade,
372
+ .fa-flip,
373
+ .fa-pulse,
374
+ .fa-shake,
375
+ .fa-spin,
376
+ .fa-spin-pulse {
377
+ animation: none !important;
378
+ transition: none !important;
379
+ }
380
+ }
381
+ @keyframes fa-beat {
382
+ 0%, 90% {
383
+ transform: scale(1);
384
+ }
385
+ 45% {
386
+ transform: scale(var(--fa-beat-scale, 1.25));
387
+ }
388
+ }
389
+ @keyframes fa-bounce {
390
+ 0% {
391
+ transform: scale(1, 1) translateY(0);
392
+ }
393
+ 10% {
394
+ transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
395
+ }
396
+ 30% {
397
+ transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
398
+ }
399
+ 50% {
400
+ transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
401
+ }
402
+ 57% {
403
+ transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
404
+ }
405
+ 64% {
406
+ transform: scale(1, 1) translateY(0);
407
+ }
408
+ 100% {
409
+ transform: scale(1, 1) translateY(0);
410
+ }
411
+ }
412
+ @keyframes fa-fade {
413
+ 50% {
414
+ opacity: var(--fa-fade-opacity, 0.4);
415
+ }
416
+ }
417
+ @keyframes fa-beat-fade {
418
+ 0%, 100% {
419
+ opacity: var(--fa-beat-fade-opacity, 0.4);
420
+ transform: scale(1);
421
+ }
422
+ 50% {
423
+ opacity: 1;
424
+ transform: scale(var(--fa-beat-fade-scale, 1.125));
425
+ }
426
+ }
427
+ @keyframes fa-flip {
428
+ 50% {
429
+ transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
430
+ }
431
+ }
432
+ @keyframes fa-shake {
433
+ 0% {
434
+ transform: rotate(-15deg);
435
+ }
436
+ 4% {
437
+ transform: rotate(15deg);
438
+ }
439
+ 8%, 24% {
440
+ transform: rotate(-18deg);
441
+ }
442
+ 12%, 28% {
443
+ transform: rotate(18deg);
444
+ }
445
+ 16% {
446
+ transform: rotate(-22deg);
447
+ }
448
+ 20% {
449
+ transform: rotate(22deg);
450
+ }
451
+ 32% {
452
+ transform: rotate(-12deg);
453
+ }
454
+ 36% {
455
+ transform: rotate(12deg);
456
+ }
457
+ 40%, 100% {
458
+ transform: rotate(0deg);
459
+ }
460
+ }
461
+ @keyframes fa-spin {
462
+ 0% {
463
+ transform: rotate(0deg);
464
+ }
465
+ 100% {
466
+ transform: rotate(360deg);
467
+ }
468
+ }
469
+ .fa-rotate-90 {
470
+ transform: rotate(90deg);
471
+ }
472
+
473
+ .fa-rotate-180 {
474
+ transform: rotate(180deg);
475
+ }
476
+
477
+ .fa-rotate-270 {
478
+ transform: rotate(270deg);
479
+ }
480
+
481
+ .fa-flip-horizontal {
482
+ transform: scale(-1, 1);
483
+ }
484
+
485
+ .fa-flip-vertical {
486
+ transform: scale(1, -1);
487
+ }
488
+
489
+ .fa-flip-both,
490
+ .fa-flip-horizontal.fa-flip-vertical {
491
+ transform: scale(-1, -1);
492
+ }
493
+
494
+ .fa-rotate-by {
495
+ transform: rotate(var(--fa-rotate-angle, 0));
496
+ }
497
+
498
+ .svg-inline--fa .fa-primary {
499
+ fill: var(--fa-primary-color, currentColor);
500
+ opacity: var(--fa-primary-opacity, 1);
501
+ }
502
+
503
+ .svg-inline--fa .fa-secondary {
504
+ fill: var(--fa-secondary-color, currentColor);
505
+ opacity: var(--fa-secondary-opacity, 0.4);
506
+ }
507
+
508
+ .svg-inline--fa.fa-swap-opacity .fa-primary {
509
+ opacity: var(--fa-secondary-opacity, 0.4);
510
+ }
511
+
512
+ .svg-inline--fa.fa-swap-opacity .fa-secondary {
513
+ opacity: var(--fa-primary-opacity, 1);
514
+ }
515
+
516
+ .svg-inline--fa mask .fa-primary,
517
+ .svg-inline--fa mask .fa-secondary {
518
+ fill: black;
519
+ }
520
+
521
+ .svg-inline--fa.fa-inverse {
522
+ fill: var(--fa-inverse, #fff);
523
+ }
524
+
525
+ .fa-stack {
526
+ display: inline-block;
527
+ height: 2em;
528
+ line-height: 2em;
529
+ position: relative;
530
+ vertical-align: middle;
531
+ width: 2.5em;
532
+ }
533
+
534
+ .fa-inverse {
535
+ color: var(--fa-inverse, #fff);
536
+ }
537
+
538
+ .svg-inline--fa.fa-stack-1x {
539
+ --fa-width: 1.25em;
540
+ height: 1em;
541
+ width: var(--fa-width);
542
+ }
543
+ .svg-inline--fa.fa-stack-2x {
544
+ --fa-width: 2.5em;
545
+ height: 2em;
546
+ width: var(--fa-width);
547
+ }
548
+
549
+ .fa-stack-1x,
550
+ .fa-stack-2x {
551
+ inset: 0;
552
+ margin: auto;
553
+ position: absolute;
554
+ z-index: var(--fa-stack-z-index, auto);
555
+ }`;function zo(){var t=Co,n=Bo,a=re.cssPrefix,o=re.replacementClass,r=Zs;if(a!==t||o!==n){var l=new RegExp("\\.".concat(t,"\\-"),"g"),s=new RegExp("\\--".concat(t,"\\-"),"g"),c=new RegExp("\\.".concat(n),"g");r=r.replace(l,".".concat(a,"-")).replace(s,"--".concat(a,"-")).replace(c,".".concat(o))}return r}var xn=!1;function ea(){re.autoAddCss&&!xn&&(Gs(zo()),xn=!0)}var ei={mixout:function(){return{dom:{css:zo,insertCss:ea}}},hooks:function(){return{beforeDOMElementCreation:function(){ea()},beforeI2svg:function(){ea()}}}},Fe=Oe||{};Fe[Ae]||(Fe[Ae]={});Fe[Ae].styles||(Fe[Ae].styles={});Fe[Ae].hooks||(Fe[Ae].hooks={});Fe[Ae].shims||(Fe[Ae].shims=[]);var Ee=Fe[Ae],To=[],Ao=function(){fe.removeEventListener("DOMContentLoaded",Ao),Ft=1,To.map(function(n){return n()})},Ft=!1;Me&&(Ft=(fe.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(fe.readyState),Ft||fe.addEventListener("DOMContentLoaded",Ao));function ti(t){Me&&(Ft?setTimeout(t,0):To.push(t))}function kt(t){var n=t.tag,a=t.attributes,o=a===void 0?{}:a,r=t.children,l=r===void 0?[]:r;return typeof t=="string"?Do(t):"<".concat(n," ").concat(Xs(o),">").concat(l.map(kt).join(""),"</").concat(n,">")}function kn(t,n,a){if(t&&t[n]&&t[n][a])return{prefix:n,iconName:a,icon:t[n][a]}}var ta=function(n,a,o,r){var l=Object.keys(n),s=l.length,c=a,i,u,f;for(o===void 0?(i=1,f=n[l[0]]):(i=0,f=o);i<s;i++)u=l[i],f=c(f,n[u],u,n);return f};function Fo(t){return Se(t).length!==1?null:t.codePointAt(0).toString(16)}function wn(t){return Object.keys(t).reduce(function(n,a){var o=t[a],r=!!o.icon;return r?n[o.iconName]=o.icon:n[a]=o,n},{})}function ma(t,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=a.skipHooks,r=o===void 0?!1:o,l=wn(n);typeof Ee.hooks.addPack=="function"&&!r?Ee.hooks.addPack(t,wn(n)):Ee.styles[t]=X(X({},Ee.styles[t]||{}),l),t==="fas"&&ma("fa",n)}var vt=Ee.styles,ai=Ee.shims,Lo=Object.keys(Na),ni=Lo.reduce(function(t,n){return t[n]=Object.keys(Na[n]),t},{}),za=null,Mo={},Io={},_o={},Po={},Oo={};function oi(t){return~Hs.indexOf(t)}function ri(t,n){var a=n.split("-"),o=a[0],r=a.slice(1).join("-");return o===t&&r!==""&&!oi(r)?r:null}var jo=function(){var n=function(l){return ta(vt,function(s,c,i){return s[i]=ta(c,l,{}),s},{})};Mo=n(function(r,l,s){if(l[3]&&(r[l[3]]=s),l[2]){var c=l[2].filter(function(i){return typeof i=="number"});c.forEach(function(i){r[i.toString(16)]=s})}return r}),Io=n(function(r,l,s){if(r[s]=s,l[2]){var c=l[2].filter(function(i){return typeof i=="string"});c.forEach(function(i){r[i]=s})}return r}),Oo=n(function(r,l,s){var c=l[2];return r[s]=s,c.forEach(function(i){r[i]=s}),r});var a="far"in vt||re.autoFetchSvg,o=ta(ai,function(r,l){var s=l[0],c=l[1],i=l[2];return c==="far"&&!a&&(c="fas"),typeof s=="string"&&(r.names[s]={prefix:c,iconName:i}),typeof s=="number"&&(r.unicodes[s.toString(16)]={prefix:c,iconName:i}),r},{names:{},unicodes:{}});_o=o.names,Po=o.unicodes,za=Ht(re.styleDefault,{family:re.familyDefault})};qs(function(t){za=Ht(t.styleDefault,{family:re.familyDefault})});jo();function Ta(t,n){return(Mo[t]||{})[n]}function li(t,n){return(Io[t]||{})[n]}function Ye(t,n){return(Oo[t]||{})[n]}function Ro(t){return _o[t]||{prefix:null,iconName:null}}function si(t){var n=Po[t],a=Ta("fas",t);return n||(a?{prefix:"fas",iconName:a}:null)||{prefix:null,iconName:null}}function je(){return za}var Ho=function(){return{prefix:null,iconName:null,rest:[]}};function ii(t){var n=xe,a=Lo.reduce(function(o,r){return o[r]="".concat(re.cssPrefix,"-").concat(r),o},{});return bo.forEach(function(o){(t.includes(a[o])||t.some(function(r){return ni[o].includes(r)}))&&(n=o)}),n}function Ht(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=n.family,o=a===void 0?xe:a,r=_s[o][t];if(o===bt&&!t)return"fad";var l=yn[o][t]||yn[o][r],s=t in Ee.styles?t:null,c=l||s||null;return c}function ci(t){var n=[],a=null;return t.forEach(function(o){var r=ri(re.cssPrefix,o);r?a=r:o&&n.push(o)}),{iconName:a,rest:n}}function Cn(t){return t.sort().filter(function(n,a,o){return o.indexOf(n)===a})}var Bn=ko.concat(xo);function Ut(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=n.skipLookups,o=a===void 0?!1:a,r=null,l=Cn(t.filter(function(b){return Bn.includes(b)})),s=Cn(t.filter(function(b){return!Bn.includes(b)})),c=l.filter(function(b){return r=b,!oo.includes(b)}),i=jt(c,1),u=i[0],f=u===void 0?null:u,d=ii(l),k=X(X({},ci(s)),{},{prefix:Ht(f,{family:d})});return X(X(X({},k),fi({values:t,family:d,styles:vt,config:re,canonical:k,givenPrefix:r})),ui(o,r,k))}function ui(t,n,a){var o=a.prefix,r=a.iconName;if(t||!o||!r)return{prefix:o,iconName:r};var l=n==="fa"?Ro(r):{},s=Ye(o,r);return r=l.iconName||s||r,o=l.prefix||o,o==="far"&&!vt.far&&vt.fas&&!re.autoFetchSvg&&(o="fas"),{prefix:o,iconName:r}}var di=bo.filter(function(t){return t!==xe||t!==bt}),mi=Object.keys(la).filter(function(t){return t!==xe}).map(function(t){return Object.keys(la[t])}).flat();function fi(t){var n=t.values,a=t.family,o=t.canonical,r=t.givenPrefix,l=r===void 0?"":r,s=t.styles,c=s===void 0?{}:s,i=t.config,u=i===void 0?{}:i,f=a===bt,d=n.includes("fa-duotone")||n.includes("fad"),k=u.familyDefault==="duotone",b=o.prefix==="fad"||o.prefix==="fa-duotone";if(!f&&(d||k||b)&&(o.prefix="fad"),(n.includes("fa-brands")||n.includes("fab"))&&(o.prefix="fab"),!o.prefix&&di.includes(a)){var y=Object.keys(c).find(function(g){return mi.includes(g)});if(y||u.autoFetchSvg){var v=Ml.get(a).defaultShortPrefixId;o.prefix=v,o.iconName=Ye(o.prefix,o.iconName)||o.iconName}}return(o.prefix==="fa"||l==="fa")&&(o.prefix=je()||"fas"),o}var pi=(function(){function t(){sl(this,t),this.definitions={}}return cl(t,[{key:"add",value:function(){for(var a=this,o=arguments.length,r=new Array(o),l=0;l<o;l++)r[l]=arguments[l];var s=r.reduce(this._pullDefinitions,{});Object.keys(s).forEach(function(c){a.definitions[c]=X(X({},a.definitions[c]||{}),s[c]),ma(c,s[c]);var i=Na[xe][c];i&&ma(i,s[c]),jo()})}},{key:"reset",value:function(){this.definitions={}}},{key:"_pullDefinitions",value:function(a,o){var r=o.prefix&&o.iconName&&o.icon?{0:o}:o;return Object.keys(r).map(function(l){var s=r[l],c=s.prefix,i=s.iconName,u=s.icon,f=u[2];a[c]||(a[c]={}),f.length>0&&f.forEach(function(d){typeof d=="string"&&(a[c][d]=u)}),a[c][i]=u}),a}}])})(),Vn=[],tt={},at={},gi=Object.keys(at);function vi(t,n){var a=n.mixoutsTo;return Vn=t,tt={},Object.keys(at).forEach(function(o){gi.indexOf(o)===-1&&delete at[o]}),Vn.forEach(function(o){var r=o.mixout?o.mixout():{};if(Object.keys(r).forEach(function(s){typeof r[s]=="function"&&(a[s]=r[s]),At(r[s])==="object"&&Object.keys(r[s]).forEach(function(c){a[s]||(a[s]={}),a[s][c]=r[s][c]})}),o.hooks){var l=o.hooks();Object.keys(l).forEach(function(s){tt[s]||(tt[s]=[]),tt[s].push(l[s])})}o.provides&&o.provides(at)}),a}function fa(t,n){for(var a=arguments.length,o=new Array(a>2?a-2:0),r=2;r<a;r++)o[r-2]=arguments[r];var l=tt[t]||[];return l.forEach(function(s){n=s.apply(null,[n].concat(o))}),n}function Ge(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),o=1;o<n;o++)a[o-1]=arguments[o];var r=tt[t]||[];r.forEach(function(l){l.apply(null,a)})}function Re(){var t=arguments[0],n=Array.prototype.slice.call(arguments,1);return at[t]?at[t].apply(null,n):void 0}function pa(t){t.prefix==="fa"&&(t.prefix="fas");var n=t.iconName,a=t.prefix||je();if(n)return n=Ye(a,n)||n,kn(Uo.definitions,a,n)||kn(Ee.styles,a,n)}var Uo=new pi,hi=function(){re.autoReplaceSvg=!1,re.observeMutations=!1,Ge("noAuto")},yi={i2svg:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Me?(Ge("beforeI2svg",n),Re("pseudoElements2svg",n),Re("i2svg",n)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=n.autoReplaceSvgRoot;re.autoReplaceSvg===!1&&(re.autoReplaceSvg=!0),re.observeMutations=!0,ti(function(){xi({autoReplaceSvgRoot:a}),Ge("watch",n)})}},bi={icon:function(n){if(n===null)return null;if(At(n)==="object"&&n.prefix&&n.iconName)return{prefix:n.prefix,iconName:Ye(n.prefix,n.iconName)||n.iconName};if(Array.isArray(n)&&n.length===2){var a=n[1].indexOf("fa-")===0?n[1].slice(3):n[1],o=Ht(n[0]);return{prefix:o,iconName:Ye(o,a)||a}}if(typeof n=="string"&&(n.indexOf("".concat(re.cssPrefix,"-"))>-1||n.match(Ps))){var r=Ut(n.split(" "),{skipLookups:!0});return{prefix:r.prefix||je(),iconName:Ye(r.prefix,r.iconName)||r.iconName}}if(typeof n=="string"){var l=je();return{prefix:l,iconName:Ye(l,n)||n}}}},we={noAuto:hi,config:re,dom:yi,parse:bi,library:Uo,findIconDefinition:pa,toHtml:kt},xi=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=n.autoReplaceSvgRoot,o=a===void 0?fe:a;(Object.keys(Ee.styles).length>0||re.autoFetchSvg)&&Me&&re.autoReplaceSvg&&we.dom.i2svg({node:o})};function Wt(t,n){return Object.defineProperty(t,"abstract",{get:n}),Object.defineProperty(t,"html",{get:function(){return t.abstract.map(function(o){return kt(o)})}}),Object.defineProperty(t,"node",{get:function(){if(Me){var o=fe.createElement("div");return o.innerHTML=t.html,o.children}}}),t}function ki(t){var n=t.children,a=t.main,o=t.mask,r=t.attributes,l=t.styles,s=t.transform;if(Da(s)&&a.found&&!o.found){var c=a.width,i=a.height,u={x:c/i/2,y:.5};r.style=Rt(X(X({},l),{},{"transform-origin":"".concat(u.x+s.x/16,"em ").concat(u.y+s.y/16,"em")}))}return[{tag:"svg",attributes:r,children:n}]}function wi(t){var n=t.prefix,a=t.iconName,o=t.children,r=t.attributes,l=t.symbol,s=l===!0?"".concat(n,"-").concat(re.cssPrefix,"-").concat(a):l;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:X(X({},r),{},{id:s}),children:o}]}]}function Ci(t){var n=["aria-label","aria-labelledby","title","role"];return n.some(function(a){return a in t})}function Aa(t){var n=t.icons,a=n.main,o=n.mask,r=t.prefix,l=t.iconName,s=t.transform,c=t.symbol,i=t.maskId,u=t.extra,f=t.watchable,d=f===void 0?!1:f,k=o.found?o:a,b=k.width,y=k.height,v=[re.replacementClass,l?"".concat(re.cssPrefix,"-").concat(l):""].filter(function(P){return u.classes.indexOf(P)===-1}).filter(function(P){return P!==""||!!P}).concat(u.classes).join(" "),g={children:[],attributes:X(X({},u.attributes),{},{"data-prefix":r,"data-icon":l,class:v,role:u.attributes.role||"img",viewBox:"0 0 ".concat(b," ").concat(y)})};!Ci(u.attributes)&&!u.attributes["aria-hidden"]&&(g.attributes["aria-hidden"]="true"),d&&(g.attributes[qe]="");var m=X(X({},g),{},{prefix:r,iconName:l,main:a,mask:o,maskId:i,transform:s,symbol:c,styles:X({},u.styles)}),p=o.found&&a.found?Re("generateAbstractMask",m)||{children:[],attributes:{}}:Re("generateAbstractIcon",m)||{children:[],attributes:{}},w=p.children,N=p.attributes;return m.children=w,m.attributes=N,c?wi(m):ki(m)}function En(t){var n=t.content,a=t.width,o=t.height,r=t.transform,l=t.extra,s=t.watchable,c=s===void 0?!1:s,i=X(X({},l.attributes),{},{class:l.classes.join(" ")});c&&(i[qe]="");var u=X({},l.styles);Da(r)&&(u.transform=Qs({transform:r,width:a,height:o}),u["-webkit-transform"]=u.transform);var f=Rt(u);f.length>0&&(i.style=f);var d=[];return d.push({tag:"span",attributes:i,children:[n]}),d}function Bi(t){var n=t.content,a=t.extra,o=X(X({},a.attributes),{},{class:a.classes.join(" ")}),r=Rt(a.styles);r.length>0&&(o.style=r);var l=[];return l.push({tag:"span",attributes:o,children:[n]}),l}var aa=Ee.styles;function ga(t){var n=t[0],a=t[1],o=t.slice(4),r=jt(o,1),l=r[0],s=null;return Array.isArray(l)?s={tag:"g",attributes:{class:"".concat(re.cssPrefix,"-").concat(Zt.GROUP)},children:[{tag:"path",attributes:{class:"".concat(re.cssPrefix,"-").concat(Zt.SECONDARY),fill:"currentColor",d:l[0]}},{tag:"path",attributes:{class:"".concat(re.cssPrefix,"-").concat(Zt.PRIMARY),fill:"currentColor",d:l[1]}}]}:s={tag:"path",attributes:{fill:"currentColor",d:l}},{found:!0,width:n,height:a,icon:s}}var Vi={found:!1,width:512,height:512};function Ei(t,n){!Eo&&!re.showMissingIcons&&t&&console.error('Icon with name "'.concat(t,'" and prefix "').concat(n,'" is missing.'))}function va(t,n){var a=n;return n==="fa"&&re.styleDefault!==null&&(n=je()),new Promise(function(o,r){if(a==="fa"){var l=Ro(t)||{};t=l.iconName||t,n=l.prefix||n}if(t&&n&&aa[n]&&aa[n][t]){var s=aa[n][t];return o(ga(s))}Ei(t,n),o(X(X({},Vi),{},{icon:re.showMissingIcons&&t?Re("missingIconAbstract")||{}:{}}))})}var Sn=function(){},ha=re.measurePerformance&&Vt&&Vt.mark&&Vt.measure?Vt:{mark:Sn,measure:Sn},dt='FA "7.0.1"',Si=function(n){return ha.mark("".concat(dt," ").concat(n," begins")),function(){return Wo(n)}},Wo=function(n){ha.mark("".concat(dt," ").concat(n," ends")),ha.measure("".concat(dt," ").concat(n),"".concat(dt," ").concat(n," begins"),"".concat(dt," ").concat(n," ends"))},Fa={begin:Si,end:Wo},Dt=function(){};function Nn(t){var n=t.getAttribute?t.getAttribute(qe):null;return typeof n=="string"}function Ni(t){var n=t.getAttribute?t.getAttribute(Ea):null,a=t.getAttribute?t.getAttribute(Sa):null;return n&&a}function $i(t){return t&&t.classList&&t.classList.contains&&t.classList.contains(re.replacementClass)}function Di(){if(re.autoReplaceSvg===!0)return zt.replace;var t=zt[re.autoReplaceSvg];return t||zt.replace}function zi(t){return fe.createElementNS("http://www.w3.org/2000/svg",t)}function Ti(t){return fe.createElement(t)}function Yo(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=n.ceFn,o=a===void 0?t.tag==="svg"?zi:Ti:a;if(typeof t=="string")return fe.createTextNode(t);var r=o(t.tag);Object.keys(t.attributes||[]).forEach(function(s){r.setAttribute(s,t.attributes[s])});var l=t.children||[];return l.forEach(function(s){r.appendChild(Yo(s,{ceFn:o}))}),r}function Ai(t){var n=" ".concat(t.outerHTML," ");return n="".concat(n,"Font Awesome fontawesome.com "),n}var zt={replace:function(n){var a=n[0];if(a.parentNode)if(n[1].forEach(function(r){a.parentNode.insertBefore(Yo(r),a)}),a.getAttribute(qe)===null&&re.keepOriginalSource){var o=fe.createComment(Ai(a));a.parentNode.replaceChild(o,a)}else a.remove()},nest:function(n){var a=n[0],o=n[1];if(~$a(a).indexOf(re.replacementClass))return zt.replace(n);var r=new RegExp("".concat(re.cssPrefix,"-.*"));if(delete o[0].attributes.id,o[0].attributes.class){var l=o[0].attributes.class.split(" ").reduce(function(c,i){return i===re.replacementClass||i.match(r)?c.toSvg.push(i):c.toNode.push(i),c},{toNode:[],toSvg:[]});o[0].attributes.class=l.toSvg.join(" "),l.toNode.length===0?a.removeAttribute("class"):a.setAttribute("class",l.toNode.join(" "))}var s=o.map(function(c){return kt(c)}).join(`
556
+ `);a.setAttribute(qe,""),a.innerHTML=s}};function $n(t){t()}function qo(t,n){var a=typeof n=="function"?n:Dt;if(t.length===0)a();else{var o=$n;re.mutateApproach===Ms&&(o=Oe.requestAnimationFrame||$n),o(function(){var r=Di(),l=Fa.begin("mutate");t.map(r),l(),a()})}}var La=!1;function Go(){La=!0}function ya(){La=!1}var Lt=null;function Dn(t){if(pn&&re.observeMutations){var n=t.treeCallback,a=n===void 0?Dt:n,o=t.nodeCallback,r=o===void 0?Dt:o,l=t.pseudoElementsCallback,s=l===void 0?Dt:l,c=t.observeMutationsRoot,i=c===void 0?fe:c;Lt=new pn(function(u){if(!La){var f=je();lt(u).forEach(function(d){if(d.type==="childList"&&d.addedNodes.length>0&&!Nn(d.addedNodes[0])&&(re.searchPseudoElements&&s(d.target),a(d.target)),d.type==="attributes"&&d.target.parentNode&&re.searchPseudoElements&&s([d.target],!0),d.type==="attributes"&&Nn(d.target)&&~Rs.indexOf(d.attributeName))if(d.attributeName==="class"&&Ni(d.target)){var k=Ut($a(d.target)),b=k.prefix,y=k.iconName;d.target.setAttribute(Ea,b||f),y&&d.target.setAttribute(Sa,y)}else $i(d.target)&&r(d.target)})}}),Me&&Lt.observe(i,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function Fi(){Lt&&Lt.disconnect()}function Li(t){var n=t.getAttribute("style"),a=[];return n&&(a=n.split(";").reduce(function(o,r){var l=r.split(":"),s=l[0],c=l.slice(1);return s&&c.length>0&&(o[s]=c.join(":").trim()),o},{})),a}function Mi(t){var n=t.getAttribute("data-prefix"),a=t.getAttribute("data-icon"),o=t.innerText!==void 0?t.innerText.trim():"",r=Ut($a(t));return r.prefix||(r.prefix=je()),n&&a&&(r.prefix=n,r.iconName=a),r.iconName&&r.prefix||(r.prefix&&o.length>0&&(r.iconName=li(r.prefix,t.innerText)||Ta(r.prefix,Fo(t.innerText))),!r.iconName&&re.autoFetchSvg&&t.firstChild&&t.firstChild.nodeType===Node.TEXT_NODE&&(r.iconName=t.firstChild.data)),r}function Ii(t){var n=lt(t.attributes).reduce(function(a,o){return a.name!=="class"&&a.name!=="style"&&(a[o.name]=o.value),a},{});return n}function _i(){return{iconName:null,prefix:null,transform:$e,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function zn(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},a=Mi(t),o=a.iconName,r=a.prefix,l=a.rest,s=Ii(t),c=fa("parseNodeAttributes",{},t),i=n.styleParser?Li(t):[];return X({iconName:o,prefix:r,transform:$e,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:l,styles:i,attributes:s}},c)}var Pi=Ee.styles;function Ko(t){var n=re.autoReplaceSvg==="nest"?zn(t,{styleParser:!1}):zn(t);return~n.extra.classes.indexOf(No)?Re("generateLayersText",t,n):Re("generateSvgReplacementMutation",t,n)}function Oi(){return[].concat(Se(xo),Se(ko))}function Tn(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!Me)return Promise.resolve();var a=fe.documentElement.classList,o=function(d){return a.add("".concat(hn,"-").concat(d))},r=function(d){return a.remove("".concat(hn,"-").concat(d))},l=re.autoFetchSvg?Oi():oo.concat(Object.keys(Pi));l.includes("fa")||l.push("fa");var s=[".".concat(No,":not([").concat(qe,"])")].concat(l.map(function(f){return".".concat(f,":not([").concat(qe,"])")})).join(", ");if(s.length===0)return Promise.resolve();var c=[];try{c=lt(t.querySelectorAll(s))}catch{}if(c.length>0)o("pending"),r("complete");else return Promise.resolve();var i=Fa.begin("onTree"),u=c.reduce(function(f,d){try{var k=Ko(d);k&&f.push(k)}catch(b){Eo||b.name==="MissingIcon"&&console.error(b)}return f},[]);return new Promise(function(f,d){Promise.all(u).then(function(k){qo(k,function(){o("active"),o("complete"),r("pending"),typeof n=="function"&&n(),i(),f()})}).catch(function(k){i(),d(k)})})}function ji(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;Ko(t).then(function(a){a&&qo([a],n)})}function Ri(t){return function(n){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=(n||{}).icon?n:pa(n||{}),r=a.mask;return r&&(r=(r||{}).icon?r:pa(r||{})),t(o,X(X({},a),{},{mask:r}))}}var Hi=function(n){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=a.transform,r=o===void 0?$e:o,l=a.symbol,s=l===void 0?!1:l,c=a.mask,i=c===void 0?null:c,u=a.maskId,f=u===void 0?null:u,d=a.classes,k=d===void 0?[]:d,b=a.attributes,y=b===void 0?{}:b,v=a.styles,g=v===void 0?{}:v;if(n){var m=n.prefix,p=n.iconName,w=n.icon;return Wt(X({type:"icon"},n),function(){return Ge("beforeDOMElementCreation",{iconDefinition:n,params:a}),Aa({icons:{main:ga(w),mask:i?ga(i.icon):{found:!1,width:null,height:null,icon:{}}},prefix:m,iconName:p,transform:X(X({},$e),r),symbol:s,maskId:f,extra:{attributes:y,styles:g,classes:k}})})}},Ui={mixout:function(){return{icon:Ri(Hi)}},hooks:function(){return{mutationObserverCallbacks:function(a){return a.treeCallback=Tn,a.nodeCallback=ji,a}}},provides:function(n){n.i2svg=function(a){var o=a.node,r=o===void 0?fe:o,l=a.callback,s=l===void 0?function(){}:l;return Tn(r,s)},n.generateSvgReplacementMutation=function(a,o){var r=o.iconName,l=o.prefix,s=o.transform,c=o.symbol,i=o.mask,u=o.maskId,f=o.extra;return new Promise(function(d,k){Promise.all([va(r,l),i.iconName?va(i.iconName,i.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(b){var y=jt(b,2),v=y[0],g=y[1];d([a,Aa({icons:{main:v,mask:g},prefix:l,iconName:r,transform:s,symbol:c,maskId:u,extra:f,watchable:!0})])}).catch(k)})},n.generateAbstractIcon=function(a){var o=a.children,r=a.attributes,l=a.main,s=a.transform,c=a.styles,i=Rt(c);i.length>0&&(r.style=i);var u;return Da(s)&&(u=Re("generateAbstractTransformGrouping",{main:l,transform:s,containerWidth:l.width,iconWidth:l.width})),o.push(u||l.icon),{children:o,attributes:r}}}},Wi={mixout:function(){return{layer:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=o.classes,l=r===void 0?[]:r;return Wt({type:"layer"},function(){Ge("beforeDOMElementCreation",{assembler:a,params:o});var s=[];return a(function(c){Array.isArray(c)?c.map(function(i){s=s.concat(i.abstract)}):s=s.concat(c.abstract)}),[{tag:"span",attributes:{class:["".concat(re.cssPrefix,"-layers")].concat(Se(l)).join(" ")},children:s}]})}}}},Yi={mixout:function(){return{counter:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};o.title;var r=o.classes,l=r===void 0?[]:r,s=o.attributes,c=s===void 0?{}:s,i=o.styles,u=i===void 0?{}:i;return Wt({type:"counter",content:a},function(){return Ge("beforeDOMElementCreation",{content:a,params:o}),Bi({content:a.toString(),extra:{attributes:c,styles:u,classes:["".concat(re.cssPrefix,"-layers-counter")].concat(Se(l))}})})}}}},qi={mixout:function(){return{text:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=o.transform,l=r===void 0?$e:r,s=o.classes,c=s===void 0?[]:s,i=o.attributes,u=i===void 0?{}:i,f=o.styles,d=f===void 0?{}:f;return Wt({type:"text",content:a},function(){return Ge("beforeDOMElementCreation",{content:a,params:o}),En({content:a,transform:X(X({},$e),l),extra:{attributes:u,styles:d,classes:["".concat(re.cssPrefix,"-layers-text")].concat(Se(c))}})})}}},provides:function(n){n.generateLayersText=function(a,o){var r=o.transform,l=o.extra,s=null,c=null;if(ao){var i=parseInt(getComputedStyle(a).fontSize,10),u=a.getBoundingClientRect();s=u.width/i,c=u.height/i}return Promise.resolve([a,En({content:a.innerHTML,width:s,height:c,transform:r,extra:l,watchable:!0})])}}},Xo=new RegExp('"',"ug"),An=[1105920,1112319],Fn=X(X(X(X({},{FontAwesome:{normal:"fas",400:"fas"}}),Ll),Fs),Ul),ba=Object.keys(Fn).reduce(function(t,n){return t[n.toLowerCase()]=Fn[n],t},{}),Gi=Object.keys(ba).reduce(function(t,n){var a=ba[n];return t[n]=a[900]||Se(Object.entries(a))[0][1],t},{});function Ki(t){var n=t.replace(Xo,"");return Fo(Se(n)[0]||"")}function Xi(t){var n=t.getPropertyValue("font-feature-settings").includes("ss01"),a=t.getPropertyValue("content"),o=a.replace(Xo,""),r=o.codePointAt(0),l=r>=An[0]&&r<=An[1],s=o.length===2?o[0]===o[1]:!1;return l||s||n}function Ji(t,n){var a=t.replace(/^['"]|['"]$/g,"").toLowerCase(),o=parseInt(n),r=isNaN(o)?"normal":o;return(ba[a]||{})[r]||Gi[a]}function Ln(t,n){var a="".concat(Ls).concat(n.replace(":","-"));return new Promise(function(o,r){if(t.getAttribute(a)!==null)return o();var l=lt(t.children),s=l.filter(function(_){return _.getAttribute(ia)===n})[0],c=Oe.getComputedStyle(t,n),i=c.getPropertyValue("font-family"),u=i.match(Os),f=c.getPropertyValue("font-weight"),d=c.getPropertyValue("content");if(s&&!u)return t.removeChild(s),o();if(u&&d!=="none"&&d!==""){var k=c.getPropertyValue("content"),b=Ji(i,f),y=Ki(k),v=u[0].startsWith("FontAwesome"),g=Xi(c),m=Ta(b,y),p=m;if(v){var w=si(y);w.iconName&&w.prefix&&(m=w.iconName,b=w.prefix)}if(m&&!g&&(!s||s.getAttribute(Ea)!==b||s.getAttribute(Sa)!==p)){t.setAttribute(a,p),s&&t.removeChild(s);var N=_i(),P=N.extra;P.attributes[ia]=n,va(m,b).then(function(_){var H=Aa(X(X({},N),{},{icons:{main:_,mask:Ho()},prefix:b,iconName:p,extra:P,watchable:!0})),G=fe.createElementNS("http://www.w3.org/2000/svg","svg");n==="::before"?t.insertBefore(G,t.firstChild):t.appendChild(G),G.outerHTML=H.map(function(K){return kt(K)}).join(`
557
+ `),t.removeAttribute(a),o()}).catch(r)}else o()}else o()})}function Qi(t){return Promise.all([Ln(t,"::before"),Ln(t,"::after")])}function Zi(t){return t.parentNode!==document.head&&!~Is.indexOf(t.tagName.toUpperCase())&&!t.getAttribute(ia)&&(!t.parentNode||t.parentNode.tagName!=="svg")}var ec=function(n){return!!n&&Vo.some(function(a){return n.includes(a)})},tc=function(n){if(!n)return[];var a=new Set,o=n.split(/,(?![^()]*\))/).map(function(i){return i.trim()});o=o.flatMap(function(i){return i.includes("(")?i:i.split(",").map(function(u){return u.trim()})});var r=$t(o),l;try{for(r.s();!(l=r.n()).done;){var s=l.value;if(ec(s)){var c=Vo.reduce(function(i,u){return i.replace(u,"")},s);c!==""&&c!=="*"&&a.add(c)}}}catch(i){r.e(i)}finally{r.f()}return a};function Mn(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(Me){var a;if(n)a=t;else if(re.searchPseudoElementsFullScan)a=t.querySelectorAll("*");else{var o=new Set,r=$t(document.styleSheets),l;try{for(r.s();!(l=r.n()).done;){var s=l.value;try{var c=$t(s.cssRules),i;try{for(c.s();!(i=c.n()).done;){var u=i.value,f=tc(u.selectorText),d=$t(f),k;try{for(d.s();!(k=d.n()).done;){var b=k.value;o.add(b)}}catch(v){d.e(v)}finally{d.f()}}}catch(v){c.e(v)}finally{c.f()}}catch(v){re.searchPseudoElementsWarnings&&console.warn("Font Awesome: cannot parse stylesheet: ".concat(s.href," (").concat(v.message,`)
558
+ If it declares any Font Awesome CSS pseudo-elements, they will not be rendered as SVG icons. Add crossorigin="anonymous" to the <link>, enable searchPseudoElementsFullScan for slower but more thorough DOM parsing, or suppress this warning by setting searchPseudoElementsWarnings to false.`))}}}catch(v){r.e(v)}finally{r.f()}if(!o.size)return;var y=Array.from(o).join(", ");try{a=t.querySelectorAll(y)}catch{}}return new Promise(function(v,g){var m=lt(a).filter(Zi).map(Qi),p=Fa.begin("searchPseudoElements");Go(),Promise.all(m).then(function(){p(),ya(),v()}).catch(function(){p(),ya(),g()})})}}var ac={hooks:function(){return{mutationObserverCallbacks:function(a){return a.pseudoElementsCallback=Mn,a}}},provides:function(n){n.pseudoElements2svg=function(a){var o=a.node,r=o===void 0?fe:o;re.searchPseudoElements&&Mn(r)}}},In=!1,nc={mixout:function(){return{dom:{unwatch:function(){Go(),In=!0}}}},hooks:function(){return{bootstrap:function(){Dn(fa("mutationObserverCallbacks",{}))},noAuto:function(){Fi()},watch:function(a){var o=a.observeMutationsRoot;In?ya():Dn(fa("mutationObserverCallbacks",{observeMutationsRoot:o}))}}}},_n=function(n){var a={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return n.toLowerCase().split(" ").reduce(function(o,r){var l=r.toLowerCase().split("-"),s=l[0],c=l.slice(1).join("-");if(s&&c==="h")return o.flipX=!0,o;if(s&&c==="v")return o.flipY=!0,o;if(c=parseFloat(c),isNaN(c))return o;switch(s){case"grow":o.size=o.size+c;break;case"shrink":o.size=o.size-c;break;case"left":o.x=o.x-c;break;case"right":o.x=o.x+c;break;case"up":o.y=o.y-c;break;case"down":o.y=o.y+c;break;case"rotate":o.rotate=o.rotate+c;break}return o},a)},oc={mixout:function(){return{parse:{transform:function(a){return _n(a)}}}},hooks:function(){return{parseNodeAttributes:function(a,o){var r=o.getAttribute("data-fa-transform");return r&&(a.transform=_n(r)),a}}},provides:function(n){n.generateAbstractTransformGrouping=function(a){var o=a.main,r=a.transform,l=a.containerWidth,s=a.iconWidth,c={transform:"translate(".concat(l/2," 256)")},i="translate(".concat(r.x*32,", ").concat(r.y*32,") "),u="scale(".concat(r.size/16*(r.flipX?-1:1),", ").concat(r.size/16*(r.flipY?-1:1),") "),f="rotate(".concat(r.rotate," 0 0)"),d={transform:"".concat(i," ").concat(u," ").concat(f)},k={transform:"translate(".concat(s/2*-1," -256)")},b={outer:c,inner:d,path:k};return{tag:"g",attributes:X({},b.outer),children:[{tag:"g",attributes:X({},b.inner),children:[{tag:o.icon.tag,children:o.icon.children,attributes:X(X({},o.icon.attributes),b.path)}]}]}}}},na={x:0,y:0,width:"100%",height:"100%"};function Pn(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return t.attributes&&(t.attributes.fill||n)&&(t.attributes.fill="black"),t}function rc(t){return t.tag==="g"?t.children:[t]}var lc={hooks:function(){return{parseNodeAttributes:function(a,o){var r=o.getAttribute("data-fa-mask"),l=r?Ut(r.split(" ").map(function(s){return s.trim()})):Ho();return l.prefix||(l.prefix=je()),a.mask=l,a.maskId=o.getAttribute("data-fa-mask-id"),a}}},provides:function(n){n.generateAbstractMask=function(a){var o=a.children,r=a.attributes,l=a.main,s=a.mask,c=a.maskId,i=a.transform,u=l.width,f=l.icon,d=s.width,k=s.icon,b=Js({transform:i,containerWidth:d,iconWidth:u}),y={tag:"rect",attributes:X(X({},na),{},{fill:"white"})},v=f.children?{children:f.children.map(Pn)}:{},g={tag:"g",attributes:X({},b.inner),children:[Pn(X({tag:f.tag,attributes:X(X({},f.attributes),b.path)},v))]},m={tag:"g",attributes:X({},b.outer),children:[g]},p="mask-".concat(c||bn()),w="clip-".concat(c||bn()),N={tag:"mask",attributes:X(X({},na),{},{id:p,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[y,m]},P={tag:"defs",children:[{tag:"clipPath",attributes:{id:w},children:rc(k)},N]};return o.push(P,{tag:"rect",attributes:X({fill:"currentColor","clip-path":"url(#".concat(w,")"),mask:"url(#".concat(p,")")},na)}),{children:o,attributes:r}}}},sc={provides:function(n){var a=!1;Oe.matchMedia&&(a=Oe.matchMedia("(prefers-reduced-motion: reduce)").matches),n.missingIconAbstract=function(){var o=[],r={fill:"currentColor"},l={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};o.push({tag:"path",attributes:X(X({},r),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var s=X(X({},l),{},{attributeName:"opacity"}),c={tag:"circle",attributes:X(X({},r),{},{cx:"256",cy:"364",r:"28"}),children:[]};return a||c.children.push({tag:"animate",attributes:X(X({},l),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:X(X({},s),{},{values:"1;0;1;1;0;1;"})}),o.push(c),o.push({tag:"path",attributes:X(X({},r),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:a?[]:[{tag:"animate",attributes:X(X({},s),{},{values:"1;0;0;0;0;1;"})}]}),a||o.push({tag:"path",attributes:X(X({},r),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:X(X({},s),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:o}}}},ic={hooks:function(){return{parseNodeAttributes:function(a,o){var r=o.getAttribute("data-fa-symbol"),l=r===null?!1:r===""?!0:r;return a.symbol=l,a}}}},cc=[ei,Ui,Wi,Yi,qi,ac,nc,oc,lc,sc,ic];vi(cc,{mixoutsTo:we});we.noAuto;var Jo=we.config;we.library;we.dom;var Mt=we.parse;we.findIconDefinition;we.toHtml;var uc=we.icon;we.layer;var dc=we.text;we.counter;function xa(t,n){(n==null||n>t.length)&&(n=t.length);for(var a=0,o=Array(n);a<n;a++)o[a]=t[a];return o}function mc(t){if(Array.isArray(t))return xa(t)}function ke(t,n,a){return(n=yc(n))in t?Object.defineProperty(t,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[n]=a,t}function fc(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function pc(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
559
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function On(t,n){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),a.push.apply(a,o)}return a}function Be(t){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?On(Object(a),!0).forEach(function(o){ke(t,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):On(Object(a)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(a,o))})}return t}function gc(t,n){if(t==null)return{};var a,o,r=vc(t,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(o=0;o<l.length;o++)a=l[o],n.indexOf(a)===-1&&{}.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}function vc(t,n){if(t==null)return{};var a={};for(var o in t)if({}.hasOwnProperty.call(t,o)){if(n.indexOf(o)!==-1)continue;a[o]=t[o]}return a}function ka(t){return mc(t)||fc(t)||bc(t)||pc()}function hc(t,n){if(typeof t!="object"||!t)return t;var a=t[Symbol.toPrimitive];if(a!==void 0){var o=a.call(t,n);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(t)}function yc(t){var n=hc(t,"string");return typeof n=="symbol"?n:n+""}function It(t){"@babel/helpers - typeof";return It=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},It(t)}function bc(t,n){if(t){if(typeof t=="string")return xa(t,n);var a={}.toString.call(t).slice(8,-1);return a==="Object"&&t.constructor&&(a=t.constructor.name),a==="Map"||a==="Set"?Array.from(t):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?xa(t,n):void 0}}function pt(t,n){return Array.isArray(n)&&n.length>0||!Array.isArray(n)&&n?ke({},t,n):{}}function xc(t){var n,a=(n={"fa-spin":t.spin,"fa-pulse":t.pulse,"fa-fw":t.fixedWidth,"fa-border":t.border,"fa-li":t.listItem,"fa-inverse":t.inverse,"fa-flip":t.flip===!0,"fa-flip-horizontal":t.flip==="horizontal"||t.flip==="both","fa-flip-vertical":t.flip==="vertical"||t.flip==="both"},ke(ke(ke(ke(ke(ke(ke(ke(ke(ke(n,"fa-".concat(t.size),t.size!==null),"fa-rotate-".concat(t.rotation),t.rotation!==null),"fa-rotate-by",t.rotateBy),"fa-pull-".concat(t.pull),t.pull!==null),"fa-swap-opacity",t.swapOpacity),"fa-bounce",t.bounce),"fa-shake",t.shake),"fa-beat",t.beat),"fa-fade",t.fade),"fa-beat-fade",t.beatFade),ke(ke(ke(ke(n,"fa-flash",t.flash),"fa-spin-pulse",t.spinPulse),"fa-spin-reverse",t.spinReverse),"fa-width-auto",t.widthAuto));return Object.keys(a).map(function(o){return a[o]?o:null}).filter(function(o){return o})}var kc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Qo={exports:{}};(function(t){(function(n){var a=function(m,p,w){if(!u(p)||d(p)||k(p)||b(p)||i(p))return p;var N,P=0,_=0;if(f(p))for(N=[],_=p.length;P<_;P++)N.push(a(m,p[P],w));else{N={};for(var H in p)Object.prototype.hasOwnProperty.call(p,H)&&(N[m(H,w)]=a(m,p[H],w))}return N},o=function(m,p){p=p||{};var w=p.separator||"_",N=p.split||/(?=[A-Z])/;return m.split(N).join(w)},r=function(m){return y(m)?m:(m=m.replace(/[\-_\s]+(.)?/g,function(p,w){return w?w.toUpperCase():""}),m.substr(0,1).toLowerCase()+m.substr(1))},l=function(m){var p=r(m);return p.substr(0,1).toUpperCase()+p.substr(1)},s=function(m,p){return o(m,p).toLowerCase()},c=Object.prototype.toString,i=function(m){return typeof m=="function"},u=function(m){return m===Object(m)},f=function(m){return c.call(m)=="[object Array]"},d=function(m){return c.call(m)=="[object Date]"},k=function(m){return c.call(m)=="[object RegExp]"},b=function(m){return c.call(m)=="[object Boolean]"},y=function(m){return m=m-0,m===m},v=function(m,p){var w=p&&"process"in p?p.process:p;return typeof w!="function"?m:function(N,P){return w(N,m,P)}},g={camelize:r,decamelize:s,pascalize:l,depascalize:s,camelizeKeys:function(m,p){return a(v(r,p),m)},decamelizeKeys:function(m,p){return a(v(s,p),m,p)},pascalizeKeys:function(m,p){return a(v(l,p),m)},depascalizeKeys:function(){return this.decamelizeKeys.apply(this,arguments)}};t.exports?t.exports=g:n.humps=g})(kc)})(Qo);var wc=Qo.exports,Cc=["class","style"];function Bc(t){return t.split(";").map(function(n){return n.trim()}).filter(function(n){return n}).reduce(function(n,a){var o=a.indexOf(":"),r=wc.camelize(a.slice(0,o)),l=a.slice(o+1).trim();return n[r]=l,n},{})}function Vc(t){return t.split(/\s+/).reduce(function(n,a){return n[a]=!0,n},{})}function Ma(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof t=="string")return t;var o=(t.children||[]).map(function(i){return Ma(i)}),r=Object.keys(t.attributes||{}).reduce(function(i,u){var f=t.attributes[u];switch(u){case"class":i.class=Vc(f);break;case"style":i.style=Bc(f);break;default:i.attrs[u]=f}return i},{attrs:{},class:{},style:{}});a.class;var l=a.style,s=l===void 0?{}:l,c=gc(a,Cc);return e.h(t.tag,Be(Be(Be({},n),{},{class:r.class,style:Be(Be({},r.style),s)},r.attrs),c),o)}var Zo=!1;try{Zo=process.env.NODE_ENV==="production"}catch{}function Ec(){if(!Zo&&console&&typeof console.error=="function"){var t;(t=console).error.apply(t,arguments)}}function jn(t){if(t&&It(t)==="object"&&t.prefix&&t.iconName&&t.icon)return t;if(Mt.icon)return Mt.icon(t);if(t===null)return null;if(It(t)==="object"&&t.prefix&&t.iconName)return t;if(Array.isArray(t)&&t.length===2)return{prefix:t[0],iconName:t[1]};if(typeof t=="string")return{prefix:"fas",iconName:t}}var Sc=e.defineComponent({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(n){return[!0,!1,"horizontal","vertical","both"].indexOf(n)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(n){return["right","left"].indexOf(n)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(n){return[90,180,270].indexOf(Number.parseInt(n,10))>-1}},rotateBy:{type:Boolean,default:!1},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(n){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(n)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1},widthAuto:{type:Boolean,default:!1}},setup:function(n,a){var o=a.attrs,r=e.computed(function(){return jn(n.icon)}),l=e.computed(function(){return pt("classes",xc(n))}),s=e.computed(function(){return pt("transform",typeof n.transform=="string"?Mt.transform(n.transform):n.transform)}),c=e.computed(function(){return pt("mask",jn(n.mask))}),i=e.computed(function(){var f=Be(Be(Be(Be({},l.value),s.value),c.value),{},{symbol:n.symbol,maskId:n.maskId});return f.title=n.title,f.titleId=n.titleId,uc(r.value,f)});e.watch(i,function(f){if(!f)return Ec("Could not find one or more icon(s)",r.value,c.value)},{immediate:!0});var u=e.computed(function(){return i.value?Ma(i.value.abstract[0],{},o):null});return function(){return u.value}}});e.defineComponent({name:"FontAwesomeLayers",props:{fixedWidth:{type:Boolean,default:!1}},setup:function(n,a){var o=a.slots,r=Jo.familyPrefix,l=e.computed(function(){return["".concat(r,"-layers")].concat(ka(n.fixedWidth?["".concat(r,"-fw")]:[]))});return function(){return e.h("div",{class:l.value},o.default?o.default():[])}}});e.defineComponent({name:"FontAwesomeLayersText",props:{value:{type:[String,Number],default:""},transform:{type:[String,Object],default:null},counter:{type:Boolean,default:!1},position:{type:String,default:null,validator:function(n){return["bottom-left","bottom-right","top-left","top-right"].indexOf(n)>-1}}},setup:function(n,a){var o=a.attrs,r=Jo.familyPrefix,l=e.computed(function(){return pt("classes",[].concat(ka(n.counter?["".concat(r,"-layers-counter")]:[]),ka(n.position?["".concat(r,"-layers-").concat(n.position)]:[])))}),s=e.computed(function(){return pt("transform",typeof n.transform=="string"?Mt.transform(n.transform):n.transform)}),c=e.computed(function(){var u=dc(n.value.toString(),Be(Be({},s.value),l.value)),f=u.abstract;return n.counter&&(f[0].attributes.class=f[0].attributes.class.replace("fa-layers-text","")),f[0]}),i=e.computed(function(){return Ma(c.value,{},o)});return function(){return i.value}}});const R={__name:"Icon",props:{icon:{type:String,default:null},name:{type:String,default:null},prefix:{type:String,default:"fa"},size:{type:String,default:"md"},color:String,ariaLabel:String},setup(t){const n=t,a=e.computed(()=>n.icon||n.name),o=e.computed(()=>({xs:"xs",sm:"sm",md:"lg",lg:"xl",xl:"2x",xxl:"3x"})[n.size]||"lg"),r=e.computed(()=>n.color?n.color.startsWith("text-")?n.color:`text-${n.color}`:"text-current"),l=e.computed(()=>[r.value,"inline-block"]);return(s,c)=>a.value?(e.openBlock(),e.createBlock(e.unref(Sc),{key:0,icon:[t.prefix,a.value],size:o.value,class:e.normalizeClass(l.value),"aria-hidden":!t.ariaLabel,"aria-label":t.ariaLabel,role:t.ariaLabel?"img":void 0},null,8,["icon","size","class","aria-hidden","aria-label","role"])):e.createCommentVNode("",!0)}},Nc=["src","alt"],er={__name:"Avatar",props:{src:String,alt:String,initials:String,size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outline"].includes(t)},class:String},setup(t){const n=t,a=e.ref(!1),o=q.cva("relative flex shrink-0 overflow-hidden rounded-full",{variants:{size:{xs:"h-6 w-6",sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12",xl:"h-16 w-16"},variant:{default:"bg-muted",outline:"border-2 ui-border-strong ui-surface "}}}),r=e.computed(()=>A(o({size:n.size,variant:n.variant}),n.class)),l=e.computed(()=>"aspect-square h-full w-full object-cover"),s=e.computed(()=>A("flex h-full w-full items-center justify-center rounded-full bg-muted font-medium text-muted-foreground",{"text-xs":n.size==="xs","text-sm":n.size==="sm","text-base":n.size==="md","text-lg":n.size==="lg","text-xl":n.size==="xl"})),c=e.computed(()=>A("h-4 w-4 text-muted-foreground",{"h-3 w-3":n.size==="xs","h-4 w-4":n.size==="sm"||n.size==="md","h-5 w-5":n.size==="lg","h-6 w-6":n.size==="xl"})),i=()=>{a.value=!0};return(u,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[t.src?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.src,alt:t.alt,class:e.normalizeClass(l.value),onError:i},null,42,Nc)):t.initials?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(s.value)},e.toDisplayString(t.initials),3)):(e.openBlock(),e.createBlock(R,{key:2,name:"user",class:e.normalizeClass(c.value)},null,8,["class"]))],2))}},$c=["aria-label"],Ia=Object.assign({inheritAttrs:!1},{__name:"Badge",props:{variant:{type:String,default:"default",validator:t=>["default","secondary","danger","primary","outline","success","warning","info","ghost","link","subtle","dark","light","primaryOutline","dangerOutline","successOutline","gradient"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},shape:{type:String,default:"rounded",validator:t=>["rounded","pill","square"].includes(t)},icon:{type:[String,Object],default:null},dismissible:{type:Boolean,default:!1},dismissLabel:{type:String,default:"Dismiss"}},emits:["dismiss"],setup(t,{emit:n}){const a=t,o=n,r=()=>o("dismiss"),l=q.cva("inline-flex items-center font-medium border transition-all duration-200",{variants:{variant:{default:"border border-(--ui-primary-soft) ui-primary-soft ui-primary hover:bg-(--ui-primary-soft) dark:border-(--ui-primary-soft) dark:bg-(--ui-primary-soft) dark:text-(--ui-primary)",secondary:"border ui-border-strong ui-surface-muted ui-text hover:bg-(--ui-surface) dark:border-(--ui-border-strong) dark:bg-(--ui-surface) dark:text-(--ui-text)",danger:"border border-(--ui-danger-soft) ui-danger-soft ui-danger hover:bg-(--ui-danger-soft) dark:border-(--ui-danger-soft) dark:bg-(--ui-danger-soft) dark:text-(--ui-danger)",primary:"border border-(--ui-primary-soft) ui-primary-soft ui-primary hover:bg-(--ui-primary-soft) dark:border-(--ui-primary-soft) dark:bg-(--ui-primary-soft) dark:text-(--ui-primary)",outline:"ui-text border",success:"border border-(--ui-success-soft) ui-success-soft ui-success dark:border-(--ui-success-soft) dark:bg-(--ui-success-soft) dark:text-(--ui-success)",warning:"border border-(--ui-warning-soft) ui-warning-soft ui-warning hover:bg-(--ui-warning-soft) dark:border-(--ui-warning-soft) dark:bg-(--ui-warning-soft) dark:text-(--ui-warning)",info:"border border-(--ui-primary-soft) ui-primary-soft ui-primary hover:bg-(--ui-primary-soft) dark:border-(--ui-primary-soft) dark:bg-(--ui-primary-soft) dark:text-(--ui-primary)",ghost:"bg-transparent ui-text hover:bg-(--ui-surface)",link:"ui-primary hover:underline",subtle:"ui-surface-muted ui-text hover:bg-(--ui-bg)",dark:"ui-bg ui-text hover:bg-(--ui-bg)",light:"ui-surface-muted ui-text border ui-border-strong hover:bg-(--ui-surface)",primaryOutline:"border border-(--ui-primary) ui-primary bg-transparent hover:bg-(--ui-primary-soft)",dangerOutline:"border border-(--ui-danger) ui-danger bg-transparent hover:bg-(--ui-danger-soft)",successOutline:"border border-(--ui-success) ui-success bg-transparent hover:bg-(--ui-success-soft)",gradient:"bg-linear-to-r from-(--ui-primary-soft) to-(--ui-accent) ui-text hover:from-(--ui-primary) hover:to-(--ui-accent)"},size:{sm:"px-2 py-0.5 text-xs",md:"px-2.5 py-1 text-sm",lg:"px-3 py-1.5 text-base"},shape:{rounded:"rounded-md",pill:"rounded-full",square:"rounded-none"}},defaultVariants:{variant:"default",size:"md",shape:"rounded"}}),s=e.computed(()=>["mr-1",{sm:"w-3 h-3",md:"w-4 h-4",lg:"w-5 h-5"}[a.size]]);return(c,i)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(A)(e.unref(l)({variant:t.variant,size:t.size,shape:t.shape}),c.$attrs.class))},[t.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,class:e.normalizeClass(s.value)},null,8,["class"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default"),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:"ml-1 hover:bg-[color:color-mix(in oklab, var(--ui-bg), transparent 90%)] rounded-full p-0.5 transition-colors","aria-label":t.dismissLabel,onClick:r},[e.createVNode(R,{icon:"circle-xmark",class:"w-3 h-3"})],8,$c)):e.createCommentVNode("",!0)],2))}}),_a="kabzAuthResolver",Dc=["disabled","aria-disabled","aria-busy"],zc={key:2},be=Object.assign({inheritAttrs:!1},{__name:"Button",props:{variant:{type:String,default:"default",validator:t=>["primary","default","danger","outline","secondary","ghost","link","success","warning","info","subtle","dark","light","primaryOutline","dangerOutline","successOutline","gradient"].includes(t)},size:{type:String,default:"default",validator:t=>["2xs","xs","sm","default","md","lg","xl","2xl","icon-sm","icon","icon-lg"].includes(t)},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},loadingText:{type:String,default:null},icon:{type:String,default:null},permission:{type:[String,Array,Boolean,Function],default:null},role:{type:[String,Array,Boolean,Function],default:null},requireAll:{type:Boolean,default:!1},unauthorized:{type:String,default:"show",validator:t=>["show","hide","disable"].includes(t)}},setup(t){const n=t,a=e.inject(_a,null),o=d=>d==null?null:typeof d=="boolean"?d:typeof d=="function"?!!d():d,r=e.computed(()=>{const d=o(n.permission),k=o(n.role);return d===null&&k===null?!0:(d===null||typeof d=="boolean")&&(k===null||typeof k=="boolean")?(d??!0)&&(k??!0):typeof a=="function"?!!a({permission:d,role:k,requireAll:n.requireAll}):!0}),l=e.computed(()=>n.unauthorized==="hide"&&!r.value),s=e.computed(()=>n.unauthorized==="disable"&&!r.value),c=e.computed(()=>n.disabled||n.loading||s.value),i=q.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium transition-[color,background-color,border-color,box-shadow,transform] duration-200 ease-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--ui-primary) focus-visible:ring-offset-2 active:scale-[0.98] disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{primary:"ui-primary-bg shadow-sm hover:bg-(--ui-primary-strong) hover:shadow-md",default:"ui-primary-bg shadow-sm hover:bg-(--ui-primary-strong) hover:shadow-md",danger:"ui-danger-bg shadow-sm hover:bg-(--ui-danger-strong) hover:shadow-md",outline:"border ui-border-strong ui-surface ui-text hover:bg-(--ui-surface-soft) hover:border-(--ui-primary) hover:text-(--ui-primary)",secondary:"border ui-border ui-surface-muted ui-text hover:bg-(--ui-surface-soft) hover:shadow-sm",ghost:"bg-transparent ui-text-muted hover:bg-[color:color-mix(in oklab, var(--ui-accent-soft), transparent 40%)] hover:text-(--ui-text)",link:"ui-primary underline-offset-4 hover:underline hover:text-(--ui-primary-strong)",success:"ui-success-bg shadow-sm hover:bg-(--ui-success-strong) hover:shadow-md",warning:"ui-warning-bg shadow-sm hover:bg-(--ui-warning-strong) hover:shadow-md",info:"border border-blue-600 bg-blue-600 text-white shadow-sm hover:bg-blue-700 hover:shadow-md dark:border-blue-500 dark:bg-blue-500 dark:text-white dark:hover:bg-blue-400",subtle:"border ui-border ui-surface ui-text-muted hover:text-(--ui-text) hover:bg-(--ui-surface-soft)",dark:"border border-zinc-900 bg-zinc-900 text-white shadow-sm hover:bg-black hover:shadow-md dark:border-zinc-100 dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-white",light:"border border-zinc-200 bg-white text-zinc-900 shadow-sm hover:bg-zinc-50 hover:shadow-md dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800",primaryOutline:"border border-(--ui-primary) ui-primary bg-transparent hover:bg-(--ui-primary-soft) hover:border-(--ui-primary-strong) hover:text-(--ui-primary-strong)",dangerOutline:"border border-(--ui-danger) ui-danger bg-transparent hover:bg-(--ui-danger-soft) hover:border-(--ui-danger-strong) hover:text-(--ui-danger-strong)",successOutline:"border border-(--ui-success) ui-success bg-transparent hover:bg-(--ui-success-soft) hover:border-(--ui-success-strong) hover:text-(--ui-success-strong)",gradient:"bg-linear-to-r from-(--ui-primary) to-(--ui-accent) ui-text-inverse shadow-sm hover:from-(--ui-primary-strong) hover:to-(--ui-accent-strong) hover:shadow-md"},size:{"2xs":"h-4 px-1 py-3 text-md rounded",xs:"h-7 px-2.5 py-1 text-xs rounded-md",sm:"h-8 px-3 py-1.5 text-sm rounded-md",default:"h-9 px-4 py-2 text-sm rounded-md",md:"h-10 px-4 py-2 text-sm rounded-md",lg:"h-11 px-6 py-2.5 text-base rounded-md",xl:"h-12 px-8 py-3 text-base rounded-lg","2xl":"h-14 px-10 py-3.5 text-lg rounded-lg","icon-sm":"h-8 w-8 p-0",icon:"h-10 w-10 p-0","icon-lg":"h-12 w-12 p-0"}},defaultVariants:{variant:"default",size:"default"}}),u=e.computed(()=>({"2xs":"h-3 w-3",xs:"h-3.5 w-3.5",sm:"h-4 w-4",default:"h-4 w-4",md:"h-4 w-4",lg:"h-5 w-5",xl:"h-5 w-5","2xl":"h-6 w-6","icon-sm":"h-4 w-4",icon:"h-5 w-5","icon-lg":"h-6 w-6"})[n.size]||"h-4 w-4"),f=e.computed(()=>({"2xs":"h-3 w-3",xs:"h-3.5 w-3.5",sm:"h-4 w-4",default:"h-4 w-4",md:"h-4 w-4",lg:"h-5 w-5",xl:"h-5 w-5","2xl":"h-6 w-6","icon-sm":"h-4 w-4",icon:"h-5 w-5","icon-lg":"h-6 w-6"})[n.size]||"h-4 w-4");return(d,k)=>l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",e.mergeProps({key:0,class:e.unref(A)(e.unref(i)({variant:t.variant,size:t.size}),d.$attrs.class),disabled:c.value,"aria-disabled":c.value,"aria-busy":t.loading},d.$attrs),[t.loading?(e.openBlock(),e.createElementBlock("svg",{key:0,class:e.normalizeClass([f.value,"animate-spin mr-2 text-current"]),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[...k[0]||(k[0]=[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e.createElementVNode("path",{class:"opacity-75",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-width":"4",d:"M4 12a8 8 0 018-8"},null,-1)])],2)):e.createCommentVNode("",!0),t.icon&&!t.loading?(e.openBlock(),e.createBlock(R,{key:1,icon:t.icon,class:e.normalizeClass(u.value)},null,8,["icon","class"])):e.createCommentVNode("",!0),t.loading&&t.loadingText?(e.openBlock(),e.createElementBlock("span",zc,e.toDisplayString(t.loadingText),1)):e.renderSlot(d.$slots,"default",{key:3})],16,Dc))}}),Tc={class:"flex items-center gap-3"},Ac={class:"relative"},Fc=["id","checked","indeterminate","disabled","required","aria-describedby"],Lc={class:"flex-1"},Mc=["for"],Yt={__name:"Checkbox",props:{modelValue:{type:[Boolean,Array],default:!1},value:{type:[String,Number,Boolean],default:null},label:{type:String,default:null},description:{type:String,default:null},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","error"].includes(t)},id:{type:String,default:null},error:{type:String,default:null}},emits:["update:modelValue","change"],setup(t,{emit:n}){const a={render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 12.75 6 6 9-13.5"})])}},o={render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M5 12h14"})])}},r=t,l=n,s=e.ref(null),c=e.computed(()=>r.id||e.useId()),i=e.computed(()=>Array.isArray(r.modelValue)?r.modelValue.includes(r.value):r.modelValue),u=m=>{const p=m.target.checked;if(Array.isArray(r.modelValue)){const w=[...r.modelValue];if(p)w.push(r.value);else{const N=w.indexOf(r.value);N>-1&&w.splice(N,1)}l("update:modelValue",w)}else l("update:modelValue",p);l("change",p)},f=()=>{!r.disabled&&s.value&&s.value.click()},d=e.computed(()=>{if(r.error)return`${c.value}-error`}),k=e.computed(()=>({sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"})[r.size]),b=e.computed(()=>["absolute inset-0 w-full h-full opacity-0 cursor-pointer",{"cursor-not-allowed":r.disabled}]),y=e.computed(()=>["flex items-center justify-center rounded border-2 transition-all duration-200","cursor-pointer select-none",k.value,{"ui-primary-bg border-(--ui-primary) ui-text":i.value&&!r.disabled&&r.variant==="default","ui-danger-bg border-(--ui-danger) ui-text":i.value&&!r.disabled&&r.variant==="error","ui-bg ui-border-strong ui-text":i.value&&r.disabled,"ui-surface ui-border-strong hover:border-(--ui-border-strong)":!i.value&&!r.disabled&&r.variant==="default","ui-surface border-(--ui-danger-soft) hover:border-(--ui-danger-soft)":!i.value&&!r.disabled&&r.variant==="error","ui-surface-muted ui-border-strong ":!i.value&&r.disabled,"cursor-not-allowed":r.disabled,"focus-within:ring-2 focus-within:ring-offset-2":!r.disabled,"focus-within:ring-(--ui-primary)":!r.disabled&&r.variant==="default","focus-within:ring-(--ui-danger)":!r.disabled&&r.variant==="error"}]),v=e.computed(()=>["text-sm font-medium cursor-pointer select-none",{"ui-text":!r.disabled,"ui-text-muted":r.disabled}]),g=e.computed(()=>["text-xs ui-text mt-1"]);return e.watch(()=>r.indeterminate,m=>{s.value&&(s.value.indeterminate=m)},{immediate:!0}),(m,p)=>(e.openBlock(),e.createElementBlock("div",Tc,[e.createElementVNode("div",Ac,[e.createElementVNode("input",{id:c.value,ref_key:"checkboxRef",ref:s,type:"checkbox",checked:i.value,indeterminate:t.indeterminate,disabled:t.disabled,required:t.required,class:e.normalizeClass(b.value),"aria-describedby":d.value,onChange:u},null,42,Fc),e.createElementVNode("div",{class:e.normalizeClass(y.value),onClick:f},[i.value&&!t.indeterminate?(e.openBlock(),e.createBlock(a,{key:0,class:"w-3 h-3"})):t.indeterminate?(e.openBlock(),e.createBlock(o,{key:1,class:"w-3 h-3"})):e.createCommentVNode("",!0)],2)]),e.createElementVNode("div",Lc,[e.createElementVNode("label",{for:c.value,class:e.normalizeClass(v.value)},[e.renderSlot(m.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],10,Mc),t.description?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(g.value)},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0)])]))}},Ic={key:0,class:"px-3 text-sm ui-text ui-surface dark:bg-(----ui-bg) dark:text-(--ui-text) relative z-10"},qt={__name:"Divider",props:{orientation:{type:String,default:"horizontal",validator:t=>["horizontal","vertical"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},color:{type:String,default:"gray",validator:t=>["gray","primary","secondary"].includes(t)},faded:{type:Boolean,default:!1},label:{type:String,default:null},spacing:{type:String,default:null}},setup(t){const n=t,a=q.cva("divider relative flex items-center",{variants:{orientation:{horizontal:"w-full h-px flex items-center",vertical:"h-full w-px"},size:{sm:"",md:"",lg:""},color:{gray:"ui-bg dark:bg-(--ui-bg)",primary:"ui-primary-bg",secondary:"ui-bg"}},compoundVariants:[{orientation:"horizontal",size:"sm",class:"my-2"},{orientation:"horizontal",size:"md",class:"my-4"},{orientation:"horizontal",size:"lg",class:"my-6"},{orientation:"vertical",size:"sm",class:"mx-2"},{orientation:"vertical",size:"md",class:"mx-4"},{orientation:"vertical",size:"lg",class:"mx-6"}],defaultVariants:{orientation:"horizontal",size:"md",color:"gray"}}),o=e.computed(()=>n.spacing?n.spacing:"");return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(A)(e.unref(a)({orientation:t.orientation,size:t.size,color:t.color}),{"opacity-50":t.faded},o.value))},[t.label&&t.orientation==="horizontal"?(e.openBlock(),e.createElementBlock("span",Ic,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)],2))}},_c=["aria-label"],Pc={key:0,class:"sr-only"},Gt={__name:"Spinner",props:{size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","primary","secondary"].includes(t)},label:{type:String,default:"Loading..."},class:String},setup(t){const n=t,a=q.cva("inline-flex items-center justify-center",{variants:{variant:{default:"text-muted-foreground",primary:"ui-primary",secondary:"text-secondary-foreground"}}}),o=q.cva("animate-spin",{variants:{size:{xs:"h-3 w-3",sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8",xl:"h-12 w-12"}}}),r=e.computed(()=>A(a({variant:n.variant}),n.class)),l=e.computed(()=>o({size:n.size}));return(s,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value),role:"status","aria-label":t.label},[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(l.value),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[...c[0]||(c[0]=[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])],2)),t.label?(e.openBlock(),e.createElementBlock("span",Pc,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)],10,_c))}},Oc=["src","alt","loading"],tr={__name:"Image",props:{src:{type:String,required:!0},alt:{type:String,default:""},aspectRatio:{type:String,default:"auto",validator:t=>["auto","square","16/9","4/3","3/2"].includes(t)},objectFit:{type:String,default:"cover",validator:t=>["cover","contain","fill","none","scale-down"].includes(t)},loading:{type:String,default:"lazy",validator:t=>["lazy","eager"].includes(t)},showSpinner:{type:Boolean,default:!0},class:String},emits:["load","error"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!0),l=e.ref(!1),s=q.cva("relative overflow-hidden ui-surface-muted",{variants:{aspectRatio:{auto:"",square:"aspect-square","16/9":"aspect-video","4/3":"aspect-[4/3]","3/2":"aspect-[3/2]"}}}),c=e.computed(()=>A(s({aspectRatio:a.aspectRatio}),a.class)),i=e.computed(()=>A("h-full w-full transition-opacity duration-300",{"object-cover":a.objectFit==="cover","object-contain":a.objectFit==="contain","object-fill":a.objectFit==="fill","object-none":a.objectFit==="none","object-scale-down":a.objectFit==="scale-down"},r.value&&"opacity-0",l.value&&"hidden")),u=e.computed(()=>"absolute inset-0 flex items-center justify-center ui-surface-muted"),f=e.computed(()=>"absolute inset-0 flex flex-col items-center justify-center gap-2 ui-surface-muted"),d=b=>{r.value=!1,l.value=!1,o("load",b)},k=b=>{r.value=!1,l.value=!0,o("error",b)};return(b,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value)},[e.createElementVNode("img",{src:t.src,alt:t.alt,class:e.normalizeClass(i.value),loading:t.loading,onLoad:d,onError:k},null,42,Oc),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(u.value)},[t.showSpinner?(e.openBlock(),e.createBlock(Gt,{key:0,size:"sm"})):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(f.value)},[e.createVNode(R,{name:"ImageOff",class:"h-8 w-8 ui-text"}),y[0]||(y[0]=e.createElementVNode("span",{class:"text-sm ui-text"},"Failed to load image",-1))],2)):e.createCommentVNode("",!0)],2))}},jc={class:"relative"},Rc={key:0,class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},Hc=["id","type","value","placeholder","disabled","readonly","required","autocomplete","aria-describedby","aria-invalid"],Uc={key:1,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},Wc=["aria-label"],ze={__name:"Input",props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text",validator:t=>["text","email","password","number","tel","url","search","date","time","color","file"].includes(t)},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","error","success"].includes(t)},iconLeft:{type:[String,Object],default:null},iconRight:{type:[String,Object],default:null},clearable:{type:Boolean,default:!1},clearLabel:{type:String,default:"Clear input"},autocomplete:{type:String,default:null},error:{type:String,default:null},id:{type:String,default:null}},emits:["update:modelValue","blur","focus","clear","keydown"],setup(t,{expose:n,emit:a}){const o=t,r=a,l=e.ref(null),s=e.computed(()=>o.id||e.useId()),c=p=>{r("update:modelValue",p.target.value)},i=p=>{r("blur",p)},u=p=>{r("focus",p)},f=p=>{r("keydown",p)},d=()=>{r("update:modelValue",""),r("clear"),l.value?.focus()},k=e.computed(()=>!!o.error||o.variant==="error"),b=e.computed(()=>{if(o.error)return`${s.value}-error`}),y=e.computed(()=>({sm:"px-3 py-1.5 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"})[o.size]),v=e.computed(()=>({default:"ui-border-strong focus:border-(--ui-primary) focus:ring-(--ui-primary)",error:"border-(--ui-danger-soft) focus:border-(--ui-danger) focus:ring-(--ui-danger)",success:"border-(--ui-success-soft) focus:border-(--ui-success) focus:ring-(--ui-success)"})[o.variant]),g=e.computed(()=>["ui-text",{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}[o.size]]),m=e.computed(()=>["block rounded-lg border ui-surface transition-colors duration-200","focus:outline-none focus:ring-2 focus:ring-offset-0","disabled:bg-(--ui-surface) disabled:text-(--ui-text) disabled:cursor-not-allowed","placeholder:text-(--ui-text-muted)",o.type==="color"?"w-20 h-12 cursor-pointer":"w-full",y.value,v.value,{"pl-10":o.iconLeft,"pr-10":o.iconRight||o.clearable}]);return n({focus:()=>l.value?.focus(),blur:()=>l.value?.blur(),select:()=>l.value?.select()}),(p,w)=>(e.openBlock(),e.createElementBlock("div",jc,[t.iconLeft?(e.openBlock(),e.createElementBlock("div",Rc,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconLeft),{class:e.normalizeClass(g.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("input",{id:s.value,ref_key:"inputRef",ref:l,type:t.type,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,class:e.normalizeClass(m.value),"aria-describedby":b.value,"aria-invalid":k.value,onInput:c,onBlur:i,onFocus:u,onKeydown:f},null,42,Hc),t.iconRight||t.clearable?(e.openBlock(),e.createElementBlock("div",Uc,[t.clearable&&t.modelValue&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,class:"ui-text hover:text-(--ui-text) transition-colors",type:"button","aria-label":t.clearLabel,onClick:d},[e.createVNode(R,{name:"x",class:"w-5 h-5"})],8,Wc)):t.iconRight?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconRight),{key:1,class:e.normalizeClass(g.value)},null,8,["class"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}},Yc=["for"],nt={__name:"Label",props:{htmlFor:String,size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},required:Boolean,disabled:Boolean,class:String},setup(t){const n=t,a=q.cva("font-medium leading-none ui-text peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-sm",md:"text-sm",lg:"text-base"}}}),o=e.computed(()=>A(a({size:n.size}),n.disabled&&"cursor-not-allowed opacity-70",n.class));return(r,l)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(o.value),for:t.htmlFor},[e.renderSlot(r.$slots,"default")],10,Yc))}},Te={__name:"Link",props:{href:{type:String,default:null},to:{type:[String,Object],default:null},external:{type:Boolean,default:!1},target:{type:String,default:null},rel:{type:String,default:null},variant:{type:String,default:"primary",validator:t=>["primary","secondary","muted","danger","success"].includes(t)},size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},underline:{type:String,default:"hover",validator:t=>["always","hover","never"].includes(t)},disabled:{type:Boolean,default:!1},icon:{type:String,default:null},iconPosition:{type:String,default:"left",validator:t=>["left","right"].includes(t)},showExternalIcon:{type:Boolean,default:!0},block:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:n}){const a=t,o=e.computed(()=>a.to&&!a.href?"router-link":a.href||a.external?"a":"button"),r=e.computed(()=>`w-4 h-4 ${a.iconPosition==="left"?"mr-2":"ml-2"}`),l=q.cva("transition-colors duration-200 inline-flex items-center",{variants:{variant:{primary:"ui-primary hover:text-(--ui-primary-strong)",secondary:"ui-text hover:text-(--ui-primary)",muted:"text-(--ui-text-muted) hover:text-(--ui-text)",danger:"ui-danger hover:text-(--ui-danger-strong)",success:"ui-success hover:text-(--ui-success-strong)"},size:{xs:"text-xs",sm:"text-sm",md:"text-base",lg:"text-lg",xl:"text-xl"},underline:{always:"underline",hover:"hover:underline",never:"no-underline"},block:{true:"block w-full",false:"inline-flex items-center"},disabled:{true:"opacity-50 cursor-not-allowed pointer-events-none",false:"cursor-pointer"}},defaultVariants:{variant:"primary",size:"md",underline:"hover",block:!1,disabled:!1}}),s=i=>{if(a.disabled){i.preventDefault();return}c("click",i)},c=n;return(i,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{href:o.value==="a"?t.href:void 0,to:o.value==="router-link"?t.to:void 0,target:t.external?"_blank":t.target,rel:t.external?"noopener noreferrer":t.rel,class:e.normalizeClass(e.unref(A)(e.unref(l)({variant:t.variant,size:t.size,underline:t.underline,block:t.block,disabled:t.disabled}),i.$attrs.class)),onClick:s},{default:e.withCtx(()=>[t.icon&&t.iconPosition==="left"?(e.openBlock(),e.createBlock(R,{key:0,name:t.icon,class:e.normalizeClass(r.value)},null,8,["name","class"])):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default"),t.icon&&t.iconPosition==="right"?(e.openBlock(),e.createBlock(R,{key:1,name:t.icon,class:e.normalizeClass(r.value)},null,8,["name","class"])):e.createCommentVNode("",!0),t.external&&t.showExternalIcon?(e.openBlock(),e.createBlock(R,{key:2,name:"external-link",class:"w-3 h-3 ml-1 inline-block"})):e.createCommentVNode("",!0)]),_:3},8,["href","to","target","rel","class"]))}},qc=["src","alt"],Pa={__name:"Logo",props:{src:String,alt:String,text:String,size:{type:String,default:"md",validator:t=>["sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","minimal"].includes(t)},class:String},setup(t){const n=t,a=q.cva("flex items-center",{variants:{size:{sm:"h-6",md:"h-8",lg:"h-10",xl:"h-12"}}}),o=e.computed(()=>A(a({size:n.size}),n.class)),r=e.computed(()=>A("h-full w-auto object-contain")),l=e.computed(()=>A("font-bold ui-text",{"text-lg":n.size==="sm","text-xl":n.size==="md","text-2xl":n.size==="lg","text-3xl":n.size==="xl"}));return(s,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[t.src?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.src,alt:t.alt||"Logo",class:e.normalizeClass(r.value)},null,10,qc)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(l.value)},e.toDisplayString(t.text||"Logo"),3))],2))}},Gc=["value","disabled","selected"],Kt={__name:"Option",props:{value:{type:[String,Number,Boolean],required:!0},label:{type:String,default:""},disabled:{type:Boolean,default:!1},selected:{type:Boolean,default:!1}},setup(t){const n=t,a=e.computed(()=>["ui-surface-strong","ui-text",n.disabled?"ui-text-soft":"ui-text"]);return(o,r)=>(e.openBlock(),e.createElementBlock("option",{value:t.value,disabled:t.disabled,selected:t.selected,class:e.normalizeClass(a.value)},[e.renderSlot(o.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],10,Gc))}},Kc=["aria-valuenow"],ar={__name:"Progress",props:{value:{type:Number,default:0},max:{type:Number,default:100},size:{type:String,default:"default",validator:t=>["sm","md","lg","default"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","success","warning","danger"].includes(t)}},setup(t){const n=t,a=e.computed(()=>{const l=n.value/n.max*100;return Math.min(Math.max(l,0),100)}),o=q.cva("relative w-full overflow-hidden rounded-full ui-surface-muted border",{variants:{size:{sm:"h-1.5",default:"h-2",md:"h-3",lg:"h-4"}},defaultVariants:{size:"default"}}),r=q.cva("h-full w-full flex-1 transition-all duration-300 ease-in-out rounded-full",{variants:{variant:{default:"ui-primary-bg",success:"ui-success-bg",warning:"ui-warning-bg",danger:"ui-danger-bg"}},defaultVariants:{variant:"default"}});return(l,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(A)(e.unref(o)({size:t.size}),l.$attrs.class))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(A)(e.unref(r)({variant:t.variant}))),style:e.normalizeStyle({width:`${a.value}%`}),role:"progressbar","aria-valuenow":a.value,"aria-valuemin":0,"aria-valuemax":100},null,14,Kc)],2))}},Xc=["aria-valuenow"],nr={__name:"ProgressBar",props:{value:{type:Number,default:0},max:{type:Number,default:100},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","success","warning","danger"].includes(t)},showLabel:Boolean,class:String},setup(t){const n=t,a=e.computed(()=>{const b=n.max>0?n.max:100,y=n.value/b*100;return Math.min(Math.max(y,0),100)}),o=q.cva("relative w-full overflow-hidden rounded-full ui-surface-muted border ui-border-strong",{variants:{size:{sm:"h-2",md:"h-3",lg:"h-4"}}}),r=q.cva("h-full w-full flex-1 transition-[width,background-color] duration-300 ease-in-out"),l=e.computed(()=>A(o({size:n.size}),n.class)),s=[{max:20,class:"bg-red-700"},{max:40,class:"bg-orange-600"},{max:60,class:"bg-amber-500"},{max:80,class:"bg-lime-600"},{max:100,class:"bg-emerald-700"}],c={success:[{max:33,class:"bg-emerald-500"},{max:66,class:"bg-emerald-600"},{max:100,class:"bg-emerald-700"}],warning:[{max:33,class:"bg-amber-500"},{max:66,class:"bg-amber-600"},{max:100,class:"bg-orange-700"}],danger:[{max:33,class:"bg-rose-500"},{max:66,class:"bg-red-600"},{max:100,class:"bg-red-700"}]},i=(b,y)=>b.find(v=>y<=v.max)?.class||b[b.length-1].class,u=e.computed(()=>{if(n.variant==="default")return i(s,a.value);const b=c[n.variant]||s;return i(b,a.value)}),f=e.computed(()=>A(r(),u.value)),d=e.computed(()=>"absolute inset-0 flex items-center justify-center text-xs font-medium ui-text"),k=e.computed(()=>({width:`${a.value}%`}));return(b,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.createElementVNode("div",{class:e.normalizeClass(f.value),style:e.normalizeStyle(k.value),role:"progressbar","aria-valuenow":a.value,"aria-valuemin":0,"aria-valuemax":100},null,14,Xc),t.showLabel?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(d.value)},e.toDisplayString(a.value)+"% ",3)):e.createCommentVNode("",!0)],2))}},Jc=["width","height","viewBox"],Qc=["cx","cy","r","stroke","stroke-width"],Zc=["cx","cy","r","stroke","stroke-width","stroke-dasharray","stroke-dashoffset","stroke-linecap"],eu={key:0,class:"absolute inset-0 flex items-center justify-center"},Oa={__name:"CircularProgress",props:{value:{type:[Number,String],default:0},max:{type:[Number,String],default:100},size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","success","warning","danger"].includes(t)},showValue:{type:Boolean,default:!0},showRawValue:{type:Boolean,default:!1},dynamicColor:{type:Boolean,default:!0},dynamicColorStops:{type:Array,default:()=>[{max:39,stroke:"#ef4444",textClass:"text-red-700"},{max:79,stroke:"#f97316",textClass:"text-orange-700"},{max:100,stroke:"#22c55e",textClass:"text-green-700"}]},dynamicFallbackStroke:{type:String,default:"#22c55e"},dynamicFallbackTextClass:{type:String,default:"text-green-700"},strokeLinecap:{type:String,default:"round",validator:t=>["butt","round","square"].includes(t)}},setup(t){const n=t,a=e.computed(()=>parseFloat(n.value)||0),o=e.computed(()=>parseFloat(n.max)||100),r=e.computed(()=>{const v=a.value/o.value*100;return Math.min(Math.max(v,0),100)}),l=e.computed(()=>({xs:42,sm:48,md:64,lg:80,xl:96})[n.size]||64),s=e.computed(()=>({xs:2.5,sm:4,md:5,lg:6,xl:7})[n.size]||5),c=e.computed(()=>l.value/2),i=e.computed(()=>c.value-s.value/2),u=e.computed(()=>2*Math.PI*i.value),f=e.computed(()=>u.value-r.value/100*u.value),d=e.computed(()=>{const v=r.value;return[...Array.isArray(n.dynamicColorStops)?n.dynamicColorStops:[]].sort((p,w)=>Number(p?.max??0)-Number(w?.max??0)).find(p=>v<=Number(p?.max??0))||null}),k=e.computed(()=>{if(n.dynamicColor)return d.value?.stroke||n.dynamicFallbackStroke;const v={default:"var(--ui-primary)",success:"var(--ui-success)",warning:"var(--ui-warning)",danger:"var(--ui-danger)"};return v[n.variant]||v.default}),b=e.computed(()=>"var(--ui-border-strong)"),y=e.computed(()=>{if(n.dynamicColor)return d.value?.textClass||n.dynamicFallbackTextClass;const v={default:"ui-primary",success:"ui-success",warning:"ui-warning",danger:"ui-danger"};return v[n.variant]||v.default});return(v,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(A)("relative inline-flex items-center justify-center",v.$attrs.class))},[(e.openBlock(),e.createElementBlock("svg",{width:l.value,height:l.value,viewBox:`0 0 ${l.value} ${l.value}`,class:"transform -rotate-90"},[e.createElementVNode("circle",{cx:c.value,cy:c.value,r:i.value,stroke:b.value,"stroke-width":s.value,fill:"none"},null,8,Qc),e.createElementVNode("circle",{cx:c.value,cy:c.value,r:i.value,stroke:k.value,"stroke-width":s.value,fill:"none","stroke-dasharray":u.value,"stroke-dashoffset":f.value,"stroke-linecap":t.strokeLinecap,class:"transition-all duration-300 ease-in-out"},null,8,Zc)],8,Jc)),t.showValue?(e.openBlock(),e.createElementBlock("div",eu,[e.createElementVNode("span",{class:e.normalizeClass(e.unref(A)("text-xs font-medium",y.value))},e.toDisplayString(t.showRawValue?a.value.toFixed(2):Math.round(r.value)+"%"),3)])):e.createCommentVNode("",!0)],2))}},tu={class:"flex items-center space-x-2"},au=["aria-checked","disabled"],or={__name:"Radio",props:{modelValue:null,value:{type:[String,Number,Boolean],required:!0},label:String,disabled:Boolean,size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},class:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=e.computed(()=>a.modelValue===a.value),l=q.cva("aspect-square rounded-full border border-(--ui-primary) ui-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-(--ui-primary) focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"}}}),s=e.computed(()=>A(l({size:a.size}),a.disabled&&"cursor-not-allowed opacity-50",a.class)),c=e.computed(()=>A("flex items-center justify-center rounded-full bg-primary",{"h-2 w-2":a.size==="sm","h-2.5 w-2.5":a.size==="md","h-3 w-3":a.size==="lg"})),i=e.computed(()=>A("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",!a.disabled&&"cursor-pointer")),u=()=>{a.disabled||o("update:modelValue",a.value)};return(f,d)=>(e.openBlock(),e.createElementBlock("div",tu,[e.createElementVNode("button",{type:"button",role:"radio","aria-checked":r.value,disabled:t.disabled,class:e.normalizeClass(s.value),onClick:u},[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(c.value)},null,2)):e.createCommentVNode("",!0)],10,au),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(i.value),onClick:u},e.toDisplayString(t.label),3)):e.createCommentVNode("",!0)]))}},nu=["id","name","value","disabled","required"],ou={key:1,class:"relative"},ru=["id","disabled"],lu={key:0,class:"ui-text-muted"},su={key:1,class:"ui-text"},iu={class:"px-3 py-2 border-b ui-border"},cu=["onKeydown"],uu=["onClick"],du={class:"block font-normal truncate"},mu={key:0,class:"absolute inset-y-0 right-0 flex items-center pr-4 ui-primary"},fu={key:1,class:"px-4 py-3 text-sm ui-text text-center"},pu={key:2,class:"px-4 py-3"},Ue=12,St=4,Rn=320,gu=180,vu=10050,Le={__name:"Select",props:{modelValue:{type:[String,Number,Boolean],default:""},options:{type:Array,default:()=>[]},placeholder:{type:String,default:null},hasError:{type:Boolean,default:!1},id:{type:String,default:null},name:{type:String,default:null},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},allowCreate:{type:Boolean,default:!1},class:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=e.ref(""),s=e.ref(null),c=e.ref(null),i=e.ref(null),u=e.ref([...a.options]),f=e.ref({}),d=e.computed(()=>a.options.find(_=>_.value===a.modelValue)),k=q.cva("border ui-border-strong rounded-md focus:outline-none focus:ring-2 focus:ring-(--ui-primary) text-sm min-w-[60px] focus:border-transparent ",{variants:{disabled:{true:"ui-surface-muted cursor-not-allowed opacity-50",false:"ui-surface hover:border-(--ui-border-strong)"}}}),b=e.computed(()=>A(k({disabled:a.disabled}),"px-3 py-2",a.class)),y=e.computed(()=>A("w-full px-3 py-2 text-left border rounded-md focus:outline-none focus:ring-2 focus:ring-(--ui-primary) ui-surface ",a.hasError?"border-(--ui-danger)":"ui-border",a.disabled?"ui-surface-muted cursor-not-allowed opacity-50":"hover:border-(--ui-border-strong)",a.class)),v=()=>{if(!c.value||!r.value)return;const _=c.value.getBoundingClientRect(),H=window.innerWidth,G=window.innerHeight,K=Math.max(0,G-_.bottom-St-Ue),z=Math.max(0,_.top-St-Ue),I=z>K,j=Math.max(Math.min(Rn,I?z:K),Math.min(gu,Rn)),U=Math.max(0,H-Ue*2),O=Math.min(_.width,U);let S=_.left;S+O>H-Ue&&(S=H-Ue-O),S<Ue&&(S=Ue),f.value={position:"fixed",left:`${S}px`,width:`${O}px`,maxHeight:`${j}px`,zIndex:vu,...I?{bottom:`${G-_.top+St}px`}:{top:`${_.bottom+St}px`}}},g=()=>{a.disabled||(r.value=!r.value,r.value&&(v(),e.nextTick(()=>{s.value?.focus()})))},m=_=>{o("update:modelValue",_),r.value=!1,l.value="",u.value=[...a.options]},p=_=>{if(_&&(_.stopPropagation(),_.preventDefault()),a.allowCreate&&l.value.trim()){const H=l.value.trim();o("update:modelValue",H),r.value=!1,l.value="",u.value=[...a.options]}},w=()=>{if(!l.value.trim())u.value=[...a.options];else{const _=l.value.toLowerCase();u.value=a.options.filter(H=>H.label.toLowerCase().includes(_))}},N=_=>{_.key==="Escape"?(r.value=!1,l.value="",u.value=[...a.options]):_.key==="Enter"&&a.allowCreate&&l.value.trim()&&u.value.length===0&&(_.preventDefault(),p(_))},P=_=>{if(!c.value)return;const H=_.target,G=i.value&&i.value.contains(H),K=c.value.contains(H);!G&&!K&&(r.value=!1,l.value="",u.value=[...a.options])};return e.onMounted(()=>{document.addEventListener("click",P),window.addEventListener("scroll",v,!0),window.addEventListener("resize",v)}),e.onUnmounted(()=>{document.removeEventListener("click",P),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}),e.watch(()=>a.options,_=>{u.value=[..._]},{immediate:!0}),e.watch(r,_=>{_&&v()}),(_,H)=>!t.options||t.options.length===0?(e.openBlock(),e.createElementBlock("select",e.mergeProps({key:0,id:t.id,name:t.name,value:t.modelValue,disabled:t.disabled,required:t.required,class:b.value},_.$attrs,{onChange:H[0]||(H[0]=G=>_.$emit("update:modelValue",G.target.value))}),[e.renderSlot(_.$slots,"default")],16,nu)):(e.openBlock(),e.createElementBlock("div",ou,[e.createElementVNode("button",{id:t.id,ref_key:"buttonRef",ref:c,type:"button",disabled:t.disabled,class:e.normalizeClass(y.value),onClick:g,onKeydown:N},[d.value?(e.openBlock(),e.createElementBlock("div",su,e.toDisplayString(d.value.label),1)):(e.openBlock(),e.createElementBlock("div",lu,e.toDisplayString(t.placeholder||"Select an option"),1)),H[4]||(H[4]=e.createElementVNode("svg",{class:"absolute right-2 top-2.5 h-5 w-5 ui-text",fill:"currentColor",viewBox:"0 0 20 20"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1))],42,ru),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:i,style:e.normalizeStyle(f.value),"data-select-dropdown":"",class:"ui-surface border ui-border-strong shadow-lg rounded-md py-1 text-base overflow-hidden focus:outline-none flex flex-col overscroll-contain"},[e.createElementVNode("div",iu,[e.withDirectives(e.createElementVNode("input",{ref_key:"searchInput",ref:s,"onUpdate:modelValue":H[1]||(H[1]=G=>l.value=G),type:"text",placeholder:"Search options...",class:"w-full px-2 py-1 text-sm border ui-border-strong rounded focus:outline-none focus:ring-1 focus:ring-(--ui-primary) ui-surface placeholder:text-(--ui-text-muted)",onInput:w,onKeydown:[N,e.withKeys(e.withModifiers(N,["prevent"]),["enter"])]},null,40,cu),[[e.vModelText,l.value]])]),u.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"overflow-y-auto flex-1 overscroll-contain",onWheel:H[2]||(H[2]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,G=>(e.openBlock(),e.createElementBlock("button",{key:G.value,type:"button",class:e.normalizeClass(["cursor-pointer select-none relative py-2 pl-3 pr-9 w-full text-left hover:bg-(--ui-primary-soft) focus:bg-(--ui-primary-soft) focus:outline-none transition-colors duration-150",{"ui-primary-soft ui-primary":t.modelValue===G.value}]),onClick:e.withModifiers(K=>m(G.value),["stop"])},[e.createElementVNode("span",du,e.toDisplayString(G.label),1),t.modelValue===G.value?(e.openBlock(),e.createElementBlock("span",mu,[...H[5]||(H[5]=[e.createElementVNode("svg",{class:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z","clip-rule":"evenodd"})],-1)])])):e.createCommentVNode("",!0)],10,uu))),128))],32)):a.allowCreate?(e.openBlock(),e.createElementBlock("div",pu,[e.createElementVNode("button",{type:"button",class:"w-full text-left px-2 py-1 text-sm ui-primary hover:bg-(--ui-primary-soft) rounded cursor-pointer transition-colors",onClick:e.withModifiers(p,["stop"]),onMousedown:H[3]||(H[3]=e.withModifiers(()=>{},["prevent"]))},' Create "'+e.toDisplayString(l.value)+'" ',33)])):(e.openBlock(),e.createElementBlock("div",fu," No options found "))],4)):e.createCommentVNode("",!0)]))]))}},hu=["aria-checked","disabled"],ja={__name:"Switch",props:{modelValue:Boolean,disabled:Boolean,size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},class:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=q.cva("inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--ui-ring) focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-5 w-9",md:"h-6 w-11",lg:"h-7 w-12"},checked:{true:"ui-danger-bg border-(--ui-danger)",false:"ui-surface-soft border-(--ui-border-strong)"}}}),l=q.cva("pointer-events-none block rounded-full ui-surface border ui-border-strong shadow-sm ring-0 transition-transform",{variants:{size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{true:"",false:""}},compoundVariants:[{size:"sm",checked:!0,class:"translate-x-4"},{size:"sm",checked:!1,class:"translate-x-0"},{size:"md",checked:!0,class:"translate-x-5"},{size:"md",checked:!1,class:"translate-x-0"},{size:"lg",checked:!0,class:"translate-x-5"},{size:"lg",checked:!1,class:"translate-x-0"}]}),s=e.computed(()=>A(r({size:a.size,checked:a.modelValue}),a.class)),c=e.computed(()=>l({size:a.size,checked:a.modelValue})),i=()=>{a.disabled||o("update:modelValue",!a.modelValue)};return(u,f)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,disabled:t.disabled,class:e.normalizeClass(s.value),onClick:i},[e.createElementVNode("span",{class:e.normalizeClass(c.value)},null,2)],10,hu))}},_t={__name:"Text",props:{as:{type:String,default:"p"},size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","muted","danger"].includes(t)},weight:{type:String,default:"normal",validator:t=>["normal","medium","semibold","bold"].includes(t)},align:{type:String,default:"left",validator:t=>["left","center","right","justify"].includes(t)},class:String},setup(t){const n=t,a=q.cva("leading-relaxed",{variants:{size:{xs:"text-xs",sm:"text-sm",md:"text-base",lg:"text-lg",xl:"text-xl"},variant:{default:"ui-text",muted:"ui-text",danger:"ui-danger"},weight:{normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},align:{left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"}}}),o=e.computed(()=>A(a({size:n.size,variant:n.variant,weight:n.weight,align:n.align}),n.class));return(r,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.as),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},8,["class"]))}},yu=["id","value","placeholder","disabled","readonly","required","rows","maxlength","aria-describedby","aria-invalid"],Ra={__name:"Textarea",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},rows:{type:Number,default:3},maxlength:{type:Number,default:null},resize:{type:String,default:"vertical",validator:t=>["none","vertical","horizontal","both"].includes(t)},autoResize:{type:Boolean,default:!1},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","error","success"].includes(t)},error:{type:String,default:null},id:{type:String,default:null}},emits:["update:modelValue","blur","focus","keydown"],setup(t,{expose:n,emit:a}){const o=t,r=a,l=e.ref(null),s=e.computed(()=>o.id||e.useId()),c=g=>{r("update:modelValue",g.target.value),o.autoResize&&e.nextTick(()=>v())},i=g=>r("blur",g),u=g=>r("focus",g),f=g=>r("keydown",g),d=e.computed(()=>!!o.error||o.variant==="error"),k=e.computed(()=>o.error?`${s.value}-error`:void 0),b=q.cva("block w-full rounded-lg border ui-surface transition-colors duration-200 placeholder:text-(--ui-text-muted) focus:outline-none focus:ring-2 focus:ring-offset-0 disabled:bg-(--ui-surface) disabled:text-(--ui-text) disabled:cursor-not-allowed",{variants:{size:{sm:"px-3 py-1.5 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"},variant:{default:"ui-border-strong focus:border-(--ui-primary) focus:ring-(--ui-primary)",error:"border-(--ui-danger-soft) focus:border-(--ui-danger) focus:ring-(--ui-danger)",success:"border-(--ui-success-soft) focus:border-(--ui-success) focus:ring-(--ui-success)"},resize:{none:"resize-none",vertical:"resize-y",horizontal:"resize-x",both:"resize"}},defaultVariants:{size:"md",variant:"default",resize:"vertical"}}),y=e.computed(()=>A(b({size:o.size,variant:o.variant,resize:o.resize}))),v=()=>{if(!l.value||!o.autoResize)return;const g=l.value;g.style.height="auto",g.style.height=`${g.scrollHeight}px`};return e.watch(()=>o.modelValue,()=>{o.autoResize&&e.nextTick(()=>v())},{immediate:!0}),n({focus:()=>l.value?.focus(),blur:()=>l.value?.blur(),select:()=>l.value?.select()}),(g,m)=>(e.openBlock(),e.createElementBlock("textarea",{id:s.value,ref_key:"textareaRef",ref:l,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,rows:t.rows,maxlength:t.maxlength,class:e.normalizeClass(y.value),"aria-describedby":k.value,"aria-invalid":d.value,onInput:c,onBlur:i,onFocus:u,onKeydown:f},null,42,yu))}},Ha={__name:"Tooltip",props:{content:{type:String,required:!0},placement:{type:String,default:"top",validator:t=>["top","bottom","left","right"].includes(t)},delay:{type:Number,default:0},class:String},setup(t){const n=t,a=e.ref(!1),o=e.ref(null),r=e.ref(null),l=e.ref({});let s=null;const c=q.cva("fixed z-[9999] px-3 py-1.5 text-sm ui-text ui-surface rounded-md shadow-lg pointer-events-none whitespace-nowrap",{variants:{placement:{top:"",bottom:"",left:"",right:""}}}),i=q.cva("absolute w-2 h-2 bg-primary transform rotate-45",{variants:{placement:{top:"top-full left-1/2 transform -translate-x-1/2 -mt-1",bottom:"bottom-full left-1/2 transform -translate-x-1/2 -mb-1",left:"left-full top-1/2 transform -translate-y-1/2 -ml-1",right:"right-full top-1/2 transform -translate-y-1/2 -mr-1"}}}),u=e.computed(()=>A(c({placement:n.placement}),n.class)),f=e.computed(()=>i({placement:n.placement})),d=()=>{if(!o.value||!r.value)return;const y=o.value.getBoundingClientRect(),v=r.value.getBoundingClientRect();let g=0,m=0;const p=8;switch(n.placement){case"top":g=y.top-v.height-p,m=y.left+y.width/2-v.width/2;break;case"bottom":g=y.bottom+p,m=y.left+y.width/2-v.width/2;break;case"left":g=y.top+y.height/2-v.height/2,m=y.left-v.width-p;break;case"right":g=y.top+y.height/2-v.height/2,m=y.right+p;break}const w=8;m<w&&(m=w),m+v.width>window.innerWidth-w&&(m=window.innerWidth-v.width-w),g<w&&(g=w),g+v.height>window.innerHeight-w&&(g=window.innerHeight-v.height-w),l.value={top:`${g}px`,left:`${m}px`}},k=()=>{s&&clearTimeout(s),s=setTimeout(async()=>{a.value=!0,await e.nextTick(),d()},n.delay)},b=()=>{s&&clearTimeout(s),a.value=!1};return(y,v)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"triggerRef",ref:o,class:"relative inline-block",onMouseenter:k,onMouseleave:b},[e.renderSlot(y.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"tooltipRef",ref:r,class:e.normalizeClass(u.value),style:e.normalizeStyle(l.value),role:"tooltip"},[e.createTextVNode(e.toDisplayString(t.content)+" ",1),e.createElementVNode("div",{class:e.normalizeClass(f.value)},null,2)],6)):e.createCommentVNode("",!0)]),_:1})]))],544))}},bu={key:0,class:"ui-danger ml-1","aria-hidden":"true"},Ve={__name:"Typography",props:{variant:{type:String,default:"body-md",validator:t=>["body-2xs","body-xs","body-sm","body-md","body-lg","body-xl","body-2xl","text-2xs","text-xs","text-sm","text-md","text-lg","text-xl","text-2xl","display-xs","display-sm","display-md","display-lg","display-xl","display-2xl","caption","overline","label"].includes(t)},color:{type:String,default:"default",validator:t=>["default","primary","secondary","accent","success","warning","danger","info","muted","disabled","white","black"].includes(t)},align:{type:String,default:"left",validator:t=>["left","center","right","justify"].includes(t)},weight:{type:String,default:null,validator:t=>["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"].includes(t)},transform:{type:String,default:null,validator:t=>["uppercase","lowercase","capitalize","normal"].includes(t)},leading:{type:String,default:null,validator:t=>["none","tight","snug","normal","relaxed","loose"].includes(t)},tracking:{type:String,default:null,validator:t=>["tighter","tight","normal","wide","wider","widest"].includes(t)},italic:Boolean,underline:Boolean,lineThrough:Boolean,truncate:Boolean,noWrap:Boolean,required:Boolean,gradient:Boolean,maxLines:{type:Number,default:null},shadow:{type:String,default:null,validator:t=>["sm","md","lg","xl","2xl"].includes(t)},spacing:{type:String,default:null,validator:t=>["tight","normal","relaxed","loose"].includes(t)},responsive:Boolean,opacity:{type:Number,default:null,validator:t=>t>=0&&t<=100}},setup(t){const n=t,a=e.computed(()=>({"body-2xs":"p","body-xs":"p","body-sm":"p","body-md":"p","body-lg":"p","body-xl":"p","body-2xl":"p","text-2xs":"h6","text-xs":"h6","text-sm":"h5","text-md":"h4","text-lg":"h3","text-xl":"h2","text-2xl":"h1","display-xs":"h2","display-sm":"h2","display-md":"h1","display-lg":"h1","display-xl":"h1","display-2xl":"h1",caption:"span",overline:"span",label:"label"})[n.variant]||"p"),o=e.computed(()=>({"body-2xs":"text-[10px] leading-normal","body-xs":"text-xs leading-normal","body-sm":"text-sm leading-relaxed","body-md":"text-base leading-relaxed","body-lg":"text-lg leading-relaxed","body-xl":"text-xl leading-relaxed","body-2xl":"text-2xl leading-relaxed","text-2xs":"text-xs font-semibold leading-snug","text-xs":"text-sm font-semibold leading-snug","text-sm":"text-lg font-semibold leading-snug","text-md":"text-xl font-semibold leading-snug","text-lg":"text-2xl font-bold leading-snug","text-xl":"text-3xl font-bold leading-snug","text-2xl":"text-4xl font-bold leading-snug","display-xs":"text-3xl font-bold leading-tight tracking-tight","display-sm":"text-4xl font-bold leading-tight tracking-tight","display-md":"text-5xl font-bold leading-tight tracking-tight","display-lg":"text-6xl font-bold leading-tight tracking-tight","display-xl":"text-7xl font-bold leading-tight tracking-tighter","display-2xl":"text-8xl font-bold leading-tight tracking-tighter",caption:"text-xs leading-normal ui-text",overline:"text-xs font-medium uppercase tracking-wider leading-normal",label:"text-sm font-medium leading-normal"})[n.variant]),r=e.computed(()=>n.gradient?"bg-linear-to-r from-(--ui-primary) to-(--ui-accent) bg-clip-text text-transparent":{default:"ui-text",primary:"ui-primary",secondary:"ui-text",accent:"ui-accent",success:"ui-success",warning:"ui-warning",danger:"ui-danger",info:"ui-primary",muted:"ui-text",disabled:"ui-text",white:"ui-text",black:"ui-text"}[n.color]),l=e.computed(()=>({left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"})[n.align]),s=e.computed(()=>n.weight?{thin:"font-thin",extralight:"font-extralight",light:"font-light",normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold",extrabold:"font-extrabold",black:"font-black"}[n.weight]:""),c=e.computed(()=>n.transform?{uppercase:"uppercase",lowercase:"lowercase",capitalize:"capitalize",normal:"normal-case"}[n.transform]:""),i=e.computed(()=>n.leading?{none:"leading-none",tight:"leading-tight",snug:"leading-snug",normal:"leading-normal",relaxed:"leading-relaxed",loose:"leading-loose"}[n.leading]:""),u=e.computed(()=>n.tracking?{tighter:"tracking-tighter",tight:"tracking-tight",normal:"tracking-normal",wide:"tracking-wide",wider:"tracking-wider",widest:"tracking-widest"}[n.tracking]:""),f=e.computed(()=>n.shadow?{sm:"drop-shadow-sm",md:"drop-shadow-md",lg:"drop-shadow-lg",xl:"drop-shadow-xl","2xl":"drop-shadow-2xl"}[n.shadow]:""),d=e.computed(()=>n.spacing?{tight:"mb-1",normal:"mb-2",relaxed:"mb-4",loose:"mb-6"}[n.spacing]:""),k=e.computed(()=>n.responsive?"text-sm sm:text-base md:text-lg lg:text-xl":""),b=e.computed(()=>n.maxLines?`line-clamp-${n.maxLines}`:""),y=e.computed(()=>{const g={};return n.opacity!==null&&(g.opacity=n.opacity/100),g}),v=e.computed(()=>[o.value,r.value,l.value,s.value,c.value,i.value,u.value,f.value,d.value,k.value,b.value,{italic:n.italic,underline:n.underline,"line-through":n.lineThrough,truncate:n.truncate&&!n.maxLines,"whitespace-nowrap":n.noWrap,"transition-colors duration-200":!0,"select-none":n.variant==="overline"||n.variant==="label"}]);return(g,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),e.mergeProps({class:v.value,style:y.value},g.$attrs),{default:e.withCtx(()=>[e.renderSlot(g.$slots,"default"),t.required?(e.openBlock(),e.createElementBlock("span",bu,"*")):e.createCommentVNode("",!0)]),_:3},16,["class","style"]))}},rr="ui-mode",Ua="ui-theme",xu="ocean",Ke=()=>typeof document<"u",lr=t=>{Ke()&&document.documentElement.setAttribute("data-mode",t)},Xt=()=>Ke()?document.documentElement.getAttribute("data-mode"):null,sr=(t,n,a)=>Math.min(a,Math.max(n,t)),et=(t,n="#0070f3")=>{if(!t)return n;let a=String(t).trim().replace("#","");return a.length===3&&(a=a.split("").map(o=>o+o).join("")),/^[0-9a-fA-F]{6}$/.test(a)?`#${a.toLowerCase()}`:n},wa=t=>{const a=et(t).slice(1);return{r:parseInt(a.slice(0,2),16),g:parseInt(a.slice(2,4),16),b:parseInt(a.slice(4,6),16)}},ku=({r:t,g:n,b:a})=>{const o=r=>sr(Math.round(r),0,255).toString(16).padStart(2,"0");return`#${o(t)}${o(n)}${o(a)}`},Ce=(t,n,a=.5)=>{const o=sr(a,0,1),r=wa(t),l=wa(n);return ku({r:r.r*(1-o)+l.r*o,g:r.g*(1-o)+l.g*o,b:r.b*(1-o)+l.b*o})},wu=t=>{const{r:n,g:a,b:o}=wa(t);return(.2126*n+.7152*a+.0722*o)/255>.62?"#111111":"#ffffff"},Hn=[{key:"ocean",name:"Ocean Blue",light:{primary:"#1d4ed8",secondary:["#0ea5e9","#22c55e","#f59e0b"]},dark:{primary:"#2ccad3",secondary:["#39d9df","#2fa6ff","#1fc8b3"]}},{key:"forest",name:"Forest Green",light:{primary:"#0f766e",secondary:["#14b8a6","#6366f1","#f97316"]},dark:{primary:"#22c7bc",secondary:["#2fded1","#2fa6ff","#1ea8c2"]}},{key:"violet",name:"Royal Violet",light:{primary:"#7c3aed",secondary:["#a855f7","#3b82f6","#ef4444"]},dark:{primary:"#3bc8f0",secondary:["#59d6ff","#29c5d8","#1da1be"]}},{key:"sunset",name:"Sunset",light:{primary:"#ea580c",secondary:["#fb7185","#f59e0b","#8b5cf6"]},dark:{primary:"#36cfd1",secondary:["#58dcde","#2fb7ff","#21c4a1"]}},{key:"graphite",name:"Graphite",light:{primary:"#334155",secondary:["#64748b","#0ea5e9","#22c55e"]},dark:{primary:"#2fb6d7",secondary:["#5fd8ea","#2da5e9","#22c4b5"]}}],Cu=t=>{const n=String(t||xu);return Hn.find(a=>a.key===n)||Hn[0]},ir=(t={})=>{const n=Xt()||"light",a=Cu(t.preset||t.theme_preset),o=n==="dark"?a.dark:a.light,r=!!(t.preset||t.theme_preset),l=!!(t.use_custom||t.useCustom),s=r&&!l,c=et(s?o.primary:t.primary||t.primary_color||o.primary,"#0070f3"),i=s?o.secondary:Array.isArray(t.secondary)?t.secondary:[t.secondary_1||o.secondary[0],t.secondary_2||o.secondary[1],t.secondary_3||o.secondary[2]],u=et(i?.[0],"#14b8a6"),f=et(i?.[1],"#f97316"),d=et(i?.[2],"#8b5cf6"),k=n==="dark",b=k?Ce(c,"#042438",.92):"#ffffff",y=k?Ce(c,"#031f31",.9):"#ffffff",v=k?Ce(c,"#03283e",.9):"#ffffff";return{"--ui-primary":c,"--ui-primary-strong":Ce(c,"#000000",.14),"--ui-primary-soft":Ce(c,"#ffffff",.86),"--ui-accent":u,"--ui-accent-strong":Ce(u,"#000000",.14),"--ui-accent-soft":Ce(u,"#ffffff",.84),"--ui-success":f,"--ui-success-strong":Ce(f,"#000000",.1),"--ui-success-soft":Ce(f,"#ffffff",.84),"--ui-warning":d,"--ui-warning-strong":Ce(d,"#000000",.1),"--ui-warning-soft":Ce(d,"#ffffff",.84),"--ui-ring":Ce(c,"#ffffff",.28),"--ui-text-inverse":wu(c),"--ui-header-bg":b,"--ui-sidebar-bg":y,"--ui-submenu-bg":v}},Wa=()=>{if(!Ke())return null;const t=localStorage.getItem(Ua);if(!t)return null;try{return JSON.parse(t)}catch{return null}},Bu=()=>{if(!Ke())return;const t=document.documentElement;Object.keys(ir({})).forEach(a=>t.style.removeProperty(a)),localStorage.removeItem(Ua)},Ya=(t,n={})=>{if(!Ke())return;const{persist:a=!0}=n;if(!t){Bu();return}const o=ir(t),r=document.documentElement;Object.entries(o).forEach(([l,s])=>{r.style.setProperty(l,s)}),a&&localStorage.setItem(Ua,JSON.stringify(t))},qa=t=>{if(t&&(lr(t),Ke())){localStorage.setItem(rr,t);const n=Wa();n&&Ya(n,{persist:!1})}},Vu=(t={})=>{if(!Ke())return;const{defaultMode:n="light"}=t,a=localStorage.getItem(rr);lr(a||n);const o=Wa();o&&Ya(o,{persist:!1})},Eu={class:"ui-surface-strong fixed bottom-5 rounded-2xl right-5 z-50"},Su={key:0,class:"mt-3 ui-sur w-72 rounded-2xl border ui-border-strong p-4 shadow-xl"},Nu={class:"mt-3 space-y-3"},$u={class:"block text-xs font-medium ui-text"},cr={__name:"ThemeConfigurator",setup(t){const n=["light","dark"],a=e.ref(!1),o=e.ref(Xt()||"light");return e.watch(o,r=>{qa(r)}),(r,l)=>(e.openBlock(),e.createElementBlock("div",Eu,[e.createElementVNode("button",{class:"rounded-full ui-text px-4 py-2 text-sm font-semibold shadow-sm hover:brightness-105",onClick:l[0]||(l[0]=s=>a.value=!a.value)}," Appearance "),a.value?(e.openBlock(),e.createElementBlock("div",Su,[l[3]||(l[3]=e.createElementVNode("div",{class:"text-sm font-semibold ui-text"}," Appearance ",-1)),e.createElementVNode("div",Nu,[e.createElementVNode("label",$u,[l[2]||(l[2]=e.createTextVNode(" Mode ",-1)),e.createVNode(Le,{modelValue:o.value,"onUpdate:modelValue":l[1]||(l[1]=s=>o.value=s),class:"mt-1 w-full"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(n,s=>e.createVNode(Kt,{key:s,value:s},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])])])])):e.createCommentVNode("",!0)]))}},Du={class:"flex items-start gap-3"},zu={key:0,class:"shrink-0 mt-0.5"},Tu={class:"flex-1 min-w-0"},Au={key:0,class:"font-medium text-sm mb-1"},Fu={key:1,class:"mt-3 flex gap-2"},Lu=["aria-label"],ur=Object.assign({inheritAttrs:!1},{__name:"Alert",props:{variant:{type:String,default:"info",validator:t=>["info","success","warning","error","default","danger"].includes(t)},title:String,message:String,dismissible:{type:Boolean,default:!1},dismissLabel:{type:String,default:"Dismiss alert"},showIcon:{type:Boolean,default:!0},actions:{type:Array,default:()=>[]},autoClose:{type:[Boolean,Number],default:!1}},emits:["dismiss","action"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!0),l=()=>{r.value=!1,o("dismiss")},s=g=>{o("action",g),g.onClick&&g.onClick()};if(a.autoClose){const g=typeof a.autoClose=="number"?a.autoClose:5e3;setTimeout(l,g)}const c={render(){return e.h("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M21 12A9 9 0 1112 3a9 9 0 019 9z"})])}},i={render(){return e.h("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2l4-4m5 2a9 9 0 11-18 0a9 9 0 0118 0z"})])}},u={render(){return e.h("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M10.29 3.86L1.82 18a1.5 1.5 0 001.29 2.25h18.78a1.5 1.5 0 001.29-2.25L13.71 3.86a1.5 1.5 0 00-2.42 0z"})])}},f={render(){return e.h("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0a9 9 0 0118 0z"})])}},d={render(){return e.h("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})])}},k=e.computed(()=>({info:c,success:i,warning:u,error:f,default:c,danger:f})[a.variant]),b=q.cva("relative w-full rounded-lg border p-4 flex items-start gap-3 ",{variants:{variant:{default:"ui-surface ui-text ",danger:"ui-danger-soft ui-danger",info:"ui-primary-soft ui-primary",success:"ui-success-soft ui-success",warning:"ui-warning-soft ui-warning",error:"ui-danger-soft ui-danger"}},defaultVariants:{variant:"default"}}),y=e.computed(()=>["w-5 h-5",{info:"ui-primary",success:"ui-success",warning:"ui-warning",error:"ui-danger",default:"ui-text",danger:"ui-danger"}[a.variant]]),v=e.computed(()=>["shrink-0 p-1 rounded-md transition-colors duration-200",{info:"ui-primary hover:text-(--ui-primary) hover:bg-(--ui-primary-soft)",success:"ui-success hover:text-(--ui-success) hover:bg-(--ui-success-soft)",warning:"ui-warning hover:text-(--ui-warning) hover:bg-(--ui-warning-soft)",error:"ui-danger hover:text-(--ui-danger) hover:bg-(--ui-danger-soft)",default:"ui-text hover:text-(--ui-text) hover:bg-(--ui-surface)",danger:"ui-danger hover:text-(--ui-danger) hover:bg-(--ui-danger-soft)"}[a.variant]]);return(g,m)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"transition-all duration-300","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition-all duration-200","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(A)(e.unref(b)({variant:t.variant}),g.$attrs.class)),role:"alert"},[e.createElementVNode("div",Du,[t.showIcon?(e.openBlock(),e.createElementBlock("div",zu,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.value),{class:e.normalizeClass(y.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",Tu,[t.title?(e.openBlock(),e.createElementBlock("h4",Au,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["text-sm",{"mt-0":!t.title,"mt-1":t.title}])},[e.renderSlot(g.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)])],2),g.$slots.actions||t.actions.length>0?(e.openBlock(),e.createElementBlock("div",Fu,[e.renderSlot(g.$slots,"actions",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,p=>(e.openBlock(),e.createBlock(be,{key:p.label,variant:p.variant||"outline",size:p.size||"sm",onClick:w=>s(p)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.label),1)]),_:2},1032,["variant","size","onClick"]))),128))])])):e.createCommentVNode("",!0)]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(v.value),"aria-label":t.dismissLabel,onClick:l},[e.createVNode(d,{class:"w-4 h-4"})],10,Lu)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)]),_:3}))}}),Mu=["aria-label"],Iu={class:"flex items-center space-x-1"},dr={__name:"Breadcrumb",props:{items:{type:Array,required:!0,validator:t=>t.every(n=>n.label)},separator:{type:String,default:"chevron-right"},ariaLabel:{type:String,default:"Breadcrumb navigation"},variant:{type:String,default:"default",validator:t=>["default","ghost"].includes(t)}},setup(t){const n=t,a=q.cva("",{variants:{variant:{default:"",ghost:"text-muted-foreground"}}}),o=e.computed(()=>A(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel,class:e.normalizeClass(["flex",o.value])},[e.createElementVNode("ol",Iu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(s,c)=>(e.openBlock(),e.createElementBlock("li",{key:c,class:"flex items-center"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.href?"a":"span"),{href:s.href,class:e.normalizeClass(["text-sm font-medium transition-colors hover:text-(--ui-text)",c===t.items.length-1?"ui-text":"ui-text hover:text-(--ui-text)"]),"aria-current":c===t.items.length-1?"page":void 0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["href","class","aria-current"])),c<t.items.length-1?(e.openBlock(),e.createBlock(R,{key:0,name:t.separator,class:"mx-2 h-4 w-4 text-muted-foreground"},null,8,["name"])):e.createCommentVNode("",!0)]))),128))])],10,Mu))}},_u=["aria-label"],mr={__name:"ButtonGroup",props:{orientation:{type:String,default:"horizontal",validator:t=>["horizontal","vertical"].includes(t)},size:{type:String,default:"default",validator:t=>["sm","default","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)},ariaLabel:String},setup(t){const n=t,a=q.cva("inline-flex ",{variants:{orientation:{horizontal:"flex-row [&>*:not(:first-child)]:ml-[-1px] [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none",vertical:"flex-col [&>*:not(:first-child)]:mt-[-1px] [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-b-none [&>*:last-child]:rounded-t-none"}}}),o=e.computed(()=>A(a({orientation:n.orientation})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),role:"group","aria-label":t.ariaLabel},[e.renderSlot(r.$slots,"default")],10,_u))}},Pu={key:0,class:"absolute inset-0 bg-[color:color-mix(in oklab, var(--ui-surface), transparent 40%)] backdrop-blur-sm flex items-center justify-center z-10","aria-hidden":"true"},Ou={class:"flex items-start justify-between gap-4"},ju={class:"flex-1 min-w-0"},Ru={key:0,class:"shrink-0"},Hu=["src","alt","loading"],Uu={key:5,class:"absolute top-3 right-3"},Wu={class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ui-bg ui-text"},Yu="w-full h-full object-cover",qu="font-semibold ui-text line-clamp-2",Gu="text-sm ui-text mt-1 line-clamp-2",fr={__name:"Card",props:{as:{type:String,default:"div"},variant:{type:String,default:"default",validator:t=>["default","outlined","elevated","filled","ghost"].includes(t)},padding:{type:String,default:"none",validator:t=>["none","sm","md","lg","xl"].includes(t)},bordered:{type:Boolean,default:!0},title:String,titleTag:{type:String,default:"h3"},titleSize:{type:String,default:"default",validator:t=>["sm","default","lg","xl"].includes(t)},subtitle:String,badge:String,contentClass:{type:[String,Array,Object],default:""},contentWrapper:{type:Boolean,default:!0},image:String,imageAlt:{type:String,default:"Card image"},imageAspect:{type:String,default:"auto",validator:t=>["auto","video","square","portrait"].includes(t)},imageLazy:{type:Boolean,default:!0},hoverable:Boolean,clickable:Boolean,disabled:Boolean,loading:Boolean},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=new Set(["textbox","searchbox","combobox","spinbutton"]),l=v=>{if(!(v instanceof Element))return!1;if(v.closest('input, textarea, select, button, a, [contenteditable], [contenteditable="true"]'))return!0;const g=v.getAttribute("role");return g?r.has(g):!1},s=v=>{a.clickable&&!a.disabled&&!a.loading&&o("click",v)},c=v=>{!a.clickable||a.disabled||a.loading||v.key!=="Enter"&&v.key!==" "&&v.key!=="Spacebar"||l(v.target)||v.currentTarget===v.target&&(v.preventDefault(),s(v))},i=e.computed(()=>({sm:"text-base",default:"text-lg",lg:"text-xl",xl:"text-2xl"})[a.titleSize]),u=e.computed(()=>({auto:"",video:"aspect-video",square:"aspect-square",portrait:"aspect-[3/4]"})[a.imageAspect]),f=q.cva("rounded-lg overflow-hidden transition-all duration-200 relative ui-text",{variants:{variant:{default:"ui-surface",outlined:"ui-surface",elevated:"ui-surface shadow-md",filled:"ui-surface-soft",ghost:"bg-transparent"},padding:{none:"",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"},bordered:{true:"",false:""},hoverable:{true:"hover:shadow-lg hover:scale-[1.02]"},clickable:{true:"cursor-pointer focus:outline-none focus:ring-2 focus:ring-(--ui-ring) focus:ring-offset-2"},loading:{true:""}},compoundVariants:[{variant:"default",bordered:!0,class:"border ui-border-strong"},{variant:"outlined",bordered:!0,class:"border-2 ui-border-strong"},{variant:"elevated",bordered:!0,class:"border ui-border-strong"},{variant:"filled",bordered:!0,class:"border ui-border-strong"},{clickable:!0,hoverable:!1,class:"hover:bg-(--ui-surface)"}],defaultVariants:{variant:"default",padding:"md",bordered:!0}}),d=q.cva("",{variants:{padding:{none:"p-4 pb-3",sm:"px-3 pt-3 pb-2",md:"px-4 pt-4 pb-3",lg:"px-6 pt-6 pb-4",xl:"px-8 pt-8 pb-6"},hasBorder:{true:"border-b ui-border-strong mb-0",false:""}}}),k=q.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),b=q.cva("border-t ui-border-strong bg-[color:color-mix(in oklab, var(--ui-surface), transparent 50%)]",{variants:{padding:{none:"p-4 pt-3",sm:"px-3 pb-3 pt-2",md:"px-4 pb-4 pt-3",lg:"px-6 pb-6 pt-4",xl:"px-8 pb-8 pt-6"}}}),y=q.cva("overflow-hidden",{variants:{padding:{none:"",sm:"-mx-3 mb-3",md:"-mx-4 mb-4",lg:"-mx-6 mb-6",xl:"-mx-8 mb-8"},hasHeader:{true:"",false:""}},compoundVariants:[{hasHeader:!0,padding:"sm",class:"-mt-3"},{hasHeader:!0,padding:"md",class:"-mt-4"},{hasHeader:!0,padding:"lg",class:"-mt-6"},{hasHeader:!0,padding:"xl",class:"-mt-8"}]});return(v,g)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.as),{class:e.normalizeClass(e.unref(A)(e.unref(f)({variant:t.variant,padding:t.padding,hoverable:t.hoverable,clickable:t.clickable,loading:t.loading,bordered:t.bordered}))),disabled:t.disabled||t.loading,"aria-busy":t.loading,"aria-disabled":t.disabled,role:t.clickable?"button":void 0,tabindex:t.clickable&&!t.disabled?0:void 0,onClick:s,onKeydown:c},{default:e.withCtx(()=>[t.loading?(e.openBlock(),e.createElementBlock("div",Pu,[...g[0]||(g[0]=[e.createElementVNode("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 ui-border-strong"},null,-1)])])):e.createCommentVNode("",!0),v.$slots.header||t.title||t.subtitle||v.$slots.actions?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(A)(e.unref(d)({padding:t.padding,hasBorder:!!(v.$slots.default||v.$slots.footer)})))},[e.renderSlot(v.$slots,"header",{},()=>[e.createElementVNode("div",Ou,[e.createElementVNode("div",ju,[t.title?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.titleTag),{key:0,class:e.normalizeClass(e.unref(A)(qu,i.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1},8,["class"])):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(Gu)},e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),v.$slots.actions?(e.openBlock(),e.createElementBlock("div",Ru,[e.renderSlot(v.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),v.$slots.image||t.image?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(A)(e.unref(y)({padding:t.padding,hasHeader:!!(v.$slots.header||t.title)})))},[e.renderSlot(v.$slots,"image",{},()=>[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image,alt:t.imageAlt,class:e.normalizeClass(e.unref(A)(Yu,u.value)),loading:t.imageLazy?"lazy":"eager"},null,10,Hu)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),v.$slots.default?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[t.contentWrapper?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(A)(e.unref(k)({padding:t.padding}),t.contentClass))},[e.renderSlot(v.$slots,"default")],2)):e.renderSlot(v.$slots,"default",{key:1})],64)):e.createCommentVNode("",!0),v.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(e.unref(A)(e.unref(b)({padding:t.padding})))},[e.renderSlot(v.$slots,"footer")],2)):e.createCommentVNode("",!0),t.badge?(e.openBlock(),e.createElementBlock("div",Uu,[e.createElementVNode("span",Wu,e.toDisplayString(t.badge),1)])):e.createCommentVNode("",!0)]),_:3},40,["class","disabled","aria-busy","aria-disabled","role","tabindex"]))}},Ku={key:0,class:"ui-text"},Xu={key:1,class:"ui-text"},Ju={key:0},pr=Object.assign({inheritAttrs:!1},{__name:"CardHeader",props:{title:{type:String,default:""},subtitle:{type:String,default:""},size:{type:String,default:"medium",validator:t=>["small","medium","large"].includes(t)},alignment:{type:String,default:"left",validator:t=>["left","center","right"].includes(t)}},setup(t){const n=q.cva("flex items-center justify-between",{variants:{size:{small:"p-2",medium:"p-4",large:"p-6"}},defaultVariants:{size:"medium"}}),a=q.cva("",{variants:{alignment:{left:"text-left",center:"text-center",right:"text-right"}},defaultVariants:{alignment:"left"}});return(o,r)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(A)(e.unref(n)({size:t.size}),"ui-text",o.$attrs.class))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(A)(e.unref(a)({alignment:t.alignment}),"flex flex-col"))},[t.title||o.$slots.title?(e.openBlock(),e.createElementBlock("h2",Ku,[e.renderSlot(o.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])):e.createCommentVNode("",!0),t.subtitle||o.$slots.description?(e.openBlock(),e.createElementBlock("p",Xu,[e.renderSlot(o.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0)],2),o.$slots.actions?(e.openBlock(),e.createElementBlock("div",Ju,[e.renderSlot(o.$slots,"actions")])):e.createCommentVNode("",!0)],2))}}),gr={__name:"CardBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=q.cva("p-6 ui-text",{variants:{variant:{default:"p-6",compact:"p-4",spacious:"p-8"}}}),o=e.computed(()=>A(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},vr={__name:"CardFooter",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=q.cva("flex items-center p-6 pt-0 ui-text",{variants:{variant:{default:"p-6 pt-0",compact:"p-4 pt-0",spacious:"p-8 pt-0"}}}),o=e.computed(()=>A(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},hr=Object.assign({inheritAttrs:!1},{__name:"CardContent",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(A)("p-6 pt-0 ui-text",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),yr=Object.assign({inheritAttrs:!1},{__name:"CardTitle",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("h3",{class:e.normalizeClass(e.unref(A)("text-2xl font-semibold leading-none tracking-tight ui-text",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),Qu={class:"relative w-full bg-(--ui-surface) rounded-md"},Zu={class:"relative"},ed=["id","value","disabled","placeholder","required","aria-describedby"],td={class:"flex items-center justify-between mb-3"},ad={class:"text-sm font-semibold ui-text"},nd={class:"grid grid-cols-7 gap-1 mb-1"},od={class:"grid grid-cols-7 gap-1"},rd=["disabled","onClick"],ld={key:0,class:"mt-3 pt-2 border-t ui-border"},sd={key:0,class:"border-l pl-3 ui-border"},id={class:"max-h-[260px] overflow-y-auto pr-1 space-y-1"},cd=["onClick"],ht={__name:"DatePicker",props:{id:String,modelValue:[String,Date],disabled:Boolean,required:Boolean,min:[String,Date],max:[String,Date],placeholder:{type:String,default:"Select date"},format:{type:String,default:"DD/MM/YYYY"},clearable:{type:Boolean,default:!0},showToday:{type:Boolean,default:!0},ariaDescribedby:String,customValidation:{type:Function,default:null},disabledDates:{type:[Array,Function],default:null},enableTime:{type:Boolean,default:!1},minuteInterval:{type:Number,default:1}},emits:["update:modelValue","validation-error"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=e.ref(null),s=e.ref(null),c=e.ref({}),i=new Date,u=e.ref(i.getMonth()),f=e.ref(i.getFullYear()),d=e.ref(null),k=e.ref(!1),b=e.ref("00:00"),y=["Su","Mo","Tu","We","Th","Fr","Sa"],v=e.computed(()=>new Date(f.value,u.value).toLocaleString("default",{month:"long"})),g=e.computed(()=>new Date(f.value,u.value+1,0).getDate()),m=e.computed(()=>new Date(f.value,u.value,1).getDay()),p=e.computed(()=>{const T=new Date(f.value,u.value,0).getDate(),W=m.value;return Array.from({length:W},(Q,ee)=>T-W+ee+1)}),w=e.computed(()=>{const T=p.value.length+g.value,W=T%7===0?0:7-T%7;return Array.from({length:W},(Q,ee)=>ee+1)}),N=e.computed(()=>d.value?a.enableTime?H(d.value):_(d.value):""),P=e.computed(()=>{const T=Math.min(60,Math.max(1,Number(a.minuteInterval)||1)),W=[];for(let Q=0;Q<24;Q++)for(let ee=0;ee<60;ee+=T){const ne=String(Q).padStart(2,"0"),de=String(ee).padStart(2,"0");W.push(`${ne}:${de}`)}return W});function _(T){if(!T)return"";const W=new Date(T),Q=String(W.getMonth()+1).padStart(2,"0"),ee=String(W.getDate()).padStart(2,"0"),ne=W.getFullYear();return a.format.replace("MM",Q).replace("DD",ee).replace("YYYY",ne)}function H(T){const W=_(T),Q=String(T.getHours()).padStart(2,"0"),ee=String(T.getMinutes()).padStart(2,"0");return`${W} ${Q}:${ee}`}function G(T){if(!T)return null;if(T instanceof Date)return T;if(typeof T=="string"){if(T.includes("T")){const[ee,ne]=T.split("T"),de=G(ee);if(!de)return null;const[se="00",ye="00"]=(ne||"").slice(0,5).split(":");return de.setHours(parseInt(se,10)||0,parseInt(ye,10)||0,0,0),de}const Q=T.split("-");if(Q.length===3){const ee=parseInt(Q[0],10),ne=parseInt(Q[1],10)-1,de=parseInt(Q[2],10);return new Date(ee,ne,de)}}const W=new Date(T);return isNaN(W.getTime())?null:W}function K(T){return i.getDate()===T&&i.getMonth()===u.value&&i.getFullYear()===f.value}function z(T){if(!d.value)return!1;const W=new Date(d.value);return W.getDate()===T&&W.getMonth()===u.value&&W.getFullYear()===f.value}function I(T){const W=new Date(f.value,u.value,T);if(a.min){const Q=G(a.min);if(Q&&W<Q)return!0}if(a.max){const Q=G(a.max);if(Q&&W>Q)return!0}if(a.disabledDates){if(typeof a.disabledDates=="function")return a.disabledDates(W);if(Array.isArray(a.disabledDates))return a.disabledDates.some(Q=>{const ee=G(Q);return ee&&ee.getTime()===W.getTime()})}return!!(a.customValidation&&a.customValidation(W))}function te(T){if(!T)return k.value=!1,o("validation-error",null),!0;if(a.customValidation){const W=a.customValidation(T);if(W)return k.value=!0,o("validation-error",W),!1}return k.value=!1,o("validation-error",null),!0}async function j(){await e.nextTick();const T=s.value||(a.id?document.getElementById(a.id):null);if(!T||!l.value)return;const W=T.getBoundingClientRect(),Q=320,ee=window.innerHeight-W.bottom,ne=W.top,de=8;let se,ye;ee>=Q||ee>ne?se=W.bottom+de:se=W.top-Q-de,ye=W.left;const Ie=256;ye+Ie>window.innerWidth&&(ye=window.innerWidth-Ie-16),ye<16&&(ye=16),c.value={top:`${se}px`,left:`${ye}px`}}async function U(){a.disabled||(r.value=!r.value,r.value&&await j())}function O(){r.value=!1}function S(){u.value===0?(u.value=11,f.value--):u.value--}function E(){u.value===11?(u.value=0,f.value++):u.value++}function D(T){if(I(T))return;const W=new Date(f.value,u.value,T);te(W)&&(d.value=W,$(W),setTimeout(()=>{a.enableTime||(r.value=!1)},150))}function $(T){const W=T.getFullYear(),Q=String(T.getMonth()+1).padStart(2,"0"),ee=String(T.getDate()).padStart(2,"0");if(!a.enableTime){o("update:modelValue",`${W}-${Q}-${ee}`);return}const[ne="00",de="00"]=b.value.split(":"),se=`${W}-${Q}-${ee}T${ne}:${de}`;o("update:modelValue",se)}function L(){u.value=i.getMonth(),f.value=i.getFullYear(),D(i.getDate())}function C(){d.value=null,b.value="00:00",k.value=!1,o("update:modelValue",""),o("validation-error",null)}e.watch(()=>a.modelValue,T=>{if(T){const W=G(T);if(W){d.value=W;const Q=String(W.getHours()).padStart(2,"0"),ee=String(W.getMinutes()).padStart(2,"0");b.value=`${Q}:${ee}`,u.value=W.getMonth(),f.value=W.getFullYear(),te(W)}}else d.value=null,k.value=!1},{immediate:!0}),e.watch(b,T=>{if(!a.enableTime||!d.value)return;const[W="00",Q="00"]=(T||"00:00").split(":");d.value.setHours(parseInt(W,10)||0,parseInt(Q,10)||0,0,0),$(d.value)});function V(){r.value&&j()}function M(T){T.key==="Escape"&&r.value&&O()}return e.onMounted(()=>{document.addEventListener("keydown",M),window.addEventListener("resize",V)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",M),window.removeEventListener("resize",V)}),(T,W)=>(e.openBlock(),e.createElementBlock("div",Qu,[e.createElementVNode("div",Zu,[e.createElementVNode("input",{id:t.id,ref_key:"inputRef",ref:s,type:"text",value:N.value,readonly:"",disabled:t.disabled,placeholder:t.placeholder,required:t.required,"aria-describedby":t.ariaDescribedby,class:e.normalizeClass(["w-full px-3 py-2 pr-10 border rounded-md ui-surface ui-text placeholder-slate-400 text-sm ","focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-(--ui-primary) cursor-pointer transition-colors","disabled:bg-(--ui-bg) disabled:text-(--ui-text) disabled:cursor-not-allowed",k.value?"border-(--ui-danger) focus:ring-(--ui-danger) focus:border-(--ui-danger)":"ui-border"]),onClick:U},null,10,ed),W[2]||(W[2]=e.createElementVNode("div",{class:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none"},[e.createElementVNode("svg",{class:"w-4 h-4 ui-text",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})])],-1)),t.clearable&&N.value&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-(--ui-bg) rounded transition-colors","aria-label":"Clear date",onClick:e.withModifiers(C,["stop"])},[...W[1]||(W[1]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5 ui-text",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"calendarRef",ref:l,style:e.normalizeStyle(c.value),class:e.normalizeClass(["fixed z-10000 rounded-lg shadow-xl p-3 ui-surface ui-border-strong",t.enableTime?"w-[420px]":"w-64"]),onClick:W[0]||(W[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(t.enableTime?"grid grid-cols-[1fr_124px] gap-3":"block")},[e.createElementVNode("div",null,[e.createElementVNode("div",td,[e.createElementVNode("button",{type:"button",class:"p-1.5 rounded hover:bg-(--ui-bg) transition-colors","aria-label":"Previous Month",onClick:S},[...W[3]||(W[3]=[e.createElementVNode("svg",{class:"w-4 h-4 ui-text",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 18l-6-6 6-6"})],-1)])]),e.createElementVNode("div",ad,e.toDisplayString(v.value)+" "+e.toDisplayString(f.value),1),e.createElementVNode("button",{type:"button",class:"p-1.5 rounded hover:bg-(--ui-bg) transition-colors","aria-label":"Next Month",onClick:E},[...W[4]||(W[4]=[e.createElementVNode("svg",{class:"w-4 h-4 ui-text",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 18l6-6-6-6"})],-1)])])]),e.createElementVNode("div",nd,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(y,Q=>e.createElementVNode("div",{key:Q,class:"text-center text-xs font-medium ui-text py-1"},e.toDisplayString(Q),1)),64))]),e.createElementVNode("div",od,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,(Q,ee)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+ee,class:"text-center text-xs ui-text py-1.5"},e.toDisplayString(Q),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,Q=>(e.openBlock(),e.createElementBlock("button",{key:Q,type:"button",disabled:I(Q),class:e.normalizeClass(["w-8 h-8 rounded text-xs font-medium transition-colors",K(Q)&&!z(Q)?"ui-primary-soft ui-primary ring-1 ring-(--ui-primary)":"",z(Q)?"ui-primary-bg ui-text hover:bg-(--ui-primary)":"ui-text hover:bg-(--ui-bg)",I(Q)?"ui-text cursor-not-allowed hover:bg-transparent line-through":"cursor-pointer"]),onClick:ee=>D(Q)},e.toDisplayString(Q),11,rd))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,(Q,ee)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+ee,class:"text-center text-xs ui-text py-1.5"},e.toDisplayString(Q),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",ld,[e.createElementVNode("button",{type:"button",class:"w-full px-3 py-1.5 text-xs font-medium ui-primary hover:bg-(--ui-primary-soft) rounded transition-colors",onClick:L}," Today ")])):e.createCommentVNode("",!0)]),t.enableTime?(e.openBlock(),e.createElementBlock("div",sd,[W[5]||(W[5]=e.createElementVNode("div",{class:"text-xs font-semibold ui-text mb-2"},"Time",-1)),e.createElementVNode("div",id,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,Q=>(e.openBlock(),e.createElementBlock("button",{key:Q,type:"button",class:e.normalizeClass(["w-full px-2 py-1.5 text-left text-sm rounded transition-colors",Q===b.value?"ui-primary-bg ui-text":"ui-text hover:bg-(--ui-bg)"]),onClick:ee=>b.value=Q},e.toDisplayString(Q),11,cd))),128))])])):e.createCommentVNode("",!0)],2)],6)):e.createCommentVNode("",!0)]),_:1}),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-9999",onClick:O})):e.createCommentVNode("",!0)]))]))}},ud=["aria-expanded"],br={__name:"Dropdown",props:{triggerText:{type:String,default:"Options"},placement:{type:String,default:"bottom-start",validator:t=>["bottom-start","bottom-end","top-start","top-end"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)}},setup(t){const n=t,a=e.ref(!1),o=e.ref(null),r=q.cva("inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--ui-primary) focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"ui-text ui-primary-bg hover:bg-(--ui-primary-strong)",outline:" border ui-text ui-surface hover:brightness-105",ghost:"ui-text hover:bg-(--ui-surface) hover:text-(--ui-text)"}}}),l=q.cva("absolute z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 ui-text shadow-md",{variants:{placement:{"bottom-start":"top-full left-0 mt-1","bottom-end":"top-full right-0 mt-1","top-start":"bottom-full left-0 mb-1","top-end":"bottom-full right-0 mb-1"}}}),s=e.computed(()=>A(r({variant:n.variant}),"h-10 px-4 py-2")),c=e.computed(()=>A(l({placement:n.placement}))),i=()=>{a.value=!a.value},u=f=>{o.value&&!o.value.contains(f.target)&&(a.value=!1)};return e.onMounted(()=>{document.addEventListener("click",u)}),e.onUnmounted(()=>{document.removeEventListener("click",u)}),(f,d)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:o,class:"relative"},[e.createElementVNode("button",{class:e.normalizeClass(s.value),"aria-expanded":a.value,"aria-haspopup":!0,onClick:i},[e.renderSlot(f.$slots,"trigger",{},()=>[e.createElementVNode("span",null,e.toDisplayString(t.triggerText),1),e.createVNode(R,{name:"chevron-down",class:"ml-2 h-4 w-4"})])],10,ud),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(c.value),role:"menu","aria-orientation":"vertical"},[e.renderSlot(f.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3})],512))}},dd={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},xr={__name:"DropdownItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,variant:{type:String,default:"default",validator:t=>["default","danger"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=q.cva("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-(--ui-surface) focus:text-(--ui-text) data-[disabled]:pointer-events-none data-[disabled]:opacity-50",{variants:{variant:{default:"hover:bg-(--ui-surface) hover:text-(--ui-text)",danger:"ui-danger hover:bg-(--ui-danger-soft) hover:text-(--ui-danger)"}}}),l=e.computed(()=>A(r({variant:a.variant}))),s=c=>{a.disabled||o("click",c)};return(c,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(l.value),disabled:t.disabled,role:"menuitem",onClick:s},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(R,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",dd,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},md={class:"ui-surface-strong w-full"},fd=["multiple","accept"],pd={class:"ui-surface-strong flex items-center justify-center px-4 py-3"},gd={class:"rounded-full p-2 mr-3"},vd={class:"flex flex-col"},hd={class:"text-xs ui-text"},yd={key:0,class:"ml-2"},bd={key:1,class:"mt-4 space-y-2"},xd={class:"flex items-center space-x-3"},kd={class:"flex flex-col"},wd={class:"text-sm font-medium ui-text"},Cd={class:"flex items-center space-x-3"},Bd={class:"ui-success-soft rounded-md p-2"},Vd={class:"flex flex-col"},Ed={class:"text-sm font-medium ui-text"},Sd={class:"text-xs ui-text"},Nd=["onClick"],Pt={__name:"FileUpload",props:{multiple:Boolean,accept:String,maxSize:Number,maxFiles:Number,variant:{type:String,default:"dashed",validator:t=>["default","dashed"].includes(t)}},emits:["files-selected","file-removed"],setup(t,{emit:n}){const a=t,o=n,r=e.ref([]),l=e.ref(!1),s=e.ref(null),c=e.ref([]),i=q.cva("border-2 border-dashed rounded-xl cursor-pointer transition-all duration-300 ease-in-out shadow-sm",{variants:{variant:{default:"ui-border-strong hover:border-(--ui-border-strong) hover:bg-(--ui-surface) focus-within:ring-2 focus-within:ring-(--ui-primary)",dashed:"border-(--ui-primary-soft) hover:border-(--ui-primary-soft) hover:bg-(--ui-primary-soft) focus-within:ring-2 focus-within:ring-(--ui-primary)"}}}),u=e.computed(()=>A(i({variant:a.variant}),{"border-(--ui-success) ui-success-soft shadow-md":r.value.length>0&&!l.value,"border-(--ui-primary) ui-primary-soft ring-4 ring-(--ui-primary) shadow-lg":l.value,"border-(--ui-success) ui-success-soft ring-4 ring-(--ui-success) shadow-lg":r.value.length>0&&l.value})),f=N=>{N.preventDefault(),l.value=!1;const P=Array.from(N.dataTransfer.files);g(P)},d=N=>{N.preventDefault()},k=N=>{N.preventDefault(),l.value=!0},b=N=>{N.preventDefault(),l.value=!1},y=()=>{s.value?.click()},v=N=>{const P=Array.from(N.target.files);g(P)},g=N=>{const P=N.filter(H=>!(a.maxSize&&H.size>a.maxSize));if(P.length===0)return;if(a.maxFiles){const H=r.value.length+c.value.length;if(H>=a.maxFiles)return;const G=a.maxFiles-H;P.splice(G)}const _=P.map(H=>e.reactive({file:H,progress:0,uploading:!0}));c.value.push(..._),_.forEach(H=>{const G=2e3+Math.random()*2e3,K=50,I=100/(G/K),te=setInterval(()=>{H.progress+=I,H.progress>=100&&(H.progress=100,H.uploading=!1,clearInterval(te),setTimeout(()=>{a.multiple?(r.value.push(H.file),o("files-selected",r.value)):(r.value=[H.file],o("files-selected",H.file)),c.value.splice(c.value.indexOf(H),1)},450))},K)})},m=N=>{r.value.splice(N,1),a.multiple?o("file-removed",r.value):o("file-removed",r.value.length>0?r.value[0]:null)},p=N=>{if(N===0)return"0 Bytes";const P=1024,_=["Bytes","KB","MB","GB"],H=Math.floor(Math.log(N)/Math.log(P));return parseFloat((N/Math.pow(P,H)).toFixed(2))+" "+_[H]},w=N=>N<40?{row:"border-red-500 bg-red-50",text:"text-red-700"}:N<80?{row:"border-orange-500 bg-orange-50",text:"text-orange-700"}:{row:"border-green-500 bg-green-50",text:"text-green-700"};return(N,P)=>(e.openBlock(),e.createElementBlock("div",md,[!r.value.length||t.multiple?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(u.value),onDrop:f,onDragover:d,onDragenter:k,onDragleave:b,onClick:y},[e.createElementVNode("input",{ref_key:"fileInput",ref:s,type:"file",multiple:t.multiple,accept:t.accept,class:"hidden",onChange:v},null,40,fd),e.createElementVNode("div",pd,[e.createElementVNode("div",gd,[e.createVNode(R,{icon:"upload",class:"h-6 w-6 ui-text"})]),e.createElementVNode("div",vd,[P[0]||(P[0]=e.createElementVNode("p",{class:"text-sm font-medium ui-text"},[e.createElementVNode("span",{class:"ui-primary font-semibold"},"Click to upload"),e.createTextVNode(" or drag and drop ")],-1)),e.createElementVNode("p",hd,[e.createTextVNode(e.toDisplayString(t.maxSize?`Up to ${p(t.maxSize)}`:"No size limit")+" ",1),t.accept?(e.openBlock(),e.createElementBlock("span",yd,"• "+e.toDisplayString(t.accept),1)):e.createCommentVNode("",!0)])])])],34)):e.createCommentVNode("",!0),r.value.length>0||c.value.length>0?(e.openBlock(),e.createElementBlock("div",bd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(_,H)=>(e.openBlock(),e.createElementBlock("div",{key:`uploading-${H}`,class:e.normalizeClass(["flex items-center justify-between p-3 border rounded-lg shadow-sm transition-colors duration-300",w(_.progress).row])},[e.createElementVNode("div",xd,[e.createVNode(Oa,{value:_.progress,max:100,size:"sm","dynamic-color":!0,class:"shrink-0"},null,8,["value"]),e.createElementVNode("div",kd,[e.createElementVNode("span",wd,e.toDisplayString(_.file.name),1),e.createElementVNode("span",{class:e.normalizeClass(["text-xs font-medium",w(_.progress).text])}," Uploading... "+e.toDisplayString(Math.round(_.progress))+"% ",3)])])],2))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(_,H)=>(e.openBlock(),e.createElementBlock("div",{key:`uploaded-${H}`,class:"flex items-center justify-between p-3 ui-surface border ui-border-strong rounded-lg shadow-sm hover:shadow-md transition-shadow"},[e.createElementVNode("div",Cd,[e.createElementVNode("div",Bd,[e.createVNode(R,{icon:"file",class:"h-5 w-5 ui-text"})]),e.createElementVNode("div",Vd,[e.createElementVNode("span",Ed,e.toDisplayString(_.name),1),e.createElementVNode("span",Sd,e.toDisplayString(p(_.size)),1)])]),e.createElementVNode("button",{class:"ui-text hover:text-(--ui-danger) hover:bg-(--ui-danger-soft) rounded-full p-1 transition-colors",onClick:G=>m(H)},[e.createVNode(R,{icon:"x",class:"h-4 w-4"})],8,Nd)]))),128))])):e.createCommentVNode("",!0)]))}},$d=["for"],Dd={key:0,class:"ui-danger ml-1","aria-label":"required"},zd={class:"relative"},Td=["aria-label"],Ad=["id"],Fd=["id"],Ga={__name:"FormField",props:{label:String,description:String,error:String,success:String,helpText:String,required:{type:Boolean,default:!1},type:{type:String,default:"text"},modelValue:[String,Date],size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},id:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=`field-${Math.random().toString(36).slice(2,9)}`,l=e.computed(()=>`${a.id||r}-${Math.random().toString(36).slice(2,5)}`),s=e.computed(()=>!!a.error),c=e.ref(!1),i=()=>{c.value=!c.value},u=e.computed(()=>{const v=[];return a.error?v.push(`${l.value}-error`):a.helpText&&v.push(`${l.value}-help`),v.length>0?v.join(" "):void 0}),f=q.cva("ui-text",{variants:{size:{sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}},defaultVariants:{size:"md"}}),d=q.cva("block ui-text",{variants:{size:{sm:"text-xs font-medium",md:"text-sm font-medium",lg:"text-base font-medium"}},defaultVariants:{size:"md"}}),k=q.cva("ui-text",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),b=q.cva("flex items-start gap-2",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"},intent:{error:"ui-danger",success:"ui-success"}},defaultVariants:{size:"md",intent:"error"}}),y=q.cva("ui-text",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"}},defaultVariants:{size:"md"}});return(v,g)=>{const m=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(A)(e.unref(f)({size:t.size}),v.$attrs.class))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:l.value,class:e.normalizeClass(e.unref(A)(e.unref(d)({size:t.size})))},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Dd,"*")):e.createCommentVNode("",!0)],10,$d)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(A)(e.unref(k)({size:t.size})))},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0),e.createElementVNode("div",zd,[t.type==="date"?(e.openBlock(),e.createBlock(ht,{key:0,id:l.value,"model-value":t.modelValue,disabled:!1,required:t.required,class:e.normalizeClass(s.value?"border-(--ui-danger)":""),"onUpdate:modelValue":g[0]||(g[0]=p=>o("update:modelValue",p))},null,8,["id","model-value","required","class"])):e.renderSlot(v.$slots,"default",{key:1,fieldId:l.value,hasError:s.value,ariaDescribedBy:u.value,showPassword:c.value,togglePasswordVisibility:i}),t.type==="password"?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"absolute inset-y-0 right-0 pr-3 flex items-center ui-text hover:text-(--ui-text) transition-colors","aria-label":c.value?"Hide password":"Show password",onClick:i},[e.createVNode(m,{icon:c.value?"eye-slash":"eye",class:"w-4 h-4"},null,8,["icon"])],8,Td)):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200","enter-from-class":"opacity-0 -translate-y-1","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition-all duration-150","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 -translate-y-1"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:`${l.value}-error`,class:e.normalizeClass(e.unref(A)(e.unref(b)({size:t.size,intent:"error"}))),role:"alert","aria-live":"polite"},[e.createVNode(m,{icon:"exclamation-triangle",class:"w-4 h-4 shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.error),1)],10,Ad)):e.createCommentVNode("",!0)]),_:1}),t.helpText&&!s.value?(e.openBlock(),e.createElementBlock("p",{key:2,id:`${l.value}-help`,class:e.normalizeClass(e.unref(A)(e.unref(y)({size:t.size})))},e.toDisplayString(t.helpText),11,Fd)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200","enter-from-class":"opacity-0 -translate-y-1","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition-all duration-150","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 -translate-y-1"},{default:e.withCtx(()=>[t.success&&!s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(A)(e.unref(b)({size:t.size,intent:"success"})))},[e.createVNode(m,{icon:"check",class:"w-4 h-4 shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.success),1)],2)):e.createCommentVNode("",!0)]),_:1})],2)}}},Ld={key:0,class:"flex items-center px-3 bg-muted border border-r-0 rounded-l-md"},Md={key:1,class:"flex items-center px-3 bg-muted border border-l-0 rounded-r-md"},kr={__name:"InputGroup",props:{variant:{type:String,default:"default",validator:t=>["default","outline"].includes(t)}},setup(t){const n=t,a=q.cva("flex w-full",{variants:{variant:{default:"[&>input]:rounded-none [&>input:first-child]:rounded-l-md [&>input:last-child]:rounded-r-md",outline:"border ui-border-strong rounded-md [&>input]:border-0 [&>input]:rounded-none"}}}),o=e.computed(()=>A(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[r.$slots.prefix?(e.openBlock(),e.createElementBlock("div",Ld,[e.renderSlot(r.$slots,"prefix")])):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default"),r.$slots.suffix?(e.openBlock(),e.createElementBlock("div",Md,[e.renderSlot(r.$slots,"suffix")])):e.createCommentVNode("",!0)],2))}},Id=["role"],_d={key:0,class:"shrink-0"},Pd={class:"flex-1 min-w-0"},Od={key:0,class:"text-sm font-medium ui-text"},jd={key:1,class:"text-sm text-muted-foreground"},Rd={key:1,class:"shrink-0"},wr={__name:"ListItem",props:{title:String,description:String,icon:String,href:String,role:String,variant:{type:String,default:"default",validator:t=>["default","interactive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=q.cva("",{variants:{variant:{default:"",interactive:"hover:bg-(--ui-surface) cursor-pointer"}}}),l=q.cva("flex items-center space-x-3 p-3",{variants:{variant:{default:"",interactive:"transition-colors rounded-md"}}}),s=e.computed(()=>A(r({variant:a.variant}))),c=e.computed(()=>A(l({variant:a.variant}))),i=u=>{o("click",u)};return(u,f)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(s.value),role:t.role},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"div"),{href:t.href,class:e.normalizeClass(c.value),onClick:i},{default:e.withCtx(()=>[u.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("div",_d,[e.renderSlot(u.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(R,{key:0,name:t.icon,class:"h-5 w-5"},null,8,["name"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Pd,[t.title?(e.openBlock(),e.createElementBlock("div",Od,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("div",jd,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"default")]),u.$slots.action?(e.openBlock(),e.createElementBlock("div",Rd,[e.renderSlot(u.$slots,"action")])):e.createCommentVNode("",!0)]),_:3},8,["href","class"]))],10,Id))}},Hd={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},Cr={__name:"MenuItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,hasSubmenu:Boolean,variant:{type:String,default:"default",validator:t=>["default","danger"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=q.cva("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-(--ui-surface) focus:text-(--ui-text) data-[disabled]:pointer-events-none data-[disabled]:opacity-50 w-full text-left",{variants:{variant:{default:"hover:bg-(--ui-surface) hover:text-(--ui-text)",danger:"ui-danger hover:bg-(--ui-danger-soft) hover:text-(--ui-danger)"}}}),l=e.computed(()=>A(r({variant:a.variant}))),s=c=>{a.disabled||o("click",c)};return(c,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(l.value),disabled:t.disabled,role:"menuitem",onClick:s},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(R,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",Hd,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(R,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},wt={__name:"Modal",props:{modelValue:Boolean,showClose:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0},size:{type:String,default:"4xl",validator:t=>["sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl","full"].includes(t)},class:{type:String,default:""},resizable:{type:Boolean,default:!1}},emits:["update:modelValue","close"],setup(t,{emit:n}){const a=q.cva("ui-surface-soft ui-border relative w-full max-h-[100vh] overflow-y-auto rounded-xl shadow-lg duration-200 p-4 overflow-hidden",{variants:{size:{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl","3xl":"max-w-3xl","4xl":"max-w-4xl","5xl":"max-w-5xl","6xl":"max-w-6xl","7xl":"max-w-7xl","8xl":"max-w-8xl",full:"max-w-full"}},defaultVariants:{size:"6xl"}}),o=t,r=n,l=()=>{r("update:modelValue",!1),r("close")},s=i=>{o.closeOnBackdrop&&i.target===i.currentTarget&&!o.resizable&&l()};let c=null;return e.watch(()=>o.modelValue,i=>{i?(c=u=>{u.key==="Escape"&&l()},document.addEventListener("keydown",c)):c&&(document.removeEventListener("keydown",c),c=null)},{immediate:!0}),e.onUnmounted(()=>{c&&(document.removeEventListener("keydown",c),c=null)}),(i,u)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-300","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[t.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["fixed inset-0 z-9999 backdrop-blur-2xs flex items-center justify-center",{"pointer-events-none":t.resizable}]),onClick:s},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(A)(e.unref(a)({size:t.size}),o.class,t.resizable?"resize overflow-hidden pointer-events-auto relative":"")),style:e.normalizeStyle(t.resizable?"min-width: 400px; min-height: 700px; resize: both;":"")},[t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":"Close",class:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:l},[e.createVNode(R,{icon:"x",class:"h-4 w-4"}),u[0]||(u[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))])):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default")],6)],2)):e.createCommentVNode("",!0)]),_:3})]))}},Ud={class:"flex flex-col space-y-1.5 text-center sm:text-left"},Wd={key:0,class:"text-lg font-semibold leading-none tracking-tight"},Yd={key:1,class:"text-sm ui-text"},Br={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Ud,[t.title?(e.openBlock(),e.createElementBlock("h2",Wd,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",Yd,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default")]))}},Vr={__name:"ModalBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact"].includes(t)}},setup(t){const n=t,a=q.cva("",{variants:{variant:{default:"py-4",compact:"py-2"}}}),o=e.computed(()=>A(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},Er={__name:"ModalFooter",props:{variant:{type:String,default:"default",validator:t=>["default","center"].includes(t)}},setup(t){const n=t,a=q.cva("flex gap-2 pt-4",{variants:{variant:{default:"flex-col-reverse sm:flex-row sm:justify-end",center:"justify-center"}}}),o=e.computed(()=>A(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},qd=["aria-live"],Gd={class:"flex items-start space-x-3"},Kd={key:0,class:"shrink-0"},Xd={class:"flex-1 min-w-0"},Jd={key:0,class:"text-sm font-medium"},Sr={__name:"Notification",props:{title:String,message:String,variant:{type:String,default:"default",validator:t=>["default","success","warning","danger"].includes(t)},dismissible:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},autoClose:{type:Number,default:0}},emits:["dismiss"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!0),l=q.cva("pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg shadow-lg ring-1 ring-(----ui-bg) ring-opacity-5 ui-surface",{variants:{variant:{default:"border-l-4 border-(--ui-primary)",success:"border-l-4 border-(--ui-success)",warning:"border-l-4 border-(--ui-warning)",danger:"border-l-4 border-(--ui-danger)"}}}),s={default:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"},c=q.cva("h-5 w-5",{variants:{variant:{default:"ui-primary",success:"ui-success",warning:"ui-warning",danger:"ui-danger"}}}),i=e.computed(()=>A(l({variant:a.variant}),"p-4")),u=e.computed(()=>s[a.variant]),f=e.computed(()=>c({variant:a.variant})),d=()=>{r.value=!1,o("dismiss")};return e.onMounted(()=>{a.autoClose>0&&setTimeout(()=>{d()},a.autoClose)}),(k,b)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"transform translate-x-full opacity-0","enter-to-class":"transform translate-x-0 opacity-100","leave-active-class":"transition-all duration-300 ease-in","leave-from-class":"transform translate-x-0 opacity-100","leave-to-class":"transform translate-x-full opacity-0"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value),role:"alert","aria-live":t.variant==="danger"?"assertive":"polite"},[e.createElementVNode("div",Gd,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Kd,[e.createVNode(R,{name:u.value,class:e.normalizeClass(f.value)},null,8,["name","class"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Xd,[t.title?(e.openBlock(),e.createElementBlock("div",Jd,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.message?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["text-sm",{"mt-1":t.title}])},e.toDisplayString(t.message),3)):e.createCommentVNode("",!0),e.renderSlot(k.$slots,"default")]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:"shrink-0 rounded-md p-1.5 hover:bg-[color:color-mix(in oklab, var(----ui-bg), transparent 95%)] focus:outline-none focus:ring-2 focus:ring-offset-2",onClick:d},[e.createVNode(R,{name:"x",class:"h-4 w-4"})])):e.createCommentVNode("",!0)])],10,qd)):e.createCommentVNode("",!0)]),_:3}))}},yt=e.ref([]);let Qd=0;const Zd={duration:3e3,position:"top-center",dismissible:!0,closeButton:!1},em=()=>`toast-${++Qd}-${Date.now()}`,De=(t,n={})=>{const a=em(),o={id:a,message:t,...Zd,...n,createdAt:Date.now()};return yt.value.push(e.markRaw(o)),o.duration&&o.duration>0&&setTimeout(()=>{gt(a)},o.duration),a},gt=t=>{const n=yt.value.findIndex(a=>a.id===t);n>-1&&yt.value.splice(n,1)},Nr=()=>{yt.value=[]},_e=Object.assign((t,n)=>De(t,{...n}),{success:(t,n)=>De(t,{...n,variant:"success"}),error:(t,n)=>De(t,{...n,variant:"error"}),warning:(t,n)=>De(t,{...n,variant:"warning"}),info:(t,n)=>De(t,{...n,variant:"info"}),promise:(t,n={})=>{const{loading:a="Loading...",success:o="Success",error:r="Error",...l}=n,s=De(a,{...l,variant:"loading",duration:0,dismissible:!1});return t.then(c=>{gt(s);const i=typeof o=="function"?o(c):o;return De(i,{...l,variant:"success"}),c}).catch(c=>{gt(s);const i=typeof r=="function"?r(c):r;throw De(i,{...l,variant:"error"}),c})},dismiss:gt,dismissAll:Nr,custom:(t,n={})=>De("",{...n,component:e.markRaw(t)})}),$r=()=>({toasts:yt,dismiss:gt,dismissAll:Nr}),Ne=(t,n)=>{const a=t.__vccOpts||t;for(const[o,r]of n)a[o]=r;return a},tm=["aria-live"],am={class:"flex-1 min-w-0 pt-0.5"},nm=["onClick"],om=["onClick"],rm={key:2,class:"absolute bottom-0 left-0 right-0 h-0.5 overflow-hidden"},lm={__name:"Toast",props:{position:{type:String,default:"top-right",validator:t=>["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"].includes(t)},hotkey:{type:Array,default:()=>["altKey","KeyT"]},richColors:{type:Boolean,default:!0},expand:{type:Boolean,default:!1},visibleToasts:{type:Number,default:3},closeButton:{type:Boolean,default:!0}},setup(t){const n=t,{toasts:a,dismiss:o}=$r(),r=e.computed(()=>a.value.slice(0,n.visibleToasts)),l={"top-left":"top-0 left-0 flex-col items-start","top-center":"top-0 left-1/2 -translate-x-1/2 flex-col items-center","top-right":"top-0 right-0 flex-col items-end","bottom-left":"bottom-0 left-0 flex-col-reverse items-start","bottom-center":"bottom-0 left-1/2 -translate-x-1/2 flex-col-reverse items-center","bottom-right":"bottom-0 right-0 flex-col-reverse items-end"},s=e.computed(()=>A(l[n.position])),c=q.cva("group pointer-events-auto relative flex w-full items-start gap-3 overflow-hidden rounded-xl border p-4 transition-all duration-200 hover:-translate-y-0.5",{variants:{variant:{default:"ui-surface ui-border-strong ui-text shadow-lg shadow-black/5 dark:shadow-black/30",info:"border-blue-700 bg-blue-700 ui-text-inverse shadow-lg shadow-blue-900/25",success:"border-green-700 bg-green-700 ui-text-inverse shadow-lg shadow-green-900/25",warning:"border-amber-600 bg-amber-600 ui-text-inverse shadow-lg shadow-amber-900/25",error:"border-red-700 bg-red-700 ui-text-inverse shadow-lg shadow-red-900/25",loading:"ui-surface ui-border-strong ui-text shadow-lg shadow-black/5 dark:shadow-black/30"}},defaultVariants:{variant:"default"}}),i=I=>A(c({variant:I.variant})),u={default:"bell",info:"info",success:"check-circle",warning:"triangle-exclamation",error:"circle-xmark",loading:"loader-circle"},f={default:"ui-primary",info:"text-white",success:"text-white",warning:"text-white",error:"text-white",loading:"ui-primary"},d={default:"ui-surface-muted border ui-border",info:"bg-white/15 ring-1 ring-white/25",success:"bg-white/15 ring-1 ring-white/25",warning:"bg-white/15 ring-1 ring-white/25",error:"bg-white/15 ring-1 ring-white/25",loading:"ui-surface-muted border ui-border"},k={default:"bg-(--ui-primary)",info:"bg-white/70",success:"bg-white/70",warning:"bg-white/70",error:"bg-white/70",loading:"bg-(--ui-primary)"},b={default:"ui-primary hover:text-(--ui-primary-strong) underline-offset-4 hover:underline",info:"text-white/90 hover:text-white underline-offset-4 hover:underline",success:"text-white/90 hover:text-white underline-offset-4 hover:underline",warning:"text-white/90 hover:text-white underline-offset-4 hover:underline",error:"text-white/90 hover:text-white underline-offset-4 hover:underline",loading:"ui-primary hover:text-(--ui-primary-strong) underline-offset-4 hover:underline"},y={default:"ui-text",info:"text-white",success:"text-white",warning:"text-white",error:"text-white",loading:"ui-text"},v={default:"ui-text-muted",info:"text-white/90",success:"text-white/90",warning:"text-white/90",error:"text-white/90",loading:"ui-text-muted"},g={default:"ui-text-soft hover:bg-black/5 dark:hover:bg-white/10 hover:text-(--ui-text)",info:"text-white/80 hover:text-white hover:bg-white/15",success:"text-white/80 hover:text-white hover:bg-white/15",warning:"text-white/80 hover:text-white hover:bg-white/15",error:"text-white/80 hover:text-white hover:bg-white/15",loading:"ui-text hover:bg-black/5 dark:hover:bg-white/5 hover:text-(--ui-text)"},m=I=>I.icon||u[I.variant]||u.default,p=I=>{const te=f[I.variant]||f.default;return I.variant==="loading"?`${te} animate-spin`:te},w=I=>d[I.variant]||d.default,N=I=>k[I.variant]||k.default,P=I=>b[I.variant]||b.default,_=I=>y[I.variant]||y.default,H=I=>v[I.variant]||v.default,G=I=>g[I.variant]||g.default,K=I=>I.icon!==!1,z=I=>I.dismissible!==!1&&(I.closeButton||n.closeButton||I.dismissible);return(I,te)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(A)(s.value,"fixed z-[10000] flex max-h-screen w-full p-4 md:max-w-[420px] pointer-events-none"))},[e.createVNode(e.TransitionGroup,{"enter-active-class":"transition-all duration-400 ease-[cubic-bezier(0.16,1,0.3,1)]","enter-from-class":"transform translate-x-full opacity-0 scale-90","enter-to-class":"transform translate-x-0 opacity-100 scale-100","leave-active-class":"transition-all duration-300 ease-[cubic-bezier(0.4,0,1,1)]","leave-from-class":"transform translate-x-0 opacity-100 scale-100","leave-to-class":"transform translate-x-full opacity-0 scale-90","move-class":"transition-all duration-300 ease-out",tag:"div",class:"w-full space-y-3"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,j=>(e.openBlock(),e.createElementBlock("div",{key:j.id,class:e.normalizeClass(i(j)),role:"alert","aria-live":j.variant==="error"?"assertive":"polite"},[K(j)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(A)("relative flex h-10 w-10 shrink-0 items-center justify-center rounded-lg transition-all duration-300",w(j)))},[e.createVNode(R,{icon:m(j),class:e.normalizeClass(e.unref(A)("h-5 w-5 transition-transform duration-300 group-hover:scale-110",p(j)))},null,8,["icon","class"])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",am,[j.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(A)("text-md font-semibold leading-tight mb-1",_(j)))},e.toDisplayString(j.title),3)):e.createCommentVNode("",!0),j.message||j.description?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(A)("text-md leading-relaxed",H(j)))},e.toDisplayString(j.message||j.description),3)):e.createCommentVNode("",!0),j.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(j.component),e.mergeProps({key:2,ref_for:!0},j.componentProps,{class:"mt-3"}),null,16)):e.createCommentVNode("",!0),j.action?(e.openBlock(),e.createElementBlock("button",{key:3,class:e.normalizeClass(["mt-3 inline-flex items-center gap-1.5 text-sm font-medium transition-colors",P(j)]),onClick:j.action.onClick},[e.createTextVNode(e.toDisplayString(j.action.label)+" ",1),e.createVNode(R,{icon:"arrow-right",class:"h-3 w-3 transition-transform duration-200 group-hover:translate-x-0.5"})],10,nm)):e.createCommentVNode("",!0)]),z(j)?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(e.unref(A)("absolute right-2 top-2 flex h-7 w-7 shrink-0 items-center justify-center rounded-md opacity-70 transition-all hover:opacity-100 focus:opacity-100 focus:outline-none focus:ring-2 focus:ring-(--ui-ring)",G(j))),"aria-label":"Dismiss",onClick:U=>e.unref(o)(j.id)},[e.createVNode(R,{icon:"x",class:"h-4 w-4"})],10,om)):e.createCommentVNode("",!0),j.duration&&j.duration>0?(e.openBlock(),e.createElementBlock("div",rm,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(A)("h-full origin-left animate-toast-progress",N(j))),style:e.normalizeStyle({animationDuration:`${j.duration}ms`})},null,6)])):e.createCommentVNode("",!0)],10,tm))),128))]),_:1})],2)]))}},Dr=Ne(lm,[["__scopeId","data-v-8acde4d1"]]),sm={class:"relative"},im=["id","disabled"],cm={key:0,class:"ui-text-muted"},um={key:1,class:"flex flex-wrap gap-1.5"},dm={class:"px-3 py-2.5 border-b ui-border-strong ui-surface-muted"},mm=["onClick"],fm={class:"flex items-center gap-3"},pm=["checked"],gm={key:1,class:"px-4 py-6 text-sm ui-text text-center"},We=12,Nt=4,Un=320,vm=180,hm=10050,Ka={__name:"MultiSelect",props:{modelValue:{type:Array,default:()=>[]},options:{type:Array,required:!0,validator:t=>t.every(n=>n.value!==void 0&&n.label)},id:{type:String,default:null},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:"Select options"},hasError:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=e.ref(""),s=e.ref(null),c=e.ref([...a.options]),i=e.ref(null),u=e.ref(null),f=e.ref({}),d=e.computed(()=>a.options.filter(w=>a.modelValue.includes(w.value)).map(w=>w.label)),k=()=>{r.value=!1,l.value="",c.value=[...a.options]},b=()=>{if(!i.value||!r.value)return;const w=i.value.getBoundingClientRect(),N=window.innerWidth,P=window.innerHeight,_=Math.max(0,P-w.bottom-Nt-We),H=Math.max(0,w.top-Nt-We),G=H>_,z=Math.max(Math.min(Un,G?H:_),Math.min(vm,Un)),I=Math.max(0,N-We*2),te=Math.min(w.width,I);let j=w.left;j+te>N-We&&(j=N-We-te),j<We&&(j=We),f.value={position:"fixed",left:`${j}px`,width:`${te}px`,maxHeight:`${z}px`,zIndex:hm,...G?{bottom:`${P-w.top+Nt}px`}:{top:`${w.bottom+Nt}px`}}},y=()=>{a.disabled||(r.value?k():(r.value=!0,e.nextTick(()=>{b(),s.value?.focus()})))},v=w=>{let N;a.modelValue.includes(w)?N=a.modelValue.filter(P=>P!==w):N=[...a.modelValue,w],o("update:modelValue",N),e.nextTick(()=>{b()})},g=()=>{if(!l.value.trim())c.value=[...a.options];else{const w=l.value.toLowerCase();c.value=a.options.filter(N=>N.label.toLowerCase().includes(w))}},m=w=>{w.key==="Escape"&&k()},p=w=>{if(!i.value)return;const N=w.target;if(!N)return;const P=u.value&&u.value.contains(N),_=i.value.contains(N);!P&&!_&&k()};return e.onMounted(()=>{document.addEventListener("click",p),window.addEventListener("scroll",b,!0),window.addEventListener("resize",b)}),e.onUnmounted(()=>{document.removeEventListener("click",p),window.removeEventListener("scroll",b,!0),window.removeEventListener("resize",b)}),e.watch(()=>a.options,w=>{c.value=[...w]},{immediate:!0}),e.watch(()=>a.modelValue,()=>{r.value&&e.nextTick(()=>{b()})}),e.watch(c,()=>{r.value&&e.nextTick(()=>{b()})}),e.watch(r,w=>{w&&b()}),(w,N)=>(e.openBlock(),e.createElementBlock("div",sm,[e.createElementVNode("button",{id:t.id,ref_key:"buttonRef",ref:i,type:"button",disabled:t.disabled,class:e.normalizeClass(["w-full px-3 py-2.5 text-left border rounded-md focus:outline-none focus:ring-2 focus:ring-(--ui-primary) ui-surface min-h-[42px]",t.hasError?"border-(--ui-danger)":"ui-border-strong ",t.disabled?"ui-surface-muted cursor-not-allowed opacity-50":"hover:border-(--ui-border-strong)"]),onClick:y,onKeydown:m},[d.value.length===0?(e.openBlock(),e.createElementBlock("div",cm,e.toDisplayString(t.placeholder||"Select options"),1)):(e.openBlock(),e.createElementBlock("div",um,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,P=>(e.openBlock(),e.createBlock(Ia,{key:P,variant:"primary",size:"sm"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(P),1)]),_:2},1024))),128))])),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["absolute right-3 top-1/2 -translate-y-1/2 h-5 w-5 ui-text pointer-events-none transition-transform duration-200",{"rotate-180":r.value}]),fill:"currentColor",viewBox:"0 0 20 20"},[...N[3]||(N[3]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z","clip-rule":"evenodd"},null,-1)])],2))],42,im),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:u,style:e.normalizeStyle(f.value),"data-multiselect-dropdown":"",class:"shadow-lg rounded-md text-base ring-1 ring-(--ui-border-strong) ring-opacity-5 overflow-hidden focus:outline-none ui-surface flex flex-col overscroll-contain"},[e.createElementVNode("div",dm,[e.withDirectives(e.createElementVNode("input",{ref_key:"searchInput",ref:s,"onUpdate:modelValue":N[0]||(N[0]=P=>l.value=P),type:"text",placeholder:"Search options...",class:"w-full px-3 py-2 text-sm border ui-border-strong rounded-md focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-transparent ui-surface placeholder:text-(--ui-text-muted)",onInput:g,onKeydown:N[1]||(N[1]=e.withModifiers(()=>{},["stop"]))},null,544),[[e.vModelText,l.value]])]),c.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"overflow-y-auto py-1 flex-1 overscroll-contain",onWheel:N[2]||(N[2]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,P=>(e.openBlock(),e.createElementBlock("button",{key:P.value,type:"button",class:e.normalizeClass(["cursor-pointer select-none relative py-2.5 pl-3 pr-9 w-full text-left hover:bg-(--ui-primary-soft) focus:bg-(--ui-primary-soft) focus:outline-none transition-colors duration-150",{"ui-primary-soft":t.modelValue.includes(P.value)}]),onClick:_=>v(P.value)},[e.createElementVNode("div",fm,[e.createElementVNode("input",{type:"checkbox",checked:t.modelValue.includes(P.value),class:"h-4 w-4 ui-primary focus:ring-(--ui-primary) ui-border-strong rounded cursor-pointer pointer-events-none",readonly:"",tabindex:"-1"},null,8,pm),e.createElementVNode("span",{class:e.normalizeClass(["block font-normal truncate",{"ui-primary font-medium":t.modelValue.includes(P.value)}])},e.toDisplayString(P.label),3)])],10,mm))),128))],32)):(e.openBlock(),e.createElementBlock("div",gm," No options found "))],4)):e.createCommentVNode("",!0)]),_:1})]))]))}},ym={class:"relative"},bm={class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},xm=["value","placeholder","disabled"],km={key:0,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},wm=["aria-label"],Cm={key:1,class:"animate-spin"},Bm={key:0,class:"max-h-64 overflow-y-auto"},Vm=["onClick","onMouseenter"],Em={class:"flex-1 text-left"},Sm={class:"font-medium ui-text"},Nm={key:0,class:"text-sm ui-text truncate"},$m={key:1,class:"text-xs ui-text ml-3"},Dm={key:1,class:"px-4 py-3 text-sm ui-text text-center"},zm={key:2,class:"border-t ui-border-strong p-2"},Xa={__name:"Search",props:{modelValue:{type:String,default:""},results:{type:Array,default:()=>[]},placeholder:{type:String,default:"Search..."},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},clearLabel:{type:String,default:"Clear search"},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},debounce:{type:Number,default:300},minLength:{type:Number,default:1},showNoResults:{type:Boolean,default:!0},noResultsText:{type:String,default:"No results found"},highlightMatches:{type:Boolean,default:!0}},emits:["update:modelValue","search","select","clear","focus","blur"],setup(t,{emit:n}){const a={render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"})])}},o={render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18 18 6M6 6l12 12"})])}},r={render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24",class:"animate-spin"},[e.h("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e.h("path",{class:"opacity-75",fill:"currentColor",d:"m4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})])}},l=t,s=n,c=e.ref(null),i=e.ref(null),u=e.ref(!1),f=e.ref(-1),d=e.ref(null),k=z=>{const I=z.target.value;s("update:modelValue",I),d.value&&clearTimeout(d.value),d.value=setTimeout(()=>{I.length>=l.minLength?(s("search",I),u.value=!0):u.value=!1},l.debounce)},b=z=>{s("focus",z),l.modelValue.length>=l.minLength&&(u.value=!0)},y=z=>{s("blur",z),setTimeout(()=>{u.value=!1,f.value=-1},150)},v=()=>{s("update:modelValue",""),s("clear"),u.value=!1,i.value?.focus()},g=z=>{s("select",z),u.value=!1,f.value=-1},m=z=>{if(!(!u.value||l.results.length===0))switch(z.key){case"ArrowDown":z.preventDefault(),f.value=Math.min(f.value+1,l.results.length-1);break;case"ArrowUp":z.preventDefault(),f.value=Math.max(f.value-1,-1);break;case"Enter":z.preventDefault(),f.value>=0&&g(l.results[f.value]);break;case"Escape":z.preventDefault(),u.value=!1,f.value=-1;break}},p=z=>{if(!l.highlightMatches||!l.modelValue||!z)return z;const I=new RegExp(`(${l.modelValue})`,"gi");return z.replace(I,"$1")},w=q.cva("block w-full rounded-lg border ui-surface transition-colors duration-200 placeholder:text-(--ui-text) disabled:bg-(--ui-surface) disabled:text-(--ui-text) disabled:cursor-not-allowed focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-(--ui-primary)",{variants:{size:{sm:"px-9 py-1.5 text-sm",md:"px-10 py-2 text-sm",lg:"px-12 py-3 text-base"}},defaultVariants:{size:"md"}}),N=q.cva("ui-text",{variants:{size:{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}},defaultVariants:{size:"md"}}),P=e.computed(()=>A(w({size:l.size}))),_=e.computed(()=>A(N({size:l.size}))),H=e.computed(()=>A("absolute z-50 w-full mt-1 ui-surface rounded-lg shadow-lg border ui-border-strong max-h-96 overflow-hidden")),G=z=>A("flex items-center w-full px-4 py-3 text-left transition-colors duration-150 hover:bg-(--ui-surface) focus:bg-(--ui-surface) focus:outline-none",{"ui-surface-muted":f.value===z}),K=z=>{c.value&&!c.value.contains(z.target)&&(u.value=!1,f.value=-1)};return e.onMounted(()=>document.addEventListener("click",K)),e.onUnmounted(()=>{document.removeEventListener("click",K),d.value&&clearTimeout(d.value)}),e.watch(()=>l.results,()=>f.value=-1),(z,I)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:c,class:"relative"},[e.createElementVNode("div",ym,[e.createElementVNode("div",bm,[e.createVNode(a,{class:e.normalizeClass(_.value)},null,8,["class"])]),e.createElementVNode("input",{ref_key:"inputRef",ref:i,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,class:e.normalizeClass(P.value),onInput:k,onFocus:b,onBlur:y,onKeydown:m},null,42,xm),t.modelValue||t.loading?(e.openBlock(),e.createElementBlock("div",km,[!t.loading&&t.clearable?(e.openBlock(),e.createElementBlock("button",{key:0,class:"ui-text hover:text-(--ui-text) transition-colors p-1 rounded-full hover:bg-(--ui-surface)","aria-label":t.clearLabel,onClick:v},[e.createVNode(o,{class:"w-4 h-4"})],8,wm)):t.loading?(e.openBlock(),e.createElementBlock("div",Cm,[e.createVNode(r,{class:"w-4 h-4 ui-text"})])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200","enter-from-class":"opacity-0 scale-95 translate-y-1","enter-to-class":"opacity-100 scale-100 translate-y-0","leave-active-class":"transition-all duration-150","leave-from-class":"opacity-100 scale-100 translate-y-0","leave-to-class":"opacity-0 scale-95 translate-y-1"},{default:e.withCtx(()=>[u.value&&(t.results.length>0||t.showNoResults)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(H.value)},[t.results.length>0?(e.openBlock(),e.createElementBlock("div",Bm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(te,j)=>(e.openBlock(),e.createElementBlock("button",{key:te.id||j,class:e.normalizeClass(G(j)),onClick:U=>g(te),onMouseenter:U=>f.value=j},[te.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(te.icon),{key:0,class:"w-4 h-4 mr-3 shrink-0"})):e.createCommentVNode("",!0),e.createElementVNode("div",Em,[e.createElementVNode("div",Sm,e.toDisplayString(p(te.title)),1),te.description?(e.openBlock(),e.createElementBlock("div",Nm,e.toDisplayString(p(te.description)),1)):e.createCommentVNode("",!0)]),te.category?(e.openBlock(),e.createElementBlock("div",$m,e.toDisplayString(te.category),1)):e.createCommentVNode("",!0)],42,Vm))),128))])):t.showNoResults?(e.openBlock(),e.createElementBlock("div",Dm,e.toDisplayString(t.noResultsText),1)):e.createCommentVNode("",!0),z.$slots.footer?(e.openBlock(),e.createElementBlock("div",zm,[e.renderSlot(z.$slots,"footer")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})],512))}},Tm={class:"w-full"},Am=["min","max","step","value"],Fm={class:"flex justify-between text-xs ui-text mt-1"},Ja={__name:"Slider",props:{modelValue:{type:[Number,String],default:0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1}},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=e.computed(()=>{const s=Number(a.modelValue),c=Number(a.min),i=Number(a.max);if(Number.isNaN(s)||Number.isNaN(c)||Number.isNaN(i)||i<=c)return"var(--ui-primary)";const f=(Math.min(Math.max(s,c),i)-c)/(i-c);return f<=.2?"#16a34a":f<=.4?"#65a30d":f<=.6?"#eab308":f<=.8?"#f97316":"#dc2626"}),l=s=>{o("update:modelValue",Number(s.target.value))};return(s,c)=>(e.openBlock(),e.createElementBlock("div",Tm,[e.createElementVNode("input",{type:"range",min:t.min,max:t.max,step:t.step,value:t.modelValue,class:"w-full cursor-pointer",style:e.normalizeStyle({accentColor:r.value}),onInput:l},null,44,Am),e.createElementVNode("div",Fm,[e.createElementVNode("span",null,e.toDisplayString(t.min),1),e.createElementVNode("span",null,e.toDisplayString(t.modelValue),1),e.createElementVNode("span",null,e.toDisplayString(t.max),1)])]))}},Lm={class:"flex items-center space-x-4 ui-text"},zr={__name:"Stepper",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Lm,[e.renderSlot(n.$slots,"default")]))}},Mm={class:"flex items-center"},Im={class:"ml-2"},_m={class:"font-medium"},Pm={key:0,class:"text-sm ui-text"},Tr={__name:"StepperItem",props:{step:{type:Number,required:!0},title:{type:String,required:!0},description:{type:String,default:""},active:{type:Boolean,default:!1},completed:{type:Boolean,default:!1}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Mm,[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-center w-8 h-8 rounded-full border-2",t.active?"ui-primary-bg border-(--ui-primary) ui-text":t.completed?"ui-success-bg border-(--ui-success) ui-text":"ui-border-strong ui-text"])},[e.createElementVNode("span",null,e.toDisplayString(t.step),1)],2),e.createElementVNode("div",Im,[e.createElementVNode("div",_m,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",Pm,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])]))}},Om={class:"w-full"},jm={class:"relative inline-flex w-full gap-2 rounded-xl border ui-border-strong ui-surface-muted p-1.5",role:"tablist"},Rm=["id","disabled","aria-selected","aria-controls","onKeydown","onClick"],Hm={class:"mt-4"},Ar={__name:"Tab",props:{defaultIndex:{type:Number,default:0},modelValue:{type:Number,default:null},size:{type:String,default:"sm"},variant:{type:String,default:"default"},loading:{type:Boolean,default:!1}},emits:["tab-change","update:modelValue"],setup(t,{emit:n}){const a=t,o=q.cva("relative z-10 rounded-lg font-medium transition-all duration-200 border border-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--ui-primary)",{variants:{size:{sm:"px-2.5 py-1 text-[11px]",md:"px-3 py-1.5 text-xs",lg:"px-3.5 py-2 text-sm"},variant:{default:""}},defaultVariants:{size:"md",variant:"default"}}),r=e.ref(a.modelValue??a.defaultIndex),l=e.ref([]),s=e.ref([]),c=e.ref({width:"0px",transform:"translateX(0px)"}),i=y=>{y<0||y>=l.value.length||(r.value=y,u("update:modelValue",y),u("tab-change",y),b())};e.watch(()=>a.modelValue,y=>{typeof y=="number"&&y!==r.value&&(r.value=y,b())});const u=n,f=(y,v)=>{s.value[v]=y||null},d=y=>{const v=s.value[y];v&&typeof v.focus=="function"&&v.focus()},k=(y,v)=>{if(a.loading)return;const g=l.value.length-1;if(!(g<0)){if(y.key==="ArrowRight"){y.preventDefault();const m=v>=g?0:v+1;i(m),d(m);return}if(y.key==="ArrowLeft"){y.preventDefault();const m=v<=0?g:v-1;i(m),d(m);return}if(y.key==="Home"){y.preventDefault(),i(0),d(0);return}y.key==="End"&&(y.preventDefault(),i(g),d(g))}},b=()=>{e.nextTick(()=>{const y=s.value[r.value];if(!y){c.value={width:"0px",transform:"translateX(0px)"};return}c.value={width:`${y.offsetWidth}px`,transform:`translateX(${y.offsetLeft}px)`}})};return e.watch(()=>l.value.length,()=>{b()}),e.watch(r,()=>{b()}),e.onMounted(()=>{b(),window.addEventListener("resize",b)}),e.onUnmounted(()=>{window.removeEventListener("resize",b)}),e.provide("tabsContext",{activeIndex:r,tabs:l,registerTab:y=>{l.value.push({label:y});const v=l.value.length-1;return b(),v},unregisterTab:y=>{l.value.splice(y,1),s.value.splice(y,1),r.value>=l.value.length&&(r.value=Math.max(l.value.length-1,0),u("update:modelValue",r.value),u("tab-change",r.value)),b()}}),(y,v)=>(e.openBlock(),e.createElementBlock("div",Om,[e.createElementVNode("div",jm,[e.createElementVNode("span",{class:"pointer-events-none absolute top-1.5 bottom-1.5 rounded-lg bg-(--ui-primary) opacity-10 transition-all duration-250 ease-out z-0",style:e.normalizeStyle(c.value)},null,4),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(g,m)=>(e.openBlock(),e.createElementBlock("button",{id:`tab-${m}`,key:m,ref_for:!0,ref:p=>f(p,m),disabled:a.loading,class:e.normalizeClass(e.unref(A)(e.unref(o)({size:a.size,variant:a.variant}),r.value===m?"bg-(--ui-primary) text-(--ui-text-inverse) shadow-sm":"border-transparent ui-text-muted hover:ui-text hover:bg-(--ui-surface)",a.loading&&"cursor-not-allowed opacity-50")),"aria-selected":r.value===m,"aria-controls":`panel-${m}`,role:"tab",tabindex:"0",onKeydown:p=>k(p,m),onClick:p=>!a.loading&&i(m)},e.toDisplayString(g.label),43,Rm))),128))]),e.createElementVNode("div",Hm,[e.renderSlot(y.$slots,"default")])]))}},Um=["id","aria-labelledby"],Wm={class:"rounded-xl border ui-border bg-(--ui-surface) p-2 shadow-xs"},Ym={key:0,class:"flex items-center justify-center p-8"},qm={key:1,class:"transition-opacity duration-200 opacity-100"},Fr={__name:"TabPanel",props:{label:{type:String,required:!0},loading:{type:Boolean,default:!1}},setup(t){const n=t,a=e.inject("tabsContext");if(!a)throw new Error("TabPanel must be used within a Tab component");const o=e.ref(null),r=e.ref(!1);return e.onMounted(()=>{o.value=a.registerTab(n.label),r.value=a.activeIndex.value===o.value,e.watch(a.activeIndex,l=>{r.value=l===o.value})}),e.onUnmounted(()=>{o.value!==null&&a.unregisterTab(o.value)}),(l,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{id:`panel-${o.value}`,role:"tabpanel","aria-labelledby":`tab-${o.value}`,class:"ui-text"},[e.createElementVNode("div",Wm,[t.loading?(e.openBlock(),e.createElementBlock("div",Ym,[e.createVNode(Gt,{size:"lg",label:`Loading ${n.label}`},null,8,["label"])])):(e.openBlock(),e.createElementBlock("div",qm,[e.renderSlot(l.$slots,"default")]))])],8,Um)),[[e.vShow,r.value]])}},Gm=["id","aria-expanded","aria-controls","onClick"],Km={class:"flex items-center flex-1 min-w-0"},Xm={key:0},Jm=["id","aria-labelledby"],Qm={key:0},Lr={__name:"Accordion",props:{items:{type:Array,required:!0},modelValue:{type:[Number,Array],default:null},multiple:Boolean,variant:{type:String,default:"default",validator:t=>["default","bordered","filled","flush"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},disabled:Boolean},emits:["update:modelValue","change"],setup(t,{emit:n}){const a={render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})])}},o=t,r=n,l=e.ref(o.multiple?Array.isArray(o.modelValue)?[...o.modelValue]:[]:typeof o.modelValue=="number"?[o.modelValue]:[]),s=p=>{if(!(o.disabled||o.items[p]?.disabled)){if(o.multiple){const w=l.value.indexOf(p);w>-1?l.value.splice(w,1):l.value.push(p),r("update:modelValue",[...l.value])}else{const w=l.value.includes(p)?null:p;l.value=w!==null?[w]:[],r("update:modelValue",w)}r("change",{index:p,expanded:l.value.includes(p)})}},c=p=>l.value.includes(p),i=q.cva("w-full",{variants:{variant:{default:"space-y-1",bordered:"space-y-3",filled:"space-y-3",flush:"divide-y divide-slate-200"}}}),u=q.cva("transition-all duration-200",{variants:{variant:{default:" border ui-border-strong rounded-lg overflow-hidden shadow-sm hover:shadow-md",bordered:" border-2 ui-border-strong rounded-xl overflow-hidden hover:border-(--ui-border)",filled:" border ui-border-strong rounded-xl overflow-hidden shadow-sm",flush:""}}}),f=q.cva("flex items-center justify-between w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{variant:{default:"hover:bg-(--ui-surface-strong)",bordered:"hover:bg-[color:color-mix(in oklab, var(--ui-primary-soft), transparent 50%)]",filled:"hover:bg-[color:color-mix(in oklab, var(--ui-surface), transparent 30%)]",flush:"hover:bg-(--ui-surface)"},size:{sm:"px-4 py-3",md:"px-5 py-4",lg:"px-6 py-5"}}}),d=q.cva("ml-4 shrink-0 ui-text transition-all duration-200",{variants:{expanded:{true:"rotate-180 ui-primary",false:""}}}),k=q.cva("overflow-hidden ui-text ui-surface",{variants:{size:{sm:"px-4 py-3 text-sm",md:"px-5 py-4 text-sm",lg:"px-6 py-5 text-base"}}}),b=e.computed(()=>A(i({variant:o.variant}))),y=e.computed(()=>A(u({variant:o.variant}))),v=p=>A(f({variant:o.variant,size:o.size}),c(p)&&o.variant==="bordered"&&"bg-[color:color-mix(in oklab, var(--ui-primary-soft), transparent 70%)] border-(--ui-border-strong)",c(p)&&o.variant==="filled"&&"ui-surface",c(p)&&o.variant==="default"&&"ui-bg",(o.disabled||o.items[p]?.disabled)&&"cursor-not-allowed opacity-50"),g=p=>A(d({expanded:c(p)})),m=e.computed(()=>A(k({size:o.size})));return e.watch(()=>o.modelValue,p=>{o.multiple?l.value=Array.isArray(p)?[...p]:[]:l.value=typeof p=="number"?[p]:[]}),(p,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(b.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(N,P)=>(e.openBlock(),e.createElementBlock("div",{key:N.id||P,class:e.normalizeClass(y.value)},[e.createElementVNode("button",{id:`header-${N.id||P}`,class:e.normalizeClass(v(P)),"aria-expanded":c(P),"aria-controls":`panel-${N.id||P}`,onClick:_=>s(P)},[e.createElementVNode("div",Km,[e.renderSlot(p.$slots,`header-${P}`,{item:N,index:P,isExpanded:c(P)},()=>[N.title?(e.openBlock(),e.createElementBlock("div",Xm,e.toDisplayString(N.title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(g(P))},[e.createVNode(a,{class:"w-5 h-5 transition-transform duration-200"})],2)],10,Gm),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 max-h-0","enter-to-class":"opacity-100 max-h-[600px]","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 max-h-[600px]","leave-to-class":"opacity-0 max-h-0"},{default:e.withCtx(()=>[c(P)?(e.openBlock(),e.createElementBlock("div",{key:0,id:`panel-${N.id||P}`,class:e.normalizeClass(m.value),"aria-labelledby":`header-${N.id||P}`,role:"region"},[e.renderSlot(p.$slots,`content-${P}`,{item:N,index:P},()=>[e.renderSlot(p.$slots,"content",{item:N,index:P},()=>[N.content?(e.openBlock(),e.createElementBlock("div",Qm,e.toDisplayString(N.content),1)):e.createCommentVNode("",!0)])])],10,Jm)):e.createCommentVNode("",!0)]),_:2},1024)],2))),128))],2))}},Mr={__name:"AccordionItem",props:{variant:{type:String,default:"default",validator:t=>["default","bordered","filled","flush"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)}},setup(t){const n={render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})])}},a=t,o=e.ref(!1),r=()=>o.value=!o.value,l=q.cva("",{variants:{variant:{default:"",bordered:"border ui-border-strong rounded-lg overflow-hidden",filled:"ui-surface-strong border ui-border-strong rounded-lg overflow-hidden",flush:""}}}),s=q.cva("flex items-center justify-between w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:ring-offset-2",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-base",lg:"p-6 text-lg"}}}),c=q.cva("overflow-hidden ui-text border-t ui-border-strong ",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-base",lg:"p-6 text-lg"}}}),i=e.computed(()=>A(l({variant:a.variant}))),u=e.computed(()=>A(s({size:a.size}))),f=e.computed(()=>A(c({size:a.size})));return(d,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.value)},[e.createVNode(be,{class:e.normalizeClass(u.value),"aria-expanded":o.value,onClick:r},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"header",{isOpen:o.value}),e.createVNode(n,{class:e.normalizeClass(e.unref(A)("w-5 h-5 transition-transform ml-2",{"rotate-180":o.value}))},null,8,["class"])]),_:3},8,["class","aria-expanded"]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 max-h-0","enter-to-class":"opacity-100 max-h-96","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 max-h-96","leave-to-class":"opacity-0 max-h-0"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[e.renderSlot(d.$slots,"content",{isOpen:o.value})],2)):e.createCommentVNode("",!0)]),_:3})],2))}},Zm={class:"relative w-full"},ef={class:"relative"},tf=["id","value","disabled","placeholder","required","aria-describedby"],af={class:"flex items-center justify-between mb-3"},nf={class:"text-sm font-medium"},of={class:"grid grid-cols-7 gap-1 mb-2"},rf={class:"grid grid-cols-7 gap-1"},lf=["disabled","onClick"],sf={key:0,class:"mt-4 pt-3 border-t ui-border-strong"},cf={key:0,class:"border-l pl-3 ui-border-strong"},uf={class:"max-h-[260px] overflow-y-auto pr-1 space-y-1"},df=["onClick"],Ir={__name:"Calendar",props:{id:String,modelValue:[String,Date],disabled:Boolean,required:Boolean,min:[String,Date],max:[String,Date],placeholder:{type:String,default:"Select date"},format:{type:String,default:"MM/DD/YYYY"},clearable:{type:Boolean,default:!0},showToday:{type:Boolean,default:!0},calendarPosition:{type:String,default:"left-0"},ariaDescribedby:String,enableTime:{type:Boolean,default:!1},minuteInterval:{type:Number,default:1}},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=new Date,s=e.ref(l.getMonth()),c=e.ref(l.getFullYear()),i=e.ref(null),u=e.ref("00:00"),f=["Su","Mo","Tu","We","Th","Fr","Sa"],d=e.computed(()=>new Date(c.value,s.value).toLocaleString("default",{month:"long"})),k=e.computed(()=>new Date(c.value,s.value+1,0).getDate()),b=e.computed(()=>new Date(c.value,s.value,1).getDay()),y=e.computed(()=>{const S=new Date(c.value,s.value,0).getDate(),E=b.value;return Array.from({length:E},(D,$)=>S-E+$+1)}),v=e.computed(()=>{const S=y.value.length+k.value,E=S%7===0?0:7-S%7;return Array.from({length:E},(D,$)=>$+1)}),g=e.computed(()=>i.value?a.enableTime?w(i.value):p(i.value):""),m=e.computed(()=>{const S=Math.min(60,Math.max(1,Number(a.minuteInterval)||1)),E=[];for(let D=0;D<24;D++)for(let $=0;$<60;$+=S){const L=String(D).padStart(2,"0"),C=String($).padStart(2,"0");E.push(`${L}:${C}`)}return E});function p(S){if(!S)return"";const E=new Date(S),D=String(E.getMonth()+1).padStart(2,"0"),$=String(E.getDate()).padStart(2,"0"),L=E.getFullYear();return a.format.replace("MM",D).replace("DD",$).replace("YYYY",L)}function w(S){const E=p(S),D=String(S.getHours()).padStart(2,"0"),$=String(S.getMinutes()).padStart(2,"0");return`${E} ${D}:${$}`}function N(S){if(!S)return null;if(S instanceof Date)return S;if(typeof S=="string"){if(S.includes("T")){const[$,L]=S.split("T"),C=N($);if(!C)return null;const[V="00",M="00"]=(L||"").slice(0,5).split(":");return C.setHours(parseInt(V,10)||0,parseInt(M,10)||0,0,0),C}const D=S.split("-");if(D.length===3){const $=parseInt(D[0],10),L=parseInt(D[1],10)-1,C=parseInt(D[2],10);return new Date($,L,C)}}const E=new Date(S);return isNaN(E.getTime())?null:E}function P(S){if(!i.value)return!1;const E=new Date(i.value);return E.getDate()===S&&E.getMonth()===s.value&&E.getFullYear()===c.value}function _(S){const E=new Date(c.value,s.value,S);if(a.min){const D=N(a.min);if(D&&E<D)return!0}if(a.max){const D=N(a.max);if(D&&E>D)return!0}return!1}function H(){a.disabled||(r.value=!r.value)}function G(){r.value=!1}function K(){s.value===0?(s.value=11,c.value--):s.value--}function z(){s.value===11?(s.value=0,c.value++):s.value++}function I(S){if(_(S))return;const E=new Date(c.value,s.value,S);i.value=E,te(E),a.enableTime||(r.value=!1)}function te(S){const E=S.getFullYear(),D=String(S.getMonth()+1).padStart(2,"0"),$=String(S.getDate()).padStart(2,"0");if(!a.enableTime){o("update:modelValue",`${E}-${D}-${$}`);return}const[L="00",C="00"]=u.value.split(":");o("update:modelValue",`${E}-${D}-${$}T${L}:${C}`)}function j(){s.value=l.getMonth(),c.value=l.getFullYear(),I(l.getDate())}function U(){i.value=null,u.value="00:00",o("update:modelValue","")}e.watch(()=>a.modelValue,S=>{if(S){const E=N(S);if(E){i.value=E;const D=String(E.getHours()).padStart(2,"0"),$=String(E.getMinutes()).padStart(2,"0");u.value=`${D}:${$}`,s.value=E.getMonth(),c.value=E.getFullYear()}}else i.value=null},{immediate:!0}),e.watch(u,S=>{if(!a.enableTime||!i.value)return;const[E="00",D="00"]=(S||"00:00").split(":");i.value.setHours(parseInt(E,10)||0,parseInt(D,10)||0,0,0),te(i.value)});function O(S){S.key==="Escape"&&r.value&&G()}return e.onMounted(()=>{document.addEventListener("keydown",O)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",O)}),(S,E)=>(e.openBlock(),e.createElementBlock("div",Zm,[e.createElementVNode("div",ef,[e.createElementVNode("input",{id:t.id,type:"text",value:g.value,readonly:"",disabled:t.disabled,placeholder:t.placeholder,required:t.required,"aria-describedby":t.ariaDescribedby,class:"w-full px-3 py-2 pr-10 border ui-border-strong rounded-md bg-(--ui-bg) ui-text placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-(--ui-primary) cursor-pointer disabled:bg-(--ui-surface) disabled:text-(--ui-text) disabled:cursor-not-allowed",onClick:H},null,8,tf),E[2]||(E[2]=e.createElementVNode("div",{class:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none"},[e.createElementVNode("svg",{class:"w-5 h-5 ui-text",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})])],-1)),t.clearable&&g.value&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-(--ui-surface) rounded","aria-label":"Clear date",onClick:e.withModifiers(U,["stop"])},[...E[1]||(E[1]=[e.createElementVNode("svg",{class:"w-4 h-4 ui-text",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-99999 mt-2 rounded-lg shadow-lg p-4 ui-surface",t.calendarPosition,t.enableTime?"w-[420px]":"w-auto"]),onClick:E[0]||(E[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(t.enableTime?"grid grid-cols-[1fr_124px] gap-3":"block")},[e.createElementVNode("div",null,[e.createElementVNode("div",af,[e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-(--ui-surface) rounded","aria-label":"Previous Month",onClick:K},[...E[3]||(E[3]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 18l-6-6 6-6"})],-1)])]),e.createElementVNode("div",nf,e.toDisplayString(d.value)+" "+e.toDisplayString(c.value),1),e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-(--ui-surface) rounded","aria-label":"Next Month",onClick:z},[...E[4]||(E[4]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 18l6-6-6-6"})],-1)])])]),e.createElementVNode("div",of,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,D=>e.createElementVNode("div",{key:D,class:"text-center text-xs font-medium ui-text py-1"},e.toDisplayString(D),1)),64))]),e.createElementVNode("div",rf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(D,$)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+$,class:"text-center text-sm ui-text py-2"},e.toDisplayString(D),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,D=>(e.openBlock(),e.createElementBlock("button",{key:D,type:"button",disabled:_(D),class:e.normalizeClass(["w-8 h-8 text-sm rounded flex items-center justify-center",P(D)?"ui-primary-bg ui-text":"hover:bg-(--ui-surface)",_(D)?"ui-text cursor-not-allowed":""]),onClick:$=>I(D)},e.toDisplayString(D),11,lf))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(D,$)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+$,class:"text-center text-sm ui-text py-2"},e.toDisplayString(D),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",sf,[e.createElementVNode("button",{type:"button",class:"w-full px-3 py-2 text-sm font-medium ui-primary hover:bg-(--ui-primary-soft) rounded-lg transition-colors",onClick:j}," Today ")])):e.createCommentVNode("",!0)]),t.enableTime?(e.openBlock(),e.createElementBlock("div",cf,[E[5]||(E[5]=e.createElementVNode("div",{class:"text-xs font-semibold ui-text mb-2"},"Time",-1)),e.createElementVNode("div",uf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,D=>(e.openBlock(),e.createElementBlock("button",{key:D,type:"button",class:e.normalizeClass(["w-full px-2 py-1.5 text-left text-sm rounded transition-colors",D===u.value?"ui-primary-bg ui-text":"ui-text hover:bg-(--ui-surface)"]),onClick:$=>u.value=D},e.toDisplayString(D),11,df))),128))])])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)]),_:1}),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-99998",onClick:G})):e.createCommentVNode("",!0)]))}},mf={class:"flex items-start justify-between"},ff={class:"flex-1 min-w-0"},pf={key:0,class:"shrink-0 ml-4"},gf="text-lg font-semibold ui-text truncate",vf="text-sm ui-text mt-1",_r={__name:"Graph",props:{variant:{type:String,default:"default",validator:t=>["default","outlined","elevated","filled"].includes(t)},padding:{type:String,default:"md",validator:t=>["none","sm","md","lg","xl"].includes(t)},title:String,description:String},setup(t){const n=q.cva("rounded-lg overflow-hidden transition-all duration-200",{variants:{variant:{default:" border ",outlined:" border-2 ",elevated:" shadow-lg border ",filled:" border "},padding:{none:"",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}},defaultVariants:{variant:"default",padding:"md"}}),a=q.cva("border-b ui-border-strong last:border-b-0",{variants:{padding:{none:"p-4 pb-0",sm:"px-3 pt-3",md:"px-4 pt-4",lg:"px-6 pt-6",xl:"px-8 pt-8"}}}),o=q.cva("border-b ui-border-strong",{variants:{padding:{none:"p-4 pb-0",sm:"px-3 py-3",md:"px-4 py-4",lg:"px-6 py-6",xl:"px-8 py-8"}}}),r=q.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),l=q.cva("border-t ui-border-strong bg-[color:color-mix(in oklab, var(--ui-surface), transparent 50%)]",{variants:{padding:{none:"p-4 pt-0",sm:"px-3 pb-3",md:"px-4 pb-4",lg:"px-6 pb-6",xl:"px-8 pb-8"}}}),s=q.cva("border-t ui-border-strong bg-[color:color-mix(in oklab, var(--ui-surface), transparent 50%)]",{variants:{padding:{none:"p-4 pt-0",sm:"px-3 pb-3",md:"px-4 pb-4",lg:"px-6 pb-6",xl:"px-8 pb-8"}}});return(c,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(A)(e.unref(n)({variant:t.variant,padding:t.padding})))},[c.$slots.header||t.title||t.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(A)(e.unref(a)({padding:t.padding})))},[e.renderSlot(c.$slots,"header",{},()=>[e.createElementVNode("div",mf,[e.createElementVNode("div",ff,[t.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(gf)},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(vf)},e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),c.$slots.actions?(e.openBlock(),e.createElementBlock("div",pf,[e.renderSlot(c.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),c.$slots.filters?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(A)(e.unref(o)({padding:t.padding})))},[e.renderSlot(c.$slots,"filters")],2)):e.createCommentVNode("",!0),c.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(A)(e.unref(r)({padding:t.padding})))},[e.renderSlot(c.$slots,"default")],2)):e.createCommentVNode("",!0),c.$slots.legend?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(A)(e.unref(l)({padding:t.padding})))},[e.renderSlot(c.$slots,"legend")],2)):e.createCommentVNode("",!0),c.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(e.unref(A)(e.unref(s)({padding:t.padding})))},[e.renderSlot(c.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},hf={key:0,class:"absolute top-3 left-3 z-10 ui-surface border ui-border-strong rounded-md px-2 py-1.5"},yf={class:"flex items-center gap-2"},bf={class:"text-xs font-semibold ui-text"},xf=["width","height","viewBox"],kf={key:0},wf=["x1","y1","x2","y2","stroke"],Cf=["id"],Bf=["stop-color"],Vf=["stop-color"],Ef=["x","y","width","height","fill","onMouseenter","onClick"],Sf=["to"],Nf=["from","to"],$f=["x","y"],Df={key:1},zf=["x","y"],Tf={key:2},Af=["x","y"],Ff={key:3},Lf=["x","y"],Mf={key:4},If=["x"],_f=["x1","y1","x2","y2"],Pf=["x1","y1","x2","y2"],Of={class:"ui--surface ui-text px-4 py-3 rounded-lg shadow-2xl border ui-border-strong min-w-40"},jf={class:"flex items-center gap-2 mb-1"},Rf={class:"font-semibold text-sm"},Hf={class:"ml-5"},Uf={class:"text-2xl font-bold"},Qa={__name:"BarChart",props:{data:{type:Array,required:!0},labels:{type:Array,default:()=>[]},colors:{type:Array,default:()=>["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6"]},width:{type:[Number,String],default:"auto"},height:{type:[Number,String],default:"auto"},padding:{type:Object,default:()=>({top:20,right:20,bottom:60,left:60})},showGrid:{type:Boolean,default:!0},showXAxis:{type:Boolean,default:!0},showYAxis:{type:Boolean,default:!0},gridColor:{type:String,default:"#e5e7eb"},barClasses:{type:String,default:"transition-all duration-200 hover:opacity-90 cursor-pointer"},axisLabelClasses:{type:String,default:"fill-(--ui-text) text-xs font-medium"},maxValue:{type:Number,default:null},xAxisLabel:{type:String,default:""},yAxisLabel:{type:String,default:""},showValues:{type:Boolean,default:!0},valueSuffix:{type:String,default:""},showLegend:{type:Boolean,default:!0},seriesLabel:{type:String,default:""}},emits:["bar-click","bar-hover"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(null),l=e.ref({width:0,height:0});let s=null;const c=e.computed(()=>{const j=Number(a.width);return Number.isFinite(j)&&j>0?j:l.value.width>0?l.value.width:400}),i=e.computed(()=>{const j=Number(a.height);return Number.isFinite(j)&&j>0?j:l.value.height>0?l.value.height:300}),u=e.ref({visible:!1,x:0,y:0,label:"",value:0,color:""}),f=e.computed(()=>a.maxValue||Math.max(...a.data)),d=e.computed(()=>i.value-a.padding.top-a.padding.bottom),k=e.computed(()=>c.value-a.padding.left-a.padding.right),b=e.computed(()=>k.value/a.data.length*.7),y=e.computed(()=>k.value/a.data.length*.3),v=e.computed(()=>{const j=[];for(let O=0;O<=5;O++){const S=a.padding.top+d.value/5*O;j.push(S)}return j}),g=j=>a.padding.left+j*(b.value+y.value)+y.value/2,m=j=>{const U=d.value/f.value;return a.padding.top+d.value-j*U},p=j=>{const U=d.value/f.value;return j*U},w=j=>a.colors[j%a.colors.length],N=j=>(Number(j)||0)<=0?a.padding.top+d.value-6:Math.max(m(j)+18,a.padding.top+16),P=j=>(Number(j)||0)<=0?"fill-(--ui-text) text-[10px] sm:text-xs font-semibold":"fill-white text-[10px] sm:text-xs font-semibold",_=j=>{const U=(i.value-a.padding.bottom-j)/d.value*f.value;return G(Math.round(U))},H=e.computed(()=>a.valueSuffix?a.valueSuffix:String(a.yAxisLabel||"").includes("%")||a.maxValue===100?"%":""),G=j=>`${j}${H.value}`,K=e.computed(()=>a.seriesLabel||a.yAxisLabel||"Series"),z=(j,U,O)=>{const S=a.labels[O]||`Item ${O+1}`;u.value={visible:!0,x:j.clientX,y:j.clientY,label:S,value:U,color:w(O)},o("bar-hover",{value:U,index:O,label:S})},I=()=>{u.value.visible=!1},te=(j,U)=>{const O=a.labels[U]||`Item ${U+1}`;o("bar-click",{value:j,index:U,label:O})};return e.onMounted(()=>{s=new ResizeObserver(j=>{const U=j[0];if(!U)return;const{width:O,height:S}=U.contentRect;l.value={width:Math.round(O),height:Math.round(S)}}),r.value&&s.observe(r.value)}),e.onBeforeUnmount(()=>{s&&s.disconnect()}),(j,U)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"containerRef",ref:r,class:"ui-surface w-full h-full relative"},[t.showLegend?(e.openBlock(),e.createElementBlock("div",hf,[e.createElementVNode("div",yf,[e.createElementVNode("span",{class:"w-2.5 h-2.5 rounded-sm",style:e.normalizeStyle({backgroundColor:w(0)})},null,4),e.createElementVNode("span",bf,e.toDisplayString(K.value),1)])])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{width:c.value,height:i.value,viewBox:`0 0 ${c.value} ${i.value}`,class:"overflow-visible"},[t.showGrid?(e.openBlock(),e.createElementBlock("g",kf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,O=>(e.openBlock(),e.createElementBlock("line",{key:`grid-${O}`,x1:t.padding.left,y1:O,x2:c.value-t.padding.right,y2:O,stroke:t.gridColor,"stroke-width":"1","stroke-dasharray":"4,4",opacity:"0.3"},null,8,wf))),128))])):e.createCommentVNode("",!0),e.createElementVNode("defs",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(O,S)=>(e.openBlock(),e.createElementBlock("linearGradient",{id:`barGradient-${S}`,key:`gradient-${S}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":w(S),"stop-opacity":"1"},null,8,Bf),e.createElementVNode("stop",{offset:"100%","stop-color":w(S),"stop-opacity":"0.7"},null,8,Vf)],8,Cf))),128))]),e.createElementVNode("g",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(O,S)=>(e.openBlock(),e.createElementBlock("g",{key:`bar-group-${S}`},[e.createElementVNode("rect",{x:g(S),y:m(O),width:b.value,height:p(O),fill:`url(#barGradient-${S})`,class:e.normalizeClass(t.barClasses),rx:"4",onMouseenter:E=>z(E,O,S),onMouseleave:I,onClick:E=>te(O,S)},[e.createElementVNode("animate",{attributeName:"height",from:0,to:p(O),dur:"0.8s",fill:"freeze"},null,8,Sf),e.createElementVNode("animate",{attributeName:"y",from:t.padding.top+d.value,to:m(O),dur:"0.8s",fill:"freeze"},null,8,Nf)],42,Ef),t.showValues?(e.openBlock(),e.createElementBlock("text",{key:0,x:g(S)+b.value/2,y:N(O),class:e.normalizeClass(P(O)),"text-anchor":"middle"},e.toDisplayString(G(O)),11,$f)):e.createCommentVNode("",!0)]))),128))]),t.showXAxis?(e.openBlock(),e.createElementBlock("g",Df,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.labels,(O,S)=>(e.openBlock(),e.createElementBlock("text",{key:`xlabel-${S}`,x:g(S)+b.value/2,y:i.value-t.padding.bottom+20,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"middle"},e.toDisplayString(O),11,zf))),128))])):e.createCommentVNode("",!0),t.xAxisLabel?(e.openBlock(),e.createElementBlock("g",Tf,[e.createElementVNode("text",{x:t.padding.left+k.value/2,y:i.value-10,class:"fill-(--ui-text) text-sm font-semibold","text-anchor":"middle"},e.toDisplayString(t.xAxisLabel),9,Af)])):e.createCommentVNode("",!0),t.showYAxis?(e.openBlock(),e.createElementBlock("g",Ff,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,O=>(e.openBlock(),e.createElementBlock("text",{key:`ylabel-${O}`,x:t.padding.left-10,y:O+4,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"end"},e.toDisplayString(_(O)),11,Lf))),128))])):e.createCommentVNode("",!0),t.yAxisLabel?(e.openBlock(),e.createElementBlock("g",Mf,[e.createElementVNode("text",{x:-(t.padding.top+d.value/2),y:15,class:"fill-(--ui-text) text-sm font-semibold","text-anchor":"middle",transform:"rotate(-90)"},e.toDisplayString(t.yAxisLabel),9,If)])):e.createCommentVNode("",!0),e.createElementVNode("line",{x1:t.padding.left,y1:t.padding.top,x2:t.padding.left,y2:i.value-t.padding.bottom,stroke:"#cbd5e1","stroke-width":"2"},null,8,_f),e.createElementVNode("line",{x1:t.padding.left,y1:i.value-t.padding.bottom,x2:c.value-t.padding.right,y2:i.value-t.padding.bottom,stroke:"#cbd5e1","stroke-width":"2"},null,8,Pf)],8,xf)),u.value.visible?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle({position:"fixed",left:`${u.value.x}px`,top:`${u.value.y}px`,transform:"translate(-50%, -120%)",pointerEvents:"none",zIndex:9999}),class:"ui-surface-strong animate-in fade-in duration-200"},[e.createElementVNode("div",Of,[e.createElementVNode("div",jf,[e.createElementVNode("div",{style:e.normalizeStyle({backgroundColor:u.value.color}),class:"w-3 h-3 rounded shadow-sm"},null,4),e.createElementVNode("p",Rf,e.toDisplayString(u.value.label),1)]),e.createElementVNode("div",Hf,[e.createElementVNode("span",Uf,e.toDisplayString(G(u.value.value)),1)]),U[0]||(U[0]=e.createElementVNode("div",{class:"absolute bottom-0 left-1/2 transform -translate-x-1/2 translate-y-1/2 rotate-45 w-2 h-2 ui-surface border-r border-b ui-border-strong"},null,-1))])],4)):e.createCommentVNode("",!0)],512))}},Wf=["width","height","viewBox"],Yf={key:0},qf=["x1","y1","x2","y2","stroke"],Gf=["d","stroke","stroke-width"],Kf={key:1},Xf=["cx","cy","r","fill","stroke","onMouseenter"],Jf={key:2},Qf=["x","y"],Zf=["d","fill","fill-opacity"],ep={key:4},tp=["x","y","text-anchor","transform"],ap={key:5},np=["x","y"],op={key:6},rp=["x","y","width","height","fill","stroke"],lp=["x","y"],Za={__name:"LineChart",props:{data:{type:Array,required:!0},labels:{type:Array,default:()=>[]},width:{type:[Number,String],default:"auto"},height:{type:[Number,String],default:"auto"},padding:{type:Object,default:()=>({top:20,right:20,bottom:60,left:60})},showGrid:{type:Boolean,default:!0},showXAxis:{type:Boolean,default:!0},showYAxis:{type:Boolean,default:!0},showPoints:{type:Boolean,default:!0},showValues:{type:Boolean,default:!0},valueSuffix:{type:String,default:""},fillArea:{type:Boolean,default:!1},gridColor:{type:String,default:"#e5e7eb"},lineColor:{type:String,default:"#3b82f6"},strokeWidth:{type:Number,default:2},pointRadius:{type:Number,default:4},pointColor:{type:String,default:"#ffffff"},fillColor:{type:String,default:"#3b82f6"},fillOpacity:{type:Number,default:.1},lineClasses:{type:String,default:"transition-all duration-200"},pointClasses:{type:String,default:"transition-all duration-200 hover:r-6 cursor-pointer"},axisLabelClasses:{type:String,default:"fill-(--ui-text) text-xs font-medium"},autoSkipXAxisLabels:{type:Boolean,default:!0},minLabelSpacing:{type:Number,default:72},maxLabelLength:{type:Number,default:16},rotateLabelsWhenDense:{type:Boolean,default:!0},labelRotationDegrees:{type:Number,default:-35},tooltipBackground:{type:String,default:"#1f2937"},tooltipBorder:{type:String,default:"#374151"},tooltipTextClasses:{type:String,default:"fill-white text-xs font-semibold"},maxValue:{type:Number,default:null}},emits:["point-click","point-hover"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(null),l=e.ref({width:0,height:0});let s=null;const c=e.ref({visible:!1,x:0,y:0,width:0,height:0,content:""}),i=e.computed(()=>{const E=Number(a.width);return Number.isFinite(E)&&E>0?E:l.value.width>0?l.value.width:400}),u=e.computed(()=>{const E=Number(a.height);return Number.isFinite(E)&&E>0?E:l.value.height>0?l.value.height:300}),f=e.computed(()=>{if(a.maxValue&&a.maxValue>0)return a.maxValue;const E=a.data.map($=>Number($)||0),D=Math.max(0,...E);return D>0?D:1}),d=e.computed(()=>a.data.map((E,D)=>({x:G(D),y:K(E),value:E}))),k=e.computed(()=>d.value.length===0?"":d.value.map((D,$)=>`${$===0?"M":"L"} ${D.x} ${D.y}`).join(" ")),b=e.computed(()=>{if(d.value.length===0)return"";const E=d.value.map((L,C)=>`${C===0?"M":"L"} ${L.x} ${L.y}`).join(" "),D=u.value-a.padding.bottom,$=`L ${d.value[d.value.length-1].x} ${D} L ${d.value[0].x} ${D} Z`;return E+" "+$}),y=e.computed(()=>{const E=[],D=u.value-a.padding.top-a.padding.bottom,$=5;for(let L=0;L<=$;L++){const C=a.padding.top+D/$*L;E.push(C)}return E}),v=e.computed(()=>i.value-a.padding.left-a.padding.right),g=e.computed(()=>{if(!a.autoSkipXAxisLabels||!a.labels.length)return 1;const E=Math.max(1,Math.floor(v.value/Math.max(1,a.minLabelSpacing)));return Math.max(1,Math.ceil(a.labels.length/E))}),m=e.computed(()=>a.rotateLabelsWhenDense?g.value>1:!1),p=e.computed(()=>u.value-a.padding.bottom+(m.value?28:20)),w=e.computed(()=>m.value?"end":"middle"),N=e.computed(()=>{const E=a.padding.left,D=i.value-a.padding.right-c.value.width,$=c.value.x-c.value.width/2;return Math.min(Math.max($,E),Math.max(E,D))}),P=e.computed(()=>{const E=c.value.y-c.value.height-10,D=a.padding.top+4;return Math.max(E,D)}),_=e.computed(()=>N.value+c.value.width/2),H=e.computed(()=>P.value+c.value.height/2+.5),G=E=>{const D=v.value/(a.data.length-1||1);return a.padding.left+E*D},K=E=>{const D=u.value-a.padding.top-a.padding.bottom,$=D/f.value;return a.padding.top+D-E*$},z=E=>{const D=u.value-a.padding.top-a.padding.bottom,$=(u.value-a.padding.bottom-E)/D*f.value;return I(Math.round($))},I=E=>`${E}${a.valueSuffix}`,te=(E,D)=>{const $=a.labels[D]||`Point ${D+1}`,L=Number(E.value),C=Number.isFinite(L)?L.toLocaleString():String(E.value??0),V=`${$}: ${I(C)}`,M=Math.min(280,Math.max(120,V.length*7.2+20));c.value={visible:!0,x:Number(E.x)||0,y:Number(E.y)||0,width:M,height:28,content:V},o("point-hover",{value:E.value,index:D,label:$})},j=()=>{c.value.visible=!1},U=E=>!a.autoSkipXAxisLabels||a.labels.length<=2?!0:E%g.value===0||E===a.labels.length-1,O=E=>{const D=String(E??"");return D?!a.maxLabelLength||a.maxLabelLength<=0||D.length<=a.maxLabelLength?D:`${D.slice(0,Math.max(1,a.maxLabelLength-1))}…`:""},S=E=>{if(!m.value)return;const D=G(E),$=p.value;return`rotate(${a.labelRotationDegrees} ${D} ${$})`};return e.onMounted(()=>{s=new ResizeObserver(E=>{const D=E[0];if(!D)return;const{width:$,height:L}=D.contentRect;l.value={width:Math.round($),height:Math.round(L)}}),r.value&&s.observe(r.value)}),e.onBeforeUnmount(()=>{s&&s.disconnect()}),(E,D)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"containerRef",ref:r,class:"ui-surface w-full h-full"},[(e.openBlock(),e.createElementBlock("svg",{width:i.value,height:u.value,viewBox:`0 0 ${i.value} ${u.value}`,class:"block mx-auto overflow-visible"},[t.showGrid?(e.openBlock(),e.createElementBlock("g",Yf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,$=>(e.openBlock(),e.createElementBlock("line",{key:`grid-${$}`,x1:t.padding.left,y1:$,x2:i.value-t.padding.right,y2:$,stroke:t.gridColor,"stroke-width":"1","stroke-dasharray":"2,2"},null,8,qf))),128))])):e.createCommentVNode("",!0),e.createElementVNode("path",{d:k.value,stroke:t.lineColor,"stroke-width":t.strokeWidth,fill:"none",class:e.normalizeClass(t.lineClasses)},null,10,Gf),t.showPoints?(e.openBlock(),e.createElementBlock("g",Kf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,($,L)=>(e.openBlock(),e.createElementBlock("circle",{key:`point-${L}`,cx:$.x,cy:$.y,r:t.pointRadius,fill:t.pointColor,stroke:t.lineColor,"stroke-width":2,class:e.normalizeClass(t.pointClasses),onMouseenter:C=>te($,L),onMouseleave:j},null,42,Xf))),128))])):e.createCommentVNode("",!0),t.showValues?(e.openBlock(),e.createElementBlock("g",Jf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,($,L)=>(e.openBlock(),e.createElementBlock("text",{key:`value-${L}`,x:$.x,y:$.y-10,class:"fill-(--ui-text) text-[10px] font-semibold","text-anchor":"middle"},e.toDisplayString(I($.value)),9,Qf))),128))])):e.createCommentVNode("",!0),t.fillArea?(e.openBlock(),e.createElementBlock("path",{key:3,d:b.value,fill:t.fillColor,"fill-opacity":t.fillOpacity},null,8,Zf)):e.createCommentVNode("",!0),t.showXAxis?(e.openBlock(),e.createElementBlock("g",ep,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.labels,($,L)=>e.withDirectives((e.openBlock(),e.createElementBlock("text",{key:`xlabel-${L}`,x:G(L),y:p.value,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":w.value,transform:S(L)},e.toDisplayString(O($)),11,tp)),[[e.vShow,U(L)]])),128))])):e.createCommentVNode("",!0),t.showYAxis?(e.openBlock(),e.createElementBlock("g",ap,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,$=>(e.openBlock(),e.createElementBlock("text",{key:`ylabel-${$}`,x:t.padding.left-10,y:$+4,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"end"},e.toDisplayString(z($)),11,np))),128))])):e.createCommentVNode("",!0),c.value.visible?(e.openBlock(),e.createElementBlock("g",op,[e.createElementVNode("rect",{x:N.value,y:P.value,width:c.value.width,height:c.value.height,fill:t.tooltipBackground,stroke:t.tooltipBorder,"stroke-width":"1",rx:"4"},null,8,rp),e.createElementVNode("text",{x:_.value,y:H.value,class:e.normalizeClass(t.tooltipTextClasses),"text-anchor":"middle","dominant-baseline":"middle"},e.toDisplayString(c.value.content),11,lp)])):e.createCommentVNode("",!0)],8,Wf))],512))}},sp={key:0,class:"ui-surface w-full h-full flex items-center justify-center"},ip=["width","height","viewBox"],cp=["d","fill","stroke","stroke-width","onMouseenter","onClick"],up=["cx","cy","r","fill"],dp={key:1},mp=["x","y"],fp=["x","y"],pp={key:2},gp=["x","y"],vp={key:3},hp=["transform"],yp=["fill"],bp={class:"ui-surface ui-text px-4 py-3 rounded-lg shadow-2xl border ui-border-strong min-w-[180px]"},xp={class:"flex items-center gap-2 mb-1.5"},kp={class:"font-semibold text-sm"},wp={class:"flex items-baseline gap-2 ml-5"},Cp={class:"text-2xl font-bold"},Bp={class:"mt-1 ml-5"},Vp={class:"text-xs ui-text"},oa=2,Wn=24,Ot={__name:"PieChart",props:{data:{type:Array,required:!0},labels:{type:Array,default:()=>[]},colors:{type:Array,default:()=>["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316"]},width:{type:[Number,String],default:"auto"},height:{type:[Number,String],default:"auto"},doughnut:{type:Boolean,default:!1},innerRadiusRatio:{type:Number,default:.6},showValues:{type:Boolean,default:!0},minLabelPercentage:{type:Number,default:3},showPercentages:{type:Boolean,default:!0},valueSuffix:{type:String,default:""},showLegend:{type:Boolean,default:!0},showCenterText:{type:Boolean,default:!0},legendPosition:{type:String,default:"bottom",validator:t=>["bottom","right"].includes(t)},strokeColor:{type:String,default:"#ffffff"},strokeWidth:{type:Number,default:2},centerFill:{type:String,default:"#ffffff"},sliceClasses:{type:String,default:"transition-all duration-200 hover:opacity-80 cursor-pointer"},valueLabelClasses:{type:String,default:"fill-(--ui-surface) text-sm font-bold drop-shadow-md"},centerTextClasses:{type:String,default:"fill-(--ui-text) text-2xl font-bold"},centerLabelClasses:{type:String,default:"fill-(--ui-text) text-sm"},legendTextClasses:{type:String,default:"fill-(--ui-text) text-xs font-medium"}},emits:["slice-click","slice-hover"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(null),l=e.ref({width:0,height:0});let s=null;const c=e.computed(()=>{const U=Number(a.width);return Number.isFinite(U)&&U>0?U:l.value.width>0?l.value.width:400}),i=e.computed(()=>{const U=Number(a.height);return Number.isFinite(U)&&U>0?U:l.value.height>0?l.value.height:300}),u=e.ref({visible:!1,x:0,y:0,label:"",value:0,percentage:"0",color:""}),f=e.computed(()=>Array.isArray(a.data)?a.data.map(U=>Number(U)||0):[]),d=e.computed(()=>f.value.reduce((O,S)=>O+S,0)||0),k=e.computed(()=>f.value.length>0&&d.value>0),b=e.computed(()=>f.value.filter(U=>U>0).length),y=e.computed(()=>!a.showLegend||a.legendPosition!=="bottom"?0:Math.max(1,Math.ceil(b.value/oa))),v=e.computed(()=>a.showLegend&&a.legendPosition==="bottom"?y.value*Wn+8:0),g=e.computed(()=>a.showLegend&&a.legendPosition==="right"?c.value/3:c.value/2),m=e.computed(()=>(i.value-v.value)/2),p=e.computed(()=>{const U=i.value-v.value,O=a.showLegend&&a.legendPosition==="right"?c.value*.6:c.value;return Math.max(12,Math.min(O,U)/2-40)}),w=e.computed(()=>a.doughnut?p.value*a.innerRadiusRatio:0),N=e.computed(()=>{if(!k.value)return[];const U=d.value;let O=-Math.PI/2;return f.value.map((S,E)=>{const D=S,$=(D/U*100).toFixed(1),L=D/U*2*Math.PI,C=O+L,V=_(g.value,m.value,p.value,w.value,O,C),M=a.doughnut?(p.value+w.value)/2:p.value*.7,T=O+L/2,W=g.value+Math.cos(T)*M,Q=m.value+Math.sin(T)*M,ee={value:D,percentage:$,path:V,labelX:W,labelY:Q,label:a.labels[E]||`Item ${E+1}`,startAngle:O,endAngle:C};return O=C,ee}).filter(S=>S.value>0)}),P=e.computed(()=>N.value.filter(U=>Number(U.percentage)>=a.minLabelPercentage)),_=(U,O,S,E,D,$)=>{const L=U+S*Math.cos(D),C=O+S*Math.sin(D),V=U+S*Math.cos($),M=O+S*Math.sin($),T=$-D>Math.PI?1:0;if(E===0)return`M ${U} ${O} L ${L} ${C} A ${S} ${S} 0 ${T} 1 ${V} ${M} Z`;{const W=U+E*Math.cos($),Q=O+E*Math.sin($),ee=U+E*Math.cos(D),ne=O+E*Math.sin(D);return`M ${L} ${C} A ${S} ${S} 0 ${T} 1 ${V} ${M} L ${W} ${Q} A ${E} ${E} 0 ${T} 0 ${ee} ${ne} Z`}},H=U=>a.colors[U%a.colors.length],G=U=>{if(a.legendPosition==="right")return c.value*.65;const S=U%oa;return c.value/4+S*(c.value/2)},K=U=>{if(a.legendPosition==="right")return 40+U*25;const S=Math.floor(U/oa);return i.value-v.value+6+S*Wn},z=(U,O,S)=>{u.value={visible:!0,x:U.clientX,y:U.clientY,label:O.label,value:O.value,percentage:O.percentage,color:H(S)},o("slice-hover",{value:O.value,index:S,label:O.label,percentage:O.percentage})},I=()=>{u.value.visible=!1},te=(U,O)=>{o("slice-click",{value:U.value,index:O,label:U.label,percentage:U.percentage})},j=U=>`${U}${a.valueSuffix}`;return e.onMounted(()=>{s=new ResizeObserver(U=>{const O=U[0];if(!O)return;const{width:S,height:E}=O.contentRect;l.value={width:Math.round(S),height:Math.round(E)}}),r.value&&s.observe(r.value)}),e.onBeforeUnmount(()=>{s&&s.disconnect()}),(U,O)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"containerRef",ref:r,class:"ui-surface w-full h-full relative"},[k.value?(e.openBlock(),e.createElementBlock("svg",{key:1,width:c.value,height:i.value,viewBox:`0 0 ${c.value} ${i.value}`,class:"block mx-auto overflow-visible"},[e.createElementVNode("g",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(S,E)=>(e.openBlock(),e.createElementBlock("path",{key:`slice-${E}`,d:S.path,fill:H(E),stroke:t.strokeColor,"stroke-width":t.strokeWidth,class:e.normalizeClass(t.sliceClasses),onMouseenter:D=>z(D,S,E),onMouseleave:I,onClick:D=>te(S,E)},null,42,cp))),128))]),t.doughnut?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:g.value,cy:m.value,r:w.value,fill:t.centerFill},null,8,up)):e.createCommentVNode("",!0),t.doughnut&&t.showCenterText?(e.openBlock(),e.createElementBlock("g",dp,[e.createElementVNode("text",{x:g.value,y:m.value-5,class:e.normalizeClass(t.centerTextClasses),"text-anchor":"middle","dominant-baseline":"middle"},e.toDisplayString(j(d.value)),11,mp),e.createElementVNode("text",{x:g.value,y:m.value+15,class:e.normalizeClass(t.centerLabelClasses),"text-anchor":"middle","dominant-baseline":"middle"}," Total ",10,fp)])):e.createCommentVNode("",!0),t.showValues?(e.openBlock(),e.createElementBlock("g",pp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(S,E)=>(e.openBlock(),e.createElementBlock("text",{key:`value-${E}`,x:S.labelX,y:S.labelY,class:e.normalizeClass(t.valueLabelClasses),"text-anchor":"middle","dominant-baseline":"middle"},e.toDisplayString(t.showPercentages?`${S.percentage}%`:j(S.value)),11,gp))),128))])):e.createCommentVNode("",!0),t.showLegend?(e.openBlock(),e.createElementBlock("g",vp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(S,E)=>(e.openBlock(),e.createElementBlock("g",{key:`legend-${E}`,transform:`translate(${G(E)}, ${K(E)})`},[e.createElementVNode("rect",{width:12,height:12,fill:H(E),rx:"2"},null,8,yp),e.createElementVNode("text",{x:18,y:10,class:e.normalizeClass(t.legendTextClasses)},e.toDisplayString(S.label),3)],8,hp))),128))])):e.createCommentVNode("",!0)],8,ip)):(e.openBlock(),e.createElementBlock("div",sp,[...O[0]||(O[0]=[e.createStaticVNode('<div class="text-center"><div class="ui-text mb-2"><svg class="w-16 h-16 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"></path><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path></svg></div><p class="text-sm ui-text"> No data available </p></div>',1)])])),u.value.visible?(e.openBlock(),e.createElementBlock("div",{key:2,style:e.normalizeStyle({position:"fixed",left:`${u.value.x}px`,top:`${u.value.y}px`,transform:"translate(-50%, -120%)",pointerEvents:"none",zIndex:9999}),class:"animate-in fade-in duration-200"},[e.createElementVNode("div",bp,[e.createElementVNode("div",xp,[e.createElementVNode("div",{style:e.normalizeStyle({backgroundColor:u.value.color}),class:"w-3 h-3 rounded-full shadow-sm"},null,4),e.createElementVNode("p",kp,e.toDisplayString(u.value.label),1)]),e.createElementVNode("div",wp,[e.createElementVNode("span",Cp,e.toDisplayString(j(u.value.value)),1)]),e.createElementVNode("div",Bp,[e.createElementVNode("span",Vp,e.toDisplayString(u.value.percentage)+"% of total",1)]),O[1]||(O[1]=e.createElementVNode("div",{class:"absolute bottom-0 left-1/2 transform -translate-x-1/2 translate-y-1/2 rotate-45 w-2 h-2 ui-surface border-r border-b ui-border-strong"},null,-1))])],4)):e.createCommentVNode("",!0)],512))}},Ep={class:"border-b"},Sp={key:0,class:"flex items-center gap-3 min-w-64"},Np={class:"relative flex-1"},$p={class:"relative flex-1"},Dp={key:1,class:"min-w-40"},zp={class:"relative"},Tp={key:2,class:"min-w-40"},Ap={class:"relative"},Fp=["value"],Lp={key:3,class:"flex items-center gap-2"},Mp={class:"flex items-center gap-3 ml-auto"},Ip={class:"flex items-center gap-3 flex-wrap"},_p=["onClick"],Pr={__name:"GraphFilters",props:{showDateFilter:{type:Boolean,default:!0},showChartTypeFilter:{type:Boolean,default:!0},showExport:{type:Boolean,default:!1},showRefresh:{type:Boolean,default:!0},dataSources:{type:Array,default:()=>[]},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:dateFrom","update:dateTo","update:chartType","update:dataSource","export","refresh","clear-filters"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(""),l=e.ref(""),s=e.ref("bar"),c=e.ref(""),i=q.cva("flex flex-wrap items-center gap-4",{variants:{variant:{default:"",minimal:"bg-transparent",bordered:""},padding:{compact:"px-4 py-3",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),u=e.computed(()=>r.value||l.value||c.value),f=e.computed(()=>{const K=[];if(r.value||l.value){let z="";r.value&&l.value?z=`${r.value} to ${l.value}`:r.value?z=`From ${r.value}`:l.value&&(z=`Until ${l.value}`),z&&K.push({key:"date",label:"Date Range",value:z,icon:"calendar"})}if(c.value){const z=a.dataSources.find(I=>I.value===c.value);K.push({key:"dataSource",label:"Data Source",value:z?.label||c.value,icon:"database"})}return K}),d=e.computed(()=>A(i({variant:a.variant,padding:a.padding}))),k=e.computed(()=>"w-full pl-10 pr-3 py-2 border ui-border-strong rounded-lg focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-transparent text-sm ui-surface "),b=e.computed(()=>"w-full pr-8 appearance-none border ui-border-strong rounded-lg focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-transparent text-sm py-2 pl-3 ui-surface "),y=e.computed(()=>"ui-text hover:text-(--ui-text) border hover:brightness-105 px-3 py-2 rounded-lg text-sm font-medium transition-all"),v=e.computed(()=>"ui-text ui-primary-bg hover:bg-(--ui-primary-strong) border border-(--ui-primary) px-3 py-2 rounded-lg text-sm font-medium transition-all"),g=e.computed(()=>"ui-text hover:text-(--ui-text) border hover:brightness-105 px-3 py-2 rounded-lg text-sm font-medium transition-all"),m=e.computed(()=>"px-6 py-3 ui-primary-soft border-t border-(--ui-primary-soft)"),p=e.computed(()=>"text-sm font-semibold ui-primary"),w=e.computed(()=>"flex items-center gap-1.5 ui-surface border border-(--ui-primary-soft) ui-primary px-3 py-1.5 rounded-full text-sm font-medium"),N=e.computed(()=>"ui-primary hover:text-(--ui-primary) ml-1 hover:bg-(--ui-primary-soft) rounded-full p-0.5 transition-all"),P=K=>{s.value=K.target.value,o("update:chartType",K.target.value)},_=K=>{c.value=K.target.value,o("update:dataSource",K.target.value)},H=()=>{r.value="",l.value="",c.value="",o("clear-filters")},G=K=>{switch(K){case"date":r.value="",l.value="";break;case"dataSource":c.value="";break}};return e.watch(()=>r.value,K=>{o("update:dateFrom",K)}),e.watch(()=>l.value,K=>{o("update:dateTo",K)}),(K,z)=>(e.openBlock(),e.createElementBlock("div",Ep,[e.createElementVNode("div",{class:e.normalizeClass(d.value)},[t.showDateFilter?(e.openBlock(),e.createElementBlock("div",Sp,[e.createElementVNode("div",Np,[e.createVNode(R,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 ui-text"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":z[0]||(z[0]=I=>r.value=I),type:"date",class:e.normalizeClass(k.value),placeholder:"From date"},null,2),[[e.vModelText,r.value]])]),z[6]||(z[6]=e.createElementVNode("span",{class:"ui-text text-sm"},"to",-1)),e.createElementVNode("div",$p,[e.createVNode(R,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 ui-text"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":z[1]||(z[1]=I=>l.value=I),type:"date",class:e.normalizeClass(k.value),placeholder:"To date"},null,2),[[e.vModelText,l.value]])])])):e.createCommentVNode("",!0),t.showChartTypeFilter?(e.openBlock(),e.createElementBlock("div",Dp,[e.createElementVNode("div",zp,[e.createVNode(Le,{modelValue:s.value,"onUpdate:modelValue":z[2]||(z[2]=I=>s.value=I),class:e.normalizeClass(b.value),onChange:P},{default:e.withCtx(()=>[...z[7]||(z[7]=[e.createElementVNode("option",{value:"bar"}," Bar Chart ",-1),e.createElementVNode("option",{value:"line"}," Line Chart ",-1),e.createElementVNode("option",{value:"pie"}," Pie Chart ",-1)])]),_:1},8,["modelValue","class"]),e.createVNode(R,{icon:"chart-bar",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 ui-text pointer-events-none"})])])):e.createCommentVNode("",!0),t.dataSources.length>0?(e.openBlock(),e.createElementBlock("div",Tp,[e.createElementVNode("div",Ap,[e.createVNode(Le,{modelValue:c.value,"onUpdate:modelValue":z[3]||(z[3]=I=>c.value=I),class:e.normalizeClass(b.value),onChange:_},{default:e.withCtx(()=>[z[8]||(z[8]=e.createElementVNode("option",{value:""}," All Sources ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dataSources,I=>(e.openBlock(),e.createElementBlock("option",{key:I.value,value:I.value},e.toDisplayString(I.label),9,Fp))),128))]),_:1},8,["modelValue","class"]),e.createVNode(R,{icon:"database",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 ui-text pointer-events-none"})])])):e.createCommentVNode("",!0),K.$slots.filters?(e.openBlock(),e.createElementBlock("div",Lp,[e.renderSlot(K.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",Mp,[u.value?(e.openBlock(),e.createBlock(be,{key:0,class:e.normalizeClass(y.value),onClick:H},{default:e.withCtx(()=>[e.createVNode(R,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),z[9]||(z[9]=e.createTextVNode(" Clear Filters ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(be,{key:1,class:e.normalizeClass(v.value),onClick:z[4]||(z[4]=I=>K.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(R,{icon:"download",class:"w-4 h-4 mr-2"}),z[10]||(z[10]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createBlock(be,{key:2,class:e.normalizeClass(g.value),onClick:z[5]||(z[5]=I=>K.$emit("refresh"))},{default:e.withCtx(()=>[e.createVNode(R,{icon:"sync",class:"w-4 h-4 mr-2"}),z[11]||(z[11]=e.createTextVNode(" Refresh ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0)])],2),f.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(m.value)},[e.createElementVNode("div",Ip,[e.createElementVNode("span",{class:e.normalizeClass(p.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,I=>(e.openBlock(),e.createElementBlock("div",{key:I.key,class:e.normalizeClass(w.value)},[e.createVNode(R,{icon:I.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(I.label)+": "+e.toDisplayString(I.value),1),e.createElementVNode("button",{class:e.normalizeClass(N.value),onClick:te=>G(I.key)},[e.createVNode(R,{icon:"circle-xmark",class:"w-3 h-3"})],10,_p)],2))),128))])],2)):e.createCommentVNode("",!0)]))}},Pp={class:"flex items-start justify-between"},Op={key:0,class:"flex items-center gap-2"},en={__name:"DataTableHeader",props:{title:{type:String,default:null},description:{type:String,default:null},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},setup(t){const n=t,a=q.cva("border ui-border-strong rounded-2xl",{variants:{variant:{default:"ui-border-strong",minimal:"bg-transparent border-none",bordered:"border-2 ui-border-strong"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=q.cva("font-semibold ui-text",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),r=q.cva("ui-text mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),l=e.computed(()=>A(a({variant:n.variant,padding:n.padding}))),s=e.computed(()=>A(o({size:"md"}))),c=e.computed(()=>A(r({size:"md"})));return(i,u)=>t.title||t.description||i.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(l.value)},[e.renderSlot(i.$slots,"header",{},()=>[e.createElementVNode("div",Pp,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createBlock(Ve,{key:0,class:e.normalizeClass(s.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1},8,["class"])):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createBlock(Ve,{key:1,class:e.normalizeClass(c.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.description),1)]),_:1},8,["class"])):e.createCommentVNode("",!0)]),i.$slots.filters?(e.openBlock(),e.createElementBlock("div",Op,[e.renderSlot(i.$slots,"filters")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},tn={__name:"DataTableCell",props:{item:{type:Object,required:!0},column:{type:Object,required:!0},value:{type:[String,Number,Boolean,Object,Array],default:null},align:{type:String,default:"left",validator:t=>["left","center","right"].includes(t)},width:{type:String,default:null},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},textSize:{type:String,default:"md",validator:t=>["xs","sm","md","base","lg"].includes(t)},textColor:{type:String,default:null}},setup(t){const n=t,a=e.computed(()=>{const s=n.value??o();return n.column.formatter?n.column.formatter(s,n.item):s}),o=()=>n.column.accessor?n.column.accessor(n.item):n.column.key.split(".").reduce((s,c)=>s?.[c],n.item),r=q.cva("whitespace-nowrap ui-text",{variants:{align:{left:"text-left",center:"text-center",right:"text-right"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"},textSize:{xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg"}},defaultVariants:{align:"left",padding:"normal",textSize:"md"}}),l=e.computed(()=>{const s=n.align||n.column.align||"left",c=n.textColor?`text-${n.textColor}`:"ui-text",i=n.width?`w-${n.width}`:"";return A(r({align:s,padding:n.padding,textSize:n.textSize}),c,i,n.column.cellClasses)});return(s,c)=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(l.value)},[e.renderSlot(s.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2))}},an={__name:"DataTableRow",props:{item:{type:Object,required:!0},columns:{type:Array,required:!0},index:{type:Number,required:!0},selectable:{type:Boolean,default:!1},isSelected:{type:Boolean,default:!1},striped:{type:Boolean,default:!0},hoverable:{type:Boolean,default:!0},clickableRows:{type:Boolean,default:!1},density:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","bordered","minimal"].includes(t)},rowClass:{type:[String,Array,Object],default:""}},emits:["toggle-selection","row-click"],setup(t,{emit:n}){const a=t,o=n,r=q.cva("transition-colors",{variants:{striped:{true:"odd:bg-[color:color-mix(in oklab, var(--ui-primary-soft) 72%, var(--ui-surface) 28%)] even:bg-(--ui-surface-soft)",false:""},hoverable:{true:"hover:bg-[color:color-mix(in oklab, var(--ui-primary-soft), transparent 20%)]",false:""},clickable:{true:"cursor-pointer hover:bg-[color:color-mix(in oklab, var(--ui-primary-soft), transparent 20%)]",false:""},selected:{true:"ui-primary-soft border-l-2 border-(--ui-primary)",false:""},variant:{default:"border-b border-(--ui-border-strong) ",bordered:"border-b border-(--ui-border-strong) ",minimal:"border-b border-(--ui-border-strong) "}},compoundVariants:[{hoverable:!0,clickable:!0,class:"hover:bg-(--ui-surface)"}],defaultVariants:{striped:!1,hoverable:!0,clickable:!1,selected:!1,variant:"default"}}),l=q.cva("whitespace-nowrap text-sm ui-text",{variants:{density:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"},align:{left:"text-left",center:"text-center",right:"text-right"}},defaultVariants:{density:"normal",align:"left"}}),s=v=>typeof v=="string"?v:v?.key||v?.field||"unknown",c=(v,g)=>{const m=s(g);return typeof g=="object"&&g.accessor?g.accessor(v):m&&m.includes(".")?m.split(".").reduce((p,w)=>p?.[w],v):v?.[m]},i=(v,g)=>{const m=c(v,g);return typeof g=="object"&&g.formatter?g.formatter(m,v):m==null?"":m instanceof Date?m.toLocaleDateString():Array.isArray(m)?m.join(", "):m},u=()=>{a.clickableRows&&o("row-click",{item:a.item,index:a.index})},f=v=>typeof v=="object"&&v.align?v.align:"left",d=e.computed(()=>A(r({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}),a.rowClass)),k=()=>({compact:"sm",normal:"md",comfortable:"lg"})[a.density]||"md",b=e.computed(()=>A(l({density:a.density}),"w-12")),y=e.computed(()=>A(l({density:a.density,align:"right"}),"font-medium"));return(v,g)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(d.value),onClick:u},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(b.value)},[e.createVNode(Yt,{"model-value":t.isSelected,"onUpdate:modelValue":g[0]||(g[0]=m=>v.$emit("toggle-selection",t.item))},null,8,["model-value"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,m=>(e.openBlock(),e.createBlock(tn,{key:s(m),item:t.item,column:m,value:c(t.item,m),align:f(m),padding:t.density,"text-size":k(),"text-color":m.textColor},{default:e.withCtx(()=>[e.renderSlot(v.$slots,`cell-${s(m)}`,{item:t.item,value:c(t.item,m),column:m,index:t.index},()=>[e.createTextVNode(e.toDisplayString(i(t.item,m)),1)])]),_:2},1032,["item","column","value","align","padding","text-size","text-color"]))),128)),v.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(y.value)},[e.renderSlot(v.$slots,"actions",{item:t.item,index:t.index})],2)):e.createCommentVNode("",!0)],2))}},jp={key:0,class:"fixed inset-0 z-[70]"},Rp={class:"absolute right-0 top-0 h-full w-full sm:w-[520px] ui-surface border-l ui-border-strong shadow-2xl flex flex-col"},Hp={class:"px-2 py-2 border-b ui-border-strong"},Up={class:"flex items-center gap-3 ui-text"},Wp={class:"flex-1 overflow-auto"},Yp=["onClick"],qp={class:"text-base ui-text font-medium flex items-center gap-1"},Gp={key:0,class:"inline-flex items-center justify-center min-w-5 h-5 rounded-full text-xs ui-primary-bg text-white px-1"},Kp={class:"flex items-center gap-2"},Xp=["onClick"],Jp={key:0,class:"ui-surface-muted px-4 pb-3"},Qp={class:"flex items-center gap-2 py-2"},Zp={class:"text-sm font-semibold ui-text"},eg=["value"],tg={key:0,class:"flex items-center gap-2 border-b border-(--ui-primary) pb-1.5 mb-2"},ag={key:1,class:"space-y-2"},ng=["checked","onChange"],og={class:"grid grid-cols-2 gap-1.5"},rg=["onClick"],lg={key:2,class:"space-y-2"},sg={key:0,class:"grid grid-cols-2 gap-2"},ig=["value","step","placeholder","onInput"],cg=["value","step","placeholder","onInput"],ug=["value","type","step","placeholder","onInput"],dg={key:3,class:"space-y-2"},mg={key:0,class:"flex flex-wrap gap-1.5"},fg=["onClick"],pg=["onClick"],gg={class:"space-y-1.5 max-h-56 overflow-auto"},vg=["checked","onChange"],hg={key:4,class:"space-y-1.5 max-h-56 overflow-auto"},yg=["checked","onChange"],bg={class:"px-5 py-4 border-t ui-border-strong"},xg={class:"flex gap-6 text-sm mb-4 ui-text"},kg=["checked"],wg=["checked"],Cg={class:"flex gap-3"},Ct={__name:"FilterDrawer",props:{open:{type:Boolean,default:!1},fields:{type:Array,default:()=>[]},modelValue:{type:Object,default:()=>({logic:"all",rules:[]})}},emits:["close","update:modelValue","apply"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(""),l=e.ref(""),s=e.ref("equals"),c=e.ref(""),i=e.ref(""),u=e.ref(""),f=e.ref("all"),d=e.ref([]);e.watch(()=>a.modelValue,C=>{f.value=C?.logic||"all",d.value=Array.isArray(C?.rules)?[...C.rules]:[]},{immediate:!0,deep:!0});const k=e.computed(()=>{const C=r.value.trim().toLowerCase();return C?a.fields.filter(V=>String(V.label).toLowerCase().includes(C)):a.fields}),b=C=>d.value.filter(V=>V.field===C).length,y=C=>{d.value=d.value.filter(V=>V.field!==C)},v=C=>d.value.find(V=>V.field===C),g=C=>{const V=v(C);return V?Array.isArray(V.value)?V.value:V.value==null?[]:[V.value]:[]},m=(C,V)=>{const M=(C.options||[]).find(T=>String(T.value)===String(V));return M?M.label:V},p=[{value:"equals",label:"Is"},{value:"not_equals",label:"Is not"},{value:"contains",label:"Contains"}],w=[{value:"equals",label:"Is"},{value:"not_equals",label:"Is not"},{value:"gte",label:"At least"},{value:"lte",label:"At most"},{value:"between",label:"Between"}],N=C=>C.type==="number"||C.type==="text"?!0:!["date","multiselect","multi","select"].includes(C.type)&&!(C.options||[]).length,P=C=>C.type==="date"?!0:!N(C),_=C=>C.type==="number"?w:p,H=C=>{const V=[{value:"today",label:"Today"},{value:"yesterday",label:"Yesterday"},{value:"overdue",label:"Overdue"},{value:"today_overdue",label:"Today + Overdue"}],M=Array.isArray(C.options)&&C.options.length>0?C.options:C.type==="date"?V:[],T=c.value.trim().toLowerCase();return T?M.filter(W=>String(W.label).toLowerCase().includes(T)):M},G=C=>{const V=l.value===C?"":C;l.value=V,c.value="";const M=v(C);s.value=M?.operator||"equals"},K=C=>{f.value=C},z=(C,V)=>d.value.some(M=>M.field===C&&String(M.value)===String(V)),I=(C,V)=>g(C).map(String).includes(String(V)),te=(C,V)=>{const M=g(C.key),W=M.map(String).includes(String(V))?M.filter(Q=>String(Q)!==String(V)):[...M,V];d.value=d.value.filter(Q=>Q.field!==C.key),W.length>0&&d.value.push({id:`${C.key}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,field:C.key,label:C.label,operator:"in",value:W})},j=(C,V)=>{const M=d.value.findIndex(T=>T.field===C.key&&String(T.value)===String(V));if(M>=0){d.value.splice(M,1);return}d.value.push({id:`${C.key}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,field:C.key,label:C.label,operator:s.value,value:V})},U=C=>{const V=v(C);return!V||V.operator==="between"?"":V.value??""},O=(C,V)=>{const M=C.type==="number"?V.trim():V;d.value=d.value.filter(T=>T.field!==C.key),M!==""&&d.value.push({id:`${C.key}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,field:C.key,label:C.label,operator:s.value,value:M})},S=(C,V)=>{const M=v(C);return!M||M.operator!=="between"||typeof M.value!="object"||M.value===null?"":M.value[V]??""},E=(C,V,M)=>{const T={from:S(C.key,"from"),to:S(C.key,"to")};T[V]=M.trim(),d.value=d.value.filter(W=>W.field!==C.key),!(!T.from&&!T.to)&&d.value.push({id:`${C.key}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,field:C.key,label:C.label,operator:"between",value:T})};e.watch(s,C=>{const V=l.value;if(!V)return;const M=a.fields.find(Q=>Q.key===V);if(!M||!N(M))return;const T=v(V);if(!T)return;if(d.value=d.value.filter(Q=>Q.field!==V),C==="between"&&M.type==="number"){const Q=typeof T.value=="object"&&T.value!==null?{from:T.value.from??"",to:T.value.to??""}:{from:T.value??"",to:""};if(!Q.from&&!Q.to)return;d.value.push({...T,operator:"between",value:Q});return}const W=typeof T.value=="object"&&T.value!==null?T.value.from??T.value.to??"":T.value;W!==""&&d.value.push({...T,operator:C,value:W})});const D=C=>{!i.value&&!u.value||(d.value=d.value.filter(V=>V.field!==C.key),d.value.push({id:`${C.key}-${Date.now()}`,field:C.key,label:C.label,operator:"between",value:{from:i.value,to:u.value}}))},$=()=>{const C={logic:f.value,rules:d.value};o("update:modelValue",C),o("apply",C),o("close")},L=()=>{d.value=[],f.value="all",i.value="",u.value="",o("update:modelValue",{logic:"all",rules:[]})};return(C,V)=>t.open?(e.openBlock(),e.createElementBlock("div",jp,[e.createElementVNode("div",{class:"absolute inset-0 bg-black/35",onClick:V[0]||(V[0]=M=>C.$emit("close"))}),e.createElementVNode("aside",Rp,[e.createElementVNode("div",{class:"px-4 py-3 flex items-center justify-between border-b ui-border-strong"},[V[9]||(V[9]=e.createElementVNode("h2",{class:"text-xl font-semibold ui-text"},"Filter",-1)),e.createElementVNode("button",{class:"ui-primary font-semibold",onClick:L},"Reset")]),e.createElementVNode("div",Hp,[e.createElementVNode("div",Up,[e.createVNode(R,{icon:"search",class:"w-4 h-4 ui-primary"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":V[1]||(V[1]=M=>r.value=M),placeholder:"Filter Search",class:"w-full bg-transparent outline-none text-base placeholder:ui-text"},null,512),[[e.vModelText,r.value]])])]),e.createElementVNode("div",Wp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,M=>(e.openBlock(),e.createElementBlock("div",{key:M.key,class:"border-b ui-border-strong"},[e.createElementVNode("button",{class:"w-full px-4 py-2.5 flex items-center justify-between text-left hover:bg-(--ui-surface-muted)",onClick:T=>G(M.key)},[e.createElementVNode("span",qp,[e.createTextVNode(e.toDisplayString(M.label)+" ",1),b(M.key)>0?(e.openBlock(),e.createElementBlock("span",Gp,e.toDisplayString(b(M.key)),1)):e.createCommentVNode("",!0)]),e.createElementVNode("span",Kp,[b(M.key)>0?(e.openBlock(),e.createElementBlock("button",{key:0,class:"h-5 min-w-7 px-1 rounded-full border ui-border-strong inline-flex items-center justify-center ui-text/80 hover:ui-primary hover:border-(--ui-primary)",onClick:e.withModifiers(T=>y(M.key),["stop"]),title:"Clear filter"},[e.createVNode(R,{icon:"xmark",class:"w-2.5 h-2.5"})],8,Xp)):e.createCommentVNode("",!0),e.createVNode(R,{icon:"chevron-right",class:"w-4 h-4 ui-primary"})])],8,Yp),l.value===M.key?(e.openBlock(),e.createElementBlock("div",Jp,[e.createElementVNode("div",Qp,[e.createElementVNode("span",Zp,e.toDisplayString(M.label),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":V[2]||(V[2]=T=>s.value=T),class:"ml-auto rounded-md ui-surface border ui-border-strong px-3 py-2 text-sm ui-text"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_(M),T=>(e.openBlock(),e.createElementBlock("option",{key:T.value,value:T.value},e.toDisplayString(T.label),9,eg))),128))],512),[[e.vModelSelect,s.value]])]),P(M)?(e.openBlock(),e.createElementBlock("div",tg,[e.createVNode(R,{icon:"search",class:"w-4 h-4 ui-primary"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":V[3]||(V[3]=T=>c.value=T),placeholder:"Search",class:"w-full bg-transparent outline-none text-sm ui-text"},null,512),[[e.vModelText,c.value]])])):e.createCommentVNode("",!0),M.type==="date"?(e.openBlock(),e.createElementBlock("div",ag,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(H(M),T=>(e.openBlock(),e.createElementBlock("label",{key:String(T.value),class:"flex items-center gap-2 text-sm ui-text cursor-pointer py-0.5"},[e.createElementVNode("input",{type:"checkbox",checked:z(M.key,T.value),onChange:W=>j(M,T.value)},null,40,ng),e.createElementVNode("span",null,e.toDisplayString(T.label),1)]))),128)),e.createElementVNode("div",og,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":V[4]||(V[4]=T=>i.value=T),type:"date",class:"w-full ui-surface border ui-border-strong rounded-md px-2 py-1 text-sm ui-text"},null,512),[[e.vModelText,i.value]]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":V[5]||(V[5]=T=>u.value=T),type:"date",class:"w-full ui-surface border ui-border-strong rounded-md px-2 py-1 text-sm ui-text"},null,512),[[e.vModelText,u.value]])]),e.createElementVNode("button",{class:"px-3 py-1.5 rounded-md ui-primary-bg text-white text-sm",onClick:T=>D(M)},"Apply Date Range",8,rg)])):N(M)?(e.openBlock(),e.createElementBlock("div",lg,[s.value==="between"&&M.type==="number"?(e.openBlock(),e.createElementBlock("div",sg,[e.createElementVNode("input",{value:S(M.key,"from"),type:"number",step:M.step||"any",placeholder:M.minLabel||"Min",class:"w-full ui-surface border ui-border-strong rounded-md px-3 py-2 text-sm ui-text",onInput:T=>E(M,"from",T.target.value)},null,40,ig),e.createElementVNode("input",{value:S(M.key,"to"),type:"number",step:M.step||"any",placeholder:M.maxLabel||"Max",class:"w-full ui-surface border ui-border-strong rounded-md px-3 py-2 text-sm ui-text",onInput:T=>E(M,"to",T.target.value)},null,40,cg)])):(e.openBlock(),e.createElementBlock("input",{key:1,value:U(M.key),type:M.type==="number"?"number":"text",step:M.type==="number"?M.step||"any":void 0,placeholder:M.placeholder||`Enter ${M.label}`,class:"w-full ui-surface border ui-border-strong rounded-md px-3 py-2 text-sm ui-text",onInput:T=>O(M,T.target.value)},null,40,ug))])):M.type==="multiselect"||M.type==="select"&&M.multiple?(e.openBlock(),e.createElementBlock("div",dg,[g(M.key).length>0?(e.openBlock(),e.createElementBlock("div",mg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g(M.key),T=>(e.openBlock(),e.createElementBlock("span",{key:`${M.key}-${T}`,class:"inline-flex items-center gap-1 px-2 py-1 rounded-md text-xs border ui-border-strong ui-text"},[e.createTextVNode(e.toDisplayString(m(M,T))+" ",1),e.createElementVNode("button",{class:"ui-text-soft hover:ui-primary",onClick:W=>j(M,T)},[e.createVNode(R,{icon:"xmark",class:"w-3 h-3"})],8,fg)]))),128)),e.createElementVNode("button",{class:"text-xs ui-primary hover:underline ml-1",onClick:T=>y(M.key)}," Clear all ",8,pg)])):e.createCommentVNode("",!0),e.createElementVNode("div",gg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(H(M),T=>(e.openBlock(),e.createElementBlock("label",{key:String(T.value),class:"flex items-center gap-2 text-sm ui-text cursor-pointer py-0.5"},[e.createElementVNode("input",{type:"checkbox",checked:I(M.key,T.value),onChange:W=>te(M,T.value)},null,40,vg),e.createElementVNode("span",null,e.toDisplayString(T.label),1)]))),128))])])):(e.openBlock(),e.createElementBlock("div",hg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(H(M),T=>(e.openBlock(),e.createElementBlock("label",{key:String(T.value),class:"flex items-center gap-2 text-sm ui-text cursor-pointer py-0.5"},[e.createElementVNode("input",{type:"checkbox",checked:z(M.key,T.value),onChange:W=>j(M,T.value)},null,40,yg),e.createElementVNode("span",null,e.toDisplayString(T.label),1)]))),128))]))])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",bg,[e.createElementVNode("div",xg,[e.createElementVNode("button",{class:"flex items-center gap-2",onClick:V[6]||(V[6]=M=>K("any"))},[e.createElementVNode("input",{type:"checkbox",checked:f.value==="any",class:"accent-(--ui-primary)"},null,8,kg),V[10]||(V[10]=e.createTextVNode(" Any of these ",-1))]),e.createElementVNode("button",{class:"flex items-center gap-2",onClick:V[7]||(V[7]=M=>K("all"))},[e.createElementVNode("input",{type:"checkbox",checked:f.value==="all",class:"accent-(--ui-primary)"},null,8,wg),V[11]||(V[11]=e.createTextVNode(" All of these ",-1))])]),e.createElementVNode("div",Cg,[e.createElementVNode("button",{class:"px-5 py-2 rounded-lg ui-primary-bg text-white text-sm",onClick:$},"Find"),e.createElementVNode("button",{class:"px-5 py-2 rounded-lg border border-(--ui-primary) ui-primary text-sm",onClick:V[8]||(V[8]=M=>C.$emit("close"))},"Cancel")])])])])):e.createCommentVNode("",!0)}},Bg={class:"flex flex-col rounded-2xl mb-2 px-2"},Vg={class:"flex items-center gap-3"},Eg={key:0,class:"flex items-center gap-3"},Sg={class:"text-sm ui-text"},Ng={class:"flex items-center gap-2"},$g={class:"flex items-center gap-3"},Dg=["title","onClick"],zg={key:1,class:"relative"},Tg={class:"p-3"},Ag={class:"space-y-1"},Fg={class:"flex items-center gap-2 cursor-pointer w-full"},Lg=["checked","onChange"],Mg=["disabled"],Ig={key:3,class:"flex items-center gap-2"},_g={key:4,class:"relative"},Pg=["value","placeholder"],Og={key:0,class:"inline-flex items-center justify-center min-w-5 h-5 rounded-full text-xs ui-primary-bg text-white px-1"},jg={key:7,class:"flex items-center gap-2"},Rg={key:1,class:"mt-2 px-3 py-2 border ui-border-strong rounded-lg flex flex-wrap items-center gap-2 ui-surface"},Hg=["onClick"],Ug=[{key:"delete",label:"Delete",icon:{render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"})])}},variant:"danger"},{key:"edit",label:"Edit",icon:{render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"})])}},variant:"primary"}],Wg={name:"DataTableToolBar"},Yg=Object.assign(Wg,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},itemLabel:{type:String,default:"items"},showTableInfo:{type:Boolean,default:!1},showItemCount:{type:Boolean,default:!1},bulkActions:{type:Array,default:()=>Ug},showDensityToggle:{type:Boolean,default:!0},showColumnToggle:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},searchQuery:{type:String,default:""},searchPlaceholder:{type:String,default:"Search..."},addButton:{type:Object,default:()=>({})},isRefreshing:{type:Boolean,default:!1},density:{type:String,default:"compact",validator:t=>["compact","normal","comfortable"].includes(t)},toggleableColumns:{type:Array,default:()=>[]},visibleColumns:{type:Array,default:()=>[]},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},themeScope:{type:String,default:"default",validator:t=>["default","module"].includes(t)},activeFilters:{type:Array,default:()=>[]},enableFilters:{type:Boolean,default:!1},filterFields:{type:Array,default:()=>[]},filterRules:{type:Object,default:()=>({logic:"all",rules:[]})},defaultFilterRules:{type:Object,default:()=>({logic:"all",rules:[]})}},emits:["bulk-action","update:density","toggle-column","refresh","update:search-query","add","add-button-click","update:filterRules"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=e.ref(!1),s=e.ref(!1),c=e.ref(null),i=e.ref(null),u=e.ref({}),f=e.computed(()=>a.selectedItems.length),d=e.computed(()=>Object.keys(a.addButton||{}).length>0),k=e.computed(()=>d.value?a.addButton.permission===void 0?!0:typeof a.addButton.permission=="function"?a.addButton.permission():!!a.addButton.permission:!1),b=e.computed(()=>!d.value||!k.value?!1:typeof a.addButton.visible=="function"?a.addButton.visible():a.addButton.visible===void 0?!0:!!a.addButton.visible),y=e.computed(()=>b.value?typeof a.addButton.disabled=="function"?a.addButton.disabled():!!a.addButton.disabled:!0),v=e.computed(()=>a.addButton.tooltip||a.addButton.label||"Add new item"),g=[{value:"compact",label:"Compact",icon:["fas","minus"]},{value:"normal",label:"Normal",icon:["fas","bars"]},{value:"comfortable",label:"Comfortable",icon:["fas","bars-staggered"]}],m=q.cva("flex items-center justify-between border ui-border-strong rounded-2xl",{variants:{variant:{default:"ui-border-strong",minimal:"bg-transparent ui-border-strong",bordered:" ui-border-strong"},padding:{compact:"p-2",normal:"p-4",comfortable:"p-6"}},defaultVariants:{variant:"default",padding:"normal"}}),p=q.cva("px-3 py-1.5 text-sm font-medium rounded-md flex items-center gap-1 transition-colors ",{variants:{variant:{danger:"ui-danger ui-danger-bg hover:bg-(--ui-danger-soft) border border-(--ui-danger-soft)",primary:"ui-primary ui-primary-soft hover:bg-(--ui-primary-soft) border border-(--ui-primary-soft)",secondary:"ui-text ui-bg hover:bg-(--ui-bg) border ui-border-strong"}},defaultVariants:{variant:"secondary"}}),w=q.cva("p-2 border ui-border-strong transition-colors ",{variants:{active:{true:"ui-primary-soft ui-primary border-(--ui-primary-soft)",false:"ui-surface ui-text hover:bg-(--ui-surface)"},position:{first:"rounded-l-md border-r-0",middle:"border-x-0",last:"rounded-r-md border-l-0"}},defaultVariants:{active:!1,position:"middle"}}),N=q.cva("px-3 py-2 text-sm border ui-border-strong rounded-md flex items-center gap-2 transition-colors ",{variants:{state:{normal:"ui-text hover:text-(--ui-text) hover:bg-(--ui-surface)",refreshing:"ui-text opacity-75 cursor-not-allowed"}},defaultVariants:{state:"normal"}}),P=e.computed(()=>A(m({variant:a.variant,padding:a.padding}),a.themeScope==="module"&&"kv-module-themed-toolbar")),_=e.computed(()=>"text-md ui-text"),H=e.computed(()=>"flex items-center"),G=e.computed(()=>"flex items-center gap-2 px-3 py-2 text-sm ui-text hover:text-(--ui-text) border ui-border-strong rounded-md hover:brightness-105 transition-colors focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:ring-offset-1"),K=e.computed(()=>"ui-bg rounded-lg shadow-lg z-[9999] max-h-64 overflow-y-auto"),z=e.computed(()=>"text-xs font-medium ui-text uppercase tracking-wider mb-2 border-b ui-border-strong pb-2"),I=e.computed(()=>"py-1 hover:bg-(--ui-surface) rounded transition-colors"),te=e.computed(()=>"w-4 h-4 rounded ui-border-strong ui-primary focus:ring-(--ui-primary) focus:ring-2 focus:ring-offset-1"),j=e.computed(()=>"text-sm ui-text flex-1 select-none"),U=e.computed(()=>"w-72 pl-9 pr-3 py-2 text-sm border ui-border-strong rounded-md ui-surface ui-text placeholder:text-(--ui-text-muted) focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-transparent transition-all"),O=()=>{if(!c.value)return;const ee=c.value.getBoundingClientRect(),ne=224,de=Math.max(12,ee.right-ne);u.value={position:"fixed",top:`${ee.bottom+6}px`,left:`${de}px`,width:`${ne}px`,zIndex:9999}},S=ee=>{c.value&&i.value&&!c.value.contains(ee.target)&&!i.value.contains(ee.target)&&(r.value=!1)},E=()=>{r.value=!r.value,r.value&&O()},D=ee=>A(p({variant:ee.variant||"secondary"})),$=ee=>{let ne="middle";return ee==="compact"?ne="first":ee==="comfortable"&&(ne="last"),A(w({active:a.density===ee,position:ne}))},L=()=>A(N({state:a.isRefreshing?"refreshing":"normal"})),C=()=>A("w-4 h-4",{"animate-spin":a.isRefreshing}),V=ee=>a.visibleColumns.includes(ee),M=(ee,ne)=>{o("toggle-column",{column:ee,visible:ne})},T=()=>{y.value||(o("add"),o("add-button-click",a.addButton),typeof a.addButton.onClick=="function"&&a.addButton.onClick())},W=e.computed(()=>(a.filterRules?.rules||[]).map(ee=>({id:ee.id,label:ee.label,value:typeof ee.value=="object"?`${ee.value.from||""}${ee.value.from||ee.value.to?" to ":""}${ee.value.to||""}`:String(ee.value??"")}))),Q=ee=>{const ne=Array.isArray(a.filterRules?.rules)?a.filterRules.rules:[];o("update:filterRules",{logic:a.filterRules?.logic||"all",rules:ne.filter(de=>de.id!==ee)})};return e.watch(()=>a.defaultFilterRules,ee=>{if(s.value||!a.enableFilters)return;const ne=Array.isArray(ee?.rules)?ee.rules:[];ne.length!==0&&(o("update:filterRules",{logic:ee?.logic||"all",rules:ne}),s.value=!0)},{immediate:!0,deep:!0}),e.onMounted(()=>{document.addEventListener("click",S),window.addEventListener("scroll",O,!0),window.addEventListener("resize",O)}),e.onUnmounted(()=>{document.removeEventListener("click",S),window.removeEventListener("scroll",O,!0),window.removeEventListener("resize",O)}),(ee,ne)=>{const de=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",Bg,[e.createElementVNode("div",{class:e.normalizeClass(P.value)},[e.createElementVNode("div",Vg,[f.value>0?(e.openBlock(),e.createElementBlock("div",Eg,[e.createElementVNode("span",Sg,e.toDisplayString(f.value)+" selected ",1),e.createElementVNode("div",Ng,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bulkActions,se=>(e.openBlock(),e.createBlock(be,{key:se.key,class:e.normalizeClass(D(se)),onClick:ye=>ee.$emit("bulk-action",{action:se.key,items:t.selectedItems})},{default:e.withCtx(()=>[se.icon?(e.openBlock(),e.createBlock(de,{key:0,icon:se.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(se.label),1)]),_:2},1032,["class","onClick"]))),128))])])):t.showItemCount&&t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(_.value)},e.toDisplayString(t.totalItems)+" "+e.toDisplayString(t.itemLabel),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",$g,[t.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(H.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,se=>e.createElementVNode("button",{key:se.value,class:e.normalizeClass($(se.value)),title:se.label,type:"button",onClick:ye=>ee.$emit("update:density",se.value)},[e.createVNode(de,{icon:se.icon,class:"w-4 h-4"},null,8,["icon"])],10,Dg)),64))],2)):e.createCommentVNode("",!0),t.showColumnToggle?(e.openBlock(),e.createElementBlock("div",zg,[e.createElementVNode("button",{ref_key:"columnToggleButton",ref:c,class:e.normalizeClass(G.value),type:"button",onClick:e.withModifiers(E,["stop"])},[e.createVNode(de,{icon:"columns",class:"w-4 h-4"}),ne[7]||(ne[7]=e.createElementVNode("span",null,"Columns",-1))],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:i,class:e.normalizeClass(K.value),style:e.normalizeStyle(u.value),onClick:ne[0]||(ne[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Tg,[e.createElementVNode("div",{class:e.normalizeClass(z.value)}," Show Columns ",2),e.createElementVNode("div",Ag,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toggleableColumns,se=>(e.openBlock(),e.createElementBlock("div",{key:se.key,class:e.normalizeClass(I.value)},[e.createElementVNode("label",Fg,[e.createElementVNode("input",{type:"checkbox",checked:V(se.key),class:e.normalizeClass(te.value),onChange:ye=>M(se.key,ye.target.checked)},null,42,Lg),e.createElementVNode("span",{class:e.normalizeClass(j.value)},e.toDisplayString(se.label),3)])],2))),128))])])],6),[[e.vShow,r.value]])]))])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:t.isRefreshing,class:e.normalizeClass(L()),type:"button",onClick:ne[1]||(ne[1]=se=>ee.$emit("refresh"))},[e.createVNode(de,{icon:"sync",class:e.normalizeClass(C())},null,8,["class"]),ne[8]||(ne[8]=e.createElementVNode("span",null,"Refresh",-1))],10,Mg)):e.createCommentVNode("",!0),ee.$slots.actions?(e.openBlock(),e.createElementBlock("div",Ig,[e.renderSlot(ee.$slots,"actions",{},void 0,!0)])):e.createCommentVNode("",!0),t.showSearch?(e.openBlock(),e.createElementBlock("div",_g,[e.createVNode(de,{icon:"search",class:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 w-3.5 h-3.5 ui-text-soft"}),e.createElementVNode("input",{value:t.searchQuery,type:"text",placeholder:t.searchPlaceholder,class:e.normalizeClass(U.value),onInput:ne[2]||(ne[2]=se=>ee.$emit("update:search-query",se.target.value))},null,42,Pg)])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createBlock(be,{key:5,variant:t.addButton.variant||"success",disabled:y.value,title:v.value,onClick:T},{default:e.withCtx(()=>[e.createVNode(R,{icon:t.addButton.icon||"plus"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(t.addButton.label||"Add"),1)]),_:1},8,["variant","disabled","title"])):e.createCommentVNode("",!0),t.enableFilters?(e.openBlock(),e.createElementBlock("button",{key:6,class:"px-3 py-2 text-sm border ui-border-strong rounded-md hover:bg-(--ui-surface) flex items-center gap-2",onClick:ne[3]||(ne[3]=se=>l.value=!0)},[e.createVNode(de,{icon:"filter"}),ne[9]||(ne[9]=e.createTextVNode(" Filter ",-1)),(t.filterRules.rules||[]).length?(e.openBlock(),e.createElementBlock("span",Og,e.toDisplayString((t.filterRules.rules||[]).length),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),ee.$slots["actions-after-add"]?(e.openBlock(),e.createElementBlock("div",jg,[e.renderSlot(ee.$slots,"actions-after-add",{},void 0,!0)])):e.createCommentVNode("",!0)])],2),t.enableFilters?(e.openBlock(),e.createBlock(Ct,{key:0,open:l.value,fields:t.filterFields,"model-value":t.filterRules,"onUpdate:modelValue":ne[4]||(ne[4]=se=>ee.$emit("update:filterRules",se)),onClose:ne[5]||(ne[5]=se=>l.value=!1)},null,8,["open","fields","model-value"])):e.createCommentVNode("",!0),(t.enableFilters?W.value.length>0:t.activeFilters.length>0)?(e.openBlock(),e.createElementBlock("div",Rg,[ne[10]||(ne[10]=e.createElementVNode("span",{class:"text-sm ui-text-soft"},"Filters:",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.enableFilters?W.value:t.activeFilters,se=>(e.openBlock(),e.createElementBlock("span",{key:se.id||`${se.label}-${se.value}`,class:"inline-flex items-center gap-1 px-2 py-1 rounded-md text-sm border ui-border-strong ui-text"},[e.createTextVNode(e.toDisplayString(se.label)+": "+e.toDisplayString(se.value)+" ",1),t.enableFilters&&se.id?(e.openBlock(),e.createElementBlock("button",{key:0,class:"ml-1 ui-text-soft hover:ui-primary",onClick:ye=>Q(se.id)},[e.createVNode(R,{icon:"xmark",class:"w-3 h-3"})],8,Hg)):e.createCommentVNode("",!0)]))),128)),t.enableFilters?(e.openBlock(),e.createElementBlock("button",{key:0,class:"ml-1 px-2 py-1 text-sm border border-(--ui-primary) rounded-md ui-primary hover:bg-(--ui-primary-soft)",onClick:ne[6]||(ne[6]=se=>ee.$emit("update:filterRules",{logic:t.defaultFilterRules?.logic||"all",rules:t.defaultFilterRules?.rules||[]}))}," Clear filter ")):e.createCommentVNode("",!0),e.renderSlot(ee.$slots,"active-filter-actions",{},void 0,!0)])):e.createCommentVNode("",!0)])}}}),nn=Ne(Yg,[["__scopeId","data-v-b6fc1eb4"]]),qg={class:"flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between"},Gg={key:0,class:"text-sm ui-text text-center lg:text-left"},Kg={key:1,class:"text-sm ui-text text-center lg:text-left"},Xg={key:2,class:"flex items-center justify-center gap-4 lg:justify-start"},Jg={key:3,class:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between lg:w-auto lg:justify-end"},Qg={class:"flex items-center justify-center gap-2 sm:justify-start"},Zg={class:"flex items-center justify-center gap-1 sm:gap-2 flex-wrap"},ev=["disabled"],tv=["disabled"],av={class:"hidden md:flex items-center gap-1 ui-border-strong"},nv=["onClick"],ov=["disabled"],rv=["disabled"],lv={class:"text-sm ui-text text-center sm:text-left sm:ml-2"},on={__name:"DataTablePagination",props:{currentPage:{type:Number,required:!0},totalPages:{type:Number,required:!0},total:{type:Number,required:!0},pageSize:{type:Number,required:!0},showPagination:{type:Boolean,default:!0},selectable:{type:Boolean,default:!1},selectedCount:{type:Number,default:0},pageSizeOptions:{type:Array,default:()=>[5,10,25,50,100]},maxVisiblePages:{type:Number,default:7},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:currentPage","update:pageSize"],setup(t){const n=t,a=q.cva("border ui-border-strong rounded-2xl",{variants:{variant:{default:"bg-(--ui-bg) ",minimal:"bg-transparent ui-border-strong ",bordered:"bg-(--ui-bg) border-2 ui-border-strong "},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=q.cva("text-sm font-medium border rounded-md transition-colors duration-200",{variants:{state:{active:"ui-text border-(--ui-border-strong) bg-(--ui-primary-soft) ui-primary",inactive:"bg-(--ui-bg) ui-text ui-border-strong hover:text-(--ui-text)",disabled:"bg-(--ui-bg) ui-text ui-border-strong cursor-not-allowed"},size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{state:"inactive",size:"md"}}),r=q.cva("ui-text",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),l=q.cva("border ui-border-strong rounded-md focus:outline-none focus:ring-2 focus:ring-(--ui-primary) text-sm min-w-[60px] focus:border-transparent",{variants:{size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{size:"sm"}}),s=e.computed(()=>(n.currentPage-1)*n.pageSize+1),c=e.computed(()=>Math.min(n.currentPage*n.pageSize,n.total)),i=e.computed(()=>{const b=[],y=n.totalPages,v=n.currentPage,g=n.maxVisiblePages;if(y<=g)for(let m=1;m<=y;m++)b.push(m);else{const m=Math.floor(g/2);let p=Math.max(1,v-m),w=Math.min(y,p+g-1);w-p+1<g&&(p=Math.max(1,w-g+1));for(let N=p;N<=w;N++)b.push(N)}return b}),u=e.computed(()=>A(a({variant:n.variant,padding:n.padding}))),f=e.computed(()=>A(r({size:"md"}))),d=e.computed(()=>A(l({size:"sm"}))),k=(b,y)=>{let v="inactive";return y?v="disabled":b&&(v="active"),A(o({state:v,size:"md"}))};return(b,y)=>t.showPagination||b.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(u.value)},[e.createElementVNode("div",qg,[t.selectable&&t.selectedCount>0?(e.openBlock(),e.createElementBlock("div",Gg,e.toDisplayString(t.selectedCount)+" of "+e.toDisplayString(t.total)+" selected ",1)):(e.openBlock(),e.createElementBlock("div",Kg," Showing "+e.toDisplayString(s.value)+" to "+e.toDisplayString(c.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),b.$slots.footer?(e.openBlock(),e.createElementBlock("div",Xg,[e.renderSlot(b.$slots,"footer")])):e.createCommentVNode("",!0),t.showPagination?(e.openBlock(),e.createElementBlock("div",Jg,[e.createElementVNode("div",Qg,[e.createVNode(nt,{for:"pageSize",class:e.normalizeClass(f.value),inline:!0},{default:e.withCtx(()=>[...y[5]||(y[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(Le,{id:"pageSize","model-value":t.pageSize.toString(),class:e.normalizeClass(d.value),"onUpdate:modelValue":y[0]||(y[0]=v=>b.$emit("update:pageSize",parseInt(v)))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,v=>(e.openBlock(),e.createBlock(Kt,{key:v,value:v.toString(),label:v.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",Zg,[e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass([k(!1,t.currentPage===1),"hidden sm:inline-flex"]),title:"First page",onClick:y[1]||(y[1]=v=>b.$emit("update:currentPage",1))},[...y[6]||(y[6]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m18.75 4.5-7.5 7.5 7.5 7.5m-6-15L5.25 12l7.5 7.5"})],-1)])],10,ev),e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(k(!1,t.currentPage===1)),title:"Previous page",onClick:y[2]||(y[2]=v=>b.$emit("update:currentPage",t.currentPage-1))},[...y[7]||(y[7]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5L8.25 12l7.5-7.5"})],-1)])],10,tv),e.createElementVNode("div",av,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,v=>(e.openBlock(),e.createElementBlock("button",{key:v,class:e.normalizeClass(k(v===t.currentPage,!1)),onClick:g=>b.$emit("update:currentPage",v)},e.toDisplayString(v),11,nv))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(k(!1,t.currentPage===t.totalPages)),title:"Next page",onClick:y[3]||(y[3]=v=>b.$emit("update:currentPage",t.currentPage+1))},[...y[8]||(y[8]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1)])],10,ov),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass([k(!1,t.currentPage===t.totalPages),"hidden sm:inline-flex"]),title:"Last page",onClick:y[4]||(y[4]=v=>b.$emit("update:currentPage",t.totalPages))},[...y[9]||(y[9]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5"})],-1)])],10,rv)]),e.createElementVNode("div",lv," Page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(t.totalPages),1)])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}},sv={key:0,class:"loader__backdrop"},iv={class:"loader__container"},cv={key:0,class:"loader__text loader__text--top"},uv={key:1,class:"loader__spin"},dv={key:2,class:"loader__pulse"},mv={key:3,class:"loader__bounce"},fv={key:4,class:"loader__ripple"},pv={key:5,class:"loader__bars"},gv={key:6,class:"loader__dots"},vv={key:7,class:"loader__ring"},hv={key:8,class:"loader__spinner-text"},yv={key:9,class:"loader__text loader__text--bottom"},bv={__name:"Loader",props:{loading:{type:Boolean,default:!0},type:{type:String,default:"spin",validator:t=>["spin","pulse","bounce","ripple","bars","dots","ring","spinner-text"].includes(t)},size:{type:String,default:"medium",validator:t=>["small","medium","large","xl","2xl","3xl"].includes(t)},color:{type:String,default:"var(--ui-primary)"},backgroundColor:{type:String,default:"color-mix(in oklab, var(--ui-surface), transparent 8%)"},blur:{type:[Number,String],default:0},text:{type:String,default:""},textPosition:{type:String,default:"bottom",validator:t=>["top","bottom"].includes(t)},overlay:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1}},setup(t){const n=t,a=e.computed(()=>{if(n.blur===null||n.blur===void 0||n.blur==="")return"0px";if(typeof n.blur=="number")return`${n.blur}px`;const o=n.blur.trim();return o?/^-?\d*\.?\d+$/.test(o)?`${o}px`:o:"0px"});return(o,r)=>t.loading?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["loader",`loader--${t.type}`,`loader--${t.size}`,t.overlay&&!t.fullscreen?"loader--overlay":"",t.fullscreen?"loader--fullscreen":""]),style:e.normalizeStyle({"--loader-color":t.color,"--loader-bg":t.backgroundColor,"--loader-blur":a.value})},[t.overlay||t.fullscreen?(e.openBlock(),e.createElementBlock("div",sv)):e.createCommentVNode("",!0),e.createElementVNode("div",iv,[t.text&&t.textPosition==="top"?(e.openBlock(),e.createElementBlock("div",cv,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),t.type==="spin"?(e.openBlock(),e.createElementBlock("div",uv)):t.type==="pulse"?(e.openBlock(),e.createElementBlock("div",dv)):t.type==="bounce"?(e.openBlock(),e.createElementBlock("div",mv,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,l=>e.createElementVNode("div",{key:l,class:"loader__bounce-dot",style:e.normalizeStyle({animationDelay:`${(l-1)*.1}s`})},null,4)),64))])):t.type==="ripple"?(e.openBlock(),e.createElementBlock("div",fv,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(2,l=>e.createElementVNode("div",{key:l,class:"loader__ripple-ring",style:e.normalizeStyle({animationDelay:`${(l-1)*.5}s`})},null,4)),64))])):t.type==="bars"?(e.openBlock(),e.createElementBlock("div",pv,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,l=>e.createElementVNode("div",{key:l,class:"loader__bar",style:e.normalizeStyle({animationDelay:`${(l-1)*.1}s`})},null,4)),64))])):t.type==="dots"?(e.openBlock(),e.createElementBlock("div",gv,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,l=>e.createElementVNode("div",{key:l,class:"loader__dot",style:e.normalizeStyle({animationDelay:`${(l-1)*.16}s`})},null,4)),64))])):t.type==="ring"?(e.openBlock(),e.createElementBlock("div",vv,[...r[0]||(r[0]=[e.createElementVNode("div",{class:"loader__ring-track"},null,-1),e.createElementVNode("div",{class:"loader__ring-fill"},null,-1)])])):t.type==="spinner-text"?(e.openBlock(),e.createElementBlock("div",hv,[...r[1]||(r[1]=[e.createElementVNode("div",{class:"loader__spinner"},null,-1)])])):e.createCommentVNode("",!0),t.text&&t.textPosition==="bottom"?(e.openBlock(),e.createElementBlock("div",yv,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)}},ot=Ne(bv,[["__scopeId","data-v-4cf22c8b"]]),xv={key:0,class:"inline-flex items-center justify-center min-w-5 h-5 rounded-full text-xs ui-primary-bg text-white px-1"},kv={class:"relative"},wv={class:"flex items-center justify-center"},Cv=["onClick"],Bv={class:"flex items-center gap-2"},Vv={key:1,class:"flex flex-col"},Ev=["onClick"],Sv={key:1},Nv={key:1,class:"flex items-center gap-1 justify-center"},$v={key:1,class:"text-xs"},Dv={key:2},zv=["colspan"],Tv={class:"flex flex-col items-center justify-center py-12"},Av={class:"ui-text mb-4 flex justify-center"},Fv={class:"ui-text text-lg font-medium mb-2"},Lv={class:"ui-text text-sm"},Mv={class:"p-6"},Iv={class:"text-xl font-bold ui-text whitespace-pre-wrap wrap-break-word"},_v={__name:"DataTable",props:{data:{type:Array,required:!0},columns:{type:Array,required:!0},title:{type:String,default:null},description:{type:String,default:null},selectable:{type:Boolean,default:!1},selectedItems:{type:Array,default:()=>[]},sortBy:{type:String,default:null},sortOrder:{type:String,default:"asc",validator:t=>["asc","desc"].includes(t)},pageSize:{type:Number,default:10},showPagination:{type:Boolean,default:!0},striped:{type:Boolean,default:!0},hoverable:{type:Boolean,default:!0},clickableRows:{type:Boolean,default:!1},highlightUnreadRows:{type:Boolean,default:!0},unreadCreatedAtField:{type:String,default:""},unreadMode:{type:String,default:"all",validator:t=>["all","new-only"].includes(t)},unreadPersistKey:{type:String,default:""},emptyText:{type:String,default:"No data available"},emptySubtitle:{type:String,default:"Try adjusting your search or filter criteria"},rowKey:{type:String,default:"id"},variant:{type:String,default:"default",validator:t=>["default","bordered","minimal"].includes(t)},density:{type:String,default:"compact",validator:t=>["compact","normal","comfortable"].includes(t)},headerVariant:{type:String,default:"default"},headerPadding:{type:String,default:"normal"},paginationVariant:{type:String,default:"default"},paginationPadding:{type:String,default:"normal"},actions:{type:Array,default:()=>[]},showActionsColumn:{type:Boolean,default:!0},addButton:{type:Object,default:()=>({})},loading:{type:Boolean,default:!1},dataLoading:{type:Boolean,default:!1},sortLoading:{type:Boolean,default:!1},paginationLoading:{type:Boolean,default:!1},bulkLoading:{type:Boolean,default:!1},rowLoading:{type:Object,default:()=>({})},loadingType:{type:String,default:"dots",validator:t=>["spin","pulse","bounce","ripple","bars","dots","ring"].includes(t)},loadingSize:{type:String,default:"medium",validator:t=>["small","medium","large","xl"].includes(t)},loadingColor:{type:String,default:"#3b82f6"},loadingText:{type:String,default:"Loading..."},loadingTextPosition:{type:String,default:"bottom",validator:t=>["top","bottom"].includes(t)},loadingBackground:{type:String,default:"rgba(255, 255, 255, 0.95)"},showSkeleton:{type:Boolean,default:!0},skeletonRows:{type:Number,default:10},showToolbar:{type:Boolean,default:!1},showDensityToggle:{type:Boolean,default:!0},showColumnToggle:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},showFilterDrawer:{type:Boolean,default:!1},filterFields:{type:Array,default:()=>[]},filterRules:{type:Object,default:()=>({logic:"all",rules:[]})},defaultFilterRules:{type:Object,default:()=>({logic:"all",rules:[]})},themeScope:{type:String,default:"default",validator:t=>["default","module"].includes(t)}},emits:["selection-change","sort-change","row-click","page-change","page-size-change","refresh","action","update:density","toggle-column","add","add-button-click","update:filterRules"],setup(t,{expose:n,emit:a}){const o=t,r=a,l=e.useSlots(),s=e.ref(1),c=e.ref(o.pageSize),i=e.ref(o.columns.map(F=>F.key)),u=e.ref(o.sortBy),f=e.ref(o.sortOrder),d=e.ref(!1),k=e.ref(""),b=e.ref(!1),y=e.ref(new Set),v=e.ref(Date.now()),g=(F,B)=>{if(!(!F||!B))return String(B).split(".").reduce((Z,ae)=>Z?.[ae],F)},m=e.computed(()=>Array.isArray(o.filterRules?.rules)?o.filterRules.rules.length:0),p=F=>{if(F&&typeof F=="object"){const B=F.from||"",Z=F.to||"";return B&&Z?`${B} to ${Z}`:B||Z||""}return String(F??"")},w=()=>r("update:filterRules",{logic:"all",rules:[]}),N=e.computed(()=>(o.filterRules?.rules||[]).map(F=>({id:F.id,label:F.label,value:p(F.value)}))),P=q.cva("border ui-border-strong rounded-2xl relative overflow-hidden flex flex-col gap-y-2 px-2 pb-2",{variants:{variant:{default:"shadow-sm ui-border-strong",bordered:"border-2 ui-border-strong",minimal:"border-none ui-border-strong shadow-none bg-transparent"}},defaultVariants:{variant:"default"}}),_=q.cva("min-w-full",{variants:{variant:{default:"divide-y divide-(--ui-border-strong)",bordered:"border-collapse [&_td]:border [&_th]:border [&_td]:border-(--ui-border-strong) [&_th]:border-(--ui-border-strong)",minimal:"divide-y divide-(--ui-border-strong)"}},defaultVariants:{variant:"default"}}),H=q.cva("",{variants:{variant:{default:" border-b border-(--ui-border-strong)",bordered:" border-b-2 border-(--ui-border-strong)",minimal:"bg-transparent border-b border-(--ui-border-strong)"}},defaultVariants:{variant:"default"}}),G=q.cva("divide-y",{variants:{variant:{default:" divide-(--ui-border-strong)",bordered:" divide-(--ui-border-strong)",minimal:"bg-transparent divide-(--ui-border-strong)"}},defaultVariants:{variant:"default"}}),K=e.computed(()=>{let F=[...o.data];if(u.value){const B=o.columns.find(Z=>Z.key===u.value);B&&F.sort((Z,ae)=>{const J=T(Z,B),me=T(ae,B);return J<me?f.value==="asc"?-1:1:J>me?f.value==="asc"?1:-1:0})}return F}),z=e.computed(()=>Math.ceil(K.value.length/c.value)),I=e.computed(()=>{if(!o.showPagination)return K.value;const F=(s.value-1)*c.value,B=F+c.value;return K.value.slice(F,B)}),te=e.computed(()=>o.columns.filter(F=>i.value.includes(F.key))),j=e.computed(()=>o.columns.filter(F=>F.toggleable!==!1)),U=(F,B)=>{B?i.value.includes(F)||i.value.push(F):i.value=i.value.filter(Z=>Z!==F),r("toggle-column",{key:F,visible:B})},O=e.computed(()=>o.showActionsColumn?l.actions?!0:!o.actions||o.actions.length===0?!1:o.actions.some(B=>B.permission===void 0?!0:typeof B.permission=="boolean"?B.permission===!0:typeof B.permission=="function"):!1),S=e.computed(()=>{let F=o.columns.length;return o.selectable&&F++,O.value&&F++,F}),E=F=>o.actions.filter(B=>{if(B.permission!==void 0){if(typeof B.permission=="function"){if(!B.permission(F))return!1}else if(!B.permission)return!1}return B.visible&&typeof B.visible=="function"?B.visible(F):!0}),D=(F,B)=>F.permission&&typeof F.permission=="function"?F.permission(B):!0,$=(F,B)=>F.disabled&&typeof F.disabled=="function"?F.disabled(B):!1,L=(F,B)=>{$(F,B)||!D(F,B)||(r("action",{action:F.key,item:B,actionConfig:F}),F.onClick&&typeof F.onClick=="function"&&F.onClick(B))},C=F=>({default:"default",primary:"gradient",secondary:"secondary",danger:"danger",success:"success",warning:"warning",info:"info",subtle:"subtle",dark:"dark",light:"light",primaryOutline:"primaryOutline",dangerOutline:"dangerOutline",successOutline:"successOutline",outline:"outline",link:"link",ghost:"ghost"})[F]||"ghost",V=e.computed(()=>K.value.length>0&&K.value.every(F=>Q(F))),M=e.computed(()=>{const F=K.value.filter(B=>Q(B)).length;return F>0&&F<K.value.length}),T=(F,B)=>B.accessor?B.accessor(F):B.key.split(".").reduce((Z,ae)=>Z?.[ae],F),W=(F,B)=>F[o.rowKey]||B,Q=F=>o.selectedItems.some(B=>W(B)===W(F)),ee=F=>{const B=[...o.selectedItems],Z=B.findIndex(ae=>W(ae)===W(F));Z>-1?B.splice(Z,1):B.push(F),r("selection-change",B)},ne=()=>{if(o.loading||o.dataLoading)return;const F=V.value?[]:[...K.value];r("selection-change",F)},de=async F=>{!F.sortable||o.loading||o.sortLoading||(u.value===F.key?f.value=f.value==="asc"?"desc":"asc":(u.value=F.key,f.value="asc"),r("sort-change",{column:F.key,direction:f.value}))},se=F=>{if(!o.loading){if(o.highlightUnreadRows){const B=W(F.item,F.index);y.value.add(String(B)),Xe()}r("row-click",F)}},ye=(F,B)=>{if(!o.highlightUnreadRows)return!1;const Z=String(W(F,B));if(y.value.has(Z))return!1;if(o.unreadMode==="all")return!0;const ae=o.unreadCreatedAtField;if(!ae)return!1;const J=ae.includes(".")?g(F,ae):F?.[ae];if(!J)return!1;const me=String(J).trim();let ge=new Date(me).getTime();if(Number.isNaN(ge)){const ve=me.match(/^(\d{2})[-/](\d{2})[-/](\d{4})$/);if(ve){const[,cn,al,nl]=ve;ge=new Date(`${nl}-${al}-${cn}T00:00:00`).getTime()}}if(Number.isNaN(ge))return!1;if(/^\d{4}-\d{2}-\d{2}$/.test(me)){const ve=new Date(v.value);return ve.setHours(0,0,0,0),ge>=ve.getTime()}return ge>=v.value},Ie=(F,B)=>o.highlightUnreadRows?ye(F,B)?"font-bold !bg-[color:color-mix(in_oklab,var(--module-soft,var(--ui-primary-soft))_62%,var(--ui-surface)_38%)]":"font-normal !bg-[color:color-mix(in_oklab,var(--module-soft-alt,var(--ui-surface-soft))_42%,var(--ui-surface)_58%)]":"",st=()=>{if(!(!o.unreadPersistKey||typeof window>"u"))try{const F=window.localStorage.getItem(o.unreadPersistKey);if(!F)return;const B=JSON.parse(F);Array.isArray(B)&&(y.value=new Set(B.map(String)))}catch{}},Xe=()=>{if(!(!o.unreadPersistKey||typeof window>"u"))try{window.localStorage.setItem(o.unreadPersistKey,JSON.stringify(Array.from(y.value)))}catch{}},Je=async F=>{o.paginationLoading||o.loading||(s.value=F,r("page-change",F))},it=async F=>{o.paginationLoading||o.loading||(c.value=F,s.value=1,r("page-size-change",F))},ct=e.computed(()=>A(P({variant:o.variant}),o.themeScope==="module"&&"kv-module-themed-table")),h=e.computed(()=>A(_({variant:o.variant}))),Y=e.computed(()=>A(H({variant:o.variant}))),ie=e.computed(()=>A(G({variant:o.variant}))),oe=F=>A({compact:"px-3.5 py-1.5",normal:"px-6 py-3",comfortable:"px-8 py-4"}[o.density],"text-left text-sm font-extrabold ui-text uppercase tracking-wider",{"cursor-pointer hover:bg-(--ui-surface) transition-colors":F.sortable&&!o.loading&&!o.sortLoading,"cursor-not-allowed opacity-50":o.loading||o.sortLoading&&u.value===F.key}),x=()=>A({compact:"px-3.5 py-1.5",normal:"px-6 py-4",comfortable:"px-8 py-6"}[o.density],"whitespace-nowrap text-sm ui-text"),ce=(F,B)=>{const Z=T(F,B);return typeof B=="object"&&B.formatter?B.formatter(Z,F):Z==null?"":Z instanceof Date?Z.toLocaleDateString():Array.isArray(Z)?Z.join(", "):Z},he=(F,B=10)=>{if(!F)return F;const Z=F.toString().split(" ");return Z.length<=B?F:Z.slice(0,B).join(" ")+"..."},pe=F=>{k.value||(k.value=F,d.value=!0)},le=()=>{d.value=!1,k.value=""},Qe=e.computed(()=>A({compact:"px-3.5 py-1.5",normal:"px-6 py-4",comfortable:"px-8 py-6"}[o.density],"whitespace-nowrap text-sm ui-text w-12")),Bt=e.computed(()=>A({compact:"px-3.5 py-1.5",normal:"px-6 py-4",comfortable:"px-8 py-6"}[o.density],"whitespace-nowrap text-md font-extrabold text-center")),ut=e.computed(()=>A({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[o.density],"text-center")),He=(F,B)=>A({"ui-primary":u.value===F.key&&f.value===B,"ui-text":u.value!==F.key||f.value!==B});return e.watch(()=>o.selectedItems,()=>{},{deep:!0}),e.watch(()=>o.pageSize,F=>{c.value=F}),e.watch(()=>o.columns,F=>{i.value=F.map(B=>B.key)},{deep:!0}),n({refresh:()=>{r("refresh")},goToPage:F=>{Je(F)},selectAll:()=>{ne()},clearSelection:()=>{r("selection-change",[])},getCurrentPage:()=>s.value,getTotalPages:()=>z.value,getSelectedItems:()=>o.selectedItems}),st(),(F,B)=>{const Z=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(ct.value)},[t.title||t.description||F.$slots.header?(e.openBlock(),e.createBlock(en,{key:0,title:t.title,description:t.description,variant:t.headerVariant,padding:t.headerPadding},{header:e.withCtx(()=>[e.renderSlot(F.$slots,"header",{},void 0,!0)]),filters:e.withCtx(()=>[e.renderSlot(F.$slots,"filters",{},void 0,!0)]),_:3},8,["title","description","variant","padding"])):e.createCommentVNode("",!0),t.showToolbar?(e.openBlock(),e.createBlock(nn,{key:1,"selected-items":t.selectedItems,"total-items":K.value.length,"show-density-toggle":t.showDensityToggle,"show-column-toggle":t.showColumnToggle,"show-refresh":t.showRefresh,"active-filters":t.showFilterDrawer?N.value:[],"default-filter-rules":t.defaultFilterRules,"add-button":t.addButton,density:t.density,"toggleable-columns":j.value,"visible-columns":i.value,"onUpdate:density":B[1]||(B[1]=ae=>r("update:density",ae)),onToggleColumn:U,onRefresh:B[2]||(B[2]=ae=>F.$emit("refresh")),onAdd:B[3]||(B[3]=ae=>r("add")),onAddButtonClick:B[4]||(B[4]=ae=>r("add-button-click",ae))},{actions:e.withCtx(()=>[e.renderSlot(F.$slots,"toolbar-actions",{},void 0,!0)]),"actions-after-add":e.withCtx(()=>[t.showFilterDrawer?(e.openBlock(),e.createElementBlock("button",{key:0,class:"px-3 py-2 text-sm border ui-border-strong rounded-md hover:bg-(--ui-surface) flex items-center gap-2",onClick:B[0]||(B[0]=ae=>b.value=!0)},[e.createVNode(Z,{icon:"filter"}),B[8]||(B[8]=e.createTextVNode(" Filter ",-1)),m.value>0?(e.openBlock(),e.createElementBlock("span",xv,e.toDisplayString(m.value),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(F.$slots,"toolbar-actions-after-add",{},void 0,!0)]),"active-filter-actions":e.withCtx(()=>[t.showFilterDrawer&&m.value>0?(e.openBlock(),e.createElementBlock("button",{key:0,class:"ml-1 px-2 py-1 text-sm border border-(--ui-primary) rounded-md ui-primary hover:bg-(--ui-primary-soft)",onClick:w}," Clear filter ")):e.createCommentVNode("",!0)]),_:3},8,["selected-items","total-items","show-density-toggle","show-column-toggle","show-refresh","active-filters","default-filter-rules","add-button","density","toggleable-columns","visible-columns"])):e.createCommentVNode("",!0),t.showFilterDrawer?(e.openBlock(),e.createBlock(Ct,{key:2,open:b.value,fields:t.filterFields,"model-value":t.filterRules,"onUpdate:modelValue":B[5]||(B[5]=ae=>F.$emit("update:filterRules",ae)),onClose:B[6]||(B[6]=ae=>b.value=!1)},null,8,["open","fields","model-value"])):e.createCommentVNode("",!0),e.createElementVNode("div",kv,[t.loading?(e.openBlock(),e.createBlock(ot,{key:0,loading:!0,type:t.loadingType,size:t.loadingSize,color:t.loadingColor,overlay:!0,text:t.loadingText,"text-position":t.loadingTextPosition,"background-color":t.loadingBackground,class:"table-loading-overlay"},null,8,["type","size","color","text","text-position","background-color"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["overflow-x-auto",{"opacity-50":t.loading}])},[e.createElementVNode("table",{class:e.normalizeClass(h.value)},[e.createElementVNode("thead",{class:e.normalizeClass(Y.value)},[e.createElementVNode("tr",null,[t.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(Qe.value)},[e.createElementVNode("div",wv,[t.bulkLoading?(e.openBlock(),e.createBlock(ot,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):(e.openBlock(),e.createBlock(Yt,{key:1,"model-value":V.value,indeterminate:M.value,disabled:t.loading||t.dataLoading,"onUpdate:modelValue":ne},null,8,["model-value","indeterminate","disabled"]))])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(te.value,ae=>(e.openBlock(),e.createElementBlock("th",{key:ae.key,class:e.normalizeClass(oe(ae)),onClick:J=>de(ae)},[e.createElementVNode("div",Bv,[e.createElementVNode("span",null,e.toDisplayString(ae.label),1),t.sortLoading&&u.value===ae.key?(e.openBlock(),e.createBlock(ot,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):ae.sortable?(e.openBlock(),e.createElementBlock("div",Vv,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([He(ae,"asc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...B[9]||(B[9]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 15.75 7.5-7.5 7.5 7.5"},null,-1)])],2)),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([He(ae,"desc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...B[10]||(B[10]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"},null,-1)])],2))])):e.createCommentVNode("",!0)])],10,Cv))),128)),O.value?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(Bt.value)}," Actions ",2)):e.createCommentVNode("",!0)])],2),e.createElementVNode("tbody",{class:e.normalizeClass(ie.value)},[t.showSkeleton&&(t.loading||t.dataLoading)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.skeletonRows,ae=>(e.openBlock(),e.createElementBlock("tr",{key:`skeleton-${ae}`,class:"animate-pulse"},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(Qe.value)},[...B[11]||(B[11]=[e.createElementVNode("div",{class:"w-4 h-4 ui-bg rounded"},null,-1)])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(te.value,J=>(e.openBlock(),e.createElementBlock("td",{key:J.key,class:e.normalizeClass(x())},[...B[12]||(B[12]=[e.createElementVNode("div",{class:"h-4 ui-bg rounded w-3/4"},null,-1)])],2))),128)),O.value?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(Bt.value)},[...B[13]||(B[13]=[e.createElementVNode("div",{class:"flex gap-2 justify-center"},[e.createElementVNode("div",{class:"w-6 h-6 ui-surface rounded"}),e.createElementVNode("div",{class:"w-6 h-6 ui-surface rounded"})],-1)])],2)):e.createCommentVNode("",!0)]))),128)):I.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(I.value,(ae,J)=>(e.openBlock(),e.createBlock(an,{key:W(ae,J),item:ae,columns:te.value,index:J,selectable:t.selectable,"is-selected":Q(ae),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,"row-class":Ie(ae,J),density:t.density,variant:t.variant,onToggleSelection:ee,onRowClick:se},e.createSlots({actions:e.withCtx(({item:me,index:ge})=>[F.$slots.actions?e.renderSlot(F.$slots,"actions",{key:0,item:me,index:ge},void 0,!0):t.actions.length>0?(e.openBlock(),e.createElementBlock("div",Nv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E(me),ve=>(e.openBlock(),e.createBlock(Ha,{key:ve.key,content:typeof ve.tooltip=="function"?ve.tooltip(me):ve.tooltip||ve.label||ve.key,placement:"top"},{default:e.withCtx(()=>[e.createVNode(be,{variant:C(ve.variant),size:"xs",disabled:$(ve,me)||!D(ve,me),class:e.normalizeClass(["h-8 w-8",typeof ve.class=="function"?ve.class(me):ve.class]),onClick:e.withModifiers(cn=>L(ve,me),["stop"])},{default:e.withCtx(()=>[ve.icon?(e.openBlock(),e.createBlock(R,{key:0,icon:ve.icon,class:"w-4 h-4"},null,8,["icon"])):ve.label?(e.openBlock(),e.createElementBlock("span",$v,e.toDisplayString(ve.label),1)):e.createCommentVNode("",!0)]),_:2},1032,["variant","disabled","class","onClick"])]),_:2},1032,["content"]))),128))])):e.createCommentVNode("",!0)]),_:2},[e.renderList(te.value,me=>({name:`cell-${me.key}`,fn:e.withCtx(ge=>[e.renderSlot(F.$slots,`cell-${me.key}`,e.mergeProps({ref_for:!0},ge),()=>[ce(ge.item,ge.column).toString().split(" ").length>10?(e.openBlock(),e.createElementBlock("span",{key:0,class:"cursor-pointer ui-primary hover:text-(--ui-primary)",onClick:e.withModifiers(ve=>pe(ce(ge.item,ge.column)),["stop"])},e.toDisplayString(he(ce(ge.item,ge.column))),9,Ev)):(e.openBlock(),e.createElementBlock("span",Sv,e.toDisplayString(ce(ge.item,ge.column)),1))],!0)])}))]),1032,["item","columns","index","selectable","is-selected","striped","hoverable","clickable-rows","row-class","density","variant"]))),128)):(e.openBlock(),e.createElementBlock("tr",Dv,[e.createElementVNode("td",{colspan:S.value,class:e.normalizeClass(ut.value)},[e.renderSlot(F.$slots,"empty",{},()=>[e.createElementVNode("div",Tv,[e.createElementVNode("div",Av,[e.createVNode(R,{icon:"search",class:"w-16 h-16"})]),e.createElementVNode("p",Fv,e.toDisplayString(t.emptyText),1),e.createElementVNode("p",Lv,e.toDisplayString(t.emptySubtitle),1)])],!0)],10,zv)]))],2)],2)],2)]),t.showPagination||F.$slots.footer?(e.openBlock(),e.createBlock(on,{key:3,"current-page":s.value,"total-pages":z.value,total:K.value.length,"page-size":c.value,"show-pagination":t.showPagination,selectable:t.selectable,"selected-count":t.selectedItems.length,variant:t.paginationVariant,padding:t.paginationPadding,loading:t.paginationLoading,disabled:t.loading||t.dataLoading,"onUpdate:currentPage":Je,"onUpdate:pageSize":it},{footer:e.withCtx(()=>[e.renderSlot(F.$slots,"footer",{},void 0,!0)]),_:3},8,["current-page","total-pages","total","page-size","show-pagination","selectable","selected-count","variant","padding","loading","disabled"])):e.createCommentVNode("",!0),e.createVNode(wt,{modelValue:d.value,"onUpdate:modelValue":B[7]||(B[7]=ae=>d.value=ae),size:"lg",onClose:le},{default:e.withCtx(()=>[e.createElementVNode("div",Mv,[B[14]||(B[14]=e.createElementVNode("h3",{class:"text-md font-semibold mb-4"}," Full Text ",-1)),e.createElementVNode("div",Iv,e.toDisplayString(k.value),1)])]),_:1},8,["modelValue"])],2)}}},Or=Ne(_v,[["__scopeId","data-v-dc691687"]]),Pv={class:"bg-white border-b border-gray-200"},Ov={key:0,class:"flex-1 min-w-80 max-w-md"},jv={class:"relative group"},Rv=["model-value","placeholder"],Hv={key:1,class:"min-w-36"},Uv={class:"relative"},Wv=["value"],Yv={key:3,class:"flex items-center gap-2"},qv={class:"flex items-center gap-3 ml-auto"},Gv={class:"grid grid-cols-1 lg:grid-cols-3 gap-6"},Kv={class:"flex items-center justify-between"},Xv={class:"flex items-center gap-3"},Jv={class:"relative flex-1"},Qv=["model-value","placeholder","onInput"],Zv={class:"relative flex-1"},eh=["model-value","placeholder","onInput"],th=["onClick"],ah={class:"flex items-center gap-3 flex-wrap"},nh=["onClick"],oh={key:2,class:"px-6 py-3 bg-gray-50 border-t border-gray-200"},rh={class:"flex items-center justify-between"},lh={class:"flex items-center gap-4"},sh={class:"text-sm text-gray-600"},ih={class:"font-medium"},jr={__name:"DataTableFilters",props:{searchQuery:{type:String,default:""},searchPlaceholder:{type:String,default:"Search..."},selectedStatus:{type:String,default:""},statusOptions:{type:Array,default:()=>[]},showDateFilter:{type:Boolean,default:!1},dateFrom:{type:String,default:""},dateTo:{type:String,default:""},dateFilters:{type:Array,default:()=>[],validator:t=>t.every(n=>Object.prototype.hasOwnProperty.call(n,"key")&&Object.prototype.hasOwnProperty.call(n,"label")&&Object.prototype.hasOwnProperty.call(n,"from")&&Object.prototype.hasOwnProperty.call(n,"to"))},showExport:{type:Boolean,default:!1},showAdd:{type:Boolean,default:!1},showTableInfo:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showFilters:{type:Boolean,default:!0},totalItems:{type:Number,default:0},itemLabel:{type:String,default:"items"},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:searchQuery","update:selectedStatus","update:dateFrom","update:dateTo","update:dateFilters","export","add","clear-filters"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=q.cva("flex flex-wrap items-center gap-4",{variants:{variant:{default:"bg-white",minimal:"bg-transparent",bordered:"bg-gray-50"},padding:{compact:"px-4 py-3",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),s=q.cva("border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-sm",{variants:{size:{sm:"px-2 py-1.5",md:"px-3 py-2.5",lg:"px-4 py-3"}},defaultVariants:{size:"md"}}),c=q.cva("rounded-lg flex items-center font-medium transition-all",{variants:{variant:{default:"text-gray-700 hover:text-gray-900 border border-gray-200 hover:bg-gray-50 hover:border-gray-300 bg-white",primary:"text-white bg-blue-600 hover:bg-blue-700 border border-blue-600 shadow-sm",success:"text-white bg-green-600 hover:bg-green-700 border border-green-600 shadow-sm",ghost:"text-gray-600 hover:text-gray-800 hover:bg-gray-100"},size:{sm:"px-2 py-1.5 text-xs",md:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),i=L=>!!(L.from||L.to),u=L=>{const C=[...a.dateFilters],V=C.findIndex(M=>M.key===L);V>=0&&(C[V]={...C[V],from:"",to:""},o("update:dateFilters",C))},f=L=>`text-xs px-2 py-1 rounded ${i(L)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,d=()=>{r.value=!r.value},k=(L,C,V)=>{const M=[...a.dateFilters],T=M.findIndex(W=>W.key===L);T>=0&&(M[T]={...M[T],[C]:V},o("update:dateFilters",M))},b=e.computed(()=>{const L=a.searchQuery,C=a.selectedStatus,V=a.dateFrom||a.dateTo,M=a.dateFilters.some(T=>T.from||T.to);return L||C||V||M}),y=e.computed(()=>{let L=0;return a.searchQuery&&L++,a.selectedStatus&&L++,(a.dateFrom||a.dateTo)&&L++,L+=a.dateFilters.filter(C=>C.from||C.to).length,L}),v=e.computed(()=>{const L=[];if(a.searchQuery&&a.searchQuery.trim()&&L.push({key:"search",label:"Search",value:`"${a.searchQuery}"`,icon:"magnifying-glass"}),a.selectedStatus){const C=a.statusOptions.find(V=>V.value===a.selectedStatus);L.push({key:"status",label:"Status",value:C?.label||a.selectedStatus,icon:"filter"})}if(a.dateFrom||a.dateTo){let C="";a.dateFrom&&a.dateTo?C=`${a.dateFrom} to ${a.dateTo}`:a.dateFrom?C=`From ${a.dateFrom}`:a.dateTo&&(C=`Until ${a.dateTo}`),C&&L.push({key:"date",label:"Date Range",value:C,icon:"calendar"})}return a.dateFilters.forEach(C=>{if(C.from||C.to){let V="";C.from&&C.to?V=`${C.from} to ${C.to}`:C.from?V=`From ${C.from}`:C.to&&(V=`Until ${C.to}`),V&&L.push({key:`date-${C.key}`,label:C.label,value:V,icon:"calendar"})}}),L}),g=e.computed(()=>A(l({variant:a.variant,padding:a.padding}))),m=e.computed(()=>"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 group-hover:text-gray-600 transition-colors"),p=e.computed(()=>A(s({size:"md"}),"w-full pl-10 pr-10 hover:border-gray-300")),w=e.computed(()=>"absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600 p-1 hover:bg-gray-100 rounded-full transition-all"),N=e.computed(()=>A(s({size:"md"}),"w-full pr-8 appearance-none hover:border-gray-300")),P=e.computed(()=>{const L=r.value||b.value;return A(c({variant:L?"primary":"default",size:"lg"}),"gap-2")}),_=e.computed(()=>"bg-white text-blue-600 text-xs px-1.5 py-0.5 rounded-full min-w-[20px] text-center font-semibold"),H=e.computed(()=>"px-6 py-4 border-t border-gray-100 bg-gray-50"),G=e.computed(()=>A(s({size:"md"}),"pl-10 pr-3")),K=e.computed(()=>"text-sm font-semibold text-gray-700"),z=e.computed(()=>"text-gray-500 text-sm font-medium"),I=e.computed(()=>"text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"),te=e.computed(()=>A(c({variant:"ghost",size:"md"}))),j=e.computed(()=>A(c({variant:"default",size:"lg"}))),U=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),O=e.computed(()=>"text-sm font-semibold text-blue-800"),S=e.computed(()=>"flex items-center gap-1.5 bg-white border border-blue-200 text-blue-800 px-3 py-1.5 rounded-full text-sm font-medium"),E=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),D=()=>{o("update:searchQuery",""),o("update:selectedStatus",""),o("update:dateFrom",""),o("update:dateTo","");const L=a.dateFilters.map(C=>({...C,from:"",to:""}));o("update:dateFilters",L),o("clear-filters")},$=L=>{switch(L){case"search":o("update:searchQuery","");break;case"status":o("update:selectedStatus","");break;case"date":o("update:dateFrom",""),o("update:dateTo","");break;default:if(L.startsWith("date-")){const C=L.replace("date-",""),V=a.dateFilters.map(M=>M.key===C?{...M,from:"",to:""}:M);o("update:dateFilters",V)}break}};return(L,C)=>(e.openBlock(),e.createElementBlock("div",Pv,[e.createElementVNode("div",{class:e.normalizeClass(g.value)},[t.showSearch?(e.openBlock(),e.createElementBlock("div",Ov,[e.createElementVNode("div",jv,[e.createVNode(R,{icon:"magnifying-glass",class:e.normalizeClass(m.value)},null,8,["class"]),e.createElementVNode("input",{"model-value":t.searchQuery,placeholder:t.searchPlaceholder,class:e.normalizeClass(p.value),onInput:C[0]||(C[0]=V=>L.$emit("update:searchQuery",V.target.value))},null,42,Rv),t.searchQuery?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(w.value),onClick:C[1]||(C[1]=V=>L.$emit("update:searchQuery",""))},[e.createVNode(R,{icon:"xmark",class:"w-3 h-3"})],2)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),t.showFilters&&t.statusOptions.length>0?(e.openBlock(),e.createElementBlock("div",Hv,[e.createElementVNode("div",Uv,[e.createVNode(Le,{"model-value":t.selectedStatus,class:e.normalizeClass(N.value),onChange:C[2]||(C[2]=V=>L.$emit("update:selectedStatus",V.target.value))},{default:e.withCtx(()=>[C[5]||(C[5]=e.createElementVNode("option",{value:""}," All Status ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.statusOptions,V=>(e.openBlock(),e.createElementBlock("option",{key:V.value,value:V.value},e.toDisplayString(V.label),9,Wv))),128))]),_:1},8,["model-value","class"]),e.createVNode(R,{icon:"chevron-down",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])])):e.createCommentVNode("",!0),t.showFilters?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(P.value),onClick:d},[e.createVNode(R,{icon:"filter",class:"w-4 h-4"}),C[6]||(C[6]=e.createTextVNode(" Filters ",-1)),y.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(_.value)},e.toDisplayString(y.value),3)):e.createCommentVNode("",!0),e.createVNode(R,{icon:r.value?"chevron-up":"chevron-down",class:"w-4 h-4 ml-1"},null,8,["icon"])],2)):e.createCommentVNode("",!0),L.$slots.filters?(e.openBlock(),e.createElementBlock("div",Yv,[e.renderSlot(L.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",qv,[b.value?(e.openBlock(),e.createBlock(be,{key:0,class:e.normalizeClass(te.value),onClick:D},{default:e.withCtx(()=>[e.createVNode(R,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),C[7]||(C[7]=e.createTextVNode(" Clear All ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(be,{key:1,class:e.normalizeClass(j.value),onClick:C[3]||(C[3]=V=>L.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(R,{icon:"download",class:"w-4 h-4 mr-2"}),C[8]||(C[8]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),e.renderSlot(L.$slots,"actions",{},()=>[t.showAdd?(e.openBlock(),e.createBlock(be,{key:0,variant:"success",size:"lg",onClick:C[4]||(C[4]=V=>L.$emit("add"))},{default:e.withCtx(()=>[e.createVNode(R,{icon:"plus",class:"w-4 h-4 mr-2"}),C[9]||(C[9]=e.createTextVNode(" Add ",-1))]),_:1})):e.createCommentVNode("",!0)])])],2),t.showFilters&&r.value&&t.dateFilters.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(H.value)},[e.createElementVNode("div",Gv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dateFilters,V=>(e.openBlock(),e.createElementBlock("div",{key:V.key,class:"space-y-3"},[e.createElementVNode("div",Kv,[e.createElementVNode("label",{class:e.normalizeClass(K.value)},e.toDisplayString(V.label),3),e.createElementVNode("span",{class:e.normalizeClass(f(V))},e.toDisplayString(i(V)?"Active":"Inactive"),3)]),e.createElementVNode("div",Xv,[e.createElementVNode("div",Jv,[e.createVNode(R,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":V.from,class:e.normalizeClass(G.value),placeholder:`From ${V.label}`,onInput:M=>k(V.key,"from",M.target.value)},null,42,Qv)]),e.createElementVNode("span",{class:e.normalizeClass(z.value)},"to",2),e.createElementVNode("div",Zv,[e.createVNode(R,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":V.to,class:e.normalizeClass(G.value),placeholder:`To ${V.label}`,onInput:M=>k(V.key,"to",M.target.value)},null,42,eh)]),i(V)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(I.value),title:"Clear this filter",onClick:M=>u(V.key)},[e.createVNode(R,{icon:"xmark",class:"w-4 h-4"})],10,th)):e.createCommentVNode("",!0)])]))),128))])],2)):e.createCommentVNode("",!0),t.showFilters&&v.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(U.value)},[e.createElementVNode("div",ah,[e.createElementVNode("span",{class:e.normalizeClass(O.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,V=>(e.openBlock(),e.createElementBlock("div",{key:V.key,class:e.normalizeClass(S.value)},[e.createVNode(R,{icon:V.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(V.label)+": "+e.toDisplayString(V.value),1),e.createElementVNode("button",{class:e.normalizeClass(E.value),onClick:M=>$(V.key)},[e.createVNode(R,{icon:"xmark",class:"w-3 h-3"})],10,nh)],2))),128))])],2)):e.createCommentVNode("",!0),t.showTableInfo?(e.openBlock(),e.createElementBlock("div",oh,[e.createElementVNode("div",rh,[e.createElementVNode("div",lh,[e.createElementVNode("span",sh,[e.createElementVNode("span",ih,e.toDisplayString(t.totalItems||0),1),e.createTextVNode(" "+e.toDisplayString(t.itemLabel||"items")+" found ",1)])])])])):e.createCommentVNode("",!0)]))}},ch={class:"w-full flex flex-col"},uh={class:"px-4 py-3 border-b ui-border-strong"},dh={class:"text-sm font-semibold uppercase tracking-wide ui-text"},mh={class:"flex-1 overflow-y-auto"},fh={key:0,class:"px-3 py-2 space-y-2"},ph={key:1,class:"px-4 py-3 text-sm ui-text"},gh={key:2,class:"py-1","aria-label":"Rail navigation"},vh=["title","aria-current","onClick"],hh={class:"h-8 w-8 rounded-full overflow-hidden border ui-border-strong ui-surface-muted flex items-center justify-center text-xs font-semibold ui-text"},yh=["src","alt"],bh={key:1},xh={class:"truncate text-sm"},rn={__name:"RailNav",props:{items:{type:Array,default:()=>[]},activeKey:{type:[String,Number],default:null},title:{type:String,default:"Navigation"},setupLabel:{type:String,default:"Setup"},showSetup:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},heightOffset:{type:[String,Number],default:"4rem"},desktopOnly:{type:Boolean,default:!0},resolveLogo:{type:Function,default:null}},emits:["select","setup-click"],setup(t,{emit:n}){const a=new Map,o=new Map,r=t,l=n,s=e.ref({}),c=e.computed(()=>({height:`calc(100vh - ${(typeof r.heightOffset=="number"?`${r.heightOffset}px`:r.heightOffset)||"0px"})`})),i=(g,m)=>g?.code??g?.id??g?.company_id??g?.key??m,u=g=>g?.code??g?.body??g?.name??g?.label??g?.company_name??"Item",f=g=>g?.logo_id??g?.logoId??g?.company_logo_id??g?.companyLogoId??g?.logo?.id??g?.logo?.data?.id??null,d=g=>{const m=String(u(g)||"").trim();return m&&m.split(/\s+/).filter(Boolean).slice(0,2).map(w=>w.charAt(0).toUpperCase()).join("")||"C"},k=(g,m)=>String(i(g,m))===String(r.activeKey??""),b=g=>String(g?.color_code||g?.colorCode||"#94A3B8"),y=async(g,m)=>{if(typeof r.resolveLogo!="function")return;const p=f(g);if(!p)return;const w=String(p);if(a.has(w)){s.value[w]=a.get(w);return}o.has(w)||o.set(w,Promise.resolve(r.resolveLogo(p)).then(_=>{const H=_||null;return a.set(w,H),H}).catch(()=>(a.set(w,null),null)).finally(()=>{o.delete(w)}));const N=await o.get(w);s.value[w]=N;const P=String(i(g,m));N&&(s.value[P]=N)};e.watch(()=>r.items,async g=>{!Array.isArray(g)||typeof r.resolveLogo!="function"||await Promise.all(g.map((m,p)=>y(m,p)))},{immediate:!0,deep:!0});const v=(g,m)=>{const p=g?.logo_url??g?.logoUrl;if(typeof p=="string"&&p.trim())return p;const w=f(g);if(w){const N=s.value[String(w)]??a.get(String(w));if(N)return N}return s.value[String(i(g,m))]||null};return(g,m)=>(e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["sticky top-16 w-72 rounded-xl border ui-border-strong ui-surface shadow-sm overflow-hidden",t.desktopOnly?"hidden lg:flex":"flex"]),style:e.normalizeStyle(c.value)},[e.createElementVNode("div",ch,[e.createElementVNode("div",uh,[e.createElementVNode("h3",dh,e.toDisplayString(t.title),1),t.showSetup?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"mt-3 w-full px-3 py-2 rounded-md border ui-border-strong ui-primary hover:bg-(--ui-primary-soft) text-sm font-medium",onClick:m[0]||(m[0]=p=>l("setup-click"))},e.toDisplayString(t.setupLabel),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",mh,[t.loading?(e.openBlock(),e.createElementBlock("div",fh,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(6,p=>e.createElementVNode("div",{key:p,class:"h-10 rounded-md ui-surface-muted animate-pulse"})),64))])):t.items.length?(e.openBlock(),e.createElementBlock("nav",gh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(p,w)=>(e.openBlock(),e.createElementBlock("button",{key:String(i(p,w)),type:"button",title:p?.body||p?.name||u(p),class:e.normalizeClass(["w-full px-3 py-2 flex items-center gap-3 text-left transition-colors border-l-2 border-transparent hover:bg-(--ui-surface-muted) ui-text",k(p,w)?"ui-primary-soft border-(--ui-primary) font-semibold":""]),"aria-current":k(p,w)?"page":void 0,onClick:N=>l("select",p)},[e.createElementVNode("span",hh,[v(p,w)?(e.openBlock(),e.createElementBlock("img",{key:0,src:v(p,w),alt:u(p),class:"h-full w-full object-cover"},null,8,yh)):(e.openBlock(),e.createElementBlock("span",bh,e.toDisplayString(d(p)),1))]),e.createElementVNode("span",{class:"inline-block h-2.5 w-2.5 rounded-full shrink-0",style:e.normalizeStyle({backgroundColor:b(p)})},null,4),e.createElementVNode("span",xh,e.toDisplayString(u(p)),1)],10,vh))),128))])):(e.openBlock(),e.createElementBlock("div",ph,"No compliance bodies"))])])],6))}},kh={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"},wh={class:"grid grid-cols-1 md:grid-cols-4 gap-8"},Ch={class:"col-span-1 md:col-span-2"},Bh={class:"space-y-2"},Vh={class:"flex space-x-4"},Eh={class:"flex flex-col md:flex-row justify-between items-center"},Sh={class:"flex space-x-6 mt-4 md:mt-0"},Rr={__name:"Footer",props:{className:{type:String,default:""}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("footer",{class:e.normalizeClass(e.unref(A)(" border-t ",t.className))},[e.createElementVNode("div",kh,[e.createElementVNode("div",wh,[e.createElementVNode("div",Ch,[e.renderSlot(n.$slots,"brand",{},()=>[e.createVNode(Pa,{class:"mb-4"}),e.createVNode(_t,{class:"ui-text max-w-md"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" Building beautiful applications with modern Vue.js components. ",-1)])]),_:1})])]),e.createElementVNode("div",null,[e.renderSlot(n.$slots,"links",{},()=>[e.createVNode(Ve,{variant:"text-sm",class:"mb-4"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode(" Quick Links ",-1)])]),_:1}),e.createElementVNode("div",Bh,[e.createVNode(Te,{href:"#",class:"block ui-text hover:text-(--ui-text)"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" About ",-1)])]),_:1}),e.createVNode(Te,{href:"#",class:"block ui-text hover:text-(--ui-text)"},{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createTextVNode(" Services ",-1)])]),_:1}),e.createVNode(Te,{href:"#",class:"block ui-text hover:text-(--ui-text)"},{default:e.withCtx(()=>[...a[4]||(a[4]=[e.createTextVNode(" Contact ",-1)])]),_:1})])])]),e.createElementVNode("div",null,[e.renderSlot(n.$slots,"social",{},()=>[e.createVNode(Ve,{variant:"text-sm",class:"mb-4"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode(" Follow Us ",-1)])]),_:1}),e.createElementVNode("div",Vh,[e.createVNode(Te,{href:"#",class:"ui-text hover:text-(--ui-text)"},{default:e.withCtx(()=>[e.createVNode(R,{name:"square-x-twitter",prefix:"fab",class:"h-5 w-5"})]),_:1}),e.createVNode(Te,{href:"#",class:"ui-text hover:text-(--ui-text)"},{default:e.withCtx(()=>[e.createVNode(R,{name:"github",prefix:"fab",class:"h-5 w-5"})]),_:1})])])])]),e.createVNode(qt,{class:"my-8"}),e.createElementVNode("div",Eh,[e.renderSlot(n.$slots,"copyright",{},()=>[e.createVNode(_t,{class:"ui-text"},{default:e.withCtx(()=>[e.createTextVNode(" © "+e.toDisplayString(new Date().getFullYear())+" Your Company. All rights reserved. ",1)]),_:1})]),e.renderSlot(n.$slots,"legal",{},()=>[e.createElementVNode("div",Sh,[e.createVNode(Te,{href:"#",class:"ui-text hover:text-(--ui-text)"},{default:e.withCtx(()=>[...a[6]||(a[6]=[e.createTextVNode(" Privacy ",-1)])]),_:1}),e.createVNode(Te,{href:"#",class:"ui-text hover:text-(--ui-text)"},{default:e.withCtx(()=>[...a[7]||(a[7]=[e.createTextVNode(" Terms ",-1)])]),_:1})])])])])],2))}},Nh={class:"relative flex items-center justify-between h-20 sm:h-18 px-3 sm:px-4 md:px-6"},$h={class:"flex items-center gap-2 sm:gap-3 md:gap-4 min-w-0 flex-1"},Dh=["src"],zh={key:2,class:"h-5 sm:h-18 w-px ui-border-strong-bg shrink-0 hidden sm:block"},Th={key:3,class:"shrink-0 ui-surface border ui-border-strong px-2 py-1.5 sm:px-3 sm:py-2 rounded-xl shadow-sm flex items-center gap-2 relative hover:bg-(--ui-surface-muted) transition-colors max-w-52 sm:max-w-72"},Ah={class:"w-8 h-8 rounded-lg ui-surface-muted border ui-border-strong flex items-center justify-center shrink-0"},Fh={class:"flex-1 min-w-0"},Lh={class:"text-xs sm:text-sm font-semibold ui-text truncate group-hover:text-(--ui-primary) leading-tight"},Mh={key:1,class:"min-w-0 flex-1 px-1"},Ih={class:"text-xs sm:text-sm font-semibold ui-text truncate max-w-[160px] sm:max-w-52 leading-tight"},_h={key:0,class:"ui-surface absolute top-full left-0 right-0 sm:left-0 sm:right-auto mt-2 w-[min(92vw,24rem)] rounded-2xl border ui-border-strong shadow-2xl z-50 max-h-96 overflow-hidden"},Ph={class:"p-3 sm:p-4 border-b ui-border-strong ui-surface-muted"},Oh={class:"text-sm sm:text-base font-semibold ui-text flex items-center gap-2"},jh={class:"text-xs ui-text mt-1"},Rh={class:"py-2 max-h-80 overflow-y-auto"},Hh=["onClick"],Uh={key:0,class:"shrink-0 mr-2 sm:mr-3"},Wh=["src","alt"],Yh={key:1,class:"w-7 h-7 sm:w-8 sm:h-8 rounded-lg bg-linear-to-br from-(--ui-bg) to-(--ui-bg) flex items-center justify-center mr-2 sm:mr-3 shrink-0"},qh={class:"flex-1 text-left min-w-0"},Gh={class:"font-semibold truncate text-sm sm:text-md"},Kh={key:0,class:"pointer-events-none absolute left-1/2 -translate-x-1/2"},Xh=["src"],Jh={class:"flex items-center gap-1 sm:gap-2 md:gap-3 pl-2"},Qh={key:0,class:"absolute -top-0.5 -right-0.5 sm:-top-1 sm:-right-1 min-w-4 h-4 sm:min-w-[18px] sm:h-[18px] ui-danger-bg ui-text-inverse text-[10px] sm:text-xs rounded-full flex items-center justify-center font-semibold px-0.5 sm:px-1"},Zh={key:0,class:"ui-surface absolute right-2 sm:right-4 md:right-6 top-14 sm:top-16 mt-2 w-[calc(100vw-1rem)] max-w-sm sm:w-80 md:w-96 rounded-2xl border ui-border-strong shadow-2xl z-9999 overflow-hidden"},ey={class:"p-3 sm:p-4 border-b ui-border-strong ui-surface-muted"},ty={class:"text-sm sm:text-base font-semibold ui-text"},ay={key:0,class:"text-xs ui-text mt-1"},ny={class:"max-h-[60vh] sm:max-h-96 overflow-y-auto"},oy={key:0,class:"p-6 sm:p-8 text-center"},ry=["onClick"],ly={class:"flex items-start space-x-2 sm:space-x-3"},sy={class:"flex-1 min-w-0"},iy={class:"flex items-start justify-between gap-2"},cy={class:"text-xs sm:text-md font-semibold ui-text flex-1 leading-tight"},uy={key:0,class:"shrink-0 w-2 h-2 mt-1 ui-primary-bg rounded-full"},dy={key:0,class:"flex items-center gap-1 sm:gap-1.5 mt-1.5 flex-wrap"},my={class:"inline-flex items-center px-1.5 sm:px-2 py-0.5 rounded text-[10px] sm:text-xs font-semibold ui-accent-soft ui-accent border border-(--ui-accent-soft)"},fy={class:"inline-flex items-center px-1.5 sm:px-2 py-0.5 rounded text-[10px] sm:text-xs font-medium ui-surface-muted ui-text border ui-border-strong"},py={class:"flex items-center gap-1.5 sm:gap-2 mt-1.5 sm:mt-2 flex-wrap"},gy={key:0,class:"inline-flex items-center px-1.5 sm:px-2 py-0.5 rounded text-[10px] sm:text-xs font-medium ui-primary-soft ui-primary"},vy={class:"truncate max-w-[100px] sm:max-w-none"},hy={class:"text-[10px] sm:text-xs ui-text mt-1.5 sm:mt-2 flex items-center"},yy={key:0,class:"p-2 sm:p-3 text-center border-t ui-border-strong ui-surface-muted"},by={key:1,class:"w-40 sm:w-52 md:w-64"},xy={class:"relative"},ky=["aria-label"],wy={class:"w-9 h-9 sm:w-10 sm:h-10 bg-linear-to-br from-(--ui-primary-soft) to-(--ui-accent-soft) rounded-full flex items-center justify-center shadow-sm overflow-hidden border ui-border-strong"},Cy=["src","alt"],By={key:1,class:"ui-primary text-sm sm:text-base font-semibold"},Vy={key:0,class:"ui-surface absolute right-0 mt-2 w-56 sm:w-60 rounded-xl border ui-border-strong shadow-xl z-50 overflow-hidden"},Ey={class:"p-3 sm:p-4 border-b ui-border-strong flex items-center gap-3"},Sy={class:"w-10 h-10 shrink-0 bg-linear-to-br from-(--ui-primary-soft) to-(--ui-accent-soft) rounded-full flex items-center justify-center shadow-sm overflow-hidden"},Ny=["src","alt"],$y={key:1,class:"ui-primary text-sm font-semibold"},Dy={class:"min-w-0"},zy={class:"text-sm font-semibold ui-text truncate"},Ty={class:"text-xs ui-text truncate"},Ay={key:0,class:"px-3 py-3 border-b ui-border-strong"},Fy={class:"flex items-center justify-between gap-3"},Ly={class:"flex items-center gap-2 min-w-0"},My={class:"text-sm font-medium ui-text truncate"},Iy={class:"py-2"},_y=["onClick"],Py={class:"flex items-center justify-center w-7 h-7 sm:w-8 sm:h-8 rounded-lg mr-2 sm:mr-3 shrink-0 transition-colors ml-1 sm:ml-2 ui-surface-muted ui-text group-hover:bg-(--ui-bg)"},Oy={class:"flex-1 truncate font-semibold ui-text text-xs sm:text-md"},jy={class:"border-t ui-border-strong py-2"},Ry={class:"flex items-center justify-center w-7 h-7 sm:w-8 sm:h-8 rounded-lg mr-1 sm:mr-1 shrink-0 transition-colors ml-1 sm:ml-2 ui-danger-soft ui-danger group-hover:bg-(--ui-danger-soft)"},Hy={__name:"Header",props:{sidebarWidth:{type:Number,default:256},currentSection:{type:String,default:"Dashboard"},currentPage:{type:String,default:"Overview"},currentRoute:{type:String,default:""},user:{type:Object,required:!0},notifications:{type:Array,default:()=>[]},profileMenuItems:{type:Array,required:!0},mobileOpen:{type:Boolean,default:!1},currentCompany:{type:Object,default:null},companyLogo:{type:String,default:"/logo.png"},currentCompanyLogo:{type:String,default:""},companyLogos:{type:Object,default:()=>({})},companies:{type:Array,default:()=>[]},activeRoles:{type:Array,default:()=>[]},showSearch:{type:Boolean,default:!0},showNotifications:{type:Boolean,default:!0},showBreadcrumb:{type:Boolean,default:!0},showCompanyInfo:{type:Boolean,default:!0},showHeaderLogo:{type:Boolean,default:!0},logoUrl:{type:String,default:"/applogo.png"},headerLogo:{type:String,default:"/logo.png"},companyLogoClass:{type:String,default:"h-16 sm:h-22 md:h-22"},searchPlaceholder:{type:String,default:"Search..."},notificationsTitle:{type:String,default:"Notifications"},companySwitcherTitle:{type:String,default:"Switch Company"},companySwitcherDescription:{type:String,default:"Select a company to view its data"},entityLabel:{type:String,default:"Company"},entityFieldMap:{type:Object,default:()=>({})},showSettings:{type:Boolean,default:!0},settingsLabel:{type:String,default:"Settings"},settingsRoute:{type:[String,Object],default:"/settings"},showThemeSwitcher:{type:Boolean,default:!0},themeSwitcherTitle:{type:String,default:"Appearance"},themeModes:{type:Array,default:()=>["light","dark"]},userInitialsOverride:{type:String,default:""},userRoleDisplayOverride:{type:String,default:""},userAvatarUrl:{type:String,default:""},userAvatarAlt:{type:String,default:""},showUserAvatar:{type:Boolean,default:!0},themeScope:{type:String,default:"default",validator:t=>["default","module"].includes(t)}},emits:["search","profile-action","logout","navigate","toggle-mobile-sidebar","company-change","notification-click","view-all-notifications","theme-change"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(""),l=e.ref(!1),s=e.ref(!1),c=e.ref(!1),i=e.ref(!1),u=e.ref("light"),f=e.ref("/logo.png"),d=e.ref(!1),k=e.computed(()=>a.notifications.filter(B=>!B.read).length),b=e.computed(()=>{const B=(Array.isArray(a.themeModes)?a.themeModes:[]).map(Z=>String(Z||"").toLowerCase()).filter(Z=>Z==="light"||Z==="dark");return B.length>0?[...new Set(B)]:["light","dark"]}),y=e.computed(()=>b.value.length>1),v=e.computed({get:()=>u.value==="dark",set:B=>{const Z=B?"dark":"light";b.value.includes(Z)&&he(Z)}}),g=e.computed(()=>a.userInitialsOverride?a.userInitialsOverride:(a.user?.name||"Guest").split(" ").map(Z=>Z[0]||"").join("").toUpperCase()),m=e.computed(()=>a.showUserAvatar&&a.userAvatarUrl||""),p=e.computed(()=>!!m.value&&!d.value),w=e.computed(()=>a.userAvatarAlt||`${a.user?.name||"User"} avatar`),N=()=>{d.value=!0},P=e.computed(()=>String(a.entityLabel||"Company").toLowerCase()),_=e.computed(()=>a.showCompanyInfo),H=e.computed(()=>a.companySwitcherTitle||`Switch ${a.entityLabel||"Company"}`),G=e.computed(()=>a.companySwitcherDescription||`Select a ${(a.entityLabel||"Company").toLowerCase()} to view its data`),K=e.computed(()=>({id:a.entityFieldMap?.id||"",name:a.entityFieldMap?.name||"",role:a.entityFieldMap?.role||"",type:a.entityFieldMap?.type||"",typeName:a.entityFieldMap?.typeName||""})),z=["company_id","companyId","id"],I=["company_name","companyName","name"],te=["company_role","companyRole","role"],j=["company_type","companyType","type"],U=["name","label","title","company_type_name","companyTypeName"],O=(B,Z,ae=[])=>{if(!B||typeof B!="object")return null;if(Z&&B[Z]!=null)return B[Z];for(const J of ae)if(B[J]!=null)return B[J];return null},S=B=>{if(!B||typeof B!="object")return"";const Z=O(B,K.value.type,j);if(typeof Z=="string")return Z;if(Z&&typeof Z=="object"){const J=O(Z,K.value.typeName,U);if(J!=null)return String(J)}const ae=O(B,K.value.typeName,U);return ae!=null?String(ae):""},E=B=>{if(!B||typeof B!="object")return null;const Z=O(B,K.value.id,z),ae=O(B,K.value.name,I),J=O(B,K.value.role,te);return{...B,__id:Z,__name:ae!=null?String(ae):"Unknown",__role:J!=null?String(J):"",__typeName:S(B),__raw:B}},D=e.computed(()=>a.currentCompany),$=e.computed(()=>Array.isArray(a.companies)?a.companies:[]),L=e.computed(()=>E(D.value)),C=e.computed(()=>$.value.map(E).filter(Boolean)),V=()=>{l.value=!l.value,s.value=!1},M=()=>{s.value=!s.value,l.value=!1,i.value=!1},T=()=>{i.value=!i.value,s.value=!1,l.value=!1},W=B=>{o("navigate",B),s.value=!1},Q=B=>B.route?!!(a.currentRoute===B.route||a.currentRoute.startsWith(B.route+"/")):!1,ee=()=>a.themeScope==="module"?"border-b ui-border-strong bg-[color:color-mix(in oklab, var(--module-soft, var(--ui-primary-soft)), transparent 10%)]":"border-b ui-border-strong bg-[color:color-mix(in oklab, var(--module-soft, var(--ui-primary-soft)), transparent 8%)]",ne=B=>B?a.themeScope==="module"?"shadow-sm border":"bg-linear-to-br from-(--ui-primary-soft) to-(--ui-primary-soft) ui-primary shadow-sm border border-(--ui-primary-soft)":"ui-text hover:bg-(--ui-surface-muted) hover:text-(--ui-text) border border-transparent",de=B=>!B||a.themeScope!=="module"?null:{backgroundColor:"var(--module-soft, var(--ui-primary-soft))",borderColor:"var(--module-border, var(--ui-border-strong))"},se=B=>!B||a.themeScope!=="module"?null:{background:"var(--module-primary, var(--ui-primary))"},ye=B=>B?a.themeScope==="module"?"shadow-md border":"bg-linear-to-br from-(--ui-primary) to-(--ui-primary) ui-text shadow-md":"ui-surface-muted ui-text group-hover:bg-(--ui-bg)",Ie=B=>!B||a.themeScope!=="module"?null:{backgroundColor:"var(--module-primary, var(--ui-primary))",color:"var(--ui-text-inverse, #fff)",borderColor:"var(--module-border, var(--ui-border-strong))"},st=B=>B?a.themeScope==="module"?"font-semibold":"ui-primary":"ui-text",Xe=B=>!B||a.themeScope!=="module"?null:{color:"var(--module-text, var(--ui-primary))"},Je=B=>B?a.themeScope==="module"?"border shadow-sm font-semibold":"bg-[color:color-mix(in oklab, var(--ui-primary-soft), transparent 25%)] ui-primary border-(--ui-primary-soft)":"ui-text border-transparent hover:bg-(--ui-surface-muted)",it=B=>!B||a.themeScope!=="module"?null:{backgroundColor:"var(--module-soft, var(--ui-primary-soft))",borderColor:"var(--module-border, var(--ui-border-strong))",color:"var(--module-text, var(--ui-primary))"},ct=B=>!B||a.themeScope!=="module"?null:{color:"var(--module-primary, var(--ui-primary))"},h=B=>{o("profile-action",B),s.value=!1},Y=()=>{o("logout"),s.value=!1},ie=B=>{const Z=B?.__raw||B;o("company-change",Z),i.value=!1},oe=B=>{o("notification-click",B)},x=()=>{o("view-all-notifications"),l.value=!1},ce=B=>{!B.target.closest(".absolute")&&!B.target.closest("button")&&(l.value=!1,s.value=!1,i.value=!1)},he=B=>{b.value.includes(B)&&(u.value=B,qa(B),o("theme-change",B))},pe=()=>{c.value=window.innerWidth<768},le=B=>{if(B.title.includes("Overdue"))return"ui-danger-soft ui-danger";if(B.title.includes("Due in 0"))return"ui-warning-soft ui-warning";const Z={due_date_reminder:"ui-warning-soft ui-warning",info:"ui-primary-soft ui-primary",success:"ui-success-soft ui-success",warning:"ui-warning-soft ui-warning",error:"ui-danger-soft ui-danger"};return Z[B.type]||Z.info},Qe=B=>{if(!B)return"";const Z=B.split("\\");return Z[Z.length-1].replace(/([A-Z])/g," $1").trim().split(" ").map(J=>J.charAt(0).toUpperCase()+J.slice(1).toLowerCase()).join(" ")},Bt=B=>{if(!B)return"";const Z=new Date(B),ae=new Date;ae.setHours(0,0,0,0);const J=new Date(Z);J.setHours(0,0,0,0);const me=J-ae,ge=Math.ceil(me/(1e3*60*60*24));return ge===0?"Due Today":ge===1?"Due Tomorrow":ge<0?`${Math.abs(ge)} days overdue`:ge<=7?`Due in ${ge} days`:Z.toLocaleDateString("en-KE",{month:"short",day:"numeric",year:Z.getFullYear()!==ae.getFullYear()?"numeric":void 0})},ut=B=>{const Z=B?.__id??O(B,K.value.id,z);return Z==null?null:a.companyLogos[Z]||null},He=e.computed(()=>{if(a.currentCompanyLogo)return a.currentCompanyLogo;const B=ut(L.value);return B||(a.companyLogo?a.companyLogo:"/logo.png")}),F=B=>{const Z="/logo.png",ae=B||Z;if(ae===Z||typeof Image>"u"){f.value=Z;return}const J=new Image;J.onload=()=>{f.value=ae},J.onerror=()=>{f.value=Z},J.src=ae};return e.onMounted(()=>{document.addEventListener("click",ce),pe(),window.addEventListener("resize",pe);const B=Xt()||b.value[0]||"light";u.value=b.value.includes(B)?B:b.value[0],F(He.value)}),e.onUnmounted(()=>{document.removeEventListener("click",ce),window.removeEventListener("resize",pe)}),e.watch(r,B=>o("search",B)),e.watch(He,B=>{F(B)}),e.watch(m,()=>{d.value=!1}),(B,Z)=>{const ae=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(A)("fixed top-0 z-50 w-full backdrop-blur-md transition-all duration-300 ease-out",a.themeScope==="module"&&"kv-module-header",ee())),style:{left:"0"}},[e.createElementVNode("div",Nh,[e.createElementVNode("div",$h,[c.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"p-2 ui-text rounded-lg hover:bg-(--ui-surface-muted) transition-colors shrink-0",onClick:Z[0]||(Z[0]=J=>o("toggle-mobile-sidebar"))},[e.createVNode(R,{icon:"bars",class:"w-5 h-5"})])):e.createCommentVNode("",!0),He.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(A)("shrink-0 overflow-hidden rounded-2xl flex items-center justify-center",a.companyLogoClass))},[e.createElementVNode("img",{src:f.value,alt:"Company logo",class:"max-w-full max-h-full w-auto h-auto object-contain object-center"},null,8,Dh)],2)):e.createCommentVNode("",!0),He.value&&_.value&&L.value?(e.openBlock(),e.createElementBlock("div",zh)):e.createCommentVNode("",!0),_.value&&L.value?(e.openBlock(),e.createElementBlock("div",Th,[C.value.length>1?(e.openBlock(),e.createElementBlock("button",{key:0,class:"flex items-center gap-2 sm:gap-3 w-44 sm:w-60 cursor-pointer rounded-lg px-1.5 py-1 transition-all group",onClick:T},[e.createElementVNode("div",Ah,[e.createVNode(R,{icon:"building",class:"w-4 h-4 ui-primary"})]),e.createElementVNode("div",Fh,[e.createElementVNode("p",Lh,e.toDisplayString(L.value.__name),1)]),e.createVNode(R,{icon:"chevron-down",class:e.normalizeClass(["w-3.5 h-3.5 ui-text-soft shrink-0 group-hover:text-(--ui-primary) transition-transform",{"rotate-180":i.value}])},null,8,["class"])])):(e.openBlock(),e.createElementBlock("div",Mh,[e.createElementVNode("p",Ih,e.toDisplayString(L.value.__name),1)])),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-out","leave-active-class":"transition-all duration-200 ease-in","enter-from-class":"opacity-0 translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 translate-y-2 scale-95"},{default:e.withCtx(()=>[i.value?(e.openBlock(),e.createElementBlock("div",_h,[e.createElementVNode("div",Ph,[e.createElementVNode("h3",Oh,[e.createVNode(R,{icon:"list",class:"w-4 h-4 ui-primary"}),e.createTextVNode(" "+e.toDisplayString(H.value),1)]),e.createElementVNode("p",jh,e.toDisplayString(G.value),1)]),e.createElementVNode("div",Rh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,J=>(e.openBlock(),e.createElementBlock("button",{key:J.__id||J.__name,class:e.normalizeClass(e.unref(A)("mx-2 flex items-center w-[calc(100%-1rem)] rounded-xl px-3 sm:px-4 py-2.5 text-sm transition-all group border",Je(J.__id===L.value?.__id))),style:e.normalizeStyle(it(J.__id===L.value?.__id)),onClick:me=>ie(J)},[ut(J)?(e.openBlock(),e.createElementBlock("div",Uh,[e.createElementVNode("img",{src:ut(J),alt:`${J.__name} ${P.value} logo`,class:"w-7 h-7 sm:w-8 sm:h-8 object-contain rounded-lg ui-surface p-0.5 sm:p-1 border ui-border-strong group-hover:border-(--ui-primary-soft) transition-colors",onError:Z[1]||(Z[1]=me=>{me.target.src="/logo.png"})},null,40,Wh)])):(e.openBlock(),e.createElementBlock("div",Yh,[e.createVNode(R,{icon:"building",class:"w-3.5 h-3.5 sm:w-4 sm:h-4 ui-text"})])),e.createElementVNode("div",qh,[e.createElementVNode("p",Gh,e.toDisplayString(J.__name),1)]),J.__id===L.value?.__id?(e.openBlock(),e.createBlock(R,{key:2,icon:"check-circle",class:"w-4 h-4 sm:w-5 sm:h-5 ui-primary shrink-0 ml-2",style:e.normalizeStyle(ct(J.__id===L.value?.__id))},null,8,["style"])):e.createCommentVNode("",!0)],14,Hh))),128))])])):e.createCommentVNode("",!0)]),_:1})])):e.createCommentVNode("",!0)]),t.showHeaderLogo&&(t.logoUrl||t.headerLogo)?(e.openBlock(),e.createElementBlock("div",Kh,[e.createElementVNode("img",{src:t.logoUrl||t.headerLogo,alt:"App logo",class:"h-16 sm:h-32 md:h-32 mt-4 w-auto object-contain",onError:Z[2]||(Z[2]=J=>{J.target.src="/applogo.png"})},null,40,Xh)])):e.createCommentVNode("",!0),e.createElementVNode("div",Jh,[t.showNotifications?(e.openBlock(),e.createElementBlock("button",{key:0,class:"relative p-2 ui-text rounded-xl hover:bg-(--ui-surface-muted) transition-colors",onClick:V},[e.createVNode(R,{icon:"bell",class:"w-5 h-5"}),k.value>0?(e.openBlock(),e.createElementBlock("span",Qh,e.toDisplayString(k.value>9?"9+":k.value),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 translate-y-2 scale-95"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",Zh,[e.createElementVNode("div",ey,[e.createElementVNode("h3",ty,e.toDisplayString(t.notificationsTitle),1),k.value>0?(e.openBlock(),e.createElementBlock("p",ay," You have "+e.toDisplayString(k.value)+" unread notification"+e.toDisplayString(k.value>1?"s":""),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ny,[t.notifications.length===0?(e.openBlock(),e.createElementBlock("div",oy,[e.createVNode(R,{icon:"bell",class:"w-10 h-10 sm:w-12 sm:h-12 mx-auto ui-text mb-2"}),Z[5]||(Z[5]=e.createElementVNode("p",{class:"text-md ui-text"}," No notifications ",-1))])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.notifications,J=>(e.openBlock(),e.createElementBlock("div",{key:J.id,class:e.normalizeClass(["p-3 sm:p-4 border-b ui-border-strong hover:bg-(--ui-surface-muted) cursor-pointer transition-colors",J.read?"opacity-60":""]),onClick:me=>oe(J)},[e.createElementVNode("div",ly,[e.createElementVNode("div",{class:e.normalizeClass(["shrink-0 w-8 h-8 sm:w-9 sm:h-9 rounded-lg flex items-center justify-center",le(J)])},[J.title.includes("Overdue")?(e.openBlock(),e.createBlock(R,{key:0,icon:"exclamation-triangle",class:"w-4 h-4 sm:w-5 sm:h-5"})):J.type==="due_date_reminder"?(e.openBlock(),e.createBlock(R,{key:1,icon:"clock",class:"w-4 h-4 sm:w-5 sm:h-5"})):(e.openBlock(),e.createBlock(R,{key:2,icon:"bell",class:"w-4 h-4 sm:w-5 sm:h-5"}))],2),e.createElementVNode("div",sy,[e.createElementVNode("div",iy,[e.createElementVNode("p",cy,e.toDisplayString(J.title),1),J.read?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",uy))]),J.source?(e.openBlock(),e.createElementBlock("div",dy,[e.createElementVNode("span",my,[e.createVNode(R,{icon:"tag",class:"w-2.5 h-2.5 sm:w-3 sm:h-3 mr-0.5 sm:mr-1"}),e.createTextVNode(" "+e.toDisplayString(J.source.body_code),1)]),e.createVNode(R,{icon:"chevron-right",class:"w-2.5 h-2.5 sm:w-3 sm:h-3 ui-text hidden xs:block"}),e.createElementVNode("span",fy,e.toDisplayString(J.source.code),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",py,[J.model?(e.openBlock(),e.createElementBlock("span",gy,[e.createVNode(R,{icon:"file",class:"w-2.5 h-2.5 sm:w-3 sm:h-3 mr-0.5 sm:mr-1"}),e.createElementVNode("span",vy,e.toDisplayString(Qe(J.model)),1)])):e.createCommentVNode("",!0),J.due_date?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["inline-flex items-center px-1.5 sm:px-2 py-0.5 rounded text-[10px] sm:text-xs font-medium whitespace-nowrap",J.title.includes("Overdue")?"ui-danger-soft ui-danger border border-(--ui-danger-soft)":(J.title.includes("Due in 0"),"ui-warning-soft ui-warning border border-(--ui-warning-soft)")])},[e.createVNode(R,{icon:"calendar",class:"w-2.5 h-2.5 sm:w-3 sm:h-3 mr-0.5 sm:mr-1 shrink-0"}),e.createTextVNode(" "+e.toDisplayString(Bt(J.due_date)),1)],2)):e.createCommentVNode("",!0)]),e.createElementVNode("p",hy,[e.createVNode(R,{icon:"clock",class:"w-2.5 h-2.5 sm:w-3 sm:h-3 mr-0.5 sm:mr-1"}),e.createTextVNode(" "+e.toDisplayString(J.time),1)])])])],10,ry))),128))]),t.notifications.length>0?(e.openBlock(),e.createElementBlock("div",yy,[e.createElementVNode("button",{class:"text-sm font-semibold ui-primary hover:text-(--ui-primary-strong) transition-colors",onClick:x}," View all notifications → ")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),_:1}),t.showSearch?(e.openBlock(),e.createElementBlock("div",by,[e.createVNode(Xa,{modelValue:r.value,"onUpdate:modelValue":Z[3]||(Z[3]=J=>r.value=J),placeholder:t.searchPlaceholder,size:"sm","show-no-results":!1,"min-length":0,debounce:200,results:[]},null,8,["modelValue","placeholder"])])):e.createCommentVNode("",!0),e.createElementVNode("div",xy,[e.createElementVNode("button",{class:"shrink-0 rounded-full transition-transform hover:scale-105 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--ui-primary)","aria-label":`${t.user.name} profile menu`,onClick:M},[e.createElementVNode("div",wy,[p.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:m.value,alt:w.value,class:"w-full h-full object-cover",onError:N},null,40,Cy)):(e.openBlock(),e.createElementBlock("span",By,e.toDisplayString(g.value),1))])],8,ky),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-out","leave-active-class":"transition-all duration-200 ease-in","enter-from-class":"opacity-0 translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 translate-y-2 scale-95"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",Vy,[e.createElementVNode("div",Ey,[e.createElementVNode("div",Sy,[p.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:m.value,alt:w.value,class:"w-full h-full object-cover",onError:N},null,40,Ny)):(e.openBlock(),e.createElementBlock("span",$y,e.toDisplayString(g.value),1))]),e.createElementVNode("div",Dy,[e.createElementVNode("p",zy,e.toDisplayString(t.user.name),1),e.createElementVNode("p",Ty,e.toDisplayString(t.user.email),1)])]),t.showThemeSwitcher?(e.openBlock(),e.createElementBlock("div",Ay,[e.createElementVNode("div",Fy,[e.createElementVNode("div",Ly,[e.createVNode(R,{icon:u.value==="dark"?"moon":"sun",class:e.normalizeClass(["w-4 h-4 shrink-0",u.value==="dark"?"ui-primary":"ui-text"])},null,8,["icon","class"]),e.createElementVNode("span",My,e.toDisplayString(t.themeSwitcherTitle),1)]),e.createVNode(ja,{modelValue:v.value,"onUpdate:modelValue":Z[4]||(Z[4]=J=>v.value=J),size:"md",disabled:!y.value},null,8,["modelValue","disabled"])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Iy,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.profileMenuItems,J=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:J.name},[J.route?(e.openBlock(),e.createBlock(ae,{key:0,to:J.route,class:e.normalizeClass(e.unref(A)("flex items-center px-2.5 sm:px-3 py-2 sm:py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",ne(Q(J)))),style:e.normalizeStyle(de(Q(J))),onClick:me=>W(J)},{default:e.withCtx(()=>[Q(J)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-6 sm:h-8 bg-linear-to-b from-(--ui-primary) to-(--ui-primary) rounded-r-full",style:e.normalizeStyle(se(Q(J)))},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(A)("flex items-center justify-center w-7 h-7 sm:w-8 sm:h-8 rounded-lg mr-2 sm:mr-3 shrink-0 transition-colors ml-1 sm:ml-2",ye(Q(J)))),style:e.normalizeStyle(Ie(Q(J)))},[J.icon?(e.openBlock(),e.createBlock(R,{key:0,icon:J.icon,class:"w-3.5 h-3.5 sm:w-4 sm:h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],6),e.createElementVNode("span",{class:e.normalizeClass(e.unref(A)("flex-1 truncate font-semibold text-xs sm:text-md",st(Q(J)))),style:e.normalizeStyle(Xe(Q(J)))},e.toDisplayString(J.label),7)]),_:2},1032,["to","class","style","onClick"])):(e.openBlock(),e.createElementBlock("button",{key:1,class:"flex items-center w-full px-2.5 sm:px-3 py-2 sm:py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative ui-text hover:bg-(--ui-surface-muted) hover:text-(--ui-text) border border-transparent",onClick:me=>h(J)},[e.createElementVNode("div",Py,[J.icon?(e.openBlock(),e.createBlock(R,{key:0,icon:J.icon,class:"w-3.5 h-3.5 sm:w-4 sm:h-4"},null,8,["icon"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",Oy,e.toDisplayString(J.label),1)],8,_y))],64))),128))]),e.createElementVNode("div",jy,[e.createElementVNode("button",{class:"flex items-center w-full px-2.5 sm:px-3 py-2 sm:py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative ui-danger hover:bg-(--ui-danger-soft) border border-transparent",onClick:Y},[e.createElementVNode("div",Ry,[e.createVNode(R,{icon:"sign-out-alt",class:"w-3.5 h-3.5 sm:w-4 sm:h-4"})]),Z[6]||(Z[6]=e.createElementVNode("span",{class:"truncate font-semibold ui-danger text-xs sm:text-md"}," Sign out ",-1))])])])):e.createCommentVNode("",!0)]),_:1})])])])],2)}}},Hr=Ne(Hy,[["__scopeId","data-v-3e4b26b8"]]),Uy={class:"w-full p-2"},Wy={key:0,class:"mb-6"},Yy={class:"text-xl font-semibold ui-text"},qy={key:0,class:"mt-1 text-sm ui-text-muted"},Gy={key:0,class:"mb-4"},Ky={key:0,class:"text-base font-semibold ui-text"},Xy={key:1,class:"mt-1 text-sm ui-text-muted"},Jy=["value"],Qy=["title","aria-label","disabled","onClick"],Zy={key:2,class:"flex w-full items-center gap-2"},eb={class:"min-w-0 flex-1"},tb={key:3,class:"flex w-full items-center gap-2"},ab={class:"min-w-0 flex-1"},nb={key:5,class:"flex items-center"},ob={key:6,class:"flex items-center"},rb=["id","aria-checked","disabled","onClick"],lb={key:7,class:"space-y-2"},sb={key:11,class:"space-y-2"},ib={class:"flex items-center gap-4"},cb={class:"min-w-12 text-right text-sm font-medium ui-text"},ub={key:0,class:"flex justify-end gap-3 pt-6"},db={key:0,class:"hidden"},mb={__name:"ReusableForm",props:{title:{type:String,default:""},description:{type:String,default:""},entityName:{type:String,default:"Item"},fields:{type:Array,required:!0,validator:t=>Array.isArray(t)&&t.every(n=>n?.name&&n?.label&&n?.type)},sections:{type:Array,default:()=>[]},initialData:{type:Object,default:null},loading:{type:Boolean,default:!1},customValidation:{type:Function,default:null},crossValidate:{type:Function,default:null},submitLabel:{type:String,default:"Submit"},showReset:{type:Boolean,default:!0},showCancel:{type:Boolean,default:!0},showSubmit:{type:Boolean,default:!0},formType:{type:String,default:"create",validator:t=>["create","edit"].includes(t)}},emits:["submit","reset","cancel","form-change"],setup(t,{emit:n}){const a=t,o=n,r=e.useSlots(),l=e.computed(()=>a.loading),s=e.ref({}),c=e.ref({}),i=e.ref({}),u=e.ref({}),f=e.ref(!1),d=e.computed(()=>Array.isArray(a.sections)&&a.sections.length>0),k=e.computed(()=>!!r.actions),b=e.computed(()=>d.value?a.sections.map((h,Y)=>{const ie=h?.id||`section-${Y+1}`,oe=Array.isArray(h?.fields)?h.fields:(a.fields||[]).filter(x=>x.sectionId===ie);return{id:ie,title:h?.title||"",description:h?.description||"",icon:h?.icon||"",wrapperClass:h?.wrapperClass||"",gridClass:h?.gridClass||"grid grid-cols-12 gap-4",card:h?.card!==!1,fields:oe}}):[{id:"default",title:"",description:"",icon:"",wrapperClass:"",gridClass:"grid grid-cols-12 gap-4",card:!1,fields:a.fields||[]}]),y=e.computed(()=>b.value.flatMap(h=>h.fields||[])),v=e.computed(()=>Object.keys(c.value).length===0),g=h=>{try{return JSON.stringify(h??{})}catch{return""}},m=(h,Y)=>{if(!(!h||!Y))return Y.split(".").reduce((ie,oe)=>ie?.[oe],h)},p=(h,Y,ie)=>{const oe=Y.split("."),x=oe.pop(),ce=oe.reduce((he,pe)=>((!he[pe]||typeof he[pe]!="object")&&(he[pe]={}),he[pe]),h);ce[x]=ie},w=h=>h.type==="checkbox"||h.type==="switch"?!1:h.type==="number"||h.type==="slider"||h.type==="range"?h.min??0:h.type==="file"?null:h.type==="multifile"||h.type==="multiselect"?[]:h.type==="radio"&&h.options?.[0]?.value||"",N=()=>{const h={};return y.value.forEach(Y=>{Y.name.includes(".")?p(h,Y.name,w(Y)):h[Y.name]=w(Y)}),h},P=h=>{const Y={};return y.value.forEach(ie=>{const oe=ie.name.includes(".")?m(h,ie.name):h?.[ie.name],x=w(ie),ce=oe===void 0?x:oe;if(ie.name.includes(".")){p(Y,ie.name,ce);return}ie.type==="file"?Y[ie.name]=null:ie.type==="multifile"||ie.type==="multiselect"?Y[ie.name]=Array.isArray(ce)?ce:[]:Y[ie.name]=ce}),Y};e.watch(()=>a.initialData,h=>{const Y=h?P(h):N();g(Y)!==g(s.value)&&(f.value=!0,s.value=Y,queueMicrotask(()=>{f.value=!1}))},{immediate:!0}),e.watch(s,h=>{f.value||o("form-change",h)},{deep:!0});const _=h=>h.includes(".")?m(s.value,h):s.value[h],H=h=>{const Y=c.value?.[h];return Y||(h.includes(".")?m(c.value,h):void 0)},G=(h,Y)=>{h.includes(".")?p(s.value,h,Y):s.value[h]=Y},K=h=>h?.type==="password",z=h=>!!i.value[h.name],I=h=>K(h)?z(h)?"text":"password":h.type,te=h=>{h?.name&&(i.value={...i.value,[h.name]:!i.value[h.name]})},j=()=>{if(c.value={},y.value.forEach(h=>{const Y=_(h.name);if(h.required&&!h.disabled&&h.type!=="hidden"&&(h.type==="checkbox"||h.type==="switch"?Y||(c.value[h.name]=h.errorMessage||`${h.label} is required`):h.type==="multiselect"||h.type==="multifile"?(!Array.isArray(Y)||Y.length===0)&&(c.value[h.name]=h.errorMessage||`${h.label} is required`):h.type==="number"||h.type==="slider"||h.type==="range"?Y===""||Y===null||Y===void 0?c.value[h.name]=h.errorMessage||`${h.label} is required`:h.min!==void 0&&Number(Y)<h.min?c.value[h.name]=`${h.label} must be at least ${h.min}`:h.max!==void 0&&Number(Y)>h.max&&(c.value[h.name]=`${h.label} must be at most ${h.max}`):h.type==="email"?!Y||!String(Y).trim()?c.value[h.name]=h.errorMessage||`${h.label} is required`:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(Y))||(c.value[h.name]="Please enter a valid email address"):h.type==="url"?!Y||!String(Y).trim()?c.value[h.name]=h.errorMessage||`${h.label} is required`:/^https?:\/\/.+/.test(String(Y))||(c.value[h.name]="Please enter a valid URL"):(Y==null||typeof Y=="string"&&!Y.trim())&&(c.value[h.name]=h.errorMessage||`${h.label} is required`)),typeof h.validate=="function"){const ie=h.validate(Y,s.value);ie&&(c.value[h.name]=ie)}}),typeof a.customValidation=="function"){const h=a.customValidation(s.value);h&&typeof h=="object"&&(c.value={...c.value,...h})}if(typeof a.crossValidate=="function"){const h=a.crossValidate(s.value);h&&typeof h=="object"&&(c.value={...c.value,...h})}return Object.keys(c.value).length===0},U=(h,Y,ie=void 0)=>typeof h=="function"?h(s.value,Y):h===void 0?ie:h,O=h=>!!h?.actionButton&&h.actionButton.show!==!1,S=h=>{if(!h?.actionButton)return!0;const Y=typeof h.actionButton.disabled=="function"?h.actionButton.disabled(s.value,h):h.actionButton.disabled;return!!(l.value||h.disabled||Y)},E=h=>h?.actionButton?typeof h.actionButton.loading=="function"?h.actionButton.loading(s.value,h):!!h.actionButton.loading:!1,D=h=>{typeof h?.actionButton?.onClick=="function"&&h.actionButton.onClick(s.value,h)},$=h=>K(h)||!!U(h.trailingIcon,h,null),L=h=>K(h)?z(h)?"eye-slash":"eye":U(h.trailingIcon,h,null),C=h=>K(h)?z(h)?"Hide password":"Show password":U(h.trailingIconTitle,h,"Action"),V=h=>K(h)?z(h)?"Hide password":"Show password":U(h.trailingIconAriaLabel,h,C(h)),M=h=>U(h.trailingIconClass,h,"w-4 h-4"),T=h=>!!(l.value||h.disabled||U(h.trailingIconDisabled,h,!1)),W=h=>{if(!T(h)){if(K(h)){te(h);return}typeof h?.onTrailingIconClick=="function"&&h.onTrailingIconClick(s.value,h)}},Q=async(h,Y)=>{if(G(h.name,Y),typeof h?.onChange=="function")try{await h.onChange(Y,s.value)}catch{_e.error("An error occurred while processing the change")}},ee=(h,Y)=>{if(G(h.name,Y),typeof h?.onChange=="function")try{h.onChange(Y,s.value)}catch{_e.error("An error occurred while processing the change")}},ne=(h,Y)=>{G(h.name,Y),typeof h?.onChange=="function"&&h.onChange(Y,s.value)},de=(h,Y)=>{G(h.name,Y),typeof h?.onChange=="function"&&h.onChange(Y,s.value)},se=(h,Y)=>{G(h.name,Y),typeof h?.onChange=="function"&&h.onChange(Y,s.value)},ye=(h,Y)=>{G(h.name,Y),typeof h?.onChange=="function"&&h.onChange(Y,s.value)},Ie=h=>{const Y=new FormData;return Object.keys(h).forEach(ie=>{const oe=h[ie];oe!=null&&(oe instanceof File?Y.append(ie,oe):Array.isArray(oe)?oe.forEach((x,ce)=>{x instanceof File?Y.append(`${ie}[]`,x):Y.append(`${ie}[${ce}]`,x)}):typeof oe=="object"&&!(oe instanceof Date)?Object.keys(oe).forEach(x=>{Y.append(`${ie}[${x}]`,oe[x])}):Y.append(ie,oe))}),Y},st=()=>{const h={};let Y=!1;y.value.forEach(oe=>{const x=_(oe.name);if(oe.type==="number"||oe.type==="slider"||oe.type==="range"){const he=x===""||x===null||x===void 0?x:Number(x);oe.name.includes(".")?p(h,oe.name,he):h[oe.name]=he;return}if(oe.type==="file"){x instanceof File?(Y=!0,h[oe.name]=x):a.formType==="edit"&&x&&(h[oe.name]=x);return}if(oe.type==="multifile"){Array.isArray(x)&&x.some(he=>he instanceof File)?(Y=!0,h[oe.name]=x):a.formType==="edit"&&Array.isArray(x)&&x.length>0&&(h[oe.name]=x);return}const ce=["text","textarea","date","email","url","tel","search","time","datetime-local","month","week"].includes(oe.type)&&typeof x=="string"?x.trim():x;oe.name.includes(".")?p(h,oe.name,ce):h[oe.name]=ce});let ie=h;return Y&&(ie=Ie(h),a.formType==="edit"&&ie.append("_method","PUT")),{formData:ie,hasFiles:Y}},Xe=async()=>{if(y.value.some(ie=>ie.type!=="multifile"&&(u.value[ie.name]||[]).length>0))return _e.error("Please wait for all files to finish uploading"),!1;if(!j())return _e.error("Please fix the validation errors before submitting"),!1;const Y=st();return o("submit",{formData:Y.formData,formType:a.formType,originalData:a.initialData,hasFiles:Y.hasFiles}),!0},Je=async()=>{try{await Xe()}catch{_e.error("An error occurred during submission")}},it=()=>{s.value=N(),c.value={},u.value={},o("reset")},ct=()=>o("cancel");return(h,Y)=>{const ie=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",Uy,[t.title?(e.openBlock(),e.createElementBlock("div",Wy,[e.createElementVNode("h2",Yy,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("p",qy,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("form",{class:"space-y-6",onSubmit:e.withModifiers(Je,["prevent"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,oe=>(e.openBlock(),e.createElementBlock("div",{key:oe.id,class:e.normalizeClass(oe.wrapperClass||"")},[e.createElementVNode("div",{class:e.normalizeClass(oe.card?"ui-surface border ui-border-strong rounded-xl p-4 sm:p-5":"")},[e.renderSlot(h.$slots,"section-header",{section:oe},()=>[oe.title||oe.description?(e.openBlock(),e.createElementBlock("div",Gy,[oe.title?(e.openBlock(),e.createElementBlock("h3",Ky,e.toDisplayString(oe.title),1)):e.createCommentVNode("",!0),oe.description?(e.openBlock(),e.createElementBlock("p",Xy,e.toDisplayString(oe.description),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],!0),e.createElementVNode("div",{class:e.normalizeClass(oe.gridClass)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(oe.fields,x=>(e.openBlock(),e.createElementBlock("div",{key:x.name,class:e.normalizeClass(x.wrapperClass||"col-span-12")},[x.type==="hidden"?(e.openBlock(),e.createElementBlock("input",{key:0,value:_(x.name),type:"hidden"},null,8,Jy)):(e.openBlock(),e.createBlock(Ga,{key:1,id:`form-${t.entityName}-${x.name}`,label:x.label,required:!!x.required,error:H(x.name),"error-message":H(x.name),"help-text":x.helpText,class:e.normalizeClass(x.labelClass||"")},{default:e.withCtx(({fieldId:ce,hasError:he,ariaDescribedBy:pe})=>[e.renderSlot(h.$slots,`field-${x.name}`,{field:x,formData:s.value,error:H(x.name),update:le=>G(x.name,le)},()=>[["text","number","password","color","email","tel","url","search"].includes(x.type)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["relative",$(x)?"has-trailing-icon":""])},[e.createVNode(ze,{id:ce,"model-value":_(x.name),type:I(x),placeholder:x.placeholder,disabled:l.value||x.disabled,readonly:x.readonly||x.disabled,class:e.normalizeClass([he?"border-(--ui-danger)":"ui-border-strong",x.inputClass||""]),"aria-describedby":pe,"onUpdate:modelValue":le=>G(x.name,le)},null,8,["id","model-value","type","placeholder","disabled","readonly","class","aria-describedby","onUpdate:modelValue"]),$(x)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(["absolute right-3 top-1/2 -translate-y-1/2 ui-text hover:text-(--ui-text) transition-colors",T(x)?"opacity-50 cursor-not-allowed":""]),title:C(x),"aria-label":V(x),disabled:T(x),onClick:le=>W(x)},[e.createVNode(ie,{icon:L(x),class:e.normalizeClass(M(x))},null,8,["icon","class"])],10,Qy)):e.createCommentVNode("",!0)],2)):x.type==="textarea"?(e.openBlock(),e.createBlock(Ra,{key:1,id:ce,"model-value":_(x.name),placeholder:x.placeholder,disabled:l.value||x.disabled,readonly:x.readonly||x.disabled,rows:x.rows||3,class:e.normalizeClass(["w-full rounded-md border px-3 py-2 focus:outline-none focus:ring-2 focus:ring-(--ui-primary)",he?"border-(--ui-danger)":"ui-border-strong",x.inputClass||""]),"aria-describedby":pe,"onUpdate:modelValue":le=>G(x.name,le)},null,8,["id","model-value","placeholder","disabled","readonly","rows","class","aria-describedby","onUpdate:modelValue"])):x.type==="select"?(e.openBlock(),e.createElementBlock("div",Zy,[e.createElementVNode("div",eb,[e.createVNode(Le,{id:ce,"model-value":_(x.name),options:x.options,placeholder:x.placeholder||"Select an option",disabled:l.value||x.disabled,"has-error":he,"aria-describedby":pe,"onUpdate:modelValue":le=>Q(x,le)},null,8,["id","model-value","options","placeholder","disabled","has-error","aria-describedby","onUpdate:modelValue"])]),O(x)?(e.openBlock(),e.createBlock(be,{key:0,type:"button",variant:x.actionButton.variant||"outline",size:x.actionButton.size||"icon",class:e.normalizeClass(x.actionButton.class||""),title:x.actionButton.title||x.actionButton.label||"Action",disabled:S(x),loading:E(x),onClick:le=>D(x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.actionButton.label||"+"),1)]),_:2},1032,["variant","size","class","title","disabled","loading","onClick"])):e.createCommentVNode("",!0)])):x.type==="multiselect"?(e.openBlock(),e.createElementBlock("div",tb,[e.createElementVNode("div",ab,[e.createVNode(Ka,{id:ce,"model-value":_(x.name),options:x.options,disabled:l.value||x.disabled,placeholder:x.placeholder||"Select options","has-error":he,"aria-describedby":pe,"onUpdate:modelValue":le=>G(x.name,le)},null,8,["id","model-value","options","disabled","placeholder","has-error","aria-describedby","onUpdate:modelValue"])]),O(x)?(e.openBlock(),e.createBlock(be,{key:0,type:"button",variant:x.actionButton.variant||"outline",size:x.actionButton.size||"icon",class:e.normalizeClass(x.actionButton.class||""),title:x.actionButton.title||x.actionButton.label||"Action",disabled:S(x),loading:E(x),onClick:le=>D(x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.actionButton.label||"+"),1)]),_:2},1032,["variant","size","class","title","disabled","loading","onClick"])):e.createCommentVNode("",!0)])):x.type==="combobox"?(e.openBlock(),e.createBlock(Le,{key:4,id:ce,"model-value":_(x.name),options:x.options,placeholder:x.placeholder||"Select or type to add new",disabled:l.value||x.disabled,"has-error":he,"aria-describedby":pe,"allow-create":x.allowCreate,"onUpdate:modelValue":le=>Q(x,le)},null,8,["id","model-value","options","placeholder","disabled","has-error","aria-describedby","allow-create","onUpdate:modelValue"])):x.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",nb,[e.createVNode(ze,{id:ce,"model-value":_(x.name),type:"checkbox",disabled:l.value||x.disabled,class:"h-4 w-4 rounded ui-border-strong","aria-describedby":pe,"onUpdate:modelValue":le=>G(x.name,le)},null,8,["id","model-value","disabled","aria-describedby","onUpdate:modelValue"]),e.createVNode(nt,{for:ce,class:"ml-2 text-sm ui-text"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.checkboxLabel||x.label),1)]),_:2},1032,["for"])])):x.type==="switch"?(e.openBlock(),e.createElementBlock("div",ob,[e.createElementVNode("button",{id:ce,type:"button",role:"switch","aria-checked":_(x.name),disabled:l.value||x.disabled,class:e.normalizeClass(["relative inline-flex h-6 w-11 items-center rounded-full border-2 transition-colors focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:ring-offset-2",_(x.name)?"ui-primary-bg border-(--ui-primary)":"ui-surface-soft border-(--ui-border-strong)",l.value||x.disabled?"cursor-not-allowed opacity-50":"cursor-pointer"]),onClick:le=>G(x.name,!_(x.name))},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block h-4 w-4 transform rounded-full ui-surface border ui-border-strong transition-transform",_(x.name)?"translate-x-6":"translate-x-1"])},null,2)],10,rb),e.createVNode(nt,{for:ce,class:"ml-3 text-sm ui-text"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.checkboxLabel||x.label),1)]),_:2},1032,["for"])])):x.type==="radio"?(e.openBlock(),e.createElementBlock("div",lb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.options,le=>(e.openBlock(),e.createElementBlock("div",{key:le.value,class:"flex items-center"},[e.createVNode(ze,{id:`${ce}-${le.value}`,"model-value":_(x.name),type:"radio",value:le.value,disabled:l.value||x.disabled,class:"h-4 w-4 ui-border-strong","aria-describedby":pe,"onUpdate:modelValue":Qe=>G(x.name,Qe)},null,8,["id","model-value","value","disabled","aria-describedby","onUpdate:modelValue"]),e.createVNode(nt,{for:`${ce}-${le.value}`,class:"ml-2 text-sm ui-text"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(le.label),1)]),_:2},1032,["for"])]))),128))])):x.type==="file"?(e.openBlock(),e.createBlock(Pt,{key:8,multiple:!1,accept:x.accept,"max-size":x.maxSize,variant:x.variant||"default",onFilesSelected:le=>ne(x,le),onFileRemoved:le=>de(x,le)},null,8,["accept","max-size","variant","onFilesSelected","onFileRemoved"])):x.type==="multifile"?(e.openBlock(),e.createBlock(Pt,{key:9,multiple:x.multiple!==!1,accept:x.accept,"max-size":x.maxSize,"max-files":x.maxFiles,variant:x.variant||"default",onFilesSelected:le=>se(x,le),onFileRemoved:le=>ye(x,le)},null,8,["multiple","accept","max-size","max-files","variant","onFilesSelected","onFileRemoved"])):x.type==="slider"?(e.openBlock(),e.createBlock(Ja,{key:10,"model-value":_(x.name),min:x.min,max:x.max,step:x.step,disabled:l.value||x.disabled,"onUpdate:modelValue":le=>ee(x,le)},null,8,["model-value","min","max","step","disabled","onUpdate:modelValue"])):x.type==="range"?(e.openBlock(),e.createElementBlock("div",sb,[e.createElementVNode("div",ib,[e.createVNode(ze,{id:ce,"model-value":_(x.name),type:"range",min:x.min,max:x.max,step:x.step||1,disabled:l.value||x.disabled,class:"flex-1","aria-describedby":pe,"onUpdate:modelValue":le=>G(x.name,le)},null,8,["id","model-value","min","max","step","disabled","aria-describedby","onUpdate:modelValue"]),e.createElementVNode("span",cb,e.toDisplayString(_(x.name)),1)])])):x.type==="date"?(e.openBlock(),e.createBlock(ht,{key:12,id:ce,"model-value":_(x.name),disabled:l.value||x.disabled,required:x.required,min:x.min,max:x.max,placeholder:x.placeholder||"Select date",format:x.format||"DD/MM/YYYY","enable-time":x.enableTime===!0,"minute-interval":x.minuteInterval||1,clearable:x.clearable!==!1,"show-today":x.showToday!==!1,"calendar-position":x.calendarPosition||"left-0 bottom-full","aria-describedby":pe,"onUpdate:modelValue":le=>G(x.name,le)},null,8,["id","model-value","disabled","required","min","max","placeholder","format","enable-time","minute-interval","clearable","show-today","calendar-position","aria-describedby","onUpdate:modelValue"])):x.type==="time"?(e.openBlock(),e.createBlock(ze,{key:13,id:ce,"model-value":_(x.name),type:"time",disabled:l.value||x.disabled,class:e.normalizeClass([he?"border-(--ui-danger)":"ui-border-strong",x.inputClass||""]),"aria-describedby":pe,"onUpdate:modelValue":le=>G(x.name,le)},null,8,["id","model-value","disabled","class","aria-describedby","onUpdate:modelValue"])):x.type==="datetime-local"?(e.openBlock(),e.createBlock(ht,{key:14,id:ce,"model-value":_(x.name),disabled:l.value||x.disabled,required:x.required,min:x.min,max:x.max,placeholder:x.placeholder||"Select date and time",format:x.format||"DD/MM/YYYY","enable-time":!0,"minute-interval":x.minuteInterval||1,clearable:x.clearable!==!1,"show-today":x.showToday!==!1,"aria-describedby":pe,"onUpdate:modelValue":le=>G(x.name,le)},null,8,["id","model-value","disabled","required","min","max","placeholder","format","minute-interval","clearable","show-today","aria-describedby","onUpdate:modelValue"])):x.type==="month"?(e.openBlock(),e.createBlock(ze,{key:15,id:ce,"model-value":_(x.name),type:"month",disabled:l.value||x.disabled,class:e.normalizeClass([he?"border-(--ui-danger)":"ui-border-strong",x.inputClass||""]),"aria-describedby":pe,"onUpdate:modelValue":le=>G(x.name,le)},null,8,["id","model-value","disabled","class","aria-describedby","onUpdate:modelValue"])):x.type==="week"?(e.openBlock(),e.createBlock(ze,{key:16,id:ce,"model-value":_(x.name),type:"week",disabled:l.value||x.disabled,class:e.normalizeClass([he?"border-(--ui-danger)":"ui-border-strong",x.inputClass||""]),"aria-describedby":pe,"onUpdate:modelValue":le=>G(x.name,le)},null,8,["id","model-value","disabled","class","aria-describedby","onUpdate:modelValue"])):e.createCommentVNode("",!0)],!0)]),_:2},1032,["id","label","required","error","error-message","help-text","class"]))],2))),128))],2)],2)],2))),128)),e.renderSlot(h.$slots,"actions",{formData:s.value,isValid:v.value,submit:Xe},()=>[t.showSubmit?(e.openBlock(),e.createElementBlock("div",ub,[t.showReset?(e.openBlock(),e.createBlock(be,{key:0,type:"button",variant:"outline",disabled:l.value,onClick:it},{default:e.withCtx(()=>[...Y[0]||(Y[0]=[e.createTextVNode(" Reset ",-1)])]),_:1},8,["disabled"])):e.createCommentVNode("",!0),t.showCancel?(e.openBlock(),e.createBlock(be,{key:1,type:"button",variant:"outline",disabled:l.value,onClick:ct},{default:e.withCtx(()=>[...Y[1]||(Y[1]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(be,{type:"submit",disabled:l.value,loading:l.value,variant:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.submitLabel),1)]),_:1},8,["disabled","loading"])])):e.createCommentVNode("",!0)],!0),t.showSubmit&&k.value?(e.openBlock(),e.createElementBlock("div",db)):e.createCommentVNode("",!0)],32)])}}},ln=Ne(mb,[["__scopeId","data-v-08eb5933"]]),Ur={__name:"ReusableFormModal",props:{modelValue:{type:Boolean,default:!1},modalType:{type:String,required:!0,validator:t=>["create","edit"].includes(t)},entityName:{type:String,default:"Item"},fields:{type:Array,required:!0},sections:{type:Array,default:()=>[]},initialData:{type:Object,default:null},loading:{type:Boolean,default:!1},customValidation:{type:Function,default:null},crossValidate:{type:Function,default:null},showSubmit:{type:Boolean,default:!0},submitLabel:{type:String,default:""},showReset:{type:Boolean,default:!1},showCancel:{type:Boolean,default:!0},modalSize:{type:String,default:"4xl",validator:t=>["sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl","full"].includes(t)},modalHeight:{type:String,default:"auto"},modalResizable:{type:Boolean,default:!1}},emits:["update:modelValue","submit","close","form-change"],setup(t,{emit:n}){const a=t,o=n,r=e.useSlots(),l=e.computed({get:()=>a.modelValue,set:y=>o("update:modelValue",y)}),s=e.computed(()=>a.submitLabel?a.submitLabel:a.modalType==="create"?`Create ${a.entityName}`:`Update ${a.entityName}`),c=e.computed(()=>a.modalType==="create"?`Add New ${a.entityName}`:`Edit ${a.entityName}`),i=e.computed(()=>a.modalType==="create"?`Fill in the details to create a new ${a.entityName.toLowerCase()}.`:`Update the ${a.entityName.toLowerCase()} information below.`),u=e.computed(()=>{if(Array.isArray(a.sections)&&a.sections.length>0){const y=a.sections.flatMap(v=>Array.isArray(v?.fields)?v.fields:[]);if(y.length>0)return y}return a.fields||[]}),f=e.computed(()=>u.value.map(y=>y?.name).filter(y=>typeof y=="string"&&!!y&&!!r[`field-${y}`])),d=()=>{l.value=!1,o("close")},k=()=>{d()},b=y=>{o("submit",{...y,modalType:a.modalType,originalData:a.initialData})};return(y,v)=>(e.openBlock(),e.createBlock(wt,{modelValue:l.value,"onUpdate:modelValue":v[1]||(v[1]=g=>l.value=g),"show-close":!0,"close-on-backdrop":!0,size:t.modalSize,class:e.normalizeClass(t.modalHeight==="auto"?"":t.modalHeight),resizable:t.modalResizable,onClose:d},{default:e.withCtx(()=>[e.createVNode(ln,{title:c.value,description:i.value,"entity-name":t.entityName,fields:t.fields,sections:t.sections,"initial-data":t.initialData,loading:t.loading,"custom-validation":t.customValidation,"cross-validate":t.crossValidate,"submit-label":s.value,"show-reset":t.showReset,"show-cancel":t.showCancel,"show-submit":t.showSubmit,"form-type":t.modalType,onSubmit:b,onCancel:k,onFormChange:v[0]||(v[0]=g=>o("form-change",g))},e.createSlots({_:2},[e.unref(r)["section-header"]?{name:"section-header",fn:e.withCtx(g=>[e.renderSlot(y.$slots,"section-header",e.normalizeProps(e.guardReactiveProps(g)))]),key:"0"}:void 0,e.renderList(f.value,g=>({name:`field-${g}`,fn:e.withCtx(m=>[e.renderSlot(y.$slots,`field-${g}`,e.normalizeProps(e.guardReactiveProps(m)))])})),e.unref(r).actions?{name:"actions",fn:e.withCtx(g=>[e.renderSlot(y.$slots,"actions",e.normalizeProps(e.guardReactiveProps(g)))]),key:"1"}:void 0]),1032,["title","description","entity-name","fields","sections","initial-data","loading","custom-validation","cross-validate","submit-label","show-reset","show-cancel","show-submit","form-type"])]),_:3},8,["modelValue","size","class","resizable"]))}},fb={key:0,class:"fixed inset-0 z-[1200]"},pb=["aria-label"],gb={class:"flex items-center justify-between px-4 py-3 border-b ui-border shrink-0"},vb={class:"text-sm font-semibold ui-text"},hb={class:"flex-1 overflow-y-auto"},yb={key:0,class:"border-t ui-border px-4 py-3 shrink-0"},sn={__name:"RightDrawer",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:"Details"},size:{type:String,default:"md",validator:t=>["sm","md","lg","xl","full"].includes(t)},closeOnOverlay:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},showOverlay:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0}},emits:["update:modelValue","close"],setup(t,{emit:n}){const a=t,o=n,r=e.computed(()=>{const i={sm:"w-full max-w-sm",md:"w-full max-w-md",lg:"w-full max-w-lg",xl:"w-full max-w-xl",full:"w-full max-w-full"};return i[a.size]||i.md}),l=()=>{o("update:modelValue",!1),o("close")},s=()=>{a.closeOnOverlay&&l()},c=i=>{i.key==="Escape"&&a.modelValue&&a.closeOnEsc&&l()};return e.watch(()=>a.modelValue,i=>{typeof document>"u"||(document.body.style.overflow=i?"hidden":"")}),e.watch(()=>a.modelValue,i=>{typeof window>"u"||(i?window.addEventListener("keydown",c):window.removeEventListener("keydown",c))},{immediate:!0}),e.onUnmounted(()=>{typeof document<"u"&&(document.body.style.overflow=""),typeof window<"u"&&window.removeEventListener("keydown",c)}),(i,u)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"transition-opacity duration-200 ease-out","leave-active-class":"transition-opacity duration-200 ease-in","enter-from-class":"opacity-0","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[t.modelValue?(e.openBlock(),e.createElementBlock("div",fb,[t.showOverlay?(e.openBlock(),e.createElementBlock("div",{key:0,class:"absolute inset-0 bg-black/30 backdrop-blur-[1px]",onClick:s})):e.createCommentVNode("",!0),e.createVNode(e.Transition,{"enter-active-class":"transition-transform duration-250 ease-out","leave-active-class":"transition-transform duration-200 ease-in","enter-from-class":"translate-x-full","leave-to-class":"translate-x-full"},{default:e.withCtx(()=>[t.modelValue?(e.openBlock(),e.createElementBlock("aside",{key:0,class:e.normalizeClass(["absolute right-0 top-0 h-full ui-surface border-l ui-border shadow-2xl flex flex-col",r.value]),role:"dialog","aria-modal":"true","aria-label":t.title},[e.createElementVNode("div",gb,[e.createElementVNode("h3",vb,e.toDisplayString(t.title),1),t.showCloseButton?(e.openBlock(),e.createElementBlock("button",{key:0,class:"w-8 h-8 rounded-md ui-text-muted hover:bg-(--ui-surface-muted) hover:text-(--ui-text) transition-colors flex items-center justify-center",onClick:l},[...u[0]||(u[0]=[e.createElementVNode("span",{class:"sr-only"},"Close drawer",-1),e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor","stroke-width":"2",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",hb,[e.renderSlot(i.$slots,"default")]),i.$slots.footer?(e.openBlock(),e.createElementBlock("div",yb,[e.renderSlot(i.$slots,"footer")])):e.createCommentVNode("",!0)],10,pb)):e.createCommentVNode("",!0)]),_:3})])):e.createCommentVNode("",!0)]),_:3}))}},bb={key:0,class:"flex ui-surface items-center justify-between p-4 border-b ui-border-strong shrink-0 lg:hidden"},xb={class:"text-base font-semibold ui-text"},kb={class:"flex-1 overflow-y-auto overflow-x-hidden p-3 sm:p-4"},wb={class:"space-y-2"},Cb={key:0},Bb={key:0,class:"absolute top-1.5 right-1.5 inline-flex items-center justify-center min-w-5 h-5 px-1 text-[10px] font-bold rounded-full ui-danger-bg ui-text-inverse"},Vb={key:1,class:"relative","data-submenu-dropdown":""},Eb=["onClick"],Sb={key:0,class:"absolute top-1.5 right-1.5 inline-flex items-center justify-center min-w-5 h-5 px-1 text-[10px] font-bold rounded-full ui-danger-bg ui-text-inverse"},Nb={key:1,class:"absolute top-1.5 right-1.5 w-2 h-2 ui-primary-bg rounded-full"},$b={class:"px-4 py-3 border-b ui-border-strong ui-surface-muted"},Db={class:"text-sm font-semibold ui-text"},zb={key:0,class:"px-4 pt-3 pb-2"},Tb={class:"relative"},Ab=["placeholder"],Fb={class:"absolute left-3 top-1/2 transform -translate-y-1/2 ui-text-soft"},Lb={class:"py-2 pb-16 flex-1 min-h-0 overflow-y-auto overscroll-contain"},Mb={key:0,class:"px-4 py-6 text-center"},Ib={class:"truncate text-xl"},_b={key:0,class:"ml-auto inline-flex items-center justify-center min-w-5 h-5 px-1 text-[10px] font-bold rounded-full ui-danger-bg ui-text-inverse"},Yn=320,Pb={__name:"Sidebar",props:{sidebarWidth:{type:Number,default:130},header:{type:Object,default:null},navigationItems:{type:Array,required:!0},mobileOpen:{type:Boolean,default:!1},currentPath:{type:String,default:""},showSearch:{type:Boolean,default:!1},searchPlaceholder:{type:String,default:"Search..."},searchableMenus:{type:Array,default:()=>[]},themeScope:{type:String,default:"default",validator:t=>["default","module"].includes(t)}},emits:["navigate","update:mobileOpen","search"],setup(t,{expose:n,emit:a}){const o=t,r=a,l=e.ref(!1),s=e.ref(!1),c=e.ref(null),i=e.ref(""),u=e.computed(()=>o.mobileOpen),f=e.computed(()=>{if(!o.showSearch||!c.value)return!1;const $=c.value.name?.toLowerCase()||"";return o.searchableMenus.some(L=>$.includes(L.toLowerCase()))}),d=e.computed(()=>{if(!c.value?.subItems)return[];if(!i.value.trim())return c.value.subItems;const $=i.value.toLowerCase().trim();return c.value.subItems.filter(L=>{const C=L.label?.toLowerCase()||"",V=L.name?.toLowerCase()||"";return C.includes($)||V.includes($)})}),k=e.computed(()=>l.value?0:o.sidebarWidth+(s.value?Yn:0)),b=e.computed(()=>({left:`${o.sidebarWidth}px`,width:`${Yn}px`,maxWidth:`calc(100vw - ${o.sidebarWidth}px)`,top:"0px",height:"100vh",...o.themeScope==="module"?{background:"color-mix(in oklab, var(--module-soft-alt, var(--ui-accent-soft)) 50%, var(--ui-surface) 50%)"}:{}})),y=e.computed(()=>({width:`${o.sidebarWidth}px`,top:l.value?"0px":"4rem",...o.themeScope==="module"?{background:"color-mix(in oklab, var(--module-soft, var(--ui-primary-soft)) 45%, var(--ui-background) 55%)"}:{}})),v=$=>{r("navigate",$),l.value&&g();const L=s.value&&c.value&&c.value.subItems.some(C=>C.route===$.route);(l.value||!L)&&P()},g=()=>{r("update:mobileOpen",!1)},m=$=>$.subItems&&$.subItems.length>0,p=$=>typeof $?.route=="string"&&$.route.length>0,w=$=>{if(s.value&&c.value?.name===$.name){N();return}p($)&&v($),c.value=$,s.value=!0,i.value=""},N=()=>{s.value=!1,i.value="",c.value=null},P=()=>{N()},_=$=>{v($)},H=$=>{i.value=$,r("search",{query:$,menu:c.value?.name})},G=()=>{i.value=""},K=$=>{$.target.closest("[data-submenu-dropdown]")||N()},z=$=>{const L=o.currentPath;return $.route?!!(L===$.route||L.startsWith($.route+"/")):$.subItems&&$.subItems.length>0?$.subItems.some(C=>C.route?L===C.route||L.startsWith(C.route+"/"):!1):!1},I=$=>$?o.themeScope==="module"?"border shadow-sm":"bg-[color:color-mix(in oklab, var(--ui-primary-soft), transparent 18%)] border border-(--ui-primary-soft) shadow-sm":"ui-text hover:bg-(--ui-surface-muted) border border-transparent",te=$=>!$||o.themeScope!=="module"?null:{backgroundColor:"var(--module-soft, var(--ui-primary-soft))",borderColor:"var(--module-border, var(--ui-border-strong))"},j=$=>$?o.themeScope==="module"?"shadow-sm text-white":"ui-primary-bg shadow-sm":"ui-surface-muted ui-text-soft group-hover:text-(--ui-text) group-hover:bg-(--ui-primary-soft)",U=$=>$?o.themeScope!=="module"?{color:"#ffffff"}:{backgroundColor:"var(--module-primary, var(--ui-primary))",color:"#ffffff",border:"1px solid var(--module-border, var(--ui-border-strong))"}:null,O=$=>$?o.themeScope==="module"?"ui-text font-semibold":"ui-primary font-semibold":"ui-text group-hover:text-(--ui-text)",S=()=>null,E=()=>{const $=l.value;l.value=window.innerWidth<1024,$&&!l.value&&u.value&&g()},D=$=>{$.key==="Escape"&&(s.value?P():l.value&&u.value&&g())};return e.onMounted(()=>{E(),window.addEventListener("resize",E),document.addEventListener("keydown",D),document.addEventListener("click",K)}),e.onUnmounted(()=>{window.removeEventListener("resize",E),document.removeEventListener("keydown",D),document.removeEventListener("click",K)}),n({isMobile:l,isMobileOpen:u,submenuOpen:s,contentMarginLeft:k,closeAllMenus:P}),($,L)=>{const C=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","leave-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[u.value&&l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 lg:hidden bg-black/30 backdrop-blur-2xs",onClick:g})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("aside",{class:e.normalizeClass(e.unref(A)("fixed left-0 z-40 ui-surface border-r ui-border-strong overflow-visible flex flex-col shadow-xl shadow-black/5","transition-transform duration-300 ease-out",o.themeScope==="module"&&"kv-module-sidebar",l.value?e.unref(A)("transform h-screen",u.value?"translate-x-0":"-translate-x-full"):"translate-x-0 h-[calc(100vh-4rem)]")),style:e.normalizeStyle(y.value)},[l.value?(e.openBlock(),e.createElementBlock("div",bb,[e.createElementVNode("h2",xb,e.toDisplayString(t.header?.title),1),e.createElementVNode("button",{class:"p-2 rounded-lg ui-text hover:bg-(--ui-surface-muted) transition-colors","aria-label":"Close sidebar",onClick:g},[...L[2]||(L[2]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])])):e.createCommentVNode("",!0),e.createElementVNode("nav",kb,[e.createElementVNode("div",wb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.navigationItems,V=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:V.name||V.label},[V.type==="link"?(e.openBlock(),e.createElementBlock("div",Cb,[m(V)?(e.openBlock(),e.createElementBlock("div",Vb,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(A)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-3 px-2.5",I(z(V)))),style:e.normalizeStyle(te(z(V))),onClick:M=>w(V)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(A)("flex items-center justify-center rounded-lg transition-colors mb-2","w-10 h-10",j(z(V)))),style:e.normalizeStyle(U(z(V)))},[e.createVNode(R,{icon:V.icon,class:"w-5 h-5",style:e.normalizeStyle(z(V)?{color:"#ffffff"}:null)},null,8,["icon","style"])],6),e.createElementVNode("span",{class:e.normalizeClass(e.unref(A)("text-[11px] leading-tight font-medium text-center",O(z(V)))),style:e.normalizeStyle(S(z(V)))},e.toDisplayString(V.label),7),V.badge?(e.openBlock(),e.createElementBlock("span",Sb,e.toDisplayString(V.badge),1)):e.createCommentVNode("",!0),z(V)&&m(V)?(e.openBlock(),e.createElementBlock("div",Nb)):e.createCommentVNode("",!0)],14,Eb)])):(e.openBlock(),e.createBlock(C,{key:0,to:V.route,class:e.normalizeClass(e.unref(A)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 group relative py-3 px-2.5",I(z(V)))),style:e.normalizeStyle(te(z(V))),onClick:M=>v(V)},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(A)("flex items-center justify-center rounded-lg transition-colors mb-2","w-10 h-10",j(z(V)))),style:e.normalizeStyle(U(z(V)))},[e.createVNode(R,{icon:V.icon,class:"w-5 h-5",style:e.normalizeStyle(z(V)?{color:"#ffffff"}:null)},null,8,["icon","style"])],6),e.createElementVNode("span",{class:e.normalizeClass(e.unref(A)("text-[11px] leading-tight font-medium text-center",O(z(V)))),style:e.normalizeStyle(S(z(V)))},e.toDisplayString(V.label),7),V.badge?(e.openBlock(),e.createElementBlock("span",Bb,e.toDisplayString(V.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","style","onClick"]))])):e.createCommentVNode("",!0)],64))),128))])]),e.createVNode(e.Transition,{"enter-active-class":"transition-transform duration-250 ease-out","leave-active-class":"transition-transform duration-200 ease-in","enter-from-class":"-translate-x-full","enter-to-class":"translate-x-0","leave-from-class":"translate-x-0","leave-to-class":"-translate-x-full"},{default:e.withCtx(()=>[s.value&&c.value&&(!l.value||u.value)?(e.openBlock(),e.createElementBlock("div",{key:0,"data-submenu-dropdown":"",class:e.normalizeClass(e.unref(A)("ui-surface border ui-border-strong shadow-2xl overflow-hidden z-50 fixed border-l rounded-none flex flex-col min-h-0")),style:e.normalizeStyle(b.value)},[e.createElementVNode("div",$b,[e.createElementVNode("p",Db,e.toDisplayString(c.value.label),1)]),f.value?(e.openBlock(),e.createElementBlock("div",zb,[e.createElementVNode("div",Tb,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":L[0]||(L[0]=V=>i.value=V),type:"text",placeholder:t.searchPlaceholder,class:"w-full px-3 py-2 pl-9 pr-9 text-sm border ui-border-strong rounded-xl focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-transparent transition-all ui-bg",onInput:L[1]||(L[1]=V=>H(i.value))},null,40,Ab),[[e.vModelText,i.value]]),e.createElementVNode("div",Fb,[e.createVNode(R,{icon:"search",class:"w-4 h-4"})]),i.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"absolute right-2 top-1/2 transform -translate-y-1/2 ui-text-soft hover:text-(--ui-text) transition-colors p-1",onClick:G},[e.createVNode(R,{icon:"times",class:"w-4 h-4"})])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("nav",Lb,[f.value&&i.value&&d.value.length===0?(e.openBlock(),e.createElementBlock("div",Mb,[...L[3]||(L[3]=[e.createElementVNode("p",{class:"text-sm ui-text"}," No results found ",-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(d.value,V=>(e.openBlock(),e.createBlock(C,{key:V.name,to:V.route,class:e.normalizeClass(e.unref(A)("mx-2 flex items-center gap-3 rounded-lg px-3 py-2 text-sm transition-colors",z(V)?"bg-[color:color-mix(in oklab, var(--ui-primary-soft), transparent 22%)] ui-primary":"ui-text hover:bg-(--ui-surface-muted)")),onClick:M=>_(V)},{default:e.withCtx(()=>[e.createVNode(R,{icon:V.icon||"circle",size:"xl"},null,8,["icon"]),e.createElementVNode("span",Ib,e.toDisplayString(V.label),1),V.badge?(e.openBlock(),e.createElementBlock("span",_b,e.toDisplayString(V.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","onClick"]))),128))])],6)):e.createCommentVNode("",!0)]),_:1})],6)])}}},Wr=Ne(Pb,[["__scopeId","data-v-82c80c9a"]]),Yr={__name:"Timeline",props:{orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex ui-text",t.orientation==="vertical"?"flex-col":"flex-row"])},[e.renderSlot(n.$slots,"default")],2))}},Ob={key:0,class:"absolute left-3 top-0 w-0.5 h-full ui-bg"},jb={class:"z-10 flex items-center justify-center w-6 h-6 rounded-full border-2 border-(--ui-primary) ui-surface ui-primary"},Rb={class:"ui-text font-medium"},Hb={key:0,class:"ui-text text-sm"},Ub={class:"mt-2 ui-text text-sm"},qr={__name:"TimelineItem",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex",t.orientation==="vertical"?"items-start mb-8 last:mb-0":"flex-col items-center mx-8 last:mx-0"])},[t.orientation==="vertical"?(e.openBlock(),e.createElementBlock("div",Ob)):e.createCommentVNode("",!0),e.createElementVNode("div",jb,[e.renderSlot(n.$slots,"icon",{},()=>[a[0]||(a[0]=e.createElementVNode("div",{class:"w-2 h-2 rounded-full ui-primary-bg"},null,-1))])]),e.createElementVNode("div",{class:e.normalizeClass(["ml-6",t.orientation==="horizontal"?"mt-2 text-center":""])},[e.createElementVNode("h3",Rb,[e.renderSlot(n.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),t.subtitle?(e.openBlock(),e.createElementBlock("p",Hb,[e.renderSlot(n.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ub,[e.renderSlot(n.$slots,"default")])],2)],2))}},Wb="/logo.png",Yb={class:"relative min-h-screen overflow-hidden"},qb={class:"relative z-10 mx-auto flex min-h-screen w-full max-w-[1400px] items-center px-4 py-4 sm:px-8 sm:py-6 lg:px-14"},Gb={class:"hidden w-full max-w-4xl pr-10 lg:block"},Kb={class:"ml-auto w-full max-w-[460px]"},Xb={class:"overflow-hidden rounded-sm ui-surface"},Jb={class:"px-1 sm:pt-2"},Qb={class:"flex items-start justify-between gap-2"},Zb=["src"],ex={key:0},tx={class:"px-5 py-4 sm:px-6 sm:py-2"},ax={class:"space-y-4"},nx={key:0,class:"px-5 pb-4 sm:px-6 sm:pb-5"},ox={key:0,class:"text-right"},rx={key:1,class:"px-6 pb-6 sm:px-8 sm:pb-8"},lx={__name:"AuthLayout",props:{title:{type:String,default:"Login to your account:"},subtitle:{type:String,default:null},logoUrl:{type:String,default:"/applogo.png"},quote:{type:String,default:"MANAGEMENT IS DOING THINGS RIGHT, BUT LEADERSHIP IS DOING RIGHT THINGS"},backgroundImage:{type:String,default:"/stlbacklogo.jpeg"},backgroundOpacity:{type:Number,default:1},appName:{type:String,default:"applogo"},appVersion:{type:String,default:"0.0.1"},copyright:{type:String,default:"Software Technologies Limited"},showFooter:{type:Boolean,default:!0}},setup(t){const n=t,a=e.computed(()=>new Date().getFullYear()),o=e.computed(()=>{const r=String(n.appVersion??"").trim();return r?r.toLowerCase().startsWith("v")?r:`v${r}`:"v0.0.0"});return e.onMounted(()=>{document.documentElement.classList.add("auth-page"),document.body.classList.add("auth-page")}),e.onBeforeUnmount(()=>{document.documentElement.classList.remove("auth-page"),document.body.classList.remove("auth-page")}),(r,l)=>{const s=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock("div",Yb,[e.createElementVNode("div",{class:"absolute inset-0 bg-cover bg-center",style:e.normalizeStyle({backgroundImage:`url('${t.backgroundImage}')`})},null,4),l[1]||(l[1]=e.createElementVNode("div",{class:"absolute inset-0"},null,-1)),e.createElementVNode("div",qb,[e.createElementVNode("section",Gb,[t.quote?(e.openBlock(),e.createBlock(Ve,{key:0,variant:"body-xl",class:"max-w-3xl text-2xl leading-[1.4] font-light tracking-wide text-white/90 xl:text-[38px]"},{default:e.withCtx(()=>[e.createTextVNode(' "'+e.toDisplayString(t.quote)+'" ',1)]),_:1})):e.createCommentVNode("",!0)]),e.createElementVNode("section",Kb,[e.createElementVNode("div",Xb,[e.createElementVNode("div",Jb,[e.createElementVNode("div",Qb,[e.createElementVNode("img",{src:t.logoUrl,alt:"App logo",class:"h-16 w-auto max-w-[220px] object-contain sm:h-36"},null,8,Zb),l[0]||(l[0]=e.createElementVNode("img",{src:Wb,alt:"Software logo",class:"h-8 w-auto object-contain sm:h-32"},null,-1))]),r.$slots["card-header"]||t.title?(e.openBlock(),e.createElementBlock("div",ex,[e.renderSlot(r.$slots,"card-header",{},()=>[e.createVNode(Ve,{variant:"text-xl",align:"center",class:"font-normal leading-tight text-[#1f2328] text-center"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1}),t.subtitle?(e.openBlock(),e.createBlock(Ve,{key:0,variant:"body-sm",class:"mt-1 text-xs leading-normal text-[#5f6a74]"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)]),_:1})):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0)]),e.createVNode(qt,{size:"sm",class:"my-0 bg-[#c7ccd2]"}),e.createElementVNode("div",tx,[e.createElementVNode("div",ax,[e.createVNode(s)])]),r.$slots.links||t.showFooter?(e.openBlock(),e.createElementBlock("div",nx,[r.$slots.links?(e.openBlock(),e.createElementBlock("div",ox,[e.renderSlot(r.$slots,"links",{},void 0,!0)])):e.createCommentVNode("",!0),t.showFooter?(e.openBlock(),e.createBlock(Ve,{key:1,variant:"body-md",class:"mt-2 text-right text-xs font-light leading-none text-[#5f6a74] sm:text-[14px]"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.value),1)]),_:1})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),r.$slots["card-footer"]?(e.openBlock(),e.createElementBlock("div",rx,[e.renderSlot(r.$slots,"card-footer",{},void 0,!0)])):e.createCommentVNode("",!0)]),t.showFooter?(e.openBlock(),e.createBlock(Ve,{key:0,variant:"body-md",class:"mt-3 text-center text-sm font-light leading-none text-white sm:text-[16px]"},{default:e.withCtx(()=>[e.createTextVNode(" © "+e.toDisplayString(t.copyright)+" 2011 - "+e.toDisplayString(a.value),1)]),_:1})):e.createCommentVNode("",!0)])])])}}},Gr=Ne(lx,[["__scopeId","data-v-9b0e260b"]]),sx={class:"min-h-screen ui-surface-muted"},ix={class:"flex-1"},cx={key:0,class:"ui-surface border-b ui-border-strong"},ux={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},dx={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},Kr={__name:"DefaultLayout",props:{navigationItems:{type:Array,default:()=>[{label:"Home",href:"/",active:!0},{label:"About",href:"/about"},{label:"Services",href:"/services"},{label:"Contact",href:"/contact"}]},breadcrumbItems:{type:Array,default:()=>[]},showBreadcrumb:{type:Boolean,default:!1}},setup(t){return(n,a)=>{const o=e.resolveComponent("Logo"),r=e.resolveComponent("MainNavigation"),l=e.resolveComponent("Button"),s=e.resolveComponent("Header"),c=e.resolveComponent("Breadcrumb"),i=e.resolveComponent("Text"),u=e.resolveComponent("Footer");return e.openBlock(),e.createElementBlock("div",sx,[e.createVNode(s,null,{logo:e.withCtx(()=>[e.renderSlot(n.$slots,"logo",{},()=>[e.createVNode(o)])]),navigation:e.withCtx(()=>[e.renderSlot(n.$slots,"navigation",{},()=>[e.createVNode(r,{items:t.navigationItems},null,8,["items"])])]),actions:e.withCtx(()=>[e.renderSlot(n.$slots,"header-actions",{},()=>[e.createVNode(l,{variant:"ghost",size:"sm"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" Sign In ",-1)])]),_:1}),e.createVNode(l,{size:"sm"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode(" Get Started ",-1)])]),_:1})])]),_:3}),e.createElementVNode("main",ix,[t.showBreadcrumb?(e.openBlock(),e.createElementBlock("div",cx,[e.createElementVNode("div",ux,[e.renderSlot(n.$slots,"breadcrumb",{},()=>[e.createVNode(c,{items:t.breadcrumbItems},null,8,["items"])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",dx,[e.renderSlot(n.$slots,"default")])]),e.createVNode(u,null,{brand:e.withCtx(()=>[e.renderSlot(n.$slots,"footer-brand",{},()=>[e.createVNode(o,{class:"mb-4"}),e.createVNode(i,{class:"ui-text max-w-md"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" Your application description goes here. ",-1)])]),_:1})])]),_:3})])}}},mx={name:"ErrorLayout",props:{errorType:{type:[String,Number],default:"404"},errorCode:{type:[String,Number],default:null},errorTitle:{type:String,default:null},errorMessage:{type:String,default:null},brandName:{type:String,default:"Software Technologies"},showLogo:{type:Boolean,default:!0},showBackground:{type:Boolean,default:!0},showDefaultIllustration:{type:Boolean,default:!0},showDefaultActions:{type:Boolean,default:!0},showHomeButton:{type:Boolean,default:!0},showBackButton:{type:Boolean,default:!0},showRetryButton:{type:Boolean,default:!1},showSupportButton:{type:Boolean,default:!1},showAdditionalInfo:{type:Boolean,default:!1},homeUrl:{type:String,default:"/"},homeButtonText:{type:String,default:"Go Home"},backButtonText:{type:String,default:"Go Back"},retryButtonText:{type:String,default:"Try Again"},helpText:{type:String,default:null},supportUrl:{type:String,default:null}},emits:["retry","back","contact-support"],setup(t,{emit:n}){const a=e.getCurrentInstance(),o=e.inject("$router",null)||a?.appContext.app.config.globalProperties?.$router,r=e.ref(!1),l=e.ref(!1),s=e.ref(navigator.onLine),c=e.ref(`err_${Date.now()}_${Math.random().toString(36).substr(2,9)}`),i=e.ref(!1),u=()=>{s.value=navigator.onLine};e.onMounted(()=>{window.addEventListener("online",u),window.addEventListener("offline",u)}),e.onUnmounted(()=>{window.removeEventListener("online",u),window.removeEventListener("offline",u)});const f=e.computed(()=>{const E={404:{title:"Page Not Found",message:"Sorry, we couldn't find the page you're looking for.",icon:"🔍",color:"#64748b",homeButtonIcon:"🏠",additionalInfo:{title:"What can you do?",items:[{icon:"✓",iconColor:"green-500",text:"Check the URL for typos"},{icon:"✓",iconColor:"green-500",text:"Go back to the previous page"},{icon:"✓",iconColor:"green-500",text:"Visit our homepage"}]}},403:{title:"Unauthorized Access",message:"You are not authorized to view this page.",icon:"🚫",color:"#ef4444",homeButtonIcon:"🔐",additionalInfo:{title:"Why am I seeing this?",items:[{icon:"⚠️",iconColor:"yellow-500",text:"You may need to log in to access this page"},{icon:"⚠️",iconColor:"yellow-500",text:"Your account might not have the required permissions"},{icon:"⚠️",iconColor:"yellow-500",text:"Contact support if you believe this is an error"}]}},401:{title:"Authentication Required",message:"You need to log in to access this resource.",icon:"🔐",color:"#f59e0b",homeButtonIcon:"🔐",additionalInfo:{title:"How to proceed?",items:[{icon:"✓",iconColor:"blue-500",text:"Log in with your credentials"},{icon:"✓",iconColor:"blue-500",text:"Create an account if you don't have one"},{icon:"✓",iconColor:"blue-500",text:"Reset your password if you forgot it"}]}},500:{title:"Internal Server Error",message:"Something went wrong on our end. Please try again later.",icon:"🔧",color:"#ef4444",homeButtonIcon:"🏠",additionalInfo:{title:"What happened?",items:[{icon:"⚠️",iconColor:"red-500",text:"Our servers are experiencing issues"},{icon:"⚠️",iconColor:"red-500",text:"The problem is temporary"},{icon:"⚠️",iconColor:"red-500",text:"Try refreshing the page or come back later"}]}},503:{title:"Service Unavailable",message:"The service is temporarily unavailable. Please try again later.",icon:"🔧",color:"#f59e0b",homeButtonIcon:"🏠",additionalInfo:{title:"Service Status",items:[{icon:"⚠️",iconColor:"amber-500",text:"We're performing scheduled maintenance"},{icon:"⚠️",iconColor:"amber-500",text:"Normal service will resume shortly"},{icon:"⚠️",iconColor:"amber-500",text:"Check our status page for updates"}]}},network:{title:"Network Error",message:"Unable to connect to the server. Please check your internet connection.",icon:"📶",color:"#ef4444",homeButtonIcon:"🏠",additionalInfo:{title:"Connection Issues",items:[{icon:"⚠️",iconColor:"red-500",text:"Check your internet connection"},{icon:"⚠️",iconColor:"red-500",text:"Try refreshing the page"},{icon:"⚠️",iconColor:"red-500",text:"Contact your network administrator"}]}}};return E[t.errorType]||E[404]}),d=e.computed(()=>f.value),k=e.computed(()=>t.errorTitle||d.value.title),b=e.computed(()=>t.errorMessage||d.value.message),y=e.computed(()=>d.value.homeButtonIcon||"🏠"),v=e.computed(()=>t.showAdditionalInfo?d.value.additionalInfo:null),g=()=>{o?o.push(t.homeUrl):window.location.href=t.homeUrl},m=()=>{o&&window.history.length>1?o.back():window.history.length>1?window.history.back():g(),n("back")},p=async()=>{r.value=!0;try{await new Promise(E=>setTimeout(E,1e3)),window.location.reload()}catch(E){console.error("Retry failed:",E)}finally{r.value=!1}n("retry")},w=e.computed(()=>["min-h-screen relative flex items-center justify-center","px-4 sm:px-6 lg:px-8"]),N=e.computed(()=>["absolute inset-0 -z-10"]),P=e.computed(()=>["w-full max-w-2xl mx-auto text-center"]),_=e.computed(()=>["mb-8"]),H=e.computed(()=>["space-y-8"]),G=e.computed(()=>["flex justify-center mb-6"]),K=e.computed(()=>["w-32 h-32 flex items-center justify-center"]),z=e.computed(()=>["space-y-4"]),I=e.computed(()=>["text-6xl font-bold ui-text mb-4"]),te=e.computed(()=>["text-3xl font-bold ui-text"]),j=e.computed(()=>["text-lg ui-text max-w-lg mx-auto"]),U=e.computed(()=>["mt-8"]),O=e.computed(()=>["mt-8"]),S=e.computed(()=>["mt-6"]);return{isRetrying:r,reportSent:l,isOnline:s,errorId:c,isDev:i,errorConfig:d,title:k,message:b,homeButtonIcon:y,additionalInfoConfig:v,goHome:g,goBack:m,retry:p,layoutClasses:w,backgroundClasses:N,contentClasses:P,headerClasses:_,errorContentClasses:H,illustrationClasses:G,iconContainerClasses:K,detailsClasses:z,codeClasses:I,titleClasses:te,messageClasses:j,actionsClasses:U,additionalInfoClasses:O,helpClasses:S}}},fx={class:"flex justify-center"},px={class:"flex items-center gap-3"},gx={class:"text-2xl font-bold ui-text"},vx={key:1,class:"ui-danger-soft border border-(--ui-danger-soft) rounded-lg p-4 mx-auto max-w-md mb-6"},hx={class:"flex flex-col sm:flex-row gap-4 justify-center"},yx=["disabled"],bx={key:0,class:"animate-spin"},xx={key:1},kx=["disabled"],wx={key:0},Cx={key:1},Bx={key:0,class:"mt-8 max-w-md mx-auto"},Vx={class:"rounded-lg shadow-sm p-6"},Ex={class:"text-lg font-semibold ui-text mb-4"},Sx={class:"space-y-3"},Nx={class:"text-sm ui-text"},$x=["href"],Dx={key:5,class:"text-xs ui-text font-mono mt-4"};function zx(t,n,a,o,r,l){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.layoutClasses)},[a.showBackground?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.backgroundClasses)},[e.renderSlot(t.$slots,"background",{},()=>[n[4]||(n[4]=e.createElementVNode("div",{class:"absolute inset-0 bg-linear-to-br from-(--ui-surface) to-(--ui-surface)"},null,-1))])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.contentClasses)},[t.$slots.header||a.showLogo?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.headerClasses)},[e.renderSlot(t.$slots,"header",{},()=>[e.createElementVNode("div",fx,[e.renderSlot(t.$slots,"logo",{},()=>[e.createElementVNode("div",px,[n[5]||(n[5]=e.createElementVNode("div",{class:"w-10 h-10 ui-primary-bg rounded-xl flex items-center justify-center"},[e.createElementVNode("span",{class:"ui-text font-bold text-lg"},"STL")],-1)),e.createElementVNode("span",gx,e.toDisplayString(a.brandName),1)])])])])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.errorContentClasses)},[t.$slots.illustration||a.showDefaultIllustration?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.illustrationClasses)},[e.renderSlot(t.$slots,"illustration",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(o.iconContainerClasses)},[e.createElementVNode("div",{class:"text-8xl",style:e.normalizeStyle({color:o.errorConfig.color})},e.toDisplayString(o.errorConfig.icon),5)],2)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.detailsClasses)},[a.errorCode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.codeClasses)},e.toDisplayString(a.errorCode),3)):e.createCommentVNode("",!0),e.createElementVNode("h1",{class:e.normalizeClass(o.titleClasses)},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(o.title),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(o.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(o.message),1)])],2)],2),o.isOnline?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",vx,[...n[6]||(n[6]=[e.createElementVNode("div",{class:"flex items-center justify-center gap-2 ui-danger"},[e.createElementVNode("span",{class:"w-3 h-3 ui-danger-bg rounded-full animate-pulse"}),e.createElementVNode("span",{class:"font-medium"},"No Internet Connection")],-1)])])),t.$slots.actions||a.showDefaultActions?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(o.actionsClasses)},[e.renderSlot(t.$slots,"actions",{},()=>[e.createElementVNode("div",hx,[a.showHomeButton?(e.openBlock(),e.createElementBlock("button",{key:0,class:"ui-primary-bg ui-text px-6 py-3 rounded-lg font-medium hover:bg-(--ui-primary-strong) transition-colors flex items-center justify-center gap-2",onClick:n[0]||(n[0]=(...s)=>o.goHome&&o.goHome(...s))},[e.createElementVNode("span",null,e.toDisplayString(o.homeButtonIcon),1),e.createTextVNode(" "+e.toDisplayString(a.homeButtonText),1)])):e.createCommentVNode("",!0),a.showBackButton?(e.openBlock(),e.createElementBlock("button",{key:1,class:"border ui-border-strong ui-text px-6 py-3 rounded-lg font-medium hover:bg-(--ui-surface) transition-colors flex items-center justify-center gap-2",onClick:n[1]||(n[1]=(...s)=>o.goBack&&o.goBack(...s))},[n[7]||(n[7]=e.createElementVNode("span",null,"←",-1)),e.createTextVNode(" "+e.toDisplayString(a.backButtonText),1)])):e.createCommentVNode("",!0),a.showRetryButton?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:o.isRetrying||!o.isOnline,class:"border ui-border-strong ui-text px-6 py-3 rounded-lg font-medium hover:bg-(--ui-surface) transition-colors flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n[2]||(n[2]=(...s)=>o.retry&&o.retry(...s))},[o.isRetrying?(e.openBlock(),e.createElementBlock("span",bx,"↻")):(e.openBlock(),e.createElementBlock("span",xx,"🔄")),e.createTextVNode(" "+e.toDisplayString(o.isRetrying?"Retrying...":a.retryButtonText),1)],8,yx)):e.createCommentVNode("",!0),a.showSupportButton?(e.openBlock(),e.createElementBlock("button",{key:3,disabled:o.reportSent,class:"ui-bg ui-text px-6 py-3 rounded-lg font-medium hover:bg-(--ui-bg) transition-colors flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n[3]||(n[3]=s=>t.$emit("contact-support"))},[o.reportSent?(e.openBlock(),e.createElementBlock("span",wx,"✓")):(e.openBlock(),e.createElementBlock("span",Cx,"📝")),e.createTextVNode(" "+e.toDisplayString(o.reportSent?"Report Sent":"Contact Support"),1)],8,kx)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),t.$slots["additional-info"]||a.showAdditionalInfo?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(o.additionalInfoClasses)},[e.renderSlot(t.$slots,"additional-info",{},()=>[o.additionalInfoConfig?(e.openBlock(),e.createElementBlock("div",Bx,[e.createElementVNode("div",Vx,[e.createElementVNode("h3",Ex,e.toDisplayString(o.additionalInfoConfig.title),1),e.createElementVNode("ul",Sx,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.additionalInfoConfig.items,(s,c)=>(e.openBlock(),e.createElementBlock("li",{key:c,class:"flex items-start gap-3 text-sm ui-text"},[e.createElementVNode("span",{class:e.normalizeClass(`w-4 h-4 text-${s.iconColor||"slate-400"} shrink-0 mt-0.5`)},e.toDisplayString(s.icon),3),e.createElementVNode("span",null,e.toDisplayString(s.text),1)]))),128))])])])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),t.$slots.help||a.helpText?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(o.helpClasses)},[e.renderSlot(t.$slots,"help",{},()=>[e.createElementVNode("p",Nx,[e.createTextVNode(e.toDisplayString(a.helpText)+" ",1),a.supportUrl?(e.openBlock(),e.createElementBlock("a",{key:0,href:a.supportUrl,class:"ui-primary hover:text-(--ui-primary) underline ml-1"},[...n[8]||(n[8]=[e.createElementVNode("span",{class:"inline-block w-4 h-4 mr-1"},"❓",-1),e.createTextVNode(" Get Help ",-1)])],8,$x)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),o.isDev?(e.openBlock(),e.createElementBlock("div",Dx," Error ID: "+e.toDisplayString(o.errorId),1)):e.createCommentVNode("",!0)],2)],2)],2)}const Xr=Ne(mx,[["render",zx]]),Tx={key:0,class:"flex bg-(--ui-surface) items-center justify-between px-6 py-4 border-b ui-border-strong shrink-0"},Ax={class:"flex items-center gap-3"},Fx={class:"font-semibold text-lg ui-text"},Lx={class:"flex items-center gap-2"},Mx=["disabled"],Ix={key:1,class:"absolute top-16 right-4 z-20 ui-surface rounded-lg shadow-xl border ui-border-strong p-4 min-w-[250px]"},_x={class:"flex items-center justify-between mb-3"},Px={class:"space-y-3"},Ox=["for"],jx=["id","onClick"],Rx={key:2,class:"absolute top-16 right-4 z-20 ui-surface rounded-lg shadow-xl border ui-border-strong p-4 min-w-[280px]"},Hx={class:"flex items-center justify-between mb-3"},Ux={class:"space-y-2"},Wx={class:"ui-text"},Yx={class:"px-2 py-1 ui-surface-muted border ui-border-strong rounded text-xs font-mono"},qx={class:"relative flex-1 overflow-hidden"},Gx={key:0,class:"absolute inset-0 bg-[color:color-mix(in oklab, var(--ui-surface), transparent 10%)] backdrop-blur-sm z-10 flex items-center justify-center"},Kx={class:"w-full h-full flex items-center justify-center"},Xx={key:3,class:"border-t ui-border-strong px-6 py-3 ui-surface-muted shrink-0"},Jr={__name:"DashboardWidget",props:{id:{type:String,required:!0},title:{type:String,required:!0},icon:{type:String,default:null},requiredRoles:{type:Function,default:null},loading:{type:Boolean,default:!1},height:{type:String,default:"auto"},maxHeight:{type:String,default:"none"},minHeight:{type:String,default:"200px"},width:{type:String,default:"100%"},showRefresh:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},padding:{type:String,default:"normal"},hasRole:{type:Function,default:()=>()=>!1},chartType:{type:String,default:null},chartData:{type:Object,default:null},chartOptions:{type:Object,default:()=>({})},customizationOptions:{type:Array,default:()=>[]}},emits:["refresh","dragstart","dragend","customize","keypress"],setup(t,{emit:n}){const a=t,o=n,r=e.computed(()=>a.requiredRoles?a.requiredRoles(a.hasRole):!0),l=e.computed(()=>({width:a.width,height:a.height!=="auto"?a.height:void 0,maxHeight:a.maxHeight!=="none"?a.maxHeight:void 0,minHeight:a.minHeight})),s={none:"",small:"p-3",normal:"p-4",large:"p-6"},c=e.ref(!1),i=e.ref({});e.onMounted(()=>{a.customizationOptions.forEach(z=>{i.value[z.id]=z.default??!0})});const u=()=>{c.value=!c.value},f=(z,I)=>{i.value[z]=I,o("customize",{...i.value})},d=e.ref(null),k=e.ref(!1),b=z=>{if(!k.value)return;const I={r:()=>o("refresh"),R:()=>o("refresh"),c:()=>u(),C:()=>u(),Escape:()=>c.value=!1,h:()=>g.value=!g.value,H:()=>g.value=!g.value,"?":()=>g.value=!g.value};I[z.key]&&(z.preventDefault(),I[z.key](),o("keypress",z.key))},y=()=>{k.value=!0},v=()=>{k.value=!1},g=e.ref(!1),m=[{key:"R",description:"Refresh widget"},{key:"C",description:"Open customization"},{key:"Esc",description:"Close panels"},{key:"?",description:"Toggle help"}],p=e.ref(!1);let w=null;const N=z=>{if(!z.dataTransfer)return;p.value=!0,o("dragstart",a.id);const I=z.target.getBoundingClientRect();w=z.target.cloneNode(!0),Object.assign(w.style,{position:"fixed",width:`${I.width}px`,height:`${I.height}px`,pointerEvents:"none",opacity:"0.8",zIndex:"1000",left:`${z.clientX-I.width/2}px`,top:`${z.clientY-I.height/2}px`}),document.body.appendChild(w),z.dataTransfer.setDragImage(w,I.width/2,I.height/2),z.dataTransfer.effectAllowed="move",z.dataTransfer.setData("text/plain",a.id)},P=z=>{w&&z.clientX&&z.clientY&&(w.style.left=`${z.clientX-w.offsetWidth/2}px`,w.style.top=`${z.clientY-w.offsetHeight/2}px`)},_=()=>{p.value=!1,o("dragend",a.id),w&&(document.body.removeChild(w),w=null)},H=e.computed(()=>{if(!a.chartType||!a.chartData)return null;const z=a.chartData.datasets?.[0]?.data||a.chartData.data||[],I=a.chartData.labels||[],te=z.filter(E=>E!=null&&!isNaN(E));if(te.length===0)return null;const j=a.chartType==="pie"||a.chartType==="doughnut",U=j?450:400,O=j?450:400,S={data:te,labels:I.slice(0,te.length),width:U,height:O,seriesLabel:a.chartData.datasets?.[0]?.label||a.title,...a.chartOptions};if(i.value.legend!==void 0&&(S.showLegend=i.value.legend),i.value.grid!==void 0&&(S.showGrid=i.value.grid),i.value.values!==void 0&&(S.showValues=i.value.values),i.value.percentages!==void 0&&(S.showPercentages=i.value.percentages),i.value.points!==void 0&&(S.showPoints=i.value.points),i.value.fillArea!==void 0&&(S.fillArea=i.value.fillArea),a.chartData.datasets?.[0]?.backgroundColor){const E=a.chartData.datasets[0].backgroundColor;S.colors=Array.isArray(E)?E:[E]}return a.chartData.datasets?.[0]?.borderColor&&(S.lineColor=a.chartData.datasets[0].borderColor),S}),G=e.computed(()=>{switch(a.chartType){case"bar":return Qa;case"line":return Za;case"pie":return Ot;case"doughnut":return Ot;default:return null}}),K=e.computed(()=>a.chartType==="doughnut");return e.onMounted(()=>{window.addEventListener("dragover",P),window.addEventListener("keydown",b)}),e.onUnmounted(()=>{window.removeEventListener("dragover",P),window.removeEventListener("keydown",b),w&&document.body.removeChild(w)}),(z,I)=>r.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"widgetRef",ref:d,draggable:"true",tabindex:"0",style:e.normalizeStyle(l.value),class:e.normalizeClass(e.unref(A)(" rounded-xl border ui-border-strong overflow-hidden transition-all select-none flex flex-col relative","shadow-sm",p.value?"opacity-50 scale-95":"hover:shadow-lg cursor-move",k.value?"ring-2 ring-(--ui-primary) ring-offset-2":"")),onDragstart:N,onDragend:_,onFocus:y,onBlur:v},[t.showHeader?(e.openBlock(),e.createElementBlock("div",Tx,[e.createElementVNode("div",Ax,[t.icon?(e.openBlock(),e.createBlock(R,{key:0,icon:t.icon,class:"w-5 h-5 ui-text"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("h3",Fx,e.toDisplayString(t.title),1)]),e.createElementVNode("div",Lx,[e.renderSlot(z.$slots,"header-actions"),e.createElementVNode("button",{class:"p-2 rounded-lg hover:bg-[color:color-mix(in oklab, var(--ui-surface), transparent 20%)] transition-all duration-200 hover:scale-105 active:scale-95",title:"Keyboard shortcuts (?)",onClick:I[0]||(I[0]=te=>g.value=!g.value)},[e.createVNode(R,{icon:"circle-info",class:"w-4 h-4 ui-text"})]),t.customizationOptions.length>0?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(["p-2 rounded-lg hover:bg-[color:color-mix(in oklab, var(--ui-surface), transparent 20%)] transition-all duration-200 hover:scale-105 active:scale-95",{"ui-primary-soft":c.value}]),title:"Customize (C)",onClick:u},[e.createVNode(R,{icon:"gear",class:"w-4 h-4 ui-text"})],2)):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:1,class:"p-2 rounded-lg hover:bg-[color:color-mix(in oklab, var(--ui-surface), transparent 20%)] transition-all duration-200 hover:scale-105 active:scale-95",disabled:t.loading,title:"Refresh (R)",onClick:I[1]||(I[1]=te=>z.$emit("refresh"))},[e.createVNode(R,{icon:"refresh",class:e.normalizeClass(["w-4 h-4 ui-text transition-transform duration-500",{"animate-spin":t.loading}])},null,8,["class"])],8,Mx)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createElementBlock("div",Ix,[e.createElementVNode("div",_x,[I[4]||(I[4]=e.createElementVNode("h4",{class:"font-semibold text-sm ui-text"}," Customize Widget ",-1)),e.createElementVNode("button",{class:"p-1 rounded hover:bg-(--ui-surface)",onClick:I[2]||(I[2]=te=>c.value=!1)},[e.createVNode(R,{icon:"x",class:"w-4 h-4 ui-text"})])]),e.createElementVNode("div",Px,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.customizationOptions,te=>(e.openBlock(),e.createElementBlock("div",{key:te.id,class:"flex items-center justify-between"},[e.createElementVNode("label",{for:`setting-${te.id}`,class:"text-sm ui-text cursor-pointer"},e.toDisplayString(te.label),9,Ox),e.createElementVNode("button",{id:`setting-${te.id}`,class:e.normalizeClass(["relative inline-flex h-6 w-11 items-center rounded-full transition-colors",i.value[te.id]?"ui-primary":"ui-surface"]),onClick:j=>f(te.id,!i.value[te.id])},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block h-4 w-4 transform rounded-full ui-surface transition-transform",i.value[te.id]?"translate-x-6":"translate-x-1"])},null,2)],10,jx)]))),128))])])):e.createCommentVNode("",!0),g.value?(e.openBlock(),e.createElementBlock("div",Rx,[e.createElementVNode("div",Hx,[I[5]||(I[5]=e.createElementVNode("h4",{class:"font-semibold text-sm ui-text"}," Keyboard Shortcuts ",-1)),e.createElementVNode("button",{class:"p-1 rounded hover:bg-(--ui-surface)",onClick:I[3]||(I[3]=te=>g.value=!1)},[e.createVNode(R,{icon:"x",class:"w-4 h-4 ui-text"})])]),e.createElementVNode("div",Ux,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(m,te=>e.createElementVNode("div",{key:te.key,class:"flex items-center justify-between text-sm"},[e.createElementVNode("span",Wx,e.toDisplayString(te.description),1),e.createElementVNode("kbd",Yx,e.toDisplayString(te.key),1)])),64))])])):e.createCommentVNode("",!0),e.createElementVNode("div",qx,[t.loading?(e.openBlock(),e.createElementBlock("div",Gx,[e.createVNode(ot,{type:"spin",size:"medium",color:"#3b82f6"})])):e.createCommentVNode("",!0),t.chartType&&t.chartData&&G.value&&H.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["w-full h-full flex items-center justify-center p-4",s[t.padding]])},[e.createElementVNode("div",Kx,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(G.value),e.mergeProps(H.value,{doughnut:K.value}),null,16,["doughnut"]))])],2)):(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["overflow-auto h-full",s[t.padding]])},[e.renderSlot(z.$slots,"default")],2))]),z.$slots.footer?(e.openBlock(),e.createElementBlock("div",Xx,[e.renderSlot(z.$slots,"footer")])):e.createCommentVNode("",!0)],38)):e.createCommentVNode("",!0)}},Jx={class:"reminder-config-wrapper"},Qx={class:"grid grid-cols-1 lg:grid-cols-2 gap-6"},Zx=["onClick"],ek={class:"flex items-start justify-between gap-4"},tk={class:"flex items-center gap-4"},ak={class:"w-12 h-12 bg-linear-to-br from-(--ui-primary) to-(--ui-accent) rounded-xl flex items-center justify-center shadow-md"},nk={class:"ui-text font-bold text-lg"},ok={class:"text-xl font-bold ui-text"},rk={class:"flex items-center gap-2 mt-1"},lk={class:"inline-flex items-center gap-1.5 px-3 py-1 ui-primary-soft ui-primary text-xs font-semibold rounded-full"},sk={class:"flex items-start gap-3"},ik=["onClick"],ck={key:0,class:"p-6 bg-linear-to-br from-(--ui-surface) to-[color:color-mix(in oklab, var(--ui-primary-soft), transparent 70%)]"},uk={key:0,class:"text-center py-16"},dk={class:"w-20 h-20 bg-linear-to-br from-(--ui-surface) to-(--ui-bg) rounded-2xl flex items-center justify-center mx-auto mb-4"},mk={key:1,class:"space-y-4"},fk={class:"flex items-start gap-4"},pk={class:"flex-1 space-y-5"},gk={class:"relative"},vk=["value","onInput"],hk={class:"flex items-center gap-3 p-4 ui-surface-muted rounded-lg border ui-border-strong"},yk=["id","checked","onChange"],bk=["for"],xk={class:"grid grid-cols-2 gap-3"},kk=["onClick"],wk=["onClick"],Ck={class:"flex items-start gap-3"},Bk={class:"w-10 h-10 bg-linear-to-br from-(--ui-primary-soft) to-(--ui-accent-soft) rounded-lg flex items-center justify-center group-hover:from-(--ui-primary-soft) group-hover:to-(--ui-accent-soft) transition-all"},Vk={class:"text-left"},Ek={class:"text-sm font-semibold ui-text block"},Sk={key:0,class:"mt-3 p-4 ui-surface-muted rounded-lg border ui-border-strong"},Nk={class:"flex flex-wrap gap-2"},$k=["onClick"],Dk={class:"bg-linear-to-r from-(--ui-success) to-(--ui-success) p-6 ui-text"},zk={class:"flex items-start justify-between gap-4"},Tk={class:"flex items-start gap-3"},Ak={class:"w-12 h-12 bg-[color:color-mix(in oklab, var(--ui-bg), transparent 80%)] rounded-lg flex items-center justify-center"},Fk={class:"ui-surface px-5 py-4 max-h-88 overflow-y-auto"},Lk={key:0,class:"text-center py-6"},Mk={key:1,class:"space-y-2"},Ik={class:"relative shrink-0"},_k=["checked","onChange"],Pk={class:"flex-1 min-w-0"},Ok={class:"px-5 py-4 ui-surface-muted border-t ui-border flex gap-2"},jk={__name:"ReminderConfig",props:{models:{type:Array,default:()=>[]},availableRecipients:{type:Array,default:()=>[]},sendTypeOptions:{type:Array,default:()=>[{value:"email",label:"Email"},{value:"in-app",label:"In-App"}]}},emits:["update:models"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(null),l=e.ref(!1),s=e.ref(null),c=g=>{const m=a.models.find(p=>p.id===g);m&&(m.expanded=!m.expanded,o("update:models",[...a.models]))},i=g=>{const m=a.models.find(p=>p.id===g);if(m){const p={id:Date.now(),days:0,recipients:[],sendTypes:[],isDaily:!1};m.reminders.push(p),o("update:models",[...a.models])}},u=(g,m)=>{const p=a.models.find(w=>w.id===g);p&&(p.reminders=p.reminders.filter(w=>w.id!==m),o("update:models",[...a.models]))},f=(g,m,p)=>{const w=a.models.find(N=>N.id===g);if(w){const N=w.reminders.find(P=>P.id===m);N&&(N.days=parseInt(p)||0,o("update:models",[...a.models]))}},d=(g,m,p)=>{const w=a.models.find(N=>N.id===g);if(w){const N=w.reminders.find(P=>P.id===m);if(N){N.sendTypes||(N.sendTypes=[]);const P=N.sendTypes.indexOf(p);P>-1?N.sendTypes.splice(P,1):N.sendTypes.push(p),o("update:models",[...a.models])}}},k=(g,m)=>{const p=a.models.find(w=>w.id===g);if(p){const w=p.reminders.find(N=>N.id===m);w&&(w.isDaily=!w.isDaily,o("update:models",[...a.models]))}},b=(g,m)=>{const w=a.models.find(N=>N.id===g).reminders.find(N=>N.id===m);r.value=g,s.value={...w,recipients:[...w.recipients||[]]},l.value=!0},y=g=>{const m=s.value.recipients.indexOf(g);m>-1?s.value.recipients.splice(m,1):s.value.recipients.push(g)},v=()=>{const g=a.models.find(m=>m.id===r.value);if(g){const m=g.reminders.find(p=>p.id===s.value.id);m&&(m.recipients=[...s.value.recipients],o("update:models",[...a.models]))}l.value=!1};return(g,m)=>(e.openBlock(),e.createElementBlock("div",Jx,[e.createElementVNode("div",Qx,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.models,p=>(e.openBlock(),e.createElementBlock("div",{key:p.id,class:"ui-surface rounded-2xl shadow-lg border ui-border-strong overflow-hidden hover:shadow-xl transition-all duration-300"},[e.createElementVNode("div",{class:"p-6 cursor-pointer hover:bg-linear-to-r hover:from-(--ui-primary-soft) hover:to-(--ui-accent-soft) transition-all duration-300 border-b ui-border-strong",onClick:w=>c(p.id)},[e.createElementVNode("div",ek,[e.createElementVNode("div",tk,[e.createElementVNode("div",ak,[e.createElementVNode("span",nk,e.toDisplayString(p.name[0]),1)]),e.createElementVNode("div",null,[e.createElementVNode("h2",ok,e.toDisplayString(p.name),1),e.createElementVNode("div",rk,[e.createElementVNode("span",lk,[m[3]||(m[3]=e.createElementVNode("div",{class:"w-1.5 h-1.5 ui-primary-bg rounded-full"},null,-1)),e.createTextVNode(" "+e.toDisplayString(p.reminders.length)+" reminder"+e.toDisplayString(p.reminders.length!==1?"s":""),1)])])])]),e.createElementVNode("div",sk,[e.createElementVNode("button",{class:"px-4 py-2.5 bg-linear-to-r from-(--ui-success) to-(--ui-success) ui-text-inverse rounded-lg font-semibold text-sm hover:from-(--ui-success) hover:to-(--ui-success-strong) transition-all duration-300 shadow-md hover:shadow-lg flex items-center gap-2",onClick:e.withModifiers(w=>i(p.id),["stop"])},[e.createVNode(R,{icon:"plus",class:e.normalizeClass(["w-4 h-4",{"ui-text":!p.expanded,"ui-text-inverse":p.expanded}])},null,8,["class"]),m[4]||(m[4]=e.createTextVNode(" Add Reminder ",-1))],8,ik),e.createVNode(R,{icon:p.expanded?"chevron-up":"chevron-down",class:e.normalizeClass(["w-6 h-6 ui-text transition-transform duration-300",{"rotate-180":p.expanded}])},null,8,["icon","class"])])])],8,Zx),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 max-h-0","enter-to-class":"opacity-100 max-h-screen","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 max-h-screen","leave-to-class":"opacity-0 max-h-0"},{default:e.withCtx(()=>[p.expanded?(e.openBlock(),e.createElementBlock("div",ck,[p.reminders.length===0?(e.openBlock(),e.createElementBlock("div",uk,[e.createElementVNode("div",dk,[e.createVNode(R,{icon:"bell",class:"w-10 h-10 ui-text"})]),m[5]||(m[5]=e.createElementVNode("h3",{class:"text-lg font-semibold ui-text mb-2"}," No reminders configured ",-1)),m[6]||(m[6]=e.createElementVNode("p",{class:"ui-text text-sm mb-4"},' Click "Add Reminder" to create your first reminder ',-1))])):(e.openBlock(),e.createElementBlock("div",mk,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.reminders,w=>(e.openBlock(),e.createElementBlock("div",{key:w.id,class:"ui-surface rounded-xl border ui-border-strong p-6 hover:shadow-md transition-all duration-300"},[e.createElementVNode("div",fk,[e.createElementVNode("div",pk,[e.createElementVNode("div",null,[m[8]||(m[8]=e.createElementVNode("label",{class:"block text-xs font-bold ui-text mb-2 uppercase tracking-wider"}," Days Before Event ",-1)),e.createElementVNode("div",gk,[e.createElementVNode("input",{type:"number",min:"0",value:w.days,class:"w-full px-4 py-3 border-2 ui-border-strong rounded-lg focus:outline-none focus:border-(--ui-primary) focus:ring-4 focus:ring-(--ui-primary) transition-all duration-300 font-semibold ui-text text-lg",placeholder:"0",onInput:N=>f(p.id,w.id,N.target.value)},null,40,vk),m[7]||(m[7]=e.createElementVNode("div",{class:"absolute right-4 top-1/2 -translate-y-1/2 ui-text text-sm font-medium"}," days ",-1))])]),e.createElementVNode("div",hk,[e.createElementVNode("input",{id:`daily-${w.id}`,type:"checkbox",checked:w.isDaily,class:"w-4 h-4 ui-primary rounded border ui-border-strong focus:ring-2 focus:ring-(--ui-primary) transition-all cursor-pointer",onChange:N=>k(p.id,w.id)},null,40,yk),e.createElementVNode("label",{for:`daily-${w.id}`,class:"flex-1 cursor-pointer"},[...m[9]||(m[9]=[e.createElementVNode("span",{class:"text-sm font-semibold ui-text block"}," Send Daily Reminder ",-1),e.createElementVNode("span",{class:"text-xs ui-text"}," Repeat this reminder every day ",-1)])],8,bk)]),e.createElementVNode("div",null,[m[10]||(m[10]=e.createElementVNode("label",{class:"block text-xs font-bold ui-text mb-3 uppercase tracking-wider"}," Notification Methods ",-1)),e.createElementVNode("div",xk,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.sendTypeOptions,N=>(e.openBlock(),e.createElementBlock("button",{key:N.value,class:e.normalizeClass(["relative px-4 py-3.5 rounded-lg font-semibold text-sm transition-all duration-300 flex items-center justify-center gap-2 border-2",(w.sendTypes||[]).includes(N.value)?"bg-linear-to-r from-(--ui-primary) to-(--ui-accent) ui-text-inverse border-transparent shadow-md":"ui-surface ui-text ui-border-strong hover:border-(--ui-primary-soft) hover:bg-(--ui-primary-soft)"]),onClick:P=>d(p.id,w.id,N.value)},[e.createVNode(R,{icon:N.value==="email"?"envelope":"bell",class:"w-4 h-4"},null,8,["icon"]),e.createTextVNode(" "+e.toDisplayString(N.label)+" ",1),(w.sendTypes||[]).includes(N.value)?(e.openBlock(),e.createBlock(R,{key:0,icon:"check-circle",class:"w-4 h-4 absolute top-2 right-2"})):e.createCommentVNode("",!0)],10,kk))),128))])]),e.createElementVNode("div",null,[m[12]||(m[12]=e.createElementVNode("label",{class:"block text-xs font-bold ui-text mb-3 uppercase tracking-wider"}," Recipients ",-1)),e.createElementVNode("button",{class:"w-full px-4 py-3.5 ui-surface border-2 ui-border-strong rounded-lg hover:border-(--ui-primary-soft) hover:bg-(--ui-primary-soft) transition-all duration-300 flex items-center justify-between group",onClick:N=>b(p.id,w.id)},[e.createElementVNode("div",Ck,[e.createElementVNode("div",Bk,[e.createVNode(R,{icon:"users",class:"w-5 h-5 ui-primary"})]),e.createElementVNode("div",Vk,[e.createElementVNode("span",Ek,e.toDisplayString((w.recipients||[]).length===0?"Select recipients":`${(w.recipients||[]).length} recipient${(w.recipients||[]).length!==1?"s":""} selected`),1),m[11]||(m[11]=e.createElementVNode("span",{class:"text-xs ui-text"}," Click to manage ",-1))])]),e.createVNode(R,{icon:"chevron-right",class:"w-5 h-5 ui-text group-hover:text-(--ui-primary) group-hover:translate-x-1 transition-all"})],8,wk),(w.recipients||[]).length>0?(e.openBlock(),e.createElementBlock("div",Sk,[e.createElementVNode("div",Nk,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.recipients,N=>(e.openBlock(),e.createElementBlock("span",{key:N,class:"inline-flex items-center gap-1.5 px-3 py-1.5 ui-surface border border-(--ui-primary-soft) ui-primary text-xs font-semibold rounded-lg shadow-sm"},[e.createVNode(R,{icon:"user",class:"w-3 h-3"}),e.createTextVNode(" "+e.toDisplayString(N),1)]))),128))])])):e.createCommentVNode("",!0)])]),e.createElementVNode("button",{class:"p-3 bg-linear-to-r from-(--ui-danger) to-(--ui-danger) ui-text rounded-lg hover:from-(--ui-danger) hover:to-(--ui-danger-strong) transition-all duration-300 shadow-md hover:shadow-lg self-start",title:"Delete reminder",onClick:N=>u(p.id,w.id)},[e.createVNode(R,{icon:"trash",class:"w-4 h-4"})],8,$k)])]))),128))]))])):e.createCommentVNode("",!0)]),_:2},1024)]))),128))]),e.createVNode(wt,{modelValue:l.value,"onUpdate:modelValue":m[2]||(m[2]=p=>l.value=p),size:"3xl","show-close":!1},{default:e.withCtx(()=>[e.createElementVNode("div",Dk,[e.createElementVNode("div",zk,[e.createElementVNode("div",Tk,[e.createElementVNode("div",Ak,[e.createVNode(R,{icon:"users",class:"w-4 h-4"})]),m[13]||(m[13]=e.createElementVNode("div",null,[e.createElementVNode("h3",{class:"text-lg font-semibold leading-tight"}," Select Recipients "),e.createElementVNode("p",{class:"text-(--ui-primary-soft) text-xs mt-1"}," Choose who should receive this reminder ")],-1))]),e.createElementVNode("button",{class:"p-1.5 hover:bg-[color:color-mix(in oklab, var(--ui-surface), transparent 80%)] rounded-md transition-colors","aria-label":"Close",onClick:m[0]||(m[0]=p=>l.value=!1)},[e.createVNode(R,{icon:"x",class:"w-4 h-4"})])])]),e.createElementVNode("div",Fk,[t.availableRecipients.length===0?(e.openBlock(),e.createElementBlock("div",Lk,[e.createVNode(R,{icon:"users",class:"w-10 h-10 ui-text mx-auto mb-2"}),m[14]||(m[14]=e.createElementVNode("p",{class:"ui-text text-sm"}," No recipients available ",-1))])):(e.openBlock(),e.createElementBlock("div",Mk,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableRecipients,p=>(e.openBlock(),e.createElementBlock("label",{key:p,class:e.normalizeClass(["flex items-center gap-3 px-3 py-2.5 rounded-md cursor-pointer transition-all border",s.value?.recipients.includes(p)?"bg-linear-to-r from-(--ui-primary-soft) to-(--ui-accent-soft) border-(--ui-primary-soft) shadow-sm":"ui-surface ui-border hover:border-(--ui-primary-soft) hover:bg-(--ui-surface-muted)"])},[e.createElementVNode("div",Ik,[e.createElementVNode("input",{type:"checkbox",checked:s.value?.recipients.includes(p),class:"w-4 h-4 ui-primary rounded border ui-border-strong focus:ring-2 focus:ring-(--ui-primary) transition-all cursor-pointer",onChange:w=>y(p)},null,40,_k)]),e.createElementVNode("div",Pk,[e.createElementVNode("span",{class:e.normalizeClass(["text-sm font-medium block truncate",s.value?.recipients.includes(p)?"ui-primary":"ui-text"])},e.toDisplayString(p),3)]),s.value?.recipients.includes(p)?(e.openBlock(),e.createBlock(R,{key:0,icon:"check-circle",class:"w-4 h-4 ui-primary shrink-0"})):e.createCommentVNode("",!0)],2))),128))]))]),e.createElementVNode("div",Ok,[e.createElementVNode("button",{class:"px-4 py-2 ui-surface border ui-border ui-text rounded-md text-sm font-medium hover:bg-(--ui-surface-muted) transition-colors",onClick:m[1]||(m[1]=p=>l.value=!1)}," Cancel "),e.createElementVNode("button",{class:"ml-auto px-4 py-2 ui-success-bg rounded-md text-sm font-semibold hover:bg-(--ui-success-strong) transition-colors flex items-center gap-2",onClick:v},[e.createVNode(R,{icon:"check",class:"w-4 h-4"}),m[15]||(m[15]=e.createTextVNode(" Save Recipients ",-1))])])]),_:1},8,["modelValue"])]))}},Qr=Ne(jk,[["__scopeId","data-v-c46bf185"]]),Ca={mounted(t,n){if(!n.value)return;const a=Object.keys(n.modifiers)[0]||"top",o=document.createElement("div");o.textContent=n.value,o.className="tooltip-custom",o.style.cssText=`
560
+ position: fixed;
561
+ z-index: 9999;
562
+ background-color: rgba(0, 0, 0, 0.9);
563
+ color: white;
564
+ padding: 6px 12px;
565
+ border-radius: 4px;
566
+ font-size: 14px;
567
+ pointer-events: none;
568
+ opacity: 0;
569
+ transition: opacity 0.2s;
570
+ white-space: nowrap;
571
+ `;const r=document.createElement("div");r.style.cssText=`
572
+ position: absolute;
573
+ width: 0;
574
+ height: 0;
575
+ border-style: solid;
576
+ `,o.appendChild(r),t._tooltipEl=o,t._tooltipArrow=r,t._tooltipPosition=a;const l=()=>{if(!o.parentNode)return;const u=t.getBoundingClientRect(),f=o.getBoundingClientRect();if(u.width===0||u.height===0){o.style.opacity="0";return}let d,k;switch(a){case"bottom":k=u.left+u.width/2-f.width/2,d=u.bottom+8;break;case"left":k=u.left-f.width-8,d=u.top+u.height/2-f.height/2;break;case"right":k=u.right+8,d=u.top+u.height/2-f.height/2;break;default:k=u.left+u.width/2-f.width/2,d=u.top-f.height-8}const b=8;k=Math.max(b,Math.min(k,window.innerWidth-f.width-b)),d=Math.max(b,Math.min(d,window.innerHeight-f.height-b)),o.style.left=`${k}px`,o.style.top=`${d}px`},s=()=>{const u=`
577
+ position: absolute;
578
+ width: 0;
579
+ height: 0;
580
+ border-style: solid;
581
+ `;switch(a){case"bottom":r.style.cssText=u+`
582
+ border-width: 0 5px 5px 5px;
583
+ border-color: transparent transparent rgba(0, 0, 0, 0.9) transparent;
584
+ top: -5px;
585
+ left: 50%;
586
+ transform: translateX(-50%);
587
+ `;break;case"left":r.style.cssText=u+`
588
+ border-width: 5px 0 5px 5px;
589
+ border-color: transparent transparent transparent rgba(0, 0, 0, 0.9);
590
+ right: -5px;
591
+ top: 50%;
592
+ transform: translateY(-50%);
593
+ `;break;case"right":r.style.cssText=u+`
594
+ border-width: 5px 5px 5px 0;
595
+ border-color: transparent rgba(0, 0, 0, 0.9) transparent transparent;
596
+ left: -5px;
597
+ top: 50%;
598
+ transform: translateY(-50%);
599
+ `;break;default:r.style.cssText=u+`
600
+ border-width: 5px 5px 0 5px;
601
+ border-color: rgba(0, 0, 0, 0.9) transparent transparent transparent;
602
+ bottom: -5px;
603
+ left: 50%;
604
+ transform: translateX(-50%);
605
+ `}},c=()=>{document.body.appendChild(o),s(),l(),setTimeout(()=>{o.style.opacity="1"},10),window.addEventListener("scroll",l,!0),window.addEventListener("resize",l)},i=()=>{o.style.opacity="0",window.removeEventListener("scroll",l,!0),window.removeEventListener("resize",l),setTimeout(()=>{o.parentNode&&document.body.removeChild(o)},200)};t.addEventListener("mouseenter",c),t.addEventListener("mouseleave",i),t.addEventListener("click",i),t._tooltipShowFn=c,t._tooltipHideFn=i,t._tooltipRepositionFn=l},updated(t,n){if(t._tooltipEl){const a=t._tooltipEl.firstChild;a&&a.nodeType===Node.TEXT_NODE&&(a.textContent=n.value||"")}},unmounted(t){t._tooltipEl&&t._tooltipEl.parentNode&&document.body.removeChild(t._tooltipEl),t._tooltipShowFn&&t.removeEventListener("mouseenter",t._tooltipShowFn),t._tooltipHideFn&&(t.removeEventListener("mouseleave",t._tooltipHideFn),t.removeEventListener("click",t._tooltipHideFn)),t._tooltipRepositionFn&&(window.removeEventListener("scroll",t._tooltipRepositionFn,!0),window.removeEventListener("resize",t._tooltipRepositionFn))}};function Pe(t){if(typeof t=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(t))return t;if(t instanceof Date){const n=t.getFullYear(),a=String(t.getMonth()+1).padStart(2,"0"),o=String(t.getDate()).padStart(2,"0");return`${n}-${a}-${o}`}return null}function Tt(){return Pe(new Date)}function Zr(t){const n=t.getDay(),a=new Date(t);a.setDate(t.getDate()-n);const o=new Date(a);return o.setDate(a.getDate()+6),{startDate:a,endDate:o}}function Rk(t){const{startDate:n}=Zr(t),a=[];for(let o=0;o<7;o++){const r=new Date(n);r.setDate(n.getDate()+o),a.push(r)}return a}function qn(t){const n=t.getFullYear(),a=t.getMonth(),o=new Date(n,a,1),r=new Date(n,a+1,0),l=o.getDay(),s=r.getDate(),c=[],i=Tt(),u=new Date(n,a,0).getDate();for(let d=l-1;d>=0;d--){const k=u-d,b=new Date(n,a-1,k),y=Pe(b);c.push({dayNumber:k,date:y,dateObj:b,isCurrentMonth:!1,isToday:y===i})}for(let d=1;d<=s;d++){const k=new Date(n,a,d),b=Pe(k);c.push({dayNumber:d,date:b,dateObj:k,isCurrentMonth:!0,isToday:b===i})}const f=42-c.length;for(let d=1;d<=f;d++){const k=new Date(n,a+1,d),b=Pe(k);c.push({dayNumber:d,date:b,dateObj:k,isCurrentMonth:!1,isToday:b===i})}return c}function Hk(t=0,n=23,a=60){const o=[];for(let r=t;r<=n;r++)for(let l=0;l<60;l+=a){const s=String(r).padStart(2,"0"),c=String(l).padStart(2,"0"),i=`${s}:${c}`,u=r===0?12:r>12?r-12:r,f=r<12?"AM":"PM",d=`${u}:${c} ${f}`;o.push({time:i,display:d})}return o}function Gn(t,n){const a=Pe(t),o=Pe(n);return a===o}function Uk(t,n="long"){return t.toLocaleDateString("en-US",{month:n})}function Kn(t){return t.getFullYear()}const Wk={name:"EventsCalendar",components:{Icon:R,RightDrawer:sn},props:{events:{type:Array,default:()=>[]},size:{type:String,default:"compact",validator:t=>["xs","compact","default","large","full"].includes(t)},height:{type:String,default:"100%"},minHeight:{type:String,default:"420px"},maxHeight:{type:String,default:""},drawerSize:{type:String,default:"lg",validator:t=>["sm","md","lg","xl","full"].includes(t)},drawerTitle:{type:String,default:"Compliance Details"},drawerDetailFields:{type:Array,default:()=>[{label:"Date",path:"date",type:"date"},{label:"End Date",path:"end_date",type:"date"},{label:"Code",path:"details.code"},{label:"Company",path:"details.company_name"}]},drawerStatusMap:{type:Object,default:()=>({complied:{label:"Complied",class:"ui-success-soft ui-success"},pending:{label:"Pending",class:"ui-warning-soft ui-warning"}})},drawerAccentMap:{type:Object,default:()=>({complied:"bg-(--ui-success)",complete:"bg-(--ui-success)",partial:"bg-(--ui-info)",in_progress:"bg-(--ui-info)",pending:"bg-(--ui-warning)",overdue:"bg-(--ui-danger)",open:"bg-(--ui-danger)"})},showViewMoreDetails:{type:Boolean,default:!0},drawerDocumentActions:{type:Object,default:()=>({view:!0,download:!0,delete:!1})},drawerFieldGridCols:{type:[Number,String],default:1},drawerHeaderCardClass:{type:String,default:"rounded-xl border ui-border bg-(--ui-surface-muted) p-4"},drawerSectionCardClass:{type:String,default:"rounded-lg border ui-border bg-(--ui-surface) p-3"},drawerViewDetailsButtonClass:{type:String,default:"inline-flex items-center rounded-md bg-(--ui-primary) px-3 py-1.5 text-xs font-medium text-(--ui-text-inverse) hover:opacity-90 transition-opacity"},drawerEmptyDocumentsClass:{type:String,default:"text-sm ui-text-muted"}},emits:["select-date","select-event","close-event-details","view-more-details","document-view","document-download","document-delete"],data(){return{currentDate:new Date,selectedDate:null,viewMode:"month",selectedEvent:null,weekDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekDaysShort:["S","M","T","W","T","F","S"],timeSlots:Hk(0,23,60),monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"]}},computed:{containerStyles(){return{height:this.height||void 0,minHeight:this.minHeight||void 0,maxHeight:this.maxHeight||void 0}},sizePreset(){const t={xs:{rootTextClass:"text-[11px]",toolbarPaddingClass:"px-2.5 py-1.5",titleClass:"text-xs min-w-[100px]",controlButtonClass:"px-2 py-0.5 text-[10px]",iconButtonClass:"w-5 h-5",viewButtonClass:"px-2 py-0.5 text-[10px]",monthDayCellClass:"min-h-[52px]",sidebarWidthClass:"w-48"},compact:{rootTextClass:"text-xs",toolbarPaddingClass:"px-3 py-2",titleClass:"text-sm min-w-[120px]",controlButtonClass:"px-2 py-1 text-[11px]",iconButtonClass:"w-6 h-6",viewButtonClass:"px-2 py-0.5 text-[11px]",monthDayCellClass:"min-h-[42px]",sidebarWidthClass:"w-52"},default:{rootTextClass:"text-sm",toolbarPaddingClass:"px-4 py-2.5",titleClass:"text-base min-w-[150px]",controlButtonClass:"px-3 py-1.5 text-xs",iconButtonClass:"w-7 h-7",viewButtonClass:"px-3 py-1 text-xs",monthDayCellClass:"min-h-[82px]",sidebarWidthClass:"w-64"},large:{rootTextClass:"text-base",toolbarPaddingClass:"px-5 py-3",titleClass:"text-lg min-w-[180px]",controlButtonClass:"px-3.5 py-2 text-sm",iconButtonClass:"w-8 h-8",viewButtonClass:"px-3.5 py-1.5 text-sm",monthDayCellClass:"min-h-[96px]",sidebarWidthClass:"w-72"},full:{rootTextClass:"text-base",toolbarPaddingClass:"px-5 py-3",titleClass:"text-lg min-w-[180px]",controlButtonClass:"px-3.5 py-2 text-sm",iconButtonClass:"w-8 h-8",viewButtonClass:"px-3.5 py-1.5 text-sm",monthDayCellClass:"min-h-[104px]",sidebarWidthClass:"w-80"}};return t[this.size]||t.default},isDrawerOpen:{get(){return!!this.selectedEvent},set(t){t||this.closeEvent()}},displayTitle(){if(this.viewMode==="year")return Kn(this.currentDate);if(this.viewMode==="day")return this.formatConsistentDate(this.currentDate);if(this.viewMode==="week"){const{startDate:t,endDate:n}=Zr(this.currentDate);return`${this.formatConsistentDate(t)} - ${this.formatConsistentDate(n)}`}else return`${Uk(this.currentDate)} ${Kn(this.currentDate)}`},calendarDays(){return qn(this.currentDate).map(n=>({...n,events:this.getEventsForDate(n.date)}))},visibleCalendarDays(){return this.calendarDays.length<7?this.calendarDays:this.calendarDays.slice(-7).every(a=>!a.isCurrentMonth)?this.calendarDays.slice(0,-7):this.calendarDays},weekViewDays(){return Rk(this.currentDate).map(n=>{const a=Pe(n);return{dateObj:n,date:a,dayNumber:n.getDate(),dayName:this.weekDays[n.getDay()],isToday:Gn(n,Tt()),events:this.getEventsForDate(a)}})},dayViewDate(){const t=Pe(this.currentDate);return{dateObj:this.currentDate,date:t,dayNumber:this.currentDate.getDate(),dayName:this.weekDays[this.currentDate.getDay()],isToday:Gn(this.currentDate,Tt()),events:this.getEventsForDate(t)}},yearViewMonths(){const t=this.currentDate.getFullYear();return this.monthNames.map((n,a)=>{const o=new Date(t,a,1),r=qn(o);return{name:n,index:a,days:r.map(l=>({...l,events:this.getEventsForDate(l.date)}))}})},drawerFieldGridClass(){const t=Math.max(1,Math.min(Number(this.drawerFieldGridCols)||1,3));return t===1?"grid-cols-1":t===2?"grid-cols-1 md:grid-cols-2":"grid-cols-1 md:grid-cols-2 xl:grid-cols-3"}},methods:{formatConsistentDate(t){if(!t)return"";let n;if(t instanceof Date)n=t;else if(typeof t=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(t)){const[r,l,s]=t.split("-").map(Number);n=new Date(r,l-1,s)}else n=new Date(t);if(Number.isNaN(n.getTime()))return String(t);const a=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return`${String(n.getDate()).padStart(2,"0")}-${a[n.getMonth()]}-${n.getFullYear()}`},getNestedValue(t,n){return!t||!n?null:String(n).split(".").reduce((a,o)=>a==null?null:a[o],t)},getDrawerFieldValue(t){if(!this.selectedEvent||!t)return null;if(Array.isArray(t.paths)){for(const n of t.paths){const a=this.getNestedValue(this.selectedEvent,n);if(a!=null&&a!=="")return a}return null}return this.getNestedValue(this.selectedEvent,t.path)},formatDrawerFieldValue(t,n){return n==null||n===""?"-":t?.type==="date"?this.formatConsistentDate(n):n},shouldShowDrawerField(t){if(!this.selectedEvent)return!1;const n=this.getDrawerFieldValue(t);return t?.showWhenEmpty?!0:n!=null&&n!==""},getDrawerFieldColSpanClass(t){const n=Math.max(1,Math.min(Number(this.drawerFieldGridCols)||1,3)),a=Number(t?.colSpan||1),o=Math.max(1,Math.min(a,n));return n===1||o===1?"col-span-1":n===2?o===2?"md:col-span-2":"md:col-span-1":o===3?"xl:col-span-3":o===2?"md:col-span-2 xl:col-span-2":"md:col-span-1 xl:col-span-1"},getDrawerStatus(t){const n=String(t||"pending").toLowerCase();return this.drawerStatusMap[n]?this.drawerStatusMap[n]:{label:n.split(/[_\s-]+/).filter(Boolean).map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" ")||"Pending",class:"ui-surface-soft ui-text-muted"}},getDrawerAccentClass(t){const n=String(t?.status||"pending").toLowerCase();return this.drawerAccentMap[n]?this.drawerAccentMap[n]:this.getColorStripClass(t?.color)},getSelectedEventDetails(){return this.selectedEvent?this.selectedEvent.details||this.selectedEvent.related_record||this.selectedEvent.relatedRecord||this.selectedEvent.compliance||{}:{}},getSelectedEventDocuments(){const t=this.getSelectedEventDetails(),n=this.selectedEvent?.module_data||this.selectedEvent?.moduleData||{},a=this.selectedEvent?.related_record||this.selectedEvent?.relatedRecord||{};return Array.isArray(t.documents)?t.documents:Array.isArray(t.compliance_documents)?t.compliance_documents:Array.isArray(a.compliance_documents)?a.compliance_documents:Array.isArray(n.documents)?n.documents:[]},getSelectedEventDocumentsCount(){const t=this.getSelectedEventDetails(),n=this.selectedEvent?.related_record||this.selectedEvent?.relatedRecord||{};return t.documents_count!=null?t.documents_count:n.documents_count!=null?n.documents_count:this.getSelectedEventDocuments().length},formatFileSize(t){const n=Number(t);if(!Number.isFinite(n)||n<=0)return"0 Bytes";const a=["Bytes","KB","MB","GB"],o=Math.min(Math.floor(Math.log(n)/Math.log(1024)),a.length-1);return`${(n/Math.pow(1024,o)).toFixed(2)} ${a[o]}`},getEventsForDate(t){return this.events.filter(n=>n.date===t)},previousPeriod(){this.viewMode==="year"?this.currentDate=new Date(this.currentDate.getFullYear()-1,0,1):this.viewMode==="day"?this.currentDate=new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),this.currentDate.getDate()-1):this.viewMode==="week"?this.currentDate=new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),this.currentDate.getDate()-7):this.currentDate=new Date(this.currentDate.getFullYear(),this.currentDate.getMonth()-1,1)},nextPeriod(){this.viewMode==="year"?this.currentDate=new Date(this.currentDate.getFullYear()+1,0,1):this.viewMode==="day"?this.currentDate=new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),this.currentDate.getDate()+1):this.viewMode==="week"?this.currentDate=new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),this.currentDate.getDate()+7):this.currentDate=new Date(this.currentDate.getFullYear(),this.currentDate.getMonth()+1,1)},goToToday(){this.currentDate=new Date,this.selectedDate=Tt(),this.$emit("select-date",{date:this.selectedDate,events:this.getEventsForDate(this.selectedDate)})},selectDay(t){this.selectedDate=t.date;const[n,a,o]=t.date.split("-").map(Number);this.currentDate=new Date(n,a-1,o),this.selectedEvent=t.events.length===1?t.events[0]:null,this.$emit("select-date",{date:t.date,events:t.events})},getVisibleMonthEvents(t){return this.selectedDate===t.date?t.events:t.events.slice(0,2)},selectEvent(t,n){this.selectedEvent=t,this.selectedDate=n.date;const[a,o,r]=n.date.split("-").map(Number);this.currentDate=new Date(a,o-1,r),this.$emit("select-event",t)},closeEvent(){this.selectedEvent=null,this.$emit("close-event-details")},handleViewMoreDetails(){this.selectedEvent&&this.$emit("view-more-details",this.selectedEvent)},handleDocumentView(t){t&&this.$emit("document-view",{doc:t,event:this.selectedEvent})},handleDocumentDownload(t){t&&this.$emit("document-download",{doc:t,event:this.selectedEvent})},handleDocumentDelete(t){t&&this.$emit("document-delete",{doc:t,event:this.selectedEvent})},getEventColorClass(t){return{blue:"bg-(--ui-primary-soft) text-(--ui-primary-strong) border-l-2 border-(--ui-primary)",red:"bg-(--ui-danger-soft) text-(--ui-danger-strong) border-l-2 border-(--ui-danger)",green:"bg-(--ui-success-soft) text-(--ui-success-strong) border-l-2 border-(--ui-success)",purple:"bg-(--ui-accent-soft) text-(--ui-accent-strong) border-l-2 border-(--ui-accent)",orange:"bg-(--ui-warning-soft) text-(--ui-warning-strong) border-l-2 border-(--ui-warning)"}[t]||"ui-surface-soft ui-text-muted border-l-2 border-(--ui-border-strong)"},getColorStripClass(t){return{blue:"bg-(--ui-primary)",red:"bg-(--ui-danger)",green:"bg-(--ui-success)",purple:"bg-(--ui-accent)",orange:"bg-(--ui-warning)"}[t]||"bg-(--ui-border-strong)"},getEventsAtTime(t,n){return t.filter(a=>{if(!a.time||!/^\d{1,2}:\d{2}/.test(a.time))return!1;const o=a.time.split(":")[0].padStart(2,"0");return n.time.startsWith(o)})},getAllDayEvents(t){return t.filter(n=>n.time?!/^\d{1,2}:\d{2}/.test(n.time):!0)},selectMonthFromYear(t){this.currentDate=new Date(this.currentDate.getFullYear(),t,1),this.viewMode="month"}}},Yk={class:"flex items-center gap-2"},qk={class:"flex"},Gk={class:"flex gap-0.5 ui-surface-muted rounded-lg p-0.5"},Kk=["onClick"],Xk={class:"flex flex-1 overflow-hidden"},Jk={class:"flex flex-col flex-1 overflow-hidden min-w-0"},Qk={key:0,class:"flex-1 overflow-y-auto p-4"},Zk={class:"grid grid-cols-3 gap-4"},e0=["onClick"],t0={class:"px-3 py-2 bg-(--ui-surface-muted) border-b ui-border"},a0={class:"text-xs font-semibold ui-text"},n0={class:"p-2 ui-surface"},o0={class:"grid grid-cols-7 mb-1"},r0={class:"grid grid-cols-7 gap-px"},l0={key:0,class:"absolute bottom-px left-1/2 -translate-x-1/2 w-1 h-1 rounded-full bg-(--ui-primary)"},s0={class:"grid grid-cols-7 border-b ui-border shrink-0 ui-surface"},i0={class:"grid grid-cols-7 flex-1 overflow-y-auto border-l border-t ui-border"},c0=["onClick"],u0={class:"flex flex-col gap-0.5"},d0=["onClick"],m0=["onClick"],f0={class:"grid border-b ui-border shrink-0 ui-surface",style:{"grid-template-columns":"52px repeat(7, 1fr)"}},p0={class:"text-[10px] font-semibold ui-text-soft uppercase tracking-wider"},g0={class:"grid border-b ui-border bg-(--ui-surface-muted) shrink-0",style:{"grid-template-columns":"52px repeat(7, 1fr)"}},v0=["onClick"],h0={class:"flex-1 overflow-y-auto"},y0={class:"grid",style:{"grid-template-columns":"52px repeat(7, 1fr)"}},b0={class:"h-14 border-b border-r border-(--ui-border) px-1.5 pt-1 text-[10px] ui-text-soft text-right leading-none"},x0=["onClick"],k0={class:"font-semibold opacity-70 mr-1"},w0={class:"text-xs font-semibold uppercase tracking-wider ui-text-soft"},C0={key:0,class:"flex border-b ui-border bg-(--ui-surface-muted) shrink-0"},B0={class:"flex-1 p-1 flex flex-col gap-0.5"},V0=["onClick"],E0={class:"flex-1 overflow-y-auto"},S0={class:"grid",style:{"grid-template-columns":"52px 1fr"}},N0={class:"h-14 border-b border-r border-(--ui-border) px-1.5 pt-1 text-[10px] ui-text-soft text-right leading-none"},$0=["onClick"],D0={class:"font-semibold mr-1"},z0={key:0,class:"text-[10px] opacity-75 mt-0.5 truncate"},T0={key:0,class:"h-full overflow-y-auto p-4 space-y-4"},A0={class:"mt-2 flex items-start justify-between gap-3"},F0={class:"text-lg font-bold leading-tight ui-text wrap-break-word"},L0={key:0,class:"mt-3"},M0={class:"mt-1 text-sm ui-text leading-relaxed"},I0={class:"mt-1 text-sm ui-text"},_0={class:"mb-2 flex items-center justify-between"},P0={class:"text-xs ui-text-muted"},O0={key:1,class:"space-y-2"},j0={class:"truncate text-sm font-semibold ui-text"},R0={class:"text-xs ui-text-muted"},H0={class:"mt-2 flex gap-2"},U0=["onClick"],W0=["onClick"],Y0=["onClick"];function q0(t,n,a,o,r,l){const s=e.resolveComponent("Icon"),c=e.resolveComponent("RightDrawer");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(l.containerStyles),class:e.normalizeClass(["flex flex-col h-full ui-surface border ui-border rounded-xl overflow-hidden shadow-sm",l.sizePreset.rootTextClass])},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-between border-b ui-border ui-surface shrink-0",l.sizePreset.toolbarPaddingClass])},[e.createElementVNode("div",Yk,[e.createElementVNode("button",{class:e.normalizeClass(["font-medium border ui-border-strong rounded-md ui-text hover:bg-(--ui-surface-muted) transition-colors",l.sizePreset.controlButtonClass]),onClick:n[0]||(n[0]=(...i)=>l.goToToday&&l.goToToday(...i))}," Today ",2),e.createElementVNode("div",qk,[e.createElementVNode("button",{class:e.normalizeClass(["flex items-center justify-center rounded-md ui-text-muted hover:bg-(--ui-surface-soft) transition-colors",l.sizePreset.iconButtonClass]),onClick:n[1]||(n[1]=(...i)=>l.previousPeriod&&l.previousPeriod(...i))},[e.createVNode(s,{icon:"chevron-left",class:"w-4 h-4"})],2),e.createElementVNode("button",{class:e.normalizeClass(["flex items-center justify-center rounded-md ui-text-muted hover:bg-(--ui-surface-soft) transition-colors",l.sizePreset.iconButtonClass]),onClick:n[2]||(n[2]=(...i)=>l.nextPeriod&&l.nextPeriod(...i))},[e.createVNode(s,{icon:"chevron-right",class:"w-4 h-4"})],2)]),e.createElementVNode("h2",{class:e.normalizeClass(["font-semibold ui-text",l.sizePreset.titleClass])},e.toDisplayString(l.displayTitle),3)]),e.createElementVNode("div",Gk,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["year","month","week","day"],i=>e.createElementVNode("button",{key:i,class:e.normalizeClass(["font-medium rounded-md transition-colors capitalize",l.sizePreset.viewButtonClass,r.viewMode===i?"ui-surface ui-text shadow-sm":"ui-text-muted hover:text-(--ui-text)"]),onClick:u=>r.viewMode=i},e.toDisplayString(i),11,Kk)),64))])],2),e.createElementVNode("div",Xk,[e.createElementVNode("div",Jk,[r.viewMode==="year"?(e.openBlock(),e.createElementBlock("div",Qk,[e.createElementVNode("div",Zk,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.yearViewMonths,i=>(e.openBlock(),e.createElementBlock("div",{key:i.index,class:"border ui-border rounded-lg overflow-hidden cursor-pointer hover:shadow-md transition-shadow",onClick:u=>l.selectMonthFromYear(i.index)},[e.createElementVNode("div",t0,[e.createElementVNode("h3",a0,e.toDisplayString(i.name),1)]),e.createElementVNode("div",n0,[e.createElementVNode("div",o0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.weekDaysShort,u=>(e.openBlock(),e.createElementBlock("span",{key:u,class:"text-center text-[9px] font-semibold ui-text-soft uppercase"},e.toDisplayString(u),1))),128))]),e.createElementVNode("div",r0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.days,(u,f)=>(e.openBlock(),e.createElementBlock("div",{key:f,class:e.normalizeClass(["relative aspect-square flex items-center justify-center text-[10px] rounded-full",[u.isCurrentMonth?"ui-text-muted":"ui-text-soft opacity-60",u.isToday?"bg-(--ui-primary) text-(--ui-text-inverse) font-semibold":"",u.events.length>0&&u.isCurrentMonth&&!u.isToday?"font-semibold ui-text":""]])},[e.createTextVNode(e.toDisplayString(u.dayNumber)+" ",1),u.events.length>0&&u.isCurrentMonth&&!u.isToday?(e.openBlock(),e.createElementBlock("span",l0)):e.createCommentVNode("",!0)],2))),128))])])],8,e0))),128))])])):e.createCommentVNode("",!0),r.viewMode==="month"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",s0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.weekDays,i=>(e.openBlock(),e.createElementBlock("div",{key:i,class:"py-2 text-center text-[11px] font-semibold ui-text-soft uppercase tracking-wider"},e.toDisplayString(i),1))),128))]),e.createElementVNode("div",i0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.visibleCalendarDays,(i,u)=>(e.openBlock(),e.createElementBlock("div",{key:u,class:e.normalizeClass(["border-r border-b ui-border p-1.5 cursor-pointer transition-colors",l.sizePreset.monthDayCellClass,i.isCurrentMonth?"ui-surface hover:bg-(--ui-surface-muted)":"bg-(--ui-surface-muted)",i.isToday?"bg-(--ui-primary-soft) hover:bg-(--ui-primary-soft)":"",r.selectedDate===i.date?"ring-2 ring-inset ring-(--ui-primary)":""]),onClick:f=>l.selectDay(i)},[e.createElementVNode("div",{class:e.normalizeClass(["w-10 h-8 flex items-center justify-center rounded-full text-xl mb-1 font-semibold",[i.isToday?"bg-(--ui-primary) text-(--ui-text-inverse) font-semibold":"",!i.isToday&&i.isCurrentMonth?"ui-text":"ui-text-soft opacity-60"]])},e.toDisplayString(i.dayNumber),3),e.createElementVNode("div",u0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.getVisibleMonthEvents(i),(f,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:e.normalizeClass(["text-xs px-1.5 py-0.5 rounded truncate cursor-pointer hover:opacity-75 transition-opacity",l.getEventColorClass(f.color)]),onClick:e.withModifiers(k=>l.selectEvent(f,i),["stop"])},e.toDisplayString(f.title),11,d0))),128)),i.events.length>2&&r.selectedDate!==i.date?(e.openBlock(),e.createElementBlock("div",{key:0,class:"text-[10px] ui-text-soft pl-1 cursor-pointer hover:underline",onClick:e.withModifiers(f=>l.selectDay(i),["stop"])}," +"+e.toDisplayString(i.events.length-2)+" more ",9,m0)):e.createCommentVNode("",!0)])],10,c0))),128))])],64)):e.createCommentVNode("",!0),r.viewMode==="week"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",f0,[n[5]||(n[5]=e.createElementVNode("div",{class:"border-r ui-border"},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.weekViewDays,i=>(e.openBlock(),e.createElementBlock("div",{key:i.date,class:e.normalizeClass(["py-2 text-center border-r ui-border last:border-r-0",i.isToday?"bg-(--ui-primary-soft)":""])},[e.createElementVNode("div",p0,e.toDisplayString(i.dayName),1),e.createElementVNode("div",{class:e.normalizeClass(["mx-auto mt-1 w-7 h-7 flex items-center justify-center rounded-full text-sm font-medium",i.isToday?"bg-(--ui-primary) text-(--ui-text-inverse)":"ui-text"])},e.toDisplayString(i.dayNumber),3)],2))),128))]),e.createElementVNode("div",g0,[n[6]||(n[6]=e.createElementVNode("div",{class:"border-r ui-border px-1 py-1 text-[10px] ui-text-soft text-right flex items-center justify-end"}," All day ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.weekViewDays,i=>(e.openBlock(),e.createElementBlock("div",{key:"ad-"+i.date,class:"p-1 border-r ui-border last:border-r-0 flex flex-col gap-0.5 min-h-8"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.getAllDayEvents(i.events),u=>(e.openBlock(),e.createElementBlock("div",{key:u.id,class:e.normalizeClass(["text-[11px] px-1.5 py-0.5 rounded truncate cursor-pointer hover:opacity-75 transition-opacity",l.getEventColorClass(u.color)]),onClick:f=>l.selectEvent(u,i)},e.toDisplayString(u.title),11,v0))),128))]))),128))]),e.createElementVNode("div",h0,[e.createElementVNode("div",y0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.timeSlots,i=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i.time},[e.createElementVNode("div",b0,e.toDisplayString(i.display),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.weekViewDays,u=>(e.openBlock(),e.createElementBlock("div",{key:u.date+i.time,class:e.normalizeClass(["h-14 border-b border-r border-(--ui-border) last:border-r-0 p-0.5",u.isToday?"bg-(--ui-primary-soft)":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.getEventsAtTime(u.events,i),f=>(e.openBlock(),e.createElementBlock("div",{key:f.id,class:e.normalizeClass(["text-[11px] px-1.5 py-0.5 rounded truncate cursor-pointer hover:opacity-75 transition-opacity",l.getEventColorClass(f.color)]),onClick:d=>l.selectEvent(f,u)},[e.createElementVNode("span",k0,e.toDisplayString(f.time),1),e.createTextVNode(e.toDisplayString(f.title),1)],10,x0))),128))],2))),128))],64))),128))])])],64)):e.createCommentVNode("",!0),r.viewMode==="day"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-center gap-3 px-4 py-3 border-b ui-border shrink-0",l.dayViewDate.isToday?"bg-(--ui-primary-soft)":"ui-surface"])},[e.createElementVNode("span",w0,e.toDisplayString(l.dayViewDate.dayName),1),e.createElementVNode("span",{class:e.normalizeClass(["text-2xl font-light",l.dayViewDate.isToday?"ui-primary":"ui-text"])},e.toDisplayString(l.dayViewDate.dayNumber),3)],2),l.getAllDayEvents(l.dayViewDate.events).length?(e.openBlock(),e.createElementBlock("div",C0,[n[7]||(n[7]=e.createElementVNode("div",{class:"w-[52px] border-r ui-border px-1.5 py-1 text-[10px] ui-text-soft text-right flex items-center justify-end shrink-0"}," All day ",-1)),e.createElementVNode("div",B0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.getAllDayEvents(l.dayViewDate.events),i=>(e.openBlock(),e.createElementBlock("div",{key:i.id,class:e.normalizeClass(["text-[11px] px-1.5 py-0.5 rounded truncate cursor-pointer hover:opacity-75 transition-opacity",l.getEventColorClass(i.color)]),onClick:u=>l.selectEvent(i,l.dayViewDate)},e.toDisplayString(i.title),11,V0))),128))])])):e.createCommentVNode("",!0),e.createElementVNode("div",E0,[e.createElementVNode("div",S0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.timeSlots,i=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i.time},[e.createElementVNode("div",N0,e.toDisplayString(i.display),1),e.createElementVNode("div",{class:e.normalizeClass(["h-14 border-b border-(--ui-border) p-0.5",l.dayViewDate.isToday?"bg-(--ui-primary-soft)":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.getEventsAtTime(l.dayViewDate.events,i),u=>(e.openBlock(),e.createElementBlock("div",{key:u.id,class:e.normalizeClass(["text-xs px-2 py-1 rounded cursor-pointer hover:opacity-75 transition-opacity",l.getEventColorClass(u.color)]),onClick:f=>l.selectEvent(u,l.dayViewDate)},[e.createElementVNode("span",D0,e.toDisplayString(u.time),1),e.createTextVNode(e.toDisplayString(u.title)+" ",1),u.description?(e.openBlock(),e.createElementBlock("div",z0,e.toDisplayString(u.description),1)):e.createCommentVNode("",!0)],10,$0))),128))],2)],64))),128))])])],64)):e.createCommentVNode("",!0)]),e.renderSlot(t.$slots,"sidebar",{selectedEvent:r.selectedEvent,closeEvent:l.closeEvent},()=>[e.createVNode(c,{modelValue:l.isDrawerOpen,"onUpdate:modelValue":n[4]||(n[4]=i=>l.isDrawerOpen=i),title:a.drawerTitle,size:a.drawerSize,onClose:l.closeEvent},{default:e.withCtx(()=>[r.selectedEvent?(e.openBlock(),e.createElementBlock("div",T0,[e.createElementVNode("div",{class:e.normalizeClass(a.drawerHeaderCardClass)},[e.createElementVNode("div",{class:e.normalizeClass(["mb-2 h-1 w-full rounded-full",l.getDrawerAccentClass(r.selectedEvent)])},null,2),e.createElementVNode("div",A0,[e.createElementVNode("h4",F0,e.toDisplayString(r.selectedEvent.title),1),a.showViewMoreDetails?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(a.drawerViewDetailsButtonClass),onClick:n[3]||(n[3]=(...i)=>l.handleViewMoreDetails&&l.handleViewMoreDetails(...i))},[n[8]||(n[8]=e.createTextVNode(" Full details ",-1)),e.createVNode(s,{icon:"arrow-right",class:"ml-1 w-3 h-3"})],2)):e.createCommentVNode("",!0)]),r.selectedEvent.status?(e.openBlock(),e.createElementBlock("div",L0,[e.createElementVNode("span",{class:e.normalizeClass(["inline-flex items-center rounded-full px-2.5 py-1 text-xs font-semibold",l.getDrawerStatus(r.selectedEvent.status).class])},e.toDisplayString(l.getDrawerStatus(r.selectedEvent.status).label),3)])):e.createCommentVNode("",!0)],2),e.createElementVNode("div",{class:e.normalizeClass(["grid gap-3",l.drawerFieldGridClass])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.drawerDetailFields,(i,u)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:`${i.path||(i.paths||[]).join("|")}-${u}`,class:e.normalizeClass([a.drawerSectionCardClass,l.getDrawerFieldColSpanClass(i),i.cardClass])},[e.createElementVNode("p",{class:e.normalizeClass(["text-[11px] font-semibold uppercase tracking-wide ui-text-soft",i.labelClass])},e.toDisplayString(i.label),3),e.createElementVNode("p",{class:e.normalizeClass(["mt-1 text-sm ui-text",i.valueClass])},e.toDisplayString(l.formatDrawerFieldValue(i,l.getDrawerFieldValue(i))),3)],2)),[[e.vShow,l.shouldShowDrawerField(i)]])),128))],2),r.selectedEvent.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(a.drawerSectionCardClass)},[n[9]||(n[9]=e.createElementVNode("p",{class:"text-[11px] font-semibold uppercase tracking-wide ui-text-soft"}," Description ",-1)),e.createElementVNode("p",M0,e.toDisplayString(r.selectedEvent.description),1)],2)):e.createCommentVNode("",!0),l.getSelectedEventDetails().remarks?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(a.drawerSectionCardClass)},[n[10]||(n[10]=e.createElementVNode("p",{class:"text-[11px] font-semibold uppercase tracking-wide ui-text-soft"}," Compliance Remarks ",-1)),e.createElementVNode("p",I0,e.toDisplayString(l.getSelectedEventDetails().remarks),1)],2)):e.createCommentVNode("",!0),l.getSelectedEventDetails()?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(a.drawerSectionCardClass)},[e.createElementVNode("div",_0,[n[11]||(n[11]=e.createElementVNode("p",{class:"text-[11px] font-semibold uppercase tracking-wide ui-text-soft"}," Documents ",-1)),e.createElementVNode("span",P0,e.toDisplayString(l.getSelectedEventDocumentsCount())+" file(s) ",1)]),l.getSelectedEventDocuments().length?(e.openBlock(),e.createElementBlock("div",O0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.getSelectedEventDocuments(),(i,u)=>(e.openBlock(),e.createElementBlock("div",{key:i.doc_id||i.id||i.filename||u,class:"rounded-md border ui-border bg-(--ui-surface-muted) p-2.5"},[e.createElementVNode("p",j0,e.toDisplayString(i.filename||i.name||"Document"),1),e.createElementVNode("p",R0,e.toDisplayString(l.formatFileSize(i.file_size||i.size||0)),1),e.createElementVNode("div",H0,[a.drawerDocumentActions.view?(e.openBlock(),e.createElementBlock("button",{key:0,class:"rounded-md border ui-border px-2 py-1 text-xs ui-text hover:bg-(--ui-surface)",onClick:f=>l.handleDocumentView(i)}," View ",8,U0)):e.createCommentVNode("",!0),a.drawerDocumentActions.download?(e.openBlock(),e.createElementBlock("button",{key:1,class:"rounded-md border ui-border px-2 py-1 text-xs ui-text hover:bg-(--ui-surface)",onClick:f=>l.handleDocumentDownload(i)}," Download ",8,W0)):e.createCommentVNode("",!0),a.drawerDocumentActions.delete?(e.openBlock(),e.createElementBlock("button",{key:2,class:"rounded-md border border-(--ui-danger) px-2 py-1 text-xs text-(--ui-danger) hover:bg-(--ui-danger-soft)",onClick:f=>l.handleDocumentDelete(i)}," Delete ",8,Y0)):e.createCommentVNode("",!0)])]))),128))])):(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(a.drawerEmptyDocumentsClass)}," No documents uploaded ",2))],2)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","title","size","onClose"])])])],6)}const el=Ne(Wk,[["render",q0]]),G0={key:0,class:"absolute top-3 left-3 z-10 ui-surface border ui-border-strong rounded-md px-2.5 py-2"},K0={class:"flex items-center gap-3 flex-wrap"},X0={class:"text-xs font-semibold ui-text"},J0=["width","height","viewBox"],Q0={key:0},Z0=["x1","y1","x2","y2","stroke"],e1=["id"],t1=["stop-color"],a1=["stop-color"],n1=["x","y","width","height","fill","onMouseenter","onClick"],o1=["to","begin"],r1=["from","to","begin"],l1={key:0},s1=["x","y"],i1={key:1},c1=["x","y"],u1={key:2},d1=["x","y"],m1={key:3},f1=["x","y"],p1={key:4},g1=["x","y"],v1=["x1","y1","x2","y2"],h1=["x1","y1","x2","y2"],y1={class:"ui-surface ui-text px-4 py-3 rounded-lg shadow-2xl border ui-border-strong min-w-[180px]"},b1={class:"flex items-center gap-2 mb-2"},x1={class:"font-semibold text-sm"},k1={class:"ml-5"},w1={class:"text-xs ui-text mb-1"},C1={class:"text-2xl font-bold"},tl={__name:"StackedBarChart",props:{data:{type:Array,required:!0},labels:{type:Array,default:()=>[]},colors:{type:Array,default:()=>["#f97316","#10b981"]},groupKeys:{type:Array,default:()=>["complied","uncomplied"]},width:{type:[Number,String],default:"auto"},height:{type:[Number,String],default:"auto"},padding:{type:Object,default:()=>({top:20,right:20,bottom:60,left:60})},showGrid:{type:Boolean,default:!0},showXAxis:{type:Boolean,default:!0},showYAxis:{type:Boolean,default:!0},gridColor:{type:String,default:"#e5e7eb"},barClasses:{type:String,default:"transition-all duration-200 hover:opacity-90 cursor-pointer"},axisLabelClasses:{type:String,default:"fill-(--ui-text) text-xs font-medium"},maxValue:{type:Number,default:100},xAxisLabel:{type:String,default:""},yAxisLabel:{type:String,default:""},showValues:{type:Boolean,default:!0},valueSuffix:{type:String,default:""},showLegend:{type:Boolean,default:!0},legendLabels:{type:Array,default:()=>[]}},emits:["bar-click","bar-hover"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(null),l=e.ref({width:0,height:0});let s=null;const c=e.computed(()=>{const S=Number(a.width);return Number.isFinite(S)&&S>0?S:l.value.width>0?l.value.width:400}),i=e.computed(()=>{const S=Number(a.height);return Number.isFinite(S)&&S>0?S:l.value.height>0?l.value.height:300}),u=e.ref({visible:!1,x:0,y:0,label:"",barLabel:"",value:0,color:""}),f=e.computed(()=>i.value-a.padding.top-a.padding.bottom),d=e.computed(()=>c.value-a.padding.left-a.padding.right),k=e.computed(()=>d.value/a.data.length*.8),b=e.computed(()=>d.value/a.data.length*.2),y=e.computed(()=>k.value/a.groupKeys.length),v=e.computed(()=>0),g=e.computed(()=>{const S=[];for(let D=0;D<=5;D++){const $=a.padding.top+f.value/5*D;S.push($)}return S}),m=S=>a.padding.left+S*(k.value+b.value)+b.value/2,p=(S,E)=>m(S)+E*(y.value+v.value),w=S=>{const E=f.value/a.maxValue;return a.padding.top+f.value-S*E},N=S=>{const E=f.value/a.maxValue;return S*E},P=S=>a.colors[S%a.colors.length],_=S=>(Number(S)||0)<=0?a.padding.top+f.value-6:Math.max(w(S)+18,a.padding.top+16),H=S=>(Number(S)||0)<=0?"fill-(--ui-text) text-[10px] font-semibold":"fill-white text-[10px] font-semibold",G=S=>{const E=(i.value-a.padding.bottom-S)/f.value*a.maxValue;return I(Math.round(E))},K=S=>S.charAt(0).toUpperCase()+S.slice(1),z=e.computed(()=>a.valueSuffix?a.valueSuffix:String(a.yAxisLabel||"").includes("%")||a.maxValue===100?"%":""),I=S=>`${S}${z.value}`,te=e.computed(()=>a.groupKeys.map((S,E)=>({key:S,color:P(E),label:a.legendLabels[E]||K(S)}))),j=(S,E,D)=>{const $=a.data[E],L=a.groupKeys[D],C=$[L]||0,V=a.labels[E]||`Item ${E+1}`,M=K(L);u.value={visible:!0,x:S.clientX,y:S.clientY,label:V,barLabel:M,value:C,color:P(D)},o("bar-hover",{dataIndex:E,barIndex:D,key:L,value:C,label:V})},U=()=>{u.value.visible=!1},O=(S,E)=>{const D=a.data[S],$=a.groupKeys[E],L=D[$]||0,C=a.labels[S]||`Item ${S+1}`;o("bar-click",{dataIndex:S,barIndex:E,key:$,value:L,label:C})};return e.onMounted(()=>{s=new ResizeObserver(S=>{const E=S[0];if(!E)return;const{width:D,height:$}=E.contentRect;l.value={width:Math.round(D),height:Math.round($)}}),r.value&&s.observe(r.value)}),e.onBeforeUnmount(()=>{s&&s.disconnect()}),(S,E)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"containerRef",ref:r,class:"w-full h-full relative"},[t.showLegend?(e.openBlock(),e.createElementBlock("div",G0,[e.createElementVNode("div",K0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(te.value,D=>(e.openBlock(),e.createElementBlock("div",{key:`legend-${D.key}`,class:"flex items-center gap-1.5"},[e.createElementVNode("span",{class:"w-2.5 h-2.5 rounded-sm",style:e.normalizeStyle({backgroundColor:D.color})},null,4),e.createElementVNode("span",X0,e.toDisplayString(D.label),1)]))),128))])])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{width:c.value,height:i.value,viewBox:`0 0 ${c.value} ${i.value}`,class:"overflow-visible"},[t.showGrid?(e.openBlock(),e.createElementBlock("g",Q0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,D=>(e.openBlock(),e.createElementBlock("line",{key:`grid-${D}`,x1:t.padding.left,y1:D,x2:c.value-t.padding.right,y2:D,stroke:t.gridColor,"stroke-width":"1","stroke-dasharray":"4,4",opacity:"0.3"},null,8,Z0))),128))])):e.createCommentVNode("",!0),e.createElementVNode("defs",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.groupKeys,(D,$)=>(e.openBlock(),e.createElementBlock("linearGradient",{id:`barGradient-${$}`,key:`gradient-${$}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":P($),"stop-opacity":"0.95"},null,8,t1),e.createElementVNode("stop",{offset:"100%","stop-color":P($),"stop-opacity":"0.85"},null,8,a1)],8,e1))),128))]),e.createElementVNode("g",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(D,$)=>(e.openBlock(),e.createElementBlock("g",{key:`bar-group-${$}`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.groupKeys,(L,C)=>(e.openBlock(),e.createElementBlock("rect",{key:`bar-${$}-${C}`,x:p($,C),y:w(D[L]||0),width:y.value,height:N(D[L]||0),fill:`url(#barGradient-${C})`,class:e.normalizeClass(t.barClasses),rx:"4",onMouseenter:V=>j(V,$,C),onMouseleave:U,onClick:V=>O($,C)},[e.createElementVNode("animate",{attributeName:"height",from:0,to:N(D[L]||0),dur:"0.6s",begin:`${C*.1}s`,fill:"freeze"},null,8,o1),e.createElementVNode("animate",{attributeName:"y",from:t.padding.top+f.value,to:w(D[L]||0),dur:"0.6s",begin:`${C*.1}s`,fill:"freeze"},null,8,r1)],42,n1))),128)),t.showValues?(e.openBlock(),e.createElementBlock("g",l1,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.groupKeys,(L,C)=>(e.openBlock(),e.createElementBlock("text",{key:`bar-value-${$}-${C}`,x:p($,C)+y.value/2,y:_(D[L]||0),class:e.normalizeClass(H(D[L]||0)),"text-anchor":"middle"},e.toDisplayString(I(D[L]||0)),11,s1))),128))])):e.createCommentVNode("",!0)]))),128))]),t.showXAxis?(e.openBlock(),e.createElementBlock("g",i1,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.labels,(D,$)=>(e.openBlock(),e.createElementBlock("text",{key:`xlabel-${$}`,x:m($)+k.value/2,y:i.value-t.padding.bottom+20,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"middle"},e.toDisplayString(D),11,c1))),128))])):e.createCommentVNode("",!0),t.xAxisLabel?(e.openBlock(),e.createElementBlock("g",u1,[e.createElementVNode("text",{x:t.padding.left+d.value/2,y:i.value-10,class:"fill-(--ui-text) text-sm font-semibold","text-anchor":"middle"},e.toDisplayString(t.xAxisLabel),9,d1)])):e.createCommentVNode("",!0),t.showYAxis?(e.openBlock(),e.createElementBlock("g",m1,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,D=>(e.openBlock(),e.createElementBlock("text",{key:`ylabel-${D}`,x:t.padding.left-10,y:D+4,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"end"},e.toDisplayString(G(D)),11,f1))),128))])):e.createCommentVNode("",!0),t.yAxisLabel?(e.openBlock(),e.createElementBlock("g",p1,[e.createElementVNode("text",{x:-(t.padding.top+f.value/2),y:t.padding.left-40,class:"fill-(--ui-text) text-sm font-semibold","text-anchor":"middle",transform:"rotate(-90)"},e.toDisplayString(t.yAxisLabel),9,g1)])):e.createCommentVNode("",!0),e.createElementVNode("line",{x1:t.padding.left,y1:t.padding.top,x2:t.padding.left,y2:i.value-t.padding.bottom,stroke:"#cbd5e1","stroke-width":"2"},null,8,v1),e.createElementVNode("line",{x1:t.padding.left,y1:i.value-t.padding.bottom,x2:c.value-t.padding.right,y2:i.value-t.padding.bottom,stroke:"#cbd5e1","stroke-width":"2"},null,8,h1)],8,J0)),u.value.visible?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle({position:"fixed",left:`${u.value.x}px`,top:`${u.value.y}px`,transform:"translate(-50%, -120%)",pointerEvents:"none",zIndex:9999}),class:"animate-in fade-in duration-200"},[e.createElementVNode("div",y1,[e.createElementVNode("div",b1,[e.createElementVNode("div",{style:e.normalizeStyle({backgroundColor:u.value.color}),class:"w-3 h-3 rounded shadow-sm"},null,4),e.createElementVNode("p",x1,e.toDisplayString(u.value.label),1)]),e.createElementVNode("div",k1,[e.createElementVNode("p",w1,e.toDisplayString(u.value.barLabel),1),e.createElementVNode("span",C1,e.toDisplayString(I(u.value.value)),1)]),E[0]||(E[0]=e.createElementVNode("div",{class:"absolute bottom-0 left-1/2 transform -translate-x-1/2 translate-y-1/2 rotate-45 w-2 h-2 ui-surface border-r border-b ui-border-strong"},null,-1))])],4)):e.createCommentVNode("",!0)],512))}},Xn={Avatar:er,Badge:Ia,Button:be,Checkbox:Yt,Divider:qt,Icon:R,Image:tr,Input:ze,Label:nt,Link:Te,Logo:Pa,Option:Kt,CircularProgress:Oa,Progress:ar,ProgressBar:nr,Radio:or,Select:Le,Spinner:Gt,Switch:ja,Text:_t,Textarea:Ra,Tooltip:Ha,Typography:Ve,ThemeConfigurator:cr,Loader:ot,Alert:ur,Breadcrumb:dr,ButtonGroup:mr,Card:fr,CardHeader:pr,CardBody:gr,CardFooter:vr,CardContent:hr,CardTitle:yr,DatePicker:ht,Dropdown:br,DropdownItem:xr,FileUpload:Pt,FormField:Ga,InputGroup:kr,ListItem:wr,MenuItem:Cr,Modal:wt,ModalHeader:Br,ModalBody:Vr,ModalFooter:Er,Notification:Sr,Toast:Dr,MultiSelect:Ka,Search:Xa,Slider:Ja,Stepper:zr,StepperItem:Tr,Tab:Ar,TabPanel:Fr,BarChart:Qa,LineChart:Za,PieChart:Ot,StackedBarChart:tl,GraphFilters:Pr,Accordion:Lr,AccordionItem:Mr,Graph:_r,Calendar:Ir,EventsCalendar:el,DataTable:Or,DataTableHeader:en,DataTableRow:an,DataTableCell:tn,DataTablePagination:on,DataTableFilters:jr,DataTableToolBar:nn,FilterDrawer:Ct,RailNav:rn,Footer:Rr,Header:Hr,ReusableFormModal:Ur,ReusableForm:ln,RightDrawer:sn,Sidebar:Wr,Timeline:Yr,TimelineItem:qr,AuthLayout:Gr,DefaultLayout:Kr,ErrorLayout:Xr,DashboardWidget:Jr,ReminderConfig:Qr},B1=t=>typeof t=="string"?t:t&&typeof t=="object"&&typeof t.name=="string"?t.name:null,Jn=t=>typeof t=="function"?t():t,V1=(t={})=>{const{permissions:n=null,roles:a=null,checkPermission:o=null,checkAnyPermission:r=null,checkAllPermissions:l=null,checkRole:s=null,checkAnyRole:c=null}=t;if(!(n!==null||a!==null||typeof o=="function"||typeof r=="function"||typeof l=="function"||typeof s=="function"||typeof c=="function"))return null;const u=(k,b)=>!Array.isArray(k)||!b?!1:k.some(y=>B1(y)===b),f=(k,b=!1)=>{if(k==null)return!0;if(typeof k=="boolean")return k;if(typeof k=="function")return!!k();const y=Jn(n);return Array.isArray(k)?b?typeof l=="function"?!!l(k):k.every(v=>u(y,v)):typeof r=="function"?!!r(k):k.some(v=>u(y,v)):typeof o=="function"?!!o(k):u(y,k)},d=k=>{if(k==null)return!0;if(typeof k=="boolean")return k;if(typeof k=="function")return!!k();const b=Jn(a);return Array.isArray(k)?typeof c=="function"?!!c(k):k.some(y=>u(b,y)):typeof s=="function"?!!s(k):u(b,k)};return({permission:k,role:b,requireAll:y=!1}={})=>f(k,y)&&d(b)},E1={install(t,n={}){const{prefix:a="",authResolver:o=null}=n,r=typeof o=="function"?o:V1(n);Object.keys(Xn).forEach(l=>{const s=a?`${a}${l}`:l;t.component(s,Xn[l])}),t.config.globalProperties.$toast=_e,t.provide("toast",_e),t.config.globalProperties.$tooltip=Ca,t.provide("tooltip",Ca),t.config.globalProperties.$authResolver=r,t.config.globalProperties.$canAccess=r,t.provide(_a,r)}};exports.AUTH_RESOLVER_KEY=_a;exports.Accordion=Lr;exports.AccordionItem=Mr;exports.Alert=ur;exports.AuthLayout=Gr;exports.Avatar=er;exports.Badge=Ia;exports.BarChart=Qa;exports.Breadcrumb=dr;exports.Button=be;exports.ButtonGroup=mr;exports.Calendar=Ir;exports.Card=fr;exports.CardBody=gr;exports.CardContent=hr;exports.CardFooter=vr;exports.CardHeader=pr;exports.CardTitle=yr;exports.Checkbox=Yt;exports.CircularProgress=Oa;exports.DashboardWidget=Jr;exports.DataTable=Or;exports.DataTableCell=tn;exports.DataTableFilters=jr;exports.DataTableHeader=en;exports.DataTablePagination=on;exports.DataTableRow=an;exports.DataTableToolBar=nn;exports.DatePicker=ht;exports.DefaultLayout=Kr;exports.Divider=qt;exports.Dropdown=br;exports.DropdownItem=xr;exports.ErrorLayout=Xr;exports.EventsCalendar=el;exports.FileUpload=Pt;exports.FilterDrawer=Ct;exports.Footer=Rr;exports.FormField=Ga;exports.Graph=_r;exports.GraphFilters=Pr;exports.Header=Hr;exports.Icon=R;exports.Image=tr;exports.Input=ze;exports.InputGroup=kr;exports.KvFilterDrawer=Ct;exports.KvRailNav=rn;exports.Label=nt;exports.LineChart=Za;exports.Link=Te;exports.ListItem=wr;exports.Loader=ot;exports.Logo=Pa;exports.MenuItem=Cr;exports.Modal=wt;exports.ModalBody=Vr;exports.ModalFooter=Er;exports.ModalHeader=Br;exports.MultiSelect=Ka;exports.Notification=Sr;exports.Option=Kt;exports.PieChart=Ot;exports.Progress=ar;exports.ProgressBar=nr;exports.Radio=or;exports.RailNav=rn;exports.ReminderConfig=Qr;exports.ReusableForm=ln;exports.ReusableFormModal=Ur;exports.RightDrawer=sn;exports.Search=Xa;exports.Select=Le;exports.Sidebar=Wr;exports.Slider=Ja;exports.Spinner=Gt;exports.StackedBarChart=tl;exports.Stepper=zr;exports.StepperItem=Tr;exports.Switch=ja;exports.Tab=Ar;exports.TabPanel=Fr;exports.Text=_t;exports.Textarea=Ra;exports.ThemeConfigurator=cr;exports.Timeline=Yr;exports.TimelineItem=qr;exports.Toast=Dr;exports.Tooltip=Ha;exports.Typography=Ve;exports.cn=A;exports.default=E1;exports.getMode=Xt;exports.getTheme=Wa;exports.initTheme=Vu;exports.setMode=qa;exports.setTheme=Ya;exports.toast=_e;exports.tooltip=Ca;exports.useToaster=$r;